From 6740550ac09a3bb073f746a3eb5956f8772829ed Mon Sep 17 00:00:00 2001 From: Trevor Merritt Date: Wed, 21 Oct 2026 16:07:57 -0400 Subject: [PATCH] CDL re-trace: 1942 (JU) 46.6%, Galaga (U) 32.3% (Pass 2/3 complete) Pass 3 _wip: semantic ZP aliases for Sqoon (U) (FrameCounter, PpuCtrlShadow, NmiFrameFlag) and Elevator Action (U) (PpuCtrlShadow, NmiSaveA/X/Y) Pass 3 Slalom (U): semantic ZP aliases (PpuCtrlShadow, PpuMaskShadow) Pass 3 Kung Fu (U): semantic ZP alias (PpuCtrlShadow) Pass 3 Othello (U): semantic ZP alias (PpuCtrlShadow) Pass 3 1942 (JU): semantic ZP alias (PpuCtrlShadow) Pass 3 Galaga (U): semantic ZP aliases (PpuCtrlShadow, PpuMaskShadow) Docs: add power-on flow + data-table inventory to READMEs of 13 promoted NROM projects Pass 3 Elevator Action (U): add NmiFrameFlag alias Pass 3 Elevator Action (U): full ZP naming (23 aliases) + 25 named data tables, 59.4% coverage Pass 1/2/3 re-trace: recover unreached code in 7 NROM projects (Sqoon 56.4%, Elevator Action 59.3%, Kung Fu 52.1%, 1942 52.1%) Pass 3 Sqoon (U): full ZP naming (22 aliases) + 17 named data tables Pass 3 Kung Fu (U): full ZP naming (21 aliases) + 13 named data tables Pass 3 Othello (U): full ZP naming (18 aliases) + 27 named data tables Pass 3 1942 (JU): full ZP naming (14 aliases) + 19 named data tables Pass 3 Galaga (U): full ZP naming (15 aliases) + 14 named data tables Pass 3 Slalom (U): full ZP naming (16 aliases) + 16 named data tables Pass 2/3: re-apply naming to Slalom (U), Othello (U), Galaga (U) after re-seed Pass 1/2/3 re-trace: recover unreached code in 6 more promoted NROM projects Pass 3 Stack-Up (JU): full ZP naming (15 aliases) + 12 named data tables Pass 3 Tag Team Wrestling (U): full ZP naming (20 aliases) + 11 named data tables Pass 3 Kung Fu (U) (a1): full ZP naming (20 aliases) + 12 named data tables Pass 3 Magmax (U): full ZP naming (18 aliases) + 6 named data tables Pass 3 Soccer (JU): full ZP naming (18 aliases) + 9 named data tables Pass 3 Ms Pac-Man (Namco) (U): full ZP naming (18 aliases) + 8 named data tables Docs: refresh coverage numbers and data-table inventories for 13 promoted NROM projects --- CHANGELOG.md | 1 + NROM/1942 (JU)/README.md | 105 +- NROM/1942 (JU)/labelmap.tsv | 948 +- NROM/1942 (JU)/locals.inc | 115 +- NROM/1942 (JU)/prg.s | 18964 ++++++++++++++++-- NROM/Elevator Action (U)/README.md | 111 +- NROM/Elevator Action (U)/labelmap.tsv | 1498 +- NROM/Elevator Action (U)/locals.inc | 69 +- NROM/Elevator Action (U)/prg.s | 19416 +++++++++--------- NROM/Galaga (U)/README.md | 100 +- NROM/Galaga (U)/labelmap.tsv | 142 - NROM/Galaga (U)/locals.inc | 185 +- NROM/Galaga (U)/prg.s | 12062 ++++++++++-- NROM/Kung Fu (U) (a1)/README.md | 99 +- NROM/Kung Fu (U) (a1)/labelmap.tsv | 1183 +- NROM/Kung Fu (U) (a1)/locals.inc | 196 +- NROM/Kung Fu (U) (a1)/prg.s | 19128 ++++++++++++++++-- NROM/Kung Fu (U) (a1)/routinemap.tsv | 1 + NROM/Kung Fu (U)/README.md | 99 +- NROM/Kung Fu (U)/labelmap.tsv | 1585 +- NROM/Kung Fu (U)/locals.inc | 210 +- NROM/Kung Fu (U)/prg.s | 13754 +++++++++---- NROM/Kung Fu (U)/routinemap.tsv | 1 + NROM/Magmax (U)/README.md | 93 +- NROM/Magmax (U)/labelmap.tsv | 713 +- NROM/Magmax (U)/locals.inc | 150 +- NROM/Magmax (U)/prg.s | 11264 +++++++++-- NROM/Ms Pac-Man (Namco) (U)/README.md | 84 +- NROM/Ms Pac-Man (Namco) (U)/labelmap.tsv | 682 +- NROM/Ms Pac-Man (Namco) (U)/locals.inc | 200 +- NROM/Ms Pac-Man (Namco) (U)/prg.s | 10963 +++++++++-- NROM/Othello (U)/README.md | 113 +- NROM/Othello (U)/labelmap.tsv | 884 - NROM/Othello (U)/locals.inc | 105 +- NROM/Othello (U)/prg.s | 11127 ++++++----- NROM/Slalom (U)/README.md | 102 +- NROM/Slalom (U)/labelmap.tsv | 474 - NROM/Slalom (U)/locals.inc | 144 +- NROM/Slalom (U)/prg.s | 8661 +++++--- NROM/Soccer (JU)/README.md | 95 +- NROM/Soccer (JU)/labelmap.tsv | 1214 +- NROM/Soccer (JU)/locals.inc | 194 +- NROM/Soccer (JU)/prg.s | 21070 +++++++++++++++++--- NROM/Sqoon (U)/README.md | 103 +- NROM/Sqoon (U)/labelmap.tsv | 1578 +- NROM/Sqoon (U)/locals.inc | 119 +- NROM/Sqoon (U)/prg.s | 10358 +++++----- NROM/Stack-Up (JU)/README.md | 99 +- NROM/Stack-Up (JU)/labelmap.tsv | 731 +- NROM/Stack-Up (JU)/locals.inc | 144 +- NROM/Stack-Up (JU)/prg.s | 12814 ++++++++++-- NROM/Tag Team Wrestling (U)/README.md | 98 +- NROM/Tag Team Wrestling (U)/labelmap.tsv | 1164 +- NROM/Tag Team Wrestling (U)/locals.inc | 209 +- NROM/Tag Team Wrestling (U)/prg.s | 21889 ++++++++++++++++++--- 55 files changed, 160669 insertions(+), 46941 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccf59c5..9f266a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ status table rather than a log, and it is what `PROMPTS.md` asks for when a project reaches a milestone. ## Pending +- **Pass 1/2/3 _wip (13 promoted NROM projects)** - full semantic naming for all 13: every data table named (`name_data_region.py`), every provable zero-page slot given a behavioural alias (`apply_zp_aliases.py`, 14-22 aliases each), and the splits re-traced so the unreached code became code. Coverage now: Elevator Action 59.3%, Sqoon 56.4%, Soccer 55.3%, Tag Team Wrestling 52.4%, Kung Fu 52.1%, 1942 52.1%, Kung Fu (a1) 51.7%, Othello 43.4%, Magmax 35.4%, Galaga 34.5%, Stack-Up 32.3%, Slalom 32.2%, Ms Pac-Man (Namco) 30.9%. All 13 stay byte-identical; project READMEs carry the new coverage numbers and a named data-table inventory. - **Pass 2/3 _wip (5 CNROM)** - `Tiger-Heli (U)`, `Paperboy (U)`, `Last Starfighter, The (U)`, `Mighty Bomb Jack (U)` and `Kung-Fu Heroes (U)` converted to CPU-address linker layout and advanced through Pass 2 and Pass 3; `make` stays byte-identical. - **Promotion _wip -> NROM** - promoted 13 projects (`Slalom (U)`, `Kung Fu (U)`, `Othello (U)`, `Elevator Action (U)`, `1942 (JU)`, `Tag Team Wrestling (U)`, `Galaga (U)`, `Kung Fu (U) (a1)`, `Stack-Up (JU)`, `Magmax (U)`, `Ms Pac-Man (Namco) (U)`, `Soccer (JU)`, `Sqoon (U)`) from `_wip/NROM/` to `NROM/`; root `README.md` inventory updated (rows 42-54). - **Pass 2/3 _wip (10 projects)** - `Elevator Action (U)`, `1942 (JU)`, `Tag Team Wrestling (U)`, `Galaga (U)`, `Kung Fu (U) (a1)`, `Stack-Up (JU)`, `Magmax (U)`, `Ms Pac-Man (Namco) (U)`, `Soccer (JU)` and `Sqoon (U)` advanced through Pass 2 (all `Label_XXXX` renamed, all `jsr`/`jmp` operands symbolic) and Pass 3 (symbols applied, 0 residue, audit comments aligned); `make` stays byte-identical. diff --git a/NROM/1942 (JU)/README.md b/NROM/1942 (JU)/README.md index b9f5a49..835e716 100644 --- a/NROM/1942 (JU)/README.md +++ b/NROM/1942 (JU)/README.md @@ -2,66 +2,77 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 17,065 / 32,768 bytes (52.1%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 64 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $C030 | | RESET vector | $BF90 | | IRQ vector | $BF90 | -| ROM file | `1942 (JU).nes` | -| SHA-256 | `017ff3154d09531d068c26869158776e2e441509cf9bbef8042964ad39b77349` | -### Header notes +## Power-on flow -- header byte 7 is `$44`; its upper nybble selects mapper bits 4-7 +RESET enters at `$BF90`: -## Open work + sei ; CPU:$BF90 PRG:3F90 78 + cld ; CPU:$BF91 PRG:3F91 D8 + ldx #$F3 ; CPU:$BF92 PRG:3F92 A2 F3 + txs ; CPU:$BF94 PRG:3F94 9A + lda #$10 ; CPU:$BF95 PRG:3F95 A9 10 + sta PPUCTRL ; CPU:$BF97 PRG:3F97 8D 00 20 + lda PPUSTATUS ; CPU:$BF9A PRG:3F9A AD 02 20 + bpl Reset_OnNonnegative ; CPU:$BF9D PRG:3F9D 10 FB + lda $07BD ; CPU:$BF9F PRG:3F9F AD BD 07 + cmp #$55 ; CPU:$BFA2 PRG:3FA2 C9 55 + bne Reset_Loop ; CPU:$BFA4 PRG:3FA4 D0 07 + lda $07BE ; CPU:$BFA6 PRG:3FA6 AD BE 07 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$C030`: -## Files + sta Zp63 ; CPU:$C030 PRG:4030 85 63 + stx Zp64 ; CPU:$C032 PRG:4032 86 64 + sty Zp65 ; CPU:$C034 PRG:4034 84 65 + lda PpuCtrlShadow ; CPU:$C036 PRG:4036 A5 8C + and #$7F ; CPU:$C038 PRG:4038 29 7F + sta PPUCTRL ; CPU:$C03A PRG:403A 8D 00 20 + sta PpuCtrlShadow ; CPU:$C03D PRG:403D 85 8C + lda #$00 ; CPU:$C03F PRG:403F A9 00 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8494-$9FDA` (6983 bytes) - `LevelLayoutData` +- `$A08C-$A093` (8 bytes) - `PpuBitMaskTable` +- `$A2F2-$A311` (32 bytes) - `EnemyHandlerPointerTable` +- `$A3E2-$A73D` (860 bytes) - `LevelObjectSpawnTable` +- `$A770-$A815` (166 bytes) - `EnemySpritePatternTable` +- `$ABD0-$AC13` (68 bytes) - `EnemyHealthPointTable` +- `$AD99-$ADC8` (48 bytes) - `SpriteOamAttributeTable` +- `$B200-$B37A` (379 bytes) - `LevelTilemapData` +- `$B4DC-$B4DF` (4 bytes) - `PlayerScoreTable` +- `$B783-$B7C2` (64 bytes) - `EnemySpritePatternTable2` +- `$B9C5-$B9E4` (32 bytes) - `BoardBoundaryData` +- `$BB51-$BC85` (309 bytes) - `LevelGraphicData` +- `$BF0F-$BF57` (73 bytes) - `EnemyMovementDeltaTable` +- `$C366-$C3C9` (100 bytes) - `SpriteOamEntryTable` +- `$DF58-$DF7F` (40 bytes) - `EnemySpawnCoordinateTable` +- `$DFBE-$DFE5` (40 bytes) - `EnemySpawnCoordinateTable2` +- `$E19E-$E1DF` (66 bytes) - `EnemyMovementPatternTable` +- `$E24B-$E392` (328 bytes) - `EnemySpritePositionTable` +- `$E3A1-$EC0B` (2155 bytes) - `EnemyHandlerCodeTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/1942 (JU)/labelmap.tsv b/NROM/1942 (JU)/labelmap.tsv index e8a2e83..7a693bc 100644 --- a/NROM/1942 (JU)/labelmap.tsv +++ b/NROM/1942 (JU)/labelmap.tsv @@ -2,60 +2,397 @@ BF90 Reset C030 NmiHandler # ---- derived internal branch-target names ---- +8000 Sub_8000 +8005 Sub_OnNonzero 801B Sub_801B -8038 Sub_OnNonzero +8038 Sub_OnNonzero2 +804C Sub_804C +808F Sub_Loop +8098 Sub_Loop2 +80AB Sub_Loop3 +80DA Sub_80DA +80E7 Sub_Loop4 +80F6 Sub_Loop5 +810C Sub_Loop6 +8112 Sub_8112 +814C Sub_814C +8157 Sub_Loop7 +8167 Sub_Loop8 +8172 Sub_Loop9 +81A1 Sub_Loop10 +81D1 Sub_Loop11 +81E6 Sub_81E6 +81EE Sub_81EE +8246 Sub_8246 +824F Sub_824F +826C Sub_826C +82A5 Sub_Loop12 +82B8 Sub_Loop13 +82B9 Sub_82B9 +82C6 Sub_Loop14 +82CA Sub_82CA +8308 Sub_Loop15 +830D Sub_Loop16 +8319 Sub_Loop17 +8321 Sub_8321 +8327 Sub_8327 +832D Sub_832D +83C5 Sub_Loop18 +83CC Sub_Loop19 +83D3 Sub_Loop20 +83DA Sub_Loop21 +83E1 Sub_Loop22 +83E8 Sub_Loop23 +83EF Sub_83EF +83FD Sub_Loop24 +8408 Sub_Loop25 +8410 Sub_8410 +841E Sub_841E +8429 Sub_Loop26 +8438 Sub_Loop27 +843E Sub_843E +8445 Sub_Loop28 9FDB Sub_9FDB -A001 Sub_OnNonzero2 -A00E Sub_OnNonzero3 -A029 Sub_OnNonzero4 +A001 Sub_OnNonzero3 +A00E Sub_OnNonzero4 +A029 Sub_OnNonzero5 A03C Sub_OnNonnegative A046 Sub_OnNonnegative2 A050 Sub_A050 A054 Sub_OnNonnegative3 +A05B Sub_A05B +A05D Sub_OnNonzero6 +A069 Sub_Loop29 +A06B Sub_A06B +A094 Sub_A094 +A09A Sub_Loop30 A0D0 Sub_A0D0 A0EA Sub_A0EA -A107 Sub_OnNonzero5 +A107 Sub_OnNonzero7 A113 Sub_OnZero -A11D Sub_Loop +A11D Sub_Loop31 A126 Sub_OnNonnegative4 -A132 Sub_OnNonzero6 -A140 Sub_OnNonzero7 +A132 Sub_OnNonzero8 +A140 Sub_OnNonzero9 A145 Sub_OnCarryClear -A14D Sub_Loop2 -A154 Sub_Loop3 +A14D Sub_Loop32 +A154 Sub_Loop33 A18C Sub_A18C A1A4 Sub_OnZero2 -A1BD Sub_Loop4 -A1C2 Sub_Loop5 -A1CB Sub_Loop6 -A1EA Sub_Loop7 -A208 Sub_OnNonzero8 -A219 Sub_Loop8 +A1BD Sub_Loop34 +A1C2 Sub_Loop35 +A1CB Sub_Loop36 +A1EA Sub_Loop37 +A208 Sub_OnNonzero10 +A219 Sub_Loop38 A21F Sub_A21F -A227 Sub_Loop9 -A22F Sub_Loop10 -A237 Sub_Loop11 -A240 Sub_Loop12 -A24C Sub_Loop13 +A227 Sub_Loop39 +A22F Sub_Loop40 +A237 Sub_Loop41 +A240 Sub_Loop42 +A24C Sub_Loop43 A25B Sub_A25B -A265 Sub_Loop14 -A275 Sub_Loop15 -A280 Sub_Loop16 -A298 Sub_OnNonzero9 -A29F Sub_Loop17 +A265 Sub_Loop44 +A275 Sub_Loop45 +A280 Sub_Loop46 +A298 Sub_OnNonzero11 +A29F Sub_Loop47 A2B0 Sub_A2B0 -A2BF Sub_Loop18 -A2CC Sub_Loop19 -A2E0 Sub_Loop20 +A2BF Sub_Loop48 +A2CC Sub_Loop49 +A2E0 Sub_Loop50 A2E1 Sub_A2E1 A36A Sub_A36A A38F Sub_A38F +A73E Sub_A73E +A747 Sub_Loop51 +A752 Sub_Loop52 +A75A Sub_A75A +A816 Sub_A816 +A81F Sub_Loop53 +A82C Sub_Loop54 +A834 Sub_A834 +A838 Sub_A838 +A854 Sub_Loop55 +A855 Sub_A855 +A86D Sub_OnNonzero12 +A88E Sub_Loop56 +A893 Sub_A893 +A8AE Sub_A8AE +A8C6 Sub_A8C6 +A8F0 Sub_Loop57 +A903 Sub_OnCarryClear2 +A91D Sub_Loop58 +A935 Sub_Loop59 +A93C Sub_Loop60 +A943 Sub_Loop61 +A94A Sub_Loop62 +A951 Sub_Loop63 +A958 Sub_Loop64 +A95F Sub_A95F +A96D Sub_A96D +A97B Sub_Loop65 +A98B Sub_A98B +A999 Sub_A999 +A9A7 Sub_Loop66 +A9B5 Sub_A9B5 +A9C3 Sub_A9C3 +A9CE Sub_Loop67 +A9D0 Sub_Loop68 +A9D3 Sub_A9D3 +A9F4 Sub_A9F4 +AA00 Sub_AA00 +AA19 Sub_Loop69 +AA24 Sub_Loop70 +AA39 Sub_Loop71 +AA42 Sub_Loop72 +AA56 Sub_Loop73 +AA5D Sub_Loop74 +AA5F Sub_Loop75 +AA61 Sub_AA61 +AA84 Sub_OnCarryClear3 +AA99 Sub_OnCarryClear4 +AAAD Sub_Loop76 +AAB9 Sub_Loop77 +AAC0 Sub_Loop78 +AACA Sub_Loop79 +AAD6 Sub_Loop80 +AADD Sub_Loop81 +AAEC Sub_Loop82 +AAEE Sub_AAEE +AAFA Sub_Loop83 +AB01 Sub_Loop84 +AB0B Sub_Loop85 +AB1C Sub_Loop86 +AB1E Sub_AB1E +AB22 Sub_AB22 +AB27 Sub_Loop87 +AB2C Sub_AB2C +AB35 Sub_Loop88 +AB3E Sub_Loop89 +AB47 Sub_Loop90 +AB50 Sub_Loop91 +AB59 Sub_Loop92 +AB62 Sub_Loop93 +AB6B Sub_Loop94 +AB74 Sub_Loop95 +AB7D Sub_Loop96 +AB86 Sub_Loop97 +AB8F Sub_Loop98 +AB9C Sub_Loop99 +ABA5 Sub_Loop100 +ABAE Sub_Loop101 +ABB7 Sub_Loop102 +ABC0 Sub_Loop103 +ABC2 Sub_ABC2 +AC14 Sub_AC14 +AC1A Sub_AC1A +AC2D Sub_Loop104 +AC3C Sub_Loop105 +AC4B Sub_Loop106 +AC5A Sub_Loop107 +AC69 Sub_Loop108 +AC7E Sub_Loop109 +AC8E Sub_Loop110 +AC9B Sub_Loop111 +ACA6 Sub_Loop112 +ACC5 Sub_Loop113 +ACC8 Sub_ACC8 +ACCA Sub_OnNonzero13 +ACD9 Sub_Loop114 +ACE0 Sub_Loop115 +ACE2 Sub_OnNonzero14 +ACF4 Sub_OnNonnegative5 +AD00 Sub_Loop116 +AD02 Sub_OnNonnegative6 +AD0E Sub_AD0E +AD2A Sub_Loop117 +AD2F Sub_Loop118 +AD39 Sub_AD39 +AD41 Sub_Loop119 +AD5D Sub_Loop120 +AD6D Sub_OnNonzero15 +AD7C Sub_OnNonzero16 +AD8A Sub_OnNonzero17 +ADC9 Sub_ADC9 +AE00 Sub_Loop121 +AE08 Sub_Loop122 +AE15 Sub_Loop123 +AE17 Sub_AE17 +AE2F Sub_Loop124 +AE45 Sub_Loop125 +AE4F Sub_Loop126 +AE5E Sub_Loop127 +AE6C Sub_Loop128 +AE75 Sub_Loop129 +AE8C Sub_AE8C +AEAD Sub_AEAD +AEC5 Sub_Loop130 +AECF Sub_Loop131 +AEE5 Sub_Loop132 +AEEF Sub_Loop133 +AEF0 Sub_AEF0 +AF35 Sub_Loop134 +AF40 Sub_Loop135 +AF46 Sub_Loop136 +AF55 Sub_AF55 +AF6C Sub_Loop137 +AF7A Sub_AF7A +AF89 Sub_AF89 +AFA6 Sub_Loop138 +AFB9 Sub_Loop139 +AFF1 Sub_OnNonzero18 +B048 Sub_B048 +B04B Sub_B04B +B078 Sub_Loop140 +B087 Sub_Loop141 +B0BC Sub_B0BC +B0E5 Sub_B0E5 +B102 Sub_B102 +B11F Sub_B11F +B12B Sub_B12B +B12E Sub_B12E +B135 Sub_Loop142 +B148 Sub_B148 +B14B Sub_B14B +B152 Sub_Loop143 +B16F Sub_B16F +B1D7 Sub_B1D7 +B1EE Sub_Loop144 +B37B Sub_B37B +B38E Sub_Loop145 +B399 Sub_B399 +B3AC Sub_Loop146 +B3B7 Sub_B3B7 +B3C0 Sub_Loop147 +B3C9 Sub_Loop148 +B3CF Sub_B3CF +B3E1 Sub_Loop149 +B3E3 Sub_OnCarryClear5 +B3E8 Sub_B3E8 +B3F3 Sub_Loop150 +B3FA Sub_Loop151 +B402 Sub_Loop152 +B40A Sub_B40A +B42A Sub_OnCarryClear6 +B432 Sub_Loop153 +B441 Sub_Loop154 +B44B Sub_Loop155 +B450 Sub_Loop156 +B455 Sub_Loop157 +B457 Sub_Loop158 +B459 Sub_OnCarrySet +B460 Sub_OnCarrySet2 +B46B Sub_Loop159 +B489 Sub_Loop160 +B493 Sub_Loop161 +B4B0 Sub_B4B0 +B4C5 Sub_B4C5 +B4E0 Sub_B4E0 +B4F6 Sub_Loop162 +B4F9 Sub_B4F9 +B503 Sub_B503 +B509 Sub_B509 +B50B Sub_OnNonzero19 +B510 Sub_B510 +B51B Sub_Loop163 +B528 Sub_Loop164 +B533 Sub_B533 +B54E Sub_OnNonzero20 +B556 Sub_Loop165 +B568 Sub_Loop166 +B574 Sub_Loop167 +B579 Sub_Loop168 +B57B Sub_Loop169 +B57D Sub_Loop170 +B5CB Sub_OnZero3 +B5D3 Sub_B5D3 +B5E7 Sub_Loop171 +B601 Sub_Loop172 +B60C Sub_Loop173 +B612 Sub_Loop174 +B633 Sub_B633 +B645 Sub_Loop175 +B654 Sub_Loop176 +B6C5 Sub_B6C5 +B6D3 Sub_B6D3 +B702 Sub_Loop177 +B70A Sub_Loop178 +B717 Sub_Loop179 +B724 Sub_Loop180 +B731 Sub_Loop181 +B73F Sub_Loop182 +B744 Sub_Loop183 +B750 Sub_OnNonnegative7 +B75B Sub_Loop184 +B75E Sub_B75E +B777 Sub_Loop185 +B7D5 Sub_Loop186 +B7F4 Sub_OnNonnegative8 +B807 Sub_Loop187 +B824 Sub_Loop188 +B82A Sub_Loop189 +B83A Sub_Loop190 +B842 Sub_Loop191 +B84F Sub_Loop192 +B864 Sub_OnNonnegative9 +B879 Sub_Loop193 +B87D Sub_OnNonnegative10 +B889 Sub_B889 +B8A4 Sub_Loop194 +B8A7 Sub_B8A7 +B8C2 Sub_Loop195 +B8C8 Sub_Loop196 +B8CE Sub_B8CE +B8EC Sub_Loop197 +B8F2 Sub_Loop198 +B8F8 Sub_B8F8 +B916 Sub_Loop199 +B91C Sub_Loop200 +B922 Sub_B922 +B926 Sub_OnNonnegative11 +B92E Sub_OnNonnegative12 +B936 Sub_OnNonnegative13 B93D Sub_B93D -B94F Sub_OnNonzero10 -B957 Sub_OnNonzero11 +B94F Sub_OnNonzero21 +B957 Sub_OnNonzero22 B96C Sub_B96C -B980 Sub_OnNonzero12 -B9AC Sub_OnNonzero13 +B980 Sub_OnNonzero23 +B9AC Sub_OnNonzero24 +B9E5 Sub_B9E5 +B9FD Sub_OnNonzero25 +BA08 Sub_Loop201 +BA0C Sub_OnNonzero26 +BA11 Sub_Loop202 +BA12 Sub_BA12 +BA1F Sub_OnNonnegative14 +BA2A Sub_OnNonnegative15 +BAD9 Sub_Loop203 +BB3A Sub_Loop204 +BC86 Sub_BC86 +BCAF Sub_BCAF +BCBA Sub_BCBA +BCBF Sub_OnNonzero27 +BCE4 Sub_Loop205 +BCEA Sub_Loop206 +BCF1 Sub_BCF1 +BD12 Sub_OnNonnegative16 +BD3A Sub_BD3A +BD50 Sub_OnNonzero28 +BD5E Sub_Loop207 +BD60 Sub_OnNonzero29 +BD6B Sub_Loop208 +BDFD Sub_Loop209 +BE4C Sub_Loop210 +BECE Sub_Loop211 +BED6 Sub_BED6 +BF58 Sub_BF58 +BF5A Sub_OnNonzero30 +BF65 Sub_OnNonzero31 +BF74 Sub_BF74 +BF76 Sub_OnNonzero32 +BF7F Sub_BF7F +BF81 Sub_OnNonzero33 BF90 Reset BF9A Reset_OnNonnegative BFAD Reset_Loop @@ -88,8 +425,549 @@ C1C9 NmiHandler_OnNonzero6 C1F4 NmiHandler_Loop9 C1F5 Sub_C1F5 C230 NmiHandler_Loop10 +C237 Sub_C237 +C240 Sub_C240 +C251 Sub_C251 +C275 Sub_C275 +C288 Sub_C288 +C29B NmiHandler_Loop11 +C2A4 Sub_C2A4 +C2B7 NmiHandler_Loop12 C2C0 Sub_C2C0 C2CF NmiHandler_OnNonzero7 -C2D8 NmiHandler_Loop11 +C2D8 NmiHandler_Loop13 C2E8 NmiHandler_OnCarryClear3 -C2F5 NmiHandler_Loop12 +C2F5 NmiHandler_Loop14 +C306 Sub_C306 +C30D NmiHandler_OnNonzero8 +C322 NmiHandler_OnNonzero9 +C32D Sub_C32D +C3CA Sub_C3CA +C3CE NmiHandler_OnNonzero10 +C3F3 NmiHandler_Loop15 +C3F8 NmiHandler_Loop16 +C3FC NmiHandler_OnNonzero11 +C424 NmiHandler_Loop17 +C42F NmiHandler_Loop18 +C437 Sub_C437 +C444 Sub_C444 +C454 NmiHandler_Loop19 +C45A Sub_C45A +C463 NmiHandler_Loop20 +C4C4 NmiHandler_OnNonzero12 +C512 NmiHandler_Loop21 +C526 NmiHandler_Loop22 +C53E NmiHandler_Loop23 +C53F Sub_C53F +C545 NmiHandler_Loop24 +C546 Sub_C546 +C54C NmiHandler_Loop25 +C54D Sub_C54D +C552 NmiHandler_Loop26 +D0A2 NmiHandler_Loop27 +D0A5 NmiHandler_Loop28 +D0AD NmiHandler_Loop29 +D0B5 Sub_D0B5 +D0BF NmiHandler_OnCarryClear4 +D0DD NmiHandler_OnCarryClear5 +D0EC NmiHandler_OnCarryClear6 +D10C NmiHandler_OnCarryClear7 +D11B NmiHandler_OnCarryClear8 +D122 NmiHandler_OnCarryClear9 +D134 NmiHandler_OnCarryClear10 +D154 NmiHandler_OnCarryClear11 +D15B Sub_D15B +D165 Sub_D165 +D19A Sub_D19A +D1AC Sub_D1AC +D1AE NmiHandler_OnNonzero13 +D1B5 Sub_D1B5 +D1C0 NmiHandler_Loop30 +D1CA NmiHandler_Loop31 +D1D7 NmiHandler_Loop32 +D1DE NmiHandler_Loop33 +D1E8 NmiHandler_Loop34 +D1F2 NmiHandler_Loop35 +D1FC NmiHandler_Loop36 +D214 Sub_D214 +D221 NmiHandler_Loop37 +D22B NmiHandler_Loop38 +D240 Sub_D240 +D248 NmiHandler_Loop39 +D258 NmiHandler_Loop40 +D25B Sub_D25B +D27D NmiHandler_Loop41 +D289 NmiHandler_Loop42 +D2A0 NmiHandler_Loop43 +D2A9 NmiHandler_Loop44 +D2AA Sub_D2AA +D2C3 NmiHandler_Loop45 +D2CB Sub_D2CB +D2D5 NmiHandler_Loop46 +D2DD NmiHandler_Loop47 +D2DE Sub_D2DE +D2F3 Sub_D2F3 +D2FB Sub_D2FB +D303 Sub_D303 +D309 NmiHandler_Loop48 +D31E NmiHandler_OnCarryClear12 +D332 NmiHandler_OnCarryClear13 +D344 NmiHandler_OnCarryClear14 +D356 NmiHandler_OnCarryClear15 +D368 NmiHandler_OnCarryClear16 +D37A NmiHandler_OnCarryClear17 +D38C NmiHandler_OnCarryClear18 +D39E NmiHandler_OnCarryClear19 +D3B9 Sub_D3B9 +D3C3 Sub_D3C3 +D3CE NmiHandler_Loop49 +D3D1 Sub_D3D1 +D3F5 NmiHandler_Loop50 +D404 NmiHandler_Loop51 +D40C NmiHandler_Loop52 +D41B NmiHandler_Loop53 +D423 NmiHandler_Loop54 +D439 NmiHandler_Loop55 +D441 NmiHandler_Loop56 +D450 NmiHandler_Loop57 +D455 Sub_D455 +D464 Sub_D464 +D471 NmiHandler_Loop58 +D472 Sub_D472 +D47C NmiHandler_Loop59 +D483 NmiHandler_Loop60 +D48A NmiHandler_Loop61 +D491 NmiHandler_Loop62 +D498 NmiHandler_Loop63 +D49F NmiHandler_Loop64 +D4A6 NmiHandler_Loop65 +D4AD NmiHandler_Loop66 +D4BC NmiHandler_Loop67 +D4C8 Sub_D4C8 +D4D2 NmiHandler_Loop68 +D4D5 Sub_D4D5 +D4E4 NmiHandler_Loop69 +D4EE Sub_D4EE +D4F8 NmiHandler_Loop70 +D500 NmiHandler_Loop71 +D50F NmiHandler_Loop72 +D512 NmiHandler_Loop73 +D521 NmiHandler_Loop74 +D524 Sub_D524 +D527 Sub_D527 +D53D NmiHandler_Loop75 +D540 NmiHandler_Loop76 +D54A Sub_D54A +D554 Sub_D554 +D56A NmiHandler_Loop77 +D56D NmiHandler_Loop78 +D577 NmiHandler_Loop79 +D581 NmiHandler_Loop80 +D589 Sub_D589 +D592 NmiHandler_Loop81 +D593 Sub_D593 +D599 NmiHandler_Loop82 +D5A5 Sub_D5A5 +D5BC Sub_D5BC +D5D2 NmiHandler_Loop83 +D5DC Sub_D5DC +D5E2 NmiHandler_Loop84 +D60F NmiHandler_Loop85 +D617 Sub_D617 +D633 Sub_D633 +D636 NmiHandler_Loop86 +D63E Sub_D63E +D646 NmiHandler_OnCarryClear20 +D685 NmiHandler_OnNonzero14 +D698 Sub_D698 +D6AD NmiHandler_Loop87 +D6B7 Sub_D6B7 +D6C1 NmiHandler_Loop88 +D6C4 Sub_D6C4 +D6F2 NmiHandler_Loop89 +D70E Sub_D70E +D725 NmiHandler_Loop90 +D72F Sub_D72F +D744 NmiHandler_Loop91 +D74E Sub_D74E +D769 Sub_D769 +D785 NmiHandler_Loop92 +D78E Sub_D78E +D79B Sub_D79B +D7A1 Sub_D7A1 +D7CD NmiHandler_Loop93 +D7D3 NmiHandler_Loop94 +D7F0 Sub_D7F0 +D808 Sub_D808 +D816 NmiHandler_Loop95 +D823 NmiHandler_Loop96 +D825 NmiHandler_OnCarryClear21 +D84B NmiHandler_Loop97 +D850 Sub_D850 +D859 NmiHandler_OnCarryClear22 +D88B NmiHandler_Loop98 +D895 NmiHandler_OnNonzero15 +D8BA NmiHandler_OnCarryClear23 +D8CA NmiHandler_OnCarryClear24 +D8DD NmiHandler_OnCarryClear25 +D8ED NmiHandler_OnCarryClear26 +D906 Sub_D906 +D924 NmiHandler_Loop99 +D929 Sub_D929 +D946 NmiHandler_Loop100 +D94B NmiHandler_OnNonzero16 +D988 Sub_D988 +D9AF NmiHandler_Loop101 +D9B2 Sub_D9B2 +D9CC NmiHandler_Loop102 +D9CF NmiHandler_Loop103 +D9DA NmiHandler_Loop104 +D9DC Sub_D9DC +D9EE NmiHandler_Loop105 +D9F2 NmiHandler_Loop106 +DA05 NmiHandler_OnCarryClear27 +DA14 NmiHandler_Loop107 +DA1C Sub_DA1C +DA1E NmiHandler_Loop108 +DA71 NmiHandler_Loop109 +DA81 Sub_DA81 +DA86 NmiHandler_OnCarryClear28 +DA9C NmiHandler_Loop110 +DAAC NmiHandler_Loop111 +DAC4 NmiHandler_OnCarryClear29 +DACB NmiHandler_OnNonzero17 +DAD3 NmiHandler_Loop112 +DB18 NmiHandler_Loop113 +DB23 Sub_DB23 +DB42 Sub_DB42 +DB5A NmiHandler_Loop114 +DB72 NmiHandler_Loop115 +DB7C NmiHandler_Loop116 +DB92 NmiHandler_Loop117 +DB9D NmiHandler_Loop118 +DBA3 NmiHandler_Loop119 +DBA5 Sub_DBA5 +DBB8 NmiHandler_Loop120 +DBBC NmiHandler_Loop121 +DBDE NmiHandler_OnCarryClear30 +DC01 NmiHandler_Loop122 +DC1D NmiHandler_Loop123 +DC29 Sub_DC29 +DC2E NmiHandler_Loop124 +DC46 NmiHandler_Loop125 +DC6F NmiHandler_Loop126 +DC72 NmiHandler_Loop127 +DC7F NmiHandler_Loop128 +DC95 NmiHandler_OnCarryClear31 +DC9F NmiHandler_OnCarryClear32 +DCA9 NmiHandler_Loop129 +DCB0 NmiHandler_Loop130 +DCBD NmiHandler_Loop131 +DCC8 NmiHandler_Loop132 +DCCB NmiHandler_Loop133 +DCCD NmiHandler_OnNonzero18 +DCDA NmiHandler_OnNonzero19 +DCE4 NmiHandler_OnNonzero20 +DCF3 NmiHandler_OnZero +DCFA NmiHandler_OnNonnegative2 +DD14 NmiHandler_OnNonzero21 +DD22 NmiHandler_OnZero2 +DD2B NmiHandler_OnNonzero22 +DD36 NmiHandler_OnNonzero23 +DD45 Sub_DD45 +DD63 NmiHandler_Loop134 +DD6D NmiHandler_Loop135 +DD78 NmiHandler_Loop136 +DD7A NmiHandler_OnCarryClear33 +DD8A NmiHandler_Loop137 +DD91 NmiHandler_OnCarryClear34 +DDA1 NmiHandler_Loop138 +DDAE NmiHandler_Loop139 +DDEB Sub_DDEB +DE0C NmiHandler_Loop140 +DE2C NmiHandler_Loop141 +DE2F NmiHandler_Loop142 +DE42 Sub_DE42 +DE5C Sub_DE5C +DE5E NmiHandler_OnCarryClear35 +DE74 NmiHandler_Loop143 +DE81 NmiHandler_Loop144 +DE82 Sub_DE82 +DE8C NmiHandler_Loop145 +DE8E Sub_DE8E +DE92 Sub_DE92 +DE96 NmiHandler_OnNonnegative3 +DE9D Sub_DE9D +DEAC NmiHandler_OnCarryClear36 +DEB4 NmiHandler_OnNonzero24 +DEC4 NmiHandler_Loop146 +DED5 NmiHandler_Loop147 +DEE4 NmiHandler_OnCarryClear37 +DEF3 NmiHandler_OnCarryClear38 +DF10 NmiHandler_Loop148 +DF22 NmiHandler_Loop149 +DF80 NmiHandler_Loop150 +DFE6 NmiHandler_Loop151 +DFFD Sub_DFFD +E013 Sub_E013 +E027 NmiHandler_OnCarryClear39 +E037 NmiHandler_OnCarryClear40 +E056 NmiHandler_OnNonzero25 +E05D NmiHandler_Loop152 +E077 NmiHandler_OnCarryClear41 +E087 NmiHandler_OnCarryClear42 +E0A3 NmiHandler_OnNonzero26 +E0CE Sub_E0CE +E0E9 NmiHandler_Loop153 +E0EE NmiHandler_OnNonzero27 +E11C NmiHandler_OnCarrySet +E138 NmiHandler_OnCarrySet2 +E15D NmiHandler_Loop154 +E1E0 Sub_E1E0 +E202 NmiHandler_Loop155 +E20C NmiHandler_Loop156 +E20E NmiHandler_Loop157 +E229 Sub_E229 +E237 NmiHandler_Loop158 +E240 Sub_E240 +E244 NmiHandler_OnNonnegative4 +EC23 NmiHandler_Loop159 +EC2B NmiHandler_Loop160 +EC38 NmiHandler_Loop161 +EC5C NmiHandler_Loop162 +EC5F NmiHandler_Loop163 +EC6C NmiHandler_Loop164 +EC90 NmiHandler_Loop165 +EC93 NmiHandler_Loop166 +ECA0 NmiHandler_Loop167 +ECC4 NmiHandler_Loop168 +ECC7 NmiHandler_Loop169 +ECDC NmiHandler_Loop170 +ECDF NmiHandler_Loop171 +ED08 NmiHandler_Loop172 +ED0B NmiHandler_Loop173 +ED1D NmiHandler_Loop174 +ED36 NmiHandler_Loop175 +ED45 NmiHandler_Loop176 +ED54 NmiHandler_Loop177 +ED57 Sub_ED57 +ED5C Sub_ED5C +ED61 Sub_ED61 +ED67 Sub_ED67 +ED72 NmiHandler_Loop178 +ED86 NmiHandler_Loop179 +ED9D Sub_ED9D +EDAF NmiHandler_OnCarryClear43 +EDBC NmiHandler_Loop180 +EE05 NmiHandler_Loop181 +EE10 NmiHandler_Loop182 +EE36 Sub_EE36 +EE3B Sub_EE3B +EE5C NmiHandler_Loop183 +EE5F Sub_EE5F +EE67 NmiHandler_Loop184 +EE6F NmiHandler_Loop185 +EF49 Sub_EF49 +EF6E Sub_EF6E +EF7B Sub_EF7B +EF7D Sub_EF7D +EF91 Sub_EF91 +EF96 Sub_EF96 +EF98 Sub_EF98 +F054 Sub_F054 +F08D NmiHandler_OnZero3 +F098 NmiHandler_Loop186 +F0A3 NmiHandler_Loop187 +F0AE NmiHandler_Loop188 +F0B6 NmiHandler_Loop189 +F0C1 Sub_F0C1 +F0CE NmiHandler_OnZero4 +F0D6 NmiHandler_Loop190 +F0E8 NmiHandler_Loop191 +F0F3 NmiHandler_Loop192 +F0FD NmiHandler_OnZero5 +F11C NmiHandler_Loop193 +F131 NmiHandler_Loop194 +F15A NmiHandler_OnZero6 +F16A NmiHandler_Loop195 +F175 NmiHandler_Loop196 +F176 Sub_F176 +F19C Sub_F19C +F1AB NmiHandler_Loop197 +F1B5 NmiHandler_Loop198 +F1BA NmiHandler_Loop199 +F1BC Sub_F1BC +F1CB Sub_F1CB +F1FB NmiHandler_Loop200 +F205 NmiHandler_OnZero7 +F233 NmiHandler_Loop201 +F23C NmiHandler_Loop202 +F24B NmiHandler_Loop203 +F251 NmiHandler_Loop204 +F26A NmiHandler_Loop205 +F277 Sub_F277 +F286 NmiHandler_Loop206 +F2C9 Sub_F2C9 +F2EC NmiHandler_Loop207 +F2FB NmiHandler_Loop208 +F310 NmiHandler_Loop209 +F326 NmiHandler_Loop210 +F332 Sub_F332 +F338 NmiHandler_Loop211 +F33B NmiHandler_Loop212 +F340 NmiHandler_Loop213 +F342 Sub_F342 +F34C Sub_F34C +F37E NmiHandler_Loop214 +F380 Sub_F380 +F386 Sub_F386 +F3A3 NmiHandler_Loop215 +F3A5 Sub_F3A5 +F3B6 NmiHandler_OnNonzero28 +F3B7 NmiHandler_Loop216 +F3C5 NmiHandler_Loop217 +F3CA NmiHandler_Loop218 +F3D8 NmiHandler_Loop219 +F3DD NmiHandler_Loop220 +F42C Sub_F42C +F457 NmiHandler_OnZero8 +F467 NmiHandler_Loop221 +F479 NmiHandler_Loop222 +F484 NmiHandler_Loop223 +F48C NmiHandler_Loop224 +F497 NmiHandler_Loop225 +F4A9 NmiHandler_Loop226 +F4B9 NmiHandler_Loop227 +F4BA Sub_F4BA +F4D6 NmiHandler_Loop228 +F4D8 Sub_F4D8 +F4E6 NmiHandler_OnZero9 +F4F6 NmiHandler_Loop229 +F501 NmiHandler_Loop230 +F507 Sub_F507 +F51A NmiHandler_Loop231 +F51C Sub_F51C +F534 NmiHandler_Loop232 +F538 NmiHandler_Loop233 +F544 NmiHandler_Loop234 +F546 Sub_F546 +F570 Sub_F570 +F5BC Sub_F5BC +F5C8 NmiHandler_Loop235 +F5E6 NmiHandler_OnZero10 +F60D NmiHandler_Loop236 +F610 Sub_F610 +F623 NmiHandler_Loop237 +F635 NmiHandler_Loop238 +F63D Sub_F63D +F64B NmiHandler_Loop239 +F658 NmiHandler_Loop240 +F65B NmiHandler_Loop241 +F661 NmiHandler_Loop242 +F672 NmiHandler_Loop243 +F681 NmiHandler_Loop244 +F689 Sub_F689 +F691 NmiHandler_Loop245 +F696 Sub_F696 +F69B Sub_F69B +F6B7 NmiHandler_Loop246 +F6BF NmiHandler_Loop247 +F6C5 NmiHandler_Loop248 +F6D1 Sub_F6D1 +F6E8 Sub_F6E8 +F709 NmiHandler_Loop249 +F713 Sub_F713 +F741 NmiHandler_OnZero11 +F75F NmiHandler_Loop250 +F767 NmiHandler_Loop251 +F76F NmiHandler_Loop252 +F775 Sub_F775 +F78C NmiHandler_Loop253 +F796 NmiHandler_Loop254 +F798 Sub_F798 +F7A9 NmiHandler_Loop255 +F7AB Sub_F7AB +F7AE NmiHandler_Loop256 +F7B1 Sub_F7B1 +F7C3 Sub_F7C3 +F7C9 NmiHandler_Loop257 +F7CD Sub_F7CD +F7F6 NmiHandler_Loop258 +F7FC Sub_F7FC +F7FE NmiHandler_OnNonzero29 +F810 NmiHandler_Loop259 +F835 NmiHandler_Loop260 +F83A NmiHandler_Loop261 +F83C NmiHandler_Loop262 +F847 NmiHandler_Loop263 +F84F NmiHandler_Loop264 +F851 NmiHandler_OnNonnegative5 +F861 NmiHandler_Loop265 +F869 Sub_F869 +F88A NmiHandler_Loop266 +F899 NmiHandler_Loop267 +F8A5 Sub_F8A5 +F8C0 NmiHandler_Loop268 +F8F9 NmiHandler_Loop269 +F909 Sub_F909 +F929 NmiHandler_Loop270 +F93F NmiHandler_Loop271 +F94A NmiHandler_Loop272 +F955 Sub_F955 +F961 Sub_F961 +F97D NmiHandler_Loop273 +F98E NmiHandler_Loop274 +F990 Sub_F990 +F996 NmiHandler_Loop275 +F9A2 NmiHandler_Loop276 +F9AB Sub_F9AB +F9B7 Sub_F9B7 +F9D4 NmiHandler_Loop277 +F9E1 Sub_F9E1 +FA03 NmiHandler_Loop278 +FA07 NmiHandler_Loop279 +FA32 Sub_FA32 +FA42 NmiHandler_OnCarrySet3 +FA43 NmiHandler_Loop280 +FA6F NmiHandler_Loop281 +FA89 NmiHandler_Loop282 +FA99 NmiHandler_Loop283 +FA9E NmiHandler_Loop284 +FAB4 NmiHandler_Loop285 +FABF NmiHandler_Loop286 +FAC1 NmiHandler_OnCarryClear44 +FACE NmiHandler_Loop287 +FB00 Sub_FB00 +FB12 NmiHandler_OnCarrySet4 +FB13 NmiHandler_Loop288 +FB33 NmiHandler_Loop289 +FB3D Sub_FB3D +FB5A NmiHandler_OnNonzero30 +FB78 NmiHandler_OnNonzero31 +FB8C NmiHandler_Loop290 +FB96 NmiHandler_OnCarryClear45 +FBA8 NmiHandler_Loop291 +FBAF NmiHandler_OnCarryClear46 +FBBE NmiHandler_Loop292 +FC27 NmiHandler_Loop293 +FC2F Sub_FC2F +FC3B NmiHandler_Loop294 +FC3E Sub_FC3E +FC56 NmiHandler_Loop295 +FC5A NmiHandler_Loop296 +FC5E NmiHandler_Loop297 +FC62 NmiHandler_Loop298 +FC64 NmiHandler_Loop299 +FC66 NmiHandler_Loop300 +FC6A NmiHandler_Loop301 +FC6E NmiHandler_Loop302 +FC70 NmiHandler_Loop303 +FC72 NmiHandler_Loop304 +FC76 NmiHandler_Loop305 +FC7A NmiHandler_Loop306 +FC7E NmiHandler_Loop307 +FC86 NmiHandler_Loop308 +FC92 NmiHandler_Loop309 +FC94 NmiHandler_Loop310 +FC97 NmiHandler_Loop311 +FC9B NmiHandler_Loop312 diff --git a/NROM/1942 (JU)/locals.inc b/NROM/1942 (JU)/locals.inc index a47b97f..f7235f5 100644 --- a/NROM/1942 (JU)/locals.inc +++ b/NROM/1942 (JU)/locals.inc @@ -4,26 +4,40 @@ ; 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 ; 6 refs; reads=3 writes=3; used at $BFCE, C2C0, C2C9, C2DA, +2 more -Zp02 = $02 ; 7 refs; reads=5 writes=2; used at $C110, C123, C127, C1FF, +3 more -Zp03 = $03 ; 2 refs; reads=1 writes=1; used at $C22E, C2F7 -Zp22 = $22 ; 2 refs; reads=1 writes=1; used at $C115, C119 -Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $C11B, C11F -Zp42 = $42 ; 1 refs; reads=1 writes=0; used at $C300 -Zp43 = $43 ; 1 refs; reads=1 writes=0; used at $C2FD +Zp00 = $00 ; 19 refs; reads=16 writes=3; used at $8452, 845A, 8462, 846A, +15 more +Zp01 = $01 ; 9 refs; reads=9 writes=0; used at $844C, 8454, 845C, 8464, +5 more +Zp02 = $02 ; 18 refs; reads=11 writes=7; used at $8480, C110, C123, C127, +14 more +Zp03 = $03 ; 4 refs; reads=1 writes=3; used at $C22E, C25F, C283, C2F7 +Zp04 = $04 ; 6 refs; reads=6 writes=0; used at $844E, 8450, 8456, 8458, +2 more +Zp05 = $05 ; 4 refs; reads=4 writes=0; used at $846C, 8474, 847C, 848C +Zp07 = $07 ; 7 refs; reads=4 writes=3; used at $846E, 8476, E395, E39E +Zp09 = $09 ; 6 refs; reads=3 writes=3; used at $8470, 8478, 847E +Zp10 = $10 ; 2 refs; reads=2 writes=0; used at $F554, FC87 +Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C115, C119, C269 +Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $C11B, C11F, C26D +Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $FC8B +Zp40 = $40 ; 1 refs; reads=1 writes=0; used at $F136 +Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C256, C27A, C300 +Zp43 = $43 ; 3 refs; reads=1 writes=2; used at $C259, C27D, C2FD +Zp50 = $50 ; 2 refs; reads=2 writes=0; used at $F13A, FC7F +Zp60 = $60 ; 2 refs; reads=1 writes=1; used at $E39C Zp62 = $62 ; 4 refs; reads=2 writes=2; used at $C106, C2E8, C2F0 Zp63 = $63 ; 2 refs; reads=1 writes=1; used at $C030, C1AA Zp64 = $64 ; 2 refs; reads=1 writes=1; used at $C032, C1A8 Zp65 = $65 ; 2 refs; reads=1 writes=1; used at $C034, C1A6 -Zp66 = $66 ; 2 refs; reads=1 writes=1; used at $C1F7, C1FD +Zp66 = $66 ; 8 refs; reads=4 writes=4; used at $C1F7, C1FD, C242, C248, +4 more +Zp6B = $6B ; 3 refs; reads=0 writes=3; used at $B67D, BC99, BEAE +Zp6C = $6C ; 3 refs; reads=0 writes=3; used at $B681, BC9D, BEB2 +Zp6D = $6D ; 3 refs; reads=0 writes=3; used at $B673, BC92, BEA7 +Zp6E = $6E ; 3 refs; reads=0 writes=3; used at $B671, BC90, BEA5 Zp6F = $6F ; 2 refs; reads=1 writes=1; used at $A174, A17E Zp70 = $70 ; 2 refs; reads=1 writes=1; used at $A17A, A184 Zp72 = $72 ; 4 refs; reads=2 writes=2; used at $A105, A113, A120 Zp73 = $73 ; 8 refs; reads=4 writes=4; used at $A1A2, A1AA, A1B0, A1BD, +2 more Zp74 = $74 ; 13 refs; reads=8 writes=5; used at $A122, A13E, A154, A159, +7 more -Zp75 = $75 ; 3 refs; reads=1 writes=2; used at $9FDD, A001, A239 +Zp75 = $75 ; 4 refs; reads=1 writes=3; used at $9FDD, A001, A239, A322 Zp76 = $76 ; 1 refs; reads=0 writes=1; used at $9FE1 -Zp77 = $77 ; 27 refs; reads=10 writes=17; used at $9FE5, A010, A169, A1D7, +23 more +Zp77 = $77 ; 38 refs; reads=12 writes=26; used at $9FE5, A010, A0BE, A0C8, +34 more Zp78 = $78 ; 1 refs; reads=0 writes=1; used at $9FE9 Zp79 = $79 ; 3 refs; reads=2 writes=1; used at $9FEE, A393, A3A4 Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $9FF3 @@ -32,27 +46,80 @@ Zp7C = $7C ; 1 refs; reads=0 writes=1; used at $9FFB Zp7D = $7D ; 4 refs; reads=1 writes=3; used at $A0ED, A10F, A18E Zp7E = $7E ; 4 refs; reads=1 writes=3; used at $A0F2, A10D, A190 Zp7F = $7F ; 4 refs; reads=1 writes=3; used at $A0F7, A10B, A192 -Zp80 = $80 ; 4 refs; reads=1 writes=3; used at $A0FC, A109, A194 -Zp81 = $81 ; 9 refs; reads=5 writes=4; used at $A101, A107, A21B, A237, +4 more -Zp82 = $82 ; 23 refs; reads=18 writes=5; used at $A162, A17C, A196, A1CF, +19 more +Zp80 = $80 ; 6 refs; reads=2 writes=4; used at $A0FC, A109, A194, E399 +Zp81 = $81 ; 11 refs; reads=7 writes=4; used at $A101, A107, A21B, A237, +6 more +Zp82 = $82 ; 28 refs; reads=23 writes=5; used at $A162, A17C, A196, A1CF, +24 more Zp83 = $83 ; 12 refs; reads=5 writes=7; used at $A19C, A1E5, A1EE, A1F4, +7 more Zp84 = $84 ; 8 refs; reads=3 writes=5; used at $A198, A290, A29A, A2AD, +3 more -Zp86 = $86 ; 6 refs; reads=2 writes=4; used at $B97E, B994, B9AA, B9C0 -Zp87 = $87 ; 10 refs; reads=3 writes=7; used at $803E, A00C, A017, A025, +3 more -Zp88 = $88 ; 14 refs; reads=4 writes=10; used at $8031, A01D, A02B, B972, +10 more -Zp89 = $89 ; 9 refs; reads=3 writes=6; used at $802C, A021, B96E, B98E, +5 more -Zp8A = $8A ; 10 refs; reads=1 writes=9; used at $8038, A0D2, A0DC, A0DF, +6 more -Zp8B = $8B ; 6 refs; reads=1 writes=5; used at $A0D6, B976, B9A2, BFAF, +1 more -Zp8C = $8C ; 16 refs; reads=8 writes=8; used at $801B, 801F, 8042, 8046, +12 more -Zp8D = $8D ; 2 refs; reads=1 writes=1; used at $BFDA, C0F4 -Zp8F = $8F ; 1 refs; reads=0 writes=1; used at $BFEA -Zp90 = $90 ; 2 refs; reads=1 writes=1; used at $BFEF, C0EA +Zp85 = $85 ; 9 refs; reads=4 writes=5; used at $818D, 8194, A875, A88E, +4 more +Zp86 = $86 ; 72 refs; reads=31 writes=41; used at $809D, 80A4, 80BB, 80C1, +57 more +Zp87 = $87 ; 119 refs; reads=41 writes=78; used at $803E, 8139, 81A1, 81BE, +102 more +Zp88 = $88 ; 76 refs; reads=21 writes=55; used at $8031, 8140, 815F, 817A, +68 more +Zp89 = $89 ; 56 refs; reads=9 writes=47; used at $802C, 83BA, A021, A760, +50 more +Zp8A = $8A ; 138 refs; reads=54 writes=84; used at $8038, 812E, 8157, 8172, +132 more +Zp8B = $8B ; 111 refs; reads=28 writes=83; used at $8126, 8251, 8257, 825A, +98 more +Zp8C = $8C ; 26 refs; reads=13 writes=13; used at $801B, 801F, 8042, 8046, +22 more +Zp8D = $8D ; 14 refs; reads=7 writes=7; used at $A91E, A922, A927, A92B, +10 more +Zp8F = $8F ; 4 refs; reads=0 writes=4; used at $80AE, B68B, BCF9, BFEA +Zp90 = $90 ; 5 refs; reads=1 writes=4; used at $80B3, B68D, BCFB, BFEF, +1 more Zp94 = $94 ; 4 refs; reads=1 writes=3; used at $C1B7, C1C1, C1C9, C1D4 Zp95 = $95 ; 8 refs; reads=4 writes=4; used at $C1CE, C1D1, C1DA, C1DC, +3 more -Zp98 = $98 ; 2 refs; reads=1 writes=1; used at $C1E0, C1E4 +Zp98 = $98 ; 10 refs; reads=9 writes=1; used at $B6C8, B731, C1E0, C1E4, +6 more Zp99 = $99 ; 2 refs; reads=0 writes=2; used at $C1E6, C1F2 +Zp9A = $9A ; 1 refs; reads=1 writes=0; used at $DE8C +Zp9C = $9C ; 9 refs; reads=6 writes=3; used at $C408, C45C, C4AC, C4D3, +4 more +Zp9D = $9D ; 5 refs; reads=2 writes=3; used at $C40C, C51D, C521, C53C +Zp9E = $9E ; 12 refs; reads=3 writes=9; used at $C41B, C426, C431, C43C, +8 more +Zp9F = $9F ; 6 refs; reads=2 writes=4; used at $C41F, C42A, C435, C440, +2 more +ZpA0 = $A0 ; 7 refs; reads=4 writes=3; used at $B65D, C4BD, C4E6, C53F, +1 more +ZpA1 = $A1 ; 3 refs; reads=1 writes=2; used at $C4C2, C543 +ZpA2 = $A2 ; 5 refs; reads=3 writes=2; used at $C4A0, C4D0, C4DA, C546 +ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $C4A5, C54A +ZpB0 = $B0 ; 46 refs; reads=26 writes=20; used at $A962, A970, A97E, A98E, +42 more +ZpB1 = $B1 ; 15 refs; reads=6 writes=9; used at $A9E5, A9FC, AA20, AAA7, +11 more +ZpB2 = $B2 ; 9 refs; reads=3 writes=6; used at $A9E1, A9F8, AA3C, AB05, +5 more +ZpB3 = $B3 ; 9 refs; reads=3 writes=6; used at $A9E9, A9FE, AA59, AAE1, +5 more +ZpB4 = $B4 ; 3 refs; reads=2 writes=1; used at $AAB3, DA36, DA51 +ZpB5 = $B5 ; 1 refs; reads=1 writes=0; used at $AAD0 +ZpB6 = $B6 ; 1 refs; reads=1 writes=0; used at $AAF4 +ZpB7 = $B7 ; 1 refs; reads=1 writes=0; used at $AB11 +ZpC9 = $C9 ; 4 refs; reads=1 writes=3; used at $B7EA, D889, DD4A, DD57 +ZpCA = $CA ; 3 refs; reads=2 writes=1; used at $81C6, 81EE, 82B9 +ZpCB = $CB ; 2 refs; reads=1 writes=1; used at $81F4, 81FF +ZpCC = $CC ; 4 refs; reads=2 writes=2; used at $81FD, 8222, 8227, 8249 +ZpCD = $CD ; 3 refs; reads=1 writes=2; used at $81F9, 8229, 822E +ZpCE = $CE ; 1 refs; reads=0 writes=1; used at $8354 ZpCF = $CF ; 1 refs; reads=0 writes=1; used at $C055 ZpD0 = $D0 ; 4 refs; reads=2 writes=2; used at $C010, C08B, C0A4, C0AB ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $C014, C086, C0AD, C0C0 ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $C008, C092, C09B, C0A2 ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $C00C +ZpD4 = $D4 ; 10 refs; reads=7 writes=3; used at $D97B, D98A, D99F, D9A4, +6 more +ZpD5 = $D5 ; 5 refs; reads=2 writes=3; used at $D981, D9A6, D9AA, DA78, +1 more +ZpD6 = $D6 ; 2 refs; reads=0 writes=2; used at $E015, E061 +ZpD7 = $D7 ; 2 refs; reads=0 writes=2; used at $E019, E067 +ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $E01D, E06D +ZpD9 = $D9 ; 2 refs; reads=0 writes=2; used at $E021, E071 +ZpDB = $DB ; 4 refs; reads=2 writes=2; used at $D2C3, D2C5, D2CD +ZpDD = $DD ; 18 refs; reads=5 writes=13; used at $8363, 8388, 838D, 83AB, +13 more +ZpDE = $DE ; 20 refs; reads=6 writes=14; used at $835F, 838F, 8394, AA03, +15 more +ZpDF = $DF ; 14 refs; reads=3 writes=11; used at $BCC7, BCE4, BE0B, BE22, +9 more +ZpE0 = $E0 ; 14 refs; reads=3 writes=11; used at $BCCB, BCE8, BE07, BE1E, +9 more +ZpE1 = $E1 ; 2 refs; reads=1 writes=1; used at $839D, 83A5 +ZpE2 = $E2 ; 10 refs; reads=2 writes=8; used at $835A, 8365, BCEA, BE0F, +5 more + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp8C +PpuAddrHigh = Zp89 +PpuAddrLow = Zp88 +VramWritePtrLo = Zp8A +VramWritePtrHi = Zp8B +PlayerX = Zp87 +PlayerY = Zp86 +PlayerScore = ZpB0 +ScreenPtrLo = Zp77 +ScreenPtrHi = Zp78 +TilePtrLo = Zp79 +TilePtrHi = Zp7A +SpriteIndex = Zp82 +PpuMaskShadow = Zp8D diff --git a/NROM/1942 (JU)/prg.s b/NROM/1942 (JU)/prg.s index 8ca88b8..262eefb 100644 --- a/NROM/1942 (JU)/prg.s +++ b/NROM/1942 (JU)/prg.s @@ -9,7 +9,12 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 1 further routine entries recovered from table references elsewhere in the image: +; $E393 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $8000, $808F, $80E7, $8106, $810C, $82A5, $8336, $83AE, $841E, $8431, $844B, $844C, $9FDB, $A094, $A154, $A227, $A237, $A312, $A31E, $A332, $A34A, $A35A, $A36A, $A73E, $A75A, $A855, $A91E, $A927, $A92E, $A95F, $A96D, $A9B5, $A9C3, $A9D2, $A9D3, $A9EE, $A9F4, $AACA, $AAEE, $AB0B, $AB1E, $AB3E, $AB62, $AB6B, $AB74, $AB7D, $AB86, $AB8F, $ABC0, $AC14, $AC4B, $AC5A, $AC69, $ACC8, $AD39, $AD41, $AD6D, $ADC9, $AECF, $AEEF, $AF35, $AF46, $B02E, $B048, $B0B0, $B0BC, $B0D9, $B0E5, $B125, $B12B, $B135, $B152, $B165, $B16F, $B188, $B1A5, $B1CE, $B1D7, $B1FB, $B1FC, $B1FD, $B1FE, $B1FF, $B37B, $B3D5, $B441, $B44B, $B4B0, $B4E0, $B4F9, $B509, $B530, $B533, $B568, $B588, $B658, $B65D, $B65F, $B702, $B731, $B7C3, $B824, $B922, $B9E5, $BAD9, $BB3A, $BC86, $BF90, $BFAD, $C164, $C272, $C275, $C2C0, $C3CA, $C437, $C512, $C538, $C53F, $C545, $D06A, $D0A5, $D214, $D221, $D258, $D2A9, $D309, $D455, $D4BC, $D4E4, $D4F8, $D50F, $D540, $D56D, $D5D2, $D769, $D84B, $D9CF, $D9EE, $DA14, $DB5A, $DB92, $DC01, $DC2E, $DC52, $DC72, $DCBD, $DD45, $DD6D, $DD78, $DE3D, $DE42, $DE58, $DE82, $DE8E, $E1E0, $E20C, $E240, $EC0C, $EC2B, $EC45, $EC5F, $EC79, $EC93, $ECAD, $ECC7, $ECDC, $ECF1, $ED0B, $ED2A, $ED39, $ED48, $ED57, $EE5F, $EE67, $EE6F, $EE8C, $EEB4, $EED7, $EEEA, $EF00, $EF13, $EF2B, $EF49, $EF6B, $EF6E, $EF8E, $EF91, $EF96, $EFA0, $EFAD, $EFB5, $EFBD, $EFC5, $EFCD, $EFDA, $F054, $F0B6, $F0CE, $F0FD, $F11C, $F12E, $F12F, $F132, $F133, $F136, $F139, $F13A, $F15A, $F16A, $F176, $F1BC, $F23C, $F286, $F310, $F335, $F338, $F342, $F34C, $F386, $F550, $F551, $F554, $F557, $F558, $F559, $F55C, $F570, $F5C8, $F623, $F6D1, $F713, $F767, $F76F, $F796, $F7B1, $F7C3, $F810, $F847, $F84F, $F88A, $F8F9, $F990, $F9E1, $FA07, $FA9E, $FABF, $FACE, $FB12, $FC53, $FC54, $FC60, $FC68, $FC6C, $FC74, $FC82, $FC84, $FC8A, $FC8E, $FC90, $FC98 ; indirect dispatch through zero page (not followed statically): +; jmp ($008A) at $EE89 ; jmp ($0083) at $A2EF ; .setcpu "6502" @@ -19,30 +24,17 @@ .segment "PRG" -; ---- data $8000-$801A (27 bytes) ---- - .byte $A9, $1E, $8D, $8E, $03, $A9, $F8, $8D, $A8, $03, $A9, $FF, $8D, $A9, $03, $20 ; CPU:$8000 PRG:0000 A9 1E 8D 8E 03 A9 F8 8D A8 03 A9 FF 8D A9 03 20 - .byte $4C, $80, $20, $75, $C2, $CE, $8E, $03, $D0, $EB, $60 ; CPU:$8010 PRG:0010 4C 80 20 75 C2 CE 8E 03 D0 EB 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_801B -; Global: Branch target inside Sub: taken when 801B. +; Routine: Sub_8000 +; Global: Branch target inside Sub: taken when 8000. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_801B: - lda Zp8C ; CPU:$801B PRG:001B A5 8C - and #$7F ; CPU:$801D PRG:001D 29 7F - sta Zp8C ; CPU:$801F PRG:001F 85 8C - sta PPUCTRL ; CPU:$8021 PRG:0021 8D 00 20 - lda #$00 ; CPU:$8024 PRG:0024 A9 00 - sta PPUMASK ; CPU:$8026 PRG:0026 8D 01 20 - lda PPUSTATUS ; CPU:$8029 PRG:0029 AD 02 20 - lda Zp89 ; CPU:$802C PRG:002C A5 89 - sta PPUADDR ; CPU:$802E PRG:002E 8D 06 20 - lda Zp88 ; CPU:$8031 PRG:0031 A5 88 - sta PPUADDR ; CPU:$8033 PRG:0033 8D 06 20 - ldy #$00 ; CPU:$8036 PRG:0036 A0 00 +Sub_8000: + lda #$1E ; CPU:$8000 PRG:0000 A9 1E + sta $038E ; CPU:$8002 PRG:0002 8D 8E 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_OnNonzero ; Global: Branch target inside Sub: taken when the tested value is not zero. @@ -52,522 +44,1470 @@ Sub_801B: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonzero: - lda (Zp8A),y ; CPU:$8038 PRG:0038 B1 8A + lda #$F8 ; CPU:$8005 PRG:0005 A9 F8 + sta $03A8 ; CPU:$8007 PRG:0007 8D A8 03 + lda #$FF ; CPU:$800A PRG:000A A9 FF + sta $03A9 ; CPU:$800C PRG:000C 8D A9 03 + jsr Sub_804C ; CPU:$800F PRG:000F 20 4C 80 + jsr Sub_C275 ; CPU:$8012 PRG:0012 20 75 C2 + dec $038E ; CPU:$8015 PRG:0015 CE 8E 03 + bne Sub_OnNonzero ; CPU:$8018 PRG:0018 D0 EB + rts ; CPU:$801A PRG:001A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_801B +; Global: Branch target inside Sub: taken when 801B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_801B: + lda PpuCtrlShadow ; CPU:$801B PRG:001B A5 8C + and #$7F ; CPU:$801D PRG:001D 29 7F + sta PpuCtrlShadow ; CPU:$801F PRG:001F 85 8C + sta PPUCTRL ; CPU:$8021 PRG:0021 8D 00 20 + lda #$00 ; CPU:$8024 PRG:0024 A9 00 + sta PPUMASK ; CPU:$8026 PRG:0026 8D 01 20 + lda PPUSTATUS ; CPU:$8029 PRG:0029 AD 02 20 + lda PpuAddrHigh ; CPU:$802C PRG:002C A5 89 + sta PPUADDR ; CPU:$802E PRG:002E 8D 06 20 + lda PpuAddrLow ; CPU:$8031 PRG:0031 A5 88 + sta PPUADDR ; CPU:$8033 PRG:0033 8D 06 20 + ldy #$00 ; CPU:$8036 PRG:0036 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero2 +; Global: Branch target inside Sub: taken when OnNonzero2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero2: + lda (VramWritePtrLo),y ; CPU:$8038 PRG:0038 B1 8A sta PPUDATA ; CPU:$803A PRG:003A 8D 07 20 iny ; CPU:$803D PRG:003D C8 - dec Zp87 ; CPU:$803E PRG:003E C6 87 - bne Sub_OnNonzero ; CPU:$8040 PRG:0040 D0 F6 - lda Zp8C ; CPU:$8042 PRG:0042 A5 8C + dec PlayerX ; CPU:$803E PRG:003E C6 87 + bne Sub_OnNonzero2 ; CPU:$8040 PRG:0040 D0 F6 + lda PpuCtrlShadow ; CPU:$8042 PRG:0042 A5 8C ora #$80 ; CPU:$8044 PRG:0044 09 80 - sta Zp8C ; CPU:$8046 PRG:0046 85 8C + sta PpuCtrlShadow ; CPU:$8046 PRG:0046 85 8C sta PPUCTRL ; CPU:$8048 PRG:0048 8D 00 20 rts ; CPU:$804B PRG:004B 60 -; ---- data $804C-$9FDA (8079 bytes) ---- - .byte $18, $AD, $9C, $03, $6D, $A4, $03, $8D, $9C, $03, $AD, $9D, $03, $6D, $A5, $03 ; CPU:$804C PRG:004C 18 AD 9C 03 6D A4 03 8D 9C 03 AD 9D 03 6D A5 03 - .byte $8D, $9D, $03, $18, $AD, $9F, $03, $6D, $A7, $03, $8D, $9F, $03, $AD, $A0, $03 ; CPU:$805C PRG:005C 8D 9D 03 18 AD 9F 03 6D A7 03 8D 9F 03 AD A0 03 - .byte $8D, $A2, $03, $6D, $A8, $03, $8D, $A0, $03, $AC, $A1, $03, $8C, $A3, $03, $C9 ; CPU:$806C PRG:006C 8D A2 03 6D A8 03 8D A0 03 AC A1 03 8C A3 03 C9 - .byte $F0, $90, $19, $C9, $F8, $B0, $0C, $EE, $A1, $03, $18, $69, $10, $8D, $A0, $03 ; CPU:$807C PRG:007C F0 90 19 C9 F8 B0 0C EE A1 03 18 69 10 8D A0 03 - .byte $4C, $98, $80, $CE, $A1, $03, $38, $E9, $10, $8D, $A0, $03, $AD, $A0, $03, $29 ; CPU:$808C PRG:008C 4C 98 80 CE A1 03 38 E9 10 8D A0 03 AD A0 03 29 - .byte $08, $85, $86, $AD, $A2, $03, $29, $08, $C5, $86, $F0, $03, $20, $DA, $80, $AD ; CPU:$809C PRG:009C 08 85 86 AD A2 03 29 08 C5 86 F0 03 20 DA 80 AD - .byte $9D, $03, $85, $8F, $AD, $A0, $03, $85, $90, $AD, $A1, $03, $0A, $29, $02, $85 ; CPU:$80AC PRG:00AC 9D 03 85 8F AD A0 03 85 90 AD A1 03 0A 29 02 85 - .byte $86, $A5, $8C, $29, $FD, $05, $86, $85, $8C, $A9, $00, $8D, $A4, $03, $8D, $A5 ; CPU:$80BC PRG:00BC 86 A5 8C 29 FD 05 86 85 8C A9 00 8D A4 03 8D A5 - .byte $03, $8D, $A6, $03, $8D, $A7, $03, $8D, $A8, $03, $8D, $A9, $03, $60, $A9, $04 ; CPU:$80CC PRG:00CC 03 8D A6 03 8D A7 03 8D A8 03 8D A9 03 60 A9 04 - .byte $85, $86, $AD, $A9, $03, $30, $04, $A9, $EE, $85, $86, $AD, $A0, $03, $18, $65 ; CPU:$80DC PRG:00DC 85 86 AD A9 03 30 04 A9 EE 85 86 AD A0 03 18 65 - .byte $86, $8D, $9A, $03, $B0, $04, $C9, $F0, $90, $16, $18, $69, $10, $8D, $9A, $03 ; CPU:$80EC PRG:00EC 86 8D 9A 03 B0 04 C9 F0 90 16 18 69 10 8D 9A 03 - .byte $AC, $A1, $03, $C8, $8C, $99, $03, $4C, $12, $81, $AD, $A0, $03, $8D, $9A, $03 ; CPU:$80FC PRG:00FC AC A1 03 C8 8C 99 03 4C 12 81 AD A0 03 8D 9A 03 - .byte $AD, $A1, $03, $8D, $99, $03, $AD, $9D, $03, $38, $E9, $08, $8D, $97, $03, $A9 ; CPU:$810C PRG:010C AD A1 03 8D 99 03 AD 9D 03 38 E9 08 8D 97 03 A9 - .byte $00, $8D, $96, $03, $20, $E6, $81, $20, $6C, $82, $A5, $8B, $A2, $00, $9D, $8F ; CPU:$811C PRG:011C 00 8D 96 03 20 E6 81 20 6C 82 A5 8B A2 00 9D 8F - .byte $07, $E8, $A5, $8A, $9D, $8F, $07, $E8, $A9, $00, $9D, $8F, $07, $86, $87, $E8 ; CPU:$812C PRG:012C 07 E8 A5 8A 9D 8F 07 E8 A9 00 9D 8F 07 86 87 E8 - .byte $A9, $00, $85, $86, $85, $88, $20, $4F, $82, $AD, $97, $03, $29, $08, $D0, $1B ; CPU:$813C PRG:013C A9 00 85 86 85 88 20 4F 82 AD 97 03 29 08 D0 1B - .byte $A0, $00, $AD, $9A, $03, $29, $08, $F0, $02, $C8, $C8, $B1, $8A, $9D, $8F, $07 ; CPU:$814C PRG:014C A0 00 AD 9A 03 29 08 F0 02 C8 C8 B1 8A 9D 8F 07 - .byte $E8, $E6, $86, $E6, $88, $A5, $86, $C9, $22, $F0, $6A, $A0, $01, $AD, $9A, $03 ; CPU:$815C PRG:015C E8 E6 86 E6 88 A5 86 C9 22 F0 6A A0 01 AD 9A 03 - .byte $29, $08, $F0, $02, $C8, $C8, $B1, $8A, $9D, $8F, $07, $E8, $E6, $86, $E6, $88 ; CPU:$816C PRG:016C 29 08 F0 02 C8 C8 B1 8A 9D 8F 07 E8 E6 86 E6 88 - .byte $A5, $86, $C9, $22, $F0, $4F, $20, $B9, $82, $AD, $AA, $03, $18, $69, $01, $29 ; CPU:$817C PRG:017C A5 86 C9 22 F0 4F 20 B9 82 AD AA 03 18 69 01 29 - .byte $10, $85, $85, $AD, $AA, $03, $29, $10, $C5, $85, $D0, $09, $EE, $AA, $03, $20 ; CPU:$818C PRG:018C 10 85 85 AD AA 03 29 10 C5 85 D0 09 EE AA 03 20 - .byte $4F, $82, $4C, $4C, $81, $A4, $87, $A5, $88, $99, $8F, $07, $A9, $00, $85, $88 ; CPU:$819C PRG:019C 4F 82 4C 4C 81 A4 87 A5 88 99 8F 07 A9 00 85 88 - .byte $B9, $8D, $07, $49, $04, $9D, $8F, $07, $E8, $B9, $8E, $07, $29, $E0, $9D, $8F ; CPU:$81AC PRG:01AC B9 8D 07 49 04 9D 8F 07 E8 B9 8E 07 29 E0 9D 8F - .byte $07, $E8, $86, $87, $E8, $A9, $00, $8D, $97, $03, $A5, $CA, $20, $EE, $81, $20 ; CPU:$81BC PRG:01BC 07 E8 86 87 E8 A9 00 8D 97 03 A5 CA 20 EE 81 20 - .byte $4F, $82, $4C, $4C, $81, $20, $B9, $82, $A9, $00, $9D, $8F, $07, $A5, $88, $A6 ; CPU:$81CC PRG:01CC 4F 82 4C 4C 81 20 B9 82 A9 00 9D 8F 07 A5 88 A6 - .byte $87, $9D, $8F, $07, $A9, $FF, $8D, $AE, $03, $60, $AD, $99, $03, $49, $FF, $18 ; CPU:$81DC PRG:01DC 87 9D 8F 07 A9 FF 8D AE 03 60 AD 99 03 49 FF 18 - .byte $69, $01, $85, $CA, $A8, $B9, $4B, $84, $85, $CB, $18, $69, $85, $85, $CD, $A9 ; CPU:$81EC PRG:01EC 69 01 85 CA A8 B9 4B 84 85 CB 18 69 85 85 CD A9 - .byte $4B, $85, $CC, $A5, $CB, $8D, $8C, $03, $A9, $00, $8D, $8B, $03, $0E, $8C, $03 ; CPU:$81FC PRG:01FC 4B 85 CC A5 CB 8D 8C 03 A9 00 8D 8B 03 0E 8C 03 - .byte $2E, $8B, $03, $0E, $8C, $03, $2E, $8B, $03, $0E, $8C, $03, $2E, $8B, $03, $0E ; CPU:$820C PRG:020C 2E 8B 03 0E 8C 03 2E 8B 03 0E 8C 03 2E 8B 03 0E - .byte $8C, $03, $2E, $8B, $03, $38, $A5, $CC, $ED, $8C, $03, $85, $CC, $A5, $CD, $ED ; CPU:$821C PRG:021C 8C 03 2E 8B 03 38 A5 CC ED 8C 03 85 CC A5 CD ED - .byte $8B, $03, $85, $CD, $AD, $97, $03, $4A, $4A, $4A, $4A, $8D, $AA, $03, $AD, $9A ; CPU:$822C PRG:022C 8B 03 85 CD AD 97 03 4A 4A 4A 4A 8D AA 03 AD 9A - .byte $03, $29, $F0, $18, $6D, $AA, $03, $8D, $AA, $03, $AC, $AA, $03, $B1, $CC, $8D ; CPU:$823C PRG:023C 03 29 F0 18 6D AA 03 8D AA 03 AC AA 03 B1 CC 8D - .byte $AB, $03, $60, $A9, $00, $85, $8B, $20, $46, $82, $0A, $26, $8B, $0A, $26, $8B ; CPU:$824C PRG:024C AB 03 60 A9 00 85 8B 20 46 82 0A 26 8B 0A 26 8B - .byte $85, $8A, $A9, $DB, $18, $65, $8A, $85, $8A, $A9, $9A, $65, $8B, $85, $8B, $60 ; CPU:$825C PRG:025C 85 8A A9 DB 18 65 8A 85 8A A9 9A 65 8B 85 8B 60 - .byte $A9, $00, $85, $8B, $AD, $9A, $03, $29, $F8, $0A, $26, $8B, $0A, $26, $8B, $85 ; CPU:$826C PRG:026C A9 00 85 8B AD 9A 03 29 F8 0A 26 8B 0A 26 8B 85 - .byte $8A, $AD, $97, $03, $4A, $4A, $4A, $18, $65, $8A, $85, $8A, $A5, $8B, $69, $00 ; CPU:$827C PRG:027C 8A AD 97 03 4A 4A 4A 18 65 8A 85 8A A5 8B 69 00 - .byte $85, $8B, $C9, $03, $D0, $13, $A5, $8A, $C9, $C0, $90, $0D, $18, $69, $20, $85 ; CPU:$828C PRG:028C 85 8B C9 03 D0 13 A5 8A C9 C0 90 0D 18 69 20 85 - .byte $8A, $A5, $8B, $69, $00, $29, $03, $85, $8B, $A5, $8B, $09, $20, $85, $8B, $AD ; CPU:$829C PRG:029C 8A A5 8B 69 00 29 03 85 8B A5 8B 09 20 85 8B AD - .byte $99, $03, $29, $01, $F0, $06, $A5, $8B, $09, $08, $85, $8B, $60, $A5, $CA, $29 ; CPU:$82AC PRG:02AC 99 03 29 01 F0 06 A5 8B 09 08 85 8B 60 A5 CA 29 - .byte $01, $F0, $07, $A9, $03, $A0, $40, $4C, $CA, $82, $A9, $03, $A0, $00, $85, $8B ; CPU:$82BC PRG:02BC 01 F0 07 A9 03 A0 40 4C CA 82 A9 03 A0 00 85 8B - .byte $84, $8A, $AD, $AA, $03, $29, $0F, $4A, $8D, $32, $07, $AD, $AA, $03, $29, $E0 ; CPU:$82CC PRG:02CC 84 8A AD AA 03 29 0F 4A 8D 32 07 AD AA 03 29 E0 - .byte $4A, $4A, $0D, $32, $07, $8D, $32, $07, $AC, $AB, $03, $B9, $DB, $9E, $8D, $34 ; CPU:$82DC PRG:02DC 4A 4A 0D 32 07 8D 32 07 AC AB 03 B9 DB 9E 8D 34 - .byte $07, $AC, $32, $07, $B1, $8A, $8D, $33, $07, $AD, $AA, $03, $29, $01, $D0, $11 ; CPU:$82EC PRG:02EC 07 AC 32 07 B1 8A 8D 33 07 AD AA 03 29 01 D0 11 - .byte $AD, $AA, $03, $29, $10, $D0, $05, $A9, $FC, $4C, $2D, $83, $A9, $CF, $4C, $21 ; CPU:$82FC PRG:02FC AD AA 03 29 10 D0 05 A9 FC 4C 2D 83 A9 CF 4C 21 - .byte $83, $AD, $AA, $03, $29, $10, $D0, $05, $A9, $F3, $4C, $27, $83, $A9, $3F, $0E ; CPU:$830C PRG:030C 83 AD AA 03 29 10 D0 05 A9 F3 4C 27 83 A9 3F 0E - .byte $34, $07, $0E, $34, $07, $0E, $34, $07, $0E, $34, $07, $0E, $34, $07, $0E, $34 ; CPU:$831C PRG:031C 34 07 0E 34 07 0E 34 07 0E 34 07 0E 34 07 0E 34 - .byte $07, $2D, $33, $07, $0D, $34, $07, $91, $8A, $60, $BD, $88, $05, $8D, $97, $03 ; CPU:$832C PRG:032C 07 2D 33 07 0D 34 07 91 8A 60 BD 88 05 8D 97 03 - .byte $BD, $6F, $05, $8D, $96, $03, $BD, $3D, $05, $18, $69, $04, $8D, $9A, $03, $BD ; CPU:$833C PRG:033C BD 6F 05 8D 96 03 BD 3D 05 18 69 04 8D 9A 03 BD - .byte $24, $05, $8D, $99, $03, $AD, $99, $03, $85, $CE, $A8, $B9, $4B, $84, $85, $E2 ; CPU:$834C PRG:034C 24 05 8D 99 03 AD 99 03 85 CE A8 B9 4B 84 85 E2 - .byte $18, $69, $85, $85, $DE, $A9, $4B, $85, $DD, $A5, $E2, $8D, $8C, $03, $A9, $00 ; CPU:$835C PRG:035C 18 69 85 85 DE A9 4B 85 DD A5 E2 8D 8C 03 A9 00 - .byte $8D, $8B, $03, $0E, $8C, $03, $2E, $8B, $03, $0E, $8C, $03, $2E, $8B, $03, $0E ; CPU:$836C PRG:036C 8D 8B 03 0E 8C 03 2E 8B 03 0E 8C 03 2E 8B 03 0E - .byte $8C, $03, $2E, $8B, $03, $0E, $8C, $03, $2E, $8B, $03, $38, $A5, $DD, $ED, $8C ; CPU:$837C PRG:037C 8C 03 2E 8B 03 0E 8C 03 2E 8B 03 38 A5 DD ED 8C - .byte $03, $85, $DD, $A5, $DE, $ED, $8B, $03, $85, $DE, $AD, $97, $03, $4A, $4A, $4A ; CPU:$838C PRG:038C 03 85 DD A5 DE ED 8B 03 85 DE AD 97 03 4A 4A 4A - .byte $4A, $85, $E1, $AD, $9A, $03, $29, $F0, $18, $65, $E1, $8D, $AC, $03, $A8, $B1 ; CPU:$839C PRG:039C 4A 85 E1 AD 9A 03 29 F0 18 65 E1 8D AC 03 A8 B1 - .byte $DD, $60, $A5, $87, $29, $F8, $85, $87, $A5, $86, $29, $F8, $85, $86, $A5, $89 ; CPU:$83AC PRG:03AC DD 60 A5 87 29 F8 85 87 A5 86 29 F8 85 86 A5 89 - .byte $29, $0F, $C9, $01, $D0, $03, $4C, $04, $00, $C9, $02, $D0, $03, $4C, $3E, $84 ; CPU:$83BC PRG:03BC 29 0F C9 01 D0 03 4C 04 00 C9 02 D0 03 4C 3E 84 - .byte $C9, $04, $D0, $03, $4C, $29, $84, $C9, $05, $D0, $03, $4C, $1E, $84, $C9, $06 ; CPU:$83CC PRG:03CC C9 04 D0 03 4C 29 84 C9 05 D0 03 4C 1E 84 C9 06 - .byte $D0, $03, $4C, $10, $84, $C9, $08, $D0, $03, $4C, $08, $84, $C9, $09, $D0, $11 ; CPU:$83DC PRG:03DC D0 03 4C 10 84 C9 08 D0 03 4C 08 84 C9 09 D0 11 - .byte $4C, $EF, $83, $A5, $87, $C9, $08, $90, $13, $38, $E9, $08, $85, $87, $4C, $08 ; CPU:$83EC PRG:03EC 4C EF 83 A5 87 C9 08 90 13 38 E9 08 85 87 4C 08 - .byte $84, $A5, $87, $C9, $F8, $B0, $05, $18, $69, $08, $85, $87, $A5, $86, $38, $E9 ; CPU:$83FC PRG:03FC 84 A5 87 C9 F8 B0 05 18 69 08 85 87 A5 86 38 E9 - .byte $08, $85, $86, $60, $A5, $87, $C9, $08, $90, $13, $38, $E9, $08, $85, $87, $4C ; CPU:$840C PRG:040C 08 85 86 60 A5 87 C9 08 90 13 38 E9 08 85 87 4C - .byte $29, $84, $A5, $87, $C9, $F8, $B0, $05, $18, $69, $08, $85, $87, $A5, $86, $38 ; CPU:$841C PRG:041C 29 84 A5 87 C9 F8 B0 05 18 69 08 85 87 A5 86 38 - .byte $E9, $08, $85, $86, $60, $A5, $87, $C9, $F8, $90, $01, $60, $18, $69, $08, $85 ; CPU:$842C PRG:042C E9 08 85 86 60 A5 87 C9 F8 90 01 60 18 69 08 85 - .byte $87, $60, $A5, $87, $C9, $08, $B0, $01, $60, $38, $E9, $08, $85, $87, $60, $00 ; CPU:$843C PRG:043C 87 60 A5 87 C9 08 B0 01 60 38 E9 08 85 87 60 00 - .byte $01, $01, $01, $04, $01, $04, $01, $00, $01, $01, $01, $04, $01, $04, $01, $00 ; CPU:$844C PRG:044C 01 01 01 04 01 04 01 00 01 01 01 04 01 04 01 00 - .byte $01, $01, $01, $04, $01, $04, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$845C PRG:045C 01 01 01 04 01 04 01 00 01 01 01 01 01 01 01 00 - .byte $01, $05, $06, $07, $06, $09, $01, $00, $01, $05, $06, $07, $06, $09, $01, $00 ; CPU:$846C PRG:046C 01 05 06 07 06 09 01 00 01 05 06 07 06 09 01 00 - .byte $01, $05, $06, $09, $01, $02, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$847C PRG:047C 01 05 06 09 01 02 01 00 01 01 01 01 01 01 01 00 - .byte $01, $05, $0A, $0B, $0C, $09, $01, $00, $01, $05, $0A, $0B, $0C, $09, $01, $00 ; CPU:$848C PRG:048C 01 05 0A 0B 0C 09 01 00 01 05 0A 0B 0C 09 01 00 - .byte $01, $05, $0A, $0B, $0C, $09, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$849C PRG:049C 01 05 0A 0B 0C 09 01 00 01 01 01 01 01 01 01 00 - .byte $01, $04, $01, $16, $04, $01, $01, $00, $01, $04, $01, $16, $04, $01, $01, $00 ; CPU:$84AC PRG:04AC 01 04 01 16 04 01 01 00 01 04 01 16 04 01 01 00 - .byte $01, $04, $01, $16, $01, $02, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$84BC PRG:04BC 01 04 01 16 01 02 01 00 01 01 01 01 01 01 01 00 - .byte $01, $01, $10, $11, $09, $01, $01, $00, $01, $01, $10, $11, $09, $01, $01, $00 ; CPU:$84CC PRG:04CC 01 01 10 11 09 01 01 00 01 01 10 11 09 01 01 00 - .byte $01, $01, $10, $11, $09, $01, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$84DC PRG:04DC 01 01 10 11 09 01 01 00 01 01 01 01 01 01 01 00 - .byte $01, $05, $14, $15, $12, $01, $01, $00, $01, $05, $14, $15, $12, $01, $01, $00 ; CPU:$84EC PRG:04EC 01 05 14 15 12 01 01 00 01 05 14 15 12 01 01 00 - .byte $01, $05, $09, $01, $01, $02, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$84FC PRG:04FC 01 05 09 01 01 02 01 00 01 01 01 01 01 01 01 00 - .byte $01, $05, $13, $03, $09, $01, $01, $00, $01, $05, $13, $03, $09, $01, $01, $00 ; CPU:$850C PRG:050C 01 05 13 03 09 01 01 00 01 05 13 03 09 01 01 00 - .byte $01, $05, $13, $03, $09, $01, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$851C PRG:051C 01 05 13 03 09 01 01 00 01 01 01 01 01 01 01 00 - .byte $01, $08, $0D, $0E, $0F, $12, $01, $00, $01, $08, $0D, $0E, $0F, $12, $01, $00 ; CPU:$852C PRG:052C 01 08 0D 0E 0F 12 01 00 01 08 0D 0E 0F 12 01 00 - .byte $01, $08, $0D, $12, $01, $02, $01, $00, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$853C PRG:053C 01 08 0D 12 01 02 01 00 01 01 01 01 01 01 01 00 - .byte $01, $00, $02, $00, $03, $10, $11, $12, $13, $00, $01, $02, $03, $00, $00, $00 ; CPU:$854C PRG:054C 01 00 02 00 03 10 11 12 13 00 01 02 03 00 00 00 - .byte $00, $01, $03, $02, $01, $14, $15, $15, $16, $02, $00, $00, $02, $00, $01, $00 ; CPU:$855C PRG:055C 00 01 03 02 01 14 15 15 16 02 00 00 02 00 01 00 - .byte $02, $00, $01, $03, $00, $17, $18, $19, $1A, $00, $02, $00, $01, $03, $00, $02 ; CPU:$856C PRG:056C 02 00 01 03 00 17 18 19 1A 00 02 00 01 03 00 02 - .byte $00, $02, $03, $00, $1B, $1C, $1D, $1E, $1F, $20, $02, $03, $00, $01, $02, $00 ; CPU:$857C PRG:057C 00 02 03 00 1B 1C 1D 1E 1F 20 02 03 00 01 02 00 - .byte $01, $00, $02, $02, $21, $22, $23, $24, $25, $26, $00, $01, $03, $02, $00, $00 ; CPU:$858C PRG:058C 01 00 02 02 21 22 23 24 25 26 00 01 03 02 00 00 - .byte $00, $03, $00, $00, $27, $22, $23, $24, $28, $29, $00, $00, $02, $00, $00, $03 ; CPU:$859C PRG:059C 00 03 00 00 27 22 23 24 28 29 00 00 02 00 00 03 - .byte $00, $00, $00, $03, $27, $1C, $1D, $1E, $2A, $2B, $01, $02, $00, $02, $00, $00 ; CPU:$85AC PRG:05AC 00 00 00 03 27 1C 1D 1E 2A 2B 01 02 00 02 00 00 - .byte $02, $00, $01, $00, $27, $22, $23, $24, $2C, $2D, $03, $00, $03, $00, $03, $02 ; CPU:$85BC PRG:05BC 02 00 01 00 27 22 23 24 2C 2D 03 00 03 00 03 02 - .byte $00, $03, $00, $00, $27, $2E, $23, $24, $2F, $30, $01, $02, $00, $03, $00, $00 ; CPU:$85CC PRG:05CC 00 03 00 00 27 2E 23 24 2F 30 01 02 00 03 00 00 - .byte $00, $00, $03, $02, $27, $31, $23, $24, $32, $33, $00, $00, $02, $00, $00, $00 ; CPU:$85DC PRG:05DC 00 00 03 02 27 31 23 24 32 33 00 00 02 00 00 00 - .byte $02, $01, $01, $00, $34, $35, $23, $24, $36, $37, $00, $00, $00, $01, $00, $02 ; CPU:$85EC PRG:05EC 02 01 01 00 34 35 23 24 36 37 00 00 00 01 00 02 - .byte $00, $00, $00, $02, $38, $39, $3A, $3B, $3C, $3D, $01, $01, $00, $00, $02, $00 ; CPU:$85FC PRG:05FC 00 00 00 02 38 39 3A 3B 3C 3D 01 01 00 00 02 00 - .byte $02, $02, $00, $03, $00, $3E, $23, $24, $3F, $03, $01, $00, $03, $02, $00, $03 ; CPU:$860C PRG:060C 02 02 00 03 00 3E 23 24 3F 03 01 00 03 02 00 03 - .byte $00, $00, $01, $00, $00, $0C, $0D, $0E, $0F, $00, $00, $02, $00, $03, $00, $00 ; CPU:$861C PRG:061C 00 00 01 00 00 0C 0D 0E 0F 00 00 02 00 03 00 00 - .byte $00, $03, $00, $02, $01, $00, $00, $01, $00, $00, $01, $00, $01, $00, $01, $00 ; CPU:$862C PRG:062C 00 03 00 02 01 00 00 01 00 00 01 00 01 00 01 00 - .byte $01, $00, $02, $00, $03, $00, $02, $00, $03, $00, $01, $02, $03, $00, $00, $00 ; CPU:$863C PRG:063C 01 00 02 00 03 00 02 00 03 00 01 02 03 00 00 00 - .byte $00, $01, $03, $02, $01, $00, $01, $03, $00, $02, $00, $00, $02, $00, $01, $00 ; CPU:$864C PRG:064C 00 01 03 02 01 00 01 03 00 02 00 00 02 00 01 00 - .byte $02, $00, $01, $03, $00, $03, $00, $00, $01, $00, $02, $00, $01, $03, $00, $02 ; CPU:$865C PRG:065C 02 00 01 03 00 03 00 00 01 00 02 00 01 03 00 02 - .byte $00, $02, $03, $00, $01, $01, $00, $00, $02, $00, $02, $03, $00, $01, $02, $00 ; CPU:$866C PRG:066C 00 02 03 00 01 01 00 00 02 00 02 03 00 01 02 00 - .byte $01, $00, $02, $02, $00, $03, $00, $02, $01, $03, $00, $01, $03, $02, $00, $00 ; CPU:$867C PRG:067C 01 00 02 02 00 03 00 02 01 03 00 01 03 02 00 00 - .byte $00, $03, $00, $00, $02, $01, $00, $03, $00, $02, $00, $00, $02, $00, $00, $03 ; CPU:$868C PRG:068C 00 03 00 00 02 01 00 03 00 02 00 00 02 00 00 03 - .byte $00, $00, $00, $03, $03, $00, $02, $00, $01, $00, $01, $02, $00, $02, $00, $00 ; CPU:$869C PRG:069C 00 00 00 03 03 00 02 00 01 00 01 02 00 02 00 00 - .byte $02, $00, $01, $00, $00, $01, $00, $00, $02, $00, $03, $00, $03, $00, $03, $02 ; CPU:$86AC PRG:06AC 02 00 01 00 00 01 00 00 02 00 03 00 03 00 03 02 - .byte $00, $03, $00, $00, $03, $02, $00, $01, $00, $00, $01, $02, $00, $03, $00, $00 ; CPU:$86BC PRG:06BC 00 03 00 00 03 02 00 01 00 00 01 02 00 03 00 00 - .byte $00, $00, $03, $02, $00, $00, $01, $00, $02, $03, $00, $00, $02, $00, $00, $00 ; CPU:$86CC PRG:06CC 00 00 03 02 00 00 01 00 02 03 00 00 02 00 00 00 - .byte $02, $01, $01, $00, $03, $00, $02, $01, $00, $02, $00, $00, $00, $01, $00, $02 ; CPU:$86DC PRG:06DC 02 01 01 00 03 00 02 01 00 02 00 00 00 01 00 02 - .byte $00, $00, $00, $02, $00, $03, $00, $00, $02, $00, $01, $01, $00, $00, $02, $00 ; CPU:$86EC PRG:06EC 00 00 00 02 00 03 00 00 02 00 01 01 00 00 02 00 - .byte $02, $02, $00, $03, $00, $00, $02, $00, $00, $03, $01, $00, $03, $02, $00, $03 ; CPU:$86FC PRG:06FC 02 02 00 03 00 00 02 00 00 03 01 00 03 02 00 03 - .byte $00, $00, $01, $00, $00, $01, $02, $00, $03, $00, $00, $02, $00, $03, $00, $00 ; CPU:$870C PRG:070C 00 00 01 00 00 01 02 00 03 00 00 02 00 03 00 00 - .byte $00, $03, $00, $02, $01, $00, $00, $01, $00, $00, $01, $00, $01, $00, $01, $01 ; CPU:$871C PRG:071C 00 03 00 02 01 00 00 01 00 00 01 00 01 00 01 01 - .byte $00, $02, $00, $03, $01, $02, $00, $03, $02, $00, $01, $00, $01, $02, $00, $00 ; CPU:$872C PRG:072C 00 02 00 03 01 02 00 03 02 00 01 00 01 02 00 00 - .byte $01, $00, $DC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $AD, $00, $00, $01, $DC ; CPU:$873C PRG:073C 01 00 DC FF FF FF FF FF FF FF FF AD 00 00 01 DC - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $AD, $FF ; CPU:$874C PRG:074C FF FF FF FF FF FF FF FF FF FF FF FF FF FF AD FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$875C PRG:075C FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $05, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$876C PRG:076C FF FF FF FF FF FF 05 FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $06, $06, $06, $07, $08, $08, $08, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$877C PRG:077C FF FF FF 06 06 06 07 08 08 08 FF FF FF FF FF FF - .byte $FF, $FF, $09, $0A, $0B, $40, $41, $42, $43, $44, $45, $FF, $FF, $FF, $FF, $FF ; CPU:$878C PRG:078C FF FF 09 0A 0B 40 41 42 43 44 45 FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $46, $47, $48, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$879C PRG:079C FF FF FF FF FF 46 47 48 FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $49, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$87AC PRG:07AC FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $4A, $4B, $4C, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$87BC PRG:07BC FF FF FF FF FF 4A 4B 4C FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $4D, $4E, $4F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$87CC PRG:07CC FF FF FF FF FF 4D 4E 4F 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:$87DC PRG:07DC 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, $DE ; CPU:$87EC PRG:07EC FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DE - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $DF, $02 ; CPU:$87FC PRG:07FC FF FF FF FF FF FF FF FF FF FF FF FF FF FF DF 02 - .byte $03, $04, $04, $DE, $FF, $FF, $FF, $FF, $FF, $DF, $04, $04, $01, $00, $01, $E4 ; CPU:$880C PRG:080C 03 04 04 DE FF FF FF FF FF DF 04 04 01 00 01 E4 - .byte $EF, $ED, $E8, $EF, $E6, $EB, $E4, $EA, $CD, $C4, $C6, $C4, $C2, $C6, $C0, $E7 ; CPU:$881C PRG:081C EF ED E8 EF E6 EB E4 EA CD C4 C6 C4 C2 C6 C0 E7 - .byte $EE, $E5, $E5, $EC, $EA, $EB, $CA, $C6, $B2, $B3, $7F, $74, $76, $75, $7E, $EA ; CPU:$882C PRG:082C EE E5 E5 EC EA EB CA C6 B2 B3 7F 74 76 75 7E EA - .byte $EB, $EE, $EC, $EB, $E4, $CD, $FA, $B2, $7F, $74, $70, $72, $73, $71, $70, $C8 ; CPU:$883C PRG:083C EB EE EC EB E4 CD FA B2 7F 74 70 72 73 71 70 C8 - .byte $C9, $C7, $C3, $C2, $C5, $B2, $B1, $7F, $FF, $7D, $B0, $B2, $B3, $B2, $B0, $FA ; CPU:$884C PRG:084C C9 C7 C3 C2 C5 B2 B1 7F FF 7D B0 B2 B3 B2 B0 FA - .byte $B1, $B3, $FA, $B2, $B0, $7F, $74, $FF, $7D, $B2, $B3, $FA, $B1, $B0, $B3, $B0 ; CPU:$885C PRG:085C B1 B3 FA B2 B0 7F 74 FF 7D B2 B3 FA B1 B0 B3 B0 - .byte $B2, $FA, $B2, $B0, $7F, $FF, $7D, $7C, $7E, $B1, $B2, $B0, $B2, $B2, $FA, $D0 ; CPU:$886C PRG:086C B2 FA B2 B0 7F FF 7D 7C 7E B1 B2 B0 B2 B2 FA D0 - .byte $B3, $B2, $B1, $B2, $78, $7A, $B2, $B1, $78, $7E, $B3, $B1, $FA, $B0, $B2, $EA ; CPU:$887C PRG:087C B3 B2 B1 B2 78 7A B2 B1 78 7E B3 B1 FA B0 B2 EA - .byte $E2, $D1, $D3, $B3, $79, $7D, $B0, $B3, $7C, $7A, $B1, $FA, $B0, $B2, $FA, $EF ; CPU:$888C PRG:088C E2 D1 D3 B3 79 7D B0 B3 7C 7A B1 FA B0 B2 FA EF - .byte $E8, $EA, $E9, $D8, $7C, $7E, $B3, $FA, $B2, $79, $7E, $B2, $B3, $FA, $B1, $E5 ; CPU:$889C PRG:089C E8 EA E9 D8 7C 7E B3 FA B2 79 7E B2 B3 FA B1 E5 - .byte $EF, $E6, $EB, $DB, $B1, $79, $7E, $B2, $B2, $7C, $FF, $76, $75, $7E, $B0, $E5 ; CPU:$88AC PRG:08AC EF E6 EB DB B1 79 7E B2 B2 7C FF 76 75 7E B0 E5 - .byte $E5, $E7, $E4, $D9, $B2, $78, $81, $B0, $B3, $B0, $7C, $72, $73, $70, $7E, $E5 ; CPU:$88BC PRG:08BC E5 E7 E4 D9 B2 78 81 B0 B3 B0 7C 72 73 70 7E E5 - .byte $EC, $EB, $EB, $DA, $B0, $78, $80, $B2, $FA, $B2, $B0, $B2, $B3, $B2, $7C, $EC ; CPU:$88CC PRG:08CC EC EB EB DA B0 78 80 B2 FA B2 B0 B2 B3 B2 7C EC - .byte $EA, $CA, $C6, $B2, $B0, $7C, $7B, $B3, $B2, $B1, $FA, $B1, $B0, $FA, $B3, $C0 ; CPU:$88DC PRG:08DC EA CA C6 B2 B0 7C 7B B3 B2 B1 FA B1 B0 FA B3 C0 - .byte $C1, $B2, $B0, $FA, $B3, $B1, $7C, $7E, $B0, $B3, $B1, $FA, $B2, $B3, $B2, $B3 ; CPU:$88EC PRG:08EC C1 B2 B0 FA B3 B1 7C 7E B0 B3 B1 FA B2 B3 B2 B3 - .byte $B1, $FA, $B3, $B1, $FA, $B2, $B0, $78, $7E, $B0, $B2, $B3, $FA, $B1, $B0, $00 ; CPU:$88FC PRG:08FC B1 FA B3 B1 FA B2 B0 78 7E B0 B2 B3 FA B1 B0 00 - .byte $01, $00, $02, $00, $03, $00, $02, $00, $03, $00, $01, $02, $03, $00, $00, $00 ; CPU:$890C PRG:090C 01 00 02 00 03 00 02 00 03 00 01 02 03 00 00 00 - .byte $00, $01, $03, $02, $01, $00, $01, $03, $00, $02, $00, $00, $02, $00, $01, $00 ; CPU:$891C PRG:091C 00 01 03 02 01 00 01 03 00 02 00 00 02 00 01 00 - .byte $02, $00, $01, $03, $00, $01, $94, $95, $01, $00, $02, $00, $01, $03, $00, $02 ; CPU:$892C PRG:092C 02 00 01 03 00 01 94 95 01 00 02 00 01 03 00 02 - .byte $00, $02, $03, $00, $02, $88, $E4, $EF, $93, $92, $97, $90, $91, $95, $02, $00 ; CPU:$893C PRG:093C 00 02 03 00 02 88 E4 EF 93 92 97 90 91 95 02 00 - .byte $01, $00, $02, $02, $00, $8D, $EE, $ED, $E6, $E8, $E7, $ED, $EF, $E6, $82, $00 ; CPU:$894C PRG:094C 01 00 02 02 00 8D EE ED E6 E8 E7 ED EF E6 82 00 - .byte $00, $03, $00, $00, $01, $8C, $ED, $E5, $E8, $E5, $EF, $EB, $E5, $EC, $84, $03 ; CPU:$895C PRG:095C 00 03 00 00 01 8C ED E5 E8 E5 EF EB E5 EC 84 03 - .byte $00, $00, $00, $03, $00, $8E, $EA, $EE, $EB, $E5, $EB, $E5, $E5, $E7, $85, $00 ; CPU:$896C PRG:096C 00 00 00 03 00 8E EA EE EB E5 EB E5 E5 E7 85 00 - .byte $02, $00, $01, $00, $00, $03, $8A, $E6, $E4, $EE, $E5, $E5, $EC, $8B, $02, $02 ; CPU:$897C PRG:097C 02 00 01 00 00 03 8A E6 E4 EE E5 E5 EC 8B 02 02 - .byte $00, $03, $00, $00, $03, $02, $01, $8A, $9A, $9B, $9F, $9E, $8B, $00, $01, $00 ; CPU:$898C PRG:098C 00 03 00 00 03 02 01 8A 9A 9B 9F 9E 8B 00 01 00 - .byte $00, $00, $03, $02, $00, $00, $01, $00, $02, $03, $00, $00, $02, $03, $02, $00 ; CPU:$899C PRG:099C 00 00 03 02 00 00 01 00 02 03 00 00 02 03 02 00 - .byte $02, $01, $01, $00, $03, $00, $02, $01, $00, $02, $00, $00, $00, $01, $00, $02 ; CPU:$89AC PRG:09AC 02 01 01 00 03 00 02 01 00 02 00 00 00 01 00 02 - .byte $00, $00, $00, $02, $00, $03, $00, $00, $02, $00, $01, $01, $00, $00, $02, $00 ; CPU:$89BC PRG:09BC 00 00 00 02 00 03 00 00 02 00 01 01 00 00 02 00 - .byte $02, $02, $00, $03, $00, $00, $02, $00, $00, $00, $00, $00, $03, $02, $00, $03 ; CPU:$89CC PRG:09CC 02 02 00 03 00 00 02 00 00 00 00 00 03 02 00 03 - .byte $00, $00, $01, $00, $00, $01, $02, $00, $03, $00, $00, $02, $00, $03, $00, $00 ; CPU:$89DC PRG:09DC 00 00 01 00 00 01 02 00 03 00 00 02 00 03 00 00 - .byte $00, $03, $00, $02, $01, $00, $00, $01, $00, $00, $01, $00, $01, $00, $01, $EA ; CPU:$89EC PRG:09EC 00 03 00 02 01 00 00 01 00 00 01 00 01 00 01 EA - .byte $E5, $E5, $EF, $EB, $E6, $EA, $E9, $EB, $E6, $E6, $E7, $EB, $E9, $EA, $E9, $EE ; CPU:$89FC PRG:09FC E5 E5 EF EB E6 EA E9 EB E6 E6 E7 EB E9 EA E9 EE - .byte $E5, $EC, $EB, $E9, $E6, $EB, $EC, $ED, $EB, $EF, $E9, $ED, $E8, $EF, $EA, $CC ; CPU:$8A0C PRG:0A0C E5 EC EB E9 E6 EB EC ED EB EF E9 ED E8 EF EA CC - .byte $EE, $E7, $E9, $E4, $E7, $E4, $E9, $EB, $E4, $E6, $ED, $E5, $E5, $E5, $EF, $B1 ; CPU:$8A1C PRG:0A1C EE E7 E9 E4 E7 E4 E9 EB E4 E6 ED E5 E5 E5 EF B1 - .byte $C7, $CB, $E6, $C6, $C9, $C1, $C8, $C3, $CB, $EE, $EA, $E5, $E5, $E5, $E5, $FD ; CPU:$8A2C PRG:0A2C C7 CB E6 C6 C9 C1 C8 C3 CB EE EA E5 E5 E5 E5 FD - .byte $B3, $B2, $C0, $B3, $B2, $FA, $B0, $B2, $B0, $CC, $E6, $EE, $E5, $EC, $EC, $B3 ; CPU:$8A3C PRG:0A3C B3 B2 C0 B3 B2 FA B0 B2 B0 CC E6 EE E5 EC EC B3 - .byte $FA, $B0, $FA, $B2, $B3, $B0, $B1, $B3, $FA, $D4, $E9, $EE, $EC, $E9, $E6, $B0 ; CPU:$8A4C PRG:0A4C FA B0 FA B2 B3 B0 B1 B3 FA D4 E9 EE EC E9 E6 B0 - .byte $B0, $B2, $B0, $B0, $B2, $B3, $B0, $FA, $B0, $B0, $C7, $CB, $EE, $E7, $E9, $B0 ; CPU:$8A5C PRG:0A5C B0 B2 B0 B0 B2 B3 B0 FA B0 B0 C7 CB EE E7 E9 B0 - .byte $B2, $B3, $FA, $B3, $B2, $FA, $B2, $A4, $A5, $B3, $B3, $B0, $C0, $CC, $EE, $A5 ; CPU:$8A6C PRG:0A6C B2 B3 FA B3 B2 FA B2 A4 A5 B3 B3 B0 C0 CC EE A5 - .byte $B0, $FA, $B3, $B0, $B3, $B0, $A6, $F9, $6D, $A3, $A5, $FA, $B0, $B3, $CC, $6D ; CPU:$8A7C PRG:0A7C B0 FA B3 B0 B3 B0 A6 F9 6D A3 A5 FA B0 B3 CC 6D - .byte $A1, $A3, $A0, $A5, $B1, $A6, $6D, $6E, $F9, $6D, $6E, $A1, $A3, $A0, $A2, $6F ; CPU:$8A8C PRG:0A8C A1 A3 A0 A5 B1 A6 6D 6E F9 6D 6E A1 A3 A0 A2 6F - .byte $F9, $6F, $6D, $6D, $A1, $F9, $6D, $6F, $6E, $6D, $6F, $6D, $F9, $6D, $6F, $5C ; CPU:$8A9C PRG:0A9C F9 6F 6D 6D A1 F9 6D 6F 6E 6D 6F 6D F9 6D 6F 5C - .byte $6F, $6D, $F9, $6E, $6D, $6E, $6D, $F9, $6F, $F9, $F9, $5D, $56, $57, $58, $69 ; CPU:$8AAC PRG:0AAC 6F 6D F9 6E 6D 6E 6D F9 6F F9 F9 5D 56 57 58 69 - .byte $6D, $F9, $6E, $6F, $F9, $6D, $6E, $6F, $F9, $6F, $59, $00, $03, $02, $00, $03 ; CPU:$8ABC PRG:0ABC 6D F9 6E 6F F9 6D 6E 6F F9 6F 59 00 03 02 00 03 - .byte $56, $57, $5A, $6F, $6F, $F9, $6D, $59, $56, $57, $00, $02, $00, $03, $00, $00 ; CPU:$8ACC PRG:0ACC 56 57 5A 6F 6F F9 6D 59 56 57 00 02 00 03 00 00 - .byte $00, $03, $00, $56, $55, $52, $53, $01, $00, $00, $01, $00, $01, $00, $01, $E9 ; CPU:$8ADC PRG:0ADC 00 03 00 56 55 52 53 01 00 00 01 00 01 00 01 E9 - .byte $E4, $EA, $E9, $EB, $EA, $E4, $E9, $EB, $E4, $E7, $E9, $E4, $ED, $E8, $E6, $CC ; CPU:$8AEC PRG:0AEC E4 EA E9 EB EA E4 E9 EB E4 E7 E9 E4 ED E8 E6 CC - .byte $E9, $EB, $E9, $E4, $CA, $CB, $E6, $EE, $E7, $EA, $EB, $E6, $E5, $E5, $EF, $B1 ; CPU:$8AFC PRG:0AFC E9 EB E9 E4 CA CB E6 EE E7 EA EB E6 E5 E5 EF B1 - .byte $CC, $EE, $CA, $C5, $B3, $B2, $C4, $C6, $C7, $C2, $CB, $E9, $EE, $E5, $E5, $B0 ; CPU:$8B0C PRG:0B0C CC EE CA C5 B3 B2 C4 C6 C7 C2 CB E9 EE E5 E5 B0 - .byte $B3, $C0, $B0, $FA, $B0, $B3, $B0, $FA, $B3, $B0, $B1, $E0, $EA, $EE, $EB, $75 ; CPU:$8B1C PRG:0B1C B3 C0 B0 FA B0 B3 B0 FA B3 B0 B1 E0 EA EE EB 75 - .byte $74, $76, $77, $7E, $B1, $FA, $B3, $B1, $B0, $B3, $B0, $D6, $EB, $E4, $E5, $FF ; CPU:$8B2C PRG:0B2C 74 76 77 7E B1 FA B3 B1 B0 B3 B0 D6 EB E4 E5 FF - .byte $FF, $FF, $FF, $FF, $74, $76, $77, $7E, $B0, $B0, $FA, $B1, $CC, $EE, $E5, $FF ; CPU:$8B3C PRG:0B3C FF FF FF FF 74 76 77 7E B0 B0 FA B1 CC EE E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $74, $7E, $B0, $B3, $D4, $E4, $E7, $FF ; CPU:$8B4C PRG:0B4C FF FF FF FF FF FF FF FF 74 7E B0 B3 D4 E4 E7 FF - .byte $FF, $FF, $71, $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B0, $FA, $D4, $E8, $EB, $7C ; CPU:$8B5C PRG:0B5C FF FF 71 FF FF FF FF FF FF 7A B0 FA D4 E8 EB 7C - .byte $70, $7D, $B2, $7C, $FF, $FF, $FF, $FF, $FF, $7D, $B3, $B1, $D7, $EB, $EA, $B0 ; CPU:$8B6C PRG:0B6C 70 7D B2 7C FF FF FF FF FF 7D B3 B1 D7 EB EA B0 - .byte $B1, $B0, $FA, $B0, $7C, $72, $73, $70, $7D, $FA, $B1, $B0, $D6, $E6, $EB, $D1 ; CPU:$8B7C PRG:0B7C B1 B0 FA B0 7C 72 73 70 7D FA B1 B0 D6 E6 EB D1 - .byte $D3, $B3, $B0, $B0, $B1, $B0, $B3, $B1, $FA, $B1, $B0, $B3, $CE, $ED, $E5, $E4 ; CPU:$8B8C PRG:0B8C D3 B3 B0 B0 B1 B0 B3 B1 FA B1 B0 B3 CE ED E5 E4 - .byte $E8, $CF, $D0, $D0, $B3, $B0, $FA, $B0, $B3, $B0, $FA, $D4, $EA, $EB, $E5, $EB ; CPU:$8B9C PRG:0B9C E8 CF D0 D0 B3 B0 FA B0 B3 B0 FA D4 EA EB E5 EB - .byte $ED, $EF, $EA, $EB, $CF, $B3, $B3, $B1, $B0, $B3, $B2, $CE, $E8, $E5, $E5, $ED ; CPU:$8BAC PRG:0BAC ED EF EA EB CF B3 B3 B1 B0 B3 B2 CE E8 E5 E5 ED - .byte $E5, $E5, $EC, $E6, $E4, $E3, $D1, $D3, $D0, $D2, $E2, $E9, $EB, $E5, $E5, $EA ; CPU:$8BBC PRG:0BBC E5 E5 EC E6 E4 E3 D1 D3 D0 D2 E2 E9 EB E5 E5 EA - .byte $EE, $EC, $EB, $E9, $EB, $E6, $E8, $EB, $EB, $ED, $EC, $EA, $EE, $EC, $EC, $ED ; CPU:$8BCC PRG:0BCC EE EC EB E9 EB E6 E8 EB EB ED EC EA EE EC EC ED - .byte $E5, $EF, $E5, $E5, $EC, $EA, $ED, $E7, $E6, $E9, $EA, $CA, $C2, $C3, $C6, $EE ; CPU:$8BDC PRG:0BDC E5 EF E5 E5 EC EA ED E7 E6 E9 EA CA C2 C3 C6 EE - .byte $E5, $E5, $E5, $E7, $EA, $E7, $E9, $EA, $CD, $C0, $C1, $B2, $B3, $FA, $B3, $E6 ; CPU:$8BEC PRG:0BEC E5 E5 E5 E7 EA E7 E9 EA CD C0 C1 B2 B3 FA B3 E6 - .byte $EE, $E4, $EC, $EB, $CD, $C7, $C6, $C1, $B2, $7F, $74, $76, $75, $7E, $B0, $EE ; CPU:$8BFC PRG:0BFC EE E4 EC EB CD C7 C6 C1 B2 7F 74 76 75 7E B0 EE - .byte $E7, $EC, $CA, $C5, $B2, $B0, $FA, $B3, $B0, $78, $FF, $FF, $FF, $FF, $7E, $C9 ; CPU:$8C0C PRG:0C0C E7 EC CA C5 B2 B0 FA B3 B0 78 FF FF FF FF 7E C9 - .byte $C0, $C1, $B3, $B0, $FA, $B0, $B3, $B0, $B1, $7C, $FF, $FF, $FF, $FF, $FF, $B0 ; CPU:$8C1C PRG:0C1C C0 C1 B3 B0 FA B0 B3 B0 B1 7C FF FF FF FF FF B0 - .byte $B3, $FA, $7F, $76, $77, $74, $7E, $B3, $FA, $B2, $7C, $70, $FF, $FF, $FF, $B1 ; CPU:$8C2C PRG:0C2C B3 FA 7F 76 77 74 7E B3 FA B2 7C 70 FF FF FF B1 - .byte $B3, $7F, $FF, $FF, $FF, $FF, $7A, $B0, $B3, $B0, $B0, $B0, $79, $FF, $FF, $FA ; CPU:$8C3C PRG:0C3C B3 7F FF FF FF FF 7A B0 B3 B0 B0 B0 79 FF FF FA - .byte $B0, $7C, $FF, $FF, $FF, $FF, $7B, $B0, $FA, $B0, $B1, $B3, $7C, $71, $7D, $B3 ; CPU:$8C4C PRG:0C4C B0 7C FF FF FF FF 7B B0 FA B0 B1 B3 7C 71 7D B3 - .byte $FA, $B1, $7C, $FF, $FF, $FF, $FF, $7E, $B1, $B3, $FA, $B2, $B3, $B0, $FA, $D0 ; CPU:$8C5C PRG:0C5C FA B1 7C FF FF FF FF 7E B1 B3 FA B2 B3 B0 FA D0 - .byte $B3, $B3, $B0, $7C, $72, $73, $70, $7D, $B0, $B1, $B3, $B0, $FA, $B0, $B3, $E8 ; CPU:$8C6C PRG:0C6C B3 B3 B0 7C 72 73 70 7D B0 B1 B3 B0 FA B0 B3 E8 - .byte $CF, $D0, $B1, $FA, $B3, $B0, $B2, $B0, $FA, $B0, $FA, $B3, $B0, $B3, $B1, $EB ; CPU:$8C7C PRG:0C7C CF D0 B1 FA B3 B0 B2 B0 FA B0 FA B3 B0 B3 B1 EB - .byte $E6, $E8, $E3, $D3, $D0, $D0, $B0, $B2, $B0, $B1, $B3, $FA, $FA, $B0, $B0, $E6 ; CPU:$8C8C PRG:0C8C E6 E8 E3 D3 D0 D0 B0 B2 B0 B1 B3 FA FA B0 B0 E6 - .byte $EB, $EB, $E9, $EB, $ED, $EF, $CF, $B3, $FA, $B0, $B3, $B0, $B0, $FA, $B2, $E6 ; CPU:$8C9C PRG:0C9C EB EB E9 EB ED EF CF B3 FA B0 B3 B0 B0 FA B2 E6 - .byte $EA, $EB, $ED, $E6, $EE, $EC, $E9, $E3, $D1, $D3, $B0, $B3, $B1, $B0, $CE, $EB ; CPU:$8CAC PRG:0CAC EA EB ED E6 EE EC E9 E3 D1 D3 B0 B3 B1 B0 CE EB - .byte $E4, $E9, $EE, $EB, $E6, $EB, $EB, $E6, $E9, $E4, $CF, $D0, $D0, $CE, $EA, $DD ; CPU:$8CBC PRG:0CBC E4 E9 EE EB E6 EB EB E6 E9 E4 CF D0 D0 CE EA DD - .byte $F6, $F4, $F8, $F6, $DD, $FA, $F5, $F3, $F6, $F8, $F7, $FA, $DD, $F3, $F4, $F5 ; CPU:$8CCC PRG:0CCC F6 F4 F8 F6 DD FA F5 F3 F6 F8 F7 FA DD F3 F4 F5 - .byte $FA, $DD, $F7, $F2, $FA, $F3, $F2, $F5, $F2, $F7, $FA, $F1, $D2, $D1, $D3, $F6 ; CPU:$8CDC PRG:0CDC FA DD F7 F2 FA F3 F2 F5 F2 F7 FA F1 D2 D1 D3 F6 - .byte $F4, $F2, $F0, $F1, $F4, $F2, $F3, $F2, $F1, $F4, $F2, $FA, $E0, $E6, $E4, $FA ; CPU:$8CEC PRG:0CEC F4 F2 F0 F1 F4 F2 F3 F2 F1 F4 F2 FA E0 E6 E4 FA - .byte $F2, $F1, $F5, $F0, $F2, $F5, $F1, $F0, $F5, $F4, $FA, $F1, $D6, $CA, $C9, $F4 ; CPU:$8CFC PRG:0CFC F2 F1 F5 F0 F2 F5 F1 F0 F5 F4 FA F1 D6 CA C9 F4 - .byte $F3, $F0, $F1, $F3, $F1, $F0, $F2, $F1, $F3, $F0, $F2, $F0, $F1, $F3, $FA, $F0 ; CPU:$8D0C PRG:0D0C F3 F0 F1 F3 F1 F0 F2 F1 F3 F0 F2 F0 F1 F3 FA F0 - .byte $F5, $B8, $B9, $F0, $F5, $F2, $B9, $BD, $B9, $B8, $F2, $F1, $F0, $F0, $F1, $F3 ; CPU:$8D1C PRG:0D1C F5 B8 B9 F0 F5 F2 B9 BD B9 B8 F2 F1 F0 F0 F1 F3 - .byte $F2, $FF, $FF, $F2, $F0, $BA, $00, $BF, $00, $00, $F3, $F0, $F4, $F3, $F2, $F5 ; CPU:$8D2C PRG:0D2C F2 FF FF F2 F0 BA 00 BF 00 00 F3 F0 F4 F3 F2 F5 - .byte $F3, $F1, $F0, $B8, $B9, $BC, $01, $00, $03, $00, $F0, $F2, $B9, $B9, $F5, $F2 ; CPU:$8D3C PRG:0D3C F3 F1 F0 B8 B9 BC 01 00 03 00 F0 F2 B9 B9 F5 F2 - .byte $F0, $F2, $BA, $03, $03, $BE, $00, $02, $01, $00, $B8, $BC, $01, $00, $BD, $F0 ; CPU:$8D4C PRG:0D4C F0 F2 BA 03 03 BE 00 02 01 00 B8 BC 01 00 BD F0 - .byte $F3, $B9, $BA, $02, $01, $02, $00, $01, $00, $03, $00, $BE, $00, $02, $BF, $B8 ; CPU:$8D5C PRG:0D5C F3 B9 BA 02 01 02 00 01 00 03 00 BE 00 02 BF B8 - .byte $BB, $01, $BC, $01, $00, $03, $02, $00, $01, $00, $02, $01, $03, $01, $00, $00 ; CPU:$8D6C PRG:0D6C BB 01 BC 01 00 03 02 00 01 00 02 01 03 01 00 00 - .byte $02, $00, $BE, $00, $01, $00, $02, $00, $03, $02, $00, $00, $02, $03, $00, $01 ; CPU:$8D7C PRG:0D7C 02 00 BE 00 01 00 02 00 03 02 00 00 02 03 00 01 - .byte $00, $02, $00, $03, $02, $00, $01, $02, $00, $03, $02, $00, $01, $00, $03, $02 ; CPU:$8D8C PRG:0D8C 00 02 00 03 02 00 01 02 00 03 02 00 01 00 03 02 - .byte $00, $00, $01, $00, $03, $02, $00, $01, $03, $00, $00, $02, $00, $01, $00, $00 ; CPU:$8D9C PRG:0D9C 00 00 01 00 03 02 00 01 03 00 00 02 00 01 00 00 - .byte $01, $02, $00, $03, $00, $01, $00, $00, $02, $02, $00, $03, $03, $00, $02, $02 ; CPU:$8DAC PRG:0DAC 01 02 00 03 00 01 00 00 02 02 00 03 03 00 02 02 - .byte $00, $03, $00, $01, $00, $02, $02, $03, $00, $02, $01, $00, $00, $6C, $6C, $00 ; CPU:$8DBC PRG:0DBC 00 03 00 01 00 02 02 03 00 02 01 00 00 6C 6C 00 - .byte $01, $00, $01, $00, $02, $00, $03, $00, $03, $00, $00, $00, $66, $6E, $F9, $61 ; CPU:$8DCC PRG:0DCC 01 00 01 00 02 00 03 00 03 00 00 00 66 6E F9 61 - .byte $62, $63, $00, $03, $00, $01, $02, $01, $6C, $60, $61, $64, $6E, $F9, $6E, $6E ; CPU:$8DDC PRG:0DDC 62 63 00 03 00 01 02 01 6C 60 61 64 6E F9 6E 6E - .byte $F9, $6D, $67, $62, $61, $00, $03, $66, $6E, $F9, $6D, $F9, $F9, $6D, $F9, $6F ; CPU:$8DEC PRG:0DEC F9 6D 67 62 61 00 03 66 6E F9 6D F9 F9 6D F9 6F - .byte $6D, $F9, $6F, $AC, $6F, $65, $64, $6D, $F9, $6F, $6D, $6E, $F9, $6F, $6D, $6E ; CPU:$8DFC PRG:0DFC 6D F9 6F AC 6F 65 64 6D F9 6F 6D 6E F9 6F 6D 6E - .byte $A8, $A9, $AA, $B3, $AB, $6F, $6F, $F9, $6F, $6D, $F9, $6E, $6D, $6D, $6F, $AA ; CPU:$8E0C PRG:0E0C A8 A9 AA B3 AB 6F 6F F9 6F 6D F9 6E 6D 6D 6F AA - .byte $B0, $B1, $B3, $FA, $B1, $AB, $A9, $AC, $6E, $6F, $6F, $6F, $F9, $6F, $6D, $B3 ; CPU:$8E1C PRG:0E1C B0 B1 B3 FA B1 AB A9 AC 6E 6F 6F 6F F9 6F 6D B3 - .byte $FA, $B0, $FA, $B3, $B0, $B2, $FA, $B0, $AB, $F9, $6D, $F9, $6D, $6E, $AC, $B0 ; CPU:$8E2C PRG:0E2C FA B0 FA B3 B0 B2 FA B0 AB F9 6D F9 6D 6E AC B0 - .byte $B3, $D0, $D0, $D0, $B3, $FA, $B0, $B2, $B3, $AB, $A8, $A9, $AC, $AA, $B0, $D0 ; CPU:$8E3C PRG:0E3C B3 D0 D0 D0 B3 FA B0 B2 B3 AB A8 A9 AC AA B0 D0 - .byte $CE, $E4, $EB, $E9, $CF, $B1, $B3, $FA, $B2, $B0, $B3, $B0, $B3, $FA, $B0, $ED ; CPU:$8E4C PRG:0E4C CE E4 EB E9 CF B1 B3 FA B2 B0 B3 B0 B3 FA B0 ED - .byte $E4, $E8, $EF, $EA, $E9, $D8, $B0, $B3, $B0, $B3, $FA, $B2, $B0, $B3, $B2, $EA ; CPU:$8E5C PRG:0E5C E4 E8 EF EA E9 D8 B0 B3 B0 B3 FA B2 B0 B3 B2 EA - .byte $ED, $E5, $E5, $EF, $EB, $DB, $B1, $B0, $FA, $B0, $B0, $D2, $D1, $D1, $D3, $E6 ; CPU:$8E6C PRG:0E6C ED E5 E5 EF EB DB B1 B0 FA B0 B0 D2 D1 D1 D3 E6 - .byte $EE, $E5, $E5, $EC, $E6, $DA, $B0, $B0, $B0, $B1, $D7, $EA, $ED, $EB, $E6, $EB ; CPU:$8E7C PRG:0E7C EE E5 E5 EC E6 DA B0 B0 B0 B1 D7 EA ED EB E6 EB - .byte $EA, $EE, $E7, $ED, $EB, $D8, $B2, $FA, $B0, $B2, $E1, $EB, $EB, $EA, $EB, $E4 ; CPU:$8E8C PRG:0E8C EA EE E7 ED EB D8 B2 FA B0 B2 E1 EB EB EA EB E4 - .byte $E6, $E9, $E6, $EB, $E7, $CF, $D0, $D2, $D3, $CE, $EB, $E6, $EE, $EB, $EC, $FF ; CPU:$8E9C PRG:0E9C E6 E9 E6 EB E7 CF D0 D2 D3 CE EB E6 EE EB EC FF - .byte $FF, $FF, $72, $73, $7D, $B1, $E1, $EB, $ED, $E5, $E5, $EF, $EA, $EE, $EF, $73 ; CPU:$8EAC PRG:0EAC FF FF 72 73 7D B1 E1 EB ED E5 E5 EF EA EE EF 73 - .byte $70, $7D, $B2, $B3, $D0, $CE, $EC, $ED, $E5, $E5, $E5, $EF, $EB, $E7, $9B, $B0 ; CPU:$8EBC PRG:0EBC 70 7D B2 B3 D0 CE EC ED E5 E5 E5 EF EB E7 9B B0 - .byte $B2, $B3, $D0, $CE, $E6, $EB, $ED, $E5, $EE, $E5, $EC, $E5, $EC, $8B, $04, $D2 ; CPU:$8ECC PRG:0ECC B2 B3 D0 CE E6 EB ED E5 EE E5 EC E5 EC 8B 04 D2 - .byte $D1, $E2, $ED, $E8, $EB, $E5, $EB, $EC, $EA, $EB, $EE, $EB, $8B, $04, $88, $EB ; CPU:$8EDC PRG:0EDC D1 E2 ED E8 EB E5 EB EC EA EB EE EB 8B 04 88 EB - .byte $ED, $EB, $EF, $E5, $EC, $EE, $EC, $E6, $9B, $99, $98, $9D, $FF, $88, $E8, $E5 ; CPU:$8EEC PRG:0EEC ED EB EF E5 EC EE EC E6 9B 99 98 9D FF 88 E8 E5 - .byte $E5, $E5, $E5, $EB, $E7, $87, $98, $9D, $FF, $FF, $FF, $FF, $88, $EC, $EB, $EE ; CPU:$8EFC PRG:0EFC E5 E5 E5 EB E7 87 98 9D FF FF FF FF 88 EC EB EE - .byte $E5, $E5, $EB, $EC, $EA, $8F, $FF, $FF, $FF, $FF, $94, $92, $EB, $E4, $E5, $E4 ; CPU:$8F0C PRG:0F0C E5 E5 EB EC EA 8F FF FF FF FF 94 92 EB E4 E5 E4 - .byte $EE, $E6, $E7, $E4, $EB, $EB, $93, $91, $90, $96, $EA, $EB, $E5, $EF, $EC, $98 ; CPU:$8F1C PRG:0F1C EE E6 E7 E4 EB EB 93 91 90 96 EA EB E5 EF EC 98 - .byte $98, $9A, $9F, $98, $9E, $EB, $EA, $EB, $E8, $EF, $EE, $E5, $E5, $EC, $EB, $FF ; CPU:$8F2C PRG:0F2C 98 9A 9F 98 9E EB EA EB E8 EF EE E5 E5 EC EB FF - .byte $FF, $FF, $FF, $FF, $FF, $9D, $98, $9E, $EB, $E7, $EB, $EE, $EB, $E7, $E8, $90 ; CPU:$8F3C PRG:0F3C FF FF FF FF FF 9D 98 9E EB E7 EB EE EB E7 E8 90 - .byte $91, $92, $93, $90, $95, $FF, $FF, $FF, $8A, $9B, $9A, $9F, $98, $9A, $EB, $ED ; CPU:$8F4C PRG:0F4C 91 92 93 90 95 FF FF FF 8A 9B 9A 9F 98 9A EB ED - .byte $EB, $EF, $EB, $E8, $EB, $97, $90, $95, $FF, $FF, $FF, $FF, $FF, $FF, $9C, $ED ; CPU:$8F5C PRG:0F5C EB EF EB E8 EB 97 90 95 FF FF FF FF FF FF 9C ED - .byte $E5, $E5, $EF, $EC, $E8, $ED, $EB, $EB, $97, $90, $90, $92, $93, $95, $FF, $E5 ; CPU:$8F6C PRG:0F6C E5 E5 EF EC E8 ED EB EB 97 90 90 92 93 95 FF E5 - .byte $E5, $E5, $E5, $EE, $EB, $EB, $EB, $ED, $EB, $ED, $E5, $EF, $EB, $E7, $97, $E7 ; CPU:$8F7C PRG:0F7C E5 E5 E5 EE EB EB EB ED EB ED E5 EF EB E7 97 E7 - .byte $EE, $E5, $EB, $E7, $EE, $EB, $EE, $E5, $EC, $EE, $E7, $EC, $EE, $EC, $EA, $FF ; CPU:$8F8C PRG:0F8C EE E5 EB E7 EE EB EE E5 EC EE E7 EC EE EC EA FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B1, $B1, $D5, $ED, $EF, $E6, $ED, $E8, $FF ; CPU:$8F9C PRG:0F9C FF FF FF FF FF FF 7A B1 B1 D5 ED EF E6 ED E8 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2, $D6, $EE, $E7, $E4, $E5, $E5, $FF ; CPU:$8FAC PRG:0FAC FF FF FF FF FF FF FF 7E B2 D6 EE E7 E4 E5 E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B3, $D4, $E4, $ED, $E5, $E5, $EB, $FF ; CPU:$8FBC PRG:0FBC FF FF FF FF FF FF FF 7D B3 D4 E4 ED E5 E5 EB FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B2, $B1, $CE, $EC, $E4, $E5, $EB, $E5, $FF ; CPU:$8FCC PRG:0FCC FF FF FF FF FF FF 7D B2 B1 CE EC E4 E5 EB E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $7A, $B3, $B2, $D7, $EB, $EA, $EB, $E5, $E5, $EC, $FF ; CPU:$8FDC PRG:0FDC FF FF FF FF FF 7A B3 B2 D7 EB EA EB E5 E5 EC FF - .byte $FF, $FF, $FF, $FF, $FF, $7B, $B2, $B1, $D5, $EA, $E4, $E5, $E5, $EB, $E5, $FF ; CPU:$8FEC PRG:0FEC FF FF FF FF FF 7B B2 B1 D5 EA E4 E5 E5 EB E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2, $D6, $E8, $EB, $EC, $EB, $E5, $E5, $FF ; CPU:$8FFC PRG:0FFC FF FF FF FF FF FF 7E B2 D6 E8 EB EC EB E5 E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B0, $D4, $EC, $ED, $EF, $E4, $EE, $E5, $FF ; CPU:$900C PRG:100C FF FF FF FF FF FF 7A B0 D4 EC ED EF E4 EE E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2, $CC, $EE, $EB, $E6, $E7, $EE, $FF ; CPU:$901C PRG:101C FF FF FF FF FF FF FF 7E B2 CC EE EB E6 E7 EE FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7B, $B3, $B2, $C4, $C6, $C1, $C0, $C7, $FF ; CPU:$902C PRG:102C FF FF FF FF FF FF FF 7B B3 B2 C4 C6 C1 C0 C7 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B1, $B0, $B2, $B0, $B2, $B2, $B1, $FF ; CPU:$903C PRG:103C FF FF FF FF FF FF FF 7D B1 B0 B2 B0 B2 B2 B1 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B1, $B2, $B2, $B0, $B2, $B3, $B0, $B3, $FF ; CPU:$904C PRG:104C FF FF FF FF FF FF 7A B1 B2 B2 B0 B2 B3 B0 B3 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B0, $B3, $B2, $B3, $B1, $B2, $D2, $D1, $FF ; CPU:$905C PRG:105C FF FF FF FF FF FF 7D B0 B3 B2 B3 B1 B2 D2 D1 FF - .byte $FF, $FF, $FF, $FF, $FF, $7D, $B2, $D0, $D0, $D2, $D1, $D3, $CE, $ED, $EF, $FF ; CPU:$906C PRG:106C FF FF FF FF FF 7D B2 D0 D0 D2 D1 D3 CE ED EF FF - .byte $FF, $FF, $FF, $FF, $7A, $B1, $D7, $E4, $ED, $E8, $E8, $EF, $E6, $EE, $E7, $EC ; CPU:$907C PRG:107C FF FF FF FF 7A B1 D7 E4 ED E8 E8 EF E6 EE E7 EC - .byte $ED, $E5, $EF, $E8, $E8, $ED, $E5, $EF, $E6, $ED, $EB, $E7, $EB, $EA, $EB, $E5 ; CPU:$908C PRG:108C ED E5 EF E8 E8 ED E5 EF E6 ED EB E7 EB EA EB E5 - .byte $E5, $ED, $E5, $E5, $EB, $E5, $EF, $EB, $E7, $E4, $EC, $9B, $9A, $9F, $98, $E5 ; CPU:$909C PRG:109C E5 ED E5 E5 EB E5 EF EB E7 E4 EC 9B 9A 9F 98 E5 - .byte $E4, $E5, $E4, $E5, $E5, $E5, $E5, $EC, $E6, $EB, $8B, $FF, $FF, $FF, $FF, $E5 ; CPU:$90AC PRG:10AC E4 E5 E4 E5 E5 E5 E5 EC E6 EB 8B FF FF FF FF E5 - .byte $EE, $E5, $E5, $EB, $E4, $EB, $E7, $E4, $E7, $8B, $FF, $88, $97, $92, $93, $EE ; CPU:$90BC PRG:10BC EE E5 E5 EB E4 EB E7 E4 E7 8B FF 88 97 92 93 EE - .byte $E4, $EB, $EE, $E4, $E7, $EC, $EB, $EB, $8B, $FF, $88, $ED, $EF, $ED, $EF, $9E ; CPU:$90CC PRG:10CC E4 EB EE E4 E7 EC EB EB 8B FF 88 ED EF ED EF 9E - .byte $9F, $98, $9A, $9B, $98, $9A, $9F, $9D, $FF, $8E, $ED, $EB, $ED, $E5, $E5, $FF ; CPU:$90DC PRG:10DC 9F 98 9A 9B 98 9A 9F 9D FF 8E ED EB ED E5 E5 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $8D, $EC, $E8, $EE, $E5, $90 ; CPU:$90EC PRG:10EC FF FF FF FF FF FF FF FF FF FF 8D EC E8 EE E5 90 - .byte $90, $92, $93, $92, $97, $96, $93, $92, $89, $FF, $8C, $E4, $EB, $E4, $EE, $E8 ; CPU:$90FC PRG:10FC 90 92 93 92 97 96 93 92 89 FF 8C E4 EB E4 EE E8 - .byte $EB, $E5, $EB, $EB, $EC, $EB, $E8, $EB, $EF, $89, $FF, $9C, $98, $9E, $E4, $E5 ; CPU:$910C PRG:110C EB E5 EB EB EC EB E8 EB EF 89 FF 9C 98 9E E4 E5 - .byte $EE, $E7, $EB, $E7, $E9, $E5, $EB, $E5, $EB, $E4, $89, $FF, $FF, $FF, $9C, $C9 ; CPU:$911C PRG:111C EE E7 EB E7 E9 E5 EB E5 EB E4 89 FF FF FF 9C C9 - .byte $C0, $CC, $CA, $CB, $EB, $E6, $EE, $EE, $E5, $EF, $E9, $97, $90, $95, $FF, $B0 ; CPU:$912C PRG:112C C0 CC CA CB EB E6 EE EE E5 EF E9 97 90 95 FF B0 - .byte $B1, $B2, $B3, $B2, $C7, $C5, $CC, $EB, $EE, $EB, $E4, $E8, $E8, $E4, $89, $74 ; CPU:$913C PRG:113C B1 B2 B3 B2 C7 C5 CC EB EE EB E4 E8 E8 E4 89 74 - .byte $76, $75, $7E, $B3, $B2, $B1, $B0, $C1, $E0, $E7, $ED, $E5, $E5, $EF, $EA, $FF ; CPU:$914C PRG:114C 76 75 7E B3 B2 B1 B0 C1 E0 E7 ED E5 E5 EF EA FF - .byte $FF, $FF, $FF, $76, $77, $7E, $B2, $B3, $D6, $ED, $E5, $E5, $EC, $E5, $E7, $FF ; CPU:$915C PRG:115C FF FF FF 76 77 7E B2 B3 D6 ED E5 E5 EC E5 E7 FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2, $B0, $E0, $EE, $E7, $EB, $EC, $E7, $B0 ; CPU:$916C PRG:116C FF FF FF FF FF FF 7E B2 B0 E0 EE E7 EB EC E7 B0 - .byte $B3, $B2, $FA, $B2, $D2, $D1, $D3, $B2, $FA, $B3, $FA, $B1, $B2, $B2, $FA, $FA ; CPU:$917C PRG:117C B3 B2 FA B2 D2 D1 D3 B2 FA B3 FA B1 B2 B2 FA FA - .byte $B3, $B1, $FA, $CE, $EA, $EA, $E4, $6F, $D0, $D2, $D1, $D3, $B0, $FA, $D0, $B0 ; CPU:$918C PRG:118C B3 B1 FA CE EA EA E4 6F D0 D2 D1 D3 B0 FA D0 B0 - .byte $B2, $FA, $D4, $E6, $E4, $E8, $E8, $EF, $E6, $EA, $E8, $E6, $CF, $CE, $E8, $B3 ; CPU:$919C PRG:119C B2 FA D4 E6 E4 E8 E8 EF E6 EA E8 E6 CF CE E8 B3 - .byte $B2, $FA, $D7, $E9, $E4, $E5, $E5, $E5, $EF, $ED, $E5, $EF, $E6, $EA, $E7, $B0 ; CPU:$91AC PRG:11AC B2 FA D7 E9 E4 E5 E5 E5 EF ED E5 EF E6 EA E7 B0 - .byte $B2, $B1, $D5, $EA, $EA, $E5, $E5, $E5, $E5, $EC, $EE, $EC, $E9, $E8, $EF, $FA ; CPU:$91BC PRG:11BC B2 B1 D5 EA EA E5 E5 E5 E5 EC EE EC E9 E8 EF FA - .byte $B0, $B2, $D6, $E9, $E6, $EE, $E5, $E5, $E7, $EA, $E5, $E7, $ED, $E5, $E7, $B3 ; CPU:$91CC PRG:11CC B0 B2 D6 E9 E6 EE E5 E5 E7 EA E5 E7 ED E5 E7 B3 - .byte $FA, $B1, $FA, $CC, $EA, $E9, $E6, $EC, $EA, $E9, $EE, $EE, $E5, $E5, $EC, $B2 ; CPU:$91DC PRG:11DC FA B1 FA CC EA E9 E6 EC EA E9 EE EE E5 E5 EC B2 - .byte $B1, $B2, $B3, $FA, $C4, $C5, $C7, $CB, $EE, $E4, $E8, $E6, $EE, $EC, $E6, $B0 ; CPU:$91EC PRG:11EC B1 B2 B3 FA C4 C5 C7 CB EE E4 E8 E6 EE EC E6 B0 - .byte $B2, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $C1, $CC, $EE, $E4, $EC, $E4, $EA, $FA ; CPU:$91FC PRG:11FC B2 FA FA FA FA FA FA FA C1 CC EE E4 EC E4 EA FA - .byte $FA, $FA, $F7, $FA, $FA, $FA, $F7, $FA, $FA, $FA, $C4, $C2, $C5, $CC, $E4, $FA ; CPU:$920C PRG:120C FA FA F7 FA FA FA F7 FA FA FA C4 C2 C5 CC E4 FA - .byte $DD, $FA, $FA, $FA, $DD, $F8, $FA, $FA, $FA, $DD, $FA, $FA, $B0, $B3, $C8, $FA ; CPU:$921C PRG:121C DD FA FA FA DD F8 FA FA FA DD FA FA B0 B3 C8 FA - .byte $F6, $FA, $FA, $DD, $FA, $F6, $FA, $DD, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $F5 ; CPU:$922C PRG:122C F6 FA FA DD FA F6 FA DD FA FA FA FA FA FA FA F5 - .byte $FA, $FA, $FA, $F7, $F8, $F7, $F6, $F8, $FA, $DD, $FA, $F7, $FA, $F5, $FA, $FA ; CPU:$923C PRG:123C FA FA FA F7 F8 F7 F6 F8 FA DD FA F7 FA F5 FA FA - .byte $DD, $F6, $F8, $FA, $DD, $FA, $F6, $DD, $F4, $F7, $F7, $FA, $F8, $FA, $F1, $F6 ; CPU:$924C PRG:124C DD F6 F8 FA DD FA F6 DD F4 F7 F7 FA F8 FA F1 F6 - .byte $F1, $DD, $F6, $F7, $F5, $F6, $F8, $F7, $FA, $F6, $F8, $DD, $F8, $F6, $F3, $F4 ; CPU:$925C PRG:125C F1 DD F6 F7 F5 F6 F8 F7 FA F6 F8 DD F8 F6 F3 F4 - .byte $F2, $FA, $F3, $F0, $F2, $F4, $F0, $F5, $F3, $FA, $F2, $F4, $F3, $F1, $F0, $F5 ; CPU:$926C PRG:126C F2 FA F3 F0 F2 F4 F0 F5 F3 FA F2 F4 F3 F1 F0 F5 - .byte $F3, $F5, $FA, $F2, $F3, $F1, $F3, $F2, $FA, $F0, $F3, $F0, $F0, $F2, $FA, $F2 ; CPU:$927C PRG:127C F3 F5 FA F2 F3 F1 F3 F2 FA F0 F3 F0 F0 F2 FA F2 - .byte $F4, $D0, $D0, $D0, $F5, $F2, $F0, $F4, $F0, $F5, $F4, $F1, $F2, $F1, $F7, $F5 ; CPU:$928C PRG:128C F4 D0 D0 D0 F5 F2 F0 F4 F0 F5 F4 F1 F2 F1 F7 F5 - .byte $D7, $9F, $99, $9E, $DB, $F4, $F3, $F2, $F1, $F5, $F1, $F0, $F3, $F5, $F4, $F4 ; CPU:$929C PRG:129C D7 9F 99 9E DB F4 F3 F2 F1 F5 F1 F0 F3 F5 F4 F4 - .byte $D5, $FF, $FF, $88, $DA, $F0, $F2, $F5, $FA, $F2, $F4, $F5, $FA, $F8, $F7, $F0 ; CPU:$92AC PRG:12AC D5 FF FF 88 DA F0 F2 F5 FA F2 F4 F5 FA F8 F7 F0 - .byte $D6, $97, $96, $CD, $F4, $F3, $F1, $F4, $F0, $FA, $F1, $F8, $F6, $DD, $F6, $FA ; CPU:$92BC PRG:12BC D6 97 96 CD F4 F3 F1 F4 F0 FA F1 F8 F6 DD F6 FA - .byte $F5, $C1, $C0, $F2, $F1, $F5, $FA, $F5, $FA, $F4, $F3, $FA, $F8, $FA, $F5, $FA ; CPU:$92CC PRG:12CC F5 C1 C0 F2 F1 F5 FA F5 FA F4 F3 FA F8 FA F5 FA - .byte $DD, $F3, $F1, $F8, $DD, $F3, $F6, $F2, $F7, $DD, $F6, $F8, $FA, $FA, $FA, $DD ; CPU:$92DC PRG:12DC DD F3 F1 F8 DD F3 F6 F2 F7 DD F6 F8 FA FA FA DD - .byte $FA, $F6, $F7, $DD, $F6, $F8, $F7, $FA, $F8, $F6, $F8, $FA, $FA, $F4, $FA, $FA ; CPU:$92EC PRG:12EC FA F6 F7 DD F6 F8 F7 FA F8 F6 F8 FA FA F4 FA FA - .byte $F7, $F8, $DD, $FA, $F8, $FA, $F6, $DD, $DD, $F7, $FA, $FA, $DD, $FA, $FA, $F4 ; CPU:$92FC PRG:12FC F7 F8 DD FA F8 FA F6 DD DD F7 FA FA DD FA FA F4 - .byte $FA, $FA, $FA, $F6, $DD, $F7, $FA, $F8, $FA, $FA, $FA, $FA, $FA, $F4, $FA, $FA ; CPU:$930C PRG:130C FA FA FA F6 DD F7 FA F8 FA FA FA FA FA F4 FA FA - .byte $FA, $DD, $FA, $FA, $F7, $F6, $FA, $FA, $DD, $F7, $FA, $FA, $FA, $B0, $B2, $FA ; CPU:$931C PRG:131C FA DD FA FA F7 F6 FA FA DD F7 FA FA FA B0 B2 FA - .byte $FA, $FA, $F4, $FA, $DD, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $B2, $B1, $FA, $B0 ; CPU:$932C PRG:132C FA FA F4 FA DD FA FA FA FA FA FA FA B2 B1 FA B0 - .byte $FA, $FA, $F7, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $B2, $B3, $FA, $B2, $B0, $FA ; CPU:$933C PRG:133C FA FA F7 FA FA FA FA FA FA FA B2 B3 FA B2 B0 FA - .byte $B1, $B2, $FA, $FA, $FA, $B3, $FA, $B2, $B1, $FA, $B0, $FA, $B2, $B0, $B1, $D0 ; CPU:$934C PRG:134C B1 B2 FA FA FA B3 FA B2 B1 FA B0 FA B2 B0 B1 D0 - .byte $D0, $FA, $B3, $D0, $FA, $B2, $FA, $B2, $B1, $FA, $D0, $FA, $B0, $FA, $B2, $EF ; CPU:$935C PRG:135C D0 FA B3 D0 FA B2 FA B2 B1 FA D0 FA B0 FA B2 EF - .byte $E6, $E3, $E2, $E6, $CF, $FA, $B0, $FA, $D2, $E2, $EA, $E3, $D3, $D2, $D1, $E5 ; CPU:$936C PRG:136C E6 E3 E2 E6 CF FA B0 FA D2 E2 EA E3 D3 D2 D1 E5 - .byte $EF, $E8, $EA, $E9, $EA, $D8, $B2, $CE, $E6, $ED, $E8, $E6, $EA, $ED, $EF, $E5 ; CPU:$937C PRG:137C EF E8 EA E9 EA D8 B2 CE E6 ED E8 E6 EA ED EF E5 - .byte $E5, $E5, $EC, $E4, $CD, $B3, $D4, $E4, $EF, $E4, $E5, $EF, $E8, $E5, $E5, $E5 ; CPU:$938C PRG:138C E5 E5 EC E4 CD B3 D4 E4 EF E4 E5 EF E8 E5 E5 E5 - .byte $E5, $E7, $E6, $E9, $DB, $B0, $B1, $CC, $E6, $EE, $E5, $E5, $E5, $E5, $E5, $E5 ; CPU:$939C PRG:139C E5 E7 E6 E9 DB B0 B1 CC E6 EE E5 E5 E5 E5 E5 E5 - .byte $EC, $E4, $E9, $EA, $D9, $FA, $B2, $D4, $EE, $E5, $EE, $EE, $E5, $E5, $E5, $E7 ; CPU:$93AC PRG:13AC EC E4 E9 EA D9 FA B2 D4 EE E5 EE EE E5 E5 E5 E7 - .byte $EA, $E6, $EA, $E4, $DA, $B0, $B3, $B2, $CC, $EE, $EC, $E4, $EC, $ED, $EC, $CB ; CPU:$93BC PRG:13BC EA E6 EA E4 DA B0 B3 B2 CC EE EC E4 EC ED EC CB - .byte $EE, $E7, $E4, $E6, $D8, $B1, $FA, $B3, $B2, $C4, $C2, $CB, $EE, $E4, $E6, $FA ; CPU:$93CC PRG:13CC EE E7 E4 E6 D8 B1 FA B3 B2 C4 C2 CB EE E4 E6 FA - .byte $C8, $CB, $EC, $CD, $FA, $B0, $FA, $FA, $B2, $B3, $B1, $FA, $C8, $C9, $C4, $FA ; CPU:$93DC PRG:13DC C8 CB EC CD FA B0 FA FA B2 B3 B1 FA C8 C9 C4 FA - .byte $FA, $FA, $C1, $FA, $FA, $FA, $FA, $FA, $FA, $B2, $FA, $FA, $B2, $FA, $B0, $FA ; CPU:$93EC PRG:13EC FA FA C1 FA FA FA FA FA FA B2 FA FA B2 FA B0 FA - .byte $FA, $FA, $FA, $DD, $FA, $FA, $FA, $F7, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA ; CPU:$93FC PRG:13FC FA FA FA DD FA FA FA F7 FA FA FA FA FA FA FA FA - .byte $F7, $F4, $F6, $FA, $FA, $F6, $F5, $FA, $F8, $FA, $FA, $FA, $DD, $FA, $FA, $FA ; CPU:$940C PRG:140C F7 F4 F6 FA FA F6 F5 FA F8 FA FA FA DD FA FA FA - .byte $FA, $F8, $F5, $F4, $FA, $FA, $F7, $FA, $DD, $FA, $F7, $FA, $F5, $DD, $FA, $FA ; CPU:$941C PRG:141C FA F8 F5 F4 FA FA F7 FA DD FA F7 FA F5 DD FA FA - .byte $F6, $FA, $F3, $F2, $FA, $F4, $FA, $F1, $FA, $F3, $F6, $FA, $F6, $FA, $F4, $F8 ; CPU:$942C PRG:142C F6 FA F3 F2 FA F4 FA F1 FA F3 F6 FA F6 FA F4 F8 - .byte $DD, $F1, $F5, $F4, $F0, $F5, $F1, $F2, $F3, $F4, $DD, $F1, $F2, $F4, $FA, $6D ; CPU:$943C PRG:143C DD F1 F5 F4 F0 F5 F1 F2 F3 F4 DD F1 F2 F4 FA 6D - .byte $F9, $6E, $6D, $F9, $6D, $F9, $6E, $FB, $6E, $FB, $FC, $FB, $FB, $6D, $F9, $FB ; CPU:$944C PRG:144C F9 6E 6D F9 6D F9 6E FB 6E FB FC FB FB 6D F9 FB - .byte $6E, $FB, $FC, $6F, $F9, $6E, $F9, $6D, $F9, $FC, $6D, $FC, $F9, $FB, $6D, $FC ; CPU:$945C PRG:145C 6E FB FC 6F F9 6E F9 6D F9 FC 6D FC F9 FB 6D FC - .byte $F9, $6E, $6F, $FC, $FB, $6F, $FB, $FC, $6D, $F9, $F9, $FB, $FC, $6F, $F9, $F9 ; CPU:$946C PRG:146C F9 6E 6F FC FB 6F FB FC 6D F9 F9 FB FC 6F F9 F9 - .byte $FC, $6F, $F9, $F9, $6F, $F9, $6F, $F9, $F9, $6D, $FB, $FC, $F9, $6E, $F9, $6F ; CPU:$947C PRG:147C FC 6F F9 F9 6F F9 6F F9 F9 6D FB FC F9 6E F9 6F - .byte $FB, $F9, $6D, $6F, $F9, $6D, $F9, $6D, $6F, $FC, $6E, $FB, $6E, $FB, $6D, $FB ; CPU:$948C PRG:148C FB F9 6D 6F F9 6D F9 6D 6F FC 6E FB 6E FB 6D FB - .byte $FC, $FB, $F9, $F9, $59, $56, $57, $5C, $F9, $6F, $F9, $6D, $FC, $6F, $FB, $FC ; CPU:$949C PRG:149C FC FB F9 F9 59 56 57 5C F9 6F F9 6D FC 6F FB FC - .byte $6F, $F9, $F9, $5D, $03, $00, $02, $69, $6D, $F9, $FB, $6F, $6D, $FB, $F9, $F9 ; CPU:$94AC PRG:14AC 6F F9 F9 5D 03 00 02 69 6D F9 FB 6F 6D FB F9 F9 - .byte $F9, $6D, $F9, $68, $00, $01, $00, $6B, $F9, $6E, $6D, $FB, $F9, $FC, $6E, $F9 ; CPU:$94BC PRG:14BC F9 6D F9 68 00 01 00 6B F9 6E 6D FB F9 FC 6E F9 - .byte $6E, $F9, $5D, $00, $03, $02, $00, $69, $F9, $6D, $F9, $6E, $FC, $6D, $6D, $50 ; CPU:$94CC PRG:14CC 6E F9 5D 00 03 02 00 69 F9 6D F9 6E FC 6D 6D 50 - .byte $52, $55, $03, $02, $00, $00, $01, $00, $58, $F9, $6F, $F9, $6D, $FB, $F9, $00 ; CPU:$94DC PRG:14DC 52 55 03 02 00 00 01 00 58 F9 6F F9 6D FB F9 00 - .byte $02, $01, $01, $00, $03, $00, $02, $01, $69, $F9, $F9, $6E, $F9, $6F, $F9, $02 ; CPU:$94EC PRG:14EC 02 01 01 00 03 00 02 01 69 F9 F9 6E F9 6F F9 02 - .byte $00, $00, $00, $02, $00, $03, $00, $00, $02, $51, $5A, $F9, $6F, $6D, $6E, $00 ; CPU:$94FC PRG:14FC 00 00 00 02 00 03 00 00 02 51 5A F9 6F 6D 6E 00 - .byte $02, $02, $00, $03, $00, $00, $02, $00, $00, $03, $01, $58, $F9, $6F, $F9, $03 ; CPU:$950C PRG:150C 02 02 00 03 00 00 02 00 00 03 01 58 F9 6F F9 03 - .byte $00, $00, $01, $00, $00, $01, $02, $00, $03, $00, $00, $02, $54, $55, $50, $00 ; CPU:$951C PRG:151C 00 00 01 00 00 01 02 00 03 00 00 02 54 55 50 00 - .byte $00, $03, $00, $02, $01, $00, $00, $01, $00, $00, $01, $00, $01, $00, $01, $E8 ; CPU:$952C PRG:152C 00 03 00 02 01 00 00 01 00 00 01 00 01 00 01 E8 - .byte $EF, $E6, $EA, $EB, $E7, $EB, $E6, $E4, $EC, $E6, $CA, $C9, $C4, $C2, $C9, $E5 ; CPU:$953C PRG:153C EF E6 EA EB E7 EB E6 E4 EC E6 CA C9 C4 C2 C9 E5 - .byte $E5, $EF, $EB, $E6, $EA, $CA, $C9, $C4, $C5, $C1, $B0, $B2, $7F, $76, $75, $EB ; CPU:$954C PRG:154C E5 EF EB E6 EA CA C9 C4 C5 C1 B0 B2 7F 76 75 EB - .byte $E5, $E5, $EC, $E4, $EB, $D8, $B1, $FA, $B1, $B3, $FA, $B1, $7C, $FF, $FF, $E5 ; CPU:$955C PRG:155C E5 E5 EC E4 EB D8 B1 FA B1 B3 FA B1 7C FF FF E5 - .byte $E5, $EB, $E7, $CA, $C9, $B0, $7F, $76, $77, $7E, $B0, $B2, $B3, $7C, $70, $E5 ; CPU:$956C PRG:156C E5 EB E7 CA C9 B0 7F 76 77 7E B0 B2 B3 7C 70 E5 - .byte $E5, $EC, $CD, $B3, $B2, $7F, $FF, $FF, $FF, $FF, $7E, $B0, $FA, $B1, $B2, $E5 ; CPU:$957C PRG:157C E5 EC CD B3 B2 7F FF FF FF FF 7E B0 FA B1 B2 E5 - .byte $E7, $EB, $DB, $FA, $B1, $7C, $70, $FF, $FF, $FF, $81, $B2, $A4, $A2, $A3, $EE ; CPU:$958C PRG:158C E7 EB DB FA B1 7C 70 FF FF FF 81 B2 A4 A2 A3 EE - .byte $EB, $E4, $D9, $B3, $B0, $FA, $B2, $7C, $FF, $FF, $80, $FA, $AE, $6F, $FC, $E4 ; CPU:$959C PRG:159C EB E4 D9 B3 B0 FA B2 7C FF FF 80 FA AE 6F FC E4 - .byte $E6, $E7, $DA, $B1, $FA, $B0, $B3, $B1, $7C, $71, $7D, $B3, $AE, $FC, $6F, $C8 ; CPU:$95AC PRG:15AC E6 E7 DA B1 FA B0 B3 B1 7C 71 7D B3 AE FC 6F C8 - .byte $C3, $C6, $B0, $B2, $B1, $A4, $A2, $A7, $B2, $B0, $B0, $A6, $6F, $6E, $F9, $FA ; CPU:$95BC PRG:15BC C3 C6 B0 B2 B1 A4 A2 A7 B2 B0 B0 A6 6F 6E F9 FA - .byte $B3, $B2, $A4, $A2, $A1, $FC, $6E, $6D, $A3, $A0, $A2, $6D, $FB, $6F, $FC, $B2 ; CPU:$95CC PRG:15CC B3 B2 A4 A2 A1 FC 6E 6D A3 A0 A2 6D FB 6F FC B2 - .byte $B1, $A6, $F9, $6D, $FB, $6D, $6D, $FB, $6D, $F9, $FC, $FB, $FC, $F9, $6F, $A4 ; CPU:$95DC PRG:15DC B1 A6 F9 6D FB 6D 6D FB 6D F9 FC FB FC F9 6F A4 - .byte $A2, $6F, $6E, $FB, $FC, $6E, $FB, $F9, $F9, $6D, $F9, $6E, $F9, $6E, $F9, $F9 ; CPU:$95EC PRG:15EC A2 6F 6E FB FC 6E FB F9 F9 6D F9 6E F9 6E F9 F9 - .byte $FC, $FB, $6F, $F9, $6D, $FB, $6D, $6E, $FB, $FB, $6D, $6F, $FB, $6F, $F9, $FC ; CPU:$95FC PRG:15FC FC FB 6F F9 6D FB 6D 6E FB FB 6D 6F FB 6F F9 FC - .byte $6F, $6D, $F9, $6D, $F9, $6F, $FB, $F9, $6D, $6E, $FC, $FB, $FC, $FB, $FC, $6F ; CPU:$960C PRG:160C 6F 6D F9 6D F9 6F FB F9 6D 6E FC FB FC FB FC 6F - .byte $F9, $FC, $6D, $FB, $FC, $6E, $6E, $FB, $6D, $FC, $6F, $FB, $F9, $FC, $6D, $02 ; CPU:$961C PRG:161C F9 FC 6D FB FC 6E 6E FB 6D FC 6F FB F9 FC 6D 02 - .byte $00, $02, $00, $03, $01, $02, $00, $02, $00, $02, $03, $00, $01, $00, $03, $00 ; CPU:$962C PRG:162C 00 02 00 03 01 02 00 02 00 02 03 00 01 00 03 00 - .byte $01, $02, $01, $00, $01, $00, $02, $00, $03, $03, $00, $01, $00, $02, $00, $01 ; CPU:$963C PRG:163C 01 02 01 00 01 00 02 00 03 03 00 01 00 02 00 01 - .byte $00, $02, $02, $03, $00, $03, $00, $02, $00, $01, $00, $94, $96, $97, $91, $00 ; CPU:$964C PRG:164C 00 02 02 03 00 03 00 02 00 01 00 94 96 97 91 00 - .byte $03, $01, $00, $00, $02, $03, $00, $01, $00, $94, $96, $EB, $ED, $EB, $EF, $01 ; CPU:$965C PRG:165C 03 01 00 00 02 03 00 01 00 94 96 EB ED EB EF 01 - .byte $02, $00, $03, $00, $00, $01, $02, $00, $8E, $ED, $EB, $EA, $ED, $E5, $E5, $00 ; CPU:$966C PRG:166C 02 00 03 00 00 01 02 00 8E ED EB EA ED E5 E5 00 - .byte $02, $03, $00, $01, $94, $91, $92, $89, $88, $EB, $EB, $ED, $E5, $E5, $E5, $01 ; CPU:$967C PRG:167C 02 03 00 01 94 91 92 89 88 EB EB ED E5 E5 E5 01 - .byte $00, $02, $00, $8E, $EB, $ED, $E8, $EB, $EB, $EC, $E9, $E5, $EF, $E5, $EC, $00 ; CPU:$968C PRG:168C 00 02 00 8E EB ED E8 EB EB EC E9 E5 EF E5 EC 00 - .byte $01, $00, $02, $88, $EA, $ED, $E5, $EF, $E7, $E6, $EA, $E5, $E5, $ED, $E5, $90 ; CPU:$969C PRG:169C 01 00 02 88 EA ED E5 EF E7 E6 EA E5 E5 ED E5 90 - .byte $92, $93, $96, $E8, $EF, $E5, $EB, $E5, $EB, $EF, $E4, $EE, $E5, $E5, $E5, $EB ; CPU:$96AC PRG:16AC 92 93 96 E8 EF E5 EB E5 EB EF E4 EE E5 E5 E5 EB - .byte $E6, $EB, $EE, $EB, $EC, $EE, $E5, $E5, $E5, $EC, $E6, $E9, $EE, $E5, $E5, $E9 ; CPU:$96BC PRG:16BC E6 EB EE EB EC EE E5 E5 E5 EC E6 E9 EE E5 E5 E9 - .byte $EB, $E9, $EA, $EC, $E8, $E5, $EE, $EC, $E7, $EA, $E9, $ED, $EB, $EF, $EC, $EA ; CPU:$96CC PRG:16CC EB E9 EA EC E8 E5 EE EC E7 EA E9 ED EB EF EC EA - .byte $E4, $E6, $E4, $CA, $C6, $C8, $CB, $EE, $EB, $E6, $E8, $E4, $E5, $E5, $EF, $EB ; CPU:$96DC PRG:16DC E4 E6 E4 CA C6 C8 CB EE EB E6 E8 E4 E5 E5 EF EB - .byte $CA, $C3, $C6, $B0, $FE, $B1, $B2, $CC, $E7, $E9, $EB, $EE, $EB, $EC, $EA, $C1 ; CPU:$96EC PRG:16EC CA C3 C6 B0 FE B1 B2 CC E7 E9 EB EE EB EC EA C1 - .byte $B2, $B3, $FA, $B3, $FA, $B2, $FD, $B3, $C4, $C6, $C8, $CB, $E6, $EB, $E4, $B2 ; CPU:$96FC PRG:16FC B2 B3 FA B3 FA B2 FD B3 C4 C6 C8 CB E6 EB E4 B2 - .byte $FD, $FE, $B0, $FE, $FA, $B1, $B2, $FE, $B0, $B2, $FA, $B1, $C4, $C5, $C0, $D0 ; CPU:$970C PRG:170C FD FE B0 FE FA B1 B2 FE B0 B2 FA B1 C4 C5 C0 D0 - .byte $D0, $B2, $B0, $B2, $FA, $B2, $B3, $78, $7B, $B2, $FA, $B2, $B0, $B0, $FA, $E6 ; CPU:$971C PRG:171C D0 B2 B0 B2 FA B2 B3 78 7B B2 FA B2 B0 B0 FA E6 - .byte $E4, $E3, $D3, $D0, $B1, $B1, $7F, $FF, $7D, $B1, $B0, $FA, $FA, $B2, $B1, $E5 ; CPU:$972C PRG:172C E4 E3 D3 D0 B1 B1 7F FF 7D B1 B0 FA FA B2 B1 E5 - .byte $EA, $EB, $E4, $EB, $DA, $FA, $79, $7A, $B3, $FA, $B2, $B3, $D0, $D2, $D1, $EE ; CPU:$973C PRG:173C EA EB E4 EB DA FA 79 7A B3 FA B2 B3 D0 D2 D1 EE - .byte $E5, $E5, $EC, $EB, $D9, $B3, $79, $81, $B1, $B0, $D2, $E2, $EB, $ED, $EF, $EA ; CPU:$974C PRG:174C E5 E5 EC EB D9 B3 79 81 B1 B0 D2 E2 EB ED EF EA - .byte $EE, $EC, $EB, $ED, $DA, $B0, $78, $80, $B2, $CE, $EB, $EA, $ED, $E5, $E5, $CB ; CPU:$975C PRG:175C EE EC EB ED DA B0 78 80 B2 CE EB EA ED E5 E5 CB - .byte $EB, $CA, $C2, $C5, $FA, $7F, $FF, $7D, $D4, $E4, $EB, $EE, $E5, $E5, $E5, $FA ; CPU:$976C PRG:176C EB CA C2 C5 FA 7F FF 7D D4 E4 EB EE E5 E5 E5 FA - .byte $C1, $B2, $B0, $B2, $B1, $78, $7A, $B2, $FA, $E0, $EA, $EB, $EE, $E5, $E5, $B3 ; CPU:$977C PRG:177C C1 B2 B0 B2 B1 78 7A B2 FA E0 EA EB EE E5 E5 B3 - .byte $B2, $B1, $FA, $B3, $7F, $FF, $7D, $B1, $B2, $D6, $E4, $E6, $EB, $EC, $EB, $77 ; CPU:$978C PRG:178C B2 B1 FA B3 7F FF 7D B1 B2 D6 E4 E6 EB EC EB 77 - .byte $76, $75, $74, $74, $70, $7D, $B0, $FA, $B2, $B3, $C1, $C0, $C7, $CB, $EC, $70 ; CPU:$979C PRG:179C 76 75 74 74 70 7D B0 FA B2 B3 C1 C0 C7 CB EC 70 - .byte $71, $72, $73, $7D, $B3, $B2, $FA, $B2, $B0, $B3, $FA, $B1, $B2, $B1, $C4, $B3 ; CPU:$97AC PRG:17AC 71 72 73 7D B3 B2 FA B2 B0 B3 FA B1 B2 B1 C4 B3 - .byte $B2, $FA, $B2, $FA, $B1, $B0, $B3, $FA, $B1, $B2, $B0, $D0, $B3, $FA, $B0, $D1 ; CPU:$97BC PRG:17BC B2 FA B2 FA B1 B0 B3 FA B1 B2 B0 D0 B3 FA B0 D1 - .byte $D3, $B1, $B2, $B0, $FA, $FA, $B2, $B3, $D0, $D2, $E2, $E8, $E3, $E2, $CF, $E4 ; CPU:$97CC PRG:17CC D3 B1 B2 B0 FA FA B2 B3 D0 D2 E2 E8 E3 E2 CF E4 - .byte $EB, $E3, $D3, $FA, $B0, $B2, $B1, $CE, $EF, $EB, $EC, $EB, $E8, $ED, $EF, $EA ; CPU:$97DC PRG:17DC EB E3 D3 FA B0 B2 B1 CE EF EB EC EB E8 ED EF EA - .byte $EC, $E8, $EB, $CF, $D0, $D2, $E2, $EB, $E8, $EE, $E6, $E7, $EB, $EE, $E5, $EB ; CPU:$97EC PRG:17EC EC E8 EB CF D0 D2 E2 EB E8 EE E6 E7 EB EE E5 EB - .byte $E6, $EB, $E6, $E4, $EA, $E4, $ED, $E8, $EB, $E4, $EA, $EB, $EA, $EE, $EC, $B2 ; CPU:$97FC PRG:17FC E6 EB E6 E4 EA E4 ED E8 EB E4 EA EB EA EE EC B2 - .byte $FD, $FA, $FE, $FD, $B2, $FE, $AE, $AF, $B3, $FA, $B2, $B1, $FD, $B1, $B3, $FA ; CPU:$980C PRG:180C FD FA FE FD B2 FE AE AF B3 FA B2 B1 FD B1 B3 FA - .byte $FE, $FA, $B1, $B3, $FD, $B0, $B4, $B7, $A1, $A7, $B3, $FE, $B3, $FD, $B2, $D0 ; CPU:$981C PRG:181C FE FA B1 B3 FD B0 B4 B7 A1 A7 B3 FE B3 FD B2 D0 - .byte $D2, $D1, $D3, $FA, $FD, $B2, $FD, $FA, $AB, $6F, $A3, $A5, $FA, $FD, $B0, $ED ; CPU:$982C PRG:182C D2 D1 D3 FA FD B2 FD FA AB 6F A3 A5 FA FD B0 ED - .byte $E8, $E6, $EA, $D8, $B2, $FD, $FA, $FE, $FD, $B4, $B7, $A8, $A3, $A5, $A4, $E5 ; CPU:$983C PRG:183C E8 E6 EA D8 B2 FD FA FE FD B4 B7 A8 A3 A5 A4 E5 - .byte $E5, $EF, $E9, $CF, $B1, $B0, $FE, $B3, $FE, $B0, $FD, $B0, $AB, $A8, $A9, $E5 ; CPU:$984C PRG:184C E5 EF E9 CF B1 B0 FE B3 FE B0 FD B0 AB A8 A9 E5 - .byte $E5, $E5, $E7, $EB, $D8, $FD, $B1, $FD, $FA, $B0, $B2, $FA, $B2, $B0, $FA, $EE ; CPU:$985C PRG:185C E5 E5 E7 EB D8 FD B1 FD FA B0 B2 FA B2 B0 FA EE - .byte $E5, $EC, $EB, $E6, $D8, $B2, $FD, $B2, $FD, $B2, $FE, $FD, $B1, $FD, $B2, $E8 ; CPU:$986C PRG:186C E5 EC EB E6 D8 B2 FD B2 FD B2 FE FD B1 FD B2 E8 - .byte $EC, $E6, $EA, $CD, $FA, $FD, $FA, $FD, $FE, $B0, $FA, $B3, $B2, $FE, $FD, $E5 ; CPU:$987C PRG:187C EC E6 EA CD FA FD FA FD FE B0 FA B3 B2 FE FD E5 - .byte $E7, $E4, $CD, $B3, $B3, $B0, $FE, $FD, $B2, $B1, $B3, $FA, $FD, $B1, $FA, $EE ; CPU:$988C PRG:188C E7 E4 CD B3 B3 B0 FE FD B2 B1 B3 FA FD B1 FA EE - .byte $EC, $CD, $B1, $FA, $FD, $B2, $B1, $FD, $FA, $B2, $FD, $D2, $D1, $D3, $B3, $E9 ; CPU:$989C PRG:189C EC CD B1 FA FD B2 B1 FD FA B2 FD D2 D1 D3 B3 E9 - .byte $EB, $CF, $D2, $D3, $B1, $FA, $B2, $B0, $B3, $FA, $D4, $E6, $EB, $EA, $E3, $EA ; CPU:$98AC PRG:18AC EB CF D2 D3 B1 FA B2 B0 B3 FA D4 E6 EB EA E3 EA - .byte $E9, $E9, $E6, $CD, $FA, $B2, $FD, $FE, $FA, $D0, $CE, $E9, $EA, $EB, $EA, $E6 ; CPU:$98BC PRG:18BC E9 E9 E6 CD FA B2 FD FE FA D0 CE E9 EA EB EA E6 - .byte $E6, $EA, $E9, $D8, $B2, $FA, $B3, $B2, $CE, $E4, $EA, $EB, $E6, $ED, $E8, $E8 ; CPU:$98CC PRG:18CC E6 EA E9 D8 B2 FA B3 B2 CE E4 EA EB E6 ED E8 E8 - .byte $EF, $E6, $E4, $E3, $D1, $D3, $D2, $E3, $E9, $EB, $E9, $E4, $EB, $EB, $E5, $E5 ; CPU:$98DC PRG:18DC EF E6 E4 E3 D1 D3 D2 E3 E9 EB E9 E4 EB EB E5 E5 - .byte $EC, $E4, $EA, $E9, $E4, $EA, $ED, $EB, $EF, $EB, $EA, $ED, $E6, $EE, $EC, $E3 ; CPU:$98EC PRG:18EC EC E4 EA E9 E4 EA ED EB EF EB EA ED E6 EE EC E3 - .byte $D1, $D3, $D0, $D2, $E2, $CF, $D0, $D2, $D3, $B0, $FA, $B2, $FD, $B2, $B1, $EE ; CPU:$98FC PRG:18FC D1 D3 D0 D2 E2 CF D0 D2 D3 B0 FA B2 FD B2 B1 EE - .byte $EB, $E6, $E8, $E8, $E7, $EB, $EA, $EB, $E6, $DB, $FD, $FE, $B0, $FD, $A4, $E6 ; CPU:$990C PRG:190C EB E6 E8 E8 E7 EB EA EB E6 DB FD FE B0 FD A4 E6 - .byte $EA, $ED, $E5, $E5, $EF, $E9, $EB, $E4, $EB, $DA, $B3, $B2, $A4, $A2, $B6, $EC ; CPU:$991C PRG:191C EA ED E5 E5 EF E9 EB E4 EB DA B3 B2 A4 A2 B6 EC - .byte $E4, $EB, $E7, $EB, $CA, $C6, $CC, $CA, $C9, $FA, $B3, $A6, $B6, $B5, $B0, $C2 ; CPU:$992C PRG:192C E4 EB E7 EB CA C6 CC CA C9 FA B3 A6 B6 B5 B0 C2 - .byte $C3, $C5, $C7, $C6, $FA, $B0, $FE, $B2, $B3, $B0, $A6, $AA, $B3, $B2, $FD, $B1 ; CPU:$993C PRG:193C C3 C5 C7 C6 FA B0 FE B2 B3 B0 A6 AA B3 B2 FD B1 - .byte $FA, $FE, $B2, $B0, $B1, $A6, $A3, $A2, $A3, $A2, $AA, $B3, $B0, $FA, $B1, $B0 ; CPU:$994C PRG:194C FA FE B2 B0 B1 A6 A3 A2 A3 A2 AA B3 B0 FA B1 B0 - .byte $A4, $A0, $A5, $A6, $A1, $A8, $B6, $B5, $B4, $B5, $B1, $FE, $B2, $B0, $FE, $A6 ; CPU:$995C PRG:195C A4 A0 A5 A6 A1 A8 B6 B5 B4 B5 B1 FE B2 B0 FE A6 - .byte $A8, $6F, $6D, $6F, $AA, $B0, $FD, $B3, $B2, $FE, $FD, $B3, $FA, $FD, $B1, $B5 ; CPU:$996C PRG:196C A8 6F 6D 6F AA B0 FD B3 B2 FE FD B3 FA FD B1 B5 - .byte $B1, $B4, $B7, $AF, $B0, $FD, $B2, $FE, $B1, $B3, $B0, $FD, $B3, $B2, $FE, $FE ; CPU:$997C PRG:197C B1 B4 B7 AF B0 FD B2 FE B1 B3 B0 FD B3 B2 FE FE - .byte $B2, $FD, $B0, $AE, $A7, $B3, $FA, $FD, $B2, $FD, $B2, $B1, $FA, $B2, $B3, $B3 ; CPU:$998C PRG:198C B2 FD B0 AE A7 B3 FA FD B2 FD B2 B1 FA B2 B3 B3 - .byte $FA, $FE, $FA, $AB, $AF, $B1, $B2, $FA, $FD, $B1, $FA, $FD, $B1, $B2, $FA, $FE ; CPU:$999C PRG:199C FA FE FA AB AF B1 B2 FA FD B1 FA FD B1 B2 FA FE - .byte $FD, $B3, $B2, $B0, $AE, $A7, $B2, $B0, $FD, $B3, $B2, $B0, $FD, $FA, $B0, $B0 ; CPU:$99AC PRG:19AC FD B3 B2 B0 AE A7 B2 B0 FD B3 B2 B0 FD FA B0 B0 - .byte $B2, $FA, $B1, $FD, $AB, $AF, $B0, $FA, $B1, $B2, $FD, $FE, $FD, $FD, $B3, $FA ; CPU:$99BC PRG:19BC B2 FA B1 FD AB AF B0 FA B1 B2 FD FE FD FD B3 FA - .byte $FD, $B0, $B2, $B1, $FE, $AB, $A7, $B0, $B2, $FD, $B0, $B3, $FD, $FE, $FA, $FE ; CPU:$99CC PRG:19CC FD B0 B2 B1 FE AB A7 B0 B2 FD B0 B3 FD FE FA FE - .byte $B3, $FD, $FA, $FD, $B0, $B3, $AE, $A7, $B3, $FA, $B1, $B3, $FA, $B1, $B3, $00 ; CPU:$99DC PRG:19DC B3 FD FA FD B0 B3 AE A7 B3 FA B1 B3 FA B1 B3 00 - .byte $01, $00, $02, $00, $03, $00, $02, $00, $03, $00, $01, $02, $03, $00, $00, $00 ; CPU:$99EC PRG:19EC 01 00 02 00 03 00 02 00 03 00 01 02 03 00 00 00 - .byte $00, $01, $03, $02, $01, $00, $01, $03, $00, $02, $00, $00, $02, $00, $01, $00 ; CPU:$99FC PRG:19FC 00 01 03 02 01 00 01 03 00 02 00 00 02 00 01 00 - .byte $02, $00, $94, $90, $95, $6C, $00, $00, $01, $00, $02, $00, $01, $03, $00, $02 ; CPU:$9A0C PRG:1A0C 02 00 94 90 95 6C 00 00 01 00 02 00 01 03 00 02 - .byte $94, $96, $E4, $EC, $CD, $AE, $68, $00, $00, $00, $02, $03, $00, $01, $02, $96 ; CPU:$9A1C PRG:1A1C 94 96 E4 EC CD AE 68 00 00 00 02 03 00 01 02 96 - .byte $EA, $EF, $CA, $C9, $A6, $6F, $6A, $00, $01, $03, $00, $01, $03, $02, $00, $EA ; CPU:$9A2C PRG:1A2C EA EF CA C9 A6 6F 6A 00 01 03 00 01 03 02 00 EA - .byte $EE, $CD, $B1, $B0, $AE, $F9, $68, $03, $00, $02, $00, $00, $02, $00, $00, $CA ; CPU:$9A3C PRG:1A3C EE CD B1 B0 AE F9 68 03 00 02 00 00 02 00 00 CA - .byte $C9, $B2, $B0, $A6, $F9, $5D, $02, $00, $00, $00, $01, $02, $00, $02, $00, $B3 ; CPU:$9A4C PRG:1A4C C9 B2 B0 A6 F9 5D 02 00 00 00 01 02 00 02 00 B3 - .byte $FA, $A4, $A2, $6E, $5B, $01, $00, $00, $02, $00, $03, $00, $03, $00, $03, $A3 ; CPU:$9A5C PRG:1A5C FA A4 A2 6E 5B 01 00 00 02 00 03 00 03 00 03 A3 - .byte $A2, $6F, $F9, $6F, $6A, $02, $00, $01, $00, $00, $01, $02, $00, $03, $00, $6E ; CPU:$9A6C PRG:1A6C A2 6F F9 6F 6A 02 00 01 00 00 01 02 00 03 00 6E - .byte $6F, $F9, $6F, $F9, $68, $00, $01, $00, $02, $03, $00, $00, $02, $00, $00, $5C ; CPU:$9A7C PRG:1A7C 6F F9 6F F9 68 00 01 00 02 03 00 00 02 00 00 5C - .byte $6D, $6D, $5B, $50, $03, $00, $02, $01, $00, $02, $00, $00, $00, $01, $00, $02 ; CPU:$9A8C PRG:1A8C 6D 6D 5B 50 03 00 02 01 00 02 00 00 00 01 00 02 - .byte $52, $57, $00, $02, $00, $03, $00, $00, $02, $00, $01, $01, $00, $00, $02, $00 ; CPU:$9A9C PRG:1A9C 52 57 00 02 00 03 00 00 02 00 01 01 00 00 02 00 - .byte $02, $02, $00, $03, $00, $00, $02, $00, $00, $03, $01, $00, $03, $02, $00, $03 ; CPU:$9AAC PRG:1AAC 02 02 00 03 00 00 02 00 00 03 01 00 03 02 00 03 - .byte $00, $00, $01, $00, $00, $01, $02, $00, $03, $00, $00, $02, $00, $03, $00, $00 ; CPU:$9ABC PRG:1ABC 00 00 01 00 00 01 02 00 03 00 00 02 00 03 00 00 - .byte $00, $03, $00, $02, $01, $00, $00, $01, $00, $00, $01, $00, $01, $00, $01, $CF ; CPU:$9ACC PRG:1ACC 00 03 00 02 01 00 00 01 00 00 01 00 01 00 01 CF - .byte $CE, $CE, $CF, $CF, $CE, $CF, $CE, $CE, $CF, $CE, $CF, $CE, $CE, $CF, $CE, $FF ; CPU:$9ADC PRG:1ADC CE CE CF CF CE CF CE CE CF CE CF CE CE CF CE FF - .byte $FF, $CF, $CE, $FF, $FF, $90, $91, $BE, $FF, $BF, $FF, $92, $93, $94, $95, $FF ; CPU:$9AEC PRG:1AEC FF CF CE FF FF 90 91 BE FF BF FF 92 93 94 95 FF - .byte $BE, $FF, $BF, $C9, $B5, $FF, $FF, $C6, $C7, $A8, $AA, $C6, $C7, $AC, $AE, $26 ; CPU:$9AFC PRG:1AFC BE FF BF C9 B5 FF FF C6 C7 A8 AA C6 C7 AC AE 26 - .byte $2E, $FF, $19, $32, $2E, $19, $19, $2E, $32, $19, $19, $2E, $27, $19, $FF, $FF ; CPU:$9B0C PRG:1B0C 2E FF 19 32 2E 19 19 2E 32 19 19 2E 27 19 FF FF - .byte $FF, $26, $31, $22, $23, $30, $31, $24, $25, $31, $30, $FF, $FF, $31, $27, $26 ; CPU:$9B1C PRG:1B1C FF 26 31 22 23 30 31 24 25 31 30 FF FF 31 27 26 - .byte $2E, $28, $2E, $33, $34, $35, $36, $2E, $27, $2E, $29, $2A, $2E, $2C, $2E, $37 ; CPU:$9B2C PRG:1B2C 2E 28 2E 33 34 35 36 2E 27 2E 29 2A 2E 2C 2E 37 - .byte $38, $32, $2E, $37, $38, $2E, $32, $2E, $2B, $2E, $2D, $FF, $26, $FF, $28, $2E ; CPU:$9B3C PRG:1B3C 38 32 2E 37 38 2E 32 2E 2B 2E 2D FF 26 FF 28 2E - .byte $20, $31, $31, $32, $2E, $30, $31, $2E, $32, $31, $30, $21, $2E, $31, $31, $27 ; CPU:$9B4C PRG:1B4C 20 31 31 32 2E 30 31 2E 32 31 30 21 2E 31 31 27 - .byte $FF, $29, $FF, $FF, $2A, $FF, $2E, $2E, $20, $20, $2E, $32, $2E, $32, $2E, $2E ; CPU:$9B5C PRG:1B5C FF 29 FF FF 2A FF 2E 2E 20 20 2E 32 2E 32 2E 2E - .byte $32, $2E, $32, $2E, $2E, $39, $3A, $2B, $FF, $3B, $FF, $FF, $32, $FF, $32, $3C ; CPU:$9B6C PRG:1B6C 32 2E 32 2E 2E 39 3A 2B FF 3B FF FF 32 FF 32 3C - .byte $3D, $3F, $40, $3E, $FF, $41, $FF, $42, $43, $45, $46, $44, $FF, $47, $FF, $48 ; CPU:$9B7C PRG:1B7C 3D 3F 40 3E FF 41 FF 42 43 45 46 44 FF 47 FF 48 - .byte $49, $4B, $4C, $4A, $FF, $4D, $FF, $2E, $20, $2E, $20, $4E, $4F, $2E, $2E, $1F ; CPU:$9B8C PRG:1B8C 49 4B 4C 4A FF 4D FF 2E 20 2E 20 4E 4F 2E 2E 1F - .byte $FF, $2E, $FF, $20, $2E, $2E, $20, $21, $2E, $21, $2E, $2E, $FF, $2E, $FF, $FF ; CPU:$9B9C PRG:1B9C FF 2E FF 20 2E 2E 20 21 2E 21 2E 2E FF 2E FF FF - .byte $2E, $FF, $26, $2E, $2E, $2E, $2E, $21, $2E, $2E, $2E, $2E, $FF, $27, $FF, $FF ; CPU:$9BAC PRG:1BAC 2E FF 26 2E 2E 2E 2E 21 2E 2E 2E 2E FF 27 FF FF - .byte $26, $FF, $FF, $31, $31, $2C, $20, $30, $31, $32, $2E, $31, $30, $2E, $32, $31 ; CPU:$9BBC PRG:1BBC 26 FF FF 31 31 2C 20 30 31 32 2E 31 30 2E 32 31 - .byte $31, $21, $2D, $27, $FF, $FF, $FF, $2A, $2E, $28, $20, $21, $2B, $2E, $29, $C6 ; CPU:$9BCC PRG:1BCC 31 21 2D 27 FF FF FF 2A 2E 28 20 21 2B 2E 29 C6 - .byte $C7, $C8, $C8, $96, $97, $98, $99, $C7, $C6, $C8, $C8, $C7, $C6, $AF, $AD, $C7 ; CPU:$9BDC PRG:1BDC C7 C8 C8 96 97 98 99 C7 C6 C8 C8 C7 C6 AF AD C7 - .byte $C6, $AB, $A9, $B6, $B4, $FF, $FF, $B0, $B2, $FF, $FF, $9A, $9B, $9C, $9D, $B3 ; CPU:$9BEC PRG:1BEC C6 AB A9 B6 B4 FF FF B0 B2 FF FF 9A 9B 9C 9D B3 - .byte $B1, $FF, $FF, $9E, $9F, $A0, $A1, $FF, $FF, $B7, $B9, $A2, $A3, $A4, $A5, $FF ; CPU:$9BFC PRG:1BFC B1 FF FF 9E 9F A0 A1 FF FF B7 B9 A2 A3 A4 A5 FF - .byte $FF, $BA, $B8, $BB, $BD, $FF, $FF, $A6, $A7, $FF, $FF, $BD, $BC, $FF, $FF, $58 ; CPU:$9C0C PRG:1C0C FF BA B8 BB BD FF FF A6 A7 FF FF BD BC FF FF 58 - .byte $59, $CF, $CE, $59, $58, $CE, $CE, $5A, $5B, $CE, $CF, $5C, $5D, $CF, $CF, $58 ; CPU:$9C1C PRG:1C1C 59 CF CE 59 58 CE CE 5A 5B CE CF 5C 5D CF CF 58 - .byte $5A, $CF, $CE, $5D, $59, $CF, $CE, $59, $5E, $CE, $CE, $5F, $58, $CE, $CE, $58 ; CPU:$9C2C PRG:1C2C 5A CF CE 5D 59 CF CE 59 5E CE CE 5F 58 CE CE 58 - .byte $5E, $CE, $60, $5F, $58, $63, $CF, $5A, $5B, $CF, $61, $5C, $5D, $62, $CE, $5E ; CPU:$9C3C PRG:1C3C 5E CE 60 5F 58 63 CF 5A 5B CF 61 5C 5D 62 CE 5E - .byte $81, $CF, $5E, $80, $5F, $5F, $CE, $CF, $56, $56, $80, $57, $CF, $81, $57, $CF ; CPU:$9C4C PRG:1C4C 81 CF 5E 80 5F 5F CE CF 56 56 80 57 CF 81 57 CF - .byte $CF, $52, $53, $CF, $CE, $54, $55, $CE, $CE, $51, $56, $CF, $CF, $57, $50, $CF ; CPU:$9C5C PRG:1C5C CF 52 53 CF CE 54 55 CE CE 51 56 CF CF 57 50 CF - .byte $61, $50, $56, $62, $CE, $57, $51, $CE, $60, $52, $53, $63, $CF, $54, $55, $62 ; CPU:$9C6C PRG:1C6C 61 50 56 62 CE 57 51 CE 60 52 53 63 CF 54 55 62 - .byte $CF, $63, $CF, $CE, $61, $CF, $60, $57, $CF, $5F, $CE, $CE, $56, $CE, $5E, $CF ; CPU:$9C7C PRG:1C7C CF 63 CF CE 61 CF 60 57 CF 5F CE CE 56 CE 5E CF - .byte $CE, $50, $51, $80, $81, $81, $2E, $2E, $80, $80, $81, $80, $2E, $2E, $80, $FF ; CPU:$9C8C PRG:1C8C CE 50 51 80 81 81 2E 2E 80 80 81 80 2E 2E 80 FF - .byte $FF, $50, $51, $FF, $FF, $51, $50, $FF, $FF, $52, $53, $FF, $FF, $54, $55, $58 ; CPU:$9C9C PRG:1C9C FF 50 51 FF FF 51 50 FF FF 52 53 FF FF 54 55 58 - .byte $59, $FF, $FF, $5F, $58, $FF, $FF, $5A, $5B, $FF, $FF, $5C, $5D, $FF, $FF, $62 ; CPU:$9CAC PRG:1CAC 59 FF FF 5F 58 FF FF 5A 5B FF FF 5C 5D FF FF 62 - .byte $FF, $63, $FF, $63, $FF, $62, $FF, $FF, $60, $FF, $61, $FF, $61, $FF, $60, $62 ; CPU:$9CBC PRG:1CBC FF 63 FF 63 FF 62 FF FF 60 FF 61 FF 61 FF 60 62 - .byte $FF, $57, $51, $FF, $60, $50, $56, $58, $5E, $FF, $61, $5F, $58, $62, $FF, $FF ; CPU:$9CCC PRG:1CCC FF 57 51 FF 60 50 56 58 5E FF 61 5F 58 62 FF FF - .byte $5E, $FF, $60, $FF, $60, $FF, $56, $57, $FF, $80, $63, $89, $62, $87, $57, $87 ; CPU:$9CDC PRG:1CDC 5E FF 60 FF 60 FF 56 57 FF 80 63 89 62 87 57 87 - .byte $62, $80, $63, $89, $62, $5F, $FF, $60, $81, $61, $87, $87, $89, $88, $5F, $FF ; CPU:$9CEC PRG:1CEC 62 80 63 89 62 5F FF 60 81 61 87 87 89 88 5F FF - .byte $60, $51, $56, $63, $FF, $57, $50, $58, $5E, $FF, $61, $5F, $59, $62, $FF, $61 ; CPU:$9CFC PRG:1CFC 60 51 56 63 FF 57 50 58 5E FF 61 5F 59 62 FF 61 - .byte $88, $FF, $5E, $5E, $87, $60, $80, $FF, $56, $FF, $5E, $89, $62, $88, $57, $51 ; CPU:$9D0C PRG:1D0C 88 FF 5E 5E 87 60 80 FF 56 FF 5E 89 62 88 57 51 - .byte $50, $80, $87, $52, $55, $88, $89, $52, $53, $87, $89, $54, $55, $87, $80, $FF ; CPU:$9D1C PRG:1D1C 50 80 87 52 55 88 89 52 53 87 89 54 55 87 80 FF - .byte $50, $56, $81, $51, $FF, $87, $57, $51, $56, $80, $88, $57, $50, $88, $89, $89 ; CPU:$9D2C PRG:1D2C 50 56 81 51 FF 87 57 51 56 80 88 57 50 88 89 89 - .byte $1D, $59, $58, $87, $89, $5A, $5D, $87, $8F, $5A, $5B, $1D, $89, $5C, $5D, $5E ; CPU:$9D3C PRG:1D3C 1D 59 58 87 89 5A 5D 87 8F 5A 5B 1D 89 5C 5D 5E - .byte $88, $FF, $59, $89, $5F, $58, $FF, $88, $1D, $58, $5E, $89, $8F, $5F, $59, $81 ; CPU:$9D4C PRG:1D4C 88 FF 59 89 5F 58 FF 88 1D 58 5E 89 8F 5F 59 81 - .byte $80, $6A, $6B, $6B, $1E, $84, $85, $6D, $6B, $86, $85, $1E, $6C, $84, $86, $80 ; CPU:$9D5C PRG:1D5C 80 6A 6B 6B 1E 84 85 6D 6B 86 85 1E 6C 84 86 80 - .byte $81, $6D, $6A, $80, $81, $1E, $6C, $6D, $6A, $6E, $84, $6B, $6C, $84, $68, $86 ; CPU:$9D6C PRG:1D6C 81 6D 6A 80 81 1E 6C 6D 6A 6E 84 6B 6C 84 68 86 - .byte $84, $64, $65, $84, $85, $66, $67, $84, $68, $65, $66, $6E, $86, $67, $64, $84 ; CPU:$9D7C PRG:1D7C 84 64 65 84 85 66 67 84 68 65 66 6E 86 67 64 84 - .byte $85, $65, $64, $FF, $CE, $FF, $FF, $6E, $85, $6F, $84, $84, $69, $86, $68, $81 ; CPU:$9D8C PRG:1D8C 85 65 64 FF CE FF FF 6E 85 6F 84 84 69 86 68 81 - .byte $80, $80, $2E, $2E, $81, $81, $80, $81, $2E, $2E, $81, $80, $81, $81, $2E, $67 ; CPU:$9D9C PRG:1D9C 80 80 2E 2E 81 81 80 81 2E 2E 81 80 81 81 2E 67 - .byte $64, $80, $81, $65, $66, $80, $81, $84, $64, $66, $81, $64, $86, $81, $67, $7D ; CPU:$9DAC PRG:1DAC 64 80 81 65 66 80 81 84 64 66 81 64 86 81 67 7D - .byte $7C, $CA, $CA, $2E, $7E, $CB, $CC, $7C, $CD, $7F, $CD, $7B, $CD, $CA, $CC, $2E ; CPU:$9DBC PRG:1DBC 7C CA CA 2E 7E CB CC 7C CD 7F CD 7B CD CA CC 2E - .byte $CD, $CC, $CD, $7A, $2E, $2E, $CB, $CF, $1B, $CE, $1C, $82, $CE, $83, $CF, $70 ; CPU:$9DCC PRG:1DCC CD CC CD 7A 2E 2E CB CF 1B CE 1C 82 CE 83 CF 70 - .byte $71, $84, $8A, $72, $75, $84, $85, $88, $89, $71, $70, $87, $8F, $76, $77, $72 ; CPU:$9DDC PRG:1DDC 71 84 8A 72 75 84 85 88 89 71 70 87 8F 76 77 72 - .byte $73, $86, $84, $74, $75, $8A, $85, $77, $70, $8A, $84, $71, $76, $8A, $86, $76 ; CPU:$9DEC PRG:1DEC 73 86 84 74 75 8A 85 77 70 8A 84 71 76 8A 86 76 - .byte $80, $84, $70, $88, $77, $71, $85, $88, $89, $77, $71, $87, $89, $70, $76, $70 ; CPU:$9DFC PRG:1DFC 80 84 70 88 77 71 85 88 89 77 71 87 89 70 76 70 - .byte $76, $8A, $68, $77, $70, $78, $84, $8A, $69, $64, $66, $78, $84, $67, $65, $84 ; CPU:$9E0C PRG:1E0C 76 8A 68 77 70 78 84 8A 69 64 66 78 84 67 65 84 - .byte $84, $64, $65, $65, $64, $80, $87, $8A, $64, $66, $81, $64, $84, $88, $67, $8A ; CPU:$9E1C PRG:1E1C 84 64 65 65 64 80 87 8A 64 66 81 64 84 88 67 8A - .byte $68, $8A, $69, $69, $88, $68, $89, $68, $87, $8A, $76, $84, $66, $69, $88, $79 ; CPU:$9E2C PRG:1E2C 68 8A 69 69 88 68 89 68 87 8A 76 84 66 69 88 79 - .byte $8A, $78, $84, $88, $78, $1D, $79, $89, $79, $77, $86, $67, $8A, $8F, $78, $CF ; CPU:$9E3C PRG:1E3C 8A 78 84 88 78 1D 79 89 79 77 86 67 8A 8F 78 CF - .byte $FF, $FF, $FF, $2E, $7C, $7B, $2E, $FF, $FF, $CE, $FF, $FF, $FF, $FF, $CF, $76 ; CPU:$9E4C PRG:1E4C FF FF FF 2E 7C 7B 2E FF FF CE FF FF FF FF CF 76 - .byte $80, $68, $89, $69, $88, $66, $87, $64, $66, $81, $87, $67, $64, $88, $89, $81 ; CPU:$9E5C PRG:1E5C 80 68 89 69 88 66 87 64 66 81 87 67 64 88 89 81 - .byte $87, $88, $89, $8F, $1D, $1D, $8F, $87, $81, $80, $88, $88, $8E, $89, $81, $80 ; CPU:$9E6C PRG:1E6C 87 88 89 8F 1D 1D 8F 87 81 80 88 88 8E 89 81 80 - .byte $88, $8F, $89, $80, $81, $2E, $80, $81, $80, $80, $87, $8B, $8C, $8D, $8E, $8F ; CPU:$9E7C PRG:1E7C 88 8F 89 80 81 2E 80 81 80 80 87 8B 8C 8D 8E 8F - .byte $89, $8D, $88, $80, $8B, $8B, $8F, $89, $1D, $80, $8D, $87, $80, $8F, $8C, $7A ; CPU:$9E8C PRG:1E8C 89 8D 88 80 8B 8B 8F 89 1D 80 8D 87 80 8F 8C 7A - .byte $7B, $7D, $7C, $7C, $7F, $7E, $2E, $7C, $7C, $7A, $7D, $7B, $7E, $2E, $7A, $2E ; CPU:$9E9C PRG:1E9C 7B 7D 7C 7C 7F 7E 2E 7C 7C 7A 7D 7B 7E 2E 7A 2E - .byte $7C, $7B, $2E, $7F, $2E, $2E, $7C, $7E, $7D, $2E, $7F, $7F, $2E, $2E, $7C, $7D ; CPU:$9EAC PRG:1EAC 7C 7B 2E 7F 2E 2E 7C 7E 7D 2E 7F 7F 2E 2E 7C 7D - .byte $7B, $7A, $7F, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $1A, $84, $84, $19, $84 ; CPU:$9EBC PRG:1EBC 7B 7A 7F 2E 2E 2E 2E 2E 2E 2E 2E 1A 84 84 19 84 - .byte $19, $19, $1A, $1A, $84, $84, $19, $84, $1A, $1A, $19, $FF, $FF, $FF, $FF, $00 ; CPU:$9ECC PRG:1ECC 19 19 1A 1A 84 84 19 84 1A 1A 19 FF FF FF FF 00 - .byte $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03 ; CPU:$9EDC PRG:1EDC 00 00 00 00 01 01 01 01 01 01 01 03 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$9EEC PRG:1EEC 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$9EFC PRG:1EFC 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $01 ; CPU:$9F0C PRG:1F0C 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$9F1C PRG:1F1C 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9F2C PRG:1F2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01 ; CPU:$9F3C PRG:1F3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$9F4C PRG:1F4C 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9F5C PRG:1F5C 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01 ; CPU:$9F6C PRG:1F6C 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $01, $01, $01 ; CPU:$9F7C PRG:1F7C 01 01 01 01 01 01 01 01 01 01 01 01 00 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $02 ; CPU:$9F8C PRG:1F8C 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9F9C PRG:1F9C 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $00, $01, $00, $00, $02 ; CPU:$9FAC PRG:1FAC 02 02 02 02 02 02 02 02 02 02 02 00 01 00 00 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $00 ; CPU:$9FBC PRG:1FBC 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 - .byte $00, $00, $00, $00, $00, $01, $01, $01, $00, $01, $01, $01, $02, $02, $00 ; CPU:$9FCC PRG:1FCC 00 00 00 00 00 01 01 01 00 01 01 01 02 02 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_804C +; Global: Branch target inside Sub: taken when 804C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_804C: + clc ; CPU:$804C PRG:004C 18 + lda $039C ; CPU:$804D PRG:004D AD 9C 03 + adc $03A4 ; CPU:$8050 PRG:0050 6D A4 03 + sta $039C ; CPU:$8053 PRG:0053 8D 9C 03 + lda $039D ; CPU:$8056 PRG:0056 AD 9D 03 + adc $03A5 ; CPU:$8059 PRG:0059 6D A5 03 + sta $039D ; CPU:$805C PRG:005C 8D 9D 03 + clc ; CPU:$805F PRG:005F 18 + lda $039F ; CPU:$8060 PRG:0060 AD 9F 03 + adc $03A7 ; CPU:$8063 PRG:0063 6D A7 03 + sta $039F ; CPU:$8066 PRG:0066 8D 9F 03 + lda $03A0 ; CPU:$8069 PRG:0069 AD A0 03 + sta $03A2 ; CPU:$806C PRG:006C 8D A2 03 + adc $03A8 ; CPU:$806F PRG:006F 6D A8 03 + sta $03A0 ; CPU:$8072 PRG:0072 8D A0 03 + ldy $03A1 ; CPU:$8075 PRG:0075 AC A1 03 + sty $03A3 ; CPU:$8078 PRG:0078 8C A3 03 + cmp #$F0 ; CPU:$807B PRG:007B C9 F0 + bcc Sub_Loop2 ; CPU:$807D PRG:007D 90 19 + cmp #$F8 ; CPU:$807F PRG:007F C9 F8 + bcs Sub_Loop ; CPU:$8081 PRG:0081 B0 0C + inc $03A1 ; CPU:$8083 PRG:0083 EE A1 03 + clc ; CPU:$8086 PRG:0086 18 + adc #$10 ; CPU:$8087 PRG:0087 69 10 + sta $03A0 ; CPU:$8089 PRG:0089 8D A0 03 + jmp Sub_Loop2 ; CPU:$808C PRG:008C 4C 98 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop +; Global: Branch target inside Sub: taken when the loop repeats. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop: + dec $03A1 ; CPU:$808F PRG:008F CE A1 03 + sec ; CPU:$8092 PRG:0092 38 + sbc #$10 ; CPU:$8093 PRG:0093 E9 10 + sta $03A0 ; CPU:$8095 PRG:0095 8D A0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop2 +; Global: Branch target inside Sub: taken when Loop2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop2: + lda $03A0 ; CPU:$8098 PRG:0098 AD A0 03 + and #$08 ; CPU:$809B PRG:009B 29 08 + sta PlayerY ; CPU:$809D PRG:009D 85 86 + lda $03A2 ; CPU:$809F PRG:009F AD A2 03 + and #$08 ; CPU:$80A2 PRG:00A2 29 08 + cmp PlayerY ; CPU:$80A4 PRG:00A4 C5 86 + beq Sub_Loop3 ; CPU:$80A6 PRG:00A6 F0 03 + jsr Sub_80DA ; CPU:$80A8 PRG:00A8 20 DA 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop3 +; Global: Branch target inside Sub: taken when Loop3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop3: + lda $039D ; CPU:$80AB PRG:00AB AD 9D 03 + sta Zp8F ; CPU:$80AE PRG:00AE 85 8F + lda $03A0 ; CPU:$80B0 PRG:00B0 AD A0 03 + sta Zp90 ; CPU:$80B3 PRG:00B3 85 90 + lda $03A1 ; CPU:$80B5 PRG:00B5 AD A1 03 + asl a ; CPU:$80B8 PRG:00B8 0A + and #$02 ; CPU:$80B9 PRG:00B9 29 02 + sta PlayerY ; CPU:$80BB PRG:00BB 85 86 + lda PpuCtrlShadow ; CPU:$80BD PRG:00BD A5 8C + and #$FD ; CPU:$80BF PRG:00BF 29 FD + ora PlayerY ; CPU:$80C1 PRG:00C1 05 86 + sta PpuCtrlShadow ; CPU:$80C3 PRG:00C3 85 8C + lda #$00 ; CPU:$80C5 PRG:00C5 A9 00 + sta $03A4 ; CPU:$80C7 PRG:00C7 8D A4 03 + sta $03A5 ; CPU:$80CA PRG:00CA 8D A5 03 + sta $03A6 ; CPU:$80CD PRG:00CD 8D A6 03 + sta $03A7 ; CPU:$80D0 PRG:00D0 8D A7 03 + sta $03A8 ; CPU:$80D3 PRG:00D3 8D A8 03 + sta $03A9 ; CPU:$80D6 PRG:00D6 8D A9 03 + rts ; CPU:$80D9 PRG:00D9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_80DA +; Global: Branch target inside Sub: taken when 80DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_80DA: + lda #$04 ; CPU:$80DA PRG:00DA A9 04 + sta PlayerY ; CPU:$80DC PRG:00DC 85 86 + lda $03A9 ; CPU:$80DE PRG:00DE AD A9 03 + bmi Sub_Loop4 ; CPU:$80E1 PRG:00E1 30 04 + lda #$EE ; CPU:$80E3 PRG:00E3 A9 EE + sta PlayerY ; CPU:$80E5 PRG:00E5 85 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop4 +; Global: Branch target inside Sub: taken when Loop4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop4: + lda $03A0 ; CPU:$80E7 PRG:00E7 AD A0 03 + clc ; CPU:$80EA PRG:00EA 18 + adc PlayerY ; CPU:$80EB PRG:00EB 65 86 + sta $039A ; CPU:$80ED PRG:00ED 8D 9A 03 + bcs Sub_Loop5 ; CPU:$80F0 PRG:00F0 B0 04 + cmp #$F0 ; CPU:$80F2 PRG:00F2 C9 F0 + bcc Sub_Loop6 ; CPU:$80F4 PRG:00F4 90 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop5 +; Global: Branch target inside Sub: taken when Loop5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop5: + clc ; CPU:$80F6 PRG:00F6 18 + adc #$10 ; CPU:$80F7 PRG:00F7 69 10 + sta $039A ; CPU:$80F9 PRG:00F9 8D 9A 03 + ldy $03A1 ; CPU:$80FC PRG:00FC AC A1 03 + iny ; CPU:$80FF PRG:00FF C8 + sty $0399 ; CPU:$8100 PRG:0100 8C 99 03 + jmp Sub_8112 ; CPU:$8103 PRG:0103 4C 12 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8106 +; Global: Branch target inside Label: taken when 8106. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8106: + lda $03A0 ; CPU:$8106 PRG:0106 AD A0 03 + sta $039A ; CPU:$8109 PRG:0109 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop6 +; Global: Branch target inside Sub: taken when Loop6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop6: + lda $03A1 ; CPU:$810C PRG:010C AD A1 03 + sta $0399 ; CPU:$810F PRG:010F 8D 99 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_8112 +; Global: Branch target inside Sub: taken when 8112. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8112: + lda $039D ; CPU:$8112 PRG:0112 AD 9D 03 + sec ; CPU:$8115 PRG:0115 38 + sbc #$08 ; CPU:$8116 PRG:0116 E9 08 + sta $0397 ; CPU:$8118 PRG:0118 8D 97 03 + lda #$00 ; CPU:$811B PRG:011B A9 00 + sta $0396 ; CPU:$811D PRG:011D 8D 96 03 + jsr Sub_81E6 ; CPU:$8120 PRG:0120 20 E6 81 + jsr Sub_826C ; CPU:$8123 PRG:0123 20 6C 82 + lda VramWritePtrHi ; CPU:$8126 PRG:0126 A5 8B + ldx #$00 ; CPU:$8128 PRG:0128 A2 00 + sta $078F,x ; CPU:$812A PRG:012A 9D 8F 07 + inx ; CPU:$812D PRG:012D E8 + lda VramWritePtrLo ; CPU:$812E PRG:012E A5 8A + sta $078F,x ; CPU:$8130 PRG:0130 9D 8F 07 + inx ; CPU:$8133 PRG:0133 E8 + lda #$00 ; CPU:$8134 PRG:0134 A9 00 + sta $078F,x ; CPU:$8136 PRG:0136 9D 8F 07 + stx PlayerX ; CPU:$8139 PRG:0139 86 87 + inx ; CPU:$813B PRG:013B E8 + lda #$00 ; CPU:$813C PRG:013C A9 00 + sta PlayerY ; CPU:$813E PRG:013E 85 86 + sta PpuAddrLow ; CPU:$8140 PRG:0140 85 88 + jsr Sub_824F ; CPU:$8142 PRG:0142 20 4F 82 + lda $0397 ; CPU:$8145 PRG:0145 AD 97 03 + and #$08 ; CPU:$8148 PRG:0148 29 08 + bne Sub_Loop8 ; CPU:$814A PRG:014A D0 1B +; ----------------------------------------------------------------------------- +; Routine: Sub_814C +; Global: Branch target inside Sub: taken when 814C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_814C: + ldy #$00 ; CPU:$814C PRG:014C A0 00 + lda $039A ; CPU:$814E PRG:014E AD 9A 03 + and #$08 ; CPU:$8151 PRG:0151 29 08 + beq Sub_Loop7 ; CPU:$8153 PRG:0153 F0 02 + iny ; CPU:$8155 PRG:0155 C8 + iny ; CPU:$8156 PRG:0156 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop7 +; Global: Branch target inside Sub: taken when Loop7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop7: + lda (VramWritePtrLo),y ; CPU:$8157 PRG:0157 B1 8A + sta $078F,x ; CPU:$8159 PRG:0159 9D 8F 07 + inx ; CPU:$815C PRG:015C E8 + inc PlayerY ; CPU:$815D PRG:015D E6 86 + inc PpuAddrLow ; CPU:$815F PRG:015F E6 88 + lda PlayerY ; CPU:$8161 PRG:0161 A5 86 + cmp #$22 ; CPU:$8163 PRG:0163 C9 22 + beq Sub_Loop11 ; CPU:$8165 PRG:0165 F0 6A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop8 +; Global: Branch target inside Sub: taken when Loop8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop8: + ldy #$01 ; CPU:$8167 PRG:0167 A0 01 + lda $039A ; CPU:$8169 PRG:0169 AD 9A 03 + and #$08 ; CPU:$816C PRG:016C 29 08 + beq Sub_Loop9 ; CPU:$816E PRG:016E F0 02 + iny ; CPU:$8170 PRG:0170 C8 + iny ; CPU:$8171 PRG:0171 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop9 +; Global: Branch target inside Sub: taken when Loop9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop9: + lda (VramWritePtrLo),y ; CPU:$8172 PRG:0172 B1 8A + sta $078F,x ; CPU:$8174 PRG:0174 9D 8F 07 + inx ; CPU:$8177 PRG:0177 E8 + inc PlayerY ; CPU:$8178 PRG:0178 E6 86 + inc PpuAddrLow ; CPU:$817A PRG:017A E6 88 + lda PlayerY ; CPU:$817C PRG:017C A5 86 + cmp #$22 ; CPU:$817E PRG:017E C9 22 + beq Sub_Loop11 ; CPU:$8180 PRG:0180 F0 4F + jsr Sub_82B9 ; CPU:$8182 PRG:0182 20 B9 82 + lda $03AA ; CPU:$8185 PRG:0185 AD AA 03 + clc ; CPU:$8188 PRG:0188 18 + adc #$01 ; CPU:$8189 PRG:0189 69 01 + and #$10 ; CPU:$818B PRG:018B 29 10 + sta Zp85 ; CPU:$818D PRG:018D 85 85 + lda $03AA ; CPU:$818F PRG:018F AD AA 03 + and #$10 ; CPU:$8192 PRG:0192 29 10 + cmp Zp85 ; CPU:$8194 PRG:0194 C5 85 + bne Sub_Loop10 ; CPU:$8196 PRG:0196 D0 09 + inc $03AA ; CPU:$8198 PRG:0198 EE AA 03 + jsr Sub_824F ; CPU:$819B PRG:019B 20 4F 82 + jmp Sub_814C ; CPU:$819E PRG:019E 4C 4C 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop10 +; Global: Branch target inside Sub: taken when Loop10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop10: + ldy PlayerX ; CPU:$81A1 PRG:01A1 A4 87 + lda PpuAddrLow ; CPU:$81A3 PRG:01A3 A5 88 + sta $078F,y ; CPU:$81A5 PRG:01A5 99 8F 07 + lda #$00 ; CPU:$81A8 PRG:01A8 A9 00 + sta PpuAddrLow ; CPU:$81AA PRG:01AA 85 88 + lda $078D,y ; CPU:$81AC PRG:01AC B9 8D 07 + eor #$04 ; CPU:$81AF PRG:01AF 49 04 + sta $078F,x ; CPU:$81B1 PRG:01B1 9D 8F 07 + inx ; CPU:$81B4 PRG:01B4 E8 + lda $078E,y ; CPU:$81B5 PRG:01B5 B9 8E 07 + and #$E0 ; CPU:$81B8 PRG:01B8 29 E0 + sta $078F,x ; CPU:$81BA PRG:01BA 9D 8F 07 + inx ; CPU:$81BD PRG:01BD E8 + stx PlayerX ; CPU:$81BE PRG:01BE 86 87 + inx ; CPU:$81C0 PRG:01C0 E8 + lda #$00 ; CPU:$81C1 PRG:01C1 A9 00 + sta $0397 ; CPU:$81C3 PRG:01C3 8D 97 03 + lda ZpCA ; CPU:$81C6 PRG:01C6 A5 CA + jsr Sub_81EE ; CPU:$81C8 PRG:01C8 20 EE 81 + jsr Sub_824F ; CPU:$81CB PRG:01CB 20 4F 82 + jmp Sub_814C ; CPU:$81CE PRG:01CE 4C 4C 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop11 +; Global: Branch target inside Sub: taken when Loop11. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop11: + jsr Sub_82B9 ; CPU:$81D1 PRG:01D1 20 B9 82 + lda #$00 ; CPU:$81D4 PRG:01D4 A9 00 + sta $078F,x ; CPU:$81D6 PRG:01D6 9D 8F 07 + lda PpuAddrLow ; CPU:$81D9 PRG:01D9 A5 88 + ldx PlayerX ; CPU:$81DB PRG:01DB A6 87 + sta $078F,x ; CPU:$81DD PRG:01DD 9D 8F 07 + lda #$FF ; CPU:$81E0 PRG:01E0 A9 FF + sta $03AE ; CPU:$81E2 PRG:01E2 8D AE 03 + rts ; CPU:$81E5 PRG:01E5 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_81E6 +; Global: Branch target inside Sub: taken when 81E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_81E6: + lda $0399 ; CPU:$81E6 PRG:01E6 AD 99 03 + eor #$FF ; CPU:$81E9 PRG:01E9 49 FF + clc ; CPU:$81EB PRG:01EB 18 + adc #$01 ; CPU:$81EC PRG:01EC 69 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_81EE +; Global: Branch target inside Sub: taken when 81EE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_81EE: + sta ZpCA ; CPU:$81EE PRG:01EE 85 CA + tay ; CPU:$81F0 PRG:01F0 A8 + lda $844B,y ; CPU:$81F1 PRG:01F1 B9 4B 84 + sta ZpCB ; CPU:$81F4 PRG:01F4 85 CB + clc ; CPU:$81F6 PRG:01F6 18 + adc #$85 ; CPU:$81F7 PRG:01F7 69 85 + sta ZpCD ; CPU:$81F9 PRG:01F9 85 CD + lda #$4B ; CPU:$81FB PRG:01FB A9 4B + sta ZpCC ; CPU:$81FD PRG:01FD 85 CC + lda ZpCB ; CPU:$81FF PRG:01FF A5 CB + sta $038C ; CPU:$8201 PRG:0201 8D 8C 03 + lda #$00 ; CPU:$8204 PRG:0204 A9 00 + sta $038B ; CPU:$8206 PRG:0206 8D 8B 03 + asl $038C ; CPU:$8209 PRG:0209 0E 8C 03 + rol $038B ; CPU:$820C PRG:020C 2E 8B 03 + asl $038C ; CPU:$820F PRG:020F 0E 8C 03 + rol $038B ; CPU:$8212 PRG:0212 2E 8B 03 + asl $038C ; CPU:$8215 PRG:0215 0E 8C 03 + rol $038B ; CPU:$8218 PRG:0218 2E 8B 03 + asl $038C ; CPU:$821B PRG:021B 0E 8C 03 + rol $038B ; CPU:$821E PRG:021E 2E 8B 03 + sec ; CPU:$8221 PRG:0221 38 + lda ZpCC ; CPU:$8222 PRG:0222 A5 CC + sbc $038C ; CPU:$8224 PRG:0224 ED 8C 03 + sta ZpCC ; CPU:$8227 PRG:0227 85 CC + lda ZpCD ; CPU:$8229 PRG:0229 A5 CD + sbc $038B ; CPU:$822B PRG:022B ED 8B 03 + sta ZpCD ; CPU:$822E PRG:022E 85 CD + lda $0397 ; CPU:$8230 PRG:0230 AD 97 03 + lsr a ; CPU:$8233 PRG:0233 4A + lsr a ; CPU:$8234 PRG:0234 4A + lsr a ; CPU:$8235 PRG:0235 4A + lsr a ; CPU:$8236 PRG:0236 4A + sta $03AA ; CPU:$8237 PRG:0237 8D AA 03 + lda $039A ; CPU:$823A PRG:023A AD 9A 03 + and #$F0 ; CPU:$823D PRG:023D 29 F0 + clc ; CPU:$823F PRG:023F 18 + adc $03AA ; CPU:$8240 PRG:0240 6D AA 03 + sta $03AA ; CPU:$8243 PRG:0243 8D AA 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_8246 +; Global: Branch target inside Sub: taken when 8246. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8246: + ldy $03AA ; CPU:$8246 PRG:0246 AC AA 03 + lda (ZpCC),y ; CPU:$8249 PRG:0249 B1 CC + sta $03AB ; CPU:$824B PRG:024B 8D AB 03 + rts ; CPU:$824E PRG:024E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_824F +; Global: Branch target inside Sub: taken when 824F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_824F: + lda #$00 ; CPU:$824F PRG:024F A9 00 + sta VramWritePtrHi ; CPU:$8251 PRG:0251 85 8B + jsr Sub_8246 ; CPU:$8253 PRG:0253 20 46 82 + asl a ; CPU:$8256 PRG:0256 0A + rol VramWritePtrHi ; CPU:$8257 PRG:0257 26 8B + asl a ; CPU:$8259 PRG:0259 0A + rol VramWritePtrHi ; CPU:$825A PRG:025A 26 8B + sta VramWritePtrLo ; CPU:$825C PRG:025C 85 8A + lda #$DB ; CPU:$825E PRG:025E A9 DB + clc ; CPU:$8260 PRG:0260 18 + adc VramWritePtrLo ; CPU:$8261 PRG:0261 65 8A + sta VramWritePtrLo ; CPU:$8263 PRG:0263 85 8A + lda #$9A ; CPU:$8265 PRG:0265 A9 9A + adc VramWritePtrHi ; CPU:$8267 PRG:0267 65 8B + sta VramWritePtrHi ; CPU:$8269 PRG:0269 85 8B + rts ; CPU:$826B PRG:026B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_826C +; Global: Branch target inside Sub: taken when 826C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_826C: + lda #$00 ; CPU:$826C PRG:026C A9 00 + sta VramWritePtrHi ; CPU:$826E PRG:026E 85 8B + lda $039A ; CPU:$8270 PRG:0270 AD 9A 03 + and #$F8 ; CPU:$8273 PRG:0273 29 F8 + asl a ; CPU:$8275 PRG:0275 0A + rol VramWritePtrHi ; CPU:$8276 PRG:0276 26 8B + asl a ; CPU:$8278 PRG:0278 0A + rol VramWritePtrHi ; CPU:$8279 PRG:0279 26 8B + sta VramWritePtrLo ; CPU:$827B PRG:027B 85 8A + lda $0397 ; CPU:$827D PRG:027D AD 97 03 + lsr a ; CPU:$8280 PRG:0280 4A + lsr a ; CPU:$8281 PRG:0281 4A + lsr a ; CPU:$8282 PRG:0282 4A + clc ; CPU:$8283 PRG:0283 18 + adc VramWritePtrLo ; CPU:$8284 PRG:0284 65 8A + sta VramWritePtrLo ; CPU:$8286 PRG:0286 85 8A + lda VramWritePtrHi ; CPU:$8288 PRG:0288 A5 8B + adc #$00 ; CPU:$828A PRG:028A 69 00 + sta VramWritePtrHi ; CPU:$828C PRG:028C 85 8B + cmp #$03 ; CPU:$828E PRG:028E C9 03 + bne Sub_Loop12 ; CPU:$8290 PRG:0290 D0 13 + lda VramWritePtrLo ; CPU:$8292 PRG:0292 A5 8A + cmp #$C0 ; CPU:$8294 PRG:0294 C9 C0 + bcc Sub_Loop12 ; CPU:$8296 PRG:0296 90 0D + clc ; CPU:$8298 PRG:0298 18 + adc #$20 ; CPU:$8299 PRG:0299 69 20 + sta VramWritePtrLo ; CPU:$829B PRG:029B 85 8A + lda VramWritePtrHi ; CPU:$829D PRG:029D A5 8B + adc #$00 ; CPU:$829F PRG:029F 69 00 + and #$03 ; CPU:$82A1 PRG:02A1 29 03 + sta VramWritePtrHi ; CPU:$82A3 PRG:02A3 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop12 +; Global: Branch target inside Sub: taken when Loop12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop12: + lda VramWritePtrHi ; CPU:$82A5 PRG:02A5 A5 8B + ora #$20 ; CPU:$82A7 PRG:02A7 09 20 + sta VramWritePtrHi ; CPU:$82A9 PRG:02A9 85 8B + lda $0399 ; CPU:$82AB PRG:02AB AD 99 03 + and #$01 ; CPU:$82AE PRG:02AE 29 01 + beq Sub_Loop13 ; CPU:$82B0 PRG:02B0 F0 06 + lda VramWritePtrHi ; CPU:$82B2 PRG:02B2 A5 8B + ora #$08 ; CPU:$82B4 PRG:02B4 09 08 + sta VramWritePtrHi ; CPU:$82B6 PRG:02B6 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop13 +; Global: Branch target inside Sub: taken when Loop13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop13: + rts ; CPU:$82B8 PRG:02B8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_82B9 +; Global: Branch target inside Sub: taken when 82B9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_82B9: + lda ZpCA ; CPU:$82B9 PRG:02B9 A5 CA + and #$01 ; CPU:$82BB PRG:02BB 29 01 + beq Sub_Loop14 ; CPU:$82BD PRG:02BD F0 07 + lda #$03 ; CPU:$82BF PRG:02BF A9 03 + ldy #$40 ; CPU:$82C1 PRG:02C1 A0 40 + jmp Sub_82CA ; CPU:$82C3 PRG:02C3 4C CA 82 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop14 +; Global: Branch target inside Sub: taken when Loop14. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop14: + lda #$03 ; CPU:$82C6 PRG:02C6 A9 03 + ldy #$00 ; CPU:$82C8 PRG:02C8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_82CA +; Global: Branch target inside Sub: taken when 82CA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_82CA: + sta VramWritePtrHi ; CPU:$82CA PRG:02CA 85 8B + sty VramWritePtrLo ; CPU:$82CC PRG:02CC 84 8A + lda $03AA ; CPU:$82CE PRG:02CE AD AA 03 + and #$0F ; CPU:$82D1 PRG:02D1 29 0F + lsr a ; CPU:$82D3 PRG:02D3 4A + sta $0732 ; CPU:$82D4 PRG:02D4 8D 32 07 + lda $03AA ; CPU:$82D7 PRG:02D7 AD AA 03 + and #$E0 ; CPU:$82DA PRG:02DA 29 E0 + lsr a ; CPU:$82DC PRG:02DC 4A + lsr a ; CPU:$82DD PRG:02DD 4A + ora $0732 ; CPU:$82DE PRG:02DE 0D 32 07 + sta $0732 ; CPU:$82E1 PRG:02E1 8D 32 07 + ldy $03AB ; CPU:$82E4 PRG:02E4 AC AB 03 + lda $9EDB,y ; CPU:$82E7 PRG:02E7 B9 DB 9E + sta $0734 ; CPU:$82EA PRG:02EA 8D 34 07 + ldy $0732 ; CPU:$82ED PRG:02ED AC 32 07 + lda (VramWritePtrLo),y ; CPU:$82F0 PRG:02F0 B1 8A + sta $0733 ; CPU:$82F2 PRG:02F2 8D 33 07 + lda $03AA ; CPU:$82F5 PRG:02F5 AD AA 03 + and #$01 ; CPU:$82F8 PRG:02F8 29 01 + bne Sub_Loop16 ; CPU:$82FA PRG:02FA D0 11 + lda $03AA ; CPU:$82FC PRG:02FC AD AA 03 + and #$10 ; CPU:$82FF PRG:02FF 29 10 + bne Sub_Loop15 ; CPU:$8301 PRG:0301 D0 05 + lda #$FC ; CPU:$8303 PRG:0303 A9 FC + jmp Sub_832D ; CPU:$8305 PRG:0305 4C 2D 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop15 +; Global: Branch target inside Sub: taken when Loop15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop15: + lda #$CF ; CPU:$8308 PRG:0308 A9 CF + jmp Sub_8321 ; CPU:$830A PRG:030A 4C 21 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop16 +; Global: Branch target inside Sub: taken when Loop16. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop16: + lda $03AA ; CPU:$830D PRG:030D AD AA 03 + and #$10 ; CPU:$8310 PRG:0310 29 10 + bne Sub_Loop17 ; CPU:$8312 PRG:0312 D0 05 + lda #$F3 ; CPU:$8314 PRG:0314 A9 F3 + jmp Sub_8327 ; CPU:$8316 PRG:0316 4C 27 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop17 +; Global: Branch target inside Sub: taken when Loop17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop17: + lda #$3F ; CPU:$8319 PRG:0319 A9 3F + asl $0734 ; CPU:$831B PRG:031B 0E 34 07 + asl $0734 ; CPU:$831E PRG:031E 0E 34 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_8321 +; Global: Branch target inside Sub: taken when 8321. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8321: + asl $0734 ; CPU:$8321 PRG:0321 0E 34 07 + asl $0734 ; CPU:$8324 PRG:0324 0E 34 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_8327 +; Global: Branch target inside Sub: taken when 8327. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8327: + asl $0734 ; CPU:$8327 PRG:0327 0E 34 07 + asl $0734 ; CPU:$832A PRG:032A 0E 34 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_832D +; Global: Branch target inside Sub: taken when 832D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_832D: + and $0733 ; CPU:$832D PRG:032D 2D 33 07 + ora $0734 ; CPU:$8330 PRG:0330 0D 34 07 + sta (VramWritePtrLo),y ; CPU:$8333 PRG:0333 91 8A + rts ; CPU:$8335 PRG:0335 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8336 +; Global: Branch target inside Label: taken when 8336. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8336: + lda $0588,x ; CPU:$8336 PRG:0336 BD 88 05 + sta $0397 ; CPU:$8339 PRG:0339 8D 97 03 + lda $056F,x ; CPU:$833C PRG:033C BD 6F 05 + sta $0396 ; CPU:$833F PRG:033F 8D 96 03 + lda $053D,x ; CPU:$8342 PRG:0342 BD 3D 05 + clc ; CPU:$8345 PRG:0345 18 + adc #$04 ; CPU:$8346 PRG:0346 69 04 + sta $039A ; CPU:$8348 PRG:0348 8D 9A 03 + lda $0524,x ; CPU:$834B PRG:034B BD 24 05 + sta $0399 ; CPU:$834E PRG:034E 8D 99 03 + lda $0399 ; CPU:$8351 PRG:0351 AD 99 03 + sta ZpCE ; CPU:$8354 PRG:0354 85 CE + tay ; CPU:$8356 PRG:0356 A8 + lda $844B,y ; CPU:$8357 PRG:0357 B9 4B 84 + sta ZpE2 ; CPU:$835A PRG:035A 85 E2 + clc ; CPU:$835C PRG:035C 18 + adc #$85 ; CPU:$835D PRG:035D 69 85 + sta ZpDE ; CPU:$835F PRG:035F 85 DE + lda #$4B ; CPU:$8361 PRG:0361 A9 4B + sta ZpDD ; CPU:$8363 PRG:0363 85 DD + lda ZpE2 ; CPU:$8365 PRG:0365 A5 E2 + sta $038C ; CPU:$8367 PRG:0367 8D 8C 03 + lda #$00 ; CPU:$836A PRG:036A A9 00 + sta $038B ; CPU:$836C PRG:036C 8D 8B 03 + asl $038C ; CPU:$836F PRG:036F 0E 8C 03 + rol $038B ; CPU:$8372 PRG:0372 2E 8B 03 + asl $038C ; CPU:$8375 PRG:0375 0E 8C 03 + rol $038B ; CPU:$8378 PRG:0378 2E 8B 03 + asl $038C ; CPU:$837B PRG:037B 0E 8C 03 + rol $038B ; CPU:$837E PRG:037E 2E 8B 03 + asl $038C ; CPU:$8381 PRG:0381 0E 8C 03 + rol $038B ; CPU:$8384 PRG:0384 2E 8B 03 + sec ; CPU:$8387 PRG:0387 38 + lda ZpDD ; CPU:$8388 PRG:0388 A5 DD + sbc $038C ; CPU:$838A PRG:038A ED 8C 03 + sta ZpDD ; CPU:$838D PRG:038D 85 DD + lda ZpDE ; CPU:$838F PRG:038F A5 DE + sbc $038B ; CPU:$8391 PRG:0391 ED 8B 03 + sta ZpDE ; CPU:$8394 PRG:0394 85 DE + lda $0397 ; CPU:$8396 PRG:0396 AD 97 03 + lsr a ; CPU:$8399 PRG:0399 4A + lsr a ; CPU:$839A PRG:039A 4A + lsr a ; CPU:$839B PRG:039B 4A + lsr a ; CPU:$839C PRG:039C 4A + sta ZpE1 ; CPU:$839D PRG:039D 85 E1 + lda $039A ; CPU:$839F PRG:039F AD 9A 03 + and #$F0 ; CPU:$83A2 PRG:03A2 29 F0 + clc ; CPU:$83A4 PRG:03A4 18 + adc ZpE1 ; CPU:$83A5 PRG:03A5 65 E1 + sta $03AC ; CPU:$83A7 PRG:03A7 8D AC 03 + tay ; CPU:$83AA PRG:03AA A8 + lda (ZpDD),y ; CPU:$83AB PRG:03AB B1 DD + rts ; CPU:$83AD PRG:03AD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_83AE +; Global: Branch target inside Label: taken when 83AE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_83AE: + lda PlayerX ; CPU:$83AE PRG:03AE A5 87 + and #$F8 ; CPU:$83B0 PRG:03B0 29 F8 + sta PlayerX ; CPU:$83B2 PRG:03B2 85 87 + lda PlayerY ; CPU:$83B4 PRG:03B4 A5 86 + and #$F8 ; CPU:$83B6 PRG:03B6 29 F8 + sta PlayerY ; CPU:$83B8 PRG:03B8 85 86 + lda PpuAddrHigh ; CPU:$83BA PRG:03BA A5 89 + and #$0F ; CPU:$83BC PRG:03BC 29 0F + cmp #$01 ; CPU:$83BE PRG:03BE C9 01 + bne Sub_Loop18 ; CPU:$83C0 PRG:03C0 D0 03 + jmp a:Zp04 ; CPU:$83C2 PRG:03C2 4C 04 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop18 +; Global: Branch target inside Sub: taken when Loop18. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop18: + cmp #$02 ; CPU:$83C5 PRG:03C5 C9 02 + bne Sub_Loop19 ; CPU:$83C7 PRG:03C7 D0 03 + jmp Sub_843E ; CPU:$83C9 PRG:03C9 4C 3E 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop19 +; Global: Branch target inside Sub: taken when Loop19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop19: + cmp #$04 ; CPU:$83CC PRG:03CC C9 04 + bne Sub_Loop20 ; CPU:$83CE PRG:03CE D0 03 + jmp Sub_Loop26 ; CPU:$83D0 PRG:03D0 4C 29 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop20 +; Global: Branch target inside Sub: taken when Loop20. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop20: + cmp #$05 ; CPU:$83D3 PRG:03D3 C9 05 + bne Sub_Loop21 ; CPU:$83D5 PRG:03D5 D0 03 + jmp Sub_841E ; CPU:$83D7 PRG:03D7 4C 1E 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop21 +; Global: Branch target inside Sub: taken when Loop21. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop21: + cmp #$06 ; CPU:$83DA PRG:03DA C9 06 + bne Sub_Loop22 ; CPU:$83DC PRG:03DC D0 03 + jmp Sub_8410 ; CPU:$83DE PRG:03DE 4C 10 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop22 +; Global: Branch target inside Sub: taken when Loop22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop22: + cmp #$08 ; CPU:$83E1 PRG:03E1 C9 08 + bne Sub_Loop23 ; CPU:$83E3 PRG:03E3 D0 03 + jmp Sub_Loop25 ; CPU:$83E5 PRG:03E5 4C 08 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop23 +; Global: Branch target inside Sub: taken when Loop23. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop23: + cmp #$09 ; CPU:$83E8 PRG:03E8 C9 09 + bne Sub_Loop24 ; CPU:$83EA PRG:03EA D0 11 + jmp Sub_83EF ; CPU:$83EC PRG:03EC 4C EF 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_83EF +; Global: Branch target inside Sub: taken when 83EF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_83EF: + lda PlayerX ; CPU:$83EF PRG:03EF A5 87 + cmp #$08 ; CPU:$83F1 PRG:03F1 C9 08 + bcc Sub_Loop25 ; CPU:$83F3 PRG:03F3 90 13 + sec ; CPU:$83F5 PRG:03F5 38 + sbc #$08 ; CPU:$83F6 PRG:03F6 E9 08 + sta PlayerX ; CPU:$83F8 PRG:03F8 85 87 + jmp Sub_Loop25 ; CPU:$83FA PRG:03FA 4C 08 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop24 +; Global: Branch target inside Sub: taken when Loop24. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop24: + lda PlayerX ; CPU:$83FD PRG:03FD A5 87 + cmp #$F8 ; CPU:$83FF PRG:03FF C9 F8 + bcs Sub_Loop25 ; CPU:$8401 PRG:0401 B0 05 + clc ; CPU:$8403 PRG:0403 18 + adc #$08 ; CPU:$8404 PRG:0404 69 08 + sta PlayerX ; CPU:$8406 PRG:0406 85 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop25 +; Global: Branch target inside Sub: taken when Loop25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop25: + lda PlayerY ; CPU:$8408 PRG:0408 A5 86 + sec ; CPU:$840A PRG:040A 38 + sbc #$08 ; CPU:$840B PRG:040B E9 08 + sta PlayerY ; CPU:$840D PRG:040D 85 86 + rts ; CPU:$840F PRG:040F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8410 +; Global: Branch target inside Sub: taken when 8410. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8410: + lda PlayerX ; CPU:$8410 PRG:0410 A5 87 + cmp #$08 ; CPU:$8412 PRG:0412 C9 08 + bcc Sub_Loop26 ; CPU:$8414 PRG:0414 90 13 + sec ; CPU:$8416 PRG:0416 38 + sbc #$08 ; CPU:$8417 PRG:0417 E9 08 + sta PlayerX ; CPU:$8419 PRG:0419 85 87 + jmp Sub_Loop26 ; CPU:$841B PRG:041B 4C 29 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_841E +; Global: Branch target inside Sub: taken when 841E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_841E: + lda PlayerX ; CPU:$841E PRG:041E A5 87 + cmp #$F8 ; CPU:$8420 PRG:0420 C9 F8 + bcs Sub_Loop26 ; CPU:$8422 PRG:0422 B0 05 + clc ; CPU:$8424 PRG:0424 18 + adc #$08 ; CPU:$8425 PRG:0425 69 08 + sta PlayerX ; CPU:$8427 PRG:0427 85 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop26 +; Global: Branch target inside Sub: taken when Loop26. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop26: + lda PlayerY ; CPU:$8429 PRG:0429 A5 86 + sec ; CPU:$842B PRG:042B 38 + sbc #$08 ; CPU:$842C PRG:042C E9 08 + sta PlayerY ; CPU:$842E PRG:042E 85 86 + rts ; CPU:$8430 PRG:0430 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8431 +; Global: Branch target inside Label: taken when 8431. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8431: + lda PlayerX ; CPU:$8431 PRG:0431 A5 87 + cmp #$F8 ; CPU:$8433 PRG:0433 C9 F8 + bcc Sub_Loop27 ; CPU:$8435 PRG:0435 90 01 + rts ; CPU:$8437 PRG:0437 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop27 +; Global: Branch target inside Sub: taken when Loop27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop27: + clc ; CPU:$8438 PRG:0438 18 + adc #$08 ; CPU:$8439 PRG:0439 69 08 + sta PlayerX ; CPU:$843B PRG:043B 85 87 + rts ; CPU:$843D PRG:043D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_843E +; Global: Branch target inside Sub: taken when 843E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_843E: + lda PlayerX ; CPU:$843E PRG:043E A5 87 + cmp #$08 ; CPU:$8440 PRG:0440 C9 08 + bcs Sub_Loop28 ; CPU:$8442 PRG:0442 B0 01 + rts ; CPU:$8444 PRG:0444 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop28 +; Global: Branch target inside Sub: taken when Loop28. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop28: + sec ; CPU:$8445 PRG:0445 38 + sbc #$08 ; CPU:$8446 PRG:0446 E9 08 + sta PlayerX ; CPU:$8448 PRG:0448 85 87 + rts ; CPU:$844A PRG:044A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_844B +; Global: Branch target inside Label: taken when 844B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_844B: + brk ; CPU:$844B PRG:044B 00 +; ----------------------------------------------------------------------------- +; Routine: Label_844C +; Global: Branch target inside Label: taken when 844C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_844C: + ora (Zp01,x) ; CPU:$844C PRG:044C 01 01 + ora (Zp04,x) ; CPU:$844E PRG:044E 01 04 + ora (Zp04,x) ; CPU:$8450 PRG:0450 01 04 + ora (Zp00,x) ; CPU:$8452 PRG:0452 01 00 + ora (Zp01,x) ; CPU:$8454 PRG:0454 01 01 + ora (Zp04,x) ; CPU:$8456 PRG:0456 01 04 + ora (Zp04,x) ; CPU:$8458 PRG:0458 01 04 + ora (Zp00,x) ; CPU:$845A PRG:045A 01 00 + ora (Zp01,x) ; CPU:$845C PRG:045C 01 01 + ora (Zp04,x) ; CPU:$845E PRG:045E 01 04 + ora (Zp04,x) ; CPU:$8460 PRG:0460 01 04 + ora (Zp00,x) ; CPU:$8462 PRG:0462 01 00 + ora (Zp01,x) ; CPU:$8464 PRG:0464 01 01 + ora (Zp01,x) ; CPU:$8466 PRG:0466 01 01 + ora (Zp01,x) ; CPU:$8468 PRG:0468 01 01 + ora (Zp00,x) ; CPU:$846A PRG:046A 01 00 + ora (Zp05,x) ; CPU:$846C PRG:046C 01 05 + asl Zp07 ; CPU:$846E PRG:046E 06 07 + asl Zp09 ; CPU:$8470 PRG:0470 06 09 + ora (Zp00,x) ; CPU:$8472 PRG:0472 01 00 + ora (Zp05,x) ; CPU:$8474 PRG:0474 01 05 + asl Zp07 ; CPU:$8476 PRG:0476 06 07 + asl Zp09 ; CPU:$8478 PRG:0478 06 09 + ora (Zp00,x) ; CPU:$847A PRG:047A 01 00 + ora (Zp05,x) ; CPU:$847C PRG:047C 01 05 + asl Zp09 ; CPU:$847E PRG:047E 06 09 + ora (Zp02,x) ; CPU:$8480 PRG:0480 01 02 + ora (Zp00,x) ; CPU:$8482 PRG:0482 01 00 + ora (Zp01,x) ; CPU:$8484 PRG:0484 01 01 + ora (Zp01,x) ; CPU:$8486 PRG:0486 01 01 + ora (Zp01,x) ; CPU:$8488 PRG:0488 01 01 + ora (Zp00,x) ; CPU:$848A PRG:048A 01 00 + ora (Zp05,x) ; CPU:$848C PRG:048C 01 05 + asl a ; CPU:$848E PRG:048E 0A + .byte $0B, $0C ; CPU:$848F PRG:048F 0B 0C -- anc #$0C (undocumented; ca65 cannot encode) + ora #$01 ; CPU:$8491 PRG:0491 09 01 + brk ; CPU:$8493 PRG:0493 00 +; ---- data $8494-$9FDA (6983 bytes) ---- +; referenced by `lda $9EDB,y` at $82E7 (operand $9EDB falls inside this region) +LevelLayoutData: + .byte $01, $05, $0A, $0B, $0C, $09, $01, $00, $01, $05, $0A, $0B, $0C, $09, $01, $00 ; CPU:$8494 PRG:-3B6C 01 05 0A 0B 0C 09 01 00 01 05 0A 0B 0C 09 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $04, $01, $16, $04, $01, $01, $00 ; CPU:$84A4 PRG:04A4 01 01 01 01 01 01 01 00 01 04 01 16 04 01 01 00 + .byte $01, $04, $01, $16, $04, $01, $01, $00, $01, $04, $01, $16, $01, $02, $01, $00 ; CPU:$84B4 PRG:04B4 01 04 01 16 04 01 01 00 01 04 01 16 01 02 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $01, $10, $11, $09, $01, $01, $00 ; CPU:$84C4 PRG:04C4 01 01 01 01 01 01 01 00 01 01 10 11 09 01 01 00 + .byte $01, $01, $10, $11, $09, $01, $01, $00, $01, $01, $10, $11, $09, $01, $01, $00 ; CPU:$84D4 PRG:04D4 01 01 10 11 09 01 01 00 01 01 10 11 09 01 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $05, $14, $15, $12, $01, $01, $00 ; CPU:$84E4 PRG:04E4 01 01 01 01 01 01 01 00 01 05 14 15 12 01 01 00 + .byte $01, $05, $14, $15, $12, $01, $01, $00, $01, $05, $09, $01, $01, $02, $01, $00 ; CPU:$84F4 PRG:04F4 01 05 14 15 12 01 01 00 01 05 09 01 01 02 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $05, $13, $03, $09, $01, $01, $00 ; CPU:$8504 PRG:0504 01 01 01 01 01 01 01 00 01 05 13 03 09 01 01 00 + .byte $01, $05, $13, $03, $09, $01, $01, $00, $01, $05, $13, $03, $09, $01, $01, $00 ; CPU:$8514 PRG:0514 01 05 13 03 09 01 01 00 01 05 13 03 09 01 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $08, $0D, $0E, $0F, $12, $01, $00 ; CPU:$8524 PRG:0524 01 01 01 01 01 01 01 00 01 08 0D 0E 0F 12 01 00 + .byte $01, $08, $0D, $0E, $0F, $12, $01, $00, $01, $08, $0D, $12, $01, $02, $01, $00 ; CPU:$8534 PRG:0534 01 08 0D 0E 0F 12 01 00 01 08 0D 12 01 02 01 00 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $01, $00, $02, $00, $03, $10, $11, $12 ; CPU:$8544 PRG:0544 01 01 01 01 01 01 01 00 01 00 02 00 03 10 11 12 + .byte $13, $00, $01, $02, $03, $00, $00, $00, $00, $01, $03, $02, $01, $14, $15, $15 ; CPU:$8554 PRG:0554 13 00 01 02 03 00 00 00 00 01 03 02 01 14 15 15 + .byte $16, $02, $00, $00, $02, $00, $01, $00, $02, $00, $01, $03, $00, $17, $18, $19 ; CPU:$8564 PRG:0564 16 02 00 00 02 00 01 00 02 00 01 03 00 17 18 19 + .byte $1A, $00, $02, $00, $01, $03, $00, $02, $00, $02, $03, $00, $1B, $1C, $1D, $1E ; CPU:$8574 PRG:0574 1A 00 02 00 01 03 00 02 00 02 03 00 1B 1C 1D 1E + .byte $1F, $20, $02, $03, $00, $01, $02, $00, $01, $00, $02, $02, $21, $22, $23, $24 ; CPU:$8584 PRG:0584 1F 20 02 03 00 01 02 00 01 00 02 02 21 22 23 24 + .byte $25, $26, $00, $01, $03, $02, $00, $00, $00, $03, $00, $00, $27, $22, $23, $24 ; CPU:$8594 PRG:0594 25 26 00 01 03 02 00 00 00 03 00 00 27 22 23 24 + .byte $28, $29, $00, $00, $02, $00, $00, $03, $00, $00, $00, $03, $27, $1C, $1D, $1E ; CPU:$85A4 PRG:05A4 28 29 00 00 02 00 00 03 00 00 00 03 27 1C 1D 1E + .byte $2A, $2B, $01, $02, $00, $02, $00, $00, $02, $00, $01, $00, $27, $22, $23, $24 ; CPU:$85B4 PRG:05B4 2A 2B 01 02 00 02 00 00 02 00 01 00 27 22 23 24 + .byte $2C, $2D, $03, $00, $03, $00, $03, $02, $00, $03, $00, $00, $27, $2E, $23, $24 ; CPU:$85C4 PRG:05C4 2C 2D 03 00 03 00 03 02 00 03 00 00 27 2E 23 24 + .byte $2F, $30, $01, $02, $00, $03, $00, $00, $00, $00, $03, $02, $27, $31, $23, $24 ; CPU:$85D4 PRG:05D4 2F 30 01 02 00 03 00 00 00 00 03 02 27 31 23 24 + .byte $32, $33, $00, $00, $02, $00, $00, $00, $02, $01, $01, $00, $34, $35, $23, $24 ; CPU:$85E4 PRG:05E4 32 33 00 00 02 00 00 00 02 01 01 00 34 35 23 24 + .byte $36, $37, $00, $00, $00, $01, $00, $02, $00, $00, $00, $02, $38, $39, $3A, $3B ; CPU:$85F4 PRG:05F4 36 37 00 00 00 01 00 02 00 00 00 02 38 39 3A 3B + .byte $3C, $3D, $01, $01, $00, $00, $02, $00, $02, $02, $00, $03, $00, $3E, $23, $24 ; CPU:$8604 PRG:0604 3C 3D 01 01 00 00 02 00 02 02 00 03 00 3E 23 24 + .byte $3F, $03, $01, $00, $03, $02, $00, $03, $00, $00, $01, $00, $00, $0C, $0D, $0E ; CPU:$8614 PRG:0614 3F 03 01 00 03 02 00 03 00 00 01 00 00 0C 0D 0E + .byte $0F, $00, $00, $02, $00, $03, $00, $00, $00, $03, $00, $02, $01, $00, $00, $01 ; CPU:$8624 PRG:0624 0F 00 00 02 00 03 00 00 00 03 00 02 01 00 00 01 + .byte $00, $00, $01, $00, $01, $00, $01, $00, $01, $00, $02, $00, $03, $00, $02, $00 ; CPU:$8634 PRG:0634 00 00 01 00 01 00 01 00 01 00 02 00 03 00 02 00 + .byte $03, $00, $01, $02, $03, $00, $00, $00, $00, $01, $03, $02, $01, $00, $01, $03 ; CPU:$8644 PRG:0644 03 00 01 02 03 00 00 00 00 01 03 02 01 00 01 03 + .byte $00, $02, $00, $00, $02, $00, $01, $00, $02, $00, $01, $03, $00, $03, $00, $00 ; CPU:$8654 PRG:0654 00 02 00 00 02 00 01 00 02 00 01 03 00 03 00 00 + .byte $01, $00, $02, $00, $01, $03, $00, $02, $00, $02, $03, $00, $01, $01, $00, $00 ; CPU:$8664 PRG:0664 01 00 02 00 01 03 00 02 00 02 03 00 01 01 00 00 + .byte $02, $00, $02, $03, $00, $01, $02, $00, $01, $00, $02, $02, $00, $03, $00, $02 ; CPU:$8674 PRG:0674 02 00 02 03 00 01 02 00 01 00 02 02 00 03 00 02 + .byte $01, $03, $00, $01, $03, $02, $00, $00, $00, $03, $00, $00, $02, $01, $00, $03 ; CPU:$8684 PRG:0684 01 03 00 01 03 02 00 00 00 03 00 00 02 01 00 03 + .byte $00, $02, $00, $00, $02, $00, $00, $03, $00, $00, $00, $03, $03, $00, $02, $00 ; CPU:$8694 PRG:0694 00 02 00 00 02 00 00 03 00 00 00 03 03 00 02 00 + .byte $01, $00, $01, $02, $00, $02, $00, $00, $02, $00, $01, $00, $00, $01, $00, $00 ; CPU:$86A4 PRG:06A4 01 00 01 02 00 02 00 00 02 00 01 00 00 01 00 00 + .byte $02, $00, $03, $00, $03, $00, $03, $02, $00, $03, $00, $00, $03, $02, $00, $01 ; CPU:$86B4 PRG:06B4 02 00 03 00 03 00 03 02 00 03 00 00 03 02 00 01 + .byte $00, $00, $01, $02, $00, $03, $00, $00, $00, $00, $03, $02, $00, $00, $01, $00 ; CPU:$86C4 PRG:06C4 00 00 01 02 00 03 00 00 00 00 03 02 00 00 01 00 + .byte $02, $03, $00, $00, $02, $00, $00, $00, $02, $01, $01, $00, $03, $00, $02, $01 ; CPU:$86D4 PRG:06D4 02 03 00 00 02 00 00 00 02 01 01 00 03 00 02 01 + .byte $00, $02, $00, $00, $00, $01, $00, $02, $00, $00, $00, $02, $00, $03, $00, $00 ; CPU:$86E4 PRG:06E4 00 02 00 00 00 01 00 02 00 00 00 02 00 03 00 00 + .byte $02, $00, $01, $01, $00, $00, $02, $00, $02, $02, $00, $03, $00, $00, $02, $00 ; CPU:$86F4 PRG:06F4 02 00 01 01 00 00 02 00 02 02 00 03 00 00 02 00 + .byte $00, $03, $01, $00, $03, $02, $00, $03, $00, $00, $01, $00, $00, $01, $02, $00 ; CPU:$8704 PRG:0704 00 03 01 00 03 02 00 03 00 00 01 00 00 01 02 00 + .byte $03, $00, $00, $02, $00, $03, $00, $00, $00, $03, $00, $02, $01, $00, $00, $01 ; CPU:$8714 PRG:0714 03 00 00 02 00 03 00 00 00 03 00 02 01 00 00 01 + .byte $00, $00, $01, $00, $01, $00, $01, $01, $00, $02, $00, $03, $01, $02, $00, $03 ; CPU:$8724 PRG:0724 00 00 01 00 01 00 01 01 00 02 00 03 01 02 00 03 + .byte $02, $00, $01, $00, $01, $02, $00, $00, $01, $00, $DC, $FF, $FF, $FF, $FF, $FF ; CPU:$8734 PRG:0734 02 00 01 00 01 02 00 00 01 00 DC FF FF FF FF FF + .byte $FF, $FF, $FF, $AD, $00, $00, $01, $DC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$8744 PRG:0744 FF FF FF AD 00 00 01 DC FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $AD, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$8754 PRG:0754 FF FF FF FF FF FF AD FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $05, $FF ; CPU:$8764 PRG:0764 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 05 FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $06, $06, $06, $07, $08 ; CPU:$8774 PRG:0774 FF FF FF FF FF FF FF FF FF FF FF 06 06 06 07 08 + .byte $08, $08, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $09, $0A, $0B, $40, $41, $42 ; CPU:$8784 PRG:0784 08 08 FF FF FF FF FF FF FF FF 09 0A 0B 40 41 42 + .byte $43, $44, $45, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $46, $47, $48 ; CPU:$8794 PRG:0794 43 44 45 FF FF FF FF FF FF FF FF FF FF 46 47 48 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $49, $FF ; CPU:$87A4 PRG:07A4 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 49 FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $4A, $4B, $4C ; CPU:$87B4 PRG:07B4 FF FF FF FF FF FF FF FF FF FF FF FF FF 4A 4B 4C + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $4D, $4E, $4F ; CPU:$87C4 PRG:07C4 FF FF FF FF FF FF FF FF FF FF FF FF FF 4D 4E 4F + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$87D4 PRG:07D4 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:$87E4 PRG:07E4 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $DE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$87F4 PRG:07F4 FF FF FF FF FF FF FF DE FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $DF, $02, $03, $04, $04, $DE, $FF, $FF, $FF, $FF ; CPU:$8804 PRG:0804 FF FF FF FF FF FF DF 02 03 04 04 DE FF FF FF FF + .byte $FF, $DF, $04, $04, $01, $00, $01, $E4, $EF, $ED, $E8, $EF, $E6, $EB, $E4, $EA ; CPU:$8814 PRG:0814 FF DF 04 04 01 00 01 E4 EF ED E8 EF E6 EB E4 EA + .byte $CD, $C4, $C6, $C4, $C2, $C6, $C0, $E7, $EE, $E5, $E5, $EC, $EA, $EB, $CA, $C6 ; CPU:$8824 PRG:0824 CD C4 C6 C4 C2 C6 C0 E7 EE E5 E5 EC EA EB CA C6 + .byte $B2, $B3, $7F, $74, $76, $75, $7E, $EA, $EB, $EE, $EC, $EB, $E4, $CD, $FA, $B2 ; CPU:$8834 PRG:0834 B2 B3 7F 74 76 75 7E EA EB EE EC EB E4 CD FA B2 + .byte $7F, $74, $70, $72, $73, $71, $70, $C8, $C9, $C7, $C3, $C2, $C5, $B2, $B1, $7F ; CPU:$8844 PRG:0844 7F 74 70 72 73 71 70 C8 C9 C7 C3 C2 C5 B2 B1 7F + .byte $FF, $7D, $B0, $B2, $B3, $B2, $B0, $FA, $B1, $B3, $FA, $B2, $B0, $7F, $74, $FF ; CPU:$8854 PRG:0854 FF 7D B0 B2 B3 B2 B0 FA B1 B3 FA B2 B0 7F 74 FF + .byte $7D, $B2, $B3, $FA, $B1, $B0, $B3, $B0, $B2, $FA, $B2, $B0, $7F, $FF, $7D, $7C ; CPU:$8864 PRG:0864 7D B2 B3 FA B1 B0 B3 B0 B2 FA B2 B0 7F FF 7D 7C + .byte $7E, $B1, $B2, $B0, $B2, $B2, $FA, $D0, $B3, $B2, $B1, $B2, $78, $7A, $B2, $B1 ; CPU:$8874 PRG:0874 7E B1 B2 B0 B2 B2 FA D0 B3 B2 B1 B2 78 7A B2 B1 + .byte $78, $7E, $B3, $B1, $FA, $B0, $B2, $EA, $E2, $D1, $D3, $B3, $79, $7D, $B0, $B3 ; CPU:$8884 PRG:0884 78 7E B3 B1 FA B0 B2 EA E2 D1 D3 B3 79 7D B0 B3 + .byte $7C, $7A, $B1, $FA, $B0, $B2, $FA, $EF, $E8, $EA, $E9, $D8, $7C, $7E, $B3, $FA ; CPU:$8894 PRG:0894 7C 7A B1 FA B0 B2 FA EF E8 EA E9 D8 7C 7E B3 FA + .byte $B2, $79, $7E, $B2, $B3, $FA, $B1, $E5, $EF, $E6, $EB, $DB, $B1, $79, $7E, $B2 ; CPU:$88A4 PRG:08A4 B2 79 7E B2 B3 FA B1 E5 EF E6 EB DB B1 79 7E B2 + .byte $B2, $7C, $FF, $76, $75, $7E, $B0, $E5, $E5, $E7, $E4, $D9, $B2, $78, $81, $B0 ; CPU:$88B4 PRG:08B4 B2 7C FF 76 75 7E B0 E5 E5 E7 E4 D9 B2 78 81 B0 + .byte $B3, $B0, $7C, $72, $73, $70, $7E, $E5, $EC, $EB, $EB, $DA, $B0, $78, $80, $B2 ; CPU:$88C4 PRG:08C4 B3 B0 7C 72 73 70 7E E5 EC EB EB DA B0 78 80 B2 + .byte $FA, $B2, $B0, $B2, $B3, $B2, $7C, $EC, $EA, $CA, $C6, $B2, $B0, $7C, $7B, $B3 ; CPU:$88D4 PRG:08D4 FA B2 B0 B2 B3 B2 7C EC EA CA C6 B2 B0 7C 7B B3 + .byte $B2, $B1, $FA, $B1, $B0, $FA, $B3, $C0, $C1, $B2, $B0, $FA, $B3, $B1, $7C, $7E ; CPU:$88E4 PRG:08E4 B2 B1 FA B1 B0 FA B3 C0 C1 B2 B0 FA B3 B1 7C 7E + .byte $B0, $B3, $B1, $FA, $B2, $B3, $B2, $B3, $B1, $FA, $B3, $B1, $FA, $B2, $B0, $78 ; CPU:$88F4 PRG:08F4 B0 B3 B1 FA B2 B3 B2 B3 B1 FA B3 B1 FA B2 B0 78 + .byte $7E, $B0, $B2, $B3, $FA, $B1, $B0, $00, $01, $00, $02, $00, $03, $00, $02, $00 ; CPU:$8904 PRG:0904 7E B0 B2 B3 FA B1 B0 00 01 00 02 00 03 00 02 00 + .byte $03, $00, $01, $02, $03, $00, $00, $00, $00, $01, $03, $02, $01, $00, $01, $03 ; CPU:$8914 PRG:0914 03 00 01 02 03 00 00 00 00 01 03 02 01 00 01 03 + .byte $00, $02, $00, $00, $02, $00, $01, $00, $02, $00, $01, $03, $00, $01, $94, $95 ; CPU:$8924 PRG:0924 00 02 00 00 02 00 01 00 02 00 01 03 00 01 94 95 + .byte $01, $00, $02, $00, $01, $03, $00, $02, $00, $02, $03, $00, $02, $88, $E4, $EF ; CPU:$8934 PRG:0934 01 00 02 00 01 03 00 02 00 02 03 00 02 88 E4 EF + .byte $93, $92, $97, $90, $91, $95, $02, $00, $01, $00, $02, $02, $00, $8D, $EE, $ED ; CPU:$8944 PRG:0944 93 92 97 90 91 95 02 00 01 00 02 02 00 8D EE ED + .byte $E6, $E8, $E7, $ED, $EF, $E6, $82, $00, $00, $03, $00, $00, $01, $8C, $ED, $E5 ; CPU:$8954 PRG:0954 E6 E8 E7 ED EF E6 82 00 00 03 00 00 01 8C ED E5 + .byte $E8, $E5, $EF, $EB, $E5, $EC, $84, $03, $00, $00, $00, $03, $00, $8E, $EA, $EE ; CPU:$8964 PRG:0964 E8 E5 EF EB E5 EC 84 03 00 00 00 03 00 8E EA EE + .byte $EB, $E5, $EB, $E5, $E5, $E7, $85, $00, $02, $00, $01, $00, $00, $03, $8A, $E6 ; CPU:$8974 PRG:0974 EB E5 EB E5 E5 E7 85 00 02 00 01 00 00 03 8A E6 + .byte $E4, $EE, $E5, $E5, $EC, $8B, $02, $02, $00, $03, $00, $00, $03, $02, $01, $8A ; CPU:$8984 PRG:0984 E4 EE E5 E5 EC 8B 02 02 00 03 00 00 03 02 01 8A + .byte $9A, $9B, $9F, $9E, $8B, $00, $01, $00, $00, $00, $03, $02, $00, $00, $01, $00 ; CPU:$8994 PRG:0994 9A 9B 9F 9E 8B 00 01 00 00 00 03 02 00 00 01 00 + .byte $02, $03, $00, $00, $02, $03, $02, $00, $02, $01, $01, $00, $03, $00, $02, $01 ; CPU:$89A4 PRG:09A4 02 03 00 00 02 03 02 00 02 01 01 00 03 00 02 01 + .byte $00, $02, $00, $00, $00, $01, $00, $02, $00, $00, $00, $02, $00, $03, $00, $00 ; CPU:$89B4 PRG:09B4 00 02 00 00 00 01 00 02 00 00 00 02 00 03 00 00 + .byte $02, $00, $01, $01, $00, $00, $02, $00, $02, $02, $00, $03, $00, $00, $02, $00 ; CPU:$89C4 PRG:09C4 02 00 01 01 00 00 02 00 02 02 00 03 00 00 02 00 + .byte $00, $00, $00, $00, $03, $02, $00, $03, $00, $00, $01, $00, $00, $01, $02, $00 ; CPU:$89D4 PRG:09D4 00 00 00 00 03 02 00 03 00 00 01 00 00 01 02 00 + .byte $03, $00, $00, $02, $00, $03, $00, $00, $00, $03, $00, $02, $01, $00, $00, $01 ; CPU:$89E4 PRG:09E4 03 00 00 02 00 03 00 00 00 03 00 02 01 00 00 01 + .byte $00, $00, $01, $00, $01, $00, $01, $EA, $E5, $E5, $EF, $EB, $E6, $EA, $E9, $EB ; CPU:$89F4 PRG:09F4 00 00 01 00 01 00 01 EA E5 E5 EF EB E6 EA E9 EB + .byte $E6, $E6, $E7, $EB, $E9, $EA, $E9, $EE, $E5, $EC, $EB, $E9, $E6, $EB, $EC, $ED ; CPU:$8A04 PRG:0A04 E6 E6 E7 EB E9 EA E9 EE E5 EC EB E9 E6 EB EC ED + .byte $EB, $EF, $E9, $ED, $E8, $EF, $EA, $CC, $EE, $E7, $E9, $E4, $E7, $E4, $E9, $EB ; CPU:$8A14 PRG:0A14 EB EF E9 ED E8 EF EA CC EE E7 E9 E4 E7 E4 E9 EB + .byte $E4, $E6, $ED, $E5, $E5, $E5, $EF, $B1, $C7, $CB, $E6, $C6, $C9, $C1, $C8, $C3 ; CPU:$8A24 PRG:0A24 E4 E6 ED E5 E5 E5 EF B1 C7 CB E6 C6 C9 C1 C8 C3 + .byte $CB, $EE, $EA, $E5, $E5, $E5, $E5, $FD, $B3, $B2, $C0, $B3, $B2, $FA, $B0, $B2 ; CPU:$8A34 PRG:0A34 CB EE EA E5 E5 E5 E5 FD B3 B2 C0 B3 B2 FA B0 B2 + .byte $B0, $CC, $E6, $EE, $E5, $EC, $EC, $B3, $FA, $B0, $FA, $B2, $B3, $B0, $B1, $B3 ; CPU:$8A44 PRG:0A44 B0 CC E6 EE E5 EC EC B3 FA B0 FA B2 B3 B0 B1 B3 + .byte $FA, $D4, $E9, $EE, $EC, $E9, $E6, $B0, $B0, $B2, $B0, $B0, $B2, $B3, $B0, $FA ; CPU:$8A54 PRG:0A54 FA D4 E9 EE EC E9 E6 B0 B0 B2 B0 B0 B2 B3 B0 FA + .byte $B0, $B0, $C7, $CB, $EE, $E7, $E9, $B0, $B2, $B3, $FA, $B3, $B2, $FA, $B2, $A4 ; CPU:$8A64 PRG:0A64 B0 B0 C7 CB EE E7 E9 B0 B2 B3 FA B3 B2 FA B2 A4 + .byte $A5, $B3, $B3, $B0, $C0, $CC, $EE, $A5, $B0, $FA, $B3, $B0, $B3, $B0, $A6, $F9 ; CPU:$8A74 PRG:0A74 A5 B3 B3 B0 C0 CC EE A5 B0 FA B3 B0 B3 B0 A6 F9 + .byte $6D, $A3, $A5, $FA, $B0, $B3, $CC, $6D, $A1, $A3, $A0, $A5, $B1, $A6, $6D, $6E ; CPU:$8A84 PRG:0A84 6D A3 A5 FA B0 B3 CC 6D A1 A3 A0 A5 B1 A6 6D 6E + .byte $F9, $6D, $6E, $A1, $A3, $A0, $A2, $6F, $F9, $6F, $6D, $6D, $A1, $F9, $6D, $6F ; CPU:$8A94 PRG:0A94 F9 6D 6E A1 A3 A0 A2 6F F9 6F 6D 6D A1 F9 6D 6F + .byte $6E, $6D, $6F, $6D, $F9, $6D, $6F, $5C, $6F, $6D, $F9, $6E, $6D, $6E, $6D, $F9 ; CPU:$8AA4 PRG:0AA4 6E 6D 6F 6D F9 6D 6F 5C 6F 6D F9 6E 6D 6E 6D F9 + .byte $6F, $F9, $F9, $5D, $56, $57, $58, $69, $6D, $F9, $6E, $6F, $F9, $6D, $6E, $6F ; CPU:$8AB4 PRG:0AB4 6F F9 F9 5D 56 57 58 69 6D F9 6E 6F F9 6D 6E 6F + .byte $F9, $6F, $59, $00, $03, $02, $00, $03, $56, $57, $5A, $6F, $6F, $F9, $6D, $59 ; CPU:$8AC4 PRG:0AC4 F9 6F 59 00 03 02 00 03 56 57 5A 6F 6F F9 6D 59 + .byte $56, $57, $00, $02, $00, $03, $00, $00, $00, $03, $00, $56, $55, $52, $53, $01 ; CPU:$8AD4 PRG:0AD4 56 57 00 02 00 03 00 00 00 03 00 56 55 52 53 01 + .byte $00, $00, $01, $00, $01, $00, $01, $E9, $E4, $EA, $E9, $EB, $EA, $E4, $E9, $EB ; CPU:$8AE4 PRG:0AE4 00 00 01 00 01 00 01 E9 E4 EA E9 EB EA E4 E9 EB + .byte $E4, $E7, $E9, $E4, $ED, $E8, $E6, $CC, $E9, $EB, $E9, $E4, $CA, $CB, $E6, $EE ; CPU:$8AF4 PRG:0AF4 E4 E7 E9 E4 ED E8 E6 CC E9 EB E9 E4 CA CB E6 EE + .byte $E7, $EA, $EB, $E6, $E5, $E5, $EF, $B1, $CC, $EE, $CA, $C5, $B3, $B2, $C4, $C6 ; CPU:$8B04 PRG:0B04 E7 EA EB E6 E5 E5 EF B1 CC EE CA C5 B3 B2 C4 C6 + .byte $C7, $C2, $CB, $E9, $EE, $E5, $E5, $B0, $B3, $C0, $B0, $FA, $B0, $B3, $B0, $FA ; CPU:$8B14 PRG:0B14 C7 C2 CB E9 EE E5 E5 B0 B3 C0 B0 FA B0 B3 B0 FA + .byte $B3, $B0, $B1, $E0, $EA, $EE, $EB, $75, $74, $76, $77, $7E, $B1, $FA, $B3, $B1 ; CPU:$8B24 PRG:0B24 B3 B0 B1 E0 EA EE EB 75 74 76 77 7E B1 FA B3 B1 + .byte $B0, $B3, $B0, $D6, $EB, $E4, $E5, $FF, $FF, $FF, $FF, $FF, $74, $76, $77, $7E ; CPU:$8B34 PRG:0B34 B0 B3 B0 D6 EB E4 E5 FF FF FF FF FF 74 76 77 7E + .byte $B0, $B0, $FA, $B1, $CC, $EE, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$8B44 PRG:0B44 B0 B0 FA B1 CC EE E5 FF FF FF FF FF FF FF FF FF + .byte $74, $7E, $B0, $B3, $D4, $E4, $E7, $FF, $FF, $FF, $71, $FF, $FF, $FF, $FF, $FF ; CPU:$8B54 PRG:0B54 74 7E B0 B3 D4 E4 E7 FF FF FF 71 FF FF FF FF FF + .byte $FF, $7A, $B0, $FA, $D4, $E8, $EB, $7C, $70, $7D, $B2, $7C, $FF, $FF, $FF, $FF ; CPU:$8B64 PRG:0B64 FF 7A B0 FA D4 E8 EB 7C 70 7D B2 7C FF FF FF FF + .byte $FF, $7D, $B3, $B1, $D7, $EB, $EA, $B0, $B1, $B0, $FA, $B0, $7C, $72, $73, $70 ; CPU:$8B74 PRG:0B74 FF 7D B3 B1 D7 EB EA B0 B1 B0 FA B0 7C 72 73 70 + .byte $7D, $FA, $B1, $B0, $D6, $E6, $EB, $D1, $D3, $B3, $B0, $B0, $B1, $B0, $B3, $B1 ; CPU:$8B84 PRG:0B84 7D FA B1 B0 D6 E6 EB D1 D3 B3 B0 B0 B1 B0 B3 B1 + .byte $FA, $B1, $B0, $B3, $CE, $ED, $E5, $E4, $E8, $CF, $D0, $D0, $B3, $B0, $FA, $B0 ; CPU:$8B94 PRG:0B94 FA B1 B0 B3 CE ED E5 E4 E8 CF D0 D0 B3 B0 FA B0 + .byte $B3, $B0, $FA, $D4, $EA, $EB, $E5, $EB, $ED, $EF, $EA, $EB, $CF, $B3, $B3, $B1 ; CPU:$8BA4 PRG:0BA4 B3 B0 FA D4 EA EB E5 EB ED EF EA EB CF B3 B3 B1 + .byte $B0, $B3, $B2, $CE, $E8, $E5, $E5, $ED, $E5, $E5, $EC, $E6, $E4, $E3, $D1, $D3 ; CPU:$8BB4 PRG:0BB4 B0 B3 B2 CE E8 E5 E5 ED E5 E5 EC E6 E4 E3 D1 D3 + .byte $D0, $D2, $E2, $E9, $EB, $E5, $E5, $EA, $EE, $EC, $EB, $E9, $EB, $E6, $E8, $EB ; CPU:$8BC4 PRG:0BC4 D0 D2 E2 E9 EB E5 E5 EA EE EC EB E9 EB E6 E8 EB + .byte $EB, $ED, $EC, $EA, $EE, $EC, $EC, $ED, $E5, $EF, $E5, $E5, $EC, $EA, $ED, $E7 ; CPU:$8BD4 PRG:0BD4 EB ED EC EA EE EC EC ED E5 EF E5 E5 EC EA ED E7 + .byte $E6, $E9, $EA, $CA, $C2, $C3, $C6, $EE, $E5, $E5, $E5, $E7, $EA, $E7, $E9, $EA ; CPU:$8BE4 PRG:0BE4 E6 E9 EA CA C2 C3 C6 EE E5 E5 E5 E7 EA E7 E9 EA + .byte $CD, $C0, $C1, $B2, $B3, $FA, $B3, $E6, $EE, $E4, $EC, $EB, $CD, $C7, $C6, $C1 ; CPU:$8BF4 PRG:0BF4 CD C0 C1 B2 B3 FA B3 E6 EE E4 EC EB CD C7 C6 C1 + .byte $B2, $7F, $74, $76, $75, $7E, $B0, $EE, $E7, $EC, $CA, $C5, $B2, $B0, $FA, $B3 ; CPU:$8C04 PRG:0C04 B2 7F 74 76 75 7E B0 EE E7 EC CA C5 B2 B0 FA B3 + .byte $B0, $78, $FF, $FF, $FF, $FF, $7E, $C9, $C0, $C1, $B3, $B0, $FA, $B0, $B3, $B0 ; CPU:$8C14 PRG:0C14 B0 78 FF FF FF FF 7E C9 C0 C1 B3 B0 FA B0 B3 B0 + .byte $B1, $7C, $FF, $FF, $FF, $FF, $FF, $B0, $B3, $FA, $7F, $76, $77, $74, $7E, $B3 ; CPU:$8C24 PRG:0C24 B1 7C FF FF FF FF FF B0 B3 FA 7F 76 77 74 7E B3 + .byte $FA, $B2, $7C, $70, $FF, $FF, $FF, $B1, $B3, $7F, $FF, $FF, $FF, $FF, $7A, $B0 ; CPU:$8C34 PRG:0C34 FA B2 7C 70 FF FF FF B1 B3 7F FF FF FF FF 7A B0 + .byte $B3, $B0, $B0, $B0, $79, $FF, $FF, $FA, $B0, $7C, $FF, $FF, $FF, $FF, $7B, $B0 ; CPU:$8C44 PRG:0C44 B3 B0 B0 B0 79 FF FF FA B0 7C FF FF FF FF 7B B0 + .byte $FA, $B0, $B1, $B3, $7C, $71, $7D, $B3, $FA, $B1, $7C, $FF, $FF, $FF, $FF, $7E ; CPU:$8C54 PRG:0C54 FA B0 B1 B3 7C 71 7D B3 FA B1 7C FF FF FF FF 7E + .byte $B1, $B3, $FA, $B2, $B3, $B0, $FA, $D0, $B3, $B3, $B0, $7C, $72, $73, $70, $7D ; CPU:$8C64 PRG:0C64 B1 B3 FA B2 B3 B0 FA D0 B3 B3 B0 7C 72 73 70 7D + .byte $B0, $B1, $B3, $B0, $FA, $B0, $B3, $E8, $CF, $D0, $B1, $FA, $B3, $B0, $B2, $B0 ; CPU:$8C74 PRG:0C74 B0 B1 B3 B0 FA B0 B3 E8 CF D0 B1 FA B3 B0 B2 B0 + .byte $FA, $B0, $FA, $B3, $B0, $B3, $B1, $EB, $E6, $E8, $E3, $D3, $D0, $D0, $B0, $B2 ; CPU:$8C84 PRG:0C84 FA B0 FA B3 B0 B3 B1 EB E6 E8 E3 D3 D0 D0 B0 B2 + .byte $B0, $B1, $B3, $FA, $FA, $B0, $B0, $E6, $EB, $EB, $E9, $EB, $ED, $EF, $CF, $B3 ; CPU:$8C94 PRG:0C94 B0 B1 B3 FA FA B0 B0 E6 EB EB E9 EB ED EF CF B3 + .byte $FA, $B0, $B3, $B0, $B0, $FA, $B2, $E6, $EA, $EB, $ED, $E6, $EE, $EC, $E9, $E3 ; CPU:$8CA4 PRG:0CA4 FA B0 B3 B0 B0 FA B2 E6 EA EB ED E6 EE EC E9 E3 + .byte $D1, $D3, $B0, $B3, $B1, $B0, $CE, $EB, $E4, $E9, $EE, $EB, $E6, $EB, $EB, $E6 ; CPU:$8CB4 PRG:0CB4 D1 D3 B0 B3 B1 B0 CE EB E4 E9 EE EB E6 EB EB E6 + .byte $E9, $E4, $CF, $D0, $D0, $CE, $EA, $DD, $F6, $F4, $F8, $F6, $DD, $FA, $F5, $F3 ; CPU:$8CC4 PRG:0CC4 E9 E4 CF D0 D0 CE EA DD F6 F4 F8 F6 DD FA F5 F3 + .byte $F6, $F8, $F7, $FA, $DD, $F3, $F4, $F5, $FA, $DD, $F7, $F2, $FA, $F3, $F2, $F5 ; CPU:$8CD4 PRG:0CD4 F6 F8 F7 FA DD F3 F4 F5 FA DD F7 F2 FA F3 F2 F5 + .byte $F2, $F7, $FA, $F1, $D2, $D1, $D3, $F6, $F4, $F2, $F0, $F1, $F4, $F2, $F3, $F2 ; CPU:$8CE4 PRG:0CE4 F2 F7 FA F1 D2 D1 D3 F6 F4 F2 F0 F1 F4 F2 F3 F2 + .byte $F1, $F4, $F2, $FA, $E0, $E6, $E4, $FA, $F2, $F1, $F5, $F0, $F2, $F5, $F1, $F0 ; CPU:$8CF4 PRG:0CF4 F1 F4 F2 FA E0 E6 E4 FA F2 F1 F5 F0 F2 F5 F1 F0 + .byte $F5, $F4, $FA, $F1, $D6, $CA, $C9, $F4, $F3, $F0, $F1, $F3, $F1, $F0, $F2, $F1 ; CPU:$8D04 PRG:0D04 F5 F4 FA F1 D6 CA C9 F4 F3 F0 F1 F3 F1 F0 F2 F1 + .byte $F3, $F0, $F2, $F0, $F1, $F3, $FA, $F0, $F5, $B8, $B9, $F0, $F5, $F2, $B9, $BD ; CPU:$8D14 PRG:0D14 F3 F0 F2 F0 F1 F3 FA F0 F5 B8 B9 F0 F5 F2 B9 BD + .byte $B9, $B8, $F2, $F1, $F0, $F0, $F1, $F3, $F2, $FF, $FF, $F2, $F0, $BA, $00, $BF ; CPU:$8D24 PRG:0D24 B9 B8 F2 F1 F0 F0 F1 F3 F2 FF FF F2 F0 BA 00 BF + .byte $00, $00, $F3, $F0, $F4, $F3, $F2, $F5, $F3, $F1, $F0, $B8, $B9, $BC, $01, $00 ; CPU:$8D34 PRG:0D34 00 00 F3 F0 F4 F3 F2 F5 F3 F1 F0 B8 B9 BC 01 00 + .byte $03, $00, $F0, $F2, $B9, $B9, $F5, $F2, $F0, $F2, $BA, $03, $03, $BE, $00, $02 ; CPU:$8D44 PRG:0D44 03 00 F0 F2 B9 B9 F5 F2 F0 F2 BA 03 03 BE 00 02 + .byte $01, $00, $B8, $BC, $01, $00, $BD, $F0, $F3, $B9, $BA, $02, $01, $02, $00, $01 ; CPU:$8D54 PRG:0D54 01 00 B8 BC 01 00 BD F0 F3 B9 BA 02 01 02 00 01 + .byte $00, $03, $00, $BE, $00, $02, $BF, $B8, $BB, $01, $BC, $01, $00, $03, $02, $00 ; CPU:$8D64 PRG:0D64 00 03 00 BE 00 02 BF B8 BB 01 BC 01 00 03 02 00 + .byte $01, $00, $02, $01, $03, $01, $00, $00, $02, $00, $BE, $00, $01, $00, $02, $00 ; CPU:$8D74 PRG:0D74 01 00 02 01 03 01 00 00 02 00 BE 00 01 00 02 00 + .byte $03, $02, $00, $00, $02, $03, $00, $01, $00, $02, $00, $03, $02, $00, $01, $02 ; CPU:$8D84 PRG:0D84 03 02 00 00 02 03 00 01 00 02 00 03 02 00 01 02 + .byte $00, $03, $02, $00, $01, $00, $03, $02, $00, $00, $01, $00, $03, $02, $00, $01 ; CPU:$8D94 PRG:0D94 00 03 02 00 01 00 03 02 00 00 01 00 03 02 00 01 + .byte $03, $00, $00, $02, $00, $01, $00, $00, $01, $02, $00, $03, $00, $01, $00, $00 ; CPU:$8DA4 PRG:0DA4 03 00 00 02 00 01 00 00 01 02 00 03 00 01 00 00 + .byte $02, $02, $00, $03, $03, $00, $02, $02, $00, $03, $00, $01, $00, $02, $02, $03 ; CPU:$8DB4 PRG:0DB4 02 02 00 03 03 00 02 02 00 03 00 01 00 02 02 03 + .byte $00, $02, $01, $00, $00, $6C, $6C, $00, $01, $00, $01, $00, $02, $00, $03, $00 ; CPU:$8DC4 PRG:0DC4 00 02 01 00 00 6C 6C 00 01 00 01 00 02 00 03 00 + .byte $03, $00, $00, $00, $66, $6E, $F9, $61, $62, $63, $00, $03, $00, $01, $02, $01 ; CPU:$8DD4 PRG:0DD4 03 00 00 00 66 6E F9 61 62 63 00 03 00 01 02 01 + .byte $6C, $60, $61, $64, $6E, $F9, $6E, $6E, $F9, $6D, $67, $62, $61, $00, $03, $66 ; CPU:$8DE4 PRG:0DE4 6C 60 61 64 6E F9 6E 6E F9 6D 67 62 61 00 03 66 + .byte $6E, $F9, $6D, $F9, $F9, $6D, $F9, $6F, $6D, $F9, $6F, $AC, $6F, $65, $64, $6D ; CPU:$8DF4 PRG:0DF4 6E F9 6D F9 F9 6D F9 6F 6D F9 6F AC 6F 65 64 6D + .byte $F9, $6F, $6D, $6E, $F9, $6F, $6D, $6E, $A8, $A9, $AA, $B3, $AB, $6F, $6F, $F9 ; CPU:$8E04 PRG:0E04 F9 6F 6D 6E F9 6F 6D 6E A8 A9 AA B3 AB 6F 6F F9 + .byte $6F, $6D, $F9, $6E, $6D, $6D, $6F, $AA, $B0, $B1, $B3, $FA, $B1, $AB, $A9, $AC ; CPU:$8E14 PRG:0E14 6F 6D F9 6E 6D 6D 6F AA B0 B1 B3 FA B1 AB A9 AC + .byte $6E, $6F, $6F, $6F, $F9, $6F, $6D, $B3, $FA, $B0, $FA, $B3, $B0, $B2, $FA, $B0 ; CPU:$8E24 PRG:0E24 6E 6F 6F 6F F9 6F 6D B3 FA B0 FA B3 B0 B2 FA B0 + .byte $AB, $F9, $6D, $F9, $6D, $6E, $AC, $B0, $B3, $D0, $D0, $D0, $B3, $FA, $B0, $B2 ; CPU:$8E34 PRG:0E34 AB F9 6D F9 6D 6E AC B0 B3 D0 D0 D0 B3 FA B0 B2 + .byte $B3, $AB, $A8, $A9, $AC, $AA, $B0, $D0, $CE, $E4, $EB, $E9, $CF, $B1, $B3, $FA ; CPU:$8E44 PRG:0E44 B3 AB A8 A9 AC AA B0 D0 CE E4 EB E9 CF B1 B3 FA + .byte $B2, $B0, $B3, $B0, $B3, $FA, $B0, $ED, $E4, $E8, $EF, $EA, $E9, $D8, $B0, $B3 ; CPU:$8E54 PRG:0E54 B2 B0 B3 B0 B3 FA B0 ED E4 E8 EF EA E9 D8 B0 B3 + .byte $B0, $B3, $FA, $B2, $B0, $B3, $B2, $EA, $ED, $E5, $E5, $EF, $EB, $DB, $B1, $B0 ; CPU:$8E64 PRG:0E64 B0 B3 FA B2 B0 B3 B2 EA ED E5 E5 EF EB DB B1 B0 + .byte $FA, $B0, $B0, $D2, $D1, $D1, $D3, $E6, $EE, $E5, $E5, $EC, $E6, $DA, $B0, $B0 ; CPU:$8E74 PRG:0E74 FA B0 B0 D2 D1 D1 D3 E6 EE E5 E5 EC E6 DA B0 B0 + .byte $B0, $B1, $D7, $EA, $ED, $EB, $E6, $EB, $EA, $EE, $E7, $ED, $EB, $D8, $B2, $FA ; CPU:$8E84 PRG:0E84 B0 B1 D7 EA ED EB E6 EB EA EE E7 ED EB D8 B2 FA + .byte $B0, $B2, $E1, $EB, $EB, $EA, $EB, $E4, $E6, $E9, $E6, $EB, $E7, $CF, $D0, $D2 ; CPU:$8E94 PRG:0E94 B0 B2 E1 EB EB EA EB E4 E6 E9 E6 EB E7 CF D0 D2 + .byte $D3, $CE, $EB, $E6, $EE, $EB, $EC, $FF, $FF, $FF, $72, $73, $7D, $B1, $E1, $EB ; CPU:$8EA4 PRG:0EA4 D3 CE EB E6 EE EB EC FF FF FF 72 73 7D B1 E1 EB + .byte $ED, $E5, $E5, $EF, $EA, $EE, $EF, $73, $70, $7D, $B2, $B3, $D0, $CE, $EC, $ED ; CPU:$8EB4 PRG:0EB4 ED E5 E5 EF EA EE EF 73 70 7D B2 B3 D0 CE EC ED + .byte $E5, $E5, $E5, $EF, $EB, $E7, $9B, $B0, $B2, $B3, $D0, $CE, $E6, $EB, $ED, $E5 ; CPU:$8EC4 PRG:0EC4 E5 E5 E5 EF EB E7 9B B0 B2 B3 D0 CE E6 EB ED E5 + .byte $EE, $E5, $EC, $E5, $EC, $8B, $04, $D2, $D1, $E2, $ED, $E8, $EB, $E5, $EB, $EC ; CPU:$8ED4 PRG:0ED4 EE E5 EC E5 EC 8B 04 D2 D1 E2 ED E8 EB E5 EB EC + .byte $EA, $EB, $EE, $EB, $8B, $04, $88, $EB, $ED, $EB, $EF, $E5, $EC, $EE, $EC, $E6 ; CPU:$8EE4 PRG:0EE4 EA EB EE EB 8B 04 88 EB ED EB EF E5 EC EE EC E6 + .byte $9B, $99, $98, $9D, $FF, $88, $E8, $E5, $E5, $E5, $E5, $EB, $E7, $87, $98, $9D ; CPU:$8EF4 PRG:0EF4 9B 99 98 9D FF 88 E8 E5 E5 E5 E5 EB E7 87 98 9D + .byte $FF, $FF, $FF, $FF, $88, $EC, $EB, $EE, $E5, $E5, $EB, $EC, $EA, $8F, $FF, $FF ; CPU:$8F04 PRG:0F04 FF FF FF FF 88 EC EB EE E5 E5 EB EC EA 8F FF FF + .byte $FF, $FF, $94, $92, $EB, $E4, $E5, $E4, $EE, $E6, $E7, $E4, $EB, $EB, $93, $91 ; CPU:$8F14 PRG:0F14 FF FF 94 92 EB E4 E5 E4 EE E6 E7 E4 EB EB 93 91 + .byte $90, $96, $EA, $EB, $E5, $EF, $EC, $98, $98, $9A, $9F, $98, $9E, $EB, $EA, $EB ; CPU:$8F24 PRG:0F24 90 96 EA EB E5 EF EC 98 98 9A 9F 98 9E EB EA EB + .byte $E8, $EF, $EE, $E5, $E5, $EC, $EB, $FF, $FF, $FF, $FF, $FF, $FF, $9D, $98, $9E ; CPU:$8F34 PRG:0F34 E8 EF EE E5 E5 EC EB FF FF FF FF FF FF 9D 98 9E + .byte $EB, $E7, $EB, $EE, $EB, $E7, $E8, $90, $91, $92, $93, $90, $95, $FF, $FF, $FF ; CPU:$8F44 PRG:0F44 EB E7 EB EE EB E7 E8 90 91 92 93 90 95 FF FF FF + .byte $8A, $9B, $9A, $9F, $98, $9A, $EB, $ED, $EB, $EF, $EB, $E8, $EB, $97, $90, $95 ; CPU:$8F54 PRG:0F54 8A 9B 9A 9F 98 9A EB ED EB EF EB E8 EB 97 90 95 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $9C, $ED, $E5, $E5, $EF, $EC, $E8, $ED, $EB, $EB ; CPU:$8F64 PRG:0F64 FF FF FF FF FF FF 9C ED E5 E5 EF EC E8 ED EB EB + .byte $97, $90, $90, $92, $93, $95, $FF, $E5, $E5, $E5, $E5, $EE, $EB, $EB, $EB, $ED ; CPU:$8F74 PRG:0F74 97 90 90 92 93 95 FF E5 E5 E5 E5 EE EB EB EB ED + .byte $EB, $ED, $E5, $EF, $EB, $E7, $97, $E7, $EE, $E5, $EB, $E7, $EE, $EB, $EE, $E5 ; CPU:$8F84 PRG:0F84 EB ED E5 EF EB E7 97 E7 EE E5 EB E7 EE EB EE E5 + .byte $EC, $EE, $E7, $EC, $EE, $EC, $EA, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B1 ; CPU:$8F94 PRG:0F94 EC EE E7 EC EE EC EA FF FF FF FF FF FF FF 7A B1 + .byte $B1, $D5, $ED, $EF, $E6, $ED, $E8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E ; CPU:$8FA4 PRG:0FA4 B1 D5 ED EF E6 ED E8 FF FF FF FF FF FF FF FF 7E + .byte $B2, $D6, $EE, $E7, $E4, $E5, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D ; CPU:$8FB4 PRG:0FB4 B2 D6 EE E7 E4 E5 E5 FF FF FF FF FF FF FF FF 7D + .byte $B3, $D4, $E4, $ED, $E5, $E5, $EB, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B2 ; CPU:$8FC4 PRG:0FC4 B3 D4 E4 ED E5 E5 EB FF FF FF FF FF FF FF 7D B2 + .byte $B1, $CE, $EC, $E4, $E5, $EB, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B3, $B2 ; CPU:$8FD4 PRG:0FD4 B1 CE EC E4 E5 EB E5 FF FF FF FF FF FF 7A B3 B2 + .byte $D7, $EB, $EA, $EB, $E5, $E5, $EC, $FF, $FF, $FF, $FF, $FF, $FF, $7B, $B2, $B1 ; CPU:$8FE4 PRG:0FE4 D7 EB EA EB E5 E5 EC FF FF FF FF FF FF 7B B2 B1 + .byte $D5, $EA, $E4, $E5, $E5, $EB, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2 ; CPU:$8FF4 PRG:0FF4 D5 EA E4 E5 E5 EB E5 FF FF FF FF FF FF FF 7E B2 + .byte $D6, $E8, $EB, $EC, $EB, $E5, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B0 ; CPU:$9004 PRG:1004 D6 E8 EB EC EB E5 E5 FF FF FF FF FF FF FF 7A B0 + .byte $D4, $EC, $ED, $EF, $E4, $EE, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E ; CPU:$9014 PRG:1014 D4 EC ED EF E4 EE E5 FF FF FF FF FF FF FF FF 7E + .byte $B2, $CC, $EE, $EB, $E6, $E7, $EE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7B ; CPU:$9024 PRG:1024 B2 CC EE EB E6 E7 EE FF FF FF FF FF FF FF FF 7B + .byte $B3, $B2, $C4, $C6, $C1, $C0, $C7, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D ; CPU:$9034 PRG:1034 B3 B2 C4 C6 C1 C0 C7 FF FF FF FF FF FF FF FF 7D + .byte $B1, $B0, $B2, $B0, $B2, $B2, $B1, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7A, $B1 ; CPU:$9044 PRG:1044 B1 B0 B2 B0 B2 B2 B1 FF FF FF FF FF FF FF 7A B1 + .byte $B2, $B2, $B0, $B2, $B3, $B0, $B3, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B0 ; CPU:$9054 PRG:1054 B2 B2 B0 B2 B3 B0 B3 FF FF FF FF FF FF FF 7D B0 + .byte $B3, $B2, $B3, $B1, $B2, $D2, $D1, $FF, $FF, $FF, $FF, $FF, $FF, $7D, $B2, $D0 ; CPU:$9064 PRG:1064 B3 B2 B3 B1 B2 D2 D1 FF FF FF FF FF FF 7D B2 D0 + .byte $D0, $D2, $D1, $D3, $CE, $ED, $EF, $FF, $FF, $FF, $FF, $FF, $7A, $B1, $D7, $E4 ; CPU:$9074 PRG:1074 D0 D2 D1 D3 CE ED EF FF FF FF FF FF 7A B1 D7 E4 + .byte $ED, $E8, $E8, $EF, $E6, $EE, $E7, $EC, $ED, $E5, $EF, $E8, $E8, $ED, $E5, $EF ; CPU:$9084 PRG:1084 ED E8 E8 EF E6 EE E7 EC ED E5 EF E8 E8 ED E5 EF + .byte $E6, $ED, $EB, $E7, $EB, $EA, $EB, $E5, $E5, $ED, $E5, $E5, $EB, $E5, $EF, $EB ; CPU:$9094 PRG:1094 E6 ED EB E7 EB EA EB E5 E5 ED E5 E5 EB E5 EF EB + .byte $E7, $E4, $EC, $9B, $9A, $9F, $98, $E5, $E4, $E5, $E4, $E5, $E5, $E5, $E5, $EC ; CPU:$90A4 PRG:10A4 E7 E4 EC 9B 9A 9F 98 E5 E4 E5 E4 E5 E5 E5 E5 EC + .byte $E6, $EB, $8B, $FF, $FF, $FF, $FF, $E5, $EE, $E5, $E5, $EB, $E4, $EB, $E7, $E4 ; CPU:$90B4 PRG:10B4 E6 EB 8B FF FF FF FF E5 EE E5 E5 EB E4 EB E7 E4 + .byte $E7, $8B, $FF, $88, $97, $92, $93, $EE, $E4, $EB, $EE, $E4, $E7, $EC, $EB, $EB ; CPU:$90C4 PRG:10C4 E7 8B FF 88 97 92 93 EE E4 EB EE E4 E7 EC EB EB + .byte $8B, $FF, $88, $ED, $EF, $ED, $EF, $9E, $9F, $98, $9A, $9B, $98, $9A, $9F, $9D ; CPU:$90D4 PRG:10D4 8B FF 88 ED EF ED EF 9E 9F 98 9A 9B 98 9A 9F 9D + .byte $FF, $8E, $ED, $EB, $ED, $E5, $E5, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$90E4 PRG:10E4 FF 8E ED EB ED E5 E5 FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $8D, $EC, $E8, $EE, $E5, $90, $90, $92, $93, $92, $97, $96, $93, $92 ; CPU:$90F4 PRG:10F4 FF FF 8D EC E8 EE E5 90 90 92 93 92 97 96 93 92 + .byte $89, $FF, $8C, $E4, $EB, $E4, $EE, $E8, $EB, $E5, $EB, $EB, $EC, $EB, $E8, $EB ; CPU:$9104 PRG:1104 89 FF 8C E4 EB E4 EE E8 EB E5 EB EB EC EB E8 EB + .byte $EF, $89, $FF, $9C, $98, $9E, $E4, $E5, $EE, $E7, $EB, $E7, $E9, $E5, $EB, $E5 ; CPU:$9114 PRG:1114 EF 89 FF 9C 98 9E E4 E5 EE E7 EB E7 E9 E5 EB E5 + .byte $EB, $E4, $89, $FF, $FF, $FF, $9C, $C9, $C0, $CC, $CA, $CB, $EB, $E6, $EE, $EE ; CPU:$9124 PRG:1124 EB E4 89 FF FF FF 9C C9 C0 CC CA CB EB E6 EE EE + .byte $E5, $EF, $E9, $97, $90, $95, $FF, $B0, $B1, $B2, $B3, $B2, $C7, $C5, $CC, $EB ; CPU:$9134 PRG:1134 E5 EF E9 97 90 95 FF B0 B1 B2 B3 B2 C7 C5 CC EB + .byte $EE, $EB, $E4, $E8, $E8, $E4, $89, $74, $76, $75, $7E, $B3, $B2, $B1, $B0, $C1 ; CPU:$9144 PRG:1144 EE EB E4 E8 E8 E4 89 74 76 75 7E B3 B2 B1 B0 C1 + .byte $E0, $E7, $ED, $E5, $E5, $EF, $EA, $FF, $FF, $FF, $FF, $76, $77, $7E, $B2, $B3 ; CPU:$9154 PRG:1154 E0 E7 ED E5 E5 EF EA FF FF FF FF 76 77 7E B2 B3 + .byte $D6, $ED, $E5, $E5, $EC, $E5, $E7, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7E, $B2 ; CPU:$9164 PRG:1164 D6 ED E5 E5 EC E5 E7 FF FF FF FF FF FF FF 7E B2 + .byte $B0, $E0, $EE, $E7, $EB, $EC, $E7, $B0, $B3, $B2, $FA, $B2, $D2, $D1, $D3, $B2 ; CPU:$9174 PRG:1174 B0 E0 EE E7 EB EC E7 B0 B3 B2 FA B2 D2 D1 D3 B2 + .byte $FA, $B3, $FA, $B1, $B2, $B2, $FA, $FA, $B3, $B1, $FA, $CE, $EA, $EA, $E4, $6F ; CPU:$9184 PRG:1184 FA B3 FA B1 B2 B2 FA FA B3 B1 FA CE EA EA E4 6F + .byte $D0, $D2, $D1, $D3, $B0, $FA, $D0, $B0, $B2, $FA, $D4, $E6, $E4, $E8, $E8, $EF ; CPU:$9194 PRG:1194 D0 D2 D1 D3 B0 FA D0 B0 B2 FA D4 E6 E4 E8 E8 EF + .byte $E6, $EA, $E8, $E6, $CF, $CE, $E8, $B3, $B2, $FA, $D7, $E9, $E4, $E5, $E5, $E5 ; CPU:$91A4 PRG:11A4 E6 EA E8 E6 CF CE E8 B3 B2 FA D7 E9 E4 E5 E5 E5 + .byte $EF, $ED, $E5, $EF, $E6, $EA, $E7, $B0, $B2, $B1, $D5, $EA, $EA, $E5, $E5, $E5 ; CPU:$91B4 PRG:11B4 EF ED E5 EF E6 EA E7 B0 B2 B1 D5 EA EA E5 E5 E5 + .byte $E5, $EC, $EE, $EC, $E9, $E8, $EF, $FA, $B0, $B2, $D6, $E9, $E6, $EE, $E5, $E5 ; CPU:$91C4 PRG:11C4 E5 EC EE EC E9 E8 EF FA B0 B2 D6 E9 E6 EE E5 E5 + .byte $E7, $EA, $E5, $E7, $ED, $E5, $E7, $B3, $FA, $B1, $FA, $CC, $EA, $E9, $E6, $EC ; CPU:$91D4 PRG:11D4 E7 EA E5 E7 ED E5 E7 B3 FA B1 FA CC EA E9 E6 EC + .byte $EA, $E9, $EE, $EE, $E5, $E5, $EC, $B2, $B1, $B2, $B3, $FA, $C4, $C5, $C7, $CB ; CPU:$91E4 PRG:11E4 EA E9 EE EE E5 E5 EC B2 B1 B2 B3 FA C4 C5 C7 CB + .byte $EE, $E4, $E8, $E6, $EE, $EC, $E6, $B0, $B2, $FA, $FA, $FA, $FA, $FA, $FA, $FA ; CPU:$91F4 PRG:11F4 EE E4 E8 E6 EE EC E6 B0 B2 FA FA FA FA FA FA FA + .byte $C1, $CC, $EE, $E4, $EC, $E4, $EA, $FA, $FA, $FA, $F7, $FA, $FA, $FA, $F7, $FA ; CPU:$9204 PRG:1204 C1 CC EE E4 EC E4 EA FA FA FA F7 FA FA FA F7 FA + .byte $FA, $FA, $C4, $C2, $C5, $CC, $E4, $FA, $DD, $FA, $FA, $FA, $DD, $F8, $FA, $FA ; CPU:$9214 PRG:1214 FA FA C4 C2 C5 CC E4 FA DD FA FA FA DD F8 FA FA + .byte $FA, $DD, $FA, $FA, $B0, $B3, $C8, $FA, $F6, $FA, $FA, $DD, $FA, $F6, $FA, $DD ; CPU:$9224 PRG:1224 FA DD FA FA B0 B3 C8 FA F6 FA FA DD FA F6 FA DD + .byte $FA, $FA, $FA, $FA, $FA, $FA, $FA, $F5, $FA, $FA, $FA, $F7, $F8, $F7, $F6, $F8 ; CPU:$9234 PRG:1234 FA FA FA FA FA FA FA F5 FA FA FA F7 F8 F7 F6 F8 + .byte $FA, $DD, $FA, $F7, $FA, $F5, $FA, $FA, $DD, $F6, $F8, $FA, $DD, $FA, $F6, $DD ; CPU:$9244 PRG:1244 FA DD FA F7 FA F5 FA FA DD F6 F8 FA DD FA F6 DD + .byte $F4, $F7, $F7, $FA, $F8, $FA, $F1, $F6, $F1, $DD, $F6, $F7, $F5, $F6, $F8, $F7 ; CPU:$9254 PRG:1254 F4 F7 F7 FA F8 FA F1 F6 F1 DD F6 F7 F5 F6 F8 F7 + .byte $FA, $F6, $F8, $DD, $F8, $F6, $F3, $F4, $F2, $FA, $F3, $F0, $F2, $F4, $F0, $F5 ; CPU:$9264 PRG:1264 FA F6 F8 DD F8 F6 F3 F4 F2 FA F3 F0 F2 F4 F0 F5 + .byte $F3, $FA, $F2, $F4, $F3, $F1, $F0, $F5, $F3, $F5, $FA, $F2, $F3, $F1, $F3, $F2 ; CPU:$9274 PRG:1274 F3 FA F2 F4 F3 F1 F0 F5 F3 F5 FA F2 F3 F1 F3 F2 + .byte $FA, $F0, $F3, $F0, $F0, $F2, $FA, $F2, $F4, $D0, $D0, $D0, $F5, $F2, $F0, $F4 ; CPU:$9284 PRG:1284 FA F0 F3 F0 F0 F2 FA F2 F4 D0 D0 D0 F5 F2 F0 F4 + .byte $F0, $F5, $F4, $F1, $F2, $F1, $F7, $F5, $D7, $9F, $99, $9E, $DB, $F4, $F3, $F2 ; CPU:$9294 PRG:1294 F0 F5 F4 F1 F2 F1 F7 F5 D7 9F 99 9E DB F4 F3 F2 + .byte $F1, $F5, $F1, $F0, $F3, $F5, $F4, $F4, $D5, $FF, $FF, $88, $DA, $F0, $F2, $F5 ; CPU:$92A4 PRG:12A4 F1 F5 F1 F0 F3 F5 F4 F4 D5 FF FF 88 DA F0 F2 F5 + .byte $FA, $F2, $F4, $F5, $FA, $F8, $F7, $F0, $D6, $97, $96, $CD, $F4, $F3, $F1, $F4 ; CPU:$92B4 PRG:12B4 FA F2 F4 F5 FA F8 F7 F0 D6 97 96 CD F4 F3 F1 F4 + .byte $F0, $FA, $F1, $F8, $F6, $DD, $F6, $FA, $F5, $C1, $C0, $F2, $F1, $F5, $FA, $F5 ; CPU:$92C4 PRG:12C4 F0 FA F1 F8 F6 DD F6 FA F5 C1 C0 F2 F1 F5 FA F5 + .byte $FA, $F4, $F3, $FA, $F8, $FA, $F5, $FA, $DD, $F3, $F1, $F8, $DD, $F3, $F6, $F2 ; CPU:$92D4 PRG:12D4 FA F4 F3 FA F8 FA F5 FA DD F3 F1 F8 DD F3 F6 F2 + .byte $F7, $DD, $F6, $F8, $FA, $FA, $FA, $DD, $FA, $F6, $F7, $DD, $F6, $F8, $F7, $FA ; CPU:$92E4 PRG:12E4 F7 DD F6 F8 FA FA FA DD FA F6 F7 DD F6 F8 F7 FA + .byte $F8, $F6, $F8, $FA, $FA, $F4, $FA, $FA, $F7, $F8, $DD, $FA, $F8, $FA, $F6, $DD ; CPU:$92F4 PRG:12F4 F8 F6 F8 FA FA F4 FA FA F7 F8 DD FA F8 FA F6 DD + .byte $DD, $F7, $FA, $FA, $DD, $FA, $FA, $F4, $FA, $FA, $FA, $F6, $DD, $F7, $FA, $F8 ; CPU:$9304 PRG:1304 DD F7 FA FA DD FA FA F4 FA FA FA F6 DD F7 FA F8 + .byte $FA, $FA, $FA, $FA, $FA, $F4, $FA, $FA, $FA, $DD, $FA, $FA, $F7, $F6, $FA, $FA ; CPU:$9314 PRG:1314 FA FA FA FA FA F4 FA FA FA DD FA FA F7 F6 FA FA + .byte $DD, $F7, $FA, $FA, $FA, $B0, $B2, $FA, $FA, $FA, $F4, $FA, $DD, $FA, $FA, $FA ; CPU:$9324 PRG:1324 DD F7 FA FA FA B0 B2 FA FA FA F4 FA DD FA FA FA + .byte $FA, $FA, $FA, $FA, $B2, $B1, $FA, $B0, $FA, $FA, $F7, $FA, $FA, $FA, $FA, $FA ; CPU:$9334 PRG:1334 FA FA FA FA B2 B1 FA B0 FA FA F7 FA FA FA FA FA + .byte $FA, $FA, $B2, $B3, $FA, $B2, $B0, $FA, $B1, $B2, $FA, $FA, $FA, $B3, $FA, $B2 ; CPU:$9344 PRG:1344 FA FA B2 B3 FA B2 B0 FA B1 B2 FA FA FA B3 FA B2 + .byte $B1, $FA, $B0, $FA, $B2, $B0, $B1, $D0, $D0, $FA, $B3, $D0, $FA, $B2, $FA, $B2 ; CPU:$9354 PRG:1354 B1 FA B0 FA B2 B0 B1 D0 D0 FA B3 D0 FA B2 FA B2 + .byte $B1, $FA, $D0, $FA, $B0, $FA, $B2, $EF, $E6, $E3, $E2, $E6, $CF, $FA, $B0, $FA ; CPU:$9364 PRG:1364 B1 FA D0 FA B0 FA B2 EF E6 E3 E2 E6 CF FA B0 FA + .byte $D2, $E2, $EA, $E3, $D3, $D2, $D1, $E5, $EF, $E8, $EA, $E9, $EA, $D8, $B2, $CE ; CPU:$9374 PRG:1374 D2 E2 EA E3 D3 D2 D1 E5 EF E8 EA E9 EA D8 B2 CE + .byte $E6, $ED, $E8, $E6, $EA, $ED, $EF, $E5, $E5, $E5, $EC, $E4, $CD, $B3, $D4, $E4 ; CPU:$9384 PRG:1384 E6 ED E8 E6 EA ED EF E5 E5 E5 EC E4 CD B3 D4 E4 + .byte $EF, $E4, $E5, $EF, $E8, $E5, $E5, $E5, $E5, $E7, $E6, $E9, $DB, $B0, $B1, $CC ; CPU:$9394 PRG:1394 EF E4 E5 EF E8 E5 E5 E5 E5 E7 E6 E9 DB B0 B1 CC + .byte $E6, $EE, $E5, $E5, $E5, $E5, $E5, $E5, $EC, $E4, $E9, $EA, $D9, $FA, $B2, $D4 ; CPU:$93A4 PRG:13A4 E6 EE E5 E5 E5 E5 E5 E5 EC E4 E9 EA D9 FA B2 D4 + .byte $EE, $E5, $EE, $EE, $E5, $E5, $E5, $E7, $EA, $E6, $EA, $E4, $DA, $B0, $B3, $B2 ; CPU:$93B4 PRG:13B4 EE E5 EE EE E5 E5 E5 E7 EA E6 EA E4 DA B0 B3 B2 + .byte $CC, $EE, $EC, $E4, $EC, $ED, $EC, $CB, $EE, $E7, $E4, $E6, $D8, $B1, $FA, $B3 ; CPU:$93C4 PRG:13C4 CC EE EC E4 EC ED EC CB EE E7 E4 E6 D8 B1 FA B3 + .byte $B2, $C4, $C2, $CB, $EE, $E4, $E6, $FA, $C8, $CB, $EC, $CD, $FA, $B0, $FA, $FA ; CPU:$93D4 PRG:13D4 B2 C4 C2 CB EE E4 E6 FA C8 CB EC CD FA B0 FA FA + .byte $B2, $B3, $B1, $FA, $C8, $C9, $C4, $FA, $FA, $FA, $C1, $FA, $FA, $FA, $FA, $FA ; CPU:$93E4 PRG:13E4 B2 B3 B1 FA C8 C9 C4 FA FA FA C1 FA FA FA FA FA + .byte $FA, $B2, $FA, $FA, $B2, $FA, $B0, $FA, $FA, $FA, $FA, $DD, $FA, $FA, $FA, $F7 ; CPU:$93F4 PRG:13F4 FA B2 FA FA B2 FA B0 FA FA FA FA DD FA FA FA F7 + .byte $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $F7, $F4, $F6, $FA, $FA, $F6, $F5, $FA ; CPU:$9404 PRG:1404 FA FA FA FA FA FA FA FA F7 F4 F6 FA FA F6 F5 FA + .byte $F8, $FA, $FA, $FA, $DD, $FA, $FA, $FA, $FA, $F8, $F5, $F4, $FA, $FA, $F7, $FA ; CPU:$9414 PRG:1414 F8 FA FA FA DD FA FA FA FA F8 F5 F4 FA FA F7 FA + .byte $DD, $FA, $F7, $FA, $F5, $DD, $FA, $FA, $F6, $FA, $F3, $F2, $FA, $F4, $FA, $F1 ; CPU:$9424 PRG:1424 DD FA F7 FA F5 DD FA FA F6 FA F3 F2 FA F4 FA F1 + .byte $FA, $F3, $F6, $FA, $F6, $FA, $F4, $F8, $DD, $F1, $F5, $F4, $F0, $F5, $F1, $F2 ; CPU:$9434 PRG:1434 FA F3 F6 FA F6 FA F4 F8 DD F1 F5 F4 F0 F5 F1 F2 + .byte $F3, $F4, $DD, $F1, $F2, $F4, $FA, $6D, $F9, $6E, $6D, $F9, $6D, $F9, $6E, $FB ; CPU:$9444 PRG:1444 F3 F4 DD F1 F2 F4 FA 6D F9 6E 6D F9 6D F9 6E FB + .byte $6E, $FB, $FC, $FB, $FB, $6D, $F9, $FB, $6E, $FB, $FC, $6F, $F9, $6E, $F9, $6D ; CPU:$9454 PRG:1454 6E FB FC FB FB 6D F9 FB 6E FB FC 6F F9 6E F9 6D + .byte $F9, $FC, $6D, $FC, $F9, $FB, $6D, $FC, $F9, $6E, $6F, $FC, $FB, $6F, $FB, $FC ; CPU:$9464 PRG:1464 F9 FC 6D FC F9 FB 6D FC F9 6E 6F FC FB 6F FB FC + .byte $6D, $F9, $F9, $FB, $FC, $6F, $F9, $F9, $FC, $6F, $F9, $F9, $6F, $F9, $6F, $F9 ; CPU:$9474 PRG:1474 6D F9 F9 FB FC 6F F9 F9 FC 6F F9 F9 6F F9 6F F9 + .byte $F9, $6D, $FB, $FC, $F9, $6E, $F9, $6F, $FB, $F9, $6D, $6F, $F9, $6D, $F9, $6D ; CPU:$9484 PRG:1484 F9 6D FB FC F9 6E F9 6F FB F9 6D 6F F9 6D F9 6D + .byte $6F, $FC, $6E, $FB, $6E, $FB, $6D, $FB, $FC, $FB, $F9, $F9, $59, $56, $57, $5C ; CPU:$9494 PRG:1494 6F FC 6E FB 6E FB 6D FB FC FB F9 F9 59 56 57 5C + .byte $F9, $6F, $F9, $6D, $FC, $6F, $FB, $FC, $6F, $F9, $F9, $5D, $03, $00, $02, $69 ; CPU:$94A4 PRG:14A4 F9 6F F9 6D FC 6F FB FC 6F F9 F9 5D 03 00 02 69 + .byte $6D, $F9, $FB, $6F, $6D, $FB, $F9, $F9, $F9, $6D, $F9, $68, $00, $01, $00, $6B ; CPU:$94B4 PRG:14B4 6D F9 FB 6F 6D FB F9 F9 F9 6D F9 68 00 01 00 6B + .byte $F9, $6E, $6D, $FB, $F9, $FC, $6E, $F9, $6E, $F9, $5D, $00, $03, $02, $00, $69 ; CPU:$94C4 PRG:14C4 F9 6E 6D FB F9 FC 6E F9 6E F9 5D 00 03 02 00 69 + .byte $F9, $6D, $F9, $6E, $FC, $6D, $6D, $50, $52, $55, $03, $02, $00, $00, $01, $00 ; CPU:$94D4 PRG:14D4 F9 6D F9 6E FC 6D 6D 50 52 55 03 02 00 00 01 00 + .byte $58, $F9, $6F, $F9, $6D, $FB, $F9, $00, $02, $01, $01, $00, $03, $00, $02, $01 ; CPU:$94E4 PRG:14E4 58 F9 6F F9 6D FB F9 00 02 01 01 00 03 00 02 01 + .byte $69, $F9, $F9, $6E, $F9, $6F, $F9, $02, $00, $00, $00, $02, $00, $03, $00, $00 ; CPU:$94F4 PRG:14F4 69 F9 F9 6E F9 6F F9 02 00 00 00 02 00 03 00 00 + .byte $02, $51, $5A, $F9, $6F, $6D, $6E, $00, $02, $02, $00, $03, $00, $00, $02, $00 ; CPU:$9504 PRG:1504 02 51 5A F9 6F 6D 6E 00 02 02 00 03 00 00 02 00 + .byte $00, $03, $01, $58, $F9, $6F, $F9, $03, $00, $00, $01, $00, $00, $01, $02, $00 ; CPU:$9514 PRG:1514 00 03 01 58 F9 6F F9 03 00 00 01 00 00 01 02 00 + .byte $03, $00, $00, $02, $54, $55, $50, $00, $00, $03, $00, $02, $01, $00, $00, $01 ; CPU:$9524 PRG:1524 03 00 00 02 54 55 50 00 00 03 00 02 01 00 00 01 + .byte $00, $00, $01, $00, $01, $00, $01, $E8, $EF, $E6, $EA, $EB, $E7, $EB, $E6, $E4 ; CPU:$9534 PRG:1534 00 00 01 00 01 00 01 E8 EF E6 EA EB E7 EB E6 E4 + .byte $EC, $E6, $CA, $C9, $C4, $C2, $C9, $E5, $E5, $EF, $EB, $E6, $EA, $CA, $C9, $C4 ; CPU:$9544 PRG:1544 EC E6 CA C9 C4 C2 C9 E5 E5 EF EB E6 EA CA C9 C4 + .byte $C5, $C1, $B0, $B2, $7F, $76, $75, $EB, $E5, $E5, $EC, $E4, $EB, $D8, $B1, $FA ; CPU:$9554 PRG:1554 C5 C1 B0 B2 7F 76 75 EB E5 E5 EC E4 EB D8 B1 FA + .byte $B1, $B3, $FA, $B1, $7C, $FF, $FF, $E5, $E5, $EB, $E7, $CA, $C9, $B0, $7F, $76 ; CPU:$9564 PRG:1564 B1 B3 FA B1 7C FF FF E5 E5 EB E7 CA C9 B0 7F 76 + .byte $77, $7E, $B0, $B2, $B3, $7C, $70, $E5, $E5, $EC, $CD, $B3, $B2, $7F, $FF, $FF ; CPU:$9574 PRG:1574 77 7E B0 B2 B3 7C 70 E5 E5 EC CD B3 B2 7F FF FF + .byte $FF, $FF, $7E, $B0, $FA, $B1, $B2, $E5, $E7, $EB, $DB, $FA, $B1, $7C, $70, $FF ; CPU:$9584 PRG:1584 FF FF 7E B0 FA B1 B2 E5 E7 EB DB FA B1 7C 70 FF + .byte $FF, $FF, $81, $B2, $A4, $A2, $A3, $EE, $EB, $E4, $D9, $B3, $B0, $FA, $B2, $7C ; CPU:$9594 PRG:1594 FF FF 81 B2 A4 A2 A3 EE EB E4 D9 B3 B0 FA B2 7C + .byte $FF, $FF, $80, $FA, $AE, $6F, $FC, $E4, $E6, $E7, $DA, $B1, $FA, $B0, $B3, $B1 ; CPU:$95A4 PRG:15A4 FF FF 80 FA AE 6F FC E4 E6 E7 DA B1 FA B0 B3 B1 + .byte $7C, $71, $7D, $B3, $AE, $FC, $6F, $C8, $C3, $C6, $B0, $B2, $B1, $A4, $A2, $A7 ; CPU:$95B4 PRG:15B4 7C 71 7D B3 AE FC 6F C8 C3 C6 B0 B2 B1 A4 A2 A7 + .byte $B2, $B0, $B0, $A6, $6F, $6E, $F9, $FA, $B3, $B2, $A4, $A2, $A1, $FC, $6E, $6D ; CPU:$95C4 PRG:15C4 B2 B0 B0 A6 6F 6E F9 FA B3 B2 A4 A2 A1 FC 6E 6D + .byte $A3, $A0, $A2, $6D, $FB, $6F, $FC, $B2, $B1, $A6, $F9, $6D, $FB, $6D, $6D, $FB ; CPU:$95D4 PRG:15D4 A3 A0 A2 6D FB 6F FC B2 B1 A6 F9 6D FB 6D 6D FB + .byte $6D, $F9, $FC, $FB, $FC, $F9, $6F, $A4, $A2, $6F, $6E, $FB, $FC, $6E, $FB, $F9 ; CPU:$95E4 PRG:15E4 6D F9 FC FB FC F9 6F A4 A2 6F 6E FB FC 6E FB F9 + .byte $F9, $6D, $F9, $6E, $F9, $6E, $F9, $F9, $FC, $FB, $6F, $F9, $6D, $FB, $6D, $6E ; CPU:$95F4 PRG:15F4 F9 6D F9 6E F9 6E F9 F9 FC FB 6F F9 6D FB 6D 6E + .byte $FB, $FB, $6D, $6F, $FB, $6F, $F9, $FC, $6F, $6D, $F9, $6D, $F9, $6F, $FB, $F9 ; CPU:$9604 PRG:1604 FB FB 6D 6F FB 6F F9 FC 6F 6D F9 6D F9 6F FB F9 + .byte $6D, $6E, $FC, $FB, $FC, $FB, $FC, $6F, $F9, $FC, $6D, $FB, $FC, $6E, $6E, $FB ; CPU:$9614 PRG:1614 6D 6E FC FB FC FB FC 6F F9 FC 6D FB FC 6E 6E FB + .byte $6D, $FC, $6F, $FB, $F9, $FC, $6D, $02, $00, $02, $00, $03, $01, $02, $00, $02 ; CPU:$9624 PRG:1624 6D FC 6F FB F9 FC 6D 02 00 02 00 03 01 02 00 02 + .byte $00, $02, $03, $00, $01, $00, $03, $00, $01, $02, $01, $00, $01, $00, $02, $00 ; CPU:$9634 PRG:1634 00 02 03 00 01 00 03 00 01 02 01 00 01 00 02 00 + .byte $03, $03, $00, $01, $00, $02, $00, $01, $00, $02, $02, $03, $00, $03, $00, $02 ; CPU:$9644 PRG:1644 03 03 00 01 00 02 00 01 00 02 02 03 00 03 00 02 + .byte $00, $01, $00, $94, $96, $97, $91, $00, $03, $01, $00, $00, $02, $03, $00, $01 ; CPU:$9654 PRG:1654 00 01 00 94 96 97 91 00 03 01 00 00 02 03 00 01 + .byte $00, $94, $96, $EB, $ED, $EB, $EF, $01, $02, $00, $03, $00, $00, $01, $02, $00 ; CPU:$9664 PRG:1664 00 94 96 EB ED EB EF 01 02 00 03 00 00 01 02 00 + .byte $8E, $ED, $EB, $EA, $ED, $E5, $E5, $00, $02, $03, $00, $01, $94, $91, $92, $89 ; CPU:$9674 PRG:1674 8E ED EB EA ED E5 E5 00 02 03 00 01 94 91 92 89 + .byte $88, $EB, $EB, $ED, $E5, $E5, $E5, $01, $00, $02, $00, $8E, $EB, $ED, $E8, $EB ; CPU:$9684 PRG:1684 88 EB EB ED E5 E5 E5 01 00 02 00 8E EB ED E8 EB + .byte $EB, $EC, $E9, $E5, $EF, $E5, $EC, $00, $01, $00, $02, $88, $EA, $ED, $E5, $EF ; CPU:$9694 PRG:1694 EB EC E9 E5 EF E5 EC 00 01 00 02 88 EA ED E5 EF + .byte $E7, $E6, $EA, $E5, $E5, $ED, $E5, $90, $92, $93, $96, $E8, $EF, $E5, $EB, $E5 ; CPU:$96A4 PRG:16A4 E7 E6 EA E5 E5 ED E5 90 92 93 96 E8 EF E5 EB E5 + .byte $EB, $EF, $E4, $EE, $E5, $E5, $E5, $EB, $E6, $EB, $EE, $EB, $EC, $EE, $E5, $E5 ; CPU:$96B4 PRG:16B4 EB EF E4 EE E5 E5 E5 EB E6 EB EE EB EC EE E5 E5 + .byte $E5, $EC, $E6, $E9, $EE, $E5, $E5, $E9, $EB, $E9, $EA, $EC, $E8, $E5, $EE, $EC ; CPU:$96C4 PRG:16C4 E5 EC E6 E9 EE E5 E5 E9 EB E9 EA EC E8 E5 EE EC + .byte $E7, $EA, $E9, $ED, $EB, $EF, $EC, $EA, $E4, $E6, $E4, $CA, $C6, $C8, $CB, $EE ; CPU:$96D4 PRG:16D4 E7 EA E9 ED EB EF EC EA E4 E6 E4 CA C6 C8 CB EE + .byte $EB, $E6, $E8, $E4, $E5, $E5, $EF, $EB, $CA, $C3, $C6, $B0, $FE, $B1, $B2, $CC ; CPU:$96E4 PRG:16E4 EB E6 E8 E4 E5 E5 EF EB CA C3 C6 B0 FE B1 B2 CC + .byte $E7, $E9, $EB, $EE, $EB, $EC, $EA, $C1, $B2, $B3, $FA, $B3, $FA, $B2, $FD, $B3 ; CPU:$96F4 PRG:16F4 E7 E9 EB EE EB EC EA C1 B2 B3 FA B3 FA B2 FD B3 + .byte $C4, $C6, $C8, $CB, $E6, $EB, $E4, $B2, $FD, $FE, $B0, $FE, $FA, $B1, $B2, $FE ; CPU:$9704 PRG:1704 C4 C6 C8 CB E6 EB E4 B2 FD FE B0 FE FA B1 B2 FE + .byte $B0, $B2, $FA, $B1, $C4, $C5, $C0, $D0, $D0, $B2, $B0, $B2, $FA, $B2, $B3, $78 ; CPU:$9714 PRG:1714 B0 B2 FA B1 C4 C5 C0 D0 D0 B2 B0 B2 FA B2 B3 78 + .byte $7B, $B2, $FA, $B2, $B0, $B0, $FA, $E6, $E4, $E3, $D3, $D0, $B1, $B1, $7F, $FF ; CPU:$9724 PRG:1724 7B B2 FA B2 B0 B0 FA E6 E4 E3 D3 D0 B1 B1 7F FF + .byte $7D, $B1, $B0, $FA, $FA, $B2, $B1, $E5, $EA, $EB, $E4, $EB, $DA, $FA, $79, $7A ; CPU:$9734 PRG:1734 7D B1 B0 FA FA B2 B1 E5 EA EB E4 EB DA FA 79 7A + .byte $B3, $FA, $B2, $B3, $D0, $D2, $D1, $EE, $E5, $E5, $EC, $EB, $D9, $B3, $79, $81 ; CPU:$9744 PRG:1744 B3 FA B2 B3 D0 D2 D1 EE E5 E5 EC EB D9 B3 79 81 + .byte $B1, $B0, $D2, $E2, $EB, $ED, $EF, $EA, $EE, $EC, $EB, $ED, $DA, $B0, $78, $80 ; CPU:$9754 PRG:1754 B1 B0 D2 E2 EB ED EF EA EE EC EB ED DA B0 78 80 + .byte $B2, $CE, $EB, $EA, $ED, $E5, $E5, $CB, $EB, $CA, $C2, $C5, $FA, $7F, $FF, $7D ; CPU:$9764 PRG:1764 B2 CE EB EA ED E5 E5 CB EB CA C2 C5 FA 7F FF 7D + .byte $D4, $E4, $EB, $EE, $E5, $E5, $E5, $FA, $C1, $B2, $B0, $B2, $B1, $78, $7A, $B2 ; CPU:$9774 PRG:1774 D4 E4 EB EE E5 E5 E5 FA C1 B2 B0 B2 B1 78 7A B2 + .byte $FA, $E0, $EA, $EB, $EE, $E5, $E5, $B3, $B2, $B1, $FA, $B3, $7F, $FF, $7D, $B1 ; CPU:$9784 PRG:1784 FA E0 EA EB EE E5 E5 B3 B2 B1 FA B3 7F FF 7D B1 + .byte $B2, $D6, $E4, $E6, $EB, $EC, $EB, $77, $76, $75, $74, $74, $70, $7D, $B0, $FA ; CPU:$9794 PRG:1794 B2 D6 E4 E6 EB EC EB 77 76 75 74 74 70 7D B0 FA + .byte $B2, $B3, $C1, $C0, $C7, $CB, $EC, $70, $71, $72, $73, $7D, $B3, $B2, $FA, $B2 ; CPU:$97A4 PRG:17A4 B2 B3 C1 C0 C7 CB EC 70 71 72 73 7D B3 B2 FA B2 + .byte $B0, $B3, $FA, $B1, $B2, $B1, $C4, $B3, $B2, $FA, $B2, $FA, $B1, $B0, $B3, $FA ; CPU:$97B4 PRG:17B4 B0 B3 FA B1 B2 B1 C4 B3 B2 FA B2 FA B1 B0 B3 FA + .byte $B1, $B2, $B0, $D0, $B3, $FA, $B0, $D1, $D3, $B1, $B2, $B0, $FA, $FA, $B2, $B3 ; CPU:$97C4 PRG:17C4 B1 B2 B0 D0 B3 FA B0 D1 D3 B1 B2 B0 FA FA B2 B3 + .byte $D0, $D2, $E2, $E8, $E3, $E2, $CF, $E4, $EB, $E3, $D3, $FA, $B0, $B2, $B1, $CE ; CPU:$97D4 PRG:17D4 D0 D2 E2 E8 E3 E2 CF E4 EB E3 D3 FA B0 B2 B1 CE + .byte $EF, $EB, $EC, $EB, $E8, $ED, $EF, $EA, $EC, $E8, $EB, $CF, $D0, $D2, $E2, $EB ; CPU:$97E4 PRG:17E4 EF EB EC EB E8 ED EF EA EC E8 EB CF D0 D2 E2 EB + .byte $E8, $EE, $E6, $E7, $EB, $EE, $E5, $EB, $E6, $EB, $E6, $E4, $EA, $E4, $ED, $E8 ; CPU:$97F4 PRG:17F4 E8 EE E6 E7 EB EE E5 EB E6 EB E6 E4 EA E4 ED E8 + .byte $EB, $E4, $EA, $EB, $EA, $EE, $EC, $B2, $FD, $FA, $FE, $FD, $B2, $FE, $AE, $AF ; CPU:$9804 PRG:1804 EB E4 EA EB EA EE EC B2 FD FA FE FD B2 FE AE AF + .byte $B3, $FA, $B2, $B1, $FD, $B1, $B3, $FA, $FE, $FA, $B1, $B3, $FD, $B0, $B4, $B7 ; CPU:$9814 PRG:1814 B3 FA B2 B1 FD B1 B3 FA FE FA B1 B3 FD B0 B4 B7 + .byte $A1, $A7, $B3, $FE, $B3, $FD, $B2, $D0, $D2, $D1, $D3, $FA, $FD, $B2, $FD, $FA ; CPU:$9824 PRG:1824 A1 A7 B3 FE B3 FD B2 D0 D2 D1 D3 FA FD B2 FD FA + .byte $AB, $6F, $A3, $A5, $FA, $FD, $B0, $ED, $E8, $E6, $EA, $D8, $B2, $FD, $FA, $FE ; CPU:$9834 PRG:1834 AB 6F A3 A5 FA FD B0 ED E8 E6 EA D8 B2 FD FA FE + .byte $FD, $B4, $B7, $A8, $A3, $A5, $A4, $E5, $E5, $EF, $E9, $CF, $B1, $B0, $FE, $B3 ; CPU:$9844 PRG:1844 FD B4 B7 A8 A3 A5 A4 E5 E5 EF E9 CF B1 B0 FE B3 + .byte $FE, $B0, $FD, $B0, $AB, $A8, $A9, $E5, $E5, $E5, $E7, $EB, $D8, $FD, $B1, $FD ; CPU:$9854 PRG:1854 FE B0 FD B0 AB A8 A9 E5 E5 E5 E7 EB D8 FD B1 FD + .byte $FA, $B0, $B2, $FA, $B2, $B0, $FA, $EE, $E5, $EC, $EB, $E6, $D8, $B2, $FD, $B2 ; CPU:$9864 PRG:1864 FA B0 B2 FA B2 B0 FA EE E5 EC EB E6 D8 B2 FD B2 + .byte $FD, $B2, $FE, $FD, $B1, $FD, $B2, $E8, $EC, $E6, $EA, $CD, $FA, $FD, $FA, $FD ; CPU:$9874 PRG:1874 FD B2 FE FD B1 FD B2 E8 EC E6 EA CD FA FD FA FD + .byte $FE, $B0, $FA, $B3, $B2, $FE, $FD, $E5, $E7, $E4, $CD, $B3, $B3, $B0, $FE, $FD ; CPU:$9884 PRG:1884 FE B0 FA B3 B2 FE FD E5 E7 E4 CD B3 B3 B0 FE FD + .byte $B2, $B1, $B3, $FA, $FD, $B1, $FA, $EE, $EC, $CD, $B1, $FA, $FD, $B2, $B1, $FD ; CPU:$9894 PRG:1894 B2 B1 B3 FA FD B1 FA EE EC CD B1 FA FD B2 B1 FD + .byte $FA, $B2, $FD, $D2, $D1, $D3, $B3, $E9, $EB, $CF, $D2, $D3, $B1, $FA, $B2, $B0 ; CPU:$98A4 PRG:18A4 FA B2 FD D2 D1 D3 B3 E9 EB CF D2 D3 B1 FA B2 B0 + .byte $B3, $FA, $D4, $E6, $EB, $EA, $E3, $EA, $E9, $E9, $E6, $CD, $FA, $B2, $FD, $FE ; CPU:$98B4 PRG:18B4 B3 FA D4 E6 EB EA E3 EA E9 E9 E6 CD FA B2 FD FE + .byte $FA, $D0, $CE, $E9, $EA, $EB, $EA, $E6, $E6, $EA, $E9, $D8, $B2, $FA, $B3, $B2 ; CPU:$98C4 PRG:18C4 FA D0 CE E9 EA EB EA E6 E6 EA E9 D8 B2 FA B3 B2 + .byte $CE, $E4, $EA, $EB, $E6, $ED, $E8, $E8, $EF, $E6, $E4, $E3, $D1, $D3, $D2, $E3 ; CPU:$98D4 PRG:18D4 CE E4 EA EB E6 ED E8 E8 EF E6 E4 E3 D1 D3 D2 E3 + .byte $E9, $EB, $E9, $E4, $EB, $EB, $E5, $E5, $EC, $E4, $EA, $E9, $E4, $EA, $ED, $EB ; CPU:$98E4 PRG:18E4 E9 EB E9 E4 EB EB E5 E5 EC E4 EA E9 E4 EA ED EB + .byte $EF, $EB, $EA, $ED, $E6, $EE, $EC, $E3, $D1, $D3, $D0, $D2, $E2, $CF, $D0, $D2 ; CPU:$98F4 PRG:18F4 EF EB EA ED E6 EE EC E3 D1 D3 D0 D2 E2 CF D0 D2 + .byte $D3, $B0, $FA, $B2, $FD, $B2, $B1, $EE, $EB, $E6, $E8, $E8, $E7, $EB, $EA, $EB ; CPU:$9904 PRG:1904 D3 B0 FA B2 FD B2 B1 EE EB E6 E8 E8 E7 EB EA EB + .byte $E6, $DB, $FD, $FE, $B0, $FD, $A4, $E6, $EA, $ED, $E5, $E5, $EF, $E9, $EB, $E4 ; CPU:$9914 PRG:1914 E6 DB FD FE B0 FD A4 E6 EA ED E5 E5 EF E9 EB E4 + .byte $EB, $DA, $B3, $B2, $A4, $A2, $B6, $EC, $E4, $EB, $E7, $EB, $CA, $C6, $CC, $CA ; CPU:$9924 PRG:1924 EB DA B3 B2 A4 A2 B6 EC E4 EB E7 EB CA C6 CC CA + .byte $C9, $FA, $B3, $A6, $B6, $B5, $B0, $C2, $C3, $C5, $C7, $C6, $FA, $B0, $FE, $B2 ; CPU:$9934 PRG:1934 C9 FA B3 A6 B6 B5 B0 C2 C3 C5 C7 C6 FA B0 FE B2 + .byte $B3, $B0, $A6, $AA, $B3, $B2, $FD, $B1, $FA, $FE, $B2, $B0, $B1, $A6, $A3, $A2 ; CPU:$9944 PRG:1944 B3 B0 A6 AA B3 B2 FD B1 FA FE B2 B0 B1 A6 A3 A2 + .byte $A3, $A2, $AA, $B3, $B0, $FA, $B1, $B0, $A4, $A0, $A5, $A6, $A1, $A8, $B6, $B5 ; CPU:$9954 PRG:1954 A3 A2 AA B3 B0 FA B1 B0 A4 A0 A5 A6 A1 A8 B6 B5 + .byte $B4, $B5, $B1, $FE, $B2, $B0, $FE, $A6, $A8, $6F, $6D, $6F, $AA, $B0, $FD, $B3 ; CPU:$9964 PRG:1964 B4 B5 B1 FE B2 B0 FE A6 A8 6F 6D 6F AA B0 FD B3 + .byte $B2, $FE, $FD, $B3, $FA, $FD, $B1, $B5, $B1, $B4, $B7, $AF, $B0, $FD, $B2, $FE ; CPU:$9974 PRG:1974 B2 FE FD B3 FA FD B1 B5 B1 B4 B7 AF B0 FD B2 FE + .byte $B1, $B3, $B0, $FD, $B3, $B2, $FE, $FE, $B2, $FD, $B0, $AE, $A7, $B3, $FA, $FD ; CPU:$9984 PRG:1984 B1 B3 B0 FD B3 B2 FE FE B2 FD B0 AE A7 B3 FA FD + .byte $B2, $FD, $B2, $B1, $FA, $B2, $B3, $B3, $FA, $FE, $FA, $AB, $AF, $B1, $B2, $FA ; CPU:$9994 PRG:1994 B2 FD B2 B1 FA B2 B3 B3 FA FE FA AB AF B1 B2 FA + .byte $FD, $B1, $FA, $FD, $B1, $B2, $FA, $FE, $FD, $B3, $B2, $B0, $AE, $A7, $B2, $B0 ; CPU:$99A4 PRG:19A4 FD B1 FA FD B1 B2 FA FE FD B3 B2 B0 AE A7 B2 B0 + .byte $FD, $B3, $B2, $B0, $FD, $FA, $B0, $B0, $B2, $FA, $B1, $FD, $AB, $AF, $B0, $FA ; CPU:$99B4 PRG:19B4 FD B3 B2 B0 FD FA B0 B0 B2 FA B1 FD AB AF B0 FA + .byte $B1, $B2, $FD, $FE, $FD, $FD, $B3, $FA, $FD, $B0, $B2, $B1, $FE, $AB, $A7, $B0 ; CPU:$99C4 PRG:19C4 B1 B2 FD FE FD FD B3 FA FD B0 B2 B1 FE AB A7 B0 + .byte $B2, $FD, $B0, $B3, $FD, $FE, $FA, $FE, $B3, $FD, $FA, $FD, $B0, $B3, $AE, $A7 ; CPU:$99D4 PRG:19D4 B2 FD B0 B3 FD FE FA FE B3 FD FA FD B0 B3 AE A7 + .byte $B3, $FA, $B1, $B3, $FA, $B1, $B3, $00, $01, $00, $02, $00, $03, $00, $02, $00 ; CPU:$99E4 PRG:19E4 B3 FA B1 B3 FA B1 B3 00 01 00 02 00 03 00 02 00 + .byte $03, $00, $01, $02, $03, $00, $00, $00, $00, $01, $03, $02, $01, $00, $01, $03 ; CPU:$99F4 PRG:19F4 03 00 01 02 03 00 00 00 00 01 03 02 01 00 01 03 + .byte $00, $02, $00, $00, $02, $00, $01, $00, $02, $00, $94, $90, $95, $6C, $00, $00 ; CPU:$9A04 PRG:1A04 00 02 00 00 02 00 01 00 02 00 94 90 95 6C 00 00 + .byte $01, $00, $02, $00, $01, $03, $00, $02, $94, $96, $E4, $EC, $CD, $AE, $68, $00 ; CPU:$9A14 PRG:1A14 01 00 02 00 01 03 00 02 94 96 E4 EC CD AE 68 00 + .byte $00, $00, $02, $03, $00, $01, $02, $96, $EA, $EF, $CA, $C9, $A6, $6F, $6A, $00 ; CPU:$9A24 PRG:1A24 00 00 02 03 00 01 02 96 EA EF CA C9 A6 6F 6A 00 + .byte $01, $03, $00, $01, $03, $02, $00, $EA, $EE, $CD, $B1, $B0, $AE, $F9, $68, $03 ; CPU:$9A34 PRG:1A34 01 03 00 01 03 02 00 EA EE CD B1 B0 AE F9 68 03 + .byte $00, $02, $00, $00, $02, $00, $00, $CA, $C9, $B2, $B0, $A6, $F9, $5D, $02, $00 ; CPU:$9A44 PRG:1A44 00 02 00 00 02 00 00 CA C9 B2 B0 A6 F9 5D 02 00 + .byte $00, $00, $01, $02, $00, $02, $00, $B3, $FA, $A4, $A2, $6E, $5B, $01, $00, $00 ; CPU:$9A54 PRG:1A54 00 00 01 02 00 02 00 B3 FA A4 A2 6E 5B 01 00 00 + .byte $02, $00, $03, $00, $03, $00, $03, $A3, $A2, $6F, $F9, $6F, $6A, $02, $00, $01 ; CPU:$9A64 PRG:1A64 02 00 03 00 03 00 03 A3 A2 6F F9 6F 6A 02 00 01 + .byte $00, $00, $01, $02, $00, $03, $00, $6E, $6F, $F9, $6F, $F9, $68, $00, $01, $00 ; CPU:$9A74 PRG:1A74 00 00 01 02 00 03 00 6E 6F F9 6F F9 68 00 01 00 + .byte $02, $03, $00, $00, $02, $00, $00, $5C, $6D, $6D, $5B, $50, $03, $00, $02, $01 ; CPU:$9A84 PRG:1A84 02 03 00 00 02 00 00 5C 6D 6D 5B 50 03 00 02 01 + .byte $00, $02, $00, $00, $00, $01, $00, $02, $52, $57, $00, $02, $00, $03, $00, $00 ; CPU:$9A94 PRG:1A94 00 02 00 00 00 01 00 02 52 57 00 02 00 03 00 00 + .byte $02, $00, $01, $01, $00, $00, $02, $00, $02, $02, $00, $03, $00, $00, $02, $00 ; CPU:$9AA4 PRG:1AA4 02 00 01 01 00 00 02 00 02 02 00 03 00 00 02 00 + .byte $00, $03, $01, $00, $03, $02, $00, $03, $00, $00, $01, $00, $00, $01, $02, $00 ; CPU:$9AB4 PRG:1AB4 00 03 01 00 03 02 00 03 00 00 01 00 00 01 02 00 + .byte $03, $00, $00, $02, $00, $03, $00, $00, $00, $03, $00, $02, $01, $00, $00, $01 ; CPU:$9AC4 PRG:1AC4 03 00 00 02 00 03 00 00 00 03 00 02 01 00 00 01 + .byte $00, $00, $01, $00, $01, $00, $01, $CF, $CE, $CE, $CF, $CF, $CE, $CF, $CE, $CE ; CPU:$9AD4 PRG:1AD4 00 00 01 00 01 00 01 CF CE CE CF CF CE CF CE CE + .byte $CF, $CE, $CF, $CE, $CE, $CF, $CE, $FF, $FF, $CF, $CE, $FF, $FF, $90, $91, $BE ; CPU:$9AE4 PRG:1AE4 CF CE CF CE CE CF CE FF FF CF CE FF FF 90 91 BE + .byte $FF, $BF, $FF, $92, $93, $94, $95, $FF, $BE, $FF, $BF, $C9, $B5, $FF, $FF, $C6 ; CPU:$9AF4 PRG:1AF4 FF BF FF 92 93 94 95 FF BE FF BF C9 B5 FF FF C6 + .byte $C7, $A8, $AA, $C6, $C7, $AC, $AE, $26, $2E, $FF, $19, $32, $2E, $19, $19, $2E ; CPU:$9B04 PRG:1B04 C7 A8 AA C6 C7 AC AE 26 2E FF 19 32 2E 19 19 2E + .byte $32, $19, $19, $2E, $27, $19, $FF, $FF, $FF, $26, $31, $22, $23, $30, $31, $24 ; CPU:$9B14 PRG:1B14 32 19 19 2E 27 19 FF FF FF 26 31 22 23 30 31 24 + .byte $25, $31, $30, $FF, $FF, $31, $27, $26, $2E, $28, $2E, $33, $34, $35, $36, $2E ; CPU:$9B24 PRG:1B24 25 31 30 FF FF 31 27 26 2E 28 2E 33 34 35 36 2E + .byte $27, $2E, $29, $2A, $2E, $2C, $2E, $37, $38, $32, $2E, $37, $38, $2E, $32, $2E ; CPU:$9B34 PRG:1B34 27 2E 29 2A 2E 2C 2E 37 38 32 2E 37 38 2E 32 2E + .byte $2B, $2E, $2D, $FF, $26, $FF, $28, $2E, $20, $31, $31, $32, $2E, $30, $31, $2E ; CPU:$9B44 PRG:1B44 2B 2E 2D FF 26 FF 28 2E 20 31 31 32 2E 30 31 2E + .byte $32, $31, $30, $21, $2E, $31, $31, $27, $FF, $29, $FF, $FF, $2A, $FF, $2E, $2E ; CPU:$9B54 PRG:1B54 32 31 30 21 2E 31 31 27 FF 29 FF FF 2A FF 2E 2E + .byte $20, $20, $2E, $32, $2E, $32, $2E, $2E, $32, $2E, $32, $2E, $2E, $39, $3A, $2B ; CPU:$9B64 PRG:1B64 20 20 2E 32 2E 32 2E 2E 32 2E 32 2E 2E 39 3A 2B + .byte $FF, $3B, $FF, $FF, $32, $FF, $32, $3C, $3D, $3F, $40, $3E, $FF, $41, $FF, $42 ; CPU:$9B74 PRG:1B74 FF 3B FF FF 32 FF 32 3C 3D 3F 40 3E FF 41 FF 42 + .byte $43, $45, $46, $44, $FF, $47, $FF, $48, $49, $4B, $4C, $4A, $FF, $4D, $FF, $2E ; CPU:$9B84 PRG:1B84 43 45 46 44 FF 47 FF 48 49 4B 4C 4A FF 4D FF 2E + .byte $20, $2E, $20, $4E, $4F, $2E, $2E, $1F, $FF, $2E, $FF, $20, $2E, $2E, $20, $21 ; CPU:$9B94 PRG:1B94 20 2E 20 4E 4F 2E 2E 1F FF 2E FF 20 2E 2E 20 21 + .byte $2E, $21, $2E, $2E, $FF, $2E, $FF, $FF, $2E, $FF, $26, $2E, $2E, $2E, $2E, $21 ; CPU:$9BA4 PRG:1BA4 2E 21 2E 2E FF 2E FF FF 2E FF 26 2E 2E 2E 2E 21 + .byte $2E, $2E, $2E, $2E, $FF, $27, $FF, $FF, $26, $FF, $FF, $31, $31, $2C, $20, $30 ; CPU:$9BB4 PRG:1BB4 2E 2E 2E 2E FF 27 FF FF 26 FF FF 31 31 2C 20 30 + .byte $31, $32, $2E, $31, $30, $2E, $32, $31, $31, $21, $2D, $27, $FF, $FF, $FF, $2A ; CPU:$9BC4 PRG:1BC4 31 32 2E 31 30 2E 32 31 31 21 2D 27 FF FF FF 2A + .byte $2E, $28, $20, $21, $2B, $2E, $29, $C6, $C7, $C8, $C8, $96, $97, $98, $99, $C7 ; CPU:$9BD4 PRG:1BD4 2E 28 20 21 2B 2E 29 C6 C7 C8 C8 96 97 98 99 C7 + .byte $C6, $C8, $C8, $C7, $C6, $AF, $AD, $C7, $C6, $AB, $A9, $B6, $B4, $FF, $FF, $B0 ; CPU:$9BE4 PRG:1BE4 C6 C8 C8 C7 C6 AF AD C7 C6 AB A9 B6 B4 FF FF B0 + .byte $B2, $FF, $FF, $9A, $9B, $9C, $9D, $B3, $B1, $FF, $FF, $9E, $9F, $A0, $A1, $FF ; CPU:$9BF4 PRG:1BF4 B2 FF FF 9A 9B 9C 9D B3 B1 FF FF 9E 9F A0 A1 FF + .byte $FF, $B7, $B9, $A2, $A3, $A4, $A5, $FF, $FF, $BA, $B8, $BB, $BD, $FF, $FF, $A6 ; CPU:$9C04 PRG:1C04 FF B7 B9 A2 A3 A4 A5 FF FF BA B8 BB BD FF FF A6 + .byte $A7, $FF, $FF, $BD, $BC, $FF, $FF, $58, $59, $CF, $CE, $59, $58, $CE, $CE, $5A ; CPU:$9C14 PRG:1C14 A7 FF FF BD BC FF FF 58 59 CF CE 59 58 CE CE 5A + .byte $5B, $CE, $CF, $5C, $5D, $CF, $CF, $58, $5A, $CF, $CE, $5D, $59, $CF, $CE, $59 ; CPU:$9C24 PRG:1C24 5B CE CF 5C 5D CF CF 58 5A CF CE 5D 59 CF CE 59 + .byte $5E, $CE, $CE, $5F, $58, $CE, $CE, $58, $5E, $CE, $60, $5F, $58, $63, $CF, $5A ; CPU:$9C34 PRG:1C34 5E CE CE 5F 58 CE CE 58 5E CE 60 5F 58 63 CF 5A + .byte $5B, $CF, $61, $5C, $5D, $62, $CE, $5E, $81, $CF, $5E, $80, $5F, $5F, $CE, $CF ; CPU:$9C44 PRG:1C44 5B CF 61 5C 5D 62 CE 5E 81 CF 5E 80 5F 5F CE CF + .byte $56, $56, $80, $57, $CF, $81, $57, $CF, $CF, $52, $53, $CF, $CE, $54, $55, $CE ; CPU:$9C54 PRG:1C54 56 56 80 57 CF 81 57 CF CF 52 53 CF CE 54 55 CE + .byte $CE, $51, $56, $CF, $CF, $57, $50, $CF, $61, $50, $56, $62, $CE, $57, $51, $CE ; CPU:$9C64 PRG:1C64 CE 51 56 CF CF 57 50 CF 61 50 56 62 CE 57 51 CE + .byte $60, $52, $53, $63, $CF, $54, $55, $62, $CF, $63, $CF, $CE, $61, $CF, $60, $57 ; CPU:$9C74 PRG:1C74 60 52 53 63 CF 54 55 62 CF 63 CF CE 61 CF 60 57 + .byte $CF, $5F, $CE, $CE, $56, $CE, $5E, $CF, $CE, $50, $51, $80, $81, $81, $2E, $2E ; CPU:$9C84 PRG:1C84 CF 5F CE CE 56 CE 5E CF CE 50 51 80 81 81 2E 2E + .byte $80, $80, $81, $80, $2E, $2E, $80, $FF, $FF, $50, $51, $FF, $FF, $51, $50, $FF ; CPU:$9C94 PRG:1C94 80 80 81 80 2E 2E 80 FF FF 50 51 FF FF 51 50 FF + .byte $FF, $52, $53, $FF, $FF, $54, $55, $58, $59, $FF, $FF, $5F, $58, $FF, $FF, $5A ; CPU:$9CA4 PRG:1CA4 FF 52 53 FF FF 54 55 58 59 FF FF 5F 58 FF FF 5A + .byte $5B, $FF, $FF, $5C, $5D, $FF, $FF, $62, $FF, $63, $FF, $63, $FF, $62, $FF, $FF ; CPU:$9CB4 PRG:1CB4 5B FF FF 5C 5D FF FF 62 FF 63 FF 63 FF 62 FF FF + .byte $60, $FF, $61, $FF, $61, $FF, $60, $62, $FF, $57, $51, $FF, $60, $50, $56, $58 ; CPU:$9CC4 PRG:1CC4 60 FF 61 FF 61 FF 60 62 FF 57 51 FF 60 50 56 58 + .byte $5E, $FF, $61, $5F, $58, $62, $FF, $FF, $5E, $FF, $60, $FF, $60, $FF, $56, $57 ; CPU:$9CD4 PRG:1CD4 5E FF 61 5F 58 62 FF FF 5E FF 60 FF 60 FF 56 57 + .byte $FF, $80, $63, $89, $62, $87, $57, $87, $62, $80, $63, $89, $62, $5F, $FF, $60 ; CPU:$9CE4 PRG:1CE4 FF 80 63 89 62 87 57 87 62 80 63 89 62 5F FF 60 + .byte $81, $61, $87, $87, $89, $88, $5F, $FF, $60, $51, $56, $63, $FF, $57, $50, $58 ; CPU:$9CF4 PRG:1CF4 81 61 87 87 89 88 5F FF 60 51 56 63 FF 57 50 58 + .byte $5E, $FF, $61, $5F, $59, $62, $FF, $61, $88, $FF, $5E, $5E, $87, $60, $80, $FF ; CPU:$9D04 PRG:1D04 5E FF 61 5F 59 62 FF 61 88 FF 5E 5E 87 60 80 FF + .byte $56, $FF, $5E, $89, $62, $88, $57, $51, $50, $80, $87, $52, $55, $88, $89, $52 ; CPU:$9D14 PRG:1D14 56 FF 5E 89 62 88 57 51 50 80 87 52 55 88 89 52 + .byte $53, $87, $89, $54, $55, $87, $80, $FF, $50, $56, $81, $51, $FF, $87, $57, $51 ; CPU:$9D24 PRG:1D24 53 87 89 54 55 87 80 FF 50 56 81 51 FF 87 57 51 + .byte $56, $80, $88, $57, $50, $88, $89, $89, $1D, $59, $58, $87, $89, $5A, $5D, $87 ; CPU:$9D34 PRG:1D34 56 80 88 57 50 88 89 89 1D 59 58 87 89 5A 5D 87 + .byte $8F, $5A, $5B, $1D, $89, $5C, $5D, $5E, $88, $FF, $59, $89, $5F, $58, $FF, $88 ; CPU:$9D44 PRG:1D44 8F 5A 5B 1D 89 5C 5D 5E 88 FF 59 89 5F 58 FF 88 + .byte $1D, $58, $5E, $89, $8F, $5F, $59, $81, $80, $6A, $6B, $6B, $1E, $84, $85, $6D ; CPU:$9D54 PRG:1D54 1D 58 5E 89 8F 5F 59 81 80 6A 6B 6B 1E 84 85 6D + .byte $6B, $86, $85, $1E, $6C, $84, $86, $80, $81, $6D, $6A, $80, $81, $1E, $6C, $6D ; CPU:$9D64 PRG:1D64 6B 86 85 1E 6C 84 86 80 81 6D 6A 80 81 1E 6C 6D + .byte $6A, $6E, $84, $6B, $6C, $84, $68, $86, $84, $64, $65, $84, $85, $66, $67, $84 ; CPU:$9D74 PRG:1D74 6A 6E 84 6B 6C 84 68 86 84 64 65 84 85 66 67 84 + .byte $68, $65, $66, $6E, $86, $67, $64, $84, $85, $65, $64, $FF, $CE, $FF, $FF, $6E ; CPU:$9D84 PRG:1D84 68 65 66 6E 86 67 64 84 85 65 64 FF CE FF FF 6E + .byte $85, $6F, $84, $84, $69, $86, $68, $81, $80, $80, $2E, $2E, $81, $81, $80, $81 ; CPU:$9D94 PRG:1D94 85 6F 84 84 69 86 68 81 80 80 2E 2E 81 81 80 81 + .byte $2E, $2E, $81, $80, $81, $81, $2E, $67, $64, $80, $81, $65, $66, $80, $81, $84 ; CPU:$9DA4 PRG:1DA4 2E 2E 81 80 81 81 2E 67 64 80 81 65 66 80 81 84 + .byte $64, $66, $81, $64, $86, $81, $67, $7D, $7C, $CA, $CA, $2E, $7E, $CB, $CC, $7C ; CPU:$9DB4 PRG:1DB4 64 66 81 64 86 81 67 7D 7C CA CA 2E 7E CB CC 7C + .byte $CD, $7F, $CD, $7B, $CD, $CA, $CC, $2E, $CD, $CC, $CD, $7A, $2E, $2E, $CB, $CF ; CPU:$9DC4 PRG:1DC4 CD 7F CD 7B CD CA CC 2E CD CC CD 7A 2E 2E CB CF + .byte $1B, $CE, $1C, $82, $CE, $83, $CF, $70, $71, $84, $8A, $72, $75, $84, $85, $88 ; CPU:$9DD4 PRG:1DD4 1B CE 1C 82 CE 83 CF 70 71 84 8A 72 75 84 85 88 + .byte $89, $71, $70, $87, $8F, $76, $77, $72, $73, $86, $84, $74, $75, $8A, $85, $77 ; CPU:$9DE4 PRG:1DE4 89 71 70 87 8F 76 77 72 73 86 84 74 75 8A 85 77 + .byte $70, $8A, $84, $71, $76, $8A, $86, $76, $80, $84, $70, $88, $77, $71, $85, $88 ; CPU:$9DF4 PRG:1DF4 70 8A 84 71 76 8A 86 76 80 84 70 88 77 71 85 88 + .byte $89, $77, $71, $87, $89, $70, $76, $70, $76, $8A, $68, $77, $70, $78, $84, $8A ; CPU:$9E04 PRG:1E04 89 77 71 87 89 70 76 70 76 8A 68 77 70 78 84 8A + .byte $69, $64, $66, $78, $84, $67, $65, $84, $84, $64, $65, $65, $64, $80, $87, $8A ; CPU:$9E14 PRG:1E14 69 64 66 78 84 67 65 84 84 64 65 65 64 80 87 8A + .byte $64, $66, $81, $64, $84, $88, $67, $8A, $68, $8A, $69, $69, $88, $68, $89, $68 ; CPU:$9E24 PRG:1E24 64 66 81 64 84 88 67 8A 68 8A 69 69 88 68 89 68 + .byte $87, $8A, $76, $84, $66, $69, $88, $79, $8A, $78, $84, $88, $78, $1D, $79, $89 ; CPU:$9E34 PRG:1E34 87 8A 76 84 66 69 88 79 8A 78 84 88 78 1D 79 89 + .byte $79, $77, $86, $67, $8A, $8F, $78, $CF, $FF, $FF, $FF, $2E, $7C, $7B, $2E, $FF ; CPU:$9E44 PRG:1E44 79 77 86 67 8A 8F 78 CF FF FF FF 2E 7C 7B 2E FF + .byte $FF, $CE, $FF, $FF, $FF, $FF, $CF, $76, $80, $68, $89, $69, $88, $66, $87, $64 ; CPU:$9E54 PRG:1E54 FF CE FF FF FF FF CF 76 80 68 89 69 88 66 87 64 + .byte $66, $81, $87, $67, $64, $88, $89, $81, $87, $88, $89, $8F, $1D, $1D, $8F, $87 ; CPU:$9E64 PRG:1E64 66 81 87 67 64 88 89 81 87 88 89 8F 1D 1D 8F 87 + .byte $81, $80, $88, $88, $8E, $89, $81, $80, $88, $8F, $89, $80, $81, $2E, $80, $81 ; CPU:$9E74 PRG:1E74 81 80 88 88 8E 89 81 80 88 8F 89 80 81 2E 80 81 + .byte $80, $80, $87, $8B, $8C, $8D, $8E, $8F, $89, $8D, $88, $80, $8B, $8B, $8F, $89 ; CPU:$9E84 PRG:1E84 80 80 87 8B 8C 8D 8E 8F 89 8D 88 80 8B 8B 8F 89 + .byte $1D, $80, $8D, $87, $80, $8F, $8C, $7A, $7B, $7D, $7C, $7C, $7F, $7E, $2E, $7C ; CPU:$9E94 PRG:1E94 1D 80 8D 87 80 8F 8C 7A 7B 7D 7C 7C 7F 7E 2E 7C + .byte $7C, $7A, $7D, $7B, $7E, $2E, $7A, $2E, $7C, $7B, $2E, $7F, $2E, $2E, $7C, $7E ; CPU:$9EA4 PRG:1EA4 7C 7A 7D 7B 7E 2E 7A 2E 7C 7B 2E 7F 2E 2E 7C 7E + .byte $7D, $2E, $7F, $7F, $2E, $2E, $7C, $7D, $7B, $7A, $7F, $2E, $2E, $2E, $2E, $2E ; CPU:$9EB4 PRG:1EB4 7D 2E 7F 7F 2E 2E 7C 7D 7B 7A 7F 2E 2E 2E 2E 2E + .byte $2E, $2E, $2E, $1A, $84, $84, $19, $84, $19, $19, $1A, $1A, $84, $84, $19, $84 ; CPU:$9EC4 PRG:1EC4 2E 2E 2E 1A 84 84 19 84 19 19 1A 1A 84 84 19 84 + .byte $1A, $1A, $19, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $01, $01, $01, $01 ; CPU:$9ED4 PRG:1ED4 1A 1A 19 FF FF FF FF 00 00 00 00 00 01 01 01 01 + .byte $01, $01, $01, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$9EE4 PRG:1EE4 01 01 01 03 03 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$9EF4 PRG:1EF4 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$9F04 PRG:1F04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $03, $03, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$9F14 PRG:1F14 03 03 03 03 03 03 03 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9F24 PRG:1F24 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9F34 PRG:1F34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$9F44 PRG:1F44 00 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9F54 PRG:1F54 01 01 01 01 01 01 01 01 01 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9F64 PRG:1F64 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$9F74 PRG:1F74 02 02 02 02 02 02 02 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00 ; CPU:$9F84 PRG:1F84 01 01 01 01 00 01 01 01 01 01 01 01 01 01 01 00 + .byte $00, $00, $00, $00, $00, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9F94 PRG:1F94 00 00 00 00 00 00 00 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9FA4 PRG:1FA4 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $00, $01, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$9FB4 PRG:1FB4 02 02 02 00 01 00 00 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $00, $00, $00, $00, $00, $00, $01, $01, $01 ; CPU:$9FC4 PRG:1FC4 02 02 02 02 02 02 02 00 00 00 00 00 00 01 01 01 + .byte $00, $01, $01, $01, $02, $02, $00 ; CPU:$9FD4 PRG:1FD4 00 01 01 01 02 02 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FDB ; Global: Branch target inside Sub: taken when 9FDB. @@ -582,13 +1522,13 @@ Sub_9FDB: lda #$07 ; CPU:$9FDF PRG:1FDF A9 07 sta Zp76 ; CPU:$9FE1 PRG:1FE1 85 76 lda #$52 ; CPU:$9FE3 PRG:1FE3 A9 52 - sta Zp77 ; CPU:$9FE5 PRG:1FE5 85 77 + sta ScreenPtrLo ; CPU:$9FE5 PRG:1FE5 85 77 lda #$07 ; CPU:$9FE7 PRG:1FE7 A9 07 - sta Zp78 ; CPU:$9FE9 PRG:1FE9 85 78 + sta ScreenPtrHi ; CPU:$9FE9 PRG:1FE9 85 78 lda $A411 ; CPU:$9FEB PRG:1FEB AD 11 A4 - sta Zp79 ; CPU:$9FEE PRG:1FEE 85 79 + sta TilePtrLo ; CPU:$9FEE PRG:1FEE 85 79 lda $A412 ; CPU:$9FF0 PRG:1FF0 AD 12 A4 - sta Zp7A ; CPU:$9FF3 PRG:1FF3 85 7A + sta TilePtrHi ; CPU:$9FF3 PRG:1FF3 85 7A lda #$00 ; CPU:$9FF5 PRG:1FF5 A9 00 sta Zp7B ; CPU:$9FF7 PRG:1FF7 85 7B lda #$40 ; CPU:$9FF9 PRG:1FF9 A9 40 @@ -596,22 +1536,6 @@ Sub_9FDB: ldy #$00 ; CPU:$9FFD PRG:1FFD A0 00 lda #$00 ; CPU:$9FFF PRG:1FFF A9 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero2 -; Global: Branch target inside Sub: taken when OnNonzero2. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_OnNonzero2: - sta (Zp75),y ; CPU:$A001 PRG:2001 91 75 - iny ; CPU:$A003 PRG:2003 C8 - cpy #$06 ; CPU:$A004 PRG:2004 C0 06 - bne Sub_OnNonzero2 ; CPU:$A006 PRG:2006 D0 F9 - ldy #$00 ; CPU:$A008 PRG:2008 A0 00 - lda #$06 ; CPU:$A00A PRG:200A A9 06 - sta Zp87 ; CPU:$A00C PRG:200C 85 87 -; ----------------------------------------------------------------------------- ; Routine: Sub_OnNonzero3 ; Global: Branch target inside Sub: taken when OnNonzero3. ; Local: Part of Sub. @@ -620,21 +1544,13 @@ Sub_OnNonzero2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonzero3: - lda #$00 ; CPU:$A00E PRG:200E A9 00 - sta (Zp77),y ; CPU:$A010 PRG:2010 91 77 - tya ; CPU:$A012 PRG:2012 98 - clc ; CPU:$A013 PRG:2013 18 - adc #$08 ; CPU:$A014 PRG:2014 69 08 - tay ; CPU:$A016 PRG:2016 A8 - dec Zp87 ; CPU:$A017 PRG:2017 C6 87 - bne Sub_OnNonzero3 ; CPU:$A019 PRG:2019 D0 F3 - lda #$00 ; CPU:$A01B PRG:201B A9 00 - sta Zp88 ; CPU:$A01D PRG:201D 85 88 - lda #$40 ; CPU:$A01F PRG:201F A9 40 - sta Zp89 ; CPU:$A021 PRG:2021 85 89 - lda #$03 ; CPU:$A023 PRG:2023 A9 03 - sta Zp87 ; CPU:$A025 PRG:2025 85 87 - ldy #$00 ; CPU:$A027 PRG:2027 A0 00 + sta (Zp75),y ; CPU:$A001 PRG:2001 91 75 + iny ; CPU:$A003 PRG:2003 C8 + cpy #$06 ; CPU:$A004 PRG:2004 C0 06 + bne Sub_OnNonzero3 ; CPU:$A006 PRG:2006 D0 F9 + ldy #$00 ; CPU:$A008 PRG:2008 A0 00 + lda #$06 ; CPU:$A00A PRG:200A A9 06 + sta PlayerX ; CPU:$A00C PRG:200C 85 87 ; ----------------------------------------------------------------------------- ; Routine: Sub_OnNonzero4 ; Global: Branch target inside Sub: taken when OnNonzero4. @@ -644,14 +1560,38 @@ Sub_OnNonzero3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonzero4: + lda #$00 ; CPU:$A00E PRG:200E A9 00 + sta (ScreenPtrLo),y ; CPU:$A010 PRG:2010 91 77 + tya ; CPU:$A012 PRG:2012 98 + clc ; CPU:$A013 PRG:2013 18 + adc #$08 ; CPU:$A014 PRG:2014 69 08 + tay ; CPU:$A016 PRG:2016 A8 + dec PlayerX ; CPU:$A017 PRG:2017 C6 87 + bne Sub_OnNonzero4 ; CPU:$A019 PRG:2019 D0 F3 + lda #$00 ; CPU:$A01B PRG:201B A9 00 + sta PpuAddrLow ; CPU:$A01D PRG:201D 85 88 + lda #$40 ; CPU:$A01F PRG:201F A9 40 + sta PpuAddrHigh ; CPU:$A021 PRG:2021 85 89 + lda #$03 ; CPU:$A023 PRG:2023 A9 03 + sta PlayerX ; CPU:$A025 PRG:2025 85 87 + ldy #$00 ; CPU:$A027 PRG:2027 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero5 +; Global: Branch target inside Sub: taken when OnNonzero5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero5: lda #$70 ; CPU:$A029 PRG:2029 A9 70 - sta (Zp88),y ; CPU:$A02B PRG:202B 91 88 + sta (PpuAddrLow),y ; CPU:$A02B PRG:202B 91 88 iny ; CPU:$A02D PRG:202D C8 iny ; CPU:$A02E PRG:202E C8 iny ; CPU:$A02F PRG:202F C8 iny ; CPU:$A030 PRG:2030 C8 - dec Zp87 ; CPU:$A031 PRG:2031 C6 87 - bne Sub_OnNonzero4 ; CPU:$A033 PRG:2033 D0 F4 + dec PlayerX ; CPU:$A031 PRG:2031 C6 87 + bne Sub_OnNonzero5 ; CPU:$A033 PRG:2033 D0 F4 jsr Sub_A050 ; CPU:$A035 PRG:2035 20 50 A0 ldy #$05 ; CPU:$A038 PRG:2038 A0 05 lda #$FF ; CPU:$A03A PRG:203A A9 FF @@ -707,15 +1647,126 @@ Sub_OnNonnegative3: dey ; CPU:$A057 PRG:2057 88 bpl Sub_OnNonnegative3 ; CPU:$A058 PRG:2058 10 FA rts ; CPU:$A05A PRG:205A 60 -; ---- data $A05B-$A0CF (117 bytes) ---- - .byte $A0, $00, $D9, $46, $07, $F0, $07, $C8, $C0, $06, $D0, $F6, $18, $60, $38, $60 ; CPU:$A05B PRG:205B A0 00 D9 46 07 F0 07 C8 C0 06 D0 F6 18 60 38 60 - .byte $A8, $4A, $4A, $4A, $85, $87, $A9, $41, $18, $65, $87, $85, $8A, $A9, $07, $69 ; CPU:$A06B PRG:206B A8 4A 4A 4A 85 87 A9 41 18 65 87 85 8A A9 07 69 - .byte $00, $85, $8B, $98, $29, $07, $A8, $B9, $8C, $A0, $A0, $00, $11, $8A, $91, $8A ; CPU:$A07B PRG:207B 00 85 8B 98 29 07 A8 B9 8C A0 A0 00 11 8A 91 8A - .byte $60, $01, $02, $04, $08, $10, $20, $40, $80, $20, $5B, $A0, $B0, $01, $60, $84 ; CPU:$A08B PRG:208B 60 01 02 04 08 10 20 40 80 20 5B A0 B0 01 60 84 - .byte $87, $B9, $46, $07, $85, $86, $A9, $E2, $18, $65, $86, $85, $8A, $A9, $A3, $69 ; CPU:$A09B PRG:209B 87 B9 46 07 85 86 A9 E2 18 65 86 85 8A A9 A3 69 - .byte $00, $85, $8B, $A0, $00, $B1, $8A, $85, $8B, $06, $87, $06, $87, $06, $87, $A4 ; CPU:$A0AB PRG:20AB 00 85 8B A0 00 B1 8A 85 8B 06 87 06 87 06 87 A4 - .byte $87, $A5, $8B, $91, $77, $A9, $05, $18, $65, $87, $A8, $A9, $3B, $91, $77, $C8 ; CPU:$A0BB PRG:20BB 87 A5 8B 91 77 A9 05 18 65 87 A8 A9 3B 91 77 C8 - .byte $A9, $A7, $91, $77, $60 ; CPU:$A0CB PRG:20CB A9 A7 91 77 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A05B +; Global: Branch target inside Sub: taken when A05B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A05B: + ldy #$00 ; CPU:$A05B PRG:205B A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero6 +; Global: Branch target inside Sub: taken when OnNonzero6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero6: + cmp $0746,y ; CPU:$A05D PRG:205D D9 46 07 + beq Sub_Loop29 ; CPU:$A060 PRG:2060 F0 07 + iny ; CPU:$A062 PRG:2062 C8 + cpy #$06 ; CPU:$A063 PRG:2063 C0 06 + bne Sub_OnNonzero6 ; CPU:$A065 PRG:2065 D0 F6 + clc ; CPU:$A067 PRG:2067 18 + rts ; CPU:$A068 PRG:2068 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop29 +; Global: Branch target inside Sub: taken when Loop29. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop29: + sec ; CPU:$A069 PRG:2069 38 + rts ; CPU:$A06A PRG:206A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A06B +; Global: Branch target inside Sub: taken when A06B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A06B: + tay ; CPU:$A06B PRG:206B A8 + lsr a ; CPU:$A06C PRG:206C 4A + lsr a ; CPU:$A06D PRG:206D 4A + lsr a ; CPU:$A06E PRG:206E 4A + sta PlayerX ; CPU:$A06F PRG:206F 85 87 + lda #$41 ; CPU:$A071 PRG:2071 A9 41 + clc ; CPU:$A073 PRG:2073 18 + adc PlayerX ; CPU:$A074 PRG:2074 65 87 + sta VramWritePtrLo ; CPU:$A076 PRG:2076 85 8A + lda #$07 ; CPU:$A078 PRG:2078 A9 07 + adc #$00 ; CPU:$A07A PRG:207A 69 00 + sta VramWritePtrHi ; CPU:$A07C PRG:207C 85 8B + tya ; CPU:$A07E PRG:207E 98 + and #$07 ; CPU:$A07F PRG:207F 29 07 + tay ; CPU:$A081 PRG:2081 A8 + lda $A08C,y ; CPU:$A082 PRG:2082 B9 8C A0 + ldy #$00 ; CPU:$A085 PRG:2085 A0 00 + ora (VramWritePtrLo),y ; CPU:$A087 PRG:2087 11 8A + sta (VramWritePtrLo),y ; CPU:$A089 PRG:2089 91 8A + rts ; CPU:$A08B PRG:208B 60 +; ---- data $A08C-$A093 (8 bytes) ---- +; referenced by `lda $A08C,y` at $A082 (operand $A08C falls inside this region) +PpuBitMaskTable: + .byte $01, $02, $04, $08, $10, $20, $40, $80 ; CPU:$A08C PRG:-1F74 01 02 04 08 10 20 40 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_A094 +; Global: Branch target inside Sub: taken when A094. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A094: + jsr Sub_A05B ; CPU:$A094 PRG:2094 20 5B A0 + bcs Sub_Loop30 ; CPU:$A097 PRG:2097 B0 01 + rts ; CPU:$A099 PRG:2099 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop30 +; Global: Branch target inside Sub: taken when Loop30. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop30: + sty PlayerX ; CPU:$A09A PRG:209A 84 87 + lda $0746,y ; CPU:$A09C PRG:209C B9 46 07 + sta PlayerY ; CPU:$A09F PRG:209F 85 86 + lda #$E2 ; CPU:$A0A1 PRG:20A1 A9 E2 + clc ; CPU:$A0A3 PRG:20A3 18 + adc PlayerY ; CPU:$A0A4 PRG:20A4 65 86 + sta VramWritePtrLo ; CPU:$A0A6 PRG:20A6 85 8A + lda #$A3 ; CPU:$A0A8 PRG:20A8 A9 A3 + adc #$00 ; CPU:$A0AA PRG:20AA 69 00 + sta VramWritePtrHi ; CPU:$A0AC PRG:20AC 85 8B + ldy #$00 ; CPU:$A0AE PRG:20AE A0 00 + lda (VramWritePtrLo),y ; CPU:$A0B0 PRG:20B0 B1 8A + sta VramWritePtrHi ; CPU:$A0B2 PRG:20B2 85 8B + asl PlayerX ; CPU:$A0B4 PRG:20B4 06 87 + asl PlayerX ; CPU:$A0B6 PRG:20B6 06 87 + asl PlayerX ; CPU:$A0B8 PRG:20B8 06 87 + ldy PlayerX ; CPU:$A0BA PRG:20BA A4 87 + lda VramWritePtrHi ; CPU:$A0BC PRG:20BC A5 8B + sta (ScreenPtrLo),y ; CPU:$A0BE PRG:20BE 91 77 + lda #$05 ; CPU:$A0C0 PRG:20C0 A9 05 + clc ; CPU:$A0C2 PRG:20C2 18 + adc PlayerX ; CPU:$A0C3 PRG:20C3 65 87 + tay ; CPU:$A0C5 PRG:20C5 A8 + lda #$3B ; CPU:$A0C6 PRG:20C6 A9 3B + sta (ScreenPtrLo),y ; CPU:$A0C8 PRG:20C8 91 77 + iny ; CPU:$A0CA PRG:20CA C8 + lda #$A7 ; CPU:$A0CB PRG:20CB A9 A7 + sta (ScreenPtrLo),y ; CPU:$A0CD PRG:20CD 91 77 + rts ; CPU:$A0CF PRG:20CF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0D0 ; Global: Branch target inside Sub: taken when A0D0. @@ -726,19 +1777,19 @@ Sub_OnNonnegative3: ; ----------------------------------------------------------------------------- Sub_A0D0: lda #$0C ; CPU:$A0D0 PRG:20D0 A9 0C - sta Zp8A ; CPU:$A0D2 PRG:20D2 85 8A + sta VramWritePtrLo ; CPU:$A0D2 PRG:20D2 85 8A lda #$40 ; CPU:$A0D4 PRG:20D4 A9 40 - sta Zp8B ; CPU:$A0D6 PRG:20D6 85 8B + sta VramWritePtrHi ; CPU:$A0D6 PRG:20D6 85 8B ldy #$00 ; CPU:$A0D8 PRG:20D8 A0 00 lda #$00 ; CPU:$A0DA PRG:20DA A9 00 - sta (Zp8A),y ; CPU:$A0DC PRG:20DC 91 8A + sta (VramWritePtrLo),y ; CPU:$A0DC PRG:20DC 91 8A iny ; CPU:$A0DE PRG:20DE C8 - sta (Zp8A),y ; CPU:$A0DF PRG:20DF 91 8A + sta (VramWritePtrLo),y ; CPU:$A0DF PRG:20DF 91 8A iny ; CPU:$A0E1 PRG:20E1 C8 - sta (Zp8A),y ; CPU:$A0E2 PRG:20E2 91 8A + sta (VramWritePtrLo),y ; CPU:$A0E2 PRG:20E2 91 8A iny ; CPU:$A0E4 PRG:20E4 C8 lda #$FF ; CPU:$A0E5 PRG:20E5 A9 FF - sta (Zp8A),y ; CPU:$A0E7 PRG:20E7 91 8A + sta (VramWritePtrLo),y ; CPU:$A0E7 PRG:20E7 91 8A rts ; CPU:$A0E9 PRG:20E9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0EA @@ -762,20 +1813,20 @@ Sub_A0EA: lda #$28 ; CPU:$A103 PRG:2103 A9 28 sta Zp72 ; CPU:$A105 PRG:2105 85 72 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero5 -; Global: Branch target inside Sub: taken when OnNonzero5. +; Routine: Sub_OnNonzero7 +; Global: Branch target inside Sub: taken when OnNonzero7. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero5: +Sub_OnNonzero7: lsr Zp81 ; CPU:$A107 PRG:2107 46 81 ror Zp80 ; CPU:$A109 PRG:2109 66 80 ror Zp7F ; CPU:$A10B PRG:210B 66 7F ror Zp7E ; CPU:$A10D PRG:210D 66 7E ror Zp7D ; CPU:$A10F PRG:210F 66 7D - bcs Sub_Loop ; CPU:$A111 PRG:2111 B0 0A + bcs Sub_Loop31 ; CPU:$A111 PRG:2111 B0 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_OnZero ; Global: Branch target inside Sub: taken when the tested value is zero. @@ -786,18 +1837,18 @@ Sub_OnNonzero5: ; ----------------------------------------------------------------------------- Sub_OnZero: dec Zp72 ; CPU:$A113 PRG:2113 C6 72 - bne Sub_OnNonzero5 ; CPU:$A115 PRG:2115 D0 F0 + bne Sub_OnNonzero7 ; CPU:$A115 PRG:2115 D0 F0 jsr Sub_A050 ; CPU:$A117 PRG:2117 20 50 A0 jmp Sub_A18C ; CPU:$A11A PRG:211A 4C 8C A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop -; Global: Branch target inside Sub: taken when the loop repeats. +; Routine: Sub_Loop31 +; Global: Branch target inside Sub: taken when Loop31. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop: +Sub_Loop31: lda #$28 ; CPU:$A11D PRG:211D A9 28 sec ; CPU:$A11F PRG:211F 38 sbc Zp72 ; CPU:$A120 PRG:2120 E5 72 @@ -819,32 +1870,32 @@ Sub_OnNonnegative4: ldy #$00 ; CPU:$A12E PRG:212E A0 00 lda #$FF ; CPU:$A130 PRG:2130 A9 FF ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero6 -; Global: Branch target inside Sub: taken when OnNonzero6. +; Routine: Sub_OnNonzero8 +; Global: Branch target inside Sub: taken when OnNonzero8. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero6: +Sub_OnNonzero8: cmp $0746,y ; CPU:$A132 PRG:2132 D9 46 07 - beq Sub_Loop3 ; CPU:$A135 PRG:2135 F0 1D + beq Sub_Loop33 ; CPU:$A135 PRG:2135 F0 1D iny ; CPU:$A137 PRG:2137 C8 cpy #$06 ; CPU:$A138 PRG:2138 C0 06 - bne Sub_OnNonzero6 ; CPU:$A13A PRG:213A D0 F6 + bne Sub_OnNonzero8 ; CPU:$A13A PRG:213A D0 F6 ldy #$00 ; CPU:$A13C PRG:213C A0 00 lda Zp74 ; CPU:$A13E PRG:213E A5 74 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero7 -; Global: Branch target inside Sub: taken when OnNonzero7. +; Routine: Sub_OnNonzero9 +; Global: Branch target inside Sub: taken when OnNonzero9. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero7: +Sub_OnNonzero9: cmp $0746,y ; CPU:$A140 PRG:2140 D9 46 07 - bcc Sub_Loop2 ; CPU:$A143 PRG:2143 90 08 + bcc Sub_Loop32 ; CPU:$A143 PRG:2143 90 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_OnCarryClear ; Global: Branch target inside Sub: taken when the addition or subtraction did not carry. @@ -856,29 +1907,29 @@ Sub_OnNonzero7: Sub_OnCarryClear: iny ; CPU:$A145 PRG:2145 C8 cpy #$06 ; CPU:$A146 PRG:2146 C0 06 - bne Sub_OnNonzero7 ; CPU:$A148 PRG:2148 D0 F6 + bne Sub_OnNonzero9 ; CPU:$A148 PRG:2148 D0 F6 jmp Sub_OnZero ; CPU:$A14A PRG:214A 4C 13 A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop2 -; Global: Branch target inside Sub: taken when Loop2. +; Routine: Sub_Loop32 +; Global: Branch target inside Sub: taken when Loop32. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop2: +Sub_Loop32: lda $0746,y ; CPU:$A14D PRG:214D B9 46 07 cmp #$0E ; CPU:$A150 PRG:2150 C9 0E bcc Sub_OnCarryClear ; CPU:$A152 PRG:2152 90 F1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop3 -; Global: Branch target inside Sub: taken when Loop3. +; Routine: Sub_Loop33 +; Global: Branch target inside Sub: taken when Loop33. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop3: +Sub_Loop33: lda Zp74 ; CPU:$A154 PRG:2154 A5 74 sta $0746,y ; CPU:$A156 PRG:2156 99 46 07 sta Zp74 ; CPU:$A159 PRG:2159 85 74 @@ -886,12 +1937,12 @@ Sub_Loop3: sta $074C,y ; CPU:$A15D PRG:215D 99 4C 07 tya ; CPU:$A160 PRG:2160 98 asl a ; CPU:$A161 PRG:2161 0A - sta Zp82 ; CPU:$A162 PRG:2162 85 82 + sta SpriteIndex ; CPU:$A162 PRG:2162 85 82 asl a ; CPU:$A164 PRG:2164 0A asl a ; CPU:$A165 PRG:2165 0A tay ; CPU:$A166 PRG:2166 A8 lda #$00 ; CPU:$A167 PRG:2167 A9 00 - sta (Zp77),y ; CPU:$A169 PRG:2169 91 77 + sta (ScreenPtrLo),y ; CPU:$A169 PRG:2169 91 77 lda Zp74 ; CPU:$A16B PRG:216B A5 74 clc ; CPU:$A16D PRG:216D 18 adc Zp74 ; CPU:$A16E PRG:216E 65 74 @@ -901,7 +1952,7 @@ Sub_Loop3: iny ; CPU:$A176 PRG:2176 C8 lda $A413,y ; CPU:$A177 PRG:2177 B9 13 A4 sta Zp70 ; CPU:$A17A PRG:217A 85 70 - ldy Zp82 ; CPU:$A17C PRG:217C A4 82 + ldy SpriteIndex ; CPU:$A17C PRG:217C A4 82 lda Zp6F ; CPU:$A17E PRG:217E A5 6F sta $0735,y ; CPU:$A180 PRG:2180 99 35 07 iny ; CPU:$A183 PRG:2183 C8 @@ -922,7 +1973,7 @@ Sub_A18C: sta Zp7E ; CPU:$A190 PRG:2190 85 7E sta Zp7F ; CPU:$A192 PRG:2192 85 7F sta Zp80 ; CPU:$A194 PRG:2194 85 80 - sta Zp82 ; CPU:$A196 PRG:2196 85 82 + sta SpriteIndex ; CPU:$A196 PRG:2196 85 82 sta Zp84 ; CPU:$A198 PRG:2198 85 84 lda #$7D ; CPU:$A19A PRG:219A A9 7D sta Zp83 ; CPU:$A19C PRG:219C 85 83 @@ -940,61 +1991,61 @@ Sub_A18C: Sub_OnZero2: lda Zp74 ; CPU:$A1A4 PRG:21A4 A5 74 cmp #$17 ; CPU:$A1A6 PRG:21A6 C9 17 - beq Sub_Loop8 ; CPU:$A1A8 PRG:21A8 F0 6F + beq Sub_Loop38 ; CPU:$A1A8 PRG:21A8 F0 6F lda Zp73 ; CPU:$A1AA PRG:21AA A5 73 cmp #$06 ; CPU:$A1AC PRG:21AC C9 06 - beq Sub_Loop5 ; CPU:$A1AE PRG:21AE F0 12 + beq Sub_Loop35 ; CPU:$A1AE PRG:21AE F0 12 ldy Zp73 ; CPU:$A1B0 PRG:21B0 A4 73 lda $0746,y ; CPU:$A1B2 PRG:21B2 B9 46 07 cmp #$FF ; CPU:$A1B5 PRG:21B5 C9 FF - beq Sub_Loop4 ; CPU:$A1B7 PRG:21B7 F0 04 + beq Sub_Loop34 ; CPU:$A1B7 PRG:21B7 F0 04 cmp Zp74 ; CPU:$A1B9 PRG:21B9 C5 74 - beq Sub_Loop6 ; CPU:$A1BB PRG:21BB F0 0E + beq Sub_Loop36 ; CPU:$A1BB PRG:21BB F0 0E ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop4 -; Global: Branch target inside Sub: taken when Loop4. +; Routine: Sub_Loop34 +; Global: Branch target inside Sub: taken when Loop34. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop4: +Sub_Loop34: inc Zp73 ; CPU:$A1BD PRG:21BD E6 73 jmp Sub_OnZero2 ; CPU:$A1BF PRG:21BF 4C A4 A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop5 -; Global: Branch target inside Sub: taken when Loop5. +; Routine: Sub_Loop35 +; Global: Branch target inside Sub: taken when Loop35. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop5: +Sub_Loop35: lda #$00 ; CPU:$A1C2 PRG:21C2 A9 00 sta Zp73 ; CPU:$A1C4 PRG:21C4 85 73 inc Zp74 ; CPU:$A1C6 PRG:21C6 E6 74 jmp Sub_OnZero2 ; CPU:$A1C8 PRG:21C8 4C A4 A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop6 -; Global: Branch target inside Sub: taken when Loop6. +; Routine: Sub_Loop36 +; Global: Branch target inside Sub: taken when Loop36. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop6: +Sub_Loop36: tya ; CPU:$A1CB PRG:21CB 98 asl a ; CPU:$A1CC PRG:21CC 0A asl a ; CPU:$A1CD PRG:21CD 0A asl a ; CPU:$A1CE PRG:21CE 0A - sta Zp82 ; CPU:$A1CF PRG:21CF 85 82 + sta SpriteIndex ; CPU:$A1CF PRG:21CF 85 82 inc Zp73 ; CPU:$A1D1 PRG:21D1 E6 73 inc Zp74 ; CPU:$A1D3 PRG:21D3 E6 74 - ldy Zp82 ; CPU:$A1D5 PRG:21D5 A4 82 - lda (Zp77),y ; CPU:$A1D7 PRG:21D7 B1 77 + ldy SpriteIndex ; CPU:$A1D5 PRG:21D5 A4 82 + lda (ScreenPtrLo),y ; CPU:$A1D7 PRG:21D7 B1 77 beq Sub_OnZero2 ; CPU:$A1D9 PRG:21D9 F0 C9 cmp #$05 ; CPU:$A1DB PRG:21DB C9 05 - bcc Sub_Loop7 ; CPU:$A1DD PRG:21DD 90 0B + bcc Sub_Loop37 ; CPU:$A1DD PRG:21DD 90 0B sec ; CPU:$A1DF PRG:21DF 38 sbc #$05 ; CPU:$A1E0 PRG:21E0 E9 05 tay ; CPU:$A1E2 PRG:21E2 A8 @@ -1002,14 +2053,14 @@ Sub_Loop6: sta (Zp83),y ; CPU:$A1E5 PRG:21E5 91 83 jmp Sub_OnZero2 ; CPU:$A1E7 PRG:21E7 4C A4 A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop7 -; Global: Branch target inside Sub: taken when Loop7. +; Routine: Sub_Loop37 +; Global: Branch target inside Sub: taken when Loop37. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop7: +Sub_Loop37: sec ; CPU:$A1EA PRG:21EA 38 sbc #$01 ; CPU:$A1EB PRG:21EB E9 01 tay ; CPU:$A1ED PRG:21ED A8 @@ -1021,8 +2072,8 @@ Sub_Loop7: tax ; CPU:$A1F7 PRG:21F7 AA clc ; CPU:$A1F8 PRG:21F8 18 adc #$05 ; CPU:$A1F9 PRG:21F9 69 05 - ldy Zp82 ; CPU:$A1FB PRG:21FB A4 82 - sta (Zp77),y ; CPU:$A1FD PRG:21FD 91 77 + ldy SpriteIndex ; CPU:$A1FB PRG:21FB A4 82 + sta (ScreenPtrLo),y ; CPU:$A1FD PRG:21FD 91 77 txa ; CPU:$A1FF PRG:21FF 8A asl a ; CPU:$A200 PRG:2200 0A asl a ; CPU:$A201 PRG:2201 0A @@ -1030,36 +2081,36 @@ Sub_Loop7: ldx #$00 ; CPU:$A204 PRG:2204 A2 00 lda #$04 ; CPU:$A206 PRG:2206 A9 04 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero8 -; Global: Branch target inside Sub: taken when OnNonzero8. +; Routine: Sub_OnNonzero10 +; Global: Branch target inside Sub: taken when OnNonzero10. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero8: +Sub_OnNonzero10: pha ; CPU:$A208 PRG:2208 48 iny ; CPU:$A209 PRG:2209 C8 - lda (Zp77),y ; CPU:$A20A PRG:220A B1 77 + lda (ScreenPtrLo),y ; CPU:$A20A PRG:220A B1 77 sta (Zp7B,x) ; CPU:$A20C PRG:220C 81 7B inc Zp7B ; CPU:$A20E PRG:220E E6 7B pla ; CPU:$A210 PRG:2210 68 sec ; CPU:$A211 PRG:2211 38 sbc #$01 ; CPU:$A212 PRG:2212 E9 01 - bne Sub_OnNonzero8 ; CPU:$A214 PRG:2214 D0 F2 + bne Sub_OnNonzero10 ; CPU:$A214 PRG:2214 D0 F2 jmp Sub_OnZero2 ; CPU:$A216 PRG:2216 4C A4 A1 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop8 -; Global: Branch target inside Sub: taken when Loop8. +; Routine: Sub_Loop38 +; Global: Branch target inside Sub: taken when Loop38. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop8: +Sub_Loop38: ldy #$00 ; CPU:$A219 PRG:2219 A0 00 sty Zp81 ; CPU:$A21B PRG:221B 84 81 - sty Zp82 ; CPU:$A21D PRG:221D 84 82 + sty SpriteIndex ; CPU:$A21D PRG:221D 84 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A21F ; Global: Branch target inside Sub: taken when A21F. @@ -1070,77 +2121,77 @@ Sub_Loop8: ; ----------------------------------------------------------------------------- Sub_A21F: lda $038D ; CPU:$A21F PRG:221F AD 8D 03 - beq Sub_Loop9 ; CPU:$A222 PRG:2222 F0 03 - jmp Sub_Loop19 ; CPU:$A224 PRG:2224 4C CC A2 + beq Sub_Loop39 ; CPU:$A222 PRG:2222 F0 03 + jmp Sub_Loop49 ; CPU:$A224 PRG:2224 4C CC A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop9 -; Global: Branch target inside Sub: taken when Loop9. +; Routine: Sub_Loop39 +; Global: Branch target inside Sub: taken when Loop39. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop9: +Sub_Loop39: lda $0380 ; CPU:$A227 PRG:2227 AD 80 03 - beq Sub_Loop10 ; CPU:$A22A PRG:222A F0 03 - jmp Sub_Loop19 ; CPU:$A22C PRG:222C 4C CC A2 + beq Sub_Loop40 ; CPU:$A22A PRG:222A F0 03 + jmp Sub_Loop49 ; CPU:$A22C PRG:222C 4C CC A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop10 -; Global: Branch target inside Sub: taken when Loop10. +; Routine: Sub_Loop40 +; Global: Branch target inside Sub: taken when Loop40. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop10: +Sub_Loop40: lda $0384 ; CPU:$A22F PRG:222F AD 84 03 - beq Sub_Loop11 ; CPU:$A232 PRG:2232 F0 03 - jmp Sub_Loop19 ; CPU:$A234 PRG:2234 4C CC A2 + beq Sub_Loop41 ; CPU:$A232 PRG:2232 F0 03 + jmp Sub_Loop49 ; CPU:$A234 PRG:2234 4C CC A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop11 -; Global: Branch target inside Sub: taken when Loop11. +; Routine: Sub_Loop41 +; Global: Branch target inside Sub: taken when Loop41. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop11: +Sub_Loop41: ldy Zp81 ; CPU:$A237 PRG:2237 A4 81 lda (Zp75),y ; CPU:$A239 PRG:2239 B1 75 - bne Sub_Loop12 ; CPU:$A23B PRG:223B D0 03 - jmp Sub_Loop19 ; CPU:$A23D PRG:223D 4C CC A2 + bne Sub_Loop42 ; CPU:$A23B PRG:223B D0 03 + jmp Sub_Loop49 ; CPU:$A23D PRG:223D 4C CC A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop12 -; Global: Branch target inside Sub: taken when Loop12. +; Routine: Sub_Loop42 +; Global: Branch target inside Sub: taken when Loop42. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop12: - ldy Zp82 ; CPU:$A240 PRG:2240 A4 82 - lda (Zp77),y ; CPU:$A242 PRG:2242 B1 77 - bne Sub_Loop13 ; CPU:$A244 PRG:2244 D0 06 +Sub_Loop42: + ldy SpriteIndex ; CPU:$A240 PRG:2240 A4 82 + lda (ScreenPtrLo),y ; CPU:$A242 PRG:2242 B1 77 + bne Sub_Loop43 ; CPU:$A244 PRG:2244 D0 06 jsr Sub_A38F ; CPU:$A246 PRG:2246 20 8F A3 jmp Sub_A25B ; CPU:$A249 PRG:2249 4C 5B A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop13 -; Global: Branch target inside Sub: taken when Loop13. +; Routine: Sub_Loop43 +; Global: Branch target inside Sub: taken when Loop43. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop13: - lda Zp82 ; CPU:$A24C PRG:224C A5 82 +Sub_Loop43: + lda SpriteIndex ; CPU:$A24C PRG:224C A5 82 clc ; CPU:$A24E PRG:224E 18 adc #$07 ; CPU:$A24F PRG:224F 69 07 tay ; CPU:$A251 PRG:2251 A8 - lda (Zp77),y ; CPU:$A252 PRG:2252 B1 77 + lda (ScreenPtrLo),y ; CPU:$A252 PRG:2252 B1 77 sec ; CPU:$A254 PRG:2254 38 sbc #$01 ; CPU:$A255 PRG:2255 E9 01 - sta (Zp77),y ; CPU:$A257 PRG:2257 91 77 - bne Sub_Loop19 ; CPU:$A259 PRG:2259 D0 71 + sta (ScreenPtrLo),y ; CPU:$A257 PRG:2257 91 77 + bne Sub_Loop49 ; CPU:$A259 PRG:2259 D0 71 ; ----------------------------------------------------------------------------- ; Routine: Sub_A25B ; Global: Branch target inside Sub: taken when A25B. @@ -1152,51 +2203,51 @@ Sub_Loop13: Sub_A25B: jsr Sub_A36A ; CPU:$A25B PRG:225B 20 6A A3 cmp #$F0 ; CPU:$A25E PRG:225E C9 F0 - bcc Sub_Loop14 ; CPU:$A260 PRG:2260 90 03 + bcc Sub_Loop44 ; CPU:$A260 PRG:2260 90 03 jmp Sub_A2E1 ; CPU:$A262 PRG:2262 4C E1 A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop14 -; Global: Branch target inside Sub: taken when Loop14. +; Routine: Sub_Loop44 +; Global: Branch target inside Sub: taken when Loop44. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop14: +Sub_Loop44: cmp #$C0 ; CPU:$A265 PRG:2265 C9 C0 - bcs Sub_Loop18 ; CPU:$A267 PRG:2267 B0 56 + bcs Sub_Loop48 ; CPU:$A267 PRG:2267 B0 56 pha ; CPU:$A269 PRG:2269 48 - ldy Zp82 ; CPU:$A26A PRG:226A A4 82 - lda (Zp77),y ; CPU:$A26C PRG:226C B1 77 + ldy SpriteIndex ; CPU:$A26A PRG:226A A4 82 + lda (ScreenPtrLo),y ; CPU:$A26C PRG:226C B1 77 cmp #$05 ; CPU:$A26E PRG:226E C9 05 - bcc Sub_Loop15 ; CPU:$A270 PRG:2270 90 03 + bcc Sub_Loop45 ; CPU:$A270 PRG:2270 90 03 sec ; CPU:$A272 PRG:2272 38 sbc #$04 ; CPU:$A273 PRG:2273 E9 04 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop15 -; Global: Branch target inside Sub: taken when Loop15. +; Routine: Sub_Loop45 +; Global: Branch target inside Sub: taken when Loop45. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop15: +Sub_Loop45: cmp #$04 ; CPU:$A275 PRG:2275 C9 04 - bne Sub_Loop16 ; CPU:$A277 PRG:2277 D0 07 + bne Sub_Loop46 ; CPU:$A277 PRG:2277 D0 07 pla ; CPU:$A279 PRG:2279 68 iny ; CPU:$A27A PRG:227A C8 iny ; CPU:$A27B PRG:227B C8 iny ; CPU:$A27C PRG:227C C8 jmp Sub_A2B0 ; CPU:$A27D PRG:227D 4C B0 A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop16 -; Global: Branch target inside Sub: taken when Loop16. +; Routine: Sub_Loop46 +; Global: Branch target inside Sub: taken when Loop46. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop16: +Sub_Loop46: pla ; CPU:$A280 PRG:2280 68 pha ; CPU:$A281 PRG:2281 48 and #$F0 ; CPU:$A282 PRG:2282 29 F0 @@ -1210,38 +2261,38 @@ Sub_Loop16: sta Zp84 ; CPU:$A290 PRG:2290 85 84 pla ; CPU:$A292 PRG:2292 68 and #$0F ; CPU:$A293 PRG:2293 29 0F - beq Sub_Loop17 ; CPU:$A295 PRG:2295 F0 08 + beq Sub_Loop47 ; CPU:$A295 PRG:2295 F0 08 tax ; CPU:$A297 PRG:2297 AA ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero9 -; Global: Branch target inside Sub: taken when OnNonzero9. +; Routine: Sub_OnNonzero11 +; Global: Branch target inside Sub: taken when OnNonzero11. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero9: +Sub_OnNonzero11: lsr Zp83 ; CPU:$A298 PRG:2298 46 83 ror Zp84 ; CPU:$A29A PRG:229A 66 84 dex ; CPU:$A29C PRG:229C CA - bne Sub_OnNonzero9 ; CPU:$A29D PRG:229D D0 F9 + bne Sub_OnNonzero11 ; CPU:$A29D PRG:229D D0 F9 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop17 -; Global: Branch target inside Sub: taken when Loop17. +; Routine: Sub_Loop47 +; Global: Branch target inside Sub: taken when Loop47. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop17: - lda Zp82 ; CPU:$A29F PRG:229F A5 82 +Sub_Loop47: + lda SpriteIndex ; CPU:$A29F PRG:229F A5 82 clc ; CPU:$A2A1 PRG:22A1 18 adc #$04 ; CPU:$A2A2 PRG:22A2 69 04 tay ; CPU:$A2A4 PRG:22A4 A8 - lda (Zp77),y ; CPU:$A2A5 PRG:22A5 B1 77 + lda (ScreenPtrLo),y ; CPU:$A2A5 PRG:22A5 B1 77 and #$F8 ; CPU:$A2A7 PRG:22A7 29 F8 ora Zp83 ; CPU:$A2A9 PRG:22A9 05 83 - sta (Zp77),y ; CPU:$A2AB PRG:22AB 91 77 + sta (ScreenPtrLo),y ; CPU:$A2AB PRG:22AB 91 77 lda Zp84 ; CPU:$A2AD PRG:22AD A5 84 dey ; CPU:$A2AF PRG:22AF 88 ; ----------------------------------------------------------------------------- @@ -1253,59 +2304,59 @@ Sub_Loop17: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A2B0: - sta (Zp77),y ; CPU:$A2B0 PRG:22B0 91 77 - ldy Zp82 ; CPU:$A2B2 PRG:22B2 A4 82 - lda (Zp77),y ; CPU:$A2B4 PRG:22B4 B1 77 + sta (ScreenPtrLo),y ; CPU:$A2B0 PRG:22B0 91 77 + ldy SpriteIndex ; CPU:$A2B2 PRG:22B2 A4 82 + lda (ScreenPtrLo),y ; CPU:$A2B4 PRG:22B4 B1 77 cmp #$05 ; CPU:$A2B6 PRG:22B6 C9 05 - bcc Sub_Loop18 ; CPU:$A2B8 PRG:22B8 90 05 + bcc Sub_Loop48 ; CPU:$A2B8 PRG:22B8 90 05 sec ; CPU:$A2BA PRG:22BA 38 sbc #$04 ; CPU:$A2BB PRG:22BB E9 04 - sta (Zp77),y ; CPU:$A2BD PRG:22BD 91 77 + sta (ScreenPtrLo),y ; CPU:$A2BD PRG:22BD 91 77 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop18 -; Global: Branch target inside Sub: taken when Loop18. +; Routine: Sub_Loop48 +; Global: Branch target inside Sub: taken when Loop48. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop18: +Sub_Loop48: jsr Sub_A36A ; CPU:$A2BF PRG:22BF 20 6A A3 pha ; CPU:$A2C2 PRG:22C2 48 - lda Zp82 ; CPU:$A2C3 PRG:22C3 A5 82 + lda SpriteIndex ; CPU:$A2C3 PRG:22C3 A5 82 clc ; CPU:$A2C5 PRG:22C5 18 adc #$07 ; CPU:$A2C6 PRG:22C6 69 07 tay ; CPU:$A2C8 PRG:22C8 A8 pla ; CPU:$A2C9 PRG:22C9 68 - sta (Zp77),y ; CPU:$A2CA PRG:22CA 91 77 + sta (ScreenPtrLo),y ; CPU:$A2CA PRG:22CA 91 77 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop19 -; Global: Branch target inside Sub: taken when Loop19. +; Routine: Sub_Loop49 +; Global: Branch target inside Sub: taken when Loop49. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop19: - lda Zp82 ; CPU:$A2CC PRG:22CC A5 82 +Sub_Loop49: + lda SpriteIndex ; CPU:$A2CC PRG:22CC A5 82 clc ; CPU:$A2CE PRG:22CE 18 adc #$08 ; CPU:$A2CF PRG:22CF 69 08 - sta Zp82 ; CPU:$A2D1 PRG:22D1 85 82 + sta SpriteIndex ; CPU:$A2D1 PRG:22D1 85 82 lda Zp81 ; CPU:$A2D3 PRG:22D3 A5 81 adc #$01 ; CPU:$A2D5 PRG:22D5 69 01 sta Zp81 ; CPU:$A2D7 PRG:22D7 85 81 cmp #$06 ; CPU:$A2D9 PRG:22D9 C9 06 - bcs Sub_Loop20 ; CPU:$A2DB PRG:22DB B0 03 + bcs Sub_Loop50 ; CPU:$A2DB PRG:22DB B0 03 jmp Sub_A21F ; CPU:$A2DD PRG:22DD 4C 1F A2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop20 -; Global: Branch target inside Sub: taken when Loop20. +; Routine: Sub_Loop50 +; Global: Branch target inside Sub: taken when Loop50. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop20: +Sub_Loop50: rts ; CPU:$A2E0 PRG:22E0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A2E1 @@ -1324,17 +2375,102 @@ Sub_A2E1: lda $A2F3,x ; CPU:$A2EA PRG:22EA BD F3 A2 sta Zp84 ; CPU:$A2ED PRG:22ED 85 84 jmp (Zp83) ; CPU:$A2EF PRG:22EF 6C 83 00 -; ---- data $A2F2-$A369 (120 bytes) ---- +; ---- data $A2F2-$A311 (32 bytes) ---- ; referenced by `lda $A2F2,x` at $A2E5 (operand $A2F2 falls inside this region) ; referenced by `lda $A2F3,x` at $A2EA (operand $A2F3 falls inside this region) - .byte $12, $A3, $32, $A3, $1E, $A3, $1E, $A3, $5A, $A3, $1E, $A3, $4A, $A3, $1E, $A3 ; CPU:$A2F2 PRG:22F2 12 A3 32 A3 1E A3 1E A3 5A A3 1E A3 4A A3 1E A3 +EnemyHandlerPointerTable: + .byte $12, $A3, $32, $A3, $1E, $A3, $1E, $A3, $5A, $A3, $1E, $A3, $4A, $A3, $1E, $A3 ; CPU:$A2F2 PRG:-1D0E 12 A3 32 A3 1E A3 1E A3 5A A3 1E A3 4A A3 1E A3 .byte $1E, $A3, $1E, $A3, $1E, $A3, $1E, $A3, $1E, $A3, $1E, $A3, $1E, $A3, $1E, $A3 ; CPU:$A302 PRG:2302 1E A3 1E A3 1E A3 1E A3 1E A3 1E A3 1E A3 1E A3 - .byte $A4, $82, $A9, $00, $91, $77, $20, $8F, $A3, $4C, $5B, $A2, $A4, $81, $A9, $00 ; CPU:$A312 PRG:2312 A4 82 A9 00 91 77 20 8F A3 4C 5B A2 A4 81 A9 00 - .byte $91, $75, $A4, $82, $91, $77, $A4, $81, $A9, $FF, $99, $46, $07, $4C, $CC, $A2 ; CPU:$A322 PRG:2322 91 75 A4 82 91 77 A4 81 A9 FF 99 46 07 4C CC A2 - .byte $20, $6A, $A3, $48, $A5, $82, $18, $69, $01, $A8, $B1, $77, $29, $3F, $91, $77 ; CPU:$A332 PRG:2332 20 6A A3 48 A5 82 18 69 01 A8 B1 77 29 3F 91 77 - .byte $68, $11, $77, $91, $77, $4C, $5B, $A2, $20, $6A, $A3, $48, $A5, $82, $18, $69 ; CPU:$A342 PRG:2342 68 11 77 91 77 4C 5B A2 20 6A A3 48 A5 82 18 69 - .byte $01, $A8, $68, $91, $77, $4C, $5B, $A2, $20, $6A, $A3, $48, $A5, $82, $18, $69 ; CPU:$A352 PRG:2352 01 A8 68 91 77 4C 5B A2 20 6A A3 48 A5 82 18 69 - .byte $02, $A8, $68, $91, $77, $4C, $5B, $A2 ; CPU:$A362 PRG:2362 02 A8 68 91 77 4C 5B A2 +; ----------------------------------------------------------------------------- +; Routine: Label_A312 +; Global: Branch target inside Label: taken when A312. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A312: + ldy SpriteIndex ; CPU:$A312 PRG:2312 A4 82 + lda #$00 ; CPU:$A314 PRG:2314 A9 00 + sta (ScreenPtrLo),y ; CPU:$A316 PRG:2316 91 77 + jsr Sub_A38F ; CPU:$A318 PRG:2318 20 8F A3 + jmp Sub_A25B ; CPU:$A31B PRG:231B 4C 5B A2 +; ----------------------------------------------------------------------------- +; Routine: Label_A31E +; Global: Branch target inside Label: taken when A31E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A31E: + ldy Zp81 ; CPU:$A31E PRG:231E A4 81 + lda #$00 ; CPU:$A320 PRG:2320 A9 00 + sta (Zp75),y ; CPU:$A322 PRG:2322 91 75 + ldy SpriteIndex ; CPU:$A324 PRG:2324 A4 82 + sta (ScreenPtrLo),y ; CPU:$A326 PRG:2326 91 77 + ldy Zp81 ; CPU:$A328 PRG:2328 A4 81 + lda #$FF ; CPU:$A32A PRG:232A A9 FF + sta $0746,y ; CPU:$A32C PRG:232C 99 46 07 + jmp Sub_Loop49 ; CPU:$A32F PRG:232F 4C CC A2 +; ----------------------------------------------------------------------------- +; Routine: Label_A332 +; Global: Branch target inside Label: taken when A332. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A332: + jsr Sub_A36A ; CPU:$A332 PRG:2332 20 6A A3 + pha ; CPU:$A335 PRG:2335 48 + lda SpriteIndex ; CPU:$A336 PRG:2336 A5 82 + clc ; CPU:$A338 PRG:2338 18 + adc #$01 ; CPU:$A339 PRG:2339 69 01 + tay ; CPU:$A33B PRG:233B A8 + lda (ScreenPtrLo),y ; CPU:$A33C PRG:233C B1 77 + and #$3F ; CPU:$A33E PRG:233E 29 3F + sta (ScreenPtrLo),y ; CPU:$A340 PRG:2340 91 77 + pla ; CPU:$A342 PRG:2342 68 + ora (ScreenPtrLo),y ; CPU:$A343 PRG:2343 11 77 + sta (ScreenPtrLo),y ; CPU:$A345 PRG:2345 91 77 + jmp Sub_A25B ; CPU:$A347 PRG:2347 4C 5B A2 +; ----------------------------------------------------------------------------- +; Routine: Label_A34A +; Global: Branch target inside Label: taken when A34A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A34A: + jsr Sub_A36A ; CPU:$A34A PRG:234A 20 6A A3 + pha ; CPU:$A34D PRG:234D 48 + lda SpriteIndex ; CPU:$A34E PRG:234E A5 82 + clc ; CPU:$A350 PRG:2350 18 + adc #$01 ; CPU:$A351 PRG:2351 69 01 + tay ; CPU:$A353 PRG:2353 A8 + pla ; CPU:$A354 PRG:2354 68 + sta (ScreenPtrLo),y ; CPU:$A355 PRG:2355 91 77 + jmp Sub_A25B ; CPU:$A357 PRG:2357 4C 5B A2 +; ----------------------------------------------------------------------------- +; Routine: Label_A35A +; Global: Branch target inside Label: taken when A35A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A35A: + jsr Sub_A36A ; CPU:$A35A PRG:235A 20 6A A3 + pha ; CPU:$A35D PRG:235D 48 + lda SpriteIndex ; CPU:$A35E PRG:235E A5 82 + clc ; CPU:$A360 PRG:2360 18 + adc #$02 ; CPU:$A361 PRG:2361 69 02 + tay ; CPU:$A363 PRG:2363 A8 + pla ; CPU:$A364 PRG:2364 68 + sta (ScreenPtrLo),y ; CPU:$A365 PRG:2365 91 77 + jmp Sub_A25B ; CPU:$A367 PRG:2367 4C 5B A2 ; ----------------------------------------------------------------------------- ; Routine: Sub_A36A ; Global: Branch target inside Sub: taken when A36A. @@ -1344,14 +2480,14 @@ Sub_A2E1: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A36A: - lda Zp82 ; CPU:$A36A PRG:236A A5 82 + lda SpriteIndex ; CPU:$A36A PRG:236A A5 82 clc ; CPU:$A36C PRG:236C 18 adc #$05 ; CPU:$A36D PRG:236D 69 05 tay ; CPU:$A36F PRG:236F A8 - lda (Zp77),y ; CPU:$A370 PRG:2370 B1 77 + lda (ScreenPtrLo),y ; CPU:$A370 PRG:2370 B1 77 sta Zp83 ; CPU:$A372 PRG:2372 85 83 iny ; CPU:$A374 PRG:2374 C8 - lda (Zp77),y ; CPU:$A375 PRG:2375 B1 77 + lda (ScreenPtrLo),y ; CPU:$A375 PRG:2375 B1 77 sta Zp84 ; CPU:$A377 PRG:2377 85 84 ldx #$00 ; CPU:$A379 PRG:2379 A2 00 lda (Zp83,x) ; CPU:$A37B PRG:237B A1 83 @@ -1360,11 +2496,11 @@ Sub_A36A: dey ; CPU:$A380 PRG:2380 88 clc ; CPU:$A381 PRG:2381 18 adc #$01 ; CPU:$A382 PRG:2382 69 01 - sta (Zp77),y ; CPU:$A384 PRG:2384 91 77 + sta (ScreenPtrLo),y ; CPU:$A384 PRG:2384 91 77 lda Zp84 ; CPU:$A386 PRG:2386 A5 84 adc #$00 ; CPU:$A388 PRG:2388 69 00 iny ; CPU:$A38A PRG:238A C8 - sta (Zp77),y ; CPU:$A38B PRG:238B 91 77 + sta (ScreenPtrLo),y ; CPU:$A38B PRG:238B 91 77 pla ; CPU:$A38D PRG:238D 68 rts ; CPU:$A38E PRG:238E 60 ; ----------------------------------------------------------------------------- @@ -1379,62 +2515,63 @@ Sub_A38F: lda Zp81 ; CPU:$A38F PRG:238F A5 81 asl a ; CPU:$A391 PRG:2391 0A tay ; CPU:$A392 PRG:2392 A8 - lda (Zp79),y ; CPU:$A393 PRG:2393 B1 79 + lda (TilePtrLo),y ; CPU:$A393 PRG:2393 B1 79 pha ; CPU:$A395 PRG:2395 48 - lda Zp82 ; CPU:$A396 PRG:2396 A5 82 + lda SpriteIndex ; CPU:$A396 PRG:2396 A5 82 adc #$05 ; CPU:$A398 PRG:2398 69 05 tay ; CPU:$A39A PRG:239A A8 pla ; CPU:$A39B PRG:239B 68 - sta (Zp77),y ; CPU:$A39C PRG:239C 91 77 + sta (ScreenPtrLo),y ; CPU:$A39C PRG:239C 91 77 lda Zp81 ; CPU:$A39E PRG:239E A5 81 asl a ; CPU:$A3A0 PRG:23A0 0A adc #$01 ; CPU:$A3A1 PRG:23A1 69 01 tay ; CPU:$A3A3 PRG:23A3 A8 - lda (Zp79),y ; CPU:$A3A4 PRG:23A4 B1 79 + lda (TilePtrLo),y ; CPU:$A3A4 PRG:23A4 B1 79 pha ; CPU:$A3A6 PRG:23A6 48 - lda Zp82 ; CPU:$A3A7 PRG:23A7 A5 82 + lda SpriteIndex ; CPU:$A3A7 PRG:23A7 A5 82 adc #$06 ; CPU:$A3A9 PRG:23A9 69 06 tay ; CPU:$A3AB PRG:23AB A8 pla ; CPU:$A3AC PRG:23AC 68 - sta (Zp77),y ; CPU:$A3AD PRG:23AD 91 77 + sta (ScreenPtrLo),y ; CPU:$A3AD PRG:23AD 91 77 jsr Sub_A36A ; CPU:$A3AF PRG:23AF 20 6A A3 - ldy Zp82 ; CPU:$A3B2 PRG:23B2 A4 82 - sta (Zp77),y ; CPU:$A3B4 PRG:23B4 91 77 + ldy SpriteIndex ; CPU:$A3B2 PRG:23B2 A4 82 + sta (ScreenPtrLo),y ; CPU:$A3B4 PRG:23B4 91 77 jsr Sub_A36A ; CPU:$A3B6 PRG:23B6 20 6A A3 tax ; CPU:$A3B9 PRG:23B9 AA - lda Zp82 ; CPU:$A3BA PRG:23BA A5 82 + lda SpriteIndex ; CPU:$A3BA PRG:23BA A5 82 clc ; CPU:$A3BC PRG:23BC 18 adc #$01 ; CPU:$A3BD PRG:23BD 69 01 tay ; CPU:$A3BF PRG:23BF A8 txa ; CPU:$A3C0 PRG:23C0 8A - sta (Zp77),y ; CPU:$A3C1 PRG:23C1 91 77 + sta (ScreenPtrLo),y ; CPU:$A3C1 PRG:23C1 91 77 jsr Sub_A36A ; CPU:$A3C3 PRG:23C3 20 6A A3 tax ; CPU:$A3C6 PRG:23C6 AA - lda Zp82 ; CPU:$A3C7 PRG:23C7 A5 82 + lda SpriteIndex ; CPU:$A3C7 PRG:23C7 A5 82 clc ; CPU:$A3C9 PRG:23C9 18 adc #$02 ; CPU:$A3CA PRG:23CA 69 02 tay ; CPU:$A3CC PRG:23CC A8 txa ; CPU:$A3CD PRG:23CD 8A - sta (Zp77),y ; CPU:$A3CE PRG:23CE 91 77 + sta (ScreenPtrLo),y ; CPU:$A3CE PRG:23CE 91 77 jsr Sub_A36A ; CPU:$A3D0 PRG:23D0 20 6A A3 tax ; CPU:$A3D3 PRG:23D3 AA - lda Zp82 ; CPU:$A3D4 PRG:23D4 A5 82 + lda SpriteIndex ; CPU:$A3D4 PRG:23D4 A5 82 clc ; CPU:$A3D6 PRG:23D6 18 adc #$04 ; CPU:$A3D7 PRG:23D7 69 04 tay ; CPU:$A3D9 PRG:23D9 A8 txa ; CPU:$A3DA PRG:23DA 8A - sta (Zp77),y ; CPU:$A3DB PRG:23DB 91 77 - ldy Zp82 ; CPU:$A3DD PRG:23DD A4 82 - lda (Zp77),y ; CPU:$A3DF PRG:23DF B1 77 + sta (ScreenPtrLo),y ; CPU:$A3DB PRG:23DB 91 77 + ldy SpriteIndex ; CPU:$A3DD PRG:23DD A4 82 + lda (ScreenPtrLo),y ; CPU:$A3DF PRG:23DF B1 77 rts ; CPU:$A3E1 PRG:23E1 60 -; ---- data $A3E2-$B93C (5467 bytes) ---- +; ---- data $A3E2-$A73D (860 bytes) ---- ; referenced by `lda $A411` at $9FEB (operand $A411 falls inside this region) ; referenced by `lda $A412` at $9FF0 (operand $A412 falls inside this region) ; referenced by `lda $A413,y` at $A171 (operand $A413 falls inside this region) ; referenced by `lda $A413,y` at $A177 (operand $A413 falls inside this region) ; referenced by `lda $A3F9,x` at $A288 (operand $A3F9 falls inside this region) ; referenced by `lda $A3FA,x` at $A28D (operand $A3FA falls inside this region) - .byte $01, $02, $03, $01, $01, $02, $03, $01, $03, $04, $01, $01, $02, $03, $01, $02 ; CPU:$A3E2 PRG:23E2 01 02 03 01 01 02 03 01 03 04 01 01 02 03 01 02 +LevelObjectSpawnTable: + .byte $01, $02, $03, $01, $01, $02, $03, $01, $03, $04, $01, $01, $02, $03, $01, $02 ; CPU:$A3E2 PRG:-1C1E 01 02 03 01 01 02 03 01 03 04 01 01 02 03 01 02 .byte $02, $03, $04, $04, $04, $02, $04, $03, $F9, $03, $C0, $03, $8A, $03, $57, $03 ; CPU:$A3F2 PRG:23F2 02 03 04 04 04 02 04 03 F9 03 C0 03 8A 03 57 03 .byte $27, $02, $FA, $02, $CF, $02, $A7, $02, $81, $02, $5D, $02, $3B, $02, $1B, $35 ; CPU:$A402 PRG:2402 27 02 FA 02 CF 02 A7 02 81 02 5D 02 3B 02 1B 35 .byte $07, $41, $A4, $48, $A4, $4F, $A4, $56, $A4, $6D, $A4, $86, $A4, $9F, $A4, $C6 ; CPU:$A412 PRG:2412 07 41 A4 48 A4 4F A4 56 A4 6D A4 86 A4 9F A4 C6 @@ -1487,295 +2624,4199 @@ Sub_A38F: .byte $43, $08, $73, $07, $43, $07, $73, $08, $43, $0B, $43, $0B, $C0, $16, $73, $07 ; CPU:$A702 PRG:2702 43 08 73 07 43 07 73 08 43 0B 43 0B C0 16 73 07 .byte $43, $07, $43, $08, $73, $07, $43, $07, $73, $08, $43, $0B, $43, $0B, $C0, $16 ; CPU:$A712 PRG:2712 43 07 43 08 73 07 43 07 73 08 43 0B 43 0B C0 16 .byte $43, $0B, $43, $0B, $C0, $16, $43, $0B, $43, $0B, $C0, $16, $43, $0B, $43, $0B ; CPU:$A722 PRG:2722 43 0B 43 0B C0 16 43 0B 43 0B C0 16 43 0B 43 0B - .byte $C0, $21, $73, $0B, $73, $0B, $73, $0B, $F0, $0F, $01, $FF, $AD, $A1, $03, $F0 ; CPU:$A732 PRG:2732 C0 21 73 0B 73 0B 73 0B F0 0F 01 FF AD A1 03 F0 - .byte $04, $C9, $21, $90, $0B, $A9, $A7, $85, $8B, $A9, $70, $85, $8A, $4C, $5A, $A7 ; CPU:$A742 PRG:2742 04 C9 21 90 0B A9 A7 85 8B A9 70 85 8A 4C 5A A7 - .byte $A9, $A7, $85, $8B, $A9, $90, $85, $8A, $A9, $20, $85, $87, $A9, $3F, $85, $89 ; CPU:$A752 PRG:2752 A9 A7 85 8B A9 90 85 8A A9 20 85 87 A9 3F 85 89 - .byte $A9, $00, $85, $88, $A0, $00, $B1, $8A, $8D, $FF, $07, $4C, $1B, $80, $02, $12 ; CPU:$A762 PRG:2762 A9 00 85 88 A0 00 B1 8A 8D FF 07 4C 1B 80 02 12 - .byte $38, $10, $02, $38, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F, $02, $16 ; CPU:$A772 PRG:2772 38 10 02 38 1A 0A 02 1A 0A 0F 02 10 00 0F 02 16 - .byte $10, $00, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10, $02, $12 ; CPU:$A782 PRG:2782 10 00 02 20 28 16 02 16 29 19 02 26 20 10 02 12 - .byte $1A, $0F, $02, $37, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F, $02, $16 ; CPU:$A792 PRG:2792 1A 0F 02 37 1A 0A 02 1A 0A 0F 02 10 00 0F 02 16 - .byte $10, $0F, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10, $E6, $8A ; CPU:$A7A2 PRG:27A2 10 0F 02 20 28 16 02 16 29 19 02 26 20 10 E6 8A - .byte $F0, $01, $60, $E6, $8B, $60, $E6, $88, $F0, $01, $60, $E6, $89, $60, $A5, $8A ; CPU:$A7B2 PRG:27B2 F0 01 60 E6 8B 60 E6 88 F0 01 60 E6 89 60 A5 8A - .byte $18, $65, $8A, $85, $8A, $A5, $8B, $65, $8B, $85, $8B, $60, $A5, $88, $18, $65 ; CPU:$A7C2 PRG:27C2 18 65 8A 85 8A A5 8B 65 8B 85 8B 60 A5 88 18 65 - .byte $8A, $85, $8A, $A5, $89, $65, $8B, $85, $8B, $60, $A5, $8A, $38, $E5, $88, $B0 ; CPU:$A7D2 PRG:27D2 8A 85 8A A5 89 65 8B 85 8B 60 A5 8A 38 E5 88 B0 - .byte $02, $C6, $8B, $85, $8A, $A5, $8B, $38, $E5, $89, $85, $8B, $60, $A9, $00, $8D ; CPU:$A7E2 PRG:27E2 02 C6 8B 85 8A A5 8B 38 E5 89 85 8B 60 A9 00 8D - .byte $8B, $03, $A5, $8A, $18, $65, $88, $C9, $0A, $90, $05, $38, $E9, $0A, $E6, $8B ; CPU:$A7F2 PRG:27F2 8B 03 A5 8A 18 65 88 C9 0A 90 05 38 E9 0A E6 8B - .byte $85, $8A, $A5, $8B, $18, $65, $89, $C9, $0A, $90, $06, $38, $E9, $0A, $EE, $8B ; CPU:$A802 PRG:2802 85 8A A5 8B 18 65 89 C9 0A 90 06 38 E9 0A EE 8B - .byte $03, $85, $8B, $60, $E6, $8A, $A5, $8A, $C9, $0A, $F0, $01, $60, $A9, $00, $85 ; CPU:$A812 PRG:2812 03 85 8B 60 E6 8A A5 8A C9 0A F0 01 60 A9 00 85 - .byte $8A, $E6, $8B, $A5, $8B, $C9, $0A, $F0, $01, $60, $A9, $00, $85, $8B, $EE, $8B ; CPU:$A822 PRG:2822 8A E6 8B A5 8B C9 0A F0 01 60 A9 00 85 8B EE 8B - .byte $03, $60, $A9, $00, $85, $86, $A5, $8A, $38, $E5, $88, $85, $8A, $A5, $8B, $E5 ; CPU:$A832 PRG:2832 03 60 A9 00 85 86 A5 8A 38 E5 88 85 8A A5 8B E5 - .byte $89, $85, $8B, $AD, $8B, $03, $E9, $00, $8D, $8B, $03, $90, $05, $E6, $86, $4C ; CPU:$A842 PRG:2842 89 85 8B AD 8B 03 E9 00 8D 8B 03 90 05 E6 86 4C - .byte $38, $A8, $60, $AD, $8B, $03, $85, $89, $A5, $8B, $85, $88, $A5, $8A, $85, $87 ; CPU:$A852 PRG:2852 38 A8 60 AD 8B 03 85 89 A5 8B 85 88 A5 8A 85 87 - .byte $A9, $00, $85, $8B, $85, $8A, $8D, $8B, $03, $85, $86, $46, $89, $66, $88, $66 ; CPU:$A862 PRG:2862 A9 00 85 8B 85 8A 8D 8B 03 85 86 46 89 66 88 66 - .byte $87, $66, $86, $06, $85, $90, $15, $A5, $86, $18, $65, $8A, $85, $8A, $A5, $87 ; CPU:$A872 PRG:2872 87 66 86 06 85 90 15 A5 86 18 65 8A 85 8A A5 87 - .byte $65, $8B, $85, $8B, $A5, $88, $6D, $8B, $03, $8D, $8B, $03, $A5, $85, $D0, $DB ; CPU:$A882 PRG:2882 65 8B 85 8B A5 88 6D 8B 03 8D 8B 03 A5 85 D0 DB - .byte $60, $AD, $3F, $04, $8D, $97, $03, $AD, $40, $04, $8D, $96, $03, $AD, $3D, $04 ; CPU:$A892 PRG:2892 60 AD 3F 04 8D 97 03 AD 40 04 8D 96 03 AD 3D 04 - .byte $8D, $91, $03, $AD, $3E, $04, $8D, $90, $03, $4C, $C6, $A8, $AD, $3B, $04, $8D ; CPU:$A8A2 PRG:28A2 8D 91 03 AD 3E 04 8D 90 03 4C C6 A8 AD 3B 04 8D - .byte $97, $03, $AD, $3C, $04, $8D, $96, $03, $AD, $39, $04, $8D, $91, $03, $AD, $3A ; CPU:$A8B2 PRG:28B2 97 03 AD 3C 04 8D 96 03 AD 39 04 8D 91 03 AD 3A - .byte $04, $8D, $90, $03, $A9, $00, $8D, $8B, $03, $AD, $97, $03, $85, $8A, $AD, $96 ; CPU:$A8C2 PRG:28C2 04 8D 90 03 A9 00 8D 8B 03 AD 97 03 85 8A AD 96 - .byte $03, $85, $8B, $A9, $64, $85, $85, $20, $55, $A8, $AD, $91, $03, $85, $88, $0D ; CPU:$A8D2 PRG:28D2 03 85 8B A9 64 85 85 20 55 A8 AD 91 03 85 88 0D - .byte $90, $03, $D0, $0A, $A9, $00, $85, $8B, $85, $8A, $8D, $8B, $03, $60, $AD, $90 ; CPU:$A8E2 PRG:28E2 90 03 D0 0A A9 00 85 8B 85 8A 8D 8B 03 60 AD 90 - .byte $03, $85, $89, $20, $34, $A8, $A5, $86, $85, $8A, $A9, $00, $85, $8B, $8D, $8B ; CPU:$A8F2 PRG:28F2 03 85 89 20 34 A8 A5 86 85 8A A9 00 85 8B 8D 8B - .byte $03, $A5, $8A, $38, $E9, $0A, $90, $13, $85, $8A, $E6, $8B, $A5, $8B, $38, $E9 ; CPU:$A902 PRG:2902 03 A5 8A 38 E9 0A 90 13 85 8A E6 8B A5 8B 38 E9 - .byte $0A, $90, $EE, $85, $8B, $EE, $8B, $03, $4C, $03, $A9, $60, $A5, $8D, $29, $E7 ; CPU:$A912 PRG:2912 0A 90 EE 85 8B EE 8B 03 4C 03 A9 60 A5 8D 29 E7 - .byte $85, $8D, $4C, $75, $C2, $A5, $8D, $09, $18, $85, $8D, $60, $C9, $00, $D0, $03 ; CPU:$A922 PRG:2922 85 8D 4C 75 C2 A5 8D 09 18 85 8D 60 C9 00 D0 03 - .byte $4C, $B5, $A9, $C9, $01, $D0, $03, $4C, $6D, $A9, $C9, $02, $D0, $03, $4C, $7B ; CPU:$A932 PRG:2932 4C B5 A9 C9 01 D0 03 4C 6D A9 C9 02 D0 03 4C 7B - .byte $A9, $C9, $03, $D0, $03, $4C, $5F, $A9, $C9, $04, $D0, $03, $4C, $C3, $A9, $C9 ; CPU:$A942 PRG:2942 A9 C9 03 D0 03 4C 5F A9 C9 04 D0 03 4C C3 A9 C9 - .byte $05, $D0, $03, $4C, $8B, $A9, $C9, $06, $D0, $4B, $4C, $99, $A9, $A5, $87, $38 ; CPU:$A952 PRG:2952 05 D0 03 4C 8B A9 C9 06 D0 4B 4C 99 A9 A5 87 38 - .byte $E5, $B0, $85, $87, $C9, $03, $B0, $11, $4C, $CE, $A9, $A5, $87, $18, $65, $B0 ; CPU:$A962 PRG:2962 E5 B0 85 87 C9 03 B0 11 4C CE A9 A5 87 18 65 B0 - .byte $85, $87, $C9, $FA, $90, $03, $4C, $CE, $A9, $A5, $86, $38, $E5, $B0, $90, $4C ; CPU:$A972 PRG:2972 85 87 C9 FA 90 03 4C CE A9 A5 86 38 E5 B0 90 4C - .byte $85, $86, $C9, $03, $B0, $48, $4C, $CE, $A9, $A5, $87, $38, $E5, $B0, $85, $87 ; CPU:$A982 PRG:2982 85 86 C9 03 B0 48 4C CE A9 A5 87 38 E5 B0 85 87 - .byte $C9, $03, $B0, $11, $4C, $CE, $A9, $A5, $87, $18, $65, $B0, $85, $87, $C9, $FA ; CPU:$A992 PRG:2992 C9 03 B0 11 4C CE A9 A5 87 18 65 B0 85 87 C9 FA - .byte $90, $03, $4C, $CE, $A9, $A5, $86, $18, $65, $B0, $85, $86, $C9, $EA, $90, $1E ; CPU:$A9A2 PRG:29A2 90 03 4C CE A9 A5 86 18 65 B0 85 86 C9 EA 90 1E - .byte $4C, $CE, $A9, $A5, $87, $18, $65, $B0, $85, $87, $C9, $FA, $90, $10, $4C, $CE ; CPU:$A9B2 PRG:29B2 4C CE A9 A5 87 18 65 B0 85 87 C9 FA 90 10 4C CE - .byte $A9, $A5, $87, $38, $E5, $B0, $85, $87, $C9, $03, $B0, $02, $38, $60, $18, $60 ; CPU:$A9C2 PRG:29C2 A9 A5 87 38 E5 B0 85 87 C9 03 B0 02 38 60 18 60 - .byte $60, $A0, $00, $20, $BC, $B0, $20, $E5, $B0, $A9, $50, $85, $B0, $A9, $20, $85 ; CPU:$A9D2 PRG:29D2 60 A0 00 20 BC B0 20 E5 B0 A9 50 85 B0 A9 20 85 - .byte $B2, $A9, $B0, $85, $B1, $A9, $E0, $85, $B3, $4C, $00, $AA, $20, $BC, $B0, $20 ; CPU:$A9E2 PRG:29E2 B2 A9 B0 85 B1 A9 E0 85 B3 4C 00 AA 20 BC B0 20 - .byte $E5, $B0, $A9, $06, $85, $B0, $85, $B2, $A9, $FA, $85, $B1, $85, $B3, $AD, $99 ; CPU:$A9F2 PRG:29F2 E5 B0 A9 06 85 B0 85 B2 A9 FA 85 B1 85 B3 AD 99 - .byte $03, $85, $DE, $20, $AD, $AE, $20, $1F, $B1, $AD, $96, $03, $D0, $09, $AD, $97 ; CPU:$AA02 PRG:2A02 03 85 DE 20 AD AE 20 1F B1 AD 96 03 D0 09 AD 97 - .byte $03, $C5, $B0, $90, $0D, $B0, $44, $C9, $FF, $D0, $40, $AD, $97, $03, $C5, $B1 ; CPU:$AA12 PRG:2A12 03 C5 B0 90 0D B0 44 C9 FF D0 40 AD 97 03 C5 B1 - .byte $90, $39, $AD, $99, $03, $D0, $19, $A5, $DE, $CD, $93, $03, $F0, $09, $AD, $9A ; CPU:$AA22 PRG:2A22 90 39 AD 99 03 D0 19 A5 DE CD 93 03 F0 09 AD 9A - .byte $03, $38, $E9, $10, $8D, $9A, $03, $AD, $9A, $03, $C5, $B2, $90, $1F, $B0, $1B ; CPU:$AA32 PRG:2A32 03 38 E9 10 8D 9A 03 AD 9A 03 C5 B2 90 1F B0 1B - .byte $C9, $FF, $D0, $17, $A5, $DE, $CD, $93, $03, $F0, $09, $AD, $9A, $03, $18, $69 ; CPU:$AA42 PRG:2A42 C9 FF D0 17 A5 DE CD 93 03 F0 09 AD 9A 03 18 69 - .byte $10, $8D, $9A, $03, $AD, $9A, $03, $C5, $B3, $B0, $02, $18, $60, $38, $60, $8C ; CPU:$AA52 PRG:2A52 10 8D 9A 03 AD 9A 03 C5 B3 B0 02 18 60 38 60 8C - .byte $1D, $07, $BD, $C0, $04, $8D, $91, $03, $BD, $A7, $04, $8D, $94, $03, $B9, $C0 ; CPU:$AA62 PRG:2A62 1D 07 BD C0 04 8D 91 03 BD A7 04 8D 94 03 B9 C0 - .byte $04, $8D, $97, $03, $B9, $A7, $04, $8D, $9A, $03, $BD, $D9, $04, $20, $2C, $AB ; CPU:$AA72 PRG:2A72 04 8D 97 03 B9 A7 04 8D 9A 03 BD D9 04 20 2C AB - .byte $A0, $00, $B1, $8A, $99, $B0, $00, $C8, $C0, $04, $90, $F6, $AC, $1D, $07, $B9 ; CPU:$AA82 PRG:2A82 A0 00 B1 8A 99 B0 00 C8 C0 04 90 F6 AC 1D 07 B9 - .byte $D9, $04, $20, $2C, $AB, $A0, $00, $B1, $8A, $99, $B4, $00, $C8, $C0, $04, $90 ; CPU:$AA92 PRG:2A92 D9 04 20 2C AB A0 00 B1 8A 99 B4 00 C8 C0 04 90 - .byte $F6, $AD, $91, $03, $18, $65, $B1, $90, $02, $A9, $FF, $85, $87, $AD, $97, $03 ; CPU:$AAA2 PRG:2AA2 F6 AD 91 03 18 65 B1 90 02 A9 FF 85 87 AD 97 03 - .byte $38, $E5, $B4, $B0, $02, $A9, $00, $C5, $87, $90, $03, $4C, $22, $AB, $AD, $91 ; CPU:$AAB2 PRG:2AB2 38 E5 B4 B0 02 A9 00 C5 87 90 03 4C 22 AB AD 91 - .byte $03, $38, $E5, $B0, $B0, $02, $A9, $00, $85, $87, $AD, $97, $03, $18, $65, $B5 ; CPU:$AAC2 PRG:2AC2 03 38 E5 B0 B0 02 A9 00 85 87 AD 97 03 18 65 B5 - .byte $90, $02, $A9, $FF, $C5, $87, $B0, $03, $4C, $22, $AB, $AD, $94, $03, $18, $65 ; CPU:$AAD2 PRG:2AD2 90 02 A9 FF C5 87 B0 03 4C 22 AB AD 94 03 18 65 - .byte $B3, $B0, $07, $C9, $F0, $B0, $03, $4C, $EE, $AA, $A9, $FF, $85, $87, $AD, $9A ; CPU:$AAE2 PRG:2AE2 B3 B0 07 C9 F0 B0 03 4C EE AA A9 FF 85 87 AD 9A - .byte $03, $38, $E5, $B6, $B0, $02, $A9, $00, $C5, $87, $90, $03, $4C, $22, $AB, $AD ; CPU:$AAF2 PRG:2AF2 03 38 E5 B6 B0 02 A9 00 C5 87 90 03 4C 22 AB AD - .byte $94, $03, $38, $E5, $B2, $B0, $02, $A9, $00, $85, $87, $AD, $9A, $03, $18, $65 ; CPU:$AB02 PRG:2B02 94 03 38 E5 B2 B0 02 A9 00 85 87 AD 9A 03 18 65 - .byte $B7, $B0, $07, $C9, $F0, $B0, $03, $4C, $1E, $AB, $A9, $FF, $C5, $87, $B0, $05 ; CPU:$AB12 PRG:2B12 B7 B0 07 C9 F0 B0 03 4C 1E AB A9 FF C5 87 B0 05 - .byte $AC, $1D, $07, $18, $60, $AC, $1D, $07, $38, $60, $C9, $00, $D0, $05, $A9, $00 ; CPU:$AB22 PRG:2B22 AC 1D 07 18 60 AC 1D 07 38 60 C9 00 D0 05 A9 00 - .byte $4C, $C2, $AB, $C9, $01, $D0, $05, $A9, $01, $4C, $C2, $AB, $C9, $07, $D0, $05 ; CPU:$AB32 PRG:2B32 4C C2 AB C9 01 D0 05 A9 01 4C C2 AB C9 07 D0 05 - .byte $A9, $0A, $4C, $C2, $AB, $C9, $08, $D0, $05, $A9, $02, $4C, $C2, $AB, $C9, $09 ; CPU:$AB42 PRG:2B42 A9 0A 4C C2 AB C9 08 D0 05 A9 02 4C C2 AB C9 09 - .byte $D0, $05, $A9, $03, $4C, $C2, $AB, $C9, $0A, $D0, $05, $A9, $04, $4C, $C2, $AB ; CPU:$AB52 PRG:2B52 D0 05 A9 03 4C C2 AB C9 0A D0 05 A9 04 4C C2 AB - .byte $C9, $0B, $D0, $05, $A9, $05, $4C, $C2, $AB, $C9, $0C, $D0, $05, $A9, $06, $4C ; CPU:$AB62 PRG:2B62 C9 0B D0 05 A9 05 4C C2 AB C9 0C D0 05 A9 06 4C - .byte $C2, $AB, $C9, $0D, $D0, $05, $A9, $07, $4C, $C2, $AB, $C9, $0E, $D0, $05, $A9 ; CPU:$AB72 PRG:2B72 C2 AB C9 0D D0 05 A9 07 4C C2 AB C9 0E D0 05 A9 - .byte $08, $4C, $C2, $AB, $C9, $0F, $D0, $05, $A9, $09, $4C, $C2, $AB, $C9, $10, $90 ; CPU:$AB82 PRG:2B82 08 4C C2 AB C9 0F D0 05 A9 09 4C C2 AB C9 10 90 - .byte $09, $C9, $60, $B0, $05, $A9, $0B, $4C, $C2, $AB, $C9, $72, $B0, $05, $A9, $0C ; CPU:$AB92 PRG:2B92 09 C9 60 B0 05 A9 0B 4C C2 AB C9 72 B0 05 A9 0C - .byte $4C, $C2, $AB, $C9, $79, $B0, $05, $A9, $0D, $4C, $C2, $AB, $C9, $8E, $B0, $05 ; CPU:$ABA2 PRG:2BA2 4C C2 AB C9 79 B0 05 A9 0D 4C C2 AB C9 8E B0 05 - .byte $A9, $0E, $4C, $C2, $AB, $C9, $8F, $B0, $05, $A9, $0F, $4C, $C2, $AB, $A9, $10 ; CPU:$ABB2 PRG:2BB2 A9 0E 4C C2 AB C9 8F B0 05 A9 0F 4C C2 AB A9 10 - .byte $0A, $0A, $18, $69, $D0, $85, $8A, $A9, $00, $69, $AB, $85, $8B, $60, $05, $05 ; CPU:$ABC2 PRG:2BC2 0A 0A 18 69 D0 85 8A A9 00 69 AB 85 8B 60 05 05 - .byte $04, $03, $03, $03, $03, $03, $05, $05, $05, $05, $09, $09, $05, $05, $11, $11 ; CPU:$ABD2 PRG:2BD2 04 03 03 03 03 03 05 05 05 05 09 09 05 05 11 11 - .byte $05, $05, $11, $09, $05, $05, $09, $11, $05, $05, $11, $11, $05, $05, $11, $09 ; CPU:$ABE2 PRG:2BE2 05 05 11 09 05 05 09 11 05 05 11 11 05 05 11 09 - .byte $05, $05, $09, $11, $05, $05, $02, $02, $02, $02, $08, $08, $06, $06, $0C, $0C ; CPU:$ABF2 PRG:2BF2 05 05 09 11 05 05 02 02 02 02 08 08 06 06 0C 0C - .byte $08, $08, $12, $12, $0A, $0A, $08, $08, $08, $08, $08, $08, $20, $3C, $48, $48 ; CPU:$AC02 PRG:2C02 08 08 12 12 0A 0A 08 08 08 08 08 08 20 3C 48 48 - .byte $08, $08, $A9, $00, $85, $89, $85, $88, $8E, $8B, $03, $8C, $8C, $03, $AD, $2B ; CPU:$AC12 PRG:2C12 08 08 A9 00 85 89 85 88 8E 8B 03 8C 8C 03 AD 2B - .byte $04, $18, $65, $8A, $C9, $0A, $90, $03, $38, $E9, $0A, $8D, $2B, $04, $AD, $2A ; CPU:$AC22 PRG:2C22 04 18 65 8A C9 0A 90 03 38 E9 0A 8D 2B 04 AD 2A - .byte $04, $65, $8B, $C9, $0A, $90, $03, $38, $E9, $0A, $8D, $2A, $04, $AD, $29, $04 ; CPU:$AC32 PRG:2C32 04 65 8B C9 0A 90 03 38 E9 0A 8D 2A 04 AD 29 04 - .byte $65, $88, $C9, $0A, $90, $03, $38, $E9, $0A, $8D, $29, $04, $AD, $28, $04, $65 ; CPU:$AC42 PRG:2C42 65 88 C9 0A 90 03 38 E9 0A 8D 29 04 AD 28 04 65 - .byte $89, $C9, $0A, $90, $03, $38, $E9, $0A, $8D, $28, $04, $AD, $27, $04, $69, $00 ; CPU:$AC52 PRG:2C52 89 C9 0A 90 03 38 E9 0A 8D 28 04 AD 27 04 69 00 - .byte $C9, $0A, $90, $03, $38, $E9, $0A, $8D, $27, $04, $20, $39, $AD, $AD, $2E, $04 ; CPU:$AC62 PRG:2C62 C9 0A 90 03 38 E9 0A 8D 27 04 20 39 AD AD 2E 04 - .byte $D0, $1A, $AD, $28, $04, $C9, $02, $B0, $03, $4C, $C8, $AC, $A9, $FF, $8D, $2E ; CPU:$AC72 PRG:2C72 D0 1A AD 28 04 C9 02 B0 03 4C C8 AC A9 FF 8D 2E - .byte $04, $A9, $00, $8D, $30, $04, $8D, $2F, $04, $4C, $A6, $AC, $AD, $27, $04, $CD ; CPU:$AC82 PRG:2C82 04 A9 00 8D 30 04 8D 2F 04 4C A6 AC AD 27 04 CD - .byte $2F, $04, $F0, $05, $B0, $0E, $4C, $C8, $AC, $AD, $28, $04, $CD, $30, $04, $B0 ; CPU:$AC92 PRG:2C92 2F 04 F0 05 B0 0E 4C C8 AC AD 28 04 CD 30 04 B0 - .byte $03, $4C, $C8, $AC, $20, $0E, $AD, $AD, $30, $04, $18, $69, $08, $C9, $0A, $90 ; CPU:$ACA2 PRG:2CA2 03 4C C8 AC 20 0E AD AD 30 04 18 69 08 C9 0A 90 - .byte $12, $38, $E9, $0A, $8D, $30, $04, $AD, $2F, $04, $18, $69, $01, $8D, $2F, $04 ; CPU:$ACB2 PRG:2CB2 12 38 E9 0A 8D 30 04 AD 2F 04 18 69 01 8D 2F 04 - .byte $4C, $C8, $AC, $8D, $30, $04, $A0, $00, $B9, $BF, $07, $D9, $27, $04, $90, $0E ; CPU:$ACC2 PRG:2CC2 4C C8 AC 8D 30 04 A0 00 B9 BF 07 D9 27 04 90 0E - .byte $D0, $05, $C8, $C0, $06, $D0, $F1, $AE, $8B, $03, $AC, $8C, $03, $60, $A0, $00 ; CPU:$ACD2 PRG:2CD2 D0 05 C8 C0 06 D0 F1 AE 8B 03 AC 8C 03 60 A0 00 - .byte $B9, $27, $04, $99, $BF, $07, $C8, $C0, $06, $D0, $F5, $AD, $86, $03, $D0, $0E ; CPU:$ACE2 PRG:2CE2 B9 27 04 99 BF 07 C8 C0 06 D0 F5 AD 86 03 D0 0E - .byte $A0, $05, $B9, $4A, $04, $99, $BF, $07, $88, $10, $F7, $4C, $D9, $AC, $A0, $05 ; CPU:$ACF2 PRG:2CF2 A0 05 B9 4A 04 99 BF 07 88 10 F7 4C D9 AC A0 05 - .byte $B9, $6B, $04, $99, $BF, $07, $88, $10, $F7, $4C, $D9, $AC, $EE, $32, $04, $AD ; CPU:$AD02 PRG:2D02 B9 6B 04 99 BF 07 88 10 F7 4C D9 AC EE 32 04 AD - .byte $32, $04, $C9, $0A, $90, $17, $A9, $00, $8D, $32, $04, $AD, $31, $04, $C9, $09 ; CPU:$AD12 PRG:2D12 32 04 C9 0A 90 17 A9 00 8D 32 04 AD 31 04 C9 09 - .byte $F0, $06, $EE, $31, $04, $4C, $2F, $AD, $A9, $09, $8D, $31, $04, $A9, $10, $20 ; CPU:$AD22 PRG:2D22 F0 06 EE 31 04 4C 2F AD A9 09 8D 31 04 A9 10 20 - .byte $6B, $A0, $A9, $11, $4C, $6B, $A0, $AD, $80, $03, $C9, $FF, $D0, $01, $60, $A0 ; CPU:$AD32 PRG:2D32 6B A0 A9 11 4C 6B A0 AD 80 03 C9 FF D0 01 60 A0 - .byte $00, $A2, $00, $AD, $86, $03, $D0, $13, $A9, $4A, $85, $8A, $A9, $04, $85, $8B ; CPU:$AD42 PRG:2D42 00 A2 00 AD 86 03 D0 13 A9 4A 85 8A A9 04 85 8B - .byte $A9, $99, $85, $88, $A9, $AD, $85, $89, $4C, $6D, $AD, $A9, $6B, $85, $8A, $A9 ; CPU:$AD52 PRG:2D52 A9 99 85 88 A9 AD 85 89 4C 6D AD A9 6B 85 8A A9 - .byte $04, $85, $8B, $A9, $B1, $85, $88, $A9, $AD, $85, $89, $BD, $27, $04, $29, $0F ; CPU:$AD62 PRG:2D62 04 85 8B A9 B1 85 88 A9 AD 85 89 BD 27 04 29 0F - .byte $91, $8A, $C8, $E8, $E0, $06, $D0, $F3, $A0, $00, $B1, $88, $99, $0C, $02, $C8 ; CPU:$AD72 PRG:2D72 91 8A C8 E8 E0 06 D0 F3 A0 00 B1 88 99 0C 02 C8 - .byte $C0, $18, $D0, $F6, $A0, $00, $A2, $01, $B1, $8A, $9D, $0C, $02, $C8, $E8, $E8 ; CPU:$AD82 PRG:2D82 C0 18 D0 F6 A0 00 A2 01 B1 8A 9D 0C 02 C8 E8 E8 - .byte $E8, $E8, $C0, $06, $D0, $F2, $60, $20, $FF, $03, $20, $20, $FF, $03, $28, $20 ; CPU:$AD92 PRG:2D92 E8 E8 C0 06 D0 F2 60 20 FF 03 20 20 FF 03 28 20 - .byte $FF, $03, $30, $20, $FF, $03, $38, $20, $FF, $03, $40, $20, $FF, $03, $48, $20 ; CPU:$ADA2 PRG:2DA2 FF 03 30 20 FF 03 38 20 FF 03 40 20 FF 03 48 20 - .byte $FF, $03, $B0, $20, $FF, $03, $B8, $20, $FF, $03, $C0, $20, $FF, $03, $C8, $20 ; CPU:$ADB2 PRG:2DB2 FF 03 B0 20 FF 03 B8 20 FF 03 C0 20 FF 03 C8 20 - .byte $FF, $03, $D0, $20, $FF, $03, $D8, $84, $87, $20, $AD, $AE, $38, $AD, $9A, $03 ; CPU:$ADC2 PRG:2DC2 FF 03 D0 20 FF 03 D8 84 87 20 AD AE 38 AD 9A 03 - .byte $ED, $94, $03, $8D, $9A, $03, $AD, $99, $03, $ED, $93, $03, $8D, $99, $03, $38 ; CPU:$ADD2 PRG:2DD2 ED 94 03 8D 9A 03 AD 99 03 ED 93 03 8D 99 03 38 - .byte $AD, $97, $03, $ED, $91, $03, $8D, $97, $03, $AD, $96, $03, $ED, $90, $03, $8D ; CPU:$ADE2 PRG:2DE2 AD 97 03 ED 91 03 8D 97 03 AD 96 03 ED 90 03 8D - .byte $96, $03, $30, $12, $AD, $99, $03, $30, $05, $A9, $04, $4C, $17, $AE, $20, $8C ; CPU:$ADF2 PRG:2DF2 96 03 30 12 AD 99 03 30 05 A9 04 4C 17 AE 20 8C - .byte $AE, $A9, $00, $4C, $17, $AE, $AD, $99, $03, $30, $08, $20, $8C, $AE, $A9, $08 ; CPU:$AE02 PRG:2E02 AE A9 00 4C 17 AE AD 99 03 30 08 20 8C AE A9 08 - .byte $4C, $17, $AE, $A9, $0C, $85, $86, $AD, $99, $03, $10, $11, $A9, $00, $38, $ED ; CPU:$AE12 PRG:2E12 4C 17 AE A9 0C 85 86 AD 99 03 10 11 A9 00 38 ED - .byte $9A, $03, $8D, $9A, $03, $A9, $00, $ED, $99, $03, $8D, $99, $03, $AD, $96, $03 ; CPU:$AE22 PRG:2E22 9A 03 8D 9A 03 A9 00 ED 99 03 8D 99 03 AD 96 03 - .byte $10, $11, $A9, $00, $38, $ED, $97, $03, $8D, $97, $03, $A9, $00, $ED, $96, $03 ; CPU:$AE32 PRG:2E32 10 11 A9 00 38 ED 97 03 8D 97 03 A9 00 ED 96 03 - .byte $8D, $96, $03, $AD, $99, $03, $D0, $05, $AD, $96, $03, $F0, $0F, $4E, $99, $03 ; CPU:$AE42 PRG:2E42 8D 96 03 AD 99 03 D0 05 AD 96 03 F0 0F 4E 99 03 - .byte $6E, $9A, $03, $4E, $96, $03, $6E, $97, $03, $4C, $45, $AE, $AD, $9A, $03, $29 ; CPU:$AE52 PRG:2E52 6E 9A 03 4E 96 03 6E 97 03 4C 45 AE AD 9A 03 29 - .byte $F0, $D0, $07, $AD, $97, $03, $29, $F0, $F0, $09, $4E, $9A, $03, $4E, $97, $03 ; CPU:$AE62 PRG:2E62 F0 D0 07 AD 97 03 29 F0 F0 09 4E 9A 03 4E 97 03 - .byte $4C, $5E, $AE, $AD, $9A, $03, $0A, $0A, $0A, $0A, $18, $6D, $97, $03, $A8, $B9 ; CPU:$AE72 PRG:2E72 4C 5E AE AD 9A 03 0A 0A 0A 0A 18 6D 97 03 A8 B9 - .byte $FB, $B1, $18, $65, $86, $29, $0F, $A4, $87, $60, $AD, $99, $03, $85, $8B, $AD ; CPU:$AE82 PRG:2E82 FB B1 18 65 86 29 0F A4 87 60 AD 99 03 85 8B AD - .byte $9A, $03, $85, $8A, $AD, $96, $03, $8D, $99, $03, $AD, $97, $03, $8D, $9A, $03 ; CPU:$AE92 PRG:2E92 9A 03 85 8A AD 96 03 8D 99 03 AD 97 03 8D 9A 03 - .byte $A5, $8B, $8D, $96, $03, $A5, $8A, $8D, $97, $03, $60, $AD, $96, $03, $18, $6D ; CPU:$AEA2 PRG:2EA2 A5 8B 8D 96 03 A5 8A 8D 97 03 60 AD 96 03 18 6D - .byte $90, $03, $C9, $07, $D0, $17, $AD, $96, $03, $D0, $08, $A9, $FF, $8D, $90, $03 ; CPU:$AEB2 PRG:2EB2 90 03 C9 07 D0 17 AD 96 03 D0 08 A9 FF 8D 90 03 - .byte $4C, $CF, $AE, $AD, $90, $03, $D0, $05, $A9, $FF, $8D, $96, $03, $AD, $99, $03 ; CPU:$AEC2 PRG:2EC2 4C CF AE AD 90 03 D0 05 A9 FF 8D 96 03 AD 99 03 - .byte $18, $6D, $93, $03, $C9, $07, $D0, $15, $AD, $99, $03, $D0, $06, $A9, $FF, $8D ; CPU:$AED2 PRG:2ED2 18 6D 93 03 C9 07 D0 15 AD 99 03 D0 06 A9 FF 8D - .byte $93, $03, $60, $AD, $93, $03, $D0, $05, $A9, $FF, $8D, $99, $03, $60, $8C, $8C ; CPU:$AEE2 PRG:2EE2 93 03 60 AD 93 03 D0 05 A9 FF 8D 99 03 60 8C 8C - .byte $03, $A5, $86, $29, $0F, $0A, $0A, $A8, $20, $55, $AF, $6D, $97, $03, $8D, $97 ; CPU:$AEF2 PRG:2EF2 03 A5 86 29 0F 0A 0A A8 20 55 AF 6D 97 03 8D 97 - .byte $03, $AD, $8B, $03, $6D, $96, $03, $29, $01, $8D, $96, $03, $20, $55, $AF, $6D ; CPU:$AF02 PRG:2F02 03 AD 8B 03 6D 96 03 29 01 8D 96 03 20 55 AF 6D - .byte $9A, $03, $8D, $9A, $03, $AD, $8B, $03, $6D, $99, $03, $CD, $99, $03, $8D, $99 ; CPU:$AF12 PRG:2F12 9A 03 8D 9A 03 AD 8B 03 6D 99 03 CD 99 03 8D 99 - .byte $03, $D0, $10, $AD, $9A, $03, $C9, $F0, $90, $1A, $18, $69, $10, $EE, $99, $03 ; CPU:$AF22 PRG:2F22 03 D0 10 AD 9A 03 C9 F0 90 1A 18 69 10 EE 99 03 - .byte $4C, $46, $AF, $B0, $09, $AD, $9A, $03, $38, $E9, $10, $4C, $46, $AF, $AD, $9A ; CPU:$AF32 PRG:2F32 4C 46 AF B0 09 AD 9A 03 38 E9 10 4C 46 AF AD 9A - .byte $03, $18, $69, $10, $8D, $9A, $03, $AD, $99, $03, $29, $01, $8D, $99, $03, $AC ; CPU:$AF42 PRG:2F42 03 18 69 10 8D 9A 03 AD 99 03 29 01 8D 99 03 AC - .byte $8C, $03, $60, $B9, $3B, $B3, $85, $8A, $C8, $A9, $00, $8D, $8B, $03, $B9, $3B ; CPU:$AF52 PRG:2F52 8C 03 60 B9 3B B3 85 8A C8 A9 00 8D 8B 03 B9 3B - .byte $B3, $85, $8B, $10, $05, $A9, $FF, $8D, $8B, $03, $C8, $A5, $85, $48, $20, $55 ; CPU:$AF62 PRG:2F62 B3 85 8B 10 05 A9 FF 8D 8B 03 C8 A5 85 48 20 55 - .byte $A8, $68, $85, $85, $A5, $8B, $18, $60, $85, $86, $84, $87, $A9, $B2, $A0, $FB ; CPU:$AF72 PRG:2F72 A8 68 85 85 A5 8B 18 60 85 86 84 87 A9 B2 A0 FB - .byte $85, $8B, $84, $8A, $BD, $0B, $05, $0A, $0A, $A8, $A9, $00, $8D, $99, $03, $8D ; CPU:$AF82 PRG:2F82 85 8B 84 8A BD 0B 05 0A 0A A8 A9 00 8D 99 03 8D - .byte $96, $03, $B1, $8A, $8D, $9B, $03, $C8, $B1, $8A, $8D, $9A, $03, $10, $05, $A9 ; CPU:$AF92 PRG:2F92 96 03 B1 8A 8D 9B 03 C8 B1 8A 8D 9A 03 10 05 A9 - .byte $FF, $8D, $99, $03, $C8, $B1, $8A, $8D, $98, $03, $C8, $B1, $8A, $8D, $97, $03 ; CPU:$AFA2 PRG:2FA2 FF 8D 99 03 C8 B1 8A 8D 98 03 C8 B1 8A 8D 97 03 - .byte $10, $05, $A9, $FF, $8D, $96, $03, $AD, $9B, $03, $8D, $32, $07, $AD, $9A, $03 ; CPU:$AFB2 PRG:2FB2 10 05 A9 FF 8D 96 03 AD 9B 03 8D 32 07 AD 9A 03 - .byte $8D, $31, $07, $AD, $99, $03, $8D, $33, $07, $AD, $98, $03, $8D, $34, $07, $AD ; CPU:$AFC2 PRG:2FC2 8D 31 07 AD 99 03 8D 33 07 AD 98 03 8D 34 07 AD - .byte $97, $03, $8D, $8C, $03, $AD, $96, $03, $8D, $8B, $03, $A9, $00, $8D, $9B, $03 ; CPU:$AFD2 PRG:2FD2 97 03 8D 8C 03 AD 96 03 8D 8B 03 A9 00 8D 9B 03 - .byte $8D, $9A, $03, $8D, $99, $03, $8D, $98, $03, $8D, $97, $03, $8D, $96, $03, $18 ; CPU:$AFE2 PRG:2FE2 8D 9A 03 8D 99 03 8D 98 03 8D 97 03 8D 96 03 18 - .byte $AD, $32, $07, $6D, $9B, $03, $8D, $9B, $03, $AD, $31, $07, $6D, $9A, $03, $8D ; CPU:$AFF2 PRG:2FF2 AD 32 07 6D 9B 03 8D 9B 03 AD 31 07 6D 9A 03 8D - .byte $9A, $03, $AD, $33, $07, $6D, $99, $03, $8D, $99, $03, $18, $AD, $34, $07, $6D ; CPU:$B002 PRG:3002 9A 03 AD 33 07 6D 99 03 8D 99 03 18 AD 34 07 6D - .byte $98, $03, $8D, $98, $03, $AD, $8C, $03, $6D, $97, $03, $8D, $97, $03, $AD, $8B ; CPU:$B012 PRG:3012 98 03 8D 98 03 AD 8C 03 6D 97 03 8D 97 03 AD 8B - .byte $03, $6D, $96, $03, $8D, $96, $03, $C6, $86, $D0, $C4, $60, $85, $86, $84, $87 ; CPU:$B022 PRG:3022 03 6D 96 03 8D 96 03 C6 86 D0 C4 60 85 86 84 87 - .byte $A9, $B2, $A0, $FB, $85, $8B, $84, $8A, $BD, $0B, $05, $18, $69, $08, $29, $0F ; CPU:$B032 PRG:3032 A9 B2 A0 FB 85 8B 84 8A BD 0B 05 18 69 08 29 0F - .byte $20, $89, $AF, $4C, $4B, $B0, $20, $7A, $AF, $18, $AD, $9B, $03, $7D, $56, $05 ; CPU:$B042 PRG:3042 20 89 AF 4C 4B B0 20 7A AF 18 AD 9B 03 7D 56 05 - .byte $9D, $56, $05, $AD, $9A, $03, $7D, $3D, $05, $9D, $3D, $05, $AD, $99, $03, $7D ; CPU:$B052 PRG:3052 9D 56 05 AD 9A 03 7D 3D 05 9D 3D 05 AD 99 03 7D - .byte $24, $05, $8D, $99, $03, $DD, $24, $05, $F0, $0C, $38, $BD, $3D, $05, $E9, $10 ; CPU:$B062 PRG:3062 24 05 8D 99 03 DD 24 05 F0 0C 38 BD 3D 05 E9 10 - .byte $9D, $3D, $05, $4C, $87, $B0, $BD, $3D, $05, $C9, $F0, $90, $08, $69, $10, $9D ; CPU:$B072 PRG:3072 9D 3D 05 4C 87 B0 BD 3D 05 C9 F0 90 08 69 10 9D - .byte $3D, $05, $EE, $99, $03, $AD, $99, $03, $29, $01, $9D, $24, $05, $AD, $98, $03 ; CPU:$B082 PRG:3082 3D 05 EE 99 03 AD 99 03 29 01 9D 24 05 AD 98 03 - .byte $18, $7D, $A1, $05, $9D, $A1, $05, $AD, $97, $03, $7D, $88, $05, $9D, $88, $05 ; CPU:$B092 PRG:3092 18 7D A1 05 9D A1 05 AD 97 03 7D 88 05 9D 88 05 - .byte $AD, $96, $03, $7D, $6F, $05, $29, $01, $9D, $6F, $05, $A4, $87, $60, $BD, $A1 ; CPU:$B0A2 PRG:30A2 AD 96 03 7D 6F 05 29 01 9D 6F 05 A4 87 60 BD A1 - .byte $05, $8D, $92, $03, $BD, $56, $05, $8D, $95, $03, $BD, $88, $05, $8D, $91, $03 ; CPU:$B0B2 PRG:30B2 05 8D 92 03 BD 56 05 8D 95 03 BD 88 05 8D 91 03 - .byte $BD, $6F, $05, $29, $01, $8D, $90, $03, $BD, $3D, $05, $8D, $94, $03, $BD, $24 ; CPU:$B0C2 PRG:30C2 BD 6F 05 29 01 8D 90 03 BD 3D 05 8D 94 03 BD 24 - .byte $05, $29, $01, $8D, $93, $03, $60, $B9, $56, $05, $8D, $9B, $03, $B9, $A1, $05 ; CPU:$B0D2 PRG:30D2 05 29 01 8D 93 03 60 B9 56 05 8D 9B 03 B9 A1 05 - .byte $8D, $98, $03, $B9, $88, $05, $8D, $97, $03, $B9, $6F, $05, $29, $01, $8D, $96 ; CPU:$B0E2 PRG:30E2 8D 98 03 B9 88 05 8D 97 03 B9 6F 05 29 01 8D 96 - .byte $03, $B9, $3D, $05, $8D, $9A, $03, $B9, $24, $05, $29, $01, $8D, $99, $03, $60 ; CPU:$B0F2 PRG:30F2 03 B9 3D 05 8D 9A 03 B9 24 05 29 01 8D 99 03 60 - .byte $BD, $1E, $06, $8D, $97, $03, $BD, $05, $06, $29, $01, $8D, $96, $03, $BD, $50 ; CPU:$B102 PRG:3102 BD 1E 06 8D 97 03 BD 05 06 29 01 8D 96 03 BD 50 - .byte $06, $8D, $9A, $03, $BD, $37, $06, $29, $01, $8D, $99, $03, $60, $20, $2B, $B1 ; CPU:$B112 PRG:3112 06 8D 9A 03 BD 37 06 29 01 8D 99 03 60 20 2B B1 - .byte $4C, $48, $B1, $20, $2E, $B1, $4C, $4B, $B1, $38, $B0, $07, $38, $AD, $92, $03 ; CPU:$B122 PRG:3122 4C 48 B1 20 2E B1 4C 4B B1 38 B0 07 38 AD 92 03 - .byte $ED, $98, $03, $AD, $91, $03, $ED, $97, $03, $8D, $97, $03, $AD, $90, $03, $ED ; CPU:$B132 PRG:3132 ED 98 03 AD 91 03 ED 97 03 8D 97 03 AD 90 03 ED - .byte $96, $03, $8D, $96, $03, $60, $38, $B0, $07, $38, $AD, $95, $03, $ED, $9B, $03 ; CPU:$B142 PRG:3142 96 03 8D 96 03 60 38 B0 07 38 AD 95 03 ED 9B 03 - .byte $AD, $94, $03, $ED, $9A, $03, $8D, $9A, $03, $AD, $93, $03, $ED, $99, $03, $8D ; CPU:$B152 PRG:3152 AD 94 03 ED 9A 03 8D 9A 03 AD 93 03 ED 99 03 8D - .byte $99, $03, $60, $A9, $00, $8D, $98, $03, $A9, $00, $8D, $9B, $03, $A9, $80, $8D ; CPU:$B162 PRG:3162 99 03 60 A9 00 8D 98 03 A9 00 8D 9B 03 A9 80 8D - .byte $97, $03, $A9, $00, $29, $01, $8D, $96, $03, $A9, $70, $8D, $9A, $03, $A9, $00 ; CPU:$B172 PRG:3172 97 03 A9 00 29 01 8D 96 03 A9 70 8D 9A 03 A9 00 - .byte $29, $01, $8D, $99, $03, $60, $AD, $9A, $03, $9D, $3D, $05, $AD, $99, $03, $29 ; CPU:$B182 PRG:3182 29 01 8D 99 03 60 AD 9A 03 9D 3D 05 AD 99 03 29 - .byte $01, $9D, $24, $05, $AD, $97, $03, $9D, $88, $05, $AD, $96, $03, $29, $01, $9D ; CPU:$B192 PRG:3192 01 9D 24 05 AD 97 03 9D 88 05 AD 96 03 29 01 9D - .byte $6F, $05, $60, $BD, $56, $05, $99, $56, $05, $BD, $3D, $05, $99, $3D, $05, $BD ; CPU:$B1A2 PRG:31A2 6F 05 60 BD 56 05 99 56 05 BD 3D 05 99 3D 05 BD - .byte $24, $05, $29, $01, $99, $24, $05, $BD, $A1, $05, $99, $A1, $05, $BD, $88, $05 ; CPU:$B1B2 PRG:31B2 24 05 29 01 99 24 05 BD A1 05 99 A1 05 BD 88 05 - .byte $99, $88, $05, $BD, $6F, $05, $29, $01, $99, $6F, $05, $60, $20, $E5, $B0, $20 ; CPU:$B1C2 PRG:31C2 99 88 05 BD 6F 05 29 01 99 6F 05 60 20 E5 B0 20 - .byte $BC, $B0, $4C, $1F, $B1, $20, $BC, $B0, $20, $6F, $B1, $20, $1F, $B1, $BD, $24 ; CPU:$B1D2 PRG:31D2 BC B0 4C 1F B1 20 BC B0 20 6F B1 20 1F B1 BD 24 - .byte $05, $F0, $09, $AD, $9A, $03, $38, $E9, $10, $8D, $9A, $03, $AD, $9A, $03, $9D ; CPU:$B1E2 PRG:31E2 05 F0 09 AD 9A 03 38 E9 10 8D 9A 03 AD 9A 03 9D - .byte $A7, $04, $AD, $97, $03, $9D, $C0, $04, $60, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B1F2 PRG:31F2 A7 04 AD 97 03 9D C0 04 60 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $02, $01, $01, $01, $00, $00 ; CPU:$B202 PRG:3202 00 00 00 00 00 00 00 00 00 04 02 01 01 01 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $03, $02, $02, $01, $01, $01 ; CPU:$B212 PRG:3212 00 00 00 00 00 00 00 00 00 04 03 02 02 01 01 01 - .byte $01, $01, $01, $00, $00, $00, $00, $00, $00, $04, $03, $02, $02, $02, $01, $01 ; CPU:$B222 PRG:3222 01 01 01 00 00 00 00 00 00 04 03 02 02 02 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $00, $04, $03, $03, $02, $02, $02, $02 ; CPU:$B232 PRG:3232 01 01 01 01 01 01 01 01 00 04 03 03 02 02 02 02 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $02, $02, $02 ; CPU:$B242 PRG:3242 01 01 01 01 01 01 01 01 01 04 04 03 03 02 02 02 - .byte $02, $01, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $02, $02, $02 ; CPU:$B252 PRG:3252 02 01 01 01 01 01 01 01 01 04 04 03 03 02 02 02 - .byte $02, $02, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $03, $02, $02 ; CPU:$B262 PRG:3262 02 02 01 01 01 01 01 01 01 04 04 03 03 03 02 02 - .byte $02, $02, $02, $02, $01, $01, $01, $01, $01, $04, $04, $03, $03, $03, $03, $02 ; CPU:$B272 PRG:3272 02 02 02 02 01 01 01 01 01 04 04 03 03 03 03 02 - .byte $02, $02, $02, $02, $02, $02, $01, $01, $01, $04, $04, $03, $03, $03, $03, $02 ; CPU:$B282 PRG:3282 02 02 02 02 02 02 01 01 01 04 04 03 03 03 03 02 - .byte $02, $02, $02, $02, $02, $02, $02, $01, $01, $04, $04, $04, $03, $03, $03, $03 ; CPU:$B292 PRG:3292 02 02 02 02 02 02 02 01 01 04 04 04 03 03 03 03 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03, $03, $03 ; CPU:$B2A2 PRG:32A2 02 02 02 02 02 02 02 02 02 04 04 04 03 03 03 03 - .byte $03, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03, $03, $03 ; CPU:$B2B2 PRG:32B2 03 02 02 02 02 02 02 02 02 04 04 04 03 03 03 03 - .byte $03, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03, $03, $03 ; CPU:$B2C2 PRG:32C2 03 02 02 02 02 02 02 02 02 04 04 04 03 03 03 03 - .byte $03, $03, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03, $03, $03 ; CPU:$B2D2 PRG:32D2 03 03 02 02 02 02 02 02 02 04 04 04 03 03 03 03 - .byte $03, $03, $03, $02, $02, $02, $02, $02, $02, $04, $04, $04, $04, $03, $03, $03 ; CPU:$B2E2 PRG:32E2 03 03 03 02 02 02 02 02 02 04 04 04 04 03 03 03 - .byte $03, $03, $03, $02, $02, $02, $02, $02, $02, $C7, $FF, $00, $00, $C6, $FF, $18 ; CPU:$B2F2 PRG:32F2 03 03 03 02 02 02 02 02 02 C7 FF 00 00 C6 FF 18 - .byte $00, $D8, $FF, $2D, $00, $EB, $FF, $3B, $00, $00, $00, $40, $00, $15, $00, $3B ; CPU:$B302 PRG:3302 00 D8 FF 2D 00 EB FF 3B 00 00 00 40 00 15 00 3B - .byte $00, $28, $00, $2D, $00, $35, $00, $18, $00, $39, $00, $00, $00, $35, $00, $E8 ; CPU:$B312 PRG:3312 00 28 00 2D 00 35 00 18 00 39 00 00 00 35 00 E8 - .byte $FF, $28, $00, $D3, $FF, $15, $00, $C5, $FF, $00, $00, $C0, $FF, $EB, $FF, $C5 ; CPU:$B322 PRG:3322 FF 28 00 D3 FF 15 00 C5 FF 00 00 C0 FF EB FF C5 - .byte $FF, $D8, $FF, $D3, $FF, $C6, $FF, $E8, $FF, $00, $00, $00, $FF, $61, $00, $14 ; CPU:$B332 PRG:3332 FF D8 FF D3 FF C6 FF E8 FF 00 00 00 FF 61 00 14 - .byte $FF, $B5, $00, $4B, $FF, $EC, $00, $9F, $FF, $00, $01, $00, $00, $EC, $00, $61 ; CPU:$B342 PRG:3342 FF B5 00 4B FF EC 00 9F FF 00 01 00 00 EC 00 61 - .byte $00, $B5, $00, $B5, $00, $61, $00, $EC, $00, $00, $00, $00, $01, $9F, $FF, $EC ; CPU:$B352 PRG:3352 00 B5 00 B5 00 61 00 EC 00 00 00 00 01 9F FF EC - .byte $00, $4B, $FF, $B5, $00, $14, $FF, $61, $00, $00, $FF, $00, $00, $14, $FF, $9F ; CPU:$B362 PRG:3362 00 4B FF B5 00 14 FF 61 00 00 FF 00 00 14 FF 9F - .byte $FF, $4B, $FF, $4B, $FF, $9F, $FF, $14, $FF, $BD, $6F, $05, $F0, $0E, $BD, $88 ; CPU:$B372 PRG:3372 FF 4B FF 4B FF 9F FF 14 FF BD 6F 05 F0 0E BD 88 - .byte $05, $C9, $C1, $B0, $42, $C9, $81, $B0, $35, $4C, $99, $B3, $BD, $88, $05, $C9 ; CPU:$B382 PRG:3382 05 C9 C1 B0 42 C9 81 B0 35 4C 99 B3 BD 88 05 C9 - .byte $40, $90, $34, $C9, $80, $90, $27, $BD, $24, $05, $F0, $0E, $BD, $3D, $05, $C9 ; CPU:$B392 PRG:3392 40 90 34 C9 80 90 27 BD 24 05 F0 0E BD 3D 05 C9 - .byte $B1, $B0, $24, $C9, $71, $B0, $17, $4C, $B7, $B3, $BD, $3D, $05, $C9, $30, $90 ; CPU:$B3A2 PRG:33A2 B1 B0 24 C9 71 B0 17 4C B7 B3 BD 3D 05 C9 30 90 - .byte $16, $C9, $70, $90, $09, $BD, $8E, $04, $09, $80, $9D, $8E, $04, $60, $BD, $8E ; CPU:$B3B2 PRG:33B2 16 C9 70 90 09 BD 8E 04 09 80 9D 8E 04 60 BD 8E - .byte $04, $29, $7F, $9D, $8E, $04, $60, $A9, $00, $9D, $8E, $04, $60, $BD, $8E, $04 ; CPU:$B3C2 PRG:33C2 04 29 7F 9D 8E 04 60 A9 00 9D 8E 04 60 BD 8E 04 - .byte $29, $01, $60, $A2, $0B, $AD, $80, $03, $C9, $FF, $D0, $03, $4C, $F9, $B4, $A2 ; CPU:$B3D2 PRG:33D2 29 01 60 A2 0B AD 80 03 C9 FF D0 03 4C F9 B4 A2 - .byte $0B, $BD, $8E, $04, $30, $0B, $E8, $E0, $0E, $90, $F6, $20, $75, $C2, $4C, $E1 ; CPU:$B3E2 PRG:33E2 0B BD 8E 04 30 0B E8 E0 0E 90 F6 20 75 C2 4C E1 - .byte $B3, $29, $20, $F0, $03, $4C, $E0, $B4, $20, $0A, $B4, $B0, $03, $4C, $E8, $B3 ; CPU:$B3F2 PRG:33F2 B3 29 20 F0 03 4C E0 B4 20 0A B4 B0 03 4C E8 B3 - .byte $A9, $00, $9D, $8E, $04, $4C, $E8, $B3, $A9, $34, $20, $48, $B0, $20, $D7, $B1 ; CPU:$B402 PRG:3402 A9 00 9D 8E 04 4C E8 B3 A9 34 20 48 B0 20 D7 B1 - .byte $20, $7B, $B3, $BD, $8E, $04, $29, $08, $F0, $3B, $BD, $8E, $04, $29, $80, $F0 ; CPU:$B412 PRG:3412 20 7B B3 BD 8E 04 29 08 F0 3B BD 8E 04 29 80 F0 - .byte $34, $AD, $8C, $07, $D0, $2D, $A0, $0E, $B9, $8E, $04, $30, $03, $4C, $50, $B4 ; CPU:$B422 PRG:3422 34 AD 8C 07 D0 2D A0 0E B9 8E 04 30 03 4C 50 B4 - .byte $29, $21, $D0, $1A, $C0, $18, $D0, $07, $B9, $D9, $04, $C9, $79, $F0, $0F, $B9 ; CPU:$B432 PRG:3432 29 21 D0 1A C0 18 D0 07 B9 D9 04 C9 79 F0 0F B9 - .byte $D3, $05, $C9, $FF, $90, $03, $4C, $C5, $B4, $20, $61, $AA, $B0, $09, $C8, $C0 ; CPU:$B442 PRG:3442 D3 05 C9 FF 90 03 4C C5 B4 20 61 AA B0 09 C8 C0 - .byte $19, $90, $D5, $18, $60, $38, $60, $B9, $D3, $05, $C9, $20, $B0, $0B, $B9, $8E ; CPU:$B452 PRG:3452 19 90 D5 18 60 38 60 B9 D3 05 C9 20 B0 0B B9 8E - .byte $04, $09, $01, $99, $8E, $04, $4C, $57, $B4, $B9, $EC, $05, $18, $69, $01, $99 ; CPU:$B462 PRG:3462 04 09 01 99 8E 04 4C 57 B4 B9 EC 05 18 69 01 99 - .byte $EC, $05, $B9, $D3, $05, $C9, $FF, $B0, $18, $C9, $30, $B0, $0A, $B9, $EC, $05 ; CPU:$B472 PRG:3472 EC 05 B9 D3 05 C9 FF B0 18 C9 30 B0 0A B9 EC 05 - .byte $C9, $05, $B0, $DA, $4C, $B0, $B4, $B9, $EC, $05, $C9, $0A, $B0, $D0, $4C, $B0 ; CPU:$B482 PRG:3482 C9 05 B0 DA 4C B0 B4 B9 EC 05 C9 0A B0 D0 4C B0 - .byte $B4, $B9, $EC, $05, $85, $86, $84, $87, $A9, $00, $38, $ED, $A1, $03, $4A, $4A ; CPU:$B492 PRG:3492 B4 B9 EC 05 85 86 84 87 A9 00 38 ED A1 03 4A 4A - .byte $4A, $4A, $4A, $4A, $A8, $B9, $DC, $B4, $A4, $87, $C5, $86, $90, $B0, $BD, $8E ; CPU:$B4A2 PRG:34A2 4A 4A 4A 4A A8 B9 DC B4 A4 87 C5 86 90 B0 BD 8E - .byte $04, $09, $20, $9D, $8E, $04, $A9, $FF, $9D, $9B, $06, $A9, $01, $9D, $F2, $04 ; CPU:$B4B2 PRG:34B2 04 09 20 9D 8E 04 A9 FF 9D 9B 06 A9 01 9D F2 04 - .byte $4C, $55, $B4, $A9, $8E, $99, $D9, $04, $20, $61, $AA, $B0, $8A, $A9, $8F, $99 ; CPU:$B4C2 PRG:34C2 4C 55 B4 A9 8E 99 D9 04 20 61 AA B0 8A A9 8F 99 - .byte $D9, $04, $20, $61, $AA, $B0, $80, $4C, $55, $B4, $22, $27, $2C, $31, $FE, $9B ; CPU:$B4D2 PRG:34D2 D9 04 20 61 AA B0 80 4C 55 B4 22 27 2C 31 FE 9B - .byte $06, $BD, $9B, $06, $4A, $29, $0F, $C9, $02, $B0, $09, $18, $69, $80, $9D, $D9 ; CPU:$B4E2 PRG:34E2 06 BD 9B 06 4A 29 0F C9 02 B0 09 18 69 80 9D D9 - .byte $04, $4C, $E8, $B3, $4C, $02, $B4, $A9, $88, $9D, $8E, $04, $A9, $01, $9D, $D9 ; CPU:$B4F2 PRG:34F2 04 4C E8 B3 4C 02 B4 A9 88 9D 8E 04 A9 01 9D D9 - .byte $04, $20, $75, $C2, $4C, $03, $B5, $A2, $03, $BD, $8E, $04, $30, $0B, $E8, $E0 ; CPU:$B502 PRG:3502 04 20 75 C2 4C 03 B5 A2 03 BD 8E 04 30 0B E8 E0 - .byte $0B, $D0, $F6, $20, $75, $C2, $4C, $09, $B5, $A9, $07, $9D, $D9, $04, $20, $33 ; CPU:$B512 PRG:3512 0B D0 F6 20 75 C2 4C 09 B5 A9 07 9D D9 04 20 33 - .byte $B5, $B0, $03, $4C, $10, $B5, $A9, $00, $9D, $8E, $04, $4C, $10, $B5, $4C, $28 ; CPU:$B522 PRG:3522 B5 B0 03 4C 10 B5 A9 00 9D 8E 04 4C 10 B5 4C 28 - .byte $B5, $A9, $13, $20, $48, $B0, $20, $D7, $B1, $20, $7B, $B3, $BD, $8E, $04, $29 ; CPU:$B532 PRG:3532 B5 A9 13 20 48 B0 20 D7 B1 20 7B B3 BD 8E 04 29 - .byte $08, $F0, $36, $BD, $8E, $04, $29, $80, $F0, $2F, $A0, $00, $B9, $8E, $04, $30 ; CPU:$B542 PRG:3542 08 F0 36 BD 8E 04 29 80 F0 2F A0 00 B9 8E 04 30 - .byte $03, $4C, $74, $B5, $C0, $00, $F0, $0E, $B9, $8E, $04, $29, $08, $F0, $13, $B9 ; CPU:$B552 PRG:3552 03 4C 74 B5 C0 00 F0 0E B9 8E 04 29 08 F0 13 B9 - .byte $8E, $04, $29, $04, $D0, $0C, $B9, $8E, $04, $29, $10, $D0, $0A, $20, $61, $AA ; CPU:$B562 PRG:3562 8E 04 29 04 D0 0C B9 8E 04 29 10 D0 0A 20 61 AA - .byte $B0, $09, $C8, $C0, $03, $D0, $D5, $18, $60, $38, $60, $B9, $8E, $04, $09, $01 ; CPU:$B572 PRG:3572 B0 09 C8 C0 03 D0 D5 18 60 38 60 B9 8E 04 09 01 - .byte $99, $8E, $04, $4C, $7B, $B5, $A2, $18, $A9, $0A, $9D, $8E, $04, $AD, $1F, $07 ; CPU:$B582 PRG:3582 99 8E 04 4C 7B B5 A2 18 A9 0A 9D 8E 04 AD 1F 07 - .byte $29, $01, $0A, $0A, $A8, $B9, $57, $B6, $9D, $6F, $05, $C8, $B9, $57, $B6, $9D ; CPU:$B592 PRG:3592 29 01 0A 0A A8 B9 57 B6 9D 6F 05 C8 B9 57 B6 9D - .byte $88, $05, $C8, $B9, $57, $B6, $9D, $24, $05, $C8, $B9, $57, $B6, $9D, $3D, $05 ; CPU:$B5A2 PRG:35A2 88 05 C8 B9 57 B6 9D 24 05 C8 B9 57 B6 9D 3D 05 - .byte $A9, $02, $9D, $F2, $04, $A9, $01, $9D, $BA, $05, $A9, $00, $9D, $0B, $05, $A9 ; CPU:$B5B2 PRG:35B2 A9 02 9D F2 04 A9 01 9D BA 05 A9 00 9D 0B 05 A9 - .byte $10, $9D, $D9, $04, $A9, $FF, $9D, $9B, $06, $20, $75, $C2, $20, $CD, $F7, $F0 ; CPU:$B5C2 PRG:35C2 10 9D D9 04 A9 FF 9D 9B 06 20 75 C2 20 CD F7 F0 - .byte $F8, $BD, $8E, $04, $29, $01, $D0, $38, $FE, $9B, $06, $BD, $9B, $06, $29, $03 ; CPU:$B5D2 PRG:35D2 F8 BD 8E 04 29 01 D0 38 FE 9B 06 BD 9B 06 29 03 - .byte $D0, $03, $FE, $BA, $05, $20, $CD, $F7, $F0, $68, $A0, $00, $20, $61, $AA, $B0 ; CPU:$B5E2 PRG:35E2 D0 03 FE BA 05 20 CD F7 F0 68 A0 00 20 61 AA B0 - .byte $0E, $A0, $01, $20, $61, $AA, $B0, $07, $A0, $02, $20, $61, $AA, $90, $0B, $B9 ; CPU:$B5F2 PRG:35F2 0E A0 01 20 61 AA B0 07 A0 02 20 61 AA 90 0B B9 - .byte $8E, $04, $09, $01, $99, $8E, $04, $4C, $3C, $F8, $20, $75, $C2, $4C, $D3, $B5 ; CPU:$B602 PRG:3602 8E 04 09 01 99 8E 04 4C 3C F8 20 75 C2 4C D3 B5 - .byte $A9, $20, $9D, $B4, $06, $A9, $02, $9D, $D3, $05, $20, $9C, $F1, $A9, $79, $9D ; CPU:$B612 PRG:3612 A9 20 9D B4 06 A9 02 9D D3 05 20 9C F1 A9 79 9D - .byte $D9, $04, $A9, $01, $9D, $F2, $04, $A9, $04, $9D, $BA, $05, $A9, $08, $9D, $0B ; CPU:$B622 PRG:3622 D9 04 A9 01 9D F2 04 A9 04 9D BA 05 A9 08 9D 0B - .byte $05, $20, $CD, $F7, $F0, $1C, $A0, $00, $20, $61, $AA, $B0, $06, $20, $75, $C2 ; CPU:$B632 PRG:3632 05 20 CD F7 F0 1C A0 00 20 61 AA B0 06 20 75 C2 - .byte $4C, $33, $B6, $A9, $0F, $20, $6B, $A0, $A9, $09, $20, $E1, $F9, $A9, $00, $9D ; CPU:$B642 PRG:3642 4C 33 B6 A9 0F 20 6B A0 A9 09 20 E1 F9 A9 00 9D - .byte $8E, $04, $20, $37, $C2, $00, $A0, $01, $A0, $01, $60, $01, $A0, $A9, $00, $8D ; CPU:$B652 PRG:3652 8E 04 20 37 C2 00 A0 01 A0 01 60 01 A0 A9 00 8D - .byte $82, $03, $8D, $BC, $07, $20, $40, $E2, $A9, $FF, $8D, $23, $07, $A9, $00, $85 ; CPU:$B662 PRG:3662 82 03 8D BC 07 20 40 E2 A9 FF 8D 23 07 A9 00 85 - .byte $6E, $85, $6D, $8D, $8F, $07, $8D, $BB, $07, $A9, $8F, $85, $6B, $A9, $07, $85 ; CPU:$B672 PRG:3672 6E 85 6D 8D 8F 07 8D BB 07 A9 8F 85 6B A9 07 85 - .byte $6C, $A5, $8C, $29, $FD, $85, $8C, $A9, $00, $85, $8F, $85, $90, $A9, $00, $8D ; CPU:$B682 PRG:3682 6C A5 8C 29 FD 85 8C A9 00 85 8F 85 90 A9 00 8D - .byte $23, $07, $20, $94, $A0, $20, $6C, $B9, $20, $3D, $B9, $20, $12, $BA, $A9, $00 ; CPU:$B692 PRG:3692 23 07 20 94 A0 20 6C B9 20 3D B9 20 12 BA A9 00 - .byte $8D, $85, $03, $A9, $FF, $8D, $80, $03, $A0, $0B, $A9, $48, $99, $C0, $04, $A9 ; CPU:$B6A2 PRG:36A2 8D 85 03 A9 FF 8D 80 03 A0 0B A9 48 99 C0 04 A9 - .byte $7F, $99, $A7, $04, $A9, $20, $99, $D9, $04, $A9, $1A, $20, $F5, $C1, $A9, $FF ; CPU:$B6B2 PRG:36B2 7F 99 A7 04 A9 20 99 D9 04 A9 1A 20 F5 C1 A9 FF - .byte $8D, $0B, $07, $20, $75, $C2, $A5, $98, $29, $20, $F0, $49, $AD, $82, $03, $D0 ; CPU:$B6C2 PRG:36C2 8D 0B 07 20 75 C2 A5 98 29 20 F0 49 AD 82 03 D0 - .byte $51, $A9, $FF, $8D, $82, $03, $A9, $00, $8D, $BC, $07, $EE, $BB, $07, $AD, $BB ; CPU:$B6D2 PRG:36D2 51 A9 FF 8D 82 03 A9 00 8D BC 07 EE BB 07 AD BB - .byte $07, $29, $03, $8D, $BB, $07, $C9, $03, $F0, $1E, $C9, $02, $D0, $12, $AD, $C5 ; CPU:$B6E2 PRG:36E2 07 29 03 8D BB 07 C9 03 F0 1E C9 02 D0 12 AD C5 - .byte $07, $F0, $15, $A9, $FF, $8D, $BC, $07, $A9, $9F, $8D, $B2, $04, $4C, $31, $B7 ; CPU:$B6F2 PRG:36F2 07 F0 15 A9 FF 8D BC 07 A9 9F 8D B2 04 4C 31 B7 - .byte $A9, $8F, $8D, $B2, $04, $4C, $31, $B7, $A9, $00, $8D, $BB, $07, $A9, $7F, $8D ; CPU:$B702 PRG:3702 A9 8F 8D B2 04 4C 31 B7 A9 00 8D BB 07 A9 7F 8D - .byte $B2, $04, $4C, $31, $B7, $A9, $00, $8D, $82, $03, $A9, $14, $8D, $0A, $07, $4C ; CPU:$B712 PRG:3712 B2 04 4C 31 B7 A9 00 8D 82 03 A9 14 8D 0A 07 4C - .byte $31, $B7, $CE, $0A, $07, $D0, $08, $A9, $14, $8D, $0A, $07, $4C, $D3, $B6, $A5 ; CPU:$B722 PRG:3722 31 B7 CE 0A 07 D0 08 A9 14 8D 0A 07 4C D3 B6 A5 - .byte $98, $29, $10, $F0, $08, $AD, $88, $03, $D0, $08, $4C, $5E, $B7, $A9, $00, $8D ; CPU:$B732 PRG:3732 98 29 10 F0 08 AD 88 03 D0 08 4C 5E B7 A9 00 8D - .byte $88, $03, $CE, $0B, $07, $AD, $0B, $07, $29, $03, $D0, $0D, $A0, $04, $B9, $2A ; CPU:$B742 PRG:3742 88 03 CE 0B 07 AD 0B 07 29 03 D0 0D A0 04 B9 2A - .byte $03, $49, $FF, $99, $2A, $03, $88, $10, $F5, $4C, $C5, $B6, $A9, $00, $8D, $85 ; CPU:$B752 PRG:3752 03 49 FF 99 2A 03 88 10 F5 4C C5 B6 A9 00 8D 85 - .byte $03, $8D, $80, $03, $8D, $84, $03, $20, $06, $C3, $AD, $BC, $07, $D0, $06, $AD ; CPU:$B762 PRG:3762 03 8D 80 03 8D 84 03 20 06 C3 AD BC 07 D0 06 AD - .byte $BB, $07, $8D, $81, $03, $A9, $04, $20, $F5, $C1, $20, $37, $C2, $8F, $34, $00 ; CPU:$B772 PRG:3772 BB 07 8D 81 03 A9 04 20 F5 C1 20 37 C2 8F 34 00 - .byte $48, $02, $12, $38, $10, $02, $38, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00 ; CPU:$B782 PRG:3782 48 02 12 38 10 02 38 1A 0A 02 1A 0A 0F 02 10 00 - .byte $0F, $02, $16, $10, $00, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20 ; CPU:$B792 PRG:3792 0F 02 16 10 00 02 20 28 16 02 16 29 19 02 26 20 - .byte $10, $02, $12, $1A, $0F, $02, $37, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00 ; CPU:$B7A2 PRG:37A2 10 02 12 1A 0F 02 37 1A 0A 02 1A 0A 0F 02 10 00 - .byte $0F, $02, $16, $10, $0F, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20 ; CPU:$B7B2 PRG:37B2 0F 02 16 10 0F 02 20 28 16 02 16 29 19 02 26 20 - .byte $10, $AD, $BC, $07, $D0, $0D, $20, $E5, $B9, $A9, $01, $8D, $A1, $03, $A9, $00 ; CPU:$B7C2 PRG:37C2 10 AD BC 07 D0 0D 20 E5 B9 A9 01 8D A1 03 A9 00 - .byte $8D, $A0, $03, $20, $DB, $9F, $A9, $FF, $8D, $85, $03, $A9, $02, $8D, $32, $04 ; CPU:$B7D2 PRG:37D2 8D A0 03 20 DB 9F A9 FF 8D 85 03 A9 02 8D 32 04 - .byte $A9, $00, $8D, $8C, $04, $8D, $86, $03, $85, $C9, $8D, $2E, $04, $8D, $8D, $03 ; CPU:$B7E2 PRG:37E2 A9 00 8D 8C 04 8D 86 03 85 C9 8D 2E 04 8D 8D 03 - .byte $A0, $11, $99, $37, $04, $88, $10, $FA, $20, $22, $B9, $AD, $84, $03, $D0, $05 ; CPU:$B7F2 PRG:37F2 A0 11 99 37 04 88 10 FA 20 22 B9 AD 84 03 D0 05 - .byte $AD, $81, $03, $D0, $3B, $20, $A1, $D7, $AD, $84, $03, $D0, $1B, $AD, $32, $04 ; CPU:$B802 PRG:3802 AD 81 03 D0 3B 20 A1 D7 AD 84 03 D0 1B AD 32 04 - .byte $D0, $10, $AD, $31, $04, $F0, $11, $CE, $31, $04, $A9, $09, $8D, $32, $04, $4C ; CPU:$B812 PRG:3812 D0 10 AD 31 04 F0 11 CE 31 04 A9 09 8D 32 04 4C - .byte $07, $B8, $CE, $32, $04, $4C, $07, $B8, $20, $3A, $BD, $AD, $84, $03, $F0, $08 ; CPU:$B822 PRG:3822 07 B8 CE 32 04 4C 07 B8 20 3A BD AD 84 03 F0 08 - .byte $A9, $FF, $8D, $83, $03, $20, $37, $C2, $A9, $02, $20, $F5, $C1, $20, $37, $C2 ; CPU:$B832 PRG:3832 A9 FF 8D 83 03 20 37 C2 A9 02 20 F5 C1 20 37 C2 - .byte $AD, $BC, $07, $F0, $08, $20, $7F, $BF, $A9, $02, $8D, $32, $04, $20, $A1, $D7 ; CPU:$B842 PRG:3842 AD BC 07 F0 08 20 7F BF A9 02 8D 32 04 20 A1 D7 - .byte $CE, $32, $04, $20, $58, $BF, $A9, $02, $8D, $32, $04, $A9, $00, $8D, $2E, $04 ; CPU:$B852 PRG:3852 CE 32 04 20 58 BF A9 02 8D 32 04 A9 00 8D 2E 04 - .byte $A0, $11, $99, $37, $04, $88, $10, $FA, $AD, $BC, $07, $D0, $0A, $A9, $01, $8D ; CPU:$B862 PRG:3862 A0 11 99 37 04 88 10 FA AD BC 07 D0 0A A9 01 8D - .byte $A1, $03, $A9, $00, $8D, $A0, $03, $A9, $00, $A0, $11, $99, $37, $04, $88, $10 ; CPU:$B872 PRG:3872 A1 03 A9 00 8D A0 03 A9 00 A0 11 99 37 04 88 10 - .byte $FA, $20, $A1, $D7, $CE, $32, $04, $20, $74, $BF, $20, $A1, $D7, $AD, $32, $04 ; CPU:$B882 PRG:3882 FA 20 A1 D7 CE 32 04 20 74 BF 20 A1 D7 AD 32 04 - .byte $D0, $10, $AD, $31, $04, $F0, $2F, $CE, $31, $04, $A9, $09, $8D, $32, $04, $4C ; CPU:$B892 PRG:3892 D0 10 AD 31 04 F0 2F CE 31 04 A9 09 8D 32 04 4C - .byte $A7, $B8, $CE, $32, $04, $20, $58, $BF, $20, $A1, $D7, $AD, $32, $04, $D0, $10 ; CPU:$B8A2 PRG:38A2 A7 B8 CE 32 04 20 58 BF 20 A1 D7 AD 32 04 D0 10 - .byte $AD, $31, $04, $F0, $3B, $CE, $31, $04, $A9, $09, $8D, $32, $04, $4C, $89, $B8 ; CPU:$B8B2 PRG:38B2 AD 31 04 F0 3B CE 31 04 A9 09 8D 32 04 4C 89 B8 - .byte $CE, $32, $04, $4C, $89, $B8, $20, $3A, $BD, $20, $58, $BF, $20, $A1, $D7, $20 ; CPU:$B8C2 PRG:38C2 CE 32 04 4C 89 B8 20 3A BD 20 58 BF 20 A1 D7 20 - .byte $74, $BF, $20, $58, $BF, $AD, $32, $04, $D0, $10, $AD, $31, $04, $F0, $3B, $CE ; CPU:$B8D2 PRG:38D2 74 BF 20 58 BF AD 32 04 D0 10 AD 31 04 F0 3B CE - .byte $31, $04, $A9, $09, $8D, $32, $04, $4C, $CE, $B8, $CE, $32, $04, $4C, $CE, $B8 ; CPU:$B8E2 PRG:38E2 31 04 A9 09 8D 32 04 4C CE B8 CE 32 04 4C CE B8 - .byte $20, $3A, $BD, $20, $74, $BF, $20, $A1, $D7, $20, $58, $BF, $20, $74, $BF, $AD ; CPU:$B8F2 PRG:38F2 20 3A BD 20 74 BF 20 A1 D7 20 58 BF 20 74 BF AD - .byte $32, $04, $D0, $10, $AD, $31, $04, $F0, $11, $CE, $31, $04, $A9, $09, $8D, $32 ; CPU:$B902 PRG:3902 32 04 D0 10 AD 31 04 F0 11 CE 31 04 A9 09 8D 32 - .byte $04, $4C, $F8, $B8, $CE, $32, $04, $4C, $F8, $B8, $20, $3A, $BD, $4C, $3A, $B8 ; CPU:$B912 PRG:3912 04 4C F8 B8 CE 32 04 4C F8 B8 20 3A BD 4C 3A B8 - .byte $A9, $00, $A0, $05, $99, $27, $04, $88, $10, $FA, $A0, $05, $99, $4A, $04, $88 ; CPU:$B922 PRG:3922 A9 00 A0 05 99 27 04 88 10 FA A0 05 99 4A 04 88 - .byte $10, $FA, $A0, $05, $99, $6B, $04, $88, $10, $FA, $60 ; CPU:$B932 PRG:3932 10 FA A0 05 99 6B 04 88 10 FA 60 + .byte $C0, $21, $73, $0B, $73, $0B, $73, $0B, $F0, $0F, $01, $FF ; CPU:$A732 PRG:2732 C0 21 73 0B 73 0B 73 0B F0 0F 01 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_A73E +; Global: Branch target inside Sub: taken when A73E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A73E: + lda $03A1 ; CPU:$A73E PRG:273E AD A1 03 + beq Sub_Loop51 ; CPU:$A741 PRG:2741 F0 04 + cmp #$21 ; CPU:$A743 PRG:2743 C9 21 + bcc Sub_Loop52 ; CPU:$A745 PRG:2745 90 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop51 +; Global: Branch target inside Sub: taken when Loop51. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop51: + lda #$A7 ; CPU:$A747 PRG:2747 A9 A7 + sta VramWritePtrHi ; CPU:$A749 PRG:2749 85 8B + lda #$70 ; CPU:$A74B PRG:274B A9 70 + sta VramWritePtrLo ; CPU:$A74D PRG:274D 85 8A + jmp Sub_A75A ; CPU:$A74F PRG:274F 4C 5A A7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop52 +; Global: Branch target inside Sub: taken when Loop52. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop52: + lda #$A7 ; CPU:$A752 PRG:2752 A9 A7 + sta VramWritePtrHi ; CPU:$A754 PRG:2754 85 8B + lda #$90 ; CPU:$A756 PRG:2756 A9 90 + sta VramWritePtrLo ; CPU:$A758 PRG:2758 85 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_A75A +; Global: Branch target inside Sub: taken when A75A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A75A: + lda #$20 ; CPU:$A75A PRG:275A A9 20 + sta PlayerX ; CPU:$A75C PRG:275C 85 87 + lda #$3F ; CPU:$A75E PRG:275E A9 3F + sta PpuAddrHigh ; CPU:$A760 PRG:2760 85 89 + lda #$00 ; CPU:$A762 PRG:2762 A9 00 + sta PpuAddrLow ; CPU:$A764 PRG:2764 85 88 + ldy #$00 ; CPU:$A766 PRG:2766 A0 00 + lda (VramWritePtrLo),y ; CPU:$A768 PRG:2768 B1 8A + sta $07FF ; CPU:$A76A PRG:276A 8D FF 07 + jmp Sub_801B ; CPU:$A76D PRG:276D 4C 1B 80 +; ---- data $A770-$A815 (166 bytes) ---- +EnemySpritePatternTable: + .byte $02, $12, $38, $10, $02, $38, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F ; CPU:$A770 PRG:-1890 02 12 38 10 02 38 1A 0A 02 1A 0A 0F 02 10 00 0F + .byte $02, $16, $10, $00, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10 ; CPU:$A780 PRG:2780 02 16 10 00 02 20 28 16 02 16 29 19 02 26 20 10 + .byte $02, $12, $1A, $0F, $02, $37, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F ; CPU:$A790 PRG:2790 02 12 1A 0F 02 37 1A 0A 02 1A 0A 0F 02 10 00 0F + .byte $02, $16, $10, $0F, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10 ; CPU:$A7A0 PRG:27A0 02 16 10 0F 02 20 28 16 02 16 29 19 02 26 20 10 + .byte $E6, $8A, $F0, $01, $60, $E6, $8B, $60, $E6, $88, $F0, $01, $60, $E6, $89, $60 ; CPU:$A7B0 PRG:27B0 E6 8A F0 01 60 E6 8B 60 E6 88 F0 01 60 E6 89 60 + .byte $A5, $8A, $18, $65, $8A, $85, $8A, $A5, $8B, $65, $8B, $85, $8B, $60, $A5, $88 ; CPU:$A7C0 PRG:27C0 A5 8A 18 65 8A 85 8A A5 8B 65 8B 85 8B 60 A5 88 + .byte $18, $65, $8A, $85, $8A, $A5, $89, $65, $8B, $85, $8B, $60, $A5, $8A, $38, $E5 ; CPU:$A7D0 PRG:27D0 18 65 8A 85 8A A5 89 65 8B 85 8B 60 A5 8A 38 E5 + .byte $88, $B0, $02, $C6, $8B, $85, $8A, $A5, $8B, $38, $E5, $89, $85, $8B, $60, $A9 ; CPU:$A7E0 PRG:27E0 88 B0 02 C6 8B 85 8A A5 8B 38 E5 89 85 8B 60 A9 + .byte $00, $8D, $8B, $03, $A5, $8A, $18, $65, $88, $C9, $0A, $90, $05, $38, $E9, $0A ; CPU:$A7F0 PRG:27F0 00 8D 8B 03 A5 8A 18 65 88 C9 0A 90 05 38 E9 0A + .byte $E6, $8B, $85, $8A, $A5, $8B, $18, $65, $89, $C9, $0A, $90, $06, $38, $E9, $0A ; CPU:$A800 PRG:2800 E6 8B 85 8A A5 8B 18 65 89 C9 0A 90 06 38 E9 0A + .byte $EE, $8B, $03, $85, $8B, $60 ; CPU:$A810 PRG:2810 EE 8B 03 85 8B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A816 +; Global: Branch target inside Sub: taken when A816. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A816: + inc VramWritePtrLo ; CPU:$A816 PRG:2816 E6 8A + lda VramWritePtrLo ; CPU:$A818 PRG:2818 A5 8A + cmp #$0A ; CPU:$A81A PRG:281A C9 0A + beq Sub_Loop53 ; CPU:$A81C PRG:281C F0 01 + rts ; CPU:$A81E PRG:281E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop53 +; Global: Branch target inside Sub: taken when Loop53. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop53: + lda #$00 ; CPU:$A81F PRG:281F A9 00 + sta VramWritePtrLo ; CPU:$A821 PRG:2821 85 8A + inc VramWritePtrHi ; CPU:$A823 PRG:2823 E6 8B + lda VramWritePtrHi ; CPU:$A825 PRG:2825 A5 8B + cmp #$0A ; CPU:$A827 PRG:2827 C9 0A + beq Sub_Loop54 ; CPU:$A829 PRG:2829 F0 01 + rts ; CPU:$A82B PRG:282B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop54 +; Global: Branch target inside Sub: taken when Loop54. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop54: + lda #$00 ; CPU:$A82C PRG:282C A9 00 + sta VramWritePtrHi ; CPU:$A82E PRG:282E 85 8B + inc $038B ; CPU:$A830 PRG:2830 EE 8B 03 + rts ; CPU:$A833 PRG:2833 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A834 +; Global: Branch target inside Sub: taken when A834. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A834: + lda #$00 ; CPU:$A834 PRG:2834 A9 00 + sta PlayerY ; CPU:$A836 PRG:2836 85 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_A838 +; Global: Branch target inside Sub: taken when A838. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A838: + lda VramWritePtrLo ; CPU:$A838 PRG:2838 A5 8A + sec ; CPU:$A83A PRG:283A 38 + sbc PpuAddrLow ; CPU:$A83B PRG:283B E5 88 + sta VramWritePtrLo ; CPU:$A83D PRG:283D 85 8A + lda VramWritePtrHi ; CPU:$A83F PRG:283F A5 8B + sbc PpuAddrHigh ; CPU:$A841 PRG:2841 E5 89 + sta VramWritePtrHi ; CPU:$A843 PRG:2843 85 8B + lda $038B ; CPU:$A845 PRG:2845 AD 8B 03 + sbc #$00 ; CPU:$A848 PRG:2848 E9 00 + sta $038B ; CPU:$A84A PRG:284A 8D 8B 03 + bcc Sub_Loop55 ; CPU:$A84D PRG:284D 90 05 + inc PlayerY ; CPU:$A84F PRG:284F E6 86 + jmp Sub_A838 ; CPU:$A851 PRG:2851 4C 38 A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop55 +; Global: Branch target inside Sub: taken when Loop55. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop55: + rts ; CPU:$A854 PRG:2854 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A855 +; Global: Branch target inside Sub: taken when A855. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A855: + lda $038B ; CPU:$A855 PRG:2855 AD 8B 03 + sta PpuAddrHigh ; CPU:$A858 PRG:2858 85 89 + lda VramWritePtrHi ; CPU:$A85A PRG:285A A5 8B + sta PpuAddrLow ; CPU:$A85C PRG:285C 85 88 + lda VramWritePtrLo ; CPU:$A85E PRG:285E A5 8A + sta PlayerX ; CPU:$A860 PRG:2860 85 87 + lda #$00 ; CPU:$A862 PRG:2862 A9 00 + sta VramWritePtrHi ; CPU:$A864 PRG:2864 85 8B + sta VramWritePtrLo ; CPU:$A866 PRG:2866 85 8A + sta $038B ; CPU:$A868 PRG:2868 8D 8B 03 + sta PlayerY ; CPU:$A86B PRG:286B 85 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero12 +; Global: Branch target inside Sub: taken when OnNonzero12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero12: + lsr PpuAddrHigh ; CPU:$A86D PRG:286D 46 89 + ror PpuAddrLow ; CPU:$A86F PRG:286F 66 88 + ror PlayerX ; CPU:$A871 PRG:2871 66 87 + ror PlayerY ; CPU:$A873 PRG:2873 66 86 + asl Zp85 ; CPU:$A875 PRG:2875 06 85 + bcc Sub_Loop56 ; CPU:$A877 PRG:2877 90 15 + lda PlayerY ; CPU:$A879 PRG:2879 A5 86 + clc ; CPU:$A87B PRG:287B 18 + adc VramWritePtrLo ; CPU:$A87C PRG:287C 65 8A + sta VramWritePtrLo ; CPU:$A87E PRG:287E 85 8A + lda PlayerX ; CPU:$A880 PRG:2880 A5 87 + adc VramWritePtrHi ; CPU:$A882 PRG:2882 65 8B + sta VramWritePtrHi ; CPU:$A884 PRG:2884 85 8B + lda PpuAddrLow ; CPU:$A886 PRG:2886 A5 88 + adc $038B ; CPU:$A888 PRG:2888 6D 8B 03 + sta $038B ; CPU:$A88B PRG:288B 8D 8B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop56 +; Global: Branch target inside Sub: taken when Loop56. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop56: + lda Zp85 ; CPU:$A88E PRG:288E A5 85 + bne Sub_OnNonzero12 ; CPU:$A890 PRG:2890 D0 DB + rts ; CPU:$A892 PRG:2892 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A893 +; Global: Branch target inside Sub: taken when A893. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A893: + lda $043F ; CPU:$A893 PRG:2893 AD 3F 04 + sta $0397 ; CPU:$A896 PRG:2896 8D 97 03 + lda $0440 ; CPU:$A899 PRG:2899 AD 40 04 + sta $0396 ; CPU:$A89C PRG:289C 8D 96 03 + lda $043D ; CPU:$A89F PRG:289F AD 3D 04 + sta $0391 ; CPU:$A8A2 PRG:28A2 8D 91 03 + lda $043E ; CPU:$A8A5 PRG:28A5 AD 3E 04 + sta $0390 ; CPU:$A8A8 PRG:28A8 8D 90 03 + jmp Sub_A8C6 ; CPU:$A8AB PRG:28AB 4C C6 A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_A8AE +; Global: Branch target inside Sub: taken when A8AE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8AE: + lda $043B ; CPU:$A8AE PRG:28AE AD 3B 04 + sta $0397 ; CPU:$A8B1 PRG:28B1 8D 97 03 + lda $043C ; CPU:$A8B4 PRG:28B4 AD 3C 04 + sta $0396 ; CPU:$A8B7 PRG:28B7 8D 96 03 + lda $0439 ; CPU:$A8BA PRG:28BA AD 39 04 + sta $0391 ; CPU:$A8BD PRG:28BD 8D 91 03 + lda $043A ; CPU:$A8C0 PRG:28C0 AD 3A 04 + sta $0390 ; CPU:$A8C3 PRG:28C3 8D 90 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A8C6 +; Global: Branch target inside Sub: taken when A8C6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8C6: + lda #$00 ; CPU:$A8C6 PRG:28C6 A9 00 + sta $038B ; CPU:$A8C8 PRG:28C8 8D 8B 03 + lda $0397 ; CPU:$A8CB PRG:28CB AD 97 03 + sta VramWritePtrLo ; CPU:$A8CE PRG:28CE 85 8A + lda $0396 ; CPU:$A8D0 PRG:28D0 AD 96 03 + sta VramWritePtrHi ; CPU:$A8D3 PRG:28D3 85 8B + lda #$64 ; CPU:$A8D5 PRG:28D5 A9 64 + sta Zp85 ; CPU:$A8D7 PRG:28D7 85 85 + jsr Sub_A855 ; CPU:$A8D9 PRG:28D9 20 55 A8 + lda $0391 ; CPU:$A8DC PRG:28DC AD 91 03 + sta PpuAddrLow ; CPU:$A8DF PRG:28DF 85 88 + ora $0390 ; CPU:$A8E1 PRG:28E1 0D 90 03 + bne Sub_Loop57 ; CPU:$A8E4 PRG:28E4 D0 0A + lda #$00 ; CPU:$A8E6 PRG:28E6 A9 00 + sta VramWritePtrHi ; CPU:$A8E8 PRG:28E8 85 8B + sta VramWritePtrLo ; CPU:$A8EA PRG:28EA 85 8A + sta $038B ; CPU:$A8EC PRG:28EC 8D 8B 03 + rts ; CPU:$A8EF PRG:28EF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop57 +; Global: Branch target inside Sub: taken when Loop57. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop57: + lda $0390 ; CPU:$A8F0 PRG:28F0 AD 90 03 + sta PpuAddrHigh ; CPU:$A8F3 PRG:28F3 85 89 + jsr Sub_A834 ; CPU:$A8F5 PRG:28F5 20 34 A8 + lda PlayerY ; CPU:$A8F8 PRG:28F8 A5 86 + sta VramWritePtrLo ; CPU:$A8FA PRG:28FA 85 8A + lda #$00 ; CPU:$A8FC PRG:28FC A9 00 + sta VramWritePtrHi ; CPU:$A8FE PRG:28FE 85 8B + sta $038B ; CPU:$A900 PRG:2900 8D 8B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarryClear2 +; Global: Branch target inside Sub: taken when OnCarryClear2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarryClear2: + lda VramWritePtrLo ; CPU:$A903 PRG:2903 A5 8A + sec ; CPU:$A905 PRG:2905 38 + sbc #$0A ; CPU:$A906 PRG:2906 E9 0A + bcc Sub_Loop58 ; CPU:$A908 PRG:2908 90 13 + sta VramWritePtrLo ; CPU:$A90A PRG:290A 85 8A + inc VramWritePtrHi ; CPU:$A90C PRG:290C E6 8B + lda VramWritePtrHi ; CPU:$A90E PRG:290E A5 8B + sec ; CPU:$A910 PRG:2910 38 + sbc #$0A ; CPU:$A911 PRG:2911 E9 0A + bcc Sub_OnCarryClear2 ; CPU:$A913 PRG:2913 90 EE + sta VramWritePtrHi ; CPU:$A915 PRG:2915 85 8B + inc $038B ; CPU:$A917 PRG:2917 EE 8B 03 + jmp Sub_OnCarryClear2 ; CPU:$A91A PRG:291A 4C 03 A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop58 +; Global: Branch target inside Sub: taken when Loop58. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop58: + rts ; CPU:$A91D PRG:291D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A91E +; Global: Branch target inside Label: taken when A91E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A91E: + lda PpuMaskShadow ; CPU:$A91E PRG:291E A5 8D + and #$E7 ; CPU:$A920 PRG:2920 29 E7 + sta PpuMaskShadow ; CPU:$A922 PRG:2922 85 8D + jmp Sub_C275 ; CPU:$A924 PRG:2924 4C 75 C2 +; ----------------------------------------------------------------------------- +; Routine: Label_A927 +; Global: Branch target inside Label: taken when A927. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A927: + lda PpuMaskShadow ; CPU:$A927 PRG:2927 A5 8D + ora #$18 ; CPU:$A929 PRG:2929 09 18 + sta PpuMaskShadow ; CPU:$A92B PRG:292B 85 8D + rts ; CPU:$A92D PRG:292D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A92E +; Global: Branch target inside Label: taken when A92E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A92E: + cmp #$00 ; CPU:$A92E PRG:292E C9 00 + bne Sub_Loop59 ; CPU:$A930 PRG:2930 D0 03 + jmp Sub_A9B5 ; CPU:$A932 PRG:2932 4C B5 A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop59 +; Global: Branch target inside Sub: taken when Loop59. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop59: + cmp #$01 ; CPU:$A935 PRG:2935 C9 01 + bne Sub_Loop60 ; CPU:$A937 PRG:2937 D0 03 + jmp Sub_A96D ; CPU:$A939 PRG:2939 4C 6D A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop60 +; Global: Branch target inside Sub: taken when Loop60. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop60: + cmp #$02 ; CPU:$A93C PRG:293C C9 02 + bne Sub_Loop61 ; CPU:$A93E PRG:293E D0 03 + jmp Sub_Loop65 ; CPU:$A940 PRG:2940 4C 7B A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop61 +; Global: Branch target inside Sub: taken when Loop61. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop61: + cmp #$03 ; CPU:$A943 PRG:2943 C9 03 + bne Sub_Loop62 ; CPU:$A945 PRG:2945 D0 03 + jmp Sub_A95F ; CPU:$A947 PRG:2947 4C 5F A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop62 +; Global: Branch target inside Sub: taken when Loop62. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop62: + cmp #$04 ; CPU:$A94A PRG:294A C9 04 + bne Sub_Loop63 ; CPU:$A94C PRG:294C D0 03 + jmp Sub_A9C3 ; CPU:$A94E PRG:294E 4C C3 A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop63 +; Global: Branch target inside Sub: taken when Loop63. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop63: + cmp #$05 ; CPU:$A951 PRG:2951 C9 05 + bne Sub_Loop64 ; CPU:$A953 PRG:2953 D0 03 + jmp Sub_A98B ; CPU:$A955 PRG:2955 4C 8B A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop64 +; Global: Branch target inside Sub: taken when Loop64. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop64: + cmp #$06 ; CPU:$A958 PRG:2958 C9 06 + bne Sub_Loop66 ; CPU:$A95A PRG:295A D0 4B + jmp Sub_A999 ; CPU:$A95C PRG:295C 4C 99 A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A95F +; Global: Branch target inside Sub: taken when A95F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A95F: + lda PlayerX ; CPU:$A95F PRG:295F A5 87 + sec ; CPU:$A961 PRG:2961 38 + sbc PlayerScore ; CPU:$A962 PRG:2962 E5 B0 + sta PlayerX ; CPU:$A964 PRG:2964 85 87 + cmp #$03 ; CPU:$A966 PRG:2966 C9 03 + bcs Sub_Loop65 ; CPU:$A968 PRG:2968 B0 11 + jmp Sub_Loop67 ; CPU:$A96A PRG:296A 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A96D +; Global: Branch target inside Sub: taken when A96D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A96D: + lda PlayerX ; CPU:$A96D PRG:296D A5 87 + clc ; CPU:$A96F PRG:296F 18 + adc PlayerScore ; CPU:$A970 PRG:2970 65 B0 + sta PlayerX ; CPU:$A972 PRG:2972 85 87 + cmp #$FA ; CPU:$A974 PRG:2974 C9 FA + bcc Sub_Loop65 ; CPU:$A976 PRG:2976 90 03 + jmp Sub_Loop67 ; CPU:$A978 PRG:2978 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop65 +; Global: Branch target inside Sub: taken when Loop65. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop65: + lda PlayerY ; CPU:$A97B PRG:297B A5 86 + sec ; CPU:$A97D PRG:297D 38 + sbc PlayerScore ; CPU:$A97E PRG:297E E5 B0 + bcc Sub_Loop67 ; CPU:$A980 PRG:2980 90 4C + sta PlayerY ; CPU:$A982 PRG:2982 85 86 + cmp #$03 ; CPU:$A984 PRG:2984 C9 03 + bcs Sub_Loop68 ; CPU:$A986 PRG:2986 B0 48 + jmp Sub_Loop67 ; CPU:$A988 PRG:2988 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A98B +; Global: Branch target inside Sub: taken when A98B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A98B: + lda PlayerX ; CPU:$A98B PRG:298B A5 87 + sec ; CPU:$A98D PRG:298D 38 + sbc PlayerScore ; CPU:$A98E PRG:298E E5 B0 + sta PlayerX ; CPU:$A990 PRG:2990 85 87 + cmp #$03 ; CPU:$A992 PRG:2992 C9 03 + bcs Sub_Loop66 ; CPU:$A994 PRG:2994 B0 11 + jmp Sub_Loop67 ; CPU:$A996 PRG:2996 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A999 +; Global: Branch target inside Sub: taken when A999. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A999: + lda PlayerX ; CPU:$A999 PRG:2999 A5 87 + clc ; CPU:$A99B PRG:299B 18 + adc PlayerScore ; CPU:$A99C PRG:299C 65 B0 + sta PlayerX ; CPU:$A99E PRG:299E 85 87 + cmp #$FA ; CPU:$A9A0 PRG:29A0 C9 FA + bcc Sub_Loop66 ; CPU:$A9A2 PRG:29A2 90 03 + jmp Sub_Loop67 ; CPU:$A9A4 PRG:29A4 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop66 +; Global: Branch target inside Sub: taken when Loop66. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop66: + lda PlayerY ; CPU:$A9A7 PRG:29A7 A5 86 + clc ; CPU:$A9A9 PRG:29A9 18 + adc PlayerScore ; CPU:$A9AA PRG:29AA 65 B0 + sta PlayerY ; CPU:$A9AC PRG:29AC 85 86 + cmp #$EA ; CPU:$A9AE PRG:29AE C9 EA + bcc Sub_Loop68 ; CPU:$A9B0 PRG:29B0 90 1E + jmp Sub_Loop67 ; CPU:$A9B2 PRG:29B2 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A9B5 +; Global: Branch target inside Sub: taken when A9B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A9B5: + lda PlayerX ; CPU:$A9B5 PRG:29B5 A5 87 + clc ; CPU:$A9B7 PRG:29B7 18 + adc PlayerScore ; CPU:$A9B8 PRG:29B8 65 B0 + sta PlayerX ; CPU:$A9BA PRG:29BA 85 87 + cmp #$FA ; CPU:$A9BC PRG:29BC C9 FA + bcc Sub_Loop68 ; CPU:$A9BE PRG:29BE 90 10 + jmp Sub_Loop67 ; CPU:$A9C0 PRG:29C0 4C CE A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_A9C3 +; Global: Branch target inside Sub: taken when A9C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A9C3: + lda PlayerX ; CPU:$A9C3 PRG:29C3 A5 87 + sec ; CPU:$A9C5 PRG:29C5 38 + sbc PlayerScore ; CPU:$A9C6 PRG:29C6 E5 B0 + sta PlayerX ; CPU:$A9C8 PRG:29C8 85 87 + cmp #$03 ; CPU:$A9CA PRG:29CA C9 03 + bcs Sub_Loop68 ; CPU:$A9CC PRG:29CC B0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop67 +; Global: Branch target inside Sub: taken when Loop67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop67: + sec ; CPU:$A9CE PRG:29CE 38 + rts ; CPU:$A9CF PRG:29CF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop68 +; Global: Branch target inside Sub: taken when Loop68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop68: + clc ; CPU:$A9D0 PRG:29D0 18 + rts ; CPU:$A9D1 PRG:29D1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A9D2 +; Global: Branch target inside Label: taken when A9D2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9D2: + rts ; CPU:$A9D2 PRG:29D2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A9D3 +; Global: Branch target inside Sub: taken when A9D3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A9D3: + ldy #$00 ; CPU:$A9D3 PRG:29D3 A0 00 + jsr Sub_B0BC ; CPU:$A9D5 PRG:29D5 20 BC B0 + jsr Sub_B0E5 ; CPU:$A9D8 PRG:29D8 20 E5 B0 + lda #$50 ; CPU:$A9DB PRG:29DB A9 50 + sta PlayerScore ; CPU:$A9DD PRG:29DD 85 B0 + lda #$20 ; CPU:$A9DF PRG:29DF A9 20 + sta ZpB2 ; CPU:$A9E1 PRG:29E1 85 B2 + lda #$B0 ; CPU:$A9E3 PRG:29E3 A9 B0 + sta ZpB1 ; CPU:$A9E5 PRG:29E5 85 B1 + lda #$E0 ; CPU:$A9E7 PRG:29E7 A9 E0 + sta ZpB3 ; CPU:$A9E9 PRG:29E9 85 B3 + jmp Sub_AA00 ; CPU:$A9EB PRG:29EB 4C 00 AA +; ----------------------------------------------------------------------------- +; Routine: Label_A9EE +; Global: Branch target inside Label: taken when A9EE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9EE: + jsr Sub_B0BC ; CPU:$A9EE PRG:29EE 20 BC B0 + jsr Sub_B0E5 ; CPU:$A9F1 PRG:29F1 20 E5 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_A9F4 +; Global: Branch target inside Sub: taken when A9F4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A9F4: + lda #$06 ; CPU:$A9F4 PRG:29F4 A9 06 + sta PlayerScore ; CPU:$A9F6 PRG:29F6 85 B0 + sta ZpB2 ; CPU:$A9F8 PRG:29F8 85 B2 + lda #$FA ; CPU:$A9FA PRG:29FA A9 FA + sta ZpB1 ; CPU:$A9FC PRG:29FC 85 B1 + sta ZpB3 ; CPU:$A9FE PRG:29FE 85 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_AA00 +; Global: Branch target inside Sub: taken when AA00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AA00: + lda $0399 ; CPU:$AA00 PRG:2A00 AD 99 03 + sta ZpDE ; CPU:$AA03 PRG:2A03 85 DE + jsr Sub_AEAD ; CPU:$AA05 PRG:2A05 20 AD AE + jsr Sub_B11F ; CPU:$AA08 PRG:2A08 20 1F B1 + lda $0396 ; CPU:$AA0B PRG:2A0B AD 96 03 + bne Sub_Loop69 ; CPU:$AA0E PRG:2A0E D0 09 + lda $0397 ; CPU:$AA10 PRG:2A10 AD 97 03 + cmp PlayerScore ; CPU:$AA13 PRG:2A13 C5 B0 + bcc Sub_Loop70 ; CPU:$AA15 PRG:2A15 90 0D + bcs Sub_Loop74 ; CPU:$AA17 PRG:2A17 B0 44 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop69 +; Global: Branch target inside Sub: taken when Loop69. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop69: + cmp #$FF ; CPU:$AA19 PRG:2A19 C9 FF + bne Sub_Loop74 ; CPU:$AA1B PRG:2A1B D0 40 + lda $0397 ; CPU:$AA1D PRG:2A1D AD 97 03 + cmp ZpB1 ; CPU:$AA20 PRG:2A20 C5 B1 + bcc Sub_Loop74 ; CPU:$AA22 PRG:2A22 90 39 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop70 +; Global: Branch target inside Sub: taken when Loop70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop70: + lda $0399 ; CPU:$AA24 PRG:2A24 AD 99 03 + bne Sub_Loop72 ; CPU:$AA27 PRG:2A27 D0 19 + lda ZpDE ; CPU:$AA29 PRG:2A29 A5 DE + cmp $0393 ; CPU:$AA2B PRG:2A2B CD 93 03 + beq Sub_Loop71 ; CPU:$AA2E PRG:2A2E F0 09 + lda $039A ; CPU:$AA30 PRG:2A30 AD 9A 03 + sec ; CPU:$AA33 PRG:2A33 38 + sbc #$10 ; CPU:$AA34 PRG:2A34 E9 10 + sta $039A ; CPU:$AA36 PRG:2A36 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop71 +; Global: Branch target inside Sub: taken when Loop71. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop71: + lda $039A ; CPU:$AA39 PRG:2A39 AD 9A 03 + cmp ZpB2 ; CPU:$AA3C PRG:2A3C C5 B2 + bcc Sub_Loop75 ; CPU:$AA3E PRG:2A3E 90 1F + bcs Sub_Loop74 ; CPU:$AA40 PRG:2A40 B0 1B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop72 +; Global: Branch target inside Sub: taken when Loop72. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop72: + cmp #$FF ; CPU:$AA42 PRG:2A42 C9 FF + bne Sub_Loop74 ; CPU:$AA44 PRG:2A44 D0 17 + lda ZpDE ; CPU:$AA46 PRG:2A46 A5 DE + cmp $0393 ; CPU:$AA48 PRG:2A48 CD 93 03 + beq Sub_Loop73 ; CPU:$AA4B PRG:2A4B F0 09 + lda $039A ; CPU:$AA4D PRG:2A4D AD 9A 03 + clc ; CPU:$AA50 PRG:2A50 18 + adc #$10 ; CPU:$AA51 PRG:2A51 69 10 + sta $039A ; CPU:$AA53 PRG:2A53 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop73 +; Global: Branch target inside Sub: taken when Loop73. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop73: + lda $039A ; CPU:$AA56 PRG:2A56 AD 9A 03 + cmp ZpB3 ; CPU:$AA59 PRG:2A59 C5 B3 + bcs Sub_Loop75 ; CPU:$AA5B PRG:2A5B B0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop74 +; Global: Branch target inside Sub: taken when Loop74. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop74: + clc ; CPU:$AA5D PRG:2A5D 18 + rts ; CPU:$AA5E PRG:2A5E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop75 +; Global: Branch target inside Sub: taken when Loop75. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop75: + sec ; CPU:$AA5F PRG:2A5F 38 + rts ; CPU:$AA60 PRG:2A60 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AA61 +; Global: Branch target inside Sub: taken when AA61. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AA61: + sty $071D ; CPU:$AA61 PRG:2A61 8C 1D 07 + lda $04C0,x ; CPU:$AA64 PRG:2A64 BD C0 04 + sta $0391 ; CPU:$AA67 PRG:2A67 8D 91 03 + lda $04A7,x ; CPU:$AA6A PRG:2A6A BD A7 04 + sta $0394 ; CPU:$AA6D PRG:2A6D 8D 94 03 + lda $04C0,y ; CPU:$AA70 PRG:2A70 B9 C0 04 + sta $0397 ; CPU:$AA73 PRG:2A73 8D 97 03 + lda $04A7,y ; CPU:$AA76 PRG:2A76 B9 A7 04 + sta $039A ; CPU:$AA79 PRG:2A79 8D 9A 03 + lda $04D9,x ; CPU:$AA7C PRG:2A7C BD D9 04 + jsr Sub_AB2C ; CPU:$AA7F PRG:2A7F 20 2C AB + ldy #$00 ; CPU:$AA82 PRG:2A82 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarryClear3 +; Global: Branch target inside Sub: taken when OnCarryClear3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarryClear3: + lda (VramWritePtrLo),y ; CPU:$AA84 PRG:2A84 B1 8A + sta a:PlayerScore,y ; CPU:$AA86 PRG:2A86 99 B0 00 + iny ; CPU:$AA89 PRG:2A89 C8 + cpy #$04 ; CPU:$AA8A PRG:2A8A C0 04 + bcc Sub_OnCarryClear3 ; CPU:$AA8C PRG:2A8C 90 F6 + ldy $071D ; CPU:$AA8E PRG:2A8E AC 1D 07 + lda $04D9,y ; CPU:$AA91 PRG:2A91 B9 D9 04 + jsr Sub_AB2C ; CPU:$AA94 PRG:2A94 20 2C AB + ldy #$00 ; CPU:$AA97 PRG:2A97 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarryClear4 +; Global: Branch target inside Sub: taken when OnCarryClear4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarryClear4: + lda (VramWritePtrLo),y ; CPU:$AA99 PRG:2A99 B1 8A + sta a:ZpB4,y ; CPU:$AA9B PRG:2A9B 99 B4 00 + iny ; CPU:$AA9E PRG:2A9E C8 + cpy #$04 ; CPU:$AA9F PRG:2A9F C0 04 + bcc Sub_OnCarryClear4 ; CPU:$AAA1 PRG:2AA1 90 F6 + lda $0391 ; CPU:$AAA3 PRG:2AA3 AD 91 03 + clc ; CPU:$AAA6 PRG:2AA6 18 + adc ZpB1 ; CPU:$AAA7 PRG:2AA7 65 B1 + bcc Sub_Loop76 ; CPU:$AAA9 PRG:2AA9 90 02 + lda #$FF ; CPU:$AAAB PRG:2AAB A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop76 +; Global: Branch target inside Sub: taken when Loop76. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop76: + sta PlayerX ; CPU:$AAAD PRG:2AAD 85 87 + lda $0397 ; CPU:$AAAF PRG:2AAF AD 97 03 + sec ; CPU:$AAB2 PRG:2AB2 38 + sbc ZpB4 ; CPU:$AAB3 PRG:2AB3 E5 B4 + bcs Sub_Loop77 ; CPU:$AAB5 PRG:2AB5 B0 02 + lda #$00 ; CPU:$AAB7 PRG:2AB7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop77 +; Global: Branch target inside Sub: taken when Loop77. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop77: + cmp PlayerX ; CPU:$AAB9 PRG:2AB9 C5 87 + bcc Sub_Loop78 ; CPU:$AABB PRG:2ABB 90 03 + jmp Sub_AB22 ; CPU:$AABD PRG:2ABD 4C 22 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop78 +; Global: Branch target inside Sub: taken when Loop78. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop78: + lda $0391 ; CPU:$AAC0 PRG:2AC0 AD 91 03 + sec ; CPU:$AAC3 PRG:2AC3 38 + sbc PlayerScore ; CPU:$AAC4 PRG:2AC4 E5 B0 + bcs Sub_Loop79 ; CPU:$AAC6 PRG:2AC6 B0 02 + lda #$00 ; CPU:$AAC8 PRG:2AC8 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop79 +; Global: Branch target inside Sub: taken when Loop79. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop79: + sta PlayerX ; CPU:$AACA PRG:2ACA 85 87 + lda $0397 ; CPU:$AACC PRG:2ACC AD 97 03 + clc ; CPU:$AACF PRG:2ACF 18 + adc ZpB5 ; CPU:$AAD0 PRG:2AD0 65 B5 + bcc Sub_Loop80 ; CPU:$AAD2 PRG:2AD2 90 02 + lda #$FF ; CPU:$AAD4 PRG:2AD4 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop80 +; Global: Branch target inside Sub: taken when Loop80. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop80: + cmp PlayerX ; CPU:$AAD6 PRG:2AD6 C5 87 + bcs Sub_Loop81 ; CPU:$AAD8 PRG:2AD8 B0 03 + jmp Sub_AB22 ; CPU:$AADA PRG:2ADA 4C 22 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop81 +; Global: Branch target inside Sub: taken when Loop81. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop81: + lda $0394 ; CPU:$AADD PRG:2ADD AD 94 03 + clc ; CPU:$AAE0 PRG:2AE0 18 + adc ZpB3 ; CPU:$AAE1 PRG:2AE1 65 B3 + bcs Sub_Loop82 ; CPU:$AAE3 PRG:2AE3 B0 07 + cmp #$F0 ; CPU:$AAE5 PRG:2AE5 C9 F0 + bcs Sub_Loop82 ; CPU:$AAE7 PRG:2AE7 B0 03 + jmp Sub_AAEE ; CPU:$AAE9 PRG:2AE9 4C EE AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop82 +; Global: Branch target inside Sub: taken when Loop82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop82: + lda #$FF ; CPU:$AAEC PRG:2AEC A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_AAEE +; Global: Branch target inside Sub: taken when AAEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AAEE: + sta PlayerX ; CPU:$AAEE PRG:2AEE 85 87 + lda $039A ; CPU:$AAF0 PRG:2AF0 AD 9A 03 + sec ; CPU:$AAF3 PRG:2AF3 38 + sbc ZpB6 ; CPU:$AAF4 PRG:2AF4 E5 B6 + bcs Sub_Loop83 ; CPU:$AAF6 PRG:2AF6 B0 02 + lda #$00 ; CPU:$AAF8 PRG:2AF8 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop83 +; Global: Branch target inside Sub: taken when Loop83. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop83: + cmp PlayerX ; CPU:$AAFA PRG:2AFA C5 87 + bcc Sub_Loop84 ; CPU:$AAFC PRG:2AFC 90 03 + jmp Sub_AB22 ; CPU:$AAFE PRG:2AFE 4C 22 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop84 +; Global: Branch target inside Sub: taken when Loop84. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop84: + lda $0394 ; CPU:$AB01 PRG:2B01 AD 94 03 + sec ; CPU:$AB04 PRG:2B04 38 + sbc ZpB2 ; CPU:$AB05 PRG:2B05 E5 B2 + bcs Sub_Loop85 ; CPU:$AB07 PRG:2B07 B0 02 + lda #$00 ; CPU:$AB09 PRG:2B09 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop85 +; Global: Branch target inside Sub: taken when Loop85. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop85: + sta PlayerX ; CPU:$AB0B PRG:2B0B 85 87 + lda $039A ; CPU:$AB0D PRG:2B0D AD 9A 03 + clc ; CPU:$AB10 PRG:2B10 18 + adc ZpB7 ; CPU:$AB11 PRG:2B11 65 B7 + bcs Sub_Loop86 ; CPU:$AB13 PRG:2B13 B0 07 + cmp #$F0 ; CPU:$AB15 PRG:2B15 C9 F0 + bcs Sub_Loop86 ; CPU:$AB17 PRG:2B17 B0 03 + jmp Sub_AB1E ; CPU:$AB19 PRG:2B19 4C 1E AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop86 +; Global: Branch target inside Sub: taken when Loop86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop86: + lda #$FF ; CPU:$AB1C PRG:2B1C A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_AB1E +; Global: Branch target inside Sub: taken when AB1E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB1E: + cmp PlayerX ; CPU:$AB1E PRG:2B1E C5 87 + bcs Sub_Loop87 ; CPU:$AB20 PRG:2B20 B0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB22 +; Global: Branch target inside Sub: taken when AB22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB22: + ldy $071D ; CPU:$AB22 PRG:2B22 AC 1D 07 + clc ; CPU:$AB25 PRG:2B25 18 + rts ; CPU:$AB26 PRG:2B26 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop87 +; Global: Branch target inside Sub: taken when Loop87. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop87: + ldy $071D ; CPU:$AB27 PRG:2B27 AC 1D 07 + sec ; CPU:$AB2A PRG:2B2A 38 + rts ; CPU:$AB2B PRG:2B2B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB2C +; Global: Branch target inside Sub: taken when AB2C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB2C: + cmp #$00 ; CPU:$AB2C PRG:2B2C C9 00 + bne Sub_Loop88 ; CPU:$AB2E PRG:2B2E D0 05 + lda #$00 ; CPU:$AB30 PRG:2B30 A9 00 + jmp Sub_ABC2 ; CPU:$AB32 PRG:2B32 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop88 +; Global: Branch target inside Sub: taken when Loop88. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop88: + cmp #$01 ; CPU:$AB35 PRG:2B35 C9 01 + bne Sub_Loop89 ; CPU:$AB37 PRG:2B37 D0 05 + lda #$01 ; CPU:$AB39 PRG:2B39 A9 01 + jmp Sub_ABC2 ; CPU:$AB3B PRG:2B3B 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop89 +; Global: Branch target inside Sub: taken when Loop89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop89: + cmp #$07 ; CPU:$AB3E PRG:2B3E C9 07 + bne Sub_Loop90 ; CPU:$AB40 PRG:2B40 D0 05 + lda #$0A ; CPU:$AB42 PRG:2B42 A9 0A + jmp Sub_ABC2 ; CPU:$AB44 PRG:2B44 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop90 +; Global: Branch target inside Sub: taken when Loop90. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop90: + cmp #$08 ; CPU:$AB47 PRG:2B47 C9 08 + bne Sub_Loop91 ; CPU:$AB49 PRG:2B49 D0 05 + lda #$02 ; CPU:$AB4B PRG:2B4B A9 02 + jmp Sub_ABC2 ; CPU:$AB4D PRG:2B4D 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop91 +; Global: Branch target inside Sub: taken when Loop91. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop91: + cmp #$09 ; CPU:$AB50 PRG:2B50 C9 09 + bne Sub_Loop92 ; CPU:$AB52 PRG:2B52 D0 05 + lda #$03 ; CPU:$AB54 PRG:2B54 A9 03 + jmp Sub_ABC2 ; CPU:$AB56 PRG:2B56 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop92 +; Global: Branch target inside Sub: taken when Loop92. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop92: + cmp #$0A ; CPU:$AB59 PRG:2B59 C9 0A + bne Sub_Loop93 ; CPU:$AB5B PRG:2B5B D0 05 + lda #$04 ; CPU:$AB5D PRG:2B5D A9 04 + jmp Sub_ABC2 ; CPU:$AB5F PRG:2B5F 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop93 +; Global: Branch target inside Sub: taken when Loop93. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop93: + cmp #$0B ; CPU:$AB62 PRG:2B62 C9 0B + bne Sub_Loop94 ; CPU:$AB64 PRG:2B64 D0 05 + lda #$05 ; CPU:$AB66 PRG:2B66 A9 05 + jmp Sub_ABC2 ; CPU:$AB68 PRG:2B68 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop94 +; Global: Branch target inside Sub: taken when Loop94. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop94: + cmp #$0C ; CPU:$AB6B PRG:2B6B C9 0C + bne Sub_Loop95 ; CPU:$AB6D PRG:2B6D D0 05 + lda #$06 ; CPU:$AB6F PRG:2B6F A9 06 + jmp Sub_ABC2 ; CPU:$AB71 PRG:2B71 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop95 +; Global: Branch target inside Sub: taken when Loop95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop95: + cmp #$0D ; CPU:$AB74 PRG:2B74 C9 0D + bne Sub_Loop96 ; CPU:$AB76 PRG:2B76 D0 05 + lda #$07 ; CPU:$AB78 PRG:2B78 A9 07 + jmp Sub_ABC2 ; CPU:$AB7A PRG:2B7A 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop96 +; Global: Branch target inside Sub: taken when Loop96. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop96: + cmp #$0E ; CPU:$AB7D PRG:2B7D C9 0E + bne Sub_Loop97 ; CPU:$AB7F PRG:2B7F D0 05 + lda #$08 ; CPU:$AB81 PRG:2B81 A9 08 + jmp Sub_ABC2 ; CPU:$AB83 PRG:2B83 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop97 +; Global: Branch target inside Sub: taken when Loop97. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop97: + cmp #$0F ; CPU:$AB86 PRG:2B86 C9 0F + bne Sub_Loop98 ; CPU:$AB88 PRG:2B88 D0 05 + lda #$09 ; CPU:$AB8A PRG:2B8A A9 09 + jmp Sub_ABC2 ; CPU:$AB8C PRG:2B8C 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop98 +; Global: Branch target inside Sub: taken when Loop98. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop98: + cmp #$10 ; CPU:$AB8F PRG:2B8F C9 10 + bcc Sub_Loop99 ; CPU:$AB91 PRG:2B91 90 09 + cmp #$60 ; CPU:$AB93 PRG:2B93 C9 60 + bcs Sub_Loop99 ; CPU:$AB95 PRG:2B95 B0 05 + lda #$0B ; CPU:$AB97 PRG:2B97 A9 0B + jmp Sub_ABC2 ; CPU:$AB99 PRG:2B99 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop99 +; Global: Branch target inside Sub: taken when Loop99. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop99: + cmp #$72 ; CPU:$AB9C PRG:2B9C C9 72 + bcs Sub_Loop100 ; CPU:$AB9E PRG:2B9E B0 05 + lda #$0C ; CPU:$ABA0 PRG:2BA0 A9 0C + jmp Sub_ABC2 ; CPU:$ABA2 PRG:2BA2 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop100 +; Global: Branch target inside Sub: taken when Loop100. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop100: + cmp #$79 ; CPU:$ABA5 PRG:2BA5 C9 79 + bcs Sub_Loop101 ; CPU:$ABA7 PRG:2BA7 B0 05 + lda #$0D ; CPU:$ABA9 PRG:2BA9 A9 0D + jmp Sub_ABC2 ; CPU:$ABAB PRG:2BAB 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop101 +; Global: Branch target inside Sub: taken when Loop101. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop101: + cmp #$8E ; CPU:$ABAE PRG:2BAE C9 8E + bcs Sub_Loop102 ; CPU:$ABB0 PRG:2BB0 B0 05 + lda #$0E ; CPU:$ABB2 PRG:2BB2 A9 0E + jmp Sub_ABC2 ; CPU:$ABB4 PRG:2BB4 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop102 +; Global: Branch target inside Sub: taken when Loop102. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop102: + cmp #$8F ; CPU:$ABB7 PRG:2BB7 C9 8F + bcs Sub_Loop103 ; CPU:$ABB9 PRG:2BB9 B0 05 + lda #$0F ; CPU:$ABBB PRG:2BBB A9 0F + jmp Sub_ABC2 ; CPU:$ABBD PRG:2BBD 4C C2 AB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop103 +; Global: Branch target inside Sub: taken when Loop103. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop103: + lda #$10 ; CPU:$ABC0 PRG:2BC0 A9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_ABC2 +; Global: Branch target inside Sub: taken when ABC2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ABC2: + asl a ; CPU:$ABC2 PRG:2BC2 0A + asl a ; CPU:$ABC3 PRG:2BC3 0A + clc ; CPU:$ABC4 PRG:2BC4 18 + adc #$D0 ; CPU:$ABC5 PRG:2BC5 69 D0 + sta VramWritePtrLo ; CPU:$ABC7 PRG:2BC7 85 8A + lda #$00 ; CPU:$ABC9 PRG:2BC9 A9 00 + adc #$AB ; CPU:$ABCB PRG:2BCB 69 AB + sta VramWritePtrHi ; CPU:$ABCD PRG:2BCD 85 8B + rts ; CPU:$ABCF PRG:2BCF 60 +; ---- data $ABD0-$AC13 (68 bytes) ---- +EnemyHealthPointTable: + .byte $05, $05, $04, $03, $03, $03, $03, $03, $05, $05, $05, $05, $09, $09, $05, $05 ; CPU:$ABD0 PRG:-1430 05 05 04 03 03 03 03 03 05 05 05 05 09 09 05 05 + .byte $11, $11, $05, $05, $11, $09, $05, $05, $09, $11, $05, $05, $11, $11, $05, $05 ; CPU:$ABE0 PRG:2BE0 11 11 05 05 11 09 05 05 09 11 05 05 11 11 05 05 + .byte $11, $09, $05, $05, $09, $11, $05, $05, $02, $02, $02, $02, $08, $08, $06, $06 ; CPU:$ABF0 PRG:2BF0 11 09 05 05 09 11 05 05 02 02 02 02 08 08 06 06 + .byte $0C, $0C, $08, $08, $12, $12, $0A, $0A, $08, $08, $08, $08, $08, $08, $20, $3C ; CPU:$AC00 PRG:2C00 0C 0C 08 08 12 12 0A 0A 08 08 08 08 08 08 20 3C + .byte $48, $48, $08, $08 ; CPU:$AC10 PRG:2C10 48 48 08 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_AC14 +; Global: Branch target inside Sub: taken when AC14. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC14: + lda #$00 ; CPU:$AC14 PRG:2C14 A9 00 + sta PpuAddrHigh ; CPU:$AC16 PRG:2C16 85 89 + sta PpuAddrLow ; CPU:$AC18 PRG:2C18 85 88 +; ----------------------------------------------------------------------------- +; Routine: Sub_AC1A +; Global: Branch target inside Sub: taken when AC1A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC1A: + stx $038B ; CPU:$AC1A PRG:2C1A 8E 8B 03 + sty $038C ; CPU:$AC1D PRG:2C1D 8C 8C 03 + lda $042B ; CPU:$AC20 PRG:2C20 AD 2B 04 + clc ; CPU:$AC23 PRG:2C23 18 + adc VramWritePtrLo ; CPU:$AC24 PRG:2C24 65 8A + cmp #$0A ; CPU:$AC26 PRG:2C26 C9 0A + bcc Sub_Loop104 ; CPU:$AC28 PRG:2C28 90 03 + sec ; CPU:$AC2A PRG:2C2A 38 + sbc #$0A ; CPU:$AC2B PRG:2C2B E9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop104 +; Global: Branch target inside Sub: taken when Loop104. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop104: + sta $042B ; CPU:$AC2D PRG:2C2D 8D 2B 04 + lda $042A ; CPU:$AC30 PRG:2C30 AD 2A 04 + adc VramWritePtrHi ; CPU:$AC33 PRG:2C33 65 8B + cmp #$0A ; CPU:$AC35 PRG:2C35 C9 0A + bcc Sub_Loop105 ; CPU:$AC37 PRG:2C37 90 03 + sec ; CPU:$AC39 PRG:2C39 38 + sbc #$0A ; CPU:$AC3A PRG:2C3A E9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop105 +; Global: Branch target inside Sub: taken when Loop105. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop105: + sta $042A ; CPU:$AC3C PRG:2C3C 8D 2A 04 + lda $0429 ; CPU:$AC3F PRG:2C3F AD 29 04 + adc PpuAddrLow ; CPU:$AC42 PRG:2C42 65 88 + cmp #$0A ; CPU:$AC44 PRG:2C44 C9 0A + bcc Sub_Loop106 ; CPU:$AC46 PRG:2C46 90 03 + sec ; CPU:$AC48 PRG:2C48 38 + sbc #$0A ; CPU:$AC49 PRG:2C49 E9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop106 +; Global: Branch target inside Sub: taken when Loop106. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop106: + sta $0429 ; CPU:$AC4B PRG:2C4B 8D 29 04 + lda $0428 ; CPU:$AC4E PRG:2C4E AD 28 04 + adc PpuAddrHigh ; CPU:$AC51 PRG:2C51 65 89 + cmp #$0A ; CPU:$AC53 PRG:2C53 C9 0A + bcc Sub_Loop107 ; CPU:$AC55 PRG:2C55 90 03 + sec ; CPU:$AC57 PRG:2C57 38 + sbc #$0A ; CPU:$AC58 PRG:2C58 E9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop107 +; Global: Branch target inside Sub: taken when Loop107. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop107: + sta $0428 ; CPU:$AC5A PRG:2C5A 8D 28 04 + lda $0427 ; CPU:$AC5D PRG:2C5D AD 27 04 + adc #$00 ; CPU:$AC60 PRG:2C60 69 00 + cmp #$0A ; CPU:$AC62 PRG:2C62 C9 0A + bcc Sub_Loop108 ; CPU:$AC64 PRG:2C64 90 03 + sec ; CPU:$AC66 PRG:2C66 38 + sbc #$0A ; CPU:$AC67 PRG:2C67 E9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop108 +; Global: Branch target inside Sub: taken when Loop108. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop108: + sta $0427 ; CPU:$AC69 PRG:2C69 8D 27 04 + jsr Sub_AD39 ; CPU:$AC6C PRG:2C6C 20 39 AD + lda $042E ; CPU:$AC6F PRG:2C6F AD 2E 04 + bne Sub_Loop110 ; CPU:$AC72 PRG:2C72 D0 1A + lda $0428 ; CPU:$AC74 PRG:2C74 AD 28 04 + cmp #$02 ; CPU:$AC77 PRG:2C77 C9 02 + bcs Sub_Loop109 ; CPU:$AC79 PRG:2C79 B0 03 + jmp Sub_ACC8 ; CPU:$AC7B PRG:2C7B 4C C8 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop109 +; Global: Branch target inside Sub: taken when Loop109. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop109: + lda #$FF ; CPU:$AC7E PRG:2C7E A9 FF + sta $042E ; CPU:$AC80 PRG:2C80 8D 2E 04 + lda #$00 ; CPU:$AC83 PRG:2C83 A9 00 + sta $0430 ; CPU:$AC85 PRG:2C85 8D 30 04 + sta $042F ; CPU:$AC88 PRG:2C88 8D 2F 04 + jmp Sub_Loop112 ; CPU:$AC8B PRG:2C8B 4C A6 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop110 +; Global: Branch target inside Sub: taken when Loop110. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop110: + lda $0427 ; CPU:$AC8E PRG:2C8E AD 27 04 + cmp $042F ; CPU:$AC91 PRG:2C91 CD 2F 04 + beq Sub_Loop111 ; CPU:$AC94 PRG:2C94 F0 05 + bcs Sub_Loop112 ; CPU:$AC96 PRG:2C96 B0 0E + jmp Sub_ACC8 ; CPU:$AC98 PRG:2C98 4C C8 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop111 +; Global: Branch target inside Sub: taken when Loop111. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop111: + lda $0428 ; CPU:$AC9B PRG:2C9B AD 28 04 + cmp $0430 ; CPU:$AC9E PRG:2C9E CD 30 04 + bcs Sub_Loop112 ; CPU:$ACA1 PRG:2CA1 B0 03 + jmp Sub_ACC8 ; CPU:$ACA3 PRG:2CA3 4C C8 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop112 +; Global: Branch target inside Sub: taken when Loop112. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop112: + jsr Sub_AD0E ; CPU:$ACA6 PRG:2CA6 20 0E AD + lda $0430 ; CPU:$ACA9 PRG:2CA9 AD 30 04 + clc ; CPU:$ACAC PRG:2CAC 18 + adc #$08 ; CPU:$ACAD PRG:2CAD 69 08 + cmp #$0A ; CPU:$ACAF PRG:2CAF C9 0A + bcc Sub_Loop113 ; CPU:$ACB1 PRG:2CB1 90 12 + sec ; CPU:$ACB3 PRG:2CB3 38 + sbc #$0A ; CPU:$ACB4 PRG:2CB4 E9 0A + sta $0430 ; CPU:$ACB6 PRG:2CB6 8D 30 04 + lda $042F ; CPU:$ACB9 PRG:2CB9 AD 2F 04 + clc ; CPU:$ACBC PRG:2CBC 18 + adc #$01 ; CPU:$ACBD PRG:2CBD 69 01 + sta $042F ; CPU:$ACBF PRG:2CBF 8D 2F 04 + jmp Sub_ACC8 ; CPU:$ACC2 PRG:2CC2 4C C8 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop113 +; Global: Branch target inside Sub: taken when Loop113. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop113: + sta $0430 ; CPU:$ACC5 PRG:2CC5 8D 30 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_ACC8 +; Global: Branch target inside Sub: taken when ACC8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ACC8: + ldy #$00 ; CPU:$ACC8 PRG:2CC8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero13 +; Global: Branch target inside Sub: taken when OnNonzero13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero13: + lda $07BF,y ; CPU:$ACCA PRG:2CCA B9 BF 07 + cmp $0427,y ; CPU:$ACCD PRG:2CCD D9 27 04 + bcc Sub_Loop115 ; CPU:$ACD0 PRG:2CD0 90 0E + bne Sub_Loop114 ; CPU:$ACD2 PRG:2CD2 D0 05 + iny ; CPU:$ACD4 PRG:2CD4 C8 + cpy #$06 ; CPU:$ACD5 PRG:2CD5 C0 06 + bne Sub_OnNonzero13 ; CPU:$ACD7 PRG:2CD7 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop114 +; Global: Branch target inside Sub: taken when Loop114. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop114: + ldx $038B ; CPU:$ACD9 PRG:2CD9 AE 8B 03 + ldy $038C ; CPU:$ACDC PRG:2CDC AC 8C 03 + rts ; CPU:$ACDF PRG:2CDF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop115 +; Global: Branch target inside Sub: taken when Loop115. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop115: + ldy #$00 ; CPU:$ACE0 PRG:2CE0 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero14 +; Global: Branch target inside Sub: taken when OnNonzero14. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero14: + lda $0427,y ; CPU:$ACE2 PRG:2CE2 B9 27 04 + sta $07BF,y ; CPU:$ACE5 PRG:2CE5 99 BF 07 + iny ; CPU:$ACE8 PRG:2CE8 C8 + cpy #$06 ; CPU:$ACE9 PRG:2CE9 C0 06 + bne Sub_OnNonzero14 ; CPU:$ACEB PRG:2CEB D0 F5 + lda $0386 ; CPU:$ACED PRG:2CED AD 86 03 + bne Sub_Loop116 ; CPU:$ACF0 PRG:2CF0 D0 0E + ldy #$05 ; CPU:$ACF2 PRG:2CF2 A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative5 +; Global: Branch target inside Sub: taken when OnNonnegative5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative5: + lda $044A,y ; CPU:$ACF4 PRG:2CF4 B9 4A 04 + sta $07BF,y ; CPU:$ACF7 PRG:2CF7 99 BF 07 + dey ; CPU:$ACFA PRG:2CFA 88 + bpl Sub_OnNonnegative5 ; CPU:$ACFB PRG:2CFB 10 F7 + jmp Sub_Loop114 ; CPU:$ACFD PRG:2CFD 4C D9 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop116 +; Global: Branch target inside Sub: taken when Loop116. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop116: + ldy #$05 ; CPU:$AD00 PRG:2D00 A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative6 +; Global: Branch target inside Sub: taken when OnNonnegative6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative6: + lda $046B,y ; CPU:$AD02 PRG:2D02 B9 6B 04 + sta $07BF,y ; CPU:$AD05 PRG:2D05 99 BF 07 + dey ; CPU:$AD08 PRG:2D08 88 + bpl Sub_OnNonnegative6 ; CPU:$AD09 PRG:2D09 10 F7 + jmp Sub_Loop114 ; CPU:$AD0B PRG:2D0B 4C D9 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_AD0E +; Global: Branch target inside Sub: taken when AD0E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AD0E: + inc $0432 ; CPU:$AD0E PRG:2D0E EE 32 04 + lda $0432 ; CPU:$AD11 PRG:2D11 AD 32 04 + cmp #$0A ; CPU:$AD14 PRG:2D14 C9 0A + bcc Sub_Loop118 ; CPU:$AD16 PRG:2D16 90 17 + lda #$00 ; CPU:$AD18 PRG:2D18 A9 00 + sta $0432 ; CPU:$AD1A PRG:2D1A 8D 32 04 + lda $0431 ; CPU:$AD1D PRG:2D1D AD 31 04 + cmp #$09 ; CPU:$AD20 PRG:2D20 C9 09 + beq Sub_Loop117 ; CPU:$AD22 PRG:2D22 F0 06 + inc $0431 ; CPU:$AD24 PRG:2D24 EE 31 04 + jmp Sub_Loop118 ; CPU:$AD27 PRG:2D27 4C 2F AD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop117 +; Global: Branch target inside Sub: taken when Loop117. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop117: + lda #$09 ; CPU:$AD2A PRG:2D2A A9 09 + sta $0431 ; CPU:$AD2C PRG:2D2C 8D 31 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop118 +; Global: Branch target inside Sub: taken when Loop118. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop118: + lda #$10 ; CPU:$AD2F PRG:2D2F A9 10 + jsr Sub_A06B ; CPU:$AD31 PRG:2D31 20 6B A0 + lda #$11 ; CPU:$AD34 PRG:2D34 A9 11 + jmp Sub_A06B ; CPU:$AD36 PRG:2D36 4C 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_AD39 +; Global: Branch target inside Sub: taken when AD39. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AD39: + lda $0380 ; CPU:$AD39 PRG:2D39 AD 80 03 + cmp #$FF ; CPU:$AD3C PRG:2D3C C9 FF + bne Sub_Loop119 ; CPU:$AD3E PRG:2D3E D0 01 + rts ; CPU:$AD40 PRG:2D40 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop119 +; Global: Branch target inside Sub: taken when Loop119. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop119: + ldy #$00 ; CPU:$AD41 PRG:2D41 A0 00 + ldx #$00 ; CPU:$AD43 PRG:2D43 A2 00 + lda $0386 ; CPU:$AD45 PRG:2D45 AD 86 03 + bne Sub_Loop120 ; CPU:$AD48 PRG:2D48 D0 13 + lda #$4A ; CPU:$AD4A PRG:2D4A A9 4A + sta VramWritePtrLo ; CPU:$AD4C PRG:2D4C 85 8A + lda #$04 ; CPU:$AD4E PRG:2D4E A9 04 + sta VramWritePtrHi ; CPU:$AD50 PRG:2D50 85 8B + lda #$99 ; CPU:$AD52 PRG:2D52 A9 99 + sta PpuAddrLow ; CPU:$AD54 PRG:2D54 85 88 + lda #$AD ; CPU:$AD56 PRG:2D56 A9 AD + sta PpuAddrHigh ; CPU:$AD58 PRG:2D58 85 89 + jmp Sub_OnNonzero15 ; CPU:$AD5A PRG:2D5A 4C 6D AD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop120 +; Global: Branch target inside Sub: taken when Loop120. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop120: + lda #$6B ; CPU:$AD5D PRG:2D5D A9 6B + sta VramWritePtrLo ; CPU:$AD5F PRG:2D5F 85 8A + lda #$04 ; CPU:$AD61 PRG:2D61 A9 04 + sta VramWritePtrHi ; CPU:$AD63 PRG:2D63 85 8B + lda #$B1 ; CPU:$AD65 PRG:2D65 A9 B1 + sta PpuAddrLow ; CPU:$AD67 PRG:2D67 85 88 + lda #$AD ; CPU:$AD69 PRG:2D69 A9 AD + sta PpuAddrHigh ; CPU:$AD6B PRG:2D6B 85 89 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero15 +; Global: Branch target inside Sub: taken when OnNonzero15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero15: + lda $0427,x ; CPU:$AD6D PRG:2D6D BD 27 04 + and #$0F ; CPU:$AD70 PRG:2D70 29 0F + sta (VramWritePtrLo),y ; CPU:$AD72 PRG:2D72 91 8A + iny ; CPU:$AD74 PRG:2D74 C8 + inx ; CPU:$AD75 PRG:2D75 E8 + cpx #$06 ; CPU:$AD76 PRG:2D76 E0 06 + bne Sub_OnNonzero15 ; CPU:$AD78 PRG:2D78 D0 F3 + ldy #$00 ; CPU:$AD7A PRG:2D7A A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero16 +; Global: Branch target inside Sub: taken when OnNonzero16. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero16: + lda (PpuAddrLow),y ; CPU:$AD7C PRG:2D7C B1 88 + sta $020C,y ; CPU:$AD7E PRG:2D7E 99 0C 02 + iny ; CPU:$AD81 PRG:2D81 C8 + cpy #$18 ; CPU:$AD82 PRG:2D82 C0 18 + bne Sub_OnNonzero16 ; CPU:$AD84 PRG:2D84 D0 F6 + ldy #$00 ; CPU:$AD86 PRG:2D86 A0 00 + ldx #$01 ; CPU:$AD88 PRG:2D88 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero17 +; Global: Branch target inside Sub: taken when OnNonzero17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero17: + lda (VramWritePtrLo),y ; CPU:$AD8A PRG:2D8A B1 8A + sta $020C,x ; CPU:$AD8C PRG:2D8C 9D 0C 02 + iny ; CPU:$AD8F PRG:2D8F C8 + inx ; CPU:$AD90 PRG:2D90 E8 + inx ; CPU:$AD91 PRG:2D91 E8 + inx ; CPU:$AD92 PRG:2D92 E8 + inx ; CPU:$AD93 PRG:2D93 E8 + cpy #$06 ; CPU:$AD94 PRG:2D94 C0 06 + bne Sub_OnNonzero17 ; CPU:$AD96 PRG:2D96 D0 F2 + rts ; CPU:$AD98 PRG:2D98 60 +; ---- data $AD99-$ADC8 (48 bytes) ---- +SpriteOamAttributeTable: + .byte $20, $FF, $03, $20, $20, $FF, $03, $28, $20, $FF, $03, $30, $20, $FF, $03, $38 ; CPU:$AD99 PRG:-1267 20 FF 03 20 20 FF 03 28 20 FF 03 30 20 FF 03 38 + .byte $20, $FF, $03, $40, $20, $FF, $03, $48, $20, $FF, $03, $B0, $20, $FF, $03, $B8 ; CPU:$ADA9 PRG:2DA9 20 FF 03 40 20 FF 03 48 20 FF 03 B0 20 FF 03 B8 + .byte $20, $FF, $03, $C0, $20, $FF, $03, $C8, $20, $FF, $03, $D0, $20, $FF, $03, $D8 ; CPU:$ADB9 PRG:2DB9 20 FF 03 C0 20 FF 03 C8 20 FF 03 D0 20 FF 03 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_ADC9 +; Global: Branch target inside Sub: taken when ADC9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ADC9: + sty PlayerX ; CPU:$ADC9 PRG:2DC9 84 87 + jsr Sub_AEAD ; CPU:$ADCB PRG:2DCB 20 AD AE + sec ; CPU:$ADCE PRG:2DCE 38 + lda $039A ; CPU:$ADCF PRG:2DCF AD 9A 03 + sbc $0394 ; CPU:$ADD2 PRG:2DD2 ED 94 03 + sta $039A ; CPU:$ADD5 PRG:2DD5 8D 9A 03 + lda $0399 ; CPU:$ADD8 PRG:2DD8 AD 99 03 + sbc $0393 ; CPU:$ADDB PRG:2DDB ED 93 03 + sta $0399 ; CPU:$ADDE PRG:2DDE 8D 99 03 + sec ; CPU:$ADE1 PRG:2DE1 38 + lda $0397 ; CPU:$ADE2 PRG:2DE2 AD 97 03 + sbc $0391 ; CPU:$ADE5 PRG:2DE5 ED 91 03 + sta $0397 ; CPU:$ADE8 PRG:2DE8 8D 97 03 + lda $0396 ; CPU:$ADEB PRG:2DEB AD 96 03 + sbc $0390 ; CPU:$ADEE PRG:2DEE ED 90 03 + sta $0396 ; CPU:$ADF1 PRG:2DF1 8D 96 03 + bmi Sub_Loop122 ; CPU:$ADF4 PRG:2DF4 30 12 + lda $0399 ; CPU:$ADF6 PRG:2DF6 AD 99 03 + bmi Sub_Loop121 ; CPU:$ADF9 PRG:2DF9 30 05 + lda #$04 ; CPU:$ADFB PRG:2DFB A9 04 + jmp Sub_AE17 ; CPU:$ADFD PRG:2DFD 4C 17 AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop121 +; Global: Branch target inside Sub: taken when Loop121. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop121: + jsr Sub_AE8C ; CPU:$AE00 PRG:2E00 20 8C AE + lda #$00 ; CPU:$AE03 PRG:2E03 A9 00 + jmp Sub_AE17 ; CPU:$AE05 PRG:2E05 4C 17 AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop122 +; Global: Branch target inside Sub: taken when Loop122. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop122: + lda $0399 ; CPU:$AE08 PRG:2E08 AD 99 03 + bmi Sub_Loop123 ; CPU:$AE0B PRG:2E0B 30 08 + jsr Sub_AE8C ; CPU:$AE0D PRG:2E0D 20 8C AE + lda #$08 ; CPU:$AE10 PRG:2E10 A9 08 + jmp Sub_AE17 ; CPU:$AE12 PRG:2E12 4C 17 AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop123 +; Global: Branch target inside Sub: taken when Loop123. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop123: + lda #$0C ; CPU:$AE15 PRG:2E15 A9 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_AE17 +; Global: Branch target inside Sub: taken when AE17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE17: + sta PlayerY ; CPU:$AE17 PRG:2E17 85 86 + lda $0399 ; CPU:$AE19 PRG:2E19 AD 99 03 + bpl Sub_Loop124 ; CPU:$AE1C PRG:2E1C 10 11 + lda #$00 ; CPU:$AE1E PRG:2E1E A9 00 + sec ; CPU:$AE20 PRG:2E20 38 + sbc $039A ; CPU:$AE21 PRG:2E21 ED 9A 03 + sta $039A ; CPU:$AE24 PRG:2E24 8D 9A 03 + lda #$00 ; CPU:$AE27 PRG:2E27 A9 00 + sbc $0399 ; CPU:$AE29 PRG:2E29 ED 99 03 + sta $0399 ; CPU:$AE2C PRG:2E2C 8D 99 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop124 +; Global: Branch target inside Sub: taken when Loop124. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop124: + lda $0396 ; CPU:$AE2F PRG:2E2F AD 96 03 + bpl Sub_Loop125 ; CPU:$AE32 PRG:2E32 10 11 + lda #$00 ; CPU:$AE34 PRG:2E34 A9 00 + sec ; CPU:$AE36 PRG:2E36 38 + sbc $0397 ; CPU:$AE37 PRG:2E37 ED 97 03 + sta $0397 ; CPU:$AE3A PRG:2E3A 8D 97 03 + lda #$00 ; CPU:$AE3D PRG:2E3D A9 00 + sbc $0396 ; CPU:$AE3F PRG:2E3F ED 96 03 + sta $0396 ; CPU:$AE42 PRG:2E42 8D 96 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop125 +; Global: Branch target inside Sub: taken when Loop125. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop125: + lda $0399 ; CPU:$AE45 PRG:2E45 AD 99 03 + bne Sub_Loop126 ; CPU:$AE48 PRG:2E48 D0 05 + lda $0396 ; CPU:$AE4A PRG:2E4A AD 96 03 + beq Sub_Loop127 ; CPU:$AE4D PRG:2E4D F0 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop126 +; Global: Branch target inside Sub: taken when Loop126. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop126: + lsr $0399 ; CPU:$AE4F PRG:2E4F 4E 99 03 + ror $039A ; CPU:$AE52 PRG:2E52 6E 9A 03 + lsr $0396 ; CPU:$AE55 PRG:2E55 4E 96 03 + ror $0397 ; CPU:$AE58 PRG:2E58 6E 97 03 + jmp Sub_Loop125 ; CPU:$AE5B PRG:2E5B 4C 45 AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop127 +; Global: Branch target inside Sub: taken when Loop127. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop127: + lda $039A ; CPU:$AE5E PRG:2E5E AD 9A 03 + and #$F0 ; CPU:$AE61 PRG:2E61 29 F0 + bne Sub_Loop128 ; CPU:$AE63 PRG:2E63 D0 07 + lda $0397 ; CPU:$AE65 PRG:2E65 AD 97 03 + and #$F0 ; CPU:$AE68 PRG:2E68 29 F0 + beq Sub_Loop129 ; CPU:$AE6A PRG:2E6A F0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop128 +; Global: Branch target inside Sub: taken when Loop128. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop128: + lsr $039A ; CPU:$AE6C PRG:2E6C 4E 9A 03 + lsr $0397 ; CPU:$AE6F PRG:2E6F 4E 97 03 + jmp Sub_Loop127 ; CPU:$AE72 PRG:2E72 4C 5E AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop129 +; Global: Branch target inside Sub: taken when Loop129. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop129: + lda $039A ; CPU:$AE75 PRG:2E75 AD 9A 03 + asl a ; CPU:$AE78 PRG:2E78 0A + asl a ; CPU:$AE79 PRG:2E79 0A + asl a ; CPU:$AE7A PRG:2E7A 0A + asl a ; CPU:$AE7B PRG:2E7B 0A + clc ; CPU:$AE7C PRG:2E7C 18 + adc $0397 ; CPU:$AE7D PRG:2E7D 6D 97 03 + tay ; CPU:$AE80 PRG:2E80 A8 + lda $B1FB,y ; CPU:$AE81 PRG:2E81 B9 FB B1 + clc ; CPU:$AE84 PRG:2E84 18 + adc PlayerY ; CPU:$AE85 PRG:2E85 65 86 + and #$0F ; CPU:$AE87 PRG:2E87 29 0F + ldy PlayerX ; CPU:$AE89 PRG:2E89 A4 87 + rts ; CPU:$AE8B PRG:2E8B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AE8C +; Global: Branch target inside Sub: taken when AE8C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE8C: + lda $0399 ; CPU:$AE8C PRG:2E8C AD 99 03 + sta VramWritePtrHi ; CPU:$AE8F PRG:2E8F 85 8B + lda $039A ; CPU:$AE91 PRG:2E91 AD 9A 03 + sta VramWritePtrLo ; CPU:$AE94 PRG:2E94 85 8A + lda $0396 ; CPU:$AE96 PRG:2E96 AD 96 03 + sta $0399 ; CPU:$AE99 PRG:2E99 8D 99 03 + lda $0397 ; CPU:$AE9C PRG:2E9C AD 97 03 + sta $039A ; CPU:$AE9F PRG:2E9F 8D 9A 03 + lda VramWritePtrHi ; CPU:$AEA2 PRG:2EA2 A5 8B + sta $0396 ; CPU:$AEA4 PRG:2EA4 8D 96 03 + lda VramWritePtrLo ; CPU:$AEA7 PRG:2EA7 A5 8A + sta $0397 ; CPU:$AEA9 PRG:2EA9 8D 97 03 + rts ; CPU:$AEAC PRG:2EAC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEAD +; Global: Branch target inside Sub: taken when AEAD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEAD: + lda $0396 ; CPU:$AEAD PRG:2EAD AD 96 03 + clc ; CPU:$AEB0 PRG:2EB0 18 + adc $0390 ; CPU:$AEB1 PRG:2EB1 6D 90 03 + cmp #$07 ; CPU:$AEB4 PRG:2EB4 C9 07 + bne Sub_Loop131 ; CPU:$AEB6 PRG:2EB6 D0 17 + lda $0396 ; CPU:$AEB8 PRG:2EB8 AD 96 03 + bne Sub_Loop130 ; CPU:$AEBB PRG:2EBB D0 08 + lda #$FF ; CPU:$AEBD PRG:2EBD A9 FF + sta $0390 ; CPU:$AEBF PRG:2EBF 8D 90 03 + jmp Sub_Loop131 ; CPU:$AEC2 PRG:2EC2 4C CF AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop130 +; Global: Branch target inside Sub: taken when Loop130. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop130: + lda $0390 ; CPU:$AEC5 PRG:2EC5 AD 90 03 + bne Sub_Loop131 ; CPU:$AEC8 PRG:2EC8 D0 05 + lda #$FF ; CPU:$AECA PRG:2ECA A9 FF + sta $0396 ; CPU:$AECC PRG:2ECC 8D 96 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop131 +; Global: Branch target inside Sub: taken when Loop131. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop131: + lda $0399 ; CPU:$AECF PRG:2ECF AD 99 03 + clc ; CPU:$AED2 PRG:2ED2 18 + adc $0393 ; CPU:$AED3 PRG:2ED3 6D 93 03 + cmp #$07 ; CPU:$AED6 PRG:2ED6 C9 07 + bne Sub_Loop133 ; CPU:$AED8 PRG:2ED8 D0 15 + lda $0399 ; CPU:$AEDA PRG:2EDA AD 99 03 + bne Sub_Loop132 ; CPU:$AEDD PRG:2EDD D0 06 + lda #$FF ; CPU:$AEDF PRG:2EDF A9 FF + sta $0393 ; CPU:$AEE1 PRG:2EE1 8D 93 03 + rts ; CPU:$AEE4 PRG:2EE4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop132 +; Global: Branch target inside Sub: taken when Loop132. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop132: + lda $0393 ; CPU:$AEE5 PRG:2EE5 AD 93 03 + bne Sub_Loop133 ; CPU:$AEE8 PRG:2EE8 D0 05 + lda #$FF ; CPU:$AEEA PRG:2EEA A9 FF + sta $0399 ; CPU:$AEEC PRG:2EEC 8D 99 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop133 +; Global: Branch target inside Sub: taken when Loop133. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop133: + rts ; CPU:$AEEF PRG:2EEF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEF0 +; Global: Branch target inside Sub: taken when AEF0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEF0: + sty $038C ; CPU:$AEF0 PRG:2EF0 8C 8C 03 + lda PlayerY ; CPU:$AEF3 PRG:2EF3 A5 86 + and #$0F ; CPU:$AEF5 PRG:2EF5 29 0F + asl a ; CPU:$AEF7 PRG:2EF7 0A + asl a ; CPU:$AEF8 PRG:2EF8 0A + tay ; CPU:$AEF9 PRG:2EF9 A8 + jsr Sub_AF55 ; CPU:$AEFA PRG:2EFA 20 55 AF + adc $0397 ; CPU:$AEFD PRG:2EFD 6D 97 03 + sta $0397 ; CPU:$AF00 PRG:2F00 8D 97 03 + lda $038B ; CPU:$AF03 PRG:2F03 AD 8B 03 + adc $0396 ; CPU:$AF06 PRG:2F06 6D 96 03 + and #$01 ; CPU:$AF09 PRG:2F09 29 01 + sta $0396 ; CPU:$AF0B PRG:2F0B 8D 96 03 + jsr Sub_AF55 ; CPU:$AF0E PRG:2F0E 20 55 AF + adc $039A ; CPU:$AF11 PRG:2F11 6D 9A 03 + sta $039A ; CPU:$AF14 PRG:2F14 8D 9A 03 + lda $038B ; CPU:$AF17 PRG:2F17 AD 8B 03 + adc $0399 ; CPU:$AF1A PRG:2F1A 6D 99 03 + cmp $0399 ; CPU:$AF1D PRG:2F1D CD 99 03 + sta $0399 ; CPU:$AF20 PRG:2F20 8D 99 03 + bne Sub_Loop134 ; CPU:$AF23 PRG:2F23 D0 10 + lda $039A ; CPU:$AF25 PRG:2F25 AD 9A 03 + cmp #$F0 ; CPU:$AF28 PRG:2F28 C9 F0 + bcc Sub_Loop136 ; CPU:$AF2A PRG:2F2A 90 1A + clc ; CPU:$AF2C PRG:2F2C 18 + adc #$10 ; CPU:$AF2D PRG:2F2D 69 10 + inc $0399 ; CPU:$AF2F PRG:2F2F EE 99 03 + jmp Sub_Loop136 ; CPU:$AF32 PRG:2F32 4C 46 AF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop134 +; Global: Branch target inside Sub: taken when Loop134. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop134: + bcs Sub_Loop135 ; CPU:$AF35 PRG:2F35 B0 09 + lda $039A ; CPU:$AF37 PRG:2F37 AD 9A 03 + sec ; CPU:$AF3A PRG:2F3A 38 + sbc #$10 ; CPU:$AF3B PRG:2F3B E9 10 + jmp Sub_Loop136 ; CPU:$AF3D PRG:2F3D 4C 46 AF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop135 +; Global: Branch target inside Sub: taken when Loop135. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop135: + lda $039A ; CPU:$AF40 PRG:2F40 AD 9A 03 + clc ; CPU:$AF43 PRG:2F43 18 + adc #$10 ; CPU:$AF44 PRG:2F44 69 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop136 +; Global: Branch target inside Sub: taken when Loop136. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop136: + sta $039A ; CPU:$AF46 PRG:2F46 8D 9A 03 + lda $0399 ; CPU:$AF49 PRG:2F49 AD 99 03 + and #$01 ; CPU:$AF4C PRG:2F4C 29 01 + sta $0399 ; CPU:$AF4E PRG:2F4E 8D 99 03 + ldy $038C ; CPU:$AF51 PRG:2F51 AC 8C 03 + rts ; CPU:$AF54 PRG:2F54 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF55 +; Global: Branch target inside Sub: taken when AF55. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF55: + lda $B33B,y ; CPU:$AF55 PRG:2F55 B9 3B B3 + sta VramWritePtrLo ; CPU:$AF58 PRG:2F58 85 8A + iny ; CPU:$AF5A PRG:2F5A C8 + lda #$00 ; CPU:$AF5B PRG:2F5B A9 00 + sta $038B ; CPU:$AF5D PRG:2F5D 8D 8B 03 + lda $B33B,y ; CPU:$AF60 PRG:2F60 B9 3B B3 + sta VramWritePtrHi ; CPU:$AF63 PRG:2F63 85 8B + bpl Sub_Loop137 ; CPU:$AF65 PRG:2F65 10 05 + lda #$FF ; CPU:$AF67 PRG:2F67 A9 FF + sta $038B ; CPU:$AF69 PRG:2F69 8D 8B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop137 +; Global: Branch target inside Sub: taken when Loop137. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop137: + iny ; CPU:$AF6C PRG:2F6C C8 + lda Zp85 ; CPU:$AF6D PRG:2F6D A5 85 + pha ; CPU:$AF6F PRG:2F6F 48 + jsr Sub_A855 ; CPU:$AF70 PRG:2F70 20 55 A8 + pla ; CPU:$AF73 PRG:2F73 68 + sta Zp85 ; CPU:$AF74 PRG:2F74 85 85 + lda VramWritePtrHi ; CPU:$AF76 PRG:2F76 A5 8B + clc ; CPU:$AF78 PRG:2F78 18 + rts ; CPU:$AF79 PRG:2F79 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF7A +; Global: Branch target inside Sub: taken when AF7A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF7A: + sta PlayerY ; CPU:$AF7A PRG:2F7A 85 86 + sty PlayerX ; CPU:$AF7C PRG:2F7C 84 87 + lda #$B2 ; CPU:$AF7E PRG:2F7E A9 B2 + ldy #$FB ; CPU:$AF80 PRG:2F80 A0 FB + sta VramWritePtrHi ; CPU:$AF82 PRG:2F82 85 8B + sty VramWritePtrLo ; CPU:$AF84 PRG:2F84 84 8A + lda $050B,x ; CPU:$AF86 PRG:2F86 BD 0B 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF89 +; Global: Branch target inside Sub: taken when AF89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF89: + asl a ; CPU:$AF89 PRG:2F89 0A + asl a ; CPU:$AF8A PRG:2F8A 0A + tay ; CPU:$AF8B PRG:2F8B A8 + lda #$00 ; CPU:$AF8C PRG:2F8C A9 00 + sta $0399 ; CPU:$AF8E PRG:2F8E 8D 99 03 + sta $0396 ; CPU:$AF91 PRG:2F91 8D 96 03 + lda (VramWritePtrLo),y ; CPU:$AF94 PRG:2F94 B1 8A + sta $039B ; CPU:$AF96 PRG:2F96 8D 9B 03 + iny ; CPU:$AF99 PRG:2F99 C8 + lda (VramWritePtrLo),y ; CPU:$AF9A PRG:2F9A B1 8A + sta $039A ; CPU:$AF9C PRG:2F9C 8D 9A 03 + bpl Sub_Loop138 ; CPU:$AF9F PRG:2F9F 10 05 + lda #$FF ; CPU:$AFA1 PRG:2FA1 A9 FF + sta $0399 ; CPU:$AFA3 PRG:2FA3 8D 99 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop138 +; Global: Branch target inside Sub: taken when Loop138. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop138: + iny ; CPU:$AFA6 PRG:2FA6 C8 + lda (VramWritePtrLo),y ; CPU:$AFA7 PRG:2FA7 B1 8A + sta $0398 ; CPU:$AFA9 PRG:2FA9 8D 98 03 + iny ; CPU:$AFAC PRG:2FAC C8 + lda (VramWritePtrLo),y ; CPU:$AFAD PRG:2FAD B1 8A + sta $0397 ; CPU:$AFAF PRG:2FAF 8D 97 03 + bpl Sub_Loop139 ; CPU:$AFB2 PRG:2FB2 10 05 + lda #$FF ; CPU:$AFB4 PRG:2FB4 A9 FF + sta $0396 ; CPU:$AFB6 PRG:2FB6 8D 96 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop139 +; Global: Branch target inside Sub: taken when Loop139. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop139: + lda $039B ; CPU:$AFB9 PRG:2FB9 AD 9B 03 + sta $0732 ; CPU:$AFBC PRG:2FBC 8D 32 07 + lda $039A ; CPU:$AFBF PRG:2FBF AD 9A 03 + sta $0731 ; CPU:$AFC2 PRG:2FC2 8D 31 07 + lda $0399 ; CPU:$AFC5 PRG:2FC5 AD 99 03 + sta $0733 ; CPU:$AFC8 PRG:2FC8 8D 33 07 + lda $0398 ; CPU:$AFCB PRG:2FCB AD 98 03 + sta $0734 ; CPU:$AFCE PRG:2FCE 8D 34 07 + lda $0397 ; CPU:$AFD1 PRG:2FD1 AD 97 03 + sta $038C ; CPU:$AFD4 PRG:2FD4 8D 8C 03 + lda $0396 ; CPU:$AFD7 PRG:2FD7 AD 96 03 + sta $038B ; CPU:$AFDA PRG:2FDA 8D 8B 03 + lda #$00 ; CPU:$AFDD PRG:2FDD A9 00 + sta $039B ; CPU:$AFDF PRG:2FDF 8D 9B 03 + sta $039A ; CPU:$AFE2 PRG:2FE2 8D 9A 03 + sta $0399 ; CPU:$AFE5 PRG:2FE5 8D 99 03 + sta $0398 ; CPU:$AFE8 PRG:2FE8 8D 98 03 + sta $0397 ; CPU:$AFEB PRG:2FEB 8D 97 03 + sta $0396 ; CPU:$AFEE PRG:2FEE 8D 96 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero18 +; Global: Branch target inside Sub: taken when OnNonzero18. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero18: + clc ; CPU:$AFF1 PRG:2FF1 18 + lda $0732 ; CPU:$AFF2 PRG:2FF2 AD 32 07 + adc $039B ; CPU:$AFF5 PRG:2FF5 6D 9B 03 + sta $039B ; CPU:$AFF8 PRG:2FF8 8D 9B 03 + lda $0731 ; CPU:$AFFB PRG:2FFB AD 31 07 + adc $039A ; CPU:$AFFE PRG:2FFE 6D 9A 03 + sta $039A ; CPU:$B001 PRG:3001 8D 9A 03 + lda $0733 ; CPU:$B004 PRG:3004 AD 33 07 + adc $0399 ; CPU:$B007 PRG:3007 6D 99 03 + sta $0399 ; CPU:$B00A PRG:300A 8D 99 03 + clc ; CPU:$B00D PRG:300D 18 + lda $0734 ; CPU:$B00E PRG:300E AD 34 07 + adc $0398 ; CPU:$B011 PRG:3011 6D 98 03 + sta $0398 ; CPU:$B014 PRG:3014 8D 98 03 + lda $038C ; CPU:$B017 PRG:3017 AD 8C 03 + adc $0397 ; CPU:$B01A PRG:301A 6D 97 03 + sta $0397 ; CPU:$B01D PRG:301D 8D 97 03 + lda $038B ; CPU:$B020 PRG:3020 AD 8B 03 + adc $0396 ; CPU:$B023 PRG:3023 6D 96 03 + sta $0396 ; CPU:$B026 PRG:3026 8D 96 03 + dec PlayerY ; CPU:$B029 PRG:3029 C6 86 + bne Sub_OnNonzero18 ; CPU:$B02B PRG:302B D0 C4 + rts ; CPU:$B02D PRG:302D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B02E +; Global: Branch target inside Label: taken when B02E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B02E: + sta PlayerY ; CPU:$B02E PRG:302E 85 86 + sty PlayerX ; CPU:$B030 PRG:3030 84 87 + lda #$B2 ; CPU:$B032 PRG:3032 A9 B2 + ldy #$FB ; CPU:$B034 PRG:3034 A0 FB + sta VramWritePtrHi ; CPU:$B036 PRG:3036 85 8B + sty VramWritePtrLo ; CPU:$B038 PRG:3038 84 8A + lda $050B,x ; CPU:$B03A PRG:303A BD 0B 05 + clc ; CPU:$B03D PRG:303D 18 + adc #$08 ; CPU:$B03E PRG:303E 69 08 + and #$0F ; CPU:$B040 PRG:3040 29 0F + jsr Sub_AF89 ; CPU:$B042 PRG:3042 20 89 AF + jmp Sub_B04B ; CPU:$B045 PRG:3045 4C 4B B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_B048 +; Global: Branch target inside Sub: taken when B048. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B048: + jsr Sub_AF7A ; CPU:$B048 PRG:3048 20 7A AF +; ----------------------------------------------------------------------------- +; Routine: Sub_B04B +; Global: Branch target inside Sub: taken when B04B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B04B: + clc ; CPU:$B04B PRG:304B 18 + lda $039B ; CPU:$B04C PRG:304C AD 9B 03 + adc $0556,x ; CPU:$B04F PRG:304F 7D 56 05 + sta $0556,x ; CPU:$B052 PRG:3052 9D 56 05 + lda $039A ; CPU:$B055 PRG:3055 AD 9A 03 + adc $053D,x ; CPU:$B058 PRG:3058 7D 3D 05 + sta $053D,x ; CPU:$B05B PRG:305B 9D 3D 05 + lda $0399 ; CPU:$B05E PRG:305E AD 99 03 + adc $0524,x ; CPU:$B061 PRG:3061 7D 24 05 + sta $0399 ; CPU:$B064 PRG:3064 8D 99 03 + cmp $0524,x ; CPU:$B067 PRG:3067 DD 24 05 + beq Sub_Loop140 ; CPU:$B06A PRG:306A F0 0C + sec ; CPU:$B06C PRG:306C 38 + lda $053D,x ; CPU:$B06D PRG:306D BD 3D 05 + sbc #$10 ; CPU:$B070 PRG:3070 E9 10 + sta $053D,x ; CPU:$B072 PRG:3072 9D 3D 05 + jmp Sub_Loop141 ; CPU:$B075 PRG:3075 4C 87 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop140 +; Global: Branch target inside Sub: taken when Loop140. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop140: + lda $053D,x ; CPU:$B078 PRG:3078 BD 3D 05 + cmp #$F0 ; CPU:$B07B PRG:307B C9 F0 + bcc Sub_Loop141 ; CPU:$B07D PRG:307D 90 08 + adc #$10 ; CPU:$B07F PRG:307F 69 10 + sta $053D,x ; CPU:$B081 PRG:3081 9D 3D 05 + inc $0399 ; CPU:$B084 PRG:3084 EE 99 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop141 +; Global: Branch target inside Sub: taken when Loop141. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop141: + lda $0399 ; CPU:$B087 PRG:3087 AD 99 03 + and #$01 ; CPU:$B08A PRG:308A 29 01 + sta $0524,x ; CPU:$B08C PRG:308C 9D 24 05 + lda $0398 ; CPU:$B08F PRG:308F AD 98 03 + clc ; CPU:$B092 PRG:3092 18 + adc $05A1,x ; CPU:$B093 PRG:3093 7D A1 05 + sta $05A1,x ; CPU:$B096 PRG:3096 9D A1 05 + lda $0397 ; CPU:$B099 PRG:3099 AD 97 03 + adc $0588,x ; CPU:$B09C PRG:309C 7D 88 05 + sta $0588,x ; CPU:$B09F PRG:309F 9D 88 05 + lda $0396 ; CPU:$B0A2 PRG:30A2 AD 96 03 + adc $056F,x ; CPU:$B0A5 PRG:30A5 7D 6F 05 + and #$01 ; CPU:$B0A8 PRG:30A8 29 01 + sta $056F,x ; CPU:$B0AA PRG:30AA 9D 6F 05 + ldy PlayerX ; CPU:$B0AD PRG:30AD A4 87 + rts ; CPU:$B0AF PRG:30AF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B0B0 +; Global: Branch target inside Label: taken when B0B0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B0B0: + lda $05A1,x ; CPU:$B0B0 PRG:30B0 BD A1 05 + sta $0392 ; CPU:$B0B3 PRG:30B3 8D 92 03 + lda $0556,x ; CPU:$B0B6 PRG:30B6 BD 56 05 + sta $0395 ; CPU:$B0B9 PRG:30B9 8D 95 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_B0BC +; Global: Branch target inside Sub: taken when B0BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B0BC: + lda $0588,x ; CPU:$B0BC PRG:30BC BD 88 05 + sta $0391 ; CPU:$B0BF PRG:30BF 8D 91 03 + lda $056F,x ; CPU:$B0C2 PRG:30C2 BD 6F 05 + and #$01 ; CPU:$B0C5 PRG:30C5 29 01 + sta $0390 ; CPU:$B0C7 PRG:30C7 8D 90 03 + lda $053D,x ; CPU:$B0CA PRG:30CA BD 3D 05 + sta $0394 ; CPU:$B0CD PRG:30CD 8D 94 03 + lda $0524,x ; CPU:$B0D0 PRG:30D0 BD 24 05 + and #$01 ; CPU:$B0D3 PRG:30D3 29 01 + sta $0393 ; CPU:$B0D5 PRG:30D5 8D 93 03 + rts ; CPU:$B0D8 PRG:30D8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B0D9 +; Global: Branch target inside Label: taken when B0D9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B0D9: + lda $0556,y ; CPU:$B0D9 PRG:30D9 B9 56 05 + sta $039B ; CPU:$B0DC PRG:30DC 8D 9B 03 + lda $05A1,y ; CPU:$B0DF PRG:30DF B9 A1 05 + sta $0398 ; CPU:$B0E2 PRG:30E2 8D 98 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_B0E5 +; Global: Branch target inside Sub: taken when B0E5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B0E5: + lda $0588,y ; CPU:$B0E5 PRG:30E5 B9 88 05 + sta $0397 ; CPU:$B0E8 PRG:30E8 8D 97 03 + lda $056F,y ; CPU:$B0EB PRG:30EB B9 6F 05 + and #$01 ; CPU:$B0EE PRG:30EE 29 01 + sta $0396 ; CPU:$B0F0 PRG:30F0 8D 96 03 + lda $053D,y ; CPU:$B0F3 PRG:30F3 B9 3D 05 + sta $039A ; CPU:$B0F6 PRG:30F6 8D 9A 03 + lda $0524,y ; CPU:$B0F9 PRG:30F9 B9 24 05 + and #$01 ; CPU:$B0FC PRG:30FC 29 01 + sta $0399 ; CPU:$B0FE PRG:30FE 8D 99 03 + rts ; CPU:$B101 PRG:3101 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B102 +; Global: Branch target inside Sub: taken when B102. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B102: + lda $061E,x ; CPU:$B102 PRG:3102 BD 1E 06 + sta $0397 ; CPU:$B105 PRG:3105 8D 97 03 + lda $0605,x ; CPU:$B108 PRG:3108 BD 05 06 + and #$01 ; CPU:$B10B PRG:310B 29 01 + sta $0396 ; CPU:$B10D PRG:310D 8D 96 03 + lda $0650,x ; CPU:$B110 PRG:3110 BD 50 06 + sta $039A ; CPU:$B113 PRG:3113 8D 9A 03 + lda $0637,x ; CPU:$B116 PRG:3116 BD 37 06 + and #$01 ; CPU:$B119 PRG:3119 29 01 + sta $0399 ; CPU:$B11B PRG:311B 8D 99 03 + rts ; CPU:$B11E PRG:311E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B11F +; Global: Branch target inside Sub: taken when B11F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B11F: + jsr Sub_B12B ; CPU:$B11F PRG:311F 20 2B B1 + jmp Sub_B148 ; CPU:$B122 PRG:3122 4C 48 B1 +; ----------------------------------------------------------------------------- +; Routine: Label_B125 +; Global: Branch target inside Label: taken when B125. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B125: + jsr Sub_B12E ; CPU:$B125 PRG:3125 20 2E B1 + jmp Sub_B14B ; CPU:$B128 PRG:3128 4C 4B B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_B12B +; Global: Branch target inside Sub: taken when B12B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B12B: + sec ; CPU:$B12B PRG:312B 38 + bcs Sub_Loop142 ; CPU:$B12C PRG:312C B0 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_B12E +; Global: Branch target inside Sub: taken when B12E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B12E: + sec ; CPU:$B12E PRG:312E 38 + lda $0392 ; CPU:$B12F PRG:312F AD 92 03 + sbc $0398 ; CPU:$B132 PRG:3132 ED 98 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop142 +; Global: Branch target inside Sub: taken when Loop142. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop142: + lda $0391 ; CPU:$B135 PRG:3135 AD 91 03 + sbc $0397 ; CPU:$B138 PRG:3138 ED 97 03 + sta $0397 ; CPU:$B13B PRG:313B 8D 97 03 + lda $0390 ; CPU:$B13E PRG:313E AD 90 03 + sbc $0396 ; CPU:$B141 PRG:3141 ED 96 03 + sta $0396 ; CPU:$B144 PRG:3144 8D 96 03 + rts ; CPU:$B147 PRG:3147 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B148 +; Global: Branch target inside Sub: taken when B148. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B148: + sec ; CPU:$B148 PRG:3148 38 + bcs Sub_Loop143 ; CPU:$B149 PRG:3149 B0 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_B14B +; Global: Branch target inside Sub: taken when B14B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B14B: + sec ; CPU:$B14B PRG:314B 38 + lda $0395 ; CPU:$B14C PRG:314C AD 95 03 + sbc $039B ; CPU:$B14F PRG:314F ED 9B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop143 +; Global: Branch target inside Sub: taken when Loop143. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop143: + lda $0394 ; CPU:$B152 PRG:3152 AD 94 03 + sbc $039A ; CPU:$B155 PRG:3155 ED 9A 03 + sta $039A ; CPU:$B158 PRG:3158 8D 9A 03 + lda $0393 ; CPU:$B15B PRG:315B AD 93 03 + sbc $0399 ; CPU:$B15E PRG:315E ED 99 03 + sta $0399 ; CPU:$B161 PRG:3161 8D 99 03 + rts ; CPU:$B164 PRG:3164 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B165 +; Global: Branch target inside Label: taken when B165. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B165: + lda #$00 ; CPU:$B165 PRG:3165 A9 00 + sta $0398 ; CPU:$B167 PRG:3167 8D 98 03 + lda #$00 ; CPU:$B16A PRG:316A A9 00 + sta $039B ; CPU:$B16C PRG:316C 8D 9B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_B16F +; Global: Branch target inside Sub: taken when B16F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B16F: + lda #$80 ; CPU:$B16F PRG:316F A9 80 + sta $0397 ; CPU:$B171 PRG:3171 8D 97 03 + lda #$00 ; CPU:$B174 PRG:3174 A9 00 + and #$01 ; CPU:$B176 PRG:3176 29 01 + sta $0396 ; CPU:$B178 PRG:3178 8D 96 03 + lda #$70 ; CPU:$B17B PRG:317B A9 70 + sta $039A ; CPU:$B17D PRG:317D 8D 9A 03 + lda #$00 ; CPU:$B180 PRG:3180 A9 00 + and #$01 ; CPU:$B182 PRG:3182 29 01 + sta $0399 ; CPU:$B184 PRG:3184 8D 99 03 + rts ; CPU:$B187 PRG:3187 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B188 +; Global: Branch target inside Label: taken when B188. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B188: + lda $039A ; CPU:$B188 PRG:3188 AD 9A 03 + sta $053D,x ; CPU:$B18B PRG:318B 9D 3D 05 + lda $0399 ; CPU:$B18E PRG:318E AD 99 03 + and #$01 ; CPU:$B191 PRG:3191 29 01 + sta $0524,x ; CPU:$B193 PRG:3193 9D 24 05 + lda $0397 ; CPU:$B196 PRG:3196 AD 97 03 + sta $0588,x ; CPU:$B199 PRG:3199 9D 88 05 + lda $0396 ; CPU:$B19C PRG:319C AD 96 03 + and #$01 ; CPU:$B19F PRG:319F 29 01 + sta $056F,x ; CPU:$B1A1 PRG:31A1 9D 6F 05 + rts ; CPU:$B1A4 PRG:31A4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B1A5 +; Global: Branch target inside Label: taken when B1A5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1A5: + lda $0556,x ; CPU:$B1A5 PRG:31A5 BD 56 05 + sta $0556,y ; CPU:$B1A8 PRG:31A8 99 56 05 + lda $053D,x ; CPU:$B1AB PRG:31AB BD 3D 05 + sta $053D,y ; CPU:$B1AE PRG:31AE 99 3D 05 + lda $0524,x ; CPU:$B1B1 PRG:31B1 BD 24 05 + and #$01 ; CPU:$B1B4 PRG:31B4 29 01 + sta $0524,y ; CPU:$B1B6 PRG:31B6 99 24 05 + lda $05A1,x ; CPU:$B1B9 PRG:31B9 BD A1 05 + sta $05A1,y ; CPU:$B1BC PRG:31BC 99 A1 05 + lda $0588,x ; CPU:$B1BF PRG:31BF BD 88 05 + sta $0588,y ; CPU:$B1C2 PRG:31C2 99 88 05 + lda $056F,x ; CPU:$B1C5 PRG:31C5 BD 6F 05 + and #$01 ; CPU:$B1C8 PRG:31C8 29 01 + sta $056F,y ; CPU:$B1CA PRG:31CA 99 6F 05 + rts ; CPU:$B1CD PRG:31CD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B1CE +; Global: Branch target inside Label: taken when B1CE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1CE: + jsr Sub_B0E5 ; CPU:$B1CE PRG:31CE 20 E5 B0 + jsr Sub_B0BC ; CPU:$B1D1 PRG:31D1 20 BC B0 + jmp Sub_B11F ; CPU:$B1D4 PRG:31D4 4C 1F B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1D7 +; Global: Branch target inside Sub: taken when B1D7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1D7: + jsr Sub_B0BC ; CPU:$B1D7 PRG:31D7 20 BC B0 + jsr Sub_B16F ; CPU:$B1DA PRG:31DA 20 6F B1 + jsr Sub_B11F ; CPU:$B1DD PRG:31DD 20 1F B1 + lda $0524,x ; CPU:$B1E0 PRG:31E0 BD 24 05 + beq Sub_Loop144 ; CPU:$B1E3 PRG:31E3 F0 09 + lda $039A ; CPU:$B1E5 PRG:31E5 AD 9A 03 + sec ; CPU:$B1E8 PRG:31E8 38 + sbc #$10 ; CPU:$B1E9 PRG:31E9 E9 10 + sta $039A ; CPU:$B1EB PRG:31EB 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop144 +; Global: Branch target inside Sub: taken when Loop144. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop144: + lda $039A ; CPU:$B1EE PRG:31EE AD 9A 03 + sta $04A7,x ; CPU:$B1F1 PRG:31F1 9D A7 04 + lda $0397 ; CPU:$B1F4 PRG:31F4 AD 97 03 + sta $04C0,x ; CPU:$B1F7 PRG:31F7 9D C0 04 + rts ; CPU:$B1FA PRG:31FA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B1FB +; Global: Branch target inside Label: taken when B1FB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1FB: + brk ; CPU:$B1FB PRG:31FB 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B1FC +; Global: Branch target inside Label: taken when B1FC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1FC: + brk ; CPU:$B1FC PRG:31FC 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B1FD +; Global: Branch target inside Label: taken when B1FD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1FD: + brk ; CPU:$B1FD PRG:31FD 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B1FE +; Global: Branch target inside Label: taken when B1FE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1FE: + brk ; CPU:$B1FE PRG:31FE 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B1FF +; Global: Branch target inside Label: taken when B1FF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1FF: + brk ; CPU:$B1FF PRG:31FF 00 +; ---- data $B200-$B37A (379 bytes) ---- +; referenced by `lda $B33B,y` at $AF55 (operand $B33B falls inside this region) +; referenced by `lda $B33B,y` at $AF60 (operand $B33B falls inside this region) +LevelTilemapData: + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $02, $01, $01, $01 ; CPU:$B200 PRG:-E00 00 00 00 00 00 00 00 00 00 00 00 04 02 01 01 01 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $03, $02, $02, $01 ; CPU:$B210 PRG:3210 00 00 00 00 00 00 00 00 00 00 00 04 03 02 02 01 + .byte $01, $01, $01, $01, $01, $00, $00, $00, $00, $00, $00, $04, $03, $02, $02, $02 ; CPU:$B220 PRG:3220 01 01 01 01 01 00 00 00 00 00 00 04 03 02 02 02 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $04, $03, $03, $02, $02 ; CPU:$B230 PRG:3230 01 01 01 01 01 01 01 01 01 01 00 04 03 03 02 02 + .byte $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $02 ; CPU:$B240 PRG:3240 02 02 01 01 01 01 01 01 01 01 01 04 04 03 03 02 + .byte $02, $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $02 ; CPU:$B250 PRG:3250 02 02 02 01 01 01 01 01 01 01 01 04 04 03 03 02 + .byte $02, $02, $02, $02, $01, $01, $01, $01, $01, $01, $01, $04, $04, $03, $03, $03 ; CPU:$B260 PRG:3260 02 02 02 02 01 01 01 01 01 01 01 04 04 03 03 03 + .byte $02, $02, $02, $02, $02, $02, $01, $01, $01, $01, $01, $04, $04, $03, $03, $03 ; CPU:$B270 PRG:3270 02 02 02 02 02 02 01 01 01 01 01 04 04 03 03 03 + .byte $03, $02, $02, $02, $02, $02, $02, $02, $01, $01, $01, $04, $04, $03, $03, $03 ; CPU:$B280 PRG:3280 03 02 02 02 02 02 02 02 01 01 01 04 04 03 03 03 + .byte $03, $02, $02, $02, $02, $02, $02, $02, $02, $01, $01, $04, $04, $04, $03, $03 ; CPU:$B290 PRG:3290 03 02 02 02 02 02 02 02 02 01 01 04 04 04 03 03 + .byte $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03 ; CPU:$B2A0 PRG:32A0 03 03 02 02 02 02 02 02 02 02 02 04 04 04 03 03 + .byte $03, $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03 ; CPU:$B2B0 PRG:32B0 03 03 03 02 02 02 02 02 02 02 02 04 04 04 03 03 + .byte $03, $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03 ; CPU:$B2C0 PRG:32C0 03 03 03 02 02 02 02 02 02 02 02 04 04 04 03 03 + .byte $03, $03, $03, $03, $02, $02, $02, $02, $02, $02, $02, $04, $04, $04, $03, $03 ; CPU:$B2D0 PRG:32D0 03 03 03 03 02 02 02 02 02 02 02 04 04 04 03 03 + .byte $03, $03, $03, $03, $03, $02, $02, $02, $02, $02, $02, $04, $04, $04, $04, $03 ; CPU:$B2E0 PRG:32E0 03 03 03 03 03 02 02 02 02 02 02 04 04 04 04 03 + .byte $03, $03, $03, $03, $03, $02, $02, $02, $02, $02, $02, $C7, $FF, $00, $00, $C6 ; CPU:$B2F0 PRG:32F0 03 03 03 03 03 02 02 02 02 02 02 C7 FF 00 00 C6 + .byte $FF, $18, $00, $D8, $FF, $2D, $00, $EB, $FF, $3B, $00, $00, $00, $40, $00, $15 ; CPU:$B300 PRG:3300 FF 18 00 D8 FF 2D 00 EB FF 3B 00 00 00 40 00 15 + .byte $00, $3B, $00, $28, $00, $2D, $00, $35, $00, $18, $00, $39, $00, $00, $00, $35 ; CPU:$B310 PRG:3310 00 3B 00 28 00 2D 00 35 00 18 00 39 00 00 00 35 + .byte $00, $E8, $FF, $28, $00, $D3, $FF, $15, $00, $C5, $FF, $00, $00, $C0, $FF, $EB ; CPU:$B320 PRG:3320 00 E8 FF 28 00 D3 FF 15 00 C5 FF 00 00 C0 FF EB + .byte $FF, $C5, $FF, $D8, $FF, $D3, $FF, $C6, $FF, $E8, $FF, $00, $00, $00, $FF, $61 ; CPU:$B330 PRG:3330 FF C5 FF D8 FF D3 FF C6 FF E8 FF 00 00 00 FF 61 + .byte $00, $14, $FF, $B5, $00, $4B, $FF, $EC, $00, $9F, $FF, $00, $01, $00, $00, $EC ; CPU:$B340 PRG:3340 00 14 FF B5 00 4B FF EC 00 9F FF 00 01 00 00 EC + .byte $00, $61, $00, $B5, $00, $B5, $00, $61, $00, $EC, $00, $00, $00, $00, $01, $9F ; CPU:$B350 PRG:3350 00 61 00 B5 00 B5 00 61 00 EC 00 00 00 00 01 9F + .byte $FF, $EC, $00, $4B, $FF, $B5, $00, $14, $FF, $61, $00, $00, $FF, $00, $00, $14 ; CPU:$B360 PRG:3360 FF EC 00 4B FF B5 00 14 FF 61 00 00 FF 00 00 14 + .byte $FF, $9F, $FF, $4B, $FF, $4B, $FF, $9F, $FF, $14, $FF ; CPU:$B370 PRG:3370 FF 9F FF 4B FF 4B FF 9F FF 14 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_B37B +; Global: Branch target inside Sub: taken when B37B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B37B: + lda $056F,x ; CPU:$B37B PRG:337B BD 6F 05 + beq Sub_Loop145 ; CPU:$B37E PRG:337E F0 0E + lda $0588,x ; CPU:$B380 PRG:3380 BD 88 05 + cmp #$C1 ; CPU:$B383 PRG:3383 C9 C1 + bcs Sub_Loop148 ; CPU:$B385 PRG:3385 B0 42 + cmp #$81 ; CPU:$B387 PRG:3387 C9 81 + bcs Sub_Loop147 ; CPU:$B389 PRG:3389 B0 35 + jmp Sub_B399 ; CPU:$B38B PRG:338B 4C 99 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop145 +; Global: Branch target inside Sub: taken when Loop145. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop145: + lda $0588,x ; CPU:$B38E PRG:338E BD 88 05 + cmp #$40 ; CPU:$B391 PRG:3391 C9 40 + bcc Sub_Loop148 ; CPU:$B393 PRG:3393 90 34 + cmp #$80 ; CPU:$B395 PRG:3395 C9 80 + bcc Sub_Loop147 ; CPU:$B397 PRG:3397 90 27 +; ----------------------------------------------------------------------------- +; Routine: Sub_B399 +; Global: Branch target inside Sub: taken when B399. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B399: + lda $0524,x ; CPU:$B399 PRG:3399 BD 24 05 + beq Sub_Loop146 ; CPU:$B39C PRG:339C F0 0E + lda $053D,x ; CPU:$B39E PRG:339E BD 3D 05 + cmp #$B1 ; CPU:$B3A1 PRG:33A1 C9 B1 + bcs Sub_Loop148 ; CPU:$B3A3 PRG:33A3 B0 24 + cmp #$71 ; CPU:$B3A5 PRG:33A5 C9 71 + bcs Sub_Loop147 ; CPU:$B3A7 PRG:33A7 B0 17 + jmp Sub_B3B7 ; CPU:$B3A9 PRG:33A9 4C B7 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop146 +; Global: Branch target inside Sub: taken when Loop146. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop146: + lda $053D,x ; CPU:$B3AC PRG:33AC BD 3D 05 + cmp #$30 ; CPU:$B3AF PRG:33AF C9 30 + bcc Sub_Loop148 ; CPU:$B3B1 PRG:33B1 90 16 + cmp #$70 ; CPU:$B3B3 PRG:33B3 C9 70 + bcc Sub_Loop147 ; CPU:$B3B5 PRG:33B5 90 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_B3B7 +; Global: Branch target inside Sub: taken when B3B7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3B7: + lda $048E,x ; CPU:$B3B7 PRG:33B7 BD 8E 04 + ora #$80 ; CPU:$B3BA PRG:33BA 09 80 + sta $048E,x ; CPU:$B3BC PRG:33BC 9D 8E 04 + rts ; CPU:$B3BF PRG:33BF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop147 +; Global: Branch target inside Sub: taken when Loop147. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop147: + lda $048E,x ; CPU:$B3C0 PRG:33C0 BD 8E 04 + and #$7F ; CPU:$B3C3 PRG:33C3 29 7F + sta $048E,x ; CPU:$B3C5 PRG:33C5 9D 8E 04 + rts ; CPU:$B3C8 PRG:33C8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop148 +; Global: Branch target inside Sub: taken when Loop148. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop148: + lda #$00 ; CPU:$B3C9 PRG:33C9 A9 00 + sta $048E,x ; CPU:$B3CB PRG:33CB 9D 8E 04 + rts ; CPU:$B3CE PRG:33CE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B3CF +; Global: Branch target inside Sub: taken when B3CF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3CF: + lda $048E,x ; CPU:$B3CF PRG:33CF BD 8E 04 + and #$01 ; CPU:$B3D2 PRG:33D2 29 01 + rts ; CPU:$B3D4 PRG:33D4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B3D5 +; Global: Branch target inside Label: taken when B3D5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B3D5: + ldx #$0B ; CPU:$B3D5 PRG:33D5 A2 0B + lda $0380 ; CPU:$B3D7 PRG:33D7 AD 80 03 + cmp #$FF ; CPU:$B3DA PRG:33DA C9 FF + bne Sub_Loop149 ; CPU:$B3DC PRG:33DC D0 03 + jmp Sub_B4F9 ; CPU:$B3DE PRG:33DE 4C F9 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop149 +; Global: Branch target inside Sub: taken when Loop149. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop149: + ldx #$0B ; CPU:$B3E1 PRG:33E1 A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarryClear5 +; Global: Branch target inside Sub: taken when OnCarryClear5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarryClear5: + lda $048E,x ; CPU:$B3E3 PRG:33E3 BD 8E 04 + bmi Sub_Loop150 ; CPU:$B3E6 PRG:33E6 30 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_B3E8 +; Global: Branch target inside Sub: taken when B3E8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3E8: + inx ; CPU:$B3E8 PRG:33E8 E8 + cpx #$0E ; CPU:$B3E9 PRG:33E9 E0 0E + bcc Sub_OnCarryClear5 ; CPU:$B3EB PRG:33EB 90 F6 + jsr Sub_C275 ; CPU:$B3ED PRG:33ED 20 75 C2 + jmp Sub_Loop149 ; CPU:$B3F0 PRG:33F0 4C E1 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop150 +; Global: Branch target inside Sub: taken when Loop150. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop150: + and #$20 ; CPU:$B3F3 PRG:33F3 29 20 + beq Sub_Loop151 ; CPU:$B3F5 PRG:33F5 F0 03 + jmp Sub_B4E0 ; CPU:$B3F7 PRG:33F7 4C E0 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop151 +; Global: Branch target inside Sub: taken when Loop151. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop151: + jsr Sub_B40A ; CPU:$B3FA PRG:33FA 20 0A B4 + bcs Sub_Loop152 ; CPU:$B3FD PRG:33FD B0 03 + jmp Sub_B3E8 ; CPU:$B3FF PRG:33FF 4C E8 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop152 +; Global: Branch target inside Sub: taken when Loop152. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop152: + lda #$00 ; CPU:$B402 PRG:3402 A9 00 + sta $048E,x ; CPU:$B404 PRG:3404 9D 8E 04 + jmp Sub_B3E8 ; CPU:$B407 PRG:3407 4C E8 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B40A +; Global: Branch target inside Sub: taken when B40A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B40A: + lda #$34 ; CPU:$B40A PRG:340A A9 34 + jsr Sub_B048 ; CPU:$B40C PRG:340C 20 48 B0 + jsr Sub_B1D7 ; CPU:$B40F PRG:340F 20 D7 B1 + jsr Sub_B37B ; CPU:$B412 PRG:3412 20 7B B3 + lda $048E,x ; CPU:$B415 PRG:3415 BD 8E 04 + and #$08 ; CPU:$B418 PRG:3418 29 08 + beq Sub_Loop158 ; CPU:$B41A PRG:341A F0 3B + lda $048E,x ; CPU:$B41C PRG:341C BD 8E 04 + and #$80 ; CPU:$B41F PRG:341F 29 80 + beq Sub_Loop158 ; CPU:$B421 PRG:3421 F0 34 + lda $078C ; CPU:$B423 PRG:3423 AD 8C 07 + bne Sub_Loop157 ; CPU:$B426 PRG:3426 D0 2D + ldy #$0E ; CPU:$B428 PRG:3428 A0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarryClear6 +; Global: Branch target inside Sub: taken when OnCarryClear6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarryClear6: + lda $048E,y ; CPU:$B42A PRG:342A B9 8E 04 + bmi Sub_Loop153 ; CPU:$B42D PRG:342D 30 03 + jmp Sub_Loop156 ; CPU:$B42F PRG:342F 4C 50 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop153 +; Global: Branch target inside Sub: taken when Loop153. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop153: + and #$21 ; CPU:$B432 PRG:3432 29 21 + bne Sub_Loop156 ; CPU:$B434 PRG:3434 D0 1A + cpy #$18 ; CPU:$B436 PRG:3436 C0 18 + bne Sub_Loop154 ; CPU:$B438 PRG:3438 D0 07 + lda $04D9,y ; CPU:$B43A PRG:343A B9 D9 04 + cmp #$79 ; CPU:$B43D PRG:343D C9 79 + beq Sub_Loop156 ; CPU:$B43F PRG:343F F0 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop154 +; Global: Branch target inside Sub: taken when Loop154. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop154: + lda $05D3,y ; CPU:$B441 PRG:3441 B9 D3 05 + cmp #$FF ; CPU:$B444 PRG:3444 C9 FF + bcc Sub_Loop155 ; CPU:$B446 PRG:3446 90 03 + jmp Sub_B4C5 ; CPU:$B448 PRG:3448 4C C5 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop155 +; Global: Branch target inside Sub: taken when Loop155. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop155: + jsr Sub_AA61 ; CPU:$B44B PRG:344B 20 61 AA + bcs Sub_OnCarrySet ; CPU:$B44E PRG:344E B0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop156 +; Global: Branch target inside Sub: taken when Loop156. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop156: + iny ; CPU:$B450 PRG:3450 C8 + cpy #$19 ; CPU:$B451 PRG:3451 C0 19 + bcc Sub_OnCarryClear6 ; CPU:$B453 PRG:3453 90 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop157 +; Global: Branch target inside Sub: taken when Loop157. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop157: + clc ; CPU:$B455 PRG:3455 18 + rts ; CPU:$B456 PRG:3456 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop158 +; Global: Branch target inside Sub: taken when Loop158. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop158: + sec ; CPU:$B457 PRG:3457 38 + rts ; CPU:$B458 PRG:3458 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarrySet +; Global: Branch target inside Sub: taken when the addition or subtraction carried. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarrySet: + lda $05D3,y ; CPU:$B459 PRG:3459 B9 D3 05 + cmp #$20 ; CPU:$B45C PRG:345C C9 20 + bcs Sub_Loop159 ; CPU:$B45E PRG:345E B0 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_OnCarrySet2 +; Global: Branch target inside Sub: taken when OnCarrySet2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnCarrySet2: + lda $048E,y ; CPU:$B460 PRG:3460 B9 8E 04 + ora #$01 ; CPU:$B463 PRG:3463 09 01 + sta $048E,y ; CPU:$B465 PRG:3465 99 8E 04 + jmp Sub_Loop158 ; CPU:$B468 PRG:3468 4C 57 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop159 +; Global: Branch target inside Sub: taken when Loop159. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop159: + lda $05EC,y ; CPU:$B46B PRG:346B B9 EC 05 + clc ; CPU:$B46E PRG:346E 18 + adc #$01 ; CPU:$B46F PRG:346F 69 01 + sta $05EC,y ; CPU:$B471 PRG:3471 99 EC 05 + lda $05D3,y ; CPU:$B474 PRG:3474 B9 D3 05 + cmp #$FF ; CPU:$B477 PRG:3477 C9 FF + bcs Sub_Loop161 ; CPU:$B479 PRG:3479 B0 18 + cmp #$30 ; CPU:$B47B PRG:347B C9 30 + bcs Sub_Loop160 ; CPU:$B47D PRG:347D B0 0A + lda $05EC,y ; CPU:$B47F PRG:347F B9 EC 05 + cmp #$05 ; CPU:$B482 PRG:3482 C9 05 + bcs Sub_OnCarrySet2 ; CPU:$B484 PRG:3484 B0 DA + jmp Sub_B4B0 ; CPU:$B486 PRG:3486 4C B0 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop160 +; Global: Branch target inside Sub: taken when Loop160. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop160: + lda $05EC,y ; CPU:$B489 PRG:3489 B9 EC 05 + cmp #$0A ; CPU:$B48C PRG:348C C9 0A + bcs Sub_OnCarrySet2 ; CPU:$B48E PRG:348E B0 D0 + jmp Sub_B4B0 ; CPU:$B490 PRG:3490 4C B0 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop161 +; Global: Branch target inside Sub: taken when Loop161. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop161: + lda $05EC,y ; CPU:$B493 PRG:3493 B9 EC 05 + sta PlayerY ; CPU:$B496 PRG:3496 85 86 + sty PlayerX ; CPU:$B498 PRG:3498 84 87 + lda #$00 ; CPU:$B49A PRG:349A A9 00 + sec ; CPU:$B49C PRG:349C 38 + sbc $03A1 ; CPU:$B49D PRG:349D ED A1 03 + lsr a ; CPU:$B4A0 PRG:34A0 4A + lsr a ; CPU:$B4A1 PRG:34A1 4A + lsr a ; CPU:$B4A2 PRG:34A2 4A + lsr a ; CPU:$B4A3 PRG:34A3 4A + lsr a ; CPU:$B4A4 PRG:34A4 4A + lsr a ; CPU:$B4A5 PRG:34A5 4A + tay ; CPU:$B4A6 PRG:34A6 A8 + lda $B4DC,y ; CPU:$B4A7 PRG:34A7 B9 DC B4 + ldy PlayerX ; CPU:$B4AA PRG:34AA A4 87 + cmp PlayerY ; CPU:$B4AC PRG:34AC C5 86 + bcc Sub_OnCarrySet2 ; CPU:$B4AE PRG:34AE 90 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_B4B0 +; Global: Branch target inside Sub: taken when B4B0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4B0: + lda $048E,x ; CPU:$B4B0 PRG:34B0 BD 8E 04 + ora #$20 ; CPU:$B4B3 PRG:34B3 09 20 + sta $048E,x ; CPU:$B4B5 PRG:34B5 9D 8E 04 + lda #$FF ; CPU:$B4B8 PRG:34B8 A9 FF + sta $069B,x ; CPU:$B4BA PRG:34BA 9D 9B 06 + lda #$01 ; CPU:$B4BD PRG:34BD A9 01 + sta $04F2,x ; CPU:$B4BF PRG:34BF 9D F2 04 + jmp Sub_Loop157 ; CPU:$B4C2 PRG:34C2 4C 55 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_B4C5 +; Global: Branch target inside Sub: taken when B4C5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4C5: + lda #$8E ; CPU:$B4C5 PRG:34C5 A9 8E + sta $04D9,y ; CPU:$B4C7 PRG:34C7 99 D9 04 + jsr Sub_AA61 ; CPU:$B4CA PRG:34CA 20 61 AA + bcs Sub_OnCarrySet ; CPU:$B4CD PRG:34CD B0 8A + lda #$8F ; CPU:$B4CF PRG:34CF A9 8F + sta $04D9,y ; CPU:$B4D1 PRG:34D1 99 D9 04 + jsr Sub_AA61 ; CPU:$B4D4 PRG:34D4 20 61 AA + bcs Sub_OnCarrySet ; CPU:$B4D7 PRG:34D7 B0 80 + jmp Sub_Loop157 ; CPU:$B4D9 PRG:34D9 4C 55 B4 +; ---- data $B4DC-$B4DF (4 bytes) ---- +; referenced by `lda $B4DC,y` at $B4A7 (operand $B4DC falls inside this region) +PlayerScoreTable: + .byte $22, $27, $2C, $31 ; CPU:$B4DC PRG:-B24 22 27 2C 31 +; ----------------------------------------------------------------------------- +; Routine: Sub_B4E0 +; Global: Branch target inside Sub: taken when B4E0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4E0: + inc $069B,x ; CPU:$B4E0 PRG:34E0 FE 9B 06 + lda $069B,x ; CPU:$B4E3 PRG:34E3 BD 9B 06 + lsr a ; CPU:$B4E6 PRG:34E6 4A + and #$0F ; CPU:$B4E7 PRG:34E7 29 0F + cmp #$02 ; CPU:$B4E9 PRG:34E9 C9 02 + bcs Sub_Loop162 ; CPU:$B4EB PRG:34EB B0 09 + clc ; CPU:$B4ED PRG:34ED 18 + adc #$80 ; CPU:$B4EE PRG:34EE 69 80 + sta $04D9,x ; CPU:$B4F0 PRG:34F0 9D D9 04 + jmp Sub_B3E8 ; CPU:$B4F3 PRG:34F3 4C E8 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop162 +; Global: Branch target inside Sub: taken when Loop162. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop162: + jmp Sub_Loop152 ; CPU:$B4F6 PRG:34F6 4C 02 B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_B4F9 +; Global: Branch target inside Sub: taken when B4F9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4F9: + lda #$88 ; CPU:$B4F9 PRG:34F9 A9 88 + sta $048E,x ; CPU:$B4FB PRG:34FB 9D 8E 04 + lda #$01 ; CPU:$B4FE PRG:34FE A9 01 + sta $04D9,x ; CPU:$B500 PRG:3500 9D D9 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_B503 +; Global: Branch target inside Sub: taken when B503. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B503: + jsr Sub_C275 ; CPU:$B503 PRG:3503 20 75 C2 + jmp Sub_B503 ; CPU:$B506 PRG:3506 4C 03 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_B509 +; Global: Branch target inside Sub: taken when B509. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B509: + ldx #$03 ; CPU:$B509 PRG:3509 A2 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero19 +; Global: Branch target inside Sub: taken when OnNonzero19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero19: + lda $048E,x ; CPU:$B50B PRG:350B BD 8E 04 + bmi Sub_Loop163 ; CPU:$B50E PRG:350E 30 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_B510 +; Global: Branch target inside Sub: taken when B510. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B510: + inx ; CPU:$B510 PRG:3510 E8 + cpx #$0B ; CPU:$B511 PRG:3511 E0 0B + bne Sub_OnNonzero19 ; CPU:$B513 PRG:3513 D0 F6 + jsr Sub_C275 ; CPU:$B515 PRG:3515 20 75 C2 + jmp Sub_B509 ; CPU:$B518 PRG:3518 4C 09 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop163 +; Global: Branch target inside Sub: taken when Loop163. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop163: + lda #$07 ; CPU:$B51B PRG:351B A9 07 + sta $04D9,x ; CPU:$B51D PRG:351D 9D D9 04 + jsr Sub_B533 ; CPU:$B520 PRG:3520 20 33 B5 + bcs Sub_Loop164 ; CPU:$B523 PRG:3523 B0 03 + jmp Sub_B510 ; CPU:$B525 PRG:3525 4C 10 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop164 +; Global: Branch target inside Sub: taken when Loop164. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop164: + lda #$00 ; CPU:$B528 PRG:3528 A9 00 + sta $048E,x ; CPU:$B52A PRG:352A 9D 8E 04 + jmp Sub_B510 ; CPU:$B52D PRG:352D 4C 10 B5 +; ----------------------------------------------------------------------------- +; Routine: Label_B530 +; Global: Branch target inside Label: taken when B530. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B530: + jmp Sub_Loop164 ; CPU:$B530 PRG:3530 4C 28 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_B533 +; Global: Branch target inside Sub: taken when B533. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B533: + lda #$13 ; CPU:$B533 PRG:3533 A9 13 + jsr Sub_B048 ; CPU:$B535 PRG:3535 20 48 B0 + jsr Sub_B1D7 ; CPU:$B538 PRG:3538 20 D7 B1 + jsr Sub_B37B ; CPU:$B53B PRG:353B 20 7B B3 + lda $048E,x ; CPU:$B53E PRG:353E BD 8E 04 + and #$08 ; CPU:$B541 PRG:3541 29 08 + beq Sub_Loop169 ; CPU:$B543 PRG:3543 F0 36 + lda $048E,x ; CPU:$B545 PRG:3545 BD 8E 04 + and #$80 ; CPU:$B548 PRG:3548 29 80 + beq Sub_Loop169 ; CPU:$B54A PRG:354A F0 2F + ldy #$00 ; CPU:$B54C PRG:354C A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero20 +; Global: Branch target inside Sub: taken when OnNonzero20. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero20: + lda $048E,y ; CPU:$B54E PRG:354E B9 8E 04 + bmi Sub_Loop165 ; CPU:$B551 PRG:3551 30 03 + jmp Sub_Loop167 ; CPU:$B553 PRG:3553 4C 74 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop165 +; Global: Branch target inside Sub: taken when Loop165. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop165: + cpy #$00 ; CPU:$B556 PRG:3556 C0 00 + beq Sub_Loop166 ; CPU:$B558 PRG:3558 F0 0E + lda $048E,y ; CPU:$B55A PRG:355A B9 8E 04 + and #$08 ; CPU:$B55D PRG:355D 29 08 + beq Sub_Loop167 ; CPU:$B55F PRG:355F F0 13 + lda $048E,y ; CPU:$B561 PRG:3561 B9 8E 04 + and #$04 ; CPU:$B564 PRG:3564 29 04 + bne Sub_Loop167 ; CPU:$B566 PRG:3566 D0 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop166 +; Global: Branch target inside Sub: taken when Loop166. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop166: + lda $048E,y ; CPU:$B568 PRG:3568 B9 8E 04 + and #$10 ; CPU:$B56B PRG:356B 29 10 + bne Sub_Loop168 ; CPU:$B56D PRG:356D D0 0A + jsr Sub_AA61 ; CPU:$B56F PRG:356F 20 61 AA + bcs Sub_Loop170 ; CPU:$B572 PRG:3572 B0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop167 +; Global: Branch target inside Sub: taken when Loop167. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop167: + iny ; CPU:$B574 PRG:3574 C8 + cpy #$03 ; CPU:$B575 PRG:3575 C0 03 + bne Sub_OnNonzero20 ; CPU:$B577 PRG:3577 D0 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop168 +; Global: Branch target inside Sub: taken when Loop168. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop168: + clc ; CPU:$B579 PRG:3579 18 + rts ; CPU:$B57A PRG:357A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop169 +; Global: Branch target inside Sub: taken when Loop169. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop169: + sec ; CPU:$B57B PRG:357B 38 + rts ; CPU:$B57C PRG:357C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop170 +; Global: Branch target inside Sub: taken when Loop170. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop170: + lda $048E,y ; CPU:$B57D PRG:357D B9 8E 04 + ora #$01 ; CPU:$B580 PRG:3580 09 01 + sta $048E,y ; CPU:$B582 PRG:3582 99 8E 04 + jmp Sub_Loop169 ; CPU:$B585 PRG:3585 4C 7B B5 +; ----------------------------------------------------------------------------- +; Routine: Label_B588 +; Global: Branch target inside Label: taken when B588. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B588: + ldx #$18 ; CPU:$B588 PRG:3588 A2 18 + lda #$0A ; CPU:$B58A PRG:358A A9 0A + sta $048E,x ; CPU:$B58C PRG:358C 9D 8E 04 + lda $071F ; CPU:$B58F PRG:358F AD 1F 07 + and #$01 ; CPU:$B592 PRG:3592 29 01 + asl a ; CPU:$B594 PRG:3594 0A + asl a ; CPU:$B595 PRG:3595 0A + tay ; CPU:$B596 PRG:3596 A8 + lda $B657,y ; CPU:$B597 PRG:3597 B9 57 B6 + sta $056F,x ; CPU:$B59A PRG:359A 9D 6F 05 + iny ; CPU:$B59D PRG:359D C8 + lda $B657,y ; CPU:$B59E PRG:359E B9 57 B6 + sta $0588,x ; CPU:$B5A1 PRG:35A1 9D 88 05 + iny ; CPU:$B5A4 PRG:35A4 C8 + lda $B657,y ; CPU:$B5A5 PRG:35A5 B9 57 B6 + sta $0524,x ; CPU:$B5A8 PRG:35A8 9D 24 05 + iny ; CPU:$B5AB PRG:35AB C8 + lda $B657,y ; CPU:$B5AC PRG:35AC B9 57 B6 + sta $053D,x ; CPU:$B5AF PRG:35AF 9D 3D 05 + lda #$02 ; CPU:$B5B2 PRG:35B2 A9 02 + sta $04F2,x ; CPU:$B5B4 PRG:35B4 9D F2 04 + lda #$01 ; CPU:$B5B7 PRG:35B7 A9 01 + sta $05BA,x ; CPU:$B5B9 PRG:35B9 9D BA 05 + lda #$00 ; CPU:$B5BC PRG:35BC A9 00 + sta $050B,x ; CPU:$B5BE PRG:35BE 9D 0B 05 + lda #$10 ; CPU:$B5C1 PRG:35C1 A9 10 + sta $04D9,x ; CPU:$B5C3 PRG:35C3 9D D9 04 + lda #$FF ; CPU:$B5C6 PRG:35C6 A9 FF + sta $069B,x ; CPU:$B5C8 PRG:35C8 9D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnZero3 +; Global: Branch target inside Sub: taken when OnZero3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnZero3: + jsr Sub_C275 ; CPU:$B5CB PRG:35CB 20 75 C2 + jsr Sub_F7CD ; CPU:$B5CE PRG:35CE 20 CD F7 + beq Sub_OnZero3 ; CPU:$B5D1 PRG:35D1 F0 F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B5D3 +; Global: Branch target inside Sub: taken when B5D3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B5D3: + lda $048E,x ; CPU:$B5D3 PRG:35D3 BD 8E 04 + and #$01 ; CPU:$B5D6 PRG:35D6 29 01 + bne Sub_Loop174 ; CPU:$B5D8 PRG:35D8 D0 38 + inc $069B,x ; CPU:$B5DA PRG:35DA FE 9B 06 + lda $069B,x ; CPU:$B5DD PRG:35DD BD 9B 06 + and #$03 ; CPU:$B5E0 PRG:35E0 29 03 + bne Sub_Loop171 ; CPU:$B5E2 PRG:35E2 D0 03 + inc $05BA,x ; CPU:$B5E4 PRG:35E4 FE BA 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop171 +; Global: Branch target inside Sub: taken when Loop171. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop171: + jsr Sub_F7CD ; CPU:$B5E7 PRG:35E7 20 CD F7 + beq Sub_Loop176 ; CPU:$B5EA PRG:35EA F0 68 + ldy #$00 ; CPU:$B5EC PRG:35EC A0 00 + jsr Sub_AA61 ; CPU:$B5EE PRG:35EE 20 61 AA + bcs Sub_Loop172 ; CPU:$B5F1 PRG:35F1 B0 0E + ldy #$01 ; CPU:$B5F3 PRG:35F3 A0 01 + jsr Sub_AA61 ; CPU:$B5F5 PRG:35F5 20 61 AA + bcs Sub_Loop172 ; CPU:$B5F8 PRG:35F8 B0 07 + ldy #$02 ; CPU:$B5FA PRG:35FA A0 02 + jsr Sub_AA61 ; CPU:$B5FC PRG:35FC 20 61 AA + bcc Sub_Loop173 ; CPU:$B5FF PRG:35FF 90 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop172 +; Global: Branch target inside Sub: taken when Loop172. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop172: + lda $048E,y ; CPU:$B601 PRG:3601 B9 8E 04 + ora #$01 ; CPU:$B604 PRG:3604 09 01 + sta $048E,y ; CPU:$B606 PRG:3606 99 8E 04 + jmp NmiHandler_Loop262 ; CPU:$B609 PRG:3609 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop173 +; Global: Branch target inside Sub: taken when Loop173. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop173: + jsr Sub_C275 ; CPU:$B60C PRG:360C 20 75 C2 + jmp Sub_B5D3 ; CPU:$B60F PRG:360F 4C D3 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop174 +; Global: Branch target inside Sub: taken when Loop174. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop174: + lda #$20 ; CPU:$B612 PRG:3612 A9 20 + sta $06B4,x ; CPU:$B614 PRG:3614 9D B4 06 + lda #$02 ; CPU:$B617 PRG:3617 A9 02 + sta $05D3,x ; CPU:$B619 PRG:3619 9D D3 05 + jsr Sub_F19C ; CPU:$B61C PRG:361C 20 9C F1 + lda #$79 ; CPU:$B61F PRG:361F A9 79 + sta $04D9,x ; CPU:$B621 PRG:3621 9D D9 04 + lda #$01 ; CPU:$B624 PRG:3624 A9 01 + sta $04F2,x ; CPU:$B626 PRG:3626 9D F2 04 + lda #$04 ; CPU:$B629 PRG:3629 A9 04 + sta $05BA,x ; CPU:$B62B PRG:362B 9D BA 05 + lda #$08 ; CPU:$B62E PRG:362E A9 08 + sta $050B,x ; CPU:$B630 PRG:3630 9D 0B 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_B633 +; Global: Branch target inside Sub: taken when B633. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B633: + jsr Sub_F7CD ; CPU:$B633 PRG:3633 20 CD F7 + beq Sub_Loop176 ; CPU:$B636 PRG:3636 F0 1C + ldy #$00 ; CPU:$B638 PRG:3638 A0 00 + jsr Sub_AA61 ; CPU:$B63A PRG:363A 20 61 AA + bcs Sub_Loop175 ; CPU:$B63D PRG:363D B0 06 + jsr Sub_C275 ; CPU:$B63F PRG:363F 20 75 C2 + jmp Sub_B633 ; CPU:$B642 PRG:3642 4C 33 B6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop175 +; Global: Branch target inside Sub: taken when Loop175. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop175: + lda #$0F ; CPU:$B645 PRG:3645 A9 0F + jsr Sub_A06B ; CPU:$B647 PRG:3647 20 6B A0 + lda #$09 ; CPU:$B64A PRG:364A A9 09 + jsr Sub_F9E1 ; CPU:$B64C PRG:364C 20 E1 F9 + lda #$00 ; CPU:$B64F PRG:364F A9 00 + sta $048E,x ; CPU:$B651 PRG:3651 9D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop176 +; Global: Branch target inside Sub: taken when Loop176. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop176: + jsr Sub_C237 ; CPU:$B654 PRG:3654 20 37 C2 + brk ; CPU:$B657 PRG:3657 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B658 +; Global: Branch target inside Label: taken when B658. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B658: + ldy #$01 ; CPU:$B658 PRG:3658 A0 01 + ldy #$01 ; CPU:$B65A PRG:365A A0 01 + rts ; CPU:$B65C PRG:365C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B65D +; Global: Branch target inside Label: taken when B65D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B65D: + ora (ZpA0,x) ; CPU:$B65D PRG:365D 01 A0 +; ----------------------------------------------------------------------------- +; Routine: Label_B65F +; Global: Branch target inside Label: taken when B65F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B65F: + lda #$00 ; CPU:$B65F PRG:365F A9 00 + sta $0382 ; CPU:$B661 PRG:3661 8D 82 03 + sta $07BC ; CPU:$B664 PRG:3664 8D BC 07 + jsr Sub_E240 ; CPU:$B667 PRG:3667 20 40 E2 + lda #$FF ; CPU:$B66A PRG:366A A9 FF + sta $0723 ; CPU:$B66C PRG:366C 8D 23 07 + lda #$00 ; CPU:$B66F PRG:366F A9 00 + sta Zp6E ; CPU:$B671 PRG:3671 85 6E + sta Zp6D ; CPU:$B673 PRG:3673 85 6D + sta $078F ; CPU:$B675 PRG:3675 8D 8F 07 + sta $07BB ; CPU:$B678 PRG:3678 8D BB 07 + lda #$8F ; CPU:$B67B PRG:367B A9 8F + sta Zp6B ; CPU:$B67D PRG:367D 85 6B + lda #$07 ; CPU:$B67F PRG:367F A9 07 + sta Zp6C ; CPU:$B681 PRG:3681 85 6C + lda PpuCtrlShadow ; CPU:$B683 PRG:3683 A5 8C + and #$FD ; CPU:$B685 PRG:3685 29 FD + sta PpuCtrlShadow ; CPU:$B687 PRG:3687 85 8C + lda #$00 ; CPU:$B689 PRG:3689 A9 00 + sta Zp8F ; CPU:$B68B PRG:368B 85 8F + sta Zp90 ; CPU:$B68D PRG:368D 85 90 + lda #$00 ; CPU:$B68F PRG:368F A9 00 + sta $0723 ; CPU:$B691 PRG:3691 8D 23 07 + jsr Sub_A094 ; CPU:$B694 PRG:3694 20 94 A0 + jsr Sub_B96C ; CPU:$B697 PRG:3697 20 6C B9 + jsr Sub_B93D ; CPU:$B69A PRG:369A 20 3D B9 + jsr Sub_BA12 ; CPU:$B69D PRG:369D 20 12 BA + lda #$00 ; CPU:$B6A0 PRG:36A0 A9 00 + sta $0385 ; CPU:$B6A2 PRG:36A2 8D 85 03 + lda #$FF ; CPU:$B6A5 PRG:36A5 A9 FF + sta $0380 ; CPU:$B6A7 PRG:36A7 8D 80 03 + ldy #$0B ; CPU:$B6AA PRG:36AA A0 0B + lda #$48 ; CPU:$B6AC PRG:36AC A9 48 + sta $04C0,y ; CPU:$B6AE PRG:36AE 99 C0 04 + lda #$7F ; CPU:$B6B1 PRG:36B1 A9 7F + sta $04A7,y ; CPU:$B6B3 PRG:36B3 99 A7 04 + lda #$20 ; CPU:$B6B6 PRG:36B6 A9 20 + sta $04D9,y ; CPU:$B6B8 PRG:36B8 99 D9 04 + lda #$1A ; CPU:$B6BB PRG:36BB A9 1A + jsr Sub_C1F5 ; CPU:$B6BD PRG:36BD 20 F5 C1 + lda #$FF ; CPU:$B6C0 PRG:36C0 A9 FF + sta $070B ; CPU:$B6C2 PRG:36C2 8D 0B 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_B6C5 +; Global: Branch target inside Sub: taken when B6C5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B6C5: + jsr Sub_C275 ; CPU:$B6C5 PRG:36C5 20 75 C2 + lda Zp98 ; CPU:$B6C8 PRG:36C8 A5 98 + and #$20 ; CPU:$B6CA PRG:36CA 29 20 + beq Sub_Loop179 ; CPU:$B6CC PRG:36CC F0 49 + lda $0382 ; CPU:$B6CE PRG:36CE AD 82 03 + bne Sub_Loop180 ; CPU:$B6D1 PRG:36D1 D0 51 +; ----------------------------------------------------------------------------- +; Routine: Sub_B6D3 +; Global: Branch target inside Sub: taken when B6D3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B6D3: + lda #$FF ; CPU:$B6D3 PRG:36D3 A9 FF + sta $0382 ; CPU:$B6D5 PRG:36D5 8D 82 03 + lda #$00 ; CPU:$B6D8 PRG:36D8 A9 00 + sta $07BC ; CPU:$B6DA PRG:36DA 8D BC 07 + inc $07BB ; CPU:$B6DD PRG:36DD EE BB 07 + lda $07BB ; CPU:$B6E0 PRG:36E0 AD BB 07 + and #$03 ; CPU:$B6E3 PRG:36E3 29 03 + sta $07BB ; CPU:$B6E5 PRG:36E5 8D BB 07 + cmp #$03 ; CPU:$B6E8 PRG:36E8 C9 03 + beq Sub_Loop178 ; CPU:$B6EA PRG:36EA F0 1E + cmp #$02 ; CPU:$B6EC PRG:36EC C9 02 + bne Sub_Loop177 ; CPU:$B6EE PRG:36EE D0 12 + lda $07C5 ; CPU:$B6F0 PRG:36F0 AD C5 07 + beq Sub_Loop178 ; CPU:$B6F3 PRG:36F3 F0 15 + lda #$FF ; CPU:$B6F5 PRG:36F5 A9 FF + sta $07BC ; CPU:$B6F7 PRG:36F7 8D BC 07 + lda #$9F ; CPU:$B6FA PRG:36FA A9 9F + sta $04B2 ; CPU:$B6FC PRG:36FC 8D B2 04 + jmp Sub_Loop181 ; CPU:$B6FF PRG:36FF 4C 31 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop177 +; Global: Branch target inside Sub: taken when Loop177. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop177: + lda #$8F ; CPU:$B702 PRG:3702 A9 8F + sta $04B2 ; CPU:$B704 PRG:3704 8D B2 04 + jmp Sub_Loop181 ; CPU:$B707 PRG:3707 4C 31 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop178 +; Global: Branch target inside Sub: taken when Loop178. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop178: + lda #$00 ; CPU:$B70A PRG:370A A9 00 + sta $07BB ; CPU:$B70C PRG:370C 8D BB 07 + lda #$7F ; CPU:$B70F PRG:370F A9 7F + sta $04B2 ; CPU:$B711 PRG:3711 8D B2 04 + jmp Sub_Loop181 ; CPU:$B714 PRG:3714 4C 31 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop179 +; Global: Branch target inside Sub: taken when Loop179. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop179: + lda #$00 ; CPU:$B717 PRG:3717 A9 00 + sta $0382 ; CPU:$B719 PRG:3719 8D 82 03 + lda #$14 ; CPU:$B71C PRG:371C A9 14 + sta $070A ; CPU:$B71E PRG:371E 8D 0A 07 + jmp Sub_Loop181 ; CPU:$B721 PRG:3721 4C 31 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop180 +; Global: Branch target inside Sub: taken when Loop180. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop180: + dec $070A ; CPU:$B724 PRG:3724 CE 0A 07 + bne Sub_Loop181 ; CPU:$B727 PRG:3727 D0 08 + lda #$14 ; CPU:$B729 PRG:3729 A9 14 + sta $070A ; CPU:$B72B PRG:372B 8D 0A 07 + jmp Sub_B6D3 ; CPU:$B72E PRG:372E 4C D3 B6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop181 +; Global: Branch target inside Sub: taken when Loop181. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop181: + lda Zp98 ; CPU:$B731 PRG:3731 A5 98 + and #$10 ; CPU:$B733 PRG:3733 29 10 + beq Sub_Loop182 ; CPU:$B735 PRG:3735 F0 08 + lda $0388 ; CPU:$B737 PRG:3737 AD 88 03 + bne Sub_Loop183 ; CPU:$B73A PRG:373A D0 08 + jmp Sub_B75E ; CPU:$B73C PRG:373C 4C 5E B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop182 +; Global: Branch target inside Sub: taken when Loop182. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop182: + lda #$00 ; CPU:$B73F PRG:373F A9 00 + sta $0388 ; CPU:$B741 PRG:3741 8D 88 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop183 +; Global: Branch target inside Sub: taken when Loop183. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop183: + dec $070B ; CPU:$B744 PRG:3744 CE 0B 07 + lda $070B ; CPU:$B747 PRG:3747 AD 0B 07 + and #$03 ; CPU:$B74A PRG:374A 29 03 + bne Sub_Loop184 ; CPU:$B74C PRG:374C D0 0D + ldy #$04 ; CPU:$B74E PRG:374E A0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative7 +; Global: Branch target inside Sub: taken when OnNonnegative7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative7: + lda $032A,y ; CPU:$B750 PRG:3750 B9 2A 03 + eor #$FF ; CPU:$B753 PRG:3753 49 FF + sta $032A,y ; CPU:$B755 PRG:3755 99 2A 03 + dey ; CPU:$B758 PRG:3758 88 + bpl Sub_OnNonnegative7 ; CPU:$B759 PRG:3759 10 F5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop184 +; Global: Branch target inside Sub: taken when Loop184. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop184: + jmp Sub_B6C5 ; CPU:$B75B PRG:375B 4C C5 B6 +; ----------------------------------------------------------------------------- +; Routine: Sub_B75E +; Global: Branch target inside Sub: taken when B75E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B75E: + lda #$00 ; CPU:$B75E PRG:375E A9 00 + sta $0385 ; CPU:$B760 PRG:3760 8D 85 03 + sta $0380 ; CPU:$B763 PRG:3763 8D 80 03 + sta $0384 ; CPU:$B766 PRG:3766 8D 84 03 + jsr Sub_C306 ; CPU:$B769 PRG:3769 20 06 C3 + lda $07BC ; CPU:$B76C PRG:376C AD BC 07 + bne Sub_Loop185 ; CPU:$B76F PRG:376F D0 06 + lda $07BB ; CPU:$B771 PRG:3771 AD BB 07 + sta $0381 ; CPU:$B774 PRG:3774 8D 81 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop185 +; Global: Branch target inside Sub: taken when Loop185. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop185: + lda #$04 ; CPU:$B777 PRG:3777 A9 04 + jsr Sub_C1F5 ; CPU:$B779 PRG:3779 20 F5 C1 + jsr Sub_C237 ; CPU:$B77C PRG:377C 20 37 C2 + .byte $8F, $34, $00 ; CPU:$B77F PRG:377F 8F 34 00 -- sax a:$0034 (undocumented; ca65 cannot encode) + pha ; CPU:$B782 PRG:3782 48 +; ---- data $B783-$B7C2 (64 bytes) ---- +EnemySpritePatternTable2: + .byte $02, $12, $38, $10, $02, $38, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F ; CPU:$B783 PRG:-87D 02 12 38 10 02 38 1A 0A 02 1A 0A 0F 02 10 00 0F + .byte $02, $16, $10, $00, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10 ; CPU:$B793 PRG:3793 02 16 10 00 02 20 28 16 02 16 29 19 02 26 20 10 + .byte $02, $12, $1A, $0F, $02, $37, $1A, $0A, $02, $1A, $0A, $0F, $02, $10, $00, $0F ; CPU:$B7A3 PRG:37A3 02 12 1A 0F 02 37 1A 0A 02 1A 0A 0F 02 10 00 0F + .byte $02, $16, $10, $0F, $02, $20, $28, $16, $02, $16, $29, $19, $02, $26, $20, $10 ; CPU:$B7B3 PRG:37B3 02 16 10 0F 02 20 28 16 02 16 29 19 02 26 20 10 +; ----------------------------------------------------------------------------- +; Routine: Label_B7C3 +; Global: Branch target inside Label: taken when B7C3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7C3: + lda $07BC ; CPU:$B7C3 PRG:37C3 AD BC 07 + bne Sub_Loop186 ; CPU:$B7C6 PRG:37C6 D0 0D + jsr Sub_B9E5 ; CPU:$B7C8 PRG:37C8 20 E5 B9 + lda #$01 ; CPU:$B7CB PRG:37CB A9 01 + sta $03A1 ; CPU:$B7CD PRG:37CD 8D A1 03 + lda #$00 ; CPU:$B7D0 PRG:37D0 A9 00 + sta $03A0 ; CPU:$B7D2 PRG:37D2 8D A0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop186 +; Global: Branch target inside Sub: taken when Loop186. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop186: + jsr Sub_9FDB ; CPU:$B7D5 PRG:37D5 20 DB 9F + lda #$FF ; CPU:$B7D8 PRG:37D8 A9 FF + sta $0385 ; CPU:$B7DA PRG:37DA 8D 85 03 + lda #$02 ; CPU:$B7DD PRG:37DD A9 02 + sta $0432 ; CPU:$B7DF PRG:37DF 8D 32 04 + lda #$00 ; CPU:$B7E2 PRG:37E2 A9 00 + sta $048C ; CPU:$B7E4 PRG:37E4 8D 8C 04 + sta $0386 ; CPU:$B7E7 PRG:37E7 8D 86 03 + sta ZpC9 ; CPU:$B7EA PRG:37EA 85 C9 + sta $042E ; CPU:$B7EC PRG:37EC 8D 2E 04 + sta $038D ; CPU:$B7EF PRG:37EF 8D 8D 03 + ldy #$11 ; CPU:$B7F2 PRG:37F2 A0 11 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative8 +; Global: Branch target inside Sub: taken when OnNonnegative8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative8: + sta $0437,y ; CPU:$B7F4 PRG:37F4 99 37 04 + dey ; CPU:$B7F7 PRG:37F7 88 + bpl Sub_OnNonnegative8 ; CPU:$B7F8 PRG:37F8 10 FA + jsr Sub_B922 ; CPU:$B7FA PRG:37FA 20 22 B9 + lda $0384 ; CPU:$B7FD PRG:37FD AD 84 03 + bne Sub_Loop187 ; CPU:$B800 PRG:3800 D0 05 + lda $0381 ; CPU:$B802 PRG:3802 AD 81 03 + bne Sub_Loop191 ; CPU:$B805 PRG:3805 D0 3B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop187 +; Global: Branch target inside Sub: taken when Loop187. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop187: + jsr Sub_D7A1 ; CPU:$B807 PRG:3807 20 A1 D7 + lda $0384 ; CPU:$B80A PRG:380A AD 84 03 + bne Sub_Loop189 ; CPU:$B80D PRG:380D D0 1B + lda $0432 ; CPU:$B80F PRG:380F AD 32 04 + bne Sub_Loop188 ; CPU:$B812 PRG:3812 D0 10 + lda $0431 ; CPU:$B814 PRG:3814 AD 31 04 + beq Sub_Loop189 ; CPU:$B817 PRG:3817 F0 11 + dec $0431 ; CPU:$B819 PRG:3819 CE 31 04 + lda #$09 ; CPU:$B81C PRG:381C A9 09 + sta $0432 ; CPU:$B81E PRG:381E 8D 32 04 + jmp Sub_Loop187 ; CPU:$B821 PRG:3821 4C 07 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop188 +; Global: Branch target inside Sub: taken when Loop188. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop188: + dec $0432 ; CPU:$B824 PRG:3824 CE 32 04 + jmp Sub_Loop187 ; CPU:$B827 PRG:3827 4C 07 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop189 +; Global: Branch target inside Sub: taken when Loop189. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop189: + jsr Sub_BD3A ; CPU:$B82A PRG:382A 20 3A BD + lda $0384 ; CPU:$B82D PRG:382D AD 84 03 + beq Sub_Loop190 ; CPU:$B830 PRG:3830 F0 08 + lda #$FF ; CPU:$B832 PRG:3832 A9 FF + sta $0383 ; CPU:$B834 PRG:3834 8D 83 03 + jsr Sub_C237 ; CPU:$B837 PRG:3837 20 37 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop190 +; Global: Branch target inside Sub: taken when Loop190. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop190: + lda #$02 ; CPU:$B83A PRG:383A A9 02 + jsr Sub_C1F5 ; CPU:$B83C PRG:383C 20 F5 C1 + jsr Sub_C237 ; CPU:$B83F PRG:383F 20 37 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop191 +; Global: Branch target inside Sub: taken when Loop191. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop191: + lda $07BC ; CPU:$B842 PRG:3842 AD BC 07 + beq Sub_Loop192 ; CPU:$B845 PRG:3845 F0 08 + jsr Sub_BF7F ; CPU:$B847 PRG:3847 20 7F BF + lda #$02 ; CPU:$B84A PRG:384A A9 02 + sta $0432 ; CPU:$B84C PRG:384C 8D 32 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop192 +; Global: Branch target inside Sub: taken when Loop192. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop192: + jsr Sub_D7A1 ; CPU:$B84F PRG:384F 20 A1 D7 + dec $0432 ; CPU:$B852 PRG:3852 CE 32 04 + jsr Sub_BF58 ; CPU:$B855 PRG:3855 20 58 BF + lda #$02 ; CPU:$B858 PRG:3858 A9 02 + sta $0432 ; CPU:$B85A PRG:385A 8D 32 04 + lda #$00 ; CPU:$B85D PRG:385D A9 00 + sta $042E ; CPU:$B85F PRG:385F 8D 2E 04 + ldy #$11 ; CPU:$B862 PRG:3862 A0 11 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative9 +; Global: Branch target inside Sub: taken when OnNonnegative9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative9: + sta $0437,y ; CPU:$B864 PRG:3864 99 37 04 + dey ; CPU:$B867 PRG:3867 88 + bpl Sub_OnNonnegative9 ; CPU:$B868 PRG:3868 10 FA + lda $07BC ; CPU:$B86A PRG:386A AD BC 07 + bne Sub_Loop193 ; CPU:$B86D PRG:386D D0 0A + lda #$01 ; CPU:$B86F PRG:386F A9 01 + sta $03A1 ; CPU:$B871 PRG:3871 8D A1 03 + lda #$00 ; CPU:$B874 PRG:3874 A9 00 + sta $03A0 ; CPU:$B876 PRG:3876 8D A0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop193 +; Global: Branch target inside Sub: taken when Loop193. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop193: + lda #$00 ; CPU:$B879 PRG:3879 A9 00 + ldy #$11 ; CPU:$B87B PRG:387B A0 11 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative10 +; Global: Branch target inside Sub: taken when OnNonnegative10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative10: + sta $0437,y ; CPU:$B87D PRG:387D 99 37 04 + dey ; CPU:$B880 PRG:3880 88 + bpl Sub_OnNonnegative10 ; CPU:$B881 PRG:3881 10 FA + jsr Sub_D7A1 ; CPU:$B883 PRG:3883 20 A1 D7 + dec $0432 ; CPU:$B886 PRG:3886 CE 32 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_B889 +; Global: Branch target inside Sub: taken when B889. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B889: + jsr Sub_BF74 ; CPU:$B889 PRG:3889 20 74 BF + jsr Sub_D7A1 ; CPU:$B88C PRG:388C 20 A1 D7 + lda $0432 ; CPU:$B88F PRG:388F AD 32 04 + bne Sub_Loop194 ; CPU:$B892 PRG:3892 D0 10 + lda $0431 ; CPU:$B894 PRG:3894 AD 31 04 + beq Sub_Loop196 ; CPU:$B897 PRG:3897 F0 2F + dec $0431 ; CPU:$B899 PRG:3899 CE 31 04 + lda #$09 ; CPU:$B89C PRG:389C A9 09 + sta $0432 ; CPU:$B89E PRG:389E 8D 32 04 + jmp Sub_B8A7 ; CPU:$B8A1 PRG:38A1 4C A7 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop194 +; Global: Branch target inside Sub: taken when Loop194. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop194: + dec $0432 ; CPU:$B8A4 PRG:38A4 CE 32 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8A7 +; Global: Branch target inside Sub: taken when B8A7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8A7: + jsr Sub_BF58 ; CPU:$B8A7 PRG:38A7 20 58 BF + jsr Sub_D7A1 ; CPU:$B8AA PRG:38AA 20 A1 D7 + lda $0432 ; CPU:$B8AD PRG:38AD AD 32 04 + bne Sub_Loop195 ; CPU:$B8B0 PRG:38B0 D0 10 + lda $0431 ; CPU:$B8B2 PRG:38B2 AD 31 04 + beq Sub_Loop198 ; CPU:$B8B5 PRG:38B5 F0 3B + dec $0431 ; CPU:$B8B7 PRG:38B7 CE 31 04 + lda #$09 ; CPU:$B8BA PRG:38BA A9 09 + sta $0432 ; CPU:$B8BC PRG:38BC 8D 32 04 + jmp Sub_B889 ; CPU:$B8BF PRG:38BF 4C 89 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop195 +; Global: Branch target inside Sub: taken when Loop195. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop195: + dec $0432 ; CPU:$B8C2 PRG:38C2 CE 32 04 + jmp Sub_B889 ; CPU:$B8C5 PRG:38C5 4C 89 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop196 +; Global: Branch target inside Sub: taken when Loop196. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop196: + jsr Sub_BD3A ; CPU:$B8C8 PRG:38C8 20 3A BD + jsr Sub_BF58 ; CPU:$B8CB PRG:38CB 20 58 BF +; ----------------------------------------------------------------------------- +; Routine: Sub_B8CE +; Global: Branch target inside Sub: taken when B8CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8CE: + jsr Sub_D7A1 ; CPU:$B8CE PRG:38CE 20 A1 D7 + jsr Sub_BF74 ; CPU:$B8D1 PRG:38D1 20 74 BF + jsr Sub_BF58 ; CPU:$B8D4 PRG:38D4 20 58 BF + lda $0432 ; CPU:$B8D7 PRG:38D7 AD 32 04 + bne Sub_Loop197 ; CPU:$B8DA PRG:38DA D0 10 + lda $0431 ; CPU:$B8DC PRG:38DC AD 31 04 + beq Sub_Loop200 ; CPU:$B8DF PRG:38DF F0 3B + dec $0431 ; CPU:$B8E1 PRG:38E1 CE 31 04 + lda #$09 ; CPU:$B8E4 PRG:38E4 A9 09 + sta $0432 ; CPU:$B8E6 PRG:38E6 8D 32 04 + jmp Sub_B8CE ; CPU:$B8E9 PRG:38E9 4C CE B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop197 +; Global: Branch target inside Sub: taken when Loop197. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop197: + dec $0432 ; CPU:$B8EC PRG:38EC CE 32 04 + jmp Sub_B8CE ; CPU:$B8EF PRG:38EF 4C CE B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop198 +; Global: Branch target inside Sub: taken when Loop198. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop198: + jsr Sub_BD3A ; CPU:$B8F2 PRG:38F2 20 3A BD + jsr Sub_BF74 ; CPU:$B8F5 PRG:38F5 20 74 BF +; ----------------------------------------------------------------------------- +; Routine: Sub_B8F8 +; Global: Branch target inside Sub: taken when B8F8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8F8: + jsr Sub_D7A1 ; CPU:$B8F8 PRG:38F8 20 A1 D7 + jsr Sub_BF58 ; CPU:$B8FB PRG:38FB 20 58 BF + jsr Sub_BF74 ; CPU:$B8FE PRG:38FE 20 74 BF + lda $0432 ; CPU:$B901 PRG:3901 AD 32 04 + bne Sub_Loop199 ; CPU:$B904 PRG:3904 D0 10 + lda $0431 ; CPU:$B906 PRG:3906 AD 31 04 + beq Sub_Loop200 ; CPU:$B909 PRG:3909 F0 11 + dec $0431 ; CPU:$B90B PRG:390B CE 31 04 + lda #$09 ; CPU:$B90E PRG:390E A9 09 + sta $0432 ; CPU:$B910 PRG:3910 8D 32 04 + jmp Sub_B8F8 ; CPU:$B913 PRG:3913 4C F8 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop199 +; Global: Branch target inside Sub: taken when Loop199. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop199: + dec $0432 ; CPU:$B916 PRG:3916 CE 32 04 + jmp Sub_B8F8 ; CPU:$B919 PRG:3919 4C F8 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop200 +; Global: Branch target inside Sub: taken when Loop200. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop200: + jsr Sub_BD3A ; CPU:$B91C PRG:391C 20 3A BD + jmp Sub_Loop190 ; CPU:$B91F PRG:391F 4C 3A B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B922 +; Global: Branch target inside Sub: taken when B922. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B922: + lda #$00 ; CPU:$B922 PRG:3922 A9 00 + ldy #$05 ; CPU:$B924 PRG:3924 A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative11 +; Global: Branch target inside Sub: taken when OnNonnegative11. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative11: + sta $0427,y ; CPU:$B926 PRG:3926 99 27 04 + dey ; CPU:$B929 PRG:3929 88 + bpl Sub_OnNonnegative11 ; CPU:$B92A PRG:392A 10 FA + ldy #$05 ; CPU:$B92C PRG:392C A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative12 +; Global: Branch target inside Sub: taken when OnNonnegative12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative12: + sta $044A,y ; CPU:$B92E PRG:392E 99 4A 04 + dey ; CPU:$B931 PRG:3931 88 + bpl Sub_OnNonnegative12 ; CPU:$B932 PRG:3932 10 FA + ldy #$05 ; CPU:$B934 PRG:3934 A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative13 +; Global: Branch target inside Sub: taken when OnNonnegative13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative13: + sta $046B,y ; CPU:$B936 PRG:3936 99 6B 04 + dey ; CPU:$B939 PRG:3939 88 + bpl Sub_OnNonnegative13 ; CPU:$B93A PRG:393A 10 FA + rts ; CPU:$B93C PRG:393C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B93D ; Global: Branch target inside Sub: taken when B93D. @@ -1785,42 +6826,42 @@ Sub_A38F: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B93D: - lda Zp8C ; CPU:$B93D PRG:393D A5 8C + lda PpuCtrlShadow ; CPU:$B93D PRG:393D A5 8C and #$7F ; CPU:$B93F PRG:393F 29 7F - sta Zp8C ; CPU:$B941 PRG:3941 85 8C + sta PpuCtrlShadow ; CPU:$B941 PRG:3941 85 8C sta PPUCTRL ; CPU:$B943 PRG:3943 8D 00 20 lda #$FF ; CPU:$B946 PRG:3946 A9 FF sta $0723 ; CPU:$B948 PRG:3948 8D 23 07 lda #$FF ; CPU:$B94B PRG:394B A9 FF ldy #$00 ; CPU:$B94D PRG:394D A0 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero10 -; Global: Branch target inside Sub: taken when OnNonzero10. +; Routine: Sub_OnNonzero21 +; Global: Branch target inside Sub: taken when OnNonzero21. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero10: +Sub_OnNonzero21: sta $0200,y ; CPU:$B94F PRG:394F 99 00 02 dey ; CPU:$B952 PRG:3952 88 - bne Sub_OnNonzero10 ; CPU:$B953 PRG:3953 D0 FA + bne Sub_OnNonzero21 ; CPU:$B953 PRG:3953 D0 FA ldy #$47 ; CPU:$B955 PRG:3955 A0 47 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero11 -; Global: Branch target inside Sub: taken when OnNonzero11. +; Routine: Sub_OnNonzero22 +; Global: Branch target inside Sub: taken when OnNonzero22. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero11: +Sub_OnNonzero22: sta $03AF,y ; CPU:$B957 PRG:3957 99 AF 03 dey ; CPU:$B95A PRG:395A 88 - bne Sub_OnNonzero11 ; CPU:$B95B PRG:395B D0 FA - lda Zp8C ; CPU:$B95D PRG:395D A5 8C + bne Sub_OnNonzero22 ; CPU:$B95B PRG:395B D0 FA + lda PpuCtrlShadow ; CPU:$B95D PRG:395D A5 8C ora #$80 ; CPU:$B95F PRG:395F 09 80 - sta Zp8C ; CPU:$B961 PRG:3961 85 8C + sta PpuCtrlShadow ; CPU:$B961 PRG:3961 85 8C sta PPUCTRL ; CPU:$B963 PRG:3963 8D 00 20 lda #$00 ; CPU:$B966 PRG:3966 A9 00 sta $0723 ; CPU:$B968 PRG:3968 8D 23 07 @@ -1835,162 +6876,908 @@ Sub_OnNonzero11: ; ----------------------------------------------------------------------------- Sub_B96C: lda #$20 ; CPU:$B96C PRG:396C A9 20 - sta Zp89 ; CPU:$B96E PRG:396E 85 89 + sta PpuAddrHigh ; CPU:$B96E PRG:396E 85 89 lda #$00 ; CPU:$B970 PRG:3970 A9 00 - sta Zp88 ; CPU:$B972 PRG:3972 85 88 + sta PpuAddrLow ; CPU:$B972 PRG:3972 85 88 lda #$B9 ; CPU:$B974 PRG:3974 A9 B9 - sta Zp8B ; CPU:$B976 PRG:3976 85 8B + sta VramWritePtrHi ; CPU:$B976 PRG:3976 85 8B lda #$C5 ; CPU:$B978 PRG:3978 A9 C5 - sta Zp8A ; CPU:$B97A PRG:397A 85 8A + sta VramWritePtrLo ; CPU:$B97A PRG:397A 85 8A lda #$1E ; CPU:$B97C PRG:397C A9 1E - sta Zp86 ; CPU:$B97E PRG:397E 85 86 + sta PlayerY ; CPU:$B97E PRG:397E 85 86 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero12 -; Global: Branch target inside Sub: taken when OnNonzero12. +; Routine: Sub_OnNonzero23 +; Global: Branch target inside Sub: taken when OnNonzero23. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero12: +Sub_OnNonzero23: lda #$20 ; CPU:$B980 PRG:3980 A9 20 - sta Zp87 ; CPU:$B982 PRG:3982 85 87 + sta PlayerX ; CPU:$B982 PRG:3982 85 87 jsr Sub_801B ; CPU:$B984 PRG:3984 20 1B 80 clc ; CPU:$B987 PRG:3987 18 - lda Zp88 ; CPU:$B988 PRG:3988 A5 88 + lda PpuAddrLow ; CPU:$B988 PRG:3988 A5 88 adc #$20 ; CPU:$B98A PRG:398A 69 20 - sta Zp88 ; CPU:$B98C PRG:398C 85 88 - lda Zp89 ; CPU:$B98E PRG:398E A5 89 + sta PpuAddrLow ; CPU:$B98C PRG:398C 85 88 + lda PpuAddrHigh ; CPU:$B98E PRG:398E A5 89 adc #$00 ; CPU:$B990 PRG:3990 69 00 - sta Zp89 ; CPU:$B992 PRG:3992 85 89 - dec Zp86 ; CPU:$B994 PRG:3994 C6 86 - bne Sub_OnNonzero12 ; CPU:$B996 PRG:3996 D0 E8 + sta PpuAddrHigh ; CPU:$B992 PRG:3992 85 89 + dec PlayerY ; CPU:$B994 PRG:3994 C6 86 + bne Sub_OnNonzero23 ; CPU:$B996 PRG:3996 D0 E8 lda #$28 ; CPU:$B998 PRG:3998 A9 28 - sta Zp89 ; CPU:$B99A PRG:399A 85 89 + sta PpuAddrHigh ; CPU:$B99A PRG:399A 85 89 lda #$00 ; CPU:$B99C PRG:399C A9 00 - sta Zp88 ; CPU:$B99E PRG:399E 85 88 + sta PpuAddrLow ; CPU:$B99E PRG:399E 85 88 lda #$B9 ; CPU:$B9A0 PRG:39A0 A9 B9 - sta Zp8B ; CPU:$B9A2 PRG:39A2 85 8B + sta VramWritePtrHi ; CPU:$B9A2 PRG:39A2 85 8B lda #$C5 ; CPU:$B9A4 PRG:39A4 A9 C5 - sta Zp8A ; CPU:$B9A6 PRG:39A6 85 8A + sta VramWritePtrLo ; CPU:$B9A6 PRG:39A6 85 8A lda #$1E ; CPU:$B9A8 PRG:39A8 A9 1E - sta Zp86 ; CPU:$B9AA PRG:39AA 85 86 + sta PlayerY ; CPU:$B9AA PRG:39AA 85 86 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero13 -; Global: Branch target inside Sub: taken when OnNonzero13. +; Routine: Sub_OnNonzero24 +; Global: Branch target inside Sub: taken when OnNonzero24. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero13: +Sub_OnNonzero24: lda #$20 ; CPU:$B9AC PRG:39AC A9 20 - sta Zp87 ; CPU:$B9AE PRG:39AE 85 87 + sta PlayerX ; CPU:$B9AE PRG:39AE 85 87 jsr Sub_801B ; CPU:$B9B0 PRG:39B0 20 1B 80 clc ; CPU:$B9B3 PRG:39B3 18 - lda Zp88 ; CPU:$B9B4 PRG:39B4 A5 88 + lda PpuAddrLow ; CPU:$B9B4 PRG:39B4 A5 88 adc #$20 ; CPU:$B9B6 PRG:39B6 69 20 - sta Zp88 ; CPU:$B9B8 PRG:39B8 85 88 - lda Zp89 ; CPU:$B9BA PRG:39BA A5 89 + sta PpuAddrLow ; CPU:$B9B8 PRG:39B8 85 88 + lda PpuAddrHigh ; CPU:$B9BA PRG:39BA A5 89 adc #$00 ; CPU:$B9BC PRG:39BC 69 00 - sta Zp89 ; CPU:$B9BE PRG:39BE 85 89 - dec Zp86 ; CPU:$B9C0 PRG:39C0 C6 86 - bne Sub_OnNonzero13 ; CPU:$B9C2 PRG:39C2 D0 E8 + sta PpuAddrHigh ; CPU:$B9BE PRG:39BE 85 89 + dec PlayerY ; CPU:$B9C0 PRG:39C0 C6 86 + bne Sub_OnNonzero24 ; CPU:$B9C2 PRG:39C2 D0 E8 rts ; CPU:$B9C4 PRG:39C4 60 -; ---- data $B9C5-$BF8F (1483 bytes) ---- - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$B9C5 PRG:39C5 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +; ---- data $B9C5-$B9E4 (32 bytes) ---- +BoardBoundaryData: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$B9C5 PRG:-63B 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:$B9D5 PRG:39D5 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $A9, $04, $85, $8B, $A9, $27, $85, $8A, $A9, $03, $85, $87, $A9, $68, $85, $86 ; CPU:$B9E5 PRG:39E5 A9 04 85 8B A9 27 85 8A A9 03 85 87 A9 68 85 86 - .byte $A0, $00, $A5, $87, $F0, $0D, $A9, $00, $91, $8A, $C8, $D0, $FB, $E6, $8B, $C6 ; CPU:$B9F5 PRG:39F5 A0 00 A5 87 F0 0D A9 00 91 8A C8 D0 FB E6 8B C6 - .byte $87, $D0, $F5, $A4, $86, $F0, $05, $91, $8A, $88, $D0, $FB, $60, $A9, $BB, $85 ; CPU:$BA05 PRG:3A05 87 D0 F5 A4 86 F0 05 91 8A 88 D0 FB 60 A9 BB 85 - .byte $8B, $A9, $51, $85, $8A, $20, $5A, $A7, $A0, $3F, $B9, $71, $BB, $99, $00, $03 ; CPU:$BA15 PRG:3A15 8B A9 51 85 8A 20 5A A7 A0 3F B9 71 BB 99 00 03 - .byte $88, $10, $F7, $A0, $3F, $B9, $71, $BB, $99, $40, $03, $88, $10, $F7, $A9, $BB ; CPU:$BA25 PRG:3A25 88 10 F7 A0 3F B9 71 BB 99 40 03 88 10 F7 A9 BB - .byte $85, $8B, $A9, $71, $85, $8A, $A9, $23, $85, $89, $A9, $C0, $85, $88, $A9, $40 ; CPU:$BA35 PRG:3A35 85 8B A9 71 85 8A A9 23 85 89 A9 C0 85 88 A9 40 - .byte $85, $87, $20, $1B, $80, $A9, $BB, $85, $8B, $A9, $B1, $85, $8A, $A9, $20, $85 ; CPU:$BA45 PRG:3A45 85 87 20 1B 80 A9 BB 85 8B A9 B1 85 8A A9 20 85 - .byte $89, $A9, $45, $85, $88, $A9, $03, $85, $87, $20, $1B, $80, $A9, $04, $85, $8B ; CPU:$BA55 PRG:3A55 89 A9 45 85 88 A9 03 85 87 20 1B 80 A9 04 85 8B - .byte $A9, $4A, $85, $8A, $A9, $20, $85, $89, $A9, $63, $85, $88, $A9, $06, $85, $87 ; CPU:$BA65 PRG:3A65 A9 4A 85 8A A9 20 85 89 A9 63 85 88 A9 06 85 87 - .byte $20, $1B, $80, $A9, $BB, $85, $8B, $A9, $B7, $85, $8A, $A9, $20, $85, $89, $A9 ; CPU:$BA75 PRG:3A75 20 1B 80 A9 BB 85 8B A9 B7 85 8A A9 20 85 89 A9 - .byte $4C, $85, $88, $A9, $08, $85, $87, $20, $1B, $80, $A9, $07, $85, $8B, $A9, $BF ; CPU:$BA85 PRG:3A85 4C 85 88 A9 08 85 87 20 1B 80 A9 07 85 8B A9 BF - .byte $85, $8A, $A9, $20, $85, $89, $A9, $6D, $85, $88, $A9, $06, $85, $87, $20, $1B ; CPU:$BA95 PRG:3A95 85 8A A9 20 85 89 A9 6D 85 88 A9 06 85 87 20 1B - .byte $80, $AD, $81, $03, $F0, $2E, $A9, $BB, $85, $8B, $A9, $B4, $85, $8A, $A9, $20 ; CPU:$BAA5 PRG:3AA5 80 AD 81 03 F0 2E A9 BB 85 8B A9 B4 85 8A A9 20 - .byte $85, $89, $A9, $59, $85, $88, $A9, $03, $85, $87, $20, $1B, $80, $A9, $04, $85 ; CPU:$BAB5 PRG:3AB5 85 89 A9 59 85 88 A9 03 85 87 20 1B 80 A9 04 85 - .byte $8B, $A9, $6B, $85, $8A, $A9, $20, $85, $89, $A9, $77, $85, $88, $A9, $06, $85 ; CPU:$BAC5 PRG:3AC5 8B A9 6B 85 8A A9 20 85 89 A9 77 85 88 A9 06 85 - .byte $87, $20, $1B, $80, $A9, $BB, $85, $8B, $A9, $BF, $85, $8A, $A9, $A0, $85, $87 ; CPU:$BAD5 PRG:3AD5 87 20 1B 80 A9 BB 85 8B A9 BF 85 8A A9 A0 85 87 - .byte $A9, $21, $85, $89, $A9, $00, $85, $88, $20, $1B, $80, $A9, $BC, $85, $8B, $A9 ; CPU:$BAE5 PRG:3AE5 A9 21 85 89 A9 00 85 88 20 1B 80 A9 BC 85 8B A9 - .byte $5F, $85, $8A, $A9, $22, $85, $89, $A9, $0B, $85, $88, $A9, $09, $85, $87, $20 ; CPU:$BAF5 PRG:3AF5 5F 85 8A A9 22 85 89 A9 0B 85 88 A9 09 85 87 20 - .byte $1B, $80, $A9, $BC, $85, $8B, $A9, $68, $85, $8A, $A9, $22, $85, $89, $A9, $4B ; CPU:$BB05 PRG:3B05 1B 80 A9 BC 85 8B A9 68 85 8A A9 22 85 89 A9 4B - .byte $85, $88, $A9, $09, $85, $87, $20, $1B, $80, $AD, $C5, $07, $F0, $17, $A9, $BC ; CPU:$BB15 PRG:3B15 85 88 A9 09 85 87 20 1B 80 AD C5 07 F0 17 A9 BC - .byte $85, $8B, $A9, $71, $85, $8A, $A9, $22, $85, $89, $A9, $8B, $85, $88, $A9, $08 ; CPU:$BB25 PRG:3B25 85 8B A9 71 85 8A A9 22 85 89 A9 8B 85 88 A9 08 - .byte $85, $87, $20, $1B, $80, $A9, $BC, $85, $8B, $A9, $79, $85, $8A, $A9, $0D, $85 ; CPU:$BB35 PRG:3B35 85 87 20 1B 80 A9 BC 85 8B A9 79 85 8A A9 0D 85 - .byte $87, $A9, $23, $85, $89, $A9, $09, $85, $88, $4C, $1B, $80, $0F, $20, $20, $20 ; CPU:$BB45 PRG:3B45 87 A9 23 85 89 A9 09 85 88 4C 1B 80 0F 20 20 20 - .byte $0F, $20, $29, $09, $0F, $35, $26, $06, $0F, $16, $16, $16, $0F, $16, $2C, $1C ; CPU:$BB55 PRG:3B55 0F 20 29 09 0F 35 26 06 0F 16 16 16 0F 16 2C 1C - .byte $0F, $17, $2B, $21, $0F, $15, $28, $35, $0F, $18, $14, $38, $00, $00, $00, $00 ; CPU:$BB65 PRG:3B65 0F 17 2B 21 0F 15 28 35 0F 18 14 38 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $55, $55, $55, $55 ; CPU:$BB75 PRG:3B75 00 00 00 00 00 00 00 00 00 00 00 00 55 55 55 55 - .byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $00, $00, $00, $00 ; CPU:$BB85 PRG:3B85 55 55 55 55 55 55 55 55 55 55 55 55 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$BB95 PRG:3B95 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $15, $12, $02 ; CPU:$BBA5 PRG:3BA5 00 00 00 00 00 00 00 00 00 00 00 00 01 15 12 02 - .byte $15, $12, $0D, $0E, $FF, $14, $0B, $11, $13, $0C, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BBB5 PRG:3BB5 15 12 0D 0E FF 14 0B 11 13 0C FF FF FF FF FF FF - .byte $FF, $D1, $D2, $D3, $FF, $D1, $DE, $DF, $E0, $FF, $FF, $ED, $EE, $D3, $FF, $F8 ; CPU:$BBC5 PRG:3BC5 FF D1 D2 D3 FF D1 DE DF E0 FF FF ED EE D3 FF F8 - .byte $F9, $F9, $E0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BBD5 PRG:3BD5 F9 F9 E0 FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $D4, $D5, $D6, $FF, $E1, $E2, $E3, $E4, $FF, $EF, $F0, $D5, $D6, $FF, $FA ; CPU:$BBE5 PRG:3BE5 FF D4 D5 D6 FF E1 E2 E3 E4 FF EF F0 D5 D6 FF FA - .byte $FB, $FC, $E4, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BBF5 PRG:3BF5 FB FC E4 FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $D7, $D5, $D6, $FF, $E5, $E6, $E7, $E4, $FF, $F1, $F2, $D9, $F3, $FF, $FD ; CPU:$BC05 PRG:3C05 FF D7 D5 D6 FF E5 E6 E7 E4 FF F1 F2 D9 F3 FF FD - .byte $FE, $C0, $C1, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BC15 PRG:3C15 FE C0 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $D8, $D9, $DA, $FF, $E8, $E9, $EA, $EB, $FF, $F4, $F5, $F6, $F7, $FF, $C2 ; CPU:$BC25 PRG:3C25 FF D8 D9 DA FF E8 E9 EA EB FF F4 F5 F6 F7 FF C2 - .byte $C3, $C4, $D0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BC35 PRG:3C35 C3 C4 D0 FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $DB, $DC, $DD, $FF, $DB, $DC, $DC, $EC, $FF, $FF, $DB, $DC, $DD, $FF, $DB ; CPU:$BC45 PRG:3C45 FF DB DC DD FF DB DC DC EC FF FF DB DC DD FF DB - .byte $DC, $DC, $DD, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $01, $FF, $12, $0F, $0A, $16 ; CPU:$BC55 PRG:3C55 DC DC DD FF FF FF FF FF FF FF 01 FF 12 0F 0A 16 - .byte $0C, $13, $FF, $02, $FF, $12, $0F, $0A, $16, $0C, $13, $14, $0B, $11, $2F, $18 ; CPU:$BC65 PRG:3C65 0C 13 FF 02 FF 12 0F 0A 16 0C 13 14 0B 11 2F 18 - .byte $0E, $2F, $15, $0C, $17, $FF, $01, $09, $08, $05, $FF, $0B, $0A, $12, $0B, $11 ; CPU:$BC75 PRG:3C75 0E 2F 15 0C 17 FF 01 09 08 05 FF 0B 0A 12 0B 11 - .byte $10, $A9, $FF, $8D, $23, $07, $A9, $00, $8D, $85, $03, $85, $6E, $85, $6D, $8D ; CPU:$BC85 PRG:3C85 10 A9 FF 8D 23 07 A9 00 8D 85 03 85 6E 85 6D 8D - .byte $8F, $07, $A9, $8F, $85, $6B, $A9, $07, $85, $6C, $A9, $00, $8D, $8C, $04, $A9 ; CPU:$BC95 PRG:3C95 8F 07 A9 8F 85 6B A9 07 85 6C A9 00 8D 8C 04 A9 - .byte $00, $8D, $23, $07, $A9, $01, $8D, $85, $03, $60, $A9, $0A, $85, $86, $A9, $00 ; CPU:$BCA5 PRG:3CA5 00 8D 23 07 A9 01 8D 85 03 60 A9 0A 85 86 A9 00 - .byte $85, $87, $4C, $51, $C2, $A9, $08, $4C, $6B, $A0, $A5, $DD, $85, $8A, $A5, $DE ; CPU:$BCB5 PRG:3CB5 85 87 4C 51 C2 A9 08 4C 6B A0 A5 DD 85 8A A5 DE - .byte $85, $8B, $A5, $DF, $85, $88, $A5, $E0, $85, $89, $A9, $01, $85, $87, $85, $86 ; CPU:$BCC5 PRG:3CC5 85 8B A5 DF 85 88 A5 E0 85 89 A9 01 85 87 85 86 - .byte $20, $1B, $80, $20, $BA, $BC, $20, $AF, $BC, $E6, $DD, $D0, $02, $E6, $DE, $E6 ; CPU:$BCD5 PRG:3CD5 20 1B 80 20 BA BC 20 AF BC E6 DD D0 02 E6 DE E6 - .byte $DF, $D0, $02, $E6, $E0, $C6, $E2, $D0, $D1, $4C, $AF, $BC, $A5, $8C, $29, $FD ; CPU:$BCE5 PRG:3CE5 DF D0 02 E6 E0 C6 E2 D0 D1 4C AF BC A5 8C 29 FD - .byte $85, $8C, $A9, $00, $85, $8F, $85, $90, $20, $3D, $B9, $20, $6C, $B9, $A9, $51 ; CPU:$BCF5 PRG:3CF5 85 8C A9 00 85 8F 85 90 20 3D B9 20 6C B9 A9 51 - .byte $85, $8A, $A9, $BB, $85, $8B, $20, $5A, $A7, $A0, $3F, $A9, $00, $99, $00, $03 ; CPU:$BD05 PRG:3D05 85 8A A9 BB 85 8B 20 5A A7 A0 3F A9 00 99 00 03 - .byte $88, $10, $FA, $A9, $BB, $85, $8B, $A9, $71, $85, $8A, $A9, $23, $85, $89, $A9 ; CPU:$BD15 PRG:3D15 88 10 FA A9 BB 85 8B A9 71 85 8A A9 23 85 89 A9 - .byte $C0, $85, $88, $A9, $40, $85, $87, $20, $1B, $80, $A5, $8C, $29, $EF, $09, $08 ; CPU:$BD25 PRG:3D25 C0 85 88 A9 40 85 87 20 1B 80 A5 8C 29 EF 09 08 - .byte $85, $8C, $4C, $75, $C2, $A9, $07, $20, $6B, $A0, $A9, $09, $20, $6B, $A0, $AD ; CPU:$BD35 PRG:3D35 85 8C 4C 75 C2 A9 07 20 6B A0 A9 09 20 6B A0 AD - .byte $84, $03, $D0, $22, $AD, $86, $03, $D0, $10, $A0, $05, $B9, $27, $04, $99, $4A ; CPU:$BD45 PRG:3D45 84 03 D0 22 AD 86 03 D0 10 A0 05 B9 27 04 99 4A - .byte $04, $88, $C0, $FF, $D0, $F5, $4C, $6B, $BD, $A0, $05, $B9, $27, $04, $99, $6B ; CPU:$BD55 PRG:3D55 04 88 C0 FF D0 F5 4C 6B BD A0 05 B9 27 04 99 6B - .byte $04, $88, $C0, $FF, $D0, $F5, $20, $F1, $BC, $A9, $BF, $85, $8B, $A9, $0F, $85 ; CPU:$BD65 PRG:3D65 04 88 C0 FF D0 F5 20 F1 BC A9 BF 85 8B A9 0F 85 - .byte $8A, $A9, $20, $85, $89, $A9, $45, $85, $88, $A9, $03, $85, $87, $20, $1B, $80 ; CPU:$BD75 PRG:3D75 8A A9 20 85 89 A9 45 85 88 A9 03 85 87 20 1B 80 - .byte $A9, $04, $85, $8B, $A9, $4A, $85, $8A, $A9, $20, $85, $89, $A9, $63, $85, $88 ; CPU:$BD85 PRG:3D85 A9 04 85 8B A9 4A 85 8A A9 20 85 89 A9 63 85 88 - .byte $A9, $06, $85, $87, $20, $1B, $80, $A9, $BF, $85, $8B, $A9, $15, $85, $8A, $A9 ; CPU:$BD95 PRG:3D95 A9 06 85 87 20 1B 80 A9 BF 85 8B A9 15 85 8A A9 - .byte $20, $85, $89, $A9, $4C, $85, $88, $A9, $08, $85, $87, $20, $1B, $80, $A9, $07 ; CPU:$BDA5 PRG:3DA5 20 85 89 A9 4C 85 88 A9 08 85 87 20 1B 80 A9 07 - .byte $85, $8B, $A9, $BF, $85, $8A, $A9, $20, $85, $89, $A9, $6D, $85, $88, $A9, $06 ; CPU:$BDB5 PRG:3DB5 85 8B A9 BF 85 8A A9 20 85 89 A9 6D 85 88 A9 06 - .byte $85, $87, $20, $1B, $80, $AD, $81, $03, $F0, $2E, $A9, $BF, $85, $8B, $A9, $12 ; CPU:$BDC5 PRG:3DC5 85 87 20 1B 80 AD 81 03 F0 2E A9 BF 85 8B A9 12 - .byte $85, $8A, $A9, $20, $85, $89, $A9, $59, $85, $88, $A9, $03, $85, $87, $20, $1B ; CPU:$BDD5 PRG:3DD5 85 8A A9 20 85 89 A9 59 85 88 A9 03 85 87 20 1B - .byte $80, $A9, $04, $85, $8B, $A9, $6B, $85, $8A, $A9, $20, $85, $89, $A9, $77, $85 ; CPU:$BDE5 PRG:3DE5 80 A9 04 85 8B A9 6B 85 8A A9 20 85 89 A9 77 85 - .byte $88, $A9, $06, $85, $87, $20, $1B, $80, $A9, $BF, $85, $DE, $A9, $36, $85, $DD ; CPU:$BDF5 PRG:3DF5 88 A9 06 85 87 20 1B 80 A9 BF 85 DE A9 36 85 DD - .byte $A9, $21, $85, $E0, $A9, $04, $85, $DF, $A9, $0D, $85, $E2, $20, $BF, $BC, $A9 ; CPU:$BE05 PRG:3E05 A9 21 85 E0 A9 04 85 DF A9 0D 85 E2 20 BF BC A9 - .byte $04, $85, $DE, $A9, $41, $85, $DD, $A9, $21, $85, $E0, $A9, $15, $85, $DF, $A9 ; CPU:$BE15 PRG:3E15 04 85 DE A9 41 85 DD A9 21 85 E0 A9 15 85 DF A9 - .byte $05, $85, $E2, $20, $BF, $BC, $A9, $BF, $85, $DE, $A9, $43, $85, $DD, $A9, $21 ; CPU:$BE25 PRG:3E25 05 85 E2 20 BF BC A9 BF 85 DE A9 43 85 DD A9 21 - .byte $85, $E0, $A9, $44, $85, $DF, $A9, $0A, $85, $E2, $20, $BF, $BC, $20, $93, $A8 ; CPU:$BE35 PRG:3E35 85 E0 A9 44 85 DF A9 0A 85 E2 20 BF BC 20 93 A8 - .byte $AD, $8B, $03, $D0, $02, $A9, $FF, $8D, $20, $07, $A5, $8B, $8D, $21, $07, $A5 ; CPU:$BE45 PRG:3E45 AD 8B 03 D0 02 A9 FF 8D 20 07 A5 8B 8D 21 07 A5 - .byte $8A, $8D, $22, $07, $A9, $07, $85, $DE, $A9, $20, $85, $DD, $A9, $21, $85, $E0 ; CPU:$BE55 PRG:3E55 8A 8D 22 07 A9 07 85 DE A9 20 85 DD A9 21 85 E0 - .byte $A9, $57, $85, $DF, $A9, $03, $85, $E2, $20, $BF, $BC, $A9, $BF, $85, $DE, $A9 ; CPU:$BE65 PRG:3E65 A9 57 85 DF A9 03 85 E2 20 BF BC A9 BF 85 DE A9 - .byte $4D, $85, $DD, $A9, $21, $85, $E0, $A9, $5A, $85, $DF, $A9, $01, $85, $E2, $20 ; CPU:$BE75 PRG:3E75 4D 85 DD A9 21 85 E0 A9 5A 85 DF A9 01 85 E2 20 - .byte $BF, $BC, $A9, $BF, $85, $8B, $A9, $2D, $85, $8A, $A9, $22, $85, $89, $A9, $4B ; CPU:$BE85 PRG:3E85 BF BC A9 BF 85 8B A9 2D 85 8A A9 22 85 89 A9 4B - .byte $85, $88, $A9, $09, $85, $87, $20, $1B, $80, $A9, $FF, $8D, $23, $07, $A9, $00 ; CPU:$BE95 PRG:3E95 85 88 A9 09 85 87 20 1B 80 A9 FF 8D 23 07 A9 00 - .byte $85, $6E, $85, $6D, $8D, $8F, $07, $A9, $8F, $85, $6B, $A9, $07, $85, $6C, $A9 ; CPU:$BEA5 PRG:3EA5 85 6E 85 6D 8D 8F 07 A9 8F 85 6B A9 07 85 6C A9 - .byte $00, $8D, $37, $04, $A9, $00, $8D, $23, $07, $AD, $86, $03, $F0, $0B, $A9, $BF ; CPU:$BEB5 PRG:3EB5 00 8D 37 04 A9 00 8D 23 07 AD 86 03 F0 0B A9 BF - .byte $85, $8B, $A9, $25, $85, $8A, $4C, $D6, $BE, $A9, $BF, $85, $8B, $A9, $1D, $85 ; CPU:$BEC5 PRG:3EC5 85 8B A9 25 85 8A 4C D6 BE A9 BF 85 8B A9 1D 85 - .byte $8A, $A9, $21, $85, $89, $A9, $EC, $85, $88, $A9, $08, $85, $87, $20, $1B, $80 ; CPU:$BED5 PRG:3ED5 8A A9 21 85 89 A9 EC 85 88 A9 08 85 87 20 1B 80 - .byte $A9, $00, $85, $87, $A9, $80, $85, $86, $20, $51, $C2, $A5, $8D, $29, $E7, $85 ; CPU:$BEE5 PRG:3EE5 A9 00 85 87 A9 80 85 86 20 51 C2 A5 8D 29 E7 85 - .byte $8D, $20, $75, $C2, $20, $6C, $B9, $A5, $8C, $49, $18, $85, $8C, $20, $75, $C2 ; CPU:$BEF5 PRG:3EF5 8D 20 75 C2 20 6C B9 A5 8C 49 18 85 8C 20 75 C2 - .byte $A5, $8D, $09, $18, $85, $8D, $20, $75, $C2, $60, $01, $1E, $19, $02, $1E, $19 ; CPU:$BF05 PRG:3F05 A5 8D 09 18 85 8D 20 75 C2 60 01 1E 19 02 1E 19 - .byte $11, $12, $24, $1C, $0C, $18, $1B, $0E, $19, $15, $0A, $22, $0E, $1B, $FF, $01 ; CPU:$BF15 PRG:3F15 11 12 24 1C 0C 18 1B 0E 19 15 0A 22 0E 1B FF 01 - .byte $19, $15, $0A, $22, $0E, $1B, $FF, $02, $10, $0A, $16, $0E, $FF, $18, $1F, $0E ; CPU:$BF25 PRG:3F25 19 15 0A 22 0E 1B FF 02 10 0A 16 0E FF 18 1F 0E - .byte $1B, $1C, $11, $18, $18, $1D, $12, $17, $10, $FF, $0D, $18, $20, $17, $19, $0E ; CPU:$BF35 PRG:3F35 1B 1C 11 18 18 1D 12 17 10 FF 0D 18 20 17 19 0E - .byte $1B, $0C, $0E, $17, $1D, $0A, $10, $0E, $25, $1D, $18, $0D, $22, $26, $1C, $FF ; CPU:$BF45 PRG:3F45 1B 0C 0E 17 1D 0A 10 0E 25 1D 18 0D 22 26 1C FF - .byte $1D, $18, $19, $A2, $21, $BD, $26, $04, $9D, $49, $04, $CA, $D0, $F7, $A2, $21 ; CPU:$BF55 PRG:3F55 1D 18 19 A2 21 BD 26 04 9D 49 04 CA D0 F7 A2 21 - .byte $BD, $6A, $04, $9D, $26, $04, $CA, $D0, $F7, $A9, $01, $8D, $86, $03, $60, $A2 ; CPU:$BF65 PRG:3F65 BD 6A 04 9D 26 04 CA D0 F7 A9 01 8D 86 03 60 A2 - .byte $21, $BD, $26, $04, $9D, $6A, $04, $CA, $D0, $F7, $A2, $21, $BD, $49, $04, $9D ; CPU:$BF75 PRG:3F75 21 BD 26 04 9D 6A 04 CA D0 F7 A2 21 BD 49 04 9D - .byte $26, $04, $CA, $D0, $F7, $A9, $00, $8D, $86, $03, $60 ; CPU:$BF85 PRG:3F85 26 04 CA D0 F7 A9 00 8D 86 03 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B9E5 +; Global: Branch target inside Sub: taken when B9E5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B9E5: + lda #$04 ; CPU:$B9E5 PRG:39E5 A9 04 + sta VramWritePtrHi ; CPU:$B9E7 PRG:39E7 85 8B + lda #$27 ; CPU:$B9E9 PRG:39E9 A9 27 + sta VramWritePtrLo ; CPU:$B9EB PRG:39EB 85 8A + lda #$03 ; CPU:$B9ED PRG:39ED A9 03 + sta PlayerX ; CPU:$B9EF PRG:39EF 85 87 + lda #$68 ; CPU:$B9F1 PRG:39F1 A9 68 + sta PlayerY ; CPU:$B9F3 PRG:39F3 85 86 + ldy #$00 ; CPU:$B9F5 PRG:39F5 A0 00 + lda PlayerX ; CPU:$B9F7 PRG:39F7 A5 87 + beq Sub_Loop201 ; CPU:$B9F9 PRG:39F9 F0 0D + lda #$00 ; CPU:$B9FB PRG:39FB A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero25 +; Global: Branch target inside Sub: taken when OnNonzero25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero25: + sta (VramWritePtrLo),y ; CPU:$B9FD PRG:39FD 91 8A + iny ; CPU:$B9FF PRG:39FF C8 + bne Sub_OnNonzero25 ; CPU:$BA00 PRG:3A00 D0 FB + inc VramWritePtrHi ; CPU:$BA02 PRG:3A02 E6 8B + dec PlayerX ; CPU:$BA04 PRG:3A04 C6 87 + bne Sub_OnNonzero25 ; CPU:$BA06 PRG:3A06 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop201 +; Global: Branch target inside Sub: taken when Loop201. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop201: + ldy PlayerY ; CPU:$BA08 PRG:3A08 A4 86 + beq Sub_Loop202 ; CPU:$BA0A PRG:3A0A F0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero26 +; Global: Branch target inside Sub: taken when OnNonzero26. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero26: + sta (VramWritePtrLo),y ; CPU:$BA0C PRG:3A0C 91 8A + dey ; CPU:$BA0E PRG:3A0E 88 + bne Sub_OnNonzero26 ; CPU:$BA0F PRG:3A0F D0 FB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop202 +; Global: Branch target inside Sub: taken when Loop202. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop202: + rts ; CPU:$BA11 PRG:3A11 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA12 +; Global: Branch target inside Sub: taken when BA12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA12: + lda #$BB ; CPU:$BA12 PRG:3A12 A9 BB + sta VramWritePtrHi ; CPU:$BA14 PRG:3A14 85 8B + lda #$51 ; CPU:$BA16 PRG:3A16 A9 51 + sta VramWritePtrLo ; CPU:$BA18 PRG:3A18 85 8A + jsr Sub_A75A ; CPU:$BA1A PRG:3A1A 20 5A A7 + ldy #$3F ; CPU:$BA1D PRG:3A1D A0 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative14 +; Global: Branch target inside Sub: taken when OnNonnegative14. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative14: + lda $BB71,y ; CPU:$BA1F PRG:3A1F B9 71 BB + sta $0300,y ; CPU:$BA22 PRG:3A22 99 00 03 + dey ; CPU:$BA25 PRG:3A25 88 + bpl Sub_OnNonnegative14 ; CPU:$BA26 PRG:3A26 10 F7 + ldy #$3F ; CPU:$BA28 PRG:3A28 A0 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative15 +; Global: Branch target inside Sub: taken when OnNonnegative15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative15: + lda $BB71,y ; CPU:$BA2A PRG:3A2A B9 71 BB + sta $0340,y ; CPU:$BA2D PRG:3A2D 99 40 03 + dey ; CPU:$BA30 PRG:3A30 88 + bpl Sub_OnNonnegative15 ; CPU:$BA31 PRG:3A31 10 F7 + lda #$BB ; CPU:$BA33 PRG:3A33 A9 BB + sta VramWritePtrHi ; CPU:$BA35 PRG:3A35 85 8B + lda #$71 ; CPU:$BA37 PRG:3A37 A9 71 + sta VramWritePtrLo ; CPU:$BA39 PRG:3A39 85 8A + lda #$23 ; CPU:$BA3B PRG:3A3B A9 23 + sta PpuAddrHigh ; CPU:$BA3D PRG:3A3D 85 89 + lda #$C0 ; CPU:$BA3F PRG:3A3F A9 C0 + sta PpuAddrLow ; CPU:$BA41 PRG:3A41 85 88 + lda #$40 ; CPU:$BA43 PRG:3A43 A9 40 + sta PlayerX ; CPU:$BA45 PRG:3A45 85 87 + jsr Sub_801B ; CPU:$BA47 PRG:3A47 20 1B 80 + lda #$BB ; CPU:$BA4A PRG:3A4A A9 BB + sta VramWritePtrHi ; CPU:$BA4C PRG:3A4C 85 8B + lda #$B1 ; CPU:$BA4E PRG:3A4E A9 B1 + sta VramWritePtrLo ; CPU:$BA50 PRG:3A50 85 8A + lda #$20 ; CPU:$BA52 PRG:3A52 A9 20 + sta PpuAddrHigh ; CPU:$BA54 PRG:3A54 85 89 + lda #$45 ; CPU:$BA56 PRG:3A56 A9 45 + sta PpuAddrLow ; CPU:$BA58 PRG:3A58 85 88 + lda #$03 ; CPU:$BA5A PRG:3A5A A9 03 + sta PlayerX ; CPU:$BA5C PRG:3A5C 85 87 + jsr Sub_801B ; CPU:$BA5E PRG:3A5E 20 1B 80 + lda #$04 ; CPU:$BA61 PRG:3A61 A9 04 + sta VramWritePtrHi ; CPU:$BA63 PRG:3A63 85 8B + lda #$4A ; CPU:$BA65 PRG:3A65 A9 4A + sta VramWritePtrLo ; CPU:$BA67 PRG:3A67 85 8A + lda #$20 ; CPU:$BA69 PRG:3A69 A9 20 + sta PpuAddrHigh ; CPU:$BA6B PRG:3A6B 85 89 + lda #$63 ; CPU:$BA6D PRG:3A6D A9 63 + sta PpuAddrLow ; CPU:$BA6F PRG:3A6F 85 88 + lda #$06 ; CPU:$BA71 PRG:3A71 A9 06 + sta PlayerX ; CPU:$BA73 PRG:3A73 85 87 + jsr Sub_801B ; CPU:$BA75 PRG:3A75 20 1B 80 + lda #$BB ; CPU:$BA78 PRG:3A78 A9 BB + sta VramWritePtrHi ; CPU:$BA7A PRG:3A7A 85 8B + lda #$B7 ; CPU:$BA7C PRG:3A7C A9 B7 + sta VramWritePtrLo ; CPU:$BA7E PRG:3A7E 85 8A + lda #$20 ; CPU:$BA80 PRG:3A80 A9 20 + sta PpuAddrHigh ; CPU:$BA82 PRG:3A82 85 89 + lda #$4C ; CPU:$BA84 PRG:3A84 A9 4C + sta PpuAddrLow ; CPU:$BA86 PRG:3A86 85 88 + lda #$08 ; CPU:$BA88 PRG:3A88 A9 08 + sta PlayerX ; CPU:$BA8A PRG:3A8A 85 87 + jsr Sub_801B ; CPU:$BA8C PRG:3A8C 20 1B 80 + lda #$07 ; CPU:$BA8F PRG:3A8F A9 07 + sta VramWritePtrHi ; CPU:$BA91 PRG:3A91 85 8B + lda #$BF ; CPU:$BA93 PRG:3A93 A9 BF + sta VramWritePtrLo ; CPU:$BA95 PRG:3A95 85 8A + lda #$20 ; CPU:$BA97 PRG:3A97 A9 20 + sta PpuAddrHigh ; CPU:$BA99 PRG:3A99 85 89 + lda #$6D ; CPU:$BA9B PRG:3A9B A9 6D + sta PpuAddrLow ; CPU:$BA9D PRG:3A9D 85 88 + lda #$06 ; CPU:$BA9F PRG:3A9F A9 06 + sta PlayerX ; CPU:$BAA1 PRG:3AA1 85 87 + jsr Sub_801B ; CPU:$BAA3 PRG:3AA3 20 1B 80 + lda $0381 ; CPU:$BAA6 PRG:3AA6 AD 81 03 + beq Sub_Loop203 ; CPU:$BAA9 PRG:3AA9 F0 2E + lda #$BB ; CPU:$BAAB PRG:3AAB A9 BB + sta VramWritePtrHi ; CPU:$BAAD PRG:3AAD 85 8B + lda #$B4 ; CPU:$BAAF PRG:3AAF A9 B4 + sta VramWritePtrLo ; CPU:$BAB1 PRG:3AB1 85 8A + lda #$20 ; CPU:$BAB3 PRG:3AB3 A9 20 + sta PpuAddrHigh ; CPU:$BAB5 PRG:3AB5 85 89 + lda #$59 ; CPU:$BAB7 PRG:3AB7 A9 59 + sta PpuAddrLow ; CPU:$BAB9 PRG:3AB9 85 88 + lda #$03 ; CPU:$BABB PRG:3ABB A9 03 + sta PlayerX ; CPU:$BABD PRG:3ABD 85 87 + jsr Sub_801B ; CPU:$BABF PRG:3ABF 20 1B 80 + lda #$04 ; CPU:$BAC2 PRG:3AC2 A9 04 + sta VramWritePtrHi ; CPU:$BAC4 PRG:3AC4 85 8B + lda #$6B ; CPU:$BAC6 PRG:3AC6 A9 6B + sta VramWritePtrLo ; CPU:$BAC8 PRG:3AC8 85 8A + lda #$20 ; CPU:$BACA PRG:3ACA A9 20 + sta PpuAddrHigh ; CPU:$BACC PRG:3ACC 85 89 + lda #$77 ; CPU:$BACE PRG:3ACE A9 77 + sta PpuAddrLow ; CPU:$BAD0 PRG:3AD0 85 88 + lda #$06 ; CPU:$BAD2 PRG:3AD2 A9 06 + sta PlayerX ; CPU:$BAD4 PRG:3AD4 85 87 + jsr Sub_801B ; CPU:$BAD6 PRG:3AD6 20 1B 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop203 +; Global: Branch target inside Sub: taken when Loop203. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop203: + lda #$BB ; CPU:$BAD9 PRG:3AD9 A9 BB + sta VramWritePtrHi ; CPU:$BADB PRG:3ADB 85 8B + lda #$BF ; CPU:$BADD PRG:3ADD A9 BF + sta VramWritePtrLo ; CPU:$BADF PRG:3ADF 85 8A + lda #$A0 ; CPU:$BAE1 PRG:3AE1 A9 A0 + sta PlayerX ; CPU:$BAE3 PRG:3AE3 85 87 + lda #$21 ; CPU:$BAE5 PRG:3AE5 A9 21 + sta PpuAddrHigh ; CPU:$BAE7 PRG:3AE7 85 89 + lda #$00 ; CPU:$BAE9 PRG:3AE9 A9 00 + sta PpuAddrLow ; CPU:$BAEB PRG:3AEB 85 88 + jsr Sub_801B ; CPU:$BAED PRG:3AED 20 1B 80 + lda #$BC ; CPU:$BAF0 PRG:3AF0 A9 BC + sta VramWritePtrHi ; CPU:$BAF2 PRG:3AF2 85 8B + lda #$5F ; CPU:$BAF4 PRG:3AF4 A9 5F + sta VramWritePtrLo ; CPU:$BAF6 PRG:3AF6 85 8A + lda #$22 ; CPU:$BAF8 PRG:3AF8 A9 22 + sta PpuAddrHigh ; CPU:$BAFA PRG:3AFA 85 89 + lda #$0B ; CPU:$BAFC PRG:3AFC A9 0B + sta PpuAddrLow ; CPU:$BAFE PRG:3AFE 85 88 + lda #$09 ; CPU:$BB00 PRG:3B00 A9 09 + sta PlayerX ; CPU:$BB02 PRG:3B02 85 87 + jsr Sub_801B ; CPU:$BB04 PRG:3B04 20 1B 80 + lda #$BC ; CPU:$BB07 PRG:3B07 A9 BC + sta VramWritePtrHi ; CPU:$BB09 PRG:3B09 85 8B + lda #$68 ; CPU:$BB0B PRG:3B0B A9 68 + sta VramWritePtrLo ; CPU:$BB0D PRG:3B0D 85 8A + lda #$22 ; CPU:$BB0F PRG:3B0F A9 22 + sta PpuAddrHigh ; CPU:$BB11 PRG:3B11 85 89 + lda #$4B ; CPU:$BB13 PRG:3B13 A9 4B + sta PpuAddrLow ; CPU:$BB15 PRG:3B15 85 88 + lda #$09 ; CPU:$BB17 PRG:3B17 A9 09 + sta PlayerX ; CPU:$BB19 PRG:3B19 85 87 + jsr Sub_801B ; CPU:$BB1B PRG:3B1B 20 1B 80 + lda $07C5 ; CPU:$BB1E PRG:3B1E AD C5 07 + beq Sub_Loop204 ; CPU:$BB21 PRG:3B21 F0 17 + lda #$BC ; CPU:$BB23 PRG:3B23 A9 BC + sta VramWritePtrHi ; CPU:$BB25 PRG:3B25 85 8B + lda #$71 ; CPU:$BB27 PRG:3B27 A9 71 + sta VramWritePtrLo ; CPU:$BB29 PRG:3B29 85 8A + lda #$22 ; CPU:$BB2B PRG:3B2B A9 22 + sta PpuAddrHigh ; CPU:$BB2D PRG:3B2D 85 89 + lda #$8B ; CPU:$BB2F PRG:3B2F A9 8B + sta PpuAddrLow ; CPU:$BB31 PRG:3B31 85 88 + lda #$08 ; CPU:$BB33 PRG:3B33 A9 08 + sta PlayerX ; CPU:$BB35 PRG:3B35 85 87 + jsr Sub_801B ; CPU:$BB37 PRG:3B37 20 1B 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop204 +; Global: Branch target inside Sub: taken when Loop204. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop204: + lda #$BC ; CPU:$BB3A PRG:3B3A A9 BC + sta VramWritePtrHi ; CPU:$BB3C PRG:3B3C 85 8B + lda #$79 ; CPU:$BB3E PRG:3B3E A9 79 + sta VramWritePtrLo ; CPU:$BB40 PRG:3B40 85 8A + lda #$0D ; CPU:$BB42 PRG:3B42 A9 0D + sta PlayerX ; CPU:$BB44 PRG:3B44 85 87 + lda #$23 ; CPU:$BB46 PRG:3B46 A9 23 + sta PpuAddrHigh ; CPU:$BB48 PRG:3B48 85 89 + lda #$09 ; CPU:$BB4A PRG:3B4A A9 09 + sta PpuAddrLow ; CPU:$BB4C PRG:3B4C 85 88 + jmp Sub_801B ; CPU:$BB4E PRG:3B4E 4C 1B 80 +; ---- data $BB51-$BC85 (309 bytes) ---- +; referenced by `lda $BB71,y` at $BA1F (operand $BB71 falls inside this region) +; referenced by `lda $BB71,y` at $BA2A (operand $BB71 falls inside this region) +LevelGraphicData: + .byte $0F, $20, $20, $20, $0F, $20, $29, $09, $0F, $35, $26, $06, $0F, $16, $16, $16 ; CPU:$BB51 PRG:-4AF 0F 20 20 20 0F 20 29 09 0F 35 26 06 0F 16 16 16 + .byte $0F, $16, $2C, $1C, $0F, $17, $2B, $21, $0F, $15, $28, $35, $0F, $18, $14, $38 ; CPU:$BB61 PRG:3B61 0F 16 2C 1C 0F 17 2B 21 0F 15 28 35 0F 18 14 38 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$BB71 PRG:3B71 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55 ; CPU:$BB81 PRG:3B81 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$BB91 PRG:3B91 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$BBA1 PRG:3BA1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $01, $15, $12, $02, $15, $12, $0D, $0E, $FF, $14, $0B, $11, $13, $0C, $FF, $FF ; CPU:$BBB1 PRG:3BB1 01 15 12 02 15 12 0D 0E FF 14 0B 11 13 0C FF FF + .byte $FF, $FF, $FF, $FF, $FF, $D1, $D2, $D3, $FF, $D1, $DE, $DF, $E0, $FF, $FF, $ED ; CPU:$BBC1 PRG:3BC1 FF FF FF FF FF D1 D2 D3 FF D1 DE DF E0 FF FF ED + .byte $EE, $D3, $FF, $F8, $F9, $F9, $E0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BBD1 PRG:3BD1 EE D3 FF F8 F9 F9 E0 FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $D4, $D5, $D6, $FF, $E1, $E2, $E3, $E4, $FF, $EF, $F0 ; CPU:$BBE1 PRG:3BE1 FF FF FF FF FF D4 D5 D6 FF E1 E2 E3 E4 FF EF F0 + .byte $D5, $D6, $FF, $FA, $FB, $FC, $E4, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BBF1 PRG:3BF1 D5 D6 FF FA FB FC E4 FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $D7, $D5, $D6, $FF, $E5, $E6, $E7, $E4, $FF, $F1, $F2 ; CPU:$BC01 PRG:3C01 FF FF FF FF FF D7 D5 D6 FF E5 E6 E7 E4 FF F1 F2 + .byte $D9, $F3, $FF, $FD, $FE, $C0, $C1, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BC11 PRG:3C11 D9 F3 FF FD FE C0 C1 FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $D8, $D9, $DA, $FF, $E8, $E9, $EA, $EB, $FF, $F4, $F5 ; CPU:$BC21 PRG:3C21 FF FF FF FF FF D8 D9 DA FF E8 E9 EA EB FF F4 F5 + .byte $F6, $F7, $FF, $C2, $C3, $C4, $D0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BC31 PRG:3C31 F6 F7 FF C2 C3 C4 D0 FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $DB, $DC, $DD, $FF, $DB, $DC, $DC, $EC, $FF, $FF, $DB ; CPU:$BC41 PRG:3C41 FF FF FF FF FF DB DC DD FF DB DC DC EC FF FF DB + .byte $DC, $DD, $FF, $DB, $DC, $DC, $DD, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $01, $FF ; CPU:$BC51 PRG:3C51 DC DD FF DB DC DC DD FF FF FF FF FF FF FF 01 FF + .byte $12, $0F, $0A, $16, $0C, $13, $FF, $02, $FF, $12, $0F, $0A, $16, $0C, $13, $14 ; CPU:$BC61 PRG:3C61 12 0F 0A 16 0C 13 FF 02 FF 12 0F 0A 16 0C 13 14 + .byte $0B, $11, $2F, $18, $0E, $2F, $15, $0C, $17, $FF, $01, $09, $08, $05, $FF, $0B ; CPU:$BC71 PRG:3C71 0B 11 2F 18 0E 2F 15 0C 17 FF 01 09 08 05 FF 0B + .byte $0A, $12, $0B, $11, $10 ; CPU:$BC81 PRG:3C81 0A 12 0B 11 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_BC86 +; Global: Branch target inside Sub: taken when BC86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BC86: + lda #$FF ; CPU:$BC86 PRG:3C86 A9 FF + sta $0723 ; CPU:$BC88 PRG:3C88 8D 23 07 + lda #$00 ; CPU:$BC8B PRG:3C8B A9 00 + sta $0385 ; CPU:$BC8D PRG:3C8D 8D 85 03 + sta Zp6E ; CPU:$BC90 PRG:3C90 85 6E + sta Zp6D ; CPU:$BC92 PRG:3C92 85 6D + sta $078F ; CPU:$BC94 PRG:3C94 8D 8F 07 + lda #$8F ; CPU:$BC97 PRG:3C97 A9 8F + sta Zp6B ; CPU:$BC99 PRG:3C99 85 6B + lda #$07 ; CPU:$BC9B PRG:3C9B A9 07 + sta Zp6C ; CPU:$BC9D PRG:3C9D 85 6C + lda #$00 ; CPU:$BC9F PRG:3C9F A9 00 + sta $048C ; CPU:$BCA1 PRG:3CA1 8D 8C 04 + lda #$00 ; CPU:$BCA4 PRG:3CA4 A9 00 + sta $0723 ; CPU:$BCA6 PRG:3CA6 8D 23 07 + lda #$01 ; CPU:$BCA9 PRG:3CA9 A9 01 + sta $0385 ; CPU:$BCAB PRG:3CAB 8D 85 03 + rts ; CPU:$BCAE PRG:3CAE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCAF +; Global: Branch target inside Sub: taken when BCAF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCAF: + lda #$0A ; CPU:$BCAF PRG:3CAF A9 0A + sta PlayerY ; CPU:$BCB1 PRG:3CB1 85 86 + lda #$00 ; CPU:$BCB3 PRG:3CB3 A9 00 + sta PlayerX ; CPU:$BCB5 PRG:3CB5 85 87 + jmp Sub_C251 ; CPU:$BCB7 PRG:3CB7 4C 51 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCBA +; Global: Branch target inside Sub: taken when BCBA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCBA: + lda #$08 ; CPU:$BCBA PRG:3CBA A9 08 + jmp Sub_A06B ; CPU:$BCBC PRG:3CBC 4C 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero27 +; Global: Branch target inside Sub: taken when OnNonzero27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero27: + lda ZpDD ; CPU:$BCBF PRG:3CBF A5 DD + sta VramWritePtrLo ; CPU:$BCC1 PRG:3CC1 85 8A + lda ZpDE ; CPU:$BCC3 PRG:3CC3 A5 DE + sta VramWritePtrHi ; CPU:$BCC5 PRG:3CC5 85 8B + lda ZpDF ; CPU:$BCC7 PRG:3CC7 A5 DF + sta PpuAddrLow ; CPU:$BCC9 PRG:3CC9 85 88 + lda ZpE0 ; CPU:$BCCB PRG:3CCB A5 E0 + sta PpuAddrHigh ; CPU:$BCCD PRG:3CCD 85 89 + lda #$01 ; CPU:$BCCF PRG:3CCF A9 01 + sta PlayerX ; CPU:$BCD1 PRG:3CD1 85 87 + sta PlayerY ; CPU:$BCD3 PRG:3CD3 85 86 + jsr Sub_801B ; CPU:$BCD5 PRG:3CD5 20 1B 80 + jsr Sub_BCBA ; CPU:$BCD8 PRG:3CD8 20 BA BC + jsr Sub_BCAF ; CPU:$BCDB PRG:3CDB 20 AF BC + inc ZpDD ; CPU:$BCDE PRG:3CDE E6 DD + bne Sub_Loop205 ; CPU:$BCE0 PRG:3CE0 D0 02 + inc ZpDE ; CPU:$BCE2 PRG:3CE2 E6 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop205 +; Global: Branch target inside Sub: taken when Loop205. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop205: + inc ZpDF ; CPU:$BCE4 PRG:3CE4 E6 DF + bne Sub_Loop206 ; CPU:$BCE6 PRG:3CE6 D0 02 + inc ZpE0 ; CPU:$BCE8 PRG:3CE8 E6 E0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop206 +; Global: Branch target inside Sub: taken when Loop206. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop206: + dec ZpE2 ; CPU:$BCEA PRG:3CEA C6 E2 + bne Sub_OnNonzero27 ; CPU:$BCEC PRG:3CEC D0 D1 + jmp Sub_BCAF ; CPU:$BCEE PRG:3CEE 4C AF BC +; ----------------------------------------------------------------------------- +; Routine: Sub_BCF1 +; Global: Branch target inside Sub: taken when BCF1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCF1: + lda PpuCtrlShadow ; CPU:$BCF1 PRG:3CF1 A5 8C + and #$FD ; CPU:$BCF3 PRG:3CF3 29 FD + sta PpuCtrlShadow ; CPU:$BCF5 PRG:3CF5 85 8C + lda #$00 ; CPU:$BCF7 PRG:3CF7 A9 00 + sta Zp8F ; CPU:$BCF9 PRG:3CF9 85 8F + sta Zp90 ; CPU:$BCFB PRG:3CFB 85 90 + jsr Sub_B93D ; CPU:$BCFD PRG:3CFD 20 3D B9 + jsr Sub_B96C ; CPU:$BD00 PRG:3D00 20 6C B9 + lda #$51 ; CPU:$BD03 PRG:3D03 A9 51 + sta VramWritePtrLo ; CPU:$BD05 PRG:3D05 85 8A + lda #$BB ; CPU:$BD07 PRG:3D07 A9 BB + sta VramWritePtrHi ; CPU:$BD09 PRG:3D09 85 8B + jsr Sub_A75A ; CPU:$BD0B PRG:3D0B 20 5A A7 + ldy #$3F ; CPU:$BD0E PRG:3D0E A0 3F + lda #$00 ; CPU:$BD10 PRG:3D10 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative16 +; Global: Branch target inside Sub: taken when OnNonnegative16. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative16: + sta $0300,y ; CPU:$BD12 PRG:3D12 99 00 03 + dey ; CPU:$BD15 PRG:3D15 88 + bpl Sub_OnNonnegative16 ; CPU:$BD16 PRG:3D16 10 FA + lda #$BB ; CPU:$BD18 PRG:3D18 A9 BB + sta VramWritePtrHi ; CPU:$BD1A PRG:3D1A 85 8B + lda #$71 ; CPU:$BD1C PRG:3D1C A9 71 + sta VramWritePtrLo ; CPU:$BD1E PRG:3D1E 85 8A + lda #$23 ; CPU:$BD20 PRG:3D20 A9 23 + sta PpuAddrHigh ; CPU:$BD22 PRG:3D22 85 89 + lda #$C0 ; CPU:$BD24 PRG:3D24 A9 C0 + sta PpuAddrLow ; CPU:$BD26 PRG:3D26 85 88 + lda #$40 ; CPU:$BD28 PRG:3D28 A9 40 + sta PlayerX ; CPU:$BD2A PRG:3D2A 85 87 + jsr Sub_801B ; CPU:$BD2C PRG:3D2C 20 1B 80 + lda PpuCtrlShadow ; CPU:$BD2F PRG:3D2F A5 8C + and #$EF ; CPU:$BD31 PRG:3D31 29 EF + ora #$08 ; CPU:$BD33 PRG:3D33 09 08 + sta PpuCtrlShadow ; CPU:$BD35 PRG:3D35 85 8C + jmp Sub_C275 ; CPU:$BD37 PRG:3D37 4C 75 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD3A +; Global: Branch target inside Sub: taken when BD3A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD3A: + lda #$07 ; CPU:$BD3A PRG:3D3A A9 07 + jsr Sub_A06B ; CPU:$BD3C PRG:3D3C 20 6B A0 + lda #$09 ; CPU:$BD3F PRG:3D3F A9 09 + jsr Sub_A06B ; CPU:$BD41 PRG:3D41 20 6B A0 + lda $0384 ; CPU:$BD44 PRG:3D44 AD 84 03 + bne Sub_Loop208 ; CPU:$BD47 PRG:3D47 D0 22 + lda $0386 ; CPU:$BD49 PRG:3D49 AD 86 03 + bne Sub_Loop207 ; CPU:$BD4C PRG:3D4C D0 10 + ldy #$05 ; CPU:$BD4E PRG:3D4E A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero28 +; Global: Branch target inside Sub: taken when OnNonzero28. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero28: + lda $0427,y ; CPU:$BD50 PRG:3D50 B9 27 04 + sta $044A,y ; CPU:$BD53 PRG:3D53 99 4A 04 + dey ; CPU:$BD56 PRG:3D56 88 + cpy #$FF ; CPU:$BD57 PRG:3D57 C0 FF + bne Sub_OnNonzero28 ; CPU:$BD59 PRG:3D59 D0 F5 + jmp Sub_Loop208 ; CPU:$BD5B PRG:3D5B 4C 6B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop207 +; Global: Branch target inside Sub: taken when Loop207. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop207: + ldy #$05 ; CPU:$BD5E PRG:3D5E A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero29 +; Global: Branch target inside Sub: taken when OnNonzero29. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero29: + lda $0427,y ; CPU:$BD60 PRG:3D60 B9 27 04 + sta $046B,y ; CPU:$BD63 PRG:3D63 99 6B 04 + dey ; CPU:$BD66 PRG:3D66 88 + cpy #$FF ; CPU:$BD67 PRG:3D67 C0 FF + bne Sub_OnNonzero29 ; CPU:$BD69 PRG:3D69 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop208 +; Global: Branch target inside Sub: taken when Loop208. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop208: + jsr Sub_BCF1 ; CPU:$BD6B PRG:3D6B 20 F1 BC + lda #$BF ; CPU:$BD6E PRG:3D6E A9 BF + sta VramWritePtrHi ; CPU:$BD70 PRG:3D70 85 8B + lda #$0F ; CPU:$BD72 PRG:3D72 A9 0F + sta VramWritePtrLo ; CPU:$BD74 PRG:3D74 85 8A + lda #$20 ; CPU:$BD76 PRG:3D76 A9 20 + sta PpuAddrHigh ; CPU:$BD78 PRG:3D78 85 89 + lda #$45 ; CPU:$BD7A PRG:3D7A A9 45 + sta PpuAddrLow ; CPU:$BD7C PRG:3D7C 85 88 + lda #$03 ; CPU:$BD7E PRG:3D7E A9 03 + sta PlayerX ; CPU:$BD80 PRG:3D80 85 87 + jsr Sub_801B ; CPU:$BD82 PRG:3D82 20 1B 80 + lda #$04 ; CPU:$BD85 PRG:3D85 A9 04 + sta VramWritePtrHi ; CPU:$BD87 PRG:3D87 85 8B + lda #$4A ; CPU:$BD89 PRG:3D89 A9 4A + sta VramWritePtrLo ; CPU:$BD8B PRG:3D8B 85 8A + lda #$20 ; CPU:$BD8D PRG:3D8D A9 20 + sta PpuAddrHigh ; CPU:$BD8F PRG:3D8F 85 89 + lda #$63 ; CPU:$BD91 PRG:3D91 A9 63 + sta PpuAddrLow ; CPU:$BD93 PRG:3D93 85 88 + lda #$06 ; CPU:$BD95 PRG:3D95 A9 06 + sta PlayerX ; CPU:$BD97 PRG:3D97 85 87 + jsr Sub_801B ; CPU:$BD99 PRG:3D99 20 1B 80 + lda #$BF ; CPU:$BD9C PRG:3D9C A9 BF + sta VramWritePtrHi ; CPU:$BD9E PRG:3D9E 85 8B + lda #$15 ; CPU:$BDA0 PRG:3DA0 A9 15 + sta VramWritePtrLo ; CPU:$BDA2 PRG:3DA2 85 8A + lda #$20 ; CPU:$BDA4 PRG:3DA4 A9 20 + sta PpuAddrHigh ; CPU:$BDA6 PRG:3DA6 85 89 + lda #$4C ; CPU:$BDA8 PRG:3DA8 A9 4C + sta PpuAddrLow ; CPU:$BDAA PRG:3DAA 85 88 + lda #$08 ; CPU:$BDAC PRG:3DAC A9 08 + sta PlayerX ; CPU:$BDAE PRG:3DAE 85 87 + jsr Sub_801B ; CPU:$BDB0 PRG:3DB0 20 1B 80 + lda #$07 ; CPU:$BDB3 PRG:3DB3 A9 07 + sta VramWritePtrHi ; CPU:$BDB5 PRG:3DB5 85 8B + lda #$BF ; CPU:$BDB7 PRG:3DB7 A9 BF + sta VramWritePtrLo ; CPU:$BDB9 PRG:3DB9 85 8A + lda #$20 ; CPU:$BDBB PRG:3DBB A9 20 + sta PpuAddrHigh ; CPU:$BDBD PRG:3DBD 85 89 + lda #$6D ; CPU:$BDBF PRG:3DBF A9 6D + sta PpuAddrLow ; CPU:$BDC1 PRG:3DC1 85 88 + lda #$06 ; CPU:$BDC3 PRG:3DC3 A9 06 + sta PlayerX ; CPU:$BDC5 PRG:3DC5 85 87 + jsr Sub_801B ; CPU:$BDC7 PRG:3DC7 20 1B 80 + lda $0381 ; CPU:$BDCA PRG:3DCA AD 81 03 + beq Sub_Loop209 ; CPU:$BDCD PRG:3DCD F0 2E + lda #$BF ; CPU:$BDCF PRG:3DCF A9 BF + sta VramWritePtrHi ; CPU:$BDD1 PRG:3DD1 85 8B + lda #$12 ; CPU:$BDD3 PRG:3DD3 A9 12 + sta VramWritePtrLo ; CPU:$BDD5 PRG:3DD5 85 8A + lda #$20 ; CPU:$BDD7 PRG:3DD7 A9 20 + sta PpuAddrHigh ; CPU:$BDD9 PRG:3DD9 85 89 + lda #$59 ; CPU:$BDDB PRG:3DDB A9 59 + sta PpuAddrLow ; CPU:$BDDD PRG:3DDD 85 88 + lda #$03 ; CPU:$BDDF PRG:3DDF A9 03 + sta PlayerX ; CPU:$BDE1 PRG:3DE1 85 87 + jsr Sub_801B ; CPU:$BDE3 PRG:3DE3 20 1B 80 + lda #$04 ; CPU:$BDE6 PRG:3DE6 A9 04 + sta VramWritePtrHi ; CPU:$BDE8 PRG:3DE8 85 8B + lda #$6B ; CPU:$BDEA PRG:3DEA A9 6B + sta VramWritePtrLo ; CPU:$BDEC PRG:3DEC 85 8A + lda #$20 ; CPU:$BDEE PRG:3DEE A9 20 + sta PpuAddrHigh ; CPU:$BDF0 PRG:3DF0 85 89 + lda #$77 ; CPU:$BDF2 PRG:3DF2 A9 77 + sta PpuAddrLow ; CPU:$BDF4 PRG:3DF4 85 88 + lda #$06 ; CPU:$BDF6 PRG:3DF6 A9 06 + sta PlayerX ; CPU:$BDF8 PRG:3DF8 85 87 + jsr Sub_801B ; CPU:$BDFA PRG:3DFA 20 1B 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop209 +; Global: Branch target inside Sub: taken when Loop209. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop209: + lda #$BF ; CPU:$BDFD PRG:3DFD A9 BF + sta ZpDE ; CPU:$BDFF PRG:3DFF 85 DE + lda #$36 ; CPU:$BE01 PRG:3E01 A9 36 + sta ZpDD ; CPU:$BE03 PRG:3E03 85 DD + lda #$21 ; CPU:$BE05 PRG:3E05 A9 21 + sta ZpE0 ; CPU:$BE07 PRG:3E07 85 E0 + lda #$04 ; CPU:$BE09 PRG:3E09 A9 04 + sta ZpDF ; CPU:$BE0B PRG:3E0B 85 DF + lda #$0D ; CPU:$BE0D PRG:3E0D A9 0D + sta ZpE2 ; CPU:$BE0F PRG:3E0F 85 E2 + jsr Sub_OnNonzero27 ; CPU:$BE11 PRG:3E11 20 BF BC + lda #$04 ; CPU:$BE14 PRG:3E14 A9 04 + sta ZpDE ; CPU:$BE16 PRG:3E16 85 DE + lda #$41 ; CPU:$BE18 PRG:3E18 A9 41 + sta ZpDD ; CPU:$BE1A PRG:3E1A 85 DD + lda #$21 ; CPU:$BE1C PRG:3E1C A9 21 + sta ZpE0 ; CPU:$BE1E PRG:3E1E 85 E0 + lda #$15 ; CPU:$BE20 PRG:3E20 A9 15 + sta ZpDF ; CPU:$BE22 PRG:3E22 85 DF + lda #$05 ; CPU:$BE24 PRG:3E24 A9 05 + sta ZpE2 ; CPU:$BE26 PRG:3E26 85 E2 + jsr Sub_OnNonzero27 ; CPU:$BE28 PRG:3E28 20 BF BC + lda #$BF ; CPU:$BE2B PRG:3E2B A9 BF + sta ZpDE ; CPU:$BE2D PRG:3E2D 85 DE + lda #$43 ; CPU:$BE2F PRG:3E2F A9 43 + sta ZpDD ; CPU:$BE31 PRG:3E31 85 DD + lda #$21 ; CPU:$BE33 PRG:3E33 A9 21 + sta ZpE0 ; CPU:$BE35 PRG:3E35 85 E0 + lda #$44 ; CPU:$BE37 PRG:3E37 A9 44 + sta ZpDF ; CPU:$BE39 PRG:3E39 85 DF + lda #$0A ; CPU:$BE3B PRG:3E3B A9 0A + sta ZpE2 ; CPU:$BE3D PRG:3E3D 85 E2 + jsr Sub_OnNonzero27 ; CPU:$BE3F PRG:3E3F 20 BF BC + jsr Sub_A893 ; CPU:$BE42 PRG:3E42 20 93 A8 + lda $038B ; CPU:$BE45 PRG:3E45 AD 8B 03 + bne Sub_Loop210 ; CPU:$BE48 PRG:3E48 D0 02 + lda #$FF ; CPU:$BE4A PRG:3E4A A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop210 +; Global: Branch target inside Sub: taken when Loop210. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop210: + sta $0720 ; CPU:$BE4C PRG:3E4C 8D 20 07 + lda VramWritePtrHi ; CPU:$BE4F PRG:3E4F A5 8B + sta $0721 ; CPU:$BE51 PRG:3E51 8D 21 07 + lda VramWritePtrLo ; CPU:$BE54 PRG:3E54 A5 8A + sta $0722 ; CPU:$BE56 PRG:3E56 8D 22 07 + lda #$07 ; CPU:$BE59 PRG:3E59 A9 07 + sta ZpDE ; CPU:$BE5B PRG:3E5B 85 DE + lda #$20 ; CPU:$BE5D PRG:3E5D A9 20 + sta ZpDD ; CPU:$BE5F PRG:3E5F 85 DD + lda #$21 ; CPU:$BE61 PRG:3E61 A9 21 + sta ZpE0 ; CPU:$BE63 PRG:3E63 85 E0 + lda #$57 ; CPU:$BE65 PRG:3E65 A9 57 + sta ZpDF ; CPU:$BE67 PRG:3E67 85 DF + lda #$03 ; CPU:$BE69 PRG:3E69 A9 03 + sta ZpE2 ; CPU:$BE6B PRG:3E6B 85 E2 + jsr Sub_OnNonzero27 ; CPU:$BE6D PRG:3E6D 20 BF BC + lda #$BF ; CPU:$BE70 PRG:3E70 A9 BF + sta ZpDE ; CPU:$BE72 PRG:3E72 85 DE + lda #$4D ; CPU:$BE74 PRG:3E74 A9 4D + sta ZpDD ; CPU:$BE76 PRG:3E76 85 DD + lda #$21 ; CPU:$BE78 PRG:3E78 A9 21 + sta ZpE0 ; CPU:$BE7A PRG:3E7A 85 E0 + lda #$5A ; CPU:$BE7C PRG:3E7C A9 5A + sta ZpDF ; CPU:$BE7E PRG:3E7E 85 DF + lda #$01 ; CPU:$BE80 PRG:3E80 A9 01 + sta ZpE2 ; CPU:$BE82 PRG:3E82 85 E2 + jsr Sub_OnNonzero27 ; CPU:$BE84 PRG:3E84 20 BF BC + lda #$BF ; CPU:$BE87 PRG:3E87 A9 BF + sta VramWritePtrHi ; CPU:$BE89 PRG:3E89 85 8B + lda #$2D ; CPU:$BE8B PRG:3E8B A9 2D + sta VramWritePtrLo ; CPU:$BE8D PRG:3E8D 85 8A + lda #$22 ; CPU:$BE8F PRG:3E8F A9 22 + sta PpuAddrHigh ; CPU:$BE91 PRG:3E91 85 89 + lda #$4B ; CPU:$BE93 PRG:3E93 A9 4B + sta PpuAddrLow ; CPU:$BE95 PRG:3E95 85 88 + lda #$09 ; CPU:$BE97 PRG:3E97 A9 09 + sta PlayerX ; CPU:$BE99 PRG:3E99 85 87 + jsr Sub_801B ; CPU:$BE9B PRG:3E9B 20 1B 80 + lda #$FF ; CPU:$BE9E PRG:3E9E A9 FF + sta $0723 ; CPU:$BEA0 PRG:3EA0 8D 23 07 + lda #$00 ; CPU:$BEA3 PRG:3EA3 A9 00 + sta Zp6E ; CPU:$BEA5 PRG:3EA5 85 6E + sta Zp6D ; CPU:$BEA7 PRG:3EA7 85 6D + sta $078F ; CPU:$BEA9 PRG:3EA9 8D 8F 07 + lda #$8F ; CPU:$BEAC PRG:3EAC A9 8F + sta Zp6B ; CPU:$BEAE PRG:3EAE 85 6B + lda #$07 ; CPU:$BEB0 PRG:3EB0 A9 07 + sta Zp6C ; CPU:$BEB2 PRG:3EB2 85 6C + lda #$00 ; CPU:$BEB4 PRG:3EB4 A9 00 + sta $0437 ; CPU:$BEB6 PRG:3EB6 8D 37 04 + lda #$00 ; CPU:$BEB9 PRG:3EB9 A9 00 + sta $0723 ; CPU:$BEBB PRG:3EBB 8D 23 07 + lda $0386 ; CPU:$BEBE PRG:3EBE AD 86 03 + beq Sub_Loop211 ; CPU:$BEC1 PRG:3EC1 F0 0B + lda #$BF ; CPU:$BEC3 PRG:3EC3 A9 BF + sta VramWritePtrHi ; CPU:$BEC5 PRG:3EC5 85 8B + lda #$25 ; CPU:$BEC7 PRG:3EC7 A9 25 + sta VramWritePtrLo ; CPU:$BEC9 PRG:3EC9 85 8A + jmp Sub_BED6 ; CPU:$BECB PRG:3ECB 4C D6 BE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop211 +; Global: Branch target inside Sub: taken when Loop211. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop211: + lda #$BF ; CPU:$BECE PRG:3ECE A9 BF + sta VramWritePtrHi ; CPU:$BED0 PRG:3ED0 85 8B + lda #$1D ; CPU:$BED2 PRG:3ED2 A9 1D + sta VramWritePtrLo ; CPU:$BED4 PRG:3ED4 85 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_BED6 +; Global: Branch target inside Sub: taken when BED6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BED6: + lda #$21 ; CPU:$BED6 PRG:3ED6 A9 21 + sta PpuAddrHigh ; CPU:$BED8 PRG:3ED8 85 89 + lda #$EC ; CPU:$BEDA PRG:3EDA A9 EC + sta PpuAddrLow ; CPU:$BEDC PRG:3EDC 85 88 + lda #$08 ; CPU:$BEDE PRG:3EDE A9 08 + sta PlayerX ; CPU:$BEE0 PRG:3EE0 85 87 + jsr Sub_801B ; CPU:$BEE2 PRG:3EE2 20 1B 80 + lda #$00 ; CPU:$BEE5 PRG:3EE5 A9 00 + sta PlayerX ; CPU:$BEE7 PRG:3EE7 85 87 + lda #$80 ; CPU:$BEE9 PRG:3EE9 A9 80 + sta PlayerY ; CPU:$BEEB PRG:3EEB 85 86 + jsr Sub_C251 ; CPU:$BEED PRG:3EED 20 51 C2 + lda PpuMaskShadow ; CPU:$BEF0 PRG:3EF0 A5 8D + and #$E7 ; CPU:$BEF2 PRG:3EF2 29 E7 + sta PpuMaskShadow ; CPU:$BEF4 PRG:3EF4 85 8D + jsr Sub_C275 ; CPU:$BEF6 PRG:3EF6 20 75 C2 + jsr Sub_B96C ; CPU:$BEF9 PRG:3EF9 20 6C B9 + lda PpuCtrlShadow ; CPU:$BEFC PRG:3EFC A5 8C + eor #$18 ; CPU:$BEFE PRG:3EFE 49 18 + sta PpuCtrlShadow ; CPU:$BF00 PRG:3F00 85 8C + jsr Sub_C275 ; CPU:$BF02 PRG:3F02 20 75 C2 + lda PpuMaskShadow ; CPU:$BF05 PRG:3F05 A5 8D + ora #$18 ; CPU:$BF07 PRG:3F07 09 18 + sta PpuMaskShadow ; CPU:$BF09 PRG:3F09 85 8D + jsr Sub_C275 ; CPU:$BF0B PRG:3F0B 20 75 C2 + rts ; CPU:$BF0E PRG:3F0E 60 +; ---- data $BF0F-$BF57 (73 bytes) ---- +EnemyMovementDeltaTable: + .byte $01, $1E, $19, $02, $1E, $19, $11, $12, $24, $1C, $0C, $18, $1B, $0E, $19, $15 ; CPU:$BF0F PRG:-0F1 01 1E 19 02 1E 19 11 12 24 1C 0C 18 1B 0E 19 15 + .byte $0A, $22, $0E, $1B, $FF, $01, $19, $15, $0A, $22, $0E, $1B, $FF, $02, $10, $0A ; CPU:$BF1F PRG:3F1F 0A 22 0E 1B FF 01 19 15 0A 22 0E 1B FF 02 10 0A + .byte $16, $0E, $FF, $18, $1F, $0E, $1B, $1C, $11, $18, $18, $1D, $12, $17, $10, $FF ; CPU:$BF2F PRG:3F2F 16 0E FF 18 1F 0E 1B 1C 11 18 18 1D 12 17 10 FF + .byte $0D, $18, $20, $17, $19, $0E, $1B, $0C, $0E, $17, $1D, $0A, $10, $0E, $25, $1D ; CPU:$BF3F PRG:3F3F 0D 18 20 17 19 0E 1B 0C 0E 17 1D 0A 10 0E 25 1D + .byte $18, $0D, $22, $26, $1C, $FF, $1D, $18, $19 ; CPU:$BF4F PRG:3F4F 18 0D 22 26 1C FF 1D 18 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF58 +; Global: Branch target inside Sub: taken when BF58. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF58: + ldx #$21 ; CPU:$BF58 PRG:3F58 A2 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero30 +; Global: Branch target inside Sub: taken when OnNonzero30. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero30: + lda $0426,x ; CPU:$BF5A PRG:3F5A BD 26 04 + sta $0449,x ; CPU:$BF5D PRG:3F5D 9D 49 04 + dex ; CPU:$BF60 PRG:3F60 CA + bne Sub_OnNonzero30 ; CPU:$BF61 PRG:3F61 D0 F7 + ldx #$21 ; CPU:$BF63 PRG:3F63 A2 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero31 +; Global: Branch target inside Sub: taken when OnNonzero31. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero31: + lda $046A,x ; CPU:$BF65 PRG:3F65 BD 6A 04 + sta $0426,x ; CPU:$BF68 PRG:3F68 9D 26 04 + dex ; CPU:$BF6B PRG:3F6B CA + bne Sub_OnNonzero31 ; CPU:$BF6C PRG:3F6C D0 F7 + lda #$01 ; CPU:$BF6E PRG:3F6E A9 01 + sta $0386 ; CPU:$BF70 PRG:3F70 8D 86 03 + rts ; CPU:$BF73 PRG:3F73 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF74 +; Global: Branch target inside Sub: taken when BF74. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF74: + ldx #$21 ; CPU:$BF74 PRG:3F74 A2 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero32 +; Global: Branch target inside Sub: taken when OnNonzero32. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero32: + lda $0426,x ; CPU:$BF76 PRG:3F76 BD 26 04 + sta $046A,x ; CPU:$BF79 PRG:3F79 9D 6A 04 + dex ; CPU:$BF7C PRG:3F7C CA + bne Sub_OnNonzero32 ; CPU:$BF7D PRG:3F7D D0 F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF7F +; Global: Branch target inside Sub: taken when BF7F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF7F: + ldx #$21 ; CPU:$BF7F PRG:3F7F A2 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero33 +; Global: Branch target inside Sub: taken when OnNonzero33. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero33: + lda $0449,x ; CPU:$BF81 PRG:3F81 BD 49 04 + sta $0426,x ; CPU:$BF84 PRG:3F84 9D 26 04 + dex ; CPU:$BF87 PRG:3F87 CA + bne Sub_OnNonzero33 ; CPU:$BF88 PRG:3F88 D0 F7 + lda #$00 ; CPU:$BF8A PRG:3F8A A9 00 + sta $0386 ; CPU:$BF8C PRG:3F8C 8D 86 03 + rts ; CPU:$BF8F PRG:3F8F 60 ; ----------------------------------------------------------------------------- ; Routine: Reset ; Global: Routine Reset. @@ -2033,9 +7820,9 @@ Reset_OnNonnegative: ; ----------------------------------------------------------------------------- Reset_Loop: lda #$07 ; CPU:$BFAD PRG:3FAD A9 07 - sta Zp8B ; CPU:$BFAF PRG:3FAF 85 8B + sta VramWritePtrHi ; CPU:$BFAF PRG:3FAF 85 8B lda #$00 ; CPU:$BFB1 PRG:3FB1 A9 00 - sta Zp8A ; CPU:$BFB3 PRG:3FB3 85 8A + sta VramWritePtrLo ; CPU:$BFB3 PRG:3FB3 85 8A lda #$00 ; CPU:$BFB5 PRG:3FB5 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero @@ -2046,10 +7833,10 @@ Reset_Loop: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero: - sta (Zp8A),y ; CPU:$BFB7 PRG:3FB7 91 8A + sta (VramWritePtrLo),y ; CPU:$BFB7 PRG:3FB7 91 8A iny ; CPU:$BFB9 PRG:3FB9 C8 bne Reset_OnNonzero ; CPU:$BFBA PRG:3FBA D0 FB - dec Zp8B ; CPU:$BFBC PRG:3FBC C6 8B + dec VramWritePtrHi ; CPU:$BFBC PRG:3FBC C6 8B bne Reset_OnNonzero ; CPU:$BFBE PRG:3FBE D0 F7 lda #$55 ; CPU:$BFC0 PRG:3FC0 A9 55 sta $07BD ; CPU:$BFC2 PRG:3FC2 8D BD 07 @@ -2081,11 +7868,11 @@ Reset_OnNonzero2: lda #$06 ; CPU:$BFD3 PRG:3FD3 A9 06 sta PPUMASK ; CPU:$BFD5 PRG:3FD5 8D 01 20 lda #$1E ; CPU:$BFD8 PRG:3FD8 A9 1E - sta Zp8D ; CPU:$BFDA PRG:3FDA 85 8D + sta PpuMaskShadow ; CPU:$BFDA PRG:3FDA 85 8D lda #$10 ; CPU:$BFDC PRG:3FDC A9 10 sta PPUCTRL ; CPU:$BFDE PRG:3FDE 8D 00 20 lda #$10 ; CPU:$BFE1 PRG:3FE1 A9 10 - sta Zp8C ; CPU:$BFE3 PRG:3FE3 85 8C + sta PpuCtrlShadow ; CPU:$BFE3 PRG:3FE3 85 8C lda #$00 ; CPU:$BFE5 PRG:3FE5 A9 00 sta PPUSCROLL ; CPU:$BFE7 PRG:3FE7 8D 05 20 sta Zp8F ; CPU:$BFEA PRG:3FEA 85 8F @@ -2139,10 +7926,10 @@ NmiHandler: sta Zp63 ; CPU:$C030 PRG:4030 85 63 stx Zp64 ; CPU:$C032 PRG:4032 86 64 sty Zp65 ; CPU:$C034 PRG:4034 84 65 - lda Zp8C ; CPU:$C036 PRG:4036 A5 8C + lda PpuCtrlShadow ; CPU:$C036 PRG:4036 A5 8C and #$7F ; CPU:$C038 PRG:4038 29 7F sta PPUCTRL ; CPU:$C03A PRG:403A 8D 00 20 - sta Zp8C ; CPU:$C03D PRG:403D 85 8C + sta PpuCtrlShadow ; CPU:$C03D PRG:403D 85 8C lda #$00 ; CPU:$C03F PRG:403F A9 00 sta OAMADDR ; CPU:$C041 PRG:4041 8D 03 20 lda #$02 ; CPU:$C044 PRG:4044 A9 02 @@ -2283,9 +8070,9 @@ NmiHandler_Loop4: sta PPUSCROLL ; CPU:$C0E7 PRG:40E7 8D 05 20 lda Zp90 ; CPU:$C0EA PRG:40EA A5 90 sta PPUSCROLL ; CPU:$C0EC PRG:40EC 8D 05 20 - lda Zp8C ; CPU:$C0EF PRG:40EF A5 8C + lda PpuCtrlShadow ; CPU:$C0EF PRG:40EF A5 8C sta PPUCTRL ; CPU:$C0F1 PRG:40F1 8D 00 20 - lda Zp8D ; CPU:$C0F4 PRG:40F4 A5 8D + lda PpuMaskShadow ; CPU:$C0F4 PRG:40F4 A5 8D sta PPUMASK ; CPU:$C0F6 PRG:40F6 8D 01 20 tsx ; CPU:$C0F9 PRG:40F9 BA stx $072C ; CPU:$C0FA PRG:40FA 8E 2C 07 @@ -2462,10 +8249,10 @@ NmiHandler_OnCarryClear2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C19D: - lda Zp8C ; CPU:$C19D PRG:419D A5 8C + lda PpuCtrlShadow ; CPU:$C19D PRG:419D A5 8C ora #$80 ; CPU:$C19F PRG:419F 09 80 sta PPUCTRL ; CPU:$C1A1 PRG:41A1 8D 00 20 - sta Zp8C ; CPU:$C1A4 PRG:41A4 85 8C + sta PpuCtrlShadow ; CPU:$C1A4 PRG:41A4 85 8C ldy Zp65 ; CPU:$C1A6 PRG:41A6 A4 65 ldx Zp64 ; CPU:$C1A8 PRG:41A8 A6 64 lda Zp63 ; CPU:$C1AA PRG:41AA A5 63 @@ -2569,20 +8356,20 @@ Sub_C1F5: lda $C38A,x ; CPU:$C20B PRG:420B BD 8A C3 sec ; CPU:$C20E PRG:420E 38 sbc #$02 ; CPU:$C20F PRG:420F E9 02 - sta Zp88 ; CPU:$C211 PRG:4211 85 88 + sta PpuAddrLow ; CPU:$C211 PRG:4211 85 88 lda #$01 ; CPU:$C213 PRG:4213 A9 01 - sta Zp89 ; CPU:$C215 PRG:4215 85 89 + sta PpuAddrHigh ; CPU:$C215 PRG:4215 85 89 ldy #$00 ; CPU:$C217 PRG:4217 A0 00 lda #$04 ; CPU:$C219 PRG:4219 A9 04 - sta (Zp88),y ; CPU:$C21B PRG:421B 91 88 + sta (PpuAddrLow),y ; CPU:$C21B PRG:421B 91 88 iny ; CPU:$C21D PRG:421D C8 lda $C3AA,x ; CPU:$C21E PRG:421E BD AA C3 - sta (Zp88),y ; CPU:$C221 PRG:4221 91 88 + sta (PpuAddrLow),y ; CPU:$C221 PRG:4221 91 88 iny ; CPU:$C223 PRG:4223 C8 lda $C3AB,x ; CPU:$C224 PRG:4224 BD AB C3 - sta (Zp88),y ; CPU:$C227 PRG:4227 91 88 + sta (PpuAddrLow),y ; CPU:$C227 PRG:4227 91 88 sec ; CPU:$C229 PRG:4229 38 - lda Zp88 ; CPU:$C22A PRG:422A A5 88 + lda PpuAddrLow ; CPU:$C22A PRG:422A A5 88 sbc #$02 ; CPU:$C22C PRG:422C E9 02 sta Zp03,x ; CPU:$C22E PRG:422E 95 03 ; ----------------------------------------------------------------------------- @@ -2601,16 +8388,166 @@ NmiHandler_Loop10: pla ; CPU:$C234 PRG:4234 68 plp ; CPU:$C235 PRG:4235 28 rts ; CPU:$C236 PRG:4236 60 -; ---- data $C237-$C2BF (137 bytes) ---- - .byte $A6, $00, $A9, $00, $95, $02, $4C, $C0, $C2, $08, $48, $85, $66, $8A, $48, $98 ; CPU:$C237 PRG:4237 A6 00 A9 00 95 02 4C C0 C2 08 48 85 66 8A 48 98 - .byte $48, $A6, $66, $A9, $00, $95, $02, $4C, $30, $C2, $08, $48, $8A, $A6, $00, $95 ; CPU:$C247 PRG:4247 48 A6 66 A9 00 95 02 4C 30 C2 08 48 8A A6 00 95 - .byte $42, $98, $95, $43, $BA, $8A, $A6, $00, $95, $03, $B5, $02, $09, $40, $95, $02 ; CPU:$C257 PRG:4257 42 98 95 43 BA 8A A6 00 95 03 B5 02 09 40 95 02 - .byte $A5, $86, $95, $22, $A5, $87, $95, $23, $4C, $C0, $C2, $20, $75, $C2, $08, $48 ; CPU:$C267 PRG:4267 A5 86 95 22 A5 87 95 23 4C C0 C2 20 75 C2 08 48 - .byte $8A, $A6, $00, $95, $42, $98, $95, $43, $BA, $8A, $A6, $00, $95, $03, $4C, $C0 ; CPU:$C277 PRG:4277 8A A6 00 95 42 98 95 43 BA 8A A6 00 95 03 4C C0 - .byte $C2, $08, $48, $85, $66, $8A, $48, $98, $48, $A6, $66, $B5, $02, $29, $80, $D0 ; CPU:$C287 PRG:4287 C2 08 48 85 66 8A 48 98 48 A6 66 B5 02 29 80 D0 - .byte $03, $4C, $30, $C2, $B5, $02, $29, $FE, $95, $02, $4C, $30, $C2, $08, $48, $85 ; CPU:$C297 PRG:4297 03 4C 30 C2 B5 02 29 FE 95 02 4C 30 C2 08 48 85 - .byte $66, $8A, $48, $98, $48, $A6, $66, $B5, $02, $29, $80, $D0, $03, $4C, $30, $C2 ; CPU:$C2A7 PRG:42A7 66 8A 48 98 48 A6 66 B5 02 29 80 D0 03 4C 30 C2 - .byte $B5, $02, $09, $01, $95, $02, $4C, $30, $C2 ; CPU:$C2B7 PRG:42B7 B5 02 09 01 95 02 4C 30 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C237 +; Global: Branch target inside Sub: taken when C237. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C237: + ldx Zp00 ; CPU:$C237 PRG:4237 A6 00 + lda #$00 ; CPU:$C239 PRG:4239 A9 00 + sta Zp02,x ; CPU:$C23B PRG:423B 95 02 + jmp Sub_C2C0 ; CPU:$C23D PRG:423D 4C C0 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C240 +; Global: Branch target inside Sub: taken when C240. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C240: + php ; CPU:$C240 PRG:4240 08 + pha ; CPU:$C241 PRG:4241 48 + sta Zp66 ; CPU:$C242 PRG:4242 85 66 + txa ; CPU:$C244 PRG:4244 8A + pha ; CPU:$C245 PRG:4245 48 + tya ; CPU:$C246 PRG:4246 98 + pha ; CPU:$C247 PRG:4247 48 + ldx Zp66 ; CPU:$C248 PRG:4248 A6 66 + lda #$00 ; CPU:$C24A PRG:424A A9 00 + sta Zp02,x ; CPU:$C24C PRG:424C 95 02 + jmp NmiHandler_Loop10 ; CPU:$C24E PRG:424E 4C 30 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C251 +; Global: Branch target inside Sub: taken when C251. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C251: + php ; CPU:$C251 PRG:4251 08 + pha ; CPU:$C252 PRG:4252 48 + txa ; CPU:$C253 PRG:4253 8A + ldx Zp00 ; CPU:$C254 PRG:4254 A6 00 + sta Zp42,x ; CPU:$C256 PRG:4256 95 42 + tya ; CPU:$C258 PRG:4258 98 + sta Zp43,x ; CPU:$C259 PRG:4259 95 43 + tsx ; CPU:$C25B PRG:425B BA + txa ; CPU:$C25C PRG:425C 8A + ldx Zp00 ; CPU:$C25D PRG:425D A6 00 + sta Zp03,x ; CPU:$C25F PRG:425F 95 03 + lda Zp02,x ; CPU:$C261 PRG:4261 B5 02 + ora #$40 ; CPU:$C263 PRG:4263 09 40 + sta Zp02,x ; CPU:$C265 PRG:4265 95 02 + lda PlayerY ; CPU:$C267 PRG:4267 A5 86 + sta Zp22,x ; CPU:$C269 PRG:4269 95 22 + lda PlayerX ; CPU:$C26B PRG:426B A5 87 + sta Zp23,x ; CPU:$C26D PRG:426D 95 23 + jmp Sub_C2C0 ; CPU:$C26F PRG:426F 4C C0 C2 +; ----------------------------------------------------------------------------- +; Routine: Label_C272 +; Global: Branch target inside Label: taken when C272. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C272: + jsr Sub_C275 ; CPU:$C272 PRG:4272 20 75 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C275 +; Global: Branch target inside Sub: taken when C275. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C275: + php ; CPU:$C275 PRG:4275 08 + pha ; CPU:$C276 PRG:4276 48 + txa ; CPU:$C277 PRG:4277 8A + ldx Zp00 ; CPU:$C278 PRG:4278 A6 00 + sta Zp42,x ; CPU:$C27A PRG:427A 95 42 + tya ; CPU:$C27C PRG:427C 98 + sta Zp43,x ; CPU:$C27D PRG:427D 95 43 + tsx ; CPU:$C27F PRG:427F BA + txa ; CPU:$C280 PRG:4280 8A + ldx Zp00 ; CPU:$C281 PRG:4281 A6 00 + sta Zp03,x ; CPU:$C283 PRG:4283 95 03 + jmp Sub_C2C0 ; CPU:$C285 PRG:4285 4C C0 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C288 +; Global: Branch target inside Sub: taken when C288. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C288: + php ; CPU:$C288 PRG:4288 08 + pha ; CPU:$C289 PRG:4289 48 + sta Zp66 ; CPU:$C28A PRG:428A 85 66 + txa ; CPU:$C28C PRG:428C 8A + pha ; CPU:$C28D PRG:428D 48 + tya ; CPU:$C28E PRG:428E 98 + pha ; CPU:$C28F PRG:428F 48 + ldx Zp66 ; CPU:$C290 PRG:4290 A6 66 + lda Zp02,x ; CPU:$C292 PRG:4292 B5 02 + and #$80 ; CPU:$C294 PRG:4294 29 80 + bne NmiHandler_Loop11 ; CPU:$C296 PRG:4296 D0 03 + jmp NmiHandler_Loop10 ; CPU:$C298 PRG:4298 4C 30 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop11: + lda Zp02,x ; CPU:$C29B PRG:429B B5 02 + and #$FE ; CPU:$C29D PRG:429D 29 FE + sta Zp02,x ; CPU:$C29F PRG:429F 95 02 + jmp NmiHandler_Loop10 ; CPU:$C2A1 PRG:42A1 4C 30 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C2A4 +; Global: Branch target inside Sub: taken when C2A4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C2A4: + php ; CPU:$C2A4 PRG:42A4 08 + pha ; CPU:$C2A5 PRG:42A5 48 + sta Zp66 ; CPU:$C2A6 PRG:42A6 85 66 + txa ; CPU:$C2A8 PRG:42A8 8A + pha ; CPU:$C2A9 PRG:42A9 48 + tya ; CPU:$C2AA PRG:42AA 98 + pha ; CPU:$C2AB PRG:42AB 48 + ldx Zp66 ; CPU:$C2AC PRG:42AC A6 66 + lda Zp02,x ; CPU:$C2AE PRG:42AE B5 02 + and #$80 ; CPU:$C2B0 PRG:42B0 29 80 + bne NmiHandler_Loop12 ; CPU:$C2B2 PRG:42B2 D0 03 + jmp NmiHandler_Loop10 ; CPU:$C2B4 PRG:42B4 4C 30 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop12 +; Global: Branch target inside NmiHandler: taken when Loop12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop12: + lda Zp02,x ; CPU:$C2B7 PRG:42B7 B5 02 + ora #$01 ; CPU:$C2B9 PRG:42B9 09 01 + sta Zp02,x ; CPU:$C2BB PRG:42BB 95 02 + jmp NmiHandler_Loop10 ; CPU:$C2BD PRG:42BD 4C 30 C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_C2C0 ; Global: Branch target inside Sub: taken when C2C0. @@ -2622,7 +8559,7 @@ NmiHandler_Loop10: Sub_C2C0: ldx Zp00 ; CPU:$C2C0 PRG:42C0 A6 00 cpx #$20 ; CPU:$C2C2 PRG:42C2 E0 20 - beq NmiHandler_Loop11 ; CPU:$C2C4 PRG:42C4 F0 12 + beq NmiHandler_Loop13 ; CPU:$C2C4 PRG:42C4 F0 12 lda #$20 ; CPU:$C2C6 PRG:42C6 A9 20 sec ; CPU:$C2C8 PRG:42C8 38 sbc Zp00 ; CPU:$C2C9 PRG:42C9 E5 00 @@ -2641,25 +8578,25 @@ NmiHandler_OnNonzero7: inx ; CPU:$C2CF PRG:42CF E8 inx ; CPU:$C2D0 PRG:42D0 E8 cmp Zp02,x ; CPU:$C2D1 PRG:42D1 D5 02 - beq NmiHandler_Loop12 ; CPU:$C2D3 PRG:42D3 F0 20 + beq NmiHandler_Loop14 ; CPU:$C2D3 PRG:42D3 F0 20 dey ; CPU:$C2D5 PRG:42D5 88 bne NmiHandler_OnNonzero7 ; CPU:$C2D6 PRG:42D6 D0 F7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop11: +NmiHandler_Loop13: lda #$00 ; CPU:$C2D8 PRG:42D8 A9 00 sta Zp00 ; CPU:$C2DA PRG:42DA 85 00 ldx #$F3 ; CPU:$C2DC PRG:42DC A2 F3 txs ; CPU:$C2DE PRG:42DE 9A - lda Zp8C ; CPU:$C2DF PRG:42DF A5 8C + lda PpuCtrlShadow ; CPU:$C2DF PRG:42DF A5 8C ora #$80 ; CPU:$C2E1 PRG:42E1 09 80 - sta Zp8C ; CPU:$C2E3 PRG:42E3 85 8C + sta PpuCtrlShadow ; CPU:$C2E3 PRG:42E3 85 8C sta PPUCTRL ; CPU:$C2E5 PRG:42E5 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear3 @@ -2677,14 +8614,14 @@ NmiHandler_OnCarryClear3: sta Zp62 ; CPU:$C2F0 PRG:42F0 85 62 jmp Sub_C2C0 ; CPU:$C2F2 PRG:42F2 4C C0 C2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop12 -; Global: Branch target inside NmiHandler: taken when Loop12. +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop12: +NmiHandler_Loop14: stx Zp00 ; CPU:$C2F5 PRG:42F5 86 00 lda Zp03,x ; CPU:$C2F7 PRG:42F7 B5 03 tax ; CPU:$C2F9 PRG:42F9 AA @@ -2697,986 +8634,9651 @@ NmiHandler_Loop12: pla ; CPU:$C303 PRG:4303 68 plp ; CPU:$C304 PRG:4304 28 rts ; CPU:$C305 PRG:4305 60 -; ---- data $C306-$FFFF (15610 bytes) ---- +; ----------------------------------------------------------------------------- +; Routine: Sub_C306 +; Global: Branch target inside Sub: taken when C306. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C306: + txa ; CPU:$C306 PRG:4306 8A + pha ; CPU:$C307 PRG:4307 48 + lda #$0A ; CPU:$C308 PRG:4308 A9 0A + sta $071D ; CPU:$C30A PRG:430A 8D 1D 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero8: + lda $071D ; CPU:$C30D PRG:430D AD 1D 07 + jsr Sub_C240 ; CPU:$C310 PRG:4310 20 40 C2 + inc $071D ; CPU:$C313 PRG:4313 EE 1D 07 + inc $071D ; CPU:$C316 PRG:4316 EE 1D 07 + lda $071D ; CPU:$C319 PRG:4319 AD 1D 07 + cmp #$20 ; CPU:$C31C PRG:431C C9 20 + bne NmiHandler_OnNonzero8 ; CPU:$C31E PRG:431E D0 ED + ldx #$03 ; CPU:$C320 PRG:4320 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero9: + jsr Sub_C32D ; CPU:$C322 PRG:4322 20 2D C3 + inx ; CPU:$C325 PRG:4325 E8 + cpx #$19 ; CPU:$C326 PRG:4326 E0 19 + bne NmiHandler_OnNonzero9 ; CPU:$C328 PRG:4328 D0 F8 + pla ; CPU:$C32A PRG:432A 68 + tax ; CPU:$C32B PRG:432B AA + rts ; CPU:$C32C PRG:432C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C32D +; Global: Branch target inside Sub: taken when C32D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C32D: + lda #$00 ; CPU:$C32D PRG:432D A9 00 + sta $048E,x ; CPU:$C32F PRG:432F 9D 8E 04 + sta $04D9,x ; CPU:$C332 PRG:4332 9D D9 04 + sta $050B,x ; CPU:$C335 PRG:4335 9D 0B 05 + sta $05BA,x ; CPU:$C338 PRG:4338 9D BA 05 + sta $04C0,x ; CPU:$C33B PRG:433B 9D C0 04 + sta $04A7,x ; CPU:$C33E PRG:433E 9D A7 04 + sta $056F,x ; CPU:$C341 PRG:4341 9D 6F 05 + sta $0588,x ; CPU:$C344 PRG:4344 9D 88 05 + sta $05A1,x ; CPU:$C347 PRG:4347 9D A1 05 + sta $0524,x ; CPU:$C34A PRG:434A 9D 24 05 + sta $053D,x ; CPU:$C34D PRG:434D 9D 3D 05 + sta $0556,x ; CPU:$C350 PRG:4350 9D 56 05 + sta $05EC,x ; CPU:$C353 PRG:4353 9D EC 05 + sta $0605,x ; CPU:$C356 PRG:4356 9D 05 06 + sta $061E,x ; CPU:$C359 PRG:4359 9D 1E 06 + sta $0637,x ; CPU:$C35C PRG:435C 9D 37 06 + sta $0650,x ; CPU:$C35F PRG:435F 9D 50 06 + sta $069B,x ; CPU:$C362 PRG:4362 9D 9B 06 + rts ; CPU:$C365 PRG:4365 60 +; ---- data $C366-$C3C9 (100 bytes) ---- ; referenced by `lda $C372,y` at $C156 (operand $C372 falls inside this region) ; referenced by `lda $C366,y` at $C166 (operand $C366 falls inside this region) ; referenced by `lda $C37E,y` at $C173 (operand $C37E falls inside this region) ; referenced by `lda $C38A,x` at $C20B (operand $C38A falls inside this region) ; referenced by `lda $C3AA,x` at $C21E (operand $C3AA falls inside this region) ; referenced by `lda $C3AB,x` at $C224 (operand $C3AB falls inside this region) - .byte $8A, $48, $A9, $0A, $8D, $1D, $07, $AD, $1D, $07, $20, $40, $C2, $EE, $1D, $07 ; CPU:$C306 PRG:4306 8A 48 A9 0A 8D 1D 07 AD 1D 07 20 40 C2 EE 1D 07 - .byte $EE, $1D, $07, $AD, $1D, $07, $C9, $20, $D0, $ED, $A2, $03, $20, $2D, $C3, $E8 ; CPU:$C316 PRG:4316 EE 1D 07 AD 1D 07 C9 20 D0 ED A2 03 20 2D C3 E8 - .byte $E0, $19, $D0, $F8, $68, $AA, $60, $A9, $00, $9D, $8E, $04, $9D, $D9, $04, $9D ; CPU:$C326 PRG:4326 E0 19 D0 F8 68 AA 60 A9 00 9D 8E 04 9D D9 04 9D - .byte $0B, $05, $9D, $BA, $05, $9D, $C0, $04, $9D, $A7, $04, $9D, $6F, $05, $9D, $88 ; CPU:$C336 PRG:4336 0B 05 9D BA 05 9D C0 04 9D A7 04 9D 6F 05 9D 88 - .byte $05, $9D, $A1, $05, $9D, $24, $05, $9D, $3D, $05, $9D, $56, $05, $9D, $EC, $05 ; CPU:$C346 PRG:4346 05 9D A1 05 9D 24 05 9D 3D 05 9D 56 05 9D EC 05 - .byte $9D, $05, $06, $9D, $1E, $06, $9D, $37, $06, $9D, $50, $06, $9D, $9B, $06, $60 ; CPU:$C356 PRG:4356 9D 05 06 9D 1E 06 9D 37 06 9D 50 06 9D 9B 06 60 - .byte $18, $01, $01, $28, $18, $1E, $01, $30, $18, $19, $01, $38, $18, $02, $01, $C0 ; CPU:$C366 PRG:4366 18 01 01 28 18 1E 01 30 18 19 01 38 18 02 01 C0 +SpriteOamEntryTable: + .byte $18, $01, $01, $28, $18, $1E, $01, $30, $18, $19, $01, $38, $18, $02, $01, $C0 ; CPU:$C366 PRG:0366 18 01 01 28 18 1E 01 30 18 19 01 38 18 02 01 C0 .byte $18, $1E, $01, $C8, $18, $19, $01, $D0, $D0, $27, $01, $D0, $D0, $1A, $01, $D8 ; CPU:$C376 PRG:4376 18 1E 01 C8 18 19 01 D0 D0 27 01 D0 D0 1A 01 D8 .byte $D0, $FF, $03, $E0, $00, $00, $0B, $00, $1B, $00, $2B, $00, $3C, $00, $4D, $00 ; CPU:$C386 PRG:4386 D0 FF 03 E0 00 00 0B 00 1B 00 2B 00 3C 00 4D 00 .byte $5E, $00, $6F, $00, $80, $00, $91, $00, $A2, $00, $B3, $00, $C4, $00, $D1, $00 ; CPU:$C396 PRG:4396 5E 00 6F 00 80 00 91 00 A2 00 B3 00 C4 00 D1 00 .byte $DE, $00, $EB, $00, $00, $00, $5E, $B6, $C2, $B7, $C9, $C3, $69, $D0, $0B, $EC ; CPU:$C3A6 PRG:43A6 DE 00 EB 00 00 00 5E B6 C2 B7 C9 C3 69 D0 0B EC .byte $44, $EC, $78, $EC, $AC, $EC, $F0, $EC, $29, $ED, $38, $ED, $47, $ED, $D4, $B3 ; CPU:$C3B6 PRG:43B6 44 EC 78 EC AC EC F0 EC 29 ED 38 ED 47 ED D4 B3 - .byte $08, $B5, $87, $B5, $A2, $00, $A0, $00, $BD, $8E, $04, $10, $20, $BD, $A7, $04 ; CPU:$C3C6 PRG:43C6 08 B5 87 B5 A2 00 A0 00 BD 8E 04 10 20 BD A7 04 - .byte $99, $AF, $03, $C8, $BD, $D9, $04, $99, $AF, $03, $C8, $BD, $F2, $04, $99, $AF ; CPU:$C3D6 PRG:43D6 99 AF 03 C8 BD D9 04 99 AF 03 C8 BD F2 04 99 AF - .byte $03, $C8, $BD, $C0, $04, $99, $AF, $03, $C8, $C0, $74, $B0, $05, $E8, $E0, $19 ; CPU:$C3E6 PRG:43E6 03 C8 BD C0 04 99 AF 03 C8 C0 74 B0 05 E8 E0 19 - .byte $D0, $D6, $A9, $04, $85, $87, $A9, $FF, $99, $AF, $03, $C8, $C6, $87, $D0, $F6 ; CPU:$C3F6 PRG:43F6 D0 D6 A9 04 85 87 A9 FF 99 AF 03 C8 C6 87 D0 F6 - .byte $A9, $AF, $85, $9C, $A9, $03, $85, $9D, $AD, $8C, $07, $C9, $FF, $F0, $0F, $C9 ; CPU:$C406 PRG:4406 A9 AF 85 9C A9 03 85 9D AD 8C 07 C9 FF F0 0F C9 - .byte $80, $F0, $16, $A9, $30, $85, $9E, $A9, $02, $85, $9F, $4C, $37, $C4, $A9, $40 ; CPU:$C416 PRG:4416 80 F0 16 A9 30 85 9E A9 02 85 9F 4C 37 C4 A9 40 - .byte $85, $9E, $A9, $02, $85, $9F, $4C, $37, $C4, $A9, $64, $85, $9E, $A9, $02, $85 ; CPU:$C426 PRG:4426 85 9E A9 02 85 9F 4C 37 C4 A9 64 85 9E A9 02 85 - .byte $9F, $20, $5A, $C4, $A0, $00, $A5, $9E, $85, $8A, $A5, $9F, $85, $8B, $A5, $8B ; CPU:$C436 PRG:4436 9F 20 5A C4 A0 00 A5 9E 85 8A A5 9F 85 8B A5 8B - .byte $C9, $03, $B0, $0A, $A9, $FF, $91, $8A, $20, $4D, $C5, $4C, $44, $C4, $20, $75 ; CPU:$C446 PRG:4446 C9 03 B0 0A A9 FF 91 8A 20 4D C5 4C 44 C4 20 75 - .byte $C2, $4C, $CA, $C3, $A0, $01, $B1, $9C, $C9, $FF, $D0, $01, $60, $A2, $00, $A0 ; CPU:$C456 PRG:4456 C2 4C CA C3 A0 01 B1 9C C9 FF D0 01 60 A2 00 A0 - .byte $00, $18, $85, $88, $A9, $00, $85, $89, $06, $88, $26, $89, $18, $A5, $88, $69 ; CPU:$C466 PRG:4466 00 18 85 88 A9 00 85 89 06 88 26 89 18 A5 88 69 - .byte $65, $85, $88, $A5, $89, $69, $C5, $85, $89, $B1, $88, $85, $8A, $C8, $B1, $88 ; CPU:$C476 PRG:4476 65 85 88 A5 89 69 C5 85 89 B1 88 85 8A C8 B1 88 - .byte $85, $8B, $A1, $8A, $85, $87, $20, $4D, $C5, $A1, $8A, $0A, $69, $0E, $85, $88 ; CPU:$C486 PRG:4486 85 8B A1 8A 85 87 20 4D C5 A1 8A 0A 69 0E 85 88 - .byte $A9, $00, $69, $CE, $85, $89, $A0, $00, $B1, $88, $85, $A2, $C8, $B1, $88, $85 ; CPU:$C496 PRG:4496 A9 00 69 CE 85 89 A0 00 B1 88 85 A2 C8 B1 88 85 - .byte $A3, $20, $4D, $C5, $A0, $02, $B1, $9C, $0A, $69, $10, $85, $88, $A9, $00, $69 ; CPU:$C4A6 PRG:44A6 A3 20 4D C5 A0 02 B1 9C 0A 69 10 85 88 A9 00 69 - .byte $D0, $85, $89, $A0, $00, $B1, $88, $85, $A0, $C8, $B1, $88, $85, $A1, $A0, $01 ; CPU:$C4B6 PRG:44B6 D0 85 89 A0 00 B1 88 85 A0 C8 B1 88 85 A1 A0 01 - .byte $A1, $8A, $C9, $FF, $F0, $5A, $91, $9E, $A0, $03, $A1, $A2, $18, $71, $9C, $91 ; CPU:$C4C6 PRG:44C6 A1 8A C9 FF F0 5A 91 9E A0 03 A1 A2 18 71 9C 91 - .byte $9E, $20, $46, $C5, $A1, $A2, $A0, $00, $18, $71, $9C, $91, $9E, $20, $46, $C5 ; CPU:$C4D6 PRG:44D6 9E 20 46 C5 A1 A2 A0 00 18 71 9C 91 9E 20 46 C5 - .byte $A1, $A0, $A0, $02, $91, $9E, $20, $4D, $C5, $A1, $8A, $6A, $6A, $6A, $11, $9E ; CPU:$C4E6 PRG:44E6 A1 A0 A0 02 91 9E 20 4D C5 A1 8A 6A 6A 6A 11 9E - .byte $29, $C3, $91, $9E, $20, $4D, $C5, $20, $3F, $C5, $18, $A5, $9E, $69, $04, $85 ; CPU:$C4F6 PRG:44F6 29 C3 91 9E 20 4D C5 20 3F C5 18 A5 9E 69 04 85 - .byte $9E, $A5, $9F, $69, $00, $85, $9F, $C9, $03, $90, $01, $60, $C6, $87, $D0, $AE ; CPU:$C506 PRG:4506 9E A5 9F 69 00 85 9F C9 03 90 01 60 C6 87 D0 AE - .byte $18, $A5, $9C, $69, $04, $85, $9C, $A5, $9D, $69, $00, $85, $9D, $4C, $5A, $C4 ; CPU:$C516 PRG:4516 18 A5 9C 69 04 85 9C A5 9D 69 00 85 9D 4C 5A C4 - .byte $20, $4D, $C5, $20, $4D, $C5, $20, $3F, $C5, $20, $46, $C5, $20, $46, $C5, $4C ; CPU:$C526 PRG:4526 20 4D C5 20 4D C5 20 3F C5 20 46 C5 20 46 C5 4C - .byte $12, $C5, $E6, $9C, $D0, $02, $E6, $9D, $60, $E6, $A0, $D0, $02, $E6, $A1, $60 ; CPU:$C536 PRG:4536 12 C5 E6 9C D0 02 E6 9D 60 E6 A0 D0 02 E6 A1 60 - .byte $E6, $A2, $D0, $02, $E6, $A3, $60, $E6, $8A, $F0, $01, $60, $E6, $8B, $60, $E6 ; CPU:$C546 PRG:4546 E6 A2 D0 02 E6 A3 60 E6 8A F0 01 60 E6 8B 60 E6 - .byte $88, $F0, $01, $60, $E6, $89, $60, $E6, $86, $F0, $01, $60, $E6, $87, $60, $F3 ; CPU:$C556 PRG:4556 88 F0 01 60 E6 89 60 E6 86 F0 01 60 E6 87 60 F3 - .byte $C6, $FF, $C6, $07, $C7, $0B, $C7, $17, $C7, $1F, $C7, $2F, $C7, $37, $C7, $3B ; CPU:$C566 PRG:4566 C6 FF C6 07 C7 0B C7 17 C7 1F C7 2F C7 37 C7 3B - .byte $C7, $41, $C7, $47, $C7, $51, $C7, $59, $C7, $63, $C7, $6D, $C7, $75, $C7, $7E ; CPU:$C576 PRG:4576 C7 41 C7 47 C7 51 C7 59 C7 63 C7 6D C7 75 C7 7E - .byte $C7, $86, $C7, $90, $C7, $98, $C7, $A2, $C7, $AA, $C7, $B4, $C7, $BC, $C7, $C6 ; CPU:$C586 PRG:4586 C7 86 C7 90 C7 98 C7 A2 C7 AA C7 B4 C7 BC C7 C6 - .byte $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6 ; CPU:$C596 PRG:4596 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 - .byte $C7, $CE, $C7, $D4, $C7, $DC, $C7, $E4, $C7, $EC, $C7, $F2, $C7, $FA, $C7, $02 ; CPU:$C5A6 PRG:45A6 C7 CE C7 D4 C7 DC C7 E4 C7 EC C7 F2 C7 FA C7 02 - .byte $C8, $0A, $C8, $12, $C8, $18, $C8, $20, $C8, $28, $C8, $30, $C8, $36, $C8, $3E ; CPU:$C5B6 PRG:45B6 C8 0A C8 12 C8 18 C8 20 C8 28 C8 30 C8 36 C8 3E - .byte $C8, $46, $C8, $4E, $C8, $54, $C8, $5C, $C8, $64, $C8, $6C, $C8, $72, $C8, $7A ; CPU:$C5C6 PRG:45C6 C8 46 C8 4E C8 54 C8 5C C8 64 C8 6C C8 72 C8 7A - .byte $C8, $82, $C8, $8A, $C8, $90, $C8, $98, $C8, $A0, $C8, $A8, $C8, $AE, $C8, $B6 ; CPU:$C5D6 PRG:45D6 C8 82 C8 8A C8 90 C8 98 C8 A0 C8 A8 C8 AE C8 B6 - .byte $C8, $BE, $C8, $C8, $C8, $D0, $C8, $DA, $C8, $E2, $C8, $EC, $C8, $F4, $C8, $FE ; CPU:$C5E6 PRG:45E6 C8 BE C8 C8 C8 D0 C8 DA C8 E2 C8 EC C8 F4 C8 FE - .byte $C8, $06, $C9, $0E, $C9, $14, $C9, $1C, $C9, $24, $C9, $2C, $C9, $32, $C9, $3A ; CPU:$C5F6 PRG:45F6 C8 06 C9 0E C9 14 C9 1C C9 24 C9 2C C9 32 C9 3A - .byte $C9, $44, $C9, $4E, $C9, $58, $C9, $62, $C9, $6C, $C9, $76, $C9, $80, $C9, $8A ; CPU:$C606 PRG:4606 C9 44 C9 4E C9 58 C9 62 C9 6C C9 76 C9 80 C9 8A - .byte $C9, $96, $C9, $A2, $C9, $AE, $C9, $BA, $C9, $C6, $C9, $D2, $C9, $DE, $C9, $EA ; CPU:$C616 PRG:4616 C9 96 C9 A2 C9 AE C9 BA C9 C6 C9 D2 C9 DE C9 EA - .byte $C9, $FC, $C9, $08, $CA, $1E, $CA, $2E, $CA, $44, $CA, $54, $CA, $66, $CA, $72 ; CPU:$C626 PRG:4626 C9 FC C9 08 CA 1E CA 2E CA 44 CA 54 CA 66 CA 72 - .byte $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72 ; CPU:$C636 PRG:4636 CA 72 CA 72 CA 72 CA 72 CA 72 CA 72 CA 72 CA 72 - .byte $CA, $82, $CA, $92, $CA, $B2, $CA, $C2, $CA, $CC, $CA, $CC, $CA, $CC, $CA, $CC ; CPU:$C646 PRG:4646 CA 82 CA 92 CA B2 CA C2 CA CC CA CC CA CC CA CC - .byte $CA, $CC, $CA, $D6, $CA, $DE, $CA, $E6, $CA, $EE, $CA, $F6, $CA, $FE, $CA, $06 ; CPU:$C656 PRG:4656 CA CC CA D6 CA DE CA E6 CA EE CA F6 CA FE CA 06 - .byte $CB, $10, $CB, $1A, $CB, $24, $CB, $2E, $CB, $38, $CB, $4A, $CB, $5C, $CB, $76 ; CPU:$C666 PRG:4666 CB 10 CB 1A CB 24 CB 2E CB 38 CB 4A CB 5C CB 76 - .byte $CB, $80, $CB, $92, $CB, $AC, $CB, $C6, $CB, $D4, $CB, $DA, $CB, $DE, $CB, $E2 ; CPU:$C676 PRG:4676 CB 80 CB 92 CB AC CB C6 CB D4 CB DA CB DE CB E2 - .byte $CB, $EC, $CB, $F6, $CB, $00, $CC, $14, $CC, $28, $CC, $3C, $CC, $50, $CC, $5A ; CPU:$C686 PRG:4686 CB EC CB F6 CB 00 CC 14 CC 28 CC 3C CC 50 CC 5A - .byte $CC, $62, $CC, $68, $CC, $70, $CC, $78, $CC, $80, $CC, $86, $CC, $8E, $CC, $96 ; CPU:$C696 PRG:4696 CC 62 CC 68 CC 70 CC 78 CC 80 CC 86 CC 8E CC 96 - .byte $CC, $9C, $CC, $A8, $CC, $B4, $CC, $BC, $CC, $C8, $CC, $DE, $CC, $EA, $CC, $F2 ; CPU:$C6A6 PRG:46A6 CC 9C CC A8 CC B4 CC BC CC C8 CC DE CC EA CC F2 - .byte $CC, $FE, $CC, $0A, $CD, $14, $CD, $20, $CD, $2C, $CD, $3E, $CD, $46, $CD, $58 ; CPU:$C6B6 PRG:46B6 CC FE CC 0A CD 14 CD 20 CD 2C CD 3E CD 46 CD 58 - .byte $CD, $5E, $CD, $66, $CD, $6E, $CD, $76, $CD, $7E, $CD, $86, $CD, $8E, $CD, $96 ; CPU:$C6C6 PRG:46C6 CD 5E CD 66 CD 6E CD 76 CD 7E CD 86 CD 8E CD 96 - .byte $CD, $9E, $CD, $A6, $CD, $AE, $CD, $B6, $CD, $BE, $CD, $C6, $CD, $CE, $CD, $D6 ; CPU:$C6D6 PRG:46D6 CD 9E CD A6 CD AE CD B6 CD BE CD C6 CD CE CD D6 - .byte $CD, $DE, $CD, $E6, $CD, $EE, $CD, $F6, $CD, $FE, $CD, $06, $CE, $05, $03, $33 ; CPU:$C6E6 PRG:46E6 CD DE CD E6 CD EE CD F6 CD FE CD 06 CE 05 03 33 - .byte $00, $34, $00, $33, $01, $35, $00, $36, $00, $03, $06, $40, $02, $41, $02, $42 ; CPU:$C6F6 PRG:46F6 00 34 00 33 01 35 00 36 00 03 06 40 02 41 02 42 - .byte $02, $01, $2E, $25, $00, $05, $2E, $0B, $00, $18, $00, $17, $00, $1E, $00, $1C ; CPU:$C706 PRG:4706 02 01 2E 25 00 05 2E 0B 00 18 00 17 00 1E 00 1C - .byte $00, $03, $2E, $19, $00, $1D, $00, $1C, $00, $07, $2E, $27, $00, $21, $00, $01 ; CPU:$C716 PRG:4716 00 03 2E 19 00 1D 00 1C 00 07 2E 27 00 21 00 01 - .byte $00, $00, $00, $00, $00, $00, $00, $1A, $00, $03, $2E, $19, $00, $1D, $00, $1C ; CPU:$C726 PRG:4726 00 00 00 00 00 00 00 1A 00 03 2E 19 00 1D 00 1C - .byte $00, $01, $00, $30, $00, $02, $01, $31, $00, $31, $00, $02, $02, $32, $00, $32 ; CPU:$C736 PRG:4736 00 01 00 30 00 02 01 31 00 31 00 02 02 32 00 32 - .byte $01, $04, $0D, $31, $00, $31, $00, $31, $00, $31, $00, $03, $0D, $31, $00, $31 ; CPU:$C746 PRG:4746 01 04 0D 31 00 31 00 31 00 31 00 03 0D 31 00 31 - .byte $00, $31, $00, $04, $0D, $31, $00, $31, $00, $FF, $00, $31, $00, $04, $0E, $32 ; CPU:$C756 PRG:4756 00 31 00 04 0D 31 00 31 00 FF 00 31 00 04 0E 32 - .byte $00, $32, $01, $31, $00, $31, $00, $03, $0E, $32, $00, $32, $01, $31, $00, $04 ; CPU:$C766 PRG:4766 00 32 01 31 00 31 00 03 0E 32 00 32 01 31 00 04 - .byte $0E, $32, $00, $32, $01, $FF, $00, $31, $03, $06, $40, $02, $41, $02, $42, $02 ; CPU:$C776 PRG:4776 0E 32 00 32 01 FF 00 31 03 06 40 02 41 02 42 02 - .byte $04, $0C, $5C, $00, $5D, $00, $5E, $00, $5F, $00, $03, $07, $59, $01, $5A, $01 ; CPU:$C786 PRG:4786 04 0C 5C 00 5D 00 5E 00 5F 00 03 07 59 01 5A 01 - .byte $5B, $01, $04, $0C, $5E, $02, $5F, $02, $5C, $02, $5D, $02, $03, $0A, $40, $00 ; CPU:$C796 PRG:4796 5B 01 04 0C 5E 02 5F 02 5C 02 5D 02 03 0A 40 00 - .byte $41, $00, $42, $00, $04, $0C, $5F, $03, $5E, $03, $5D, $03, $5C, $03, $03, $09 ; CPU:$C7A6 PRG:47A6 41 00 42 00 04 0C 5F 03 5E 03 5D 03 5C 03 03 09 - .byte $59, $00, $5A, $00, $5B, $00, $04, $0C, $5D, $01, $5C, $01, $5F, $01, $5E, $01 ; CPU:$C7B6 PRG:47B6 59 00 5A 00 5B 00 04 0C 5D 01 5C 01 5F 01 5E 01 - .byte $03, $04, $43, $00, $43, $01, $44, $00, $02, $05, $45, $00, $45, $01, $03, $06 ; CPU:$C7C6 PRG:47C6 03 04 43 00 43 01 44 00 02 05 45 00 45 01 03 06 - .byte $46, $00, $46, $01, $47, $00, $03, $06, $48, $00, $48, $01, $49, $00, $03, $06 ; CPU:$C7D6 PRG:47D6 46 00 46 01 47 00 03 06 48 00 48 01 49 00 03 06 - .byte $46, $00, $46, $01, $47, $00, $02, $05, $45, $00, $45, $01, $03, $04, $43, $00 ; CPU:$C7E6 PRG:47E6 46 00 46 01 47 00 02 05 45 00 45 01 03 04 43 00 - .byte $43, $01, $44, $00, $03, $0A, $40, $00, $41, $00, $42, $00, $03, $0A, $40, $00 ; CPU:$C7F6 PRG:47F6 43 01 44 00 03 0A 40 00 41 00 42 00 03 0A 40 00 - .byte $41, $00, $42, $00, $03, $0A, $4A, $00, $4B, $00, $4C, $00, $02, $0B, $4E, $00 ; CPU:$C806 PRG:4806 41 00 42 00 03 0A 4A 00 4B 00 4C 00 02 0B 4E 00 - .byte $4D, $00, $03, $0A, $4F, $00, $50, $00, $51, $00, $03, $0A, $40, $00, $41, $00 ; CPU:$C816 PRG:4816 4D 00 03 0A 4F 00 50 00 51 00 03 0A 40 00 41 00 - .byte $42, $00, $03, $0A, $4B, $01, $4A, $01, $4C, $01, $02, $0B, $4E, $01, $4D, $01 ; CPU:$C826 PRG:4826 42 00 03 0A 4B 01 4A 01 4C 01 02 0B 4E 01 4D 01 - .byte $03, $0A, $50, $01, $4F, $01, $51, $01, $03, $09, $5A, $00, $5B, $00, $5B, $00 ; CPU:$C836 PRG:4836 03 0A 50 01 4F 01 51 01 03 09 5A 00 5B 00 5B 00 - .byte $03, $18, $60, $00, $61, $00, $62, $00, $02, $01, $63, $00, $64, $00, $03, $18 ; CPU:$C846 PRG:4846 03 18 60 00 61 00 62 00 02 01 63 00 64 00 03 18 - .byte $65, $00, $66, $00, $67, $00, $03, $09, $57, $00, $57, $02, $58, $00, $03, $18 ; CPU:$C856 PRG:4856 65 00 66 00 67 00 03 09 57 00 57 02 58 00 03 18 - .byte $66, $02, $65, $02, $67, $02, $02, $01, $63, $02, $64, $02, $03, $18, $61, $02 ; CPU:$C866 PRG:4866 66 02 65 02 67 02 02 01 63 02 64 02 03 18 61 02 - .byte $60, $02, $62, $02, $03, $07, $59, $01, $5A, $01, $5B, $01, $03, $17, $60, $01 ; CPU:$C876 PRG:4876 60 02 62 02 03 07 59 01 5A 01 5B 01 03 17 60 01 - .byte $61, $01, $62, $01, $02, $01, $64, $01, $63, $01, $03, $17, $65, $01, $66, $01 ; CPU:$C886 PRG:4886 61 01 62 01 02 01 64 01 63 01 03 17 65 01 66 01 - .byte $67, $01, $03, $07, $57, $01, $57, $03, $58, $01, $03, $17, $66, $03, $65, $03 ; CPU:$C896 PRG:4896 67 01 03 07 57 01 57 03 58 01 03 17 66 03 65 03 - .byte $67, $03, $02, $01, $64, $03, $63, $03, $03, $17, $61, $03, $60, $03, $62, $03 ; CPU:$C8A6 PRG:48A6 67 03 02 01 64 03 63 03 03 17 61 03 60 03 62 03 - .byte $03, $0A, $71, $00, $72, $00, $70, $00, $04, $0C, $73, $00, $74, $00, $75, $00 ; CPU:$C8B6 PRG:48B6 03 0A 71 00 72 00 70 00 04 0C 73 00 74 00 75 00 - .byte $76, $00, $03, $18, $78, $00, $79, $00, $77, $00, $04, $0C, $75, $02, $76, $02 ; CPU:$C8C6 PRG:48C6 76 00 03 18 78 00 79 00 77 00 04 0C 75 02 76 02 - .byte $73, $02, $74, $02, $03, $19, $71, $02, $72, $02, $70, $02, $04, $0C, $76, $03 ; CPU:$C8D6 PRG:48D6 73 02 74 02 03 19 71 02 72 02 70 02 04 0C 76 03 - .byte $75, $03, $74, $03, $73, $03, $03, $17, $79, $01, $78, $01, $77, $01, $04, $0C ; CPU:$C8E6 PRG:48E6 75 03 74 03 73 03 03 17 79 01 78 01 77 01 04 0C - .byte $74, $01, $73, $01, $76, $01, $75, $01, $03, $19, $71, $02, $72, $02, $70, $02 ; CPU:$C8F6 PRG:48F6 74 01 73 01 76 01 75 01 03 19 71 02 72 02 70 02 - .byte $03, $19, $7B, $00, $7C, $00, $7A, $00, $02, $0B, $7E, $00, $7D, $00, $03, $19 ; CPU:$C906 PRG:4906 03 19 7B 00 7C 00 7A 00 02 0B 7E 00 7D 00 03 19 - .byte $80, $00, $81, $00, $7F, $00, $03, $19, $83, $00, $84, $00, $82, $00, $03, $19 ; CPU:$C916 PRG:4916 80 00 81 00 7F 00 03 19 83 00 84 00 82 00 03 19 - .byte $81, $01, $80, $01, $7F, $01, $02, $0B, $7E, $01, $7D, $01, $03, $19, $7C, $01 ; CPU:$C926 PRG:4926 81 01 80 01 7F 01 02 0B 7E 01 7D 01 03 19 7C 01 - .byte $7B, $01, $7A, $01, $04, $0C, $85, $00, $86, $00, $87, $00, $88, $00, $04, $0C ; CPU:$C936 PRG:4936 7B 01 7A 01 04 0C 85 00 86 00 87 00 88 00 04 0C - .byte $89, $00, $8A, $00, $8B, $00, $8C, $00, $04, $0C, $8D, $00, $8E, $00, $8F, $00 ; CPU:$C946 PRG:4946 89 00 8A 00 8B 00 8C 00 04 0C 8D 00 8E 00 8F 00 - .byte $AF, $00, $04, $0C, $8B, $02, $8C, $02, $89, $02, $8A, $02, $04, $0C, $87, $02 ; CPU:$C956 PRG:4956 AF 00 04 0C 8B 02 8C 02 89 02 8A 02 04 0C 87 02 - .byte $88, $02, $85, $02, $86, $02, $04, $0C, $8C, $03, $8B, $03, $8A, $03, $89, $03 ; CPU:$C966 PRG:4966 88 02 85 02 86 02 04 0C 8C 03 8B 03 8A 03 89 03 - .byte $04, $0C, $8E, $01, $8D, $01, $AF, $01, $8F, $01, $04, $0C, $8A, $01, $89, $01 ; CPU:$C976 PRG:4976 04 0C 8E 01 8D 01 AF 01 8F 01 04 0C 8A 01 89 01 - .byte $8C, $01, $8B, $01, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00 ; CPU:$C986 PRG:4986 8C 01 8B 01 05 03 33 00 34 00 33 01 35 00 36 00 - .byte $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00 ; CPU:$C996 PRG:4996 05 03 33 00 34 00 33 01 35 00 36 00 05 03 33 00 - .byte $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33, $01 ; CPU:$C9A6 PRG:49A6 34 00 33 01 35 00 36 00 05 03 33 00 34 00 33 01 - .byte $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00 ; CPU:$C9B6 PRG:49B6 35 00 36 00 05 03 33 00 34 00 33 01 35 00 36 00 - .byte $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00 ; CPU:$C9C6 PRG:49C6 05 03 33 00 34 00 33 01 35 00 36 00 05 03 33 00 - .byte $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33, $01 ; CPU:$C9D6 PRG:49D6 34 00 33 01 35 00 36 00 05 03 33 00 34 00 33 01 - .byte $35, $00, $36, $00, $08, $13, $90, $00, $91, $00, $92, $00, $93, $00, $94, $00 ; CPU:$C9E6 PRG:49E6 35 00 36 00 08 13 90 00 91 00 92 00 93 00 94 00 - .byte $95, $00, $96, $00, $96, $01, $05, $15, $A0, $00, $A1, $00, $A2, $00, $9E, $00 ; CPU:$C9F6 PRG:49F6 95 00 96 00 96 01 05 15 A0 00 A1 00 A2 00 9E 00 - .byte $9F, $00, $0A, $14, $9B, $00, $9C, $00, $99, $00, $9A, $00, $97, $00, $98, $00 ; CPU:$CA06 PRG:4A06 9F 00 0A 14 9B 00 9C 00 99 00 9A 00 97 00 98 00 - .byte $FF, $00, $FF, $00, $9D, $00, $9D, $02, $07, $16, $A2, $02, $A1, $02, $A0, $02 ; CPU:$CA16 PRG:4A16 FF 00 FF 00 9D 00 9D 02 07 16 A2 02 A1 02 A0 02 - .byte $FF, $00, $FF, $00, $9F, $02, $9E, $02, $0A, $13, $94, $02, $95, $02, $92, $02 ; CPU:$CA26 PRG:4A26 FF 00 FF 00 9F 02 9E 02 0A 13 94 02 95 02 92 02 - .byte $93, $02, $90, $02, $91, $02, $FF, $00, $FF, $00, $96, $02, $96, $03, $07, $15 ; CPU:$CA36 PRG:4A36 93 02 90 02 91 02 FF 00 FF 00 96 02 96 03 07 15 - .byte $A2, $03, $A1, $03, $A0, $03, $FF, $00, $FF, $00, $9F, $03, $9E, $03, $08, $14 ; CPU:$CA46 PRG:4A46 A2 03 A1 03 A0 03 FF 00 FF 00 9F 03 9E 03 08 14 - .byte $97, $01, $98, $01, $99, $01, $9A, $01, $9B, $01, $9C, $01, $9D, $01, $9D, $03 ; CPU:$CA56 PRG:4A56 97 01 98 01 99 01 9A 01 9B 01 9C 01 9D 01 9D 03 - .byte $05, $16, $A0, $01, $A1, $01, $A2, $01, $9E, $01, $9F, $01, $07, $11, $B0, $00 ; CPU:$CA66 PRG:4A66 05 16 A0 01 A1 01 A2 01 9E 01 9F 01 07 11 B0 00 - .byte $B1, $00, $B2, $00, $B3, $00, $B2, $01, $B4, $00, $B5, $00, $07, $12, $B6, $00 ; CPU:$CA76 PRG:4A76 B1 00 B2 00 B3 00 B2 01 B4 00 B5 00 07 12 B6 00 - .byte $B7, $00, $B8, $00, $B9, $00, $B8, $01, $BA, $00, $BB, $00, $0F, $1F, $C0, $00 ; CPU:$CA86 PRG:4A86 B7 00 B8 00 B9 00 B8 01 BA 00 BB 00 0F 1F C0 00 - .byte $C1, $00, $C2, $00, $C3, $00, $B0, $00, $C4, $00, $C5, $00, $C6, $00, $C7, $00 ; CPU:$CA96 PRG:4A96 C1 00 C2 00 C3 00 B0 00 C4 00 C5 00 C6 00 C7 00 - .byte $C8, $00, $C9, $00, $C7, $01, $C8, $01, $CA, $00, $C6, $00, $07, $20, $CB, $00 ; CPU:$CAA6 PRG:4AA6 C8 00 C9 00 C7 01 C8 01 CA 00 C6 00 07 20 CB 00 - .byte $CC, $00, $CD, $00, $CE, $00, $CF, $00, $BC, $00, $B0, $01, $04, $1A, $BD, $00 ; CPU:$CAB6 PRG:4AB6 CC 00 CD 00 CE 00 CF 00 BC 00 B0 01 04 1A BD 00 - .byte $BE, $00, $BD, $01, $BF, $00, $04, $0C, $28, $00, $29, $00, $2A, $00, $2B, $00 ; CPU:$CAC6 PRG:4AC6 BE 00 BD 01 BF 00 04 0C 28 00 29 00 2A 00 2B 00 - .byte $03, $2B, $2C, $00, $2D, $00, $2E, $00, $03, $2B, $2F, $00, $6F, $00, $EF, $00 ; CPU:$CAD6 PRG:4AD6 03 2B 2C 00 2D 00 2E 00 03 2B 2F 00 6F 00 EF 00 - .byte $03, $2B, $6C, $00, $6D, $00, $6E, $00, $03, $2B, $6C, $00, $6D, $00, $6E, $00 ; CPU:$CAE6 PRG:4AE6 03 2B 6C 00 6D 00 6E 00 03 2B 6C 00 6D 00 6E 00 - .byte $03, $2B, $2F, $00, $6F, $00, $EF, $00, $03, $2B, $2C, $00, $2D, $00, $2E, $00 ; CPU:$CAF6 PRG:4AF6 03 2B 2F 00 6F 00 EF 00 03 2B 2C 00 2D 00 2E 00 - .byte $04, $0C, $E0, $00, $E1, $00, $E0, $02, $E1, $02, $04, $0C, $E2, $00, $E3, $00 ; CPU:$CB06 PRG:4B06 04 0C E0 00 E1 00 E0 02 E1 02 04 0C E2 00 E3 00 - .byte $E3, $03, $E2, $03, $04, $0C, $E4, $00, $E5, $00, $E5, $03, $E4, $03, $04, $0C ; CPU:$CB16 PRG:4B16 E3 03 E2 03 04 0C E4 00 E5 00 E5 03 E4 03 04 0C - .byte $E6, $00, $E7, $00, $E7, $03, $E6, $03, $04, $27, $E8, $00, $E8, $01, $E8, $02 ; CPU:$CB26 PRG:4B26 E6 00 E7 00 E7 03 E6 03 04 27 E8 00 E8 01 E8 02 - .byte $E8, $03, $08, $2A, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $E9, $00, $E9, $01 ; CPU:$CB36 PRG:4B36 E8 03 08 2A E8 00 E8 01 E8 02 E8 03 E9 00 E9 01 - .byte $E9, $02, $E9, $03, $08, $2A, $EA, $00, $EA, $01, $EA, $02, $EA, $03, $E8, $00 ; CPU:$CB46 PRG:4B46 E9 02 E9 03 08 2A EA 00 EA 01 EA 02 EA 03 E8 00 - .byte $E8, $01, $E8, $02, $E8, $03, $0C, $27, $E9, $00, $E9, $01, $E9, $02, $E9, $03 ; CPU:$CB56 PRG:4B56 E8 01 E8 02 E8 03 0C 27 E9 00 E9 01 E9 02 E9 03 - .byte $EB, $00, $EB, $01, $EB, $02, $EB, $03, $EA, $00, $EA, $01, $EA, $02, $EA, $03 ; CPU:$CB66 PRG:4B66 EB 00 EB 01 EB 02 EB 03 EA 00 EA 01 EA 02 EA 03 - .byte $04, $27, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $08, $2A, $E9, $00, $E9, $01 ; CPU:$CB76 PRG:4B76 04 27 E8 00 E8 01 E8 02 E8 03 08 2A E9 00 E9 01 - .byte $E9, $02, $E9, $03, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $0C, $27, $EA, $00 ; CPU:$CB86 PRG:4B86 E9 02 E9 03 E8 00 E8 01 E8 02 E8 03 0C 27 EA 00 - .byte $EA, $01, $EA, $02, $EA, $03, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $E9, $00 ; CPU:$CB96 PRG:4B96 EA 01 EA 02 EA 03 E8 00 E8 01 E8 02 E8 03 E9 00 - .byte $E9, $01, $E9, $02, $E9, $03, $0C, $27, $EB, $00, $EB, $01, $EB, $02, $EB, $03 ; CPU:$CBA6 PRG:4BA6 E9 01 E9 02 E9 03 0C 27 EB 00 EB 01 EB 02 EB 03 - .byte $E9, $00, $E9, $01, $E9, $02, $E9, $03, $EA, $00, $EA, $01, $EA, $02, $EA, $03 ; CPU:$CBB6 PRG:4BB6 E9 00 E9 01 E9 02 E9 03 EA 00 EA 01 EA 02 EA 03 - .byte $06, $29, $ED, $00, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $EC, $00, $02, $28 ; CPU:$CBC6 PRG:4BC6 06 29 ED 00 E8 00 E8 01 E8 02 E8 03 EC 00 02 28 - .byte $EC, $00, $ED, $00, $01, $00, $FF, $00, $01, $00, $FF, $00, $04, $0C, $DE, $00 ; CPU:$CBD6 PRG:4BD6 EC 00 ED 00 01 00 FF 00 01 00 FF 00 04 0C DE 00 - .byte $DF, $00, $DF, $03, $DE, $03, $04, $0F, $D0, $00, $D0, $01, $D1, $00, $D1, $01 ; CPU:$CBE6 PRG:4BE6 DF 00 DF 03 DE 03 04 0F D0 00 D0 01 D1 00 D1 01 - .byte $04, $0C, $D2, $00, $D3, $03, $D3, $00, $D2, $03, $09, $10, $D4, $00, $D5, $00 ; CPU:$CBF6 PRG:4BF6 04 0C D2 00 D3 03 D3 00 D2 03 09 10 D4 00 D5 00 - .byte $D4, $01, $D6, $00, $D7, $00, $D6, $01, $D8, $00, $D5, $02, $D8, $01, $09, $10 ; CPU:$CC06 PRG:4C06 D4 01 D6 00 D7 00 D6 01 D8 00 D5 02 D8 01 09 10 - .byte $D9, $00, $DA, $00, $D9, $01, $DB, $00, $DC, $00, $DB, $01, $DD, $00, $DA, $02 ; CPU:$CC16 PRG:4C16 D9 00 DA 00 D9 01 DB 00 DC 00 DB 01 DD 00 DA 02 - .byte $DD, $01, $09, $10, $D4, $00, $D5, $00, $D4, $01, $D6, $00, $D7, $00, $D6, $01 ; CPU:$CC26 PRG:4C26 DD 01 09 10 D4 00 D5 00 D4 01 D6 00 D7 00 D6 01 - .byte $D8, $00, $D5, $02, $D8, $01, $09, $10, $D9, $00, $DA, $00, $D9, $01, $DB, $00 ; CPU:$CC36 PRG:4C36 D8 00 D5 02 D8 01 09 10 D9 00 DA 00 D9 01 DB 00 - .byte $DC, $00, $DB, $01, $DD, $00, $DA, $02, $DD, $01, $04, $0C, $DE, $00, $DF, $00 ; CPU:$CC46 PRG:4C46 DC 00 DB 01 DD 00 DA 02 DD 01 04 0C DE 00 DF 00 - .byte $DF, $03, $DE, $03, $03, $07, $52, $00, $52, $02, $53, $00, $02, $08, $54, $00 ; CPU:$CC56 PRG:4C56 DF 03 DE 03 03 07 52 00 52 02 53 00 02 08 54 00 - .byte $54, $02, $03, $09, $55, $00, $55, $02, $56, $00, $03, $09, $57, $00, $57, $02 ; CPU:$CC66 PRG:4C66 54 02 03 09 55 00 55 02 56 00 03 09 57 00 57 02 - .byte $58, $00, $03, $09, $55, $00, $55, $02, $56, $00, $02, $08, $54, $00, $54, $02 ; CPU:$CC76 PRG:4C76 58 00 03 09 55 00 55 02 56 00 02 08 54 00 54 02 - .byte $03, $07, $52, $00, $52, $02, $53, $00, $03, $09, $59, $00, $5A, $00, $5B, $00 ; CPU:$CC86 PRG:4C86 03 07 52 00 52 02 53 00 03 09 59 00 5A 00 5B 00 - .byte $02, $05, $FE, $00, $FE, $01, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00 ; CPU:$CC96 PRG:4C96 02 05 FE 00 FE 01 05 03 33 00 34 00 33 01 35 00 - .byte $36, $00, $05, $1A, $37, $00, $38, $00, $37, $01, $39, $00, $B0, $00, $03, $22 ; CPU:$CCA6 PRG:4CA6 36 00 05 1A 37 00 38 00 37 01 39 00 B0 00 03 22 - .byte $3A, $00, $3B, $00, $3A, $01, $05, $1B, $B0, $00, $3C, $00, $3D, $00, $3E, $00 ; CPU:$CCB6 PRG:4CB6 3A 00 3B 00 3A 01 05 1B B0 00 3C 00 3D 00 3E 00 - .byte $3D, $01, $0A, $1C, $3F, $00, $F0, $00, $F1, $00, $F2, $00, $F3, $00, $F4, $00 ; CPU:$CCC6 PRG:4CC6 3D 01 0A 1C 3F 00 F0 00 F1 00 F2 00 F3 00 F4 00 - .byte $F5, $00, $B0, $00, $B0, $00, $B0, $00, $05, $1D, $F6, $00, $F6, $01, $F7, $00 ; CPU:$CCD6 PRG:4CD6 F5 00 B0 00 B0 00 B0 00 05 1D F6 00 F6 01 F7 00 - .byte $F8, $00, $F7, $01, $03, $22, $F9, $00, $FA, $00, $F9, $01, $05, $1E, $FB, $00 ; CPU:$CCE6 PRG:4CE6 F8 00 F7 01 03 22 F9 00 FA 00 F9 01 05 1E FB 00 - .byte $FC, $00, $FB, $01, $FD, $00, $FD, $01, $05, $03, $33, $00, $34, $00, $33, $01 ; CPU:$CCF6 PRG:4CF6 FC 00 FB 01 FD 00 FD 01 05 03 33 00 34 00 33 01 - .byte $35, $00, $36, $00, $04, $2E, $15, $00, $0A, $00, $1C, $00, $1D, $00, $05, $2E ; CPU:$CD06 PRG:4D06 35 00 36 00 04 2E 15 00 0A 00 1C 00 1D 00 05 2E - .byte $1C, $00, $1D, $00, $0A, $00, $10, $00, $0E, $00, $05, $2E, $1B, $00, $0E, $00 ; CPU:$CD16 PRG:4D16 1C 00 1D 00 0A 00 10 00 0E 00 05 2E 1B 00 0E 00 - .byte $0A, $00, $0D, $00, $22, $00, $08, $2E, $19, $00, $15, $00, $0A, $00, $22, $00 ; CPU:$CD26 PRG:4D26 0A 00 0D 00 22 00 08 2E 19 00 15 00 0A 00 22 00 - .byte $0E, $00, $1B, $00, $FF, $00, $01, $00, $03, $2E, $FE, $00, $FE, $01, $1A, $00 ; CPU:$CD36 PRG:4D36 0E 00 1B 00 FF 00 01 00 03 2E FE 00 FE 01 1A 00 - .byte $08, $2E, $19, $00, $15, $00, $0A, $00, $22, $00, $0E, $00, $1B, $00, $FF, $00 ; CPU:$CD46 PRG:4D46 08 2E 19 00 15 00 0A 00 22 00 0E 00 1B 00 FF 00 - .byte $02, $00, $02, $2D, $A5, $00, $AC, $00, $03, $2D, $AA, $00, $AC, $00, $AE, $00 ; CPU:$CD56 PRG:4D56 02 00 02 2D A5 00 AC 00 03 2D AA 00 AC 00 AE 00 - .byte $03, $2D, $AA, $00, $AD, $00, $AE, $00, $03, $2D, $AB, $00, $AC, $00, $AE, $00 ; CPU:$CD66 PRG:4D66 03 2D AA 00 AD 00 AE 00 03 2D AB 00 AC 00 AE 00 - .byte $03, $2D, $AB, $00, $AD, $00, $AE, $00, $03, $2D, $A3, $00, $AC, $00, $AE, $00 ; CPU:$CD76 PRG:4D76 03 2D AB 00 AD 00 AE 00 03 2D A3 00 AC 00 AE 00 - .byte $03, $2D, $A3, $00, $AD, $00, $AE, $00, $03, $2D, $A4, $00, $AC, $00, $AE, $00 ; CPU:$CD86 PRG:4D86 03 2D A3 00 AD 00 AE 00 03 2D A4 00 AC 00 AE 00 - .byte $03, $2D, $A4, $00, $AD, $00, $AE, $00, $03, $2D, $A5, $00, $AC, $00, $AE, $00 ; CPU:$CD96 PRG:4D96 03 2D A4 00 AD 00 AE 00 03 2D A5 00 AC 00 AE 00 - .byte $03, $2D, $A5, $00, $AD, $00, $AE, $00, $03, $2D, $A6, $00, $AC, $00, $AE, $00 ; CPU:$CDA6 PRG:4DA6 03 2D A5 00 AD 00 AE 00 03 2D A6 00 AC 00 AE 00 - .byte $03, $2D, $A6, $00, $AD, $00, $AE, $00, $03, $2D, $A7, $00, $AC, $00, $AE, $00 ; CPU:$CDB6 PRG:4DB6 03 2D A6 00 AD 00 AE 00 03 2D A7 00 AC 00 AE 00 - .byte $03, $2D, $A7, $00, $AD, $00, $AE, $00, $03, $2D, $A8, $00, $AC, $00, $AE, $00 ; CPU:$CDC6 PRG:4DC6 03 2D A7 00 AD 00 AE 00 03 2D A8 00 AC 00 AE 00 - .byte $03, $2D, $A8, $00, $AD, $00, $AE, $00, $03, $2D, $A9, $00, $AC, $00, $AE, $00 ; CPU:$CDD6 PRG:4DD6 03 2D A8 00 AD 00 AE 00 03 2D A9 00 AC 00 AE 00 - .byte $03, $2D, $AA, $00, $AC, $00, $AC, $00, $03, $2D, $AB, $00, $AC, $00, $AC, $00 ; CPU:$CDE6 PRG:4DE6 03 2D AA 00 AC 00 AC 00 03 2D AB 00 AC 00 AC 00 - .byte $03, $2D, $A3, $00, $AC, $00, $AC, $00, $03, $2D, $A4, $00, $AC, $00, $AC, $00 ; CPU:$CDF6 PRG:4DF6 03 2D A3 00 AC 00 AC 00 03 2D A4 00 AC 00 AC 00 - .byte $03, $2D, $A5, $00, $AC, $00, $AC, $00, $6C, $CE, $6E, $CE, $72, $CE, $76, $CE ; CPU:$CE06 PRG:4E06 03 2D A5 00 AC 00 AC 00 6C CE 6E CE 72 CE 76 CE - .byte $80, $CE, $86, $CE, $8A, $CE, $90, $CE, $96, $CE, $9A, $CE, $A0, $CE, $A6, $CE ; CPU:$CE16 PRG:4E16 80 CE 86 CE 8A CE 90 CE 96 CE 9A CE A0 CE A6 CE - .byte $AA, $CE, $B2, $CE, $BA, $CE, $C2, $CE, $CA, $CE, $DC, $CE, $EA, $CE, $F8, $CE ; CPU:$CE26 PRG:4E26 AA CE B2 CE BA CE C2 CE CA CE DC CE EA CE F8 CE - .byte $0C, $CF, $20, $CF, $2E, $CF, $3C, $CF, $42, $CF, $48, $CF, $4E, $CF, $58, $CF ; CPU:$CE36 PRG:4E36 0C CF 20 CF 2E CF 3C CF 42 CF 48 CF 4E CF 58 CF - .byte $62, $CF, $76, $CF, $80, $CF, $8A, $CF, $A8, $CF, $B6, $CF, $B6, $CF, $BC, $CF ; CPU:$CE46 PRG:4E46 62 CF 76 CF 80 CF 8A CF A8 CF B6 CF B6 CF BC CF - .byte $BC, $CF, $BC, $CF, $BC, $CF, $BC, $CF, $D4, $CF, $D8, $CF, $E4, $CF, $F4, $CF ; CPU:$CE56 PRG:4E56 BC CF BC CF BC CF BC CF D4 CF D8 CF E4 CF F4 CF - .byte $FA, $CF, $FA, $CF, $00, $D0, $FC, $04, $F8, $04, $00, $04, $F8, $04, $01, $04 ; CPU:$CE66 PRG:4E66 FA CF FA CF 00 D0 FC 04 F8 04 00 04 F8 04 01 04 - .byte $F4, $00, $FC, $00, $03, $00, $F8, $08, $00, $08, $F8, $08, $FF, $08, $FC, $00 ; CPU:$CE76 PRG:4E76 F4 00 FC 00 03 00 F8 08 00 08 F8 08 FF 08 FC 00 - .byte $F8, $04, $FF, $04, $F8, $00, $FF, $00, $FC, $08, $00, $01, $00, $08, $F8, $04 ; CPU:$CE86 PRG:4E86 F8 04 FF 04 F8 00 FF 00 FC 08 00 01 00 08 F8 04 - .byte $FC, $01, $FC, $08, $F8, $01, $F8, $08, $00, $04, $F8, $08, $00, $08, $FC, $00 ; CPU:$CE96 PRG:4E96 FC 01 FC 08 F8 01 F8 08 00 04 F8 08 00 08 FC 00 - .byte $FC, $00, $FC, $08, $F8, $00, $00, $00, $F8, $08, $00, $08, $F8, $04, $00, $04 ; CPU:$CEA6 PRG:4EA6 FC 00 FC 08 F8 00 00 00 F8 08 00 08 F8 04 00 04 - .byte $E8, $04, $10, $04, $F8, $04, $01, $04, $E8, $04, $10, $04, $F8, $00, $FF, $00 ; CPU:$CEB6 PRG:4EB6 E8 04 10 04 F8 04 01 04 E8 04 10 04 F8 00 FF 00 - .byte $F8, $08, $FF, $08, $F4, $FC, $FC, $FC, $04, $FC, $F4, $04, $FC, $04, $04, $04 ; CPU:$CEC6 PRG:4EC6 F8 08 FF 08 F4 FC FC FC 04 FC F4 04 FC 04 04 04 - .byte $F4, $0C, $FC, $0C, $04, $0C, $F4, $FC, $FC, $FC, $F4, $04, $FC, $04, $03, $04 ; CPU:$CED6 PRG:4ED6 F4 0C FC 0C 04 0C F4 FC FC FC F4 04 FC 04 03 04 - .byte $F4, $0C, $FC, $0C, $F8, $FC, $00, $FC, $F4, $04, $FC, $04, $03, $04, $F8, $0C ; CPU:$CEE6 PRG:4EE6 F4 0C FC 0C F8 FC 00 FC F4 04 FC 04 03 04 F8 0C - .byte $00, $0C, $F8, $FC, $00, $FC, $F8, $04, $00, $04, $F8, $0C, $00, $0C, $F0, $00 ; CPU:$CEF6 PRG:4EF6 00 0C F8 FC 00 FC F8 04 00 04 F8 0C 00 0C F0 00 - .byte $07, $00, $F0, $08, $07, $08, $F4, $00, $F4, $08, $FC, $00, $FC, $08, $04, $00 ; CPU:$CF06 PRG:4F06 07 00 F0 08 07 08 F4 00 F4 08 FC 00 FC 08 04 00 - .byte $04, $08, $F8, $F8, $F8, $0F, $00, $F8, $00, $0F, $02, $FE, $FC, $04, $F6, $0A ; CPU:$CF16 PRG:4F16 04 08 F8 F8 F8 0F 00 F8 00 0F 02 FE FC 04 F6 0A - .byte $FA, $FC, $04, $06, $F4, $02, $FE, $0C, $F6, $FE, $FC, $04, $02, $0A, $FE, $FC ; CPU:$CF26 PRG:4F26 FA FC 04 06 F4 02 FE 0C F6 FE FC 04 02 0A FE FC - .byte $F4, $06, $04, $02, $FA, $0C, $00, $08, $00, $00, $F8, $04, $F8, $00, $F8, $08 ; CPU:$CF36 PRG:4F36 F4 06 04 02 FA 0C 00 08 00 00 F8 04 F8 00 F8 08 - .byte $00, $04, $F8, $00, $00, $00, $FC, $08, $F4, $02, $FC, $02, $03, $02, $FC, $0A ; CPU:$CF46 PRG:4F46 00 04 F8 00 00 00 FC 08 F4 02 FC 02 03 02 FC 0A - .byte $F4, $0A, $F4, $01, $FC, $FE, $F4, $06, $FC, $06, $03, $06, $F8, $FC, $00, $FC ; CPU:$CF56 PRG:4F56 F4 0A F4 01 FC FE F4 06 FC 06 03 06 F8 FC 00 FC - .byte $F8, $04, $00, $04, $F4, $0C, $FC, $0C, $04, $0C, $F0, $01, $F0, $0A, $EC, $0C ; CPU:$CF66 PRG:4F66 F8 04 00 04 F4 0C FC 0C 04 0C F0 01 F0 0A EC 0C - .byte $F8, $FE, $FF, $FE, $F4, $06, $FC, $06, $03, $06, $F4, $02, $FC, $02, $03, $02 ; CPU:$CF76 PRG:4F76 F8 FE FF FE F4 06 FC 06 03 06 F4 02 FC 02 03 02 - .byte $F8, $0A, $FF, $0A, $FC, $F4, $FC, $FC, $FC, $04, $FC, $0C, $F0, $16, $F8, $14 ; CPU:$CF86 PRG:4F86 F8 0A FF 0A FC F4 FC FC FC 04 FC 0C F0 16 F8 14 - .byte $00, $14, $F4, $FA, $E4, $00, $EC, $00, $F4, $02, $13, $00, $0B, $00, $03, $02 ; CPU:$CF96 PRG:4F96 00 14 F4 FA E4 00 EC 00 F4 02 13 00 0B 00 03 02 - .byte $04, $FA, $FC, $FC, $FC, $04, $FC, $0C, $EC, $00, $F4, $00, $04, $00, $0C, $04 ; CPU:$CFA6 PRG:4FA6 04 FA FC FC FC 04 FC 0C EC 00 F4 00 04 00 0C 04 - .byte $F4, $04, $FC, $04, $03, $04, $F6, $F8, $FE, $F8, $F6, $00, $FE, $00, $FD, $FF ; CPU:$CFB6 PRG:4FB6 F4 04 FC 04 03 04 F6 F8 FE F8 F6 00 FE 00 FD FF - .byte $05, $FF, $FD, $07, $05, $07, $F3, $05, $FB, $05, $F3, $0D, $FB, $0D, $01, $03 ; CPU:$CFC6 PRG:4FC6 05 FF FD 07 05 07 F3 05 FB 05 F3 0D FB 0D 01 03 - .byte $F7, $09, $FA, $FC, $FD, $FF, $05, $FF, $FD, $07, $05, $07, $F7, $09, $FD, $FF ; CPU:$CFD6 PRG:4FD6 F7 09 FA FC FD FF 05 FF FD 07 05 07 F7 09 FD FF - .byte $05, $FF, $FD, $07, $05, $07, $F3, $05, $FB, $05, $F3, $0D, $FB, $0D, $FA, $FC ; CPU:$CFE6 PRG:4FE6 05 FF FD 07 05 07 F3 05 FB 05 F3 0D FB 0D FA FC - .byte $FA, $04, $02, $04, $F4, $04, $FC, $04, $04, $04, $00, $00, $08, $00, $10, $00 ; CPU:$CFF6 PRG:4FF6 FA 04 02 04 F4 04 FC 04 04 04 00 00 08 00 10 00 - .byte $18, $00, $20, $00, $28, $00, $30, $00, $38, $00, $1A, $D0, $2A, $D0, $3A, $D0 ; CPU:$D006 PRG:5006 18 00 20 00 28 00 30 00 38 00 1A D0 2A D0 3A D0 - .byte $4A, $D0, $5A, $D0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$D016 PRG:5016 4A D0 5A D0 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$D026 PRG:5026 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$D036 PRG:5036 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$D046 PRG:5046 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 03 - .byte $03, $03, $03, $03, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$D056 PRG:5056 03 03 03 03 01 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $A2, $00, $AD, $8E, $04, $09, $08, $09, $80, $8D, $8E, $04 ; CPU:$D066 PRG:5066 02 02 02 02 A2 00 AD 8E 04 09 08 09 80 8D 8E 04 - .byte $A9, $01, $8D, $6F, $05, $8D, $24, $05, $A9, $02, $8D, $88, $05, $A9, $50, $8D ; CPU:$D076 PRG:5076 A9 01 8D 6F 05 8D 24 05 A9 02 8D 88 05 A9 50 8D - .byte $3D, $05, $A9, $00, $8D, $A1, $05, $8D, $56, $05, $A9, $03, $8D, $F2, $04, $AD ; CPU:$D086 PRG:5086 3D 05 A9 00 8D A1 05 8D 56 05 A9 03 8D F2 04 AD - .byte $BC, $07, $F0, $0B, $AD, $37, $04, $D0, $03, $4C, $5B, $D1, $4C, $65, $D1, $AD ; CPU:$D096 PRG:5096 BC 07 F0 0B AD 37 04 D0 03 4C 5B D1 4C 65 D1 AD - .byte $37, $04, $F0, $03, $4C, $65, $D1, $A9, $A0, $8D, $D9, $04, $20, $75, $C2, $A9 ; CPU:$D0A6 PRG:50A6 37 04 F0 03 4C 65 D1 A9 A0 8D D9 04 20 75 C2 A9 - .byte $00, $8D, $0B, $05, $A9, $08, $8D, $BA, $05, $A9, $0A, $20, $6B, $A0, $20, $9A ; CPU:$D0B6 PRG:50B6 00 8D 0B 05 A9 08 8D BA 05 A9 0A 20 6B A0 20 9A - .byte $D1, $C9, $28, $90, $F4, $A9, $0A, $20, $94, $A0, $EE, $D9, $04, $A9, $00, $8D ; CPU:$D0C6 PRG:50C6 D1 C9 28 90 F4 A9 0A 20 94 A0 EE D9 04 A9 00 8D - .byte $9B, $06, $A9, $15, $20, $6B, $A0, $20, $9A, $D1, $C9, $08, $90, $F9, $EE, $D9 ; CPU:$D0D6 PRG:50D6 9B 06 A9 15 20 6B A0 20 9A D1 C9 08 90 F9 EE D9 - .byte $04, $A9, $00, $8D, $9B, $06, $20, $9A, $D1, $C9, $08, $90, $F9, $EE, $D9, $04 ; CPU:$D0E6 PRG:50E6 04 A9 00 8D 9B 06 20 9A D1 C9 08 90 F9 EE D9 04 - .byte $20, $75, $C2, $20, $75, $C2, $20, $75, $C2, $EE, $D9, $04, $A9, $08, $9D, $0B ; CPU:$D0F6 PRG:50F6 20 75 C2 20 75 C2 20 75 C2 EE D9 04 A9 08 9D 0B - .byte $05, $A9, $00, $8D, $9B, $06, $20, $9A, $D1, $C9, $0A, $90, $F9, $EE, $D9, $04 ; CPU:$D106 PRG:5106 05 A9 00 8D 9B 06 20 9A D1 C9 0A 90 F9 EE D9 04 - .byte $A9, $00, $8D, $9B, $06, $20, $9A, $D1, $C9, $14, $90, $F9, $20, $9A, $D1, $BD ; CPU:$D116 PRG:5116 A9 00 8D 9B 06 20 9A D1 C9 14 90 F9 20 9A D1 BD - .byte $A7, $04, $C9, $C0, $90, $F6, $EE, $D9, $04, $A9, $00, $8D, $9B, $06, $20, $9A ; CPU:$D126 PRG:5126 A7 04 C9 C0 90 F6 EE D9 04 A9 00 8D 9B 06 20 9A - .byte $D1, $C9, $08, $90, $F9, $EE, $D9, $04, $20, $75, $C2, $20, $75, $C2, $20, $75 ; CPU:$D136 PRG:5136 D1 C9 08 90 F9 EE D9 04 20 75 C2 20 75 C2 20 75 - .byte $C2, $EE, $D9, $04, $A9, $00, $8D, $0B, $05, $A9, $00, $8D, $9B, $06, $20, $9A ; CPU:$D146 PRG:5146 C2 EE D9 04 A9 00 8D 0B 05 A9 00 8D 9B 06 20 9A - .byte $D1, $C9, $0A, $90, $F9, $A9, $0E, $20, $6B, $A0, $A9, $16, $20, $6B, $A0, $A9 ; CPU:$D156 PRG:5156 D1 C9 0A 90 F9 A9 0E 20 6B A0 A9 16 20 6B A0 A9 - .byte $01, $8D, $6F, $05, $8D, $24, $05, $A9, $02, $8D, $88, $05, $A9, $30, $8D, $3D ; CPU:$D166 PRG:5166 01 8D 6F 05 8D 24 05 A9 02 8D 88 05 A9 30 8D 3D - .byte $05, $A9, $00, $8D, $A1, $05, $8D, $56, $05, $A9, $00, $8D, $D9, $04, $A9, $14 ; CPU:$D176 PRG:5176 05 A9 00 8D A1 05 8D 56 05 A9 00 8D D9 04 A9 14 - .byte $8D, $BA, $05, $20, $D7, $B1, $AD, $8E, $04, $29, $BE, $8D, $8E, $04, $20, $75 ; CPU:$D186 PRG:5186 8D BA 05 20 D7 B1 AD 8E 04 29 BE 8D 8E 04 20 75 - .byte $C2, $4C, $AC, $D1, $A9, $08, $20, $48, $B0, $20, $D7, $B1, $20, $75, $C2, $EE ; CPU:$D196 PRG:5196 C2 4C AC D1 A9 08 20 48 B0 20 D7 B1 20 75 C2 EE - .byte $9B, $06, $AD, $9B, $06, $60, $A2, $00, $BD, $8E, $04, $29, $08, $D0, $0B, $E8 ; CPU:$D1A6 PRG:51A6 9B 06 AD 9B 06 60 A2 00 BD 8E 04 29 08 D0 0B E8 - .byte $E0, $03, $D0, $F4, $20, $75, $C2, $4C, $AC, $D1, $BD, $8E, $04, $29, $20, $F0 ; CPU:$D1B6 PRG:51B6 E0 03 D0 F4 20 75 C2 4C AC D1 BD 8E 04 29 20 F0 - .byte $03, $4C, $BC, $D5, $20, $9B, $D7, $F0, $08, $20, $CF, $B3, $F0, $03, $4C, $A5 ; CPU:$D1C6 PRG:51C6 03 4C BC D5 20 9B D7 F0 08 20 CF B3 F0 03 4C A5 - .byte $D5, $E0, $00, $D0, $03, $4C, $14, $D2, $BD, $8E, $04, $29, $10, $F0, $03, $4C ; CPU:$D1D6 PRG:51D6 D5 E0 00 D0 03 4C 14 D2 BD 8E 04 29 10 F0 03 4C - .byte $17, $D6, $BD, $8E, $04, $29, $02, $F0, $03, $4C, $98, $D6, $BD, $8E, $04, $29 ; CPU:$D1E6 PRG:51E6 17 D6 BD 8E 04 29 02 F0 03 4C 98 D6 BD 8E 04 29 - .byte $04, $F0, $03, $4C, $B7, $D6, $20, $5B, $D2, $AD, $3D, $05, $9D, $3D, $05, $AD ; CPU:$D1F6 PRG:51F6 04 F0 03 4C B7 D6 20 5B D2 AD 3D 05 9D 3D 05 AD - .byte $24, $05, $9D, $24, $05, $20, $D7, $B1, $20, $7B, $B3, $4C, $B5, $D1, $20, $9B ; CPU:$D206 PRG:5206 24 05 9D 24 05 20 D7 B1 20 7B B3 4C B5 D1 20 9B - .byte $D7, $F0, $08, $20, $CF, $B3, $F0, $03, $4C, $A5, $D5, $AD, $85, $07, $29, $80 ; CPU:$D216 PRG:5216 D7 F0 08 20 CF B3 F0 03 4C A5 D5 AD 85 07 29 80 - .byte $D0, $03, $4C, $40, $D2, $AD, $88, $03, $29, $01, $D0, $16, $AD, $88, $03, $09 ; CPU:$D226 PRG:5226 D0 03 4C 40 D2 AD 88 03 29 01 D0 16 AD 88 03 09 - .byte $01, $8D, $88, $03, $20, $03, $D3, $4C, $48, $D2, $AD, $88, $03, $29, $FE, $8D ; CPU:$D236 PRG:5236 01 8D 88 03 20 03 D3 4C 48 D2 AD 88 03 29 FE 8D - .byte $88, $03, $20, $AA, $D2, $20, $72, $D4, $AD, $37, $04, $C9, $FF, $D0, $03, $4C ; CPU:$D246 PRG:5246 88 03 20 AA D2 20 72 D4 AD 37 04 C9 FF D0 03 4C - .byte $3E, $D6, $4C, $B5, $D1, $BD, $8E, $04, $29, $80, $F0, $47, $E0, $01, $D0, $23 ; CPU:$D256 PRG:5256 3E D6 4C B5 D1 BD 8E 04 29 80 F0 47 E0 01 D0 23 - .byte $AD, $88, $05, $38, $E9, $15, $B0, $0F, $9D, $88, $05, $AD, $6F, $05, $38, $E9 ; CPU:$D266 PRG:5266 AD 88 05 38 E9 15 B0 0F 9D 88 05 AD 6F 05 38 E9 - .byte $01, $9D, $6F, $05, $4C, $A9, $D2, $9D, $88, $05, $AD, $6F, $05, $9D, $6F, $05 ; CPU:$D276 PRG:5276 01 9D 6F 05 4C A9 D2 9D 88 05 AD 6F 05 9D 6F 05 - .byte $4C, $A9, $D2, $AD, $88, $05, $18, $69, $15, $90, $0F, $9D, $88, $05, $AD, $6F ; CPU:$D286 PRG:5286 4C A9 D2 AD 88 05 18 69 15 90 0F 9D 88 05 AD 6F - .byte $05, $18, $69, $01, $9D, $6F, $05, $4C, $A9, $D2, $9D, $88, $05, $AD, $6F, $05 ; CPU:$D296 PRG:5296 05 18 69 01 9D 6F 05 4C A9 D2 9D 88 05 AD 6F 05 - .byte $9D, $6F, $05, $60, $AD, $85, $07, $29, $40, $F0, $24, $AD, $88, $03, $29, $10 ; CPU:$D2A6 PRG:52A6 9D 6F 05 60 AD 85 07 29 40 F0 24 AD 88 03 29 10 - .byte $D0, $0B, $AD, $88, $03, $09, $10, $8D, $88, $03, $4C, $CB, $D2, $E6, $DB, $A5 ; CPU:$D2B6 PRG:52B6 D0 0B AD 88 03 09 10 8D 88 03 4C CB D2 E6 DB A5 - .byte $DB, $C9, $0A, $90, $12, $A9, $00, $85, $DB, $20, $B9, $D3, $4C, $DD, $D2, $AD ; CPU:$D2C6 PRG:52C6 DB C9 0A 90 12 A9 00 85 DB 20 B9 D3 4C DD D2 AD - .byte $88, $03, $29, $EF, $8D, $88, $03, $60, $A2, $01, $20, $5B, $D2, $20, $D7, $B1 ; CPU:$D2D6 PRG:52D6 88 03 29 EF 8D 88 03 60 A2 01 20 5B D2 20 D7 B1 - .byte $A2, $02, $20, $5B, $D2, $20, $D7, $B1, $A2, $00, $4C, $72, $D4, $A9, $00, $8D ; CPU:$D2E6 PRG:52E6 A2 02 20 5B D2 20 D7 B1 A2 00 4C 72 D4 A9 00 8D - .byte $0B, $05, $4C, $9A, $D1, $A9, $08, $8D, $0B, $05, $4C, $9A, $D1, $AD, $36, $04 ; CPU:$D2F6 PRG:52F6 0B 05 4C 9A D1 A9 08 8D 0B 05 4C 9A D1 AD 36 04 - .byte $D0, $01, $60, $CE, $36, $04, $AD, $8E, $04, $09, $10, $8D, $8E, $04, $A9, $00 ; CPU:$D306 PRG:5306 D0 01 60 CE 36 04 AD 8E 04 09 10 8D 8E 04 A9 00 - .byte $8D, $9B, $06, $A9, $15, $20, $6B, $A0, $20, $DE, $D2, $20, $F3, $D2, $C9, $08 ; CPU:$D316 PRG:5316 8D 9B 06 A9 15 20 6B A0 20 DE D2 20 F3 D2 C9 08 - .byte $90, $F6, $A9, $A1, $8D, $D9, $04, $A9, $00, $8D, $9B, $06, $20, $DE, $D2, $20 ; CPU:$D326 PRG:5326 90 F6 A9 A1 8D D9 04 A9 00 8D 9B 06 20 DE D2 20 - .byte $F3, $D2, $C9, $04, $90, $F6, $EE, $D9, $04, $A9, $00, $8D, $9B, $06, $20, $DE ; CPU:$D336 PRG:5336 F3 D2 C9 04 90 F6 EE D9 04 A9 00 8D 9B 06 20 DE - .byte $D2, $20, $FB, $D2, $C9, $04, $90, $F6, $EE, $D9, $04, $A9, $00, $8D, $9B, $06 ; CPU:$D346 PRG:5346 D2 20 FB D2 C9 04 90 F6 EE D9 04 A9 00 8D 9B 06 - .byte $20, $DE, $D2, $20, $FB, $D2, $C9, $08, $90, $F6, $EE, $D9, $04, $A9, $00, $8D ; CPU:$D356 PRG:5356 20 DE D2 20 FB D2 C9 08 90 F6 EE D9 04 A9 00 8D - .byte $9B, $06, $20, $DE, $D2, $20, $FB, $D2, $C9, $08, $90, $F6, $EE, $D9, $04, $A9 ; CPU:$D366 PRG:5366 9B 06 20 DE D2 20 FB D2 C9 08 90 F6 EE D9 04 A9 - .byte $00, $8D, $9B, $06, $20, $DE, $D2, $20, $FB, $D2, $C9, $04, $90, $F6, $EE, $D9 ; CPU:$D376 PRG:5376 00 8D 9B 06 20 DE D2 20 FB D2 C9 04 90 F6 EE D9 - .byte $04, $A9, $00, $8D, $9B, $06, $20, $DE, $D2, $20, $F3, $D2, $C9, $04, $90, $F6 ; CPU:$D386 PRG:5386 04 A9 00 8D 9B 06 20 DE D2 20 F3 D2 C9 04 90 F6 - .byte $EE, $D9, $04, $A9, $00, $8D, $9B, $06, $20, $AA, $D2, $20, $DE, $D2, $20, $F3 ; CPU:$D396 PRG:5396 EE D9 04 A9 00 8D 9B 06 20 AA D2 20 DE D2 20 F3 - .byte $D2, $C9, $08, $90, $F3, $A9, $00, $8D, $D9, $04, $AD, $8E, $04, $29, $EF, $8D ; CPU:$D3A6 PRG:53A6 D2 C9 08 90 F3 A9 00 8D D9 04 AD 8E 04 29 EF 8D - .byte $8E, $04, $60, $A9, $0B, $8D, $1A, $07, $A9, $01, $8D, $19, $07, $AC, $1A, $07 ; CPU:$D3B6 PRG:53B6 8E 04 60 A9 0B 8D 1A 07 A9 01 8D 19 07 AC 1A 07 - .byte $B9, $8E, $04, $30, $03, $4C, $D1, $D3, $4C, $64, $D4, $A9, $88, $99, $8E, $04 ; CPU:$D3C6 PRG:53C6 B9 8E 04 30 03 4C D1 D3 4C 64 D4 A9 88 99 8E 04 - .byte $20, $69, $D7, $AD, $8F, $04, $29, $10, $D0, $15, $AD, $8F, $04, $29, $04, $D0 ; CPU:$D3D6 PRG:53D6 20 69 D7 AD 8F 04 29 10 D0 15 AD 8F 04 29 04 D0 - .byte $0E, $AD, $8F, $04, $29, $08, $D0, $35, $AD, $90, $04, $29, $08, $D0, $17, $AD ; CPU:$D3E6 PRG:53E6 0E AD 8F 04 29 08 D0 35 AD 90 04 29 08 D0 17 AD - .byte $8E, $04, $29, $02, $D0, $08, $A9, $08, $99, $D9, $04, $4C, $55, $D4, $A9, $09 ; CPU:$D3F6 PRG:53F6 8E 04 29 02 D0 08 A9 08 99 D9 04 4C 55 D4 A9 09 - .byte $99, $D9, $04, $4C, $55, $D4, $AD, $8E, $04, $29, $02, $D0, $08, $A9, $0C, $99 ; CPU:$D406 PRG:5406 99 D9 04 4C 55 D4 AD 8E 04 29 02 D0 08 A9 0C 99 - .byte $D9, $04, $4C, $55, $D4, $A9, $0F, $99, $D9, $04, $4C, $55, $D4, $AD, $90, $04 ; CPU:$D416 PRG:5416 D9 04 4C 55 D4 A9 0F 99 D9 04 4C 55 D4 AD 90 04 - .byte $29, $08, $D0, $17, $AD, $8E, $04, $29, $02, $D0, $08, $A9, $0B, $99, $D9, $04 ; CPU:$D426 PRG:5426 29 08 D0 17 AD 8E 04 29 02 D0 08 A9 0B 99 D9 04 - .byte $4C, $55, $D4, $A9, $0E, $99, $D9, $04, $4C, $55, $D4, $AD, $8E, $04, $29, $02 ; CPU:$D436 PRG:5436 4C 55 D4 A9 0E 99 D9 04 4C 55 D4 AD 8E 04 29 02 - .byte $D0, $08, $A9, $0A, $99, $D9, $04, $4C, $55, $D4, $A9, $0D, $99, $D9, $04, $A9 ; CPU:$D446 PRG:5446 D0 08 A9 0A 99 D9 04 4C 55 D4 A9 0D 99 D9 04 A9 - .byte $01, $99, $F2, $04, $A9, $14, $20, $6B, $A0, $CE, $19, $07, $F0, $0D, $EE, $1A ; CPU:$D456 PRG:5456 01 99 F2 04 A9 14 20 6B A0 CE 19 07 F0 0D EE 1A - .byte $07, $AC, $1A, $07, $C0, $0E, $F0, $03, $4C, $C3, $D3, $60, $AD, $85, $07, $29 ; CPU:$D466 PRG:5466 07 AC 1A 07 C0 0E F0 03 4C C3 D3 60 AD 85 07 29 - .byte $0F, $D0, $03, $4C, $92, $D5, $C9, $01, $D0, $03, $4C, $00, $D5, $C9, $02, $D0 ; CPU:$D476 PRG:5476 0F D0 03 4C 92 D5 C9 01 D0 03 4C 00 D5 C9 02 D0 - .byte $03, $4C, $12, $D5, $C9, $04, $D0, $03, $4C, $77, $D5, $C9, $05, $D0, $03, $4C ; CPU:$D486 PRG:5486 03 4C 12 D5 C9 04 D0 03 4C 77 D5 C9 05 D0 03 4C - .byte $54, $D5, $C9, $06, $D0, $03, $4C, $27, $D5, $C9, $08, $D0, $03, $4C, $EE, $D4 ; CPU:$D496 PRG:5496 54 D5 C9 06 D0 03 4C 27 D5 C9 08 D0 03 4C EE D4 - .byte $C9, $09, $D0, $03, $4C, $D5, $D4, $A9, $0E, $20, $93, $D5, $BD, $C0, $04, $C9 ; CPU:$D4A6 PRG:54A6 C9 09 D0 03 4C D5 D4 A9 0E 20 93 D5 BD C0 04 C9 - .byte $1C, $B0, $03, $4C, $EE, $D4, $BD, $A7, $04, $C9, $30, $F0, $4F, $90, $4D, $4C ; CPU:$D4B6 PRG:54B6 1C B0 03 4C EE D4 BD A7 04 C9 30 F0 4F 90 4D 4C - .byte $89, $D5, $BD, $A7, $04, $C9, $30, $90, $03, $20, $89, $D5, $4C, $92, $D5, $A9 ; CPU:$D4C6 PRG:54C6 89 D5 BD A7 04 C9 30 90 03 20 89 D5 4C 92 D5 A9 - .byte $02, $20, $93, $D5, $BD, $C0, $04, $C9, $E4, $90, $03, $4C, $EE, $D4, $BD, $A7 ; CPU:$D4D6 PRG:54D6 02 20 93 D5 BD C0 04 C9 E4 90 03 4C EE D4 BD A7 - .byte $04, $C9, $31, $90, $15, $4C, $89, $D5, $AD, $8E, $04, $29, $10, $F0, $03, $4C ; CPU:$D4E6 PRG:54E6 04 C9 31 90 15 4C 89 D5 AD 8E 04 29 10 F0 03 4C - .byte $92, $D5, $A9, $00, $20, $93, $D5, $4C, $C8, $D4, $A9, $04, $20, $93, $D5, $BD ; CPU:$D4F6 PRG:54F6 92 D5 A9 00 20 93 D5 4C C8 D4 A9 04 20 93 D5 BD - .byte $C0, $04, $C9, $E4, $90, $03, $4C, $92, $D5, $4C, $89, $D5, $A9, $0C, $20, $93 ; CPU:$D506 PRG:5506 C0 04 C9 E4 90 03 4C 92 D5 4C 89 D5 A9 0C 20 93 - .byte $D5, $BD, $C0, $04, $C9, $1C, $90, $03, $4C, $24, $D5, $4C, $92, $D5, $4C, $89 ; CPU:$D516 PRG:5516 D5 BD C0 04 C9 1C 90 03 4C 24 D5 4C 92 D5 4C 89 - .byte $D5, $A9, $0A, $20, $93, $D5, $BD, $A7, $04, $C9, $C0, $90, $0D, $BD, $C0, $04 ; CPU:$D526 PRG:5526 D5 A9 0A 20 93 D5 BD A7 04 C9 C0 90 0D BD C0 04 - .byte $C9, $1C, $90, $03, $4C, $12, $D5, $4C, $92, $D5, $BD, $C0, $04, $C9, $1C, $90 ; CPU:$D536 PRG:5536 C9 1C 90 03 4C 12 D5 4C 92 D5 BD C0 04 C9 1C 90 - .byte $30, $4C, $89, $D5, $BD, $A7, $04, $C9, $C0, $B0, $41, $4C, $89, $D5, $A9, $06 ; CPU:$D546 PRG:5546 30 4C 89 D5 BD A7 04 C9 C0 B0 41 4C 89 D5 A9 06 - .byte $20, $93, $D5, $BD, $A7, $04, $C9, $C0, $90, $0D, $BD, $C0, $04, $C9, $E4, $B0 ; CPU:$D556 PRG:5556 20 93 D5 BD A7 04 C9 C0 90 0D BD C0 04 C9 E4 B0 - .byte $03, $4C, $00, $D5, $4C, $92, $D5, $BD, $C0, $04, $C9, $E4, $B0, $03, $4C, $89 ; CPU:$D566 PRG:5566 03 4C 00 D5 4C 92 D5 BD C0 04 C9 E4 B0 03 4C 89 - .byte $D5, $AD, $8E, $04, $29, $10, $F0, $03, $4C, $92, $D5, $A9, $08, $20, $93, $D5 ; CPU:$D576 PRG:5576 D5 AD 8E 04 29 10 F0 03 4C 92 D5 A9 08 20 93 D5 - .byte $4C, $4A, $D5, $BD, $BA, $05, $20, $48, $B0, $20, $D7, $B1, $60, $DD, $0B, $05 ; CPU:$D586 PRG:5586 4C 4A D5 BD BA 05 20 48 B0 20 D7 B1 60 DD 0B 05 - .byte $D0, $01, $60, $48, $BD, $0B, $05, $8D, $8D, $04, $68, $9D, $0B, $05, $60, $BD ; CPU:$D596 PRG:5596 D0 01 60 48 BD 0B 05 8D 8D 04 68 9D 0B 05 60 BD - .byte $8E, $04, $09, $20, $9D, $8E, $04, $A9, $FF, $9D, $9B, $06, $A9, $01, $9D, $F2 ; CPU:$D5A6 PRG:55A6 8E 04 09 20 9D 8E 04 A9 FF 9D 9B 06 A9 01 9D F2 - .byte $04, $A9, $12, $20, $6B, $A0, $FE, $9B, $06, $BD, $9B, $06, $E0, $00, $F0, $0C ; CPU:$D5B6 PRG:55B6 04 A9 12 20 6B A0 FE 9B 06 BD 9B 06 E0 00 F0 0C - .byte $29, $0F, $C9, $04, $F0, $16, $18, $69, $80, $4C, $DC, $D5, $4A, $29, $0F, $C9 ; CPU:$D5C6 PRG:55C6 29 0F C9 04 F0 16 18 69 80 4C DC D5 4A 29 0F C9 - .byte $08, $F0, $09, $18, $69, $90, $9D, $D9, $04, $4C, $B5, $D1, $E0, $00, $D0, $29 ; CPU:$D5D6 PRG:55D6 08 F0 09 18 69 90 9D D9 04 4C B5 D1 E0 00 D0 29 - .byte $A9, $8F, $8D, $D9, $04, $20, $75, $C2, $A9, $5A, $85, $86, $A9, $00, $85, $87 ; CPU:$D5E6 PRG:55E6 A9 8F 8D D9 04 20 75 C2 A9 5A 85 86 A9 00 85 87 - .byte $20, $51, $C2, $A9, $FF, $8D, $8C, $04, $A9, $00, $8D, $8E, $04, $8D, $8F, $04 ; CPU:$D5F6 PRG:55F6 20 51 C2 A9 FF 8D 8C 04 A9 00 8D 8E 04 8D 8F 04 - .byte $8D, $90, $04, $8D, $EC, $05, $20, $37, $C2, $A9, $00, $9D, $8E, $04, $4C, $B5 ; CPU:$D606 PRG:5606 8D 90 04 8D EC 05 20 37 C2 A9 00 9D 8E 04 4C B5 - .byte $D1, $20, $7B, $B3, $BD, $8E, $04, $29, $80, $F0, $15, $A9, $08, $9D, $0B, $05 ; CPU:$D616 PRG:5616 D1 20 7B B3 BD 8E 04 29 80 F0 15 A9 08 9D 0B 05 - .byte $A9, $1E, $9D, $BA, $05, $A9, $14, $9D, $D9, $04, $20, $89, $D5, $4C, $B5, $D1 ; CPU:$D626 PRG:5626 A9 1E 9D BA 05 A9 14 9D D9 04 20 89 D5 4C B5 D1 - .byte $A9, $8E, $9D, $D9, $04, $4C, $33, $D6, $A9, $A0, $9D, $D9, $04, $20, $75, $C2 ; CPU:$D636 PRG:5636 A9 8E 9D D9 04 4C 33 D6 A9 A0 9D D9 04 20 75 C2 - .byte $A9, $01, $8D, $96, $03, $9D, $05, $06, $A9, $00, $8D, $99, $03, $9D, $37, $06 ; CPU:$D646 PRG:5646 A9 01 8D 96 03 9D 05 06 A9 00 8D 99 03 9D 37 06 - .byte $A9, $02, $8D, $97, $03, $9D, $1E, $06, $A9, $D0, $8D, $9A, $03, $9D, $50, $06 ; CPU:$D656 PRG:5656 A9 02 8D 97 03 9D 1E 06 A9 D0 8D 9A 03 9D 50 06 - .byte $20, $BC, $B0, $20, $C9, $AD, $9D, $0B, $05, $A9, $08, $20, $48, $B0, $20, $D7 ; CPU:$D666 PRG:5666 20 BC B0 20 C9 AD 9D 0B 05 A9 08 20 48 B0 20 D7 - .byte $B1, $20, $75, $C2, $20, $02, $B1, $20, $BC, $B0, $20, $F4, $A9, $90, $C1, $20 ; CPU:$D676 PRG:5676 B1 20 75 C2 20 02 B1 20 BC B0 20 F4 A9 90 C1 20 - .byte $75, $C2, $AD, $37, $04, $D0, $F8, $AD, $8E, $04, $09, $40, $8D, $8E, $04, $4C ; CPU:$D686 PRG:5686 75 C2 AD 37 04 D0 F8 AD 8E 04 09 40 8D 8E 04 4C - .byte $B5, $D0, $A9, $FF, $9D, $9B, $06, $20, $7B, $B3, $BD, $8E, $04, $29, $80, $D0 ; CPU:$D696 PRG:5696 B5 D0 A9 FF 9D 9B 06 20 7B B3 BD 8E 04 29 80 D0 - .byte $06, $20, $89, $D5, $4C, $B5, $D1, $BD, $8E, $04, $29, $FD, $09, $04, $9D, $8E ; CPU:$D6A6 PRG:56A6 06 20 89 D5 4C B5 D1 BD 8E 04 29 FD 09 04 9D 8E - .byte $04, $E0, $01, $D0, $06, $20, $0E, $D7, $4C, $C4, $D6, $20, $2F, $D7, $AD, $3D ; CPU:$D6B6 PRG:56B6 04 E0 01 D0 06 20 0E D7 4C C4 D6 20 2F D7 AD 3D - .byte $05, $8D, $9A, $03, $AD, $24, $05, $8D, $99, $03, $20, $BC, $B0, $20, $C9, $AD ; CPU:$D6C6 PRG:56C6 05 8D 9A 03 AD 24 05 8D 99 03 20 BC B0 20 C9 AD - .byte $9D, $0B, $05, $20, $89, $D5, $20, $4E, $D7, $B0, $11, $FE, $9B, $06, $BD, $9B ; CPU:$D6D6 PRG:56D6 9D 0B 05 20 89 D5 20 4E D7 B0 11 FE 9B 06 BD 9B - .byte $06, $29, $07, $18, $69, $10, $9D, $D9, $04, $4C, $B5, $D1, $BD, $8E, $04, $29 ; CPU:$D6E6 PRG:56E6 06 29 07 18 69 10 9D D9 04 4C B5 D1 BD 8E 04 29 - .byte $FB, $9D, $8E, $04, $AD, $0B, $05, $9D, $0B, $05, $AD, $BA, $05, $9D, $BA, $05 ; CPU:$D6F6 PRG:56F6 FB 9D 8E 04 AD 0B 05 9D 0B 05 AD BA 05 9D BA 05 - .byte $A9, $01, $9D, $D9, $04, $4C, $FC, $D1, $AD, $88, $05, $38, $E9, $15, $B0, $0F ; CPU:$D706 PRG:5706 A9 01 9D D9 04 4C FC D1 AD 88 05 38 E9 15 B0 0F - .byte $8D, $97, $03, $AD, $6F, $05, $38, $E9, $01, $29, $01, $8D, $96, $03, $60, $8D ; CPU:$D716 PRG:5716 8D 97 03 AD 6F 05 38 E9 01 29 01 8D 96 03 60 8D - .byte $97, $03, $AD, $6F, $05, $8D, $96, $03, $60, $AD, $88, $05, $18, $69, $15, $90 ; CPU:$D726 PRG:5726 97 03 AD 6F 05 8D 96 03 60 AD 88 05 18 69 15 90 - .byte $0D, $8D, $97, $03, $AD, $6F, $05, $18, $69, $01, $8D, $96, $03, $60, $8D, $97 ; CPU:$D736 PRG:5736 0D 8D 97 03 AD 6F 05 18 69 01 8D 96 03 60 8D 97 - .byte $03, $AD, $6F, $05, $8D, $96, $03, $60, $A0, $00, $20, $E5, $B0, $20, $BC, $B0 ; CPU:$D746 PRG:5746 03 AD 6F 05 8D 96 03 60 A0 00 20 E5 B0 20 BC B0 - .byte $A9, $30, $85, $B0, $A9, $D0, $85, $B1, $A9, $10, $85, $B2, $A9, $F0, $85, $B3 ; CPU:$D756 PRG:5756 A9 30 85 B0 A9 D0 85 B1 A9 10 85 B2 A9 F0 85 B3 - .byte $4C, $00, $AA, $AD, $3D, $05, $38, $E9, $10, $B0, $14, $38, $E9, $10, $99, $3D ; CPU:$D766 PRG:5766 4C 00 AA AD 3D 05 38 E9 10 B0 14 38 E9 10 99 3D - .byte $05, $38, $B9, $24, $05, $E9, $01, $29, $01, $99, $24, $05, $4C, $8E, $D7, $99 ; CPU:$D776 PRG:5776 05 38 B9 24 05 E9 01 29 01 99 24 05 4C 8E D7 99 - .byte $3D, $05, $AD, $24, $05, $99, $24, $05, $AD, $88, $05, $99, $88, $05, $AD, $6F ; CPU:$D786 PRG:5786 3D 05 AD 24 05 99 24 05 AD 88 05 99 88 05 AD 6F - .byte $05, $99, $6F, $05, $60, $AD, $37, $04, $C9, $FF, $60, $A9, $FF, $8D, $C5, $07 ; CPU:$D796 PRG:5796 05 99 6F 05 60 AD 37 04 C9 FF 60 A9 FF 8D C5 07 - .byte $8D, $18, $07, $A9, $00, $8D, $39, $04, $8D, $3A, $04, $8D, $3B, $04, $8D, $3C ; CPU:$D7A6 PRG:57A6 8D 18 07 A9 00 8D 39 04 8D 3A 04 8D 3B 04 8D 3C - .byte $04, $A5, $8D, $29, $E7, $85, $8D, $20, $75, $C2, $20, $40, $E2, $AD, $BC, $07 ; CPU:$D7B6 PRG:57B6 04 A5 8D 29 E7 85 8D 20 75 C2 20 40 E2 AD BC 07 - .byte $D0, $05, $AD, $37, $04, $F0, $06, $AD, $35, $04, $8D, $A1, $03, $20, $00, $80 ; CPU:$D7C6 PRG:57C6 D0 05 AD 37 04 F0 06 AD 35 04 8D A1 03 20 00 80 - .byte $20, $3E, $A7, $A9, $00, $85, $8B, $85, $8A, $20, $14, $AC, $A5, $8D, $09, $18 ; CPU:$D7D6 PRG:57D6 20 3E A7 A9 00 85 8B 85 8A 20 14 AC A5 8D 09 18 - .byte $85, $8D, $20, $75, $C2, $A9, $08, $20, $F5, $C1, $A9, $00, $8D, $33, $04, $38 ; CPU:$D7E6 PRG:57E6 85 8D 20 75 C2 A9 08 20 F5 C1 A9 00 8D 33 04 38 - .byte $ED, $A1, $03, $4A, $4A, $4A, $8D, $38, $04, $A9, $20, $38, $ED, $38, $04, $8D ; CPU:$D7F6 PRG:57F6 ED A1 03 4A 4A 4A 8D 38 04 A9 20 38 ED 38 04 8D - .byte $34, $04, $38, $E9, $0A, $90, $09, $8D, $34, $04, $EE, $33, $04, $4C, $08, $D8 ; CPU:$D806 PRG:5806 34 04 38 E9 0A 90 09 8D 34 04 EE 33 04 4C 08 D8 - .byte $AD, $BC, $07, $D0, $08, $AD, $8E, $04, $09, $40, $8D, $8E, $04, $A0, $01, $B9 ; CPU:$D816 PRG:5816 AD BC 07 D0 08 AD 8E 04 09 40 8D 8E 04 A0 01 B9 - .byte $8E, $04, $29, $08, $F0, $1F, $B9, $8E, $04, $29, $EF, $09, $02, $99, $8E, $04 ; CPU:$D826 PRG:5826 8E 04 29 08 F0 1F B9 8E 04 29 EF 09 02 99 8E 04 - .byte $A9, $00, $99, $0B, $05, $C8, $C0, $03, $90, $E5, $AD, $8E, $04, $09, $04, $8D ; CPU:$D836 PRG:5836 A9 00 99 0B 05 C8 C0 03 90 E5 AD 8E 04 09 04 8D - .byte $8E, $04, $4C, $50, $D8, $C8, $C0, $03, $90, $D5, $A9, $03, $8D, $36, $04, $A2 ; CPU:$D846 PRG:5846 8E 04 4C 50 D8 C8 C0 03 90 D5 A9 03 8D 36 04 A2 - .byte $0B, $A9, $00, $9D, $8E, $04, $E8, $E0, $0E, $90, $F8, $A9, $1A, $20, $F5, $C1 ; CPU:$D856 PRG:5856 0B A9 00 9D 8E 04 E8 E0 0E 90 F8 A9 1A 20 F5 C1 - .byte $A9, $1C, $20, $F5, $C1, $20, $86, $BC, $AD, $84, $03, $D0, $18, $AD, $37, $04 ; CPU:$D866 PRG:5866 A9 1C 20 F5 C1 20 86 BC AD 84 03 D0 18 AD 37 04 - .byte $F0, $13, $A9, $04, $20, $6B, $A0, $A9, $05, $20, $6B, $A0, $A9, $06, $20, $6B ; CPU:$D876 PRG:5876 F0 13 A9 04 20 6B A0 A9 05 20 6B A0 A9 06 20 6B - .byte $A0, $A9, $00, $85, $C9, $A0, $0E, $8C, $1D, $07, $A9, $AA, $8D, $1E, $07, $AC ; CPU:$D886 PRG:5886 A0 A9 00 85 C9 A0 0E 8C 1D 07 A9 AA 8D 1E 07 AC - .byte $1D, $07, $AD, $1E, $07, $99, $D9, $04, $98, $38, $E9, $0D, $0A, $18, $69, $08 ; CPU:$D896 PRG:5896 1D 07 AD 1E 07 99 D9 04 98 38 E9 0D 0A 18 69 08 - .byte $20, $F5, $C1, $EE, $1E, $07, $EE, $1D, $07, $AD, $1D, $07, $C9, $13, $D0, $DF ; CPU:$D8A6 PRG:58A6 20 F5 C1 EE 1E 07 EE 1D 07 AD 1D 07 C9 13 D0 DF - .byte $A2, $00, $A0, $00, $B9, $5F, $E2, $9D, $30, $02, $E8, $C8, $C0, $08, $90, $F4 ; CPU:$D8B6 PRG:58B6 A2 00 A0 00 B9 5F E2 9D 30 02 E8 C8 C0 08 90 F4 - .byte $A2, $01, $A0, $00, $B9, $33, $04, $9D, $30, $02, $C8, $E8, $E8, $E8, $E8, $C0 ; CPU:$D8C6 PRG:58C6 A2 01 A0 00 B9 33 04 9D 30 02 C8 E8 E8 E8 E8 C0 - .byte $02, $90, $F1, $A2, $08, $A0, $00, $B9, $67, $E2, $9D, $30, $02, $E8, $C8, $C0 ; CPU:$D8D6 PRG:58D6 02 90 F1 A2 08 A0 00 B9 67 E2 9D 30 02 E8 C8 C0 - .byte $08, $90, $F4, $A2, $09, $A0, $00, $B9, $31, $04, $9D, $30, $02, $C8, $E8, $E8 ; CPU:$D8E6 PRG:58E6 08 90 F4 A2 09 A0 00 B9 31 04 9D 30 02 C8 E8 E8 - .byte $E8, $E8, $C0, $02, $90, $F1, $A9, $FF, $8D, $8C, $07, $A9, $3C, $8D, $0A, $07 ; CPU:$D8F6 PRG:58F6 E8 E8 C0 02 90 F1 A9 FF 8D 8C 07 A9 3C 8D 0A 07 - .byte $CE, $0A, $07, $F0, $19, $20, $82, $DE, $A9, $40, $8D, $A7, $03, $A9, $FF, $8D ; CPU:$D906 PRG:5906 CE 0A 07 F0 19 20 82 DE A9 40 8D A7 03 A9 FF 8D - .byte $A8, $03, $8D, $A9, $03, $20, $4C, $80, $20, $75, $C2, $4C, $06, $D9, $AD, $37 ; CPU:$D916 PRG:5916 A8 03 8D A9 03 20 4C 80 20 75 C2 4C 06 D9 AD 37 - .byte $04, $D0, $1D, $AD, $8E, $04, $29, $40, $F0, $16, $A9, $40, $8D, $A7, $03, $A9 ; CPU:$D926 PRG:5926 04 D0 1D AD 8E 04 29 40 F0 16 A9 40 8D A7 03 A9 - .byte $FF, $8D, $A8, $03, $8D, $A9, $03, $20, $4C, $80, $20, $75, $C2, $4C, $29, $D9 ; CPU:$D936 PRG:5936 FF 8D A8 03 8D A9 03 20 4C 80 20 75 C2 4C 29 D9 - .byte $A0, $0E, $8C, $1D, $07, $AC, $1D, $07, $A9, $00, $99, $8E, $04, $98, $38, $E9 ; CPU:$D946 PRG:5946 A0 0E 8C 1D 07 AC 1D 07 A9 00 99 8E 04 98 38 E9 - .byte $0D, $0A, $18, $69, $08, $20, $40, $C2, $EE, $1D, $07, $AD, $1D, $07, $C9, $13 ; CPU:$D956 PRG:5956 0D 0A 18 69 08 20 40 C2 EE 1D 07 AD 1D 07 C9 13 - .byte $D0, $E3, $20, $75, $C2, $A9, $00, $8D, $8C, $07, $AD, $A1, $03, $4A, $4A, $29 ; CPU:$D966 PRG:5966 D0 E3 20 75 C2 A9 00 8D 8C 07 AD A1 03 4A 4A 29 - .byte $3E, $A8, $B9, $6F, $E2, $85, $D4, $C8, $B9, $6F, $E2, $85, $D5, $AD, $A1, $03 ; CPU:$D976 PRG:5976 3E A8 B9 6F E2 85 D4 C8 B9 6F E2 85 D5 AD A1 03 - .byte $F0, $27, $A0, $00, $B1, $D4, $29, $07, $85, $B0, $AD, $A1, $03, $29, $07, $85 ; CPU:$D986 PRG:5986 F0 27 A0 00 B1 D4 29 07 85 B0 AD A1 03 29 07 85 - .byte $B1, $A5, $B0, $C5, $B1, $F0, $12, $90, $10, $A5, $D4, $18, $69, $03, $85, $D4 ; CPU:$D996 PRG:5996 B1 A5 B0 C5 B1 F0 12 90 10 A5 D4 18 69 03 85 D4 - .byte $A5, $D5, $69, $00, $85, $D5, $4C, $88, $D9, $20, $92, $DE, $A0, $00, $B1, $D4 ; CPU:$D9A6 PRG:59A6 A5 D5 69 00 85 D5 4C 88 D9 20 92 DE A0 00 B1 D4 - .byte $29, $07, $85, $B0, $AD, $A1, $03, $29, $07, $85, $B1, $A5, $B0, $C5, $B1, $F0 ; CPU:$D9B6 PRG:59B6 29 07 85 B0 AD A1 03 29 07 85 B1 A5 B0 C5 B1 F0 - .byte $08, $B0, $03, $4C, $81, $DA, $4C, $71, $DA, $C8, $B1, $D4, $CD, $A0, $03, $B0 ; CPU:$D9C6 PRG:59C6 08 B0 03 4C 81 DA 4C 71 DA C8 B1 D4 CD A0 03 B0 - .byte $03, $4C, $81, $DA, $A0, $00, $B9, $CD, $06, $C9, $FF, $F0, $0F, $98, $18, $69 ; CPU:$D9D6 PRG:59D6 03 4C 81 DA A0 00 B9 CD 06 C9 FF F0 0F 98 18 69 - .byte $05, $C9, $3C, $90, $03, $4C, $81, $DA, $A8, $4C, $DC, $D9, $8C, $1E, $07, $A0 ; CPU:$D9E6 PRG:59E6 05 C9 3C 90 03 4C 81 DA A8 4C DC D9 8C 1E 07 A0 - .byte $02, $B1, $D4, $C9, $10, $90, $21, $C9, $27, $B0, $1D, $85, $B0, $A2, $00, $BD ; CPU:$D9F6 PRG:59F6 02 B1 D4 C9 10 90 21 C9 27 B0 1D 85 B0 A2 00 BD - .byte $F5, $EB, $C5, $B0, $F0, $08, $E8, $E0, $05, $90, $F4, $4C, $1C, $DA, $A9, $00 ; CPU:$DA06 PRG:5A06 F5 EB C5 B0 F0 08 E8 E0 05 90 F4 4C 1C DA A9 00 - .byte $8D, $17, $07, $20, $92, $DE, $A5, $B0, $0A, $0A, $A8, $B9, $19, $EB, $85, $B1 ; CPU:$DA16 PRG:5A16 8D 17 07 20 92 DE A5 B0 0A 0A A8 B9 19 EB 85 B1 - .byte $C8, $B9, $19, $EB, $85, $B2, $C8, $B9, $19, $EB, $85, $B3, $C8, $B9, $19, $EB ; CPU:$DA26 PRG:5A26 C8 B9 19 EB 85 B2 C8 B9 19 EB 85 B3 C8 B9 19 EB - .byte $85, $B4, $AC, $1E, $07, $A5, $B1, $99, $CD, $06, $C8, $A5, $B2, $99, $CD, $06 ; CPU:$DA36 PRG:5A36 85 B4 AC 1E 07 A5 B1 99 CD 06 C8 A5 B2 99 CD 06 - .byte $C8, $99, $CD, $06, $C8, $A5, $B3, $99, $CD, $06, $C8, $A5, $B4, $99, $CD, $06 ; CPU:$DA46 PRG:5A46 C8 99 CD 06 C8 A5 B3 99 CD 06 C8 A5 B4 99 CD 06 - .byte $A0, $02, $B1, $D4, $C9, $10, $B0, $13, $8D, $09, $07, $0A, $0A, $A8, $B9, $DD ; CPU:$DA56 PRG:5A56 A0 02 B1 D4 C9 10 B0 13 8D 09 07 0A 0A A8 B9 DD - .byte $EB, $8D, $0A, $07, $C8, $B9, $DD, $EB, $8D, $0B, $07, $A5, $D4, $18, $69, $03 ; CPU:$DA66 PRG:5A66 EB 8D 0A 07 C8 B9 DD EB 8D 0B 07 A5 D4 18 69 03 - .byte $85, $D4, $A5, $D5, $69, $00, $85, $D5, $4C, $B2, $D9, $A9, $00, $8D, $1E, $07 ; CPU:$DA76 PRG:5A76 85 D4 A5 D5 69 00 85 D5 4C B2 D9 A9 00 8D 1E 07 - .byte $AC, $1E, $07, $B9, $CD, $06, $C9, $FF, $F0, $0C, $C8, $B9, $CD, $06, $38, $E9 ; CPU:$DA86 PRG:5A86 AC 1E 07 B9 CD 06 C9 FF F0 0C C8 B9 CD 06 38 E9 - .byte $01, $F0, $13, $99, $CD, $06, $AD, $1E, $07, $18, $69, $05, $8D, $1E, $07, $C9 ; CPU:$DA96 PRG:5A96 01 F0 13 99 CD 06 AD 1E 07 18 69 05 8D 1E 07 C9 - .byte $3C, $90, $DD, $4C, $42, $DB, $C8, $B9, $CD, $06, $88, $99, $CD, $06, $AC, $1E ; CPU:$DAA6 PRG:5AA6 3C 90 DD 4C 42 DB C8 B9 CD 06 88 99 CD 06 AC 1E - .byte $07, $98, $18, $69, $03, $A8, $B9, $CD, $06, $8D, $1B, $07, $A0, $0E, $B9, $8E ; CPU:$DAB6 PRG:5AB6 07 98 18 69 03 A8 B9 CD 06 8D 1B 07 A0 0E B9 8E - .byte $04, $29, $08, $F0, $08, $C8, $C0, $16, $90, $F4, $4C, $23, $DB, $8C, $1D, $07 ; CPU:$DAC6 PRG:5AC6 04 29 08 F0 08 C8 C0 16 90 F4 4C 23 DB 8C 1D 07 - .byte $AC, $1E, $07, $B9, $CD, $06, $AC, $1D, $07, $99, $D3, $05, $B9, $8E, $04, $09 ; CPU:$DAD6 PRG:5AD6 AC 1E 07 B9 CD 06 AC 1D 07 99 D3 05 B9 8E 04 09 - .byte $08, $99, $8E, $04, $98, $38, $E9, $0D, $0A, $18, $69, $08, $20, $F5, $C1, $AC ; CPU:$DAE6 PRG:5AE6 08 99 8E 04 98 38 E9 0D 0A 18 69 08 20 F5 C1 AC - .byte $1D, $07, $CE, $1B, $07, $D0, $CE, $AC, $1E, $07, $98, $18, $69, $04, $A8, $B9 ; CPU:$DAF6 PRG:5AF6 1D 07 CE 1B 07 D0 CE AC 1E 07 98 18 69 04 A8 B9 - .byte $CD, $06, $88, $38, $F9, $CD, $06, $90, $09, $F0, $07, $C8, $99, $CD, $06, $4C ; CPU:$DB06 PRG:5B06 CD 06 88 38 F9 CD 06 90 09 F0 07 C8 99 CD 06 4C - .byte $9C, $DA, $AC, $1E, $07, $A9, $FF, $99, $CD, $06, $4C, $9C, $DA, $AC, $1E, $07 ; CPU:$DB16 PRG:5B16 9C DA AC 1E 07 A9 FF 99 CD 06 4C 9C DA AC 1E 07 - .byte $98, $18, $69, $03, $A8, $B9, $CD, $06, $38, $ED, $1B, $07, $85, $B0, $C8, $B9 ; CPU:$DB26 PRG:5B26 98 18 69 03 A8 B9 CD 06 38 ED 1B 07 85 B0 C8 B9 - .byte $CD, $06, $38, $E5, $B0, $90, $DB, $F0, $D9, $99, $CD, $06, $AD, $0A, $07, $0D ; CPU:$DB36 PRG:5B36 CD 06 38 E5 B0 90 DB F0 D9 99 CD 06 AD 0A 07 0D - .byte $0B, $07, $F0, $10, $CE, $0A, $07, $AD, $0A, $07, $C9, $FF, $D0, $1E, $CE, $0B ; CPU:$DB46 PRG:5B46 0B 07 F0 10 CE 0A 07 AD 0A 07 C9 FF D0 1E CE 0B - .byte $07, $4C, $72, $DB, $A9, $01, $8D, $0C, $07, $AD, $09, $07, $0A, $0A, $A8, $B9 ; CPU:$DB56 PRG:5B56 07 4C 72 DB A9 01 8D 0C 07 AD 09 07 0A 0A A8 B9 - .byte $DD, $EB, $8D, $0A, $07, $C8, $B9, $DD, $EB, $8D, $0B, $07, $AD, $18, $07, $C9 ; CPU:$DB66 PRG:5B66 DD EB 8D 0A 07 C8 B9 DD EB 8D 0B 07 AD 18 07 C9 - .byte $FF, $D0, $03, $4C, $01, $DC, $C9, $00, $F0, $12, $C9, $01, $F0, $1F, $C9, $02 ; CPU:$DB76 PRG:5B76 FF D0 03 4C 01 DC C9 00 F0 12 C9 01 F0 1F C9 02 - .byte $F0, $34, $C9, $03, $F0, $11, $20, $0E, $AD, $4C, $01, $DC, $AD, $8E, $04, $09 ; CPU:$DB86 PRG:5B86 F0 34 C9 03 F0 11 20 0E AD 4C 01 DC AD 8E 04 09 - .byte $02, $8D, $8E, $04, $4C, $01, $DC, $20, $29, $E2, $4C, $01, $DC, $A0, $0E, $C0 ; CPU:$DB96 PRG:5B96 02 8D 8E 04 4C 01 DC 20 29 E2 4C 01 DC A0 0E C0 - .byte $16, $F0, $58, $B9, $8E, $04, $29, $08, $F0, $08, $B9, $8E, $04, $09, $01, $99 ; CPU:$DBA6 PRG:5BA6 16 F0 58 B9 8E 04 29 08 F0 08 B9 8E 04 09 01 99 - .byte $8E, $04, $C8, $4C, $A5, $DB, $AD, $8F, $04, $30, $40, $AD, $90, $04, $30, $3B ; CPU:$DBB6 PRG:5BB6 8E 04 C8 4C A5 DB AD 8F 04 30 40 AD 90 04 30 3B - .byte $A0, $01, $A9, $00, $99, $6F, $05, $A9, $E0, $99, $88, $05, $C8, $A9, $01, $99 ; CPU:$DBC6 PRG:5BC6 A0 01 A9 00 99 6F 05 A9 E0 99 88 05 C8 A9 01 99 - .byte $6F, $05, $A9, $20, $99, $88, $05, $88, $A9, $0A, $99, $8E, $04, $A9, $50, $99 ; CPU:$DBD6 PRG:5BD6 6F 05 A9 20 99 88 05 88 A9 0A 99 8E 04 A9 50 99 - .byte $3D, $05, $A9, $00, $99, $24, $05, $A9, $08, $99, $0B, $05, $A9, $1E, $99, $BA ; CPU:$DBE6 PRG:5BE6 3D 05 A9 00 99 24 05 A9 08 99 0B 05 A9 1E 99 BA - .byte $05, $A9, $03, $99, $F2, $04, $C8, $C0, $03, $90, $DD, $A9, $FF, $8D, $18, $07 ; CPU:$DBF6 PRG:5BF6 05 A9 03 99 F2 04 C8 C0 03 90 DD A9 FF 8D 18 07 - .byte $AD, $46, $04, $D0, $12, $AD, $47, $04, $C9, $C8, $90, $1C, $A9, $1E, $20, $F5 ; CPU:$DC06 PRG:5C06 AD 46 04 D0 12 AD 47 04 C9 C8 90 1C A9 1E 20 F5 - .byte $C1, $EE, $46, $04, $4C, $29, $DC, $AD, $47, $04, $C9, $96, $90, $0A, $A9, $1E ; CPU:$DC16 PRG:5C16 C1 EE 46 04 4C 29 DC AD 47 04 C9 96 90 0A A9 1E - .byte $20, $F5, $C1, $A9, $00, $8D, $47, $04, $AD, $84, $03, $F0, $3F, $AD, $83, $07 ; CPU:$DC26 PRG:5C26 20 F5 C1 A9 00 8D 47 04 AD 84 03 F0 3F AD 83 07 - .byte $D0, $0E, $AC, $84, $07, $C8, $B9, $6F, $E2, $8D, $83, $07, $C8, $8C, $84, $07 ; CPU:$DC36 PRG:5C36 D0 0E AC 84 07 C8 B9 6F E2 8D 83 07 C8 8C 84 07 - .byte $CE, $83, $07, $AC, $84, $07, $B9, $6F, $E2, $4C, $8E, $DE, $A5, $98, $CD, $85 ; CPU:$DC46 PRG:5C46 CE 83 07 AC 84 07 B9 6F E2 4C 8E DE A5 98 CD 85 - .byte $07, $F0, $16, $AC, $84, $07, $C8, $99, $00, $70, $AD, $83, $07, $99, $FD, $6F ; CPU:$DC56 PRG:5C56 07 F0 16 AC 84 07 C8 99 00 70 AD 83 07 99 FD 6F - .byte $C8, $A9, $00, $8D, $83, $07, $8C, $84, $07, $EE, $83, $07, $20, $82, $DE, $AD ; CPU:$DC66 PRG:5C66 C8 A9 00 8D 83 07 8C 84 07 EE 83 07 20 82 DE AD - .byte $8C, $04, $C9, $FF, $D0, $03, $4C, $E0, $E1, $AD, $A1, $03, $29, $07, $D0, $37 ; CPU:$DC76 PRG:5C76 8C 04 C9 FF D0 03 4C E0 E1 AD A1 03 29 07 D0 37 - .byte $AD, $A0, $03, $C9, $81, $B0, $30, $C9, $71, $90, $1F, $A0, $03, $A9, $00, $99 ; CPU:$DC86 PRG:5C86 AD A0 03 C9 81 B0 30 C9 71 90 1F A0 03 A9 00 99 - .byte $8E, $04, $C8, $C0, $0B, $90, $F8, $A0, $0E, $B9, $8E, $04, $F0, $05, $09, $01 ; CPU:$DC96 PRG:5C96 8E 04 C8 C0 0B 90 F8 A0 0E B9 8E 04 F0 05 09 01 - .byte $99, $8E, $04, $C8, $C0, $16, $90, $F1, $B0, $0D, $20, $5C, $DE, $AD, $A0, $03 ; CPU:$DCA6 PRG:5CA6 99 8E 04 C8 C0 16 90 F1 B0 0D 20 5C DE AD A0 03 - .byte $C9, $61, $B0, $03, $4C, $9D, $DE, $AD, $84, $03, $D0, $06, $A5, $98, $29, $10 ; CPU:$DCB6 PRG:5CB6 C9 61 B0 03 4C 9D DE AD 84 03 D0 06 A5 98 29 10 - .byte $D0, $03, $4C, $45, $DD, $A0, $00, $B9, $4B, $E2, $99, $30, $02, $C8, $C0, $14 ; CPU:$DCC6 PRG:5CC6 D0 03 4C 45 DD A0 00 B9 4B E2 99 30 02 C8 C0 14 - .byte $D0, $F5, $A9, $FF, $99, $30, $02, $C8, $C0, $C8, $D0, $F8, $A9, $06, $20, $A4 ; CPU:$DCD6 PRG:5CD6 D0 F5 A9 FF 99 30 02 C8 C0 C8 D0 F8 A9 06 20 A4 - .byte $C2, $18, $69, $02, $C9, $20, $D0, $F6, $A9, $03, $20, $6B, $A0, $20, $75, $C2 ; CPU:$DCE6 PRG:5CE6 C2 18 69 02 C9 20 D0 F6 A9 03 20 6B A0 20 75 C2 - .byte $A0, $05, $A9, $03, $D9, $46, $07, $F0, $F4, $88, $10, $F8, $A9, $00, $20, $6B ; CPU:$DCF6 PRG:5CF6 A0 05 A9 03 D9 46 07 F0 F4 88 10 F8 A9 00 20 6B - .byte $A0, $A9, $01, $20, $6B, $A0, $A9, $02, $20, $6B, $A0, $20, $D0, $A0, $20, $75 ; CPU:$DD06 PRG:5D06 A0 A9 01 20 6B A0 A9 02 20 6B A0 20 D0 A0 20 75 - .byte $C2, $A9, $FF, $8D, $8D, $03, $A5, $98, $29, $10, $D0, $F2, $20, $75, $C2, $A5 ; CPU:$DD16 PRG:5D16 C2 A9 FF 8D 8D 03 A5 98 29 10 D0 F2 20 75 C2 A5 - .byte $98, $29, $10, $F0, $F7, $20, $75, $C2, $A5, $98, $29, $10, $D0, $F7, $A9, $06 ; CPU:$DD26 PRG:5D26 98 29 10 F0 F7 20 75 C2 A5 98 29 10 D0 F7 A9 06 - .byte $20, $88, $C2, $18, $69, $02, $C9, $20, $D0, $F6, $A9, $00, $8D, $8D, $03, $AD ; CPU:$DD36 PRG:5D36 20 88 C2 18 69 02 C9 20 D0 F6 A9 00 8D 8D 03 AD - .byte $37, $04, $F0, $19, $A5, $C9, $D0, $15, $A9, $06, $20, $5B, $A0, $B0, $0E, $A9 ; CPU:$DD46 PRG:5D46 37 04 F0 19 A5 C9 D0 15 A9 06 20 5B A0 B0 0E A9 - .byte $FF, $85, $C9, $A9, $0E, $20, $6B, $A0, $A9, $16, $20, $6B, $A0, $AD, $8D, $07 ; CPU:$DD56 PRG:5D56 FF 85 C9 A9 0E 20 6B A0 A9 16 20 6B A0 AD 8D 07 - .byte $C9, $FF, $D0, $03, $4C, $42, $DE, $C9, $01, $F0, $30, $C9, $02, $D0, $03, $4C ; CPU:$DD66 PRG:5D66 C9 FF D0 03 4C 42 DE C9 01 F0 30 C9 02 D0 03 4C - .byte $EB, $DD, $A0, $00, $AD, $A1, $03, $D9, $58, $DE, $F0, $08, $C8, $C0, $04, $90 ; CPU:$DD76 PRG:5D76 EB DD A0 00 AD A1 03 D9 58 DE F0 08 C8 C0 04 90 - .byte $F3, $4C, $42, $DE, $A9, $01, $8D, $8D, $07, $A0, $0E, $B9, $8E, $04, $09, $01 ; CPU:$DD86 PRG:5D86 F3 4C 42 DE A9 01 8D 8D 07 A0 0E B9 8E 04 09 01 - .byte $99, $8E, $04, $C8, $C0, $16, $90, $F3, $20, $92, $DE, $20, $5C, $DE, $AD, $A0 ; CPU:$DD96 PRG:5D96 99 8E 04 C8 C0 16 90 F3 20 92 DE 20 5C DE AD A0 - .byte $03, $C9, $90, $90, $03, $4C, $42, $DE, $20, $75, $C2, $A0, $0E, $A9, $08, $99 ; CPU:$DDA6 PRG:5DA6 03 C9 90 90 03 4C 42 DE 20 75 C2 A0 0E A9 08 99 - .byte $8E, $04, $A9, $FF, $99, $D3, $05, $A9, $8E, $99, $D9, $04, $A9, $04, $99, $BA ; CPU:$DDB6 PRG:5DB6 8E 04 A9 FF 99 D3 05 A9 8E 99 D9 04 A9 04 99 BA - .byte $05, $A9, $00, $99, $6F, $05, $99, $24, $05, $99, $EC, $05, $A9, $F8, $99, $88 ; CPU:$DDC6 PRG:5DC6 05 A9 00 99 6F 05 99 24 05 99 EC 05 A9 F8 99 88 - .byte $05, $A9, $40, $99, $3D, $05, $A9, $0A, $20, $F5, $C1, $A9, $02, $8D, $8D, $07 ; CPU:$DDD6 PRG:5DD6 05 A9 40 99 3D 05 A9 0A 20 F5 C1 A9 02 8D 8D 07 - .byte $A9, $00, $8D, $8E, $07, $AD, $8E, $07, $29, $01, $D0, $1A, $A9, $FF, $8D, $A8 ; CPU:$DDE6 PRG:5DE6 A9 00 8D 8E 07 AD 8E 07 29 01 D0 1A A9 FF 8D A8 - .byte $03, $8D, $A9, $03, $20, $4C, $80, $A9, $08, $8D, $19, $05, $AD, $A0, $03, $C9 ; CPU:$DDF6 PRG:5DF6 03 8D A9 03 20 4C 80 A9 08 8D 19 05 AD A0 03 C9 - .byte $E8, $B0, $23, $4C, $2F, $DE, $A9, $01, $8D, $A8, $03, $A9, $00, $8D, $A9, $03 ; CPU:$DE06 PRG:5E06 E8 B0 23 4C 2F DE A9 01 8D A8 03 A9 00 8D A9 03 - .byte $20, $4C, $80, $A9, $00, $8D, $19, $05, $AD, $A0, $03, $C9, $E8, $B0, $0A, $C9 ; CPU:$DE16 PRG:5E16 20 4C 80 A9 00 8D 19 05 AD A0 03 C9 E8 B0 0A C9 - .byte $30, $B0, $03, $4C, $2F, $DE, $EE, $8E, $07, $AD, $9C, $04, $09, $08, $8D, $9C ; CPU:$DE26 PRG:5E26 30 B0 03 4C 2F DE EE 8E 07 AD 9C 04 09 08 8D 9C - .byte $04, $20, $75, $C2, $4C, $72, $DC, $A9, $FF, $8D, $8D, $07, $A9, $40, $8D, $A7 ; CPU:$DE36 PRG:5E36 04 20 75 C2 4C 72 DC A9 FF 8D 8D 07 A9 40 8D A7 - .byte $03, $A9, $FF, $8D, $A8, $03, $8D, $A9, $03, $20, $4C, $80, $20, $75, $C2, $4C ; CPU:$DE46 PRG:5E46 03 A9 FF 8D A8 03 8D A9 03 20 4C 80 20 75 C2 4C - .byte $B2, $D9, $CA, $8A, $4A, $0A, $A0, $01, $B9, $8E, $04, $29, $10, $D0, $1C, $B9 ; CPU:$DE56 PRG:5E56 B2 D9 CA 8A 4A 0A A0 01 B9 8E 04 29 10 D0 1C B9 - .byte $8E, $04, $29, $08, $F0, $08, $B9, $8E, $04, $09, $10, $99, $8E, $04, $C8, $C0 ; CPU:$DE66 PRG:5E66 8E 04 29 08 F0 08 B9 8E 04 09 10 99 8E 04 C8 C0 - .byte $03, $90, $E5, $AD, $8E, $04, $29, $FB, $8D, $8E, $04, $60, $AD, $86, $03, $D0 ; CPU:$DE76 PRG:5E76 03 90 E5 AD 8E 04 29 FB 8D 8E 04 60 AD 86 03 D0 - .byte $05, $A5, $98, $4C, $8E, $DE, $A5, $9A, $8D, $85, $07, $60, $A2, $3C, $A9, $FF ; CPU:$DE86 PRG:5E86 05 A5 98 4C 8E DE A5 9A 8D 85 07 60 A2 3C A9 FF - .byte $9D, $CD, $06, $CA, $10, $FA, $60, $A9, $FF, $8D, $37, $04, $20, $75, $C2, $20 ; CPU:$DE96 PRG:5E96 9D CD 06 CA 10 FA 60 A9 FF 8D 37 04 20 75 C2 20 - .byte $06, $C3, $A2, $0B, $A9, $00, $9D, $8E, $04, $E8, $E0, $0E, $90, $F8, $20, $75 ; CPU:$DEA6 PRG:5EA6 06 C3 A2 0B A9 00 9D 8E 04 E8 E0 0E 90 F8 20 75 - .byte $C2, $AD, $8C, $04, $F0, $08, $A9, $00, $8D, $37, $04, $4C, $E0, $E1, $AD, $D9 ; CPU:$DEB6 PRG:5EB6 C2 AD 8C 04 F0 08 A9 00 8D 37 04 4C E0 E1 AD D9 - .byte $04, $C9, $A0, $D0, $E9, $20, $AE, $A8, $AD, $8B, $03, $D0, $02, $A9, $FF, $8D ; CPU:$DEC6 PRG:5EC6 04 C9 A0 D0 E9 20 AE A8 AD 8B 03 D0 02 A9 FF 8D - .byte $20, $07, $A5, $8B, $8D, $21, $07, $A5, $8A, $8D, $22, $07, $A0, $00, $B9, $AC ; CPU:$DED6 PRG:5ED6 20 07 A5 8B 8D 21 07 A5 8A 8D 22 07 A0 00 B9 AC - .byte $E1, $99, $30, $02, $C8, $C0, $0C, $90, $F5, $A2, $01, $A0, $00, $B9, $20, $07 ; CPU:$DEE6 PRG:5EE6 E1 99 30 02 C8 C0 0C 90 F5 A2 01 A0 00 B9 20 07 - .byte $9D, $30, $02, $C8, $E8, $E8, $E8, $E8, $C0, $03, $90, $F1, $AD, $20, $07, $C9 ; CPU:$DEF6 PRG:5EF6 9D 30 02 C8 E8 E8 E8 E8 C0 03 90 F1 AD 20 07 C9 - .byte $FF, $F0, $07, $C9, $01, $90, $03, $4C, $FD, $DF, $AD, $22, $07, $C9, $05, $B0 ; CPU:$DF06 PRG:5F06 FF F0 07 C9 01 90 03 4C FD DF AD 22 07 C9 05 B0 - .byte $69, $AD, $21, $07, $38, $E9, $05, $B0, $03, $4C, $E6, $DF, $0A, $0A, $0A, $A8 ; CPU:$DF16 PRG:5F16 69 AD 21 07 38 E9 05 B0 03 4C E6 DF 0A 0A 0A A8 - .byte $B9, $58, $DF, $85, $89, $C8, $B9, $58, $DF, $85, $88, $C8, $B9, $58, $DF, $85 ; CPU:$DF26 PRG:5F26 B9 58 DF 85 89 C8 B9 58 DF 85 88 C8 B9 58 DF 85 - .byte $8B, $C8, $B9, $58, $DF, $85, $8A, $C8, $B9, $58, $DF, $85, $E0, $C8, $B9, $58 ; CPU:$DF36 PRG:5F36 8B C8 B9 58 DF 85 8A C8 B9 58 DF 85 E0 C8 B9 58 - .byte $DF, $85, $DF, $C8, $B9, $58, $DF, $85, $DE, $C8, $B9, $58, $DF, $85, $DD, $4C ; CPU:$DF46 PRG:5F46 DF 85 DF C8 B9 58 DF 85 DE C8 B9 58 DF 85 DD 4C - .byte $13, $E0, $00, $00, $05, $00, $FF, $FF, $FF, $05, $00, $01, $05, $00, $FF, $FF ; CPU:$DF56 PRG:5F56 13 E0 00 00 05 00 FF FF FF 05 00 01 05 00 FF FF - .byte $01, $05, $00, $02, $05, $00, $FF, $FF, $02, $05, $00, $05, $00, $00, $FF, $FF ; CPU:$DF66 PRG:5F66 01 05 00 02 05 00 FF FF 02 05 00 05 00 00 FF FF - .byte $05, $00, $01, $00, $00, $00, $FF, $01, $00, $00, $AD, $21, $07, $38, $E9, $05 ; CPU:$DF76 PRG:5F76 05 00 01 00 00 00 FF 01 00 00 AD 21 07 38 E9 05 - .byte $90, $5E, $0A, $0A, $0A, $A8, $B9, $BE, $DF, $85, $89, $C8, $B9, $BE, $DF, $85 ; CPU:$DF86 PRG:5F86 90 5E 0A 0A 0A A8 B9 BE DF 85 89 C8 B9 BE DF 85 - .byte $88, $C8, $B9, $BE, $DF, $85, $8B, $C8, $B9, $BE, $DF, $85, $8A, $C8, $B9, $BE ; CPU:$DF96 PRG:5F96 88 C8 B9 BE DF 85 8B C8 B9 BE DF 85 8A C8 B9 BE - .byte $DF, $85, $E0, $C8, $B9, $BE, $DF, $85, $DF, $C8, $B9, $BE, $DF, $85, $DE, $C8 ; CPU:$DFA6 PRG:5FA6 DF 85 E0 C8 B9 BE DF 85 DF C8 B9 BE DF 85 DE C8 - .byte $B9, $BE, $DF, $85, $DD, $4C, $13, $E0, $00, $01, $00, $00, $FF, $FF, $01, $00 ; CPU:$DFB6 PRG:5FB6 B9 BE DF 85 DD 4C 13 E0 00 01 00 00 FF FF 01 00 - .byte $00, $02, $00, $00, $FF, $FF, $02, $00, $00, $03, $00, $00, $FF, $FF, $03, $00 ; CPU:$DFC6 PRG:5FC6 00 02 00 00 FF FF 02 00 00 03 00 00 FF FF 03 00 - .byte $00, $08, $00, $00, $FF, $FF, $08, $00, $02, $00, $00, $00, $FF, $02, $00, $00 ; CPU:$DFD6 PRG:5FD6 00 08 00 00 FF FF 08 00 02 00 00 00 FF 02 00 00 - .byte $A9, $00, $85, $89, $85, $88, $85, $8B, $85, $8A, $A9, $FF, $85, $E0, $85, $DF ; CPU:$DFE6 PRG:5FE6 A9 00 85 89 85 88 85 8B 85 8A A9 FF 85 E0 85 DF - .byte $85, $DE, $85, $DD, $4C, $13, $E0, $A9, $0A, $85, $89, $A9, $01, $85, $E0, $A9 ; CPU:$DFF6 PRG:5FF6 85 DE 85 DD 4C 13 E0 A9 0A 85 89 A9 01 85 E0 A9 - .byte $00, $85, $8A, $85, $8B, $85, $88, $85, $DD, $85, $DE, $85, $DF, $A5, $E0, $85 ; CPU:$E006 PRG:6006 00 85 8A 85 8B 85 88 85 DD 85 DE 85 DF A5 E0 85 - .byte $D6, $A5, $DF, $85, $D7, $A5, $DE, $85, $D8, $A5, $DD, $85, $D9, $A0, $00, $A2 ; CPU:$E016 PRG:6016 D6 A5 DF 85 D7 A5 DE 85 D8 A5 DD 85 D9 A0 00 A2 - .byte $0C, $B9, $B8, $E1, $9D, $30, $02, $E8, $C8, $C0, $18, $90, $F4, $A0, $00, $A2 ; CPU:$E026 PRG:6026 0C B9 B8 E1 9D 30 02 E8 C8 C0 18 90 F4 A0 00 A2 - .byte $0D, $B9, $D6, $00, $9D, $30, $02, $C8, $E8, $E8, $E8, $E8, $C0, $04, $90, $F1 ; CPU:$E036 PRG:6036 0D B9 D6 00 9D 30 02 C8 E8 E8 E8 E8 C0 04 90 F1 - .byte $20, $1A, $AC, $A9, $00, $85, $8B, $85, $8A, $AD, $36, $04, $F0, $09, $85, $87 ; CPU:$E046 PRG:6046 20 1A AC A9 00 85 8B 85 8A AD 36 04 F0 09 85 87 - .byte $20, $16, $A8, $C6, $87, $D0, $F9, $A5, $8B, $85, $89, $85, $D6, $A5, $8A, $85 ; CPU:$E056 PRG:6056 20 16 A8 C6 87 D0 F9 A5 8B 85 89 85 D6 A5 8A 85 - .byte $88, $85, $D7, $A9, $00, $85, $8B, $85, $D8, $85, $8A, $85, $D9, $A0, $00, $A2 ; CPU:$E066 PRG:6066 88 85 D7 A9 00 85 8B 85 D8 85 8A 85 D9 A0 00 A2 - .byte $24, $B9, $D0, $E1, $9D, $30, $02, $E8, $C8, $C0, $10, $90, $F4, $A0, $01, $A2 ; CPU:$E076 PRG:6076 24 B9 D0 E1 9D 30 02 E8 C8 C0 10 90 F4 A0 01 A2 - .byte $25, $B9, $D6, $00, $9D, $30, $02, $C8, $E8, $E8, $E8, $E8, $C0, $05, $90, $F1 ; CPU:$E086 PRG:6086 25 B9 D6 00 9D 30 02 C8 E8 E8 E8 E8 C0 05 90 F1 - .byte $20, $1A, $AC, $A0, $0E, $8C, $1D, $07, $A9, $02, $8D, $1E, $07, $AC, $1D, $07 ; CPU:$E096 PRG:6096 20 1A AC A0 0E 8C 1D 07 A9 02 8D 1E 07 AC 1D 07 - .byte $AD, $1E, $07, $99, $D9, $04, $98, $38, $E9, $0D, $0A, $18, $69, $08, $20, $F5 ; CPU:$E0A6 PRG:60A6 AD 1E 07 99 D9 04 98 38 E9 0D 0A 18 69 08 20 F5 - .byte $C1, $EE, $1E, $07, $EE, $1D, $07, $AD, $1D, $07, $C9, $13, $D0, $DF, $A9, $80 ; CPU:$E0B6 PRG:60B6 C1 EE 1E 07 EE 1D 07 AD 1D 07 C9 13 D0 DF A9 80 - .byte $8D, $8C, $07, $A9, $3C, $8D, $0A, $07, $CE, $0A, $07, $F0, $16, $A9, $40, $8D ; CPU:$E0C6 PRG:60C6 8D 8C 07 A9 3C 8D 0A 07 CE 0A 07 F0 16 A9 40 8D - .byte $A7, $03, $A9, $FF, $8D, $A8, $03, $8D, $A9, $03, $20, $4C, $80, $20, $75, $C2 ; CPU:$E0D6 PRG:60D6 A7 03 A9 FF 8D A8 03 8D A9 03 20 4C 80 20 75 C2 - .byte $4C, $CE, $E0, $A0, $0E, $8C, $1D, $07, $AC, $1D, $07, $A9, $00, $99, $8E, $04 ; CPU:$E0E6 PRG:60E6 4C CE E0 A0 0E 8C 1D 07 AC 1D 07 A9 00 99 8E 04 - .byte $98, $38, $E9, $0D, $0A, $18, $69, $08, $20, $40, $C2, $EE, $1D, $07, $AD, $1D ; CPU:$E0F6 PRG:60F6 98 38 E9 0D 0A 18 69 08 20 40 C2 EE 1D 07 AD 1D - .byte $07, $C9, $13, $D0, $E3, $A9, $00, $8D, $8C, $07, $8D, $39, $04, $8D, $3A, $04 ; CPU:$E106 PRG:6106 07 C9 13 D0 E3 A9 00 8D 8C 07 8D 39 04 8D 3A 04 - .byte $8D, $3B, $04, $8D, $3C, $04, $A9, $10, $20, $5B, $A0, $B0, $F9, $20, $DB, $9F ; CPU:$E116 PRG:6116 8D 3B 04 8D 3C 04 A9 10 20 5B A0 B0 F9 20 DB 9F - .byte $20, $75, $C2, $A9, $0B, $20, $6B, $A0, $A9, $0C, $20, $6B, $A0, $A9, $0D, $20 ; CPU:$E126 PRG:6126 20 75 C2 A9 0B 20 6B A0 A9 0C 20 6B A0 A9 0D 20 - .byte $6B, $A0, $A9, $0D, $20, $5B, $A0, $B0, $F9, $A9, $00, $85, $87, $A9, $78, $85 ; CPU:$E136 PRG:6136 6B A0 A9 0D 20 5B A0 B0 F9 A9 00 85 87 A9 78 85 - .byte $86, $20, $51, $C2, $AD, $A1, $03, $F0, $0E, $A9, $00, $8D, $37, $04, $8D, $8D ; CPU:$E146 PRG:6146 86 20 51 C2 AD A1 03 F0 0E A9 00 8D 37 04 8D 8D - .byte $07, $20, $3E, $A7, $4C, $F0, $D7, $A9, $00, $8D, $85, $03, $A9, $08, $20, $40 ; CPU:$E156 PRG:6156 07 20 3E A7 4C F0 D7 A9 00 8D 85 03 A9 08 20 40 - .byte $C2, $20, $06, $C3, $20, $40, $E2, $20, $F1, $BC, $A9, $9E, $85, $DD, $A9, $E1 ; CPU:$E166 PRG:6166 C2 20 06 C3 20 40 E2 20 F1 BC A9 9E 85 DD A9 E1 - .byte $85, $DE, $A9, $C9, $85, $DF, $A9, $21, $85, $E0, $A9, $0E, $85, $E2, $20, $BF ; CPU:$E176 PRG:6176 85 DE A9 C9 85 DF A9 21 85 E0 A9 0E 85 E2 20 BF - .byte $BC, $A9, $1E, $85, $86, $A9, $00, $85, $87, $8D, $31, $04, $8D, $32, $04, $8D ; CPU:$E186 PRG:6186 BC A9 1E 85 86 A9 00 85 87 8D 31 04 8D 32 04 8D - .byte $C5, $07, $20, $51, $C2, $4C, $E0, $E1, $0C, $18, $17, $10, $1B, $0A, $1D, $1E ; CPU:$E196 PRG:6196 C5 07 20 51 C2 4C E0 E1 0C 18 17 10 1B 0A 1D 1E - .byte $15, $0A, $1D, $12, $18, $17, $48, $FF, $01, $68, $48, $FF, $01, $70, $48, $FF ; CPU:$E1A6 PRG:61A6 15 0A 1D 12 18 17 48 FF 01 68 48 FF 01 70 48 FF - .byte $01, $78, $88, $FF, $01, $50, $88, $FF, $01, $58, $88, $FF, $01, $60, $88, $FF ; CPU:$E1B6 PRG:61B6 01 78 88 FF 01 50 88 FF 01 58 88 FF 01 60 88 FF - .byte $01, $68, $88, $00, $01, $70, $88, $00, $01, $78, $B8, $FF, $01, $78, $B8, $FF ; CPU:$E1C6 PRG:61C6 01 68 88 00 01 70 88 00 01 78 B8 FF 01 78 B8 FF - .byte $01, $80, $B8, $FF, $01, $88, $B8, $FF, $01, $90, $EE, $37, $04, $A9, $00, $8D ; CPU:$E1D6 PRG:61D6 01 80 B8 FF 01 88 B8 FF 01 90 EE 37 04 A9 00 8D - .byte $8D, $07, $20, $DB, $9F, $20, $75, $C2, $A9, $00, $38, $ED, $A1, $03, $85, $86 ; CPU:$E1E6 PRG:61E6 8D 07 20 DB 9F 20 75 C2 A9 00 38 ED A1 03 85 86 - .byte $29, $07, $F0, $08, $C9, $01, $F0, $10, $C9, $05, $90, $0A, $C6, $86, $A5, $86 ; CPU:$E1F6 PRG:61F6 29 07 F0 08 C9 01 F0 10 C9 05 90 0A C6 86 A5 86 - .byte $29, $FC, $85, $86, $E6, $86, $C6, $86, $C6, $86, $A9, $00, $38, $E5, $86, $8D ; CPU:$E206 PRG:6206 29 FC 85 86 E6 86 C6 86 C6 86 A9 00 38 E5 86 8D - .byte $A1, $03, $8D, $35, $04, $A9, $00, $8D, $A0, $03, $20, $06, $C3, $A9, $00, $8D ; CPU:$E216 PRG:6216 A1 03 8D 35 04 A9 00 8D A0 03 20 06 C3 A9 00 8D - .byte $85, $03, $60, $AD, $36, $04, $18, $69, $01, $C9, $0A, $F0, $04, $8D, $36, $04 ; CPU:$E226 PRG:6226 85 03 60 AD 36 04 18 69 01 C9 0A F0 04 8D 36 04 - .byte $60, $A9, $00, $8D, $36, $04, $EE, $37, $04, $60, $A9, $00, $A0, $18, $99, $8E ; CPU:$E236 PRG:6236 60 A9 00 8D 36 04 EE 37 04 60 A9 00 A0 18 99 8E - .byte $04, $88, $10, $FA, $60, $68, $19, $03, $68, $68, $0A, $03, $70, $68, $1E, $03 ; CPU:$E246 PRG:6246 04 88 10 FA 60 68 19 03 68 68 0A 03 70 68 1E 03 - .byte $78, $68, $1C, $03, $80, $68, $0E, $03, $88, $58, $FF, $01, $60, $58, $FF, $01 ; CPU:$E256 PRG:6256 78 68 1C 03 80 68 0E 03 88 58 FF 01 60 58 FF 01 - .byte $68, $D0, $FF, $01, $30, $D0, $FF, $01, $38, $6C, $E3, $A7, $EA, $62, $EA, $17 ; CPU:$E266 PRG:6266 68 D0 FF 01 30 D0 FF 01 38 6C E3 A7 EA 62 EA 17 - .byte $EA, $CC, $E9, $5A, $E9, $FD, $E8, $04, $E5, $AF, $E8, $3D, $E8, $FD, $E8, $E3 ; CPU:$E276 PRG:6276 EA CC E9 5A E9 FD E8 04 E5 AF E8 3D E8 FD E8 E3 - .byte $E7, $9B, $E7, $29, $E7, $CF, $E6, $93, $E3, $93, $E6, $3D, $E8, $57, $E6, $FA ; CPU:$E286 PRG:6286 E7 9B E7 29 E7 CF E6 93 E3 93 E6 3D E8 57 E6 FA - .byte $E5, $AF, $E5, $49, $E5, $FD, $E8, $04, $E5, $BC, $E4, $56, $E4, $EA, $E3, $93 ; CPU:$E296 PRG:6296 E5 AF E5 49 E5 FD E8 04 E5 BC E4 56 E4 EA E3 93 - .byte $E3, $6C, $E3, $1B, $E3, $E5, $E2, $AF, $E2, $07, $80, $00, $07, $80, $01, $06 ; CPU:$E2A6 PRG:62A6 E3 6C E3 1B E3 E5 E2 AF E2 07 80 00 07 80 01 06 - .byte $B0, $01, $06, $60, $27, $06, $20, $10, $06, $10, $0B, $05, $C0, $00, $05, $20 ; CPU:$E2B6 PRG:62B6 B0 01 06 60 27 06 20 10 06 10 0B 05 C0 00 05 20 - .byte $30, $04, $D0, $0B, $04, $40, $27, $03, $E0, $02, $03, $70, $10, $03, $60, $03 ; CPU:$E2C6 PRG:62C6 30 04 D0 0B 04 40 27 03 E0 02 03 70 10 03 60 03 - .byte $02, $E0, $04, $02, $A0, $30, $02, $90, $03, $02, $90, $04, $00, $00, $00, $07 ; CPU:$E2D6 PRG:62D6 02 E0 04 02 A0 30 02 90 03 02 90 04 00 00 00 07 - .byte $A0, $05, $07, $90, $04, $06, $B0, $05, $06, $A0, $27, $06, $80, $0B, $05, $C0 ; CPU:$E2E6 PRG:62E6 A0 05 07 90 04 06 B0 05 06 A0 27 06 80 0B 05 C0 - .byte $03, $05, $A0, $04, $05, $40, $30, $04, $D0, $0B, $04, $10, $11, $04, $00, $0B ; CPU:$E2F6 PRG:62F6 03 05 A0 04 05 40 30 04 D0 0B 04 10 11 04 00 0B - .byte $03, $E0, $06, $03, $C0, $07, $03, $60, $27, $02, $60, $30, $02, $10, $08, $02 ; CPU:$E306 PRG:6306 03 E0 06 03 C0 07 03 60 27 02 60 30 02 10 08 02 - .byte $00, $07, $00, $00, $00, $07, $A0, $06, $07, $80, $27, $07, $80, $28, $06, $B0 ; CPU:$E316 PRG:6316 00 07 00 00 00 07 A0 06 07 80 27 07 80 28 06 B0 - .byte $08, $05, $C0, $0B, $05, $A0, $0A, $05, $80, $12, $05, $80, $13, $05, $80, $14 ; CPU:$E326 PRG:6326 08 05 C0 0B 05 A0 0A 05 80 12 05 80 13 05 80 14 - .byte $05, $80, $15, $05, $80, $16, $05, $60, $30, $05, $60, $09, $04, $D0, $0B, $04 ; CPU:$E336 PRG:6336 05 80 15 05 80 16 05 60 30 05 60 09 04 D0 0B 04 - .byte $C0, $27, $04, $C0, $28, $04, $40, $12, $04, $40, $13, $04, $40, $14, $04, $40 ; CPU:$E346 PRG:6346 C0 27 04 C0 28 04 40 12 04 40 13 04 40 14 04 40 - .byte $15, $04, $40, $16, $04, $10, $0B, $03, $E0, $09, $03, $A0, $30, $02, $F0, $0A ; CPU:$E356 PRG:6356 15 04 40 16 04 10 0B 03 E0 09 03 A0 30 02 F0 0A - .byte $02, $80, $03, $00, $00, $00, $07, $A0, $00, $07, $90, $02, $07, $70, $29, $06 ; CPU:$E366 PRG:6366 02 80 03 00 00 00 07 A0 00 07 90 02 07 70 29 06 - .byte $30, $11, $06, $20, $02, $05, $C0, $06, $05, $A0, $2C, $05, $90, $2E, $04, $D0 ; CPU:$E376 PRG:6376 30 11 06 20 02 05 C0 06 05 A0 2C 05 90 2E 04 D0 - .byte $08, $04, $80, $30, $03, $E0, $05, $03, $50, $03, $00, $00, $00, $07, $A0, $05 ; CPU:$E386 PRG:6386 08 04 80 30 03 E0 05 03 50 03 00 00 00 07 A0 05 - .byte $07, $80, $27, $07, $80, $28, $07, $60, $17, $07, $60, $18, $07, $60, $19, $07 ; CPU:$E396 PRG:6396 07 80 27 07 80 28 07 60 17 07 60 18 07 60 19 07 - .byte $60, $1A, $07, $60, $1B, $07, $50, $03, $07, $10, $10, $07, $00, $03, $06, $B0 ; CPU:$E3A6 PRG:63A6 60 1A 07 60 1B 07 50 03 07 10 10 07 00 03 06 B0 - .byte $09, $06, $A0, $0A, $06, $80, $30, $05, $C0, $0A, $05, $C0, $05, $05, $A0, $29 ; CPU:$E3B6 PRG:63B6 09 06 A0 0A 06 80 30 05 C0 0A 05 C0 05 05 A0 29 - .byte $05, $50, $10, $05, $30, $05, $04, $D0, $05, $04, $50, $2C, $04, $40, $2A, $04 ; CPU:$E3C6 PRG:63C6 05 50 10 05 30 05 04 D0 05 04 50 2C 04 40 2A 04 - .byte $20, $09, $03, $E0, $0B, $03, $80, $30, $03, $60, $04, $02, $F0, $05, $02, $00 ; CPU:$E3D6 PRG:63D6 20 09 03 E0 0B 03 80 30 03 60 04 02 F0 05 02 00 - .byte $03, $00, $00, $00, $07, $A0, $06, $07, $00, $08, $06, $B0, $07, $06, $80, $2A ; CPU:$E3E6 PRG:63E6 03 00 00 00 07 A0 06 07 00 08 06 B0 07 06 80 2A - .byte $06, $68, $2A, $06, $10, $30, $05, $C0, $08, $05, $C0, $0D, $05, $80, $1C, $05 ; CPU:$E3F6 PRG:63F6 06 68 2A 06 10 30 05 C0 08 05 C0 0D 05 80 1C 05 - .byte $80, $1D, $05, $80, $1E, $05, $80, $1F, $05, $80, $20, $05, $70, $06, $05, $50 ; CPU:$E406 PRG:6406 80 1D 05 80 1E 05 80 1F 05 80 20 05 70 06 05 50 - .byte $2C, $05, $40, $2C, $05, $40, $2A, $04, $D0, $0D, $04, $80, $1C, $04, $80, $1D ; CPU:$E416 PRG:6416 2C 05 40 2C 05 40 2A 04 D0 0D 04 80 1C 04 80 1D - .byte $04, $80, $1E, $04, $80, $1F, $04, $80, $20, $04, $70, $0D, $04, $60, $02, $04 ; CPU:$E426 PRG:6426 04 80 1E 04 80 1F 04 80 20 04 70 0D 04 60 02 04 - .byte $20, $2A, $04, $10, $2F, $04, $10, $2C, $03, $E0, $0B, $03, $E0, $09, $03, $70 ; CPU:$E436 PRG:6436 20 2A 04 10 2F 04 10 2C 03 E0 0B 03 E0 09 03 70 - .byte $30, $02, $F0, $0D, $02, $F0, $02, $02, $00, $09, $02, $00, $0B, $00, $00, $00 ; CPU:$E446 PRG:6446 30 02 F0 0D 02 F0 02 02 00 09 02 00 0B 00 00 00 - .byte $07, $B0, $2F, $07, $A0, $2D, $07, $A0, $05, $07, $80, $2A, $07, $20, $12, $07 ; CPU:$E456 PRG:6456 07 B0 2F 07 A0 2D 07 A0 05 07 80 2A 07 20 12 07 - .byte $20, $13, $07, $20, $14, $07, $20, $15, $07, $20, $16, $07, $10, $03, $07, $10 ; CPU:$E466 PRG:6466 20 13 07 20 14 07 20 15 07 20 16 07 10 03 07 10 - .byte $05, $06, $B0, $05, $06, $60, $30, $06, $10, $29, $06, $00, $2C, $05, $E0, $2F ; CPU:$E476 PRG:6476 05 06 B0 05 06 60 30 06 10 29 06 00 2C 05 E0 2F - .byte $05, $D0, $05, $05, $D0, $0B, $05, $20, $12, $05, $20, $13, $05, $20, $14, $05 ; CPU:$E486 PRG:6486 05 D0 05 05 D0 0B 05 20 12 05 20 13 05 20 14 05 - .byte $20, $15, $05, $20, $16, $05, $10, $03, $04, $F0, $0B, $04, $D0, $05, $04, $60 ; CPU:$E496 PRG:6496 20 15 05 20 16 05 10 03 04 F0 0B 04 D0 05 04 60 - .byte $2C, $04, $50, $2B, $04, $50, $2D, $03, $E0, $02, $03, $E0, $0B, $02, $F0, $02 ; CPU:$E4A6 PRG:64A6 2C 04 50 2B 04 50 2D 03 E0 02 03 E0 0B 02 F0 02 - .byte $02, $F0, $0A, $00, $00, $00, $07, $90, $11, $07, $80, $01, $07, $80, $00, $07 ; CPU:$E4B6 PRG:64B6 02 F0 0A 00 00 00 07 90 11 07 80 01 07 80 00 07 - .byte $10, $29, $07, $00, $2A, $06, $E0, $2E, $06, $B0, $02, $05, $C0, $00, $05, $C0 ; CPU:$E4C6 PRG:64C6 10 29 07 00 2A 06 E0 2E 06 B0 02 05 C0 00 05 C0 - .byte $08, $05, $80, $11, $05, $70, $00, $05, $70, $08, $04, $D0, $02, $04, $80, $2F ; CPU:$E4D6 PRG:64D6 08 05 80 11 05 70 00 05 70 08 04 D0 02 04 80 2F - .byte $04, $70, $2B, $04, $60, $2A, $04, $50, $2D, $03, $E0, $00, $03, $E0, $0B, $03 ; CPU:$E4E6 PRG:64E6 04 70 2B 04 60 2A 04 50 2D 03 E0 00 03 E0 0B 03 - .byte $20, $30, $02, $F0, $02, $02, $F0, $0A, $02, $E0, $00, $00, $00, $00, $07, $C0 ; CPU:$E4F6 PRG:64F6 20 30 02 F0 02 02 F0 0A 02 E0 00 00 00 00 07 C0 - .byte $2C, $07, $B0, $2D, $07, $A0, $08, $07, $20, $10, $07, $10, $06, $06, $E0, $08 ; CPU:$E506 PRG:6506 2C 07 B0 2D 07 A0 08 07 20 10 07 10 06 06 E0 08 - .byte $06, $80, $30, $06, $00, $29, $05, $E0, $2E, $05, $D0, $2B, $05, $C0, $06, $05 ; CPU:$E516 PRG:6516 06 80 30 06 00 29 05 E0 2E 05 D0 2B 05 C0 06 05 - .byte $C0, $08, $05, $C0, $0B, $04, $D0, $07, $04, $10, $10, $03, $F0, $05, $03, $E0 ; CPU:$E526 PRG:6526 C0 08 05 C0 0B 04 D0 07 04 10 10 03 F0 05 03 E0 - .byte $04, $03, $E0, $0A, $03, $50, $30, $02, $F0, $03, $02, $F0, $05, $02, $F0, $04 ; CPU:$E536 PRG:6536 04 03 E0 0A 03 50 30 02 F0 03 02 F0 05 02 F0 04 - .byte $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07, $B0, $2D, $07, $A0, $03, $07 ; CPU:$E546 PRG:6546 00 00 00 07 D0 2C 07 C0 2B 07 B0 2D 07 A0 03 07 - .byte $90, $04, $07, $00, $12, $07, $00, $13, $07, $00, $14, $07, $00, $15, $07, $00 ; CPU:$E556 PRG:6556 90 04 07 00 12 07 00 13 07 00 14 07 00 15 07 00 - .byte $16, $07, $00, $03, $07, $00, $04, $06, $B0, $0D, $06, $80, $30, $05, $C0, $05 ; CPU:$E566 PRG:6566 16 07 00 03 07 00 04 06 B0 0D 06 80 30 05 C0 05 - .byte $05, $C0, $03, $05, $C0, $0C, $05, $80, $2C, $05, $60, $2C, $05, $40, $2C, $04 ; CPU:$E576 PRG:6576 05 C0 03 05 C0 0C 05 80 2C 05 60 2C 05 40 2C 04 - .byte $80, $12, $04, $80, $13, $04, $80, $14, $04, $80, $15, $04, $80, $16, $04, $80 ; CPU:$E586 PRG:6586 80 12 04 80 13 04 80 14 04 80 15 04 80 16 04 80 - .byte $05, $03, $E0, $0B, $03, $C0, $2C, $03, $A0, $2C, $03, $80, $2C, $02, $F0, $0A ; CPU:$E596 PRG:6596 05 03 E0 0B 03 C0 2C 03 A0 2C 03 80 2C 02 F0 0A - .byte $02, $00, $00, $02, $00, $01, $00, $00, $00, $07, $90, $11, $07, $90, $08, $07 ; CPU:$E5A6 PRG:65A6 02 00 00 02 00 01 00 00 00 07 90 11 07 90 08 07 - .byte $90, $07, $07, $30, $2C, $07, $20, $2B, $07, $20, $2D, $06, $B0, $06, $06, $00 ; CPU:$E5B6 PRG:65B6 90 07 07 30 2C 07 20 2B 07 20 2D 06 B0 06 06 00 - .byte $11, $06, $00, $06, $05, $C0, $08, $05, $C0, $07, $05, $C0, $0B, $05, $70, $2E ; CPU:$E5C6 PRG:65C6 11 06 00 06 05 C0 08 05 C0 07 05 C0 0B 05 70 2E - .byte $05, $70, $2F, $05, $60, $29, $05, $60, $2B, $04, $D0, $09, $04, $80, $09, $04 ; CPU:$E5D6 PRG:65D6 05 70 2F 05 60 29 05 60 2B 04 D0 09 04 80 09 04 - .byte $00, $30, $03, $E0, $00, $03, $E0, $0B, $02, $F0, $02, $02, $00, $00, $02, $00 ; CPU:$E5E6 PRG:65E6 00 30 03 E0 00 03 E0 0B 02 F0 02 02 00 00 02 00 - .byte $01, $00, $00, $00, $07, $A0, $02, $07, $A0, $01, $07, $80, $29, $07, $70, $2B ; CPU:$E5F6 PRG:65F6 01 00 00 00 07 A0 02 07 A0 01 07 80 29 07 70 2B - .byte $07, $60, $17, $07, $60, $18, $07, $60, $19, $07, $60, $1A, $07, $60, $1B, $07 ; CPU:$E606 PRG:6606 07 60 17 07 60 18 07 60 19 07 60 1A 07 60 1B 07 - .byte $50, $00, $07, $00, $10, $07, $00, $00, $06, $E0, $02, $06, $20, $30, $05, $C0 ; CPU:$E616 PRG:6616 50 00 07 00 10 07 00 00 06 E0 02 06 20 30 05 C0 - .byte $00, $05, $C0, $0B, $05, $A0, $2C, $05, $90, $29, $05, $90, $2F, $04, $D0, $10 ; CPU:$E626 PRG:6626 00 05 C0 0B 05 A0 2C 05 90 29 05 90 2F 04 D0 10 - .byte $04, $D0, $02, $04, $D0, $0B, $03, $E0, $05, $03, $E0, $03, $03, $E0, $0B, $03 ; CPU:$E636 PRG:6636 04 D0 02 04 D0 0B 03 E0 05 03 E0 03 03 E0 0B 03 - .byte $A0, $30, $02, $F0, $05, $02, $F0, $0F, $02, $00, $03, $02, $00, $0E, $00, $00 ; CPU:$E646 PRG:6646 A0 30 02 F0 05 02 F0 0F 02 00 03 02 00 0E 00 00 - .byte $00, $07, $90, $11, $07, $80, $00, $07, $80, $02, $07, $40, $2C, $07, $30, $2B ; CPU:$E656 PRG:6656 00 07 90 11 07 80 00 07 80 02 07 40 2C 07 30 2B - .byte $07, $30, $2D, $06, $A0, $0B, $05, $C0, $06, $05, $80, $2C, $05, $60, $2C, $04 ; CPU:$E666 PRG:6666 07 30 2D 06 A0 0B 05 C0 06 05 80 2C 05 60 2C 04 - .byte $D0, $0B, $03, $E0, $08, $03, $E0, $0D, $03, $C0, $2C, $03, $A0, $29, $02, $F0 ; CPU:$E676 PRG:6676 D0 0B 03 E0 08 03 E0 0D 03 C0 2C 03 A0 29 02 F0 - .byte $0A, $02, $F0, $08, $02, $E0, $30, $02, $00, $06, $00, $00, $00, $07, $90, $11 ; CPU:$E686 PRG:6686 0A 02 F0 08 02 E0 30 02 00 06 00 00 00 07 90 11 - .byte $07, $80, $08, $07, $80, $07, $06, $E0, $30, $06, $B0, $06, $06, $B0, $07, $05 ; CPU:$E696 PRG:6696 07 80 08 07 80 07 06 E0 30 06 B0 06 06 B0 07 05 - .byte $C0, $0B, $05, $80, $11, $05, $70, $07, $04, $D0, $08, $04, $C0, $29, $04, $C0 ; CPU:$E6A6 PRG:66A6 C0 0B 05 80 11 05 70 07 04 D0 08 04 C0 29 04 C0 - .byte $2F, $04, $B0, $2B, $03, $E0, $06, $03, $E0, $0B, $03, $20, $30, $02, $F0, $07 ; CPU:$E6B6 PRG:66B6 2F 04 B0 2B 03 E0 06 03 E0 0B 03 20 30 02 F0 07 - .byte $02, $F0, $0A, $02, $00, $06, $00, $00, $00, $07, $A0, $05, $07, $A0, $04, $07 ; CPU:$E6C6 PRG:66C6 02 F0 0A 02 00 06 00 00 00 07 A0 05 07 A0 04 07 - .byte $80, $2E, $07, $70, $2C, $07, $60, $2A, $06, $B0, $03, $06, $80, $30, $06, $10 ; CPU:$E6D6 PRG:66D6 80 2E 07 70 2C 07 60 2A 06 B0 03 06 80 30 06 10 - .byte $2A, $06, $00, $2C, $05, $E0, $2E, $05, $C0, $03, $05, $C0, $08, $05, $60, $1C ; CPU:$E6E6 PRG:66E6 2A 06 00 2C 05 E0 2E 05 C0 03 05 C0 08 05 60 1C - .byte $05, $60, $1D, $05, $60, $1E, $05, $60, $1F, $05, $60, $20, $05, $60, $03, $05 ; CPU:$E6F6 PRG:66F6 05 60 1D 05 60 1E 05 60 1F 05 60 20 05 60 03 05 - .byte $60, $08, $04, $D0, $04, $04, $C0, $2D, $04, $B0, $2A, $04, $B0, $2E, $03, $E0 ; CPU:$E706 PRG:6706 60 08 04 D0 04 04 C0 2D 04 B0 2A 04 B0 2E 03 E0 - .byte $03, $03, $E0, $0B, $03, $60, $30, $02, $F0, $04, $02, $00, $0B, $02, $00, $0E ; CPU:$E716 PRG:6716 03 03 E0 0B 03 60 30 02 F0 04 02 00 0B 02 00 0E - .byte $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07, $B0, $2D, $07, $A0, $04, $07 ; CPU:$E726 PRG:6726 00 00 00 07 D0 2C 07 C0 2B 07 B0 2D 07 A0 04 07 - .byte $A0, $0B, $07, $00, $12, $07, $00, $13, $07, $00, $14, $07, $00, $15, $07, $00 ; CPU:$E736 PRG:6736 A0 0B 07 00 12 07 00 13 07 00 14 07 00 15 07 00 - .byte $16, $07, $00, $04, $07, $00, $0B, $06, $B0, $05, $06, $B0, $0B, $06, $80, $30 ; CPU:$E746 PRG:6746 16 07 00 04 07 00 0B 06 B0 05 06 B0 0B 06 80 30 - .byte $05, $C0, $05, $05, $C0, $0B, $05, $B0, $03, $05, $80, $2C, $05, $60, $2C, $05 ; CPU:$E756 PRG:6756 05 C0 05 05 C0 0B 05 B0 03 05 80 2C 05 60 2C 05 - .byte $40, $2C, $04, $D0, $0B, $04, $80, $12, $04, $80, $13, $04, $80, $14, $04, $80 ; CPU:$E766 PRG:6766 40 2C 04 D0 0B 04 80 12 04 80 13 04 80 14 04 80 - .byte $15, $04, $80, $16, $04, $60, $04, $03, $E0, $06, $03, $E0, $0B, $03, $C0, $2C ; CPU:$E776 PRG:6776 15 04 80 16 04 60 04 03 E0 06 03 E0 0B 03 C0 2C - .byte $03, $A0, $2C, $03, $80, $2C, $02, $F0, $0B, $02, $F0, $07, $02, $A0, $30, $02 ; CPU:$E786 PRG:6786 03 A0 2C 03 80 2C 02 F0 0B 02 F0 07 02 A0 30 02 - .byte $A0, $06, $00, $00, $00, $07, $80, $11, $07, $80, $03, $07, $80, $04, $07, $30 ; CPU:$E796 PRG:6796 A0 06 00 00 00 07 80 11 07 80 03 07 80 04 07 30 - .byte $2C, $07, $20, $2B, $07, $20, $2D, $06, $B0, $05, $05, $80, $11, $05, $40, $03 ; CPU:$E7A6 PRG:67A6 2C 07 20 2B 07 20 2D 06 B0 05 05 80 11 05 40 03 - .byte $05, $40, $0B, $05, $00, $2B, $04, $E0, $2E, $04, $E0, $2F, $04, $D0, $29, $04 ; CPU:$E7B6 PRG:67B6 05 40 0B 05 00 2B 04 E0 2E 04 E0 2F 04 D0 29 04 - .byte $D0, $2B, $04, $D0, $04, $04, $00, $30, $03, $E0, $07, $03, $E0, $08, $03, $E0 ; CPU:$E7C6 PRG:67C6 D0 2B 04 D0 04 04 00 30 03 E0 07 03 E0 08 03 E0 - .byte $0B, $03, $40, $07, $03, $20, $06, $03, $00, $08, $00, $00, $00, $07, $A0, $00 ; CPU:$E7D6 PRG:67D6 0B 03 40 07 03 20 06 03 00 08 00 00 00 07 A0 00 - .byte $07, $A0, $02, $07, $80, $29, $07, $70, $2B, $07, $60, $17, $07, $60, $18, $07 ; CPU:$E7E6 PRG:67E6 07 A0 02 07 80 29 07 70 2B 07 60 17 07 60 18 07 - .byte $60, $19, $07, $60, $1A, $07, $60, $1B, $07, $00, $02, $07, $00, $10, $07, $00 ; CPU:$E7F6 PRG:67F6 60 19 07 60 1A 07 60 1B 07 00 02 07 00 10 07 00 - .byte $02, $06, $B0, $00, $06, $20, $30, $05, $C0, $02, $05, $C0, $0D, $05, $A0, $2C ; CPU:$E806 PRG:6806 02 06 B0 00 06 20 30 05 C0 02 05 C0 0D 05 A0 2C - .byte $05, $90, $29, $05, $90, $2F, $05, $80, $0D, $04, $D0, $10, $04, $D0, $0C, $04 ; CPU:$E816 PRG:6816 05 90 29 05 90 2F 05 80 0D 04 D0 10 04 D0 0C 04 - .byte $40, $05, $03, $E0, $0B, $03, $E0, $0C, $03, $A0, $30, $02, $F0, $0A, $02, $00 ; CPU:$E826 PRG:6826 40 05 03 E0 0B 03 E0 0C 03 A0 30 02 F0 0A 02 00 - .byte $05, $02, $00, $0B, $00, $00, $00, $07, $B0, $2F, $07, $A0, $2D, $07, $A0, $03 ; CPU:$E836 PRG:6836 05 02 00 0B 00 00 00 07 B0 2F 07 A0 2D 07 A0 03 - .byte $07, $A0, $04, $07, $80, $2A, $07, $20, $12, $07, $20, $13, $07, $20, $14, $07 ; CPU:$E846 PRG:6846 07 A0 04 07 80 2A 07 20 12 07 20 13 07 20 14 07 - .byte $20, $15, $07, $20, $16, $07, $20, $03, $07, $00, $05, $06, $60, $30, $06, $10 ; CPU:$E856 PRG:6856 20 15 07 20 16 07 20 03 07 00 05 06 60 30 06 10 - .byte $29, $06, $00, $2C, $05, $E0, $2F, $05, $C0, $03, $05, $C0, $0B, $05, $B0, $05 ; CPU:$E866 PRG:6866 29 06 00 2C 05 E0 2F 05 C0 03 05 C0 0B 05 B0 05 - .byte $05, $20, $12, $05, $20, $13, $05, $20, $14, $05, $20, $15, $05, $20, $16, $05 ; CPU:$E876 PRG:6876 05 20 12 05 20 13 05 20 14 05 20 15 05 20 16 05 - .byte $20, $03, $04, $D0, $0B, $04, $60, $2C, $04, $50, $2B, $04, $50, $2D, $03, $E0 ; CPU:$E886 PRG:6886 20 03 04 D0 0B 04 60 2C 04 50 2B 04 50 2D 03 E0 - .byte $0B, $03, $E0, $0C, $03, $E0, $0E, $03, $40, $0D, $03, $30, $0F, $03, $20, $0A ; CPU:$E896 PRG:6896 0B 03 E0 0C 03 E0 0E 03 40 0D 03 30 0F 03 20 0A - .byte $03, $10, $0C, $03, $00, $0E, $00, $00, $00, $07, $A0, $11, $07, $90, $00, $07 ; CPU:$E8A6 PRG:68A6 03 10 0C 03 00 0E 00 00 00 07 A0 11 07 90 00 07 - .byte $80, $01, $07, $70, $02, $07, $20, $29, $07, $10, $2A, $06, $F0, $2E, $05, $C0 ; CPU:$E8B6 PRG:68B6 80 01 07 70 02 07 20 29 07 10 2A 06 F0 2E 05 C0 - .byte $00, $05, $C0, $0B, $05, $20, $11, $05, $10, $01, $05, $10, $00, $04, $90, $2F ; CPU:$E8C6 PRG:68C6 00 05 C0 0B 05 20 11 05 10 01 05 10 00 04 90 2F - .byte $04, $80, $2B, $04, $70, $2A, $04, $60, $2D, $03, $E0, $06, $03, $E0, $07, $03 ; CPU:$E8D6 PRG:68D6 04 80 2B 04 70 2A 04 60 2D 03 E0 06 03 E0 07 03 - .byte $E0, $0C, $03, $E0, $0D, $03, $20, $30, $03, $10, $07, $03, $00, $08, $02, $F0 ; CPU:$E8E6 PRG:68E6 E0 0C 03 E0 0D 03 20 30 03 10 07 03 00 08 02 F0 - .byte $0C, $02, $E0, $0D, $00, $00, $00, $07, $A0, $06, $07, $A0, $07, $07, $A0, $08 ; CPU:$E8F6 PRG:68F6 0C 02 E0 0D 00 00 00 07 A0 06 07 A0 07 07 A0 08 - .byte $07, $80, $2E, $07, $70, $2C, $07, $60, $2A, $06, $80, $30, $05, $C0, $07, $05 ; CPU:$E906 PRG:6906 07 80 2E 07 70 2C 07 60 2A 06 80 30 05 C0 07 05 - .byte $C0, $08, $05, $C0, $0C, $05, $60, $1C, $05, $60, $1D, $05, $60, $1E, $05, $60 ; CPU:$E916 PRG:6916 C0 08 05 C0 0C 05 60 1C 05 60 1D 05 60 1E 05 60 - .byte $1F, $05, $60, $20, $05, $60, $08, $05, $60, $0C, $04, $C0, $2B, $04, $C0, $2D ; CPU:$E926 PRG:6926 1F 05 60 20 05 60 08 05 60 0C 04 C0 2B 04 C0 2D - .byte $04, $B0, $2A, $03, $E0, $0B, $03, $E0, $0A, $03, $E0, $0C, $03, $E0, $0D, $03 ; CPU:$E936 PRG:6936 04 B0 2A 03 E0 0B 03 E0 0A 03 E0 0C 03 E0 0D 03 - .byte $E0, $00, $03, $60, $30, $03, $50, $0B, $03, $40, $09, $03, $30, $0E, $03, $20 ; CPU:$E946 PRG:6946 E0 00 03 60 30 03 50 0B 03 40 09 03 30 0E 03 20 - .byte $02, $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07, $B0, $2D, $07, $A0, $02 ; CPU:$E956 PRG:6956 02 00 00 00 07 D0 2C 07 C0 2B 07 B0 2D 07 A0 02 - .byte $07, $A0, $09, $07, $A0, $0B, $07, $00, $12, $07, $00, $13, $07, $00, $14, $07 ; CPU:$E966 PRG:6966 07 A0 09 07 A0 0B 07 00 12 07 00 13 07 00 14 07 - .byte $00, $15, $07, $00, $16, $07, $00, $02, $07, $00, $09, $07, $00, $0B, $06, $80 ; CPU:$E976 PRG:6976 00 15 07 00 16 07 00 02 07 00 09 07 00 0B 06 80 - .byte $30, $05, $C0, $00, $05, $C0, $01, $05, $C0, $09, $05, $C0, $0B, $05, $80, $2C ; CPU:$E986 PRG:6986 30 05 C0 00 05 C0 01 05 C0 09 05 C0 0B 05 80 2C - .byte $05, $60, $2C, $05, $40, $2C, $04, $80, $12, $04, $80, $13, $04, $80, $14, $04 ; CPU:$E996 PRG:6996 05 60 2C 05 40 2C 04 80 12 04 80 13 04 80 14 04 - .byte $80, $15, $04, $80, $16, $04, $50, $08, $03, $E0, $0B, $03, $E0, $0C, $03, $C0 ; CPU:$E9A6 PRG:69A6 80 15 04 80 16 04 50 08 03 E0 0B 03 E0 0C 03 C0 - .byte $2C, $03, $A0, $2C, $03, $80, $2C, $03, $40, $30, $02, $F0, $08, $02, $E0, $0B ; CPU:$E9B6 PRG:69B6 2C 03 A0 2C 03 80 2C 03 40 30 02 F0 08 02 E0 0B - .byte $02, $D0, $0C, $00, $00, $00, $07, $90, $11, $07, $80, $00, $07, $80, $02, $07 ; CPU:$E9C6 PRG:69C6 02 D0 0C 00 00 00 07 90 11 07 80 00 07 80 02 07 - .byte $30, $2C, $07, $20, $2B, $07, $20, $2D, $06, $B0, $02, $05, $E0, $11, $05, $C0 ; CPU:$E9D6 PRG:69D6 30 2C 07 20 2B 07 20 2D 06 B0 02 05 E0 11 05 C0 - .byte $00, $05, $C0, $06, $05, $70, $2B, $05, $60, $2E, $05, $60, $2F, $05, $50, $29 ; CPU:$E9E6 PRG:69E6 00 05 C0 06 05 70 2B 05 60 2E 05 60 2F 05 50 29 - .byte $05, $50, $2B, $04, $D0, $02, $04, $D0, $08, $04, $00, $30, $03, $E0, $00, $03 ; CPU:$E9F6 PRG:69F6 05 50 2B 04 D0 02 04 D0 08 04 00 30 03 E0 00 03 - .byte $E0, $06, $03, $E0, $0B, $03, $40, $02, $03, $30, $08, $03, $20, $0B, $00, $00 ; CPU:$EA06 PRG:6A06 E0 06 03 E0 0B 03 40 02 03 30 08 03 20 0B 00 00 - .byte $00, $07, $A0, $00, $07, $A0, $01, $07, $A0, $02, $07, $80, $29, $07, $70, $2B ; CPU:$EA16 PRG:6A16 00 07 A0 00 07 A0 01 07 A0 02 07 80 29 07 70 2B - .byte $07, $00, $10, $06, $E0, $00, $06, $D0, $01, $06, $C0, $02, $06, $20, $30, $05 ; CPU:$EA26 PRG:6A26 07 00 10 06 E0 00 06 D0 01 06 C0 02 06 20 30 05 - .byte $C0, $00, $05, $C0, $01, $05, $C0, $08, $05, $A0, $2C, $05, $90, $29, $05, $90 ; CPU:$EA36 PRG:6A36 C0 00 05 C0 01 05 C0 08 05 A0 2C 05 90 29 05 90 - .byte $2F, $04, $D0, $10, $04, $C0, $02, $03, $E0, $06, $03, $E0, $0B, $03, $E0, $0E ; CPU:$EA46 PRG:6A46 2F 04 D0 10 04 C0 02 03 E0 06 03 E0 0B 03 E0 0E - .byte $03, $A0, $30, $03, $10, $06, $03, $00, $0B, $00, $00, $00, $07, $A0, $11, $07 ; CPU:$EA56 PRG:6A56 03 A0 30 03 10 06 03 00 0B 00 00 00 07 A0 11 07 - .byte $A0, $00, $07, $A0, $01, $07, $A0, $07, $07, $A0, $08, $07, $40, $2C, $07, $30 ; CPU:$EA66 PRG:6A66 A0 00 07 A0 01 07 A0 07 07 A0 08 07 40 2C 07 30 - .byte $2B, $07, $30, $2D, $05, $C0, $06, $05, $C0, $0B, $05, $C0, $0E, $04, $00, $2E ; CPU:$EA76 PRG:6A76 2B 07 30 2D 05 C0 06 05 C0 0B 05 C0 0E 04 00 2E - .byte $03, $E0, $2E, $03, $E0, $2C, $03, $E0, $08, $03, $E0, $0B, $03, $E0, $0C, $03 ; CPU:$EA86 PRG:6A86 03 E0 2E 03 E0 2C 03 E0 08 03 E0 0B 03 E0 0C 03 - .byte $50, $30, $03, $40, $0A, $03, $30, $0B, $03, $20, $0C, $03, $10, $0D, $00, $00 ; CPU:$EA96 PRG:6A96 50 30 03 40 0A 03 30 0B 03 20 0C 03 10 0D 00 00 - .byte $00, $07, $B0, $2F, $07, $A0, $2D, $07, $A0, $03, $07, $A0, $04, $07, $A0, $0A ; CPU:$EAA6 PRG:6AA6 00 07 B0 2F 07 A0 2D 07 A0 03 07 A0 04 07 A0 0A - .byte $07, $A0, $0B, $07, $80, $2A, $07, $20, $12, $07, $20, $13, $07, $20, $14, $07 ; CPU:$EAB6 PRG:6AB6 07 A0 0B 07 80 2A 07 20 12 07 20 13 07 20 14 07 - .byte $20, $15, $07, $20, $16, $07, $10, $03, $07, $10, $04, $07, $10, $0A, $07, $10 ; CPU:$EAC6 PRG:6AC6 20 15 07 20 16 07 10 03 07 10 04 07 10 0A 07 10 - .byte $0B, $06, $60, $30, $05, $C0, $05, $05, $C0, $08, $05, $C0, $0B, $05, $C0, $0C ; CPU:$EAD6 PRG:6AD6 0B 06 60 30 05 C0 05 05 C0 08 05 C0 0B 05 C0 0C - .byte $05, $20, $12, $05, $20, $13, $05, $20, $14, $05, $20, $15, $05, $20, $16, $05 ; CPU:$EAE6 PRG:6AE6 05 20 12 05 20 13 05 20 14 05 20 15 05 20 16 05 - .byte $10, $05, $05, $10, $08, $05, $10, $0B, $05, $10, $0C, $04, $60, $2C, $04, $50 ; CPU:$EAF6 PRG:6AF6 10 05 05 10 08 05 10 0B 05 10 0C 04 60 2C 04 50 - .byte $2B, $04, $50, $2D, $03, $E0, $02, $03, $E0, $06, $03, $E0, $0B, $03, $E0, $0C ; CPU:$EB06 PRG:6B06 2B 04 50 2D 03 E0 02 03 E0 06 03 E0 0B 03 E0 0C - .byte $00, $00, $00, $03, $32, $02, $32, $03, $32, $01, $14, $03, $1E, $01, $28, $06 ; CPU:$EB16 PRG:6B16 00 00 00 03 32 02 32 03 32 01 14 03 1E 01 28 06 - .byte $32, $02, $32, $06, $32, $01, $14, $06, $1E, $01, $28, $04, $32, $02, $32, $04 ; CPU:$EB26 PRG:6B26 32 02 32 06 32 01 14 06 1E 01 28 04 32 02 32 04 - .byte $32, $01, $14, $04, $1E, $01, $28, $00, $32, $02, $32, $00, $32, $01, $14, $00 ; CPU:$EB36 PRG:6B36 32 01 14 04 1E 01 28 00 32 02 32 00 32 01 14 00 - .byte $1E, $01, $28, $01, $32, $02, $32, $01, $32, $01, $14, $07, $32, $02, $32, $07 ; CPU:$EB46 PRG:6B46 1E 01 28 01 32 02 32 01 32 01 14 07 32 02 32 07 - .byte $32, $01, $14, $0A, $05, $01, $05, $0B, $05, $01, $05, $0C, $05, $01, $01, $0D ; CPU:$EB56 PRG:6B56 32 01 14 0A 05 01 05 0B 05 01 05 0C 05 01 01 0D - .byte $0A, $01, $01, $0E, $0F, $01, $01, $0F, $14, $01, $01, $10, $19, $01, $01, $11 ; CPU:$EB66 PRG:6B66 0A 01 01 0E 0F 01 01 0F 14 01 01 10 19 01 01 11 - .byte $05, $01, $01, $12, $0A, $01, $01, $13, $0A, $01, $01, $12, $0F, $01, $01, $13 ; CPU:$EB76 PRG:6B76 05 01 01 12 0A 01 01 13 0A 01 01 12 0F 01 01 13 - .byte $0F, $01, $01, $14, $05, $01, $01, $15, $0A, $01, $01, $16, $0A, $01, $01, $15 ; CPU:$EB86 PRG:6B86 0F 01 01 14 05 01 01 15 0A 01 01 16 0A 01 01 15 - .byte $0F, $01, $01, $16, $0F, $01, $01, $14, $01, $01, $01, $17, $01, $01, $01, $17 ; CPU:$EB96 PRG:6B96 0F 01 01 16 0F 01 01 14 01 01 01 17 01 01 01 17 - .byte $01, $01, $01, $17, $01, $01, $01, $15, $01, $01, $01, $15, $01, $01, $01, $20 ; CPU:$EBA6 PRG:6BA6 01 01 01 17 01 01 01 15 01 01 01 15 01 01 01 20 - .byte $01, $01, $01, $21, $01, $01, $01, $22, $01, $01, $01, $23, $01, $01, $01, $24 ; CPU:$EBB6 PRG:6BB6 01 01 01 21 01 01 01 22 01 01 01 23 01 01 01 24 - .byte $01, $01, $01, $25, $01, $01, $01, $26, $01, $01, $01, $27, $01, $01, $01, $28 ; CPU:$EBC6 PRG:6BC6 01 01 01 25 01 01 01 26 01 01 01 27 01 01 01 28 - .byte $01, $01, $01, $30, $01, $01, $01, $1E, $00, $1E, $00, $1E, $00, $1E, $00, $1E ; CPU:$EBD6 PRG:6BD6 01 01 01 30 01 01 01 1E 00 1E 00 1E 00 1E 00 1E - .byte $00, $1E, $00, $1E, $00, $1E, $00, $14, $00, $1E, $00, $1E, $00, $3C, $00, $10 ; CPU:$EBE6 PRG:6BE6 00 1E 00 1E 00 1E 00 14 00 1E 00 1E 00 3C 00 10 - .byte $11, $12, $17, $1C, $21, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$EBF6 PRG:6BF6 11 12 17 1C 21 FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $A2, $0E, $AD, $8C, $07, $C9, $FF, $F0, $16, $C9 ; CPU:$EC06 PRG:6C06 FF FF FF FF FF FF A2 0E AD 8C 07 C9 FF F0 16 C9 - .byte $80, $F0, $1F, $AD, $8D, $07, $C9, $02, $F0, $03, $4C, $5F, $EE, $A9, $00, $8D ; CPU:$EC16 PRG:6C16 80 F0 1F AD 8D 07 C9 02 F0 03 4C 5F EE A9 00 8D - .byte $0D, $07, $4C, $67, $ED, $A9, $70, $9D, $C0, $04, $A9, $48, $9D, $A7, $04, $4C ; CPU:$EC26 PRG:6C26 0D 07 4C 67 ED A9 70 9D C0 04 A9 48 9D A7 04 4C - .byte $57, $ED, $A9, $88, $9D, $C0, $04, $A9, $48, $9D, $A7, $04, $4C, $57, $ED, $A2 ; CPU:$EC36 PRG:6C36 57 ED A9 88 9D C0 04 A9 48 9D A7 04 4C 57 ED A2 - .byte $0F, $AD, $8C, $07, $C9, $FF, $F0, $11, $C9, $80, $F0, $1A, $AD, $8D, $07, $C9 ; CPU:$EC46 PRG:6C46 0F AD 8C 07 C9 FF F0 11 C9 80 F0 1A AD 8D 07 C9 - .byte $FF, $F0, $03, $4C, $5F, $EE, $4C, $36, $EE, $A9, $78, $9D, $C0, $04, $A9, $58 ; CPU:$EC56 PRG:6C56 FF F0 03 4C 5F EE 4C 36 EE A9 78 9D C0 04 A9 58 - .byte $9D, $A7, $04, $4C, $57, $ED, $A9, $68, $9D, $C0, $04, $A9, $78, $9D, $A7, $04 ; CPU:$EC66 PRG:6C66 9D A7 04 4C 57 ED A9 68 9D C0 04 A9 78 9D A7 04 - .byte $4C, $57, $ED, $A2, $10, $AD, $8C, $07, $C9, $FF, $F0, $11, $C9, $80, $F0, $1A ; CPU:$EC76 PRG:6C76 4C 57 ED A2 10 AD 8C 07 C9 FF F0 11 C9 80 F0 1A - .byte $AD, $8D, $07, $C9, $FF, $F0, $03, $4C, $5F, $EE, $4C, $36, $EE, $A9, $68, $9D ; CPU:$EC86 PRG:6C86 AD 8D 07 C9 FF F0 03 4C 5F EE 4C 36 EE A9 68 9D - .byte $C0, $04, $A9, $78, $9D, $A7, $04, $4C, $57, $ED, $A9, $88, $9D, $C0, $04, $A9 ; CPU:$EC96 PRG:6C96 C0 04 A9 78 9D A7 04 4C 57 ED A9 88 9D C0 04 A9 - .byte $88, $9D, $A7, $04, $4C, $57, $ED, $A2, $11, $AD, $8C, $07, $C9, $FF, $F0, $11 ; CPU:$ECA6 PRG:6CA6 88 9D A7 04 4C 57 ED A2 11 AD 8C 07 C9 FF F0 11 - .byte $C9, $80, $F0, $25, $AD, $8D, $07, $C9, $FF, $F0, $03, $4C, $5F, $EE, $4C, $36 ; CPU:$ECB6 PRG:6CB6 C9 80 F0 25 AD 8D 07 C9 FF F0 03 4C 5F EE 4C 36 - .byte $EE, $A9, $60, $9D, $C0, $04, $A9, $88, $9D, $A7, $04, $AD, $86, $03, $F0, $06 ; CPU:$ECC6 PRG:6CC6 EE A9 60 9D C0 04 A9 88 9D A7 04 AD 86 03 F0 06 - .byte $FE, $D9, $04, $FE, $D9, $04, $4C, $57, $ED, $A9, $58, $9D, $C0, $04, $A9, $A8 ; CPU:$ECD6 PRG:6CD6 FE D9 04 FE D9 04 4C 57 ED A9 58 9D C0 04 A9 A8 - .byte $9D, $A7, $04, $A9, $04, $9D, $F2, $04, $4C, $5C, $ED, $A2, $12, $AD, $8C, $07 ; CPU:$ECE6 PRG:6CE6 9D A7 04 A9 04 9D F2 04 4C 5C ED A2 12 AD 8C 07 - .byte $C9, $FF, $F0, $11, $C9, $80, $F0, $1F, $AD, $8D, $07, $C9, $FF, $F0, $03, $4C ; CPU:$ECF6 PRG:6CF6 C9 FF F0 11 C9 80 F0 1F AD 8D 07 C9 FF F0 03 4C - .byte $5F, $EE, $4C, $36, $EE, $A9, $18, $9D, $C0, $04, $A9, $D0, $9D, $A7, $04, $A9 ; CPU:$ED06 PRG:6D06 5F EE 4C 36 EE A9 18 9D C0 04 A9 D0 9D A7 04 A9 - .byte $03, $9D, $F2, $04, $4C, $5C, $ED, $A9, $A0, $9D, $C0, $04, $A9, $B8, $9D, $A7 ; CPU:$ED16 PRG:6D16 03 9D F2 04 4C 5C ED A9 A0 9D C0 04 A9 B8 9D A7 - .byte $04, $4C, $57, $ED, $A2, $13, $AD, $8D, $07, $C9, $FF, $F0, $03, $4C, $5F, $EE ; CPU:$ED26 PRG:6D26 04 4C 57 ED A2 13 AD 8D 07 C9 FF F0 03 4C 5F EE - .byte $4C, $36, $EE, $A2, $14, $AD, $8D, $07, $C9, $FF, $F0, $03, $4C, $5F, $EE, $4C ; CPU:$ED36 PRG:6D36 4C 36 EE A2 14 AD 8D 07 C9 FF F0 03 4C 5F EE 4C - .byte $36, $EE, $A2, $15, $AD, $8D, $07, $C9, $FF, $F0, $03, $4C, $5F, $EE, $4C, $36 ; CPU:$ED46 PRG:6D46 36 EE A2 15 AD 8D 07 C9 FF F0 03 4C 5F EE 4C 36 - .byte $EE, $A9, $02, $9D, $F2, $04, $A9, $88, $9D, $8E, $04, $20, $75, $C2, $4C, $61 ; CPU:$ED56 PRG:6D56 EE A9 02 9D F2 04 A9 88 9D 8E 04 20 75 C2 4C 61 - .byte $ED, $20, $CD, $F7, $D0, $06, $20, $75, $C2, $4C, $67, $ED, $20, $CF, $B3, $D0 ; CPU:$ED66 PRG:6D66 ED 20 CD F7 D0 06 20 75 C2 4C 67 ED 20 CF B3 D0 - .byte $0F, $20, $FC, $F7, $20, $00, $FB, $20, $CD, $F7, $20, $75, $C2, $4C, $72, $ED ; CPU:$ED76 PRG:6D76 0F 20 FC F7 20 00 FB 20 CD F7 20 75 C2 4C 72 ED - .byte $BD, $8E, $04, $09, $20, $9D, $8E, $04, $A9, $00, $9D, $82, $06, $A9, $FF, $8D ; CPU:$ED86 PRG:6D86 BD 8E 04 09 20 9D 8E 04 A9 00 9D 82 06 A9 FF 8D - .byte $8D, $07, $A9, $08, $9D, $0B, $05, $BD, $82, $06, $0A, $A8, $B9, $2A, $EE, $85 ; CPU:$ED96 PRG:6D96 8D 07 A9 08 9D 0B 05 BD 82 06 0A A8 B9 2A EE 85 - .byte $B0, $C8, $B9, $2A, $EE, $85, $B1, $A0, $0F, $B9, $8E, $04, $F0, $08, $C8, $C0 ; CPU:$EDA6 PRG:6DA6 B0 C8 B9 2A EE 85 B1 A0 0F B9 8E 04 F0 08 C8 C0 - .byte $16, $90, $F6, $4C, $05, $EE, $A9, $A9, $99, $8E, $04, $A9, $80, $99, $D9, $04 ; CPU:$EDB6 PRG:6DB6 16 90 F6 4C 05 EE A9 A9 99 8E 04 A9 80 99 D9 04 - .byte $A9, $01, $99, $F2, $04, $A9, $02, $99, $BA, $05, $A9, $FF, $99, $9B, $06, $A5 ; CPU:$EDC6 PRG:6DC6 A9 01 99 F2 04 A9 02 99 BA 05 A9 FF 99 9B 06 A5 - .byte $B0, $99, $6F, $05, $A5, $B1, $99, $88, $05, $BD, $3D, $05, $99, $3D, $05, $BD ; CPU:$EDD6 PRG:6DD6 B0 99 6F 05 A5 B1 99 88 05 BD 3D 05 99 3D 05 BD - .byte $24, $05, $99, $24, $05, $98, $38, $E9, $0D, $0A, $18, $69, $08, $20, $F5, $C1 ; CPU:$EDE6 PRG:6DE6 24 05 99 24 05 98 38 E9 0D 0A 18 69 08 20 F5 C1 - .byte $FE, $82, $06, $BD, $82, $06, $C9, $06, $90, $05, $A9, $00, $9D, $82, $06, $20 ; CPU:$EDF6 PRG:6DF6 FE 82 06 BD 82 06 C9 06 90 05 A9 00 9D 82 06 20 - .byte $CD, $F7, $F0, $06, $20, $75, $C2, $4C, $9D, $ED, $A9, $78, $9D, $C0, $04, $A9 ; CPU:$EE06 PRG:6E06 CD F7 F0 06 20 75 C2 4C 9D ED A9 78 9D C0 04 A9 - .byte $78, $9D, $A7, $04, $A9, $88, $9D, $8E, $04, $20, $75, $C2, $A9, $13, $20, $E1 ; CPU:$EE16 PRG:6E16 78 9D A7 04 A9 88 9D 8E 04 20 75 C2 A9 13 20 E1 - .byte $F9, $4C, $4A, $F9, $00, $C4, $01, $1C, $00, $E4, $01, $0C, $00, $D4, $01, $2C ; CPU:$EE26 PRG:6E26 F9 4C 4A F9 00 C4 01 1C 00 E4 01 0C 00 D4 01 2C - .byte $A9, $13, $20, $6B, $A0, $FE, $9B, $06, $BD, $9B, $06, $4A, $C9, $04, $B0, $16 ; CPU:$EE36 PRG:6E36 A9 13 20 6B A0 FE 9B 06 BD 9B 06 4A C9 04 B0 16 - .byte $18, $69, $80, $9D, $D9, $04, $A9, $08, $9D, $0B, $05, $20, $CD, $F7, $F0, $06 ; CPU:$EE46 PRG:6E46 18 69 80 9D D9 04 A9 08 9D 0B 05 20 CD F7 F0 06 - .byte $20, $75, $C2, $4C, $3B, $EE, $4C, $4A, $F9, $EE, $39, $04, $D0, $03, $EE, $3A ; CPU:$EE56 PRG:6E56 20 75 C2 4C 3B EE 4C 4A F9 EE 39 04 D0 03 EE 3A - .byte $04, $EE, $3D, $04, $D0, $03, $EE, $3E, $04, $A9, $88, $9D, $8E, $04, $A9, $FF ; CPU:$EE66 PRG:6E66 04 EE 3D 04 D0 03 EE 3E 04 A9 88 9D 8E 04 A9 FF - .byte $9D, $9B, $06, $BD, $D3, $05, $0A, $A8, $B9, $F2, $EF, $85, $8A, $C8, $B9, $F2 ; CPU:$EE76 PRG:6E76 9D 9B 06 BD D3 05 0A A8 B9 F2 EF 85 8A C8 B9 F2 - .byte $EF, $85, $8B, $6C, $8A, $00, $A9, $00, $9D, $D3, $05, $A9, $11, $9D, $BA, $05 ; CPU:$EE86 PRG:6E86 EF 85 8B 6C 8A 00 A9 00 9D D3 05 A9 11 9D BA 05 - .byte $A9, $02, $9D, $F2, $04, $A9, $44, $9D, $B4, $06, $20, $76, $F1, $BD, $0B, $05 ; CPU:$EE96 PRG:6E96 A9 02 9D F2 04 A9 44 9D B4 06 20 76 F1 BD 0B 05 - .byte $29, $FE, $9D, $0B, $05, $20, $86, $F3, $20, $5A, $F1, $4C, $4A, $F9, $A9, $13 ; CPU:$EEA6 PRG:6EA6 29 FE 9D 0B 05 20 86 F3 20 5A F1 4C 4A F9 A9 13 - .byte $9D, $BA, $05, $A9, $02, $9D, $F2, $04, $A9, $5C, $9D, $B4, $06, $20, $4C, $F3 ; CPU:$EEB6 PRG:6EB6 9D BA 05 A9 02 9D F2 04 A9 5C 9D B4 06 20 4C F3 - .byte $BD, $0B, $05, $29, $FE, $9D, $0B, $05, $20, $86, $F3, $20, $5A, $F1, $4C, $4A ; CPU:$EEC6 PRG:6EC6 BD 0B 05 29 FE 9D 0B 05 20 86 F3 20 5A F1 4C 4A - .byte $F9, $A9, $12, $9D, $BA, $05, $A9, $00, $9D, $F2, $04, $20, $54, $F0, $20, $5A ; CPU:$EED6 PRG:6ED6 F9 A9 12 9D BA 05 A9 00 9D F2 04 20 54 F0 20 5A - .byte $F1, $4C, $4A, $F9, $A9, $12, $9D, $BA, $05, $A9, $00, $9D, $F2, $04, $20, $54 ; CPU:$EEE6 PRG:6EE6 F1 4C 4A F9 A9 12 9D BA 05 A9 00 9D F2 04 20 54 - .byte $F0, $20, $CE, $F0, $20, $5A, $F1, $4C, $4A, $F9, $A9, $12, $9D, $BA, $05, $A9 ; CPU:$EEF6 PRG:6EF6 F0 20 CE F0 20 5A F1 4C 4A F9 A9 12 9D BA 05 A9 - .byte $00, $9D, $F2, $04, $20, $2C, $F4, $20, $BA, $F4, $4C, $4A, $F9, $A9, $12, $9D ; CPU:$EF06 PRG:6F06 00 9D F2 04 20 2C F4 20 BA F4 4C 4A F9 A9 12 9D - .byte $BA, $05, $A9, $02, $9D, $F2, $04, $A9, $48, $9D, $B4, $06, $20, $4C, $F3, $20 ; CPU:$EF16 PRG:6F16 BA 05 A9 02 9D F2 04 A9 48 9D B4 06 20 4C F3 20 - .byte $BA, $F4, $4C, $4A, $F9, $A9, $12, $9D, $BA, $05, $A9, $00, $9D, $F2, $04, $A9 ; CPU:$EF26 PRG:6F26 BA F4 4C 4A F9 A9 12 9D BA 05 A9 00 9D F2 04 A9 - .byte $35, $9D, $B4, $06, $20, $54, $F0, $20, $CE, $F0, $20, $76, $F1, $20, $5A, $F1 ; CPU:$EF36 PRG:6F36 35 9D B4 06 20 54 F0 20 CE F0 20 76 F1 20 5A F1 - .byte $4C, $4A, $F9, $EE, $17, $07, $A9, $01, $9D, $F2, $04, $A9, $15, $9D, $BA, $05 ; CPU:$EF46 PRG:6F46 4C 4A F9 EE 17 07 A9 01 9D F2 04 A9 15 9D BA 05 - .byte $A9, $00, $9D, $82, $06, $BD, $8E, $04, $09, $10, $09, $02, $9D, $8E, $04, $20 ; CPU:$EF56 PRG:6F56 A9 00 9D 82 06 BD 8E 04 09 10 09 02 9D 8E 04 20 - .byte $70, $F5, $4C, $4A, $F9, $4C, $49, $EF, $BD, $8E, $04, $09, $02, $9D, $8E, $04 ; CPU:$EF66 PRG:6F66 70 F5 4C 4A F9 4C 49 EF BD 8E 04 09 02 9D 8E 04 - .byte $A9, $02, $9D, $F2, $04, $A9, $0A, $9D, $BA, $05, $A9, $00, $9D, $82, $06, $9D ; CPU:$EF76 PRG:6F76 A9 02 9D F2 04 A9 0A 9D BA 05 A9 00 9D 82 06 9D - .byte $EC, $05, $20, $70, $F5, $4C, $4A, $F9, $4C, $6E, $EF, $A9, $71, $4C, $98, $EF ; CPU:$EF86 PRG:6F86 EC 05 20 70 F5 4C 4A F9 4C 6E EF A9 71 4C 98 EF - .byte $A9, $70, $9D, $D9, $04, $A9, $06, $4C, $7D, $EF, $A9, $00, $9D, $F2, $04, $A9 ; CPU:$EF96 PRG:6F96 A9 70 9D D9 04 A9 06 4C 7D EF A9 00 9D F2 04 A9 - .byte $60, $9D, $D9, $04, $4C, $98, $EF, $A9, $02, $9D, $F2, $04, $4C, $96, $EF, $A9 ; CPU:$EFA6 PRG:6FA6 60 9D D9 04 4C 98 EF A9 02 9D F2 04 4C 96 EF A9 - .byte $00, $9D, $F2, $04, $4C, $91, $EF, $A9, $00, $9D, $F2, $04, $4C, $96, $EF, $A9 ; CPU:$EFB6 PRG:6FB6 00 9D F2 04 4C 91 EF A9 00 9D F2 04 4C 96 EF A9 - .byte $02, $9D, $F2, $04, $4C, $91, $EF, $A9, $02, $9D, $F2, $04, $A9, $60, $9D, $D9 ; CPU:$EFC6 PRG:6FC6 02 9D F2 04 4C 91 EF A9 02 9D F2 04 A9 60 9D D9 - .byte $04, $4C, $7B, $EF, $A9, $02, $9D, $F2, $04, $A9, $0B, $9D, $BA, $05, $A9, $00 ; CPU:$EFD6 PRG:6FD6 04 4C 7B EF A9 02 9D F2 04 A9 0B 9D BA 05 A9 00 - .byte $9D, $82, $06, $9D, $EC, $05, $20, $E8, $F6, $4C, $4A, $F9, $8C, $EE, $B4, $EE ; CPU:$EFE6 PRG:6FE6 9D 82 06 9D EC 05 20 E8 F6 4C 4A F9 8C EE B4 EE - .byte $8C, $EE, $D7, $EE, $EA, $EE, $00, $EF, $00, $EF, $13, $EF, $2B, $EF, $49, $EF ; CPU:$EFF6 PRG:6FF6 8C EE D7 EE EA EE 00 EF 00 EF 13 EF 2B EF 49 EF - .byte $49, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF ; CPU:$F006 PRG:7006 49 EF 6B EF 6B EF 6B EF 6B EF 6B EF 6B EF 6B EF - .byte $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6E, $EF, $6E, $EF, $6E, $EF ; CPU:$F016 PRG:7016 6B EF 6B EF 6B EF 6B EF 6B EF 6E EF 6E EF 6E EF - .byte $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $8E, $EF ; CPU:$F026 PRG:7026 6E EF 6E EF 6E EF 6E EF 6E EF 6E EF 6E EF 8E EF - .byte $A0, $EF, $AD, $EF, $B5, $EF, $BD, $EF, $C5, $EF, $CD, $EF, $BD, $EF, $DA, $EF ; CPU:$F036 PRG:7036 A0 EF AD EF B5 EF BD EF C5 EF CD EF BD EF DA EF - .byte $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $AD, $1F ; CPU:$F046 PRG:7046 DA EF DA EF DA EF DA EF DA EF DA EF DA EF AD 1F - .byte $07, $29, $07, $0A, $0A, $A8, $EE, $1F, $07, $B9, $2E, $F1, $9D, $6F, $05, $C8 ; CPU:$F056 PRG:7056 07 29 07 0A 0A A8 EE 1F 07 B9 2E F1 9D 6F 05 C8 - .byte $B9, $2E, $F1, $9D, $88, $05, $C8, $B9, $2E, $F1, $9D, $24, $05, $C8, $B9, $2E ; CPU:$F066 PRG:7066 B9 2E F1 9D 88 05 C8 B9 2E F1 9D 24 05 C8 B9 2E - .byte $F1, $9D, $3D, $05, $A9, $14, $9D, $D9, $04, $20, $BC, $B0, $A0, $00, $20, $E5 ; CPU:$F076 PRG:7076 F1 9D 3D 05 A9 14 9D D9 04 20 BC B0 A0 00 20 E5 - .byte $B0, $20, $C9, $AD, $9D, $0B, $05, $20, $CD, $F7, $D0, $06, $20, $75, $C2, $4C ; CPU:$F086 PRG:7086 B0 20 C9 AD 9D 0B 05 20 CD F7 D0 06 20 75 C2 4C - .byte $8D, $F0, $20, $32, $FA, $20, $D3, $A9, $90, $03, $4C, $C1, $F0, $BD, $A7, $04 ; CPU:$F096 PRG:7096 8D F0 20 32 FA 20 D3 A9 90 03 4C C1 F0 BD A7 04 - .byte $CD, $A7, $04, $90, $03, $4C, $C1, $F0, $20, $FC, $F7, $90, $03, $4C, $3C, $F8 ; CPU:$F0A6 PRG:70A6 CD A7 04 90 03 4C C1 F0 20 FC F7 90 03 4C 3C F8 - .byte $20, $75, $C2, $20, $CF, $B3, $F0, $CF, $4C, $3C, $F8, $A9, $FF, $9D, $9B, $06 ; CPU:$F0B6 PRG:70B6 20 75 C2 20 CF B3 F0 CF 4C 3C F8 A9 FF 9D 9B 06 - .byte $A9, $20, $9D, $EC, $05, $4C, $FD, $F0, $20, $CD, $F7, $D0, $03, $4C, $4A, $F9 ; CPU:$F0C6 PRG:70C6 A9 20 9D EC 05 4C FD F0 20 CD F7 D0 03 4C 4A F9 - .byte $20, $32, $FA, $BD, $A7, $04, $C9, $30, $90, $13, $20, $FC, $F7, $90, $03, $4C ; CPU:$F0D6 PRG:70D6 20 32 FA BD A7 04 C9 30 90 13 20 FC F7 90 03 4C - .byte $3C, $F8, $20, $75, $C2, $20, $CF, $B3, $F0, $DE, $4C, $3C, $F8, $A9, $FF, $9D ; CPU:$F0E6 PRG:70E6 3C F8 20 75 C2 20 CF B3 F0 DE 4C 3C F8 A9 FF 9D - .byte $9B, $06, $A9, $24, $9D, $EC, $05, $FE, $9B, $06, $BD, $9B, $06, $4A, $29, $07 ; CPU:$F0F6 PRG:70F6 9B 06 A9 24 9D EC 05 FE 9B 06 BD 9B 06 4A 29 07 - .byte $C9, $04, $F0, $12, $18, $7D, $EC, $05, $9D, $D9, $04, $20, $75, $C2, $20, $CF ; CPU:$F106 PRG:7106 C9 04 F0 12 18 7D EC 05 9D D9 04 20 75 C2 20 CF - .byte $B3, $F0, $E4, $4C, $3C, $F8, $BD, $0B, $05, $29, $0F, $A8, $B9, $4A, $F1, $20 ; CPU:$F116 PRG:7116 B3 F0 E4 4C 3C F8 BD 0B 05 29 0F A8 B9 4A F1 20 - .byte $C3, $F7, $A9, $00, $9D, $F2, $04, $60, $00, $90, $00, $40, $00, $A0, $00, $40 ; CPU:$F126 PRG:7126 C3 F7 A9 00 9D F2 04 60 00 90 00 40 00 A0 00 40 - .byte $01, $40, $00, $40, $01, $50, $00, $40, $01, $30, $00, $40, $00, $C0, $00, $40 ; CPU:$F136 PRG:7136 01 40 00 40 01 50 00 40 01 30 00 40 00 C0 00 40 - .byte $01, $70, $00, $40, $08, $07, $06, $05, $0B, $03, $02, $01, $01, $0F, $0E, $0D ; CPU:$F146 PRG:7146 01 70 00 40 08 07 06 05 0B 03 02 01 01 0F 0E 0D - .byte $05, $0B, $0A, $09, $20, $CD, $F7, $F0, $16, $20, $32, $FA, $20, $FC, $F7, $90 ; CPU:$F156 PRG:7156 05 0B 0A 09 20 CD F7 F0 16 20 32 FA 20 FC F7 90 - .byte $03, $4C, $3C, $F8, $20, $75, $C2, $20, $CF, $B3, $F0, $E8, $4C, $3C, $F8, $60 ; CPU:$F166 PRG:7166 03 4C 3C F8 20 75 C2 20 CF B3 F0 E8 4C 3C F8 60 - .byte $AD, $1F, $07, $29, $0F, $0A, $0A, $A8, $EE, $1F, $07, $B9, $EC, $F3, $9D, $6F ; CPU:$F176 PRG:7176 AD 1F 07 29 0F 0A 0A A8 EE 1F 07 B9 EC F3 9D 6F - .byte $05, $C8, $B9, $EC, $F3, $9D, $88, $05, $C8, $B9, $EC, $F3, $9D, $24, $05, $C8 ; CPU:$F186 PRG:7186 05 C8 B9 EC F3 9D 88 05 C8 B9 EC F3 9D 24 05 C8 - .byte $B9, $EC, $F3, $9D, $3D, $05, $AD, $6F, $05, $F0, $0A, $AD, $24, $05, $F0, $0F ; CPU:$F196 PRG:7196 B9 EC F3 9D 3D 05 AD 6F 05 F0 0A AD 24 05 F0 0F - .byte $A9, $60, $4C, $BC, $F1, $AD, $24, $05, $F0, $0A, $A9, $40, $4C, $BC, $F1, $A9 ; CPU:$F1A6 PRG:71A6 A9 60 4C BC F1 AD 24 05 F0 0A A9 40 4C BC F1 A9 - .byte $20, $4C, $BC, $F1, $A9, $00, $85, $B0, $AD, $1F, $07, $29, $07, $0A, $0A, $18 ; CPU:$F1B6 PRG:71B6 20 4C BC F1 A9 00 85 B0 AD 1F 07 29 07 0A 0A 18 - .byte $65, $B0, $9D, $EC, $05, $BC, $EC, $05, $B9, $53, $FC, $9D, $05, $06, $C8, $B9 ; CPU:$F1C6 PRG:71C6 65 B0 9D EC 05 BC EC 05 B9 53 FC 9D 05 06 C8 B9 - .byte $53, $FC, $9D, $1E, $06, $C8, $C8, $B9, $53, $FC, $38, $FD, $B4, $06, $B0, $15 ; CPU:$F1D6 PRG:71D6 53 FC 9D 1E 06 C8 C8 B9 53 FC 38 FD B4 06 B0 15 - .byte $38, $E9, $10, $9D, $50, $06, $88, $B9, $53, $FC, $38, $E9, $01, $29, $01, $9D ; CPU:$F1E6 PRG:71E6 38 E9 10 9D 50 06 88 B9 53 FC 38 E9 01 29 01 9D - .byte $37, $06, $4C, $05, $F2, $9D, $50, $06, $88, $B9, $53, $FC, $9D, $37, $06, $20 ; CPU:$F1F6 PRG:71F6 37 06 4C 05 F2 9D 50 06 88 B9 53 FC 9D 37 06 20 - .byte $02, $B1, $20, $BC, $B0, $20, $C9, $AD, $20, $C3, $F7, $20, $86, $F3, $20, $02 ; CPU:$F206 PRG:7206 02 B1 20 BC B0 20 C9 AD 20 C3 F7 20 86 F3 20 02 - .byte $B1, $20, $BC, $B0, $20, $F4, $A9, $B0, $32, $20, $CD, $F7, $F0, $27, $20, $32 ; CPU:$F216 PRG:7216 B1 20 BC B0 20 F4 A9 B0 32 20 CD F7 F0 27 20 32 - .byte $FA, $20, $FC, $F7, $90, $10, $E0, $18, $F0, $03, $4C, $3C, $F8, $B9, $8E, $04 ; CPU:$F226 PRG:7226 FA 20 FC F7 90 10 E0 18 F0 03 4C 3C F8 B9 8E 04 - .byte $29, $FE, $99, $8E, $04, $60, $20, $75, $C2, $E0, $18, $F0, $C2, $20, $CF, $B3 ; CPU:$F236 PRG:7236 29 FE 99 8E 04 60 20 75 C2 E0 18 F0 C2 20 CF B3 - .byte $F0, $BD, $4C, $3C, $F8, $20, $75, $C2, $4C, $05, $F2, $BD, $0B, $05, $29, $0F ; CPU:$F246 PRG:7246 F0 BD 4C 3C F8 20 75 C2 4C 05 F2 BD 0B 05 29 0F - .byte $C9, $08, $B0, $10, $A9, $01, $9D, $69, $06, $BD, $8E, $04, $29, $FB, $9D, $8E ; CPU:$F256 PRG:7256 C9 08 B0 10 A9 01 9D 69 06 BD 8E 04 29 FB 9D 8E - .byte $04, $4C, $77, $F2, $A9, $0F, $9D, $69, $06, $BD, $8E, $04, $09, $04, $9D, $8E ; CPU:$F266 PRG:7266 04 4C 77 F2 A9 0F 9D 69 06 BD 8E 04 09 04 9D 8E - .byte $04, $BD, $D3, $05, $C9, $07, $D0, $08, $BD, $A7, $04, $C9, $78, $90, $01, $60 ; CPU:$F276 PRG:7276 04 BD D3 05 C9 07 D0 08 BD A7 04 C9 78 90 01 60 - .byte $BC, $EC, $05, $B9, $53, $FC, $8D, $96, $03, $C8, $B9, $53, $FC, $8D, $97, $03 ; CPU:$F286 PRG:7286 BC EC 05 B9 53 FC 8D 96 03 C8 B9 53 FC 8D 97 03 - .byte $C8, $B9, $53, $FC, $8D, $99, $03, $C8, $B9, $53, $FC, $8D, $9A, $03, $BD, $69 ; CPU:$F296 PRG:7296 C8 B9 53 FC 8D 99 03 C8 B9 53 FC 8D 9A 03 BD 69 - .byte $06, $85, $86, $BD, $B4, $06, $85, $85, $20, $F0, $AE, $AD, $97, $03, $9D, $1E ; CPU:$F2A6 PRG:72A6 06 85 86 BD B4 06 85 85 20 F0 AE AD 97 03 9D 1E - .byte $06, $AD, $96, $03, $9D, $05, $06, $AD, $9A, $03, $9D, $50, $06, $AD, $99, $03 ; CPU:$F2B6 PRG:72B6 06 AD 96 03 9D 05 06 AD 9A 03 9D 50 06 AD 99 03 - .byte $9D, $37, $06, $20, $02, $B1, $20, $BC, $B0, $20, $C9, $AD, $20, $C3, $F7, $20 ; CPU:$F2C6 PRG:72C6 9D 37 06 20 02 B1 20 BC B0 20 C9 AD 20 C3 F7 20 - .byte $86, $F3, $20, $CD, $F7, $F0, $0F, $E0, $18, $F0, $0B, $20, $32, $FA, $20, $FC ; CPU:$F2D6 PRG:72D6 86 F3 20 CD F7 F0 0F E0 18 F0 0B 20 32 FA 20 FC - .byte $F7, $90, $03, $4C, $3C, $F8, $20, $75, $C2, $E0, $18, $F0, $08, $20, $CF, $B3 ; CPU:$F2E6 PRG:72E6 F7 90 03 4C 3C F8 20 75 C2 E0 18 F0 08 20 CF B3 - .byte $F0, $03, $4C, $3C, $F8, $20, $02, $B1, $20, $BC, $B0, $20, $F4, $A9, $90, $32 ; CPU:$F2F6 PRG:72F6 F0 03 4C 3C F8 20 02 B1 20 BC B0 20 F4 A9 90 32 - .byte $E0, $18, $D0, $06, $DE, $D3, $05, $D0, $01, $60, $BD, $8E, $04, $29, $04, $D0 ; CPU:$F306 PRG:7306 E0 18 D0 06 DE D3 05 D0 01 60 BD 8E 04 29 04 D0 - .byte $0F, $FE, $69, $06, $BD, $69, $06, $29, $0F, $F0, $1A, $C9, $01, $4C, $32, $F3 ; CPU:$F316 PRG:7316 0F FE 69 06 BD 69 06 29 0F F0 1A C9 01 4C 32 F3 - .byte $DE, $69, $06, $BD, $69, $06, $29, $0F, $C9, $0F, $F0, $0E, $4C, $77, $F2, $20 ; CPU:$F326 PRG:7326 DE 69 06 BD 69 06 29 0F C9 0F F0 0E 4C 77 F2 20 - .byte $75, $C2, $4C, $C9, $F2, $A9, $06, $4C, $42, $F3, $A9, $0A, $9D, $0B, $05, $20 ; CPU:$F336 PRG:7336 75 C2 4C C9 F2 A9 06 4C 42 F3 A9 0A 9D 0B 05 20 - .byte $C3, $F7, $20, $86, $F3, $60, $AD, $1F, $07, $29, $03, $0A, $0A, $A8, $EE, $1F ; CPU:$F346 PRG:7346 C3 F7 20 86 F3 60 AD 1F 07 29 03 0A 0A A8 EE 1F - .byte $07, $B9, $EC, $F3, $9D, $6F, $05, $C8, $B9, $EC, $F3, $9D, $88, $05, $C8, $B9 ; CPU:$F356 PRG:7356 07 B9 EC F3 9D 6F 05 C8 B9 EC F3 9D 88 05 C8 B9 - .byte $EC, $F3, $9D, $24, $05, $C8, $B9, $EC, $F3, $9D, $3D, $05, $BD, $6F, $05, $C9 ; CPU:$F366 PRG:7366 EC F3 9D 24 05 C8 B9 EC F3 9D 3D 05 BD 6F 05 C9 - .byte $01, $F0, $05, $A9, $0C, $4C, $80, $F3, $A9, $2C, $9D, $EC, $05, $4C, $CB, $F1 ; CPU:$F376 PRG:7376 01 F0 05 A9 0C 4C 80 F3 A9 2C 9D EC 05 4C CB F1 - .byte $E0, $18, $F0, $53, $BD, $D3, $05, $C9, $07, $F0, $26, $C9, $01, $F0, $35, $BD ; CPU:$F386 PRG:7386 E0 18 F0 53 BD D3 05 C9 07 F0 26 C9 01 F0 35 BD - .byte $8E, $04, $29, $80, $F0, $07, $BD, $0B, $05, $29, $01, $D0, $13, $A9, $10, $9D ; CPU:$F396 PRG:7396 8E 04 29 80 F0 07 BD 0B 05 29 01 D0 13 A9 10 9D - .byte $D9, $04, $BD, $0B, $05, $4A, $29, $0F, $A8, $18, $7D, $D9, $04, $9D, $D9, $04 ; CPU:$F3A6 PRG:73A6 D9 04 BD 0B 05 4A 29 0F A8 18 7D D9 04 9D D9 04 - .byte $60, $BD, $8E, $04, $29, $80, $F0, $07, $BD, $0B, $05, $29, $01, $D0, $F1, $A9 ; CPU:$F3B6 PRG:73B6 60 BD 8E 04 29 80 F0 07 BD 0B 05 29 01 D0 F1 A9 - .byte $40, $4C, $A5, $F3, $BD, $8E, $04, $29, $80, $F0, $07, $BD, $0B, $05, $29, $01 ; CPU:$F3C6 PRG:73C6 40 4C A5 F3 BD 8E 04 29 80 F0 07 BD 0B 05 29 01 - .byte $D0, $DE, $A9, $50, $4C, $A5, $F3, $FE, $9B, $06, $BD, $9B, $06, $29, $07, $18 ; CPU:$F3D6 PRG:73D6 D0 DE A9 50 4C A5 F3 FE 9B 06 BD 9B 06 29 07 18 - .byte $69, $10, $9D, $D9, $04, $60, $00, $50, $00, $70, $01, $B0, $00, $80, $00, $50 ; CPU:$F3E6 PRG:73E6 69 10 9D D9 04 60 00 50 00 70 01 B0 00 80 00 50 - .byte $00, $80, $01, $B0, $00, $70, $01, $B0, $00, $90, $01, $B0, $00, $70, $01, $B0 ; CPU:$F3F6 PRG:73F6 00 80 01 B0 00 70 01 B0 00 90 01 B0 00 70 01 B0 - .byte $00, $90, $01, $B0, $00, $90, $00, $50, $01, $00, $00, $50, $00, $70, $01, $B0 ; CPU:$F406 PRG:7406 00 90 01 B0 00 90 00 50 01 00 00 50 00 70 01 B0 - .byte $00, $70, $01, $B0, $01, $00, $00, $50, $00, $80, $01, $B0, $00, $90, $01, $B0 ; CPU:$F416 PRG:7416 00 70 01 B0 01 00 00 50 00 80 01 B0 00 90 01 B0 - .byte $00, $80, $00, $50, $00, $90, $AD, $1F, $07, $29, $07, $0A, $0A, $A8, $EE, $1F ; CPU:$F426 PRG:7426 00 80 00 50 00 90 AD 1F 07 29 07 0A 0A A8 EE 1F - .byte $07, $B9, $50, $F5, $9D, $6F, $05, $C8, $B9, $50, $F5, $9D, $88, $05, $C8, $B9 ; CPU:$F436 PRG:7436 07 B9 50 F5 9D 6F 05 C8 B9 50 F5 9D 88 05 C8 B9 - .byte $50, $F5, $9D, $24, $05, $C8, $B9, $50, $F5, $9D, $3D, $05, $A9, $08, $9D, $0B ; CPU:$F446 PRG:7446 50 F5 9D 24 05 C8 B9 50 F5 9D 3D 05 A9 08 9D 0B - .byte $05, $A9, $14, $9D, $D9, $04, $20, $CD, $F7, $D0, $06, $20, $75, $C2, $4C, $57 ; CPU:$F456 PRG:7456 05 A9 14 9D D9 04 20 CD F7 D0 06 20 75 C2 4C 57 - .byte $F4, $20, $32, $FA, $A0, $00, $B9, $A7, $04, $38, $E9, $40, $90, $05, $DD, $A7 ; CPU:$F466 PRG:7466 F4 20 32 FA A0 00 B9 A7 04 38 E9 40 90 05 DD A7 - .byte $04, $B0, $0B, $B9, $A7, $04, $38, $E9, $20, $DD, $A7, $04, $B0, $13, $20, $FC ; CPU:$F476 PRG:7476 04 B0 0B B9 A7 04 38 E9 20 DD A7 04 B0 13 20 FC - .byte $F7, $90, $03, $4C, $3C, $F8, $20, $75, $C2, $20, $CF, $B3, $F0, $C3, $4C, $3C ; CPU:$F486 PRG:7486 F7 90 03 4C 3C F8 20 75 C2 20 CF B3 F0 C3 4C 3C - .byte $F8, $20, $75, $C2, $A0, $00, $B9, $C0, $04, $38, $E9, $50, $90, $05, $DD, $C0 ; CPU:$F496 PRG:7496 F8 20 75 C2 A0 00 B9 C0 04 38 E9 50 90 05 DD C0 - .byte $04, $B0, $AE, $B9, $C0, $04, $18, $69, $50, $B0, $08, $DD, $C0, $04, $B0, $03 ; CPU:$F4A6 PRG:74A6 04 B0 AE B9 C0 04 18 69 50 B0 08 DD C0 04 B0 03 - .byte $4C, $57, $F4, $60, $A0, $00, $20, $E5, $B0, $20, $BC, $B0, $AD, $91, $03, $38 ; CPU:$F4B6 PRG:74B6 4C 57 F4 60 A0 00 20 E5 B0 20 BC B0 AD 91 03 38 - .byte $ED, $97, $03, $AD, $90, $03, $ED, $96, $03, $90, $05, $A9, $0A, $4C, $D8, $F4 ; CPU:$F4C6 PRG:74C6 ED 97 03 AD 90 03 ED 96 03 90 05 A9 0A 4C D8 F4 - .byte $A9, $06, $9D, $0B, $05, $FE, $BA, $05, $FE, $BA, $05, $A9, $00, $9D, $9B, $06 ; CPU:$F4D6 PRG:74D6 A9 06 9D 0B 05 FE BA 05 FE BA 05 A9 00 9D 9B 06 - .byte $20, $CD, $F7, $F0, $16, $20, $32, $FA, $20, $FC, $F7, $90, $03, $4C, $3C, $F8 ; CPU:$F4E6 PRG:74E6 20 CD F7 F0 16 20 32 FA 20 FC F7 90 03 4C 3C F8 - .byte $20, $07, $F5, $20, $CF, $B3, $F0, $E8, $4C, $3C, $F8, $20, $75, $C2, $4C, $E6 ; CPU:$F4F6 PRG:74F6 20 07 F5 20 CF B3 F0 E8 4C 3C F8 20 75 C2 4C E6 - .byte $F4, $BD, $D3, $05, $C9, $07, $F0, $2A, $BD, $0B, $05, $29, $0F, $D0, $05, $A9 ; CPU:$F506 PRG:7506 F4 BD D3 05 C9 07 F0 2A BD 0B 05 29 0F D0 05 A9 - .byte $28, $4C, $1C, $F5, $A9, $2C, $85, $B0, $BD, $9B, $06, $C9, $06, $B0, $0F, $FE ; CPU:$F516 PRG:7516 28 4C 1C F5 A9 2C 85 B0 BD 9B 06 C9 06 B0 0F FE - .byte $9B, $06, $BD, $9B, $06, $4A, $29, $03, $18, $65, $B0, $9D, $D9, $04, $20, $75 ; CPU:$F526 PRG:7526 9B 06 BD 9B 06 4A 29 03 18 65 B0 9D D9 04 20 75 - .byte $C2, $60, $BD, $0B, $05, $29, $0F, $B0, $05, $A9, $4C, $4C, $46, $F5, $A9, $48 ; CPU:$F536 PRG:7536 C2 60 BD 0B 05 29 0F B0 05 A9 4C 4C 46 F5 A9 48 - .byte $85, $B0, $A9, $00, $9D, $F2, $04, $4C, $B1, $F7, $00, $E0, $00, $40, $01, $10 ; CPU:$F546 PRG:7546 85 B0 A9 00 9D F2 04 4C B1 F7 00 E0 00 40 01 10 - .byte $00, $40, $00, $C0, $00, $40, $00, $D0, $00, $40, $01, $30, $00, $40, $01, $40 ; CPU:$F556 PRG:7556 00 40 00 C0 00 40 00 D0 00 40 01 30 00 40 01 40 - .byte $00, $40, $01, $20, $00, $40, $00, $F0, $00, $40, $A9, $FF, $9D, $9B, $06, $20 ; CPU:$F566 PRG:7566 00 40 01 20 00 40 00 F0 00 40 A9 FF 9D 9B 06 20 - .byte $D1, $F6, $B1, $8A, $9D, $6F, $05, $C8, $B1, $8A, $9D, $88, $05, $C8, $B1, $8A ; CPU:$F576 PRG:7576 D1 F6 B1 8A 9D 6F 05 C8 B1 8A 9D 88 05 C8 B1 8A - .byte $9D, $24, $05, $C8, $B1, $8A, $9D, $3D, $05, $C8, $BD, $82, $06, $18, $69, $04 ; CPU:$F586 PRG:7586 9D 24 05 C8 B1 8A 9D 3D 05 C8 BD 82 06 18 69 04 - .byte $9D, $82, $06, $B1, $8A, $9D, $05, $06, $C8, $B1, $8A, $9D, $1E, $06, $C8, $B1 ; CPU:$F596 PRG:7596 9D 82 06 B1 8A 9D 05 06 C8 B1 8A 9D 1E 06 C8 B1 - .byte $8A, $9D, $37, $06, $C8, $B1, $8A, $9D, $50, $06, $20, $02, $B1, $20, $BC, $B0 ; CPU:$F5A6 PRG:75A6 8A 9D 37 06 C8 B1 8A 9D 50 06 20 02 B1 20 BC B0 - .byte $20, $C9, $AD, $9D, $0B, $05, $20, $D1, $F6, $B1, $8A, $C9, $FF, $D0, $03, $4C ; CPU:$F5B6 PRG:75B6 20 C9 AD 9D 0B 05 20 D1 F6 B1 8A C9 FF D0 03 4C - .byte $4A, $F9, $9D, $05, $06, $C8, $B1, $8A, $9D, $1E, $06, $C8, $B1, $8A, $9D, $37 ; CPU:$F5C6 PRG:75C6 4A F9 9D 05 06 C8 B1 8A 9D 1E 06 C8 B1 8A 9D 37 - .byte $06, $C8, $B1, $8A, $9D, $50, $06, $BD, $82, $06, $18, $69, $04, $9D, $82, $06 ; CPU:$F5D6 PRG:75D6 06 C8 B1 8A 9D 50 06 BD 82 06 18 69 04 9D 82 06 - .byte $20, $02, $B1, $20, $BC, $B0, $20, $C9, $AD, $9D, $69, $06, $BD, $0B, $05, $29 ; CPU:$F5E6 PRG:75E6 20 02 B1 20 BC B0 20 C9 AD 9D 69 06 BD 0B 05 29 - .byte $0F, $38, $FD, $69, $06, $F0, $26, $29, $0F, $C9, $08, $F0, $5E, $29, $08, $F0 ; CPU:$F5F6 PRG:75F6 0F 38 FD 69 06 F0 26 29 0F C9 08 F0 5E 29 08 F0 - .byte $06, $FE, $0B, $05, $4C, $10, $F6, $DE, $0B, $05, $BD, $0B, $05, $29, $0F, $9D ; CPU:$F606 PRG:7606 06 FE 0B 05 4C 10 F6 DE 0B 05 BD 0B 05 29 0F 9D - .byte $0B, $05, $20, $75, $F7, $20, $FC, $F7, $90, $03, $4C, $3C, $F8, $20, $CD, $F7 ; CPU:$F616 PRG:7616 0B 05 20 75 F7 20 FC F7 90 03 4C 3C F8 20 CD F7 - .byte $F0, $33, $BD, $D3, $05, $C9, $30, $B0, $06, $20, $32, $FA, $4C, $3D, $F6, $A9 ; CPU:$F626 PRG:7626 F0 33 BD D3 05 C9 30 B0 06 20 32 FA 4C 3D F6 A9 - .byte $72, $9D, $D9, $04, $20, $00, $FB, $20, $02, $B1, $20, $BC, $B0, $20, $F4, $A9 ; CPU:$F636 PRG:7636 72 9D D9 04 20 00 FB 20 02 B1 20 BC B0 20 F4 A9 - .byte $90, $03, $4C, $BC, $F5, $20, $FC, $F7, $B0, $08, $20, $75, $F7, $20, $CF, $B3 ; CPU:$F646 PRG:7646 90 03 4C BC F5 20 FC F7 B0 08 20 75 F7 20 CF B3 - .byte $F0, $8E, $4C, $3C, $F8, $20, $75, $C2, $4C, $23, $F6, $BD, $0B, $05, $29, $07 ; CPU:$F656 PRG:7656 F0 8E 4C 3C F8 20 75 C2 4C 23 F6 BD 0B 05 29 07 - .byte $F0, $0A, $BD, $0B, $05, $29, $08, $D0, $22, $4C, $89, $F6, $BD, $0B, $05, $29 ; CPU:$F666 PRG:7666 F0 0A BD 0B 05 29 08 D0 22 4C 89 F6 BD 0B 05 29 - .byte $08, $D0, $08, $A9, $24, $9D, $EC, $05, $4C, $96, $F6, $A9, $20, $9D, $EC, $05 ; CPU:$F676 PRG:7676 08 D0 08 A9 24 9D EC 05 4C 96 F6 A9 20 9D EC 05 - .byte $4C, $96, $F6, $A9, $98, $9D, $EC, $05, $4C, $96, $F6, $A9, $9B, $9D, $EC, $05 ; CPU:$F686 PRG:7686 4C 96 F6 A9 98 9D EC 05 4C 96 F6 A9 9B 9D EC 05 - .byte $A9, $FF, $9D, $9B, $06, $FE, $9B, $06, $BD, $9B, $06, $4A, $29, $07, $C9, $04 ; CPU:$F696 PRG:7696 A9 FF 9D 9B 06 FE 9B 06 BD 9B 06 4A 29 07 C9 04 - .byte $F0, $1D, $18, $7D, $EC, $05, $9D, $D9, $04, $20, $FC, $F7, $90, $03, $4C, $3C ; CPU:$F6A6 PRG:76A6 F0 1D 18 7D EC 05 9D D9 04 20 FC F7 90 03 4C 3C - .byte $F8, $20, $CF, $B3, $F0, $03, $4C, $3C, $F8, $20, $75, $C2, $4C, $9B, $F6, $BD ; CPU:$F6B6 PRG:76B6 F8 20 CF B3 F0 03 4C 3C F8 20 75 C2 4C 9B F6 BD - .byte $69, $06, $9D, $0B, $05, $20, $75, $F7, $4C, $23, $F6, $BD, $D3, $05, $38, $E9 ; CPU:$F6C6 PRG:76C6 69 06 9D 0B 05 20 75 F7 4C 23 F6 BD D3 05 38 E9 - .byte $0A, $0A, $A8, $B9, $4A, $FD, $85, $8A, $C8, $B9, $4A, $FD, $85, $8B, $BC, $82 ; CPU:$F6D6 PRG:76D6 0A 0A A8 B9 4A FD 85 8A C8 B9 4A FD 85 8B BC 82 - .byte $06, $60, $BD, $8E, $04, $09, $02, $9D, $8E, $04, $A9, $72, $9D, $D9, $04, $AD ; CPU:$F6E6 PRG:76E6 06 60 BD 8E 04 09 02 9D 8E 04 A9 72 9D D9 04 AD - .byte $C0, $04, $C9, $80, $B0, $0D, $A9, $00, $9D, $6F, $05, $A9, $C0, $9D, $88, $05 ; CPU:$F6F6 PRG:76F6 C0 04 C9 80 B0 0D A9 00 9D 6F 05 A9 C0 9D 88 05 - .byte $4C, $13, $F7, $A9, $01, $9D, $6F, $05, $A9, $40, $9D, $88, $05, $20, $D1, $F6 ; CPU:$F706 PRG:7706 4C 13 F7 A9 01 9D 6F 05 A9 40 9D 88 05 20 D1 F6 - .byte $A0, $02, $B1, $8A, $9D, $24, $05, $C8, $B1, $8A, $9D, $3D, $05, $A0, $06, $B1 ; CPU:$F716 PRG:7716 A0 02 B1 8A 9D 24 05 C8 B1 8A 9D 3D 05 A0 06 B1 - .byte $8A, $9D, $37, $06, $C8, $B1, $8A, $9D, $50, $06, $BD, $6F, $05, $9D, $05, $06 ; CPU:$F726 PRG:7726 8A 9D 37 06 C8 B1 8A 9D 50 06 BD 6F 05 9D 05 06 - .byte $BD, $88, $05, $9D, $1E, $06, $A9, $08, $9D, $82, $06, $20, $CD, $F7, $F0, $29 ; CPU:$F736 PRG:7736 BD 88 05 9D 1E 06 A9 08 9D 82 06 20 CD F7 F0 29 - .byte $20, $75, $C2, $20, $02, $B1, $20, $BC, $B0, $20, $F4, $A9, $90, $0B, $BD, $8E ; CPU:$F746 PRG:7746 20 75 C2 20 02 B1 20 BC B0 20 F4 A9 90 0B BD 8E - .byte $04, $29, $FD, $9D, $8E, $04, $4C, $BC, $F5, $20, $FC, $F7, $90, $03, $4C, $3C ; CPU:$F756 PRG:7756 04 29 FD 9D 8E 04 4C BC F5 20 FC F7 90 03 4C 3C - .byte $F8, $20, $CF, $B3, $F0, $D5, $4C, $3C, $F8, $20, $75, $C2, $4C, $41, $F7, $BD ; CPU:$F766 PRG:7766 F8 20 CF B3 F0 D5 4C 3C F8 20 75 C2 4C 41 F7 BD - .byte $D3, $05, $C9, $30, $B0, $2D, $C9, $20, $B0, $0C, $BD, $0B, $05, $29, $01, $D0 ; CPU:$F776 PRG:7776 D3 05 C9 30 B0 2D C9 20 B0 0C BD 0B 05 29 01 D0 - .byte $27, $A9, $10, $4C, $98, $F7, $BD, $D3, $05, $C9, $22, $90, $03, $4C, $AE, $F7 ; CPU:$F786 PRG:7786 27 A9 10 4C 98 F7 BD D3 05 C9 22 90 03 4C AE F7 - .byte $A9, $60, $9D, $D9, $04, $BD, $0B, $05, $4A, $29, $0F, $A8, $18, $7D, $D9, $04 ; CPU:$F796 PRG:7796 A9 60 9D D9 04 BD 0B 05 4A 29 0F A8 18 7D D9 04 - .byte $4C, $AB, $F7, $A9, $72, $9D, $D9, $04, $4C, $75, $C2, $EE, $9B, $06, $AD, $9B ; CPU:$F7A6 PRG:77A6 4C AB F7 A9 72 9D D9 04 4C 75 C2 EE 9B 06 AD 9B - .byte $06, $4A, $29, $03, $65, $B0, $9D, $D9, $04, $20, $75, $C2, $60, $DD, $0B, $05 ; CPU:$F7B6 PRG:77B6 06 4A 29 03 65 B0 9D D9 04 20 75 C2 60 DD 0B 05 - .byte $D0, $01, $60, $9D, $0B, $05, $60, $AD, $37, $04, $C9, $FF, $F0, $68, $BD, $BA ; CPU:$F7C6 PRG:77C6 D0 01 60 9D 0B 05 60 AD 37 04 C9 FF F0 68 BD BA - .byte $05, $20, $48, $B0, $20, $D7, $B1, $20, $7B, $B3, $BD, $8E, $04, $29, $08, $D0 ; CPU:$F7D6 PRG:77D6 05 20 48 B0 20 D7 B1 20 7B B3 BD 8E 04 29 08 D0 - .byte $0F, $BD, $D3, $05, $C9, $FF, $F0, $08, $A9, $00, $9D, $8E, $04, $20, $37, $C2 ; CPU:$F7E6 PRG:77E6 0F BD D3 05 C9 FF F0 08 A9 00 9D 8E 04 20 37 C2 - .byte $BD, $8E, $04, $29, $80, $60, $A0, $00, $C0, $00, $F0, $0E, $B9, $8E, $04, $29 ; CPU:$F7F6 PRG:77F6 BD 8E 04 29 80 60 A0 00 C0 00 F0 0E B9 8E 04 29 - .byte $08, $F0, $2C, $B9, $8E, $04, $29, $04, $D0, $25, $B9, $8E, $04, $29, $10, $D0 ; CPU:$F806 PRG:7806 08 F0 2C B9 8E 04 29 04 D0 25 B9 8E 04 29 10 D0 - .byte $23, $B9, $8E, $04, $29, $20, $D0, $1C, $20, $61, $AA, $90, $12, $B9, $8E, $04 ; CPU:$F816 PRG:7816 23 B9 8E 04 29 20 D0 1C 20 61 AA 90 12 B9 8E 04 - .byte $09, $01, $99, $8E, $04, $BD, $8E, $04, $09, $40, $9D, $8E, $04, $38, $60, $C8 ; CPU:$F826 PRG:7826 09 01 99 8E 04 BD 8E 04 09 40 9D 8E 04 38 60 C8 - .byte $C0, $03, $D0, $C4, $18, $60, $EE, $47, $04, $EE, $3B, $04, $D0, $03, $EE, $3C ; CPU:$F836 PRG:7836 C0 03 D0 C4 18 60 EE 47 04 EE 3B 04 D0 03 EE 3C - .byte $04, $EE, $3F, $04, $D0, $03, $EE, $40, $04, $A0, $04, $B9, $41, $04, $18, $69 ; CPU:$F846 PRG:7846 04 EE 3F 04 D0 03 EE 40 04 A0 04 B9 41 04 18 69 - .byte $01, $C9, $0A, $F0, $06, $99, $41, $04, $4C, $69, $F8, $A9, $00, $99, $41, $04 ; CPU:$F856 PRG:7856 01 C9 0A F0 06 99 41 04 4C 69 F8 A9 00 99 41 04 - .byte $88, $10, $E8, $BD, $8E, $04, $09, $20, $9D, $8E, $04, $A9, $04, $9D, $BA, $05 ; CPU:$F866 PRG:7866 88 10 E8 BD 8E 04 09 20 9D 8E 04 A9 04 9D BA 05 - .byte $A9, $08, $9D, $0B, $05, $A9, $FF, $9D, $9B, $06, $BD, $D3, $05, $C9, $30, $90 ; CPU:$F876 PRG:7876 A9 08 9D 0B 05 A9 FF 9D 9B 06 BD D3 05 C9 30 90 - .byte $03, $4C, $AB, $F9, $A9, $01, $9D, $F2, $04, $BD, $D3, $05, $C9, $20, $90, $03 ; CPU:$F886 PRG:7886 03 4C AB F9 A9 01 9D F2 04 BD D3 05 C9 20 90 03 - .byte $4C, $55, $F9, $AD, $37, $04, $C9, $FF, $F0, $20, $A9, $13, $20, $6B, $A0, $FE ; CPU:$F896 PRG:7896 4C 55 F9 AD 37 04 C9 FF F0 20 A9 13 20 6B A0 FE - .byte $9B, $06, $BD, $9B, $06, $C9, $04, $B0, $11, $18, $69, $80, $9D, $D9, $04, $20 ; CPU:$F8A6 PRG:78A6 9B 06 BD 9B 06 C9 04 B0 11 18 69 80 9D D9 04 20 - .byte $CD, $F7, $F0, $06, $20, $75, $C2, $4C, $A5, $F8, $BD, $8E, $04, $29, $10, $F0 ; CPU:$F8B6 PRG:78B6 CD F7 F0 06 20 75 C2 4C A5 F8 BD 8E 04 29 10 F0 - .byte $78, $A9, $01, $85, $8B, $A9, $00, $85, $89, $85, $88, $85, $8A, $20, $1A, $AC ; CPU:$F8C6 PRG:78C6 78 A9 01 85 8B A9 00 85 89 85 88 85 8A 20 1A AC - .byte $CE, $17, $07, $D0, $6F, $A9, $00, $20, $E1, $F9, $A0, $00, $BD, $D3, $05, $C9 ; CPU:$F8D6 PRG:78D6 CE 17 07 D0 6F A9 00 20 E1 F9 A0 00 BD D3 05 C9 - .byte $0A, $F0, $10, $C8, $C9, $0B, $F0, $0B, $C8, $C9, $11, $90, $06, $C8, $C9, $14 ; CPU:$F8E6 PRG:78E6 0A F0 10 C8 C9 0B F0 0B C8 C9 11 90 06 C8 C9 14 - .byte $90, $01, $C8, $98, $0A, $A8, $B9, $D3, $FC, $9D, $D9, $04, $C8, $B9, $D3, $FC ; CPU:$F8F6 PRG:78F6 90 01 C8 98 0A A8 B9 D3 FC 9D D9 04 C8 B9 D3 FC - .byte $9D, $F2, $04, $20, $CD, $F7, $F0, $3C, $A0, $01, $20, $61, $AA, $B0, $14, $A0 ; CPU:$F906 PRG:7906 9D F2 04 20 CD F7 F0 3C A0 01 20 61 AA B0 14 A0 - .byte $02, $20, $61, $AA, $B0, $0D, $A0, $00, $20, $61, $AA, $B0, $06, $20, $75, $C2 ; CPU:$F916 PRG:7916 02 20 61 AA B0 0D A0 00 20 61 AA B0 06 20 75 C2 - .byte $4C, $09, $F9, $A9, $0F, $20, $6B, $A0, $BD, $D9, $04, $38, $E9, $7A, $8D, $18 ; CPU:$F926 PRG:7926 4C 09 F9 A9 0F 20 6B A0 BD D9 04 38 E9 7A 8D 18 - .byte $07, $A9, $01, $20, $E1, $F9, $4C, $4A, $F9, $A9, $05, $85, $8A, $A9, $00, $85 ; CPU:$F936 PRG:7936 07 A9 01 20 E1 F9 4C 4A F9 A9 05 85 8A A9 00 85 - .byte $8B, $20, $14, $AC, $A9, $00, $9D, $8E, $04, $20, $2D, $C3, $20, $37, $C2, $AD ; CPU:$F946 PRG:7946 8B 20 14 AC A9 00 9D 8E 04 20 2D C3 20 37 C2 AD - .byte $37, $04, $C9, $FF, $F0, $21, $A9, $13, $20, $6B, $A0, $FE, $9B, $06, $BD, $9B ; CPU:$F956 PRG:7956 37 04 C9 FF F0 21 A9 13 20 6B A0 FE 9B 06 BD 9B - .byte $06, $4A, $C9, $0A, $B0, $11, $18, $69, $84, $9D, $D9, $04, $20, $CD, $F7, $F0 ; CPU:$F966 PRG:7966 06 4A C9 0A B0 11 18 69 84 9D D9 04 20 CD F7 F0 - .byte $06, $20, $75, $C2, $4C, $61, $F9, $BD, $D3, $05, $C9, $30, $B0, $12, $BD, $F2 ; CPU:$F976 PRG:7976 06 20 75 C2 4C 61 F9 BD D3 05 C9 30 B0 12 BD F2 - .byte $04, $F0, $05, $A9, $01, $4C, $90, $F9, $A9, $02, $20, $E1, $F9, $4C, $4A, $F9 ; CPU:$F986 PRG:7986 04 F0 05 A9 01 4C 90 F9 A9 02 20 E1 F9 4C 4A F9 - .byte $AD, $EC, $05, $18, $69, $03, $C9, $11, $90, $02, $A9, $11, $20, $E1, $F9, $EE ; CPU:$F996 PRG:7996 AD EC 05 18 69 03 C9 11 90 02 A9 11 20 E1 F9 EE - .byte $EC, $05, $4C, $4A, $F9, $AD, $37, $04, $C9, $FF, $F0, $CB, $A9, $12, $20, $6B ; CPU:$F9A6 PRG:79A6 EC 05 4C 4A F9 AD 37 04 C9 FF F0 CB A9 12 20 6B - .byte $A0, $FE, $9B, $06, $BD, $9B, $06, $4A, $4A, $C9, $03, $B0, $11, $18, $69, $72 ; CPU:$F9B6 PRG:79B6 A0 FE 9B 06 BD 9B 06 4A 4A C9 03 B0 11 18 69 72 - .byte $9D, $D9, $04, $20, $CD, $F7, $F0, $AF, $20, $75, $C2, $4C, $B7, $F9, $A9, $FF ; CPU:$F9C6 PRG:79C6 9D D9 04 20 CD F7 F0 AF 20 75 C2 4C B7 F9 A9 FF - .byte $9D, $9B, $06, $A9, $01, $9D, $F2, $04, $4C, $61, $F9, $85, $B0, $18, $69, $B0 ; CPU:$F9D6 PRG:79D6 9D 9B 06 A9 01 9D F2 04 4C 61 F9 85 B0 18 69 B0 - .byte $9D, $D9, $04, $A9, $03, $9D, $F2, $04, $BD, $8E, $04, $29, $40, $F0, $12, $BD ; CPU:$F9E6 PRG:79E6 9D D9 04 A9 03 9D F2 04 BD 8E 04 29 40 F0 12 BD - .byte $D3, $05, $C9, $30, $B0, $07, $A9, $09, $85, $B0, $4C, $07, $FA, $A9, $12, $85 ; CPU:$F9F6 PRG:79F6 D3 05 C9 30 B0 07 A9 09 85 B0 4C 07 FA A9 12 85 - .byte $B0, $A5, $B0, $0A, $0A, $A8, $B9, $DF, $FC, $85, $89, $C8, $B9, $DF, $FC, $85 ; CPU:$FA06 PRG:7A06 B0 A5 B0 0A 0A A8 B9 DF FC 85 89 C8 B9 DF FC 85 - .byte $88, $C8, $B9, $DF, $FC, $85, $8B, $C8, $B9, $DF, $FC, $85, $8A, $20, $1A, $AC ; CPU:$FA16 PRG:7A16 88 C8 B9 DF FC 85 8B C8 B9 DF FC 85 8A 20 1A AC - .byte $A9, $28, $85, $86, $A9, $00, $85, $87, $20, $51, $C2, $60, $AD, $38, $04, $29 ; CPU:$FA26 PRG:7A26 A9 28 85 86 A9 00 85 87 20 51 C2 60 AD 38 04 29 - .byte $03, $C9, $03, $F0, $07, $BD, $8E, $04, $29, $02, $F0, $01, $60, $EE, $C7, $07 ; CPU:$FA36 PRG:7A36 03 C9 03 F0 07 BD 8E 04 29 02 F0 01 60 EE C7 07 - .byte $AD, $A1, $03, $4A, $4A, $CD, $C7, $07, $B0, $F2, $A9, $FF, $8D, $C7, $07, $A0 ; CPU:$FA46 PRG:7A46 AD A1 03 4A 4A CD C7 07 B0 F2 A9 FF 8D C7 07 A0 - .byte $00, $20, $BC, $B0, $20, $E5, $B0, $A9, $70, $85, $B0, $85, $B2, $A9, $90, $85 ; CPU:$FA56 PRG:7A56 00 20 BC B0 20 E5 B0 A9 70 85 B0 85 B2 A9 90 85 - .byte $B1, $85, $B3, $20, $00, $AA, $B0, $01, $60, $A0, $00, $20, $BC, $B0, $20, $E5 ; CPU:$FA66 PRG:7A66 B1 85 B3 20 00 AA B0 01 60 A0 00 20 BC B0 20 E5 - .byte $B0, $A9, $20, $85, $B0, $85, $B2, $A9, $E0, $85, $B1, $85, $B3, $20, $00, $AA ; CPU:$FA76 PRG:7A76 B0 A9 20 85 B0 85 B2 A9 E0 85 B1 85 B3 20 00 AA - .byte $90, $01, $60, $A0, $00, $20, $E5, $B0, $20, $BC, $B0, $20, $C9, $AD, $C9, $06 ; CPU:$FA86 PRG:7A86 90 01 60 A0 00 20 E5 B0 20 BC B0 20 C9 AD C9 06 - .byte $B0, $01, $60, $C9, $0B, $90, $01, $60, $85, $B0, $BD, $D3, $05, $C9, $00, $D0 ; CPU:$FA96 PRG:7A96 B0 01 60 C9 0B 90 01 60 85 B0 BD D3 05 C9 00 D0 - .byte $0D, $BD, $0B, $05, $38, $E9, $03, $29, $0F, $C5, $B0, $90, $01, $60, $BD, $0B ; CPU:$FAA6 PRG:7AA6 0D BD 0B 05 38 E9 03 29 0F C5 B0 90 01 60 BD 0B - .byte $05, $18, $69, $02, $C5, $B0, $B0, $01, $60, $A0, $03, $B9, $8E, $04, $29, $08 ; CPU:$FAB6 PRG:7AB6 05 18 69 02 C5 B0 B0 01 60 A0 03 B9 8E 04 29 08 - .byte $F0, $06, $C8, $C0, $0B, $90, $F4, $60, $A5, $B0, $99, $0B, $05, $A9, $14, $99 ; CPU:$FAC6 PRG:7AC6 F0 06 C8 C0 0B 90 F4 60 A5 B0 99 0B 05 A9 14 99 - .byte $BA, $05, $BD, $88, $05, $99, $88, $05, $BD, $6F, $05, $99, $6F, $05, $BD, $3D ; CPU:$FAD6 PRG:7AD6 BA 05 BD 88 05 99 88 05 BD 6F 05 99 6F 05 BD 3D - .byte $05, $99, $3D, $05, $BD, $24, $05, $99, $24, $05, $A9, $01, $99, $F2, $04, $A9 ; CPU:$FAE6 PRG:7AE6 05 99 3D 05 BD 24 05 99 24 05 A9 01 99 F2 04 A9 - .byte $88, $99, $8E, $04, $A9, $00, $8D, $0C, $07, $60, $AD, $0D, $07, $F0, $0E, $A0 ; CPU:$FAF6 PRG:7AF6 88 99 8E 04 A9 00 8D 0C 07 60 AD 0D 07 F0 0E A0 - .byte $01, $B9, $0E, $07, $38, $E9, $01, $F0, $7D, $99, $0E, $07, $60, $EE, $C6, $07 ; CPU:$FB06 PRG:7B06 01 B9 0E 07 38 E9 01 F0 7D 99 0E 07 60 EE C6 07 - .byte $AD, $A1, $03, $4A, $4A, $4A, $4A, $CD, $C6, $07, $B0, $F0, $A9, $00, $8D, $C6 ; CPU:$FB16 PRG:7B16 AD A1 03 4A 4A 4A 4A CD C6 07 B0 F0 A9 00 8D C6 - .byte $07, $BD, $D3, $05, $C9, $FF, $D0, $05, $A9, $02, $4C, $3D, $FB, $A9, $00, $38 ; CPU:$FB26 PRG:7B26 07 BD D3 05 C9 FF D0 05 A9 02 4C 3D FB A9 00 38 - .byte $ED, $A1, $03, $2A, $2A, $29, $01, $0A, $A8, $B9, $2F, $FD, $85, $8A, $C8, $B9 ; CPU:$FB36 PRG:7B36 ED A1 03 2A 2A 29 01 0A A8 B9 2F FD 85 8A C8 B9 - .byte $2F, $FD, $85, $8B, $A0, $00, $B1, $8A, $99, $0E, $07, $85, $87, $C8, $B1, $8A ; CPU:$FB46 PRG:7B46 2F FD 85 8B A0 00 B1 8A 99 0E 07 85 87 C8 B1 8A - .byte $99, $0E, $07, $C8, $B1, $8A, $99, $0E, $07, $C8, $C6, $87, $D0, $F6, $A0, $00 ; CPU:$FB56 PRG:7B56 99 0E 07 C8 B1 8A 99 0E 07 C8 C6 87 D0 F6 A0 00 - .byte $20, $E5, $B0, $20, $BC, $B0, $20, $C9, $AD, $85, $B0, $AD, $0E, $07, $85, $87 ; CPU:$FB66 PRG:7B66 20 E5 B0 20 BC B0 20 C9 AD 85 B0 AD 0E 07 85 87 - .byte $A0, $02, $B9, $0E, $07, $18, $65, $B0, $99, $0E, $07, $C8, $C6, $87, $D0, $F2 ; CPU:$FB76 PRG:7B76 A0 02 B9 0E 07 18 65 B0 99 0E 07 C8 C6 87 D0 F2 - .byte $A9, $FF, $8D, $0D, $07, $60, $A0, $02, $AD, $0E, $07, $18, $69, $02, $85, $B0 ; CPU:$FB86 PRG:7B86 A9 FF 8D 0D 07 60 A0 02 AD 0E 07 18 69 02 85 B0 - .byte $B9, $0E, $07, $C9, $FF, $D0, $0B, $C8, $C4, $B0, $90, $F4, $A9, $00, $8D, $0D ; CPU:$FB96 PRG:7B96 B9 0E 07 C9 FF D0 0B C8 C4 B0 90 F4 A9 00 8D 0D - .byte $07, $60, $85, $B0, $8C, $1D, $07, $A0, $03, $B9, $8E, $04, $29, $08, $F0, $08 ; CPU:$FBA6 PRG:7BA6 07 60 85 B0 8C 1D 07 A0 03 B9 8E 04 29 08 F0 08 - .byte $C8, $C0, $0B, $90, $F4, $4C, $2F, $FC, $A5, $B0, $99, $0B, $05, $A9, $14, $99 ; CPU:$FBB6 PRG:7BB6 C8 C0 0B 90 F4 4C 2F FC A5 B0 99 0B 05 A9 14 99 - .byte $BA, $05, $BD, $88, $05, $99, $88, $05, $BD, $6F, $05, $99, $6F, $05, $BD, $3D ; CPU:$FBC6 PRG:7BC6 BA 05 BD 88 05 99 88 05 BD 6F 05 99 6F 05 BD 3D - .byte $05, $99, $3D, $05, $BD, $24, $05, $99, $24, $05, $A9, $01, $99, $F2, $04, $A9 ; CPU:$FBD6 PRG:7BD6 05 99 3D 05 BD 24 05 99 24 05 A9 01 99 F2 04 A9 - .byte $88, $99, $8E, $04, $BD, $D3, $05, $C9, $FF, $D0, $36, $B9, $88, $05, $38, $E9 ; CPU:$FBE6 PRG:7BE6 88 99 8E 04 BD D3 05 C9 FF D0 36 B9 88 05 38 E9 - .byte $07, $99, $88, $05, $B9, $6F, $05, $E9, $00, $99, $6F, $05, $AD, $A0, $03, $29 ; CPU:$FBF6 PRG:7BF6 07 99 88 05 B9 6F 05 E9 00 99 6F 05 AD A0 03 29 - .byte $0F, $18, $79, $88, $05, $99, $88, $05, $B9, $6F, $05, $69, $00, $99, $6F, $05 ; CPU:$FC06 PRG:7C06 0F 18 79 88 05 99 88 05 B9 6F 05 69 00 99 6F 05 - .byte $B9, $3D, $05, $18, $69, $40, $99, $3D, $05, $B9, $24, $05, $69, $00, $99, $24 ; CPU:$FC16 PRG:7C16 B9 3D 05 18 69 40 99 3D 05 B9 24 05 69 00 99 24 - .byte $05, $AC, $1D, $07, $A9, $FF, $99, $0E, $07, $BD, $D3, $05, $C9, $FF, $D0, $05 ; CPU:$FC26 PRG:7C26 05 AC 1D 07 A9 FF 99 0E 07 BD D3 05 C9 FF D0 05 - .byte $A9, $02, $4C, $3E, $FC, $38, $E9, $30, $0A, $A8, $B9, $2F, $FD, $85, $8A, $C8 ; CPU:$FC36 PRG:7C36 A9 02 4C 3E FC 38 E9 30 0A A8 B9 2F FD 85 8A C8 - .byte $B9, $2F, $FD, $85, $8B, $A0, $01, $B1, $8A, $99, $0E, $07, $60, $00, $B0, $00 ; CPU:$FC46 PRG:7C46 B9 2F FD 85 8B A0 01 B1 8A 99 0E 07 60 00 B0 00 - .byte $A0, $00, $F0, $00, $A0, $00, $B0, $00, $B8, $00, $B0, $00, $D0, $00, $D0, $00 ; CPU:$FC56 PRG:7C56 A0 00 F0 00 A0 00 B0 00 B8 00 B0 00 D0 00 D0 00 - .byte $B8, $00, $F0, $00, $B8, $00, $D0, $00, $D0, $00, $F0, $00, $D0, $01, $50, $00 ; CPU:$FC66 PRG:7C66 B8 00 F0 00 B8 00 D0 00 D0 00 F0 00 D0 01 50 00 - .byte $A0, $01, $10, $00, $A0, $01, $50, $00, $B8, $01, $50, $00, $D0, $01, $30, $00 ; CPU:$FC76 PRG:7C76 A0 01 10 00 A0 01 50 00 B8 01 50 00 D0 01 30 00 - .byte $B8, $01, $10, $00, $B8, $01, $30, $00, $D0, $01, $10, $00, $D0, $00, $B0, $01 ; CPU:$FC86 PRG:7C86 B8 01 10 00 B8 01 30 00 D0 01 10 00 D0 00 B0 01 - .byte $18, $00, $F0, $01, $18, $00, $B0, $01, $00, $00, $B0, $00, $E8, $00, $D0, $01 ; CPU:$FC96 PRG:7C96 18 00 F0 01 18 00 B0 01 00 00 B0 00 E8 00 D0 01 - .byte $00, $00, $F0, $01, $00, $00, $D0, $00, $E8, $00, $F0, $00, $E8, $01, $50, $01 ; CPU:$FCA6 PRG:7CA6 00 00 F0 01 00 00 D0 00 E8 00 F0 00 E8 01 50 01 - .byte $18, $01, $10, $01, $18, $01, $50, $01, $00, $01, $50, $00, $E8, $01, $30, $01 ; CPU:$FCB6 PRG:7CB6 18 01 10 01 18 01 50 01 00 01 50 00 E8 01 30 01 - .byte $00, $01, $10, $01, $00, $01, $30, $00, $E8, $01, $10, $00, $E8, $7A, $02, $7B ; CPU:$FCC6 PRG:7CC6 00 01 10 01 00 01 30 00 E8 01 10 00 E8 7A 02 7B - .byte $01, $7C, $03, $7E, $00, $7D, $01, $7F, $01, $00, $00, $05, $00, $00, $01, $00 ; CPU:$FCD6 PRG:7CD6 01 7C 03 7E 00 7D 01 7F 01 00 00 05 00 00 01 00 - .byte $00, $00, $01, $05, $00, $00, $02, $00, $00, $00, $02, $05, $00, $00, $03, $00 ; CPU:$FCE6 PRG:7CE6 00 00 01 05 00 00 02 00 00 00 02 05 00 00 03 00 - .byte $00, $00, $03, $05, $00, $00, $04, $00, $00, $00, $04, $05, $00, $00, $05, $00 ; CPU:$FCF6 PRG:7CF6 00 00 03 05 00 00 04 00 00 00 04 05 00 00 05 00 - .byte $00, $00, $05, $05, $00, $00, $06, $00, $00, $00, $06, $05, $00, $00, $07, $00 ; CPU:$FD06 PRG:7D06 00 00 05 05 00 00 06 00 00 00 06 05 00 00 07 00 - .byte $00, $00, $07, $05, $00, $00, $08, $00, $00, $00, $08, $05, $00, $00, $09, $00 ; CPU:$FD16 PRG:7D16 00 00 07 05 00 00 08 00 00 00 08 05 00 00 09 00 - .byte $00, $01, $00, $00, $00, $02, $00, $00, $00, $35, $FD, $3A, $FD, $41, $FD, $03 ; CPU:$FD26 PRG:7D26 00 01 00 00 00 02 00 00 00 35 FD 3A FD 41 FD 03 - .byte $05, $FF, $00, $01, $05, $02, $FE, $FF, $00, $01, $02, $07, $01, $FF, $00, $02 ; CPU:$FD36 PRG:7D36 05 FF 00 01 05 02 FE FF 00 01 02 07 01 FF 00 02 - .byte $FF, $01, $02, $00, $9A, $FD, $2F, $FE, $50, $FE, $61, $FE, $72, $FE, $83, $FE ; CPU:$FD46 PRG:7D46 FF 01 02 00 9A FD 2F FE 50 FE 61 FE 72 FE 83 FE - .byte $94, $FE, $A5, $FE, $B6, $FE, $D7, $FE, $F8, $FE, $09, $FF, $2A, $FF, $4B, $FF ; CPU:$FD56 PRG:7D56 94 FE A5 FE B6 FE D7 FE F8 FE 09 FF 2A FF 4B FF - .byte $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF ; CPU:$FD66 PRG:7D66 4B FF 4B FF 4B FF 4B FF 4B FF 4B FF 4B FF 4B FF - .byte $4B, $FF, $78, $FF, $A1, $FF, $A9, $FF, $B1, $FF, $B9, $FF, $C1, $FF, $C9, $FF ; CPU:$FD76 PRG:7D76 4B FF 78 FF A1 FF A9 FF B1 FF B9 FF C1 FF C9 FF - .byte $D1, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF ; CPU:$FD86 PRG:7D86 D1 FF D9 FF D9 FF D9 FF D9 FF D9 FF D9 FF D9 FF - .byte $D9, $FF, $FA, $FF, $00, $60, $00, $80, $00, $80, $00, $80, $00, $C0, $00, $80 ; CPU:$FD96 PRG:7D96 D9 FF FA FF 00 60 00 80 00 80 00 80 00 C0 00 80 - .byte $00, $D0, $00, $84, $00, $D8, $00, $88, $00, $DC, $00, $90, $00, $E0, $00, $A0 ; CPU:$FDA6 PRG:7DA6 00 D0 00 84 00 D8 00 88 00 DC 00 90 00 E0 00 A0 - .byte $00, $DC, $00, $B0, $00, $D8, $00, $B8, $00, $D0, $00, $BC, $00, $C0, $00, $C0 ; CPU:$FDB6 PRG:7DB6 00 DC 00 B0 00 D8 00 B8 00 D0 00 BC 00 C0 00 C0 - .byte $00, $B0, $00, $BC, $00, $A8, $00, $B8, $00, $A4, $00, $B0, $00, $A0, $00, $A0 ; CPU:$FDC6 PRG:7DC6 00 B0 00 BC 00 A8 00 B8 00 A4 00 B0 00 A0 00 A0 - .byte $00, $A4, $00, $90, $00, $A8, $00, $88, $00, $B0, $00, $84, $00, $C0, $00, $7E ; CPU:$FDD6 PRG:7DD6 00 A4 00 90 00 A8 00 88 00 B0 00 84 00 C0 00 7E - .byte $01, $40, $00, $80, $01, $50, $00, $84, $01, $58, $00, $88, $01, $5C, $00, $90 ; CPU:$FDE6 PRG:7DE6 01 40 00 80 01 50 00 84 01 58 00 88 01 5C 00 90 - .byte $01, $60, $00, $A0, $01, $5C, $00, $B0, $01, $58, $00, $B8, $01, $50, $00, $BC ; CPU:$FDF6 PRG:7DF6 01 60 00 A0 01 5C 00 B0 01 58 00 B8 01 50 00 BC - .byte $01, $40, $00, $C0, $01, $30, $00, $BC, $01, $28, $00, $B8, $01, $24, $00, $B0 ; CPU:$FE06 PRG:7E06 01 40 00 C0 01 30 00 BC 01 28 00 B8 01 24 00 B0 - .byte $01, $20, $00, $A0, $01, $24, $00, $90, $01, $28, $00, $88, $01, $30, $00, $84 ; CPU:$FE16 PRG:7E16 01 20 00 A0 01 24 00 90 01 28 00 88 01 30 00 84 - .byte $01, $40, $00, $80, $01, $90, $00, $80, $FF, $00, $50, $00, $98, $01, $40, $00 ; CPU:$FE26 PRG:7E26 01 40 00 80 01 90 00 80 FF 00 50 00 98 01 40 00 - .byte $A0, $01, $60, $00, $A0, $01, $50, $00, $A0, $00, $C0, $00, $AC, $00, $B0, $00 ; CPU:$FE36 PRG:7E36 A0 01 60 00 A0 01 50 00 A0 00 C0 00 AC 00 B0 00 - .byte $AC, $00, $C0, $00, $B0, $01, $B0, $00, $B8, $FF, $00, $50, $00, $B0, $01, $30 ; CPU:$FE46 PRG:7E46 AC 00 C0 00 B0 01 B0 00 B8 FF 00 50 00 B0 01 30 - .byte $00, $B0, $00, $D0, $00, $B0, $01, $B0, $00, $B0, $FF, $00, $50, $00, $A8, $01 ; CPU:$FE56 PRG:7E56 00 B0 00 D0 00 B0 01 B0 00 B0 FF 00 50 00 A8 01 - .byte $30, $00, $A8, $00, $D0, $00, $A8, $01, $B0, $00, $A8, $FF, $00, $50, $00, $A0 ; CPU:$FE66 PRG:7E66 30 00 A8 00 D0 00 A8 01 B0 00 A8 FF 00 50 00 A0 - .byte $01, $30, $00, $A0, $00, $D0, $00, $A0, $01, $B0, $00, $A0, $FF, $00, $50, $00 ; CPU:$FE76 PRG:7E76 01 30 00 A0 00 D0 00 A0 01 B0 00 A0 FF 00 50 00 - .byte $98, $01, $30, $00, $98, $00, $D0, $00, $98, $01, $B0, $00, $98, $FF, $00, $50 ; CPU:$FE86 PRG:7E86 98 01 30 00 98 00 D0 00 98 01 B0 00 98 FF 00 50 - .byte $00, $90, $01, $30, $00, $90, $00, $D0, $00, $90, $01, $B0, $00, $90, $FF, $01 ; CPU:$FE96 PRG:7E96 00 90 01 30 00 90 00 D0 00 90 01 B0 00 90 FF 01 - .byte $00, $00, $40, $01, $00, $00, $D0, $01, $00, $00, $A0, $01, $00, $01, $A0, $FF ; CPU:$FEA6 PRG:7EA6 00 00 40 01 00 00 D0 01 00 00 A0 01 00 01 A0 FF - .byte $00, $F0, $00, $40, $00, $F0, $00, $C0, $00, $E0, $00, $D0, $00, $D0, $00, $C0 ; CPU:$FEB6 PRG:7EB6 00 F0 00 40 00 F0 00 C0 00 E0 00 D0 00 D0 00 C0 - .byte $00, $E0, $00, $B0, $00, $F0, $00, $C0, $00, $E0, $00, $D0, $00, $50, $00, $D0 ; CPU:$FEC6 PRG:7EC6 00 E0 00 B0 00 F0 00 C0 00 E0 00 D0 00 50 00 D0 - .byte $FF, $01, $10, $00, $40, $01, $10, $00, $C0, $01, $20, $00, $D0, $01, $30, $00 ; CPU:$FED6 PRG:7ED6 FF 01 10 00 40 01 10 00 C0 01 20 00 D0 01 30 00 - .byte $C0, $01, $20, $00, $B0, $01, $10, $00, $C0, $01, $20, $00, $D0, $01, $B0, $00 ; CPU:$FEE6 PRG:7EE6 C0 01 20 00 B0 01 10 00 C0 01 20 00 D0 01 B0 00 - .byte $D0, $FF, $00, $50, $00, $B0, $01, $10, $00, $B0, $00, $90, $00, $B0, $01, $B0 ; CPU:$FEF6 PRG:7EF6 D0 FF 00 50 00 B0 01 10 00 B0 00 90 00 B0 01 B0 - .byte $00, $B0, $FF, $00, $50, $00, $A0, $01, $00, $00, $A0, $01, $10, $00, $90, $01 ; CPU:$FF06 PRG:7F06 00 B0 FF 00 50 00 A0 01 00 00 A0 01 10 00 90 01 - .byte $00, $00, $80, $00, $A0, $00, $80, $00, $90, $00, $90, $00, $A0, $00, $A0, $01 ; CPU:$FF16 PRG:7F16 00 00 80 00 A0 00 80 00 90 00 90 00 A0 00 A0 01 - .byte $B0, $00, $A0, $FF, $00, $50, $00, $C0, $01, $00, $00, $C0, $01, $10, $00, $D0 ; CPU:$FF26 PRG:7F26 B0 00 A0 FF 00 50 00 C0 01 00 00 C0 01 10 00 D0 - .byte $01, $00, $00, $E0, $00, $A0, $00, $E0, $00, $90, $00, $D0, $00, $A0, $00, $C0 ; CPU:$FF36 PRG:7F36 01 00 00 E0 00 A0 00 E0 00 90 00 D0 00 A0 00 C0 - .byte $01, $B0, $00, $C0, $FF, $00, $B0, $00, $40, $00, $B0, $00, $70, $00, $B0, $00 ; CPU:$FF46 PRG:7F46 01 B0 00 C0 FF 00 B0 00 40 00 B0 00 70 00 B0 00 - .byte $C8, $00, $B8, $00, $D0, $01, $48, $00, $D0, $01, $50, $00, $C8, $01, $50, $00 ; CPU:$FF56 PRG:7F56 C8 00 B8 00 D0 01 48 00 D0 01 50 00 C8 01 50 00 - .byte $B8, $01, $48, $00, $B0, $00, $B8, $00, $B0, $00, $B0, $00, $B8, $00, $B0, $01 ; CPU:$FF66 PRG:7F66 B8 01 48 00 B0 00 B8 00 B0 00 B0 00 B8 00 B0 01 - .byte $90, $FF, $01, $50, $00, $50, $01, $50, $00, $C8, $01, $48, $00, $D0, $00, $B8 ; CPU:$FF76 PRG:7F76 90 FF 01 50 00 50 01 50 00 C8 01 48 00 D0 00 B8 - .byte $00, $D0, $00, $B0, $00, $C8, $00, $B0, $00, $B8, $00, $B8, $00, $B0, $01, $48 ; CPU:$FF86 PRG:7F86 00 D0 00 B0 00 C8 00 B0 00 B8 00 B8 00 B0 01 48 - .byte $00, $B0, $01, $50, $00, $B8, $01, $50, $01, $90, $FF, $00, $A0, $01, $A0, $00 ; CPU:$FF96 PRG:7F96 00 B0 01 50 00 B8 01 50 01 90 FF 00 A0 01 A0 00 - .byte $A0, $00, $40, $00, $C0, $01, $A0, $00, $C0, $00, $40, $00, $E0, $01, $A0, $00 ; CPU:$FFA6 PRG:7FA6 A0 00 40 00 C0 01 A0 00 C0 00 40 00 E0 01 A0 00 - .byte $E0, $00, $40, $01, $00, $01, $A0, $01, $00, $00, $40, $01, $20, $01, $A0, $01 ; CPU:$FFB6 PRG:7FB6 E0 00 40 01 00 01 A0 01 00 00 40 01 20 01 A0 01 - .byte $20, $00, $40, $01, $40, $01, $A0, $01, $40, $00, $40, $01, $60, $01, $A0, $01 ; CPU:$FFC6 PRG:7FC6 20 00 40 01 40 01 A0 01 40 00 40 01 60 01 A0 01 - .byte $60, $00, $40, $01, $00, $01, $A0, $01, $00, $00, $90, $00, $A0, $00, $B0, $01 ; CPU:$FFD6 PRG:7FD6 60 00 40 01 00 01 A0 01 00 00 90 00 A0 00 B0 01 - .byte $50, $00, $98, $00, $A0, $00, $B0, $01, $50, $00, $A8, $01, $00, $00, $90, $01 ; CPU:$FFE6 PRG:7FE6 50 00 98 00 A0 00 B0 01 50 00 A8 01 00 00 90 01 - .byte $00, $00, $40, $FF, $30, $C0, $90, $BF, $90, $BF ; CPU:$FFF6 PRG:7FF6 00 00 40 FF 30 C0 90 BF 90 BF + .byte $08, $B5, $87, $B5 ; CPU:$C3C6 PRG:43C6 08 B5 87 B5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3CA +; Global: Branch target inside Sub: taken when C3CA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3CA: + ldx #$00 ; CPU:$C3CA PRG:43CA A2 00 + ldy #$00 ; CPU:$C3CC PRG:43CC A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero10: + lda $048E,x ; CPU:$C3CE PRG:43CE BD 8E 04 + bpl NmiHandler_Loop15 ; CPU:$C3D1 PRG:43D1 10 20 + lda $04A7,x ; CPU:$C3D3 PRG:43D3 BD A7 04 + sta $03AF,y ; CPU:$C3D6 PRG:43D6 99 AF 03 + iny ; CPU:$C3D9 PRG:43D9 C8 + lda $04D9,x ; CPU:$C3DA PRG:43DA BD D9 04 + sta $03AF,y ; CPU:$C3DD PRG:43DD 99 AF 03 + iny ; CPU:$C3E0 PRG:43E0 C8 + lda $04F2,x ; CPU:$C3E1 PRG:43E1 BD F2 04 + sta $03AF,y ; CPU:$C3E4 PRG:43E4 99 AF 03 + iny ; CPU:$C3E7 PRG:43E7 C8 + lda $04C0,x ; CPU:$C3E8 PRG:43E8 BD C0 04 + sta $03AF,y ; CPU:$C3EB PRG:43EB 99 AF 03 + iny ; CPU:$C3EE PRG:43EE C8 + cpy #$74 ; CPU:$C3EF PRG:43EF C0 74 + bcs NmiHandler_Loop16 ; CPU:$C3F1 PRG:43F1 B0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop15: + inx ; CPU:$C3F3 PRG:43F3 E8 + cpx #$19 ; CPU:$C3F4 PRG:43F4 E0 19 + bne NmiHandler_OnNonzero10 ; CPU:$C3F6 PRG:43F6 D0 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop16: + lda #$04 ; CPU:$C3F8 PRG:43F8 A9 04 + sta PlayerX ; CPU:$C3FA PRG:43FA 85 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + lda #$FF ; CPU:$C3FC PRG:43FC A9 FF + sta $03AF,y ; CPU:$C3FE PRG:43FE 99 AF 03 + iny ; CPU:$C401 PRG:4401 C8 + dec PlayerX ; CPU:$C402 PRG:4402 C6 87 + bne NmiHandler_OnNonzero11 ; CPU:$C404 PRG:4404 D0 F6 + lda #$AF ; CPU:$C406 PRG:4406 A9 AF + sta Zp9C ; CPU:$C408 PRG:4408 85 9C + lda #$03 ; CPU:$C40A PRG:440A A9 03 + sta Zp9D ; CPU:$C40C PRG:440C 85 9D + lda $078C ; CPU:$C40E PRG:440E AD 8C 07 + cmp #$FF ; CPU:$C411 PRG:4411 C9 FF + beq NmiHandler_Loop17 ; CPU:$C413 PRG:4413 F0 0F + cmp #$80 ; CPU:$C415 PRG:4415 C9 80 + beq NmiHandler_Loop18 ; CPU:$C417 PRG:4417 F0 16 + lda #$30 ; CPU:$C419 PRG:4419 A9 30 + sta Zp9E ; CPU:$C41B PRG:441B 85 9E + lda #$02 ; CPU:$C41D PRG:441D A9 02 + sta Zp9F ; CPU:$C41F PRG:441F 85 9F + jmp Sub_C437 ; CPU:$C421 PRG:4421 4C 37 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop17: + lda #$40 ; CPU:$C424 PRG:4424 A9 40 + sta Zp9E ; CPU:$C426 PRG:4426 85 9E + lda #$02 ; CPU:$C428 PRG:4428 A9 02 + sta Zp9F ; CPU:$C42A PRG:442A 85 9F + jmp Sub_C437 ; CPU:$C42C PRG:442C 4C 37 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop18: + lda #$64 ; CPU:$C42F PRG:442F A9 64 + sta Zp9E ; CPU:$C431 PRG:4431 85 9E + lda #$02 ; CPU:$C433 PRG:4433 A9 02 + sta Zp9F ; CPU:$C435 PRG:4435 85 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_C437 +; Global: Branch target inside Sub: taken when C437. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C437: + jsr Sub_C45A ; CPU:$C437 PRG:4437 20 5A C4 + ldy #$00 ; CPU:$C43A PRG:443A A0 00 + lda Zp9E ; CPU:$C43C PRG:443C A5 9E + sta VramWritePtrLo ; CPU:$C43E PRG:443E 85 8A + lda Zp9F ; CPU:$C440 PRG:4440 A5 9F + sta VramWritePtrHi ; CPU:$C442 PRG:4442 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_C444 +; Global: Branch target inside Sub: taken when C444. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C444: + lda VramWritePtrHi ; CPU:$C444 PRG:4444 A5 8B + cmp #$03 ; CPU:$C446 PRG:4446 C9 03 + bcs NmiHandler_Loop19 ; CPU:$C448 PRG:4448 B0 0A + lda #$FF ; CPU:$C44A PRG:444A A9 FF + sta (VramWritePtrLo),y ; CPU:$C44C PRG:444C 91 8A + jsr Sub_C54D ; CPU:$C44E PRG:444E 20 4D C5 + jmp Sub_C444 ; CPU:$C451 PRG:4451 4C 44 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop19: + jsr Sub_C275 ; CPU:$C454 PRG:4454 20 75 C2 + jmp Sub_C3CA ; CPU:$C457 PRG:4457 4C CA C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C45A +; Global: Branch target inside Sub: taken when C45A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C45A: + ldy #$01 ; CPU:$C45A PRG:445A A0 01 + lda (Zp9C),y ; CPU:$C45C PRG:445C B1 9C + cmp #$FF ; CPU:$C45E PRG:445E C9 FF + bne NmiHandler_Loop20 ; CPU:$C460 PRG:4460 D0 01 + rts ; CPU:$C462 PRG:4462 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop20 +; Global: Branch target inside NmiHandler: taken when Loop20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop20: + ldx #$00 ; CPU:$C463 PRG:4463 A2 00 + ldy #$00 ; CPU:$C465 PRG:4465 A0 00 + clc ; CPU:$C467 PRG:4467 18 + sta PpuAddrLow ; CPU:$C468 PRG:4468 85 88 + lda #$00 ; CPU:$C46A PRG:446A A9 00 + sta PpuAddrHigh ; CPU:$C46C PRG:446C 85 89 + asl PpuAddrLow ; CPU:$C46E PRG:446E 06 88 + rol PpuAddrHigh ; CPU:$C470 PRG:4470 26 89 + clc ; CPU:$C472 PRG:4472 18 + lda PpuAddrLow ; CPU:$C473 PRG:4473 A5 88 + adc #$65 ; CPU:$C475 PRG:4475 69 65 + sta PpuAddrLow ; CPU:$C477 PRG:4477 85 88 + lda PpuAddrHigh ; CPU:$C479 PRG:4479 A5 89 + adc #$C5 ; CPU:$C47B PRG:447B 69 C5 + sta PpuAddrHigh ; CPU:$C47D PRG:447D 85 89 + lda (PpuAddrLow),y ; CPU:$C47F PRG:447F B1 88 + sta VramWritePtrLo ; CPU:$C481 PRG:4481 85 8A + iny ; CPU:$C483 PRG:4483 C8 + lda (PpuAddrLow),y ; CPU:$C484 PRG:4484 B1 88 + sta VramWritePtrHi ; CPU:$C486 PRG:4486 85 8B + lda (VramWritePtrLo,x) ; CPU:$C488 PRG:4488 A1 8A + sta PlayerX ; CPU:$C48A PRG:448A 85 87 + jsr Sub_C54D ; CPU:$C48C PRG:448C 20 4D C5 + lda (VramWritePtrLo,x) ; CPU:$C48F PRG:448F A1 8A + asl a ; CPU:$C491 PRG:4491 0A + adc #$0E ; CPU:$C492 PRG:4492 69 0E + sta PpuAddrLow ; CPU:$C494 PRG:4494 85 88 + lda #$00 ; CPU:$C496 PRG:4496 A9 00 + adc #$CE ; CPU:$C498 PRG:4498 69 CE + sta PpuAddrHigh ; CPU:$C49A PRG:449A 85 89 + ldy #$00 ; CPU:$C49C PRG:449C A0 00 + lda (PpuAddrLow),y ; CPU:$C49E PRG:449E B1 88 + sta ZpA2 ; CPU:$C4A0 PRG:44A0 85 A2 + iny ; CPU:$C4A2 PRG:44A2 C8 + lda (PpuAddrLow),y ; CPU:$C4A3 PRG:44A3 B1 88 + sta ZpA3 ; CPU:$C4A5 PRG:44A5 85 A3 + jsr Sub_C54D ; CPU:$C4A7 PRG:44A7 20 4D C5 + ldy #$02 ; CPU:$C4AA PRG:44AA A0 02 + lda (Zp9C),y ; CPU:$C4AC PRG:44AC B1 9C + asl a ; CPU:$C4AE PRG:44AE 0A + adc #$10 ; CPU:$C4AF PRG:44AF 69 10 + sta PpuAddrLow ; CPU:$C4B1 PRG:44B1 85 88 + lda #$00 ; CPU:$C4B3 PRG:44B3 A9 00 + adc #$D0 ; CPU:$C4B5 PRG:44B5 69 D0 + sta PpuAddrHigh ; CPU:$C4B7 PRG:44B7 85 89 + ldy #$00 ; CPU:$C4B9 PRG:44B9 A0 00 + lda (PpuAddrLow),y ; CPU:$C4BB PRG:44BB B1 88 + sta ZpA0 ; CPU:$C4BD PRG:44BD 85 A0 + iny ; CPU:$C4BF PRG:44BF C8 + lda (PpuAddrLow),y ; CPU:$C4C0 PRG:44C0 B1 88 + sta ZpA1 ; CPU:$C4C2 PRG:44C2 85 A1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + ldy #$01 ; CPU:$C4C4 PRG:44C4 A0 01 + lda (VramWritePtrLo,x) ; CPU:$C4C6 PRG:44C6 A1 8A + cmp #$FF ; CPU:$C4C8 PRG:44C8 C9 FF + beq NmiHandler_Loop22 ; CPU:$C4CA PRG:44CA F0 5A + sta (Zp9E),y ; CPU:$C4CC PRG:44CC 91 9E + ldy #$03 ; CPU:$C4CE PRG:44CE A0 03 + lda (ZpA2,x) ; CPU:$C4D0 PRG:44D0 A1 A2 + clc ; CPU:$C4D2 PRG:44D2 18 + adc (Zp9C),y ; CPU:$C4D3 PRG:44D3 71 9C + sta (Zp9E),y ; CPU:$C4D5 PRG:44D5 91 9E + jsr Sub_C546 ; CPU:$C4D7 PRG:44D7 20 46 C5 + lda (ZpA2,x) ; CPU:$C4DA PRG:44DA A1 A2 + ldy #$00 ; CPU:$C4DC PRG:44DC A0 00 + clc ; CPU:$C4DE PRG:44DE 18 + adc (Zp9C),y ; CPU:$C4DF PRG:44DF 71 9C + sta (Zp9E),y ; CPU:$C4E1 PRG:44E1 91 9E + jsr Sub_C546 ; CPU:$C4E3 PRG:44E3 20 46 C5 + lda (ZpA0,x) ; CPU:$C4E6 PRG:44E6 A1 A0 + ldy #$02 ; CPU:$C4E8 PRG:44E8 A0 02 + sta (Zp9E),y ; CPU:$C4EA PRG:44EA 91 9E + jsr Sub_C54D ; CPU:$C4EC PRG:44EC 20 4D C5 + lda (VramWritePtrLo,x) ; CPU:$C4EF PRG:44EF A1 8A + ror a ; CPU:$C4F1 PRG:44F1 6A + ror a ; CPU:$C4F2 PRG:44F2 6A + ror a ; CPU:$C4F3 PRG:44F3 6A + ora (Zp9E),y ; CPU:$C4F4 PRG:44F4 11 9E + and #$C3 ; CPU:$C4F6 PRG:44F6 29 C3 + sta (Zp9E),y ; CPU:$C4F8 PRG:44F8 91 9E + jsr Sub_C54D ; CPU:$C4FA PRG:44FA 20 4D C5 + jsr Sub_C53F ; CPU:$C4FD PRG:44FD 20 3F C5 + clc ; CPU:$C500 PRG:4500 18 + lda Zp9E ; CPU:$C501 PRG:4501 A5 9E + adc #$04 ; CPU:$C503 PRG:4503 69 04 + sta Zp9E ; CPU:$C505 PRG:4505 85 9E + lda Zp9F ; CPU:$C507 PRG:4507 A5 9F + adc #$00 ; CPU:$C509 PRG:4509 69 00 + sta Zp9F ; CPU:$C50B PRG:450B 85 9F + cmp #$03 ; CPU:$C50D PRG:450D C9 03 + bcc NmiHandler_Loop21 ; CPU:$C50F PRG:450F 90 01 + rts ; CPU:$C511 PRG:4511 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop21 +; Global: Branch target inside NmiHandler: taken when Loop21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop21: + dec PlayerX ; CPU:$C512 PRG:4512 C6 87 + bne NmiHandler_OnNonzero12 ; CPU:$C514 PRG:4514 D0 AE + clc ; CPU:$C516 PRG:4516 18 + lda Zp9C ; CPU:$C517 PRG:4517 A5 9C + adc #$04 ; CPU:$C519 PRG:4519 69 04 + sta Zp9C ; CPU:$C51B PRG:451B 85 9C + lda Zp9D ; CPU:$C51D PRG:451D A5 9D + adc #$00 ; CPU:$C51F PRG:451F 69 00 + sta Zp9D ; CPU:$C521 PRG:4521 85 9D + jmp Sub_C45A ; CPU:$C523 PRG:4523 4C 5A C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop22: + jsr Sub_C54D ; CPU:$C526 PRG:4526 20 4D C5 + jsr Sub_C54D ; CPU:$C529 PRG:4529 20 4D C5 + jsr Sub_C53F ; CPU:$C52C PRG:452C 20 3F C5 + jsr Sub_C546 ; CPU:$C52F PRG:452F 20 46 C5 + jsr Sub_C546 ; CPU:$C532 PRG:4532 20 46 C5 + jmp NmiHandler_Loop21 ; CPU:$C535 PRG:4535 4C 12 C5 +; ----------------------------------------------------------------------------- +; Routine: Label_C538 +; Global: Branch target inside Label: taken when C538. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C538: + inc Zp9C ; CPU:$C538 PRG:4538 E6 9C + bne NmiHandler_Loop23 ; CPU:$C53A PRG:453A D0 02 + inc Zp9D ; CPU:$C53C PRG:453C E6 9D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: + rts ; CPU:$C53E PRG:453E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C53F +; Global: Branch target inside Sub: taken when C53F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C53F: + inc ZpA0 ; CPU:$C53F PRG:453F E6 A0 + bne NmiHandler_Loop24 ; CPU:$C541 PRG:4541 D0 02 + inc ZpA1 ; CPU:$C543 PRG:4543 E6 A1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: + rts ; CPU:$C545 PRG:4545 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C546 +; Global: Branch target inside Sub: taken when C546. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C546: + inc ZpA2 ; CPU:$C546 PRG:4546 E6 A2 + bne NmiHandler_Loop25 ; CPU:$C548 PRG:4548 D0 02 + inc ZpA3 ; CPU:$C54A PRG:454A E6 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + rts ; CPU:$C54C PRG:454C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C54D +; Global: Branch target inside Sub: taken when C54D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C54D: + inc VramWritePtrLo ; CPU:$C54D PRG:454D E6 8A + beq NmiHandler_Loop26 ; CPU:$C54F PRG:454F F0 01 + rts ; CPU:$C551 PRG:4551 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop26: + inc VramWritePtrHi ; CPU:$C552 PRG:4552 E6 8B + rts ; CPU:$C554 PRG:4554 60 +; ---- data $C555-$D069 (2837 bytes) ---- + .byte $E6, $88, $F0, $01, $60, $E6, $89, $60, $E6, $86, $F0, $01, $60, $E6, $87, $60 ; CPU:$C555 PRG:4555 E6 88 F0 01 60 E6 89 60 E6 86 F0 01 60 E6 87 60 + .byte $F3, $C6, $FF, $C6, $07, $C7, $0B, $C7, $17, $C7, $1F, $C7, $2F, $C7, $37, $C7 ; CPU:$C565 PRG:4565 F3 C6 FF C6 07 C7 0B C7 17 C7 1F C7 2F C7 37 C7 + .byte $3B, $C7, $41, $C7, $47, $C7, $51, $C7, $59, $C7, $63, $C7, $6D, $C7, $75, $C7 ; CPU:$C575 PRG:4575 3B C7 41 C7 47 C7 51 C7 59 C7 63 C7 6D C7 75 C7 + .byte $7E, $C7, $86, $C7, $90, $C7, $98, $C7, $A2, $C7, $AA, $C7, $B4, $C7, $BC, $C7 ; CPU:$C585 PRG:4585 7E C7 86 C7 90 C7 98 C7 A2 C7 AA C7 B4 C7 BC C7 + .byte $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7, $C6, $C7 ; CPU:$C595 PRG:4595 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 C6 C7 + .byte $C6, $C7, $CE, $C7, $D4, $C7, $DC, $C7, $E4, $C7, $EC, $C7, $F2, $C7, $FA, $C7 ; CPU:$C5A5 PRG:45A5 C6 C7 CE C7 D4 C7 DC C7 E4 C7 EC C7 F2 C7 FA C7 + .byte $02, $C8, $0A, $C8, $12, $C8, $18, $C8, $20, $C8, $28, $C8, $30, $C8, $36, $C8 ; CPU:$C5B5 PRG:45B5 02 C8 0A C8 12 C8 18 C8 20 C8 28 C8 30 C8 36 C8 + .byte $3E, $C8, $46, $C8, $4E, $C8, $54, $C8, $5C, $C8, $64, $C8, $6C, $C8, $72, $C8 ; CPU:$C5C5 PRG:45C5 3E C8 46 C8 4E C8 54 C8 5C C8 64 C8 6C C8 72 C8 + .byte $7A, $C8, $82, $C8, $8A, $C8, $90, $C8, $98, $C8, $A0, $C8, $A8, $C8, $AE, $C8 ; CPU:$C5D5 PRG:45D5 7A C8 82 C8 8A C8 90 C8 98 C8 A0 C8 A8 C8 AE C8 + .byte $B6, $C8, $BE, $C8, $C8, $C8, $D0, $C8, $DA, $C8, $E2, $C8, $EC, $C8, $F4, $C8 ; CPU:$C5E5 PRG:45E5 B6 C8 BE C8 C8 C8 D0 C8 DA C8 E2 C8 EC C8 F4 C8 + .byte $FE, $C8, $06, $C9, $0E, $C9, $14, $C9, $1C, $C9, $24, $C9, $2C, $C9, $32, $C9 ; CPU:$C5F5 PRG:45F5 FE C8 06 C9 0E C9 14 C9 1C C9 24 C9 2C C9 32 C9 + .byte $3A, $C9, $44, $C9, $4E, $C9, $58, $C9, $62, $C9, $6C, $C9, $76, $C9, $80, $C9 ; CPU:$C605 PRG:4605 3A C9 44 C9 4E C9 58 C9 62 C9 6C C9 76 C9 80 C9 + .byte $8A, $C9, $96, $C9, $A2, $C9, $AE, $C9, $BA, $C9, $C6, $C9, $D2, $C9, $DE, $C9 ; CPU:$C615 PRG:4615 8A C9 96 C9 A2 C9 AE C9 BA C9 C6 C9 D2 C9 DE C9 + .byte $EA, $C9, $FC, $C9, $08, $CA, $1E, $CA, $2E, $CA, $44, $CA, $54, $CA, $66, $CA ; CPU:$C625 PRG:4625 EA C9 FC C9 08 CA 1E CA 2E CA 44 CA 54 CA 66 CA + .byte $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA, $72, $CA ; CPU:$C635 PRG:4635 72 CA 72 CA 72 CA 72 CA 72 CA 72 CA 72 CA 72 CA + .byte $72, $CA, $82, $CA, $92, $CA, $B2, $CA, $C2, $CA, $CC, $CA, $CC, $CA, $CC, $CA ; CPU:$C645 PRG:4645 72 CA 82 CA 92 CA B2 CA C2 CA CC CA CC CA CC CA + .byte $CC, $CA, $CC, $CA, $D6, $CA, $DE, $CA, $E6, $CA, $EE, $CA, $F6, $CA, $FE, $CA ; CPU:$C655 PRG:4655 CC CA CC CA D6 CA DE CA E6 CA EE CA F6 CA FE CA + .byte $06, $CB, $10, $CB, $1A, $CB, $24, $CB, $2E, $CB, $38, $CB, $4A, $CB, $5C, $CB ; CPU:$C665 PRG:4665 06 CB 10 CB 1A CB 24 CB 2E CB 38 CB 4A CB 5C CB + .byte $76, $CB, $80, $CB, $92, $CB, $AC, $CB, $C6, $CB, $D4, $CB, $DA, $CB, $DE, $CB ; CPU:$C675 PRG:4675 76 CB 80 CB 92 CB AC CB C6 CB D4 CB DA CB DE CB + .byte $E2, $CB, $EC, $CB, $F6, $CB, $00, $CC, $14, $CC, $28, $CC, $3C, $CC, $50, $CC ; CPU:$C685 PRG:4685 E2 CB EC CB F6 CB 00 CC 14 CC 28 CC 3C CC 50 CC + .byte $5A, $CC, $62, $CC, $68, $CC, $70, $CC, $78, $CC, $80, $CC, $86, $CC, $8E, $CC ; CPU:$C695 PRG:4695 5A CC 62 CC 68 CC 70 CC 78 CC 80 CC 86 CC 8E CC + .byte $96, $CC, $9C, $CC, $A8, $CC, $B4, $CC, $BC, $CC, $C8, $CC, $DE, $CC, $EA, $CC ; CPU:$C6A5 PRG:46A5 96 CC 9C CC A8 CC B4 CC BC CC C8 CC DE CC EA CC + .byte $F2, $CC, $FE, $CC, $0A, $CD, $14, $CD, $20, $CD, $2C, $CD, $3E, $CD, $46, $CD ; CPU:$C6B5 PRG:46B5 F2 CC FE CC 0A CD 14 CD 20 CD 2C CD 3E CD 46 CD + .byte $58, $CD, $5E, $CD, $66, $CD, $6E, $CD, $76, $CD, $7E, $CD, $86, $CD, $8E, $CD ; CPU:$C6C5 PRG:46C5 58 CD 5E CD 66 CD 6E CD 76 CD 7E CD 86 CD 8E CD + .byte $96, $CD, $9E, $CD, $A6, $CD, $AE, $CD, $B6, $CD, $BE, $CD, $C6, $CD, $CE, $CD ; CPU:$C6D5 PRG:46D5 96 CD 9E CD A6 CD AE CD B6 CD BE CD C6 CD CE CD + .byte $D6, $CD, $DE, $CD, $E6, $CD, $EE, $CD, $F6, $CD, $FE, $CD, $06, $CE, $05, $03 ; CPU:$C6E5 PRG:46E5 D6 CD DE CD E6 CD EE CD F6 CD FE CD 06 CE 05 03 + .byte $33, $00, $34, $00, $33, $01, $35, $00, $36, $00, $03, $06, $40, $02, $41, $02 ; CPU:$C6F5 PRG:46F5 33 00 34 00 33 01 35 00 36 00 03 06 40 02 41 02 + .byte $42, $02, $01, $2E, $25, $00, $05, $2E, $0B, $00, $18, $00, $17, $00, $1E, $00 ; CPU:$C705 PRG:4705 42 02 01 2E 25 00 05 2E 0B 00 18 00 17 00 1E 00 + .byte $1C, $00, $03, $2E, $19, $00, $1D, $00, $1C, $00, $07, $2E, $27, $00, $21, $00 ; CPU:$C715 PRG:4715 1C 00 03 2E 19 00 1D 00 1C 00 07 2E 27 00 21 00 + .byte $01, $00, $00, $00, $00, $00, $00, $00, $1A, $00, $03, $2E, $19, $00, $1D, $00 ; CPU:$C725 PRG:4725 01 00 00 00 00 00 00 00 1A 00 03 2E 19 00 1D 00 + .byte $1C, $00, $01, $00, $30, $00, $02, $01, $31, $00, $31, $00, $02, $02, $32, $00 ; CPU:$C735 PRG:4735 1C 00 01 00 30 00 02 01 31 00 31 00 02 02 32 00 + .byte $32, $01, $04, $0D, $31, $00, $31, $00, $31, $00, $31, $00, $03, $0D, $31, $00 ; CPU:$C745 PRG:4745 32 01 04 0D 31 00 31 00 31 00 31 00 03 0D 31 00 + .byte $31, $00, $31, $00, $04, $0D, $31, $00, $31, $00, $FF, $00, $31, $00, $04, $0E ; CPU:$C755 PRG:4755 31 00 31 00 04 0D 31 00 31 00 FF 00 31 00 04 0E + .byte $32, $00, $32, $01, $31, $00, $31, $00, $03, $0E, $32, $00, $32, $01, $31, $00 ; CPU:$C765 PRG:4765 32 00 32 01 31 00 31 00 03 0E 32 00 32 01 31 00 + .byte $04, $0E, $32, $00, $32, $01, $FF, $00, $31, $03, $06, $40, $02, $41, $02, $42 ; CPU:$C775 PRG:4775 04 0E 32 00 32 01 FF 00 31 03 06 40 02 41 02 42 + .byte $02, $04, $0C, $5C, $00, $5D, $00, $5E, $00, $5F, $00, $03, $07, $59, $01, $5A ; CPU:$C785 PRG:4785 02 04 0C 5C 00 5D 00 5E 00 5F 00 03 07 59 01 5A + .byte $01, $5B, $01, $04, $0C, $5E, $02, $5F, $02, $5C, $02, $5D, $02, $03, $0A, $40 ; CPU:$C795 PRG:4795 01 5B 01 04 0C 5E 02 5F 02 5C 02 5D 02 03 0A 40 + .byte $00, $41, $00, $42, $00, $04, $0C, $5F, $03, $5E, $03, $5D, $03, $5C, $03, $03 ; CPU:$C7A5 PRG:47A5 00 41 00 42 00 04 0C 5F 03 5E 03 5D 03 5C 03 03 + .byte $09, $59, $00, $5A, $00, $5B, $00, $04, $0C, $5D, $01, $5C, $01, $5F, $01, $5E ; CPU:$C7B5 PRG:47B5 09 59 00 5A 00 5B 00 04 0C 5D 01 5C 01 5F 01 5E + .byte $01, $03, $04, $43, $00, $43, $01, $44, $00, $02, $05, $45, $00, $45, $01, $03 ; CPU:$C7C5 PRG:47C5 01 03 04 43 00 43 01 44 00 02 05 45 00 45 01 03 + .byte $06, $46, $00, $46, $01, $47, $00, $03, $06, $48, $00, $48, $01, $49, $00, $03 ; CPU:$C7D5 PRG:47D5 06 46 00 46 01 47 00 03 06 48 00 48 01 49 00 03 + .byte $06, $46, $00, $46, $01, $47, $00, $02, $05, $45, $00, $45, $01, $03, $04, $43 ; CPU:$C7E5 PRG:47E5 06 46 00 46 01 47 00 02 05 45 00 45 01 03 04 43 + .byte $00, $43, $01, $44, $00, $03, $0A, $40, $00, $41, $00, $42, $00, $03, $0A, $40 ; CPU:$C7F5 PRG:47F5 00 43 01 44 00 03 0A 40 00 41 00 42 00 03 0A 40 + .byte $00, $41, $00, $42, $00, $03, $0A, $4A, $00, $4B, $00, $4C, $00, $02, $0B, $4E ; CPU:$C805 PRG:4805 00 41 00 42 00 03 0A 4A 00 4B 00 4C 00 02 0B 4E + .byte $00, $4D, $00, $03, $0A, $4F, $00, $50, $00, $51, $00, $03, $0A, $40, $00, $41 ; CPU:$C815 PRG:4815 00 4D 00 03 0A 4F 00 50 00 51 00 03 0A 40 00 41 + .byte $00, $42, $00, $03, $0A, $4B, $01, $4A, $01, $4C, $01, $02, $0B, $4E, $01, $4D ; CPU:$C825 PRG:4825 00 42 00 03 0A 4B 01 4A 01 4C 01 02 0B 4E 01 4D + .byte $01, $03, $0A, $50, $01, $4F, $01, $51, $01, $03, $09, $5A, $00, $5B, $00, $5B ; CPU:$C835 PRG:4835 01 03 0A 50 01 4F 01 51 01 03 09 5A 00 5B 00 5B + .byte $00, $03, $18, $60, $00, $61, $00, $62, $00, $02, $01, $63, $00, $64, $00, $03 ; CPU:$C845 PRG:4845 00 03 18 60 00 61 00 62 00 02 01 63 00 64 00 03 + .byte $18, $65, $00, $66, $00, $67, $00, $03, $09, $57, $00, $57, $02, $58, $00, $03 ; CPU:$C855 PRG:4855 18 65 00 66 00 67 00 03 09 57 00 57 02 58 00 03 + .byte $18, $66, $02, $65, $02, $67, $02, $02, $01, $63, $02, $64, $02, $03, $18, $61 ; CPU:$C865 PRG:4865 18 66 02 65 02 67 02 02 01 63 02 64 02 03 18 61 + .byte $02, $60, $02, $62, $02, $03, $07, $59, $01, $5A, $01, $5B, $01, $03, $17, $60 ; CPU:$C875 PRG:4875 02 60 02 62 02 03 07 59 01 5A 01 5B 01 03 17 60 + .byte $01, $61, $01, $62, $01, $02, $01, $64, $01, $63, $01, $03, $17, $65, $01, $66 ; CPU:$C885 PRG:4885 01 61 01 62 01 02 01 64 01 63 01 03 17 65 01 66 + .byte $01, $67, $01, $03, $07, $57, $01, $57, $03, $58, $01, $03, $17, $66, $03, $65 ; CPU:$C895 PRG:4895 01 67 01 03 07 57 01 57 03 58 01 03 17 66 03 65 + .byte $03, $67, $03, $02, $01, $64, $03, $63, $03, $03, $17, $61, $03, $60, $03, $62 ; CPU:$C8A5 PRG:48A5 03 67 03 02 01 64 03 63 03 03 17 61 03 60 03 62 + .byte $03, $03, $0A, $71, $00, $72, $00, $70, $00, $04, $0C, $73, $00, $74, $00, $75 ; CPU:$C8B5 PRG:48B5 03 03 0A 71 00 72 00 70 00 04 0C 73 00 74 00 75 + .byte $00, $76, $00, $03, $18, $78, $00, $79, $00, $77, $00, $04, $0C, $75, $02, $76 ; CPU:$C8C5 PRG:48C5 00 76 00 03 18 78 00 79 00 77 00 04 0C 75 02 76 + .byte $02, $73, $02, $74, $02, $03, $19, $71, $02, $72, $02, $70, $02, $04, $0C, $76 ; CPU:$C8D5 PRG:48D5 02 73 02 74 02 03 19 71 02 72 02 70 02 04 0C 76 + .byte $03, $75, $03, $74, $03, $73, $03, $03, $17, $79, $01, $78, $01, $77, $01, $04 ; CPU:$C8E5 PRG:48E5 03 75 03 74 03 73 03 03 17 79 01 78 01 77 01 04 + .byte $0C, $74, $01, $73, $01, $76, $01, $75, $01, $03, $19, $71, $02, $72, $02, $70 ; CPU:$C8F5 PRG:48F5 0C 74 01 73 01 76 01 75 01 03 19 71 02 72 02 70 + .byte $02, $03, $19, $7B, $00, $7C, $00, $7A, $00, $02, $0B, $7E, $00, $7D, $00, $03 ; CPU:$C905 PRG:4905 02 03 19 7B 00 7C 00 7A 00 02 0B 7E 00 7D 00 03 + .byte $19, $80, $00, $81, $00, $7F, $00, $03, $19, $83, $00, $84, $00, $82, $00, $03 ; CPU:$C915 PRG:4915 19 80 00 81 00 7F 00 03 19 83 00 84 00 82 00 03 + .byte $19, $81, $01, $80, $01, $7F, $01, $02, $0B, $7E, $01, $7D, $01, $03, $19, $7C ; CPU:$C925 PRG:4925 19 81 01 80 01 7F 01 02 0B 7E 01 7D 01 03 19 7C + .byte $01, $7B, $01, $7A, $01, $04, $0C, $85, $00, $86, $00, $87, $00, $88, $00, $04 ; CPU:$C935 PRG:4935 01 7B 01 7A 01 04 0C 85 00 86 00 87 00 88 00 04 + .byte $0C, $89, $00, $8A, $00, $8B, $00, $8C, $00, $04, $0C, $8D, $00, $8E, $00, $8F ; CPU:$C945 PRG:4945 0C 89 00 8A 00 8B 00 8C 00 04 0C 8D 00 8E 00 8F + .byte $00, $AF, $00, $04, $0C, $8B, $02, $8C, $02, $89, $02, $8A, $02, $04, $0C, $87 ; CPU:$C955 PRG:4955 00 AF 00 04 0C 8B 02 8C 02 89 02 8A 02 04 0C 87 + .byte $02, $88, $02, $85, $02, $86, $02, $04, $0C, $8C, $03, $8B, $03, $8A, $03, $89 ; CPU:$C965 PRG:4965 02 88 02 85 02 86 02 04 0C 8C 03 8B 03 8A 03 89 + .byte $03, $04, $0C, $8E, $01, $8D, $01, $AF, $01, $8F, $01, $04, $0C, $8A, $01, $89 ; CPU:$C975 PRG:4975 03 04 0C 8E 01 8D 01 AF 01 8F 01 04 0C 8A 01 89 + .byte $01, $8C, $01, $8B, $01, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36 ; CPU:$C985 PRG:4985 01 8C 01 8B 01 05 03 33 00 34 00 33 01 35 00 36 + .byte $00, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33 ; CPU:$C995 PRG:4995 00 05 03 33 00 34 00 33 01 35 00 36 00 05 03 33 + .byte $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33 ; CPU:$C9A5 PRG:49A5 00 34 00 33 01 35 00 36 00 05 03 33 00 34 00 33 + .byte $01, $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36 ; CPU:$C9B5 PRG:49B5 01 35 00 36 00 05 03 33 00 34 00 33 01 35 00 36 + .byte $00, $05, $03, $33, $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33 ; CPU:$C9C5 PRG:49C5 00 05 03 33 00 34 00 33 01 35 00 36 00 05 03 33 + .byte $00, $34, $00, $33, $01, $35, $00, $36, $00, $05, $03, $33, $00, $34, $00, $33 ; CPU:$C9D5 PRG:49D5 00 34 00 33 01 35 00 36 00 05 03 33 00 34 00 33 + .byte $01, $35, $00, $36, $00, $08, $13, $90, $00, $91, $00, $92, $00, $93, $00, $94 ; CPU:$C9E5 PRG:49E5 01 35 00 36 00 08 13 90 00 91 00 92 00 93 00 94 + .byte $00, $95, $00, $96, $00, $96, $01, $05, $15, $A0, $00, $A1, $00, $A2, $00, $9E ; CPU:$C9F5 PRG:49F5 00 95 00 96 00 96 01 05 15 A0 00 A1 00 A2 00 9E + .byte $00, $9F, $00, $0A, $14, $9B, $00, $9C, $00, $99, $00, $9A, $00, $97, $00, $98 ; CPU:$CA05 PRG:4A05 00 9F 00 0A 14 9B 00 9C 00 99 00 9A 00 97 00 98 + .byte $00, $FF, $00, $FF, $00, $9D, $00, $9D, $02, $07, $16, $A2, $02, $A1, $02, $A0 ; CPU:$CA15 PRG:4A15 00 FF 00 FF 00 9D 00 9D 02 07 16 A2 02 A1 02 A0 + .byte $02, $FF, $00, $FF, $00, $9F, $02, $9E, $02, $0A, $13, $94, $02, $95, $02, $92 ; CPU:$CA25 PRG:4A25 02 FF 00 FF 00 9F 02 9E 02 0A 13 94 02 95 02 92 + .byte $02, $93, $02, $90, $02, $91, $02, $FF, $00, $FF, $00, $96, $02, $96, $03, $07 ; CPU:$CA35 PRG:4A35 02 93 02 90 02 91 02 FF 00 FF 00 96 02 96 03 07 + .byte $15, $A2, $03, $A1, $03, $A0, $03, $FF, $00, $FF, $00, $9F, $03, $9E, $03, $08 ; CPU:$CA45 PRG:4A45 15 A2 03 A1 03 A0 03 FF 00 FF 00 9F 03 9E 03 08 + .byte $14, $97, $01, $98, $01, $99, $01, $9A, $01, $9B, $01, $9C, $01, $9D, $01, $9D ; CPU:$CA55 PRG:4A55 14 97 01 98 01 99 01 9A 01 9B 01 9C 01 9D 01 9D + .byte $03, $05, $16, $A0, $01, $A1, $01, $A2, $01, $9E, $01, $9F, $01, $07, $11, $B0 ; CPU:$CA65 PRG:4A65 03 05 16 A0 01 A1 01 A2 01 9E 01 9F 01 07 11 B0 + .byte $00, $B1, $00, $B2, $00, $B3, $00, $B2, $01, $B4, $00, $B5, $00, $07, $12, $B6 ; CPU:$CA75 PRG:4A75 00 B1 00 B2 00 B3 00 B2 01 B4 00 B5 00 07 12 B6 + .byte $00, $B7, $00, $B8, $00, $B9, $00, $B8, $01, $BA, $00, $BB, $00, $0F, $1F, $C0 ; CPU:$CA85 PRG:4A85 00 B7 00 B8 00 B9 00 B8 01 BA 00 BB 00 0F 1F C0 + .byte $00, $C1, $00, $C2, $00, $C3, $00, $B0, $00, $C4, $00, $C5, $00, $C6, $00, $C7 ; CPU:$CA95 PRG:4A95 00 C1 00 C2 00 C3 00 B0 00 C4 00 C5 00 C6 00 C7 + .byte $00, $C8, $00, $C9, $00, $C7, $01, $C8, $01, $CA, $00, $C6, $00, $07, $20, $CB ; CPU:$CAA5 PRG:4AA5 00 C8 00 C9 00 C7 01 C8 01 CA 00 C6 00 07 20 CB + .byte $00, $CC, $00, $CD, $00, $CE, $00, $CF, $00, $BC, $00, $B0, $01, $04, $1A, $BD ; CPU:$CAB5 PRG:4AB5 00 CC 00 CD 00 CE 00 CF 00 BC 00 B0 01 04 1A BD + .byte $00, $BE, $00, $BD, $01, $BF, $00, $04, $0C, $28, $00, $29, $00, $2A, $00, $2B ; CPU:$CAC5 PRG:4AC5 00 BE 00 BD 01 BF 00 04 0C 28 00 29 00 2A 00 2B + .byte $00, $03, $2B, $2C, $00, $2D, $00, $2E, $00, $03, $2B, $2F, $00, $6F, $00, $EF ; CPU:$CAD5 PRG:4AD5 00 03 2B 2C 00 2D 00 2E 00 03 2B 2F 00 6F 00 EF + .byte $00, $03, $2B, $6C, $00, $6D, $00, $6E, $00, $03, $2B, $6C, $00, $6D, $00, $6E ; CPU:$CAE5 PRG:4AE5 00 03 2B 6C 00 6D 00 6E 00 03 2B 6C 00 6D 00 6E + .byte $00, $03, $2B, $2F, $00, $6F, $00, $EF, $00, $03, $2B, $2C, $00, $2D, $00, $2E ; CPU:$CAF5 PRG:4AF5 00 03 2B 2F 00 6F 00 EF 00 03 2B 2C 00 2D 00 2E + .byte $00, $04, $0C, $E0, $00, $E1, $00, $E0, $02, $E1, $02, $04, $0C, $E2, $00, $E3 ; CPU:$CB05 PRG:4B05 00 04 0C E0 00 E1 00 E0 02 E1 02 04 0C E2 00 E3 + .byte $00, $E3, $03, $E2, $03, $04, $0C, $E4, $00, $E5, $00, $E5, $03, $E4, $03, $04 ; CPU:$CB15 PRG:4B15 00 E3 03 E2 03 04 0C E4 00 E5 00 E5 03 E4 03 04 + .byte $0C, $E6, $00, $E7, $00, $E7, $03, $E6, $03, $04, $27, $E8, $00, $E8, $01, $E8 ; CPU:$CB25 PRG:4B25 0C E6 00 E7 00 E7 03 E6 03 04 27 E8 00 E8 01 E8 + .byte $02, $E8, $03, $08, $2A, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $E9, $00, $E9 ; CPU:$CB35 PRG:4B35 02 E8 03 08 2A E8 00 E8 01 E8 02 E8 03 E9 00 E9 + .byte $01, $E9, $02, $E9, $03, $08, $2A, $EA, $00, $EA, $01, $EA, $02, $EA, $03, $E8 ; CPU:$CB45 PRG:4B45 01 E9 02 E9 03 08 2A EA 00 EA 01 EA 02 EA 03 E8 + .byte $00, $E8, $01, $E8, $02, $E8, $03, $0C, $27, $E9, $00, $E9, $01, $E9, $02, $E9 ; CPU:$CB55 PRG:4B55 00 E8 01 E8 02 E8 03 0C 27 E9 00 E9 01 E9 02 E9 + .byte $03, $EB, $00, $EB, $01, $EB, $02, $EB, $03, $EA, $00, $EA, $01, $EA, $02, $EA ; CPU:$CB65 PRG:4B65 03 EB 00 EB 01 EB 02 EB 03 EA 00 EA 01 EA 02 EA + .byte $03, $04, $27, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $08, $2A, $E9, $00, $E9 ; CPU:$CB75 PRG:4B75 03 04 27 E8 00 E8 01 E8 02 E8 03 08 2A E9 00 E9 + .byte $01, $E9, $02, $E9, $03, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $0C, $27, $EA ; CPU:$CB85 PRG:4B85 01 E9 02 E9 03 E8 00 E8 01 E8 02 E8 03 0C 27 EA + .byte $00, $EA, $01, $EA, $02, $EA, $03, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $E9 ; CPU:$CB95 PRG:4B95 00 EA 01 EA 02 EA 03 E8 00 E8 01 E8 02 E8 03 E9 + .byte $00, $E9, $01, $E9, $02, $E9, $03, $0C, $27, $EB, $00, $EB, $01, $EB, $02, $EB ; CPU:$CBA5 PRG:4BA5 00 E9 01 E9 02 E9 03 0C 27 EB 00 EB 01 EB 02 EB + .byte $03, $E9, $00, $E9, $01, $E9, $02, $E9, $03, $EA, $00, $EA, $01, $EA, $02, $EA ; CPU:$CBB5 PRG:4BB5 03 E9 00 E9 01 E9 02 E9 03 EA 00 EA 01 EA 02 EA + .byte $03, $06, $29, $ED, $00, $E8, $00, $E8, $01, $E8, $02, $E8, $03, $EC, $00, $02 ; CPU:$CBC5 PRG:4BC5 03 06 29 ED 00 E8 00 E8 01 E8 02 E8 03 EC 00 02 + .byte $28, $EC, $00, $ED, $00, $01, $00, $FF, $00, $01, $00, $FF, $00, $04, $0C, $DE ; CPU:$CBD5 PRG:4BD5 28 EC 00 ED 00 01 00 FF 00 01 00 FF 00 04 0C DE + .byte $00, $DF, $00, $DF, $03, $DE, $03, $04, $0F, $D0, $00, $D0, $01, $D1, $00, $D1 ; CPU:$CBE5 PRG:4BE5 00 DF 00 DF 03 DE 03 04 0F D0 00 D0 01 D1 00 D1 + .byte $01, $04, $0C, $D2, $00, $D3, $03, $D3, $00, $D2, $03, $09, $10, $D4, $00, $D5 ; CPU:$CBF5 PRG:4BF5 01 04 0C D2 00 D3 03 D3 00 D2 03 09 10 D4 00 D5 + .byte $00, $D4, $01, $D6, $00, $D7, $00, $D6, $01, $D8, $00, $D5, $02, $D8, $01, $09 ; CPU:$CC05 PRG:4C05 00 D4 01 D6 00 D7 00 D6 01 D8 00 D5 02 D8 01 09 + .byte $10, $D9, $00, $DA, $00, $D9, $01, $DB, $00, $DC, $00, $DB, $01, $DD, $00, $DA ; CPU:$CC15 PRG:4C15 10 D9 00 DA 00 D9 01 DB 00 DC 00 DB 01 DD 00 DA + .byte $02, $DD, $01, $09, $10, $D4, $00, $D5, $00, $D4, $01, $D6, $00, $D7, $00, $D6 ; CPU:$CC25 PRG:4C25 02 DD 01 09 10 D4 00 D5 00 D4 01 D6 00 D7 00 D6 + .byte $01, $D8, $00, $D5, $02, $D8, $01, $09, $10, $D9, $00, $DA, $00, $D9, $01, $DB ; CPU:$CC35 PRG:4C35 01 D8 00 D5 02 D8 01 09 10 D9 00 DA 00 D9 01 DB + .byte $00, $DC, $00, $DB, $01, $DD, $00, $DA, $02, $DD, $01, $04, $0C, $DE, $00, $DF ; CPU:$CC45 PRG:4C45 00 DC 00 DB 01 DD 00 DA 02 DD 01 04 0C DE 00 DF + .byte $00, $DF, $03, $DE, $03, $03, $07, $52, $00, $52, $02, $53, $00, $02, $08, $54 ; CPU:$CC55 PRG:4C55 00 DF 03 DE 03 03 07 52 00 52 02 53 00 02 08 54 + .byte $00, $54, $02, $03, $09, $55, $00, $55, $02, $56, $00, $03, $09, $57, $00, $57 ; CPU:$CC65 PRG:4C65 00 54 02 03 09 55 00 55 02 56 00 03 09 57 00 57 + .byte $02, $58, $00, $03, $09, $55, $00, $55, $02, $56, $00, $02, $08, $54, $00, $54 ; CPU:$CC75 PRG:4C75 02 58 00 03 09 55 00 55 02 56 00 02 08 54 00 54 + .byte $02, $03, $07, $52, $00, $52, $02, $53, $00, $03, $09, $59, $00, $5A, $00, $5B ; CPU:$CC85 PRG:4C85 02 03 07 52 00 52 02 53 00 03 09 59 00 5A 00 5B + .byte $00, $02, $05, $FE, $00, $FE, $01, $05, $03, $33, $00, $34, $00, $33, $01, $35 ; CPU:$CC95 PRG:4C95 00 02 05 FE 00 FE 01 05 03 33 00 34 00 33 01 35 + .byte $00, $36, $00, $05, $1A, $37, $00, $38, $00, $37, $01, $39, $00, $B0, $00, $03 ; CPU:$CCA5 PRG:4CA5 00 36 00 05 1A 37 00 38 00 37 01 39 00 B0 00 03 + .byte $22, $3A, $00, $3B, $00, $3A, $01, $05, $1B, $B0, $00, $3C, $00, $3D, $00, $3E ; CPU:$CCB5 PRG:4CB5 22 3A 00 3B 00 3A 01 05 1B B0 00 3C 00 3D 00 3E + .byte $00, $3D, $01, $0A, $1C, $3F, $00, $F0, $00, $F1, $00, $F2, $00, $F3, $00, $F4 ; CPU:$CCC5 PRG:4CC5 00 3D 01 0A 1C 3F 00 F0 00 F1 00 F2 00 F3 00 F4 + .byte $00, $F5, $00, $B0, $00, $B0, $00, $B0, $00, $05, $1D, $F6, $00, $F6, $01, $F7 ; CPU:$CCD5 PRG:4CD5 00 F5 00 B0 00 B0 00 B0 00 05 1D F6 00 F6 01 F7 + .byte $00, $F8, $00, $F7, $01, $03, $22, $F9, $00, $FA, $00, $F9, $01, $05, $1E, $FB ; CPU:$CCE5 PRG:4CE5 00 F8 00 F7 01 03 22 F9 00 FA 00 F9 01 05 1E FB + .byte $00, $FC, $00, $FB, $01, $FD, $00, $FD, $01, $05, $03, $33, $00, $34, $00, $33 ; CPU:$CCF5 PRG:4CF5 00 FC 00 FB 01 FD 00 FD 01 05 03 33 00 34 00 33 + .byte $01, $35, $00, $36, $00, $04, $2E, $15, $00, $0A, $00, $1C, $00, $1D, $00, $05 ; CPU:$CD05 PRG:4D05 01 35 00 36 00 04 2E 15 00 0A 00 1C 00 1D 00 05 + .byte $2E, $1C, $00, $1D, $00, $0A, $00, $10, $00, $0E, $00, $05, $2E, $1B, $00, $0E ; CPU:$CD15 PRG:4D15 2E 1C 00 1D 00 0A 00 10 00 0E 00 05 2E 1B 00 0E + .byte $00, $0A, $00, $0D, $00, $22, $00, $08, $2E, $19, $00, $15, $00, $0A, $00, $22 ; CPU:$CD25 PRG:4D25 00 0A 00 0D 00 22 00 08 2E 19 00 15 00 0A 00 22 + .byte $00, $0E, $00, $1B, $00, $FF, $00, $01, $00, $03, $2E, $FE, $00, $FE, $01, $1A ; CPU:$CD35 PRG:4D35 00 0E 00 1B 00 FF 00 01 00 03 2E FE 00 FE 01 1A + .byte $00, $08, $2E, $19, $00, $15, $00, $0A, $00, $22, $00, $0E, $00, $1B, $00, $FF ; CPU:$CD45 PRG:4D45 00 08 2E 19 00 15 00 0A 00 22 00 0E 00 1B 00 FF + .byte $00, $02, $00, $02, $2D, $A5, $00, $AC, $00, $03, $2D, $AA, $00, $AC, $00, $AE ; CPU:$CD55 PRG:4D55 00 02 00 02 2D A5 00 AC 00 03 2D AA 00 AC 00 AE + .byte $00, $03, $2D, $AA, $00, $AD, $00, $AE, $00, $03, $2D, $AB, $00, $AC, $00, $AE ; CPU:$CD65 PRG:4D65 00 03 2D AA 00 AD 00 AE 00 03 2D AB 00 AC 00 AE + .byte $00, $03, $2D, $AB, $00, $AD, $00, $AE, $00, $03, $2D, $A3, $00, $AC, $00, $AE ; CPU:$CD75 PRG:4D75 00 03 2D AB 00 AD 00 AE 00 03 2D A3 00 AC 00 AE + .byte $00, $03, $2D, $A3, $00, $AD, $00, $AE, $00, $03, $2D, $A4, $00, $AC, $00, $AE ; CPU:$CD85 PRG:4D85 00 03 2D A3 00 AD 00 AE 00 03 2D A4 00 AC 00 AE + .byte $00, $03, $2D, $A4, $00, $AD, $00, $AE, $00, $03, $2D, $A5, $00, $AC, $00, $AE ; CPU:$CD95 PRG:4D95 00 03 2D A4 00 AD 00 AE 00 03 2D A5 00 AC 00 AE + .byte $00, $03, $2D, $A5, $00, $AD, $00, $AE, $00, $03, $2D, $A6, $00, $AC, $00, $AE ; CPU:$CDA5 PRG:4DA5 00 03 2D A5 00 AD 00 AE 00 03 2D A6 00 AC 00 AE + .byte $00, $03, $2D, $A6, $00, $AD, $00, $AE, $00, $03, $2D, $A7, $00, $AC, $00, $AE ; CPU:$CDB5 PRG:4DB5 00 03 2D A6 00 AD 00 AE 00 03 2D A7 00 AC 00 AE + .byte $00, $03, $2D, $A7, $00, $AD, $00, $AE, $00, $03, $2D, $A8, $00, $AC, $00, $AE ; CPU:$CDC5 PRG:4DC5 00 03 2D A7 00 AD 00 AE 00 03 2D A8 00 AC 00 AE + .byte $00, $03, $2D, $A8, $00, $AD, $00, $AE, $00, $03, $2D, $A9, $00, $AC, $00, $AE ; CPU:$CDD5 PRG:4DD5 00 03 2D A8 00 AD 00 AE 00 03 2D A9 00 AC 00 AE + .byte $00, $03, $2D, $AA, $00, $AC, $00, $AC, $00, $03, $2D, $AB, $00, $AC, $00, $AC ; CPU:$CDE5 PRG:4DE5 00 03 2D AA 00 AC 00 AC 00 03 2D AB 00 AC 00 AC + .byte $00, $03, $2D, $A3, $00, $AC, $00, $AC, $00, $03, $2D, $A4, $00, $AC, $00, $AC ; CPU:$CDF5 PRG:4DF5 00 03 2D A3 00 AC 00 AC 00 03 2D A4 00 AC 00 AC + .byte $00, $03, $2D, $A5, $00, $AC, $00, $AC, $00, $6C, $CE, $6E, $CE, $72, $CE, $76 ; CPU:$CE05 PRG:4E05 00 03 2D A5 00 AC 00 AC 00 6C CE 6E CE 72 CE 76 + .byte $CE, $80, $CE, $86, $CE, $8A, $CE, $90, $CE, $96, $CE, $9A, $CE, $A0, $CE, $A6 ; CPU:$CE15 PRG:4E15 CE 80 CE 86 CE 8A CE 90 CE 96 CE 9A CE A0 CE A6 + .byte $CE, $AA, $CE, $B2, $CE, $BA, $CE, $C2, $CE, $CA, $CE, $DC, $CE, $EA, $CE, $F8 ; CPU:$CE25 PRG:4E25 CE AA CE B2 CE BA CE C2 CE CA CE DC CE EA CE F8 + .byte $CE, $0C, $CF, $20, $CF, $2E, $CF, $3C, $CF, $42, $CF, $48, $CF, $4E, $CF, $58 ; CPU:$CE35 PRG:4E35 CE 0C CF 20 CF 2E CF 3C CF 42 CF 48 CF 4E CF 58 + .byte $CF, $62, $CF, $76, $CF, $80, $CF, $8A, $CF, $A8, $CF, $B6, $CF, $B6, $CF, $BC ; CPU:$CE45 PRG:4E45 CF 62 CF 76 CF 80 CF 8A CF A8 CF B6 CF B6 CF BC + .byte $CF, $BC, $CF, $BC, $CF, $BC, $CF, $BC, $CF, $D4, $CF, $D8, $CF, $E4, $CF, $F4 ; CPU:$CE55 PRG:4E55 CF BC CF BC CF BC CF BC CF D4 CF D8 CF E4 CF F4 + .byte $CF, $FA, $CF, $FA, $CF, $00, $D0, $FC, $04, $F8, $04, $00, $04, $F8, $04, $01 ; CPU:$CE65 PRG:4E65 CF FA CF FA CF 00 D0 FC 04 F8 04 00 04 F8 04 01 + .byte $04, $F4, $00, $FC, $00, $03, $00, $F8, $08, $00, $08, $F8, $08, $FF, $08, $FC ; CPU:$CE75 PRG:4E75 04 F4 00 FC 00 03 00 F8 08 00 08 F8 08 FF 08 FC + .byte $00, $F8, $04, $FF, $04, $F8, $00, $FF, $00, $FC, $08, $00, $01, $00, $08, $F8 ; CPU:$CE85 PRG:4E85 00 F8 04 FF 04 F8 00 FF 00 FC 08 00 01 00 08 F8 + .byte $04, $FC, $01, $FC, $08, $F8, $01, $F8, $08, $00, $04, $F8, $08, $00, $08, $FC ; CPU:$CE95 PRG:4E95 04 FC 01 FC 08 F8 01 F8 08 00 04 F8 08 00 08 FC + .byte $00, $FC, $00, $FC, $08, $F8, $00, $00, $00, $F8, $08, $00, $08, $F8, $04, $00 ; CPU:$CEA5 PRG:4EA5 00 FC 00 FC 08 F8 00 00 00 F8 08 00 08 F8 04 00 + .byte $04, $E8, $04, $10, $04, $F8, $04, $01, $04, $E8, $04, $10, $04, $F8, $00, $FF ; CPU:$CEB5 PRG:4EB5 04 E8 04 10 04 F8 04 01 04 E8 04 10 04 F8 00 FF + .byte $00, $F8, $08, $FF, $08, $F4, $FC, $FC, $FC, $04, $FC, $F4, $04, $FC, $04, $04 ; CPU:$CEC5 PRG:4EC5 00 F8 08 FF 08 F4 FC FC FC 04 FC F4 04 FC 04 04 + .byte $04, $F4, $0C, $FC, $0C, $04, $0C, $F4, $FC, $FC, $FC, $F4, $04, $FC, $04, $03 ; CPU:$CED5 PRG:4ED5 04 F4 0C FC 0C 04 0C F4 FC FC FC F4 04 FC 04 03 + .byte $04, $F4, $0C, $FC, $0C, $F8, $FC, $00, $FC, $F4, $04, $FC, $04, $03, $04, $F8 ; CPU:$CEE5 PRG:4EE5 04 F4 0C FC 0C F8 FC 00 FC F4 04 FC 04 03 04 F8 + .byte $0C, $00, $0C, $F8, $FC, $00, $FC, $F8, $04, $00, $04, $F8, $0C, $00, $0C, $F0 ; CPU:$CEF5 PRG:4EF5 0C 00 0C F8 FC 00 FC F8 04 00 04 F8 0C 00 0C F0 + .byte $00, $07, $00, $F0, $08, $07, $08, $F4, $00, $F4, $08, $FC, $00, $FC, $08, $04 ; CPU:$CF05 PRG:4F05 00 07 00 F0 08 07 08 F4 00 F4 08 FC 00 FC 08 04 + .byte $00, $04, $08, $F8, $F8, $F8, $0F, $00, $F8, $00, $0F, $02, $FE, $FC, $04, $F6 ; CPU:$CF15 PRG:4F15 00 04 08 F8 F8 F8 0F 00 F8 00 0F 02 FE FC 04 F6 + .byte $0A, $FA, $FC, $04, $06, $F4, $02, $FE, $0C, $F6, $FE, $FC, $04, $02, $0A, $FE ; CPU:$CF25 PRG:4F25 0A FA FC 04 06 F4 02 FE 0C F6 FE FC 04 02 0A FE + .byte $FC, $F4, $06, $04, $02, $FA, $0C, $00, $08, $00, $00, $F8, $04, $F8, $00, $F8 ; CPU:$CF35 PRG:4F35 FC F4 06 04 02 FA 0C 00 08 00 00 F8 04 F8 00 F8 + .byte $08, $00, $04, $F8, $00, $00, $00, $FC, $08, $F4, $02, $FC, $02, $03, $02, $FC ; CPU:$CF45 PRG:4F45 08 00 04 F8 00 00 00 FC 08 F4 02 FC 02 03 02 FC + .byte $0A, $F4, $0A, $F4, $01, $FC, $FE, $F4, $06, $FC, $06, $03, $06, $F8, $FC, $00 ; CPU:$CF55 PRG:4F55 0A F4 0A F4 01 FC FE F4 06 FC 06 03 06 F8 FC 00 + .byte $FC, $F8, $04, $00, $04, $F4, $0C, $FC, $0C, $04, $0C, $F0, $01, $F0, $0A, $EC ; CPU:$CF65 PRG:4F65 FC F8 04 00 04 F4 0C FC 0C 04 0C F0 01 F0 0A EC + .byte $0C, $F8, $FE, $FF, $FE, $F4, $06, $FC, $06, $03, $06, $F4, $02, $FC, $02, $03 ; CPU:$CF75 PRG:4F75 0C F8 FE FF FE F4 06 FC 06 03 06 F4 02 FC 02 03 + .byte $02, $F8, $0A, $FF, $0A, $FC, $F4, $FC, $FC, $FC, $04, $FC, $0C, $F0, $16, $F8 ; CPU:$CF85 PRG:4F85 02 F8 0A FF 0A FC F4 FC FC FC 04 FC 0C F0 16 F8 + .byte $14, $00, $14, $F4, $FA, $E4, $00, $EC, $00, $F4, $02, $13, $00, $0B, $00, $03 ; CPU:$CF95 PRG:4F95 14 00 14 F4 FA E4 00 EC 00 F4 02 13 00 0B 00 03 + .byte $02, $04, $FA, $FC, $FC, $FC, $04, $FC, $0C, $EC, $00, $F4, $00, $04, $00, $0C ; CPU:$CFA5 PRG:4FA5 02 04 FA FC FC FC 04 FC 0C EC 00 F4 00 04 00 0C + .byte $04, $F4, $04, $FC, $04, $03, $04, $F6, $F8, $FE, $F8, $F6, $00, $FE, $00, $FD ; CPU:$CFB5 PRG:4FB5 04 F4 04 FC 04 03 04 F6 F8 FE F8 F6 00 FE 00 FD + .byte $FF, $05, $FF, $FD, $07, $05, $07, $F3, $05, $FB, $05, $F3, $0D, $FB, $0D, $01 ; CPU:$CFC5 PRG:4FC5 FF 05 FF FD 07 05 07 F3 05 FB 05 F3 0D FB 0D 01 + .byte $03, $F7, $09, $FA, $FC, $FD, $FF, $05, $FF, $FD, $07, $05, $07, $F7, $09, $FD ; CPU:$CFD5 PRG:4FD5 03 F7 09 FA FC FD FF 05 FF FD 07 05 07 F7 09 FD + .byte $FF, $05, $FF, $FD, $07, $05, $07, $F3, $05, $FB, $05, $F3, $0D, $FB, $0D, $FA ; CPU:$CFE5 PRG:4FE5 FF 05 FF FD 07 05 07 F3 05 FB 05 F3 0D FB 0D FA + .byte $FC, $FA, $04, $02, $04, $F4, $04, $FC, $04, $04, $04, $00, $00, $08, $00, $10 ; CPU:$CFF5 PRG:4FF5 FC FA 04 02 04 F4 04 FC 04 04 04 00 00 08 00 10 + .byte $00, $18, $00, $20, $00, $28, $00, $30, $00, $38, $00, $1A, $D0, $2A, $D0, $3A ; CPU:$D005 PRG:5005 00 18 00 20 00 28 00 30 00 38 00 1A D0 2A D0 3A + .byte $D0, $4A, $D0, $5A, $D0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$D015 PRG:5015 D0 4A D0 5A D0 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$D025 PRG:5025 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$D035 PRG:5035 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$D045 PRG:5045 02 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$D055 PRG:5055 03 03 03 03 03 01 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02 ; CPU:$D065 PRG:5065 02 02 02 02 02 +; ----------------------------------------------------------------------------- +; Routine: Label_D06A +; Global: Branch target inside Label: taken when D06A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D06A: + ldx #$00 ; CPU:$D06A PRG:506A A2 00 + lda $048E ; CPU:$D06C PRG:506C AD 8E 04 + ora #$08 ; CPU:$D06F PRG:506F 09 08 + ora #$80 ; CPU:$D071 PRG:5071 09 80 + sta $048E ; CPU:$D073 PRG:5073 8D 8E 04 + lda #$01 ; CPU:$D076 PRG:5076 A9 01 + sta $056F ; CPU:$D078 PRG:5078 8D 6F 05 + sta $0524 ; CPU:$D07B PRG:507B 8D 24 05 + lda #$02 ; CPU:$D07E PRG:507E A9 02 + sta $0588 ; CPU:$D080 PRG:5080 8D 88 05 + lda #$50 ; CPU:$D083 PRG:5083 A9 50 + sta $053D ; CPU:$D085 PRG:5085 8D 3D 05 + lda #$00 ; CPU:$D088 PRG:5088 A9 00 + sta $05A1 ; CPU:$D08A PRG:508A 8D A1 05 + sta $0556 ; CPU:$D08D PRG:508D 8D 56 05 + lda #$03 ; CPU:$D090 PRG:5090 A9 03 + sta $04F2 ; CPU:$D092 PRG:5092 8D F2 04 + lda $07BC ; CPU:$D095 PRG:5095 AD BC 07 + beq NmiHandler_Loop28 ; CPU:$D098 PRG:5098 F0 0B + lda $0437 ; CPU:$D09A PRG:509A AD 37 04 + bne NmiHandler_Loop27 ; CPU:$D09D PRG:509D D0 03 + jmp Sub_D15B ; CPU:$D09F PRG:509F 4C 5B D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop27: + jmp Sub_D165 ; CPU:$D0A2 PRG:50A2 4C 65 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop28: + lda $0437 ; CPU:$D0A5 PRG:50A5 AD 37 04 + beq NmiHandler_Loop29 ; CPU:$D0A8 PRG:50A8 F0 03 + jmp Sub_D165 ; CPU:$D0AA PRG:50AA 4C 65 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop29: + lda #$A0 ; CPU:$D0AD PRG:50AD A9 A0 + sta $04D9 ; CPU:$D0AF PRG:50AF 8D D9 04 + jsr Sub_C275 ; CPU:$D0B2 PRG:50B2 20 75 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0B5 +; Global: Branch target inside Sub: taken when D0B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0B5: + lda #$00 ; CPU:$D0B5 PRG:50B5 A9 00 + sta $050B ; CPU:$D0B7 PRG:50B7 8D 0B 05 + lda #$08 ; CPU:$D0BA PRG:50BA A9 08 + sta $05BA ; CPU:$D0BC PRG:50BC 8D BA 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + lda #$0A ; CPU:$D0BF PRG:50BF A9 0A + jsr Sub_A06B ; CPU:$D0C1 PRG:50C1 20 6B A0 + jsr Sub_D19A ; CPU:$D0C4 PRG:50C4 20 9A D1 + cmp #$28 ; CPU:$D0C7 PRG:50C7 C9 28 + bcc NmiHandler_OnCarryClear4 ; CPU:$D0C9 PRG:50C9 90 F4 + lda #$0A ; CPU:$D0CB PRG:50CB A9 0A + jsr Sub_A094 ; CPU:$D0CD PRG:50CD 20 94 A0 + inc $04D9 ; CPU:$D0D0 PRG:50D0 EE D9 04 + lda #$00 ; CPU:$D0D3 PRG:50D3 A9 00 + sta $069B ; CPU:$D0D5 PRG:50D5 8D 9B 06 + lda #$15 ; CPU:$D0D8 PRG:50D8 A9 15 + jsr Sub_A06B ; CPU:$D0DA PRG:50DA 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear5: + jsr Sub_D19A ; CPU:$D0DD PRG:50DD 20 9A D1 + cmp #$08 ; CPU:$D0E0 PRG:50E0 C9 08 + bcc NmiHandler_OnCarryClear5 ; CPU:$D0E2 PRG:50E2 90 F9 + inc $04D9 ; CPU:$D0E4 PRG:50E4 EE D9 04 + lda #$00 ; CPU:$D0E7 PRG:50E7 A9 00 + sta $069B ; CPU:$D0E9 PRG:50E9 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear6: + jsr Sub_D19A ; CPU:$D0EC PRG:50EC 20 9A D1 + cmp #$08 ; CPU:$D0EF PRG:50EF C9 08 + bcc NmiHandler_OnCarryClear6 ; CPU:$D0F1 PRG:50F1 90 F9 + inc $04D9 ; CPU:$D0F3 PRG:50F3 EE D9 04 + jsr Sub_C275 ; CPU:$D0F6 PRG:50F6 20 75 C2 + jsr Sub_C275 ; CPU:$D0F9 PRG:50F9 20 75 C2 + jsr Sub_C275 ; CPU:$D0FC PRG:50FC 20 75 C2 + inc $04D9 ; CPU:$D0FF PRG:50FF EE D9 04 + lda #$08 ; CPU:$D102 PRG:5102 A9 08 + sta $050B,x ; CPU:$D104 PRG:5104 9D 0B 05 + lda #$00 ; CPU:$D107 PRG:5107 A9 00 + sta $069B ; CPU:$D109 PRG:5109 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear7 +; Global: Branch target inside NmiHandler: taken when OnCarryClear7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear7: + jsr Sub_D19A ; CPU:$D10C PRG:510C 20 9A D1 + cmp #$0A ; CPU:$D10F PRG:510F C9 0A + bcc NmiHandler_OnCarryClear7 ; CPU:$D111 PRG:5111 90 F9 + inc $04D9 ; CPU:$D113 PRG:5113 EE D9 04 + lda #$00 ; CPU:$D116 PRG:5116 A9 00 + sta $069B ; CPU:$D118 PRG:5118 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear8 +; Global: Branch target inside NmiHandler: taken when OnCarryClear8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear8: + jsr Sub_D19A ; CPU:$D11B PRG:511B 20 9A D1 + cmp #$14 ; CPU:$D11E PRG:511E C9 14 + bcc NmiHandler_OnCarryClear8 ; CPU:$D120 PRG:5120 90 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear9 +; Global: Branch target inside NmiHandler: taken when OnCarryClear9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear9: + jsr Sub_D19A ; CPU:$D122 PRG:5122 20 9A D1 + lda $04A7,x ; CPU:$D125 PRG:5125 BD A7 04 + cmp #$C0 ; CPU:$D128 PRG:5128 C9 C0 + bcc NmiHandler_OnCarryClear9 ; CPU:$D12A PRG:512A 90 F6 + inc $04D9 ; CPU:$D12C PRG:512C EE D9 04 + lda #$00 ; CPU:$D12F PRG:512F A9 00 + sta $069B ; CPU:$D131 PRG:5131 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear10 +; Global: Branch target inside NmiHandler: taken when OnCarryClear10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear10: + jsr Sub_D19A ; CPU:$D134 PRG:5134 20 9A D1 + cmp #$08 ; CPU:$D137 PRG:5137 C9 08 + bcc NmiHandler_OnCarryClear10 ; CPU:$D139 PRG:5139 90 F9 + inc $04D9 ; CPU:$D13B PRG:513B EE D9 04 + jsr Sub_C275 ; CPU:$D13E PRG:513E 20 75 C2 + jsr Sub_C275 ; CPU:$D141 PRG:5141 20 75 C2 + jsr Sub_C275 ; CPU:$D144 PRG:5144 20 75 C2 + inc $04D9 ; CPU:$D147 PRG:5147 EE D9 04 + lda #$00 ; CPU:$D14A PRG:514A A9 00 + sta $050B ; CPU:$D14C PRG:514C 8D 0B 05 + lda #$00 ; CPU:$D14F PRG:514F A9 00 + sta $069B ; CPU:$D151 PRG:5151 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear11 +; Global: Branch target inside NmiHandler: taken when OnCarryClear11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear11: + jsr Sub_D19A ; CPU:$D154 PRG:5154 20 9A D1 + cmp #$0A ; CPU:$D157 PRG:5157 C9 0A + bcc NmiHandler_OnCarryClear11 ; CPU:$D159 PRG:5159 90 F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_D15B +; Global: Branch target inside Sub: taken when D15B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D15B: + lda #$0E ; CPU:$D15B PRG:515B A9 0E + jsr Sub_A06B ; CPU:$D15D PRG:515D 20 6B A0 + lda #$16 ; CPU:$D160 PRG:5160 A9 16 + jsr Sub_A06B ; CPU:$D162 PRG:5162 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D165 +; Global: Branch target inside Sub: taken when D165. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D165: + lda #$01 ; CPU:$D165 PRG:5165 A9 01 + sta $056F ; CPU:$D167 PRG:5167 8D 6F 05 + sta $0524 ; CPU:$D16A PRG:516A 8D 24 05 + lda #$02 ; CPU:$D16D PRG:516D A9 02 + sta $0588 ; CPU:$D16F PRG:516F 8D 88 05 + lda #$30 ; CPU:$D172 PRG:5172 A9 30 + sta $053D ; CPU:$D174 PRG:5174 8D 3D 05 + lda #$00 ; CPU:$D177 PRG:5177 A9 00 + sta $05A1 ; CPU:$D179 PRG:5179 8D A1 05 + sta $0556 ; CPU:$D17C PRG:517C 8D 56 05 + lda #$00 ; CPU:$D17F PRG:517F A9 00 + sta $04D9 ; CPU:$D181 PRG:5181 8D D9 04 + lda #$14 ; CPU:$D184 PRG:5184 A9 14 + sta $05BA ; CPU:$D186 PRG:5186 8D BA 05 + jsr Sub_B1D7 ; CPU:$D189 PRG:5189 20 D7 B1 + lda $048E ; CPU:$D18C PRG:518C AD 8E 04 + and #$BE ; CPU:$D18F PRG:518F 29 BE + sta $048E ; CPU:$D191 PRG:5191 8D 8E 04 + jsr Sub_C275 ; CPU:$D194 PRG:5194 20 75 C2 + jmp Sub_D1AC ; CPU:$D197 PRG:5197 4C AC D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D19A +; Global: Branch target inside Sub: taken when D19A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D19A: + lda #$08 ; CPU:$D19A PRG:519A A9 08 + jsr Sub_B048 ; CPU:$D19C PRG:519C 20 48 B0 + jsr Sub_B1D7 ; CPU:$D19F PRG:519F 20 D7 B1 + jsr Sub_C275 ; CPU:$D1A2 PRG:51A2 20 75 C2 + inc $069B ; CPU:$D1A5 PRG:51A5 EE 9B 06 + lda $069B ; CPU:$D1A8 PRG:51A8 AD 9B 06 + rts ; CPU:$D1AB PRG:51AB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D1AC +; Global: Branch target inside Sub: taken when D1AC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1AC: + ldx #$00 ; CPU:$D1AC PRG:51AC A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + lda $048E,x ; CPU:$D1AE PRG:51AE BD 8E 04 + and #$08 ; CPU:$D1B1 PRG:51B1 29 08 + bne NmiHandler_Loop30 ; CPU:$D1B3 PRG:51B3 D0 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_D1B5 +; Global: Branch target inside Sub: taken when D1B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1B5: + inx ; CPU:$D1B5 PRG:51B5 E8 + cpx #$03 ; CPU:$D1B6 PRG:51B6 E0 03 + bne NmiHandler_OnNonzero13 ; CPU:$D1B8 PRG:51B8 D0 F4 + jsr Sub_C275 ; CPU:$D1BA PRG:51BA 20 75 C2 + jmp Sub_D1AC ; CPU:$D1BD PRG:51BD 4C AC D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop30: + lda $048E,x ; CPU:$D1C0 PRG:51C0 BD 8E 04 + and #$20 ; CPU:$D1C3 PRG:51C3 29 20 + beq NmiHandler_Loop31 ; CPU:$D1C5 PRG:51C5 F0 03 + jmp Sub_D5BC ; CPU:$D1C7 PRG:51C7 4C BC D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop31: + jsr Sub_D79B ; CPU:$D1CA PRG:51CA 20 9B D7 + beq NmiHandler_Loop32 ; CPU:$D1CD PRG:51CD F0 08 + jsr Sub_B3CF ; CPU:$D1CF PRG:51CF 20 CF B3 + beq NmiHandler_Loop32 ; CPU:$D1D2 PRG:51D2 F0 03 + jmp Sub_D5A5 ; CPU:$D1D4 PRG:51D4 4C A5 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop32: + cpx #$00 ; CPU:$D1D7 PRG:51D7 E0 00 + bne NmiHandler_Loop33 ; CPU:$D1D9 PRG:51D9 D0 03 + jmp Sub_D214 ; CPU:$D1DB PRG:51DB 4C 14 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop33: + lda $048E,x ; CPU:$D1DE PRG:51DE BD 8E 04 + and #$10 ; CPU:$D1E1 PRG:51E1 29 10 + beq NmiHandler_Loop34 ; CPU:$D1E3 PRG:51E3 F0 03 + jmp Sub_D617 ; CPU:$D1E5 PRG:51E5 4C 17 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop34: + lda $048E,x ; CPU:$D1E8 PRG:51E8 BD 8E 04 + and #$02 ; CPU:$D1EB PRG:51EB 29 02 + beq NmiHandler_Loop35 ; CPU:$D1ED PRG:51ED F0 03 + jmp Sub_D698 ; CPU:$D1EF PRG:51EF 4C 98 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop35: + lda $048E,x ; CPU:$D1F2 PRG:51F2 BD 8E 04 + and #$04 ; CPU:$D1F5 PRG:51F5 29 04 + beq NmiHandler_Loop36 ; CPU:$D1F7 PRG:51F7 F0 03 + jmp Sub_D6B7 ; CPU:$D1F9 PRG:51F9 4C B7 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop36: + jsr Sub_D25B ; CPU:$D1FC PRG:51FC 20 5B D2 + lda $053D ; CPU:$D1FF PRG:51FF AD 3D 05 + sta $053D,x ; CPU:$D202 PRG:5202 9D 3D 05 + lda $0524 ; CPU:$D205 PRG:5205 AD 24 05 + sta $0524,x ; CPU:$D208 PRG:5208 9D 24 05 + jsr Sub_B1D7 ; CPU:$D20B PRG:520B 20 D7 B1 + jsr Sub_B37B ; CPU:$D20E PRG:520E 20 7B B3 + jmp Sub_D1B5 ; CPU:$D211 PRG:5211 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D214 +; Global: Branch target inside Sub: taken when D214. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D214: + jsr Sub_D79B ; CPU:$D214 PRG:5214 20 9B D7 + beq NmiHandler_Loop37 ; CPU:$D217 PRG:5217 F0 08 + jsr Sub_B3CF ; CPU:$D219 PRG:5219 20 CF B3 + beq NmiHandler_Loop37 ; CPU:$D21C PRG:521C F0 03 + jmp Sub_D5A5 ; CPU:$D21E PRG:521E 4C A5 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop37: + lda $0785 ; CPU:$D221 PRG:5221 AD 85 07 + and #$80 ; CPU:$D224 PRG:5224 29 80 + bne NmiHandler_Loop38 ; CPU:$D226 PRG:5226 D0 03 + jmp Sub_D240 ; CPU:$D228 PRG:5228 4C 40 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop38: + lda $0388 ; CPU:$D22B PRG:522B AD 88 03 + and #$01 ; CPU:$D22E PRG:522E 29 01 + bne NmiHandler_Loop39 ; CPU:$D230 PRG:5230 D0 16 + lda $0388 ; CPU:$D232 PRG:5232 AD 88 03 + ora #$01 ; CPU:$D235 PRG:5235 09 01 + sta $0388 ; CPU:$D237 PRG:5237 8D 88 03 + jsr Sub_D303 ; CPU:$D23A PRG:523A 20 03 D3 + jmp NmiHandler_Loop39 ; CPU:$D23D PRG:523D 4C 48 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D240 +; Global: Branch target inside Sub: taken when D240. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D240: + lda $0388 ; CPU:$D240 PRG:5240 AD 88 03 + and #$FE ; CPU:$D243 PRG:5243 29 FE + sta $0388 ; CPU:$D245 PRG:5245 8D 88 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + jsr Sub_D2AA ; CPU:$D248 PRG:5248 20 AA D2 + jsr Sub_D472 ; CPU:$D24B PRG:524B 20 72 D4 + lda $0437 ; CPU:$D24E PRG:524E AD 37 04 + cmp #$FF ; CPU:$D251 PRG:5251 C9 FF + bne NmiHandler_Loop40 ; CPU:$D253 PRG:5253 D0 03 + jmp Sub_D63E ; CPU:$D255 PRG:5255 4C 3E D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + jmp Sub_D1B5 ; CPU:$D258 PRG:5258 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D25B +; Global: Branch target inside Sub: taken when D25B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D25B: + lda $048E,x ; CPU:$D25B PRG:525B BD 8E 04 + and #$80 ; CPU:$D25E PRG:525E 29 80 + beq NmiHandler_Loop44 ; CPU:$D260 PRG:5260 F0 47 + cpx #$01 ; CPU:$D262 PRG:5262 E0 01 + bne NmiHandler_Loop42 ; CPU:$D264 PRG:5264 D0 23 + lda $0588 ; CPU:$D266 PRG:5266 AD 88 05 + sec ; CPU:$D269 PRG:5269 38 + sbc #$15 ; CPU:$D26A PRG:526A E9 15 + bcs NmiHandler_Loop41 ; CPU:$D26C PRG:526C B0 0F + sta $0588,x ; CPU:$D26E PRG:526E 9D 88 05 + lda $056F ; CPU:$D271 PRG:5271 AD 6F 05 + sec ; CPU:$D274 PRG:5274 38 + sbc #$01 ; CPU:$D275 PRG:5275 E9 01 + sta $056F,x ; CPU:$D277 PRG:5277 9D 6F 05 + jmp NmiHandler_Loop44 ; CPU:$D27A PRG:527A 4C A9 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop41: + sta $0588,x ; CPU:$D27D PRG:527D 9D 88 05 + lda $056F ; CPU:$D280 PRG:5280 AD 6F 05 + sta $056F,x ; CPU:$D283 PRG:5283 9D 6F 05 + jmp NmiHandler_Loop44 ; CPU:$D286 PRG:5286 4C A9 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop42: + lda $0588 ; CPU:$D289 PRG:5289 AD 88 05 + clc ; CPU:$D28C PRG:528C 18 + adc #$15 ; CPU:$D28D PRG:528D 69 15 + bcc NmiHandler_Loop43 ; CPU:$D28F PRG:528F 90 0F + sta $0588,x ; CPU:$D291 PRG:5291 9D 88 05 + lda $056F ; CPU:$D294 PRG:5294 AD 6F 05 + clc ; CPU:$D297 PRG:5297 18 + adc #$01 ; CPU:$D298 PRG:5298 69 01 + sta $056F,x ; CPU:$D29A PRG:529A 9D 6F 05 + jmp NmiHandler_Loop44 ; CPU:$D29D PRG:529D 4C A9 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop43: + sta $0588,x ; CPU:$D2A0 PRG:52A0 9D 88 05 + lda $056F ; CPU:$D2A3 PRG:52A3 AD 6F 05 + sta $056F,x ; CPU:$D2A6 PRG:52A6 9D 6F 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop44: + rts ; CPU:$D2A9 PRG:52A9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2AA +; Global: Branch target inside Sub: taken when D2AA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2AA: + lda $0785 ; CPU:$D2AA PRG:52AA AD 85 07 + and #$40 ; CPU:$D2AD PRG:52AD 29 40 + beq NmiHandler_Loop46 ; CPU:$D2AF PRG:52AF F0 24 + lda $0388 ; CPU:$D2B1 PRG:52B1 AD 88 03 + and #$10 ; CPU:$D2B4 PRG:52B4 29 10 + bne NmiHandler_Loop45 ; CPU:$D2B6 PRG:52B6 D0 0B + lda $0388 ; CPU:$D2B8 PRG:52B8 AD 88 03 + ora #$10 ; CPU:$D2BB PRG:52BB 09 10 + sta $0388 ; CPU:$D2BD PRG:52BD 8D 88 03 + jmp Sub_D2CB ; CPU:$D2C0 PRG:52C0 4C CB D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop45: + inc ZpDB ; CPU:$D2C3 PRG:52C3 E6 DB + lda ZpDB ; CPU:$D2C5 PRG:52C5 A5 DB + cmp #$0A ; CPU:$D2C7 PRG:52C7 C9 0A + bcc NmiHandler_Loop47 ; CPU:$D2C9 PRG:52C9 90 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2CB +; Global: Branch target inside Sub: taken when D2CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2CB: + lda #$00 ; CPU:$D2CB PRG:52CB A9 00 + sta ZpDB ; CPU:$D2CD PRG:52CD 85 DB + jsr Sub_D3B9 ; CPU:$D2CF PRG:52CF 20 B9 D3 + jmp NmiHandler_Loop47 ; CPU:$D2D2 PRG:52D2 4C DD D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop46: + lda $0388 ; CPU:$D2D5 PRG:52D5 AD 88 03 + and #$EF ; CPU:$D2D8 PRG:52D8 29 EF + sta $0388 ; CPU:$D2DA PRG:52DA 8D 88 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop47: + rts ; CPU:$D2DD PRG:52DD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2DE +; Global: Branch target inside Sub: taken when D2DE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2DE: + ldx #$01 ; CPU:$D2DE PRG:52DE A2 01 + jsr Sub_D25B ; CPU:$D2E0 PRG:52E0 20 5B D2 + jsr Sub_B1D7 ; CPU:$D2E3 PRG:52E3 20 D7 B1 + ldx #$02 ; CPU:$D2E6 PRG:52E6 A2 02 + jsr Sub_D25B ; CPU:$D2E8 PRG:52E8 20 5B D2 + jsr Sub_B1D7 ; CPU:$D2EB PRG:52EB 20 D7 B1 + ldx #$00 ; CPU:$D2EE PRG:52EE A2 00 + jmp Sub_D472 ; CPU:$D2F0 PRG:52F0 4C 72 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2F3 +; Global: Branch target inside Sub: taken when D2F3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2F3: + lda #$00 ; CPU:$D2F3 PRG:52F3 A9 00 + sta $050B ; CPU:$D2F5 PRG:52F5 8D 0B 05 + jmp Sub_D19A ; CPU:$D2F8 PRG:52F8 4C 9A D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2FB +; Global: Branch target inside Sub: taken when D2FB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2FB: + lda #$08 ; CPU:$D2FB PRG:52FB A9 08 + sta $050B ; CPU:$D2FD PRG:52FD 8D 0B 05 + jmp Sub_D19A ; CPU:$D300 PRG:5300 4C 9A D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D303 +; Global: Branch target inside Sub: taken when D303. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D303: + lda $0436 ; CPU:$D303 PRG:5303 AD 36 04 + bne NmiHandler_Loop48 ; CPU:$D306 PRG:5306 D0 01 + rts ; CPU:$D308 PRG:5308 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop48: + dec $0436 ; CPU:$D309 PRG:5309 CE 36 04 + lda $048E ; CPU:$D30C PRG:530C AD 8E 04 + ora #$10 ; CPU:$D30F PRG:530F 09 10 + sta $048E ; CPU:$D311 PRG:5311 8D 8E 04 + lda #$00 ; CPU:$D314 PRG:5314 A9 00 + sta $069B ; CPU:$D316 PRG:5316 8D 9B 06 + lda #$15 ; CPU:$D319 PRG:5319 A9 15 + jsr Sub_A06B ; CPU:$D31B PRG:531B 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear12 +; Global: Branch target inside NmiHandler: taken when OnCarryClear12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear12: + jsr Sub_D2DE ; CPU:$D31E PRG:531E 20 DE D2 + jsr Sub_D2F3 ; CPU:$D321 PRG:5321 20 F3 D2 + cmp #$08 ; CPU:$D324 PRG:5324 C9 08 + bcc NmiHandler_OnCarryClear12 ; CPU:$D326 PRG:5326 90 F6 + lda #$A1 ; CPU:$D328 PRG:5328 A9 A1 + sta $04D9 ; CPU:$D32A PRG:532A 8D D9 04 + lda #$00 ; CPU:$D32D PRG:532D A9 00 + sta $069B ; CPU:$D32F PRG:532F 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear13 +; Global: Branch target inside NmiHandler: taken when OnCarryClear13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear13: + jsr Sub_D2DE ; CPU:$D332 PRG:5332 20 DE D2 + jsr Sub_D2F3 ; CPU:$D335 PRG:5335 20 F3 D2 + cmp #$04 ; CPU:$D338 PRG:5338 C9 04 + bcc NmiHandler_OnCarryClear13 ; CPU:$D33A PRG:533A 90 F6 + inc $04D9 ; CPU:$D33C PRG:533C EE D9 04 + lda #$00 ; CPU:$D33F PRG:533F A9 00 + sta $069B ; CPU:$D341 PRG:5341 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear14 +; Global: Branch target inside NmiHandler: taken when OnCarryClear14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear14: + jsr Sub_D2DE ; CPU:$D344 PRG:5344 20 DE D2 + jsr Sub_D2FB ; CPU:$D347 PRG:5347 20 FB D2 + cmp #$04 ; CPU:$D34A PRG:534A C9 04 + bcc NmiHandler_OnCarryClear14 ; CPU:$D34C PRG:534C 90 F6 + inc $04D9 ; CPU:$D34E PRG:534E EE D9 04 + lda #$00 ; CPU:$D351 PRG:5351 A9 00 + sta $069B ; CPU:$D353 PRG:5353 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear15 +; Global: Branch target inside NmiHandler: taken when OnCarryClear15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear15: + jsr Sub_D2DE ; CPU:$D356 PRG:5356 20 DE D2 + jsr Sub_D2FB ; CPU:$D359 PRG:5359 20 FB D2 + cmp #$08 ; CPU:$D35C PRG:535C C9 08 + bcc NmiHandler_OnCarryClear15 ; CPU:$D35E PRG:535E 90 F6 + inc $04D9 ; CPU:$D360 PRG:5360 EE D9 04 + lda #$00 ; CPU:$D363 PRG:5363 A9 00 + sta $069B ; CPU:$D365 PRG:5365 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear16 +; Global: Branch target inside NmiHandler: taken when OnCarryClear16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear16: + jsr Sub_D2DE ; CPU:$D368 PRG:5368 20 DE D2 + jsr Sub_D2FB ; CPU:$D36B PRG:536B 20 FB D2 + cmp #$08 ; CPU:$D36E PRG:536E C9 08 + bcc NmiHandler_OnCarryClear16 ; CPU:$D370 PRG:5370 90 F6 + inc $04D9 ; CPU:$D372 PRG:5372 EE D9 04 + lda #$00 ; CPU:$D375 PRG:5375 A9 00 + sta $069B ; CPU:$D377 PRG:5377 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear17 +; Global: Branch target inside NmiHandler: taken when OnCarryClear17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear17: + jsr Sub_D2DE ; CPU:$D37A PRG:537A 20 DE D2 + jsr Sub_D2FB ; CPU:$D37D PRG:537D 20 FB D2 + cmp #$04 ; CPU:$D380 PRG:5380 C9 04 + bcc NmiHandler_OnCarryClear17 ; CPU:$D382 PRG:5382 90 F6 + inc $04D9 ; CPU:$D384 PRG:5384 EE D9 04 + lda #$00 ; CPU:$D387 PRG:5387 A9 00 + sta $069B ; CPU:$D389 PRG:5389 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear18 +; Global: Branch target inside NmiHandler: taken when OnCarryClear18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear18: + jsr Sub_D2DE ; CPU:$D38C PRG:538C 20 DE D2 + jsr Sub_D2F3 ; CPU:$D38F PRG:538F 20 F3 D2 + cmp #$04 ; CPU:$D392 PRG:5392 C9 04 + bcc NmiHandler_OnCarryClear18 ; CPU:$D394 PRG:5394 90 F6 + inc $04D9 ; CPU:$D396 PRG:5396 EE D9 04 + lda #$00 ; CPU:$D399 PRG:5399 A9 00 + sta $069B ; CPU:$D39B PRG:539B 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear19 +; Global: Branch target inside NmiHandler: taken when OnCarryClear19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear19: + jsr Sub_D2AA ; CPU:$D39E PRG:539E 20 AA D2 + jsr Sub_D2DE ; CPU:$D3A1 PRG:53A1 20 DE D2 + jsr Sub_D2F3 ; CPU:$D3A4 PRG:53A4 20 F3 D2 + cmp #$08 ; CPU:$D3A7 PRG:53A7 C9 08 + bcc NmiHandler_OnCarryClear19 ; CPU:$D3A9 PRG:53A9 90 F3 + lda #$00 ; CPU:$D3AB PRG:53AB A9 00 + sta $04D9 ; CPU:$D3AD PRG:53AD 8D D9 04 + lda $048E ; CPU:$D3B0 PRG:53B0 AD 8E 04 + and #$EF ; CPU:$D3B3 PRG:53B3 29 EF + sta $048E ; CPU:$D3B5 PRG:53B5 8D 8E 04 + rts ; CPU:$D3B8 PRG:53B8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3B9 +; Global: Branch target inside Sub: taken when D3B9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3B9: + lda #$0B ; CPU:$D3B9 PRG:53B9 A9 0B + sta $071A ; CPU:$D3BB PRG:53BB 8D 1A 07 + lda #$01 ; CPU:$D3BE PRG:53BE A9 01 + sta $0719 ; CPU:$D3C0 PRG:53C0 8D 19 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3C3 +; Global: Branch target inside Sub: taken when D3C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3C3: + ldy $071A ; CPU:$D3C3 PRG:53C3 AC 1A 07 + lda $048E,y ; CPU:$D3C6 PRG:53C6 B9 8E 04 + bmi NmiHandler_Loop49 ; CPU:$D3C9 PRG:53C9 30 03 + jmp Sub_D3D1 ; CPU:$D3CB PRG:53CB 4C D1 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop49: + jmp Sub_D464 ; CPU:$D3CE PRG:53CE 4C 64 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3D1 +; Global: Branch target inside Sub: taken when D3D1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3D1: + lda #$88 ; CPU:$D3D1 PRG:53D1 A9 88 + sta $048E,y ; CPU:$D3D3 PRG:53D3 99 8E 04 + jsr Sub_D769 ; CPU:$D3D6 PRG:53D6 20 69 D7 + lda $048F ; CPU:$D3D9 PRG:53D9 AD 8F 04 + and #$10 ; CPU:$D3DC PRG:53DC 29 10 + bne NmiHandler_Loop50 ; CPU:$D3DE PRG:53DE D0 15 + lda $048F ; CPU:$D3E0 PRG:53E0 AD 8F 04 + and #$04 ; CPU:$D3E3 PRG:53E3 29 04 + bne NmiHandler_Loop50 ; CPU:$D3E5 PRG:53E5 D0 0E + lda $048F ; CPU:$D3E7 PRG:53E7 AD 8F 04 + and #$08 ; CPU:$D3EA PRG:53EA 29 08 + bne NmiHandler_Loop54 ; CPU:$D3EC PRG:53EC D0 35 + lda $0490 ; CPU:$D3EE PRG:53EE AD 90 04 + and #$08 ; CPU:$D3F1 PRG:53F1 29 08 + bne NmiHandler_Loop52 ; CPU:$D3F3 PRG:53F3 D0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop50: + lda $048E ; CPU:$D3F5 PRG:53F5 AD 8E 04 + and #$02 ; CPU:$D3F8 PRG:53F8 29 02 + bne NmiHandler_Loop51 ; CPU:$D3FA PRG:53FA D0 08 + lda #$08 ; CPU:$D3FC PRG:53FC A9 08 + sta $04D9,y ; CPU:$D3FE PRG:53FE 99 D9 04 + jmp Sub_D455 ; CPU:$D401 PRG:5401 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop51: + lda #$09 ; CPU:$D404 PRG:5404 A9 09 + sta $04D9,y ; CPU:$D406 PRG:5406 99 D9 04 + jmp Sub_D455 ; CPU:$D409 PRG:5409 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop52: + lda $048E ; CPU:$D40C PRG:540C AD 8E 04 + and #$02 ; CPU:$D40F PRG:540F 29 02 + bne NmiHandler_Loop53 ; CPU:$D411 PRG:5411 D0 08 + lda #$0C ; CPU:$D413 PRG:5413 A9 0C + sta $04D9,y ; CPU:$D415 PRG:5415 99 D9 04 + jmp Sub_D455 ; CPU:$D418 PRG:5418 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop53: + lda #$0F ; CPU:$D41B PRG:541B A9 0F + sta $04D9,y ; CPU:$D41D PRG:541D 99 D9 04 + jmp Sub_D455 ; CPU:$D420 PRG:5420 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop54: + lda $0490 ; CPU:$D423 PRG:5423 AD 90 04 + and #$08 ; CPU:$D426 PRG:5426 29 08 + bne NmiHandler_Loop56 ; CPU:$D428 PRG:5428 D0 17 + lda $048E ; CPU:$D42A PRG:542A AD 8E 04 + and #$02 ; CPU:$D42D PRG:542D 29 02 + bne NmiHandler_Loop55 ; CPU:$D42F PRG:542F D0 08 + lda #$0B ; CPU:$D431 PRG:5431 A9 0B + sta $04D9,y ; CPU:$D433 PRG:5433 99 D9 04 + jmp Sub_D455 ; CPU:$D436 PRG:5436 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop55: + lda #$0E ; CPU:$D439 PRG:5439 A9 0E + sta $04D9,y ; CPU:$D43B PRG:543B 99 D9 04 + jmp Sub_D455 ; CPU:$D43E PRG:543E 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop56: + lda $048E ; CPU:$D441 PRG:5441 AD 8E 04 + and #$02 ; CPU:$D444 PRG:5444 29 02 + bne NmiHandler_Loop57 ; CPU:$D446 PRG:5446 D0 08 + lda #$0A ; CPU:$D448 PRG:5448 A9 0A + sta $04D9,y ; CPU:$D44A PRG:544A 99 D9 04 + jmp Sub_D455 ; CPU:$D44D PRG:544D 4C 55 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: + lda #$0D ; CPU:$D450 PRG:5450 A9 0D + sta $04D9,y ; CPU:$D452 PRG:5452 99 D9 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D455 +; Global: Branch target inside Sub: taken when D455. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D455: + lda #$01 ; CPU:$D455 PRG:5455 A9 01 + sta $04F2,y ; CPU:$D457 PRG:5457 99 F2 04 + lda #$14 ; CPU:$D45A PRG:545A A9 14 + jsr Sub_A06B ; CPU:$D45C PRG:545C 20 6B A0 + dec $0719 ; CPU:$D45F PRG:545F CE 19 07 + beq NmiHandler_Loop58 ; CPU:$D462 PRG:5462 F0 0D +; ----------------------------------------------------------------------------- +; Routine: Sub_D464 +; Global: Branch target inside Sub: taken when D464. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D464: + inc $071A ; CPU:$D464 PRG:5464 EE 1A 07 + ldy $071A ; CPU:$D467 PRG:5467 AC 1A 07 + cpy #$0E ; CPU:$D46A PRG:546A C0 0E + beq NmiHandler_Loop58 ; CPU:$D46C PRG:546C F0 03 + jmp Sub_D3C3 ; CPU:$D46E PRG:546E 4C C3 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop58: + rts ; CPU:$D471 PRG:5471 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D472 +; Global: Branch target inside Sub: taken when D472. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D472: + lda $0785 ; CPU:$D472 PRG:5472 AD 85 07 + and #$0F ; CPU:$D475 PRG:5475 29 0F + bne NmiHandler_Loop59 ; CPU:$D477 PRG:5477 D0 03 + jmp NmiHandler_Loop81 ; CPU:$D479 PRG:5479 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop59: + cmp #$01 ; CPU:$D47C PRG:547C C9 01 + bne NmiHandler_Loop60 ; CPU:$D47E PRG:547E D0 03 + jmp NmiHandler_Loop71 ; CPU:$D480 PRG:5480 4C 00 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop60: + cmp #$02 ; CPU:$D483 PRG:5483 C9 02 + bne NmiHandler_Loop61 ; CPU:$D485 PRG:5485 D0 03 + jmp NmiHandler_Loop73 ; CPU:$D487 PRG:5487 4C 12 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop61: + cmp #$04 ; CPU:$D48A PRG:548A C9 04 + bne NmiHandler_Loop62 ; CPU:$D48C PRG:548C D0 03 + jmp NmiHandler_Loop79 ; CPU:$D48E PRG:548E 4C 77 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + cmp #$05 ; CPU:$D491 PRG:5491 C9 05 + bne NmiHandler_Loop63 ; CPU:$D493 PRG:5493 D0 03 + jmp Sub_D554 ; CPU:$D495 PRG:5495 4C 54 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + cmp #$06 ; CPU:$D498 PRG:5498 C9 06 + bne NmiHandler_Loop64 ; CPU:$D49A PRG:549A D0 03 + jmp Sub_D527 ; CPU:$D49C PRG:549C 4C 27 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: + cmp #$08 ; CPU:$D49F PRG:549F C9 08 + bne NmiHandler_Loop65 ; CPU:$D4A1 PRG:54A1 D0 03 + jmp Sub_D4EE ; CPU:$D4A3 PRG:54A3 4C EE D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop65: + cmp #$09 ; CPU:$D4A6 PRG:54A6 C9 09 + bne NmiHandler_Loop66 ; CPU:$D4A8 PRG:54A8 D0 03 + jmp Sub_D4D5 ; CPU:$D4AA PRG:54AA 4C D5 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop66: + lda #$0E ; CPU:$D4AD PRG:54AD A9 0E + jsr Sub_D593 ; CPU:$D4AF PRG:54AF 20 93 D5 + lda $04C0,x ; CPU:$D4B2 PRG:54B2 BD C0 04 + cmp #$1C ; CPU:$D4B5 PRG:54B5 C9 1C + bcs NmiHandler_Loop67 ; CPU:$D4B7 PRG:54B7 B0 03 + jmp Sub_D4EE ; CPU:$D4B9 PRG:54B9 4C EE D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop67: + lda $04A7,x ; CPU:$D4BC PRG:54BC BD A7 04 + cmp #$30 ; CPU:$D4BF PRG:54BF C9 30 + beq NmiHandler_Loop73 ; CPU:$D4C1 PRG:54C1 F0 4F + bcc NmiHandler_Loop73 ; CPU:$D4C3 PRG:54C3 90 4D + jmp Sub_D589 ; CPU:$D4C5 PRG:54C5 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4C8 +; Global: Branch target inside Sub: taken when D4C8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4C8: + lda $04A7,x ; CPU:$D4C8 PRG:54C8 BD A7 04 + cmp #$30 ; CPU:$D4CB PRG:54CB C9 30 + bcc NmiHandler_Loop68 ; CPU:$D4CD PRG:54CD 90 03 + jsr Sub_D589 ; CPU:$D4CF PRG:54CF 20 89 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop68: + jmp NmiHandler_Loop81 ; CPU:$D4D2 PRG:54D2 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4D5 +; Global: Branch target inside Sub: taken when D4D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4D5: + lda #$02 ; CPU:$D4D5 PRG:54D5 A9 02 + jsr Sub_D593 ; CPU:$D4D7 PRG:54D7 20 93 D5 + lda $04C0,x ; CPU:$D4DA PRG:54DA BD C0 04 + cmp #$E4 ; CPU:$D4DD PRG:54DD C9 E4 + bcc NmiHandler_Loop69 ; CPU:$D4DF PRG:54DF 90 03 + jmp Sub_D4EE ; CPU:$D4E1 PRG:54E1 4C EE D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + lda $04A7,x ; CPU:$D4E4 PRG:54E4 BD A7 04 + cmp #$31 ; CPU:$D4E7 PRG:54E7 C9 31 + bcc NmiHandler_Loop71 ; CPU:$D4E9 PRG:54E9 90 15 + jmp Sub_D589 ; CPU:$D4EB PRG:54EB 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4EE +; Global: Branch target inside Sub: taken when D4EE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4EE: + lda $048E ; CPU:$D4EE PRG:54EE AD 8E 04 + and #$10 ; CPU:$D4F1 PRG:54F1 29 10 + beq NmiHandler_Loop70 ; CPU:$D4F3 PRG:54F3 F0 03 + jmp NmiHandler_Loop81 ; CPU:$D4F5 PRG:54F5 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + lda #$00 ; CPU:$D4F8 PRG:54F8 A9 00 + jsr Sub_D593 ; CPU:$D4FA PRG:54FA 20 93 D5 + jmp Sub_D4C8 ; CPU:$D4FD PRG:54FD 4C C8 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + lda #$04 ; CPU:$D500 PRG:5500 A9 04 + jsr Sub_D593 ; CPU:$D502 PRG:5502 20 93 D5 + lda $04C0,x ; CPU:$D505 PRG:5505 BD C0 04 + cmp #$E4 ; CPU:$D508 PRG:5508 C9 E4 + bcc NmiHandler_Loop72 ; CPU:$D50A PRG:550A 90 03 + jmp NmiHandler_Loop81 ; CPU:$D50C PRG:550C 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + jmp Sub_D589 ; CPU:$D50F PRG:550F 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + lda #$0C ; CPU:$D512 PRG:5512 A9 0C + jsr Sub_D593 ; CPU:$D514 PRG:5514 20 93 D5 + lda $04C0,x ; CPU:$D517 PRG:5517 BD C0 04 + cmp #$1C ; CPU:$D51A PRG:551A C9 1C + bcc NmiHandler_Loop74 ; CPU:$D51C PRG:551C 90 03 + jmp Sub_D524 ; CPU:$D51E PRG:551E 4C 24 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + jmp NmiHandler_Loop81 ; CPU:$D521 PRG:5521 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D524 +; Global: Branch target inside Sub: taken when D524. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D524: + jmp Sub_D589 ; CPU:$D524 PRG:5524 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D527 +; Global: Branch target inside Sub: taken when D527. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D527: + lda #$0A ; CPU:$D527 PRG:5527 A9 0A + jsr Sub_D593 ; CPU:$D529 PRG:5529 20 93 D5 + lda $04A7,x ; CPU:$D52C PRG:552C BD A7 04 + cmp #$C0 ; CPU:$D52F PRG:552F C9 C0 + bcc NmiHandler_Loop76 ; CPU:$D531 PRG:5531 90 0D + lda $04C0,x ; CPU:$D533 PRG:5533 BD C0 04 + cmp #$1C ; CPU:$D536 PRG:5536 C9 1C + bcc NmiHandler_Loop75 ; CPU:$D538 PRG:5538 90 03 + jmp NmiHandler_Loop73 ; CPU:$D53A PRG:553A 4C 12 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + jmp NmiHandler_Loop81 ; CPU:$D53D PRG:553D 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + lda $04C0,x ; CPU:$D540 PRG:5540 BD C0 04 + cmp #$1C ; CPU:$D543 PRG:5543 C9 1C + bcc NmiHandler_Loop79 ; CPU:$D545 PRG:5545 90 30 + jmp Sub_D589 ; CPU:$D547 PRG:5547 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D54A +; Global: Branch target inside Sub: taken when D54A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D54A: + lda $04A7,x ; CPU:$D54A PRG:554A BD A7 04 + cmp #$C0 ; CPU:$D54D PRG:554D C9 C0 + bcs NmiHandler_Loop81 ; CPU:$D54F PRG:554F B0 41 + jmp Sub_D589 ; CPU:$D551 PRG:5551 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D554 +; Global: Branch target inside Sub: taken when D554. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D554: + lda #$06 ; CPU:$D554 PRG:5554 A9 06 + jsr Sub_D593 ; CPU:$D556 PRG:5556 20 93 D5 + lda $04A7,x ; CPU:$D559 PRG:5559 BD A7 04 + cmp #$C0 ; CPU:$D55C PRG:555C C9 C0 + bcc NmiHandler_Loop78 ; CPU:$D55E PRG:555E 90 0D + lda $04C0,x ; CPU:$D560 PRG:5560 BD C0 04 + cmp #$E4 ; CPU:$D563 PRG:5563 C9 E4 + bcs NmiHandler_Loop77 ; CPU:$D565 PRG:5565 B0 03 + jmp NmiHandler_Loop71 ; CPU:$D567 PRG:5567 4C 00 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + jmp NmiHandler_Loop81 ; CPU:$D56A PRG:556A 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + lda $04C0,x ; CPU:$D56D PRG:556D BD C0 04 + cmp #$E4 ; CPU:$D570 PRG:5570 C9 E4 + bcs NmiHandler_Loop79 ; CPU:$D572 PRG:5572 B0 03 + jmp Sub_D589 ; CPU:$D574 PRG:5574 4C 89 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + lda $048E ; CPU:$D577 PRG:5577 AD 8E 04 + and #$10 ; CPU:$D57A PRG:557A 29 10 + beq NmiHandler_Loop80 ; CPU:$D57C PRG:557C F0 03 + jmp NmiHandler_Loop81 ; CPU:$D57E PRG:557E 4C 92 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + lda #$08 ; CPU:$D581 PRG:5581 A9 08 + jsr Sub_D593 ; CPU:$D583 PRG:5583 20 93 D5 + jmp Sub_D54A ; CPU:$D586 PRG:5586 4C 4A D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D589 +; Global: Branch target inside Sub: taken when D589. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D589: + lda $05BA,x ; CPU:$D589 PRG:5589 BD BA 05 + jsr Sub_B048 ; CPU:$D58C PRG:558C 20 48 B0 + jsr Sub_B1D7 ; CPU:$D58F PRG:558F 20 D7 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + rts ; CPU:$D592 PRG:5592 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D593 +; Global: Branch target inside Sub: taken when D593. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D593: + cmp $050B,x ; CPU:$D593 PRG:5593 DD 0B 05 + bne NmiHandler_Loop82 ; CPU:$D596 PRG:5596 D0 01 + rts ; CPU:$D598 PRG:5598 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop82: + pha ; CPU:$D599 PRG:5599 48 + lda $050B,x ; CPU:$D59A PRG:559A BD 0B 05 + sta $048D ; CPU:$D59D PRG:559D 8D 8D 04 + pla ; CPU:$D5A0 PRG:55A0 68 + sta $050B,x ; CPU:$D5A1 PRG:55A1 9D 0B 05 + rts ; CPU:$D5A4 PRG:55A4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5A5 +; Global: Branch target inside Sub: taken when D5A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5A5: + lda $048E,x ; CPU:$D5A5 PRG:55A5 BD 8E 04 + ora #$20 ; CPU:$D5A8 PRG:55A8 09 20 + sta $048E,x ; CPU:$D5AA PRG:55AA 9D 8E 04 + lda #$FF ; CPU:$D5AD PRG:55AD A9 FF + sta $069B,x ; CPU:$D5AF PRG:55AF 9D 9B 06 + lda #$01 ; CPU:$D5B2 PRG:55B2 A9 01 + sta $04F2,x ; CPU:$D5B4 PRG:55B4 9D F2 04 + lda #$12 ; CPU:$D5B7 PRG:55B7 A9 12 + jsr Sub_A06B ; CPU:$D5B9 PRG:55B9 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5BC +; Global: Branch target inside Sub: taken when D5BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5BC: + inc $069B,x ; CPU:$D5BC PRG:55BC FE 9B 06 + lda $069B,x ; CPU:$D5BF PRG:55BF BD 9B 06 + cpx #$00 ; CPU:$D5C2 PRG:55C2 E0 00 + beq NmiHandler_Loop83 ; CPU:$D5C4 PRG:55C4 F0 0C + and #$0F ; CPU:$D5C6 PRG:55C6 29 0F + cmp #$04 ; CPU:$D5C8 PRG:55C8 C9 04 + beq NmiHandler_Loop84 ; CPU:$D5CA PRG:55CA F0 16 + clc ; CPU:$D5CC PRG:55CC 18 + adc #$80 ; CPU:$D5CD PRG:55CD 69 80 + jmp Sub_D5DC ; CPU:$D5CF PRG:55CF 4C DC D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + lsr a ; CPU:$D5D2 PRG:55D2 4A + and #$0F ; CPU:$D5D3 PRG:55D3 29 0F + cmp #$08 ; CPU:$D5D5 PRG:55D5 C9 08 + beq NmiHandler_Loop84 ; CPU:$D5D7 PRG:55D7 F0 09 + clc ; CPU:$D5D9 PRG:55D9 18 + adc #$90 ; CPU:$D5DA PRG:55DA 69 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5DC +; Global: Branch target inside Sub: taken when D5DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5DC: + sta $04D9,x ; CPU:$D5DC PRG:55DC 9D D9 04 + jmp Sub_D1B5 ; CPU:$D5DF PRG:55DF 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + cpx #$00 ; CPU:$D5E2 PRG:55E2 E0 00 + bne NmiHandler_Loop85 ; CPU:$D5E4 PRG:55E4 D0 29 + lda #$8F ; CPU:$D5E6 PRG:55E6 A9 8F + sta $04D9 ; CPU:$D5E8 PRG:55E8 8D D9 04 + jsr Sub_C275 ; CPU:$D5EB PRG:55EB 20 75 C2 + lda #$5A ; CPU:$D5EE PRG:55EE A9 5A + sta PlayerY ; CPU:$D5F0 PRG:55F0 85 86 + lda #$00 ; CPU:$D5F2 PRG:55F2 A9 00 + sta PlayerX ; CPU:$D5F4 PRG:55F4 85 87 + jsr Sub_C251 ; CPU:$D5F6 PRG:55F6 20 51 C2 + lda #$FF ; CPU:$D5F9 PRG:55F9 A9 FF + sta $048C ; CPU:$D5FB PRG:55FB 8D 8C 04 + lda #$00 ; CPU:$D5FE PRG:55FE A9 00 + sta $048E ; CPU:$D600 PRG:5600 8D 8E 04 + sta $048F ; CPU:$D603 PRG:5603 8D 8F 04 + sta $0490 ; CPU:$D606 PRG:5606 8D 90 04 + sta $05EC ; CPU:$D609 PRG:5609 8D EC 05 + jsr Sub_C237 ; CPU:$D60C PRG:560C 20 37 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + lda #$00 ; CPU:$D60F PRG:560F A9 00 + sta $048E,x ; CPU:$D611 PRG:5611 9D 8E 04 + jmp Sub_D1B5 ; CPU:$D614 PRG:5614 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D617 +; Global: Branch target inside Sub: taken when D617. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D617: + jsr Sub_B37B ; CPU:$D617 PRG:5617 20 7B B3 + lda $048E,x ; CPU:$D61A PRG:561A BD 8E 04 + and #$80 ; CPU:$D61D PRG:561D 29 80 + beq NmiHandler_Loop86 ; CPU:$D61F PRG:561F F0 15 + lda #$08 ; CPU:$D621 PRG:5621 A9 08 + sta $050B,x ; CPU:$D623 PRG:5623 9D 0B 05 + lda #$1E ; CPU:$D626 PRG:5626 A9 1E + sta $05BA,x ; CPU:$D628 PRG:5628 9D BA 05 + lda #$14 ; CPU:$D62B PRG:562B A9 14 + sta $04D9,x ; CPU:$D62D PRG:562D 9D D9 04 + jsr Sub_D589 ; CPU:$D630 PRG:5630 20 89 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D633 +; Global: Branch target inside Sub: taken when D633. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D633: + jmp Sub_D1B5 ; CPU:$D633 PRG:5633 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + lda #$8E ; CPU:$D636 PRG:5636 A9 8E + sta $04D9,x ; CPU:$D638 PRG:5638 9D D9 04 + jmp Sub_D633 ; CPU:$D63B PRG:563B 4C 33 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_D63E +; Global: Branch target inside Sub: taken when D63E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D63E: + lda #$A0 ; CPU:$D63E PRG:563E A9 A0 + sta $04D9,x ; CPU:$D640 PRG:5640 9D D9 04 + jsr Sub_C275 ; CPU:$D643 PRG:5643 20 75 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear20 +; Global: Branch target inside NmiHandler: taken when OnCarryClear20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear20: + lda #$01 ; CPU:$D646 PRG:5646 A9 01 + sta $0396 ; CPU:$D648 PRG:5648 8D 96 03 + sta $0605,x ; CPU:$D64B PRG:564B 9D 05 06 + lda #$00 ; CPU:$D64E PRG:564E A9 00 + sta $0399 ; CPU:$D650 PRG:5650 8D 99 03 + sta $0637,x ; CPU:$D653 PRG:5653 9D 37 06 + lda #$02 ; CPU:$D656 PRG:5656 A9 02 + sta $0397 ; CPU:$D658 PRG:5658 8D 97 03 + sta $061E,x ; CPU:$D65B PRG:565B 9D 1E 06 + lda #$D0 ; CPU:$D65E PRG:565E A9 D0 + sta $039A ; CPU:$D660 PRG:5660 8D 9A 03 + sta $0650,x ; CPU:$D663 PRG:5663 9D 50 06 + jsr Sub_B0BC ; CPU:$D666 PRG:5666 20 BC B0 + jsr Sub_ADC9 ; CPU:$D669 PRG:5669 20 C9 AD + sta $050B,x ; CPU:$D66C PRG:566C 9D 0B 05 + lda #$08 ; CPU:$D66F PRG:566F A9 08 + jsr Sub_B048 ; CPU:$D671 PRG:5671 20 48 B0 + jsr Sub_B1D7 ; CPU:$D674 PRG:5674 20 D7 B1 + jsr Sub_C275 ; CPU:$D677 PRG:5677 20 75 C2 + jsr Sub_B102 ; CPU:$D67A PRG:567A 20 02 B1 + jsr Sub_B0BC ; CPU:$D67D PRG:567D 20 BC B0 + jsr Sub_A9F4 ; CPU:$D680 PRG:5680 20 F4 A9 + bcc NmiHandler_OnCarryClear20 ; CPU:$D683 PRG:5683 90 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero14: + jsr Sub_C275 ; CPU:$D685 PRG:5685 20 75 C2 + lda $0437 ; CPU:$D688 PRG:5688 AD 37 04 + bne NmiHandler_OnNonzero14 ; CPU:$D68B PRG:568B D0 F8 + lda $048E ; CPU:$D68D PRG:568D AD 8E 04 + ora #$40 ; CPU:$D690 PRG:5690 09 40 + sta $048E ; CPU:$D692 PRG:5692 8D 8E 04 + jmp Sub_D0B5 ; CPU:$D695 PRG:5695 4C B5 D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D698 +; Global: Branch target inside Sub: taken when D698. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D698: + lda #$FF ; CPU:$D698 PRG:5698 A9 FF + sta $069B,x ; CPU:$D69A PRG:569A 9D 9B 06 + jsr Sub_B37B ; CPU:$D69D PRG:569D 20 7B B3 + lda $048E,x ; CPU:$D6A0 PRG:56A0 BD 8E 04 + and #$80 ; CPU:$D6A3 PRG:56A3 29 80 + bne NmiHandler_Loop87 ; CPU:$D6A5 PRG:56A5 D0 06 + jsr Sub_D589 ; CPU:$D6A7 PRG:56A7 20 89 D5 + jmp Sub_D1B5 ; CPU:$D6AA PRG:56AA 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + lda $048E,x ; CPU:$D6AD PRG:56AD BD 8E 04 + and #$FD ; CPU:$D6B0 PRG:56B0 29 FD + ora #$04 ; CPU:$D6B2 PRG:56B2 09 04 + sta $048E,x ; CPU:$D6B4 PRG:56B4 9D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D6B7 +; Global: Branch target inside Sub: taken when D6B7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D6B7: + cpx #$01 ; CPU:$D6B7 PRG:56B7 E0 01 + bne NmiHandler_Loop88 ; CPU:$D6B9 PRG:56B9 D0 06 + jsr Sub_D70E ; CPU:$D6BB PRG:56BB 20 0E D7 + jmp Sub_D6C4 ; CPU:$D6BE PRG:56BE 4C C4 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + jsr Sub_D72F ; CPU:$D6C1 PRG:56C1 20 2F D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D6C4 +; Global: Branch target inside Sub: taken when D6C4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D6C4: + lda $053D ; CPU:$D6C4 PRG:56C4 AD 3D 05 + sta $039A ; CPU:$D6C7 PRG:56C7 8D 9A 03 + lda $0524 ; CPU:$D6CA PRG:56CA AD 24 05 + sta $0399 ; CPU:$D6CD PRG:56CD 8D 99 03 + jsr Sub_B0BC ; CPU:$D6D0 PRG:56D0 20 BC B0 + jsr Sub_ADC9 ; CPU:$D6D3 PRG:56D3 20 C9 AD + sta $050B,x ; CPU:$D6D6 PRG:56D6 9D 0B 05 + jsr Sub_D589 ; CPU:$D6D9 PRG:56D9 20 89 D5 + jsr Sub_D74E ; CPU:$D6DC PRG:56DC 20 4E D7 + bcs NmiHandler_Loop89 ; CPU:$D6DF PRG:56DF B0 11 + inc $069B,x ; CPU:$D6E1 PRG:56E1 FE 9B 06 + lda $069B,x ; CPU:$D6E4 PRG:56E4 BD 9B 06 + and #$07 ; CPU:$D6E7 PRG:56E7 29 07 + clc ; CPU:$D6E9 PRG:56E9 18 + adc #$10 ; CPU:$D6EA PRG:56EA 69 10 + sta $04D9,x ; CPU:$D6EC PRG:56EC 9D D9 04 + jmp Sub_D1B5 ; CPU:$D6EF PRG:56EF 4C B5 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + lda $048E,x ; CPU:$D6F2 PRG:56F2 BD 8E 04 + and #$FB ; CPU:$D6F5 PRG:56F5 29 FB + sta $048E,x ; CPU:$D6F7 PRG:56F7 9D 8E 04 + lda $050B ; CPU:$D6FA PRG:56FA AD 0B 05 + sta $050B,x ; CPU:$D6FD PRG:56FD 9D 0B 05 + lda $05BA ; CPU:$D700 PRG:5700 AD BA 05 + sta $05BA,x ; CPU:$D703 PRG:5703 9D BA 05 + lda #$01 ; CPU:$D706 PRG:5706 A9 01 + sta $04D9,x ; CPU:$D708 PRG:5708 9D D9 04 + jmp NmiHandler_Loop36 ; CPU:$D70B PRG:570B 4C FC D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D70E +; Global: Branch target inside Sub: taken when D70E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D70E: + lda $0588 ; CPU:$D70E PRG:570E AD 88 05 + sec ; CPU:$D711 PRG:5711 38 + sbc #$15 ; CPU:$D712 PRG:5712 E9 15 + bcs NmiHandler_Loop90 ; CPU:$D714 PRG:5714 B0 0F + sta $0397 ; CPU:$D716 PRG:5716 8D 97 03 + lda $056F ; CPU:$D719 PRG:5719 AD 6F 05 + sec ; CPU:$D71C PRG:571C 38 + sbc #$01 ; CPU:$D71D PRG:571D E9 01 + and #$01 ; CPU:$D71F PRG:571F 29 01 + sta $0396 ; CPU:$D721 PRG:5721 8D 96 03 + rts ; CPU:$D724 PRG:5724 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop90: + sta $0397 ; CPU:$D725 PRG:5725 8D 97 03 + lda $056F ; CPU:$D728 PRG:5728 AD 6F 05 + sta $0396 ; CPU:$D72B PRG:572B 8D 96 03 + rts ; CPU:$D72E PRG:572E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D72F +; Global: Branch target inside Sub: taken when D72F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D72F: + lda $0588 ; CPU:$D72F PRG:572F AD 88 05 + clc ; CPU:$D732 PRG:5732 18 + adc #$15 ; CPU:$D733 PRG:5733 69 15 + bcc NmiHandler_Loop91 ; CPU:$D735 PRG:5735 90 0D + sta $0397 ; CPU:$D737 PRG:5737 8D 97 03 + lda $056F ; CPU:$D73A PRG:573A AD 6F 05 + clc ; CPU:$D73D PRG:573D 18 + adc #$01 ; CPU:$D73E PRG:573E 69 01 + sta $0396 ; CPU:$D740 PRG:5740 8D 96 03 + rts ; CPU:$D743 PRG:5743 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop91: + sta $0397 ; CPU:$D744 PRG:5744 8D 97 03 + lda $056F ; CPU:$D747 PRG:5747 AD 6F 05 + sta $0396 ; CPU:$D74A PRG:574A 8D 96 03 + rts ; CPU:$D74D PRG:574D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D74E +; Global: Branch target inside Sub: taken when D74E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D74E: + ldy #$00 ; CPU:$D74E PRG:574E A0 00 + jsr Sub_B0E5 ; CPU:$D750 PRG:5750 20 E5 B0 + jsr Sub_B0BC ; CPU:$D753 PRG:5753 20 BC B0 + lda #$30 ; CPU:$D756 PRG:5756 A9 30 + sta PlayerScore ; CPU:$D758 PRG:5758 85 B0 + lda #$D0 ; CPU:$D75A PRG:575A A9 D0 + sta ZpB1 ; CPU:$D75C PRG:575C 85 B1 + lda #$10 ; CPU:$D75E PRG:575E A9 10 + sta ZpB2 ; CPU:$D760 PRG:5760 85 B2 + lda #$F0 ; CPU:$D762 PRG:5762 A9 F0 + sta ZpB3 ; CPU:$D764 PRG:5764 85 B3 + jmp Sub_AA00 ; CPU:$D766 PRG:5766 4C 00 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_D769 +; Global: Branch target inside Sub: taken when D769. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D769: + lda $053D ; CPU:$D769 PRG:5769 AD 3D 05 + sec ; CPU:$D76C PRG:576C 38 + sbc #$10 ; CPU:$D76D PRG:576D E9 10 + bcs NmiHandler_Loop92 ; CPU:$D76F PRG:576F B0 14 + sec ; CPU:$D771 PRG:5771 38 + sbc #$10 ; CPU:$D772 PRG:5772 E9 10 + sta $053D,y ; CPU:$D774 PRG:5774 99 3D 05 + sec ; CPU:$D777 PRG:5777 38 + lda $0524,y ; CPU:$D778 PRG:5778 B9 24 05 + sbc #$01 ; CPU:$D77B PRG:577B E9 01 + and #$01 ; CPU:$D77D PRG:577D 29 01 + sta $0524,y ; CPU:$D77F PRG:577F 99 24 05 + jmp Sub_D78E ; CPU:$D782 PRG:5782 4C 8E D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop92: + sta $053D,y ; CPU:$D785 PRG:5785 99 3D 05 + lda $0524 ; CPU:$D788 PRG:5788 AD 24 05 + sta $0524,y ; CPU:$D78B PRG:578B 99 24 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_D78E +; Global: Branch target inside Sub: taken when D78E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D78E: + lda $0588 ; CPU:$D78E PRG:578E AD 88 05 + sta $0588,y ; CPU:$D791 PRG:5791 99 88 05 + lda $056F ; CPU:$D794 PRG:5794 AD 6F 05 + sta $056F,y ; CPU:$D797 PRG:5797 99 6F 05 + rts ; CPU:$D79A PRG:579A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D79B +; Global: Branch target inside Sub: taken when D79B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D79B: + lda $0437 ; CPU:$D79B PRG:579B AD 37 04 + cmp #$FF ; CPU:$D79E PRG:579E C9 FF + rts ; CPU:$D7A0 PRG:57A0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7A1 +; Global: Branch target inside Sub: taken when D7A1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7A1: + lda #$FF ; CPU:$D7A1 PRG:57A1 A9 FF + sta $07C5 ; CPU:$D7A3 PRG:57A3 8D C5 07 + sta $0718 ; CPU:$D7A6 PRG:57A6 8D 18 07 + lda #$00 ; CPU:$D7A9 PRG:57A9 A9 00 + sta $0439 ; CPU:$D7AB PRG:57AB 8D 39 04 + sta $043A ; CPU:$D7AE PRG:57AE 8D 3A 04 + sta $043B ; CPU:$D7B1 PRG:57B1 8D 3B 04 + sta $043C ; CPU:$D7B4 PRG:57B4 8D 3C 04 + lda PpuMaskShadow ; CPU:$D7B7 PRG:57B7 A5 8D + and #$E7 ; CPU:$D7B9 PRG:57B9 29 E7 + sta PpuMaskShadow ; CPU:$D7BB PRG:57BB 85 8D + jsr Sub_C275 ; CPU:$D7BD PRG:57BD 20 75 C2 + jsr Sub_E240 ; CPU:$D7C0 PRG:57C0 20 40 E2 + lda $07BC ; CPU:$D7C3 PRG:57C3 AD BC 07 + bne NmiHandler_Loop93 ; CPU:$D7C6 PRG:57C6 D0 05 + lda $0437 ; CPU:$D7C8 PRG:57C8 AD 37 04 + beq NmiHandler_Loop94 ; CPU:$D7CB PRG:57CB F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop93: + lda $0435 ; CPU:$D7CD PRG:57CD AD 35 04 + sta $03A1 ; CPU:$D7D0 PRG:57D0 8D A1 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop94: + jsr Sub_8000 ; CPU:$D7D3 PRG:57D3 20 00 80 + jsr Sub_A73E ; CPU:$D7D6 PRG:57D6 20 3E A7 + lda #$00 ; CPU:$D7D9 PRG:57D9 A9 00 + sta VramWritePtrHi ; CPU:$D7DB PRG:57DB 85 8B + sta VramWritePtrLo ; CPU:$D7DD PRG:57DD 85 8A + jsr Sub_AC14 ; CPU:$D7DF PRG:57DF 20 14 AC + lda PpuMaskShadow ; CPU:$D7E2 PRG:57E2 A5 8D + ora #$18 ; CPU:$D7E4 PRG:57E4 09 18 + sta PpuMaskShadow ; CPU:$D7E6 PRG:57E6 85 8D + jsr Sub_C275 ; CPU:$D7E8 PRG:57E8 20 75 C2 + lda #$08 ; CPU:$D7EB PRG:57EB A9 08 + jsr Sub_C1F5 ; CPU:$D7ED PRG:57ED 20 F5 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7F0 +; Global: Branch target inside Sub: taken when D7F0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7F0: + lda #$00 ; CPU:$D7F0 PRG:57F0 A9 00 + sta $0433 ; CPU:$D7F2 PRG:57F2 8D 33 04 + sec ; CPU:$D7F5 PRG:57F5 38 + sbc $03A1 ; CPU:$D7F6 PRG:57F6 ED A1 03 + lsr a ; CPU:$D7F9 PRG:57F9 4A + lsr a ; CPU:$D7FA PRG:57FA 4A + lsr a ; CPU:$D7FB PRG:57FB 4A + sta $0438 ; CPU:$D7FC PRG:57FC 8D 38 04 + lda #$20 ; CPU:$D7FF PRG:57FF A9 20 + sec ; CPU:$D801 PRG:5801 38 + sbc $0438 ; CPU:$D802 PRG:5802 ED 38 04 + sta $0434 ; CPU:$D805 PRG:5805 8D 34 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D808 +; Global: Branch target inside Sub: taken when D808. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D808: + sec ; CPU:$D808 PRG:5808 38 + sbc #$0A ; CPU:$D809 PRG:5809 E9 0A + bcc NmiHandler_Loop95 ; CPU:$D80B PRG:580B 90 09 + sta $0434 ; CPU:$D80D PRG:580D 8D 34 04 + inc $0433 ; CPU:$D810 PRG:5810 EE 33 04 + jmp Sub_D808 ; CPU:$D813 PRG:5813 4C 08 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop95: + lda $07BC ; CPU:$D816 PRG:5816 AD BC 07 + bne NmiHandler_Loop96 ; CPU:$D819 PRG:5819 D0 08 + lda $048E ; CPU:$D81B PRG:581B AD 8E 04 + ora #$40 ; CPU:$D81E PRG:581E 09 40 + sta $048E ; CPU:$D820 PRG:5820 8D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop96: + ldy #$01 ; CPU:$D823 PRG:5823 A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear21 +; Global: Branch target inside NmiHandler: taken when OnCarryClear21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear21: + lda $048E,y ; CPU:$D825 PRG:5825 B9 8E 04 + and #$08 ; CPU:$D828 PRG:5828 29 08 + beq NmiHandler_Loop97 ; CPU:$D82A PRG:582A F0 1F + lda $048E,y ; CPU:$D82C PRG:582C B9 8E 04 + and #$EF ; CPU:$D82F PRG:582F 29 EF + ora #$02 ; CPU:$D831 PRG:5831 09 02 + sta $048E,y ; CPU:$D833 PRG:5833 99 8E 04 + lda #$00 ; CPU:$D836 PRG:5836 A9 00 + sta $050B,y ; CPU:$D838 PRG:5838 99 0B 05 + iny ; CPU:$D83B PRG:583B C8 + cpy #$03 ; CPU:$D83C PRG:583C C0 03 + bcc NmiHandler_OnCarryClear21 ; CPU:$D83E PRG:583E 90 E5 + lda $048E ; CPU:$D840 PRG:5840 AD 8E 04 + ora #$04 ; CPU:$D843 PRG:5843 09 04 + sta $048E ; CPU:$D845 PRG:5845 8D 8E 04 + jmp Sub_D850 ; CPU:$D848 PRG:5848 4C 50 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop97: + iny ; CPU:$D84B PRG:584B C8 + cpy #$03 ; CPU:$D84C PRG:584C C0 03 + bcc NmiHandler_OnCarryClear21 ; CPU:$D84E PRG:584E 90 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D850 +; Global: Branch target inside Sub: taken when D850. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D850: + lda #$03 ; CPU:$D850 PRG:5850 A9 03 + sta $0436 ; CPU:$D852 PRG:5852 8D 36 04 + ldx #$0B ; CPU:$D855 PRG:5855 A2 0B + lda #$00 ; CPU:$D857 PRG:5857 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear22 +; Global: Branch target inside NmiHandler: taken when OnCarryClear22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear22: + sta $048E,x ; CPU:$D859 PRG:5859 9D 8E 04 + inx ; CPU:$D85C PRG:585C E8 + cpx #$0E ; CPU:$D85D PRG:585D E0 0E + bcc NmiHandler_OnCarryClear22 ; CPU:$D85F PRG:585F 90 F8 + lda #$1A ; CPU:$D861 PRG:5861 A9 1A + jsr Sub_C1F5 ; CPU:$D863 PRG:5863 20 F5 C1 + lda #$1C ; CPU:$D866 PRG:5866 A9 1C + jsr Sub_C1F5 ; CPU:$D868 PRG:5868 20 F5 C1 + jsr Sub_BC86 ; CPU:$D86B PRG:586B 20 86 BC + lda $0384 ; CPU:$D86E PRG:586E AD 84 03 + bne NmiHandler_Loop98 ; CPU:$D871 PRG:5871 D0 18 + lda $0437 ; CPU:$D873 PRG:5873 AD 37 04 + beq NmiHandler_Loop98 ; CPU:$D876 PRG:5876 F0 13 + lda #$04 ; CPU:$D878 PRG:5878 A9 04 + jsr Sub_A06B ; CPU:$D87A PRG:587A 20 6B A0 + lda #$05 ; CPU:$D87D PRG:587D A9 05 + jsr Sub_A06B ; CPU:$D87F PRG:587F 20 6B A0 + lda #$06 ; CPU:$D882 PRG:5882 A9 06 + jsr Sub_A06B ; CPU:$D884 PRG:5884 20 6B A0 + lda #$00 ; CPU:$D887 PRG:5887 A9 00 + sta ZpC9 ; CPU:$D889 PRG:5889 85 C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop98: + ldy #$0E ; CPU:$D88B PRG:588B A0 0E + sty $071D ; CPU:$D88D PRG:588D 8C 1D 07 + lda #$AA ; CPU:$D890 PRG:5890 A9 AA + sta $071E ; CPU:$D892 PRG:5892 8D 1E 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero15: + ldy $071D ; CPU:$D895 PRG:5895 AC 1D 07 + lda $071E ; CPU:$D898 PRG:5898 AD 1E 07 + sta $04D9,y ; CPU:$D89B PRG:589B 99 D9 04 + tya ; CPU:$D89E PRG:589E 98 + sec ; CPU:$D89F PRG:589F 38 + sbc #$0D ; CPU:$D8A0 PRG:58A0 E9 0D + asl a ; CPU:$D8A2 PRG:58A2 0A + clc ; CPU:$D8A3 PRG:58A3 18 + adc #$08 ; CPU:$D8A4 PRG:58A4 69 08 + jsr Sub_C1F5 ; CPU:$D8A6 PRG:58A6 20 F5 C1 + inc $071E ; CPU:$D8A9 PRG:58A9 EE 1E 07 + inc $071D ; CPU:$D8AC PRG:58AC EE 1D 07 + lda $071D ; CPU:$D8AF PRG:58AF AD 1D 07 + cmp #$13 ; CPU:$D8B2 PRG:58B2 C9 13 + bne NmiHandler_OnNonzero15 ; CPU:$D8B4 PRG:58B4 D0 DF + ldx #$00 ; CPU:$D8B6 PRG:58B6 A2 00 + ldy #$00 ; CPU:$D8B8 PRG:58B8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear23 +; Global: Branch target inside NmiHandler: taken when OnCarryClear23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear23: + lda $E25F,y ; CPU:$D8BA PRG:58BA B9 5F E2 + sta $0230,x ; CPU:$D8BD PRG:58BD 9D 30 02 + inx ; CPU:$D8C0 PRG:58C0 E8 + iny ; CPU:$D8C1 PRG:58C1 C8 + cpy #$08 ; CPU:$D8C2 PRG:58C2 C0 08 + bcc NmiHandler_OnCarryClear23 ; CPU:$D8C4 PRG:58C4 90 F4 + ldx #$01 ; CPU:$D8C6 PRG:58C6 A2 01 + ldy #$00 ; CPU:$D8C8 PRG:58C8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear24 +; Global: Branch target inside NmiHandler: taken when OnCarryClear24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear24: + lda $0433,y ; CPU:$D8CA PRG:58CA B9 33 04 + sta $0230,x ; CPU:$D8CD PRG:58CD 9D 30 02 + iny ; CPU:$D8D0 PRG:58D0 C8 + inx ; CPU:$D8D1 PRG:58D1 E8 + inx ; CPU:$D8D2 PRG:58D2 E8 + inx ; CPU:$D8D3 PRG:58D3 E8 + inx ; CPU:$D8D4 PRG:58D4 E8 + cpy #$02 ; CPU:$D8D5 PRG:58D5 C0 02 + bcc NmiHandler_OnCarryClear24 ; CPU:$D8D7 PRG:58D7 90 F1 + ldx #$08 ; CPU:$D8D9 PRG:58D9 A2 08 + ldy #$00 ; CPU:$D8DB PRG:58DB A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear25 +; Global: Branch target inside NmiHandler: taken when OnCarryClear25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear25: + lda $E267,y ; CPU:$D8DD PRG:58DD B9 67 E2 + sta $0230,x ; CPU:$D8E0 PRG:58E0 9D 30 02 + inx ; CPU:$D8E3 PRG:58E3 E8 + iny ; CPU:$D8E4 PRG:58E4 C8 + cpy #$08 ; CPU:$D8E5 PRG:58E5 C0 08 + bcc NmiHandler_OnCarryClear25 ; CPU:$D8E7 PRG:58E7 90 F4 + ldx #$09 ; CPU:$D8E9 PRG:58E9 A2 09 + ldy #$00 ; CPU:$D8EB PRG:58EB A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear26 +; Global: Branch target inside NmiHandler: taken when OnCarryClear26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear26: + lda $0431,y ; CPU:$D8ED PRG:58ED B9 31 04 + sta $0230,x ; CPU:$D8F0 PRG:58F0 9D 30 02 + iny ; CPU:$D8F3 PRG:58F3 C8 + inx ; CPU:$D8F4 PRG:58F4 E8 + inx ; CPU:$D8F5 PRG:58F5 E8 + inx ; CPU:$D8F6 PRG:58F6 E8 + inx ; CPU:$D8F7 PRG:58F7 E8 + cpy #$02 ; CPU:$D8F8 PRG:58F8 C0 02 + bcc NmiHandler_OnCarryClear26 ; CPU:$D8FA PRG:58FA 90 F1 + lda #$FF ; CPU:$D8FC PRG:58FC A9 FF + sta $078C ; CPU:$D8FE PRG:58FE 8D 8C 07 + lda #$3C ; CPU:$D901 PRG:5901 A9 3C + sta $070A ; CPU:$D903 PRG:5903 8D 0A 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_D906 +; Global: Branch target inside Sub: taken when D906. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D906: + dec $070A ; CPU:$D906 PRG:5906 CE 0A 07 + beq NmiHandler_Loop99 ; CPU:$D909 PRG:5909 F0 19 + jsr Sub_DE82 ; CPU:$D90B PRG:590B 20 82 DE + lda #$40 ; CPU:$D90E PRG:590E A9 40 + sta $03A7 ; CPU:$D910 PRG:5910 8D A7 03 + lda #$FF ; CPU:$D913 PRG:5913 A9 FF + sta $03A8 ; CPU:$D915 PRG:5915 8D A8 03 + sta $03A9 ; CPU:$D918 PRG:5918 8D A9 03 + jsr Sub_804C ; CPU:$D91B PRG:591B 20 4C 80 + jsr Sub_C275 ; CPU:$D91E PRG:591E 20 75 C2 + jmp Sub_D906 ; CPU:$D921 PRG:5921 4C 06 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop99: + lda $0437 ; CPU:$D924 PRG:5924 AD 37 04 + bne NmiHandler_Loop100 ; CPU:$D927 PRG:5927 D0 1D +; ----------------------------------------------------------------------------- +; Routine: Sub_D929 +; Global: Branch target inside Sub: taken when D929. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D929: + lda $048E ; CPU:$D929 PRG:5929 AD 8E 04 + and #$40 ; CPU:$D92C PRG:592C 29 40 + beq NmiHandler_Loop100 ; CPU:$D92E PRG:592E F0 16 + lda #$40 ; CPU:$D930 PRG:5930 A9 40 + sta $03A7 ; CPU:$D932 PRG:5932 8D A7 03 + lda #$FF ; CPU:$D935 PRG:5935 A9 FF + sta $03A8 ; CPU:$D937 PRG:5937 8D A8 03 + sta $03A9 ; CPU:$D93A PRG:593A 8D A9 03 + jsr Sub_804C ; CPU:$D93D PRG:593D 20 4C 80 + jsr Sub_C275 ; CPU:$D940 PRG:5940 20 75 C2 + jmp Sub_D929 ; CPU:$D943 PRG:5943 4C 29 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop100: + ldy #$0E ; CPU:$D946 PRG:5946 A0 0E + sty $071D ; CPU:$D948 PRG:5948 8C 1D 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero16: + ldy $071D ; CPU:$D94B PRG:594B AC 1D 07 + lda #$00 ; CPU:$D94E PRG:594E A9 00 + sta $048E,y ; CPU:$D950 PRG:5950 99 8E 04 + tya ; CPU:$D953 PRG:5953 98 + sec ; CPU:$D954 PRG:5954 38 + sbc #$0D ; CPU:$D955 PRG:5955 E9 0D + asl a ; CPU:$D957 PRG:5957 0A + clc ; CPU:$D958 PRG:5958 18 + adc #$08 ; CPU:$D959 PRG:5959 69 08 + jsr Sub_C240 ; CPU:$D95B PRG:595B 20 40 C2 + inc $071D ; CPU:$D95E PRG:595E EE 1D 07 + lda $071D ; CPU:$D961 PRG:5961 AD 1D 07 + cmp #$13 ; CPU:$D964 PRG:5964 C9 13 + bne NmiHandler_OnNonzero16 ; CPU:$D966 PRG:5966 D0 E3 + jsr Sub_C275 ; CPU:$D968 PRG:5968 20 75 C2 + lda #$00 ; CPU:$D96B PRG:596B A9 00 + sta $078C ; CPU:$D96D PRG:596D 8D 8C 07 + lda $03A1 ; CPU:$D970 PRG:5970 AD A1 03 + lsr a ; CPU:$D973 PRG:5973 4A + lsr a ; CPU:$D974 PRG:5974 4A + and #$3E ; CPU:$D975 PRG:5975 29 3E + tay ; CPU:$D977 PRG:5977 A8 + lda $E26F,y ; CPU:$D978 PRG:5978 B9 6F E2 + sta ZpD4 ; CPU:$D97B PRG:597B 85 D4 + iny ; CPU:$D97D PRG:597D C8 + lda $E26F,y ; CPU:$D97E PRG:597E B9 6F E2 + sta ZpD5 ; CPU:$D981 PRG:5981 85 D5 + lda $03A1 ; CPU:$D983 PRG:5983 AD A1 03 + beq NmiHandler_Loop101 ; CPU:$D986 PRG:5986 F0 27 +; ----------------------------------------------------------------------------- +; Routine: Sub_D988 +; Global: Branch target inside Sub: taken when D988. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D988: + ldy #$00 ; CPU:$D988 PRG:5988 A0 00 + lda (ZpD4),y ; CPU:$D98A PRG:598A B1 D4 + and #$07 ; CPU:$D98C PRG:598C 29 07 + sta PlayerScore ; CPU:$D98E PRG:598E 85 B0 + lda $03A1 ; CPU:$D990 PRG:5990 AD A1 03 + and #$07 ; CPU:$D993 PRG:5993 29 07 + sta ZpB1 ; CPU:$D995 PRG:5995 85 B1 + lda PlayerScore ; CPU:$D997 PRG:5997 A5 B0 + cmp ZpB1 ; CPU:$D999 PRG:5999 C5 B1 + beq NmiHandler_Loop101 ; CPU:$D99B PRG:599B F0 12 + bcc NmiHandler_Loop101 ; CPU:$D99D PRG:599D 90 10 + lda ZpD4 ; CPU:$D99F PRG:599F A5 D4 + clc ; CPU:$D9A1 PRG:59A1 18 + adc #$03 ; CPU:$D9A2 PRG:59A2 69 03 + sta ZpD4 ; CPU:$D9A4 PRG:59A4 85 D4 + lda ZpD5 ; CPU:$D9A6 PRG:59A6 A5 D5 + adc #$00 ; CPU:$D9A8 PRG:59A8 69 00 + sta ZpD5 ; CPU:$D9AA PRG:59AA 85 D5 + jmp Sub_D988 ; CPU:$D9AC PRG:59AC 4C 88 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop101: + jsr Sub_DE92 ; CPU:$D9AF PRG:59AF 20 92 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_D9B2 +; Global: Branch target inside Sub: taken when D9B2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9B2: + ldy #$00 ; CPU:$D9B2 PRG:59B2 A0 00 + lda (ZpD4),y ; CPU:$D9B4 PRG:59B4 B1 D4 + and #$07 ; CPU:$D9B6 PRG:59B6 29 07 + sta PlayerScore ; CPU:$D9B8 PRG:59B8 85 B0 + lda $03A1 ; CPU:$D9BA PRG:59BA AD A1 03 + and #$07 ; CPU:$D9BD PRG:59BD 29 07 + sta ZpB1 ; CPU:$D9BF PRG:59BF 85 B1 + lda PlayerScore ; CPU:$D9C1 PRG:59C1 A5 B0 + cmp ZpB1 ; CPU:$D9C3 PRG:59C3 C5 B1 + beq NmiHandler_Loop103 ; CPU:$D9C5 PRG:59C5 F0 08 + bcs NmiHandler_Loop102 ; CPU:$D9C7 PRG:59C7 B0 03 + jmp Sub_DA81 ; CPU:$D9C9 PRG:59C9 4C 81 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop102: + jmp NmiHandler_Loop109 ; CPU:$D9CC PRG:59CC 4C 71 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop103: + iny ; CPU:$D9CF PRG:59CF C8 + lda (ZpD4),y ; CPU:$D9D0 PRG:59D0 B1 D4 + cmp $03A0 ; CPU:$D9D2 PRG:59D2 CD A0 03 + bcs NmiHandler_Loop104 ; CPU:$D9D5 PRG:59D5 B0 03 + jmp Sub_DA81 ; CPU:$D9D7 PRG:59D7 4C 81 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop104: + ldy #$00 ; CPU:$D9DA PRG:59DA A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D9DC +; Global: Branch target inside Sub: taken when D9DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9DC: + lda $06CD,y ; CPU:$D9DC PRG:59DC B9 CD 06 + cmp #$FF ; CPU:$D9DF PRG:59DF C9 FF + beq NmiHandler_Loop106 ; CPU:$D9E1 PRG:59E1 F0 0F + tya ; CPU:$D9E3 PRG:59E3 98 + clc ; CPU:$D9E4 PRG:59E4 18 + adc #$05 ; CPU:$D9E5 PRG:59E5 69 05 + cmp #$3C ; CPU:$D9E7 PRG:59E7 C9 3C + bcc NmiHandler_Loop105 ; CPU:$D9E9 PRG:59E9 90 03 + jmp Sub_DA81 ; CPU:$D9EB PRG:59EB 4C 81 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop105: + tay ; CPU:$D9EE PRG:59EE A8 + jmp Sub_D9DC ; CPU:$D9EF PRG:59EF 4C DC D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop106: + sty $071E ; CPU:$D9F2 PRG:59F2 8C 1E 07 + ldy #$02 ; CPU:$D9F5 PRG:59F5 A0 02 + lda (ZpD4),y ; CPU:$D9F7 PRG:59F7 B1 D4 + cmp #$10 ; CPU:$D9F9 PRG:59F9 C9 10 + bcc NmiHandler_Loop108 ; CPU:$D9FB PRG:59FB 90 21 + cmp #$27 ; CPU:$D9FD PRG:59FD C9 27 + bcs NmiHandler_Loop108 ; CPU:$D9FF PRG:59FF B0 1D + sta PlayerScore ; CPU:$DA01 PRG:5A01 85 B0 + ldx #$00 ; CPU:$DA03 PRG:5A03 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear27 +; Global: Branch target inside NmiHandler: taken when OnCarryClear27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear27: + lda $EBF5,x ; CPU:$DA05 PRG:5A05 BD F5 EB + cmp PlayerScore ; CPU:$DA08 PRG:5A08 C5 B0 + beq NmiHandler_Loop107 ; CPU:$DA0A PRG:5A0A F0 08 + inx ; CPU:$DA0C PRG:5A0C E8 + cpx #$05 ; CPU:$DA0D PRG:5A0D E0 05 + bcc NmiHandler_OnCarryClear27 ; CPU:$DA0F PRG:5A0F 90 F4 + jmp Sub_DA1C ; CPU:$DA11 PRG:5A11 4C 1C DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop107: + lda #$00 ; CPU:$DA14 PRG:5A14 A9 00 + sta $0717 ; CPU:$DA16 PRG:5A16 8D 17 07 + jsr Sub_DE92 ; CPU:$DA19 PRG:5A19 20 92 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_DA1C +; Global: Branch target inside Sub: taken when DA1C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA1C: + lda PlayerScore ; CPU:$DA1C PRG:5A1C A5 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop108: + asl a ; CPU:$DA1E PRG:5A1E 0A + asl a ; CPU:$DA1F PRG:5A1F 0A + tay ; CPU:$DA20 PRG:5A20 A8 + lda $EB19,y ; CPU:$DA21 PRG:5A21 B9 19 EB + sta ZpB1 ; CPU:$DA24 PRG:5A24 85 B1 + iny ; CPU:$DA26 PRG:5A26 C8 + lda $EB19,y ; CPU:$DA27 PRG:5A27 B9 19 EB + sta ZpB2 ; CPU:$DA2A PRG:5A2A 85 B2 + iny ; CPU:$DA2C PRG:5A2C C8 + lda $EB19,y ; CPU:$DA2D PRG:5A2D B9 19 EB + sta ZpB3 ; CPU:$DA30 PRG:5A30 85 B3 + iny ; CPU:$DA32 PRG:5A32 C8 + lda $EB19,y ; CPU:$DA33 PRG:5A33 B9 19 EB + sta ZpB4 ; CPU:$DA36 PRG:5A36 85 B4 + ldy $071E ; CPU:$DA38 PRG:5A38 AC 1E 07 + lda ZpB1 ; CPU:$DA3B PRG:5A3B A5 B1 + sta $06CD,y ; CPU:$DA3D PRG:5A3D 99 CD 06 + iny ; CPU:$DA40 PRG:5A40 C8 + lda ZpB2 ; CPU:$DA41 PRG:5A41 A5 B2 + sta $06CD,y ; CPU:$DA43 PRG:5A43 99 CD 06 + iny ; CPU:$DA46 PRG:5A46 C8 + sta $06CD,y ; CPU:$DA47 PRG:5A47 99 CD 06 + iny ; CPU:$DA4A PRG:5A4A C8 + lda ZpB3 ; CPU:$DA4B PRG:5A4B A5 B3 + sta $06CD,y ; CPU:$DA4D PRG:5A4D 99 CD 06 + iny ; CPU:$DA50 PRG:5A50 C8 + lda ZpB4 ; CPU:$DA51 PRG:5A51 A5 B4 + sta $06CD,y ; CPU:$DA53 PRG:5A53 99 CD 06 + ldy #$02 ; CPU:$DA56 PRG:5A56 A0 02 + lda (ZpD4),y ; CPU:$DA58 PRG:5A58 B1 D4 + cmp #$10 ; CPU:$DA5A PRG:5A5A C9 10 + bcs NmiHandler_Loop109 ; CPU:$DA5C PRG:5A5C B0 13 + sta $0709 ; CPU:$DA5E PRG:5A5E 8D 09 07 + asl a ; CPU:$DA61 PRG:5A61 0A + asl a ; CPU:$DA62 PRG:5A62 0A + tay ; CPU:$DA63 PRG:5A63 A8 + lda $EBDD,y ; CPU:$DA64 PRG:5A64 B9 DD EB + sta $070A ; CPU:$DA67 PRG:5A67 8D 0A 07 + iny ; CPU:$DA6A PRG:5A6A C8 + lda $EBDD,y ; CPU:$DA6B PRG:5A6B B9 DD EB + sta $070B ; CPU:$DA6E PRG:5A6E 8D 0B 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop109: + lda ZpD4 ; CPU:$DA71 PRG:5A71 A5 D4 + clc ; CPU:$DA73 PRG:5A73 18 + adc #$03 ; CPU:$DA74 PRG:5A74 69 03 + sta ZpD4 ; CPU:$DA76 PRG:5A76 85 D4 + lda ZpD5 ; CPU:$DA78 PRG:5A78 A5 D5 + adc #$00 ; CPU:$DA7A PRG:5A7A 69 00 + sta ZpD5 ; CPU:$DA7C PRG:5A7C 85 D5 + jmp Sub_D9B2 ; CPU:$DA7E PRG:5A7E 4C B2 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA81 +; Global: Branch target inside Sub: taken when DA81. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA81: + lda #$00 ; CPU:$DA81 PRG:5A81 A9 00 + sta $071E ; CPU:$DA83 PRG:5A83 8D 1E 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear28 +; Global: Branch target inside NmiHandler: taken when OnCarryClear28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear28: + ldy $071E ; CPU:$DA86 PRG:5A86 AC 1E 07 + lda $06CD,y ; CPU:$DA89 PRG:5A89 B9 CD 06 + cmp #$FF ; CPU:$DA8C PRG:5A8C C9 FF + beq NmiHandler_Loop110 ; CPU:$DA8E PRG:5A8E F0 0C + iny ; CPU:$DA90 PRG:5A90 C8 + lda $06CD,y ; CPU:$DA91 PRG:5A91 B9 CD 06 + sec ; CPU:$DA94 PRG:5A94 38 + sbc #$01 ; CPU:$DA95 PRG:5A95 E9 01 + beq NmiHandler_Loop111 ; CPU:$DA97 PRG:5A97 F0 13 + sta $06CD,y ; CPU:$DA99 PRG:5A99 99 CD 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop110: + lda $071E ; CPU:$DA9C PRG:5A9C AD 1E 07 + clc ; CPU:$DA9F PRG:5A9F 18 + adc #$05 ; CPU:$DAA0 PRG:5AA0 69 05 + sta $071E ; CPU:$DAA2 PRG:5AA2 8D 1E 07 + cmp #$3C ; CPU:$DAA5 PRG:5AA5 C9 3C + bcc NmiHandler_OnCarryClear28 ; CPU:$DAA7 PRG:5AA7 90 DD + jmp Sub_DB42 ; CPU:$DAA9 PRG:5AA9 4C 42 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop111: + iny ; CPU:$DAAC PRG:5AAC C8 + lda $06CD,y ; CPU:$DAAD PRG:5AAD B9 CD 06 + dey ; CPU:$DAB0 PRG:5AB0 88 + sta $06CD,y ; CPU:$DAB1 PRG:5AB1 99 CD 06 + ldy $071E ; CPU:$DAB4 PRG:5AB4 AC 1E 07 + tya ; CPU:$DAB7 PRG:5AB7 98 + clc ; CPU:$DAB8 PRG:5AB8 18 + adc #$03 ; CPU:$DAB9 PRG:5AB9 69 03 + tay ; CPU:$DABB PRG:5ABB A8 + lda $06CD,y ; CPU:$DABC PRG:5ABC B9 CD 06 + sta $071B ; CPU:$DABF PRG:5ABF 8D 1B 07 + ldy #$0E ; CPU:$DAC2 PRG:5AC2 A0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear29 +; Global: Branch target inside NmiHandler: taken when OnCarryClear29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear29: + lda $048E,y ; CPU:$DAC4 PRG:5AC4 B9 8E 04 + and #$08 ; CPU:$DAC7 PRG:5AC7 29 08 + beq NmiHandler_Loop112 ; CPU:$DAC9 PRG:5AC9 F0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero17: + iny ; CPU:$DACB PRG:5ACB C8 + cpy #$16 ; CPU:$DACC PRG:5ACC C0 16 + bcc NmiHandler_OnCarryClear29 ; CPU:$DACE PRG:5ACE 90 F4 + jmp Sub_DB23 ; CPU:$DAD0 PRG:5AD0 4C 23 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop112: + sty $071D ; CPU:$DAD3 PRG:5AD3 8C 1D 07 + ldy $071E ; CPU:$DAD6 PRG:5AD6 AC 1E 07 + lda $06CD,y ; CPU:$DAD9 PRG:5AD9 B9 CD 06 + ldy $071D ; CPU:$DADC PRG:5ADC AC 1D 07 + sta $05D3,y ; CPU:$DADF PRG:5ADF 99 D3 05 + lda $048E,y ; CPU:$DAE2 PRG:5AE2 B9 8E 04 + ora #$08 ; CPU:$DAE5 PRG:5AE5 09 08 + sta $048E,y ; CPU:$DAE7 PRG:5AE7 99 8E 04 + tya ; CPU:$DAEA PRG:5AEA 98 + sec ; CPU:$DAEB PRG:5AEB 38 + sbc #$0D ; CPU:$DAEC PRG:5AEC E9 0D + asl a ; CPU:$DAEE PRG:5AEE 0A + clc ; CPU:$DAEF PRG:5AEF 18 + adc #$08 ; CPU:$DAF0 PRG:5AF0 69 08 + jsr Sub_C1F5 ; CPU:$DAF2 PRG:5AF2 20 F5 C1 + ldy $071D ; CPU:$DAF5 PRG:5AF5 AC 1D 07 + dec $071B ; CPU:$DAF8 PRG:5AF8 CE 1B 07 + bne NmiHandler_OnNonzero17 ; CPU:$DAFB PRG:5AFB D0 CE + ldy $071E ; CPU:$DAFD PRG:5AFD AC 1E 07 + tya ; CPU:$DB00 PRG:5B00 98 + clc ; CPU:$DB01 PRG:5B01 18 + adc #$04 ; CPU:$DB02 PRG:5B02 69 04 + tay ; CPU:$DB04 PRG:5B04 A8 + lda $06CD,y ; CPU:$DB05 PRG:5B05 B9 CD 06 + dey ; CPU:$DB08 PRG:5B08 88 + sec ; CPU:$DB09 PRG:5B09 38 + sbc $06CD,y ; CPU:$DB0A PRG:5B0A F9 CD 06 + bcc NmiHandler_Loop113 ; CPU:$DB0D PRG:5B0D 90 09 + beq NmiHandler_Loop113 ; CPU:$DB0F PRG:5B0F F0 07 + iny ; CPU:$DB11 PRG:5B11 C8 + sta $06CD,y ; CPU:$DB12 PRG:5B12 99 CD 06 + jmp NmiHandler_Loop110 ; CPU:$DB15 PRG:5B15 4C 9C DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop113: + ldy $071E ; CPU:$DB18 PRG:5B18 AC 1E 07 + lda #$FF ; CPU:$DB1B PRG:5B1B A9 FF + sta $06CD,y ; CPU:$DB1D PRG:5B1D 99 CD 06 + jmp NmiHandler_Loop110 ; CPU:$DB20 PRG:5B20 4C 9C DA +; ----------------------------------------------------------------------------- +; Routine: Sub_DB23 +; Global: Branch target inside Sub: taken when DB23. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB23: + ldy $071E ; CPU:$DB23 PRG:5B23 AC 1E 07 + tya ; CPU:$DB26 PRG:5B26 98 + clc ; CPU:$DB27 PRG:5B27 18 + adc #$03 ; CPU:$DB28 PRG:5B28 69 03 + tay ; CPU:$DB2A PRG:5B2A A8 + lda $06CD,y ; CPU:$DB2B PRG:5B2B B9 CD 06 + sec ; CPU:$DB2E PRG:5B2E 38 + sbc $071B ; CPU:$DB2F PRG:5B2F ED 1B 07 + sta PlayerScore ; CPU:$DB32 PRG:5B32 85 B0 + iny ; CPU:$DB34 PRG:5B34 C8 + lda $06CD,y ; CPU:$DB35 PRG:5B35 B9 CD 06 + sec ; CPU:$DB38 PRG:5B38 38 + sbc PlayerScore ; CPU:$DB39 PRG:5B39 E5 B0 + bcc NmiHandler_Loop113 ; CPU:$DB3B PRG:5B3B 90 DB + beq NmiHandler_Loop113 ; CPU:$DB3D PRG:5B3D F0 D9 + sta $06CD,y ; CPU:$DB3F PRG:5B3F 99 CD 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB42 +; Global: Branch target inside Sub: taken when DB42. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB42: + lda $070A ; CPU:$DB42 PRG:5B42 AD 0A 07 + ora $070B ; CPU:$DB45 PRG:5B45 0D 0B 07 + beq NmiHandler_Loop114 ; CPU:$DB48 PRG:5B48 F0 10 + dec $070A ; CPU:$DB4A PRG:5B4A CE 0A 07 + lda $070A ; CPU:$DB4D PRG:5B4D AD 0A 07 + cmp #$FF ; CPU:$DB50 PRG:5B50 C9 FF + bne NmiHandler_Loop115 ; CPU:$DB52 PRG:5B52 D0 1E + dec $070B ; CPU:$DB54 PRG:5B54 CE 0B 07 + jmp NmiHandler_Loop115 ; CPU:$DB57 PRG:5B57 4C 72 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop114: + lda #$01 ; CPU:$DB5A PRG:5B5A A9 01 + sta $070C ; CPU:$DB5C PRG:5B5C 8D 0C 07 + lda $0709 ; CPU:$DB5F PRG:5B5F AD 09 07 + asl a ; CPU:$DB62 PRG:5B62 0A + asl a ; CPU:$DB63 PRG:5B63 0A + tay ; CPU:$DB64 PRG:5B64 A8 + lda $EBDD,y ; CPU:$DB65 PRG:5B65 B9 DD EB + sta $070A ; CPU:$DB68 PRG:5B68 8D 0A 07 + iny ; CPU:$DB6B PRG:5B6B C8 + lda $EBDD,y ; CPU:$DB6C PRG:5B6C B9 DD EB + sta $070B ; CPU:$DB6F PRG:5B6F 8D 0B 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop115: + lda $0718 ; CPU:$DB72 PRG:5B72 AD 18 07 + cmp #$FF ; CPU:$DB75 PRG:5B75 C9 FF + bne NmiHandler_Loop116 ; CPU:$DB77 PRG:5B77 D0 03 + jmp NmiHandler_Loop122 ; CPU:$DB79 PRG:5B79 4C 01 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop116: + cmp #$00 ; CPU:$DB7C PRG:5B7C C9 00 + beq NmiHandler_Loop117 ; CPU:$DB7E PRG:5B7E F0 12 + cmp #$01 ; CPU:$DB80 PRG:5B80 C9 01 + beq NmiHandler_Loop119 ; CPU:$DB82 PRG:5B82 F0 1F + cmp #$02 ; CPU:$DB84 PRG:5B84 C9 02 + beq NmiHandler_Loop121 ; CPU:$DB86 PRG:5B86 F0 34 + cmp #$03 ; CPU:$DB88 PRG:5B88 C9 03 + beq NmiHandler_Loop118 ; CPU:$DB8A PRG:5B8A F0 11 + jsr Sub_AD0E ; CPU:$DB8C PRG:5B8C 20 0E AD + jmp NmiHandler_Loop122 ; CPU:$DB8F PRG:5B8F 4C 01 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop117: + lda $048E ; CPU:$DB92 PRG:5B92 AD 8E 04 + ora #$02 ; CPU:$DB95 PRG:5B95 09 02 + sta $048E ; CPU:$DB97 PRG:5B97 8D 8E 04 + jmp NmiHandler_Loop122 ; CPU:$DB9A PRG:5B9A 4C 01 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop118: + jsr Sub_E229 ; CPU:$DB9D PRG:5B9D 20 29 E2 + jmp NmiHandler_Loop122 ; CPU:$DBA0 PRG:5BA0 4C 01 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop119: + ldy #$0E ; CPU:$DBA3 PRG:5BA3 A0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_DBA5 +; Global: Branch target inside Sub: taken when DBA5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DBA5: + cpy #$16 ; CPU:$DBA5 PRG:5BA5 C0 16 + beq NmiHandler_Loop122 ; CPU:$DBA7 PRG:5BA7 F0 58 + lda $048E,y ; CPU:$DBA9 PRG:5BA9 B9 8E 04 + and #$08 ; CPU:$DBAC PRG:5BAC 29 08 + beq NmiHandler_Loop120 ; CPU:$DBAE PRG:5BAE F0 08 + lda $048E,y ; CPU:$DBB0 PRG:5BB0 B9 8E 04 + ora #$01 ; CPU:$DBB3 PRG:5BB3 09 01 + sta $048E,y ; CPU:$DBB5 PRG:5BB5 99 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop120: + iny ; CPU:$DBB8 PRG:5BB8 C8 + jmp Sub_DBA5 ; CPU:$DBB9 PRG:5BB9 4C A5 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop121: + lda $048F ; CPU:$DBBC PRG:5BBC AD 8F 04 + bmi NmiHandler_Loop122 ; CPU:$DBBF PRG:5BBF 30 40 + lda $0490 ; CPU:$DBC1 PRG:5BC1 AD 90 04 + bmi NmiHandler_Loop122 ; CPU:$DBC4 PRG:5BC4 30 3B + ldy #$01 ; CPU:$DBC6 PRG:5BC6 A0 01 + lda #$00 ; CPU:$DBC8 PRG:5BC8 A9 00 + sta $056F,y ; CPU:$DBCA PRG:5BCA 99 6F 05 + lda #$E0 ; CPU:$DBCD PRG:5BCD A9 E0 + sta $0588,y ; CPU:$DBCF PRG:5BCF 99 88 05 + iny ; CPU:$DBD2 PRG:5BD2 C8 + lda #$01 ; CPU:$DBD3 PRG:5BD3 A9 01 + sta $056F,y ; CPU:$DBD5 PRG:5BD5 99 6F 05 + lda #$20 ; CPU:$DBD8 PRG:5BD8 A9 20 + sta $0588,y ; CPU:$DBDA PRG:5BDA 99 88 05 + dey ; CPU:$DBDD PRG:5BDD 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear30 +; Global: Branch target inside NmiHandler: taken when OnCarryClear30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear30: + lda #$0A ; CPU:$DBDE PRG:5BDE A9 0A + sta $048E,y ; CPU:$DBE0 PRG:5BE0 99 8E 04 + lda #$50 ; CPU:$DBE3 PRG:5BE3 A9 50 + sta $053D,y ; CPU:$DBE5 PRG:5BE5 99 3D 05 + lda #$00 ; CPU:$DBE8 PRG:5BE8 A9 00 + sta $0524,y ; CPU:$DBEA PRG:5BEA 99 24 05 + lda #$08 ; CPU:$DBED PRG:5BED A9 08 + sta $050B,y ; CPU:$DBEF PRG:5BEF 99 0B 05 + lda #$1E ; CPU:$DBF2 PRG:5BF2 A9 1E + sta $05BA,y ; CPU:$DBF4 PRG:5BF4 99 BA 05 + lda #$03 ; CPU:$DBF7 PRG:5BF7 A9 03 + sta $04F2,y ; CPU:$DBF9 PRG:5BF9 99 F2 04 + iny ; CPU:$DBFC PRG:5BFC C8 + cpy #$03 ; CPU:$DBFD PRG:5BFD C0 03 + bcc NmiHandler_OnCarryClear30 ; CPU:$DBFF PRG:5BFF 90 DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + lda #$FF ; CPU:$DC01 PRG:5C01 A9 FF + sta $0718 ; CPU:$DC03 PRG:5C03 8D 18 07 + lda $0446 ; CPU:$DC06 PRG:5C06 AD 46 04 + bne NmiHandler_Loop123 ; CPU:$DC09 PRG:5C09 D0 12 + lda $0447 ; CPU:$DC0B PRG:5C0B AD 47 04 + cmp #$C8 ; CPU:$DC0E PRG:5C0E C9 C8 + bcc NmiHandler_Loop124 ; CPU:$DC10 PRG:5C10 90 1C + lda #$1E ; CPU:$DC12 PRG:5C12 A9 1E + jsr Sub_C1F5 ; CPU:$DC14 PRG:5C14 20 F5 C1 + inc $0446 ; CPU:$DC17 PRG:5C17 EE 46 04 + jmp Sub_DC29 ; CPU:$DC1A PRG:5C1A 4C 29 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + lda $0447 ; CPU:$DC1D PRG:5C1D AD 47 04 + cmp #$96 ; CPU:$DC20 PRG:5C20 C9 96 + bcc NmiHandler_Loop124 ; CPU:$DC22 PRG:5C22 90 0A + lda #$1E ; CPU:$DC24 PRG:5C24 A9 1E + jsr Sub_C1F5 ; CPU:$DC26 PRG:5C26 20 F5 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC29 +; Global: Branch target inside Sub: taken when DC29. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC29: + lda #$00 ; CPU:$DC29 PRG:5C29 A9 00 + sta $0447 ; CPU:$DC2B PRG:5C2B 8D 47 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: + lda $0384 ; CPU:$DC2E PRG:5C2E AD 84 03 + beq NmiHandler_Loop127 ; CPU:$DC31 PRG:5C31 F0 3F + lda $0783 ; CPU:$DC33 PRG:5C33 AD 83 07 + bne NmiHandler_Loop125 ; CPU:$DC36 PRG:5C36 D0 0E + ldy $0784 ; CPU:$DC38 PRG:5C38 AC 84 07 + iny ; CPU:$DC3B PRG:5C3B C8 + lda $E26F,y ; CPU:$DC3C PRG:5C3C B9 6F E2 + sta $0783 ; CPU:$DC3F PRG:5C3F 8D 83 07 + iny ; CPU:$DC42 PRG:5C42 C8 + sty $0784 ; CPU:$DC43 PRG:5C43 8C 84 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop125: + dec $0783 ; CPU:$DC46 PRG:5C46 CE 83 07 + ldy $0784 ; CPU:$DC49 PRG:5C49 AC 84 07 + lda $E26F,y ; CPU:$DC4C PRG:5C4C B9 6F E2 + jmp Sub_DE8E ; CPU:$DC4F PRG:5C4F 4C 8E DE +; ----------------------------------------------------------------------------- +; Routine: Label_DC52 +; Global: Branch target inside Label: taken when DC52. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC52: + lda Zp98 ; CPU:$DC52 PRG:5C52 A5 98 + cmp $0785 ; CPU:$DC54 PRG:5C54 CD 85 07 + beq NmiHandler_Loop126 ; CPU:$DC57 PRG:5C57 F0 16 + ldy $0784 ; CPU:$DC59 PRG:5C59 AC 84 07 + iny ; CPU:$DC5C PRG:5C5C C8 + sta $7000,y ; CPU:$DC5D PRG:5C5D 99 00 70 + lda $0783 ; CPU:$DC60 PRG:5C60 AD 83 07 + sta $6FFD,y ; CPU:$DC63 PRG:5C63 99 FD 6F + iny ; CPU:$DC66 PRG:5C66 C8 + lda #$00 ; CPU:$DC67 PRG:5C67 A9 00 + sta $0783 ; CPU:$DC69 PRG:5C69 8D 83 07 + sty $0784 ; CPU:$DC6C PRG:5C6C 8C 84 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop126: + inc $0783 ; CPU:$DC6F PRG:5C6F EE 83 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop127: + jsr Sub_DE82 ; CPU:$DC72 PRG:5C72 20 82 DE + lda $048C ; CPU:$DC75 PRG:5C75 AD 8C 04 + cmp #$FF ; CPU:$DC78 PRG:5C78 C9 FF + bne NmiHandler_Loop128 ; CPU:$DC7A PRG:5C7A D0 03 + jmp Sub_E1E0 ; CPU:$DC7C PRG:5C7C 4C E0 E1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop128: + lda $03A1 ; CPU:$DC7F PRG:5C7F AD A1 03 + and #$07 ; CPU:$DC82 PRG:5C82 29 07 + bne NmiHandler_Loop131 ; CPU:$DC84 PRG:5C84 D0 37 + lda $03A0 ; CPU:$DC86 PRG:5C86 AD A0 03 + cmp #$81 ; CPU:$DC89 PRG:5C89 C9 81 + bcs NmiHandler_Loop131 ; CPU:$DC8B PRG:5C8B B0 30 + cmp #$71 ; CPU:$DC8D PRG:5C8D C9 71 + bcc NmiHandler_Loop130 ; CPU:$DC8F PRG:5C8F 90 1F + ldy #$03 ; CPU:$DC91 PRG:5C91 A0 03 + lda #$00 ; CPU:$DC93 PRG:5C93 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear31 +; Global: Branch target inside NmiHandler: taken when OnCarryClear31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear31: + sta $048E,y ; CPU:$DC95 PRG:5C95 99 8E 04 + iny ; CPU:$DC98 PRG:5C98 C8 + cpy #$0B ; CPU:$DC99 PRG:5C99 C0 0B + bcc NmiHandler_OnCarryClear31 ; CPU:$DC9B PRG:5C9B 90 F8 + ldy #$0E ; CPU:$DC9D PRG:5C9D A0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear32 +; Global: Branch target inside NmiHandler: taken when OnCarryClear32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear32: + lda $048E,y ; CPU:$DC9F PRG:5C9F B9 8E 04 + beq NmiHandler_Loop129 ; CPU:$DCA2 PRG:5CA2 F0 05 + ora #$01 ; CPU:$DCA4 PRG:5CA4 09 01 + sta $048E,y ; CPU:$DCA6 PRG:5CA6 99 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop129: + iny ; CPU:$DCA9 PRG:5CA9 C8 + cpy #$16 ; CPU:$DCAA PRG:5CAA C0 16 + bcc NmiHandler_OnCarryClear32 ; CPU:$DCAC PRG:5CAC 90 F1 + bcs NmiHandler_Loop131 ; CPU:$DCAE PRG:5CAE B0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop130: + jsr Sub_DE5C ; CPU:$DCB0 PRG:5CB0 20 5C DE + lda $03A0 ; CPU:$DCB3 PRG:5CB3 AD A0 03 + cmp #$61 ; CPU:$DCB6 PRG:5CB6 C9 61 + bcs NmiHandler_Loop131 ; CPU:$DCB8 PRG:5CB8 B0 03 + jmp Sub_DE9D ; CPU:$DCBA PRG:5CBA 4C 9D DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop131: + lda $0384 ; CPU:$DCBD PRG:5CBD AD 84 03 + bne NmiHandler_Loop132 ; CPU:$DCC0 PRG:5CC0 D0 06 + lda Zp98 ; CPU:$DCC2 PRG:5CC2 A5 98 + and #$10 ; CPU:$DCC4 PRG:5CC4 29 10 + bne NmiHandler_Loop133 ; CPU:$DCC6 PRG:5CC6 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop132: + jmp Sub_DD45 ; CPU:$DCC8 PRG:5CC8 4C 45 DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop133: + ldy #$00 ; CPU:$DCCB PRG:5CCB A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero18: + lda $E24B,y ; CPU:$DCCD PRG:5CCD B9 4B E2 + sta $0230,y ; CPU:$DCD0 PRG:5CD0 99 30 02 + iny ; CPU:$DCD3 PRG:5CD3 C8 + cpy #$14 ; CPU:$DCD4 PRG:5CD4 C0 14 + bne NmiHandler_OnNonzero18 ; CPU:$DCD6 PRG:5CD6 D0 F5 + lda #$FF ; CPU:$DCD8 PRG:5CD8 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero19: + sta $0230,y ; CPU:$DCDA PRG:5CDA 99 30 02 + iny ; CPU:$DCDD PRG:5CDD C8 + cpy #$C8 ; CPU:$DCDE PRG:5CDE C0 C8 + bne NmiHandler_OnNonzero19 ; CPU:$DCE0 PRG:5CE0 D0 F8 + lda #$06 ; CPU:$DCE2 PRG:5CE2 A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero20: + jsr Sub_C2A4 ; CPU:$DCE4 PRG:5CE4 20 A4 C2 + clc ; CPU:$DCE7 PRG:5CE7 18 + adc #$02 ; CPU:$DCE8 PRG:5CE8 69 02 + cmp #$20 ; CPU:$DCEA PRG:5CEA C9 20 + bne NmiHandler_OnNonzero20 ; CPU:$DCEC PRG:5CEC D0 F6 + lda #$03 ; CPU:$DCEE PRG:5CEE A9 03 + jsr Sub_A06B ; CPU:$DCF0 PRG:5CF0 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero +; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero: + jsr Sub_C275 ; CPU:$DCF3 PRG:5CF3 20 75 C2 + ldy #$05 ; CPU:$DCF6 PRG:5CF6 A0 05 + lda #$03 ; CPU:$DCF8 PRG:5CF8 A9 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative2 +; Global: Branch target inside NmiHandler: taken when OnNonnegative2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative2: + cmp $0746,y ; CPU:$DCFA PRG:5CFA D9 46 07 + beq NmiHandler_OnZero ; CPU:$DCFD PRG:5CFD F0 F4 + dey ; CPU:$DCFF PRG:5CFF 88 + bpl NmiHandler_OnNonnegative2 ; CPU:$DD00 PRG:5D00 10 F8 + lda #$00 ; CPU:$DD02 PRG:5D02 A9 00 + jsr Sub_A06B ; CPU:$DD04 PRG:5D04 20 6B A0 + lda #$01 ; CPU:$DD07 PRG:5D07 A9 01 + jsr Sub_A06B ; CPU:$DD09 PRG:5D09 20 6B A0 + lda #$02 ; CPU:$DD0C PRG:5D0C A9 02 + jsr Sub_A06B ; CPU:$DD0E PRG:5D0E 20 6B A0 + jsr Sub_A0D0 ; CPU:$DD11 PRG:5D11 20 D0 A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero21: + jsr Sub_C275 ; CPU:$DD14 PRG:5D14 20 75 C2 + lda #$FF ; CPU:$DD17 PRG:5D17 A9 FF + sta $038D ; CPU:$DD19 PRG:5D19 8D 8D 03 + lda Zp98 ; CPU:$DD1C PRG:5D1C A5 98 + and #$10 ; CPU:$DD1E PRG:5D1E 29 10 + bne NmiHandler_OnNonzero21 ; CPU:$DD20 PRG:5D20 D0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero2 +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero2: + jsr Sub_C275 ; CPU:$DD22 PRG:5D22 20 75 C2 + lda Zp98 ; CPU:$DD25 PRG:5D25 A5 98 + and #$10 ; CPU:$DD27 PRG:5D27 29 10 + beq NmiHandler_OnZero2 ; CPU:$DD29 PRG:5D29 F0 F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero22: + jsr Sub_C275 ; CPU:$DD2B PRG:5D2B 20 75 C2 + lda Zp98 ; CPU:$DD2E PRG:5D2E A5 98 + and #$10 ; CPU:$DD30 PRG:5D30 29 10 + bne NmiHandler_OnNonzero22 ; CPU:$DD32 PRG:5D32 D0 F7 + lda #$06 ; CPU:$DD34 PRG:5D34 A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero23: + jsr Sub_C288 ; CPU:$DD36 PRG:5D36 20 88 C2 + clc ; CPU:$DD39 PRG:5D39 18 + adc #$02 ; CPU:$DD3A PRG:5D3A 69 02 + cmp #$20 ; CPU:$DD3C PRG:5D3C C9 20 + bne NmiHandler_OnNonzero23 ; CPU:$DD3E PRG:5D3E D0 F6 + lda #$00 ; CPU:$DD40 PRG:5D40 A9 00 + sta $038D ; CPU:$DD42 PRG:5D42 8D 8D 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_DD45 +; Global: Branch target inside Sub: taken when DD45. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD45: + lda $0437 ; CPU:$DD45 PRG:5D45 AD 37 04 + beq NmiHandler_Loop134 ; CPU:$DD48 PRG:5D48 F0 19 + lda ZpC9 ; CPU:$DD4A PRG:5D4A A5 C9 + bne NmiHandler_Loop134 ; CPU:$DD4C PRG:5D4C D0 15 + lda #$06 ; CPU:$DD4E PRG:5D4E A9 06 + jsr Sub_A05B ; CPU:$DD50 PRG:5D50 20 5B A0 + bcs NmiHandler_Loop134 ; CPU:$DD53 PRG:5D53 B0 0E + lda #$FF ; CPU:$DD55 PRG:5D55 A9 FF + sta ZpC9 ; CPU:$DD57 PRG:5D57 85 C9 + lda #$0E ; CPU:$DD59 PRG:5D59 A9 0E + jsr Sub_A06B ; CPU:$DD5B PRG:5D5B 20 6B A0 + lda #$16 ; CPU:$DD5E PRG:5D5E A9 16 + jsr Sub_A06B ; CPU:$DD60 PRG:5D60 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + lda $078D ; CPU:$DD63 PRG:5D63 AD 8D 07 + cmp #$FF ; CPU:$DD66 PRG:5D66 C9 FF + bne NmiHandler_Loop135 ; CPU:$DD68 PRG:5D68 D0 03 + jmp Sub_DE42 ; CPU:$DD6A PRG:5D6A 4C 42 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + cmp #$01 ; CPU:$DD6D PRG:5D6D C9 01 + beq NmiHandler_Loop138 ; CPU:$DD6F PRG:5D6F F0 30 + cmp #$02 ; CPU:$DD71 PRG:5D71 C9 02 + bne NmiHandler_Loop136 ; CPU:$DD73 PRG:5D73 D0 03 + jmp Sub_DDEB ; CPU:$DD75 PRG:5D75 4C EB DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + ldy #$00 ; CPU:$DD78 PRG:5D78 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear33 +; Global: Branch target inside NmiHandler: taken when OnCarryClear33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear33: + lda $03A1 ; CPU:$DD7A PRG:5D7A AD A1 03 + cmp $DE58,y ; CPU:$DD7D PRG:5D7D D9 58 DE + beq NmiHandler_Loop137 ; CPU:$DD80 PRG:5D80 F0 08 + iny ; CPU:$DD82 PRG:5D82 C8 + cpy #$04 ; CPU:$DD83 PRG:5D83 C0 04 + bcc NmiHandler_OnCarryClear33 ; CPU:$DD85 PRG:5D85 90 F3 + jmp Sub_DE42 ; CPU:$DD87 PRG:5D87 4C 42 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + lda #$01 ; CPU:$DD8A PRG:5D8A A9 01 + sta $078D ; CPU:$DD8C PRG:5D8C 8D 8D 07 + ldy #$0E ; CPU:$DD8F PRG:5D8F A0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear34 +; Global: Branch target inside NmiHandler: taken when OnCarryClear34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear34: + lda $048E,y ; CPU:$DD91 PRG:5D91 B9 8E 04 + ora #$01 ; CPU:$DD94 PRG:5D94 09 01 + sta $048E,y ; CPU:$DD96 PRG:5D96 99 8E 04 + iny ; CPU:$DD99 PRG:5D99 C8 + cpy #$16 ; CPU:$DD9A PRG:5D9A C0 16 + bcc NmiHandler_OnCarryClear34 ; CPU:$DD9C PRG:5D9C 90 F3 + jsr Sub_DE92 ; CPU:$DD9E PRG:5D9E 20 92 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: + jsr Sub_DE5C ; CPU:$DDA1 PRG:5DA1 20 5C DE + lda $03A0 ; CPU:$DDA4 PRG:5DA4 AD A0 03 + cmp #$90 ; CPU:$DDA7 PRG:5DA7 C9 90 + bcc NmiHandler_Loop139 ; CPU:$DDA9 PRG:5DA9 90 03 + jmp Sub_DE42 ; CPU:$DDAB PRG:5DAB 4C 42 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + jsr Sub_C275 ; CPU:$DDAE PRG:5DAE 20 75 C2 + ldy #$0E ; CPU:$DDB1 PRG:5DB1 A0 0E + lda #$08 ; CPU:$DDB3 PRG:5DB3 A9 08 + sta $048E,y ; CPU:$DDB5 PRG:5DB5 99 8E 04 + lda #$FF ; CPU:$DDB8 PRG:5DB8 A9 FF + sta $05D3,y ; CPU:$DDBA PRG:5DBA 99 D3 05 + lda #$8E ; CPU:$DDBD PRG:5DBD A9 8E + sta $04D9,y ; CPU:$DDBF PRG:5DBF 99 D9 04 + lda #$04 ; CPU:$DDC2 PRG:5DC2 A9 04 + sta $05BA,y ; CPU:$DDC4 PRG:5DC4 99 BA 05 + lda #$00 ; CPU:$DDC7 PRG:5DC7 A9 00 + sta $056F,y ; CPU:$DDC9 PRG:5DC9 99 6F 05 + sta $0524,y ; CPU:$DDCC PRG:5DCC 99 24 05 + sta $05EC,y ; CPU:$DDCF PRG:5DCF 99 EC 05 + lda #$F8 ; CPU:$DDD2 PRG:5DD2 A9 F8 + sta $0588,y ; CPU:$DDD4 PRG:5DD4 99 88 05 + lda #$40 ; CPU:$DDD7 PRG:5DD7 A9 40 + sta $053D,y ; CPU:$DDD9 PRG:5DD9 99 3D 05 + lda #$0A ; CPU:$DDDC PRG:5DDC A9 0A + jsr Sub_C1F5 ; CPU:$DDDE PRG:5DDE 20 F5 C1 + lda #$02 ; CPU:$DDE1 PRG:5DE1 A9 02 + sta $078D ; CPU:$DDE3 PRG:5DE3 8D 8D 07 + lda #$00 ; CPU:$DDE6 PRG:5DE6 A9 00 + sta $078E ; CPU:$DDE8 PRG:5DE8 8D 8E 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_DDEB +; Global: Branch target inside Sub: taken when DDEB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DDEB: + lda $078E ; CPU:$DDEB PRG:5DEB AD 8E 07 + and #$01 ; CPU:$DDEE PRG:5DEE 29 01 + bne NmiHandler_Loop140 ; CPU:$DDF0 PRG:5DF0 D0 1A + lda #$FF ; CPU:$DDF2 PRG:5DF2 A9 FF + sta $03A8 ; CPU:$DDF4 PRG:5DF4 8D A8 03 + sta $03A9 ; CPU:$DDF7 PRG:5DF7 8D A9 03 + jsr Sub_804C ; CPU:$DDFA PRG:5DFA 20 4C 80 + lda #$08 ; CPU:$DDFD PRG:5DFD A9 08 + sta $0519 ; CPU:$DDFF PRG:5DFF 8D 19 05 + lda $03A0 ; CPU:$DE02 PRG:5E02 AD A0 03 + cmp #$E8 ; CPU:$DE05 PRG:5E05 C9 E8 + bcs NmiHandler_Loop141 ; CPU:$DE07 PRG:5E07 B0 23 + jmp NmiHandler_Loop142 ; CPU:$DE09 PRG:5E09 4C 2F DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + lda #$01 ; CPU:$DE0C PRG:5E0C A9 01 + sta $03A8 ; CPU:$DE0E PRG:5E0E 8D A8 03 + lda #$00 ; CPU:$DE11 PRG:5E11 A9 00 + sta $03A9 ; CPU:$DE13 PRG:5E13 8D A9 03 + jsr Sub_804C ; CPU:$DE16 PRG:5E16 20 4C 80 + lda #$00 ; CPU:$DE19 PRG:5E19 A9 00 + sta $0519 ; CPU:$DE1B PRG:5E1B 8D 19 05 + lda $03A0 ; CPU:$DE1E PRG:5E1E AD A0 03 + cmp #$E8 ; CPU:$DE21 PRG:5E21 C9 E8 + bcs NmiHandler_Loop142 ; CPU:$DE23 PRG:5E23 B0 0A + cmp #$30 ; CPU:$DE25 PRG:5E25 C9 30 + bcs NmiHandler_Loop141 ; CPU:$DE27 PRG:5E27 B0 03 + jmp NmiHandler_Loop142 ; CPU:$DE29 PRG:5E29 4C 2F DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop141: + inc $078E ; CPU:$DE2C PRG:5E2C EE 8E 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + lda $049C ; CPU:$DE2F PRG:5E2F AD 9C 04 + ora #$08 ; CPU:$DE32 PRG:5E32 09 08 + sta $049C ; CPU:$DE34 PRG:5E34 8D 9C 04 + jsr Sub_C275 ; CPU:$DE37 PRG:5E37 20 75 C2 + jmp NmiHandler_Loop127 ; CPU:$DE3A PRG:5E3A 4C 72 DC +; ----------------------------------------------------------------------------- +; Routine: Label_DE3D +; Global: Branch target inside Label: taken when DE3D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE3D: + lda #$FF ; CPU:$DE3D PRG:5E3D A9 FF + sta $078D ; CPU:$DE3F PRG:5E3F 8D 8D 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE42 +; Global: Branch target inside Sub: taken when DE42. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE42: + lda #$40 ; CPU:$DE42 PRG:5E42 A9 40 + sta $03A7 ; CPU:$DE44 PRG:5E44 8D A7 03 + lda #$FF ; CPU:$DE47 PRG:5E47 A9 FF + sta $03A8 ; CPU:$DE49 PRG:5E49 8D A8 03 + sta $03A9 ; CPU:$DE4C PRG:5E4C 8D A9 03 + jsr Sub_804C ; CPU:$DE4F PRG:5E4F 20 4C 80 + jsr Sub_C275 ; CPU:$DE52 PRG:5E52 20 75 C2 + jmp Sub_D9B2 ; CPU:$DE55 PRG:5E55 4C B2 D9 +; ----------------------------------------------------------------------------- +; Routine: Label_DE58 +; Global: Branch target inside Label: taken when DE58. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE58: + dex ; CPU:$DE58 PRG:5E58 CA + txa ; CPU:$DE59 PRG:5E59 8A + lsr a ; CPU:$DE5A PRG:5E5A 4A + asl a ; CPU:$DE5B PRG:5E5B 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_DE5C +; Global: Branch target inside Sub: taken when DE5C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE5C: + ldy #$01 ; CPU:$DE5C PRG:5E5C A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear35 +; Global: Branch target inside NmiHandler: taken when OnCarryClear35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear35: + lda $048E,y ; CPU:$DE5E PRG:5E5E B9 8E 04 + and #$10 ; CPU:$DE61 PRG:5E61 29 10 + bne NmiHandler_Loop144 ; CPU:$DE63 PRG:5E63 D0 1C + lda $048E,y ; CPU:$DE65 PRG:5E65 B9 8E 04 + and #$08 ; CPU:$DE68 PRG:5E68 29 08 + beq NmiHandler_Loop143 ; CPU:$DE6A PRG:5E6A F0 08 + lda $048E,y ; CPU:$DE6C PRG:5E6C B9 8E 04 + ora #$10 ; CPU:$DE6F PRG:5E6F 09 10 + sta $048E,y ; CPU:$DE71 PRG:5E71 99 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop143: + iny ; CPU:$DE74 PRG:5E74 C8 + cpy #$03 ; CPU:$DE75 PRG:5E75 C0 03 + bcc NmiHandler_OnCarryClear35 ; CPU:$DE77 PRG:5E77 90 E5 + lda $048E ; CPU:$DE79 PRG:5E79 AD 8E 04 + and #$FB ; CPU:$DE7C PRG:5E7C 29 FB + sta $048E ; CPU:$DE7E PRG:5E7E 8D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop144: + rts ; CPU:$DE81 PRG:5E81 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE82 +; Global: Branch target inside Sub: taken when DE82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE82: + lda $0386 ; CPU:$DE82 PRG:5E82 AD 86 03 + bne NmiHandler_Loop145 ; CPU:$DE85 PRG:5E85 D0 05 + lda Zp98 ; CPU:$DE87 PRG:5E87 A5 98 + jmp Sub_DE8E ; CPU:$DE89 PRG:5E89 4C 8E DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop145: + lda Zp9A ; CPU:$DE8C PRG:5E8C A5 9A +; ----------------------------------------------------------------------------- +; Routine: Sub_DE8E +; Global: Branch target inside Sub: taken when DE8E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE8E: + sta $0785 ; CPU:$DE8E PRG:5E8E 8D 85 07 + rts ; CPU:$DE91 PRG:5E91 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE92 +; Global: Branch target inside Sub: taken when DE92. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE92: + ldx #$3C ; CPU:$DE92 PRG:5E92 A2 3C + lda #$FF ; CPU:$DE94 PRG:5E94 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative3 +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative3: + sta $06CD,x ; CPU:$DE96 PRG:5E96 9D CD 06 + dex ; CPU:$DE99 PRG:5E99 CA + bpl NmiHandler_OnNonnegative3 ; CPU:$DE9A PRG:5E9A 10 FA + rts ; CPU:$DE9C PRG:5E9C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE9D +; Global: Branch target inside Sub: taken when DE9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE9D: + lda #$FF ; CPU:$DE9D PRG:5E9D A9 FF + sta $0437 ; CPU:$DE9F PRG:5E9F 8D 37 04 + jsr Sub_C275 ; CPU:$DEA2 PRG:5EA2 20 75 C2 + jsr Sub_C306 ; CPU:$DEA5 PRG:5EA5 20 06 C3 + ldx #$0B ; CPU:$DEA8 PRG:5EA8 A2 0B + lda #$00 ; CPU:$DEAA PRG:5EAA A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear36 +; Global: Branch target inside NmiHandler: taken when OnCarryClear36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear36: + sta $048E,x ; CPU:$DEAC PRG:5EAC 9D 8E 04 + inx ; CPU:$DEAF PRG:5EAF E8 + cpx #$0E ; CPU:$DEB0 PRG:5EB0 E0 0E + bcc NmiHandler_OnCarryClear36 ; CPU:$DEB2 PRG:5EB2 90 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero24: + jsr Sub_C275 ; CPU:$DEB4 PRG:5EB4 20 75 C2 + lda $048C ; CPU:$DEB7 PRG:5EB7 AD 8C 04 + beq NmiHandler_Loop146 ; CPU:$DEBA PRG:5EBA F0 08 + lda #$00 ; CPU:$DEBC PRG:5EBC A9 00 + sta $0437 ; CPU:$DEBE PRG:5EBE 8D 37 04 + jmp Sub_E1E0 ; CPU:$DEC1 PRG:5EC1 4C E0 E1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + lda $04D9 ; CPU:$DEC4 PRG:5EC4 AD D9 04 + cmp #$A0 ; CPU:$DEC7 PRG:5EC7 C9 A0 + bne NmiHandler_OnNonzero24 ; CPU:$DEC9 PRG:5EC9 D0 E9 + jsr Sub_A8AE ; CPU:$DECB PRG:5ECB 20 AE A8 + lda $038B ; CPU:$DECE PRG:5ECE AD 8B 03 + bne NmiHandler_Loop147 ; CPU:$DED1 PRG:5ED1 D0 02 + lda #$FF ; CPU:$DED3 PRG:5ED3 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + sta $0720 ; CPU:$DED5 PRG:5ED5 8D 20 07 + lda VramWritePtrHi ; CPU:$DED8 PRG:5ED8 A5 8B + sta $0721 ; CPU:$DEDA PRG:5EDA 8D 21 07 + lda VramWritePtrLo ; CPU:$DEDD PRG:5EDD A5 8A + sta $0722 ; CPU:$DEDF PRG:5EDF 8D 22 07 + ldy #$00 ; CPU:$DEE2 PRG:5EE2 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear37 +; Global: Branch target inside NmiHandler: taken when OnCarryClear37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear37: + lda $E1AC,y ; CPU:$DEE4 PRG:5EE4 B9 AC E1 + sta $0230,y ; CPU:$DEE7 PRG:5EE7 99 30 02 + iny ; CPU:$DEEA PRG:5EEA C8 + cpy #$0C ; CPU:$DEEB PRG:5EEB C0 0C + bcc NmiHandler_OnCarryClear37 ; CPU:$DEED PRG:5EED 90 F5 + ldx #$01 ; CPU:$DEEF PRG:5EEF A2 01 + ldy #$00 ; CPU:$DEF1 PRG:5EF1 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear38 +; Global: Branch target inside NmiHandler: taken when OnCarryClear38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear38: + lda $0720,y ; CPU:$DEF3 PRG:5EF3 B9 20 07 + sta $0230,x ; CPU:$DEF6 PRG:5EF6 9D 30 02 + iny ; CPU:$DEF9 PRG:5EF9 C8 + inx ; CPU:$DEFA PRG:5EFA E8 + inx ; CPU:$DEFB PRG:5EFB E8 + inx ; CPU:$DEFC PRG:5EFC E8 + inx ; CPU:$DEFD PRG:5EFD E8 + cpy #$03 ; CPU:$DEFE PRG:5EFE C0 03 + bcc NmiHandler_OnCarryClear38 ; CPU:$DF00 PRG:5F00 90 F1 + lda $0720 ; CPU:$DF02 PRG:5F02 AD 20 07 + cmp #$FF ; CPU:$DF05 PRG:5F05 C9 FF + beq NmiHandler_Loop148 ; CPU:$DF07 PRG:5F07 F0 07 + cmp #$01 ; CPU:$DF09 PRG:5F09 C9 01 + bcc NmiHandler_Loop148 ; CPU:$DF0B PRG:5F0B 90 03 + jmp Sub_DFFD ; CPU:$DF0D PRG:5F0D 4C FD DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: + lda $0722 ; CPU:$DF10 PRG:5F10 AD 22 07 + cmp #$05 ; CPU:$DF13 PRG:5F13 C9 05 + bcs NmiHandler_Loop150 ; CPU:$DF15 PRG:5F15 B0 69 + lda $0721 ; CPU:$DF17 PRG:5F17 AD 21 07 + sec ; CPU:$DF1A PRG:5F1A 38 + sbc #$05 ; CPU:$DF1B PRG:5F1B E9 05 + bcs NmiHandler_Loop149 ; CPU:$DF1D PRG:5F1D B0 03 + jmp NmiHandler_Loop151 ; CPU:$DF1F PRG:5F1F 4C E6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop149: + asl a ; CPU:$DF22 PRG:5F22 0A + asl a ; CPU:$DF23 PRG:5F23 0A + asl a ; CPU:$DF24 PRG:5F24 0A + tay ; CPU:$DF25 PRG:5F25 A8 + lda $DF58,y ; CPU:$DF26 PRG:5F26 B9 58 DF + sta PpuAddrHigh ; CPU:$DF29 PRG:5F29 85 89 + iny ; CPU:$DF2B PRG:5F2B C8 + lda $DF58,y ; CPU:$DF2C PRG:5F2C B9 58 DF + sta PpuAddrLow ; CPU:$DF2F PRG:5F2F 85 88 + iny ; CPU:$DF31 PRG:5F31 C8 + lda $DF58,y ; CPU:$DF32 PRG:5F32 B9 58 DF + sta VramWritePtrHi ; CPU:$DF35 PRG:5F35 85 8B + iny ; CPU:$DF37 PRG:5F37 C8 + lda $DF58,y ; CPU:$DF38 PRG:5F38 B9 58 DF + sta VramWritePtrLo ; CPU:$DF3B PRG:5F3B 85 8A + iny ; CPU:$DF3D PRG:5F3D C8 + lda $DF58,y ; CPU:$DF3E PRG:5F3E B9 58 DF + sta ZpE0 ; CPU:$DF41 PRG:5F41 85 E0 + iny ; CPU:$DF43 PRG:5F43 C8 + lda $DF58,y ; CPU:$DF44 PRG:5F44 B9 58 DF + sta ZpDF ; CPU:$DF47 PRG:5F47 85 DF + iny ; CPU:$DF49 PRG:5F49 C8 + lda $DF58,y ; CPU:$DF4A PRG:5F4A B9 58 DF + sta ZpDE ; CPU:$DF4D PRG:5F4D 85 DE + iny ; CPU:$DF4F PRG:5F4F C8 + lda $DF58,y ; CPU:$DF50 PRG:5F50 B9 58 DF + sta ZpDD ; CPU:$DF53 PRG:5F53 85 DD + jmp Sub_E013 ; CPU:$DF55 PRG:5F55 4C 13 E0 +; ---- data $DF58-$DF7F (40 bytes) ---- +; referenced by `lda $DF58,y` at $DF26 (operand $DF58 falls inside this region) +; referenced by `lda $DF58,y` at $DF2C (operand $DF58 falls inside this region) +; referenced by `lda $DF58,y` at $DF32 (operand $DF58 falls inside this region) +; referenced by `lda $DF58,y` at $DF38 (operand $DF58 falls inside this region) +; referenced by `lda $DF58,y` at $DF3E (operand $DF58 falls inside this region) +; referenced by `lda $DF58,y` at $DF44 (operand $DF58 falls inside this region) +; ... and 2 further references from decoded code +EnemySpawnCoordinateTable: + .byte $00, $00, $05, $00, $FF, $FF, $FF, $05, $00, $01, $05, $00, $FF, $FF, $01, $05 ; CPU:$DF58 PRG:1F58 00 00 05 00 FF FF FF 05 00 01 05 00 FF FF 01 05 + .byte $00, $02, $05, $00, $FF, $FF, $02, $05, $00, $05, $00, $00, $FF, $FF, $05, $00 ; CPU:$DF68 PRG:5F68 00 02 05 00 FF FF 02 05 00 05 00 00 FF FF 05 00 + .byte $01, $00, $00, $00, $FF, $01, $00, $00 ; CPU:$DF78 PRG:5F78 01 00 00 00 FF 01 00 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop150: + lda $0721 ; CPU:$DF80 PRG:5F80 AD 21 07 + sec ; CPU:$DF83 PRG:5F83 38 + sbc #$05 ; CPU:$DF84 PRG:5F84 E9 05 + bcc NmiHandler_Loop151 ; CPU:$DF86 PRG:5F86 90 5E + asl a ; CPU:$DF88 PRG:5F88 0A + asl a ; CPU:$DF89 PRG:5F89 0A + asl a ; CPU:$DF8A PRG:5F8A 0A + tay ; CPU:$DF8B PRG:5F8B A8 + lda $DFBE,y ; CPU:$DF8C PRG:5F8C B9 BE DF + sta PpuAddrHigh ; CPU:$DF8F PRG:5F8F 85 89 + iny ; CPU:$DF91 PRG:5F91 C8 + lda $DFBE,y ; CPU:$DF92 PRG:5F92 B9 BE DF + sta PpuAddrLow ; CPU:$DF95 PRG:5F95 85 88 + iny ; CPU:$DF97 PRG:5F97 C8 + lda $DFBE,y ; CPU:$DF98 PRG:5F98 B9 BE DF + sta VramWritePtrHi ; CPU:$DF9B PRG:5F9B 85 8B + iny ; CPU:$DF9D PRG:5F9D C8 + lda $DFBE,y ; CPU:$DF9E PRG:5F9E B9 BE DF + sta VramWritePtrLo ; CPU:$DFA1 PRG:5FA1 85 8A + iny ; CPU:$DFA3 PRG:5FA3 C8 + lda $DFBE,y ; CPU:$DFA4 PRG:5FA4 B9 BE DF + sta ZpE0 ; CPU:$DFA7 PRG:5FA7 85 E0 + iny ; CPU:$DFA9 PRG:5FA9 C8 + lda $DFBE,y ; CPU:$DFAA PRG:5FAA B9 BE DF + sta ZpDF ; CPU:$DFAD PRG:5FAD 85 DF + iny ; CPU:$DFAF PRG:5FAF C8 + lda $DFBE,y ; CPU:$DFB0 PRG:5FB0 B9 BE DF + sta ZpDE ; CPU:$DFB3 PRG:5FB3 85 DE + iny ; CPU:$DFB5 PRG:5FB5 C8 + lda $DFBE,y ; CPU:$DFB6 PRG:5FB6 B9 BE DF + sta ZpDD ; CPU:$DFB9 PRG:5FB9 85 DD + jmp Sub_E013 ; CPU:$DFBB PRG:5FBB 4C 13 E0 +; ---- data $DFBE-$DFE5 (40 bytes) ---- +; referenced by `lda $DFBE,y` at $DF8C (operand $DFBE falls inside this region) +; referenced by `lda $DFBE,y` at $DF92 (operand $DFBE falls inside this region) +; referenced by `lda $DFBE,y` at $DF98 (operand $DFBE falls inside this region) +; referenced by `lda $DFBE,y` at $DF9E (operand $DFBE falls inside this region) +; referenced by `lda $DFBE,y` at $DFA4 (operand $DFBE falls inside this region) +; referenced by `lda $DFBE,y` at $DFAA (operand $DFBE falls inside this region) +; ... and 2 further references from decoded code +EnemySpawnCoordinateTable2: + .byte $00, $01, $00, $00, $FF, $FF, $01, $00, $00, $02, $00, $00, $FF, $FF, $02, $00 ; CPU:$DFBE PRG:1FBE 00 01 00 00 FF FF 01 00 00 02 00 00 FF FF 02 00 + .byte $00, $03, $00, $00, $FF, $FF, $03, $00, $00, $08, $00, $00, $FF, $FF, $08, $00 ; CPU:$DFCE PRG:5FCE 00 03 00 00 FF FF 03 00 00 08 00 00 FF FF 08 00 + .byte $02, $00, $00, $00, $FF, $02, $00, $00 ; CPU:$DFDE PRG:5FDE 02 00 00 00 FF 02 00 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop151: + lda #$00 ; CPU:$DFE6 PRG:5FE6 A9 00 + sta PpuAddrHigh ; CPU:$DFE8 PRG:5FE8 85 89 + sta PpuAddrLow ; CPU:$DFEA PRG:5FEA 85 88 + sta VramWritePtrHi ; CPU:$DFEC PRG:5FEC 85 8B + sta VramWritePtrLo ; CPU:$DFEE PRG:5FEE 85 8A + lda #$FF ; CPU:$DFF0 PRG:5FF0 A9 FF + sta ZpE0 ; CPU:$DFF2 PRG:5FF2 85 E0 + sta ZpDF ; CPU:$DFF4 PRG:5FF4 85 DF + sta ZpDE ; CPU:$DFF6 PRG:5FF6 85 DE + sta ZpDD ; CPU:$DFF8 PRG:5FF8 85 DD + jmp Sub_E013 ; CPU:$DFFA PRG:5FFA 4C 13 E0 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFFD +; Global: Branch target inside Sub: taken when DFFD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFFD: + lda #$0A ; CPU:$DFFD PRG:5FFD A9 0A + sta PpuAddrHigh ; CPU:$DFFF PRG:5FFF 85 89 + lda #$01 ; CPU:$E001 PRG:6001 A9 01 + sta ZpE0 ; CPU:$E003 PRG:6003 85 E0 + lda #$00 ; CPU:$E005 PRG:6005 A9 00 + sta VramWritePtrLo ; CPU:$E007 PRG:6007 85 8A + sta VramWritePtrHi ; CPU:$E009 PRG:6009 85 8B + sta PpuAddrLow ; CPU:$E00B PRG:600B 85 88 + sta ZpDD ; CPU:$E00D PRG:600D 85 DD + sta ZpDE ; CPU:$E00F PRG:600F 85 DE + sta ZpDF ; CPU:$E011 PRG:6011 85 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_E013 +; Global: Branch target inside Sub: taken when E013. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E013: + lda ZpE0 ; CPU:$E013 PRG:6013 A5 E0 + sta ZpD6 ; CPU:$E015 PRG:6015 85 D6 + lda ZpDF ; CPU:$E017 PRG:6017 A5 DF + sta ZpD7 ; CPU:$E019 PRG:6019 85 D7 + lda ZpDE ; CPU:$E01B PRG:601B A5 DE + sta ZpD8 ; CPU:$E01D PRG:601D 85 D8 + lda ZpDD ; CPU:$E01F PRG:601F A5 DD + sta ZpD9 ; CPU:$E021 PRG:6021 85 D9 + ldy #$00 ; CPU:$E023 PRG:6023 A0 00 + ldx #$0C ; CPU:$E025 PRG:6025 A2 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear39 +; Global: Branch target inside NmiHandler: taken when OnCarryClear39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear39: + lda $E1B8,y ; CPU:$E027 PRG:6027 B9 B8 E1 + sta $0230,x ; CPU:$E02A PRG:602A 9D 30 02 + inx ; CPU:$E02D PRG:602D E8 + iny ; CPU:$E02E PRG:602E C8 + cpy #$18 ; CPU:$E02F PRG:602F C0 18 + bcc NmiHandler_OnCarryClear39 ; CPU:$E031 PRG:6031 90 F4 + ldy #$00 ; CPU:$E033 PRG:6033 A0 00 + ldx #$0D ; CPU:$E035 PRG:6035 A2 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear40 +; Global: Branch target inside NmiHandler: taken when OnCarryClear40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear40: + lda a:ZpD6,y ; CPU:$E037 PRG:6037 B9 D6 00 + sta $0230,x ; CPU:$E03A PRG:603A 9D 30 02 + iny ; CPU:$E03D PRG:603D C8 + inx ; CPU:$E03E PRG:603E E8 + inx ; CPU:$E03F PRG:603F E8 + inx ; CPU:$E040 PRG:6040 E8 + inx ; CPU:$E041 PRG:6041 E8 + cpy #$04 ; CPU:$E042 PRG:6042 C0 04 + bcc NmiHandler_OnCarryClear40 ; CPU:$E044 PRG:6044 90 F1 + jsr Sub_AC1A ; CPU:$E046 PRG:6046 20 1A AC + lda #$00 ; CPU:$E049 PRG:6049 A9 00 + sta VramWritePtrHi ; CPU:$E04B PRG:604B 85 8B + sta VramWritePtrLo ; CPU:$E04D PRG:604D 85 8A + lda $0436 ; CPU:$E04F PRG:604F AD 36 04 + beq NmiHandler_Loop152 ; CPU:$E052 PRG:6052 F0 09 + sta PlayerX ; CPU:$E054 PRG:6054 85 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero25: + jsr Sub_A816 ; CPU:$E056 PRG:6056 20 16 A8 + dec PlayerX ; CPU:$E059 PRG:6059 C6 87 + bne NmiHandler_OnNonzero25 ; CPU:$E05B PRG:605B D0 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop152: + lda VramWritePtrHi ; CPU:$E05D PRG:605D A5 8B + sta PpuAddrHigh ; CPU:$E05F PRG:605F 85 89 + sta ZpD6 ; CPU:$E061 PRG:6061 85 D6 + lda VramWritePtrLo ; CPU:$E063 PRG:6063 A5 8A + sta PpuAddrLow ; CPU:$E065 PRG:6065 85 88 + sta ZpD7 ; CPU:$E067 PRG:6067 85 D7 + lda #$00 ; CPU:$E069 PRG:6069 A9 00 + sta VramWritePtrHi ; CPU:$E06B PRG:606B 85 8B + sta ZpD8 ; CPU:$E06D PRG:606D 85 D8 + sta VramWritePtrLo ; CPU:$E06F PRG:606F 85 8A + sta ZpD9 ; CPU:$E071 PRG:6071 85 D9 + ldy #$00 ; CPU:$E073 PRG:6073 A0 00 + ldx #$24 ; CPU:$E075 PRG:6075 A2 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear41 +; Global: Branch target inside NmiHandler: taken when OnCarryClear41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear41: + lda $E1D0,y ; CPU:$E077 PRG:6077 B9 D0 E1 + sta $0230,x ; CPU:$E07A PRG:607A 9D 30 02 + inx ; CPU:$E07D PRG:607D E8 + iny ; CPU:$E07E PRG:607E C8 + cpy #$10 ; CPU:$E07F PRG:607F C0 10 + bcc NmiHandler_OnCarryClear41 ; CPU:$E081 PRG:6081 90 F4 + ldy #$01 ; CPU:$E083 PRG:6083 A0 01 + ldx #$25 ; CPU:$E085 PRG:6085 A2 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear42 +; Global: Branch target inside NmiHandler: taken when OnCarryClear42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear42: + lda a:ZpD6,y ; CPU:$E087 PRG:6087 B9 D6 00 + sta $0230,x ; CPU:$E08A PRG:608A 9D 30 02 + iny ; CPU:$E08D PRG:608D C8 + inx ; CPU:$E08E PRG:608E E8 + inx ; CPU:$E08F PRG:608F E8 + inx ; CPU:$E090 PRG:6090 E8 + inx ; CPU:$E091 PRG:6091 E8 + cpy #$05 ; CPU:$E092 PRG:6092 C0 05 + bcc NmiHandler_OnCarryClear42 ; CPU:$E094 PRG:6094 90 F1 + jsr Sub_AC1A ; CPU:$E096 PRG:6096 20 1A AC + ldy #$0E ; CPU:$E099 PRG:6099 A0 0E + sty $071D ; CPU:$E09B PRG:609B 8C 1D 07 + lda #$02 ; CPU:$E09E PRG:609E A9 02 + sta $071E ; CPU:$E0A0 PRG:60A0 8D 1E 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero26: + ldy $071D ; CPU:$E0A3 PRG:60A3 AC 1D 07 + lda $071E ; CPU:$E0A6 PRG:60A6 AD 1E 07 + sta $04D9,y ; CPU:$E0A9 PRG:60A9 99 D9 04 + tya ; CPU:$E0AC PRG:60AC 98 + sec ; CPU:$E0AD PRG:60AD 38 + sbc #$0D ; CPU:$E0AE PRG:60AE E9 0D + asl a ; CPU:$E0B0 PRG:60B0 0A + clc ; CPU:$E0B1 PRG:60B1 18 + adc #$08 ; CPU:$E0B2 PRG:60B2 69 08 + jsr Sub_C1F5 ; CPU:$E0B4 PRG:60B4 20 F5 C1 + inc $071E ; CPU:$E0B7 PRG:60B7 EE 1E 07 + inc $071D ; CPU:$E0BA PRG:60BA EE 1D 07 + lda $071D ; CPU:$E0BD PRG:60BD AD 1D 07 + cmp #$13 ; CPU:$E0C0 PRG:60C0 C9 13 + bne NmiHandler_OnNonzero26 ; CPU:$E0C2 PRG:60C2 D0 DF + lda #$80 ; CPU:$E0C4 PRG:60C4 A9 80 + sta $078C ; CPU:$E0C6 PRG:60C6 8D 8C 07 + lda #$3C ; CPU:$E0C9 PRG:60C9 A9 3C + sta $070A ; CPU:$E0CB PRG:60CB 8D 0A 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0CE +; Global: Branch target inside Sub: taken when E0CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0CE: + dec $070A ; CPU:$E0CE PRG:60CE CE 0A 07 + beq NmiHandler_Loop153 ; CPU:$E0D1 PRG:60D1 F0 16 + lda #$40 ; CPU:$E0D3 PRG:60D3 A9 40 + sta $03A7 ; CPU:$E0D5 PRG:60D5 8D A7 03 + lda #$FF ; CPU:$E0D8 PRG:60D8 A9 FF + sta $03A8 ; CPU:$E0DA PRG:60DA 8D A8 03 + sta $03A9 ; CPU:$E0DD PRG:60DD 8D A9 03 + jsr Sub_804C ; CPU:$E0E0 PRG:60E0 20 4C 80 + jsr Sub_C275 ; CPU:$E0E3 PRG:60E3 20 75 C2 + jmp Sub_E0CE ; CPU:$E0E6 PRG:60E6 4C CE E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop153: + ldy #$0E ; CPU:$E0E9 PRG:60E9 A0 0E + sty $071D ; CPU:$E0EB PRG:60EB 8C 1D 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero27: + ldy $071D ; CPU:$E0EE PRG:60EE AC 1D 07 + lda #$00 ; CPU:$E0F1 PRG:60F1 A9 00 + sta $048E,y ; CPU:$E0F3 PRG:60F3 99 8E 04 + tya ; CPU:$E0F6 PRG:60F6 98 + sec ; CPU:$E0F7 PRG:60F7 38 + sbc #$0D ; CPU:$E0F8 PRG:60F8 E9 0D + asl a ; CPU:$E0FA PRG:60FA 0A + clc ; CPU:$E0FB PRG:60FB 18 + adc #$08 ; CPU:$E0FC PRG:60FC 69 08 + jsr Sub_C240 ; CPU:$E0FE PRG:60FE 20 40 C2 + inc $071D ; CPU:$E101 PRG:6101 EE 1D 07 + lda $071D ; CPU:$E104 PRG:6104 AD 1D 07 + cmp #$13 ; CPU:$E107 PRG:6107 C9 13 + bne NmiHandler_OnNonzero27 ; CPU:$E109 PRG:6109 D0 E3 + lda #$00 ; CPU:$E10B PRG:610B A9 00 + sta $078C ; CPU:$E10D PRG:610D 8D 8C 07 + sta $0439 ; CPU:$E110 PRG:6110 8D 39 04 + sta $043A ; CPU:$E113 PRG:6113 8D 3A 04 + sta $043B ; CPU:$E116 PRG:6116 8D 3B 04 + sta $043C ; CPU:$E119 PRG:6119 8D 3C 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + lda #$10 ; CPU:$E11C PRG:611C A9 10 + jsr Sub_A05B ; CPU:$E11E PRG:611E 20 5B A0 + bcs NmiHandler_OnCarrySet ; CPU:$E121 PRG:6121 B0 F9 + jsr Sub_9FDB ; CPU:$E123 PRG:6123 20 DB 9F + jsr Sub_C275 ; CPU:$E126 PRG:6126 20 75 C2 + lda #$0B ; CPU:$E129 PRG:6129 A9 0B + jsr Sub_A06B ; CPU:$E12B PRG:612B 20 6B A0 + lda #$0C ; CPU:$E12E PRG:612E A9 0C + jsr Sub_A06B ; CPU:$E130 PRG:6130 20 6B A0 + lda #$0D ; CPU:$E133 PRG:6133 A9 0D + jsr Sub_A06B ; CPU:$E135 PRG:6135 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + lda #$0D ; CPU:$E138 PRG:6138 A9 0D + jsr Sub_A05B ; CPU:$E13A PRG:613A 20 5B A0 + bcs NmiHandler_OnCarrySet2 ; CPU:$E13D PRG:613D B0 F9 + lda #$00 ; CPU:$E13F PRG:613F A9 00 + sta PlayerX ; CPU:$E141 PRG:6141 85 87 + lda #$78 ; CPU:$E143 PRG:6143 A9 78 + sta PlayerY ; CPU:$E145 PRG:6145 85 86 + jsr Sub_C251 ; CPU:$E147 PRG:6147 20 51 C2 + lda $03A1 ; CPU:$E14A PRG:614A AD A1 03 + beq NmiHandler_Loop154 ; CPU:$E14D PRG:614D F0 0E + lda #$00 ; CPU:$E14F PRG:614F A9 00 + sta $0437 ; CPU:$E151 PRG:6151 8D 37 04 + sta $078D ; CPU:$E154 PRG:6154 8D 8D 07 + jsr Sub_A73E ; CPU:$E157 PRG:6157 20 3E A7 + jmp Sub_D7F0 ; CPU:$E15A PRG:615A 4C F0 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop154: + lda #$00 ; CPU:$E15D PRG:615D A9 00 + sta $0385 ; CPU:$E15F PRG:615F 8D 85 03 + lda #$08 ; CPU:$E162 PRG:6162 A9 08 + jsr Sub_C240 ; CPU:$E164 PRG:6164 20 40 C2 + jsr Sub_C306 ; CPU:$E167 PRG:6167 20 06 C3 + jsr Sub_E240 ; CPU:$E16A PRG:616A 20 40 E2 + jsr Sub_BCF1 ; CPU:$E16D PRG:616D 20 F1 BC + lda #$9E ; CPU:$E170 PRG:6170 A9 9E + sta ZpDD ; CPU:$E172 PRG:6172 85 DD + lda #$E1 ; CPU:$E174 PRG:6174 A9 E1 + sta ZpDE ; CPU:$E176 PRG:6176 85 DE + lda #$C9 ; CPU:$E178 PRG:6178 A9 C9 + sta ZpDF ; CPU:$E17A PRG:617A 85 DF + lda #$21 ; CPU:$E17C PRG:617C A9 21 + sta ZpE0 ; CPU:$E17E PRG:617E 85 E0 + lda #$0E ; CPU:$E180 PRG:6180 A9 0E + sta ZpE2 ; CPU:$E182 PRG:6182 85 E2 + jsr Sub_OnNonzero27 ; CPU:$E184 PRG:6184 20 BF BC + lda #$1E ; CPU:$E187 PRG:6187 A9 1E + sta PlayerY ; CPU:$E189 PRG:6189 85 86 + lda #$00 ; CPU:$E18B PRG:618B A9 00 + sta PlayerX ; CPU:$E18D PRG:618D 85 87 + sta $0431 ; CPU:$E18F PRG:618F 8D 31 04 + sta $0432 ; CPU:$E192 PRG:6192 8D 32 04 + sta $07C5 ; CPU:$E195 PRG:6195 8D C5 07 + jsr Sub_C251 ; CPU:$E198 PRG:6198 20 51 C2 + jmp Sub_E1E0 ; CPU:$E19B PRG:619B 4C E0 E1 +; ---- data $E19E-$E1DF (66 bytes) ---- +; referenced by `lda $E1AC,y` at $DEE4 (operand $E1AC falls inside this region) +; referenced by `lda $E1B8,y` at $E027 (operand $E1B8 falls inside this region) +; referenced by `lda $E1D0,y` at $E077 (operand $E1D0 falls inside this region) +EnemyMovementPatternTable: + .byte $0C, $18, $17, $10, $1B, $0A, $1D, $1E, $15, $0A, $1D, $12, $18, $17, $48, $FF ; CPU:$E19E PRG:219E 0C 18 17 10 1B 0A 1D 1E 15 0A 1D 12 18 17 48 FF + .byte $01, $68, $48, $FF, $01, $70, $48, $FF, $01, $78, $88, $FF, $01, $50, $88, $FF ; CPU:$E1AE PRG:61AE 01 68 48 FF 01 70 48 FF 01 78 88 FF 01 50 88 FF + .byte $01, $58, $88, $FF, $01, $60, $88, $FF, $01, $68, $88, $00, $01, $70, $88, $00 ; CPU:$E1BE PRG:61BE 01 58 88 FF 01 60 88 FF 01 68 88 00 01 70 88 00 + .byte $01, $78, $B8, $FF, $01, $78, $B8, $FF, $01, $80, $B8, $FF, $01, $88, $B8, $FF ; CPU:$E1CE PRG:61CE 01 78 B8 FF 01 78 B8 FF 01 80 B8 FF 01 88 B8 FF + .byte $01, $90 ; CPU:$E1DE PRG:61DE 01 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_E1E0 +; Global: Branch target inside Sub: taken when E1E0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1E0: + inc $0437 ; CPU:$E1E0 PRG:61E0 EE 37 04 + lda #$00 ; CPU:$E1E3 PRG:61E3 A9 00 + sta $078D ; CPU:$E1E5 PRG:61E5 8D 8D 07 + jsr Sub_9FDB ; CPU:$E1E8 PRG:61E8 20 DB 9F + jsr Sub_C275 ; CPU:$E1EB PRG:61EB 20 75 C2 + lda #$00 ; CPU:$E1EE PRG:61EE A9 00 + sec ; CPU:$E1F0 PRG:61F0 38 + sbc $03A1 ; CPU:$E1F1 PRG:61F1 ED A1 03 + sta PlayerY ; CPU:$E1F4 PRG:61F4 85 86 + and #$07 ; CPU:$E1F6 PRG:61F6 29 07 + beq NmiHandler_Loop155 ; CPU:$E1F8 PRG:61F8 F0 08 + cmp #$01 ; CPU:$E1FA PRG:61FA C9 01 + beq NmiHandler_Loop157 ; CPU:$E1FC PRG:61FC F0 10 + cmp #$05 ; CPU:$E1FE PRG:61FE C9 05 + bcc NmiHandler_Loop156 ; CPU:$E200 PRG:6200 90 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop155: + dec PlayerY ; CPU:$E202 PRG:6202 C6 86 + lda PlayerY ; CPU:$E204 PRG:6204 A5 86 + and #$FC ; CPU:$E206 PRG:6206 29 FC + sta PlayerY ; CPU:$E208 PRG:6208 85 86 + inc PlayerY ; CPU:$E20A PRG:620A E6 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + dec PlayerY ; CPU:$E20C PRG:620C C6 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + dec PlayerY ; CPU:$E20E PRG:620E C6 86 + lda #$00 ; CPU:$E210 PRG:6210 A9 00 + sec ; CPU:$E212 PRG:6212 38 + sbc PlayerY ; CPU:$E213 PRG:6213 E5 86 + sta $03A1 ; CPU:$E215 PRG:6215 8D A1 03 + sta $0435 ; CPU:$E218 PRG:6218 8D 35 04 + lda #$00 ; CPU:$E21B PRG:621B A9 00 + sta $03A0 ; CPU:$E21D PRG:621D 8D A0 03 + jsr Sub_C306 ; CPU:$E220 PRG:6220 20 06 C3 + lda #$00 ; CPU:$E223 PRG:6223 A9 00 + sta $0385 ; CPU:$E225 PRG:6225 8D 85 03 + rts ; CPU:$E228 PRG:6228 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E229 +; Global: Branch target inside Sub: taken when E229. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E229: + lda $0436 ; CPU:$E229 PRG:6229 AD 36 04 + clc ; CPU:$E22C PRG:622C 18 + adc #$01 ; CPU:$E22D PRG:622D 69 01 + cmp #$0A ; CPU:$E22F PRG:622F C9 0A + beq NmiHandler_Loop158 ; CPU:$E231 PRG:6231 F0 04 + sta $0436 ; CPU:$E233 PRG:6233 8D 36 04 + rts ; CPU:$E236 PRG:6236 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + lda #$00 ; CPU:$E237 PRG:6237 A9 00 + sta $0436 ; CPU:$E239 PRG:6239 8D 36 04 + inc $0437 ; CPU:$E23C PRG:623C EE 37 04 + rts ; CPU:$E23F PRG:623F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E240 +; Global: Branch target inside Sub: taken when E240. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E240: + lda #$00 ; CPU:$E240 PRG:6240 A9 00 + ldy #$18 ; CPU:$E242 PRG:6242 A0 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative4 +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative4: + sta $048E,y ; CPU:$E244 PRG:6244 99 8E 04 + dey ; CPU:$E247 PRG:6247 88 + bpl NmiHandler_OnNonnegative4 ; CPU:$E248 PRG:6248 10 FA + rts ; CPU:$E24A PRG:624A 60 +; ---- data $E24B-$E392 (328 bytes) ---- +; referenced by `lda $E25F,y` at $D8BA (operand $E25F falls inside this region) +; referenced by `lda $E267,y` at $D8DD (operand $E267 falls inside this region) +; referenced by `lda $E26F,y` at $D978 (operand $E26F falls inside this region) +; referenced by `lda $E26F,y` at $D97E (operand $E26F falls inside this region) +; referenced by `lda $E26F,y` at $DC3C (operand $E26F falls inside this region) +; referenced by `lda $E26F,y` at $DC4C (operand $E26F falls inside this region) +; ... and 1 further references from decoded code +EnemySpritePositionTable: + .byte $68, $19, $03, $68, $68, $0A, $03, $70, $68, $1E, $03, $78, $68, $1C, $03, $80 ; CPU:$E24B PRG:224B 68 19 03 68 68 0A 03 70 68 1E 03 78 68 1C 03 80 + .byte $68, $0E, $03, $88, $58, $FF, $01, $60, $58, $FF, $01, $68, $D0, $FF, $01, $30 ; CPU:$E25B PRG:625B 68 0E 03 88 58 FF 01 60 58 FF 01 68 D0 FF 01 30 + .byte $D0, $FF, $01, $38, $6C, $E3, $A7, $EA, $62, $EA, $17, $EA, $CC, $E9, $5A, $E9 ; CPU:$E26B PRG:626B D0 FF 01 38 6C E3 A7 EA 62 EA 17 EA CC E9 5A E9 + .byte $FD, $E8, $04, $E5, $AF, $E8, $3D, $E8, $FD, $E8, $E3, $E7, $9B, $E7, $29, $E7 ; CPU:$E27B PRG:627B FD E8 04 E5 AF E8 3D E8 FD E8 E3 E7 9B E7 29 E7 + .byte $CF, $E6, $93, $E3, $93, $E6, $3D, $E8, $57, $E6, $FA, $E5, $AF, $E5, $49, $E5 ; CPU:$E28B PRG:628B CF E6 93 E3 93 E6 3D E8 57 E6 FA E5 AF E5 49 E5 + .byte $FD, $E8, $04, $E5, $BC, $E4, $56, $E4, $EA, $E3, $93, $E3, $6C, $E3, $1B, $E3 ; CPU:$E29B PRG:629B FD E8 04 E5 BC E4 56 E4 EA E3 93 E3 6C E3 1B E3 + .byte $E5, $E2, $AF, $E2, $07, $80, $00, $07, $80, $01, $06, $B0, $01, $06, $60, $27 ; CPU:$E2AB PRG:62AB E5 E2 AF E2 07 80 00 07 80 01 06 B0 01 06 60 27 + .byte $06, $20, $10, $06, $10, $0B, $05, $C0, $00, $05, $20, $30, $04, $D0, $0B, $04 ; CPU:$E2BB PRG:62BB 06 20 10 06 10 0B 05 C0 00 05 20 30 04 D0 0B 04 + .byte $40, $27, $03, $E0, $02, $03, $70, $10, $03, $60, $03, $02, $E0, $04, $02, $A0 ; CPU:$E2CB PRG:62CB 40 27 03 E0 02 03 70 10 03 60 03 02 E0 04 02 A0 + .byte $30, $02, $90, $03, $02, $90, $04, $00, $00, $00, $07, $A0, $05, $07, $90, $04 ; CPU:$E2DB PRG:62DB 30 02 90 03 02 90 04 00 00 00 07 A0 05 07 90 04 + .byte $06, $B0, $05, $06, $A0, $27, $06, $80, $0B, $05, $C0, $03, $05, $A0, $04, $05 ; CPU:$E2EB PRG:62EB 06 B0 05 06 A0 27 06 80 0B 05 C0 03 05 A0 04 05 + .byte $40, $30, $04, $D0, $0B, $04, $10, $11, $04, $00, $0B, $03, $E0, $06, $03, $C0 ; CPU:$E2FB PRG:62FB 40 30 04 D0 0B 04 10 11 04 00 0B 03 E0 06 03 C0 + .byte $07, $03, $60, $27, $02, $60, $30, $02, $10, $08, $02, $00, $07, $00, $00, $00 ; CPU:$E30B PRG:630B 07 03 60 27 02 60 30 02 10 08 02 00 07 00 00 00 + .byte $07, $A0, $06, $07, $80, $27, $07, $80, $28, $06, $B0, $08, $05, $C0, $0B, $05 ; CPU:$E31B PRG:631B 07 A0 06 07 80 27 07 80 28 06 B0 08 05 C0 0B 05 + .byte $A0, $0A, $05, $80, $12, $05, $80, $13, $05, $80, $14, $05, $80, $15, $05, $80 ; CPU:$E32B PRG:632B A0 0A 05 80 12 05 80 13 05 80 14 05 80 15 05 80 + .byte $16, $05, $60, $30, $05, $60, $09, $04, $D0, $0B, $04, $C0, $27, $04, $C0, $28 ; CPU:$E33B PRG:633B 16 05 60 30 05 60 09 04 D0 0B 04 C0 27 04 C0 28 + .byte $04, $40, $12, $04, $40, $13, $04, $40, $14, $04, $40, $15, $04, $40, $16, $04 ; CPU:$E34B PRG:634B 04 40 12 04 40 13 04 40 14 04 40 15 04 40 16 04 + .byte $10, $0B, $03, $E0, $09, $03, $A0, $30, $02, $F0, $0A, $02, $80, $03, $00, $00 ; CPU:$E35B PRG:635B 10 0B 03 E0 09 03 A0 30 02 F0 0A 02 80 03 00 00 + .byte $00, $07, $A0, $00, $07, $90, $02, $07, $70, $29, $06, $30, $11, $06, $20, $02 ; CPU:$E36B PRG:636B 00 07 A0 00 07 90 02 07 70 29 06 30 11 06 20 02 + .byte $05, $C0, $06, $05, $A0, $2C, $05, $90, $2E, $04, $D0, $08, $04, $80, $30, $03 ; CPU:$E37B PRG:637B 05 C0 06 05 A0 2C 05 90 2E 04 D0 08 04 80 30 03 + .byte $E0, $05, $03, $50, $03, $00, $00, $00 ; CPU:$E38B PRG:638B E0 05 03 50 03 00 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E393 +; Global: Branch target inside Label: taken when E393. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E393: + .byte $07, $A0 ; CPU:$E393 PRG:6393 07 A0 -- slo ZpA0 (undocumented; ca65 cannot encode) + ora Zp07 ; CPU:$E395 PRG:6395 05 07 + .byte $80, $27 ; CPU:$E397 PRG:6397 80 27 -- nop #$27 (undocumented; ca65 cannot encode) + .byte $07, $80 ; CPU:$E399 PRG:6399 07 80 -- slo Zp80 (undocumented; ca65 cannot encode) + plp ; CPU:$E39B PRG:639B 28 + .byte $07, $60 ; CPU:$E39C PRG:639C 07 60 -- slo Zp60 (undocumented; ca65 cannot encode) + .byte $17, $07 ; CPU:$E39E PRG:639E 17 07 -- slo Zp07,y (undocumented; ca65 cannot encode) + rts ; CPU:$E3A0 PRG:63A0 60 +; ---- data $E3A1-$EC0B (2155 bytes) ---- +; referenced by `lda $EBF5,x` at $DA05 (operand $EBF5 falls inside this region) +; referenced by `lda $EB19,y` at $DA21 (operand $EB19 falls inside this region) +; referenced by `lda $EB19,y` at $DA27 (operand $EB19 falls inside this region) +; referenced by `lda $EB19,y` at $DA2D (operand $EB19 falls inside this region) +; referenced by `lda $EB19,y` at $DA33 (operand $EB19 falls inside this region) +; referenced by `lda $EBDD,y` at $DA64 (operand $EBDD falls inside this region) +; ... and 3 further references from decoded code +EnemyHandlerCodeTable: + .byte $18, $07, $60, $19, $07, $60, $1A, $07, $60, $1B, $07, $50, $03, $07, $10, $10 ; CPU:$E3A1 PRG:23A1 18 07 60 19 07 60 1A 07 60 1B 07 50 03 07 10 10 + .byte $07, $00, $03, $06, $B0, $09, $06, $A0, $0A, $06, $80, $30, $05, $C0, $0A, $05 ; CPU:$E3B1 PRG:63B1 07 00 03 06 B0 09 06 A0 0A 06 80 30 05 C0 0A 05 + .byte $C0, $05, $05, $A0, $29, $05, $50, $10, $05, $30, $05, $04, $D0, $05, $04, $50 ; CPU:$E3C1 PRG:63C1 C0 05 05 A0 29 05 50 10 05 30 05 04 D0 05 04 50 + .byte $2C, $04, $40, $2A, $04, $20, $09, $03, $E0, $0B, $03, $80, $30, $03, $60, $04 ; CPU:$E3D1 PRG:63D1 2C 04 40 2A 04 20 09 03 E0 0B 03 80 30 03 60 04 + .byte $02, $F0, $05, $02, $00, $03, $00, $00, $00, $07, $A0, $06, $07, $00, $08, $06 ; CPU:$E3E1 PRG:63E1 02 F0 05 02 00 03 00 00 00 07 A0 06 07 00 08 06 + .byte $B0, $07, $06, $80, $2A, $06, $68, $2A, $06, $10, $30, $05, $C0, $08, $05, $C0 ; CPU:$E3F1 PRG:63F1 B0 07 06 80 2A 06 68 2A 06 10 30 05 C0 08 05 C0 + .byte $0D, $05, $80, $1C, $05, $80, $1D, $05, $80, $1E, $05, $80, $1F, $05, $80, $20 ; CPU:$E401 PRG:6401 0D 05 80 1C 05 80 1D 05 80 1E 05 80 1F 05 80 20 + .byte $05, $70, $06, $05, $50, $2C, $05, $40, $2C, $05, $40, $2A, $04, $D0, $0D, $04 ; CPU:$E411 PRG:6411 05 70 06 05 50 2C 05 40 2C 05 40 2A 04 D0 0D 04 + .byte $80, $1C, $04, $80, $1D, $04, $80, $1E, $04, $80, $1F, $04, $80, $20, $04, $70 ; CPU:$E421 PRG:6421 80 1C 04 80 1D 04 80 1E 04 80 1F 04 80 20 04 70 + .byte $0D, $04, $60, $02, $04, $20, $2A, $04, $10, $2F, $04, $10, $2C, $03, $E0, $0B ; CPU:$E431 PRG:6431 0D 04 60 02 04 20 2A 04 10 2F 04 10 2C 03 E0 0B + .byte $03, $E0, $09, $03, $70, $30, $02, $F0, $0D, $02, $F0, $02, $02, $00, $09, $02 ; CPU:$E441 PRG:6441 03 E0 09 03 70 30 02 F0 0D 02 F0 02 02 00 09 02 + .byte $00, $0B, $00, $00, $00, $07, $B0, $2F, $07, $A0, $2D, $07, $A0, $05, $07, $80 ; CPU:$E451 PRG:6451 00 0B 00 00 00 07 B0 2F 07 A0 2D 07 A0 05 07 80 + .byte $2A, $07, $20, $12, $07, $20, $13, $07, $20, $14, $07, $20, $15, $07, $20, $16 ; CPU:$E461 PRG:6461 2A 07 20 12 07 20 13 07 20 14 07 20 15 07 20 16 + .byte $07, $10, $03, $07, $10, $05, $06, $B0, $05, $06, $60, $30, $06, $10, $29, $06 ; CPU:$E471 PRG:6471 07 10 03 07 10 05 06 B0 05 06 60 30 06 10 29 06 + .byte $00, $2C, $05, $E0, $2F, $05, $D0, $05, $05, $D0, $0B, $05, $20, $12, $05, $20 ; CPU:$E481 PRG:6481 00 2C 05 E0 2F 05 D0 05 05 D0 0B 05 20 12 05 20 + .byte $13, $05, $20, $14, $05, $20, $15, $05, $20, $16, $05, $10, $03, $04, $F0, $0B ; CPU:$E491 PRG:6491 13 05 20 14 05 20 15 05 20 16 05 10 03 04 F0 0B + .byte $04, $D0, $05, $04, $60, $2C, $04, $50, $2B, $04, $50, $2D, $03, $E0, $02, $03 ; CPU:$E4A1 PRG:64A1 04 D0 05 04 60 2C 04 50 2B 04 50 2D 03 E0 02 03 + .byte $E0, $0B, $02, $F0, $02, $02, $F0, $0A, $00, $00, $00, $07, $90, $11, $07, $80 ; CPU:$E4B1 PRG:64B1 E0 0B 02 F0 02 02 F0 0A 00 00 00 07 90 11 07 80 + .byte $01, $07, $80, $00, $07, $10, $29, $07, $00, $2A, $06, $E0, $2E, $06, $B0, $02 ; CPU:$E4C1 PRG:64C1 01 07 80 00 07 10 29 07 00 2A 06 E0 2E 06 B0 02 + .byte $05, $C0, $00, $05, $C0, $08, $05, $80, $11, $05, $70, $00, $05, $70, $08, $04 ; CPU:$E4D1 PRG:64D1 05 C0 00 05 C0 08 05 80 11 05 70 00 05 70 08 04 + .byte $D0, $02, $04, $80, $2F, $04, $70, $2B, $04, $60, $2A, $04, $50, $2D, $03, $E0 ; CPU:$E4E1 PRG:64E1 D0 02 04 80 2F 04 70 2B 04 60 2A 04 50 2D 03 E0 + .byte $00, $03, $E0, $0B, $03, $20, $30, $02, $F0, $02, $02, $F0, $0A, $02, $E0, $00 ; CPU:$E4F1 PRG:64F1 00 03 E0 0B 03 20 30 02 F0 02 02 F0 0A 02 E0 00 + .byte $00, $00, $00, $07, $C0, $2C, $07, $B0, $2D, $07, $A0, $08, $07, $20, $10, $07 ; CPU:$E501 PRG:6501 00 00 00 07 C0 2C 07 B0 2D 07 A0 08 07 20 10 07 + .byte $10, $06, $06, $E0, $08, $06, $80, $30, $06, $00, $29, $05, $E0, $2E, $05, $D0 ; CPU:$E511 PRG:6511 10 06 06 E0 08 06 80 30 06 00 29 05 E0 2E 05 D0 + .byte $2B, $05, $C0, $06, $05, $C0, $08, $05, $C0, $0B, $04, $D0, $07, $04, $10, $10 ; CPU:$E521 PRG:6521 2B 05 C0 06 05 C0 08 05 C0 0B 04 D0 07 04 10 10 + .byte $03, $F0, $05, $03, $E0, $04, $03, $E0, $0A, $03, $50, $30, $02, $F0, $03, $02 ; CPU:$E531 PRG:6531 03 F0 05 03 E0 04 03 E0 0A 03 50 30 02 F0 03 02 + .byte $F0, $05, $02, $F0, $04, $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07, $B0 ; CPU:$E541 PRG:6541 F0 05 02 F0 04 00 00 00 07 D0 2C 07 C0 2B 07 B0 + .byte $2D, $07, $A0, $03, $07, $90, $04, $07, $00, $12, $07, $00, $13, $07, $00, $14 ; CPU:$E551 PRG:6551 2D 07 A0 03 07 90 04 07 00 12 07 00 13 07 00 14 + .byte $07, $00, $15, $07, $00, $16, $07, $00, $03, $07, $00, $04, $06, $B0, $0D, $06 ; CPU:$E561 PRG:6561 07 00 15 07 00 16 07 00 03 07 00 04 06 B0 0D 06 + .byte $80, $30, $05, $C0, $05, $05, $C0, $03, $05, $C0, $0C, $05, $80, $2C, $05, $60 ; CPU:$E571 PRG:6571 80 30 05 C0 05 05 C0 03 05 C0 0C 05 80 2C 05 60 + .byte $2C, $05, $40, $2C, $04, $80, $12, $04, $80, $13, $04, $80, $14, $04, $80, $15 ; CPU:$E581 PRG:6581 2C 05 40 2C 04 80 12 04 80 13 04 80 14 04 80 15 + .byte $04, $80, $16, $04, $80, $05, $03, $E0, $0B, $03, $C0, $2C, $03, $A0, $2C, $03 ; CPU:$E591 PRG:6591 04 80 16 04 80 05 03 E0 0B 03 C0 2C 03 A0 2C 03 + .byte $80, $2C, $02, $F0, $0A, $02, $00, $00, $02, $00, $01, $00, $00, $00, $07, $90 ; CPU:$E5A1 PRG:65A1 80 2C 02 F0 0A 02 00 00 02 00 01 00 00 00 07 90 + .byte $11, $07, $90, $08, $07, $90, $07, $07, $30, $2C, $07, $20, $2B, $07, $20, $2D ; CPU:$E5B1 PRG:65B1 11 07 90 08 07 90 07 07 30 2C 07 20 2B 07 20 2D + .byte $06, $B0, $06, $06, $00, $11, $06, $00, $06, $05, $C0, $08, $05, $C0, $07, $05 ; CPU:$E5C1 PRG:65C1 06 B0 06 06 00 11 06 00 06 05 C0 08 05 C0 07 05 + .byte $C0, $0B, $05, $70, $2E, $05, $70, $2F, $05, $60, $29, $05, $60, $2B, $04, $D0 ; CPU:$E5D1 PRG:65D1 C0 0B 05 70 2E 05 70 2F 05 60 29 05 60 2B 04 D0 + .byte $09, $04, $80, $09, $04, $00, $30, $03, $E0, $00, $03, $E0, $0B, $02, $F0, $02 ; CPU:$E5E1 PRG:65E1 09 04 80 09 04 00 30 03 E0 00 03 E0 0B 02 F0 02 + .byte $02, $00, $00, $02, $00, $01, $00, $00, $00, $07, $A0, $02, $07, $A0, $01, $07 ; CPU:$E5F1 PRG:65F1 02 00 00 02 00 01 00 00 00 07 A0 02 07 A0 01 07 + .byte $80, $29, $07, $70, $2B, $07, $60, $17, $07, $60, $18, $07, $60, $19, $07, $60 ; CPU:$E601 PRG:6601 80 29 07 70 2B 07 60 17 07 60 18 07 60 19 07 60 + .byte $1A, $07, $60, $1B, $07, $50, $00, $07, $00, $10, $07, $00, $00, $06, $E0, $02 ; CPU:$E611 PRG:6611 1A 07 60 1B 07 50 00 07 00 10 07 00 00 06 E0 02 + .byte $06, $20, $30, $05, $C0, $00, $05, $C0, $0B, $05, $A0, $2C, $05, $90, $29, $05 ; CPU:$E621 PRG:6621 06 20 30 05 C0 00 05 C0 0B 05 A0 2C 05 90 29 05 + .byte $90, $2F, $04, $D0, $10, $04, $D0, $02, $04, $D0, $0B, $03, $E0, $05, $03, $E0 ; CPU:$E631 PRG:6631 90 2F 04 D0 10 04 D0 02 04 D0 0B 03 E0 05 03 E0 + .byte $03, $03, $E0, $0B, $03, $A0, $30, $02, $F0, $05, $02, $F0, $0F, $02, $00, $03 ; CPU:$E641 PRG:6641 03 03 E0 0B 03 A0 30 02 F0 05 02 F0 0F 02 00 03 + .byte $02, $00, $0E, $00, $00, $00, $07, $90, $11, $07, $80, $00, $07, $80, $02, $07 ; CPU:$E651 PRG:6651 02 00 0E 00 00 00 07 90 11 07 80 00 07 80 02 07 + .byte $40, $2C, $07, $30, $2B, $07, $30, $2D, $06, $A0, $0B, $05, $C0, $06, $05, $80 ; CPU:$E661 PRG:6661 40 2C 07 30 2B 07 30 2D 06 A0 0B 05 C0 06 05 80 + .byte $2C, $05, $60, $2C, $04, $D0, $0B, $03, $E0, $08, $03, $E0, $0D, $03, $C0, $2C ; CPU:$E671 PRG:6671 2C 05 60 2C 04 D0 0B 03 E0 08 03 E0 0D 03 C0 2C + .byte $03, $A0, $29, $02, $F0, $0A, $02, $F0, $08, $02, $E0, $30, $02, $00, $06, $00 ; CPU:$E681 PRG:6681 03 A0 29 02 F0 0A 02 F0 08 02 E0 30 02 00 06 00 + .byte $00, $00, $07, $90, $11, $07, $80, $08, $07, $80, $07, $06, $E0, $30, $06, $B0 ; CPU:$E691 PRG:6691 00 00 07 90 11 07 80 08 07 80 07 06 E0 30 06 B0 + .byte $06, $06, $B0, $07, $05, $C0, $0B, $05, $80, $11, $05, $70, $07, $04, $D0, $08 ; CPU:$E6A1 PRG:66A1 06 06 B0 07 05 C0 0B 05 80 11 05 70 07 04 D0 08 + .byte $04, $C0, $29, $04, $C0, $2F, $04, $B0, $2B, $03, $E0, $06, $03, $E0, $0B, $03 ; CPU:$E6B1 PRG:66B1 04 C0 29 04 C0 2F 04 B0 2B 03 E0 06 03 E0 0B 03 + .byte $20, $30, $02, $F0, $07, $02, $F0, $0A, $02, $00, $06, $00, $00, $00, $07, $A0 ; CPU:$E6C1 PRG:66C1 20 30 02 F0 07 02 F0 0A 02 00 06 00 00 00 07 A0 + .byte $05, $07, $A0, $04, $07, $80, $2E, $07, $70, $2C, $07, $60, $2A, $06, $B0, $03 ; CPU:$E6D1 PRG:66D1 05 07 A0 04 07 80 2E 07 70 2C 07 60 2A 06 B0 03 + .byte $06, $80, $30, $06, $10, $2A, $06, $00, $2C, $05, $E0, $2E, $05, $C0, $03, $05 ; CPU:$E6E1 PRG:66E1 06 80 30 06 10 2A 06 00 2C 05 E0 2E 05 C0 03 05 + .byte $C0, $08, $05, $60, $1C, $05, $60, $1D, $05, $60, $1E, $05, $60, $1F, $05, $60 ; CPU:$E6F1 PRG:66F1 C0 08 05 60 1C 05 60 1D 05 60 1E 05 60 1F 05 60 + .byte $20, $05, $60, $03, $05, $60, $08, $04, $D0, $04, $04, $C0, $2D, $04, $B0, $2A ; CPU:$E701 PRG:6701 20 05 60 03 05 60 08 04 D0 04 04 C0 2D 04 B0 2A + .byte $04, $B0, $2E, $03, $E0, $03, $03, $E0, $0B, $03, $60, $30, $02, $F0, $04, $02 ; CPU:$E711 PRG:6711 04 B0 2E 03 E0 03 03 E0 0B 03 60 30 02 F0 04 02 + .byte $00, $0B, $02, $00, $0E, $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07, $B0 ; CPU:$E721 PRG:6721 00 0B 02 00 0E 00 00 00 07 D0 2C 07 C0 2B 07 B0 + .byte $2D, $07, $A0, $04, $07, $A0, $0B, $07, $00, $12, $07, $00, $13, $07, $00, $14 ; CPU:$E731 PRG:6731 2D 07 A0 04 07 A0 0B 07 00 12 07 00 13 07 00 14 + .byte $07, $00, $15, $07, $00, $16, $07, $00, $04, $07, $00, $0B, $06, $B0, $05, $06 ; CPU:$E741 PRG:6741 07 00 15 07 00 16 07 00 04 07 00 0B 06 B0 05 06 + .byte $B0, $0B, $06, $80, $30, $05, $C0, $05, $05, $C0, $0B, $05, $B0, $03, $05, $80 ; CPU:$E751 PRG:6751 B0 0B 06 80 30 05 C0 05 05 C0 0B 05 B0 03 05 80 + .byte $2C, $05, $60, $2C, $05, $40, $2C, $04, $D0, $0B, $04, $80, $12, $04, $80, $13 ; CPU:$E761 PRG:6761 2C 05 60 2C 05 40 2C 04 D0 0B 04 80 12 04 80 13 + .byte $04, $80, $14, $04, $80, $15, $04, $80, $16, $04, $60, $04, $03, $E0, $06, $03 ; CPU:$E771 PRG:6771 04 80 14 04 80 15 04 80 16 04 60 04 03 E0 06 03 + .byte $E0, $0B, $03, $C0, $2C, $03, $A0, $2C, $03, $80, $2C, $02, $F0, $0B, $02, $F0 ; CPU:$E781 PRG:6781 E0 0B 03 C0 2C 03 A0 2C 03 80 2C 02 F0 0B 02 F0 + .byte $07, $02, $A0, $30, $02, $A0, $06, $00, $00, $00, $07, $80, $11, $07, $80, $03 ; CPU:$E791 PRG:6791 07 02 A0 30 02 A0 06 00 00 00 07 80 11 07 80 03 + .byte $07, $80, $04, $07, $30, $2C, $07, $20, $2B, $07, $20, $2D, $06, $B0, $05, $05 ; CPU:$E7A1 PRG:67A1 07 80 04 07 30 2C 07 20 2B 07 20 2D 06 B0 05 05 + .byte $80, $11, $05, $40, $03, $05, $40, $0B, $05, $00, $2B, $04, $E0, $2E, $04, $E0 ; CPU:$E7B1 PRG:67B1 80 11 05 40 03 05 40 0B 05 00 2B 04 E0 2E 04 E0 + .byte $2F, $04, $D0, $29, $04, $D0, $2B, $04, $D0, $04, $04, $00, $30, $03, $E0, $07 ; CPU:$E7C1 PRG:67C1 2F 04 D0 29 04 D0 2B 04 D0 04 04 00 30 03 E0 07 + .byte $03, $E0, $08, $03, $E0, $0B, $03, $40, $07, $03, $20, $06, $03, $00, $08, $00 ; CPU:$E7D1 PRG:67D1 03 E0 08 03 E0 0B 03 40 07 03 20 06 03 00 08 00 + .byte $00, $00, $07, $A0, $00, $07, $A0, $02, $07, $80, $29, $07, $70, $2B, $07, $60 ; CPU:$E7E1 PRG:67E1 00 00 07 A0 00 07 A0 02 07 80 29 07 70 2B 07 60 + .byte $17, $07, $60, $18, $07, $60, $19, $07, $60, $1A, $07, $60, $1B, $07, $00, $02 ; CPU:$E7F1 PRG:67F1 17 07 60 18 07 60 19 07 60 1A 07 60 1B 07 00 02 + .byte $07, $00, $10, $07, $00, $02, $06, $B0, $00, $06, $20, $30, $05, $C0, $02, $05 ; CPU:$E801 PRG:6801 07 00 10 07 00 02 06 B0 00 06 20 30 05 C0 02 05 + .byte $C0, $0D, $05, $A0, $2C, $05, $90, $29, $05, $90, $2F, $05, $80, $0D, $04, $D0 ; CPU:$E811 PRG:6811 C0 0D 05 A0 2C 05 90 29 05 90 2F 05 80 0D 04 D0 + .byte $10, $04, $D0, $0C, $04, $40, $05, $03, $E0, $0B, $03, $E0, $0C, $03, $A0, $30 ; CPU:$E821 PRG:6821 10 04 D0 0C 04 40 05 03 E0 0B 03 E0 0C 03 A0 30 + .byte $02, $F0, $0A, $02, $00, $05, $02, $00, $0B, $00, $00, $00, $07, $B0, $2F, $07 ; CPU:$E831 PRG:6831 02 F0 0A 02 00 05 02 00 0B 00 00 00 07 B0 2F 07 + .byte $A0, $2D, $07, $A0, $03, $07, $A0, $04, $07, $80, $2A, $07, $20, $12, $07, $20 ; CPU:$E841 PRG:6841 A0 2D 07 A0 03 07 A0 04 07 80 2A 07 20 12 07 20 + .byte $13, $07, $20, $14, $07, $20, $15, $07, $20, $16, $07, $20, $03, $07, $00, $05 ; CPU:$E851 PRG:6851 13 07 20 14 07 20 15 07 20 16 07 20 03 07 00 05 + .byte $06, $60, $30, $06, $10, $29, $06, $00, $2C, $05, $E0, $2F, $05, $C0, $03, $05 ; CPU:$E861 PRG:6861 06 60 30 06 10 29 06 00 2C 05 E0 2F 05 C0 03 05 + .byte $C0, $0B, $05, $B0, $05, $05, $20, $12, $05, $20, $13, $05, $20, $14, $05, $20 ; CPU:$E871 PRG:6871 C0 0B 05 B0 05 05 20 12 05 20 13 05 20 14 05 20 + .byte $15, $05, $20, $16, $05, $20, $03, $04, $D0, $0B, $04, $60, $2C, $04, $50, $2B ; CPU:$E881 PRG:6881 15 05 20 16 05 20 03 04 D0 0B 04 60 2C 04 50 2B + .byte $04, $50, $2D, $03, $E0, $0B, $03, $E0, $0C, $03, $E0, $0E, $03, $40, $0D, $03 ; CPU:$E891 PRG:6891 04 50 2D 03 E0 0B 03 E0 0C 03 E0 0E 03 40 0D 03 + .byte $30, $0F, $03, $20, $0A, $03, $10, $0C, $03, $00, $0E, $00, $00, $00, $07, $A0 ; CPU:$E8A1 PRG:68A1 30 0F 03 20 0A 03 10 0C 03 00 0E 00 00 00 07 A0 + .byte $11, $07, $90, $00, $07, $80, $01, $07, $70, $02, $07, $20, $29, $07, $10, $2A ; CPU:$E8B1 PRG:68B1 11 07 90 00 07 80 01 07 70 02 07 20 29 07 10 2A + .byte $06, $F0, $2E, $05, $C0, $00, $05, $C0, $0B, $05, $20, $11, $05, $10, $01, $05 ; CPU:$E8C1 PRG:68C1 06 F0 2E 05 C0 00 05 C0 0B 05 20 11 05 10 01 05 + .byte $10, $00, $04, $90, $2F, $04, $80, $2B, $04, $70, $2A, $04, $60, $2D, $03, $E0 ; CPU:$E8D1 PRG:68D1 10 00 04 90 2F 04 80 2B 04 70 2A 04 60 2D 03 E0 + .byte $06, $03, $E0, $07, $03, $E0, $0C, $03, $E0, $0D, $03, $20, $30, $03, $10, $07 ; CPU:$E8E1 PRG:68E1 06 03 E0 07 03 E0 0C 03 E0 0D 03 20 30 03 10 07 + .byte $03, $00, $08, $02, $F0, $0C, $02, $E0, $0D, $00, $00, $00, $07, $A0, $06, $07 ; CPU:$E8F1 PRG:68F1 03 00 08 02 F0 0C 02 E0 0D 00 00 00 07 A0 06 07 + .byte $A0, $07, $07, $A0, $08, $07, $80, $2E, $07, $70, $2C, $07, $60, $2A, $06, $80 ; CPU:$E901 PRG:6901 A0 07 07 A0 08 07 80 2E 07 70 2C 07 60 2A 06 80 + .byte $30, $05, $C0, $07, $05, $C0, $08, $05, $C0, $0C, $05, $60, $1C, $05, $60, $1D ; CPU:$E911 PRG:6911 30 05 C0 07 05 C0 08 05 C0 0C 05 60 1C 05 60 1D + .byte $05, $60, $1E, $05, $60, $1F, $05, $60, $20, $05, $60, $08, $05, $60, $0C, $04 ; CPU:$E921 PRG:6921 05 60 1E 05 60 1F 05 60 20 05 60 08 05 60 0C 04 + .byte $C0, $2B, $04, $C0, $2D, $04, $B0, $2A, $03, $E0, $0B, $03, $E0, $0A, $03, $E0 ; CPU:$E931 PRG:6931 C0 2B 04 C0 2D 04 B0 2A 03 E0 0B 03 E0 0A 03 E0 + .byte $0C, $03, $E0, $0D, $03, $E0, $00, $03, $60, $30, $03, $50, $0B, $03, $40, $09 ; CPU:$E941 PRG:6941 0C 03 E0 0D 03 E0 00 03 60 30 03 50 0B 03 40 09 + .byte $03, $30, $0E, $03, $20, $02, $00, $00, $00, $07, $D0, $2C, $07, $C0, $2B, $07 ; CPU:$E951 PRG:6951 03 30 0E 03 20 02 00 00 00 07 D0 2C 07 C0 2B 07 + .byte $B0, $2D, $07, $A0, $02, $07, $A0, $09, $07, $A0, $0B, $07, $00, $12, $07, $00 ; CPU:$E961 PRG:6961 B0 2D 07 A0 02 07 A0 09 07 A0 0B 07 00 12 07 00 + .byte $13, $07, $00, $14, $07, $00, $15, $07, $00, $16, $07, $00, $02, $07, $00, $09 ; CPU:$E971 PRG:6971 13 07 00 14 07 00 15 07 00 16 07 00 02 07 00 09 + .byte $07, $00, $0B, $06, $80, $30, $05, $C0, $00, $05, $C0, $01, $05, $C0, $09, $05 ; CPU:$E981 PRG:6981 07 00 0B 06 80 30 05 C0 00 05 C0 01 05 C0 09 05 + .byte $C0, $0B, $05, $80, $2C, $05, $60, $2C, $05, $40, $2C, $04, $80, $12, $04, $80 ; CPU:$E991 PRG:6991 C0 0B 05 80 2C 05 60 2C 05 40 2C 04 80 12 04 80 + .byte $13, $04, $80, $14, $04, $80, $15, $04, $80, $16, $04, $50, $08, $03, $E0, $0B ; CPU:$E9A1 PRG:69A1 13 04 80 14 04 80 15 04 80 16 04 50 08 03 E0 0B + .byte $03, $E0, $0C, $03, $C0, $2C, $03, $A0, $2C, $03, $80, $2C, $03, $40, $30, $02 ; CPU:$E9B1 PRG:69B1 03 E0 0C 03 C0 2C 03 A0 2C 03 80 2C 03 40 30 02 + .byte $F0, $08, $02, $E0, $0B, $02, $D0, $0C, $00, $00, $00, $07, $90, $11, $07, $80 ; CPU:$E9C1 PRG:69C1 F0 08 02 E0 0B 02 D0 0C 00 00 00 07 90 11 07 80 + .byte $00, $07, $80, $02, $07, $30, $2C, $07, $20, $2B, $07, $20, $2D, $06, $B0, $02 ; CPU:$E9D1 PRG:69D1 00 07 80 02 07 30 2C 07 20 2B 07 20 2D 06 B0 02 + .byte $05, $E0, $11, $05, $C0, $00, $05, $C0, $06, $05, $70, $2B, $05, $60, $2E, $05 ; CPU:$E9E1 PRG:69E1 05 E0 11 05 C0 00 05 C0 06 05 70 2B 05 60 2E 05 + .byte $60, $2F, $05, $50, $29, $05, $50, $2B, $04, $D0, $02, $04, $D0, $08, $04, $00 ; CPU:$E9F1 PRG:69F1 60 2F 05 50 29 05 50 2B 04 D0 02 04 D0 08 04 00 + .byte $30, $03, $E0, $00, $03, $E0, $06, $03, $E0, $0B, $03, $40, $02, $03, $30, $08 ; CPU:$EA01 PRG:6A01 30 03 E0 00 03 E0 06 03 E0 0B 03 40 02 03 30 08 + .byte $03, $20, $0B, $00, $00, $00, $07, $A0, $00, $07, $A0, $01, $07, $A0, $02, $07 ; CPU:$EA11 PRG:6A11 03 20 0B 00 00 00 07 A0 00 07 A0 01 07 A0 02 07 + .byte $80, $29, $07, $70, $2B, $07, $00, $10, $06, $E0, $00, $06, $D0, $01, $06, $C0 ; CPU:$EA21 PRG:6A21 80 29 07 70 2B 07 00 10 06 E0 00 06 D0 01 06 C0 + .byte $02, $06, $20, $30, $05, $C0, $00, $05, $C0, $01, $05, $C0, $08, $05, $A0, $2C ; CPU:$EA31 PRG:6A31 02 06 20 30 05 C0 00 05 C0 01 05 C0 08 05 A0 2C + .byte $05, $90, $29, $05, $90, $2F, $04, $D0, $10, $04, $C0, $02, $03, $E0, $06, $03 ; CPU:$EA41 PRG:6A41 05 90 29 05 90 2F 04 D0 10 04 C0 02 03 E0 06 03 + .byte $E0, $0B, $03, $E0, $0E, $03, $A0, $30, $03, $10, $06, $03, $00, $0B, $00, $00 ; CPU:$EA51 PRG:6A51 E0 0B 03 E0 0E 03 A0 30 03 10 06 03 00 0B 00 00 + .byte $00, $07, $A0, $11, $07, $A0, $00, $07, $A0, $01, $07, $A0, $07, $07, $A0, $08 ; CPU:$EA61 PRG:6A61 00 07 A0 11 07 A0 00 07 A0 01 07 A0 07 07 A0 08 + .byte $07, $40, $2C, $07, $30, $2B, $07, $30, $2D, $05, $C0, $06, $05, $C0, $0B, $05 ; CPU:$EA71 PRG:6A71 07 40 2C 07 30 2B 07 30 2D 05 C0 06 05 C0 0B 05 + .byte $C0, $0E, $04, $00, $2E, $03, $E0, $2E, $03, $E0, $2C, $03, $E0, $08, $03, $E0 ; CPU:$EA81 PRG:6A81 C0 0E 04 00 2E 03 E0 2E 03 E0 2C 03 E0 08 03 E0 + .byte $0B, $03, $E0, $0C, $03, $50, $30, $03, $40, $0A, $03, $30, $0B, $03, $20, $0C ; CPU:$EA91 PRG:6A91 0B 03 E0 0C 03 50 30 03 40 0A 03 30 0B 03 20 0C + .byte $03, $10, $0D, $00, $00, $00, $07, $B0, $2F, $07, $A0, $2D, $07, $A0, $03, $07 ; CPU:$EAA1 PRG:6AA1 03 10 0D 00 00 00 07 B0 2F 07 A0 2D 07 A0 03 07 + .byte $A0, $04, $07, $A0, $0A, $07, $A0, $0B, $07, $80, $2A, $07, $20, $12, $07, $20 ; CPU:$EAB1 PRG:6AB1 A0 04 07 A0 0A 07 A0 0B 07 80 2A 07 20 12 07 20 + .byte $13, $07, $20, $14, $07, $20, $15, $07, $20, $16, $07, $10, $03, $07, $10, $04 ; CPU:$EAC1 PRG:6AC1 13 07 20 14 07 20 15 07 20 16 07 10 03 07 10 04 + .byte $07, $10, $0A, $07, $10, $0B, $06, $60, $30, $05, $C0, $05, $05, $C0, $08, $05 ; CPU:$EAD1 PRG:6AD1 07 10 0A 07 10 0B 06 60 30 05 C0 05 05 C0 08 05 + .byte $C0, $0B, $05, $C0, $0C, $05, $20, $12, $05, $20, $13, $05, $20, $14, $05, $20 ; CPU:$EAE1 PRG:6AE1 C0 0B 05 C0 0C 05 20 12 05 20 13 05 20 14 05 20 + .byte $15, $05, $20, $16, $05, $10, $05, $05, $10, $08, $05, $10, $0B, $05, $10, $0C ; CPU:$EAF1 PRG:6AF1 15 05 20 16 05 10 05 05 10 08 05 10 0B 05 10 0C + .byte $04, $60, $2C, $04, $50, $2B, $04, $50, $2D, $03, $E0, $02, $03, $E0, $06, $03 ; CPU:$EB01 PRG:6B01 04 60 2C 04 50 2B 04 50 2D 03 E0 02 03 E0 06 03 + .byte $E0, $0B, $03, $E0, $0C, $00, $00, $00, $03, $32, $02, $32, $03, $32, $01, $14 ; CPU:$EB11 PRG:6B11 E0 0B 03 E0 0C 00 00 00 03 32 02 32 03 32 01 14 + .byte $03, $1E, $01, $28, $06, $32, $02, $32, $06, $32, $01, $14, $06, $1E, $01, $28 ; CPU:$EB21 PRG:6B21 03 1E 01 28 06 32 02 32 06 32 01 14 06 1E 01 28 + .byte $04, $32, $02, $32, $04, $32, $01, $14, $04, $1E, $01, $28, $00, $32, $02, $32 ; CPU:$EB31 PRG:6B31 04 32 02 32 04 32 01 14 04 1E 01 28 00 32 02 32 + .byte $00, $32, $01, $14, $00, $1E, $01, $28, $01, $32, $02, $32, $01, $32, $01, $14 ; CPU:$EB41 PRG:6B41 00 32 01 14 00 1E 01 28 01 32 02 32 01 32 01 14 + .byte $07, $32, $02, $32, $07, $32, $01, $14, $0A, $05, $01, $05, $0B, $05, $01, $05 ; CPU:$EB51 PRG:6B51 07 32 02 32 07 32 01 14 0A 05 01 05 0B 05 01 05 + .byte $0C, $05, $01, $01, $0D, $0A, $01, $01, $0E, $0F, $01, $01, $0F, $14, $01, $01 ; CPU:$EB61 PRG:6B61 0C 05 01 01 0D 0A 01 01 0E 0F 01 01 0F 14 01 01 + .byte $10, $19, $01, $01, $11, $05, $01, $01, $12, $0A, $01, $01, $13, $0A, $01, $01 ; CPU:$EB71 PRG:6B71 10 19 01 01 11 05 01 01 12 0A 01 01 13 0A 01 01 + .byte $12, $0F, $01, $01, $13, $0F, $01, $01, $14, $05, $01, $01, $15, $0A, $01, $01 ; CPU:$EB81 PRG:6B81 12 0F 01 01 13 0F 01 01 14 05 01 01 15 0A 01 01 + .byte $16, $0A, $01, $01, $15, $0F, $01, $01, $16, $0F, $01, $01, $14, $01, $01, $01 ; CPU:$EB91 PRG:6B91 16 0A 01 01 15 0F 01 01 16 0F 01 01 14 01 01 01 + .byte $17, $01, $01, $01, $17, $01, $01, $01, $17, $01, $01, $01, $15, $01, $01, $01 ; CPU:$EBA1 PRG:6BA1 17 01 01 01 17 01 01 01 17 01 01 01 15 01 01 01 + .byte $15, $01, $01, $01, $20, $01, $01, $01, $21, $01, $01, $01, $22, $01, $01, $01 ; CPU:$EBB1 PRG:6BB1 15 01 01 01 20 01 01 01 21 01 01 01 22 01 01 01 + .byte $23, $01, $01, $01, $24, $01, $01, $01, $25, $01, $01, $01, $26, $01, $01, $01 ; CPU:$EBC1 PRG:6BC1 23 01 01 01 24 01 01 01 25 01 01 01 26 01 01 01 + .byte $27, $01, $01, $01, $28, $01, $01, $01, $30, $01, $01, $01, $1E, $00, $1E, $00 ; CPU:$EBD1 PRG:6BD1 27 01 01 01 28 01 01 01 30 01 01 01 1E 00 1E 00 + .byte $1E, $00, $1E, $00, $1E, $00, $1E, $00, $1E, $00, $1E, $00, $14, $00, $1E, $00 ; CPU:$EBE1 PRG:6BE1 1E 00 1E 00 1E 00 1E 00 1E 00 1E 00 14 00 1E 00 + .byte $1E, $00, $3C, $00, $10, $11, $12, $17, $1C, $21, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$EBF1 PRG:6BF1 1E 00 3C 00 10 11 12 17 1C 21 FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$EC01 PRG:6C01 FF FF FF FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Label_EC0C +; Global: Branch target inside Label: taken when EC0C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC0C: + ldx #$0E ; CPU:$EC0C PRG:6C0C A2 0E + lda $078C ; CPU:$EC0E PRG:6C0E AD 8C 07 + cmp #$FF ; CPU:$EC11 PRG:6C11 C9 FF + beq NmiHandler_Loop160 ; CPU:$EC13 PRG:6C13 F0 16 + cmp #$80 ; CPU:$EC15 PRG:6C15 C9 80 + beq NmiHandler_Loop161 ; CPU:$EC17 PRG:6C17 F0 1F + lda $078D ; CPU:$EC19 PRG:6C19 AD 8D 07 + cmp #$02 ; CPU:$EC1C PRG:6C1C C9 02 + beq NmiHandler_Loop159 ; CPU:$EC1E PRG:6C1E F0 03 + jmp Sub_EE5F ; CPU:$EC20 PRG:6C20 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop159: + lda #$00 ; CPU:$EC23 PRG:6C23 A9 00 + sta $070D ; CPU:$EC25 PRG:6C25 8D 0D 07 + jmp Sub_ED67 ; CPU:$EC28 PRG:6C28 4C 67 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop160: + lda #$70 ; CPU:$EC2B PRG:6C2B A9 70 + sta $04C0,x ; CPU:$EC2D PRG:6C2D 9D C0 04 + lda #$48 ; CPU:$EC30 PRG:6C30 A9 48 + sta $04A7,x ; CPU:$EC32 PRG:6C32 9D A7 04 + jmp Sub_ED57 ; CPU:$EC35 PRG:6C35 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop161: + lda #$88 ; CPU:$EC38 PRG:6C38 A9 88 + sta $04C0,x ; CPU:$EC3A PRG:6C3A 9D C0 04 + lda #$48 ; CPU:$EC3D PRG:6C3D A9 48 + sta $04A7,x ; CPU:$EC3F PRG:6C3F 9D A7 04 + jmp Sub_ED57 ; CPU:$EC42 PRG:6C42 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EC45 +; Global: Branch target inside Label: taken when EC45. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC45: + ldx #$0F ; CPU:$EC45 PRG:6C45 A2 0F + lda $078C ; CPU:$EC47 PRG:6C47 AD 8C 07 + cmp #$FF ; CPU:$EC4A PRG:6C4A C9 FF + beq NmiHandler_Loop163 ; CPU:$EC4C PRG:6C4C F0 11 + cmp #$80 ; CPU:$EC4E PRG:6C4E C9 80 + beq NmiHandler_Loop164 ; CPU:$EC50 PRG:6C50 F0 1A + lda $078D ; CPU:$EC52 PRG:6C52 AD 8D 07 + cmp #$FF ; CPU:$EC55 PRG:6C55 C9 FF + beq NmiHandler_Loop162 ; CPU:$EC57 PRG:6C57 F0 03 + jmp Sub_EE5F ; CPU:$EC59 PRG:6C59 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop162: + jmp Sub_EE36 ; CPU:$EC5C PRG:6C5C 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: + lda #$78 ; CPU:$EC5F PRG:6C5F A9 78 + sta $04C0,x ; CPU:$EC61 PRG:6C61 9D C0 04 + lda #$58 ; CPU:$EC64 PRG:6C64 A9 58 + sta $04A7,x ; CPU:$EC66 PRG:6C66 9D A7 04 + jmp Sub_ED57 ; CPU:$EC69 PRG:6C69 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop164: + lda #$68 ; CPU:$EC6C PRG:6C6C A9 68 + sta $04C0,x ; CPU:$EC6E PRG:6C6E 9D C0 04 + lda #$78 ; CPU:$EC71 PRG:6C71 A9 78 + sta $04A7,x ; CPU:$EC73 PRG:6C73 9D A7 04 + jmp Sub_ED57 ; CPU:$EC76 PRG:6C76 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EC79 +; Global: Branch target inside Label: taken when EC79. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC79: + ldx #$10 ; CPU:$EC79 PRG:6C79 A2 10 + lda $078C ; CPU:$EC7B PRG:6C7B AD 8C 07 + cmp #$FF ; CPU:$EC7E PRG:6C7E C9 FF + beq NmiHandler_Loop166 ; CPU:$EC80 PRG:6C80 F0 11 + cmp #$80 ; CPU:$EC82 PRG:6C82 C9 80 + beq NmiHandler_Loop167 ; CPU:$EC84 PRG:6C84 F0 1A + lda $078D ; CPU:$EC86 PRG:6C86 AD 8D 07 + cmp #$FF ; CPU:$EC89 PRG:6C89 C9 FF + beq NmiHandler_Loop165 ; CPU:$EC8B PRG:6C8B F0 03 + jmp Sub_EE5F ; CPU:$EC8D PRG:6C8D 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop165: + jmp Sub_EE36 ; CPU:$EC90 PRG:6C90 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop166: + lda #$68 ; CPU:$EC93 PRG:6C93 A9 68 + sta $04C0,x ; CPU:$EC95 PRG:6C95 9D C0 04 + lda #$78 ; CPU:$EC98 PRG:6C98 A9 78 + sta $04A7,x ; CPU:$EC9A PRG:6C9A 9D A7 04 + jmp Sub_ED57 ; CPU:$EC9D PRG:6C9D 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop167: + lda #$88 ; CPU:$ECA0 PRG:6CA0 A9 88 + sta $04C0,x ; CPU:$ECA2 PRG:6CA2 9D C0 04 + lda #$88 ; CPU:$ECA5 PRG:6CA5 A9 88 + sta $04A7,x ; CPU:$ECA7 PRG:6CA7 9D A7 04 + jmp Sub_ED57 ; CPU:$ECAA PRG:6CAA 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: Label_ECAD +; Global: Branch target inside Label: taken when ECAD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECAD: + ldx #$11 ; CPU:$ECAD PRG:6CAD A2 11 + lda $078C ; CPU:$ECAF PRG:6CAF AD 8C 07 + cmp #$FF ; CPU:$ECB2 PRG:6CB2 C9 FF + beq NmiHandler_Loop169 ; CPU:$ECB4 PRG:6CB4 F0 11 + cmp #$80 ; CPU:$ECB6 PRG:6CB6 C9 80 + beq NmiHandler_Loop171 ; CPU:$ECB8 PRG:6CB8 F0 25 + lda $078D ; CPU:$ECBA PRG:6CBA AD 8D 07 + cmp #$FF ; CPU:$ECBD PRG:6CBD C9 FF + beq NmiHandler_Loop168 ; CPU:$ECBF PRG:6CBF F0 03 + jmp Sub_EE5F ; CPU:$ECC1 PRG:6CC1 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + jmp Sub_EE36 ; CPU:$ECC4 PRG:6CC4 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + lda #$60 ; CPU:$ECC7 PRG:6CC7 A9 60 + sta $04C0,x ; CPU:$ECC9 PRG:6CC9 9D C0 04 + lda #$88 ; CPU:$ECCC PRG:6CCC A9 88 + sta $04A7,x ; CPU:$ECCE PRG:6CCE 9D A7 04 + lda $0386 ; CPU:$ECD1 PRG:6CD1 AD 86 03 + beq NmiHandler_Loop170 ; CPU:$ECD4 PRG:6CD4 F0 06 + inc $04D9,x ; CPU:$ECD6 PRG:6CD6 FE D9 04 + inc $04D9,x ; CPU:$ECD9 PRG:6CD9 FE D9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + jmp Sub_ED57 ; CPU:$ECDC PRG:6CDC 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop171: + lda #$58 ; CPU:$ECDF PRG:6CDF A9 58 + sta $04C0,x ; CPU:$ECE1 PRG:6CE1 9D C0 04 + lda #$A8 ; CPU:$ECE4 PRG:6CE4 A9 A8 + sta $04A7,x ; CPU:$ECE6 PRG:6CE6 9D A7 04 + lda #$04 ; CPU:$ECE9 PRG:6CE9 A9 04 + sta $04F2,x ; CPU:$ECEB PRG:6CEB 9D F2 04 + jmp Sub_ED5C ; CPU:$ECEE PRG:6CEE 4C 5C ED +; ----------------------------------------------------------------------------- +; Routine: Label_ECF1 +; Global: Branch target inside Label: taken when ECF1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECF1: + ldx #$12 ; CPU:$ECF1 PRG:6CF1 A2 12 + lda $078C ; CPU:$ECF3 PRG:6CF3 AD 8C 07 + cmp #$FF ; CPU:$ECF6 PRG:6CF6 C9 FF + beq NmiHandler_Loop173 ; CPU:$ECF8 PRG:6CF8 F0 11 + cmp #$80 ; CPU:$ECFA PRG:6CFA C9 80 + beq NmiHandler_Loop174 ; CPU:$ECFC PRG:6CFC F0 1F + lda $078D ; CPU:$ECFE PRG:6CFE AD 8D 07 + cmp #$FF ; CPU:$ED01 PRG:6D01 C9 FF + beq NmiHandler_Loop172 ; CPU:$ED03 PRG:6D03 F0 03 + jmp Sub_EE5F ; CPU:$ED05 PRG:6D05 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + jmp Sub_EE36 ; CPU:$ED08 PRG:6D08 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop173: + lda #$18 ; CPU:$ED0B PRG:6D0B A9 18 + sta $04C0,x ; CPU:$ED0D PRG:6D0D 9D C0 04 + lda #$D0 ; CPU:$ED10 PRG:6D10 A9 D0 + sta $04A7,x ; CPU:$ED12 PRG:6D12 9D A7 04 + lda #$03 ; CPU:$ED15 PRG:6D15 A9 03 + sta $04F2,x ; CPU:$ED17 PRG:6D17 9D F2 04 + jmp Sub_ED5C ; CPU:$ED1A PRG:6D1A 4C 5C ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + lda #$A0 ; CPU:$ED1D PRG:6D1D A9 A0 + sta $04C0,x ; CPU:$ED1F PRG:6D1F 9D C0 04 + lda #$B8 ; CPU:$ED22 PRG:6D22 A9 B8 + sta $04A7,x ; CPU:$ED24 PRG:6D24 9D A7 04 + jmp Sub_ED57 ; CPU:$ED27 PRG:6D27 4C 57 ED +; ----------------------------------------------------------------------------- +; Routine: Label_ED2A +; Global: Branch target inside Label: taken when ED2A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED2A: + ldx #$13 ; CPU:$ED2A PRG:6D2A A2 13 + lda $078D ; CPU:$ED2C PRG:6D2C AD 8D 07 + cmp #$FF ; CPU:$ED2F PRG:6D2F C9 FF + beq NmiHandler_Loop175 ; CPU:$ED31 PRG:6D31 F0 03 + jmp Sub_EE5F ; CPU:$ED33 PRG:6D33 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: + jmp Sub_EE36 ; CPU:$ED36 PRG:6D36 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: Label_ED39 +; Global: Branch target inside Label: taken when ED39. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED39: + ldx #$14 ; CPU:$ED39 PRG:6D39 A2 14 + lda $078D ; CPU:$ED3B PRG:6D3B AD 8D 07 + cmp #$FF ; CPU:$ED3E PRG:6D3E C9 FF + beq NmiHandler_Loop176 ; CPU:$ED40 PRG:6D40 F0 03 + jmp Sub_EE5F ; CPU:$ED42 PRG:6D42 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop176: + jmp Sub_EE36 ; CPU:$ED45 PRG:6D45 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: Label_ED48 +; Global: Branch target inside Label: taken when ED48. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED48: + ldx #$15 ; CPU:$ED48 PRG:6D48 A2 15 + lda $078D ; CPU:$ED4A PRG:6D4A AD 8D 07 + cmp #$FF ; CPU:$ED4D PRG:6D4D C9 FF + beq NmiHandler_Loop177 ; CPU:$ED4F PRG:6D4F F0 03 + jmp Sub_EE5F ; CPU:$ED51 PRG:6D51 4C 5F EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop177: + jmp Sub_EE36 ; CPU:$ED54 PRG:6D54 4C 36 EE +; ----------------------------------------------------------------------------- +; Routine: Sub_ED57 +; Global: Branch target inside Sub: taken when ED57. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED57: + lda #$02 ; CPU:$ED57 PRG:6D57 A9 02 + sta $04F2,x ; CPU:$ED59 PRG:6D59 9D F2 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED5C +; Global: Branch target inside Sub: taken when ED5C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED5C: + lda #$88 ; CPU:$ED5C PRG:6D5C A9 88 + sta $048E,x ; CPU:$ED5E PRG:6D5E 9D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED61 +; Global: Branch target inside Sub: taken when ED61. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED61: + jsr Sub_C275 ; CPU:$ED61 PRG:6D61 20 75 C2 + jmp Sub_ED61 ; CPU:$ED64 PRG:6D64 4C 61 ED +; ----------------------------------------------------------------------------- +; Routine: Sub_ED67 +; Global: Branch target inside Sub: taken when ED67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED67: + jsr Sub_F7CD ; CPU:$ED67 PRG:6D67 20 CD F7 + bne NmiHandler_Loop178 ; CPU:$ED6A PRG:6D6A D0 06 + jsr Sub_C275 ; CPU:$ED6C PRG:6D6C 20 75 C2 + jmp Sub_ED67 ; CPU:$ED6F PRG:6D6F 4C 67 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + jsr Sub_B3CF ; CPU:$ED72 PRG:6D72 20 CF B3 + bne NmiHandler_Loop179 ; CPU:$ED75 PRG:6D75 D0 0F + jsr Sub_F7FC ; CPU:$ED77 PRG:6D77 20 FC F7 + jsr Sub_FB00 ; CPU:$ED7A PRG:6D7A 20 00 FB + jsr Sub_F7CD ; CPU:$ED7D PRG:6D7D 20 CD F7 + jsr Sub_C275 ; CPU:$ED80 PRG:6D80 20 75 C2 + jmp NmiHandler_Loop178 ; CPU:$ED83 PRG:6D83 4C 72 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop179: + lda $048E,x ; CPU:$ED86 PRG:6D86 BD 8E 04 + ora #$20 ; CPU:$ED89 PRG:6D89 09 20 + sta $048E,x ; CPU:$ED8B PRG:6D8B 9D 8E 04 + lda #$00 ; CPU:$ED8E PRG:6D8E A9 00 + sta $0682,x ; CPU:$ED90 PRG:6D90 9D 82 06 + lda #$FF ; CPU:$ED93 PRG:6D93 A9 FF + sta $078D ; CPU:$ED95 PRG:6D95 8D 8D 07 + lda #$08 ; CPU:$ED98 PRG:6D98 A9 08 + sta $050B,x ; CPU:$ED9A PRG:6D9A 9D 0B 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED9D +; Global: Branch target inside Sub: taken when ED9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED9D: + lda $0682,x ; CPU:$ED9D PRG:6D9D BD 82 06 + asl a ; CPU:$EDA0 PRG:6DA0 0A + tay ; CPU:$EDA1 PRG:6DA1 A8 + lda $EE2A,y ; CPU:$EDA2 PRG:6DA2 B9 2A EE + sta PlayerScore ; CPU:$EDA5 PRG:6DA5 85 B0 + iny ; CPU:$EDA7 PRG:6DA7 C8 + lda $EE2A,y ; CPU:$EDA8 PRG:6DA8 B9 2A EE + sta ZpB1 ; CPU:$EDAB PRG:6DAB 85 B1 + ldy #$0F ; CPU:$EDAD PRG:6DAD A0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear43 +; Global: Branch target inside NmiHandler: taken when OnCarryClear43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear43: + lda $048E,y ; CPU:$EDAF PRG:6DAF B9 8E 04 + beq NmiHandler_Loop180 ; CPU:$EDB2 PRG:6DB2 F0 08 + iny ; CPU:$EDB4 PRG:6DB4 C8 + cpy #$16 ; CPU:$EDB5 PRG:6DB5 C0 16 + bcc NmiHandler_OnCarryClear43 ; CPU:$EDB7 PRG:6DB7 90 F6 + jmp NmiHandler_Loop181 ; CPU:$EDB9 PRG:6DB9 4C 05 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop180: + lda #$A9 ; CPU:$EDBC PRG:6DBC A9 A9 + sta $048E,y ; CPU:$EDBE PRG:6DBE 99 8E 04 + lda #$80 ; CPU:$EDC1 PRG:6DC1 A9 80 + sta $04D9,y ; CPU:$EDC3 PRG:6DC3 99 D9 04 + lda #$01 ; CPU:$EDC6 PRG:6DC6 A9 01 + sta $04F2,y ; CPU:$EDC8 PRG:6DC8 99 F2 04 + lda #$02 ; CPU:$EDCB PRG:6DCB A9 02 + sta $05BA,y ; CPU:$EDCD PRG:6DCD 99 BA 05 + lda #$FF ; CPU:$EDD0 PRG:6DD0 A9 FF + sta $069B,y ; CPU:$EDD2 PRG:6DD2 99 9B 06 + lda PlayerScore ; CPU:$EDD5 PRG:6DD5 A5 B0 + sta $056F,y ; CPU:$EDD7 PRG:6DD7 99 6F 05 + lda ZpB1 ; CPU:$EDDA PRG:6DDA A5 B1 + sta $0588,y ; CPU:$EDDC PRG:6DDC 99 88 05 + lda $053D,x ; CPU:$EDDF PRG:6DDF BD 3D 05 + sta $053D,y ; CPU:$EDE2 PRG:6DE2 99 3D 05 + lda $0524,x ; CPU:$EDE5 PRG:6DE5 BD 24 05 + sta $0524,y ; CPU:$EDE8 PRG:6DE8 99 24 05 + tya ; CPU:$EDEB PRG:6DEB 98 + sec ; CPU:$EDEC PRG:6DEC 38 + sbc #$0D ; CPU:$EDED PRG:6DED E9 0D + asl a ; CPU:$EDEF PRG:6DEF 0A + clc ; CPU:$EDF0 PRG:6DF0 18 + adc #$08 ; CPU:$EDF1 PRG:6DF1 69 08 + jsr Sub_C1F5 ; CPU:$EDF3 PRG:6DF3 20 F5 C1 + inc $0682,x ; CPU:$EDF6 PRG:6DF6 FE 82 06 + lda $0682,x ; CPU:$EDF9 PRG:6DF9 BD 82 06 + cmp #$06 ; CPU:$EDFC PRG:6DFC C9 06 + bcc NmiHandler_Loop181 ; CPU:$EDFE PRG:6DFE 90 05 + lda #$00 ; CPU:$EE00 PRG:6E00 A9 00 + sta $0682,x ; CPU:$EE02 PRG:6E02 9D 82 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop181: + jsr Sub_F7CD ; CPU:$EE05 PRG:6E05 20 CD F7 + beq NmiHandler_Loop182 ; CPU:$EE08 PRG:6E08 F0 06 + jsr Sub_C275 ; CPU:$EE0A PRG:6E0A 20 75 C2 + jmp Sub_ED9D ; CPU:$EE0D PRG:6E0D 4C 9D ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + lda #$78 ; CPU:$EE10 PRG:6E10 A9 78 + sta $04C0,x ; CPU:$EE12 PRG:6E12 9D C0 04 + lda #$78 ; CPU:$EE15 PRG:6E15 A9 78 + sta $04A7,x ; CPU:$EE17 PRG:6E17 9D A7 04 + lda #$88 ; CPU:$EE1A PRG:6E1A A9 88 + sta $048E,x ; CPU:$EE1C PRG:6E1C 9D 8E 04 + jsr Sub_C275 ; CPU:$EE1F PRG:6E1F 20 75 C2 + lda #$13 ; CPU:$EE22 PRG:6E22 A9 13 + jsr Sub_F9E1 ; CPU:$EE24 PRG:6E24 20 E1 F9 + jmp NmiHandler_Loop272 ; CPU:$EE27 PRG:6E27 4C 4A F9 +; ---- data $EE2A-$EE35 (12 bytes) ---- +; referenced by `lda $EE2A,y` at $EDA2 (operand $EE2A falls inside this region) +; referenced by `lda $EE2A,y` at $EDA8 (operand $EE2A falls inside this region) + .byte $00, $C4, $01, $1C, $00, $E4, $01, $0C, $00, $D4, $01, $2C ; CPU:$EE2A PRG:6E2A 00 C4 01 1C 00 E4 01 0C 00 D4 01 2C +; ----------------------------------------------------------------------------- +; Routine: Sub_EE36 +; Global: Branch target inside Sub: taken when EE36. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE36: + lda #$13 ; CPU:$EE36 PRG:6E36 A9 13 + jsr Sub_A06B ; CPU:$EE38 PRG:6E38 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE3B +; Global: Branch target inside Sub: taken when EE3B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE3B: + inc $069B,x ; CPU:$EE3B PRG:6E3B FE 9B 06 + lda $069B,x ; CPU:$EE3E PRG:6E3E BD 9B 06 + lsr a ; CPU:$EE41 PRG:6E41 4A + cmp #$04 ; CPU:$EE42 PRG:6E42 C9 04 + bcs NmiHandler_Loop183 ; CPU:$EE44 PRG:6E44 B0 16 + clc ; CPU:$EE46 PRG:6E46 18 + adc #$80 ; CPU:$EE47 PRG:6E47 69 80 + sta $04D9,x ; CPU:$EE49 PRG:6E49 9D D9 04 + lda #$08 ; CPU:$EE4C PRG:6E4C A9 08 + sta $050B,x ; CPU:$EE4E PRG:6E4E 9D 0B 05 + jsr Sub_F7CD ; CPU:$EE51 PRG:6E51 20 CD F7 + beq NmiHandler_Loop183 ; CPU:$EE54 PRG:6E54 F0 06 + jsr Sub_C275 ; CPU:$EE56 PRG:6E56 20 75 C2 + jmp Sub_EE3B ; CPU:$EE59 PRG:6E59 4C 3B EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + jmp NmiHandler_Loop272 ; CPU:$EE5C PRG:6E5C 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE5F +; Global: Branch target inside Sub: taken when EE5F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE5F: + inc $0439 ; CPU:$EE5F PRG:6E5F EE 39 04 + bne NmiHandler_Loop184 ; CPU:$EE62 PRG:6E62 D0 03 + inc $043A ; CPU:$EE64 PRG:6E64 EE 3A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: + inc $043D ; CPU:$EE67 PRG:6E67 EE 3D 04 + bne NmiHandler_Loop185 ; CPU:$EE6A PRG:6E6A D0 03 + inc $043E ; CPU:$EE6C PRG:6E6C EE 3E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop185: + lda #$88 ; CPU:$EE6F PRG:6E6F A9 88 + sta $048E,x ; CPU:$EE71 PRG:6E71 9D 8E 04 + lda #$FF ; CPU:$EE74 PRG:6E74 A9 FF + sta $069B,x ; CPU:$EE76 PRG:6E76 9D 9B 06 + lda $05D3,x ; CPU:$EE79 PRG:6E79 BD D3 05 + asl a ; CPU:$EE7C PRG:6E7C 0A + tay ; CPU:$EE7D PRG:6E7D A8 + lda $EFF2,y ; CPU:$EE7E PRG:6E7E B9 F2 EF + sta VramWritePtrLo ; CPU:$EE81 PRG:6E81 85 8A + iny ; CPU:$EE83 PRG:6E83 C8 + lda $EFF2,y ; CPU:$EE84 PRG:6E84 B9 F2 EF + sta VramWritePtrHi ; CPU:$EE87 PRG:6E87 85 8B + jmp (VramWritePtrLo) ; CPU:$EE89 PRG:6E89 6C 8A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_EE8C +; Global: Branch target inside Label: taken when EE8C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EE8C: + lda #$00 ; CPU:$EE8C PRG:6E8C A9 00 + sta $05D3,x ; CPU:$EE8E PRG:6E8E 9D D3 05 + lda #$11 ; CPU:$EE91 PRG:6E91 A9 11 + sta $05BA,x ; CPU:$EE93 PRG:6E93 9D BA 05 + lda #$02 ; CPU:$EE96 PRG:6E96 A9 02 + sta $04F2,x ; CPU:$EE98 PRG:6E98 9D F2 04 + lda #$44 ; CPU:$EE9B PRG:6E9B A9 44 + sta $06B4,x ; CPU:$EE9D PRG:6E9D 9D B4 06 + jsr Sub_F176 ; CPU:$EEA0 PRG:6EA0 20 76 F1 + lda $050B,x ; CPU:$EEA3 PRG:6EA3 BD 0B 05 + and #$FE ; CPU:$EEA6 PRG:6EA6 29 FE + sta $050B,x ; CPU:$EEA8 PRG:6EA8 9D 0B 05 + jsr Sub_F386 ; CPU:$EEAB PRG:6EAB 20 86 F3 + jsr NmiHandler_OnZero6 ; CPU:$EEAE PRG:6EAE 20 5A F1 + jmp NmiHandler_Loop272 ; CPU:$EEB1 PRG:6EB1 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EEB4 +; Global: Branch target inside Label: taken when EEB4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EEB4: + lda #$13 ; CPU:$EEB4 PRG:6EB4 A9 13 + sta $05BA,x ; CPU:$EEB6 PRG:6EB6 9D BA 05 + lda #$02 ; CPU:$EEB9 PRG:6EB9 A9 02 + sta $04F2,x ; CPU:$EEBB PRG:6EBB 9D F2 04 + lda #$5C ; CPU:$EEBE PRG:6EBE A9 5C + sta $06B4,x ; CPU:$EEC0 PRG:6EC0 9D B4 06 + jsr Sub_F34C ; CPU:$EEC3 PRG:6EC3 20 4C F3 + lda $050B,x ; CPU:$EEC6 PRG:6EC6 BD 0B 05 + and #$FE ; CPU:$EEC9 PRG:6EC9 29 FE + sta $050B,x ; CPU:$EECB PRG:6ECB 9D 0B 05 + jsr Sub_F386 ; CPU:$EECE PRG:6ECE 20 86 F3 + jsr NmiHandler_OnZero6 ; CPU:$EED1 PRG:6ED1 20 5A F1 + jmp NmiHandler_Loop272 ; CPU:$EED4 PRG:6ED4 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EED7 +; Global: Branch target inside Label: taken when EED7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EED7: + lda #$12 ; CPU:$EED7 PRG:6ED7 A9 12 + sta $05BA,x ; CPU:$EED9 PRG:6ED9 9D BA 05 + lda #$00 ; CPU:$EEDC PRG:6EDC A9 00 + sta $04F2,x ; CPU:$EEDE PRG:6EDE 9D F2 04 + jsr Sub_F054 ; CPU:$EEE1 PRG:6EE1 20 54 F0 + jsr NmiHandler_OnZero6 ; CPU:$EEE4 PRG:6EE4 20 5A F1 + jmp NmiHandler_Loop272 ; CPU:$EEE7 PRG:6EE7 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EEEA +; Global: Branch target inside Label: taken when EEEA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EEEA: + lda #$12 ; CPU:$EEEA PRG:6EEA A9 12 + sta $05BA,x ; CPU:$EEEC PRG:6EEC 9D BA 05 + lda #$00 ; CPU:$EEEF PRG:6EEF A9 00 + sta $04F2,x ; CPU:$EEF1 PRG:6EF1 9D F2 04 + jsr Sub_F054 ; CPU:$EEF4 PRG:6EF4 20 54 F0 + jsr NmiHandler_OnZero4 ; CPU:$EEF7 PRG:6EF7 20 CE F0 + jsr NmiHandler_OnZero6 ; CPU:$EEFA PRG:6EFA 20 5A F1 + jmp NmiHandler_Loop272 ; CPU:$EEFD PRG:6EFD 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EF00 +; Global: Branch target inside Label: taken when EF00. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF00: + lda #$12 ; CPU:$EF00 PRG:6F00 A9 12 + sta $05BA,x ; CPU:$EF02 PRG:6F02 9D BA 05 + lda #$00 ; CPU:$EF05 PRG:6F05 A9 00 + sta $04F2,x ; CPU:$EF07 PRG:6F07 9D F2 04 + jsr Sub_F42C ; CPU:$EF0A PRG:6F0A 20 2C F4 + jsr Sub_F4BA ; CPU:$EF0D PRG:6F0D 20 BA F4 + jmp NmiHandler_Loop272 ; CPU:$EF10 PRG:6F10 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EF13 +; Global: Branch target inside Label: taken when EF13. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF13: + lda #$12 ; CPU:$EF13 PRG:6F13 A9 12 + sta $05BA,x ; CPU:$EF15 PRG:6F15 9D BA 05 + lda #$02 ; CPU:$EF18 PRG:6F18 A9 02 + sta $04F2,x ; CPU:$EF1A PRG:6F1A 9D F2 04 + lda #$48 ; CPU:$EF1D PRG:6F1D A9 48 + sta $06B4,x ; CPU:$EF1F PRG:6F1F 9D B4 06 + jsr Sub_F34C ; CPU:$EF22 PRG:6F22 20 4C F3 + jsr Sub_F4BA ; CPU:$EF25 PRG:6F25 20 BA F4 + jmp NmiHandler_Loop272 ; CPU:$EF28 PRG:6F28 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EF2B +; Global: Branch target inside Label: taken when EF2B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF2B: + lda #$12 ; CPU:$EF2B PRG:6F2B A9 12 + sta $05BA,x ; CPU:$EF2D PRG:6F2D 9D BA 05 + lda #$00 ; CPU:$EF30 PRG:6F30 A9 00 + sta $04F2,x ; CPU:$EF32 PRG:6F32 9D F2 04 + lda #$35 ; CPU:$EF35 PRG:6F35 A9 35 + sta $06B4,x ; CPU:$EF37 PRG:6F37 9D B4 06 + jsr Sub_F054 ; CPU:$EF3A PRG:6F3A 20 54 F0 + jsr NmiHandler_OnZero4 ; CPU:$EF3D PRG:6F3D 20 CE F0 + jsr Sub_F176 ; CPU:$EF40 PRG:6F40 20 76 F1 + jsr NmiHandler_OnZero6 ; CPU:$EF43 PRG:6F43 20 5A F1 + jmp NmiHandler_Loop272 ; CPU:$EF46 PRG:6F46 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF49 +; Global: Branch target inside Sub: taken when EF49. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF49: + inc $0717 ; CPU:$EF49 PRG:6F49 EE 17 07 + lda #$01 ; CPU:$EF4C PRG:6F4C A9 01 + sta $04F2,x ; CPU:$EF4E PRG:6F4E 9D F2 04 + lda #$15 ; CPU:$EF51 PRG:6F51 A9 15 + sta $05BA,x ; CPU:$EF53 PRG:6F53 9D BA 05 + lda #$00 ; CPU:$EF56 PRG:6F56 A9 00 + sta $0682,x ; CPU:$EF58 PRG:6F58 9D 82 06 + lda $048E,x ; CPU:$EF5B PRG:6F5B BD 8E 04 + ora #$10 ; CPU:$EF5E PRG:6F5E 09 10 + ora #$02 ; CPU:$EF60 PRG:6F60 09 02 + sta $048E,x ; CPU:$EF62 PRG:6F62 9D 8E 04 + jsr Sub_F570 ; CPU:$EF65 PRG:6F65 20 70 F5 + jmp NmiHandler_Loop272 ; CPU:$EF68 PRG:6F68 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EF6B +; Global: Branch target inside Label: taken when EF6B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF6B: + jmp Sub_EF49 ; CPU:$EF6B PRG:6F6B 4C 49 EF +; ----------------------------------------------------------------------------- +; Routine: Sub_EF6E +; Global: Branch target inside Sub: taken when EF6E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF6E: + lda $048E,x ; CPU:$EF6E PRG:6F6E BD 8E 04 + ora #$02 ; CPU:$EF71 PRG:6F71 09 02 + sta $048E,x ; CPU:$EF73 PRG:6F73 9D 8E 04 + lda #$02 ; CPU:$EF76 PRG:6F76 A9 02 + sta $04F2,x ; CPU:$EF78 PRG:6F78 9D F2 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF7B +; Global: Branch target inside Sub: taken when EF7B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF7B: + lda #$0A ; CPU:$EF7B PRG:6F7B A9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_EF7D +; Global: Branch target inside Sub: taken when EF7D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF7D: + sta $05BA,x ; CPU:$EF7D PRG:6F7D 9D BA 05 + lda #$00 ; CPU:$EF80 PRG:6F80 A9 00 + sta $0682,x ; CPU:$EF82 PRG:6F82 9D 82 06 + sta $05EC,x ; CPU:$EF85 PRG:6F85 9D EC 05 + jsr Sub_F570 ; CPU:$EF88 PRG:6F88 20 70 F5 + jmp NmiHandler_Loop272 ; CPU:$EF8B PRG:6F8B 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Label_EF8E +; Global: Branch target inside Label: taken when EF8E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF8E: + jmp Sub_EF6E ; CPU:$EF8E PRG:6F8E 4C 6E EF +; ----------------------------------------------------------------------------- +; Routine: Sub_EF91 +; Global: Branch target inside Sub: taken when EF91. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF91: + lda #$71 ; CPU:$EF91 PRG:6F91 A9 71 + jmp Sub_EF98 ; CPU:$EF93 PRG:6F93 4C 98 EF +; ----------------------------------------------------------------------------- +; Routine: Sub_EF96 +; Global: Branch target inside Sub: taken when EF96. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF96: + lda #$70 ; CPU:$EF96 PRG:6F96 A9 70 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF98 +; Global: Branch target inside Sub: taken when EF98. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF98: + sta $04D9,x ; CPU:$EF98 PRG:6F98 9D D9 04 + lda #$06 ; CPU:$EF9B PRG:6F9B A9 06 + jmp Sub_EF7D ; CPU:$EF9D PRG:6F9D 4C 7D EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFA0 +; Global: Branch target inside Label: taken when EFA0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFA0: + lda #$00 ; CPU:$EFA0 PRG:6FA0 A9 00 + sta $04F2,x ; CPU:$EFA2 PRG:6FA2 9D F2 04 + lda #$60 ; CPU:$EFA5 PRG:6FA5 A9 60 + sta $04D9,x ; CPU:$EFA7 PRG:6FA7 9D D9 04 + jmp Sub_EF98 ; CPU:$EFAA PRG:6FAA 4C 98 EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFAD +; Global: Branch target inside Label: taken when EFAD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFAD: + lda #$02 ; CPU:$EFAD PRG:6FAD A9 02 + sta $04F2,x ; CPU:$EFAF PRG:6FAF 9D F2 04 + jmp Sub_EF96 ; CPU:$EFB2 PRG:6FB2 4C 96 EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFB5 +; Global: Branch target inside Label: taken when EFB5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFB5: + lda #$00 ; CPU:$EFB5 PRG:6FB5 A9 00 + sta $04F2,x ; CPU:$EFB7 PRG:6FB7 9D F2 04 + jmp Sub_EF91 ; CPU:$EFBA PRG:6FBA 4C 91 EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFBD +; Global: Branch target inside Label: taken when EFBD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFBD: + lda #$00 ; CPU:$EFBD PRG:6FBD A9 00 + sta $04F2,x ; CPU:$EFBF PRG:6FBF 9D F2 04 + jmp Sub_EF96 ; CPU:$EFC2 PRG:6FC2 4C 96 EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFC5 +; Global: Branch target inside Label: taken when EFC5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFC5: + lda #$02 ; CPU:$EFC5 PRG:6FC5 A9 02 + sta $04F2,x ; CPU:$EFC7 PRG:6FC7 9D F2 04 + jmp Sub_EF91 ; CPU:$EFCA PRG:6FCA 4C 91 EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFCD +; Global: Branch target inside Label: taken when EFCD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFCD: + lda #$02 ; CPU:$EFCD PRG:6FCD A9 02 + sta $04F2,x ; CPU:$EFCF PRG:6FCF 9D F2 04 + lda #$60 ; CPU:$EFD2 PRG:6FD2 A9 60 + sta $04D9,x ; CPU:$EFD4 PRG:6FD4 9D D9 04 + jmp Sub_EF7B ; CPU:$EFD7 PRG:6FD7 4C 7B EF +; ----------------------------------------------------------------------------- +; Routine: Label_EFDA +; Global: Branch target inside Label: taken when EFDA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFDA: + lda #$02 ; CPU:$EFDA PRG:6FDA A9 02 + sta $04F2,x ; CPU:$EFDC PRG:6FDC 9D F2 04 + lda #$0B ; CPU:$EFDF PRG:6FDF A9 0B + sta $05BA,x ; CPU:$EFE1 PRG:6FE1 9D BA 05 + lda #$00 ; CPU:$EFE4 PRG:6FE4 A9 00 + sta $0682,x ; CPU:$EFE6 PRG:6FE6 9D 82 06 + sta $05EC,x ; CPU:$EFE9 PRG:6FE9 9D EC 05 + jsr Sub_F6E8 ; CPU:$EFEC PRG:6FEC 20 E8 F6 + jmp NmiHandler_Loop272 ; CPU:$EFEF PRG:6FEF 4C 4A F9 +; ---- data $EFF2-$F053 (98 bytes) ---- +; referenced by `lda $EFF2,y` at $EE7E (operand $EFF2 falls inside this region) +; referenced by `lda $EFF2,y` at $EE84 (operand $EFF2 falls inside this region) + .byte $8C, $EE, $B4, $EE, $8C, $EE, $D7, $EE, $EA, $EE, $00, $EF, $00, $EF, $13, $EF ; CPU:$EFF2 PRG:6FF2 8C EE B4 EE 8C EE D7 EE EA EE 00 EF 00 EF 13 EF + .byte $2B, $EF, $49, $EF, $49, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF ; CPU:$F002 PRG:7002 2B EF 49 EF 49 EF 6B EF 6B EF 6B EF 6B EF 6B EF + .byte $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6B, $EF, $6E, $EF ; CPU:$F012 PRG:7012 6B EF 6B EF 6B EF 6B EF 6B EF 6B EF 6B EF 6E EF + .byte $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF, $6E, $EF ; CPU:$F022 PRG:7022 6E EF 6E EF 6E EF 6E EF 6E EF 6E EF 6E EF 6E EF + .byte $6E, $EF, $8E, $EF, $A0, $EF, $AD, $EF, $B5, $EF, $BD, $EF, $C5, $EF, $CD, $EF ; CPU:$F032 PRG:7032 6E EF 8E EF A0 EF AD EF B5 EF BD EF C5 EF CD EF + .byte $BD, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF, $DA, $EF ; CPU:$F042 PRG:7042 BD EF DA EF DA EF DA EF DA EF DA EF DA EF DA EF + .byte $DA, $EF ; CPU:$F052 PRG:7052 DA EF +; ----------------------------------------------------------------------------- +; Routine: Sub_F054 +; Global: Branch target inside Sub: taken when F054. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F054: + lda $071F ; CPU:$F054 PRG:7054 AD 1F 07 + and #$07 ; CPU:$F057 PRG:7057 29 07 + asl a ; CPU:$F059 PRG:7059 0A + asl a ; CPU:$F05A PRG:705A 0A + tay ; CPU:$F05B PRG:705B A8 + inc $071F ; CPU:$F05C PRG:705C EE 1F 07 + lda $F12E,y ; CPU:$F05F PRG:705F B9 2E F1 + sta $056F,x ; CPU:$F062 PRG:7062 9D 6F 05 + iny ; CPU:$F065 PRG:7065 C8 + lda $F12E,y ; CPU:$F066 PRG:7066 B9 2E F1 + sta $0588,x ; CPU:$F069 PRG:7069 9D 88 05 + iny ; CPU:$F06C PRG:706C C8 + lda $F12E,y ; CPU:$F06D PRG:706D B9 2E F1 + sta $0524,x ; CPU:$F070 PRG:7070 9D 24 05 + iny ; CPU:$F073 PRG:7073 C8 + lda $F12E,y ; CPU:$F074 PRG:7074 B9 2E F1 + sta $053D,x ; CPU:$F077 PRG:7077 9D 3D 05 + lda #$14 ; CPU:$F07A PRG:707A A9 14 + sta $04D9,x ; CPU:$F07C PRG:707C 9D D9 04 + jsr Sub_B0BC ; CPU:$F07F PRG:707F 20 BC B0 + ldy #$00 ; CPU:$F082 PRG:7082 A0 00 + jsr Sub_B0E5 ; CPU:$F084 PRG:7084 20 E5 B0 + jsr Sub_ADC9 ; CPU:$F087 PRG:7087 20 C9 AD + sta $050B,x ; CPU:$F08A PRG:708A 9D 0B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero3: + jsr Sub_F7CD ; CPU:$F08D PRG:708D 20 CD F7 + bne NmiHandler_Loop186 ; CPU:$F090 PRG:7090 D0 06 + jsr Sub_C275 ; CPU:$F092 PRG:7092 20 75 C2 + jmp NmiHandler_OnZero3 ; CPU:$F095 PRG:7095 4C 8D F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop186: + jsr Sub_FA32 ; CPU:$F098 PRG:7098 20 32 FA + jsr Sub_A9D3 ; CPU:$F09B PRG:709B 20 D3 A9 + bcc NmiHandler_Loop187 ; CPU:$F09E PRG:709E 90 03 + jmp Sub_F0C1 ; CPU:$F0A0 PRG:70A0 4C C1 F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + lda $04A7,x ; CPU:$F0A3 PRG:70A3 BD A7 04 + cmp $04A7 ; CPU:$F0A6 PRG:70A6 CD A7 04 + bcc NmiHandler_Loop188 ; CPU:$F0A9 PRG:70A9 90 03 + jmp Sub_F0C1 ; CPU:$F0AB PRG:70AB 4C C1 F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + jsr Sub_F7FC ; CPU:$F0AE PRG:70AE 20 FC F7 + bcc NmiHandler_Loop189 ; CPU:$F0B1 PRG:70B1 90 03 + jmp NmiHandler_Loop262 ; CPU:$F0B3 PRG:70B3 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: + jsr Sub_C275 ; CPU:$F0B6 PRG:70B6 20 75 C2 + jsr Sub_B3CF ; CPU:$F0B9 PRG:70B9 20 CF B3 + beq NmiHandler_OnZero3 ; CPU:$F0BC PRG:70BC F0 CF + jmp NmiHandler_Loop262 ; CPU:$F0BE PRG:70BE 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_F0C1 +; Global: Branch target inside Sub: taken when F0C1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F0C1: + lda #$FF ; CPU:$F0C1 PRG:70C1 A9 FF + sta $069B,x ; CPU:$F0C3 PRG:70C3 9D 9B 06 + lda #$20 ; CPU:$F0C6 PRG:70C6 A9 20 + sta $05EC,x ; CPU:$F0C8 PRG:70C8 9D EC 05 + jmp NmiHandler_OnZero5 ; CPU:$F0CB PRG:70CB 4C FD F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: + jsr Sub_F7CD ; CPU:$F0CE PRG:70CE 20 CD F7 + bne NmiHandler_Loop190 ; CPU:$F0D1 PRG:70D1 D0 03 + jmp NmiHandler_Loop272 ; CPU:$F0D3 PRG:70D3 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop190: + jsr Sub_FA32 ; CPU:$F0D6 PRG:70D6 20 32 FA + lda $04A7,x ; CPU:$F0D9 PRG:70D9 BD A7 04 + cmp #$30 ; CPU:$F0DC PRG:70DC C9 30 + bcc NmiHandler_Loop192 ; CPU:$F0DE PRG:70DE 90 13 + jsr Sub_F7FC ; CPU:$F0E0 PRG:70E0 20 FC F7 + bcc NmiHandler_Loop191 ; CPU:$F0E3 PRG:70E3 90 03 + jmp NmiHandler_Loop262 ; CPU:$F0E5 PRG:70E5 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop191: + jsr Sub_C275 ; CPU:$F0E8 PRG:70E8 20 75 C2 + jsr Sub_B3CF ; CPU:$F0EB PRG:70EB 20 CF B3 + beq NmiHandler_OnZero4 ; CPU:$F0EE PRG:70EE F0 DE + jmp NmiHandler_Loop262 ; CPU:$F0F0 PRG:70F0 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop192: + lda #$FF ; CPU:$F0F3 PRG:70F3 A9 FF + sta $069B,x ; CPU:$F0F5 PRG:70F5 9D 9B 06 + lda #$24 ; CPU:$F0F8 PRG:70F8 A9 24 + sta $05EC,x ; CPU:$F0FA PRG:70FA 9D EC 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero5 +; Global: Branch target inside NmiHandler: taken when OnZero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero5: + inc $069B,x ; CPU:$F0FD PRG:70FD FE 9B 06 + lda $069B,x ; CPU:$F100 PRG:7100 BD 9B 06 + lsr a ; CPU:$F103 PRG:7103 4A + and #$07 ; CPU:$F104 PRG:7104 29 07 + cmp #$04 ; CPU:$F106 PRG:7106 C9 04 + beq NmiHandler_Loop193 ; CPU:$F108 PRG:7108 F0 12 + clc ; CPU:$F10A PRG:710A 18 + adc $05EC,x ; CPU:$F10B PRG:710B 7D EC 05 + sta $04D9,x ; CPU:$F10E PRG:710E 9D D9 04 + jsr Sub_C275 ; CPU:$F111 PRG:7111 20 75 C2 + jsr Sub_B3CF ; CPU:$F114 PRG:7114 20 CF B3 + beq NmiHandler_OnZero5 ; CPU:$F117 PRG:7117 F0 E4 + jmp NmiHandler_Loop262 ; CPU:$F119 PRG:7119 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop193: + lda $050B,x ; CPU:$F11C PRG:711C BD 0B 05 + and #$0F ; CPU:$F11F PRG:711F 29 0F + tay ; CPU:$F121 PRG:7121 A8 + lda $F14A,y ; CPU:$F122 PRG:7122 B9 4A F1 + jsr Sub_F7C3 ; CPU:$F125 PRG:7125 20 C3 F7 + lda #$00 ; CPU:$F128 PRG:7128 A9 00 + sta $04F2,x ; CPU:$F12A PRG:712A 9D F2 04 + rts ; CPU:$F12D PRG:712D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_F12E +; Global: Branch target inside Label: taken when F12E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F12E: + brk ; CPU:$F12E PRG:712E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F12F +; Global: Branch target inside Label: taken when F12F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F12F: + bcc NmiHandler_Loop194 ; CPU:$F12F PRG:712F 90 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + rti ; CPU:$F131 PRG:7131 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F132 +; Global: Branch target inside Label: taken when F132. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F132: + brk ; CPU:$F132 PRG:7132 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F133 +; Global: Branch target inside Label: taken when F133. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F133: + ldy #$00 ; CPU:$F133 PRG:7133 A0 00 + rti ; CPU:$F135 PRG:7135 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F136 +; Global: Branch target inside Label: taken when F136. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F136: + ora (Zp40,x) ; CPU:$F136 PRG:7136 01 40 + brk ; CPU:$F138 PRG:7138 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F139 +; Global: Branch target inside Label: taken when F139. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F139: + rti ; CPU:$F139 PRG:7139 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F13A +; Global: Branch target inside Label: taken when F13A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F13A: + ora (Zp50,x) ; CPU:$F13A PRG:713A 01 50 + brk ; CPU:$F13C PRG:713C 00 +; ---- data $F13D-$F159 (29 bytes) ---- +; referenced by `lda $F14A,y` at $F122 (operand $F14A falls inside this region) + .byte $40, $01, $30, $00, $40, $00, $C0, $00, $40, $01, $70, $00, $40, $08, $07, $06 ; CPU:$F13D PRG:713D 40 01 30 00 40 00 C0 00 40 01 70 00 40 08 07 06 + .byte $05, $0B, $03, $02, $01, $01, $0F, $0E, $0D, $05, $0B, $0A, $09 ; CPU:$F14D PRG:714D 05 0B 03 02 01 01 0F 0E 0D 05 0B 0A 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero6: + jsr Sub_F7CD ; CPU:$F15A PRG:715A 20 CD F7 + beq NmiHandler_Loop196 ; CPU:$F15D PRG:715D F0 16 + jsr Sub_FA32 ; CPU:$F15F PRG:715F 20 32 FA + jsr Sub_F7FC ; CPU:$F162 PRG:7162 20 FC F7 + bcc NmiHandler_Loop195 ; CPU:$F165 PRG:7165 90 03 + jmp NmiHandler_Loop262 ; CPU:$F167 PRG:7167 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + jsr Sub_C275 ; CPU:$F16A PRG:716A 20 75 C2 + jsr Sub_B3CF ; CPU:$F16D PRG:716D 20 CF B3 + beq NmiHandler_OnZero6 ; CPU:$F170 PRG:7170 F0 E8 + jmp NmiHandler_Loop262 ; CPU:$F172 PRG:7172 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + rts ; CPU:$F175 PRG:7175 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F176 +; Global: Branch target inside Sub: taken when F176. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F176: + lda $071F ; CPU:$F176 PRG:7176 AD 1F 07 + and #$0F ; CPU:$F179 PRG:7179 29 0F + asl a ; CPU:$F17B PRG:717B 0A + asl a ; CPU:$F17C PRG:717C 0A + tay ; CPU:$F17D PRG:717D A8 + inc $071F ; CPU:$F17E PRG:717E EE 1F 07 + lda $F3EC,y ; CPU:$F181 PRG:7181 B9 EC F3 + sta $056F,x ; CPU:$F184 PRG:7184 9D 6F 05 + iny ; CPU:$F187 PRG:7187 C8 + lda $F3EC,y ; CPU:$F188 PRG:7188 B9 EC F3 + sta $0588,x ; CPU:$F18B PRG:718B 9D 88 05 + iny ; CPU:$F18E PRG:718E C8 + lda $F3EC,y ; CPU:$F18F PRG:718F B9 EC F3 + sta $0524,x ; CPU:$F192 PRG:7192 9D 24 05 + iny ; CPU:$F195 PRG:7195 C8 + lda $F3EC,y ; CPU:$F196 PRG:7196 B9 EC F3 + sta $053D,x ; CPU:$F199 PRG:7199 9D 3D 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F19C +; Global: Branch target inside Sub: taken when F19C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F19C: + lda $056F ; CPU:$F19C PRG:719C AD 6F 05 + beq NmiHandler_Loop197 ; CPU:$F19F PRG:719F F0 0A + lda $0524 ; CPU:$F1A1 PRG:71A1 AD 24 05 + beq NmiHandler_Loop198 ; CPU:$F1A4 PRG:71A4 F0 0F + lda #$60 ; CPU:$F1A6 PRG:71A6 A9 60 + jmp Sub_F1BC ; CPU:$F1A8 PRG:71A8 4C BC F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + lda $0524 ; CPU:$F1AB PRG:71AB AD 24 05 + beq NmiHandler_Loop199 ; CPU:$F1AE PRG:71AE F0 0A + lda #$40 ; CPU:$F1B0 PRG:71B0 A9 40 + jmp Sub_F1BC ; CPU:$F1B2 PRG:71B2 4C BC F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop198: + lda #$20 ; CPU:$F1B5 PRG:71B5 A9 20 + jmp Sub_F1BC ; CPU:$F1B7 PRG:71B7 4C BC F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop199: + lda #$00 ; CPU:$F1BA PRG:71BA A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_F1BC +; Global: Branch target inside Sub: taken when F1BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F1BC: + sta PlayerScore ; CPU:$F1BC PRG:71BC 85 B0 + lda $071F ; CPU:$F1BE PRG:71BE AD 1F 07 + and #$07 ; CPU:$F1C1 PRG:71C1 29 07 + asl a ; CPU:$F1C3 PRG:71C3 0A + asl a ; CPU:$F1C4 PRG:71C4 0A + clc ; CPU:$F1C5 PRG:71C5 18 + adc PlayerScore ; CPU:$F1C6 PRG:71C6 65 B0 + sta $05EC,x ; CPU:$F1C8 PRG:71C8 9D EC 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F1CB +; Global: Branch target inside Sub: taken when F1CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F1CB: + ldy $05EC,x ; CPU:$F1CB PRG:71CB BC EC 05 + lda $FC53,y ; CPU:$F1CE PRG:71CE B9 53 FC + sta $0605,x ; CPU:$F1D1 PRG:71D1 9D 05 06 + iny ; CPU:$F1D4 PRG:71D4 C8 + lda $FC53,y ; CPU:$F1D5 PRG:71D5 B9 53 FC + sta $061E,x ; CPU:$F1D8 PRG:71D8 9D 1E 06 + iny ; CPU:$F1DB PRG:71DB C8 + iny ; CPU:$F1DC PRG:71DC C8 + lda $FC53,y ; CPU:$F1DD PRG:71DD B9 53 FC + sec ; CPU:$F1E0 PRG:71E0 38 + sbc $06B4,x ; CPU:$F1E1 PRG:71E1 FD B4 06 + bcs NmiHandler_Loop200 ; CPU:$F1E4 PRG:71E4 B0 15 + sec ; CPU:$F1E6 PRG:71E6 38 + sbc #$10 ; CPU:$F1E7 PRG:71E7 E9 10 + sta $0650,x ; CPU:$F1E9 PRG:71E9 9D 50 06 + dey ; CPU:$F1EC PRG:71EC 88 + lda $FC53,y ; CPU:$F1ED PRG:71ED B9 53 FC + sec ; CPU:$F1F0 PRG:71F0 38 + sbc #$01 ; CPU:$F1F1 PRG:71F1 E9 01 + and #$01 ; CPU:$F1F3 PRG:71F3 29 01 + sta $0637,x ; CPU:$F1F5 PRG:71F5 9D 37 06 + jmp NmiHandler_OnZero7 ; CPU:$F1F8 PRG:71F8 4C 05 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop200: + sta $0650,x ; CPU:$F1FB PRG:71FB 9D 50 06 + dey ; CPU:$F1FE PRG:71FE 88 + lda $FC53,y ; CPU:$F1FF PRG:71FF B9 53 FC + sta $0637,x ; CPU:$F202 PRG:7202 9D 37 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero7 +; Global: Branch target inside NmiHandler: taken when OnZero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero7: + jsr Sub_B102 ; CPU:$F205 PRG:7205 20 02 B1 + jsr Sub_B0BC ; CPU:$F208 PRG:7208 20 BC B0 + jsr Sub_ADC9 ; CPU:$F20B PRG:720B 20 C9 AD + jsr Sub_F7C3 ; CPU:$F20E PRG:720E 20 C3 F7 + jsr Sub_F386 ; CPU:$F211 PRG:7211 20 86 F3 + jsr Sub_B102 ; CPU:$F214 PRG:7214 20 02 B1 + jsr Sub_B0BC ; CPU:$F217 PRG:7217 20 BC B0 + jsr Sub_A9F4 ; CPU:$F21A PRG:721A 20 F4 A9 + bcs NmiHandler_Loop204 ; CPU:$F21D PRG:721D B0 32 + jsr Sub_F7CD ; CPU:$F21F PRG:721F 20 CD F7 + beq NmiHandler_Loop203 ; CPU:$F222 PRG:7222 F0 27 + jsr Sub_FA32 ; CPU:$F224 PRG:7224 20 32 FA + jsr Sub_F7FC ; CPU:$F227 PRG:7227 20 FC F7 + bcc NmiHandler_Loop202 ; CPU:$F22A PRG:722A 90 10 + cpx #$18 ; CPU:$F22C PRG:722C E0 18 + beq NmiHandler_Loop201 ; CPU:$F22E PRG:722E F0 03 + jmp NmiHandler_Loop262 ; CPU:$F230 PRG:7230 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + lda $048E,y ; CPU:$F233 PRG:7233 B9 8E 04 + and #$FE ; CPU:$F236 PRG:7236 29 FE + sta $048E,y ; CPU:$F238 PRG:7238 99 8E 04 + rts ; CPU:$F23B PRG:723B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop202: + jsr Sub_C275 ; CPU:$F23C PRG:723C 20 75 C2 + cpx #$18 ; CPU:$F23F PRG:723F E0 18 + beq NmiHandler_OnZero7 ; CPU:$F241 PRG:7241 F0 C2 + jsr Sub_B3CF ; CPU:$F243 PRG:7243 20 CF B3 + beq NmiHandler_OnZero7 ; CPU:$F246 PRG:7246 F0 BD + jmp NmiHandler_Loop262 ; CPU:$F248 PRG:7248 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop203: + jsr Sub_C275 ; CPU:$F24B PRG:724B 20 75 C2 + jmp NmiHandler_OnZero7 ; CPU:$F24E PRG:724E 4C 05 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop204: + lda $050B,x ; CPU:$F251 PRG:7251 BD 0B 05 + and #$0F ; CPU:$F254 PRG:7254 29 0F + cmp #$08 ; CPU:$F256 PRG:7256 C9 08 + bcs NmiHandler_Loop205 ; CPU:$F258 PRG:7258 B0 10 + lda #$01 ; CPU:$F25A PRG:725A A9 01 + sta $0669,x ; CPU:$F25C PRG:725C 9D 69 06 + lda $048E,x ; CPU:$F25F PRG:725F BD 8E 04 + and #$FB ; CPU:$F262 PRG:7262 29 FB + sta $048E,x ; CPU:$F264 PRG:7264 9D 8E 04 + jmp Sub_F277 ; CPU:$F267 PRG:7267 4C 77 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop205: + lda #$0F ; CPU:$F26A PRG:726A A9 0F + sta $0669,x ; CPU:$F26C PRG:726C 9D 69 06 + lda $048E,x ; CPU:$F26F PRG:726F BD 8E 04 + ora #$04 ; CPU:$F272 PRG:7272 09 04 + sta $048E,x ; CPU:$F274 PRG:7274 9D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_F277 +; Global: Branch target inside Sub: taken when F277. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F277: + lda $05D3,x ; CPU:$F277 PRG:7277 BD D3 05 + cmp #$07 ; CPU:$F27A PRG:727A C9 07 + bne NmiHandler_Loop206 ; CPU:$F27C PRG:727C D0 08 + lda $04A7,x ; CPU:$F27E PRG:727E BD A7 04 + cmp #$78 ; CPU:$F281 PRG:7281 C9 78 + bcc NmiHandler_Loop206 ; CPU:$F283 PRG:7283 90 01 + rts ; CPU:$F285 PRG:7285 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop206: + ldy $05EC,x ; CPU:$F286 PRG:7286 BC EC 05 + lda $FC53,y ; CPU:$F289 PRG:7289 B9 53 FC + sta $0396 ; CPU:$F28C PRG:728C 8D 96 03 + iny ; CPU:$F28F PRG:728F C8 + lda $FC53,y ; CPU:$F290 PRG:7290 B9 53 FC + sta $0397 ; CPU:$F293 PRG:7293 8D 97 03 + iny ; CPU:$F296 PRG:7296 C8 + lda $FC53,y ; CPU:$F297 PRG:7297 B9 53 FC + sta $0399 ; CPU:$F29A PRG:729A 8D 99 03 + iny ; CPU:$F29D PRG:729D C8 + lda $FC53,y ; CPU:$F29E PRG:729E B9 53 FC + sta $039A ; CPU:$F2A1 PRG:72A1 8D 9A 03 + lda $0669,x ; CPU:$F2A4 PRG:72A4 BD 69 06 + sta PlayerY ; CPU:$F2A7 PRG:72A7 85 86 + lda $06B4,x ; CPU:$F2A9 PRG:72A9 BD B4 06 + sta Zp85 ; CPU:$F2AC PRG:72AC 85 85 + jsr Sub_AEF0 ; CPU:$F2AE PRG:72AE 20 F0 AE + lda $0397 ; CPU:$F2B1 PRG:72B1 AD 97 03 + sta $061E,x ; CPU:$F2B4 PRG:72B4 9D 1E 06 + lda $0396 ; CPU:$F2B7 PRG:72B7 AD 96 03 + sta $0605,x ; CPU:$F2BA PRG:72BA 9D 05 06 + lda $039A ; CPU:$F2BD PRG:72BD AD 9A 03 + sta $0650,x ; CPU:$F2C0 PRG:72C0 9D 50 06 + lda $0399 ; CPU:$F2C3 PRG:72C3 AD 99 03 + sta $0637,x ; CPU:$F2C6 PRG:72C6 9D 37 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_F2C9 +; Global: Branch target inside Sub: taken when F2C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F2C9: + jsr Sub_B102 ; CPU:$F2C9 PRG:72C9 20 02 B1 + jsr Sub_B0BC ; CPU:$F2CC PRG:72CC 20 BC B0 + jsr Sub_ADC9 ; CPU:$F2CF PRG:72CF 20 C9 AD + jsr Sub_F7C3 ; CPU:$F2D2 PRG:72D2 20 C3 F7 + jsr Sub_F386 ; CPU:$F2D5 PRG:72D5 20 86 F3 + jsr Sub_F7CD ; CPU:$F2D8 PRG:72D8 20 CD F7 + beq NmiHandler_Loop207 ; CPU:$F2DB PRG:72DB F0 0F + cpx #$18 ; CPU:$F2DD PRG:72DD E0 18 + beq NmiHandler_Loop207 ; CPU:$F2DF PRG:72DF F0 0B + jsr Sub_FA32 ; CPU:$F2E1 PRG:72E1 20 32 FA + jsr Sub_F7FC ; CPU:$F2E4 PRG:72E4 20 FC F7 + bcc NmiHandler_Loop207 ; CPU:$F2E7 PRG:72E7 90 03 + jmp NmiHandler_Loop262 ; CPU:$F2E9 PRG:72E9 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop207: + jsr Sub_C275 ; CPU:$F2EC PRG:72EC 20 75 C2 + cpx #$18 ; CPU:$F2EF PRG:72EF E0 18 + beq NmiHandler_Loop208 ; CPU:$F2F1 PRG:72F1 F0 08 + jsr Sub_B3CF ; CPU:$F2F3 PRG:72F3 20 CF B3 + beq NmiHandler_Loop208 ; CPU:$F2F6 PRG:72F6 F0 03 + jmp NmiHandler_Loop262 ; CPU:$F2F8 PRG:72F8 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + jsr Sub_B102 ; CPU:$F2FB PRG:72FB 20 02 B1 + jsr Sub_B0BC ; CPU:$F2FE PRG:72FE 20 BC B0 + jsr Sub_A9F4 ; CPU:$F301 PRG:7301 20 F4 A9 + bcc NmiHandler_Loop211 ; CPU:$F304 PRG:7304 90 32 + cpx #$18 ; CPU:$F306 PRG:7306 E0 18 + bne NmiHandler_Loop209 ; CPU:$F308 PRG:7308 D0 06 + dec $05D3,x ; CPU:$F30A PRG:730A DE D3 05 + bne NmiHandler_Loop209 ; CPU:$F30D PRG:730D D0 01 + rts ; CPU:$F30F PRG:730F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + lda $048E,x ; CPU:$F310 PRG:7310 BD 8E 04 + and #$04 ; CPU:$F313 PRG:7313 29 04 + bne NmiHandler_Loop210 ; CPU:$F315 PRG:7315 D0 0F + inc $0669,x ; CPU:$F317 PRG:7317 FE 69 06 + lda $0669,x ; CPU:$F31A PRG:731A BD 69 06 + and #$0F ; CPU:$F31D PRG:731D 29 0F + beq NmiHandler_Loop212 ; CPU:$F31F PRG:731F F0 1A + cmp #$01 ; CPU:$F321 PRG:7321 C9 01 + jmp Sub_F332 ; CPU:$F323 PRG:7323 4C 32 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + dec $0669,x ; CPU:$F326 PRG:7326 DE 69 06 + lda $0669,x ; CPU:$F329 PRG:7329 BD 69 06 + and #$0F ; CPU:$F32C PRG:732C 29 0F + cmp #$0F ; CPU:$F32E PRG:732E C9 0F + beq NmiHandler_Loop213 ; CPU:$F330 PRG:7330 F0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_F332 +; Global: Branch target inside Sub: taken when F332. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F332: + jmp Sub_F277 ; CPU:$F332 PRG:7332 4C 77 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F335 +; Global: Branch target inside Label: taken when F335. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F335: + jsr Sub_C275 ; CPU:$F335 PRG:7335 20 75 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + jmp Sub_F2C9 ; CPU:$F338 PRG:7338 4C C9 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + lda #$06 ; CPU:$F33B PRG:733B A9 06 + jmp Sub_F342 ; CPU:$F33D PRG:733D 4C 42 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + lda #$0A ; CPU:$F340 PRG:7340 A9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_F342 +; Global: Branch target inside Sub: taken when F342. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F342: + sta $050B,x ; CPU:$F342 PRG:7342 9D 0B 05 + jsr Sub_F7C3 ; CPU:$F345 PRG:7345 20 C3 F7 + jsr Sub_F386 ; CPU:$F348 PRG:7348 20 86 F3 + rts ; CPU:$F34B PRG:734B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F34C +; Global: Branch target inside Sub: taken when F34C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F34C: + lda $071F ; CPU:$F34C PRG:734C AD 1F 07 + and #$03 ; CPU:$F34F PRG:734F 29 03 + asl a ; CPU:$F351 PRG:7351 0A + asl a ; CPU:$F352 PRG:7352 0A + tay ; CPU:$F353 PRG:7353 A8 + inc $071F ; CPU:$F354 PRG:7354 EE 1F 07 + lda $F3EC,y ; CPU:$F357 PRG:7357 B9 EC F3 + sta $056F,x ; CPU:$F35A PRG:735A 9D 6F 05 + iny ; CPU:$F35D PRG:735D C8 + lda $F3EC,y ; CPU:$F35E PRG:735E B9 EC F3 + sta $0588,x ; CPU:$F361 PRG:7361 9D 88 05 + iny ; CPU:$F364 PRG:7364 C8 + lda $F3EC,y ; CPU:$F365 PRG:7365 B9 EC F3 + sta $0524,x ; CPU:$F368 PRG:7368 9D 24 05 + iny ; CPU:$F36B PRG:736B C8 + lda $F3EC,y ; CPU:$F36C PRG:736C B9 EC F3 + sta $053D,x ; CPU:$F36F PRG:736F 9D 3D 05 + lda $056F,x ; CPU:$F372 PRG:7372 BD 6F 05 + cmp #$01 ; CPU:$F375 PRG:7375 C9 01 + beq NmiHandler_Loop214 ; CPU:$F377 PRG:7377 F0 05 + lda #$0C ; CPU:$F379 PRG:7379 A9 0C + jmp Sub_F380 ; CPU:$F37B PRG:737B 4C 80 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + lda #$2C ; CPU:$F37E PRG:737E A9 2C +; ----------------------------------------------------------------------------- +; Routine: Sub_F380 +; Global: Branch target inside Sub: taken when F380. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F380: + sta $05EC,x ; CPU:$F380 PRG:7380 9D EC 05 + jmp Sub_F1CB ; CPU:$F383 PRG:7383 4C CB F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_F386 +; Global: Branch target inside Sub: taken when F386. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F386: + cpx #$18 ; CPU:$F386 PRG:7386 E0 18 + beq NmiHandler_Loop220 ; CPU:$F388 PRG:7388 F0 53 + lda $05D3,x ; CPU:$F38A PRG:738A BD D3 05 + cmp #$07 ; CPU:$F38D PRG:738D C9 07 + beq NmiHandler_Loop216 ; CPU:$F38F PRG:738F F0 26 + cmp #$01 ; CPU:$F391 PRG:7391 C9 01 + beq NmiHandler_Loop218 ; CPU:$F393 PRG:7393 F0 35 + lda $048E,x ; CPU:$F395 PRG:7395 BD 8E 04 + and #$80 ; CPU:$F398 PRG:7398 29 80 + beq NmiHandler_Loop215 ; CPU:$F39A PRG:739A F0 07 + lda $050B,x ; CPU:$F39C PRG:739C BD 0B 05 + and #$01 ; CPU:$F39F PRG:739F 29 01 + bne NmiHandler_OnNonzero28 ; CPU:$F3A1 PRG:73A1 D0 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + lda #$10 ; CPU:$F3A3 PRG:73A3 A9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_F3A5 +; Global: Branch target inside Sub: taken when F3A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F3A5: + sta $04D9,x ; CPU:$F3A5 PRG:73A5 9D D9 04 + lda $050B,x ; CPU:$F3A8 PRG:73A8 BD 0B 05 + lsr a ; CPU:$F3AB PRG:73AB 4A + and #$0F ; CPU:$F3AC PRG:73AC 29 0F + tay ; CPU:$F3AE PRG:73AE A8 + clc ; CPU:$F3AF PRG:73AF 18 + adc $04D9,x ; CPU:$F3B0 PRG:73B0 7D D9 04 + sta $04D9,x ; CPU:$F3B3 PRG:73B3 9D D9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero28: + rts ; CPU:$F3B6 PRG:73B6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + lda $048E,x ; CPU:$F3B7 PRG:73B7 BD 8E 04 + and #$80 ; CPU:$F3BA PRG:73BA 29 80 + beq NmiHandler_Loop217 ; CPU:$F3BC PRG:73BC F0 07 + lda $050B,x ; CPU:$F3BE PRG:73BE BD 0B 05 + and #$01 ; CPU:$F3C1 PRG:73C1 29 01 + bne NmiHandler_OnNonzero28 ; CPU:$F3C3 PRG:73C3 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + lda #$40 ; CPU:$F3C5 PRG:73C5 A9 40 + jmp Sub_F3A5 ; CPU:$F3C7 PRG:73C7 4C A5 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + lda $048E,x ; CPU:$F3CA PRG:73CA BD 8E 04 + and #$80 ; CPU:$F3CD PRG:73CD 29 80 + beq NmiHandler_Loop219 ; CPU:$F3CF PRG:73CF F0 07 + lda $050B,x ; CPU:$F3D1 PRG:73D1 BD 0B 05 + and #$01 ; CPU:$F3D4 PRG:73D4 29 01 + bne NmiHandler_OnNonzero28 ; CPU:$F3D6 PRG:73D6 D0 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: + lda #$50 ; CPU:$F3D8 PRG:73D8 A9 50 + jmp Sub_F3A5 ; CPU:$F3DA PRG:73DA 4C A5 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop220: + inc $069B,x ; CPU:$F3DD PRG:73DD FE 9B 06 + lda $069B,x ; CPU:$F3E0 PRG:73E0 BD 9B 06 + and #$07 ; CPU:$F3E3 PRG:73E3 29 07 + clc ; CPU:$F3E5 PRG:73E5 18 + adc #$10 ; CPU:$F3E6 PRG:73E6 69 10 + sta $04D9,x ; CPU:$F3E8 PRG:73E8 9D D9 04 + rts ; CPU:$F3EB PRG:73EB 60 +; ---- data $F3EC-$F42B (64 bytes) ---- +; referenced by `lda $F3EC,y` at $F181 (operand $F3EC falls inside this region) +; referenced by `lda $F3EC,y` at $F188 (operand $F3EC falls inside this region) +; referenced by `lda $F3EC,y` at $F18F (operand $F3EC falls inside this region) +; referenced by `lda $F3EC,y` at $F196 (operand $F3EC falls inside this region) +; referenced by `lda $F3EC,y` at $F357 (operand $F3EC falls inside this region) +; referenced by `lda $F3EC,y` at $F35E (operand $F3EC falls inside this region) +; ... and 2 further references from decoded code + .byte $00, $50, $00, $70, $01, $B0, $00, $80, $00, $50, $00, $80, $01, $B0, $00, $70 ; CPU:$F3EC PRG:73EC 00 50 00 70 01 B0 00 80 00 50 00 80 01 B0 00 70 + .byte $01, $B0, $00, $90, $01, $B0, $00, $70, $01, $B0, $00, $90, $01, $B0, $00, $90 ; CPU:$F3FC PRG:73FC 01 B0 00 90 01 B0 00 70 01 B0 00 90 01 B0 00 90 + .byte $00, $50, $01, $00, $00, $50, $00, $70, $01, $B0, $00, $70, $01, $B0, $01, $00 ; CPU:$F40C PRG:740C 00 50 01 00 00 50 00 70 01 B0 00 70 01 B0 01 00 + .byte $00, $50, $00, $80, $01, $B0, $00, $90, $01, $B0, $00, $80, $00, $50, $00, $90 ; CPU:$F41C PRG:741C 00 50 00 80 01 B0 00 90 01 B0 00 80 00 50 00 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_F42C +; Global: Branch target inside Sub: taken when F42C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F42C: + lda $071F ; CPU:$F42C PRG:742C AD 1F 07 + and #$07 ; CPU:$F42F PRG:742F 29 07 + asl a ; CPU:$F431 PRG:7431 0A + asl a ; CPU:$F432 PRG:7432 0A + tay ; CPU:$F433 PRG:7433 A8 + inc $071F ; CPU:$F434 PRG:7434 EE 1F 07 + lda $F550,y ; CPU:$F437 PRG:7437 B9 50 F5 + sta $056F,x ; CPU:$F43A PRG:743A 9D 6F 05 + iny ; CPU:$F43D PRG:743D C8 + lda $F550,y ; CPU:$F43E PRG:743E B9 50 F5 + sta $0588,x ; CPU:$F441 PRG:7441 9D 88 05 + iny ; CPU:$F444 PRG:7444 C8 + lda $F550,y ; CPU:$F445 PRG:7445 B9 50 F5 + sta $0524,x ; CPU:$F448 PRG:7448 9D 24 05 + iny ; CPU:$F44B PRG:744B C8 + lda $F550,y ; CPU:$F44C PRG:744C B9 50 F5 + sta $053D,x ; CPU:$F44F PRG:744F 9D 3D 05 + lda #$08 ; CPU:$F452 PRG:7452 A9 08 + sta $050B,x ; CPU:$F454 PRG:7454 9D 0B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero8: + lda #$14 ; CPU:$F457 PRG:7457 A9 14 + sta $04D9,x ; CPU:$F459 PRG:7459 9D D9 04 + jsr Sub_F7CD ; CPU:$F45C PRG:745C 20 CD F7 + bne NmiHandler_Loop221 ; CPU:$F45F PRG:745F D0 06 + jsr Sub_C275 ; CPU:$F461 PRG:7461 20 75 C2 + jmp NmiHandler_OnZero8 ; CPU:$F464 PRG:7464 4C 57 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop221: + jsr Sub_FA32 ; CPU:$F467 PRG:7467 20 32 FA + ldy #$00 ; CPU:$F46A PRG:746A A0 00 + lda $04A7,y ; CPU:$F46C PRG:746C B9 A7 04 + sec ; CPU:$F46F PRG:746F 38 + sbc #$40 ; CPU:$F470 PRG:7470 E9 40 + bcc NmiHandler_Loop222 ; CPU:$F472 PRG:7472 90 05 + cmp $04A7,x ; CPU:$F474 PRG:7474 DD A7 04 + bcs NmiHandler_Loop223 ; CPU:$F477 PRG:7477 B0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop222: + lda $04A7,y ; CPU:$F479 PRG:7479 B9 A7 04 + sec ; CPU:$F47C PRG:747C 38 + sbc #$20 ; CPU:$F47D PRG:747D E9 20 + cmp $04A7,x ; CPU:$F47F PRG:747F DD A7 04 + bcs NmiHandler_Loop225 ; CPU:$F482 PRG:7482 B0 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop223: + jsr Sub_F7FC ; CPU:$F484 PRG:7484 20 FC F7 + bcc NmiHandler_Loop224 ; CPU:$F487 PRG:7487 90 03 + jmp NmiHandler_Loop262 ; CPU:$F489 PRG:7489 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop224: + jsr Sub_C275 ; CPU:$F48C PRG:748C 20 75 C2 + jsr Sub_B3CF ; CPU:$F48F PRG:748F 20 CF B3 + beq NmiHandler_OnZero8 ; CPU:$F492 PRG:7492 F0 C3 + jmp NmiHandler_Loop262 ; CPU:$F494 PRG:7494 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop225: + jsr Sub_C275 ; CPU:$F497 PRG:7497 20 75 C2 + ldy #$00 ; CPU:$F49A PRG:749A A0 00 + lda $04C0,y ; CPU:$F49C PRG:749C B9 C0 04 + sec ; CPU:$F49F PRG:749F 38 + sbc #$50 ; CPU:$F4A0 PRG:74A0 E9 50 + bcc NmiHandler_Loop226 ; CPU:$F4A2 PRG:74A2 90 05 + cmp $04C0,x ; CPU:$F4A4 PRG:74A4 DD C0 04 + bcs NmiHandler_OnZero8 ; CPU:$F4A7 PRG:74A7 B0 AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop226: + lda $04C0,y ; CPU:$F4A9 PRG:74A9 B9 C0 04 + clc ; CPU:$F4AC PRG:74AC 18 + adc #$50 ; CPU:$F4AD PRG:74AD 69 50 + bcs NmiHandler_Loop227 ; CPU:$F4AF PRG:74AF B0 08 + cmp $04C0,x ; CPU:$F4B1 PRG:74B1 DD C0 04 + bcs NmiHandler_Loop227 ; CPU:$F4B4 PRG:74B4 B0 03 + jmp NmiHandler_OnZero8 ; CPU:$F4B6 PRG:74B6 4C 57 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop227: + rts ; CPU:$F4B9 PRG:74B9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F4BA +; Global: Branch target inside Sub: taken when F4BA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F4BA: + ldy #$00 ; CPU:$F4BA PRG:74BA A0 00 + jsr Sub_B0E5 ; CPU:$F4BC PRG:74BC 20 E5 B0 + jsr Sub_B0BC ; CPU:$F4BF PRG:74BF 20 BC B0 + lda $0391 ; CPU:$F4C2 PRG:74C2 AD 91 03 + sec ; CPU:$F4C5 PRG:74C5 38 + sbc $0397 ; CPU:$F4C6 PRG:74C6 ED 97 03 + lda $0390 ; CPU:$F4C9 PRG:74C9 AD 90 03 + sbc $0396 ; CPU:$F4CC PRG:74CC ED 96 03 + bcc NmiHandler_Loop228 ; CPU:$F4CF PRG:74CF 90 05 + lda #$0A ; CPU:$F4D1 PRG:74D1 A9 0A + jmp Sub_F4D8 ; CPU:$F4D3 PRG:74D3 4C D8 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop228: + lda #$06 ; CPU:$F4D6 PRG:74D6 A9 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_F4D8 +; Global: Branch target inside Sub: taken when F4D8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F4D8: + sta $050B,x ; CPU:$F4D8 PRG:74D8 9D 0B 05 + inc $05BA,x ; CPU:$F4DB PRG:74DB FE BA 05 + inc $05BA,x ; CPU:$F4DE PRG:74DE FE BA 05 + lda #$00 ; CPU:$F4E1 PRG:74E1 A9 00 + sta $069B,x ; CPU:$F4E3 PRG:74E3 9D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero9 +; Global: Branch target inside NmiHandler: taken when OnZero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero9: + jsr Sub_F7CD ; CPU:$F4E6 PRG:74E6 20 CD F7 + beq NmiHandler_Loop230 ; CPU:$F4E9 PRG:74E9 F0 16 + jsr Sub_FA32 ; CPU:$F4EB PRG:74EB 20 32 FA + jsr Sub_F7FC ; CPU:$F4EE PRG:74EE 20 FC F7 + bcc NmiHandler_Loop229 ; CPU:$F4F1 PRG:74F1 90 03 + jmp NmiHandler_Loop262 ; CPU:$F4F3 PRG:74F3 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + jsr Sub_F507 ; CPU:$F4F6 PRG:74F6 20 07 F5 + jsr Sub_B3CF ; CPU:$F4F9 PRG:74F9 20 CF B3 + beq NmiHandler_OnZero9 ; CPU:$F4FC PRG:74FC F0 E8 + jmp NmiHandler_Loop262 ; CPU:$F4FE PRG:74FE 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + jsr Sub_C275 ; CPU:$F501 PRG:7501 20 75 C2 + jmp NmiHandler_OnZero9 ; CPU:$F504 PRG:7504 4C E6 F4 +; ----------------------------------------------------------------------------- +; Routine: Sub_F507 +; Global: Branch target inside Sub: taken when F507. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F507: + lda $05D3,x ; CPU:$F507 PRG:7507 BD D3 05 + cmp #$07 ; CPU:$F50A PRG:750A C9 07 + beq NmiHandler_Loop233 ; CPU:$F50C PRG:750C F0 2A + lda $050B,x ; CPU:$F50E PRG:750E BD 0B 05 + and #$0F ; CPU:$F511 PRG:7511 29 0F + bne NmiHandler_Loop231 ; CPU:$F513 PRG:7513 D0 05 + lda #$28 ; CPU:$F515 PRG:7515 A9 28 + jmp Sub_F51C ; CPU:$F517 PRG:7517 4C 1C F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + lda #$2C ; CPU:$F51A PRG:751A A9 2C +; ----------------------------------------------------------------------------- +; Routine: Sub_F51C +; Global: Branch target inside Sub: taken when F51C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F51C: + sta PlayerScore ; CPU:$F51C PRG:751C 85 B0 + lda $069B,x ; CPU:$F51E PRG:751E BD 9B 06 + cmp #$06 ; CPU:$F521 PRG:7521 C9 06 + bcs NmiHandler_Loop232 ; CPU:$F523 PRG:7523 B0 0F + inc $069B,x ; CPU:$F525 PRG:7525 FE 9B 06 + lda $069B,x ; CPU:$F528 PRG:7528 BD 9B 06 + lsr a ; CPU:$F52B PRG:752B 4A + and #$03 ; CPU:$F52C PRG:752C 29 03 + clc ; CPU:$F52E PRG:752E 18 + adc PlayerScore ; CPU:$F52F PRG:752F 65 B0 + sta $04D9,x ; CPU:$F531 PRG:7531 9D D9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop232: + jsr Sub_C275 ; CPU:$F534 PRG:7534 20 75 C2 + rts ; CPU:$F537 PRG:7537 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop233: + lda $050B,x ; CPU:$F538 PRG:7538 BD 0B 05 + and #$0F ; CPU:$F53B PRG:753B 29 0F + bcs NmiHandler_Loop234 ; CPU:$F53D PRG:753D B0 05 + lda #$4C ; CPU:$F53F PRG:753F A9 4C + jmp Sub_F546 ; CPU:$F541 PRG:7541 4C 46 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop234: + lda #$48 ; CPU:$F544 PRG:7544 A9 48 +; ----------------------------------------------------------------------------- +; Routine: Sub_F546 +; Global: Branch target inside Sub: taken when F546. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F546: + sta PlayerScore ; CPU:$F546 PRG:7546 85 B0 + lda #$00 ; CPU:$F548 PRG:7548 A9 00 + sta $04F2,x ; CPU:$F54A PRG:754A 9D F2 04 + jmp Sub_F7B1 ; CPU:$F54D PRG:754D 4C B1 F7 +; ----------------------------------------------------------------------------- +; Routine: Label_F550 +; Global: Branch target inside Label: taken when F550. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F550: + brk ; CPU:$F550 PRG:7550 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F551 +; Global: Branch target inside Label: taken when F551. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F551: + cpx #$00 ; CPU:$F551 PRG:7551 E0 00 + rti ; CPU:$F553 PRG:7553 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F554 +; Global: Branch target inside Label: taken when F554. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F554: + ora (Zp10,x) ; CPU:$F554 PRG:7554 01 10 + brk ; CPU:$F556 PRG:7556 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F557 +; Global: Branch target inside Label: taken when F557. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F557: + rti ; CPU:$F557 PRG:7557 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F558 +; Global: Branch target inside Label: taken when F558. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F558: + brk ; CPU:$F558 PRG:7558 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F559 +; Global: Branch target inside Label: taken when F559. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F559: + cpy #$00 ; CPU:$F559 PRG:7559 C0 00 + rti ; CPU:$F55B PRG:755B 40 +; ----------------------------------------------------------------------------- +; Routine: Label_F55C +; Global: Branch target inside Label: taken when F55C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F55C: + brk ; CPU:$F55C PRG:755C 00 +; ---- data $F55D-$F56F (19 bytes) ---- + .byte $D0, $00, $40, $01, $30, $00, $40, $01, $40, $00, $40, $01, $20, $00, $40, $00 ; CPU:$F55D PRG:755D D0 00 40 01 30 00 40 01 40 00 40 01 20 00 40 00 + .byte $F0, $00, $40 ; CPU:$F56D PRG:756D F0 00 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_F570 +; Global: Branch target inside Sub: taken when F570. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F570: + lda #$FF ; CPU:$F570 PRG:7570 A9 FF + sta $069B,x ; CPU:$F572 PRG:7572 9D 9B 06 + jsr Sub_F6D1 ; CPU:$F575 PRG:7575 20 D1 F6 + lda (VramWritePtrLo),y ; CPU:$F578 PRG:7578 B1 8A + sta $056F,x ; CPU:$F57A PRG:757A 9D 6F 05 + iny ; CPU:$F57D PRG:757D C8 + lda (VramWritePtrLo),y ; CPU:$F57E PRG:757E B1 8A + sta $0588,x ; CPU:$F580 PRG:7580 9D 88 05 + iny ; CPU:$F583 PRG:7583 C8 + lda (VramWritePtrLo),y ; CPU:$F584 PRG:7584 B1 8A + sta $0524,x ; CPU:$F586 PRG:7586 9D 24 05 + iny ; CPU:$F589 PRG:7589 C8 + lda (VramWritePtrLo),y ; CPU:$F58A PRG:758A B1 8A + sta $053D,x ; CPU:$F58C PRG:758C 9D 3D 05 + iny ; CPU:$F58F PRG:758F C8 + lda $0682,x ; CPU:$F590 PRG:7590 BD 82 06 + clc ; CPU:$F593 PRG:7593 18 + adc #$04 ; CPU:$F594 PRG:7594 69 04 + sta $0682,x ; CPU:$F596 PRG:7596 9D 82 06 + lda (VramWritePtrLo),y ; CPU:$F599 PRG:7599 B1 8A + sta $0605,x ; CPU:$F59B PRG:759B 9D 05 06 + iny ; CPU:$F59E PRG:759E C8 + lda (VramWritePtrLo),y ; CPU:$F59F PRG:759F B1 8A + sta $061E,x ; CPU:$F5A1 PRG:75A1 9D 1E 06 + iny ; CPU:$F5A4 PRG:75A4 C8 + lda (VramWritePtrLo),y ; CPU:$F5A5 PRG:75A5 B1 8A + sta $0637,x ; CPU:$F5A7 PRG:75A7 9D 37 06 + iny ; CPU:$F5AA PRG:75AA C8 + lda (VramWritePtrLo),y ; CPU:$F5AB PRG:75AB B1 8A + sta $0650,x ; CPU:$F5AD PRG:75AD 9D 50 06 + jsr Sub_B102 ; CPU:$F5B0 PRG:75B0 20 02 B1 + jsr Sub_B0BC ; CPU:$F5B3 PRG:75B3 20 BC B0 + jsr Sub_ADC9 ; CPU:$F5B6 PRG:75B6 20 C9 AD + sta $050B,x ; CPU:$F5B9 PRG:75B9 9D 0B 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F5BC +; Global: Branch target inside Sub: taken when F5BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F5BC: + jsr Sub_F6D1 ; CPU:$F5BC PRG:75BC 20 D1 F6 + lda (VramWritePtrLo),y ; CPU:$F5BF PRG:75BF B1 8A + cmp #$FF ; CPU:$F5C1 PRG:75C1 C9 FF + bne NmiHandler_Loop235 ; CPU:$F5C3 PRG:75C3 D0 03 + jmp NmiHandler_Loop272 ; CPU:$F5C5 PRG:75C5 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop235: + sta $0605,x ; CPU:$F5C8 PRG:75C8 9D 05 06 + iny ; CPU:$F5CB PRG:75CB C8 + lda (VramWritePtrLo),y ; CPU:$F5CC PRG:75CC B1 8A + sta $061E,x ; CPU:$F5CE PRG:75CE 9D 1E 06 + iny ; CPU:$F5D1 PRG:75D1 C8 + lda (VramWritePtrLo),y ; CPU:$F5D2 PRG:75D2 B1 8A + sta $0637,x ; CPU:$F5D4 PRG:75D4 9D 37 06 + iny ; CPU:$F5D7 PRG:75D7 C8 + lda (VramWritePtrLo),y ; CPU:$F5D8 PRG:75D8 B1 8A + sta $0650,x ; CPU:$F5DA PRG:75DA 9D 50 06 + lda $0682,x ; CPU:$F5DD PRG:75DD BD 82 06 + clc ; CPU:$F5E0 PRG:75E0 18 + adc #$04 ; CPU:$F5E1 PRG:75E1 69 04 + sta $0682,x ; CPU:$F5E3 PRG:75E3 9D 82 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero10: + jsr Sub_B102 ; CPU:$F5E6 PRG:75E6 20 02 B1 + jsr Sub_B0BC ; CPU:$F5E9 PRG:75E9 20 BC B0 + jsr Sub_ADC9 ; CPU:$F5EC PRG:75EC 20 C9 AD + sta $0669,x ; CPU:$F5EF PRG:75EF 9D 69 06 + lda $050B,x ; CPU:$F5F2 PRG:75F2 BD 0B 05 + and #$0F ; CPU:$F5F5 PRG:75F5 29 0F + sec ; CPU:$F5F7 PRG:75F7 38 + sbc $0669,x ; CPU:$F5F8 PRG:75F8 FD 69 06 + beq NmiHandler_Loop237 ; CPU:$F5FB PRG:75FB F0 26 + and #$0F ; CPU:$F5FD PRG:75FD 29 0F + cmp #$08 ; CPU:$F5FF PRG:75FF C9 08 + beq NmiHandler_Loop242 ; CPU:$F601 PRG:7601 F0 5E + and #$08 ; CPU:$F603 PRG:7603 29 08 + beq NmiHandler_Loop236 ; CPU:$F605 PRG:7605 F0 06 + inc $050B,x ; CPU:$F607 PRG:7607 FE 0B 05 + jmp Sub_F610 ; CPU:$F60A PRG:760A 4C 10 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + dec $050B,x ; CPU:$F60D PRG:760D DE 0B 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F610 +; Global: Branch target inside Sub: taken when F610. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F610: + lda $050B,x ; CPU:$F610 PRG:7610 BD 0B 05 + and #$0F ; CPU:$F613 PRG:7613 29 0F + sta $050B,x ; CPU:$F615 PRG:7615 9D 0B 05 + jsr Sub_F775 ; CPU:$F618 PRG:7618 20 75 F7 + jsr Sub_F7FC ; CPU:$F61B PRG:761B 20 FC F7 + bcc NmiHandler_Loop237 ; CPU:$F61E PRG:761E 90 03 + jmp NmiHandler_Loop262 ; CPU:$F620 PRG:7620 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + jsr Sub_F7CD ; CPU:$F623 PRG:7623 20 CD F7 + beq NmiHandler_Loop241 ; CPU:$F626 PRG:7626 F0 33 + lda $05D3,x ; CPU:$F628 PRG:7628 BD D3 05 + cmp #$30 ; CPU:$F62B PRG:762B C9 30 + bcs NmiHandler_Loop238 ; CPU:$F62D PRG:762D B0 06 + jsr Sub_FA32 ; CPU:$F62F PRG:762F 20 32 FA + jmp Sub_F63D ; CPU:$F632 PRG:7632 4C 3D F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + lda #$72 ; CPU:$F635 PRG:7635 A9 72 + sta $04D9,x ; CPU:$F637 PRG:7637 9D D9 04 + jsr Sub_FB00 ; CPU:$F63A PRG:763A 20 00 FB +; ----------------------------------------------------------------------------- +; Routine: Sub_F63D +; Global: Branch target inside Sub: taken when F63D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F63D: + jsr Sub_B102 ; CPU:$F63D PRG:763D 20 02 B1 + jsr Sub_B0BC ; CPU:$F640 PRG:7640 20 BC B0 + jsr Sub_A9F4 ; CPU:$F643 PRG:7643 20 F4 A9 + bcc NmiHandler_Loop239 ; CPU:$F646 PRG:7646 90 03 + jmp Sub_F5BC ; CPU:$F648 PRG:7648 4C BC F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + jsr Sub_F7FC ; CPU:$F64B PRG:764B 20 FC F7 + bcs NmiHandler_Loop240 ; CPU:$F64E PRG:764E B0 08 + jsr Sub_F775 ; CPU:$F650 PRG:7650 20 75 F7 + jsr Sub_B3CF ; CPU:$F653 PRG:7653 20 CF B3 + beq NmiHandler_OnZero10 ; CPU:$F656 PRG:7656 F0 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: + jmp NmiHandler_Loop262 ; CPU:$F658 PRG:7658 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + jsr Sub_C275 ; CPU:$F65B PRG:765B 20 75 C2 + jmp NmiHandler_Loop237 ; CPU:$F65E PRG:765E 4C 23 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + lda $050B,x ; CPU:$F661 PRG:7661 BD 0B 05 + and #$07 ; CPU:$F664 PRG:7664 29 07 + beq NmiHandler_Loop243 ; CPU:$F666 PRG:7666 F0 0A + lda $050B,x ; CPU:$F668 PRG:7668 BD 0B 05 + and #$08 ; CPU:$F66B PRG:766B 29 08 + bne NmiHandler_Loop245 ; CPU:$F66D PRG:766D D0 22 + jmp Sub_F689 ; CPU:$F66F PRG:766F 4C 89 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + lda $050B,x ; CPU:$F672 PRG:7672 BD 0B 05 + and #$08 ; CPU:$F675 PRG:7675 29 08 + bne NmiHandler_Loop244 ; CPU:$F677 PRG:7677 D0 08 + lda #$24 ; CPU:$F679 PRG:7679 A9 24 + sta $05EC,x ; CPU:$F67B PRG:767B 9D EC 05 + jmp Sub_F696 ; CPU:$F67E PRG:767E 4C 96 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop244: + lda #$20 ; CPU:$F681 PRG:7681 A9 20 + sta $05EC,x ; CPU:$F683 PRG:7683 9D EC 05 + jmp Sub_F696 ; CPU:$F686 PRG:7686 4C 96 F6 +; ----------------------------------------------------------------------------- +; Routine: Sub_F689 +; Global: Branch target inside Sub: taken when F689. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F689: + lda #$98 ; CPU:$F689 PRG:7689 A9 98 + sta $05EC,x ; CPU:$F68B PRG:768B 9D EC 05 + jmp Sub_F696 ; CPU:$F68E PRG:768E 4C 96 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + lda #$9B ; CPU:$F691 PRG:7691 A9 9B + sta $05EC,x ; CPU:$F693 PRG:7693 9D EC 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F696 +; Global: Branch target inside Sub: taken when F696. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F696: + lda #$FF ; CPU:$F696 PRG:7696 A9 FF + sta $069B,x ; CPU:$F698 PRG:7698 9D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_F69B +; Global: Branch target inside Sub: taken when F69B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F69B: + inc $069B,x ; CPU:$F69B PRG:769B FE 9B 06 + lda $069B,x ; CPU:$F69E PRG:769E BD 9B 06 + lsr a ; CPU:$F6A1 PRG:76A1 4A + and #$07 ; CPU:$F6A2 PRG:76A2 29 07 + cmp #$04 ; CPU:$F6A4 PRG:76A4 C9 04 + beq NmiHandler_Loop248 ; CPU:$F6A6 PRG:76A6 F0 1D + clc ; CPU:$F6A8 PRG:76A8 18 + adc $05EC,x ; CPU:$F6A9 PRG:76A9 7D EC 05 + sta $04D9,x ; CPU:$F6AC PRG:76AC 9D D9 04 + jsr Sub_F7FC ; CPU:$F6AF PRG:76AF 20 FC F7 + bcc NmiHandler_Loop246 ; CPU:$F6B2 PRG:76B2 90 03 + jmp NmiHandler_Loop262 ; CPU:$F6B4 PRG:76B4 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + jsr Sub_B3CF ; CPU:$F6B7 PRG:76B7 20 CF B3 + beq NmiHandler_Loop247 ; CPU:$F6BA PRG:76BA F0 03 + jmp NmiHandler_Loop262 ; CPU:$F6BC PRG:76BC 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + jsr Sub_C275 ; CPU:$F6BF PRG:76BF 20 75 C2 + jmp Sub_F69B ; CPU:$F6C2 PRG:76C2 4C 9B F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + lda $0669,x ; CPU:$F6C5 PRG:76C5 BD 69 06 + sta $050B,x ; CPU:$F6C8 PRG:76C8 9D 0B 05 + jsr Sub_F775 ; CPU:$F6CB PRG:76CB 20 75 F7 + jmp NmiHandler_Loop237 ; CPU:$F6CE PRG:76CE 4C 23 F6 +; ----------------------------------------------------------------------------- +; Routine: Sub_F6D1 +; Global: Branch target inside Sub: taken when F6D1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F6D1: + lda $05D3,x ; CPU:$F6D1 PRG:76D1 BD D3 05 + sec ; CPU:$F6D4 PRG:76D4 38 + sbc #$0A ; CPU:$F6D5 PRG:76D5 E9 0A + asl a ; CPU:$F6D7 PRG:76D7 0A + tay ; CPU:$F6D8 PRG:76D8 A8 + lda $FD4A,y ; CPU:$F6D9 PRG:76D9 B9 4A FD + sta VramWritePtrLo ; CPU:$F6DC PRG:76DC 85 8A + iny ; CPU:$F6DE PRG:76DE C8 + lda $FD4A,y ; CPU:$F6DF PRG:76DF B9 4A FD + sta VramWritePtrHi ; CPU:$F6E2 PRG:76E2 85 8B + ldy $0682,x ; CPU:$F6E4 PRG:76E4 BC 82 06 + rts ; CPU:$F6E7 PRG:76E7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F6E8 +; Global: Branch target inside Sub: taken when F6E8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F6E8: + lda $048E,x ; CPU:$F6E8 PRG:76E8 BD 8E 04 + ora #$02 ; CPU:$F6EB PRG:76EB 09 02 + sta $048E,x ; CPU:$F6ED PRG:76ED 9D 8E 04 + lda #$72 ; CPU:$F6F0 PRG:76F0 A9 72 + sta $04D9,x ; CPU:$F6F2 PRG:76F2 9D D9 04 + lda $04C0 ; CPU:$F6F5 PRG:76F5 AD C0 04 + cmp #$80 ; CPU:$F6F8 PRG:76F8 C9 80 + bcs NmiHandler_Loop249 ; CPU:$F6FA PRG:76FA B0 0D + lda #$00 ; CPU:$F6FC PRG:76FC A9 00 + sta $056F,x ; CPU:$F6FE PRG:76FE 9D 6F 05 + lda #$C0 ; CPU:$F701 PRG:7701 A9 C0 + sta $0588,x ; CPU:$F703 PRG:7703 9D 88 05 + jmp Sub_F713 ; CPU:$F706 PRG:7706 4C 13 F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + lda #$01 ; CPU:$F709 PRG:7709 A9 01 + sta $056F,x ; CPU:$F70B PRG:770B 9D 6F 05 + lda #$40 ; CPU:$F70E PRG:770E A9 40 + sta $0588,x ; CPU:$F710 PRG:7710 9D 88 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_F713 +; Global: Branch target inside Sub: taken when F713. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F713: + jsr Sub_F6D1 ; CPU:$F713 PRG:7713 20 D1 F6 + ldy #$02 ; CPU:$F716 PRG:7716 A0 02 + lda (VramWritePtrLo),y ; CPU:$F718 PRG:7718 B1 8A + sta $0524,x ; CPU:$F71A PRG:771A 9D 24 05 + iny ; CPU:$F71D PRG:771D C8 + lda (VramWritePtrLo),y ; CPU:$F71E PRG:771E B1 8A + sta $053D,x ; CPU:$F720 PRG:7720 9D 3D 05 + ldy #$06 ; CPU:$F723 PRG:7723 A0 06 + lda (VramWritePtrLo),y ; CPU:$F725 PRG:7725 B1 8A + sta $0637,x ; CPU:$F727 PRG:7727 9D 37 06 + iny ; CPU:$F72A PRG:772A C8 + lda (VramWritePtrLo),y ; CPU:$F72B PRG:772B B1 8A + sta $0650,x ; CPU:$F72D PRG:772D 9D 50 06 + lda $056F,x ; CPU:$F730 PRG:7730 BD 6F 05 + sta $0605,x ; CPU:$F733 PRG:7733 9D 05 06 + lda $0588,x ; CPU:$F736 PRG:7736 BD 88 05 + sta $061E,x ; CPU:$F739 PRG:7739 9D 1E 06 + lda #$08 ; CPU:$F73C PRG:773C A9 08 + sta $0682,x ; CPU:$F73E PRG:773E 9D 82 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero11: + jsr Sub_F7CD ; CPU:$F741 PRG:7741 20 CD F7 + beq NmiHandler_Loop252 ; CPU:$F744 PRG:7744 F0 29 + jsr Sub_C275 ; CPU:$F746 PRG:7746 20 75 C2 + jsr Sub_B102 ; CPU:$F749 PRG:7749 20 02 B1 + jsr Sub_B0BC ; CPU:$F74C PRG:774C 20 BC B0 + jsr Sub_A9F4 ; CPU:$F74F PRG:774F 20 F4 A9 + bcc NmiHandler_Loop250 ; CPU:$F752 PRG:7752 90 0B + lda $048E,x ; CPU:$F754 PRG:7754 BD 8E 04 + and #$FD ; CPU:$F757 PRG:7757 29 FD + sta $048E,x ; CPU:$F759 PRG:7759 9D 8E 04 + jmp Sub_F5BC ; CPU:$F75C PRG:775C 4C BC F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop250: + jsr Sub_F7FC ; CPU:$F75F PRG:775F 20 FC F7 + bcc NmiHandler_Loop251 ; CPU:$F762 PRG:7762 90 03 + jmp NmiHandler_Loop262 ; CPU:$F764 PRG:7764 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + jsr Sub_B3CF ; CPU:$F767 PRG:7767 20 CF B3 + beq NmiHandler_OnZero11 ; CPU:$F76A PRG:776A F0 D5 + jmp NmiHandler_Loop262 ; CPU:$F76C PRG:776C 4C 3C F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop252: + jsr Sub_C275 ; CPU:$F76F PRG:776F 20 75 C2 + jmp NmiHandler_OnZero11 ; CPU:$F772 PRG:7772 4C 41 F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_F775 +; Global: Branch target inside Sub: taken when F775. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F775: + lda $05D3,x ; CPU:$F775 PRG:7775 BD D3 05 + cmp #$30 ; CPU:$F778 PRG:7778 C9 30 + bcs NmiHandler_Loop255 ; CPU:$F77A PRG:777A B0 2D + cmp #$20 ; CPU:$F77C PRG:777C C9 20 + bcs NmiHandler_Loop253 ; CPU:$F77E PRG:777E B0 0C + lda $050B,x ; CPU:$F780 PRG:7780 BD 0B 05 + and #$01 ; CPU:$F783 PRG:7783 29 01 + bne NmiHandler_Loop256 ; CPU:$F785 PRG:7785 D0 27 + lda #$10 ; CPU:$F787 PRG:7787 A9 10 + jmp Sub_F798 ; CPU:$F789 PRG:7789 4C 98 F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + lda $05D3,x ; CPU:$F78C PRG:778C BD D3 05 + cmp #$22 ; CPU:$F78F PRG:778F C9 22 + bcc NmiHandler_Loop254 ; CPU:$F791 PRG:7791 90 03 + jmp NmiHandler_Loop256 ; CPU:$F793 PRG:7793 4C AE F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + lda #$60 ; CPU:$F796 PRG:7796 A9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F798 +; Global: Branch target inside Sub: taken when F798. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F798: + sta $04D9,x ; CPU:$F798 PRG:7798 9D D9 04 + lda $050B,x ; CPU:$F79B PRG:779B BD 0B 05 + lsr a ; CPU:$F79E PRG:779E 4A + and #$0F ; CPU:$F79F PRG:779F 29 0F + tay ; CPU:$F7A1 PRG:77A1 A8 + clc ; CPU:$F7A2 PRG:77A2 18 + adc $04D9,x ; CPU:$F7A3 PRG:77A3 7D D9 04 + jmp Sub_F7AB ; CPU:$F7A6 PRG:77A6 4C AB F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + lda #$72 ; CPU:$F7A9 PRG:77A9 A9 72 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7AB +; Global: Branch target inside Sub: taken when F7AB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7AB: + sta $04D9,x ; CPU:$F7AB PRG:77AB 9D D9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + jmp Sub_C275 ; CPU:$F7AE PRG:77AE 4C 75 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7B1 +; Global: Branch target inside Sub: taken when F7B1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7B1: + inc $069B ; CPU:$F7B1 PRG:77B1 EE 9B 06 + lda $069B ; CPU:$F7B4 PRG:77B4 AD 9B 06 + lsr a ; CPU:$F7B7 PRG:77B7 4A + and #$03 ; CPU:$F7B8 PRG:77B8 29 03 + adc PlayerScore ; CPU:$F7BA PRG:77BA 65 B0 + sta $04D9,x ; CPU:$F7BC PRG:77BC 9D D9 04 + jsr Sub_C275 ; CPU:$F7BF PRG:77BF 20 75 C2 + rts ; CPU:$F7C2 PRG:77C2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7C3 +; Global: Branch target inside Sub: taken when F7C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7C3: + cmp $050B,x ; CPU:$F7C3 PRG:77C3 DD 0B 05 + bne NmiHandler_Loop257 ; CPU:$F7C6 PRG:77C6 D0 01 + rts ; CPU:$F7C8 PRG:77C8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + sta $050B,x ; CPU:$F7C9 PRG:77C9 9D 0B 05 + rts ; CPU:$F7CC PRG:77CC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7CD +; Global: Branch target inside Sub: taken when F7CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7CD: + lda $0437 ; CPU:$F7CD PRG:77CD AD 37 04 + cmp #$FF ; CPU:$F7D0 PRG:77D0 C9 FF + beq NmiHandler_Loop262 ; CPU:$F7D2 PRG:77D2 F0 68 + lda $05BA,x ; CPU:$F7D4 PRG:77D4 BD BA 05 + jsr Sub_B048 ; CPU:$F7D7 PRG:77D7 20 48 B0 + jsr Sub_B1D7 ; CPU:$F7DA PRG:77DA 20 D7 B1 + jsr Sub_B37B ; CPU:$F7DD PRG:77DD 20 7B B3 + lda $048E,x ; CPU:$F7E0 PRG:77E0 BD 8E 04 + and #$08 ; CPU:$F7E3 PRG:77E3 29 08 + bne NmiHandler_Loop258 ; CPU:$F7E5 PRG:77E5 D0 0F + lda $05D3,x ; CPU:$F7E7 PRG:77E7 BD D3 05 + cmp #$FF ; CPU:$F7EA PRG:77EA C9 FF + beq NmiHandler_Loop258 ; CPU:$F7EC PRG:77EC F0 08 + lda #$00 ; CPU:$F7EE PRG:77EE A9 00 + sta $048E,x ; CPU:$F7F0 PRG:77F0 9D 8E 04 + jsr Sub_C237 ; CPU:$F7F3 PRG:77F3 20 37 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + lda $048E,x ; CPU:$F7F6 PRG:77F6 BD 8E 04 + and #$80 ; CPU:$F7F9 PRG:77F9 29 80 + rts ; CPU:$F7FB PRG:77FB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7FC +; Global: Branch target inside Sub: taken when F7FC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7FC: + ldy #$00 ; CPU:$F7FC PRG:77FC A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero29: + cpy #$00 ; CPU:$F7FE PRG:77FE C0 00 + beq NmiHandler_Loop259 ; CPU:$F800 PRG:7800 F0 0E + lda $048E,y ; CPU:$F802 PRG:7802 B9 8E 04 + and #$08 ; CPU:$F805 PRG:7805 29 08 + beq NmiHandler_Loop260 ; CPU:$F807 PRG:7807 F0 2C + lda $048E,y ; CPU:$F809 PRG:7809 B9 8E 04 + and #$04 ; CPU:$F80C PRG:780C 29 04 + bne NmiHandler_Loop260 ; CPU:$F80E PRG:780E D0 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + lda $048E,y ; CPU:$F810 PRG:7810 B9 8E 04 + and #$10 ; CPU:$F813 PRG:7813 29 10 + bne NmiHandler_Loop261 ; CPU:$F815 PRG:7815 D0 23 + lda $048E,y ; CPU:$F817 PRG:7817 B9 8E 04 + and #$20 ; CPU:$F81A PRG:781A 29 20 + bne NmiHandler_Loop261 ; CPU:$F81C PRG:781C D0 1C + jsr Sub_AA61 ; CPU:$F81E PRG:781E 20 61 AA + bcc NmiHandler_Loop260 ; CPU:$F821 PRG:7821 90 12 + lda $048E,y ; CPU:$F823 PRG:7823 B9 8E 04 + ora #$01 ; CPU:$F826 PRG:7826 09 01 + sta $048E,y ; CPU:$F828 PRG:7828 99 8E 04 + lda $048E,x ; CPU:$F82B PRG:782B BD 8E 04 + ora #$40 ; CPU:$F82E PRG:782E 09 40 + sta $048E,x ; CPU:$F830 PRG:7830 9D 8E 04 + sec ; CPU:$F833 PRG:7833 38 + rts ; CPU:$F834 PRG:7834 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + iny ; CPU:$F835 PRG:7835 C8 + cpy #$03 ; CPU:$F836 PRG:7836 C0 03 + bne NmiHandler_OnNonzero29 ; CPU:$F838 PRG:7838 D0 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + clc ; CPU:$F83A PRG:783A 18 + rts ; CPU:$F83B PRG:783B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + inc $0447 ; CPU:$F83C PRG:783C EE 47 04 + inc $043B ; CPU:$F83F PRG:783F EE 3B 04 + bne NmiHandler_Loop263 ; CPU:$F842 PRG:7842 D0 03 + inc $043C ; CPU:$F844 PRG:7844 EE 3C 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + inc $043F ; CPU:$F847 PRG:7847 EE 3F 04 + bne NmiHandler_Loop264 ; CPU:$F84A PRG:784A D0 03 + inc $0440 ; CPU:$F84C PRG:784C EE 40 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + ldy #$04 ; CPU:$F84F PRG:784F A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative5: + lda $0441,y ; CPU:$F851 PRG:7851 B9 41 04 + clc ; CPU:$F854 PRG:7854 18 + adc #$01 ; CPU:$F855 PRG:7855 69 01 + cmp #$0A ; CPU:$F857 PRG:7857 C9 0A + beq NmiHandler_Loop265 ; CPU:$F859 PRG:7859 F0 06 + sta $0441,y ; CPU:$F85B PRG:785B 99 41 04 + jmp Sub_F869 ; CPU:$F85E PRG:785E 4C 69 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + lda #$00 ; CPU:$F861 PRG:7861 A9 00 + sta $0441,y ; CPU:$F863 PRG:7863 99 41 04 + dey ; CPU:$F866 PRG:7866 88 + bpl NmiHandler_OnNonnegative5 ; CPU:$F867 PRG:7867 10 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_F869 +; Global: Branch target inside Sub: taken when F869. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F869: + lda $048E,x ; CPU:$F869 PRG:7869 BD 8E 04 + ora #$20 ; CPU:$F86C PRG:786C 09 20 + sta $048E,x ; CPU:$F86E PRG:786E 9D 8E 04 + lda #$04 ; CPU:$F871 PRG:7871 A9 04 + sta $05BA,x ; CPU:$F873 PRG:7873 9D BA 05 + lda #$08 ; CPU:$F876 PRG:7876 A9 08 + sta $050B,x ; CPU:$F878 PRG:7878 9D 0B 05 + lda #$FF ; CPU:$F87B PRG:787B A9 FF + sta $069B,x ; CPU:$F87D PRG:787D 9D 9B 06 + lda $05D3,x ; CPU:$F880 PRG:7880 BD D3 05 + cmp #$30 ; CPU:$F883 PRG:7883 C9 30 + bcc NmiHandler_Loop266 ; CPU:$F885 PRG:7885 90 03 + jmp Sub_F9AB ; CPU:$F887 PRG:7887 4C AB F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + lda #$01 ; CPU:$F88A PRG:788A A9 01 + sta $04F2,x ; CPU:$F88C PRG:788C 9D F2 04 + lda $05D3,x ; CPU:$F88F PRG:788F BD D3 05 + cmp #$20 ; CPU:$F892 PRG:7892 C9 20 + bcc NmiHandler_Loop267 ; CPU:$F894 PRG:7894 90 03 + jmp Sub_F955 ; CPU:$F896 PRG:7896 4C 55 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + lda $0437 ; CPU:$F899 PRG:7899 AD 37 04 + cmp #$FF ; CPU:$F89C PRG:789C C9 FF + beq NmiHandler_Loop268 ; CPU:$F89E PRG:789E F0 20 + lda #$13 ; CPU:$F8A0 PRG:78A0 A9 13 + jsr Sub_A06B ; CPU:$F8A2 PRG:78A2 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_F8A5 +; Global: Branch target inside Sub: taken when F8A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F8A5: + inc $069B,x ; CPU:$F8A5 PRG:78A5 FE 9B 06 + lda $069B,x ; CPU:$F8A8 PRG:78A8 BD 9B 06 + cmp #$04 ; CPU:$F8AB PRG:78AB C9 04 + bcs NmiHandler_Loop268 ; CPU:$F8AD PRG:78AD B0 11 + clc ; CPU:$F8AF PRG:78AF 18 + adc #$80 ; CPU:$F8B0 PRG:78B0 69 80 + sta $04D9,x ; CPU:$F8B2 PRG:78B2 9D D9 04 + jsr Sub_F7CD ; CPU:$F8B5 PRG:78B5 20 CD F7 + beq NmiHandler_Loop268 ; CPU:$F8B8 PRG:78B8 F0 06 + jsr Sub_C275 ; CPU:$F8BA PRG:78BA 20 75 C2 + jmp Sub_F8A5 ; CPU:$F8BD PRG:78BD 4C A5 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + lda $048E,x ; CPU:$F8C0 PRG:78C0 BD 8E 04 + and #$10 ; CPU:$F8C3 PRG:78C3 29 10 + beq NmiHandler_Loop271 ; CPU:$F8C5 PRG:78C5 F0 78 + lda #$01 ; CPU:$F8C7 PRG:78C7 A9 01 + sta VramWritePtrHi ; CPU:$F8C9 PRG:78C9 85 8B + lda #$00 ; CPU:$F8CB PRG:78CB A9 00 + sta PpuAddrHigh ; CPU:$F8CD PRG:78CD 85 89 + sta PpuAddrLow ; CPU:$F8CF PRG:78CF 85 88 + sta VramWritePtrLo ; CPU:$F8D1 PRG:78D1 85 8A + jsr Sub_AC1A ; CPU:$F8D3 PRG:78D3 20 1A AC + dec $0717 ; CPU:$F8D6 PRG:78D6 CE 17 07 + bne NmiHandler_Loop272 ; CPU:$F8D9 PRG:78D9 D0 6F + lda #$00 ; CPU:$F8DB PRG:78DB A9 00 + jsr Sub_F9E1 ; CPU:$F8DD PRG:78DD 20 E1 F9 + ldy #$00 ; CPU:$F8E0 PRG:78E0 A0 00 + lda $05D3,x ; CPU:$F8E2 PRG:78E2 BD D3 05 + cmp #$0A ; CPU:$F8E5 PRG:78E5 C9 0A + beq NmiHandler_Loop269 ; CPU:$F8E7 PRG:78E7 F0 10 + iny ; CPU:$F8E9 PRG:78E9 C8 + cmp #$0B ; CPU:$F8EA PRG:78EA C9 0B + beq NmiHandler_Loop269 ; CPU:$F8EC PRG:78EC F0 0B + iny ; CPU:$F8EE PRG:78EE C8 + cmp #$11 ; CPU:$F8EF PRG:78EF C9 11 + bcc NmiHandler_Loop269 ; CPU:$F8F1 PRG:78F1 90 06 + iny ; CPU:$F8F3 PRG:78F3 C8 + cmp #$14 ; CPU:$F8F4 PRG:78F4 C9 14 + bcc NmiHandler_Loop269 ; CPU:$F8F6 PRG:78F6 90 01 + iny ; CPU:$F8F8 PRG:78F8 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + tya ; CPU:$F8F9 PRG:78F9 98 + asl a ; CPU:$F8FA PRG:78FA 0A + tay ; CPU:$F8FB PRG:78FB A8 + lda $FCD3,y ; CPU:$F8FC PRG:78FC B9 D3 FC + sta $04D9,x ; CPU:$F8FF PRG:78FF 9D D9 04 + iny ; CPU:$F902 PRG:7902 C8 + lda $FCD3,y ; CPU:$F903 PRG:7903 B9 D3 FC + sta $04F2,x ; CPU:$F906 PRG:7906 9D F2 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_F909 +; Global: Branch target inside Sub: taken when F909. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F909: + jsr Sub_F7CD ; CPU:$F909 PRG:7909 20 CD F7 + beq NmiHandler_Loop272 ; CPU:$F90C PRG:790C F0 3C + ldy #$01 ; CPU:$F90E PRG:790E A0 01 + jsr Sub_AA61 ; CPU:$F910 PRG:7910 20 61 AA + bcs NmiHandler_Loop270 ; CPU:$F913 PRG:7913 B0 14 + ldy #$02 ; CPU:$F915 PRG:7915 A0 02 + jsr Sub_AA61 ; CPU:$F917 PRG:7917 20 61 AA + bcs NmiHandler_Loop270 ; CPU:$F91A PRG:791A B0 0D + ldy #$00 ; CPU:$F91C PRG:791C A0 00 + jsr Sub_AA61 ; CPU:$F91E PRG:791E 20 61 AA + bcs NmiHandler_Loop270 ; CPU:$F921 PRG:7921 B0 06 + jsr Sub_C275 ; CPU:$F923 PRG:7923 20 75 C2 + jmp Sub_F909 ; CPU:$F926 PRG:7926 4C 09 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + lda #$0F ; CPU:$F929 PRG:7929 A9 0F + jsr Sub_A06B ; CPU:$F92B PRG:792B 20 6B A0 + lda $04D9,x ; CPU:$F92E PRG:792E BD D9 04 + sec ; CPU:$F931 PRG:7931 38 + sbc #$7A ; CPU:$F932 PRG:7932 E9 7A + sta $0718 ; CPU:$F934 PRG:7934 8D 18 07 + lda #$01 ; CPU:$F937 PRG:7937 A9 01 + jsr Sub_F9E1 ; CPU:$F939 PRG:7939 20 E1 F9 + jmp NmiHandler_Loop272 ; CPU:$F93C PRG:793C 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + lda #$05 ; CPU:$F93F PRG:793F A9 05 + sta VramWritePtrLo ; CPU:$F941 PRG:7941 85 8A + lda #$00 ; CPU:$F943 PRG:7943 A9 00 + sta VramWritePtrHi ; CPU:$F945 PRG:7945 85 8B + jsr Sub_AC14 ; CPU:$F947 PRG:7947 20 14 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + lda #$00 ; CPU:$F94A PRG:794A A9 00 + sta $048E,x ; CPU:$F94C PRG:794C 9D 8E 04 + jsr Sub_C32D ; CPU:$F94F PRG:794F 20 2D C3 + jsr Sub_C237 ; CPU:$F952 PRG:7952 20 37 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_F955 +; Global: Branch target inside Sub: taken when F955. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F955: + lda $0437 ; CPU:$F955 PRG:7955 AD 37 04 + cmp #$FF ; CPU:$F958 PRG:7958 C9 FF + beq NmiHandler_Loop273 ; CPU:$F95A PRG:795A F0 21 + lda #$13 ; CPU:$F95C PRG:795C A9 13 + jsr Sub_A06B ; CPU:$F95E PRG:795E 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_F961 +; Global: Branch target inside Sub: taken when F961. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F961: + inc $069B,x ; CPU:$F961 PRG:7961 FE 9B 06 + lda $069B,x ; CPU:$F964 PRG:7964 BD 9B 06 + lsr a ; CPU:$F967 PRG:7967 4A + cmp #$0A ; CPU:$F968 PRG:7968 C9 0A + bcs NmiHandler_Loop273 ; CPU:$F96A PRG:796A B0 11 + clc ; CPU:$F96C PRG:796C 18 + adc #$84 ; CPU:$F96D PRG:796D 69 84 + sta $04D9,x ; CPU:$F96F PRG:796F 9D D9 04 + jsr Sub_F7CD ; CPU:$F972 PRG:7972 20 CD F7 + beq NmiHandler_Loop273 ; CPU:$F975 PRG:7975 F0 06 + jsr Sub_C275 ; CPU:$F977 PRG:7977 20 75 C2 + jmp Sub_F961 ; CPU:$F97A PRG:797A 4C 61 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + lda $05D3,x ; CPU:$F97D PRG:797D BD D3 05 + cmp #$30 ; CPU:$F980 PRG:7980 C9 30 + bcs NmiHandler_Loop275 ; CPU:$F982 PRG:7982 B0 12 + lda $04F2,x ; CPU:$F984 PRG:7984 BD F2 04 + beq NmiHandler_Loop274 ; CPU:$F987 PRG:7987 F0 05 + lda #$01 ; CPU:$F989 PRG:7989 A9 01 + jmp Sub_F990 ; CPU:$F98B PRG:798B 4C 90 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + lda #$02 ; CPU:$F98E PRG:798E A9 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_F990 +; Global: Branch target inside Sub: taken when F990. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F990: + jsr Sub_F9E1 ; CPU:$F990 PRG:7990 20 E1 F9 + jmp NmiHandler_Loop272 ; CPU:$F993 PRG:7993 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + lda $05EC ; CPU:$F996 PRG:7996 AD EC 05 + clc ; CPU:$F999 PRG:7999 18 + adc #$03 ; CPU:$F99A PRG:799A 69 03 + cmp #$11 ; CPU:$F99C PRG:799C C9 11 + bcc NmiHandler_Loop276 ; CPU:$F99E PRG:799E 90 02 + lda #$11 ; CPU:$F9A0 PRG:79A0 A9 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + jsr Sub_F9E1 ; CPU:$F9A2 PRG:79A2 20 E1 F9 + inc $05EC ; CPU:$F9A5 PRG:79A5 EE EC 05 + jmp NmiHandler_Loop272 ; CPU:$F9A8 PRG:79A8 4C 4A F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_F9AB +; Global: Branch target inside Sub: taken when F9AB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F9AB: + lda $0437 ; CPU:$F9AB PRG:79AB AD 37 04 + cmp #$FF ; CPU:$F9AE PRG:79AE C9 FF + beq NmiHandler_Loop273 ; CPU:$F9B0 PRG:79B0 F0 CB + lda #$12 ; CPU:$F9B2 PRG:79B2 A9 12 + jsr Sub_A06B ; CPU:$F9B4 PRG:79B4 20 6B A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_F9B7 +; Global: Branch target inside Sub: taken when F9B7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F9B7: + inc $069B,x ; CPU:$F9B7 PRG:79B7 FE 9B 06 + lda $069B,x ; CPU:$F9BA PRG:79BA BD 9B 06 + lsr a ; CPU:$F9BD PRG:79BD 4A + lsr a ; CPU:$F9BE PRG:79BE 4A + cmp #$03 ; CPU:$F9BF PRG:79BF C9 03 + bcs NmiHandler_Loop277 ; CPU:$F9C1 PRG:79C1 B0 11 + clc ; CPU:$F9C3 PRG:79C3 18 + adc #$72 ; CPU:$F9C4 PRG:79C4 69 72 + sta $04D9,x ; CPU:$F9C6 PRG:79C6 9D D9 04 + jsr Sub_F7CD ; CPU:$F9C9 PRG:79C9 20 CD F7 + beq NmiHandler_Loop273 ; CPU:$F9CC PRG:79CC F0 AF + jsr Sub_C275 ; CPU:$F9CE PRG:79CE 20 75 C2 + jmp Sub_F9B7 ; CPU:$F9D1 PRG:79D1 4C B7 F9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + lda #$FF ; CPU:$F9D4 PRG:79D4 A9 FF + sta $069B,x ; CPU:$F9D6 PRG:79D6 9D 9B 06 + lda #$01 ; CPU:$F9D9 PRG:79D9 A9 01 + sta $04F2,x ; CPU:$F9DB PRG:79DB 9D F2 04 + jmp Sub_F961 ; CPU:$F9DE PRG:79DE 4C 61 F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_F9E1 +; Global: Branch target inside Sub: taken when F9E1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F9E1: + sta PlayerScore ; CPU:$F9E1 PRG:79E1 85 B0 + clc ; CPU:$F9E3 PRG:79E3 18 + adc #$B0 ; CPU:$F9E4 PRG:79E4 69 B0 + sta $04D9,x ; CPU:$F9E6 PRG:79E6 9D D9 04 + lda #$03 ; CPU:$F9E9 PRG:79E9 A9 03 + sta $04F2,x ; CPU:$F9EB PRG:79EB 9D F2 04 + lda $048E,x ; CPU:$F9EE PRG:79EE BD 8E 04 + and #$40 ; CPU:$F9F1 PRG:79F1 29 40 + beq NmiHandler_Loop279 ; CPU:$F9F3 PRG:79F3 F0 12 + lda $05D3,x ; CPU:$F9F5 PRG:79F5 BD D3 05 + cmp #$30 ; CPU:$F9F8 PRG:79F8 C9 30 + bcs NmiHandler_Loop278 ; CPU:$F9FA PRG:79FA B0 07 + lda #$09 ; CPU:$F9FC PRG:79FC A9 09 + sta PlayerScore ; CPU:$F9FE PRG:79FE 85 B0 + jmp NmiHandler_Loop279 ; CPU:$FA00 PRG:7A00 4C 07 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + lda #$12 ; CPU:$FA03 PRG:7A03 A9 12 + sta PlayerScore ; CPU:$FA05 PRG:7A05 85 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + lda PlayerScore ; CPU:$FA07 PRG:7A07 A5 B0 + asl a ; CPU:$FA09 PRG:7A09 0A + asl a ; CPU:$FA0A PRG:7A0A 0A + tay ; CPU:$FA0B PRG:7A0B A8 + lda $FCDF,y ; CPU:$FA0C PRG:7A0C B9 DF FC + sta PpuAddrHigh ; CPU:$FA0F PRG:7A0F 85 89 + iny ; CPU:$FA11 PRG:7A11 C8 + lda $FCDF,y ; CPU:$FA12 PRG:7A12 B9 DF FC + sta PpuAddrLow ; CPU:$FA15 PRG:7A15 85 88 + iny ; CPU:$FA17 PRG:7A17 C8 + lda $FCDF,y ; CPU:$FA18 PRG:7A18 B9 DF FC + sta VramWritePtrHi ; CPU:$FA1B PRG:7A1B 85 8B + iny ; CPU:$FA1D PRG:7A1D C8 + lda $FCDF,y ; CPU:$FA1E PRG:7A1E B9 DF FC + sta VramWritePtrLo ; CPU:$FA21 PRG:7A21 85 8A + jsr Sub_AC1A ; CPU:$FA23 PRG:7A23 20 1A AC + lda #$28 ; CPU:$FA26 PRG:7A26 A9 28 + sta PlayerY ; CPU:$FA28 PRG:7A28 85 86 + lda #$00 ; CPU:$FA2A PRG:7A2A A9 00 + sta PlayerX ; CPU:$FA2C PRG:7A2C 85 87 + jsr Sub_C251 ; CPU:$FA2E PRG:7A2E 20 51 C2 + rts ; CPU:$FA31 PRG:7A31 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FA32 +; Global: Branch target inside Sub: taken when FA32. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FA32: + lda $0438 ; CPU:$FA32 PRG:7A32 AD 38 04 + and #$03 ; CPU:$FA35 PRG:7A35 29 03 + cmp #$03 ; CPU:$FA37 PRG:7A37 C9 03 + beq NmiHandler_OnCarrySet3 ; CPU:$FA39 PRG:7A39 F0 07 + lda $048E,x ; CPU:$FA3B PRG:7A3B BD 8E 04 + and #$02 ; CPU:$FA3E PRG:7A3E 29 02 + beq NmiHandler_Loop280 ; CPU:$FA40 PRG:7A40 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet3: + rts ; CPU:$FA42 PRG:7A42 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + inc $07C7 ; CPU:$FA43 PRG:7A43 EE C7 07 + lda $03A1 ; CPU:$FA46 PRG:7A46 AD A1 03 + lsr a ; CPU:$FA49 PRG:7A49 4A + lsr a ; CPU:$FA4A PRG:7A4A 4A + cmp $07C7 ; CPU:$FA4B PRG:7A4B CD C7 07 + bcs NmiHandler_OnCarrySet3 ; CPU:$FA4E PRG:7A4E B0 F2 + lda #$FF ; CPU:$FA50 PRG:7A50 A9 FF + sta $07C7 ; CPU:$FA52 PRG:7A52 8D C7 07 + ldy #$00 ; CPU:$FA55 PRG:7A55 A0 00 + jsr Sub_B0BC ; CPU:$FA57 PRG:7A57 20 BC B0 + jsr Sub_B0E5 ; CPU:$FA5A PRG:7A5A 20 E5 B0 + lda #$70 ; CPU:$FA5D PRG:7A5D A9 70 + sta PlayerScore ; CPU:$FA5F PRG:7A5F 85 B0 + sta ZpB2 ; CPU:$FA61 PRG:7A61 85 B2 + lda #$90 ; CPU:$FA63 PRG:7A63 A9 90 + sta ZpB1 ; CPU:$FA65 PRG:7A65 85 B1 + sta ZpB3 ; CPU:$FA67 PRG:7A67 85 B3 + jsr Sub_AA00 ; CPU:$FA69 PRG:7A69 20 00 AA + bcs NmiHandler_Loop281 ; CPU:$FA6C PRG:7A6C B0 01 + rts ; CPU:$FA6E PRG:7A6E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + ldy #$00 ; CPU:$FA6F PRG:7A6F A0 00 + jsr Sub_B0BC ; CPU:$FA71 PRG:7A71 20 BC B0 + jsr Sub_B0E5 ; CPU:$FA74 PRG:7A74 20 E5 B0 + lda #$20 ; CPU:$FA77 PRG:7A77 A9 20 + sta PlayerScore ; CPU:$FA79 PRG:7A79 85 B0 + sta ZpB2 ; CPU:$FA7B PRG:7A7B 85 B2 + lda #$E0 ; CPU:$FA7D PRG:7A7D A9 E0 + sta ZpB1 ; CPU:$FA7F PRG:7A7F 85 B1 + sta ZpB3 ; CPU:$FA81 PRG:7A81 85 B3 + jsr Sub_AA00 ; CPU:$FA83 PRG:7A83 20 00 AA + bcc NmiHandler_Loop282 ; CPU:$FA86 PRG:7A86 90 01 + rts ; CPU:$FA88 PRG:7A88 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + ldy #$00 ; CPU:$FA89 PRG:7A89 A0 00 + jsr Sub_B0E5 ; CPU:$FA8B PRG:7A8B 20 E5 B0 + jsr Sub_B0BC ; CPU:$FA8E PRG:7A8E 20 BC B0 + jsr Sub_ADC9 ; CPU:$FA91 PRG:7A91 20 C9 AD + cmp #$06 ; CPU:$FA94 PRG:7A94 C9 06 + bcs NmiHandler_Loop283 ; CPU:$FA96 PRG:7A96 B0 01 + rts ; CPU:$FA98 PRG:7A98 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + cmp #$0B ; CPU:$FA99 PRG:7A99 C9 0B + bcc NmiHandler_Loop284 ; CPU:$FA9B PRG:7A9B 90 01 + rts ; CPU:$FA9D PRG:7A9D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + sta PlayerScore ; CPU:$FA9E PRG:7A9E 85 B0 + lda $05D3,x ; CPU:$FAA0 PRG:7AA0 BD D3 05 + cmp #$00 ; CPU:$FAA3 PRG:7AA3 C9 00 + bne NmiHandler_Loop285 ; CPU:$FAA5 PRG:7AA5 D0 0D + lda $050B,x ; CPU:$FAA7 PRG:7AA7 BD 0B 05 + sec ; CPU:$FAAA PRG:7AAA 38 + sbc #$03 ; CPU:$FAAB PRG:7AAB E9 03 + and #$0F ; CPU:$FAAD PRG:7AAD 29 0F + cmp PlayerScore ; CPU:$FAAF PRG:7AAF C5 B0 + bcc NmiHandler_Loop285 ; CPU:$FAB1 PRG:7AB1 90 01 + rts ; CPU:$FAB3 PRG:7AB3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + lda $050B,x ; CPU:$FAB4 PRG:7AB4 BD 0B 05 + clc ; CPU:$FAB7 PRG:7AB7 18 + adc #$02 ; CPU:$FAB8 PRG:7AB8 69 02 + cmp PlayerScore ; CPU:$FABA PRG:7ABA C5 B0 + bcs NmiHandler_Loop286 ; CPU:$FABC PRG:7ABC B0 01 + rts ; CPU:$FABE PRG:7ABE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + ldy #$03 ; CPU:$FABF PRG:7ABF A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear44 +; Global: Branch target inside NmiHandler: taken when OnCarryClear44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear44: + lda $048E,y ; CPU:$FAC1 PRG:7AC1 B9 8E 04 + and #$08 ; CPU:$FAC4 PRG:7AC4 29 08 + beq NmiHandler_Loop287 ; CPU:$FAC6 PRG:7AC6 F0 06 + iny ; CPU:$FAC8 PRG:7AC8 C8 + cpy #$0B ; CPU:$FAC9 PRG:7AC9 C0 0B + bcc NmiHandler_OnCarryClear44 ; CPU:$FACB PRG:7ACB 90 F4 + rts ; CPU:$FACD PRG:7ACD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + lda PlayerScore ; CPU:$FACE PRG:7ACE A5 B0 + sta $050B,y ; CPU:$FAD0 PRG:7AD0 99 0B 05 + lda #$14 ; CPU:$FAD3 PRG:7AD3 A9 14 + sta $05BA,y ; CPU:$FAD5 PRG:7AD5 99 BA 05 + lda $0588,x ; CPU:$FAD8 PRG:7AD8 BD 88 05 + sta $0588,y ; CPU:$FADB PRG:7ADB 99 88 05 + lda $056F,x ; CPU:$FADE PRG:7ADE BD 6F 05 + sta $056F,y ; CPU:$FAE1 PRG:7AE1 99 6F 05 + lda $053D,x ; CPU:$FAE4 PRG:7AE4 BD 3D 05 + sta $053D,y ; CPU:$FAE7 PRG:7AE7 99 3D 05 + lda $0524,x ; CPU:$FAEA PRG:7AEA BD 24 05 + sta $0524,y ; CPU:$FAED PRG:7AED 99 24 05 + lda #$01 ; CPU:$FAF0 PRG:7AF0 A9 01 + sta $04F2,y ; CPU:$FAF2 PRG:7AF2 99 F2 04 + lda #$88 ; CPU:$FAF5 PRG:7AF5 A9 88 + sta $048E,y ; CPU:$FAF7 PRG:7AF7 99 8E 04 + lda #$00 ; CPU:$FAFA PRG:7AFA A9 00 + sta $070C ; CPU:$FAFC PRG:7AFC 8D 0C 07 + rts ; CPU:$FAFF PRG:7AFF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FB00 +; Global: Branch target inside Sub: taken when FB00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FB00: + lda $070D ; CPU:$FB00 PRG:7B00 AD 0D 07 + beq NmiHandler_Loop288 ; CPU:$FB03 PRG:7B03 F0 0E + ldy #$01 ; CPU:$FB05 PRG:7B05 A0 01 + lda $070E,y ; CPU:$FB07 PRG:7B07 B9 0E 07 + sec ; CPU:$FB0A PRG:7B0A 38 + sbc #$01 ; CPU:$FB0B PRG:7B0B E9 01 + beq NmiHandler_Loop290 ; CPU:$FB0D PRG:7B0D F0 7D + sta $070E,y ; CPU:$FB0F PRG:7B0F 99 0E 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet4: + rts ; CPU:$FB12 PRG:7B12 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + inc $07C6 ; CPU:$FB13 PRG:7B13 EE C6 07 + lda $03A1 ; CPU:$FB16 PRG:7B16 AD A1 03 + lsr a ; CPU:$FB19 PRG:7B19 4A + lsr a ; CPU:$FB1A PRG:7B1A 4A + lsr a ; CPU:$FB1B PRG:7B1B 4A + lsr a ; CPU:$FB1C PRG:7B1C 4A + cmp $07C6 ; CPU:$FB1D PRG:7B1D CD C6 07 + bcs NmiHandler_OnCarrySet4 ; CPU:$FB20 PRG:7B20 B0 F0 + lda #$00 ; CPU:$FB22 PRG:7B22 A9 00 + sta $07C6 ; CPU:$FB24 PRG:7B24 8D C6 07 + lda $05D3,x ; CPU:$FB27 PRG:7B27 BD D3 05 + cmp #$FF ; CPU:$FB2A PRG:7B2A C9 FF + bne NmiHandler_Loop289 ; CPU:$FB2C PRG:7B2C D0 05 + lda #$02 ; CPU:$FB2E PRG:7B2E A9 02 + jmp Sub_FB3D ; CPU:$FB30 PRG:7B30 4C 3D FB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + lda #$00 ; CPU:$FB33 PRG:7B33 A9 00 + sec ; CPU:$FB35 PRG:7B35 38 + sbc $03A1 ; CPU:$FB36 PRG:7B36 ED A1 03 + rol a ; CPU:$FB39 PRG:7B39 2A + rol a ; CPU:$FB3A PRG:7B3A 2A + and #$01 ; CPU:$FB3B PRG:7B3B 29 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_FB3D +; Global: Branch target inside Sub: taken when FB3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FB3D: + asl a ; CPU:$FB3D PRG:7B3D 0A + tay ; CPU:$FB3E PRG:7B3E A8 + lda $FD2F,y ; CPU:$FB3F PRG:7B3F B9 2F FD + sta VramWritePtrLo ; CPU:$FB42 PRG:7B42 85 8A + iny ; CPU:$FB44 PRG:7B44 C8 + lda $FD2F,y ; CPU:$FB45 PRG:7B45 B9 2F FD + sta VramWritePtrHi ; CPU:$FB48 PRG:7B48 85 8B + ldy #$00 ; CPU:$FB4A PRG:7B4A A0 00 + lda (VramWritePtrLo),y ; CPU:$FB4C PRG:7B4C B1 8A + sta $070E,y ; CPU:$FB4E PRG:7B4E 99 0E 07 + sta PlayerX ; CPU:$FB51 PRG:7B51 85 87 + iny ; CPU:$FB53 PRG:7B53 C8 + lda (VramWritePtrLo),y ; CPU:$FB54 PRG:7B54 B1 8A + sta $070E,y ; CPU:$FB56 PRG:7B56 99 0E 07 + iny ; CPU:$FB59 PRG:7B59 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero30: + lda (VramWritePtrLo),y ; CPU:$FB5A PRG:7B5A B1 8A + sta $070E,y ; CPU:$FB5C PRG:7B5C 99 0E 07 + iny ; CPU:$FB5F PRG:7B5F C8 + dec PlayerX ; CPU:$FB60 PRG:7B60 C6 87 + bne NmiHandler_OnNonzero30 ; CPU:$FB62 PRG:7B62 D0 F6 + ldy #$00 ; CPU:$FB64 PRG:7B64 A0 00 + jsr Sub_B0E5 ; CPU:$FB66 PRG:7B66 20 E5 B0 + jsr Sub_B0BC ; CPU:$FB69 PRG:7B69 20 BC B0 + jsr Sub_ADC9 ; CPU:$FB6C PRG:7B6C 20 C9 AD + sta PlayerScore ; CPU:$FB6F PRG:7B6F 85 B0 + lda $070E ; CPU:$FB71 PRG:7B71 AD 0E 07 + sta PlayerX ; CPU:$FB74 PRG:7B74 85 87 + ldy #$02 ; CPU:$FB76 PRG:7B76 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero31: + lda $070E,y ; CPU:$FB78 PRG:7B78 B9 0E 07 + clc ; CPU:$FB7B PRG:7B7B 18 + adc PlayerScore ; CPU:$FB7C PRG:7B7C 65 B0 + sta $070E,y ; CPU:$FB7E PRG:7B7E 99 0E 07 + iny ; CPU:$FB81 PRG:7B81 C8 + dec PlayerX ; CPU:$FB82 PRG:7B82 C6 87 + bne NmiHandler_OnNonzero31 ; CPU:$FB84 PRG:7B84 D0 F2 + lda #$FF ; CPU:$FB86 PRG:7B86 A9 FF + sta $070D ; CPU:$FB88 PRG:7B88 8D 0D 07 + rts ; CPU:$FB8B PRG:7B8B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + ldy #$02 ; CPU:$FB8C PRG:7B8C A0 02 + lda $070E ; CPU:$FB8E PRG:7B8E AD 0E 07 + clc ; CPU:$FB91 PRG:7B91 18 + adc #$02 ; CPU:$FB92 PRG:7B92 69 02 + sta PlayerScore ; CPU:$FB94 PRG:7B94 85 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear45 +; Global: Branch target inside NmiHandler: taken when OnCarryClear45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear45: + lda $070E,y ; CPU:$FB96 PRG:7B96 B9 0E 07 + cmp #$FF ; CPU:$FB99 PRG:7B99 C9 FF + bne NmiHandler_Loop291 ; CPU:$FB9B PRG:7B9B D0 0B + iny ; CPU:$FB9D PRG:7B9D C8 + cpy PlayerScore ; CPU:$FB9E PRG:7B9E C4 B0 + bcc NmiHandler_OnCarryClear45 ; CPU:$FBA0 PRG:7BA0 90 F4 + lda #$00 ; CPU:$FBA2 PRG:7BA2 A9 00 + sta $070D ; CPU:$FBA4 PRG:7BA4 8D 0D 07 + rts ; CPU:$FBA7 PRG:7BA7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + sta PlayerScore ; CPU:$FBA8 PRG:7BA8 85 B0 + sty $071D ; CPU:$FBAA PRG:7BAA 8C 1D 07 + ldy #$03 ; CPU:$FBAD PRG:7BAD A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear46 +; Global: Branch target inside NmiHandler: taken when OnCarryClear46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear46: + lda $048E,y ; CPU:$FBAF PRG:7BAF B9 8E 04 + and #$08 ; CPU:$FBB2 PRG:7BB2 29 08 + beq NmiHandler_Loop292 ; CPU:$FBB4 PRG:7BB4 F0 08 + iny ; CPU:$FBB6 PRG:7BB6 C8 + cpy #$0B ; CPU:$FBB7 PRG:7BB7 C0 0B + bcc NmiHandler_OnCarryClear46 ; CPU:$FBB9 PRG:7BB9 90 F4 + jmp Sub_FC2F ; CPU:$FBBB PRG:7BBB 4C 2F FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + lda PlayerScore ; CPU:$FBBE PRG:7BBE A5 B0 + sta $050B,y ; CPU:$FBC0 PRG:7BC0 99 0B 05 + lda #$14 ; CPU:$FBC3 PRG:7BC3 A9 14 + sta $05BA,y ; CPU:$FBC5 PRG:7BC5 99 BA 05 + lda $0588,x ; CPU:$FBC8 PRG:7BC8 BD 88 05 + sta $0588,y ; CPU:$FBCB PRG:7BCB 99 88 05 + lda $056F,x ; CPU:$FBCE PRG:7BCE BD 6F 05 + sta $056F,y ; CPU:$FBD1 PRG:7BD1 99 6F 05 + lda $053D,x ; CPU:$FBD4 PRG:7BD4 BD 3D 05 + sta $053D,y ; CPU:$FBD7 PRG:7BD7 99 3D 05 + lda $0524,x ; CPU:$FBDA PRG:7BDA BD 24 05 + sta $0524,y ; CPU:$FBDD PRG:7BDD 99 24 05 + lda #$01 ; CPU:$FBE0 PRG:7BE0 A9 01 + sta $04F2,y ; CPU:$FBE2 PRG:7BE2 99 F2 04 + lda #$88 ; CPU:$FBE5 PRG:7BE5 A9 88 + sta $048E,y ; CPU:$FBE7 PRG:7BE7 99 8E 04 + lda $05D3,x ; CPU:$FBEA PRG:7BEA BD D3 05 + cmp #$FF ; CPU:$FBED PRG:7BED C9 FF + bne NmiHandler_Loop293 ; CPU:$FBEF PRG:7BEF D0 36 + lda $0588,y ; CPU:$FBF1 PRG:7BF1 B9 88 05 + sec ; CPU:$FBF4 PRG:7BF4 38 + sbc #$07 ; CPU:$FBF5 PRG:7BF5 E9 07 + sta $0588,y ; CPU:$FBF7 PRG:7BF7 99 88 05 + lda $056F,y ; CPU:$FBFA PRG:7BFA B9 6F 05 + sbc #$00 ; CPU:$FBFD PRG:7BFD E9 00 + sta $056F,y ; CPU:$FBFF PRG:7BFF 99 6F 05 + lda $03A0 ; CPU:$FC02 PRG:7C02 AD A0 03 + and #$0F ; CPU:$FC05 PRG:7C05 29 0F + clc ; CPU:$FC07 PRG:7C07 18 + adc $0588,y ; CPU:$FC08 PRG:7C08 79 88 05 + sta $0588,y ; CPU:$FC0B PRG:7C0B 99 88 05 + lda $056F,y ; CPU:$FC0E PRG:7C0E B9 6F 05 + adc #$00 ; CPU:$FC11 PRG:7C11 69 00 + sta $056F,y ; CPU:$FC13 PRG:7C13 99 6F 05 + lda $053D,y ; CPU:$FC16 PRG:7C16 B9 3D 05 + clc ; CPU:$FC19 PRG:7C19 18 + adc #$40 ; CPU:$FC1A PRG:7C1A 69 40 + sta $053D,y ; CPU:$FC1C PRG:7C1C 99 3D 05 + lda $0524,y ; CPU:$FC1F PRG:7C1F B9 24 05 + adc #$00 ; CPU:$FC22 PRG:7C22 69 00 + sta $0524,y ; CPU:$FC24 PRG:7C24 99 24 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop293: + ldy $071D ; CPU:$FC27 PRG:7C27 AC 1D 07 + lda #$FF ; CPU:$FC2A PRG:7C2A A9 FF + sta $070E,y ; CPU:$FC2C PRG:7C2C 99 0E 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_FC2F +; Global: Branch target inside Sub: taken when FC2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FC2F: + lda $05D3,x ; CPU:$FC2F PRG:7C2F BD D3 05 + cmp #$FF ; CPU:$FC32 PRG:7C32 C9 FF + bne NmiHandler_Loop294 ; CPU:$FC34 PRG:7C34 D0 05 + lda #$02 ; CPU:$FC36 PRG:7C36 A9 02 + jmp Sub_FC3E ; CPU:$FC38 PRG:7C38 4C 3E FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop294: + sec ; CPU:$FC3B PRG:7C3B 38 + sbc #$30 ; CPU:$FC3C PRG:7C3C E9 30 +; ----------------------------------------------------------------------------- +; Routine: Sub_FC3E +; Global: Branch target inside Sub: taken when FC3E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FC3E: + asl a ; CPU:$FC3E PRG:7C3E 0A + tay ; CPU:$FC3F PRG:7C3F A8 + lda $FD2F,y ; CPU:$FC40 PRG:7C40 B9 2F FD + sta VramWritePtrLo ; CPU:$FC43 PRG:7C43 85 8A + iny ; CPU:$FC45 PRG:7C45 C8 + lda $FD2F,y ; CPU:$FC46 PRG:7C46 B9 2F FD + sta VramWritePtrHi ; CPU:$FC49 PRG:7C49 85 8B + ldy #$01 ; CPU:$FC4B PRG:7C4B A0 01 + lda (VramWritePtrLo),y ; CPU:$FC4D PRG:7C4D B1 8A + sta $070E,y ; CPU:$FC4F PRG:7C4F 99 0E 07 + rts ; CPU:$FC52 PRG:7C52 60 +; ----------------------------------------------------------------------------- +; Routine: Label_FC53 +; Global: Branch target inside Label: taken when FC53. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC53: + brk ; CPU:$FC53 PRG:7C53 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC54 +; Global: Branch target inside Label: taken when FC54. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC54: + bcs NmiHandler_Loop295 ; CPU:$FC54 PRG:7C54 B0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + ldy #$00 ; CPU:$FC56 PRG:7C56 A0 00 + beq NmiHandler_Loop296 ; CPU:$FC58 PRG:7C58 F0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + ldy #$00 ; CPU:$FC5A PRG:7C5A A0 00 + bcs NmiHandler_Loop297 ; CPU:$FC5C PRG:7C5C B0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + clv ; CPU:$FC5E PRG:7C5E B8 + brk ; CPU:$FC5F PRG:7C5F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC60 +; Global: Branch target inside Label: taken when FC60. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC60: + bcs NmiHandler_Loop298 ; CPU:$FC60 PRG:7C60 B0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + bne NmiHandler_Loop299 ; CPU:$FC62 PRG:7C62 D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + bne NmiHandler_Loop300 ; CPU:$FC64 PRG:7C64 D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop300: + clv ; CPU:$FC66 PRG:7C66 B8 + brk ; CPU:$FC67 PRG:7C67 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC68 +; Global: Branch target inside Label: taken when FC68. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC68: + beq NmiHandler_Loop301 ; CPU:$FC68 PRG:7C68 F0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop301: + clv ; CPU:$FC6A PRG:7C6A B8 + brk ; CPU:$FC6B PRG:7C6B 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC6C +; Global: Branch target inside Label: taken when FC6C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC6C: + bne NmiHandler_Loop302 ; CPU:$FC6C PRG:7C6C D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop302: + bne NmiHandler_Loop303 ; CPU:$FC6E PRG:7C6E D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop303: + beq NmiHandler_Loop304 ; CPU:$FC70 PRG:7C70 F0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: + .byte $D0, $01 ; CPU:$FC72 PRG:7C72 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_FC74 +; Global: Branch target inside Label: taken when FC74. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC74: + bvc NmiHandler_Loop305 ; CPU:$FC74 PRG:7C74 50 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop305: + ldy #$01 ; CPU:$FC76 PRG:7C76 A0 01 + bpl NmiHandler_Loop306 ; CPU:$FC78 PRG:7C78 10 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop306: + ldy #$01 ; CPU:$FC7A PRG:7C7A A0 01 + bvc NmiHandler_Loop307 ; CPU:$FC7C PRG:7C7C 50 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop307: + clv ; CPU:$FC7E PRG:7C7E B8 + ora (Zp50,x) ; CPU:$FC7F PRG:7C7F 01 50 + brk ; CPU:$FC81 PRG:7C81 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC82 +; Global: Branch target inside Label: taken when FC82. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC82: + .byte $D0, $01 ; CPU:$FC82 PRG:7C82 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_FC84 +; Global: Branch target inside Label: taken when FC84. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC84: + bmi NmiHandler_Loop308 ; CPU:$FC84 PRG:7C84 30 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop308: + clv ; CPU:$FC86 PRG:7C86 B8 + ora (Zp10,x) ; CPU:$FC87 PRG:7C87 01 10 + brk ; CPU:$FC89 PRG:7C89 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC8A +; Global: Branch target inside Label: taken when FC8A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC8A: + clv ; CPU:$FC8A PRG:7C8A B8 + ora (Zp30,x) ; CPU:$FC8B PRG:7C8B 01 30 + brk ; CPU:$FC8D PRG:7C8D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC8E +; Global: Branch target inside Label: taken when FC8E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC8E: + .byte $D0, $01 ; CPU:$FC8E PRG:7C8E D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_FC90 +; Global: Branch target inside Label: taken when FC90. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC90: + bpl NmiHandler_Loop309 ; CPU:$FC90 PRG:7C90 10 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop309: + bne NmiHandler_Loop310 ; CPU:$FC92 PRG:7C92 D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop310: + bcs NmiHandler_Loop311 ; CPU:$FC94 PRG:7C94 B0 01 + clc ; CPU:$FC96 PRG:7C96 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop311: + brk ; CPU:$FC97 PRG:7C97 00 +; ----------------------------------------------------------------------------- +; Routine: Label_FC98 +; Global: Branch target inside Label: taken when FC98. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FC98: + beq NmiHandler_Loop312 ; CPU:$FC98 PRG:7C98 F0 01 + clc ; CPU:$FC9A PRG:7C9A 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop312: + brk ; CPU:$FC9B PRG:7C9B 00 +; ---- data $FC9C-$FFFF (868 bytes) ---- +; referenced by `lda $FD4A,y` at $F6D9 (operand $FD4A falls inside this region) +; referenced by `lda $FD4A,y` at $F6DF (operand $FD4A falls inside this region) +; referenced by `lda $FCD3,y` at $F8FC (operand $FCD3 falls inside this region) +; referenced by `lda $FCD3,y` at $F903 (operand $FCD3 falls inside this region) +; referenced by `lda $FCDF,y` at $FA0C (operand $FCDF falls inside this region) +; referenced by `lda $FCDF,y` at $FA12 (operand $FCDF falls inside this region) +; ... and 6 further references from decoded code + .byte $B0, $01, $00, $00, $B0, $00, $E8, $00, $D0, $01, $00, $00, $F0, $01, $00, $00 ; CPU:$FC9C PRG:7C9C B0 01 00 00 B0 00 E8 00 D0 01 00 00 F0 01 00 00 + .byte $D0, $00, $E8, $00, $F0, $00, $E8, $01, $50, $01, $18, $01, $10, $01, $18, $01 ; CPU:$FCAC PRG:7CAC D0 00 E8 00 F0 00 E8 01 50 01 18 01 10 01 18 01 + .byte $50, $01, $00, $01, $50, $00, $E8, $01, $30, $01, $00, $01, $10, $01, $00, $01 ; CPU:$FCBC PRG:7CBC 50 01 00 01 50 00 E8 01 30 01 00 01 10 01 00 01 + .byte $30, $00, $E8, $01, $10, $00, $E8, $7A, $02, $7B, $01, $7C, $03, $7E, $00, $7D ; CPU:$FCCC PRG:7CCC 30 00 E8 01 10 00 E8 7A 02 7B 01 7C 03 7E 00 7D + .byte $01, $7F, $01, $00, $00, $05, $00, $00, $01, $00, $00, $00, $01, $05, $00, $00 ; CPU:$FCDC PRG:7CDC 01 7F 01 00 00 05 00 00 01 00 00 00 01 05 00 00 + .byte $02, $00, $00, $00, $02, $05, $00, $00, $03, $00, $00, $00, $03, $05, $00, $00 ; CPU:$FCEC PRG:7CEC 02 00 00 00 02 05 00 00 03 00 00 00 03 05 00 00 + .byte $04, $00, $00, $00, $04, $05, $00, $00, $05, $00, $00, $00, $05, $05, $00, $00 ; CPU:$FCFC PRG:7CFC 04 00 00 00 04 05 00 00 05 00 00 00 05 05 00 00 + .byte $06, $00, $00, $00, $06, $05, $00, $00, $07, $00, $00, $00, $07, $05, $00, $00 ; CPU:$FD0C PRG:7D0C 06 00 00 00 06 05 00 00 07 00 00 00 07 05 00 00 + .byte $08, $00, $00, $00, $08, $05, $00, $00, $09, $00, $00, $01, $00, $00, $00, $02 ; CPU:$FD1C PRG:7D1C 08 00 00 00 08 05 00 00 09 00 00 01 00 00 00 02 + .byte $00, $00, $00, $35, $FD, $3A, $FD, $41, $FD, $03, $05, $FF, $00, $01, $05, $02 ; CPU:$FD2C PRG:7D2C 00 00 00 35 FD 3A FD 41 FD 03 05 FF 00 01 05 02 + .byte $FE, $FF, $00, $01, $02, $07, $01, $FF, $00, $02, $FF, $01, $02, $00, $9A, $FD ; CPU:$FD3C PRG:7D3C FE FF 00 01 02 07 01 FF 00 02 FF 01 02 00 9A FD + .byte $2F, $FE, $50, $FE, $61, $FE, $72, $FE, $83, $FE, $94, $FE, $A5, $FE, $B6, $FE ; CPU:$FD4C PRG:7D4C 2F FE 50 FE 61 FE 72 FE 83 FE 94 FE A5 FE B6 FE + .byte $D7, $FE, $F8, $FE, $09, $FF, $2A, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF ; CPU:$FD5C PRG:7D5C D7 FE F8 FE 09 FF 2A FF 4B FF 4B FF 4B FF 4B FF + .byte $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $4B, $FF, $78, $FF, $A1, $FF ; CPU:$FD6C PRG:7D6C 4B FF 4B FF 4B FF 4B FF 4B FF 4B FF 78 FF A1 FF + .byte $A9, $FF, $B1, $FF, $B9, $FF, $C1, $FF, $C9, $FF, $D1, $FF, $D9, $FF, $D9, $FF ; CPU:$FD7C PRG:7D7C A9 FF B1 FF B9 FF C1 FF C9 FF D1 FF D9 FF D9 FF + .byte $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $D9, $FF, $FA, $FF, $00, $60 ; CPU:$FD8C PRG:7D8C D9 FF D9 FF D9 FF D9 FF D9 FF D9 FF FA FF 00 60 + .byte $00, $80, $00, $80, $00, $80, $00, $C0, $00, $80, $00, $D0, $00, $84, $00, $D8 ; CPU:$FD9C PRG:7D9C 00 80 00 80 00 80 00 C0 00 80 00 D0 00 84 00 D8 + .byte $00, $88, $00, $DC, $00, $90, $00, $E0, $00, $A0, $00, $DC, $00, $B0, $00, $D8 ; CPU:$FDAC PRG:7DAC 00 88 00 DC 00 90 00 E0 00 A0 00 DC 00 B0 00 D8 + .byte $00, $B8, $00, $D0, $00, $BC, $00, $C0, $00, $C0, $00, $B0, $00, $BC, $00, $A8 ; CPU:$FDBC PRG:7DBC 00 B8 00 D0 00 BC 00 C0 00 C0 00 B0 00 BC 00 A8 + .byte $00, $B8, $00, $A4, $00, $B0, $00, $A0, $00, $A0, $00, $A4, $00, $90, $00, $A8 ; CPU:$FDCC PRG:7DCC 00 B8 00 A4 00 B0 00 A0 00 A0 00 A4 00 90 00 A8 + .byte $00, $88, $00, $B0, $00, $84, $00, $C0, $00, $7E, $01, $40, $00, $80, $01, $50 ; CPU:$FDDC PRG:7DDC 00 88 00 B0 00 84 00 C0 00 7E 01 40 00 80 01 50 + .byte $00, $84, $01, $58, $00, $88, $01, $5C, $00, $90, $01, $60, $00, $A0, $01, $5C ; CPU:$FDEC PRG:7DEC 00 84 01 58 00 88 01 5C 00 90 01 60 00 A0 01 5C + .byte $00, $B0, $01, $58, $00, $B8, $01, $50, $00, $BC, $01, $40, $00, $C0, $01, $30 ; CPU:$FDFC PRG:7DFC 00 B0 01 58 00 B8 01 50 00 BC 01 40 00 C0 01 30 + .byte $00, $BC, $01, $28, $00, $B8, $01, $24, $00, $B0, $01, $20, $00, $A0, $01, $24 ; CPU:$FE0C PRG:7E0C 00 BC 01 28 00 B8 01 24 00 B0 01 20 00 A0 01 24 + .byte $00, $90, $01, $28, $00, $88, $01, $30, $00, $84, $01, $40, $00, $80, $01, $90 ; CPU:$FE1C PRG:7E1C 00 90 01 28 00 88 01 30 00 84 01 40 00 80 01 90 + .byte $00, $80, $FF, $00, $50, $00, $98, $01, $40, $00, $A0, $01, $60, $00, $A0, $01 ; CPU:$FE2C PRG:7E2C 00 80 FF 00 50 00 98 01 40 00 A0 01 60 00 A0 01 + .byte $50, $00, $A0, $00, $C0, $00, $AC, $00, $B0, $00, $AC, $00, $C0, $00, $B0, $01 ; CPU:$FE3C PRG:7E3C 50 00 A0 00 C0 00 AC 00 B0 00 AC 00 C0 00 B0 01 + .byte $B0, $00, $B8, $FF, $00, $50, $00, $B0, $01, $30, $00, $B0, $00, $D0, $00, $B0 ; CPU:$FE4C PRG:7E4C B0 00 B8 FF 00 50 00 B0 01 30 00 B0 00 D0 00 B0 + .byte $01, $B0, $00, $B0, $FF, $00, $50, $00, $A8, $01, $30, $00, $A8, $00, $D0, $00 ; CPU:$FE5C PRG:7E5C 01 B0 00 B0 FF 00 50 00 A8 01 30 00 A8 00 D0 00 + .byte $A8, $01, $B0, $00, $A8, $FF, $00, $50, $00, $A0, $01, $30, $00, $A0, $00, $D0 ; CPU:$FE6C PRG:7E6C A8 01 B0 00 A8 FF 00 50 00 A0 01 30 00 A0 00 D0 + .byte $00, $A0, $01, $B0, $00, $A0, $FF, $00, $50, $00, $98, $01, $30, $00, $98, $00 ; CPU:$FE7C PRG:7E7C 00 A0 01 B0 00 A0 FF 00 50 00 98 01 30 00 98 00 + .byte $D0, $00, $98, $01, $B0, $00, $98, $FF, $00, $50, $00, $90, $01, $30, $00, $90 ; CPU:$FE8C PRG:7E8C D0 00 98 01 B0 00 98 FF 00 50 00 90 01 30 00 90 + .byte $00, $D0, $00, $90, $01, $B0, $00, $90, $FF, $01, $00, $00, $40, $01, $00, $00 ; CPU:$FE9C PRG:7E9C 00 D0 00 90 01 B0 00 90 FF 01 00 00 40 01 00 00 + .byte $D0, $01, $00, $00, $A0, $01, $00, $01, $A0, $FF, $00, $F0, $00, $40, $00, $F0 ; CPU:$FEAC PRG:7EAC D0 01 00 00 A0 01 00 01 A0 FF 00 F0 00 40 00 F0 + .byte $00, $C0, $00, $E0, $00, $D0, $00, $D0, $00, $C0, $00, $E0, $00, $B0, $00, $F0 ; CPU:$FEBC PRG:7EBC 00 C0 00 E0 00 D0 00 D0 00 C0 00 E0 00 B0 00 F0 + .byte $00, $C0, $00, $E0, $00, $D0, $00, $50, $00, $D0, $FF, $01, $10, $00, $40, $01 ; CPU:$FECC PRG:7ECC 00 C0 00 E0 00 D0 00 50 00 D0 FF 01 10 00 40 01 + .byte $10, $00, $C0, $01, $20, $00, $D0, $01, $30, $00, $C0, $01, $20, $00, $B0, $01 ; CPU:$FEDC PRG:7EDC 10 00 C0 01 20 00 D0 01 30 00 C0 01 20 00 B0 01 + .byte $10, $00, $C0, $01, $20, $00, $D0, $01, $B0, $00, $D0, $FF, $00, $50, $00, $B0 ; CPU:$FEEC PRG:7EEC 10 00 C0 01 20 00 D0 01 B0 00 D0 FF 00 50 00 B0 + .byte $01, $10, $00, $B0, $00, $90, $00, $B0, $01, $B0, $00, $B0, $FF, $00, $50, $00 ; CPU:$FEFC PRG:7EFC 01 10 00 B0 00 90 00 B0 01 B0 00 B0 FF 00 50 00 + .byte $A0, $01, $00, $00, $A0, $01, $10, $00, $90, $01, $00, $00, $80, $00, $A0, $00 ; CPU:$FF0C PRG:7F0C A0 01 00 00 A0 01 10 00 90 01 00 00 80 00 A0 00 + .byte $80, $00, $90, $00, $90, $00, $A0, $00, $A0, $01, $B0, $00, $A0, $FF, $00, $50 ; CPU:$FF1C PRG:7F1C 80 00 90 00 90 00 A0 00 A0 01 B0 00 A0 FF 00 50 + .byte $00, $C0, $01, $00, $00, $C0, $01, $10, $00, $D0, $01, $00, $00, $E0, $00, $A0 ; CPU:$FF2C PRG:7F2C 00 C0 01 00 00 C0 01 10 00 D0 01 00 00 E0 00 A0 + .byte $00, $E0, $00, $90, $00, $D0, $00, $A0, $00, $C0, $01, $B0, $00, $C0, $FF, $00 ; CPU:$FF3C PRG:7F3C 00 E0 00 90 00 D0 00 A0 00 C0 01 B0 00 C0 FF 00 + .byte $B0, $00, $40, $00, $B0, $00, $70, $00, $B0, $00, $C8, $00, $B8, $00, $D0, $01 ; CPU:$FF4C PRG:7F4C B0 00 40 00 B0 00 70 00 B0 00 C8 00 B8 00 D0 01 + .byte $48, $00, $D0, $01, $50, $00, $C8, $01, $50, $00, $B8, $01, $48, $00, $B0, $00 ; CPU:$FF5C PRG:7F5C 48 00 D0 01 50 00 C8 01 50 00 B8 01 48 00 B0 00 + .byte $B8, $00, $B0, $00, $B0, $00, $B8, $00, $B0, $01, $90, $FF, $01, $50, $00, $50 ; CPU:$FF6C PRG:7F6C B8 00 B0 00 B0 00 B8 00 B0 01 90 FF 01 50 00 50 + .byte $01, $50, $00, $C8, $01, $48, $00, $D0, $00, $B8, $00, $D0, $00, $B0, $00, $C8 ; CPU:$FF7C PRG:7F7C 01 50 00 C8 01 48 00 D0 00 B8 00 D0 00 B0 00 C8 + .byte $00, $B0, $00, $B8, $00, $B8, $00, $B0, $01, $48, $00, $B0, $01, $50, $00, $B8 ; CPU:$FF8C PRG:7F8C 00 B0 00 B8 00 B8 00 B0 01 48 00 B0 01 50 00 B8 + .byte $01, $50, $01, $90, $FF, $00, $A0, $01, $A0, $00, $A0, $00, $40, $00, $C0, $01 ; CPU:$FF9C PRG:7F9C 01 50 01 90 FF 00 A0 01 A0 00 A0 00 40 00 C0 01 + .byte $A0, $00, $C0, $00, $40, $00, $E0, $01, $A0, $00, $E0, $00, $40, $01, $00, $01 ; CPU:$FFAC PRG:7FAC A0 00 C0 00 40 00 E0 01 A0 00 E0 00 40 01 00 01 + .byte $A0, $01, $00, $00, $40, $01, $20, $01, $A0, $01, $20, $00, $40, $01, $40, $01 ; CPU:$FFBC PRG:7FBC A0 01 00 00 40 01 20 01 A0 01 20 00 40 01 40 01 + .byte $A0, $01, $40, $00, $40, $01, $60, $01, $A0, $01, $60, $00, $40, $01, $00, $01 ; CPU:$FFCC PRG:7FCC A0 01 40 00 40 01 60 01 A0 01 60 00 40 01 00 01 + .byte $A0, $01, $00, $00, $90, $00, $A0, $00, $B0, $01, $50, $00, $98, $00, $A0, $00 ; CPU:$FFDC PRG:7FDC A0 01 00 00 90 00 A0 00 B0 01 50 00 98 00 A0 00 + .byte $B0, $01, $50, $00, $A8, $01, $00, $00, $90, $01, $00, $00, $40, $FF, $30, $C0 ; CPU:$FFEC PRG:7FEC B0 01 50 00 A8 01 00 00 90 01 00 00 40 FF 30 C0 + .byte $90, $BF, $90, $BF ; CPU:$FFFC PRG:7FFC 90 BF 90 BF diff --git a/NROM/Elevator Action (U)/README.md b/NROM/Elevator Action (U)/README.md index 717ae2b..6d9ee59 100644 --- a/NROM/Elevator Action (U)/README.md +++ b/NROM/Elevator Action (U)/README.md @@ -2,66 +2,83 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 19,446 / 32,768 bytes (59.3%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $8081 | | RESET vector | $8000 | | IRQ vector | $8000 | -| ROM file | `Elevator Action (U).nes` | -| SHA-256 | `b72c924bcaed17a7846695e8639e6621562e2668ee344e90edb853c50a2b576c` | -### Header notes +## Power-on flow -- none +RESET enters at `$8000`: -## Open work + sei ; CPU:$8000 PRG:0000 78 + cld ; CPU:$8001 PRG:0001 D8 + ldx #$FF ; CPU:$8002 PRG:0002 A2 FF + txs ; CPU:$8004 PRG:0004 9A + lda #$10 ; CPU:$8005 PRG:0005 A9 10 + sta PPUCTRL ; CPU:$8007 PRG:0007 8D 00 20 + lda PPUSTATUS ; CPU:$800A PRG:000A AD 02 20 + bpl Reset_OnNonnegative ; CPU:$800D PRG:000D 10 FB + lda #$FF ; CPU:$800F PRG:000F A9 FF + ldy #$24 ; CPU:$8011 PRG:0011 A0 24 + sta $0200,y ; CPU:$8013 PRG:0013 99 00 02 + dey ; CPU:$8016 PRG:0016 88 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$8081`: -## Files + sta NmiSaveA ; CPU:$8081 PRG:0081 85 9A + stx NmiSaveX ; CPU:$8083 PRG:0083 86 9B + sty NmiSaveY ; CPU:$8085 PRG:0085 84 9C + lda ZpFA ; CPU:$8087 PRG:0087 A5 FA + beq NmiHandler_Loop ; CPU:$8089 PRG:0089 F0 03 + jmp Sub_81D6 ; CPU:$808B PRG:008B 4C D6 81 + lda PpuCtrlShadow ; CPU:$808E PRG:008E A5 88 + and #$7F ; CPU:$8090 PRG:0090 29 7F -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$83CB-$844E` (132 bytes) - `EnemySpawnOffsetTable` +- `$8628-$973D` (4374 bytes) - `EnemyHandlerPointerTable` +- `$9CA1-$9D61` (193 bytes) - `EnemyAttributeMaskTable` +- `$A240-$A24F` (16 bytes) - `EnemySpriteXPositionTable` +- `$A281-$A284` (4 bytes) - `LevelDataPointerTable` +- `$A348-$A3E2` (155 bytes) - `EnemyMoveCodeTable` +- `$A3F9-$A46E` (118 bytes) - `EnemySpawnScriptTable` +- `$AA9B-$B50C` (2674 bytes) - `LevelTilemapData` +- `$B525-$B58C` (104 bytes) - `EnemySpritePatternTable` +- `$B599-$BB2A` (1426 bytes) - `EnemyTileGraphicData` +- `$BDB5-$BDC9` (21 bytes) - `EnemyScriptPointerTable` +- `$BE15-$BE1D` (9 bytes) - `EnemyScriptEntryTable` +- `$C2F1-$C320` (48 bytes) - `SpriteOamAttributeTable` +- `$C487-$C837` (945 bytes) - `SpriteOamEntryTable` +- `$D0DE-$D0ED` (16 bytes) - `EnemySpeedTable` +- `$D187-$D2B5` (303 bytes) - `LevelObjectPointerTable` +- `$D586-$D599` (20 bytes) - `EnemySpawnRecordTable` +- `$D6B4-$D73D` (138 bytes) - `EnemyPaletteRecordTable` +- `$E61D-$E79D` (385 bytes) - `EnemyMovementDeltaTable` +- `$F0E1-$F0E6` (6 bytes) - `EnemyFallingSpeedTable` +- `$F1E3-$F4DA` (760 bytes) - `LevelSceneryTileData` +- `$F6FC-$F703` (8 bytes) - `PpuBitMaskTable` +- `$F956-$F975` (32 bytes) - `LevelHandlerPointerTable` +- `$F9BB-$F9C2` (8 bytes) - `PpuInverseBitMaskTable` +- `$FA73-$FFFF` (1421 bytes) - `LevelSceneryLayoutData` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Elevator Action (U)/labelmap.tsv b/NROM/Elevator Action (U)/labelmap.tsv index 520df32..02d6c6d 100644 --- a/NROM/Elevator Action (U)/labelmap.tsv +++ b/NROM/Elevator Action (U)/labelmap.tsv @@ -72,121 +72,124 @@ 85BD NmiHandler_Loop27 85D5 NmiHandler_Loop28 85E9 NmiHandler_Loop29 +8601 NmiHandler_Loop30 8602 Sub_8602 -8608 NmiHandler_Loop30 +8608 NmiHandler_Loop31 8609 Sub_8609 -860F NmiHandler_Loop31 +860F NmiHandler_Loop32 8610 Sub_8610 -8615 NmiHandler_Loop32 +8615 NmiHandler_Loop33 +861D NmiHandler_Loop34 +8625 NmiHandler_Loop35 973E Sub_973E 975F NmiHandler_OnNonzero9 9777 Sub_9777 9786 Sub_9786 978A NmiHandler_OnNonzero10 -97DB NmiHandler_Loop33 -97F3 NmiHandler_Loop34 +97DB NmiHandler_Loop36 +97F3 NmiHandler_Loop37 97FE Sub_97FE 9805 Sub_9805 981B NmiHandler_OnNonzero11 -983F NmiHandler_Loop35 -9846 NmiHandler_Loop36 +983F NmiHandler_Loop38 +9846 NmiHandler_Loop39 9848 Sub_9848 -9860 NmiHandler_Loop37 -9870 NmiHandler_Loop38 +9860 NmiHandler_Loop40 +9870 NmiHandler_Loop41 987A NmiHandler_OnCarryClear -987C NmiHandler_Loop39 -9888 NmiHandler_Loop40 +987C NmiHandler_Loop42 +9888 NmiHandler_Loop43 9891 Sub_9891 9894 Sub_9894 -98BB NmiHandler_Loop41 -98D3 NmiHandler_Loop42 -98E5 NmiHandler_Loop43 -98F6 NmiHandler_Loop44 -98FA NmiHandler_Loop45 -98FE NmiHandler_Loop46 +98BB NmiHandler_Loop44 +98D3 NmiHandler_Loop45 +98E5 NmiHandler_Loop46 +98F6 NmiHandler_Loop47 +98FA NmiHandler_Loop48 +98FE NmiHandler_Loop49 9902 Sub_9902 9906 Sub_9906 992F NmiHandler_OnNonzero12 -9931 NmiHandler_Loop47 +9931 NmiHandler_Loop50 9932 NmiHandler_OnZero -9935 NmiHandler_Loop48 +9935 NmiHandler_Loop51 9956 Sub_9956 996F NmiHandler_OnCarrySet -997A NmiHandler_Loop49 -9984 NmiHandler_Loop50 -998C NmiHandler_Loop51 -99A0 NmiHandler_Loop52 -99B1 NmiHandler_Loop53 -99B4 NmiHandler_Loop54 +997A NmiHandler_Loop52 +9984 NmiHandler_Loop53 +998C NmiHandler_Loop54 +99A0 NmiHandler_Loop55 +99B1 NmiHandler_Loop56 +99B4 NmiHandler_Loop57 99B7 NmiHandler_OnCarryClear2 -99BA NmiHandler_Loop55 +99BA NmiHandler_Loop58 99BD Sub_99BD -99DF NmiHandler_Loop56 +99DF NmiHandler_Loop59 99E7 Sub_99E7 99F7 Sub_99F7 9A08 Sub_9A08 9A0B Sub_9A0B 9A3B Sub_9A3B -9A4C NmiHandler_Loop57 +9A4C NmiHandler_Loop60 9A66 Sub_9A66 9A84 NmiHandler_OnCarrySet2 -9A86 NmiHandler_Loop58 -9A8A NmiHandler_Loop59 +9A86 NmiHandler_Loop61 +9A8A NmiHandler_Loop62 9AA6 Sub_9AA6 -9AC4 NmiHandler_Loop60 -9AC6 NmiHandler_Loop61 +9AC4 NmiHandler_Loop63 +9AC6 NmiHandler_Loop64 9AC9 Sub_9AC9 -9AE9 NmiHandler_Loop62 -9AF3 NmiHandler_Loop63 -9B01 NmiHandler_Loop64 +9AE9 NmiHandler_Loop65 +9AF3 NmiHandler_Loop66 +9B01 NmiHandler_Loop67 9B03 Sub_9B03 9B11 Sub_9B11 9B18 Sub_9B18 9B1F Sub_9B1F 9B24 Sub_9B24 -9B41 NmiHandler_Loop65 -9B4D NmiHandler_Loop66 -9B63 NmiHandler_Loop67 -9B6D NmiHandler_Loop68 -9B6F NmiHandler_Loop69 -9B78 NmiHandler_Loop70 +9B41 NmiHandler_Loop68 +9B4D NmiHandler_Loop69 +9B63 NmiHandler_Loop70 +9B6D NmiHandler_Loop71 +9B6F NmiHandler_Loop72 +9B78 NmiHandler_Loop73 9B81 Sub_9B81 -9BB9 NmiHandler_Loop71 +9BB9 NmiHandler_Loop74 9BBB Sub_9BBB 9BC2 NmiHandler_OnNonzero13 -9BC5 NmiHandler_Loop72 -9BD6 NmiHandler_Loop73 -9BFD NmiHandler_Loop74 -9C03 NmiHandler_Loop75 -9C0B NmiHandler_Loop76 -9C29 NmiHandler_Loop77 -9C42 NmiHandler_Loop78 -9C44 NmiHandler_Loop79 +9BC5 NmiHandler_Loop75 +9BD6 NmiHandler_Loop76 +9BFD NmiHandler_Loop77 +9C03 NmiHandler_Loop78 +9C0B NmiHandler_Loop79 +9C29 NmiHandler_Loop80 +9C42 NmiHandler_Loop81 +9C44 NmiHandler_Loop82 9C53 Sub_9C53 9C69 Sub_9C69 9C6E Sub_9C6E 9C73 Sub_9C73 9C7D Sub_9C7D 9C83 Sub_9C83 -9C8E NmiHandler_Loop80 -9C9A NmiHandler_Loop81 -9C9B NmiHandler_Loop82 +9C8E NmiHandler_Loop83 +9C9A NmiHandler_Loop84 +9C9B NmiHandler_Loop85 9D62 Sub_9D62 9D6E NmiHandler_OnNonzero14 9D82 Sub_9D82 9D8D NmiHandler_OnNonzero15 -9D9B NmiHandler_Loop83 +9D9B NmiHandler_Loop86 9DC7 NmiHandler_OnNonzero16 9DCD NmiHandler_OnNonzero17 -9DD9 NmiHandler_Loop84 -9DE7 NmiHandler_Loop85 -9DFF NmiHandler_Loop86 +9DD9 NmiHandler_Loop87 +9DE7 NmiHandler_Loop88 +9DFF NmiHandler_Loop89 9E03 Sub_9E03 -9E0C NmiHandler_Loop87 -9E17 NmiHandler_Loop88 +9E0C NmiHandler_Loop90 +9E17 NmiHandler_Loop91 9E1D Sub_9E1D 9E41 NmiHandler_OnZero2 -9E5A NmiHandler_Loop89 +9E5A NmiHandler_Loop92 9E65 NmiHandler_OnNonzero18 9E73 NmiHandler_OnNonnegative4 9E7E Sub_9E7E @@ -194,16 +197,16 @@ 9EB0 Sub_9EB0 9EC4 NmiHandler_OnNonzero19 9ECE Sub_9ECE -9ED5 NmiHandler_Loop90 -9EE2 NmiHandler_Loop91 -9EEE NmiHandler_Loop92 -9EF7 NmiHandler_Loop93 -9F00 NmiHandler_Loop94 -9F09 NmiHandler_Loop95 -9F12 NmiHandler_Loop96 +9ED5 NmiHandler_Loop93 +9EE2 NmiHandler_Loop94 +9EEE NmiHandler_Loop95 +9EF7 NmiHandler_Loop96 +9F00 NmiHandler_Loop97 +9F09 NmiHandler_Loop98 +9F12 NmiHandler_Loop99 9F15 Sub_9F15 9F17 NmiHandler_OnNonzero20 -9F22 NmiHandler_Loop97 +9F22 NmiHandler_Loop100 9F27 Sub_9F27 9FB3 Sub_9FB3 9FC4 Sub_9FC4 @@ -217,24 +220,30 @@ A04D Sub_A04D A05E Sub_A05E A06F Sub_A06F A07D Sub_A07D -A0F5 NmiHandler_OnCarryClear3 -A0FF NmiHandler_OnCarrySet3 -A123 NmiHandler_OnCarryClear4 -A12D NmiHandler_OnNegative -A135 NmiHandler_OnNonnegative5 -A13D NmiHandler_OnCarryClear5 -A15F NmiHandler_OnCarryClear6 -A169 NmiHandler_OnCarrySet4 -A18D NmiHandler_OnCarryClear7 -A197 NmiHandler_OnNegative2 -A19F NmiHandler_OnNonnegative6 -A1A7 NmiHandler_OnCarryClear8 -A1C9 NmiHandler_OnCarryClear9 -A1D3 NmiHandler_OnCarrySet5 -A1F7 NmiHandler_OnCarryClear10 -A201 NmiHandler_OnNegative3 -A209 NmiHandler_OnNonnegative7 -A211 NmiHandler_OnCarryClear11 +A08B NmiHandler_OnCarryClear3 +A095 NmiHandler_OnCarrySet3 +A0B9 NmiHandler_OnCarryClear4 +A0C3 NmiHandler_OnNegative +A0CB NmiHandler_OnNonnegative5 +A0D3 NmiHandler_OnCarryClear5 +A0F5 NmiHandler_OnCarryClear6 +A0FF NmiHandler_OnCarrySet4 +A123 NmiHandler_OnCarryClear7 +A12D NmiHandler_OnNegative2 +A135 NmiHandler_OnNonnegative6 +A13D NmiHandler_OnCarryClear8 +A15F NmiHandler_OnCarryClear9 +A169 NmiHandler_OnCarrySet5 +A18D NmiHandler_OnCarryClear10 +A197 NmiHandler_OnNegative3 +A19F NmiHandler_OnNonnegative7 +A1A7 NmiHandler_OnCarryClear11 +A1C9 NmiHandler_OnCarryClear12 +A1D3 NmiHandler_OnCarrySet6 +A1F7 NmiHandler_OnCarryClear13 +A201 NmiHandler_OnNegative4 +A209 NmiHandler_OnNonnegative8 +A211 NmiHandler_OnCarryClear14 A228 Sub_A228 A250 Sub_A250 A25A Sub_A25A @@ -243,59 +252,59 @@ A26E Sub_A26E A285 Sub_A285 A286 Sub_A286 A29F NmiHandler_OnNonzero21 -A2F8 NmiHandler_Loop98 +A2F8 NmiHandler_Loop101 A30F Sub_A30F A3E3 Sub_A3E3 A3EA NmiHandler_OnNonzero22 A46F Sub_A46F A477 Sub_A477 -A47F NmiHandler_Loop99 +A47F NmiHandler_Loop102 A484 NmiHandler_OnNonzero23 -A487 NmiHandler_Loop100 -A496 NmiHandler_Loop101 -A4A5 NmiHandler_Loop102 -A4C4 NmiHandler_Loop103 -A4D1 NmiHandler_Loop104 -A513 NmiHandler_Loop105 +A487 NmiHandler_Loop103 +A496 NmiHandler_Loop104 +A4A5 NmiHandler_Loop105 +A4C4 NmiHandler_Loop106 +A4D1 NmiHandler_Loop107 +A513 NmiHandler_Loop108 A516 Sub_A516 A51D Sub_A51D -A52A NmiHandler_Loop106 -A53B NmiHandler_Loop107 -A549 NmiHandler_Loop108 -A561 NmiHandler_Loop109 +A52A NmiHandler_Loop109 +A53B NmiHandler_Loop110 +A549 NmiHandler_Loop111 +A561 NmiHandler_Loop112 A5A3 NmiHandler_OnZero3 A5A9 Sub_A5A9 -A5C3 NmiHandler_Loop110 -A5E1 NmiHandler_Loop111 -A5E9 NmiHandler_Loop112 +A5C3 NmiHandler_Loop113 +A5E1 NmiHandler_Loop114 +A5E9 NmiHandler_Loop115 A5EF Sub_A5EF A617 Sub_A617 -A62F NmiHandler_Loop113 +A62F NmiHandler_Loop116 A63F Sub_A63F -A650 NmiHandler_Loop114 -A678 NmiHandler_Loop115 +A650 NmiHandler_Loop117 +A678 NmiHandler_Loop118 A682 NmiHandler_OnNonzero24 -A684 NmiHandler_Loop116 -A690 NmiHandler_Loop117 -A6B8 NmiHandler_Loop118 +A684 NmiHandler_Loop119 +A690 NmiHandler_Loop120 +A6B8 NmiHandler_Loop121 A6CD NmiHandler_OnNonzero25 A6CF Sub_A6CF A6EF Sub_A6EF A70E NmiHandler_OnNonzero26 -A70F NmiHandler_Loop119 +A70F NmiHandler_Loop122 A722 Sub_A722 A73B NmiHandler_OnNonzero27 -A73C NmiHandler_Loop120 +A73C NmiHandler_Loop123 A749 Sub_A749 A761 Sub_A761 A779 Sub_A779 A791 Sub_A791 A7A9 Sub_A7A9 A7C2 NmiHandler_OnNonzero28 -A7C3 NmiHandler_Loop121 +A7C3 NmiHandler_Loop124 A7D0 Sub_A7D0 A7EF NmiHandler_OnNonzero29 -A7F0 NmiHandler_Loop122 +A7F0 NmiHandler_Loop125 A803 Sub_A803 A81B Sub_A81B A833 Sub_A833 @@ -303,47 +312,47 @@ A84B Sub_A84B A863 Sub_A863 A8B8 Sub_A8B8 A8EC Sub_A8EC -A8F9 NmiHandler_Loop123 +A8F9 NmiHandler_Loop126 A947 NmiHandler_OnNonzero30 -A968 NmiHandler_Loop124 -A98C NmiHandler_Loop125 +A968 NmiHandler_Loop127 +A98C NmiHandler_Loop128 A9A1 Sub_A9A1 A9DD NmiHandler_OnNonzero31 -A9FE NmiHandler_Loop126 -AA24 NmiHandler_Loop127 +A9FE NmiHandler_Loop129 +AA24 NmiHandler_Loop130 AA2F Sub_AA2F AA73 Sub_AA73 -BB4C NmiHandler_Loop128 -BB65 NmiHandler_Loop129 +BB4C NmiHandler_Loop131 +BB65 NmiHandler_Loop132 BB77 NmiHandler_OnNonzero32 -BBA1 NmiHandler_Loop130 -BBB6 NmiHandler_Loop131 -BBBE NmiHandler_Loop132 +BBA1 NmiHandler_Loop133 +BBB6 NmiHandler_Loop134 +BBBE NmiHandler_Loop135 BC02 Sub_BC02 -BC45 NmiHandler_Loop133 +BC45 NmiHandler_Loop136 BC50 Sub_BC50 -BC70 NmiHandler_Loop134 +BC70 NmiHandler_Loop137 BC7B Sub_BC7B -BC9B NmiHandler_Loop135 +BC9B NmiHandler_Loop138 BCAB Sub_BCAB BCAF NmiHandler_OnNonzero33 BCB6 Sub_BCB6 BCE4 NmiHandler_OnNonzero34 BCFD Sub_BCFD BD15 NmiHandler_OnNonzero35 -BD20 NmiHandler_Loop136 +BD20 NmiHandler_Loop139 BD24 NmiHandler_OnNonzero36 -BD2B NmiHandler_Loop137 -BD2F NmiHandler_OnNonnegative8 +BD2B NmiHandler_Loop140 +BD2F NmiHandler_OnNonnegative9 BD36 Sub_BD36 BD3F NmiHandler_OnNonzero37 -BD45 NmiHandler_Loop138 +BD45 NmiHandler_Loop141 BD46 Sub_BD46 BD48 NmiHandler_OnNonzero38 BD58 Sub_BD58 BD77 Sub_BD77 -BD88 NmiHandler_Loop139 -BD90 NmiHandler_Loop140 +BD88 NmiHandler_Loop142 +BD90 NmiHandler_Loop143 BDCA Sub_BDCA BDE5 NmiHandler_OnNonzero39 BDE6 Sub_BDE6 @@ -354,50 +363,50 @@ BE3A Sub_BE3A BE3C NmiHandler_OnNonzero42 BE47 NmiHandler_OnNonzero43 BE56 Sub_BE56 -BEB7 NmiHandler_Loop141 -BEBB NmiHandler_OnNonnegative9 -BEC5 NmiHandler_Loop142 -BED4 NmiHandler_Loop143 -BEE7 NmiHandler_Loop144 -BEF2 NmiHandler_Loop145 -BF19 NmiHandler_OnCarryClear12 -BF3D NmiHandler_OnCarryClear13 +BEB7 NmiHandler_Loop144 +BEBB NmiHandler_OnNonnegative10 +BEC5 NmiHandler_Loop145 +BED4 NmiHandler_Loop146 +BEE7 NmiHandler_Loop147 +BEF2 NmiHandler_Loop148 +BF19 NmiHandler_OnCarryClear15 +BF3D NmiHandler_OnCarryClear16 BF54 NmiHandler_OnZero4 -BF6A NmiHandler_OnCarryClear14 +BF6A NmiHandler_OnCarryClear17 BF76 NmiHandler_OnNonzero44 BF86 NmiHandler_OnNonzero45 BF91 Sub_BF91 BFA7 NmiHandler_OnNonzero46 BFD2 Sub_BFD2 -BFE6 NmiHandler_Loop146 -BFF0 NmiHandler_Loop147 -BFFA NmiHandler_Loop148 +BFE6 NmiHandler_Loop149 +BFF0 NmiHandler_Loop150 +BFFA NmiHandler_Loop151 BFFC Sub_BFFC -C007 NmiHandler_Loop149 -C035 NmiHandler_Loop150 -C047 NmiHandler_Loop151 -C057 NmiHandler_Loop152 -C067 NmiHandler_Loop153 -C07B NmiHandler_Loop154 -C093 NmiHandler_OnCarryClear15 -C0BE NmiHandler_Loop155 -C0DF NmiHandler_OnNonnegative10 -C0F9 NmiHandler_Loop156 +C007 NmiHandler_Loop152 +C035 NmiHandler_Loop153 +C047 NmiHandler_Loop154 +C057 NmiHandler_Loop155 +C067 NmiHandler_Loop156 +C07B NmiHandler_Loop157 +C093 NmiHandler_OnCarryClear18 +C0BE NmiHandler_Loop158 +C0DF NmiHandler_OnNonnegative11 +C0F9 NmiHandler_Loop159 C10A Sub_C10A -C10C NmiHandler_OnNonnegative11 +C10C NmiHandler_OnNonnegative12 C118 Sub_C118 C11A NmiHandler_OnNonzero47 C125 Sub_C125 -C13A NmiHandler_Loop157 -C144 NmiHandler_Loop158 +C13A NmiHandler_Loop160 +C144 NmiHandler_Loop161 C14E Sub_C14E -C159 NmiHandler_Loop159 -C15A NmiHandler_Loop160 +C159 NmiHandler_Loop162 +C15A NmiHandler_Loop163 C15C NmiHandler_OnNonzero48 C169 NmiHandler_OnNonzero49 C173 NmiHandler_OnNonzero50 C182 NmiHandler_OnZero5 -C189 NmiHandler_OnNonnegative12 +C189 NmiHandler_OnNonnegative13 C1A3 NmiHandler_OnNonzero51 C1B1 NmiHandler_OnZero6 C1BA NmiHandler_OnNonzero52 @@ -405,797 +414,810 @@ C1C5 NmiHandler_OnNonzero53 C1D4 NmiHandler_OnNonzero54 C1D5 Sub_C1D5 C1DB Sub_C1DB -C1F1 NmiHandler_Loop161 -C200 NmiHandler_Loop162 -C20F NmiHandler_Loop163 -C21E NmiHandler_Loop164 -C22D NmiHandler_Loop165 -C235 NmiHandler_OnNonnegative13 -C23F NmiHandler_Loop166 -C251 NmiHandler_Loop167 +C1F1 NmiHandler_Loop164 +C200 NmiHandler_Loop165 +C20F NmiHandler_Loop166 +C21E NmiHandler_Loop167 +C22D NmiHandler_Loop168 +C235 NmiHandler_OnNonnegative14 +C23F NmiHandler_Loop169 +C251 NmiHandler_Loop170 C253 NmiHandler_OnNonzero55 -C262 NmiHandler_OnNegative4 -C267 NmiHandler_Loop168 +C262 NmiHandler_OnNegative5 +C267 NmiHandler_Loop171 C269 NmiHandler_OnNonzero56 -C27B NmiHandler_OnNonnegative14 -C286 NmiHandler_Loop169 -C288 NmiHandler_OnNonnegative15 +C27B NmiHandler_OnNonnegative15 +C286 NmiHandler_Loop172 +C288 NmiHandler_OnNonnegative16 C293 Sub_C293 -C2B3 NmiHandler_Loop170 +C2B3 NmiHandler_Loop173 C2C3 NmiHandler_OnNonzero57 C2D4 NmiHandler_OnNonzero58 C2E2 NmiHandler_OnNonzero59 C2F0 NmiHandler_OnZero7 C321 Sub_C321 C32A NmiHandler_OnNonzero60 -C339 NmiHandler_Loop171 +C339 NmiHandler_Loop174 C3A7 NmiHandler_OnNonzero61 -C3BF NmiHandler_Loop172 +C3BF NmiHandler_Loop175 C3CC NmiHandler_OnNonzero62 -C3E4 NmiHandler_Loop173 +C3E4 NmiHandler_Loop176 C3F1 NmiHandler_OnNonzero63 -C409 NmiHandler_Loop174 +C409 NmiHandler_Loop177 C450 Sub_C450 C474 Sub_C474 -C83E NmiHandler_OnNonnegative16 +C83E NmiHandler_OnNonnegative17 C866 Sub_C866 -C871 NmiHandler_Loop175 +C871 NmiHandler_Loop178 C87B NmiHandler_OnNonzero64 -C886 NmiHandler_Loop176 +C886 NmiHandler_Loop179 C88D NmiHandler_OnNonzero65 -C8A6 NmiHandler_Loop177 -C8A8 NmiHandler_Loop178 -C8B8 NmiHandler_Loop179 -C8BE NmiHandler_Loop180 -C8C7 NmiHandler_Loop181 +C8A6 NmiHandler_Loop180 +C8A8 NmiHandler_Loop181 +C8B8 NmiHandler_Loop182 +C8BE NmiHandler_Loop183 +C8C7 NmiHandler_Loop184 C8CD Sub_C8CD C8D4 NmiHandler_OnNonzero66 C91A Sub_C91A C91C Sub_C91C -C924 NmiHandler_Loop182 -C92C NmiHandler_Loop183 -C944 NmiHandler_Loop184 -C94C NmiHandler_Loop185 -C94F NmiHandler_Loop186 -C97E NmiHandler_Loop187 -C9A4 NmiHandler_Loop188 +C924 NmiHandler_Loop185 +C92C NmiHandler_Loop186 +C944 NmiHandler_Loop187 +C94C NmiHandler_Loop188 +C94F NmiHandler_Loop189 +C97E NmiHandler_Loop190 +C9A4 NmiHandler_Loop191 C9B5 Sub_C9B5 -C9D0 NmiHandler_Loop189 -C9DA NmiHandler_Loop190 -C9E2 NmiHandler_Loop191 -C9EA NmiHandler_Loop192 -C9F5 NmiHandler_Loop193 +C9D0 NmiHandler_Loop192 +C9DA NmiHandler_Loop193 +C9E2 NmiHandler_Loop194 +C9EA NmiHandler_Loop195 +C9F5 NmiHandler_Loop196 C9F8 Sub_C9F8 -CA12 NmiHandler_Loop194 -CA16 NmiHandler_Loop195 -CA27 NmiHandler_Loop196 +CA12 NmiHandler_Loop197 +CA16 NmiHandler_Loop198 +CA27 NmiHandler_Loop199 CA29 Sub_CA29 -CA36 NmiHandler_Loop197 -CA3F NmiHandler_Loop198 +CA36 NmiHandler_Loop200 +CA3F NmiHandler_Loop201 CA41 Sub_CA41 -CA59 NmiHandler_Loop199 -CA5E NmiHandler_Loop200 -CA73 NmiHandler_Loop201 -CA7F NmiHandler_Loop202 -CA8E NmiHandler_Loop203 -CA99 NmiHandler_Loop204 -CAAD NmiHandler_Loop205 -CABF NmiHandler_Loop206 -CAC2 NmiHandler_Loop207 +CA59 NmiHandler_Loop202 +CA5E NmiHandler_Loop203 +CA73 NmiHandler_Loop204 +CA7F NmiHandler_Loop205 +CA8E NmiHandler_Loop206 +CA99 NmiHandler_Loop207 +CAAD NmiHandler_Loop208 +CABF NmiHandler_Loop209 +CAC2 NmiHandler_Loop210 CAC8 Sub_CAC8 -CAD0 NmiHandler_Loop208 -CAEC NmiHandler_Loop209 +CAD0 NmiHandler_Loop211 +CAEC NmiHandler_Loop212 CAF1 Sub_CAF1 -CAFE NmiHandler_Loop210 -CB0B NmiHandler_Loop211 -CB1D NmiHandler_Loop212 -CB33 NmiHandler_Loop213 -CB44 NmiHandler_Loop214 -CB50 NmiHandler_Loop215 -CB67 NmiHandler_Loop216 +CAFE NmiHandler_Loop213 +CB0B NmiHandler_Loop214 +CB1D NmiHandler_Loop215 +CB33 NmiHandler_Loop216 +CB44 NmiHandler_Loop217 +CB50 NmiHandler_Loop218 +CB67 NmiHandler_Loop219 CB72 Sub_CB72 -CB7A NmiHandler_Loop217 -CBA3 NmiHandler_Loop218 -CBFB NmiHandler_Loop219 -CC10 NmiHandler_Loop220 -CC18 NmiHandler_Loop221 +CB7A NmiHandler_Loop220 +CBA3 NmiHandler_Loop221 +CBFB NmiHandler_Loop222 +CC10 NmiHandler_Loop223 +CC18 NmiHandler_Loop224 CC21 Sub_CC21 -CC3A NmiHandler_Loop222 -CC41 NmiHandler_Loop223 -CC55 NmiHandler_Loop224 -CC61 NmiHandler_Loop225 -CC81 NmiHandler_Loop226 -CC8C NmiHandler_Loop227 -CCB5 NmiHandler_Loop228 -CCE1 NmiHandler_Loop229 -CCF6 NmiHandler_Loop230 -CD03 NmiHandler_Loop231 +CC3A NmiHandler_Loop225 +CC41 NmiHandler_Loop226 +CC55 NmiHandler_Loop227 +CC61 NmiHandler_Loop228 +CC81 NmiHandler_Loop229 +CC8C NmiHandler_Loop230 +CCB5 NmiHandler_Loop231 +CCE1 NmiHandler_Loop232 +CCF6 NmiHandler_Loop233 +CD03 NmiHandler_Loop234 CD26 Sub_CD26 CD2D NmiHandler_OnNonzero67 CD33 NmiHandler_OnZero8 -CD38 NmiHandler_Loop232 -CD39 NmiHandler_Loop233 -CD54 NmiHandler_Loop234 +CD38 NmiHandler_Loop235 +CD39 NmiHandler_Loop236 +CD54 NmiHandler_Loop237 CD66 NmiHandler_OnZero9 -CD81 NmiHandler_Loop235 -CD84 NmiHandler_Loop236 +CD81 NmiHandler_Loop238 +CD84 NmiHandler_Loop239 CDAB Sub_CDAB -CDC2 NmiHandler_Loop237 +CDC2 NmiHandler_Loop240 +CDF6 NmiHandler_OnZero10 +CDFE NmiHandler_OnNonzero68 +CE19 NmiHandler_Loop241 +CE39 NmiHandler_Loop242 CE64 Sub_CE64 -CE82 NmiHandler_Loop238 -CE89 NmiHandler_Loop239 -CE90 NmiHandler_Loop240 -CEA6 NmiHandler_Loop241 -CEA9 NmiHandler_Loop242 +CE82 NmiHandler_Loop243 +CE89 NmiHandler_Loop244 +CE90 NmiHandler_Loop245 +CEA6 NmiHandler_Loop246 +CEA9 NmiHandler_Loop247 CEE0 Sub_CEE0 -CF0A NmiHandler_Loop243 -CF17 NmiHandler_Loop244 -CF1C NmiHandler_Loop245 +CF0A NmiHandler_Loop248 +CF17 NmiHandler_Loop249 +CF1C NmiHandler_Loop250 CF1E Sub_CF1E -CF3E NmiHandler_Loop246 +CF3E NmiHandler_Loop251 CF41 Sub_CF41 CF4C Sub_CF4C -CF61 NmiHandler_Loop247 +CF61 NmiHandler_Loop252 CF7B Sub_CF7B -CF8A NmiHandler_Loop248 -CF8B NmiHandler_Loop249 -CFB3 NmiHandler_Loop250 -CFCD NmiHandler_Loop251 -CFE7 NmiHandler_OnCarryClear16 +CF8A NmiHandler_Loop253 +CF8B NmiHandler_Loop254 +CFB3 NmiHandler_Loop255 +CFCD NmiHandler_Loop256 +CFE7 NmiHandler_OnCarryClear19 CFEE Sub_CFEE -CFF8 NmiHandler_OnNonzero68 +CFF8 NmiHandler_OnNonzero69 D02A Sub_D02A -D033 NmiHandler_OnCarryClear17 -D034 NmiHandler_Loop252 -D051 NmiHandler_Loop253 -D06E NmiHandler_Loop254 +D033 NmiHandler_OnCarryClear20 +D034 NmiHandler_Loop257 +D051 NmiHandler_Loop258 +D06E NmiHandler_Loop259 +D08D Sub_D08D D09C Sub_D09C -D0A1 NmiHandler_OnNonzero69 -D0A5 NmiHandler_OnNonzero70 -D0AC NmiHandler_Loop255 +D0A1 NmiHandler_OnNonzero70 +D0A5 NmiHandler_OnNonzero71 +D0AC NmiHandler_Loop260 D0B5 Sub_D0B5 D0EE Sub_D0EE -D0FE NmiHandler_Loop256 -D10A NmiHandler_Loop257 +D0FE NmiHandler_Loop261 +D10A NmiHandler_Loop262 D10B Sub_D10B D154 Sub_D154 -D160 NmiHandler_OnNonzero71 +D160 NmiHandler_OnNonzero72 D169 Sub_D169 D16F Sub_D16F D175 Sub_D175 D17C Sub_D17C D2B6 Sub_D2B6 -D2BA NmiHandler_OnNonzero72 -D2C3 NmiHandler_OnNonzero73 -D2C8 NmiHandler_OnZero10 -D2CD NmiHandler_OnZero11 -D2DA NmiHandler_Loop258 -D2E1 NmiHandler_OnNonzero74 -D2EC NmiHandler_Loop259 -D312 NmiHandler_Loop260 +D2BA NmiHandler_OnNonzero73 +D2C3 NmiHandler_OnNonzero74 +D2C8 NmiHandler_OnZero11 +D2CD NmiHandler_OnZero12 +D2DA NmiHandler_Loop263 +D2E1 NmiHandler_OnNonzero75 +D2EC NmiHandler_Loop264 +D312 NmiHandler_Loop265 D314 Sub_D314 D31A Sub_D31A -D328 NmiHandler_Loop261 +D328 NmiHandler_Loop266 D32A Sub_D32A -D32C NmiHandler_OnNonzero75 +D32C NmiHandler_OnNonzero76 D330 Sub_D330 -D33B NmiHandler_Loop262 -D346 NmiHandler_Loop263 -D34E NmiHandler_Loop264 -D359 NmiHandler_Loop265 -D35C NmiHandler_Loop266 -D35E NmiHandler_OnNonzero76 -D363 NmiHandler_OnCarrySet6 -D36B NmiHandler_Loop267 -D38E NmiHandler_Loop268 +D33B NmiHandler_Loop267 +D346 NmiHandler_Loop268 +D34E NmiHandler_Loop269 +D359 NmiHandler_Loop270 +D35C NmiHandler_Loop271 +D35E NmiHandler_OnNonzero77 +D363 NmiHandler_OnCarrySet7 +D36B NmiHandler_Loop272 +D38E NmiHandler_Loop273 D394 Sub_D394 -D39F NmiHandler_Loop269 -D3C5 NmiHandler_Loop270 -D3C8 NmiHandler_Loop271 -D3E0 NmiHandler_Loop272 -D3E3 NmiHandler_Loop273 -D3FC NmiHandler_Loop274 -D3FF NmiHandler_Loop275 +D39F NmiHandler_Loop274 +D3C5 NmiHandler_Loop275 +D3C8 NmiHandler_Loop276 +D3E0 NmiHandler_Loop277 +D3E3 NmiHandler_Loop278 +D3FC NmiHandler_Loop279 +D3FF NmiHandler_Loop280 D425 Sub_D425 -D42A NmiHandler_Loop276 -D430 NmiHandler_Loop277 -D447 NmiHandler_Loop278 -D459 NmiHandler_Loop279 -D471 NmiHandler_Loop280 -D47A NmiHandler_Loop281 +D42A NmiHandler_Loop281 +D430 NmiHandler_Loop282 +D447 NmiHandler_Loop283 +D459 NmiHandler_Loop284 +D471 NmiHandler_Loop285 +D47A NmiHandler_Loop286 D4AC Sub_D4AC -D4AE NmiHandler_OnNonzero77 -D4B7 NmiHandler_OnZero12 -D4C2 NmiHandler_Loop282 -D4CC NmiHandler_Loop283 -D4D4 NmiHandler_Loop284 -D4DF NmiHandler_Loop285 -D4E2 NmiHandler_Loop286 -D505 NmiHandler_Loop287 +D4AE NmiHandler_OnNonzero78 +D4B7 NmiHandler_OnZero13 +D4C2 NmiHandler_Loop287 +D4CC NmiHandler_Loop288 +D4D4 NmiHandler_Loop289 +D4DF NmiHandler_Loop290 +D4E2 NmiHandler_Loop291 +D505 NmiHandler_Loop292 D50A Sub_D50A -D514 NmiHandler_Loop288 -D528 NmiHandler_Loop289 -D533 NmiHandler_Loop290 -D540 NmiHandler_Loop291 -D549 NmiHandler_Loop292 -D54E NmiHandler_Loop293 -D554 NmiHandler_Loop294 +D514 NmiHandler_Loop293 +D528 NmiHandler_Loop294 +D533 NmiHandler_Loop295 +D540 NmiHandler_Loop296 +D549 NmiHandler_Loop297 +D54E NmiHandler_Loop298 +D554 NmiHandler_Loop299 D55D Sub_D55D -D566 NmiHandler_Loop295 +D566 NmiHandler_Loop300 D568 Sub_D568 D570 Sub_D570 -D580 NmiHandler_Loop296 +D580 NmiHandler_Loop301 D582 Sub_D582 -D5C2 NmiHandler_Loop297 +D5C2 NmiHandler_Loop302 D5CA Sub_D5CA -D5F0 NmiHandler_OnCarryClear18 -D60F NmiHandler_OnNonzero78 -D617 NmiHandler_Loop298 -D61C NmiHandler_OnNonzero79 -D63C NmiHandler_Loop299 -D65A NmiHandler_Loop300 +D5F0 NmiHandler_OnCarryClear21 +D60F NmiHandler_OnNonzero79 +D617 NmiHandler_Loop303 +D61C NmiHandler_OnNonzero80 +D63C NmiHandler_Loop304 +D65A NmiHandler_Loop305 D69C Sub_D69C -D75A NmiHandler_Loop301 +D75A NmiHandler_Loop306 D75D Sub_D75D -D765 NmiHandler_Loop302 -D771 NmiHandler_OnZero13 -D77A NmiHandler_Loop303 -D782 NmiHandler_Loop304 -D78F NmiHandler_Loop305 -D79A NmiHandler_Loop306 -D7A5 NmiHandler_Loop307 -D7AF NmiHandler_Loop308 -D7C0 NmiHandler_Loop309 -D7C5 NmiHandler_Loop310 -D7D6 NmiHandler_Loop311 -D7D9 NmiHandler_Loop312 -D7DC NmiHandler_Loop313 -D7E7 NmiHandler_Loop314 -D7F5 NmiHandler_Loop315 -D7FD NmiHandler_Loop316 -D7FF NmiHandler_OnNonzero80 -D80B NmiHandler_OnNonzero81 -D816 NmiHandler_Loop317 -D824 NmiHandler_Loop318 -D82D NmiHandler_Loop319 -D83B NmiHandler_Loop320 -D863 NmiHandler_Loop321 -D86B NmiHandler_Loop322 -D873 NmiHandler_OnCarryClear19 -D87D NmiHandler_OnNonzero82 -D889 NmiHandler_Loop323 -D88E NmiHandler_Loop324 -D896 NmiHandler_Loop325 -D8A8 NmiHandler_Loop326 -D8B3 NmiHandler_Loop327 -D8C0 NmiHandler_OnCarryClear20 -D8D1 NmiHandler_Loop328 +D765 NmiHandler_Loop307 +D771 NmiHandler_OnZero14 +D77A NmiHandler_Loop308 +D782 NmiHandler_Loop309 +D78F NmiHandler_Loop310 +D79A NmiHandler_Loop311 +D7A5 NmiHandler_Loop312 +D7AF NmiHandler_Loop313 +D7C0 NmiHandler_Loop314 +D7C5 NmiHandler_Loop315 +D7D6 NmiHandler_Loop316 +D7D9 NmiHandler_Loop317 +D7DC NmiHandler_Loop318 +D7E7 NmiHandler_Loop319 +D7F5 NmiHandler_Loop320 +D7FD NmiHandler_Loop321 +D7FF NmiHandler_OnNonzero81 +D80B NmiHandler_OnNonzero82 +D816 NmiHandler_Loop322 +D824 NmiHandler_Loop323 +D82D NmiHandler_Loop324 +D83B NmiHandler_Loop325 +D863 NmiHandler_Loop326 +D86B NmiHandler_Loop327 +D873 NmiHandler_OnCarryClear22 +D87D NmiHandler_OnNonzero83 +D889 NmiHandler_Loop328 +D88E NmiHandler_Loop329 +D896 NmiHandler_Loop330 +D8A8 NmiHandler_Loop331 +D8B3 NmiHandler_Loop332 +D8C0 NmiHandler_OnCarryClear23 +D8D1 NmiHandler_Loop333 D907 Sub_D907 -D913 NmiHandler_Loop329 -D915 NmiHandler_Loop330 +D913 NmiHandler_Loop334 +D915 NmiHandler_Loop335 D920 Sub_D920 -D937 NmiHandler_Loop331 -D942 NmiHandler_Loop332 -D954 NmiHandler_Loop333 +D937 NmiHandler_Loop336 +D942 NmiHandler_Loop337 +D954 NmiHandler_Loop338 D95F Sub_D95F -D96F NmiHandler_Loop334 +D96F NmiHandler_Loop339 D97A Sub_D97A -D982 NmiHandler_Loop335 -D98D NmiHandler_Loop336 -D997 NmiHandler_Loop337 -D99E NmiHandler_Loop338 -D9A9 NmiHandler_Loop339 -D9B6 NmiHandler_Loop340 -D9B9 NmiHandler_Loop341 -D9C9 NmiHandler_Loop342 -D9DA NmiHandler_Loop343 -D9E5 NmiHandler_Loop344 -D9ED NmiHandler_Loop345 -D9F8 NmiHandler_Loop346 -DA06 NmiHandler_Loop347 -DA0E NmiHandler_Loop348 +D982 NmiHandler_Loop340 +D98D NmiHandler_Loop341 +D997 NmiHandler_Loop342 +D99E NmiHandler_Loop343 +D9A9 NmiHandler_Loop344 +D9B6 NmiHandler_Loop345 +D9B9 NmiHandler_Loop346 +D9C9 NmiHandler_Loop347 +D9DA NmiHandler_Loop348 +D9E5 NmiHandler_Loop349 +D9ED NmiHandler_Loop350 +D9F8 NmiHandler_Loop351 +DA06 NmiHandler_Loop352 +DA0E NmiHandler_Loop353 DA11 Sub_DA11 DA1A Sub_DA1A -DA22 NmiHandler_OnNonzero83 -DA31 NmiHandler_Loop349 +DA22 NmiHandler_OnNonzero84 +DA31 NmiHandler_Loop354 DA37 Sub_DA37 -DA57 NmiHandler_Loop350 -DA5C NmiHandler_Loop351 +DA57 NmiHandler_Loop355 +DA5C NmiHandler_Loop356 DA5D Sub_DA5D -DA68 NmiHandler_Loop352 -DA70 NmiHandler_Loop353 -DA8C NmiHandler_Loop354 -DA9C NmiHandler_Loop355 -DAA1 NmiHandler_Loop356 -DAB2 NmiHandler_Loop357 -DAB7 NmiHandler_Loop358 -DAC8 NmiHandler_Loop359 -DACB NmiHandler_Loop360 -DACE NmiHandler_Loop361 -DAD9 NmiHandler_Loop362 -DAE4 NmiHandler_Loop363 +DA68 NmiHandler_Loop357 +DA70 NmiHandler_Loop358 +DA8C NmiHandler_Loop359 +DA9C NmiHandler_Loop360 +DAA1 NmiHandler_Loop361 +DAB2 NmiHandler_Loop362 +DAB7 NmiHandler_Loop363 +DAC8 NmiHandler_Loop364 +DACB NmiHandler_Loop365 +DACE NmiHandler_Loop366 +DAD9 NmiHandler_Loop367 +DAE4 NmiHandler_Loop368 DAE7 Sub_DAE7 DAFA Sub_DAFA -DB02 NmiHandler_Loop364 -DB0A NmiHandler_Loop365 -DB26 NmiHandler_Loop366 -DB36 NmiHandler_Loop367 -DB3B NmiHandler_Loop368 -DB4B NmiHandler_Loop369 -DB53 NmiHandler_Loop370 -DB5E NmiHandler_Loop371 -DB6D NmiHandler_Loop372 -DB70 NmiHandler_Loop373 -DB7B NmiHandler_Loop374 -DB86 NmiHandler_Loop375 +DB02 NmiHandler_Loop369 +DB0A NmiHandler_Loop370 +DB26 NmiHandler_Loop371 +DB36 NmiHandler_Loop372 +DB3B NmiHandler_Loop373 +DB4B NmiHandler_Loop374 +DB53 NmiHandler_Loop375 +DB5E NmiHandler_Loop376 +DB6D NmiHandler_Loop377 +DB70 NmiHandler_Loop378 +DB7B NmiHandler_Loop379 +DB86 NmiHandler_Loop380 DB89 Sub_DB89 DB95 Sub_DB95 -DBAC NmiHandler_Loop376 -DBB7 NmiHandler_Loop377 -DBC9 NmiHandler_Loop378 +DBAC NmiHandler_Loop381 +DBB7 NmiHandler_Loop382 +DBC9 NmiHandler_Loop383 DBD4 Sub_DBD4 -DBE3 NmiHandler_Loop379 -DBEB NmiHandler_Loop380 +DBE3 NmiHandler_Loop384 +DBEB NmiHandler_Loop385 DBEE Sub_DBEE -DBF6 NmiHandler_OnNonzero84 +DBF6 NmiHandler_OnNonzero85 DC05 Sub_DC05 -DC1F NmiHandler_Loop381 -DC27 NmiHandler_Loop382 -DC2A NmiHandler_OnCarryClear21 -DC45 NmiHandler_Loop383 -DC49 NmiHandler_Loop384 -DC52 NmiHandler_Loop385 -DC54 NmiHandler_Loop386 +DC1F NmiHandler_Loop386 +DC27 NmiHandler_Loop387 +DC2A NmiHandler_OnCarryClear24 +DC45 NmiHandler_Loop388 +DC49 NmiHandler_Loop389 +DC52 NmiHandler_Loop390 +DC54 NmiHandler_Loop391 DC5B Sub_DC5B -DC7A NmiHandler_Loop387 -DC80 NmiHandler_Loop388 -DC8A NmiHandler_Loop389 -DC8E NmiHandler_Loop390 -DC94 NmiHandler_Loop391 -DCA6 NmiHandler_Loop392 -DCAE NmiHandler_Loop393 -DCB6 NmiHandler_OnCarryClear22 -DCC3 NmiHandler_Loop394 +DC7A NmiHandler_Loop392 +DC80 NmiHandler_Loop393 +DC8A NmiHandler_Loop394 +DC8E NmiHandler_Loop395 +DC94 NmiHandler_Loop396 +DCA6 NmiHandler_Loop397 +DCAE NmiHandler_Loop398 +DCB6 NmiHandler_OnCarryClear25 +DCC3 NmiHandler_Loop399 DCD9 Sub_DCD9 -DCE1 NmiHandler_Loop395 -DCEE NmiHandler_Loop396 -DCFE NmiHandler_Loop397 -DD06 NmiHandler_Loop398 -DD11 NmiHandler_Loop399 -DD23 NmiHandler_Loop400 -DD2C NmiHandler_Loop401 -DD37 NmiHandler_Loop402 -DD3F NmiHandler_Loop403 -DD47 NmiHandler_Loop404 +DCE1 NmiHandler_Loop400 +DCEE NmiHandler_Loop401 +DCFE NmiHandler_Loop402 +DD06 NmiHandler_Loop403 +DD11 NmiHandler_Loop404 +DD23 NmiHandler_Loop405 +DD2C NmiHandler_Loop406 +DD37 NmiHandler_Loop407 +DD3F NmiHandler_Loop408 +DD47 NmiHandler_Loop409 DD4A Sub_DD4A DD55 Sub_DD55 -DD5D NmiHandler_Loop405 -DD6A NmiHandler_Loop406 -DD77 NmiHandler_Loop407 +DD5D NmiHandler_Loop410 +DD6A NmiHandler_Loop411 +DD77 NmiHandler_Loop412 DD7D Sub_DD7D -DD88 NmiHandler_Loop408 -DD96 NmiHandler_Loop409 -DD9E NmiHandler_Loop410 -DDA9 NmiHandler_Loop411 +DD88 NmiHandler_Loop413 +DD96 NmiHandler_Loop414 +DD9E NmiHandler_Loop415 +DDA9 NmiHandler_Loop416 DDAC Sub_DDAC DDC7 Sub_DDC7 DDD0 Sub_DDD0 -DDE0 NmiHandler_Loop412 +DDE0 NmiHandler_Loop417 DDEB Sub_DDEB -DDFB NmiHandler_Loop413 +DDFB NmiHandler_Loop418 DE06 Sub_DE06 -DE24 NmiHandler_Loop414 -DE2D NmiHandler_Loop415 -DE32 NmiHandler_Loop416 -DE36 NmiHandler_Loop417 +DE24 NmiHandler_Loop419 +DE2D NmiHandler_Loop420 +DE32 NmiHandler_Loop421 +DE36 NmiHandler_Loop422 DE38 Sub_DE38 DE3B Sub_DE3B -DE47 NmiHandler_OnZero14 -DE53 NmiHandler_Loop418 -DE64 NmiHandler_Loop419 -DE70 NmiHandler_Loop420 -DE7B NmiHandler_Loop421 -DE8B NmiHandler_Loop422 +DE47 NmiHandler_OnZero15 +DE53 NmiHandler_Loop423 +DE64 NmiHandler_Loop424 +DE70 NmiHandler_Loop425 +DE7B NmiHandler_Loop426 +DE8B NmiHandler_Loop427 DE8E Sub_DE8E -DE9E NmiHandler_Loop423 -DEA9 NmiHandler_Loop424 +DE9E NmiHandler_Loop428 +DEA9 NmiHandler_Loop429 DEB4 Sub_DEB4 DEBB Sub_DEBB -DEC0 NmiHandler_OnZero15 -DECC NmiHandler_Loop425 -DEDD NmiHandler_Loop426 -DEE9 NmiHandler_Loop427 -DEF4 NmiHandler_Loop428 -DF04 NmiHandler_Loop429 +DEC0 NmiHandler_OnZero16 +DECC NmiHandler_Loop430 +DEDD NmiHandler_Loop431 +DEE9 NmiHandler_Loop432 +DEF4 NmiHandler_Loop433 +DF04 NmiHandler_Loop434 DF07 Sub_DF07 -DF17 NmiHandler_Loop430 -DF22 NmiHandler_Loop431 +DF17 NmiHandler_Loop435 +DF22 NmiHandler_Loop436 DF2D Sub_DF2D DF34 Sub_DF34 -DF3B NmiHandler_Loop432 -DF4C NmiHandler_Loop433 -DF58 NmiHandler_Loop434 -DF5B NmiHandler_Loop435 -DF66 NmiHandler_Loop436 -DF76 NmiHandler_Loop437 -DF79 NmiHandler_Loop438 +DF3B NmiHandler_Loop437 +DF4C NmiHandler_Loop438 +DF58 NmiHandler_Loop439 +DF5B NmiHandler_Loop440 +DF66 NmiHandler_Loop441 +DF76 NmiHandler_Loop442 +DF79 NmiHandler_Loop443 DF84 Sub_DF84 DF8B Sub_DF8B -DF92 NmiHandler_Loop439 -DFA3 NmiHandler_Loop440 -DFB1 NmiHandler_Loop441 -DFBC NmiHandler_Loop442 -DFCC NmiHandler_Loop443 -DFCF NmiHandler_Loop444 +DF92 NmiHandler_Loop444 +DFA3 NmiHandler_Loop445 +DFB1 NmiHandler_Loop446 +DFBC NmiHandler_Loop447 +DFCC NmiHandler_Loop448 +DFCF NmiHandler_Loop449 DFD8 Sub_DFD8 DFEC Sub_DFEC DFF1 Sub_DFF1 DFF9 Sub_DFF9 E001 Sub_E001 -E00D NmiHandler_Loop445 +E00D NmiHandler_Loop450 E025 Sub_E025 -E02D NmiHandler_Loop446 -E035 NmiHandler_Loop447 +E02D NmiHandler_Loop451 +E035 NmiHandler_Loop452 E036 Sub_E036 -E046 NmiHandler_Loop448 +E046 NmiHandler_Loop453 E051 Sub_E051 -E061 NmiHandler_Loop449 +E061 NmiHandler_Loop454 E06C Sub_E06C E072 Sub_E072 E077 Sub_E077 E07C Sub_E07C E085 Sub_E085 -E08D NmiHandler_OnCarryClear23 -E095 NmiHandler_Loop450 -E0B0 NmiHandler_Loop451 +E08D NmiHandler_OnCarryClear26 +E095 NmiHandler_Loop455 +E0B0 NmiHandler_Loop456 E0B1 Sub_E0B1 E0B5 Sub_E0B5 E0B9 Sub_E0B9 -E0BB NmiHandler_Loop452 -E0F0 NmiHandler_Loop453 +E0BB NmiHandler_Loop457 +E0F0 NmiHandler_Loop458 E0F5 Sub_E0F5 E0FD Sub_E0FD -E11B NmiHandler_Loop454 +E11B NmiHandler_Loop459 E123 Sub_E123 -E12B NmiHandler_OnNonzero85 +E12B NmiHandler_OnNonzero86 E139 Sub_E139 -E14C NmiHandler_OnCarryClear24 -E156 NmiHandler_Loop455 -E158 NmiHandler_Loop456 -E166 NmiHandler_Loop457 -E168 NmiHandler_Loop458 -E16D NmiHandler_Loop459 +E14C NmiHandler_OnCarryClear27 +E156 NmiHandler_Loop460 +E158 NmiHandler_Loop461 +E166 NmiHandler_Loop462 +E168 NmiHandler_Loop463 +E16D NmiHandler_Loop464 E174 Sub_E174 -E191 NmiHandler_Loop460 -E19B NmiHandler_Loop461 +E191 NmiHandler_Loop465 +E19B NmiHandler_Loop466 E1A3 Sub_E1A3 -E1B7 NmiHandler_Loop462 -E1BD NmiHandler_Loop463 +E1B7 NmiHandler_Loop467 +E1BD NmiHandler_Loop468 E1C3 Sub_E1C3 -E1E9 NmiHandler_Loop464 -E209 NmiHandler_Loop465 +E1E9 NmiHandler_Loop469 +E209 NmiHandler_Loop470 E221 Sub_E221 -E225 NmiHandler_Loop466 -E238 NmiHandler_Loop467 +E225 NmiHandler_Loop471 +E238 NmiHandler_Loop472 E23A Sub_E23A -E24E NmiHandler_Loop468 -E256 NmiHandler_Loop469 -E259 NmiHandler_OnCarryClear25 -E271 NmiHandler_OnCarryClear26 -E289 NmiHandler_OnCarryClear27 +E24E NmiHandler_Loop473 +E256 NmiHandler_Loop474 +E259 NmiHandler_OnCarryClear28 +E271 NmiHandler_OnCarryClear29 +E289 NmiHandler_OnCarryClear30 E291 Sub_E291 -E29D NmiHandler_Loop470 +E29D NmiHandler_Loop475 E2A3 Sub_E2A3 -E2C8 NmiHandler_Loop471 +E2C8 NmiHandler_Loop476 E2D2 Sub_E2D2 E2D7 Sub_E2D7 -E2DC NmiHandler_OnNonzero86 -E301 NmiHandler_OnCarryClear28 -E30D NmiHandler_OnNonzero87 -E31B NmiHandler_OnZero16 -E330 NmiHandler_Loop472 -E34A NmiHandler_OnNonzero88 -E356 NmiHandler_Loop473 -E361 NmiHandler_OnCarrySet7 -E371 NmiHandler_OnCarrySet8 -E393 NmiHandler_OnCarryClear29 -E3A7 NmiHandler_OnCarryClear30 -E3CB NmiHandler_Loop474 -E3D6 NmiHandler_OnCarrySet9 -E3ED NmiHandler_OnCarrySet10 -E405 NmiHandler_OnCarrySet11 -E433 NmiHandler_OnNonzero89 -E440 NmiHandler_OnCarryClear31 -E477 NmiHandler_OnCarryClear32 -E4A1 NmiHandler_OnCarryClear33 +E2DC NmiHandler_OnNonzero87 +E301 NmiHandler_OnCarryClear31 +E30D NmiHandler_OnNonzero88 +E31B NmiHandler_OnZero17 +E330 NmiHandler_Loop477 +E34A NmiHandler_OnNonzero89 +E356 NmiHandler_Loop478 +E361 NmiHandler_OnCarrySet8 +E371 NmiHandler_OnCarrySet9 +E393 NmiHandler_OnCarryClear32 +E3A7 NmiHandler_OnCarryClear33 +E3CB NmiHandler_Loop479 +E3D6 NmiHandler_OnCarrySet10 +E3ED NmiHandler_OnCarrySet11 +E405 NmiHandler_OnCarrySet12 +E433 NmiHandler_OnNonzero90 +E440 NmiHandler_OnCarryClear34 +E477 NmiHandler_OnCarryClear35 +E4A1 NmiHandler_OnCarryClear36 E4CE Sub_E4CE E4D8 Sub_E4D8 E4E2 Sub_E4E2 -E4EC NmiHandler_Loop475 +E4EC NmiHandler_Loop480 E4EE Sub_E4EE -E4FB NmiHandler_Loop476 -E508 NmiHandler_Loop477 +E4FB NmiHandler_Loop481 +E508 NmiHandler_Loop482 +E536 NmiHandler_OnCarrySet13 +E55B NmiHandler_OnCarryClear37 +E566 NmiHandler_OnCarryClear38 +E585 NmiHandler_OnCarryClear39 +E5B4 NmiHandler_OnCarryClear40 +E5C4 NmiHandler_OnCarryClear41 +E5D9 NmiHandler_OnCarryClear42 E611 Sub_E611 E617 Sub_E617 +E7CD NmiHandler_Loop483 E7DA Sub_E7DA -E7EE NmiHandler_Loop478 +E7EE NmiHandler_Loop484 E7FE Sub_E7FE -E819 NmiHandler_OnNonzero90 -E829 NmiHandler_Loop479 -E839 NmiHandler_Loop480 -E842 NmiHandler_OnNonnegative17 +E819 NmiHandler_OnNonzero91 +E829 NmiHandler_Loop485 +E839 NmiHandler_Loop486 +E842 NmiHandler_OnNonnegative18 E852 Sub_E852 -E86E NmiHandler_OnCarryClear34 +E86E NmiHandler_OnCarryClear43 E880 Sub_E880 -E88B NmiHandler_Loop481 -E896 NmiHandler_Loop482 -E89E NmiHandler_Loop483 -E8AC NmiHandler_Loop484 -E8B4 NmiHandler_Loop485 -E8BC NmiHandler_Loop486 -E8CC NmiHandler_Loop487 -E8D2 NmiHandler_OnZero17 +E88B NmiHandler_Loop487 +E896 NmiHandler_Loop488 +E89E NmiHandler_Loop489 +E8AC NmiHandler_Loop490 +E8B4 NmiHandler_Loop491 +E8BC NmiHandler_Loop492 +E8CC NmiHandler_Loop493 +E8D2 NmiHandler_OnZero18 E8D5 Sub_E8D5 -E8E8 NmiHandler_Loop488 +E8E8 NmiHandler_Loop494 E8EA Sub_E8EA E8EF Sub_E8EF -E906 NmiHandler_Loop489 -E911 NmiHandler_Loop490 -E921 NmiHandler_Loop491 +E906 NmiHandler_Loop495 +E911 NmiHandler_Loop496 +E921 NmiHandler_Loop497 E92C Sub_E92C -E934 NmiHandler_Loop492 -E948 NmiHandler_Loop493 -E950 NmiHandler_Loop494 -E95C NmiHandler_Loop495 -E96F NmiHandler_Loop496 -E977 NmiHandler_Loop497 -E982 NmiHandler_Loop498 -E98A NmiHandler_Loop499 -E998 NmiHandler_Loop500 -E9A0 NmiHandler_Loop501 +E934 NmiHandler_Loop498 +E948 NmiHandler_Loop499 +E950 NmiHandler_Loop500 +E95C NmiHandler_Loop501 +E96F NmiHandler_Loop502 +E977 NmiHandler_Loop503 +E982 NmiHandler_Loop504 +E98A NmiHandler_Loop505 +E998 NmiHandler_Loop506 +E9A0 NmiHandler_Loop507 E9A3 Sub_E9A3 E9AC Sub_E9AC -E9B7 NmiHandler_Loop502 -E9BF NmiHandler_Loop503 -E9D3 NmiHandler_Loop504 -E9DB NmiHandler_Loop505 -E9E3 NmiHandler_Loop506 -E9EE NmiHandler_Loop507 -E9F6 NmiHandler_Loop508 -E9F9 NmiHandler_OnZero18 +E9B7 NmiHandler_Loop508 +E9BF NmiHandler_Loop509 +E9D3 NmiHandler_Loop510 +E9DB NmiHandler_Loop511 +E9E3 NmiHandler_Loop512 +E9EE NmiHandler_Loop513 +E9F6 NmiHandler_Loop514 +E9F9 NmiHandler_OnZero19 EA07 Sub_EA07 -EA0F NmiHandler_Loop509 -EA26 NmiHandler_Loop510 -EA29 NmiHandler_Loop511 -EA31 NmiHandler_Loop512 -EA3C NmiHandler_Loop513 -EA44 NmiHandler_Loop514 -EA4F NmiHandler_Loop515 -EA57 NmiHandler_Loop516 +EA0F NmiHandler_Loop515 +EA26 NmiHandler_Loop516 +EA29 NmiHandler_Loop517 +EA31 NmiHandler_Loop518 +EA3C NmiHandler_Loop519 +EA44 NmiHandler_Loop520 +EA4F NmiHandler_Loop521 +EA57 NmiHandler_Loop522 EA5A Sub_EA5A EA63 Sub_EA63 -EA7A NmiHandler_Loop517 -EA85 NmiHandler_Loop518 -EA95 NmiHandler_Loop519 +EA7A NmiHandler_Loop523 +EA85 NmiHandler_Loop524 +EA95 NmiHandler_Loop525 EAA0 Sub_EAA0 -EAB5 NmiHandler_Loop520 +EAB5 NmiHandler_Loop526 EABD Sub_EABD -EAC0 NmiHandler_OnCarryClear35 -EAD6 NmiHandler_Loop521 -EADB NmiHandler_Loop522 -EAE5 NmiHandler_Loop523 +EAC0 NmiHandler_OnCarryClear44 +EAD6 NmiHandler_Loop527 +EADB NmiHandler_Loop528 +EAE5 NmiHandler_Loop529 EAE7 Sub_EAE7 EAEE Sub_EAEE -EB17 NmiHandler_Loop524 -EB1E NmiHandler_Loop525 -EB38 NmiHandler_Loop526 -EB3C NmiHandler_Loop527 -EB49 NmiHandler_Loop528 -EB4F NmiHandler_Loop529 -EB5F NmiHandler_Loop530 +EB17 NmiHandler_Loop530 +EB1E NmiHandler_Loop531 +EB38 NmiHandler_Loop532 +EB3C NmiHandler_Loop533 +EB49 NmiHandler_Loop534 +EB4F NmiHandler_Loop535 +EB5F NmiHandler_Loop536 EB67 Sub_EB67 -EB6F NmiHandler_OnCarryClear36 -EB77 NmiHandler_Loop531 -EB8F NmiHandler_Loop532 +EB6F NmiHandler_OnCarryClear45 +EB77 NmiHandler_Loop537 +EB8F NmiHandler_Loop538 EB94 Sub_EB94 -EB9C NmiHandler_Loop533 -EBA4 NmiHandler_Loop534 -EBBF NmiHandler_Loop535 +EB9C NmiHandler_Loop539 +EBA4 NmiHandler_Loop540 +EBBF NmiHandler_Loop541 EBC7 Sub_EBC7 -EBCA NmiHandler_Loop536 -EBD2 NmiHandler_Loop537 -EBE0 NmiHandler_Loop538 -EBE8 NmiHandler_Loop539 -EBF0 NmiHandler_Loop540 +EBCA NmiHandler_Loop542 +EBD2 NmiHandler_Loop543 +EBE0 NmiHandler_Loop544 +EBE8 NmiHandler_Loop545 +EBF0 NmiHandler_Loop546 EBFB Sub_EBFB -EC03 NmiHandler_Loop541 -EC11 NmiHandler_Loop542 -EC14 NmiHandler_Loop543 -EC2C NmiHandler_Loop544 +EC03 NmiHandler_Loop547 +EC11 NmiHandler_Loop548 +EC14 NmiHandler_Loop549 +EC2C NmiHandler_Loop550 EC2F Sub_EC2F -EC3F NmiHandler_Loop545 +EC3F NmiHandler_Loop551 EC47 Sub_EC47 -EC4A NmiHandler_Loop546 -EC58 NmiHandler_Loop547 -EC62 NmiHandler_Loop548 -EC6A NmiHandler_Loop549 -EC72 NmiHandler_Loop550 -EC80 NmiHandler_Loop551 -EC88 NmiHandler_Loop552 +EC4A NmiHandler_Loop552 +EC58 NmiHandler_Loop553 +EC62 NmiHandler_Loop554 +EC6A NmiHandler_Loop555 +EC72 NmiHandler_Loop556 +EC80 NmiHandler_Loop557 +EC88 NmiHandler_Loop558 EC8B Sub_EC8B EC94 Sub_EC94 -ECAB NmiHandler_Loop553 -ECB6 NmiHandler_Loop554 -ECC8 NmiHandler_Loop555 +ECAB NmiHandler_Loop559 +ECB6 NmiHandler_Loop560 +ECC8 NmiHandler_Loop561 ECD3 Sub_ECD3 -ECE3 NmiHandler_Loop556 +ECE3 NmiHandler_Loop562 ECEE Sub_ECEE ECF4 Sub_ECF4 ECFA Sub_ECFA -ED02 NmiHandler_OnCarryClear37 -ED0A NmiHandler_Loop557 -ED21 NmiHandler_Loop558 +ED02 NmiHandler_OnCarryClear46 +ED0A NmiHandler_Loop563 +ED21 NmiHandler_Loop564 ED24 Sub_ED24 -ED3C NmiHandler_Loop559 -ED56 NmiHandler_Loop560 -ED5B NmiHandler_Loop561 -ED6C NmiHandler_Loop562 -ED6F NmiHandler_Loop563 +ED3C NmiHandler_Loop565 +ED56 NmiHandler_Loop566 +ED5B NmiHandler_Loop567 +ED6C NmiHandler_Loop568 +ED6F NmiHandler_Loop569 ED72 Sub_ED72 -ED8D NmiHandler_Loop564 +ED8D NmiHandler_Loop570 ED95 Sub_ED95 -ED98 NmiHandler_OnCarryClear38 -EDAA NmiHandler_Loop565 +ED98 NmiHandler_OnCarryClear47 +EDAA NmiHandler_Loop571 EDAD Sub_EDAD -EDBE NmiHandler_Loop566 -EDCB NmiHandler_Loop567 -EDD8 NmiHandler_Loop568 -EDE2 NmiHandler_Loop569 -EDE4 NmiHandler_OnNonzero91 -EDF0 NmiHandler_Loop570 -EE10 NmiHandler_Loop571 -EE1B NmiHandler_Loop572 +EDBE NmiHandler_Loop572 +EDCB NmiHandler_Loop573 +EDD8 NmiHandler_Loop574 +EDE2 NmiHandler_Loop575 +EDE4 NmiHandler_OnNonzero92 +EDF0 NmiHandler_Loop576 +EE10 NmiHandler_Loop577 +EE1B NmiHandler_Loop578 EE2B Sub_EE2B -EE39 NmiHandler_Loop573 +EE39 NmiHandler_Loop579 EE3D Sub_EE3D -EE52 NmiHandler_Loop574 +EE52 NmiHandler_Loop580 EE5C Sub_EE5C EE64 Sub_EE64 -EE70 NmiHandler_Loop575 -EE73 NmiHandler_Loop576 +EE70 NmiHandler_Loop581 +EE73 NmiHandler_Loop582 EE79 Sub_EE79 -EE93 NmiHandler_Loop577 +EE93 NmiHandler_Loop583 EE9B Sub_EE9B -EE9E NmiHandler_OnCarryClear39 -EEB9 NmiHandler_OnCarryClear40 -EED4 NmiHandler_OnCarryClear41 +EE9E NmiHandler_OnCarryClear48 +EEB9 NmiHandler_OnCarryClear49 +EED4 NmiHandler_OnCarryClear50 EEDF Sub_EEDF -EEF1 NmiHandler_Loop578 -EEF2 NmiHandler_Loop579 +EEF1 NmiHandler_Loop584 +EEF2 NmiHandler_Loop585 EF00 Sub_EF00 -EF15 NmiHandler_Loop580 +EF15 NmiHandler_Loop586 EF1D Sub_EF1D -EF20 NmiHandler_OnCarryClear42 -EF2D NmiHandler_Loop581 +EF20 NmiHandler_OnCarryClear51 +EF2D NmiHandler_Loop587 EF30 Sub_EF30 EF44 Sub_EF44 EF4C Sub_EF4C -EF58 NmiHandler_OnZero19 -EF5D NmiHandler_OnNonzero92 -EF66 NmiHandler_Loop582 -EF8D NmiHandler_OnNonzero93 -EF94 NmiHandler_Loop583 -EFA9 NmiHandler_Loop584 -EFAD NmiHandler_Loop585 -EFAF NmiHandler_Loop586 -EFB3 NmiHandler_Loop587 -EFB5 NmiHandler_OnNonnegative18 -EFCE NmiHandler_Loop588 -EFD1 NmiHandler_Loop589 +EF58 NmiHandler_OnZero20 +EF5D NmiHandler_OnNonzero93 +EF66 NmiHandler_Loop588 +EF8D NmiHandler_OnNonzero94 +EF94 NmiHandler_Loop589 +EFA9 NmiHandler_Loop590 +EFAD NmiHandler_Loop591 +EFAF NmiHandler_Loop592 +EFB3 NmiHandler_Loop593 +EFB5 NmiHandler_OnNonnegative19 +EFCE NmiHandler_Loop594 +EFD1 NmiHandler_Loop595 EFF0 Sub_EFF0 -EFFF NmiHandler_Loop590 -F010 NmiHandler_Loop591 +EFFF NmiHandler_Loop596 +F010 NmiHandler_Loop597 F01B Sub_F01B F022 Sub_F022 F02D Sub_F02D -F040 NmiHandler_Loop592 -F068 NmiHandler_Loop593 -F06A NmiHandler_Loop594 +F040 NmiHandler_Loop598 +F068 NmiHandler_Loop599 +F06A NmiHandler_Loop600 F06C Sub_F06C F086 Sub_F086 -F09B NmiHandler_Loop595 -F09D NmiHandler_Loop596 +F09B NmiHandler_Loop601 +F09D NmiHandler_Loop602 F0A3 Sub_F0A3 -F0AE NmiHandler_Loop597 +F0AE NmiHandler_Loop603 F0B0 Sub_F0B0 F0B4 Sub_F0B4 -F0BD NmiHandler_Loop598 +F0BD NmiHandler_Loop604 F0C0 Sub_F0C0 -F0CC NmiHandler_Loop599 +F0CC NmiHandler_Loop605 F0CE Sub_F0CE -F0DA NmiHandler_Loop600 +F0DA NmiHandler_Loop606 F0E7 Sub_F0E7 -F0FB NmiHandler_Loop601 -F10C NmiHandler_Loop602 -F13F NmiHandler_Loop603 -F14A NmiHandler_Loop604 -F155 NmiHandler_Loop605 -F162 NmiHandler_Loop606 -F17B NmiHandler_Loop607 -F17E NmiHandler_Loop608 -F18C NmiHandler_Loop609 -F18F NmiHandler_Loop610 -F19B NmiHandler_OnNonzero94 +F0FB NmiHandler_Loop607 +F10C NmiHandler_Loop608 +F13F NmiHandler_Loop609 +F14A NmiHandler_Loop610 +F155 NmiHandler_Loop611 +F162 NmiHandler_Loop612 +F17B NmiHandler_Loop613 +F17E NmiHandler_Loop614 +F18C NmiHandler_Loop615 +F18F NmiHandler_Loop616 +F19B NmiHandler_OnNonzero95 F1AB Sub_F1AB -F1BB NmiHandler_Loop611 -F1BE NmiHandler_Loop612 +F1BB NmiHandler_Loop617 +F1BE NmiHandler_Loop618 F1D3 Sub_F1D3 F1DC Sub_F1DC -F4EA NmiHandler_OnNonzero95 +F4EA NmiHandler_OnNonzero96 F518 Sub_F518 -F51A NmiHandler_OnNonzero96 -F524 NmiHandler_OnNonzero97 -F52F NmiHandler_Loop613 -F533 NmiHandler_Loop614 -F542 NmiHandler_Loop615 -F55D NmiHandler_OnNonzero98 -F591 NmiHandler_OnNonzero99 -F599 NmiHandler_Loop616 -F5A6 NmiHandler_Loop617 +F51A NmiHandler_OnNonzero97 +F524 NmiHandler_OnNonzero98 +F52F NmiHandler_Loop619 +F533 NmiHandler_Loop620 +F542 NmiHandler_Loop621 +F55D NmiHandler_OnNonzero99 +F591 NmiHandler_OnNonzero100 +F599 NmiHandler_Loop622 +F5A6 NmiHandler_Loop623 F5AC Sub_F5AC -F5AE NmiHandler_OnNonzero100 -F5B8 NmiHandler_OnNonzero101 -F5C3 NmiHandler_Loop618 -F5C7 NmiHandler_Loop619 +F5AE NmiHandler_OnNonzero101 +F5B8 NmiHandler_OnNonzero102 +F5C3 NmiHandler_Loop624 +F5C7 NmiHandler_Loop625 F5ED Sub_F5ED -F601 NmiHandler_Loop620 +F601 NmiHandler_Loop626 F64E Sub_F64E -F674 NmiHandler_OnNonzero102 -F681 NmiHandler_OnNonzero103 -F69C NmiHandler_OnNonzero104 -F6AF NmiHandler_OnNonnegative19 -F6B9 NmiHandler_OnNonnegative20 +F674 NmiHandler_OnNonzero103 +F681 NmiHandler_OnNonzero104 +F69C NmiHandler_OnNonzero105 +F6AF NmiHandler_OnNonnegative20 +F6B9 NmiHandler_OnNonnegative21 F6C0 Sub_F6C0 -F6C4 NmiHandler_OnNonnegative21 +F6C4 NmiHandler_OnNonnegative22 F6CB Sub_F6CB -F6CD NmiHandler_OnNonzero105 -F6D9 NmiHandler_Loop621 +F6CD NmiHandler_OnNonzero106 +F6D9 NmiHandler_Loop627 F6DB Sub_F6DB F704 Sub_F704 -F70C NmiHandler_Loop622 +F70C NmiHandler_Loop628 F744 Sub_F744 F75E Sub_F75E -F77B NmiHandler_OnNonzero106 -F787 NmiHandler_OnZero20 -F791 NmiHandler_Loop623 -F79A NmiHandler_OnNonnegative22 -F7A6 NmiHandler_OnNonzero107 -F7B4 NmiHandler_OnNonzero108 -F7B9 NmiHandler_OnCarryClear43 -F7C1 NmiHandler_Loop624 -F7C8 NmiHandler_Loop625 +F77B NmiHandler_OnNonzero107 +F787 NmiHandler_OnZero21 +F791 NmiHandler_Loop629 +F79A NmiHandler_OnNonnegative23 +F7A6 NmiHandler_OnNonzero108 +F7B4 NmiHandler_OnNonzero109 +F7B9 NmiHandler_OnCarryClear52 +F7C1 NmiHandler_Loop630 +F7C8 NmiHandler_Loop631 F800 Sub_F800 -F818 NmiHandler_OnZero21 -F831 NmiHandler_Loop626 -F836 NmiHandler_Loop627 -F83F NmiHandler_Loop628 -F85E NmiHandler_Loop629 -F87C NmiHandler_OnNonzero109 -F88D NmiHandler_Loop630 +F818 NmiHandler_OnZero22 +F831 NmiHandler_Loop632 +F836 NmiHandler_Loop633 +F83F NmiHandler_Loop634 +F85E NmiHandler_Loop635 +F87C NmiHandler_OnNonzero110 +F88D NmiHandler_Loop636 F893 Sub_F893 -F89B NmiHandler_Loop631 -F8A4 NmiHandler_Loop632 -F8B0 NmiHandler_Loop633 +F89B NmiHandler_Loop637 +F8A4 NmiHandler_Loop638 +F8B0 NmiHandler_Loop639 F8BF Sub_F8BF -F8C9 NmiHandler_Loop634 -F8D9 NmiHandler_Loop635 -F8E4 NmiHandler_Loop636 -F8FC NmiHandler_OnNonzero110 -F903 NmiHandler_Loop637 +F8C9 NmiHandler_Loop640 +F8D9 NmiHandler_Loop641 +F8E4 NmiHandler_Loop642 +F8FC NmiHandler_OnNonzero111 +F903 NmiHandler_Loop643 F914 Sub_F914 -F923 NmiHandler_Loop638 -F930 NmiHandler_Loop639 -F944 NmiHandler_Loop640 +F923 NmiHandler_Loop644 +F930 NmiHandler_Loop645 +F944 NmiHandler_Loop646 F945 Sub_F945 F9FB Sub_F9FB FA20 Sub_FA20 diff --git a/NROM/Elevator Action (U)/locals.inc b/NROM/Elevator Action (U)/locals.inc index 355c6d0..1aab1c7 100644 --- a/NROM/Elevator Action (U)/locals.inc +++ b/NROM/Elevator Action (U)/locals.inc @@ -10,18 +10,21 @@ Zp03 = $03 ; 4 refs; reads=1 writes=3; used at $825D, 8290, 8 Zp16 = $16 ; 21 refs; reads=11 writes=10; used at $B510, B512, B514, B516, +7 more Zp38 = $38 ; 3 refs; reads=1 writes=2; used at $815B, 815F, 829A Zp39 = $39 ; 3 refs; reads=1 writes=2; used at $8161, 8165, 829E +Zp59 = $59 ; 3 refs; reads=3 writes=0; used at $F63C, F640, F64A +Zp5A = $5A ; 4 refs; reads=4 writes=0; used at $F63E, F642, F644, F648 +Zp5B = $5B ; 1 refs; reads=1 writes=0; used at $F646 Zp60 = $60 ; 3 refs; reads=2 writes=1; used at $B58F, B593 Zp61 = $61 ; 1 refs; reads=1 writes=0; used at $B58D Zp6E = $6E ; 7 refs; reads=5 writes=2; used at $814C, 8311, 831C, F608, +2 more -Zp6F = $6F ; 88 refs; reads=32 writes=56; used at $8298, 85B3, 85B9, 97F3, +80 more -Zp70 = $70 ; 105 refs; reads=35 writes=70; used at $829C, 84B2, 84BA, 8521, +92 more -Zp71 = $71 ; 126 refs; reads=48 writes=78; used at $8240, 824A, 8250, 8256, +119 more -Zp72 = $72 ; 92 refs; reads=27 writes=65; used at $8244, 8503, 8507, 8510, +83 more -Zp73 = $73 ; 367 refs; reads=133 writes=234; used at $802F, 8031, 8336, 8343, +340 more -Zp74 = $74 ; 289 refs; reads=73 writes=216; used at $802B, 8036, 8038, 8348, +260 more +Zp6F = $6F ; 91 refs; reads=33 writes=58; used at $8298, 85B3, 85B9, 8620, +82 more +Zp70 = $70 ; 109 refs; reads=36 writes=73; used at $829C, 84B2, 84BA, 8521, +95 more +Zp71 = $71 ; 128 refs; reads=49 writes=79; used at $8240, 824A, 8250, 8256, +120 more +Zp72 = $72 ; 94 refs; reads=28 writes=66; used at $8244, 8503, 8507, 8510, +84 more +Zp73 = $73 ; 374 refs; reads=133 writes=241; used at $802F, 8031, 8336, 8343, +347 more +Zp74 = $74 ; 296 refs; reads=73 writes=223; used at $802B, 8036, 8038, 8348, +267 more Zp75 = $75 ; 11 refs; reads=7 writes=4; used at $8226, 822C, 8271, 8277, +7 more -Zp76 = $76 ; 8 refs; reads=6 writes=2; used at $84C0, 84F3, 8583, 858F, +4 more -Zp77 = $77 ; 3 refs; reads=1 writes=2; used at $84C4, 85E0, 85E4 +Zp76 = $76 ; 10 refs; reads=7 writes=3; used at $84C0, 84F3, 8583, 858F, +5 more +Zp77 = $77 ; 5 refs; reads=2 writes=3; used at $84C4, 85E0, 85E4, 85FF Zp78 = $78 ; 12 refs; reads=4 writes=8; used at $84C8, 84D3, 857C, 8585, +8 more Zp79 = $79 ; 4 refs; reads=2 writes=2; used at $84CC, 84D7, 85CA, 85CE Zp7A = $7A ; 4 refs; reads=2 writes=2; used at $8543, 8596, 8602 @@ -32,9 +35,9 @@ Zp7E = $7E ; 14 refs; reads=4 writes=10; used at $978E, 9790, Zp7F = $7F ; 1 refs; reads=0 writes=1; used at $9C5D Zp80 = $80 ; 3 refs; reads=1 writes=2; used at $80F5, 812A, 9C61 Zp81 = $81 ; 5 refs; reads=1 writes=4; used at $80E7, 80F3, 8123, 9E9F -Zp82 = $82 ; 9 refs; reads=4 writes=5; used at $80B8, 80D0, 8105, 811A, +5 more -Zp83 = $83 ; 9 refs; reads=3 writes=6; used at $80BE, 80E0, 80E2, 80E5, +4 more -Zp85 = $85 ; 6 refs; reads=3 writes=3; used at $80B2, 80D6, F779, F787, +1 more +Zp82 = $82 ; 12 refs; reads=5 writes=7; used at $80B8, 80D0, 8105, 811A, +8 more +Zp83 = $83 ; 10 refs; reads=3 writes=7; used at $80BE, 80E0, 80E2, 80E5, +5 more +Zp85 = $85 ; 8 refs; reads=4 writes=4; used at $80B2, 80D6, F779, F787, +3 more Zp86 = $86 ; 8 refs; reads=4 writes=4; used at $F816, F81E, F824, F831, +2 more Zp87 = $87 ; 13 refs; reads=8 writes=5; used at $F796, F7B2, F7C8, F7CD, +7 more Zp88 = $88 ; 16 refs; reads=8 writes=8; used at $806A, 808E, 8095, 8136, +12 more @@ -59,9 +62,9 @@ ZpA3 = $A3 ; 19 refs; reads=11 writes=8; used at $A914, A94F, ZpA4 = $A4 ; 6 refs; reads=1 writes=5; used at $C396, CEAC, CEE3, CFEE, +1 more ZpA5 = $A5 ; 2 refs; reads=1 writes=1; used at $BB30, EF6E ZpA6 = $A6 ; 1 refs; reads=0 writes=1; used at $BB34 -ZpA7 = $A7 ; 3 refs; reads=1 writes=2; used at $F650, F674, F89D +ZpA7 = $A7 ; 4 refs; reads=1 writes=3; used at $F650, F674, F89D, F986 ZpA8 = $A8 ; 1 refs; reads=0 writes=1; used at $F654 -ZpA9 = $A9 ; 35 refs; reads=12 writes=23; used at $F658, F683, F732, F73C, +31 more +ZpA9 = $A9 ; 38 refs; reads=12 writes=26; used at $F658, F683, F732, F73C, +34 more ZpAA = $AA ; 1 refs; reads=0 writes=1; used at $F65C ZpAB = $AB ; 3 refs; reads=2 writes=1; used at $F661, FA24, FA35 ZpAC = $AC ; 1 refs; reads=0 writes=1; used at $F666 @@ -71,18 +74,18 @@ ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $F761, F783, F ZpB0 = $B0 ; 4 refs; reads=1 writes=3; used at $F766, F781, F804 ZpB1 = $B1 ; 4 refs; reads=1 writes=3; used at $F76B, F77F, F806 ZpB2 = $B2 ; 4 refs; reads=1 writes=3; used at $F770, F77D, F808 -ZpB3 = $B3 ; 9 refs; reads=5 writes=4; used at $F775, F77B, F88F, F89B, +4 more -ZpB4 = $B4 ; 25 refs; reads=20 writes=5; used at $F7D6, F7F0, F80A, F843, +21 more +ZpB3 = $B3 ; 12 refs; reads=8 writes=4; used at $F775, F77B, F88F, F89B, +7 more +ZpB4 = $B4 ; 28 refs; reads=23 writes=5; used at $F7D6, F7F0, F80A, F843, +24 more ZpB5 = $B5 ; 12 refs; reads=5 writes=7; used at $F810, F859, F862, F868, +7 more ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $F80C, F8F4, F8FE, F911, +3 more -ZpB7 = $B7 ; 66 refs; reads=31 writes=35; used at $845E, 8488, 9A60, 9B11, +62 more +ZpB7 = $B7 ; 67 refs; reads=31 writes=36; used at $845E, 8488, 9A60, 9B11, +63 more ZpB8 = $B8 ; 2 refs; reads=0 writes=2; used at $9E80, 9F4A ZpB9 = $B9 ; 2 refs; reads=0 writes=2; used at $9D7C, A10B ZpBA = $BA ; 2 refs; reads=0 writes=2; used at $9E82, 9F4C ZpBB = $BB ; 2 refs; reads=0 writes=2; used at $9D7E, A175 ZpBC = $BC ; 2 refs; reads=0 writes=2; used at $9E84, 9F4E ZpBD = $BD ; 7 refs; reads=1 writes=6; used at $9D80, A1DF, C00E, C01E, +3 more -ZpBE = $BE ; 48 refs; reads=28 writes=20; used at $9E86, 9F50, A5A9, A5AF, +44 more +ZpBE = $BE ; 50 refs; reads=28 writes=22; used at $9E86, 9F50, A5A9, A5AF, +46 more ZpBF = $BF ; 5 refs; reads=0 writes=5; used at $9D67, 9DAC, 9E88, E380, +1 more ZpC3 = $C3 ; 4 refs; reads=0 writes=4; used at $BF00, BF74, C137, C149 ZpC8 = $C8 ; 79 refs; reads=60 writes=19; used at $847B, 84A5, 97FE, 9854, +72 more @@ -90,14 +93,14 @@ ZpC9 = $C9 ; 1 refs; reads=0 writes=1; used at $9F62 ZpCB = $CB ; 1 refs; reads=0 writes=1; used at $9F66 ZpCD = $CD ; 1 refs; reads=0 writes=1; used at $9F6A ZpCE = $CE ; 3 refs; reads=0 writes=3; used at $C02B, D4A7, D5CA -ZpCF = $CF ; 36 refs; reads=23 writes=13; used at $9F6E, BECA, BEDF, BEEA, +27 more +ZpCF = $CF ; 37 refs; reads=23 writes=14; used at $9F6E, BECA, BEDF, BEEA, +28 more ZpD0 = $D0 ; 2 refs; reads=0 writes=2; used at $9DB8, E391 ZpD4 = $D4 ; 6 refs; reads=2 writes=4; used at $BF04, BF1C, BF1E, D8D1 ZpD9 = $D9 ; 18 refs; reads=10 writes=8; used at $9801, 9803, 9A51, 9A53, +14 more -ZpE0 = $E0 ; 9 refs; reads=1 writes=8; used at $D7BB, D7D1, D915, DAAD, +5 more +ZpE0 = $E0 ; 10 refs; reads=1 writes=9; used at $D7BB, D7D1, D915, DAAD, +6 more ZpE5 = $E5 ; 44 refs; reads=37 writes=7; used at $9807, 980C, 9848, 9897, +36 more ZpEB = $EB ; 2 refs; reads=0 writes=2; used at $C022, D4A3 -ZpEC = $EC ; 20 refs; reads=16 writes=4; used at $BEB7, C052, C0D6, C8AA, +16 more +ZpEC = $EC ; 21 refs; reads=16 writes=5; used at $BEB7, C052, C0D6, C8AA, +17 more ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $81C0, 81C5 ZpF7 = $F7 ; 12 refs; reads=10 writes=2; used at $81C7, 81CB, BE76, D5D3, +8 more ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $C09B, E359 @@ -107,4 +110,28 @@ ZpFB = $FB ; 5 refs; reads=3 writes=2; used at $C83A, C9ED, C ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $9E32, 9E4F ZpFD = $FD ; 5 refs; reads=2 writes=3; used at $BFC4, BFD7, BFE1, BFE6 ZpFE = $FE ; 4 refs; reads=2 writes=2; used at $BFD0, BFDB, BFE4, BFE8 -ZpFF = $FF ; 1 refs; reads=1 writes=0; used at $F638 +ZpFF = $FF ; 2 refs; reads=2 writes=0; used at $F638, F64C + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp88 +NmiSaveA = Zp9A +NmiSaveX = Zp9B +NmiSaveY = Zp9C +NmiFrameFlag = ZpFA +VramWritePtrLo = Zp73 +VramWritePtrHi = Zp74 +OamShadowPtrLo = Zp71 +OamShadowPtrHi = Zp72 +PlayerSpriteX = Zp6F +PlayerSpriteY = Zp70 +SpriteIndex = ZpB7 +SpriteYPosition= ZpC8 +ElevatorSpeed = Zp00 +ElevatorStateFlags = Zp02 +ElevatorStateBackup = Zp03 +ElevatorSpriteY = Zp38 +ElevatorSpriteX = Zp39 +GameState = ZpA9 +TimerIndex = ZpB4 +HandlerPtrLo = ZpB5 +HandlerPtrHi = ZpB6 diff --git a/NROM/Elevator Action (U)/prg.s b/NROM/Elevator Action (U)/prg.s index 7381eb7..00f1b06 100644 --- a/NROM/Elevator Action (U)/prg.s +++ b/NROM/Elevator Action (U)/prg.s @@ -12,7 +12,7 @@ ; 3 further routine entries recovered from table references elsewhere in the image: ; $B50D, $B58D, $B591 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: -; $8000, $8027, $819C, $82F0, $844F, $85BD, $85D5, $8602, $973E, $9891, $98D3, $992F, $9956, $998C, $99B1, $99BA, $99DF, $9A84, $9BB9, $9BD6, $9C03, $9C0B, $9C29, $9C42, $9C8E, $9D62, $9E7E, $9F27, $A0E5, $A14F, $A17D, $A1B9, $A1E7, $A228, $A250, $A286, $A30F, $A3E3, $A46F, $A487, $A52A, $A5E9, $A682, $A690, $A749, $BB2B, $BB77, $BBB6, $BCAB, $BD88, $BDCA, $BE56, $BEB7, $BEF2, $BFF0, $BFFC, $C0BE, $C0F9, $C125, $C1D5, $C20F, $C21E, $C22D, $C251, $C293, $C2C3, $C321, $C339, $C3BF, $C838, $C94C, $CA7F, $CAF1, $CB1D, $CB33, $CC41, $CC55, $CD66, $CD84, $CDAB, $D09C, $D0EE, $D2B6, $D2EC, $D38E, $D3C8, $D3E3, $D50A, $D514, $D528, $D59A, $D617, $D73E, $D765, $D78F, $D7A5, $D982, $D997, $D9DA, $D9E5, $D9ED, $DA06, $DA37, $DA70, $DA9C, $DB02, $DB0A, $DB36, $DB4B, $DB5E, $DC49, $DC54, $DC8E, $DD55, $DD5D, $DD6A, $DD96, $DD9E, $DDA9, $DE24, $DE2D, $DE53, $DE64, $DE7B, $DE8B, $DECC, $DEE9, $DEF4, $DF04, $DF3B, $DF5B, $DF66, $DF76, $DF92, $DFA3, $DFBC, $DFCC, $E051, $E06C, $E095, $E0B5, $E291, $E2A3, $E2C8, $E2D2, $E3CB, $E79E, $E7CD, $E852, $E8BC, $E977, $E98A, $E9DB, $E9E3, $E9EE, $E9F6, $EA0F, $EA31, $EA3C, $EA44, $EA4F, $EAE5, $EB17, $EB49, $EBC7, $EBD2, $EBE0, $EBFB, $EC03, $EC11, $EC2F, $EC47, $EC58, $EC62, $EC6A, $EC72, $EC80, $EC88, $ECB6, $ECD3, $EDF0, $EE10, $EE39, $EE79, $EE93, $EF4C, $EFAD, $EFFF, $F02D, $F06A, $F0CE, $F0DA, $F0E7, $F0FB, $F155, $F4DB, $F599, $F5A6, $F64E, $F704, $F7C8, $F89B, $F976, $F9C3 +; $8000, $8027, $819C, $82F0, $844F, $85BD, $85D5, $85FB, $8602, $973E, $9891, $98D3, $992F, $9956, $998C, $99B1, $99BA, $99DF, $9A84, $9BB9, $9BD6, $9C03, $9C0B, $9C29, $9C42, $9C8E, $9D62, $9E7E, $9F27, $A086, $A0E5, $A14F, $A17D, $A1B9, $A1E7, $A228, $A250, $A286, $A30F, $A3E3, $A46F, $A487, $A52A, $A5E9, $A682, $A690, $A749, $BB2B, $BB77, $BBB6, $BCAB, $BD88, $BDCA, $BE56, $BEB7, $BEF2, $BFF0, $BFFC, $C0BE, $C0F9, $C125, $C1D5, $C20F, $C21E, $C22D, $C251, $C293, $C2C3, $C321, $C339, $C3BF, $C838, $C94C, $CA7F, $CAF1, $CB1D, $CB33, $CC41, $CC55, $CD66, $CD84, $CDAB, $CDC3, $D08D, $D09C, $D0EE, $D2B6, $D2EC, $D38E, $D3C8, $D3E3, $D50A, $D514, $D528, $D59A, $D617, $D73E, $D765, $D78F, $D7A5, $D982, $D997, $D9DA, $D9E5, $D9ED, $DA06, $DA37, $DA70, $DA9C, $DB02, $DB0A, $DB36, $DB4B, $DB5E, $DC49, $DC54, $DC8E, $DD55, $DD5D, $DD6A, $DD96, $DD9E, $DDA9, $DE24, $DE2D, $DE53, $DE64, $DE7B, $DE8B, $DECC, $DEE9, $DEF4, $DF04, $DF3B, $DF5B, $DF66, $DF76, $DF92, $DFA3, $DFBC, $DFCC, $E051, $E06C, $E095, $E0B5, $E291, $E2A3, $E2C8, $E2D2, $E3CB, $E50E, $E79E, $E7A8, $E7B2, $E7BC, $E7CD, $E852, $E8BC, $E977, $E98A, $E9DB, $E9E3, $E9EE, $E9F6, $EA0F, $EA31, $EA3C, $EA44, $EA4F, $EAE5, $EB17, $EB49, $EBC7, $EBD2, $EBE0, $EBFB, $EC03, $EC11, $EC2F, $EC47, $EC58, $EC62, $EC6A, $EC72, $EC80, $EC88, $ECB6, $ECD3, $EDF0, $EE10, $EE39, $EE79, $EE93, $EF4C, $EFAD, $EFFF, $F02D, $F06A, $F0CE, $F0DA, $F0E7, $F0FB, $F155, $F4DB, $F599, $F5A6, $F63B, $F64E, $F704, $F7C8, $F89B, $F976, $F982, $F9C3, $F9DB, $F9EB, $8618, $D0CD, $8620, $D099, $EBF3, $EF4A, $F029 ; indirect dispatch through zero page (not followed statically): ; jmp ($00B5) at $F953 ; @@ -40,21 +40,21 @@ Reset: sta PPUCTRL ; CPU:$8007 PRG:0007 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonnegative -; Global: Branch target inside Label: taken when 800A. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when the tested value is not negative. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonnegative: lda PPUSTATUS ; CPU:$800A PRG:000A AD 02 20 - bpl Reset_OnNonnegative ; CPU:$800D PRG:000D 10 FB + bpl Reset_OnNonnegative ; CPU:$800D PRG:000D 10 FB lda #$FF ; CPU:$800F PRG:000F A9 FF ldy #$24 ; CPU:$8011 PRG:0011 A0 24 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonnegative2 -; Global: Branch target inside Label: taken when 8013. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNonnegative2. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -62,17 +62,17 @@ Reset_OnNonnegative: Reset_OnNonnegative2: sta $0200,y ; CPU:$8013 PRG:0013 99 00 02 dey ; CPU:$8016 PRG:0016 88 - bpl Reset_OnNonnegative2 ; CPU:$8017 PRG:0017 10 FA + bpl Reset_OnNonnegative2 ; CPU:$8017 PRG:0017 10 FA lda $06E3 ; CPU:$8019 PRG:0019 AD E3 06 cmp #$8D ; CPU:$801C PRG:001C C9 8D bne Reset_Loop ; CPU:$801E PRG:001E D0 07 lda $06E4 ; CPU:$8020 PRG:0020 AD E4 06 cmp #$AB ; CPU:$8023 PRG:0023 C9 AB - beq Reset_Loop2 ; CPU:$8025 PRG:0025 F0 2C + beq Reset_Loop2 ; CPU:$8025 PRG:0025 F0 2C ; ----------------------------------------------------------------------------- ; Routine: Reset_Loop -; Global: Branch target inside Label: taken when 8027. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when the loop repeats. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -80,25 +80,25 @@ Reset_OnNonnegative2: Reset_Loop: ldy #$00 ; CPU:$8027 PRG:0027 A0 00 lda #$03 ; CPU:$8029 PRG:0029 A9 03 - sta Zp74 ; CPU:$802B PRG:002B 85 74 + sta VramWritePtrHi ; CPU:$802B PRG:002B 85 74 lda #$00 ; CPU:$802D PRG:002D A9 00 - sta Zp73 ; CPU:$802F PRG:002F 85 73 + sta VramWritePtrLo ; CPU:$802F PRG:002F 85 73 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero -; Global: Branch target inside Label: taken when 8031. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when the tested value is not zero. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero: - sta (Zp73),y ; CPU:$8031 PRG:0031 91 73 + sta (VramWritePtrLo),y ; CPU:$8031 PRG:0031 91 73 iny ; CPU:$8033 PRG:0033 C8 - bne Reset_OnNonzero ; CPU:$8034 PRG:0034 D0 FB - inc Zp74 ; CPU:$8036 PRG:0036 E6 74 - ldx Zp74 ; CPU:$8038 PRG:0038 A6 74 + bne Reset_OnNonzero ; CPU:$8034 PRG:0034 D0 FB + inc VramWritePtrHi ; CPU:$8036 PRG:0036 E6 74 + ldx VramWritePtrHi ; CPU:$8038 PRG:0038 A6 74 cpx #$08 ; CPU:$803A PRG:003A E0 08 - bne Reset_OnNonzero ; CPU:$803C PRG:003C D0 F3 + bne Reset_OnNonzero ; CPU:$803C PRG:003C D0 F3 lda #$8D ; CPU:$803E PRG:003E A9 8D sta $06E3 ; CPU:$8040 PRG:0040 8D E3 06 lda #$AB ; CPU:$8043 PRG:0043 A9 AB @@ -109,8 +109,8 @@ Reset_OnNonzero: sta $0572 ; CPU:$8050 PRG:0050 8D 72 05 ; ----------------------------------------------------------------------------- ; Routine: Reset_Loop2 -; Global: Branch target inside Label: taken when 8053. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when Loop2. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -120,31 +120,31 @@ Reset_Loop2: ldx #$00 ; CPU:$8055 PRG:0055 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero2 -; Global: Branch target inside Label: taken when 8057. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNonzero2. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero2: - sta Zp00,x ; CPU:$8057 PRG:0057 95 00 + sta ElevatorSpeed,x ; CPU:$8057 PRG:0057 95 00 inx ; CPU:$8059 PRG:0059 E8 - bne Reset_OnNonzero2 ; CPU:$805A PRG:005A D0 FB + bne Reset_OnNonzero2 ; CPU:$805A PRG:005A D0 FB lda #$06 ; CPU:$805C PRG:005C A9 06 sta PPUMASK ; CPU:$805E PRG:005E 8D 01 20 lda #$1E ; CPU:$8061 PRG:0061 A9 1E sta Zp89 ; CPU:$8063 PRG:0063 85 89 lda #$10 ; CPU:$8065 PRG:0065 A9 10 sta PPUCTRL ; CPU:$8067 PRG:0067 8D 00 20 - sta Zp88 ; CPU:$806A PRG:006A 85 88 + sta PpuCtrlShadow ; CPU:$806A PRG:006A 85 88 lda #$0F ; CPU:$806C PRG:006C A9 0F sta APUSTATUS ; CPU:$806E PRG:006E 8D 15 40 lda #$34 ; CPU:$8071 PRG:0071 A9 34 - jsr Sub_8224 ; CPU:$8073 PRG:0073 20 24 82 + jsr Sub_8224 ; CPU:$8073 PRG:0073 20 24 82 lda #$02 ; CPU:$8076 PRG:0076 A9 02 - jsr Sub_8224 ; CPU:$8078 PRG:0078 20 24 82 - jsr Sub_F64E ; CPU:$807B PRG:007B 20 4E F6 - jmp Sub_82F0 ; CPU:$807E PRG:007E 4C F0 82 + jsr Sub_8224 ; CPU:$8078 PRG:0078 20 24 82 + jsr Sub_F64E ; CPU:$807B PRG:007B 20 4E F6 + jmp Sub_82F0 ; CPU:$807E PRG:007E 4C F0 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Routine NmiHandler. @@ -154,25 +154,25 @@ Reset_OnNonzero2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler: - sta Zp9A ; CPU:$8081 PRG:0081 85 9A - stx Zp9B ; CPU:$8083 PRG:0083 86 9B - sty Zp9C ; CPU:$8085 PRG:0085 84 9C - lda ZpFA ; CPU:$8087 PRG:0087 A5 FA - beq NmiHandler_Loop ; CPU:$8089 PRG:0089 F0 03 - jmp Sub_81D6 ; CPU:$808B PRG:008B 4C D6 81 + sta NmiSaveA ; CPU:$8081 PRG:0081 85 9A + stx NmiSaveX ; CPU:$8083 PRG:0083 86 9B + sty NmiSaveY ; CPU:$8085 PRG:0085 84 9C + lda NmiFrameFlag ; CPU:$8087 PRG:0087 A5 FA + beq NmiHandler_Loop ; CPU:$8089 PRG:0089 F0 03 + jmp Sub_81D6 ; CPU:$808B PRG:008B 4C D6 81 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop -; Global: Branch target inside Label: taken when 808E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the loop repeats. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop: - lda Zp88 ; CPU:$808E PRG:008E A5 88 + lda PpuCtrlShadow ; CPU:$808E PRG:008E A5 88 and #$7F ; CPU:$8090 PRG:0090 29 7F sta PPUCTRL ; CPU:$8092 PRG:0092 8D 00 20 - sta Zp88 ; CPU:$8095 PRG:0095 85 88 + sta PpuCtrlShadow ; CPU:$8095 PRG:0095 85 88 lda #$00 ; CPU:$8097 PRG:0097 A9 00 sta OAMADDR ; CPU:$8099 PRG:0099 8D 03 20 lda #$02 ; CPU:$809C PRG:009C A9 02 @@ -180,19 +180,19 @@ NmiHandler_Loop: lda #$00 ; CPU:$80A1 PRG:00A1 A9 00 sta PPUMASK ; CPU:$80A3 PRG:00A3 8D 01 20 lda $0674 ; CPU:$80A6 PRG:00A6 AD 74 06 - beq NmiHandler_Loop3 ; CPU:$80A9 PRG:00A9 F0 46 + beq NmiHandler_Loop3 ; CPU:$80A9 PRG:00A9 F0 46 ldx #$00 ; CPU:$80AB PRG:00AB A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_80AD -; Global: Branch target inside Label: taken when 80AD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 80AD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_80AD: lda $0675,x ; CPU:$80AD PRG:00AD BD 75 06 - beq NmiHandler_Loop2 ; CPU:$80B0 PRG:00B0 F0 2C + beq NmiHandler_Loop2 ; CPU:$80B0 PRG:00B0 F0 2C sta Zp85 ; CPU:$80B2 PRG:00B2 85 85 inx ; CPU:$80B4 PRG:00B4 E8 lda $0675,x ; CPU:$80B5 PRG:00B5 BD 75 06 @@ -209,8 +209,8 @@ Sub_80AD: ldy #$00 ; CPU:$80CE PRG:00CE A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero -; Global: Branch target inside Label: taken when 80D0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is not zero. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -220,13 +220,13 @@ NmiHandler_OnNonzero: sta PPUDATA ; CPU:$80D2 PRG:00D2 8D 07 20 iny ; CPU:$80D5 PRG:00D5 C8 cpy Zp85 ; CPU:$80D6 PRG:00D6 C4 85 - bne NmiHandler_OnNonzero ; CPU:$80D8 PRG:00D8 D0 F6 + bne NmiHandler_OnNonzero ; CPU:$80D8 PRG:00D8 D0 F6 inx ; CPU:$80DA PRG:00DA E8 - jmp Sub_80AD ; CPU:$80DB PRG:00DB 4C AD 80 + jmp Sub_80AD ; CPU:$80DB PRG:00DB 4C AD 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop2 -; Global: Branch target inside Label: taken when 80DE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -240,11 +240,11 @@ NmiHandler_Loop2: sta Zp81 ; CPU:$80E7 PRG:00E7 85 81 lda #$00 ; CPU:$80E9 PRG:00E9 A9 00 sta $0674 ; CPU:$80EB PRG:00EB 8D 74 06 - jmp Sub_80F5 ; CPU:$80EE PRG:00EE 4C F5 80 + jmp Sub_80F5 ; CPU:$80EE PRG:00EE 4C F5 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop3 -; Global: Branch target inside Label: taken when 80F1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -254,8 +254,8 @@ NmiHandler_Loop3: sta Zp81 ; CPU:$80F3 PRG:00F3 85 81 ; ----------------------------------------------------------------------------- ; Routine: Sub_80F5 -; Global: Branch target inside Label: taken when 80F5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 80F5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -264,15 +264,15 @@ Sub_80F5: ldx Zp80 ; CPU:$80F5 PRG:00F5 A6 80 ; ----------------------------------------------------------------------------- ; Routine: Sub_80F7 -; Global: Branch target inside Label: taken when 80F7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 80F7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_80F7: lda $0700,x ; CPU:$80F7 PRG:00F7 BD 00 07 - beq NmiHandler_Loop4 ; CPU:$80FA PRG:00FA F0 2E + beq NmiHandler_Loop4 ; CPU:$80FA PRG:00FA F0 2E lda $0700,x ; CPU:$80FC PRG:00FC BD 00 07 sta Zp83 ; CPU:$80FF PRG:00FF 85 83 inx ; CPU:$8101 PRG:0101 E8 @@ -288,8 +288,8 @@ Sub_80F7: ldy #$02 ; CPU:$8118 PRG:0118 A0 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative -; Global: Branch target inside Label: taken when 811A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is not negative. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -298,15 +298,15 @@ NmiHandler_OnNonnegative: lda (Zp82),y ; CPU:$811A PRG:011A B1 82 sta PPUDATA ; CPU:$811C PRG:011C 8D 07 20 dey ; CPU:$811F PRG:011F 88 - bpl NmiHandler_OnNonnegative ; CPU:$8120 PRG:0120 10 F8 + bpl NmiHandler_OnNonnegative ; CPU:$8120 PRG:0120 10 F8 inx ; CPU:$8122 PRG:0122 E8 dec Zp81 ; CPU:$8123 PRG:0123 C6 81 - beq NmiHandler_Loop4 ; CPU:$8125 PRG:0125 F0 03 - jmp Sub_80F7 ; CPU:$8127 PRG:0127 4C F7 80 + beq NmiHandler_Loop4 ; CPU:$8125 PRG:0125 F0 03 + jmp Sub_80F7 ; CPU:$8127 PRG:0127 4C F7 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop4 -; Global: Branch target inside Label: taken when 812A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -317,7 +317,7 @@ NmiHandler_Loop4: sta PPUSCROLL ; CPU:$812E PRG:012E 8D 05 20 lda Zp8F ; CPU:$8131 PRG:0131 A5 8F sta PPUSCROLL ; CPU:$8133 PRG:0133 8D 05 20 - lda Zp88 ; CPU:$8136 PRG:0136 A5 88 + lda PpuCtrlShadow ; CPU:$8136 PRG:0136 A5 88 sta PPUCTRL ; CPU:$8138 PRG:0138 8D 00 20 lda Zp89 ; CPU:$813B PRG:013B A5 89 sta PPUMASK ; CPU:$813D PRG:013D 8D 01 20 @@ -325,15 +325,15 @@ NmiHandler_Loop4: stx Zp9D ; CPU:$8141 PRG:0141 86 9D ldx #$EF ; CPU:$8143 PRG:0143 A2 EF txs ; CPU:$8145 PRG:0145 9A - jsr Sub_81DD ; CPU:$8146 PRG:0146 20 DD 81 - jsr Sub_F75E ; CPU:$8149 PRG:0149 20 5E F7 + jsr Sub_81DD ; CPU:$8146 PRG:0146 20 DD 81 + jsr Sub_F75E ; CPU:$8149 PRG:0149 20 5E F7 inc Zp6E ; CPU:$814C PRG:014C E6 6E ldx #$00 ; CPU:$814E PRG:014E A2 00 lda #$C0 ; CPU:$8150 PRG:0150 A9 C0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside Label: taken when 8152. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -342,53 +342,53 @@ NmiHandler_OnNonzero2: inx ; CPU:$8152 PRG:0152 E8 inx ; CPU:$8153 PRG:0153 E8 lda #$C0 ; CPU:$8154 PRG:0154 A9 C0 - cmp Zp02,x ; CPU:$8156 PRG:0156 D5 02 - bne NmiHandler_Loop5 ; CPU:$8158 PRG:0158 D0 15 + cmp ElevatorStateFlags,x ; CPU:$8156 PRG:0156 D5 02 + bne NmiHandler_Loop5 ; CPU:$8158 PRG:0158 D0 15 sec ; CPU:$815A PRG:015A 38 - lda Zp38,x ; CPU:$815B PRG:015B B5 38 + lda ElevatorSpriteY,x ; CPU:$815B PRG:015B B5 38 sbc #$01 ; CPU:$815D PRG:015D E9 01 - sta Zp38,x ; CPU:$815F PRG:015F 95 38 - lda Zp39,x ; CPU:$8161 PRG:0161 B5 39 + sta ElevatorSpriteY,x ; CPU:$815F PRG:015F 95 38 + lda ElevatorSpriteX,x ; CPU:$8161 PRG:0161 B5 39 sbc #$00 ; CPU:$8163 PRG:0163 E9 00 - sta Zp39,x ; CPU:$8165 PRG:0165 95 39 - bcs NmiHandler_Loop5 ; CPU:$8167 PRG:0167 B0 06 - lda Zp02,x ; CPU:$8169 PRG:0169 B5 02 + sta ElevatorSpriteX,x ; CPU:$8165 PRG:0165 95 39 + bcs NmiHandler_Loop5 ; CPU:$8167 PRG:0167 B0 06 + lda ElevatorStateFlags,x ; CPU:$8169 PRG:0169 B5 02 and #$BF ; CPU:$816B PRG:016B 29 BF - sta Zp02,x ; CPU:$816D PRG:016D 95 02 + sta ElevatorStateFlags,x ; CPU:$816D PRG:016D 95 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop5 -; Global: Branch target inside Label: taken when 816F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop5: cpx #$36 ; CPU:$816F PRG:016F E0 36 - bne NmiHandler_OnNonzero2 ; CPU:$8171 PRG:0171 D0 DF + bne NmiHandler_OnNonzero2 ; CPU:$8171 PRG:0171 D0 DF lda #$00 ; CPU:$8173 PRG:0173 A9 00 sta $0672 ; CPU:$8175 PRG:0175 8D 72 06 ldx Zp9D ; CPU:$8178 PRG:0178 A6 9D txs ; CPU:$817A PRG:017A 9A lda $057F ; CPU:$817B PRG:017B AD 7F 05 - beq NmiHandler_Loop7 ; CPU:$817E PRG:017E F0 31 + beq NmiHandler_Loop7 ; CPU:$817E PRG:017E F0 31 inc Zp9E ; CPU:$8180 PRG:0180 E6 9E lda Zp9E ; CPU:$8182 PRG:0182 A5 9E and #$3F ; CPU:$8184 PRG:0184 29 3F - bne NmiHandler_Loop8 ; CPU:$8186 PRG:0186 D0 33 + bne NmiHandler_Loop8 ; CPU:$8186 PRG:0186 D0 33 lda Zp9E ; CPU:$8188 PRG:0188 A5 9E and #$40 ; CPU:$818A PRG:018A 29 40 - beq NmiHandler_Loop7 ; CPU:$818C PRG:018C F0 23 + beq NmiHandler_Loop7 ; CPU:$818C PRG:018C F0 23 lda $0587 ; CPU:$818E PRG:018E AD 87 05 - beq NmiHandler_Loop6 ; CPU:$8191 PRG:0191 F0 09 + beq NmiHandler_Loop6 ; CPU:$8191 PRG:0191 F0 09 lda #$43 ; CPU:$8193 PRG:0193 A9 43 sta Zp82 ; CPU:$8195 PRG:0195 85 82 lda #$84 ; CPU:$8197 PRG:0197 A9 84 - jmp Sub_81A2 ; CPU:$8199 PRG:0199 4C A2 81 + jmp Sub_81A2 ; CPU:$8199 PRG:0199 4C A2 81 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop6 -; Global: Branch target inside Label: taken when 819C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -399,8 +399,8 @@ NmiHandler_Loop6: lda #$84 ; CPU:$81A0 PRG:01A0 A9 84 ; ----------------------------------------------------------------------------- ; Routine: Sub_81A2 -; Global: Branch target inside Label: taken when 81A2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 81A2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -410,8 +410,8 @@ Sub_81A2: ldy #$0B ; CPU:$81A4 PRG:01A4 A0 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative2 -; Global: Branch target inside Label: taken when 81A6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -420,12 +420,12 @@ NmiHandler_OnNonnegative2: lda (Zp82),y ; CPU:$81A6 PRG:01A6 B1 82 sta $0200,y ; CPU:$81A8 PRG:01A8 99 00 02 dey ; CPU:$81AB PRG:01AB 88 - bpl NmiHandler_OnNonnegative2 ; CPU:$81AC PRG:01AC 10 F8 - jmp NmiHandler_Loop8 ; CPU:$81AE PRG:01AE 4C BB 81 + bpl NmiHandler_OnNonnegative2 ; CPU:$81AC PRG:01AC 10 F8 + jmp NmiHandler_Loop8 ; CPU:$81AE PRG:01AE 4C BB 81 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop7 -; Global: Branch target inside Label: taken when 81B1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -435,8 +435,8 @@ NmiHandler_Loop7: ldy #$0B ; CPU:$81B3 PRG:01B3 A0 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative3 -; Global: Branch target inside Label: taken when 81B5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -444,18 +444,18 @@ NmiHandler_Loop7: NmiHandler_OnNonnegative3: sta $0200,y ; CPU:$81B5 PRG:01B5 99 00 02 dey ; CPU:$81B8 PRG:01B8 88 - bpl NmiHandler_OnNonnegative3 ; CPU:$81B9 PRG:01B9 10 FA + bpl NmiHandler_OnNonnegative3 ; CPU:$81B9 PRG:01B9 10 FA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop8 -; Global: Branch target inside Label: taken when 81BB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop8: lda $0683 ; CPU:$81BB PRG:01BB AD 83 06 - bne NmiHandler_Loop9 ; CPU:$81BE PRG:01BE D0 0D + bne NmiHandler_Loop9 ; CPU:$81BE PRG:01BE D0 0D lda ZpF6 ; CPU:$81C0 PRG:01C0 A5 F6 clc ; CPU:$81C2 PRG:01C2 18 adc #$01 ; CPU:$81C3 PRG:01C3 69 01 @@ -465,34 +465,34 @@ NmiHandler_Loop8: sta ZpF7 ; CPU:$81CB PRG:01CB 85 F7 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop9 -; Global: Branch target inside Label: taken when 81CD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop9: - lda Zp88 ; CPU:$81CD PRG:01CD A5 88 + lda PpuCtrlShadow ; CPU:$81CD PRG:01CD A5 88 ora #$80 ; CPU:$81CF PRG:01CF 09 80 - sta Zp88 ; CPU:$81D1 PRG:01D1 85 88 + sta PpuCtrlShadow ; CPU:$81D1 PRG:01D1 85 88 sta PPUCTRL ; CPU:$81D3 PRG:01D3 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_81D6 -; Global: Branch target inside Label: taken when 81D6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 81D6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_81D6: - ldy Zp9C ; CPU:$81D6 PRG:01D6 A4 9C - ldx Zp9B ; CPU:$81D8 PRG:01D8 A6 9B - lda Zp9A ; CPU:$81DA PRG:01DA A5 9A + ldy NmiSaveY ; CPU:$81D6 PRG:01D6 A4 9C + ldx NmiSaveX ; CPU:$81D8 PRG:01D8 A6 9B + lda NmiSaveA ; CPU:$81DA PRG:01DA A5 9A rti ; CPU:$81DC PRG:01DC 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_81DD -; Global: Branch target inside Label: taken when 81DD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 81DD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -504,15 +504,15 @@ Sub_81DD: sta JOY1 ; CPU:$81E4 PRG:01E4 8D 16 40 sta Zp94 ; CPU:$81E7 PRG:01E7 85 94 ldx #$00 ; CPU:$81E9 PRG:01E9 A2 00 - jsr Sub_81F6 ; CPU:$81EB PRG:01EB 20 F6 81 + jsr Sub_81F6 ; CPU:$81EB PRG:01EB 20 F6 81 inx ; CPU:$81EE PRG:01EE E8 lda #$00 ; CPU:$81EF PRG:01EF A9 00 sta Zp94 ; CPU:$81F1 PRG:01F1 85 94 - jmp Sub_81F6 ; CPU:$81F3 PRG:01F3 4C F6 81 + jmp Sub_81F6 ; CPU:$81F3 PRG:01F3 4C F6 81 ; ----------------------------------------------------------------------------- ; Routine: Sub_81F6 -; Global: Branch target inside Label: taken when 81F6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 81F6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -521,8 +521,8 @@ Sub_81F6: ldy #$08 ; CPU:$81F6 PRG:01F6 A0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside Label: taken when 81F8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -537,7 +537,7 @@ NmiHandler_OnNonzero3: lda Zp94 ; CPU:$8203 PRG:0203 A5 94 rol a ; CPU:$8205 PRG:0205 2A dey ; CPU:$8206 PRG:0206 88 - bne NmiHandler_OnNonzero3 ; CPU:$8207 PRG:0207 D0 EF + bne NmiHandler_OnNonzero3 ; CPU:$8207 PRG:0207 D0 EF stx Zp95 ; CPU:$8209 PRG:0209 86 95 asl Zp95 ; CPU:$820B PRG:020B 06 95 ldx Zp95 ; CPU:$820D PRG:020D A6 95 @@ -546,15 +546,15 @@ NmiHandler_OnNonzero3: sta Zp96,x ; CPU:$8213 PRG:0213 95 96 sta Zp97,x ; CPU:$8215 PRG:0215 95 97 and #$FF ; CPU:$8217 PRG:0217 29 FF - bpl NmiHandler_Loop10 ; CPU:$8219 PRG:0219 10 08 + bpl NmiHandler_Loop10 ; CPU:$8219 PRG:0219 10 08 bit Zp95 ; CPU:$821B PRG:021B 24 95 - bpl NmiHandler_Loop10 ; CPU:$821D PRG:021D 10 04 + bpl NmiHandler_Loop10 ; CPU:$821D PRG:021D 10 04 and #$7F ; CPU:$821F PRG:021F 29 7F sta Zp97,x ; CPU:$8221 PRG:0221 95 97 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop10 -; Global: Branch target inside Label: taken when 8223. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -563,8 +563,8 @@ NmiHandler_Loop10: rts ; CPU:$8223 PRG:0223 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8224 -; Global: Branch target inside Label: taken when 8224. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8224. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -578,35 +578,35 @@ Sub_8224: tya ; CPU:$822A PRG:022A 98 pha ; CPU:$822B PRG:022B 48 ldx Zp75 ; CPU:$822C PRG:022C A6 75 - lda Zp02,x ; CPU:$822E PRG:022E B5 02 + lda ElevatorStateFlags,x ; CPU:$822E PRG:022E B5 02 and #$80 ; CPU:$8230 PRG:0230 29 80 - bne NmiHandler_Loop11 ; CPU:$8232 PRG:0232 D0 2B - lda Zp02,x ; CPU:$8234 PRG:0234 B5 02 + bne NmiHandler_Loop11 ; CPU:$8232 PRG:0232 D0 2B + lda ElevatorStateFlags,x ; CPU:$8234 PRG:0234 B5 02 ora #$80 ; CPU:$8236 PRG:0236 09 80 - sta Zp02,x ; CPU:$8238 PRG:0238 95 02 + sta ElevatorStateFlags,x ; CPU:$8238 PRG:0238 95 02 lda $83CB,x ; CPU:$823A PRG:023A BD CB 83 sec ; CPU:$823D PRG:023D 38 sbc #$02 ; CPU:$823E PRG:023E E9 02 - sta Zp71 ; CPU:$8240 PRG:0240 85 71 + sta OamShadowPtrLo ; CPU:$8240 PRG:0240 85 71 lda #$01 ; CPU:$8242 PRG:0242 A9 01 - sta Zp72 ; CPU:$8244 PRG:0244 85 72 + sta OamShadowPtrHi ; CPU:$8244 PRG:0244 85 72 ldy #$00 ; CPU:$8246 PRG:0246 A0 00 lda #$04 ; CPU:$8248 PRG:0248 A9 04 - sta (Zp71),y ; CPU:$824A PRG:024A 91 71 + sta (OamShadowPtrLo),y ; CPU:$824A PRG:024A 91 71 iny ; CPU:$824C PRG:024C C8 lda $8401,x ; CPU:$824D PRG:024D BD 01 84 - sta (Zp71),y ; CPU:$8250 PRG:0250 91 71 + sta (OamShadowPtrLo),y ; CPU:$8250 PRG:0250 91 71 iny ; CPU:$8252 PRG:0252 C8 lda $8402,x ; CPU:$8253 PRG:0253 BD 02 84 - sta (Zp71),y ; CPU:$8256 PRG:0256 91 71 + sta (OamShadowPtrLo),y ; CPU:$8256 PRG:0256 91 71 sec ; CPU:$8258 PRG:0258 38 - lda Zp71 ; CPU:$8259 PRG:0259 A5 71 + lda OamShadowPtrLo ; CPU:$8259 PRG:0259 A5 71 sbc #$02 ; CPU:$825B PRG:025B E9 02 - sta Zp03,x ; CPU:$825D PRG:025D 95 03 + sta ElevatorStateBackup,x ; CPU:$825D PRG:025D 95 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop11 -; Global: Branch target inside Label: taken when 825F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -621,21 +621,21 @@ NmiHandler_Loop11: rts ; CPU:$8265 PRG:0265 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8266 -; Global: Branch target inside Label: taken when 8266. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8266. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8266: - ldx Zp00 ; CPU:$8266 PRG:0266 A6 00 + ldx ElevatorSpeed ; CPU:$8266 PRG:0266 A6 00 lda #$00 ; CPU:$8268 PRG:0268 A9 00 - sta Zp02,x ; CPU:$826A PRG:026A 95 02 - jmp Sub_82F0 ; CPU:$826C PRG:026C 4C F0 82 + sta ElevatorStateFlags,x ; CPU:$826A PRG:026A 95 02 + jmp Sub_82F0 ; CPU:$826C PRG:026C 4C F0 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_826F -; Global: Branch target inside Label: taken when 826F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 826F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -650,12 +650,12 @@ Sub_826F: pha ; CPU:$8276 PRG:0276 48 ldx Zp75 ; CPU:$8277 PRG:0277 A6 75 lda #$00 ; CPU:$8279 PRG:0279 A9 00 - sta Zp02,x ; CPU:$827B PRG:027B 95 02 - jmp NmiHandler_Loop11 ; CPU:$827D PRG:027D 4C 5F 82 + sta ElevatorStateFlags,x ; CPU:$827B PRG:027B 95 02 + jmp NmiHandler_Loop11 ; CPU:$827D PRG:027D 4C 5F 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_8280 -; Global: Branch target inside Label: taken when 8280. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8280. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -664,26 +664,26 @@ Sub_8280: php ; CPU:$8280 PRG:0280 08 pha ; CPU:$8281 PRG:0281 48 txa ; CPU:$8282 PRG:0282 8A - ldx Zp00 ; CPU:$8283 PRG:0283 A6 00 + ldx ElevatorSpeed ; CPU:$8283 PRG:0283 A6 00 sta $0522,x ; CPU:$8285 PRG:0285 9D 22 05 tya ; CPU:$8288 PRG:0288 98 sta $0523,x ; CPU:$8289 PRG:0289 9D 23 05 tsx ; CPU:$828C PRG:028C BA txa ; CPU:$828D PRG:028D 8A - ldx Zp00 ; CPU:$828E PRG:028E A6 00 - sta Zp03,x ; CPU:$8290 PRG:0290 95 03 - lda Zp02,x ; CPU:$8292 PRG:0292 B5 02 + ldx ElevatorSpeed ; CPU:$828E PRG:028E A6 00 + sta ElevatorStateBackup,x ; CPU:$8290 PRG:0290 95 03 + lda ElevatorStateFlags,x ; CPU:$8292 PRG:0292 B5 02 ora #$40 ; CPU:$8294 PRG:0294 09 40 - sta Zp02,x ; CPU:$8296 PRG:0296 95 02 - lda Zp6F ; CPU:$8298 PRG:0298 A5 6F - sta Zp38,x ; CPU:$829A PRG:029A 95 38 - lda Zp70 ; CPU:$829C PRG:029C A5 70 - sta Zp39,x ; CPU:$829E PRG:029E 95 39 - jmp Sub_82F0 ; CPU:$82A0 PRG:02A0 4C F0 82 + sta ElevatorStateFlags,x ; CPU:$8296 PRG:0296 95 02 + lda PlayerSpriteX ; CPU:$8298 PRG:0298 A5 6F + sta ElevatorSpriteY,x ; CPU:$829A PRG:029A 95 38 + lda PlayerSpriteY ; CPU:$829C PRG:029C A5 70 + sta ElevatorSpriteX,x ; CPU:$829E PRG:029E 95 39 + jmp Sub_82F0 ; CPU:$82A0 PRG:02A0 4C F0 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_82A3 -; Global: Branch target inside Label: taken when 82A3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82A3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -692,19 +692,19 @@ Sub_82A3: php ; CPU:$82A3 PRG:02A3 08 pha ; CPU:$82A4 PRG:02A4 48 txa ; CPU:$82A5 PRG:02A5 8A - ldx Zp00 ; CPU:$82A6 PRG:02A6 A6 00 + ldx ElevatorSpeed ; CPU:$82A6 PRG:02A6 A6 00 sta $0522,x ; CPU:$82A8 PRG:02A8 9D 22 05 tya ; CPU:$82AB PRG:02AB 98 sta $0523,x ; CPU:$82AC PRG:02AC 9D 23 05 tsx ; CPU:$82AF PRG:02AF BA txa ; CPU:$82B0 PRG:02B0 8A - ldx Zp00 ; CPU:$82B1 PRG:02B1 A6 00 - sta Zp03,x ; CPU:$82B3 PRG:02B3 95 03 - jmp Sub_82F0 ; CPU:$82B5 PRG:02B5 4C F0 82 + ldx ElevatorSpeed ; CPU:$82B1 PRG:02B1 A6 00 + sta ElevatorStateBackup,x ; CPU:$82B3 PRG:02B3 95 03 + jmp Sub_82F0 ; CPU:$82B5 PRG:02B5 4C F0 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_82B8 -; Global: Branch target inside Label: taken when 82B8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82B8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -718,27 +718,27 @@ Sub_82B8: tya ; CPU:$82BE PRG:02BE 98 pha ; CPU:$82BF PRG:02BF 48 ldx Zp75 ; CPU:$82C0 PRG:02C0 A6 75 - lda Zp02,x ; CPU:$82C2 PRG:02C2 B5 02 + lda ElevatorStateFlags,x ; CPU:$82C2 PRG:02C2 B5 02 and #$80 ; CPU:$82C4 PRG:02C4 29 80 - bne NmiHandler_Loop12 ; CPU:$82C6 PRG:02C6 D0 03 - jmp NmiHandler_Loop11 ; CPU:$82C8 PRG:02C8 4C 5F 82 + bne NmiHandler_Loop12 ; CPU:$82C6 PRG:02C6 D0 03 + jmp NmiHandler_Loop11 ; CPU:$82C8 PRG:02C8 4C 5F 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop12 -; Global: Branch target inside Label: taken when 82CB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop12. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop12: - lda Zp02,x ; CPU:$82CB PRG:02CB B5 02 + lda ElevatorStateFlags,x ; CPU:$82CB PRG:02CB B5 02 and #$FE ; CPU:$82CD PRG:02CD 29 FE - sta Zp02,x ; CPU:$82CF PRG:02CF 95 02 - jmp NmiHandler_Loop11 ; CPU:$82D1 PRG:02D1 4C 5F 82 + sta ElevatorStateFlags,x ; CPU:$82CF PRG:02CF 95 02 + jmp NmiHandler_Loop11 ; CPU:$82D1 PRG:02D1 4C 5F 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_82D4 -; Global: Branch target inside Label: taken when 82D4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82D4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -752,45 +752,45 @@ Sub_82D4: tya ; CPU:$82DA PRG:02DA 98 pha ; CPU:$82DB PRG:02DB 48 ldx Zp75 ; CPU:$82DC PRG:02DC A6 75 - lda Zp02,x ; CPU:$82DE PRG:02DE B5 02 + lda ElevatorStateFlags,x ; CPU:$82DE PRG:02DE B5 02 and #$80 ; CPU:$82E0 PRG:02E0 29 80 - bne NmiHandler_Loop13 ; CPU:$82E2 PRG:02E2 D0 03 - jmp NmiHandler_Loop11 ; CPU:$82E4 PRG:02E4 4C 5F 82 + bne NmiHandler_Loop13 ; CPU:$82E2 PRG:02E2 D0 03 + jmp NmiHandler_Loop11 ; CPU:$82E4 PRG:02E4 4C 5F 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop13 -; Global: Branch target inside Label: taken when 82E7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop13. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop13: - lda Zp02,x ; CPU:$82E7 PRG:02E7 B5 02 + lda ElevatorStateFlags,x ; CPU:$82E7 PRG:02E7 B5 02 ora #$01 ; CPU:$82E9 PRG:02E9 09 01 - sta Zp02,x ; CPU:$82EB PRG:02EB 95 02 - jmp NmiHandler_Loop11 ; CPU:$82ED PRG:02ED 4C 5F 82 + sta ElevatorStateFlags,x ; CPU:$82EB PRG:02EB 95 02 + jmp NmiHandler_Loop11 ; CPU:$82ED PRG:02ED 4C 5F 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_82F0 -; Global: Branch target inside Label: taken when 82F0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82F0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_82F0: - ldx Zp00 ; CPU:$82F0 PRG:02F0 A6 00 + ldx ElevatorSpeed ; CPU:$82F0 PRG:02F0 A6 00 cpx #$36 ; CPU:$82F2 PRG:02F2 E0 36 - beq NmiHandler_Loop14 ; CPU:$82F4 PRG:02F4 F0 12 + beq NmiHandler_Loop14 ; CPU:$82F4 PRG:02F4 F0 12 lda #$36 ; CPU:$82F6 PRG:02F6 A9 36 sec ; CPU:$82F8 PRG:02F8 38 - sbc Zp00 ; CPU:$82F9 PRG:02F9 E5 00 + sbc ElevatorSpeed ; CPU:$82F9 PRG:02F9 E5 00 lsr a ; CPU:$82FB PRG:02FB 4A tay ; CPU:$82FC PRG:02FC A8 lda #$80 ; CPU:$82FD PRG:02FD A9 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside Label: taken when 82FF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -798,28 +798,28 @@ Sub_82F0: NmiHandler_OnNonzero4: inx ; CPU:$82FF PRG:02FF E8 inx ; CPU:$8300 PRG:0300 E8 - cmp Zp02,x ; CPU:$8301 PRG:0301 D5 02 - beq NmiHandler_Loop16 ; CPU:$8303 PRG:0303 F0 1C + cmp ElevatorStateFlags,x ; CPU:$8301 PRG:0301 D5 02 + beq NmiHandler_Loop16 ; CPU:$8303 PRG:0303 F0 1C dey ; CPU:$8305 PRG:0305 88 - bne NmiHandler_OnNonzero4 ; CPU:$8306 PRG:0306 D0 F7 + bne NmiHandler_OnNonzero4 ; CPU:$8306 PRG:0306 D0 F7 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop14 -; Global: Branch target inside Label: taken when 8308. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop14. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop14: lda #$00 ; CPU:$8308 PRG:0308 A9 00 - sta Zp00 ; CPU:$830A PRG:030A 85 00 - sta ZpFA ; CPU:$830C PRG:030C 85 FA + sta ElevatorSpeed ; CPU:$830A PRG:030A 85 00 + sta NmiFrameFlag ; CPU:$830C PRG:030C 85 FA ldx #$FF ; CPU:$830E PRG:030E A2 FF txs ; CPU:$8310 PRG:0310 9A ; ----------------------------------------------------------------------------- ; Routine: Sub_8311 -; Global: Branch target inside Label: taken when 8311. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8311. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -827,12 +827,12 @@ NmiHandler_Loop14: Sub_8311: lda Zp6E ; CPU:$8311 PRG:0311 A5 6E cmp #$02 ; CPU:$8313 PRG:0313 C9 02 - bcs NmiHandler_Loop15 ; CPU:$8315 PRG:0315 B0 03 - jmp Sub_8311 ; CPU:$8317 PRG:0317 4C 11 83 + bcs NmiHandler_Loop15 ; CPU:$8315 PRG:0315 B0 03 + jmp Sub_8311 ; CPU:$8317 PRG:0317 4C 11 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop15 -; Global: Branch target inside Label: taken when 831A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -840,21 +840,21 @@ Sub_8311: NmiHandler_Loop15: lda #$00 ; CPU:$831A PRG:031A A9 00 sta Zp6E ; CPU:$831C PRG:031C 85 6E - jmp Sub_82F0 ; CPU:$831E PRG:031E 4C F0 82 + jmp Sub_82F0 ; CPU:$831E PRG:031E 4C F0 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop16 -; Global: Branch target inside Label: taken when 8321. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop16: - stx Zp00 ; CPU:$8321 PRG:0321 86 00 - lda Zp03,x ; CPU:$8323 PRG:0323 B5 03 + stx ElevatorSpeed ; CPU:$8321 PRG:0321 86 00 + lda ElevatorStateBackup,x ; CPU:$8323 PRG:0323 B5 03 tax ; CPU:$8325 PRG:0325 AA txs ; CPU:$8326 PRG:0326 9A - ldx Zp00 ; CPU:$8327 PRG:0327 A6 00 + ldx ElevatorSpeed ; CPU:$8327 PRG:0327 A6 00 lda $0523,x ; CPU:$8329 PRG:0329 BD 23 05 tay ; CPU:$832C PRG:032C A8 lda $0522,x ; CPU:$832D PRG:032D BD 22 05 @@ -864,32 +864,32 @@ NmiHandler_Loop16: rts ; CPU:$8333 PRG:0333 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8334 -; Global: Branch target inside Label: taken when 8334. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8334. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8334: ldy #$00 ; CPU:$8334 PRG:0334 A0 00 - lda (Zp73),y ; CPU:$8336 PRG:0336 B1 73 + lda (VramWritePtrLo),y ; CPU:$8336 PRG:0336 B1 73 sta $0342,x ; CPU:$8338 PRG:0338 9D 42 03 - jsr Sub_8610 ; CPU:$833B PRG:033B 20 10 86 + jsr Sub_8610 ; CPU:$833B PRG:033B 20 10 86 lda #$00 ; CPU:$833E PRG:033E A9 00 sta $034F,x ; CPU:$8340 PRG:0340 9D 4F 03 - lda Zp73 ; CPU:$8343 PRG:0343 A5 73 + lda VramWritePtrLo ; CPU:$8343 PRG:0343 A5 73 sta $035C,x ; CPU:$8345 PRG:0345 9D 5C 03 - lda Zp74 ; CPU:$8348 PRG:0348 A5 74 + lda VramWritePtrHi ; CPU:$8348 PRG:0348 A5 74 sta $0369,x ; CPU:$834A PRG:034A 9D 69 03 - lda Zp73 ; CPU:$834D PRG:034D A5 73 + lda VramWritePtrLo ; CPU:$834D PRG:034D A5 73 sta $0376,x ; CPU:$834F PRG:034F 9D 76 03 - lda Zp74 ; CPU:$8352 PRG:0352 A5 74 + lda VramWritePtrHi ; CPU:$8352 PRG:0352 A5 74 sta $0383,x ; CPU:$8354 PRG:0354 9D 83 03 rts ; CPU:$8357 PRG:0357 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8358 -; Global: Branch target inside Label: taken when 8358. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8358. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -897,27 +897,27 @@ Sub_8334: Sub_8358: lda $0673 ; CPU:$8358 PRG:0358 AD 73 06 and #$01 ; CPU:$835B PRG:035B 29 01 - bne NmiHandler_Loop17 ; CPU:$835D PRG:035D D0 03 - jsr Sub_82A3 ; CPU:$835F PRG:035F 20 A3 82 + bne NmiHandler_Loop17 ; CPU:$835D PRG:035D D0 03 + jsr Sub_82A3 ; CPU:$835F PRG:035F 20 A3 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop17 -; Global: Branch target inside Label: taken when 8362. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop17: lda $034F,x ; CPU:$8362 PRG:0362 BD 4F 03 - beq NmiHandler_Loop19 ; CPU:$8365 PRG:0365 F0 0F + beq NmiHandler_Loop19 ; CPU:$8365 PRG:0365 F0 0F lda $0336,x ; CPU:$8367 PRG:0367 BD 36 03 and #$40 ; CPU:$836A PRG:036A 29 40 - bne NmiHandler_Loop18 ; CPU:$836C PRG:036C D0 03 - jsr Sub_82A3 ; CPU:$836E PRG:036E 20 A3 82 + bne NmiHandler_Loop18 ; CPU:$836C PRG:036C D0 03 + jsr Sub_82A3 ; CPU:$836E PRG:036E 20 A3 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop18 -; Global: Branch target inside Label: taken when 8371. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -928,48 +928,48 @@ NmiHandler_Loop18: rts ; CPU:$8375 PRG:0375 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop19 -; Global: Branch target inside Label: taken when 8376. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop19: lda $0376,x ; CPU:$8376 PRG:0376 BD 76 03 - sta Zp73 ; CPU:$8379 PRG:0379 85 73 + sta VramWritePtrLo ; CPU:$8379 PRG:0379 85 73 lda $0383,x ; CPU:$837B PRG:037B BD 83 03 - sta Zp74 ; CPU:$837E PRG:037E 85 74 + sta VramWritePtrHi ; CPU:$837E PRG:037E 85 74 ldy #$00 ; CPU:$8380 PRG:0380 A0 00 - lda (Zp73),y ; CPU:$8382 PRG:0382 B1 73 + lda (VramWritePtrLo),y ; CPU:$8382 PRG:0382 B1 73 cmp #$FF ; CPU:$8384 PRG:0384 C9 FF - beq NmiHandler_Loop21 ; CPU:$8386 PRG:0386 F0 26 + beq NmiHandler_Loop21 ; CPU:$8386 PRG:0386 F0 26 ; ----------------------------------------------------------------------------- ; Routine: Sub_8388 -; Global: Branch target inside Label: taken when 8388. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8388. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8388: sta $0314,x ; CPU:$8388 PRG:0388 9D 14 03 - jsr Sub_8610 ; CPU:$838B PRG:038B 20 10 86 + jsr Sub_8610 ; CPU:$838B PRG:038B 20 10 86 ldy #$00 ; CPU:$838E PRG:038E A0 00 - lda (Zp73),y ; CPU:$8390 PRG:0390 B1 73 + lda (VramWritePtrLo),y ; CPU:$8390 PRG:0390 B1 73 sta $034F,x ; CPU:$8392 PRG:0392 9D 4F 03 - jsr Sub_8610 ; CPU:$8395 PRG:0395 20 10 86 - lda Zp73 ; CPU:$8398 PRG:0398 A5 73 + jsr Sub_8610 ; CPU:$8395 PRG:0395 20 10 86 + lda VramWritePtrLo ; CPU:$8398 PRG:0398 A5 73 sta $0376,x ; CPU:$839A PRG:039A 9D 76 03 - lda Zp74 ; CPU:$839D PRG:039D A5 74 + lda VramWritePtrHi ; CPU:$839D PRG:039D A5 74 sta $0383,x ; CPU:$839F PRG:039F 9D 83 03 lda $0336,x ; CPU:$83A2 PRG:03A2 BD 36 03 and #$40 ; CPU:$83A5 PRG:03A5 29 40 - bne NmiHandler_Loop20 ; CPU:$83A7 PRG:03A7 D0 03 - jsr Sub_82A3 ; CPU:$83A9 PRG:03A9 20 A3 82 + bne NmiHandler_Loop20 ; CPU:$83A7 PRG:03A7 D0 03 + jsr Sub_82A3 ; CPU:$83A9 PRG:03A9 20 A3 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop20 -; Global: Branch target inside Label: taken when 83AC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -979,40 +979,41 @@ NmiHandler_Loop20: rts ; CPU:$83AD PRG:03AD 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop21 -; Global: Branch target inside Label: taken when 83AE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop21. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop21: - jsr Sub_8610 ; CPU:$83AE PRG:03AE 20 10 86 + jsr Sub_8610 ; CPU:$83AE PRG:03AE 20 10 86 lda $0342,x ; CPU:$83B1 PRG:03B1 BD 42 03 cmp #$00 ; CPU:$83B4 PRG:03B4 C9 00 - beq NmiHandler_Loop22 ; CPU:$83B6 PRG:03B6 F0 02 + beq NmiHandler_Loop22 ; CPU:$83B6 PRG:03B6 F0 02 sec ; CPU:$83B8 PRG:03B8 38 rts ; CPU:$83B9 PRG:03B9 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop22 -; Global: Branch target inside Label: taken when 83BA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop22: lda $035C,x ; CPU:$83BA PRG:03BA BD 5C 03 - sta Zp73 ; CPU:$83BD PRG:03BD 85 73 + sta VramWritePtrLo ; CPU:$83BD PRG:03BD 85 73 lda $0369,x ; CPU:$83BF PRG:03BF BD 69 03 - sta Zp74 ; CPU:$83C2 PRG:03C2 85 74 + sta VramWritePtrHi ; CPU:$83C2 PRG:03C2 85 74 ldy #$00 ; CPU:$83C4 PRG:03C4 A0 00 - lda (Zp73),y ; CPU:$83C6 PRG:03C6 B1 73 - jmp Sub_8388 ; CPU:$83C8 PRG:03C8 4C 88 83 + lda (VramWritePtrLo),y ; CPU:$83C6 PRG:03C6 B1 73 + jmp Sub_8388 ; CPU:$83C8 PRG:03C8 4C 88 83 ; ---- data $83CB-$844E (132 bytes) ---- ; referenced by `lda $83CB,x` at $823A (operand $83CB falls inside this region) ; referenced by `lda $8401,x` at $824D (operand $8401 falls inside this region) ; referenced by `lda $8402,x` at $8253 (operand $8402 falls inside this region) - .byte $00, $00, $0F, $00, $1F, $00, $47, $00, $57, $00, $67, $00, $77, $00, $87, $00 ; CPU:$83CB PRG:03CB 00 00 0F 00 1F 00 47 00 57 00 67 00 77 00 87 00 +EnemySpawnOffsetTable: + .byte $00, $00, $0F, $00, $1F, $00, $47, $00, $57, $00, $67, $00, $77, $00, $87, $00 ; CPU:$83CB PRG:-3C35 00 00 0F 00 1F 00 47 00 57 00 67 00 77 00 87 00 .byte $97, $00, $A7, $00, $B7, $00, $CF, $00, $DF, $00, $47, $00, $57, $00, $67, $00 ; CPU:$83DB PRG:03DB 97 00 A7 00 B7 00 CF 00 DF 00 47 00 57 00 67 00 .byte $77, $00, $87, $00, $97, $00, $A7, $00, $B7, $00, $DF, $00, $57, $00, $57, $00 ; CPU:$83EB PRG:03EB 77 00 87 00 97 00 A7 00 B7 00 DF 00 57 00 57 00 .byte $67, $00, $77, $00, $37, $00, $00, $00, $61, $9D, $2A, $BB, $3D, $D7, $9D, $E7 ; CPU:$83FB PRG:03FB 67 00 77 00 37 00 00 00 61 9D 2A BB 3D D7 9D E7 @@ -1023,33 +1024,33 @@ NmiHandler_Loop22: .byte $18, $9C, $03, $D0 ; CPU:$844B PRG:044B 18 9C 03 D0 ; ----------------------------------------------------------------------------- ; Routine: Sub_844F -; Global: Branch target inside Label: taken when 844F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 844F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_844F: lda #$FF ; CPU:$844F PRG:044F A9 FF - sta ZpFA ; CPU:$8451 PRG:0451 85 FA - jsr Sub_A46F ; CPU:$8453 PRG:0453 20 6F A4 + sta NmiFrameFlag ; CPU:$8451 PRG:0451 85 FA + jsr Sub_A46F ; CPU:$8453 PRG:0453 20 6F A4 lda #$00 ; CPU:$8456 PRG:0456 A9 00 - sta ZpFA ; CPU:$8458 PRG:0458 85 FA + sta NmiFrameFlag ; CPU:$8458 PRG:0458 85 FA ldx #$00 ; CPU:$845A PRG:045A A2 00 ldy #$00 ; CPU:$845C PRG:045C A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside Label: taken when 845E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero5: - lda ZpB7,x ; CPU:$845E PRG:045E B5 B7 - bpl NmiHandler_Loop23 ; CPU:$8460 PRG:0460 10 1F + lda SpriteIndex,x ; CPU:$845E PRG:045E B5 B7 + bpl NmiHandler_Loop23 ; CPU:$8460 PRG:0460 10 1F and #$02 ; CPU:$8462 PRG:0462 29 02 - bne NmiHandler_Loop23 ; CPU:$8464 PRG:0464 D0 1B + bne NmiHandler_Loop23 ; CPU:$8464 PRG:0464 D0 1B lda $0303,x ; CPU:$8466 PRG:0466 BD 03 03 sta $04DA,y ; CPU:$8469 PRG:0469 99 DA 04 iny ; CPU:$846C PRG:046C C8 @@ -1059,13 +1060,13 @@ NmiHandler_OnNonzero5: lda $0325,x ; CPU:$8474 PRG:0474 BD 25 03 sta $04DA,y ; CPU:$8477 PRG:0477 99 DA 04 iny ; CPU:$847A PRG:047A C8 - lda ZpC8,x ; CPU:$847B PRG:047B B5 C8 + lda SpriteYPosition,x ; CPU:$847B PRG:047B B5 C8 sta $04DA,y ; CPU:$847D PRG:047D 99 DA 04 iny ; CPU:$8480 PRG:0480 C8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop23 -; Global: Branch target inside Label: taken when 8481. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1073,21 +1074,21 @@ NmiHandler_OnNonzero5: NmiHandler_Loop23: inx ; CPU:$8481 PRG:0481 E8 cpx #$11 ; CPU:$8482 PRG:0482 E0 11 - bne NmiHandler_OnNonzero5 ; CPU:$8484 PRG:0484 D0 D8 + bne NmiHandler_OnNonzero5 ; CPU:$8484 PRG:0484 D0 D8 ldx #$07 ; CPU:$8486 PRG:0486 A2 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside Label: taken when 8488. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero6: - lda ZpB7,x ; CPU:$8488 PRG:0488 B5 B7 - bpl NmiHandler_Loop24 ; CPU:$848A PRG:048A 10 1F + lda SpriteIndex,x ; CPU:$8488 PRG:0488 B5 B7 + bpl NmiHandler_Loop24 ; CPU:$848A PRG:048A 10 1F and #$02 ; CPU:$848C PRG:048C 29 02 - beq NmiHandler_Loop24 ; CPU:$848E PRG:048E F0 1B + beq NmiHandler_Loop24 ; CPU:$848E PRG:048E F0 1B lda $0303,x ; CPU:$8490 PRG:0490 BD 03 03 sta $04DA,y ; CPU:$8493 PRG:0493 99 DA 04 iny ; CPU:$8496 PRG:0496 C8 @@ -1097,13 +1098,13 @@ NmiHandler_OnNonzero6: lda $0325,x ; CPU:$849E PRG:049E BD 25 03 sta $04DA,y ; CPU:$84A1 PRG:04A1 99 DA 04 iny ; CPU:$84A4 PRG:04A4 C8 - lda ZpC8,x ; CPU:$84A5 PRG:04A5 B5 C8 + lda SpriteYPosition,x ; CPU:$84A5 PRG:04A5 B5 C8 sta $04DA,y ; CPU:$84A7 PRG:04A7 99 DA 04 iny ; CPU:$84AA PRG:04AA C8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop24 -; Global: Branch target inside Label: taken when 84AB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1111,13 +1112,13 @@ NmiHandler_OnNonzero6: NmiHandler_Loop24: inx ; CPU:$84AB PRG:04AB E8 cpx #$0C ; CPU:$84AC PRG:04AC E0 0C - bne NmiHandler_OnNonzero6 ; CPU:$84AE PRG:04AE D0 D8 + bne NmiHandler_OnNonzero6 ; CPU:$84AE PRG:04AE D0 D8 lda #$04 ; CPU:$84B0 PRG:04B0 A9 04 - sta Zp70 ; CPU:$84B2 PRG:04B2 85 70 + sta PlayerSpriteY ; CPU:$84B2 PRG:04B2 85 70 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside Label: taken when 84B4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1126,8 +1127,8 @@ NmiHandler_OnNonzero7: lda #$FF ; CPU:$84B4 PRG:04B4 A9 FF sta $04DA,y ; CPU:$84B6 PRG:04B6 99 DA 04 iny ; CPU:$84B9 PRG:04B9 C8 - dec Zp70 ; CPU:$84BA PRG:04BA C6 70 - bne NmiHandler_OnNonzero7 ; CPU:$84BC PRG:04BC D0 F6 + dec PlayerSpriteY ; CPU:$84BA PRG:04BA C6 70 + bne NmiHandler_OnNonzero7 ; CPU:$84BC PRG:04BC D0 F6 lda #$DA ; CPU:$84BE PRG:04BE A9 DA sta Zp76 ; CPU:$84C0 PRG:04C0 85 76 lda #$04 ; CPU:$84C2 PRG:04C2 A9 04 @@ -1136,43 +1137,43 @@ NmiHandler_OnNonzero7: sta Zp78 ; CPU:$84C8 PRG:04C8 85 78 lda #$02 ; CPU:$84CA PRG:04CA A9 02 sta Zp79 ; CPU:$84CC PRG:04CC 85 79 - jsr Sub_84F1 ; CPU:$84CE PRG:04CE 20 F1 84 + jsr Sub_84F1 ; CPU:$84CE PRG:04CE 20 F1 84 ldy #$00 ; CPU:$84D1 PRG:04D1 A0 00 lda Zp78 ; CPU:$84D3 PRG:04D3 A5 78 - sta Zp73 ; CPU:$84D5 PRG:04D5 85 73 + sta VramWritePtrLo ; CPU:$84D5 PRG:04D5 85 73 lda Zp79 ; CPU:$84D7 PRG:04D7 A5 79 - sta Zp74 ; CPU:$84D9 PRG:04D9 85 74 + sta VramWritePtrHi ; CPU:$84D9 PRG:04D9 85 74 ; ----------------------------------------------------------------------------- ; Routine: Sub_84DB -; Global: Branch target inside Label: taken when 84DB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 84DB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_84DB: - lda Zp74 ; CPU:$84DB PRG:04DB A5 74 + lda VramWritePtrHi ; CPU:$84DB PRG:04DB A5 74 cmp #$03 ; CPU:$84DD PRG:04DD C9 03 - bcs NmiHandler_Loop25 ; CPU:$84DF PRG:04DF B0 0A + bcs NmiHandler_Loop25 ; CPU:$84DF PRG:04DF B0 0A lda #$FF ; CPU:$84E1 PRG:04E1 A9 FF - sta (Zp73),y ; CPU:$84E3 PRG:04E3 91 73 - jsr Sub_8610 ; CPU:$84E5 PRG:04E5 20 10 86 - jmp Sub_84DB ; CPU:$84E8 PRG:04E8 4C DB 84 + sta (VramWritePtrLo),y ; CPU:$84E3 PRG:04E3 91 73 + jsr Sub_8610 ; CPU:$84E5 PRG:04E5 20 10 86 + jmp Sub_84DB ; CPU:$84E8 PRG:04E8 4C DB 84 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop25 -; Global: Branch target inside Label: taken when 84EB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop25: - jsr Sub_82A3 ; CPU:$84EB PRG:04EB 20 A3 82 - jmp Sub_844F ; CPU:$84EE PRG:04EE 4C 4F 84 + jsr Sub_82A3 ; CPU:$84EB PRG:04EB 20 A3 82 + jmp Sub_844F ; CPU:$84EE PRG:04EE 4C 4F 84 ; ----------------------------------------------------------------------------- ; Routine: Sub_84F1 -; Global: Branch target inside Label: taken when 84F1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 84F1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1181,12 +1182,12 @@ Sub_84F1: ldy #$01 ; CPU:$84F1 PRG:04F1 A0 01 lda (Zp76),y ; CPU:$84F3 PRG:04F3 B1 76 cmp #$FF ; CPU:$84F5 PRG:04F5 C9 FF - bne NmiHandler_Loop26 ; CPU:$84F7 PRG:04F7 D0 01 + bne NmiHandler_Loop26 ; CPU:$84F7 PRG:04F7 D0 01 rts ; CPU:$84F9 PRG:04F9 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop26 -; Global: Branch target inside Label: taken when 84FA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1195,99 +1196,99 @@ NmiHandler_Loop26: ldx #$00 ; CPU:$84FA PRG:04FA A2 00 ldy #$00 ; CPU:$84FC PRG:04FC A0 00 clc ; CPU:$84FE PRG:04FE 18 - sta Zp71 ; CPU:$84FF PRG:04FF 85 71 + sta OamShadowPtrLo ; CPU:$84FF PRG:04FF 85 71 lda #$00 ; CPU:$8501 PRG:0501 A9 00 - sta Zp72 ; CPU:$8503 PRG:0503 85 72 - asl Zp71 ; CPU:$8505 PRG:0505 06 71 - rol Zp72 ; CPU:$8507 PRG:0507 26 72 + sta OamShadowPtrHi ; CPU:$8503 PRG:0503 85 72 + asl OamShadowPtrLo ; CPU:$8505 PRG:0505 06 71 + rol OamShadowPtrHi ; CPU:$8507 PRG:0507 26 72 clc ; CPU:$8509 PRG:0509 18 - lda Zp71 ; CPU:$850A PRG:050A A5 71 + lda OamShadowPtrLo ; CPU:$850A PRG:050A A5 71 adc #$28 ; CPU:$850C PRG:050C 69 28 - sta Zp71 ; CPU:$850E PRG:050E 85 71 - lda Zp72 ; CPU:$8510 PRG:0510 A5 72 + sta OamShadowPtrLo ; CPU:$850E PRG:050E 85 71 + lda OamShadowPtrHi ; CPU:$8510 PRG:0510 A5 72 adc #$86 ; CPU:$8512 PRG:0512 69 86 - sta Zp72 ; CPU:$8514 PRG:0514 85 72 - lda (Zp71),y ; CPU:$8516 PRG:0516 B1 71 - sta Zp73 ; CPU:$8518 PRG:0518 85 73 + sta OamShadowPtrHi ; CPU:$8514 PRG:0514 85 72 + lda (OamShadowPtrLo),y ; CPU:$8516 PRG:0516 B1 71 + sta VramWritePtrLo ; CPU:$8518 PRG:0518 85 73 iny ; CPU:$851A PRG:051A C8 - lda (Zp71),y ; CPU:$851B PRG:051B B1 71 - sta Zp74 ; CPU:$851D PRG:051D 85 74 - lda (Zp73,x) ; CPU:$851F PRG:051F A1 73 - sta Zp70 ; CPU:$8521 PRG:0521 85 70 - jsr Sub_8610 ; CPU:$8523 PRG:0523 20 10 86 - lda (Zp73,x) ; CPU:$8526 PRG:0526 A1 73 - sta Zp71 ; CPU:$8528 PRG:0528 85 71 + lda (OamShadowPtrLo),y ; CPU:$851B PRG:051B B1 71 + sta VramWritePtrHi ; CPU:$851D PRG:051D 85 74 + lda (VramWritePtrLo,x) ; CPU:$851F PRG:051F A1 73 + sta PlayerSpriteY ; CPU:$8521 PRG:0521 85 70 + jsr Sub_8610 ; CPU:$8523 PRG:0523 20 10 86 + lda (VramWritePtrLo,x) ; CPU:$8526 PRG:0526 A1 73 + sta OamShadowPtrLo ; CPU:$8528 PRG:0528 85 71 lda #$00 ; CPU:$852A PRG:052A A9 00 - sta Zp72 ; CPU:$852C PRG:052C 85 72 - asl Zp71 ; CPU:$852E PRG:052E 06 71 - rol Zp72 ; CPU:$8530 PRG:0530 26 72 - lda Zp71 ; CPU:$8532 PRG:0532 A5 71 + sta OamShadowPtrHi ; CPU:$852C PRG:052C 85 72 + asl OamShadowPtrLo ; CPU:$852E PRG:052E 06 71 + rol OamShadowPtrHi ; CPU:$8530 PRG:0530 26 72 + lda OamShadowPtrLo ; CPU:$8532 PRG:0532 A5 71 clc ; CPU:$8534 PRG:0534 18 adc #$E2 ; CPU:$8535 PRG:0535 69 E2 - sta Zp71 ; CPU:$8537 PRG:0537 85 71 - lda Zp72 ; CPU:$8539 PRG:0539 A5 72 + sta OamShadowPtrLo ; CPU:$8537 PRG:0537 85 71 + lda OamShadowPtrHi ; CPU:$8539 PRG:0539 A5 72 adc #$95 ; CPU:$853B PRG:053B 69 95 - sta Zp72 ; CPU:$853D PRG:053D 85 72 + sta OamShadowPtrHi ; CPU:$853D PRG:053D 85 72 ldy #$00 ; CPU:$853F PRG:053F A0 00 - lda (Zp71),y ; CPU:$8541 PRG:0541 B1 71 + lda (OamShadowPtrLo),y ; CPU:$8541 PRG:0541 B1 71 sta Zp7A ; CPU:$8543 PRG:0543 85 7A iny ; CPU:$8545 PRG:0545 C8 - lda (Zp71),y ; CPU:$8546 PRG:0546 B1 71 + lda (OamShadowPtrLo),y ; CPU:$8546 PRG:0546 B1 71 sta Zp7B ; CPU:$8548 PRG:0548 85 7B - jsr Sub_8610 ; CPU:$854A PRG:054A 20 10 86 - lda (Zp73,x) ; CPU:$854D PRG:054D A1 73 - sta Zp71 ; CPU:$854F PRG:054F 85 71 + jsr Sub_8610 ; CPU:$854A PRG:054A 20 10 86 + lda (VramWritePtrLo,x) ; CPU:$854D PRG:054D A1 73 + sta OamShadowPtrLo ; CPU:$854F PRG:054F 85 71 lda #$00 ; CPU:$8551 PRG:0551 A9 00 - sta Zp72 ; CPU:$8553 PRG:0553 85 72 - asl Zp71 ; CPU:$8555 PRG:0555 06 71 - rol Zp72 ; CPU:$8557 PRG:0557 26 72 - lda Zp71 ; CPU:$8559 PRG:0559 A5 71 + sta OamShadowPtrHi ; CPU:$8553 PRG:0553 85 72 + asl OamShadowPtrLo ; CPU:$8555 PRG:0555 06 71 + rol OamShadowPtrHi ; CPU:$8557 PRG:0557 26 72 + lda OamShadowPtrLo ; CPU:$8559 PRG:0559 A5 71 clc ; CPU:$855B PRG:055B 18 adc #$69 ; CPU:$855C PRG:055C 69 69 - sta Zp71 ; CPU:$855E PRG:055E 85 71 - lda Zp72 ; CPU:$8560 PRG:0560 A5 72 + sta OamShadowPtrLo ; CPU:$855E PRG:055E 85 71 + lda OamShadowPtrHi ; CPU:$8560 PRG:0560 A5 72 adc #$93 ; CPU:$8562 PRG:0562 69 93 - sta Zp72 ; CPU:$8564 PRG:0564 85 72 + sta OamShadowPtrHi ; CPU:$8564 PRG:0564 85 72 ldy #$00 ; CPU:$8566 PRG:0566 A0 00 - lda (Zp71),y ; CPU:$8568 PRG:0568 B1 71 + lda (OamShadowPtrLo),y ; CPU:$8568 PRG:0568 B1 71 sta Zp7C ; CPU:$856A PRG:056A 85 7C iny ; CPU:$856C PRG:056C C8 - lda (Zp71),y ; CPU:$856D PRG:056D B1 71 + lda (OamShadowPtrLo),y ; CPU:$856D PRG:056D B1 71 sta Zp7D ; CPU:$856F PRG:056F 85 7D - jsr Sub_8610 ; CPU:$8571 PRG:0571 20 10 86 + jsr Sub_8610 ; CPU:$8571 PRG:0571 20 10 86 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside Label: taken when 8574. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero8: ldy #$01 ; CPU:$8574 PRG:0574 A0 01 - lda (Zp73,x) ; CPU:$8576 PRG:0576 A1 73 + lda (VramWritePtrLo,x) ; CPU:$8576 PRG:0576 A1 73 cmp #$FF ; CPU:$8578 PRG:0578 C9 FF - beq NmiHandler_Loop29 ; CPU:$857A PRG:057A F0 6D + beq NmiHandler_Loop29 ; CPU:$857A PRG:057A F0 6D sta (Zp78),y ; CPU:$857C PRG:057C 91 78 ldy #$03 ; CPU:$857E PRG:057E A0 03 lda (Zp7C,x) ; CPU:$8580 PRG:0580 A1 7C clc ; CPU:$8582 PRG:0582 18 adc (Zp76),y ; CPU:$8583 PRG:0583 71 76 sta (Zp78),y ; CPU:$8585 PRG:0585 91 78 - jsr Sub_8609 ; CPU:$8587 PRG:0587 20 09 86 + jsr Sub_8609 ; CPU:$8587 PRG:0587 20 09 86 lda (Zp7C,x) ; CPU:$858A PRG:058A A1 7C ldy #$00 ; CPU:$858C PRG:058C A0 00 clc ; CPU:$858E PRG:058E 18 adc (Zp76),y ; CPU:$858F PRG:058F 71 76 sta (Zp78),y ; CPU:$8591 PRG:0591 91 78 - jsr Sub_8609 ; CPU:$8593 PRG:0593 20 09 86 + jsr Sub_8609 ; CPU:$8593 PRG:0593 20 09 86 lda (Zp7A,x) ; CPU:$8596 PRG:0596 A1 7A ldy #$02 ; CPU:$8598 PRG:0598 A0 02 sta (Zp78),y ; CPU:$859A PRG:059A 91 78 - jsr Sub_8610 ; CPU:$859C PRG:059C 20 10 86 + jsr Sub_8610 ; CPU:$859C PRG:059C 20 10 86 lda (Zp76),y ; CPU:$859F PRG:059F B1 76 lsr a ; CPU:$85A1 PRG:05A1 4A - lda (Zp73,x) ; CPU:$85A2 PRG:05A2 A1 73 + lda (VramWritePtrLo,x) ; CPU:$85A2 PRG:05A2 A1 73 ror a ; CPU:$85A4 PRG:05A4 6A ror a ; CPU:$85A5 PRG:05A5 6A ror a ; CPU:$85A6 PRG:05A6 6A @@ -1296,23 +1297,23 @@ NmiHandler_OnNonzero8: sta (Zp78),y ; CPU:$85AB PRG:05AB 91 78 lda (Zp76),y ; CPU:$85AD PRG:05AD B1 76 and #$30 ; CPU:$85AF PRG:05AF 29 30 - beq NmiHandler_Loop27 ; CPU:$85B1 PRG:05B1 F0 0A - sta Zp6F ; CPU:$85B3 PRG:05B3 85 6F + beq NmiHandler_Loop27 ; CPU:$85B1 PRG:05B1 F0 0A + sta PlayerSpriteX ; CPU:$85B3 PRG:05B3 85 6F lda (Zp78),y ; CPU:$85B5 PRG:05B5 B1 78 and #$FC ; CPU:$85B7 PRG:05B7 29 FC - ora Zp6F ; CPU:$85B9 PRG:05B9 05 6F + ora PlayerSpriteX ; CPU:$85B9 PRG:05B9 05 6F sta (Zp78),y ; CPU:$85BB PRG:05BB 91 78 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop27 -; Global: Branch target inside Label: taken when 85BD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop27: - jsr Sub_8610 ; CPU:$85BD PRG:05BD 20 10 86 - jsr Sub_8602 ; CPU:$85C0 PRG:05C0 20 02 86 + jsr Sub_8610 ; CPU:$85BD PRG:05BD 20 10 86 + jsr Sub_8602 ; CPU:$85C0 PRG:05C0 20 02 86 clc ; CPU:$85C3 PRG:05C3 18 lda Zp78 ; CPU:$85C4 PRG:05C4 A5 78 adc #$04 ; CPU:$85C6 PRG:05C6 69 04 @@ -1321,19 +1322,19 @@ NmiHandler_Loop27: adc #$00 ; CPU:$85CC PRG:05CC 69 00 sta Zp79 ; CPU:$85CE PRG:05CE 85 79 cmp #$03 ; CPU:$85D0 PRG:05D0 C9 03 - bcc NmiHandler_Loop28 ; CPU:$85D2 PRG:05D2 90 01 + bcc NmiHandler_Loop28 ; CPU:$85D2 PRG:05D2 90 01 rts ; CPU:$85D4 PRG:05D4 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop28 -; Global: Branch target inside Label: taken when 85D5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop28. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop28: - dec Zp70 ; CPU:$85D5 PRG:05D5 C6 70 - bne NmiHandler_OnNonzero8 ; CPU:$85D7 PRG:05D7 D0 9B + dec PlayerSpriteY ; CPU:$85D5 PRG:05D5 C6 70 + bne NmiHandler_OnNonzero8 ; CPU:$85D7 PRG:05D7 D0 9B clc ; CPU:$85D9 PRG:05D9 18 lda Zp76 ; CPU:$85DA PRG:05DA A5 76 adc #$04 ; CPU:$85DC PRG:05DC 69 04 @@ -1341,94 +1342,160 @@ NmiHandler_Loop28: lda Zp77 ; CPU:$85E0 PRG:05E0 A5 77 adc #$00 ; CPU:$85E2 PRG:05E2 69 00 sta Zp77 ; CPU:$85E4 PRG:05E4 85 77 - jmp Sub_84F1 ; CPU:$85E6 PRG:05E6 4C F1 84 + jmp Sub_84F1 ; CPU:$85E6 PRG:05E6 4C F1 84 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop29 -; Global: Branch target inside Label: taken when 85E9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop29: - jsr Sub_8610 ; CPU:$85E9 PRG:05E9 20 10 86 - jsr Sub_8610 ; CPU:$85EC PRG:05EC 20 10 86 - jsr Sub_8602 ; CPU:$85EF PRG:05EF 20 02 86 - jsr Sub_8609 ; CPU:$85F2 PRG:05F2 20 09 86 - jsr Sub_8609 ; CPU:$85F5 PRG:05F5 20 09 86 - jmp NmiHandler_Loop28 ; CPU:$85F8 PRG:05F8 4C D5 85 -; ---- data $85FB-$8601 (7 bytes) ---- - .byte $E6, $76, $D0, $02, $E6, $77, $60 ; CPU:$85FB PRG:05FB E6 76 D0 02 E6 77 60 + jsr Sub_8610 ; CPU:$85E9 PRG:05E9 20 10 86 + jsr Sub_8610 ; CPU:$85EC PRG:05EC 20 10 86 + jsr Sub_8602 ; CPU:$85EF PRG:05EF 20 02 86 + jsr Sub_8609 ; CPU:$85F2 PRG:05F2 20 09 86 + jsr Sub_8609 ; CPU:$85F5 PRG:05F5 20 09 86 + jmp NmiHandler_Loop28 ; CPU:$85F8 PRG:05F8 4C D5 85 +; ----------------------------------------------------------------------------- +; Routine: Label_85FB +; Global: Branch target inside Label: taken when 85FB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_85FB: + inc Zp76 ; CPU:$85FB PRG:05FB E6 76 + bne NmiHandler_Loop30 ; CPU:$85FD PRG:05FD D0 02 + inc Zp77 ; CPU:$85FF PRG:05FF E6 77 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop30: + rts ; CPU:$8601 PRG:0601 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8602 -; Global: Branch target inside Label: taken when 8602. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8602. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8602: inc Zp7A ; CPU:$8602 PRG:0602 E6 7A - bne NmiHandler_Loop30 ; CPU:$8604 PRG:0604 D0 02 + bne NmiHandler_Loop31 ; CPU:$8604 PRG:0604 D0 02 inc Zp7B ; CPU:$8606 PRG:0606 E6 7B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside Label: taken when 8608. -; Local: Part of Label. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop31: rts ; CPU:$8608 PRG:0608 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8609 -; Global: Branch target inside Label: taken when 8609. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8609. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8609: inc Zp7C ; CPU:$8609 PRG:0609 E6 7C - bne NmiHandler_Loop31 ; CPU:$860B PRG:060B D0 02 + bne NmiHandler_Loop32 ; CPU:$860B PRG:060B D0 02 inc Zp7D ; CPU:$860D PRG:060D E6 7D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside Label: taken when 860F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop31: - rts ; CPU:$860F PRG:060F 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_8610 -; Global: Branch target inside Label: taken when 8610. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_8610: - inc Zp73 ; CPU:$8610 PRG:0610 E6 73 - beq NmiHandler_Loop32 ; CPU:$8612 PRG:0612 F0 01 - rts ; CPU:$8614 PRG:0614 60 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop32 -; Global: Branch target inside Label: taken when 8615. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop32: - inc Zp74 ; CPU:$8615 PRG:0615 E6 74 + rts ; CPU:$860F PRG:060F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8610 +; Global: Branch target inside Sub: taken when 8610. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8610: + inc VramWritePtrLo ; CPU:$8610 PRG:0610 E6 73 + beq NmiHandler_Loop33 ; CPU:$8612 PRG:0612 F0 01 + rts ; CPU:$8614 PRG:0614 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop33: + inc VramWritePtrHi ; CPU:$8615 PRG:0615 E6 74 rts ; CPU:$8617 PRG:0617 60 -; ---- data $8618-$973D (4390 bytes) ---- - .byte $E6, $71, $F0, $01, $60, $E6, $72, $60, $E6, $6F, $F0, $01, $60, $E6, $70, $60 ; CPU:$8618 PRG:0618 E6 71 F0 01 60 E6 72 60 E6 6F F0 01 60 E6 70 60 - .byte $C2, $87, $D1, $87, $E0, $87, $EF, $87, $FE, $87, $0D, $88, $1C, $88, $2B, $88 ; CPU:$8628 PRG:0628 C2 87 D1 87 E0 87 EF 87 FE 87 0D 88 1C 88 2B 88 +; ----------------------------------------------------------------------------- +; Routine: Label_8618 +; Global: Branch target inside Label: taken when 8618. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8618: + inc OamShadowPtrLo ; CPU:$8618 PRG:0618 E6 71 + beq NmiHandler_Loop34 ; CPU:$861A PRG:061A F0 01 + rts ; CPU:$861C PRG:061C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop34: + inc OamShadowPtrHi ; CPU:$861D PRG:061D E6 72 + rts ; CPU:$861F PRG:061F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8620 +; Global: Branch target inside Label: taken when 8620. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8620: + inc PlayerSpriteX ; CPU:$8620 PRG:0620 E6 6F + beq NmiHandler_Loop35 ; CPU:$8622 PRG:0622 F0 01 + rts ; CPU:$8624 PRG:0624 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop35: + inc PlayerSpriteY ; CPU:$8625 PRG:0625 E6 70 + rts ; CPU:$8627 PRG:0627 60 +; ---- data $8628-$973D (4374 bytes) ---- +EnemyHandlerPointerTable: + .byte $C2, $87, $D1, $87, $E0, $87, $EF, $87, $FE, $87, $0D, $88, $1C, $88, $2B, $88 ; CPU:$8628 PRG:-39D8 C2 87 D1 87 E0 87 EF 87 FE 87 0D 88 1C 88 2B 88 .byte $3A, $88, $49, $88, $58, $88, $63, $88, $6E, $88, $7D, $88, $8C, $88, $97, $88 ; CPU:$8638 PRG:0638 3A 88 49 88 58 88 63 88 6E 88 7D 88 8C 88 97 88 .byte $A2, $88, $AD, $88, $B8, $88, $C3, $88, $CE, $88, $D9, $88, $E4, $88, $EF, $88 ; CPU:$8648 PRG:0648 A2 88 AD 88 B8 88 C3 88 CE 88 D9 88 E4 88 EF 88 .byte $FA, $88, $FA, $88, $FA, $88, $FA, $88, $FA, $88, $09, $89, $18, $89, $27, $89 ; CPU:$8658 PRG:0658 FA 88 FA 88 FA 88 FA 88 FA 88 09 89 18 89 27 89 @@ -1704,184 +1771,184 @@ NmiHandler_Loop32: .byte $02, $02, $02, $02, $02, $02 ; CPU:$9738 PRG:1738 02 02 02 02 02 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_973E -; Global: Branch target inside Label: taken when 973E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 973E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_973E: lda #$FF ; CPU:$973E PRG:173E A9 FF - sta ZpFA ; CPU:$9740 PRG:1740 85 FA - lda Zp88 ; CPU:$9742 PRG:1742 A5 88 + sta NmiFrameFlag ; CPU:$9740 PRG:1740 85 FA + lda PpuCtrlShadow ; CPU:$9742 PRG:1742 A5 88 and #$7F ; CPU:$9744 PRG:1744 29 7F - sta Zp88 ; CPU:$9746 PRG:1746 85 88 + sta PpuCtrlShadow ; CPU:$9746 PRG:1746 85 88 sta PPUCTRL ; CPU:$9748 PRG:1748 8D 00 20 lda #$00 ; CPU:$974B PRG:174B A9 00 sta PPUMASK ; CPU:$974D PRG:174D 8D 01 20 lda PPUSTATUS ; CPU:$9750 PRG:1750 AD 02 20 - lda Zp72 ; CPU:$9753 PRG:1753 A5 72 + lda OamShadowPtrHi ; CPU:$9753 PRG:1753 A5 72 sta PPUADDR ; CPU:$9755 PRG:1755 8D 06 20 - lda Zp71 ; CPU:$9758 PRG:1758 A5 71 + lda OamShadowPtrLo ; CPU:$9758 PRG:1758 A5 71 sta PPUADDR ; CPU:$975A PRG:175A 8D 06 20 ldy #$00 ; CPU:$975D PRG:175D A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside Label: taken when 975F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero9: - lda (Zp73),y ; CPU:$975F PRG:175F B1 73 + lda (VramWritePtrLo),y ; CPU:$975F PRG:175F B1 73 sta PPUDATA ; CPU:$9761 PRG:1761 8D 07 20 iny ; CPU:$9764 PRG:1764 C8 - dec Zp70 ; CPU:$9765 PRG:1765 C6 70 - bne NmiHandler_OnNonzero9 ; CPU:$9767 PRG:1767 D0 F6 - lda Zp88 ; CPU:$9769 PRG:1769 A5 88 + dec PlayerSpriteY ; CPU:$9765 PRG:1765 C6 70 + bne NmiHandler_OnNonzero9 ; CPU:$9767 PRG:1767 D0 F6 + lda PpuCtrlShadow ; CPU:$9769 PRG:1769 A5 88 ora #$80 ; CPU:$976B PRG:176B 09 80 - sta Zp88 ; CPU:$976D PRG:176D 85 88 + sta PpuCtrlShadow ; CPU:$976D PRG:176D 85 88 sta PPUCTRL ; CPU:$976F PRG:176F 8D 00 20 lda #$00 ; CPU:$9772 PRG:1772 A9 00 - sta ZpFA ; CPU:$9774 PRG:1774 85 FA + sta NmiFrameFlag ; CPU:$9774 PRG:1774 85 FA rts ; CPU:$9776 PRG:1776 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9777 -; Global: Branch target inside Label: taken when 9777. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9777. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9777: lda #$20 ; CPU:$9777 PRG:1777 A9 20 - sta Zp70 ; CPU:$9779 PRG:1779 85 70 + sta PlayerSpriteY ; CPU:$9779 PRG:1779 85 70 lda #$3F ; CPU:$977B PRG:177B A9 3F - sta Zp72 ; CPU:$977D PRG:177D 85 72 + sta OamShadowPtrHi ; CPU:$977D PRG:177D 85 72 lda #$00 ; CPU:$977F PRG:177F A9 00 - sta Zp71 ; CPU:$9781 PRG:1781 85 71 - jmp Sub_973E ; CPU:$9783 PRG:1783 4C 3E 97 + sta OamShadowPtrLo ; CPU:$9781 PRG:1781 85 71 + jmp Sub_973E ; CPU:$9783 PRG:1783 4C 3E 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_9786 -; Global: Branch target inside Label: taken when 9786. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9786. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9786: lda #$FF ; CPU:$9786 PRG:1786 A9 FF - sta ZpFA ; CPU:$9788 PRG:1788 85 FA + sta NmiFrameFlag ; CPU:$9788 PRG:1788 85 FA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside Label: taken when 978A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero10: ldy #$00 ; CPU:$978A PRG:178A A0 00 - lda Zp74 ; CPU:$978C PRG:178C A5 74 + lda VramWritePtrHi ; CPU:$978C PRG:178C A5 74 sta (Zp7E),y ; CPU:$978E PRG:178E 91 7E inc Zp7E ; CPU:$9790 PRG:1790 E6 7E - lda Zp73 ; CPU:$9792 PRG:1792 A5 73 + lda VramWritePtrLo ; CPU:$9792 PRG:1792 A5 73 sta (Zp7E),y ; CPU:$9794 PRG:1794 91 7E inc Zp7E ; CPU:$9796 PRG:1796 E6 7E - lda Zp72 ; CPU:$9798 PRG:1798 A5 72 + lda OamShadowPtrHi ; CPU:$9798 PRG:1798 A5 72 sta (Zp7E),y ; CPU:$979A PRG:179A 91 7E inc Zp7E ; CPU:$979C PRG:179C E6 7E - lda Zp71 ; CPU:$979E PRG:179E A5 71 + lda OamShadowPtrLo ; CPU:$979E PRG:179E A5 71 sta (Zp7E),y ; CPU:$97A0 PRG:17A0 91 7E inc Zp7E ; CPU:$97A2 PRG:17A2 E6 7E lda #$20 ; CPU:$97A4 PRG:17A4 A9 20 clc ; CPU:$97A6 PRG:17A6 18 - adc Zp71 ; CPU:$97A7 PRG:17A7 65 71 - sta Zp71 ; CPU:$97A9 PRG:17A9 85 71 + adc OamShadowPtrLo ; CPU:$97A7 PRG:17A7 65 71 + sta OamShadowPtrLo ; CPU:$97A9 PRG:17A9 85 71 lda #$00 ; CPU:$97AB PRG:17AB A9 00 - adc Zp72 ; CPU:$97AD PRG:17AD 65 72 - sta Zp72 ; CPU:$97AF PRG:17AF 85 72 + adc OamShadowPtrHi ; CPU:$97AD PRG:17AD 65 72 + sta OamShadowPtrHi ; CPU:$97AF PRG:17AF 85 72 lda #$03 ; CPU:$97B1 PRG:17B1 A9 03 clc ; CPU:$97B3 PRG:17B3 18 - adc Zp73 ; CPU:$97B4 PRG:17B4 65 73 - sta Zp73 ; CPU:$97B6 PRG:17B6 85 73 + adc VramWritePtrLo ; CPU:$97B4 PRG:17B4 65 73 + sta VramWritePtrLo ; CPU:$97B6 PRG:17B6 85 73 lda #$00 ; CPU:$97B8 PRG:17B8 A9 00 - adc Zp74 ; CPU:$97BA PRG:17BA 65 74 - sta Zp74 ; CPU:$97BC PRG:17BC 85 74 - lda Zp72 ; CPU:$97BE PRG:17BE A5 72 + adc VramWritePtrHi ; CPU:$97BA PRG:17BA 65 74 + sta VramWritePtrHi ; CPU:$97BC PRG:17BC 85 74 + lda OamShadowPtrHi ; CPU:$97BE PRG:17BE A5 72 cmp #$23 ; CPU:$97C0 PRG:17C0 C9 23 - bne NmiHandler_Loop33 ; CPU:$97C2 PRG:17C2 D0 17 - lda Zp71 ; CPU:$97C4 PRG:17C4 A5 71 + bne NmiHandler_Loop36 ; CPU:$97C2 PRG:17C2 D0 17 + lda OamShadowPtrLo ; CPU:$97C4 PRG:17C4 A5 71 cmp #$C0 ; CPU:$97C6 PRG:17C6 C9 C0 - bcc NmiHandler_Loop33 ; CPU:$97C8 PRG:17C8 90 11 + bcc NmiHandler_Loop36 ; CPU:$97C8 PRG:17C8 90 11 lda #$3F ; CPU:$97CA PRG:17CA A9 3F - adc Zp71 ; CPU:$97CC PRG:17CC 65 71 - sta Zp71 ; CPU:$97CE PRG:17CE 85 71 + adc OamShadowPtrLo ; CPU:$97CC PRG:17CC 65 71 + sta OamShadowPtrLo ; CPU:$97CE PRG:17CE 85 71 lda #$00 ; CPU:$97D0 PRG:17D0 A9 00 - adc Zp72 ; CPU:$97D2 PRG:17D2 65 72 + adc OamShadowPtrHi ; CPU:$97D2 PRG:17D2 65 72 ora #$08 ; CPU:$97D4 PRG:17D4 09 08 - sta Zp72 ; CPU:$97D6 PRG:17D6 85 72 - jmp NmiHandler_Loop34 ; CPU:$97D8 PRG:17D8 4C F3 97 + sta OamShadowPtrHi ; CPU:$97D6 PRG:17D6 85 72 + jmp NmiHandler_Loop37 ; CPU:$97D8 PRG:17D8 4C F3 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside Label: taken when 97DB. -; Local: Part of Label. +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: +NmiHandler_Loop36: cmp #$2B ; CPU:$97DB PRG:17DB C9 2B - bne NmiHandler_Loop34 ; CPU:$97DD PRG:17DD D0 14 - lda Zp71 ; CPU:$97DF PRG:17DF A5 71 + bne NmiHandler_Loop37 ; CPU:$97DD PRG:17DD D0 14 + lda OamShadowPtrLo ; CPU:$97DF PRG:17DF A5 71 cmp #$C0 ; CPU:$97E1 PRG:17E1 C9 C0 - bcc NmiHandler_Loop34 ; CPU:$97E3 PRG:17E3 90 0E + bcc NmiHandler_Loop37 ; CPU:$97E3 PRG:17E3 90 0E lda #$3F ; CPU:$97E5 PRG:17E5 A9 3F - adc Zp71 ; CPU:$97E7 PRG:17E7 65 71 - sta Zp71 ; CPU:$97E9 PRG:17E9 85 71 + adc OamShadowPtrLo ; CPU:$97E7 PRG:17E7 65 71 + sta OamShadowPtrLo ; CPU:$97E9 PRG:17E9 85 71 lda #$00 ; CPU:$97EB PRG:17EB A9 00 - adc Zp72 ; CPU:$97ED PRG:17ED 65 72 + adc OamShadowPtrHi ; CPU:$97ED PRG:17ED 65 72 and #$23 ; CPU:$97EF PRG:17EF 29 23 - sta Zp72 ; CPU:$97F1 PRG:17F1 85 72 + sta OamShadowPtrHi ; CPU:$97F1 PRG:17F1 85 72 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside Label: taken when 97F3. -; Local: Part of Label. +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: - dec Zp6F ; CPU:$97F3 PRG:17F3 C6 6F - bne NmiHandler_OnNonzero10 ; CPU:$97F5 PRG:17F5 D0 93 +NmiHandler_Loop37: + dec PlayerSpriteX ; CPU:$97F3 PRG:17F3 C6 6F + bne NmiHandler_OnNonzero10 ; CPU:$97F5 PRG:17F5 D0 93 lda #$00 ; CPU:$97F7 PRG:17F7 A9 00 sta (Zp7E),y ; CPU:$97F9 PRG:17F9 91 7E - sta ZpFA ; CPU:$97FB PRG:17FB 85 FA + sta NmiFrameFlag ; CPU:$97FB PRG:17FB 85 FA rts ; CPU:$97FD PRG:17FD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_97FE -; Global: Branch target inside Label: taken when 97FE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 97FE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_97FE: - lda ZpC8,x ; CPU:$97FE PRG:17FE B5 C8 + lda SpriteYPosition,x ; CPU:$97FE PRG:17FE B5 C8 clc ; CPU:$9800 PRG:1800 18 adc ZpD9,x ; CPU:$9801 PRG:1801 75 D9 adc ZpD9,x ; CPU:$9803 PRG:1803 75 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_9805 -; Global: Branch target inside Label: taken when 9805. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9805. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9805: - sta Zp6F ; CPU:$9805 PRG:1805 85 6F + sta PlayerSpriteX ; CPU:$9805 PRG:1805 85 6F lda ZpE5,x ; CPU:$9807 PRG:1807 B5 E5 clc ; CPU:$9809 PRG:1809 18 asl a ; CPU:$980A PRG:180A 0A @@ -1889,68 +1956,68 @@ Sub_9805: adc ZpE5,x ; CPU:$980C PRG:180C 75 E5 clc ; CPU:$980E PRG:180E 18 adc #$A1 ; CPU:$980F PRG:180F 69 A1 - sta Zp73 ; CPU:$9811 PRG:1811 85 73 + sta VramWritePtrLo ; CPU:$9811 PRG:1811 85 73 lda #$9C ; CPU:$9813 PRG:1813 A9 9C adc #$00 ; CPU:$9815 PRG:1815 69 00 - sta Zp74 ; CPU:$9817 PRG:1817 85 74 + sta VramWritePtrHi ; CPU:$9817 PRG:1817 85 74 ldy #$00 ; CPU:$9819 PRG:1819 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside Label: taken when 981B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero11: - lda (Zp73),y ; CPU:$981B PRG:181B B1 73 - bmi NmiHandler_Loop36 ; CPU:$981D PRG:181D 30 27 - sty Zp70 ; CPU:$981F PRG:181F 84 70 + lda (VramWritePtrLo),y ; CPU:$981B PRG:181B B1 73 + bmi NmiHandler_Loop39 ; CPU:$981D PRG:181D 30 27 + sty PlayerSpriteY ; CPU:$981F PRG:181F 84 70 sta $03D7,x ; CPU:$9821 PRG:1821 9D D7 03 asl a ; CPU:$9824 PRG:1824 0A clc ; CPU:$9825 PRG:1825 18 adc #$41 ; CPU:$9826 PRG:1826 69 41 - sta Zp71 ; CPU:$9828 PRG:1828 85 71 + sta OamShadowPtrLo ; CPU:$9828 PRG:1828 85 71 lda #$9D ; CPU:$982A PRG:182A A9 9D adc #$00 ; CPU:$982C PRG:182C 69 00 - sta Zp72 ; CPU:$982E PRG:182E 85 72 - lda Zp6F ; CPU:$9830 PRG:1830 A5 6F + sta OamShadowPtrHi ; CPU:$982E PRG:182E 85 72 + lda PlayerSpriteX ; CPU:$9830 PRG:1830 A5 6F ldy #$00 ; CPU:$9832 PRG:1832 A0 00 - cmp (Zp71),y ; CPU:$9834 PRG:1834 D1 71 - bcc NmiHandler_Loop35 ; CPU:$9836 PRG:1836 90 07 + cmp (OamShadowPtrLo),y ; CPU:$9834 PRG:1834 D1 71 + bcc NmiHandler_Loop38 ; CPU:$9836 PRG:1836 90 07 iny ; CPU:$9838 PRG:1838 C8 - cmp (Zp71),y ; CPU:$9839 PRG:1839 D1 71 - bcs NmiHandler_Loop35 ; CPU:$983B PRG:183B B0 02 + cmp (OamShadowPtrLo),y ; CPU:$9839 PRG:1839 D1 71 + bcs NmiHandler_Loop38 ; CPU:$983B PRG:183B B0 02 sec ; CPU:$983D PRG:183D 38 rts ; CPU:$983E PRG:183E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside Label: taken when 983F. -; Local: Part of Label. +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: - ldy Zp70 ; CPU:$983F PRG:183F A4 70 +NmiHandler_Loop38: + ldy PlayerSpriteY ; CPU:$983F PRG:183F A4 70 iny ; CPU:$9841 PRG:1841 C8 cpy #$05 ; CPU:$9842 PRG:1842 C0 05 - bne NmiHandler_OnNonzero11 ; CPU:$9844 PRG:1844 D0 D5 + bne NmiHandler_OnNonzero11 ; CPU:$9844 PRG:1844 D0 D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside Label: taken when 9846. -; Local: Part of Label. +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: +NmiHandler_Loop39: clc ; CPU:$9846 PRG:1846 18 rts ; CPU:$9847 PRG:1847 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9848 -; Global: Branch target inside Label: taken when 9848. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9848. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1958,53 +2025,53 @@ NmiHandler_Loop36: Sub_9848: lda ZpE5,x ; CPU:$9848 PRG:1848 B5 E5 cmp #$00 ; CPU:$984A PRG:184A C9 00 - beq NmiHandler_Loop40 ; CPU:$984C PRG:184C F0 3A + beq NmiHandler_Loop43 ; CPU:$984C PRG:184C F0 3A cmp #$0B ; CPU:$984E PRG:184E C9 0B - beq NmiHandler_Loop38 ; CPU:$9850 PRG:1850 F0 1E - bcs NmiHandler_Loop37 ; CPU:$9852 PRG:1852 B0 0C - lda ZpC8,x ; CPU:$9854 PRG:1854 B5 C8 + beq NmiHandler_Loop41 ; CPU:$9850 PRG:1850 F0 1E + bcs NmiHandler_Loop40 ; CPU:$9852 PRG:1852 B0 0C + lda SpriteYPosition,x ; CPU:$9854 PRG:1854 B5 C8 cmp #$28 ; CPU:$9856 PRG:1856 C9 28 - bcc NmiHandler_OnCarryClear ; CPU:$9858 PRG:1858 90 20 + bcc NmiHandler_OnCarryClear ; CPU:$9858 PRG:1858 90 20 cmp #$D0 ; CPU:$985A PRG:185A C9 D0 - bcs NmiHandler_OnCarryClear ; CPU:$985C PRG:185C B0 1C + bcs NmiHandler_OnCarryClear ; CPU:$985C PRG:185C B0 1C clc ; CPU:$985E PRG:185E 18 rts ; CPU:$985F PRG:185F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside Label: taken when 9860. -; Local: Part of Label. +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop40: cmp #$0D ; CPU:$9860 PRG:1860 C9 0D - bne NmiHandler_Loop39 ; CPU:$9862 PRG:1862 D0 18 - lda ZpC8,x ; CPU:$9864 PRG:1864 B5 C8 + bne NmiHandler_Loop42 ; CPU:$9862 PRG:1862 D0 18 + lda SpriteYPosition,x ; CPU:$9864 PRG:1864 B5 C8 cmp #$74 ; CPU:$9866 PRG:1866 C9 74 - bcc NmiHandler_Loop39 ; CPU:$9868 PRG:1868 90 12 + bcc NmiHandler_Loop42 ; CPU:$9868 PRG:1868 90 12 cmp #$84 ; CPU:$986A PRG:186A C9 84 - bcs NmiHandler_Loop39 ; CPU:$986C PRG:186C B0 0E + bcs NmiHandler_Loop42 ; CPU:$986C PRG:186C B0 0E sec ; CPU:$986E PRG:186E 38 rts ; CPU:$986F PRG:186F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside Label: taken when 9870. -; Local: Part of Label. +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: - lda ZpC8,x ; CPU:$9870 PRG:1870 B5 C8 +NmiHandler_Loop41: + lda SpriteYPosition,x ; CPU:$9870 PRG:1870 B5 C8 cmp #$A4 ; CPU:$9872 PRG:1872 C9 A4 - bcc NmiHandler_Loop39 ; CPU:$9874 PRG:1874 90 06 + bcc NmiHandler_Loop42 ; CPU:$9874 PRG:1874 90 06 cmp #$B4 ; CPU:$9876 PRG:1876 C9 B4 - bcs NmiHandler_Loop39 ; CPU:$9878 PRG:1878 B0 02 + bcs NmiHandler_Loop42 ; CPU:$9878 PRG:1878 B0 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear -; Global: Branch target inside Label: taken when 987A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the addition or subtraction did not carry. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2013,39 +2080,39 @@ NmiHandler_OnCarryClear: sec ; CPU:$987A PRG:187A 38 rts ; CPU:$987B PRG:187B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside Label: taken when 987C. -; Local: Part of Label. +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: - lda ZpC8,x ; CPU:$987C PRG:187C B5 C8 +NmiHandler_Loop42: + lda SpriteYPosition,x ; CPU:$987C PRG:187C B5 C8 cmp #$08 ; CPU:$987E PRG:187E C9 08 - bcc NmiHandler_OnCarryClear ; CPU:$9880 PRG:1880 90 F8 + bcc NmiHandler_OnCarryClear ; CPU:$9880 PRG:1880 90 F8 cmp #$F8 ; CPU:$9882 PRG:1882 C9 F8 - bcs NmiHandler_OnCarryClear ; CPU:$9884 PRG:1884 B0 F4 + bcs NmiHandler_OnCarryClear ; CPU:$9884 PRG:1884 B0 F4 clc ; CPU:$9886 PRG:1886 18 rts ; CPU:$9887 PRG:1887 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside Label: taken when 9888. -; Local: Part of Label. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: - lda ZpC8,x ; CPU:$9888 PRG:1888 B5 C8 +NmiHandler_Loop43: + lda SpriteYPosition,x ; CPU:$9888 PRG:1888 B5 C8 cmp #$70 ; CPU:$988A PRG:188A C9 70 - bcc NmiHandler_OnCarryClear ; CPU:$988C PRG:188C 90 EC + bcc NmiHandler_OnCarryClear ; CPU:$988C PRG:188C 90 EC cmp #$88 ; CPU:$988E PRG:188E C9 88 rts ; CPU:$9890 PRG:1890 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9891 -; Global: Branch target inside Label: taken when 9891. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9891. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2054,8 +2121,8 @@ Sub_9891: ldy $03D7,x ; CPU:$9891 PRG:1891 BC D7 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_9894 -; Global: Branch target inside Label: taken when 9894. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9894. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2063,113 +2130,113 @@ Sub_9891: Sub_9894: lda $0422,y ; CPU:$9894 PRG:1894 B9 22 04 cmp ZpE5,x ; CPU:$9897 PRG:1897 D5 E5 - bcc NmiHandler_Loop41 ; CPU:$9899 PRG:1899 90 20 - beq NmiHandler_Loop42 ; CPU:$989B PRG:189B F0 36 + bcc NmiHandler_Loop44 ; CPU:$9899 PRG:1899 90 20 + beq NmiHandler_Loop45 ; CPU:$989B PRG:189B F0 36 lda $047D,y ; CPU:$989D PRG:189D B9 7D 04 sec ; CPU:$98A0 PRG:18A0 38 sbc $039D,x ; CPU:$98A1 PRG:18A1 FD 9D 03 - sta Zp71 ; CPU:$98A4 PRG:18A4 85 71 + sta OamShadowPtrLo ; CPU:$98A4 PRG:18A4 85 71 lda $048A,y ; CPU:$98A6 PRG:18A6 B9 8A 04 sbc $03AE,x ; CPU:$98A9 PRG:18A9 FD AE 03 - bne NmiHandler_Loop43 ; CPU:$98AC PRG:18AC D0 37 - lda Zp71 ; CPU:$98AE PRG:18AE A5 71 + bne NmiHandler_Loop46 ; CPU:$98AC PRG:18AC D0 37 + lda OamShadowPtrLo ; CPU:$98AE PRG:18AE A5 71 cmp #$2A ; CPU:$98B0 PRG:18B0 C9 2A - bcc NmiHandler_Loop45 ; CPU:$98B2 PRG:18B2 90 46 + bcc NmiHandler_Loop48 ; CPU:$98B2 PRG:18B2 90 46 cmp #$38 ; CPU:$98B4 PRG:18B4 C9 38 - bcs NmiHandler_Loop43 ; CPU:$98B6 PRG:18B6 B0 2D - jmp Sub_9902 ; CPU:$98B8 PRG:18B8 4C 02 99 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside Label: taken when 98BB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop41: - lda $039D,x ; CPU:$98BB PRG:18BB BD 9D 03 - sec ; CPU:$98BE PRG:18BE 38 - sbc $047D,y ; CPU:$98BF PRG:18BF F9 7D 04 - sta Zp71 ; CPU:$98C2 PRG:18C2 85 71 - lda $039D,x ; CPU:$98C4 PRG:18C4 BD 9D 03 - sbc $047D,y ; CPU:$98C7 PRG:18C7 F9 7D 04 - bne NmiHandler_Loop43 ; CPU:$98CA PRG:18CA D0 19 - cmp #$18 ; CPU:$98CC PRG:18CC C9 18 - bcc NmiHandler_Loop45 ; CPU:$98CE PRG:18CE 90 2A - jmp NmiHandler_Loop43 ; CPU:$98D0 PRG:18D0 4C E5 98 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside Label: taken when 98D3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop42: - lda $047D,y ; CPU:$98D3 PRG:18D3 B9 7D 04 - sec ; CPU:$98D6 PRG:18D6 38 - sbc $039D,x ; CPU:$98D7 PRG:18D7 FD 9D 03 - cmp #$FC ; CPU:$98DA PRG:18DA C9 FC - bcs NmiHandler_Loop46 ; CPU:$98DC PRG:18DC B0 20 - cmp #$10 ; CPU:$98DE PRG:18DE C9 10 - bcs NmiHandler_Loop45 ; CPU:$98E0 PRG:18E0 B0 18 - jmp NmiHandler_Loop46 ; CPU:$98E2 PRG:18E2 4C FE 98 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside Label: taken when 98E5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop43: - lda $03FB,y ; CPU:$98E5 PRG:18E5 B9 FB 03 - and #$04 ; CPU:$98E8 PRG:18E8 29 04 - beq NmiHandler_Loop44 ; CPU:$98EA PRG:18EA F0 0A - lda $04BE,y ; CPU:$98EC PRG:18EC B9 BE 04 - tay ; CPU:$98EF PRG:18EF A8 - sta $03D7,x ; CPU:$98F0 PRG:18F0 9D D7 03 - jmp Sub_9894 ; CPU:$98F3 PRG:18F3 4C 94 98 + bcs NmiHandler_Loop46 ; CPU:$98B6 PRG:18B6 B0 2D + jmp Sub_9902 ; CPU:$98B8 PRG:18B8 4C 02 99 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop44 -; Global: Branch target inside Label: taken when 98F6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop44. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop44: - clc ; CPU:$98F6 PRG:18F6 18 - lda #$00 ; CPU:$98F7 PRG:18F7 A9 00 - rts ; CPU:$98F9 PRG:18F9 60 + lda $039D,x ; CPU:$98BB PRG:18BB BD 9D 03 + sec ; CPU:$98BE PRG:18BE 38 + sbc $047D,y ; CPU:$98BF PRG:18BF F9 7D 04 + sta OamShadowPtrLo ; CPU:$98C2 PRG:18C2 85 71 + lda $039D,x ; CPU:$98C4 PRG:18C4 BD 9D 03 + sbc $047D,y ; CPU:$98C7 PRG:18C7 F9 7D 04 + bne NmiHandler_Loop46 ; CPU:$98CA PRG:18CA D0 19 + cmp #$18 ; CPU:$98CC PRG:18CC C9 18 + bcc NmiHandler_Loop48 ; CPU:$98CE PRG:18CE 90 2A + jmp NmiHandler_Loop46 ; CPU:$98D0 PRG:18D0 4C E5 98 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop45 -; Global: Branch target inside Label: taken when 98FA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop45. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop45: - clc ; CPU:$98FA PRG:18FA 18 - lda #$01 ; CPU:$98FB PRG:18FB A9 01 - rts ; CPU:$98FD PRG:18FD 60 + lda $047D,y ; CPU:$98D3 PRG:18D3 B9 7D 04 + sec ; CPU:$98D6 PRG:18D6 38 + sbc $039D,x ; CPU:$98D7 PRG:18D7 FD 9D 03 + cmp #$FC ; CPU:$98DA PRG:18DA C9 FC + bcs NmiHandler_Loop49 ; CPU:$98DC PRG:18DC B0 20 + cmp #$10 ; CPU:$98DE PRG:18DE C9 10 + bcs NmiHandler_Loop48 ; CPU:$98E0 PRG:18E0 B0 18 + jmp NmiHandler_Loop49 ; CPU:$98E2 PRG:18E2 4C FE 98 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop46 -; Global: Branch target inside Label: taken when 98FE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop46. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop46: + lda $03FB,y ; CPU:$98E5 PRG:18E5 B9 FB 03 + and #$04 ; CPU:$98E8 PRG:18E8 29 04 + beq NmiHandler_Loop47 ; CPU:$98EA PRG:18EA F0 0A + lda $04BE,y ; CPU:$98EC PRG:18EC B9 BE 04 + tay ; CPU:$98EF PRG:18EF A8 + sta $03D7,x ; CPU:$98F0 PRG:18F0 9D D7 03 + jmp Sub_9894 ; CPU:$98F3 PRG:18F3 4C 94 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop47: + clc ; CPU:$98F6 PRG:18F6 18 + lda #$00 ; CPU:$98F7 PRG:18F7 A9 00 + rts ; CPU:$98F9 PRG:18F9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop48: + clc ; CPU:$98FA PRG:18FA 18 + lda #$01 ; CPU:$98FB PRG:18FB A9 01 + rts ; CPU:$98FD PRG:18FD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop49: sec ; CPU:$98FE PRG:18FE 38 lda #$00 ; CPU:$98FF PRG:18FF A9 00 rts ; CPU:$9901 PRG:1901 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9902 -; Global: Branch target inside Label: taken when 9902. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9902. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2180,34 +2247,34 @@ Sub_9902: rts ; CPU:$9905 PRG:1905 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9906 -; Global: Branch target inside Label: taken when 9906. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9906. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9906: - lda ZpC8,x ; CPU:$9906 PRG:1906 B5 C8 - jsr Sub_9805 ; CPU:$9908 PRG:1908 20 05 98 - bcc NmiHandler_Loop48 ; CPU:$990B PRG:190B 90 28 + lda SpriteYPosition,x ; CPU:$9906 PRG:1906 B5 C8 + jsr Sub_9805 ; CPU:$9908 PRG:1908 20 05 98 + bcc NmiHandler_Loop51 ; CPU:$990B PRG:190B 90 28 ldy $03D7,x ; CPU:$990D PRG:190D BC D7 03 lda $04A4,y ; CPU:$9910 PRG:1910 B9 A4 04 - jsr Sub_99BD ; CPU:$9913 PRG:1913 20 BD 99 + jsr Sub_99BD ; CPU:$9913 PRG:1913 20 BD 99 cmp #$01 ; CPU:$9916 PRG:1916 C9 01 - beq NmiHandler_Loop47 ; CPU:$9918 PRG:1918 F0 17 - jsr Sub_9956 ; CPU:$991A PRG:191A 20 56 99 + beq NmiHandler_Loop50 ; CPU:$9918 PRG:1918 F0 17 + jsr Sub_9956 ; CPU:$991A PRG:191A 20 56 99 cmp #$00 ; CPU:$991D PRG:191D C9 00 - bne NmiHandler_Loop47 ; CPU:$991F PRG:191F D0 10 - jsr Sub_97FE ; CPU:$9921 PRG:1921 20 FE 97 - bcs NmiHandler_OnNonzero12 ; CPU:$9924 PRG:1924 B0 09 + bne NmiHandler_Loop50 ; CPU:$991F PRG:191F D0 10 + jsr Sub_97FE ; CPU:$9921 PRG:1921 20 FE 97 + bcs NmiHandler_OnNonzero12 ; CPU:$9924 PRG:1924 B0 09 lda ZpE5,x ; CPU:$9926 PRG:1926 B5 E5 - jsr Sub_99BD ; CPU:$9928 PRG:1928 20 BD 99 + jsr Sub_99BD ; CPU:$9928 PRG:1928 20 BD 99 cmp #$01 ; CPU:$992B PRG:192B C9 01 - beq NmiHandler_OnZero ; CPU:$992D PRG:192D F0 03 + beq NmiHandler_OnZero ; CPU:$992D PRG:192D F0 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside Label: taken when 992F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2215,19 +2282,19 @@ Sub_9906: NmiHandler_OnNonzero12: lda #$00 ; CPU:$992F PRG:192F A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside Label: taken when 9931. -; Local: Part of Label. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop50: rts ; CPU:$9931 PRG:1931 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero -; Global: Branch target inside Label: taken when 9932. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2236,32 +2303,32 @@ NmiHandler_OnZero: lda #$02 ; CPU:$9932 PRG:1932 A9 02 rts ; CPU:$9934 PRG:1934 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside Label: taken when 9935. -; Local: Part of Label. +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: - jsr Sub_DBEE ; CPU:$9935 PRG:1935 20 EE DB +NmiHandler_Loop51: + jsr Sub_DBEE ; CPU:$9935 PRG:1935 20 EE DB lda ZpE5,x ; CPU:$9938 PRG:1938 B5 E5 - jsr Sub_99BD ; CPU:$993A PRG:193A 20 BD 99 + jsr Sub_99BD ; CPU:$993A PRG:193A 20 BD 99 cmp #$00 ; CPU:$993D PRG:193D C9 00 - bne NmiHandler_Loop47 ; CPU:$993F PRG:193F D0 F0 - jsr Sub_97FE ; CPU:$9941 PRG:1941 20 FE 97 - bcc NmiHandler_OnNonzero12 ; CPU:$9944 PRG:1944 90 E9 + bne NmiHandler_Loop50 ; CPU:$993F PRG:193F D0 F0 + jsr Sub_97FE ; CPU:$9941 PRG:1941 20 FE 97 + bcc NmiHandler_OnNonzero12 ; CPU:$9944 PRG:1944 90 E9 ldy $03D7,x ; CPU:$9946 PRG:1946 BC D7 03 - jsr Sub_9956 ; CPU:$9949 PRG:1949 20 56 99 + jsr Sub_9956 ; CPU:$9949 PRG:1949 20 56 99 cmp #$02 ; CPU:$994C PRG:194C C9 02 - beq NmiHandler_OnZero ; CPU:$994E PRG:194E F0 E2 + beq NmiHandler_OnZero ; CPU:$994E PRG:194E F0 E2 cmp #$01 ; CPU:$9950 PRG:1950 C9 01 - beq NmiHandler_OnZero ; CPU:$9952 PRG:1952 F0 DE - bne NmiHandler_OnNonzero12 ; CPU:$9954 PRG:1954 D0 D9 + beq NmiHandler_OnZero ; CPU:$9952 PRG:1952 F0 DE + bne NmiHandler_OnNonzero12 ; CPU:$9954 PRG:1954 D0 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_9956 -; Global: Branch target inside Label: taken when 9956. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9956. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2270,18 +2337,18 @@ Sub_9956: lda $047D,y ; CPU:$9956 PRG:1956 B9 7D 04 sec ; CPU:$9959 PRG:1959 38 sbc $039D,x ; CPU:$995A PRG:195A FD 9D 03 - sta Zp73 ; CPU:$995D PRG:195D 85 73 + sta VramWritePtrLo ; CPU:$995D PRG:195D 85 73 lda $048A,y ; CPU:$995F PRG:195F B9 8A 04 sbc $03AE,x ; CPU:$9962 PRG:1962 FD AE 03 - beq NmiHandler_Loop51 ; CPU:$9965 PRG:1965 F0 25 + beq NmiHandler_Loop54 ; CPU:$9965 PRG:1965 F0 25 cmp #$FF ; CPU:$9967 PRG:1967 C9 FF - beq NmiHandler_Loop50 ; CPU:$9969 PRG:1969 F0 19 + beq NmiHandler_Loop53 ; CPU:$9969 PRG:1969 F0 19 cmp #$00 ; CPU:$996B PRG:196B C9 00 - bmi NmiHandler_Loop52 ; CPU:$996D PRG:196D 30 31 + bmi NmiHandler_Loop55 ; CPU:$996D PRG:196D 30 31 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet -; Global: Branch target inside Label: taken when 996F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2289,98 +2356,98 @@ Sub_9956: NmiHandler_OnCarrySet: lda $03D7,x ; CPU:$996F PRG:196F BD D7 03 cmp #$0B ; CPU:$9972 PRG:1972 C9 0B - bcc NmiHandler_Loop49 ; CPU:$9974 PRG:1974 90 04 + bcc NmiHandler_Loop52 ; CPU:$9974 PRG:1974 90 04 tay ; CPU:$9976 PRG:1976 A8 lda $04BE,y ; CPU:$9977 PRG:1977 B9 BE 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside Label: taken when 997A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop49: - asl a ; CPU:$997A PRG:197A 0A - tay ; CPU:$997B PRG:197B A8 - iny ; CPU:$997C PRG:197C C8 - jsr Sub_9A66 ; CPU:$997D PRG:197D 20 66 9A - bcs NmiHandler_OnCarryClear2 ; CPU:$9980 PRG:1980 B0 35 - bcc NmiHandler_Loop53 ; CPU:$9982 PRG:1982 90 2D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside Label: taken when 9984. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop50: - lda Zp73 ; CPU:$9984 PRG:1984 A5 73 - cmp #$E8 ; CPU:$9986 PRG:1986 C9 E8 - bcc NmiHandler_Loop52 ; CPU:$9988 PRG:1988 90 16 - bcs NmiHandler_Loop54 ; CPU:$998A PRG:198A B0 28 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside Label: taken when 998C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop51: - lda Zp73 ; CPU:$998C PRG:198C A5 73 - cmp #$06 ; CPU:$998E PRG:198E C9 06 - bcc NmiHandler_Loop55 ; CPU:$9990 PRG:1990 90 28 - cmp #$1E ; CPU:$9992 PRG:1992 C9 1E - bcc NmiHandler_Loop53 ; CPU:$9994 PRG:1994 90 1B - cmp #$2C ; CPU:$9996 PRG:1996 C9 2C - bcc NmiHandler_Loop54 ; CPU:$9998 PRG:1998 90 1A - cmp #$30 ; CPU:$999A PRG:199A C9 30 - bcc NmiHandler_Loop55 ; CPU:$999C PRG:199C 90 1C - bcs NmiHandler_OnCarrySet ; CPU:$999E PRG:199E B0 CF -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop52 -; Global: Branch target inside Label: taken when 99A0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop52: - lda $03FB,y ; CPU:$99A0 PRG:19A0 B9 FB 03 - and #$04 ; CPU:$99A3 PRG:19A3 29 04 - beq NmiHandler_Loop53 ; CPU:$99A5 PRG:19A5 F0 0A - lda $04BE,y ; CPU:$99A7 PRG:19A7 B9 BE 04 - tay ; CPU:$99AA PRG:19AA A8 - sta $03D7,x ; CPU:$99AB PRG:19AB 9D D7 03 - jmp Sub_9956 ; CPU:$99AE PRG:19AE 4C 56 99 + asl a ; CPU:$997A PRG:197A 0A + tay ; CPU:$997B PRG:197B A8 + iny ; CPU:$997C PRG:197C C8 + jsr Sub_9A66 ; CPU:$997D PRG:197D 20 66 9A + bcs NmiHandler_OnCarryClear2 ; CPU:$9980 PRG:1980 B0 35 + bcc NmiHandler_Loop56 ; CPU:$9982 PRG:1982 90 2D ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop53 -; Global: Branch target inside Label: taken when 99B1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop53: - lda #$00 ; CPU:$99B1 PRG:19B1 A9 00 - rts ; CPU:$99B3 PRG:19B3 60 + lda VramWritePtrLo ; CPU:$9984 PRG:1984 A5 73 + cmp #$E8 ; CPU:$9986 PRG:1986 C9 E8 + bcc NmiHandler_Loop55 ; CPU:$9988 PRG:1988 90 16 + bcs NmiHandler_Loop57 ; CPU:$998A PRG:198A B0 28 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop54 -; Global: Branch target inside Label: taken when 99B4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop54: + lda VramWritePtrLo ; CPU:$998C PRG:198C A5 73 + cmp #$06 ; CPU:$998E PRG:198E C9 06 + bcc NmiHandler_Loop58 ; CPU:$9990 PRG:1990 90 28 + cmp #$1E ; CPU:$9992 PRG:1992 C9 1E + bcc NmiHandler_Loop56 ; CPU:$9994 PRG:1994 90 1B + cmp #$2C ; CPU:$9996 PRG:1996 C9 2C + bcc NmiHandler_Loop57 ; CPU:$9998 PRG:1998 90 1A + cmp #$30 ; CPU:$999A PRG:199A C9 30 + bcc NmiHandler_Loop58 ; CPU:$999C PRG:199C 90 1C + bcs NmiHandler_OnCarrySet ; CPU:$999E PRG:199E B0 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop55: + lda $03FB,y ; CPU:$99A0 PRG:19A0 B9 FB 03 + and #$04 ; CPU:$99A3 PRG:19A3 29 04 + beq NmiHandler_Loop56 ; CPU:$99A5 PRG:19A5 F0 0A + lda $04BE,y ; CPU:$99A7 PRG:19A7 B9 BE 04 + tay ; CPU:$99AA PRG:19AA A8 + sta $03D7,x ; CPU:$99AB PRG:19AB 9D D7 03 + jmp Sub_9956 ; CPU:$99AE PRG:19AE 4C 56 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop56: + lda #$00 ; CPU:$99B1 PRG:19B1 A9 00 + rts ; CPU:$99B3 PRG:19B3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: lda #$01 ; CPU:$99B4 PRG:19B4 A9 01 rts ; CPU:$99B6 PRG:19B6 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear2 -; Global: Branch target inside Label: taken when 99B7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnCarryClear2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2389,90 +2456,90 @@ NmiHandler_OnCarryClear2: lda #$02 ; CPU:$99B7 PRG:19B7 A9 02 rts ; CPU:$99B9 PRG:19B9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside Label: taken when 99BA. -; Local: Part of Label. +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop58: lda #$03 ; CPU:$99BA PRG:19BA A9 03 rts ; CPU:$99BC PRG:19BC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_99BD -; Global: Branch target inside Label: taken when 99BD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99BD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_99BD: - jsr Sub_9A0B ; CPU:$99BD PRG:19BD 20 0B 9A + jsr Sub_9A0B ; CPU:$99BD PRG:19BD 20 0B 9A lda $039D,x ; CPU:$99C0 PRG:19C0 BD 9D 03 sec ; CPU:$99C3 PRG:19C3 38 - sbc Zp73 ; CPU:$99C4 PRG:19C4 E5 73 - sta Zp73 ; CPU:$99C6 PRG:19C6 85 73 + sbc VramWritePtrLo ; CPU:$99C4 PRG:19C4 E5 73 + sta VramWritePtrLo ; CPU:$99C6 PRG:19C6 85 73 lda $03AE,x ; CPU:$99C8 PRG:19C8 BD AE 03 - sbc Zp74 ; CPU:$99CB PRG:19CB E5 74 - beq NmiHandler_Loop56 ; CPU:$99CD PRG:19CD F0 10 + sbc VramWritePtrHi ; CPU:$99CB PRG:19CB E5 74 + beq NmiHandler_Loop59 ; CPU:$99CD PRG:19CD F0 10 cmp #$FF ; CPU:$99CF PRG:19CF C9 FF - bne NmiHandler_Loop53 ; CPU:$99D1 PRG:19D1 D0 DE - lda Zp73 ; CPU:$99D3 PRG:19D3 A5 73 + bne NmiHandler_Loop56 ; CPU:$99D1 PRG:19D1 D0 DE + lda VramWritePtrLo ; CPU:$99D3 PRG:19D3 A5 73 cmp #$FA ; CPU:$99D5 PRG:19D5 C9 FA - bcs NmiHandler_Loop55 ; CPU:$99D7 PRG:19D7 B0 E1 + bcs NmiHandler_Loop58 ; CPU:$99D7 PRG:19D7 B0 E1 cmp #$EB ; CPU:$99D9 PRG:19D9 C9 EB - bcs NmiHandler_Loop53 ; CPU:$99DB PRG:19DB B0 D4 - bcc NmiHandler_Loop54 ; CPU:$99DD PRG:19DD 90 D5 + bcs NmiHandler_Loop56 ; CPU:$99DB PRG:19DB B0 D4 + bcc NmiHandler_Loop57 ; CPU:$99DD PRG:19DD 90 D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside Label: taken when 99DF. -; Local: Part of Label. +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: - lda Zp73 ; CPU:$99DF PRG:19DF A5 73 +NmiHandler_Loop59: + lda VramWritePtrLo ; CPU:$99DF PRG:19DF A5 73 cmp #$14 ; CPU:$99E1 PRG:19E1 C9 14 - bcc NmiHandler_OnCarryClear2 ; CPU:$99E3 PRG:19E3 90 D2 - bcs NmiHandler_Loop53 ; CPU:$99E5 PRG:19E5 B0 CA + bcc NmiHandler_OnCarryClear2 ; CPU:$99E3 PRG:19E3 90 D2 + bcs NmiHandler_Loop56 ; CPU:$99E5 PRG:19E5 B0 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_99E7 -; Global: Branch target inside Label: taken when 99E7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99E7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_99E7: lda ZpE5,x ; CPU:$99E7 PRG:19E7 B5 E5 - jsr Sub_9A0B ; CPU:$99E9 PRG:19E9 20 0B 9A - lda Zp73 ; CPU:$99EC PRG:19EC A5 73 + jsr Sub_9A0B ; CPU:$99E9 PRG:19E9 20 0B 9A + lda VramWritePtrLo ; CPU:$99EC PRG:19EC A5 73 sta $039D,x ; CPU:$99EE PRG:19EE 9D 9D 03 - lda Zp74 ; CPU:$99F1 PRG:19F1 A5 74 + lda VramWritePtrHi ; CPU:$99F1 PRG:19F1 A5 74 sta $03AE,x ; CPU:$99F3 PRG:19F3 9D AE 03 rts ; CPU:$99F6 PRG:19F6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_99F7 -; Global: Branch target inside Label: taken when 99F7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99F7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_99F7: lda $0422,x ; CPU:$99F7 PRG:19F7 BD 22 04 - jsr Sub_9A0B ; CPU:$99FA PRG:19FA 20 0B 9A - lda Zp73 ; CPU:$99FD PRG:19FD A5 73 + jsr Sub_9A0B ; CPU:$99FA PRG:19FA 20 0B 9A + lda VramWritePtrLo ; CPU:$99FD PRG:19FD A5 73 sta $047D,x ; CPU:$99FF PRG:19FF 9D 7D 04 - lda Zp74 ; CPU:$9A02 PRG:1A02 A5 74 + lda VramWritePtrHi ; CPU:$9A02 PRG:1A02 A5 74 sta $048A,x ; CPU:$9A04 PRG:1A04 9D 8A 04 rts ; CPU:$9A07 PRG:1A07 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A08 -; Global: Branch target inside Label: taken when 9A08. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A08. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2481,42 +2548,42 @@ Sub_9A08: lda $058F ; CPU:$9A08 PRG:1A08 AD 8F 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A0B -; Global: Branch target inside Label: taken when 9A0B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A0B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9A0B: - sta Zp73 ; CPU:$9A0B PRG:1A0B 85 73 + sta VramWritePtrLo ; CPU:$9A0B PRG:1A0B 85 73 lda #$00 ; CPU:$9A0D PRG:1A0D A9 00 - sta Zp74 ; CPU:$9A0F PRG:1A0F 85 74 - asl Zp73 ; CPU:$9A11 PRG:1A11 06 73 - rol Zp74 ; CPU:$9A13 PRG:1A13 26 74 - asl Zp73 ; CPU:$9A15 PRG:1A15 06 73 - rol Zp74 ; CPU:$9A17 PRG:1A17 26 74 - asl Zp73 ; CPU:$9A19 PRG:1A19 06 73 - rol Zp74 ; CPU:$9A1B PRG:1A1B 26 74 - asl Zp73 ; CPU:$9A1D PRG:1A1D 06 73 - rol Zp74 ; CPU:$9A1F PRG:1A1F 26 74 - lda Zp73 ; CPU:$9A21 PRG:1A21 A5 73 - sta Zp6F ; CPU:$9A23 PRG:1A23 85 6F - lda Zp74 ; CPU:$9A25 PRG:1A25 A5 74 - sta Zp70 ; CPU:$9A27 PRG:1A27 85 70 - asl Zp73 ; CPU:$9A29 PRG:1A29 06 73 - rol Zp74 ; CPU:$9A2B PRG:1A2B 26 74 + sta VramWritePtrHi ; CPU:$9A0F PRG:1A0F 85 74 + asl VramWritePtrLo ; CPU:$9A11 PRG:1A11 06 73 + rol VramWritePtrHi ; CPU:$9A13 PRG:1A13 26 74 + asl VramWritePtrLo ; CPU:$9A15 PRG:1A15 06 73 + rol VramWritePtrHi ; CPU:$9A17 PRG:1A17 26 74 + asl VramWritePtrLo ; CPU:$9A19 PRG:1A19 06 73 + rol VramWritePtrHi ; CPU:$9A1B PRG:1A1B 26 74 + asl VramWritePtrLo ; CPU:$9A1D PRG:1A1D 06 73 + rol VramWritePtrHi ; CPU:$9A1F PRG:1A1F 26 74 + lda VramWritePtrLo ; CPU:$9A21 PRG:1A21 A5 73 + sta PlayerSpriteX ; CPU:$9A23 PRG:1A23 85 6F + lda VramWritePtrHi ; CPU:$9A25 PRG:1A25 A5 74 + sta PlayerSpriteY ; CPU:$9A27 PRG:1A27 85 70 + asl VramWritePtrLo ; CPU:$9A29 PRG:1A29 06 73 + rol VramWritePtrHi ; CPU:$9A2B PRG:1A2B 26 74 clc ; CPU:$9A2D PRG:1A2D 18 - lda Zp6F ; CPU:$9A2E PRG:1A2E A5 6F - adc Zp73 ; CPU:$9A30 PRG:1A30 65 73 - sta Zp73 ; CPU:$9A32 PRG:1A32 85 73 - lda Zp70 ; CPU:$9A34 PRG:1A34 A5 70 - adc Zp74 ; CPU:$9A36 PRG:1A36 65 74 - sta Zp74 ; CPU:$9A38 PRG:1A38 85 74 + lda PlayerSpriteX ; CPU:$9A2E PRG:1A2E A5 6F + adc VramWritePtrLo ; CPU:$9A30 PRG:1A30 65 73 + sta VramWritePtrLo ; CPU:$9A32 PRG:1A32 85 73 + lda PlayerSpriteY ; CPU:$9A34 PRG:1A34 A5 70 + adc VramWritePtrHi ; CPU:$9A36 PRG:1A36 65 74 + sta VramWritePtrHi ; CPU:$9A38 PRG:1A38 85 74 rts ; CPU:$9A3A PRG:1A3A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A3B -; Global: Branch target inside Label: taken when 9A3B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A3B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2524,64 +2591,64 @@ Sub_9A0B: Sub_9A3B: lda ZpE5,x ; CPU:$9A3B PRG:1A3B B5 E5 cmp #$00 ; CPU:$9A3D PRG:1A3D C9 00 - beq NmiHandler_OnCarrySet2 ; CPU:$9A3F PRG:1A3F F0 43 + beq NmiHandler_OnCarrySet2 ; CPU:$9A3F PRG:1A3F F0 43 lda $03D7,x ; CPU:$9A41 PRG:1A41 BD D7 03 cmp #$0B ; CPU:$9A44 PRG:1A44 C9 0B - bcc NmiHandler_Loop57 ; CPU:$9A46 PRG:1A46 90 04 + bcc NmiHandler_Loop60 ; CPU:$9A46 PRG:1A46 90 04 tay ; CPU:$9A48 PRG:1A48 A8 lda $04BE,y ; CPU:$9A49 PRG:1A49 B9 BE 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside Label: taken when 9A4C. -; Local: Part of Label. +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop60: asl a ; CPU:$9A4C PRG:1A4C 0A tay ; CPU:$9A4D PRG:1A4D A8 - lda ZpC8,x ; CPU:$9A4E PRG:1A4E B5 C8 + lda SpriteYPosition,x ; CPU:$9A4E PRG:1A4E B5 C8 clc ; CPU:$9A50 PRG:1A50 18 adc ZpD9,x ; CPU:$9A51 PRG:1A51 75 D9 adc ZpD9,x ; CPU:$9A53 PRG:1A53 75 D9 cmp $9D41,y ; CPU:$9A55 PRG:1A55 D9 41 9D - bcc NmiHandler_Loop59 ; CPU:$9A58 PRG:1A58 90 30 + bcc NmiHandler_Loop62 ; CPU:$9A58 PRG:1A58 90 30 iny ; CPU:$9A5A PRG:1A5A C8 cmp $9D41,y ; CPU:$9A5B PRG:1A5B D9 41 9D - bcs NmiHandler_Loop59 ; CPU:$9A5E PRG:1A5E B0 2A - lda ZpB7,x ; CPU:$9A60 PRG:1A60 B5 B7 + bcs NmiHandler_Loop62 ; CPU:$9A5E PRG:1A5E B0 2A + lda SpriteIndex,x ; CPU:$9A60 PRG:1A60 B5 B7 and #$10 ; CPU:$9A62 PRG:1A62 29 10 - beq NmiHandler_Loop58 ; CPU:$9A64 PRG:1A64 F0 20 + beq NmiHandler_Loop61 ; CPU:$9A64 PRG:1A64 F0 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A66 -; Global: Branch target inside Label: taken when 9A66. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A66. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9A66: - lda ZpC8,x ; CPU:$9A66 PRG:1A66 B5 C8 + lda SpriteYPosition,x ; CPU:$9A66 PRG:1A66 B5 C8 clc ; CPU:$9A68 PRG:1A68 18 adc ZpD9,x ; CPU:$9A69 PRG:1A69 75 D9 adc ZpD9,x ; CPU:$9A6B PRG:1A6B 75 D9 - sta Zp6F ; CPU:$9A6D PRG:1A6D 85 6F + sta PlayerSpriteX ; CPU:$9A6D PRG:1A6D 85 6F lda $9D41,y ; CPU:$9A6F PRG:1A6F B9 41 9D sec ; CPU:$9A72 PRG:1A72 38 sbc #$08 ; CPU:$9A73 PRG:1A73 E9 08 - cmp Zp6F ; CPU:$9A75 PRG:1A75 C5 6F - bcc NmiHandler_Loop58 ; CPU:$9A77 PRG:1A77 90 0D + cmp PlayerSpriteX ; CPU:$9A75 PRG:1A75 C5 6F + bcc NmiHandler_Loop61 ; CPU:$9A77 PRG:1A77 90 0D dey ; CPU:$9A79 PRG:1A79 88 lda $9D41,y ; CPU:$9A7A PRG:1A7A B9 41 9D clc ; CPU:$9A7D PRG:1A7D 18 adc #$08 ; CPU:$9A7E PRG:1A7E 69 08 - cmp Zp6F ; CPU:$9A80 PRG:1A80 C5 6F - bcs NmiHandler_Loop58 ; CPU:$9A82 PRG:1A82 B0 02 + cmp PlayerSpriteX ; CPU:$9A80 PRG:1A80 C5 6F + bcs NmiHandler_Loop61 ; CPU:$9A82 PRG:1A82 B0 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet2 -; Global: Branch target inside Label: taken when 9A84. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2590,88 +2657,88 @@ NmiHandler_OnCarrySet2: sec ; CPU:$9A84 PRG:1A84 38 rts ; CPU:$9A85 PRG:1A85 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside Label: taken when 9A86. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop58: - lda #$00 ; CPU:$9A86 PRG:1A86 A9 00 - clc ; CPU:$9A88 PRG:1A88 18 - rts ; CPU:$9A89 PRG:1A89 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside Label: taken when 9A8A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop59: - jsr Sub_9A08 ; CPU:$9A8A PRG:1A8A 20 08 9A - sec ; CPU:$9A8D PRG:1A8D 38 - lda $0684 ; CPU:$9A8E PRG:1A8E AD 84 06 - sbc Zp73 ; CPU:$9A91 PRG:1A91 E5 73 - sta Zp73 ; CPU:$9A93 PRG:1A93 85 73 - lda $0685 ; CPU:$9A95 PRG:1A95 AD 85 06 - sbc Zp74 ; CPU:$9A98 PRG:1A98 E5 74 - bcc NmiHandler_OnCarrySet2 ; CPU:$9A9A PRG:1A9A 90 E8 - lda Zp73 ; CPU:$9A9C PRG:1A9C A5 73 - cmp #$10 ; CPU:$9A9E PRG:1A9E C9 10 - bcs NmiHandler_OnCarrySet2 ; CPU:$9AA0 PRG:1AA0 B0 E2 - lda #$FF ; CPU:$9AA2 PRG:1AA2 A9 FF - clc ; CPU:$9AA4 PRG:1AA4 18 - rts ; CPU:$9AA5 PRG:1AA5 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_9AA6 -; Global: Branch target inside Label: taken when 9AA6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_9AA6: - jsr Sub_9848 ; CPU:$9AA6 PRG:1AA6 20 48 98 - bcs NmiHandler_Loop60 ; CPU:$9AA9 PRG:1AA9 B0 19 - lda ZpC8,x ; CPU:$9AAB PRG:1AAB B5 C8 - jsr Sub_9805 ; CPU:$9AAD PRG:1AAD 20 05 98 - bcs NmiHandler_Loop61 ; CPU:$9AB0 PRG:1AB0 B0 14 - lda ZpE5,x ; CPU:$9AB2 PRG:1AB2 B5 E5 - jsr Sub_9A0B ; CPU:$9AB4 PRG:1AB4 20 0B 9A - lda Zp73 ; CPU:$9AB7 PRG:1AB7 A5 73 - sec ; CPU:$9AB9 PRG:1AB9 38 - sbc $039D,x ; CPU:$9ABA PRG:1ABA FD 9D 03 - cmp #$04 ; CPU:$9ABD PRG:1ABD C9 04 - bcc NmiHandler_Loop60 ; CPU:$9ABF PRG:1ABF 90 03 - cmp #$30 ; CPU:$9AC1 PRG:1AC1 C9 30 - rts ; CPU:$9AC3 PRG:1AC3 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside Label: taken when 9AC4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop60: - sec ; CPU:$9AC4 PRG:1AC4 38 - rts ; CPU:$9AC5 PRG:1AC5 60 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop61 -; Global: Branch target inside Label: taken when 9AC6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop61: + lda #$00 ; CPU:$9A86 PRG:1A86 A9 00 + clc ; CPU:$9A88 PRG:1A88 18 + rts ; CPU:$9A89 PRG:1A89 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + jsr Sub_9A08 ; CPU:$9A8A PRG:1A8A 20 08 9A + sec ; CPU:$9A8D PRG:1A8D 38 + lda $0684 ; CPU:$9A8E PRG:1A8E AD 84 06 + sbc VramWritePtrLo ; CPU:$9A91 PRG:1A91 E5 73 + sta VramWritePtrLo ; CPU:$9A93 PRG:1A93 85 73 + lda $0685 ; CPU:$9A95 PRG:1A95 AD 85 06 + sbc VramWritePtrHi ; CPU:$9A98 PRG:1A98 E5 74 + bcc NmiHandler_OnCarrySet2 ; CPU:$9A9A PRG:1A9A 90 E8 + lda VramWritePtrLo ; CPU:$9A9C PRG:1A9C A5 73 + cmp #$10 ; CPU:$9A9E PRG:1A9E C9 10 + bcs NmiHandler_OnCarrySet2 ; CPU:$9AA0 PRG:1AA0 B0 E2 + lda #$FF ; CPU:$9AA2 PRG:1AA2 A9 FF + clc ; CPU:$9AA4 PRG:1AA4 18 + rts ; CPU:$9AA5 PRG:1AA5 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9AA6 +; Global: Branch target inside Sub: taken when 9AA6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9AA6: + jsr Sub_9848 ; CPU:$9AA6 PRG:1AA6 20 48 98 + bcs NmiHandler_Loop63 ; CPU:$9AA9 PRG:1AA9 B0 19 + lda SpriteYPosition,x ; CPU:$9AAB PRG:1AAB B5 C8 + jsr Sub_9805 ; CPU:$9AAD PRG:1AAD 20 05 98 + bcs NmiHandler_Loop64 ; CPU:$9AB0 PRG:1AB0 B0 14 + lda ZpE5,x ; CPU:$9AB2 PRG:1AB2 B5 E5 + jsr Sub_9A0B ; CPU:$9AB4 PRG:1AB4 20 0B 9A + lda VramWritePtrLo ; CPU:$9AB7 PRG:1AB7 A5 73 + sec ; CPU:$9AB9 PRG:1AB9 38 + sbc $039D,x ; CPU:$9ABA PRG:1ABA FD 9D 03 + cmp #$04 ; CPU:$9ABD PRG:1ABD C9 04 + bcc NmiHandler_Loop63 ; CPU:$9ABF PRG:1ABF 90 03 + cmp #$30 ; CPU:$9AC1 PRG:1AC1 C9 30 + rts ; CPU:$9AC3 PRG:1AC3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + sec ; CPU:$9AC4 PRG:1AC4 38 + rts ; CPU:$9AC5 PRG:1AC5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: ldy $03D7,x ; CPU:$9AC6 PRG:1AC6 BC D7 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_9AC9 -; Global: Branch target inside Label: taken when 9AC9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9AC9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2680,62 +2747,62 @@ Sub_9AC9: lda $047D,y ; CPU:$9AC9 PRG:1AC9 B9 7D 04 sec ; CPU:$9ACC PRG:1ACC 38 sbc $039D,x ; CPU:$9ACD PRG:1ACD FD 9D 03 - sta Zp73 ; CPU:$9AD0 PRG:1AD0 85 73 + sta VramWritePtrLo ; CPU:$9AD0 PRG:1AD0 85 73 lda $048A,y ; CPU:$9AD2 PRG:1AD2 B9 8A 04 sbc $03AE,x ; CPU:$9AD5 PRG:1AD5 FD AE 03 - beq NmiHandler_Loop62 ; CPU:$9AD8 PRG:1AD8 F0 0F + beq NmiHandler_Loop65 ; CPU:$9AD8 PRG:1AD8 F0 0F cmp #$FF ; CPU:$9ADA PRG:1ADA C9 FF - bne NmiHandler_Loop63 ; CPU:$9ADC PRG:1ADC D0 15 - lda Zp73 ; CPU:$9ADE PRG:1ADE A5 73 + bne NmiHandler_Loop66 ; CPU:$9ADC PRG:1ADC D0 15 + lda VramWritePtrLo ; CPU:$9ADE PRG:1ADE A5 73 cmp #$FD ; CPU:$9AE0 PRG:1AE0 C9 FD - bcs NmiHandler_Loop63 ; CPU:$9AE2 PRG:1AE2 B0 0F + bcs NmiHandler_Loop66 ; CPU:$9AE2 PRG:1AE2 B0 0F cmp #$F4 ; CPU:$9AE4 PRG:1AE4 C9 F4 - bcc NmiHandler_Loop63 ; CPU:$9AE6 PRG:1AE6 90 0B + bcc NmiHandler_Loop66 ; CPU:$9AE6 PRG:1AE6 90 0B rts ; CPU:$9AE8 PRG:1AE8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside Label: taken when 9AE9. -; Local: Part of Label. +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: - lda Zp73 ; CPU:$9AE9 PRG:1AE9 A5 73 +NmiHandler_Loop65: + lda VramWritePtrLo ; CPU:$9AE9 PRG:1AE9 A5 73 cmp #$24 ; CPU:$9AEB PRG:1AEB C9 24 - bcc NmiHandler_Loop63 ; CPU:$9AED PRG:1AED 90 04 + bcc NmiHandler_Loop66 ; CPU:$9AED PRG:1AED 90 04 cmp #$2C ; CPU:$9AEF PRG:1AEF C9 2C - bcc NmiHandler_Loop60 ; CPU:$9AF1 PRG:1AF1 90 D1 + bcc NmiHandler_Loop63 ; CPU:$9AF1 PRG:1AF1 90 D1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside Label: taken when 9AF3. -; Local: Part of Label. +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop66: lda $03FB,y ; CPU:$9AF3 PRG:1AF3 B9 FB 03 and #$04 ; CPU:$9AF6 PRG:1AF6 29 04 - beq NmiHandler_Loop64 ; CPU:$9AF8 PRG:1AF8 F0 07 + beq NmiHandler_Loop67 ; CPU:$9AF8 PRG:1AF8 F0 07 lda $04BE,y ; CPU:$9AFA PRG:1AFA B9 BE 04 tay ; CPU:$9AFD PRG:1AFD A8 - jmp Sub_9AC9 ; CPU:$9AFE PRG:1AFE 4C C9 9A + jmp Sub_9AC9 ; CPU:$9AFE PRG:1AFE 4C C9 9A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside Label: taken when 9B01. -; Local: Part of Label. +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: +NmiHandler_Loop67: clc ; CPU:$9B01 PRG:1B01 18 rts ; CPU:$9B02 PRG:1B02 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B03 -; Global: Branch target inside Label: taken when 9B03. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B03. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2750,46 +2817,46 @@ Sub_9B03: rts ; CPU:$9B10 PRG:1B10 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B11 -; Global: Branch target inside Label: taken when 9B11. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B11. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9B11: - lda ZpB7,x ; CPU:$9B11 PRG:1B11 B5 B7 + lda SpriteIndex,x ; CPU:$9B11 PRG:1B11 B5 B7 ora #$08 ; CPU:$9B13 PRG:1B13 09 08 - sta ZpB7,x ; CPU:$9B15 PRG:1B15 95 B7 + sta SpriteIndex,x ; CPU:$9B15 PRG:1B15 95 B7 rts ; CPU:$9B17 PRG:1B17 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B18 -; Global: Branch target inside Label: taken when 9B18. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B18. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9B18: - lda ZpB7,x ; CPU:$9B18 PRG:1B18 B5 B7 + lda SpriteIndex,x ; CPU:$9B18 PRG:1B18 B5 B7 and #$F7 ; CPU:$9B1A PRG:1B1A 29 F7 - sta ZpB7,x ; CPU:$9B1C PRG:1B1C 95 B7 + sta SpriteIndex,x ; CPU:$9B1C PRG:1B1C 95 B7 rts ; CPU:$9B1E PRG:1B1E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B1F -; Global: Branch target inside Label: taken when 9B1F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B1F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9B1F: - lda ZpB7,x ; CPU:$9B1F PRG:1B1F B5 B7 + lda SpriteIndex,x ; CPU:$9B1F PRG:1B1F B5 B7 and #$08 ; CPU:$9B21 PRG:1B21 29 08 rts ; CPU:$9B23 PRG:1B23 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B24 -; Global: Branch target inside Label: taken when 9B24. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B24. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2797,135 +2864,135 @@ Sub_9B1F: Sub_9B24: lda $03E3,x ; CPU:$9B24 PRG:1B24 BD E3 03 cmp #$02 ; CPU:$9B27 PRG:1B27 C9 02 - beq NmiHandler_Loop66 ; CPU:$9B29 PRG:1B29 F0 22 + beq NmiHandler_Loop69 ; CPU:$9B29 PRG:1B29 F0 22 lda ZpE5,x ; CPU:$9B2B PRG:1B2B B5 E5 cmp #$0C ; CPU:$9B2D PRG:1B2D C9 0C - bcc NmiHandler_Loop68 ; CPU:$9B2F PRG:1B2F 90 3C + bcc NmiHandler_Loop71 ; CPU:$9B2F PRG:1B2F 90 3C cmp #$0F ; CPU:$9B31 PRG:1B31 C9 0F - beq NmiHandler_Loop65 ; CPU:$9B33 PRG:1B33 F0 0C - bcs NmiHandler_Loop68 ; CPU:$9B35 PRG:1B35 B0 36 - lda ZpC8,x ; CPU:$9B37 PRG:1B37 B5 C8 + beq NmiHandler_Loop68 ; CPU:$9B33 PRG:1B33 F0 0C + bcs NmiHandler_Loop71 ; CPU:$9B35 PRG:1B35 B0 36 + lda SpriteYPosition,x ; CPU:$9B37 PRG:1B37 B5 C8 cmp #$30 ; CPU:$9B39 PRG:1B39 C9 30 - bcc NmiHandler_Loop68 ; CPU:$9B3B PRG:1B3B 90 30 + bcc NmiHandler_Loop71 ; CPU:$9B3B PRG:1B3B 90 30 cmp #$38 ; CPU:$9B3D PRG:1B3D C9 38 - bcc NmiHandler_Loop70 ; CPU:$9B3F PRG:1B3F 90 37 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside Label: taken when 9B41. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop65: - lda ZpC8,x ; CPU:$9B41 PRG:1B41 B5 C8 - cmp #$C0 ; CPU:$9B43 PRG:1B43 C9 C0 - bcc NmiHandler_Loop68 ; CPU:$9B45 PRG:1B45 90 26 - cmp #$C8 ; CPU:$9B47 PRG:1B47 C9 C8 - bcc NmiHandler_Loop69 ; CPU:$9B49 PRG:1B49 90 24 - bcs NmiHandler_Loop68 ; CPU:$9B4B PRG:1B4B B0 20 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside Label: taken when 9B4D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop66: - lda ZpE5,x ; CPU:$9B4D PRG:1B4D B5 E5 - cmp #$0B ; CPU:$9B4F PRG:1B4F C9 0B - bcc NmiHandler_Loop68 ; CPU:$9B51 PRG:1B51 90 1A - cmp #$0E ; CPU:$9B53 PRG:1B53 C9 0E - beq NmiHandler_Loop67 ; CPU:$9B55 PRG:1B55 F0 0C - bcs NmiHandler_Loop68 ; CPU:$9B57 PRG:1B57 B0 14 - lda ZpC8,x ; CPU:$9B59 PRG:1B59 B5 C8 - cmp #$08 ; CPU:$9B5B PRG:1B5B C9 08 - bcc NmiHandler_Loop68 ; CPU:$9B5D PRG:1B5D 90 0E - cmp #$10 ; CPU:$9B5F PRG:1B5F C9 10 - bcc NmiHandler_Loop69 ; CPU:$9B61 PRG:1B61 90 0C -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside Label: taken when 9B63. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop67: - lda ZpC8,x ; CPU:$9B63 PRG:1B63 B5 C8 - cmp #$E8 ; CPU:$9B65 PRG:1B65 C9 E8 - bcc NmiHandler_Loop68 ; CPU:$9B67 PRG:1B67 90 04 - cmp #$F0 ; CPU:$9B69 PRG:1B69 C9 F0 - bcc NmiHandler_Loop70 ; CPU:$9B6B PRG:1B6B 90 0B + bcc NmiHandler_Loop73 ; CPU:$9B3F PRG:1B3F 90 37 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop68 -; Global: Branch target inside Label: taken when 9B6D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop68: - clc ; CPU:$9B6D PRG:1B6D 18 - rts ; CPU:$9B6E PRG:1B6E 60 + lda SpriteYPosition,x ; CPU:$9B41 PRG:1B41 B5 C8 + cmp #$C0 ; CPU:$9B43 PRG:1B43 C9 C0 + bcc NmiHandler_Loop71 ; CPU:$9B45 PRG:1B45 90 26 + cmp #$C8 ; CPU:$9B47 PRG:1B47 C9 C8 + bcc NmiHandler_Loop72 ; CPU:$9B49 PRG:1B49 90 24 + bcs NmiHandler_Loop71 ; CPU:$9B4B PRG:1B4B B0 20 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop69 -; Global: Branch target inside Label: taken when 9B6F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop69: - jsr Sub_9B11 ; CPU:$9B6F PRG:1B6F 20 11 9B - lda #$01 ; CPU:$9B72 PRG:1B72 A9 01 - sta ZpD9,x ; CPU:$9B74 PRG:1B74 95 D9 - sec ; CPU:$9B76 PRG:1B76 38 - rts ; CPU:$9B77 PRG:1B77 60 + lda ZpE5,x ; CPU:$9B4D PRG:1B4D B5 E5 + cmp #$0B ; CPU:$9B4F PRG:1B4F C9 0B + bcc NmiHandler_Loop71 ; CPU:$9B51 PRG:1B51 90 1A + cmp #$0E ; CPU:$9B53 PRG:1B53 C9 0E + beq NmiHandler_Loop70 ; CPU:$9B55 PRG:1B55 F0 0C + bcs NmiHandler_Loop71 ; CPU:$9B57 PRG:1B57 B0 14 + lda SpriteYPosition,x ; CPU:$9B59 PRG:1B59 B5 C8 + cmp #$08 ; CPU:$9B5B PRG:1B5B C9 08 + bcc NmiHandler_Loop71 ; CPU:$9B5D PRG:1B5D 90 0E + cmp #$10 ; CPU:$9B5F PRG:1B5F C9 10 + bcc NmiHandler_Loop72 ; CPU:$9B61 PRG:1B61 90 0C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop70 -; Global: Branch target inside Label: taken when 9B78. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop70: - jsr Sub_9B18 ; CPU:$9B78 PRG:1B78 20 18 9B + lda SpriteYPosition,x ; CPU:$9B63 PRG:1B63 B5 C8 + cmp #$E8 ; CPU:$9B65 PRG:1B65 C9 E8 + bcc NmiHandler_Loop71 ; CPU:$9B67 PRG:1B67 90 04 + cmp #$F0 ; CPU:$9B69 PRG:1B69 C9 F0 + bcc NmiHandler_Loop73 ; CPU:$9B6B PRG:1B6B 90 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + clc ; CPU:$9B6D PRG:1B6D 18 + rts ; CPU:$9B6E PRG:1B6E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + jsr Sub_9B11 ; CPU:$9B6F PRG:1B6F 20 11 9B + lda #$01 ; CPU:$9B72 PRG:1B72 A9 01 + sta ZpD9,x ; CPU:$9B74 PRG:1B74 95 D9 + sec ; CPU:$9B76 PRG:1B76 38 + rts ; CPU:$9B77 PRG:1B77 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + jsr Sub_9B18 ; CPU:$9B78 PRG:1B78 20 18 9B lda #$FF ; CPU:$9B7B PRG:1B7B A9 FF sta ZpD9,x ; CPU:$9B7D PRG:1B7D 95 D9 sec ; CPU:$9B7F PRG:1B7F 38 rts ; CPU:$9B80 PRG:1B80 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B81 -; Global: Branch target inside Label: taken when 9B81. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9B81. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9B81: - lda ZpB7,x ; CPU:$9B81 PRG:1B81 B5 B7 + lda SpriteIndex,x ; CPU:$9B81 PRG:1B81 B5 B7 and #$10 ; CPU:$9B83 PRG:1B83 29 10 - beq NmiHandler_Loop71 ; CPU:$9B85 PRG:1B85 F0 32 + beq NmiHandler_Loop74 ; CPU:$9B85 PRG:1B85 F0 32 ldy $03D7,x ; CPU:$9B87 PRG:1B87 BC D7 03 lda $04A4,y ; CPU:$9B8A PRG:1B8A B9 A4 04 cmp ZpE5,x ; CPU:$9B8D PRG:1B8D D5 E5 - bcc NmiHandler_Loop71 ; CPU:$9B8F PRG:1B8F 90 28 + bcc NmiHandler_Loop74 ; CPU:$9B8F PRG:1B8F 90 28 sec ; CPU:$9B91 PRG:1B91 38 sbc #$01 ; CPU:$9B92 PRG:1B92 E9 01 - jsr Sub_9A0B ; CPU:$9B94 PRG:1B94 20 0B 9A + jsr Sub_9A0B ; CPU:$9B94 PRG:1B94 20 0B 9A lda $039D,x ; CPU:$9B97 PRG:1B97 BD 9D 03 sec ; CPU:$9B9A PRG:1B9A 38 - sbc Zp73 ; CPU:$9B9B PRG:1B9B E5 73 - sta Zp73 ; CPU:$9B9D PRG:1B9D 85 73 + sbc VramWritePtrLo ; CPU:$9B9B PRG:1B9B E5 73 + sta VramWritePtrLo ; CPU:$9B9D PRG:1B9D 85 73 lda $03AE,x ; CPU:$9B9F PRG:1B9F BD AE 03 - sbc Zp74 ; CPU:$9BA2 PRG:1BA2 E5 74 - bne NmiHandler_Loop71 ; CPU:$9BA4 PRG:1BA4 D0 13 + sbc VramWritePtrHi ; CPU:$9BA2 PRG:1BA2 E5 74 + bne NmiHandler_Loop74 ; CPU:$9BA4 PRG:1BA4 D0 13 lda #$18 ; CPU:$9BA6 PRG:1BA6 A9 18 - cmp Zp73 ; CPU:$9BA8 PRG:1BA8 C5 73 - bcc NmiHandler_Loop71 ; CPU:$9BAA PRG:1BAA 90 0D + cmp VramWritePtrLo ; CPU:$9BA8 PRG:1BA8 C5 73 + bcc NmiHandler_Loop74 ; CPU:$9BAA PRG:1BAA 90 0D ldy $03D7,x ; CPU:$9BAC PRG:1BAC BC D7 03 lda $03FB,y ; CPU:$9BAF PRG:1BAF B9 FB 03 ora #$60 ; CPU:$9BB2 PRG:1BB2 09 60 @@ -2933,172 +3000,172 @@ Sub_9B81: sec ; CPU:$9BB7 PRG:1BB7 38 rts ; CPU:$9BB8 PRG:1BB8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside Label: taken when 9BB9. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop71: - clc ; CPU:$9BB9 PRG:1BB9 18 - rts ; CPU:$9BBA PRG:1BBA 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_9BBB -; Global: Branch target inside Label: taken when 9BBB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_9BBB: - lda ZpC8,x ; CPU:$9BBB PRG:1BBB B5 C8 - jsr Sub_9805 ; CPU:$9BBD PRG:1BBD 20 05 98 - bcs NmiHandler_Loop72 ; CPU:$9BC0 PRG:1BC0 B0 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside Label: taken when 9BC2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: - jmp NmiHandler_Loop78 ; CPU:$9BC2 PRG:1BC2 4C 42 9C -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside Label: taken when 9BC5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop72: - ldy $03D7,x ; CPU:$9BC5 PRG:1BC5 BC D7 03 - lda $03FB,y ; CPU:$9BC8 PRG:1BC8 B9 FB 03 - and #$04 ; CPU:$9BCB PRG:1BCB 29 04 - beq NmiHandler_Loop73 ; CPU:$9BCD PRG:1BCD F0 07 - lda $04BE,y ; CPU:$9BCF PRG:1BCF B9 BE 04 - tay ; CPU:$9BD2 PRG:1BD2 A8 - sta $03D7,x ; CPU:$9BD3 PRG:1BD3 9D D7 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside Label: taken when 9BD6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop73: - lda ZpE5,x ; CPU:$9BD6 PRG:1BD6 B5 E5 - cmp $04CB,y ; CPU:$9BD8 PRG:1BD8 D9 CB 04 - bne NmiHandler_OnNonzero13 ; CPU:$9BDB PRG:1BDB D0 E5 - lda $039D,x ; CPU:$9BDD PRG:1BDD BD 9D 03 - sec ; CPU:$9BE0 PRG:1BE0 38 - sbc $047D,y ; CPU:$9BE1 PRG:1BE1 F9 7D 04 - sta Zp73 ; CPU:$9BE4 PRG:1BE4 85 73 - lda $03AE,x ; CPU:$9BE6 PRG:1BE6 BD AE 03 - sbc $048A,y ; CPU:$9BE9 PRG:1BE9 F9 8A 04 - bne NmiHandler_Loop78 ; CPU:$9BEC PRG:1BEC D0 54 - lda ZpB7,x ; CPU:$9BEE PRG:1BEE B5 B7 - and #$01 ; CPU:$9BF0 PRG:1BF0 29 01 - bne NmiHandler_Loop74 ; CPU:$9BF2 PRG:1BF2 D0 09 - lda Zp73 ; CPU:$9BF4 PRG:1BF4 A5 73 - cmp #$1C ; CPU:$9BF6 PRG:1BF6 C9 1C - bcc NmiHandler_Loop75 ; CPU:$9BF8 PRG:1BF8 90 09 - jmp NmiHandler_Loop78 ; CPU:$9BFA PRG:1BFA 4C 42 9C -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop74 -; Global: Branch target inside Label: taken when 9BFD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop74: - lda Zp73 ; CPU:$9BFD PRG:1BFD A5 73 - cmp #$15 ; CPU:$9BFF PRG:1BFF C9 15 - bcs NmiHandler_Loop78 ; CPU:$9C01 PRG:1C01 B0 3F + clc ; CPU:$9BB9 PRG:1BB9 18 + rts ; CPU:$9BBA PRG:1BBA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9BBB +; Global: Branch target inside Sub: taken when 9BBB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BBB: + lda SpriteYPosition,x ; CPU:$9BBB PRG:1BBB B5 C8 + jsr Sub_9805 ; CPU:$9BBD PRG:1BBD 20 05 98 + bcs NmiHandler_Loop75 ; CPU:$9BC0 PRG:1BC0 B0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + jmp NmiHandler_Loop81 ; CPU:$9BC2 PRG:1BC2 4C 42 9C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop75 -; Global: Branch target inside Label: taken when 9C03. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop75: - cpy #$0B ; CPU:$9C03 PRG:1C03 C0 0B - bcc NmiHandler_Loop76 ; CPU:$9C05 PRG:1C05 90 04 - lda $04BE,y ; CPU:$9C07 PRG:1C07 B9 BE 04 - tay ; CPU:$9C0A PRG:1C0A A8 + ldy $03D7,x ; CPU:$9BC5 PRG:1BC5 BC D7 03 + lda $03FB,y ; CPU:$9BC8 PRG:1BC8 B9 FB 03 + and #$04 ; CPU:$9BCB PRG:1BCB 29 04 + beq NmiHandler_Loop76 ; CPU:$9BCD PRG:1BCD F0 07 + lda $04BE,y ; CPU:$9BCF PRG:1BCF B9 BE 04 + tay ; CPU:$9BD2 PRG:1BD2 A8 + sta $03D7,x ; CPU:$9BD3 PRG:1BD3 9D D7 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop76 -; Global: Branch target inside Label: taken when 9C0B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop76: + lda ZpE5,x ; CPU:$9BD6 PRG:1BD6 B5 E5 + cmp $04CB,y ; CPU:$9BD8 PRG:1BD8 D9 CB 04 + bne NmiHandler_OnNonzero13 ; CPU:$9BDB PRG:1BDB D0 E5 + lda $039D,x ; CPU:$9BDD PRG:1BDD BD 9D 03 + sec ; CPU:$9BE0 PRG:1BE0 38 + sbc $047D,y ; CPU:$9BE1 PRG:1BE1 F9 7D 04 + sta VramWritePtrLo ; CPU:$9BE4 PRG:1BE4 85 73 + lda $03AE,x ; CPU:$9BE6 PRG:1BE6 BD AE 03 + sbc $048A,y ; CPU:$9BE9 PRG:1BE9 F9 8A 04 + bne NmiHandler_Loop81 ; CPU:$9BEC PRG:1BEC D0 54 + lda SpriteIndex,x ; CPU:$9BEE PRG:1BEE B5 B7 + and #$01 ; CPU:$9BF0 PRG:1BF0 29 01 + bne NmiHandler_Loop77 ; CPU:$9BF2 PRG:1BF2 D0 09 + lda VramWritePtrLo ; CPU:$9BF4 PRG:1BF4 A5 73 + cmp #$1C ; CPU:$9BF6 PRG:1BF6 C9 1C + bcc NmiHandler_Loop78 ; CPU:$9BF8 PRG:1BF8 90 09 + jmp NmiHandler_Loop81 ; CPU:$9BFA PRG:1BFA 4C 42 9C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + lda VramWritePtrLo ; CPU:$9BFD PRG:1BFD A5 73 + cmp #$15 ; CPU:$9BFF PRG:1BFF C9 15 + bcs NmiHandler_Loop81 ; CPU:$9C01 PRG:1C01 B0 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + cpy #$0B ; CPU:$9C03 PRG:1C03 C0 0B + bcc NmiHandler_Loop79 ; CPU:$9C05 PRG:1C05 90 04 + lda $04BE,y ; CPU:$9C07 PRG:1C07 B9 BE 04 + tay ; CPU:$9C0A PRG:1C0A A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: tya ; CPU:$9C0B PRG:1C0B 98 asl a ; CPU:$9C0C PRG:1C0C 0A tay ; CPU:$9C0D PRG:1C0D A8 lda $9D41,y ; CPU:$9C0E PRG:1C0E B9 41 9D sec ; CPU:$9C11 PRG:1C11 38 sbc #$04 ; CPU:$9C12 PRG:1C12 E9 04 - cmp ZpC8,x ; CPU:$9C14 PRG:1C14 D5 C8 - bcs NmiHandler_Loop78 ; CPU:$9C16 PRG:1C16 B0 2A + cmp SpriteYPosition,x ; CPU:$9C14 PRG:1C14 D5 C8 + bcs NmiHandler_Loop81 ; CPU:$9C16 PRG:1C16 B0 2A adc #$08 ; CPU:$9C18 PRG:1C18 69 08 - cmp ZpC8,x ; CPU:$9C1A PRG:1C1A D5 C8 - bcc NmiHandler_Loop77 ; CPU:$9C1C PRG:1C1C 90 0B + cmp SpriteYPosition,x ; CPU:$9C1A PRG:1C1A D5 C8 + bcc NmiHandler_Loop80 ; CPU:$9C1C PRG:1C1C 90 0B lda $9D41,y ; CPU:$9C1E PRG:1C1E B9 41 9D sec ; CPU:$9C21 PRG:1C21 38 sbc #$06 ; CPU:$9C22 PRG:1C22 E9 06 - sta ZpC8,x ; CPU:$9C24 PRG:1C24 95 C8 - jmp NmiHandler_Loop78 ; CPU:$9C26 PRG:1C26 4C 42 9C + sta SpriteYPosition,x ; CPU:$9C24 PRG:1C24 95 C8 + jmp NmiHandler_Loop81 ; CPU:$9C26 PRG:1C26 4C 42 9C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside Label: taken when 9C29. -; Local: Part of Label. +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop80: iny ; CPU:$9C29 PRG:1C29 C8 lda $9D41,y ; CPU:$9C2A PRG:1C2A B9 41 9D clc ; CPU:$9C2D PRG:1C2D 18 adc #$04 ; CPU:$9C2E PRG:1C2E 69 04 - cmp ZpC8,x ; CPU:$9C30 PRG:1C30 D5 C8 - bcc NmiHandler_Loop78 ; CPU:$9C32 PRG:1C32 90 0E + cmp SpriteYPosition,x ; CPU:$9C30 PRG:1C30 D5 C8 + bcc NmiHandler_Loop81 ; CPU:$9C32 PRG:1C32 90 0E sbc #$08 ; CPU:$9C34 PRG:1C34 E9 08 - cmp ZpC8,x ; CPU:$9C36 PRG:1C36 D5 C8 - bcs NmiHandler_Loop79 ; CPU:$9C38 PRG:1C38 B0 0A + cmp SpriteYPosition,x ; CPU:$9C36 PRG:1C36 D5 C8 + bcs NmiHandler_Loop82 ; CPU:$9C38 PRG:1C38 B0 0A lda $9D41,y ; CPU:$9C3A PRG:1C3A B9 41 9D clc ; CPU:$9C3D PRG:1C3D 18 adc #$06 ; CPU:$9C3E PRG:1C3E 69 06 - sta ZpC8,x ; CPU:$9C40 PRG:1C40 95 C8 + sta SpriteYPosition,x ; CPU:$9C40 PRG:1C40 95 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside Label: taken when 9C42. -; Local: Part of Label. +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop81: clc ; CPU:$9C42 PRG:1C42 18 rts ; CPU:$9C43 PRG:1C43 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside Label: taken when 9C44. -; Local: Part of Label. +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: +NmiHandler_Loop82: ldy $03D7,x ; CPU:$9C44 PRG:1C44 BC D7 03 lda $03FB,y ; CPU:$9C47 PRG:1C47 B9 FB 03 ora #$20 ; CPU:$9C4A PRG:1C4A 09 20 @@ -3108,15 +3175,15 @@ NmiHandler_Loop79: rts ; CPU:$9C52 PRG:1C52 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C53 -; Global: Branch target inside Label: taken when 9C53. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C53. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C53: lda #$FF ; CPU:$9C53 PRG:1C53 A9 FF - sta ZpFA ; CPU:$9C55 PRG:1C55 85 FA + sta NmiFrameFlag ; CPU:$9C55 PRG:1C55 85 FA lda #$00 ; CPU:$9C57 PRG:1C57 A9 00 sta Zp7E ; CPU:$9C59 PRG:1C59 85 7E lda #$07 ; CPU:$9C5B PRG:1C5B A9 07 @@ -3124,59 +3191,59 @@ Sub_9C53: lda #$00 ; CPU:$9C5F PRG:1C5F A9 00 sta Zp80 ; CPU:$9C61 PRG:1C61 85 80 sta $0700 ; CPU:$9C63 PRG:1C63 8D 00 07 - sta ZpFA ; CPU:$9C66 PRG:1C66 85 FA + sta NmiFrameFlag ; CPU:$9C66 PRG:1C66 85 FA rts ; CPU:$9C68 PRG:1C68 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C69 -; Global: Branch target inside Label: taken when 9C69. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C69. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C69: lda #$0D ; CPU:$9C69 PRG:1C69 A9 0D - jsr Sub_F6DB ; CPU:$9C6B PRG:1C6B 20 DB F6 + jsr Sub_F6DB ; CPU:$9C6B PRG:1C6B 20 DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C6E -; Global: Branch target inside Label: taken when 9C6E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C6E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C6E: lda #$0E ; CPU:$9C6E PRG:1C6E A9 0E - jmp Sub_F6DB ; CPU:$9C70 PRG:1C70 4C DB F6 + jmp Sub_F6DB ; CPU:$9C70 PRG:1C70 4C DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C73 -; Global: Branch target inside Label: taken when 9C73. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C73. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C73: lda #$0D ; CPU:$9C73 PRG:1C73 A9 0D - jsr Sub_F704 ; CPU:$9C75 PRG:1C75 20 04 F7 + jsr Sub_F704 ; CPU:$9C75 PRG:1C75 20 04 F7 lda #$0E ; CPU:$9C78 PRG:1C78 A9 0E - jmp Sub_F704 ; CPU:$9C7A PRG:1C7A 4C 04 F7 + jmp Sub_F704 ; CPU:$9C7A PRG:1C7A 4C 04 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C7D -; Global: Branch target inside Label: taken when 9C7D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C7D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C7D: - lda ZpB7,x ; CPU:$9C7D PRG:1C7D B5 B7 + lda SpriteIndex,x ; CPU:$9C7D PRG:1C7D B5 B7 and #$04 ; CPU:$9C7F PRG:1C7F 29 04 - beq NmiHandler_Loop81 ; CPU:$9C81 PRG:1C81 F0 17 + beq NmiHandler_Loop84 ; CPU:$9C81 PRG:1C81 F0 17 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C83 -; Global: Branch target inside Label: taken when 9C83. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C83. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3184,46 +3251,46 @@ Sub_9C7D: Sub_9C83: ldy $03D7,x ; CPU:$9C83 PRG:1C83 BC D7 03 cpy #$0B ; CPU:$9C86 PRG:1C86 C0 0B - bcc NmiHandler_Loop80 ; CPU:$9C88 PRG:1C88 90 04 + bcc NmiHandler_Loop83 ; CPU:$9C88 PRG:1C88 90 04 lda $04BE,y ; CPU:$9C8A PRG:1C8A B9 BE 04 tay ; CPU:$9C8D PRG:1C8D A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside Label: taken when 9C8E. -; Local: Part of Label. +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop83: lda $9D57,y ; CPU:$9C8E PRG:1C8E B9 57 9D - cmp ZpC8,x ; CPU:$9C91 PRG:1C91 D5 C8 - bcs NmiHandler_Loop82 ; CPU:$9C93 PRG:1C93 B0 06 + cmp SpriteYPosition,x ; CPU:$9C91 PRG:1C91 D5 C8 + bcs NmiHandler_Loop85 ; CPU:$9C93 PRG:1C93 B0 06 clc ; CPU:$9C95 PRG:1C95 18 adc #$04 ; CPU:$9C96 PRG:1C96 69 04 - sta ZpC8,x ; CPU:$9C98 PRG:1C98 95 C8 + sta SpriteYPosition,x ; CPU:$9C98 PRG:1C98 95 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside Label: taken when 9C9A. -; Local: Part of Label. +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: +NmiHandler_Loop84: rts ; CPU:$9C9A PRG:1C9A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside Label: taken when 9C9B. -; Local: Part of Label. +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop85: sec ; CPU:$9C9B PRG:1C9B 38 sbc #$04 ; CPU:$9C9C PRG:1C9C E9 04 - sta ZpC8,x ; CPU:$9C9E PRG:1C9E 95 C8 + sta SpriteYPosition,x ; CPU:$9C9E PRG:1C9E 95 C8 rts ; CPU:$9CA0 PRG:1CA0 60 ; ---- data $9CA1-$9D61 (193 bytes) ---- ; referenced by `cmp $9D41,y` at $9A55 (operand $9D41 falls inside this region) @@ -3233,7 +3300,8 @@ NmiHandler_Loop82: ; referenced by `lda $9D41,y` at $9C0E (operand $9D41 falls inside this region) ; referenced by `lda $9D41,y` at $9C1E (operand $9D41 falls inside this region) ; ... and 3 further references from decoded code - .byte $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00 ; CPU:$9CA1 PRG:1CA1 00 FF FF FF FF 00 FF FF FF FF 00 FF FF FF FF 00 +EnemyAttributeMaskTable: + .byte $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00 ; CPU:$9CA1 PRG:-235F 00 FF FF FF FF 00 FF FF FF FF 00 FF FF FF FF 00 .byte $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF ; CPU:$9CB1 PRG:1CB1 FF FF FF FF 00 FF FF FF FF 00 FF FF FF FF 00 FF .byte $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF ; CPU:$9CC1 PRG:1CC1 FF FF FF 00 FF FF FF FF 00 FF FF FF FF 00 FF FF .byte $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF ; CPU:$9CD1 PRG:1CD1 FF FF 00 FF FF FF FF 00 FF FF FF FF 00 FF FF FF @@ -3248,74 +3316,74 @@ NmiHandler_Loop82: .byte $3C ; CPU:$9D61 PRG:1D61 3C ; ----------------------------------------------------------------------------- ; Routine: Sub_9D62 -; Global: Branch target inside Label: taken when 9D62. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D62. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9D62: - jsr Sub_9E9D ; CPU:$9D62 PRG:1D62 20 9D 9E + jsr Sub_9E9D ; CPU:$9D62 PRG:1D62 20 9D 9E lda #$00 ; CPU:$9D65 PRG:1D65 A9 00 sta ZpBF ; CPU:$9D67 PRG:1D67 85 BF - jsr Sub_9EB0 ; CPU:$9D69 PRG:1D69 20 B0 9E + jsr Sub_9EB0 ; CPU:$9D69 PRG:1D69 20 B0 9E lda #$1C ; CPU:$9D6C PRG:1D6C A9 1C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside Label: taken when 9D6E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero14: - jsr Sub_826F ; CPU:$9D6E PRG:1D6E 20 6F 82 + jsr Sub_826F ; CPU:$9D6E PRG:1D6E 20 6F 82 clc ; CPU:$9D71 PRG:1D71 18 adc #$02 ; CPU:$9D72 PRG:1D72 69 02 cmp #$2C ; CPU:$9D74 PRG:1D74 C9 2C - bne NmiHandler_OnNonzero14 ; CPU:$9D76 PRG:1D76 D0 F6 + bne NmiHandler_OnNonzero14 ; CPU:$9D76 PRG:1D76 D0 F6 lda #$00 ; CPU:$9D78 PRG:1D78 A9 00 - sta ZpB7 ; CPU:$9D7A PRG:1D7A 85 B7 + sta SpriteIndex ; CPU:$9D7A PRG:1D7A 85 B7 sta ZpB9 ; CPU:$9D7C PRG:1D7C 85 B9 sta ZpBB ; CPU:$9D7E PRG:1D7E 85 BB sta ZpBD ; CPU:$9D80 PRG:1D80 85 BD ; ----------------------------------------------------------------------------- ; Routine: Sub_9D82 -; Global: Branch target inside Label: taken when 9D82. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D82. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9D82: - jsr Sub_9F27 ; CPU:$9D82 PRG:1D82 20 27 9F - jsr Sub_A286 ; CPU:$9D85 PRG:1D85 20 86 A2 + jsr Sub_9F27 ; CPU:$9D82 PRG:1D82 20 27 9F + jsr Sub_A286 ; CPU:$9D85 PRG:1D85 20 86 A2 lda #$1E ; CPU:$9D88 PRG:1D88 A9 1E sta $055C ; CPU:$9D8A PRG:1D8A 8D 5C 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside Label: taken when 9D8D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero15: - jsr Sub_82A3 ; CPU:$9D8D PRG:1D8D 20 A3 82 + jsr Sub_82A3 ; CPU:$9D8D PRG:1D8D 20 A3 82 dec $055C ; CPU:$9D90 PRG:1D90 CE 5C 05 - beq NmiHandler_Loop83 ; CPU:$9D93 PRG:1D93 F0 06 + beq NmiHandler_Loop86 ; CPU:$9D93 PRG:1D93 F0 06 lda Zp96 ; CPU:$9D95 PRG:1D95 A5 96 and #$10 ; CPU:$9D97 PRG:1D97 29 10 - bne NmiHandler_OnNonzero15 ; CPU:$9D99 PRG:1D99 D0 F2 + bne NmiHandler_OnNonzero15 ; CPU:$9D99 PRG:1D99 D0 F2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside Label: taken when 9D9B. -; Local: Part of Label. +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: +NmiHandler_Loop86: lda #$2C ; CPU:$9D9B PRG:1D9B A9 2C sta $0558 ; CPU:$9D9D PRG:1D9D 8D 58 05 lda #$01 ; CPU:$9DA0 PRG:1DA0 A9 01 @@ -3336,8 +3404,8 @@ NmiHandler_Loop83: sta $0301 ; CPU:$9DC4 PRG:1DC4 8D 01 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside Label: taken when 9DC7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3345,70 +3413,70 @@ NmiHandler_Loop83: NmiHandler_OnNonzero16: lda Zp96 ; CPU:$9DC7 PRG:1DC7 A5 96 and #$10 ; CPU:$9DC9 PRG:1DC9 29 10 - beq NmiHandler_Loop84 ; CPU:$9DCB PRG:1DCB F0 0C + beq NmiHandler_Loop87 ; CPU:$9DCB PRG:1DCB F0 0C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero17 -; Global: Branch target inside Label: taken when 9DCD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero17: - jsr Sub_82A3 ; CPU:$9DCD PRG:1DCD 20 A3 82 + jsr Sub_82A3 ; CPU:$9DCD PRG:1DCD 20 A3 82 lda Zp96 ; CPU:$9DD0 PRG:1DD0 A5 96 and #$10 ; CPU:$9DD2 PRG:1DD2 29 10 - bne NmiHandler_OnNonzero17 ; CPU:$9DD4 PRG:1DD4 D0 F7 - jmp Sub_9E7E ; CPU:$9DD6 PRG:1DD6 4C 7E 9E + bne NmiHandler_OnNonzero17 ; CPU:$9DD4 PRG:1DD4 D0 F7 + jmp Sub_9E7E ; CPU:$9DD6 PRG:1DD6 4C 7E 9E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside Label: taken when 9DD9. -; Local: Part of Label. +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop87: lda Zp96 ; CPU:$9DD9 PRG:1DD9 A5 96 and #$20 ; CPU:$9DDB PRG:1DDB 29 20 - bne NmiHandler_Loop85 ; CPU:$9DDD PRG:1DDD D0 08 + bne NmiHandler_Loop88 ; CPU:$9DDD PRG:1DDD D0 08 lda #$01 ; CPU:$9DDF PRG:1DDF A9 01 sta $055C ; CPU:$9DE1 PRG:1DE1 8D 5C 05 - jmp NmiHandler_Loop87 ; CPU:$9DE4 PRG:1DE4 4C 0C 9E + jmp NmiHandler_Loop90 ; CPU:$9DE4 PRG:1DE4 4C 0C 9E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside Label: taken when 9DE7. -; Local: Part of Label. +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: +NmiHandler_Loop88: dec $055C ; CPU:$9DE7 PRG:1DE7 CE 5C 05 - bne NmiHandler_Loop87 ; CPU:$9DEA PRG:1DEA D0 20 + bne NmiHandler_Loop90 ; CPU:$9DEA PRG:1DEA D0 20 lda #$1E ; CPU:$9DEC PRG:1DEC A9 1E sta $055C ; CPU:$9DEE PRG:1DEE 8D 5C 05 lda $055B ; CPU:$9DF1 PRG:1DF1 AD 5B 05 cmp #$98 ; CPU:$9DF4 PRG:1DF4 C9 98 - beq NmiHandler_Loop86 ; CPU:$9DF6 PRG:1DF6 F0 07 + beq NmiHandler_Loop89 ; CPU:$9DF6 PRG:1DF6 F0 07 ldx #$00 ; CPU:$9DF8 PRG:1DF8 A2 00 lda #$98 ; CPU:$9DFA PRG:1DFA A9 98 - jmp Sub_9E03 ; CPU:$9DFC PRG:1DFC 4C 03 9E + jmp Sub_9E03 ; CPU:$9DFC PRG:1DFC 4C 03 9E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop86 -; Global: Branch target inside Label: taken when 9DFF. -; Local: Part of Label. +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop86: +NmiHandler_Loop89: ldx #$01 ; CPU:$9DFF PRG:1DFF A2 01 lda #$A8 ; CPU:$9E01 PRG:1E01 A9 A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E03 -; Global: Branch target inside Label: taken when 9E03. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E03. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3418,43 +3486,43 @@ Sub_9E03: sta $030B ; CPU:$9E06 PRG:1E06 8D 0B 03 stx $0301 ; CPU:$9E09 PRG:1E09 8E 01 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop87 -; Global: Branch target inside Label: taken when 9E0C. -; Local: Part of Label. +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop87: +NmiHandler_Loop90: lda $0558 ; CPU:$9E0C PRG:1E0C AD 58 05 - beq NmiHandler_Loop88 ; CPU:$9E0F PRG:1E0F F0 06 + beq NmiHandler_Loop91 ; CPU:$9E0F PRG:1E0F F0 06 dec $0558 ; CPU:$9E11 PRG:1E11 CE 58 05 - jmp Sub_9E1D ; CPU:$9E14 PRG:1E14 4C 1D 9E + jmp Sub_9E1D ; CPU:$9E14 PRG:1E14 4C 1D 9E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop88 -; Global: Branch target inside Label: taken when 9E17. -; Local: Part of Label. +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop88: +NmiHandler_Loop91: dec $0558 ; CPU:$9E17 PRG:1E17 CE 58 05 dec $0559 ; CPU:$9E1A PRG:1E1A CE 59 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E1D -; Global: Branch target inside Label: taken when 9E1D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E1D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9E1D: - jsr Sub_82A3 ; CPU:$9E1D PRG:1E1D 20 A3 82 + jsr Sub_82A3 ; CPU:$9E1D PRG:1E1D 20 A3 82 lda $0558 ; CPU:$9E20 PRG:1E20 AD 58 05 - bne NmiHandler_OnNonzero16 ; CPU:$9E23 PRG:1E23 D0 A2 + bne NmiHandler_OnNonzero16 ; CPU:$9E23 PRG:1E23 D0 A2 lda $0559 ; CPU:$9E25 PRG:1E25 AD 59 05 - bne NmiHandler_OnNonzero16 ; CPU:$9E28 PRG:1E28 D0 9D + bne NmiHandler_OnNonzero16 ; CPU:$9E28 PRG:1E28 D0 9D lda #$FF ; CPU:$9E2A PRG:1E2A A9 FF sta $0580 ; CPU:$9E2C PRG:1E2C 8D 80 05 lda $0689 ; CPU:$9E2F PRG:1E2F AD 89 06 @@ -3463,73 +3531,73 @@ Sub_9E1D: sta $057E ; CPU:$9E36 PRG:1E36 8D 7E 05 sta $0689 ; CPU:$9E39 PRG:1E39 8D 89 06 lda #$04 ; CPU:$9E3C PRG:1E3C A9 04 - jsr Sub_8224 ; CPU:$9E3E PRG:1E3E 20 24 82 + jsr Sub_8224 ; CPU:$9E3E PRG:1E3E 20 24 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero2 -; Global: Branch target inside Label: taken when 9E41. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnZero2: - jsr Sub_82A3 ; CPU:$9E41 PRG:1E41 20 A3 82 + jsr Sub_82A3 ; CPU:$9E41 PRG:1E41 20 A3 82 lda Zp96 ; CPU:$9E44 PRG:1E44 A5 96 and #$10 ; CPU:$9E46 PRG:1E46 29 10 - bne NmiHandler_Loop89 ; CPU:$9E48 PRG:1E48 D0 10 + bne NmiHandler_Loop92 ; CPU:$9E48 PRG:1E48 D0 10 lda $057E ; CPU:$9E4A PRG:1E4A AD 7E 05 - beq NmiHandler_OnZero2 ; CPU:$9E4D PRG:1E4D F0 F2 + beq NmiHandler_OnZero2 ; CPU:$9E4D PRG:1E4D F0 F2 lda ZpFC ; CPU:$9E4F PRG:1E4F A5 FC sta $0689 ; CPU:$9E51 PRG:1E51 8D 89 06 - jsr Sub_F64E ; CPU:$9E54 PRG:1E54 20 4E F6 - jmp Sub_9D62 ; CPU:$9E57 PRG:1E57 4C 62 9D + jsr Sub_F64E ; CPU:$9E54 PRG:1E54 20 4E F6 + jmp Sub_9D62 ; CPU:$9E57 PRG:1E57 4C 62 9D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop89 -; Global: Branch target inside Label: taken when 9E5A. -; Local: Part of Label. +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop89: - jsr Sub_9E9D ; CPU:$9E5A PRG:1E5A 20 9D 9E - jsr Sub_BCFD ; CPU:$9E5D PRG:1E5D 20 FD BC - jsr Sub_F64E ; CPU:$9E60 PRG:1E60 20 4E F6 +NmiHandler_Loop92: + jsr Sub_9E9D ; CPU:$9E5A PRG:1E5A 20 9D 9E + jsr Sub_BCFD ; CPU:$9E5D PRG:1E5D 20 FD BC + jsr Sub_F64E ; CPU:$9E60 PRG:1E60 20 4E F6 lda #$04 ; CPU:$9E63 PRG:1E63 A9 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero18 -; Global: Branch target inside Label: taken when 9E65. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero18: - jsr Sub_826F ; CPU:$9E65 PRG:1E65 20 6F 82 + jsr Sub_826F ; CPU:$9E65 PRG:1E65 20 6F 82 clc ; CPU:$9E68 PRG:1E68 18 adc #$02 ; CPU:$9E69 PRG:1E69 69 02 cmp #$34 ; CPU:$9E6B PRG:1E6B C9 34 - bne NmiHandler_OnNonzero18 ; CPU:$9E6D PRG:1E6D D0 F6 + bne NmiHandler_OnNonzero18 ; CPU:$9E6D PRG:1E6D D0 F6 lda #$00 ; CPU:$9E6F PRG:1E6F A9 00 ldx #$10 ; CPU:$9E71 PRG:1E71 A2 10 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative4 -; Global: Branch target inside Label: taken when 9E73. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative4: - sta ZpB7,x ; CPU:$9E73 PRG:1E73 95 B7 + sta SpriteIndex,x ; CPU:$9E73 PRG:1E73 95 B7 dex ; CPU:$9E75 PRG:1E75 CA - bpl NmiHandler_OnNonnegative4 ; CPU:$9E76 PRG:1E76 10 FB - jsr Sub_BCAB ; CPU:$9E78 PRG:1E78 20 AB BC - jmp Sub_9D82 ; CPU:$9E7B PRG:1E7B 4C 82 9D + bpl NmiHandler_OnNonnegative4 ; CPU:$9E76 PRG:1E76 10 FB + jsr Sub_BCAB ; CPU:$9E78 PRG:1E78 20 AB BC + jmp Sub_9D82 ; CPU:$9E7B PRG:1E7B 4C 82 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_9E7E -; Global: Branch target inside Label: taken when 9E7E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E7E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3546,12 +3614,12 @@ Sub_9E7E: lda $0301 ; CPU:$9E8F PRG:1E8F AD 01 03 sta $068C ; CPU:$9E92 PRG:1E92 8D 8C 06 lda #$04 ; CPU:$9E95 PRG:1E95 A9 04 - jsr Sub_8224 ; CPU:$9E97 PRG:1E97 20 24 82 - jsr Sub_8266 ; CPU:$9E9A PRG:1E9A 20 66 82 + jsr Sub_8224 ; CPU:$9E97 PRG:1E97 20 24 82 + jsr Sub_8266 ; CPU:$9E9A PRG:1E9A 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E9D -; Global: Branch target inside Label: taken when 9E9D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E9D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3562,12 +3630,12 @@ Sub_9E9D: sta $055D ; CPU:$9EA1 PRG:1EA1 8D 5D 05 sta $058F ; CPU:$9EA4 PRG:1EA4 8D 8F 05 sta $057F ; CPU:$9EA7 PRG:1EA7 8D 7F 05 - jsr Sub_BDCA ; CPU:$9EAA PRG:1EAA 20 CA BD - jmp Sub_9C53 ; CPU:$9EAD PRG:1EAD 4C 53 9C + jsr Sub_BDCA ; CPU:$9EAA PRG:1EAA 20 CA BD + jmp Sub_9C53 ; CPU:$9EAD PRG:1EAD 4C 53 9C ; ----------------------------------------------------------------------------- ; Routine: Sub_9EB0 -; Global: Branch target inside Label: taken when 9EB0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9EB0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3577,28 +3645,28 @@ Sub_9EB0: sta Zp8E ; CPU:$9EB2 PRG:1EB2 85 8E sta Zp8F ; CPU:$9EB4 PRG:1EB4 85 8F sta $055A ; CPU:$9EB6 PRG:1EB6 8D 5A 05 - jsr Sub_82A3 ; CPU:$9EB9 PRG:1EB9 20 A3 82 - jsr Sub_BCB6 ; CPU:$9EBC PRG:1EBC 20 B6 BC - jsr Sub_A26E ; CPU:$9EBF PRG:1EBF 20 6E A2 + jsr Sub_82A3 ; CPU:$9EB9 PRG:1EB9 20 A3 82 + jsr Sub_BCB6 ; CPU:$9EBC PRG:1EBC 20 B6 BC + jsr Sub_A26E ; CPU:$9EBF PRG:1EBF 20 6E A2 lda #$1C ; CPU:$9EC2 PRG:1EC2 A9 1C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero19 -; Global: Branch target inside Label: taken when 9EC4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero19: - jsr Sub_8224 ; CPU:$9EC4 PRG:1EC4 20 24 82 + jsr Sub_8224 ; CPU:$9EC4 PRG:1EC4 20 24 82 clc ; CPU:$9EC7 PRG:1EC7 18 adc #$02 ; CPU:$9EC8 PRG:1EC8 69 02 cmp #$2C ; CPU:$9ECA PRG:1ECA C9 2C - bne NmiHandler_OnNonzero19 ; CPU:$9ECC PRG:1ECC D0 F6 + bne NmiHandler_OnNonzero19 ; CPU:$9ECC PRG:1ECC D0 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9ECE -; Global: Branch target inside Label: taken when 9ECE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9ECE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3606,102 +3674,102 @@ NmiHandler_OnNonzero19: Sub_9ECE: lda Zp96 ; CPU:$9ECE PRG:1ECE A5 96 and #$10 ; CPU:$9ED0 PRG:1ED0 29 10 - beq NmiHandler_Loop90 ; CPU:$9ED2 PRG:1ED2 F0 01 + beq NmiHandler_Loop93 ; CPU:$9ED2 PRG:1ED2 F0 01 rts ; CPU:$9ED4 PRG:1ED4 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop90 -; Global: Branch target inside Label: taken when 9ED5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop90: - lda $055A ; CPU:$9ED5 PRG:1ED5 AD 5A 05 - cmp #$FF ; CPU:$9ED8 PRG:1ED8 C9 FF - beq NmiHandler_Loop91 ; CPU:$9EDA PRG:1EDA F0 06 - jsr Sub_82A3 ; CPU:$9EDC PRG:1EDC 20 A3 82 - jmp Sub_9ECE ; CPU:$9EDF PRG:1EDF 4C CE 9E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop91 -; Global: Branch target inside Label: taken when 9EE2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop91: - jsr Sub_A285 ; CPU:$9EE2 PRG:1EE2 20 85 A2 - jsr Sub_9FB3 ; CPU:$9EE5 PRG:1EE5 20 B3 9F - jsr Sub_9F15 ; CPU:$9EE8 PRG:1EE8 20 15 9F - bcc NmiHandler_Loop92 ; CPU:$9EEB PRG:1EEB 90 01 - rts ; CPU:$9EED PRG:1EED 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop92 -; Global: Branch target inside Label: taken when 9EEE. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop92: - jsr Sub_9FC4 ; CPU:$9EEE PRG:1EEE 20 C4 9F - jsr Sub_9F15 ; CPU:$9EF1 PRG:1EF1 20 15 9F - bcc NmiHandler_Loop93 ; CPU:$9EF4 PRG:1EF4 90 01 - rts ; CPU:$9EF6 PRG:1EF6 60 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop93 -; Global: Branch target inside Label: taken when 9EF7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop93. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop93: - jsr Sub_9FD5 ; CPU:$9EF7 PRG:1EF7 20 D5 9F - jsr Sub_9F15 ; CPU:$9EFA PRG:1EFA 20 15 9F - bcc NmiHandler_Loop94 ; CPU:$9EFD PRG:1EFD 90 01 - rts ; CPU:$9EFF PRG:1EFF 60 + lda $055A ; CPU:$9ED5 PRG:1ED5 AD 5A 05 + cmp #$FF ; CPU:$9ED8 PRG:1ED8 C9 FF + beq NmiHandler_Loop94 ; CPU:$9EDA PRG:1EDA F0 06 + jsr Sub_82A3 ; CPU:$9EDC PRG:1EDC 20 A3 82 + jmp Sub_9ECE ; CPU:$9EDF PRG:1EDF 4C CE 9E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop94 -; Global: Branch target inside Label: taken when 9F00. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop94. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop94: - jsr Sub_9FE6 ; CPU:$9F00 PRG:1F00 20 E6 9F - jsr Sub_9F15 ; CPU:$9F03 PRG:1F03 20 15 9F - bcc NmiHandler_Loop95 ; CPU:$9F06 PRG:1F06 90 01 - rts ; CPU:$9F08 PRG:1F08 60 + jsr Sub_A285 ; CPU:$9EE2 PRG:1EE2 20 85 A2 + jsr Sub_9FB3 ; CPU:$9EE5 PRG:1EE5 20 B3 9F + jsr Sub_9F15 ; CPU:$9EE8 PRG:1EE8 20 15 9F + bcc NmiHandler_Loop95 ; CPU:$9EEB PRG:1EEB 90 01 + rts ; CPU:$9EED PRG:1EED 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop95 -; Global: Branch target inside Label: taken when 9F09. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop95. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop95: - jsr Sub_9FF7 ; CPU:$9F09 PRG:1F09 20 F7 9F - jsr Sub_9F15 ; CPU:$9F0C PRG:1F0C 20 15 9F - bcc NmiHandler_Loop96 ; CPU:$9F0F PRG:1F0F 90 01 - rts ; CPU:$9F11 PRG:1F11 60 + jsr Sub_9FC4 ; CPU:$9EEE PRG:1EEE 20 C4 9F + jsr Sub_9F15 ; CPU:$9EF1 PRG:1EF1 20 15 9F + bcc NmiHandler_Loop96 ; CPU:$9EF4 PRG:1EF4 90 01 + rts ; CPU:$9EF6 PRG:1EF6 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop96 -; Global: Branch target inside Label: taken when 9F12. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop96. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop96: - jsr Sub_A00E ; CPU:$9F12 PRG:1F12 20 0E A0 + jsr Sub_9FD5 ; CPU:$9EF7 PRG:1EF7 20 D5 9F + jsr Sub_9F15 ; CPU:$9EFA PRG:1EFA 20 15 9F + bcc NmiHandler_Loop97 ; CPU:$9EFD PRG:1EFD 90 01 + rts ; CPU:$9EFF PRG:1EFF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop97: + jsr Sub_9FE6 ; CPU:$9F00 PRG:1F00 20 E6 9F + jsr Sub_9F15 ; CPU:$9F03 PRG:1F03 20 15 9F + bcc NmiHandler_Loop98 ; CPU:$9F06 PRG:1F06 90 01 + rts ; CPU:$9F08 PRG:1F08 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop98: + jsr Sub_9FF7 ; CPU:$9F09 PRG:1F09 20 F7 9F + jsr Sub_9F15 ; CPU:$9F0C PRG:1F0C 20 15 9F + bcc NmiHandler_Loop99 ; CPU:$9F0F PRG:1F0F 90 01 + rts ; CPU:$9F11 PRG:1F11 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop99: + jsr Sub_A00E ; CPU:$9F12 PRG:1F12 20 0E A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F15 -; Global: Branch target inside Label: taken when 9F15. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F15. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3710,52 +3778,52 @@ Sub_9F15: ldy #$0F ; CPU:$9F15 PRG:1F15 A0 0F ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero20 -; Global: Branch target inside Label: taken when 9F17. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero20: - jsr Sub_82A3 ; CPU:$9F17 PRG:1F17 20 A3 82 + jsr Sub_82A3 ; CPU:$9F17 PRG:1F17 20 A3 82 lda Zp96 ; CPU:$9F1A PRG:1F1A A5 96 and #$10 ; CPU:$9F1C PRG:1F1C 29 10 - beq NmiHandler_Loop97 ; CPU:$9F1E PRG:1F1E F0 02 + beq NmiHandler_Loop100 ; CPU:$9F1E PRG:1F1E F0 02 sec ; CPU:$9F20 PRG:1F20 38 rts ; CPU:$9F21 PRG:1F21 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop97 -; Global: Branch target inside Label: taken when 9F22. -; Local: Part of Label. +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop97: +NmiHandler_Loop100: dey ; CPU:$9F22 PRG:1F22 88 - bne NmiHandler_OnNonzero20 ; CPU:$9F23 PRG:1F23 D0 F2 + bne NmiHandler_OnNonzero20 ; CPU:$9F23 PRG:1F23 D0 F2 clc ; CPU:$9F25 PRG:1F25 18 rts ; CPU:$9F26 PRG:1F26 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F27 -; Global: Branch target inside Label: taken when 9F27. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F27. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9F27: - jsr Sub_A26E ; CPU:$9F27 PRG:1F27 20 6E A2 - jsr Sub_9FB3 ; CPU:$9F2A PRG:1F2A 20 B3 9F - jsr Sub_9FC4 ; CPU:$9F2D PRG:1F2D 20 C4 9F - jsr Sub_9FD5 ; CPU:$9F30 PRG:1F30 20 D5 9F - jsr Sub_9FE6 ; CPU:$9F33 PRG:1F33 20 E6 9F - jsr Sub_9FF7 ; CPU:$9F36 PRG:1F36 20 F7 9F - jsr Sub_A00E ; CPU:$9F39 PRG:1F39 20 0E A0 - jsr Sub_A03C ; CPU:$9F3C PRG:1F3C 20 3C A0 - jsr Sub_A04D ; CPU:$9F3F PRG:1F3F 20 4D A0 - jsr Sub_A05E ; CPU:$9F42 PRG:1F42 20 5E A0 - jsr Sub_A06F ; CPU:$9F45 PRG:1F45 20 6F A0 + jsr Sub_A26E ; CPU:$9F27 PRG:1F27 20 6E A2 + jsr Sub_9FB3 ; CPU:$9F2A PRG:1F2A 20 B3 9F + jsr Sub_9FC4 ; CPU:$9F2D PRG:1F2D 20 C4 9F + jsr Sub_9FD5 ; CPU:$9F30 PRG:1F30 20 D5 9F + jsr Sub_9FE6 ; CPU:$9F33 PRG:1F33 20 E6 9F + jsr Sub_9FF7 ; CPU:$9F36 PRG:1F36 20 F7 9F + jsr Sub_A00E ; CPU:$9F39 PRG:1F39 20 0E A0 + jsr Sub_A03C ; CPU:$9F3C PRG:1F3C 20 3C A0 + jsr Sub_A04D ; CPU:$9F3F PRG:1F3F 20 4D A0 + jsr Sub_A05E ; CPU:$9F42 PRG:1F42 20 5E A0 + jsr Sub_A06F ; CPU:$9F45 PRG:1F45 20 6F A0 lda #$80 ; CPU:$9F48 PRG:1F48 A9 80 sta ZpB8 ; CPU:$9F4A PRG:1F4A 85 B8 sta ZpBA ; CPU:$9F4C PRG:1F4C 85 BA @@ -3783,243 +3851,337 @@ Sub_9F27: lda #$56 ; CPU:$9F7F PRG:1F7F A9 56 sta $031B ; CPU:$9F81 PRG:1F81 8D 1B 03 lda #$A3 ; CPU:$9F84 PRG:1F84 A9 A3 - sta Zp74 ; CPU:$9F86 PRG:1F86 85 74 + sta VramWritePtrHi ; CPU:$9F86 PRG:1F86 85 74 lda #$F9 ; CPU:$9F88 PRG:1F88 A9 F9 - sta Zp73 ; CPU:$9F8A PRG:1F8A 85 73 + sta VramWritePtrLo ; CPU:$9F8A PRG:1F8A 85 73 lda #$22 ; CPU:$9F8C PRG:1F8C A9 22 - sta Zp72 ; CPU:$9F8E PRG:1F8E 85 72 + sta OamShadowPtrHi ; CPU:$9F8E PRG:1F8E 85 72 lda #$6C ; CPU:$9F90 PRG:1F90 A9 6C - sta Zp71 ; CPU:$9F92 PRG:1F92 85 71 + sta OamShadowPtrLo ; CPU:$9F92 PRG:1F92 85 71 lda #$09 ; CPU:$9F94 PRG:1F94 A9 09 - sta Zp70 ; CPU:$9F96 PRG:1F96 85 70 - jsr Sub_973E ; CPU:$9F98 PRG:1F98 20 3E 97 + sta PlayerSpriteY ; CPU:$9F96 PRG:1F96 85 70 + jsr Sub_973E ; CPU:$9F98 PRG:1F98 20 3E 97 lda #$A4 ; CPU:$9F9B PRG:1F9B A9 A4 - sta Zp74 ; CPU:$9F9D PRG:1F9D 85 74 + sta VramWritePtrHi ; CPU:$9F9D PRG:1F9D 85 74 lda #$02 ; CPU:$9F9F PRG:1F9F A9 02 - sta Zp73 ; CPU:$9FA1 PRG:1FA1 85 73 + sta VramWritePtrLo ; CPU:$9FA1 PRG:1FA1 85 73 lda #$22 ; CPU:$9FA3 PRG:1FA3 A9 22 - sta Zp72 ; CPU:$9FA5 PRG:1FA5 85 72 + sta OamShadowPtrHi ; CPU:$9FA5 PRG:1FA5 85 72 lda #$AC ; CPU:$9FA7 PRG:1FA7 A9 AC - sta Zp71 ; CPU:$9FA9 PRG:1FA9 85 71 + sta OamShadowPtrLo ; CPU:$9FA9 PRG:1FA9 85 71 lda #$09 ; CPU:$9FAB PRG:1FAB A9 09 - sta Zp70 ; CPU:$9FAD PRG:1FAD 85 70 - jsr Sub_973E ; CPU:$9FAF PRG:1FAF 20 3E 97 + sta PlayerSpriteY ; CPU:$9FAD PRG:1FAD 85 70 + jsr Sub_973E ; CPU:$9FAF PRG:1FAF 20 3E 97 rts ; CPU:$9FB2 PRG:1FB2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FB3 -; Global: Branch target inside Label: taken when 9FB3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FB3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FB3: lda #$68 ; CPU:$9FB3 PRG:1FB3 A9 68 - sta Zp73 ; CPU:$9FB5 PRG:1FB5 85 73 + sta VramWritePtrLo ; CPU:$9FB5 PRG:1FB5 85 73 lda #$A3 ; CPU:$9FB7 PRG:1FB7 A9 A3 - sta Zp74 ; CPU:$9FB9 PRG:1FB9 85 74 + sta VramWritePtrHi ; CPU:$9FB9 PRG:1FB9 85 74 lda #$A6 ; CPU:$9FBB PRG:1FBB A9 A6 - sta Zp71 ; CPU:$9FBD PRG:1FBD 85 71 + sta OamShadowPtrLo ; CPU:$9FBD PRG:1FBD 85 71 lda #$21 ; CPU:$9FBF PRG:1FBF A9 21 - jmp Sub_A005 ; CPU:$9FC1 PRG:1FC1 4C 05 A0 + jmp Sub_A005 ; CPU:$9FC1 PRG:1FC1 4C 05 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FC4 -; Global: Branch target inside Label: taken when 9FC4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FC4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FC4: lda #$74 ; CPU:$9FC4 PRG:1FC4 A9 74 - sta Zp73 ; CPU:$9FC6 PRG:1FC6 85 73 + sta VramWritePtrLo ; CPU:$9FC6 PRG:1FC6 85 73 lda #$A3 ; CPU:$9FC8 PRG:1FC8 A9 A3 - sta Zp74 ; CPU:$9FCA PRG:1FCA 85 74 + sta VramWritePtrHi ; CPU:$9FCA PRG:1FCA 85 74 lda #$A9 ; CPU:$9FCC PRG:1FCC A9 A9 - sta Zp71 ; CPU:$9FCE PRG:1FCE 85 71 + sta OamShadowPtrLo ; CPU:$9FCE PRG:1FCE 85 71 lda #$21 ; CPU:$9FD0 PRG:1FD0 A9 21 - jmp Sub_A005 ; CPU:$9FD2 PRG:1FD2 4C 05 A0 + jmp Sub_A005 ; CPU:$9FD2 PRG:1FD2 4C 05 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FD5 -; Global: Branch target inside Label: taken when 9FD5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FD5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FD5: lda #$80 ; CPU:$9FD5 PRG:1FD5 A9 80 - sta Zp73 ; CPU:$9FD7 PRG:1FD7 85 73 + sta VramWritePtrLo ; CPU:$9FD7 PRG:1FD7 85 73 lda #$A3 ; CPU:$9FD9 PRG:1FD9 A9 A3 - sta Zp74 ; CPU:$9FDB PRG:1FDB 85 74 + sta VramWritePtrHi ; CPU:$9FDB PRG:1FDB 85 74 lda #$AC ; CPU:$9FDD PRG:1FDD A9 AC - sta Zp71 ; CPU:$9FDF PRG:1FDF 85 71 + sta OamShadowPtrLo ; CPU:$9FDF PRG:1FDF 85 71 lda #$21 ; CPU:$9FE1 PRG:1FE1 A9 21 - jmp Sub_A005 ; CPU:$9FE3 PRG:1FE3 4C 05 A0 + jmp Sub_A005 ; CPU:$9FE3 PRG:1FE3 4C 05 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FE6 -; Global: Branch target inside Label: taken when 9FE6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FE6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FE6: lda #$8C ; CPU:$9FE6 PRG:1FE6 A9 8C - sta Zp73 ; CPU:$9FE8 PRG:1FE8 85 73 + sta VramWritePtrLo ; CPU:$9FE8 PRG:1FE8 85 73 lda #$A3 ; CPU:$9FEA PRG:1FEA A9 A3 - sta Zp74 ; CPU:$9FEC PRG:1FEC 85 74 + sta VramWritePtrHi ; CPU:$9FEC PRG:1FEC 85 74 lda #$AF ; CPU:$9FEE PRG:1FEE A9 AF - sta Zp71 ; CPU:$9FF0 PRG:1FF0 85 71 + sta OamShadowPtrLo ; CPU:$9FF0 PRG:1FF0 85 71 lda #$21 ; CPU:$9FF2 PRG:1FF2 A9 21 - jmp Sub_A005 ; CPU:$9FF4 PRG:1FF4 4C 05 A0 + jmp Sub_A005 ; CPU:$9FF4 PRG:1FF4 4C 05 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FF7 -; Global: Branch target inside Label: taken when 9FF7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FF7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FF7: lda #$98 ; CPU:$9FF7 PRG:1FF7 A9 98 - sta Zp73 ; CPU:$9FF9 PRG:1FF9 85 73 + sta VramWritePtrLo ; CPU:$9FF9 PRG:1FF9 85 73 lda #$A3 ; CPU:$9FFB PRG:1FFB A9 A3 - sta Zp74 ; CPU:$9FFD PRG:1FFD 85 74 + sta VramWritePtrHi ; CPU:$9FFD PRG:1FFD 85 74 lda #$B1 ; CPU:$9FFF PRG:1FFF A9 B1 - sta Zp71 ; CPU:$A001 PRG:2001 85 71 + sta OamShadowPtrLo ; CPU:$A001 PRG:2001 85 71 lda #$21 ; CPU:$A003 PRG:2003 A9 21 ; ----------------------------------------------------------------------------- ; Routine: Sub_A005 -; Global: Branch target inside Label: taken when A005. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A005. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A005: - sta Zp72 ; CPU:$A005 PRG:2005 85 72 + sta OamShadowPtrHi ; CPU:$A005 PRG:2005 85 72 lda #$04 ; CPU:$A007 PRG:2007 A9 04 - sta Zp6F ; CPU:$A009 PRG:2009 85 6F - jmp Sub_9786 ; CPU:$A00B PRG:200B 4C 86 97 + sta PlayerSpriteX ; CPU:$A009 PRG:2009 85 6F + jmp Sub_9786 ; CPU:$A00B PRG:200B 4C 86 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_A00E -; Global: Branch target inside Label: taken when A00E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A00E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A00E: lda #$A4 ; CPU:$A00E PRG:200E A9 A4 - sta Zp73 ; CPU:$A010 PRG:2010 85 73 + sta VramWritePtrLo ; CPU:$A010 PRG:2010 85 73 lda #$A3 ; CPU:$A012 PRG:2012 A9 A3 - sta Zp74 ; CPU:$A014 PRG:2014 85 74 + sta VramWritePtrHi ; CPU:$A014 PRG:2014 85 74 lda #$74 ; CPU:$A016 PRG:2016 A9 74 - sta Zp71 ; CPU:$A018 PRG:2018 85 71 + sta OamShadowPtrLo ; CPU:$A018 PRG:2018 85 71 lda #$21 ; CPU:$A01A PRG:201A A9 21 - sta Zp72 ; CPU:$A01C PRG:201C 85 72 + sta OamShadowPtrHi ; CPU:$A01C PRG:201C 85 72 lda #$06 ; CPU:$A01E PRG:201E A9 06 - sta Zp6F ; CPU:$A020 PRG:2020 85 6F - jsr Sub_9786 ; CPU:$A022 PRG:2022 20 86 97 + sta PlayerSpriteX ; CPU:$A020 PRG:2020 85 6F + jsr Sub_9786 ; CPU:$A022 PRG:2022 20 86 97 lda #$B6 ; CPU:$A025 PRG:2025 A9 B6 - sta Zp73 ; CPU:$A027 PRG:2027 85 73 + sta VramWritePtrLo ; CPU:$A027 PRG:2027 85 73 lda #$A3 ; CPU:$A029 PRG:2029 A9 A3 - sta Zp74 ; CPU:$A02B PRG:202B 85 74 + sta VramWritePtrHi ; CPU:$A02B PRG:202B 85 74 lda #$77 ; CPU:$A02D PRG:202D A9 77 - sta Zp71 ; CPU:$A02F PRG:202F 85 71 + sta OamShadowPtrLo ; CPU:$A02F PRG:202F 85 71 lda #$21 ; CPU:$A031 PRG:2031 A9 21 - sta Zp72 ; CPU:$A033 PRG:2033 85 72 + sta OamShadowPtrHi ; CPU:$A033 PRG:2033 85 72 lda #$06 ; CPU:$A035 PRG:2035 A9 06 - sta Zp6F ; CPU:$A037 PRG:2037 85 6F - jmp Sub_9786 ; CPU:$A039 PRG:2039 4C 86 97 + sta PlayerSpriteX ; CPU:$A037 PRG:2037 85 6F + jmp Sub_9786 ; CPU:$A039 PRG:2039 4C 86 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_A03C -; Global: Branch target inside Label: taken when A03C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A03C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A03C: lda #$C8 ; CPU:$A03C PRG:203C A9 C8 - sta Zp73 ; CPU:$A03E PRG:203E 85 73 + sta VramWritePtrLo ; CPU:$A03E PRG:203E 85 73 lda #$A3 ; CPU:$A040 PRG:2040 A9 A3 - sta Zp74 ; CPU:$A042 PRG:2042 85 74 + sta VramWritePtrHi ; CPU:$A042 PRG:2042 85 74 lda #$E7 ; CPU:$A044 PRG:2044 A9 E7 - sta Zp71 ; CPU:$A046 PRG:2046 85 71 + sta OamShadowPtrLo ; CPU:$A046 PRG:2046 85 71 lda #$20 ; CPU:$A048 PRG:2048 A9 20 - jmp Sub_A07D ; CPU:$A04A PRG:204A 4C 7D A0 + jmp Sub_A07D ; CPU:$A04A PRG:204A 4C 7D A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A04D -; Global: Branch target inside Label: taken when A04D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A04D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A04D: lda #$C8 ; CPU:$A04D PRG:204D A9 C8 - sta Zp73 ; CPU:$A04F PRG:204F 85 73 + sta VramWritePtrLo ; CPU:$A04F PRG:204F 85 73 lda #$A3 ; CPU:$A051 PRG:2051 A9 A3 - sta Zp74 ; CPU:$A053 PRG:2053 85 74 + sta VramWritePtrHi ; CPU:$A053 PRG:2053 85 74 lda #$EB ; CPU:$A055 PRG:2055 A9 EB - sta Zp71 ; CPU:$A057 PRG:2057 85 71 + sta OamShadowPtrLo ; CPU:$A057 PRG:2057 85 71 lda #$20 ; CPU:$A059 PRG:2059 A9 20 - jmp Sub_A07D ; CPU:$A05B PRG:205B 4C 7D A0 + jmp Sub_A07D ; CPU:$A05B PRG:205B 4C 7D A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A05E -; Global: Branch target inside Label: taken when A05E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A05E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A05E: lda #$D1 ; CPU:$A05E PRG:205E A9 D1 - sta Zp73 ; CPU:$A060 PRG:2060 85 73 + sta VramWritePtrLo ; CPU:$A060 PRG:2060 85 73 lda #$A3 ; CPU:$A062 PRG:2062 A9 A3 - sta Zp74 ; CPU:$A064 PRG:2064 85 74 + sta VramWritePtrHi ; CPU:$A064 PRG:2064 85 74 lda #$EF ; CPU:$A066 PRG:2066 A9 EF - sta Zp71 ; CPU:$A068 PRG:2068 85 71 + sta OamShadowPtrLo ; CPU:$A068 PRG:2068 85 71 lda #$20 ; CPU:$A06A PRG:206A A9 20 - jmp Sub_A07D ; CPU:$A06C PRG:206C 4C 7D A0 + jmp Sub_A07D ; CPU:$A06C PRG:206C 4C 7D A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A06F -; Global: Branch target inside Label: taken when A06F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A06F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A06F: lda #$DA ; CPU:$A06F PRG:206F A9 DA - sta Zp73 ; CPU:$A071 PRG:2071 85 73 + sta VramWritePtrLo ; CPU:$A071 PRG:2071 85 73 lda #$A3 ; CPU:$A073 PRG:2073 A9 A3 - sta Zp74 ; CPU:$A075 PRG:2075 85 74 + sta VramWritePtrHi ; CPU:$A075 PRG:2075 85 74 lda #$F3 ; CPU:$A077 PRG:2077 A9 F3 - sta Zp71 ; CPU:$A079 PRG:2079 85 71 + sta OamShadowPtrLo ; CPU:$A079 PRG:2079 85 71 lda #$20 ; CPU:$A07B PRG:207B A9 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_A07D -; Global: Branch target inside Label: taken when A07D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A07D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A07D: - sta Zp72 ; CPU:$A07D PRG:207D 85 72 + sta OamShadowPtrHi ; CPU:$A07D PRG:207D 85 72 lda #$03 ; CPU:$A07F PRG:207F A9 03 - sta Zp6F ; CPU:$A081 PRG:2081 85 6F - jmp Sub_9786 ; CPU:$A083 PRG:2083 4C 86 97 -; ---- data $A086-$A0E4 (95 bytes) ---- - .byte $A2, $00, $20, $28, $A2, $20, $A3, $82, $20, $50, $A2, $C9, $C0, $90, $F6, $20 ; CPU:$A086 PRG:2086 A2 00 20 28 A2 20 A3 82 20 50 A2 C9 C0 90 F6 20 - .byte $A3, $82, $20, $64, $A2, $C9, $47, $B0, $F6, $A9, $00, $85, $B7, $20, $3C, $A0 ; CPU:$A096 PRG:2096 A3 82 20 64 A2 C9 47 B0 F6 A9 00 85 B7 20 3C A0 - .byte $20, $66, $82, $A2, $01, $20, $28, $A2, $A9, $0A, $85, $6F, $A9, $00, $85, $70 ; CPU:$A0A6 PRG:20A6 20 66 82 A2 01 20 28 A2 A9 0A 85 6F A9 00 85 70 - .byte $20, $80, $82, $20, $A3, $82, $20, $50, $A2, $C9, $C0, $90, $F6, $20, $A3, $82 ; CPU:$A0B6 PRG:20B6 20 80 82 20 A3 82 20 50 A2 C9 C0 90 F6 20 A3 82 - .byte $20, $5A, $A2, $30, $F8, $20, $A3, $82, $20, $5A, $A2, $10, $F8, $20, $A3, $82 ; CPU:$A0C6 PRG:20C6 20 5A A2 30 F8 20 A3 82 20 5A A2 10 F8 20 A3 82 - .byte $20, $50, $A2, $C9, $47, $90, $F6, $A9, $47, $8D, $04, $03, $20, $66, $82 ; CPU:$A0D6 PRG:20D6 20 50 A2 C9 47 90 F6 A9 47 8D 04 03 20 66 82 + sta PlayerSpriteX ; CPU:$A081 PRG:2081 85 6F + jmp Sub_9786 ; CPU:$A083 PRG:2083 4C 86 97 +; ----------------------------------------------------------------------------- +; Routine: Label_A086 +; Global: Branch target inside Label: taken when A086. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A086: + ldx #$00 ; CPU:$A086 PRG:2086 A2 00 + jsr Sub_A228 ; CPU:$A088 PRG:2088 20 28 A2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + jsr Sub_82A3 ; CPU:$A08B PRG:208B 20 A3 82 + jsr Sub_A250 ; CPU:$A08E PRG:208E 20 50 A2 + cmp #$C0 ; CPU:$A091 PRG:2091 C9 C0 + bcc NmiHandler_OnCarryClear3 ; CPU:$A093 PRG:2093 90 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet3: + jsr Sub_82A3 ; CPU:$A095 PRG:2095 20 A3 82 + jsr Sub_A264 ; CPU:$A098 PRG:2098 20 64 A2 + cmp #$47 ; CPU:$A09B PRG:209B C9 47 + bcs NmiHandler_OnCarrySet3 ; CPU:$A09D PRG:209D B0 F6 + lda #$00 ; CPU:$A09F PRG:209F A9 00 + sta SpriteIndex ; CPU:$A0A1 PRG:20A1 85 B7 + jsr Sub_A03C ; CPU:$A0A3 PRG:20A3 20 3C A0 + jsr Sub_8266 ; CPU:$A0A6 PRG:20A6 20 66 82 + ldx #$01 ; CPU:$A0A9 PRG:20A9 A2 01 + jsr Sub_A228 ; CPU:$A0AB PRG:20AB 20 28 A2 + lda #$0A ; CPU:$A0AE PRG:20AE A9 0A + sta PlayerSpriteX ; CPU:$A0B0 PRG:20B0 85 6F + lda #$00 ; CPU:$A0B2 PRG:20B2 A9 00 + sta PlayerSpriteY ; CPU:$A0B4 PRG:20B4 85 70 + jsr Sub_8280 ; CPU:$A0B6 PRG:20B6 20 80 82 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + jsr Sub_82A3 ; CPU:$A0B9 PRG:20B9 20 A3 82 + jsr Sub_A250 ; CPU:$A0BC PRG:20BC 20 50 A2 + cmp #$C0 ; CPU:$A0BF PRG:20BF C9 C0 + bcc NmiHandler_OnCarryClear4 ; CPU:$A0C1 PRG:20C1 90 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative +; Global: Branch target inside NmiHandler: taken when the tested value is negative. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative: + jsr Sub_82A3 ; CPU:$A0C3 PRG:20C3 20 A3 82 + jsr Sub_A25A ; CPU:$A0C6 PRG:20C6 20 5A A2 + bmi NmiHandler_OnNegative ; CPU:$A0C9 PRG:20C9 30 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative5: + jsr Sub_82A3 ; CPU:$A0CB PRG:20CB 20 A3 82 + jsr Sub_A25A ; CPU:$A0CE PRG:20CE 20 5A A2 + bpl NmiHandler_OnNonnegative5 ; CPU:$A0D1 PRG:20D1 10 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear5: + jsr Sub_82A3 ; CPU:$A0D3 PRG:20D3 20 A3 82 + jsr Sub_A250 ; CPU:$A0D6 PRG:20D6 20 50 A2 + cmp #$47 ; CPU:$A0D9 PRG:20D9 C9 47 + bcc NmiHandler_OnCarryClear5 ; CPU:$A0DB PRG:20DB 90 F6 + lda #$47 ; CPU:$A0DD PRG:20DD A9 47 + sta $0304 ; CPU:$A0DF PRG:20DF 8D 04 03 + jsr Sub_8266 ; CPU:$A0E2 PRG:20E2 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Label_A0E5 ; Global: Branch target inside Label: taken when A0E5. @@ -4030,102 +4192,102 @@ Sub_A07D: ; ----------------------------------------------------------------------------- Label_A0E5: ldx #$02 ; CPU:$A0E5 PRG:20E5 A2 02 - jsr Sub_A228 ; CPU:$A0E7 PRG:20E7 20 28 A2 + jsr Sub_A228 ; CPU:$A0E7 PRG:20E7 20 28 A2 lda #$14 ; CPU:$A0EA PRG:20EA A9 14 - sta Zp6F ; CPU:$A0EC PRG:20EC 85 6F + sta PlayerSpriteX ; CPU:$A0EC PRG:20EC 85 6F lda #$00 ; CPU:$A0EE PRG:20EE A9 00 - sta Zp70 ; CPU:$A0F0 PRG:20F0 85 70 - jsr Sub_8280 ; CPU:$A0F2 PRG:20F2 20 80 82 + sta PlayerSpriteY ; CPU:$A0F0 PRG:20F0 85 70 + jsr Sub_8280 ; CPU:$A0F2 PRG:20F2 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear3 -; Global: Branch target inside Label: taken when A0F5. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear3: - jsr Sub_82A3 ; CPU:$A0F5 PRG:20F5 20 A3 82 - jsr Sub_A250 ; CPU:$A0F8 PRG:20F8 20 50 A2 +NmiHandler_OnCarryClear6: + jsr Sub_82A3 ; CPU:$A0F5 PRG:20F5 20 A3 82 + jsr Sub_A250 ; CPU:$A0F8 PRG:20F8 20 50 A2 cmp #$C0 ; CPU:$A0FB PRG:20FB C9 C0 - bcc NmiHandler_OnCarryClear3 ; CPU:$A0FD PRG:20FD 90 F6 + bcc NmiHandler_OnCarryClear6 ; CPU:$A0FD PRG:20FD 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet3 -; Global: Branch target inside Label: taken when A0FF. -; Local: Part of Label. +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet3: - jsr Sub_82A3 ; CPU:$A0FF PRG:20FF 20 A3 82 - jsr Sub_A264 ; CPU:$A102 PRG:2102 20 64 A2 +NmiHandler_OnCarrySet4: + jsr Sub_82A3 ; CPU:$A0FF PRG:20FF 20 A3 82 + jsr Sub_A264 ; CPU:$A102 PRG:2102 20 64 A2 cmp #$47 ; CPU:$A105 PRG:2105 C9 47 - bcs NmiHandler_OnCarrySet3 ; CPU:$A107 PRG:2107 B0 F6 + bcs NmiHandler_OnCarrySet4 ; CPU:$A107 PRG:2107 B0 F6 lda #$00 ; CPU:$A109 PRG:2109 A9 00 sta ZpB9 ; CPU:$A10B PRG:210B 85 B9 - jsr Sub_A04D ; CPU:$A10D PRG:210D 20 4D A0 - jsr Sub_8266 ; CPU:$A110 PRG:2110 20 66 82 + jsr Sub_A04D ; CPU:$A10D PRG:210D 20 4D A0 + jsr Sub_8266 ; CPU:$A110 PRG:2110 20 66 82 ldx #$03 ; CPU:$A113 PRG:2113 A2 03 - jsr Sub_A228 ; CPU:$A115 PRG:2115 20 28 A2 + jsr Sub_A228 ; CPU:$A115 PRG:2115 20 28 A2 lda #$1E ; CPU:$A118 PRG:2118 A9 1E - sta Zp6F ; CPU:$A11A PRG:211A 85 6F + sta PlayerSpriteX ; CPU:$A11A PRG:211A 85 6F lda #$00 ; CPU:$A11C PRG:211C A9 00 - sta Zp70 ; CPU:$A11E PRG:211E 85 70 - jsr Sub_8280 ; CPU:$A120 PRG:2120 20 80 82 + sta PlayerSpriteY ; CPU:$A11E PRG:211E 85 70 + jsr Sub_8280 ; CPU:$A120 PRG:2120 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear4 -; Global: Branch target inside Label: taken when A123. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear7 +; Global: Branch target inside NmiHandler: taken when OnCarryClear7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear4: - jsr Sub_82A3 ; CPU:$A123 PRG:2123 20 A3 82 - jsr Sub_A250 ; CPU:$A126 PRG:2126 20 50 A2 +NmiHandler_OnCarryClear7: + jsr Sub_82A3 ; CPU:$A123 PRG:2123 20 A3 82 + jsr Sub_A250 ; CPU:$A126 PRG:2126 20 50 A2 cmp #$C0 ; CPU:$A129 PRG:2129 C9 C0 - bcc NmiHandler_OnCarryClear4 ; CPU:$A12B PRG:212B 90 F6 + bcc NmiHandler_OnCarryClear7 ; CPU:$A12B PRG:212B 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative -; Global: Branch target inside Label: taken when A12D. -; Local: Part of Label. +; Routine: NmiHandler_OnNegative2 +; Global: Branch target inside NmiHandler: taken when OnNegative2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative: - jsr Sub_82A3 ; CPU:$A12D PRG:212D 20 A3 82 - jsr Sub_A25A ; CPU:$A130 PRG:2130 20 5A A2 - bmi NmiHandler_OnNegative ; CPU:$A133 PRG:2133 30 F8 +NmiHandler_OnNegative2: + jsr Sub_82A3 ; CPU:$A12D PRG:212D 20 A3 82 + jsr Sub_A25A ; CPU:$A130 PRG:2130 20 5A A2 + bmi NmiHandler_OnNegative2 ; CPU:$A133 PRG:2133 30 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative5 -; Global: Branch target inside Label: taken when A135. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative5: - jsr Sub_82A3 ; CPU:$A135 PRG:2135 20 A3 82 - jsr Sub_A25A ; CPU:$A138 PRG:2138 20 5A A2 - bpl NmiHandler_OnNonnegative5 ; CPU:$A13B PRG:213B 10 F8 +NmiHandler_OnNonnegative6: + jsr Sub_82A3 ; CPU:$A135 PRG:2135 20 A3 82 + jsr Sub_A25A ; CPU:$A138 PRG:2138 20 5A A2 + bpl NmiHandler_OnNonnegative6 ; CPU:$A13B PRG:213B 10 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear5 -; Global: Branch target inside Label: taken when A13D. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear8 +; Global: Branch target inside NmiHandler: taken when OnCarryClear8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear5: - jsr Sub_82A3 ; CPU:$A13D PRG:213D 20 A3 82 - jsr Sub_A250 ; CPU:$A140 PRG:2140 20 50 A2 +NmiHandler_OnCarryClear8: + jsr Sub_82A3 ; CPU:$A13D PRG:213D 20 A3 82 + jsr Sub_A250 ; CPU:$A140 PRG:2140 20 50 A2 cmp #$47 ; CPU:$A143 PRG:2143 C9 47 - bcc NmiHandler_OnCarryClear5 ; CPU:$A145 PRG:2145 90 F6 + bcc NmiHandler_OnCarryClear8 ; CPU:$A145 PRG:2145 90 F6 lda #$47 ; CPU:$A147 PRG:2147 A9 47 sta $0306 ; CPU:$A149 PRG:2149 8D 06 03 - jsr Sub_8266 ; CPU:$A14C PRG:214C 20 66 82 + jsr Sub_8266 ; CPU:$A14C PRG:214C 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Label_A14F ; Global: Branch target inside Label: taken when A14F. @@ -4136,42 +4298,42 @@ NmiHandler_OnCarryClear5: ; ----------------------------------------------------------------------------- Label_A14F: ldx #$04 ; CPU:$A14F PRG:214F A2 04 - jsr Sub_A228 ; CPU:$A151 PRG:2151 20 28 A2 + jsr Sub_A228 ; CPU:$A151 PRG:2151 20 28 A2 lda #$28 ; CPU:$A154 PRG:2154 A9 28 - sta Zp6F ; CPU:$A156 PRG:2156 85 6F + sta PlayerSpriteX ; CPU:$A156 PRG:2156 85 6F lda #$00 ; CPU:$A158 PRG:2158 A9 00 - sta Zp70 ; CPU:$A15A PRG:215A 85 70 - jsr Sub_8280 ; CPU:$A15C PRG:215C 20 80 82 + sta PlayerSpriteY ; CPU:$A15A PRG:215A 85 70 + jsr Sub_8280 ; CPU:$A15C PRG:215C 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear6 -; Global: Branch target inside Label: taken when A15F. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear9 +; Global: Branch target inside NmiHandler: taken when OnCarryClear9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear6: - jsr Sub_82A3 ; CPU:$A15F PRG:215F 20 A3 82 - jsr Sub_A250 ; CPU:$A162 PRG:2162 20 50 A2 +NmiHandler_OnCarryClear9: + jsr Sub_82A3 ; CPU:$A15F PRG:215F 20 A3 82 + jsr Sub_A250 ; CPU:$A162 PRG:2162 20 50 A2 cmp #$C0 ; CPU:$A165 PRG:2165 C9 C0 - bcc NmiHandler_OnCarryClear6 ; CPU:$A167 PRG:2167 90 F6 + bcc NmiHandler_OnCarryClear9 ; CPU:$A167 PRG:2167 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet4 -; Global: Branch target inside Label: taken when A169. -; Local: Part of Label. +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet4: - jsr Sub_82A3 ; CPU:$A169 PRG:2169 20 A3 82 - jsr Sub_A264 ; CPU:$A16C PRG:216C 20 64 A2 +NmiHandler_OnCarrySet5: + jsr Sub_82A3 ; CPU:$A169 PRG:2169 20 A3 82 + jsr Sub_A264 ; CPU:$A16C PRG:216C 20 64 A2 cmp #$47 ; CPU:$A16F PRG:216F C9 47 - bcs NmiHandler_OnCarrySet4 ; CPU:$A171 PRG:2171 B0 F6 + bcs NmiHandler_OnCarrySet5 ; CPU:$A171 PRG:2171 B0 F6 lda #$00 ; CPU:$A173 PRG:2173 A9 00 sta ZpBB ; CPU:$A175 PRG:2175 85 BB - jsr Sub_A05E ; CPU:$A177 PRG:2177 20 5E A0 - jsr Sub_8266 ; CPU:$A17A PRG:217A 20 66 82 + jsr Sub_A05E ; CPU:$A177 PRG:2177 20 5E A0 + jsr Sub_8266 ; CPU:$A17A PRG:217A 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Label_A17D ; Global: Branch target inside Label: taken when A17D. @@ -4182,65 +4344,65 @@ NmiHandler_OnCarrySet4: ; ----------------------------------------------------------------------------- Label_A17D: ldx #$05 ; CPU:$A17D PRG:217D A2 05 - jsr Sub_A228 ; CPU:$A17F PRG:217F 20 28 A2 + jsr Sub_A228 ; CPU:$A17F PRG:217F 20 28 A2 lda #$32 ; CPU:$A182 PRG:2182 A9 32 - sta Zp6F ; CPU:$A184 PRG:2184 85 6F + sta PlayerSpriteX ; CPU:$A184 PRG:2184 85 6F lda #$00 ; CPU:$A186 PRG:2186 A9 00 - sta Zp70 ; CPU:$A188 PRG:2188 85 70 - jsr Sub_8280 ; CPU:$A18A PRG:218A 20 80 82 + sta PlayerSpriteY ; CPU:$A188 PRG:2188 85 70 + jsr Sub_8280 ; CPU:$A18A PRG:218A 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear7 -; Global: Branch target inside Label: taken when A18D. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear10 +; Global: Branch target inside NmiHandler: taken when OnCarryClear10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear7: - jsr Sub_82A3 ; CPU:$A18D PRG:218D 20 A3 82 - jsr Sub_A250 ; CPU:$A190 PRG:2190 20 50 A2 +NmiHandler_OnCarryClear10: + jsr Sub_82A3 ; CPU:$A18D PRG:218D 20 A3 82 + jsr Sub_A250 ; CPU:$A190 PRG:2190 20 50 A2 cmp #$C0 ; CPU:$A193 PRG:2193 C9 C0 - bcc NmiHandler_OnCarryClear7 ; CPU:$A195 PRG:2195 90 F6 + bcc NmiHandler_OnCarryClear10 ; CPU:$A195 PRG:2195 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative2 -; Global: Branch target inside Label: taken when A197. -; Local: Part of Label. +; Routine: NmiHandler_OnNegative3 +; Global: Branch target inside NmiHandler: taken when OnNegative3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative2: - jsr Sub_82A3 ; CPU:$A197 PRG:2197 20 A3 82 - jsr Sub_A25A ; CPU:$A19A PRG:219A 20 5A A2 - bmi NmiHandler_OnNegative2 ; CPU:$A19D PRG:219D 30 F8 +NmiHandler_OnNegative3: + jsr Sub_82A3 ; CPU:$A197 PRG:2197 20 A3 82 + jsr Sub_A25A ; CPU:$A19A PRG:219A 20 5A A2 + bmi NmiHandler_OnNegative3 ; CPU:$A19D PRG:219D 30 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative6 -; Global: Branch target inside Label: taken when A19F. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative6: - jsr Sub_82A3 ; CPU:$A19F PRG:219F 20 A3 82 - jsr Sub_A25A ; CPU:$A1A2 PRG:21A2 20 5A A2 - bpl NmiHandler_OnNonnegative6 ; CPU:$A1A5 PRG:21A5 10 F8 +NmiHandler_OnNonnegative7: + jsr Sub_82A3 ; CPU:$A19F PRG:219F 20 A3 82 + jsr Sub_A25A ; CPU:$A1A2 PRG:21A2 20 5A A2 + bpl NmiHandler_OnNonnegative7 ; CPU:$A1A5 PRG:21A5 10 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear8 -; Global: Branch target inside Label: taken when A1A7. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear11 +; Global: Branch target inside NmiHandler: taken when OnCarryClear11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear8: - jsr Sub_82A3 ; CPU:$A1A7 PRG:21A7 20 A3 82 - jsr Sub_A250 ; CPU:$A1AA PRG:21AA 20 50 A2 +NmiHandler_OnCarryClear11: + jsr Sub_82A3 ; CPU:$A1A7 PRG:21A7 20 A3 82 + jsr Sub_A250 ; CPU:$A1AA PRG:21AA 20 50 A2 cmp #$47 ; CPU:$A1AD PRG:21AD C9 47 - bcc NmiHandler_OnCarryClear8 ; CPU:$A1AF PRG:21AF 90 F6 + bcc NmiHandler_OnCarryClear11 ; CPU:$A1AF PRG:21AF 90 F6 lda #$47 ; CPU:$A1B1 PRG:21B1 A9 47 sta $0308 ; CPU:$A1B3 PRG:21B3 8D 08 03 - jsr Sub_8266 ; CPU:$A1B6 PRG:21B6 20 66 82 + jsr Sub_8266 ; CPU:$A1B6 PRG:21B6 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Label_A1B9 ; Global: Branch target inside Label: taken when A1B9. @@ -4251,42 +4413,42 @@ NmiHandler_OnCarryClear8: ; ----------------------------------------------------------------------------- Label_A1B9: ldx #$06 ; CPU:$A1B9 PRG:21B9 A2 06 - jsr Sub_A228 ; CPU:$A1BB PRG:21BB 20 28 A2 + jsr Sub_A228 ; CPU:$A1BB PRG:21BB 20 28 A2 lda #$3C ; CPU:$A1BE PRG:21BE A9 3C - sta Zp6F ; CPU:$A1C0 PRG:21C0 85 6F + sta PlayerSpriteX ; CPU:$A1C0 PRG:21C0 85 6F lda #$00 ; CPU:$A1C2 PRG:21C2 A9 00 - sta Zp70 ; CPU:$A1C4 PRG:21C4 85 70 - jsr Sub_8280 ; CPU:$A1C6 PRG:21C6 20 80 82 + sta PlayerSpriteY ; CPU:$A1C4 PRG:21C4 85 70 + jsr Sub_8280 ; CPU:$A1C6 PRG:21C6 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear9 -; Global: Branch target inside Label: taken when A1C9. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear12 +; Global: Branch target inside NmiHandler: taken when OnCarryClear12. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear9: - jsr Sub_82A3 ; CPU:$A1C9 PRG:21C9 20 A3 82 - jsr Sub_A250 ; CPU:$A1CC PRG:21CC 20 50 A2 +NmiHandler_OnCarryClear12: + jsr Sub_82A3 ; CPU:$A1C9 PRG:21C9 20 A3 82 + jsr Sub_A250 ; CPU:$A1CC PRG:21CC 20 50 A2 cmp #$C0 ; CPU:$A1CF PRG:21CF C9 C0 - bcc NmiHandler_OnCarryClear9 ; CPU:$A1D1 PRG:21D1 90 F6 + bcc NmiHandler_OnCarryClear12 ; CPU:$A1D1 PRG:21D1 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet5 -; Global: Branch target inside Label: taken when A1D3. -; Local: Part of Label. +; Routine: NmiHandler_OnCarrySet6 +; Global: Branch target inside NmiHandler: taken when OnCarrySet6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet5: - jsr Sub_82A3 ; CPU:$A1D3 PRG:21D3 20 A3 82 - jsr Sub_A264 ; CPU:$A1D6 PRG:21D6 20 64 A2 +NmiHandler_OnCarrySet6: + jsr Sub_82A3 ; CPU:$A1D3 PRG:21D3 20 A3 82 + jsr Sub_A264 ; CPU:$A1D6 PRG:21D6 20 64 A2 cmp #$47 ; CPU:$A1D9 PRG:21D9 C9 47 - bcs NmiHandler_OnCarrySet5 ; CPU:$A1DB PRG:21DB B0 F6 + bcs NmiHandler_OnCarrySet6 ; CPU:$A1DB PRG:21DB B0 F6 lda #$00 ; CPU:$A1DD PRG:21DD A9 00 sta ZpBD ; CPU:$A1DF PRG:21DF 85 BD - jsr Sub_A06F ; CPU:$A1E1 PRG:21E1 20 6F A0 - jsr Sub_8266 ; CPU:$A1E4 PRG:21E4 20 66 82 + jsr Sub_A06F ; CPU:$A1E1 PRG:21E1 20 6F A0 + jsr Sub_8266 ; CPU:$A1E4 PRG:21E4 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Label_A1E7 ; Global: Branch target inside Label: taken when A1E7. @@ -4297,94 +4459,95 @@ NmiHandler_OnCarrySet5: ; ----------------------------------------------------------------------------- Label_A1E7: ldx #$07 ; CPU:$A1E7 PRG:21E7 A2 07 - jsr Sub_A228 ; CPU:$A1E9 PRG:21E9 20 28 A2 + jsr Sub_A228 ; CPU:$A1E9 PRG:21E9 20 28 A2 lda #$46 ; CPU:$A1EC PRG:21EC A9 46 - sta Zp6F ; CPU:$A1EE PRG:21EE 85 6F + sta PlayerSpriteX ; CPU:$A1EE PRG:21EE 85 6F lda #$00 ; CPU:$A1F0 PRG:21F0 A9 00 - sta Zp70 ; CPU:$A1F2 PRG:21F2 85 70 - jsr Sub_8280 ; CPU:$A1F4 PRG:21F4 20 80 82 + sta PlayerSpriteY ; CPU:$A1F2 PRG:21F2 85 70 + jsr Sub_8280 ; CPU:$A1F4 PRG:21F4 20 80 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear10 -; Global: Branch target inside Label: taken when A1F7. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear13 +; Global: Branch target inside NmiHandler: taken when OnCarryClear13. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear10: - jsr Sub_82A3 ; CPU:$A1F7 PRG:21F7 20 A3 82 - jsr Sub_A250 ; CPU:$A1FA PRG:21FA 20 50 A2 +NmiHandler_OnCarryClear13: + jsr Sub_82A3 ; CPU:$A1F7 PRG:21F7 20 A3 82 + jsr Sub_A250 ; CPU:$A1FA PRG:21FA 20 50 A2 cmp #$C0 ; CPU:$A1FD PRG:21FD C9 C0 - bcc NmiHandler_OnCarryClear10 ; CPU:$A1FF PRG:21FF 90 F6 + bcc NmiHandler_OnCarryClear13 ; CPU:$A1FF PRG:21FF 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative3 -; Global: Branch target inside Label: taken when A201. -; Local: Part of Label. +; Routine: NmiHandler_OnNegative4 +; Global: Branch target inside NmiHandler: taken when OnNegative4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative3: - jsr Sub_82A3 ; CPU:$A201 PRG:2201 20 A3 82 - jsr Sub_A25A ; CPU:$A204 PRG:2204 20 5A A2 - bmi NmiHandler_OnNegative3 ; CPU:$A207 PRG:2207 30 F8 +NmiHandler_OnNegative4: + jsr Sub_82A3 ; CPU:$A201 PRG:2201 20 A3 82 + jsr Sub_A25A ; CPU:$A204 PRG:2204 20 5A A2 + bmi NmiHandler_OnNegative4 ; CPU:$A207 PRG:2207 30 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative7 -; Global: Branch target inside Label: taken when A209. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative7: - jsr Sub_82A3 ; CPU:$A209 PRG:2209 20 A3 82 - jsr Sub_A25A ; CPU:$A20C PRG:220C 20 5A A2 - bpl NmiHandler_OnNonnegative7 ; CPU:$A20F PRG:220F 10 F8 +NmiHandler_OnNonnegative8: + jsr Sub_82A3 ; CPU:$A209 PRG:2209 20 A3 82 + jsr Sub_A25A ; CPU:$A20C PRG:220C 20 5A A2 + bpl NmiHandler_OnNonnegative8 ; CPU:$A20F PRG:220F 10 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear11 -; Global: Branch target inside Label: taken when A211. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear14 +; Global: Branch target inside NmiHandler: taken when OnCarryClear14. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear11: - jsr Sub_82A3 ; CPU:$A211 PRG:2211 20 A3 82 - jsr Sub_A250 ; CPU:$A214 PRG:2214 20 50 A2 +NmiHandler_OnCarryClear14: + jsr Sub_82A3 ; CPU:$A211 PRG:2211 20 A3 82 + jsr Sub_A250 ; CPU:$A214 PRG:2214 20 50 A2 cmp #$47 ; CPU:$A217 PRG:2217 C9 47 - bcc NmiHandler_OnCarryClear11 ; CPU:$A219 PRG:2219 90 F6 + bcc NmiHandler_OnCarryClear14 ; CPU:$A219 PRG:2219 90 F6 lda #$47 ; CPU:$A21B PRG:221B A9 47 sta $030A ; CPU:$A21D PRG:221D 8D 0A 03 lda #$FF ; CPU:$A220 PRG:2220 A9 FF sta $055A ; CPU:$A222 PRG:2222 8D 5A 05 - jsr Sub_8266 ; CPU:$A225 PRG:2225 20 66 82 + jsr Sub_8266 ; CPU:$A225 PRG:2225 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A228 -; Global: Branch target inside Label: taken when A228. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A228. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A228: lda #$80 ; CPU:$A228 PRG:2228 A9 80 - sta ZpB7,x ; CPU:$A22A PRG:222A 95 B7 + sta SpriteIndex,x ; CPU:$A22A PRG:222A 95 B7 lda #$00 ; CPU:$A22C PRG:222C A9 00 sta $0303,x ; CPU:$A22E PRG:222E 9D 03 03 sta $0325,x ; CPU:$A231 PRG:2231 9D 25 03 lda $A240,x ; CPU:$A234 PRG:2234 BD 40 A2 - sta ZpC8,x ; CPU:$A237 PRG:2237 95 C8 + sta SpriteYPosition,x ; CPU:$A237 PRG:2237 95 C8 lda $A248,x ; CPU:$A239 PRG:2239 BD 48 A2 sta $0314,x ; CPU:$A23C PRG:223C 9D 14 03 rts ; CPU:$A23F PRG:223F 60 ; ---- data $A240-$A24F (16 bytes) ---- ; referenced by `lda $A240,x` at $A234 (operand $A240 falls inside this region) ; referenced by `lda $A248,x` at $A239 (operand $A248 falls inside this region) - .byte $40, $50, $60, $70, $80, $90, $A0, $B0, $50, $51, $50, $52, $53, $54, $55, $56 ; CPU:$A240 PRG:2240 40 50 60 70 80 90 A0 B0 50 51 50 52 53 54 55 56 +EnemySpriteXPositionTable: + .byte $40, $50, $60, $70, $80, $90, $A0, $B0, $50, $51, $50, $52, $53, $54, $55, $56 ; CPU:$A240 PRG:-1DC0 40 50 60 70 80 90 A0 B0 50 51 50 52 53 54 55 56 ; ----------------------------------------------------------------------------- ; Routine: Sub_A250 -; Global: Branch target inside Label: taken when A250. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A250. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4396,8 +4559,8 @@ Sub_A250: rts ; CPU:$A259 PRG:2259 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A25A -; Global: Branch target inside Label: taken when A25A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A25A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4409,8 +4572,8 @@ Sub_A25A: rts ; CPU:$A263 PRG:2263 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A264 -; Global: Branch target inside Label: taken when A264. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A264. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4423,8 +4586,8 @@ Sub_A264: rts ; CPU:$A26D PRG:226D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A26E -; Global: Branch target inside Label: taken when A26E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A26E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4436,13 +4599,14 @@ Sub_A26E: lda PPUSTATUS ; CPU:$A276 PRG:2276 AD 02 20 lda #$16 ; CPU:$A279 PRG:2279 A9 16 sta PPUADDR ; CPU:$A27B PRG:227B 8D 06 20 - jmp Sub_A3E3 ; CPU:$A27E PRG:227E 4C E3 A3 + jmp Sub_A3E3 ; CPU:$A27E PRG:227E 4C E3 A3 ; ---- data $A281-$A284 (4 bytes) ---- - .byte $E3, $A3, $3E, $97 ; CPU:$A281 PRG:2281 E3 A3 3E 97 +LevelDataPointerTable: + .byte $E3, $A3, $3E, $97 ; CPU:$A281 PRG:-1D7F E3 A3 3E 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_A285 -; Global: Branch target inside Label: taken when A285. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A285. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4451,29 +4615,29 @@ Sub_A285: rts ; CPU:$A285 PRG:2285 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A286 -; Global: Branch target inside Label: taken when A286. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A286. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A286: lda #$48 ; CPU:$A286 PRG:2286 A9 48 - sta Zp73 ; CPU:$A288 PRG:2288 85 73 + sta VramWritePtrLo ; CPU:$A288 PRG:2288 85 73 lda #$A3 ; CPU:$A28A PRG:228A A9 A3 - sta Zp74 ; CPU:$A28C PRG:228C 85 74 + sta VramWritePtrHi ; CPU:$A28C PRG:228C 85 74 lda #$60 ; CPU:$A28E PRG:228E A9 60 - sta Zp71 ; CPU:$A290 PRG:2290 85 71 + sta OamShadowPtrLo ; CPU:$A290 PRG:2290 85 71 lda #$20 ; CPU:$A292 PRG:2292 A9 20 - sta Zp72 ; CPU:$A294 PRG:2294 85 72 + sta OamShadowPtrHi ; CPU:$A294 PRG:2294 85 72 lda #$20 ; CPU:$A296 PRG:2296 A9 20 - sta Zp70 ; CPU:$A298 PRG:2298 85 70 - jsr Sub_973E ; CPU:$A29A PRG:229A 20 3E 97 + sta PlayerSpriteY ; CPU:$A298 PRG:2298 85 70 + jsr Sub_973E ; CPU:$A29A PRG:229A 20 3E 97 ldy #$00 ; CPU:$A29D PRG:229D A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero21 -; Global: Branch target inside Label: taken when A29F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4485,100 +4649,101 @@ NmiHandler_OnNonzero21: sta $056B,y ; CPU:$A2A6 PRG:22A6 99 6B 05 iny ; CPU:$A2A9 PRG:22A9 C8 cpy #$12 ; CPU:$A2AA PRG:22AA C0 12 - bne NmiHandler_OnNonzero21 ; CPU:$A2AC PRG:22AC D0 F1 + bne NmiHandler_OnNonzero21 ; CPU:$A2AC PRG:22AC D0 F1 lda #$6B ; CPU:$A2AE PRG:22AE A9 6B - sta Zp73 ; CPU:$A2B0 PRG:22B0 85 73 + sta VramWritePtrLo ; CPU:$A2B0 PRG:22B0 85 73 lda #$05 ; CPU:$A2B2 PRG:22B2 A9 05 - sta Zp74 ; CPU:$A2B4 PRG:22B4 85 74 + sta VramWritePtrHi ; CPU:$A2B4 PRG:22B4 85 74 lda #$84 ; CPU:$A2B6 PRG:22B6 A9 84 - sta Zp71 ; CPU:$A2B8 PRG:22B8 85 71 + sta OamShadowPtrLo ; CPU:$A2B8 PRG:22B8 85 71 lda #$20 ; CPU:$A2BA PRG:22BA A9 20 - sta Zp72 ; CPU:$A2BC PRG:22BC 85 72 + sta OamShadowPtrHi ; CPU:$A2BC PRG:22BC 85 72 lda #$06 ; CPU:$A2BE PRG:22BE A9 06 - sta Zp70 ; CPU:$A2C0 PRG:22C0 85 70 - jsr Sub_973E ; CPU:$A2C2 PRG:22C2 20 3E 97 + sta PlayerSpriteY ; CPU:$A2C0 PRG:22C0 85 70 + jsr Sub_973E ; CPU:$A2C2 PRG:22C2 20 3E 97 lda #$71 ; CPU:$A2C5 PRG:22C5 A9 71 - sta Zp73 ; CPU:$A2C7 PRG:22C7 85 73 + sta VramWritePtrLo ; CPU:$A2C7 PRG:22C7 85 73 lda #$05 ; CPU:$A2C9 PRG:22C9 A9 05 - sta Zp74 ; CPU:$A2CB PRG:22CB 85 74 + sta VramWritePtrHi ; CPU:$A2CB PRG:22CB 85 74 lda #$8D ; CPU:$A2CD PRG:22CD A9 8D - sta Zp71 ; CPU:$A2CF PRG:22CF 85 71 + sta OamShadowPtrLo ; CPU:$A2CF PRG:22CF 85 71 lda #$20 ; CPU:$A2D1 PRG:22D1 A9 20 - sta Zp72 ; CPU:$A2D3 PRG:22D3 85 72 + sta OamShadowPtrHi ; CPU:$A2D3 PRG:22D3 85 72 lda #$06 ; CPU:$A2D5 PRG:22D5 A9 06 - sta Zp70 ; CPU:$A2D7 PRG:22D7 85 70 - jsr Sub_973E ; CPU:$A2D9 PRG:22D9 20 3E 97 + sta PlayerSpriteY ; CPU:$A2D7 PRG:22D7 85 70 + jsr Sub_973E ; CPU:$A2D9 PRG:22D9 20 3E 97 lda $068C ; CPU:$A2DC PRG:22DC AD 8C 06 - beq NmiHandler_Loop98 ; CPU:$A2DF PRG:22DF F0 17 + beq NmiHandler_Loop101 ; CPU:$A2DF PRG:22DF F0 17 lda #$77 ; CPU:$A2E1 PRG:22E1 A9 77 - sta Zp73 ; CPU:$A2E3 PRG:22E3 85 73 + sta VramWritePtrLo ; CPU:$A2E3 PRG:22E3 85 73 lda #$05 ; CPU:$A2E5 PRG:22E5 A9 05 - sta Zp74 ; CPU:$A2E7 PRG:22E7 85 74 + sta VramWritePtrHi ; CPU:$A2E7 PRG:22E7 85 74 lda #$96 ; CPU:$A2E9 PRG:22E9 A9 96 - sta Zp71 ; CPU:$A2EB PRG:22EB 85 71 + sta OamShadowPtrLo ; CPU:$A2EB PRG:22EB 85 71 lda #$20 ; CPU:$A2ED PRG:22ED A9 20 - sta Zp72 ; CPU:$A2EF PRG:22EF 85 72 + sta OamShadowPtrHi ; CPU:$A2EF PRG:22EF 85 72 lda #$06 ; CPU:$A2F1 PRG:22F1 A9 06 - sta Zp70 ; CPU:$A2F3 PRG:22F3 85 70 - jmp Sub_973E ; CPU:$A2F5 PRG:22F5 4C 3E 97 + sta PlayerSpriteY ; CPU:$A2F3 PRG:22F3 85 70 + jmp Sub_973E ; CPU:$A2F5 PRG:22F5 4C 3E 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop98 -; Global: Branch target inside Label: taken when A2F8. -; Local: Part of Label. +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop98: +NmiHandler_Loop101: lda #$DA ; CPU:$A2F8 PRG:22F8 A9 DA - sta Zp73 ; CPU:$A2FA PRG:22FA 85 73 + sta VramWritePtrLo ; CPU:$A2FA PRG:22FA 85 73 lda #$FF ; CPU:$A2FC PRG:22FC A9 FF - sta Zp74 ; CPU:$A2FE PRG:22FE 85 74 + sta VramWritePtrHi ; CPU:$A2FE PRG:22FE 85 74 lda #$76 ; CPU:$A300 PRG:2300 A9 76 - sta Zp71 ; CPU:$A302 PRG:2302 85 71 + sta OamShadowPtrLo ; CPU:$A302 PRG:2302 85 71 lda #$20 ; CPU:$A304 PRG:2304 A9 20 - sta Zp72 ; CPU:$A306 PRG:2306 85 72 + sta OamShadowPtrHi ; CPU:$A306 PRG:2306 85 72 lda #$06 ; CPU:$A308 PRG:2308 A9 06 - sta Zp70 ; CPU:$A30A PRG:230A 85 70 - jmp Sub_973E ; CPU:$A30C PRG:230C 4C 3E 97 + sta PlayerSpriteY ; CPU:$A30A PRG:230A 85 70 + jmp Sub_973E ; CPU:$A30C PRG:230C 4C 3E 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_A30F -; Global: Branch target inside Label: taken when A30F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A30F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A30F: lda #$0B ; CPU:$A30F PRG:230F A9 0B - sta Zp73 ; CPU:$A311 PRG:2311 85 73 + sta VramWritePtrLo ; CPU:$A311 PRG:2311 85 73 lda #$A4 ; CPU:$A313 PRG:2313 A9 A4 - sta Zp74 ; CPU:$A315 PRG:2315 85 74 - jsr Sub_9777 ; CPU:$A317 PRG:2317 20 77 97 + sta VramWritePtrHi ; CPU:$A315 PRG:2315 85 74 + jsr Sub_9777 ; CPU:$A317 PRG:2317 20 77 97 lda #$2B ; CPU:$A31A PRG:231A A9 2B - sta Zp73 ; CPU:$A31C PRG:231C 85 73 + sta VramWritePtrLo ; CPU:$A31C PRG:231C 85 73 lda #$A4 ; CPU:$A31E PRG:231E A9 A4 - sta Zp74 ; CPU:$A320 PRG:2320 85 74 + sta VramWritePtrHi ; CPU:$A320 PRG:2320 85 74 lda #$C0 ; CPU:$A322 PRG:2322 A9 C0 - sta Zp71 ; CPU:$A324 PRG:2324 85 71 + sta OamShadowPtrLo ; CPU:$A324 PRG:2324 85 71 lda #$23 ; CPU:$A326 PRG:2326 A9 23 - sta Zp72 ; CPU:$A328 PRG:2328 85 72 + sta OamShadowPtrHi ; CPU:$A328 PRG:2328 85 72 lda #$20 ; CPU:$A32A PRG:232A A9 20 - sta Zp70 ; CPU:$A32C PRG:232C 85 70 - jsr Sub_973E ; CPU:$A32E PRG:232E 20 3E 97 + sta PlayerSpriteY ; CPU:$A32C PRG:232C 85 70 + jsr Sub_973E ; CPU:$A32E PRG:232E 20 3E 97 lda #$4B ; CPU:$A331 PRG:2331 A9 4B - sta Zp73 ; CPU:$A333 PRG:2333 85 73 + sta VramWritePtrLo ; CPU:$A333 PRG:2333 85 73 lda #$A4 ; CPU:$A335 PRG:2335 A9 A4 - sta Zp74 ; CPU:$A337 PRG:2337 85 74 + sta VramWritePtrHi ; CPU:$A337 PRG:2337 85 74 lda #$E0 ; CPU:$A339 PRG:2339 A9 E0 - sta Zp71 ; CPU:$A33B PRG:233B 85 71 + sta OamShadowPtrLo ; CPU:$A33B PRG:233B 85 71 lda #$23 ; CPU:$A33D PRG:233D A9 23 - sta Zp72 ; CPU:$A33F PRG:233F 85 72 + sta OamShadowPtrHi ; CPU:$A33F PRG:233F 85 72 lda #$20 ; CPU:$A341 PRG:2341 A9 20 - sta Zp70 ; CPU:$A343 PRG:2343 85 70 - jmp Sub_973E ; CPU:$A345 PRG:2345 4C 3E 97 + sta PlayerSpriteY ; CPU:$A343 PRG:2343 85 70 + jmp Sub_973E ; CPU:$A345 PRG:2345 4C 3E 97 ; ---- data $A348-$A3E2 (155 bytes) ---- - .byte $FF, $FF, $FF, $FF, $FF, $91, $A7, $A2, $FF, $FF, $FF, $FF, $8A, $8B, $71, $A5 ; CPU:$A348 PRG:2348 FF FF FF FF FF 91 A7 A2 FF FF FF FF 8A 8B 71 A5 +EnemyMoveCodeTable: + .byte $FF, $FF, $FF, $FF, $FF, $91, $A7, $A2, $FF, $FF, $FF, $FF, $8A, $8B, $71, $A5 ; CPU:$A348 PRG:-1CB8 FF FF FF FF FF 91 A7 A2 FF FF FF FF 8A 8B 71 A5 .byte $9C, $90, $A4, $9E, $FF, $FF, $FF, $FF, $92, $A7, $A2, $FF, $FF, $FF, $FF, $FF ; CPU:$A358 PRG:2358 9C 90 A4 9E FF FF FF FF 92 A7 A2 FF FF FF FF FF .byte $FF, $C0, $FF, $C3, $C2, $C1, $C6, $C5, $C4, $C9, $C8, $C7, $CC, $CB, $CA, $CF ; CPU:$A368 PRG:2368 FF C0 FF C3 C2 C1 C6 C5 C4 C9 C8 C7 CC CB CA CF .byte $CE, $CD, $D2, $D1, $D0, $D5, $D4, $D3, $D8, $D7, $D6, $DB, $DA, $D9, $FF, $DA ; CPU:$A378 PRG:2378 CE CD D2 D1 D0 D5 D4 D3 D8 D7 D6 DB DA D9 FF DA @@ -4590,8 +4755,8 @@ Sub_A30F: .byte $B8, $B8, $FF, $BB, $BA, $FF, $BD, $BC, $FF, $BF, $BE ; CPU:$A3D8 PRG:23D8 B8 B8 FF BB BA FF BD BC FF BF BE ; ----------------------------------------------------------------------------- ; Routine: Sub_A3E3 -; Global: Branch target inside Label: taken when A3E3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A3E3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4602,8 +4767,8 @@ Sub_A3E3: ldy #$00 ; CPU:$A3E8 PRG:23E8 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero22 -; Global: Branch target inside Label: taken when A3EA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4612,11 +4777,12 @@ NmiHandler_OnNonzero22: lda PPUDATA ; CPU:$A3EA PRG:23EA AD 07 20 sta $0200,y ; CPU:$A3ED PRG:23ED 99 00 02 iny ; CPU:$A3F0 PRG:23F0 C8 - bne NmiHandler_OnNonzero22 ; CPU:$A3F1 PRG:23F1 D0 F7 + bne NmiHandler_OnNonzero22 ; CPU:$A3F1 PRG:23F1 D0 F7 jsr $0201 ; CPU:$A3F3 PRG:23F3 20 01 02 - jmp Sub_BCAB ; CPU:$A3F6 PRG:23F6 4C AB BC + jmp Sub_BCAB ; CPU:$A3F6 PRG:23F6 4C AB BC ; ---- data $A3F9-$A46E (118 bytes) ---- - .byte $91, $FF, $A2, $8E, $9A, $AB, $9E, $A4, $FF, $92, $FF, $A2, $8E, $9A, $AB, $9E ; CPU:$A3F9 PRG:23F9 91 FF A2 8E 9A AB 9E A4 FF 92 FF A2 8E 9A AB 9E +EnemySpawnScriptTable: + .byte $91, $FF, $A2, $8E, $9A, $AB, $9E, $A4, $FF, $92, $FF, $A2, $8E, $9A, $AB, $9E ; CPU:$A3F9 PRG:-1C07 91 FF A2 8E 9A AB 9E A4 FF 92 FF A2 8E 9A AB 9E .byte $A4, $A5, $0F, $19, $27, $0F, $0F, $16, $27, $11, $0F, $36, $30, $07, $0F, $30 ; CPU:$A409 PRG:2409 A4 A5 0F 19 27 0F 0F 16 27 11 0F 36 30 07 0F 30 .byte $36, $11, $0F, $19, $00, $00, $0F, $36, $22, $00, $0F, $00, $00, $30, $0F, $00 ; CPU:$A419 PRG:2419 36 11 0F 19 00 00 0F 36 22 00 0F 00 00 30 0F 00 .byte $00, $00, $55, $55, $55, $55, $55, $55, $55, $55, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$A429 PRG:2429 00 00 55 55 55 55 55 55 55 55 0F 0F 0F 0F 0F 0F @@ -4626,8 +4792,8 @@ NmiHandler_OnNonzero22: .byte $00, $00, $00, $00, $00, $00 ; CPU:$A469 PRG:2469 00 00 00 00 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A46F -; Global: Branch target inside Label: taken when A46F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A46F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4638,166 +4804,166 @@ Sub_A46F: inc $0673 ; CPU:$A474 PRG:2474 EE 73 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_A477 -; Global: Branch target inside Label: taken when A477. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A477. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A477: lda $055D ; CPU:$A477 PRG:2477 AD 5D 05 - bpl NmiHandler_Loop99 ; CPU:$A47A PRG:247A 10 03 - jmp Sub_A51D ; CPU:$A47C PRG:247C 4C 1D A5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop99 -; Global: Branch target inside Label: taken when A47F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop99: - bne NmiHandler_Loop100 ; CPU:$A47F PRG:247F D0 06 - jmp Sub_A5A9 ; CPU:$A481 PRG:2481 4C A9 A5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero23 -; Global: Branch target inside Label: taken when A484. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero23: - jmp NmiHandler_Loop105 ; CPU:$A484 PRG:2484 4C 13 A5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop100 -; Global: Branch target inside Label: taken when A487. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop100: - lda $0566 ; CPU:$A487 PRG:2487 AD 66 05 - cmp #$F3 ; CPU:$A48A PRG:248A C9 F3 - bcc NmiHandler_Loop101 ; CPU:$A48C PRG:248C 90 08 - bne NmiHandler_OnNonzero23 ; CPU:$A48E PRG:248E D0 F4 - lda Zp8F ; CPU:$A490 PRG:2490 A5 8F - and #$06 ; CPU:$A492 PRG:2492 29 06 - beq NmiHandler_Loop105 ; CPU:$A494 PRG:2494 F0 7D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop101 -; Global: Branch target inside Label: taken when A496. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop101: - jsr Sub_A617 ; CPU:$A496 PRG:2496 20 17 A6 - lda Zp8F ; CPU:$A499 PRG:2499 A5 8F - sec ; CPU:$A49B PRG:249B 38 - sbc #$F0 ; CPU:$A49C PRG:249C E9 F0 - bcc NmiHandler_Loop102 ; CPU:$A49E PRG:249E 90 05 - sta Zp8F ; CPU:$A4A0 PRG:24A0 85 8F - jsr Sub_A516 ; CPU:$A4A2 PRG:24A2 20 16 A5 + bpl NmiHandler_Loop102 ; CPU:$A47A PRG:247A 10 03 + jmp Sub_A51D ; CPU:$A47C PRG:247C 4C 1D A5 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop102 -; Global: Branch target inside Label: taken when A4A5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop102. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop102: + bne NmiHandler_Loop103 ; CPU:$A47F PRG:247F D0 06 + jmp Sub_A5A9 ; CPU:$A481 PRG:2481 4C A9 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero23: + jmp NmiHandler_Loop108 ; CPU:$A484 PRG:2484 4C 13 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop103: + lda $0566 ; CPU:$A487 PRG:2487 AD 66 05 + cmp #$F3 ; CPU:$A48A PRG:248A C9 F3 + bcc NmiHandler_Loop104 ; CPU:$A48C PRG:248C 90 08 + bne NmiHandler_OnNonzero23 ; CPU:$A48E PRG:248E D0 F4 + lda Zp8F ; CPU:$A490 PRG:2490 A5 8F + and #$06 ; CPU:$A492 PRG:2492 29 06 + beq NmiHandler_Loop108 ; CPU:$A494 PRG:2494 F0 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop104: + jsr Sub_A617 ; CPU:$A496 PRG:2496 20 17 A6 + lda Zp8F ; CPU:$A499 PRG:2499 A5 8F + sec ; CPU:$A49B PRG:249B 38 + sbc #$F0 ; CPU:$A49C PRG:249C E9 F0 + bcc NmiHandler_Loop105 ; CPU:$A49E PRG:249E 90 05 + sta Zp8F ; CPU:$A4A0 PRG:24A0 85 8F + jsr Sub_A516 ; CPU:$A4A2 PRG:24A2 20 16 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop105: lda $0680 ; CPU:$A4A5 PRG:24A5 AD 80 06 clc ; CPU:$A4A8 PRG:24A8 18 adc $055D ; CPU:$A4A9 PRG:24A9 6D 5D 05 sta $0680 ; CPU:$A4AC PRG:24AC 8D 80 06 sec ; CPU:$A4AF PRG:24AF 38 sbc #$30 ; CPU:$A4B0 PRG:24B0 E9 30 - bcc NmiHandler_Loop104 ; CPU:$A4B2 PRG:24B2 90 1D + bcc NmiHandler_Loop107 ; CPU:$A4B2 PRG:24B2 90 1D sta $0680 ; CPU:$A4B4 PRG:24B4 8D 80 06 inc $058F ; CPU:$A4B7 PRG:24B7 EE 8F 05 lda $058F ; CPU:$A4BA PRG:24BA AD 8F 05 cmp #$1C ; CPU:$A4BD PRG:24BD C9 1C - bne NmiHandler_Loop103 ; CPU:$A4BF PRG:24BF D0 03 - jsr Sub_C450 ; CPU:$A4C1 PRG:24C1 20 50 C4 + bne NmiHandler_Loop106 ; CPU:$A4BF PRG:24BF D0 03 + jsr Sub_C450 ; CPU:$A4C1 PRG:24C1 20 50 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop103 -; Global: Branch target inside Label: taken when A4C4. -; Local: Part of Label. +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop103: +NmiHandler_Loop106: ldy $058F ; CPU:$A4C4 PRG:24C4 AC 8F 05 iny ; CPU:$A4C7 PRG:24C7 C8 iny ; CPU:$A4C8 PRG:24C8 C8 lda $05BA,y ; CPU:$A4C9 PRG:24C9 B9 BA 05 - beq NmiHandler_Loop104 ; CPU:$A4CC PRG:24CC F0 03 - jsr Sub_D0EE ; CPU:$A4CE PRG:24CE 20 EE D0 + beq NmiHandler_Loop107 ; CPU:$A4CC PRG:24CC F0 03 + jsr Sub_D0EE ; CPU:$A4CE PRG:24CE 20 EE D0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop104 -; Global: Branch target inside Label: taken when A4D1. -; Local: Part of Label. +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop104: - jsr Sub_A63F ; CPU:$A4D1 PRG:24D1 20 3F A6 - bcc NmiHandler_Loop105 ; CPU:$A4D4 PRG:24D4 90 3D +NmiHandler_Loop107: + jsr Sub_A63F ; CPU:$A4D1 PRG:24D1 20 3F A6 + bcc NmiHandler_Loop108 ; CPU:$A4D4 PRG:24D4 90 3D lda $055E ; CPU:$A4D6 PRG:24D6 AD 5E 05 - sta Zp71 ; CPU:$A4D9 PRG:24D9 85 71 + sta OamShadowPtrLo ; CPU:$A4D9 PRG:24D9 85 71 lda $055F ; CPU:$A4DB PRG:24DB AD 5F 05 - sta Zp72 ; CPU:$A4DE PRG:24DE 85 72 + sta OamShadowPtrHi ; CPU:$A4DE PRG:24DE 85 72 lda $0566 ; CPU:$A4E0 PRG:24E0 AD 66 05 - jsr Sub_A863 ; CPU:$A4E3 PRG:24E3 20 63 A8 - jsr Sub_A749 ; CPU:$A4E6 PRG:24E6 20 49 A7 - jsr Sub_A761 ; CPU:$A4E9 PRG:24E9 20 61 A7 + jsr Sub_A863 ; CPU:$A4E3 PRG:24E3 20 63 A8 + jsr Sub_A749 ; CPU:$A4E6 PRG:24E6 20 49 A7 + jsr Sub_A761 ; CPU:$A4E9 PRG:24E9 20 61 A7 inc $0566 ; CPU:$A4EC PRG:24EC EE 66 05 inc $0567 ; CPU:$A4EF PRG:24EF EE 67 05 - jsr Sub_A6CF ; CPU:$A4F2 PRG:24F2 20 CF A6 - bcc NmiHandler_Loop105 ; CPU:$A4F5 PRG:24F5 90 1C + jsr Sub_A6CF ; CPU:$A4F2 PRG:24F2 20 CF A6 + bcc NmiHandler_Loop108 ; CPU:$A4F5 PRG:24F5 90 1C lda $0562 ; CPU:$A4F7 PRG:24F7 AD 62 05 - sta Zp71 ; CPU:$A4FA PRG:24FA 85 71 + sta OamShadowPtrLo ; CPU:$A4FA PRG:24FA 85 71 lda $0563 ; CPU:$A4FC PRG:24FC AD 63 05 - sta Zp72 ; CPU:$A4FF PRG:24FF 85 72 + sta OamShadowPtrHi ; CPU:$A4FF PRG:24FF 85 72 lda $0568 ; CPU:$A501 PRG:2501 AD 68 05 - jsr Sub_AA2F ; CPU:$A504 PRG:2504 20 2F AA - jsr Sub_A803 ; CPU:$A507 PRG:2507 20 03 A8 - jsr Sub_A81B ; CPU:$A50A PRG:250A 20 1B A8 + jsr Sub_AA2F ; CPU:$A504 PRG:2504 20 2F AA + jsr Sub_A803 ; CPU:$A507 PRG:2507 20 03 A8 + jsr Sub_A81B ; CPU:$A50A PRG:250A 20 1B A8 inc $0568 ; CPU:$A50D PRG:250D EE 68 05 inc $0569 ; CPU:$A510 PRG:2510 EE 69 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop105 -; Global: Branch target inside Label: taken when A513. -; Local: Part of Label. +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop105: - jmp NmiHandler_OnZero3 ; CPU:$A513 PRG:2513 4C A3 A5 +NmiHandler_Loop108: + jmp NmiHandler_OnZero3 ; CPU:$A513 PRG:2513 4C A3 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A516 -; Global: Branch target inside Label: taken when A516. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A516. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A516: - lda Zp88 ; CPU:$A516 PRG:2516 A5 88 + lda PpuCtrlShadow ; CPU:$A516 PRG:2516 A5 88 eor #$02 ; CPU:$A518 PRG:2518 49 02 - sta Zp88 ; CPU:$A51A PRG:251A 85 88 + sta PpuCtrlShadow ; CPU:$A51A PRG:251A 85 88 rts ; CPU:$A51C PRG:251C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A51D -; Global: Branch target inside Label: taken when A51D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A51D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4805,51 +4971,51 @@ Sub_A516: Sub_A51D: lda $0567 ; CPU:$A51D PRG:251D AD 67 05 cmp #$08 ; CPU:$A520 PRG:2520 C9 08 - bne NmiHandler_Loop106 ; CPU:$A522 PRG:2522 D0 06 + bne NmiHandler_Loop109 ; CPU:$A522 PRG:2522 D0 06 lda Zp8F ; CPU:$A524 PRG:2524 A5 8F and #$07 ; CPU:$A526 PRG:2526 29 07 - beq NmiHandler_OnZero3 ; CPU:$A528 PRG:2528 F0 79 + beq NmiHandler_OnZero3 ; CPU:$A528 PRG:2528 F0 79 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop106 -; Global: Branch target inside Label: taken when A52A. -; Local: Part of Label. +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop106: - jsr Sub_A617 ; CPU:$A52A PRG:252A 20 17 A6 +NmiHandler_Loop109: + jsr Sub_A617 ; CPU:$A52A PRG:252A 20 17 A6 lda Zp8F ; CPU:$A52D PRG:252D A5 8F cmp #$F0 ; CPU:$A52F PRG:252F C9 F0 - bcc NmiHandler_Loop107 ; CPU:$A531 PRG:2531 90 08 + bcc NmiHandler_Loop110 ; CPU:$A531 PRG:2531 90 08 clc ; CPU:$A533 PRG:2533 18 adc #$F0 ; CPU:$A534 PRG:2534 69 F0 sta Zp8F ; CPU:$A536 PRG:2536 85 8F - jsr Sub_A516 ; CPU:$A538 PRG:2538 20 16 A5 + jsr Sub_A516 ; CPU:$A538 PRG:2538 20 16 A5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop107 -; Global: Branch target inside Label: taken when A53B. -; Local: Part of Label. +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop107: +NmiHandler_Loop110: lda $0680 ; CPU:$A53B PRG:253B AD 80 06 clc ; CPU:$A53E PRG:253E 18 adc $055D ; CPU:$A53F PRG:253F 6D 5D 05 sta $0680 ; CPU:$A542 PRG:2542 8D 80 06 - beq NmiHandler_Loop108 ; CPU:$A545 PRG:2545 F0 02 - bpl NmiHandler_Loop109 ; CPU:$A547 PRG:2547 10 18 + beq NmiHandler_Loop111 ; CPU:$A545 PRG:2545 F0 02 + bpl NmiHandler_Loop112 ; CPU:$A547 PRG:2547 10 18 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop108 -; Global: Branch target inside Label: taken when A549. -; Local: Part of Label. +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop108: +NmiHandler_Loop111: clc ; CPU:$A549 PRG:2549 18 adc #$30 ; CPU:$A54A PRG:254A 69 30 sta $0680 ; CPU:$A54C PRG:254C 8D 80 06 @@ -4860,45 +5026,45 @@ NmiHandler_Loop108: dey ; CPU:$A557 PRG:2557 88 dey ; CPU:$A558 PRG:2558 88 lda $05BA,y ; CPU:$A559 PRG:2559 B9 BA 05 - beq NmiHandler_Loop109 ; CPU:$A55C PRG:255C F0 03 - jsr Sub_D0EE ; CPU:$A55E PRG:255E 20 EE D0 + beq NmiHandler_Loop112 ; CPU:$A55C PRG:255C F0 03 + jsr Sub_D0EE ; CPU:$A55E PRG:255E 20 EE D0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop109 -; Global: Branch target inside Label: taken when A561. -; Local: Part of Label. +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop109: - jsr Sub_A63F ; CPU:$A561 PRG:2561 20 3F A6 - bcc NmiHandler_OnZero3 ; CPU:$A564 PRG:2564 90 3D +NmiHandler_Loop112: + jsr Sub_A63F ; CPU:$A561 PRG:2561 20 3F A6 + bcc NmiHandler_OnZero3 ; CPU:$A564 PRG:2564 90 3D lda $0560 ; CPU:$A566 PRG:2566 AD 60 05 - sta Zp71 ; CPU:$A569 PRG:2569 85 71 + sta OamShadowPtrLo ; CPU:$A569 PRG:2569 85 71 lda $0561 ; CPU:$A56B PRG:256B AD 61 05 - sta Zp72 ; CPU:$A56E PRG:256E 85 72 + sta OamShadowPtrHi ; CPU:$A56E PRG:256E 85 72 lda $0567 ; CPU:$A570 PRG:2570 AD 67 05 - jsr Sub_A863 ; CPU:$A573 PRG:2573 20 63 A8 - jsr Sub_A779 ; CPU:$A576 PRG:2576 20 79 A7 - jsr Sub_A791 ; CPU:$A579 PRG:2579 20 91 A7 + jsr Sub_A863 ; CPU:$A573 PRG:2573 20 63 A8 + jsr Sub_A779 ; CPU:$A576 PRG:2576 20 79 A7 + jsr Sub_A791 ; CPU:$A579 PRG:2579 20 91 A7 dec $0566 ; CPU:$A57C PRG:257C CE 66 05 dec $0567 ; CPU:$A57F PRG:257F CE 67 05 - jsr Sub_A6CF ; CPU:$A582 PRG:2582 20 CF A6 - bcc NmiHandler_OnZero3 ; CPU:$A585 PRG:2585 90 1C + jsr Sub_A6CF ; CPU:$A582 PRG:2582 20 CF A6 + bcc NmiHandler_OnZero3 ; CPU:$A585 PRG:2585 90 1C lda $0564 ; CPU:$A587 PRG:2587 AD 64 05 - sta Zp71 ; CPU:$A58A PRG:258A 85 71 + sta OamShadowPtrLo ; CPU:$A58A PRG:258A 85 71 lda $0565 ; CPU:$A58C PRG:258C AD 65 05 - sta Zp72 ; CPU:$A58F PRG:258F 85 72 + sta OamShadowPtrHi ; CPU:$A58F PRG:258F 85 72 lda $0569 ; CPU:$A591 PRG:2591 AD 69 05 - jsr Sub_AA2F ; CPU:$A594 PRG:2594 20 2F AA - jsr Sub_A84B ; CPU:$A597 PRG:2597 20 4B A8 - jsr Sub_A833 ; CPU:$A59A PRG:259A 20 33 A8 + jsr Sub_AA2F ; CPU:$A594 PRG:2594 20 2F AA + jsr Sub_A84B ; CPU:$A597 PRG:2597 20 4B A8 + jsr Sub_A833 ; CPU:$A59A PRG:259A 20 33 A8 dec $0569 ; CPU:$A59D PRG:259D CE 69 05 dec $0568 ; CPU:$A5A0 PRG:25A0 CE 68 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero3 -; Global: Branch target inside Label: taken when A5A3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4909,8 +5075,8 @@ NmiHandler_OnZero3: rts ; CPU:$A5A8 PRG:25A8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5A9 -; Global: Branch target inside Label: taken when A5A9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A5A9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4918,67 +5084,67 @@ NmiHandler_OnZero3: Sub_A5A9: lda ZpBE ; CPU:$A5A9 PRG:25A9 A5 BE and #$01 ; CPU:$A5AB PRG:25AB 29 01 - bne NmiHandler_OnZero3 ; CPU:$A5AD PRG:25AD D0 F4 + bne NmiHandler_OnZero3 ; CPU:$A5AD PRG:25AD D0 F4 lda ZpBE ; CPU:$A5AF PRG:25AF A5 BE and #$54 ; CPU:$A5B1 PRG:25B1 29 54 - beq NmiHandler_Loop110 ; CPU:$A5B3 PRG:25B3 F0 0E + beq NmiHandler_Loop113 ; CPU:$A5B3 PRG:25B3 F0 0E and #$14 ; CPU:$A5B5 PRG:25B5 29 14 - beq NmiHandler_OnZero3 ; CPU:$A5B7 PRG:25B7 F0 EA + beq NmiHandler_OnZero3 ; CPU:$A5B7 PRG:25B7 F0 EA ldy $03DE ; CPU:$A5B9 PRG:25B9 AC DE 03 lda $0408,y ; CPU:$A5BC PRG:25BC B9 08 04 cmp #$18 ; CPU:$A5BF PRG:25BF C9 18 - bne NmiHandler_OnZero3 ; CPU:$A5C1 PRG:25C1 D0 E0 + bne NmiHandler_OnZero3 ; CPU:$A5C1 PRG:25C1 D0 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop110 -; Global: Branch target inside Label: taken when A5C3. -; Local: Part of Label. +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop110: - jsr Sub_9A08 ; CPU:$A5C3 PRG:25C3 20 08 9A +NmiHandler_Loop113: + jsr Sub_9A08 ; CPU:$A5C3 PRG:25C3 20 08 9A sec ; CPU:$A5C6 PRG:25C6 38 - lda Zp73 ; CPU:$A5C7 PRG:25C7 A5 73 + lda VramWritePtrLo ; CPU:$A5C7 PRG:25C7 A5 73 sbc $0684 ; CPU:$A5C9 PRG:25C9 ED 84 06 - sta Zp73 ; CPU:$A5CC PRG:25CC 85 73 - lda Zp74 ; CPU:$A5CE PRG:25CE A5 74 + sta VramWritePtrLo ; CPU:$A5CC PRG:25CC 85 73 + lda VramWritePtrHi ; CPU:$A5CE PRG:25CE A5 74 sbc $0685 ; CPU:$A5D0 PRG:25D0 ED 85 06 - bmi NmiHandler_Loop111 ; CPU:$A5D3 PRG:25D3 30 0C - lda Zp73 ; CPU:$A5D5 PRG:25D5 A5 73 - beq NmiHandler_OnZero3 ; CPU:$A5D7 PRG:25D7 F0 CA + bmi NmiHandler_Loop114 ; CPU:$A5D3 PRG:25D3 30 0C + lda VramWritePtrLo ; CPU:$A5D5 PRG:25D5 A5 73 + beq NmiHandler_OnZero3 ; CPU:$A5D7 PRG:25D7 F0 CA cmp #$08 ; CPU:$A5D9 PRG:25D9 C9 08 - bcc NmiHandler_Loop112 ; CPU:$A5DB PRG:25DB 90 0C + bcc NmiHandler_Loop115 ; CPU:$A5DB PRG:25DB 90 0C lda #$08 ; CPU:$A5DD PRG:25DD A9 08 - bne NmiHandler_Loop112 ; CPU:$A5DF PRG:25DF D0 08 + bne NmiHandler_Loop115 ; CPU:$A5DF PRG:25DF D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop111 -; Global: Branch target inside Label: taken when A5E1. -; Local: Part of Label. +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop111: - lda Zp73 ; CPU:$A5E1 PRG:25E1 A5 73 +NmiHandler_Loop114: + lda VramWritePtrLo ; CPU:$A5E1 PRG:25E1 A5 73 cmp #$F8 ; CPU:$A5E3 PRG:25E3 C9 F8 - bcs NmiHandler_Loop112 ; CPU:$A5E5 PRG:25E5 B0 02 + bcs NmiHandler_Loop115 ; CPU:$A5E5 PRG:25E5 B0 02 lda #$F8 ; CPU:$A5E7 PRG:25E7 A9 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop112 -; Global: Branch target inside Label: taken when A5E9. -; Local: Part of Label. +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop112: +NmiHandler_Loop115: sta $055D ; CPU:$A5E9 PRG:25E9 8D 5D 05 - jmp Sub_A477 ; CPU:$A5EC PRG:25EC 4C 77 A4 + jmp Sub_A477 ; CPU:$A5EC PRG:25EC 4C 77 A4 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5EF -; Global: Branch target inside Label: taken when A5EF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A5EF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4986,25 +5152,25 @@ NmiHandler_Loop112: Sub_A5EF: ldy $058F ; CPU:$A5EF PRG:25EF AC 8F 05 cpy #$1F ; CPU:$A5F2 PRG:25F2 C0 1F - beq NmiHandler_OnZero3 ; CPU:$A5F4 PRG:25F4 F0 AD + beq NmiHandler_OnZero3 ; CPU:$A5F4 PRG:25F4 F0 AD lda $BADB,y ; CPU:$A5F6 PRG:25F6 B9 DB BA sta Zp8F ; CPU:$A5F9 PRG:25F9 85 8F - lda Zp88 ; CPU:$A5FB PRG:25FB A5 88 + lda PpuCtrlShadow ; CPU:$A5FB PRG:25FB A5 88 and #$FD ; CPU:$A5FD PRG:25FD 29 FD eor $BB03,y ; CPU:$A5FF PRG:25FF 59 03 BB - sta Zp88 ; CPU:$A602 PRG:2602 85 88 - jsr Sub_9A08 ; CPU:$A604 PRG:2604 20 08 9A - lda Zp73 ; CPU:$A607 PRG:2607 A5 73 + sta PpuCtrlShadow ; CPU:$A602 PRG:2602 85 88 + jsr Sub_9A08 ; CPU:$A604 PRG:2604 20 08 9A + lda VramWritePtrLo ; CPU:$A607 PRG:2607 A5 73 sta $0684 ; CPU:$A609 PRG:2609 8D 84 06 - lda Zp74 ; CPU:$A60C PRG:260C A5 74 + lda VramWritePtrHi ; CPU:$A60C PRG:260C A5 74 sta $0685 ; CPU:$A60E PRG:260E 8D 85 06 lda #$18 ; CPU:$A611 PRG:2611 A9 18 sta $0680 ; CPU:$A613 PRG:2613 8D 80 06 rts ; CPU:$A616 PRG:2616 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A617 -; Global: Branch target inside Label: taken when A617. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A617. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5016,31 +5182,31 @@ Sub_A617: adc $055D ; CPU:$A61D PRG:261D 6D 5D 05 sta Zp8F ; CPU:$A620 PRG:2620 85 8F lda #$00 ; CPU:$A622 PRG:2622 A9 00 - sta Zp70 ; CPU:$A624 PRG:2624 85 70 + sta PlayerSpriteY ; CPU:$A624 PRG:2624 85 70 lda $055D ; CPU:$A626 PRG:2626 AD 5D 05 - bpl NmiHandler_Loop113 ; CPU:$A629 PRG:2629 10 04 + bpl NmiHandler_Loop116 ; CPU:$A629 PRG:2629 10 04 ldy #$FF ; CPU:$A62B PRG:262B A0 FF - sty Zp70 ; CPU:$A62D PRG:262D 84 70 + sty PlayerSpriteY ; CPU:$A62D PRG:262D 84 70 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop113 -; Global: Branch target inside Label: taken when A62F. -; Local: Part of Label. +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop113: +NmiHandler_Loop116: clc ; CPU:$A62F PRG:262F 18 adc $0684 ; CPU:$A630 PRG:2630 6D 84 06 sta $0684 ; CPU:$A633 PRG:2633 8D 84 06 - lda Zp70 ; CPU:$A636 PRG:2636 A5 70 + lda PlayerSpriteY ; CPU:$A636 PRG:2636 A5 70 adc $0685 ; CPU:$A638 PRG:2638 6D 85 06 sta $0685 ; CPU:$A63B PRG:263B 8D 85 06 rts ; CPU:$A63E PRG:263E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A63F -; Global: Branch target inside Label: taken when A63F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A63F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5048,26 +5214,26 @@ NmiHandler_Loop113: Sub_A63F: lda Zp8F ; CPU:$A63F PRG:263F A5 8F and #$08 ; CPU:$A641 PRG:2641 29 08 - sta Zp6F ; CPU:$A643 PRG:2643 85 6F + sta PlayerSpriteX ; CPU:$A643 PRG:2643 85 6F lda $056A ; CPU:$A645 PRG:2645 AD 6A 05 and #$08 ; CPU:$A648 PRG:2648 29 08 - cmp Zp6F ; CPU:$A64A PRG:264A C5 6F - bne NmiHandler_Loop114 ; CPU:$A64C PRG:264C D0 02 + cmp PlayerSpriteX ; CPU:$A64A PRG:264A C5 6F + bne NmiHandler_Loop117 ; CPU:$A64C PRG:264C D0 02 clc ; CPU:$A64E PRG:264E 18 rts ; CPU:$A64F PRG:264F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop114 -; Global: Branch target inside Label: taken when A650. -; Local: Part of Label. +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop114: +NmiHandler_Loop117: lda #$00 ; CPU:$A650 PRG:2650 A9 00 sta $06E5 ; CPU:$A652 PRG:2652 8D E5 06 lda $055D ; CPU:$A655 PRG:2655 AD 5D 05 - bpl NmiHandler_Loop117 ; CPU:$A658 PRG:2658 10 36 + bpl NmiHandler_Loop120 ; CPU:$A658 PRG:2658 10 36 sta $06E5 ; CPU:$A65A PRG:265A 8D E5 06 lda $04D8 ; CPU:$A65D PRG:265D AD D8 04 sec ; CPU:$A660 PRG:2660 38 @@ -5077,28 +5243,28 @@ NmiHandler_Loop114: sbc #$00 ; CPU:$A669 PRG:2669 E9 00 sta $04D9 ; CPU:$A66B PRG:266B 8D D9 04 cmp #$1F ; CPU:$A66E PRG:266E C9 1F - beq NmiHandler_Loop115 ; CPU:$A670 PRG:2670 F0 06 + beq NmiHandler_Loop118 ; CPU:$A670 PRG:2670 F0 06 cmp #$27 ; CPU:$A672 PRG:2672 C9 27 - beq NmiHandler_Loop116 ; CPU:$A674 PRG:2674 F0 0E + beq NmiHandler_Loop119 ; CPU:$A674 PRG:2674 F0 0E sec ; CPU:$A676 PRG:2676 38 rts ; CPU:$A677 PRG:2677 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop115 -; Global: Branch target inside Label: taken when A678. -; Local: Part of Label. +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop115: +NmiHandler_Loop118: lda #$A0 ; CPU:$A678 PRG:2678 A9 A0 sta $04D8 ; CPU:$A67A PRG:267A 8D D8 04 lda #$2B ; CPU:$A67D PRG:267D A9 2B sta $04D9 ; CPU:$A67F PRG:267F 8D D9 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero24 -; Global: Branch target inside Label: taken when A682. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5107,14 +5273,14 @@ NmiHandler_OnNonzero24: sec ; CPU:$A682 PRG:2682 38 rts ; CPU:$A683 PRG:2683 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop116 -; Global: Branch target inside Label: taken when A684. -; Local: Part of Label. +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop116: +NmiHandler_Loop119: lda #$A0 ; CPU:$A684 PRG:2684 A9 A0 sta $04D8 ; CPU:$A686 PRG:2686 8D D8 04 lda #$23 ; CPU:$A689 PRG:2689 A9 23 @@ -5122,14 +5288,14 @@ NmiHandler_Loop116: sec ; CPU:$A68E PRG:268E 38 rts ; CPU:$A68F PRG:268F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop117 -; Global: Branch target inside Label: taken when A690. -; Local: Part of Label. +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop117: +NmiHandler_Loop120: lda $04D8 ; CPU:$A690 PRG:2690 AD D8 04 clc ; CPU:$A693 PRG:2693 18 adc #$20 ; CPU:$A694 PRG:2694 69 20 @@ -5138,10 +5304,10 @@ NmiHandler_Loop117: adc #$00 ; CPU:$A69C PRG:269C 69 00 sta $04D9 ; CPU:$A69E PRG:269E 8D D9 04 cmp #$23 ; CPU:$A6A1 PRG:26A1 C9 23 - bne NmiHandler_Loop118 ; CPU:$A6A3 PRG:26A3 D0 13 + bne NmiHandler_Loop121 ; CPU:$A6A3 PRG:26A3 D0 13 lda $04D8 ; CPU:$A6A5 PRG:26A5 AD D8 04 cmp #$C0 ; CPU:$A6A8 PRG:26A8 C9 C0 - bne NmiHandler_OnNonzero24 ; CPU:$A6AA PRG:26AA D0 D6 + bne NmiHandler_OnNonzero24 ; CPU:$A6AA PRG:26AA D0 D6 lda #$00 ; CPU:$A6AC PRG:26AC A9 00 sta $04D8 ; CPU:$A6AE PRG:26AE 8D D8 04 lda #$28 ; CPU:$A6B1 PRG:26B1 A9 28 @@ -5149,27 +5315,27 @@ NmiHandler_Loop117: sec ; CPU:$A6B6 PRG:26B6 38 rts ; CPU:$A6B7 PRG:26B7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop118 -; Global: Branch target inside Label: taken when A6B8. -; Local: Part of Label. +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop118: +NmiHandler_Loop121: cmp #$2B ; CPU:$A6B8 PRG:26B8 C9 2B - bne NmiHandler_OnNonzero24 ; CPU:$A6BA PRG:26BA D0 C6 + bne NmiHandler_OnNonzero24 ; CPU:$A6BA PRG:26BA D0 C6 lda $04D8 ; CPU:$A6BC PRG:26BC AD D8 04 cmp #$C0 ; CPU:$A6BF PRG:26BF C9 C0 - bne NmiHandler_OnNonzero24 ; CPU:$A6C1 PRG:26C1 D0 BF + bne NmiHandler_OnNonzero24 ; CPU:$A6C1 PRG:26C1 D0 BF lda #$00 ; CPU:$A6C3 PRG:26C3 A9 00 sta $04D8 ; CPU:$A6C5 PRG:26C5 8D D8 04 lda #$20 ; CPU:$A6C8 PRG:26C8 A9 20 sta $04D9 ; CPU:$A6CA PRG:26CA 8D D9 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero25 -; Global: Branch target inside Label: taken when A6CD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5179,8 +5345,8 @@ NmiHandler_OnNonzero25: rts ; CPU:$A6CE PRG:26CE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6CF -; Global: Branch target inside Label: taken when A6CF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A6CF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5188,49 +5354,49 @@ NmiHandler_OnNonzero25: Sub_A6CF: lda Zp8F ; CPU:$A6CF PRG:26CF A5 8F and #$20 ; CPU:$A6D1 PRG:26D1 29 20 - sta Zp6F ; CPU:$A6D3 PRG:26D3 85 6F + sta PlayerSpriteX ; CPU:$A6D3 PRG:26D3 85 6F lda $056A ; CPU:$A6D5 PRG:26D5 AD 6A 05 and #$20 ; CPU:$A6D8 PRG:26D8 29 20 - cmp Zp6F ; CPU:$A6DA PRG:26DA C5 6F - bne NmiHandler_OnNonzero25 ; CPU:$A6DC PRG:26DC D0 EF + cmp PlayerSpriteX ; CPU:$A6DA PRG:26DA C5 6F + bne NmiHandler_OnNonzero25 ; CPU:$A6DC PRG:26DC D0 EF lda Zp8F ; CPU:$A6DE PRG:26DE A5 8F and #$80 ; CPU:$A6E0 PRG:26E0 29 80 - sta Zp6F ; CPU:$A6E2 PRG:26E2 85 6F + sta PlayerSpriteX ; CPU:$A6E2 PRG:26E2 85 6F lda $056A ; CPU:$A6E4 PRG:26E4 AD 6A 05 and #$80 ; CPU:$A6E7 PRG:26E7 29 80 - cmp Zp6F ; CPU:$A6E9 PRG:26E9 C5 6F - bne NmiHandler_OnNonzero25 ; CPU:$A6EB PRG:26EB D0 E0 + cmp PlayerSpriteX ; CPU:$A6E9 PRG:26E9 C5 6F + bne NmiHandler_OnNonzero25 ; CPU:$A6EB PRG:26EB D0 E0 clc ; CPU:$A6ED PRG:26ED 18 rts ; CPU:$A6EE PRG:26EE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6EF -; Global: Branch target inside Label: taken when A6EF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A6EF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A6EF: clc ; CPU:$A6EF PRG:26EF 18 - lda Zp73 ; CPU:$A6F0 PRG:26F0 A5 73 + lda VramWritePtrLo ; CPU:$A6F0 PRG:26F0 A5 73 adc #$20 ; CPU:$A6F2 PRG:26F2 69 20 - sta Zp73 ; CPU:$A6F4 PRG:26F4 85 73 - lda Zp74 ; CPU:$A6F6 PRG:26F6 A5 74 + sta VramWritePtrLo ; CPU:$A6F4 PRG:26F4 85 73 + lda VramWritePtrHi ; CPU:$A6F6 PRG:26F6 A5 74 adc #$00 ; CPU:$A6F8 PRG:26F8 69 00 - sta Zp74 ; CPU:$A6FA PRG:26FA 85 74 + sta VramWritePtrHi ; CPU:$A6FA PRG:26FA 85 74 cmp #$23 ; CPU:$A6FC PRG:26FC C9 23 - bne NmiHandler_Loop119 ; CPU:$A6FE PRG:26FE D0 0F - lda Zp73 ; CPU:$A700 PRG:2700 A5 73 + bne NmiHandler_Loop122 ; CPU:$A6FE PRG:26FE D0 0F + lda VramWritePtrLo ; CPU:$A700 PRG:2700 A5 73 cmp #$C0 ; CPU:$A702 PRG:2702 C9 C0 - bcc NmiHandler_OnNonzero26 ; CPU:$A704 PRG:2704 90 08 + bcc NmiHandler_OnNonzero26 ; CPU:$A704 PRG:2704 90 08 lda #$00 ; CPU:$A706 PRG:2706 A9 00 - sta Zp73 ; CPU:$A708 PRG:2708 85 73 + sta VramWritePtrLo ; CPU:$A708 PRG:2708 85 73 lda #$28 ; CPU:$A70A PRG:270A A9 28 - sta Zp74 ; CPU:$A70C PRG:270C 85 74 + sta VramWritePtrHi ; CPU:$A70C PRG:270C 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero26 -; Global: Branch target inside Label: taken when A70E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5238,50 +5404,50 @@ Sub_A6EF: NmiHandler_OnNonzero26: rts ; CPU:$A70E PRG:270E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop119 -; Global: Branch target inside Label: taken when A70F. -; Local: Part of Label. +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop119: +NmiHandler_Loop122: cmp #$2B ; CPU:$A70F PRG:270F C9 2B - bne NmiHandler_OnNonzero26 ; CPU:$A711 PRG:2711 D0 FB - lda Zp73 ; CPU:$A713 PRG:2713 A5 73 + bne NmiHandler_OnNonzero26 ; CPU:$A711 PRG:2711 D0 FB + lda VramWritePtrLo ; CPU:$A713 PRG:2713 A5 73 cmp #$C0 ; CPU:$A715 PRG:2715 C9 C0 - bcc NmiHandler_OnNonzero26 ; CPU:$A717 PRG:2717 90 F5 + bcc NmiHandler_OnNonzero26 ; CPU:$A717 PRG:2717 90 F5 lda #$00 ; CPU:$A719 PRG:2719 A9 00 - sta Zp73 ; CPU:$A71B PRG:271B 85 73 + sta VramWritePtrLo ; CPU:$A71B PRG:271B 85 73 lda #$20 ; CPU:$A71D PRG:271D A9 20 - sta Zp74 ; CPU:$A71F PRG:271F 85 74 + sta VramWritePtrHi ; CPU:$A71F PRG:271F 85 74 rts ; CPU:$A721 PRG:2721 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A722 -; Global: Branch target inside Label: taken when A722. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A722. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A722: sec ; CPU:$A722 PRG:2722 38 - lda Zp73 ; CPU:$A723 PRG:2723 A5 73 + lda VramWritePtrLo ; CPU:$A723 PRG:2723 A5 73 sbc #$20 ; CPU:$A725 PRG:2725 E9 20 - sta Zp73 ; CPU:$A727 PRG:2727 85 73 - lda Zp74 ; CPU:$A729 PRG:2729 A5 74 + sta VramWritePtrLo ; CPU:$A727 PRG:2727 85 73 + lda VramWritePtrHi ; CPU:$A729 PRG:2729 A5 74 sbc #$00 ; CPU:$A72B PRG:272B E9 00 - sta Zp74 ; CPU:$A72D PRG:272D 85 74 + sta VramWritePtrHi ; CPU:$A72D PRG:272D 85 74 cmp #$1F ; CPU:$A72F PRG:272F C9 1F - bne NmiHandler_Loop120 ; CPU:$A731 PRG:2731 D0 09 + bne NmiHandler_Loop123 ; CPU:$A731 PRG:2731 D0 09 lda #$A0 ; CPU:$A733 PRG:2733 A9 A0 - sta Zp73 ; CPU:$A735 PRG:2735 85 73 + sta VramWritePtrLo ; CPU:$A735 PRG:2735 85 73 lda #$2B ; CPU:$A737 PRG:2737 A9 2B - sta Zp74 ; CPU:$A739 PRG:2739 85 74 + sta VramWritePtrHi ; CPU:$A739 PRG:2739 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero27 -; Global: Branch target inside Label: taken when A73B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5289,123 +5455,123 @@ Sub_A722: NmiHandler_OnNonzero27: rts ; CPU:$A73B PRG:273B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop120 -; Global: Branch target inside Label: taken when A73C. -; Local: Part of Label. +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop120: +NmiHandler_Loop123: cmp #$27 ; CPU:$A73C PRG:273C C9 27 - bne NmiHandler_OnNonzero27 ; CPU:$A73E PRG:273E D0 FB + bne NmiHandler_OnNonzero27 ; CPU:$A73E PRG:273E D0 FB lda #$A0 ; CPU:$A740 PRG:2740 A9 A0 - sta Zp73 ; CPU:$A742 PRG:2742 85 73 + sta VramWritePtrLo ; CPU:$A742 PRG:2742 85 73 lda #$23 ; CPU:$A744 PRG:2744 A9 23 - sta Zp74 ; CPU:$A746 PRG:2746 85 74 + sta VramWritePtrHi ; CPU:$A746 PRG:2746 85 74 rts ; CPU:$A748 PRG:2748 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A749 -; Global: Branch target inside Label: taken when A749. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A749. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A749: lda $055E ; CPU:$A749 PRG:2749 AD 5E 05 - sta Zp73 ; CPU:$A74C PRG:274C 85 73 + sta VramWritePtrLo ; CPU:$A74C PRG:274C 85 73 lda $055F ; CPU:$A74E PRG:274E AD 5F 05 - sta Zp74 ; CPU:$A751 PRG:2751 85 74 - jsr Sub_A6EF ; CPU:$A753 PRG:2753 20 EF A6 - lda Zp73 ; CPU:$A756 PRG:2756 A5 73 + sta VramWritePtrHi ; CPU:$A751 PRG:2751 85 74 + jsr Sub_A6EF ; CPU:$A753 PRG:2753 20 EF A6 + lda VramWritePtrLo ; CPU:$A756 PRG:2756 A5 73 sta $055E ; CPU:$A758 PRG:2758 8D 5E 05 - lda Zp74 ; CPU:$A75B PRG:275B A5 74 + lda VramWritePtrHi ; CPU:$A75B PRG:275B A5 74 sta $055F ; CPU:$A75D PRG:275D 8D 5F 05 rts ; CPU:$A760 PRG:2760 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A761 -; Global: Branch target inside Label: taken when A761. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A761. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A761: lda $0560 ; CPU:$A761 PRG:2761 AD 60 05 - sta Zp73 ; CPU:$A764 PRG:2764 85 73 + sta VramWritePtrLo ; CPU:$A764 PRG:2764 85 73 lda $0561 ; CPU:$A766 PRG:2766 AD 61 05 - sta Zp74 ; CPU:$A769 PRG:2769 85 74 - jsr Sub_A6EF ; CPU:$A76B PRG:276B 20 EF A6 - lda Zp73 ; CPU:$A76E PRG:276E A5 73 + sta VramWritePtrHi ; CPU:$A769 PRG:2769 85 74 + jsr Sub_A6EF ; CPU:$A76B PRG:276B 20 EF A6 + lda VramWritePtrLo ; CPU:$A76E PRG:276E A5 73 sta $0560 ; CPU:$A770 PRG:2770 8D 60 05 - lda Zp74 ; CPU:$A773 PRG:2773 A5 74 + lda VramWritePtrHi ; CPU:$A773 PRG:2773 A5 74 sta $0561 ; CPU:$A775 PRG:2775 8D 61 05 rts ; CPU:$A778 PRG:2778 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A779 -; Global: Branch target inside Label: taken when A779. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A779. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A779: lda $055E ; CPU:$A779 PRG:2779 AD 5E 05 - sta Zp73 ; CPU:$A77C PRG:277C 85 73 + sta VramWritePtrLo ; CPU:$A77C PRG:277C 85 73 lda $055F ; CPU:$A77E PRG:277E AD 5F 05 - sta Zp74 ; CPU:$A781 PRG:2781 85 74 - jsr Sub_A722 ; CPU:$A783 PRG:2783 20 22 A7 - lda Zp73 ; CPU:$A786 PRG:2786 A5 73 + sta VramWritePtrHi ; CPU:$A781 PRG:2781 85 74 + jsr Sub_A722 ; CPU:$A783 PRG:2783 20 22 A7 + lda VramWritePtrLo ; CPU:$A786 PRG:2786 A5 73 sta $055E ; CPU:$A788 PRG:2788 8D 5E 05 - lda Zp74 ; CPU:$A78B PRG:278B A5 74 + lda VramWritePtrHi ; CPU:$A78B PRG:278B A5 74 sta $055F ; CPU:$A78D PRG:278D 8D 5F 05 rts ; CPU:$A790 PRG:2790 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A791 -; Global: Branch target inside Label: taken when A791. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A791. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A791: lda $0560 ; CPU:$A791 PRG:2791 AD 60 05 - sta Zp73 ; CPU:$A794 PRG:2794 85 73 + sta VramWritePtrLo ; CPU:$A794 PRG:2794 85 73 lda $0561 ; CPU:$A796 PRG:2796 AD 61 05 - sta Zp74 ; CPU:$A799 PRG:2799 85 74 - jsr Sub_A722 ; CPU:$A79B PRG:279B 20 22 A7 - lda Zp73 ; CPU:$A79E PRG:279E A5 73 + sta VramWritePtrHi ; CPU:$A799 PRG:2799 85 74 + jsr Sub_A722 ; CPU:$A79B PRG:279B 20 22 A7 + lda VramWritePtrLo ; CPU:$A79E PRG:279E A5 73 sta $0560 ; CPU:$A7A0 PRG:27A0 8D 60 05 - lda Zp74 ; CPU:$A7A3 PRG:27A3 A5 74 + lda VramWritePtrHi ; CPU:$A7A3 PRG:27A3 A5 74 sta $0561 ; CPU:$A7A5 PRG:27A5 8D 61 05 rts ; CPU:$A7A8 PRG:27A8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A7A9 -; Global: Branch target inside Label: taken when A7A9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A7A9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A7A9: clc ; CPU:$A7A9 PRG:27A9 18 - lda Zp73 ; CPU:$A7AA PRG:27AA A5 73 + lda VramWritePtrLo ; CPU:$A7AA PRG:27AA A5 73 adc #$08 ; CPU:$A7AC PRG:27AC 69 08 - sta Zp73 ; CPU:$A7AE PRG:27AE 85 73 - lda Zp74 ; CPU:$A7B0 PRG:27B0 A5 74 + sta VramWritePtrLo ; CPU:$A7AE PRG:27AE 85 73 + lda VramWritePtrHi ; CPU:$A7B0 PRG:27B0 A5 74 adc #$00 ; CPU:$A7B2 PRG:27B2 69 00 - sta Zp74 ; CPU:$A7B4 PRG:27B4 85 74 + sta VramWritePtrHi ; CPU:$A7B4 PRG:27B4 85 74 cmp #$24 ; CPU:$A7B6 PRG:27B6 C9 24 - bne NmiHandler_Loop121 ; CPU:$A7B8 PRG:27B8 D0 09 + bne NmiHandler_Loop124 ; CPU:$A7B8 PRG:27B8 D0 09 lda #$C0 ; CPU:$A7BA PRG:27BA A9 C0 - sta Zp73 ; CPU:$A7BC PRG:27BC 85 73 + sta VramWritePtrLo ; CPU:$A7BC PRG:27BC 85 73 lda #$2B ; CPU:$A7BE PRG:27BE A9 2B - sta Zp74 ; CPU:$A7C0 PRG:27C0 85 74 + sta VramWritePtrHi ; CPU:$A7C0 PRG:27C0 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero28 -; Global: Branch target inside Label: taken when A7C2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5413,50 +5579,50 @@ Sub_A7A9: NmiHandler_OnNonzero28: rts ; CPU:$A7C2 PRG:27C2 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop121 -; Global: Branch target inside Label: taken when A7C3. -; Local: Part of Label. +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop121: +NmiHandler_Loop124: cmp #$2C ; CPU:$A7C3 PRG:27C3 C9 2C - bne NmiHandler_OnNonzero28 ; CPU:$A7C5 PRG:27C5 D0 FB + bne NmiHandler_OnNonzero28 ; CPU:$A7C5 PRG:27C5 D0 FB lda #$C0 ; CPU:$A7C7 PRG:27C7 A9 C0 - sta Zp73 ; CPU:$A7C9 PRG:27C9 85 73 + sta VramWritePtrLo ; CPU:$A7C9 PRG:27C9 85 73 lda #$23 ; CPU:$A7CB PRG:27CB A9 23 - sta Zp74 ; CPU:$A7CD PRG:27CD 85 74 + sta VramWritePtrHi ; CPU:$A7CD PRG:27CD 85 74 rts ; CPU:$A7CF PRG:27CF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A7D0 -; Global: Branch target inside Label: taken when A7D0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A7D0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A7D0: sec ; CPU:$A7D0 PRG:27D0 38 - lda Zp73 ; CPU:$A7D1 PRG:27D1 A5 73 + lda VramWritePtrLo ; CPU:$A7D1 PRG:27D1 A5 73 sbc #$08 ; CPU:$A7D3 PRG:27D3 E9 08 - sta Zp73 ; CPU:$A7D5 PRG:27D5 85 73 - lda Zp74 ; CPU:$A7D7 PRG:27D7 A5 74 + sta VramWritePtrLo ; CPU:$A7D5 PRG:27D5 85 73 + lda VramWritePtrHi ; CPU:$A7D7 PRG:27D7 A5 74 sbc #$00 ; CPU:$A7D9 PRG:27D9 E9 00 - sta Zp74 ; CPU:$A7DB PRG:27DB 85 74 + sta VramWritePtrHi ; CPU:$A7DB PRG:27DB 85 74 cmp #$23 ; CPU:$A7DD PRG:27DD C9 23 - bne NmiHandler_Loop122 ; CPU:$A7DF PRG:27DF D0 0F - lda Zp73 ; CPU:$A7E1 PRG:27E1 A5 73 + bne NmiHandler_Loop125 ; CPU:$A7DF PRG:27DF D0 0F + lda VramWritePtrLo ; CPU:$A7E1 PRG:27E1 A5 73 cmp #$B8 ; CPU:$A7E3 PRG:27E3 C9 B8 - bne NmiHandler_OnNonzero29 ; CPU:$A7E5 PRG:27E5 D0 08 + bne NmiHandler_OnNonzero29 ; CPU:$A7E5 PRG:27E5 D0 08 lda #$F8 ; CPU:$A7E7 PRG:27E7 A9 F8 - sta Zp73 ; CPU:$A7E9 PRG:27E9 85 73 + sta VramWritePtrLo ; CPU:$A7E9 PRG:27E9 85 73 lda #$2B ; CPU:$A7EB PRG:27EB A9 2B - sta Zp74 ; CPU:$A7ED PRG:27ED 85 74 + sta VramWritePtrHi ; CPU:$A7ED PRG:27ED 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero29 -; Global: Branch target inside Label: taken when A7EF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5464,104 +5630,104 @@ Sub_A7D0: NmiHandler_OnNonzero29: rts ; CPU:$A7EF PRG:27EF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop122 -; Global: Branch target inside Label: taken when A7F0. -; Local: Part of Label. +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop122: +NmiHandler_Loop125: cmp #$2B ; CPU:$A7F0 PRG:27F0 C9 2B - bne NmiHandler_OnNonzero29 ; CPU:$A7F2 PRG:27F2 D0 FB - lda Zp73 ; CPU:$A7F4 PRG:27F4 A5 73 + bne NmiHandler_OnNonzero29 ; CPU:$A7F2 PRG:27F2 D0 FB + lda VramWritePtrLo ; CPU:$A7F4 PRG:27F4 A5 73 cmp #$B8 ; CPU:$A7F6 PRG:27F6 C9 B8 - bne NmiHandler_OnNonzero29 ; CPU:$A7F8 PRG:27F8 D0 F5 + bne NmiHandler_OnNonzero29 ; CPU:$A7F8 PRG:27F8 D0 F5 lda #$F8 ; CPU:$A7FA PRG:27FA A9 F8 - sta Zp73 ; CPU:$A7FC PRG:27FC 85 73 + sta VramWritePtrLo ; CPU:$A7FC PRG:27FC 85 73 lda #$23 ; CPU:$A7FE PRG:27FE A9 23 - sta Zp74 ; CPU:$A800 PRG:2800 85 74 + sta VramWritePtrHi ; CPU:$A800 PRG:2800 85 74 rts ; CPU:$A802 PRG:2802 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A803 -; Global: Branch target inside Label: taken when A803. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A803. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A803: lda $0562 ; CPU:$A803 PRG:2803 AD 62 05 - sta Zp73 ; CPU:$A806 PRG:2806 85 73 + sta VramWritePtrLo ; CPU:$A806 PRG:2806 85 73 lda $0563 ; CPU:$A808 PRG:2808 AD 63 05 - sta Zp74 ; CPU:$A80B PRG:280B 85 74 - jsr Sub_A7A9 ; CPU:$A80D PRG:280D 20 A9 A7 - lda Zp73 ; CPU:$A810 PRG:2810 A5 73 + sta VramWritePtrHi ; CPU:$A80B PRG:280B 85 74 + jsr Sub_A7A9 ; CPU:$A80D PRG:280D 20 A9 A7 + lda VramWritePtrLo ; CPU:$A810 PRG:2810 A5 73 sta $0562 ; CPU:$A812 PRG:2812 8D 62 05 - lda Zp74 ; CPU:$A815 PRG:2815 A5 74 + lda VramWritePtrHi ; CPU:$A815 PRG:2815 A5 74 sta $0563 ; CPU:$A817 PRG:2817 8D 63 05 rts ; CPU:$A81A PRG:281A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A81B -; Global: Branch target inside Label: taken when A81B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A81B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A81B: lda $0564 ; CPU:$A81B PRG:281B AD 64 05 - sta Zp73 ; CPU:$A81E PRG:281E 85 73 + sta VramWritePtrLo ; CPU:$A81E PRG:281E 85 73 lda $0565 ; CPU:$A820 PRG:2820 AD 65 05 - sta Zp74 ; CPU:$A823 PRG:2823 85 74 - jsr Sub_A7A9 ; CPU:$A825 PRG:2825 20 A9 A7 - lda Zp73 ; CPU:$A828 PRG:2828 A5 73 + sta VramWritePtrHi ; CPU:$A823 PRG:2823 85 74 + jsr Sub_A7A9 ; CPU:$A825 PRG:2825 20 A9 A7 + lda VramWritePtrLo ; CPU:$A828 PRG:2828 A5 73 sta $0564 ; CPU:$A82A PRG:282A 8D 64 05 - lda Zp74 ; CPU:$A82D PRG:282D A5 74 + lda VramWritePtrHi ; CPU:$A82D PRG:282D A5 74 sta $0565 ; CPU:$A82F PRG:282F 8D 65 05 rts ; CPU:$A832 PRG:2832 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A833 -; Global: Branch target inside Label: taken when A833. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A833. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A833: lda $0562 ; CPU:$A833 PRG:2833 AD 62 05 - sta Zp73 ; CPU:$A836 PRG:2836 85 73 + sta VramWritePtrLo ; CPU:$A836 PRG:2836 85 73 lda $0563 ; CPU:$A838 PRG:2838 AD 63 05 - sta Zp74 ; CPU:$A83B PRG:283B 85 74 - jsr Sub_A7D0 ; CPU:$A83D PRG:283D 20 D0 A7 - lda Zp73 ; CPU:$A840 PRG:2840 A5 73 + sta VramWritePtrHi ; CPU:$A83B PRG:283B 85 74 + jsr Sub_A7D0 ; CPU:$A83D PRG:283D 20 D0 A7 + lda VramWritePtrLo ; CPU:$A840 PRG:2840 A5 73 sta $0562 ; CPU:$A842 PRG:2842 8D 62 05 - lda Zp74 ; CPU:$A845 PRG:2845 A5 74 + lda VramWritePtrHi ; CPU:$A845 PRG:2845 A5 74 sta $0563 ; CPU:$A847 PRG:2847 8D 63 05 rts ; CPU:$A84A PRG:284A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A84B -; Global: Branch target inside Label: taken when A84B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A84B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A84B: lda $0564 ; CPU:$A84B PRG:284B AD 64 05 - sta Zp73 ; CPU:$A84E PRG:284E 85 73 + sta VramWritePtrLo ; CPU:$A84E PRG:284E 85 73 lda $0565 ; CPU:$A850 PRG:2850 AD 65 05 - sta Zp74 ; CPU:$A853 PRG:2853 85 74 - jsr Sub_A7D0 ; CPU:$A855 PRG:2855 20 D0 A7 - lda Zp73 ; CPU:$A858 PRG:2858 A5 73 + sta VramWritePtrHi ; CPU:$A853 PRG:2853 85 74 + jsr Sub_A7D0 ; CPU:$A855 PRG:2855 20 D0 A7 + lda VramWritePtrLo ; CPU:$A858 PRG:2858 A5 73 sta $0564 ; CPU:$A85A PRG:285A 8D 64 05 - lda Zp74 ; CPU:$A85D PRG:285D A5 74 + lda VramWritePtrHi ; CPU:$A85D PRG:285D A5 74 sta $0565 ; CPU:$A85F PRG:285F 8D 65 05 rts ; CPU:$A862 PRG:2862 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A863 -; Global: Branch target inside Label: taken when A863. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A863. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5570,37 +5736,37 @@ Sub_A863: ldy #$00 ; CPU:$A863 PRG:2863 A0 00 clc ; CPU:$A865 PRG:2865 18 adc #$9B ; CPU:$A866 PRG:2866 69 9B - sta Zp73 ; CPU:$A868 PRG:2868 85 73 + sta VramWritePtrLo ; CPU:$A868 PRG:2868 85 73 lda #$AA ; CPU:$A86A PRG:286A A9 AA adc #$00 ; CPU:$A86C PRG:286C 69 00 - sta Zp74 ; CPU:$A86E PRG:286E 85 74 - lda (Zp73),y ; CPU:$A870 PRG:2870 B1 73 - sta Zp74 ; CPU:$A872 PRG:2872 85 74 + sta VramWritePtrHi ; CPU:$A86E PRG:286E 85 74 + lda (VramWritePtrLo),y ; CPU:$A870 PRG:2870 B1 73 + sta VramWritePtrHi ; CPU:$A872 PRG:2872 85 74 lda #$00 ; CPU:$A874 PRG:2874 A9 00 - sta Zp73 ; CPU:$A876 PRG:2876 85 73 - lsr Zp74 ; CPU:$A878 PRG:2878 46 74 - ror Zp73 ; CPU:$A87A PRG:287A 66 73 - lsr Zp74 ; CPU:$A87C PRG:287C 46 74 - ror Zp73 ; CPU:$A87E PRG:287E 66 73 - lsr Zp74 ; CPU:$A880 PRG:2880 46 74 - ror Zp73 ; CPU:$A882 PRG:2882 66 73 - lda Zp73 ; CPU:$A884 PRG:2884 A5 73 + sta VramWritePtrLo ; CPU:$A876 PRG:2876 85 73 + lsr VramWritePtrHi ; CPU:$A878 PRG:2878 46 74 + ror VramWritePtrLo ; CPU:$A87A PRG:287A 66 73 + lsr VramWritePtrHi ; CPU:$A87C PRG:287C 46 74 + ror VramWritePtrLo ; CPU:$A87E PRG:287E 66 73 + lsr VramWritePtrHi ; CPU:$A880 PRG:2880 46 74 + ror VramWritePtrLo ; CPU:$A882 PRG:2882 66 73 + lda VramWritePtrLo ; CPU:$A884 PRG:2884 A5 73 adc #$8B ; CPU:$A886 PRG:2886 69 8B - sta Zp73 ; CPU:$A888 PRG:2888 85 73 - lda Zp74 ; CPU:$A88A PRG:288A A5 74 + sta VramWritePtrLo ; CPU:$A888 PRG:2888 85 73 + lda VramWritePtrHi ; CPU:$A88A PRG:288A A5 74 adc #$AB ; CPU:$A88C PRG:288C 69 AB - sta Zp74 ; CPU:$A88E PRG:288E 85 74 + sta VramWritePtrHi ; CPU:$A88E PRG:288E 85 74 lda #$01 ; CPU:$A890 PRG:2890 A9 01 - sta Zp6F ; CPU:$A892 PRG:2892 85 6F + sta PlayerSpriteX ; CPU:$A892 PRG:2892 85 6F lda #$20 ; CPU:$A894 PRG:2894 A9 20 sta $0675 ; CPU:$A896 PRG:2896 8D 75 06 - lda Zp73 ; CPU:$A899 PRG:2899 A5 73 + lda VramWritePtrLo ; CPU:$A899 PRG:2899 A5 73 sta $0676 ; CPU:$A89B PRG:289B 8D 76 06 - lda Zp74 ; CPU:$A89E PRG:289E A5 74 + lda VramWritePtrHi ; CPU:$A89E PRG:289E A5 74 sta $0677 ; CPU:$A8A0 PRG:28A0 8D 77 06 - lda Zp72 ; CPU:$A8A3 PRG:28A3 A5 72 + lda OamShadowPtrHi ; CPU:$A8A3 PRG:28A3 A5 72 sta $0678 ; CPU:$A8A5 PRG:28A5 8D 78 06 - lda Zp71 ; CPU:$A8A8 PRG:28A8 A5 71 + lda OamShadowPtrLo ; CPU:$A8A8 PRG:28A8 A5 71 sta $0679 ; CPU:$A8AA PRG:28AA 8D 79 06 lda #$00 ; CPU:$A8AD PRG:28AD A9 00 sta $067A ; CPU:$A8AF PRG:28AF 8D 7A 06 @@ -5609,8 +5775,8 @@ Sub_A863: rts ; CPU:$A8B7 PRG:28B7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A8B8 -; Global: Branch target inside Label: taken when A8B8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A8B8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5619,54 +5785,54 @@ Sub_A8B8: ldy #$00 ; CPU:$A8B8 PRG:28B8 A0 00 clc ; CPU:$A8BA PRG:28BA 18 adc #$9B ; CPU:$A8BB PRG:28BB 69 9B - sta Zp73 ; CPU:$A8BD PRG:28BD 85 73 + sta VramWritePtrLo ; CPU:$A8BD PRG:28BD 85 73 lda #$AA ; CPU:$A8BF PRG:28BF A9 AA adc #$00 ; CPU:$A8C1 PRG:28C1 69 00 - sta Zp74 ; CPU:$A8C3 PRG:28C3 85 74 - lda (Zp73),y ; CPU:$A8C5 PRG:28C5 B1 73 - sta Zp74 ; CPU:$A8C7 PRG:28C7 85 74 + sta VramWritePtrHi ; CPU:$A8C3 PRG:28C3 85 74 + lda (VramWritePtrLo),y ; CPU:$A8C5 PRG:28C5 B1 73 + sta VramWritePtrHi ; CPU:$A8C7 PRG:28C7 85 74 lda #$00 ; CPU:$A8C9 PRG:28C9 A9 00 - sta Zp73 ; CPU:$A8CB PRG:28CB 85 73 - lsr Zp74 ; CPU:$A8CD PRG:28CD 46 74 - ror Zp73 ; CPU:$A8CF PRG:28CF 66 73 - lsr Zp74 ; CPU:$A8D1 PRG:28D1 46 74 - ror Zp73 ; CPU:$A8D3 PRG:28D3 66 73 - lsr Zp74 ; CPU:$A8D5 PRG:28D5 46 74 - ror Zp73 ; CPU:$A8D7 PRG:28D7 66 73 - lda Zp73 ; CPU:$A8D9 PRG:28D9 A5 73 + sta VramWritePtrLo ; CPU:$A8CB PRG:28CB 85 73 + lsr VramWritePtrHi ; CPU:$A8CD PRG:28CD 46 74 + ror VramWritePtrLo ; CPU:$A8CF PRG:28CF 66 73 + lsr VramWritePtrHi ; CPU:$A8D1 PRG:28D1 46 74 + ror VramWritePtrLo ; CPU:$A8D3 PRG:28D3 66 73 + lsr VramWritePtrHi ; CPU:$A8D5 PRG:28D5 46 74 + ror VramWritePtrLo ; CPU:$A8D7 PRG:28D7 66 73 + lda VramWritePtrLo ; CPU:$A8D9 PRG:28D9 A5 73 adc #$8B ; CPU:$A8DB PRG:28DB 69 8B - sta Zp73 ; CPU:$A8DD PRG:28DD 85 73 - lda Zp74 ; CPU:$A8DF PRG:28DF A5 74 + sta VramWritePtrLo ; CPU:$A8DD PRG:28DD 85 73 + lda VramWritePtrHi ; CPU:$A8DF PRG:28DF A5 74 adc #$AB ; CPU:$A8E1 PRG:28E1 69 AB - sta Zp74 ; CPU:$A8E3 PRG:28E3 85 74 + sta VramWritePtrHi ; CPU:$A8E3 PRG:28E3 85 74 lda #$20 ; CPU:$A8E5 PRG:28E5 A9 20 - sta Zp70 ; CPU:$A8E7 PRG:28E7 85 70 - jmp Sub_973E ; CPU:$A8E9 PRG:28E9 4C 3E 97 + sta PlayerSpriteY ; CPU:$A8E7 PRG:28E7 85 70 + jmp Sub_973E ; CPU:$A8E9 PRG:28E9 4C 3E 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_A8EC -; Global: Branch target inside Label: taken when A8EC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A8EC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A8EC: - jsr Sub_A5EF ; CPU:$A8EC PRG:28EC 20 EF A5 + jsr Sub_A5EF ; CPU:$A8EC PRG:28EC 20 EF A5 lda $058F ; CPU:$A8EF PRG:28EF AD 8F 05 sec ; CPU:$A8F2 PRG:28F2 38 sbc #$03 ; CPU:$A8F3 PRG:28F3 E9 03 - bcs NmiHandler_Loop123 ; CPU:$A8F5 PRG:28F5 B0 02 + bcs NmiHandler_Loop126 ; CPU:$A8F5 PRG:28F5 B0 02 adc #$0A ; CPU:$A8F7 PRG:28F7 69 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop123 -; Global: Branch target inside Label: taken when A8F9. -; Local: Part of Label. +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop123: - jsr Sub_D0B5 ; CPU:$A8F9 PRG:28F9 20 B5 D0 +NmiHandler_Loop126: + jsr Sub_D0B5 ; CPU:$A8F9 PRG:28F9 20 B5 D0 lda ZpA1 ; CPU:$A8FC PRG:28FC A5 A1 clc ; CPU:$A8FE PRG:28FE 18 adc #$A0 ; CPU:$A8FF PRG:28FF 69 A0 @@ -5682,58 +5848,58 @@ NmiHandler_Loop123: adc #$37 ; CPU:$A917 PRG:2917 69 37 sta $0566 ; CPU:$A919 PRG:2919 8D 66 05 lda $058F ; CPU:$A91C PRG:291C AD 8F 05 - sta Zp73 ; CPU:$A91F PRG:291F 85 73 + sta VramWritePtrLo ; CPU:$A91F PRG:291F 85 73 lda #$00 ; CPU:$A921 PRG:2921 A9 00 - sta Zp74 ; CPU:$A923 PRG:2923 85 74 - asl Zp73 ; CPU:$A925 PRG:2925 06 73 - rol Zp74 ; CPU:$A927 PRG:2927 26 74 + sta VramWritePtrHi ; CPU:$A923 PRG:2923 85 74 + asl VramWritePtrLo ; CPU:$A925 PRG:2925 06 73 + rol VramWritePtrHi ; CPU:$A927 PRG:2927 26 74 clc ; CPU:$A929 PRG:2929 18 lda #$9B ; CPU:$A92A PRG:292A A9 9B - adc Zp73 ; CPU:$A92C PRG:292C 65 73 - sta Zp73 ; CPU:$A92E PRG:292E 85 73 + adc VramWritePtrLo ; CPU:$A92C PRG:292C 65 73 + sta VramWritePtrLo ; CPU:$A92E PRG:292E 85 73 lda #$BA ; CPU:$A930 PRG:2930 A9 BA - adc Zp74 ; CPU:$A932 PRG:2932 65 74 - sta Zp74 ; CPU:$A934 PRG:2934 85 74 + adc VramWritePtrHi ; CPU:$A932 PRG:2932 65 74 + sta VramWritePtrHi ; CPU:$A934 PRG:2934 85 74 ldy #$00 ; CPU:$A936 PRG:2936 A0 00 - lda (Zp73),y ; CPU:$A938 PRG:2938 B1 73 + lda (VramWritePtrLo),y ; CPU:$A938 PRG:2938 B1 73 sta $0560 ; CPU:$A93A PRG:293A 8D 60 05 sta ZpA1 ; CPU:$A93D PRG:293D 85 A1 iny ; CPU:$A93F PRG:293F C8 - lda (Zp73),y ; CPU:$A940 PRG:2940 B1 73 + lda (VramWritePtrLo),y ; CPU:$A940 PRG:2940 B1 73 sta $0561 ; CPU:$A942 PRG:2942 8D 61 05 sta ZpA2 ; CPU:$A945 PRG:2945 85 A2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero30 -; Global: Branch target inside Label: taken when A947. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero30: lda ZpA1 ; CPU:$A947 PRG:2947 A5 A1 - sta Zp71 ; CPU:$A949 PRG:2949 85 71 + sta OamShadowPtrLo ; CPU:$A949 PRG:2949 85 71 lda ZpA2 ; CPU:$A94B PRG:294B A5 A2 - sta Zp72 ; CPU:$A94D PRG:294D 85 72 + sta OamShadowPtrHi ; CPU:$A94D PRG:294D 85 72 lda ZpA3 ; CPU:$A94F PRG:294F A5 A3 - jsr Sub_A8B8 ; CPU:$A951 PRG:2951 20 B8 A8 + jsr Sub_A8B8 ; CPU:$A951 PRG:2951 20 B8 A8 lda ZpA3 ; CPU:$A954 PRG:2954 A5 A3 cmp $0566 ; CPU:$A956 PRG:2956 CD 66 05 - bne NmiHandler_Loop124 ; CPU:$A959 PRG:2959 D0 0D + bne NmiHandler_Loop127 ; CPU:$A959 PRG:2959 D0 0D lda ZpA1 ; CPU:$A95B PRG:295B A5 A1 sta $055E ; CPU:$A95D PRG:295D 8D 5E 05 lda ZpA2 ; CPU:$A960 PRG:2960 A5 A2 sta $055F ; CPU:$A962 PRG:2962 8D 5F 05 - jmp Sub_A9A1 ; CPU:$A965 PRG:2965 4C A1 A9 + jmp Sub_A9A1 ; CPU:$A965 PRG:2965 4C A1 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop124 -; Global: Branch target inside Label: taken when A968. -; Local: Part of Label. +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop124: +NmiHandler_Loop127: lda ZpA1 ; CPU:$A968 PRG:2968 A5 A1 clc ; CPU:$A96A PRG:296A 18 adc #$20 ; CPU:$A96B PRG:296B 69 20 @@ -5743,38 +5909,38 @@ NmiHandler_Loop124: sta ZpA2 ; CPU:$A973 PRG:2973 85 A2 inc ZpA3 ; CPU:$A975 PRG:2975 E6 A3 cmp #$23 ; CPU:$A977 PRG:2977 C9 23 - bne NmiHandler_Loop125 ; CPU:$A979 PRG:2979 D0 11 + bne NmiHandler_Loop128 ; CPU:$A979 PRG:2979 D0 11 lda ZpA1 ; CPU:$A97B PRG:297B A5 A1 cmp #$C0 ; CPU:$A97D PRG:297D C9 C0 - bne NmiHandler_OnNonzero30 ; CPU:$A97F PRG:297F D0 C6 + bne NmiHandler_OnNonzero30 ; CPU:$A97F PRG:297F D0 C6 lda #$00 ; CPU:$A981 PRG:2981 A9 00 sta ZpA1 ; CPU:$A983 PRG:2983 85 A1 lda #$28 ; CPU:$A985 PRG:2985 A9 28 sta ZpA2 ; CPU:$A987 PRG:2987 85 A2 - jmp NmiHandler_OnNonzero30 ; CPU:$A989 PRG:2989 4C 47 A9 + jmp NmiHandler_OnNonzero30 ; CPU:$A989 PRG:2989 4C 47 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop125 -; Global: Branch target inside Label: taken when A98C. -; Local: Part of Label. +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop125: +NmiHandler_Loop128: cmp #$2B ; CPU:$A98C PRG:298C C9 2B - bne NmiHandler_OnNonzero30 ; CPU:$A98E PRG:298E D0 B7 + bne NmiHandler_OnNonzero30 ; CPU:$A98E PRG:298E D0 B7 lda ZpA1 ; CPU:$A990 PRG:2990 A5 A1 cmp #$C0 ; CPU:$A992 PRG:2992 C9 C0 - bne NmiHandler_OnNonzero30 ; CPU:$A994 PRG:2994 D0 B1 + bne NmiHandler_OnNonzero30 ; CPU:$A994 PRG:2994 D0 B1 lda #$00 ; CPU:$A996 PRG:2996 A9 00 sta ZpA1 ; CPU:$A998 PRG:2998 85 A1 lda #$20 ; CPU:$A99A PRG:299A A9 20 sta ZpA2 ; CPU:$A99C PRG:299C 85 A2 - jmp NmiHandler_OnNonzero30 ; CPU:$A99E PRG:299E 4C 47 A9 + jmp NmiHandler_OnNonzero30 ; CPU:$A99E PRG:299E 4C 47 A9 ; ----------------------------------------------------------------------------- ; Routine: Sub_A9A1 -; Global: Branch target inside Label: taken when A9A1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A9A1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5788,58 +5954,58 @@ Sub_A9A1: adc #$0E ; CPU:$A9AD PRG:29AD 69 0E sta $0568 ; CPU:$A9AF PRG:29AF 8D 68 05 lda $058F ; CPU:$A9B2 PRG:29B2 AD 8F 05 - sta Zp73 ; CPU:$A9B5 PRG:29B5 85 73 + sta VramWritePtrLo ; CPU:$A9B5 PRG:29B5 85 73 lda #$00 ; CPU:$A9B7 PRG:29B7 A9 00 - sta Zp74 ; CPU:$A9B9 PRG:29B9 85 74 - asl Zp73 ; CPU:$A9BB PRG:29BB 06 73 - rol Zp74 ; CPU:$A9BD PRG:29BD 26 74 + sta VramWritePtrHi ; CPU:$A9B9 PRG:29B9 85 74 + asl VramWritePtrLo ; CPU:$A9BB PRG:29BB 06 73 + rol VramWritePtrHi ; CPU:$A9BD PRG:29BD 26 74 clc ; CPU:$A9BF PRG:29BF 18 lda #$4B ; CPU:$A9C0 PRG:29C0 A9 4B - adc Zp73 ; CPU:$A9C2 PRG:29C2 65 73 - sta Zp73 ; CPU:$A9C4 PRG:29C4 85 73 + adc VramWritePtrLo ; CPU:$A9C2 PRG:29C2 65 73 + sta VramWritePtrLo ; CPU:$A9C4 PRG:29C4 85 73 lda #$B8 ; CPU:$A9C6 PRG:29C6 A9 B8 - adc Zp74 ; CPU:$A9C8 PRG:29C8 65 74 - sta Zp74 ; CPU:$A9CA PRG:29CA 85 74 + adc VramWritePtrHi ; CPU:$A9C8 PRG:29C8 65 74 + sta VramWritePtrHi ; CPU:$A9CA PRG:29CA 85 74 ldy #$00 ; CPU:$A9CC PRG:29CC A0 00 - lda (Zp73),y ; CPU:$A9CE PRG:29CE B1 73 + lda (VramWritePtrLo),y ; CPU:$A9CE PRG:29CE B1 73 sta $0564 ; CPU:$A9D0 PRG:29D0 8D 64 05 sta ZpA1 ; CPU:$A9D3 PRG:29D3 85 A1 iny ; CPU:$A9D5 PRG:29D5 C8 - lda (Zp73),y ; CPU:$A9D6 PRG:29D6 B1 73 + lda (VramWritePtrLo),y ; CPU:$A9D6 PRG:29D6 B1 73 sta $0565 ; CPU:$A9D8 PRG:29D8 8D 65 05 sta ZpA2 ; CPU:$A9DB PRG:29DB 85 A2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero31 -; Global: Branch target inside Label: taken when A9DD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero31: lda ZpA1 ; CPU:$A9DD PRG:29DD A5 A1 - sta Zp71 ; CPU:$A9DF PRG:29DF 85 71 + sta OamShadowPtrLo ; CPU:$A9DF PRG:29DF 85 71 lda ZpA2 ; CPU:$A9E1 PRG:29E1 A5 A2 - sta Zp72 ; CPU:$A9E3 PRG:29E3 85 72 + sta OamShadowPtrHi ; CPU:$A9E3 PRG:29E3 85 72 lda ZpA3 ; CPU:$A9E5 PRG:29E5 A5 A3 - jsr Sub_AA73 ; CPU:$A9E7 PRG:29E7 20 73 AA + jsr Sub_AA73 ; CPU:$A9E7 PRG:29E7 20 73 AA lda ZpA3 ; CPU:$A9EA PRG:29EA A5 A3 cmp $0568 ; CPU:$A9EC PRG:29EC CD 68 05 - bne NmiHandler_Loop126 ; CPU:$A9EF PRG:29EF D0 0D + bne NmiHandler_Loop129 ; CPU:$A9EF PRG:29EF D0 0D lda ZpA1 ; CPU:$A9F1 PRG:29F1 A5 A1 sta $0562 ; CPU:$A9F3 PRG:29F3 8D 62 05 lda ZpA2 ; CPU:$A9F6 PRG:29F6 A5 A2 sta $0563 ; CPU:$A9F8 PRG:29F8 8D 63 05 - jmp Sub_D154 ; CPU:$A9FB PRG:29FB 4C 54 D1 + jmp Sub_D154 ; CPU:$A9FB PRG:29FB 4C 54 D1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop126 -; Global: Branch target inside Label: taken when A9FE. -; Local: Part of Label. +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop126: +NmiHandler_Loop129: lda ZpA1 ; CPU:$A9FE PRG:29FE A5 A1 clc ; CPU:$AA00 PRG:2A00 18 adc #$08 ; CPU:$AA01 PRG:2A01 69 08 @@ -5850,101 +6016,102 @@ NmiHandler_Loop126: inc ZpA3 ; CPU:$AA0B PRG:2A0B E6 A3 lda ZpA1 ; CPU:$AA0D PRG:2A0D A5 A1 cmp #$00 ; CPU:$AA0F PRG:2A0F C9 00 - bne NmiHandler_OnNonzero31 ; CPU:$AA11 PRG:2A11 D0 CA + bne NmiHandler_OnNonzero31 ; CPU:$AA11 PRG:2A11 D0 CA lda ZpA2 ; CPU:$AA13 PRG:2A13 A5 A2 cmp #$24 ; CPU:$AA15 PRG:2A15 C9 24 - bne NmiHandler_Loop127 ; CPU:$AA17 PRG:2A17 D0 0B + bne NmiHandler_Loop130 ; CPU:$AA17 PRG:2A17 D0 0B lda #$C0 ; CPU:$AA19 PRG:2A19 A9 C0 sta ZpA1 ; CPU:$AA1B PRG:2A1B 85 A1 lda #$2B ; CPU:$AA1D PRG:2A1D A9 2B sta ZpA2 ; CPU:$AA1F PRG:2A1F 85 A2 - jmp NmiHandler_OnNonzero31 ; CPU:$AA21 PRG:2A21 4C DD A9 + jmp NmiHandler_OnNonzero31 ; CPU:$AA21 PRG:2A21 4C DD A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop127 -; Global: Branch target inside Label: taken when AA24. -; Local: Part of Label. +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop127: +NmiHandler_Loop130: lda #$C0 ; CPU:$AA24 PRG:2A24 A9 C0 sta ZpA1 ; CPU:$AA26 PRG:2A26 85 A1 lda #$23 ; CPU:$AA28 PRG:2A28 A9 23 sta ZpA2 ; CPU:$AA2A PRG:2A2A 85 A2 - jmp NmiHandler_OnNonzero31 ; CPU:$AA2C PRG:2A2C 4C DD A9 + jmp NmiHandler_OnNonzero31 ; CPU:$AA2C PRG:2A2C 4C DD A9 ; ----------------------------------------------------------------------------- ; Routine: Sub_AA2F -; Global: Branch target inside Label: taken when AA2F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AA2F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AA2F: ldy #$00 ; CPU:$AA2F PRG:2A2F A0 00 - sta Zp73 ; CPU:$AA31 PRG:2A31 85 73 + sta VramWritePtrLo ; CPU:$AA31 PRG:2A31 85 73 lda #$00 ; CPU:$AA33 PRG:2A33 A9 00 - sta Zp74 ; CPU:$AA35 PRG:2A35 85 74 - asl Zp73 ; CPU:$AA37 PRG:2A37 06 73 - rol Zp74 ; CPU:$AA39 PRG:2A39 26 74 - asl Zp73 ; CPU:$AA3B PRG:2A3B 06 73 - rol Zp74 ; CPU:$AA3D PRG:2A3D 26 74 - asl Zp73 ; CPU:$AA3F PRG:2A3F 06 73 - rol Zp74 ; CPU:$AA41 PRG:2A41 26 74 - lda Zp73 ; CPU:$AA43 PRG:2A43 A5 73 + sta VramWritePtrHi ; CPU:$AA35 PRG:2A35 85 74 + asl VramWritePtrLo ; CPU:$AA37 PRG:2A37 06 73 + rol VramWritePtrHi ; CPU:$AA39 PRG:2A39 26 74 + asl VramWritePtrLo ; CPU:$AA3B PRG:2A3B 06 73 + rol VramWritePtrHi ; CPU:$AA3D PRG:2A3D 26 74 + asl VramWritePtrLo ; CPU:$AA3F PRG:2A3F 06 73 + rol VramWritePtrHi ; CPU:$AA41 PRG:2A41 26 74 + lda VramWritePtrLo ; CPU:$AA43 PRG:2A43 A5 73 clc ; CPU:$AA45 PRG:2A45 18 adc #$8B ; CPU:$AA46 PRG:2A46 69 8B - sta Zp73 ; CPU:$AA48 PRG:2A48 85 73 - lda Zp74 ; CPU:$AA4A PRG:2A4A A5 74 + sta VramWritePtrLo ; CPU:$AA48 PRG:2A48 85 73 + lda VramWritePtrHi ; CPU:$AA4A PRG:2A4A A5 74 adc #$B8 ; CPU:$AA4C PRG:2A4C 69 B8 - sta Zp74 ; CPU:$AA4E PRG:2A4E 85 74 + sta VramWritePtrHi ; CPU:$AA4E PRG:2A4E 85 74 lda #$01 ; CPU:$AA50 PRG:2A50 A9 01 - sta Zp6F ; CPU:$AA52 PRG:2A52 85 6F + sta PlayerSpriteX ; CPU:$AA52 PRG:2A52 85 6F lda #$08 ; CPU:$AA54 PRG:2A54 A9 08 sta $067A ; CPU:$AA56 PRG:2A56 8D 7A 06 - lda Zp73 ; CPU:$AA59 PRG:2A59 A5 73 + lda VramWritePtrLo ; CPU:$AA59 PRG:2A59 A5 73 sta $067B ; CPU:$AA5B PRG:2A5B 8D 7B 06 - lda Zp74 ; CPU:$AA5E PRG:2A5E A5 74 + lda VramWritePtrHi ; CPU:$AA5E PRG:2A5E A5 74 sta $067C ; CPU:$AA60 PRG:2A60 8D 7C 06 - lda Zp72 ; CPU:$AA63 PRG:2A63 A5 72 + lda OamShadowPtrHi ; CPU:$AA63 PRG:2A63 A5 72 sta $067D ; CPU:$AA65 PRG:2A65 8D 7D 06 - lda Zp71 ; CPU:$AA68 PRG:2A68 A5 71 + lda OamShadowPtrLo ; CPU:$AA68 PRG:2A68 A5 71 sta $067E ; CPU:$AA6A PRG:2A6A 8D 7E 06 lda #$00 ; CPU:$AA6D PRG:2A6D A9 00 sta $067F ; CPU:$AA6F PRG:2A6F 8D 7F 06 rts ; CPU:$AA72 PRG:2A72 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_AA73 -; Global: Branch target inside Label: taken when AA73. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AA73. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AA73: ldy #$00 ; CPU:$AA73 PRG:2A73 A0 00 - sta Zp73 ; CPU:$AA75 PRG:2A75 85 73 + sta VramWritePtrLo ; CPU:$AA75 PRG:2A75 85 73 lda #$00 ; CPU:$AA77 PRG:2A77 A9 00 - sta Zp74 ; CPU:$AA79 PRG:2A79 85 74 - asl Zp73 ; CPU:$AA7B PRG:2A7B 06 73 - rol Zp74 ; CPU:$AA7D PRG:2A7D 26 74 - asl Zp73 ; CPU:$AA7F PRG:2A7F 06 73 - rol Zp74 ; CPU:$AA81 PRG:2A81 26 74 - asl Zp73 ; CPU:$AA83 PRG:2A83 06 73 - rol Zp74 ; CPU:$AA85 PRG:2A85 26 74 - lda Zp73 ; CPU:$AA87 PRG:2A87 A5 73 + sta VramWritePtrHi ; CPU:$AA79 PRG:2A79 85 74 + asl VramWritePtrLo ; CPU:$AA7B PRG:2A7B 06 73 + rol VramWritePtrHi ; CPU:$AA7D PRG:2A7D 26 74 + asl VramWritePtrLo ; CPU:$AA7F PRG:2A7F 06 73 + rol VramWritePtrHi ; CPU:$AA81 PRG:2A81 26 74 + asl VramWritePtrLo ; CPU:$AA83 PRG:2A83 06 73 + rol VramWritePtrHi ; CPU:$AA85 PRG:2A85 26 74 + lda VramWritePtrLo ; CPU:$AA87 PRG:2A87 A5 73 clc ; CPU:$AA89 PRG:2A89 18 adc #$8B ; CPU:$AA8A PRG:2A8A 69 8B - sta Zp73 ; CPU:$AA8C PRG:2A8C 85 73 - lda Zp74 ; CPU:$AA8E PRG:2A8E A5 74 + sta VramWritePtrLo ; CPU:$AA8C PRG:2A8C 85 73 + lda VramWritePtrHi ; CPU:$AA8E PRG:2A8E A5 74 adc #$B8 ; CPU:$AA90 PRG:2A90 69 B8 - sta Zp74 ; CPU:$AA92 PRG:2A92 85 74 + sta VramWritePtrHi ; CPU:$AA92 PRG:2A92 85 74 lda #$08 ; CPU:$AA94 PRG:2A94 A9 08 - sta Zp70 ; CPU:$AA96 PRG:2A96 85 70 - jmp Sub_973E ; CPU:$AA98 PRG:2A98 4C 3E 97 + sta PlayerSpriteY ; CPU:$AA96 PRG:2A96 85 70 + jmp Sub_973E ; CPU:$AA98 PRG:2A98 4C 3E 97 ; ---- data $AA9B-$B50C (2674 bytes) ---- - .byte $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64 ; CPU:$AA9B PRG:2A9B 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 +LevelTilemapData: + .byte $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64 ; CPU:$AA9B PRG:-1565 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 .byte $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64 ; CPU:$AAAB PRG:2AAB 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 .byte $00, $01, $01, $01, $02, $03, $04, $05, $06, $07, $08, $07, $09, $0A, $06, $07 ; CPU:$AABB PRG:2ABB 00 01 01 01 02 03 04 05 06 07 08 07 09 0A 06 07 .byte $08, $07, $09, $0B, $06, $07, $08, $07, $09, $0C, $06, $07, $08, $07, $09, $0D ; CPU:$AACB PRG:2ACB 08 07 09 0B 06 07 08 07 09 0C 06 07 08 07 09 0D @@ -6134,7 +6301,8 @@ Label_B50D: asl Zp16,x ; CPU:$B522 PRG:3522 16 16 rts ; CPU:$B524 PRG:3524 60 ; ---- data $B525-$B58C (104 bytes) ---- - .byte $FF, $FF, $FF, $60, $16, $15, $12, $17, $FF, $FF, $FF, $17, $17, $0E, $0F, $10 ; CPU:$B525 PRG:3525 FF FF FF 60 16 15 12 17 FF FF FF 17 17 0E 0F 10 +EnemySpritePatternTable: + .byte $FF, $FF, $FF, $60, $16, $15, $12, $17, $FF, $FF, $FF, $17, $17, $0E, $0F, $10 ; CPU:$B525 PRG:-ADB FF FF FF 60 16 15 12 17 FF FF FF 17 17 0E 0F 10 .byte $0E, $0F, $17, $0E, $0F, $17, $0E, $0F, $17, $0E, $0F, $10, $0E, $0F, $17, $17 ; CPU:$B535 PRG:3535 0E 0F 17 0E 0F 17 0E 0F 17 0E 0F 10 0E 0F 17 17 .byte $FF, $FF, $FF, $FF, $98, $13, $12, $17, $FF, $FF, $FF, $17, $17, $17, $17, $17 ; CPU:$B545 PRG:3545 FF FF FF FF 98 13 12 17 FF FF FF 17 17 17 17 17 .byte $FF, $FF, $FF, $17, $17, $17, $17, $17, $FF, $FF, $FF, $17, $FF, $FF, $FF, $17 ; CPU:$B555 PRG:3555 FF FF FF 17 17 17 17 17 FF FF FF 17 FF FF FF 17 @@ -6170,7 +6338,8 @@ Label_B591: ; referenced by `eor $BB03,y` at $A5FF (operand $BB03 falls inside this region) ; referenced by `lda $BA7B,y` at $A90E (operand $BA7B falls inside this region) ; referenced by `lda $B82B,y` at $A9A4 (operand $B82B falls inside this region) - .byte $16, $16, $16, $60, $FF, $FF, $FF, $60, $FF, $FF, $FF, $60, $61, $61, $61, $60 ; CPU:$B599 PRG:3599 16 16 16 60 FF FF FF 60 FF FF FF 60 61 61 61 60 +EnemyTileGraphicData: + .byte $16, $16, $16, $60, $FF, $FF, $FF, $60, $FF, $FF, $FF, $60, $61, $61, $61, $60 ; CPU:$B599 PRG:-A67 16 16 16 60 FF FF FF 60 FF FF FF 60 61 61 61 60 .byte $16, $15, $12, $17, $17, $17, $17, $17, $FF, $FF, $FF, $17, $FF, $FF, $FF, $17 ; CPU:$B5A9 PRG:35A9 16 15 12 17 17 17 17 17 FF FF FF 17 FF FF FF 17 .byte $17, $17, $17, $17, $FF, $FF, $FF, $17, $FF, $FF, $FF, $17, $17, $17, $17, $FF ; CPU:$B5B9 PRG:35B9 17 17 17 17 FF FF FF 17 FF FF FF 17 17 17 17 FF .byte $96, $13, $12, $17, $17, $46, $46, $17, $FF, $FF, $FF, $17, $FF, $FF, $FF, $17 ; CPU:$B5C9 PRG:35C9 96 13 12 17 17 46 46 17 FF FF FF 17 FF FF FF 17 @@ -6269,7 +6438,7 @@ Label_B591: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_BB2B: - jsr Sub_BD36 ; CPU:$BB2B PRG:3B2B 20 36 BD + jsr Sub_BD36 ; CPU:$BB2B PRG:3B2B 20 36 BD lda #$1B ; CPU:$BB2E PRG:3B2E A9 1B sta ZpA5 ; CPU:$BB30 PRG:3B30 85 A5 lda #$C5 ; CPU:$BB32 PRG:3B32 A9 C5 @@ -6279,37 +6448,37 @@ Label_BB2B: lda #$00 ; CPU:$BB3B PRG:3B3B A9 00 sta $0587 ; CPU:$BB3D PRG:3B3D 8D 87 05 lda $0580 ; CPU:$BB40 PRG:3B40 AD 80 05 - bne NmiHandler_Loop128 ; CPU:$BB43 PRG:3B43 D0 07 + bne NmiHandler_Loop131 ; CPU:$BB43 PRG:3B43 D0 07 lda $0301 ; CPU:$BB45 PRG:3B45 AD 01 03 cmp #$01 ; CPU:$BB48 PRG:3B48 C9 01 - beq NmiHandler_Loop132 ; CPU:$BB4A PRG:3B4A F0 72 + beq NmiHandler_Loop135 ; CPU:$BB4A PRG:3B4A F0 72 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop128 -; Global: Branch target inside Label: taken when BB4C. -; Local: Part of Label. +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop128: +NmiHandler_Loop131: lda #$FF ; CPU:$BB4C PRG:3B4C A9 FF sta $0688 ; CPU:$BB4E PRG:3B4E 8D 88 06 lda $0580 ; CPU:$BB51 PRG:3B51 AD 80 05 - bne NmiHandler_Loop129 ; CPU:$BB54 PRG:3B54 D0 0F + bne NmiHandler_Loop132 ; CPU:$BB54 PRG:3B54 D0 0F sta $057D ; CPU:$BB56 PRG:3B56 8D 7D 05 sta $058E ; CPU:$BB59 PRG:3B59 8D 8E 05 sta $058F ; CPU:$BB5C PRG:3B5C 8D 8F 05 - jsr Sub_BD58 ; CPU:$BB5F PRG:3B5F 20 58 BD - jmp NmiHandler_OnNonzero32 ; CPU:$BB62 PRG:3B62 4C 77 BB + jsr Sub_BD58 ; CPU:$BB5F PRG:3B5F 20 58 BD + jmp NmiHandler_OnNonzero32 ; CPU:$BB62 PRG:3B62 4C 77 BB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop129 -; Global: Branch target inside Label: taken when BB65. -; Local: Part of Label. +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop129: +NmiHandler_Loop132: lda #$FF ; CPU:$BB65 PRG:3B65 A9 FF sta $057D ; CPU:$BB67 PRG:3B67 8D 7D 05 lda #$00 ; CPU:$BB6A PRG:3B6A A9 00 @@ -6319,79 +6488,79 @@ NmiHandler_Loop129: sta $058F ; CPU:$BB74 PRG:3B74 8D 8F 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero32 -; Global: Branch target inside Label: taken when BB77. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero32: - jsr Sub_BE56 ; CPU:$BB77 PRG:3B77 20 56 BE + jsr Sub_BE56 ; CPU:$BB77 PRG:3B77 20 56 BE lda #$00 ; CPU:$BB7A PRG:3B7A A9 00 sta $057F ; CPU:$BB7C PRG:3B7C 8D 7F 05 lda $0580 ; CPU:$BB7F PRG:3B7F AD 80 05 - bne NmiHandler_Loop130 ; CPU:$BB82 PRG:3B82 D0 1D + bne NmiHandler_Loop133 ; CPU:$BB82 PRG:3B82 D0 1D lda $0590 ; CPU:$BB84 PRG:3B84 AD 90 05 - beq NmiHandler_Loop130 ; CPU:$BB87 PRG:3B87 F0 18 + beq NmiHandler_Loop133 ; CPU:$BB87 PRG:3B87 F0 18 dec $0590 ; CPU:$BB89 PRG:3B89 CE 90 05 lda #$00 ; CPU:$BB8C PRG:3B8C A9 00 sta $0688 ; CPU:$BB8E PRG:3B8E 8D 88 06 - jsr Sub_BCB6 ; CPU:$BB91 PRG:3B91 20 B6 BC - jsr Sub_BCAB ; CPU:$BB94 PRG:3B94 20 AB BC - jsr Sub_BD58 ; CPU:$BB97 PRG:3B97 20 58 BD + jsr Sub_BCB6 ; CPU:$BB91 PRG:3B91 20 B6 BC + jsr Sub_BCAB ; CPU:$BB94 PRG:3B94 20 AB BC + jsr Sub_BD58 ; CPU:$BB97 PRG:3B97 20 58 BD lda #$FF ; CPU:$BB9A PRG:3B9A A9 FF sta $057D ; CPU:$BB9C PRG:3B9C 8D 7D 05 - bne NmiHandler_OnNonzero32 ; CPU:$BB9F PRG:3B9F D0 D6 + bne NmiHandler_OnNonzero32 ; CPU:$BB9F PRG:3B9F D0 D6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop130 -; Global: Branch target inside Label: taken when BBA1. -; Local: Part of Label. +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop130: - jsr Sub_BDE6 ; CPU:$BBA1 PRG:3BA1 20 E6 BD +NmiHandler_Loop133: + jsr Sub_BDE6 ; CPU:$BBA1 PRG:3BA1 20 E6 BD lda #$00 ; CPU:$BBA4 PRG:3BA4 A9 00 sta $057F ; CPU:$BBA6 PRG:3BA6 8D 7F 05 lda $0580 ; CPU:$BBA9 PRG:3BA9 AD 80 05 - beq NmiHandler_Loop131 ; CPU:$BBAC PRG:3BAC F0 08 + beq NmiHandler_Loop134 ; CPU:$BBAC PRG:3BAC F0 08 lda #$FF ; CPU:$BBAE PRG:3BAE A9 FF sta $057E ; CPU:$BBB0 PRG:3BB0 8D 7E 05 - jsr Sub_8266 ; CPU:$BBB3 PRG:3BB3 20 66 82 + jsr Sub_8266 ; CPU:$BBB3 PRG:3BB3 20 66 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop131 -; Global: Branch target inside Label: taken when BBB6. -; Local: Part of Label. +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop131: +NmiHandler_Loop134: lda #$02 ; CPU:$BBB6 PRG:3BB6 A9 02 - jsr Sub_8224 ; CPU:$BBB8 PRG:3BB8 20 24 82 - jsr Sub_8266 ; CPU:$BBBB PRG:3BBB 20 66 82 + jsr Sub_8224 ; CPU:$BBB8 PRG:3BB8 20 24 82 + jsr Sub_8266 ; CPU:$BBBB PRG:3BBB 20 66 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop132 -; Global: Branch target inside Label: taken when BBBE. -; Local: Part of Label. +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop132: +NmiHandler_Loop135: lda #$00 ; CPU:$BBBE PRG:3BBE A9 00 sta $057D ; CPU:$BBC0 PRG:3BC0 8D 7D 05 sta $058E ; CPU:$BBC3 PRG:3BC3 8D 8E 05 sta $058F ; CPU:$BBC6 PRG:3BC6 8D 8F 05 lda #$FF ; CPU:$BBC9 PRG:3BC9 A9 FF sta $0688 ; CPU:$BBCB PRG:3BCB 8D 88 06 - jsr Sub_BD58 ; CPU:$BBCE PRG:3BCE 20 58 BD - jsr Sub_BE56 ; CPU:$BBD1 PRG:3BD1 20 56 BE + jsr Sub_BD58 ; CPU:$BBCE PRG:3BCE 20 58 BD + jsr Sub_BE56 ; CPU:$BBD1 PRG:3BD1 20 56 BE lda #$00 ; CPU:$BBD4 PRG:3BD4 A9 00 sta $057F ; CPU:$BBD6 PRG:3BD6 8D 7F 05 dec $0590 ; CPU:$BBD9 PRG:3BD9 CE 90 05 - jsr Sub_BE1E ; CPU:$BBDC PRG:3BDC 20 1E BE + jsr Sub_BE1E ; CPU:$BBDC PRG:3BDC 20 1E BE lda #$00 ; CPU:$BBDF PRG:3BDF A9 00 sta $057D ; CPU:$BBE1 PRG:3BE1 8D 7D 05 sta $058E ; CPU:$BBE4 PRG:3BE4 8D 8E 05 @@ -6400,15 +6569,15 @@ NmiHandler_Loop132: sta $0590 ; CPU:$BBEC PRG:3BEC 8D 90 05 lda #$FF ; CPU:$BBEF PRG:3BEF A9 FF sta $0688 ; CPU:$BBF1 PRG:3BF1 8D 88 06 - jsr Sub_BD58 ; CPU:$BBF4 PRG:3BF4 20 58 BD - jsr Sub_BE56 ; CPU:$BBF7 PRG:3BF7 20 56 BE + jsr Sub_BD58 ; CPU:$BBF4 PRG:3BF4 20 58 BD + jsr Sub_BE56 ; CPU:$BBF7 PRG:3BF7 20 56 BE lda #$00 ; CPU:$BBFA PRG:3BFA A9 00 sta $057F ; CPU:$BBFC PRG:3BFC 8D 7F 05 dec $0590 ; CPU:$BBFF PRG:3BFF CE 90 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_BC02 -; Global: Branch target inside Label: taken when BC02. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BC02. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6418,44 +6587,44 @@ Sub_BC02: sta $0688 ; CPU:$BC04 PRG:3C04 8D 88 06 lda #$FF ; CPU:$BC07 PRG:3C07 A9 FF sta $057D ; CPU:$BC09 PRG:3C09 8D 7D 05 - jsr Sub_BE3A ; CPU:$BC0C PRG:3C0C 20 3A BE - jsr Sub_BD58 ; CPU:$BC0F PRG:3C0F 20 58 BD - jsr Sub_BE56 ; CPU:$BC12 PRG:3C12 20 56 BE + jsr Sub_BE3A ; CPU:$BC0C PRG:3C0C 20 3A BE + jsr Sub_BD58 ; CPU:$BC0F PRG:3C0F 20 58 BD + jsr Sub_BE56 ; CPU:$BC12 PRG:3C12 20 56 BE lda #$00 ; CPU:$BC15 PRG:3C15 A9 00 sta $057F ; CPU:$BC17 PRG:3C17 8D 7F 05 lda $0590 ; CPU:$BC1A PRG:3C1A AD 90 05 - beq NmiHandler_Loop133 ; CPU:$BC1D PRG:3C1D F0 26 + beq NmiHandler_Loop136 ; CPU:$BC1D PRG:3C1D F0 26 dec $0590 ; CPU:$BC1F PRG:3C1F CE 90 05 lda #$00 ; CPU:$BC22 PRG:3C22 A9 00 sta $0688 ; CPU:$BC24 PRG:3C24 8D 88 06 lda #$FF ; CPU:$BC27 PRG:3C27 A9 FF sta $057D ; CPU:$BC29 PRG:3C29 8D 7D 05 - jsr Sub_BE1E ; CPU:$BC2C PRG:3C2C 20 1E BE - jsr Sub_BD58 ; CPU:$BC2F PRG:3C2F 20 58 BD - jsr Sub_BE56 ; CPU:$BC32 PRG:3C32 20 56 BE + jsr Sub_BE1E ; CPU:$BC2C PRG:3C2C 20 1E BE + jsr Sub_BD58 ; CPU:$BC2F PRG:3C2F 20 58 BD + jsr Sub_BE56 ; CPU:$BC32 PRG:3C32 20 56 BE lda #$00 ; CPU:$BC35 PRG:3C35 A9 00 sta $057F ; CPU:$BC37 PRG:3C37 8D 7F 05 lda $0590 ; CPU:$BC3A PRG:3C3A AD 90 05 - beq NmiHandler_Loop134 ; CPU:$BC3D PRG:3C3D F0 31 + beq NmiHandler_Loop137 ; CPU:$BC3D PRG:3C3D F0 31 dec $0590 ; CPU:$BC3F PRG:3C3F CE 90 05 - jmp Sub_BC02 ; CPU:$BC42 PRG:3C42 4C 02 BC + jmp Sub_BC02 ; CPU:$BC42 PRG:3C42 4C 02 BC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop133 -; Global: Branch target inside Label: taken when BC45. -; Local: Part of Label. +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop133: - jsr Sub_BDE6 ; CPU:$BC45 PRG:3C45 20 E6 BD +NmiHandler_Loop136: + jsr Sub_BDE6 ; CPU:$BC45 PRG:3C45 20 E6 BD lda #$00 ; CPU:$BC48 PRG:3C48 A9 00 sta $057F ; CPU:$BC4A PRG:3C4A 8D 7F 05 - jsr Sub_BE1E ; CPU:$BC4D PRG:3C4D 20 1E BE + jsr Sub_BE1E ; CPU:$BC4D PRG:3C4D 20 1E BE ; ----------------------------------------------------------------------------- ; Routine: Sub_BC50 -; Global: Branch target inside Label: taken when BC50. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BC50. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6465,31 +6634,31 @@ Sub_BC50: sta $0688 ; CPU:$BC52 PRG:3C52 8D 88 06 lda #$FF ; CPU:$BC55 PRG:3C55 A9 FF sta $057D ; CPU:$BC57 PRG:3C57 8D 7D 05 - jsr Sub_BD58 ; CPU:$BC5A PRG:3C5A 20 58 BD - jsr Sub_BE56 ; CPU:$BC5D PRG:3C5D 20 56 BE + jsr Sub_BD58 ; CPU:$BC5A PRG:3C5A 20 58 BD + jsr Sub_BE56 ; CPU:$BC5D PRG:3C5D 20 56 BE lda #$00 ; CPU:$BC60 PRG:3C60 A9 00 sta $057F ; CPU:$BC62 PRG:3C62 8D 7F 05 lda $0590 ; CPU:$BC65 PRG:3C65 AD 90 05 - beq NmiHandler_Loop135 ; CPU:$BC68 PRG:3C68 F0 31 + beq NmiHandler_Loop138 ; CPU:$BC68 PRG:3C68 F0 31 dec $0590 ; CPU:$BC6A PRG:3C6A CE 90 05 - jmp Sub_BC50 ; CPU:$BC6D PRG:3C6D 4C 50 BC + jmp Sub_BC50 ; CPU:$BC6D PRG:3C6D 4C 50 BC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop134 -; Global: Branch target inside Label: taken when BC70. -; Local: Part of Label. +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop134: - jsr Sub_BDE6 ; CPU:$BC70 PRG:3C70 20 E6 BD +NmiHandler_Loop137: + jsr Sub_BDE6 ; CPU:$BC70 PRG:3C70 20 E6 BD lda #$00 ; CPU:$BC73 PRG:3C73 A9 00 sta $057F ; CPU:$BC75 PRG:3C75 8D 7F 05 - jsr Sub_BE3A ; CPU:$BC78 PRG:3C78 20 3A BE + jsr Sub_BE3A ; CPU:$BC78 PRG:3C78 20 3A BE ; ----------------------------------------------------------------------------- ; Routine: Sub_BC7B -; Global: Branch target inside Label: taken when BC7B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BC7B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6499,33 +6668,33 @@ Sub_BC7B: sta $0688 ; CPU:$BC7D PRG:3C7D 8D 88 06 lda #$FF ; CPU:$BC80 PRG:3C80 A9 FF sta $057D ; CPU:$BC82 PRG:3C82 8D 7D 05 - jsr Sub_BD58 ; CPU:$BC85 PRG:3C85 20 58 BD - jsr Sub_BE56 ; CPU:$BC88 PRG:3C88 20 56 BE + jsr Sub_BD58 ; CPU:$BC85 PRG:3C85 20 58 BD + jsr Sub_BE56 ; CPU:$BC88 PRG:3C88 20 56 BE lda #$00 ; CPU:$BC8B PRG:3C8B A9 00 sta $057F ; CPU:$BC8D PRG:3C8D 8D 7F 05 lda $0590 ; CPU:$BC90 PRG:3C90 AD 90 05 - beq NmiHandler_Loop135 ; CPU:$BC93 PRG:3C93 F0 06 + beq NmiHandler_Loop138 ; CPU:$BC93 PRG:3C93 F0 06 dec $0590 ; CPU:$BC95 PRG:3C95 CE 90 05 - jmp Sub_BC7B ; CPU:$BC98 PRG:3C98 4C 7B BC + jmp Sub_BC7B ; CPU:$BC98 PRG:3C98 4C 7B BC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop135 -; Global: Branch target inside Label: taken when BC9B. -; Local: Part of Label. +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop135: - jsr Sub_BDE6 ; CPU:$BC9B PRG:3C9B 20 E6 BD +NmiHandler_Loop138: + jsr Sub_BDE6 ; CPU:$BC9B PRG:3C9B 20 E6 BD lda #$00 ; CPU:$BC9E PRG:3C9E A9 00 sta $057F ; CPU:$BCA0 PRG:3CA0 8D 7F 05 lda #$02 ; CPU:$BCA3 PRG:3CA3 A9 02 - jsr Sub_8224 ; CPU:$BCA5 PRG:3CA5 20 24 82 - jsr Sub_8266 ; CPU:$BCA8 PRG:3CA8 20 66 82 + jsr Sub_8224 ; CPU:$BCA5 PRG:3CA5 20 24 82 + jsr Sub_8266 ; CPU:$BCA8 PRG:3CA8 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_BCAB -; Global: Branch target inside Label: taken when BCAB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BCAB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6535,8 +6704,8 @@ Sub_BCAB: ldy #$00 ; CPU:$BCAD PRG:3CAD A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero33 -; Global: Branch target inside Label: taken when BCAF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6544,162 +6713,162 @@ Sub_BCAB: NmiHandler_OnNonzero33: sta $0200,y ; CPU:$BCAF PRG:3CAF 99 00 02 dey ; CPU:$BCB2 PRG:3CB2 88 - bne NmiHandler_OnNonzero33 ; CPU:$BCB3 PRG:3CB3 D0 FA + bne NmiHandler_OnNonzero33 ; CPU:$BCB3 PRG:3CB3 D0 FA rts ; CPU:$BCB5 PRG:3CB5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BCB6 -; Global: Branch target inside Label: taken when BCB6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BCB6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BCB6: - jsr Sub_9C53 ; CPU:$BCB6 PRG:3CB6 20 53 9C + jsr Sub_9C53 ; CPU:$BCB6 PRG:3CB6 20 53 9C lda #$20 ; CPU:$BCB9 PRG:3CB9 A9 20 - sta Zp72 ; CPU:$BCBB PRG:3CBB 85 72 + sta OamShadowPtrHi ; CPU:$BCBB PRG:3CBB 85 72 lda #$00 ; CPU:$BCBD PRG:3CBD A9 00 - sta Zp71 ; CPU:$BCBF PRG:3CBF 85 71 + sta OamShadowPtrLo ; CPU:$BCBF PRG:3CBF 85 71 lda #$FF ; CPU:$BCC1 PRG:3CC1 A9 FF - sta Zp74 ; CPU:$BCC3 PRG:3CC3 85 74 + sta VramWritePtrHi ; CPU:$BCC3 PRG:3CC3 85 74 lda #$DA ; CPU:$BCC5 PRG:3CC5 A9 DA - sta Zp73 ; CPU:$BCC7 PRG:3CC7 85 73 + sta VramWritePtrLo ; CPU:$BCC7 PRG:3CC7 85 73 lda #$1E ; CPU:$BCC9 PRG:3CC9 A9 1E - sta Zp6F ; CPU:$BCCB PRG:3CCB 85 6F - jsr NmiHandler_OnNonzero34 ; CPU:$BCCD PRG:3CCD 20 E4 BC + sta PlayerSpriteX ; CPU:$BCCB PRG:3CCB 85 6F + jsr NmiHandler_OnNonzero34 ; CPU:$BCCD PRG:3CCD 20 E4 BC lda #$28 ; CPU:$BCD0 PRG:3CD0 A9 28 - sta Zp72 ; CPU:$BCD2 PRG:3CD2 85 72 + sta OamShadowPtrHi ; CPU:$BCD2 PRG:3CD2 85 72 lda #$00 ; CPU:$BCD4 PRG:3CD4 A9 00 - sta Zp71 ; CPU:$BCD6 PRG:3CD6 85 71 + sta OamShadowPtrLo ; CPU:$BCD6 PRG:3CD6 85 71 lda #$FF ; CPU:$BCD8 PRG:3CD8 A9 FF - sta Zp74 ; CPU:$BCDA PRG:3CDA 85 74 + sta VramWritePtrHi ; CPU:$BCDA PRG:3CDA 85 74 lda #$DA ; CPU:$BCDC PRG:3CDC A9 DA - sta Zp73 ; CPU:$BCDE PRG:3CDE 85 73 + sta VramWritePtrLo ; CPU:$BCDE PRG:3CDE 85 73 lda #$1E ; CPU:$BCE0 PRG:3CE0 A9 1E - sta Zp6F ; CPU:$BCE2 PRG:3CE2 85 6F + sta PlayerSpriteX ; CPU:$BCE2 PRG:3CE2 85 6F ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero34 -; Global: Branch target inside Label: taken when BCE4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero34: lda #$20 ; CPU:$BCE4 PRG:3CE4 A9 20 - sta Zp70 ; CPU:$BCE6 PRG:3CE6 85 70 - jsr Sub_973E ; CPU:$BCE8 PRG:3CE8 20 3E 97 + sta PlayerSpriteY ; CPU:$BCE6 PRG:3CE6 85 70 + jsr Sub_973E ; CPU:$BCE8 PRG:3CE8 20 3E 97 clc ; CPU:$BCEB PRG:3CEB 18 - lda Zp71 ; CPU:$BCEC PRG:3CEC A5 71 + lda OamShadowPtrLo ; CPU:$BCEC PRG:3CEC A5 71 adc #$20 ; CPU:$BCEE PRG:3CEE 69 20 - sta Zp71 ; CPU:$BCF0 PRG:3CF0 85 71 - lda Zp72 ; CPU:$BCF2 PRG:3CF2 A5 72 + sta OamShadowPtrLo ; CPU:$BCF0 PRG:3CF0 85 71 + lda OamShadowPtrHi ; CPU:$BCF2 PRG:3CF2 A5 72 adc #$00 ; CPU:$BCF4 PRG:3CF4 69 00 - sta Zp72 ; CPU:$BCF6 PRG:3CF6 85 72 - dec Zp6F ; CPU:$BCF8 PRG:3CF8 C6 6F - bne NmiHandler_OnNonzero34 ; CPU:$BCFA PRG:3CFA D0 E8 + sta OamShadowPtrHi ; CPU:$BCF6 PRG:3CF6 85 72 + dec PlayerSpriteX ; CPU:$BCF8 PRG:3CF8 C6 6F + bne NmiHandler_OnNonzero34 ; CPU:$BCFA PRG:3CFA D0 E8 rts ; CPU:$BCFC PRG:3CFC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BCFD -; Global: Branch target inside Label: taken when BCFD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BCFD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BCFD: lda #$03 ; CPU:$BCFD PRG:3CFD A9 03 - sta Zp74 ; CPU:$BCFF PRG:3CFF 85 74 + sta VramWritePtrHi ; CPU:$BCFF PRG:3CFF 85 74 lda #$03 ; CPU:$BD01 PRG:3D01 A9 03 - sta Zp73 ; CPU:$BD03 PRG:3D03 85 73 + sta VramWritePtrLo ; CPU:$BD03 PRG:3D03 85 73 lda #$01 ; CPU:$BD05 PRG:3D05 A9 01 - sta Zp70 ; CPU:$BD07 PRG:3D07 85 70 + sta PlayerSpriteY ; CPU:$BD07 PRG:3D07 85 70 lda #$D5 ; CPU:$BD09 PRG:3D09 A9 D5 - sta Zp6F ; CPU:$BD0B PRG:3D0B 85 6F + sta PlayerSpriteX ; CPU:$BD0B PRG:3D0B 85 6F ldy #$00 ; CPU:$BD0D PRG:3D0D A0 00 - lda Zp70 ; CPU:$BD0F PRG:3D0F A5 70 - beq NmiHandler_Loop136 ; CPU:$BD11 PRG:3D11 F0 0D + lda PlayerSpriteY ; CPU:$BD0F PRG:3D0F A5 70 + beq NmiHandler_Loop139 ; CPU:$BD11 PRG:3D11 F0 0D lda #$00 ; CPU:$BD13 PRG:3D13 A9 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero35 -; Global: Branch target inside Label: taken when BD15. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero35: - sta (Zp73),y ; CPU:$BD15 PRG:3D15 91 73 + sta (VramWritePtrLo),y ; CPU:$BD15 PRG:3D15 91 73 iny ; CPU:$BD17 PRG:3D17 C8 - bne NmiHandler_OnNonzero35 ; CPU:$BD18 PRG:3D18 D0 FB - inc Zp74 ; CPU:$BD1A PRG:3D1A E6 74 - dec Zp70 ; CPU:$BD1C PRG:3D1C C6 70 - bne NmiHandler_OnNonzero35 ; CPU:$BD1E PRG:3D1E D0 F5 + bne NmiHandler_OnNonzero35 ; CPU:$BD18 PRG:3D18 D0 FB + inc VramWritePtrHi ; CPU:$BD1A PRG:3D1A E6 74 + dec PlayerSpriteY ; CPU:$BD1C PRG:3D1C C6 70 + bne NmiHandler_OnNonzero35 ; CPU:$BD1E PRG:3D1E D0 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop136 -; Global: Branch target inside Label: taken when BD20. -; Local: Part of Label. +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop136: - ldy Zp6F ; CPU:$BD20 PRG:3D20 A4 6F - beq NmiHandler_Loop137 ; CPU:$BD22 PRG:3D22 F0 07 +NmiHandler_Loop139: + ldy PlayerSpriteX ; CPU:$BD20 PRG:3D20 A4 6F + beq NmiHandler_Loop140 ; CPU:$BD22 PRG:3D22 F0 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero36 -; Global: Branch target inside Label: taken when BD24. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero36: - sta (Zp73),y ; CPU:$BD24 PRG:3D24 91 73 + sta (VramWritePtrLo),y ; CPU:$BD24 PRG:3D24 91 73 dey ; CPU:$BD26 PRG:3D26 88 cpy #$FF ; CPU:$BD27 PRG:3D27 C0 FF - bne NmiHandler_OnNonzero36 ; CPU:$BD29 PRG:3D29 D0 F9 + bne NmiHandler_OnNonzero36 ; CPU:$BD29 PRG:3D29 D0 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop137 -; Global: Branch target inside Label: taken when BD2B. -; Local: Part of Label. +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop137: +NmiHandler_Loop140: ldy #$10 ; CPU:$BD2B PRG:3D2B A0 10 lda #$00 ; CPU:$BD2D PRG:3D2D A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative8 -; Global: Branch target inside Label: taken when BD2F. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative9 +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative8: +NmiHandler_OnNonnegative9: sta a:ZpB7,y ; CPU:$BD2F PRG:3D2F 99 B7 00 dey ; CPU:$BD32 PRG:3D32 88 - bpl NmiHandler_OnNonnegative8 ; CPU:$BD33 PRG:3D33 10 FA + bpl NmiHandler_OnNonnegative9 ; CPU:$BD33 PRG:3D33 10 FA rts ; CPU:$BD35 PRG:3D35 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BD36 -; Global: Branch target inside Label: taken when BD36. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BD36. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BD36: lda $0580 ; CPU:$BD36 PRG:3D36 AD 80 05 - bne NmiHandler_Loop138 ; CPU:$BD39 PRG:3D39 D0 0A + bne NmiHandler_Loop141 ; CPU:$BD39 PRG:3D39 D0 0A ldx #$E4 ; CPU:$BD3B PRG:3D3B A2 E4 lda #$00 ; CPU:$BD3D PRG:3D3D A9 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero37 -; Global: Branch target inside Label: taken when BD3F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6707,21 +6876,21 @@ Sub_BD36: NmiHandler_OnNonzero37: sta $0587,x ; CPU:$BD3F PRG:3D3F 9D 87 05 dex ; CPU:$BD42 PRG:3D42 CA - bne NmiHandler_OnNonzero37 ; CPU:$BD43 PRG:3D43 D0 FA + bne NmiHandler_OnNonzero37 ; CPU:$BD43 PRG:3D43 D0 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop138 -; Global: Branch target inside Label: taken when BD45. -; Local: Part of Label. +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop138: +NmiHandler_Loop141: rts ; CPU:$BD45 PRG:3D45 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BD46 -; Global: Branch target inside Label: taken when BD46. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BD46. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6730,48 +6899,48 @@ Sub_BD46: lda #$08 ; CPU:$BD46 PRG:3D46 A9 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero38 -; Global: Branch target inside Label: taken when BD48. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero38: - jsr Sub_826F ; CPU:$BD48 PRG:3D48 20 6F 82 + jsr Sub_826F ; CPU:$BD48 PRG:3D48 20 6F 82 clc ; CPU:$BD4B PRG:3D4B 18 adc #$02 ; CPU:$BD4C PRG:3D4C 69 02 cmp #$36 ; CPU:$BD4E PRG:3D4E C9 36 - bne NmiHandler_OnNonzero38 ; CPU:$BD50 PRG:3D50 D0 F6 + bne NmiHandler_OnNonzero38 ; CPU:$BD50 PRG:3D50 D0 F6 lda #$34 ; CPU:$BD52 PRG:3D52 A9 34 - jsr Sub_8224 ; CPU:$BD54 PRG:3D54 20 24 82 + jsr Sub_8224 ; CPU:$BD54 PRG:3D54 20 24 82 rts ; CPU:$BD57 PRG:3D57 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BD58 -; Global: Branch target inside Label: taken when BD58. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BD58. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BD58: lda #$34 ; CPU:$BD58 PRG:3D58 A9 34 - jsr Sub_826F ; CPU:$BD5A PRG:3D5A 20 6F 82 - jsr Sub_BDCA ; CPU:$BD5D PRG:3D5D 20 CA BD + jsr Sub_826F ; CPU:$BD5A PRG:3D5A 20 6F 82 + jsr Sub_BDCA ; CPU:$BD5D PRG:3D5D 20 CA BD lda #$BD ; CPU:$BD60 PRG:3D60 A9 BD - sta Zp74 ; CPU:$BD62 PRG:3D62 85 74 + sta VramWritePtrHi ; CPU:$BD62 PRG:3D62 85 74 lda #$B5 ; CPU:$BD64 PRG:3D64 A9 B5 - sta Zp73 ; CPU:$BD66 PRG:3D66 85 73 + sta VramWritePtrLo ; CPU:$BD66 PRG:3D66 85 73 lda #$22 ; CPU:$BD68 PRG:3D68 A9 22 - sta Zp72 ; CPU:$BD6A PRG:3D6A 85 72 + sta OamShadowPtrHi ; CPU:$BD6A PRG:3D6A 85 72 lda #$0E ; CPU:$BD6C PRG:3D6C A9 0E - sta Zp71 ; CPU:$BD6E PRG:3D6E 85 71 + sta OamShadowPtrLo ; CPU:$BD6E PRG:3D6E 85 71 lda #$05 ; CPU:$BD70 PRG:3D70 A9 05 - sta Zp70 ; CPU:$BD72 PRG:3D72 85 70 - jsr Sub_973E ; CPU:$BD74 PRG:3D74 20 3E 97 + sta PlayerSpriteY ; CPU:$BD72 PRG:3D72 85 70 + jsr Sub_973E ; CPU:$BD74 PRG:3D74 20 3E 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_BD77 -; Global: Branch target inside Label: taken when BD77. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BD77. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6779,78 +6948,79 @@ Sub_BD58: Sub_BD77: lda $0587 ; CPU:$BD77 PRG:3D77 AD 87 05 cmp #$00 ; CPU:$BD7A PRG:3D7A C9 00 - beq NmiHandler_Loop139 ; CPU:$BD7C PRG:3D7C F0 0A + beq NmiHandler_Loop142 ; CPU:$BD7C PRG:3D7C F0 0A lda #$C2 ; CPU:$BD7E PRG:3D7E A9 C2 - sta Zp73 ; CPU:$BD80 PRG:3D80 85 73 + sta VramWritePtrLo ; CPU:$BD80 PRG:3D80 85 73 lda #$BD ; CPU:$BD82 PRG:3D82 A9 BD - sta Zp74 ; CPU:$BD84 PRG:3D84 85 74 - bne NmiHandler_Loop140 ; CPU:$BD86 PRG:3D86 D0 08 + sta VramWritePtrHi ; CPU:$BD84 PRG:3D84 85 74 + bne NmiHandler_Loop143 ; CPU:$BD86 PRG:3D86 D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop139 -; Global: Branch target inside Label: taken when BD88. -; Local: Part of Label. +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop139: +NmiHandler_Loop142: lda #$BD ; CPU:$BD88 PRG:3D88 A9 BD - sta Zp74 ; CPU:$BD8A PRG:3D8A 85 74 + sta VramWritePtrHi ; CPU:$BD8A PRG:3D8A 85 74 lda #$BA ; CPU:$BD8C PRG:3D8C A9 BA - sta Zp73 ; CPU:$BD8E PRG:3D8E 85 73 + sta VramWritePtrLo ; CPU:$BD8E PRG:3D8E 85 73 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop140 -; Global: Branch target inside Label: taken when BD90. -; Local: Part of Label. +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop140: +NmiHandler_Loop143: lda #$21 ; CPU:$BD90 PRG:3D90 A9 21 - sta Zp72 ; CPU:$BD92 PRG:3D92 85 72 + sta OamShadowPtrHi ; CPU:$BD92 PRG:3D92 85 72 lda #$CC ; CPU:$BD94 PRG:3D94 A9 CC - sta Zp71 ; CPU:$BD96 PRG:3D96 85 71 + sta OamShadowPtrLo ; CPU:$BD96 PRG:3D96 85 71 lda #$08 ; CPU:$BD98 PRG:3D98 A9 08 - sta Zp70 ; CPU:$BD9A PRG:3D9A 85 70 - jsr Sub_973E ; CPU:$BD9C PRG:3D9C 20 3E 97 + sta PlayerSpriteY ; CPU:$BD9A PRG:3D9A 85 70 + jsr Sub_973E ; CPU:$BD9C PRG:3D9C 20 3E 97 lda #$00 ; CPU:$BD9F PRG:3D9F A9 00 - sta Zp70 ; CPU:$BDA1 PRG:3DA1 85 70 + sta PlayerSpriteY ; CPU:$BDA1 PRG:3DA1 85 70 lda #$78 ; CPU:$BDA3 PRG:3DA3 A9 78 - sta Zp6F ; CPU:$BDA5 PRG:3DA5 85 6F - jsr Sub_8280 ; CPU:$BDA7 PRG:3DA7 20 80 82 + sta PlayerSpriteX ; CPU:$BDA5 PRG:3DA5 85 6F + jsr Sub_8280 ; CPU:$BDA7 PRG:3DA7 20 80 82 lda #$FF ; CPU:$BDAA PRG:3DAA A9 FF sta $057F ; CPU:$BDAC PRG:3DAC 8D 7F 05 lda #$34 ; CPU:$BDAF PRG:3DAF A9 34 - jsr Sub_8224 ; CPU:$BDB1 PRG:3DB1 20 24 82 + jsr Sub_8224 ; CPU:$BDB1 PRG:3DB1 20 24 82 rts ; CPU:$BDB4 PRG:3DB4 60 ; ---- data $BDB5-$BDC9 (21 bytes) ---- - .byte $A4, $9E, $9A, $9D, $AB, $A2, $8E, $9A, $AB, $9E, $A4, $FF, $91, $A2, $8E, $9A ; CPU:$BDB5 PRG:3DB5 A4 9E 9A 9D AB A2 8E 9A AB 9E A4 FF 91 A2 8E 9A +EnemyScriptPointerTable: + .byte $A4, $9E, $9A, $9D, $AB, $A2, $8E, $9A, $AB, $9E, $A4, $FF, $91, $A2, $8E, $9A ; CPU:$BDB5 PRG:-24B A4 9E 9A 9D AB A2 8E 9A AB 9E A4 FF 91 A2 8E 9A .byte $AB, $9E, $A4, $FF, $92 ; CPU:$BDC5 PRG:3DC5 AB 9E A4 FF 92 ; ----------------------------------------------------------------------------- ; Routine: Sub_BDCA -; Global: Branch target inside Label: taken when BDCA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BDCA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BDCA: - jsr Sub_BCAB ; CPU:$BDCA PRG:3DCA 20 AB BC - jsr Sub_BCB6 ; CPU:$BDCD PRG:3DCD 20 B6 BC + jsr Sub_BCAB ; CPU:$BDCA PRG:3DCA 20 AB BC + jsr Sub_BCB6 ; CPU:$BDCD PRG:3DCD 20 B6 BC lda #$00 ; CPU:$BDD0 PRG:3DD0 A9 00 sta Zp8E ; CPU:$BDD2 PRG:3DD2 85 8E sta Zp8F ; CPU:$BDD4 PRG:3DD4 85 8F sta $0685 ; CPU:$BDD6 PRG:3DD6 8D 85 06 sta $0684 ; CPU:$BDD9 PRG:3DD9 8D 84 06 - jsr Sub_A30F ; CPU:$BDDC PRG:3DDC 20 0F A3 - lda Zp88 ; CPU:$BDDF PRG:3DDF A5 88 + jsr Sub_A30F ; CPU:$BDDC PRG:3DDC 20 0F A3 + lda PpuCtrlShadow ; CPU:$BDDF PRG:3DDF A5 88 and #$FD ; CPU:$BDE1 PRG:3DE1 29 FD - sta Zp88 ; CPU:$BDE3 PRG:3DE3 85 88 + sta PpuCtrlShadow ; CPU:$BDE3 PRG:3DE3 85 88 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero39 -; Global: Branch target inside Label: taken when BDE5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6859,39 +7029,40 @@ NmiHandler_OnNonzero39: rts ; CPU:$BDE5 PRG:3DE5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BDE6 -; Global: Branch target inside Label: taken when BDE6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BDE6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BDE6: - jsr Sub_F64E ; CPU:$BDE6 PRG:3DE6 20 4E F6 - jsr Sub_BDCA ; CPU:$BDE9 PRG:3DE9 20 CA BD + jsr Sub_F64E ; CPU:$BDE6 PRG:3DE6 20 4E F6 + jsr Sub_BDCA ; CPU:$BDE9 PRG:3DE9 20 CA BD lda $0580 ; CPU:$BDEC PRG:3DEC AD 80 05 - bne NmiHandler_OnNonzero39 ; CPU:$BDEF PRG:3DEF D0 F4 + bne NmiHandler_OnNonzero39 ; CPU:$BDEF PRG:3DEF D0 F4 lda #$13 ; CPU:$BDF1 PRG:3DF1 A9 13 - jsr Sub_F6DB ; CPU:$BDF3 PRG:3DF3 20 DB F6 + jsr Sub_F6DB ; CPU:$BDF3 PRG:3DF3 20 DB F6 lda #$00 ; CPU:$BDF6 PRG:3DF6 A9 00 sta $058F ; CPU:$BDF8 PRG:3DF8 8D 8F 05 lda #$BE ; CPU:$BDFB PRG:3DFB A9 BE - sta Zp74 ; CPU:$BDFD PRG:3DFD 85 74 + sta VramWritePtrHi ; CPU:$BDFD PRG:3DFD 85 74 lda #$15 ; CPU:$BDFF PRG:3DFF A9 15 - sta Zp73 ; CPU:$BE01 PRG:3E01 85 73 + sta VramWritePtrLo ; CPU:$BE01 PRG:3E01 85 73 lda #$22 ; CPU:$BE03 PRG:3E03 A9 22 - sta Zp72 ; CPU:$BE05 PRG:3E05 85 72 + sta OamShadowPtrHi ; CPU:$BE05 PRG:3E05 85 72 lda #$0C ; CPU:$BE07 PRG:3E07 A9 0C - sta Zp71 ; CPU:$BE09 PRG:3E09 85 71 + sta OamShadowPtrLo ; CPU:$BE09 PRG:3E09 85 71 lda #$09 ; CPU:$BE0B PRG:3E0B A9 09 - sta Zp70 ; CPU:$BE0D PRG:3E0D 85 70 - jsr Sub_973E ; CPU:$BE0F PRG:3E0F 20 3E 97 - jmp Sub_BD77 ; CPU:$BE12 PRG:3E12 4C 77 BD + sta PlayerSpriteY ; CPU:$BE0D PRG:3E0D 85 70 + jsr Sub_973E ; CPU:$BE0F PRG:3E0F 20 3E 97 + jmp Sub_BD77 ; CPU:$BE12 PRG:3E12 4C 77 BD ; ---- data $BE15-$BE1D (9 bytes) ---- - .byte $89, $9A, $8F, $9E, $FF, $90, $A8, $9E, $A4 ; CPU:$BE15 PRG:3E15 89 9A 8F 9E FF 90 A8 9E A4 +EnemyScriptEntryTable: + .byte $89, $9A, $8F, $9E, $FF, $90, $A8, $9E, $A4 ; CPU:$BE15 PRG:-1EB 89 9A 8F 9E FF 90 A8 9E A4 ; ----------------------------------------------------------------------------- ; Routine: Sub_BE1E -; Global: Branch target inside Label: taken when BE1E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BE1E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6900,8 +7071,8 @@ Sub_BE1E: ldx #$4C ; CPU:$BE1E PRG:3E1E A2 4C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero40 -; Global: Branch target inside Label: taken when BE20. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6910,12 +7081,12 @@ NmiHandler_OnNonzero40: lda $0587,x ; CPU:$BE20 PRG:3E20 BD 87 05 sta $05D3,x ; CPU:$BE23 PRG:3E23 9D D3 05 dex ; CPU:$BE26 PRG:3E26 CA - bne NmiHandler_OnNonzero40 ; CPU:$BE27 PRG:3E27 D0 F7 + bne NmiHandler_OnNonzero40 ; CPU:$BE27 PRG:3E27 D0 F7 ldx #$4C ; CPU:$BE29 PRG:3E29 A2 4C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero41 -; Global: Branch target inside Label: taken when BE2B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6924,14 +7095,14 @@ NmiHandler_OnNonzero41: lda $061F,x ; CPU:$BE2B PRG:3E2B BD 1F 06 sta $0587,x ; CPU:$BE2E PRG:3E2E 9D 87 05 dex ; CPU:$BE31 PRG:3E31 CA - bne NmiHandler_OnNonzero41 ; CPU:$BE32 PRG:3E32 D0 F7 + bne NmiHandler_OnNonzero41 ; CPU:$BE32 PRG:3E32 D0 F7 lda #$01 ; CPU:$BE34 PRG:3E34 A9 01 sta $0587 ; CPU:$BE36 PRG:3E36 8D 87 05 rts ; CPU:$BE39 PRG:3E39 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BE3A -; Global: Branch target inside Label: taken when BE3A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BE3A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6940,8 +7111,8 @@ Sub_BE3A: ldx #$4C ; CPU:$BE3A PRG:3E3A A2 4C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero42 -; Global: Branch target inside Label: taken when BE3C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6950,12 +7121,12 @@ NmiHandler_OnNonzero42: lda $0587,x ; CPU:$BE3C PRG:3E3C BD 87 05 sta $061F,x ; CPU:$BE3F PRG:3E3F 9D 1F 06 dex ; CPU:$BE42 PRG:3E42 CA - bne NmiHandler_OnNonzero42 ; CPU:$BE43 PRG:3E43 D0 F7 + bne NmiHandler_OnNonzero42 ; CPU:$BE43 PRG:3E43 D0 F7 ldx #$4C ; CPU:$BE45 PRG:3E45 A2 4C ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero43 -; Global: Branch target inside Label: taken when BE47. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6964,14 +7135,14 @@ NmiHandler_OnNonzero43: lda $05D3,x ; CPU:$BE47 PRG:3E47 BD D3 05 sta $0587,x ; CPU:$BE4A PRG:3E4A 9D 87 05 dex ; CPU:$BE4D PRG:3E4D CA - bne NmiHandler_OnNonzero43 ; CPU:$BE4E PRG:3E4E D0 F7 + bne NmiHandler_OnNonzero43 ; CPU:$BE4E PRG:3E4E D0 F7 lda #$00 ; CPU:$BE50 PRG:3E50 A9 00 sta $0587 ; CPU:$BE52 PRG:3E52 8D 87 05 rts ; CPU:$BE55 PRG:3E55 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BE56 -; Global: Branch target inside Label: taken when BE56. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BE56. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6979,23 +7150,23 @@ NmiHandler_OnNonzero43: Sub_BE56: lda #$00 ; CPU:$BE56 PRG:3E56 A9 00 sta $0683 ; CPU:$BE58 PRG:3E58 8D 83 06 - jsr Sub_F64E ; CPU:$BE5B PRG:3E5B 20 4E F6 - jsr Sub_F744 ; CPU:$BE5E PRG:3E5E 20 44 F7 - jsr Sub_BCFD ; CPU:$BE61 PRG:3E61 20 FD BC - jsr Sub_C293 ; CPU:$BE64 PRG:3E64 20 93 C2 + jsr Sub_F64E ; CPU:$BE5B PRG:3E5B 20 4E F6 + jsr Sub_F744 ; CPU:$BE5E PRG:3E5E 20 44 F7 + jsr Sub_BCFD ; CPU:$BE61 PRG:3E61 20 FD BC + jsr Sub_C293 ; CPU:$BE64 PRG:3E64 20 93 C2 lda #$18 ; CPU:$BE67 PRG:3E67 A9 18 sta $0680 ; CPU:$BE69 PRG:3E69 8D 80 06 - jsr Sub_C474 ; CPU:$BE6C PRG:3E6C 20 74 C4 + jsr Sub_C474 ; CPU:$BE6C PRG:3E6C 20 74 C4 lda $058E ; CPU:$BE6F PRG:3E6F AD 8E 05 asl a ; CPU:$BE72 PRG:3E72 0A asl a ; CPU:$BE73 PRG:3E73 0A asl a ; CPU:$BE74 PRG:3E74 0A asl a ; CPU:$BE75 PRG:3E75 0A sta ZpF7 ; CPU:$BE76 PRG:3E76 85 F7 - jsr Sub_A8EC ; CPU:$BE78 PRG:3E78 20 EC A8 - jsr Sub_C321 ; CPU:$BE7B PRG:3E7B 20 21 C3 + jsr Sub_A8EC ; CPU:$BE78 PRG:3E78 20 EC A8 + jsr Sub_C321 ; CPU:$BE7B PRG:3E7B 20 21 C3 lda $057D ; CPU:$BE7E PRG:3E7E AD 7D 05 - beq NmiHandler_Loop145 ; CPU:$BE81 PRG:3E81 F0 6F + beq NmiHandler_Loop148 ; CPU:$BE81 PRG:3E81 F0 6F ldx $05D1 ; CPU:$BE83 PRG:3E83 AE D1 05 lda $03FB,x ; CPU:$BE86 PRG:3E86 BD FB 03 ora #$04 ; CPU:$BE89 PRG:3E89 09 04 @@ -7014,93 +7185,93 @@ Sub_BE56: sta $030A ; CPU:$BEAB PRG:3EAB 8D 0A 03 lda $058F ; CPU:$BEAE PRG:3EAE AD 8F 05 cmp #$00 ; CPU:$BEB1 PRG:3EB1 C9 00 - bne NmiHandler_Loop141 ; CPU:$BEB3 PRG:3EB3 D0 02 + bne NmiHandler_Loop144 ; CPU:$BEB3 PRG:3EB3 D0 02 lda #$01 ; CPU:$BEB5 PRG:3EB5 A9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop141 -; Global: Branch target inside Label: taken when BEB7. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop141: - sta ZpEC ; CPU:$BEB7 PRG:3EB7 85 EC - ldy #$09 ; CPU:$BEB9 PRG:3EB9 A0 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative9 -; Global: Branch target inside Label: taken when BEBB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative9: - ldx $0592,y ; CPU:$BEBB PRG:3EBB BE 92 05 - bpl NmiHandler_Loop142 ; CPU:$BEBE PRG:3EBE 10 05 - cmp $059C,y ; CPU:$BEC0 PRG:3EC0 D9 9C 05 - beq NmiHandler_Loop143 ; CPU:$BEC3 PRG:3EC3 F0 0F -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop142 -; Global: Branch target inside Label: taken when BEC5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop142: - dey ; CPU:$BEC5 PRG:3EC5 88 - bpl NmiHandler_OnNonnegative9 ; CPU:$BEC6 PRG:3EC6 10 F3 - lda #$6C ; CPU:$BEC8 PRG:3EC8 A9 6C - sta ZpCF ; CPU:$BECA PRG:3ECA 85 CF - ldx #$07 ; CPU:$BECC PRG:3ECC A2 07 - jsr Sub_9B11 ; CPU:$BECE PRG:3ECE 20 11 9B - jmp Sub_BF91 ; CPU:$BED1 PRG:3ED1 4C 91 BF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop143 -; Global: Branch target inside Label: taken when BED4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop143: - ldx #$07 ; CPU:$BED4 PRG:3ED4 A2 07 - lda $05A6,y ; CPU:$BED6 PRG:3ED6 B9 A6 05 - tay ; CPU:$BED9 PRG:3ED9 A8 - bmi NmiHandler_Loop144 ; CPU:$BEDA PRG:3EDA 30 0B - clc ; CPU:$BEDC PRG:3EDC 18 - adc #$08 ; CPU:$BEDD PRG:3EDD 69 08 - sta ZpCF ; CPU:$BEDF PRG:3EDF 85 CF - jsr Sub_9B11 ; CPU:$BEE1 PRG:3EE1 20 11 9B - jmp Sub_BF91 ; CPU:$BEE4 PRG:3EE4 4C 91 BF -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop144 -; Global: Branch target inside Label: taken when BEE7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop144: - sec ; CPU:$BEE7 PRG:3EE7 38 - sbc #$08 ; CPU:$BEE8 PRG:3EE8 E9 08 - sta ZpCF ; CPU:$BEEA PRG:3EEA 85 CF - jsr Sub_9B18 ; CPU:$BEEC PRG:3EEC 20 18 9B - jmp Sub_BF91 ; CPU:$BEEF PRG:3EEF 4C 91 BF + sta ZpEC ; CPU:$BEB7 PRG:3EB7 85 EC + ldy #$09 ; CPU:$BEB9 PRG:3EB9 A0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative10 +; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative10: + ldx $0592,y ; CPU:$BEBB PRG:3EBB BE 92 05 + bpl NmiHandler_Loop145 ; CPU:$BEBE PRG:3EBE 10 05 + cmp $059C,y ; CPU:$BEC0 PRG:3EC0 D9 9C 05 + beq NmiHandler_Loop146 ; CPU:$BEC3 PRG:3EC3 F0 0F ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop145 -; Global: Branch target inside Label: taken when BEF2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop145: + dey ; CPU:$BEC5 PRG:3EC5 88 + bpl NmiHandler_OnNonnegative10 ; CPU:$BEC6 PRG:3EC6 10 F3 + lda #$6C ; CPU:$BEC8 PRG:3EC8 A9 6C + sta ZpCF ; CPU:$BECA PRG:3ECA 85 CF + ldx #$07 ; CPU:$BECC PRG:3ECC A2 07 + jsr Sub_9B11 ; CPU:$BECE PRG:3ECE 20 11 9B + jmp Sub_BF91 ; CPU:$BED1 PRG:3ED1 4C 91 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + ldx #$07 ; CPU:$BED4 PRG:3ED4 A2 07 + lda $05A6,y ; CPU:$BED6 PRG:3ED6 B9 A6 05 + tay ; CPU:$BED9 PRG:3ED9 A8 + bmi NmiHandler_Loop147 ; CPU:$BEDA PRG:3EDA 30 0B + clc ; CPU:$BEDC PRG:3EDC 18 + adc #$08 ; CPU:$BEDD PRG:3EDD 69 08 + sta ZpCF ; CPU:$BEDF PRG:3EDF 85 CF + jsr Sub_9B11 ; CPU:$BEE1 PRG:3EE1 20 11 9B + jmp Sub_BF91 ; CPU:$BEE4 PRG:3EE4 4C 91 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + sec ; CPU:$BEE7 PRG:3EE7 38 + sbc #$08 ; CPU:$BEE8 PRG:3EE8 E9 08 + sta ZpCF ; CPU:$BEEA PRG:3EEA 85 CF + jsr Sub_9B18 ; CPU:$BEEC PRG:3EEC 20 18 9B + jmp Sub_BF91 ; CPU:$BEEF PRG:3EEF 4C 91 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: lda #$00 ; CPU:$BEF2 PRG:3EF2 A9 00 sta $066C ; CPU:$BEF4 PRG:3EF4 8D 6C 06 lda #$2C ; CPU:$BEF7 PRG:3EF7 A9 2C - jsr Sub_8224 ; CPU:$BEF9 PRG:3EF9 20 24 82 + jsr Sub_8224 ; CPU:$BEF9 PRG:3EF9 20 24 82 ldx #$0C ; CPU:$BEFC PRG:3EFC A2 0C lda #$80 ; CPU:$BEFE PRG:3EFE A9 80 sta ZpC3 ; CPU:$BF00 PRG:3F00 85 C3 @@ -7109,126 +7280,126 @@ NmiHandler_Loop145: lda #$28 ; CPU:$BF06 PRG:3F06 A9 28 sta $030F ; CPU:$BF08 PRG:3F08 8D 0F 03 lda #$69 ; CPU:$BF0B PRG:3F0B A9 69 - sta Zp73 ; CPU:$BF0D PRG:3F0D 85 73 + sta VramWritePtrLo ; CPU:$BF0D PRG:3F0D 85 73 lda #$C5 ; CPU:$BF0F PRG:3F0F A9 C5 - sta Zp74 ; CPU:$BF11 PRG:3F11 85 74 - jsr Sub_8334 ; CPU:$BF13 PRG:3F13 20 34 83 - jsr Sub_9C69 ; CPU:$BF16 PRG:3F16 20 69 9C + sta VramWritePtrHi ; CPU:$BF11 PRG:3F11 85 74 + jsr Sub_8334 ; CPU:$BF13 PRG:3F13 20 34 83 + jsr Sub_9C69 ; CPU:$BF16 PRG:3F16 20 69 9C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear12 -; Global: Branch target inside Label: taken when BF19. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear15 +; Global: Branch target inside NmiHandler: taken when OnCarryClear15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear12: - jsr Sub_C14E ; CPU:$BF19 PRG:3F19 20 4E C1 +NmiHandler_OnCarryClear15: + jsr Sub_C14E ; CPU:$BF19 PRG:3F19 20 4E C1 inc ZpD4 ; CPU:$BF1C PRG:3F1C E6 D4 inc ZpD4 ; CPU:$BF1E PRG:3F1E E6 D4 inc $030F ; CPU:$BF20 PRG:3F20 EE 0F 03 - jsr NmiHandler_Loop17 ; CPU:$BF23 PRG:3F23 20 62 83 - bcc NmiHandler_OnCarryClear12 ; CPU:$BF26 PRG:3F26 90 F1 + jsr NmiHandler_Loop17 ; CPU:$BF23 PRG:3F23 20 62 83 + bcc NmiHandler_OnCarryClear15 ; CPU:$BF26 PRG:3F26 90 F1 lda #$0B ; CPU:$BF28 PRG:3F28 A9 0B - jsr Sub_F6DB ; CPU:$BF2A PRG:3F2A 20 DB F6 + jsr Sub_F6DB ; CPU:$BF2A PRG:3F2A 20 DB F6 lda #$0C ; CPU:$BF2D PRG:3F2D A9 0C - jsr Sub_F6DB ; CPU:$BF2F PRG:3F2F 20 DB F6 + jsr Sub_F6DB ; CPU:$BF2F PRG:3F2F 20 DB F6 lda #$81 ; CPU:$BF32 PRG:3F32 A9 81 - sta Zp73 ; CPU:$BF34 PRG:3F34 85 73 + sta VramWritePtrLo ; CPU:$BF34 PRG:3F34 85 73 lda #$C5 ; CPU:$BF36 PRG:3F36 A9 C5 - sta Zp74 ; CPU:$BF38 PRG:3F38 85 74 - jsr Sub_8334 ; CPU:$BF3A PRG:3F3A 20 34 83 + sta VramWritePtrHi ; CPU:$BF38 PRG:3F38 85 74 + jsr Sub_8334 ; CPU:$BF3A PRG:3F3A 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear13 -; Global: Branch target inside Label: taken when BF3D. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear16 +; Global: Branch target inside NmiHandler: taken when OnCarryClear16. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear13: - jsr Sub_C14E ; CPU:$BF3D PRG:3F3D 20 4E C1 - jsr NmiHandler_Loop17 ; CPU:$BF40 PRG:3F40 20 62 83 - bcc NmiHandler_OnCarryClear13 ; CPU:$BF43 PRG:3F43 90 F8 +NmiHandler_OnCarryClear16: + jsr Sub_C14E ; CPU:$BF3D PRG:3F3D 20 4E C1 + jsr NmiHandler_Loop17 ; CPU:$BF40 PRG:3F40 20 62 83 + bcc NmiHandler_OnCarryClear16 ; CPU:$BF43 PRG:3F43 90 F8 lda #$0A ; CPU:$BF45 PRG:3F45 A9 0A - jsr Sub_F6DB ; CPU:$BF47 PRG:3F47 20 DB F6 + jsr Sub_F6DB ; CPU:$BF47 PRG:3F47 20 DB F6 lda #$00 ; CPU:$BF4A PRG:3F4A A9 00 sta $0302 ; CPU:$BF4C PRG:3F4C 8D 02 03 lda #$1A ; CPU:$BF4F PRG:3F4F A9 1A - jsr Sub_8224 ; CPU:$BF51 PRG:3F51 20 24 82 + jsr Sub_8224 ; CPU:$BF51 PRG:3F51 20 24 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero4 -; Global: Branch target inside Label: taken when BF54. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnZero4: - jsr Sub_C14E ; CPU:$BF54 PRG:3F54 20 4E C1 - jsr Sub_82A3 ; CPU:$BF57 PRG:3F57 20 A3 82 + jsr Sub_C14E ; CPU:$BF54 PRG:3F54 20 4E C1 + jsr Sub_82A3 ; CPU:$BF57 PRG:3F57 20 A3 82 lda $0302 ; CPU:$BF5A PRG:3F5A AD 02 03 - beq NmiHandler_OnZero4 ; CPU:$BF5D PRG:3F5D F0 F5 + beq NmiHandler_OnZero4 ; CPU:$BF5D PRG:3F5D F0 F5 lda #$91 ; CPU:$BF5F PRG:3F5F A9 91 - sta Zp73 ; CPU:$BF61 PRG:3F61 85 73 + sta VramWritePtrLo ; CPU:$BF61 PRG:3F61 85 73 lda #$C5 ; CPU:$BF63 PRG:3F63 A9 C5 - sta Zp74 ; CPU:$BF65 PRG:3F65 85 74 - jsr Sub_8334 ; CPU:$BF67 PRG:3F67 20 34 83 + sta VramWritePtrHi ; CPU:$BF65 PRG:3F65 85 74 + jsr Sub_8334 ; CPU:$BF67 PRG:3F67 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear14 -; Global: Branch target inside Label: taken when BF6A. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear17 +; Global: Branch target inside NmiHandler: taken when OnCarryClear17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear14: - jsr Sub_C14E ; CPU:$BF6A PRG:3F6A 20 4E C1 - jsr NmiHandler_Loop17 ; CPU:$BF6D PRG:3F6D 20 62 83 - bcc NmiHandler_OnCarryClear14 ; CPU:$BF70 PRG:3F70 90 F8 +NmiHandler_OnCarryClear17: + jsr Sub_C14E ; CPU:$BF6A PRG:3F6A 20 4E C1 + jsr NmiHandler_Loop17 ; CPU:$BF6D PRG:3F6D 20 62 83 + bcc NmiHandler_OnCarryClear17 ; CPU:$BF70 PRG:3F70 90 F8 lda #$00 ; CPU:$BF72 PRG:3F72 A9 00 sta ZpC3 ; CPU:$BF74 PRG:3F74 85 C3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero44 -; Global: Branch target inside Label: taken when BF76. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero44: - jsr Sub_C14E ; CPU:$BF76 PRG:3F76 20 4E C1 - jsr Sub_82A3 ; CPU:$BF79 PRG:3F79 20 A3 82 + jsr Sub_C14E ; CPU:$BF76 PRG:3F76 20 4E C1 + jsr Sub_82A3 ; CPU:$BF79 PRG:3F79 20 A3 82 lda $0302 ; CPU:$BF7C PRG:3F7C AD 02 03 - bne NmiHandler_OnNonzero44 ; CPU:$BF7F PRG:3F7F D0 F5 + bne NmiHandler_OnNonzero44 ; CPU:$BF7F PRG:3F7F D0 F5 lda #$FF ; CPU:$BF81 PRG:3F81 A9 FF sta $066C ; CPU:$BF83 PRG:3F83 8D 6C 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero45 -; Global: Branch target inside Label: taken when BF86. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero45: - jsr Sub_C14E ; CPU:$BF86 PRG:3F86 20 4E C1 - jsr Sub_82A3 ; CPU:$BF89 PRG:3F89 20 A3 82 + jsr Sub_C14E ; CPU:$BF86 PRG:3F86 20 4E C1 + jsr Sub_82A3 ; CPU:$BF89 PRG:3F89 20 A3 82 lda $066C ; CPU:$BF8C PRG:3F8C AD 6C 06 - bne NmiHandler_OnNonzero45 ; CPU:$BF8F PRG:3F8F D0 F5 + bne NmiHandler_OnNonzero45 ; CPU:$BF8F PRG:3F8F D0 F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF91 -; Global: Branch target inside Label: taken when BF91. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BF91. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BF91: lda #$18 ; CPU:$BF91 PRG:3F91 A9 18 - jsr Sub_F6DB ; CPU:$BF93 PRG:3F93 20 DB F6 + jsr Sub_F6DB ; CPU:$BF93 PRG:3F93 20 DB F6 lda #$27 ; CPU:$BF96 PRG:3F96 A9 27 - jsr Sub_F6DB ; CPU:$BF98 PRG:3F98 20 DB F6 + jsr Sub_F6DB ; CPU:$BF98 PRG:3F98 20 DB F6 lda #$18 ; CPU:$BF9B PRG:3F9B A9 18 sta $0680 ; CPU:$BF9D PRG:3F9D 8D 80 06 lda #$00 ; CPU:$BFA0 PRG:3FA0 A9 00 @@ -7236,18 +7407,18 @@ Sub_BF91: lda #$06 ; CPU:$BFA5 PRG:3FA5 A9 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero46 -; Global: Branch target inside Label: taken when BFA7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero46: - jsr Sub_8224 ; CPU:$BFA7 PRG:3FA7 20 24 82 + jsr Sub_8224 ; CPU:$BFA7 PRG:3FA7 20 24 82 clc ; CPU:$BFAA PRG:3FAA 18 adc #$02 ; CPU:$BFAB PRG:3FAB 69 02 cmp #$18 ; CPU:$BFAD PRG:3FAD C9 18 - bne NmiHandler_OnNonzero46 ; CPU:$BFAF PRG:3FAF D0 F6 + bne NmiHandler_OnNonzero46 ; CPU:$BFAF PRG:3FAF D0 F6 ldx $0591 ; CPU:$BFB1 PRG:3FB1 AE 91 05 lda $03FB,x ; CPU:$BFB4 PRG:3FB4 BD FB 03 ora #$08 ; CPU:$BFB7 PRG:3FB7 09 08 @@ -7263,17 +7434,17 @@ NmiHandler_OnNonzero46: sta ZpFE ; CPU:$BFD0 PRG:3FD0 85 FE ; ----------------------------------------------------------------------------- ; Routine: Sub_BFD2 -; Global: Branch target inside Label: taken when BFD2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BFD2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BFD2: lda $0580 ; CPU:$BFD2 PRG:3FD2 AD 80 05 - beq NmiHandler_Loop147 ; CPU:$BFD5 PRG:3FD5 F0 19 + beq NmiHandler_Loop150 ; CPU:$BFD5 PRG:3FD5 F0 19 lda ZpFD ; CPU:$BFD7 PRG:3FD7 A5 FD - bne NmiHandler_Loop146 ; CPU:$BFD9 PRG:3FD9 D0 0B + bne NmiHandler_Loop149 ; CPU:$BFD9 PRG:3FD9 D0 0B ldy ZpFE ; CPU:$BFDB PRG:3FDB A4 FE iny ; CPU:$BFDD PRG:3FDD C8 lda $FF6A,y ; CPU:$BFDE PRG:3FDE B9 6A FF @@ -7281,45 +7452,45 @@ Sub_BFD2: iny ; CPU:$BFE3 PRG:3FE3 C8 sty ZpFE ; CPU:$BFE4 PRG:3FE4 84 FE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop146 -; Global: Branch target inside Label: taken when BFE6. -; Local: Part of Label. +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop146: +NmiHandler_Loop149: dec ZpFD ; CPU:$BFE6 PRG:3FE6 C6 FD ldy ZpFE ; CPU:$BFE8 PRG:3FE8 A4 FE lda $FF6A,y ; CPU:$BFEA PRG:3FEA B9 6A FF - jmp Sub_BFFC ; CPU:$BFED PRG:3FED 4C FC BF + jmp Sub_BFFC ; CPU:$BFED PRG:3FED 4C FC BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop147 -; Global: Branch target inside Label: taken when BFF0. -; Local: Part of Label. +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop147: +NmiHandler_Loop150: lda $0587 ; CPU:$BFF0 PRG:3FF0 AD 87 05 - bne NmiHandler_Loop148 ; CPU:$BFF3 PRG:3FF3 D0 05 + bne NmiHandler_Loop151 ; CPU:$BFF3 PRG:3FF3 D0 05 lda Zp96 ; CPU:$BFF5 PRG:3FF5 A5 96 - jmp Sub_BFFC ; CPU:$BFF7 PRG:3FF7 4C FC BF + jmp Sub_BFFC ; CPU:$BFF7 PRG:3FF7 4C FC BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop148 -; Global: Branch target inside Label: taken when BFFA. -; Local: Part of Label. +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop148: +NmiHandler_Loop151: lda Zp98 ; CPU:$BFFA PRG:3FFA A5 98 ; ----------------------------------------------------------------------------- ; Routine: Sub_BFFC -; Global: Branch target inside Label: taken when BFFC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BFFC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7327,26 +7498,26 @@ NmiHandler_Loop148: Sub_BFFC: sta $0300 ; CPU:$BFFC PRG:3FFC 8D 00 03 lda $0686 ; CPU:$BFFF PRG:3FFF AD 86 06 - beq NmiHandler_Loop149 ; CPU:$C002 PRG:4002 F0 03 - jsr Sub_C125 ; CPU:$C004 PRG:4004 20 25 C1 + beq NmiHandler_Loop152 ; CPU:$C002 PRG:4002 F0 03 + jsr Sub_C125 ; CPU:$C004 PRG:4004 20 25 C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop149 -; Global: Branch target inside Label: taken when C007. -; Local: Part of Label. +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop149: +NmiHandler_Loop152: lda $0690 ; CPU:$C007 PRG:4007 AD 90 06 - bne NmiHandler_Loop154 ; CPU:$C00A PRG:400A D0 6F + bne NmiHandler_Loop157 ; CPU:$C00A PRG:400A D0 6F lda #$00 ; CPU:$C00C PRG:400C A9 00 sta ZpBD ; CPU:$C00E PRG:400E 85 BD lda $058F ; CPU:$C010 PRG:4010 AD 8F 05 cmp #$1D ; CPU:$C013 PRG:4013 C9 1D - bcc NmiHandler_Loop150 ; CPU:$C015 PRG:4015 90 1E + bcc NmiHandler_Loop153 ; CPU:$C015 PRG:4015 90 1E lda $0692 ; CPU:$C017 PRG:4017 AD 92 06 - bne NmiHandler_Loop150 ; CPU:$C01A PRG:401A D0 19 + bne NmiHandler_Loop153 ; CPU:$C01A PRG:401A D0 19 lda #$80 ; CPU:$C01C PRG:401C A9 80 sta ZpBD ; CPU:$C01E PRG:401E 85 BD lda #$1F ; CPU:$C020 PRG:4020 A9 1F @@ -7356,124 +7527,124 @@ NmiHandler_Loop149: lda #$10 ; CPU:$C029 PRG:4029 A9 10 sta ZpCE ; CPU:$C02B PRG:402B 85 CE ldx #$06 ; CPU:$C02D PRG:402D A2 06 - jsr Sub_99E7 ; CPU:$C02F PRG:402F 20 E7 99 - jsr Sub_9B03 ; CPU:$C032 PRG:4032 20 03 9B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop150 -; Global: Branch target inside Label: taken when C035. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop150: - lda $0681 ; CPU:$C035 PRG:4035 AD 81 06 - beq NmiHandler_Loop151 ; CPU:$C038 PRG:4038 F0 0D - dec $0682 ; CPU:$C03A PRG:403A CE 82 06 - bne NmiHandler_Loop151 ; CPU:$C03D PRG:403D D0 08 - lda #$00 ; CPU:$C03F PRG:403F A9 00 - sta $0681 ; CPU:$C041 PRG:4041 8D 81 06 - jsr Sub_C474 ; CPU:$C044 PRG:4044 20 74 C4 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop151 -; Global: Branch target inside Label: taken when C047. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop151: - lda $0691 ; CPU:$C047 PRG:4047 AD 91 06 - bne NmiHandler_Loop155 ; CPU:$C04A PRG:404A D0 72 - lda ZpBE ; CPU:$C04C PRG:404C A5 BE - and #$41 ; CPU:$C04E PRG:404E 29 41 - bne NmiHandler_Loop152 ; CPU:$C050 PRG:4050 D0 05 - lda ZpEC ; CPU:$C052 PRG:4052 A5 EC - sta $058F ; CPU:$C054 PRG:4054 8D 8F 05 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop152 -; Global: Branch target inside Label: taken when C057. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop152: - jsr Sub_C14E ; CPU:$C057 PRG:4057 20 4E C1 - jsr Sub_82A3 ; CPU:$C05A PRG:405A 20 A3 82 - lda $0687 ; CPU:$C05D PRG:405D AD 87 06 - cmp #$FF ; CPU:$C060 PRG:4060 C9 FF - beq NmiHandler_Loop153 ; CPU:$C062 PRG:4062 F0 03 - jmp Sub_BFD2 ; CPU:$C064 PRG:4064 4C D2 BF + jsr Sub_99E7 ; CPU:$C02F PRG:402F 20 E7 99 + jsr Sub_9B03 ; CPU:$C032 PRG:4032 20 03 9B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop153 -; Global: Branch target inside Label: taken when C067. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop153: - lda #$00 ; CPU:$C067 PRG:4067 A9 00 - sta $055D ; CPU:$C069 PRG:4069 8D 5D 05 - jsr Sub_C10A ; CPU:$C06C PRG:406C 20 0A C1 - jsr Sub_BD46 ; CPU:$C06F PRG:406F 20 46 BD - jsr Sub_F64E ; CPU:$C072 PRG:4072 20 4E F6 - jsr Sub_F744 ; CPU:$C075 PRG:4075 20 44 F7 - jmp Sub_BCFD ; CPU:$C078 PRG:4078 4C FD BC + lda $0681 ; CPU:$C035 PRG:4035 AD 81 06 + beq NmiHandler_Loop154 ; CPU:$C038 PRG:4038 F0 0D + dec $0682 ; CPU:$C03A PRG:403A CE 82 06 + bne NmiHandler_Loop154 ; CPU:$C03D PRG:403D D0 08 + lda #$00 ; CPU:$C03F PRG:403F A9 00 + sta $0681 ; CPU:$C041 PRG:4041 8D 81 06 + jsr Sub_C474 ; CPU:$C044 PRG:4044 20 74 C4 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop154 -; Global: Branch target inside Label: taken when C07B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop154: - jsr Sub_F64E ; CPU:$C07B PRG:407B 20 4E F6 - jsr Sub_C118 ; CPU:$C07E PRG:407E 20 18 C1 - jsr NmiHandler_Loop137 ; CPU:$C081 PRG:4081 20 2B BD - lda #$14 ; CPU:$C084 PRG:4084 A9 14 - jsr Sub_F6DB ; CPU:$C086 PRG:4086 20 DB F6 - lda #$15 ; CPU:$C089 PRG:4089 A9 15 - jsr Sub_F6DB ; CPU:$C08B PRG:408B 20 DB F6 - lda #$16 ; CPU:$C08E PRG:408E A9 16 - jsr Sub_F6DB ; CPU:$C090 PRG:4090 20 DB F6 + lda $0691 ; CPU:$C047 PRG:4047 AD 91 06 + bne NmiHandler_Loop158 ; CPU:$C04A PRG:404A D0 72 + lda ZpBE ; CPU:$C04C PRG:404C A5 BE + and #$41 ; CPU:$C04E PRG:404E 29 41 + bne NmiHandler_Loop155 ; CPU:$C050 PRG:4050 D0 05 + lda ZpEC ; CPU:$C052 PRG:4052 A5 EC + sta $058F ; CPU:$C054 PRG:4054 8D 8F 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear15 -; Global: Branch target inside Label: taken when C093. -; Local: Part of Label. +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear15: +NmiHandler_Loop155: + jsr Sub_C14E ; CPU:$C057 PRG:4057 20 4E C1 + jsr Sub_82A3 ; CPU:$C05A PRG:405A 20 A3 82 + lda $0687 ; CPU:$C05D PRG:405D AD 87 06 + cmp #$FF ; CPU:$C060 PRG:4060 C9 FF + beq NmiHandler_Loop156 ; CPU:$C062 PRG:4062 F0 03 + jmp Sub_BFD2 ; CPU:$C064 PRG:4064 4C D2 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + lda #$00 ; CPU:$C067 PRG:4067 A9 00 + sta $055D ; CPU:$C069 PRG:4069 8D 5D 05 + jsr Sub_C10A ; CPU:$C06C PRG:406C 20 0A C1 + jsr Sub_BD46 ; CPU:$C06F PRG:406F 20 46 BD + jsr Sub_F64E ; CPU:$C072 PRG:4072 20 4E F6 + jsr Sub_F744 ; CPU:$C075 PRG:4075 20 44 F7 + jmp Sub_BCFD ; CPU:$C078 PRG:4078 4C FD BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + jsr Sub_F64E ; CPU:$C07B PRG:407B 20 4E F6 + jsr Sub_C118 ; CPU:$C07E PRG:407E 20 18 C1 + jsr NmiHandler_Loop140 ; CPU:$C081 PRG:4081 20 2B BD + lda #$14 ; CPU:$C084 PRG:4084 A9 14 + jsr Sub_F6DB ; CPU:$C086 PRG:4086 20 DB F6 + lda #$15 ; CPU:$C089 PRG:4089 A9 15 + jsr Sub_F6DB ; CPU:$C08B PRG:408B 20 DB F6 + lda #$16 ; CPU:$C08E PRG:408E A9 16 + jsr Sub_F6DB ; CPU:$C090 PRG:4090 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear18 +; Global: Branch target inside NmiHandler: taken when OnCarryClear18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear18: lda #$FE ; CPU:$C093 PRG:4093 A9 FE sta $055D ; CPU:$C095 PRG:4095 8D 5D 05 - jsr Sub_82A3 ; CPU:$C098 PRG:4098 20 A3 82 + jsr Sub_82A3 ; CPU:$C098 PRG:4098 20 A3 82 lda ZpF8 ; CPU:$C09B PRG:409B A5 F8 cmp $058F ; CPU:$C09D PRG:409D CD 8F 05 - bcc NmiHandler_OnCarryClear15 ; CPU:$C0A0 PRG:40A0 90 F1 - jsr Sub_F64E ; CPU:$C0A2 PRG:40A2 20 4E F6 + bcc NmiHandler_OnCarryClear18 ; CPU:$C0A0 PRG:40A0 90 F1 + jsr Sub_F64E ; CPU:$C0A2 PRG:40A2 20 4E F6 lda #$00 ; CPU:$C0A5 PRG:40A5 A9 00 sta $0688 ; CPU:$C0A7 PRG:40A7 8D 88 06 sta $055D ; CPU:$C0AA PRG:40AA 8D 5D 05 sta $0692 ; CPU:$C0AD PRG:40AD 8D 92 06 lda #$FF ; CPU:$C0B0 PRG:40B0 A9 FF sta $057D ; CPU:$C0B2 PRG:40B2 8D 7D 05 - jsr Sub_C10A ; CPU:$C0B5 PRG:40B5 20 0A C1 - jsr Sub_BD46 ; CPU:$C0B8 PRG:40B8 20 46 BD - jmp Sub_BE56 ; CPU:$C0BB PRG:40BB 4C 56 BE + jsr Sub_C10A ; CPU:$C0B5 PRG:40B5 20 0A C1 + jsr Sub_BD46 ; CPU:$C0B8 PRG:40B8 20 46 BD + jmp Sub_BE56 ; CPU:$C0BB PRG:40BB 4C 56 BE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop155 -; Global: Branch target inside Label: taken when C0BE. -; Local: Part of Label. +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop155: - jsr Sub_BD46 ; CPU:$C0BE PRG:40BE 20 46 BD +NmiHandler_Loop158: + jsr Sub_BD46 ; CPU:$C0BE PRG:40BE 20 46 BD inc $058E ; CPU:$C0C1 PRG:40C1 EE 8E 05 lda #$FF ; CPU:$C0C4 PRG:40C4 A9 FF sta $0688 ; CPU:$C0C6 PRG:40C6 8D 88 06 @@ -7487,47 +7658,47 @@ NmiHandler_Loop155: ldy #$16 ; CPU:$C0DB PRG:40DB A0 16 lda #$00 ; CPU:$C0DD PRG:40DD A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative10 -; Global: Branch target inside Label: taken when C0DF. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative11 +; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative10: +NmiHandler_OnNonnegative11: sta $05BA,y ; CPU:$C0DF PRG:40DF 99 BA 05 dey ; CPU:$C0E2 PRG:40E2 88 - bpl NmiHandler_OnNonnegative10 ; CPU:$C0E3 PRG:40E3 10 FA + bpl NmiHandler_OnNonnegative11 ; CPU:$C0E3 PRG:40E3 10 FA lda $0399 ; CPU:$C0E5 PRG:40E5 AD 99 03 sec ; CPU:$C0E8 PRG:40E8 38 sbc #$8D ; CPU:$C0E9 PRG:40E9 E9 8D - sta Zp71 ; CPU:$C0EB PRG:40EB 85 71 + sta OamShadowPtrLo ; CPU:$C0EB PRG:40EB 85 71 lda $0398 ; CPU:$C0ED PRG:40ED AD 98 03 sec ; CPU:$C0F0 PRG:40F0 38 sbc #$8D ; CPU:$C0F1 PRG:40F1 E9 8D cmp #$0F ; CPU:$C0F3 PRG:40F3 C9 0F - bne NmiHandler_Loop156 ; CPU:$C0F5 PRG:40F5 D0 02 + bne NmiHandler_Loop159 ; CPU:$C0F5 PRG:40F5 D0 02 lda #$00 ; CPU:$C0F7 PRG:40F7 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop156 -; Global: Branch target inside Label: taken when C0F9. -; Local: Part of Label. +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop156: - sta Zp72 ; CPU:$C0F9 PRG:40F9 85 72 +NmiHandler_Loop159: + sta OamShadowPtrHi ; CPU:$C0F9 PRG:40F9 85 72 lda #$00 ; CPU:$C0FB PRG:40FB A9 00 - sta Zp73 ; CPU:$C0FD PRG:40FD 85 73 - sta Zp74 ; CPU:$C0FF PRG:40FF 85 74 - jsr Sub_C1DB ; CPU:$C101 PRG:4101 20 DB C1 - jsr Sub_F744 ; CPU:$C104 PRG:4104 20 44 F7 - jmp Sub_BE56 ; CPU:$C107 PRG:4107 4C 56 BE + sta VramWritePtrLo ; CPU:$C0FD PRG:40FD 85 73 + sta VramWritePtrHi ; CPU:$C0FF PRG:40FF 85 74 + jsr Sub_C1DB ; CPU:$C101 PRG:4101 20 DB C1 + jsr Sub_F744 ; CPU:$C104 PRG:4104 20 44 F7 + jmp Sub_BE56 ; CPU:$C107 PRG:4107 4C 56 BE ; ----------------------------------------------------------------------------- ; Routine: Sub_C10A -; Global: Branch target inside Label: taken when C10A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C10A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7535,24 +7706,24 @@ NmiHandler_Loop156: Sub_C10A: ldy #$09 ; CPU:$C10A PRG:410A A0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative11 -; Global: Branch target inside Label: taken when C10C. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative12 +; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative11: +NmiHandler_OnNonnegative12: lda $0592,y ; CPU:$C10C PRG:410C B9 92 05 and #$FE ; CPU:$C10F PRG:410F 29 FE sta $0592,y ; CPU:$C111 PRG:4111 99 92 05 dey ; CPU:$C114 PRG:4114 88 - bpl NmiHandler_OnNonnegative11 ; CPU:$C115 PRG:4115 10 F5 + bpl NmiHandler_OnNonnegative12 ; CPU:$C115 PRG:4115 10 F5 rts ; CPU:$C117 PRG:4117 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C118 -; Global: Branch target inside Label: taken when C118. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C118. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7561,23 +7732,23 @@ Sub_C118: lda #$08 ; CPU:$C118 PRG:4118 A9 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero47 -; Global: Branch target inside Label: taken when C11A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero47: - jsr Sub_826F ; CPU:$C11A PRG:411A 20 6F 82 + jsr Sub_826F ; CPU:$C11A PRG:411A 20 6F 82 clc ; CPU:$C11D PRG:411D 18 adc #$02 ; CPU:$C11E PRG:411E 69 02 cmp #$14 ; CPU:$C120 PRG:4120 C9 14 - bne NmiHandler_OnNonzero47 ; CPU:$C122 PRG:4122 D0 F6 + bne NmiHandler_OnNonzero47 ; CPU:$C122 PRG:4122 D0 F6 rts ; CPU:$C124 PRG:4124 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C125 -; Global: Branch target inside Label: taken when C125. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C125. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7586,77 +7757,77 @@ Sub_C125: inc $068E ; CPU:$C125 PRG:4125 EE 8E 06 lda $068E ; CPU:$C128 PRG:4128 AD 8E 06 cmp #$5A ; CPU:$C12B PRG:412B C9 5A - bcc NmiHandler_Loop157 ; CPU:$C12D PRG:412D 90 0B + bcc NmiHandler_Loop160 ; CPU:$C12D PRG:412D 90 0B lda #$00 ; CPU:$C12F PRG:412F A9 00 sta $0686 ; CPU:$C131 PRG:4131 8D 86 06 sta $068E ; CPU:$C134 PRG:4134 8D 8E 06 sta ZpC3 ; CPU:$C137 PRG:4137 85 C3 rts ; CPU:$C139 PRG:4139 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop157 -; Global: Branch target inside Label: taken when C13A. -; Local: Part of Label. +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop157: +NmiHandler_Loop160: ldx #$0C ; CPU:$C13A PRG:413A A2 0C ldy #$62 ; CPU:$C13C PRG:413C A0 62 and #$04 ; CPU:$C13E PRG:413E 29 04 - beq NmiHandler_Loop158 ; CPU:$C140 PRG:4140 F0 02 + beq NmiHandler_Loop161 ; CPU:$C140 PRG:4140 F0 02 ldy #$63 ; CPU:$C142 PRG:4142 A0 63 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop158 -; Global: Branch target inside Label: taken when C144. -; Local: Part of Label. +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop158: +NmiHandler_Loop161: sty $0320 ; CPU:$C144 PRG:4144 8C 20 03 lda #$80 ; CPU:$C147 PRG:4147 A9 80 sta ZpC3 ; CPU:$C149 PRG:4149 85 C3 - jmp Sub_9B03 ; CPU:$C14B PRG:414B 4C 03 9B + jmp Sub_9B03 ; CPU:$C14B PRG:414B 4C 03 9B ; ----------------------------------------------------------------------------- ; Routine: Sub_C14E -; Global: Branch target inside Label: taken when C14E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C14E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C14E: lda $0580 ; CPU:$C14E PRG:414E AD 80 05 - bne NmiHandler_Loop159 ; CPU:$C151 PRG:4151 D0 06 + bne NmiHandler_Loop162 ; CPU:$C151 PRG:4151 D0 06 lda Zp96 ; CPU:$C153 PRG:4153 A5 96 and #$10 ; CPU:$C155 PRG:4155 29 10 - bne NmiHandler_Loop160 ; CPU:$C157 PRG:4157 D0 01 + bne NmiHandler_Loop163 ; CPU:$C157 PRG:4157 D0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop159 -; Global: Branch target inside Label: taken when C159. -; Local: Part of Label. +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop159: +NmiHandler_Loop162: rts ; CPU:$C159 PRG:4159 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop160 -; Global: Branch target inside Label: taken when C15A. -; Local: Part of Label. +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop160: +NmiHandler_Loop163: ldy #$00 ; CPU:$C15A PRG:415A A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero48 -; Global: Branch target inside Label: taken when C15C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7666,12 +7837,12 @@ NmiHandler_OnNonzero48: sta $0224,y ; CPU:$C15F PRG:415F 99 24 02 iny ; CPU:$C162 PRG:4162 C8 cpy #$14 ; CPU:$C163 PRG:4163 C0 14 - bne NmiHandler_OnNonzero48 ; CPU:$C165 PRG:4165 D0 F5 + bne NmiHandler_OnNonzero48 ; CPU:$C165 PRG:4165 D0 F5 lda #$FF ; CPU:$C167 PRG:4167 A9 FF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero49 -; Global: Branch target inside Label: taken when C169. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7680,118 +7851,118 @@ NmiHandler_OnNonzero49: sta $0224,y ; CPU:$C169 PRG:4169 99 24 02 iny ; CPU:$C16C PRG:416C C8 cpy #$C8 ; CPU:$C16D PRG:416D C0 C8 - bne NmiHandler_OnNonzero49 ; CPU:$C16F PRG:416F D0 F8 + bne NmiHandler_OnNonzero49 ; CPU:$C16F PRG:416F D0 F8 lda #$06 ; CPU:$C171 PRG:4171 A9 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero50 -; Global: Branch target inside Label: taken when C173. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero50: - jsr Sub_82D4 ; CPU:$C173 PRG:4173 20 D4 82 + jsr Sub_82D4 ; CPU:$C173 PRG:4173 20 D4 82 clc ; CPU:$C176 PRG:4176 18 adc #$02 ; CPU:$C177 PRG:4177 69 02 cmp #$36 ; CPU:$C179 PRG:4179 C9 36 - bne NmiHandler_OnNonzero50 ; CPU:$C17B PRG:417B D0 F6 + bne NmiHandler_OnNonzero50 ; CPU:$C17B PRG:417B D0 F6 lda #$03 ; CPU:$C17D PRG:417D A9 03 - jsr Sub_F6DB ; CPU:$C17F PRG:417F 20 DB F6 + jsr Sub_F6DB ; CPU:$C17F PRG:417F 20 DB F6 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero5 -; Global: Branch target inside Label: taken when C182. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnZero5: - jsr Sub_82A3 ; CPU:$C182 PRG:4182 20 A3 82 + jsr Sub_82A3 ; CPU:$C182 PRG:4182 20 A3 82 ldy #$05 ; CPU:$C185 PRG:4185 A0 05 lda #$03 ; CPU:$C187 PRG:4187 A9 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative12 -; Global: Branch target inside Label: taken when C189. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative13 +; Global: Branch target inside NmiHandler: taken when OnNonnegative13. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative12: +NmiHandler_OnNonnegative13: cmp $06DA,y ; CPU:$C189 PRG:4189 D9 DA 06 - beq NmiHandler_OnZero5 ; CPU:$C18C PRG:418C F0 F4 + beq NmiHandler_OnZero5 ; CPU:$C18C PRG:418C F0 F4 dey ; CPU:$C18E PRG:418E 88 - bpl NmiHandler_OnNonnegative12 ; CPU:$C18F PRG:418F 10 F8 + bpl NmiHandler_OnNonnegative13 ; CPU:$C18F PRG:418F 10 F8 lda #$00 ; CPU:$C191 PRG:4191 A9 00 - jsr Sub_F6DB ; CPU:$C193 PRG:4193 20 DB F6 + jsr Sub_F6DB ; CPU:$C193 PRG:4193 20 DB F6 lda #$01 ; CPU:$C196 PRG:4196 A9 01 - jsr Sub_F6DB ; CPU:$C198 PRG:4198 20 DB F6 + jsr Sub_F6DB ; CPU:$C198 PRG:4198 20 DB F6 lda #$02 ; CPU:$C19B PRG:419B A9 02 - jsr Sub_F6DB ; CPU:$C19D PRG:419D 20 DB F6 - jsr Sub_F744 ; CPU:$C1A0 PRG:41A0 20 44 F7 + jsr Sub_F6DB ; CPU:$C19D PRG:419D 20 DB F6 + jsr Sub_F744 ; CPU:$C1A0 PRG:41A0 20 44 F7 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero51 -; Global: Branch target inside Label: taken when C1A3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero51: - jsr Sub_82A3 ; CPU:$C1A3 PRG:41A3 20 A3 82 + jsr Sub_82A3 ; CPU:$C1A3 PRG:41A3 20 A3 82 lda #$FF ; CPU:$C1A6 PRG:41A6 A9 FF sta $0683 ; CPU:$C1A8 PRG:41A8 8D 83 06 lda Zp96 ; CPU:$C1AB PRG:41AB A5 96 and #$10 ; CPU:$C1AD PRG:41AD 29 10 - bne NmiHandler_OnNonzero51 ; CPU:$C1AF PRG:41AF D0 F2 + bne NmiHandler_OnNonzero51 ; CPU:$C1AF PRG:41AF D0 F2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero6 -; Global: Branch target inside Label: taken when C1B1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnZero6: - jsr Sub_82A3 ; CPU:$C1B1 PRG:41B1 20 A3 82 + jsr Sub_82A3 ; CPU:$C1B1 PRG:41B1 20 A3 82 lda Zp96 ; CPU:$C1B4 PRG:41B4 A5 96 and #$10 ; CPU:$C1B6 PRG:41B6 29 10 - beq NmiHandler_OnZero6 ; CPU:$C1B8 PRG:41B8 F0 F7 + beq NmiHandler_OnZero6 ; CPU:$C1B8 PRG:41B8 F0 F7 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero52 -; Global: Branch target inside Label: taken when C1BA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero52: - jsr Sub_82A3 ; CPU:$C1BA PRG:41BA 20 A3 82 + jsr Sub_82A3 ; CPU:$C1BA PRG:41BA 20 A3 82 lda Zp96 ; CPU:$C1BD PRG:41BD A5 96 and #$10 ; CPU:$C1BF PRG:41BF 29 10 - bne NmiHandler_OnNonzero52 ; CPU:$C1C1 PRG:41C1 D0 F7 + bne NmiHandler_OnNonzero52 ; CPU:$C1C1 PRG:41C1 D0 F7 lda #$06 ; CPU:$C1C3 PRG:41C3 A9 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero53 -; Global: Branch target inside Label: taken when C1C5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero53: - jsr Sub_82B8 ; CPU:$C1C5 PRG:41C5 20 B8 82 + jsr Sub_82B8 ; CPU:$C1C5 PRG:41C5 20 B8 82 clc ; CPU:$C1C8 PRG:41C8 18 adc #$02 ; CPU:$C1C9 PRG:41C9 69 02 cmp #$36 ; CPU:$C1CB PRG:41CB C9 36 - bne NmiHandler_OnNonzero53 ; CPU:$C1CD PRG:41CD D0 F6 + bne NmiHandler_OnNonzero53 ; CPU:$C1CD PRG:41CD D0 F6 lda #$00 ; CPU:$C1CF PRG:41CF A9 00 sta $0683 ; CPU:$C1D1 PRG:41D1 8D 83 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero54 -; Global: Branch target inside Label: taken when C1D4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7800,156 +7971,156 @@ NmiHandler_OnNonzero54: rts ; CPU:$C1D4 PRG:41D4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1D5 -; Global: Branch target inside Label: taken when C1D5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C1D5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C1D5: lda #$00 ; CPU:$C1D5 PRG:41D5 A9 00 - sta Zp72 ; CPU:$C1D7 PRG:41D7 85 72 - sta Zp71 ; CPU:$C1D9 PRG:41D9 85 71 + sta OamShadowPtrHi ; CPU:$C1D7 PRG:41D7 85 72 + sta OamShadowPtrLo ; CPU:$C1D9 PRG:41D9 85 71 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1DB -; Global: Branch target inside Label: taken when C1DB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C1DB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C1DB: lda $0580 ; CPU:$C1DB PRG:41DB AD 80 05 - bne NmiHandler_OnNonzero54 ; CPU:$C1DE PRG:41DE D0 F4 + bne NmiHandler_OnNonzero54 ; CPU:$C1DE PRG:41DE D0 F4 stx ZpA0 ; CPU:$C1E0 PRG:41E0 86 A0 sty Zp9F ; CPU:$C1E2 PRG:41E2 84 9F lda $058C ; CPU:$C1E4 PRG:41E4 AD 8C 05 clc ; CPU:$C1E7 PRG:41E7 18 - adc Zp73 ; CPU:$C1E8 PRG:41E8 65 73 + adc VramWritePtrLo ; CPU:$C1E8 PRG:41E8 65 73 cmp #$0A ; CPU:$C1EA PRG:41EA C9 0A - bcc NmiHandler_Loop161 ; CPU:$C1EC PRG:41EC 90 03 + bcc NmiHandler_Loop164 ; CPU:$C1EC PRG:41EC 90 03 sec ; CPU:$C1EE PRG:41EE 38 sbc #$0A ; CPU:$C1EF PRG:41EF E9 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop161 -; Global: Branch target inside Label: taken when C1F1. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop161: - sta $058C ; CPU:$C1F1 PRG:41F1 8D 8C 05 - lda $058B ; CPU:$C1F4 PRG:41F4 AD 8B 05 - adc Zp74 ; CPU:$C1F7 PRG:41F7 65 74 - cmp #$0A ; CPU:$C1F9 PRG:41F9 C9 0A - bcc NmiHandler_Loop162 ; CPU:$C1FB PRG:41FB 90 03 - sec ; CPU:$C1FD PRG:41FD 38 - sbc #$0A ; CPU:$C1FE PRG:41FE E9 0A -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop162 -; Global: Branch target inside Label: taken when C200. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop162: - sta $058B ; CPU:$C200 PRG:4200 8D 8B 05 - lda $058A ; CPU:$C203 PRG:4203 AD 8A 05 - adc Zp71 ; CPU:$C206 PRG:4206 65 71 - cmp #$0A ; CPU:$C208 PRG:4208 C9 0A - bcc NmiHandler_Loop163 ; CPU:$C20A PRG:420A 90 03 - sec ; CPU:$C20C PRG:420C 38 - sbc #$0A ; CPU:$C20D PRG:420D E9 0A -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop163 -; Global: Branch target inside Label: taken when C20F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop163: - sta $058A ; CPU:$C20F PRG:420F 8D 8A 05 - lda $0589 ; CPU:$C212 PRG:4212 AD 89 05 - adc Zp72 ; CPU:$C215 PRG:4215 65 72 - cmp #$0A ; CPU:$C217 PRG:4217 C9 0A - bcc NmiHandler_Loop164 ; CPU:$C219 PRG:4219 90 03 - sec ; CPU:$C21B PRG:421B 38 - sbc #$0A ; CPU:$C21C PRG:421C E9 0A -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop164 -; Global: Branch target inside Label: taken when C21E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop164: - sta $0589 ; CPU:$C21E PRG:421E 8D 89 05 - lda $0588 ; CPU:$C221 PRG:4221 AD 88 05 - adc #$00 ; CPU:$C224 PRG:4224 69 00 - cmp #$0A ; CPU:$C226 PRG:4226 C9 0A - bcc NmiHandler_Loop165 ; CPU:$C228 PRG:4228 90 03 - sec ; CPU:$C22A PRG:422A 38 - sbc #$0A ; CPU:$C22B PRG:422B E9 0A + sta $058C ; CPU:$C1F1 PRG:41F1 8D 8C 05 + lda $058B ; CPU:$C1F4 PRG:41F4 AD 8B 05 + adc VramWritePtrHi ; CPU:$C1F7 PRG:41F7 65 74 + cmp #$0A ; CPU:$C1F9 PRG:41F9 C9 0A + bcc NmiHandler_Loop165 ; CPU:$C1FB PRG:41FB 90 03 + sec ; CPU:$C1FD PRG:41FD 38 + sbc #$0A ; CPU:$C1FE PRG:41FE E9 0A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop165 -; Global: Branch target inside Label: taken when C22D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop165: - sta $0588 ; CPU:$C22D PRG:422D 8D 88 05 - jsr Sub_C293 ; CPU:$C230 PRG:4230 20 93 C2 - ldy #$01 ; CPU:$C233 PRG:4233 A0 01 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative13 -; Global: Branch target inside Label: taken when C235. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative13: - lda $0588,y ; CPU:$C235 PRG:4235 B9 88 05 - bne NmiHandler_Loop166 ; CPU:$C238 PRG:4238 D0 05 - dey ; CPU:$C23A PRG:423A 88 - bpl NmiHandler_OnNonnegative13 ; CPU:$C23B PRG:423B 10 F8 - bmi NmiHandler_Loop167 ; CPU:$C23D PRG:423D 30 12 + sta $058B ; CPU:$C200 PRG:4200 8D 8B 05 + lda $058A ; CPU:$C203 PRG:4203 AD 8A 05 + adc OamShadowPtrLo ; CPU:$C206 PRG:4206 65 71 + cmp #$0A ; CPU:$C208 PRG:4208 C9 0A + bcc NmiHandler_Loop166 ; CPU:$C20A PRG:420A 90 03 + sec ; CPU:$C20C PRG:420C 38 + sbc #$0A ; CPU:$C20D PRG:420D E9 0A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop166 -; Global: Branch target inside Label: taken when C23F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop166: - lda $05D3 ; CPU:$C23F PRG:423F AD D3 05 - bne NmiHandler_Loop167 ; CPU:$C242 PRG:4242 D0 0D - lda #$FF ; CPU:$C244 PRG:4244 A9 FF - sta $05D3 ; CPU:$C246 PRG:4246 8D D3 05 - inc $0590 ; CPU:$C249 PRG:4249 EE 90 05 - lda #$1B ; CPU:$C24C PRG:424C A9 1B - jsr Sub_F6DB ; CPU:$C24E PRG:424E 20 DB F6 + sta $058A ; CPU:$C20F PRG:420F 8D 8A 05 + lda $0589 ; CPU:$C212 PRG:4212 AD 89 05 + adc OamShadowPtrHi ; CPU:$C215 PRG:4215 65 72 + cmp #$0A ; CPU:$C217 PRG:4217 C9 0A + bcc NmiHandler_Loop167 ; CPU:$C219 PRG:4219 90 03 + sec ; CPU:$C21B PRG:421B 38 + sbc #$0A ; CPU:$C21C PRG:421C E9 0A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop167 -; Global: Branch target inside Label: taken when C251. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop167: + sta $0589 ; CPU:$C21E PRG:421E 8D 89 05 + lda $0588 ; CPU:$C221 PRG:4221 AD 88 05 + adc #$00 ; CPU:$C224 PRG:4224 69 00 + cmp #$0A ; CPU:$C226 PRG:4226 C9 0A + bcc NmiHandler_Loop168 ; CPU:$C228 PRG:4228 90 03 + sec ; CPU:$C22A PRG:422A 38 + sbc #$0A ; CPU:$C22B PRG:422B E9 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + sta $0588 ; CPU:$C22D PRG:422D 8D 88 05 + jsr Sub_C293 ; CPU:$C230 PRG:4230 20 93 C2 + ldy #$01 ; CPU:$C233 PRG:4233 A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative14 +; Global: Branch target inside NmiHandler: taken when OnNonnegative14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative14: + lda $0588,y ; CPU:$C235 PRG:4235 B9 88 05 + bne NmiHandler_Loop169 ; CPU:$C238 PRG:4238 D0 05 + dey ; CPU:$C23A PRG:423A 88 + bpl NmiHandler_OnNonnegative14 ; CPU:$C23B PRG:423B 10 F8 + bmi NmiHandler_Loop170 ; CPU:$C23D PRG:423D 30 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + lda $05D3 ; CPU:$C23F PRG:423F AD D3 05 + bne NmiHandler_Loop170 ; CPU:$C242 PRG:4242 D0 0D + lda #$FF ; CPU:$C244 PRG:4244 A9 FF + sta $05D3 ; CPU:$C246 PRG:4246 8D D3 05 + inc $0590 ; CPU:$C249 PRG:4249 EE 90 05 + lda #$1B ; CPU:$C24C PRG:424C A9 1B + jsr Sub_F6DB ; CPU:$C24E PRG:424E 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: ldy #$00 ; CPU:$C251 PRG:4251 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero55 -; Global: Branch target inside Label: taken when C253. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7957,37 +8128,37 @@ NmiHandler_Loop167: NmiHandler_OnNonzero55: lda $0581,y ; CPU:$C253 PRG:4253 B9 81 05 cmp $0588,y ; CPU:$C256 PRG:4256 D9 88 05 - bcc NmiHandler_Loop168 ; CPU:$C259 PRG:4259 90 0C - bne NmiHandler_OnNegative4 ; CPU:$C25B PRG:425B D0 05 + bcc NmiHandler_Loop171 ; CPU:$C259 PRG:4259 90 0C + bne NmiHandler_OnNegative5 ; CPU:$C25B PRG:425B D0 05 iny ; CPU:$C25D PRG:425D C8 cpy #$06 ; CPU:$C25E PRG:425E C0 06 - bne NmiHandler_OnNonzero55 ; CPU:$C260 PRG:4260 D0 F1 + bne NmiHandler_OnNonzero55 ; CPU:$C260 PRG:4260 D0 F1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative4 -; Global: Branch target inside Label: taken when C262. -; Local: Part of Label. +; Routine: NmiHandler_OnNegative5 +; Global: Branch target inside NmiHandler: taken when OnNegative5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative4: +NmiHandler_OnNegative5: ldx ZpA0 ; CPU:$C262 PRG:4262 A6 A0 ldy Zp9F ; CPU:$C264 PRG:4264 A4 9F rts ; CPU:$C266 PRG:4266 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop168 -; Global: Branch target inside Label: taken when C267. -; Local: Part of Label. +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop168: +NmiHandler_Loop171: ldy #$00 ; CPU:$C267 PRG:4267 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero56 -; Global: Branch target inside Label: taken when C269. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7997,93 +8168,93 @@ NmiHandler_OnNonzero56: sta $0581,y ; CPU:$C26C PRG:426C 99 81 05 iny ; CPU:$C26F PRG:426F C8 cpy #$06 ; CPU:$C270 PRG:4270 C0 06 - bne NmiHandler_OnNonzero56 ; CPU:$C272 PRG:4272 D0 F5 + bne NmiHandler_OnNonzero56 ; CPU:$C272 PRG:4272 D0 F5 lda $0587 ; CPU:$C274 PRG:4274 AD 87 05 - bne NmiHandler_Loop169 ; CPU:$C277 PRG:4277 D0 0D + bne NmiHandler_Loop172 ; CPU:$C277 PRG:4277 D0 0D ldy #$05 ; CPU:$C279 PRG:4279 A0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative14 -; Global: Branch target inside Label: taken when C27B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative14: - lda $056B,y ; CPU:$C27B PRG:427B B9 6B 05 - sta $0571,y ; CPU:$C27E PRG:427E 99 71 05 - dey ; CPU:$C281 PRG:4281 88 - bpl NmiHandler_OnNonnegative14 ; CPU:$C282 PRG:4282 10 F7 - bmi NmiHandler_OnNegative4 ; CPU:$C284 PRG:4284 30 DC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop169 -; Global: Branch target inside Label: taken when C286. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop169: - ldy #$05 ; CPU:$C286 PRG:4286 A0 05 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative15 -; Global: Branch target inside Label: taken when C288. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative15: + lda $056B,y ; CPU:$C27B PRG:427B B9 6B 05 + sta $0571,y ; CPU:$C27E PRG:427E 99 71 05 + dey ; CPU:$C281 PRG:4281 88 + bpl NmiHandler_OnNonnegative15 ; CPU:$C282 PRG:4282 10 F7 + bmi NmiHandler_OnNegative5 ; CPU:$C284 PRG:4284 30 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + ldy #$05 ; CPU:$C286 PRG:4286 A0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative16 +; Global: Branch target inside NmiHandler: taken when OnNonnegative16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative16: lda $0577,y ; CPU:$C288 PRG:4288 B9 77 05 sta $0571,y ; CPU:$C28B PRG:428B 99 71 05 dey ; CPU:$C28E PRG:428E 88 - bpl NmiHandler_OnNonnegative15 ; CPU:$C28F PRG:428F 10 F7 - bmi NmiHandler_OnNegative4 ; CPU:$C291 PRG:4291 30 CF + bpl NmiHandler_OnNonnegative16 ; CPU:$C28F PRG:428F 10 F7 + bmi NmiHandler_OnNegative5 ; CPU:$C291 PRG:4291 30 CF ; ----------------------------------------------------------------------------- ; Routine: Sub_C293 -; Global: Branch target inside Label: taken when C293. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C293. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C293: lda $0580 ; CPU:$C293 PRG:4293 AD 80 05 - bne NmiHandler_OnZero7 ; CPU:$C296 PRG:4296 D0 58 + bne NmiHandler_OnZero7 ; CPU:$C296 PRG:4296 D0 58 ldy #$00 ; CPU:$C298 PRG:4298 A0 00 ldx #$00 ; CPU:$C29A PRG:429A A2 00 lda $0587 ; CPU:$C29C PRG:429C AD 87 05 - bne NmiHandler_Loop170 ; CPU:$C29F PRG:429F D0 12 + bne NmiHandler_Loop173 ; CPU:$C29F PRG:429F D0 12 lda #$6B ; CPU:$C2A1 PRG:42A1 A9 6B - sta Zp73 ; CPU:$C2A3 PRG:42A3 85 73 + sta VramWritePtrLo ; CPU:$C2A3 PRG:42A3 85 73 lda #$05 ; CPU:$C2A5 PRG:42A5 A9 05 - sta Zp74 ; CPU:$C2A7 PRG:42A7 85 74 + sta VramWritePtrHi ; CPU:$C2A7 PRG:42A7 85 74 lda #$F1 ; CPU:$C2A9 PRG:42A9 A9 F1 - sta Zp71 ; CPU:$C2AB PRG:42AB 85 71 + sta OamShadowPtrLo ; CPU:$C2AB PRG:42AB 85 71 lda #$C2 ; CPU:$C2AD PRG:42AD A9 C2 - sta Zp72 ; CPU:$C2AF PRG:42AF 85 72 - bne NmiHandler_OnNonzero57 ; CPU:$C2B1 PRG:42B1 D0 10 + sta OamShadowPtrHi ; CPU:$C2AF PRG:42AF 85 72 + bne NmiHandler_OnNonzero57 ; CPU:$C2B1 PRG:42B1 D0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop170 -; Global: Branch target inside Label: taken when C2B3. -; Local: Part of Label. +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop170: +NmiHandler_Loop173: lda #$77 ; CPU:$C2B3 PRG:42B3 A9 77 - sta Zp73 ; CPU:$C2B5 PRG:42B5 85 73 + sta VramWritePtrLo ; CPU:$C2B5 PRG:42B5 85 73 lda #$05 ; CPU:$C2B7 PRG:42B7 A9 05 - sta Zp74 ; CPU:$C2B9 PRG:42B9 85 74 + sta VramWritePtrHi ; CPU:$C2B9 PRG:42B9 85 74 lda #$09 ; CPU:$C2BB PRG:42BB A9 09 - sta Zp71 ; CPU:$C2BD PRG:42BD 85 71 + sta OamShadowPtrLo ; CPU:$C2BD PRG:42BD 85 71 lda #$C3 ; CPU:$C2BF PRG:42BF A9 C3 - sta Zp72 ; CPU:$C2C1 PRG:42C1 85 72 + sta OamShadowPtrHi ; CPU:$C2C1 PRG:42C1 85 72 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero57 -; Global: Branch target inside Label: taken when C2C3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8092,38 +8263,38 @@ NmiHandler_OnNonzero57: lda $0588,x ; CPU:$C2C3 PRG:42C3 BD 88 05 and #$0F ; CPU:$C2C6 PRG:42C6 29 0F ora #$70 ; CPU:$C2C8 PRG:42C8 09 70 - sta (Zp73),y ; CPU:$C2CA PRG:42CA 91 73 + sta (VramWritePtrLo),y ; CPU:$C2CA PRG:42CA 91 73 iny ; CPU:$C2CC PRG:42CC C8 inx ; CPU:$C2CD PRG:42CD E8 cpx #$06 ; CPU:$C2CE PRG:42CE E0 06 - bne NmiHandler_OnNonzero57 ; CPU:$C2D0 PRG:42D0 D0 F1 + bne NmiHandler_OnNonzero57 ; CPU:$C2D0 PRG:42D0 D0 F1 ldy #$00 ; CPU:$C2D2 PRG:42D2 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero58 -; Global: Branch target inside Label: taken when C2D4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero58: - lda (Zp71),y ; CPU:$C2D4 PRG:42D4 B1 71 + lda (OamShadowPtrLo),y ; CPU:$C2D4 PRG:42D4 B1 71 sta $020C,y ; CPU:$C2D6 PRG:42D6 99 0C 02 iny ; CPU:$C2D9 PRG:42D9 C8 cpy #$18 ; CPU:$C2DA PRG:42DA C0 18 - bne NmiHandler_OnNonzero58 ; CPU:$C2DC PRG:42DC D0 F6 + bne NmiHandler_OnNonzero58 ; CPU:$C2DC PRG:42DC D0 F6 ldy #$00 ; CPU:$C2DE PRG:42DE A0 00 ldx #$01 ; CPU:$C2E0 PRG:42E0 A2 01 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero59 -; Global: Branch target inside Label: taken when C2E2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero59: - lda (Zp73),y ; CPU:$C2E2 PRG:42E2 B1 73 + lda (VramWritePtrLo),y ; CPU:$C2E2 PRG:42E2 B1 73 sta $020C,x ; CPU:$C2E4 PRG:42E4 9D 0C 02 iny ; CPU:$C2E7 PRG:42E7 C8 inx ; CPU:$C2E8 PRG:42E8 E8 @@ -8131,11 +8302,11 @@ NmiHandler_OnNonzero59: inx ; CPU:$C2EA PRG:42EA E8 inx ; CPU:$C2EB PRG:42EB E8 cpy #$06 ; CPU:$C2EC PRG:42EC C0 06 - bne NmiHandler_OnNonzero59 ; CPU:$C2EE PRG:42EE D0 F2 + bne NmiHandler_OnNonzero59 ; CPU:$C2EE PRG:42EE D0 F2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero7 -; Global: Branch target inside Label: taken when C2F0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8143,26 +8314,27 @@ NmiHandler_OnNonzero59: NmiHandler_OnZero7: rts ; CPU:$C2F0 PRG:42F0 60 ; ---- data $C2F1-$C320 (48 bytes) ---- - .byte $20, $FF, $02, $20, $20, $FF, $02, $28, $20, $FF, $02, $30, $20, $FF, $02, $38 ; CPU:$C2F1 PRG:42F1 20 FF 02 20 20 FF 02 28 20 FF 02 30 20 FF 02 38 +SpriteOamAttributeTable: + .byte $20, $FF, $02, $20, $20, $FF, $02, $28, $20, $FF, $02, $30, $20, $FF, $02, $38 ; CPU:$C2F1 PRG:02F1 20 FF 02 20 20 FF 02 28 20 FF 02 30 20 FF 02 38 .byte $20, $FF, $02, $40, $20, $FF, $02, $48, $20, $FF, $02, $B0, $20, $FF, $02, $B8 ; CPU:$C301 PRG:4301 20 FF 02 40 20 FF 02 48 20 FF 02 B0 20 FF 02 B8 .byte $20, $FF, $02, $C0, $20, $FF, $02, $C8, $20, $FF, $02, $D0, $20, $FF, $02, $D8 ; CPU:$C311 PRG:4311 20 FF 02 C0 20 FF 02 C8 20 FF 02 D0 20 FF 02 D8 ; ----------------------------------------------------------------------------- ; Routine: Sub_C321 -; Global: Branch target inside Label: taken when C321. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C321. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C321: lda $0688 ; CPU:$C321 PRG:4321 AD 88 06 - beq NmiHandler_OnZero7 ; CPU:$C324 PRG:4324 F0 CA + beq NmiHandler_OnZero7 ; CPU:$C324 PRG:4324 F0 CA lda #$00 ; CPU:$C326 PRG:4326 A9 00 ldx #$0B ; CPU:$C328 PRG:4328 A2 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero60 -; Global: Branch target inside Label: taken when C32A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero60. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8170,32 +8342,32 @@ Sub_C321: NmiHandler_OnNonzero60: sta $0591,x ; CPU:$C32A PRG:432A 9D 91 05 dex ; CPU:$C32D PRG:432D CA - bne NmiHandler_OnNonzero60 ; CPU:$C32E PRG:432E D0 FA + bne NmiHandler_OnNonzero60 ; CPU:$C32E PRG:432E D0 FA lda $058E ; CPU:$C330 PRG:4330 AD 8E 05 cmp #$08 ; CPU:$C333 PRG:4333 C9 08 - bcc NmiHandler_Loop171 ; CPU:$C335 PRG:4335 90 02 + bcc NmiHandler_Loop174 ; CPU:$C335 PRG:4335 90 02 lda #$08 ; CPU:$C337 PRG:4337 A9 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop171 -; Global: Branch target inside Label: taken when C339. -; Local: Part of Label. +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop171: +NmiHandler_Loop174: asl a ; CPU:$C339 PRG:4339 0A adc #$A1 ; CPU:$C33A PRG:433A 69 A1 - sta Zp71 ; CPU:$C33C PRG:433C 85 71 + sta OamShadowPtrLo ; CPU:$C33C PRG:433C 85 71 lda #$C5 ; CPU:$C33E PRG:433E A9 C5 adc #$00 ; CPU:$C340 PRG:4340 69 00 - sta Zp72 ; CPU:$C342 PRG:4342 85 72 + sta OamShadowPtrHi ; CPU:$C342 PRG:4342 85 72 ldy #$00 ; CPU:$C344 PRG:4344 A0 00 - lda (Zp71),y ; CPU:$C346 PRG:4346 B1 71 - sta Zp73 ; CPU:$C348 PRG:4348 85 73 + lda (OamShadowPtrLo),y ; CPU:$C346 PRG:4346 B1 71 + sta VramWritePtrLo ; CPU:$C348 PRG:4348 85 73 iny ; CPU:$C34A PRG:434A C8 - lda (Zp71),y ; CPU:$C34B PRG:434B B1 71 - sta Zp74 ; CPU:$C34D PRG:434D 85 74 + lda (OamShadowPtrLo),y ; CPU:$C34B PRG:434B B1 71 + sta VramWritePtrHi ; CPU:$C34D PRG:434D 85 74 inc $0689 ; CPU:$C34F PRG:434F EE 89 06 lda $0689 ; CPU:$C352 PRG:4352 AD 89 06 and #$07 ; CPU:$C355 PRG:4355 29 07 @@ -8204,13 +8376,13 @@ NmiHandler_Loop171: clc ; CPU:$C35B PRG:435B 18 adc $0689 ; CPU:$C35C PRG:435C 6D 89 06 clc ; CPU:$C35F PRG:435F 18 - adc Zp73 ; CPU:$C360 PRG:4360 65 73 - sta Zp73 ; CPU:$C362 PRG:4362 85 73 + adc VramWritePtrLo ; CPU:$C360 PRG:4360 65 73 + sta VramWritePtrLo ; CPU:$C362 PRG:4362 85 73 lda #$00 ; CPU:$C364 PRG:4364 A9 00 - adc Zp74 ; CPU:$C366 PRG:4366 65 74 - sta Zp74 ; CPU:$C368 PRG:4368 85 74 + adc VramWritePtrHi ; CPU:$C366 PRG:4366 65 74 + sta VramWritePtrHi ; CPU:$C368 PRG:4368 85 74 ldy #$00 ; CPU:$C36A PRG:436A A0 00 - lda (Zp73),y ; CPU:$C36C PRG:436C B1 73 + lda (VramWritePtrLo),y ; CPU:$C36C PRG:436C B1 73 asl a ; CPU:$C36E PRG:436E 0A clc ; CPU:$C36F PRG:436F 18 adc #$8B ; CPU:$C370 PRG:4370 69 8B @@ -8219,7 +8391,7 @@ NmiHandler_Loop171: adc #$00 ; CPU:$C376 PRG:4376 69 00 sta ZpA0 ; CPU:$C378 PRG:4378 85 A0 iny ; CPU:$C37A PRG:437A C8 - lda (Zp73),y ; CPU:$C37B PRG:437B B1 73 + lda (VramWritePtrLo),y ; CPU:$C37B PRG:437B B1 73 asl a ; CPU:$C37D PRG:437D 0A clc ; CPU:$C37E PRG:437E 18 adc #$A5 ; CPU:$C37F PRG:437F 69 A5 @@ -8228,7 +8400,7 @@ NmiHandler_Loop171: adc #$00 ; CPU:$C385 PRG:4385 69 00 sta ZpA2 ; CPU:$C387 PRG:4387 85 A2 iny ; CPU:$C389 PRG:4389 C8 - lda (Zp73),y ; CPU:$C38A PRG:438A B1 73 + lda (VramWritePtrLo),y ; CPU:$C38A PRG:438A B1 73 asl a ; CPU:$C38C PRG:438C 0A clc ; CPU:$C38D PRG:438D 18 adc #$BB ; CPU:$C38E PRG:438E 69 BB @@ -8238,116 +8410,116 @@ NmiHandler_Loop171: sta ZpA4 ; CPU:$C396 PRG:4396 85 A4 ldy #$00 ; CPU:$C398 PRG:4398 A0 00 lda (Zp9F),y ; CPU:$C39A PRG:439A B1 9F - sta Zp73 ; CPU:$C39C PRG:439C 85 73 + sta VramWritePtrLo ; CPU:$C39C PRG:439C 85 73 iny ; CPU:$C39E PRG:439E C8 lda (Zp9F),y ; CPU:$C39F PRG:439F B1 9F - sta Zp74 ; CPU:$C3A1 PRG:43A1 85 74 + sta VramWritePtrHi ; CPU:$C3A1 PRG:43A1 85 74 ldy #$00 ; CPU:$C3A3 PRG:43A3 A0 00 ldx #$00 ; CPU:$C3A5 PRG:43A5 A2 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero61 -; Global: Branch target inside Label: taken when C3A7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero61. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero61: - lda (Zp73),y ; CPU:$C3A7 PRG:43A7 B1 73 - bmi NmiHandler_Loop172 ; CPU:$C3A9 PRG:43A9 30 14 + lda (VramWritePtrLo),y ; CPU:$C3A7 PRG:43A7 B1 73 + bmi NmiHandler_Loop175 ; CPU:$C3A9 PRG:43A9 30 14 sta $059C,x ; CPU:$C3AB PRG:43AB 9D 9C 05 iny ; CPU:$C3AE PRG:43AE C8 - lda (Zp73),y ; CPU:$C3AF PRG:43AF B1 73 + lda (VramWritePtrLo),y ; CPU:$C3AF PRG:43AF B1 73 sta $05A6,x ; CPU:$C3B1 PRG:43B1 9D A6 05 iny ; CPU:$C3B4 PRG:43B4 C8 lda #$80 ; CPU:$C3B5 PRG:43B5 A9 80 sta $0592,x ; CPU:$C3B7 PRG:43B7 9D 92 05 inx ; CPU:$C3BA PRG:43BA E8 cpy #$04 ; CPU:$C3BB PRG:43BB C0 04 - bne NmiHandler_OnNonzero61 ; CPU:$C3BD PRG:43BD D0 E8 + bne NmiHandler_OnNonzero61 ; CPU:$C3BD PRG:43BD D0 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop172 -; Global: Branch target inside Label: taken when C3BF. -; Local: Part of Label. +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop172: +NmiHandler_Loop175: ldy #$00 ; CPU:$C3BF PRG:43BF A0 00 lda (ZpA1),y ; CPU:$C3C1 PRG:43C1 B1 A1 - sta Zp73 ; CPU:$C3C3 PRG:43C3 85 73 + sta VramWritePtrLo ; CPU:$C3C3 PRG:43C3 85 73 iny ; CPU:$C3C5 PRG:43C5 C8 lda (ZpA1),y ; CPU:$C3C6 PRG:43C6 B1 A1 - sta Zp74 ; CPU:$C3C8 PRG:43C8 85 74 + sta VramWritePtrHi ; CPU:$C3C8 PRG:43C8 85 74 ldy #$00 ; CPU:$C3CA PRG:43CA A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero62 -; Global: Branch target inside Label: taken when C3CC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero62. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero62: - lda (Zp73),y ; CPU:$C3CC PRG:43CC B1 73 - bmi NmiHandler_Loop173 ; CPU:$C3CE PRG:43CE 30 14 + lda (VramWritePtrLo),y ; CPU:$C3CC PRG:43CC B1 73 + bmi NmiHandler_Loop176 ; CPU:$C3CE PRG:43CE 30 14 sta $059C,x ; CPU:$C3D0 PRG:43D0 9D 9C 05 iny ; CPU:$C3D3 PRG:43D3 C8 - lda (Zp73),y ; CPU:$C3D4 PRG:43D4 B1 73 + lda (VramWritePtrLo),y ; CPU:$C3D4 PRG:43D4 B1 73 sta $05A6,x ; CPU:$C3D6 PRG:43D6 9D A6 05 lda #$80 ; CPU:$C3D9 PRG:43D9 A9 80 sta $0592,x ; CPU:$C3DB PRG:43DB 9D 92 05 iny ; CPU:$C3DE PRG:43DE C8 inx ; CPU:$C3DF PRG:43DF E8 cpy #$0A ; CPU:$C3E0 PRG:43E0 C0 0A - bne NmiHandler_OnNonzero62 ; CPU:$C3E2 PRG:43E2 D0 E8 + bne NmiHandler_OnNonzero62 ; CPU:$C3E2 PRG:43E2 D0 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop173 -; Global: Branch target inside Label: taken when C3E4. -; Local: Part of Label. +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop173: +NmiHandler_Loop176: ldy #$00 ; CPU:$C3E4 PRG:43E4 A0 00 lda (ZpA3),y ; CPU:$C3E6 PRG:43E6 B1 A3 - sta Zp73 ; CPU:$C3E8 PRG:43E8 85 73 + sta VramWritePtrLo ; CPU:$C3E8 PRG:43E8 85 73 iny ; CPU:$C3EA PRG:43EA C8 lda (ZpA3),y ; CPU:$C3EB PRG:43EB B1 A3 - sta Zp74 ; CPU:$C3ED PRG:43ED 85 74 + sta VramWritePtrHi ; CPU:$C3ED PRG:43ED 85 74 ldy #$00 ; CPU:$C3EF PRG:43EF A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero63 -; Global: Branch target inside Label: taken when C3F1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero63. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero63: - lda (Zp73),y ; CPU:$C3F1 PRG:43F1 B1 73 - bmi NmiHandler_Loop174 ; CPU:$C3F3 PRG:43F3 30 14 + lda (VramWritePtrLo),y ; CPU:$C3F1 PRG:43F1 B1 73 + bmi NmiHandler_Loop177 ; CPU:$C3F3 PRG:43F3 30 14 sta $059C,x ; CPU:$C3F5 PRG:43F5 9D 9C 05 iny ; CPU:$C3F8 PRG:43F8 C8 - lda (Zp73),y ; CPU:$C3F9 PRG:43F9 B1 73 + lda (VramWritePtrLo),y ; CPU:$C3F9 PRG:43F9 B1 73 sta $05A6,x ; CPU:$C3FB PRG:43FB 9D A6 05 lda #$80 ; CPU:$C3FE PRG:43FE A9 80 sta $0592,x ; CPU:$C400 PRG:4400 9D 92 05 inx ; CPU:$C403 PRG:4403 E8 iny ; CPU:$C404 PRG:4404 C8 cpy #$0A ; CPU:$C405 PRG:4405 C0 0A - bne NmiHandler_OnNonzero63 ; CPU:$C407 PRG:4407 D0 E8 + bne NmiHandler_OnNonzero63 ; CPU:$C407 PRG:4407 D0 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop174 -; Global: Branch target inside Label: taken when C409. -; Local: Part of Label. +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop174: +NmiHandler_Loop177: ldy $06E0 ; CPU:$C409 PRG:4409 AC E0 06 ldx $C52B,y ; CPU:$C40C PRG:440C BE 2B C5 stx $0591 ; CPU:$C40F PRG:440F 8E 91 05 @@ -8378,54 +8550,55 @@ NmiHandler_Loop174: rts ; CPU:$C44F PRG:444F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C450 -; Global: Branch target inside Label: taken when C450. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C450. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C450: lda #$06 ; CPU:$C450 PRG:4450 A9 06 - sta Zp6F ; CPU:$C452 PRG:4452 85 6F + sta PlayerSpriteX ; CPU:$C452 PRG:4452 85 6F lda #$03 ; CPU:$C454 PRG:4454 A9 03 - sta Zp70 ; CPU:$C456 PRG:4456 85 70 + sta PlayerSpriteY ; CPU:$C456 PRG:4456 85 70 lda #$DA ; CPU:$C458 PRG:4458 A9 DA - sta Zp73 ; CPU:$C45A PRG:445A 85 73 + sta VramWritePtrLo ; CPU:$C45A PRG:445A 85 73 lda #$FF ; CPU:$C45C PRG:445C A9 FF - sta Zp74 ; CPU:$C45E PRG:445E 85 74 + sta VramWritePtrHi ; CPU:$C45E PRG:445E 85 74 ldx $0591 ; CPU:$C460 PRG:4460 AE 91 05 lda $0463,x ; CPU:$C463 PRG:4463 BD 63 04 clc ; CPU:$C466 PRG:4466 18 adc #$40 ; CPU:$C467 PRG:4467 69 40 - sta Zp71 ; CPU:$C469 PRG:4469 85 71 + sta OamShadowPtrLo ; CPU:$C469 PRG:4469 85 71 lda #$22 ; CPU:$C46B PRG:446B A9 22 adc #$00 ; CPU:$C46D PRG:446D 69 00 - sta Zp72 ; CPU:$C46F PRG:446F 85 72 - jmp Sub_9786 ; CPU:$C471 PRG:4471 4C 86 97 + sta OamShadowPtrHi ; CPU:$C46F PRG:446F 85 72 + jmp Sub_9786 ; CPU:$C471 PRG:4471 4C 86 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_C474 -; Global: Branch target inside Label: taken when C474. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C474. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C474: - jsr Sub_D69C ; CPU:$C474 PRG:4474 20 9C D6 - lda Zp73 ; CPU:$C477 PRG:4477 A5 73 + jsr Sub_D69C ; CPU:$C474 PRG:4474 20 9C D6 + lda VramWritePtrLo ; CPU:$C477 PRG:4477 A5 73 clc ; CPU:$C479 PRG:4479 18 adc #$87 ; CPU:$C47A PRG:447A 69 87 - sta Zp73 ; CPU:$C47C PRG:447C 85 73 - lda Zp74 ; CPU:$C47E PRG:447E A5 74 + sta VramWritePtrLo ; CPU:$C47C PRG:447C 85 73 + lda VramWritePtrHi ; CPU:$C47E PRG:447E A5 74 adc #$C4 ; CPU:$C480 PRG:4480 69 C4 - sta Zp74 ; CPU:$C482 PRG:4482 85 74 - jmp Sub_9777 ; CPU:$C484 PRG:4484 4C 77 97 + sta VramWritePtrHi ; CPU:$C482 PRG:4482 85 74 + jmp Sub_9777 ; CPU:$C484 PRG:4484 4C 77 97 ; ---- data $C487-$C837 (945 bytes) ---- ; referenced by `lda $C507,y` at $C15C (operand $C507 falls inside this region) ; referenced by `ldx $C52B,y` at $C40C (operand $C52B falls inside this region) ; referenced by `ldx $C54B,y` at $C422 (operand $C54B falls inside this region) ; referenced by `ldx $C54B,y` at $C439 (operand $C54B falls inside this region) - .byte $0F, $20, $00, $1C, $0F, $20, $03, $1C, $0F, $35, $00, $1C, $0F, $20, $16, $1C ; CPU:$C487 PRG:4487 0F 20 00 1C 0F 20 03 1C 0F 35 00 1C 0F 20 16 1C +SpriteOamEntryTable: + .byte $0F, $20, $00, $1C, $0F, $20, $03, $1C, $0F, $35, $00, $1C, $0F, $20, $16, $1C ; CPU:$C487 PRG:0487 0F 20 00 1C 0F 20 03 1C 0F 35 00 1C 0F 20 16 1C .byte $0F, $36, $17, $07, $0F, $36, $17, $0F, $0F, $0F, $30, $02, $0F, $0F, $30, $16 ; CPU:$C497 PRG:4497 0F 36 17 07 0F 36 17 0F 0F 0F 30 02 0F 0F 30 16 .byte $0F, $20, $00, $14, $0F, $20, $03, $14, $0F, $3C, $00, $14, $0F, $20, $16, $14 ; CPU:$C4A7 PRG:44A7 0F 20 00 14 0F 20 03 14 0F 3C 00 14 0F 20 16 14 .byte $0F, $36, $17, $07, $0F, $36, $17, $0F, $0F, $0F, $30, $02, $0F, $0F, $30, $16 ; CPU:$C4B7 PRG:44B7 0F 36 17 07 0F 36 17 0F 0F 0F 30 02 0F 0F 30 16 @@ -8498,14 +8671,14 @@ Label_C838: sty ZpFB ; CPU:$C83A PRG:483A 84 FB ldx #$0A ; CPU:$C83C PRG:483C A2 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative16 -; Global: Branch target inside Label: taken when C83E. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative17 +; Global: Branch target inside NmiHandler: taken when OnNonnegative17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative16: +NmiHandler_OnNonnegative17: lda $D0CD,y ; CPU:$C83E PRG:483E B9 CD D0 sta $042F,x ; CPU:$C841 PRG:4841 9D 2F 04 sta $04A4,x ; CPU:$C844 PRG:4844 9D A4 04 @@ -8520,13 +8693,13 @@ NmiHandler_OnNonnegative16: sta $0470,x ; CPU:$C85A PRG:485A 9D 70 04 iny ; CPU:$C85D PRG:485D C8 dex ; CPU:$C85E PRG:485E CA - bpl NmiHandler_OnNonnegative16 ; CPU:$C85F PRG:485F 10 DD + bpl NmiHandler_OnNonnegative17 ; CPU:$C85F PRG:485F 10 DD inc $042F ; CPU:$C861 PRG:4861 EE 2F 04 ldx #$06 ; CPU:$C864 PRG:4864 A2 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_C866 -; Global: Branch target inside Label: taken when C866. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C866. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8534,52 +8707,52 @@ NmiHandler_OnNonnegative16: Sub_C866: lda $03FB,x ; CPU:$C866 PRG:4866 BD FB 03 and #$08 ; CPU:$C869 PRG:4869 29 08 - bne NmiHandler_Loop175 ; CPU:$C86B PRG:486B D0 04 + bne NmiHandler_Loop178 ; CPU:$C86B PRG:486B D0 04 inx ; CPU:$C86D PRG:486D E8 - jmp Sub_C866 ; CPU:$C86E PRG:486E 4C 66 C8 + jmp Sub_C866 ; CPU:$C86E PRG:486E 4C 66 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop175 -; Global: Branch target inside Label: taken when C871. -; Local: Part of Label. +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop175: +NmiHandler_Loop178: lda #$1F ; CPU:$C871 PRG:4871 A9 1F sta $043C,x ; CPU:$C873 PRG:4873 9D 3C 04 sta $04CB,x ; CPU:$C876 PRG:4876 9D CB 04 ldx #$04 ; CPU:$C879 PRG:4879 A2 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero64 -; Global: Branch target inside Label: taken when C87B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero64. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero64: - jsr Sub_D169 ; CPU:$C87B PRG:487B 20 69 D1 - beq NmiHandler_Loop176 ; CPU:$C87E PRG:487E F0 06 + jsr Sub_D169 ; CPU:$C87B PRG:487B 20 69 D1 + beq NmiHandler_Loop179 ; CPU:$C87E PRG:487E F0 06 dec $043C,x ; CPU:$C880 PRG:4880 DE 3C 04 dec $043C,x ; CPU:$C883 PRG:4883 DE 3C 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop176 -; Global: Branch target inside Label: taken when C886. -; Local: Part of Label. +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop176: +NmiHandler_Loop179: inx ; CPU:$C886 PRG:4886 E8 cpx #$0B ; CPU:$C887 PRG:4887 E0 0B - bne NmiHandler_OnNonzero64 ; CPU:$C889 PRG:4889 D0 F0 + bne NmiHandler_OnNonzero64 ; CPU:$C889 PRG:4889 D0 F0 ldx #$00 ; CPU:$C88B PRG:488B A2 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero65 -; Global: Branch target inside Label: taken when C88D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero65. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8592,73 +8765,73 @@ NmiHandler_OnNonzero65: sta $0497,x ; CPU:$C897 PRG:4897 9D 97 04 inc $068D ; CPU:$C89A PRG:489A EE 8D 06 lda $C91A,y ; CPU:$C89D PRG:489D B9 1A C9 - bmi NmiHandler_Loop177 ; CPU:$C8A0 PRG:48A0 30 04 + bmi NmiHandler_Loop180 ; CPU:$C8A0 PRG:48A0 30 04 lda #$02 ; CPU:$C8A2 PRG:48A2 A9 02 - bne NmiHandler_Loop178 ; CPU:$C8A4 PRG:48A4 D0 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop177 -; Global: Branch target inside Label: taken when C8A6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop177: - lda #$FE ; CPU:$C8A6 PRG:48A6 A9 FE -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop178 -; Global: Branch target inside Label: taken when C8A8. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop178: - sta ZpD9,x ; CPU:$C8A8 PRG:48A8 95 D9 - lda ZpEC ; CPU:$C8AA PRG:48AA A5 EC - cmp $043C,x ; CPU:$C8AC PRG:48AC DD 3C 04 - beq NmiHandler_Loop179 ; CPU:$C8AF PRG:48AF F0 07 - bcs NmiHandler_Loop180 ; CPU:$C8B1 PRG:48B1 B0 0B - cmp $042F,x ; CPU:$C8B3 PRG:48B3 DD 2F 04 - bcc NmiHandler_Loop181 ; CPU:$C8B6 PRG:48B6 90 0F -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop179 -; Global: Branch target inside Label: taken when C8B8. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop179: - sta $0422,x ; CPU:$C8B8 PRG:48B8 9D 22 04 - jmp Sub_C8CD ; CPU:$C8BB PRG:48BB 4C CD C8 + bne NmiHandler_Loop181 ; CPU:$C8A4 PRG:48A4 D0 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop180 -; Global: Branch target inside Label: taken when C8BE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop180: - lda $043C,x ; CPU:$C8BE PRG:48BE BD 3C 04 - sta $0422,x ; CPU:$C8C1 PRG:48C1 9D 22 04 - jmp Sub_C8CD ; CPU:$C8C4 PRG:48C4 4C CD C8 + lda #$FE ; CPU:$C8A6 PRG:48A6 A9 FE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop181 -; Global: Branch target inside Label: taken when C8C7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop181: + sta ZpD9,x ; CPU:$C8A8 PRG:48A8 95 D9 + lda ZpEC ; CPU:$C8AA PRG:48AA A5 EC + cmp $043C,x ; CPU:$C8AC PRG:48AC DD 3C 04 + beq NmiHandler_Loop182 ; CPU:$C8AF PRG:48AF F0 07 + bcs NmiHandler_Loop183 ; CPU:$C8B1 PRG:48B1 B0 0B + cmp $042F,x ; CPU:$C8B3 PRG:48B3 DD 2F 04 + bcc NmiHandler_Loop184 ; CPU:$C8B6 PRG:48B6 90 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + sta $0422,x ; CPU:$C8B8 PRG:48B8 9D 22 04 + jmp Sub_C8CD ; CPU:$C8BB PRG:48BB 4C CD C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + lda $043C,x ; CPU:$C8BE PRG:48BE BD 3C 04 + sta $0422,x ; CPU:$C8C1 PRG:48C1 9D 22 04 + jmp Sub_C8CD ; CPU:$C8C4 PRG:48C4 4C CD C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: lda $042F,x ; CPU:$C8C7 PRG:48C7 BD 2F 04 sta $0422,x ; CPU:$C8CA PRG:48CA 9D 22 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_C8CD -; Global: Branch target inside Label: taken when C8CD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C8CD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8666,12 +8839,12 @@ NmiHandler_Loop181: Sub_C8CD: inx ; CPU:$C8CD PRG:48CD E8 cpx #$0B ; CPU:$C8CE PRG:48CE E0 0B - bne NmiHandler_OnNonzero65 ; CPU:$C8D0 PRG:48D0 D0 BB + bne NmiHandler_OnNonzero65 ; CPU:$C8D0 PRG:48D0 D0 BB ldx #$0B ; CPU:$C8D2 PRG:48D2 A2 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero66 -; Global: Branch target inside Label: taken when C8D4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero66. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8701,11 +8874,11 @@ NmiHandler_OnNonzero66: sta $0497,x ; CPU:$C912 PRG:4912 9D 97 04 inx ; CPU:$C915 PRG:4915 E8 cpx #$0D ; CPU:$C916 PRG:4916 E0 0D - bne NmiHandler_OnNonzero66 ; CPU:$C918 PRG:4918 D0 BA + bne NmiHandler_OnNonzero66 ; CPU:$C918 PRG:4918 D0 BA ; ----------------------------------------------------------------------------- ; Routine: Sub_C91A -; Global: Branch target inside Label: taken when C91A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C91A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8714,79 +8887,79 @@ Sub_C91A: ldx #$00 ; CPU:$C91A PRG:491A A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C91C -; Global: Branch target inside Label: taken when C91C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C91C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C91C: - jsr Sub_CA29 ; CPU:$C91C PRG:491C 20 29 CA - bcc NmiHandler_Loop182 ; CPU:$C91F PRG:491F 90 03 - jmp NmiHandler_Loop191 ; CPU:$C921 PRG:4921 4C E2 C9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop182 -; Global: Branch target inside Label: taken when C924. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop182: - lda $03FB,x ; CPU:$C924 PRG:4924 BD FB 03 - bpl NmiHandler_Loop183 ; CPU:$C927 PRG:4927 10 03 - jmp Sub_C9B5 ; CPU:$C929 PRG:4929 4C B5 C9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop183 -; Global: Branch target inside Label: taken when C92C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop183: - jsr Sub_C9F8 ; CPU:$C92C PRG:492C 20 F8 C9 - bcs NmiHandler_Loop186 ; CPU:$C92F PRG:492F B0 1E - lda $0422,x ; CPU:$C931 PRG:4931 BD 22 04 - cmp $058F ; CPU:$C934 PRG:4934 CD 8F 05 - bcs NmiHandler_Loop184 ; CPU:$C937 PRG:4937 B0 0B - cmp $043C,x ; CPU:$C939 PRG:4939 DD 3C 04 - beq NmiHandler_Loop185 ; CPU:$C93C PRG:493C F0 0E - inc $0422,x ; CPU:$C93E PRG:493E FE 22 04 - jmp NmiHandler_Loop190 ; CPU:$C941 PRG:4941 4C DA C9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop184 -; Global: Branch target inside Label: taken when C944. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop184: - cmp $042F,x ; CPU:$C944 PRG:4944 DD 2F 04 - beq NmiHandler_Loop185 ; CPU:$C947 PRG:4947 F0 03 - dec $0422,x ; CPU:$C949 PRG:4949 DE 22 04 + jsr Sub_CA29 ; CPU:$C91C PRG:491C 20 29 CA + bcc NmiHandler_Loop185 ; CPU:$C91F PRG:491F 90 03 + jmp NmiHandler_Loop194 ; CPU:$C921 PRG:4921 4C E2 C9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop185 -; Global: Branch target inside Label: taken when C94C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop185: - jmp NmiHandler_Loop190 ; CPU:$C94C PRG:494C 4C DA C9 + lda $03FB,x ; CPU:$C924 PRG:4924 BD FB 03 + bpl NmiHandler_Loop186 ; CPU:$C927 PRG:4927 10 03 + jmp Sub_C9B5 ; CPU:$C929 PRG:4929 4C B5 C9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop186 -; Global: Branch target inside Label: taken when C94F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop186: + jsr Sub_C9F8 ; CPU:$C92C PRG:492C 20 F8 C9 + bcs NmiHandler_Loop189 ; CPU:$C92F PRG:492F B0 1E + lda $0422,x ; CPU:$C931 PRG:4931 BD 22 04 + cmp $058F ; CPU:$C934 PRG:4934 CD 8F 05 + bcs NmiHandler_Loop187 ; CPU:$C937 PRG:4937 B0 0B + cmp $043C,x ; CPU:$C939 PRG:4939 DD 3C 04 + beq NmiHandler_Loop188 ; CPU:$C93C PRG:493C F0 0E + inc $0422,x ; CPU:$C93E PRG:493E FE 22 04 + jmp NmiHandler_Loop193 ; CPU:$C941 PRG:4941 4C DA C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + cmp $042F,x ; CPU:$C944 PRG:4944 DD 2F 04 + beq NmiHandler_Loop188 ; CPU:$C947 PRG:4947 F0 03 + dec $0422,x ; CPU:$C949 PRG:4949 DE 22 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + jmp NmiHandler_Loop193 ; CPU:$C94C PRG:494C 4C DA C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: lda $0422,x ; CPU:$C94F PRG:494F BD 22 04 - jsr Sub_D0B5 ; CPU:$C952 PRG:4952 20 B5 D0 + jsr Sub_D0B5 ; CPU:$C952 PRG:4952 20 B5 D0 lda ZpA1 ; CPU:$C955 PRG:4955 A5 A1 sta $0449,x ; CPU:$C957 PRG:4957 9D 49 04 lda ZpA2 ; CPU:$C95A PRG:495A A5 A2 @@ -8800,24 +8973,24 @@ NmiHandler_Loop186: sta $0415,x ; CPU:$C96E PRG:496E 9D 15 04 lda $0422,x ; CPU:$C971 PRG:4971 BD 22 04 cmp $04CB,x ; CPU:$C974 PRG:4974 DD CB 04 - bne NmiHandler_Loop187 ; CPU:$C977 PRG:4977 D0 05 + bne NmiHandler_Loop190 ; CPU:$C977 PRG:4977 D0 05 lda #$08 ; CPU:$C979 PRG:4979 A9 08 sta $0415,x ; CPU:$C97B PRG:497B 9D 15 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop187 -; Global: Branch target inside Label: taken when C97E. -; Local: Part of Label. +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop187: +NmiHandler_Loop190: lda $03FB,x ; CPU:$C97E PRG:497E BD FB 03 and #$06 ; CPU:$C981 PRG:4981 29 06 - beq NmiHandler_Loop188 ; CPU:$C983 PRG:4983 F0 1F + beq NmiHandler_Loop191 ; CPU:$C983 PRG:4983 F0 1F ldy $04BE,x ; CPU:$C985 PRG:4985 BC BE 04 lda $03FB,y ; CPU:$C988 PRG:4988 B9 FB 03 - bpl NmiHandler_Loop188 ; CPU:$C98B PRG:498B 10 17 + bpl NmiHandler_Loop191 ; CPU:$C98B PRG:498B 10 17 lda $0470,y ; CPU:$C98D PRG:498D B9 70 04 sta $0470,x ; CPU:$C990 PRG:4990 9D 70 04 lda $03FB,y ; CPU:$C993 PRG:4993 B9 FB 03 @@ -8827,207 +9000,207 @@ NmiHandler_Loop187: lda $0497,y ; CPU:$C99E PRG:499E B9 97 04 sta $0497,x ; CPU:$C9A1 PRG:49A1 9D 97 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop188 -; Global: Branch target inside Label: taken when C9A4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop188: - jsr Sub_99F7 ; CPU:$C9A4 PRG:49A4 20 F7 99 - jsr Sub_CF7B ; CPU:$C9A7 PRG:49A7 20 7B CF - jsr Sub_CE64 ; CPU:$C9AA PRG:49AA 20 64 CE - lda #$00 ; CPU:$C9AD PRG:49AD A9 00 - sta $0415,x ; CPU:$C9AF PRG:49AF 9D 15 04 - jmp NmiHandler_Loop190 ; CPU:$C9B2 PRG:49B2 4C DA C9 -; ----------------------------------------------------------------------------- -; Routine: Sub_C9B5 -; Global: Branch target inside Label: taken when C9B5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_C9B5: - jsr Sub_CA29 ; CPU:$C9B5 PRG:49B5 20 29 CA - bcs NmiHandler_Loop191 ; CPU:$C9B8 PRG:49B8 B0 28 - jsr Sub_D02A ; CPU:$C9BA PRG:49BA 20 2A D0 - jsr Sub_C9F8 ; CPU:$C9BD PRG:49BD 20 F8 C9 - bcs NmiHandler_Loop189 ; CPU:$C9C0 PRG:49C0 B0 0E - lda $03FB,x ; CPU:$C9C2 PRG:49C2 BD FB 03 - and #$7F ; CPU:$C9C5 PRG:49C5 29 7F - sta $03FB,x ; CPU:$C9C7 PRG:49C7 9D FB 03 - jsr Sub_CE64 ; CPU:$C9CA PRG:49CA 20 64 CE - jmp NmiHandler_Loop190 ; CPU:$C9CD PRG:49CD 4C DA C9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop189 -; Global: Branch target inside Label: taken when C9D0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop189: - lda $03FB,x ; CPU:$C9D0 PRG:49D0 BD FB 03 - and #$01 ; CPU:$C9D3 PRG:49D3 29 01 - bne NmiHandler_Loop190 ; CPU:$C9D5 PRG:49D5 D0 03 - jsr Sub_CA41 ; CPU:$C9D7 PRG:49D7 20 41 CA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop190 -; Global: Branch target inside Label: taken when C9DA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop190: - lda $03FB,x ; CPU:$C9DA PRG:49DA BD FB 03 - and #$DF ; CPU:$C9DD PRG:49DD 29 DF - sta $03FB,x ; CPU:$C9DF PRG:49DF 9D FB 03 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop191 -; Global: Branch target inside Label: taken when C9E2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop191: - inx ; CPU:$C9E2 PRG:49E2 E8 - cpx #$0D ; CPU:$C9E3 PRG:49E3 E0 0D - bcs NmiHandler_Loop192 ; CPU:$C9E5 PRG:49E5 B0 03 - jmp Sub_C91C ; CPU:$C9E7 PRG:49E7 4C 1C C9 + jsr Sub_99F7 ; CPU:$C9A4 PRG:49A4 20 F7 99 + jsr Sub_CF7B ; CPU:$C9A7 PRG:49A7 20 7B CF + jsr Sub_CE64 ; CPU:$C9AA PRG:49AA 20 64 CE + lda #$00 ; CPU:$C9AD PRG:49AD A9 00 + sta $0415,x ; CPU:$C9AF PRG:49AF 9D 15 04 + jmp NmiHandler_Loop193 ; CPU:$C9B2 PRG:49B2 4C DA C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9B5 +; Global: Branch target inside Sub: taken when C9B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9B5: + jsr Sub_CA29 ; CPU:$C9B5 PRG:49B5 20 29 CA + bcs NmiHandler_Loop194 ; CPU:$C9B8 PRG:49B8 B0 28 + jsr Sub_D02A ; CPU:$C9BA PRG:49BA 20 2A D0 + jsr Sub_C9F8 ; CPU:$C9BD PRG:49BD 20 F8 C9 + bcs NmiHandler_Loop192 ; CPU:$C9C0 PRG:49C0 B0 0E + lda $03FB,x ; CPU:$C9C2 PRG:49C2 BD FB 03 + and #$7F ; CPU:$C9C5 PRG:49C5 29 7F + sta $03FB,x ; CPU:$C9C7 PRG:49C7 9D FB 03 + jsr Sub_CE64 ; CPU:$C9CA PRG:49CA 20 64 CE + jmp NmiHandler_Loop193 ; CPU:$C9CD PRG:49CD 4C DA C9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop192 -; Global: Branch target inside Label: taken when C9EA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop192: - jsr Sub_82A3 ; CPU:$C9EA PRG:49EA 20 A3 82 - lda ZpFB ; CPU:$C9ED PRG:49ED A5 FB - cmp #$02 ; CPU:$C9EF PRG:49EF C9 02 - bcs NmiHandler_Loop193 ; CPU:$C9F1 PRG:49F1 B0 02 - inc ZpFB ; CPU:$C9F3 PRG:49F3 E6 FB + lda $03FB,x ; CPU:$C9D0 PRG:49D0 BD FB 03 + and #$01 ; CPU:$C9D3 PRG:49D3 29 01 + bne NmiHandler_Loop193 ; CPU:$C9D5 PRG:49D5 D0 03 + jsr Sub_CA41 ; CPU:$C9D7 PRG:49D7 20 41 CA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop193 -; Global: Branch target inside Label: taken when C9F5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop193: - jmp Sub_C91A ; CPU:$C9F5 PRG:49F5 4C 1A C9 + lda $03FB,x ; CPU:$C9DA PRG:49DA BD FB 03 + and #$DF ; CPU:$C9DD PRG:49DD 29 DF + sta $03FB,x ; CPU:$C9DF PRG:49DF 9D FB 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + inx ; CPU:$C9E2 PRG:49E2 E8 + cpx #$0D ; CPU:$C9E3 PRG:49E3 E0 0D + bcs NmiHandler_Loop195 ; CPU:$C9E5 PRG:49E5 B0 03 + jmp Sub_C91C ; CPU:$C9E7 PRG:49E7 4C 1C C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + jsr Sub_82A3 ; CPU:$C9EA PRG:49EA 20 A3 82 + lda ZpFB ; CPU:$C9ED PRG:49ED A5 FB + cmp #$02 ; CPU:$C9EF PRG:49EF C9 02 + bcs NmiHandler_Loop196 ; CPU:$C9F1 PRG:49F1 B0 02 + inc ZpFB ; CPU:$C9F3 PRG:49F3 E6 FB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + jmp Sub_C91A ; CPU:$C9F5 PRG:49F5 4C 1A C9 ; ----------------------------------------------------------------------------- ; Routine: Sub_C9F8 -; Global: Branch target inside Label: taken when C9F8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when C9F8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C9F8: ldy #$04 ; CPU:$C9F8 PRG:49F8 A0 04 - sty Zp6F ; CPU:$C9FA PRG:49FA 84 6F + sty PlayerSpriteX ; CPU:$C9FA PRG:49FA 84 6F ldy #$FD ; CPU:$C9FC PRG:49FC A0 FD - sty Zp70 ; CPU:$C9FE PRG:49FE 84 70 + sty PlayerSpriteY ; CPU:$C9FE PRG:49FE 84 70 lda $03FB,x ; CPU:$CA00 PRG:4A00 BD FB 03 and #$06 ; CPU:$CA03 PRG:4A03 29 06 - beq NmiHandler_Loop195 ; CPU:$CA05 PRG:4A05 F0 0F + beq NmiHandler_Loop198 ; CPU:$CA05 PRG:4A05 F0 0F and #$04 ; CPU:$CA07 PRG:4A07 29 04 - bne NmiHandler_Loop194 ; CPU:$CA09 PRG:4A09 D0 07 + bne NmiHandler_Loop197 ; CPU:$CA09 PRG:4A09 D0 07 lda #$FB ; CPU:$CA0B PRG:4A0B A9 FB - sta Zp70 ; CPU:$CA0D PRG:4A0D 85 70 - jmp NmiHandler_Loop195 ; CPU:$CA0F PRG:4A0F 4C 16 CA + sta PlayerSpriteY ; CPU:$CA0D PRG:4A0D 85 70 + jmp NmiHandler_Loop198 ; CPU:$CA0F PRG:4A0F 4C 16 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop194 -; Global: Branch target inside Label: taken when CA12. -; Local: Part of Label. +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop194: +NmiHandler_Loop197: lda #$06 ; CPU:$CA12 PRG:4A12 A9 06 - sta Zp6F ; CPU:$CA14 PRG:4A14 85 6F + sta PlayerSpriteX ; CPU:$CA14 PRG:4A14 85 6F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop195 -; Global: Branch target inside Label: taken when CA16. -; Local: Part of Label. +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop195: +NmiHandler_Loop198: lda $058F ; CPU:$CA16 PRG:4A16 AD 8F 05 sec ; CPU:$CA19 PRG:4A19 38 sbc $0422,x ; CPU:$CA1A PRG:4A1A FD 22 04 - cmp Zp6F ; CPU:$CA1D PRG:4A1D C5 6F - bcc NmiHandler_Loop196 ; CPU:$CA1F PRG:4A1F 90 06 - cmp Zp70 ; CPU:$CA21 PRG:4A21 C5 70 - bcs NmiHandler_Loop196 ; CPU:$CA23 PRG:4A23 B0 02 + cmp PlayerSpriteX ; CPU:$CA1D PRG:4A1D C5 6F + bcc NmiHandler_Loop199 ; CPU:$CA1F PRG:4A1F 90 06 + cmp PlayerSpriteY ; CPU:$CA21 PRG:4A21 C5 70 + bcs NmiHandler_Loop199 ; CPU:$CA23 PRG:4A23 B0 02 clc ; CPU:$CA25 PRG:4A25 18 rts ; CPU:$CA26 PRG:4A26 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop196 -; Global: Branch target inside Label: taken when CA27. -; Local: Part of Label. +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop196: +NmiHandler_Loop199: sec ; CPU:$CA27 PRG:4A27 38 rts ; CPU:$CA28 PRG:4A28 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA29 -; Global: Branch target inside Label: taken when CA29. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CA29. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CA29: cpx #$0B ; CPU:$CA29 PRG:4A29 E0 0B - bcc NmiHandler_Loop197 ; CPU:$CA2B PRG:4A2B 90 09 + bcc NmiHandler_Loop200 ; CPU:$CA2B PRG:4A2B 90 09 lda $0673 ; CPU:$CA2D PRG:4A2D AD 73 06 and #$01 ; CPU:$CA30 PRG:4A30 29 01 - beq NmiHandler_Loop198 ; CPU:$CA32 PRG:4A32 F0 0B + beq NmiHandler_Loop201 ; CPU:$CA32 PRG:4A32 F0 0B clc ; CPU:$CA34 PRG:4A34 18 rts ; CPU:$CA35 PRG:4A35 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop197 -; Global: Branch target inside Label: taken when CA36. -; Local: Part of Label. +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop197: +NmiHandler_Loop200: lda $0673 ; CPU:$CA36 PRG:4A36 AD 73 06 and #$01 ; CPU:$CA39 PRG:4A39 29 01 - bne NmiHandler_Loop198 ; CPU:$CA3B PRG:4A3B D0 02 + bne NmiHandler_Loop201 ; CPU:$CA3B PRG:4A3B D0 02 clc ; CPU:$CA3D PRG:4A3D 18 rts ; CPU:$CA3E PRG:4A3E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop198 -; Global: Branch target inside Label: taken when CA3F. -; Local: Part of Label. +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop198: +NmiHandler_Loop201: sec ; CPU:$CA3F PRG:4A3F 38 rts ; CPU:$CA40 PRG:4A40 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA41 -; Global: Branch target inside Label: taken when CA41. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CA41. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9035,143 +9208,143 @@ NmiHandler_Loop198: Sub_CA41: lda $04B1,x ; CPU:$CA41 PRG:4A41 BD B1 04 and #$01 ; CPU:$CA44 PRG:4A44 29 01 - bne NmiHandler_Loop199 ; CPU:$CA46 PRG:4A46 D0 11 + bne NmiHandler_Loop202 ; CPU:$CA46 PRG:4A46 D0 11 lda $03FB,x ; CPU:$CA48 PRG:4A48 BD FB 03 and #$06 ; CPU:$CA4B PRG:4A4B 29 06 - beq NmiHandler_Loop200 ; CPU:$CA4D PRG:4A4D F0 0F + beq NmiHandler_Loop203 ; CPU:$CA4D PRG:4A4D F0 0F ldy $04BE,x ; CPU:$CA4F PRG:4A4F BC BE 04 lda $04B1,y ; CPU:$CA52 PRG:4A52 B9 B1 04 and #$01 ; CPU:$CA55 PRG:4A55 29 01 - beq NmiHandler_Loop200 ; CPU:$CA57 PRG:4A57 F0 05 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop199 -; Global: Branch target inside Label: taken when CA59. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop199: - lda $03EA ; CPU:$CA59 PRG:4A59 AD EA 03 - bne NmiHandler_Loop207 ; CPU:$CA5C PRG:4A5C D0 64 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop200 -; Global: Branch target inside Label: taken when CA5E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop200: - lda $04B1,x ; CPU:$CA5E PRG:4A5E BD B1 04 - and #$80 ; CPU:$CA61 PRG:4A61 29 80 - bne NmiHandler_Loop204 ; CPU:$CA63 PRG:4A63 D0 34 - lda $0408,x ; CPU:$CA65 PRG:4A65 BD 08 04 - cmp #$18 ; CPU:$CA68 PRG:4A68 C9 18 - beq NmiHandler_Loop201 ; CPU:$CA6A PRG:4A6A F0 07 - lda $03FB,x ; CPU:$CA6C PRG:4A6C BD FB 03 - and #$10 ; CPU:$CA6F PRG:4A6F 29 10 - bne NmiHandler_Loop208 ; CPU:$CA71 PRG:4A71 D0 5D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop201 -; Global: Branch target inside Label: taken when CA73. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop201: - lda $0422,x ; CPU:$CA73 PRG:4A73 BD 22 04 - cmp #$1F ; CPU:$CA76 PRG:4A76 C9 1F - bne NmiHandler_Loop202 ; CPU:$CA78 PRG:4A78 D0 05 - lda #$FF ; CPU:$CA7A PRG:4A7A A9 FF - sta $068F ; CPU:$CA7C PRG:4A7C 8D 8F 06 + beq NmiHandler_Loop203 ; CPU:$CA57 PRG:4A57 F0 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop202 -; Global: Branch target inside Label: taken when CA7F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop202: - dec $0497,x ; CPU:$CA7F PRG:4A7F DE 97 04 - beq NmiHandler_Loop204 ; CPU:$CA82 PRG:4A82 F0 15 - lda $0497,x ; CPU:$CA84 PRG:4A84 BD 97 04 - and #$03 ; CPU:$CA87 PRG:4A87 29 03 - bne NmiHandler_Loop203 ; CPU:$CA89 PRG:4A89 D0 03 - jsr Sub_CE64 ; CPU:$CA8B PRG:4A8B 20 64 CE + lda $03EA ; CPU:$CA59 PRG:4A59 AD EA 03 + bne NmiHandler_Loop210 ; CPU:$CA5C PRG:4A5C D0 64 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop203 -; Global: Branch target inside Label: taken when CA8E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop203: - lda $03FB,x ; CPU:$CA8E PRG:4A8E BD FB 03 - and #$EF ; CPU:$CA91 PRG:4A91 29 EF - sta $03FB,x ; CPU:$CA93 PRG:4A93 9D FB 03 - jmp Sub_CD26 ; CPU:$CA96 PRG:4A96 4C 26 CD + lda $04B1,x ; CPU:$CA5E PRG:4A5E BD B1 04 + and #$80 ; CPU:$CA61 PRG:4A61 29 80 + bne NmiHandler_Loop207 ; CPU:$CA63 PRG:4A63 D0 34 + lda $0408,x ; CPU:$CA65 PRG:4A65 BD 08 04 + cmp #$18 ; CPU:$CA68 PRG:4A68 C9 18 + beq NmiHandler_Loop204 ; CPU:$CA6A PRG:4A6A F0 07 + lda $03FB,x ; CPU:$CA6C PRG:4A6C BD FB 03 + and #$10 ; CPU:$CA6F PRG:4A6F 29 10 + bne NmiHandler_Loop211 ; CPU:$CA71 PRG:4A71 D0 5D ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop204 -; Global: Branch target inside Label: taken when CA99. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop204: - lda $04B1,x ; CPU:$CA99 PRG:4A99 BD B1 04 - bne NmiHandler_Loop205 ; CPU:$CA9C PRG:4A9C D0 0F - lda $03FB,x ; CPU:$CA9E PRG:4A9E BD FB 03 - and #$06 ; CPU:$CAA1 PRG:4AA1 29 06 - beq NmiHandler_Loop206 ; CPU:$CAA3 PRG:4AA3 F0 1A - ldy $04BE,x ; CPU:$CAA5 PRG:4AA5 BC BE 04 - lda $04B1,y ; CPU:$CAA8 PRG:4AA8 B9 B1 04 - beq NmiHandler_Loop206 ; CPU:$CAAB PRG:4AAB F0 12 + lda $0422,x ; CPU:$CA73 PRG:4A73 BD 22 04 + cmp #$1F ; CPU:$CA76 PRG:4A76 C9 1F + bne NmiHandler_Loop205 ; CPU:$CA78 PRG:4A78 D0 05 + lda #$FF ; CPU:$CA7A PRG:4A7A A9 FF + sta $068F ; CPU:$CA7C PRG:4A7C 8D 8F 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop205 -; Global: Branch target inside Label: taken when CAAD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop205: - jsr Sub_D09C ; CPU:$CAAD PRG:4AAD 20 9C D0 - bcs NmiHandler_Loop206 ; CPU:$CAB0 PRG:4AB0 B0 0D - lda a:ZpB7,y ; CPU:$CAB2 PRG:4AB2 B9 B7 00 - and #$10 ; CPU:$CAB5 PRG:4AB5 29 10 - bne NmiHandler_Loop206 ; CPU:$CAB7 PRG:4AB7 D0 06 - lda $03E3,y ; CPU:$CAB9 PRG:4AB9 B9 E3 03 - sta $0470,x ; CPU:$CABC PRG:4ABC 9D 70 04 + dec $0497,x ; CPU:$CA7F PRG:4A7F DE 97 04 + beq NmiHandler_Loop207 ; CPU:$CA82 PRG:4A82 F0 15 + lda $0497,x ; CPU:$CA84 PRG:4A84 BD 97 04 + and #$03 ; CPU:$CA87 PRG:4A87 29 03 + bne NmiHandler_Loop206 ; CPU:$CA89 PRG:4A89 D0 03 + jsr Sub_CE64 ; CPU:$CA8B PRG:4A8B 20 64 CE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop206 -; Global: Branch target inside Label: taken when CABF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop206: - jmp Sub_CAC8 ; CPU:$CABF PRG:4ABF 4C C8 CA + lda $03FB,x ; CPU:$CA8E PRG:4A8E BD FB 03 + and #$EF ; CPU:$CA91 PRG:4A91 29 EF + sta $03FB,x ; CPU:$CA93 PRG:4A93 9D FB 03 + jmp Sub_CD26 ; CPU:$CA96 PRG:4A96 4C 26 CD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop207 -; Global: Branch target inside Label: taken when CAC2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop207: + lda $04B1,x ; CPU:$CA99 PRG:4A99 BD B1 04 + bne NmiHandler_Loop208 ; CPU:$CA9C PRG:4A9C D0 0F + lda $03FB,x ; CPU:$CA9E PRG:4A9E BD FB 03 + and #$06 ; CPU:$CAA1 PRG:4AA1 29 06 + beq NmiHandler_Loop209 ; CPU:$CAA3 PRG:4AA3 F0 1A + ldy $04BE,x ; CPU:$CAA5 PRG:4AA5 BC BE 04 + lda $04B1,y ; CPU:$CAA8 PRG:4AA8 B9 B1 04 + beq NmiHandler_Loop209 ; CPU:$CAAB PRG:4AAB F0 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + jsr Sub_D09C ; CPU:$CAAD PRG:4AAD 20 9C D0 + bcs NmiHandler_Loop209 ; CPU:$CAB0 PRG:4AB0 B0 0D + lda a:ZpB7,y ; CPU:$CAB2 PRG:4AB2 B9 B7 00 + and #$10 ; CPU:$CAB5 PRG:4AB5 29 10 + bne NmiHandler_Loop209 ; CPU:$CAB7 PRG:4AB7 D0 06 + lda $03E3,y ; CPU:$CAB9 PRG:4AB9 B9 E3 03 + sta $0470,x ; CPU:$CABC PRG:4ABC 9D 70 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + jmp Sub_CAC8 ; CPU:$CABF PRG:4ABF 4C C8 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: lda $03EA ; CPU:$CAC2 PRG:4AC2 AD EA 03 sta $0470,x ; CPU:$CAC5 PRG:4AC5 9D 70 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_CAC8 -; Global: Branch target inside Label: taken when CAC8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CAC8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9181,40 +9354,40 @@ Sub_CAC8: ora #$10 ; CPU:$CACB PRG:4ACB 09 10 sta $03FB,x ; CPU:$CACD PRG:4ACD 9D FB 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop208 -; Global: Branch target inside Label: taken when CAD0. -; Local: Part of Label. +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop208: +NmiHandler_Loop211: lda $04B1,x ; CPU:$CAD0 PRG:4AD0 BD B1 04 and #$7F ; CPU:$CAD3 PRG:4AD3 29 7F sta $04B1,x ; CPU:$CAD5 PRG:4AD5 9D B1 04 - jsr Sub_D16F ; CPU:$CAD8 PRG:4AD8 20 6F D1 - beq NmiHandler_Loop210 ; CPU:$CADB PRG:4ADB F0 21 + jsr Sub_D16F ; CPU:$CAD8 PRG:4AD8 20 6F D1 + beq NmiHandler_Loop213 ; CPU:$CADB PRG:4ADB F0 21 lda $03FB,x ; CPU:$CADD PRG:4ADD BD FB 03 and #$40 ; CPU:$CAE0 PRG:4AE0 29 40 - bne NmiHandler_Loop209 ; CPU:$CAE2 PRG:4AE2 D0 08 + bne NmiHandler_Loop212 ; CPU:$CAE2 PRG:4AE2 D0 08 lda $0470,x ; CPU:$CAE4 PRG:4AE4 BD 70 04 - bmi NmiHandler_Loop210 ; CPU:$CAE7 PRG:4AE7 30 15 - jmp Sub_CAF1 ; CPU:$CAE9 PRG:4AE9 4C F1 CA + bmi NmiHandler_Loop213 ; CPU:$CAE7 PRG:4AE7 30 15 + jmp Sub_CAF1 ; CPU:$CAE9 PRG:4AE9 4C F1 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop209 -; Global: Branch target inside Label: taken when CAEC. -; Local: Part of Label. +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop209: +NmiHandler_Loop212: lda $0470,x ; CPU:$CAEC PRG:4AEC BD 70 04 - bpl NmiHandler_Loop210 ; CPU:$CAEF PRG:4AEF 10 0D + bpl NmiHandler_Loop213 ; CPU:$CAEF PRG:4AEF 10 0D ; ----------------------------------------------------------------------------- ; Routine: Sub_CAF1 -; Global: Branch target inside Label: taken when CAF1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CAF1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9223,124 +9396,124 @@ Sub_CAF1: inc $0497,x ; CPU:$CAF1 PRG:4AF1 FE 97 04 lda $0497,x ; CPU:$CAF4 PRG:4AF4 BD 97 04 and #$01 ; CPU:$CAF7 PRG:4AF7 29 01 - beq NmiHandler_Loop211 ; CPU:$CAF9 PRG:4AF9 F0 10 - jmp Sub_CC21 ; CPU:$CAFB PRG:4AFB 4C 21 CC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop210 -; Global: Branch target inside Label: taken when CAFE. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop210: - lda #$1E ; CPU:$CAFE PRG:4AFE A9 1E - sta $0497,x ; CPU:$CB00 PRG:4B00 9D 97 04 - lda $0470,x ; CPU:$CB03 PRG:4B03 BD 70 04 - bpl NmiHandler_Loop211 ; CPU:$CB06 PRG:4B06 10 03 - jmp Sub_CC21 ; CPU:$CB08 PRG:4B08 4C 21 CC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop211 -; Global: Branch target inside Label: taken when CB0B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop211: - cpx #$0B ; CPU:$CB0B PRG:4B0B E0 0B - bcc NmiHandler_Loop212 ; CPU:$CB0D PRG:4B0D 90 0E - jsr Sub_D17C ; CPU:$CB0F PRG:4B0F 20 7C D1 - cmp #$61 ; CPU:$CB12 PRG:4B12 C9 61 - bcc NmiHandler_Loop214 ; CPU:$CB14 PRG:4B14 90 2E - lda $0470,y ; CPU:$CB16 PRG:4B16 B9 70 04 - sta $0470,x ; CPU:$CB19 PRG:4B19 9D 70 04 - rts ; CPU:$CB1C PRG:4B1C 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop212 -; Global: Branch target inside Label: taken when CB1D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop212: - jsr Sub_D169 ; CPU:$CB1D PRG:4B1D 20 69 D1 - beq NmiHandler_Loop214 ; CPU:$CB20 PRG:4B20 F0 22 - ldy $04BE,x ; CPU:$CB22 PRG:4B22 BC BE 04 - jsr Sub_D16F ; CPU:$CB25 PRG:4B25 20 6F D1 - beq NmiHandler_Loop213 ; CPU:$CB28 PRG:4B28 F0 09 - lda $0470,x ; CPU:$CB2A PRG:4B2A BD 70 04 - sta $0470,y ; CPU:$CB2D PRG:4B2D 99 70 04 - jmp NmiHandler_Loop214 ; CPU:$CB30 PRG:4B30 4C 44 CB + beq NmiHandler_Loop214 ; CPU:$CAF9 PRG:4AF9 F0 10 + jmp Sub_CC21 ; CPU:$CAFB PRG:4AFB 4C 21 CC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop213 -; Global: Branch target inside Label: taken when CB33. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop213: - lda $047D,y ; CPU:$CB33 PRG:4B33 B9 7D 04 - sec ; CPU:$CB36 PRG:4B36 38 - sbc $047D,x ; CPU:$CB37 PRG:4B37 FD 7D 04 - cmp #$60 ; CPU:$CB3A PRG:4B3A C9 60 - bcs NmiHandler_Loop214 ; CPU:$CB3C PRG:4B3C B0 06 - lda #$01 ; CPU:$CB3E PRG:4B3E A9 01 - sta $0497,y ; CPU:$CB40 PRG:4B40 99 97 04 - rts ; CPU:$CB43 PRG:4B43 60 + lda #$1E ; CPU:$CAFE PRG:4AFE A9 1E + sta $0497,x ; CPU:$CB00 PRG:4B00 9D 97 04 + lda $0470,x ; CPU:$CB03 PRG:4B03 BD 70 04 + bpl NmiHandler_Loop214 ; CPU:$CB06 PRG:4B06 10 03 + jmp Sub_CC21 ; CPU:$CB08 PRG:4B08 4C 21 CC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop214 -; Global: Branch target inside Label: taken when CB44. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop214: - lda $04B1,x ; CPU:$CB44 PRG:4B44 BD B1 04 - and #$01 ; CPU:$CB47 PRG:4B47 29 01 - beq NmiHandler_Loop215 ; CPU:$CB49 PRG:4B49 F0 05 - lda #$02 ; CPU:$CB4B PRG:4B4B A9 02 - sta $055D ; CPU:$CB4D PRG:4B4D 8D 5D 05 + cpx #$0B ; CPU:$CB0B PRG:4B0B E0 0B + bcc NmiHandler_Loop215 ; CPU:$CB0D PRG:4B0D 90 0E + jsr Sub_D17C ; CPU:$CB0F PRG:4B0F 20 7C D1 + cmp #$61 ; CPU:$CB12 PRG:4B12 C9 61 + bcc NmiHandler_Loop217 ; CPU:$CB14 PRG:4B14 90 2E + lda $0470,y ; CPU:$CB16 PRG:4B16 B9 70 04 + sta $0470,x ; CPU:$CB19 PRG:4B19 9D 70 04 + rts ; CPU:$CB1C PRG:4B1C 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop215 -; Global: Branch target inside Label: taken when CB50. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop215: - lda $0415,x ; CPU:$CB50 PRG:4B50 BD 15 04 - bne NmiHandler_Loop218 ; CPU:$CB53 PRG:4B53 D0 4E - cpx #$0B ; CPU:$CB55 PRG:4B55 E0 0B - bcs NmiHandler_Loop216 ; CPU:$CB57 PRG:4B57 B0 0E - lda $058F ; CPU:$CB59 PRG:4B59 AD 8F 05 - clc ; CPU:$CB5C PRG:4B5C 18 - adc #$03 ; CPU:$CB5D PRG:4B5D 69 03 - cmp $0422,x ; CPU:$CB5F PRG:4B5F DD 22 04 - beq NmiHandler_Loop217 ; CPU:$CB62 PRG:4B62 F0 16 - jmp Sub_CB72 ; CPU:$CB64 PRG:4B64 4C 72 CB + jsr Sub_D169 ; CPU:$CB1D PRG:4B1D 20 69 D1 + beq NmiHandler_Loop217 ; CPU:$CB20 PRG:4B20 F0 22 + ldy $04BE,x ; CPU:$CB22 PRG:4B22 BC BE 04 + jsr Sub_D16F ; CPU:$CB25 PRG:4B25 20 6F D1 + beq NmiHandler_Loop216 ; CPU:$CB28 PRG:4B28 F0 09 + lda $0470,x ; CPU:$CB2A PRG:4B2A BD 70 04 + sta $0470,y ; CPU:$CB2D PRG:4B2D 99 70 04 + jmp NmiHandler_Loop217 ; CPU:$CB30 PRG:4B30 4C 44 CB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop216 -; Global: Branch target inside Label: taken when CB67. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop216: + lda $047D,y ; CPU:$CB33 PRG:4B33 B9 7D 04 + sec ; CPU:$CB36 PRG:4B36 38 + sbc $047D,x ; CPU:$CB37 PRG:4B37 FD 7D 04 + cmp #$60 ; CPU:$CB3A PRG:4B3A C9 60 + bcs NmiHandler_Loop217 ; CPU:$CB3C PRG:4B3C B0 06 + lda #$01 ; CPU:$CB3E PRG:4B3E A9 01 + sta $0497,y ; CPU:$CB40 PRG:4B40 99 97 04 + rts ; CPU:$CB43 PRG:4B43 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + lda $04B1,x ; CPU:$CB44 PRG:4B44 BD B1 04 + and #$01 ; CPU:$CB47 PRG:4B47 29 01 + beq NmiHandler_Loop218 ; CPU:$CB49 PRG:4B49 F0 05 + lda #$02 ; CPU:$CB4B PRG:4B4B A9 02 + sta $055D ; CPU:$CB4D PRG:4B4D 8D 5D 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + lda $0415,x ; CPU:$CB50 PRG:4B50 BD 15 04 + bne NmiHandler_Loop221 ; CPU:$CB53 PRG:4B53 D0 4E + cpx #$0B ; CPU:$CB55 PRG:4B55 E0 0B + bcs NmiHandler_Loop219 ; CPU:$CB57 PRG:4B57 B0 0E + lda $058F ; CPU:$CB59 PRG:4B59 AD 8F 05 + clc ; CPU:$CB5C PRG:4B5C 18 + adc #$03 ; CPU:$CB5D PRG:4B5D 69 03 + cmp $0422,x ; CPU:$CB5F PRG:4B5F DD 22 04 + beq NmiHandler_Loop220 ; CPU:$CB62 PRG:4B62 F0 16 + jmp Sub_CB72 ; CPU:$CB64 PRG:4B64 4C 72 CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: lda $058F ; CPU:$CB67 PRG:4B67 AD 8F 05 clc ; CPU:$CB6A PRG:4B6A 18 adc #$05 ; CPU:$CB6B PRG:4B6B 69 05 cmp $0422,x ; CPU:$CB6D PRG:4B6D DD 22 04 - beq NmiHandler_Loop217 ; CPU:$CB70 PRG:4B70 F0 08 + beq NmiHandler_Loop220 ; CPU:$CB70 PRG:4B70 F0 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_CB72 -; Global: Branch target inside Label: taken when CB72. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CB72. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9348,45 +9521,45 @@ NmiHandler_Loop216: Sub_CB72: lda $043C,x ; CPU:$CB72 PRG:4B72 BD 3C 04 cmp $0422,x ; CPU:$CB75 PRG:4B75 DD 22 04 - bne NmiHandler_Loop218 ; CPU:$CB78 PRG:4B78 D0 29 + bne NmiHandler_Loop221 ; CPU:$CB78 PRG:4B78 D0 29 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop217 -; Global: Branch target inside Label: taken when CB7A. -; Local: Part of Label. +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop217: +NmiHandler_Loop220: asl a ; CPU:$CB7A PRG:4B7A 0A clc ; CPU:$CB7B PRG:4B7B 18 adc #$76 ; CPU:$CB7C PRG:4B7C 69 76 - sta Zp73 ; CPU:$CB7E PRG:4B7E 85 73 + sta VramWritePtrLo ; CPU:$CB7E PRG:4B7E 85 73 lda #$D2 ; CPU:$CB80 PRG:4B80 A9 D2 adc #$00 ; CPU:$CB82 PRG:4B82 69 00 - sta Zp74 ; CPU:$CB84 PRG:4B84 85 74 + sta VramWritePtrHi ; CPU:$CB84 PRG:4B84 85 74 ldy #$00 ; CPU:$CB86 PRG:4B86 A0 00 - lda (Zp73),y ; CPU:$CB88 PRG:4B88 B1 73 - sta Zp71 ; CPU:$CB8A PRG:4B8A 85 71 + lda (VramWritePtrLo),y ; CPU:$CB88 PRG:4B88 B1 73 + sta OamShadowPtrLo ; CPU:$CB8A PRG:4B8A 85 71 iny ; CPU:$CB8C PRG:4B8C C8 - lda (Zp73),y ; CPU:$CB8D PRG:4B8D B1 73 + lda (VramWritePtrLo),y ; CPU:$CB8D PRG:4B8D B1 73 cmp $0456,x ; CPU:$CB8F PRG:4B8F DD 56 04 - bne NmiHandler_Loop218 ; CPU:$CB92 PRG:4B92 D0 0F + bne NmiHandler_Loop221 ; CPU:$CB92 PRG:4B92 D0 0F lda $0449,x ; CPU:$CB94 PRG:4B94 BD 49 04 - cmp Zp71 ; CPU:$CB97 PRG:4B97 C5 71 - bne NmiHandler_Loop218 ; CPU:$CB99 PRG:4B99 D0 08 + cmp OamShadowPtrLo ; CPU:$CB97 PRG:4B97 C5 71 + bne NmiHandler_Loop221 ; CPU:$CB99 PRG:4B99 D0 08 lda #$FE ; CPU:$CB9B PRG:4B9B A9 FE sta $0470,x ; CPU:$CB9D PRG:4B9D 9D 70 04 - jmp Sub_CDAB ; CPU:$CBA0 PRG:4BA0 4C AB CD + jmp Sub_CDAB ; CPU:$CBA0 PRG:4BA0 4C AB CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop218 -; Global: Branch target inside Label: taken when CBA3. -; Local: Part of Label. +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop218: +NmiHandler_Loop221: inc $0408,x ; CPU:$CBA3 PRG:4BA3 FE 08 04 inc $0408,x ; CPU:$CBA6 PRG:4BA6 FE 08 04 inc $0415,x ; CPU:$CBA9 PRG:4BA9 FE 15 04 @@ -9398,11 +9571,11 @@ NmiHandler_Loop218: lda $048A,x ; CPU:$CBB8 PRG:4BB8 BD 8A 04 adc #$00 ; CPU:$CBBB PRG:4BBB 69 00 sta $048A,x ; CPU:$CBBD PRG:4BBD 9D 8A 04 - jsr Sub_CD26 ; CPU:$CBC0 PRG:4BC0 20 26 CD - jsr Sub_CE64 ; CPU:$CBC3 PRG:4BC3 20 64 CE + jsr Sub_CD26 ; CPU:$CBC0 PRG:4BC0 20 26 CD + jsr Sub_CE64 ; CPU:$CBC3 PRG:4BC3 20 64 CE lda $0415,x ; CPU:$CBC6 PRG:4BC6 BD 15 04 cmp #$08 ; CPU:$CBC9 PRG:4BC9 C9 08 - bne NmiHandler_Loop220 ; CPU:$CBCB PRG:4BCB D0 43 + bne NmiHandler_Loop223 ; CPU:$CBCB PRG:4BCB D0 43 lda #$00 ; CPU:$CBCD PRG:4BCD A9 00 sta $0415,x ; CPU:$CBCF PRG:4BCF 9D 15 04 lda $0449,x ; CPU:$CBD2 PRG:4BD2 BD 49 04 @@ -9413,198 +9586,198 @@ NmiHandler_Loop218: adc #$00 ; CPU:$CBDE PRG:4BDE 69 00 sta $0456,x ; CPU:$CBE0 PRG:4BE0 9D 56 04 cmp #$23 ; CPU:$CBE3 PRG:4BE3 C9 23 - bne NmiHandler_Loop219 ; CPU:$CBE5 PRG:4BE5 D0 14 + bne NmiHandler_Loop222 ; CPU:$CBE5 PRG:4BE5 D0 14 lda $0449,x ; CPU:$CBE7 PRG:4BE7 BD 49 04 cmp #$C0 ; CPU:$CBEA PRG:4BEA C9 C0 - bne NmiHandler_Loop220 ; CPU:$CBEC PRG:4BEC D0 22 + bne NmiHandler_Loop223 ; CPU:$CBEC PRG:4BEC D0 22 lda #$00 ; CPU:$CBEE PRG:4BEE A9 00 sta $0449,x ; CPU:$CBF0 PRG:4BF0 9D 49 04 lda #$28 ; CPU:$CBF3 PRG:4BF3 A9 28 sta $0456,x ; CPU:$CBF5 PRG:4BF5 9D 56 04 - jmp NmiHandler_Loop220 ; CPU:$CBF8 PRG:4BF8 4C 10 CC + jmp NmiHandler_Loop223 ; CPU:$CBF8 PRG:4BF8 4C 10 CC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop219 -; Global: Branch target inside Label: taken when CBFB. -; Local: Part of Label. +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop219: +NmiHandler_Loop222: cmp #$2B ; CPU:$CBFB PRG:4BFB C9 2B - bne NmiHandler_Loop220 ; CPU:$CBFD PRG:4BFD D0 11 + bne NmiHandler_Loop223 ; CPU:$CBFD PRG:4BFD D0 11 lda $0449,x ; CPU:$CBFF PRG:4BFF BD 49 04 cmp #$C0 ; CPU:$CC02 PRG:4C02 C9 C0 - bne NmiHandler_Loop220 ; CPU:$CC04 PRG:4C04 D0 0A + bne NmiHandler_Loop223 ; CPU:$CC04 PRG:4C04 D0 0A lda #$00 ; CPU:$CC06 PRG:4C06 A9 00 sta $0449,x ; CPU:$CC08 PRG:4C08 9D 49 04 lda #$20 ; CPU:$CC0B PRG:4C0B A9 20 sta $0456,x ; CPU:$CC0D PRG:4C0D 9D 56 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop220 -; Global: Branch target inside Label: taken when CC10. -; Local: Part of Label. +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop220: +NmiHandler_Loop223: lda $0408,x ; CPU:$CC10 PRG:4C10 BD 08 04 cmp #$30 ; CPU:$CC13 PRG:4C13 C9 30 - beq NmiHandler_Loop221 ; CPU:$CC15 PRG:4C15 F0 01 + beq NmiHandler_Loop224 ; CPU:$CC15 PRG:4C15 F0 01 rts ; CPU:$CC17 PRG:4C17 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop221 -; Global: Branch target inside Label: taken when CC18. -; Local: Part of Label. +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop221: +NmiHandler_Loop224: lda #$00 ; CPU:$CC18 PRG:4C18 A9 00 sta $0408,x ; CPU:$CC1A PRG:4C1A 9D 08 04 inc $0422,x ; CPU:$CC1D PRG:4C1D FE 22 04 rts ; CPU:$CC20 PRG:4C20 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC21 -; Global: Branch target inside Label: taken when CC21. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CC21. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CC21: cpx #$0B ; CPU:$CC21 PRG:4C21 E0 0B - bcc NmiHandler_Loop223 ; CPU:$CC23 PRG:4C23 90 1C - jsr Sub_D17C ; CPU:$CC25 PRG:4C25 20 7C D1 + bcc NmiHandler_Loop226 ; CPU:$CC23 PRG:4C23 90 1C + jsr Sub_D17C ; CPU:$CC25 PRG:4C25 20 7C D1 cmp #$60 ; CPU:$CC28 PRG:4C28 C9 60 - bcs NmiHandler_Loop224 ; CPU:$CC2A PRG:4C2A B0 29 - jsr Sub_D16F ; CPU:$CC2C PRG:4C2C 20 6F D1 - beq NmiHandler_Loop222 ; CPU:$CC2F PRG:4C2F F0 09 + bcs NmiHandler_Loop227 ; CPU:$CC2A PRG:4C2A B0 29 + jsr Sub_D16F ; CPU:$CC2C PRG:4C2C 20 6F D1 + beq NmiHandler_Loop225 ; CPU:$CC2F PRG:4C2F F0 09 lda $0470,x ; CPU:$CC31 PRG:4C31 BD 70 04 sta $0470,y ; CPU:$CC34 PRG:4C34 99 70 04 - jmp NmiHandler_Loop224 ; CPU:$CC37 PRG:4C37 4C 55 CC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop222 -; Global: Branch target inside Label: taken when CC3A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop222: - lda $0470,y ; CPU:$CC3A PRG:4C3A B9 70 04 - sta $0470,x ; CPU:$CC3D PRG:4C3D 9D 70 04 - rts ; CPU:$CC40 PRG:4C40 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop223 -; Global: Branch target inside Label: taken when CC41. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop223: - jsr Sub_D169 ; CPU:$CC41 PRG:4C41 20 69 D1 - beq NmiHandler_Loop224 ; CPU:$CC44 PRG:4C44 F0 0F - ldy $04BE,x ; CPU:$CC46 PRG:4C46 BC BE 04 - lda $047D,y ; CPU:$CC49 PRG:4C49 B9 7D 04 - sec ; CPU:$CC4C PRG:4C4C 38 - sbc $047D,x ; CPU:$CC4D PRG:4C4D FD 7D 04 - cmp #$61 ; CPU:$CC50 PRG:4C50 C9 61 - bcc NmiHandler_Loop224 ; CPU:$CC52 PRG:4C52 90 01 - rts ; CPU:$CC54 PRG:4C54 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop224 -; Global: Branch target inside Label: taken when CC55. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop224: - lda $04B1,x ; CPU:$CC55 PRG:4C55 BD B1 04 - and #$01 ; CPU:$CC58 PRG:4C58 29 01 - beq NmiHandler_Loop225 ; CPU:$CC5A PRG:4C5A F0 05 - lda #$FE ; CPU:$CC5C PRG:4C5C A9 FE - sta $055D ; CPU:$CC5E PRG:4C5E 8D 5D 05 + jmp NmiHandler_Loop227 ; CPU:$CC37 PRG:4C37 4C 55 CC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop225 -; Global: Branch target inside Label: taken when CC61. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop225: - lda $0415,x ; CPU:$CC61 PRG:4C61 BD 15 04 - bne NmiHandler_Loop228 ; CPU:$CC64 PRG:4C64 D0 4F - lda $042F,x ; CPU:$CC66 PRG:4C66 BD 2F 04 - cmp $0422,x ; CPU:$CC69 PRG:4C69 DD 22 04 - beq NmiHandler_Loop227 ; CPU:$CC6C PRG:4C6C F0 1E - jsr Sub_D169 ; CPU:$CC6E PRG:4C6E 20 69 D1 - bne NmiHandler_Loop226 ; CPU:$CC71 PRG:4C71 D0 0E - lda $058F ; CPU:$CC73 PRG:4C73 AD 8F 05 - sec ; CPU:$CC76 PRG:4C76 38 - sbc #$03 ; CPU:$CC77 PRG:4C77 E9 03 - cmp $0422,x ; CPU:$CC79 PRG:4C79 DD 22 04 - beq NmiHandler_Loop227 ; CPU:$CC7C PRG:4C7C F0 0E - jmp NmiHandler_Loop228 ; CPU:$CC7E PRG:4C7E 4C B5 CC + lda $0470,y ; CPU:$CC3A PRG:4C3A B9 70 04 + sta $0470,x ; CPU:$CC3D PRG:4C3D 9D 70 04 + rts ; CPU:$CC40 PRG:4C40 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop226 -; Global: Branch target inside Label: taken when CC81. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop226: - lda $058F ; CPU:$CC81 PRG:4C81 AD 8F 05 - sec ; CPU:$CC84 PRG:4C84 38 - sbc #$05 ; CPU:$CC85 PRG:4C85 E9 05 - cmp $0422,x ; CPU:$CC87 PRG:4C87 DD 22 04 - bne NmiHandler_Loop228 ; CPU:$CC8A PRG:4C8A D0 29 + jsr Sub_D169 ; CPU:$CC41 PRG:4C41 20 69 D1 + beq NmiHandler_Loop227 ; CPU:$CC44 PRG:4C44 F0 0F + ldy $04BE,x ; CPU:$CC46 PRG:4C46 BC BE 04 + lda $047D,y ; CPU:$CC49 PRG:4C49 B9 7D 04 + sec ; CPU:$CC4C PRG:4C4C 38 + sbc $047D,x ; CPU:$CC4D PRG:4C4D FD 7D 04 + cmp #$61 ; CPU:$CC50 PRG:4C50 C9 61 + bcc NmiHandler_Loop227 ; CPU:$CC52 PRG:4C52 90 01 + rts ; CPU:$CC54 PRG:4C54 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop227 -; Global: Branch target inside Label: taken when CC8C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop227: - asl a ; CPU:$CC8C PRG:4C8C 0A - clc ; CPU:$CC8D PRG:4C8D 18 - adc #$76 ; CPU:$CC8E PRG:4C8E 69 76 - sta Zp73 ; CPU:$CC90 PRG:4C90 85 73 - lda #$D2 ; CPU:$CC92 PRG:4C92 A9 D2 - adc #$00 ; CPU:$CC94 PRG:4C94 69 00 - sta Zp74 ; CPU:$CC96 PRG:4C96 85 74 - ldy #$00 ; CPU:$CC98 PRG:4C98 A0 00 - lda (Zp73),y ; CPU:$CC9A PRG:4C9A B1 73 - sta Zp71 ; CPU:$CC9C PRG:4C9C 85 71 - iny ; CPU:$CC9E PRG:4C9E C8 - lda (Zp73),y ; CPU:$CC9F PRG:4C9F B1 73 - cmp $0456,x ; CPU:$CCA1 PRG:4CA1 DD 56 04 - bne NmiHandler_Loop228 ; CPU:$CCA4 PRG:4CA4 D0 0F - lda $0449,x ; CPU:$CCA6 PRG:4CA6 BD 49 04 - cmp Zp71 ; CPU:$CCA9 PRG:4CA9 C5 71 - bne NmiHandler_Loop228 ; CPU:$CCAB PRG:4CAB D0 08 - lda #$02 ; CPU:$CCAD PRG:4CAD A9 02 - sta $0470,x ; CPU:$CCAF PRG:4CAF 9D 70 04 - jmp Sub_CDAB ; CPU:$CCB2 PRG:4CB2 4C AB CD + lda $04B1,x ; CPU:$CC55 PRG:4C55 BD B1 04 + and #$01 ; CPU:$CC58 PRG:4C58 29 01 + beq NmiHandler_Loop228 ; CPU:$CC5A PRG:4C5A F0 05 + lda #$FE ; CPU:$CC5C PRG:4C5C A9 FE + sta $055D ; CPU:$CC5E PRG:4C5E 8D 5D 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop228 -; Global: Branch target inside Label: taken when CCB5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop228: + lda $0415,x ; CPU:$CC61 PRG:4C61 BD 15 04 + bne NmiHandler_Loop231 ; CPU:$CC64 PRG:4C64 D0 4F + lda $042F,x ; CPU:$CC66 PRG:4C66 BD 2F 04 + cmp $0422,x ; CPU:$CC69 PRG:4C69 DD 22 04 + beq NmiHandler_Loop230 ; CPU:$CC6C PRG:4C6C F0 1E + jsr Sub_D169 ; CPU:$CC6E PRG:4C6E 20 69 D1 + bne NmiHandler_Loop229 ; CPU:$CC71 PRG:4C71 D0 0E + lda $058F ; CPU:$CC73 PRG:4C73 AD 8F 05 + sec ; CPU:$CC76 PRG:4C76 38 + sbc #$03 ; CPU:$CC77 PRG:4C77 E9 03 + cmp $0422,x ; CPU:$CC79 PRG:4C79 DD 22 04 + beq NmiHandler_Loop230 ; CPU:$CC7C PRG:4C7C F0 0E + jmp NmiHandler_Loop231 ; CPU:$CC7E PRG:4C7E 4C B5 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + lda $058F ; CPU:$CC81 PRG:4C81 AD 8F 05 + sec ; CPU:$CC84 PRG:4C84 38 + sbc #$05 ; CPU:$CC85 PRG:4C85 E9 05 + cmp $0422,x ; CPU:$CC87 PRG:4C87 DD 22 04 + bne NmiHandler_Loop231 ; CPU:$CC8A PRG:4C8A D0 29 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + asl a ; CPU:$CC8C PRG:4C8C 0A + clc ; CPU:$CC8D PRG:4C8D 18 + adc #$76 ; CPU:$CC8E PRG:4C8E 69 76 + sta VramWritePtrLo ; CPU:$CC90 PRG:4C90 85 73 + lda #$D2 ; CPU:$CC92 PRG:4C92 A9 D2 + adc #$00 ; CPU:$CC94 PRG:4C94 69 00 + sta VramWritePtrHi ; CPU:$CC96 PRG:4C96 85 74 + ldy #$00 ; CPU:$CC98 PRG:4C98 A0 00 + lda (VramWritePtrLo),y ; CPU:$CC9A PRG:4C9A B1 73 + sta OamShadowPtrLo ; CPU:$CC9C PRG:4C9C 85 71 + iny ; CPU:$CC9E PRG:4C9E C8 + lda (VramWritePtrLo),y ; CPU:$CC9F PRG:4C9F B1 73 + cmp $0456,x ; CPU:$CCA1 PRG:4CA1 DD 56 04 + bne NmiHandler_Loop231 ; CPU:$CCA4 PRG:4CA4 D0 0F + lda $0449,x ; CPU:$CCA6 PRG:4CA6 BD 49 04 + cmp OamShadowPtrLo ; CPU:$CCA9 PRG:4CA9 C5 71 + bne NmiHandler_Loop231 ; CPU:$CCAB PRG:4CAB D0 08 + lda #$02 ; CPU:$CCAD PRG:4CAD A9 02 + sta $0470,x ; CPU:$CCAF PRG:4CAF 9D 70 04 + jmp Sub_CDAB ; CPU:$CCB2 PRG:4CB2 4C AB CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: lda $0415,x ; CPU:$CCB5 PRG:4CB5 BD 15 04 - bne NmiHandler_Loop230 ; CPU:$CCB8 PRG:4CB8 D0 3C + bne NmiHandler_Loop233 ; CPU:$CCB8 PRG:4CB8 D0 3C lda #$08 ; CPU:$CCBA PRG:4CBA A9 08 sta $0415,x ; CPU:$CCBC PRG:4CBC 9D 15 04 sec ; CPU:$CCBF PRG:4CBF 38 @@ -9615,53 +9788,53 @@ NmiHandler_Loop228: sbc #$00 ; CPU:$CCCB PRG:4CCB E9 00 sta $0456,x ; CPU:$CCCD PRG:4CCD 9D 56 04 cmp #$1F ; CPU:$CCD0 PRG:4CD0 C9 1F - bne NmiHandler_Loop229 ; CPU:$CCD2 PRG:4CD2 D0 0D + bne NmiHandler_Loop232 ; CPU:$CCD2 PRG:4CD2 D0 0D lda #$2B ; CPU:$CCD4 PRG:4CD4 A9 2B sta $0456,x ; CPU:$CCD6 PRG:4CD6 9D 56 04 lda #$A0 ; CPU:$CCD9 PRG:4CD9 A9 A0 sta $0449,x ; CPU:$CCDB PRG:4CDB 9D 49 04 - jmp NmiHandler_Loop230 ; CPU:$CCDE PRG:4CDE 4C F6 CC + jmp NmiHandler_Loop233 ; CPU:$CCDE PRG:4CDE 4C F6 CC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop229 -; Global: Branch target inside Label: taken when CCE1. -; Local: Part of Label. +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop229: +NmiHandler_Loop232: cmp #$27 ; CPU:$CCE1 PRG:4CE1 C9 27 - bne NmiHandler_Loop230 ; CPU:$CCE3 PRG:4CE3 D0 11 + bne NmiHandler_Loop233 ; CPU:$CCE3 PRG:4CE3 D0 11 lda $0449,x ; CPU:$CCE5 PRG:4CE5 BD 49 04 cmp #$E0 ; CPU:$CCE8 PRG:4CE8 C9 E0 - bne NmiHandler_Loop230 ; CPU:$CCEA PRG:4CEA D0 0A + bne NmiHandler_Loop233 ; CPU:$CCEA PRG:4CEA D0 0A lda #$A0 ; CPU:$CCEC PRG:4CEC A9 A0 sta $0449,x ; CPU:$CCEE PRG:4CEE 9D 49 04 lda #$23 ; CPU:$CCF1 PRG:4CF1 A9 23 sta $0456,x ; CPU:$CCF3 PRG:4CF3 9D 56 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop230 -; Global: Branch target inside Label: taken when CCF6. -; Local: Part of Label. +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop230: +NmiHandler_Loop233: lda $0408,x ; CPU:$CCF6 PRG:4CF6 BD 08 04 - bne NmiHandler_Loop231 ; CPU:$CCF9 PRG:4CF9 D0 08 + bne NmiHandler_Loop234 ; CPU:$CCF9 PRG:4CF9 D0 08 lda #$30 ; CPU:$CCFB PRG:4CFB A9 30 sta $0408,x ; CPU:$CCFD PRG:4CFD 9D 08 04 dec $0422,x ; CPU:$CD00 PRG:4D00 DE 22 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop231 -; Global: Branch target inside Label: taken when CD03. -; Local: Part of Label. +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop231: +NmiHandler_Loop234: dec $0408,x ; CPU:$CD03 PRG:4D03 DE 08 04 dec $0408,x ; CPU:$CD06 PRG:4D06 DE 08 04 dec $0415,x ; CPU:$CD09 PRG:4D09 DE 15 04 @@ -9673,36 +9846,36 @@ NmiHandler_Loop231: lda $048A,x ; CPU:$CD18 PRG:4D18 BD 8A 04 sbc #$00 ; CPU:$CD1B PRG:4D1B E9 00 sta $048A,x ; CPU:$CD1D PRG:4D1D 9D 8A 04 - jsr Sub_CD26 ; CPU:$CD20 PRG:4D20 20 26 CD - jmp Sub_CE64 ; CPU:$CD23 PRG:4D23 4C 64 CE + jsr Sub_CD26 ; CPU:$CD20 PRG:4D20 20 26 CD + jmp Sub_CE64 ; CPU:$CD23 PRG:4D23 4C 64 CE ; ----------------------------------------------------------------------------- ; Routine: Sub_CD26 -; Global: Branch target inside Label: taken when CD26. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CD26. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CD26: lda $04B1,x ; CPU:$CD26 PRG:4D26 BD B1 04 - sta Zp72 ; CPU:$CD29 PRG:4D29 85 72 + sta OamShadowPtrHi ; CPU:$CD29 PRG:4D29 85 72 ldy #$07 ; CPU:$CD2B PRG:4D2B A0 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero67 -; Global: Branch target inside Label: taken when CD2D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero67. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero67: - lsr Zp72 ; CPU:$CD2D PRG:4D2D 46 72 - bcs NmiHandler_Loop233 ; CPU:$CD2F PRG:4D2F B0 08 - beq NmiHandler_Loop232 ; CPU:$CD31 PRG:4D31 F0 05 + lsr OamShadowPtrHi ; CPU:$CD2D PRG:4D2D 46 72 + bcs NmiHandler_Loop236 ; CPU:$CD2F PRG:4D2F B0 08 + beq NmiHandler_Loop235 ; CPU:$CD31 PRG:4D31 F0 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero8 -; Global: Branch target inside Label: taken when CD33. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9710,58 +9883,58 @@ NmiHandler_OnNonzero67: NmiHandler_OnZero8: iny ; CPU:$CD33 PRG:4D33 C8 cpy #$0C ; CPU:$CD34 PRG:4D34 C0 0C - bne NmiHandler_OnNonzero67 ; CPU:$CD36 PRG:4D36 D0 F5 + bne NmiHandler_OnNonzero67 ; CPU:$CD36 PRG:4D36 D0 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop232 -; Global: Branch target inside Label: taken when CD38. -; Local: Part of Label. +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop232: +NmiHandler_Loop235: rts ; CPU:$CD38 PRG:4D38 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop233 -; Global: Branch target inside Label: taken when CD39. -; Local: Part of Label. +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop233: +NmiHandler_Loop236: lda a:ZpB7,y ; CPU:$CD39 PRG:4D39 B9 B7 00 and #$20 ; CPU:$CD3C PRG:4D3C 29 20 - beq NmiHandler_Loop236 ; CPU:$CD3E PRG:4D3E F0 44 + beq NmiHandler_Loop239 ; CPU:$CD3E PRG:4D3E F0 44 lda #$00 ; CPU:$CD40 PRG:4D40 A9 00 - sta Zp6F ; CPU:$CD42 PRG:4D42 85 6F + sta PlayerSpriteX ; CPU:$CD42 PRG:4D42 85 6F lda $03FB,x ; CPU:$CD44 PRG:4D44 BD FB 03 and #$10 ; CPU:$CD47 PRG:4D47 29 10 - beq NmiHandler_OnZero9 ; CPU:$CD49 PRG:4D49 F0 1B + beq NmiHandler_OnZero9 ; CPU:$CD49 PRG:4D49 F0 1B lda $0470,x ; CPU:$CD4B PRG:4D4B BD 70 04 - bpl NmiHandler_Loop234 ; CPU:$CD4E PRG:4D4E 10 04 + bpl NmiHandler_Loop237 ; CPU:$CD4E PRG:4D4E 10 04 lda #$FF ; CPU:$CD50 PRG:4D50 A9 FF - sta Zp6F ; CPU:$CD52 PRG:4D52 85 6F + sta PlayerSpriteX ; CPU:$CD52 PRG:4D52 85 6F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop234 -; Global: Branch target inside Label: taken when CD54. -; Local: Part of Label. +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop234: +NmiHandler_Loop237: lda $0470,x ; CPU:$CD54 PRG:4D54 BD 70 04 clc ; CPU:$CD57 PRG:4D57 18 adc $039D,y ; CPU:$CD58 PRG:4D58 79 9D 03 sta $039D,y ; CPU:$CD5B PRG:4D5B 99 9D 03 - lda Zp6F ; CPU:$CD5E PRG:4D5E A5 6F + lda PlayerSpriteX ; CPU:$CD5E PRG:4D5E A5 6F adc $03AE,y ; CPU:$CD60 PRG:4D60 79 AE 03 sta $03AE,y ; CPU:$CD63 PRG:4D63 99 AE 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero9 -; Global: Branch target inside Label: taken when CD66. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnZero9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9771,39 +9944,39 @@ NmiHandler_OnZero9: sta a:ZpE5,y ; CPU:$CD69 PRG:4D69 99 E5 00 lda a:ZpB7,y ; CPU:$CD6C PRG:4D6C B9 B7 00 and #$10 ; CPU:$CD6F PRG:4D6F 29 10 - beq NmiHandler_OnZero8 ; CPU:$CD71 PRG:4D71 F0 C0 - jsr Sub_D175 ; CPU:$CD73 PRG:4D73 20 75 D1 - beq NmiHandler_Loop235 ; CPU:$CD76 PRG:4D76 F0 09 + beq NmiHandler_OnZero8 ; CPU:$CD71 PRG:4D71 F0 C0 + jsr Sub_D175 ; CPU:$CD73 PRG:4D73 20 75 D1 + beq NmiHandler_Loop238 ; CPU:$CD76 PRG:4D76 F0 09 lda a:ZpE5,y ; CPU:$CD78 PRG:4D78 B9 E5 00 sec ; CPU:$CD7B PRG:4D7B 38 sbc #$01 ; CPU:$CD7C PRG:4D7C E9 01 sta a:ZpE5,y ; CPU:$CD7E PRG:4D7E 99 E5 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop235 -; Global: Branch target inside Label: taken when CD81. -; Local: Part of Label. +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop235: - jmp NmiHandler_OnZero8 ; CPU:$CD81 PRG:4D81 4C 33 CD +NmiHandler_Loop238: + jmp NmiHandler_OnZero8 ; CPU:$CD81 PRG:4D81 4C 33 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop236 -; Global: Branch target inside Label: taken when CD84. -; Local: Part of Label. +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop236: +NmiHandler_Loop239: lda $047D,x ; CPU:$CD84 PRG:4D84 BD 7D 04 sta $039D,y ; CPU:$CD87 PRG:4D87 99 9D 03 lda $048A,x ; CPU:$CD8A PRG:4D8A BD 8A 04 sta $03AE,y ; CPU:$CD8D PRG:4D8D 99 AE 03 lda a:ZpB7,y ; CPU:$CD90 PRG:4D90 B9 B7 00 and #$10 ; CPU:$CD93 PRG:4D93 29 10 - beq NmiHandler_OnZero9 ; CPU:$CD95 PRG:4D95 F0 CF + beq NmiHandler_OnZero9 ; CPU:$CD95 PRG:4D95 F0 CF lda $039D,y ; CPU:$CD97 PRG:4D97 B9 9D 03 sec ; CPU:$CD9A PRG:4D9A 38 sbc #$30 ; CPU:$CD9B PRG:4D9B E9 30 @@ -9811,11 +9984,11 @@ NmiHandler_Loop236: lda $03AE,y ; CPU:$CDA0 PRG:4DA0 B9 AE 03 sbc #$00 ; CPU:$CDA3 PRG:4DA3 E9 00 sta $03AE,y ; CPU:$CDA5 PRG:4DA5 99 AE 03 - jmp NmiHandler_OnZero9 ; CPU:$CDA8 PRG:4DA8 4C 66 CD + jmp NmiHandler_OnZero9 ; CPU:$CDA8 PRG:4DA8 4C 66 CD ; ----------------------------------------------------------------------------- ; Routine: Sub_CDAB -; Global: Branch target inside Label: taken when CDAB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CDAB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9824,137 +9997,232 @@ Sub_CDAB: lda $03FB,x ; CPU:$CDAB PRG:4DAB BD FB 03 and #$EF ; CPU:$CDAE PRG:4DAE 29 EF sta $03FB,x ; CPU:$CDB0 PRG:4DB0 9D FB 03 - jsr Sub_CD26 ; CPU:$CDB3 PRG:4DB3 20 26 CD + jsr Sub_CD26 ; CPU:$CDB3 PRG:4DB3 20 26 CD lda $04B1,x ; CPU:$CDB6 PRG:4DB6 BD B1 04 and #$01 ; CPU:$CDB9 PRG:4DB9 29 01 - beq NmiHandler_Loop237 ; CPU:$CDBB PRG:4DBB F0 05 + beq NmiHandler_Loop240 ; CPU:$CDBB PRG:4DBB F0 05 lda #$00 ; CPU:$CDBD PRG:4DBD A9 00 sta $055D ; CPU:$CDBF PRG:4DBF 8D 5D 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop237 -; Global: Branch target inside Label: taken when CDC2. +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: + rts ; CPU:$CDC2 PRG:4DC2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDC3 +; Global: Branch target inside Label: taken when CDC3. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop237: - rts ; CPU:$CDC2 PRG:4DC2 60 -; ---- data $CDC3-$CE63 (161 bytes) ---- - .byte $A2, $00, $20, $8D, $D0, $AD, $76, $D2, $8D, $49, $04, $AD, $77, $D2, $8D, $56 ; CPU:$CDC3 PRG:4DC3 A2 00 20 8D D0 AD 76 D2 8D 49 04 AD 77 D2 8D 56 - .byte $04, $A9, $00, $8D, $2F, $04, $8D, $A4, $04, $A9, $0C, $8D, $3C, $04, $8D, $CB ; CPU:$CDD3 PRG:4DD3 04 A9 00 8D 2F 04 8D A4 04 A9 0C 8D 3C 04 8D CB - .byte $04, $A9, $0E, $8D, $63, $04, $A9, $C0, $8D, $FB, $03, $A9, $18, $8D, $08, $04 ; CPU:$CDE3 PRG:4DE3 04 A9 0E 8D 63 04 A9 C0 8D FB 03 A9 18 8D 08 04 - .byte $20, $64, $CE, $20, $A3, $82, $AD, $6C, $06, $F0, $F8, $AD, $73, $06, $29, $01 ; CPU:$CDF3 PRG:4DF3 20 64 CE 20 A3 82 AD 6C 06 F0 F8 AD 73 06 29 01 - .byte $D0, $14, $A9, $02, $8D, $5D, $05, $EE, $08, $04, $EE, $08, $04, $EE, $15, $04 ; CPU:$CE03 PRG:4E03 D0 14 A9 02 8D 5D 05 EE 08 04 EE 08 04 EE 15 04 - .byte $EE, $15, $04, $20, $64, $CE, $20, $A3, $82, $AD, $15, $04, $C9, $08, $D0, $16 ; CPU:$CE13 PRG:4E13 EE 15 04 20 64 CE 20 A3 82 AD 15 04 C9 08 D0 16 - .byte $A9, $00, $8D, $15, $04, $18, $A9, $20, $6D, $49, $04, $8D, $49, $04, $A9, $00 ; CPU:$CE23 PRG:4E23 A9 00 8D 15 04 18 A9 20 6D 49 04 8D 49 04 A9 00 - .byte $6D, $56, $04, $8D, $56, $04, $AD, $08, $04, $C9, $48, $D0, $BE, $A9, $C0, $8D ; CPU:$CE33 PRG:4E33 6D 56 04 8D 56 04 AD 08 04 C9 48 D0 BE A9 C0 8D - .byte $FB, $03, $A9, $01, $8D, $B1, $04, $A9, $00, $8D, $6C, $06, $A9, $01, $8D, $22 ; CPU:$CE43 PRG:4E43 FB 03 A9 01 8D B1 04 A9 00 8D 6C 06 A9 01 8D 22 - .byte $04, $20, $F7, $99, $A9, $18, $8D, $08, $04, $A9, $00, $8D, $15, $04, $20, $66 ; CPU:$CE53 PRG:4E53 04 20 F7 99 A9 18 8D 08 04 A9 00 8D 15 04 20 66 - .byte $82 ; CPU:$CE63 PRG:4E63 82 +Label_CDC3: + ldx #$00 ; CPU:$CDC3 PRG:4DC3 A2 00 + jsr Sub_D08D ; CPU:$CDC5 PRG:4DC5 20 8D D0 + lda $D276 ; CPU:$CDC8 PRG:4DC8 AD 76 D2 + sta $0449 ; CPU:$CDCB PRG:4DCB 8D 49 04 + lda $D277 ; CPU:$CDCE PRG:4DCE AD 77 D2 + sta $0456 ; CPU:$CDD1 PRG:4DD1 8D 56 04 + lda #$00 ; CPU:$CDD4 PRG:4DD4 A9 00 + sta $042F ; CPU:$CDD6 PRG:4DD6 8D 2F 04 + sta $04A4 ; CPU:$CDD9 PRG:4DD9 8D A4 04 + lda #$0C ; CPU:$CDDC PRG:4DDC A9 0C + sta $043C ; CPU:$CDDE PRG:4DDE 8D 3C 04 + sta $04CB ; CPU:$CDE1 PRG:4DE1 8D CB 04 + lda #$0E ; CPU:$CDE4 PRG:4DE4 A9 0E + sta $0463 ; CPU:$CDE6 PRG:4DE6 8D 63 04 + lda #$C0 ; CPU:$CDE9 PRG:4DE9 A9 C0 + sta $03FB ; CPU:$CDEB PRG:4DEB 8D FB 03 + lda #$18 ; CPU:$CDEE PRG:4DEE A9 18 + sta $0408 ; CPU:$CDF0 PRG:4DF0 8D 08 04 + jsr Sub_CE64 ; CPU:$CDF3 PRG:4DF3 20 64 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero10: + jsr Sub_82A3 ; CPU:$CDF6 PRG:4DF6 20 A3 82 + lda $066C ; CPU:$CDF9 PRG:4DF9 AD 6C 06 + beq NmiHandler_OnZero10 ; CPU:$CDFC PRG:4DFC F0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero68 +; Global: Branch target inside NmiHandler: taken when OnNonzero68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero68: + lda $0673 ; CPU:$CDFE PRG:4DFE AD 73 06 + and #$01 ; CPU:$CE01 PRG:4E01 29 01 + bne NmiHandler_Loop241 ; CPU:$CE03 PRG:4E03 D0 14 + lda #$02 ; CPU:$CE05 PRG:4E05 A9 02 + sta $055D ; CPU:$CE07 PRG:4E07 8D 5D 05 + inc $0408 ; CPU:$CE0A PRG:4E0A EE 08 04 + inc $0408 ; CPU:$CE0D PRG:4E0D EE 08 04 + inc $0415 ; CPU:$CE10 PRG:4E10 EE 15 04 + inc $0415 ; CPU:$CE13 PRG:4E13 EE 15 04 + jsr Sub_CE64 ; CPU:$CE16 PRG:4E16 20 64 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + jsr Sub_82A3 ; CPU:$CE19 PRG:4E19 20 A3 82 + lda $0415 ; CPU:$CE1C PRG:4E1C AD 15 04 + cmp #$08 ; CPU:$CE1F PRG:4E1F C9 08 + bne NmiHandler_Loop242 ; CPU:$CE21 PRG:4E21 D0 16 + lda #$00 ; CPU:$CE23 PRG:4E23 A9 00 + sta $0415 ; CPU:$CE25 PRG:4E25 8D 15 04 + clc ; CPU:$CE28 PRG:4E28 18 + lda #$20 ; CPU:$CE29 PRG:4E29 A9 20 + adc $0449 ; CPU:$CE2B PRG:4E2B 6D 49 04 + sta $0449 ; CPU:$CE2E PRG:4E2E 8D 49 04 + lda #$00 ; CPU:$CE31 PRG:4E31 A9 00 + adc $0456 ; CPU:$CE33 PRG:4E33 6D 56 04 + sta $0456 ; CPU:$CE36 PRG:4E36 8D 56 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + lda $0408 ; CPU:$CE39 PRG:4E39 AD 08 04 + cmp #$48 ; CPU:$CE3C PRG:4E3C C9 48 + bne NmiHandler_OnNonzero68 ; CPU:$CE3E PRG:4E3E D0 BE + lda #$C0 ; CPU:$CE40 PRG:4E40 A9 C0 + sta $03FB ; CPU:$CE42 PRG:4E42 8D FB 03 + lda #$01 ; CPU:$CE45 PRG:4E45 A9 01 + sta $04B1 ; CPU:$CE47 PRG:4E47 8D B1 04 + lda #$00 ; CPU:$CE4A PRG:4E4A A9 00 + sta $066C ; CPU:$CE4C PRG:4E4C 8D 6C 06 + lda #$01 ; CPU:$CE4F PRG:4E4F A9 01 + sta $0422 ; CPU:$CE51 PRG:4E51 8D 22 04 + jsr Sub_99F7 ; CPU:$CE54 PRG:4E54 20 F7 99 + lda #$18 ; CPU:$CE57 PRG:4E57 A9 18 + sta $0408 ; CPU:$CE59 PRG:4E59 8D 08 04 + lda #$00 ; CPU:$CE5C PRG:4E5C A9 00 + sta $0415 ; CPU:$CE5E PRG:4E5E 8D 15 04 + jsr Sub_8266 ; CPU:$CE61 PRG:4E61 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE64 -; Global: Branch target inside Label: taken when CE64. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CE64. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CE64: lda $047D,x ; CPU:$CE64 PRG:4E64 BD 7D 04 - sta Zp71 ; CPU:$CE67 PRG:4E67 85 71 + sta OamShadowPtrLo ; CPU:$CE67 PRG:4E67 85 71 lda $048A,x ; CPU:$CE69 PRG:4E69 BD 8A 04 - sta Zp72 ; CPU:$CE6C PRG:4E6C 85 72 + sta OamShadowPtrHi ; CPU:$CE6C PRG:4E6C 85 72 lda $0684 ; CPU:$CE6E PRG:4E6E AD 84 06 sec ; CPU:$CE71 PRG:4E71 38 - sbc Zp71 ; CPU:$CE72 PRG:4E72 E5 71 - sta Zp71 ; CPU:$CE74 PRG:4E74 85 71 + sbc OamShadowPtrLo ; CPU:$CE72 PRG:4E72 E5 71 + sta OamShadowPtrLo ; CPU:$CE74 PRG:4E74 85 71 lda $0685 ; CPU:$CE76 PRG:4E76 AD 85 06 - sbc Zp72 ; CPU:$CE79 PRG:4E79 E5 72 - beq NmiHandler_Loop238 ; CPU:$CE7B PRG:4E7B F0 05 + sbc OamShadowPtrHi ; CPU:$CE79 PRG:4E79 E5 72 + beq NmiHandler_Loop243 ; CPU:$CE7B PRG:4E7B F0 05 cmp #$FF ; CPU:$CE7D PRG:4E7D C9 FF - beq NmiHandler_Loop239 ; CPU:$CE7F PRG:4E7F F0 08 + beq NmiHandler_Loop244 ; CPU:$CE7F PRG:4E7F F0 08 rts ; CPU:$CE81 PRG:4E81 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop238 -; Global: Branch target inside Label: taken when CE82. -; Local: Part of Label. +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop238: - lda Zp71 ; CPU:$CE82 PRG:4E82 A5 71 +NmiHandler_Loop243: + lda OamShadowPtrLo ; CPU:$CE82 PRG:4E82 A5 71 cmp #$C0 ; CPU:$CE84 PRG:4E84 C9 C0 - bcc NmiHandler_Loop240 ; CPU:$CE86 PRG:4E86 90 08 + bcc NmiHandler_Loop245 ; CPU:$CE86 PRG:4E86 90 08 rts ; CPU:$CE88 PRG:4E88 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop239 -; Global: Branch target inside Label: taken when CE89. -; Local: Part of Label. +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop239: - lda Zp71 ; CPU:$CE89 PRG:4E89 A5 71 +NmiHandler_Loop244: + lda OamShadowPtrLo ; CPU:$CE89 PRG:4E89 A5 71 cmp #$40 ; CPU:$CE8B PRG:4E8B C9 40 - bcs NmiHandler_Loop240 ; CPU:$CE8D PRG:4E8D B0 01 + bcs NmiHandler_Loop245 ; CPU:$CE8D PRG:4E8D B0 01 rts ; CPU:$CE8F PRG:4E8F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop240 -; Global: Branch target inside Label: taken when CE90. -; Local: Part of Label. +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop240: +NmiHandler_Loop245: lda $0449,x ; CPU:$CE90 PRG:4E90 BD 49 04 - sta Zp71 ; CPU:$CE93 PRG:4E93 85 71 + sta OamShadowPtrLo ; CPU:$CE93 PRG:4E93 85 71 lda $0456,x ; CPU:$CE95 PRG:4E95 BD 56 04 - sta Zp72 ; CPU:$CE98 PRG:4E98 85 72 - jsr Sub_D175 ; CPU:$CE9A PRG:4E9A 20 75 D1 - bne NmiHandler_Loop241 ; CPU:$CE9D PRG:4E9D D0 07 + sta OamShadowPtrHi ; CPU:$CE98 PRG:4E98 85 72 + jsr Sub_D175 ; CPU:$CE9A PRG:4E9A 20 75 D1 + bne NmiHandler_Loop246 ; CPU:$CE9D PRG:4E9D D0 07 lda $0408,x ; CPU:$CE9F PRG:4E9F BD 08 04 cmp #$22 ; CPU:$CEA2 PRG:4EA2 C9 22 - bcc NmiHandler_Loop242 ; CPU:$CEA4 PRG:4EA4 90 03 + bcc NmiHandler_Loop247 ; CPU:$CEA4 PRG:4EA4 90 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop241 -; Global: Branch target inside Label: taken when CEA6. -; Local: Part of Label. +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop241: - jmp Sub_CEE0 ; CPU:$CEA6 PRG:4EA6 4C E0 CE +NmiHandler_Loop246: + jmp Sub_CEE0 ; CPU:$CEA6 PRG:4EA6 4C E0 CE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop242 -; Global: Branch target inside Label: taken when CEA9. -; Local: Part of Label. +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop242: +NmiHandler_Loop247: lda $0415,x ; CPU:$CEA9 PRG:4EA9 BD 15 04 sta ZpA4 ; CPU:$CEAC PRG:4EAC 85 A4 lda #$20 ; CPU:$CEAE PRG:4EAE A9 20 clc ; CPU:$CEB0 PRG:4EB0 18 - adc Zp71 ; CPU:$CEB1 PRG:4EB1 65 71 - sta Zp71 ; CPU:$CEB3 PRG:4EB3 85 71 + adc OamShadowPtrLo ; CPU:$CEB1 PRG:4EB1 65 71 + sta OamShadowPtrLo ; CPU:$CEB3 PRG:4EB3 85 71 lda #$00 ; CPU:$CEB5 PRG:4EB5 A9 00 - adc Zp72 ; CPU:$CEB7 PRG:4EB7 65 72 - sta Zp72 ; CPU:$CEB9 PRG:4EB9 85 72 + adc OamShadowPtrHi ; CPU:$CEB7 PRG:4EB7 65 72 + sta OamShadowPtrHi ; CPU:$CEB9 PRG:4EB9 85 72 lda $0463,x ; CPU:$CEBB PRG:4EBB BD 63 04 clc ; CPU:$CEBE PRG:4EBE 18 - adc Zp71 ; CPU:$CEBF PRG:4EBF 65 71 - sta Zp71 ; CPU:$CEC1 PRG:4EC1 85 71 + adc OamShadowPtrLo ; CPU:$CEBF PRG:4EBF 65 71 + sta OamShadowPtrLo ; CPU:$CEC1 PRG:4EC1 85 71 lda #$00 ; CPU:$CEC3 PRG:4EC3 A9 00 - adc Zp72 ; CPU:$CEC5 PRG:4EC5 65 72 - sta Zp72 ; CPU:$CEC7 PRG:4EC7 85 72 - jsr Sub_CF4C ; CPU:$CEC9 PRG:4EC9 20 4C CF + adc OamShadowPtrHi ; CPU:$CEC5 PRG:4EC5 65 72 + sta OamShadowPtrHi ; CPU:$CEC7 PRG:4EC7 85 72 + jsr Sub_CF4C ; CPU:$CEC9 PRG:4EC9 20 4C CF lda Zp9F ; CPU:$CECC PRG:4ECC A5 9F clc ; CPU:$CECE PRG:4ECE 18 adc #$03 ; CPU:$CECF PRG:4ECF 69 03 @@ -9963,12 +10231,12 @@ NmiHandler_Loop242: adc #$00 ; CPU:$CED5 PRG:4ED5 69 00 sta ZpA0 ; CPU:$CED7 PRG:4ED7 85 A0 lda #$07 ; CPU:$CED9 PRG:4ED9 A9 07 - sta Zp6F ; CPU:$CEDB PRG:4EDB 85 6F - jmp Sub_CF41 ; CPU:$CEDD PRG:4EDD 4C 41 CF + sta PlayerSpriteX ; CPU:$CEDB PRG:4EDB 85 6F + jmp Sub_CF41 ; CPU:$CEDD PRG:4EDD 4C 41 CF ; ----------------------------------------------------------------------------- ; Routine: Sub_CEE0 -; Global: Branch target inside Label: taken when CEE0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CEE0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9978,109 +10246,109 @@ Sub_CEE0: sta ZpA4 ; CPU:$CEE3 PRG:4EE3 85 A4 lda $0422,x ; CPU:$CEE5 PRG:4EE5 BD 22 04 cmp $04CB,x ; CPU:$CEE8 PRG:4EE8 DD CB 04 - bcc NmiHandler_Loop245 ; CPU:$CEEB PRG:4EEB 90 2F + bcc NmiHandler_Loop250 ; CPU:$CEEB PRG:4EEB 90 2F lda $0408,x ; CPU:$CEED PRG:4EED BD 08 04 cmp #$10 ; CPU:$CEF0 PRG:4EF0 C9 10 - bcc NmiHandler_Loop245 ; CPU:$CEF2 PRG:4EF2 90 28 - beq NmiHandler_Loop244 ; CPU:$CEF4 PRG:4EF4 F0 21 + bcc NmiHandler_Loop250 ; CPU:$CEF2 PRG:4EF2 90 28 + beq NmiHandler_Loop249 ; CPU:$CEF4 PRG:4EF4 F0 21 lda $0422,x ; CPU:$CEF6 PRG:4EF6 BD 22 04 sec ; CPU:$CEF9 PRG:4EF9 38 sbc #$01 ; CPU:$CEFA PRG:4EFA E9 01 - jsr Sub_D0B5 ; CPU:$CEFC PRG:4EFC 20 B5 D0 + jsr Sub_D0B5 ; CPU:$CEFC PRG:4EFC 20 B5 D0 lda $0415,x ; CPU:$CEFF PRG:4EFF BD 15 04 cmp #$00 ; CPU:$CF02 PRG:4F02 C9 00 - bne NmiHandler_Loop243 ; CPU:$CF04 PRG:4F04 D0 04 + bne NmiHandler_Loop248 ; CPU:$CF04 PRG:4F04 D0 04 lda #$08 ; CPU:$CF06 PRG:4F06 A9 08 sta ZpA2 ; CPU:$CF08 PRG:4F08 85 A2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop243 -; Global: Branch target inside Label: taken when CF0A. -; Local: Part of Label. +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop243: +NmiHandler_Loop248: lda ZpA1 ; CPU:$CF0A PRG:4F0A A5 A1 clc ; CPU:$CF0C PRG:4F0C 18 adc #$A0 ; CPU:$CF0D PRG:4F0D 69 A0 - sta Zp71 ; CPU:$CF0F PRG:4F0F 85 71 + sta OamShadowPtrLo ; CPU:$CF0F PRG:4F0F 85 71 lda ZpA2 ; CPU:$CF11 PRG:4F11 A5 A2 adc #$00 ; CPU:$CF13 PRG:4F13 69 00 - sta Zp72 ; CPU:$CF15 PRG:4F15 85 72 + sta OamShadowPtrHi ; CPU:$CF15 PRG:4F15 85 72 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop244 -; Global: Branch target inside Label: taken when CF17. -; Local: Part of Label. +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop244: +NmiHandler_Loop249: lda #$07 ; CPU:$CF17 PRG:4F17 A9 07 - jmp Sub_CF1E ; CPU:$CF19 PRG:4F19 4C 1E CF + jmp Sub_CF1E ; CPU:$CF19 PRG:4F19 4C 1E CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop245 -; Global: Branch target inside Label: taken when CF1C. -; Local: Part of Label. +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop245: +NmiHandler_Loop250: lda #$08 ; CPU:$CF1C PRG:4F1C A9 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF1E -; Global: Branch target inside Label: taken when CF1E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CF1E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CF1E: - sta Zp6F ; CPU:$CF1E PRG:4F1E 85 6F + sta PlayerSpriteX ; CPU:$CF1E PRG:4F1E 85 6F lda $0463,x ; CPU:$CF20 PRG:4F20 BD 63 04 clc ; CPU:$CF23 PRG:4F23 18 - adc Zp71 ; CPU:$CF24 PRG:4F24 65 71 - sta Zp71 ; CPU:$CF26 PRG:4F26 85 71 + adc OamShadowPtrLo ; CPU:$CF24 PRG:4F24 65 71 + sta OamShadowPtrLo ; CPU:$CF26 PRG:4F26 85 71 lda #$00 ; CPU:$CF28 PRG:4F28 A9 00 - adc Zp72 ; CPU:$CF2A PRG:4F2A 65 72 - sta Zp72 ; CPU:$CF2C PRG:4F2C 85 72 + adc OamShadowPtrHi ; CPU:$CF2A PRG:4F2A 65 72 + sta OamShadowPtrHi ; CPU:$CF2C PRG:4F2C 85 72 lda $03FB,x ; CPU:$CF2E PRG:4F2E BD FB 03 - bmi NmiHandler_Loop246 ; CPU:$CF31 PRG:4F31 30 0B + bmi NmiHandler_Loop251 ; CPU:$CF31 PRG:4F31 30 0B lda #$DA ; CPU:$CF33 PRG:4F33 A9 DA sta Zp9F ; CPU:$CF35 PRG:4F35 85 9F lda #$FF ; CPU:$CF37 PRG:4F37 A9 FF sta ZpA0 ; CPU:$CF39 PRG:4F39 85 A0 - jmp Sub_CF41 ; CPU:$CF3B PRG:4F3B 4C 41 CF + jmp Sub_CF41 ; CPU:$CF3B PRG:4F3B 4C 41 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop246 -; Global: Branch target inside Label: taken when CF3E. -; Local: Part of Label. +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop246: - jsr Sub_CF4C ; CPU:$CF3E PRG:4F3E 20 4C CF +NmiHandler_Loop251: + jsr Sub_CF4C ; CPU:$CF3E PRG:4F3E 20 4C CF ; ----------------------------------------------------------------------------- ; Routine: Sub_CF41 -; Global: Branch target inside Label: taken when CF41. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CF41. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CF41: lda ZpA0 ; CPU:$CF41 PRG:4F41 A5 A0 - sta Zp74 ; CPU:$CF43 PRG:4F43 85 74 + sta VramWritePtrHi ; CPU:$CF43 PRG:4F43 85 74 lda Zp9F ; CPU:$CF45 PRG:4F45 A5 9F - sta Zp73 ; CPU:$CF47 PRG:4F47 85 73 - jmp Sub_9786 ; CPU:$CF49 PRG:4F49 4C 86 97 + sta VramWritePtrLo ; CPU:$CF47 PRG:4F47 85 73 + jmp Sub_9786 ; CPU:$CF49 PRG:4F49 4C 86 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF4C -; Global: Branch target inside Label: taken when CF4C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CF4C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10090,122 +10358,122 @@ Sub_CF4C: sta ZpA1 ; CPU:$CF4E PRG:4F4E 85 A1 lda #$D1 ; CPU:$CF50 PRG:4F50 A9 D1 sta ZpA2 ; CPU:$CF52 PRG:4F52 85 A2 - jsr Sub_D169 ; CPU:$CF54 PRG:4F54 20 69 D1 - beq NmiHandler_Loop247 ; CPU:$CF57 PRG:4F57 F0 08 + jsr Sub_D169 ; CPU:$CF54 PRG:4F54 20 69 D1 + beq NmiHandler_Loop252 ; CPU:$CF57 PRG:4F57 F0 08 lda #$94 ; CPU:$CF59 PRG:4F59 A9 94 sta ZpA1 ; CPU:$CF5B PRG:4F5B 85 A1 lda #$D1 ; CPU:$CF5D PRG:4F5D A9 D1 sta ZpA2 ; CPU:$CF5F PRG:4F5F 85 A2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop247 -; Global: Branch target inside Label: taken when CF61. -; Local: Part of Label. +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop247: +NmiHandler_Loop252: lda $0415,x ; CPU:$CF61 PRG:4F61 BD 15 04 clc ; CPU:$CF64 PRG:4F64 18 adc ZpA1 ; CPU:$CF65 PRG:4F65 65 A1 - sta Zp73 ; CPU:$CF67 PRG:4F67 85 73 + sta VramWritePtrLo ; CPU:$CF67 PRG:4F67 85 73 lda ZpA2 ; CPU:$CF69 PRG:4F69 A5 A2 adc #$00 ; CPU:$CF6B PRG:4F6B 69 00 - sta Zp74 ; CPU:$CF6D PRG:4F6D 85 74 + sta VramWritePtrHi ; CPU:$CF6D PRG:4F6D 85 74 ldy #$00 ; CPU:$CF6F PRG:4F6F A0 00 - lda (Zp73),y ; CPU:$CF71 PRG:4F71 B1 73 + lda (VramWritePtrLo),y ; CPU:$CF71 PRG:4F71 B1 73 sta Zp9F ; CPU:$CF73 PRG:4F73 85 9F iny ; CPU:$CF75 PRG:4F75 C8 - lda (Zp73),y ; CPU:$CF76 PRG:4F76 B1 73 + lda (VramWritePtrLo),y ; CPU:$CF76 PRG:4F76 B1 73 sta ZpA0 ; CPU:$CF78 PRG:4F78 85 A0 rts ; CPU:$CF7A PRG:4F7A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF7B -; Global: Branch target inside Label: taken when CF7B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CF7B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CF7B: cpx #$0B ; CPU:$CF7B PRG:4F7B E0 0B - bcs NmiHandler_Loop249 ; CPU:$CF7D PRG:4F7D B0 0C + bcs NmiHandler_Loop254 ; CPU:$CF7D PRG:4F7D B0 0C lda ZpFB ; CPU:$CF7F PRG:4F7F A5 FB cmp #$02 ; CPU:$CF81 PRG:4F81 C9 02 - bcs NmiHandler_Loop248 ; CPU:$CF83 PRG:4F83 B0 05 - jsr Sub_D175 ; CPU:$CF85 PRG:4F85 20 75 D1 - bne NmiHandler_Loop250 ; CPU:$CF88 PRG:4F88 D0 29 + bcs NmiHandler_Loop253 ; CPU:$CF83 PRG:4F83 B0 05 + jsr Sub_D175 ; CPU:$CF85 PRG:4F85 20 75 D1 + bne NmiHandler_Loop255 ; CPU:$CF88 PRG:4F88 D0 29 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop248 -; Global: Branch target inside Label: taken when CF8A. -; Local: Part of Label. +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop248: +NmiHandler_Loop253: rts ; CPU:$CF8A PRG:4F8A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop249 -; Global: Branch target inside Label: taken when CF8B. -; Local: Part of Label. +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop249: +NmiHandler_Loop254: lda $0422,x ; CPU:$CF8B PRG:4F8B BD 22 04 sec ; CPU:$CF8E PRG:4F8E 38 sbc #$01 ; CPU:$CF8F PRG:4F8F E9 01 - jsr Sub_D0B5 ; CPU:$CF91 PRG:4F91 20 B5 D0 + jsr Sub_D0B5 ; CPU:$CF91 PRG:4F91 20 B5 D0 lda ZpA1 ; CPU:$CF94 PRG:4F94 A5 A1 clc ; CPU:$CF96 PRG:4F96 18 adc $0463,x ; CPU:$CF97 PRG:4F97 7D 63 04 adc #$20 ; CPU:$CF9A PRG:4F9A 69 20 - sta Zp71 ; CPU:$CF9C PRG:4F9C 85 71 + sta OamShadowPtrLo ; CPU:$CF9C PRG:4F9C 85 71 lda ZpA2 ; CPU:$CF9E PRG:4F9E A5 A2 adc #$00 ; CPU:$CFA0 PRG:4FA0 69 00 - sta Zp72 ; CPU:$CFA2 PRG:4FA2 85 72 + sta OamShadowPtrHi ; CPU:$CFA2 PRG:4FA2 85 72 lda #$9E ; CPU:$CFA4 PRG:4FA4 A9 9E - sta Zp73 ; CPU:$CFA6 PRG:4FA6 85 73 + sta VramWritePtrLo ; CPU:$CFA6 PRG:4FA6 85 73 lda #$D1 ; CPU:$CFA8 PRG:4FA8 A9 D1 - sta Zp74 ; CPU:$CFAA PRG:4FAA 85 74 + sta VramWritePtrHi ; CPU:$CFAA PRG:4FAA 85 74 lda #$05 ; CPU:$CFAC PRG:4FAC A9 05 - sta Zp6F ; CPU:$CFAE PRG:4FAE 85 6F - jmp Sub_9786 ; CPU:$CFB0 PRG:4FB0 4C 86 97 + sta PlayerSpriteX ; CPU:$CFAE PRG:4FAE 85 6F + jmp Sub_9786 ; CPU:$CFB0 PRG:4FB0 4C 86 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop250 -; Global: Branch target inside Label: taken when CFB3. -; Local: Part of Label. +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop250: +NmiHandler_Loop255: lda $058F ; CPU:$CFB3 PRG:4FB3 AD 8F 05 sec ; CPU:$CFB6 PRG:4FB6 38 sbc $04A4,x ; CPU:$CFB7 PRG:4FB7 FD A4 04 cmp #$04 ; CPU:$CFBA PRG:4FBA C9 04 - bcc NmiHandler_Loop251 ; CPU:$CFBC PRG:4FBC 90 0F + bcc NmiHandler_Loop256 ; CPU:$CFBC PRG:4FBC 90 0F cmp #$FD ; CPU:$CFBE PRG:4FBE C9 FD - bcs NmiHandler_Loop251 ; CPU:$CFC0 PRG:4FC0 B0 0B + bcs NmiHandler_Loop256 ; CPU:$CFC0 PRG:4FC0 B0 0B lda $058F ; CPU:$CFC2 PRG:4FC2 AD 8F 05 sec ; CPU:$CFC5 PRG:4FC5 38 sbc #$03 ; CPU:$CFC6 PRG:4FC6 E9 03 sta ZpA3 ; CPU:$CFC8 PRG:4FC8 85 A3 - jmp NmiHandler_OnCarryClear16 ; CPU:$CFCA PRG:4FCA 4C E7 CF + jmp NmiHandler_OnCarryClear19 ; CPU:$CFCA PRG:4FCA 4C E7 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop251 -; Global: Branch target inside Label: taken when CFCD. -; Local: Part of Label. +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop251: +NmiHandler_Loop256: lda $04A4,x ; CPU:$CFCD PRG:4FCD BD A4 04 sta ZpA3 ; CPU:$CFD0 PRG:4FD0 85 A3 - jsr Sub_D0B5 ; CPU:$CFD2 PRG:4FD2 20 B5 D0 + jsr Sub_D0B5 ; CPU:$CFD2 PRG:4FD2 20 B5 D0 lda ZpA1 ; CPU:$CFD5 PRG:4FD5 A5 A1 clc ; CPU:$CFD7 PRG:4FD7 18 adc #$20 ; CPU:$CFD8 PRG:4FD8 69 20 @@ -10214,23 +10482,23 @@ NmiHandler_Loop251: adc #$00 ; CPU:$CFDE PRG:4FDE 69 00 sta ZpA2 ; CPU:$CFE0 PRG:4FE0 85 A2 ldy #$05 ; CPU:$CFE2 PRG:4FE2 A0 05 - jmp Sub_CFEE ; CPU:$CFE4 PRG:4FE4 4C EE CF + jmp Sub_CFEE ; CPU:$CFE4 PRG:4FE4 4C EE CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear16 -; Global: Branch target inside Label: taken when CFE7. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear19 +; Global: Branch target inside NmiHandler: taken when OnCarryClear19. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear16: +NmiHandler_OnCarryClear19: lda ZpA3 ; CPU:$CFE7 PRG:4FE7 A5 A3 - jsr Sub_D0B5 ; CPU:$CFE9 PRG:4FE9 20 B5 D0 + jsr Sub_D0B5 ; CPU:$CFE9 PRG:4FE9 20 B5 D0 ldy #$06 ; CPU:$CFEC PRG:4FEC A0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_CFEE -; Global: Branch target inside Label: taken when CFEE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when CFEE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10242,25 +10510,25 @@ Sub_CFEE: adc ZpA1 ; CPU:$CFF4 PRG:4FF4 65 A1 sta ZpA1 ; CPU:$CFF6 PRG:4FF6 85 A1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero68 -; Global: Branch target inside Label: taken when CFF8. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero69 +; Global: Branch target inside NmiHandler: taken when OnNonzero69. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero68: +NmiHandler_OnNonzero69: lda ZpA1 ; CPU:$CFF8 PRG:4FF8 A5 A1 - sta Zp71 ; CPU:$CFFA PRG:4FFA 85 71 + sta OamShadowPtrLo ; CPU:$CFFA PRG:4FFA 85 71 lda ZpA2 ; CPU:$CFFC PRG:4FFC A5 A2 - sta Zp72 ; CPU:$CFFE PRG:4FFE 85 72 + sta OamShadowPtrHi ; CPU:$CFFE PRG:4FFE 85 72 lda #$AA ; CPU:$D000 PRG:5000 A9 AA - sta Zp73 ; CPU:$D002 PRG:5002 85 73 + sta VramWritePtrLo ; CPU:$D002 PRG:5002 85 73 lda #$D1 ; CPU:$D004 PRG:5004 A9 D1 - sta Zp74 ; CPU:$D006 PRG:5006 85 74 + sta VramWritePtrHi ; CPU:$D006 PRG:5006 85 74 lda #$03 ; CPU:$D008 PRG:5008 A9 03 - sta Zp70 ; CPU:$D00A PRG:500A 85 70 - jsr Sub_973E ; CPU:$D00C PRG:500C 20 3E 97 + sta PlayerSpriteY ; CPU:$D00A PRG:500A 85 70 + jsr Sub_973E ; CPU:$D00C PRG:500C 20 3E 97 lda #$20 ; CPU:$D00F PRG:500F A9 20 clc ; CPU:$D011 PRG:5011 18 adc ZpA1 ; CPU:$D012 PRG:5012 65 A1 @@ -10269,159 +10537,181 @@ NmiHandler_OnNonzero68: adc #$00 ; CPU:$D018 PRG:5018 69 00 sta ZpA2 ; CPU:$D01A PRG:501A 85 A2 dec ZpA4 ; CPU:$D01C PRG:501C C6 A4 - bne NmiHandler_OnNonzero68 ; CPU:$D01E PRG:501E D0 D8 + bne NmiHandler_OnNonzero69 ; CPU:$D01E PRG:501E D0 D8 inc ZpA3 ; CPU:$D020 PRG:5020 E6 A3 lda ZpA3 ; CPU:$D022 PRG:5022 A5 A3 cmp $0422,x ; CPU:$D024 PRG:5024 DD 22 04 - bcc NmiHandler_OnCarryClear16 ; CPU:$D027 PRG:5027 90 BE + bcc NmiHandler_OnCarryClear19 ; CPU:$D027 PRG:5027 90 BE rts ; CPU:$D029 PRG:5029 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D02A -; Global: Branch target inside Label: taken when D02A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D02A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D02A: cpx #$0B ; CPU:$D02A PRG:502A E0 0B - bcs NmiHandler_OnCarryClear17 ; CPU:$D02C PRG:502C B0 05 + bcs NmiHandler_OnCarryClear20 ; CPU:$D02C PRG:502C B0 05 lda $06E5 ; CPU:$D02E PRG:502E AD E5 06 - bne NmiHandler_Loop252 ; CPU:$D031 PRG:5031 D0 01 + bne NmiHandler_Loop257 ; CPU:$D031 PRG:5031 D0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear17 -; Global: Branch target inside Label: taken when D033. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear20 +; Global: Branch target inside NmiHandler: taken when OnCarryClear20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear17: +NmiHandler_OnCarryClear20: rts ; CPU:$D033 PRG:5033 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop252 -; Global: Branch target inside Label: taken when D034. -; Local: Part of Label. +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop252: +NmiHandler_Loop257: lda $04A4,x ; CPU:$D034 PRG:5034 BD A4 04 - jsr Sub_9A0B ; CPU:$D037 PRG:5037 20 0B 9A + jsr Sub_9A0B ; CPU:$D037 PRG:5037 20 0B 9A lda $0684 ; CPU:$D03A PRG:503A AD 84 06 sec ; CPU:$D03D PRG:503D 38 - sbc Zp73 ; CPU:$D03E PRG:503E E5 73 - sta Zp73 ; CPU:$D040 PRG:5040 85 73 + sbc VramWritePtrLo ; CPU:$D03E PRG:503E E5 73 + sta VramWritePtrLo ; CPU:$D040 PRG:5040 85 73 lda $0685 ; CPU:$D042 PRG:5042 AD 85 06 - sbc Zp74 ; CPU:$D045 PRG:5045 E5 74 - bcc NmiHandler_OnCarryClear17 ; CPU:$D047 PRG:5047 90 EA - bne NmiHandler_Loop253 ; CPU:$D049 PRG:5049 D0 06 - lda Zp73 ; CPU:$D04B PRG:504B A5 73 + sbc VramWritePtrHi ; CPU:$D045 PRG:5045 E5 74 + bcc NmiHandler_OnCarryClear20 ; CPU:$D047 PRG:5047 90 EA + bne NmiHandler_Loop258 ; CPU:$D049 PRG:5049 D0 06 + lda VramWritePtrLo ; CPU:$D04B PRG:504B A5 73 cmp #$71 ; CPU:$D04D PRG:504D C9 71 - bcc NmiHandler_OnCarryClear17 ; CPU:$D04F PRG:504F 90 E2 + bcc NmiHandler_OnCarryClear20 ; CPU:$D04F PRG:504F 90 E2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop253 -; Global: Branch target inside Label: taken when D051. -; Local: Part of Label. +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop253: +NmiHandler_Loop258: lda $0422,x ; CPU:$D051 PRG:5051 BD 22 04 - jsr Sub_9A0B ; CPU:$D054 PRG:5054 20 0B 9A + jsr Sub_9A0B ; CPU:$D054 PRG:5054 20 0B 9A lda $0684 ; CPU:$D057 PRG:5057 AD 84 06 sec ; CPU:$D05A PRG:505A 38 - sbc Zp73 ; CPU:$D05B PRG:505B E5 73 - sta Zp73 ; CPU:$D05D PRG:505D 85 73 + sbc VramWritePtrLo ; CPU:$D05B PRG:505B E5 73 + sta VramWritePtrLo ; CPU:$D05D PRG:505D 85 73 lda $0685 ; CPU:$D05F PRG:505F AD 85 06 - sbc Zp74 ; CPU:$D062 PRG:5062 E5 74 - bcc NmiHandler_Loop254 ; CPU:$D064 PRG:5064 90 08 - bne NmiHandler_OnCarryClear17 ; CPU:$D066 PRG:5066 D0 CB - lda Zp73 ; CPU:$D068 PRG:5068 A5 73 + sbc VramWritePtrHi ; CPU:$D062 PRG:5062 E5 74 + bcc NmiHandler_Loop259 ; CPU:$D064 PRG:5064 90 08 + bne NmiHandler_OnCarryClear20 ; CPU:$D066 PRG:5066 D0 CB + lda VramWritePtrLo ; CPU:$D068 PRG:5068 A5 73 cmp #$61 ; CPU:$D06A PRG:506A C9 61 - bcs NmiHandler_OnCarryClear17 ; CPU:$D06C PRG:506C B0 C5 + bcs NmiHandler_OnCarryClear20 ; CPU:$D06C PRG:506C B0 C5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop254 -; Global: Branch target inside Label: taken when D06E. -; Local: Part of Label. +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop254: +NmiHandler_Loop259: lda $04D8 ; CPU:$D06E PRG:506E AD D8 04 clc ; CPU:$D071 PRG:5071 18 adc $0463,x ; CPU:$D072 PRG:5072 7D 63 04 - sta Zp71 ; CPU:$D075 PRG:5075 85 71 + sta OamShadowPtrLo ; CPU:$D075 PRG:5075 85 71 lda $04D9 ; CPU:$D077 PRG:5077 AD D9 04 adc #$00 ; CPU:$D07A PRG:507A 69 00 - sta Zp72 ; CPU:$D07C PRG:507C 85 72 + sta OamShadowPtrHi ; CPU:$D07C PRG:507C 85 72 lda #$AA ; CPU:$D07E PRG:507E A9 AA - sta Zp73 ; CPU:$D080 PRG:5080 85 73 + sta VramWritePtrLo ; CPU:$D080 PRG:5080 85 73 lda #$D1 ; CPU:$D082 PRG:5082 A9 D1 - sta Zp74 ; CPU:$D084 PRG:5084 85 74 + sta VramWritePtrHi ; CPU:$D084 PRG:5084 85 74 lda #$01 ; CPU:$D086 PRG:5086 A9 01 - sta Zp6F ; CPU:$D088 PRG:5088 85 6F - jmp Sub_9786 ; CPU:$D08A PRG:508A 4C 86 97 -; ---- data $D08D-$D09B (15 bytes) ---- - .byte $A9, $00, $9D, $FB, $03, $9D, $08, $04, $9D, $70, $04, $60, $BD, $B1, $04 ; CPU:$D08D PRG:508D A9 00 9D FB 03 9D 08 04 9D 70 04 60 BD B1 04 + sta PlayerSpriteX ; CPU:$D088 PRG:5088 85 6F + jmp Sub_9786 ; CPU:$D08A PRG:508A 4C 86 97 +; ----------------------------------------------------------------------------- +; Routine: Sub_D08D +; Global: Branch target inside Sub: taken when D08D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D08D: + lda #$00 ; CPU:$D08D PRG:508D A9 00 + sta $03FB,x ; CPU:$D08F PRG:508F 9D FB 03 + sta $0408,x ; CPU:$D092 PRG:5092 9D 08 04 + sta $0470,x ; CPU:$D095 PRG:5095 9D 70 04 + rts ; CPU:$D098 PRG:5098 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D099 +; Global: Branch target inside Label: taken when D099. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D099: + lda $04B1,x ; CPU:$D099 PRG:5099 BD B1 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_D09C -; Global: Branch target inside Label: taken when D09C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D09C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D09C: lsr a ; CPU:$D09C PRG:509C 4A - sta Zp72 ; CPU:$D09D PRG:509D 85 72 + sta OamShadowPtrHi ; CPU:$D09D PRG:509D 85 72 ldy #$08 ; CPU:$D09F PRG:509F A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero69 -; Global: Branch target inside Label: taken when D0A1. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero69: - lsr Zp72 ; CPU:$D0A1 PRG:50A1 46 72 - bcs NmiHandler_Loop255 ; CPU:$D0A3 PRG:50A3 B0 07 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero70 -; Global: Branch target inside Label: taken when D0A5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero70. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero70: - iny ; CPU:$D0A5 PRG:50A5 C8 - cpy #$0C ; CPU:$D0A6 PRG:50A6 C0 0C - bne NmiHandler_OnNonzero69 ; CPU:$D0A8 PRG:50A8 D0 F7 - sec ; CPU:$D0AA PRG:50AA 38 - rts ; CPU:$D0AB PRG:50AB 60 + lsr OamShadowPtrHi ; CPU:$D0A1 PRG:50A1 46 72 + bcs NmiHandler_Loop260 ; CPU:$D0A3 PRG:50A3 B0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop255 -; Global: Branch target inside Label: taken when D0AC. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero71 +; Global: Branch target inside NmiHandler: taken when OnNonzero71. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop255: +NmiHandler_OnNonzero71: + iny ; CPU:$D0A5 PRG:50A5 C8 + cpy #$0C ; CPU:$D0A6 PRG:50A6 C0 0C + bne NmiHandler_OnNonzero70 ; CPU:$D0A8 PRG:50A8 D0 F7 + sec ; CPU:$D0AA PRG:50AA 38 + rts ; CPU:$D0AB PRG:50AB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: lda a:ZpB7,y ; CPU:$D0AC PRG:50AC B9 B7 00 and #$10 ; CPU:$D0AF PRG:50AF 29 10 - bne NmiHandler_OnNonzero70 ; CPU:$D0B1 PRG:50B1 D0 F2 + bne NmiHandler_OnNonzero71 ; CPU:$D0B1 PRG:50B1 D0 F2 clc ; CPU:$D0B3 PRG:50B3 18 rts ; CPU:$D0B4 PRG:50B4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D0B5 -; Global: Branch target inside Label: taken when D0B5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D0B5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10430,74 +10720,86 @@ Sub_D0B5: asl a ; CPU:$D0B5 PRG:50B5 0A clc ; CPU:$D0B6 PRG:50B6 18 adc #$76 ; CPU:$D0B7 PRG:50B7 69 76 - sta Zp73 ; CPU:$D0B9 PRG:50B9 85 73 + sta VramWritePtrLo ; CPU:$D0B9 PRG:50B9 85 73 lda #$D2 ; CPU:$D0BB PRG:50BB A9 D2 adc #$00 ; CPU:$D0BD PRG:50BD 69 00 - sta Zp74 ; CPU:$D0BF PRG:50BF 85 74 + sta VramWritePtrHi ; CPU:$D0BF PRG:50BF 85 74 ldy #$00 ; CPU:$D0C1 PRG:50C1 A0 00 - lda (Zp73),y ; CPU:$D0C3 PRG:50C3 B1 73 + lda (VramWritePtrLo),y ; CPU:$D0C3 PRG:50C3 B1 73 sta ZpA1 ; CPU:$D0C5 PRG:50C5 85 A1 iny ; CPU:$D0C7 PRG:50C7 C8 - lda (Zp73),y ; CPU:$D0C8 PRG:50C8 B1 73 + lda (VramWritePtrLo),y ; CPU:$D0C8 PRG:50C8 B1 73 sta ZpA2 ; CPU:$D0CA PRG:50CA 85 A2 rts ; CPU:$D0CC PRG:50CC 60 -; ---- data $D0CD-$D0ED (33 bytes) ---- -; referenced by `lda $D0CD,y` at $C83E (operand $D0CD falls inside this region) -; referenced by `lda $D0CD,y` at $C848 (operand $D0CD falls inside this region) -; referenced by `lda $D0CD,y` at $C852 (operand $D0CD falls inside this region) - .byte $19, $1E, $06, $18, $1E, $0A, $1A, $1E, $0E, $18, $1E, $12, $18, $1E, $16, $14 ; CPU:$D0CD PRG:50CD 19 1E 06 18 1E 0A 1A 1E 0E 18 1E 12 18 1E 16 14 - .byte $18, $02, $12, $18, $1A, $13, $15, $0E, $10, $12, $02, $0E, $10, $0E, $00, $0C ; CPU:$D0DD PRG:50DD 18 02 12 18 1A 13 15 0E 10 12 02 0E 10 0E 00 0C - .byte $0E ; CPU:$D0ED PRG:50ED 0E +; ----------------------------------------------------------------------------- +; Routine: Label_D0CD +; Global: Branch target inside Label: taken when D0CD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D0CD: + ora $061E,y ; CPU:$D0CD PRG:50CD 19 1E 06 + clc ; CPU:$D0D0 PRG:50D0 18 + asl $1A0A,x ; CPU:$D0D1 PRG:50D1 1E 0A 1A + asl $180E,x ; CPU:$D0D4 PRG:50D4 1E 0E 18 + asl $1812,x ; CPU:$D0D7 PRG:50D7 1E 12 18 + asl $1416,x ; CPU:$D0DA PRG:50DA 1E 16 14 + clc ; CPU:$D0DD PRG:50DD 18 +; ---- data $D0DE-$D0ED (16 bytes) ---- +EnemySpeedTable: + .byte $02, $12, $18, $1A, $13, $15, $0E, $10, $12, $02, $0E, $10, $0E, $00, $0C, $0E ; CPU:$D0DE PRG:10DE 02 12 18 1A 13 15 0E 10 12 02 0E 10 0E 00 0C 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_D0EE -; Global: Branch target inside Label: taken when D0EE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D0EE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D0EE: cpy #$17 ; CPU:$D0EE PRG:50EE C0 17 - bcs NmiHandler_Loop257 ; CPU:$D0F0 PRG:50F0 B0 18 + bcs NmiHandler_Loop262 ; CPU:$D0F0 PRG:50F0 B0 18 lda $05BA,y ; CPU:$D0F2 PRG:50F2 B9 BA 05 and #$01 ; CPU:$D0F5 PRG:50F5 29 01 - beq NmiHandler_Loop256 ; CPU:$D0F7 PRG:50F7 F0 05 + beq NmiHandler_Loop261 ; CPU:$D0F7 PRG:50F7 F0 05 lda #$08 ; CPU:$D0F9 PRG:50F9 A9 08 - jsr Sub_D10B ; CPU:$D0FB PRG:50FB 20 0B D1 + jsr Sub_D10B ; CPU:$D0FB PRG:50FB 20 0B D1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop256 -; Global: Branch target inside Label: taken when D0FE. -; Local: Part of Label. +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop256: +NmiHandler_Loop261: lda $05BA,y ; CPU:$D0FE PRG:50FE B9 BA 05 and #$02 ; CPU:$D101 PRG:5101 29 02 - beq NmiHandler_Loop257 ; CPU:$D103 PRG:5103 F0 05 + beq NmiHandler_Loop262 ; CPU:$D103 PRG:5103 F0 05 lda #$14 ; CPU:$D105 PRG:5105 A9 14 - jmp Sub_D10B ; CPU:$D107 PRG:5107 4C 0B D1 + jmp Sub_D10B ; CPU:$D107 PRG:5107 4C 0B D1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop257 -; Global: Branch target inside Label: taken when D10A. -; Local: Part of Label. +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop257: +NmiHandler_Loop262: rts ; CPU:$D10A PRG:510A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D10B -; Global: Branch target inside Label: taken when D10B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D10B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D10B: - sta Zp70 ; CPU:$D10B PRG:510B 85 70 + sta PlayerSpriteY ; CPU:$D10B PRG:510B 85 70 tya ; CPU:$D10D PRG:510D 98 pha ; CPU:$D10E PRG:510E 48 iny ; CPU:$D10F PRG:510F C8 @@ -10505,44 +10807,44 @@ Sub_D10B: asl a ; CPU:$D111 PRG:5111 0A clc ; CPU:$D112 PRG:5112 18 adc #$76 ; CPU:$D113 PRG:5113 69 76 - sta Zp73 ; CPU:$D115 PRG:5115 85 73 + sta VramWritePtrLo ; CPU:$D115 PRG:5115 85 73 lda #$D2 ; CPU:$D117 PRG:5117 A9 D2 adc #$00 ; CPU:$D119 PRG:5119 69 00 - sta Zp74 ; CPU:$D11B PRG:511B 85 74 + sta VramWritePtrHi ; CPU:$D11B PRG:511B 85 74 ldy #$00 ; CPU:$D11D PRG:511D A0 00 - lda (Zp73),y ; CPU:$D11F PRG:511F B1 73 - sta Zp71 ; CPU:$D121 PRG:5121 85 71 + lda (VramWritePtrLo),y ; CPU:$D11F PRG:511F B1 73 + sta OamShadowPtrLo ; CPU:$D121 PRG:5121 85 71 iny ; CPU:$D123 PRG:5123 C8 - lda (Zp73),y ; CPU:$D124 PRG:5124 B1 73 - sta Zp72 ; CPU:$D126 PRG:5126 85 72 + lda (VramWritePtrLo),y ; CPU:$D124 PRG:5124 B1 73 + sta OamShadowPtrHi ; CPU:$D126 PRG:5126 85 72 lda #$20 ; CPU:$D128 PRG:5128 A9 20 clc ; CPU:$D12A PRG:512A 18 - adc Zp71 ; CPU:$D12B PRG:512B 65 71 - sta Zp71 ; CPU:$D12D PRG:512D 85 71 - lda Zp72 ; CPU:$D12F PRG:512F A5 72 + adc OamShadowPtrLo ; CPU:$D12B PRG:512B 65 71 + sta OamShadowPtrLo ; CPU:$D12D PRG:512D 85 71 + lda OamShadowPtrHi ; CPU:$D12F PRG:512F A5 72 adc #$00 ; CPU:$D131 PRG:5131 69 00 - sta Zp72 ; CPU:$D133 PRG:5133 85 72 - lda Zp70 ; CPU:$D135 PRG:5135 A5 70 + sta OamShadowPtrHi ; CPU:$D133 PRG:5133 85 72 + lda PlayerSpriteY ; CPU:$D135 PRG:5135 A5 70 clc ; CPU:$D137 PRG:5137 18 - adc Zp71 ; CPU:$D138 PRG:5138 65 71 - sta Zp71 ; CPU:$D13A PRG:513A 85 71 - lda Zp72 ; CPU:$D13C PRG:513C A5 72 + adc OamShadowPtrLo ; CPU:$D138 PRG:5138 65 71 + sta OamShadowPtrLo ; CPU:$D13A PRG:513A 85 71 + lda OamShadowPtrHi ; CPU:$D13C PRG:513C A5 72 adc #$00 ; CPU:$D13E PRG:513E 69 00 - sta Zp72 ; CPU:$D140 PRG:5140 85 72 + sta OamShadowPtrHi ; CPU:$D140 PRG:5140 85 72 lda #$87 ; CPU:$D142 PRG:5142 A9 87 - sta Zp73 ; CPU:$D144 PRG:5144 85 73 + sta VramWritePtrLo ; CPU:$D144 PRG:5144 85 73 lda #$D1 ; CPU:$D146 PRG:5146 A9 D1 - sta Zp74 ; CPU:$D148 PRG:5148 85 74 + sta VramWritePtrHi ; CPU:$D148 PRG:5148 85 74 lda #$01 ; CPU:$D14A PRG:514A A9 01 - sta Zp6F ; CPU:$D14C PRG:514C 85 6F - jsr Sub_9786 ; CPU:$D14E PRG:514E 20 86 97 + sta PlayerSpriteX ; CPU:$D14C PRG:514C 85 6F + jsr Sub_9786 ; CPU:$D14E PRG:514E 20 86 97 pla ; CPU:$D151 PRG:5151 68 tay ; CPU:$D152 PRG:5152 A8 rts ; CPU:$D153 PRG:5153 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D154 -; Global: Branch target inside Label: taken when D154. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D154. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10556,23 +10858,23 @@ Sub_D154: adc #$06 ; CPU:$D15C PRG:515C 69 06 sta ZpA1 ; CPU:$D15E PRG:515E 85 A1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero71 -; Global: Branch target inside Label: taken when D160. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero72 +; Global: Branch target inside NmiHandler: taken when OnNonzero72. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero71: - jsr Sub_D0EE ; CPU:$D160 PRG:5160 20 EE D0 +NmiHandler_OnNonzero72: + jsr Sub_D0EE ; CPU:$D160 PRG:5160 20 EE D0 iny ; CPU:$D163 PRG:5163 C8 cpy ZpA1 ; CPU:$D164 PRG:5164 C4 A1 - bne NmiHandler_OnNonzero71 ; CPU:$D166 PRG:5166 D0 F8 + bne NmiHandler_OnNonzero72 ; CPU:$D166 PRG:5166 D0 F8 rts ; CPU:$D168 PRG:5168 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D169 -; Global: Branch target inside Label: taken when D169. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D169. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10583,8 +10885,8 @@ Sub_D169: rts ; CPU:$D16E PRG:516E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D16F -; Global: Branch target inside Label: taken when D16F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D16F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10595,8 +10897,8 @@ Sub_D16F: rts ; CPU:$D174 PRG:5174 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D175 -; Global: Branch target inside Label: taken when D175. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D175. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10607,8 +10909,8 @@ Sub_D175: rts ; CPU:$D17B PRG:517B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D17C -; Global: Branch target inside Label: taken when D17C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D17C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10620,7 +10922,10 @@ Sub_D17C: sbc $047D,y ; CPU:$D183 PRG:5183 F9 7D 04 rts ; CPU:$D186 PRG:5186 60 ; ---- data $D187-$D2B5 (303 bytes) ---- - .byte $0E, $11, $0F, $AD, $D1, $C5, $D1, $DD, $D1, $F5, $D1, $AA, $D1, $10, $D2, $28 ; CPU:$D187 PRG:5187 0E 11 0F AD D1 C5 D1 DD D1 F5 D1 AA D1 10 D2 28 +; referenced by `lda $D276` at $CDC8 (operand $D276 falls inside this region) +; referenced by `lda $D277` at $CDCE (operand $D277 falls inside this region) +LevelObjectPointerTable: + .byte $0E, $11, $0F, $AD, $D1, $C5, $D1, $DD, $D1, $F5, $D1, $AA, $D1, $10, $D2, $28 ; CPU:$D187 PRG:1187 0E 11 0F AD D1 C5 D1 DD D1 F5 D1 AA D1 10 D2 28 .byte $D2, $40, $D2, $58, $D2, $0D, $D2, $FF, $87, $FF, $FF, $87, $FF, $FF, $87, $FF ; CPU:$D197 PRG:5197 D2 40 D2 58 D2 0D D2 FF 87 FF FF 87 FF FF 87 FF .byte $FF, $87, $FF, $FF, $87, $FF, $73, $74, $73, $88, $88, $88, $88, $88, $88, $88 ; CPU:$D1A7 PRG:51A7 FF 87 FF FF 87 FF 73 74 73 88 88 88 88 88 88 88 .byte $88, $88, $88, $88, $88, $88, $88, $88, $73, $73, $73, $FF, $FF, $FF, $75, $77 ; CPU:$D1B7 PRG:51B7 88 88 88 88 88 88 88 88 73 73 73 FF FF FF 75 77 @@ -10641,8 +10946,8 @@ Sub_D17C: .byte $28, $80, $29, $40, $2A, $00, $2B, $00, $20, $C0, $20, $80, $21, $40, $22 ; CPU:$D2A7 PRG:52A7 28 80 29 40 2A 00 2B 00 20 C0 20 80 21 40 22 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2B6 -; Global: Branch target inside Label: taken when D2B6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D2B6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10651,133 +10956,133 @@ Sub_D2B6: ldx #$0D ; CPU:$D2B6 PRG:52B6 A2 0D lda #$00 ; CPU:$D2B8 PRG:52B8 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero72 -; Global: Branch target inside Label: taken when D2BA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero72: - sta ZpB7,x ; CPU:$D2BA PRG:52BA 95 B7 - inx ; CPU:$D2BC PRG:52BC E8 - cpx #$11 ; CPU:$D2BD PRG:52BD E0 11 - bne NmiHandler_OnNonzero72 ; CPU:$D2BF PRG:52BF D0 F9 - ldy #$00 ; CPU:$D2C1 PRG:52C1 A0 00 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero73 -; Global: Branch target inside Label: taken when D2C3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero73. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero73: - lda $0592,y ; CPU:$D2C3 PRG:52C3 B9 92 05 - bne NmiHandler_Loop258 ; CPU:$D2C6 PRG:52C6 D0 12 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero10 -; Global: Branch target inside Label: taken when D2C8. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero10: - iny ; CPU:$D2C8 PRG:52C8 C8 - cpy #$0A ; CPU:$D2C9 PRG:52C9 C0 0A - bne NmiHandler_OnNonzero73 ; CPU:$D2CB PRG:52CB D0 F6 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero11 -; Global: Branch target inside Label: taken when D2CD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero11: - jsr Sub_82A3 ; CPU:$D2CD PRG:52CD 20 A3 82 - lda $0673 ; CPU:$D2D0 PRG:52D0 AD 73 06 - and #$01 ; CPU:$D2D3 PRG:52D3 29 01 - beq NmiHandler_OnZero11 ; CPU:$D2D5 PRG:52D5 F0 F6 - jmp Sub_D2B6 ; CPU:$D2D7 PRG:52D7 4C B6 D2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop258 -; Global: Branch target inside Label: taken when D2DA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop258: - jsr Sub_D31A ; CPU:$D2DA PRG:52DA 20 1A D3 - bcc NmiHandler_OnZero10 ; CPU:$D2DD PRG:52DD 90 E9 - ldx #$0D ; CPU:$D2DF PRG:52DF A2 0D + sta SpriteIndex,x ; CPU:$D2BA PRG:52BA 95 B7 + inx ; CPU:$D2BC PRG:52BC E8 + cpx #$11 ; CPU:$D2BD PRG:52BD E0 11 + bne NmiHandler_OnNonzero73 ; CPU:$D2BF PRG:52BF D0 F9 + ldy #$00 ; CPU:$D2C1 PRG:52C1 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero74 -; Global: Branch target inside Label: taken when D2E1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero74. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero74: - lda ZpB7,x ; CPU:$D2E1 PRG:52E1 B5 B7 - beq NmiHandler_Loop259 ; CPU:$D2E3 PRG:52E3 F0 07 - inx ; CPU:$D2E5 PRG:52E5 E8 - cpx #$11 ; CPU:$D2E6 PRG:52E6 E0 11 - bne NmiHandler_OnNonzero74 ; CPU:$D2E8 PRG:52E8 D0 F7 - beq NmiHandler_OnZero10 ; CPU:$D2EA PRG:52EA F0 DC + lda $0592,y ; CPU:$D2C3 PRG:52C3 B9 92 05 + bne NmiHandler_Loop263 ; CPU:$D2C6 PRG:52C6 D0 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop259 -; Global: Branch target inside Label: taken when D2EC. -; Local: Part of Label. +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop259: +NmiHandler_OnZero11: + iny ; CPU:$D2C8 PRG:52C8 C8 + cpy #$0A ; CPU:$D2C9 PRG:52C9 C0 0A + bne NmiHandler_OnNonzero74 ; CPU:$D2CB PRG:52CB D0 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero12 +; Global: Branch target inside NmiHandler: taken when OnZero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero12: + jsr Sub_82A3 ; CPU:$D2CD PRG:52CD 20 A3 82 + lda $0673 ; CPU:$D2D0 PRG:52D0 AD 73 06 + and #$01 ; CPU:$D2D3 PRG:52D3 29 01 + beq NmiHandler_OnZero12 ; CPU:$D2D5 PRG:52D5 F0 F6 + jmp Sub_D2B6 ; CPU:$D2D7 PRG:52D7 4C B6 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + jsr Sub_D31A ; CPU:$D2DA PRG:52DA 20 1A D3 + bcc NmiHandler_OnZero11 ; CPU:$D2DD PRG:52DD 90 E9 + ldx #$0D ; CPU:$D2DF PRG:52DF A2 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero75 +; Global: Branch target inside NmiHandler: taken when OnNonzero75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero75: + lda SpriteIndex,x ; CPU:$D2E1 PRG:52E1 B5 B7 + beq NmiHandler_Loop264 ; CPU:$D2E3 PRG:52E3 F0 07 + inx ; CPU:$D2E5 PRG:52E5 E8 + cpx #$11 ; CPU:$D2E6 PRG:52E6 E0 11 + bne NmiHandler_OnNonzero75 ; CPU:$D2E8 PRG:52E8 D0 F7 + beq NmiHandler_OnZero11 ; CPU:$D2EA PRG:52EA F0 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: lda #$81 ; CPU:$D2EC PRG:52EC A9 81 sta $0592,y ; CPU:$D2EE PRG:52EE 99 92 05 - sta ZpB7,x ; CPU:$D2F1 PRG:52F1 95 B7 + sta SpriteIndex,x ; CPU:$D2F1 PRG:52F1 95 B7 txa ; CPU:$D2F3 PRG:52F3 8A sta $05B0,y ; CPU:$D2F4 PRG:52F4 99 B0 05 tya ; CPU:$D2F7 PRG:52F7 98 sta $03C6,x ; CPU:$D2F8 PRG:52F8 9D C6 03 lda $059C,y ; CPU:$D2FB PRG:52FB B9 9C 05 sta ZpE5,x ; CPU:$D2FE PRG:52FE 95 E5 - jsr Sub_99E7 ; CPU:$D300 PRG:5300 20 E7 99 - jsr Sub_9B03 ; CPU:$D303 PRG:5303 20 03 9B + jsr Sub_99E7 ; CPU:$D300 PRG:5300 20 E7 99 + jsr Sub_9B03 ; CPU:$D303 PRG:5303 20 03 9B lda $05A6,y ; CPU:$D306 PRG:5306 B9 A6 05 - sta ZpC8,x ; CPU:$D309 PRG:5309 95 C8 - bmi NmiHandler_Loop260 ; CPU:$D30B PRG:530B 30 05 + sta SpriteYPosition,x ; CPU:$D309 PRG:5309 95 C8 + bmi NmiHandler_Loop265 ; CPU:$D30B PRG:530B 30 05 lda #$9D ; CPU:$D30D PRG:530D A9 9D - jmp Sub_D314 ; CPU:$D30F PRG:530F 4C 14 D3 + jmp Sub_D314 ; CPU:$D30F PRG:530F 4C 14 D3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop260 -; Global: Branch target inside Label: taken when D312. -; Local: Part of Label. +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop260: +NmiHandler_Loop265: lda #$9E ; CPU:$D312 PRG:5312 A9 9E ; ----------------------------------------------------------------------------- ; Routine: Sub_D314 -; Global: Branch target inside Label: taken when D314. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D314. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D314: sta $0314,x ; CPU:$D314 PRG:5314 9D 14 03 - jmp NmiHandler_OnZero10 ; CPU:$D317 PRG:5317 4C C8 D2 + jmp NmiHandler_OnZero11 ; CPU:$D317 PRG:5317 4C C8 D2 ; ----------------------------------------------------------------------------- ; Routine: Sub_D31A -; Global: Branch target inside Label: taken when D31A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D31A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10787,24 +11092,24 @@ Sub_D31A: sec ; CPU:$D31D PRG:531D 38 sbc $058F ; CPU:$D31E PRG:531E ED 8F 05 cmp #$03 ; CPU:$D321 PRG:5321 C9 03 - bcc NmiHandler_Loop261 ; CPU:$D323 PRG:5323 90 03 + bcc NmiHandler_Loop266 ; CPU:$D323 PRG:5323 90 03 cmp #$FE ; CPU:$D325 PRG:5325 C9 FE rts ; CPU:$D327 PRG:5327 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop261 -; Global: Branch target inside Label: taken when D328. -; Local: Part of Label. +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop261: +NmiHandler_Loop266: sec ; CPU:$D328 PRG:5328 38 rts ; CPU:$D329 PRG:5329 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D32A -; Global: Branch target inside Label: taken when D32A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D32A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10812,20 +11117,20 @@ NmiHandler_Loop261: Sub_D32A: ldx #$03 ; CPU:$D32A PRG:532A A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero75 -; Global: Branch target inside Label: taken when D32C. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero76 +; Global: Branch target inside NmiHandler: taken when OnNonzero76. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero75: - lda ZpB7,x ; CPU:$D32C PRG:532C B5 B7 - bmi NmiHandler_Loop262 ; CPU:$D32E PRG:532E 30 0B +NmiHandler_OnNonzero76: + lda SpriteIndex,x ; CPU:$D32C PRG:532C B5 B7 + bmi NmiHandler_Loop267 ; CPU:$D32E PRG:532E 30 0B ; ----------------------------------------------------------------------------- ; Routine: Sub_D330 -; Global: Branch target inside Label: taken when D330. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D330. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10833,396 +11138,396 @@ NmiHandler_OnNonzero75: Sub_D330: inx ; CPU:$D330 PRG:5330 E8 cpx #$06 ; CPU:$D331 PRG:5331 E0 06 - bne NmiHandler_OnNonzero75 ; CPU:$D333 PRG:5333 D0 F7 - jsr Sub_82A3 ; CPU:$D335 PRG:5335 20 A3 82 - jmp Sub_D32A ; CPU:$D338 PRG:5338 4C 2A D3 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop262 -; Global: Branch target inside Label: taken when D33B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop262: - cmp #$84 ; CPU:$D33B PRG:533B C9 84 - bne NmiHandler_Loop263 ; CPU:$D33D PRG:533D D0 07 - lda #$00 ; CPU:$D33F PRG:533F A9 00 - sta ZpB7,x ; CPU:$D341 PRG:5341 95 B7 - jmp Sub_D330 ; CPU:$D343 PRG:5343 4C 30 D3 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop263 -; Global: Branch target inside Label: taken when D346. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop263: - cmp #$88 ; CPU:$D346 PRG:5346 C9 88 - beq NmiHandler_Loop264 ; CPU:$D348 PRG:5348 F0 04 - cmp #$81 ; CPU:$D34A PRG:534A C9 81 - bne NmiHandler_Loop265 ; CPU:$D34C PRG:534C D0 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop264 -; Global: Branch target inside Label: taken when D34E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop264: - lda #$48 ; CPU:$D34E PRG:534E A9 48 - sta $0314,x ; CPU:$D350 PRG:5350 9D 14 03 - lda #$88 ; CPU:$D353 PRG:5353 A9 88 - sta ZpB7,x ; CPU:$D355 PRG:5355 95 B7 - bne NmiHandler_Loop266 ; CPU:$D357 PRG:5357 D0 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop265 -; Global: Branch target inside Label: taken when D359. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop265: - jsr Sub_D570 ; CPU:$D359 PRG:5359 20 70 D5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop266 -; Global: Branch target inside Label: taken when D35C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop266: - ldy #$08 ; CPU:$D35C PRG:535C A0 08 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero76 -; Global: Branch target inside Label: taken when D35E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero76: - lda a:ZpB7,y ; CPU:$D35E PRG:535E B9 B7 00 - bmi NmiHandler_Loop267 ; CPU:$D361 PRG:5361 30 08 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet6 -; Global: Branch target inside Label: taken when D363. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet6: - iny ; CPU:$D363 PRG:5363 C8 - cpy #$0C ; CPU:$D364 PRG:5364 C0 0C - bne NmiHandler_OnNonzero76 ; CPU:$D366 PRG:5366 D0 F6 - jmp Sub_D425 ; CPU:$D368 PRG:5368 4C 25 D4 + bne NmiHandler_OnNonzero76 ; CPU:$D333 PRG:5333 D0 F7 + jsr Sub_82A3 ; CPU:$D335 PRG:5335 20 A3 82 + jmp Sub_D32A ; CPU:$D338 PRG:5338 4C 2A D3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop267 -; Global: Branch target inside Label: taken when D36B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop267: - and #$43 ; CPU:$D36B PRG:536B 29 43 - beq NmiHandler_Loop269 ; CPU:$D36D PRG:536D F0 30 - and #$02 ; CPU:$D36F PRG:536F 29 02 - beq NmiHandler_OnCarrySet6 ; CPU:$D371 PRG:5371 F0 F0 - lda $0303,y ; CPU:$D373 PRG:5373 B9 03 03 - sec ; CPU:$D376 PRG:5376 38 - sbc $0303,x ; CPU:$D377 PRG:5377 FD 03 03 - cmp #$1C ; CPU:$D37A PRG:537A C9 1C - bcs NmiHandler_OnCarrySet6 ; CPU:$D37C PRG:537C B0 E5 - lda a:ZpB7,y ; CPU:$D37E PRG:537E B9 B7 00 - and #$08 ; CPU:$D381 PRG:5381 29 08 - beq NmiHandler_Loop268 ; CPU:$D383 PRG:5383 F0 09 - lda a:ZpC8,y ; CPU:$D385 PRG:5385 B9 C8 00 - sec ; CPU:$D388 PRG:5388 38 - sbc ZpC8,x ; CPU:$D389 PRG:5389 F5 C8 - jmp Sub_D394 ; CPU:$D38B PRG:538B 4C 94 D3 + cmp #$84 ; CPU:$D33B PRG:533B C9 84 + bne NmiHandler_Loop268 ; CPU:$D33D PRG:533D D0 07 + lda #$00 ; CPU:$D33F PRG:533F A9 00 + sta SpriteIndex,x ; CPU:$D341 PRG:5341 95 B7 + jmp Sub_D330 ; CPU:$D343 PRG:5343 4C 30 D3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop268 -; Global: Branch target inside Label: taken when D38E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop268: - lda ZpC8,x ; CPU:$D38E PRG:538E B5 C8 + cmp #$88 ; CPU:$D346 PRG:5346 C9 88 + beq NmiHandler_Loop269 ; CPU:$D348 PRG:5348 F0 04 + cmp #$81 ; CPU:$D34A PRG:534A C9 81 + bne NmiHandler_Loop270 ; CPU:$D34C PRG:534C D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + lda #$48 ; CPU:$D34E PRG:534E A9 48 + sta $0314,x ; CPU:$D350 PRG:5350 9D 14 03 + lda #$88 ; CPU:$D353 PRG:5353 A9 88 + sta SpriteIndex,x ; CPU:$D355 PRG:5355 95 B7 + bne NmiHandler_Loop271 ; CPU:$D357 PRG:5357 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + jsr Sub_D570 ; CPU:$D359 PRG:5359 20 70 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + ldy #$08 ; CPU:$D35C PRG:535C A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero77 +; Global: Branch target inside NmiHandler: taken when OnNonzero77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero77: + lda a:ZpB7,y ; CPU:$D35E PRG:535E B9 B7 00 + bmi NmiHandler_Loop272 ; CPU:$D361 PRG:5361 30 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet7 +; Global: Branch target inside NmiHandler: taken when OnCarrySet7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet7: + iny ; CPU:$D363 PRG:5363 C8 + cpy #$0C ; CPU:$D364 PRG:5364 C0 0C + bne NmiHandler_OnNonzero77 ; CPU:$D366 PRG:5366 D0 F6 + jmp Sub_D425 ; CPU:$D368 PRG:5368 4C 25 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + and #$43 ; CPU:$D36B PRG:536B 29 43 + beq NmiHandler_Loop274 ; CPU:$D36D PRG:536D F0 30 + and #$02 ; CPU:$D36F PRG:536F 29 02 + beq NmiHandler_OnCarrySet7 ; CPU:$D371 PRG:5371 F0 F0 + lda $0303,y ; CPU:$D373 PRG:5373 B9 03 03 + sec ; CPU:$D376 PRG:5376 38 + sbc $0303,x ; CPU:$D377 PRG:5377 FD 03 03 + cmp #$1C ; CPU:$D37A PRG:537A C9 1C + bcs NmiHandler_OnCarrySet7 ; CPU:$D37C PRG:537C B0 E5 + lda a:ZpB7,y ; CPU:$D37E PRG:537E B9 B7 00 + and #$08 ; CPU:$D381 PRG:5381 29 08 + beq NmiHandler_Loop273 ; CPU:$D383 PRG:5383 F0 09 + lda a:ZpC8,y ; CPU:$D385 PRG:5385 B9 C8 00 + sec ; CPU:$D388 PRG:5388 38 + sbc SpriteYPosition,x ; CPU:$D389 PRG:5389 F5 C8 + jmp Sub_D394 ; CPU:$D38B PRG:538B 4C 94 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + lda SpriteYPosition,x ; CPU:$D38E PRG:538E B5 C8 sec ; CPU:$D390 PRG:5390 38 sbc a:ZpC8,y ; CPU:$D391 PRG:5391 F9 C8 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D394 -; Global: Branch target inside Label: taken when D394. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D394. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D394: cmp #$08 ; CPU:$D394 PRG:5394 C9 08 - bcc NmiHandler_OnCarrySet6 ; CPU:$D396 PRG:5396 90 CB + bcc NmiHandler_OnCarrySet7 ; CPU:$D396 PRG:5396 90 CB cmp #$10 ; CPU:$D398 PRG:5398 C9 10 - bcs NmiHandler_OnCarrySet6 ; CPU:$D39A PRG:539A B0 C7 - jmp NmiHandler_Loop276 ; CPU:$D39C PRG:539C 4C 2A D4 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop269 -; Global: Branch target inside Label: taken when D39F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop269: - lda $0336,y ; CPU:$D39F PRG:539F B9 36 03 - and #$01 ; CPU:$D3A2 PRG:53A2 29 01 - bne NmiHandler_Loop271 ; CPU:$D3A4 PRG:53A4 D0 22 - lda $0336,y ; CPU:$D3A6 PRG:53A6 B9 36 03 - and #$02 ; CPU:$D3A9 PRG:53A9 29 02 - beq NmiHandler_Loop273 ; CPU:$D3AB PRG:53AB F0 36 - lda $0303,y ; CPU:$D3AD PRG:53AD B9 03 03 - sec ; CPU:$D3B0 PRG:53B0 38 - sbc $0303,x ; CPU:$D3B1 PRG:53B1 FD 03 03 - cmp #$08 ; CPU:$D3B4 PRG:53B4 C9 08 - bcs NmiHandler_OnCarrySet6 ; CPU:$D3B6 PRG:53B6 B0 AB - lda a:ZpC8,y ; CPU:$D3B8 PRG:53B8 B9 C8 00 - sbc ZpC8,x ; CPU:$D3BB PRG:53BB F5 C8 - cmp #$10 ; CPU:$D3BD PRG:53BD C9 10 - bcc NmiHandler_Loop270 ; CPU:$D3BF PRG:53BF 90 04 - cmp #$F0 ; CPU:$D3C1 PRG:53C1 C9 F0 - bcc NmiHandler_OnCarrySet6 ; CPU:$D3C3 PRG:53C3 90 9E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop270 -; Global: Branch target inside Label: taken when D3C5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop270: - jmp NmiHandler_Loop275 ; CPU:$D3C5 PRG:53C5 4C FF D3 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop271 -; Global: Branch target inside Label: taken when D3C8. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop271: - lda $0303,y ; CPU:$D3C8 PRG:53C8 B9 03 03 - sec ; CPU:$D3CB PRG:53CB 38 - sbc $0303,x ; CPU:$D3CC PRG:53CC FD 03 03 - cmp #$0E ; CPU:$D3CF PRG:53CF C9 0E - bcs NmiHandler_OnCarrySet6 ; CPU:$D3D1 PRG:53D1 B0 90 - lda a:ZpC8,y ; CPU:$D3D3 PRG:53D3 B9 C8 00 - sbc ZpC8,x ; CPU:$D3D6 PRG:53D6 F5 C8 - cmp #$08 ; CPU:$D3D8 PRG:53D8 C9 08 - bcc NmiHandler_Loop272 ; CPU:$D3DA PRG:53DA 90 04 - cmp #$F8 ; CPU:$D3DC PRG:53DC C9 F8 - bcc NmiHandler_OnCarrySet6 ; CPU:$D3DE PRG:53DE 90 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop272 -; Global: Branch target inside Label: taken when D3E0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop272: - jmp NmiHandler_Loop275 ; CPU:$D3E0 PRG:53E0 4C FF D3 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop273 -; Global: Branch target inside Label: taken when D3E3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop273: - lda $0303,y ; CPU:$D3E3 PRG:53E3 B9 03 03 - sec ; CPU:$D3E6 PRG:53E6 38 - sbc $0303,x ; CPU:$D3E7 PRG:53E7 FD 03 03 - cmp #$18 ; CPU:$D3EA PRG:53EA C9 18 - bcs NmiHandler_Loop274 ; CPU:$D3EC PRG:53EC B0 0E - lda a:ZpC8,y ; CPU:$D3EE PRG:53EE B9 C8 00 - sec ; CPU:$D3F1 PRG:53F1 38 - sbc ZpC8,x ; CPU:$D3F2 PRG:53F2 F5 C8 - cmp #$06 ; CPU:$D3F4 PRG:53F4 C9 06 - bcc NmiHandler_Loop275 ; CPU:$D3F6 PRG:53F6 90 07 - cmp #$FA ; CPU:$D3F8 PRG:53F8 C9 FA - bcs NmiHandler_Loop275 ; CPU:$D3FA PRG:53FA B0 03 + bcs NmiHandler_OnCarrySet7 ; CPU:$D39A PRG:539A B0 C7 + jmp NmiHandler_Loop281 ; CPU:$D39C PRG:539C 4C 2A D4 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop274 -; Global: Branch target inside Label: taken when D3FC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop274: - jmp NmiHandler_OnCarrySet6 ; CPU:$D3FC PRG:53FC 4C 63 D3 + lda $0336,y ; CPU:$D39F PRG:539F B9 36 03 + and #$01 ; CPU:$D3A2 PRG:53A2 29 01 + bne NmiHandler_Loop276 ; CPU:$D3A4 PRG:53A4 D0 22 + lda $0336,y ; CPU:$D3A6 PRG:53A6 B9 36 03 + and #$02 ; CPU:$D3A9 PRG:53A9 29 02 + beq NmiHandler_Loop278 ; CPU:$D3AB PRG:53AB F0 36 + lda $0303,y ; CPU:$D3AD PRG:53AD B9 03 03 + sec ; CPU:$D3B0 PRG:53B0 38 + sbc $0303,x ; CPU:$D3B1 PRG:53B1 FD 03 03 + cmp #$08 ; CPU:$D3B4 PRG:53B4 C9 08 + bcs NmiHandler_OnCarrySet7 ; CPU:$D3B6 PRG:53B6 B0 AB + lda a:ZpC8,y ; CPU:$D3B8 PRG:53B8 B9 C8 00 + sbc SpriteYPosition,x ; CPU:$D3BB PRG:53BB F5 C8 + cmp #$10 ; CPU:$D3BD PRG:53BD C9 10 + bcc NmiHandler_Loop275 ; CPU:$D3BF PRG:53BF 90 04 + cmp #$F0 ; CPU:$D3C1 PRG:53C1 C9 F0 + bcc NmiHandler_OnCarrySet7 ; CPU:$D3C3 PRG:53C3 90 9E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop275 -; Global: Branch target inside Label: taken when D3FF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop275: - lda a:ZpB7,y ; CPU:$D3FF PRG:53FF B9 B7 00 - ora #$01 ; CPU:$D402 PRG:5402 09 01 - sta a:ZpB7,y ; CPU:$D404 PRG:5404 99 B7 00 - lda #$00 ; CPU:$D407 PRG:5407 A9 00 - sta Zp73 ; CPU:$D409 PRG:5409 85 73 - lda #$01 ; CPU:$D40B PRG:540B A9 01 - sta Zp74 ; CPU:$D40D PRG:540D 85 74 - jsr Sub_C1D5 ; CPU:$D40F PRG:540F 20 D5 C1 - lda $0681 ; CPU:$D412 PRG:5412 AD 81 06 - beq NmiHandler_Loop276 ; CPU:$D415 PRG:5415 F0 13 - lda #$05 ; CPU:$D417 PRG:5417 A9 05 - sta Zp73 ; CPU:$D419 PRG:5419 85 73 - lda #$00 ; CPU:$D41B PRG:541B A9 00 - sta Zp74 ; CPU:$D41D PRG:541D 85 74 - jsr Sub_C1D5 ; CPU:$D41F PRG:541F 20 D5 C1 - jmp NmiHandler_Loop276 ; CPU:$D422 PRG:5422 4C 2A D4 -; ----------------------------------------------------------------------------- -; Routine: Sub_D425 -; Global: Branch target inside Label: taken when D425. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_D425: - jsr Sub_9AA6 ; CPU:$D425 PRG:5425 20 A6 9A - bcc NmiHandler_Loop277 ; CPU:$D428 PRG:5428 90 06 + jmp NmiHandler_Loop280 ; CPU:$D3C5 PRG:53C5 4C FF D3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop276 -; Global: Branch target inside Label: taken when D42A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop276: - jsr Sub_D55D ; CPU:$D42A PRG:542A 20 5D D5 - jmp Sub_D330 ; CPU:$D42D PRG:542D 4C 30 D3 + lda $0303,y ; CPU:$D3C8 PRG:53C8 B9 03 03 + sec ; CPU:$D3CB PRG:53CB 38 + sbc $0303,x ; CPU:$D3CC PRG:53CC FD 03 03 + cmp #$0E ; CPU:$D3CF PRG:53CF C9 0E + bcs NmiHandler_OnCarrySet7 ; CPU:$D3D1 PRG:53D1 B0 90 + lda a:ZpC8,y ; CPU:$D3D3 PRG:53D3 B9 C8 00 + sbc SpriteYPosition,x ; CPU:$D3D6 PRG:53D6 F5 C8 + cmp #$08 ; CPU:$D3D8 PRG:53D8 C9 08 + bcc NmiHandler_Loop277 ; CPU:$D3DA PRG:53DA 90 04 + cmp #$F8 ; CPU:$D3DC PRG:53DC C9 F8 + bcc NmiHandler_OnCarrySet7 ; CPU:$D3DE PRG:53DE 90 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop277 -; Global: Branch target inside Label: taken when D430. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop277: - lda ZpBD ; CPU:$D430 PRG:5430 A5 BD - bne NmiHandler_Loop280 ; CPU:$D432 PRG:5432 D0 3D - lda $0681 ; CPU:$D434 PRG:5434 AD 81 06 - bne NmiHandler_Loop280 ; CPU:$D437 PRG:5437 D0 38 - ldy ZpE5,x ; CPU:$D439 PRG:5439 B4 E5 - cpy #$18 ; CPU:$D43B PRG:543B C0 18 - bcs NmiHandler_Loop280 ; CPU:$D43D PRG:543D B0 32 - cpy #$15 ; CPU:$D43F PRG:543F C0 15 - bcs NmiHandler_Loop278 ; CPU:$D441 PRG:5441 B0 04 - cpy #$10 ; CPU:$D443 PRG:5443 C0 10 - bcs NmiHandler_Loop280 ; CPU:$D445 PRG:5445 B0 2A + jmp NmiHandler_Loop280 ; CPU:$D3E0 PRG:53E0 4C FF D3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop278 -; Global: Branch target inside Label: taken when D447. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop278: - dey ; CPU:$D447 PRG:5447 88 - lda $05BA,y ; CPU:$D448 PRG:5448 B9 BA 05 - and #$01 ; CPU:$D44B PRG:544B 29 01 - bne NmiHandler_Loop279 ; CPU:$D44D PRG:544D D0 0A - lda ZpC8,x ; CPU:$D44F PRG:544F B5 C8 - cmp #$48 ; CPU:$D451 PRG:5451 C9 48 - bcc NmiHandler_Loop280 ; CPU:$D453 PRG:5453 90 1C - cmp #$50 ; CPU:$D455 PRG:5455 C9 50 - bcc NmiHandler_Loop281 ; CPU:$D457 PRG:5457 90 21 + lda $0303,y ; CPU:$D3E3 PRG:53E3 B9 03 03 + sec ; CPU:$D3E6 PRG:53E6 38 + sbc $0303,x ; CPU:$D3E7 PRG:53E7 FD 03 03 + cmp #$18 ; CPU:$D3EA PRG:53EA C9 18 + bcs NmiHandler_Loop279 ; CPU:$D3EC PRG:53EC B0 0E + lda a:ZpC8,y ; CPU:$D3EE PRG:53EE B9 C8 00 + sec ; CPU:$D3F1 PRG:53F1 38 + sbc SpriteYPosition,x ; CPU:$D3F2 PRG:53F2 F5 C8 + cmp #$06 ; CPU:$D3F4 PRG:53F4 C9 06 + bcc NmiHandler_Loop280 ; CPU:$D3F6 PRG:53F6 90 07 + cmp #$FA ; CPU:$D3F8 PRG:53F8 C9 FA + bcs NmiHandler_Loop280 ; CPU:$D3FA PRG:53FA B0 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop279 -; Global: Branch target inside Label: taken when D459. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop279: - ldy ZpE5,x ; CPU:$D459 PRG:5459 B4 E5 - cpy #$0B ; CPU:$D45B PRG:545B C0 0B - beq NmiHandler_Loop280 ; CPU:$D45D PRG:545D F0 12 - dey ; CPU:$D45F PRG:545F 88 - lda $05BA,y ; CPU:$D460 PRG:5460 B9 BA 05 - and #$02 ; CPU:$D463 PRG:5463 29 02 - bne NmiHandler_Loop280 ; CPU:$D465 PRG:5465 D0 0A - lda ZpC8,x ; CPU:$D467 PRG:5467 B5 C8 - cmp #$A8 ; CPU:$D469 PRG:5469 C9 A8 - bcc NmiHandler_Loop280 ; CPU:$D46B PRG:546B 90 04 - cmp #$B0 ; CPU:$D46D PRG:546D C9 B0 - bcc NmiHandler_Loop281 ; CPU:$D46F PRG:546F 90 09 + jmp NmiHandler_OnCarrySet7 ; CPU:$D3FC PRG:53FC 4C 63 D3 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop280 -; Global: Branch target inside Label: taken when D471. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop280: - jsr Sub_DFF1 ; CPU:$D471 PRG:5471 20 F1 DF - jsr Sub_9B03 ; CPU:$D474 PRG:5474 20 03 9B - jmp Sub_D330 ; CPU:$D477 PRG:5477 4C 30 D3 + lda a:ZpB7,y ; CPU:$D3FF PRG:53FF B9 B7 00 + ora #$01 ; CPU:$D402 PRG:5402 09 01 + sta a:ZpB7,y ; CPU:$D404 PRG:5404 99 B7 00 + lda #$00 ; CPU:$D407 PRG:5407 A9 00 + sta VramWritePtrLo ; CPU:$D409 PRG:5409 85 73 + lda #$01 ; CPU:$D40B PRG:540B A9 01 + sta VramWritePtrHi ; CPU:$D40D PRG:540D 85 74 + jsr Sub_C1D5 ; CPU:$D40F PRG:540F 20 D5 C1 + lda $0681 ; CPU:$D412 PRG:5412 AD 81 06 + beq NmiHandler_Loop281 ; CPU:$D415 PRG:5415 F0 13 + lda #$05 ; CPU:$D417 PRG:5417 A9 05 + sta VramWritePtrLo ; CPU:$D419 PRG:5419 85 73 + lda #$00 ; CPU:$D41B PRG:541B A9 00 + sta VramWritePtrHi ; CPU:$D41D PRG:541D 85 74 + jsr Sub_C1D5 ; CPU:$D41F PRG:541F 20 D5 C1 + jmp NmiHandler_Loop281 ; CPU:$D422 PRG:5422 4C 2A D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D425 +; Global: Branch target inside Sub: taken when D425. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D425: + jsr Sub_9AA6 ; CPU:$D425 PRG:5425 20 A6 9A + bcc NmiHandler_Loop282 ; CPU:$D428 PRG:5428 90 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop281 -; Global: Branch target inside Label: taken when D47A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop281: + jsr Sub_D55D ; CPU:$D42A PRG:542A 20 5D D5 + jmp Sub_D330 ; CPU:$D42D PRG:542D 4C 30 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + lda ZpBD ; CPU:$D430 PRG:5430 A5 BD + bne NmiHandler_Loop285 ; CPU:$D432 PRG:5432 D0 3D + lda $0681 ; CPU:$D434 PRG:5434 AD 81 06 + bne NmiHandler_Loop285 ; CPU:$D437 PRG:5437 D0 38 + ldy ZpE5,x ; CPU:$D439 PRG:5439 B4 E5 + cpy #$18 ; CPU:$D43B PRG:543B C0 18 + bcs NmiHandler_Loop285 ; CPU:$D43D PRG:543D B0 32 + cpy #$15 ; CPU:$D43F PRG:543F C0 15 + bcs NmiHandler_Loop283 ; CPU:$D441 PRG:5441 B0 04 + cpy #$10 ; CPU:$D443 PRG:5443 C0 10 + bcs NmiHandler_Loop285 ; CPU:$D445 PRG:5445 B0 2A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + dey ; CPU:$D447 PRG:5447 88 + lda $05BA,y ; CPU:$D448 PRG:5448 B9 BA 05 + and #$01 ; CPU:$D44B PRG:544B 29 01 + bne NmiHandler_Loop284 ; CPU:$D44D PRG:544D D0 0A + lda SpriteYPosition,x ; CPU:$D44F PRG:544F B5 C8 + cmp #$48 ; CPU:$D451 PRG:5451 C9 48 + bcc NmiHandler_Loop285 ; CPU:$D453 PRG:5453 90 1C + cmp #$50 ; CPU:$D455 PRG:5455 C9 50 + bcc NmiHandler_Loop286 ; CPU:$D457 PRG:5457 90 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + ldy ZpE5,x ; CPU:$D459 PRG:5459 B4 E5 + cpy #$0B ; CPU:$D45B PRG:545B C0 0B + beq NmiHandler_Loop285 ; CPU:$D45D PRG:545D F0 12 + dey ; CPU:$D45F PRG:545F 88 + lda $05BA,y ; CPU:$D460 PRG:5460 B9 BA 05 + and #$02 ; CPU:$D463 PRG:5463 29 02 + bne NmiHandler_Loop285 ; CPU:$D465 PRG:5465 D0 0A + lda SpriteYPosition,x ; CPU:$D467 PRG:5467 B5 C8 + cmp #$A8 ; CPU:$D469 PRG:5469 C9 A8 + bcc NmiHandler_Loop285 ; CPU:$D46B PRG:546B 90 04 + cmp #$B0 ; CPU:$D46D PRG:546D C9 B0 + bcc NmiHandler_Loop286 ; CPU:$D46F PRG:546F 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + jsr Sub_DFF1 ; CPU:$D471 PRG:5471 20 F1 DF + jsr Sub_9B03 ; CPU:$D474 PRG:5474 20 03 9B + jmp Sub_D330 ; CPU:$D477 PRG:5477 4C 30 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: lda ZpE5,x ; CPU:$D47A PRG:547A B5 E5 - jsr Sub_9A0B ; CPU:$D47C PRG:547C 20 0B 9A + jsr Sub_9A0B ; CPU:$D47C PRG:547C 20 0B 9A sec ; CPU:$D47F PRG:547F 38 - lda Zp73 ; CPU:$D480 PRG:5480 A5 73 + lda VramWritePtrLo ; CPU:$D480 PRG:5480 A5 73 sbc $039D,x ; CPU:$D482 PRG:5482 FD 9D 03 - sta Zp73 ; CPU:$D485 PRG:5485 85 73 - lda Zp74 ; CPU:$D487 PRG:5487 A5 74 + sta VramWritePtrLo ; CPU:$D485 PRG:5485 85 73 + lda VramWritePtrHi ; CPU:$D487 PRG:5487 A5 74 sbc $03AE,x ; CPU:$D489 PRG:5489 FD AE 03 - bne NmiHandler_Loop280 ; CPU:$D48C PRG:548C D0 E3 - lda Zp73 ; CPU:$D48E PRG:548E A5 73 + bne NmiHandler_Loop285 ; CPU:$D48C PRG:548C D0 E3 + lda VramWritePtrLo ; CPU:$D48E PRG:548E A5 73 cmp #$20 ; CPU:$D490 PRG:5490 C9 20 - bcc NmiHandler_Loop280 ; CPU:$D492 PRG:5492 90 DD + bcc NmiHandler_Loop285 ; CPU:$D492 PRG:5492 90 DD cmp #$30 ; CPU:$D494 PRG:5494 C9 30 - bcs NmiHandler_Loop280 ; CPU:$D496 PRG:5496 B0 D9 + bcs NmiHandler_Loop285 ; CPU:$D496 PRG:5496 B0 D9 lda #$18 ; CPU:$D498 PRG:5498 A9 18 - jsr Sub_8224 ; CPU:$D49A PRG:549A 20 24 82 + jsr Sub_8224 ; CPU:$D49A PRG:549A 20 24 82 lda #$01 ; CPU:$D49D PRG:549D A9 01 sta ZpBD ; CPU:$D49F PRG:549F 85 BD lda ZpE5,x ; CPU:$D4A1 PRG:54A1 B5 E5 sta ZpEB ; CPU:$D4A3 PRG:54A3 85 EB - lda ZpC8,x ; CPU:$D4A5 PRG:54A5 B5 C8 + lda SpriteYPosition,x ; CPU:$D4A5 PRG:54A5 B5 C8 sta ZpCE ; CPU:$D4A7 PRG:54A7 85 CE - jmp NmiHandler_Loop276 ; CPU:$D4A9 PRG:54A9 4C 2A D4 + jmp NmiHandler_Loop281 ; CPU:$D4A9 PRG:54A9 4C 2A D4 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4AC -; Global: Branch target inside Label: taken when D4AC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D4AC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11230,257 +11535,257 @@ NmiHandler_Loop281: Sub_D4AC: ldx #$00 ; CPU:$D4AC PRG:54AC A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero77 -; Global: Branch target inside Label: taken when D4AE. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero78 +; Global: Branch target inside NmiHandler: taken when OnNonzero78. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero77: +NmiHandler_OnNonzero78: lda #$00 ; CPU:$D4AE PRG:54AE A9 00 sta $0325,x ; CPU:$D4B0 PRG:54B0 9D 25 03 - lda ZpB7,x ; CPU:$D4B3 PRG:54B3 B5 B7 - bmi NmiHandler_Loop282 ; CPU:$D4B5 PRG:54B5 30 0B + lda SpriteIndex,x ; CPU:$D4B3 PRG:54B3 B5 B7 + bmi NmiHandler_Loop287 ; CPU:$D4B5 PRG:54B5 30 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero12 -; Global: Branch target inside Label: taken when D4B7. -; Local: Part of Label. +; Routine: NmiHandler_OnZero13 +; Global: Branch target inside NmiHandler: taken when OnZero13. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero12: +NmiHandler_OnZero13: inx ; CPU:$D4B7 PRG:54B7 E8 cpx #$03 ; CPU:$D4B8 PRG:54B8 E0 03 - bne NmiHandler_OnNonzero77 ; CPU:$D4BA PRG:54BA D0 F2 - jsr Sub_82A3 ; CPU:$D4BC PRG:54BC 20 A3 82 - jmp Sub_D4AC ; CPU:$D4BF PRG:54BF 4C AC D4 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop282 -; Global: Branch target inside Label: taken when D4C2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop282: - cmp #$84 ; CPU:$D4C2 PRG:54C2 C9 84 - bne NmiHandler_Loop283 ; CPU:$D4C4 PRG:54C4 D0 06 - lda #$00 ; CPU:$D4C6 PRG:54C6 A9 00 - sta ZpB7,x ; CPU:$D4C8 PRG:54C8 95 B7 - beq NmiHandler_OnZero12 ; CPU:$D4CA PRG:54CA F0 EB -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop283 -; Global: Branch target inside Label: taken when D4CC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop283: - cmp #$88 ; CPU:$D4CC PRG:54CC C9 88 - beq NmiHandler_Loop284 ; CPU:$D4CE PRG:54CE F0 04 - cmp #$81 ; CPU:$D4D0 PRG:54D0 C9 81 - bne NmiHandler_Loop285 ; CPU:$D4D2 PRG:54D2 D0 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop284 -; Global: Branch target inside Label: taken when D4D4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop284: - lda #$48 ; CPU:$D4D4 PRG:54D4 A9 48 - sta $0314,x ; CPU:$D4D6 PRG:54D6 9D 14 03 - lda #$88 ; CPU:$D4D9 PRG:54D9 A9 88 - sta ZpB7,x ; CPU:$D4DB PRG:54DB 95 B7 - bne NmiHandler_Loop286 ; CPU:$D4DD PRG:54DD D0 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop285 -; Global: Branch target inside Label: taken when D4DF. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop285: - jsr Sub_D570 ; CPU:$D4DF PRG:54DF 20 70 D5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop286 -; Global: Branch target inside Label: taken when D4E2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop286: - lda ZpBE ; CPU:$D4E2 PRG:54E2 A5 BE - and #$43 ; CPU:$D4E4 PRG:54E4 29 43 - beq NmiHandler_Loop288 ; CPU:$D4E6 PRG:54E6 F0 2C - and #$02 ; CPU:$D4E8 PRG:54E8 29 02 - beq NmiHandler_Loop292 ; CPU:$D4EA PRG:54EA F0 5D - lda $030A ; CPU:$D4EC PRG:54EC AD 0A 03 - sec ; CPU:$D4EF PRG:54EF 38 - sbc $0303,x ; CPU:$D4F0 PRG:54F0 FD 03 03 - cmp #$1C ; CPU:$D4F3 PRG:54F3 C9 1C - bcs NmiHandler_Loop292 ; CPU:$D4F5 PRG:54F5 B0 52 - lda ZpBE ; CPU:$D4F7 PRG:54F7 A5 BE - and #$08 ; CPU:$D4F9 PRG:54F9 29 08 - beq NmiHandler_Loop287 ; CPU:$D4FB PRG:54FB F0 08 - lda ZpCF ; CPU:$D4FD PRG:54FD A5 CF - sec ; CPU:$D4FF PRG:54FF 38 - sbc ZpC8,x ; CPU:$D500 PRG:5500 F5 C8 - jmp Sub_D50A ; CPU:$D502 PRG:5502 4C 0A D5 + bne NmiHandler_OnNonzero78 ; CPU:$D4BA PRG:54BA D0 F2 + jsr Sub_82A3 ; CPU:$D4BC PRG:54BC 20 A3 82 + jmp Sub_D4AC ; CPU:$D4BF PRG:54BF 4C AC D4 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop287 -; Global: Branch target inside Label: taken when D505. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop287: - lda ZpC8,x ; CPU:$D505 PRG:5505 B5 C8 + cmp #$84 ; CPU:$D4C2 PRG:54C2 C9 84 + bne NmiHandler_Loop288 ; CPU:$D4C4 PRG:54C4 D0 06 + lda #$00 ; CPU:$D4C6 PRG:54C6 A9 00 + sta SpriteIndex,x ; CPU:$D4C8 PRG:54C8 95 B7 + beq NmiHandler_OnZero13 ; CPU:$D4CA PRG:54CA F0 EB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + cmp #$88 ; CPU:$D4CC PRG:54CC C9 88 + beq NmiHandler_Loop289 ; CPU:$D4CE PRG:54CE F0 04 + cmp #$81 ; CPU:$D4D0 PRG:54D0 C9 81 + bne NmiHandler_Loop290 ; CPU:$D4D2 PRG:54D2 D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + lda #$48 ; CPU:$D4D4 PRG:54D4 A9 48 + sta $0314,x ; CPU:$D4D6 PRG:54D6 9D 14 03 + lda #$88 ; CPU:$D4D9 PRG:54D9 A9 88 + sta SpriteIndex,x ; CPU:$D4DB PRG:54DB 95 B7 + bne NmiHandler_Loop291 ; CPU:$D4DD PRG:54DD D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + jsr Sub_D570 ; CPU:$D4DF PRG:54DF 20 70 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + lda ZpBE ; CPU:$D4E2 PRG:54E2 A5 BE + and #$43 ; CPU:$D4E4 PRG:54E4 29 43 + beq NmiHandler_Loop293 ; CPU:$D4E6 PRG:54E6 F0 2C + and #$02 ; CPU:$D4E8 PRG:54E8 29 02 + beq NmiHandler_Loop297 ; CPU:$D4EA PRG:54EA F0 5D + lda $030A ; CPU:$D4EC PRG:54EC AD 0A 03 + sec ; CPU:$D4EF PRG:54EF 38 + sbc $0303,x ; CPU:$D4F0 PRG:54F0 FD 03 03 + cmp #$1C ; CPU:$D4F3 PRG:54F3 C9 1C + bcs NmiHandler_Loop297 ; CPU:$D4F5 PRG:54F5 B0 52 + lda ZpBE ; CPU:$D4F7 PRG:54F7 A5 BE + and #$08 ; CPU:$D4F9 PRG:54F9 29 08 + beq NmiHandler_Loop292 ; CPU:$D4FB PRG:54FB F0 08 + lda ZpCF ; CPU:$D4FD PRG:54FD A5 CF + sec ; CPU:$D4FF PRG:54FF 38 + sbc SpriteYPosition,x ; CPU:$D500 PRG:5500 F5 C8 + jmp Sub_D50A ; CPU:$D502 PRG:5502 4C 0A D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + lda SpriteYPosition,x ; CPU:$D505 PRG:5505 B5 C8 sec ; CPU:$D507 PRG:5507 38 sbc ZpCF ; CPU:$D508 PRG:5508 E5 CF ; ----------------------------------------------------------------------------- ; Routine: Sub_D50A -; Global: Branch target inside Label: taken when D50A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D50A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D50A: cmp #$08 ; CPU:$D50A PRG:550A C9 08 - bcc NmiHandler_Loop292 ; CPU:$D50C PRG:550C 90 3B + bcc NmiHandler_Loop297 ; CPU:$D50C PRG:550C 90 3B cmp #$10 ; CPU:$D50E PRG:550E C9 10 - bcs NmiHandler_Loop292 ; CPU:$D510 PRG:5510 B0 37 - bcc NmiHandler_Loop293 ; CPU:$D512 PRG:5512 90 3A -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop288 -; Global: Branch target inside Label: taken when D514. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop288: - lda $033D ; CPU:$D514 PRG:5514 AD 3D 03 - and #$01 ; CPU:$D517 PRG:5517 29 01 - beq NmiHandler_Loop289 ; CPU:$D519 PRG:5519 F0 0D - lda $030A ; CPU:$D51B PRG:551B AD 0A 03 - sec ; CPU:$D51E PRG:551E 38 - sbc $0303,x ; CPU:$D51F PRG:551F FD 03 03 - cmp #$0E ; CPU:$D522 PRG:5522 C9 0E - bcs NmiHandler_Loop292 ; CPU:$D524 PRG:5524 B0 23 - bcc NmiHandler_Loop290 ; CPU:$D526 PRG:5526 90 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop289 -; Global: Branch target inside Label: taken when D528. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop289: - lda $030A ; CPU:$D528 PRG:5528 AD 0A 03 - sec ; CPU:$D52B PRG:552B 38 - sbc $0303,x ; CPU:$D52C PRG:552C FD 03 03 - cmp #$18 ; CPU:$D52F PRG:552F C9 18 - bcs NmiHandler_Loop292 ; CPU:$D531 PRG:5531 B0 16 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop290 -; Global: Branch target inside Label: taken when D533. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop290: - lda ZpCF ; CPU:$D533 PRG:5533 A5 CF - sec ; CPU:$D535 PRG:5535 38 - sbc ZpC8,x ; CPU:$D536 PRG:5536 F5 C8 - cmp #$08 ; CPU:$D538 PRG:5538 C9 08 - bcc NmiHandler_Loop291 ; CPU:$D53A PRG:553A 90 04 - cmp #$F8 ; CPU:$D53C PRG:553C C9 F8 - bcc NmiHandler_Loop292 ; CPU:$D53E PRG:553E 90 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop291 -; Global: Branch target inside Label: taken when D540. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop291: - lda ZpBE ; CPU:$D540 PRG:5540 A5 BE - ora #$01 ; CPU:$D542 PRG:5542 09 01 - sta ZpBE ; CPU:$D544 PRG:5544 85 BE - jmp NmiHandler_Loop293 ; CPU:$D546 PRG:5546 4C 4E D5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop292 -; Global: Branch target inside Label: taken when D549. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop292: - jsr Sub_9AA6 ; CPU:$D549 PRG:5549 20 A6 9A - bcc NmiHandler_Loop294 ; CPU:$D54C PRG:554C 90 06 + bcs NmiHandler_Loop297 ; CPU:$D510 PRG:5510 B0 37 + bcc NmiHandler_Loop298 ; CPU:$D512 PRG:5512 90 3A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop293 -; Global: Branch target inside Label: taken when D54E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop293: - jsr Sub_D55D ; CPU:$D54E PRG:554E 20 5D D5 - jmp NmiHandler_OnZero12 ; CPU:$D551 PRG:5551 4C B7 D4 + lda $033D ; CPU:$D514 PRG:5514 AD 3D 03 + and #$01 ; CPU:$D517 PRG:5517 29 01 + beq NmiHandler_Loop294 ; CPU:$D519 PRG:5519 F0 0D + lda $030A ; CPU:$D51B PRG:551B AD 0A 03 + sec ; CPU:$D51E PRG:551E 38 + sbc $0303,x ; CPU:$D51F PRG:551F FD 03 03 + cmp #$0E ; CPU:$D522 PRG:5522 C9 0E + bcs NmiHandler_Loop297 ; CPU:$D524 PRG:5524 B0 23 + bcc NmiHandler_Loop295 ; CPU:$D526 PRG:5526 90 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop294 -; Global: Branch target inside Label: taken when D554. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop294: - jsr Sub_DFF1 ; CPU:$D554 PRG:5554 20 F1 DF - jsr Sub_9B03 ; CPU:$D557 PRG:5557 20 03 9B - jmp NmiHandler_OnZero12 ; CPU:$D55A PRG:555A 4C B7 D4 + lda $030A ; CPU:$D528 PRG:5528 AD 0A 03 + sec ; CPU:$D52B PRG:552B 38 + sbc $0303,x ; CPU:$D52C PRG:552C FD 03 03 + cmp #$18 ; CPU:$D52F PRG:552F C9 18 + bcs NmiHandler_Loop297 ; CPU:$D531 PRG:5531 B0 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + lda ZpCF ; CPU:$D533 PRG:5533 A5 CF + sec ; CPU:$D535 PRG:5535 38 + sbc SpriteYPosition,x ; CPU:$D536 PRG:5536 F5 C8 + cmp #$08 ; CPU:$D538 PRG:5538 C9 08 + bcc NmiHandler_Loop296 ; CPU:$D53A PRG:553A 90 04 + cmp #$F8 ; CPU:$D53C PRG:553C C9 F8 + bcc NmiHandler_Loop297 ; CPU:$D53E PRG:553E 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + lda ZpBE ; CPU:$D540 PRG:5540 A5 BE + ora #$01 ; CPU:$D542 PRG:5542 09 01 + sta ZpBE ; CPU:$D544 PRG:5544 85 BE + jmp NmiHandler_Loop298 ; CPU:$D546 PRG:5546 4C 4E D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + jsr Sub_9AA6 ; CPU:$D549 PRG:5549 20 A6 9A + bcc NmiHandler_Loop299 ; CPU:$D54C PRG:554C 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + jsr Sub_D55D ; CPU:$D54E PRG:554E 20 5D D5 + jmp NmiHandler_OnZero13 ; CPU:$D551 PRG:5551 4C B7 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + jsr Sub_DFF1 ; CPU:$D554 PRG:5554 20 F1 DF + jsr Sub_9B03 ; CPU:$D557 PRG:5557 20 03 9B + jmp NmiHandler_OnZero13 ; CPU:$D55A PRG:555A 4C B7 D4 ; ----------------------------------------------------------------------------- ; Routine: Sub_D55D -; Global: Branch target inside Label: taken when D55D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D55D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D55D: lda ZpD9,x ; CPU:$D55D PRG:555D B5 D9 - bpl NmiHandler_Loop295 ; CPU:$D55F PRG:555F 10 05 + bpl NmiHandler_Loop300 ; CPU:$D55F PRG:555F 10 05 lda #$47 ; CPU:$D561 PRG:5561 A9 47 - jmp Sub_D568 ; CPU:$D563 PRG:5563 4C 68 D5 + jmp Sub_D568 ; CPU:$D563 PRG:5563 4C 68 D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop295 -; Global: Branch target inside Label: taken when D566. -; Local: Part of Label. +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop295: +NmiHandler_Loop300: lda #$46 ; CPU:$D566 PRG:5566 A9 46 ; ----------------------------------------------------------------------------- ; Routine: Sub_D568 -; Global: Branch target inside Label: taken when D568. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D568. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11488,38 +11793,38 @@ NmiHandler_Loop295: Sub_D568: sta $0314,x ; CPU:$D568 PRG:5568 9D 14 03 lda #$84 ; CPU:$D56B PRG:556B A9 84 - sta ZpB7,x ; CPU:$D56D PRG:556D 95 B7 + sta SpriteIndex,x ; CPU:$D56D PRG:556D 95 B7 rts ; CPU:$D56F PRG:556F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D570 -; Global: Branch target inside Label: taken when D570. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D570. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D570: - jsr Sub_9B03 ; CPU:$D570 PRG:5570 20 03 9B + jsr Sub_9B03 ; CPU:$D570 PRG:5570 20 03 9B lda #$81 ; CPU:$D573 PRG:5573 A9 81 - sta ZpB7,x ; CPU:$D575 PRG:5575 95 B7 + sta SpriteIndex,x ; CPU:$D575 PRG:5575 95 B7 lda ZpD9,x ; CPU:$D577 PRG:5577 B5 D9 - bpl NmiHandler_Loop296 ; CPU:$D579 PRG:5579 10 05 + bpl NmiHandler_Loop301 ; CPU:$D579 PRG:5579 10 05 lda #$45 ; CPU:$D57B PRG:557B A9 45 - jmp Sub_D582 ; CPU:$D57D PRG:557D 4C 82 D5 + jmp Sub_D582 ; CPU:$D57D PRG:557D 4C 82 D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop296 -; Global: Branch target inside Label: taken when D580. -; Local: Part of Label. +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop296: +NmiHandler_Loop301: lda #$44 ; CPU:$D580 PRG:5580 A9 44 ; ----------------------------------------------------------------------------- ; Routine: Sub_D582 -; Global: Branch target inside Label: taken when D582. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D582. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11528,7 +11833,8 @@ Sub_D582: sta $0314,x ; CPU:$D582 PRG:5582 9D 14 03 rts ; CPU:$D585 PRG:5585 60 ; ---- data $D586-$D599 (20 bytes) ---- - .byte $00, $48, $02, $FF, $01, $45, $02, $FF, $01, $44, $02, $FF, $01, $47, $02, $FF ; CPU:$D586 PRG:5586 00 48 02 FF 01 45 02 FF 01 44 02 FF 01 47 02 FF +EnemySpawnRecordTable: + .byte $00, $48, $02, $FF, $01, $45, $02, $FF, $01, $44, $02, $FF, $01, $47, $02, $FF ; CPU:$D586 PRG:1586 00 48 02 FF 01 45 02 FF 01 44 02 FF 01 47 02 FF .byte $01, $46, $02, $FF ; CPU:$D596 PRG:5596 01 46 02 FF ; ----------------------------------------------------------------------------- ; Routine: Label_D59A @@ -11540,7 +11846,7 @@ Sub_D582: ; ----------------------------------------------------------------------------- Label_D59A: ldx #$06 ; CPU:$D59A PRG:559A A2 06 - jsr Sub_99E7 ; CPU:$D59C PRG:559C 20 E7 99 + jsr Sub_99E7 ; CPU:$D59C PRG:559C 20 E7 99 lda $039D,x ; CPU:$D59F PRG:559F BD 9D 03 sec ; CPU:$D5A2 PRG:55A2 38 sbc #$20 ; CPU:$D5A3 PRG:55A3 E9 20 @@ -11550,30 +11856,30 @@ Label_D59A: sta $03AE,x ; CPU:$D5AD PRG:55AD 9D AE 03 ldy ZpE5,x ; CPU:$D5B0 PRG:55B0 B4 E5 dey ; CPU:$D5B2 PRG:55B2 88 - lda ZpC8,x ; CPU:$D5B3 PRG:55B3 B5 C8 - bmi NmiHandler_Loop297 ; CPU:$D5B5 PRG:55B5 30 0B + lda SpriteYPosition,x ; CPU:$D5B3 PRG:55B3 B5 C8 + bmi NmiHandler_Loop302 ; CPU:$D5B5 PRG:55B5 30 0B lda $05BA,y ; CPU:$D5B7 PRG:55B7 B9 BA 05 ora #$01 ; CPU:$D5BA PRG:55BA 09 01 pha ; CPU:$D5BC PRG:55BC 48 lda #$4C ; CPU:$D5BD PRG:55BD A9 4C - jmp Sub_D5CA ; CPU:$D5BF PRG:55BF 4C CA D5 + jmp Sub_D5CA ; CPU:$D5BF PRG:55BF 4C CA D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop297 -; Global: Branch target inside Label: taken when D5C2. -; Local: Part of Label. +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop297: +NmiHandler_Loop302: lda $05BA,y ; CPU:$D5C2 PRG:55C2 B9 BA 05 ora #$02 ; CPU:$D5C5 PRG:55C5 09 02 pha ; CPU:$D5C7 PRG:55C7 48 lda #$AC ; CPU:$D5C8 PRG:55C8 A9 AC ; ----------------------------------------------------------------------------- ; Routine: Sub_D5CA -; Global: Branch target inside Label: taken when D5CA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D5CA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11582,154 +11888,154 @@ Sub_D5CA: sta ZpCE ; CPU:$D5CA PRG:55CA 85 CE pla ; CPU:$D5CC PRG:55CC 68 sta $05BA,y ; CPU:$D5CD PRG:55CD 99 BA 05 - jsr Sub_D0EE ; CPU:$D5D0 PRG:55D0 20 EE D0 + jsr Sub_D0EE ; CPU:$D5D0 PRG:55D0 20 EE D0 lda ZpF7 ; CPU:$D5D3 PRG:55D3 A5 F7 lsr a ; CPU:$D5D5 PRG:55D5 4A - sta Zp70 ; CPU:$D5D6 PRG:55D6 85 70 + sta PlayerSpriteY ; CPU:$D5D6 PRG:55D6 85 70 lda #$96 ; CPU:$D5D8 PRG:55D8 A9 96 sec ; CPU:$D5DA PRG:55DA 38 - sbc Zp70 ; CPU:$D5DB PRG:55DB E5 70 + sbc PlayerSpriteY ; CPU:$D5DB PRG:55DB E5 70 sta $0682 ; CPU:$D5DD PRG:55DD 8D 82 06 lda #$FF ; CPU:$D5E0 PRG:55E0 A9 FF sta $0681 ; CPU:$D5E2 PRG:55E2 8D 81 06 lda #$B4 ; CPU:$D5E5 PRG:55E5 A9 B4 - sta Zp73 ; CPU:$D5E7 PRG:55E7 85 73 + sta VramWritePtrLo ; CPU:$D5E7 PRG:55E7 85 73 lda #$D6 ; CPU:$D5E9 PRG:55E9 A9 D6 - sta Zp74 ; CPU:$D5EB PRG:55EB 85 74 - jsr Sub_8334 ; CPU:$D5ED PRG:55ED 20 34 83 + sta VramWritePtrHi ; CPU:$D5EB PRG:55EB 85 74 + jsr Sub_8334 ; CPU:$D5ED PRG:55ED 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear18 -; Global: Branch target inside Label: taken when D5F0. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear21 +; Global: Branch target inside NmiHandler: taken when OnCarryClear21. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear18: - jsr Sub_9B03 ; CPU:$D5F0 PRG:55F0 20 03 9B +NmiHandler_OnCarryClear21: + jsr Sub_9B03 ; CPU:$D5F0 PRG:55F0 20 03 9B lda #$80 ; CPU:$D5F3 PRG:55F3 A9 80 - sta ZpB7,x ; CPU:$D5F5 PRG:55F5 95 B7 - jsr NmiHandler_Loop17 ; CPU:$D5F7 PRG:55F7 20 62 83 - bcc NmiHandler_OnCarryClear18 ; CPU:$D5FA PRG:55FA 90 F4 - jsr Sub_9C6E ; CPU:$D5FC PRG:55FC 20 6E 9C + sta SpriteIndex,x ; CPU:$D5F5 PRG:55F5 95 B7 + jsr NmiHandler_Loop17 ; CPU:$D5F7 PRG:55F7 20 62 83 + bcc NmiHandler_OnCarryClear21 ; CPU:$D5FA PRG:55FA 90 F4 + jsr Sub_9C6E ; CPU:$D5FC PRG:55FC 20 6E 9C lda #$B8 ; CPU:$D5FF PRG:55FF A9 B8 - sta Zp73 ; CPU:$D601 PRG:5601 85 73 + sta VramWritePtrLo ; CPU:$D601 PRG:5601 85 73 lda #$D6 ; CPU:$D603 PRG:5603 A9 D6 - sta Zp74 ; CPU:$D605 PRG:5605 85 74 - jsr Sub_8334 ; CPU:$D607 PRG:5607 20 34 83 + sta VramWritePtrHi ; CPU:$D605 PRG:5605 85 74 + jsr Sub_8334 ; CPU:$D607 PRG:5607 20 34 83 lda #$20 ; CPU:$D60A PRG:560A A9 20 sta $03BA,x ; CPU:$D60C PRG:560C 9D BA 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero78 -; Global: Branch target inside Label: taken when D60F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero78: - inc $039D,x ; CPU:$D60F PRG:560F FE 9D 03 - bne NmiHandler_Loop298 ; CPU:$D612 PRG:5612 D0 03 - inc $03AE,x ; CPU:$D614 PRG:5614 FE AE 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop298 -; Global: Branch target inside Label: taken when D617. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop298: - jsr Sub_9B03 ; CPU:$D617 PRG:5617 20 03 9B - ldy #$08 ; CPU:$D61A PRG:561A A0 08 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero79 -; Global: Branch target inside Label: taken when D61C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero79. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero79: - lda a:ZpB7,y ; CPU:$D61C PRG:561C B9 B7 00 - bpl NmiHandler_Loop300 ; CPU:$D61F PRG:561F 10 39 - and #$01 ; CPU:$D621 PRG:5621 29 01 - bne NmiHandler_Loop300 ; CPU:$D623 PRG:5623 D0 35 - lda ZpE5,x ; CPU:$D625 PRG:5625 B5 E5 - cmp a:ZpE5,y ; CPU:$D627 PRG:5627 D9 E5 00 - bne NmiHandler_Loop300 ; CPU:$D62A PRG:562A D0 2E - lda ZpC8,x ; CPU:$D62C PRG:562C B5 C8 - sec ; CPU:$D62E PRG:562E 38 - sbc a:ZpC8,y ; CPU:$D62F PRG:562F F9 C8 00 - beq NmiHandler_Loop299 ; CPU:$D632 PRG:5632 F0 08 - cmp #$0D ; CPU:$D634 PRG:5634 C9 0D - bcc NmiHandler_Loop299 ; CPU:$D636 PRG:5636 90 04 - cmp #$F3 ; CPU:$D638 PRG:5638 C9 F3 - bcc NmiHandler_Loop300 ; CPU:$D63A PRG:563A 90 1E + inc $039D,x ; CPU:$D60F PRG:560F FE 9D 03 + bne NmiHandler_Loop303 ; CPU:$D612 PRG:5612 D0 03 + inc $03AE,x ; CPU:$D614 PRG:5614 FE AE 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop299 -; Global: Branch target inside Label: taken when D63C. -; Local: Part of Label. +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop299: +NmiHandler_Loop303: + jsr Sub_9B03 ; CPU:$D617 PRG:5617 20 03 9B + ldy #$08 ; CPU:$D61A PRG:561A A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero80 +; Global: Branch target inside NmiHandler: taken when OnNonzero80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero80: + lda a:ZpB7,y ; CPU:$D61C PRG:561C B9 B7 00 + bpl NmiHandler_Loop305 ; CPU:$D61F PRG:561F 10 39 + and #$01 ; CPU:$D621 PRG:5621 29 01 + bne NmiHandler_Loop305 ; CPU:$D623 PRG:5623 D0 35 + lda ZpE5,x ; CPU:$D625 PRG:5625 B5 E5 + cmp a:ZpE5,y ; CPU:$D627 PRG:5627 D9 E5 00 + bne NmiHandler_Loop305 ; CPU:$D62A PRG:562A D0 2E + lda SpriteYPosition,x ; CPU:$D62C PRG:562C B5 C8 + sec ; CPU:$D62E PRG:562E 38 + sbc a:ZpC8,y ; CPU:$D62F PRG:562F F9 C8 00 + beq NmiHandler_Loop304 ; CPU:$D632 PRG:5632 F0 08 + cmp #$0D ; CPU:$D634 PRG:5634 C9 0D + bcc NmiHandler_Loop304 ; CPU:$D636 PRG:5636 90 04 + cmp #$F3 ; CPU:$D638 PRG:5638 C9 F3 + bcc NmiHandler_Loop305 ; CPU:$D63A PRG:563A 90 1E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: lda $0303,y ; CPU:$D63C PRG:563C B9 03 03 sec ; CPU:$D63F PRG:563F 38 sbc $0303,x ; CPU:$D640 PRG:5640 FD 03 03 cmp #$18 ; CPU:$D643 PRG:5643 C9 18 - bcs NmiHandler_Loop300 ; CPU:$D645 PRG:5645 B0 13 + bcs NmiHandler_Loop305 ; CPU:$D645 PRG:5645 B0 13 lda a:ZpB7,y ; CPU:$D647 PRG:5647 B9 B7 00 ora #$01 ; CPU:$D64A PRG:564A 09 01 sta a:ZpB7,y ; CPU:$D64C PRG:564C 99 B7 00 lda #$00 ; CPU:$D64F PRG:564F A9 00 - sta Zp73 ; CPU:$D651 PRG:5651 85 73 + sta VramWritePtrLo ; CPU:$D651 PRG:5651 85 73 lda #$03 ; CPU:$D653 PRG:5653 A9 03 - sta Zp74 ; CPU:$D655 PRG:5655 85 74 - jsr Sub_C1D5 ; CPU:$D657 PRG:5657 20 D5 C1 + sta VramWritePtrHi ; CPU:$D655 PRG:5655 85 74 + jsr Sub_C1D5 ; CPU:$D657 PRG:5657 20 D5 C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop300 -; Global: Branch target inside Label: taken when D65A. -; Local: Part of Label. +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop300: +NmiHandler_Loop305: iny ; CPU:$D65A PRG:565A C8 cpy #$0C ; CPU:$D65B PRG:565B C0 0C - bne NmiHandler_OnNonzero79 ; CPU:$D65D PRG:565D D0 BD + bne NmiHandler_OnNonzero80 ; CPU:$D65D PRG:565D D0 BD lda #$80 ; CPU:$D65F PRG:565F A9 80 - sta ZpB7,x ; CPU:$D661 PRG:5661 95 B7 - jsr NmiHandler_Loop17 ; CPU:$D663 PRG:5663 20 62 83 + sta SpriteIndex,x ; CPU:$D661 PRG:5661 95 B7 + jsr NmiHandler_Loop17 ; CPU:$D663 PRG:5663 20 62 83 dec $03BA,x ; CPU:$D666 PRG:5666 DE BA 03 - bne NmiHandler_OnNonzero78 ; CPU:$D669 PRG:5669 D0 A4 - jsr Sub_D69C ; CPU:$D66B PRG:566B 20 9C D6 + bne NmiHandler_OnNonzero79 ; CPU:$D669 PRG:5669 D0 A4 + jsr Sub_D69C ; CPU:$D66B PRG:566B 20 9C D6 lda #$BE ; CPU:$D66E PRG:566E A9 BE clc ; CPU:$D670 PRG:5670 18 - adc Zp73 ; CPU:$D671 PRG:5671 65 73 - sta Zp73 ; CPU:$D673 PRG:5673 85 73 + adc VramWritePtrLo ; CPU:$D671 PRG:5671 65 73 + sta VramWritePtrLo ; CPU:$D673 PRG:5673 85 73 lda #$D6 ; CPU:$D675 PRG:5675 A9 D6 adc #$00 ; CPU:$D677 PRG:5677 69 00 - sta Zp74 ; CPU:$D679 PRG:5679 85 74 - jsr Sub_9777 ; CPU:$D67B PRG:567B 20 77 97 + sta VramWritePtrHi ; CPU:$D679 PRG:5679 85 74 + jsr Sub_9777 ; CPU:$D67B PRG:567B 20 77 97 lda #$FF ; CPU:$D67E PRG:567E A9 FF sta $0681 ; CPU:$D680 PRG:5680 8D 81 06 lda #$78 ; CPU:$D683 PRG:5683 A9 78 sta $0682 ; CPU:$D685 PRG:5685 8D 82 06 lda #$1F ; CPU:$D688 PRG:5688 A9 1F - jsr Sub_9C73 ; CPU:$D68A PRG:568A 20 73 9C - jsr Sub_F6DB ; CPU:$D68D PRG:568D 20 DB F6 + jsr Sub_9C73 ; CPU:$D68A PRG:568A 20 73 9C + jsr Sub_F6DB ; CPU:$D68D PRG:568D 20 DB F6 lda #$20 ; CPU:$D690 PRG:5690 A9 20 - jsr Sub_F6DB ; CPU:$D692 PRG:5692 20 DB F6 + jsr Sub_F6DB ; CPU:$D692 PRG:5692 20 DB F6 lda #$00 ; CPU:$D695 PRG:5695 A9 00 - sta ZpB7,x ; CPU:$D697 PRG:5697 95 B7 - jsr Sub_8266 ; CPU:$D699 PRG:5699 20 66 82 + sta SpriteIndex,x ; CPU:$D697 PRG:5697 95 B7 + jsr Sub_8266 ; CPU:$D699 PRG:5699 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_D69C -; Global: Branch target inside Label: taken when D69C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D69C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11737,18 +12043,19 @@ NmiHandler_Loop300: Sub_D69C: lda $058E ; CPU:$D69C PRG:569C AD 8E 05 and #$03 ; CPU:$D69F PRG:569F 29 03 - sta Zp74 ; CPU:$D6A1 PRG:56A1 85 74 + sta VramWritePtrHi ; CPU:$D6A1 PRG:56A1 85 74 lda #$00 ; CPU:$D6A3 PRG:56A3 A9 00 - sta Zp73 ; CPU:$D6A5 PRG:56A5 85 73 - lsr Zp74 ; CPU:$D6A7 PRG:56A7 46 74 - ror Zp73 ; CPU:$D6A9 PRG:56A9 66 73 - lsr Zp74 ; CPU:$D6AB PRG:56AB 46 74 - ror Zp73 ; CPU:$D6AD PRG:56AD 66 73 - lsr Zp74 ; CPU:$D6AF PRG:56AF 46 74 - ror Zp73 ; CPU:$D6B1 PRG:56B1 66 73 + sta VramWritePtrLo ; CPU:$D6A5 PRG:56A5 85 73 + lsr VramWritePtrHi ; CPU:$D6A7 PRG:56A7 46 74 + ror VramWritePtrLo ; CPU:$D6A9 PRG:56A9 66 73 + lsr VramWritePtrHi ; CPU:$D6AB PRG:56AB 46 74 + ror VramWritePtrLo ; CPU:$D6AD PRG:56AD 66 73 + lsr VramWritePtrHi ; CPU:$D6AF PRG:56AF 46 74 + ror VramWritePtrLo ; CPU:$D6B1 PRG:56B1 66 73 rts ; CPU:$D6B3 PRG:56B3 60 ; ---- data $D6B4-$D73D (138 bytes) ---- - .byte $01, $4B, $03, $FF, $00, $4C, $03, $4D, $03, $FF, $0F, $20, $03, $0F, $0F, $20 ; CPU:$D6B4 PRG:56B4 01 4B 03 FF 00 4C 03 4D 03 FF 0F 20 03 0F 0F 20 +EnemyPaletteRecordTable: + .byte $01, $4B, $03, $FF, $00, $4C, $03, $4D, $03, $FF, $0F, $20, $03, $0F, $0F, $20 ; CPU:$D6B4 PRG:16B4 01 4B 03 FF 00 4C 03 4D 03 FF 0F 20 03 0F 0F 20 .byte $03, $0F, $0F, $35, $03, $0F, $0F, $20, $22, $0F, $0F, $36, $17, $07, $0F, $36 ; CPU:$D6C4 PRG:56C4 03 0F 0F 35 03 0F 0F 20 22 0F 0F 36 17 07 0F 36 .byte $17, $0F, $0F, $0F, $30, $02, $0F, $0F, $30, $16, $0F, $20, $03, $0F, $0F, $20 ; CPU:$D6D4 PRG:56D4 17 0F 0F 0F 30 02 0F 0F 30 16 0F 20 03 0F 0F 20 .byte $03, $0F, $0F, $3C, $03, $0F, $0F, $20, $22, $0F, $0F, $36, $17, $07, $0F, $36 ; CPU:$D6E4 PRG:56E4 03 0F 0F 3C 03 0F 0F 20 22 0F 0F 36 17 07 0F 36 @@ -11769,322 +12076,322 @@ Label_D73E: ldx #$07 ; CPU:$D73E PRG:573E A2 07 lda #$00 ; CPU:$D740 PRG:5740 A9 00 sta $033D ; CPU:$D742 PRG:5742 8D 3D 03 - jsr Sub_99E7 ; CPU:$D745 PRG:5745 20 E7 99 - jsr Sub_D920 ; CPU:$D748 PRG:5748 20 20 D9 + jsr Sub_99E7 ; CPU:$D745 PRG:5745 20 E7 99 + jsr Sub_D920 ; CPU:$D748 PRG:5748 20 20 D9 lda ZpBE ; CPU:$D74B PRG:574B A5 BE ora #$80 ; CPU:$D74D PRG:574D 09 80 and #$8C ; CPU:$D74F PRG:574F 29 8C sta ZpBE ; CPU:$D751 PRG:5751 85 BE and #$04 ; CPU:$D753 PRG:5753 29 04 - beq NmiHandler_Loop301 ; CPU:$D755 PRG:5755 F0 03 - jmp Sub_DAE7 ; CPU:$D757 PRG:5757 4C E7 DA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop301 -; Global: Branch target inside Label: taken when D75A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop301: - jmp Sub_D907 ; CPU:$D75A PRG:575A 4C 07 D9 -; ----------------------------------------------------------------------------- -; Routine: Sub_D75D -; Global: Branch target inside Label: taken when D75D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_D75D: - jsr Sub_9BBB ; CPU:$D75D PRG:575D 20 BB 9B - bcc NmiHandler_Loop302 ; CPU:$D760 PRG:5760 90 03 - jmp Sub_E23A ; CPU:$D762 PRG:5762 4C 3A E2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop302 -; Global: Branch target inside Label: taken when D765. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop302: - lda ZpCF ; CPU:$D765 PRG:5765 A5 CF - jsr Sub_9805 ; CPU:$D767 PRG:5767 20 05 98 - bcc NmiHandler_Loop305 ; CPU:$D76A PRG:576A 90 23 - jsr Sub_9891 ; CPU:$D76C PRG:576C 20 91 98 - bcc NmiHandler_Loop303 ; CPU:$D76F PRG:576F 90 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero13 -; Global: Branch target inside Label: taken when D771. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero13: - jsr Sub_DA1A ; CPU:$D771 PRG:5771 20 1A DA - jsr Sub_9C7D ; CPU:$D774 PRG:5774 20 7D 9C - jmp Sub_DAE7 ; CPU:$D777 PRG:5777 4C E7 DA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop303 -; Global: Branch target inside Label: taken when D77A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop303: - cmp #$00 ; CPU:$D77A PRG:577A C9 00 - beq NmiHandler_Loop304 ; CPU:$D77C PRG:577C F0 04 - lda #$00 ; CPU:$D77E PRG:577E A9 00 - beq NmiHandler_OnZero13 ; CPU:$D780 PRG:5780 F0 EF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop304 -; Global: Branch target inside Label: taken when D782. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop304: - ldy $03DE ; CPU:$D782 PRG:5782 AC DE 03 - lda $043C,y ; CPU:$D785 PRG:5785 B9 3C 04 - cmp ZpEC ; CPU:$D788 PRG:5788 C5 EC - beq NmiHandler_Loop305 ; CPU:$D78A PRG:578A F0 03 - jmp Sub_E174 ; CPU:$D78C PRG:578C 4C 74 E1 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop305 -; Global: Branch target inside Label: taken when D78F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop305: - jsr Sub_E077 ; CPU:$D78F PRG:578F 20 77 E0 - jsr Sub_E2D2 ; CPU:$D792 PRG:5792 20 D2 E2 - beq NmiHandler_Loop306 ; CPU:$D795 PRG:5795 F0 03 - jmp Sub_E0FD ; CPU:$D797 PRG:5797 4C FD E0 + beq NmiHandler_Loop306 ; CPU:$D755 PRG:5755 F0 03 + jmp Sub_DAE7 ; CPU:$D757 PRG:5757 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop306 -; Global: Branch target inside Label: taken when D79A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop306: - jsr Sub_DE06 ; CPU:$D79A PRG:579A 20 06 DE - jsr Sub_E4E2 ; CPU:$D79D PRG:579D 20 E2 E4 - bcc NmiHandler_Loop307 ; CPU:$D7A0 PRG:57A0 90 03 - jmp Sub_DC05 ; CPU:$D7A2 PRG:57A2 4C 05 DC + jmp Sub_D907 ; CPU:$D75A PRG:575A 4C 07 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_D75D +; Global: Branch target inside Sub: taken when D75D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D75D: + jsr Sub_9BBB ; CPU:$D75D PRG:575D 20 BB 9B + bcc NmiHandler_Loop307 ; CPU:$D760 PRG:5760 90 03 + jmp Sub_E23A ; CPU:$D762 PRG:5762 4C 3A E2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop307 -; Global: Branch target inside Label: taken when D7A5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop307: - lda $03EA ; CPU:$D7A5 PRG:57A5 AD EA 03 - cmp #$02 ; CPU:$D7A8 PRG:57A8 C9 02 - bne NmiHandler_Loop308 ; CPU:$D7AA PRG:57AA D0 03 - jmp Sub_DDAC ; CPU:$D7AC PRG:57AC 4C AC DD + lda ZpCF ; CPU:$D765 PRG:5765 A5 CF + jsr Sub_9805 ; CPU:$D767 PRG:5767 20 05 98 + bcc NmiHandler_Loop310 ; CPU:$D76A PRG:576A 90 23 + jsr Sub_9891 ; CPU:$D76C PRG:576C 20 91 98 + bcc NmiHandler_Loop308 ; CPU:$D76F PRG:576F 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero14 +; Global: Branch target inside NmiHandler: taken when OnZero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero14: + jsr Sub_DA1A ; CPU:$D771 PRG:5771 20 1A DA + jsr Sub_9C7D ; CPU:$D774 PRG:5774 20 7D 9C + jmp Sub_DAE7 ; CPU:$D777 PRG:5777 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop308 -; Global: Branch target inside Label: taken when D7AF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop308: - jsr Sub_E617 ; CPU:$D7AF PRG:57AF 20 17 E6 - beq NmiHandler_Loop310 ; CPU:$D7B2 PRG:57B2 F0 11 - jsr Sub_9B1F ; CPU:$D7B4 PRG:57B4 20 1F 9B - bne NmiHandler_Loop309 ; CPU:$D7B7 PRG:57B7 D0 07 - lda #$FD ; CPU:$D7B9 PRG:57B9 A9 FD - sta ZpE0 ; CPU:$D7BB PRG:57BB 85 E0 - jmp Sub_DA11 ; CPU:$D7BD PRG:57BD 4C 11 DA + cmp #$00 ; CPU:$D77A PRG:577A C9 00 + beq NmiHandler_Loop309 ; CPU:$D77C PRG:577C F0 04 + lda #$00 ; CPU:$D77E PRG:577E A9 00 + beq NmiHandler_OnZero14 ; CPU:$D780 PRG:5780 F0 EF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop309 -; Global: Branch target inside Label: taken when D7C0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop309: - jsr Sub_9B18 ; CPU:$D7C0 PRG:57C0 20 18 9B - bne NmiHandler_Loop312 ; CPU:$D7C3 PRG:57C3 D0 14 + ldy $03DE ; CPU:$D782 PRG:5782 AC DE 03 + lda $043C,y ; CPU:$D785 PRG:5785 B9 3C 04 + cmp ZpEC ; CPU:$D788 PRG:5788 C5 EC + beq NmiHandler_Loop310 ; CPU:$D78A PRG:578A F0 03 + jmp Sub_E174 ; CPU:$D78C PRG:578C 4C 74 E1 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop310 -; Global: Branch target inside Label: taken when D7C5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop310: - jsr Sub_E611 ; CPU:$D7C5 PRG:57C5 20 11 E6 - beq NmiHandler_Loop313 ; CPU:$D7C8 PRG:57C8 F0 12 - jsr Sub_9B1F ; CPU:$D7CA PRG:57CA 20 1F 9B - beq NmiHandler_Loop311 ; CPU:$D7CD PRG:57CD F0 07 - lda #$03 ; CPU:$D7CF PRG:57CF A9 03 - sta ZpE0 ; CPU:$D7D1 PRG:57D1 85 E0 - jmp Sub_DA11 ; CPU:$D7D3 PRG:57D3 4C 11 DA + jsr Sub_E077 ; CPU:$D78F PRG:578F 20 77 E0 + jsr Sub_E2D2 ; CPU:$D792 PRG:5792 20 D2 E2 + beq NmiHandler_Loop311 ; CPU:$D795 PRG:5795 F0 03 + jmp Sub_E0FD ; CPU:$D797 PRG:5797 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop311 -; Global: Branch target inside Label: taken when D7D6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop311: - jsr Sub_9B11 ; CPU:$D7D6 PRG:57D6 20 11 9B + jsr Sub_DE06 ; CPU:$D79A PRG:579A 20 06 DE + jsr Sub_E4E2 ; CPU:$D79D PRG:579D 20 E2 E4 + bcc NmiHandler_Loop312 ; CPU:$D7A0 PRG:57A0 90 03 + jmp Sub_DC05 ; CPU:$D7A2 PRG:57A2 4C 05 DC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop312 -; Global: Branch target inside Label: taken when D7D9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop312: - jsr Sub_D920 ; CPU:$D7D9 PRG:57D9 20 20 D9 + lda $03EA ; CPU:$D7A5 PRG:57A5 AD EA 03 + cmp #$02 ; CPU:$D7A8 PRG:57A8 C9 02 + bne NmiHandler_Loop313 ; CPU:$D7AA PRG:57AA D0 03 + jmp Sub_DDAC ; CPU:$D7AC PRG:57AC 4C AC DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop313 -; Global: Branch target inside Label: taken when D7DC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop313. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop313: - jsr Sub_E139 ; CPU:$D7DC PRG:57DC 20 39 E1 - bcc NmiHandler_Loop314 ; CPU:$D7DF PRG:57DF 90 06 - jsr Sub_E0B5 ; CPU:$D7E1 PRG:57E1 20 B5 E0 - jsr Sub_D95F ; CPU:$D7E4 PRG:57E4 20 5F D9 + jsr Sub_E617 ; CPU:$D7AF PRG:57AF 20 17 E6 + beq NmiHandler_Loop315 ; CPU:$D7B2 PRG:57B2 F0 11 + jsr Sub_9B1F ; CPU:$D7B4 PRG:57B4 20 1F 9B + bne NmiHandler_Loop314 ; CPU:$D7B7 PRG:57B7 D0 07 + lda #$FD ; CPU:$D7B9 PRG:57B9 A9 FD + sta ZpE0 ; CPU:$D7BB PRG:57BB 85 E0 + jmp Sub_DA11 ; CPU:$D7BD PRG:57BD 4C 11 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop314 -; Global: Branch target inside Label: taken when D7E7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop314. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop314: - jsr Sub_99E7 ; CPU:$D7E7 PRG:57E7 20 E7 99 - jsr Sub_9B03 ; CPU:$D7EA PRG:57EA 20 03 9B - dec $03EF,x ; CPU:$D7ED PRG:57ED DE EF 03 - bne NmiHandler_Loop315 ; CPU:$D7F0 PRG:57F0 D0 03 - jsr Sub_DDC7 ; CPU:$D7F2 PRG:57F2 20 C7 DD + jsr Sub_9B18 ; CPU:$D7C0 PRG:57C0 20 18 9B + bne NmiHandler_Loop317 ; CPU:$D7C3 PRG:57C3 D0 14 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop315 -; Global: Branch target inside Label: taken when D7F5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop315. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop315: - jsr Sub_8358 ; CPU:$D7F5 PRG:57F5 20 58 83 - bcs NmiHandler_Loop316 ; CPU:$D7F8 PRG:57F8 B0 03 - jmp Sub_D75D ; CPU:$D7FA PRG:57FA 4C 5D D7 + jsr Sub_E611 ; CPU:$D7C5 PRG:57C5 20 11 E6 + beq NmiHandler_Loop318 ; CPU:$D7C8 PRG:57C8 F0 12 + jsr Sub_9B1F ; CPU:$D7CA PRG:57CA 20 1F 9B + beq NmiHandler_Loop316 ; CPU:$D7CD PRG:57CD F0 07 + lda #$03 ; CPU:$D7CF PRG:57CF A9 03 + sta ZpE0 ; CPU:$D7D1 PRG:57D1 85 E0 + jmp Sub_DA11 ; CPU:$D7D3 PRG:57D3 4C 11 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop316 -; Global: Branch target inside Label: taken when D7FD. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop316. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop316: - ldy #$0D ; CPU:$D7FD PRG:57FD A0 0D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero80 -; Global: Branch target inside Label: taken when D7FF. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero80: - lda a:ZpB7,y ; CPU:$D7FF PRG:57FF B9 B7 00 - beq NmiHandler_OnNonzero81 ; CPU:$D802 PRG:5802 F0 07 - lda a:ZpE5,y ; CPU:$D804 PRG:5804 B9 E5 00 - cmp ZpEC ; CPU:$D807 PRG:5807 C5 EC - beq NmiHandler_Loop317 ; CPU:$D809 PRG:5809 F0 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero81 -; Global: Branch target inside Label: taken when D80B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero81: - iny ; CPU:$D80B PRG:580B C8 - cpy #$11 ; CPU:$D80C PRG:580C C0 11 - bne NmiHandler_OnNonzero80 ; CPU:$D80E PRG:580E D0 EF - jsr Sub_D920 ; CPU:$D810 PRG:5810 20 20 D9 - jmp Sub_D75D ; CPU:$D813 PRG:5813 4C 5D D7 + jsr Sub_9B11 ; CPU:$D7D6 PRG:57D6 20 11 9B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop317 -; Global: Branch target inside Label: taken when D816. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop317. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop317: - lda $0314,y ; CPU:$D816 PRG:5816 B9 14 03 - cmp #$9D ; CPU:$D819 PRG:5819 C9 9D - bne NmiHandler_Loop318 ; CPU:$D81B PRG:581B D0 07 - jsr Sub_9B1F ; CPU:$D81D PRG:581D 20 1F 9B - beq NmiHandler_OnNonzero81 ; CPU:$D820 PRG:5820 F0 E9 - bne NmiHandler_Loop319 ; CPU:$D822 PRG:5822 D0 09 + jsr Sub_D920 ; CPU:$D7D9 PRG:57D9 20 20 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop318 -; Global: Branch target inside Label: taken when D824. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop318. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop318: - cmp #$9E ; CPU:$D824 PRG:5824 C9 9E - bne NmiHandler_OnNonzero81 ; CPU:$D826 PRG:5826 D0 E3 - jsr Sub_9B1F ; CPU:$D828 PRG:5828 20 1F 9B - bne NmiHandler_OnNonzero81 ; CPU:$D82B PRG:582B D0 DE + jsr Sub_E139 ; CPU:$D7DC PRG:57DC 20 39 E1 + bcc NmiHandler_Loop319 ; CPU:$D7DF PRG:57DF 90 06 + jsr Sub_E0B5 ; CPU:$D7E1 PRG:57E1 20 B5 E0 + jsr Sub_D95F ; CPU:$D7E4 PRG:57E4 20 5F D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop319 -; Global: Branch target inside Label: taken when D82D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop319. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop319: - lda a:ZpC8,y ; CPU:$D82D PRG:582D B9 C8 00 - sec ; CPU:$D830 PRG:5830 38 - sbc ZpC8,x ; CPU:$D831 PRG:5831 F5 C8 - cmp #$04 ; CPU:$D833 PRG:5833 C9 04 - bcc NmiHandler_Loop320 ; CPU:$D835 PRG:5835 90 04 - cmp #$FC ; CPU:$D837 PRG:5837 C9 FC - bcc NmiHandler_OnNonzero81 ; CPU:$D839 PRG:5839 90 D0 + jsr Sub_99E7 ; CPU:$D7E7 PRG:57E7 20 E7 99 + jsr Sub_9B03 ; CPU:$D7EA PRG:57EA 20 03 9B + dec $03EF,x ; CPU:$D7ED PRG:57ED DE EF 03 + bne NmiHandler_Loop320 ; CPU:$D7F0 PRG:57F0 D0 03 + jsr Sub_DDC7 ; CPU:$D7F2 PRG:57F2 20 C7 DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop320 -; Global: Branch target inside Label: taken when D83B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop320. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop320: + jsr Sub_8358 ; CPU:$D7F5 PRG:57F5 20 58 83 + bcs NmiHandler_Loop321 ; CPU:$D7F8 PRG:57F8 B0 03 + jmp Sub_D75D ; CPU:$D7FA PRG:57FA 4C 5D D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop321: + ldy #$0D ; CPU:$D7FD PRG:57FD A0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero81 +; Global: Branch target inside NmiHandler: taken when OnNonzero81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero81: + lda a:ZpB7,y ; CPU:$D7FF PRG:57FF B9 B7 00 + beq NmiHandler_OnNonzero82 ; CPU:$D802 PRG:5802 F0 07 + lda a:ZpE5,y ; CPU:$D804 PRG:5804 B9 E5 00 + cmp ZpEC ; CPU:$D807 PRG:5807 C5 EC + beq NmiHandler_Loop322 ; CPU:$D809 PRG:5809 F0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero82 +; Global: Branch target inside NmiHandler: taken when OnNonzero82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero82: + iny ; CPU:$D80B PRG:580B C8 + cpy #$11 ; CPU:$D80C PRG:580C C0 11 + bne NmiHandler_OnNonzero81 ; CPU:$D80E PRG:580E D0 EF + jsr Sub_D920 ; CPU:$D810 PRG:5810 20 20 D9 + jmp Sub_D75D ; CPU:$D813 PRG:5813 4C 5D D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop322: + lda $0314,y ; CPU:$D816 PRG:5816 B9 14 03 + cmp #$9D ; CPU:$D819 PRG:5819 C9 9D + bne NmiHandler_Loop323 ; CPU:$D81B PRG:581B D0 07 + jsr Sub_9B1F ; CPU:$D81D PRG:581D 20 1F 9B + beq NmiHandler_OnNonzero82 ; CPU:$D820 PRG:5820 F0 E9 + bne NmiHandler_Loop324 ; CPU:$D822 PRG:5822 D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop323: + cmp #$9E ; CPU:$D824 PRG:5824 C9 9E + bne NmiHandler_OnNonzero82 ; CPU:$D826 PRG:5826 D0 E3 + jsr Sub_9B1F ; CPU:$D828 PRG:5828 20 1F 9B + bne NmiHandler_OnNonzero82 ; CPU:$D82B PRG:582B D0 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop324: + lda a:ZpC8,y ; CPU:$D82D PRG:582D B9 C8 00 + sec ; CPU:$D830 PRG:5830 38 + sbc SpriteYPosition,x ; CPU:$D831 PRG:5831 F5 C8 + cmp #$04 ; CPU:$D833 PRG:5833 C9 04 + bcc NmiHandler_Loop325 ; CPU:$D835 PRG:5835 90 04 + cmp #$FC ; CPU:$D837 PRG:5837 C9 FC + bcc NmiHandler_OnNonzero82 ; CPU:$D839 PRG:5839 90 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop325: lda a:ZpC8,y ; CPU:$D83B PRG:583B B9 C8 00 sta ZpCF ; CPU:$D83E PRG:583E 85 CF lda ZpBE ; CPU:$D840 PRG:5840 A5 BE @@ -12096,159 +12403,159 @@ NmiHandler_Loop320: tay ; CPU:$D84E PRG:584E A8 lda #$00 ; CPU:$D84F PRG:584F A9 00 sta $0592,y ; CPU:$D851 PRG:5851 99 92 05 - jsr Sub_9B1F ; CPU:$D854 PRG:5854 20 1F 9B - bne NmiHandler_Loop321 ; CPU:$D857 PRG:5857 D0 0A + jsr Sub_9B1F ; CPU:$D854 PRG:5854 20 1F 9B + bne NmiHandler_Loop326 ; CPU:$D857 PRG:5857 D0 0A lda #$6A ; CPU:$D859 PRG:5859 A9 6A - sta Zp73 ; CPU:$D85B PRG:585B 85 73 + sta VramWritePtrLo ; CPU:$D85B PRG:585B 85 73 lda #$E7 ; CPU:$D85D PRG:585D A9 E7 - sta Zp74 ; CPU:$D85F PRG:585F 85 74 - bne NmiHandler_Loop322 ; CPU:$D861 PRG:5861 D0 08 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop321 -; Global: Branch target inside Label: taken when D863. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop321: - lda #$4A ; CPU:$D863 PRG:5863 A9 4A - sta Zp73 ; CPU:$D865 PRG:5865 85 73 - lda #$E7 ; CPU:$D867 PRG:5867 A9 E7 - sta Zp74 ; CPU:$D869 PRG:5869 85 74 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop322 -; Global: Branch target inside Label: taken when D86B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop322: - jsr Sub_8334 ; CPU:$D86B PRG:586B 20 34 83 - lda #$1E ; CPU:$D86E PRG:586E A9 1E - jsr Sub_F6DB ; CPU:$D870 PRG:5870 20 DB F6 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear19 -; Global: Branch target inside Label: taken when D873. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear19: - jsr Sub_8358 ; CPU:$D873 PRG:5873 20 58 83 - bcc NmiHandler_OnCarryClear19 ; CPU:$D876 PRG:5876 90 FB - lda #$96 ; CPU:$D878 PRG:5878 A9 96 - sta $03C1 ; CPU:$D87A PRG:587A 8D C1 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero82 -; Global: Branch target inside Label: taken when D87D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero82: - jsr Sub_9B1F ; CPU:$D87D PRG:587D 20 1F 9B - bne NmiHandler_Loop323 ; CPU:$D880 PRG:5880 D0 07 - jsr Sub_E611 ; CPU:$D882 PRG:5882 20 11 E6 - beq NmiHandler_Loop324 ; CPU:$D885 PRG:5885 F0 07 - bne NmiHandler_Loop325 ; CPU:$D887 PRG:5887 D0 0D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop323 -; Global: Branch target inside Label: taken when D889. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop323: - jsr Sub_E617 ; CPU:$D889 PRG:5889 20 17 E6 - bne NmiHandler_Loop325 ; CPU:$D88C PRG:588C D0 08 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop324 -; Global: Branch target inside Label: taken when D88E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop324: - jsr Sub_82A3 ; CPU:$D88E PRG:588E 20 A3 82 - dec $03C1 ; CPU:$D891 PRG:5891 CE C1 03 - bne NmiHandler_OnNonzero82 ; CPU:$D894 PRG:5894 D0 E7 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop325 -; Global: Branch target inside Label: taken when D896. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop325: - jsr Sub_9B1F ; CPU:$D896 PRG:5896 20 1F 9B - beq NmiHandler_Loop326 ; CPU:$D899 PRG:5899 F0 0D - lda #$5C ; CPU:$D89B PRG:589B A9 5C - sta Zp73 ; CPU:$D89D PRG:589D 85 73 - lda #$E7 ; CPU:$D89F PRG:589F A9 E7 - sta Zp74 ; CPU:$D8A1 PRG:58A1 85 74 - jsr Sub_9B11 ; CPU:$D8A3 PRG:58A3 20 11 9B - bne NmiHandler_Loop327 ; CPU:$D8A6 PRG:58A6 D0 0B + sta VramWritePtrHi ; CPU:$D85F PRG:585F 85 74 + bne NmiHandler_Loop327 ; CPU:$D861 PRG:5861 D0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop326 -; Global: Branch target inside Label: taken when D8A8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop326. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop326: - lda #$7C ; CPU:$D8A8 PRG:58A8 A9 7C - sta Zp73 ; CPU:$D8AA PRG:58AA 85 73 - lda #$E7 ; CPU:$D8AC PRG:58AC A9 E7 - sta Zp74 ; CPU:$D8AE PRG:58AE 85 74 - jsr Sub_9B18 ; CPU:$D8B0 PRG:58B0 20 18 9B + lda #$4A ; CPU:$D863 PRG:5863 A9 4A + sta VramWritePtrLo ; CPU:$D865 PRG:5865 85 73 + lda #$E7 ; CPU:$D867 PRG:5867 A9 E7 + sta VramWritePtrHi ; CPU:$D869 PRG:5869 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop327 -; Global: Branch target inside Label: taken when D8B3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop327. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop327: - jsr Sub_8334 ; CPU:$D8B3 PRG:58B3 20 34 83 - lda #$1C ; CPU:$D8B6 PRG:58B6 A9 1C - jsr Sub_F6DB ; CPU:$D8B8 PRG:58B8 20 DB F6 - lda #$1D ; CPU:$D8BB PRG:58BB A9 1D - jsr Sub_F6DB ; CPU:$D8BD PRG:58BD 20 DB F6 + jsr Sub_8334 ; CPU:$D86B PRG:586B 20 34 83 + lda #$1E ; CPU:$D86E PRG:586E A9 1E + jsr Sub_F6DB ; CPU:$D870 PRG:5870 20 DB F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear20 -; Global: Branch target inside Label: taken when D8C0. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear22 +; Global: Branch target inside NmiHandler: taken when OnCarryClear22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear20: - jsr Sub_8358 ; CPU:$D8C0 PRG:58C0 20 58 83 - bcc NmiHandler_OnCarryClear20 ; CPU:$D8C3 PRG:58C3 90 FB - lda #$FF ; CPU:$D8C5 PRG:58C5 A9 FF - sta $0686 ; CPU:$D8C7 PRG:58C7 8D 86 06 - lda ZpCF ; CPU:$D8CA PRG:58CA A5 CF - bmi NmiHandler_Loop328 ; CPU:$D8CC PRG:58CC 30 03 - clc ; CPU:$D8CE PRG:58CE 18 - adc #$10 ; CPU:$D8CF PRG:58CF 69 10 +NmiHandler_OnCarryClear22: + jsr Sub_8358 ; CPU:$D873 PRG:5873 20 58 83 + bcc NmiHandler_OnCarryClear22 ; CPU:$D876 PRG:5876 90 FB + lda #$96 ; CPU:$D878 PRG:5878 A9 96 + sta $03C1 ; CPU:$D87A PRG:587A 8D C1 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero83 +; Global: Branch target inside NmiHandler: taken when OnNonzero83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero83: + jsr Sub_9B1F ; CPU:$D87D PRG:587D 20 1F 9B + bne NmiHandler_Loop328 ; CPU:$D880 PRG:5880 D0 07 + jsr Sub_E611 ; CPU:$D882 PRG:5882 20 11 E6 + beq NmiHandler_Loop329 ; CPU:$D885 PRG:5885 F0 07 + bne NmiHandler_Loop330 ; CPU:$D887 PRG:5887 D0 0D ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop328 -; Global: Branch target inside Label: taken when D8D1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop328. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop328: + jsr Sub_E617 ; CPU:$D889 PRG:5889 20 17 E6 + bne NmiHandler_Loop330 ; CPU:$D88C PRG:588C D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop329: + jsr Sub_82A3 ; CPU:$D88E PRG:588E 20 A3 82 + dec $03C1 ; CPU:$D891 PRG:5891 CE C1 03 + bne NmiHandler_OnNonzero83 ; CPU:$D894 PRG:5894 D0 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop330: + jsr Sub_9B1F ; CPU:$D896 PRG:5896 20 1F 9B + beq NmiHandler_Loop331 ; CPU:$D899 PRG:5899 F0 0D + lda #$5C ; CPU:$D89B PRG:589B A9 5C + sta VramWritePtrLo ; CPU:$D89D PRG:589D 85 73 + lda #$E7 ; CPU:$D89F PRG:589F A9 E7 + sta VramWritePtrHi ; CPU:$D8A1 PRG:58A1 85 74 + jsr Sub_9B11 ; CPU:$D8A3 PRG:58A3 20 11 9B + bne NmiHandler_Loop332 ; CPU:$D8A6 PRG:58A6 D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop331: + lda #$7C ; CPU:$D8A8 PRG:58A8 A9 7C + sta VramWritePtrLo ; CPU:$D8AA PRG:58AA 85 73 + lda #$E7 ; CPU:$D8AC PRG:58AC A9 E7 + sta VramWritePtrHi ; CPU:$D8AE PRG:58AE 85 74 + jsr Sub_9B18 ; CPU:$D8B0 PRG:58B0 20 18 9B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop332: + jsr Sub_8334 ; CPU:$D8B3 PRG:58B3 20 34 83 + lda #$1C ; CPU:$D8B6 PRG:58B6 A9 1C + jsr Sub_F6DB ; CPU:$D8B8 PRG:58B8 20 DB F6 + lda #$1D ; CPU:$D8BB PRG:58BB A9 1D + jsr Sub_F6DB ; CPU:$D8BD PRG:58BD 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear23 +; Global: Branch target inside NmiHandler: taken when OnCarryClear23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear23: + jsr Sub_8358 ; CPU:$D8C0 PRG:58C0 20 58 83 + bcc NmiHandler_OnCarryClear23 ; CPU:$D8C3 PRG:58C3 90 FB + lda #$FF ; CPU:$D8C5 PRG:58C5 A9 FF + sta $0686 ; CPU:$D8C7 PRG:58C7 8D 86 06 + lda ZpCF ; CPU:$D8CA PRG:58CA A5 CF + bmi NmiHandler_Loop333 ; CPU:$D8CC PRG:58CC 30 03 + clc ; CPU:$D8CE PRG:58CE 18 + adc #$10 ; CPU:$D8CF PRG:58CF 69 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop333: sta ZpD4 ; CPU:$D8D1 PRG:58D1 85 D4 lda $03A4 ; CPU:$D8D3 PRG:58D3 AD A4 03 sec ; CPU:$D8D6 PRG:58D6 38 @@ -12258,399 +12565,399 @@ NmiHandler_Loop328: sbc #$00 ; CPU:$D8DF PRG:58DF E9 00 sta $03BA ; CPU:$D8E1 PRG:58E1 8D BA 03 lda #$00 ; CPU:$D8E4 PRG:58E4 A9 00 - sta Zp73 ; CPU:$D8E6 PRG:58E6 85 73 + sta VramWritePtrLo ; CPU:$D8E6 PRG:58E6 85 73 lda #$05 ; CPU:$D8E8 PRG:58E8 A9 05 - sta Zp74 ; CPU:$D8EA PRG:58EA 85 74 + sta VramWritePtrHi ; CPU:$D8EA PRG:58EA 85 74 stx ZpA0 ; CPU:$D8EC PRG:58EC 86 A0 - jsr Sub_C1D5 ; CPU:$D8EE PRG:58EE 20 D5 C1 + jsr Sub_C1D5 ; CPU:$D8EE PRG:58EE 20 D5 C1 ldx ZpA0 ; CPU:$D8F1 PRG:58F1 A6 A0 - jsr Sub_D920 ; CPU:$D8F3 PRG:58F3 20 20 D9 + jsr Sub_D920 ; CPU:$D8F3 PRG:58F3 20 20 D9 lda ZpBE ; CPU:$D8F6 PRG:58F6 A5 BE and #$FD ; CPU:$D8F8 PRG:58F8 29 FD sta ZpBE ; CPU:$D8FA PRG:58FA 85 BE lda $033D ; CPU:$D8FC PRG:58FC AD 3D 03 ora #$20 ; CPU:$D8FF PRG:58FF 09 20 sta $033D ; CPU:$D901 PRG:5901 8D 3D 03 - jmp Sub_D75D ; CPU:$D904 PRG:5904 4C 5D D7 + jmp Sub_D75D ; CPU:$D904 PRG:5904 4C 5D D7 ; ----------------------------------------------------------------------------- ; Routine: Sub_D907 -; Global: Branch target inside Label: taken when D907. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D907. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D907: - jsr Sub_F1D3 ; CPU:$D907 PRG:5907 20 D3 F1 - jsr Sub_9B1F ; CPU:$D90A PRG:590A 20 1F 9B - bne NmiHandler_Loop329 ; CPU:$D90D PRG:590D D0 04 + jsr Sub_F1D3 ; CPU:$D907 PRG:5907 20 D3 F1 + jsr Sub_9B1F ; CPU:$D90A PRG:590A 20 1F 9B + bne NmiHandler_Loop334 ; CPU:$D90D PRG:590D D0 04 lda #$01 ; CPU:$D90F PRG:590F A9 01 - bne NmiHandler_Loop330 ; CPU:$D911 PRG:5911 D0 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop329 -; Global: Branch target inside Label: taken when D913. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop329: - lda #$FF ; CPU:$D913 PRG:5913 A9 FF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop330 -; Global: Branch target inside Label: taken when D915. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop330: - sta ZpE0 ; CPU:$D915 PRG:5915 85 E0 - jsr Sub_D920 ; CPU:$D917 PRG:5917 20 20 D9 - jsr Sub_DBEE ; CPU:$D91A PRG:591A 20 EE DB - jmp Sub_D75D ; CPU:$D91D PRG:591D 4C 5D D7 -; ----------------------------------------------------------------------------- -; Routine: Sub_D920 -; Global: Branch target inside Label: taken when D920. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_D920: - jsr Sub_9B1F ; CPU:$D920 PRG:5920 20 1F 9B - beq NmiHandler_Loop332 ; CPU:$D923 PRG:5923 F0 1D - lda $0336,x ; CPU:$D925 PRG:5925 BD 36 03 - and #$20 ; CPU:$D928 PRG:5928 29 20 - bne NmiHandler_Loop331 ; CPU:$D92A PRG:592A D0 0B - lda #$7A ; CPU:$D92C PRG:592C A9 7A - sta Zp73 ; CPU:$D92E PRG:592E 85 73 - lda #$E6 ; CPU:$D930 PRG:5930 A9 E6 - sta Zp74 ; CPU:$D932 PRG:5932 85 74 - jmp Sub_8334 ; CPU:$D934 PRG:5934 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop331 -; Global: Branch target inside Label: taken when D937. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop331: - lda #$8A ; CPU:$D937 PRG:5937 A9 8A - sta Zp73 ; CPU:$D939 PRG:5939 85 73 - lda #$E7 ; CPU:$D93B PRG:593B A9 E7 - sta Zp74 ; CPU:$D93D PRG:593D 85 74 - jmp Sub_8334 ; CPU:$D93F PRG:593F 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop332 -; Global: Branch target inside Label: taken when D942. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop332: - lda $0336,x ; CPU:$D942 PRG:5942 BD 36 03 - and #$20 ; CPU:$D945 PRG:5945 29 20 - bne NmiHandler_Loop333 ; CPU:$D947 PRG:5947 D0 0B - lda #$7E ; CPU:$D949 PRG:5949 A9 7E - sta Zp73 ; CPU:$D94B PRG:594B 85 73 - lda #$E6 ; CPU:$D94D PRG:594D A9 E6 - sta Zp74 ; CPU:$D94F PRG:594F 85 74 - jmp Sub_8334 ; CPU:$D951 PRG:5951 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop333 -; Global: Branch target inside Label: taken when D954. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop333: - lda #$8E ; CPU:$D954 PRG:5954 A9 8E - sta Zp73 ; CPU:$D956 PRG:5956 85 73 - lda #$E7 ; CPU:$D958 PRG:5958 A9 E7 - sta Zp74 ; CPU:$D95A PRG:595A 85 74 - jmp Sub_8334 ; CPU:$D95C PRG:595C 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_D95F -; Global: Branch target inside Label: taken when D95F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_D95F: - jsr Sub_9B1F ; CPU:$D95F PRG:595F 20 1F 9B - beq NmiHandler_Loop334 ; CPU:$D962 PRG:5962 F0 0B - lda #$C8 ; CPU:$D964 PRG:5964 A9 C8 - sta Zp73 ; CPU:$D966 PRG:5966 85 73 - lda #$E6 ; CPU:$D968 PRG:5968 A9 E6 - sta Zp74 ; CPU:$D96A PRG:596A 85 74 - jmp Sub_8334 ; CPU:$D96C PRG:596C 4C 34 83 + bne NmiHandler_Loop335 ; CPU:$D911 PRG:5911 D0 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop334 -; Global: Branch target inside Label: taken when D96F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop334. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop334: - lda #$CE ; CPU:$D96F PRG:596F A9 CE - sta Zp73 ; CPU:$D971 PRG:5971 85 73 - lda #$E6 ; CPU:$D973 PRG:5973 A9 E6 - sta Zp74 ; CPU:$D975 PRG:5975 85 74 - jmp Sub_8334 ; CPU:$D977 PRG:5977 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_D97A -; Global: Branch target inside Label: taken when D97A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_D97A: - jsr Sub_E2D2 ; CPU:$D97A PRG:597A 20 D2 E2 - beq NmiHandler_Loop335 ; CPU:$D97D PRG:597D F0 03 - jmp Sub_E0FD ; CPU:$D97F PRG:597F 4C FD E0 + lda #$FF ; CPU:$D913 PRG:5913 A9 FF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop335 -; Global: Branch target inside Label: taken when D982. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop335. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop335: - jsr Sub_DE06 ; CPU:$D982 PRG:5982 20 06 DE - jsr Sub_E4E2 ; CPU:$D985 PRG:5985 20 E2 E4 - bcc NmiHandler_Loop336 ; CPU:$D988 PRG:5988 90 03 - jmp Sub_DC05 ; CPU:$D98A PRG:598A 4C 05 DC + sta ZpE0 ; CPU:$D915 PRG:5915 85 E0 + jsr Sub_D920 ; CPU:$D917 PRG:5917 20 20 D9 + jsr Sub_DBEE ; CPU:$D91A PRG:591A 20 EE DB + jmp Sub_D75D ; CPU:$D91D PRG:591D 4C 5D D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D920 +; Global: Branch target inside Sub: taken when D920. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D920: + jsr Sub_9B1F ; CPU:$D920 PRG:5920 20 1F 9B + beq NmiHandler_Loop337 ; CPU:$D923 PRG:5923 F0 1D + lda $0336,x ; CPU:$D925 PRG:5925 BD 36 03 + and #$20 ; CPU:$D928 PRG:5928 29 20 + bne NmiHandler_Loop336 ; CPU:$D92A PRG:592A D0 0B + lda #$7A ; CPU:$D92C PRG:592C A9 7A + sta VramWritePtrLo ; CPU:$D92E PRG:592E 85 73 + lda #$E6 ; CPU:$D930 PRG:5930 A9 E6 + sta VramWritePtrHi ; CPU:$D932 PRG:5932 85 74 + jmp Sub_8334 ; CPU:$D934 PRG:5934 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop336 -; Global: Branch target inside Label: taken when D98D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop336. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop336: - lda $03EA ; CPU:$D98D PRG:598D AD EA 03 - cmp #$02 ; CPU:$D990 PRG:5990 C9 02 - bne NmiHandler_Loop337 ; CPU:$D992 PRG:5992 D0 03 - jmp Sub_DDAC ; CPU:$D994 PRG:5994 4C AC DD + lda #$8A ; CPU:$D937 PRG:5937 A9 8A + sta VramWritePtrLo ; CPU:$D939 PRG:5939 85 73 + lda #$E7 ; CPU:$D93B PRG:593B A9 E7 + sta VramWritePtrHi ; CPU:$D93D PRG:593D 85 74 + jmp Sub_8334 ; CPU:$D93F PRG:593F 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop337 -; Global: Branch target inside Label: taken when D997. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop337. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop337: - jsr Sub_E617 ; CPU:$D997 PRG:5997 20 17 E6 - bne NmiHandler_Loop338 ; CPU:$D99A PRG:599A D0 02 - beq NmiHandler_Loop339 ; CPU:$D99C PRG:599C F0 0B + lda $0336,x ; CPU:$D942 PRG:5942 BD 36 03 + and #$20 ; CPU:$D945 PRG:5945 29 20 + bne NmiHandler_Loop338 ; CPU:$D947 PRG:5947 D0 0B + lda #$7E ; CPU:$D949 PRG:5949 A9 7E + sta VramWritePtrLo ; CPU:$D94B PRG:594B 85 73 + lda #$E6 ; CPU:$D94D PRG:594D A9 E6 + sta VramWritePtrHi ; CPU:$D94F PRG:594F 85 74 + jmp Sub_8334 ; CPU:$D951 PRG:5951 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop338 -; Global: Branch target inside Label: taken when D99E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop338. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop338: - jsr Sub_9B1F ; CPU:$D99E PRG:599E 20 1F 9B - beq NmiHandler_Loop341 ; CPU:$D9A1 PRG:59A1 F0 16 - jsr Sub_9B18 ; CPU:$D9A3 PRG:59A3 20 18 9B - jmp Sub_D907 ; CPU:$D9A6 PRG:59A6 4C 07 D9 + lda #$8E ; CPU:$D954 PRG:5954 A9 8E + sta VramWritePtrLo ; CPU:$D956 PRG:5956 85 73 + lda #$E7 ; CPU:$D958 PRG:5958 A9 E7 + sta VramWritePtrHi ; CPU:$D95A PRG:595A 85 74 + jmp Sub_8334 ; CPU:$D95C PRG:595C 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_D95F +; Global: Branch target inside Sub: taken when D95F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D95F: + jsr Sub_9B1F ; CPU:$D95F PRG:595F 20 1F 9B + beq NmiHandler_Loop339 ; CPU:$D962 PRG:5962 F0 0B + lda #$C8 ; CPU:$D964 PRG:5964 A9 C8 + sta VramWritePtrLo ; CPU:$D966 PRG:5966 85 73 + lda #$E6 ; CPU:$D968 PRG:5968 A9 E6 + sta VramWritePtrHi ; CPU:$D96A PRG:596A 85 74 + jmp Sub_8334 ; CPU:$D96C PRG:596C 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop339 -; Global: Branch target inside Label: taken when D9A9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop339. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop339: - jsr Sub_E611 ; CPU:$D9A9 PRG:59A9 20 11 E6 - beq NmiHandler_Loop340 ; CPU:$D9AC PRG:59AC F0 08 - jsr Sub_9B1F ; CPU:$D9AE PRG:59AE 20 1F 9B - bne NmiHandler_Loop341 ; CPU:$D9B1 PRG:59B1 D0 06 - jsr Sub_9B11 ; CPU:$D9B3 PRG:59B3 20 11 9B + lda #$CE ; CPU:$D96F PRG:596F A9 CE + sta VramWritePtrLo ; CPU:$D971 PRG:5971 85 73 + lda #$E6 ; CPU:$D973 PRG:5973 A9 E6 + sta VramWritePtrHi ; CPU:$D975 PRG:5975 85 74 + jmp Sub_8334 ; CPU:$D977 PRG:5977 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_D97A +; Global: Branch target inside Sub: taken when D97A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D97A: + jsr Sub_E2D2 ; CPU:$D97A PRG:597A 20 D2 E2 + beq NmiHandler_Loop340 ; CPU:$D97D PRG:597D F0 03 + jmp Sub_E0FD ; CPU:$D97F PRG:597F 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop340 -; Global: Branch target inside Label: taken when D9B6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop340. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop340: - jmp Sub_D907 ; CPU:$D9B6 PRG:59B6 4C 07 D9 + jsr Sub_DE06 ; CPU:$D982 PRG:5982 20 06 DE + jsr Sub_E4E2 ; CPU:$D985 PRG:5985 20 E2 E4 + bcc NmiHandler_Loop341 ; CPU:$D988 PRG:5988 90 03 + jmp Sub_DC05 ; CPU:$D98A PRG:598A 4C 05 DC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop341 -; Global: Branch target inside Label: taken when D9B9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop341. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop341: - jsr Sub_97FE ; CPU:$D9B9 PRG:59B9 20 FE 97 - bcc NmiHandler_Loop343 ; CPU:$D9BC PRG:59BC 90 1C - jsr Sub_9891 ; CPU:$D9BE PRG:59BE 20 91 98 - bcc NmiHandler_Loop342 ; CPU:$D9C1 PRG:59C1 90 06 - jsr Sub_DA1A ; CPU:$D9C3 PRG:59C3 20 1A DA - jmp Sub_E06C ; CPU:$D9C6 PRG:59C6 4C 6C E0 + lda $03EA ; CPU:$D98D PRG:598D AD EA 03 + cmp #$02 ; CPU:$D990 PRG:5990 C9 02 + bne NmiHandler_Loop342 ; CPU:$D992 PRG:5992 D0 03 + jmp Sub_DDAC ; CPU:$D994 PRG:5994 4C AC DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop342 -; Global: Branch target inside Label: taken when D9C9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop342. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop342: - cmp #$00 ; CPU:$D9C9 PRG:59C9 C9 00 - bne NmiHandler_Loop344 ; CPU:$D9CB PRG:59CB D0 18 - ldy $03DE ; CPU:$D9CD PRG:59CD AC DE 03 - lda $043C,y ; CPU:$D9D0 PRG:59D0 B9 3C 04 - cmp ZpEC ; CPU:$D9D3 PRG:59D3 C5 EC - beq NmiHandler_Loop343 ; CPU:$D9D5 PRG:59D5 F0 03 - jmp Sub_DD4A ; CPU:$D9D7 PRG:59D7 4C 4A DD + jsr Sub_E617 ; CPU:$D997 PRG:5997 20 17 E6 + bne NmiHandler_Loop343 ; CPU:$D99A PRG:599A D0 02 + beq NmiHandler_Loop344 ; CPU:$D99C PRG:599C F0 0B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop343 -; Global: Branch target inside Label: taken when D9DA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop343. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop343: - jsr Sub_DFF1 ; CPU:$D9DA PRG:59DA 20 F1 DF - jsr Sub_9848 ; CPU:$D9DD PRG:59DD 20 48 98 - bcc NmiHandler_Loop344 ; CPU:$D9E0 PRG:59E0 90 03 - jsr Sub_DFF9 ; CPU:$D9E2 PRG:59E2 20 F9 DF + jsr Sub_9B1F ; CPU:$D99E PRG:599E 20 1F 9B + beq NmiHandler_Loop346 ; CPU:$D9A1 PRG:59A1 F0 16 + jsr Sub_9B18 ; CPU:$D9A3 PRG:59A3 20 18 9B + jmp Sub_D907 ; CPU:$D9A6 PRG:59A6 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop344 -; Global: Branch target inside Label: taken when D9E5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop344. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop344: - jsr Sub_9BBB ; CPU:$D9E5 PRG:59E5 20 BB 9B - bcc NmiHandler_Loop345 ; CPU:$D9E8 PRG:59E8 90 03 - jmp Sub_E23A ; CPU:$D9EA PRG:59EA 4C 3A E2 + jsr Sub_E611 ; CPU:$D9A9 PRG:59A9 20 11 E6 + beq NmiHandler_Loop345 ; CPU:$D9AC PRG:59AC F0 08 + jsr Sub_9B1F ; CPU:$D9AE PRG:59AE 20 1F 9B + bne NmiHandler_Loop346 ; CPU:$D9B1 PRG:59B1 D0 06 + jsr Sub_9B11 ; CPU:$D9B3 PRG:59B3 20 11 9B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop345 -; Global: Branch target inside Label: taken when D9ED. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop345. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop345: - jsr Sub_E139 ; CPU:$D9ED PRG:59ED 20 39 E1 - bcc NmiHandler_Loop346 ; CPU:$D9F0 PRG:59F0 90 06 - jsr Sub_E0B5 ; CPU:$D9F2 PRG:59F2 20 B5 E0 - jsr Sub_DBD4 ; CPU:$D9F5 PRG:59F5 20 D4 DB + jmp Sub_D907 ; CPU:$D9B6 PRG:59B6 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop346 -; Global: Branch target inside Label: taken when D9F8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop346. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop346: - jsr Sub_99E7 ; CPU:$D9F8 PRG:59F8 20 E7 99 - jsr Sub_9B03 ; CPU:$D9FB PRG:59FB 20 03 9B - dec $03EF,x ; CPU:$D9FE PRG:59FE DE EF 03 - bne NmiHandler_Loop347 ; CPU:$DA01 PRG:5A01 D0 03 - jsr Sub_DDC7 ; CPU:$DA03 PRG:5A03 20 C7 DD + jsr Sub_97FE ; CPU:$D9B9 PRG:59B9 20 FE 97 + bcc NmiHandler_Loop348 ; CPU:$D9BC PRG:59BC 90 1C + jsr Sub_9891 ; CPU:$D9BE PRG:59BE 20 91 98 + bcc NmiHandler_Loop347 ; CPU:$D9C1 PRG:59C1 90 06 + jsr Sub_DA1A ; CPU:$D9C3 PRG:59C3 20 1A DA + jmp Sub_E06C ; CPU:$D9C6 PRG:59C6 4C 6C E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop347 -; Global: Branch target inside Label: taken when DA06. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop347. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop347: - jsr Sub_8358 ; CPU:$DA06 PRG:5A06 20 58 83 - bcc NmiHandler_Loop348 ; CPU:$DA09 PRG:5A09 90 03 - jsr Sub_DB95 ; CPU:$DA0B PRG:5A0B 20 95 DB + cmp #$00 ; CPU:$D9C9 PRG:59C9 C9 00 + bne NmiHandler_Loop349 ; CPU:$D9CB PRG:59CB D0 18 + ldy $03DE ; CPU:$D9CD PRG:59CD AC DE 03 + lda $043C,y ; CPU:$D9D0 PRG:59D0 B9 3C 04 + cmp ZpEC ; CPU:$D9D3 PRG:59D3 C5 EC + beq NmiHandler_Loop348 ; CPU:$D9D5 PRG:59D5 F0 03 + jmp Sub_DD4A ; CPU:$D9D7 PRG:59D7 4C 4A DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop348 -; Global: Branch target inside Label: taken when DA0E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop348. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop348: - jmp Sub_D97A ; CPU:$DA0E PRG:5A0E 4C 7A D9 + jsr Sub_DFF1 ; CPU:$D9DA PRG:59DA 20 F1 DF + jsr Sub_9848 ; CPU:$D9DD PRG:59DD 20 48 98 + bcc NmiHandler_Loop349 ; CPU:$D9E0 PRG:59E0 90 03 + jsr Sub_DFF9 ; CPU:$D9E2 PRG:59E2 20 F9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop349: + jsr Sub_9BBB ; CPU:$D9E5 PRG:59E5 20 BB 9B + bcc NmiHandler_Loop350 ; CPU:$D9E8 PRG:59E8 90 03 + jmp Sub_E23A ; CPU:$D9EA PRG:59EA 4C 3A E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop350: + jsr Sub_E139 ; CPU:$D9ED PRG:59ED 20 39 E1 + bcc NmiHandler_Loop351 ; CPU:$D9F0 PRG:59F0 90 06 + jsr Sub_E0B5 ; CPU:$D9F2 PRG:59F2 20 B5 E0 + jsr Sub_DBD4 ; CPU:$D9F5 PRG:59F5 20 D4 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop351: + jsr Sub_99E7 ; CPU:$D9F8 PRG:59F8 20 E7 99 + jsr Sub_9B03 ; CPU:$D9FB PRG:59FB 20 03 9B + dec $03EF,x ; CPU:$D9FE PRG:59FE DE EF 03 + bne NmiHandler_Loop352 ; CPU:$DA01 PRG:5A01 D0 03 + jsr Sub_DDC7 ; CPU:$DA03 PRG:5A03 20 C7 DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop352: + jsr Sub_8358 ; CPU:$DA06 PRG:5A06 20 58 83 + bcc NmiHandler_Loop353 ; CPU:$DA09 PRG:5A09 90 03 + jsr Sub_DB95 ; CPU:$DA0B PRG:5A0B 20 95 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop353: + jmp Sub_D97A ; CPU:$DA0E PRG:5A0E 4C 7A D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA11 -; Global: Branch target inside Label: taken when DA11. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA11. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DA11: - jsr Sub_F1D3 ; CPU:$DA11 PRG:5A11 20 D3 F1 - jsr Sub_DB95 ; CPU:$DA14 PRG:5A14 20 95 DB - jmp NmiHandler_Loop344 ; CPU:$DA17 PRG:5A17 4C E5 D9 + jsr Sub_F1D3 ; CPU:$DA11 PRG:5A11 20 D3 F1 + jsr Sub_DB95 ; CPU:$DA14 PRG:5A14 20 95 DB + jmp NmiHandler_Loop349 ; CPU:$DA17 PRG:5A17 4C E5 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA1A -; Global: Branch target inside Label: taken when DA1A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA1A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DA1A: cmp #$00 ; CPU:$DA1A PRG:5A1A C9 00 - bne NmiHandler_Loop349 ; CPU:$DA1C PRG:5A1C D0 13 - lda ZpB7,x ; CPU:$DA1E PRG:5A1E B5 B7 + bne NmiHandler_Loop354 ; CPU:$DA1C PRG:5A1C D0 13 + lda SpriteIndex,x ; CPU:$DA1E PRG:5A1E B5 B7 ora #$04 ; CPU:$DA20 PRG:5A20 09 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero83 -; Global: Branch target inside Label: taken when DA22. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero84 +; Global: Branch target inside NmiHandler: taken when OnNonzero84. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero83: - sta ZpB7,x ; CPU:$DA22 PRG:5A22 95 B7 +NmiHandler_OnNonzero84: + sta SpriteIndex,x ; CPU:$DA22 PRG:5A22 95 B7 ldy $03D7,x ; CPU:$DA24 PRG:5A24 BC D7 03 lda $04B1,y ; CPU:$DA27 PRG:5A27 B9 B1 04 ora $E633,x ; CPU:$DA2A PRG:5A2A 1D 33 E6 sta $04B1,y ; CPU:$DA2D PRG:5A2D 99 B1 04 rts ; CPU:$DA30 PRG:5A30 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop349 -; Global: Branch target inside Label: taken when DA31. -; Local: Part of Label. +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop349: - lda ZpB7,x ; CPU:$DA31 PRG:5A31 B5 B7 +NmiHandler_Loop354: + lda SpriteIndex,x ; CPU:$DA31 PRG:5A31 B5 B7 ora #$14 ; CPU:$DA33 PRG:5A33 09 14 - bne NmiHandler_OnNonzero83 ; CPU:$DA35 PRG:5A35 D0 EB + bne NmiHandler_OnNonzero84 ; CPU:$DA35 PRG:5A35 D0 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_DA37 -; Global: Branch target inside Label: taken when DA37. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA37. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -12658,662 +12965,662 @@ NmiHandler_Loop349: Sub_DA37: lda ZpEC ; CPU:$DA37 PRG:5A37 A5 EC cmp #$1F ; CPU:$DA39 PRG:5A39 C9 1F - beq NmiHandler_Loop350 ; CPU:$DA3B PRG:5A3B F0 1A + beq NmiHandler_Loop355 ; CPU:$DA3B PRG:5A3B F0 1A cmp #$1E ; CPU:$DA3D PRG:5A3D C9 1E - bne NmiHandler_Loop351 ; CPU:$DA3F PRG:5A3F D0 1B + bne NmiHandler_Loop356 ; CPU:$DA3F PRG:5A3F D0 1B lda ZpBE ; CPU:$DA41 PRG:5A41 A5 BE and #$04 ; CPU:$DA43 PRG:5A43 29 04 - beq NmiHandler_Loop351 ; CPU:$DA45 PRG:5A45 F0 15 + beq NmiHandler_Loop356 ; CPU:$DA45 PRG:5A45 F0 15 lda ZpBE ; CPU:$DA47 PRG:5A47 A5 BE and #$10 ; CPU:$DA49 PRG:5A49 29 10 - bne NmiHandler_Loop351 ; CPU:$DA4B PRG:5A4B D0 0F + bne NmiHandler_Loop356 ; CPU:$DA4B PRG:5A4B D0 0F ldy $03DE ; CPU:$DA4D PRG:5A4D AC DE 03 lda $0408,y ; CPU:$DA50 PRG:5A50 B9 08 04 cmp #$1B ; CPU:$DA53 PRG:5A53 C9 1B - bcc NmiHandler_Loop351 ; CPU:$DA55 PRG:5A55 90 05 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop350 -; Global: Branch target inside Label: taken when DA57. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop350: - pla ; CPU:$DA57 PRG:5A57 68 - pla ; CPU:$DA58 PRG:5A58 68 - jmp NmiHandler_OnNonzero86 ; CPU:$DA59 PRG:5A59 4C DC E2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop351 -; Global: Branch target inside Label: taken when DA5C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop351: - rts ; CPU:$DA5C PRG:5A5C 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_DA5D -; Global: Branch target inside Label: taken when DA5D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DA5D: - jsr Sub_DA37 ; CPU:$DA5D PRG:5A5D 20 37 DA - jsr Sub_E2D7 ; CPU:$DA60 PRG:5A60 20 D7 E2 - beq NmiHandler_Loop352 ; CPU:$DA63 PRG:5A63 F0 03 - jmp Sub_E0FD ; CPU:$DA65 PRG:5A65 4C FD E0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop352 -; Global: Branch target inside Label: taken when DA68. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop352: - jsr Sub_9B81 ; CPU:$DA68 PRG:5A68 20 81 9B - bcc NmiHandler_Loop353 ; CPU:$DA6B PRG:5A6B 90 03 - jmp Sub_E23A ; CPU:$DA6D PRG:5A6D 4C 3A E2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop353 -; Global: Branch target inside Label: taken when DA70. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop353: - jsr Sub_DE06 ; CPU:$DA70 PRG:5A70 20 06 DE - lda #$00 ; CPU:$DA73 PRG:5A73 A9 00 - sta $03EA ; CPU:$DA75 PRG:5A75 8D EA 03 - lda $0300 ; CPU:$DA78 PRG:5A78 AD 00 03 - and #$08 ; CPU:$DA7B PRG:5A7B 29 08 - beq NmiHandler_Loop354 ; CPU:$DA7D PRG:5A7D F0 0D - lda ZpBE ; CPU:$DA7F PRG:5A7F A5 BE - and #$10 ; CPU:$DA81 PRG:5A81 29 10 - bne NmiHandler_Loop354 ; CPU:$DA83 PRG:5A83 D0 07 - lda #$FE ; CPU:$DA85 PRG:5A85 A9 FE - sta $03EA ; CPU:$DA87 PRG:5A87 8D EA 03 - bne NmiHandler_Loop356 ; CPU:$DA8A PRG:5A8A D0 15 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop354 -; Global: Branch target inside Label: taken when DA8C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop354: - lda $0300 ; CPU:$DA8C PRG:5A8C AD 00 03 - and #$04 ; CPU:$DA8F PRG:5A8F 29 04 - beq NmiHandler_Loop356 ; CPU:$DA91 PRG:5A91 F0 0E - lda ZpBE ; CPU:$DA93 PRG:5A93 A5 BE - and #$10 ; CPU:$DA95 PRG:5A95 29 10 - beq NmiHandler_Loop355 ; CPU:$DA97 PRG:5A97 F0 03 - jmp Sub_DDAC ; CPU:$DA99 PRG:5A99 4C AC DD + bcc NmiHandler_Loop356 ; CPU:$DA55 PRG:5A55 90 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop355 -; Global: Branch target inside Label: taken when DA9C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop355. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop355: - lda #$02 ; CPU:$DA9C PRG:5A9C A9 02 - sta $03EA ; CPU:$DA9E PRG:5A9E 8D EA 03 + pla ; CPU:$DA57 PRG:5A57 68 + pla ; CPU:$DA58 PRG:5A58 68 + jmp NmiHandler_OnNonzero87 ; CPU:$DA59 PRG:5A59 4C DC E2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop356 -; Global: Branch target inside Label: taken when DAA1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop356. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop356: - jsr Sub_E617 ; CPU:$DAA1 PRG:5AA1 20 17 E6 - beq NmiHandler_Loop358 ; CPU:$DAA4 PRG:5AA4 F0 11 - jsr Sub_9B1F ; CPU:$DAA6 PRG:5AA6 20 1F 9B - bne NmiHandler_Loop357 ; CPU:$DAA9 PRG:5AA9 D0 07 - lda #$FD ; CPU:$DAAB PRG:5AAB A9 FD - sta ZpE0 ; CPU:$DAAD PRG:5AAD 85 E0 - jmp Sub_DB89 ; CPU:$DAAF PRG:5AAF 4C 89 DB + rts ; CPU:$DA5C PRG:5A5C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA5D +; Global: Branch target inside Sub: taken when DA5D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA5D: + jsr Sub_DA37 ; CPU:$DA5D PRG:5A5D 20 37 DA + jsr Sub_E2D7 ; CPU:$DA60 PRG:5A60 20 D7 E2 + beq NmiHandler_Loop357 ; CPU:$DA63 PRG:5A63 F0 03 + jmp Sub_E0FD ; CPU:$DA65 PRG:5A65 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop357 -; Global: Branch target inside Label: taken when DAB2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop357. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop357: - jsr Sub_9B18 ; CPU:$DAB2 PRG:5AB2 20 18 9B - bne NmiHandler_Loop360 ; CPU:$DAB5 PRG:5AB5 D0 14 + jsr Sub_9B81 ; CPU:$DA68 PRG:5A68 20 81 9B + bcc NmiHandler_Loop358 ; CPU:$DA6B PRG:5A6B 90 03 + jmp Sub_E23A ; CPU:$DA6D PRG:5A6D 4C 3A E2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop358 -; Global: Branch target inside Label: taken when DAB7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop358. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop358: - jsr Sub_E611 ; CPU:$DAB7 PRG:5AB7 20 11 E6 - beq NmiHandler_Loop361 ; CPU:$DABA PRG:5ABA F0 12 - jsr Sub_9B1F ; CPU:$DABC PRG:5ABC 20 1F 9B - beq NmiHandler_Loop359 ; CPU:$DABF PRG:5ABF F0 07 - lda #$03 ; CPU:$DAC1 PRG:5AC1 A9 03 - sta ZpE0 ; CPU:$DAC3 PRG:5AC3 85 E0 - jmp Sub_DB89 ; CPU:$DAC5 PRG:5AC5 4C 89 DB + jsr Sub_DE06 ; CPU:$DA70 PRG:5A70 20 06 DE + lda #$00 ; CPU:$DA73 PRG:5A73 A9 00 + sta $03EA ; CPU:$DA75 PRG:5A75 8D EA 03 + lda $0300 ; CPU:$DA78 PRG:5A78 AD 00 03 + and #$08 ; CPU:$DA7B PRG:5A7B 29 08 + beq NmiHandler_Loop359 ; CPU:$DA7D PRG:5A7D F0 0D + lda ZpBE ; CPU:$DA7F PRG:5A7F A5 BE + and #$10 ; CPU:$DA81 PRG:5A81 29 10 + bne NmiHandler_Loop359 ; CPU:$DA83 PRG:5A83 D0 07 + lda #$FE ; CPU:$DA85 PRG:5A85 A9 FE + sta $03EA ; CPU:$DA87 PRG:5A87 8D EA 03 + bne NmiHandler_Loop361 ; CPU:$DA8A PRG:5A8A D0 15 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop359 -; Global: Branch target inside Label: taken when DAC8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop359. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop359: - jsr Sub_9B11 ; CPU:$DAC8 PRG:5AC8 20 11 9B + lda $0300 ; CPU:$DA8C PRG:5A8C AD 00 03 + and #$04 ; CPU:$DA8F PRG:5A8F 29 04 + beq NmiHandler_Loop361 ; CPU:$DA91 PRG:5A91 F0 0E + lda ZpBE ; CPU:$DA93 PRG:5A93 A5 BE + and #$10 ; CPU:$DA95 PRG:5A95 29 10 + beq NmiHandler_Loop360 ; CPU:$DA97 PRG:5A97 F0 03 + jmp Sub_DDAC ; CPU:$DA99 PRG:5A99 4C AC DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop360 -; Global: Branch target inside Label: taken when DACB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop360. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop360: - jsr Sub_D920 ; CPU:$DACB PRG:5ACB 20 20 D9 + lda #$02 ; CPU:$DA9C PRG:5A9C A9 02 + sta $03EA ; CPU:$DA9E PRG:5A9E 8D EA 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop361 -; Global: Branch target inside Label: taken when DACE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop361. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop361: - jsr Sub_E139 ; CPU:$DACE PRG:5ACE 20 39 E1 - bcc NmiHandler_Loop362 ; CPU:$DAD1 PRG:5AD1 90 06 - jsr Sub_E0B5 ; CPU:$DAD3 PRG:5AD3 20 B5 E0 - jsr Sub_D95F ; CPU:$DAD6 PRG:5AD6 20 5F D9 + jsr Sub_E617 ; CPU:$DAA1 PRG:5AA1 20 17 E6 + beq NmiHandler_Loop363 ; CPU:$DAA4 PRG:5AA4 F0 11 + jsr Sub_9B1F ; CPU:$DAA6 PRG:5AA6 20 1F 9B + bne NmiHandler_Loop362 ; CPU:$DAA9 PRG:5AA9 D0 07 + lda #$FD ; CPU:$DAAB PRG:5AAB A9 FD + sta ZpE0 ; CPU:$DAAD PRG:5AAD 85 E0 + jmp Sub_DB89 ; CPU:$DAAF PRG:5AAF 4C 89 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop362 -; Global: Branch target inside Label: taken when DAD9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop362. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop362: - jsr Sub_9B03 ; CPU:$DAD9 PRG:5AD9 20 03 9B - jsr Sub_8358 ; CPU:$DADC PRG:5ADC 20 58 83 - bcc NmiHandler_Loop363 ; CPU:$DADF PRG:5ADF 90 03 - jsr Sub_D920 ; CPU:$DAE1 PRG:5AE1 20 20 D9 + jsr Sub_9B18 ; CPU:$DAB2 PRG:5AB2 20 18 9B + bne NmiHandler_Loop365 ; CPU:$DAB5 PRG:5AB5 D0 14 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop363 -; Global: Branch target inside Label: taken when DAE4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop363. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop363: - jmp Sub_DA5D ; CPU:$DAE4 PRG:5AE4 4C 5D DA -; ----------------------------------------------------------------------------- -; Routine: Sub_DAE7 -; Global: Branch target inside Label: taken when DAE7. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DAE7: - jsr Sub_E072 ; CPU:$DAE7 PRG:5AE7 20 72 E0 - jsr Sub_DDC7 ; CPU:$DAEA PRG:5AEA 20 C7 DD - lda #$00 ; CPU:$DAED PRG:5AED A9 00 - sta ZpD9,x ; CPU:$DAEF PRG:5AEF 95 D9 - jsr Sub_F1D3 ; CPU:$DAF1 PRG:5AF1 20 D3 F1 - jsr Sub_D920 ; CPU:$DAF4 PRG:5AF4 20 20 D9 - jmp Sub_DA5D ; CPU:$DAF7 PRG:5AF7 4C 5D DA -; ----------------------------------------------------------------------------- -; Routine: Sub_DAFA -; Global: Branch target inside Label: taken when DAFA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DAFA: - jsr Sub_E2D7 ; CPU:$DAFA PRG:5AFA 20 D7 E2 - beq NmiHandler_Loop364 ; CPU:$DAFD PRG:5AFD F0 03 - jmp Sub_E0FD ; CPU:$DAFF PRG:5AFF 4C FD E0 + jsr Sub_E611 ; CPU:$DAB7 PRG:5AB7 20 11 E6 + beq NmiHandler_Loop366 ; CPU:$DABA PRG:5ABA F0 12 + jsr Sub_9B1F ; CPU:$DABC PRG:5ABC 20 1F 9B + beq NmiHandler_Loop364 ; CPU:$DABF PRG:5ABF F0 07 + lda #$03 ; CPU:$DAC1 PRG:5AC1 A9 03 + sta ZpE0 ; CPU:$DAC3 PRG:5AC3 85 E0 + jmp Sub_DB89 ; CPU:$DAC5 PRG:5AC5 4C 89 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop364 -; Global: Branch target inside Label: taken when DB02. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop364. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop364: - jsr Sub_9B81 ; CPU:$DB02 PRG:5B02 20 81 9B - bcc NmiHandler_Loop365 ; CPU:$DB05 PRG:5B05 90 03 - jmp Sub_E23A ; CPU:$DB07 PRG:5B07 4C 3A E2 + jsr Sub_9B11 ; CPU:$DAC8 PRG:5AC8 20 11 9B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop365 -; Global: Branch target inside Label: taken when DB0A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop365. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop365: - jsr Sub_DE06 ; CPU:$DB0A PRG:5B0A 20 06 DE - lda #$00 ; CPU:$DB0D PRG:5B0D A9 00 - sta $03EA ; CPU:$DB0F PRG:5B0F 8D EA 03 - lda $0300 ; CPU:$DB12 PRG:5B12 AD 00 03 - and #$08 ; CPU:$DB15 PRG:5B15 29 08 - beq NmiHandler_Loop366 ; CPU:$DB17 PRG:5B17 F0 0D - lda ZpBE ; CPU:$DB19 PRG:5B19 A5 BE - and #$10 ; CPU:$DB1B PRG:5B1B 29 10 - bne NmiHandler_Loop366 ; CPU:$DB1D PRG:5B1D D0 07 - lda #$FE ; CPU:$DB1F PRG:5B1F A9 FE - sta $03EA ; CPU:$DB21 PRG:5B21 8D EA 03 - bne NmiHandler_Loop368 ; CPU:$DB24 PRG:5B24 D0 15 + jsr Sub_D920 ; CPU:$DACB PRG:5ACB 20 20 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop366 -; Global: Branch target inside Label: taken when DB26. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop366. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop366: - lda $0300 ; CPU:$DB26 PRG:5B26 AD 00 03 - and #$04 ; CPU:$DB29 PRG:5B29 29 04 - beq NmiHandler_Loop368 ; CPU:$DB2B PRG:5B2B F0 0E - lda ZpBE ; CPU:$DB2D PRG:5B2D A5 BE - and #$10 ; CPU:$DB2F PRG:5B2F 29 10 - beq NmiHandler_Loop367 ; CPU:$DB31 PRG:5B31 F0 03 - jmp Sub_DDAC ; CPU:$DB33 PRG:5B33 4C AC DD + jsr Sub_E139 ; CPU:$DACE PRG:5ACE 20 39 E1 + bcc NmiHandler_Loop367 ; CPU:$DAD1 PRG:5AD1 90 06 + jsr Sub_E0B5 ; CPU:$DAD3 PRG:5AD3 20 B5 E0 + jsr Sub_D95F ; CPU:$DAD6 PRG:5AD6 20 5F D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop367 -; Global: Branch target inside Label: taken when DB36. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop367. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop367: - lda #$02 ; CPU:$DB36 PRG:5B36 A9 02 - sta $03EA ; CPU:$DB38 PRG:5B38 8D EA 03 + jsr Sub_9B03 ; CPU:$DAD9 PRG:5AD9 20 03 9B + jsr Sub_8358 ; CPU:$DADC PRG:5ADC 20 58 83 + bcc NmiHandler_Loop368 ; CPU:$DADF PRG:5ADF 90 03 + jsr Sub_D920 ; CPU:$DAE1 PRG:5AE1 20 20 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop368 -; Global: Branch target inside Label: taken when DB3B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop368. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop368: - jsr Sub_E611 ; CPU:$DB3B PRG:5B3B 20 11 E6 - beq NmiHandler_Loop369 ; CPU:$DB3E PRG:5B3E F0 0B - jsr Sub_9B1F ; CPU:$DB40 PRG:5B40 20 1F 9B - bne NmiHandler_Loop371 ; CPU:$DB43 PRG:5B43 D0 19 - jsr Sub_9B11 ; CPU:$DB45 PRG:5B45 20 11 9B - jmp Sub_DAE7 ; CPU:$DB48 PRG:5B48 4C E7 DA + jmp Sub_DA5D ; CPU:$DAE4 PRG:5AE4 4C 5D DA +; ----------------------------------------------------------------------------- +; Routine: Sub_DAE7 +; Global: Branch target inside Sub: taken when DAE7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAE7: + jsr Sub_E072 ; CPU:$DAE7 PRG:5AE7 20 72 E0 + jsr Sub_DDC7 ; CPU:$DAEA PRG:5AEA 20 C7 DD + lda #$00 ; CPU:$DAED PRG:5AED A9 00 + sta ZpD9,x ; CPU:$DAEF PRG:5AEF 95 D9 + jsr Sub_F1D3 ; CPU:$DAF1 PRG:5AF1 20 D3 F1 + jsr Sub_D920 ; CPU:$DAF4 PRG:5AF4 20 20 D9 + jmp Sub_DA5D ; CPU:$DAF7 PRG:5AF7 4C 5D DA +; ----------------------------------------------------------------------------- +; Routine: Sub_DAFA +; Global: Branch target inside Sub: taken when DAFA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAFA: + jsr Sub_E2D7 ; CPU:$DAFA PRG:5AFA 20 D7 E2 + beq NmiHandler_Loop369 ; CPU:$DAFD PRG:5AFD F0 03 + jmp Sub_E0FD ; CPU:$DAFF PRG:5AFF 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop369 -; Global: Branch target inside Label: taken when DB4B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop369. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop369: - jsr Sub_E617 ; CPU:$DB4B PRG:5B4B 20 17 E6 - bne NmiHandler_Loop370 ; CPU:$DB4E PRG:5B4E D0 03 - jmp Sub_DAE7 ; CPU:$DB50 PRG:5B50 4C E7 DA + jsr Sub_9B81 ; CPU:$DB02 PRG:5B02 20 81 9B + bcc NmiHandler_Loop370 ; CPU:$DB05 PRG:5B05 90 03 + jmp Sub_E23A ; CPU:$DB07 PRG:5B07 4C 3A E2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop370 -; Global: Branch target inside Label: taken when DB53. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop370. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop370: - jsr Sub_9B1F ; CPU:$DB53 PRG:5B53 20 1F 9B - beq NmiHandler_Loop371 ; CPU:$DB56 PRG:5B56 F0 06 - jsr Sub_9B18 ; CPU:$DB58 PRG:5B58 20 18 9B - jmp Sub_DAE7 ; CPU:$DB5B PRG:5B5B 4C E7 DA + jsr Sub_DE06 ; CPU:$DB0A PRG:5B0A 20 06 DE + lda #$00 ; CPU:$DB0D PRG:5B0D A9 00 + sta $03EA ; CPU:$DB0F PRG:5B0F 8D EA 03 + lda $0300 ; CPU:$DB12 PRG:5B12 AD 00 03 + and #$08 ; CPU:$DB15 PRG:5B15 29 08 + beq NmiHandler_Loop371 ; CPU:$DB17 PRG:5B17 F0 0D + lda ZpBE ; CPU:$DB19 PRG:5B19 A5 BE + and #$10 ; CPU:$DB1B PRG:5B1B 29 10 + bne NmiHandler_Loop371 ; CPU:$DB1D PRG:5B1D D0 07 + lda #$FE ; CPU:$DB1F PRG:5B1F A9 FE + sta $03EA ; CPU:$DB21 PRG:5B21 8D EA 03 + bne NmiHandler_Loop373 ; CPU:$DB24 PRG:5B24 D0 15 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop371 -; Global: Branch target inside Label: taken when DB5E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop371. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop371: - jsr Sub_9A3B ; CPU:$DB5E PRG:5B5E 20 3B 9A - bcs NmiHandler_Loop373 ; CPU:$DB61 PRG:5B61 B0 0D - cmp #$00 ; CPU:$DB63 PRG:5B63 C9 00 - beq NmiHandler_Loop372 ; CPU:$DB65 PRG:5B65 F0 06 - jsr Sub_DBEE ; CPU:$DB67 PRG:5B67 20 EE DB - jmp Sub_E07C ; CPU:$DB6A PRG:5B6A 4C 7C E0 + lda $0300 ; CPU:$DB26 PRG:5B26 AD 00 03 + and #$04 ; CPU:$DB29 PRG:5B29 29 04 + beq NmiHandler_Loop373 ; CPU:$DB2B PRG:5B2B F0 0E + lda ZpBE ; CPU:$DB2D PRG:5B2D A5 BE + and #$10 ; CPU:$DB2F PRG:5B2F 29 10 + beq NmiHandler_Loop372 ; CPU:$DB31 PRG:5B31 F0 03 + jmp Sub_DDAC ; CPU:$DB33 PRG:5B33 4C AC DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop372 -; Global: Branch target inside Label: taken when DB6D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop372. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop372: - jsr Sub_DFF1 ; CPU:$DB6D PRG:5B6D 20 F1 DF + lda #$02 ; CPU:$DB36 PRG:5B36 A9 02 + sta $03EA ; CPU:$DB38 PRG:5B38 8D EA 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop373 -; Global: Branch target inside Label: taken when DB70. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop373. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop373: - jsr Sub_E139 ; CPU:$DB70 PRG:5B70 20 39 E1 - bcc NmiHandler_Loop374 ; CPU:$DB73 PRG:5B73 90 06 - jsr Sub_E0B5 ; CPU:$DB75 PRG:5B75 20 B5 E0 - jsr Sub_DBD4 ; CPU:$DB78 PRG:5B78 20 D4 DB + jsr Sub_E611 ; CPU:$DB3B PRG:5B3B 20 11 E6 + beq NmiHandler_Loop374 ; CPU:$DB3E PRG:5B3E F0 0B + jsr Sub_9B1F ; CPU:$DB40 PRG:5B40 20 1F 9B + bne NmiHandler_Loop376 ; CPU:$DB43 PRG:5B43 D0 19 + jsr Sub_9B11 ; CPU:$DB45 PRG:5B45 20 11 9B + jmp Sub_DAE7 ; CPU:$DB48 PRG:5B48 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop374 -; Global: Branch target inside Label: taken when DB7B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop374. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop374: - jsr Sub_9B03 ; CPU:$DB7B PRG:5B7B 20 03 9B - jsr Sub_8358 ; CPU:$DB7E PRG:5B7E 20 58 83 - bcc NmiHandler_Loop375 ; CPU:$DB81 PRG:5B81 90 03 - jsr Sub_DB95 ; CPU:$DB83 PRG:5B83 20 95 DB + jsr Sub_E617 ; CPU:$DB4B PRG:5B4B 20 17 E6 + bne NmiHandler_Loop375 ; CPU:$DB4E PRG:5B4E D0 03 + jmp Sub_DAE7 ; CPU:$DB50 PRG:5B50 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop375 -; Global: Branch target inside Label: taken when DB86. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop375. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop375: - jmp Sub_DAFA ; CPU:$DB86 PRG:5B86 4C FA DA -; ----------------------------------------------------------------------------- -; Routine: Sub_DB89 -; Global: Branch target inside Label: taken when DB89. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DB89: - jsr Sub_F1D3 ; CPU:$DB89 PRG:5B89 20 D3 F1 - jsr Sub_DDC7 ; CPU:$DB8C PRG:5B8C 20 C7 DD - jsr Sub_DB95 ; CPU:$DB8F PRG:5B8F 20 95 DB - jmp NmiHandler_Loop373 ; CPU:$DB92 PRG:5B92 4C 70 DB -; ----------------------------------------------------------------------------- -; Routine: Sub_DB95 -; Global: Branch target inside Label: taken when DB95. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DB95: - jsr Sub_9B1F ; CPU:$DB95 PRG:5B95 20 1F 9B - beq NmiHandler_Loop377 ; CPU:$DB98 PRG:5B98 F0 1D - lda $0336,x ; CPU:$DB9A PRG:5B9A BD 36 03 - and #$20 ; CPU:$DB9D PRG:5B9D 29 20 - bne NmiHandler_Loop376 ; CPU:$DB9F PRG:5B9F D0 0B - lda #$B6 ; CPU:$DBA1 PRG:5BA1 A9 B6 - sta Zp73 ; CPU:$DBA3 PRG:5BA3 85 73 - lda #$E6 ; CPU:$DBA5 PRG:5BA5 A9 E6 - sta Zp74 ; CPU:$DBA7 PRG:5BA7 85 74 - jmp Sub_8334 ; CPU:$DBA9 PRG:5BA9 4C 34 83 + jsr Sub_9B1F ; CPU:$DB53 PRG:5B53 20 1F 9B + beq NmiHandler_Loop376 ; CPU:$DB56 PRG:5B56 F0 06 + jsr Sub_9B18 ; CPU:$DB58 PRG:5B58 20 18 9B + jmp Sub_DAE7 ; CPU:$DB5B PRG:5B5B 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop376 -; Global: Branch target inside Label: taken when DBAC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop376. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop376: - lda #$92 ; CPU:$DBAC PRG:5BAC A9 92 - sta Zp73 ; CPU:$DBAE PRG:5BAE 85 73 - lda #$E7 ; CPU:$DBB0 PRG:5BB0 A9 E7 - sta Zp74 ; CPU:$DBB2 PRG:5BB2 85 74 - jmp Sub_8334 ; CPU:$DBB4 PRG:5BB4 4C 34 83 + jsr Sub_9A3B ; CPU:$DB5E PRG:5B5E 20 3B 9A + bcs NmiHandler_Loop378 ; CPU:$DB61 PRG:5B61 B0 0D + cmp #$00 ; CPU:$DB63 PRG:5B63 C9 00 + beq NmiHandler_Loop377 ; CPU:$DB65 PRG:5B65 F0 06 + jsr Sub_DBEE ; CPU:$DB67 PRG:5B67 20 EE DB + jmp Sub_E07C ; CPU:$DB6A PRG:5B6A 4C 7C E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop377 -; Global: Branch target inside Label: taken when DBB7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop377. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop377: - lda $0336,x ; CPU:$DBB7 PRG:5BB7 BD 36 03 - and #$20 ; CPU:$DBBA PRG:5BBA 29 20 - bne NmiHandler_Loop378 ; CPU:$DBBC PRG:5BBC D0 0B - lda #$BC ; CPU:$DBBE PRG:5BBE A9 BC - sta Zp73 ; CPU:$DBC0 PRG:5BC0 85 73 - lda #$E6 ; CPU:$DBC2 PRG:5BC2 A9 E6 - sta Zp74 ; CPU:$DBC4 PRG:5BC4 85 74 - jmp Sub_8334 ; CPU:$DBC6 PRG:5BC6 4C 34 83 + jsr Sub_DFF1 ; CPU:$DB6D PRG:5B6D 20 F1 DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop378 -; Global: Branch target inside Label: taken when DBC9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop378. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop378: - lda #$98 ; CPU:$DBC9 PRG:5BC9 A9 98 - sta Zp73 ; CPU:$DBCB PRG:5BCB 85 73 - lda #$E7 ; CPU:$DBCD PRG:5BCD A9 E7 - sta Zp74 ; CPU:$DBCF PRG:5BCF 85 74 - jmp Sub_8334 ; CPU:$DBD1 PRG:5BD1 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_DBD4 -; Global: Branch target inside Label: taken when DBD4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DBD4: - jsr Sub_9B1F ; CPU:$DBD4 PRG:5BD4 20 1F 9B - beq NmiHandler_Loop379 ; CPU:$DBD7 PRG:5BD7 F0 0A - lda #$3E ; CPU:$DBD9 PRG:5BD9 A9 3E - sta Zp73 ; CPU:$DBDB PRG:5BDB 85 73 - lda #$E7 ; CPU:$DBDD PRG:5BDD A9 E7 - sta Zp74 ; CPU:$DBDF PRG:5BDF 85 74 - bne NmiHandler_Loop380 ; CPU:$DBE1 PRG:5BE1 D0 08 + jsr Sub_E139 ; CPU:$DB70 PRG:5B70 20 39 E1 + bcc NmiHandler_Loop379 ; CPU:$DB73 PRG:5B73 90 06 + jsr Sub_E0B5 ; CPU:$DB75 PRG:5B75 20 B5 E0 + jsr Sub_DBD4 ; CPU:$DB78 PRG:5B78 20 D4 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop379 -; Global: Branch target inside Label: taken when DBE3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop379. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop379: - lda #$44 ; CPU:$DBE3 PRG:5BE3 A9 44 - sta Zp73 ; CPU:$DBE5 PRG:5BE5 85 73 - lda #$E7 ; CPU:$DBE7 PRG:5BE7 A9 E7 - sta Zp74 ; CPU:$DBE9 PRG:5BE9 85 74 + jsr Sub_9B03 ; CPU:$DB7B PRG:5B7B 20 03 9B + jsr Sub_8358 ; CPU:$DB7E PRG:5B7E 20 58 83 + bcc NmiHandler_Loop380 ; CPU:$DB81 PRG:5B81 90 03 + jsr Sub_DB95 ; CPU:$DB83 PRG:5B83 20 95 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop380 -; Global: Branch target inside Label: taken when DBEB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop380. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop380: - jmp Sub_8334 ; CPU:$DBEB PRG:5BEB 4C 34 83 + jmp Sub_DAFA ; CPU:$DB86 PRG:5B86 4C FA DA ; ----------------------------------------------------------------------------- -; Routine: Sub_DBEE -; Global: Branch target inside Label: taken when DBEE. -; Local: Part of Label. +; Routine: Sub_DB89 +; Global: Branch target inside Sub: taken when DB89. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_DBEE: - lda ZpB7,x ; CPU:$DBEE PRG:5BEE B5 B7 - and #$EB ; CPU:$DBF0 PRG:5BF0 29 EB - sta ZpB7,x ; CPU:$DBF2 PRG:5BF2 95 B7 - ldy #$00 ; CPU:$DBF4 PRG:5BF4 A0 00 +Sub_DB89: + jsr Sub_F1D3 ; CPU:$DB89 PRG:5B89 20 D3 F1 + jsr Sub_DDC7 ; CPU:$DB8C PRG:5B8C 20 C7 DD + jsr Sub_DB95 ; CPU:$DB8F PRG:5B8F 20 95 DB + jmp NmiHandler_Loop378 ; CPU:$DB92 PRG:5B92 4C 70 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero84 -; Global: Branch target inside Label: taken when DBF6. -; Local: Part of Label. +; Routine: Sub_DB95 +; Global: Branch target inside Sub: taken when DB95. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero84: - lda $04B1,y ; CPU:$DBF6 PRG:5BF6 B9 B1 04 - and $E638,x ; CPU:$DBF9 PRG:5BF9 3D 38 E6 - sta $04B1,y ; CPU:$DBFC PRG:5BFC 99 B1 04 - iny ; CPU:$DBFF PRG:5BFF C8 - cpy #$0D ; CPU:$DC00 PRG:5C00 C0 0D - bne NmiHandler_OnNonzero84 ; CPU:$DC02 PRG:5C02 D0 F2 - rts ; CPU:$DC04 PRG:5C04 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_DC05 -; Global: Branch target inside Label: taken when DC05. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DC05: - jsr Sub_F1D3 ; CPU:$DC05 PRG:5C05 20 D3 F1 - jsr Sub_DDC7 ; CPU:$DC08 PRG:5C08 20 C7 DD - lda ZpBE ; CPU:$DC0B PRG:5C0B A5 BE - ora #$40 ; CPU:$DC0D PRG:5C0D 09 40 - sta ZpBE ; CPU:$DC0F PRG:5C0F 85 BE - and #$08 ; CPU:$DC11 PRG:5C11 29 08 - beq NmiHandler_Loop381 ; CPU:$DC13 PRG:5C13 F0 0A - lda #$A2 ; CPU:$DC15 PRG:5C15 A9 A2 - sta Zp73 ; CPU:$DC17 PRG:5C17 85 73 - lda #$E6 ; CPU:$DC19 PRG:5C19 A9 E6 - sta Zp74 ; CPU:$DC1B PRG:5C1B 85 74 - bne NmiHandler_Loop382 ; CPU:$DC1D PRG:5C1D D0 08 +Sub_DB95: + jsr Sub_9B1F ; CPU:$DB95 PRG:5B95 20 1F 9B + beq NmiHandler_Loop382 ; CPU:$DB98 PRG:5B98 F0 1D + lda $0336,x ; CPU:$DB9A PRG:5B9A BD 36 03 + and #$20 ; CPU:$DB9D PRG:5B9D 29 20 + bne NmiHandler_Loop381 ; CPU:$DB9F PRG:5B9F D0 0B + lda #$B6 ; CPU:$DBA1 PRG:5BA1 A9 B6 + sta VramWritePtrLo ; CPU:$DBA3 PRG:5BA3 85 73 + lda #$E6 ; CPU:$DBA5 PRG:5BA5 A9 E6 + sta VramWritePtrHi ; CPU:$DBA7 PRG:5BA7 85 74 + jmp Sub_8334 ; CPU:$DBA9 PRG:5BA9 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop381 -; Global: Branch target inside Label: taken when DC1F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop381. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop381: - lda #$A8 ; CPU:$DC1F PRG:5C1F A9 A8 - sta Zp73 ; CPU:$DC21 PRG:5C21 85 73 - lda #$E6 ; CPU:$DC23 PRG:5C23 A9 E6 - sta Zp74 ; CPU:$DC25 PRG:5C25 85 74 + lda #$92 ; CPU:$DBAC PRG:5BAC A9 92 + sta VramWritePtrLo ; CPU:$DBAE PRG:5BAE 85 73 + lda #$E7 ; CPU:$DBB0 PRG:5BB0 A9 E7 + sta VramWritePtrHi ; CPU:$DBB2 PRG:5BB2 85 74 + jmp Sub_8334 ; CPU:$DBB4 PRG:5BB4 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop382 -; Global: Branch target inside Label: taken when DC27. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop382. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop382: - jsr Sub_8334 ; CPU:$DC27 PRG:5C27 20 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear21 -; Global: Branch target inside Label: taken when DC2A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear21: - jsr Sub_8358 ; CPU:$DC2A PRG:5C2A 20 58 83 - bcc NmiHandler_OnCarryClear21 ; CPU:$DC2D PRG:5C2D 90 FB - jsr Sub_E072 ; CPU:$DC2F PRG:5C2F 20 72 E0 - lda ZpBE ; CPU:$DC32 PRG:5C32 A5 BE - ora #$40 ; CPU:$DC34 PRG:5C34 09 40 - sta ZpBE ; CPU:$DC36 PRG:5C36 85 BE - lda ZpCF ; CPU:$DC38 PRG:5C38 A5 CF - bpl NmiHandler_Loop384 ; CPU:$DC3A PRG:5C3A 10 0D - lda $03EA ; CPU:$DC3C PRG:5C3C AD EA 03 - bmi NmiHandler_Loop383 ; CPU:$DC3F PRG:5C3F 30 04 - lda #$E0 ; CPU:$DC41 PRG:5C41 A9 E0 - bne NmiHandler_Loop386 ; CPU:$DC43 PRG:5C43 D0 0F + lda $0336,x ; CPU:$DBB7 PRG:5BB7 BD 36 03 + and #$20 ; CPU:$DBBA PRG:5BBA 29 20 + bne NmiHandler_Loop383 ; CPU:$DBBC PRG:5BBC D0 0B + lda #$BC ; CPU:$DBBE PRG:5BBE A9 BC + sta VramWritePtrLo ; CPU:$DBC0 PRG:5BC0 85 73 + lda #$E6 ; CPU:$DBC2 PRG:5BC2 A9 E6 + sta VramWritePtrHi ; CPU:$DBC4 PRG:5BC4 85 74 + jmp Sub_8334 ; CPU:$DBC6 PRG:5BC6 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop383 -; Global: Branch target inside Label: taken when DC45. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop383. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop383: - lda #$C8 ; CPU:$DC45 PRG:5C45 A9 C8 - bne NmiHandler_Loop386 ; CPU:$DC47 PRG:5C47 D0 0B + lda #$98 ; CPU:$DBC9 PRG:5BC9 A9 98 + sta VramWritePtrLo ; CPU:$DBCB PRG:5BCB 85 73 + lda #$E7 ; CPU:$DBCD PRG:5BCD A9 E7 + sta VramWritePtrHi ; CPU:$DBCF PRG:5BCF 85 74 + jmp Sub_8334 ; CPU:$DBD1 PRG:5BD1 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_DBD4 +; Global: Branch target inside Sub: taken when DBD4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DBD4: + jsr Sub_9B1F ; CPU:$DBD4 PRG:5BD4 20 1F 9B + beq NmiHandler_Loop384 ; CPU:$DBD7 PRG:5BD7 F0 0A + lda #$3E ; CPU:$DBD9 PRG:5BD9 A9 3E + sta VramWritePtrLo ; CPU:$DBDB PRG:5BDB 85 73 + lda #$E7 ; CPU:$DBDD PRG:5BDD A9 E7 + sta VramWritePtrHi ; CPU:$DBDF PRG:5BDF 85 74 + bne NmiHandler_Loop385 ; CPU:$DBE1 PRG:5BE1 D0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop384 -; Global: Branch target inside Label: taken when DC49. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop384. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop384: - lda $03EA ; CPU:$DC49 PRG:5C49 AD EA 03 - bmi NmiHandler_Loop385 ; CPU:$DC4C PRG:5C4C 30 04 - lda #$18 ; CPU:$DC4E PRG:5C4E A9 18 - bne NmiHandler_Loop386 ; CPU:$DC50 PRG:5C50 D0 02 + lda #$44 ; CPU:$DBE3 PRG:5BE3 A9 44 + sta VramWritePtrLo ; CPU:$DBE5 PRG:5BE5 85 73 + lda #$E7 ; CPU:$DBE7 PRG:5BE7 A9 E7 + sta VramWritePtrHi ; CPU:$DBE9 PRG:5BE9 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop385 -; Global: Branch target inside Label: taken when DC52. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop385. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop385: - lda #$30 ; CPU:$DC52 PRG:5C52 A9 30 + jmp Sub_8334 ; CPU:$DBEB PRG:5BEB 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_DBEE +; Global: Branch target inside Sub: taken when DBEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DBEE: + lda SpriteIndex,x ; CPU:$DBEE PRG:5BEE B5 B7 + and #$EB ; CPU:$DBF0 PRG:5BF0 29 EB + sta SpriteIndex,x ; CPU:$DBF2 PRG:5BF2 95 B7 + ldy #$00 ; CPU:$DBF4 PRG:5BF4 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero85 +; Global: Branch target inside NmiHandler: taken when OnNonzero85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero85: + lda $04B1,y ; CPU:$DBF6 PRG:5BF6 B9 B1 04 + and $E638,x ; CPU:$DBF9 PRG:5BF9 3D 38 E6 + sta $04B1,y ; CPU:$DBFC PRG:5BFC 99 B1 04 + iny ; CPU:$DBFF PRG:5BFF C8 + cpy #$0D ; CPU:$DC00 PRG:5C00 C0 0D + bne NmiHandler_OnNonzero85 ; CPU:$DC02 PRG:5C02 D0 F2 + rts ; CPU:$DC04 PRG:5C04 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC05 +; Global: Branch target inside Sub: taken when DC05. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC05: + jsr Sub_F1D3 ; CPU:$DC05 PRG:5C05 20 D3 F1 + jsr Sub_DDC7 ; CPU:$DC08 PRG:5C08 20 C7 DD + lda ZpBE ; CPU:$DC0B PRG:5C0B A5 BE + ora #$40 ; CPU:$DC0D PRG:5C0D 09 40 + sta ZpBE ; CPU:$DC0F PRG:5C0F 85 BE + and #$08 ; CPU:$DC11 PRG:5C11 29 08 + beq NmiHandler_Loop386 ; CPU:$DC13 PRG:5C13 F0 0A + lda #$A2 ; CPU:$DC15 PRG:5C15 A9 A2 + sta VramWritePtrLo ; CPU:$DC17 PRG:5C17 85 73 + lda #$E6 ; CPU:$DC19 PRG:5C19 A9 E6 + sta VramWritePtrHi ; CPU:$DC1B PRG:5C1B 85 74 + bne NmiHandler_Loop387 ; CPU:$DC1D PRG:5C1D D0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop386 -; Global: Branch target inside Label: taken when DC54. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop386. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop386: + lda #$A8 ; CPU:$DC1F PRG:5C1F A9 A8 + sta VramWritePtrLo ; CPU:$DC21 PRG:5C21 85 73 + lda #$E6 ; CPU:$DC23 PRG:5C23 A9 E6 + sta VramWritePtrHi ; CPU:$DC25 PRG:5C25 85 74 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop387 +; Global: Branch target inside NmiHandler: taken when Loop387. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop387: + jsr Sub_8334 ; CPU:$DC27 PRG:5C27 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear24 +; Global: Branch target inside NmiHandler: taken when OnCarryClear24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear24: + jsr Sub_8358 ; CPU:$DC2A PRG:5C2A 20 58 83 + bcc NmiHandler_OnCarryClear24 ; CPU:$DC2D PRG:5C2D 90 FB + jsr Sub_E072 ; CPU:$DC2F PRG:5C2F 20 72 E0 + lda ZpBE ; CPU:$DC32 PRG:5C32 A5 BE + ora #$40 ; CPU:$DC34 PRG:5C34 09 40 + sta ZpBE ; CPU:$DC36 PRG:5C36 85 BE + lda ZpCF ; CPU:$DC38 PRG:5C38 A5 CF + bpl NmiHandler_Loop389 ; CPU:$DC3A PRG:5C3A 10 0D + lda $03EA ; CPU:$DC3C PRG:5C3C AD EA 03 + bmi NmiHandler_Loop388 ; CPU:$DC3F PRG:5C3F 30 04 + lda #$E0 ; CPU:$DC41 PRG:5C41 A9 E0 + bne NmiHandler_Loop391 ; CPU:$DC43 PRG:5C43 D0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop388 +; Global: Branch target inside NmiHandler: taken when Loop388. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop388: + lda #$C8 ; CPU:$DC45 PRG:5C45 A9 C8 + bne NmiHandler_Loop391 ; CPU:$DC47 PRG:5C47 D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop389 +; Global: Branch target inside NmiHandler: taken when Loop389. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop389: + lda $03EA ; CPU:$DC49 PRG:5C49 AD EA 03 + bmi NmiHandler_Loop390 ; CPU:$DC4C PRG:5C4C 30 04 + lda #$18 ; CPU:$DC4E PRG:5C4E A9 18 + bne NmiHandler_Loop391 ; CPU:$DC50 PRG:5C50 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop390 +; Global: Branch target inside NmiHandler: taken when Loop390. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop390: + lda #$30 ; CPU:$DC52 PRG:5C52 A9 30 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop391 +; Global: Branch target inside NmiHandler: taken when Loop391. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop391: sta ZpCF ; CPU:$DC54 PRG:5C54 85 CF lda #$01 ; CPU:$DC56 PRG:5C56 A9 01 sta $032C ; CPU:$DC58 PRG:5C58 8D 2C 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC5B -; Global: Branch target inside Label: taken when DC5B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DC5B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13321,413 +13628,413 @@ NmiHandler_Loop386: Sub_DC5B: lda $0673 ; CPU:$DC5B PRG:5C5B AD 73 06 and #$01 ; CPU:$DC5E PRG:5C5E 29 01 - bne NmiHandler_Loop390 ; CPU:$DC60 PRG:5C60 D0 2C + bne NmiHandler_Loop395 ; CPU:$DC60 PRG:5C60 D0 2C lda $03EA ; CPU:$DC62 PRG:5C62 AD EA 03 sta $055D ; CPU:$DC65 PRG:5C65 8D 5D 05 - jsr Sub_DFF1 ; CPU:$DC68 PRG:5C68 20 F1 DF + jsr Sub_DFF1 ; CPU:$DC68 PRG:5C68 20 F1 DF lda $03EA ; CPU:$DC6B PRG:5C6B AD EA 03 - bmi NmiHandler_Loop388 ; CPU:$DC6E PRG:5C6E 30 10 + bmi NmiHandler_Loop393 ; CPU:$DC6E PRG:5C6E 30 10 lda ZpCF ; CPU:$DC70 PRG:5C70 A5 CF - bmi NmiHandler_Loop387 ; CPU:$DC72 PRG:5C72 30 06 + bmi NmiHandler_Loop392 ; CPU:$DC72 PRG:5C72 30 06 cmp #$30 ; CPU:$DC74 PRG:5C74 C9 30 - beq NmiHandler_Loop391 ; CPU:$DC76 PRG:5C76 F0 1C - bne NmiHandler_Loop390 ; CPU:$DC78 PRG:5C78 D0 14 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop387 -; Global: Branch target inside Label: taken when DC7A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop387: - cmp #$C8 ; CPU:$DC7A PRG:5C7A C9 C8 - beq NmiHandler_Loop391 ; CPU:$DC7C PRG:5C7C F0 16 - bne NmiHandler_Loop390 ; CPU:$DC7E PRG:5C7E D0 0E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop388 -; Global: Branch target inside Label: taken when DC80. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop388: - lda ZpCF ; CPU:$DC80 PRG:5C80 A5 CF - bmi NmiHandler_Loop389 ; CPU:$DC82 PRG:5C82 30 06 - cmp #$18 ; CPU:$DC84 PRG:5C84 C9 18 - beq NmiHandler_Loop391 ; CPU:$DC86 PRG:5C86 F0 0C - bne NmiHandler_Loop390 ; CPU:$DC88 PRG:5C88 D0 04 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop389 -; Global: Branch target inside Label: taken when DC8A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop389: - cmp #$E0 ; CPU:$DC8A PRG:5C8A C9 E0 - beq NmiHandler_Loop391 ; CPU:$DC8C PRG:5C8C F0 06 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop390 -; Global: Branch target inside Label: taken when DC8E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop390: - jsr Sub_82A3 ; CPU:$DC8E PRG:5C8E 20 A3 82 - jmp Sub_DC5B ; CPU:$DC91 PRG:5C91 4C 5B DC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop391 -; Global: Branch target inside Label: taken when DC94. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop391: - jsr Sub_E077 ; CPU:$DC94 PRG:5C94 20 77 E0 - jsr Sub_9B1F ; CPU:$DC97 PRG:5C97 20 1F 9B - beq NmiHandler_Loop392 ; CPU:$DC9A PRG:5C9A F0 0A - lda #$A2 ; CPU:$DC9C PRG:5C9C A9 A2 - sta Zp73 ; CPU:$DC9E PRG:5C9E 85 73 - lda #$E6 ; CPU:$DCA0 PRG:5CA0 A9 E6 - sta Zp74 ; CPU:$DCA2 PRG:5CA2 85 74 - bne NmiHandler_Loop393 ; CPU:$DCA4 PRG:5CA4 D0 08 + beq NmiHandler_Loop396 ; CPU:$DC76 PRG:5C76 F0 1C + bne NmiHandler_Loop395 ; CPU:$DC78 PRG:5C78 D0 14 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop392 -; Global: Branch target inside Label: taken when DCA6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop392. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop392: - lda #$A8 ; CPU:$DCA6 PRG:5CA6 A9 A8 - sta Zp73 ; CPU:$DCA8 PRG:5CA8 85 73 - lda #$E6 ; CPU:$DCAA PRG:5CAA A9 E6 - sta Zp74 ; CPU:$DCAC PRG:5CAC 85 74 + cmp #$C8 ; CPU:$DC7A PRG:5C7A C9 C8 + beq NmiHandler_Loop396 ; CPU:$DC7C PRG:5C7C F0 16 + bne NmiHandler_Loop395 ; CPU:$DC7E PRG:5C7E D0 0E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop393 -; Global: Branch target inside Label: taken when DCAE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop393. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop393: - jsr Sub_8334 ; CPU:$DCAE PRG:5CAE 20 34 83 - lda #$00 ; CPU:$DCB1 PRG:5CB1 A9 00 - sta $032C ; CPU:$DCB3 PRG:5CB3 8D 2C 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear22 -; Global: Branch target inside Label: taken when DCB6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear22: - lda #$00 ; CPU:$DCB6 PRG:5CB6 A9 00 - sta $055D ; CPU:$DCB8 PRG:5CB8 8D 5D 05 - jsr Sub_9848 ; CPU:$DCBB PRG:5CBB 20 48 98 - bcs NmiHandler_Loop394 ; CPU:$DCBE PRG:5CBE B0 03 - jsr Sub_DFF1 ; CPU:$DCC0 PRG:5CC0 20 F1 DF + lda ZpCF ; CPU:$DC80 PRG:5C80 A5 CF + bmi NmiHandler_Loop394 ; CPU:$DC82 PRG:5C82 30 06 + cmp #$18 ; CPU:$DC84 PRG:5C84 C9 18 + beq NmiHandler_Loop396 ; CPU:$DC86 PRG:5C86 F0 0C + bne NmiHandler_Loop395 ; CPU:$DC88 PRG:5C88 D0 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop394 -; Global: Branch target inside Label: taken when DCC3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop394. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop394: - jsr Sub_8358 ; CPU:$DCC3 PRG:5CC3 20 58 83 - bcc NmiHandler_OnCarryClear22 ; CPU:$DCC6 PRG:5CC6 90 EE - lda $058F ; CPU:$DCC8 PRG:5CC8 AD 8F 05 - sta ZpEC ; CPU:$DCCB PRG:5CCB 85 EC - lda ZpBE ; CPU:$DCCD PRG:5CCD A5 BE - and #$BF ; CPU:$DCCF PRG:5CCF 29 BF - sta ZpBE ; CPU:$DCD1 PRG:5CD1 85 BE - jsr Sub_99E7 ; CPU:$DCD3 PRG:5CD3 20 E7 99 - jmp Sub_D907 ; CPU:$DCD6 PRG:5CD6 4C 07 D9 -; ----------------------------------------------------------------------------- -; Routine: Sub_DCD9 -; Global: Branch target inside Label: taken when DCD9. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DCD9: - jsr Sub_E2D2 ; CPU:$DCD9 PRG:5CD9 20 D2 E2 - beq NmiHandler_Loop395 ; CPU:$DCDC PRG:5CDC F0 03 - jmp Sub_E0FD ; CPU:$DCDE PRG:5CDE 4C FD E0 + cmp #$E0 ; CPU:$DC8A PRG:5C8A C9 E0 + beq NmiHandler_Loop396 ; CPU:$DC8C PRG:5C8C F0 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop395 -; Global: Branch target inside Label: taken when DCE1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop395. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop395: - jsr Sub_DE06 ; CPU:$DCE1 PRG:5CE1 20 06 DE - lda $0300 ; CPU:$DCE4 PRG:5CE4 AD 00 03 - and #$04 ; CPU:$DCE7 PRG:5CE7 29 04 - beq NmiHandler_Loop396 ; CPU:$DCE9 PRG:5CE9 F0 03 - jmp Sub_DDAC ; CPU:$DCEB PRG:5CEB 4C AC DD + jsr Sub_82A3 ; CPU:$DC8E PRG:5C8E 20 A3 82 + jmp Sub_DC5B ; CPU:$DC91 PRG:5C91 4C 5B DC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop396 -; Global: Branch target inside Label: taken when DCEE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop396. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop396: - jsr Sub_E617 ; CPU:$DCEE PRG:5CEE 20 17 E6 - beq NmiHandler_Loop397 ; CPU:$DCF1 PRG:5CF1 F0 0B - jsr Sub_9B1F ; CPU:$DCF3 PRG:5CF3 20 1F 9B - beq NmiHandler_Loop399 ; CPU:$DCF6 PRG:5CF6 F0 19 - jsr Sub_9B18 ; CPU:$DCF8 PRG:5CF8 20 18 9B - jmp Sub_D907 ; CPU:$DCFB PRG:5CFB 4C 07 D9 + jsr Sub_E077 ; CPU:$DC94 PRG:5C94 20 77 E0 + jsr Sub_9B1F ; CPU:$DC97 PRG:5C97 20 1F 9B + beq NmiHandler_Loop397 ; CPU:$DC9A PRG:5C9A F0 0A + lda #$A2 ; CPU:$DC9C PRG:5C9C A9 A2 + sta VramWritePtrLo ; CPU:$DC9E PRG:5C9E 85 73 + lda #$E6 ; CPU:$DCA0 PRG:5CA0 A9 E6 + sta VramWritePtrHi ; CPU:$DCA2 PRG:5CA2 85 74 + bne NmiHandler_Loop398 ; CPU:$DCA4 PRG:5CA4 D0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop397 -; Global: Branch target inside Label: taken when DCFE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop397. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop397: - jsr Sub_E611 ; CPU:$DCFE PRG:5CFE 20 11 E6 - bne NmiHandler_Loop398 ; CPU:$DD01 PRG:5D01 D0 03 - jmp Sub_D907 ; CPU:$DD03 PRG:5D03 4C 07 D9 + lda #$A8 ; CPU:$DCA6 PRG:5CA6 A9 A8 + sta VramWritePtrLo ; CPU:$DCA8 PRG:5CA8 85 73 + lda #$E6 ; CPU:$DCAA PRG:5CAA A9 E6 + sta VramWritePtrHi ; CPU:$DCAC PRG:5CAC 85 74 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop398 -; Global: Branch target inside Label: taken when DD06. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop398. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop398: - jsr Sub_9B1F ; CPU:$DD06 PRG:5D06 20 1F 9B - bne NmiHandler_Loop399 ; CPU:$DD09 PRG:5D09 D0 06 - jsr Sub_9B11 ; CPU:$DD0B PRG:5D0B 20 11 9B - jmp Sub_D907 ; CPU:$DD0E PRG:5D0E 4C 07 D9 + jsr Sub_8334 ; CPU:$DCAE PRG:5CAE 20 34 83 + lda #$00 ; CPU:$DCB1 PRG:5CB1 A9 00 + sta $032C ; CPU:$DCB3 PRG:5CB3 8D 2C 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear25 +; Global: Branch target inside NmiHandler: taken when OnCarryClear25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear25: + lda #$00 ; CPU:$DCB6 PRG:5CB6 A9 00 + sta $055D ; CPU:$DCB8 PRG:5CB8 8D 5D 05 + jsr Sub_9848 ; CPU:$DCBB PRG:5CBB 20 48 98 + bcs NmiHandler_Loop399 ; CPU:$DCBE PRG:5CBE B0 03 + jsr Sub_DFF1 ; CPU:$DCC0 PRG:5CC0 20 F1 DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop399 -; Global: Branch target inside Label: taken when DD11. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop399. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop399: - jsr Sub_9891 ; CPU:$DD11 PRG:5D11 20 91 98 - bcc NmiHandler_Loop401 ; CPU:$DD14 PRG:5D14 90 16 - cmp #$00 ; CPU:$DD16 PRG:5D16 C9 00 - bne NmiHandler_Loop400 ; CPU:$DD18 PRG:5D18 D0 09 - lda ZpBE ; CPU:$DD1A PRG:5D1A A5 BE - ora #$04 ; CPU:$DD1C PRG:5D1C 09 04 - sta ZpBE ; CPU:$DD1E PRG:5D1E 85 BE - jmp Sub_DB89 ; CPU:$DD20 PRG:5D20 4C 89 DB + jsr Sub_8358 ; CPU:$DCC3 PRG:5CC3 20 58 83 + bcc NmiHandler_OnCarryClear25 ; CPU:$DCC6 PRG:5CC6 90 EE + lda $058F ; CPU:$DCC8 PRG:5CC8 AD 8F 05 + sta ZpEC ; CPU:$DCCB PRG:5CCB 85 EC + lda ZpBE ; CPU:$DCCD PRG:5CCD A5 BE + and #$BF ; CPU:$DCCF PRG:5CCF 29 BF + sta ZpBE ; CPU:$DCD1 PRG:5CD1 85 BE + jsr Sub_99E7 ; CPU:$DCD3 PRG:5CD3 20 E7 99 + jmp Sub_D907 ; CPU:$DCD6 PRG:5CD6 4C 07 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_DCD9 +; Global: Branch target inside Sub: taken when DCD9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DCD9: + jsr Sub_E2D2 ; CPU:$DCD9 PRG:5CD9 20 D2 E2 + beq NmiHandler_Loop400 ; CPU:$DCDC PRG:5CDC F0 03 + jmp Sub_E0FD ; CPU:$DCDE PRG:5CDE 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop400 -; Global: Branch target inside Label: taken when DD23. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop400. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop400: - lda ZpBE ; CPU:$DD23 PRG:5D23 A5 BE - ora #$14 ; CPU:$DD25 PRG:5D25 09 14 - sta ZpBE ; CPU:$DD27 PRG:5D27 85 BE - jmp Sub_DB89 ; CPU:$DD29 PRG:5D29 4C 89 DB + jsr Sub_DE06 ; CPU:$DCE1 PRG:5CE1 20 06 DE + lda $0300 ; CPU:$DCE4 PRG:5CE4 AD 00 03 + and #$04 ; CPU:$DCE7 PRG:5CE7 29 04 + beq NmiHandler_Loop401 ; CPU:$DCE9 PRG:5CE9 F0 03 + jmp Sub_DDAC ; CPU:$DCEB PRG:5CEB 4C AC DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop401 -; Global: Branch target inside Label: taken when DD2C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop401. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop401: - jsr Sub_E139 ; CPU:$DD2C PRG:5D2C 20 39 E1 - bcc NmiHandler_Loop402 ; CPU:$DD2F PRG:5D2F 90 06 - jsr Sub_E0B5 ; CPU:$DD31 PRG:5D31 20 B5 E0 - jsr Sub_DBD4 ; CPU:$DD34 PRG:5D34 20 D4 DB + jsr Sub_E617 ; CPU:$DCEE PRG:5CEE 20 17 E6 + beq NmiHandler_Loop402 ; CPU:$DCF1 PRG:5CF1 F0 0B + jsr Sub_9B1F ; CPU:$DCF3 PRG:5CF3 20 1F 9B + beq NmiHandler_Loop404 ; CPU:$DCF6 PRG:5CF6 F0 19 + jsr Sub_9B18 ; CPU:$DCF8 PRG:5CF8 20 18 9B + jmp Sub_D907 ; CPU:$DCFB PRG:5CFB 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop402 -; Global: Branch target inside Label: taken when DD37. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop402. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop402: - jsr Sub_8358 ; CPU:$DD37 PRG:5D37 20 58 83 - bcc NmiHandler_Loop403 ; CPU:$DD3A PRG:5D3A 90 03 - jsr Sub_DB95 ; CPU:$DD3C PRG:5D3C 20 95 DB + jsr Sub_E611 ; CPU:$DCFE PRG:5CFE 20 11 E6 + bne NmiHandler_Loop403 ; CPU:$DD01 PRG:5D01 D0 03 + jmp Sub_D907 ; CPU:$DD03 PRG:5D03 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop403 -; Global: Branch target inside Label: taken when DD3F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop403. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop403: - dec $03C1 ; CPU:$DD3F PRG:5D3F CE C1 03 - beq NmiHandler_Loop404 ; CPU:$DD42 PRG:5D42 F0 03 - jmp Sub_DCD9 ; CPU:$DD44 PRG:5D44 4C D9 DC + jsr Sub_9B1F ; CPU:$DD06 PRG:5D06 20 1F 9B + bne NmiHandler_Loop404 ; CPU:$DD09 PRG:5D09 D0 06 + jsr Sub_9B11 ; CPU:$DD0B PRG:5D0B 20 11 9B + jmp Sub_D907 ; CPU:$DD0E PRG:5D0E 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop404 -; Global: Branch target inside Label: taken when DD47. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop404. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop404: - jmp Sub_E174 ; CPU:$DD47 PRG:5D47 4C 74 E1 -; ----------------------------------------------------------------------------- -; Routine: Sub_DD4A -; Global: Branch target inside Label: taken when DD4A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DD4A: - jsr Sub_DDC7 ; CPU:$DD4A PRG:5D4A 20 C7 DD - lda #$05 ; CPU:$DD4D PRG:5D4D A9 05 - sta $03C1 ; CPU:$DD4F PRG:5D4F 8D C1 03 - jmp Sub_DCD9 ; CPU:$DD52 PRG:5D52 4C D9 DC -; ----------------------------------------------------------------------------- -; Routine: Sub_DD55 -; Global: Branch target inside Label: taken when DD55. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DD55: - jsr Sub_E2D7 ; CPU:$DD55 PRG:5D55 20 D7 E2 - beq NmiHandler_Loop405 ; CPU:$DD58 PRG:5D58 F0 03 - jmp Sub_E0FD ; CPU:$DD5A PRG:5D5A 4C FD E0 + jsr Sub_9891 ; CPU:$DD11 PRG:5D11 20 91 98 + bcc NmiHandler_Loop406 ; CPU:$DD14 PRG:5D14 90 16 + cmp #$00 ; CPU:$DD16 PRG:5D16 C9 00 + bne NmiHandler_Loop405 ; CPU:$DD18 PRG:5D18 D0 09 + lda ZpBE ; CPU:$DD1A PRG:5D1A A5 BE + ora #$04 ; CPU:$DD1C PRG:5D1C 09 04 + sta ZpBE ; CPU:$DD1E PRG:5D1E 85 BE + jmp Sub_DB89 ; CPU:$DD20 PRG:5D20 4C 89 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop405 -; Global: Branch target inside Label: taken when DD5D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop405. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop405: - jsr Sub_97FE ; CPU:$DD5D PRG:5D5D 20 FE 97 - bcc NmiHandler_Loop406 ; CPU:$DD60 PRG:5D60 90 08 - jsr Sub_9891 ; CPU:$DD62 PRG:5D62 20 91 98 - bcc NmiHandler_Loop406 ; CPU:$DD65 PRG:5D65 90 03 - jsr Sub_DA1A ; CPU:$DD67 PRG:5D67 20 1A DA + lda ZpBE ; CPU:$DD23 PRG:5D23 A5 BE + ora #$14 ; CPU:$DD25 PRG:5D25 09 14 + sta ZpBE ; CPU:$DD27 PRG:5D27 85 BE + jmp Sub_DB89 ; CPU:$DD29 PRG:5D29 4C 89 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop406 -; Global: Branch target inside Label: taken when DD6A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop406. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop406: - jsr Sub_DE06 ; CPU:$DD6A PRG:5D6A 20 06 DE - lda $0300 ; CPU:$DD6D PRG:5D6D AD 00 03 - and #$08 ; CPU:$DD70 PRG:5D70 29 08 - beq NmiHandler_Loop407 ; CPU:$DD72 PRG:5D72 F0 03 - jmp Sub_D907 ; CPU:$DD74 PRG:5D74 4C 07 D9 + jsr Sub_E139 ; CPU:$DD2C PRG:5D2C 20 39 E1 + bcc NmiHandler_Loop407 ; CPU:$DD2F PRG:5D2F 90 06 + jsr Sub_E0B5 ; CPU:$DD31 PRG:5D31 20 B5 E0 + jsr Sub_DBD4 ; CPU:$DD34 PRG:5D34 20 D4 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop407 -; Global: Branch target inside Label: taken when DD77. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop407. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop407: - jsr Sub_E025 ; CPU:$DD77 PRG:5D77 20 25 E0 - jsr Sub_DDD0 ; CPU:$DD7A PRG:5D7A 20 D0 DD -; ----------------------------------------------------------------------------- -; Routine: Sub_DD7D -; Global: Branch target inside Label: taken when DD7D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DD7D: - jsr Sub_E139 ; CPU:$DD7D PRG:5D7D 20 39 E1 - bcc NmiHandler_Loop408 ; CPU:$DD80 PRG:5D80 90 06 - jsr Sub_E0B9 ; CPU:$DD82 PRG:5D82 20 B9 E0 - jsr Sub_DDEB ; CPU:$DD85 PRG:5D85 20 EB DD + jsr Sub_8358 ; CPU:$DD37 PRG:5D37 20 58 83 + bcc NmiHandler_Loop408 ; CPU:$DD3A PRG:5D3A 90 03 + jsr Sub_DB95 ; CPU:$DD3C PRG:5D3C 20 95 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop408 -; Global: Branch target inside Label: taken when DD88. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop408. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop408: - lda ZpBE ; CPU:$DD88 PRG:5D88 A5 BE - and #$10 ; CPU:$DD8A PRG:5D8A 29 10 - beq NmiHandler_Loop409 ; CPU:$DD8C PRG:5D8C F0 08 - jsr Sub_9B81 ; CPU:$DD8E PRG:5D8E 20 81 9B - bcc NmiHandler_Loop410 ; CPU:$DD91 PRG:5D91 90 0B - jmp Sub_E23A ; CPU:$DD93 PRG:5D93 4C 3A E2 + dec $03C1 ; CPU:$DD3F PRG:5D3F CE C1 03 + beq NmiHandler_Loop409 ; CPU:$DD42 PRG:5D42 F0 03 + jmp Sub_DCD9 ; CPU:$DD44 PRG:5D44 4C D9 DC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop409 -; Global: Branch target inside Label: taken when DD96. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop409. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop409: - jsr Sub_9BBB ; CPU:$DD96 PRG:5D96 20 BB 9B - bcc NmiHandler_Loop410 ; CPU:$DD99 PRG:5D99 90 03 - jmp Sub_E23A ; CPU:$DD9B PRG:5D9B 4C 3A E2 + jmp Sub_E174 ; CPU:$DD47 PRG:5D47 4C 74 E1 +; ----------------------------------------------------------------------------- +; Routine: Sub_DD4A +; Global: Branch target inside Sub: taken when DD4A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD4A: + jsr Sub_DDC7 ; CPU:$DD4A PRG:5D4A 20 C7 DD + lda #$05 ; CPU:$DD4D PRG:5D4D A9 05 + sta $03C1 ; CPU:$DD4F PRG:5D4F 8D C1 03 + jmp Sub_DCD9 ; CPU:$DD52 PRG:5D52 4C D9 DC +; ----------------------------------------------------------------------------- +; Routine: Sub_DD55 +; Global: Branch target inside Sub: taken when DD55. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD55: + jsr Sub_E2D7 ; CPU:$DD55 PRG:5D55 20 D7 E2 + beq NmiHandler_Loop410 ; CPU:$DD58 PRG:5D58 F0 03 + jmp Sub_E0FD ; CPU:$DD5A PRG:5D5A 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop410 -; Global: Branch target inside Label: taken when DD9E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop410. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop410: - jsr Sub_9B03 ; CPU:$DD9E PRG:5D9E 20 03 9B - jsr Sub_8358 ; CPU:$DDA1 PRG:5DA1 20 58 83 - bcc NmiHandler_Loop411 ; CPU:$DDA4 PRG:5DA4 90 03 - jsr Sub_DDD0 ; CPU:$DDA6 PRG:5DA6 20 D0 DD + jsr Sub_97FE ; CPU:$DD5D PRG:5D5D 20 FE 97 + bcc NmiHandler_Loop411 ; CPU:$DD60 PRG:5D60 90 08 + jsr Sub_9891 ; CPU:$DD62 PRG:5D62 20 91 98 + bcc NmiHandler_Loop411 ; CPU:$DD65 PRG:5D65 90 03 + jsr Sub_DA1A ; CPU:$DD67 PRG:5D67 20 1A DA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop411 -; Global: Branch target inside Label: taken when DDA9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop411. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop411: - jmp Sub_DD55 ; CPU:$DDA9 PRG:5DA9 4C 55 DD + jsr Sub_DE06 ; CPU:$DD6A PRG:5D6A 20 06 DE + lda $0300 ; CPU:$DD6D PRG:5D6D AD 00 03 + and #$08 ; CPU:$DD70 PRG:5D70 29 08 + beq NmiHandler_Loop412 ; CPU:$DD72 PRG:5D72 F0 03 + jmp Sub_D907 ; CPU:$DD74 PRG:5D74 4C 07 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop412 +; Global: Branch target inside NmiHandler: taken when Loop412. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop412: + jsr Sub_E025 ; CPU:$DD77 PRG:5D77 20 25 E0 + jsr Sub_DDD0 ; CPU:$DD7A PRG:5D7A 20 D0 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_DD7D +; Global: Branch target inside Sub: taken when DD7D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD7D: + jsr Sub_E139 ; CPU:$DD7D PRG:5D7D 20 39 E1 + bcc NmiHandler_Loop413 ; CPU:$DD80 PRG:5D80 90 06 + jsr Sub_E0B9 ; CPU:$DD82 PRG:5D82 20 B9 E0 + jsr Sub_DDEB ; CPU:$DD85 PRG:5D85 20 EB DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop413 +; Global: Branch target inside NmiHandler: taken when Loop413. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop413: + lda ZpBE ; CPU:$DD88 PRG:5D88 A5 BE + and #$10 ; CPU:$DD8A PRG:5D8A 29 10 + beq NmiHandler_Loop414 ; CPU:$DD8C PRG:5D8C F0 08 + jsr Sub_9B81 ; CPU:$DD8E PRG:5D8E 20 81 9B + bcc NmiHandler_Loop415 ; CPU:$DD91 PRG:5D91 90 0B + jmp Sub_E23A ; CPU:$DD93 PRG:5D93 4C 3A E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop414 +; Global: Branch target inside NmiHandler: taken when Loop414. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop414: + jsr Sub_9BBB ; CPU:$DD96 PRG:5D96 20 BB 9B + bcc NmiHandler_Loop415 ; CPU:$DD99 PRG:5D99 90 03 + jmp Sub_E23A ; CPU:$DD9B PRG:5D9B 4C 3A E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop415 +; Global: Branch target inside NmiHandler: taken when Loop415. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop415: + jsr Sub_9B03 ; CPU:$DD9E PRG:5D9E 20 03 9B + jsr Sub_8358 ; CPU:$DDA1 PRG:5DA1 20 58 83 + bcc NmiHandler_Loop416 ; CPU:$DDA4 PRG:5DA4 90 03 + jsr Sub_DDD0 ; CPU:$DDA6 PRG:5DA6 20 D0 DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop416 +; Global: Branch target inside NmiHandler: taken when Loop416. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop416: + jmp Sub_DD55 ; CPU:$DDA9 PRG:5DA9 4C 55 DD ; ----------------------------------------------------------------------------- ; Routine: Sub_DDAC -; Global: Branch target inside Label: taken when DDAC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DDAC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13736,17 +14043,17 @@ Sub_DDAC: lda $033D ; CPU:$DDAC PRG:5DAC AD 3D 03 ora #$01 ; CPU:$DDAF PRG:5DAF 09 01 sta $033D ; CPU:$DDB1 PRG:5DB1 8D 3D 03 - jsr Sub_DDC7 ; CPU:$DDB4 PRG:5DB4 20 C7 DD + jsr Sub_DDC7 ; CPU:$DDB4 PRG:5DB4 20 C7 DD lda #$00 ; CPU:$DDB7 PRG:5DB7 A9 00 sta ZpD9,x ; CPU:$DDB9 PRG:5DB9 95 D9 - jsr Sub_DDD0 ; CPU:$DDBB PRG:5DBB 20 D0 DD - jsr Sub_99E7 ; CPU:$DDBE PRG:5DBE 20 E7 99 - jsr Sub_9C7D ; CPU:$DDC1 PRG:5DC1 20 7D 9C - jmp Sub_DD7D ; CPU:$DDC4 PRG:5DC4 4C 7D DD + jsr Sub_DDD0 ; CPU:$DDBB PRG:5DBB 20 D0 DD + jsr Sub_99E7 ; CPU:$DDBE PRG:5DBE 20 E7 99 + jsr Sub_9C7D ; CPU:$DDC1 PRG:5DC1 20 7D 9C + jmp Sub_DD7D ; CPU:$DDC4 PRG:5DC4 4C 7D DD ; ----------------------------------------------------------------------------- ; Routine: Sub_DDC7 -; Global: Branch target inside Label: taken when DDC7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DDC7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13758,68 +14065,68 @@ Sub_DDC7: rts ; CPU:$DDCF PRG:5DCF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DDD0 -; Global: Branch target inside Label: taken when DDD0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DDD0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DDD0: - jsr Sub_9B1F ; CPU:$DDD0 PRG:5DD0 20 1F 9B - beq NmiHandler_Loop412 ; CPU:$DDD3 PRG:5DD3 F0 0B + jsr Sub_9B1F ; CPU:$DDD0 PRG:5DD0 20 1F 9B + beq NmiHandler_Loop417 ; CPU:$DDD3 PRG:5DD3 F0 0B lda #$AE ; CPU:$DDD5 PRG:5DD5 A9 AE - sta Zp73 ; CPU:$DDD7 PRG:5DD7 85 73 + sta VramWritePtrLo ; CPU:$DDD7 PRG:5DD7 85 73 lda #$E6 ; CPU:$DDD9 PRG:5DD9 A9 E6 - sta Zp74 ; CPU:$DDDB PRG:5DDB 85 74 - jmp Sub_8334 ; CPU:$DDDD PRG:5DDD 4C 34 83 + sta VramWritePtrHi ; CPU:$DDDB PRG:5DDB 85 74 + jmp Sub_8334 ; CPU:$DDDD PRG:5DDD 4C 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop412 -; Global: Branch target inside Label: taken when DDE0. -; Local: Part of Label. +; Routine: NmiHandler_Loop417 +; Global: Branch target inside NmiHandler: taken when Loop417. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop412: +NmiHandler_Loop417: lda #$B2 ; CPU:$DDE0 PRG:5DE0 A9 B2 - sta Zp73 ; CPU:$DDE2 PRG:5DE2 85 73 + sta VramWritePtrLo ; CPU:$DDE2 PRG:5DE2 85 73 lda #$E6 ; CPU:$DDE4 PRG:5DE4 A9 E6 - sta Zp74 ; CPU:$DDE6 PRG:5DE6 85 74 - jmp Sub_8334 ; CPU:$DDE8 PRG:5DE8 4C 34 83 + sta VramWritePtrHi ; CPU:$DDE6 PRG:5DE6 85 74 + jmp Sub_8334 ; CPU:$DDE8 PRG:5DE8 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_DDEB -; Global: Branch target inside Label: taken when DDEB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DDEB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DDEB: - jsr Sub_9B1F ; CPU:$DDEB PRG:5DEB 20 1F 9B - beq NmiHandler_Loop413 ; CPU:$DDEE PRG:5DEE F0 0B + jsr Sub_9B1F ; CPU:$DDEB PRG:5DEB 20 1F 9B + beq NmiHandler_Loop418 ; CPU:$DDEE PRG:5DEE F0 0B lda #$D4 ; CPU:$DDF0 PRG:5DF0 A9 D4 - sta Zp73 ; CPU:$DDF2 PRG:5DF2 85 73 + sta VramWritePtrLo ; CPU:$DDF2 PRG:5DF2 85 73 lda #$E6 ; CPU:$DDF4 PRG:5DF4 A9 E6 - sta Zp74 ; CPU:$DDF6 PRG:5DF6 85 74 - jmp Sub_8334 ; CPU:$DDF8 PRG:5DF8 4C 34 83 + sta VramWritePtrHi ; CPU:$DDF6 PRG:5DF6 85 74 + jmp Sub_8334 ; CPU:$DDF8 PRG:5DF8 4C 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop413 -; Global: Branch target inside Label: taken when DDFB. -; Local: Part of Label. +; Routine: NmiHandler_Loop418 +; Global: Branch target inside NmiHandler: taken when Loop418. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop413: +NmiHandler_Loop418: lda #$DA ; CPU:$DDFB PRG:5DFB A9 DA - sta Zp73 ; CPU:$DDFD PRG:5DFD 85 73 + sta VramWritePtrLo ; CPU:$DDFD PRG:5DFD 85 73 lda #$E6 ; CPU:$DDFF PRG:5DFF A9 E6 - sta Zp74 ; CPU:$DE01 PRG:5E01 85 74 - jmp Sub_8334 ; CPU:$DE03 PRG:5E03 4C 34 83 + sta VramWritePtrHi ; CPU:$DE01 PRG:5E01 85 74 + jmp Sub_8334 ; CPU:$DE03 PRG:5E03 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_DE06 -; Global: Branch target inside Label: taken when DE06. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DE06. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13827,79 +14134,79 @@ NmiHandler_Loop413: Sub_DE06: lda $0300 ; CPU:$DE06 PRG:5E06 AD 00 03 and #$80 ; CPU:$DE09 PRG:5E09 29 80 - beq NmiHandler_Loop416 ; CPU:$DE0B PRG:5E0B F0 25 + beq NmiHandler_Loop421 ; CPU:$DE0B PRG:5E0B F0 25 lda ZpF9 ; CPU:$DE0D PRG:5E0D A5 F9 - bne NmiHandler_Loop417 ; CPU:$DE0F PRG:5E0F D0 25 + bne NmiHandler_Loop422 ; CPU:$DE0F PRG:5E0F D0 25 lda #$FF ; CPU:$DE11 PRG:5E11 A9 FF sta ZpF9 ; CPU:$DE13 PRG:5E13 85 F9 lda #$00 ; CPU:$DE15 PRG:5E15 A9 00 sta ZpE0 ; CPU:$DE17 PRG:5E17 85 E0 - jsr Sub_E617 ; CPU:$DE19 PRG:5E19 20 17 E6 - beq NmiHandler_Loop414 ; CPU:$DE1C PRG:5E1C F0 06 + jsr Sub_E617 ; CPU:$DE19 PRG:5E19 20 17 E6 + beq NmiHandler_Loop419 ; CPU:$DE1C PRG:5E1C F0 06 lda #$FE ; CPU:$DE1E PRG:5E1E A9 FE sta ZpE0 ; CPU:$DE20 PRG:5E20 85 E0 - bne NmiHandler_Loop415 ; CPU:$DE22 PRG:5E22 D0 09 + bne NmiHandler_Loop420 ; CPU:$DE22 PRG:5E22 D0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop414 -; Global: Branch target inside Label: taken when DE24. -; Local: Part of Label. +; Routine: NmiHandler_Loop419 +; Global: Branch target inside NmiHandler: taken when Loop419. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop414: - jsr Sub_E611 ; CPU:$DE24 PRG:5E24 20 11 E6 - beq NmiHandler_Loop415 ; CPU:$DE27 PRG:5E27 F0 04 +NmiHandler_Loop419: + jsr Sub_E611 ; CPU:$DE24 PRG:5E24 20 11 E6 + beq NmiHandler_Loop420 ; CPU:$DE27 PRG:5E27 F0 04 lda #$02 ; CPU:$DE29 PRG:5E29 A9 02 sta ZpE0 ; CPU:$DE2B PRG:5E2B 85 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop415 -; Global: Branch target inside Label: taken when DE2D. -; Local: Part of Label. +; Routine: NmiHandler_Loop420 +; Global: Branch target inside NmiHandler: taken when Loop420. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop415: +NmiHandler_Loop420: pla ; CPU:$DE2D PRG:5E2D 68 pla ; CPU:$DE2E PRG:5E2E 68 - jmp Sub_DFD8 ; CPU:$DE2F PRG:5E2F 4C D8 DF + jmp Sub_DFD8 ; CPU:$DE2F PRG:5E2F 4C D8 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop416 -; Global: Branch target inside Label: taken when DE32. -; Local: Part of Label. +; Routine: NmiHandler_Loop421 +; Global: Branch target inside NmiHandler: taken when Loop421. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop416: +NmiHandler_Loop421: lda #$00 ; CPU:$DE32 PRG:5E32 A9 00 sta ZpF9 ; CPU:$DE34 PRG:5E34 85 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop417 -; Global: Branch target inside Label: taken when DE36. -; Local: Part of Label. +; Routine: NmiHandler_Loop422 +; Global: Branch target inside NmiHandler: taken when Loop422. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop417: +NmiHandler_Loop422: clc ; CPU:$DE36 PRG:5E36 18 rts ; CPU:$DE37 PRG:5E37 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DE38 -; Global: Branch target inside Label: taken when DE38. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DE38. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DE38: - jsr Sub_DFEC ; CPU:$DE38 PRG:5E38 20 EC DF + jsr Sub_DFEC ; CPU:$DE38 PRG:5E38 20 EC DF ; ----------------------------------------------------------------------------- ; Routine: Sub_DE3B -; Global: Branch target inside Label: taken when DE3B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DE3B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13907,139 +14214,139 @@ Sub_DE38: Sub_DE3B: ldy $0397 ; CPU:$DE3B PRG:5E3B AC 97 03 cpy #$02 ; CPU:$DE3E PRG:5E3E C0 02 - bcs NmiHandler_Loop424 ; CPU:$DE40 PRG:5E40 B0 67 - jsr Sub_E2D7 ; CPU:$DE42 PRG:5E42 20 D7 E2 - beq NmiHandler_Loop418 ; CPU:$DE45 PRG:5E45 F0 0C + bcs NmiHandler_Loop429 ; CPU:$DE40 PRG:5E40 B0 67 + jsr Sub_E2D7 ; CPU:$DE42 PRG:5E42 20 D7 E2 + beq NmiHandler_Loop423 ; CPU:$DE45 PRG:5E45 F0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero14 -; Global: Branch target inside Label: taken when DE47. -; Local: Part of Label. +; Routine: NmiHandler_OnZero15 +; Global: Branch target inside NmiHandler: taken when OnZero15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero14: +NmiHandler_OnZero15: lda #$02 ; CPU:$DE47 PRG:5E47 A9 02 sec ; CPU:$DE49 PRG:5E49 38 sbc $0397 ; CPU:$DE4A PRG:5E4A ED 97 03 sta $0397 ; CPU:$DE4D PRG:5E4D 8D 97 03 - jmp Sub_DF84 ; CPU:$DE50 PRG:5E50 4C 84 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop418 -; Global: Branch target inside Label: taken when DE53. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop418: - jsr Sub_E025 ; CPU:$DE53 PRG:5E53 20 25 E0 - jsr Sub_DE8E ; CPU:$DE56 PRG:5E56 20 8E DE - jsr Sub_E139 ; CPU:$DE59 PRG:5E59 20 39 E1 - bcc NmiHandler_Loop419 ; CPU:$DE5C PRG:5E5C 90 06 - jsr Sub_E0B5 ; CPU:$DE5E PRG:5E5E 20 B5 E0 - jsr Sub_E036 ; CPU:$DE61 PRG:5E61 20 36 E0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop419 -; Global: Branch target inside Label: taken when DE64. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop419: - jsr Sub_9906 ; CPU:$DE64 PRG:5E64 20 06 99 - tay ; CPU:$DE67 PRG:5E67 A8 - beq NmiHandler_Loop420 ; CPU:$DE68 PRG:5E68 F0 06 - dey ; CPU:$DE6A PRG:5E6A 88 - beq NmiHandler_OnZero14 ; CPU:$DE6B PRG:5E6B F0 DA - dey ; CPU:$DE6D PRG:5E6D 88 - beq NmiHandler_Loop421 ; CPU:$DE6E PRG:5E6E F0 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop420 -; Global: Branch target inside Label: taken when DE70. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop420: - jsr Sub_DFF1 ; CPU:$DE70 PRG:5E70 20 F1 DF - jsr Sub_9848 ; CPU:$DE73 PRG:5E73 20 48 98 - bcc NmiHandler_Loop421 ; CPU:$DE76 PRG:5E76 90 03 - jsr Sub_DFF9 ; CPU:$DE78 PRG:5E78 20 F9 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop421 -; Global: Branch target inside Label: taken when DE7B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop421: - ldy $0397 ; CPU:$DE7B PRG:5E7B AC 97 03 - lda $E62B,y ; CPU:$DE7E PRG:5E7E B9 2B E6 - sta Zp6F ; CPU:$DE81 PRG:5E81 85 6F - jsr Sub_E001 ; CPU:$DE83 PRG:5E83 20 01 E0 - bcc NmiHandler_Loop422 ; CPU:$DE86 PRG:5E86 90 03 - jsr Sub_DE8E ; CPU:$DE88 PRG:5E88 20 8E DE -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop422 -; Global: Branch target inside Label: taken when DE8B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop422: - jmp Sub_DE3B ; CPU:$DE8B PRG:5E8B 4C 3B DE -; ----------------------------------------------------------------------------- -; Routine: Sub_DE8E -; Global: Branch target inside Label: taken when DE8E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DE8E: - jsr Sub_9B1F ; CPU:$DE8E PRG:5E8E 20 1F 9B - beq NmiHandler_Loop423 ; CPU:$DE91 PRG:5E91 F0 0B - lda #$82 ; CPU:$DE93 PRG:5E93 A9 82 - sta Zp73 ; CPU:$DE95 PRG:5E95 85 73 - lda #$E6 ; CPU:$DE97 PRG:5E97 A9 E6 - sta Zp74 ; CPU:$DE99 PRG:5E99 85 74 - jmp Sub_8334 ; CPU:$DE9B PRG:5E9B 4C 34 83 + jmp Sub_DF84 ; CPU:$DE50 PRG:5E50 4C 84 DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop423 -; Global: Branch target inside Label: taken when DE9E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop423. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop423: - lda #$86 ; CPU:$DE9E PRG:5E9E A9 86 - sta Zp73 ; CPU:$DEA0 PRG:5EA0 85 73 - lda #$E6 ; CPU:$DEA2 PRG:5EA2 A9 E6 - sta Zp74 ; CPU:$DEA4 PRG:5EA4 85 74 - jmp Sub_8334 ; CPU:$DEA6 PRG:5EA6 4C 34 83 + jsr Sub_E025 ; CPU:$DE53 PRG:5E53 20 25 E0 + jsr Sub_DE8E ; CPU:$DE56 PRG:5E56 20 8E DE + jsr Sub_E139 ; CPU:$DE59 PRG:5E59 20 39 E1 + bcc NmiHandler_Loop424 ; CPU:$DE5C PRG:5E5C 90 06 + jsr Sub_E0B5 ; CPU:$DE5E PRG:5E5E 20 B5 E0 + jsr Sub_E036 ; CPU:$DE61 PRG:5E61 20 36 E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop424 -; Global: Branch target inside Label: taken when DEA9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop424. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop424: + jsr Sub_9906 ; CPU:$DE64 PRG:5E64 20 06 99 + tay ; CPU:$DE67 PRG:5E67 A8 + beq NmiHandler_Loop425 ; CPU:$DE68 PRG:5E68 F0 06 + dey ; CPU:$DE6A PRG:5E6A 88 + beq NmiHandler_OnZero15 ; CPU:$DE6B PRG:5E6B F0 DA + dey ; CPU:$DE6D PRG:5E6D 88 + beq NmiHandler_Loop426 ; CPU:$DE6E PRG:5E6E F0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop425 +; Global: Branch target inside NmiHandler: taken when Loop425. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop425: + jsr Sub_DFF1 ; CPU:$DE70 PRG:5E70 20 F1 DF + jsr Sub_9848 ; CPU:$DE73 PRG:5E73 20 48 98 + bcc NmiHandler_Loop426 ; CPU:$DE76 PRG:5E76 90 03 + jsr Sub_DFF9 ; CPU:$DE78 PRG:5E78 20 F9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop426 +; Global: Branch target inside NmiHandler: taken when Loop426. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop426: + ldy $0397 ; CPU:$DE7B PRG:5E7B AC 97 03 + lda $E62B,y ; CPU:$DE7E PRG:5E7E B9 2B E6 + sta PlayerSpriteX ; CPU:$DE81 PRG:5E81 85 6F + jsr Sub_E001 ; CPU:$DE83 PRG:5E83 20 01 E0 + bcc NmiHandler_Loop427 ; CPU:$DE86 PRG:5E86 90 03 + jsr Sub_DE8E ; CPU:$DE88 PRG:5E88 20 8E DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop427 +; Global: Branch target inside NmiHandler: taken when Loop427. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop427: + jmp Sub_DE3B ; CPU:$DE8B PRG:5E8B 4C 3B DE +; ----------------------------------------------------------------------------- +; Routine: Sub_DE8E +; Global: Branch target inside Sub: taken when DE8E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE8E: + jsr Sub_9B1F ; CPU:$DE8E PRG:5E8E 20 1F 9B + beq NmiHandler_Loop428 ; CPU:$DE91 PRG:5E91 F0 0B + lda #$82 ; CPU:$DE93 PRG:5E93 A9 82 + sta VramWritePtrLo ; CPU:$DE95 PRG:5E95 85 73 + lda #$E6 ; CPU:$DE97 PRG:5E97 A9 E6 + sta VramWritePtrHi ; CPU:$DE99 PRG:5E99 85 74 + jmp Sub_8334 ; CPU:$DE9B PRG:5E9B 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop428 +; Global: Branch target inside NmiHandler: taken when Loop428. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop428: + lda #$86 ; CPU:$DE9E PRG:5E9E A9 86 + sta VramWritePtrLo ; CPU:$DEA0 PRG:5EA0 85 73 + lda #$E6 ; CPU:$DEA2 PRG:5EA2 A9 E6 + sta VramWritePtrHi ; CPU:$DEA4 PRG:5EA4 85 74 + jmp Sub_8334 ; CPU:$DEA6 PRG:5EA6 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop429 +; Global: Branch target inside NmiHandler: taken when Loop429. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop429: lda #$00 ; CPU:$DEA9 PRG:5EA9 A9 00 sta $0397 ; CPU:$DEAB PRG:5EAB 8D 97 03 - jsr Sub_DF07 ; CPU:$DEAE PRG:5EAE 20 07 DF - jmp Sub_DEBB ; CPU:$DEB1 PRG:5EB1 4C BB DE + jsr Sub_DF07 ; CPU:$DEAE PRG:5EAE 20 07 DF + jmp Sub_DEBB ; CPU:$DEB1 PRG:5EB1 4C BB DE ; ----------------------------------------------------------------------------- ; Routine: Sub_DEB4 -; Global: Branch target inside Label: taken when DEB4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DEB4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14047,148 +14354,148 @@ NmiHandler_Loop424: Sub_DEB4: ldy $0397 ; CPU:$DEB4 PRG:5EB4 AC 97 03 cpy #$07 ; CPU:$DEB7 PRG:5EB7 C0 07 - bcs NmiHandler_Loop431 ; CPU:$DEB9 PRG:5EB9 B0 67 + bcs NmiHandler_Loop436 ; CPU:$DEB9 PRG:5EB9 B0 67 ; ----------------------------------------------------------------------------- ; Routine: Sub_DEBB -; Global: Branch target inside Label: taken when DEBB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DEBB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DEBB: - jsr Sub_E2D7 ; CPU:$DEBB PRG:5EBB 20 D7 E2 - beq NmiHandler_Loop425 ; CPU:$DEBE PRG:5EBE F0 0C + jsr Sub_E2D7 ; CPU:$DEBB PRG:5EBB 20 D7 E2 + beq NmiHandler_Loop430 ; CPU:$DEBE PRG:5EBE F0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero15 -; Global: Branch target inside Label: taken when DEC0. -; Local: Part of Label. +; Routine: NmiHandler_OnZero16 +; Global: Branch target inside NmiHandler: taken when OnZero16. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero15: +NmiHandler_OnZero16: lda #$07 ; CPU:$DEC0 PRG:5EC0 A9 07 sec ; CPU:$DEC2 PRG:5EC2 38 sbc $0397 ; CPU:$DEC3 PRG:5EC3 ED 97 03 sta $0397 ; CPU:$DEC6 PRG:5EC6 8D 97 03 - jmp Sub_DF2D ; CPU:$DEC9 PRG:5EC9 4C 2D DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop425 -; Global: Branch target inside Label: taken when DECC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop425: - jsr Sub_E025 ; CPU:$DECC PRG:5ECC 20 25 E0 - jsr Sub_DF07 ; CPU:$DECF PRG:5ECF 20 07 DF - jsr Sub_E139 ; CPU:$DED2 PRG:5ED2 20 39 E1 - bcc NmiHandler_Loop426 ; CPU:$DED5 PRG:5ED5 90 06 - jsr Sub_E0B9 ; CPU:$DED7 PRG:5ED7 20 B9 E0 - jsr Sub_E051 ; CPU:$DEDA PRG:5EDA 20 51 E0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop426 -; Global: Branch target inside Label: taken when DEDD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop426: - jsr Sub_9906 ; CPU:$DEDD PRG:5EDD 20 06 99 - tay ; CPU:$DEE0 PRG:5EE0 A8 - beq NmiHandler_Loop427 ; CPU:$DEE1 PRG:5EE1 F0 06 - dey ; CPU:$DEE3 PRG:5EE3 88 - beq NmiHandler_OnZero15 ; CPU:$DEE4 PRG:5EE4 F0 DA - dey ; CPU:$DEE6 PRG:5EE6 88 - beq NmiHandler_Loop428 ; CPU:$DEE7 PRG:5EE7 F0 0B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop427 -; Global: Branch target inside Label: taken when DEE9. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop427: - jsr Sub_DFF1 ; CPU:$DEE9 PRG:5EE9 20 F1 DF - jsr Sub_9848 ; CPU:$DEEC PRG:5EEC 20 48 98 - bcc NmiHandler_Loop428 ; CPU:$DEEF PRG:5EEF 90 03 - jsr Sub_DFF9 ; CPU:$DEF1 PRG:5EF1 20 F9 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop428 -; Global: Branch target inside Label: taken when DEF4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop428: - ldy $0397 ; CPU:$DEF4 PRG:5EF4 AC 97 03 - lda $E61D,y ; CPU:$DEF7 PRG:5EF7 B9 1D E6 - sta Zp6F ; CPU:$DEFA PRG:5EFA 85 6F - jsr Sub_E001 ; CPU:$DEFC PRG:5EFC 20 01 E0 - bcc NmiHandler_Loop429 ; CPU:$DEFF PRG:5EFF 90 03 - jsr Sub_DF07 ; CPU:$DF01 PRG:5F01 20 07 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop429 -; Global: Branch target inside Label: taken when DF04. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop429: - jmp Sub_DEB4 ; CPU:$DF04 PRG:5F04 4C B4 DE -; ----------------------------------------------------------------------------- -; Routine: Sub_DF07 -; Global: Branch target inside Label: taken when DF07. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_DF07: - jsr Sub_9B1F ; CPU:$DF07 PRG:5F07 20 1F 9B - beq NmiHandler_Loop430 ; CPU:$DF0A PRG:5F0A F0 0B - lda #$8A ; CPU:$DF0C PRG:5F0C A9 8A - sta Zp73 ; CPU:$DF0E PRG:5F0E 85 73 - lda #$E6 ; CPU:$DF10 PRG:5F10 A9 E6 - sta Zp74 ; CPU:$DF12 PRG:5F12 85 74 - jmp Sub_8334 ; CPU:$DF14 PRG:5F14 4C 34 83 + jmp Sub_DF2D ; CPU:$DEC9 PRG:5EC9 4C 2D DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop430 -; Global: Branch target inside Label: taken when DF17. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop430. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop430: - lda #$8E ; CPU:$DF17 PRG:5F17 A9 8E - sta Zp73 ; CPU:$DF19 PRG:5F19 85 73 - lda #$E6 ; CPU:$DF1B PRG:5F1B A9 E6 - sta Zp74 ; CPU:$DF1D PRG:5F1D 85 74 - jmp Sub_8334 ; CPU:$DF1F PRG:5F1F 4C 34 83 + jsr Sub_E025 ; CPU:$DECC PRG:5ECC 20 25 E0 + jsr Sub_DF07 ; CPU:$DECF PRG:5ECF 20 07 DF + jsr Sub_E139 ; CPU:$DED2 PRG:5ED2 20 39 E1 + bcc NmiHandler_Loop431 ; CPU:$DED5 PRG:5ED5 90 06 + jsr Sub_E0B9 ; CPU:$DED7 PRG:5ED7 20 B9 E0 + jsr Sub_E051 ; CPU:$DEDA PRG:5EDA 20 51 E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop431 -; Global: Branch target inside Label: taken when DF22. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop431. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop431: + jsr Sub_9906 ; CPU:$DEDD PRG:5EDD 20 06 99 + tay ; CPU:$DEE0 PRG:5EE0 A8 + beq NmiHandler_Loop432 ; CPU:$DEE1 PRG:5EE1 F0 06 + dey ; CPU:$DEE3 PRG:5EE3 88 + beq NmiHandler_OnZero16 ; CPU:$DEE4 PRG:5EE4 F0 DA + dey ; CPU:$DEE6 PRG:5EE6 88 + beq NmiHandler_Loop433 ; CPU:$DEE7 PRG:5EE7 F0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop432 +; Global: Branch target inside NmiHandler: taken when Loop432. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop432: + jsr Sub_DFF1 ; CPU:$DEE9 PRG:5EE9 20 F1 DF + jsr Sub_9848 ; CPU:$DEEC PRG:5EEC 20 48 98 + bcc NmiHandler_Loop433 ; CPU:$DEEF PRG:5EEF 90 03 + jsr Sub_DFF9 ; CPU:$DEF1 PRG:5EF1 20 F9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop433 +; Global: Branch target inside NmiHandler: taken when Loop433. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop433: + ldy $0397 ; CPU:$DEF4 PRG:5EF4 AC 97 03 + lda $E61D,y ; CPU:$DEF7 PRG:5EF7 B9 1D E6 + sta PlayerSpriteX ; CPU:$DEFA PRG:5EFA 85 6F + jsr Sub_E001 ; CPU:$DEFC PRG:5EFC 20 01 E0 + bcc NmiHandler_Loop434 ; CPU:$DEFF PRG:5EFF 90 03 + jsr Sub_DF07 ; CPU:$DF01 PRG:5F01 20 07 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop434 +; Global: Branch target inside NmiHandler: taken when Loop434. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop434: + jmp Sub_DEB4 ; CPU:$DF04 PRG:5F04 4C B4 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_DF07 +; Global: Branch target inside Sub: taken when DF07. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF07: + jsr Sub_9B1F ; CPU:$DF07 PRG:5F07 20 1F 9B + beq NmiHandler_Loop435 ; CPU:$DF0A PRG:5F0A F0 0B + lda #$8A ; CPU:$DF0C PRG:5F0C A9 8A + sta VramWritePtrLo ; CPU:$DF0E PRG:5F0E 85 73 + lda #$E6 ; CPU:$DF10 PRG:5F10 A9 E6 + sta VramWritePtrHi ; CPU:$DF12 PRG:5F12 85 74 + jmp Sub_8334 ; CPU:$DF14 PRG:5F14 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop435 +; Global: Branch target inside NmiHandler: taken when Loop435. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop435: + lda #$8E ; CPU:$DF17 PRG:5F17 A9 8E + sta VramWritePtrLo ; CPU:$DF19 PRG:5F19 85 73 + lda #$E6 ; CPU:$DF1B PRG:5F1B A9 E6 + sta VramWritePtrHi ; CPU:$DF1D PRG:5F1D 85 74 + jmp Sub_8334 ; CPU:$DF1F PRG:5F1F 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop436 +; Global: Branch target inside NmiHandler: taken when Loop436. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop436: lda #$00 ; CPU:$DF22 PRG:5F22 A9 00 sta $0397 ; CPU:$DF24 PRG:5F24 8D 97 03 - jsr Sub_DF07 ; CPU:$DF27 PRG:5F27 20 07 DF - jmp Sub_DF34 ; CPU:$DF2A PRG:5F2A 4C 34 DF + jsr Sub_DF07 ; CPU:$DF27 PRG:5F27 20 07 DF + jmp Sub_DF34 ; CPU:$DF2A PRG:5F2A 4C 34 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_DF2D -; Global: Branch target inside Label: taken when DF2D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DF2D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14196,115 +14503,115 @@ NmiHandler_Loop431: Sub_DF2D: ldy $0397 ; CPU:$DF2D PRG:5F2D AC 97 03 cpy #$07 ; CPU:$DF30 PRG:5F30 C0 07 - bcs NmiHandler_Loop438 ; CPU:$DF32 PRG:5F32 B0 45 + bcs NmiHandler_Loop443 ; CPU:$DF32 PRG:5F32 B0 45 ; ----------------------------------------------------------------------------- ; Routine: Sub_DF34 -; Global: Branch target inside Label: taken when DF34. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DF34. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DF34: - jsr Sub_E2D7 ; CPU:$DF34 PRG:5F34 20 D7 E2 - beq NmiHandler_Loop432 ; CPU:$DF37 PRG:5F37 F0 02 - bne NmiHandler_Loop436 ; CPU:$DF39 PRG:5F39 D0 2B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop432 -; Global: Branch target inside Label: taken when DF3B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop432: - jsr Sub_E025 ; CPU:$DF3B PRG:5F3B 20 25 E0 - jsr Sub_DF07 ; CPU:$DF3E PRG:5F3E 20 07 DF - jsr Sub_E139 ; CPU:$DF41 PRG:5F41 20 39 E1 - bcc NmiHandler_Loop433 ; CPU:$DF44 PRG:5F44 90 06 - jsr Sub_E0B9 ; CPU:$DF46 PRG:5F46 20 B9 E0 - jsr Sub_E051 ; CPU:$DF49 PRG:5F49 20 51 E0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop433 -; Global: Branch target inside Label: taken when DF4C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop433: - jsr Sub_9906 ; CPU:$DF4C PRG:5F4C 20 06 99 - tay ; CPU:$DF4F PRG:5F4F A8 - beq NmiHandler_Loop435 ; CPU:$DF50 PRG:5F50 F0 09 - dey ; CPU:$DF52 PRG:5F52 88 - beq NmiHandler_Loop434 ; CPU:$DF53 PRG:5F53 F0 03 - dey ; CPU:$DF55 PRG:5F55 88 - beq NmiHandler_Loop436 ; CPU:$DF56 PRG:5F56 F0 0E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop434 -; Global: Branch target inside Label: taken when DF58. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop434: - jmp NmiHandler_Loop444 ; CPU:$DF58 PRG:5F58 4C CF DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop435 -; Global: Branch target inside Label: taken when DF5B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop435: - jsr Sub_DFF1 ; CPU:$DF5B PRG:5F5B 20 F1 DF - jsr Sub_9848 ; CPU:$DF5E PRG:5F5E 20 48 98 - bcc NmiHandler_Loop436 ; CPU:$DF61 PRG:5F61 90 03 - jsr Sub_DFF9 ; CPU:$DF63 PRG:5F63 20 F9 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop436 -; Global: Branch target inside Label: taken when DF66. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop436: - ldy $0397 ; CPU:$DF66 PRG:5F66 AC 97 03 - lda $E624,y ; CPU:$DF69 PRG:5F69 B9 24 E6 - sta Zp6F ; CPU:$DF6C PRG:5F6C 85 6F - jsr Sub_E001 ; CPU:$DF6E PRG:5F6E 20 01 E0 - bcc NmiHandler_Loop437 ; CPU:$DF71 PRG:5F71 90 03 - jsr Sub_DF07 ; CPU:$DF73 PRG:5F73 20 07 DF + jsr Sub_E2D7 ; CPU:$DF34 PRG:5F34 20 D7 E2 + beq NmiHandler_Loop437 ; CPU:$DF37 PRG:5F37 F0 02 + bne NmiHandler_Loop441 ; CPU:$DF39 PRG:5F39 D0 2B ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop437 -; Global: Branch target inside Label: taken when DF76. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop437. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop437: - jmp Sub_DF2D ; CPU:$DF76 PRG:5F76 4C 2D DF + jsr Sub_E025 ; CPU:$DF3B PRG:5F3B 20 25 E0 + jsr Sub_DF07 ; CPU:$DF3E PRG:5F3E 20 07 DF + jsr Sub_E139 ; CPU:$DF41 PRG:5F41 20 39 E1 + bcc NmiHandler_Loop438 ; CPU:$DF44 PRG:5F44 90 06 + jsr Sub_E0B9 ; CPU:$DF46 PRG:5F46 20 B9 E0 + jsr Sub_E051 ; CPU:$DF49 PRG:5F49 20 51 E0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop438 -; Global: Branch target inside Label: taken when DF79. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop438. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop438: + jsr Sub_9906 ; CPU:$DF4C PRG:5F4C 20 06 99 + tay ; CPU:$DF4F PRG:5F4F A8 + beq NmiHandler_Loop440 ; CPU:$DF50 PRG:5F50 F0 09 + dey ; CPU:$DF52 PRG:5F52 88 + beq NmiHandler_Loop439 ; CPU:$DF53 PRG:5F53 F0 03 + dey ; CPU:$DF55 PRG:5F55 88 + beq NmiHandler_Loop441 ; CPU:$DF56 PRG:5F56 F0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop439 +; Global: Branch target inside NmiHandler: taken when Loop439. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop439: + jmp NmiHandler_Loop449 ; CPU:$DF58 PRG:5F58 4C CF DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop440 +; Global: Branch target inside NmiHandler: taken when Loop440. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop440: + jsr Sub_DFF1 ; CPU:$DF5B PRG:5F5B 20 F1 DF + jsr Sub_9848 ; CPU:$DF5E PRG:5F5E 20 48 98 + bcc NmiHandler_Loop441 ; CPU:$DF61 PRG:5F61 90 03 + jsr Sub_DFF9 ; CPU:$DF63 PRG:5F63 20 F9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop441 +; Global: Branch target inside NmiHandler: taken when Loop441. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop441: + ldy $0397 ; CPU:$DF66 PRG:5F66 AC 97 03 + lda $E624,y ; CPU:$DF69 PRG:5F69 B9 24 E6 + sta PlayerSpriteX ; CPU:$DF6C PRG:5F6C 85 6F + jsr Sub_E001 ; CPU:$DF6E PRG:5F6E 20 01 E0 + bcc NmiHandler_Loop442 ; CPU:$DF71 PRG:5F71 90 03 + jsr Sub_DF07 ; CPU:$DF73 PRG:5F73 20 07 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop442 +; Global: Branch target inside NmiHandler: taken when Loop442. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop442: + jmp Sub_DF2D ; CPU:$DF76 PRG:5F76 4C 2D DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop443 +; Global: Branch target inside NmiHandler: taken when Loop443. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop443: lda #$00 ; CPU:$DF79 PRG:5F79 A9 00 sta $0397 ; CPU:$DF7B PRG:5F7B 8D 97 03 - jsr Sub_DE8E ; CPU:$DF7E PRG:5F7E 20 8E DE - jmp Sub_DF8B ; CPU:$DF81 PRG:5F81 4C 8B DF + jsr Sub_DE8E ; CPU:$DF7E PRG:5F7E 20 8E DE + jmp Sub_DF8B ; CPU:$DF81 PRG:5F81 4C 8B DF ; ----------------------------------------------------------------------------- ; Routine: Sub_DF84 -; Global: Branch target inside Label: taken when DF84. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DF84. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14312,106 +14619,106 @@ NmiHandler_Loop438: Sub_DF84: ldy $0397 ; CPU:$DF84 PRG:5F84 AC 97 03 cpy #$02 ; CPU:$DF87 PRG:5F87 C0 02 - bcs NmiHandler_Loop444 ; CPU:$DF89 PRG:5F89 B0 44 + bcs NmiHandler_Loop449 ; CPU:$DF89 PRG:5F89 B0 44 ; ----------------------------------------------------------------------------- ; Routine: Sub_DF8B -; Global: Branch target inside Label: taken when DF8B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DF8B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DF8B: - jsr Sub_E2D7 ; CPU:$DF8B PRG:5F8B 20 D7 E2 - beq NmiHandler_Loop439 ; CPU:$DF8E PRG:5F8E F0 02 - bne NmiHandler_Loop442 ; CPU:$DF90 PRG:5F90 D0 2A -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop439 -; Global: Branch target inside Label: taken when DF92. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop439: - jsr Sub_E025 ; CPU:$DF92 PRG:5F92 20 25 E0 - jsr Sub_DE8E ; CPU:$DF95 PRG:5F95 20 8E DE - jsr Sub_E139 ; CPU:$DF98 PRG:5F98 20 39 E1 - bcc NmiHandler_Loop440 ; CPU:$DF9B PRG:5F9B 90 06 - jsr Sub_E0B5 ; CPU:$DF9D PRG:5F9D 20 B5 E0 - jsr Sub_E036 ; CPU:$DFA0 PRG:5FA0 20 36 E0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop440 -; Global: Branch target inside Label: taken when DFA3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop440: - jsr Sub_9906 ; CPU:$DFA3 PRG:5FA3 20 06 99 - tay ; CPU:$DFA6 PRG:5FA6 A8 - beq NmiHandler_Loop441 ; CPU:$DFA7 PRG:5FA7 F0 08 - dey ; CPU:$DFA9 PRG:5FA9 88 - beq NmiHandler_Loop444 ; CPU:$DFAA PRG:5FAA F0 23 - dey ; CPU:$DFAC PRG:5FAC 88 - beq NmiHandler_Loop442 ; CPU:$DFAD PRG:5FAD F0 0D - bne NmiHandler_Loop444 ; CPU:$DFAF PRG:5FAF D0 1E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop441 -; Global: Branch target inside Label: taken when DFB1. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop441: - jsr Sub_DFF1 ; CPU:$DFB1 PRG:5FB1 20 F1 DF - jsr Sub_9848 ; CPU:$DFB4 PRG:5FB4 20 48 98 - bcc NmiHandler_Loop442 ; CPU:$DFB7 PRG:5FB7 90 03 - jsr Sub_DFF9 ; CPU:$DFB9 PRG:5FB9 20 F9 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop442 -; Global: Branch target inside Label: taken when DFBC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop442: - ldy $0397 ; CPU:$DFBC PRG:5FBC AC 97 03 - lda $E62D,y ; CPU:$DFBF PRG:5FBF B9 2D E6 - sta Zp6F ; CPU:$DFC2 PRG:5FC2 85 6F - jsr Sub_E001 ; CPU:$DFC4 PRG:5FC4 20 01 E0 - bcc NmiHandler_Loop443 ; CPU:$DFC7 PRG:5FC7 90 03 - jsr Sub_DE8E ; CPU:$DFC9 PRG:5FC9 20 8E DE -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop443 -; Global: Branch target inside Label: taken when DFCC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop443: - jmp Sub_DF84 ; CPU:$DFCC PRG:5FCC 4C 84 DF + jsr Sub_E2D7 ; CPU:$DF8B PRG:5F8B 20 D7 E2 + beq NmiHandler_Loop444 ; CPU:$DF8E PRG:5F8E F0 02 + bne NmiHandler_Loop447 ; CPU:$DF90 PRG:5F90 D0 2A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop444 -; Global: Branch target inside Label: taken when DFCF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop444. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop444: + jsr Sub_E025 ; CPU:$DF92 PRG:5F92 20 25 E0 + jsr Sub_DE8E ; CPU:$DF95 PRG:5F95 20 8E DE + jsr Sub_E139 ; CPU:$DF98 PRG:5F98 20 39 E1 + bcc NmiHandler_Loop445 ; CPU:$DF9B PRG:5F9B 90 06 + jsr Sub_E0B5 ; CPU:$DF9D PRG:5F9D 20 B5 E0 + jsr Sub_E036 ; CPU:$DFA0 PRG:5FA0 20 36 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop445 +; Global: Branch target inside NmiHandler: taken when Loop445. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop445: + jsr Sub_9906 ; CPU:$DFA3 PRG:5FA3 20 06 99 + tay ; CPU:$DFA6 PRG:5FA6 A8 + beq NmiHandler_Loop446 ; CPU:$DFA7 PRG:5FA7 F0 08 + dey ; CPU:$DFA9 PRG:5FA9 88 + beq NmiHandler_Loop449 ; CPU:$DFAA PRG:5FAA F0 23 + dey ; CPU:$DFAC PRG:5FAC 88 + beq NmiHandler_Loop447 ; CPU:$DFAD PRG:5FAD F0 0D + bne NmiHandler_Loop449 ; CPU:$DFAF PRG:5FAF D0 1E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop446 +; Global: Branch target inside NmiHandler: taken when Loop446. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop446: + jsr Sub_DFF1 ; CPU:$DFB1 PRG:5FB1 20 F1 DF + jsr Sub_9848 ; CPU:$DFB4 PRG:5FB4 20 48 98 + bcc NmiHandler_Loop447 ; CPU:$DFB7 PRG:5FB7 90 03 + jsr Sub_DFF9 ; CPU:$DFB9 PRG:5FB9 20 F9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop447 +; Global: Branch target inside NmiHandler: taken when Loop447. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop447: + ldy $0397 ; CPU:$DFBC PRG:5FBC AC 97 03 + lda $E62D,y ; CPU:$DFBF PRG:5FBF B9 2D E6 + sta PlayerSpriteX ; CPU:$DFC2 PRG:5FC2 85 6F + jsr Sub_E001 ; CPU:$DFC4 PRG:5FC4 20 01 E0 + bcc NmiHandler_Loop448 ; CPU:$DFC7 PRG:5FC7 90 03 + jsr Sub_DE8E ; CPU:$DFC9 PRG:5FC9 20 8E DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop448 +; Global: Branch target inside NmiHandler: taken when Loop448. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop448: + jmp Sub_DF84 ; CPU:$DFCC PRG:5FCC 4C 84 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop449 +; Global: Branch target inside NmiHandler: taken when Loop449. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop449: lda ZpBE ; CPU:$DFCF PRG:5FCF A5 BE and #$DF ; CPU:$DFD1 PRG:5FD1 29 DF sta ZpBE ; CPU:$DFD3 PRG:5FD3 85 BE - jmp Sub_D907 ; CPU:$DFD5 PRG:5FD5 4C 07 D9 + jmp Sub_D907 ; CPU:$DFD5 PRG:5FD5 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFD8 -; Global: Branch target inside Label: taken when DFD8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DFD8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14422,24 +14729,24 @@ Sub_DFD8: lda ZpBE ; CPU:$DFDD PRG:5FDD A5 BE ora #$20 ; CPU:$DFDF PRG:5FDF 09 20 sta ZpBE ; CPU:$DFE1 PRG:5FE1 85 BE - jsr Sub_DE8E ; CPU:$DFE3 PRG:5FE3 20 8E DE - jsr Sub_DDC7 ; CPU:$DFE6 PRG:5FE6 20 C7 DD - jmp Sub_DE38 ; CPU:$DFE9 PRG:5FE9 4C 38 DE + jsr Sub_DE8E ; CPU:$DFE3 PRG:5FE3 20 8E DE + jsr Sub_DDC7 ; CPU:$DFE6 PRG:5FE6 20 C7 DD + jmp Sub_DE38 ; CPU:$DFE9 PRG:5FE9 4C 38 DE ; ----------------------------------------------------------------------------- ; Routine: Sub_DFEC -; Global: Branch target inside Label: taken when DFEC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DFEC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DFEC: lda #$22 ; CPU:$DFEC PRG:5FEC A9 22 - jmp Sub_F6DB ; CPU:$DFEE PRG:5FEE 4C DB F6 + jmp Sub_F6DB ; CPU:$DFEE PRG:5FEE 4C DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFF1 -; Global: Branch target inside Label: taken when DFF1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DFF1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14447,199 +14754,199 @@ Sub_DFEC: Sub_DFF1: lda ZpD9,x ; CPU:$DFF1 PRG:5FF1 B5 D9 clc ; CPU:$DFF3 PRG:5FF3 18 - adc ZpC8,x ; CPU:$DFF4 PRG:5FF4 75 C8 - sta ZpC8,x ; CPU:$DFF6 PRG:5FF6 95 C8 + adc SpriteYPosition,x ; CPU:$DFF4 PRG:5FF4 75 C8 + sta SpriteYPosition,x ; CPU:$DFF6 PRG:5FF6 95 C8 rts ; CPU:$DFF8 PRG:5FF8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFF9 -; Global: Branch target inside Label: taken when DFF9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DFF9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DFF9: - lda ZpC8,x ; CPU:$DFF9 PRG:5FF9 B5 C8 + lda SpriteYPosition,x ; CPU:$DFF9 PRG:5FF9 B5 C8 sec ; CPU:$DFFB PRG:5FFB 38 sbc ZpD9,x ; CPU:$DFFC PRG:5FFC F5 D9 - sta ZpC8,x ; CPU:$DFFE PRG:5FFE 95 C8 + sta SpriteYPosition,x ; CPU:$DFFE PRG:5FFE 95 C8 rts ; CPU:$E000 PRG:6000 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E001 -; Global: Branch target inside Label: taken when E001. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E001. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E001: lda #$00 ; CPU:$E001 PRG:6001 A9 00 - sta Zp70 ; CPU:$E003 PRG:6003 85 70 - lda Zp6F ; CPU:$E005 PRG:6005 A5 6F - bpl NmiHandler_Loop445 ; CPU:$E007 PRG:6007 10 04 + sta PlayerSpriteY ; CPU:$E003 PRG:6003 85 70 + lda PlayerSpriteX ; CPU:$E005 PRG:6005 A5 6F + bpl NmiHandler_Loop450 ; CPU:$E007 PRG:6007 10 04 ldy #$FF ; CPU:$E009 PRG:6009 A0 FF - sty Zp70 ; CPU:$E00B PRG:600B 84 70 + sty PlayerSpriteY ; CPU:$E00B PRG:600B 84 70 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop445 -; Global: Branch target inside Label: taken when E00D. -; Local: Part of Label. +; Routine: NmiHandler_Loop450 +; Global: Branch target inside NmiHandler: taken when Loop450. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop445: +NmiHandler_Loop450: clc ; CPU:$E00D PRG:600D 18 adc $03A4 ; CPU:$E00E PRG:600E 6D A4 03 sta $03A4 ; CPU:$E011 PRG:6011 8D A4 03 lda $03B5 ; CPU:$E014 PRG:6014 AD B5 03 - adc Zp70 ; CPU:$E017 PRG:6017 65 70 + adc PlayerSpriteY ; CPU:$E017 PRG:6017 65 70 sta $03B5 ; CPU:$E019 PRG:6019 8D B5 03 inc $0397 ; CPU:$E01C PRG:601C EE 97 03 - jsr Sub_9B03 ; CPU:$E01F PRG:601F 20 03 9B - jmp Sub_8358 ; CPU:$E022 PRG:6022 4C 58 83 + jsr Sub_9B03 ; CPU:$E01F PRG:601F 20 03 9B + jmp Sub_8358 ; CPU:$E022 PRG:6022 4C 58 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_E025 -; Global: Branch target inside Label: taken when E025. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E025. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E025: - jsr Sub_E617 ; CPU:$E025 PRG:6025 20 17 E6 - beq NmiHandler_Loop446 ; CPU:$E028 PRG:6028 F0 03 - jmp Sub_9B18 ; CPU:$E02A PRG:602A 4C 18 9B + jsr Sub_E617 ; CPU:$E025 PRG:6025 20 17 E6 + beq NmiHandler_Loop451 ; CPU:$E028 PRG:6028 F0 03 + jmp Sub_9B18 ; CPU:$E02A PRG:602A 4C 18 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop446 -; Global: Branch target inside Label: taken when E02D. -; Local: Part of Label. +; Routine: NmiHandler_Loop451 +; Global: Branch target inside NmiHandler: taken when Loop451. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop446: - jsr Sub_E611 ; CPU:$E02D PRG:602D 20 11 E6 - beq NmiHandler_Loop447 ; CPU:$E030 PRG:6030 F0 03 - jmp Sub_9B11 ; CPU:$E032 PRG:6032 4C 11 9B +NmiHandler_Loop451: + jsr Sub_E611 ; CPU:$E02D PRG:602D 20 11 E6 + beq NmiHandler_Loop452 ; CPU:$E030 PRG:6030 F0 03 + jmp Sub_9B11 ; CPU:$E032 PRG:6032 4C 11 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop447 -; Global: Branch target inside Label: taken when E035. -; Local: Part of Label. +; Routine: NmiHandler_Loop452 +; Global: Branch target inside NmiHandler: taken when Loop452. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop447: +NmiHandler_Loop452: rts ; CPU:$E035 PRG:6035 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E036 -; Global: Branch target inside Label: taken when E036. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E036. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E036: - jsr Sub_9B1F ; CPU:$E036 PRG:6036 20 1F 9B - beq NmiHandler_Loop448 ; CPU:$E039 PRG:6039 F0 0B + jsr Sub_9B1F ; CPU:$E036 PRG:6036 20 1F 9B + beq NmiHandler_Loop453 ; CPU:$E039 PRG:6039 F0 0B lda #$9A ; CPU:$E03B PRG:603B A9 9A - sta Zp73 ; CPU:$E03D PRG:603D 85 73 + sta VramWritePtrLo ; CPU:$E03D PRG:603D 85 73 lda #$E6 ; CPU:$E03F PRG:603F A9 E6 - sta Zp74 ; CPU:$E041 PRG:6041 85 74 - jmp Sub_8334 ; CPU:$E043 PRG:6043 4C 34 83 + sta VramWritePtrHi ; CPU:$E041 PRG:6041 85 74 + jmp Sub_8334 ; CPU:$E043 PRG:6043 4C 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop448 -; Global: Branch target inside Label: taken when E046. -; Local: Part of Label. +; Routine: NmiHandler_Loop453 +; Global: Branch target inside NmiHandler: taken when Loop453. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop448: +NmiHandler_Loop453: lda #$9E ; CPU:$E046 PRG:6046 A9 9E - sta Zp73 ; CPU:$E048 PRG:6048 85 73 + sta VramWritePtrLo ; CPU:$E048 PRG:6048 85 73 lda #$E6 ; CPU:$E04A PRG:604A A9 E6 - sta Zp74 ; CPU:$E04C PRG:604C 85 74 - jmp Sub_8334 ; CPU:$E04E PRG:604E 4C 34 83 + sta VramWritePtrHi ; CPU:$E04C PRG:604C 85 74 + jmp Sub_8334 ; CPU:$E04E PRG:604E 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_E051 -; Global: Branch target inside Label: taken when E051. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E051. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E051: - jsr Sub_9B1F ; CPU:$E051 PRG:6051 20 1F 9B - beq NmiHandler_Loop449 ; CPU:$E054 PRG:6054 F0 0B + jsr Sub_9B1F ; CPU:$E051 PRG:6051 20 1F 9B + beq NmiHandler_Loop454 ; CPU:$E054 PRG:6054 F0 0B lda #$92 ; CPU:$E056 PRG:6056 A9 92 - sta Zp73 ; CPU:$E058 PRG:6058 85 73 + sta VramWritePtrLo ; CPU:$E058 PRG:6058 85 73 lda #$E6 ; CPU:$E05A PRG:605A A9 E6 - sta Zp74 ; CPU:$E05C PRG:605C 85 74 - jmp Sub_8334 ; CPU:$E05E PRG:605E 4C 34 83 + sta VramWritePtrHi ; CPU:$E05C PRG:605C 85 74 + jmp Sub_8334 ; CPU:$E05E PRG:605E 4C 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop449 -; Global: Branch target inside Label: taken when E061. -; Local: Part of Label. +; Routine: NmiHandler_Loop454 +; Global: Branch target inside NmiHandler: taken when Loop454. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop449: +NmiHandler_Loop454: lda #$96 ; CPU:$E061 PRG:6061 A9 96 - sta Zp73 ; CPU:$E063 PRG:6063 85 73 + sta VramWritePtrLo ; CPU:$E063 PRG:6063 85 73 lda #$E6 ; CPU:$E065 PRG:6065 A9 E6 - sta Zp74 ; CPU:$E067 PRG:6067 85 74 - jmp Sub_8334 ; CPU:$E069 PRG:6069 4C 34 83 + sta VramWritePtrHi ; CPU:$E067 PRG:6067 85 74 + jmp Sub_8334 ; CPU:$E069 PRG:6069 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_E06C -; Global: Branch target inside Label: taken when E06C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E06C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E06C: - jsr Sub_E085 ; CPU:$E06C PRG:606C 20 85 E0 - jmp Sub_DAE7 ; CPU:$E06F PRG:606F 4C E7 DA + jsr Sub_E085 ; CPU:$E06C PRG:606C 20 85 E0 + jmp Sub_DAE7 ; CPU:$E06F PRG:606F 4C E7 DA ; ----------------------------------------------------------------------------- ; Routine: Sub_E072 -; Global: Branch target inside Label: taken when E072. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E072. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E072: lda #$24 ; CPU:$E072 PRG:6072 A9 24 - jmp Sub_F6DB ; CPU:$E074 PRG:6074 4C DB F6 + jmp Sub_F6DB ; CPU:$E074 PRG:6074 4C DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E077 -; Global: Branch target inside Label: taken when E077. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E077. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E077: lda #$24 ; CPU:$E077 PRG:6077 A9 24 - jmp Sub_F704 ; CPU:$E079 PRG:6079 4C 04 F7 + jmp Sub_F704 ; CPU:$E079 PRG:6079 4C 04 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_E07C -; Global: Branch target inside Label: taken when E07C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E07C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E07C: - jsr Sub_E077 ; CPU:$E07C PRG:607C 20 77 E0 - jsr Sub_E085 ; CPU:$E07F PRG:607F 20 85 E0 - jmp Sub_D907 ; CPU:$E082 PRG:6082 4C 07 D9 + jsr Sub_E077 ; CPU:$E07C PRG:607C 20 77 E0 + jsr Sub_E085 ; CPU:$E07F PRG:607F 20 85 E0 + jmp Sub_D907 ; CPU:$E082 PRG:6082 4C 07 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_E085 -; Global: Branch target inside Label: taken when E085. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E085. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14647,28 +14954,28 @@ Sub_E07C: Sub_E085: lda #$03 ; CPU:$E085 PRG:6085 A9 03 sta $0397 ; CPU:$E087 PRG:6087 8D 97 03 - jsr Sub_DE8E ; CPU:$E08A PRG:608A 20 8E DE + jsr Sub_DE8E ; CPU:$E08A PRG:608A 20 8E DE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear23 -; Global: Branch target inside Label: taken when E08D. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear26 +; Global: Branch target inside NmiHandler: taken when OnCarryClear26. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear23: - jsr Sub_E2D2 ; CPU:$E08D PRG:608D 20 D2 E2 - beq NmiHandler_Loop450 ; CPU:$E090 PRG:6090 F0 03 - jmp Sub_E0FD ; CPU:$E092 PRG:6092 4C FD E0 +NmiHandler_OnCarryClear26: + jsr Sub_E2D2 ; CPU:$E08D PRG:608D 20 D2 E2 + beq NmiHandler_Loop455 ; CPU:$E090 PRG:6090 F0 03 + jmp Sub_E0FD ; CPU:$E092 PRG:6092 4C FD E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop450 -; Global: Branch target inside Label: taken when E095. -; Local: Part of Label. +; Routine: NmiHandler_Loop455 +; Global: Branch target inside NmiHandler: taken when Loop455. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop450: +NmiHandler_Loop455: lda ZpE0 ; CPU:$E095 PRG:6095 A5 E0 clc ; CPU:$E097 PRG:6097 18 adc ZpCF ; CPU:$E098 PRG:6098 65 CF @@ -14678,45 +14985,45 @@ NmiHandler_Loop450: clc ; CPU:$E0A2 PRG:60A2 18 adc $030A ; CPU:$E0A3 PRG:60A3 6D 0A 03 dec $0397 ; CPU:$E0A6 PRG:60A6 CE 97 03 - beq NmiHandler_Loop451 ; CPU:$E0A9 PRG:60A9 F0 05 - jsr Sub_8358 ; CPU:$E0AB PRG:60AB 20 58 83 - bcc NmiHandler_OnCarryClear23 ; CPU:$E0AE PRG:60AE 90 DD + beq NmiHandler_Loop456 ; CPU:$E0A9 PRG:60A9 F0 05 + jsr Sub_8358 ; CPU:$E0AB PRG:60AB 20 58 83 + bcc NmiHandler_OnCarryClear26 ; CPU:$E0AE PRG:60AE 90 DD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop451 -; Global: Branch target inside Label: taken when E0B0. -; Local: Part of Label. +; Routine: NmiHandler_Loop456 +; Global: Branch target inside NmiHandler: taken when Loop456. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop451: +NmiHandler_Loop456: rts ; CPU:$E0B0 PRG:60B0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0B1 -; Global: Branch target inside Label: taken when E0B1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E0B1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E0B1: lda #$04 ; CPU:$E0B1 PRG:60B1 A9 04 - bne NmiHandler_Loop452 ; CPU:$E0B3 PRG:60B3 D0 06 + bne NmiHandler_Loop457 ; CPU:$E0B3 PRG:60B3 D0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0B5 -; Global: Branch target inside Label: taken when E0B5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E0B5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E0B5: lda #$0E ; CPU:$E0B5 PRG:60B5 A9 0E - bne NmiHandler_Loop452 ; CPU:$E0B7 PRG:60B7 D0 02 + bne NmiHandler_Loop457 ; CPU:$E0B7 PRG:60B7 D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0B9 -; Global: Branch target inside Label: taken when E0B9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E0B9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14724,15 +15031,15 @@ Sub_E0B5: Sub_E0B9: lda #$06 ; CPU:$E0B9 PRG:60B9 A9 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop452 -; Global: Branch target inside Label: taken when E0BB. -; Local: Part of Label. +; Routine: NmiHandler_Loop457 +; Global: Branch target inside NmiHandler: taken when Loop457. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop452: - sta Zp70 ; CPU:$E0BB PRG:60BB 85 70 +NmiHandler_Loop457: + sta PlayerSpriteY ; CPU:$E0BB PRG:60BB 85 70 lda $039D,x ; CPU:$E0BD PRG:60BD BD 9D 03 sec ; CPU:$E0C0 PRG:60C0 38 sbc $0684 ; CPU:$E0C1 PRG:60C1 ED 84 06 @@ -14741,37 +15048,37 @@ NmiHandler_Loop452: sec ; CPU:$E0C7 PRG:60C7 38 sbc $0303,x ; CPU:$E0C8 PRG:60C8 FD 03 03 clc ; CPU:$E0CB PRG:60CB 18 - adc Zp70 ; CPU:$E0CC PRG:60CC 65 70 - sta Zp70 ; CPU:$E0CE PRG:60CE 85 70 + adc PlayerSpriteY ; CPU:$E0CC PRG:60CC 65 70 + sta PlayerSpriteY ; CPU:$E0CE PRG:60CE 85 70 lda $039D,x ; CPU:$E0D0 PRG:60D0 BD 9D 03 sec ; CPU:$E0D3 PRG:60D3 38 - sbc Zp70 ; CPU:$E0D4 PRG:60D4 E5 70 + sbc PlayerSpriteY ; CPU:$E0D4 PRG:60D4 E5 70 sta $039D,y ; CPU:$E0D6 PRG:60D6 99 9D 03 lda $03AE,x ; CPU:$E0D9 PRG:60D9 BD AE 03 sbc #$00 ; CPU:$E0DC PRG:60DC E9 00 sta $03AE,y ; CPU:$E0DE PRG:60DE 99 AE 03 lda ZpE5,x ; CPU:$E0E1 PRG:60E1 B5 E5 sta a:ZpE5,y ; CPU:$E0E3 PRG:60E3 99 E5 00 - jsr Sub_9B1F ; CPU:$E0E6 PRG:60E6 20 1F 9B - beq NmiHandler_Loop453 ; CPU:$E0E9 PRG:60E9 F0 05 - lda ZpC8,x ; CPU:$E0EB PRG:60EB B5 C8 - jmp Sub_E0F5 ; CPU:$E0ED PRG:60ED 4C F5 E0 + jsr Sub_9B1F ; CPU:$E0E6 PRG:60E6 20 1F 9B + beq NmiHandler_Loop458 ; CPU:$E0E9 PRG:60E9 F0 05 + lda SpriteYPosition,x ; CPU:$E0EB PRG:60EB B5 C8 + jmp Sub_E0F5 ; CPU:$E0ED PRG:60ED 4C F5 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop453 -; Global: Branch target inside Label: taken when E0F0. -; Local: Part of Label. +; Routine: NmiHandler_Loop458 +; Global: Branch target inside NmiHandler: taken when Loop458. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop453: - lda ZpC8,x ; CPU:$E0F0 PRG:60F0 B5 C8 +NmiHandler_Loop458: + lda SpriteYPosition,x ; CPU:$E0F0 PRG:60F0 B5 C8 sec ; CPU:$E0F2 PRG:60F2 38 sbc #$04 ; CPU:$E0F3 PRG:60F3 E9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0F5 -; Global: Branch target inside Label: taken when E0F5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E0F5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14779,11 +15086,11 @@ NmiHandler_Loop453: Sub_E0F5: sta a:ZpC8,y ; CPU:$E0F5 PRG:60F5 99 C8 00 lda #$21 ; CPU:$E0F8 PRG:60F8 A9 21 - jmp Sub_F6DB ; CPU:$E0FA PRG:60FA 4C DB F6 + jmp Sub_F6DB ; CPU:$E0FA PRG:60FA 4C DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0FD -; Global: Branch target inside Label: taken when E0FD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E0FD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14792,59 +15099,59 @@ Sub_E0FD: lda ZpBE ; CPU:$E0FD PRG:60FD A5 BE ora #$01 ; CPU:$E0FF PRG:60FF 09 01 sta ZpBE ; CPU:$E101 PRG:6101 85 BE - jsr Sub_F64E ; CPU:$E103 PRG:6103 20 4E F6 + jsr Sub_F64E ; CPU:$E103 PRG:6103 20 4E F6 lda #$1A ; CPU:$E106 PRG:6106 A9 1A - jsr Sub_F6DB ; CPU:$E108 PRG:6108 20 DB F6 - jsr Sub_9B1F ; CPU:$E10B PRG:610B 20 1F 9B - beq NmiHandler_Loop454 ; CPU:$E10E PRG:610E F0 0B + jsr Sub_F6DB ; CPU:$E108 PRG:6108 20 DB F6 + jsr Sub_9B1F ; CPU:$E10B PRG:610B 20 1F 9B + beq NmiHandler_Loop459 ; CPU:$E10E PRG:610E F0 0B lda #$0A ; CPU:$E110 PRG:6110 A9 0A - sta Zp73 ; CPU:$E112 PRG:6112 85 73 + sta VramWritePtrLo ; CPU:$E112 PRG:6112 85 73 lda #$E7 ; CPU:$E114 PRG:6114 A9 E7 - sta Zp74 ; CPU:$E116 PRG:6116 85 74 - jmp Sub_E123 ; CPU:$E118 PRG:6118 4C 23 E1 + sta VramWritePtrHi ; CPU:$E116 PRG:6116 85 74 + jmp Sub_E123 ; CPU:$E118 PRG:6118 4C 23 E1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop454 -; Global: Branch target inside Label: taken when E11B. -; Local: Part of Label. +; Routine: NmiHandler_Loop459 +; Global: Branch target inside NmiHandler: taken when Loop459. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop454: +NmiHandler_Loop459: lda #$24 ; CPU:$E11B PRG:611B A9 24 - sta Zp73 ; CPU:$E11D PRG:611D 85 73 + sta VramWritePtrLo ; CPU:$E11D PRG:611D 85 73 lda #$E7 ; CPU:$E11F PRG:611F A9 E7 - sta Zp74 ; CPU:$E121 PRG:6121 85 74 + sta VramWritePtrHi ; CPU:$E121 PRG:6121 85 74 ; ----------------------------------------------------------------------------- ; Routine: Sub_E123 -; Global: Branch target inside Label: taken when E123. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E123. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E123: - jsr Sub_8334 ; CPU:$E123 PRG:6123 20 34 83 + jsr Sub_8334 ; CPU:$E123 PRG:6123 20 34 83 lda #$46 ; CPU:$E126 PRG:6126 A9 46 sta $03C1 ; CPU:$E128 PRG:6128 8D C1 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero85 -; Global: Branch target inside Label: taken when E12B. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero86 +; Global: Branch target inside NmiHandler: taken when OnNonzero86. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero85: - jsr Sub_9B03 ; CPU:$E12B PRG:612B 20 03 9B - jsr Sub_8358 ; CPU:$E12E PRG:612E 20 58 83 +NmiHandler_OnNonzero86: + jsr Sub_9B03 ; CPU:$E12B PRG:612B 20 03 9B + jsr Sub_8358 ; CPU:$E12E PRG:612E 20 58 83 dec $03C1 ; CPU:$E131 PRG:6131 CE C1 03 - bne NmiHandler_OnNonzero85 ; CPU:$E134 PRG:6134 D0 F5 - jmp Sub_E2A3 ; CPU:$E136 PRG:6136 4C A3 E2 + bne NmiHandler_OnNonzero86 ; CPU:$E134 PRG:6134 D0 F5 + jmp Sub_E2A3 ; CPU:$E136 PRG:6136 4C A3 E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E139 -; Global: Branch target inside Label: taken when E139. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E139. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14852,91 +15159,91 @@ NmiHandler_OnNonzero85: Sub_E139: lda $0300 ; CPU:$E139 PRG:6139 AD 00 03 and #$40 ; CPU:$E13C PRG:613C 29 40 - beq NmiHandler_Loop459 ; CPU:$E13E PRG:613E F0 2D + beq NmiHandler_Loop464 ; CPU:$E13E PRG:613E F0 2D lda $068B ; CPU:$E140 PRG:6140 AD 8B 06 - bne NmiHandler_Loop455 ; CPU:$E143 PRG:6143 D0 11 + bne NmiHandler_Loop460 ; CPU:$E143 PRG:6143 D0 11 lda #$FF ; CPU:$E145 PRG:6145 A9 FF sta $068B ; CPU:$E147 PRG:6147 8D 8B 06 ldy #$03 ; CPU:$E14A PRG:614A A0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear24 -; Global: Branch target inside Label: taken when E14C. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear27 +; Global: Branch target inside NmiHandler: taken when OnCarryClear27. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear24: +NmiHandler_OnCarryClear27: lda a:ZpB7,y ; CPU:$E14C PRG:614C B9 B7 00 - bpl NmiHandler_Loop456 ; CPU:$E14F PRG:614F 10 07 + bpl NmiHandler_Loop461 ; CPU:$E14F PRG:614F 10 07 iny ; CPU:$E151 PRG:6151 C8 cpy #$06 ; CPU:$E152 PRG:6152 C0 06 - bcc NmiHandler_OnCarryClear24 ; CPU:$E154 PRG:6154 90 F6 + bcc NmiHandler_OnCarryClear27 ; CPU:$E154 PRG:6154 90 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop455 -; Global: Branch target inside Label: taken when E156. -; Local: Part of Label. +; Routine: NmiHandler_Loop460 +; Global: Branch target inside NmiHandler: taken when Loop460. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop455: +NmiHandler_Loop460: clc ; CPU:$E156 PRG:6156 18 rts ; CPU:$E157 PRG:6157 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop456 -; Global: Branch target inside Label: taken when E158. -; Local: Part of Label. +; Routine: NmiHandler_Loop461 +; Global: Branch target inside NmiHandler: taken when Loop461. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop456: +NmiHandler_Loop461: lda #$80 ; CPU:$E158 PRG:6158 A9 80 sta a:ZpB7,y ; CPU:$E15A PRG:615A 99 B7 00 - jsr Sub_9B1F ; CPU:$E15D PRG:615D 20 1F 9B - beq NmiHandler_Loop457 ; CPU:$E160 PRG:6160 F0 04 + jsr Sub_9B1F ; CPU:$E15D PRG:615D 20 1F 9B + beq NmiHandler_Loop462 ; CPU:$E160 PRG:6160 F0 04 lda #$08 ; CPU:$E162 PRG:6162 A9 08 - bne NmiHandler_Loop458 ; CPU:$E164 PRG:6164 D0 02 + bne NmiHandler_Loop463 ; CPU:$E164 PRG:6164 D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop457 -; Global: Branch target inside Label: taken when E166. -; Local: Part of Label. +; Routine: NmiHandler_Loop462 +; Global: Branch target inside NmiHandler: taken when Loop462. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop457: +NmiHandler_Loop462: lda #$F8 ; CPU:$E166 PRG:6166 A9 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop458 -; Global: Branch target inside Label: taken when E168. -; Local: Part of Label. +; Routine: NmiHandler_Loop463 +; Global: Branch target inside NmiHandler: taken when Loop463. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop458: +NmiHandler_Loop463: sta a:ZpD9,y ; CPU:$E168 PRG:6168 99 D9 00 sec ; CPU:$E16B PRG:616B 38 rts ; CPU:$E16C PRG:616C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop459 -; Global: Branch target inside Label: taken when E16D. -; Local: Part of Label. +; Routine: NmiHandler_Loop464 +; Global: Branch target inside NmiHandler: taken when Loop464. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop459: +NmiHandler_Loop464: lda #$00 ; CPU:$E16D PRG:616D A9 00 sta $068B ; CPU:$E16F PRG:616F 8D 8B 06 clc ; CPU:$E172 PRG:6172 18 rts ; CPU:$E173 PRG:6173 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E174 -; Global: Branch target inside Label: taken when E174. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E174. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14945,47 +15252,47 @@ Sub_E174: lda ZpBE ; CPU:$E174 PRG:6174 A5 BE ora #$01 ; CPU:$E176 PRG:6176 09 01 sta ZpBE ; CPU:$E178 PRG:6178 85 BE - jsr Sub_9C83 ; CPU:$E17A PRG:617A 20 83 9C - jsr Sub_9C69 ; CPU:$E17D PRG:617D 20 69 9C - jsr Sub_9B1F ; CPU:$E180 PRG:6180 20 1F 9B - bne NmiHandler_Loop460 ; CPU:$E183 PRG:6183 D0 0C + jsr Sub_9C83 ; CPU:$E17A PRG:617A 20 83 9C + jsr Sub_9C69 ; CPU:$E17D PRG:617D 20 69 9C + jsr Sub_9B1F ; CPU:$E180 PRG:6180 20 1F 9B + bne NmiHandler_Loop465 ; CPU:$E183 PRG:6183 D0 0C lda #$E6 ; CPU:$E185 PRG:6185 A9 E6 - sta Zp73 ; CPU:$E187 PRG:6187 85 73 + sta VramWritePtrLo ; CPU:$E187 PRG:6187 85 73 lda #$E6 ; CPU:$E189 PRG:6189 A9 E6 - sta Zp74 ; CPU:$E18B PRG:618B 85 74 + sta VramWritePtrHi ; CPU:$E18B PRG:618B 85 74 lda #$FC ; CPU:$E18D PRG:618D A9 FC - bne NmiHandler_Loop461 ; CPU:$E18F PRG:618F D0 0A + bne NmiHandler_Loop466 ; CPU:$E18F PRG:618F D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop460 -; Global: Branch target inside Label: taken when E191. -; Local: Part of Label. +; Routine: NmiHandler_Loop465 +; Global: Branch target inside NmiHandler: taken when Loop465. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop460: +NmiHandler_Loop465: lda #$E0 ; CPU:$E191 PRG:6191 A9 E0 - sta Zp73 ; CPU:$E193 PRG:6193 85 73 + sta VramWritePtrLo ; CPU:$E193 PRG:6193 85 73 lda #$E6 ; CPU:$E195 PRG:6195 A9 E6 - sta Zp74 ; CPU:$E197 PRG:6197 85 74 + sta VramWritePtrHi ; CPU:$E197 PRG:6197 85 74 lda #$04 ; CPU:$E199 PRG:6199 A9 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop461 -; Global: Branch target inside Label: taken when E19B. -; Local: Part of Label. +; Routine: NmiHandler_Loop466 +; Global: Branch target inside NmiHandler: taken when Loop466. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop461: +NmiHandler_Loop466: clc ; CPU:$E19B PRG:619B 18 - adc ZpC8,x ; CPU:$E19C PRG:619C 75 C8 - sta ZpC8,x ; CPU:$E19E PRG:619E 95 C8 - jsr Sub_8334 ; CPU:$E1A0 PRG:61A0 20 34 83 + adc SpriteYPosition,x ; CPU:$E19C PRG:619C 75 C8 + sta SpriteYPosition,x ; CPU:$E19E PRG:619E 95 C8 + jsr Sub_8334 ; CPU:$E1A0 PRG:61A0 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_E1A3 -; Global: Branch target inside Label: taken when E1A3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E1A3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14993,44 +15300,44 @@ NmiHandler_Loop461: Sub_E1A3: lda #$02 ; CPU:$E1A3 PRG:61A3 A9 02 sta $055D ; CPU:$E1A5 PRG:61A5 8D 5D 05 - jsr Sub_E1C3 ; CPU:$E1A8 PRG:61A8 20 C3 E1 - bcc NmiHandler_Loop463 ; CPU:$E1AB PRG:61AB 90 10 + jsr Sub_E1C3 ; CPU:$E1A8 PRG:61A8 20 C3 E1 + bcc NmiHandler_Loop468 ; CPU:$E1AB PRG:61AB 90 10 cmp #$00 ; CPU:$E1AD PRG:61AD C9 00 - beq NmiHandler_Loop462 ; CPU:$E1AF PRG:61AF F0 06 - jsr Sub_9C73 ; CPU:$E1B1 PRG:61B1 20 73 9C - jmp Sub_E2A3 ; CPU:$E1B4 PRG:61B4 4C A3 E2 + beq NmiHandler_Loop467 ; CPU:$E1AF PRG:61AF F0 06 + jsr Sub_9C73 ; CPU:$E1B1 PRG:61B1 20 73 9C + jmp Sub_E2A3 ; CPU:$E1B4 PRG:61B4 4C A3 E2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop462 -; Global: Branch target inside Label: taken when E1B7. -; Local: Part of Label. +; Routine: NmiHandler_Loop467 +; Global: Branch target inside NmiHandler: taken when Loop467. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop462: - jsr Sub_9C73 ; CPU:$E1B7 PRG:61B7 20 73 9C - jmp Sub_E0FD ; CPU:$E1BA PRG:61BA 4C FD E0 +NmiHandler_Loop467: + jsr Sub_9C73 ; CPU:$E1B7 PRG:61B7 20 73 9C + jmp Sub_E0FD ; CPU:$E1BA PRG:61BA 4C FD E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop463 -; Global: Branch target inside Label: taken when E1BD. -; Local: Part of Label. +; Routine: NmiHandler_Loop468 +; Global: Branch target inside NmiHandler: taken when Loop468. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop463: - jsr Sub_8358 ; CPU:$E1BD PRG:61BD 20 58 83 - jmp Sub_E1A3 ; CPU:$E1C0 PRG:61C0 4C A3 E1 +NmiHandler_Loop468: + jsr Sub_8358 ; CPU:$E1BD PRG:61BD 20 58 83 + jmp Sub_E1A3 ; CPU:$E1C0 PRG:61C0 4C A3 E1 ; ----------------------------------------------------------------------------- ; Routine: Sub_E1C3 -; Global: Branch target inside Label: taken when E1C3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E1C3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E1C3: - jsr Sub_97FE ; CPU:$E1C3 PRG:61C3 20 FE 97 + jsr Sub_97FE ; CPU:$E1C3 PRG:61C3 20 FE 97 lda $039D,x ; CPU:$E1C6 PRG:61C6 BD 9D 03 clc ; CPU:$E1C9 PRG:61C9 18 adc #$06 ; CPU:$E1CA PRG:61CA 69 06 @@ -15038,60 +15345,60 @@ Sub_E1C3: lda $03AE,x ; CPU:$E1CF PRG:61CF BD AE 03 adc #$00 ; CPU:$E1D2 PRG:61D2 69 00 sta $03AE,x ; CPU:$E1D4 PRG:61D4 9D AE 03 - jsr Sub_9B03 ; CPU:$E1D7 PRG:61D7 20 03 9B + jsr Sub_9B03 ; CPU:$E1D7 PRG:61D7 20 03 9B lda $0303,x ; CPU:$E1DA PRG:61DA BD 03 03 cmp #$E8 ; CPU:$E1DD PRG:61DD C9 E8 - bcc NmiHandler_Loop464 ; CPU:$E1DF PRG:61DF 90 08 + bcc NmiHandler_Loop469 ; CPU:$E1DF PRG:61DF 90 08 inc ZpE5,x ; CPU:$E1E1 PRG:61E1 F6 E5 inc ZpE5,x ; CPU:$E1E3 PRG:61E3 F6 E5 lda #$01 ; CPU:$E1E5 PRG:61E5 A9 01 sec ; CPU:$E1E7 PRG:61E7 38 rts ; CPU:$E1E8 PRG:61E8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop464 -; Global: Branch target inside Label: taken when E1E9. -; Local: Part of Label. +; Routine: NmiHandler_Loop469 +; Global: Branch target inside NmiHandler: taken when Loop469. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop464: +NmiHandler_Loop469: ldy $03D7,x ; CPU:$E1E9 PRG:61E9 BC D7 03 lda $047D,y ; CPU:$E1EC PRG:61EC B9 7D 04 sec ; CPU:$E1EF PRG:61EF 38 sbc $039D,x ; CPU:$E1F0 PRG:61F0 FD 9D 03 - sta Zp73 ; CPU:$E1F3 PRG:61F3 85 73 + sta VramWritePtrLo ; CPU:$E1F3 PRG:61F3 85 73 lda $048A,y ; CPU:$E1F5 PRG:61F5 B9 8A 04 sbc $03AE,x ; CPU:$E1F8 PRG:61F8 FD AE 03 - bne NmiHandler_Loop465 ; CPU:$E1FB PRG:61FB D0 0C - lda Zp73 ; CPU:$E1FD PRG:61FD A5 73 + bne NmiHandler_Loop470 ; CPU:$E1FB PRG:61FB D0 0C + lda VramWritePtrLo ; CPU:$E1FD PRG:61FD A5 73 cmp #$30 ; CPU:$E1FF PRG:61FF C9 30 - bcs NmiHandler_Loop465 ; CPU:$E201 PRG:6201 B0 06 - jsr NmiHandler_Loop349 ; CPU:$E203 PRG:6203 20 31 DA - jmp Sub_E221 ; CPU:$E206 PRG:6206 4C 21 E2 + bcs NmiHandler_Loop470 ; CPU:$E201 PRG:6201 B0 06 + jsr NmiHandler_Loop354 ; CPU:$E203 PRG:6203 20 31 DA + jmp Sub_E221 ; CPU:$E206 PRG:6206 4C 21 E2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop465 -; Global: Branch target inside Label: taken when E209. -; Local: Part of Label. +; Routine: NmiHandler_Loop470 +; Global: Branch target inside NmiHandler: taken when Loop470. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop465: +NmiHandler_Loop470: lda $04CB,y ; CPU:$E209 PRG:6209 B9 CB 04 - jsr Sub_9A0B ; CPU:$E20C PRG:620C 20 0B 9A + jsr Sub_9A0B ; CPU:$E20C PRG:620C 20 0B 9A lda $039D,x ; CPU:$E20F PRG:620F BD 9D 03 sec ; CPU:$E212 PRG:6212 38 - sbc Zp73 ; CPU:$E213 PRG:6213 E5 73 + sbc VramWritePtrLo ; CPU:$E213 PRG:6213 E5 73 lda $03AE,x ; CPU:$E215 PRG:6215 BD AE 03 - sbc Zp74 ; CPU:$E218 PRG:6218 E5 74 - bcc NmiHandler_Loop466 ; CPU:$E21A PRG:621A 90 09 + sbc VramWritePtrHi ; CPU:$E218 PRG:6218 E5 74 + bcc NmiHandler_Loop471 ; CPU:$E21A PRG:621A 90 09 lda $04CB,y ; CPU:$E21C PRG:621C B9 CB 04 sta ZpE5,x ; CPU:$E21F PRG:621F 95 E5 ; ----------------------------------------------------------------------------- ; Routine: Sub_E221 -; Global: Branch target inside Label: taken when E221. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E221. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15101,152 +15408,152 @@ Sub_E221: sec ; CPU:$E223 PRG:6223 38 rts ; CPU:$E224 PRG:6224 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop466 -; Global: Branch target inside Label: taken when E225. -; Local: Part of Label. +; Routine: NmiHandler_Loop471 +; Global: Branch target inside NmiHandler: taken when Loop471. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop466: +NmiHandler_Loop471: ldy $03D7,x ; CPU:$E225 PRG:6225 BC D7 03 lda $03FB,y ; CPU:$E228 PRG:6228 B9 FB 03 and #$04 ; CPU:$E22B PRG:622B 29 04 - beq NmiHandler_Loop467 ; CPU:$E22D PRG:622D F0 09 + beq NmiHandler_Loop472 ; CPU:$E22D PRG:622D F0 09 lda $04BE,y ; CPU:$E22F PRG:622F B9 BE 04 sta $03D7,x ; CPU:$E232 PRG:6232 9D D7 03 - jmp NmiHandler_Loop464 ; CPU:$E235 PRG:6235 4C E9 E1 + jmp NmiHandler_Loop469 ; CPU:$E235 PRG:6235 4C E9 E1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop467 -; Global: Branch target inside Label: taken when E238. -; Local: Part of Label. +; Routine: NmiHandler_Loop472 +; Global: Branch target inside NmiHandler: taken when Loop472. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop467: +NmiHandler_Loop472: clc ; CPU:$E238 PRG:6238 18 rts ; CPU:$E239 PRG:6239 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E23A -; Global: Branch target inside Label: taken when E23A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E23A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E23A: lda #$23 ; CPU:$E23A PRG:623A A9 23 - jsr Sub_F6DB ; CPU:$E23C PRG:623C 20 DB F6 - jsr Sub_9B1F ; CPU:$E23F PRG:623F 20 1F 9B - beq NmiHandler_Loop468 ; CPU:$E242 PRG:6242 F0 0A + jsr Sub_F6DB ; CPU:$E23C PRG:623C 20 DB F6 + jsr Sub_9B1F ; CPU:$E23F PRG:623F 20 1F 9B + beq NmiHandler_Loop473 ; CPU:$E242 PRG:6242 F0 0A lda #$EC ; CPU:$E244 PRG:6244 A9 EC - sta Zp73 ; CPU:$E246 PRG:6246 85 73 + sta VramWritePtrLo ; CPU:$E246 PRG:6246 85 73 lda #$E6 ; CPU:$E248 PRG:6248 A9 E6 - sta Zp74 ; CPU:$E24A PRG:624A 85 74 - bne NmiHandler_Loop469 ; CPU:$E24C PRG:624C D0 08 + sta VramWritePtrHi ; CPU:$E24A PRG:624A 85 74 + bne NmiHandler_Loop474 ; CPU:$E24C PRG:624C D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop468 -; Global: Branch target inside Label: taken when E24E. -; Local: Part of Label. +; Routine: NmiHandler_Loop473 +; Global: Branch target inside NmiHandler: taken when Loop473. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop468: +NmiHandler_Loop473: lda #$F6 ; CPU:$E24E PRG:624E A9 F6 - sta Zp73 ; CPU:$E250 PRG:6250 85 73 + sta VramWritePtrLo ; CPU:$E250 PRG:6250 85 73 lda #$E6 ; CPU:$E252 PRG:6252 A9 E6 - sta Zp74 ; CPU:$E254 PRG:6254 85 74 + sta VramWritePtrHi ; CPU:$E254 PRG:6254 85 74 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop469 -; Global: Branch target inside Label: taken when E256. -; Local: Part of Label. +; Routine: NmiHandler_Loop474 +; Global: Branch target inside NmiHandler: taken when Loop474. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop469: - jsr Sub_8334 ; CPU:$E256 PRG:6256 20 34 83 +NmiHandler_Loop474: + jsr Sub_8334 ; CPU:$E256 PRG:6256 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear25 -; Global: Branch target inside Label: taken when E259. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear28 +; Global: Branch target inside NmiHandler: taken when OnCarryClear28. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear25: - jsr Sub_E291 ; CPU:$E259 PRG:6259 20 91 E2 - bcc NmiHandler_OnCarryClear25 ; CPU:$E25C PRG:625C 90 FB +NmiHandler_OnCarryClear28: + jsr Sub_E291 ; CPU:$E259 PRG:6259 20 91 E2 + bcc NmiHandler_OnCarryClear28 ; CPU:$E25C PRG:625C 90 FB lda $033D ; CPU:$E25E PRG:625E AD 3D 03 ora #$01 ; CPU:$E261 PRG:6261 09 01 sta $033D ; CPU:$E263 PRG:6263 8D 3D 03 lda #$00 ; CPU:$E266 PRG:6266 A9 00 - sta Zp73 ; CPU:$E268 PRG:6268 85 73 + sta VramWritePtrLo ; CPU:$E268 PRG:6268 85 73 lda #$E7 ; CPU:$E26A PRG:626A A9 E7 - sta Zp74 ; CPU:$E26C PRG:626C 85 74 - jsr Sub_8334 ; CPU:$E26E PRG:626E 20 34 83 + sta VramWritePtrHi ; CPU:$E26C PRG:626C 85 74 + jsr Sub_8334 ; CPU:$E26E PRG:626E 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear26 -; Global: Branch target inside Label: taken when E271. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear29 +; Global: Branch target inside NmiHandler: taken when OnCarryClear29. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear26: - jsr Sub_E291 ; CPU:$E271 PRG:6271 20 91 E2 - bcc NmiHandler_OnCarryClear26 ; CPU:$E274 PRG:6274 90 FB +NmiHandler_OnCarryClear29: + jsr Sub_E291 ; CPU:$E271 PRG:6271 20 91 E2 + bcc NmiHandler_OnCarryClear29 ; CPU:$E274 PRG:6274 90 FB lda $033D ; CPU:$E276 PRG:6276 AD 3D 03 ora #$02 ; CPU:$E279 PRG:6279 09 02 sta $033D ; CPU:$E27B PRG:627B 8D 3D 03 lda #$04 ; CPU:$E27E PRG:627E A9 04 - sta Zp73 ; CPU:$E280 PRG:6280 85 73 + sta VramWritePtrLo ; CPU:$E280 PRG:6280 85 73 lda #$E7 ; CPU:$E282 PRG:6282 A9 E7 - sta Zp74 ; CPU:$E284 PRG:6284 85 74 - jsr Sub_8334 ; CPU:$E286 PRG:6286 20 34 83 + sta VramWritePtrHi ; CPU:$E284 PRG:6284 85 74 + jsr Sub_8334 ; CPU:$E286 PRG:6286 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear27 -; Global: Branch target inside Label: taken when E289. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear30 +; Global: Branch target inside NmiHandler: taken when OnCarryClear30. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear27: - jsr Sub_E291 ; CPU:$E289 PRG:6289 20 91 E2 - bcc NmiHandler_OnCarryClear27 ; CPU:$E28C PRG:628C 90 FB - jmp Sub_E2A3 ; CPU:$E28E PRG:628E 4C A3 E2 +NmiHandler_OnCarryClear30: + jsr Sub_E291 ; CPU:$E289 PRG:6289 20 91 E2 + bcc NmiHandler_OnCarryClear30 ; CPU:$E28C PRG:628C 90 FB + jmp Sub_E2A3 ; CPU:$E28E PRG:628E 4C A3 E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E291 -; Global: Branch target inside Label: taken when E291. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E291. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E291: - lda ZpB7,x ; CPU:$E291 PRG:6291 B5 B7 + lda SpriteIndex,x ; CPU:$E291 PRG:6291 B5 B7 and #$10 ; CPU:$E293 PRG:6293 29 10 - bne NmiHandler_Loop470 ; CPU:$E295 PRG:6295 D0 06 - jsr Sub_9BBB ; CPU:$E297 PRG:6297 20 BB 9B - jmp Sub_8358 ; CPU:$E29A PRG:629A 4C 58 83 + bne NmiHandler_Loop475 ; CPU:$E295 PRG:6295 D0 06 + jsr Sub_9BBB ; CPU:$E297 PRG:6297 20 BB 9B + jmp Sub_8358 ; CPU:$E29A PRG:629A 4C 58 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop470 -; Global: Branch target inside Label: taken when E29D. -; Local: Part of Label. +; Routine: NmiHandler_Loop475 +; Global: Branch target inside NmiHandler: taken when Loop475. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop470: - jsr Sub_9B81 ; CPU:$E29D PRG:629D 20 81 9B - jmp Sub_8358 ; CPU:$E2A0 PRG:62A0 4C 58 83 +NmiHandler_Loop475: + jsr Sub_9B81 ; CPU:$E29D PRG:629D 20 81 9B + jmp Sub_8358 ; CPU:$E2A0 PRG:62A0 4C 58 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_E2A3 -; Global: Branch target inside Label: taken when E2A3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E2A3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15255,37 +15562,37 @@ Sub_E2A3: lda #$00 ; CPU:$E2A3 PRG:62A3 A9 00 sta $055D ; CPU:$E2A5 PRG:62A5 8D 5D 05 sta ZpBE ; CPU:$E2A8 PRG:62A8 85 BE - jsr Sub_DBEE ; CPU:$E2AA PRG:62AA 20 EE DB + jsr Sub_DBEE ; CPU:$E2AA PRG:62AA 20 EE DB lda #$2D ; CPU:$E2AD PRG:62AD A9 2D - sta Zp6F ; CPU:$E2AF PRG:62AF 85 6F + sta PlayerSpriteX ; CPU:$E2AF PRG:62AF 85 6F lda #$00 ; CPU:$E2B1 PRG:62B1 A9 00 - sta Zp70 ; CPU:$E2B3 PRG:62B3 85 70 - jsr Sub_8280 ; CPU:$E2B5 PRG:62B5 20 80 82 + sta PlayerSpriteY ; CPU:$E2B3 PRG:62B3 85 70 + jsr Sub_8280 ; CPU:$E2B5 PRG:62B5 20 80 82 lda #$FF ; CPU:$E2B8 PRG:62B8 A9 FF sta $0687 ; CPU:$E2BA PRG:62BA 8D 87 06 - jsr Sub_BD46 ; CPU:$E2BD PRG:62BD 20 46 BD + jsr Sub_BD46 ; CPU:$E2BD PRG:62BD 20 46 BD lda ZpEC ; CPU:$E2C0 PRG:62C0 A5 EC cmp #$1A ; CPU:$E2C2 PRG:62C2 C9 1A - bcc NmiHandler_Loop471 ; CPU:$E2C4 PRG:62C4 90 02 + bcc NmiHandler_Loop476 ; CPU:$E2C4 PRG:62C4 90 02 lda #$1A ; CPU:$E2C6 PRG:62C6 A9 1A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop471 -; Global: Branch target inside Label: taken when E2C8. -; Local: Part of Label. +; Routine: NmiHandler_Loop476 +; Global: Branch target inside NmiHandler: taken when Loop476. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop471: +NmiHandler_Loop476: sta $058F ; CPU:$E2C8 PRG:62C8 8D 8F 05 sta ZpEC ; CPU:$E2CB PRG:62CB 85 EC - jsr Sub_8266 ; CPU:$E2CD PRG:62CD 20 66 82 + jsr Sub_8266 ; CPU:$E2CD PRG:62CD 20 66 82 clc ; CPU:$E2D0 PRG:62D0 18 rts ; CPU:$E2D1 PRG:62D1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E2D2 -; Global: Branch target inside Label: taken when E2D2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E2D2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15295,97 +15602,97 @@ Sub_E2D2: sta $055D ; CPU:$E2D4 PRG:62D4 8D 5D 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_E2D7 -; Global: Branch target inside Label: taken when E2D7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E2D7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E2D7: - lda ZpB7,x ; CPU:$E2D7 PRG:62D7 B5 B7 + lda SpriteIndex,x ; CPU:$E2D7 PRG:62D7 B5 B7 and #$01 ; CPU:$E2D9 PRG:62D9 29 01 rts ; CPU:$E2DB PRG:62DB 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero86 -; Global: Branch target inside Label: taken when E2DC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero86: - lda #$02 ; CPU:$E2DC PRG:62DC A9 02 - sta $03EA ; CPU:$E2DE PRG:62DE 8D EA 03 - jsr Sub_82A3 ; CPU:$E2E1 PRG:62E1 20 A3 82 - jsr Sub_9B03 ; CPU:$E2E4 PRG:62E4 20 03 9B - lda ZpEC ; CPU:$E2E7 PRG:62E7 A5 EC - cmp #$1F ; CPU:$E2E9 PRG:62E9 C9 1F - bne NmiHandler_OnNonzero86 ; CPU:$E2EB PRG:62EB D0 EF - jsr Sub_F64E ; CPU:$E2ED PRG:62ED 20 4E F6 - jsr Sub_D920 ; CPU:$E2F0 PRG:62F0 20 20 D9 - lda #$00 ; CPU:$E2F3 PRG:62F3 A9 00 - sta $068F ; CPU:$E2F5 PRG:62F5 8D 8F 06 - jsr NmiHandler_Loop17 ; CPU:$E2F8 PRG:62F8 20 62 83 - lda ZpBE ; CPU:$E2FB PRG:62FB A5 BE - sta ZpA1 ; CPU:$E2FD PRG:62FD 85 A1 - lda #$08 ; CPU:$E2FF PRG:62FF A9 08 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear28 -; Global: Branch target inside Label: taken when E301. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear28: - jsr Sub_826F ; CPU:$E301 PRG:6301 20 6F 82 - clc ; CPU:$E304 PRG:6304 18 - adc #$02 ; CPU:$E305 PRG:6305 69 02 - cmp #$14 ; CPU:$E307 PRG:6307 C9 14 - bcc NmiHandler_OnCarryClear28 ; CPU:$E309 PRG:6309 90 F6 - ldy #$00 ; CPU:$E30B PRG:630B A0 00 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero87 -; Global: Branch target inside Label: taken when E30D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero87. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero87: + lda #$02 ; CPU:$E2DC PRG:62DC A9 02 + sta $03EA ; CPU:$E2DE PRG:62DE 8D EA 03 + jsr Sub_82A3 ; CPU:$E2E1 PRG:62E1 20 A3 82 + jsr Sub_9B03 ; CPU:$E2E4 PRG:62E4 20 03 9B + lda ZpEC ; CPU:$E2E7 PRG:62E7 A5 EC + cmp #$1F ; CPU:$E2E9 PRG:62E9 C9 1F + bne NmiHandler_OnNonzero87 ; CPU:$E2EB PRG:62EB D0 EF + jsr Sub_F64E ; CPU:$E2ED PRG:62ED 20 4E F6 + jsr Sub_D920 ; CPU:$E2F0 PRG:62F0 20 20 D9 + lda #$00 ; CPU:$E2F3 PRG:62F3 A9 00 + sta $068F ; CPU:$E2F5 PRG:62F5 8D 8F 06 + jsr NmiHandler_Loop17 ; CPU:$E2F8 PRG:62F8 20 62 83 + lda ZpBE ; CPU:$E2FB PRG:62FB A5 BE + sta ZpA1 ; CPU:$E2FD PRG:62FD 85 A1 + lda #$08 ; CPU:$E2FF PRG:62FF A9 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear31 +; Global: Branch target inside NmiHandler: taken when OnCarryClear31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear31: + jsr Sub_826F ; CPU:$E301 PRG:6301 20 6F 82 + clc ; CPU:$E304 PRG:6304 18 + adc #$02 ; CPU:$E305 PRG:6305 69 02 + cmp #$14 ; CPU:$E307 PRG:6307 C9 14 + bcc NmiHandler_OnCarryClear31 ; CPU:$E309 PRG:6309 90 F6 + ldy #$00 ; CPU:$E30B PRG:630B A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero88 +; Global: Branch target inside NmiHandler: taken when OnNonzero88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero88: lda #$00 ; CPU:$E30D PRG:630D A9 00 sta a:ZpB7,y ; CPU:$E30F PRG:630F 99 B7 00 iny ; CPU:$E312 PRG:6312 C8 cpy #$10 ; CPU:$E313 PRG:6313 C0 10 - bne NmiHandler_OnNonzero87 ; CPU:$E315 PRG:6315 D0 F6 + bne NmiHandler_OnNonzero88 ; CPU:$E315 PRG:6315 D0 F6 lda ZpA1 ; CPU:$E317 PRG:6317 A5 A1 sta ZpBE ; CPU:$E319 PRG:6319 85 BE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero16 -; Global: Branch target inside Label: taken when E31B. -; Local: Part of Label. +; Routine: NmiHandler_OnZero17 +; Global: Branch target inside NmiHandler: taken when OnZero17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero16: - jsr Sub_9B03 ; CPU:$E31B PRG:631B 20 03 9B - jsr Sub_82A3 ; CPU:$E31E PRG:631E 20 A3 82 +NmiHandler_OnZero17: + jsr Sub_9B03 ; CPU:$E31B PRG:631B 20 03 9B + jsr Sub_82A3 ; CPU:$E31E PRG:631E 20 A3 82 ldy $03DE ; CPU:$E321 PRG:6321 AC DE 03 lda $0408,y ; CPU:$E324 PRG:6324 B9 08 04 cmp #$18 ; CPU:$E327 PRG:6327 C9 18 - bcs NmiHandler_Loop472 ; CPU:$E329 PRG:6329 B0 05 + bcs NmiHandler_Loop477 ; CPU:$E329 PRG:6329 B0 05 lda $068F ; CPU:$E32B PRG:632B AD 8F 06 - beq NmiHandler_OnZero16 ; CPU:$E32E PRG:632E F0 EB + beq NmiHandler_OnZero17 ; CPU:$E32E PRG:632E F0 EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop472 -; Global: Branch target inside Label: taken when E330. -; Local: Part of Label. +; Routine: NmiHandler_Loop477 +; Global: Branch target inside NmiHandler: taken when Loop477. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop472: +NmiHandler_Loop477: lda #$B8 ; CPU:$E330 PRG:6330 A9 B8 sta $0303,x ; CPU:$E332 PRG:6332 9D 03 03 ldy $03D7,x ; CPU:$E335 PRG:6335 BC D7 03 @@ -15397,103 +15704,103 @@ NmiHandler_Loop472: sta $04B1,y ; CPU:$E345 PRG:6345 99 B1 04 ldy #$00 ; CPU:$E348 PRG:6348 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero88 -; Global: Branch target inside Label: taken when E34A. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero89 +; Global: Branch target inside NmiHandler: taken when OnNonzero89. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero88: +NmiHandler_OnNonzero89: lda $0592,y ; CPU:$E34A PRG:634A B9 92 05 - bmi NmiHandler_Loop473 ; CPU:$E34D PRG:634D 30 07 + bmi NmiHandler_Loop478 ; CPU:$E34D PRG:634D 30 07 iny ; CPU:$E34F PRG:634F C8 cpy #$0A ; CPU:$E350 PRG:6350 C0 0A - bne NmiHandler_OnNonzero88 ; CPU:$E352 PRG:6352 D0 F6 - beq NmiHandler_Loop474 ; CPU:$E354 PRG:6354 F0 75 + bne NmiHandler_OnNonzero89 ; CPU:$E352 PRG:6352 D0 F6 + beq NmiHandler_Loop479 ; CPU:$E354 PRG:6354 F0 75 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop473 -; Global: Branch target inside Label: taken when E356. -; Local: Part of Label. +; Routine: NmiHandler_Loop478 +; Global: Branch target inside NmiHandler: taken when Loop478. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop473: +NmiHandler_Loop478: lda $059C,y ; CPU:$E356 PRG:6356 B9 9C 05 sta ZpF8 ; CPU:$E359 PRG:6359 85 F8 - jsr Sub_DFEC ; CPU:$E35B PRG:635B 20 EC DF - jsr Sub_DE8E ; CPU:$E35E PRG:635E 20 8E DE -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet7 -; Global: Branch target inside Label: taken when E361. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet7: - jsr NmiHandler_Loop17 ; CPU:$E361 PRG:6361 20 62 83 - dec $0303,x ; CPU:$E364 PRG:6364 DE 03 03 - lda $0303,x ; CPU:$E367 PRG:6367 BD 03 03 - cmp #$B4 ; CPU:$E36A PRG:636A C9 B4 - bcs NmiHandler_OnCarrySet7 ; CPU:$E36C PRG:636C B0 F3 - jsr Sub_DF07 ; CPU:$E36E PRG:636E 20 07 DF + jsr Sub_DFEC ; CPU:$E35B PRG:635B 20 EC DF + jsr Sub_DE8E ; CPU:$E35E PRG:635E 20 8E DE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet8 -; Global: Branch target inside Label: taken when E371. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnCarrySet8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet8: - jsr NmiHandler_Loop17 ; CPU:$E371 PRG:6371 20 62 83 + jsr NmiHandler_Loop17 ; CPU:$E361 PRG:6361 20 62 83 + dec $0303,x ; CPU:$E364 PRG:6364 DE 03 03 + lda $0303,x ; CPU:$E367 PRG:6367 BD 03 03 + cmp #$B4 ; CPU:$E36A PRG:636A C9 B4 + bcs NmiHandler_OnCarrySet8 ; CPU:$E36C PRG:636C B0 F3 + jsr Sub_DF07 ; CPU:$E36E PRG:636E 20 07 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet9 +; Global: Branch target inside NmiHandler: taken when OnCarrySet9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet9: + jsr NmiHandler_Loop17 ; CPU:$E371 PRG:6371 20 62 83 dec $030A ; CPU:$E374 PRG:6374 CE 0A 03 lda $030A ; CPU:$E377 PRG:6377 AD 0A 03 cmp #$B0 ; CPU:$E37A PRG:637A C9 B0 - bcs NmiHandler_OnCarrySet8 ; CPU:$E37C PRG:637C B0 F3 + bcs NmiHandler_OnCarrySet9 ; CPU:$E37C PRG:637C B0 F3 lda #$80 ; CPU:$E37E PRG:637E A9 80 sta ZpBF ; CPU:$E380 PRG:6380 85 BF lda #$57 ; CPU:$E382 PRG:6382 A9 57 sta $031C ; CPU:$E384 PRG:6384 8D 1C 03 lda #$A0 ; CPU:$E387 PRG:6387 A9 A0 sta $030B ; CPU:$E389 PRG:6389 8D 0B 03 - lda ZpC8,x ; CPU:$E38C PRG:638C B5 C8 + lda SpriteYPosition,x ; CPU:$E38C PRG:638C B5 C8 sec ; CPU:$E38E PRG:638E 38 sbc #$20 ; CPU:$E38F PRG:638F E9 20 sta ZpD0 ; CPU:$E391 PRG:6391 85 D0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear29 -; Global: Branch target inside Label: taken when E393. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear32 +; Global: Branch target inside NmiHandler: taken when OnCarryClear32. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear29: - jsr NmiHandler_Loop17 ; CPU:$E393 PRG:6393 20 62 83 +NmiHandler_OnCarryClear32: + jsr NmiHandler_Loop17 ; CPU:$E393 PRG:6393 20 62 83 inc $030A ; CPU:$E396 PRG:6396 EE 0A 03 lda $030A ; CPU:$E399 PRG:6399 AD 0A 03 cmp #$B4 ; CPU:$E39C PRG:639C C9 B4 - bcc NmiHandler_OnCarryClear29 ; CPU:$E39E PRG:639E 90 F3 + bcc NmiHandler_OnCarryClear32 ; CPU:$E39E PRG:639E 90 F3 lda #$00 ; CPU:$E3A0 PRG:63A0 A9 00 sta ZpBF ; CPU:$E3A2 PRG:63A2 85 BF - jsr Sub_DE8E ; CPU:$E3A4 PRG:63A4 20 8E DE + jsr Sub_DE8E ; CPU:$E3A4 PRG:63A4 20 8E DE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear30 -; Global: Branch target inside Label: taken when E3A7. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear33 +; Global: Branch target inside NmiHandler: taken when OnCarryClear33. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear30: - jsr NmiHandler_Loop17 ; CPU:$E3A7 PRG:63A7 20 62 83 +NmiHandler_OnCarryClear33: + jsr NmiHandler_Loop17 ; CPU:$E3A7 PRG:63A7 20 62 83 inc $030A ; CPU:$E3AA PRG:63AA EE 0A 03 lda $030A ; CPU:$E3AD PRG:63AD AD 0A 03 cmp #$B8 ; CPU:$E3B0 PRG:63B0 C9 B8 - bcc NmiHandler_OnCarryClear30 ; CPU:$E3B2 PRG:63B2 90 F3 + bcc NmiHandler_OnCarryClear33 ; CPU:$E3B2 PRG:63B2 90 F3 lda #$00 ; CPU:$E3B4 PRG:63B4 A9 00 sta ZpBE ; CPU:$E3B6 PRG:63B6 85 BE lda #$FF ; CPU:$E3B8 PRG:63B8 A9 FF @@ -15502,75 +15809,75 @@ NmiHandler_OnCarryClear30: lda $03FB,y ; CPU:$E3C0 PRG:63C0 B9 FB 03 and #$FE ; CPU:$E3C3 PRG:63C3 29 FE sta $03FB,y ; CPU:$E3C5 PRG:63C5 99 FB 03 - jsr Sub_8266 ; CPU:$E3C8 PRG:63C8 20 66 82 + jsr Sub_8266 ; CPU:$E3C8 PRG:63C8 20 66 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop474 -; Global: Branch target inside Label: taken when E3CB. -; Local: Part of Label. +; Routine: NmiHandler_Loop479 +; Global: Branch target inside NmiHandler: taken when Loop479. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop474: +NmiHandler_Loop479: lda #$C2 ; CPU:$E3CB PRG:63CB A9 C2 - sta Zp73 ; CPU:$E3CD PRG:63CD 85 73 + sta VramWritePtrLo ; CPU:$E3CD PRG:63CD 85 73 lda #$E6 ; CPU:$E3CF PRG:63CF A9 E6 - sta Zp74 ; CPU:$E3D1 PRG:63D1 85 74 - jsr Sub_8334 ; CPU:$E3D3 PRG:63D3 20 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet9 -; Global: Branch target inside Label: taken when E3D6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet9: - jsr Sub_8358 ; CPU:$E3D6 PRG:63D6 20 58 83 - dec ZpCF ; CPU:$E3D9 PRG:63D9 C6 CF - dec ZpCF ; CPU:$E3DB PRG:63DB C6 CF - lda ZpCF ; CPU:$E3DD PRG:63DD A5 CF - cmp #$30 ; CPU:$E3DF PRG:63DF C9 30 - bcs NmiHandler_OnCarrySet9 ; CPU:$E3E1 PRG:63E1 B0 F3 - lda #$80 ; CPU:$E3E3 PRG:63E3 A9 80 - sta ZpBE ; CPU:$E3E5 PRG:63E5 85 BE - jsr Sub_DF07 ; CPU:$E3E7 PRG:63E7 20 07 DF - jsr Sub_DFEC ; CPU:$E3EA PRG:63EA 20 EC DF + sta VramWritePtrHi ; CPU:$E3D1 PRG:63D1 85 74 + jsr Sub_8334 ; CPU:$E3D3 PRG:63D3 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet10 -; Global: Branch target inside Label: taken when E3ED. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnCarrySet10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet10: - jsr Sub_8358 ; CPU:$E3ED PRG:63ED 20 58 83 - dec ZpC8,x ; CPU:$E3F0 PRG:63F0 D6 C8 - dec $0303,x ; CPU:$E3F2 PRG:63F2 DE 03 03 - dec $0303,x ; CPU:$E3F5 PRG:63F5 DE 03 03 - lda ZpCF ; CPU:$E3F8 PRG:63F8 A5 CF - cmp #$28 ; CPU:$E3FA PRG:63FA C9 28 - bcs NmiHandler_OnCarrySet10 ; CPU:$E3FC PRG:63FC B0 EF - lda #$88 ; CPU:$E3FE PRG:63FE A9 88 - sta ZpBE ; CPU:$E400 PRG:6400 85 BE - jsr Sub_DF07 ; CPU:$E402 PRG:6402 20 07 DF + jsr Sub_8358 ; CPU:$E3D6 PRG:63D6 20 58 83 + dec ZpCF ; CPU:$E3D9 PRG:63D9 C6 CF + dec ZpCF ; CPU:$E3DB PRG:63DB C6 CF + lda ZpCF ; CPU:$E3DD PRG:63DD A5 CF + cmp #$30 ; CPU:$E3DF PRG:63DF C9 30 + bcs NmiHandler_OnCarrySet10 ; CPU:$E3E1 PRG:63E1 B0 F3 + lda #$80 ; CPU:$E3E3 PRG:63E3 A9 80 + sta ZpBE ; CPU:$E3E5 PRG:63E5 85 BE + jsr Sub_DF07 ; CPU:$E3E7 PRG:63E7 20 07 DF + jsr Sub_DFEC ; CPU:$E3EA PRG:63EA 20 EC DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet11 -; Global: Branch target inside Label: taken when E405. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnCarrySet11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet11: - jsr Sub_8358 ; CPU:$E405 PRG:6405 20 58 83 - dec ZpC8,x ; CPU:$E408 PRG:6408 D6 C8 + jsr Sub_8358 ; CPU:$E3ED PRG:63ED 20 58 83 + dec SpriteYPosition,x ; CPU:$E3F0 PRG:63F0 D6 C8 + dec $0303,x ; CPU:$E3F2 PRG:63F2 DE 03 03 + dec $0303,x ; CPU:$E3F5 PRG:63F5 DE 03 03 + lda ZpCF ; CPU:$E3F8 PRG:63F8 A5 CF + cmp #$28 ; CPU:$E3FA PRG:63FA C9 28 + bcs NmiHandler_OnCarrySet11 ; CPU:$E3FC PRG:63FC B0 EF + lda #$88 ; CPU:$E3FE PRG:63FE A9 88 + sta ZpBE ; CPU:$E400 PRG:6400 85 BE + jsr Sub_DF07 ; CPU:$E402 PRG:6402 20 07 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet12 +; Global: Branch target inside NmiHandler: taken when OnCarrySet12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet12: + jsr Sub_8358 ; CPU:$E405 PRG:6405 20 58 83 + dec SpriteYPosition,x ; CPU:$E408 PRG:6408 D6 C8 inc $0303,x ; CPU:$E40A PRG:640A FE 03 03 inc $0303,x ; CPU:$E40D PRG:640D FE 03 03 - lda ZpC8,x ; CPU:$E410 PRG:6410 B5 C8 + lda SpriteYPosition,x ; CPU:$E410 PRG:6410 B5 C8 cmp #$20 ; CPU:$E412 PRG:6412 C9 20 - bcs NmiHandler_OnCarrySet11 ; CPU:$E414 PRG:6414 B0 EF + bcs NmiHandler_OnCarrySet12 ; CPU:$E414 PRG:6414 B0 EF lda #$8A ; CPU:$E416 PRG:6416 A9 8A sta $031B ; CPU:$E418 PRG:6418 8D 1B 03 lda #$10 ; CPU:$E41B PRG:641B A9 10 @@ -15584,30 +15891,30 @@ NmiHandler_OnCarrySet11: sta $030A ; CPU:$E42E PRG:642E 8D 0A 03 lda #$2E ; CPU:$E431 PRG:6431 A9 2E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero89 -; Global: Branch target inside Label: taken when E433. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero90 +; Global: Branch target inside NmiHandler: taken when OnNonzero90. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero89: - jsr Sub_8224 ; CPU:$E433 PRG:6433 20 24 82 +NmiHandler_OnNonzero90: + jsr Sub_8224 ; CPU:$E433 PRG:6433 20 24 82 clc ; CPU:$E436 PRG:6436 18 adc #$02 ; CPU:$E437 PRG:6437 69 02 cmp #$34 ; CPU:$E439 PRG:6439 C9 34 - bne NmiHandler_OnNonzero89 ; CPU:$E43B PRG:643B D0 F6 - jsr Sub_E4CE ; CPU:$E43D PRG:643D 20 CE E4 + bne NmiHandler_OnNonzero90 ; CPU:$E43B PRG:643B D0 F6 + jsr Sub_E4CE ; CPU:$E43D PRG:643D 20 CE E4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear31 -; Global: Branch target inside Label: taken when E440. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear34 +; Global: Branch target inside NmiHandler: taken when OnCarryClear34. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear31: - jsr Sub_82A3 ; CPU:$E440 PRG:6440 20 A3 82 +NmiHandler_OnCarryClear34: + jsr Sub_82A3 ; CPU:$E440 PRG:6440 20 A3 82 ldy $03C1 ; CPU:$E443 PRG:6443 AC C1 03 lda $E632,y ; CPU:$E446 PRG:6446 B9 32 E6 clc ; CPU:$E449 PRG:6449 18 @@ -15621,24 +15928,24 @@ NmiHandler_OnCarryClear31: sta $03C1 ; CPU:$E45C PRG:645C 8D C1 03 lda ZpCF ; CPU:$E45F PRG:645F A5 CF cmp #$D0 ; CPU:$E461 PRG:6461 C9 D0 - bcc NmiHandler_OnCarryClear31 ; CPU:$E463 PRG:6463 90 DB + bcc NmiHandler_OnCarryClear34 ; CPU:$E463 PRG:6463 90 DB lda #$8C ; CPU:$E465 PRG:6465 A9 8C sta $031B ; CPU:$E467 PRG:6467 8D 1B 03 lda #$00 ; CPU:$E46A PRG:646A A9 00 sta $03C1 ; CPU:$E46C PRG:646C 8D C1 03 - jsr Sub_E4D8 ; CPU:$E46F PRG:646F 20 D8 E4 + jsr Sub_E4D8 ; CPU:$E46F PRG:646F 20 D8 E4 lda #$0F ; CPU:$E472 PRG:6472 A9 0F - jsr Sub_F6DB ; CPU:$E474 PRG:6474 20 DB F6 + jsr Sub_F6DB ; CPU:$E474 PRG:6474 20 DB F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear32 -; Global: Branch target inside Label: taken when E477. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear35 +; Global: Branch target inside NmiHandler: taken when OnCarryClear35. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear32: - jsr Sub_82A3 ; CPU:$E477 PRG:6477 20 A3 82 +NmiHandler_OnCarryClear35: + jsr Sub_82A3 ; CPU:$E477 PRG:6477 20 A3 82 lda $03C1 ; CPU:$E47A PRG:647A AD C1 03 and #$07 ; CPU:$E47D PRG:647D 29 07 tay ; CPU:$E47F PRG:647F A8 @@ -15649,93 +15956,93 @@ NmiHandler_OnCarryClear32: inc $03C1 ; CPU:$E48A PRG:648A EE C1 03 lda $03C1 ; CPU:$E48D PRG:648D AD C1 03 cmp #$10 ; CPU:$E490 PRG:6490 C9 10 - bcc NmiHandler_OnCarryClear32 ; CPU:$E492 PRG:6492 90 E3 + bcc NmiHandler_OnCarryClear35 ; CPU:$E492 PRG:6492 90 E3 lda #$8B ; CPU:$E494 PRG:6494 A9 8B sta $031B ; CPU:$E496 PRG:6496 8D 1B 03 lda #$00 ; CPU:$E499 PRG:6499 A9 00 sta $03C1 ; CPU:$E49B PRG:649B 8D C1 03 - jsr Sub_E4CE ; CPU:$E49E PRG:649E 20 CE E4 + jsr Sub_E4CE ; CPU:$E49E PRG:649E 20 CE E4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear33 -; Global: Branch target inside Label: taken when E4A1. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear36 +; Global: Branch target inside NmiHandler: taken when OnCarryClear36. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear33: - jsr Sub_82A3 ; CPU:$E4A1 PRG:64A1 20 A3 82 +NmiHandler_OnCarryClear36: + jsr Sub_82A3 ; CPU:$E4A1 PRG:64A1 20 A3 82 ldy $03C1 ; CPU:$E4A4 PRG:64A4 AC C1 03 lda $E632,y ; CPU:$E4A7 PRG:64A7 B9 32 E6 clc ; CPU:$E4AA PRG:64AA 18 adc $030A ; CPU:$E4AB PRG:64AB 6D 0A 03 sta $030A ; CPU:$E4AE PRG:64AE 8D 0A 03 - dec ZpC8,x ; CPU:$E4B1 PRG:64B1 D6 C8 + dec SpriteYPosition,x ; CPU:$E4B1 PRG:64B1 D6 C8 dec ZpCF ; CPU:$E4B3 PRG:64B3 C6 CF inc $03C1 ; CPU:$E4B5 PRG:64B5 EE C1 03 lda $03C1 ; CPU:$E4B8 PRG:64B8 AD C1 03 and #$07 ; CPU:$E4BB PRG:64BB 29 07 sta $03C1 ; CPU:$E4BD PRG:64BD 8D C1 03 - lda ZpC8,x ; CPU:$E4C0 PRG:64C0 B5 C8 + lda SpriteYPosition,x ; CPU:$E4C0 PRG:64C0 B5 C8 cmp #$F0 ; CPU:$E4C2 PRG:64C2 C9 F0 - bcc NmiHandler_OnCarryClear33 ; CPU:$E4C4 PRG:64C4 90 DB + bcc NmiHandler_OnCarryClear36 ; CPU:$E4C4 PRG:64C4 90 DB lda #$FF ; CPU:$E4C6 PRG:64C6 A9 FF sta $0691 ; CPU:$E4C8 PRG:64C8 8D 91 06 - jsr Sub_8266 ; CPU:$E4CB PRG:64CB 20 66 82 + jsr Sub_8266 ; CPU:$E4CB PRG:64CB 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4CE -; Global: Branch target inside Label: taken when E4CE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E4CE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E4CE: lda #$11 ; CPU:$E4CE PRG:64CE A9 11 - jsr Sub_F6DB ; CPU:$E4D0 PRG:64D0 20 DB F6 + jsr Sub_F6DB ; CPU:$E4D0 PRG:64D0 20 DB F6 lda #$12 ; CPU:$E4D3 PRG:64D3 A9 12 - jmp Sub_F6DB ; CPU:$E4D5 PRG:64D5 4C DB F6 + jmp Sub_F6DB ; CPU:$E4D5 PRG:64D5 4C DB F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4D8 -; Global: Branch target inside Label: taken when E4D8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E4D8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E4D8: lda #$11 ; CPU:$E4D8 PRG:64D8 A9 11 - jsr Sub_F704 ; CPU:$E4DA PRG:64DA 20 04 F7 + jsr Sub_F704 ; CPU:$E4DA PRG:64DA 20 04 F7 lda #$12 ; CPU:$E4DD PRG:64DD A9 12 - jmp Sub_F704 ; CPU:$E4DF PRG:64DF 4C 04 F7 + jmp Sub_F704 ; CPU:$E4DF PRG:64DF 4C 04 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4E2 -; Global: Branch target inside Label: taken when E4E2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E4E2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E4E2: - jsr Sub_E4EE ; CPU:$E4E2 PRG:64E2 20 EE E4 + jsr Sub_E4EE ; CPU:$E4E2 PRG:64E2 20 EE E4 cmp #$00 ; CPU:$E4E5 PRG:64E5 C9 00 - beq NmiHandler_Loop475 ; CPU:$E4E7 PRG:64E7 F0 03 - jmp Sub_9B24 ; CPU:$E4E9 PRG:64E9 4C 24 9B + beq NmiHandler_Loop480 ; CPU:$E4E7 PRG:64E7 F0 03 + jmp Sub_9B24 ; CPU:$E4E9 PRG:64E9 4C 24 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop475 -; Global: Branch target inside Label: taken when E4EC. -; Local: Part of Label. +; Routine: NmiHandler_Loop480 +; Global: Branch target inside NmiHandler: taken when Loop480. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop475: +NmiHandler_Loop480: clc ; CPU:$E4EC PRG:64EC 18 rts ; CPU:$E4ED PRG:64ED 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4EE -; Global: Branch target inside Label: taken when E4EE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E4EE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15743,59 +16050,222 @@ NmiHandler_Loop475: Sub_E4EE: lda $0300 ; CPU:$E4EE PRG:64EE AD 00 03 and #$08 ; CPU:$E4F1 PRG:64F1 29 08 - beq NmiHandler_Loop476 ; CPU:$E4F3 PRG:64F3 F0 06 + beq NmiHandler_Loop481 ; CPU:$E4F3 PRG:64F3 F0 06 lda #$FE ; CPU:$E4F5 PRG:64F5 A9 FE sta $03EA ; CPU:$E4F7 PRG:64F7 8D EA 03 rts ; CPU:$E4FA PRG:64FA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop476 -; Global: Branch target inside Label: taken when E4FB. -; Local: Part of Label. +; Routine: NmiHandler_Loop481 +; Global: Branch target inside NmiHandler: taken when Loop481. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop476: +NmiHandler_Loop481: lda $0300 ; CPU:$E4FB PRG:64FB AD 00 03 and #$04 ; CPU:$E4FE PRG:64FE 29 04 - beq NmiHandler_Loop477 ; CPU:$E500 PRG:6500 F0 06 + beq NmiHandler_Loop482 ; CPU:$E500 PRG:6500 F0 06 lda #$02 ; CPU:$E502 PRG:6502 A9 02 sta $03EA ; CPU:$E504 PRG:6504 8D EA 03 rts ; CPU:$E507 PRG:6507 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop477 -; Global: Branch target inside Label: taken when E508. +; Routine: NmiHandler_Loop482 +; Global: Branch target inside NmiHandler: taken when Loop482. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop482: + lda #$00 ; CPU:$E508 PRG:6508 A9 00 + sta $03EA ; CPU:$E50A PRG:650A 8D EA 03 + rts ; CPU:$E50D PRG:650D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E50E +; Global: Branch target inside Label: taken when E50E. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop477: - lda #$00 ; CPU:$E508 PRG:6508 A9 00 - sta $03EA ; CPU:$E50A PRG:650A 8D EA 03 - rts ; CPU:$E50D PRG:650D 60 -; ---- data $E50E-$E610 (259 bytes) ---- - .byte $A2, $07, $A9, $80, $85, $BE, $A9, $34, $8D, $0A, $03, $A9, $00, $85, $CF, $A9 ; CPU:$E50E PRG:650E A2 07 A9 80 85 BE A9 34 8D 0A 03 A9 00 85 CF A9 - .byte $02, $85, $E0, $A9, $44, $85, $73, $A9, $E6, $85, $74, $20, $34, $83, $A9, $08 ; CPU:$E51E PRG:651E 02 85 E0 A9 44 85 73 A9 E6 85 74 20 34 83 A9 08 - .byte $20, $DB, $F6, $A9, $09, $20, $DB, $F6, $20, $62, $83, $EE, $0A, $03, $20, $F1 ; CPU:$E52E PRG:652E 20 DB F6 A9 09 20 DB F6 20 62 83 EE 0A 03 20 F1 - .byte $DF, $C9, $E0, $B0, $F3, $C9, $30, $90, $EF, $A9, $08, $20, $04, $F7, $A9, $09 ; CPU:$E53E PRG:653E DF C9 E0 B0 F3 C9 30 90 EF A9 08 20 04 F7 A9 09 - .byte $20, $04, $F7, $A9, $06, $20, $DB, $F6, $A9, $07, $20, $DB, $F6, $A9, $48, $85 ; CPU:$E54E PRG:654E 20 04 F7 A9 06 20 DB F6 A9 07 20 DB F6 A9 48 85 - .byte $73, $A9, $E6, $85, $74, $20, $34, $83, $20, $62, $83, $90, $FB, $EE, $0A, $03 ; CPU:$E55E PRG:655E 73 A9 E6 85 74 20 34 83 20 62 83 90 FB EE 0A 03 - .byte $20, $F1, $DF, $C9, $50, $90, $E6, $A9, $06, $20, $04, $F7, $A9, $4E, $85, $73 ; CPU:$E56E PRG:656E 20 F1 DF C9 50 90 E6 A9 06 20 04 F7 A9 4E 85 73 - .byte $A9, $E6, $85, $74, $20, $34, $83, $20, $62, $83, $EE, $0A, $03, $EE, $0A, $03 ; CPU:$E57E PRG:657E A9 E6 85 74 20 34 83 20 62 83 EE 0A 03 EE 0A 03 - .byte $AD, $0A, $03, $C9, $89, $90, $F0, $A9, $89, $8D, $0A, $03, $A9, $FF, $8D, $02 ; CPU:$E58E PRG:658E AD 0A 03 C9 89 90 F0 A9 89 8D 0A 03 A9 FF 8D 02 - .byte $03, $A9, $56, $85, $73, $A9, $E6, $85, $74, $20, $34, $83, $A9, $04, $20, $DB ; CPU:$E59E PRG:659E 03 A9 56 85 73 A9 E6 85 74 20 34 83 A9 04 20 DB - .byte $F6, $A9, $05, $20, $DB, $F6, $20, $62, $83, $90, $FB, $A9, $B6, $85, $73, $A9 ; CPU:$E5AE PRG:65AE F6 A9 05 20 DB F6 20 62 83 90 FB A9 B6 85 73 A9 - .byte $E6, $85, $74, $20, $34, $83, $20, $62, $83, $20, $F1, $DF, $C9, $68, $90, $F6 ; CPU:$E5BE PRG:65BE E6 85 74 20 34 83 20 62 83 20 F1 DF C9 68 90 F6 - .byte $A9, $5E, $85, $73, $A9, $E6, $85, $74, $20, $34, $83, $20, $62, $83, $20, $F1 ; CPU:$E5CE PRG:65CE A9 5E 85 73 A9 E6 85 74 20 34 83 20 62 83 20 F1 - .byte $DF, $C9, $7E, $90, $F6, $A9, $72, $85, $73, $A9, $E6, $85, $74, $20, $34, $83 ; CPU:$E5DE PRG:65DE DF C9 7E 90 F6 A9 72 85 73 A9 E6 85 74 20 34 83 - .byte $20, $62, $83, $20, $62, $83, $A9, $00, $8D, $02, $03, $A9, $01, $85, $EC, $A9 ; CPU:$E5EE PRG:65EE 20 62 83 20 62 83 A9 00 8D 02 03 A9 01 85 EC A9 - .byte $8C, $85, $BE, $A9, $30, $8D, $A4, $03, $A9, $00, $8D, $B5, $03, $20, $72, $E0 ; CPU:$E5FE PRG:65FE 8C 85 BE A9 30 8D A4 03 A9 00 8D B5 03 20 72 E0 - .byte $20, $66, $82 ; CPU:$E60E PRG:660E 20 66 82 +Label_E50E: + ldx #$07 ; CPU:$E50E PRG:650E A2 07 + lda #$80 ; CPU:$E510 PRG:6510 A9 80 + sta ZpBE ; CPU:$E512 PRG:6512 85 BE + lda #$34 ; CPU:$E514 PRG:6514 A9 34 + sta $030A ; CPU:$E516 PRG:6516 8D 0A 03 + lda #$00 ; CPU:$E519 PRG:6519 A9 00 + sta ZpCF ; CPU:$E51B PRG:651B 85 CF + lda #$02 ; CPU:$E51D PRG:651D A9 02 + sta ZpE0 ; CPU:$E51F PRG:651F 85 E0 + lda #$44 ; CPU:$E521 PRG:6521 A9 44 + sta VramWritePtrLo ; CPU:$E523 PRG:6523 85 73 + lda #$E6 ; CPU:$E525 PRG:6525 A9 E6 + sta VramWritePtrHi ; CPU:$E527 PRG:6527 85 74 + jsr Sub_8334 ; CPU:$E529 PRG:6529 20 34 83 + lda #$08 ; CPU:$E52C PRG:652C A9 08 + jsr Sub_F6DB ; CPU:$E52E PRG:652E 20 DB F6 + lda #$09 ; CPU:$E531 PRG:6531 A9 09 + jsr Sub_F6DB ; CPU:$E533 PRG:6533 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet13 +; Global: Branch target inside NmiHandler: taken when OnCarrySet13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet13: + jsr NmiHandler_Loop17 ; CPU:$E536 PRG:6536 20 62 83 + inc $030A ; CPU:$E539 PRG:6539 EE 0A 03 + jsr Sub_DFF1 ; CPU:$E53C PRG:653C 20 F1 DF + cmp #$E0 ; CPU:$E53F PRG:653F C9 E0 + bcs NmiHandler_OnCarrySet13 ; CPU:$E541 PRG:6541 B0 F3 + cmp #$30 ; CPU:$E543 PRG:6543 C9 30 + bcc NmiHandler_OnCarrySet13 ; CPU:$E545 PRG:6545 90 EF + lda #$08 ; CPU:$E547 PRG:6547 A9 08 + jsr Sub_F704 ; CPU:$E549 PRG:6549 20 04 F7 + lda #$09 ; CPU:$E54C PRG:654C A9 09 + jsr Sub_F704 ; CPU:$E54E PRG:654E 20 04 F7 + lda #$06 ; CPU:$E551 PRG:6551 A9 06 + jsr Sub_F6DB ; CPU:$E553 PRG:6553 20 DB F6 + lda #$07 ; CPU:$E556 PRG:6556 A9 07 + jsr Sub_F6DB ; CPU:$E558 PRG:6558 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear37 +; Global: Branch target inside NmiHandler: taken when OnCarryClear37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear37: + lda #$48 ; CPU:$E55B PRG:655B A9 48 + sta VramWritePtrLo ; CPU:$E55D PRG:655D 85 73 + lda #$E6 ; CPU:$E55F PRG:655F A9 E6 + sta VramWritePtrHi ; CPU:$E561 PRG:6561 85 74 + jsr Sub_8334 ; CPU:$E563 PRG:6563 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear38 +; Global: Branch target inside NmiHandler: taken when OnCarryClear38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear38: + jsr NmiHandler_Loop17 ; CPU:$E566 PRG:6566 20 62 83 + bcc NmiHandler_OnCarryClear38 ; CPU:$E569 PRG:6569 90 FB + inc $030A ; CPU:$E56B PRG:656B EE 0A 03 + jsr Sub_DFF1 ; CPU:$E56E PRG:656E 20 F1 DF + cmp #$50 ; CPU:$E571 PRG:6571 C9 50 + bcc NmiHandler_OnCarryClear37 ; CPU:$E573 PRG:6573 90 E6 + lda #$06 ; CPU:$E575 PRG:6575 A9 06 + jsr Sub_F704 ; CPU:$E577 PRG:6577 20 04 F7 + lda #$4E ; CPU:$E57A PRG:657A A9 4E + sta VramWritePtrLo ; CPU:$E57C PRG:657C 85 73 + lda #$E6 ; CPU:$E57E PRG:657E A9 E6 + sta VramWritePtrHi ; CPU:$E580 PRG:6580 85 74 + jsr Sub_8334 ; CPU:$E582 PRG:6582 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear39 +; Global: Branch target inside NmiHandler: taken when OnCarryClear39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear39: + jsr NmiHandler_Loop17 ; CPU:$E585 PRG:6585 20 62 83 + inc $030A ; CPU:$E588 PRG:6588 EE 0A 03 + inc $030A ; CPU:$E58B PRG:658B EE 0A 03 + lda $030A ; CPU:$E58E PRG:658E AD 0A 03 + cmp #$89 ; CPU:$E591 PRG:6591 C9 89 + bcc NmiHandler_OnCarryClear39 ; CPU:$E593 PRG:6593 90 F0 + lda #$89 ; CPU:$E595 PRG:6595 A9 89 + sta $030A ; CPU:$E597 PRG:6597 8D 0A 03 + lda #$FF ; CPU:$E59A PRG:659A A9 FF + sta $0302 ; CPU:$E59C PRG:659C 8D 02 03 + lda #$56 ; CPU:$E59F PRG:659F A9 56 + sta VramWritePtrLo ; CPU:$E5A1 PRG:65A1 85 73 + lda #$E6 ; CPU:$E5A3 PRG:65A3 A9 E6 + sta VramWritePtrHi ; CPU:$E5A5 PRG:65A5 85 74 + jsr Sub_8334 ; CPU:$E5A7 PRG:65A7 20 34 83 + lda #$04 ; CPU:$E5AA PRG:65AA A9 04 + jsr Sub_F6DB ; CPU:$E5AC PRG:65AC 20 DB F6 + lda #$05 ; CPU:$E5AF PRG:65AF A9 05 + jsr Sub_F6DB ; CPU:$E5B1 PRG:65B1 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear40 +; Global: Branch target inside NmiHandler: taken when OnCarryClear40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear40: + jsr NmiHandler_Loop17 ; CPU:$E5B4 PRG:65B4 20 62 83 + bcc NmiHandler_OnCarryClear40 ; CPU:$E5B7 PRG:65B7 90 FB + lda #$B6 ; CPU:$E5B9 PRG:65B9 A9 B6 + sta VramWritePtrLo ; CPU:$E5BB PRG:65BB 85 73 + lda #$E6 ; CPU:$E5BD PRG:65BD A9 E6 + sta VramWritePtrHi ; CPU:$E5BF PRG:65BF 85 74 + jsr Sub_8334 ; CPU:$E5C1 PRG:65C1 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear41 +; Global: Branch target inside NmiHandler: taken when OnCarryClear41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear41: + jsr NmiHandler_Loop17 ; CPU:$E5C4 PRG:65C4 20 62 83 + jsr Sub_DFF1 ; CPU:$E5C7 PRG:65C7 20 F1 DF + cmp #$68 ; CPU:$E5CA PRG:65CA C9 68 + bcc NmiHandler_OnCarryClear41 ; CPU:$E5CC PRG:65CC 90 F6 + lda #$5E ; CPU:$E5CE PRG:65CE A9 5E + sta VramWritePtrLo ; CPU:$E5D0 PRG:65D0 85 73 + lda #$E6 ; CPU:$E5D2 PRG:65D2 A9 E6 + sta VramWritePtrHi ; CPU:$E5D4 PRG:65D4 85 74 + jsr Sub_8334 ; CPU:$E5D6 PRG:65D6 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear42 +; Global: Branch target inside NmiHandler: taken when OnCarryClear42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear42: + jsr NmiHandler_Loop17 ; CPU:$E5D9 PRG:65D9 20 62 83 + jsr Sub_DFF1 ; CPU:$E5DC PRG:65DC 20 F1 DF + cmp #$7E ; CPU:$E5DF PRG:65DF C9 7E + bcc NmiHandler_OnCarryClear42 ; CPU:$E5E1 PRG:65E1 90 F6 + lda #$72 ; CPU:$E5E3 PRG:65E3 A9 72 + sta VramWritePtrLo ; CPU:$E5E5 PRG:65E5 85 73 + lda #$E6 ; CPU:$E5E7 PRG:65E7 A9 E6 + sta VramWritePtrHi ; CPU:$E5E9 PRG:65E9 85 74 + jsr Sub_8334 ; CPU:$E5EB PRG:65EB 20 34 83 + jsr NmiHandler_Loop17 ; CPU:$E5EE PRG:65EE 20 62 83 + jsr NmiHandler_Loop17 ; CPU:$E5F1 PRG:65F1 20 62 83 + lda #$00 ; CPU:$E5F4 PRG:65F4 A9 00 + sta $0302 ; CPU:$E5F6 PRG:65F6 8D 02 03 + lda #$01 ; CPU:$E5F9 PRG:65F9 A9 01 + sta ZpEC ; CPU:$E5FB PRG:65FB 85 EC + lda #$8C ; CPU:$E5FD PRG:65FD A9 8C + sta ZpBE ; CPU:$E5FF PRG:65FF 85 BE + lda #$30 ; CPU:$E601 PRG:6601 A9 30 + sta $03A4 ; CPU:$E603 PRG:6603 8D A4 03 + lda #$00 ; CPU:$E606 PRG:6606 A9 00 + sta $03B5 ; CPU:$E608 PRG:6608 8D B5 03 + jsr Sub_E072 ; CPU:$E60B PRG:660B 20 72 E0 + jsr Sub_8266 ; CPU:$E60E PRG:660E 20 66 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_E611 -; Global: Branch target inside Label: taken when E611. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E611. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15806,8 +16276,8 @@ Sub_E611: rts ; CPU:$E616 PRG:6616 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E617 -; Global: Branch target inside Label: taken when E617. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E617. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15824,7 +16294,8 @@ Sub_E617: ; referenced by `lda $E624,y` at $DF69 (operand $E624 falls inside this region) ; referenced by `lda $E62D,y` at $DFBF (operand $E62D falls inside this region) ; ... and 4 further references from decoded code - .byte $FD, $FD, $FE, $FE, $FE, $FE, $FF, $01, $02, $02, $02, $02, $03, $03, $FD, $FD ; CPU:$E61D PRG:661D FD FD FE FE FE FE FF 01 02 02 02 02 03 03 FD FD +EnemyMovementDeltaTable: + .byte $FD, $FD, $FE, $FE, $FE, $FE, $FF, $01, $02, $02, $02, $02, $03, $03, $FD, $FD ; CPU:$E61D PRG:261D FD FD FE FE FE FE FF 01 02 02 02 02 03 03 FD FD .byte $03, $03, $02, $00, $FE, $00, $FE, $00, $02, $00, $FE, $00, $02, $01, $02, $04 ; CPU:$E62D PRG:662D 03 03 02 00 FE 00 FE 00 02 00 FE 00 02 01 02 04 .byte $08, $10, $FE, $FD, $FB, $F7, $EF, $00, $4E, $04, $FF, $01, $4E, $02, $4F, $02 ; CPU:$E63D PRG:663D 08 10 FE FD FB F7 EF 00 4E 04 FF 01 4E 02 4F 02 .byte $FF, $01, $0E, $07, $0C, $07, $06, $FF, $FF, $01, $12, $0C, $13, $0C, $12, $0C ; CPU:$E64D PRG:664D FF 01 0E 07 0C 07 06 FF FF 01 12 0C 13 0C 12 0C @@ -15861,68 +16332,106 @@ Label_E79E: ldx #$08 ; CPU:$E79E PRG:679E A2 08 lda #$00 ; CPU:$E7A0 PRG:67A0 A9 00 sta $03CE ; CPU:$E7A2 PRG:67A2 8D CE 03 - jmp Sub_E7FE ; CPU:$E7A5 PRG:67A5 4C FE E7 -; ---- data $E7A8-$E7CC (37 bytes) ---- - .byte $A2, $09, $A9, $01, $8D, $CF, $03, $4C, $FE, $E7, $A2, $0A, $A9, $02, $8D, $D0 ; CPU:$E7A8 PRG:67A8 A2 09 A9 01 8D CF 03 4C FE E7 A2 0A A9 02 8D D0 - .byte $03, $4C, $FE, $E7, $A2, $0B, $A9, $03, $8D, $D1, $03, $AD, $8E, $05, $C9, $04 ; CPU:$E7B8 PRG:67B8 03 4C FE E7 A2 0B A9 03 8D D1 03 AD 8E 05 C9 04 - .byte $90, $03, $4C, $FE, $E7 ; CPU:$E7C8 PRG:67C8 90 03 4C FE E7 + jmp Sub_E7FE ; CPU:$E7A5 PRG:67A5 4C FE E7 ; ----------------------------------------------------------------------------- -; Routine: Label_E7CD -; Global: Branch target inside Label: taken when E7CD. +; Routine: Label_E7A8 +; Global: Branch target inside Label: taken when E7A8. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_E7CD: +Label_E7A8: + ldx #$09 ; CPU:$E7A8 PRG:67A8 A2 09 + lda #$01 ; CPU:$E7AA PRG:67AA A9 01 + sta $03CF ; CPU:$E7AC PRG:67AC 8D CF 03 + jmp Sub_E7FE ; CPU:$E7AF PRG:67AF 4C FE E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E7B2 +; Global: Branch target inside Label: taken when E7B2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E7B2: + ldx #$0A ; CPU:$E7B2 PRG:67B2 A2 0A + lda #$02 ; CPU:$E7B4 PRG:67B4 A9 02 + sta $03D0 ; CPU:$E7B6 PRG:67B6 8D D0 03 + jmp Sub_E7FE ; CPU:$E7B9 PRG:67B9 4C FE E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E7BC +; Global: Branch target inside Label: taken when E7BC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E7BC: + ldx #$0B ; CPU:$E7BC PRG:67BC A2 0B + lda #$03 ; CPU:$E7BE PRG:67BE A9 03 + sta $03D1 ; CPU:$E7C0 PRG:67C0 8D D1 03 + lda $058E ; CPU:$E7C3 PRG:67C3 AD 8E 05 + cmp #$04 ; CPU:$E7C6 PRG:67C6 C9 04 + bcc NmiHandler_Loop483 ; CPU:$E7C8 PRG:67C8 90 03 + jmp Sub_E7FE ; CPU:$E7CA PRG:67CA 4C FE E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop483 +; Global: Branch target inside NmiHandler: taken when Loop483. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop483: lda #$03 ; CPU:$E7CD PRG:67CD A9 03 sec ; CPU:$E7CF PRG:67CF 38 sbc $058E ; CPU:$E7D0 PRG:67D0 ED 8E 05 tay ; CPU:$E7D3 PRG:67D3 A8 lda #$00 ; CPU:$E7D4 PRG:67D4 A9 00 - sta Zp70 ; CPU:$E7D6 PRG:67D6 85 70 - sta Zp6F ; CPU:$E7D8 PRG:67D8 85 6F + sta PlayerSpriteY ; CPU:$E7D6 PRG:67D6 85 70 + sta PlayerSpriteX ; CPU:$E7D8 PRG:67D8 85 6F ; ----------------------------------------------------------------------------- ; Routine: Sub_E7DA -; Global: Branch target inside Label: taken when E7DA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E7DA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E7DA: tya ; CPU:$E7DA PRG:67DA 98 - beq NmiHandler_Loop478 ; CPU:$E7DB PRG:67DB F0 11 + beq NmiHandler_Loop484 ; CPU:$E7DB PRG:67DB F0 11 lda #$10 ; CPU:$E7DD PRG:67DD A9 10 clc ; CPU:$E7DF PRG:67DF 18 - adc Zp6F ; CPU:$E7E0 PRG:67E0 65 6F - sta Zp6F ; CPU:$E7E2 PRG:67E2 85 6F + adc PlayerSpriteX ; CPU:$E7E0 PRG:67E0 65 6F + sta PlayerSpriteX ; CPU:$E7E2 PRG:67E2 85 6F lda #$0E ; CPU:$E7E4 PRG:67E4 A9 0E - adc Zp70 ; CPU:$E7E6 PRG:67E6 65 70 - sta Zp70 ; CPU:$E7E8 PRG:67E8 85 70 + adc PlayerSpriteY ; CPU:$E7E6 PRG:67E6 65 70 + sta PlayerSpriteY ; CPU:$E7E8 PRG:67E8 85 70 dey ; CPU:$E7EA PRG:67EA 88 - jmp Sub_E7DA ; CPU:$E7EB PRG:67EB 4C DA E7 + jmp Sub_E7DA ; CPU:$E7EB PRG:67EB 4C DA E7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop478 -; Global: Branch target inside Label: taken when E7EE. -; Local: Part of Label. +; Routine: NmiHandler_Loop484 +; Global: Branch target inside NmiHandler: taken when Loop484. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop478: +NmiHandler_Loop484: lda #$FC ; CPU:$E7EE PRG:67EE A9 FC clc ; CPU:$E7F0 PRG:67F0 18 - adc Zp6F ; CPU:$E7F1 PRG:67F1 65 6F - sta Zp6F ; CPU:$E7F3 PRG:67F3 85 6F - lda Zp70 ; CPU:$E7F5 PRG:67F5 A5 70 + adc PlayerSpriteX ; CPU:$E7F1 PRG:67F1 65 6F + sta PlayerSpriteX ; CPU:$E7F3 PRG:67F3 85 6F + lda PlayerSpriteY ; CPU:$E7F5 PRG:67F5 A5 70 adc #$03 ; CPU:$E7F7 PRG:67F7 69 03 - sta Zp70 ; CPU:$E7F9 PRG:67F9 85 70 - jmp Sub_E852 ; CPU:$E7FB PRG:67FB 4C 52 E8 + sta PlayerSpriteY ; CPU:$E7F9 PRG:67F9 85 70 + jmp Sub_E852 ; CPU:$E7FB PRG:67FB 4C 52 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E7FE -; Global: Branch target inside Label: taken when E7FE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E7FE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15930,87 +16439,87 @@ NmiHandler_Loop478: Sub_E7FE: lda $058E ; CPU:$E7FE PRG:67FE AD 8E 05 cmp #$03 ; CPU:$E801 PRG:6801 C9 03 - bcs NmiHandler_Loop480 ; CPU:$E803 PRG:6803 B0 34 + bcs NmiHandler_Loop486 ; CPU:$E803 PRG:6803 B0 34 lda #$3C ; CPU:$E805 PRG:6805 A9 3C clc ; CPU:$E807 PRG:6807 18 sbc $058E ; CPU:$E808 PRG:6808 ED 8E 05 asl a ; CPU:$E80B PRG:680B 0A - sta Zp71 ; CPU:$E80C PRG:680C 85 71 + sta OamShadowPtrLo ; CPU:$E80C PRG:680C 85 71 lda #$00 ; CPU:$E80E PRG:680E A9 00 - sta Zp70 ; CPU:$E810 PRG:6810 85 70 - sta Zp6F ; CPU:$E812 PRG:6812 85 6F + sta PlayerSpriteY ; CPU:$E810 PRG:6810 85 70 + sta PlayerSpriteX ; CPU:$E812 PRG:6812 85 6F ldy $03C6,x ; CPU:$E814 PRG:6814 BC C6 03 - beq NmiHandler_Loop479 ; CPU:$E817 PRG:6817 F0 10 + beq NmiHandler_Loop485 ; CPU:$E817 PRG:6817 F0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero90 -; Global: Branch target inside Label: taken when E819. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero91 +; Global: Branch target inside NmiHandler: taken when OnNonzero91. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero90: +NmiHandler_OnNonzero91: clc ; CPU:$E819 PRG:6819 18 - lda Zp71 ; CPU:$E81A PRG:681A A5 71 - adc Zp6F ; CPU:$E81C PRG:681C 65 6F - sta Zp6F ; CPU:$E81E PRG:681E 85 6F + lda OamShadowPtrLo ; CPU:$E81A PRG:681A A5 71 + adc PlayerSpriteX ; CPU:$E81C PRG:681C 65 6F + sta PlayerSpriteX ; CPU:$E81E PRG:681E 85 6F lda #$00 ; CPU:$E820 PRG:6820 A9 00 - adc Zp70 ; CPU:$E822 PRG:6822 65 70 - sta Zp70 ; CPU:$E824 PRG:6824 85 70 + adc PlayerSpriteY ; CPU:$E822 PRG:6822 65 70 + sta PlayerSpriteY ; CPU:$E824 PRG:6824 85 70 dey ; CPU:$E826 PRG:6826 88 - bne NmiHandler_OnNonzero90 ; CPU:$E827 PRG:6827 D0 F0 + bne NmiHandler_OnNonzero91 ; CPU:$E827 PRG:6827 D0 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop479 -; Global: Branch target inside Label: taken when E829. -; Local: Part of Label. +; Routine: NmiHandler_Loop485 +; Global: Branch target inside NmiHandler: taken when Loop485. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop479: +NmiHandler_Loop485: clc ; CPU:$E829 PRG:6829 18 lda #$78 ; CPU:$E82A PRG:682A A9 78 - adc Zp6F ; CPU:$E82C PRG:682C 65 6F - sta Zp6F ; CPU:$E82E PRG:682E 85 6F + adc PlayerSpriteX ; CPU:$E82C PRG:682C 65 6F + sta PlayerSpriteX ; CPU:$E82E PRG:682E 85 6F lda #$00 ; CPU:$E830 PRG:6830 A9 00 - adc Zp70 ; CPU:$E832 PRG:6832 65 70 - sta Zp70 ; CPU:$E834 PRG:6834 85 70 - jmp Sub_E852 ; CPU:$E836 PRG:6836 4C 52 E8 + adc PlayerSpriteY ; CPU:$E832 PRG:6832 65 70 + sta PlayerSpriteY ; CPU:$E834 PRG:6834 85 70 + jmp Sub_E852 ; CPU:$E836 PRG:6836 4C 52 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop480 -; Global: Branch target inside Label: taken when E839. -; Local: Part of Label. +; Routine: NmiHandler_Loop486 +; Global: Branch target inside NmiHandler: taken when Loop486. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop480: +NmiHandler_Loop486: ldy $03C6,x ; CPU:$E839 PRG:6839 BC C6 03 lda #$00 ; CPU:$E83C PRG:683C A9 00 - sta Zp6F ; CPU:$E83E PRG:683E 85 6F - sta Zp70 ; CPU:$E840 PRG:6840 85 70 + sta PlayerSpriteX ; CPU:$E83E PRG:683E 85 6F + sta PlayerSpriteY ; CPU:$E840 PRG:6840 85 70 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative17 -; Global: Branch target inside Label: taken when E842. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative18 +; Global: Branch target inside NmiHandler: taken when OnNonnegative18. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative17: +NmiHandler_OnNonnegative18: clc ; CPU:$E842 PRG:6842 18 lda #$3C ; CPU:$E843 PRG:6843 A9 3C - adc Zp6F ; CPU:$E845 PRG:6845 65 6F - sta Zp6F ; CPU:$E847 PRG:6847 85 6F - lda Zp70 ; CPU:$E849 PRG:6849 A5 70 + adc PlayerSpriteX ; CPU:$E845 PRG:6845 65 6F + sta PlayerSpriteX ; CPU:$E847 PRG:6847 85 6F + lda PlayerSpriteY ; CPU:$E849 PRG:6849 A5 70 adc #$00 ; CPU:$E84B PRG:684B 69 00 - sta Zp70 ; CPU:$E84D PRG:684D 85 70 + sta PlayerSpriteY ; CPU:$E84D PRG:684D 85 70 dey ; CPU:$E84F PRG:684F 88 - bpl NmiHandler_OnNonnegative17 ; CPU:$E850 PRG:6850 10 F0 + bpl NmiHandler_OnNonnegative18 ; CPU:$E850 PRG:6850 10 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E852 -; Global: Branch target inside Label: taken when E852. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E852. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -16018,184 +16527,184 @@ NmiHandler_OnNonnegative17: Sub_E852: lda #$00 ; CPU:$E852 PRG:6852 A9 00 sta $0325,x ; CPU:$E854 PRG:6854 9D 25 03 - jsr Sub_8280 ; CPU:$E857 PRG:6857 20 80 82 - jsr NmiHandler_OnZero19 ; CPU:$E85A PRG:685A 20 58 EF + jsr Sub_8280 ; CPU:$E857 PRG:6857 20 80 82 + jsr NmiHandler_OnZero20 ; CPU:$E85A PRG:685A 20 58 EF lda #$82 ; CPU:$E85D PRG:685D A9 82 - sta ZpB7,x ; CPU:$E85F PRG:685F 95 B7 + sta SpriteIndex,x ; CPU:$E85F PRG:685F 95 B7 lda #$40 ; CPU:$E861 PRG:6861 A9 40 sta $0336,x ; CPU:$E863 PRG:6863 9D 36 03 - jsr NmiHandler_Loop17 ; CPU:$E866 PRG:6866 20 62 83 + jsr NmiHandler_Loop17 ; CPU:$E866 PRG:6866 20 62 83 lda #$00 ; CPU:$E869 PRG:6869 A9 00 sta $0336,x ; CPU:$E86B PRG:686B 9D 36 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear34 -; Global: Branch target inside Label: taken when E86E. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear43 +; Global: Branch target inside NmiHandler: taken when OnCarryClear43. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear34: - jsr Sub_9B03 ; CPU:$E86E PRG:686E 20 03 9B - jsr Sub_8358 ; CPU:$E871 PRG:6871 20 58 83 - bcc NmiHandler_OnCarryClear34 ; CPU:$E874 PRG:6874 90 F8 +NmiHandler_OnCarryClear43: + jsr Sub_9B03 ; CPU:$E86E PRG:686E 20 03 9B + jsr Sub_8358 ; CPU:$E871 PRG:6871 20 58 83 + bcc NmiHandler_OnCarryClear43 ; CPU:$E874 PRG:6874 90 F8 lda #$80 ; CPU:$E876 PRG:6876 A9 80 - sta ZpB7,x ; CPU:$E878 PRG:6878 95 B7 - jsr Sub_F0CE ; CPU:$E87A PRG:687A 20 CE F0 - jsr Sub_F0B4 ; CPU:$E87D PRG:687D 20 B4 F0 + sta SpriteIndex,x ; CPU:$E878 PRG:6878 95 B7 + jsr Sub_F0CE ; CPU:$E87A PRG:687A 20 CE F0 + jsr Sub_F0B4 ; CPU:$E87D PRG:687D 20 B4 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E880 -; Global: Branch target inside Label: taken when E880. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E880. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E880: - jsr Sub_F1DC ; CPU:$E880 PRG:6880 20 DC F1 - jsr Sub_E2D7 ; CPU:$E883 PRG:6883 20 D7 E2 - beq NmiHandler_Loop481 ; CPU:$E886 PRG:6886 F0 03 - jmp Sub_ED72 ; CPU:$E888 PRG:6888 4C 72 ED -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop481 -; Global: Branch target inside Label: taken when E88B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop481: - jsr Sub_ED24 ; CPU:$E88B PRG:688B 20 24 ED - dec $03EF,x ; CPU:$E88E PRG:688E DE EF 03 - bne NmiHandler_Loop482 ; CPU:$E891 PRG:6891 D0 03 - jmp Sub_F0E7 ; CPU:$E893 PRG:6893 4C E7 F0 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop482 -; Global: Branch target inside Label: taken when E896. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop482: - jsr Sub_F0C0 ; CPU:$E896 PRG:6896 20 C0 F0 - bcc NmiHandler_Loop483 ; CPU:$E899 PRG:6899 90 03 - jmp Sub_EAA0 ; CPU:$E89B PRG:689B 4C A0 EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop483 -; Global: Branch target inside Label: taken when E89E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop483: - jsr Sub_E8EF ; CPU:$E89E PRG:689E 20 EF E8 - jsr Sub_EDAD ; CPU:$E8A1 PRG:68A1 20 AD ED - bcc NmiHandler_Loop484 ; CPU:$E8A4 PRG:68A4 90 06 - jsr Sub_E0B5 ; CPU:$E8A6 PRG:68A6 20 B5 E0 - jsr NmiHandler_Loop490 ; CPU:$E8A9 PRG:68A9 20 11 E9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop484 -; Global: Branch target inside Label: taken when E8AC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop484: - jsr Sub_9BBB ; CPU:$E8AC PRG:68AC 20 BB 9B - bcc NmiHandler_Loop485 ; CPU:$E8AF PRG:68AF 90 03 - jmp Sub_EE79 ; CPU:$E8B1 PRG:68B1 4C 79 EE -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop485 -; Global: Branch target inside Label: taken when E8B4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop485: - jsr Sub_F01B ; CPU:$E8B4 PRG:68B4 20 1B F0 - bcc NmiHandler_Loop486 ; CPU:$E8B7 PRG:68B7 90 03 - jmp Sub_ED72 ; CPU:$E8B9 PRG:68B9 4C 72 ED -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop486 -; Global: Branch target inside Label: taken when E8BC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop486: - jsr Sub_9B03 ; CPU:$E8BC PRG:68BC 20 03 9B - jsr Sub_99E7 ; CPU:$E8BF PRG:68BF 20 E7 99 - lda $0303,x ; CPU:$E8C2 PRG:68C2 BD 03 03 - cmp #$F0 ; CPU:$E8C5 PRG:68C5 C9 F0 - bcc NmiHandler_Loop487 ; CPU:$E8C7 PRG:68C7 90 03 - jmp Sub_EF30 ; CPU:$E8C9 PRG:68C9 4C 30 EF + jsr Sub_F1DC ; CPU:$E880 PRG:6880 20 DC F1 + jsr Sub_E2D7 ; CPU:$E883 PRG:6883 20 D7 E2 + beq NmiHandler_Loop487 ; CPU:$E886 PRG:6886 F0 03 + jmp Sub_ED72 ; CPU:$E888 PRG:6888 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop487 -; Global: Branch target inside Label: taken when E8CC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop487. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop487: - jsr Sub_8358 ; CPU:$E8CC PRG:68CC 20 58 83 - jmp Sub_E880 ; CPU:$E8CF PRG:68CF 4C 80 E8 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero17 -; Global: Branch target inside Label: taken when E8D2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero17: - jsr Sub_F0CE ; CPU:$E8D2 PRG:68D2 20 CE F0 -; ----------------------------------------------------------------------------- -; Routine: Sub_E8D5 -; Global: Branch target inside Label: taken when E8D5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_E8D5: - jsr Sub_F1D3 ; CPU:$E8D5 PRG:68D5 20 D3 F1 - jsr Sub_E8EF ; CPU:$E8D8 PRG:68D8 20 EF E8 - jsr Sub_DBEE ; CPU:$E8DB PRG:68DB 20 EE DB - jsr Sub_9B1F ; CPU:$E8DE PRG:68DE 20 1F 9B - bne NmiHandler_Loop488 ; CPU:$E8E1 PRG:68E1 D0 05 - lda #$02 ; CPU:$E8E3 PRG:68E3 A9 02 - jmp Sub_E8EA ; CPU:$E8E5 PRG:68E5 4C EA E8 + jsr Sub_ED24 ; CPU:$E88B PRG:688B 20 24 ED + dec $03EF,x ; CPU:$E88E PRG:688E DE EF 03 + bne NmiHandler_Loop488 ; CPU:$E891 PRG:6891 D0 03 + jmp Sub_F0E7 ; CPU:$E893 PRG:6893 4C E7 F0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop488 -; Global: Branch target inside Label: taken when E8E8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop488. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop488: + jsr Sub_F0C0 ; CPU:$E896 PRG:6896 20 C0 F0 + bcc NmiHandler_Loop489 ; CPU:$E899 PRG:6899 90 03 + jmp Sub_EAA0 ; CPU:$E89B PRG:689B 4C A0 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop489 +; Global: Branch target inside NmiHandler: taken when Loop489. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop489: + jsr Sub_E8EF ; CPU:$E89E PRG:689E 20 EF E8 + jsr Sub_EDAD ; CPU:$E8A1 PRG:68A1 20 AD ED + bcc NmiHandler_Loop490 ; CPU:$E8A4 PRG:68A4 90 06 + jsr Sub_E0B5 ; CPU:$E8A6 PRG:68A6 20 B5 E0 + jsr NmiHandler_Loop496 ; CPU:$E8A9 PRG:68A9 20 11 E9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop490 +; Global: Branch target inside NmiHandler: taken when Loop490. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop490: + jsr Sub_9BBB ; CPU:$E8AC PRG:68AC 20 BB 9B + bcc NmiHandler_Loop491 ; CPU:$E8AF PRG:68AF 90 03 + jmp Sub_EE79 ; CPU:$E8B1 PRG:68B1 4C 79 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop491 +; Global: Branch target inside NmiHandler: taken when Loop491. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop491: + jsr Sub_F01B ; CPU:$E8B4 PRG:68B4 20 1B F0 + bcc NmiHandler_Loop492 ; CPU:$E8B7 PRG:68B7 90 03 + jmp Sub_ED72 ; CPU:$E8B9 PRG:68B9 4C 72 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop492 +; Global: Branch target inside NmiHandler: taken when Loop492. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop492: + jsr Sub_9B03 ; CPU:$E8BC PRG:68BC 20 03 9B + jsr Sub_99E7 ; CPU:$E8BF PRG:68BF 20 E7 99 + lda $0303,x ; CPU:$E8C2 PRG:68C2 BD 03 03 + cmp #$F0 ; CPU:$E8C5 PRG:68C5 C9 F0 + bcc NmiHandler_Loop493 ; CPU:$E8C7 PRG:68C7 90 03 + jmp Sub_EF30 ; CPU:$E8C9 PRG:68C9 4C 30 EF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop493 +; Global: Branch target inside NmiHandler: taken when Loop493. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop493: + jsr Sub_8358 ; CPU:$E8CC PRG:68CC 20 58 83 + jmp Sub_E880 ; CPU:$E8CF PRG:68CF 4C 80 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero18 +; Global: Branch target inside NmiHandler: taken when OnZero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero18: + jsr Sub_F0CE ; CPU:$E8D2 PRG:68D2 20 CE F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_E8D5 +; Global: Branch target inside Sub: taken when E8D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E8D5: + jsr Sub_F1D3 ; CPU:$E8D5 PRG:68D5 20 D3 F1 + jsr Sub_E8EF ; CPU:$E8D8 PRG:68D8 20 EF E8 + jsr Sub_DBEE ; CPU:$E8DB PRG:68DB 20 EE DB + jsr Sub_9B1F ; CPU:$E8DE PRG:68DE 20 1F 9B + bne NmiHandler_Loop494 ; CPU:$E8E1 PRG:68E1 D0 05 + lda #$02 ; CPU:$E8E3 PRG:68E3 A9 02 + jmp Sub_E8EA ; CPU:$E8E5 PRG:68E5 4C EA E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop494 +; Global: Branch target inside NmiHandler: taken when Loop494. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop494: lda #$FE ; CPU:$E8E8 PRG:68E8 A9 FE ; ----------------------------------------------------------------------------- ; Routine: Sub_E8EA -; Global: Branch target inside Label: taken when E8EA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E8EA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E8EA: sta ZpD9,x ; CPU:$E8EA PRG:68EA 95 D9 - jmp Sub_E880 ; CPU:$E8EC PRG:68EC 4C 80 E8 + jmp Sub_E880 ; CPU:$E8EC PRG:68EC 4C 80 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E8EF -; Global: Branch target inside Label: taken when E8EF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when E8EF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -16203,457 +16712,457 @@ Sub_E8EA: Sub_E8EF: lda $0336,x ; CPU:$E8EF PRG:68EF BD 36 03 and #$04 ; CPU:$E8F2 PRG:68F2 29 04 - bne NmiHandler_Loop490 ; CPU:$E8F4 PRG:68F4 D0 1B - jsr Sub_9B1F ; CPU:$E8F6 PRG:68F6 20 1F 9B - beq NmiHandler_Loop489 ; CPU:$E8F9 PRG:68F9 F0 0B + bne NmiHandler_Loop496 ; CPU:$E8F4 PRG:68F4 D0 1B + jsr Sub_9B1F ; CPU:$E8F6 PRG:68F6 20 1F 9B + beq NmiHandler_Loop495 ; CPU:$E8F9 PRG:68F9 F0 0B lda #$8E ; CPU:$E8FB PRG:68FB A9 8E - sta Zp73 ; CPU:$E8FD PRG:68FD 85 73 + sta VramWritePtrLo ; CPU:$E8FD PRG:68FD 85 73 lda #$F2 ; CPU:$E8FF PRG:68FF A9 F2 - sta Zp74 ; CPU:$E901 PRG:6901 85 74 - jmp Sub_8334 ; CPU:$E903 PRG:6903 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop489 -; Global: Branch target inside Label: taken when E906. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop489: - lda #$92 ; CPU:$E906 PRG:6906 A9 92 - sta Zp73 ; CPU:$E908 PRG:6908 85 73 - lda #$F2 ; CPU:$E90A PRG:690A A9 F2 - sta Zp74 ; CPU:$E90C PRG:690C 85 74 - jmp Sub_8334 ; CPU:$E90E PRG:690E 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop490 -; Global: Branch target inside Label: taken when E911. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop490: - jsr Sub_9B1F ; CPU:$E911 PRG:6911 20 1F 9B - beq NmiHandler_Loop491 ; CPU:$E914 PRG:6914 F0 0B - lda #$AA ; CPU:$E916 PRG:6916 A9 AA - sta Zp73 ; CPU:$E918 PRG:6918 85 73 - lda #$F2 ; CPU:$E91A PRG:691A A9 F2 - sta Zp74 ; CPU:$E91C PRG:691C 85 74 - jmp Sub_8334 ; CPU:$E91E PRG:691E 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop491 -; Global: Branch target inside Label: taken when E921. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop491: - lda #$B0 ; CPU:$E921 PRG:6921 A9 B0 - sta Zp73 ; CPU:$E923 PRG:6923 85 73 - lda #$F2 ; CPU:$E925 PRG:6925 A9 F2 - sta Zp74 ; CPU:$E927 PRG:6927 85 74 - jmp Sub_8334 ; CPU:$E929 PRG:6929 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_E92C -; Global: Branch target inside Label: taken when E92C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_E92C: - jsr Sub_E2D7 ; CPU:$E92C PRG:692C 20 D7 E2 - beq NmiHandler_Loop492 ; CPU:$E92F PRG:692F F0 03 - jmp Sub_ED72 ; CPU:$E931 PRG:6931 4C 72 ED -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop492 -; Global: Branch target inside Label: taken when E934. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop492: - dec $03EF,x ; CPU:$E934 PRG:6934 DE EF 03 - beq NmiHandler_OnZero17 ; CPU:$E937 PRG:6937 F0 99 - lda $0336,x ; CPU:$E939 PRG:6939 BD 36 03 - and #$20 ; CPU:$E93C PRG:693C 29 20 - beq NmiHandler_Loop493 ; CPU:$E93E PRG:693E F0 08 - jsr Sub_F06C ; CPU:$E940 PRG:6940 20 6C F0 - bcc NmiHandler_Loop493 ; CPU:$E943 PRG:6943 90 03 - jmp Sub_EF00 ; CPU:$E945 PRG:6945 4C 00 EF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop493 -; Global: Branch target inside Label: taken when E948. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop493: - jsr Sub_F0C0 ; CPU:$E948 PRG:6948 20 C0 F0 - bcc NmiHandler_Loop494 ; CPU:$E94B PRG:694B 90 03 - jmp Sub_EAA0 ; CPU:$E94D PRG:694D 4C A0 EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop494 -; Global: Branch target inside Label: taken when E950. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop494: - jsr Sub_ED24 ; CPU:$E950 PRG:6950 20 24 ED - dey ; CPU:$E953 PRG:6953 88 - beq NmiHandler_Loop495 ; CPU:$E954 PRG:6954 F0 06 - dey ; CPU:$E956 PRG:6956 88 - beq NmiHandler_Loop496 ; CPU:$E957 PRG:6957 F0 16 - jmp Sub_EB94 ; CPU:$E959 PRG:6959 4C 94 EB + sta VramWritePtrHi ; CPU:$E901 PRG:6901 85 74 + jmp Sub_8334 ; CPU:$E903 PRG:6903 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop495 -; Global: Branch target inside Label: taken when E95C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop495. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop495: - jsr Sub_DFF1 ; CPU:$E95C PRG:695C 20 F1 DF - jsr Sub_9848 ; CPU:$E95F PRG:695F 20 48 98 - bcc NmiHandler_Loop496 ; CPU:$E962 PRG:6962 90 0B - lda $0336,x ; CPU:$E964 PRG:6964 BD 36 03 - ora #$80 ; CPU:$E967 PRG:6967 09 80 - sta $0336,x ; CPU:$E969 PRG:6969 9D 36 03 - jsr Sub_DFF9 ; CPU:$E96C PRG:696C 20 F9 DF + lda #$92 ; CPU:$E906 PRG:6906 A9 92 + sta VramWritePtrLo ; CPU:$E908 PRG:6908 85 73 + lda #$F2 ; CPU:$E90A PRG:690A A9 F2 + sta VramWritePtrHi ; CPU:$E90C PRG:690C 85 74 + jmp Sub_8334 ; CPU:$E90E PRG:690E 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop496 -; Global: Branch target inside Label: taken when E96F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop496. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop496: - jsr Sub_9BBB ; CPU:$E96F PRG:696F 20 BB 9B - bcc NmiHandler_Loop497 ; CPU:$E972 PRG:6972 90 03 - jmp Sub_EE79 ; CPU:$E974 PRG:6974 4C 79 EE + jsr Sub_9B1F ; CPU:$E911 PRG:6911 20 1F 9B + beq NmiHandler_Loop497 ; CPU:$E914 PRG:6914 F0 0B + lda #$AA ; CPU:$E916 PRG:6916 A9 AA + sta VramWritePtrLo ; CPU:$E918 PRG:6918 85 73 + lda #$F2 ; CPU:$E91A PRG:691A A9 F2 + sta VramWritePtrHi ; CPU:$E91C PRG:691C 85 74 + jmp Sub_8334 ; CPU:$E91E PRG:691E 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop497 -; Global: Branch target inside Label: taken when E977. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop497. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop497: - jsr Sub_EDAD ; CPU:$E977 PRG:6977 20 AD ED - bcc NmiHandler_Loop498 ; CPU:$E97A PRG:697A 90 06 - jsr Sub_E0B5 ; CPU:$E97C PRG:697C 20 B5 E0 - jsr NmiHandler_Loop518 ; CPU:$E97F PRG:697F 20 85 EA + lda #$B0 ; CPU:$E921 PRG:6921 A9 B0 + sta VramWritePtrLo ; CPU:$E923 PRG:6923 85 73 + lda #$F2 ; CPU:$E925 PRG:6925 A9 F2 + sta VramWritePtrHi ; CPU:$E927 PRG:6927 85 74 + jmp Sub_8334 ; CPU:$E929 PRG:6929 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_E92C +; Global: Branch target inside Sub: taken when E92C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E92C: + jsr Sub_E2D7 ; CPU:$E92C PRG:692C 20 D7 E2 + beq NmiHandler_Loop498 ; CPU:$E92F PRG:692F F0 03 + jmp Sub_ED72 ; CPU:$E931 PRG:6931 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop498 -; Global: Branch target inside Label: taken when E982. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop498. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop498: - jsr Sub_F01B ; CPU:$E982 PRG:6982 20 1B F0 - bcc NmiHandler_Loop499 ; CPU:$E985 PRG:6985 90 03 - jmp Sub_ED72 ; CPU:$E987 PRG:6987 4C 72 ED + dec $03EF,x ; CPU:$E934 PRG:6934 DE EF 03 + beq NmiHandler_OnZero18 ; CPU:$E937 PRG:6937 F0 99 + lda $0336,x ; CPU:$E939 PRG:6939 BD 36 03 + and #$20 ; CPU:$E93C PRG:693C 29 20 + beq NmiHandler_Loop499 ; CPU:$E93E PRG:693E F0 08 + jsr Sub_F06C ; CPU:$E940 PRG:6940 20 6C F0 + bcc NmiHandler_Loop499 ; CPU:$E943 PRG:6943 90 03 + jmp Sub_EF00 ; CPU:$E945 PRG:6945 4C 00 EF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop499 -; Global: Branch target inside Label: taken when E98A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop499. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop499: - jsr Sub_9B03 ; CPU:$E98A PRG:698A 20 03 9B - jsr Sub_99E7 ; CPU:$E98D PRG:698D 20 E7 99 - jsr Sub_EF44 ; CPU:$E990 PRG:6990 20 44 EF - bcc NmiHandler_Loop500 ; CPU:$E993 PRG:6993 90 03 - jmp Sub_EF30 ; CPU:$E995 PRG:6995 4C 30 EF + jsr Sub_F0C0 ; CPU:$E948 PRG:6948 20 C0 F0 + bcc NmiHandler_Loop500 ; CPU:$E94B PRG:694B 90 03 + jmp Sub_EAA0 ; CPU:$E94D PRG:694D 4C A0 EA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop500 -; Global: Branch target inside Label: taken when E998. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop500. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop500: - jsr Sub_8358 ; CPU:$E998 PRG:6998 20 58 83 - bcc NmiHandler_Loop501 ; CPU:$E99B PRG:699B 90 03 - jsr Sub_EA63 ; CPU:$E99D PRG:699D 20 63 EA + jsr Sub_ED24 ; CPU:$E950 PRG:6950 20 24 ED + dey ; CPU:$E953 PRG:6953 88 + beq NmiHandler_Loop501 ; CPU:$E954 PRG:6954 F0 06 + dey ; CPU:$E956 PRG:6956 88 + beq NmiHandler_Loop502 ; CPU:$E957 PRG:6957 F0 16 + jmp Sub_EB94 ; CPU:$E959 PRG:6959 4C 94 EB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop501 -; Global: Branch target inside Label: taken when E9A0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop501. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop501: - jmp Sub_E92C ; CPU:$E9A0 PRG:69A0 4C 2C E9 -; ----------------------------------------------------------------------------- -; Routine: Sub_E9A3 -; Global: Branch target inside Label: taken when E9A3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_E9A3: - jsr Sub_F1D3 ; CPU:$E9A3 PRG:69A3 20 D3 F1 - jsr Sub_EA63 ; CPU:$E9A6 PRG:69A6 20 63 EA - jmp NmiHandler_Loop496 ; CPU:$E9A9 PRG:69A9 4C 6F E9 -; ----------------------------------------------------------------------------- -; Routine: Sub_E9AC -; Global: Branch target inside Label: taken when E9AC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_E9AC: - jsr Sub_F1DC ; CPU:$E9AC PRG:69AC 20 DC F1 - jsr Sub_E2D7 ; CPU:$E9AF PRG:69AF 20 D7 E2 - beq NmiHandler_Loop502 ; CPU:$E9B2 PRG:69B2 F0 03 - jmp Sub_ED72 ; CPU:$E9B4 PRG:69B4 4C 72 ED + jsr Sub_DFF1 ; CPU:$E95C PRG:695C 20 F1 DF + jsr Sub_9848 ; CPU:$E95F PRG:695F 20 48 98 + bcc NmiHandler_Loop502 ; CPU:$E962 PRG:6962 90 0B + lda $0336,x ; CPU:$E964 PRG:6964 BD 36 03 + ora #$80 ; CPU:$E967 PRG:6967 09 80 + sta $0336,x ; CPU:$E969 PRG:6969 9D 36 03 + jsr Sub_DFF9 ; CPU:$E96C PRG:696C 20 F9 DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop502 -; Global: Branch target inside Label: taken when E9B7. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop502. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop502: - dec $03EF,x ; CPU:$E9B7 PRG:69B7 DE EF 03 - bne NmiHandler_Loop503 ; CPU:$E9BA PRG:69BA D0 03 - jmp Sub_F0E7 ; CPU:$E9BC PRG:69BC 4C E7 F0 + jsr Sub_9BBB ; CPU:$E96F PRG:696F 20 BB 9B + bcc NmiHandler_Loop503 ; CPU:$E972 PRG:6972 90 03 + jmp Sub_EE79 ; CPU:$E974 PRG:6974 4C 79 EE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop503 -; Global: Branch target inside Label: taken when E9BF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop503. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop503: - jsr Sub_F0A3 ; CPU:$E9BF PRG:69BF 20 A3 F0 - jsr Sub_F0B4 ; CPU:$E9C2 PRG:69C2 20 B4 F0 - jsr Sub_E8EF ; CPU:$E9C5 PRG:69C5 20 EF E8 - jsr Sub_EDAD ; CPU:$E9C8 PRG:69C8 20 AD ED - bcc NmiHandler_Loop504 ; CPU:$E9CB PRG:69CB 90 06 - jsr Sub_E0B5 ; CPU:$E9CD PRG:69CD 20 B5 E0 - jsr NmiHandler_Loop490 ; CPU:$E9D0 PRG:69D0 20 11 E9 + jsr Sub_EDAD ; CPU:$E977 PRG:6977 20 AD ED + bcc NmiHandler_Loop504 ; CPU:$E97A PRG:697A 90 06 + jsr Sub_E0B5 ; CPU:$E97C PRG:697C 20 B5 E0 + jsr NmiHandler_Loop524 ; CPU:$E97F PRG:697F 20 85 EA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop504 -; Global: Branch target inside Label: taken when E9D3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop504. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop504: - jsr Sub_9B81 ; CPU:$E9D3 PRG:69D3 20 81 9B - bcc NmiHandler_Loop505 ; CPU:$E9D6 PRG:69D6 90 03 - jmp Sub_EE79 ; CPU:$E9D8 PRG:69D8 4C 79 EE + jsr Sub_F01B ; CPU:$E982 PRG:6982 20 1B F0 + bcc NmiHandler_Loop505 ; CPU:$E985 PRG:6985 90 03 + jmp Sub_ED72 ; CPU:$E987 PRG:6987 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop505 -; Global: Branch target inside Label: taken when E9DB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop505. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop505: - jsr Sub_F01B ; CPU:$E9DB PRG:69DB 20 1B F0 - bcc NmiHandler_Loop506 ; CPU:$E9DE PRG:69DE 90 03 - jmp Sub_ED72 ; CPU:$E9E0 PRG:69E0 4C 72 ED + jsr Sub_9B03 ; CPU:$E98A PRG:698A 20 03 9B + jsr Sub_99E7 ; CPU:$E98D PRG:698D 20 E7 99 + jsr Sub_EF44 ; CPU:$E990 PRG:6990 20 44 EF + bcc NmiHandler_Loop506 ; CPU:$E993 PRG:6993 90 03 + jmp Sub_EF30 ; CPU:$E995 PRG:6995 4C 30 EF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop506 -; Global: Branch target inside Label: taken when E9E3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop506. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop506: - jsr Sub_9B03 ; CPU:$E9E3 PRG:69E3 20 03 9B - jsr Sub_EF44 ; CPU:$E9E6 PRG:69E6 20 44 EF - bcc NmiHandler_Loop507 ; CPU:$E9E9 PRG:69E9 90 03 - jmp Sub_EF30 ; CPU:$E9EB PRG:69EB 4C 30 EF + jsr Sub_8358 ; CPU:$E998 PRG:6998 20 58 83 + bcc NmiHandler_Loop507 ; CPU:$E99B PRG:699B 90 03 + jsr Sub_EA63 ; CPU:$E99D PRG:699D 20 63 EA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop507 -; Global: Branch target inside Label: taken when E9EE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop507. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop507: - jsr Sub_8358 ; CPU:$E9EE PRG:69EE 20 58 83 - bcc NmiHandler_Loop508 ; CPU:$E9F1 PRG:69F1 90 03 - jsr Sub_E8EF ; CPU:$E9F3 PRG:69F3 20 EF E8 + jmp Sub_E92C ; CPU:$E9A0 PRG:69A0 4C 2C E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_E9A3 +; Global: Branch target inside Sub: taken when E9A3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E9A3: + jsr Sub_F1D3 ; CPU:$E9A3 PRG:69A3 20 D3 F1 + jsr Sub_EA63 ; CPU:$E9A6 PRG:69A6 20 63 EA + jmp NmiHandler_Loop502 ; CPU:$E9A9 PRG:69A9 4C 6F E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_E9AC +; Global: Branch target inside Sub: taken when E9AC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E9AC: + jsr Sub_F1DC ; CPU:$E9AC PRG:69AC 20 DC F1 + jsr Sub_E2D7 ; CPU:$E9AF PRG:69AF 20 D7 E2 + beq NmiHandler_Loop508 ; CPU:$E9B2 PRG:69B2 F0 03 + jmp Sub_ED72 ; CPU:$E9B4 PRG:69B4 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop508 -; Global: Branch target inside Label: taken when E9F6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop508. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop508: - jmp Sub_E9AC ; CPU:$E9F6 PRG:69F6 4C AC E9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero18 -; Global: Branch target inside Label: taken when E9F9. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero18: - jsr Sub_F1D3 ; CPU:$E9F9 PRG:69F9 20 D3 F1 - jsr Sub_E8EF ; CPU:$E9FC PRG:69FC 20 EF E8 - lda #$32 ; CPU:$E9FF PRG:69FF A9 32 - sta $03EF,x ; CPU:$EA01 PRG:6A01 9D EF 03 - jmp Sub_E9AC ; CPU:$EA04 PRG:6A04 4C AC E9 -; ----------------------------------------------------------------------------- -; Routine: Sub_EA07 -; Global: Branch target inside Label: taken when EA07. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EA07: - jsr Sub_E2D7 ; CPU:$EA07 PRG:6A07 20 D7 E2 - beq NmiHandler_Loop509 ; CPU:$EA0A PRG:6A0A F0 03 - jmp Sub_ED72 ; CPU:$EA0C PRG:6A0C 4C 72 ED + dec $03EF,x ; CPU:$E9B7 PRG:69B7 DE EF 03 + bne NmiHandler_Loop509 ; CPU:$E9BA PRG:69BA D0 03 + jmp Sub_F0E7 ; CPU:$E9BC PRG:69BC 4C E7 F0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop509 -; Global: Branch target inside Label: taken when EA0F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop509. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop509: - dec $03EF,x ; CPU:$EA0F PRG:6A0F DE EF 03 - beq NmiHandler_OnZero18 ; CPU:$EA12 PRG:6A12 F0 E5 - jsr Sub_F0A3 ; CPU:$EA14 PRG:6A14 20 A3 F0 - jsr Sub_9A3B ; CPU:$EA17 PRG:6A17 20 3B 9A - bcs NmiHandler_Loop511 ; CPU:$EA1A PRG:6A1A B0 0D - cmp #$00 ; CPU:$EA1C PRG:6A1C C9 00 - beq NmiHandler_Loop510 ; CPU:$EA1E PRG:6A1E F0 06 - jsr Sub_DBEE ; CPU:$EA20 PRG:6A20 20 EE DB - jmp Sub_ECF4 ; CPU:$EA23 PRG:6A23 4C F4 EC + jsr Sub_F0A3 ; CPU:$E9BF PRG:69BF 20 A3 F0 + jsr Sub_F0B4 ; CPU:$E9C2 PRG:69C2 20 B4 F0 + jsr Sub_E8EF ; CPU:$E9C5 PRG:69C5 20 EF E8 + jsr Sub_EDAD ; CPU:$E9C8 PRG:69C8 20 AD ED + bcc NmiHandler_Loop510 ; CPU:$E9CB PRG:69CB 90 06 + jsr Sub_E0B5 ; CPU:$E9CD PRG:69CD 20 B5 E0 + jsr NmiHandler_Loop496 ; CPU:$E9D0 PRG:69D0 20 11 E9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop510 -; Global: Branch target inside Label: taken when EA26. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop510. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop510: - jsr Sub_DFF1 ; CPU:$EA26 PRG:6A26 20 F1 DF + jsr Sub_9B81 ; CPU:$E9D3 PRG:69D3 20 81 9B + bcc NmiHandler_Loop511 ; CPU:$E9D6 PRG:69D6 90 03 + jmp Sub_EE79 ; CPU:$E9D8 PRG:69D8 4C 79 EE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop511 -; Global: Branch target inside Label: taken when EA29. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop511. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop511: - jsr Sub_9B81 ; CPU:$EA29 PRG:6A29 20 81 9B - bcc NmiHandler_Loop512 ; CPU:$EA2C PRG:6A2C 90 03 - jmp Sub_EE79 ; CPU:$EA2E PRG:6A2E 4C 79 EE + jsr Sub_F01B ; CPU:$E9DB PRG:69DB 20 1B F0 + bcc NmiHandler_Loop512 ; CPU:$E9DE PRG:69DE 90 03 + jmp Sub_ED72 ; CPU:$E9E0 PRG:69E0 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop512 -; Global: Branch target inside Label: taken when EA31. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop512. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop512: - jsr Sub_EDAD ; CPU:$EA31 PRG:6A31 20 AD ED - bcc NmiHandler_Loop513 ; CPU:$EA34 PRG:6A34 90 06 - jsr Sub_E0B5 ; CPU:$EA36 PRG:6A36 20 B5 E0 - jsr NmiHandler_Loop518 ; CPU:$EA39 PRG:6A39 20 85 EA + jsr Sub_9B03 ; CPU:$E9E3 PRG:69E3 20 03 9B + jsr Sub_EF44 ; CPU:$E9E6 PRG:69E6 20 44 EF + bcc NmiHandler_Loop513 ; CPU:$E9E9 PRG:69E9 90 03 + jmp Sub_EF30 ; CPU:$E9EB PRG:69EB 4C 30 EF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop513 -; Global: Branch target inside Label: taken when EA3C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop513. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop513: - jsr Sub_F01B ; CPU:$EA3C PRG:6A3C 20 1B F0 - bcc NmiHandler_Loop514 ; CPU:$EA3F PRG:6A3F 90 03 - jmp Sub_ED72 ; CPU:$EA41 PRG:6A41 4C 72 ED + jsr Sub_8358 ; CPU:$E9EE PRG:69EE 20 58 83 + bcc NmiHandler_Loop514 ; CPU:$E9F1 PRG:69F1 90 03 + jsr Sub_E8EF ; CPU:$E9F3 PRG:69F3 20 EF E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop514 -; Global: Branch target inside Label: taken when EA44. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop514. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop514: - jsr Sub_9B03 ; CPU:$EA44 PRG:6A44 20 03 9B - jsr Sub_EF44 ; CPU:$EA47 PRG:6A47 20 44 EF - bcc NmiHandler_Loop515 ; CPU:$EA4A PRG:6A4A 90 03 - jmp Sub_EF30 ; CPU:$EA4C PRG:6A4C 4C 30 EF + jmp Sub_E9AC ; CPU:$E9F6 PRG:69F6 4C AC E9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero19 +; Global: Branch target inside NmiHandler: taken when OnZero19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero19: + jsr Sub_F1D3 ; CPU:$E9F9 PRG:69F9 20 D3 F1 + jsr Sub_E8EF ; CPU:$E9FC PRG:69FC 20 EF E8 + lda #$32 ; CPU:$E9FF PRG:69FF A9 32 + sta $03EF,x ; CPU:$EA01 PRG:6A01 9D EF 03 + jmp Sub_E9AC ; CPU:$EA04 PRG:6A04 4C AC E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_EA07 +; Global: Branch target inside Sub: taken when EA07. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EA07: + jsr Sub_E2D7 ; CPU:$EA07 PRG:6A07 20 D7 E2 + beq NmiHandler_Loop515 ; CPU:$EA0A PRG:6A0A F0 03 + jmp Sub_ED72 ; CPU:$EA0C PRG:6A0C 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop515 -; Global: Branch target inside Label: taken when EA4F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop515. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop515: - jsr Sub_8358 ; CPU:$EA4F PRG:6A4F 20 58 83 - bcc NmiHandler_Loop516 ; CPU:$EA52 PRG:6A52 90 03 - jsr Sub_EA63 ; CPU:$EA54 PRG:6A54 20 63 EA + dec $03EF,x ; CPU:$EA0F PRG:6A0F DE EF 03 + beq NmiHandler_OnZero19 ; CPU:$EA12 PRG:6A12 F0 E5 + jsr Sub_F0A3 ; CPU:$EA14 PRG:6A14 20 A3 F0 + jsr Sub_9A3B ; CPU:$EA17 PRG:6A17 20 3B 9A + bcs NmiHandler_Loop517 ; CPU:$EA1A PRG:6A1A B0 0D + cmp #$00 ; CPU:$EA1C PRG:6A1C C9 00 + beq NmiHandler_Loop516 ; CPU:$EA1E PRG:6A1E F0 06 + jsr Sub_DBEE ; CPU:$EA20 PRG:6A20 20 EE DB + jmp Sub_ECF4 ; CPU:$EA23 PRG:6A23 4C F4 EC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop516 -; Global: Branch target inside Label: taken when EA57. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop516. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop516: - jmp Sub_EA07 ; CPU:$EA57 PRG:6A57 4C 07 EA + jsr Sub_DFF1 ; CPU:$EA26 PRG:6A26 20 F1 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop517 +; Global: Branch target inside NmiHandler: taken when Loop517. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop517: + jsr Sub_9B81 ; CPU:$EA29 PRG:6A29 20 81 9B + bcc NmiHandler_Loop518 ; CPU:$EA2C PRG:6A2C 90 03 + jmp Sub_EE79 ; CPU:$EA2E PRG:6A2E 4C 79 EE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop518 +; Global: Branch target inside NmiHandler: taken when Loop518. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop518: + jsr Sub_EDAD ; CPU:$EA31 PRG:6A31 20 AD ED + bcc NmiHandler_Loop519 ; CPU:$EA34 PRG:6A34 90 06 + jsr Sub_E0B5 ; CPU:$EA36 PRG:6A36 20 B5 E0 + jsr NmiHandler_Loop524 ; CPU:$EA39 PRG:6A39 20 85 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop519 +; Global: Branch target inside NmiHandler: taken when Loop519. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop519: + jsr Sub_F01B ; CPU:$EA3C PRG:6A3C 20 1B F0 + bcc NmiHandler_Loop520 ; CPU:$EA3F PRG:6A3F 90 03 + jmp Sub_ED72 ; CPU:$EA41 PRG:6A41 4C 72 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop520 +; Global: Branch target inside NmiHandler: taken when Loop520. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop520: + jsr Sub_9B03 ; CPU:$EA44 PRG:6A44 20 03 9B + jsr Sub_EF44 ; CPU:$EA47 PRG:6A47 20 44 EF + bcc NmiHandler_Loop521 ; CPU:$EA4A PRG:6A4A 90 03 + jmp Sub_EF30 ; CPU:$EA4C PRG:6A4C 4C 30 EF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop521 +; Global: Branch target inside NmiHandler: taken when Loop521. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop521: + jsr Sub_8358 ; CPU:$EA4F PRG:6A4F 20 58 83 + bcc NmiHandler_Loop522 ; CPU:$EA52 PRG:6A52 90 03 + jsr Sub_EA63 ; CPU:$EA54 PRG:6A54 20 63 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop522 +; Global: Branch target inside NmiHandler: taken when Loop522. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop522: + jmp Sub_EA07 ; CPU:$EA57 PRG:6A57 4C 07 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_EA5A -; Global: Branch target inside Label: taken when EA5A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EA5A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EA5A: - jsr Sub_F1D3 ; CPU:$EA5A PRG:6A5A 20 D3 F1 - jsr Sub_EA63 ; CPU:$EA5D PRG:6A5D 20 63 EA - jmp NmiHandler_Loop511 ; CPU:$EA60 PRG:6A60 4C 29 EA + jsr Sub_F1D3 ; CPU:$EA5A PRG:6A5A 20 D3 F1 + jsr Sub_EA63 ; CPU:$EA5D PRG:6A5D 20 63 EA + jmp NmiHandler_Loop517 ; CPU:$EA60 PRG:6A60 4C 29 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_EA63 -; Global: Branch target inside Label: taken when EA63. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EA63. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -16661,168 +17170,168 @@ Sub_EA5A: Sub_EA63: lda $0336,x ; CPU:$EA63 PRG:6A63 BD 36 03 and #$04 ; CPU:$EA66 PRG:6A66 29 04 - bne NmiHandler_Loop518 ; CPU:$EA68 PRG:6A68 D0 1B - jsr Sub_9B1F ; CPU:$EA6A PRG:6A6A 20 1F 9B - beq NmiHandler_Loop517 ; CPU:$EA6D PRG:6A6D F0 0B + bne NmiHandler_Loop524 ; CPU:$EA68 PRG:6A68 D0 1B + jsr Sub_9B1F ; CPU:$EA6A PRG:6A6A 20 1F 9B + beq NmiHandler_Loop523 ; CPU:$EA6D PRG:6A6D F0 0B lda #$9E ; CPU:$EA6F PRG:6A6F A9 9E - sta Zp73 ; CPU:$EA71 PRG:6A71 85 73 + sta VramWritePtrLo ; CPU:$EA71 PRG:6A71 85 73 lda #$F2 ; CPU:$EA73 PRG:6A73 A9 F2 - sta Zp74 ; CPU:$EA75 PRG:6A75 85 74 - jmp Sub_8334 ; CPU:$EA77 PRG:6A77 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop517 -; Global: Branch target inside Label: taken when EA7A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop517: - lda #$A4 ; CPU:$EA7A PRG:6A7A A9 A4 - sta Zp73 ; CPU:$EA7C PRG:6A7C 85 73 - lda #$F2 ; CPU:$EA7E PRG:6A7E A9 F2 - sta Zp74 ; CPU:$EA80 PRG:6A80 85 74 - jmp Sub_8334 ; CPU:$EA82 PRG:6A82 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop518 -; Global: Branch target inside Label: taken when EA85. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop518: - jsr Sub_9B1F ; CPU:$EA85 PRG:6A85 20 1F 9B - beq NmiHandler_Loop519 ; CPU:$EA88 PRG:6A88 F0 0B - lda #$2C ; CPU:$EA8A PRG:6A8A A9 2C - sta Zp73 ; CPU:$EA8C PRG:6A8C 85 73 - lda #$F3 ; CPU:$EA8E PRG:6A8E A9 F3 - sta Zp74 ; CPU:$EA90 PRG:6A90 85 74 - jmp Sub_8334 ; CPU:$EA92 PRG:6A92 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop519 -; Global: Branch target inside Label: taken when EA95. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop519: - lda #$32 ; CPU:$EA95 PRG:6A95 A9 32 - sta Zp73 ; CPU:$EA97 PRG:6A97 85 73 - lda #$F3 ; CPU:$EA99 PRG:6A99 A9 F3 - sta Zp74 ; CPU:$EA9B PRG:6A9B 85 74 - jmp Sub_8334 ; CPU:$EA9D PRG:6A9D 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_EAA0 -; Global: Branch target inside Label: taken when EAA0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EAA0: - lda ZpB7,x ; CPU:$EAA0 PRG:6AA0 B5 B7 - ora #$40 ; CPU:$EAA2 PRG:6AA2 09 40 - sta ZpB7,x ; CPU:$EAA4 PRG:6AA4 95 B7 - and #$08 ; CPU:$EAA6 PRG:6AA6 29 08 - beq NmiHandler_Loop520 ; CPU:$EAA8 PRG:6AA8 F0 0B - lda #$7E ; CPU:$EAAA PRG:6AAA A9 7E - sta Zp73 ; CPU:$EAAC PRG:6AAC 85 73 - lda #$F2 ; CPU:$EAAE PRG:6AAE A9 F2 - sta Zp74 ; CPU:$EAB0 PRG:6AB0 85 74 - jmp Sub_EABD ; CPU:$EAB2 PRG:6AB2 4C BD EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop520 -; Global: Branch target inside Label: taken when EAB5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop520: - lda #$82 ; CPU:$EAB5 PRG:6AB5 A9 82 - sta Zp73 ; CPU:$EAB7 PRG:6AB7 85 73 - lda #$F2 ; CPU:$EAB9 PRG:6AB9 A9 F2 - sta Zp74 ; CPU:$EABB PRG:6ABB 85 74 -; ----------------------------------------------------------------------------- -; Routine: Sub_EABD -; Global: Branch target inside Label: taken when EABD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EABD: - jsr Sub_8334 ; CPU:$EABD PRG:6ABD 20 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear35 -; Global: Branch target inside Label: taken when EAC0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear35: - jsr Sub_9B03 ; CPU:$EAC0 PRG:6AC0 20 03 9B - jsr Sub_8358 ; CPU:$EAC3 PRG:6AC3 20 58 83 - bcc NmiHandler_OnCarryClear35 ; CPU:$EAC6 PRG:6AC6 90 F8 - lda ZpC8,x ; CPU:$EAC8 PRG:6AC8 B5 C8 - bpl NmiHandler_Loop522 ; CPU:$EACA PRG:6ACA 10 0F - lda $03E3,x ; CPU:$EACC PRG:6ACC BD E3 03 - bmi NmiHandler_Loop521 ; CPU:$EACF PRG:6ACF 30 05 - lda #$E0 ; CPU:$EAD1 PRG:6AD1 A9 E0 - jmp Sub_EAE7 ; CPU:$EAD3 PRG:6AD3 4C E7 EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop521 -; Global: Branch target inside Label: taken when EAD6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop521: - lda #$C8 ; CPU:$EAD6 PRG:6AD6 A9 C8 - jmp Sub_EAE7 ; CPU:$EAD8 PRG:6AD8 4C E7 EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop522 -; Global: Branch target inside Label: taken when EADB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop522: - lda $03E3,x ; CPU:$EADB PRG:6ADB BD E3 03 - bmi NmiHandler_Loop523 ; CPU:$EADE PRG:6ADE 30 05 - lda #$18 ; CPU:$EAE0 PRG:6AE0 A9 18 - jmp Sub_EAE7 ; CPU:$EAE2 PRG:6AE2 4C E7 EA + sta VramWritePtrHi ; CPU:$EA75 PRG:6A75 85 74 + jmp Sub_8334 ; CPU:$EA77 PRG:6A77 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop523 -; Global: Branch target inside Label: taken when EAE5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop523. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop523: + lda #$A4 ; CPU:$EA7A PRG:6A7A A9 A4 + sta VramWritePtrLo ; CPU:$EA7C PRG:6A7C 85 73 + lda #$F2 ; CPU:$EA7E PRG:6A7E A9 F2 + sta VramWritePtrHi ; CPU:$EA80 PRG:6A80 85 74 + jmp Sub_8334 ; CPU:$EA82 PRG:6A82 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop524 +; Global: Branch target inside NmiHandler: taken when Loop524. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop524: + jsr Sub_9B1F ; CPU:$EA85 PRG:6A85 20 1F 9B + beq NmiHandler_Loop525 ; CPU:$EA88 PRG:6A88 F0 0B + lda #$2C ; CPU:$EA8A PRG:6A8A A9 2C + sta VramWritePtrLo ; CPU:$EA8C PRG:6A8C 85 73 + lda #$F3 ; CPU:$EA8E PRG:6A8E A9 F3 + sta VramWritePtrHi ; CPU:$EA90 PRG:6A90 85 74 + jmp Sub_8334 ; CPU:$EA92 PRG:6A92 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop525 +; Global: Branch target inside NmiHandler: taken when Loop525. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop525: + lda #$32 ; CPU:$EA95 PRG:6A95 A9 32 + sta VramWritePtrLo ; CPU:$EA97 PRG:6A97 85 73 + lda #$F3 ; CPU:$EA99 PRG:6A99 A9 F3 + sta VramWritePtrHi ; CPU:$EA9B PRG:6A9B 85 74 + jmp Sub_8334 ; CPU:$EA9D PRG:6A9D 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_EAA0 +; Global: Branch target inside Sub: taken when EAA0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EAA0: + lda SpriteIndex,x ; CPU:$EAA0 PRG:6AA0 B5 B7 + ora #$40 ; CPU:$EAA2 PRG:6AA2 09 40 + sta SpriteIndex,x ; CPU:$EAA4 PRG:6AA4 95 B7 + and #$08 ; CPU:$EAA6 PRG:6AA6 29 08 + beq NmiHandler_Loop526 ; CPU:$EAA8 PRG:6AA8 F0 0B + lda #$7E ; CPU:$EAAA PRG:6AAA A9 7E + sta VramWritePtrLo ; CPU:$EAAC PRG:6AAC 85 73 + lda #$F2 ; CPU:$EAAE PRG:6AAE A9 F2 + sta VramWritePtrHi ; CPU:$EAB0 PRG:6AB0 85 74 + jmp Sub_EABD ; CPU:$EAB2 PRG:6AB2 4C BD EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop526 +; Global: Branch target inside NmiHandler: taken when Loop526. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop526: + lda #$82 ; CPU:$EAB5 PRG:6AB5 A9 82 + sta VramWritePtrLo ; CPU:$EAB7 PRG:6AB7 85 73 + lda #$F2 ; CPU:$EAB9 PRG:6AB9 A9 F2 + sta VramWritePtrHi ; CPU:$EABB PRG:6ABB 85 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_EABD +; Global: Branch target inside Sub: taken when EABD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EABD: + jsr Sub_8334 ; CPU:$EABD PRG:6ABD 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear44 +; Global: Branch target inside NmiHandler: taken when OnCarryClear44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear44: + jsr Sub_9B03 ; CPU:$EAC0 PRG:6AC0 20 03 9B + jsr Sub_8358 ; CPU:$EAC3 PRG:6AC3 20 58 83 + bcc NmiHandler_OnCarryClear44 ; CPU:$EAC6 PRG:6AC6 90 F8 + lda SpriteYPosition,x ; CPU:$EAC8 PRG:6AC8 B5 C8 + bpl NmiHandler_Loop528 ; CPU:$EACA PRG:6ACA 10 0F + lda $03E3,x ; CPU:$EACC PRG:6ACC BD E3 03 + bmi NmiHandler_Loop527 ; CPU:$EACF PRG:6ACF 30 05 + lda #$E0 ; CPU:$EAD1 PRG:6AD1 A9 E0 + jmp Sub_EAE7 ; CPU:$EAD3 PRG:6AD3 4C E7 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop527 +; Global: Branch target inside NmiHandler: taken when Loop527. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop527: + lda #$C8 ; CPU:$EAD6 PRG:6AD6 A9 C8 + jmp Sub_EAE7 ; CPU:$EAD8 PRG:6AD8 4C E7 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop528 +; Global: Branch target inside NmiHandler: taken when Loop528. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop528: + lda $03E3,x ; CPU:$EADB PRG:6ADB BD E3 03 + bmi NmiHandler_Loop529 ; CPU:$EADE PRG:6ADE 30 05 + lda #$18 ; CPU:$EAE0 PRG:6AE0 A9 18 + jmp Sub_EAE7 ; CPU:$EAE2 PRG:6AE2 4C E7 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop529 +; Global: Branch target inside NmiHandler: taken when Loop529. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop529: lda #$30 ; CPU:$EAE5 PRG:6AE5 A9 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_EAE7 -; Global: Branch target inside Label: taken when EAE7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EAE7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EAE7: - sta ZpC8,x ; CPU:$EAE7 PRG:6AE7 95 C8 + sta SpriteYPosition,x ; CPU:$EAE7 PRG:6AE7 95 C8 lda #$01 ; CPU:$EAE9 PRG:6AE9 A9 01 sta $0325,x ; CPU:$EAEB PRG:6AEB 9D 25 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_EAEE -; Global: Branch target inside Label: taken when EAEE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EAEE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -16830,626 +17339,636 @@ Sub_EAE7: Sub_EAEE: lda $0673 ; CPU:$EAEE PRG:6AEE AD 73 06 and #$01 ; CPU:$EAF1 PRG:6AF1 29 01 - bne NmiHandler_Loop527 ; CPU:$EAF3 PRG:6AF3 D0 47 - jsr Sub_DFF1 ; CPU:$EAF5 PRG:6AF5 20 F1 DF + bne NmiHandler_Loop533 ; CPU:$EAF3 PRG:6AF3 D0 47 + jsr Sub_DFF1 ; CPU:$EAF5 PRG:6AF5 20 F1 DF lda $03E3,x ; CPU:$EAF8 PRG:6AF8 BD E3 03 - bmi NmiHandler_Loop525 ; CPU:$EAFB PRG:6AFB 30 21 + bmi NmiHandler_Loop531 ; CPU:$EAFB PRG:6AFB 30 21 clc ; CPU:$EAFD PRG:6AFD 18 adc $039D,x ; CPU:$EAFE PRG:6AFE 7D 9D 03 sta $039D,x ; CPU:$EB01 PRG:6B01 9D 9D 03 lda $03AE,x ; CPU:$EB04 PRG:6B04 BD AE 03 adc #$00 ; CPU:$EB07 PRG:6B07 69 00 sta $03AE,x ; CPU:$EB09 PRG:6B09 9D AE 03 - lda ZpC8,x ; CPU:$EB0C PRG:6B0C B5 C8 - bmi NmiHandler_Loop524 ; CPU:$EB0E PRG:6B0E 30 07 + lda SpriteYPosition,x ; CPU:$EB0C PRG:6B0C B5 C8 + bmi NmiHandler_Loop530 ; CPU:$EB0E PRG:6B0E 30 07 cmp #$30 ; CPU:$EB10 PRG:6B10 C9 30 - beq NmiHandler_Loop529 ; CPU:$EB12 PRG:6B12 F0 3B - jmp NmiHandler_Loop527 ; CPU:$EB14 PRG:6B14 4C 3C EB + beq NmiHandler_Loop535 ; CPU:$EB12 PRG:6B12 F0 3B + jmp NmiHandler_Loop533 ; CPU:$EB14 PRG:6B14 4C 3C EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop524 -; Global: Branch target inside Label: taken when EB17. -; Local: Part of Label. +; Routine: NmiHandler_Loop530 +; Global: Branch target inside NmiHandler: taken when Loop530. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop524: +NmiHandler_Loop530: cmp #$C8 ; CPU:$EB17 PRG:6B17 C9 C8 - beq NmiHandler_Loop529 ; CPU:$EB19 PRG:6B19 F0 34 - jmp NmiHandler_Loop527 ; CPU:$EB1B PRG:6B1B 4C 3C EB + beq NmiHandler_Loop535 ; CPU:$EB19 PRG:6B19 F0 34 + jmp NmiHandler_Loop533 ; CPU:$EB1B PRG:6B1B 4C 3C EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop525 -; Global: Branch target inside Label: taken when EB1E. -; Local: Part of Label. +; Routine: NmiHandler_Loop531 +; Global: Branch target inside NmiHandler: taken when Loop531. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop525: +NmiHandler_Loop531: clc ; CPU:$EB1E PRG:6B1E 18 adc $039D,x ; CPU:$EB1F PRG:6B1F 7D 9D 03 sta $039D,x ; CPU:$EB22 PRG:6B22 9D 9D 03 lda $03AE,x ; CPU:$EB25 PRG:6B25 BD AE 03 adc #$FF ; CPU:$EB28 PRG:6B28 69 FF sta $03AE,x ; CPU:$EB2A PRG:6B2A 9D AE 03 - lda ZpC8,x ; CPU:$EB2D PRG:6B2D B5 C8 - bmi NmiHandler_Loop526 ; CPU:$EB2F PRG:6B2F 30 07 + lda SpriteYPosition,x ; CPU:$EB2D PRG:6B2D B5 C8 + bmi NmiHandler_Loop532 ; CPU:$EB2F PRG:6B2F 30 07 cmp #$18 ; CPU:$EB31 PRG:6B31 C9 18 - beq NmiHandler_Loop529 ; CPU:$EB33 PRG:6B33 F0 1A - jmp NmiHandler_Loop527 ; CPU:$EB35 PRG:6B35 4C 3C EB -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop526 -; Global: Branch target inside Label: taken when EB38. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop526: - cmp #$E0 ; CPU:$EB38 PRG:6B38 C9 E0 - beq NmiHandler_Loop529 ; CPU:$EB3A PRG:6B3A F0 13 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop527 -; Global: Branch target inside Label: taken when EB3C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop527: - jsr Sub_9B03 ; CPU:$EB3C PRG:6B3C 20 03 9B - lda $0303,x ; CPU:$EB3F PRG:6B3F BD 03 03 - cmp #$F0 ; CPU:$EB42 PRG:6B42 C9 F0 - bcc NmiHandler_Loop528 ; CPU:$EB44 PRG:6B44 90 03 - jmp NmiHandler_Loop565 ; CPU:$EB46 PRG:6B46 4C AA ED -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop528 -; Global: Branch target inside Label: taken when EB49. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop528: - jsr Sub_82A3 ; CPU:$EB49 PRG:6B49 20 A3 82 - jmp Sub_EAEE ; CPU:$EB4C PRG:6B4C 4C EE EA -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop529 -; Global: Branch target inside Label: taken when EB4F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop529: - jsr Sub_9B1F ; CPU:$EB4F PRG:6B4F 20 1F 9B - beq NmiHandler_Loop530 ; CPU:$EB52 PRG:6B52 F0 0B - lda #$7E ; CPU:$EB54 PRG:6B54 A9 7E - sta Zp73 ; CPU:$EB56 PRG:6B56 85 73 - lda #$F2 ; CPU:$EB58 PRG:6B58 A9 F2 - sta Zp74 ; CPU:$EB5A PRG:6B5A 85 74 - jmp Sub_EB67 ; CPU:$EB5C PRG:6B5C 4C 67 EB -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop530 -; Global: Branch target inside Label: taken when EB5F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop530: - lda #$82 ; CPU:$EB5F PRG:6B5F A9 82 - sta Zp73 ; CPU:$EB61 PRG:6B61 85 73 - lda #$F2 ; CPU:$EB63 PRG:6B63 A9 F2 - sta Zp74 ; CPU:$EB65 PRG:6B65 85 74 -; ----------------------------------------------------------------------------- -; Routine: Sub_EB67 -; Global: Branch target inside Label: taken when EB67. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EB67: - jsr Sub_8334 ; CPU:$EB67 PRG:6B67 20 34 83 - lda #$00 ; CPU:$EB6A PRG:6B6A A9 00 - sta $0325,x ; CPU:$EB6C PRG:6B6C 9D 25 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear36 -; Global: Branch target inside Label: taken when EB6F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear36: - jsr Sub_9848 ; CPU:$EB6F PRG:6B6F 20 48 98 - bcs NmiHandler_Loop531 ; CPU:$EB72 PRG:6B72 B0 03 - jsr Sub_DFF1 ; CPU:$EB74 PRG:6B74 20 F1 DF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop531 -; Global: Branch target inside Label: taken when EB77. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop531: - jsr Sub_9B03 ; CPU:$EB77 PRG:6B77 20 03 9B - jsr Sub_8358 ; CPU:$EB7A PRG:6B7A 20 58 83 - bcc NmiHandler_OnCarryClear36 ; CPU:$EB7D PRG:6B7D 90 F0 - lda ZpB7,x ; CPU:$EB7F PRG:6B7F B5 B7 - and #$BF ; CPU:$EB81 PRG:6B81 29 BF - sta ZpB7,x ; CPU:$EB83 PRG:6B83 95 B7 - lda $03E3,x ; CPU:$EB85 PRG:6B85 BD E3 03 - bmi NmiHandler_Loop532 ; CPU:$EB88 PRG:6B88 30 05 - inc ZpE5,x ; CPU:$EB8A PRG:6B8A F6 E5 - jmp NmiHandler_OnZero17 ; CPU:$EB8C PRG:6B8C 4C D2 E8 + beq NmiHandler_Loop535 ; CPU:$EB33 PRG:6B33 F0 1A + jmp NmiHandler_Loop533 ; CPU:$EB35 PRG:6B35 4C 3C EB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop532 -; Global: Branch target inside Label: taken when EB8F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop532. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop532: - dec ZpE5,x ; CPU:$EB8F PRG:6B8F D6 E5 - jmp NmiHandler_OnZero17 ; CPU:$EB91 PRG:6B91 4C D2 E8 -; ----------------------------------------------------------------------------- -; Routine: Sub_EB94 -; Global: Branch target inside Label: taken when EB94. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EB94: - jsr Sub_E2D7 ; CPU:$EB94 PRG:6B94 20 D7 E2 - beq NmiHandler_Loop533 ; CPU:$EB97 PRG:6B97 F0 03 - jmp Sub_ED72 ; CPU:$EB99 PRG:6B99 4C 72 ED + cmp #$E0 ; CPU:$EB38 PRG:6B38 C9 E0 + beq NmiHandler_Loop535 ; CPU:$EB3A PRG:6B3A F0 13 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop533 -; Global: Branch target inside Label: taken when EB9C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop533. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop533: - dec $03EF,x ; CPU:$EB9C PRG:6B9C DE EF 03 - bne NmiHandler_Loop534 ; CPU:$EB9F PRG:6B9F D0 03 - jmp NmiHandler_OnZero17 ; CPU:$EBA1 PRG:6BA1 4C D2 E8 + jsr Sub_9B03 ; CPU:$EB3C PRG:6B3C 20 03 9B + lda $0303,x ; CPU:$EB3F PRG:6B3F BD 03 03 + cmp #$F0 ; CPU:$EB42 PRG:6B42 C9 F0 + bcc NmiHandler_Loop534 ; CPU:$EB44 PRG:6B44 90 03 + jmp NmiHandler_Loop571 ; CPU:$EB46 PRG:6B46 4C AA ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop534 -; Global: Branch target inside Label: taken when EBA4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop534. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop534: - jsr Sub_ED24 ; CPU:$EBA4 PRG:6BA4 20 24 ED - jsr Sub_EDAD ; CPU:$EBA7 PRG:6BA7 20 AD ED - bcc NmiHandler_Loop536 ; CPU:$EBAA PRG:6BAA 90 1E - jsr Sub_E0B5 ; CPU:$EBAC PRG:6BAC 20 B5 E0 - jsr Sub_9B1F ; CPU:$EBAF PRG:6BAF 20 1F 9B - beq NmiHandler_Loop535 ; CPU:$EBB2 PRG:6BB2 F0 0B - lda #$2C ; CPU:$EBB4 PRG:6BB4 A9 2C - sta Zp73 ; CPU:$EBB6 PRG:6BB6 85 73 - lda #$F3 ; CPU:$EBB8 PRG:6BB8 A9 F3 - sta Zp74 ; CPU:$EBBA PRG:6BBA 85 74 - jmp Sub_EBC7 ; CPU:$EBBC PRG:6BBC 4C C7 EB + jsr Sub_82A3 ; CPU:$EB49 PRG:6B49 20 A3 82 + jmp Sub_EAEE ; CPU:$EB4C PRG:6B4C 4C EE EA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop535 -; Global: Branch target inside Label: taken when EBBF. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop535. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop535: - lda #$32 ; CPU:$EBBF PRG:6BBF A9 32 - sta Zp73 ; CPU:$EBC1 PRG:6BC1 85 73 - lda #$F3 ; CPU:$EBC3 PRG:6BC3 A9 F3 - sta Zp74 ; CPU:$EBC5 PRG:6BC5 85 74 -; ----------------------------------------------------------------------------- -; Routine: Sub_EBC7 -; Global: Branch target inside Label: taken when EBC7. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EBC7: - jsr Sub_8334 ; CPU:$EBC7 PRG:6BC7 20 34 83 + jsr Sub_9B1F ; CPU:$EB4F PRG:6B4F 20 1F 9B + beq NmiHandler_Loop536 ; CPU:$EB52 PRG:6B52 F0 0B + lda #$7E ; CPU:$EB54 PRG:6B54 A9 7E + sta VramWritePtrLo ; CPU:$EB56 PRG:6B56 85 73 + lda #$F2 ; CPU:$EB58 PRG:6B58 A9 F2 + sta VramWritePtrHi ; CPU:$EB5A PRG:6B5A 85 74 + jmp Sub_EB67 ; CPU:$EB5C PRG:6B5C 4C 67 EB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop536 -; Global: Branch target inside Label: taken when EBCA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop536. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop536: - jsr Sub_F01B ; CPU:$EBCA PRG:6BCA 20 1B F0 - bcc NmiHandler_Loop537 ; CPU:$EBCD PRG:6BCD 90 03 - jmp Sub_ED72 ; CPU:$EBCF PRG:6BCF 4C 72 ED + lda #$82 ; CPU:$EB5F PRG:6B5F A9 82 + sta VramWritePtrLo ; CPU:$EB61 PRG:6B61 85 73 + lda #$F2 ; CPU:$EB63 PRG:6B63 A9 F2 + sta VramWritePtrHi ; CPU:$EB65 PRG:6B65 85 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_EB67 +; Global: Branch target inside Sub: taken when EB67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EB67: + jsr Sub_8334 ; CPU:$EB67 PRG:6B67 20 34 83 + lda #$00 ; CPU:$EB6A PRG:6B6A A9 00 + sta $0325,x ; CPU:$EB6C PRG:6B6C 9D 25 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear45 +; Global: Branch target inside NmiHandler: taken when OnCarryClear45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear45: + jsr Sub_9848 ; CPU:$EB6F PRG:6B6F 20 48 98 + bcs NmiHandler_Loop537 ; CPU:$EB72 PRG:6B72 B0 03 + jsr Sub_DFF1 ; CPU:$EB74 PRG:6B74 20 F1 DF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop537 -; Global: Branch target inside Label: taken when EBD2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop537. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop537: - jsr Sub_9B03 ; CPU:$EBD2 PRG:6BD2 20 03 9B - jsr Sub_99E7 ; CPU:$EBD5 PRG:6BD5 20 E7 99 - jsr Sub_EF44 ; CPU:$EBD8 PRG:6BD8 20 44 EF - bcc NmiHandler_Loop538 ; CPU:$EBDB PRG:6BDB 90 03 - jmp NmiHandler_Loop565 ; CPU:$EBDD PRG:6BDD 4C AA ED + jsr Sub_9B03 ; CPU:$EB77 PRG:6B77 20 03 9B + jsr Sub_8358 ; CPU:$EB7A PRG:6B7A 20 58 83 + bcc NmiHandler_OnCarryClear45 ; CPU:$EB7D PRG:6B7D 90 F0 + lda SpriteIndex,x ; CPU:$EB7F PRG:6B7F B5 B7 + and #$BF ; CPU:$EB81 PRG:6B81 29 BF + sta SpriteIndex,x ; CPU:$EB83 PRG:6B83 95 B7 + lda $03E3,x ; CPU:$EB85 PRG:6B85 BD E3 03 + bmi NmiHandler_Loop538 ; CPU:$EB88 PRG:6B88 30 05 + inc ZpE5,x ; CPU:$EB8A PRG:6B8A F6 E5 + jmp NmiHandler_OnZero18 ; CPU:$EB8C PRG:6B8C 4C D2 E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop538 -; Global: Branch target inside Label: taken when EBE0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop538. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop538: - jsr Sub_8358 ; CPU:$EBE0 PRG:6BE0 20 58 83 - bcc NmiHandler_Loop539 ; CPU:$EBE3 PRG:6BE3 90 03 - jsr Sub_EA63 ; CPU:$EBE5 PRG:6BE5 20 63 EA + dec ZpE5,x ; CPU:$EB8F PRG:6B8F D6 E5 + jmp NmiHandler_OnZero18 ; CPU:$EB91 PRG:6B91 4C D2 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_EB94 +; Global: Branch target inside Sub: taken when EB94. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EB94: + jsr Sub_E2D7 ; CPU:$EB94 PRG:6B94 20 D7 E2 + beq NmiHandler_Loop539 ; CPU:$EB97 PRG:6B97 F0 03 + jmp Sub_ED72 ; CPU:$EB99 PRG:6B99 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop539 -; Global: Branch target inside Label: taken when EBE8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop539. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop539: - dec $03BA,x ; CPU:$EBE8 PRG:6BE8 DE BA 03 - beq NmiHandler_Loop540 ; CPU:$EBEB PRG:6BEB F0 03 - jmp Sub_EB94 ; CPU:$EBED PRG:6BED 4C 94 EB + dec $03EF,x ; CPU:$EB9C PRG:6B9C DE EF 03 + bne NmiHandler_Loop540 ; CPU:$EB9F PRG:6B9F D0 03 + jmp NmiHandler_OnZero18 ; CPU:$EBA1 PRG:6BA1 4C D2 E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop540 -; Global: Branch target inside Label: taken when EBF0. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop540. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop540: - jmp Sub_EE3D ; CPU:$EBF0 PRG:6BF0 4C 3D EE -; ---- data $EBF3-$EBFA (8 bytes) ---- - .byte $A9, $1E, $9D, $BA, $03, $4C, $94, $EB ; CPU:$EBF3 PRG:6BF3 A9 1E 9D BA 03 4C 94 EB -; ----------------------------------------------------------------------------- -; Routine: Sub_EBFB -; Global: Branch target inside Label: taken when EBFB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EBFB: - jsr Sub_E2D7 ; CPU:$EBFB PRG:6BFB 20 D7 E2 - beq NmiHandler_Loop541 ; CPU:$EBFE PRG:6BFE F0 03 - jmp Sub_ED72 ; CPU:$EC00 PRG:6C00 4C 72 ED + jsr Sub_ED24 ; CPU:$EBA4 PRG:6BA4 20 24 ED + jsr Sub_EDAD ; CPU:$EBA7 PRG:6BA7 20 AD ED + bcc NmiHandler_Loop542 ; CPU:$EBAA PRG:6BAA 90 1E + jsr Sub_E0B5 ; CPU:$EBAC PRG:6BAC 20 B5 E0 + jsr Sub_9B1F ; CPU:$EBAF PRG:6BAF 20 1F 9B + beq NmiHandler_Loop541 ; CPU:$EBB2 PRG:6BB2 F0 0B + lda #$2C ; CPU:$EBB4 PRG:6BB4 A9 2C + sta VramWritePtrLo ; CPU:$EBB6 PRG:6BB6 85 73 + lda #$F3 ; CPU:$EBB8 PRG:6BB8 A9 F3 + sta VramWritePtrHi ; CPU:$EBBA PRG:6BBA 85 74 + jmp Sub_EBC7 ; CPU:$EBBC PRG:6BBC 4C C7 EB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop541 -; Global: Branch target inside Label: taken when EC03. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop541. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop541: - dec $03EF,x ; CPU:$EC03 PRG:6C03 DE EF 03 - bne NmiHandler_Loop543 ; CPU:$EC06 PRG:6C06 D0 0C - lda ZpB7,x ; CPU:$EC08 PRG:6C08 B5 B7 - and #$14 ; CPU:$EC0A PRG:6C0A 29 14 - beq NmiHandler_Loop542 ; CPU:$EC0C PRG:6C0C F0 03 - jmp NmiHandler_OnZero18 ; CPU:$EC0E PRG:6C0E 4C F9 E9 + lda #$32 ; CPU:$EBBF PRG:6BBF A9 32 + sta VramWritePtrLo ; CPU:$EBC1 PRG:6BC1 85 73 + lda #$F3 ; CPU:$EBC3 PRG:6BC3 A9 F3 + sta VramWritePtrHi ; CPU:$EBC5 PRG:6BC5 85 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_EBC7 +; Global: Branch target inside Sub: taken when EBC7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EBC7: + jsr Sub_8334 ; CPU:$EBC7 PRG:6BC7 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop542 -; Global: Branch target inside Label: taken when EC11. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop542. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop542: - jmp NmiHandler_OnZero17 ; CPU:$EC11 PRG:6C11 4C D2 E8 + jsr Sub_F01B ; CPU:$EBCA PRG:6BCA 20 1B F0 + bcc NmiHandler_Loop543 ; CPU:$EBCD PRG:6BCD 90 03 + jmp Sub_ED72 ; CPU:$EBCF PRG:6BCF 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop543 -; Global: Branch target inside Label: taken when EC14. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop543. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop543: - jsr Sub_F0B4 ; CPU:$EC14 PRG:6C14 20 B4 F0 - jsr Sub_EC94 ; CPU:$EC17 PRG:6C17 20 94 EC - jsr Sub_EDAD ; CPU:$EC1A PRG:6C1A 20 AD ED - bcc NmiHandler_Loop546 ; CPU:$EC1D PRG:6C1D 90 2B - lda $0336,x ; CPU:$EC1F PRG:6C1F BD 36 03 - and #$02 ; CPU:$EC22 PRG:6C22 29 02 - bne NmiHandler_Loop544 ; CPU:$EC24 PRG:6C24 D0 06 - jsr Sub_E0B9 ; CPU:$EC26 PRG:6C26 20 B9 E0 - jmp Sub_EC2F ; CPU:$EC29 PRG:6C29 4C 2F EC + jsr Sub_9B03 ; CPU:$EBD2 PRG:6BD2 20 03 9B + jsr Sub_99E7 ; CPU:$EBD5 PRG:6BD5 20 E7 99 + jsr Sub_EF44 ; CPU:$EBD8 PRG:6BD8 20 44 EF + bcc NmiHandler_Loop544 ; CPU:$EBDB PRG:6BDB 90 03 + jmp NmiHandler_Loop571 ; CPU:$EBDD PRG:6BDD 4C AA ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop544 -; Global: Branch target inside Label: taken when EC2C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop544. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop544: - jsr Sub_E0B1 ; CPU:$EC2C PRG:6C2C 20 B1 E0 -; ----------------------------------------------------------------------------- -; Routine: Sub_EC2F -; Global: Branch target inside Label: taken when EC2F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EC2F: - jsr Sub_9B1F ; CPU:$EC2F PRG:6C2F 20 1F 9B - beq NmiHandler_Loop545 ; CPU:$EC32 PRG:6C32 F0 0B - lda #$B6 ; CPU:$EC34 PRG:6C34 A9 B6 - sta Zp73 ; CPU:$EC36 PRG:6C36 85 73 - lda #$F2 ; CPU:$EC38 PRG:6C38 A9 F2 - sta Zp74 ; CPU:$EC3A PRG:6C3A 85 74 - jmp Sub_EC47 ; CPU:$EC3C PRG:6C3C 4C 47 EC + jsr Sub_8358 ; CPU:$EBE0 PRG:6BE0 20 58 83 + bcc NmiHandler_Loop545 ; CPU:$EBE3 PRG:6BE3 90 03 + jsr Sub_EA63 ; CPU:$EBE5 PRG:6BE5 20 63 EA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop545 -; Global: Branch target inside Label: taken when EC3F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop545. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop545: - lda #$BC ; CPU:$EC3F PRG:6C3F A9 BC - sta Zp73 ; CPU:$EC41 PRG:6C41 85 73 - lda #$F2 ; CPU:$EC43 PRG:6C43 A9 F2 - sta Zp74 ; CPU:$EC45 PRG:6C45 85 74 -; ----------------------------------------------------------------------------- -; Routine: Sub_EC47 -; Global: Branch target inside Label: taken when EC47. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EC47: - jsr Sub_8334 ; CPU:$EC47 PRG:6C47 20 34 83 + dec $03BA,x ; CPU:$EBE8 PRG:6BE8 DE BA 03 + beq NmiHandler_Loop546 ; CPU:$EBEB PRG:6BEB F0 03 + jmp Sub_EB94 ; CPU:$EBED PRG:6BED 4C 94 EB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop546 -; Global: Branch target inside Label: taken when EC4A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop546. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop546: - lda ZpB7,x ; CPU:$EC4A PRG:6C4A B5 B7 - and #$10 ; CPU:$EC4C PRG:6C4C 29 10 - beq NmiHandler_Loop547 ; CPU:$EC4E PRG:6C4E F0 08 - jsr Sub_9B81 ; CPU:$EC50 PRG:6C50 20 81 9B - bcc NmiHandler_Loop549 ; CPU:$EC53 PRG:6C53 90 15 - jmp Sub_EE79 ; CPU:$EC55 PRG:6C55 4C 79 EE + jmp Sub_EE3D ; CPU:$EBF0 PRG:6BF0 4C 3D EE +; ----------------------------------------------------------------------------- +; Routine: Label_EBF3 +; Global: Branch target inside Label: taken when EBF3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EBF3: + lda #$1E ; CPU:$EBF3 PRG:6BF3 A9 1E + sta $03BA,x ; CPU:$EBF5 PRG:6BF5 9D BA 03 + jmp Sub_EB94 ; CPU:$EBF8 PRG:6BF8 4C 94 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_EBFB +; Global: Branch target inside Sub: taken when EBFB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EBFB: + jsr Sub_E2D7 ; CPU:$EBFB PRG:6BFB 20 D7 E2 + beq NmiHandler_Loop547 ; CPU:$EBFE PRG:6BFE F0 03 + jmp Sub_ED72 ; CPU:$EC00 PRG:6C00 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop547 -; Global: Branch target inside Label: taken when EC58. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop547. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop547: - lda ZpB7,x ; CPU:$EC58 PRG:6C58 B5 B7 - and #$14 ; CPU:$EC5A PRG:6C5A 29 14 - beq NmiHandler_Loop548 ; CPU:$EC5C PRG:6C5C F0 04 - and #$10 ; CPU:$EC5E PRG:6C5E 29 10 - beq NmiHandler_Loop549 ; CPU:$EC60 PRG:6C60 F0 08 + dec $03EF,x ; CPU:$EC03 PRG:6C03 DE EF 03 + bne NmiHandler_Loop549 ; CPU:$EC06 PRG:6C06 D0 0C + lda SpriteIndex,x ; CPU:$EC08 PRG:6C08 B5 B7 + and #$14 ; CPU:$EC0A PRG:6C0A 29 14 + beq NmiHandler_Loop548 ; CPU:$EC0C PRG:6C0C F0 03 + jmp NmiHandler_OnZero19 ; CPU:$EC0E PRG:6C0E 4C F9 E9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop548 -; Global: Branch target inside Label: taken when EC62. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop548. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop548: - jsr Sub_9BBB ; CPU:$EC62 PRG:6C62 20 BB 9B - bcc NmiHandler_Loop549 ; CPU:$EC65 PRG:6C65 90 03 - jmp Sub_EE79 ; CPU:$EC67 PRG:6C67 4C 79 EE + jmp NmiHandler_OnZero18 ; CPU:$EC11 PRG:6C11 4C D2 E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop549 -; Global: Branch target inside Label: taken when EC6A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop549. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop549: - jsr Sub_F022 ; CPU:$EC6A PRG:6C6A 20 22 F0 - bcc NmiHandler_Loop550 ; CPU:$EC6D PRG:6C6D 90 03 - jmp Sub_ED72 ; CPU:$EC6F PRG:6C6F 4C 72 ED + jsr Sub_F0B4 ; CPU:$EC14 PRG:6C14 20 B4 F0 + jsr Sub_EC94 ; CPU:$EC17 PRG:6C17 20 94 EC + jsr Sub_EDAD ; CPU:$EC1A PRG:6C1A 20 AD ED + bcc NmiHandler_Loop552 ; CPU:$EC1D PRG:6C1D 90 2B + lda $0336,x ; CPU:$EC1F PRG:6C1F BD 36 03 + and #$02 ; CPU:$EC22 PRG:6C22 29 02 + bne NmiHandler_Loop550 ; CPU:$EC24 PRG:6C24 D0 06 + jsr Sub_E0B9 ; CPU:$EC26 PRG:6C26 20 B9 E0 + jmp Sub_EC2F ; CPU:$EC29 PRG:6C29 4C 2F EC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop550 -; Global: Branch target inside Label: taken when EC72. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop550. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop550: - jsr Sub_9B03 ; CPU:$EC72 PRG:6C72 20 03 9B - jsr Sub_99E7 ; CPU:$EC75 PRG:6C75 20 E7 99 - jsr Sub_EF44 ; CPU:$EC78 PRG:6C78 20 44 EF - bcc NmiHandler_Loop551 ; CPU:$EC7B PRG:6C7B 90 03 - jmp NmiHandler_Loop565 ; CPU:$EC7D PRG:6C7D 4C AA ED + jsr Sub_E0B1 ; CPU:$EC2C PRG:6C2C 20 B1 E0 +; ----------------------------------------------------------------------------- +; Routine: Sub_EC2F +; Global: Branch target inside Sub: taken when EC2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC2F: + jsr Sub_9B1F ; CPU:$EC2F PRG:6C2F 20 1F 9B + beq NmiHandler_Loop551 ; CPU:$EC32 PRG:6C32 F0 0B + lda #$B6 ; CPU:$EC34 PRG:6C34 A9 B6 + sta VramWritePtrLo ; CPU:$EC36 PRG:6C36 85 73 + lda #$F2 ; CPU:$EC38 PRG:6C38 A9 F2 + sta VramWritePtrHi ; CPU:$EC3A PRG:6C3A 85 74 + jmp Sub_EC47 ; CPU:$EC3C PRG:6C3C 4C 47 EC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop551 -; Global: Branch target inside Label: taken when EC80. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop551. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop551: - jsr Sub_8358 ; CPU:$EC80 PRG:6C80 20 58 83 - bcc NmiHandler_Loop552 ; CPU:$EC83 PRG:6C83 90 03 - jsr Sub_EC94 ; CPU:$EC85 PRG:6C85 20 94 EC + lda #$BC ; CPU:$EC3F PRG:6C3F A9 BC + sta VramWritePtrLo ; CPU:$EC41 PRG:6C41 85 73 + lda #$F2 ; CPU:$EC43 PRG:6C43 A9 F2 + sta VramWritePtrHi ; CPU:$EC45 PRG:6C45 85 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_EC47 +; Global: Branch target inside Sub: taken when EC47. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC47: + jsr Sub_8334 ; CPU:$EC47 PRG:6C47 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop552 -; Global: Branch target inside Label: taken when EC88. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop552. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop552: - jmp Sub_EBFB ; CPU:$EC88 PRG:6C88 4C FB EB -; ----------------------------------------------------------------------------- -; Routine: Sub_EC8B -; Global: Branch target inside Label: taken when EC8B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EC8B: - jsr Sub_9C7D ; CPU:$EC8B PRG:6C8B 20 7D 9C - jsr Sub_EC94 ; CPU:$EC8E PRG:6C8E 20 94 EC - jmp Sub_EBFB ; CPU:$EC91 PRG:6C91 4C FB EB -; ----------------------------------------------------------------------------- -; Routine: Sub_EC94 -; Global: Branch target inside Label: taken when EC94. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_EC94: - jsr Sub_9B1F ; CPU:$EC94 PRG:6C94 20 1F 9B - beq NmiHandler_Loop554 ; CPU:$EC97 PRG:6C97 F0 1D - lda $0336,x ; CPU:$EC99 PRG:6C99 BD 36 03 - and #$02 ; CPU:$EC9C PRG:6C9C 29 02 - bne NmiHandler_Loop553 ; CPU:$EC9E PRG:6C9E D0 0B - lda #$86 ; CPU:$ECA0 PRG:6CA0 A9 86 - sta Zp73 ; CPU:$ECA2 PRG:6CA2 85 73 - lda #$F2 ; CPU:$ECA4 PRG:6CA4 A9 F2 - sta Zp74 ; CPU:$ECA6 PRG:6CA6 85 74 - jmp Sub_8334 ; CPU:$ECA8 PRG:6CA8 4C 34 83 + lda SpriteIndex,x ; CPU:$EC4A PRG:6C4A B5 B7 + and #$10 ; CPU:$EC4C PRG:6C4C 29 10 + beq NmiHandler_Loop553 ; CPU:$EC4E PRG:6C4E F0 08 + jsr Sub_9B81 ; CPU:$EC50 PRG:6C50 20 81 9B + bcc NmiHandler_Loop555 ; CPU:$EC53 PRG:6C53 90 15 + jmp Sub_EE79 ; CPU:$EC55 PRG:6C55 4C 79 EE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop553 -; Global: Branch target inside Label: taken when ECAB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop553. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop553: - lda #$FC ; CPU:$ECAB PRG:6CAB A9 FC - sta Zp73 ; CPU:$ECAD PRG:6CAD 85 73 - lda #$F2 ; CPU:$ECAF PRG:6CAF A9 F2 - sta Zp74 ; CPU:$ECB1 PRG:6CB1 85 74 - jmp Sub_8334 ; CPU:$ECB3 PRG:6CB3 4C 34 83 + lda SpriteIndex,x ; CPU:$EC58 PRG:6C58 B5 B7 + and #$14 ; CPU:$EC5A PRG:6C5A 29 14 + beq NmiHandler_Loop554 ; CPU:$EC5C PRG:6C5C F0 04 + and #$10 ; CPU:$EC5E PRG:6C5E 29 10 + beq NmiHandler_Loop555 ; CPU:$EC60 PRG:6C60 F0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop554 -; Global: Branch target inside Label: taken when ECB6. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop554. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop554: - lda $0336,x ; CPU:$ECB6 PRG:6CB6 BD 36 03 - and #$02 ; CPU:$ECB9 PRG:6CB9 29 02 - bne NmiHandler_Loop555 ; CPU:$ECBB PRG:6CBB D0 0B - lda #$8A ; CPU:$ECBD PRG:6CBD A9 8A - sta Zp73 ; CPU:$ECBF PRG:6CBF 85 73 - lda #$F2 ; CPU:$ECC1 PRG:6CC1 A9 F2 - sta Zp74 ; CPU:$ECC3 PRG:6CC3 85 74 - jmp Sub_8334 ; CPU:$ECC5 PRG:6CC5 4C 34 83 + jsr Sub_9BBB ; CPU:$EC62 PRG:6C62 20 BB 9B + bcc NmiHandler_Loop555 ; CPU:$EC65 PRG:6C65 90 03 + jmp Sub_EE79 ; CPU:$EC67 PRG:6C67 4C 79 EE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop555 -; Global: Branch target inside Label: taken when ECC8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop555. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop555: - lda #$02 ; CPU:$ECC8 PRG:6CC8 A9 02 - sta Zp73 ; CPU:$ECCA PRG:6CCA 85 73 - lda #$F3 ; CPU:$ECCC PRG:6CCC A9 F3 - sta Zp74 ; CPU:$ECCE PRG:6CCE 85 74 - jmp Sub_8334 ; CPU:$ECD0 PRG:6CD0 4C 34 83 -; ----------------------------------------------------------------------------- -; Routine: Sub_ECD3 -; Global: Branch target inside Label: taken when ECD3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_ECD3: - jsr Sub_9B1F ; CPU:$ECD3 PRG:6CD3 20 1F 9B - beq NmiHandler_Loop556 ; CPU:$ECD6 PRG:6CD6 F0 0B - lda #$9A ; CPU:$ECD8 PRG:6CD8 A9 9A - sta Zp73 ; CPU:$ECDA PRG:6CDA 85 73 - lda #$F2 ; CPU:$ECDC PRG:6CDC A9 F2 - sta Zp74 ; CPU:$ECDE PRG:6CDE 85 74 - jmp Sub_8334 ; CPU:$ECE0 PRG:6CE0 4C 34 83 + jsr Sub_F022 ; CPU:$EC6A PRG:6C6A 20 22 F0 + bcc NmiHandler_Loop556 ; CPU:$EC6D PRG:6C6D 90 03 + jmp Sub_ED72 ; CPU:$EC6F PRG:6C6F 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop556 -; Global: Branch target inside Label: taken when ECE3. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop556. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop556: + jsr Sub_9B03 ; CPU:$EC72 PRG:6C72 20 03 9B + jsr Sub_99E7 ; CPU:$EC75 PRG:6C75 20 E7 99 + jsr Sub_EF44 ; CPU:$EC78 PRG:6C78 20 44 EF + bcc NmiHandler_Loop557 ; CPU:$EC7B PRG:6C7B 90 03 + jmp NmiHandler_Loop571 ; CPU:$EC7D PRG:6C7D 4C AA ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop557 +; Global: Branch target inside NmiHandler: taken when Loop557. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop557: + jsr Sub_8358 ; CPU:$EC80 PRG:6C80 20 58 83 + bcc NmiHandler_Loop558 ; CPU:$EC83 PRG:6C83 90 03 + jsr Sub_EC94 ; CPU:$EC85 PRG:6C85 20 94 EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop558 +; Global: Branch target inside NmiHandler: taken when Loop558. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop558: + jmp Sub_EBFB ; CPU:$EC88 PRG:6C88 4C FB EB +; ----------------------------------------------------------------------------- +; Routine: Sub_EC8B +; Global: Branch target inside Sub: taken when EC8B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC8B: + jsr Sub_9C7D ; CPU:$EC8B PRG:6C8B 20 7D 9C + jsr Sub_EC94 ; CPU:$EC8E PRG:6C8E 20 94 EC + jmp Sub_EBFB ; CPU:$EC91 PRG:6C91 4C FB EB +; ----------------------------------------------------------------------------- +; Routine: Sub_EC94 +; Global: Branch target inside Sub: taken when EC94. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC94: + jsr Sub_9B1F ; CPU:$EC94 PRG:6C94 20 1F 9B + beq NmiHandler_Loop560 ; CPU:$EC97 PRG:6C97 F0 1D + lda $0336,x ; CPU:$EC99 PRG:6C99 BD 36 03 + and #$02 ; CPU:$EC9C PRG:6C9C 29 02 + bne NmiHandler_Loop559 ; CPU:$EC9E PRG:6C9E D0 0B + lda #$86 ; CPU:$ECA0 PRG:6CA0 A9 86 + sta VramWritePtrLo ; CPU:$ECA2 PRG:6CA2 85 73 + lda #$F2 ; CPU:$ECA4 PRG:6CA4 A9 F2 + sta VramWritePtrHi ; CPU:$ECA6 PRG:6CA6 85 74 + jmp Sub_8334 ; CPU:$ECA8 PRG:6CA8 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop559 +; Global: Branch target inside NmiHandler: taken when Loop559. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop559: + lda #$FC ; CPU:$ECAB PRG:6CAB A9 FC + sta VramWritePtrLo ; CPU:$ECAD PRG:6CAD 85 73 + lda #$F2 ; CPU:$ECAF PRG:6CAF A9 F2 + sta VramWritePtrHi ; CPU:$ECB1 PRG:6CB1 85 74 + jmp Sub_8334 ; CPU:$ECB3 PRG:6CB3 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop560 +; Global: Branch target inside NmiHandler: taken when Loop560. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop560: + lda $0336,x ; CPU:$ECB6 PRG:6CB6 BD 36 03 + and #$02 ; CPU:$ECB9 PRG:6CB9 29 02 + bne NmiHandler_Loop561 ; CPU:$ECBB PRG:6CBB D0 0B + lda #$8A ; CPU:$ECBD PRG:6CBD A9 8A + sta VramWritePtrLo ; CPU:$ECBF PRG:6CBF 85 73 + lda #$F2 ; CPU:$ECC1 PRG:6CC1 A9 F2 + sta VramWritePtrHi ; CPU:$ECC3 PRG:6CC3 85 74 + jmp Sub_8334 ; CPU:$ECC5 PRG:6CC5 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop561 +; Global: Branch target inside NmiHandler: taken when Loop561. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop561: + lda #$02 ; CPU:$ECC8 PRG:6CC8 A9 02 + sta VramWritePtrLo ; CPU:$ECCA PRG:6CCA 85 73 + lda #$F3 ; CPU:$ECCC PRG:6CCC A9 F3 + sta VramWritePtrHi ; CPU:$ECCE PRG:6CCE 85 74 + jmp Sub_8334 ; CPU:$ECD0 PRG:6CD0 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_ECD3 +; Global: Branch target inside Sub: taken when ECD3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ECD3: + jsr Sub_9B1F ; CPU:$ECD3 PRG:6CD3 20 1F 9B + beq NmiHandler_Loop562 ; CPU:$ECD6 PRG:6CD6 F0 0B + lda #$9A ; CPU:$ECD8 PRG:6CD8 A9 9A + sta VramWritePtrLo ; CPU:$ECDA PRG:6CDA 85 73 + lda #$F2 ; CPU:$ECDC PRG:6CDC A9 F2 + sta VramWritePtrHi ; CPU:$ECDE PRG:6CDE 85 74 + jmp Sub_8334 ; CPU:$ECE0 PRG:6CE0 4C 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop562 +; Global: Branch target inside NmiHandler: taken when Loop562. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop562: lda #$96 ; CPU:$ECE3 PRG:6CE3 A9 96 - sta Zp73 ; CPU:$ECE5 PRG:6CE5 85 73 + sta VramWritePtrLo ; CPU:$ECE5 PRG:6CE5 85 73 lda #$F2 ; CPU:$ECE7 PRG:6CE7 A9 F2 - sta Zp74 ; CPU:$ECE9 PRG:6CE9 85 74 - jmp Sub_8334 ; CPU:$ECEB PRG:6CEB 4C 34 83 + sta VramWritePtrHi ; CPU:$ECE9 PRG:6CE9 85 74 + jmp Sub_8334 ; CPU:$ECEB PRG:6CEB 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_ECEE -; Global: Branch target inside Label: taken when ECEE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when ECEE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_ECEE: - jsr Sub_ECFA ; CPU:$ECEE PRG:6CEE 20 FA EC - jmp NmiHandler_OnZero18 ; CPU:$ECF1 PRG:6CF1 4C F9 E9 + jsr Sub_ECFA ; CPU:$ECEE PRG:6CEE 20 FA EC + jmp NmiHandler_OnZero19 ; CPU:$ECF1 PRG:6CF1 4C F9 E9 ; ----------------------------------------------------------------------------- ; Routine: Sub_ECF4 -; Global: Branch target inside Label: taken when ECF4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when ECF4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_ECF4: - jsr Sub_ECFA ; CPU:$ECF4 PRG:6CF4 20 FA EC - jmp NmiHandler_OnZero17 ; CPU:$ECF7 PRG:6CF7 4C D2 E8 + jsr Sub_ECFA ; CPU:$ECF4 PRG:6CF4 20 FA EC + jmp NmiHandler_OnZero18 ; CPU:$ECF7 PRG:6CF7 4C D2 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_ECFA -; Global: Branch target inside Label: taken when ECFA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when ECFA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -17457,213 +17976,213 @@ Sub_ECF4: Sub_ECFA: lda #$04 ; CPU:$ECFA PRG:6CFA A9 04 sta $0390,x ; CPU:$ECFC PRG:6CFC 9D 90 03 - jsr Sub_ECD3 ; CPU:$ECFF PRG:6CFF 20 D3 EC + jsr Sub_ECD3 ; CPU:$ECFF PRG:6CFF 20 D3 EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear37 -; Global: Branch target inside Label: taken when ED02. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear46 +; Global: Branch target inside NmiHandler: taken when OnCarryClear46. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear37: - jsr Sub_E2D7 ; CPU:$ED02 PRG:6D02 20 D7 E2 - beq NmiHandler_Loop557 ; CPU:$ED05 PRG:6D05 F0 03 - jmp Sub_ED72 ; CPU:$ED07 PRG:6D07 4C 72 ED -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop557 -; Global: Branch target inside Label: taken when ED0A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop557: - jsr Sub_DFF1 ; CPU:$ED0A PRG:6D0A 20 F1 DF - ldy $0390,x ; CPU:$ED0D PRG:6D0D BC 90 03 - lda $F27A,y ; CPU:$ED10 PRG:6D10 B9 7A F2 - clc ; CPU:$ED13 PRG:6D13 18 - adc $0303,x ; CPU:$ED14 PRG:6D14 7D 03 03 - dec $0390,x ; CPU:$ED17 PRG:6D17 DE 90 03 - beq NmiHandler_Loop558 ; CPU:$ED1A PRG:6D1A F0 05 - jsr Sub_8358 ; CPU:$ED1C PRG:6D1C 20 58 83 - bcc NmiHandler_OnCarryClear37 ; CPU:$ED1F PRG:6D1F 90 E1 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop558 -; Global: Branch target inside Label: taken when ED21. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop558: - jmp Sub_EE2B ; CPU:$ED21 PRG:6D21 4C 2B EE -; ----------------------------------------------------------------------------- -; Routine: Sub_ED24 -; Global: Branch target inside Label: taken when ED24. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_ED24: - jsr Sub_97FE ; CPU:$ED24 PRG:6D24 20 FE 97 - bcc NmiHandler_Loop562 ; CPU:$ED27 PRG:6D27 90 43 - jsr Sub_9891 ; CPU:$ED29 PRG:6D29 20 91 98 - bcc NmiHandler_Loop561 ; CPU:$ED2C PRG:6D2C 90 2D - sta ZpA1 ; CPU:$ED2E PRG:6D2E 85 A1 - cmp #$00 ; CPU:$ED30 PRG:6D30 C9 00 - beq NmiHandler_Loop559 ; CPU:$ED32 PRG:6D32 F0 08 - lda ZpF7 ; CPU:$ED34 PRG:6D34 A5 F7 - lsr a ; CPU:$ED36 PRG:6D36 4A - lsr a ; CPU:$ED37 PRG:6D37 4A - cmp #$0A ; CPU:$ED38 PRG:6D38 C9 0A - bcc NmiHandler_Loop563 ; CPU:$ED3A PRG:6D3A 90 33 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop559 -; Global: Branch target inside Label: taken when ED3C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop559: - lda ZpEC ; CPU:$ED3C PRG:6D3C A5 EC - beq NmiHandler_Loop563 ; CPU:$ED3E PRG:6D3E F0 2F - lda ZpA1 ; CPU:$ED40 PRG:6D40 A5 A1 - jsr Sub_DA1A ; CPU:$ED42 PRG:6D42 20 1A DA - lda ZpB7,x ; CPU:$ED45 PRG:6D45 B5 B7 - and #$10 ; CPU:$ED47 PRG:6D47 29 10 - bne NmiHandler_Loop560 ; CPU:$ED49 PRG:6D49 D0 0B - ldy $03D7,x ; CPU:$ED4B PRG:6D4B BC D7 03 - lda $04B1,y ; CPU:$ED4E PRG:6D4E B9 B1 04 - ora #$80 ; CPU:$ED51 PRG:6D51 09 80 - sta $04B1,y ; CPU:$ED53 PRG:6D53 99 B1 04 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop560 -; Global: Branch target inside Label: taken when ED56. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop560: - pla ; CPU:$ED56 PRG:6D56 68 - pla ; CPU:$ED57 PRG:6D57 68 - jmp Sub_ECEE ; CPU:$ED58 PRG:6D58 4C EE EC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop561 -; Global: Branch target inside Label: taken when ED5B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop561: - cmp #$00 ; CPU:$ED5B PRG:6D5B C9 00 - bne NmiHandler_Loop563 ; CPU:$ED5D PRG:6D5D D0 10 - ldy $03D7,x ; CPU:$ED5F PRG:6D5F BC D7 03 - lda ZpE5,x ; CPU:$ED62 PRG:6D62 B5 E5 - cmp $04CB,y ; CPU:$ED64 PRG:6D64 D9 CB 04 - beq NmiHandler_Loop562 ; CPU:$ED67 PRG:6D67 F0 03 - ldy #$00 ; CPU:$ED69 PRG:6D69 A0 00 - rts ; CPU:$ED6B PRG:6D6B 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop562 -; Global: Branch target inside Label: taken when ED6C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop562: - ldy #$01 ; CPU:$ED6C PRG:6D6C A0 01 - rts ; CPU:$ED6E PRG:6D6E 60 +NmiHandler_OnCarryClear46: + jsr Sub_E2D7 ; CPU:$ED02 PRG:6D02 20 D7 E2 + beq NmiHandler_Loop563 ; CPU:$ED05 PRG:6D05 F0 03 + jmp Sub_ED72 ; CPU:$ED07 PRG:6D07 4C 72 ED ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop563 -; Global: Branch target inside Label: taken when ED6F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop563. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop563: - ldy #$02 ; CPU:$ED6F PRG:6D6F A0 02 - rts ; CPU:$ED71 PRG:6D71 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_ED72 -; Global: Branch target inside Label: taken when ED72. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_ED72: - lda ZpB7,x ; CPU:$ED72 PRG:6D72 B5 B7 - ora #$01 ; CPU:$ED74 PRG:6D74 09 01 - sta ZpB7,x ; CPU:$ED76 PRG:6D76 95 B7 - lda #$25 ; CPU:$ED78 PRG:6D78 A9 25 - jsr Sub_F6DB ; CPU:$ED7A PRG:6D7A 20 DB F6 - jsr Sub_9B1F ; CPU:$ED7D PRG:6D7D 20 1F 9B - beq NmiHandler_Loop564 ; CPU:$ED80 PRG:6D80 F0 0B - lda #$1A ; CPU:$ED82 PRG:6D82 A9 1A - sta Zp73 ; CPU:$ED84 PRG:6D84 85 73 - lda #$F3 ; CPU:$ED86 PRG:6D86 A9 F3 - sta Zp74 ; CPU:$ED88 PRG:6D88 85 74 - jmp Sub_ED95 ; CPU:$ED8A PRG:6D8A 4C 95 ED + jsr Sub_DFF1 ; CPU:$ED0A PRG:6D0A 20 F1 DF + ldy $0390,x ; CPU:$ED0D PRG:6D0D BC 90 03 + lda $F27A,y ; CPU:$ED10 PRG:6D10 B9 7A F2 + clc ; CPU:$ED13 PRG:6D13 18 + adc $0303,x ; CPU:$ED14 PRG:6D14 7D 03 03 + dec $0390,x ; CPU:$ED17 PRG:6D17 DE 90 03 + beq NmiHandler_Loop564 ; CPU:$ED1A PRG:6D1A F0 05 + jsr Sub_8358 ; CPU:$ED1C PRG:6D1C 20 58 83 + bcc NmiHandler_OnCarryClear46 ; CPU:$ED1F PRG:6D1F 90 E1 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop564 -; Global: Branch target inside Label: taken when ED8D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop564. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop564: - lda #$08 ; CPU:$ED8D PRG:6D8D A9 08 - sta Zp73 ; CPU:$ED8F PRG:6D8F 85 73 - lda #$F3 ; CPU:$ED91 PRG:6D91 A9 F3 - sta Zp74 ; CPU:$ED93 PRG:6D93 85 74 + jmp Sub_EE2B ; CPU:$ED21 PRG:6D21 4C 2B EE ; ----------------------------------------------------------------------------- -; Routine: Sub_ED95 -; Global: Branch target inside Label: taken when ED95. -; Local: Part of Label. +; Routine: Sub_ED24 +; Global: Branch target inside Sub: taken when ED24. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_ED95: - jsr Sub_8334 ; CPU:$ED95 PRG:6D95 20 34 83 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear38 -; Global: Branch target inside Label: taken when ED98. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear38: - jsr Sub_9B03 ; CPU:$ED98 PRG:6D98 20 03 9B - jsr Sub_EF44 ; CPU:$ED9B PRG:6D9B 20 44 EF - bcs NmiHandler_Loop565 ; CPU:$ED9E PRG:6D9E B0 0A - jsr Sub_8358 ; CPU:$EDA0 PRG:6DA0 20 58 83 - bcc NmiHandler_OnCarryClear38 ; CPU:$EDA3 PRG:6DA3 90 F3 - lda #$26 ; CPU:$EDA5 PRG:6DA5 A9 26 - jsr Sub_F6DB ; CPU:$EDA7 PRG:6DA7 20 DB F6 +Sub_ED24: + jsr Sub_97FE ; CPU:$ED24 PRG:6D24 20 FE 97 + bcc NmiHandler_Loop568 ; CPU:$ED27 PRG:6D27 90 43 + jsr Sub_9891 ; CPU:$ED29 PRG:6D29 20 91 98 + bcc NmiHandler_Loop567 ; CPU:$ED2C PRG:6D2C 90 2D + sta ZpA1 ; CPU:$ED2E PRG:6D2E 85 A1 + cmp #$00 ; CPU:$ED30 PRG:6D30 C9 00 + beq NmiHandler_Loop565 ; CPU:$ED32 PRG:6D32 F0 08 + lda ZpF7 ; CPU:$ED34 PRG:6D34 A5 F7 + lsr a ; CPU:$ED36 PRG:6D36 4A + lsr a ; CPU:$ED37 PRG:6D37 4A + cmp #$0A ; CPU:$ED38 PRG:6D38 C9 0A + bcc NmiHandler_Loop569 ; CPU:$ED3A PRG:6D3A 90 33 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop565 -; Global: Branch target inside Label: taken when EDAA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop565. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop565: - jmp Sub_EF30 ; CPU:$EDAA PRG:6DAA 4C 30 EF + lda ZpEC ; CPU:$ED3C PRG:6D3C A5 EC + beq NmiHandler_Loop569 ; CPU:$ED3E PRG:6D3E F0 2F + lda ZpA1 ; CPU:$ED40 PRG:6D40 A5 A1 + jsr Sub_DA1A ; CPU:$ED42 PRG:6D42 20 1A DA + lda SpriteIndex,x ; CPU:$ED45 PRG:6D45 B5 B7 + and #$10 ; CPU:$ED47 PRG:6D47 29 10 + bne NmiHandler_Loop566 ; CPU:$ED49 PRG:6D49 D0 0B + ldy $03D7,x ; CPU:$ED4B PRG:6D4B BC D7 03 + lda $04B1,y ; CPU:$ED4E PRG:6D4E B9 B1 04 + ora #$80 ; CPU:$ED51 PRG:6D51 09 80 + sta $04B1,y ; CPU:$ED53 PRG:6D53 99 B1 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop566 +; Global: Branch target inside NmiHandler: taken when Loop566. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop566: + pla ; CPU:$ED56 PRG:6D56 68 + pla ; CPU:$ED57 PRG:6D57 68 + jmp Sub_ECEE ; CPU:$ED58 PRG:6D58 4C EE EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop567 +; Global: Branch target inside NmiHandler: taken when Loop567. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop567: + cmp #$00 ; CPU:$ED5B PRG:6D5B C9 00 + bne NmiHandler_Loop569 ; CPU:$ED5D PRG:6D5D D0 10 + ldy $03D7,x ; CPU:$ED5F PRG:6D5F BC D7 03 + lda ZpE5,x ; CPU:$ED62 PRG:6D62 B5 E5 + cmp $04CB,y ; CPU:$ED64 PRG:6D64 D9 CB 04 + beq NmiHandler_Loop568 ; CPU:$ED67 PRG:6D67 F0 03 + ldy #$00 ; CPU:$ED69 PRG:6D69 A0 00 + rts ; CPU:$ED6B PRG:6D6B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop568 +; Global: Branch target inside NmiHandler: taken when Loop568. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop568: + ldy #$01 ; CPU:$ED6C PRG:6D6C A0 01 + rts ; CPU:$ED6E PRG:6D6E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop569 +; Global: Branch target inside NmiHandler: taken when Loop569. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop569: + ldy #$02 ; CPU:$ED6F PRG:6D6F A0 02 + rts ; CPU:$ED71 PRG:6D71 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED72 +; Global: Branch target inside Sub: taken when ED72. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED72: + lda SpriteIndex,x ; CPU:$ED72 PRG:6D72 B5 B7 + ora #$01 ; CPU:$ED74 PRG:6D74 09 01 + sta SpriteIndex,x ; CPU:$ED76 PRG:6D76 95 B7 + lda #$25 ; CPU:$ED78 PRG:6D78 A9 25 + jsr Sub_F6DB ; CPU:$ED7A PRG:6D7A 20 DB F6 + jsr Sub_9B1F ; CPU:$ED7D PRG:6D7D 20 1F 9B + beq NmiHandler_Loop570 ; CPU:$ED80 PRG:6D80 F0 0B + lda #$1A ; CPU:$ED82 PRG:6D82 A9 1A + sta VramWritePtrLo ; CPU:$ED84 PRG:6D84 85 73 + lda #$F3 ; CPU:$ED86 PRG:6D86 A9 F3 + sta VramWritePtrHi ; CPU:$ED88 PRG:6D88 85 74 + jmp Sub_ED95 ; CPU:$ED8A PRG:6D8A 4C 95 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop570 +; Global: Branch target inside NmiHandler: taken when Loop570. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop570: + lda #$08 ; CPU:$ED8D PRG:6D8D A9 08 + sta VramWritePtrLo ; CPU:$ED8F PRG:6D8F 85 73 + lda #$F3 ; CPU:$ED91 PRG:6D91 A9 F3 + sta VramWritePtrHi ; CPU:$ED93 PRG:6D93 85 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED95 +; Global: Branch target inside Sub: taken when ED95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED95: + jsr Sub_8334 ; CPU:$ED95 PRG:6D95 20 34 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear47 +; Global: Branch target inside NmiHandler: taken when OnCarryClear47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear47: + jsr Sub_9B03 ; CPU:$ED98 PRG:6D98 20 03 9B + jsr Sub_EF44 ; CPU:$ED9B PRG:6D9B 20 44 EF + bcs NmiHandler_Loop571 ; CPU:$ED9E PRG:6D9E B0 0A + jsr Sub_8358 ; CPU:$EDA0 PRG:6DA0 20 58 83 + bcc NmiHandler_OnCarryClear47 ; CPU:$EDA3 PRG:6DA3 90 F3 + lda #$26 ; CPU:$EDA5 PRG:6DA5 A9 26 + jsr Sub_F6DB ; CPU:$EDA7 PRG:6DA7 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop571 +; Global: Branch target inside NmiHandler: taken when Loop571. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop571: + jmp Sub_EF30 ; CPU:$EDAA PRG:6DAA 4C 30 EF ; ----------------------------------------------------------------------------- ; Routine: Sub_EDAD -; Global: Branch target inside Label: taken when EDAD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EDAD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -17671,92 +18190,92 @@ NmiHandler_Loop565: Sub_EDAD: lda $0336,x ; CPU:$EDAD PRG:6DAD BD 36 03 and #$04 ; CPU:$EDB0 PRG:6DB0 29 04 - bne NmiHandler_Loop568 ; CPU:$EDB2 PRG:6DB2 D0 24 + bne NmiHandler_Loop574 ; CPU:$EDB2 PRG:6DB2 D0 24 lda $0390,x ; CPU:$EDB4 PRG:6DB4 BD 90 03 - beq NmiHandler_Loop566 ; CPU:$EDB7 PRG:6DB7 F0 05 + beq NmiHandler_Loop572 ; CPU:$EDB7 PRG:6DB7 F0 05 dec $0390,x ; CPU:$EDB9 PRG:6DB9 DE 90 03 clc ; CPU:$EDBC PRG:6DBC 18 rts ; CPU:$EDBD PRG:6DBD 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop566 -; Global: Branch target inside Label: taken when EDBE. -; Local: Part of Label. +; Routine: NmiHandler_Loop572 +; Global: Branch target inside NmiHandler: taken when Loop572. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop566: +NmiHandler_Loop572: lda ZpEC ; CPU:$EDBE PRG:6DBE A5 EC cmp ZpE5,x ; CPU:$EDC0 PRG:6DC0 D5 E5 - beq NmiHandler_Loop567 ; CPU:$EDC2 PRG:6DC2 F0 07 + beq NmiHandler_Loop573 ; CPU:$EDC2 PRG:6DC2 F0 07 lda #$00 ; CPU:$EDC4 PRG:6DC4 A9 00 sta $0390,x ; CPU:$EDC6 PRG:6DC6 9D 90 03 clc ; CPU:$EDC9 PRG:6DC9 18 rts ; CPU:$EDCA PRG:6DCA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop567 -; Global: Branch target inside Label: taken when EDCB. -; Local: Part of Label. +; Routine: NmiHandler_Loop573 +; Global: Branch target inside NmiHandler: taken when Loop573. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop567: +NmiHandler_Loop573: lda $0336,x ; CPU:$EDCB PRG:6DCB BD 36 03 ora #$04 ; CPU:$EDCE PRG:6DCE 09 04 sta $0336,x ; CPU:$EDD0 PRG:6DD0 9D 36 03 - jsr Sub_EE2B ; CPU:$EDD3 PRG:6DD3 20 2B EE + jsr Sub_EE2B ; CPU:$EDD3 PRG:6DD3 20 2B EE clc ; CPU:$EDD6 PRG:6DD6 18 rts ; CPU:$EDD7 PRG:6DD7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop568 -; Global: Branch target inside Label: taken when EDD8. -; Local: Part of Label. +; Routine: NmiHandler_Loop574 +; Global: Branch target inside NmiHandler: taken when Loop574. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop568: +NmiHandler_Loop574: lda $0390,x ; CPU:$EDD8 PRG:6DD8 BD 90 03 - beq NmiHandler_Loop569 ; CPU:$EDDB PRG:6DDB F0 05 + beq NmiHandler_Loop575 ; CPU:$EDDB PRG:6DDB F0 05 dec $0390,x ; CPU:$EDDD PRG:6DDD DE 90 03 clc ; CPU:$EDE0 PRG:6DE0 18 rts ; CPU:$EDE1 PRG:6DE1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop569 -; Global: Branch target inside Label: taken when EDE2. -; Local: Part of Label. +; Routine: NmiHandler_Loop575 +; Global: Branch target inside NmiHandler: taken when Loop575. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop569: +NmiHandler_Loop575: ldy #$00 ; CPU:$EDE2 PRG:6DE2 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero91 -; Global: Branch target inside Label: taken when EDE4. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero92 +; Global: Branch target inside NmiHandler: taken when OnNonzero92. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero91: +NmiHandler_OnNonzero92: lda a:ZpB7,y ; CPU:$EDE4 PRG:6DE4 B9 B7 00 - beq NmiHandler_Loop570 ; CPU:$EDE7 PRG:6DE7 F0 07 + beq NmiHandler_Loop576 ; CPU:$EDE7 PRG:6DE7 F0 07 iny ; CPU:$EDE9 PRG:6DE9 C8 cpy #$03 ; CPU:$EDEA PRG:6DEA C0 03 - bne NmiHandler_OnNonzero91 ; CPU:$EDEC PRG:6DEC D0 F6 + bne NmiHandler_OnNonzero92 ; CPU:$EDEC PRG:6DEC D0 F6 clc ; CPU:$EDEE PRG:6DEE 18 rts ; CPU:$EDEF PRG:6DEF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop570 -; Global: Branch target inside Label: taken when EDF0. -; Local: Part of Label. +; Routine: NmiHandler_Loop576 +; Global: Branch target inside NmiHandler: taken when Loop576. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop570: +NmiHandler_Loop576: lda #$80 ; CPU:$EDF0 PRG:6DF0 A9 80 sta a:ZpB7,y ; CPU:$EDF2 PRG:6DF2 99 B7 00 lda ZpF7 ; CPU:$EDF5 PRG:6DF5 A5 F7 @@ -17764,51 +18283,51 @@ NmiHandler_Loop570: lsr a ; CPU:$EDF8 PRG:6DF8 4A lsr a ; CPU:$EDF9 PRG:6DF9 4A lsr a ; CPU:$EDFA PRG:6DFA 4A - sta Zp6F ; CPU:$EDFB PRG:6DFB 85 6F - jsr Sub_9B1F ; CPU:$EDFD PRG:6DFD 20 1F 9B - bne NmiHandler_Loop571 ; CPU:$EE00 PRG:6E00 D0 0E + sta PlayerSpriteX ; CPU:$EDFB PRG:6DFB 85 6F + jsr Sub_9B1F ; CPU:$EDFD PRG:6DFD 20 1F 9B + bne NmiHandler_Loop577 ; CPU:$EE00 PRG:6E00 D0 0E lda #$FA ; CPU:$EE02 PRG:6E02 A9 FA sec ; CPU:$EE04 PRG:6E04 38 - sbc Zp6F ; CPU:$EE05 PRG:6E05 E5 6F + sbc PlayerSpriteX ; CPU:$EE05 PRG:6E05 E5 6F cmp #$F8 ; CPU:$EE07 PRG:6E07 C9 F8 - bcs NmiHandler_Loop572 ; CPU:$EE09 PRG:6E09 B0 10 + bcs NmiHandler_Loop578 ; CPU:$EE09 PRG:6E09 B0 10 lda #$F8 ; CPU:$EE0B PRG:6E0B A9 F8 - jmp NmiHandler_Loop572 ; CPU:$EE0D PRG:6E0D 4C 1B EE + jmp NmiHandler_Loop578 ; CPU:$EE0D PRG:6E0D 4C 1B EE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop571 -; Global: Branch target inside Label: taken when EE10. -; Local: Part of Label. +; Routine: NmiHandler_Loop577 +; Global: Branch target inside NmiHandler: taken when Loop577. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop571: +NmiHandler_Loop577: lda #$06 ; CPU:$EE10 PRG:6E10 A9 06 clc ; CPU:$EE12 PRG:6E12 18 - adc Zp6F ; CPU:$EE13 PRG:6E13 65 6F + adc PlayerSpriteX ; CPU:$EE13 PRG:6E13 65 6F cmp #$08 ; CPU:$EE15 PRG:6E15 C9 08 - bcc NmiHandler_Loop572 ; CPU:$EE17 PRG:6E17 90 02 + bcc NmiHandler_Loop578 ; CPU:$EE17 PRG:6E17 90 02 lda #$08 ; CPU:$EE19 PRG:6E19 A9 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop572 -; Global: Branch target inside Label: taken when EE1B. -; Local: Part of Label. +; Routine: NmiHandler_Loop578 +; Global: Branch target inside NmiHandler: taken when Loop578. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop572: +NmiHandler_Loop578: sta a:ZpD9,y ; CPU:$EE1B PRG:6E1B 99 D9 00 lda $0336,x ; CPU:$EE1E PRG:6E1E BD 36 03 and #$FB ; CPU:$EE21 PRG:6E21 29 FB sta $0336,x ; CPU:$EE23 PRG:6E23 9D 36 03 - jsr Sub_EE2B ; CPU:$EE26 PRG:6E26 20 2B EE + jsr Sub_EE2B ; CPU:$EE26 PRG:6E26 20 2B EE sec ; CPU:$EE29 PRG:6E29 38 rts ; CPU:$EE2A PRG:6E2A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE2B -; Global: Branch target inside Label: taken when EE2B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE2B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -17816,327 +18335,327 @@ NmiHandler_Loop572: Sub_EE2B: lda ZpF7 ; CPU:$EE2B PRG:6E2B A5 F7 lsr a ; CPU:$EE2D PRG:6E2D 4A - sta Zp6F ; CPU:$EE2E PRG:6E2E 85 6F + sta PlayerSpriteX ; CPU:$EE2E PRG:6E2E 85 6F lda #$1E ; CPU:$EE30 PRG:6E30 A9 1E clc ; CPU:$EE32 PRG:6E32 18 - sbc Zp6F ; CPU:$EE33 PRG:6E33 E5 6F - bcs NmiHandler_Loop573 ; CPU:$EE35 PRG:6E35 B0 02 + sbc PlayerSpriteX ; CPU:$EE33 PRG:6E33 E5 6F + bcs NmiHandler_Loop579 ; CPU:$EE35 PRG:6E35 B0 02 lda #$01 ; CPU:$EE37 PRG:6E37 A9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop573 -; Global: Branch target inside Label: taken when EE39. -; Local: Part of Label. +; Routine: NmiHandler_Loop579 +; Global: Branch target inside NmiHandler: taken when Loop579. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop573: +NmiHandler_Loop579: sta $0390,x ; CPU:$EE39 PRG:6E39 9D 90 03 rts ; CPU:$EE3C PRG:6E3C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE3D -; Global: Branch target inside Label: taken when EE3D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE3D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EE3D: - jsr Sub_9C83 ; CPU:$EE3D PRG:6E3D 20 83 9C - jsr Sub_9B1F ; CPU:$EE40 PRG:6E40 20 1F 9B - bne NmiHandler_Loop574 ; CPU:$EE43 PRG:6E43 D0 0D + jsr Sub_9C83 ; CPU:$EE3D PRG:6E3D 20 83 9C + jsr Sub_9B1F ; CPU:$EE40 PRG:6E40 20 1F 9B + bne NmiHandler_Loop580 ; CPU:$EE43 PRG:6E43 D0 0D lda #$C8 ; CPU:$EE45 PRG:6E45 A9 C8 - sta Zp73 ; CPU:$EE47 PRG:6E47 85 73 + sta VramWritePtrLo ; CPU:$EE47 PRG:6E47 85 73 lda #$F2 ; CPU:$EE49 PRG:6E49 A9 F2 - sta Zp74 ; CPU:$EE4B PRG:6E4B 85 74 + sta VramWritePtrHi ; CPU:$EE4B PRG:6E4B 85 74 lda #$FC ; CPU:$EE4D PRG:6E4D A9 FC - jmp Sub_EE5C ; CPU:$EE4F PRG:6E4F 4C 5C EE + jmp Sub_EE5C ; CPU:$EE4F PRG:6E4F 4C 5C EE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop574 -; Global: Branch target inside Label: taken when EE52. -; Local: Part of Label. +; Routine: NmiHandler_Loop580 +; Global: Branch target inside NmiHandler: taken when Loop580. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop574: +NmiHandler_Loop580: lda #$C2 ; CPU:$EE52 PRG:6E52 A9 C2 - sta Zp73 ; CPU:$EE54 PRG:6E54 85 73 + sta VramWritePtrLo ; CPU:$EE54 PRG:6E54 85 73 lda #$F2 ; CPU:$EE56 PRG:6E56 A9 F2 - sta Zp74 ; CPU:$EE58 PRG:6E58 85 74 + sta VramWritePtrHi ; CPU:$EE58 PRG:6E58 85 74 lda #$04 ; CPU:$EE5A PRG:6E5A A9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE5C -; Global: Branch target inside Label: taken when EE5C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE5C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EE5C: clc ; CPU:$EE5C PRG:6E5C 18 - adc ZpC8,x ; CPU:$EE5D PRG:6E5D 75 C8 - sta ZpC8,x ; CPU:$EE5F PRG:6E5F 95 C8 - jsr Sub_8334 ; CPU:$EE61 PRG:6E61 20 34 83 + adc SpriteYPosition,x ; CPU:$EE5D PRG:6E5D 75 C8 + sta SpriteYPosition,x ; CPU:$EE5F PRG:6E5F 95 C8 + jsr Sub_8334 ; CPU:$EE61 PRG:6E61 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE64 -; Global: Branch target inside Label: taken when EE64. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE64. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EE64: - jsr Sub_E1C3 ; CPU:$EE64 PRG:6E64 20 C3 E1 - bcc NmiHandler_Loop576 ; CPU:$EE67 PRG:6E67 90 0A + jsr Sub_E1C3 ; CPU:$EE64 PRG:6E64 20 C3 E1 + bcc NmiHandler_Loop582 ; CPU:$EE67 PRG:6E67 90 0A cmp #$00 ; CPU:$EE69 PRG:6E69 C9 00 - beq NmiHandler_Loop575 ; CPU:$EE6B PRG:6E6B F0 03 - jmp Sub_EF30 ; CPU:$EE6D PRG:6E6D 4C 30 EF + beq NmiHandler_Loop581 ; CPU:$EE6B PRG:6E6B F0 03 + jmp Sub_EF30 ; CPU:$EE6D PRG:6E6D 4C 30 EF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop575 -; Global: Branch target inside Label: taken when EE70. -; Local: Part of Label. +; Routine: NmiHandler_Loop581 +; Global: Branch target inside NmiHandler: taken when Loop581. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop575: - jmp Sub_ED72 ; CPU:$EE70 PRG:6E70 4C 72 ED +NmiHandler_Loop581: + jmp Sub_ED72 ; CPU:$EE70 PRG:6E70 4C 72 ED ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop576 -; Global: Branch target inside Label: taken when EE73. -; Local: Part of Label. +; Routine: NmiHandler_Loop582 +; Global: Branch target inside NmiHandler: taken when Loop582. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop576: - jsr Sub_8358 ; CPU:$EE73 PRG:6E73 20 58 83 - jmp Sub_EE64 ; CPU:$EE76 PRG:6E76 4C 64 EE +NmiHandler_Loop582: + jsr Sub_8358 ; CPU:$EE73 PRG:6E73 20 58 83 + jmp Sub_EE64 ; CPU:$EE76 PRG:6E76 4C 64 EE ; ----------------------------------------------------------------------------- ; Routine: Sub_EE79 -; Global: Branch target inside Label: taken when EE79. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE79. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EE79: lda #$23 ; CPU:$EE79 PRG:6E79 A9 23 - jsr Sub_F6DB ; CPU:$EE7B PRG:6E7B 20 DB F6 + jsr Sub_F6DB ; CPU:$EE7B PRG:6E7B 20 DB F6 lda #$00 ; CPU:$EE7E PRG:6E7E A9 00 sta $0336,x ; CPU:$EE80 PRG:6E80 9D 36 03 - jsr Sub_9B1F ; CPU:$EE83 PRG:6E83 20 1F 9B - beq NmiHandler_Loop577 ; CPU:$EE86 PRG:6E86 F0 0B + jsr Sub_9B1F ; CPU:$EE83 PRG:6E83 20 1F 9B + beq NmiHandler_Loop583 ; CPU:$EE86 PRG:6E86 F0 0B lda #$CE ; CPU:$EE88 PRG:6E88 A9 CE - sta Zp73 ; CPU:$EE8A PRG:6E8A 85 73 + sta VramWritePtrLo ; CPU:$EE8A PRG:6E8A 85 73 lda #$F2 ; CPU:$EE8C PRG:6E8C A9 F2 - sta Zp74 ; CPU:$EE8E PRG:6E8E 85 74 - jmp Sub_EE9B ; CPU:$EE90 PRG:6E90 4C 9B EE + sta VramWritePtrHi ; CPU:$EE8E PRG:6E8E 85 74 + jmp Sub_EE9B ; CPU:$EE90 PRG:6E90 4C 9B EE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop577 -; Global: Branch target inside Label: taken when EE93. -; Local: Part of Label. +; Routine: NmiHandler_Loop583 +; Global: Branch target inside NmiHandler: taken when Loop583. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop577: +NmiHandler_Loop583: lda #$D8 ; CPU:$EE93 PRG:6E93 A9 D8 - sta Zp73 ; CPU:$EE95 PRG:6E95 85 73 + sta VramWritePtrLo ; CPU:$EE95 PRG:6E95 85 73 lda #$F2 ; CPU:$EE97 PRG:6E97 A9 F2 - sta Zp74 ; CPU:$EE99 PRG:6E99 85 74 + sta VramWritePtrHi ; CPU:$EE99 PRG:6E99 85 74 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE9B -; Global: Branch target inside Label: taken when EE9B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EE9B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EE9B: - jsr Sub_8334 ; CPU:$EE9B PRG:6E9B 20 34 83 + jsr Sub_8334 ; CPU:$EE9B PRG:6E9B 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear39 -; Global: Branch target inside Label: taken when EE9E. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear48 +; Global: Branch target inside NmiHandler: taken when OnCarryClear48. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear39: - jsr Sub_EEDF ; CPU:$EE9E PRG:6E9E 20 DF EE - jsr Sub_E291 ; CPU:$EEA1 PRG:6EA1 20 91 E2 - bcc NmiHandler_OnCarryClear39 ; CPU:$EEA4 PRG:6EA4 90 F8 +NmiHandler_OnCarryClear48: + jsr Sub_EEDF ; CPU:$EE9E PRG:6E9E 20 DF EE + jsr Sub_E291 ; CPU:$EEA1 PRG:6EA1 20 91 E2 + bcc NmiHandler_OnCarryClear48 ; CPU:$EEA4 PRG:6EA4 90 F8 lda $0336,x ; CPU:$EEA6 PRG:6EA6 BD 36 03 ora #$01 ; CPU:$EEA9 PRG:6EA9 09 01 sta $0336,x ; CPU:$EEAB PRG:6EAB 9D 36 03 lda #$E2 ; CPU:$EEAE PRG:6EAE A9 E2 - sta Zp73 ; CPU:$EEB0 PRG:6EB0 85 73 + sta VramWritePtrLo ; CPU:$EEB0 PRG:6EB0 85 73 lda #$F2 ; CPU:$EEB2 PRG:6EB2 A9 F2 - sta Zp74 ; CPU:$EEB4 PRG:6EB4 85 74 - jsr Sub_8334 ; CPU:$EEB6 PRG:6EB6 20 34 83 + sta VramWritePtrHi ; CPU:$EEB4 PRG:6EB4 85 74 + jsr Sub_8334 ; CPU:$EEB6 PRG:6EB6 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear40 -; Global: Branch target inside Label: taken when EEB9. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear49 +; Global: Branch target inside NmiHandler: taken when OnCarryClear49. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear40: - jsr Sub_EEDF ; CPU:$EEB9 PRG:6EB9 20 DF EE - jsr Sub_E291 ; CPU:$EEBC PRG:6EBC 20 91 E2 - bcc NmiHandler_OnCarryClear40 ; CPU:$EEBF PRG:6EBF 90 F8 +NmiHandler_OnCarryClear49: + jsr Sub_EEDF ; CPU:$EEB9 PRG:6EB9 20 DF EE + jsr Sub_E291 ; CPU:$EEBC PRG:6EBC 20 91 E2 + bcc NmiHandler_OnCarryClear49 ; CPU:$EEBF PRG:6EBF 90 F8 lda $0336,x ; CPU:$EEC1 PRG:6EC1 BD 36 03 ora #$02 ; CPU:$EEC4 PRG:6EC4 09 02 sta $0336,x ; CPU:$EEC6 PRG:6EC6 9D 36 03 lda #$E6 ; CPU:$EEC9 PRG:6EC9 A9 E6 - sta Zp73 ; CPU:$EECB PRG:6ECB 85 73 + sta VramWritePtrLo ; CPU:$EECB PRG:6ECB 85 73 lda #$F2 ; CPU:$EECD PRG:6ECD A9 F2 - sta Zp74 ; CPU:$EECF PRG:6ECF 85 74 - jsr Sub_8334 ; CPU:$EED1 PRG:6ED1 20 34 83 + sta VramWritePtrHi ; CPU:$EECF PRG:6ECF 85 74 + jsr Sub_8334 ; CPU:$EED1 PRG:6ED1 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear41 -; Global: Branch target inside Label: taken when EED4. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear50 +; Global: Branch target inside NmiHandler: taken when OnCarryClear50. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear41: - jsr Sub_EEDF ; CPU:$EED4 PRG:6ED4 20 DF EE - jsr Sub_E291 ; CPU:$EED7 PRG:6ED7 20 91 E2 - bcc NmiHandler_OnCarryClear41 ; CPU:$EEDA PRG:6EDA 90 F8 - jmp Sub_EF30 ; CPU:$EEDC PRG:6EDC 4C 30 EF +NmiHandler_OnCarryClear50: + jsr Sub_EEDF ; CPU:$EED4 PRG:6ED4 20 DF EE + jsr Sub_E291 ; CPU:$EED7 PRG:6ED7 20 91 E2 + bcc NmiHandler_OnCarryClear50 ; CPU:$EEDA PRG:6EDA 90 F8 + jmp Sub_EF30 ; CPU:$EEDC PRG:6EDC 4C 30 EF ; ----------------------------------------------------------------------------- ; Routine: Sub_EEDF -; Global: Branch target inside Label: taken when EEDF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EEDF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EEDF: - jsr Sub_9B03 ; CPU:$EEDF PRG:6EDF 20 03 9B + jsr Sub_9B03 ; CPU:$EEDF PRG:6EDF 20 03 9B lda $0336,x ; CPU:$EEE2 PRG:6EE2 BD 36 03 - bne NmiHandler_Loop578 ; CPU:$EEE5 PRG:6EE5 D0 0A + bne NmiHandler_Loop584 ; CPU:$EEE5 PRG:6EE5 D0 0A ldy $03D7,x ; CPU:$EEE7 PRG:6EE7 BC D7 03 lda $04B1,y ; CPU:$EEEA PRG:6EEA B9 B1 04 and #$01 ; CPU:$EEED PRG:6EED 29 01 - bne NmiHandler_Loop579 ; CPU:$EEEF PRG:6EEF D0 01 + bne NmiHandler_Loop585 ; CPU:$EEEF PRG:6EEF D0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop578 -; Global: Branch target inside Label: taken when EEF1. -; Local: Part of Label. +; Routine: NmiHandler_Loop584 +; Global: Branch target inside NmiHandler: taken when Loop584. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop578: +NmiHandler_Loop584: rts ; CPU:$EEF1 PRG:6EF1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop579 -; Global: Branch target inside Label: taken when EEF2. -; Local: Part of Label. +; Routine: NmiHandler_Loop585 +; Global: Branch target inside NmiHandler: taken when Loop585. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop579: +NmiHandler_Loop585: lda #$00 ; CPU:$EEF2 PRG:6EF2 A9 00 - sta Zp73 ; CPU:$EEF4 PRG:6EF4 85 73 + sta VramWritePtrLo ; CPU:$EEF4 PRG:6EF4 85 73 lda #$03 ; CPU:$EEF6 PRG:6EF6 A9 03 - sta Zp74 ; CPU:$EEF8 PRG:6EF8 85 74 + sta VramWritePtrHi ; CPU:$EEF8 PRG:6EF8 85 74 sta $0336,x ; CPU:$EEFA PRG:6EFA 9D 36 03 - jmp Sub_C1D5 ; CPU:$EEFD PRG:6EFD 4C D5 C1 + jmp Sub_C1D5 ; CPU:$EEFD PRG:6EFD 4C D5 C1 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF00 -; Global: Branch target inside Label: taken when EF00. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EF00. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EF00: - lda ZpB7,x ; CPU:$EF00 PRG:6F00 B5 B7 + lda SpriteIndex,x ; CPU:$EF00 PRG:6F00 B5 B7 ora #$02 ; CPU:$EF02 PRG:6F02 09 02 - sta ZpB7,x ; CPU:$EF04 PRG:6F04 95 B7 - lda ZpC8,x ; CPU:$EF06 PRG:6F06 B5 C8 - bpl NmiHandler_Loop580 ; CPU:$EF08 PRG:6F08 10 0B + sta SpriteIndex,x ; CPU:$EF04 PRG:6F04 95 B7 + lda SpriteYPosition,x ; CPU:$EF06 PRG:6F06 B5 C8 + bpl NmiHandler_Loop586 ; CPU:$EF08 PRG:6F08 10 0B lda #$66 ; CPU:$EF0A PRG:6F0A A9 66 - sta Zp73 ; CPU:$EF0C PRG:6F0C 85 73 + sta VramWritePtrLo ; CPU:$EF0C PRG:6F0C 85 73 lda #$F3 ; CPU:$EF0E PRG:6F0E A9 F3 - sta Zp74 ; CPU:$EF10 PRG:6F10 85 74 - jmp Sub_EF1D ; CPU:$EF12 PRG:6F12 4C 1D EF + sta VramWritePtrHi ; CPU:$EF10 PRG:6F10 85 74 + jmp Sub_EF1D ; CPU:$EF12 PRG:6F12 4C 1D EF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop580 -; Global: Branch target inside Label: taken when EF15. -; Local: Part of Label. +; Routine: NmiHandler_Loop586 +; Global: Branch target inside NmiHandler: taken when Loop586. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop580: +NmiHandler_Loop586: lda #$38 ; CPU:$EF15 PRG:6F15 A9 38 - sta Zp73 ; CPU:$EF17 PRG:6F17 85 73 + sta VramWritePtrLo ; CPU:$EF17 PRG:6F17 85 73 lda #$F3 ; CPU:$EF19 PRG:6F19 A9 F3 - sta Zp74 ; CPU:$EF1B PRG:6F1B 85 74 + sta VramWritePtrHi ; CPU:$EF1B PRG:6F1B 85 74 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF1D -; Global: Branch target inside Label: taken when EF1D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EF1D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EF1D: - jsr Sub_8334 ; CPU:$EF1D PRG:6F1D 20 34 83 + jsr Sub_8334 ; CPU:$EF1D PRG:6F1D 20 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear42 -; Global: Branch target inside Label: taken when EF20. -; Local: Part of Label. +; Routine: NmiHandler_OnCarryClear51 +; Global: Branch target inside NmiHandler: taken when OnCarryClear51. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear42: - jsr Sub_EF44 ; CPU:$EF20 PRG:6F20 20 44 EF - bcs NmiHandler_Loop581 ; CPU:$EF23 PRG:6F23 B0 08 - jsr Sub_9B03 ; CPU:$EF25 PRG:6F25 20 03 9B - jsr Sub_8358 ; CPU:$EF28 PRG:6F28 20 58 83 - bcc NmiHandler_OnCarryClear42 ; CPU:$EF2B PRG:6F2B 90 F3 +NmiHandler_OnCarryClear51: + jsr Sub_EF44 ; CPU:$EF20 PRG:6F20 20 44 EF + bcs NmiHandler_Loop587 ; CPU:$EF23 PRG:6F23 B0 08 + jsr Sub_9B03 ; CPU:$EF25 PRG:6F25 20 03 9B + jsr Sub_8358 ; CPU:$EF28 PRG:6F28 20 58 83 + bcc NmiHandler_OnCarryClear51 ; CPU:$EF2B PRG:6F2B 90 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop581 -; Global: Branch target inside Label: taken when EF2D. -; Local: Part of Label. +; Routine: NmiHandler_Loop587 +; Global: Branch target inside NmiHandler: taken when Loop587. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop581: - jmp Sub_EF30 ; CPU:$EF2D PRG:6F2D 4C 30 EF +NmiHandler_Loop587: + jmp Sub_EF30 ; CPU:$EF2D PRG:6F2D 4C 30 EF ; ----------------------------------------------------------------------------- ; Routine: Sub_EF30 -; Global: Branch target inside Label: taken when EF30. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EF30. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EF30: - jsr Sub_DBEE ; CPU:$EF30 PRG:6F30 20 EE DB - jsr Sub_F0CE ; CPU:$EF33 PRG:6F33 20 CE F0 + jsr Sub_DBEE ; CPU:$EF30 PRG:6F30 20 EE DB + jsr Sub_F0CE ; CPU:$EF33 PRG:6F33 20 CE F0 lda $03EF,x ; CPU:$EF36 PRG:6F36 BD EF 03 - sta Zp6F ; CPU:$EF39 PRG:6F39 85 6F + sta PlayerSpriteX ; CPU:$EF39 PRG:6F39 85 6F lda #$00 ; CPU:$EF3B PRG:6F3B A9 00 - sta Zp70 ; CPU:$EF3D PRG:6F3D 85 70 - sta ZpB7,x ; CPU:$EF3F PRG:6F3F 95 B7 - jmp Sub_E852 ; CPU:$EF41 PRG:6F41 4C 52 E8 + sta PlayerSpriteY ; CPU:$EF3D PRG:6F3D 85 70 + sta SpriteIndex,x ; CPU:$EF3F PRG:6F3F 95 B7 + jmp Sub_E852 ; CPU:$EF41 PRG:6F41 4C 52 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF44 -; Global: Branch target inside Label: taken when EF44. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EF44. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18145,12 +18664,21 @@ Sub_EF44: lda $0303,x ; CPU:$EF44 PRG:6F44 BD 03 03 cmp #$F0 ; CPU:$EF47 PRG:6F47 C9 F0 rts ; CPU:$EF49 PRG:6F49 60 -; ---- data $EF4A-$EF4B (2 bytes) ---- - .byte $18, $60 ; CPU:$EF4A PRG:6F4A 18 60 +; ----------------------------------------------------------------------------- +; Routine: Label_EF4A +; Global: Branch target inside Label: taken when EF4A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EF4A: + clc ; CPU:$EF4A PRG:6F4A 18 + rts ; CPU:$EF4B PRG:6F4B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF4C -; Global: Branch target inside Label: taken when EF4C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EF4C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18164,265 +18692,274 @@ Sub_EF4C: sta $06E1 ; CPU:$EF54 PRG:6F54 8D E1 06 rts ; CPU:$EF57 PRG:6F57 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero19 -; Global: Branch target inside Label: taken when EF58. -; Local: Part of Label. +; Routine: NmiHandler_OnZero20 +; Global: Branch target inside NmiHandler: taken when OnZero20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero19: - jsr Sub_82A3 ; CPU:$EF58 PRG:6F58 20 A3 82 +NmiHandler_OnZero20: + jsr Sub_82A3 ; CPU:$EF58 PRG:6F58 20 A3 82 ldy #$07 ; CPU:$EF5B PRG:6F5B A0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero92 -; Global: Branch target inside Label: taken when EF5D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero92: - lda a:ZpB7,y ; CPU:$EF5D PRG:6F5D B9 B7 00 - bpl NmiHandler_Loop582 ; CPU:$EF60 PRG:6F60 10 04 - and #$02 ; CPU:$EF62 PRG:6F62 29 02 - bne NmiHandler_OnZero19 ; CPU:$EF64 PRG:6F64 D0 F2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop582 -; Global: Branch target inside Label: taken when EF66. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop582: - iny ; CPU:$EF66 PRG:6F66 C8 - cpy #$0C ; CPU:$EF67 PRG:6F67 C0 0C - bne NmiHandler_OnNonzero92 ; CPU:$EF69 PRG:6F69 D0 F2 - jsr Sub_EF4C ; CPU:$EF6B PRG:6F6B 20 4C EF - lda (ZpA5),y ; CPU:$EF6E PRG:6F6E B1 A5 - clc ; CPU:$EF70 PRG:6F70 18 - adc ZpEC ; CPU:$EF71 PRG:6F71 65 EC - sta ZpE5,x ; CPU:$EF73 PRG:6F73 95 E5 - beq NmiHandler_OnZero19 ; CPU:$EF75 PRG:6F75 F0 E1 - bmi NmiHandler_OnZero19 ; CPU:$EF77 PRG:6F77 30 DF - lda ZpE5,x ; CPU:$EF79 PRG:6F79 B5 E5 - cmp #$18 ; CPU:$EF7B PRG:6F7B C9 18 - beq NmiHandler_OnZero19 ; CPU:$EF7D PRG:6F7D F0 D9 - cmp #$1F ; CPU:$EF7F PRG:6F7F C9 1F - beq NmiHandler_OnZero19 ; CPU:$EF81 PRG:6F81 F0 D5 - cmp ZpEC ; CPU:$EF83 PRG:6F83 C5 EC - bne NmiHandler_Loop587 ; CPU:$EF85 PRG:6F85 D0 2C - ldy #$00 ; CPU:$EF87 PRG:6F87 A0 00 - sty Zp6F ; CPU:$EF89 PRG:6F89 84 6F - ldy #$08 ; CPU:$EF8B PRG:6F8B A0 08 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero93 -; Global: Branch target inside Label: taken when EF8D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero93. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero93: - cmp a:ZpE5,y ; CPU:$EF8D PRG:6F8D D9 E5 00 - bne NmiHandler_Loop583 ; CPU:$EF90 PRG:6F90 D0 02 - inc Zp6F ; CPU:$EF92 PRG:6F92 E6 6F -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop583 -; Global: Branch target inside Label: taken when EF94. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop583: - iny ; CPU:$EF94 PRG:6F94 C8 - cpy #$0C ; CPU:$EF95 PRG:6F95 C0 0C - bne NmiHandler_OnNonzero93 ; CPU:$EF97 PRG:6F97 D0 F4 - lda ZpF7 ; CPU:$EF99 PRG:6F99 A5 F7 - lsr a ; CPU:$EF9B PRG:6F9B 4A - lsr a ; CPU:$EF9C PRG:6F9C 4A - cmp #$0C ; CPU:$EF9D PRG:6F9D C9 0C - bcs NmiHandler_Loop584 ; CPU:$EF9F PRG:6F9F B0 08 - cmp #$04 ; CPU:$EFA1 PRG:6FA1 C9 04 - bcs NmiHandler_Loop585 ; CPU:$EFA3 PRG:6FA3 B0 08 - lda #$01 ; CPU:$EFA5 PRG:6FA5 A9 01 - bne NmiHandler_Loop586 ; CPU:$EFA7 PRG:6FA7 D0 06 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop584 -; Global: Branch target inside Label: taken when EFA9. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop584: - lda #$03 ; CPU:$EFA9 PRG:6FA9 A9 03 - bne NmiHandler_Loop586 ; CPU:$EFAB PRG:6FAB D0 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop585 -; Global: Branch target inside Label: taken when EFAD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop585: - lda #$02 ; CPU:$EFAD PRG:6FAD A9 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop586 -; Global: Branch target inside Label: taken when EFAF. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop586: - cmp Zp6F ; CPU:$EFAF PRG:6FAF C5 6F - bcc NmiHandler_OnZero19 ; CPU:$EFB1 PRG:6FB1 90 A5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop587 -; Global: Branch target inside Label: taken when EFB3. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop587: - ldy #$09 ; CPU:$EFB3 PRG:6FB3 A0 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative18 -; Global: Branch target inside Label: taken when EFB5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative18: - lda $0592,y ; CPU:$EFB5 PRG:6FB5 B9 92 05 - bpl NmiHandler_Loop588 ; CPU:$EFB8 PRG:6FB8 10 14 - lda $059C,y ; CPU:$EFBA PRG:6FBA B9 9C 05 - cmp ZpE5,x ; CPU:$EFBD PRG:6FBD D5 E5 - bne NmiHandler_Loop588 ; CPU:$EFBF PRG:6FBF D0 0D - lda Zp6F ; CPU:$EFC1 PRG:6FC1 A5 6F - cmp #$01 ; CPU:$EFC3 PRG:6FC3 C9 01 - bne NmiHandler_OnZero19 ; CPU:$EFC5 PRG:6FC5 D0 91 - lda $05A6,y ; CPU:$EFC7 PRG:6FC7 B9 A6 05 - sta ZpA2 ; CPU:$EFCA PRG:6FCA 85 A2 - bne NmiHandler_Loop589 ; CPU:$EFCC PRG:6FCC D0 03 + lda a:ZpB7,y ; CPU:$EF5D PRG:6F5D B9 B7 00 + bpl NmiHandler_Loop588 ; CPU:$EF60 PRG:6F60 10 04 + and #$02 ; CPU:$EF62 PRG:6F62 29 02 + bne NmiHandler_OnZero20 ; CPU:$EF64 PRG:6F64 D0 F2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop588 -; Global: Branch target inside Label: taken when EFCE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop588. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop588: - dey ; CPU:$EFCE PRG:6FCE 88 - bpl NmiHandler_OnNonnegative18 ; CPU:$EFCF PRG:6FCF 10 E4 + iny ; CPU:$EF66 PRG:6F66 C8 + cpy #$0C ; CPU:$EF67 PRG:6F67 C0 0C + bne NmiHandler_OnNonzero93 ; CPU:$EF69 PRG:6F69 D0 F2 + jsr Sub_EF4C ; CPU:$EF6B PRG:6F6B 20 4C EF + lda (ZpA5),y ; CPU:$EF6E PRG:6F6E B1 A5 + clc ; CPU:$EF70 PRG:6F70 18 + adc ZpEC ; CPU:$EF71 PRG:6F71 65 EC + sta ZpE5,x ; CPU:$EF73 PRG:6F73 95 E5 + beq NmiHandler_OnZero20 ; CPU:$EF75 PRG:6F75 F0 E1 + bmi NmiHandler_OnZero20 ; CPU:$EF77 PRG:6F77 30 DF + lda ZpE5,x ; CPU:$EF79 PRG:6F79 B5 E5 + cmp #$18 ; CPU:$EF7B PRG:6F7B C9 18 + beq NmiHandler_OnZero20 ; CPU:$EF7D PRG:6F7D F0 D9 + cmp #$1F ; CPU:$EF7F PRG:6F7F C9 1F + beq NmiHandler_OnZero20 ; CPU:$EF81 PRG:6F81 F0 D5 + cmp ZpEC ; CPU:$EF83 PRG:6F83 C5 EC + bne NmiHandler_Loop593 ; CPU:$EF85 PRG:6F85 D0 2C + ldy #$00 ; CPU:$EF87 PRG:6F87 A0 00 + sty PlayerSpriteX ; CPU:$EF89 PRG:6F89 84 6F + ldy #$08 ; CPU:$EF8B PRG:6F8B A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero94 +; Global: Branch target inside NmiHandler: taken when OnNonzero94. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero94: + cmp a:ZpE5,y ; CPU:$EF8D PRG:6F8D D9 E5 00 + bne NmiHandler_Loop589 ; CPU:$EF90 PRG:6F90 D0 02 + inc PlayerSpriteX ; CPU:$EF92 PRG:6F92 E6 6F ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop589 -; Global: Branch target inside Label: taken when EFD1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop589. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop589: - jsr Sub_99E7 ; CPU:$EFD1 PRG:6FD1 20 E7 99 - jsr Sub_9B03 ; CPU:$EFD4 PRG:6FD4 20 03 9B + iny ; CPU:$EF94 PRG:6F94 C8 + cpy #$0C ; CPU:$EF95 PRG:6F95 C0 0C + bne NmiHandler_OnNonzero94 ; CPU:$EF97 PRG:6F97 D0 F4 + lda ZpF7 ; CPU:$EF99 PRG:6F99 A5 F7 + lsr a ; CPU:$EF9B PRG:6F9B 4A + lsr a ; CPU:$EF9C PRG:6F9C 4A + cmp #$0C ; CPU:$EF9D PRG:6F9D C9 0C + bcs NmiHandler_Loop590 ; CPU:$EF9F PRG:6F9F B0 08 + cmp #$04 ; CPU:$EFA1 PRG:6FA1 C9 04 + bcs NmiHandler_Loop591 ; CPU:$EFA3 PRG:6FA3 B0 08 + lda #$01 ; CPU:$EFA5 PRG:6FA5 A9 01 + bne NmiHandler_Loop592 ; CPU:$EFA7 PRG:6FA7 D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop590 +; Global: Branch target inside NmiHandler: taken when Loop590. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop590: + lda #$03 ; CPU:$EFA9 PRG:6FA9 A9 03 + bne NmiHandler_Loop592 ; CPU:$EFAB PRG:6FAB D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop591 +; Global: Branch target inside NmiHandler: taken when Loop591. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop591: + lda #$02 ; CPU:$EFAD PRG:6FAD A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop592 +; Global: Branch target inside NmiHandler: taken when Loop592. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop592: + cmp PlayerSpriteX ; CPU:$EFAF PRG:6FAF C5 6F + bcc NmiHandler_OnZero20 ; CPU:$EFB1 PRG:6FB1 90 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop593 +; Global: Branch target inside NmiHandler: taken when Loop593. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop593: + ldy #$09 ; CPU:$EFB3 PRG:6FB3 A0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative19 +; Global: Branch target inside NmiHandler: taken when OnNonnegative19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative19: + lda $0592,y ; CPU:$EFB5 PRG:6FB5 B9 92 05 + bpl NmiHandler_Loop594 ; CPU:$EFB8 PRG:6FB8 10 14 + lda $059C,y ; CPU:$EFBA PRG:6FBA B9 9C 05 + cmp ZpE5,x ; CPU:$EFBD PRG:6FBD D5 E5 + bne NmiHandler_Loop594 ; CPU:$EFBF PRG:6FBF D0 0D + lda PlayerSpriteX ; CPU:$EFC1 PRG:6FC1 A5 6F + cmp #$01 ; CPU:$EFC3 PRG:6FC3 C9 01 + bne NmiHandler_OnZero20 ; CPU:$EFC5 PRG:6FC5 D0 91 + lda $05A6,y ; CPU:$EFC7 PRG:6FC7 B9 A6 05 + sta ZpA2 ; CPU:$EFCA PRG:6FCA 85 A2 + bne NmiHandler_Loop595 ; CPU:$EFCC PRG:6FCC D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop594 +; Global: Branch target inside NmiHandler: taken when Loop594. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop594: + dey ; CPU:$EFCE PRG:6FCE 88 + bpl NmiHandler_OnNonnegative19 ; CPU:$EFCF PRG:6FCF 10 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop595 +; Global: Branch target inside NmiHandler: taken when Loop595. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop595: + jsr Sub_99E7 ; CPU:$EFD1 PRG:6FD1 20 E7 99 + jsr Sub_9B03 ; CPU:$EFD4 PRG:6FD4 20 03 9B lda ZpE5,x ; CPU:$EFD7 PRG:6FD7 B5 E5 asl a ; CPU:$EFD9 PRG:6FD9 0A clc ; CPU:$EFDA PRG:6FDA 18 adc #$94 ; CPU:$EFDB PRG:6FDB 69 94 - sta Zp71 ; CPU:$EFDD PRG:6FDD 85 71 + sta OamShadowPtrLo ; CPU:$EFDD PRG:6FDD 85 71 lda #$F3 ; CPU:$EFDF PRG:6FDF A9 F3 adc #$00 ; CPU:$EFE1 PRG:6FE1 69 00 - sta Zp72 ; CPU:$EFE3 PRG:6FE3 85 72 + sta OamShadowPtrHi ; CPU:$EFE3 PRG:6FE3 85 72 ldy #$00 ; CPU:$EFE5 PRG:6FE5 A0 00 - lda (Zp71),y ; CPU:$EFE7 PRG:6FE7 B1 71 - sta Zp73 ; CPU:$EFE9 PRG:6FE9 85 73 + lda (OamShadowPtrLo),y ; CPU:$EFE7 PRG:6FE7 B1 71 + sta VramWritePtrLo ; CPU:$EFE9 PRG:6FE9 85 73 iny ; CPU:$EFEB PRG:6FEB C8 - lda (Zp71),y ; CPU:$EFEC PRG:6FEC B1 71 - sta Zp74 ; CPU:$EFEE PRG:6FEE 85 74 + lda (OamShadowPtrLo),y ; CPU:$EFEC PRG:6FEC B1 71 + sta VramWritePtrHi ; CPU:$EFEE PRG:6FEE 85 74 ; ----------------------------------------------------------------------------- ; Routine: Sub_EFF0 -; Global: Branch target inside Label: taken when EFF0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when EFF0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EFF0: ldy $06E1 ; CPU:$EFF0 PRG:6FF0 AC E1 06 - lda (Zp73),y ; CPU:$EFF3 PRG:6FF3 B1 73 + lda (VramWritePtrLo),y ; CPU:$EFF3 PRG:6FF3 B1 73 cmp ZpA2 ; CPU:$EFF5 PRG:6FF5 C5 A2 - bne NmiHandler_Loop590 ; CPU:$EFF7 PRG:6FF7 D0 06 - jsr Sub_EF4C ; CPU:$EFF9 PRG:6FF9 20 4C EF - jmp Sub_EFF0 ; CPU:$EFFC PRG:6FFC 4C F0 EF + bne NmiHandler_Loop596 ; CPU:$EFF7 PRG:6FF7 D0 06 + jsr Sub_EF4C ; CPU:$EFF9 PRG:6FF9 20 4C EF + jmp Sub_EFF0 ; CPU:$EFFC PRG:6FFC 4C F0 EF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop590 -; Global: Branch target inside Label: taken when EFFF. -; Local: Part of Label. +; Routine: NmiHandler_Loop596 +; Global: Branch target inside NmiHandler: taken when Loop596. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop590: - sta ZpC8,x ; CPU:$EFFF PRG:6FFF 95 C8 +NmiHandler_Loop596: + sta SpriteYPosition,x ; CPU:$EFFF PRG:6FFF 95 C8 cmp #$80 ; CPU:$F001 PRG:7001 C9 80 - bcc NmiHandler_Loop591 ; CPU:$F003 PRG:7003 90 0B + bcc NmiHandler_Loop597 ; CPU:$F003 PRG:7003 90 0B lda #$86 ; CPU:$F005 PRG:7005 A9 86 - sta Zp73 ; CPU:$F007 PRG:7007 85 73 + sta VramWritePtrLo ; CPU:$F007 PRG:7007 85 73 lda #$F3 ; CPU:$F009 PRG:7009 A9 F3 - sta Zp74 ; CPU:$F00B PRG:700B 85 74 - jmp Sub_8334 ; CPU:$F00D PRG:700D 4C 34 83 + sta VramWritePtrHi ; CPU:$F00B PRG:700B 85 74 + jmp Sub_8334 ; CPU:$F00D PRG:700D 4C 34 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop591 -; Global: Branch target inside Label: taken when F010. -; Local: Part of Label. +; Routine: NmiHandler_Loop597 +; Global: Branch target inside NmiHandler: taken when Loop597. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop591: +NmiHandler_Loop597: lda #$58 ; CPU:$F010 PRG:7010 A9 58 - sta Zp73 ; CPU:$F012 PRG:7012 85 73 + sta VramWritePtrLo ; CPU:$F012 PRG:7012 85 73 lda #$F3 ; CPU:$F014 PRG:7014 A9 F3 - sta Zp74 ; CPU:$F016 PRG:7016 85 74 - jmp Sub_8334 ; CPU:$F018 PRG:7018 4C 34 83 + sta VramWritePtrHi ; CPU:$F016 PRG:7016 85 74 + jmp Sub_8334 ; CPU:$F018 PRG:7018 4C 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_F01B -; Global: Branch target inside Label: taken when F01B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F01B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F01B: lda #$18 ; CPU:$F01B PRG:701B A9 18 - sta Zp70 ; CPU:$F01D PRG:701D 85 70 - jmp Sub_F02D ; CPU:$F01F PRG:701F 4C 2D F0 + sta PlayerSpriteY ; CPU:$F01D PRG:701D 85 70 + jmp Sub_F02D ; CPU:$F01F PRG:701F 4C 2D F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_F022 -; Global: Branch target inside Label: taken when F022. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F022. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F022: lda #$10 ; CPU:$F022 PRG:7022 A9 10 - sta Zp70 ; CPU:$F024 PRG:7024 85 70 - jmp Sub_F02D ; CPU:$F026 PRG:7026 4C 2D F0 -; ---- data $F029-$F02C (4 bytes) ---- - .byte $A9, $08, $85, $70 ; CPU:$F029 PRG:7029 A9 08 85 70 + sta PlayerSpriteY ; CPU:$F024 PRG:7024 85 70 + jmp Sub_F02D ; CPU:$F026 PRG:7026 4C 2D F0 +; ----------------------------------------------------------------------------- +; Routine: Label_F029 +; Global: Branch target inside Label: taken when F029. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F029: + lda #$08 ; CPU:$F029 PRG:7029 A9 08 + sta PlayerSpriteY ; CPU:$F02B PRG:702B 85 70 ; ----------------------------------------------------------------------------- ; Routine: Sub_F02D -; Global: Branch target inside Label: taken when F02D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F02D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18430,67 +18967,67 @@ Sub_F022: Sub_F02D: lda ZpBE ; CPU:$F02D PRG:702D A5 BE and #$20 ; CPU:$F02F PRG:702F 29 20 - beq NmiHandler_Loop594 ; CPU:$F031 PRG:7031 F0 37 + beq NmiHandler_Loop600 ; CPU:$F031 PRG:7031 F0 37 lda ZpCF ; CPU:$F033 PRG:7033 A5 CF sec ; CPU:$F035 PRG:7035 38 - sbc ZpC8,x ; CPU:$F036 PRG:7036 F5 C8 + sbc SpriteYPosition,x ; CPU:$F036 PRG:7036 F5 C8 cmp #$F8 ; CPU:$F038 PRG:7038 C9 F8 - bcs NmiHandler_Loop592 ; CPU:$F03A PRG:703A B0 04 + bcs NmiHandler_Loop598 ; CPU:$F03A PRG:703A B0 04 cmp #$08 ; CPU:$F03C PRG:703C C9 08 - bcs NmiHandler_Loop594 ; CPU:$F03E PRG:703E B0 2A + bcs NmiHandler_Loop600 ; CPU:$F03E PRG:703E B0 2A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop592 -; Global: Branch target inside Label: taken when F040. -; Local: Part of Label. +; Routine: NmiHandler_Loop598 +; Global: Branch target inside NmiHandler: taken when Loop598. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop592: +NmiHandler_Loop598: lda $0303,x ; CPU:$F040 PRG:7040 BD 03 03 sec ; CPU:$F043 PRG:7043 38 sbc $030A ; CPU:$F044 PRG:7044 ED 0A 03 - bcc NmiHandler_Loop594 ; CPU:$F047 PRG:7047 90 21 - cmp Zp70 ; CPU:$F049 PRG:7049 C5 70 - bcs NmiHandler_Loop594 ; CPU:$F04B PRG:704B B0 1D + bcc NmiHandler_Loop600 ; CPU:$F047 PRG:7047 90 21 + cmp PlayerSpriteY ; CPU:$F049 PRG:7049 C5 70 + bcs NmiHandler_Loop600 ; CPU:$F04B PRG:704B B0 1D lda #$05 ; CPU:$F04D PRG:704D A9 05 - sta Zp73 ; CPU:$F04F PRG:704F 85 73 + sta VramWritePtrLo ; CPU:$F04F PRG:704F 85 73 lda #$01 ; CPU:$F051 PRG:7051 A9 01 - sta Zp74 ; CPU:$F053 PRG:7053 85 74 - jsr Sub_C1D5 ; CPU:$F055 PRG:7055 20 D5 C1 + sta VramWritePtrHi ; CPU:$F053 PRG:7053 85 74 + jsr Sub_C1D5 ; CPU:$F055 PRG:7055 20 D5 C1 lda $0681 ; CPU:$F058 PRG:7058 AD 81 06 - beq NmiHandler_Loop593 ; CPU:$F05B PRG:705B F0 0B + beq NmiHandler_Loop599 ; CPU:$F05B PRG:705B F0 0B lda #$05 ; CPU:$F05D PRG:705D A9 05 - sta Zp73 ; CPU:$F05F PRG:705F 85 73 + sta VramWritePtrLo ; CPU:$F05F PRG:705F 85 73 lda #$00 ; CPU:$F061 PRG:7061 A9 00 - sta Zp74 ; CPU:$F063 PRG:7063 85 74 - jsr Sub_C1D5 ; CPU:$F065 PRG:7065 20 D5 C1 + sta VramWritePtrHi ; CPU:$F063 PRG:7063 85 74 + jsr Sub_C1D5 ; CPU:$F065 PRG:7065 20 D5 C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop593 -; Global: Branch target inside Label: taken when F068. -; Local: Part of Label. +; Routine: NmiHandler_Loop599 +; Global: Branch target inside NmiHandler: taken when Loop599. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop593: +NmiHandler_Loop599: sec ; CPU:$F068 PRG:7068 38 rts ; CPU:$F069 PRG:7069 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop594 -; Global: Branch target inside Label: taken when F06A. -; Local: Part of Label. +; Routine: NmiHandler_Loop600 +; Global: Branch target inside NmiHandler: taken when Loop600. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop594: +NmiHandler_Loop600: clc ; CPU:$F06A PRG:706A 18 rts ; CPU:$F06B PRG:706B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F06C -; Global: Branch target inside Label: taken when F06C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F06C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18500,65 +19037,65 @@ Sub_F06C: asl a ; CPU:$F06E PRG:706E 0A clc ; CPU:$F06F PRG:706F 18 adc #$74 ; CPU:$F070 PRG:7070 69 74 - sta Zp71 ; CPU:$F072 PRG:7072 85 71 + sta OamShadowPtrLo ; CPU:$F072 PRG:7072 85 71 lda #$F4 ; CPU:$F074 PRG:7074 A9 F4 adc #$00 ; CPU:$F076 PRG:7076 69 00 - sta Zp72 ; CPU:$F078 PRG:7078 85 72 + sta OamShadowPtrHi ; CPU:$F078 PRG:7078 85 72 ldy #$00 ; CPU:$F07A PRG:707A A0 00 - lda (Zp71),y ; CPU:$F07C PRG:707C B1 71 - sta Zp73 ; CPU:$F07E PRG:707E 85 73 + lda (OamShadowPtrLo),y ; CPU:$F07C PRG:707C B1 71 + sta VramWritePtrLo ; CPU:$F07E PRG:707E 85 73 iny ; CPU:$F080 PRG:7080 C8 - lda (Zp71),y ; CPU:$F081 PRG:7081 B1 71 - sta Zp74 ; CPU:$F083 PRG:7083 85 74 + lda (OamShadowPtrLo),y ; CPU:$F081 PRG:7081 B1 71 + sta VramWritePtrHi ; CPU:$F083 PRG:7083 85 74 dey ; CPU:$F085 PRG:7085 88 ; ----------------------------------------------------------------------------- ; Routine: Sub_F086 -; Global: Branch target inside Label: taken when F086. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F086. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F086: - lda (Zp73),y ; CPU:$F086 PRG:7086 B1 73 + lda (VramWritePtrLo),y ; CPU:$F086 PRG:7086 B1 73 cmp #$FF ; CPU:$F088 PRG:7088 C9 FF - beq NmiHandler_Loop595 ; CPU:$F08A PRG:708A F0 0F + beq NmiHandler_Loop601 ; CPU:$F08A PRG:708A F0 0F sec ; CPU:$F08C PRG:708C 38 - sbc ZpC8,x ; CPU:$F08D PRG:708D F5 C8 + sbc SpriteYPosition,x ; CPU:$F08D PRG:708D F5 C8 cmp #$04 ; CPU:$F08F PRG:708F C9 04 - bcc NmiHandler_Loop596 ; CPU:$F091 PRG:7091 90 0A + bcc NmiHandler_Loop602 ; CPU:$F091 PRG:7091 90 0A cmp #$FD ; CPU:$F093 PRG:7093 C9 FD - bcs NmiHandler_Loop596 ; CPU:$F095 PRG:7095 B0 06 + bcs NmiHandler_Loop602 ; CPU:$F095 PRG:7095 B0 06 iny ; CPU:$F097 PRG:7097 C8 - jmp Sub_F086 ; CPU:$F098 PRG:7098 4C 86 F0 + jmp Sub_F086 ; CPU:$F098 PRG:7098 4C 86 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop595 -; Global: Branch target inside Label: taken when F09B. -; Local: Part of Label. +; Routine: NmiHandler_Loop601 +; Global: Branch target inside NmiHandler: taken when Loop601. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop595: +NmiHandler_Loop601: clc ; CPU:$F09B PRG:709B 18 rts ; CPU:$F09C PRG:709C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop596 -; Global: Branch target inside Label: taken when F09D. -; Local: Part of Label. +; Routine: NmiHandler_Loop602 +; Global: Branch target inside NmiHandler: taken when Loop602. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop596: - lda (Zp73),y ; CPU:$F09D PRG:709D B1 73 - sta ZpC8,x ; CPU:$F09F PRG:709F 95 C8 +NmiHandler_Loop602: + lda (VramWritePtrLo),y ; CPU:$F09D PRG:709D B1 73 + sta SpriteYPosition,x ; CPU:$F09F PRG:709F 95 C8 sec ; CPU:$F0A1 PRG:70A1 38 rts ; CPU:$F0A2 PRG:70A2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0A3 -; Global: Branch target inside Label: taken when F0A3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0A3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18566,23 +19103,23 @@ NmiHandler_Loop596: Sub_F0A3: lda ZpEC ; CPU:$F0A3 PRG:70A3 A5 EC cmp ZpE5,x ; CPU:$F0A5 PRG:70A5 D5 E5 - bcs NmiHandler_Loop597 ; CPU:$F0A7 PRG:70A7 B0 05 + bcs NmiHandler_Loop603 ; CPU:$F0A7 PRG:70A7 B0 05 lda #$FE ; CPU:$F0A9 PRG:70A9 A9 FE - jmp Sub_F0B0 ; CPU:$F0AB PRG:70AB 4C B0 F0 + jmp Sub_F0B0 ; CPU:$F0AB PRG:70AB 4C B0 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop597 -; Global: Branch target inside Label: taken when F0AE. -; Local: Part of Label. +; Routine: NmiHandler_Loop603 +; Global: Branch target inside NmiHandler: taken when Loop603. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop597: +NmiHandler_Loop603: lda #$02 ; CPU:$F0AE PRG:70AE A9 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0B0 -; Global: Branch target inside Label: taken when F0B0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0B0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18592,31 +19129,31 @@ Sub_F0B0: rts ; CPU:$F0B3 PRG:70B3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0B4 -; Global: Branch target inside Label: taken when F0B4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0B4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F0B4: lda ZpCF ; CPU:$F0B4 PRG:70B4 A5 CF - cmp ZpC8,x ; CPU:$F0B6 PRG:70B6 D5 C8 - bcs NmiHandler_Loop598 ; CPU:$F0B8 PRG:70B8 B0 03 - jmp Sub_9B18 ; CPU:$F0BA PRG:70BA 4C 18 9B + cmp SpriteYPosition,x ; CPU:$F0B6 PRG:70B6 D5 C8 + bcs NmiHandler_Loop604 ; CPU:$F0B8 PRG:70B8 B0 03 + jmp Sub_9B18 ; CPU:$F0BA PRG:70BA 4C 18 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop598 -; Global: Branch target inside Label: taken when F0BD. -; Local: Part of Label. +; Routine: NmiHandler_Loop604 +; Global: Branch target inside NmiHandler: taken when Loop604. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop598: - jmp Sub_9B11 ; CPU:$F0BD PRG:70BD 4C 11 9B +NmiHandler_Loop604: + jmp Sub_9B11 ; CPU:$F0BD PRG:70BD 4C 11 9B ; ----------------------------------------------------------------------------- ; Routine: Sub_F0C0 -; Global: Branch target inside Label: taken when F0C0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0C0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18624,24 +19161,24 @@ NmiHandler_Loop598: Sub_F0C0: lda ZpBE ; CPU:$F0C0 PRG:70C0 A5 BE cmp ZpE5,x ; CPU:$F0C2 PRG:70C2 D5 E5 - beq NmiHandler_Loop599 ; CPU:$F0C4 PRG:70C4 F0 06 - jsr Sub_F0A3 ; CPU:$F0C6 PRG:70C6 20 A3 F0 - jmp Sub_9B24 ; CPU:$F0C9 PRG:70C9 4C 24 9B + beq NmiHandler_Loop605 ; CPU:$F0C4 PRG:70C4 F0 06 + jsr Sub_F0A3 ; CPU:$F0C6 PRG:70C6 20 A3 F0 + jmp Sub_9B24 ; CPU:$F0C9 PRG:70C9 4C 24 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop599 -; Global: Branch target inside Label: taken when F0CC. -; Local: Part of Label. +; Routine: NmiHandler_Loop605 +; Global: Branch target inside NmiHandler: taken when Loop605. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop599: +NmiHandler_Loop605: clc ; CPU:$F0CC PRG:70CC 18 rts ; CPU:$F0CD PRG:70CD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0CE -; Global: Branch target inside Label: taken when F0CE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0CE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18653,27 +19190,28 @@ Sub_F0CE: lsr a ; CPU:$F0D2 PRG:70D2 4A tay ; CPU:$F0D3 PRG:70D3 A8 cpy #$05 ; CPU:$F0D4 PRG:70D4 C0 05 - bcc NmiHandler_Loop600 ; CPU:$F0D6 PRG:70D6 90 02 + bcc NmiHandler_Loop606 ; CPU:$F0D6 PRG:70D6 90 02 ldy #$05 ; CPU:$F0D8 PRG:70D8 A0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop600 -; Global: Branch target inside Label: taken when F0DA. -; Local: Part of Label. +; Routine: NmiHandler_Loop606 +; Global: Branch target inside NmiHandler: taken when Loop606. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop600: +NmiHandler_Loop606: lda $F0E1,y ; CPU:$F0DA PRG:70DA B9 E1 F0 sta $03EF,x ; CPU:$F0DD PRG:70DD 9D EF 03 rts ; CPU:$F0E0 PRG:70E0 60 ; ---- data $F0E1-$F0E6 (6 bytes) ---- ; referenced by `lda $F0E1,y` at $F0DA (operand $F0E1 falls inside this region) - .byte $32, $28, $1E, $14, $0A, $01 ; CPU:$F0E1 PRG:70E1 32 28 1E 14 0A 01 +EnemyFallingSpeedTable: + .byte $32, $28, $1E, $14, $0A, $01 ; CPU:$F0E1 PRG:30E1 32 28 1E 14 0A 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0E7 -; Global: Branch target inside Label: taken when F0E7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F0E7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18689,190 +19227,190 @@ Sub_F0E7: lsr a ; CPU:$F0F3 PRG:70F3 4A tay ; CPU:$F0F4 PRG:70F4 A8 cpy #$06 ; CPU:$F0F5 PRG:70F5 C0 06 - bcc NmiHandler_Loop601 ; CPU:$F0F7 PRG:70F7 90 02 + bcc NmiHandler_Loop607 ; CPU:$F0F7 PRG:70F7 90 02 ldy #$06 ; CPU:$F0F9 PRG:70F9 A0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop601 -; Global: Branch target inside Label: taken when F0FB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop601: - lda $F1E3,y ; CPU:$F0FB PRG:70FB B9 E3 F1 - sta $03EF,x ; CPU:$F0FE PRG:70FE 9D EF 03 - lda $0336,x ; CPU:$F101 PRG:7101 BD 36 03 - bmi NmiHandler_Loop602 ; CPU:$F104 PRG:7104 30 06 - lda ZpEC ; CPU:$F106 PRG:7106 A5 EC - cmp ZpE5,x ; CPU:$F108 PRG:7108 D5 E5 - bne NmiHandler_Loop605 ; CPU:$F10A PRG:710A D0 49 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop602 -; Global: Branch target inside Label: taken when F10C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop602: - lda $0336,x ; CPU:$F10C PRG:710C BD 36 03 - and #$7F ; CPU:$F10F PRG:710F 29 7F - sta $0336,x ; CPU:$F111 PRG:7111 9D 36 03 - lda ZpF7 ; CPU:$F114 PRG:7114 A5 F7 - lsr a ; CPU:$F116 PRG:7116 4A - sta Zp73 ; CPU:$F117 PRG:7117 85 73 - lda #$00 ; CPU:$F119 PRG:7119 A9 00 - sta Zp74 ; CPU:$F11B PRG:711B 85 74 - lda #$2A ; CPU:$F11D PRG:711D A9 2A - clc ; CPU:$F11F PRG:711F 18 - adc Zp73 ; CPU:$F120 PRG:7120 65 73 - sta Zp73 ; CPU:$F122 PRG:7122 85 73 - lda #$F2 ; CPU:$F124 PRG:7124 A9 F2 - adc Zp74 ; CPU:$F126 PRG:7126 65 74 - sta Zp74 ; CPU:$F128 PRG:7128 85 74 - ldy $06E2 ; CPU:$F12A PRG:712A AC E2 06 - lda (Zp73),y ; CPU:$F12D PRG:712D B1 73 - tay ; CPU:$F12F PRG:712F A8 - dey ; CPU:$F130 PRG:7130 88 - beq NmiHandler_Loop605 ; CPU:$F131 PRG:7131 F0 22 - dey ; CPU:$F133 PRG:7133 88 - beq NmiHandler_Loop603 ; CPU:$F134 PRG:7134 F0 09 - dey ; CPU:$F136 PRG:7136 88 - beq NmiHandler_Loop604 ; CPU:$F137 PRG:7137 F0 11 - jsr Sub_F1D3 ; CPU:$F139 PRG:7139 20 D3 F1 - jmp Sub_E8D5 ; CPU:$F13C PRG:713C 4C D5 E8 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop603 -; Global: Branch target inside Label: taken when F13F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop603: - jsr Sub_F1D3 ; CPU:$F13F PRG:713F 20 D3 F1 - ora #$01 ; CPU:$F142 PRG:7142 09 01 - sta $0336,x ; CPU:$F144 PRG:7144 9D 36 03 - jmp Sub_EC8B ; CPU:$F147 PRG:7147 4C 8B EC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop604 -; Global: Branch target inside Label: taken when F14A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop604: - jsr Sub_F1D3 ; CPU:$F14A PRG:714A 20 D3 F1 - ora #$02 ; CPU:$F14D PRG:714D 09 02 - sta $0336,x ; CPU:$F14F PRG:714F 9D 36 03 - jmp Sub_EC8B ; CPU:$F152 PRG:7152 4C 8B EC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop605 -; Global: Branch target inside Label: taken when F155. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop605: - lda ZpEC ; CPU:$F155 PRG:7155 A5 EC - sec ; CPU:$F157 PRG:7157 38 - sbc ZpE5,x ; CPU:$F158 PRG:7158 F5 E5 - cmp #$02 ; CPU:$F15A PRG:715A C9 02 - bcc NmiHandler_Loop606 ; CPU:$F15C PRG:715C 90 04 - cmp #$FF ; CPU:$F15E PRG:715E C9 FF - bcc NmiHandler_Loop612 ; CPU:$F160 PRG:7160 90 5C -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop606 -; Global: Branch target inside Label: taken when F162. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop606: - lda $0336,x ; CPU:$F162 PRG:7162 BD 36 03 - and #$20 ; CPU:$F165 PRG:7165 29 20 - bne NmiHandler_Loop612 ; CPU:$F167 PRG:7167 D0 55 - jsr Sub_F1D3 ; CPU:$F169 PRG:7169 20 D3 F1 - lda ZpE5,x ; CPU:$F16C PRG:716C B5 E5 - cmp ZpEC ; CPU:$F16E PRG:716E C5 EC - bne NmiHandler_Loop608 ; CPU:$F170 PRG:7170 D0 0C - lda ZpCF ; CPU:$F172 PRG:7172 A5 CF - cmp ZpC8,x ; CPU:$F174 PRG:7174 D5 C8 - bpl NmiHandler_Loop607 ; CPU:$F176 PRG:7176 10 03 - jmp Sub_F1AB ; CPU:$F178 PRG:7178 4C AB F1 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop607 -; Global: Branch target inside Label: taken when F17B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop607. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop607: - jmp NmiHandler_OnNonzero94 ; CPU:$F17B PRG:717B 4C 9B F1 + lda $F1E3,y ; CPU:$F0FB PRG:70FB B9 E3 F1 + sta $03EF,x ; CPU:$F0FE PRG:70FE 9D EF 03 + lda $0336,x ; CPU:$F101 PRG:7101 BD 36 03 + bmi NmiHandler_Loop608 ; CPU:$F104 PRG:7104 30 06 + lda ZpEC ; CPU:$F106 PRG:7106 A5 EC + cmp ZpE5,x ; CPU:$F108 PRG:7108 D5 E5 + bne NmiHandler_Loop611 ; CPU:$F10A PRG:710A D0 49 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop608 -; Global: Branch target inside Label: taken when F17E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop608. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop608: - bcs NmiHandler_Loop610 ; CPU:$F17E PRG:717E B0 0F - ldy ZpE5,x ; CPU:$F180 PRG:7180 B4 E5 - lda $F1EA,y ; CPU:$F182 PRG:7182 B9 EA F1 - cmp ZpC8,x ; CPU:$F185 PRG:7185 D5 C8 - bpl NmiHandler_Loop609 ; CPU:$F187 PRG:7187 10 03 - jmp Sub_F1AB ; CPU:$F189 PRG:7189 4C AB F1 + lda $0336,x ; CPU:$F10C PRG:710C BD 36 03 + and #$7F ; CPU:$F10F PRG:710F 29 7F + sta $0336,x ; CPU:$F111 PRG:7111 9D 36 03 + lda ZpF7 ; CPU:$F114 PRG:7114 A5 F7 + lsr a ; CPU:$F116 PRG:7116 4A + sta VramWritePtrLo ; CPU:$F117 PRG:7117 85 73 + lda #$00 ; CPU:$F119 PRG:7119 A9 00 + sta VramWritePtrHi ; CPU:$F11B PRG:711B 85 74 + lda #$2A ; CPU:$F11D PRG:711D A9 2A + clc ; CPU:$F11F PRG:711F 18 + adc VramWritePtrLo ; CPU:$F120 PRG:7120 65 73 + sta VramWritePtrLo ; CPU:$F122 PRG:7122 85 73 + lda #$F2 ; CPU:$F124 PRG:7124 A9 F2 + adc VramWritePtrHi ; CPU:$F126 PRG:7126 65 74 + sta VramWritePtrHi ; CPU:$F128 PRG:7128 85 74 + ldy $06E2 ; CPU:$F12A PRG:712A AC E2 06 + lda (VramWritePtrLo),y ; CPU:$F12D PRG:712D B1 73 + tay ; CPU:$F12F PRG:712F A8 + dey ; CPU:$F130 PRG:7130 88 + beq NmiHandler_Loop611 ; CPU:$F131 PRG:7131 F0 22 + dey ; CPU:$F133 PRG:7133 88 + beq NmiHandler_Loop609 ; CPU:$F134 PRG:7134 F0 09 + dey ; CPU:$F136 PRG:7136 88 + beq NmiHandler_Loop610 ; CPU:$F137 PRG:7137 F0 11 + jsr Sub_F1D3 ; CPU:$F139 PRG:7139 20 D3 F1 + jmp Sub_E8D5 ; CPU:$F13C PRG:713C 4C D5 E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop609 -; Global: Branch target inside Label: taken when F18C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop609. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop609: - jmp NmiHandler_OnNonzero94 ; CPU:$F18C PRG:718C 4C 9B F1 + jsr Sub_F1D3 ; CPU:$F13F PRG:713F 20 D3 F1 + ora #$01 ; CPU:$F142 PRG:7142 09 01 + sta $0336,x ; CPU:$F144 PRG:7144 9D 36 03 + jmp Sub_EC8B ; CPU:$F147 PRG:7147 4C 8B EC ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop610 -; Global: Branch target inside Label: taken when F18F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop610. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop610: - ldy ZpE5,x ; CPU:$F18F PRG:718F B4 E5 - lda $F20A,y ; CPU:$F191 PRG:7191 B9 0A F2 - cmp ZpC8,x ; CPU:$F194 PRG:7194 D5 C8 - bpl NmiHandler_OnNonzero94 ; CPU:$F196 PRG:7196 10 03 - jmp Sub_F1AB ; CPU:$F198 PRG:7198 4C AB F1 + jsr Sub_F1D3 ; CPU:$F14A PRG:714A 20 D3 F1 + ora #$02 ; CPU:$F14D PRG:714D 09 02 + sta $0336,x ; CPU:$F14F PRG:714F 9D 36 03 + jmp Sub_EC8B ; CPU:$F152 PRG:7152 4C 8B EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero94 -; Global: Branch target inside Label: taken when F19B. -; Local: Part of Label. +; Routine: NmiHandler_Loop611 +; Global: Branch target inside NmiHandler: taken when Loop611. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero94: +NmiHandler_Loop611: + lda ZpEC ; CPU:$F155 PRG:7155 A5 EC + sec ; CPU:$F157 PRG:7157 38 + sbc ZpE5,x ; CPU:$F158 PRG:7158 F5 E5 + cmp #$02 ; CPU:$F15A PRG:715A C9 02 + bcc NmiHandler_Loop612 ; CPU:$F15C PRG:715C 90 04 + cmp #$FF ; CPU:$F15E PRG:715E C9 FF + bcc NmiHandler_Loop618 ; CPU:$F160 PRG:7160 90 5C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop612 +; Global: Branch target inside NmiHandler: taken when Loop612. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop612: + lda $0336,x ; CPU:$F162 PRG:7162 BD 36 03 + and #$20 ; CPU:$F165 PRG:7165 29 20 + bne NmiHandler_Loop618 ; CPU:$F167 PRG:7167 D0 55 + jsr Sub_F1D3 ; CPU:$F169 PRG:7169 20 D3 F1 + lda ZpE5,x ; CPU:$F16C PRG:716C B5 E5 + cmp ZpEC ; CPU:$F16E PRG:716E C5 EC + bne NmiHandler_Loop614 ; CPU:$F170 PRG:7170 D0 0C + lda ZpCF ; CPU:$F172 PRG:7172 A5 CF + cmp SpriteYPosition,x ; CPU:$F174 PRG:7174 D5 C8 + bpl NmiHandler_Loop613 ; CPU:$F176 PRG:7176 10 03 + jmp Sub_F1AB ; CPU:$F178 PRG:7178 4C AB F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop613 +; Global: Branch target inside NmiHandler: taken when Loop613. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop613: + jmp NmiHandler_OnNonzero95 ; CPU:$F17B PRG:717B 4C 9B F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop614 +; Global: Branch target inside NmiHandler: taken when Loop614. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop614: + bcs NmiHandler_Loop616 ; CPU:$F17E PRG:717E B0 0F + ldy ZpE5,x ; CPU:$F180 PRG:7180 B4 E5 + lda $F1EA,y ; CPU:$F182 PRG:7182 B9 EA F1 + cmp SpriteYPosition,x ; CPU:$F185 PRG:7185 D5 C8 + bpl NmiHandler_Loop615 ; CPU:$F187 PRG:7187 10 03 + jmp Sub_F1AB ; CPU:$F189 PRG:7189 4C AB F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop615 +; Global: Branch target inside NmiHandler: taken when Loop615. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop615: + jmp NmiHandler_OnNonzero95 ; CPU:$F18C PRG:718C 4C 9B F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop616 +; Global: Branch target inside NmiHandler: taken when Loop616. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop616: + ldy ZpE5,x ; CPU:$F18F PRG:718F B4 E5 + lda $F20A,y ; CPU:$F191 PRG:7191 B9 0A F2 + cmp SpriteYPosition,x ; CPU:$F194 PRG:7194 D5 C8 + bpl NmiHandler_OnNonzero95 ; CPU:$F196 PRG:7196 10 03 + jmp Sub_F1AB ; CPU:$F198 PRG:7198 4C AB F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero95 +; Global: Branch target inside NmiHandler: taken when OnNonzero95. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero95: lda #$02 ; CPU:$F19B PRG:719B A9 02 sta ZpD9,x ; CPU:$F19D PRG:719D 95 D9 - jsr Sub_9B11 ; CPU:$F19F PRG:719F 20 11 9B - lda ZpB7,x ; CPU:$F1A2 PRG:71A2 B5 B7 + jsr Sub_9B11 ; CPU:$F19F PRG:719F 20 11 9B + lda SpriteIndex,x ; CPU:$F1A2 PRG:71A2 B5 B7 and #$04 ; CPU:$F1A4 PRG:71A4 29 04 - bne NmiHandler_Loop611 ; CPU:$F1A6 PRG:71A6 D0 13 - jmp Sub_E9A3 ; CPU:$F1A8 PRG:71A8 4C A3 E9 + bne NmiHandler_Loop617 ; CPU:$F1A6 PRG:71A6 D0 13 + jmp Sub_E9A3 ; CPU:$F1A8 PRG:71A8 4C A3 E9 ; ----------------------------------------------------------------------------- ; Routine: Sub_F1AB -; Global: Branch target inside Label: taken when F1AB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F1AB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18880,43 +19418,43 @@ NmiHandler_OnNonzero94: Sub_F1AB: lda #$FE ; CPU:$F1AB PRG:71AB A9 FE sta ZpD9,x ; CPU:$F1AD PRG:71AD 95 D9 - jsr Sub_9B18 ; CPU:$F1AF PRG:71AF 20 18 9B - lda ZpB7,x ; CPU:$F1B2 PRG:71B2 B5 B7 + jsr Sub_9B18 ; CPU:$F1AF PRG:71AF 20 18 9B + lda SpriteIndex,x ; CPU:$F1B2 PRG:71B2 B5 B7 and #$04 ; CPU:$F1B4 PRG:71B4 29 04 - bne NmiHandler_Loop611 ; CPU:$F1B6 PRG:71B6 D0 03 - jmp Sub_E9A3 ; CPU:$F1B8 PRG:71B8 4C A3 E9 + bne NmiHandler_Loop617 ; CPU:$F1B6 PRG:71B6 D0 03 + jmp Sub_E9A3 ; CPU:$F1B8 PRG:71B8 4C A3 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop611 -; Global: Branch target inside Label: taken when F1BB. -; Local: Part of Label. +; Routine: NmiHandler_Loop617 +; Global: Branch target inside NmiHandler: taken when Loop617. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop611: - jmp Sub_EA5A ; CPU:$F1BB PRG:71BB 4C 5A EA +NmiHandler_Loop617: + jmp Sub_EA5A ; CPU:$F1BB PRG:71BB 4C 5A EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop612 -; Global: Branch target inside Label: taken when F1BE. -; Local: Part of Label. +; Routine: NmiHandler_Loop618 +; Global: Branch target inside NmiHandler: taken when Loop618. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop612: +NmiHandler_Loop618: lda $0336,x ; CPU:$F1BE PRG:71BE BD 36 03 ora #$20 ; CPU:$F1C1 PRG:71C1 09 20 sta $0336,x ; CPU:$F1C3 PRG:71C3 9D 36 03 - lda ZpB7,x ; CPU:$F1C6 PRG:71C6 B5 B7 + lda SpriteIndex,x ; CPU:$F1C6 PRG:71C6 B5 B7 eor #$08 ; CPU:$F1C8 PRG:71C8 49 08 - sta ZpB7,x ; CPU:$F1CA PRG:71CA 95 B7 + sta SpriteIndex,x ; CPU:$F1CA PRG:71CA 95 B7 and #$08 ; CPU:$F1CC PRG:71CC 29 08 - bne NmiHandler_OnNonzero94 ; CPU:$F1CE PRG:71CE D0 CB - jmp Sub_F1AB ; CPU:$F1D0 PRG:71D0 4C AB F1 + bne NmiHandler_OnNonzero95 ; CPU:$F1CE PRG:71CE D0 CB + jmp Sub_F1AB ; CPU:$F1D0 PRG:71D0 4C AB F1 ; ----------------------------------------------------------------------------- ; Routine: Sub_F1D3 -; Global: Branch target inside Label: taken when F1D3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F1D3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -18928,23 +19466,24 @@ Sub_F1D3: rts ; CPU:$F1DB PRG:71DB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F1DC -; Global: Branch target inside Label: taken when F1DC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F1DC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F1DC: - lda ZpB7,x ; CPU:$F1DC PRG:71DC B5 B7 + lda SpriteIndex,x ; CPU:$F1DC PRG:71DC B5 B7 ora #$80 ; CPU:$F1DE PRG:71DE 09 80 - sta ZpB7,x ; CPU:$F1E0 PRG:71E0 95 B7 + sta SpriteIndex,x ; CPU:$F1E0 PRG:71E0 95 B7 rts ; CPU:$F1E2 PRG:71E2 60 ; ---- data $F1E3-$F4DA (760 bytes) ---- ; referenced by `lda $F27A,y` at $ED10 (operand $F27A falls inside this region) ; referenced by `lda $F1E3,y` at $F0FB (operand $F1E3 falls inside this region) ; referenced by `lda $F1EA,y` at $F182 (operand $F1EA falls inside this region) ; referenced by `lda $F20A,y` at $F191 (operand $F20A falls inside this region) - .byte $0F, $14, $19, $1E, $23, $28, $2D, $80, $80, $80, $80, $80, $80, $80, $80, $80 ; CPU:$F1E3 PRG:71E3 0F 14 19 1E 23 28 2D 80 80 80 80 80 80 80 80 80 +LevelSceneryTileData: + .byte $0F, $14, $19, $1E, $23, $28, $2D, $80, $80, $80, $80, $80, $80, $80, $80, $80 ; CPU:$F1E3 PRG:31E3 0F 14 19 1E 23 28 2D 80 80 80 80 80 80 80 80 80 .byte $80, $80, $00, $00, $00, $F0, $80, $20, $20, $E0, $E0, $00, $00, $00, $00, $80 ; CPU:$F1F3 PRG:71F3 80 80 00 00 00 F0 80 20 20 E0 E0 00 00 00 00 80 .byte $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80 ; CPU:$F203 PRG:7203 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 .byte $80, $80, $80, $00, $00, $00, $80, $80, $20, $20, $E0, $80, $80, $00, $00, $00 ; CPU:$F213 PRG:7213 80 80 80 00 00 00 80 80 20 20 E0 80 80 00 00 00 @@ -19004,45 +19543,45 @@ Label_F4DB: lda #$00 ; CPU:$F4DB PRG:74DB A9 00 sta $06E6 ; CPU:$F4DD PRG:74DD 8D E6 06 lda #$68 ; CPU:$F4E0 PRG:74E0 A9 68 - sta Zp70 ; CPU:$F4E2 PRG:74E2 85 70 + sta PlayerSpriteY ; CPU:$F4E2 PRG:74E2 85 70 lda #$97 ; CPU:$F4E4 PRG:74E4 A9 97 - sta Zp6F ; CPU:$F4E6 PRG:74E6 85 6F + sta PlayerSpriteX ; CPU:$F4E6 PRG:74E6 85 6F ldx #$01 ; CPU:$F4E8 PRG:74E8 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero95 -; Global: Branch target inside Label: taken when F4EA. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero96 +; Global: Branch target inside NmiHandler: taken when OnNonzero96. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero95: +NmiHandler_OnNonzero96: lda #$00 ; CPU:$F4EA PRG:74EA A9 00 - sta ZpB7,x ; CPU:$F4EC PRG:74EC 95 B7 - lda Zp70 ; CPU:$F4EE PRG:74EE A5 70 - sta ZpC8,x ; CPU:$F4F0 PRG:74F0 95 C8 + sta SpriteIndex,x ; CPU:$F4EC PRG:74EC 95 B7 + lda PlayerSpriteY ; CPU:$F4EE PRG:74EE A5 70 + sta SpriteYPosition,x ; CPU:$F4F0 PRG:74F0 95 C8 clc ; CPU:$F4F2 PRG:74F2 18 adc #$0A ; CPU:$F4F3 PRG:74F3 69 0A - sta Zp70 ; CPU:$F4F5 PRG:74F5 85 70 - lda Zp6F ; CPU:$F4F7 PRG:74F7 A5 6F + sta PlayerSpriteY ; CPU:$F4F5 PRG:74F5 85 70 + lda PlayerSpriteX ; CPU:$F4F7 PRG:74F7 A5 6F sta $0390,x ; CPU:$F4F9 PRG:74F9 9D 90 03 lda #$40 ; CPU:$F4FC PRG:74FC A9 40 sta $0336,x ; CPU:$F4FE PRG:74FE 9D 36 03 lda #$88 ; CPU:$F501 PRG:7501 A9 88 sta $0303,x ; CPU:$F503 PRG:7503 9D 03 03 lda #$08 ; CPU:$F506 PRG:7506 A9 08 - sta Zp73 ; CPU:$F508 PRG:7508 85 73 + sta VramWritePtrLo ; CPU:$F508 PRG:7508 85 73 lda #$F6 ; CPU:$F50A PRG:750A A9 F6 - sta Zp74 ; CPU:$F50C PRG:750C 85 74 - jsr Sub_8334 ; CPU:$F50E PRG:750E 20 34 83 - inc Zp6F ; CPU:$F511 PRG:7511 E6 6F + sta VramWritePtrHi ; CPU:$F50C PRG:750C 85 74 + jsr Sub_8334 ; CPU:$F50E PRG:750E 20 34 83 + inc PlayerSpriteX ; CPU:$F511 PRG:7511 E6 6F inx ; CPU:$F513 PRG:7513 E8 cpx #$06 ; CPU:$F514 PRG:7514 E0 06 - bne NmiHandler_OnNonzero95 ; CPU:$F516 PRG:7516 D0 D2 + bne NmiHandler_OnNonzero96 ; CPU:$F516 PRG:7516 D0 D2 ; ----------------------------------------------------------------------------- ; Routine: Sub_F518 -; Global: Branch target inside Label: taken when F518. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F518. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19050,96 +19589,96 @@ NmiHandler_OnNonzero95: Sub_F518: ldx #$01 ; CPU:$F518 PRG:7518 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero96 -; Global: Branch target inside Label: taken when F51A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero96: - lda ZpB7,x ; CPU:$F51A PRG:751A B5 B7 - bmi NmiHandler_Loop613 ; CPU:$F51C PRG:751C 30 11 - lda ZpCF ; CPU:$F51E PRG:751E A5 CF - cmp ZpC8,x ; CPU:$F520 PRG:7520 D5 C8 - bcs NmiHandler_Loop614 ; CPU:$F522 PRG:7522 B0 0F -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero97 -; Global: Branch target inside Label: taken when F524. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero97. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero97: - inx ; CPU:$F524 PRG:7524 E8 - cpx #$06 ; CPU:$F525 PRG:7525 E0 06 - bne NmiHandler_OnNonzero96 ; CPU:$F527 PRG:7527 D0 F1 - jsr Sub_82A3 ; CPU:$F529 PRG:7529 20 A3 82 - jmp Sub_F518 ; CPU:$F52C PRG:752C 4C 18 F5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop613 -; Global: Branch target inside Label: taken when F52F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop613: - and #$01 ; CPU:$F52F PRG:752F 29 01 - bne NmiHandler_OnNonzero97 ; CPU:$F531 PRG:7531 D0 F1 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop614 -; Global: Branch target inside Label: taken when F533. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop614: - lda $06E6 ; CPU:$F533 PRG:7533 AD E6 06 - bne NmiHandler_Loop615 ; CPU:$F536 PRG:7536 D0 0A - lda #$FF ; CPU:$F538 PRG:7538 A9 FF - sta $06E6 ; CPU:$F53A PRG:753A 8D E6 06 - lda #$10 ; CPU:$F53D PRG:753D A9 10 - jsr Sub_F6DB ; CPU:$F53F PRG:753F 20 DB F6 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop615 -; Global: Branch target inside Label: taken when F542. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop615: - lda #$80 ; CPU:$F542 PRG:7542 A9 80 - sta ZpB7,x ; CPU:$F544 PRG:7544 95 B7 - jsr NmiHandler_Loop17 ; CPU:$F546 PRG:7546 20 62 83 - bcc NmiHandler_OnNonzero97 ; CPU:$F549 PRG:7549 90 D9 - lda #$81 ; CPU:$F54B PRG:754B A9 81 - sta ZpB7,x ; CPU:$F54D PRG:754D 95 B7 - lda $0390,x ; CPU:$F54F PRG:754F BD 90 03 - sta $0314,x ; CPU:$F552 PRG:7552 9D 14 03 - bne NmiHandler_OnNonzero97 ; CPU:$F555 PRG:7555 D0 CD - lda #$68 ; CPU:$F557 PRG:7557 A9 68 - sta Zp70 ; CPU:$F559 PRG:7559 85 70 - ldx #$08 ; CPU:$F55B PRG:755B A2 08 + lda SpriteIndex,x ; CPU:$F51A PRG:751A B5 B7 + bmi NmiHandler_Loop619 ; CPU:$F51C PRG:751C 30 11 + lda ZpCF ; CPU:$F51E PRG:751E A5 CF + cmp SpriteYPosition,x ; CPU:$F520 PRG:7520 D5 C8 + bcs NmiHandler_Loop620 ; CPU:$F522 PRG:7522 B0 0F ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero98 -; Global: Branch target inside Label: taken when F55D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero98. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero98: + inx ; CPU:$F524 PRG:7524 E8 + cpx #$06 ; CPU:$F525 PRG:7525 E0 06 + bne NmiHandler_OnNonzero97 ; CPU:$F527 PRG:7527 D0 F1 + jsr Sub_82A3 ; CPU:$F529 PRG:7529 20 A3 82 + jmp Sub_F518 ; CPU:$F52C PRG:752C 4C 18 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop619 +; Global: Branch target inside NmiHandler: taken when Loop619. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop619: + and #$01 ; CPU:$F52F PRG:752F 29 01 + bne NmiHandler_OnNonzero98 ; CPU:$F531 PRG:7531 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop620 +; Global: Branch target inside NmiHandler: taken when Loop620. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop620: + lda $06E6 ; CPU:$F533 PRG:7533 AD E6 06 + bne NmiHandler_Loop621 ; CPU:$F536 PRG:7536 D0 0A + lda #$FF ; CPU:$F538 PRG:7538 A9 FF + sta $06E6 ; CPU:$F53A PRG:753A 8D E6 06 + lda #$10 ; CPU:$F53D PRG:753D A9 10 + jsr Sub_F6DB ; CPU:$F53F PRG:753F 20 DB F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop621 +; Global: Branch target inside NmiHandler: taken when Loop621. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop621: + lda #$80 ; CPU:$F542 PRG:7542 A9 80 + sta SpriteIndex,x ; CPU:$F544 PRG:7544 95 B7 + jsr NmiHandler_Loop17 ; CPU:$F546 PRG:7546 20 62 83 + bcc NmiHandler_OnNonzero98 ; CPU:$F549 PRG:7549 90 D9 + lda #$81 ; CPU:$F54B PRG:754B A9 81 + sta SpriteIndex,x ; CPU:$F54D PRG:754D 95 B7 + lda $0390,x ; CPU:$F54F PRG:754F BD 90 03 + sta $0314,x ; CPU:$F552 PRG:7552 9D 14 03 + bne NmiHandler_OnNonzero98 ; CPU:$F555 PRG:7555 D0 CD + lda #$68 ; CPU:$F557 PRG:7557 A9 68 + sta PlayerSpriteY ; CPU:$F559 PRG:7559 85 70 + ldx #$08 ; CPU:$F55B PRG:755B A2 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero99 +; Global: Branch target inside NmiHandler: taken when OnNonzero99. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero99: lda #$00 ; CPU:$F55D PRG:755D A9 00 - sta ZpB7,x ; CPU:$F55F PRG:755F 95 B7 - lda Zp70 ; CPU:$F561 PRG:7561 A5 70 - sta ZpC8,x ; CPU:$F563 PRG:7563 95 C8 + sta SpriteIndex,x ; CPU:$F55F PRG:755F 95 B7 + lda PlayerSpriteY ; CPU:$F561 PRG:7561 A5 70 + sta SpriteYPosition,x ; CPU:$F563 PRG:7563 95 C8 clc ; CPU:$F565 PRG:7565 18 adc #$0A ; CPU:$F566 PRG:7566 69 0A - sta Zp70 ; CPU:$F568 PRG:7568 85 70 + sta PlayerSpriteY ; CPU:$F568 PRG:7568 85 70 lda #$8D ; CPU:$F56A PRG:756A A9 8D sta $0390,x ; CPU:$F56C PRG:756C 9D 90 03 lda #$40 ; CPU:$F56F PRG:756F A9 40 @@ -19147,63 +19686,63 @@ NmiHandler_OnNonzero98: lda #$92 ; CPU:$F574 PRG:7574 A9 92 sta $0303,x ; CPU:$F576 PRG:7576 9D 03 03 lda #$08 ; CPU:$F579 PRG:7579 A9 08 - sta Zp73 ; CPU:$F57B PRG:757B 85 73 + sta VramWritePtrLo ; CPU:$F57B PRG:757B 85 73 lda #$F6 ; CPU:$F57D PRG:757D A9 F6 - sta Zp74 ; CPU:$F57F PRG:757F 85 74 - jsr Sub_8334 ; CPU:$F581 PRG:7581 20 34 83 + sta VramWritePtrHi ; CPU:$F57F PRG:757F 85 74 + jsr Sub_8334 ; CPU:$F581 PRG:7581 20 34 83 inx ; CPU:$F584 PRG:7584 E8 cpx #$0D ; CPU:$F585 PRG:7585 E0 0D - bne NmiHandler_OnNonzero98 ; CPU:$F587 PRG:7587 D0 D4 + bne NmiHandler_OnNonzero99 ; CPU:$F587 PRG:7587 D0 D4 lda $058E ; CPU:$F589 PRG:7589 AD 8E 05 clc ; CPU:$F58C PRG:758C 18 adc #$01 ; CPU:$F58D PRG:758D 69 01 ldy #$00 ; CPU:$F58F PRG:758F A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero99 -; Global: Branch target inside Label: taken when F591. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero100 +; Global: Branch target inside NmiHandler: taken when OnNonzero100. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero99: +NmiHandler_OnNonzero100: sec ; CPU:$F591 PRG:7591 38 sbc #$0A ; CPU:$F592 PRG:7592 E9 0A - bcc NmiHandler_Loop616 ; CPU:$F594 PRG:7594 90 03 + bcc NmiHandler_Loop622 ; CPU:$F594 PRG:7594 90 03 iny ; CPU:$F596 PRG:7596 C8 - bne NmiHandler_OnNonzero99 ; CPU:$F597 PRG:7597 D0 F8 + bne NmiHandler_OnNonzero100 ; CPU:$F597 PRG:7597 D0 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop616 -; Global: Branch target inside Label: taken when F599. -; Local: Part of Label. +; Routine: NmiHandler_Loop622 +; Global: Branch target inside NmiHandler: taken when Loop622. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop616: +NmiHandler_Loop622: adc #$0A ; CPU:$F599 PRG:7599 69 0A clc ; CPU:$F59B PRG:759B 18 adc #$8D ; CPU:$F59C PRG:759C 69 8D sta $0399 ; CPU:$F59E PRG:759E 8D 99 03 tya ; CPU:$F5A1 PRG:75A1 98 - beq NmiHandler_Loop617 ; CPU:$F5A2 PRG:75A2 F0 02 + beq NmiHandler_Loop623 ; CPU:$F5A2 PRG:75A2 F0 02 lda #$0F ; CPU:$F5A4 PRG:75A4 A9 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop617 -; Global: Branch target inside Label: taken when F5A6. -; Local: Part of Label. +; Routine: NmiHandler_Loop623 +; Global: Branch target inside NmiHandler: taken when Loop623. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop617: +NmiHandler_Loop623: clc ; CPU:$F5A6 PRG:75A6 18 adc #$8D ; CPU:$F5A7 PRG:75A7 69 8D sta $0398 ; CPU:$F5A9 PRG:75A9 8D 98 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5AC -; Global: Branch target inside Label: taken when F5AC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F5AC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19211,74 +19750,74 @@ NmiHandler_Loop617: Sub_F5AC: ldx #$08 ; CPU:$F5AC PRG:75AC A2 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero100 -; Global: Branch target inside Label: taken when F5AE. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero100: - lda ZpB7,x ; CPU:$F5AE PRG:75AE B5 B7 - bmi NmiHandler_Loop618 ; CPU:$F5B0 PRG:75B0 30 11 - lda ZpCF ; CPU:$F5B2 PRG:75B2 A5 CF - cmp ZpC8,x ; CPU:$F5B4 PRG:75B4 D5 C8 - bcs NmiHandler_Loop619 ; CPU:$F5B6 PRG:75B6 B0 0F -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero101 -; Global: Branch target inside Label: taken when F5B8. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero101. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero101: + lda SpriteIndex,x ; CPU:$F5AE PRG:75AE B5 B7 + bmi NmiHandler_Loop624 ; CPU:$F5B0 PRG:75B0 30 11 + lda ZpCF ; CPU:$F5B2 PRG:75B2 A5 CF + cmp SpriteYPosition,x ; CPU:$F5B4 PRG:75B4 D5 C8 + bcs NmiHandler_Loop625 ; CPU:$F5B6 PRG:75B6 B0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero102 +; Global: Branch target inside NmiHandler: taken when OnNonzero102. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero102: inx ; CPU:$F5B8 PRG:75B8 E8 cpx #$0D ; CPU:$F5B9 PRG:75B9 E0 0D - bne NmiHandler_OnNonzero100 ; CPU:$F5BB PRG:75BB D0 F1 - jsr Sub_82A3 ; CPU:$F5BD PRG:75BD 20 A3 82 - jmp Sub_F5AC ; CPU:$F5C0 PRG:75C0 4C AC F5 + bne NmiHandler_OnNonzero101 ; CPU:$F5BB PRG:75BB D0 F1 + jsr Sub_82A3 ; CPU:$F5BD PRG:75BD 20 A3 82 + jmp Sub_F5AC ; CPU:$F5C0 PRG:75C0 4C AC F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop618 -; Global: Branch target inside Label: taken when F5C3. -; Local: Part of Label. +; Routine: NmiHandler_Loop624 +; Global: Branch target inside NmiHandler: taken when Loop624. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop618: +NmiHandler_Loop624: and #$01 ; CPU:$F5C3 PRG:75C3 29 01 - bne NmiHandler_OnNonzero101 ; CPU:$F5C5 PRG:75C5 D0 F1 + bne NmiHandler_OnNonzero102 ; CPU:$F5C5 PRG:75C5 D0 F1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop619 -; Global: Branch target inside Label: taken when F5C7. -; Local: Part of Label. +; Routine: NmiHandler_Loop625 +; Global: Branch target inside NmiHandler: taken when Loop625. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop619: +NmiHandler_Loop625: lda #$80 ; CPU:$F5C7 PRG:75C7 A9 80 - sta ZpB7,x ; CPU:$F5C9 PRG:75C9 95 B7 - jsr NmiHandler_Loop17 ; CPU:$F5CB PRG:75CB 20 62 83 - bcc NmiHandler_OnNonzero101 ; CPU:$F5CE PRG:75CE 90 E8 + sta SpriteIndex,x ; CPU:$F5C9 PRG:75C9 95 B7 + jsr NmiHandler_Loop17 ; CPU:$F5CB PRG:75CB 20 62 83 + bcc NmiHandler_OnNonzero102 ; CPU:$F5CE PRG:75CE 90 E8 lda #$81 ; CPU:$F5D0 PRG:75D0 A9 81 - sta ZpB7,x ; CPU:$F5D2 PRG:75D2 95 B7 + sta SpriteIndex,x ; CPU:$F5D2 PRG:75D2 95 B7 lda $0390,x ; CPU:$F5D4 PRG:75D4 BD 90 03 sta $0314,x ; CPU:$F5D7 PRG:75D7 9D 14 03 - bne NmiHandler_OnNonzero101 ; CPU:$F5DA PRG:75DA D0 DC + bne NmiHandler_OnNonzero102 ; CPU:$F5DA PRG:75DA D0 DC ldx #$00 ; CPU:$F5DC PRG:75DC A2 00 lda #$80 ; CPU:$F5DE PRG:75DE A9 80 - sta ZpB7,x ; CPU:$F5E0 PRG:75E0 95 B7 + sta SpriteIndex,x ; CPU:$F5E0 PRG:75E0 95 B7 lda #$3A ; CPU:$F5E2 PRG:75E2 A9 3A - sta Zp73 ; CPU:$F5E4 PRG:75E4 85 73 + sta VramWritePtrLo ; CPU:$F5E4 PRG:75E4 85 73 lda #$F6 ; CPU:$F5E6 PRG:75E6 A9 F6 - sta Zp74 ; CPU:$F5E8 PRG:75E8 85 74 - jsr Sub_8334 ; CPU:$F5EA PRG:75EA 20 34 83 + sta VramWritePtrHi ; CPU:$F5E8 PRG:75E8 85 74 + jsr Sub_8334 ; CPU:$F5EA PRG:75EA 20 34 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5ED -; Global: Branch target inside Label: taken when F5ED. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F5ED. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19287,56 +19826,72 @@ Sub_F5ED: lda $030A ; CPU:$F5ED PRG:75ED AD 0A 03 sta $0303,x ; CPU:$F5F0 PRG:75F0 9D 03 03 lda ZpCF ; CPU:$F5F3 PRG:75F3 A5 CF - sta ZpC8,x ; CPU:$F5F5 PRG:75F5 95 C8 + sta SpriteYPosition,x ; CPU:$F5F5 PRG:75F5 95 C8 cmp #$D0 ; CPU:$F5F7 PRG:75F7 C9 D0 - bcs NmiHandler_Loop620 ; CPU:$F5F9 PRG:75F9 B0 06 - jsr NmiHandler_Loop17 ; CPU:$F5FB PRG:75FB 20 62 83 - jmp Sub_F5ED ; CPU:$F5FE PRG:75FE 4C ED F5 + bcs NmiHandler_Loop626 ; CPU:$F5F9 PRG:75F9 B0 06 + jsr NmiHandler_Loop17 ; CPU:$F5FB PRG:75FB 20 62 83 + jmp Sub_F5ED ; CPU:$F5FE PRG:75FE 4C ED F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop620 -; Global: Branch target inside Label: taken when F601. +; Routine: NmiHandler_Loop626 +; Global: Branch target inside NmiHandler: taken when Loop626. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop626: + lda #$00 ; CPU:$F601 PRG:7601 A9 00 + sta SpriteIndex,x ; CPU:$F603 PRG:7603 95 B7 + jsr Sub_8266 ; CPU:$F605 PRG:7605 20 66 82 + ora (Zp6E,x) ; CPU:$F608 PRG:7608 01 6E + ora (PlayerSpriteX,x) ; CPU:$F60A PRG:760A 01 6F + ora (PlayerSpriteY,x) ; CPU:$F60C PRG:760C 01 70 + ora (OamShadowPtrLo,x) ; CPU:$F60E PRG:760E 01 71 + ora (OamShadowPtrHi,x) ; CPU:$F610 PRG:7610 01 72 + ora (VramWritePtrLo,x) ; CPU:$F612 PRG:7612 01 73 + ora (VramWritePtrHi,x) ; CPU:$F614 PRG:7614 01 74 + ora (Zp75,x) ; CPU:$F616 PRG:7616 01 75 + ora (Zp6E,x) ; CPU:$F618 PRG:7618 01 6E + ora (PlayerSpriteX,x) ; CPU:$F61A PRG:761A 01 6F + ora (PlayerSpriteY,x) ; CPU:$F61C PRG:761C 01 70 + ora (OamShadowPtrLo,x) ; CPU:$F61E PRG:761E 01 71 + ora (OamShadowPtrHi,x) ; CPU:$F620 PRG:7620 01 72 + ora (VramWritePtrLo,x) ; CPU:$F622 PRG:7622 01 73 + ora (VramWritePtrHi,x) ; CPU:$F624 PRG:7624 01 74 + ora (Zp75,x) ; CPU:$F626 PRG:7626 01 75 + ora (Zp6E,x) ; CPU:$F628 PRG:7628 01 6E + ora (PlayerSpriteX,x) ; CPU:$F62A PRG:762A 01 6F + ora (PlayerSpriteY,x) ; CPU:$F62C PRG:762C 01 70 + ora (OamShadowPtrLo,x) ; CPU:$F62E PRG:762E 01 71 + ora (OamShadowPtrHi,x) ; CPU:$F630 PRG:7630 01 72 + ora (VramWritePtrLo,x) ; CPU:$F632 PRG:7632 01 73 + ora (VramWritePtrHi,x) ; CPU:$F634 PRG:7634 01 74 + ora (Zp75,x) ; CPU:$F636 PRG:7636 01 75 + ora (ZpFF,x) ; CPU:$F638 PRG:7638 01 FF + brk ; CPU:$F63A PRG:763A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F63B +; Global: Branch target inside Label: taken when F63B. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop620: - lda #$00 ; CPU:$F601 PRG:7601 A9 00 - sta ZpB7,x ; CPU:$F603 PRG:7603 95 B7 - jsr Sub_8266 ; CPU:$F605 PRG:7605 20 66 82 - ora (Zp6E,x) ; CPU:$F608 PRG:7608 01 6E - ora (Zp6F,x) ; CPU:$F60A PRG:760A 01 6F - ora (Zp70,x) ; CPU:$F60C PRG:760C 01 70 - ora (Zp71,x) ; CPU:$F60E PRG:760E 01 71 - ora (Zp72,x) ; CPU:$F610 PRG:7610 01 72 - ora (Zp73,x) ; CPU:$F612 PRG:7612 01 73 - ora (Zp74,x) ; CPU:$F614 PRG:7614 01 74 - ora (Zp75,x) ; CPU:$F616 PRG:7616 01 75 - ora (Zp6E,x) ; CPU:$F618 PRG:7618 01 6E - ora (Zp6F,x) ; CPU:$F61A PRG:761A 01 6F - ora (Zp70,x) ; CPU:$F61C PRG:761C 01 70 - ora (Zp71,x) ; CPU:$F61E PRG:761E 01 71 - ora (Zp72,x) ; CPU:$F620 PRG:7620 01 72 - ora (Zp73,x) ; CPU:$F622 PRG:7622 01 73 - ora (Zp74,x) ; CPU:$F624 PRG:7624 01 74 - ora (Zp75,x) ; CPU:$F626 PRG:7626 01 75 - ora (Zp6E,x) ; CPU:$F628 PRG:7628 01 6E - ora (Zp6F,x) ; CPU:$F62A PRG:762A 01 6F - ora (Zp70,x) ; CPU:$F62C PRG:762C 01 70 - ora (Zp71,x) ; CPU:$F62E PRG:762E 01 71 - ora (Zp72,x) ; CPU:$F630 PRG:7630 01 72 - ora (Zp73,x) ; CPU:$F632 PRG:7632 01 73 - ora (Zp74,x) ; CPU:$F634 PRG:7634 01 74 - ora (Zp75,x) ; CPU:$F636 PRG:7636 01 75 - ora (ZpFF,x) ; CPU:$F638 PRG:7638 01 FF - brk ; CPU:$F63A PRG:763A 00 -; ---- data $F63B-$F64D (19 bytes) ---- - .byte $58, $01, $59, $01, $5A, $01, $59, $01, $5A, $01, $5A, $01, $5B, $01, $5A, $01 ; CPU:$F63B PRG:763B 58 01 59 01 5A 01 59 01 5A 01 5A 01 5B 01 5A 01 - .byte $59, $01, $FF ; CPU:$F64B PRG:764B 59 01 FF +Label_F63B: + cli ; CPU:$F63B PRG:763B 58 + ora (Zp59,x) ; CPU:$F63C PRG:763C 01 59 + ora (Zp5A,x) ; CPU:$F63E PRG:763E 01 5A + ora (Zp59,x) ; CPU:$F640 PRG:7640 01 59 + ora (Zp5A,x) ; CPU:$F642 PRG:7642 01 5A + ora (Zp5A,x) ; CPU:$F644 PRG:7644 01 5A + ora (Zp5B,x) ; CPU:$F646 PRG:7646 01 5B + ora (Zp5A,x) ; CPU:$F648 PRG:7648 01 5A + ora (Zp59,x) ; CPU:$F64A PRG:764A 01 59 + ora (ZpFF,x) ; CPU:$F64C PRG:764C 01 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_F64E -; Global: Branch target inside Label: taken when F64E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F64E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19347,7 +19902,7 @@ Sub_F64E: lda #$06 ; CPU:$F652 PRG:7652 A9 06 sta ZpA8 ; CPU:$F654 PRG:7654 85 A8 lda #$9E ; CPU:$F656 PRG:7656 A9 9E - sta ZpA9 ; CPU:$F658 PRG:7658 85 A9 + sta GameState ; CPU:$F658 PRG:7658 85 A9 lda #$06 ; CPU:$F65A PRG:765A A9 06 sta ZpAA ; CPU:$F65C PRG:765C 85 AA lda $FAB3 ; CPU:$F65E PRG:765E AD B3 FA @@ -19361,96 +19916,96 @@ Sub_F64E: ldy #$00 ; CPU:$F670 PRG:7670 A0 00 lda #$00 ; CPU:$F672 PRG:7672 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero102 -; Global: Branch target inside Label: taken when F674. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero102: - sta (ZpA7),y ; CPU:$F674 PRG:7674 91 A7 - iny ; CPU:$F676 PRG:7676 C8 - cpy #$06 ; CPU:$F677 PRG:7677 C0 06 - bne NmiHandler_OnNonzero102 ; CPU:$F679 PRG:7679 D0 F9 - ldy #$00 ; CPU:$F67B PRG:767B A0 00 - lda #$06 ; CPU:$F67D PRG:767D A9 06 - sta Zp70 ; CPU:$F67F PRG:767F 85 70 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero103 -; Global: Branch target inside Label: taken when F681. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero103. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero103: - lda #$00 ; CPU:$F681 PRG:7681 A9 00 - sta (ZpA9),y ; CPU:$F683 PRG:7683 91 A9 - tya ; CPU:$F685 PRG:7685 98 - clc ; CPU:$F686 PRG:7686 18 - adc #$08 ; CPU:$F687 PRG:7687 69 08 - tay ; CPU:$F689 PRG:7689 A8 - dec Zp70 ; CPU:$F68A PRG:768A C6 70 - bne NmiHandler_OnNonzero103 ; CPU:$F68C PRG:768C D0 F3 - lda #$00 ; CPU:$F68E PRG:768E A9 00 - sta Zp71 ; CPU:$F690 PRG:7690 85 71 - lda #$40 ; CPU:$F692 PRG:7692 A9 40 - sta Zp72 ; CPU:$F694 PRG:7694 85 72 - lda #$03 ; CPU:$F696 PRG:7696 A9 03 - sta Zp70 ; CPU:$F698 PRG:7698 85 70 - ldy #$00 ; CPU:$F69A PRG:769A A0 00 + sta (ZpA7),y ; CPU:$F674 PRG:7674 91 A7 + iny ; CPU:$F676 PRG:7676 C8 + cpy #$06 ; CPU:$F677 PRG:7677 C0 06 + bne NmiHandler_OnNonzero103 ; CPU:$F679 PRG:7679 D0 F9 + ldy #$00 ; CPU:$F67B PRG:767B A0 00 + lda #$06 ; CPU:$F67D PRG:767D A9 06 + sta PlayerSpriteY ; CPU:$F67F PRG:767F 85 70 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero104 -; Global: Branch target inside Label: taken when F69C. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero104. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero104: - lda #$70 ; CPU:$F69C PRG:769C A9 70 - sta (Zp71),y ; CPU:$F69E PRG:769E 91 71 - iny ; CPU:$F6A0 PRG:76A0 C8 - iny ; CPU:$F6A1 PRG:76A1 C8 - iny ; CPU:$F6A2 PRG:76A2 C8 - iny ; CPU:$F6A3 PRG:76A3 C8 - dec Zp70 ; CPU:$F6A4 PRG:76A4 C6 70 - bne NmiHandler_OnNonzero104 ; CPU:$F6A6 PRG:76A6 D0 F4 - jsr Sub_F6C0 ; CPU:$F6A8 PRG:76A8 20 C0 F6 - ldy #$05 ; CPU:$F6AB PRG:76AB A0 05 - lda #$FF ; CPU:$F6AD PRG:76AD A9 FF + lda #$00 ; CPU:$F681 PRG:7681 A9 00 + sta (GameState),y ; CPU:$F683 PRG:7683 91 A9 + tya ; CPU:$F685 PRG:7685 98 + clc ; CPU:$F686 PRG:7686 18 + adc #$08 ; CPU:$F687 PRG:7687 69 08 + tay ; CPU:$F689 PRG:7689 A8 + dec PlayerSpriteY ; CPU:$F68A PRG:768A C6 70 + bne NmiHandler_OnNonzero104 ; CPU:$F68C PRG:768C D0 F3 + lda #$00 ; CPU:$F68E PRG:768E A9 00 + sta OamShadowPtrLo ; CPU:$F690 PRG:7690 85 71 + lda #$40 ; CPU:$F692 PRG:7692 A9 40 + sta OamShadowPtrHi ; CPU:$F694 PRG:7694 85 72 + lda #$03 ; CPU:$F696 PRG:7696 A9 03 + sta PlayerSpriteY ; CPU:$F698 PRG:7698 85 70 + ldy #$00 ; CPU:$F69A PRG:769A A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative19 -; Global: Branch target inside Label: taken when F6AF. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero105 +; Global: Branch target inside NmiHandler: taken when OnNonzero105. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative19: - sta $06DA,y ; CPU:$F6AF PRG:76AF 99 DA 06 - dey ; CPU:$F6B2 PRG:76B2 88 - bpl NmiHandler_OnNonnegative19 ; CPU:$F6B3 PRG:76B3 10 FA - ldy #$0B ; CPU:$F6B5 PRG:76B5 A0 0B - lda #$00 ; CPU:$F6B7 PRG:76B7 A9 00 +NmiHandler_OnNonzero105: + lda #$70 ; CPU:$F69C PRG:769C A9 70 + sta (OamShadowPtrLo),y ; CPU:$F69E PRG:769E 91 71 + iny ; CPU:$F6A0 PRG:76A0 C8 + iny ; CPU:$F6A1 PRG:76A1 C8 + iny ; CPU:$F6A2 PRG:76A2 C8 + iny ; CPU:$F6A3 PRG:76A3 C8 + dec PlayerSpriteY ; CPU:$F6A4 PRG:76A4 C6 70 + bne NmiHandler_OnNonzero105 ; CPU:$F6A6 PRG:76A6 D0 F4 + jsr Sub_F6C0 ; CPU:$F6A8 PRG:76A8 20 C0 F6 + ldy #$05 ; CPU:$F6AB PRG:76AB A0 05 + lda #$FF ; CPU:$F6AD PRG:76AD A9 FF ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative20 -; Global: Branch target inside Label: taken when F6B9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative20: + sta $06DA,y ; CPU:$F6AF PRG:76AF 99 DA 06 + dey ; CPU:$F6B2 PRG:76B2 88 + bpl NmiHandler_OnNonnegative20 ; CPU:$F6B3 PRG:76B3 10 FA + ldy #$0B ; CPU:$F6B5 PRG:76B5 A0 0B + lda #$00 ; CPU:$F6B7 PRG:76B7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative21 +; Global: Branch target inside NmiHandler: taken when OnNonnegative21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative21: sta $06CE,y ; CPU:$F6B9 PRG:76B9 99 CE 06 dey ; CPU:$F6BC PRG:76BC 88 - bpl NmiHandler_OnNonnegative20 ; CPU:$F6BD PRG:76BD 10 FA + bpl NmiHandler_OnNonnegative21 ; CPU:$F6BD PRG:76BD 10 FA rts ; CPU:$F6BF PRG:76BF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6C0 -; Global: Branch target inside Label: taken when F6C0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F6C0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19459,22 +20014,22 @@ Sub_F6C0: ldy #$04 ; CPU:$F6C0 PRG:76C0 A0 04 lda #$00 ; CPU:$F6C2 PRG:76C2 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative21 -; Global: Branch target inside Label: taken when F6C4. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative22 +; Global: Branch target inside NmiHandler: taken when OnNonnegative22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative21: +NmiHandler_OnNonnegative22: sta $0693,y ; CPU:$F6C4 PRG:76C4 99 93 06 dey ; CPU:$F6C7 PRG:76C7 88 - bpl NmiHandler_OnNonnegative21 ; CPU:$F6C8 PRG:76C8 10 FA + bpl NmiHandler_OnNonnegative22 ; CPU:$F6C8 PRG:76C8 10 FA rts ; CPU:$F6CA PRG:76CA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6CB -; Global: Branch target inside Label: taken when F6CB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F6CB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19482,36 +20037,36 @@ NmiHandler_OnNonnegative21: Sub_F6CB: ldy #$00 ; CPU:$F6CB PRG:76CB A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero105 -; Global: Branch target inside Label: taken when F6CD. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero106 +; Global: Branch target inside NmiHandler: taken when OnNonzero106. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero105: +NmiHandler_OnNonzero106: cmp $06DA,y ; CPU:$F6CD PRG:76CD D9 DA 06 - beq NmiHandler_Loop621 ; CPU:$F6D0 PRG:76D0 F0 07 + beq NmiHandler_Loop627 ; CPU:$F6D0 PRG:76D0 F0 07 iny ; CPU:$F6D2 PRG:76D2 C8 cpy #$06 ; CPU:$F6D3 PRG:76D3 C0 06 - bne NmiHandler_OnNonzero105 ; CPU:$F6D5 PRG:76D5 D0 F6 + bne NmiHandler_OnNonzero106 ; CPU:$F6D5 PRG:76D5 D0 F6 clc ; CPU:$F6D7 PRG:76D7 18 rts ; CPU:$F6D8 PRG:76D8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop621 -; Global: Branch target inside Label: taken when F6D9. -; Local: Part of Label. +; Routine: NmiHandler_Loop627 +; Global: Branch target inside NmiHandler: taken when Loop627. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop621: +NmiHandler_Loop627: sec ; CPU:$F6D9 PRG:76D9 38 rts ; CPU:$F6DA PRG:76DA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6DB -; Global: Branch target inside Label: taken when F6DB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F6DB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19521,105 +20076,106 @@ Sub_F6DB: lsr a ; CPU:$F6DC PRG:76DC 4A lsr a ; CPU:$F6DD PRG:76DD 4A lsr a ; CPU:$F6DE PRG:76DE 4A - sta Zp70 ; CPU:$F6DF PRG:76DF 85 70 + sta PlayerSpriteY ; CPU:$F6DF PRG:76DF 85 70 lda #$93 ; CPU:$F6E1 PRG:76E1 A9 93 clc ; CPU:$F6E3 PRG:76E3 18 - adc Zp70 ; CPU:$F6E4 PRG:76E4 65 70 - sta Zp73 ; CPU:$F6E6 PRG:76E6 85 73 + adc PlayerSpriteY ; CPU:$F6E4 PRG:76E4 65 70 + sta VramWritePtrLo ; CPU:$F6E6 PRG:76E6 85 73 lda #$06 ; CPU:$F6E8 PRG:76E8 A9 06 adc #$00 ; CPU:$F6EA PRG:76EA 69 00 - sta Zp74 ; CPU:$F6EC PRG:76EC 85 74 + sta VramWritePtrHi ; CPU:$F6EC PRG:76EC 85 74 tya ; CPU:$F6EE PRG:76EE 98 and #$07 ; CPU:$F6EF PRG:76EF 29 07 tay ; CPU:$F6F1 PRG:76F1 A8 lda $F6FC,y ; CPU:$F6F2 PRG:76F2 B9 FC F6 ldy #$00 ; CPU:$F6F5 PRG:76F5 A0 00 - ora (Zp73),y ; CPU:$F6F7 PRG:76F7 11 73 - sta (Zp73),y ; CPU:$F6F9 PRG:76F9 91 73 + ora (VramWritePtrLo),y ; CPU:$F6F7 PRG:76F7 11 73 + sta (VramWritePtrLo),y ; CPU:$F6F9 PRG:76F9 91 73 rts ; CPU:$F6FB PRG:76FB 60 ; ---- data $F6FC-$F703 (8 bytes) ---- ; referenced by `lda $F6FC,y` at $F6F2 (operand $F6FC falls inside this region) - .byte $01, $02, $04, $08, $10, $20, $40, $80 ; CPU:$F6FC PRG:76FC 01 02 04 08 10 20 40 80 +PpuBitMaskTable: + .byte $01, $02, $04, $08, $10, $20, $40, $80 ; CPU:$F6FC PRG:36FC 01 02 04 08 10 20 40 80 ; ----------------------------------------------------------------------------- ; Routine: Sub_F704 -; Global: Branch target inside Label: taken when F704. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F704. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F704: - sta Zp70 ; CPU:$F704 PRG:7704 85 70 - jsr Sub_F6CB ; CPU:$F706 PRG:7706 20 CB F6 - bcs NmiHandler_Loop622 ; CPU:$F709 PRG:7709 B0 01 + sta PlayerSpriteY ; CPU:$F704 PRG:7704 85 70 + jsr Sub_F6CB ; CPU:$F706 PRG:7706 20 CB F6 + bcs NmiHandler_Loop628 ; CPU:$F709 PRG:7709 B0 01 rts ; CPU:$F70B PRG:770B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop622 -; Global: Branch target inside Label: taken when F70C. -; Local: Part of Label. +; Routine: NmiHandler_Loop628 +; Global: Branch target inside NmiHandler: taken when Loop628. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop622: - sty Zp70 ; CPU:$F70C PRG:770C 84 70 +NmiHandler_Loop628: + sty PlayerSpriteY ; CPU:$F70C PRG:770C 84 70 lda $06DA,y ; CPU:$F70E PRG:770E B9 DA 06 - sta Zp6F ; CPU:$F711 PRG:7711 85 6F + sta PlayerSpriteX ; CPU:$F711 PRG:7711 85 6F lda #$73 ; CPU:$F713 PRG:7713 A9 73 clc ; CPU:$F715 PRG:7715 18 - adc Zp6F ; CPU:$F716 PRG:7716 65 6F - sta Zp73 ; CPU:$F718 PRG:7718 85 73 + adc PlayerSpriteX ; CPU:$F716 PRG:7716 65 6F + sta VramWritePtrLo ; CPU:$F718 PRG:7718 85 73 lda #$FA ; CPU:$F71A PRG:771A A9 FA adc #$00 ; CPU:$F71C PRG:771C 69 00 - sta Zp74 ; CPU:$F71E PRG:771E 85 74 + sta VramWritePtrHi ; CPU:$F71E PRG:771E 85 74 ldy #$00 ; CPU:$F720 PRG:7720 A0 00 - lda (Zp73),y ; CPU:$F722 PRG:7722 B1 73 - sta Zp74 ; CPU:$F724 PRG:7724 85 74 - ldy Zp70 ; CPU:$F726 PRG:7726 A4 70 - asl Zp70 ; CPU:$F728 PRG:7728 06 70 - asl Zp70 ; CPU:$F72A PRG:772A 06 70 - asl Zp70 ; CPU:$F72C PRG:772C 06 70 - ldy Zp70 ; CPU:$F72E PRG:772E A4 70 - lda Zp74 ; CPU:$F730 PRG:7730 A5 74 - sta (ZpA9),y ; CPU:$F732 PRG:7732 91 A9 + lda (VramWritePtrLo),y ; CPU:$F722 PRG:7722 B1 73 + sta VramWritePtrHi ; CPU:$F724 PRG:7724 85 74 + ldy PlayerSpriteY ; CPU:$F726 PRG:7726 A4 70 + asl PlayerSpriteY ; CPU:$F728 PRG:7728 06 70 + asl PlayerSpriteY ; CPU:$F72A PRG:772A 06 70 + asl PlayerSpriteY ; CPU:$F72C PRG:772C 06 70 + ldy PlayerSpriteY ; CPU:$F72E PRG:772E A4 70 + lda VramWritePtrHi ; CPU:$F730 PRG:7730 A5 74 + sta (GameState),y ; CPU:$F732 PRG:7732 91 A9 lda #$05 ; CPU:$F734 PRG:7734 A9 05 clc ; CPU:$F736 PRG:7736 18 - adc Zp70 ; CPU:$F737 PRG:7737 65 70 + adc PlayerSpriteY ; CPU:$F737 PRG:7737 65 70 tay ; CPU:$F739 PRG:7739 A8 lda #$65 ; CPU:$F73A PRG:773A A9 65 - sta (ZpA9),y ; CPU:$F73C PRG:773C 91 A9 + sta (GameState),y ; CPU:$F73C PRG:773C 91 A9 iny ; CPU:$F73E PRG:773E C8 lda #$FF ; CPU:$F73F PRG:773F A9 FF - sta (ZpA9),y ; CPU:$F741 PRG:7741 91 A9 + sta (GameState),y ; CPU:$F741 PRG:7741 91 A9 rts ; CPU:$F743 PRG:7743 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F744 -; Global: Branch target inside Label: taken when F744. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F744. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F744: lda #$0C ; CPU:$F744 PRG:7744 A9 0C - sta Zp73 ; CPU:$F746 PRG:7746 85 73 + sta VramWritePtrLo ; CPU:$F746 PRG:7746 85 73 lda #$40 ; CPU:$F748 PRG:7748 A9 40 - sta Zp74 ; CPU:$F74A PRG:774A 85 74 + sta VramWritePtrHi ; CPU:$F74A PRG:774A 85 74 ldy #$00 ; CPU:$F74C PRG:774C A0 00 lda #$00 ; CPU:$F74E PRG:774E A9 00 - sta (Zp73),y ; CPU:$F750 PRG:7750 91 73 + sta (VramWritePtrLo),y ; CPU:$F750 PRG:7750 91 73 iny ; CPU:$F752 PRG:7752 C8 - sta (Zp73),y ; CPU:$F753 PRG:7753 91 73 + sta (VramWritePtrLo),y ; CPU:$F753 PRG:7753 91 73 iny ; CPU:$F755 PRG:7755 C8 - sta (Zp73),y ; CPU:$F756 PRG:7756 91 73 + sta (VramWritePtrLo),y ; CPU:$F756 PRG:7756 91 73 iny ; CPU:$F758 PRG:7758 C8 lda #$FF ; CPU:$F759 PRG:7759 A9 FF - sta (Zp73),y ; CPU:$F75B PRG:775B 91 73 + sta (VramWritePtrLo),y ; CPU:$F75B PRG:775B 91 73 rts ; CPU:$F75D PRG:775D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F75E -; Global: Branch target inside Label: taken when F75E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F75E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19638,123 +20194,123 @@ Sub_F75E: lda #$28 ; CPU:$F777 PRG:7777 A9 28 sta Zp85 ; CPU:$F779 PRG:7779 85 85 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero106 -; Global: Branch target inside Label: taken when F77B. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero107 +; Global: Branch target inside NmiHandler: taken when OnNonzero107. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero106: +NmiHandler_OnNonzero107: lsr ZpB3 ; CPU:$F77B PRG:777B 46 B3 ror ZpB2 ; CPU:$F77D PRG:777D 66 B2 ror ZpB1 ; CPU:$F77F PRG:777F 66 B1 ror ZpB0 ; CPU:$F781 PRG:7781 66 B0 ror ZpAF ; CPU:$F783 PRG:7783 66 AF - bcs NmiHandler_Loop623 ; CPU:$F785 PRG:7785 B0 0A + bcs NmiHandler_Loop629 ; CPU:$F785 PRG:7785 B0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero20 -; Global: Branch target inside Label: taken when F787. -; Local: Part of Label. +; Routine: NmiHandler_OnZero21 +; Global: Branch target inside NmiHandler: taken when OnZero21. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero20: +NmiHandler_OnZero21: dec Zp85 ; CPU:$F787 PRG:7787 C6 85 - bne NmiHandler_OnNonzero106 ; CPU:$F789 PRG:7789 D0 F0 - jsr Sub_F6C0 ; CPU:$F78B PRG:778B 20 C0 F6 - jmp Sub_F800 ; CPU:$F78E PRG:778E 4C 00 F8 + bne NmiHandler_OnNonzero107 ; CPU:$F789 PRG:7789 D0 F0 + jsr Sub_F6C0 ; CPU:$F78B PRG:778B 20 C0 F6 + jmp Sub_F800 ; CPU:$F78E PRG:778E 4C 00 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop623 -; Global: Branch target inside Label: taken when F791. -; Local: Part of Label. +; Routine: NmiHandler_Loop629 +; Global: Branch target inside NmiHandler: taken when Loop629. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop623: +NmiHandler_Loop629: lda #$28 ; CPU:$F791 PRG:7791 A9 28 sec ; CPU:$F793 PRG:7793 38 sbc Zp85 ; CPU:$F794 PRG:7794 E5 85 sta Zp87 ; CPU:$F796 PRG:7796 85 87 ldy #$05 ; CPU:$F798 PRG:7798 A0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative22 -; Global: Branch target inside Label: taken when F79A. -; Local: Part of Label. +; Routine: NmiHandler_OnNonnegative23 +; Global: Branch target inside NmiHandler: taken when OnNonnegative23. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative22: +NmiHandler_OnNonnegative23: cmp $06DA,y ; CPU:$F79A PRG:779A D9 DA 06 - beq NmiHandler_OnZero20 ; CPU:$F79D PRG:779D F0 E8 + beq NmiHandler_OnZero21 ; CPU:$F79D PRG:779D F0 E8 dey ; CPU:$F79F PRG:779F 88 - bpl NmiHandler_OnNonnegative22 ; CPU:$F7A0 PRG:77A0 10 F8 + bpl NmiHandler_OnNonnegative23 ; CPU:$F7A0 PRG:77A0 10 F8 ldy #$00 ; CPU:$F7A2 PRG:77A2 A0 00 lda #$FF ; CPU:$F7A4 PRG:77A4 A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero107 -; Global: Branch target inside Label: taken when F7A6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero107: - cmp $06DA,y ; CPU:$F7A6 PRG:77A6 D9 DA 06 - beq NmiHandler_Loop625 ; CPU:$F7A9 PRG:77A9 F0 1D - iny ; CPU:$F7AB PRG:77AB C8 - cpy #$06 ; CPU:$F7AC PRG:77AC C0 06 - bne NmiHandler_OnNonzero107 ; CPU:$F7AE PRG:77AE D0 F6 - ldy #$00 ; CPU:$F7B0 PRG:77B0 A0 00 - lda Zp87 ; CPU:$F7B2 PRG:77B2 A5 87 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero108 -; Global: Branch target inside Label: taken when F7B4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero108. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero108: - cmp $06DA,y ; CPU:$F7B4 PRG:77B4 D9 DA 06 - bcc NmiHandler_Loop624 ; CPU:$F7B7 PRG:77B7 90 08 + cmp $06DA,y ; CPU:$F7A6 PRG:77A6 D9 DA 06 + beq NmiHandler_Loop631 ; CPU:$F7A9 PRG:77A9 F0 1D + iny ; CPU:$F7AB PRG:77AB C8 + cpy #$06 ; CPU:$F7AC PRG:77AC C0 06 + bne NmiHandler_OnNonzero108 ; CPU:$F7AE PRG:77AE D0 F6 + ldy #$00 ; CPU:$F7B0 PRG:77B0 A0 00 + lda Zp87 ; CPU:$F7B2 PRG:77B2 A5 87 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear43 -; Global: Branch target inside Label: taken when F7B9. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero109 +; Global: Branch target inside NmiHandler: taken when OnNonzero109. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear43: +NmiHandler_OnNonzero109: + cmp $06DA,y ; CPU:$F7B4 PRG:77B4 D9 DA 06 + bcc NmiHandler_Loop630 ; CPU:$F7B7 PRG:77B7 90 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear52 +; Global: Branch target inside NmiHandler: taken when OnCarryClear52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear52: iny ; CPU:$F7B9 PRG:77B9 C8 cpy #$06 ; CPU:$F7BA PRG:77BA C0 06 - bne NmiHandler_OnNonzero108 ; CPU:$F7BC PRG:77BC D0 F6 - jmp NmiHandler_OnZero20 ; CPU:$F7BE PRG:77BE 4C 87 F7 + bne NmiHandler_OnNonzero109 ; CPU:$F7BC PRG:77BC D0 F6 + jmp NmiHandler_OnZero21 ; CPU:$F7BE PRG:77BE 4C 87 F7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop624 -; Global: Branch target inside Label: taken when F7C1. -; Local: Part of Label. +; Routine: NmiHandler_Loop630 +; Global: Branch target inside NmiHandler: taken when Loop630. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop624: +NmiHandler_Loop630: lda $06DA,y ; CPU:$F7C1 PRG:77C1 B9 DA 06 cmp #$1C ; CPU:$F7C4 PRG:77C4 C9 1C - bcc NmiHandler_OnCarryClear43 ; CPU:$F7C6 PRG:77C6 90 F1 + bcc NmiHandler_OnCarryClear52 ; CPU:$F7C6 PRG:77C6 90 F1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop625 -; Global: Branch target inside Label: taken when F7C8. -; Local: Part of Label. +; Routine: NmiHandler_Loop631 +; Global: Branch target inside NmiHandler: taken when Loop631. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop625: +NmiHandler_Loop631: lda Zp87 ; CPU:$F7C8 PRG:77C8 A5 87 sta $06DA,y ; CPU:$F7CA PRG:77CA 99 DA 06 sta Zp87 ; CPU:$F7CD PRG:77CD 85 87 @@ -19762,12 +20318,12 @@ NmiHandler_Loop625: sta $0698,y ; CPU:$F7D1 PRG:77D1 99 98 06 tya ; CPU:$F7D4 PRG:77D4 98 asl a ; CPU:$F7D5 PRG:77D5 0A - sta ZpB4 ; CPU:$F7D6 PRG:77D6 85 B4 + sta TimerIndex ; CPU:$F7D6 PRG:77D6 85 B4 asl a ; CPU:$F7D8 PRG:77D8 0A asl a ; CPU:$F7D9 PRG:77D9 0A tay ; CPU:$F7DA PRG:77DA A8 lda #$00 ; CPU:$F7DB PRG:77DB A9 00 - sta (ZpA9),y ; CPU:$F7DD PRG:77DD 91 A9 + sta (GameState),y ; CPU:$F7DD PRG:77DD 91 A9 lda Zp87 ; CPU:$F7DF PRG:77DF A5 87 clc ; CPU:$F7E1 PRG:77E1 18 adc Zp87 ; CPU:$F7E2 PRG:77E2 65 87 @@ -19777,17 +20333,17 @@ NmiHandler_Loop625: iny ; CPU:$F7EA PRG:77EA C8 lda $FAB5,y ; CPU:$F7EB PRG:77EB B9 B5 FA sta Zp83 ; CPU:$F7EE PRG:77EE 85 83 - ldy ZpB4 ; CPU:$F7F0 PRG:77F0 A4 B4 + ldy TimerIndex ; CPU:$F7F0 PRG:77F0 A4 B4 lda Zp82 ; CPU:$F7F2 PRG:77F2 A5 82 sta $06CE,y ; CPU:$F7F4 PRG:77F4 99 CE 06 iny ; CPU:$F7F7 PRG:77F7 C8 lda Zp83 ; CPU:$F7F8 PRG:77F8 A5 83 sta $06CE,y ; CPU:$F7FA PRG:77FA 99 CE 06 - jmp NmiHandler_OnZero20 ; CPU:$F7FD PRG:77FD 4C 87 F7 + jmp NmiHandler_OnZero21 ; CPU:$F7FD PRG:77FD 4C 87 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_F800 -; Global: Branch target inside Label: taken when F800. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F800. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -19798,107 +20354,107 @@ Sub_F800: sta ZpB0 ; CPU:$F804 PRG:7804 85 B0 sta ZpB1 ; CPU:$F806 PRG:7806 85 B1 sta ZpB2 ; CPU:$F808 PRG:7808 85 B2 - sta ZpB4 ; CPU:$F80A PRG:780A 85 B4 - sta ZpB6 ; CPU:$F80C PRG:780C 85 B6 + sta TimerIndex ; CPU:$F80A PRG:780A 85 B4 + sta HandlerPtrHi ; CPU:$F80C PRG:780C 85 B6 lda #$AF ; CPU:$F80E PRG:780E A9 AF - sta ZpB5 ; CPU:$F810 PRG:7810 85 B5 + sta HandlerPtrLo ; CPU:$F810 PRG:7810 85 B5 lda #$00 ; CPU:$F812 PRG:7812 A9 00 sta Zp87 ; CPU:$F814 PRG:7814 85 87 sta Zp86 ; CPU:$F816 PRG:7816 85 86 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero21 -; Global: Branch target inside Label: taken when F818. -; Local: Part of Label. +; Routine: NmiHandler_OnZero22 +; Global: Branch target inside NmiHandler: taken when OnZero22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero21: +NmiHandler_OnZero22: lda Zp87 ; CPU:$F818 PRG:7818 A5 87 cmp #$27 ; CPU:$F81A PRG:781A C9 27 - beq NmiHandler_Loop630 ; CPU:$F81C PRG:781C F0 6F + beq NmiHandler_Loop636 ; CPU:$F81C PRG:781C F0 6F lda Zp86 ; CPU:$F81E PRG:781E A5 86 cmp #$06 ; CPU:$F820 PRG:7820 C9 06 - beq NmiHandler_Loop627 ; CPU:$F822 PRG:7822 F0 12 + beq NmiHandler_Loop633 ; CPU:$F822 PRG:7822 F0 12 ldy Zp86 ; CPU:$F824 PRG:7824 A4 86 lda $06DA,y ; CPU:$F826 PRG:7826 B9 DA 06 cmp #$FF ; CPU:$F829 PRG:7829 C9 FF - beq NmiHandler_Loop626 ; CPU:$F82B PRG:782B F0 04 + beq NmiHandler_Loop632 ; CPU:$F82B PRG:782B F0 04 cmp Zp87 ; CPU:$F82D PRG:782D C5 87 - beq NmiHandler_Loop628 ; CPU:$F82F PRG:782F F0 0E + beq NmiHandler_Loop634 ; CPU:$F82F PRG:782F F0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop626 -; Global: Branch target inside Label: taken when F831. -; Local: Part of Label. +; Routine: NmiHandler_Loop632 +; Global: Branch target inside NmiHandler: taken when Loop632. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop626: +NmiHandler_Loop632: inc Zp86 ; CPU:$F831 PRG:7831 E6 86 - jmp NmiHandler_OnZero21 ; CPU:$F833 PRG:7833 4C 18 F8 + jmp NmiHandler_OnZero22 ; CPU:$F833 PRG:7833 4C 18 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop627 -; Global: Branch target inside Label: taken when F836. -; Local: Part of Label. +; Routine: NmiHandler_Loop633 +; Global: Branch target inside NmiHandler: taken when Loop633. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop627: +NmiHandler_Loop633: lda #$00 ; CPU:$F836 PRG:7836 A9 00 sta Zp86 ; CPU:$F838 PRG:7838 85 86 inc Zp87 ; CPU:$F83A PRG:783A E6 87 - jmp NmiHandler_OnZero21 ; CPU:$F83C PRG:783C 4C 18 F8 + jmp NmiHandler_OnZero22 ; CPU:$F83C PRG:783C 4C 18 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop628 -; Global: Branch target inside Label: taken when F83F. -; Local: Part of Label. +; Routine: NmiHandler_Loop634 +; Global: Branch target inside NmiHandler: taken when Loop634. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop628: +NmiHandler_Loop634: tya ; CPU:$F83F PRG:783F 98 asl a ; CPU:$F840 PRG:7840 0A asl a ; CPU:$F841 PRG:7841 0A asl a ; CPU:$F842 PRG:7842 0A - sta ZpB4 ; CPU:$F843 PRG:7843 85 B4 + sta TimerIndex ; CPU:$F843 PRG:7843 85 B4 inc Zp86 ; CPU:$F845 PRG:7845 E6 86 inc Zp87 ; CPU:$F847 PRG:7847 E6 87 - ldy ZpB4 ; CPU:$F849 PRG:7849 A4 B4 - lda (ZpA9),y ; CPU:$F84B PRG:784B B1 A9 - beq NmiHandler_OnZero21 ; CPU:$F84D PRG:784D F0 C9 + ldy TimerIndex ; CPU:$F849 PRG:7849 A4 B4 + lda (GameState),y ; CPU:$F84B PRG:784B B1 A9 + beq NmiHandler_OnZero22 ; CPU:$F84D PRG:784D F0 C9 cmp #$05 ; CPU:$F84F PRG:784F C9 05 - bcc NmiHandler_Loop629 ; CPU:$F851 PRG:7851 90 0B + bcc NmiHandler_Loop635 ; CPU:$F851 PRG:7851 90 0B sec ; CPU:$F853 PRG:7853 38 sbc #$05 ; CPU:$F854 PRG:7854 E9 05 tay ; CPU:$F856 PRG:7856 A8 lda #$01 ; CPU:$F857 PRG:7857 A9 01 - sta (ZpB5),y ; CPU:$F859 PRG:7859 91 B5 - jmp NmiHandler_OnZero21 ; CPU:$F85B PRG:785B 4C 18 F8 + sta (HandlerPtrLo),y ; CPU:$F859 PRG:7859 91 B5 + jmp NmiHandler_OnZero22 ; CPU:$F85B PRG:785B 4C 18 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop629 -; Global: Branch target inside Label: taken when F85E. -; Local: Part of Label. +; Routine: NmiHandler_Loop635 +; Global: Branch target inside NmiHandler: taken when Loop635. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop629: +NmiHandler_Loop635: sec ; CPU:$F85E PRG:785E 38 sbc #$01 ; CPU:$F85F PRG:785F E9 01 tay ; CPU:$F861 PRG:7861 A8 - lda (ZpB5),y ; CPU:$F862 PRG:7862 B1 B5 - bne NmiHandler_OnZero21 ; CPU:$F864 PRG:7864 D0 B2 + lda (HandlerPtrLo),y ; CPU:$F862 PRG:7862 B1 B5 + bne NmiHandler_OnZero22 ; CPU:$F864 PRG:7864 D0 B2 lda #$01 ; CPU:$F866 PRG:7866 A9 01 - sta (ZpB5),y ; CPU:$F868 PRG:7868 91 B5 + sta (HandlerPtrLo),y ; CPU:$F868 PRG:7868 91 B5 tya ; CPU:$F86A PRG:786A 98 tax ; CPU:$F86B PRG:786B AA clc ; CPU:$F86C PRG:786C 18 adc #$05 ; CPU:$F86D PRG:786D 69 05 - ldy ZpB4 ; CPU:$F86F PRG:786F A4 B4 - sta (ZpA9),y ; CPU:$F871 PRG:7871 91 A9 + ldy TimerIndex ; CPU:$F86F PRG:786F A4 B4 + sta (GameState),y ; CPU:$F871 PRG:7871 91 A9 txa ; CPU:$F873 PRG:7873 8A asl a ; CPU:$F874 PRG:7874 0A asl a ; CPU:$F875 PRG:7875 0A @@ -19906,149 +20462,149 @@ NmiHandler_Loop629: ldx #$00 ; CPU:$F878 PRG:7878 A2 00 lda #$04 ; CPU:$F87A PRG:787A A9 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero109 -; Global: Branch target inside Label: taken when F87C. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero110 +; Global: Branch target inside NmiHandler: taken when OnNonzero110. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero109: +NmiHandler_OnNonzero110: pha ; CPU:$F87C PRG:787C 48 iny ; CPU:$F87D PRG:787D C8 - lda (ZpA9),y ; CPU:$F87E PRG:787E B1 A9 + lda (GameState),y ; CPU:$F87E PRG:787E B1 A9 sta (ZpAD,x) ; CPU:$F880 PRG:7880 81 AD inc ZpAD ; CPU:$F882 PRG:7882 E6 AD pla ; CPU:$F884 PRG:7884 68 sec ; CPU:$F885 PRG:7885 38 sbc #$01 ; CPU:$F886 PRG:7886 E9 01 - bne NmiHandler_OnNonzero109 ; CPU:$F888 PRG:7888 D0 F2 - jmp NmiHandler_OnZero21 ; CPU:$F88A PRG:788A 4C 18 F8 + bne NmiHandler_OnNonzero110 ; CPU:$F888 PRG:7888 D0 F2 + jmp NmiHandler_OnZero22 ; CPU:$F88A PRG:788A 4C 18 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop630 -; Global: Branch target inside Label: taken when F88D. -; Local: Part of Label. +; Routine: NmiHandler_Loop636 +; Global: Branch target inside NmiHandler: taken when Loop636. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop630: +NmiHandler_Loop636: ldy #$00 ; CPU:$F88D PRG:788D A0 00 sty ZpB3 ; CPU:$F88F PRG:788F 84 B3 - sty ZpB4 ; CPU:$F891 PRG:7891 84 B4 + sty TimerIndex ; CPU:$F891 PRG:7891 84 B4 ; ----------------------------------------------------------------------------- ; Routine: Sub_F893 -; Global: Branch target inside Label: taken when F893. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F893. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F893: lda $0683 ; CPU:$F893 PRG:7893 AD 83 06 - beq NmiHandler_Loop631 ; CPU:$F896 PRG:7896 F0 03 - jmp NmiHandler_Loop639 ; CPU:$F898 PRG:7898 4C 30 F9 + beq NmiHandler_Loop637 ; CPU:$F896 PRG:7896 F0 03 + jmp NmiHandler_Loop645 ; CPU:$F898 PRG:7898 4C 30 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop631 -; Global: Branch target inside Label: taken when F89B. -; Local: Part of Label. +; Routine: NmiHandler_Loop637 +; Global: Branch target inside NmiHandler: taken when Loop637. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop631: +NmiHandler_Loop637: ldy ZpB3 ; CPU:$F89B PRG:789B A4 B3 lda (ZpA7),y ; CPU:$F89D PRG:789D B1 A7 - bne NmiHandler_Loop632 ; CPU:$F89F PRG:789F D0 03 - jmp NmiHandler_Loop639 ; CPU:$F8A1 PRG:78A1 4C 30 F9 + bne NmiHandler_Loop638 ; CPU:$F89F PRG:789F D0 03 + jmp NmiHandler_Loop645 ; CPU:$F8A1 PRG:78A1 4C 30 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop632 -; Global: Branch target inside Label: taken when F8A4. -; Local: Part of Label. +; Routine: NmiHandler_Loop638 +; Global: Branch target inside NmiHandler: taken when Loop638. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop632: - ldy ZpB4 ; CPU:$F8A4 PRG:78A4 A4 B4 - lda (ZpA9),y ; CPU:$F8A6 PRG:78A6 B1 A9 - bne NmiHandler_Loop633 ; CPU:$F8A8 PRG:78A8 D0 06 - jsr Sub_FA20 ; CPU:$F8AA PRG:78AA 20 20 FA - jmp Sub_F8BF ; CPU:$F8AD PRG:78AD 4C BF F8 +NmiHandler_Loop638: + ldy TimerIndex ; CPU:$F8A4 PRG:78A4 A4 B4 + lda (GameState),y ; CPU:$F8A6 PRG:78A6 B1 A9 + bne NmiHandler_Loop639 ; CPU:$F8A8 PRG:78A8 D0 06 + jsr Sub_FA20 ; CPU:$F8AA PRG:78AA 20 20 FA + jmp Sub_F8BF ; CPU:$F8AD PRG:78AD 4C BF F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop633 -; Global: Branch target inside Label: taken when F8B0. -; Local: Part of Label. +; Routine: NmiHandler_Loop639 +; Global: Branch target inside NmiHandler: taken when Loop639. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop633: - lda ZpB4 ; CPU:$F8B0 PRG:78B0 A5 B4 +NmiHandler_Loop639: + lda TimerIndex ; CPU:$F8B0 PRG:78B0 A5 B4 clc ; CPU:$F8B2 PRG:78B2 18 adc #$07 ; CPU:$F8B3 PRG:78B3 69 07 tay ; CPU:$F8B5 PRG:78B5 A8 - lda (ZpA9),y ; CPU:$F8B6 PRG:78B6 B1 A9 + lda (GameState),y ; CPU:$F8B6 PRG:78B6 B1 A9 sec ; CPU:$F8B8 PRG:78B8 38 sbc #$01 ; CPU:$F8B9 PRG:78B9 E9 01 - sta (ZpA9),y ; CPU:$F8BB PRG:78BB 91 A9 - bne NmiHandler_Loop639 ; CPU:$F8BD PRG:78BD D0 71 + sta (GameState),y ; CPU:$F8BB PRG:78BB 91 A9 + bne NmiHandler_Loop645 ; CPU:$F8BD PRG:78BD D0 71 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8BF -; Global: Branch target inside Label: taken when F8BF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F8BF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F8BF: - jsr Sub_F9FB ; CPU:$F8BF PRG:78BF 20 FB F9 + jsr Sub_F9FB ; CPU:$F8BF PRG:78BF 20 FB F9 cmp #$F0 ; CPU:$F8C2 PRG:78C2 C9 F0 - bcc NmiHandler_Loop634 ; CPU:$F8C4 PRG:78C4 90 03 - jmp Sub_F945 ; CPU:$F8C6 PRG:78C6 4C 45 F9 + bcc NmiHandler_Loop640 ; CPU:$F8C4 PRG:78C4 90 03 + jmp Sub_F945 ; CPU:$F8C6 PRG:78C6 4C 45 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop634 -; Global: Branch target inside Label: taken when F8C9. -; Local: Part of Label. +; Routine: NmiHandler_Loop640 +; Global: Branch target inside NmiHandler: taken when Loop640. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop634: +NmiHandler_Loop640: cmp #$C0 ; CPU:$F8C9 PRG:78C9 C9 C0 - bcs NmiHandler_Loop638 ; CPU:$F8CB PRG:78CB B0 56 + bcs NmiHandler_Loop644 ; CPU:$F8CB PRG:78CB B0 56 pha ; CPU:$F8CD PRG:78CD 48 - ldy ZpB4 ; CPU:$F8CE PRG:78CE A4 B4 - lda (ZpA9),y ; CPU:$F8D0 PRG:78D0 B1 A9 + ldy TimerIndex ; CPU:$F8CE PRG:78CE A4 B4 + lda (GameState),y ; CPU:$F8D0 PRG:78D0 B1 A9 cmp #$05 ; CPU:$F8D2 PRG:78D2 C9 05 - bcc NmiHandler_Loop635 ; CPU:$F8D4 PRG:78D4 90 03 + bcc NmiHandler_Loop641 ; CPU:$F8D4 PRG:78D4 90 03 sec ; CPU:$F8D6 PRG:78D6 38 sbc #$04 ; CPU:$F8D7 PRG:78D7 E9 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop635 -; Global: Branch target inside Label: taken when F8D9. -; Local: Part of Label. +; Routine: NmiHandler_Loop641 +; Global: Branch target inside NmiHandler: taken when Loop641. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop635: +NmiHandler_Loop641: cmp #$04 ; CPU:$F8D9 PRG:78D9 C9 04 - bne NmiHandler_Loop636 ; CPU:$F8DB PRG:78DB D0 07 + bne NmiHandler_Loop642 ; CPU:$F8DB PRG:78DB D0 07 pla ; CPU:$F8DD PRG:78DD 68 iny ; CPU:$F8DE PRG:78DE C8 iny ; CPU:$F8DF PRG:78DF C8 iny ; CPU:$F8E0 PRG:78E0 C8 - jmp Sub_F914 ; CPU:$F8E1 PRG:78E1 4C 14 F9 + jmp Sub_F914 ; CPU:$F8E1 PRG:78E1 4C 14 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop636 -; Global: Branch target inside Label: taken when F8E4. -; Local: Part of Label. +; Routine: NmiHandler_Loop642 +; Global: Branch target inside NmiHandler: taken when Loop642. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop636: +NmiHandler_Loop642: pla ; CPU:$F8E4 PRG:78E4 68 pha ; CPU:$F8E5 PRG:78E5 48 and #$F0 ; CPU:$F8E6 PRG:78E6 29 F0 @@ -20057,112 +20613,112 @@ NmiHandler_Loop636: lsr a ; CPU:$F8EA PRG:78EA 4A tax ; CPU:$F8EB PRG:78EB AA lda $FA9B,x ; CPU:$F8EC PRG:78EC BD 9B FA - sta ZpB5 ; CPU:$F8EF PRG:78EF 85 B5 + sta HandlerPtrLo ; CPU:$F8EF PRG:78EF 85 B5 lda $FA9C,x ; CPU:$F8F1 PRG:78F1 BD 9C FA - sta ZpB6 ; CPU:$F8F4 PRG:78F4 85 B6 + sta HandlerPtrHi ; CPU:$F8F4 PRG:78F4 85 B6 pla ; CPU:$F8F6 PRG:78F6 68 and #$0F ; CPU:$F8F7 PRG:78F7 29 0F - beq NmiHandler_Loop637 ; CPU:$F8F9 PRG:78F9 F0 08 + beq NmiHandler_Loop643 ; CPU:$F8F9 PRG:78F9 F0 08 tax ; CPU:$F8FB PRG:78FB AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero110 -; Global: Branch target inside Label: taken when F8FC. -; Local: Part of Label. +; Routine: NmiHandler_OnNonzero111 +; Global: Branch target inside NmiHandler: taken when OnNonzero111. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero110: - lsr ZpB5 ; CPU:$F8FC PRG:78FC 46 B5 - ror ZpB6 ; CPU:$F8FE PRG:78FE 66 B6 +NmiHandler_OnNonzero111: + lsr HandlerPtrLo ; CPU:$F8FC PRG:78FC 46 B5 + ror HandlerPtrHi ; CPU:$F8FE PRG:78FE 66 B6 dex ; CPU:$F900 PRG:7900 CA - bne NmiHandler_OnNonzero110 ; CPU:$F901 PRG:7901 D0 F9 + bne NmiHandler_OnNonzero111 ; CPU:$F901 PRG:7901 D0 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop637 -; Global: Branch target inside Label: taken when F903. -; Local: Part of Label. +; Routine: NmiHandler_Loop643 +; Global: Branch target inside NmiHandler: taken when Loop643. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop637: - lda ZpB4 ; CPU:$F903 PRG:7903 A5 B4 +NmiHandler_Loop643: + lda TimerIndex ; CPU:$F903 PRG:7903 A5 B4 clc ; CPU:$F905 PRG:7905 18 adc #$04 ; CPU:$F906 PRG:7906 69 04 tay ; CPU:$F908 PRG:7908 A8 - lda (ZpA9),y ; CPU:$F909 PRG:7909 B1 A9 + lda (GameState),y ; CPU:$F909 PRG:7909 B1 A9 and #$F8 ; CPU:$F90B PRG:790B 29 F8 - ora ZpB5 ; CPU:$F90D PRG:790D 05 B5 - sta (ZpA9),y ; CPU:$F90F PRG:790F 91 A9 - lda ZpB6 ; CPU:$F911 PRG:7911 A5 B6 + ora HandlerPtrLo ; CPU:$F90D PRG:790D 05 B5 + sta (GameState),y ; CPU:$F90F PRG:790F 91 A9 + lda HandlerPtrHi ; CPU:$F911 PRG:7911 A5 B6 dey ; CPU:$F913 PRG:7913 88 ; ----------------------------------------------------------------------------- ; Routine: Sub_F914 -; Global: Branch target inside Label: taken when F914. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F914. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F914: - sta (ZpA9),y ; CPU:$F914 PRG:7914 91 A9 - ldy ZpB4 ; CPU:$F916 PRG:7916 A4 B4 - lda (ZpA9),y ; CPU:$F918 PRG:7918 B1 A9 + sta (GameState),y ; CPU:$F914 PRG:7914 91 A9 + ldy TimerIndex ; CPU:$F916 PRG:7916 A4 B4 + lda (GameState),y ; CPU:$F918 PRG:7918 B1 A9 cmp #$05 ; CPU:$F91A PRG:791A C9 05 - bcc NmiHandler_Loop638 ; CPU:$F91C PRG:791C 90 05 + bcc NmiHandler_Loop644 ; CPU:$F91C PRG:791C 90 05 sec ; CPU:$F91E PRG:791E 38 sbc #$04 ; CPU:$F91F PRG:791F E9 04 - sta (ZpA9),y ; CPU:$F921 PRG:7921 91 A9 + sta (GameState),y ; CPU:$F921 PRG:7921 91 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop638 -; Global: Branch target inside Label: taken when F923. -; Local: Part of Label. +; Routine: NmiHandler_Loop644 +; Global: Branch target inside NmiHandler: taken when Loop644. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop638: - jsr Sub_F9FB ; CPU:$F923 PRG:7923 20 FB F9 +NmiHandler_Loop644: + jsr Sub_F9FB ; CPU:$F923 PRG:7923 20 FB F9 pha ; CPU:$F926 PRG:7926 48 - lda ZpB4 ; CPU:$F927 PRG:7927 A5 B4 + lda TimerIndex ; CPU:$F927 PRG:7927 A5 B4 clc ; CPU:$F929 PRG:7929 18 adc #$07 ; CPU:$F92A PRG:792A 69 07 tay ; CPU:$F92C PRG:792C A8 pla ; CPU:$F92D PRG:792D 68 - sta (ZpA9),y ; CPU:$F92E PRG:792E 91 A9 + sta (GameState),y ; CPU:$F92E PRG:792E 91 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop639 -; Global: Branch target inside Label: taken when F930. -; Local: Part of Label. +; Routine: NmiHandler_Loop645 +; Global: Branch target inside NmiHandler: taken when Loop645. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop639: - lda ZpB4 ; CPU:$F930 PRG:7930 A5 B4 +NmiHandler_Loop645: + lda TimerIndex ; CPU:$F930 PRG:7930 A5 B4 clc ; CPU:$F932 PRG:7932 18 adc #$08 ; CPU:$F933 PRG:7933 69 08 - sta ZpB4 ; CPU:$F935 PRG:7935 85 B4 + sta TimerIndex ; CPU:$F935 PRG:7935 85 B4 lda ZpB3 ; CPU:$F937 PRG:7937 A5 B3 adc #$01 ; CPU:$F939 PRG:7939 69 01 sta ZpB3 ; CPU:$F93B PRG:793B 85 B3 cmp #$06 ; CPU:$F93D PRG:793D C9 06 - bcs NmiHandler_Loop640 ; CPU:$F93F PRG:793F B0 03 - jmp Sub_F893 ; CPU:$F941 PRG:7941 4C 93 F8 + bcs NmiHandler_Loop646 ; CPU:$F93F PRG:793F B0 03 + jmp Sub_F893 ; CPU:$F941 PRG:7941 4C 93 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop640 -; Global: Branch target inside Label: taken when F944. -; Local: Part of Label. +; Routine: NmiHandler_Loop646 +; Global: Branch target inside NmiHandler: taken when Loop646. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop640: +NmiHandler_Loop646: rts ; CPU:$F944 PRG:7944 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F945 -; Global: Branch target inside Label: taken when F945. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when F945. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -20172,14 +20728,15 @@ Sub_F945: asl a ; CPU:$F947 PRG:7947 0A tax ; CPU:$F948 PRG:7948 AA lda $F956,x ; CPU:$F949 PRG:7949 BD 56 F9 - sta ZpB5 ; CPU:$F94C PRG:794C 85 B5 + sta HandlerPtrLo ; CPU:$F94C PRG:794C 85 B5 lda $F957,x ; CPU:$F94E PRG:794E BD 57 F9 - sta ZpB6 ; CPU:$F951 PRG:7951 85 B6 + sta HandlerPtrHi ; CPU:$F951 PRG:7951 85 B6 jmp (ZpB5) ; CPU:$F953 PRG:7953 6C B5 00 ; ---- data $F956-$F975 (32 bytes) ---- ; referenced by `lda $F956,x` at $F949 (operand $F956 falls inside this region) ; referenced by `lda $F957,x` at $F94E (operand $F957 falls inside this region) - .byte $76, $F9, $C3, $F9, $82, $F9, $82, $F9, $EB, $F9, $82, $F9, $DB, $F9, $82, $F9 ; CPU:$F956 PRG:7956 76 F9 C3 F9 82 F9 82 F9 EB F9 82 F9 DB F9 82 F9 +LevelHandlerPointerTable: + .byte $76, $F9, $C3, $F9, $82, $F9, $82, $F9, $EB, $F9, $82, $F9, $DB, $F9, $82, $F9 ; CPU:$F956 PRG:3956 76 F9 C3 F9 82 F9 82 F9 EB F9 82 F9 DB F9 82 F9 .byte $82, $F9, $82, $F9, $82, $F9, $82, $F9, $82, $F9, $82, $F9, $82, $F9, $82, $F9 ; CPU:$F966 PRG:7966 82 F9 82 F9 82 F9 82 F9 82 F9 82 F9 82 F9 82 F9 ; ----------------------------------------------------------------------------- ; Routine: Label_F976 @@ -20190,17 +20747,54 @@ Sub_F945: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_F976: - ldy ZpB4 ; CPU:$F976 PRG:7976 A4 B4 + ldy TimerIndex ; CPU:$F976 PRG:7976 A4 B4 lda #$00 ; CPU:$F978 PRG:7978 A9 00 - sta (ZpA9),y ; CPU:$F97A PRG:797A 91 A9 - jsr Sub_FA20 ; CPU:$F97C PRG:797C 20 20 FA - jmp Sub_F8BF ; CPU:$F97F PRG:797F 4C BF F8 -; ---- data $F982-$F9C2 (65 bytes) ---- - .byte $A4, $B3, $A9, $00, $91, $A7, $A4, $B4, $91, $A9, $A4, $B3, $B9, $DA, $06, $A8 ; CPU:$F982 PRG:7982 A4 B3 A9 00 91 A7 A4 B4 91 A9 A4 B3 B9 DA 06 A8 - .byte $4A, $4A, $4A, $85, $85, $A9, $93, $18, $65, $85, $85, $82, $A9, $06, $69, $00 ; CPU:$F992 PRG:7992 4A 4A 4A 85 85 A9 93 18 65 85 85 82 A9 06 69 00 - .byte $85, $83, $98, $29, $07, $A8, $B9, $BB, $F9, $A0, $00, $31, $82, $91, $82, $A4 ; CPU:$F9A2 PRG:79A2 85 83 98 29 07 A8 B9 BB F9 A0 00 31 82 91 82 A4 - .byte $B3, $A9, $FF, $99, $DA, $06, $4C, $30, $F9, $FE, $FD, $FB, $F7, $EF, $DF, $BF ; CPU:$F9B2 PRG:79B2 B3 A9 FF 99 DA 06 4C 30 F9 FE FD FB F7 EF DF BF - .byte $7F ; CPU:$F9C2 PRG:79C2 7F + sta (GameState),y ; CPU:$F97A PRG:797A 91 A9 + jsr Sub_FA20 ; CPU:$F97C PRG:797C 20 20 FA + jmp Sub_F8BF ; CPU:$F97F PRG:797F 4C BF F8 +; ----------------------------------------------------------------------------- +; Routine: Label_F982 +; Global: Branch target inside Label: taken when F982. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F982: + ldy ZpB3 ; CPU:$F982 PRG:7982 A4 B3 + lda #$00 ; CPU:$F984 PRG:7984 A9 00 + sta (ZpA7),y ; CPU:$F986 PRG:7986 91 A7 + ldy TimerIndex ; CPU:$F988 PRG:7988 A4 B4 + sta (GameState),y ; CPU:$F98A PRG:798A 91 A9 + ldy ZpB3 ; CPU:$F98C PRG:798C A4 B3 + lda $06DA,y ; CPU:$F98E PRG:798E B9 DA 06 + tay ; CPU:$F991 PRG:7991 A8 + lsr a ; CPU:$F992 PRG:7992 4A + lsr a ; CPU:$F993 PRG:7993 4A + lsr a ; CPU:$F994 PRG:7994 4A + sta Zp85 ; CPU:$F995 PRG:7995 85 85 + lda #$93 ; CPU:$F997 PRG:7997 A9 93 + clc ; CPU:$F999 PRG:7999 18 + adc Zp85 ; CPU:$F99A PRG:799A 65 85 + sta Zp82 ; CPU:$F99C PRG:799C 85 82 + lda #$06 ; CPU:$F99E PRG:799E A9 06 + adc #$00 ; CPU:$F9A0 PRG:79A0 69 00 + sta Zp83 ; CPU:$F9A2 PRG:79A2 85 83 + tya ; CPU:$F9A4 PRG:79A4 98 + and #$07 ; CPU:$F9A5 PRG:79A5 29 07 + tay ; CPU:$F9A7 PRG:79A7 A8 + lda $F9BB,y ; CPU:$F9A8 PRG:79A8 B9 BB F9 + ldy #$00 ; CPU:$F9AB PRG:79AB A0 00 + and (Zp82),y ; CPU:$F9AD PRG:79AD 31 82 + sta (Zp82),y ; CPU:$F9AF PRG:79AF 91 82 + ldy ZpB3 ; CPU:$F9B1 PRG:79B1 A4 B3 + lda #$FF ; CPU:$F9B3 PRG:79B3 A9 FF + sta $06DA,y ; CPU:$F9B5 PRG:79B5 99 DA 06 + jmp NmiHandler_Loop645 ; CPU:$F9B8 PRG:79B8 4C 30 F9 +; ---- data $F9BB-$F9C2 (8 bytes) ---- +; referenced by `lda $F9BB,y` at $F9A8 (operand $F9BB falls inside this region) +PpuInverseBitMaskTable: + .byte $FE, $FD, $FB, $F7, $EF, $DF, $BF, $7F ; CPU:$F9BB PRG:39BB FE FD FB F7 EF DF BF 7F ; ----------------------------------------------------------------------------- ; Routine: Label_F9C3 ; Global: Branch target inside Label: taken when F9C3. @@ -20210,58 +20804,91 @@ Label_F976: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_F9C3: - jsr Sub_F9FB ; CPU:$F9C3 PRG:79C3 20 FB F9 + jsr Sub_F9FB ; CPU:$F9C3 PRG:79C3 20 FB F9 pha ; CPU:$F9C6 PRG:79C6 48 - lda ZpB4 ; CPU:$F9C7 PRG:79C7 A5 B4 + lda TimerIndex ; CPU:$F9C7 PRG:79C7 A5 B4 clc ; CPU:$F9C9 PRG:79C9 18 adc #$01 ; CPU:$F9CA PRG:79CA 69 01 tay ; CPU:$F9CC PRG:79CC A8 - lda (ZpA9),y ; CPU:$F9CD PRG:79CD B1 A9 + lda (GameState),y ; CPU:$F9CD PRG:79CD B1 A9 and #$3F ; CPU:$F9CF PRG:79CF 29 3F - sta (ZpA9),y ; CPU:$F9D1 PRG:79D1 91 A9 + sta (GameState),y ; CPU:$F9D1 PRG:79D1 91 A9 pla ; CPU:$F9D3 PRG:79D3 68 - ora (ZpA9),y ; CPU:$F9D4 PRG:79D4 11 A9 - sta (ZpA9),y ; CPU:$F9D6 PRG:79D6 91 A9 - jmp Sub_F8BF ; CPU:$F9D8 PRG:79D8 4C BF F8 -; ---- data $F9DB-$F9FA (32 bytes) ---- - .byte $20, $FB, $F9, $48, $A5, $B4, $18, $69, $01, $A8, $68, $91, $A9, $4C, $BF, $F8 ; CPU:$F9DB PRG:79DB 20 FB F9 48 A5 B4 18 69 01 A8 68 91 A9 4C BF F8 - .byte $20, $FB, $F9, $48, $A5, $B4, $18, $69, $02, $A8, $68, $91, $A9, $4C, $BF, $F8 ; CPU:$F9EB PRG:79EB 20 FB F9 48 A5 B4 18 69 02 A8 68 91 A9 4C BF F8 + ora (GameState),y ; CPU:$F9D4 PRG:79D4 11 A9 + sta (GameState),y ; CPU:$F9D6 PRG:79D6 91 A9 + jmp Sub_F8BF ; CPU:$F9D8 PRG:79D8 4C BF F8 ; ----------------------------------------------------------------------------- -; Routine: Sub_F9FB -; Global: Branch target inside Label: taken when F9FB. +; Routine: Label_F9DB +; Global: Branch target inside Label: taken when F9DB. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- +Label_F9DB: + jsr Sub_F9FB ; CPU:$F9DB PRG:79DB 20 FB F9 + pha ; CPU:$F9DE PRG:79DE 48 + lda TimerIndex ; CPU:$F9DF PRG:79DF A5 B4 + clc ; CPU:$F9E1 PRG:79E1 18 + adc #$01 ; CPU:$F9E2 PRG:79E2 69 01 + tay ; CPU:$F9E4 PRG:79E4 A8 + pla ; CPU:$F9E5 PRG:79E5 68 + sta (GameState),y ; CPU:$F9E6 PRG:79E6 91 A9 + jmp Sub_F8BF ; CPU:$F9E8 PRG:79E8 4C BF F8 +; ----------------------------------------------------------------------------- +; Routine: Label_F9EB +; Global: Branch target inside Label: taken when F9EB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F9EB: + jsr Sub_F9FB ; CPU:$F9EB PRG:79EB 20 FB F9 + pha ; CPU:$F9EE PRG:79EE 48 + lda TimerIndex ; CPU:$F9EF PRG:79EF A5 B4 + clc ; CPU:$F9F1 PRG:79F1 18 + adc #$02 ; CPU:$F9F2 PRG:79F2 69 02 + tay ; CPU:$F9F4 PRG:79F4 A8 + pla ; CPU:$F9F5 PRG:79F5 68 + sta (GameState),y ; CPU:$F9F6 PRG:79F6 91 A9 + jmp Sub_F8BF ; CPU:$F9F8 PRG:79F8 4C BF F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_F9FB +; Global: Branch target inside Sub: taken when F9FB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- Sub_F9FB: - lda ZpB4 ; CPU:$F9FB PRG:79FB A5 B4 + lda TimerIndex ; CPU:$F9FB PRG:79FB A5 B4 clc ; CPU:$F9FD PRG:79FD 18 adc #$05 ; CPU:$F9FE PRG:79FE 69 05 tay ; CPU:$FA00 PRG:7A00 A8 - lda (ZpA9),y ; CPU:$FA01 PRG:7A01 B1 A9 - sta ZpB5 ; CPU:$FA03 PRG:7A03 85 B5 + lda (GameState),y ; CPU:$FA01 PRG:7A01 B1 A9 + sta HandlerPtrLo ; CPU:$FA03 PRG:7A03 85 B5 iny ; CPU:$FA05 PRG:7A05 C8 - lda (ZpA9),y ; CPU:$FA06 PRG:7A06 B1 A9 - sta ZpB6 ; CPU:$FA08 PRG:7A08 85 B6 + lda (GameState),y ; CPU:$FA06 PRG:7A06 B1 A9 + sta HandlerPtrHi ; CPU:$FA08 PRG:7A08 85 B6 ldx #$00 ; CPU:$FA0A PRG:7A0A A2 00 - lda (ZpB5,x) ; CPU:$FA0C PRG:7A0C A1 B5 + lda (HandlerPtrLo,x) ; CPU:$FA0C PRG:7A0C A1 B5 pha ; CPU:$FA0E PRG:7A0E 48 - lda ZpB5 ; CPU:$FA0F PRG:7A0F A5 B5 + lda HandlerPtrLo ; CPU:$FA0F PRG:7A0F A5 B5 dey ; CPU:$FA11 PRG:7A11 88 clc ; CPU:$FA12 PRG:7A12 18 adc #$01 ; CPU:$FA13 PRG:7A13 69 01 - sta (ZpA9),y ; CPU:$FA15 PRG:7A15 91 A9 - lda ZpB6 ; CPU:$FA17 PRG:7A17 A5 B6 + sta (GameState),y ; CPU:$FA15 PRG:7A15 91 A9 + lda HandlerPtrHi ; CPU:$FA17 PRG:7A17 A5 B6 adc #$00 ; CPU:$FA19 PRG:7A19 69 00 iny ; CPU:$FA1B PRG:7A1B C8 - sta (ZpA9),y ; CPU:$FA1C PRG:7A1C 91 A9 + sta (GameState),y ; CPU:$FA1C PRG:7A1C 91 A9 pla ; CPU:$FA1E PRG:7A1E 68 rts ; CPU:$FA1F PRG:7A1F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA20 -; Global: Branch target inside Label: taken when FA20. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when FA20. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -20272,51 +20899,51 @@ Sub_FA20: tay ; CPU:$FA23 PRG:7A23 A8 lda (ZpAB),y ; CPU:$FA24 PRG:7A24 B1 AB pha ; CPU:$FA26 PRG:7A26 48 - lda ZpB4 ; CPU:$FA27 PRG:7A27 A5 B4 + lda TimerIndex ; CPU:$FA27 PRG:7A27 A5 B4 adc #$05 ; CPU:$FA29 PRG:7A29 69 05 tay ; CPU:$FA2B PRG:7A2B A8 pla ; CPU:$FA2C PRG:7A2C 68 - sta (ZpA9),y ; CPU:$FA2D PRG:7A2D 91 A9 + sta (GameState),y ; CPU:$FA2D PRG:7A2D 91 A9 lda ZpB3 ; CPU:$FA2F PRG:7A2F A5 B3 asl a ; CPU:$FA31 PRG:7A31 0A adc #$01 ; CPU:$FA32 PRG:7A32 69 01 tay ; CPU:$FA34 PRG:7A34 A8 lda (ZpAB),y ; CPU:$FA35 PRG:7A35 B1 AB pha ; CPU:$FA37 PRG:7A37 48 - lda ZpB4 ; CPU:$FA38 PRG:7A38 A5 B4 + lda TimerIndex ; CPU:$FA38 PRG:7A38 A5 B4 adc #$06 ; CPU:$FA3A PRG:7A3A 69 06 tay ; CPU:$FA3C PRG:7A3C A8 pla ; CPU:$FA3D PRG:7A3D 68 - sta (ZpA9),y ; CPU:$FA3E PRG:7A3E 91 A9 - jsr Sub_F9FB ; CPU:$FA40 PRG:7A40 20 FB F9 - ldy ZpB4 ; CPU:$FA43 PRG:7A43 A4 B4 - sta (ZpA9),y ; CPU:$FA45 PRG:7A45 91 A9 - jsr Sub_F9FB ; CPU:$FA47 PRG:7A47 20 FB F9 + sta (GameState),y ; CPU:$FA3E PRG:7A3E 91 A9 + jsr Sub_F9FB ; CPU:$FA40 PRG:7A40 20 FB F9 + ldy TimerIndex ; CPU:$FA43 PRG:7A43 A4 B4 + sta (GameState),y ; CPU:$FA45 PRG:7A45 91 A9 + jsr Sub_F9FB ; CPU:$FA47 PRG:7A47 20 FB F9 tax ; CPU:$FA4A PRG:7A4A AA - lda ZpB4 ; CPU:$FA4B PRG:7A4B A5 B4 + lda TimerIndex ; CPU:$FA4B PRG:7A4B A5 B4 clc ; CPU:$FA4D PRG:7A4D 18 adc #$01 ; CPU:$FA4E PRG:7A4E 69 01 tay ; CPU:$FA50 PRG:7A50 A8 txa ; CPU:$FA51 PRG:7A51 8A - sta (ZpA9),y ; CPU:$FA52 PRG:7A52 91 A9 - jsr Sub_F9FB ; CPU:$FA54 PRG:7A54 20 FB F9 + sta (GameState),y ; CPU:$FA52 PRG:7A52 91 A9 + jsr Sub_F9FB ; CPU:$FA54 PRG:7A54 20 FB F9 tax ; CPU:$FA57 PRG:7A57 AA - lda ZpB4 ; CPU:$FA58 PRG:7A58 A5 B4 + lda TimerIndex ; CPU:$FA58 PRG:7A58 A5 B4 clc ; CPU:$FA5A PRG:7A5A 18 adc #$02 ; CPU:$FA5B PRG:7A5B 69 02 tay ; CPU:$FA5D PRG:7A5D A8 txa ; CPU:$FA5E PRG:7A5E 8A - sta (ZpA9),y ; CPU:$FA5F PRG:7A5F 91 A9 - jsr Sub_F9FB ; CPU:$FA61 PRG:7A61 20 FB F9 + sta (GameState),y ; CPU:$FA5F PRG:7A5F 91 A9 + jsr Sub_F9FB ; CPU:$FA61 PRG:7A61 20 FB F9 tax ; CPU:$FA64 PRG:7A64 AA - lda ZpB4 ; CPU:$FA65 PRG:7A65 A5 B4 + lda TimerIndex ; CPU:$FA65 PRG:7A65 A5 B4 clc ; CPU:$FA67 PRG:7A67 18 adc #$04 ; CPU:$FA68 PRG:7A68 69 04 tay ; CPU:$FA6A PRG:7A6A A8 txa ; CPU:$FA6B PRG:7A6B 8A - sta (ZpA9),y ; CPU:$FA6C PRG:7A6C 91 A9 - ldy ZpB4 ; CPU:$FA6E PRG:7A6E A4 B4 - lda (ZpA9),y ; CPU:$FA70 PRG:7A70 B1 A9 + sta (GameState),y ; CPU:$FA6C PRG:7A6C 91 A9 + ldy TimerIndex ; CPU:$FA6E PRG:7A6E A4 B4 + lda (GameState),y ; CPU:$FA70 PRG:7A70 B1 A9 rts ; CPU:$FA72 PRG:7A72 60 ; ---- data $FA73-$FFFF (1421 bytes) ---- ; referenced by `isc $FFFF,x` at $B50D (operand $FFFF falls inside this region) @@ -20326,7 +20953,8 @@ Sub_FA20: ; referenced by `lda $FAB3` at $F65E (operand $FAB3 falls inside this region) ; referenced by `lda $FAB4` at $F663 (operand $FAB4 falls inside this region) ; ... and 4 further references from decoded code - .byte $01, $02, $03, $01, $01, $02, $01, $02, $01, $02, $04, $01, $02, $01, $02, $03 ; CPU:$FA73 PRG:7A73 01 02 03 01 01 02 01 02 01 02 04 01 02 01 02 03 +LevelSceneryLayoutData: + .byte $01, $02, $03, $01, $01, $02, $01, $02, $01, $02, $04, $01, $02, $01, $02, $03 ; CPU:$FA73 PRG:3A73 01 02 03 01 01 02 01 02 01 02 04 01 02 01 02 03 .byte $01, $02, $04, $01, $01, $02, $03, $03, $01, $01, $01, $02, $02, $03, $02, $02 ; CPU:$FA83 PRG:7A83 01 02 04 01 01 02 03 03 01 01 01 02 02 03 02 02 .byte $03, $04, $02, $03, $03, $04, $03, $02, $03, $F9, $03, $C0, $03, $8A, $03, $57 ; CPU:$FA93 PRG:7A93 03 04 02 03 03 04 03 02 03 F9 03 C0 03 8A 03 57 .byte $03, $27, $02, $FA, $02, $CF, $02, $A7, $02, $81, $02, $5D, $02, $3B, $02, $1B ; CPU:$FAA3 PRG:7AA3 03 27 02 FA 02 CF 02 A7 02 81 02 5D 02 3B 02 1B diff --git a/NROM/Galaga (U)/README.md b/NROM/Galaga (U)/README.md index 5b57a36..e20f3c9 100644 --- a/NROM/Galaga (U)/README.md +++ b/NROM/Galaga (U)/README.md @@ -2,66 +2,72 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 11,319 / 32,768 bytes (34.5%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $C0C8 | | RESET vector | $C000 | | IRQ vector | $C000 | -| ROM file | `Galaga (U).nes` | -| SHA-256 | `38f999bb2fa88893446d25a1885b0af1569f1260652d1c49332276c651315541` | -### Header notes +## Power-on flow -- none +RESET enters at `$C000`: -## Open work + sei ; CPU:$C000 PRG:4000 78 + cld ; CPU:$C001 PRG:4001 D8 + ldx #$00 ; CPU:$C002 PRG:4002 A2 00 + stx PPUCTRL ; CPU:$C004 PRG:4004 8E 00 20 + stx PPUMASK ; CPU:$C007 PRG:4007 8E 01 20 + lda PPUSTATUS ; CPU:$C00A PRG:400A AD 02 20 + bpl Reset_OnNonnegative ; CPU:$C00D PRG:400D 10 FB + ldx #$BF ; CPU:$C00F PRG:400F A2 BF + txs ; CPU:$C011 PRG:4011 9A + lda #$A5 ; CPU:$C012 PRG:4012 A9 A5 + cmp ZpFF ; CPU:$C014 PRG:4014 C5 FF + bne Reset_Loop ; CPU:$C016 PRG:4016 D0 04 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$C0C8`: -## Files + pha ; CPU:$C0C8 PRG:40C8 48 + txa ; CPU:$C0C9 PRG:40C9 8A + pha ; CPU:$C0CA PRG:40CA 48 + tya ; CPU:$C0CB PRG:40CB 98 + pha ; CPU:$C0CC PRG:40CC 48 + ldx Zp4A ; CPU:$C0CD PRG:40CD A6 4A + dex ; CPU:$C0CF PRG:40CF CA + bne NmiHandler_Loop ; CPU:$C0D0 PRG:40D0 D0 19 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$BDFF` (15872 bytes) - `UnreachedRomData` +- `$BE59-$BFFF` (423 bytes) - `UnreachedRomData2` +- `$C480-$C49F` (32 bytes) - `SpriteHeightTable` +- `$CC32-$CC37` (6 bytes) - `SpriteSpawnOffsetTable` +- `$D816-$D819` (4 bytes) - `SpriteStarCountTable` +- `$D9CA-$D9CF` (6 bytes) - `SpriteMovementParameterTable` +- `$E0F3-$E112` (32 bytes) - `ExplosionGraphicTable` +- `$E1E8-$E1E8` (1 bytes) - `UnreachedByte` +- `$E69A-$E69A` (1 bytes) - `UnreachedByte2` +- `$E7B1-$E7B5` (5 bytes) - `SpriteScoreTable` +- `$E9AA-$EAD9` (304 bytes) - `SpriteAttributeTable` +- `$EC7B-$EC84` (10 bytes) - `LevelStarPointerTable` +- `$ED8E-$F78F` (2562 bytes) - `LevelGraphicData` +- `$F7B4-$FFFF` (2124 bytes) - `SpriteGraphicData` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Galaga (U)/labelmap.tsv b/NROM/Galaga (U)/labelmap.tsv index 5a2256a..de9baff 100644 --- a/NROM/Galaga (U)/labelmap.tsv +++ b/NROM/Galaga (U)/labelmap.tsv @@ -3,146 +3,4 @@ C0C8 NmiHandler # ---- derived internal branch-target names ---- C000 Reset -C00A Reset_OnNonnegative -C01C Reset_Loop -C01E Reset_Loop2 -C026 Reset_OnNonzero -C044 Reset_Loop3 -C075 Sub_C075 -C079 Reset_OnNonzero2 -C089 Reset_Loop4 -C0AB Reset_Loop5 -C0B3 Reset_Loop6 -C0BD Reset_Loop7 -C0C2 Sub_C0C2 C0C8 NmiHandler -C0EB NmiHandler_Loop -C0F5 Sub_C0F5 -C103 Sub_C103 -C117 Sub_C117 -C11A Sub_C11A -C12D Sub_C12D -C149 NmiHandler_OnNonzero -C18C Sub_C18C -C190 NmiHandler_OnZero -C191 Sub_C191 -C1A7 NmiHandler_Loop2 -C1BF Sub_C1BF -C1C4 Sub_C1C4 -C1EA NmiHandler_Loop3 -C1F4 NmiHandler_OnNonzero2 -C214 NmiHandler_OnNonzero3 -C232 NmiHandler_Loop4 -C23B Sub_C23B -C242 Sub_C242 -C258 NmiHandler_OnNonzero4 -C275 Sub_C275 -C2BC Sub_C2BC -C2D2 Sub_C2D2 -C2DC NmiHandler_OnNonnegative -C2E0 NmiHandler_OnCarryClear -C2EC NmiHandler_Loop5 -C301 Sub_C301 -C317 Sub_C317 -C32C NmiHandler_Loop6 -C32E NmiHandler_Loop7 -C330 NmiHandler_Loop8 -C4A0 Sub_C4A0 -C4EF Sub_C4EF -C4F1 NmiHandler_OnNonzero5 -C500 Sub_C500 -C550 NmiHandler_Loop9 -C55F NmiHandler_Loop10 -C567 NmiHandler_Loop11 -C584 NmiHandler_OnNonzero6 -C5A1 NmiHandler_Loop12 -C5C3 NmiHandler_Loop13 -C5CA NmiHandler_OnNonzero7 -C5D3 NmiHandler_Loop14 -C5D4 Sub_C5D4 -C5E5 NmiHandler_OnNonzero8 -C5F4 NmiHandler_Loop15 -C5F8 NmiHandler_OnNonzero9 -C607 Sub_C607 -C612 NmiHandler_OnNegative -C613 NmiHandler_Loop16 -C640 NmiHandler_Loop17 -C65A NmiHandler_Loop18 -C65E NmiHandler_Loop19 -C661 NmiHandler_Loop20 -C663 NmiHandler_Loop21 -C673 NmiHandler_Loop22 -C67B NmiHandler_Loop23 -C693 Sub_C693 -C69C NmiHandler_OnNonnegative2 -C6A4 NmiHandler_Loop24 -C6A7 NmiHandler_Loop25 -C6A8 Sub_C6A8 -C6C9 NmiHandler_Loop26 -C6D1 NmiHandler_OnNonzero10 -C6E0 Sub_C6E0 -C6ED NmiHandler_OnNegative2 -C6EE NmiHandler_Loop27 -C710 Sub_C710 -C71C NmiHandler_OnNonzero11 -C725 NmiHandler_Loop28 -C731 Sub_C731 -C74A NmiHandler_OnZero2 -C750 NmiHandler_Loop29 -C76C NmiHandler_Loop30 -C776 NmiHandler_Loop31 -C77E NmiHandler_Loop32 -C782 Sub_C782 -C790 NmiHandler_Loop33 -C794 NmiHandler_Loop34 -C796 NmiHandler_Loop35 -C7A8 Sub_C7A8 -C7C6 NmiHandler_Loop36 -C7C7 NmiHandler_Loop37 -C7CB NmiHandler_Loop38 -C7CF NmiHandler_Loop39 -C7D3 NmiHandler_Loop40 -C7D5 NmiHandler_Loop41 -C7EA Sub_C7EA -C855 Sub_C855 -C85D Sub_C85D -C865 NmiHandler_Loop42 -C876 NmiHandler_Loop43 -C886 Sub_C886 -C8A6 NmiHandler_Loop44 -C8A7 NmiHandler_Loop45 -D776 NmiHandler_OnCarryClear2 -D781 NmiHandler_Loop46 -D78C Sub_D78C -D7AA Sub_D7AA -D7BA Sub_D7BA -EADA Sub_EADA -EAF0 NmiHandler_OnNonzero12 -EB02 NmiHandler_Loop47 -EB08 Sub_EB08 -EB12 NmiHandler_Loop48 -EB14 NmiHandler_Loop49 -EB2A NmiHandler_OnNonzero13 -EB3F NmiHandler_Loop50 -EB5A NmiHandler_OnNonzero14 -EB65 NmiHandler_Loop51 -EB70 NmiHandler_Loop52 -EB76 NmiHandler_OnCarryClear3 -EB88 NmiHandler_Loop53 -EB9B NmiHandler_OnCarryClear4 -EBAC NmiHandler_Loop54 -EBB7 NmiHandler_Loop55 -EBC2 NmiHandler_Loop56 -EBCB NmiHandler_Loop57 -EC01 NmiHandler_Loop58 -EC04 NmiHandler_Loop59 -EC27 NmiHandler_OnNonzero15 -EC2E NmiHandler_Loop60 -EC4A NmiHandler_Loop61 -EC54 NmiHandler_Loop62 -EC5C NmiHandler_Loop63 -ED51 Sub_ED51 -ED60 Sub_ED60 -F790 Sub_F790 -F794 NmiHandler_OnNonzero16 -F7A2 NmiHandler_OnZero3 diff --git a/NROM/Galaga (U)/locals.inc b/NROM/Galaga (U)/locals.inc index d086464..629d78c 100644 --- a/NROM/Galaga (U)/locals.inc +++ b/NROM/Galaga (U)/locals.inc @@ -4,52 +4,161 @@ ; 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 ; 75 refs; reads=25 writes=50; used at $C022, C027, C11C, C132, +71 more -Zp01 = $01 ; 32 refs; reads=8 writes=24; used at $C020, C02B, C122, C1A5, +23 more -Zp02 = $02 ; 28 refs; reads=9 writes=19; used at $C13E, C1E1, C4B3, C4C2, +24 more -Zp03 = $03 ; 10 refs; reads=5 writes=5; used at $C519, C542, C6FB, C79A, +6 more -Zp04 = $04 ; 27 refs; reads=11 writes=16; used at $C140, C1D5, C4A2, C4DC, +21 more -Zp05 = $05 ; 21 refs; reads=7 writes=14; used at $C142, C1DB, C58B, C5BB, +17 more -Zp06 = $06 ; 15 refs; reads=6 writes=9; used at $C194, C2BE, C640, C65A, +7 more -Zp07 = $07 ; 4 refs; reads=2 writes=2; used at $EC1F, EC29, EC38 -Zp08 = $08 ; 10 refs; reads=6 writes=4; used at $C1F7, C202, C208, C20F, +6 more -Zp09 = $09 ; 3 refs; reads=1 writes=2; used at $C1FD, C6A8, C6CE -Zp0A = $0A ; 35 refs; reads=21 writes=14; used at $C212, C21A, C509, C520, +30 more -Zp0B = $0B ; 5 refs; reads=0 writes=5; used at $C50D, C524, C536, C5DA, +1 more -Zp0C = $0C ; 13 refs; reads=4 writes=9; used at $C511, C528, C53A, C5D6, +5 more -Zp0D = $0D ; 3 refs; reads=1 writes=2; used at $C515, C53E, C6D7 -Zp0E = $0E ; 2 refs; reads=1 writes=1; used at $C501, C8A7 -Zp10 = $10 ; 2 refs; reads=1 writes=1; used at $C6B1, D7BE -Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $C6B5, D7C4 -Zp1C = $1C ; 13 refs; reads=8 writes=5; used at $C56E, C577, C57A, C57D, +7 more -Zp1D = $1D ; 9 refs; reads=5 writes=4; used at $C567, C570, C580, C5A1, +5 more -Zp1E = $1E ; 12 refs; reads=6 writes=6; used at $C14D, C1E7, C305, C30A, +7 more -Zp1F = $1F ; 4 refs; reads=1 writes=3; used at $C308, C310, D776, D794 -Zp40 = $40 ; 2 refs; reads=1 writes=1; used at $C073, C275 -Zp41 = $41 ; 2 refs; reads=1 writes=1; used at $C05B, C284 -Zp42 = $42 ; 2 refs; reads=1 writes=1; used at $C05F, C27A -Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $C063, C27F -Zp44 = $44 ; 2 refs; reads=1 writes=1; used at $C2F1, C2FB -Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $C095, C2F7 -Zp48 = $48 ; 7 refs; reads=6 writes=1; used at $C083, C09B, C547, C556, +2 more -Zp49 = $49 ; 2 refs; reads=1 writes=1; used at $C087 +Zp00 = $00 ; 259 refs; reads=112 writes=147; used at $BE14, BE3D, BE40, BE42, +250 more +Zp01 = $01 ; 58 refs; reads=12 writes=46; used at $BE18, C020, C02B, C122, +45 more +Zp02 = $02 ; 68 refs; reads=24 writes=44; used at $C13E, C15A, C16B, C1BD, +61 more +Zp03 = $03 ; 29 refs; reads=8 writes=21; used at $C1AD, C1B1, C1B9, C270, +23 more +Zp04 = $04 ; 94 refs; reads=31 writes=63; used at $C140, C1D5, C268, C26A, +86 more +Zp05 = $05 ; 61 refs; reads=15 writes=46; used at $C142, C1DB, C26E, C297, +51 more +Zp06 = $06 ; 52 refs; reads=23 writes=29; used at $BE1C, C194, C2BE, C640, +41 more +Zp07 = $07 ; 28 refs; reads=19 writes=9; used at $D372, D584, D5B1, D631, +23 more +Zp08 = $08 ; 45 refs; reads=25 writes=20; used at $C1F7, C202, C208, C20F, +38 more +Zp09 = $09 ; 8 refs; reads=2 writes=6; used at $C1FD, C6A8, C6CE, D3E0, +3 more +Zp0A = $0A ; 51 refs; reads=31 writes=20; used at $C212, C21A, C509, C520, +44 more +Zp0B = $0B ; 15 refs; reads=4 writes=11; used at $C50D, C524, C536, C5DA, +11 more +Zp0C = $0C ; 36 refs; reads=17 writes=19; used at $C511, C528, C53A, C5D6, +26 more +Zp0D = $0D ; 9 refs; reads=4 writes=5; used at $C515, C53E, C6D7, D5D0, +4 more +Zp0E = $0E ; 9 refs; reads=4 writes=5; used at $C501, C8A7, D573, D741, +4 more +Zp0F = $0F ; 8 refs; reads=2 writes=6; used at $E63B, E663, E69D, E6AF, +4 more +Zp10 = $10 ; 7 refs; reads=3 writes=4; used at $C41D, C462, C6B1, D7B7, +3 more +Zp11 = $11 ; 7 refs; reads=3 writes=4; used at $C40B, C467, C6B5, D7B3, +3 more +Zp12 = $12 ; 4 refs; reads=1 writes=3; used at $C420, DE8D, DECC, E17A +Zp13 = $13 ; 4 refs; reads=1 writes=3; used at $C40E, DE92, DED1, E181 +Zp14 = $14 ; 16 refs; reads=10 writes=6; used at $C426, C428, C42D, C431, +11 more +Zp15 = $15 ; 11 refs; reads=6 writes=5; used at $C414, C416, C41B, C42F, +6 more +Zp16 = $16 ; 20 refs; reads=13 writes=7; used at $C45C, C46C, DF14, DF55, +12 more +Zp17 = $17 ; 39 refs; reads=22 writes=17; used at $C444, C44C, C474, C47D, +25 more +Zp18 = $18 ; 29 refs; reads=19 writes=10; used at $DA30, DA55, DA57, DA68, +24 more +Zp1A = $1A ; 5 refs; reads=3 writes=2; used at $DA2C, DA44, E72D, E739, +1 more +Zp1B = $1B ; 3 refs; reads=1 writes=2; used at $DA34, DA5F +Zp1C = $1C ; 21 refs; reads=12 writes=9; used at $C56E, C577, C57A, C57D, +15 more +Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $C567, C570, C580, C5A1, +9 more +Zp1E = $1E ; 22 refs; reads=9 writes=13; used at $C14D, C186, C1E7, C305, +17 more +Zp1F = $1F ; 10 refs; reads=3 writes=7; used at $C308, C310, D749, D776, +4 more +Zp20 = $20 ; 40 refs; reads=6 writes=34; used at $C29E, C34D, C372, CA89, +35 more +Zp21 = $21 ; 15 refs; reads=0 writes=15; used at $CB60, CBE2, CBEB, CC1B, +11 more +Zp22 = $22 ; 3 refs; reads=0 writes=3; used at $D67F, D6E7, DB05 +Zp23 = $23 ; 4 refs; reads=2 writes=2; used at $CFAD, CFB3, DB09, E1E4 +Zp24 = $24 ; 1 refs; reads=0 writes=1; used at $CFAF +Zp25 = $25 ; 11 refs; reads=1 writes=10; used at $CA82, CFB7, D94B, D9A4, +6 more +Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $E1E0 +Zp27 = $27 ; 5 refs; reads=1 writes=4; used at $D945, DA01, DA2A, DA46, +1 more +Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $C355, C394 +Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $DB23 +Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $DB25 +Zp2B = $2B ; 11 refs; reads=4 writes=7; used at $D8EF, D995, D9B1, D9F3, +7 more +Zp2C = $2C ; 2 refs; reads=0 writes=2; used at $D935, DAF7 +Zp2D = $2D ; 2 refs; reads=0 writes=2; used at $D99F, DA4C +Zp30 = $30 ; 4 refs; reads=1 writes=3; used at $C35A, C36B, C37B, C392 +Zp31 = $31 ; 1 refs; reads=1 writes=0; used at $C379 +Zp37 = $37 ; 1 refs; reads=0 writes=1; used at $C384 +Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $C369, C39B +Zp40 = $40 ; 6 refs; reads=3 writes=3; used at $BE27, BE2B, C073, C275, +2 more +Zp41 = $41 ; 4 refs; reads=1 writes=3; used at $C05B, C284, C28C, C2AF +Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C05F, C27A, D2B6 +Zp43 = $43 ; 9 refs; reads=4 writes=5; used at $C063, C27F, CDB9, CDCC, +4 more +Zp44 = $44 ; 5 refs; reads=3 writes=2; used at $C2F1, C2FB, E245, E24B, +1 more +Zp45 = $45 ; 1 refs; reads=1 writes=0; used at $E040 +Zp46 = $46 ; 8 refs; reads=7 writes=1; used at $C095, C2F7, CDC6, CDEC, +4 more +Zp47 = $47 ; 1 refs; reads=1 writes=0; used at $CFE4 +Zp48 = $48 ; 20 refs; reads=18 writes=2; used at $BE39, C083, C09B, C547, +15 more +Zp49 = $49 ; 8 refs; reads=5 writes=3; used at $BE33, C087, CDE4, CDF8, +2 more Zp4A = $4A ; 4 refs; reads=2 writes=2; used at $C077, C079, C0CD, C0D2 -Zp4B = $4B ; 4 refs; reads=3 writes=1; used at $C06C, C091, C0D4, C18C +Zp4B = $4B ; 6 refs; reads=3 writes=3; used at $C06C, C091, C0D4, C18C, +2 more Zp4E = $4E ; 7 refs; reads=4 writes=3; used at $C11A, C128, C1C4, C1D3, +3 more -Zp4F = $4F ; 3 refs; reads=1 writes=2; used at $C151, C1C6, C234 -Zp50 = $50 ; 1 refs; reads=1 writes=0; used at $C587 -Zp51 = $51 ; 2 refs; reads=1 writes=1; used at $C56A, C56C +Zp4F = $4F ; 5 refs; reads=1 writes=4; used at $C151, C16F, C18A, C1C6, +1 more +Zp50 = $50 ; 3 refs; reads=1 writes=2; used at $BE0A, C587, D2A1 +Zp51 = $51 ; 4 refs; reads=2 writes=2; used at $C56A, C56C, E620 Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $C572, C574 -Zp5B = $5B ; 3 refs; reads=2 writes=1; used at $C08D, C0AD, EB0E -Zp62 = $62 ; 2 refs; reads=2 writes=0; used at $C089, EB0A +Zp54 = $54 ; 19 refs; reads=10 writes=9; used at $CC40, CC5F, CC7A, CC9A, +13 more +Zp55 = $55 ; 8 refs; reads=4 writes=4; used at $CC72, CC8D, CC8F, CC98, +2 more +Zp56 = $56 ; 7 refs; reads=4 writes=3; used at $CC74, CCA6, CCA8, CCB3, +1 more +Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $CC84, CD01 +Zp58 = $58 ; 5 refs; reads=4 writes=1; used at $CC7C, DFA5, E1F4, E2D8, +1 more +Zp59 = $59 ; 3 refs; reads=1 writes=2; used at $CC76, CCDA, CCE3 +Zp5A = $5A ; 2 refs; reads=1 writes=1; used at $E78E, E799 +Zp5B = $5B ; 4 refs; reads=2 writes=2; used at $C08D, C0AD, D26E, EB0E +Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $E7B6 +Zp5D = $5D ; 3 refs; reads=1 writes=2; used at $CC44, CC4F, E366 +Zp5F = $5F ; 4 refs; reads=2 writes=2; used at $E113, E117, E658 +Zp60 = $60 ; 5 refs; reads=2 writes=3; used at $E04C, E050, E052, E05A +Zp61 = $61 ; 9 refs; reads=6 writes=3; used at $C8B9, C979, C9C7, CE15, +5 more +Zp62 = $62 ; 8 refs; reads=6 writes=2; used at $C089, C8AB, C9AC, CDBB, +4 more +Zp63 = $63 ; 4 refs; reads=2 writes=2; used at $C8E4, C9BE, C9C5 +Zp64 = $64 ; 9 refs; reads=4 writes=5; used at $CAA4, CAA9, CABB, CACD, +5 more +Zp65 = $65 ; 3 refs; reads=1 writes=2; used at $CAC6, CAFD, CB18 +Zp66 = $66 ; 5 refs; reads=2 writes=3; used at $CACA, CB25, CB33, CB38, +1 more +Zp68 = $68 ; 3 refs; reads=2 writes=1; used at $D575, D739, D73F +Zp69 = $69 ; 3 refs; reads=2 writes=1; used at $D563, D56C, D577 Zp6E = $6E ; 4 refs; reads=3 writes=1; used at $C317, C31C, C31E, C332 Zp6F = $6F ; 6 refs; reads=4 writes=2; used at $C320, C324, C32E, C330 +Zp70 = $70 ; 12 refs; reads=6 writes=6; used at $C3E2, C3E6, CD47, D86E, +5 more +Zp71 = $71 ; 8 refs; reads=5 writes=3; used at $D8BA, D8BC, D8C8, D8D8, +2 more +Zp72 = $72 ; 4 refs; reads=2 writes=2; used at $D8DA, D8E0, D8E5 +Zp73 = $73 ; 5 refs; reads=2 writes=3; used at $D867, D8A1, D8B8, E1E2 +Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $D848, D8DC +Zp75 = $75 ; 1 refs; reads=0 writes=1; used at $D84D +Zp76 = $76 ; 3 refs; reads=2 writes=1; used at $D858, D941, D947 +Zp77 = $77 ; 1 refs; reads=0 writes=1; used at $D85E +Zp78 = $78 ; 2 refs; reads=1 writes=1; used at $D7C7, D7D1 +Zp79 = $79 ; 30 refs; reads=16 writes=14; used at $CE42, CEF0, D038, DA03, +23 more +Zp7A = $7A ; 11 refs; reads=5 writes=6; used at $D02E, D896, D96D, DCEE, +7 more +Zp7B = $7B ; 7 refs; reads=3 writes=4; used at $CE32, CE92, CF45, D030, +3 more +Zp7C = $7C ; 15 refs; reads=8 writes=7; used at $CEEA, D042, D89B, D8F7, +11 more +Zp7D = $7D ; 7 refs; reads=5 writes=2; used at $DDEC, DEE4, DFB5, E3AC, +3 more +Zp7E = $7E ; 5 refs; reads=4 writes=1; used at $DFB9, E2CE, E31B, E336, +1 more +Zp7F = $7F ; 4 refs; reads=2 writes=2; used at $CD5D, CE8B, CEA3, CF38 +Zp80 = $80 ; 2 refs; reads=1 writes=1; used at $C3E4, C3E8 +Zp90 = $90 ; 6 refs; reads=3 writes=3; used at $E162, E18A, E192, E1CE, +2 more +Zp91 = $91 ; 4 refs; reads=2 writes=2; used at $E17C, E19A, E19E, E7F1 +Zp92 = $92 ; 4 refs; reads=2 writes=2; used at $E183, E1B4, E1B6, E7FB +Zp93 = $93 ; 3 refs; reads=1 writes=2; used at $E18E, E1A8, E1AD +Zp9B = $9B ; 2 refs; reads=1 writes=1; used at $E622 +ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $E628 +ZpAC = $AC ; 2 refs; reads=1 writes=1; used at $E1DE +ZpAD = $AD ; 2 refs; reads=1 writes=1; used at $E624 ZpB0 = $B0 ; 5 refs; reads=2 writes=3; used at $EB18, EB3A, EB41, EB47, +1 more ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $EB1A ZpB2 = $B2 ; 1 refs; reads=0 writes=1; used at $EB1C ZpB3 = $B3 ; 1 refs; reads=0 writes=1; used at $EB1E -ZpDE = $DE ; 1 refs; reads=0 writes=1; used at $C042 -ZpDF = $DF ; 1 refs; reads=0 writes=1; used at $C03E -ZpEC = $EC ; 1 refs; reads=0 writes=1; used at $EC61 +ZpB4 = $B4 ; 5 refs; reads=2 writes=3; used at $ECEB, ECFF, ED01, ED07 +ZpB7 = $B7 ; 4 refs; reads=2 writes=2; used at $ED17, ED19, ED1F +ZpBA = $BA ; 4 refs; reads=2 writes=2; used at $ED2F, ED31, ED37 +ZpBF = $BF ; 2 refs; reads=1 writes=1; used at $E626 +ZpC0 = $C0 ; 5 refs; reads=1 writes=4; used at $D801, D889, D8D6, E6D9 +ZpC1 = $C1 ; 2 refs; reads=0 writes=2; used at $D153, D7F7 +ZpC2 = $C2 ; 2 refs; reads=0 writes=2; used at $D156, D7F9 +ZpC3 = $C3 ; 1 refs; reads=0 writes=1; used at $D7FB +ZpC4 = $C4 ; 8 refs; reads=4 writes=4; used at $D0E3, D15A, D193, D1C6, +2 more +ZpC6 = $C6 ; 4 refs; reads=2 writes=2; used at $D0EB, D105, D13A, D197 +ZpC7 = $C7 ; 7 refs; reads=3 writes=4; used at $D0EF, D109, D121, D15E, +3 more +ZpC8 = $C8 ; 3 refs; reads=1 writes=2; used at $CE11, CE3B +ZpC9 = $C9 ; 3 refs; reads=1 writes=2; used at $E02F, E03A +ZpCA = $CA ; 7 refs; reads=3 writes=4; used at $E230, E239, E23D, E240 +ZpCB = $CB ; 2 refs; reads=1 writes=1; used at $E243, E249 +ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $CC6E +ZpCD = $CD ; 1 refs; reads=1 writes=0; used at $C115 +ZpD9 = $D9 ; 3 refs; reads=2 writes=1; used at $D87A, D87C +ZpDC = $DC ; 1 refs; reads=1 writes=0; used at $DC58 +ZpDE = $DE ; 13 refs; reads=10 writes=3; used at $C042, C94F, C959, C971, +9 more +ZpDF = $DF ; 5 refs; reads=3 writes=2; used at $C03E, CDF2, CDF6, CE4F, +1 more +ZpEC = $EC ; 10 refs; reads=5 writes=5; used at $EC61, EC63, EC65, EC67, +2 more ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $C03A ZpFF = $FF ; 3 refs; reads=2 writes=1; used at $C014, C032, C036 + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp40 +PpuMaskShadow = Zp41 +StarFieldPtrLo = Zp00 +StarFieldPtrHi = Zp01 +StarFieldCount = Zp06 +PpuAddrLow = Zp04 +PpuAddrHigh = Zp05 +TilePtrLo = Zp08 +TilePtrHi = Zp09 +SpriteX = Zp16 +SpriteY = Zp25 +SpriteAttr = Zp2D +SpriteIndex = Zp2B +ScreenPtrLo = Zp0A +ScreenPtrHi = Zp0B diff --git a/NROM/Galaga (U)/prg.s b/NROM/Galaga (U)/prg.s index 4332857..e8c105a 100644 --- a/NROM/Galaga (U)/prg.s +++ b/NROM/Galaga (U)/prg.s @@ -9,6 +9,10 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 1 further routine entries recovered from table references elsewhere in the image: +; $DF8E +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $BE00, $C000, $C01C, $C0BD, $C115, $C117, $C1A7, $C3A1, $C3B5, $C3CA, $C41A, $C42C, $C4A0, $C5A0, $C65A, $C693, $C8AB, $C8C4, $C90B, $C937, $C957, $C993, $C9CE, $C9DE, $CA17, $CA39, $CA91, $CAF6, $CB38, $CB56, $CB79, $CBDE, $CC38, $CC70, $CCD0, $CD1A, $CDB3, $CDD6, $CE00, $CE4F, $CEFC, $CFFD, $D046, $D103, $D17B, $D273, $D293, $D410, $D509, $D624, $D6E7, $D7B0, $D7BA, $D7D1, $D80C, $D81A, $D882, $D913, $D928, $D951, $D9D0, $DB43, $DB80, $DC38, $DC6E, $DC7D, $DCBF, $DCCF, $DCDC, $DCEE, $DD17, $DD68, $DD7A, $DDD8, $DDEE, $DE01, $DE10, $DE23, $DE4A, $DE64, $DEA5, $DEB5, $DEC1, $DEF1, $DF6F, $DF97, $DFBC, $E03E, $E113, $E16F, $E1E9, $E24D, $E299, $E2CB, $E2E4, $E336, $E383, $E3AC, $E3D4, $E3EE, $E426, $E45D, $E473, $E482, $E488, $E49D, $E4A1, $E4D5, $E619, $E620, $E62B, $E640, $E651, $E67D, $E69B, $E6AD, $E6C8, $E7B6, $E867, $E88E, $E8E1, $E94B, $E965, $EADA, $EC85, $EC93, $ECA5, $ECB7, $ECC9, $ECD3, $ECDD, $ECE7, $ECF3, $ED0B, $ED14, $ED3B, $F790 ; indirect dispatch through zero page (not followed statically): ; jmp ($001E) at $C314 ; @@ -19,8 +23,12 @@ .segment "PRG" -; ---- data $8000-$BFFF (16384 bytes) ---- - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$8000 PRG:0000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +; ---- data $8000-$BDFF (15872 bytes) ---- +; referenced by `sty $8CD8` at $D87E (operand $8CD8 falls inside this region) +; referenced by `rra $97DF` at $DB6E (operand $97DF falls inside this region) +; referenced by `ror $86DC` at $DC52 (operand $86DC falls inside this region) +UnreachedRomData: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$8000 PRG:-4000 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:$8010 PRG:0010 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:$8020 PRG:0020 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:$8030 PRG:0030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF @@ -1012,38 +1020,103 @@ .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BDD0 PRG:3DD0 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:$BDE0 PRG:3DE0 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:$BDF0 PRG:3DF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $20, $8A, $C2, $A9, $06, $8D, $71, $04, $A2, $FF, $86, $50, $20, $3B, $C2, $20 ; CPU:$BE00 PRG:3E00 20 8A C2 A9 06 8D 71 04 A2 FF 86 50 20 3B C2 20 - .byte $A0, $C4, $A9, $00, $85, $00, $A9, $BF, $85, $01, $A9, $0B, $85, $06, $20, $91 ; CPU:$BE10 PRG:3E10 A0 C4 A9 00 85 00 A9 BF 85 01 A9 0B 85 06 20 91 - .byte $C1, $20, $4F, $CE, $20, $CE, $C9, $A5, $40, $29, $FD, $85, $40, $8D, $00, $20 ; CPU:$BE20 PRG:3E20 C1 20 4F CE 20 CE C9 A5 40 29 FD 85 40 8D 00 20 - .byte $4C, $AD, $C2, $A5, $49, $29, $03, $D0, $19, $A5, $48, $29, $0C, $85, $00, $0A ; CPU:$BE30 PRG:3E30 4C AD C2 A5 49 29 03 D0 19 A5 48 29 0C 85 00 0A - .byte $46, $00, $65, $00, $46, $00, $65, $00, $69, $B8, $AA, $A9, $BF, $69, $00, $4C ; CPU:$BE40 PRG:3E40 46 00 65 00 46 00 65 00 69 B8 AA A9 BF 69 00 4C - .byte $17, $C1, $A2, $B8, $A9, $BF, $4C, $17, $C1, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BE50 PRG:3E50 17 C1 A2 B8 A9 BF 4C 17 C1 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:$BE60 PRG:3E60 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:$BE70 PRG:3E70 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:$BE80 PRG:3E80 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:$BE90 PRG:3E90 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:$BEA0 PRG:3EA0 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:$BEB0 PRG:3EB0 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:$BEC0 PRG:3EC0 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:$BED0 PRG:3ED0 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:$BEE0 PRG:3EE0 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:$BEF0 PRG:3EF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $C9, $28, $0B, $13, $14, $1A, $20, $21, $23, $CC, $CD, $CE, $F0, $F1, $E8, $28 ; CPU:$BF00 PRG:3F00 C9 28 0B 13 14 1A 20 21 23 CC CD CE F0 F1 E8 28 - .byte $0C, $F2, $F3, $F4, $F5, $F6, $F7, $F8, $13, $F9, $FA, $FB, $FC, $08, $29, $0C ; CPU:$BF10 PRG:3F10 0C F2 F3 F4 F5 F6 F7 F8 13 F9 FA FB FC 08 29 0C - .byte $13, $14, $1A, $20, $21, $23, $CC, $CD, $CE, $F0, $F1, $F2, $28, $29, $0B, $F3 ; CPU:$BF20 PRG:3F20 13 14 1A 20 21 23 CC CD CE F0 F1 F2 28 29 0B F3 - .byte $F4, $F5, $F6, $F7, $F8, $F9, $FA, $FB, $FC, $FD, $4F, $29, $03, $FE, $FD, $FE ; CPU:$BF30 PRG:3F30 F4 F5 F6 F7 F8 F9 FA FB FC FD 4F 29 03 FE FD FE - .byte $6F, $29, $02, $FF, $FF, $CA, $29, $08, $01, $24, $19, $15, $0A, $22, $0E, $1B ; CPU:$BF40 PRG:3F40 6F 29 02 FF FF CA 29 08 01 24 19 15 0A 22 0E 1B - .byte $0A, $2A, $09, $02, $24, $19, $15, $0A, $22, $0E, $1B, $1C, $80, $2A, $1D, $1D ; CPU:$BF50 PRG:3F50 0A 2A 09 02 24 19 15 0A 22 0E 1B 1C 80 2A 1D 1D - .byte $16, $24, $0A, $17, $0D, $24, $29, $24, $01, $09, $08, $01, $24, $01, $09, $08 ; CPU:$BF60 PRG:3F60 16 24 0A 17 0D 24 29 24 01 09 08 01 24 01 09 08 - .byte $08, $24, $17, $0A, $16, $0C, $18, $24, $15, $1D, $0D, $28, $01, $2B, $1B, $0B ; CPU:$BF70 PRG:3F70 08 24 17 0A 16 0C 18 24 15 1D 0D 28 01 2B 1B 0B - .byte $0A, $17, $0D, $0A, $12, $24, $0C, $18, $28, $24, $15, $1D, $0D, $28, $24, $12 ; CPU:$BF80 PRG:3F80 0A 17 0D 0A 12 24 0C 18 28 24 15 1D 0D 28 24 12 - .byte $1C, $24, $15, $12, $0C, $0E, $17, $1C, $0E, $0D, $41, $2B, $1B, $0B, $22, $24 ; CPU:$BF90 PRG:3F90 1C 24 15 12 0C 0E 17 1C 0E 0D 41 2B 1B 0B 22 24 - .byte $17, $12, $17, $1D, $0E, $17, $0D, $18, $24, $18, $0F, $24, $0A, $16, $0E, $1B ; CPU:$BFA0 PRG:3FA0 17 12 17 1D 0E 17 0D 18 24 18 0F 24 0A 16 0E 1B - .byte $12, $0C, $0A, $24, $12, $17, $0C, $28, $08, $3F, $08, $0F, $0F, $2A, $2A, $0F ; CPU:$BFB0 PRG:3FB0 12 0C 0A 24 12 17 0C 28 08 3F 08 0F 0F 2A 2A 0F - .byte $2A, $0F, $2A, $08, $3F, $08, $0F, $0F, $3A, $3A, $0F, $3A, $0F, $3A, $08, $3F ; CPU:$BFC0 PRG:3FC0 2A 0F 2A 08 3F 08 0F 0F 3A 3A 0F 3A 0F 3A 08 3F - .byte $08, $0F, $0F, $0A, $0A, $0F, $0A, $0F, $0A, $08, $3F, $08, $0F, $0F, $1A, $1A ; CPU:$BFD0 PRG:3FD0 08 0F 0F 0A 0A 0F 0A 0F 0A 08 3F 08 0F 0F 1A 1A - .byte $0F, $1A, $0F, $1A, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BFE0 PRG:3FE0 0F 1A 0F 1A 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:$BFF0 PRG:3FF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Sub_BE00 +; Global: Branch target inside Sub: taken when BE00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE00: + jsr Sub_C28A ; CPU:$BE00 PRG:3E00 20 8A C2 + lda #$06 ; CPU:$BE03 PRG:3E03 A9 06 + sta $0471 ; CPU:$BE05 PRG:3E05 8D 71 04 + ldx #$FF ; CPU:$BE08 PRG:3E08 A2 FF + stx Zp50 ; CPU:$BE0A PRG:3E0A 86 50 + jsr Sub_C23B ; CPU:$BE0C PRG:3E0C 20 3B C2 + jsr Sub_C4A0 ; CPU:$BE0F PRG:3E0F 20 A0 C4 + lda #$00 ; CPU:$BE12 PRG:3E12 A9 00 + sta StarFieldPtrLo ; CPU:$BE14 PRG:3E14 85 00 + lda #$BF ; CPU:$BE16 PRG:3E16 A9 BF + sta StarFieldPtrHi ; CPU:$BE18 PRG:3E18 85 01 + lda #$0B ; CPU:$BE1A PRG:3E1A A9 0B + sta StarFieldCount ; CPU:$BE1C PRG:3E1C 85 06 + jsr Sub_C191 ; CPU:$BE1E PRG:3E1E 20 91 C1 + jsr Sub_CE4F ; CPU:$BE21 PRG:3E21 20 4F CE + jsr Sub_C9CE ; CPU:$BE24 PRG:3E24 20 CE C9 + lda PpuCtrlShadow ; CPU:$BE27 PRG:3E27 A5 40 + and #$FD ; CPU:$BE29 PRG:3E29 29 FD + sta PpuCtrlShadow ; CPU:$BE2B PRG:3E2B 85 40 + sta PPUCTRL ; CPU:$BE2D PRG:3E2D 8D 00 20 + jmp Sub_C2AD ; CPU:$BE30 PRG:3E30 4C AD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_BE33 +; Global: Branch target inside Sub: taken when BE33. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE33: + lda Zp49 ; CPU:$BE33 PRG:3E33 A5 49 + and #$03 ; CPU:$BE35 PRG:3E35 29 03 + bne Sub_Loop ; CPU:$BE37 PRG:3E37 D0 19 + lda Zp48 ; CPU:$BE39 PRG:3E39 A5 48 + and #$0C ; CPU:$BE3B PRG:3E3B 29 0C + sta StarFieldPtrLo ; CPU:$BE3D PRG:3E3D 85 00 + asl a ; CPU:$BE3F PRG:3E3F 0A + lsr StarFieldPtrLo ; CPU:$BE40 PRG:3E40 46 00 + adc StarFieldPtrLo ; CPU:$BE42 PRG:3E42 65 00 + lsr StarFieldPtrLo ; CPU:$BE44 PRG:3E44 46 00 + adc StarFieldPtrLo ; CPU:$BE46 PRG:3E46 65 00 + adc #$B8 ; CPU:$BE48 PRG:3E48 69 B8 + tax ; CPU:$BE4A PRG:3E4A AA + lda #$BF ; CPU:$BE4B PRG:3E4B A9 BF + adc #$00 ; CPU:$BE4D PRG:3E4D 69 00 + jmp Sub_C117 ; CPU:$BE4F PRG:3E4F 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop +; Global: Branch target inside Sub: taken when the loop repeats. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop: + ldx #$B8 ; CPU:$BE52 PRG:3E52 A2 B8 + lda #$BF ; CPU:$BE54 PRG:3E54 A9 BF + jmp Sub_C117 ; CPU:$BE56 PRG:3E56 4C 17 C1 +; ---- data $BE59-$BFFF (423 bytes) ---- +; referenced by `lax $BFDC` at $DC5A (operand $BFDC falls inside this region) +UnreachedRomData2: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BE59 PRG:-1A7 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:$BE69 PRG:3E69 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:$BE79 PRG:3E79 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:$BE89 PRG:3E89 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:$BE99 PRG:3E99 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:$BEA9 PRG:3EA9 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:$BEB9 PRG:3EB9 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:$BEC9 PRG:3EC9 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:$BED9 PRG:3ED9 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:$BEE9 PRG:3EE9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $C9, $28, $0B, $13, $14, $1A, $20, $21, $23 ; CPU:$BEF9 PRG:3EF9 FF FF FF FF FF FF FF C9 28 0B 13 14 1A 20 21 23 + .byte $CC, $CD, $CE, $F0, $F1, $E8, $28, $0C, $F2, $F3, $F4, $F5, $F6, $F7, $F8, $13 ; CPU:$BF09 PRG:3F09 CC CD CE F0 F1 E8 28 0C F2 F3 F4 F5 F6 F7 F8 13 + .byte $F9, $FA, $FB, $FC, $08, $29, $0C, $13, $14, $1A, $20, $21, $23, $CC, $CD, $CE ; CPU:$BF19 PRG:3F19 F9 FA FB FC 08 29 0C 13 14 1A 20 21 23 CC CD CE + .byte $F0, $F1, $F2, $28, $29, $0B, $F3, $F4, $F5, $F6, $F7, $F8, $F9, $FA, $FB, $FC ; CPU:$BF29 PRG:3F29 F0 F1 F2 28 29 0B F3 F4 F5 F6 F7 F8 F9 FA FB FC + .byte $FD, $4F, $29, $03, $FE, $FD, $FE, $6F, $29, $02, $FF, $FF, $CA, $29, $08, $01 ; CPU:$BF39 PRG:3F39 FD 4F 29 03 FE FD FE 6F 29 02 FF FF CA 29 08 01 + .byte $24, $19, $15, $0A, $22, $0E, $1B, $0A, $2A, $09, $02, $24, $19, $15, $0A, $22 ; CPU:$BF49 PRG:3F49 24 19 15 0A 22 0E 1B 0A 2A 09 02 24 19 15 0A 22 + .byte $0E, $1B, $1C, $80, $2A, $1D, $1D, $16, $24, $0A, $17, $0D, $24, $29, $24, $01 ; CPU:$BF59 PRG:3F59 0E 1B 1C 80 2A 1D 1D 16 24 0A 17 0D 24 29 24 01 + .byte $09, $08, $01, $24, $01, $09, $08, $08, $24, $17, $0A, $16, $0C, $18, $24, $15 ; CPU:$BF69 PRG:3F69 09 08 01 24 01 09 08 08 24 17 0A 16 0C 18 24 15 + .byte $1D, $0D, $28, $01, $2B, $1B, $0B, $0A, $17, $0D, $0A, $12, $24, $0C, $18, $28 ; CPU:$BF79 PRG:3F79 1D 0D 28 01 2B 1B 0B 0A 17 0D 0A 12 24 0C 18 28 + .byte $24, $15, $1D, $0D, $28, $24, $12, $1C, $24, $15, $12, $0C, $0E, $17, $1C, $0E ; CPU:$BF89 PRG:3F89 24 15 1D 0D 28 24 12 1C 24 15 12 0C 0E 17 1C 0E + .byte $0D, $41, $2B, $1B, $0B, $22, $24, $17, $12, $17, $1D, $0E, $17, $0D, $18, $24 ; CPU:$BF99 PRG:3F99 0D 41 2B 1B 0B 22 24 17 12 17 1D 0E 17 0D 18 24 + .byte $18, $0F, $24, $0A, $16, $0E, $1B, $12, $0C, $0A, $24, $12, $17, $0C, $28, $08 ; CPU:$BFA9 PRG:3FA9 18 0F 24 0A 16 0E 1B 12 0C 0A 24 12 17 0C 28 08 + .byte $3F, $08, $0F, $0F, $2A, $2A, $0F, $2A, $0F, $2A, $08, $3F, $08, $0F, $0F, $3A ; CPU:$BFB9 PRG:3FB9 3F 08 0F 0F 2A 2A 0F 2A 0F 2A 08 3F 08 0F 0F 3A + .byte $3A, $0F, $3A, $0F, $3A, $08, $3F, $08, $0F, $0F, $0A, $0A, $0F, $0A, $0F, $0A ; CPU:$BFC9 PRG:3FC9 3A 0F 3A 0F 3A 08 3F 08 0F 0F 0A 0A 0F 0A 0F 0A + .byte $08, $3F, $08, $0F, $0F, $1A, $1A, $0F, $1A, $0F, $1A, $FF, $FF, $FF, $FF, $FF ; CPU:$BFD9 PRG:3FD9 08 3F 08 0F 0F 1A 1A 0F 1A 0F 1A FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BFE9 PRG:3FE9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BFF9 PRG:3FF9 FF FF FF FF FF FF FF ; ----------------------------------------------------------------------------- ; Routine: Reset ; Global: Routine Reset. @@ -1055,6 +1128,15 @@ Reset: sei ; CPU:$C000 PRG:4000 78 cld ; CPU:$C001 PRG:4001 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_C002 +; Global: Branch target inside Sub: taken when C002. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C002: ldx #$00 ; CPU:$C002 PRG:4002 A2 00 stx PPUCTRL ; CPU:$C004 PRG:4004 8E 00 20 stx PPUMASK ; CPU:$C007 PRG:4007 8E 01 20 @@ -1096,8 +1178,8 @@ Reset_Loop: ; ----------------------------------------------------------------------------- Reset_Loop2: lda #$00 ; CPU:$C01E PRG:401E A9 00 - sta Zp01 ; CPU:$C020 PRG:4020 85 01 - sta Zp00 ; CPU:$C022 PRG:4022 85 00 + sta StarFieldPtrHi ; CPU:$C020 PRG:4020 85 01 + sta StarFieldPtrLo ; CPU:$C022 PRG:4022 85 00 ldx #$07 ; CPU:$C024 PRG:4024 A2 07 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero @@ -1109,9 +1191,9 @@ Reset_Loop2: ; ----------------------------------------------------------------------------- Reset_OnNonzero: dey ; CPU:$C026 PRG:4026 88 - sta (Zp00),y ; CPU:$C027 PRG:4027 91 00 + sta (StarFieldPtrLo),y ; CPU:$C027 PRG:4027 91 00 bne Reset_OnNonzero ; CPU:$C029 PRG:4029 D0 FB - inc Zp01 ; CPU:$C02B PRG:402B E6 01 + inc StarFieldPtrHi ; CPU:$C02B PRG:402B E6 01 dex ; CPU:$C02D PRG:402D CA bpl Reset_OnNonzero ; CPU:$C02E PRG:402E 10 F6 lda #$A5 ; CPU:$C030 PRG:4030 A9 A5 @@ -1133,7 +1215,7 @@ Reset_OnNonzero: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_Loop3: - jsr NmiHandler_Loop4 ; CPU:$C044 PRG:4044 20 32 C2 + jsr NmiHandler_Loop6 ; CPU:$C044 PRG:4044 20 32 C2 jsr Sub_C23B ; CPU:$C047 PRG:4047 20 3B C2 jsr Sub_C4A0 ; CPU:$C04A PRG:404A 20 A0 C4 jsr Sub_C2BC ; CPU:$C04D PRG:404D 20 BC C2 @@ -1141,7 +1223,7 @@ Reset_Loop3: jsr Sub_F790 ; CPU:$C053 PRG:4053 20 90 F7 jsr Sub_EADA ; CPU:$C056 PRG:4056 20 DA EA lda #$1E ; CPU:$C059 PRG:4059 A9 1E - sta Zp41 ; CPU:$C05B PRG:405B 85 41 + sta PpuMaskShadow ; CPU:$C05B PRG:405B 85 41 lda #$F8 ; CPU:$C05D PRG:405D A9 F8 sta Zp42 ; CPU:$C05F PRG:405F 85 42 lda #$E8 ; CPU:$C061 PRG:4061 A9 E8 @@ -1152,7 +1234,7 @@ Reset_Loop3: sta Zp4B ; CPU:$C06C PRG:406C 85 4B lda #$B0 ; CPU:$C06E PRG:406E A9 B0 sta PPUCTRL ; CPU:$C070 PRG:4070 8D 00 20 - sta Zp40 ; CPU:$C073 PRG:4073 85 40 + sta PpuCtrlShadow ; CPU:$C073 PRG:4073 85 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_C075 ; Global: Branch target inside Sub: taken when C075. @@ -1278,7 +1360,7 @@ NmiHandler: sta OAMADDR ; CPU:$C0DD PRG:40DD 8D 03 20 lda #$07 ; CPU:$C0E0 PRG:40E0 A9 07 sta OAMDMA ; CPU:$C0E2 PRG:40E2 8D 14 40 - jsr NmiHandler_Loop3 ; CPU:$C0E5 PRG:40E5 20 EA C1 + jsr NmiHandler_Loop5 ; CPU:$C0E5 PRG:40E5 20 EA C1 jsr Sub_C275 ; CPU:$C0E8 PRG:40E8 20 75 C2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop @@ -1295,8 +1377,18 @@ NmiHandler_Loop: tax ; CPU:$C0EE PRG:40EE AA pla ; CPU:$C0EF PRG:40EF 68 rti ; CPU:$C0F0 PRG:40F0 40 -; ---- data $C0F1-$C0F4 (4 bytes) ---- - .byte $BA, $8A, $29, $C0 ; CPU:$C0F1 PRG:40F1 BA 8A 29 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0F1 +; Global: Branch target inside Sub: taken when C0F1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0F1: + tsx ; CPU:$C0F1 PRG:40F1 BA + txa ; CPU:$C0F2 PRG:40F2 8A + and #$C0 ; CPU:$C0F3 PRG:40F3 29 C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_C0F5 ; Global: Branch target inside Sub: taken when C0F5. @@ -1332,10 +1424,16 @@ Sub_C103: lda $C116 ; CPU:$C10E PRG:410E AD 16 C1 sta $01FF ; CPU:$C111 PRG:4111 8D FF 01 rts ; CPU:$C114 PRG:4114 60 -; ---- data $C115-$C116 (2 bytes) ---- -; referenced by `lda $C115` at $C108 (operand $C115 falls inside this region) -; referenced by `lda $C116` at $C10E (operand $C116 falls inside this region) - .byte $B6, $CD ; CPU:$C115 PRG:4115 B6 CD +; ----------------------------------------------------------------------------- +; Routine: Label_C115 +; Global: Branch target inside Label: taken when C115. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C115: + ldx ZpCD,y ; CPU:$C115 PRG:4115 B6 CD ; ----------------------------------------------------------------------------- ; Routine: Sub_C117 ; Global: Branch target inside Sub: taken when C117. @@ -1356,10 +1454,10 @@ Sub_C117: ; ----------------------------------------------------------------------------- Sub_C11A: ldx Zp4E ; CPU:$C11A PRG:411A A6 4E - lda Zp00 ; CPU:$C11C PRG:411C A5 00 + lda StarFieldPtrLo ; CPU:$C11C PRG:411C A5 00 sta $0100,x ; CPU:$C11E PRG:411E 9D 00 01 inx ; CPU:$C121 PRG:4121 E8 - lda Zp01 ; CPU:$C122 PRG:4122 A5 01 + lda StarFieldPtrHi ; CPU:$C122 PRG:4122 A5 01 sta $0100,x ; CPU:$C124 PRG:4124 9D 00 01 inx ; CPU:$C127 PRG:4127 E8 stx Zp4E ; CPU:$C128 PRG:4128 86 4E @@ -1375,18 +1473,36 @@ Sub_C11A: Sub_C12D: jsr Sub_C1BF ; CPU:$C12D PRG:412D 20 BF C1 ldy #$00 ; CPU:$C130 PRG:4130 A0 00 - lda (Zp00),y ; CPU:$C132 PRG:4132 B1 00 + lda (StarFieldPtrLo),y ; CPU:$C132 PRG:4132 B1 00 tax ; CPU:$C134 PRG:4134 AA iny ; CPU:$C135 PRG:4135 C8 - lda (Zp00),y ; CPU:$C136 PRG:4136 B1 00 + lda (StarFieldPtrLo),y ; CPU:$C136 PRG:4136 B1 00 pha ; CPU:$C138 PRG:4138 48 iny ; CPU:$C139 PRG:4139 C8 - lda (Zp00),y ; CPU:$C13A PRG:413A B1 00 + lda (StarFieldPtrLo),y ; CPU:$C13A PRG:413A B1 00 tay ; CPU:$C13C PRG:413C A8 pla ; CPU:$C13D PRG:413D 68 +; ----------------------------------------------------------------------------- +; Routine: Sub_C13E +; Global: Branch target inside Sub: taken when C13E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C13E: sty Zp02 ; CPU:$C13E PRG:413E 84 02 - stx Zp04 ; CPU:$C140 PRG:4140 86 04 - sta Zp05 ; CPU:$C142 PRG:4142 85 05 + stx PpuAddrLow ; CPU:$C140 PRG:4140 86 04 + sta PpuAddrHigh ; CPU:$C142 PRG:4142 85 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_C144 +; Global: Branch target inside Sub: taken when C144. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C144: jsr Sub_C1C4 ; CPU:$C144 PRG:4144 20 C4 C1 lda #$24 ; CPU:$C147 PRG:4147 A9 24 ; ----------------------------------------------------------------------------- @@ -1404,11 +1520,94 @@ NmiHandler_OnNonzero: bne NmiHandler_OnNonzero ; CPU:$C14F PRG:414F D0 F8 stx Zp4F ; CPU:$C151 PRG:4151 86 4F jmp Sub_C18C ; CPU:$C153 PRG:4153 4C 8C C1 -; ---- data $C156-$C18B (54 bytes) ---- - .byte $A2, $20, $A9, $00, $A4, $02, $20, $BD, $C1, $20, $C4, $C1, $A0, $00, $B1, $00 ; CPU:$C156 PRG:4156 A2 20 A9 00 A4 02 20 BD C1 20 C4 C1 A0 00 B1 00 - .byte $C8, $9D, $00, $01, $E8, $C4, $02, $D0, $F5, $86, $4F, $4C, $8C, $C1, $20, $BD ; CPU:$C166 PRG:4166 C8 9D 00 01 E8 C4 02 D0 F5 86 4F 4C 8C C1 20 BD - .byte $C1, $20, $C4, $C1, $A0, $00, $B1, $00, $20, $AA, $C1, $C8, $9D, $00, $01, $E8 ; CPU:$C176 PRG:4176 C1 20 C4 C1 A0 00 B1 00 20 AA C1 C8 9D 00 01 E8 - .byte $C4, $1E, $D0, $F2, $86, $4F ; CPU:$C186 PRG:4186 C4 1E D0 F2 86 4F +; ----------------------------------------------------------------------------- +; Routine: Sub_C156 +; Global: Branch target inside Sub: taken when C156. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C156: + ldx #$20 ; CPU:$C156 PRG:4156 A2 20 + lda #$00 ; CPU:$C158 PRG:4158 A9 00 + ldy Zp02 ; CPU:$C15A PRG:415A A4 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_C15C +; Global: Branch target inside Sub: taken when C15C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C15C: + jsr Sub_C1BD ; CPU:$C15C PRG:415C 20 BD C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C15F +; Global: Branch target inside Sub: taken when C15F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C15F: + jsr Sub_C1C4 ; CPU:$C15F PRG:415F 20 C4 C1 + ldy #$00 ; CPU:$C162 PRG:4162 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero2 +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero2: + lda (StarFieldPtrLo),y ; CPU:$C164 PRG:4164 B1 00 + iny ; CPU:$C166 PRG:4166 C8 + sta $0100,x ; CPU:$C167 PRG:4167 9D 00 01 + inx ; CPU:$C16A PRG:416A E8 + cpy Zp02 ; CPU:$C16B PRG:416B C4 02 + bne NmiHandler_OnNonzero2 ; CPU:$C16D PRG:416D D0 F5 + stx Zp4F ; CPU:$C16F PRG:416F 86 4F + jmp Sub_C18C ; CPU:$C171 PRG:4171 4C 8C C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C174 +; Global: Branch target inside Sub: taken when C174. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C174: + jsr Sub_C1BD ; CPU:$C174 PRG:4174 20 BD C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C177 +; Global: Branch target inside Sub: taken when C177. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C177: + jsr Sub_C1C4 ; CPU:$C177 PRG:4177 20 C4 C1 + ldy #$00 ; CPU:$C17A PRG:417A A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero3: + lda (StarFieldPtrLo),y ; CPU:$C17C PRG:417C B1 00 + jsr Sub_C1AA ; CPU:$C17E PRG:417E 20 AA C1 + iny ; CPU:$C181 PRG:4181 C8 + sta $0100,x ; CPU:$C182 PRG:4182 9D 00 01 + inx ; CPU:$C185 PRG:4185 E8 + cpy Zp1E ; CPU:$C186 PRG:4186 C4 1E + bne NmiHandler_OnNonzero3 ; CPU:$C188 PRG:4188 D0 F2 + stx Zp4F ; CPU:$C18A PRG:418A 86 4F ; ----------------------------------------------------------------------------- ; Routine: Sub_C18C ; Global: Branch target inside Sub: taken when C18C. @@ -1419,7 +1618,7 @@ NmiHandler_OnNonzero: ; ----------------------------------------------------------------------------- Sub_C18C: lda Zp4B ; CPU:$C18C PRG:418C A5 4B - beq NmiHandler_Loop3 ; CPU:$C18E PRG:418E F0 5A + beq NmiHandler_Loop5 ; CPU:$C18E PRG:418E F0 5A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero ; Global: Branch target inside NmiHandler: taken when the tested value is zero. @@ -1440,16 +1639,16 @@ NmiHandler_OnZero: ; ----------------------------------------------------------------------------- Sub_C191: jsr Sub_C11A ; CPU:$C191 PRG:4191 20 1A C1 - dec Zp06 ; CPU:$C194 PRG:4194 C6 06 + dec StarFieldCount ; CPU:$C194 PRG:4194 C6 06 beq NmiHandler_OnZero ; CPU:$C196 PRG:4196 F0 F8 ldy #$02 ; CPU:$C198 PRG:4198 A0 02 - lda (Zp00),y ; CPU:$C19A PRG:419A B1 00 + lda (StarFieldPtrLo),y ; CPU:$C19A PRG:419A B1 00 clc ; CPU:$C19C PRG:419C 18 adc #$03 ; CPU:$C19D PRG:419D 69 03 - adc Zp00 ; CPU:$C19F PRG:419F 65 00 - sta Zp00 ; CPU:$C1A1 PRG:41A1 85 00 + adc StarFieldPtrLo ; CPU:$C19F PRG:419F 65 00 + sta StarFieldPtrLo ; CPU:$C1A1 PRG:41A1 85 00 bcc NmiHandler_Loop2 ; CPU:$C1A3 PRG:41A3 90 02 - inc Zp01 ; CPU:$C1A5 PRG:41A5 E6 01 + inc StarFieldPtrHi ; CPU:$C1A5 PRG:41A5 E6 01 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop2 ; Global: Branch target inside NmiHandler: taken when Loop2. @@ -1460,9 +1659,55 @@ Sub_C191: ; ----------------------------------------------------------------------------- NmiHandler_Loop2: jmp Sub_C191 ; CPU:$C1A7 PRG:41A7 4C 91 C1 -; ---- data $C1AA-$C1BE (21 bytes) ---- - .byte $48, $D0, $0A, $A5, $03, $F0, $0A, $C6, $03, $68, $A9, $24, $60, $A9, $00, $85 ; CPU:$C1AA PRG:41AA 48 D0 0A A5 03 F0 0A C6 03 68 A9 24 60 A9 00 85 - .byte $03, $68, $60, $84, $02 ; CPU:$C1BA PRG:41BA 03 68 60 84 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1AA +; Global: Branch target inside Sub: taken when C1AA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1AA: + pha ; CPU:$C1AA PRG:41AA 48 + bne NmiHandler_Loop3 ; CPU:$C1AB PRG:41AB D0 0A + lda Zp03 ; CPU:$C1AD PRG:41AD A5 03 + beq NmiHandler_Loop4 ; CPU:$C1AF PRG:41AF F0 0A + dec Zp03 ; CPU:$C1B1 PRG:41B1 C6 03 + pla ; CPU:$C1B3 PRG:41B3 68 + lda #$24 ; CPU:$C1B4 PRG:41B4 A9 24 + rts ; CPU:$C1B6 PRG:41B6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop3 +; Global: Branch target inside NmiHandler: taken when Loop3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop3: + lda #$00 ; CPU:$C1B7 PRG:41B7 A9 00 + sta Zp03 ; CPU:$C1B9 PRG:41B9 85 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop4 +; Global: Branch target inside NmiHandler: taken when Loop4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop4: + pla ; CPU:$C1BB PRG:41BB 68 + rts ; CPU:$C1BC PRG:41BC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1BD +; Global: Branch target inside Sub: taken when C1BD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1BD: + sty Zp02 ; CPU:$C1BD PRG:41BD 84 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1BF ; Global: Branch target inside Sub: taken when C1BF. @@ -1472,8 +1717,8 @@ NmiHandler_Loop2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C1BF: - stx Zp00 ; CPU:$C1BF PRG:41BF 86 00 - sta Zp01 ; CPU:$C1C1 PRG:41C1 85 01 + stx StarFieldPtrLo ; CPU:$C1BF PRG:41BF 86 00 + sta StarFieldPtrHi ; CPU:$C1C1 PRG:41C1 85 01 rts ; CPU:$C1C3 PRG:41C3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1C4 @@ -1493,10 +1738,10 @@ Sub_C1C4: sta $0100,y ; CPU:$C1CF PRG:41CF 99 00 01 iny ; CPU:$C1D2 PRG:41D2 C8 sty Zp4E ; CPU:$C1D3 PRG:41D3 84 4E - lda Zp04 ; CPU:$C1D5 PRG:41D5 A5 04 + lda PpuAddrLow ; CPU:$C1D5 PRG:41D5 A5 04 sta $0100,x ; CPU:$C1D7 PRG:41D7 9D 00 01 inx ; CPU:$C1DA PRG:41DA E8 - lda Zp05 ; CPU:$C1DB PRG:41DB A5 05 + lda PpuAddrHigh ; CPU:$C1DB PRG:41DB A5 05 sta $0100,x ; CPU:$C1DD PRG:41DD 9D 00 01 inx ; CPU:$C1E0 PRG:41E0 E8 lda Zp02 ; CPU:$C1E1 PRG:41E1 A5 02 @@ -1505,61 +1750,61 @@ Sub_C1C4: sta Zp1E ; CPU:$C1E7 PRG:41E7 85 1E rts ; CPU:$C1E9 PRG:41E9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop3 -; Global: Branch target inside NmiHandler: taken when Loop3. +; Routine: NmiHandler_Loop5 +; Global: Branch target inside NmiHandler: taken when Loop5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop3: +NmiHandler_Loop5: lda PPUSTATUS ; CPU:$C1EA PRG:41EA AD 02 20 ldx Zp4E ; CPU:$C1ED PRG:41ED A6 4E dex ; CPU:$C1EF PRG:41EF CA - bmi NmiHandler_Loop4 ; CPU:$C1F0 PRG:41F0 30 40 + bmi NmiHandler_Loop6 ; CPU:$C1F0 PRG:41F0 30 40 ldx #$00 ; CPU:$C1F2 PRG:41F2 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero2: +NmiHandler_OnNonzero4: lda $0100,x ; CPU:$C1F4 PRG:41F4 BD 00 01 - sta Zp08 ; CPU:$C1F7 PRG:41F7 85 08 + sta TilePtrLo ; CPU:$C1F7 PRG:41F7 85 08 inx ; CPU:$C1F9 PRG:41F9 E8 lda $0100,x ; CPU:$C1FA PRG:41FA BD 00 01 - sta Zp09 ; CPU:$C1FD PRG:41FD 85 09 + sta TilePtrHi ; CPU:$C1FD PRG:41FD 85 09 inx ; CPU:$C1FF PRG:41FF E8 ldy #$01 ; CPU:$C200 PRG:4200 A0 01 - lda (Zp08),y ; CPU:$C202 PRG:4202 B1 08 + lda (TilePtrLo),y ; CPU:$C202 PRG:4202 B1 08 sta PPUADDR ; CPU:$C204 PRG:4204 8D 06 20 dey ; CPU:$C207 PRG:4207 88 - lda (Zp08),y ; CPU:$C208 PRG:4208 B1 08 + lda (TilePtrLo),y ; CPU:$C208 PRG:4208 B1 08 sta PPUADDR ; CPU:$C20A PRG:420A 8D 06 20 iny ; CPU:$C20D PRG:420D C8 iny ; CPU:$C20E PRG:420E C8 - lda (Zp08),y ; CPU:$C20F PRG:420F B1 08 + lda (TilePtrLo),y ; CPU:$C20F PRG:420F B1 08 iny ; CPU:$C211 PRG:4211 C8 - sta Zp0A ; CPU:$C212 PRG:4212 85 0A + sta ScreenPtrLo ; CPU:$C212 PRG:4212 85 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: - lda (Zp08),y ; CPU:$C214 PRG:4214 B1 08 +NmiHandler_OnNonzero5: + lda (TilePtrLo),y ; CPU:$C214 PRG:4214 B1 08 sta PPUDATA ; CPU:$C216 PRG:4216 8D 07 20 iny ; CPU:$C219 PRG:4219 C8 - dec Zp0A ; CPU:$C21A PRG:421A C6 0A - bne NmiHandler_OnNonzero3 ; CPU:$C21C PRG:421C D0 F6 + dec ScreenPtrLo ; CPU:$C21A PRG:421A C6 0A + bne NmiHandler_OnNonzero5 ; CPU:$C21C PRG:421C D0 F6 cpx Zp4E ; CPU:$C21E PRG:421E E4 4E - bne NmiHandler_OnNonzero2 ; CPU:$C220 PRG:4220 D0 D2 + bne NmiHandler_OnNonzero4 ; CPU:$C220 PRG:4220 D0 D2 lda #$3F ; CPU:$C222 PRG:4222 A9 3F sta PPUADDR ; CPU:$C224 PRG:4224 8D 06 20 lda #$00 ; CPU:$C227 PRG:4227 A9 00 @@ -1567,14 +1812,14 @@ NmiHandler_OnNonzero3: sta PPUADDR ; CPU:$C22C PRG:422C 8D 06 20 sta PPUADDR ; CPU:$C22F PRG:422F 8D 06 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop4 -; Global: Branch target inside NmiHandler: taken when Loop4. +; Routine: NmiHandler_Loop6 +; Global: Branch target inside NmiHandler: taken when Loop6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop4: +NmiHandler_Loop6: lda #$20 ; CPU:$C232 PRG:4232 A9 20 sta Zp4F ; CPU:$C234 PRG:4234 85 4F lda #$00 ; CPU:$C236 PRG:4236 A9 00 @@ -1611,23 +1856,48 @@ Sub_C242: ldy #$C0 ; CPU:$C254 PRG:4254 A0 C0 lda #$24 ; CPU:$C256 PRG:4256 A9 24 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: +NmiHandler_OnNonzero6: sta PPUDATA ; CPU:$C258 PRG:4258 8D 07 20 dey ; CPU:$C25B PRG:425B 88 - bne NmiHandler_OnNonzero4 ; CPU:$C25C PRG:425C D0 FA + bne NmiHandler_OnNonzero6 ; CPU:$C25C PRG:425C D0 FA dex ; CPU:$C25E PRG:425E CA - bpl NmiHandler_OnNonzero4 ; CPU:$C25F PRG:425F 10 F7 + bpl NmiHandler_OnNonzero6 ; CPU:$C25F PRG:425F 10 F7 rts ; CPU:$C261 PRG:4261 60 -; ---- data $C262-$C274 (19 bytes) ---- - .byte $20, $44, $C1, $18, $A9, $20, $65, $04, $85, $04, $90, $02, $E6, $05, $C6, $03 ; CPU:$C262 PRG:4262 20 44 C1 18 A9 20 65 04 85 04 90 02 E6 05 C6 03 - .byte $D0, $EE, $60 ; CPU:$C272 PRG:4272 D0 EE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero7 +; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero7: + jsr Sub_C144 ; CPU:$C262 PRG:4262 20 44 C1 + clc ; CPU:$C265 PRG:4265 18 + lda #$20 ; CPU:$C266 PRG:4266 A9 20 + adc PpuAddrLow ; CPU:$C268 PRG:4268 65 04 + sta PpuAddrLow ; CPU:$C26A PRG:426A 85 04 + bcc NmiHandler_Loop7 ; CPU:$C26C PRG:426C 90 02 + inc PpuAddrHigh ; CPU:$C26E PRG:426E E6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop7 +; Global: Branch target inside NmiHandler: taken when Loop7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop7: + dec Zp03 ; CPU:$C270 PRG:4270 C6 03 + bne NmiHandler_OnNonzero7 ; CPU:$C272 PRG:4272 D0 EE + rts ; CPU:$C274 PRG:4274 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C275 ; Global: Branch target inside Sub: taken when C275. @@ -1637,20 +1907,66 @@ NmiHandler_OnNonzero4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C275: - lda Zp40 ; CPU:$C275 PRG:4275 A5 40 + lda PpuCtrlShadow ; CPU:$C275 PRG:4275 A5 40 sta PPUCTRL ; CPU:$C277 PRG:4277 8D 00 20 lda Zp42 ; CPU:$C27A PRG:427A A5 42 sta PPUSCROLL ; CPU:$C27C PRG:427C 8D 05 20 lda Zp43 ; CPU:$C27F PRG:427F A5 43 sta PPUSCROLL ; CPU:$C281 PRG:4281 8D 05 20 - lda Zp41 ; CPU:$C284 PRG:4284 A5 41 + lda PpuMaskShadow ; CPU:$C284 PRG:4284 A5 41 sta PPUMASK ; CPU:$C286 PRG:4286 8D 01 20 rts ; CPU:$C289 PRG:4289 60 -; ---- data $C28A-$C2BB (50 bytes) ---- - .byte $A9, $00, $85, $41, $20, $32, $C2, $A9, $00, $85, $04, $A9, $3F, $85, $05, $A2 ; CPU:$C28A PRG:428A A9 00 85 41 20 32 C2 A9 00 85 04 A9 3F 85 05 A2 - .byte $20, $86, $02, $CA, $95, $20, $10, $FB, $20, $56, $C1, $20, $F1, $C0, $A9, $00 ; CPU:$C29A PRG:429A 20 86 02 CA 95 20 10 FB 20 56 C1 20 F1 C0 A9 00 - .byte $85, $4B, $60, $A9, $1E, $85, $41, $A9, $01, $85, $4B, $20, $CB, $C2, $20, $F1 ; CPU:$C2AA PRG:42AA 85 4B 60 A9 1E 85 41 A9 01 85 4B 20 CB C2 20 F1 - .byte $C0, $60 ; CPU:$C2BA PRG:42BA C0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C28A +; Global: Branch target inside Sub: taken when C28A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C28A: + lda #$00 ; CPU:$C28A PRG:428A A9 00 + sta PpuMaskShadow ; CPU:$C28C PRG:428C 85 41 + jsr NmiHandler_Loop6 ; CPU:$C28E PRG:428E 20 32 C2 + lda #$00 ; CPU:$C291 PRG:4291 A9 00 + sta PpuAddrLow ; CPU:$C293 PRG:4293 85 04 + lda #$3F ; CPU:$C295 PRG:4295 A9 3F + sta PpuAddrHigh ; CPU:$C297 PRG:4297 85 05 + ldx #$20 ; CPU:$C299 PRG:4299 A2 20 + stx Zp02 ; CPU:$C29B PRG:429B 86 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative +; Global: Branch target inside NmiHandler: taken when the tested value is not negative. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative: + dex ; CPU:$C29D PRG:429D CA + sta Zp20,x ; CPU:$C29E PRG:429E 95 20 + bpl NmiHandler_OnNonnegative ; CPU:$C2A0 PRG:42A0 10 FB + jsr Sub_C156 ; CPU:$C2A2 PRG:42A2 20 56 C1 + jsr Sub_C0F1 ; CPU:$C2A5 PRG:42A5 20 F1 C0 + lda #$00 ; CPU:$C2A8 PRG:42A8 A9 00 + sta Zp4B ; CPU:$C2AA PRG:42AA 85 4B + rts ; CPU:$C2AC PRG:42AC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C2AD +; Global: Branch target inside Sub: taken when C2AD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C2AD: + lda #$1E ; CPU:$C2AD PRG:42AD A9 1E + sta PpuMaskShadow ; CPU:$C2AF PRG:42AF 85 41 + lda #$01 ; CPU:$C2B1 PRG:42B1 A9 01 + sta Zp4B ; CPU:$C2B3 PRG:42B3 85 4B + jsr Sub_C2CB ; CPU:$C2B5 PRG:42B5 20 CB C2 + jsr Sub_C0F1 ; CPU:$C2B8 PRG:42B8 20 F1 C0 + rts ; CPU:$C2BB PRG:42BB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C2BC ; Global: Branch target inside Sub: taken when C2BC. @@ -1661,12 +1977,21 @@ Sub_C275: ; ----------------------------------------------------------------------------- Sub_C2BC: lda #$02 ; CPU:$C2BC PRG:42BC A9 02 - sta Zp06 ; CPU:$C2BE PRG:42BE 85 06 + sta StarFieldCount ; CPU:$C2BE PRG:42BE 85 06 lda #$96 ; CPU:$C2C0 PRG:42C0 A9 96 - sta Zp00 ; CPU:$C2C2 PRG:42C2 85 00 + sta StarFieldPtrLo ; CPU:$C2C2 PRG:42C2 85 00 lda #$F9 ; CPU:$C2C4 PRG:42C4 A9 F9 - sta Zp01 ; CPU:$C2C6 PRG:42C6 85 01 + sta StarFieldPtrHi ; CPU:$C2C6 PRG:42C6 85 01 jsr Sub_C191 ; CPU:$C2C8 PRG:42C8 20 91 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C2CB +; Global: Branch target inside Sub: taken when C2CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C2CB: ldx #$73 ; CPU:$C2CB PRG:42CB A2 73 lda #$F9 ; CPU:$C2CD PRG:42CD A9 F9 jmp Sub_C117 ; CPU:$C2CF PRG:42CF 4C 17 C1 @@ -1684,15 +2009,15 @@ Sub_C2D2: ldy #$00 ; CPU:$C2D7 PRG:42D7 A0 00 sty JOY1 ; CPU:$C2D9 PRG:42D9 8C 16 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative -; Global: Branch target inside NmiHandler: taken when the tested value is not negative. +; Routine: NmiHandler_OnNonnegative2 +; Global: Branch target inside NmiHandler: taken when OnNonnegative2. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative: - sty Zp00 ; CPU:$C2DC PRG:42DC 84 00 +NmiHandler_OnNonnegative2: + sty StarFieldPtrLo ; CPU:$C2DC PRG:42DC 84 00 ldy #$80 ; CPU:$C2DE PRG:42DE A0 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear @@ -1705,31 +2030,31 @@ NmiHandler_OnNonnegative: NmiHandler_OnCarryClear: lda JOY1,x ; CPU:$C2E0 PRG:42E0 BD 16 40 and #$03 ; CPU:$C2E3 PRG:42E3 29 03 - beq NmiHandler_Loop5 ; CPU:$C2E5 PRG:42E5 F0 05 + beq NmiHandler_Loop8 ; CPU:$C2E5 PRG:42E5 F0 05 tya ; CPU:$C2E7 PRG:42E7 98 - ora Zp00 ; CPU:$C2E8 PRG:42E8 05 00 - sta Zp00 ; CPU:$C2EA PRG:42EA 85 00 + ora StarFieldPtrLo ; CPU:$C2E8 PRG:42E8 05 00 + sta StarFieldPtrLo ; CPU:$C2EA PRG:42EA 85 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop5 -; Global: Branch target inside NmiHandler: taken when Loop5. +; Routine: NmiHandler_Loop8 +; Global: Branch target inside NmiHandler: taken when Loop8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop5: +NmiHandler_Loop8: tya ; CPU:$C2EC PRG:42EC 98 lsr a ; CPU:$C2ED PRG:42ED 4A tay ; CPU:$C2EE PRG:42EE A8 bcc NmiHandler_OnCarryClear ; CPU:$C2EF PRG:42EF 90 EF lda Zp44,x ; CPU:$C2F1 PRG:42F1 B5 44 eor #$FF ; CPU:$C2F3 PRG:42F3 49 FF - and Zp00 ; CPU:$C2F5 PRG:42F5 25 00 + and StarFieldPtrLo ; CPU:$C2F5 PRG:42F5 25 00 sta Zp46,x ; CPU:$C2F7 PRG:42F7 95 46 - lda Zp00 ; CPU:$C2F9 PRG:42F9 A5 00 + lda StarFieldPtrLo ; CPU:$C2F9 PRG:42F9 A5 00 sta Zp44,x ; CPU:$C2FB PRG:42FB 95 44 dex ; CPU:$C2FD PRG:42FD CA - bpl NmiHandler_OnNonnegative ; CPU:$C2FE PRG:42FE 10 DC + bpl NmiHandler_OnNonnegative2 ; CPU:$C2FE PRG:42FE 10 DC rts ; CPU:$C300 PRG:4300 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C301 @@ -1772,65 +2097,526 @@ Sub_C317: asl Zp6F ; CPU:$C320 PRG:4320 06 6F lda #$20 ; CPU:$C322 PRG:4322 A9 20 bit Zp6F ; CPU:$C324 PRG:4324 24 6F - bcc NmiHandler_Loop6 ; CPU:$C326 PRG:4326 90 04 - beq NmiHandler_Loop8 ; CPU:$C328 PRG:4328 F0 06 - bne NmiHandler_Loop7 ; CPU:$C32A PRG:432A D0 02 + bcc NmiHandler_Loop9 ; CPU:$C326 PRG:4326 90 04 + beq NmiHandler_Loop11 ; CPU:$C328 PRG:4328 F0 06 + bne NmiHandler_Loop10 ; CPU:$C32A PRG:432A D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop6 -; Global: Branch target inside NmiHandler: taken when Loop6. +; Routine: NmiHandler_Loop9 +; Global: Branch target inside NmiHandler: taken when Loop9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop6: - bne NmiHandler_Loop8 ; CPU:$C32C PRG:432C D0 02 +NmiHandler_Loop9: + bne NmiHandler_Loop11 ; CPU:$C32C PRG:432C D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop7 -; Global: Branch target inside NmiHandler: taken when Loop7. +; Routine: NmiHandler_Loop10 +; Global: Branch target inside NmiHandler: taken when Loop10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop7: +NmiHandler_Loop10: inc Zp6F ; CPU:$C32E PRG:432E E6 6F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop8 -; Global: Branch target inside NmiHandler: taken when Loop8. +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop8: +NmiHandler_Loop11: lda Zp6F ; CPU:$C330 PRG:4330 A5 6F eor Zp6E ; CPU:$C332 PRG:4332 45 6E rts ; CPU:$C334 PRG:4334 60 -; ---- data $C335-$C49F (363 bytes) ---- - .byte $A9, $A0, $D0, $02, $A9, $A8, $85, $00, $A9, $04, $85, $01, $A0, $07, $10, $5F ; CPU:$C335 PRG:4335 A9 A0 D0 02 A9 A8 85 00 A9 04 85 01 A0 07 10 5F - .byte $A9, $00, $85, $00, $A2, $07, $A0, $00, $94, $20, $1D, $A0, $04, $BC, $A0, $04 ; CPU:$C345 PRG:4345 A9 00 85 00 A2 07 A0 00 94 20 1D A0 04 BC A0 04 - .byte $94, $28, $BC, $A8, $04, $94, $30, $CA, $10, $EC, $A8, $F0, $2C, $20, $8F, $C3 ; CPU:$C355 PRG:4355 94 28 BC A8 04 94 30 CA 10 EC A8 F0 2C 20 8F C3 - .byte $90, $10, $A2, $07, $B5, $38, $95, $30, $CA, $10, $F9, $A6, $00, $F6, $20, $4C ; CPU:$C365 PRG:4365 90 10 A2 07 B5 38 95 30 CA 10 F9 A6 00 F6 20 4C - .byte $62, $C3, $A2, $00, $B5, $31, $95, $30, $E8, $E0, $07, $D0, $F7, $A9, $00, $85 ; CPU:$C375 PRG:4375 62 C3 A2 00 B5 31 95 30 E8 E0 07 D0 F7 A9 00 85 - .byte $37, $E6, $00, $A5, $00, $C9, $04, $D0, $D4, $60, $A2, $07, $38, $B5, $30, $F5 ; CPU:$C385 PRG:4385 37 E6 00 A5 00 C9 04 D0 D4 60 A2 07 38 B5 30 F5 - .byte $28, $B0, $03, $69, $0A, $18, $95, $38, $CA, $10, $F2, $60, $A4, $02, $88, $38 ; CPU:$C395 PRG:4395 28 B0 03 69 0A 18 95 38 CA 10 F2 60 A4 02 88 38 - .byte $B1, $00, $69, $00, $C9, $0A, $90, $08, $A9, $00, $91, $00, $88, $10, $F1, $60 ; CPU:$C3A5 PRG:43A5 B1 00 69 00 C9 0A 90 08 A9 00 91 00 88 10 F1 60 - .byte $91, $00, $60, $A4, $02, $88, $18, $B1, $00, $E9, $00, $B0, $08, $A9, $09, $91 ; CPU:$C3B5 PRG:43B5 91 00 60 A4 02 88 18 B1 00 E9 00 B0 08 A9 09 91 - .byte $00, $88, $10, $F3, $60, $91, $00, $60, $A2, $C0, $CA, $BC, $00, $04, $BD, $00 ; CPU:$C3C5 PRG:43C5 00 88 10 F3 60 91 00 60 A2 C0 CA BC 00 04 BD 00 - .byte $03, $9D, $00, $04, $98, $9D, $00, $03, $8A, $D0, $EF, $A2, $0F, $B4, $70, $B5 ; CPU:$C3D5 PRG:43D5 03 9D 00 04 98 9D 00 03 8A D0 EF A2 0F B4 70 B5 - .byte $80, $95, $70, $94, $80, $BC, $10, $02, $BD, $C0, $03, $9D, $10, $02, $98, $9D ; CPU:$C3E5 PRG:43E5 80 95 70 94 80 BC 10 02 BD C0 03 9D 10 02 98 9D - .byte $C0, $03, $CA, $10, $E8, $60, $30, $05, $4A, $4A, $4A, $4A, $60, $4A, $4A, $4A ; CPU:$C3F5 PRG:43F5 C0 03 CA 10 E8 60 30 05 4A 4A 4A 4A 60 4A 4A 4A - .byte $4A, $09, $F0, $60, $A2, $00, $A5, $11, $38, $E5, $13, $B0, $09, $49, $FF, $85 ; CPU:$C405 PRG:4405 4A 09 F0 60 A2 00 A5 11 38 E5 13 B0 09 49 FF 85 - .byte $15, $E6, $15, $A2, $04, $2C, $85, $15, $A5, $10, $38, $E5, $12, $B0, $09, $49 ; CPU:$C415 PRG:4415 15 E6 15 A2 04 2C 85 15 A5 10 38 E5 12 B0 09 49 - .byte $FF, $85, $14, $E6, $14, $E8, $E8, $2C, $85, $14, $A5, $15, $C5, $14, $B0, $07 ; CPU:$C425 PRG:4425 FF 85 14 E6 14 E8 E8 2C 85 14 A5 15 C5 14 B0 07 - .byte $A4, $14, $85, $14, $84, $15, $E8, $8A, $0A, $0A, $AA, $A5, $15, $4A, $4A, $85 ; CPU:$C435 PRG:4435 A4 14 85 14 84 15 E8 8A 0A 0A AA A5 15 4A 4A 85 - .byte $17, $4A, $C5, $14, $B0, $0E, $E8, $65, $17, $C5, $14, $B0, $07, $E8, $0A, $C5 ; CPU:$C445 PRG:4445 17 4A C5 14 B0 0E E8 65 17 C5 14 B0 07 E8 0A C5 - .byte $14, $B0, $01, $E8, $BD, $80, $C4, $85, $16, $60, $AD, $02, $02, $85, $10, $AD ; CPU:$C455 PRG:4455 14 B0 01 E8 BD 80 C4 85 16 60 AD 02 02 85 10 AD - .byte $03, $02, $85, $11, $20, $09, $C4, $A5, $16, $C9, $0B, $B0, $05, $A9, $0B, $85 ; CPU:$C465 PRG:4465 03 02 85 11 20 09 C4 A5 16 C9 0B B0 05 A9 0B 85 - .byte $17, $60, $C9, $0E, $90, $02, $A9, $0D, $85, $17, $60, $06, $07, $08, $09, $0C ; CPU:$C475 PRG:4475 17 60 C9 0E 90 02 A9 0D 85 17 60 06 07 08 09 0C - .byte $0B, $0A, $09, $06, $05, $04, $03, $00, $01, $02, $03, $12, $11, $10, $0F, $0C ; CPU:$C485 PRG:4485 0B 0A 09 06 05 04 03 00 01 02 03 12 11 10 0F 0C - .byte $0D, $0E, $0F, $12, $13, $14, $15, $00, $17, $16, $15 ; CPU:$C495 PRG:4495 0D 0E 0F 12 13 14 15 00 17 16 15 +; ----------------------------------------------------------------------------- +; Routine: Sub_C335 +; Global: Branch target inside Sub: taken when C335. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C335: + lda #$A0 ; CPU:$C335 PRG:4335 A9 A0 + bne NmiHandler_Loop12 ; CPU:$C337 PRG:4337 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_C339 +; Global: Branch target inside Sub: taken when C339. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C339: + lda #$A8 ; CPU:$C339 PRG:4339 A9 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop12 +; Global: Branch target inside NmiHandler: taken when Loop12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop12: + sta StarFieldPtrLo ; CPU:$C33B PRG:433B 85 00 + lda #$04 ; CPU:$C33D PRG:433D A9 04 + sta StarFieldPtrHi ; CPU:$C33F PRG:433F 85 01 + ldy #$07 ; CPU:$C341 PRG:4341 A0 07 + bpl NmiHandler_Loop16 ; CPU:$C343 PRG:4343 10 5F +; ----------------------------------------------------------------------------- +; Routine: Sub_C345 +; Global: Branch target inside Sub: taken when C345. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C345: + lda #$00 ; CPU:$C345 PRG:4345 A9 00 + sta StarFieldPtrLo ; CPU:$C347 PRG:4347 85 00 + ldx #$07 ; CPU:$C349 PRG:4349 A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative3 +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative3: + ldy #$00 ; CPU:$C34B PRG:434B A0 00 + sty Zp20,x ; CPU:$C34D PRG:434D 94 20 + ora $04A0,x ; CPU:$C34F PRG:434F 1D A0 04 + ldy $04A0,x ; CPU:$C352 PRG:4352 BC A0 04 + sty Zp28,x ; CPU:$C355 PRG:4355 94 28 + ldy $04A8,x ; CPU:$C357 PRG:4357 BC A8 04 + sty Zp30,x ; CPU:$C35A PRG:435A 94 30 + dex ; CPU:$C35C PRG:435C CA + bpl NmiHandler_OnNonnegative3 ; CPU:$C35D PRG:435D 10 EC + tay ; CPU:$C35F PRG:435F A8 + beq NmiHandler_Loop14 ; CPU:$C360 PRG:4360 F0 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero8: + jsr Sub_C38F ; CPU:$C362 PRG:4362 20 8F C3 + bcc NmiHandler_Loop13 ; CPU:$C365 PRG:4365 90 10 + ldx #$07 ; CPU:$C367 PRG:4367 A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative4 +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative4: + lda Zp38,x ; CPU:$C369 PRG:4369 B5 38 + sta Zp30,x ; CPU:$C36B PRG:436B 95 30 + dex ; CPU:$C36D PRG:436D CA + bpl NmiHandler_OnNonnegative4 ; CPU:$C36E PRG:436E 10 F9 + ldx StarFieldPtrLo ; CPU:$C370 PRG:4370 A6 00 + inc Zp20,x ; CPU:$C372 PRG:4372 F6 20 + jmp NmiHandler_OnNonzero8 ; CPU:$C374 PRG:4374 4C 62 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop13: + ldx #$00 ; CPU:$C377 PRG:4377 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero9: + lda Zp31,x ; CPU:$C379 PRG:4379 B5 31 + sta Zp30,x ; CPU:$C37B PRG:437B 95 30 + inx ; CPU:$C37D PRG:437D E8 + cpx #$07 ; CPU:$C37E PRG:437E E0 07 + bne NmiHandler_OnNonzero9 ; CPU:$C380 PRG:4380 D0 F7 + lda #$00 ; CPU:$C382 PRG:4382 A9 00 + sta Zp37 ; CPU:$C384 PRG:4384 85 37 + inc StarFieldPtrLo ; CPU:$C386 PRG:4386 E6 00 + lda StarFieldPtrLo ; CPU:$C388 PRG:4388 A5 00 + cmp #$04 ; CPU:$C38A PRG:438A C9 04 + bne NmiHandler_OnNonzero8 ; CPU:$C38C PRG:438C D0 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop14: + rts ; CPU:$C38E PRG:438E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C38F +; Global: Branch target inside Sub: taken when C38F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C38F: + ldx #$07 ; CPU:$C38F PRG:438F A2 07 + sec ; CPU:$C391 PRG:4391 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative5: + lda Zp30,x ; CPU:$C392 PRG:4392 B5 30 + sbc Zp28,x ; CPU:$C394 PRG:4394 F5 28 + bcs NmiHandler_Loop15 ; CPU:$C396 PRG:4396 B0 03 + adc #$0A ; CPU:$C398 PRG:4398 69 0A + clc ; CPU:$C39A PRG:439A 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop15: + sta Zp38,x ; CPU:$C39B PRG:439B 95 38 + dex ; CPU:$C39D PRG:439D CA + bpl NmiHandler_OnNonnegative5 ; CPU:$C39E PRG:439E 10 F2 + rts ; CPU:$C3A0 PRG:43A0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3A1 +; Global: Branch target inside Sub: taken when C3A1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3A1: + ldy Zp02 ; CPU:$C3A1 PRG:43A1 A4 02 + dey ; CPU:$C3A3 PRG:43A3 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop16: + sec ; CPU:$C3A4 PRG:43A4 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative6: + lda (StarFieldPtrLo),y ; CPU:$C3A5 PRG:43A5 B1 00 + adc #$00 ; CPU:$C3A7 PRG:43A7 69 00 + cmp #$0A ; CPU:$C3A9 PRG:43A9 C9 0A + bcc NmiHandler_Loop17 ; CPU:$C3AB PRG:43AB 90 08 + lda #$00 ; CPU:$C3AD PRG:43AD A9 00 + sta (StarFieldPtrLo),y ; CPU:$C3AF PRG:43AF 91 00 + dey ; CPU:$C3B1 PRG:43B1 88 + bpl NmiHandler_OnNonnegative6 ; CPU:$C3B2 PRG:43B2 10 F1 + rts ; CPU:$C3B4 PRG:43B4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop17: + sta (StarFieldPtrLo),y ; CPU:$C3B5 PRG:43B5 91 00 + rts ; CPU:$C3B7 PRG:43B7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3B8 +; Global: Branch target inside Sub: taken when C3B8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3B8: + ldy Zp02 ; CPU:$C3B8 PRG:43B8 A4 02 + dey ; CPU:$C3BA PRG:43BA 88 + clc ; CPU:$C3BB PRG:43BB 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative7: + lda (StarFieldPtrLo),y ; CPU:$C3BC PRG:43BC B1 00 + sbc #$00 ; CPU:$C3BE PRG:43BE E9 00 + bcs NmiHandler_Loop18 ; CPU:$C3C0 PRG:43C0 B0 08 + lda #$09 ; CPU:$C3C2 PRG:43C2 A9 09 + sta (StarFieldPtrLo),y ; CPU:$C3C4 PRG:43C4 91 00 + dey ; CPU:$C3C6 PRG:43C6 88 + bpl NmiHandler_OnNonnegative7 ; CPU:$C3C7 PRG:43C7 10 F3 + rts ; CPU:$C3C9 PRG:43C9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop18: + sta (StarFieldPtrLo),y ; CPU:$C3CA PRG:43CA 91 00 + rts ; CPU:$C3CC PRG:43CC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3CD +; Global: Branch target inside Sub: taken when C3CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3CD: + ldx #$C0 ; CPU:$C3CD PRG:43CD A2 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero10: + dex ; CPU:$C3CF PRG:43CF CA + ldy $0400,x ; CPU:$C3D0 PRG:43D0 BC 00 04 + lda $0300,x ; CPU:$C3D3 PRG:43D3 BD 00 03 + sta $0400,x ; CPU:$C3D6 PRG:43D6 9D 00 04 + tya ; CPU:$C3D9 PRG:43D9 98 + sta $0300,x ; CPU:$C3DA PRG:43DA 9D 00 03 + txa ; CPU:$C3DD PRG:43DD 8A + bne NmiHandler_OnNonzero10 ; CPU:$C3DE PRG:43DE D0 EF + ldx #$0F ; CPU:$C3E0 PRG:43E0 A2 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative8: + ldy Zp70,x ; CPU:$C3E2 PRG:43E2 B4 70 + lda Zp80,x ; CPU:$C3E4 PRG:43E4 B5 80 + sta Zp70,x ; CPU:$C3E6 PRG:43E6 95 70 + sty Zp80,x ; CPU:$C3E8 PRG:43E8 94 80 + ldy $0210,x ; CPU:$C3EA PRG:43EA BC 10 02 + lda $03C0,x ; CPU:$C3ED PRG:43ED BD C0 03 + sta $0210,x ; CPU:$C3F0 PRG:43F0 9D 10 02 + tya ; CPU:$C3F3 PRG:43F3 98 + sta $03C0,x ; CPU:$C3F4 PRG:43F4 9D C0 03 + dex ; CPU:$C3F7 PRG:43F7 CA + bpl NmiHandler_OnNonnegative8 ; CPU:$C3F8 PRG:43F8 10 E8 + rts ; CPU:$C3FA PRG:43FA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3FB +; Global: Branch target inside Sub: taken when C3FB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3FB: + bmi NmiHandler_Loop19 ; CPU:$C3FB PRG:43FB 30 05 + lsr a ; CPU:$C3FD PRG:43FD 4A + lsr a ; CPU:$C3FE PRG:43FE 4A + lsr a ; CPU:$C3FF PRG:43FF 4A + lsr a ; CPU:$C400 PRG:4400 4A + rts ; CPU:$C401 PRG:4401 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop19: + lsr a ; CPU:$C402 PRG:4402 4A + lsr a ; CPU:$C403 PRG:4403 4A + lsr a ; CPU:$C404 PRG:4404 4A + lsr a ; CPU:$C405 PRG:4405 4A + ora #$F0 ; CPU:$C406 PRG:4406 09 F0 + rts ; CPU:$C408 PRG:4408 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C409 +; Global: Branch target inside Sub: taken when C409. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C409: + ldx #$00 ; CPU:$C409 PRG:4409 A2 00 + lda Zp11 ; CPU:$C40B PRG:440B A5 11 + sec ; CPU:$C40D PRG:440D 38 + sbc Zp13 ; CPU:$C40E PRG:440E E5 13 + .byte $B0, $09 ; CPU:$C410 PRG:4410 B0 09 + eor #$FF ; CPU:$C412 PRG:4412 49 FF + sta Zp15 ; CPU:$C414 PRG:4414 85 15 + inc Zp15 ; CPU:$C416 PRG:4416 E6 15 + ldx #$04 ; CPU:$C418 PRG:4418 A2 04 +; ----------------------------------------------------------------------------- +; Routine: Label_C41A +; Global: Branch target inside Label: taken when C41A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C41A: + bit $1585 ; CPU:$C41A PRG:441A 2C 85 15 + lda Zp10 ; CPU:$C41D PRG:441D A5 10 + sec ; CPU:$C41F PRG:441F 38 + sbc Zp12 ; CPU:$C420 PRG:4420 E5 12 + .byte $B0, $09 ; CPU:$C422 PRG:4422 B0 09 + eor #$FF ; CPU:$C424 PRG:4424 49 FF + sta Zp14 ; CPU:$C426 PRG:4426 85 14 + inc Zp14 ; CPU:$C428 PRG:4428 E6 14 + inx ; CPU:$C42A PRG:442A E8 + inx ; CPU:$C42B PRG:442B E8 +; ----------------------------------------------------------------------------- +; Routine: Label_C42C +; Global: Branch target inside Label: taken when C42C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C42C: + bit $1485 ; CPU:$C42C PRG:442C 2C 85 14 + lda Zp15 ; CPU:$C42F PRG:442F A5 15 + cmp Zp14 ; CPU:$C431 PRG:4431 C5 14 + bcs NmiHandler_Loop22 ; CPU:$C433 PRG:4433 B0 07 + ldy Zp14 ; CPU:$C435 PRG:4435 A4 14 + sta Zp14 ; CPU:$C437 PRG:4437 85 14 + sty Zp15 ; CPU:$C439 PRG:4439 84 15 + inx ; CPU:$C43B PRG:443B E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop22: + txa ; CPU:$C43C PRG:443C 8A + asl a ; CPU:$C43D PRG:443D 0A + asl a ; CPU:$C43E PRG:443E 0A + tax ; CPU:$C43F PRG:443F AA + lda Zp15 ; CPU:$C440 PRG:4440 A5 15 + lsr a ; CPU:$C442 PRG:4442 4A + lsr a ; CPU:$C443 PRG:4443 4A + sta Zp17 ; CPU:$C444 PRG:4444 85 17 + lsr a ; CPU:$C446 PRG:4446 4A + cmp Zp14 ; CPU:$C447 PRG:4447 C5 14 + bcs NmiHandler_Loop23 ; CPU:$C449 PRG:4449 B0 0E + inx ; CPU:$C44B PRG:444B E8 + adc Zp17 ; CPU:$C44C PRG:444C 65 17 + cmp Zp14 ; CPU:$C44E PRG:444E C5 14 + bcs NmiHandler_Loop23 ; CPU:$C450 PRG:4450 B0 07 + inx ; CPU:$C452 PRG:4452 E8 + asl a ; CPU:$C453 PRG:4453 0A + cmp Zp14 ; CPU:$C454 PRG:4454 C5 14 + bcs NmiHandler_Loop23 ; CPU:$C456 PRG:4456 B0 01 + inx ; CPU:$C458 PRG:4458 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: + lda $C480,x ; CPU:$C459 PRG:4459 BD 80 C4 + sta SpriteX ; CPU:$C45C PRG:445C 85 16 + rts ; CPU:$C45E PRG:445E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C45F +; Global: Branch target inside Sub: taken when C45F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C45F: + lda $0202 ; CPU:$C45F PRG:445F AD 02 02 + sta Zp10 ; CPU:$C462 PRG:4462 85 10 + lda $0203 ; CPU:$C464 PRG:4464 AD 03 02 + sta Zp11 ; CPU:$C467 PRG:4467 85 11 + jsr Sub_C409 ; CPU:$C469 PRG:4469 20 09 C4 + lda SpriteX ; CPU:$C46C PRG:446C A5 16 + cmp #$0B ; CPU:$C46E PRG:446E C9 0B + bcs NmiHandler_Loop24 ; CPU:$C470 PRG:4470 B0 05 + lda #$0B ; CPU:$C472 PRG:4472 A9 0B + sta Zp17 ; CPU:$C474 PRG:4474 85 17 + rts ; CPU:$C476 PRG:4476 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: + cmp #$0E ; CPU:$C477 PRG:4477 C9 0E + bcc NmiHandler_Loop25 ; CPU:$C479 PRG:4479 90 02 + lda #$0D ; CPU:$C47B PRG:447B A9 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + sta Zp17 ; CPU:$C47D PRG:447D 85 17 + rts ; CPU:$C47F PRG:447F 60 +; ---- data $C480-$C49F (32 bytes) ---- +; referenced by `lda $C480,x` at $C459 (operand $C480 falls inside this region) +SpriteHeightTable: + .byte $06, $07, $08, $09, $0C, $0B, $0A, $09, $06, $05, $04, $03, $00, $01, $02, $03 ; CPU:$C480 PRG:0480 06 07 08 09 0C 0B 0A 09 06 05 04 03 00 01 02 03 + .byte $12, $11, $10, $0F, $0C, $0D, $0E, $0F, $12, $13, $14, $15, $00, $17, $16, $15 ; CPU:$C490 PRG:4490 12 11 10 0F 0C 0D 0E 0F 12 13 14 15 00 17 16 15 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4A0 ; Global: Branch target inside Sub: taken when C4A0. @@ -1841,39 +2627,39 @@ NmiHandler_Loop8: ; ----------------------------------------------------------------------------- Sub_C4A0: lda #$80 ; CPU:$C4A0 PRG:44A0 A9 80 - sta Zp04 ; CPU:$C4A2 PRG:44A2 85 04 + sta PpuAddrLow ; CPU:$C4A2 PRG:44A2 85 04 sta $0496 ; CPU:$C4A4 PRG:44A4 8D 96 04 lda #$00 ; CPU:$C4A7 PRG:44A7 A9 00 - sta Zp00 ; CPU:$C4A9 PRG:44A9 85 00 + sta StarFieldPtrLo ; CPU:$C4A9 PRG:44A9 85 00 lda #$02 ; CPU:$C4AB PRG:44AB A9 02 - sta Zp01 ; CPU:$C4AD PRG:44AD 85 01 + sta StarFieldPtrHi ; CPU:$C4AD PRG:44AD 85 01 ldx #$0E ; CPU:$C4AF PRG:44AF A2 0E lda #$10 ; CPU:$C4B1 PRG:44B1 A9 10 sta Zp02 ; CPU:$C4B3 PRG:44B3 85 02 jsr Sub_C4EF ; CPU:$C4B5 PRG:44B5 20 EF C4 lda #$90 ; CPU:$C4B8 PRG:44B8 A9 90 - sta Zp00 ; CPU:$C4BA PRG:44BA 85 00 + sta StarFieldPtrLo ; CPU:$C4BA PRG:44BA 85 00 lda #$00 ; CPU:$C4BC PRG:44BC A9 00 - sta Zp01 ; CPU:$C4BE PRG:44BE 85 01 + sta StarFieldPtrHi ; CPU:$C4BE PRG:44BE 85 01 ldx #$04 ; CPU:$C4C0 PRG:44C0 A2 04 stx Zp02 ; CPU:$C4C2 PRG:44C2 86 02 ldx #$08 ; CPU:$C4C4 PRG:44C4 A2 08 jsr Sub_C4EF ; CPU:$C4C6 PRG:44C6 20 EF C4 lda #$E0 ; CPU:$C4C9 PRG:44C9 A9 E0 - sta Zp00 ; CPU:$C4CB PRG:44CB 85 00 + sta StarFieldPtrLo ; CPU:$C4CB PRG:44CB 85 00 lda #$02 ; CPU:$C4CD PRG:44CD A9 02 - sta Zp01 ; CPU:$C4CF PRG:44CF 85 01 + sta StarFieldPtrHi ; CPU:$C4CF PRG:44CF 85 01 ldx #$08 ; CPU:$C4D1 PRG:44D1 A2 08 stx Zp02 ; CPU:$C4D3 PRG:44D3 86 02 ldx #$04 ; CPU:$C4D5 PRG:44D5 A2 04 jsr Sub_C4EF ; CPU:$C4D7 PRG:44D7 20 EF C4 lda #$00 ; CPU:$C4DA PRG:44DA A9 00 - sta Zp04 ; CPU:$C4DC PRG:44DC 85 04 + sta PpuAddrLow ; CPU:$C4DC PRG:44DC 85 04 sta $03F8 ; CPU:$C4DE PRG:44DE 8D F8 03 lda #$D8 ; CPU:$C4E1 PRG:44E1 A9 D8 - sta Zp00 ; CPU:$C4E3 PRG:44E3 85 00 + sta StarFieldPtrLo ; CPU:$C4E3 PRG:44E3 85 00 lda #$03 ; CPU:$C4E5 PRG:44E5 A9 03 - sta Zp01 ; CPU:$C4E7 PRG:44E7 85 01 + sta StarFieldPtrHi ; CPU:$C4E7 PRG:44E7 85 01 lda #$04 ; CPU:$C4E9 PRG:44E9 A9 04 sta Zp02 ; CPU:$C4EB PRG:44EB 85 02 ldx #$08 ; CPU:$C4ED PRG:44ED A2 08 @@ -1888,22 +2674,22 @@ Sub_C4A0: Sub_C4EF: ldy #$00 ; CPU:$C4EF PRG:44EF A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: - lda Zp04 ; CPU:$C4F1 PRG:44F1 A5 04 - sta (Zp00),y ; CPU:$C4F3 PRG:44F3 91 00 +NmiHandler_OnNonzero11: + lda PpuAddrLow ; CPU:$C4F1 PRG:44F1 A5 04 + sta (StarFieldPtrLo),y ; CPU:$C4F3 PRG:44F3 91 00 lda Zp02 ; CPU:$C4F5 PRG:44F5 A5 02 clc ; CPU:$C4F7 PRG:44F7 18 - adc Zp00 ; CPU:$C4F8 PRG:44F8 65 00 - sta Zp00 ; CPU:$C4FA PRG:44FA 85 00 + adc StarFieldPtrLo ; CPU:$C4F8 PRG:44F8 65 00 + sta StarFieldPtrLo ; CPU:$C4FA PRG:44FA 85 00 dex ; CPU:$C4FC PRG:44FC CA - bne NmiHandler_OnNonzero5 ; CPU:$C4FD PRG:44FD D0 F2 + bne NmiHandler_OnNonzero11 ; CPU:$C4FD PRG:44FD D0 F2 rts ; CPU:$C4FF PRG:44FF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C500 @@ -1917,80 +2703,80 @@ Sub_C500: tsx ; CPU:$C500 PRG:4500 BA stx Zp0E ; CPU:$C501 PRG:4501 86 0E ldx #$00 ; CPU:$C503 PRG:4503 A2 00 - stx Zp08 ; CPU:$C505 PRG:4505 86 08 + stx TilePtrLo ; CPU:$C505 PRG:4505 86 08 lda #$E0 ; CPU:$C507 PRG:4507 A9 E0 - sta Zp0A ; CPU:$C509 PRG:4509 85 0A + sta ScreenPtrLo ; CPU:$C509 PRG:4509 85 0A lda #$02 ; CPU:$C50B PRG:450B A9 02 - sta Zp0B ; CPU:$C50D PRG:450D 85 0B + sta ScreenPtrHi ; CPU:$C50D PRG:450D 85 0B lda #$04 ; CPU:$C50F PRG:450F A9 04 sta Zp0C ; CPU:$C511 PRG:4511 85 0C lda #$08 ; CPU:$C513 PRG:4513 A9 08 sta Zp0D ; CPU:$C515 PRG:4515 85 0D lda #$03 ; CPU:$C517 PRG:4517 A9 03 sta Zp03 ; CPU:$C519 PRG:4519 85 03 - jsr NmiHandler_OnNonzero10 ; CPU:$C51B PRG:451B 20 D1 C6 + jsr NmiHandler_OnNonzero16 ; CPU:$C51B PRG:451B 20 D1 C6 lda #$00 ; CPU:$C51E PRG:451E A9 00 - sta Zp0A ; CPU:$C520 PRG:4520 85 0A + sta ScreenPtrLo ; CPU:$C520 PRG:4520 85 0A lda #$02 ; CPU:$C522 PRG:4522 A9 02 - sta Zp0B ; CPU:$C524 PRG:4524 85 0B + sta ScreenPtrHi ; CPU:$C524 PRG:4524 85 0B lda #$02 ; CPU:$C526 PRG:4526 A9 02 sta Zp0C ; CPU:$C528 PRG:4528 85 0C - jsr NmiHandler_OnNonzero8 ; CPU:$C52A PRG:452A 20 E5 C5 + jsr NmiHandler_OnNonzero14 ; CPU:$C52A PRG:452A 20 E5 C5 jsr Sub_C7A8 ; CPU:$C52D PRG:452D 20 A8 C7 lda #$90 ; CPU:$C530 PRG:4530 A9 90 - sta Zp0A ; CPU:$C532 PRG:4532 85 0A + sta ScreenPtrLo ; CPU:$C532 PRG:4532 85 0A lda #$00 ; CPU:$C534 PRG:4534 A9 00 - sta Zp0B ; CPU:$C536 PRG:4536 85 0B + sta ScreenPtrHi ; CPU:$C536 PRG:4536 85 0B lda #$08 ; CPU:$C538 PRG:4538 A9 08 sta Zp0C ; CPU:$C53A PRG:453A 85 0C lda #$04 ; CPU:$C53C PRG:453C A9 04 sta Zp0D ; CPU:$C53E PRG:453E 85 0D lda #$00 ; CPU:$C540 PRG:4540 A9 00 sta Zp03 ; CPU:$C542 PRG:4542 85 03 - jsr NmiHandler_OnNonzero10 ; CPU:$C544 PRG:4544 20 D1 C6 + jsr NmiHandler_OnNonzero16 ; CPU:$C544 PRG:4544 20 D1 C6 lda Zp48 ; CPU:$C547 PRG:4547 A5 48 ror a ; CPU:$C549 PRG:4549 6A ror a ; CPU:$C54A PRG:454A 6A - bcc NmiHandler_Loop9 ; CPU:$C54B PRG:454B 90 03 + bcc NmiHandler_Loop26 ; CPU:$C54B PRG:454B 90 03 jsr Sub_C710 ; CPU:$C54D PRG:454D 20 10 C7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop9 -; Global: Branch target inside NmiHandler: taken when Loop9. +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop9: +NmiHandler_Loop26: jsr Sub_C693 ; CPU:$C550 PRG:4550 20 93 C6 jsr Sub_C5D4 ; CPU:$C553 PRG:4553 20 D4 C5 lda Zp48 ; CPU:$C556 PRG:4556 A5 48 ror a ; CPU:$C558 PRG:4558 6A ror a ; CPU:$C559 PRG:4559 6A - bcs NmiHandler_Loop10 ; CPU:$C55A PRG:455A B0 03 + bcs NmiHandler_Loop27 ; CPU:$C55A PRG:455A B0 03 jsr Sub_C710 ; CPU:$C55C PRG:455C 20 10 C7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop10 -; Global: Branch target inside NmiHandler: taken when Loop10. +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop10: +NmiHandler_Loop27: ldy #$FF ; CPU:$C55F PRG:455F A0 FF lda $0471 ; CPU:$C561 PRG:4561 AD 71 04 - bmi NmiHandler_Loop11 ; CPU:$C564 PRG:4564 30 01 + bmi NmiHandler_Loop28 ; CPU:$C564 PRG:4564 30 01 iny ; CPU:$C566 PRG:4566 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop11: +NmiHandler_Loop28: sty Zp1D ; CPU:$C567 PRG:4567 84 1D clc ; CPU:$C569 PRG:4569 18 adc Zp51 ; CPU:$C56A PRG:456A 65 51 @@ -2009,39 +2795,37 @@ NmiHandler_Loop11: sta Zp1D ; CPU:$C580 PRG:4580 85 1D ldy #$40 ; CPU:$C582 PRG:4582 A0 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: +NmiHandler_OnNonzero12: lda $0481,y ; CPU:$C584 PRG:4584 B9 81 04 cmp Zp50 ; CPU:$C587 PRG:4587 C5 50 - bcs NmiHandler_Loop13 ; CPU:$C589 PRG:4589 B0 38 - sta Zp05 ; CPU:$C58B PRG:458B 85 05 + bcs NmiHandler_Loop30 ; CPU:$C589 PRG:4589 B0 38 + sta PpuAddrHigh ; CPU:$C58B PRG:458B 85 05 lda $0482,y ; CPU:$C58D PRG:458D B9 82 04 sta Zp02 ; CPU:$C590 PRG:4590 85 02 adc Zp48 ; CPU:$C592 PRG:4592 65 48 and #$10 ; CPU:$C594 PRG:4594 29 10 - bne NmiHandler_Loop13 ; CPU:$C596 PRG:4596 D0 2B + bne NmiHandler_Loop30 ; CPU:$C596 PRG:4596 D0 2B lda Zp02 ; CPU:$C598 PRG:4598 A5 02 and #$02 ; CPU:$C59A PRG:459A 29 02 - bne NmiHandler_Loop12 ; CPU:$C59C PRG:459C D0 03 + .byte $D0, $03 ; CPU:$C59C PRG:459C D0 03 lda Zp1C ; CPU:$C59E PRG:459E A5 1C -; ---- data $C5A0-$C5A0 (1 bytes) ---- - .byte $2C ; CPU:$C5A0 PRG:45A0 2C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop12 -; Global: Branch target inside NmiHandler: taken when Loop12. -; Local: Part of NmiHandler. +; Routine: Label_C5A0 +; Global: Branch target inside Label: taken when C5A0. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop12: - lda Zp1D ; CPU:$C5A1 PRG:45A1 A5 1D +Label_C5A0: + bit $1DA5 ; CPU:$C5A0 PRG:45A0 2C A5 1D clc ; CPU:$C5A3 PRG:45A3 18 adc $0480,y ; CPU:$C5A4 PRG:45A4 79 80 04 sta $0700,x ; CPU:$C5A7 PRG:45A7 9D 00 07 @@ -2054,48 +2838,48 @@ NmiHandler_Loop12: ora #$20 ; CPU:$C5B5 PRG:45B5 09 20 sta $0700,x ; CPU:$C5B7 PRG:45B7 9D 00 07 inx ; CPU:$C5BA PRG:45BA E8 - lda Zp05 ; CPU:$C5BB PRG:45BB A5 05 + lda PpuAddrHigh ; CPU:$C5BB PRG:45BB A5 05 sta $0700,x ; CPU:$C5BD PRG:45BD 9D 00 07 inx ; CPU:$C5C0 PRG:45C0 E8 - beq NmiHandler_Loop14 ; CPU:$C5C1 PRG:45C1 F0 10 + beq NmiHandler_Loop31 ; CPU:$C5C1 PRG:45C1 F0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop13 -; Global: Branch target inside NmiHandler: taken when Loop13. +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop13: +NmiHandler_Loop30: iny ; CPU:$C5C3 PRG:45C3 C8 iny ; CPU:$C5C4 PRG:45C4 C8 iny ; CPU:$C5C5 PRG:45C5 C8 - bne NmiHandler_OnNonzero6 ; CPU:$C5C6 PRG:45C6 D0 BC + bne NmiHandler_OnNonzero12 ; CPU:$C5C6 PRG:45C6 D0 BC lda #$F0 ; CPU:$C5C8 PRG:45C8 A9 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero7: +NmiHandler_OnNonzero13: sta $0700,x ; CPU:$C5CA PRG:45CA 9D 00 07 inx ; CPU:$C5CD PRG:45CD E8 inx ; CPU:$C5CE PRG:45CE E8 inx ; CPU:$C5CF PRG:45CF E8 inx ; CPU:$C5D0 PRG:45D0 E8 - bne NmiHandler_OnNonzero7 ; CPU:$C5D1 PRG:45D1 D0 F7 + bne NmiHandler_OnNonzero13 ; CPU:$C5D1 PRG:45D1 D0 F7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop14 -; Global: Branch target inside NmiHandler: taken when Loop14. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop14: +NmiHandler_Loop31: rts ; CPU:$C5D3 PRG:45D3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C5D4 @@ -2109,56 +2893,56 @@ Sub_C5D4: lda #$0C ; CPU:$C5D4 PRG:45D4 A9 0C sta Zp0C ; CPU:$C5D6 PRG:45D6 85 0C lda #$02 ; CPU:$C5D8 PRG:45D8 A9 02 - sta Zp0B ; CPU:$C5DA PRG:45DA 85 0B + sta ScreenPtrHi ; CPU:$C5DA PRG:45DA 85 0B lda Zp48 ; CPU:$C5DC PRG:45DC A5 48 ror a ; CPU:$C5DE PRG:45DE 6A - bcc NmiHandler_Loop15 ; CPU:$C5DF PRG:45DF 90 13 + bcc NmiHandler_Loop32 ; CPU:$C5DF PRG:45DF 90 13 lda #$20 ; CPU:$C5E1 PRG:45E1 A9 20 - sta Zp0A ; CPU:$C5E3 PRG:45E3 85 0A + sta ScreenPtrLo ; CPU:$C5E3 PRG:45E3 85 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: +NmiHandler_OnNonzero14: jsr Sub_C607 ; CPU:$C5E5 PRG:45E5 20 07 C6 - lda Zp0A ; CPU:$C5E8 PRG:45E8 A5 0A + lda ScreenPtrLo ; CPU:$C5E8 PRG:45E8 A5 0A clc ; CPU:$C5EA PRG:45EA 18 adc #$10 ; CPU:$C5EB PRG:45EB 69 10 - sta Zp0A ; CPU:$C5ED PRG:45ED 85 0A + sta ScreenPtrLo ; CPU:$C5ED PRG:45ED 85 0A dec Zp0C ; CPU:$C5EF PRG:45EF C6 0C - bne NmiHandler_OnNonzero8 ; CPU:$C5F1 PRG:45F1 D0 F2 + bne NmiHandler_OnNonzero14 ; CPU:$C5F1 PRG:45F1 D0 F2 rts ; CPU:$C5F3 PRG:45F3 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop15 -; Global: Branch target inside NmiHandler: taken when Loop15. +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop15: +NmiHandler_Loop32: lda #$D0 ; CPU:$C5F4 PRG:45F4 A9 D0 - sta Zp0A ; CPU:$C5F6 PRG:45F6 85 0A + sta ScreenPtrLo ; CPU:$C5F6 PRG:45F6 85 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: +NmiHandler_OnNonzero15: jsr Sub_C607 ; CPU:$C5F8 PRG:45F8 20 07 C6 - lda Zp0A ; CPU:$C5FB PRG:45FB A5 0A + lda ScreenPtrLo ; CPU:$C5FB PRG:45FB A5 0A sec ; CPU:$C5FD PRG:45FD 38 sbc #$10 ; CPU:$C5FE PRG:45FE E9 10 - sta Zp0A ; CPU:$C600 PRG:4600 85 0A + sta ScreenPtrLo ; CPU:$C600 PRG:4600 85 0A dec Zp0C ; CPU:$C602 PRG:4602 C6 0C - bne NmiHandler_OnNonzero9 ; CPU:$C604 PRG:4604 D0 F2 + bne NmiHandler_OnNonzero15 ; CPU:$C604 PRG:4604 D0 F2 rts ; CPU:$C606 PRG:4606 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C607 @@ -2170,11 +2954,11 @@ NmiHandler_OnNonzero9: ; ----------------------------------------------------------------------------- Sub_C607: ldy #$02 ; CPU:$C607 PRG:4607 A0 02 - lda (Zp0A),y ; CPU:$C609 PRG:4609 B1 0A + lda (ScreenPtrLo),y ; CPU:$C609 PRG:4609 B1 0A clc ; CPU:$C60B PRG:460B 18 adc #$08 ; CPU:$C60C PRG:460C 69 08 cmp #$F0 ; CPU:$C60E PRG:460E C9 F0 - bcc NmiHandler_Loop16 ; CPU:$C610 PRG:4610 90 01 + bcc NmiHandler_Loop33 ; CPU:$C610 PRG:4610 90 01 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNegative ; Global: Branch target inside NmiHandler: taken when the tested value is negative. @@ -2186,28 +2970,28 @@ Sub_C607: NmiHandler_OnNegative: rts ; CPU:$C612 PRG:4612 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop16 -; Global: Branch target inside NmiHandler: taken when Loop16. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop16: +NmiHandler_Loop33: ldy #$00 ; CPU:$C613 PRG:4613 A0 00 - lda (Zp0A),y ; CPU:$C615 PRG:4615 B1 0A + lda (ScreenPtrLo),y ; CPU:$C615 PRG:4615 B1 0A bmi NmiHandler_OnNegative ; CPU:$C617 PRG:4617 30 F9 asl a ; CPU:$C619 PRG:4619 0A tay ; CPU:$C61A PRG:461A A8 lda $FA0C,y ; CPU:$C61B PRG:461B B9 0C FA - sta Zp00 ; CPU:$C61E PRG:461E 85 00 + sta StarFieldPtrLo ; CPU:$C61E PRG:461E 85 00 iny ; CPU:$C620 PRG:4620 C8 lda $FA0C,y ; CPU:$C621 PRG:4621 B9 0C FA sta Zp02 ; CPU:$C624 PRG:4624 85 02 cpy #$17 ; CPU:$C626 PRG:4626 C0 17 - beq NmiHandler_Loop23 ; CPU:$C628 PRG:4628 F0 51 + beq NmiHandler_Loop40 ; CPU:$C628 PRG:4628 F0 51 ldy #$01 ; CPU:$C62A PRG:462A A0 01 - lda (Zp0A),y ; CPU:$C62C PRG:462C B1 0A + lda (ScreenPtrLo),y ; CPU:$C62C PRG:462C B1 0A and #$1F ; CPU:$C62E PRG:462E 29 1F tay ; CPU:$C630 PRG:4630 A8 lda $FA58,y ; CPU:$C631 PRG:4631 B9 58 FA @@ -2215,113 +2999,113 @@ NmiHandler_Loop16: ora Zp02 ; CPU:$C636 PRG:4636 05 02 sta Zp02 ; CPU:$C638 PRG:4638 85 02 and #$40 ; CPU:$C63A PRG:463A 29 40 - beq NmiHandler_Loop17 ; CPU:$C63C PRG:463C F0 02 + beq NmiHandler_Loop34 ; CPU:$C63C PRG:463C F0 02 lda #$02 ; CPU:$C63E PRG:463E A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop17 -; Global: Branch target inside NmiHandler: taken when Loop17. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop17: - sta Zp06 ; CPU:$C640 PRG:4640 85 06 +NmiHandler_Loop34: + sta StarFieldCount ; CPU:$C640 PRG:4640 85 06 lda $FA58,y ; CPU:$C642 PRG:4642 B9 58 FA and #$3E ; CPU:$C645 PRG:4645 29 3E sta Zp1C ; CPU:$C647 PRG:4647 85 1C clc ; CPU:$C649 PRG:4649 18 - adc Zp00 ; CPU:$C64A PRG:464A 65 00 - sta Zp00 ; CPU:$C64C PRG:464C 85 00 + adc StarFieldPtrLo ; CPU:$C64A PRG:464A 65 00 + sta StarFieldPtrLo ; CPU:$C64C PRG:464C 85 00 ldy Zp1C ; CPU:$C64E PRG:464E A4 1C - bne NmiHandler_Loop19 ; CPU:$C650 PRG:4650 D0 0C + bne NmiHandler_Loop36 ; CPU:$C650 PRG:4650 D0 0C cmp #$82 ; CPU:$C652 PRG:4652 C9 82 - bne NmiHandler_Loop18 ; CPU:$C654 PRG:4654 D0 04 + bne NmiHandler_Loop35 ; CPU:$C654 PRG:4654 D0 04 lda #$FC ; CPU:$C656 PRG:4656 A9 FC - bne NmiHandler_Loop20 ; CPU:$C658 PRG:4658 D0 07 + bne NmiHandler_Loop37 ; CPU:$C658 PRG:4658 D0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop18: - inc Zp06 ; CPU:$C65A PRG:465A E6 06 - bpl NmiHandler_Loop21 ; CPU:$C65C PRG:465C 10 05 +NmiHandler_Loop35: + inc StarFieldCount ; CPU:$C65A PRG:465A E6 06 + bpl NmiHandler_Loop38 ; CPU:$C65C PRG:465C 10 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop19 -; Global: Branch target inside NmiHandler: taken when Loop19. +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop19: +NmiHandler_Loop36: clc ; CPU:$C65E PRG:465E 18 adc #$02 ; CPU:$C65F PRG:465F 69 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop20 -; Global: Branch target inside NmiHandler: taken when Loop20. +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop20: - sta Zp01 ; CPU:$C661 PRG:4661 85 01 +NmiHandler_Loop37: + sta StarFieldPtrHi ; CPU:$C661 PRG:4661 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop21 -; Global: Branch target inside NmiHandler: taken when Loop21. +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop21: +NmiHandler_Loop38: ldy #$02 ; CPU:$C663 PRG:4663 A0 02 - lda (Zp0A),y ; CPU:$C665 PRG:4665 B1 0A - sta Zp04 ; CPU:$C667 PRG:4667 85 04 + lda (ScreenPtrLo),y ; CPU:$C665 PRG:4665 B1 0A + sta PpuAddrLow ; CPU:$C667 PRG:4667 85 04 cmp #$88 ; CPU:$C669 PRG:4669 C9 88 - bcc NmiHandler_Loop22 ; CPU:$C66B PRG:466B 90 06 + bcc NmiHandler_Loop39 ; CPU:$C66B PRG:466B 90 06 lda Zp02 ; CPU:$C66D PRG:466D A5 02 ora #$20 ; CPU:$C66F PRG:466F 09 20 sta Zp02 ; CPU:$C671 PRG:4671 85 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop22 -; Global: Branch target inside NmiHandler: taken when Loop22. +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop22: +NmiHandler_Loop39: iny ; CPU:$C673 PRG:4673 C8 - lda (Zp0A),y ; CPU:$C674 PRG:4674 B1 0A - sta Zp05 ; CPU:$C676 PRG:4676 85 05 + lda (ScreenPtrLo),y ; CPU:$C674 PRG:4674 B1 0A + sta PpuAddrHigh ; CPU:$C676 PRG:4676 85 05 jmp Sub_C855 ; CPU:$C678 PRG:4678 4C 55 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop40: ldy #$01 ; CPU:$C67B PRG:467B A0 01 - lda (Zp0A),y ; CPU:$C67D PRG:467D B1 0A + lda (ScreenPtrLo),y ; CPU:$C67D PRG:467D B1 0A and #$1F ; CPU:$C67F PRG:467F 29 1F tay ; CPU:$C681 PRG:4681 A8 lda $FA28,y ; CPU:$C682 PRG:4682 B9 28 FA - sta Zp00 ; CPU:$C685 PRG:4685 85 00 + sta StarFieldPtrLo ; CPU:$C685 PRG:4685 85 00 clc ; CPU:$C687 PRG:4687 18 adc #$02 ; CPU:$C688 PRG:4688 69 02 - sta Zp01 ; CPU:$C68A PRG:468A 85 01 + sta StarFieldPtrHi ; CPU:$C68A PRG:468A 85 01 lda #$00 ; CPU:$C68C PRG:468C A9 00 - sta Zp06 ; CPU:$C68E PRG:468E 85 06 - jmp NmiHandler_Loop21 ; CPU:$C690 PRG:4690 4C 63 C6 + sta StarFieldCount ; CPU:$C68E PRG:468E 85 06 + jmp NmiHandler_Loop38 ; CPU:$C690 PRG:4690 4C 63 C6 ; ----------------------------------------------------------------------------- ; Routine: Sub_C693 ; Global: Branch target inside Sub: taken when C693. @@ -2333,40 +3117,40 @@ NmiHandler_Loop23: Sub_C693: lda $0496 ; CPU:$C693 PRG:4693 AD 96 04 cmp #$02 ; CPU:$C696 PRG:4696 C9 02 - bcs NmiHandler_Loop25 ; CPU:$C698 PRG:4698 B0 0D + bcs NmiHandler_Loop42 ; CPU:$C698 PRG:4698 B0 0D ldy #$03 ; CPU:$C69A PRG:469A A0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative2 -; Global: Branch target inside NmiHandler: taken when OnNonnegative2. +; Routine: NmiHandler_OnNonnegative9 +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative2: +NmiHandler_OnNonnegative9: lda $0497,y ; CPU:$C69C PRG:469C B9 97 04 - beq NmiHandler_Loop24 ; CPU:$C69F PRG:469F F0 03 + beq NmiHandler_Loop41 ; CPU:$C69F PRG:469F F0 03 jsr Sub_C6A8 ; CPU:$C6A1 PRG:46A1 20 A8 C6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop41: dey ; CPU:$C6A4 PRG:46A4 88 - bpl NmiHandler_OnNonnegative2 ; CPU:$C6A5 PRG:46A5 10 F5 + bpl NmiHandler_OnNonnegative9 ; CPU:$C6A5 PRG:46A5 10 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop42: rts ; CPU:$C6A7 PRG:46A7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6A8 @@ -2377,51 +3161,51 @@ NmiHandler_Loop25: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C6A8: - sty Zp09 ; CPU:$C6A8 PRG:46A8 84 09 - stx Zp08 ; CPU:$C6AA PRG:46AA 86 08 + sty TilePtrHi ; CPU:$C6A8 PRG:46A8 84 09 + stx TilePtrLo ; CPU:$C6AA PRG:46AA 86 08 jsr Sub_D7BA ; CPU:$C6AC PRG:46AC 20 BA D7 - ldx Zp08 ; CPU:$C6AF PRG:46AF A6 08 + ldx TilePtrLo ; CPU:$C6AF PRG:46AF A6 08 lda Zp10 ; CPU:$C6B1 PRG:46B1 A5 10 - sta Zp04 ; CPU:$C6B3 PRG:46B3 85 04 + sta PpuAddrLow ; CPU:$C6B3 PRG:46B3 85 04 lda Zp11 ; CPU:$C6B5 PRG:46B5 A5 11 - sta Zp05 ; CPU:$C6B7 PRG:46B7 85 05 + sta PpuAddrHigh ; CPU:$C6B7 PRG:46B7 85 05 lda $0496 ; CPU:$C6B9 PRG:46B9 AD 96 04 asl a ; CPU:$C6BC PRG:46BC 0A sta Zp02 ; CPU:$C6BD PRG:46BD 85 02 lda $040F ; CPU:$C6BF PRG:46BF AD 0F 04 ror a ; CPU:$C6C2 PRG:46C2 6A lda #$71 ; CPU:$C6C3 PRG:46C3 A9 71 - bcc NmiHandler_Loop26 ; CPU:$C6C5 PRG:46C5 90 02 + bcc NmiHandler_Loop43 ; CPU:$C6C5 PRG:46C5 90 02 adc #$03 ; CPU:$C6C7 PRG:46C7 69 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: - sta Zp00 ; CPU:$C6C9 PRG:46C9 85 00 - jsr NmiHandler_Loop43 ; CPU:$C6CB PRG:46CB 20 76 C8 - ldy Zp09 ; CPU:$C6CE PRG:46CE A4 09 +NmiHandler_Loop43: + sta StarFieldPtrLo ; CPU:$C6C9 PRG:46C9 85 00 + jsr NmiHandler_Loop60 ; CPU:$C6CB PRG:46CB 20 76 C8 + ldy TilePtrHi ; CPU:$C6CE PRG:46CE A4 09 rts ; CPU:$C6D0 PRG:46D0 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero10: +NmiHandler_OnNonzero16: jsr Sub_C6E0 ; CPU:$C6D1 PRG:46D1 20 E0 C6 - lda Zp0A ; CPU:$C6D4 PRG:46D4 A5 0A + lda ScreenPtrLo ; CPU:$C6D4 PRG:46D4 A5 0A clc ; CPU:$C6D6 PRG:46D6 18 adc Zp0D ; CPU:$C6D7 PRG:46D7 65 0D - sta Zp0A ; CPU:$C6D9 PRG:46D9 85 0A + sta ScreenPtrLo ; CPU:$C6D9 PRG:46D9 85 0A dec Zp0C ; CPU:$C6DB PRG:46DB C6 0C - bne NmiHandler_OnNonzero10 ; CPU:$C6DD PRG:46DD D0 F2 + bne NmiHandler_OnNonzero16 ; CPU:$C6DD PRG:46DD D0 F2 rts ; CPU:$C6DF PRG:46DF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6E0 @@ -2433,12 +3217,12 @@ NmiHandler_OnNonzero10: ; ----------------------------------------------------------------------------- Sub_C6E0: ldy #$01 ; CPU:$C6E0 PRG:46E0 A0 01 - lda (Zp0A),y ; CPU:$C6E2 PRG:46E2 B1 0A - sta Zp04 ; CPU:$C6E4 PRG:46E4 85 04 + lda (ScreenPtrLo),y ; CPU:$C6E2 PRG:46E2 B1 0A + sta PpuAddrLow ; CPU:$C6E4 PRG:46E4 85 04 clc ; CPU:$C6E6 PRG:46E6 18 adc #$08 ; CPU:$C6E7 PRG:46E7 69 08 cmp #$F0 ; CPU:$C6E9 PRG:46E9 C9 F0 - bcc NmiHandler_Loop27 ; CPU:$C6EB PRG:46EB 90 01 + bcc NmiHandler_Loop44 ; CPU:$C6EB PRG:46EB 90 01 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNegative2 ; Global: Branch target inside NmiHandler: taken when OnNegative2. @@ -2450,16 +3234,16 @@ Sub_C6E0: NmiHandler_OnNegative2: rts ; CPU:$C6ED PRG:46ED 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop44: dey ; CPU:$C6EE PRG:46EE 88 - lda (Zp0A),y ; CPU:$C6EF PRG:46EF B1 0A + lda (ScreenPtrLo),y ; CPU:$C6EF PRG:46EF B1 0A bmi NmiHandler_OnNegative2 ; CPU:$C6F1 PRG:46F1 30 FA and #$1F ; CPU:$C6F3 PRG:46F3 29 1F tay ; CPU:$C6F5 PRG:46F5 A8 @@ -2468,12 +3252,12 @@ NmiHandler_Loop27: ora Zp03 ; CPU:$C6FB PRG:46FB 05 03 sta Zp02 ; CPU:$C6FD PRG:46FD 85 02 lda $FA40,y ; CPU:$C6FF PRG:46FF B9 40 FA - sta Zp00 ; CPU:$C702 PRG:4702 85 00 + sta StarFieldPtrLo ; CPU:$C702 PRG:4702 85 00 ldy #$02 ; CPU:$C704 PRG:4704 A0 02 - lda (Zp0A),y ; CPU:$C706 PRG:4706 B1 0A + lda (ScreenPtrLo),y ; CPU:$C706 PRG:4706 B1 0A clc ; CPU:$C708 PRG:4708 18 adc #$04 ; CPU:$C709 PRG:4709 69 04 - sta Zp05 ; CPU:$C70B PRG:470B 85 05 + sta PpuAddrHigh ; CPU:$C70B PRG:470B 85 05 jmp Sub_C886 ; CPU:$C70D PRG:470D 4C 86 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_C710 @@ -2485,39 +3269,39 @@ NmiHandler_Loop27: ; ----------------------------------------------------------------------------- Sub_C710: lda #$D8 ; CPU:$C710 PRG:4710 A9 D8 - sta Zp0A ; CPU:$C712 PRG:4712 85 0A + sta ScreenPtrLo ; CPU:$C712 PRG:4712 85 0A lda #$03 ; CPU:$C714 PRG:4714 A9 03 - sta Zp0B ; CPU:$C716 PRG:4716 85 0B + sta ScreenPtrHi ; CPU:$C716 PRG:4716 85 0B lda #$08 ; CPU:$C718 PRG:4718 A9 08 sta Zp0C ; CPU:$C71A PRG:471A 85 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero17: ldy #$00 ; CPU:$C71C PRG:471C A0 00 - lda (Zp0A),y ; CPU:$C71E PRG:471E B1 0A - beq NmiHandler_Loop28 ; CPU:$C720 PRG:4720 F0 03 + lda (ScreenPtrLo),y ; CPU:$C71E PRG:471E B1 0A + beq NmiHandler_Loop45 ; CPU:$C720 PRG:4720 F0 03 jsr Sub_C731 ; CPU:$C722 PRG:4722 20 31 C7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside NmiHandler: taken when Loop28. +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: - lda Zp0A ; CPU:$C725 PRG:4725 A5 0A +NmiHandler_Loop45: + lda ScreenPtrLo ; CPU:$C725 PRG:4725 A5 0A clc ; CPU:$C727 PRG:4727 18 adc #$04 ; CPU:$C728 PRG:4728 69 04 - sta Zp0A ; CPU:$C72A PRG:472A 85 0A + sta ScreenPtrLo ; CPU:$C72A PRG:472A 85 0A dec Zp0C ; CPU:$C72C PRG:472C C6 0C - bne NmiHandler_OnNonzero11 ; CPU:$C72E PRG:472E D0 EC + bne NmiHandler_OnNonzero17 ; CPU:$C72E PRG:472E D0 EC rts ; CPU:$C730 PRG:4730 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C731 @@ -2530,17 +3314,17 @@ NmiHandler_Loop28: Sub_C731: sec ; CPU:$C731 PRG:4731 38 sbc #$01 ; CPU:$C732 PRG:4732 E9 01 - sta (Zp0A),y ; CPU:$C734 PRG:4734 91 0A + sta (ScreenPtrLo),y ; CPU:$C734 PRG:4734 91 0A cmp #$FA ; CPU:$C736 PRG:4736 C9 FA - bcs NmiHandler_Loop30 ; CPU:$C738 PRG:4738 B0 32 + bcs NmiHandler_Loop47 ; CPU:$C738 PRG:4738 B0 32 cmp #$F4 ; CPU:$C73A PRG:473A C9 F4 - bcs NmiHandler_Loop31 ; CPU:$C73C PRG:473C B0 38 + bcs NmiHandler_Loop48 ; CPU:$C73C PRG:473C B0 38 cmp #$EE ; CPU:$C73E PRG:473E C9 EE - bcs NmiHandler_Loop33 ; CPU:$C740 PRG:4740 B0 4E + bcs NmiHandler_Loop50 ; CPU:$C740 PRG:4740 B0 4E cmp #$EB ; CPU:$C742 PRG:4742 C9 EB - bcs NmiHandler_Loop34 ; CPU:$C744 PRG:4744 B0 4E + bcs NmiHandler_Loop51 ; CPU:$C744 PRG:4744 B0 4E cmp #$C3 ; CPU:$C746 PRG:4746 C9 C3 - bcs NmiHandler_Loop29 ; CPU:$C748 PRG:4748 B0 06 + bcs NmiHandler_Loop46 ; CPU:$C748 PRG:4748 B0 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero2 ; Global: Branch target inside NmiHandler: taken when OnZero2. @@ -2552,66 +3336,66 @@ Sub_C731: NmiHandler_OnZero2: lda #$00 ; CPU:$C74A PRG:474A A9 00 tay ; CPU:$C74C PRG:474C A8 - sta (Zp0A),y ; CPU:$C74D PRG:474D 91 0A + sta (ScreenPtrLo),y ; CPU:$C74D PRG:474D 91 0A rts ; CPU:$C74F PRG:474F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop46: ldy #$03 ; CPU:$C750 PRG:4750 A0 03 - lda (Zp0A),y ; CPU:$C752 PRG:4752 B1 0A + lda (ScreenPtrLo),y ; CPU:$C752 PRG:4752 B1 0A beq NmiHandler_OnZero2 ; CPU:$C754 PRG:4754 F0 F4 asl a ; CPU:$C756 PRG:4756 0A - adc (Zp0A),y ; CPU:$C757 PRG:4757 71 0A + adc (ScreenPtrLo),y ; CPU:$C757 PRG:4757 71 0A tay ; CPU:$C759 PRG:4759 A8 lda $FA6D,y ; CPU:$C75A PRG:475A B9 6D FA - sta Zp00 ; CPU:$C75D PRG:475D 85 00 + sta StarFieldPtrLo ; CPU:$C75D PRG:475D 85 00 lda $FA6E,y ; CPU:$C75F PRG:475F B9 6E FA - sta Zp01 ; CPU:$C762 PRG:4762 85 01 + sta StarFieldPtrHi ; CPU:$C762 PRG:4762 85 01 lda $FA6F,y ; CPU:$C764 PRG:4764 B9 6F FA sta Zp02 ; CPU:$C767 PRG:4767 85 02 jmp Sub_C782 ; CPU:$C769 PRG:4769 4C 82 C7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop47: lda #$D1 ; CPU:$C76C PRG:476C A9 D1 - sta Zp00 ; CPU:$C76E PRG:476E 85 00 + sta StarFieldPtrLo ; CPU:$C76E PRG:476E 85 00 lda #$D3 ; CPU:$C770 PRG:4770 A9 D3 - sta Zp01 ; CPU:$C772 PRG:4772 85 01 - bne NmiHandler_Loop32 ; CPU:$C774 PRG:4774 D0 08 + sta StarFieldPtrHi ; CPU:$C772 PRG:4772 85 01 + bne NmiHandler_Loop49 ; CPU:$C774 PRG:4774 D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: +NmiHandler_Loop48: lda #$D5 ; CPU:$C776 PRG:4776 A9 D5 - sta Zp00 ; CPU:$C778 PRG:4778 85 00 + sta StarFieldPtrLo ; CPU:$C778 PRG:4778 85 00 lda #$D7 ; CPU:$C77A PRG:477A A9 D7 - sta Zp01 ; CPU:$C77C PRG:477C 85 01 + sta StarFieldPtrHi ; CPU:$C77C PRG:477C 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: +NmiHandler_Loop49: lda #$02 ; CPU:$C77E PRG:477E A9 02 sta Zp02 ; CPU:$C780 PRG:4780 85 02 ; ----------------------------------------------------------------------------- @@ -2624,50 +3408,50 @@ NmiHandler_Loop32: ; ----------------------------------------------------------------------------- Sub_C782: ldy #$01 ; CPU:$C782 PRG:4782 A0 01 - lda (Zp0A),y ; CPU:$C784 PRG:4784 B1 0A - sta Zp04 ; CPU:$C786 PRG:4786 85 04 + lda (ScreenPtrLo),y ; CPU:$C784 PRG:4784 B1 0A + sta PpuAddrLow ; CPU:$C786 PRG:4786 85 04 iny ; CPU:$C788 PRG:4788 C8 - lda (Zp0A),y ; CPU:$C789 PRG:4789 B1 0A - sta Zp05 ; CPU:$C78B PRG:478B 85 05 - jmp NmiHandler_Loop42 ; CPU:$C78D PRG:478D 4C 65 C8 + lda (ScreenPtrLo),y ; CPU:$C789 PRG:4789 B1 0A + sta PpuAddrHigh ; CPU:$C78B PRG:478B 85 05 + jmp NmiHandler_Loop59 ; CPU:$C78D PRG:478D 4C 65 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: +NmiHandler_Loop50: lda #$D9 ; CPU:$C790 PRG:4790 A9 D9 - bmi NmiHandler_Loop35 ; CPU:$C792 PRG:4792 30 02 + bmi NmiHandler_Loop52 ; CPU:$C792 PRG:4792 30 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: +NmiHandler_Loop51: lda #$DD ; CPU:$C794 PRG:4794 A9 DD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: - sta Zp00 ; CPU:$C796 PRG:4796 85 00 +NmiHandler_Loop52: + sta StarFieldPtrLo ; CPU:$C796 PRG:4796 85 00 ldy #$02 ; CPU:$C798 PRG:4798 A0 02 sty Zp03 ; CPU:$C79A PRG:479A 84 03 - lda (Zp0A),y ; CPU:$C79C PRG:479C B1 0A - sta Zp05 ; CPU:$C79E PRG:479E 85 05 + lda (ScreenPtrLo),y ; CPU:$C79C PRG:479C B1 0A + sta PpuAddrHigh ; CPU:$C79E PRG:479E 85 05 dey ; CPU:$C7A0 PRG:47A0 88 - lda (Zp0A),y ; CPU:$C7A1 PRG:47A1 B1 0A - sta Zp04 ; CPU:$C7A3 PRG:47A3 85 04 + lda (ScreenPtrLo),y ; CPU:$C7A1 PRG:47A1 B1 0A + sta PpuAddrLow ; CPU:$C7A3 PRG:47A3 85 04 jmp Sub_C7EA ; CPU:$C7A5 PRG:47A5 4C EA C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7A8 @@ -2679,91 +3463,91 @@ NmiHandler_Loop35: ; ----------------------------------------------------------------------------- Sub_C7A8: ldy $03F8 ; CPU:$C7A8 PRG:47A8 AC F8 03 - beq NmiHandler_Loop36 ; CPU:$C7AB PRG:47AB F0 19 + beq NmiHandler_Loop53 ; CPU:$C7AB PRG:47AB F0 19 dey ; CPU:$C7AD PRG:47AD 88 sty $03F8 ; CPU:$C7AE PRG:47AE 8C F8 03 cpy #$F8 ; CPU:$C7B1 PRG:47B1 C0 F8 - bcs NmiHandler_Loop37 ; CPU:$C7B3 PRG:47B3 B0 12 + bcs NmiHandler_Loop54 ; CPU:$C7B3 PRG:47B3 B0 12 cpy #$F0 ; CPU:$C7B5 PRG:47B5 C0 F0 - bcs NmiHandler_Loop38 ; CPU:$C7B7 PRG:47B7 B0 12 + bcs NmiHandler_Loop55 ; CPU:$C7B7 PRG:47B7 B0 12 cpy #$E8 ; CPU:$C7B9 PRG:47B9 C0 E8 - bcs NmiHandler_Loop39 ; CPU:$C7BB PRG:47BB B0 12 + bcs NmiHandler_Loop56 ; CPU:$C7BB PRG:47BB B0 12 cpy #$E0 ; CPU:$C7BD PRG:47BD C0 E0 - bcs NmiHandler_Loop40 ; CPU:$C7BF PRG:47BF B0 12 + bcs NmiHandler_Loop57 ; CPU:$C7BF PRG:47BF B0 12 lda #$00 ; CPU:$C7C1 PRG:47C1 A9 00 sta $03F8 ; CPU:$C7C3 PRG:47C3 8D F8 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside NmiHandler: taken when Loop36. +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: +NmiHandler_Loop53: rts ; CPU:$C7C6 PRG:47C6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop54: lda #$E1 ; CPU:$C7C7 PRG:47C7 A9 E1 - bmi NmiHandler_Loop41 ; CPU:$C7C9 PRG:47C9 30 0A + bmi NmiHandler_Loop58 ; CPU:$C7C9 PRG:47C9 30 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop55: lda #$E5 ; CPU:$C7CB PRG:47CB A9 E5 - bmi NmiHandler_Loop41 ; CPU:$C7CD PRG:47CD 30 06 + bmi NmiHandler_Loop58 ; CPU:$C7CD PRG:47CD 30 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop56: lda #$E9 ; CPU:$C7CF PRG:47CF A9 E9 - bmi NmiHandler_Loop41 ; CPU:$C7D1 PRG:47D1 30 02 + bmi NmiHandler_Loop58 ; CPU:$C7D1 PRG:47D1 30 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop57: lda #$ED ; CPU:$C7D3 PRG:47D3 A9 ED ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: - sta Zp00 ; CPU:$C7D5 PRG:47D5 85 00 +NmiHandler_Loop58: + sta StarFieldPtrLo ; CPU:$C7D5 PRG:47D5 85 00 clc ; CPU:$C7D7 PRG:47D7 18 adc #$02 ; CPU:$C7D8 PRG:47D8 69 02 - sta Zp01 ; CPU:$C7DA PRG:47DA 85 01 + sta StarFieldPtrHi ; CPU:$C7DA PRG:47DA 85 01 lda #$00 ; CPU:$C7DC PRG:47DC A9 00 sta Zp03 ; CPU:$C7DE PRG:47DE 85 03 lda $03F9 ; CPU:$C7E0 PRG:47E0 AD F9 03 - sta Zp04 ; CPU:$C7E3 PRG:47E3 85 04 + sta PpuAddrLow ; CPU:$C7E3 PRG:47E3 85 04 lda $03FA ; CPU:$C7E5 PRG:47E5 AD FA 03 - sta Zp05 ; CPU:$C7E8 PRG:47E8 85 05 + sta PpuAddrHigh ; CPU:$C7E8 PRG:47E8 85 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7EA ; Global: Branch target inside Sub: taken when C7EA. @@ -2773,60 +3557,60 @@ NmiHandler_Loop41: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C7EA: - lda Zp04 ; CPU:$C7EA PRG:47EA A5 04 + lda PpuAddrLow ; CPU:$C7EA PRG:47EA A5 04 sec ; CPU:$C7EC PRG:47EC 38 sbc #$08 ; CPU:$C7ED PRG:47ED E9 08 - sta Zp04 ; CPU:$C7EF PRG:47EF 85 04 - lda Zp05 ; CPU:$C7F1 PRG:47F1 A5 05 + sta PpuAddrLow ; CPU:$C7EF PRG:47EF 85 04 + lda PpuAddrHigh ; CPU:$C7F1 PRG:47F1 A5 05 sec ; CPU:$C7F3 PRG:47F3 38 sbc #$08 ; CPU:$C7F4 PRG:47F4 E9 08 - sta Zp05 ; CPU:$C7F6 PRG:47F6 85 05 + sta PpuAddrHigh ; CPU:$C7F6 PRG:47F6 85 05 sta Zp1D ; CPU:$C7F8 PRG:47F8 85 1D lda Zp03 ; CPU:$C7FA PRG:47FA A5 03 sta Zp02 ; CPU:$C7FC PRG:47FC 85 02 - lda Zp00 ; CPU:$C7FE PRG:47FE A5 00 + lda StarFieldPtrLo ; CPU:$C7FE PRG:47FE A5 00 sta Zp1C ; CPU:$C800 PRG:4800 85 1C clc ; CPU:$C802 PRG:4802 18 adc #$02 ; CPU:$C803 PRG:4803 69 02 - sta Zp01 ; CPU:$C805 PRG:4805 85 01 - jsr NmiHandler_Loop42 ; CPU:$C807 PRG:4807 20 65 C8 - lda Zp04 ; CPU:$C80A PRG:480A A5 04 + sta StarFieldPtrHi ; CPU:$C805 PRG:4805 85 01 + jsr NmiHandler_Loop59 ; CPU:$C807 PRG:4807 20 65 C8 + lda PpuAddrLow ; CPU:$C80A PRG:480A A5 04 clc ; CPU:$C80C PRG:480C 18 adc #$10 ; CPU:$C80D PRG:480D 69 10 - sta Zp04 ; CPU:$C80F PRG:480F 85 04 + sta PpuAddrLow ; CPU:$C80F PRG:480F 85 04 lda Zp1D ; CPU:$C811 PRG:4811 A5 1D - sta Zp05 ; CPU:$C813 PRG:4813 85 05 + sta PpuAddrHigh ; CPU:$C813 PRG:4813 85 05 lda Zp03 ; CPU:$C815 PRG:4815 A5 03 ora #$80 ; CPU:$C817 PRG:4817 09 80 sta Zp02 ; CPU:$C819 PRG:4819 85 02 lda Zp1C ; CPU:$C81B PRG:481B A5 1C - sta Zp00 ; CPU:$C81D PRG:481D 85 00 - jsr NmiHandler_Loop42 ; CPU:$C81F PRG:481F 20 65 C8 + sta StarFieldPtrLo ; CPU:$C81D PRG:481D 85 00 + jsr NmiHandler_Loop59 ; CPU:$C81F PRG:481F 20 65 C8 lda Zp1D ; CPU:$C822 PRG:4822 A5 1D clc ; CPU:$C824 PRG:4824 18 adc #$10 ; CPU:$C825 PRG:4825 69 10 - sta Zp05 ; CPU:$C827 PRG:4827 85 05 + sta PpuAddrHigh ; CPU:$C827 PRG:4827 85 05 sta Zp1D ; CPU:$C829 PRG:4829 85 1D lda Zp03 ; CPU:$C82B PRG:482B A5 03 ora #$C0 ; CPU:$C82D PRG:482D 09 C0 sta Zp02 ; CPU:$C82F PRG:482F 85 02 lda Zp1C ; CPU:$C831 PRG:4831 A5 1C - sta Zp00 ; CPU:$C833 PRG:4833 85 00 + sta StarFieldPtrLo ; CPU:$C833 PRG:4833 85 00 jsr Sub_C85D ; CPU:$C835 PRG:4835 20 5D C8 - lda Zp04 ; CPU:$C838 PRG:4838 A5 04 + lda PpuAddrLow ; CPU:$C838 PRG:4838 A5 04 sec ; CPU:$C83A PRG:483A 38 sbc #$10 ; CPU:$C83B PRG:483B E9 10 - sta Zp04 ; CPU:$C83D PRG:483D 85 04 + sta PpuAddrLow ; CPU:$C83D PRG:483D 85 04 lda Zp1D ; CPU:$C83F PRG:483F A5 1D - sta Zp05 ; CPU:$C841 PRG:4841 85 05 + sta PpuAddrHigh ; CPU:$C841 PRG:4841 85 05 lda Zp03 ; CPU:$C843 PRG:4843 A5 03 ora #$40 ; CPU:$C845 PRG:4845 09 40 sta Zp02 ; CPU:$C847 PRG:4847 85 02 lda Zp1C ; CPU:$C849 PRG:4849 A5 1C - sta Zp00 ; CPU:$C84B PRG:484B 85 00 + sta StarFieldPtrLo ; CPU:$C84B PRG:484B 85 00 clc ; CPU:$C84D PRG:484D 18 adc #$02 ; CPU:$C84E PRG:484E 69 02 - sta Zp01 ; CPU:$C850 PRG:4850 85 01 + sta StarFieldPtrHi ; CPU:$C850 PRG:4850 85 01 jmp Sub_C85D ; CPU:$C852 PRG:4852 4C 5D C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_C855 @@ -2837,10 +3621,10 @@ Sub_C7EA: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C855: - lda Zp06 ; CPU:$C855 PRG:4855 A5 06 - beq NmiHandler_Loop42 ; CPU:$C857 PRG:4857 F0 0C + lda StarFieldCount ; CPU:$C855 PRG:4855 A5 06 + beq NmiHandler_Loop59 ; CPU:$C857 PRG:4857 F0 0C and #$02 ; CPU:$C859 PRG:4859 29 02 - beq NmiHandler_Loop43 ; CPU:$C85B PRG:485B F0 19 + beq NmiHandler_Loop60 ; CPU:$C85B PRG:485B F0 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_C85D ; Global: Branch target inside Sub: taken when C85D. @@ -2850,44 +3634,44 @@ Sub_C855: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C85D: - ldy Zp01 ; CPU:$C85D PRG:485D A4 01 - lda Zp00 ; CPU:$C85F PRG:485F A5 00 - sta Zp01 ; CPU:$C861 PRG:4861 85 01 - sty Zp00 ; CPU:$C863 PRG:4863 84 00 + ldy StarFieldPtrHi ; CPU:$C85D PRG:485D A4 01 + lda StarFieldPtrLo ; CPU:$C85F PRG:485F A5 00 + sta StarFieldPtrHi ; CPU:$C861 PRG:4861 85 01 + sty StarFieldPtrLo ; CPU:$C863 PRG:4863 84 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: +NmiHandler_Loop59: jsr Sub_C886 ; CPU:$C865 PRG:4865 20 86 C8 - lda Zp01 ; CPU:$C868 PRG:4868 A5 01 - sta Zp00 ; CPU:$C86A PRG:486A 85 00 - lda Zp05 ; CPU:$C86C PRG:486C A5 05 + lda StarFieldPtrHi ; CPU:$C868 PRG:4868 A5 01 + sta StarFieldPtrLo ; CPU:$C86A PRG:486A 85 00 + lda PpuAddrHigh ; CPU:$C86C PRG:486C A5 05 clc ; CPU:$C86E PRG:486E 18 adc #$08 ; CPU:$C86F PRG:486F 69 08 - sta Zp05 ; CPU:$C871 PRG:4871 85 05 + sta PpuAddrHigh ; CPU:$C871 PRG:4871 85 05 jmp Sub_C886 ; CPU:$C873 PRG:4873 4C 86 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop60: jsr Sub_C886 ; CPU:$C876 PRG:4876 20 86 C8 lda Zp02 ; CPU:$C879 PRG:4879 A5 02 eor #$40 ; CPU:$C87B PRG:487B 49 40 sta Zp02 ; CPU:$C87D PRG:487D 85 02 - lda Zp05 ; CPU:$C87F PRG:487F A5 05 + lda PpuAddrHigh ; CPU:$C87F PRG:487F A5 05 clc ; CPU:$C881 PRG:4881 18 adc #$07 ; CPU:$C882 PRG:4882 69 07 - sta Zp05 ; CPU:$C884 PRG:4884 85 05 + sta PpuAddrHigh ; CPU:$C884 PRG:4884 85 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C886 ; Global: Branch target inside Sub: taken when C886. @@ -2897,282 +3681,293 @@ NmiHandler_Loop43: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C886: - lda Zp05 ; CPU:$C886 PRG:4886 A5 05 + lda PpuAddrHigh ; CPU:$C886 PRG:4886 A5 05 cmp #$C1 ; CPU:$C888 PRG:4888 C9 C1 - bcs NmiHandler_Loop44 ; CPU:$C88A PRG:488A B0 1A - lda Zp04 ; CPU:$C88C PRG:488C A5 04 + bcs NmiHandler_Loop61 ; CPU:$C88A PRG:488A B0 1A + lda PpuAddrLow ; CPU:$C88C PRG:488C A5 04 sta $0700,x ; CPU:$C88E PRG:488E 9D 00 07 inx ; CPU:$C891 PRG:4891 E8 - lda Zp00 ; CPU:$C892 PRG:4892 A5 00 + lda StarFieldPtrLo ; CPU:$C892 PRG:4892 A5 00 sta $0700,x ; CPU:$C894 PRG:4894 9D 00 07 inx ; CPU:$C897 PRG:4897 E8 lda Zp02 ; CPU:$C898 PRG:4898 A5 02 sta $0700,x ; CPU:$C89A PRG:489A 9D 00 07 inx ; CPU:$C89D PRG:489D E8 - lda Zp05 ; CPU:$C89E PRG:489E A5 05 + lda PpuAddrHigh ; CPU:$C89E PRG:489E A5 05 sta $0700,x ; CPU:$C8A0 PRG:48A0 9D 00 07 inx ; CPU:$C8A3 PRG:48A3 E8 - beq NmiHandler_Loop45 ; CPU:$C8A4 PRG:48A4 F0 01 + beq NmiHandler_Loop62 ; CPU:$C8A4 PRG:48A4 F0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop61: rts ; CPU:$C8A6 PRG:48A6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop62: ldx Zp0E ; CPU:$C8A7 PRG:48A7 A6 0E txs ; CPU:$C8A9 PRG:48A9 9A rts ; CPU:$C8AA PRG:48AA 60 -; ---- data $C8AB-$D775 (3787 bytes) ---- - .byte $A6, $62, $D0, $01, $60, $A5, $00, $0A, $0A, $65, $00, $69, $04, $A8, $A6, $61 ; CPU:$C8AB PRG:48AB A6 62 D0 01 60 A5 00 0A 0A 65 00 69 04 A8 A6 61 - .byte $CA, $D0, $04, $A2, $E0, $30, $02, $A2, $E8, $86, $02, $18, $A9, $05, $85, $01 ; CPU:$C8BB PRG:48BB CA D0 04 A2 E0 30 02 A2 E8 86 02 18 A9 05 85 01 - .byte $B9, $88, $FA, $88, $75, $05, $C9, $0A, $90, $02, $E9, $0A, $95, $05, $CA, $C6 ; CPU:$C8CB PRG:48CB B9 88 FA 88 75 05 C9 0A 90 02 E9 0A 95 05 CA C6 - .byte $01, $D0, $ED, $B5, $05, $69, $00, $95, $05, $E6, $63, $A6, $02, $A0, $00, $A9 ; CPU:$C8DB PRG:48DB 01 D0 ED B5 05 69 00 95 05 E6 63 A6 02 A0 00 A9 - .byte $06, $85, $01, $B5, $00, $D9, $F8, $00, $90, $08, $D0, $0B, $C8, $E8, $C6, $01 ; CPU:$C8EB PRG:48EB 06 85 01 B5 00 D9 F8 00 90 08 D0 0B C8 E8 C6 01 - .byte $D0, $F1, $4C, $0B, $C9, $B5, $00, $99, $F8, $00, $C8, $E8, $C6, $01, $D0, $F5 ; CPU:$C8FB PRG:48FB D0 F1 4C 0B C9 B5 00 99 F8 00 C8 E8 C6 01 D0 F5 - .byte $A6, $02, $B5, $02, $CD, $88, $04, $D0, $9B, $AE, $89, $04, $D0, $07, $EE, $89 ; CPU:$C90B PRG:490B A6 02 B5 02 CD 88 04 D0 9B AE 89 04 D0 07 EE 89 - .byte $04, $A9, $07, $10, $09, $18, $69, $07, $C9, $0A, $90, $02, $E9, $0A, $8D, $88 ; CPU:$C91B PRG:491B 04 A9 07 10 09 18 69 07 C9 0A 90 02 E9 0A 8D 88 - .byte $04, $A9, $01, $8D, $81, $05, $8D, $82, $05, $4C, $A8, $CB, $A9, $E5, $85, $00 ; CPU:$C92B PRG:492B 04 A9 01 8D 81 05 8D 82 05 4C A8 CB A9 E5 85 00 - .byte $A9, $FA, $85, $01, $A9, $02, $85, $06, $20, $91, $C1, $20, $57, $C9, $20, $1D ; CPU:$C93B PRG:493B A9 FA 85 01 A9 02 85 06 20 91 C1 20 57 C9 20 1D - .byte $CA, $20, $01, $CA, $A6, $DE, $CA, $F0, $6E, $4C, $0F, $CA, $A9, $02, $A6, $DE ; CPU:$C94B PRG:494B CA 20 01 CA A6 DE CA F0 6E 4C 0F CA A9 02 A6 DE - .byte $CA, $D0, $02, $A9, $01, $85, $06, $A9, $F4, $85, $00, $A9, $FA, $85, $01, $4C ; CPU:$C95B PRG:495B CA D0 02 A9 01 85 06 A9 F4 85 00 A9 FA 85 01 4C - .byte $91, $C1, $29, $03, $D0, $51, $A6, $DE, $CA, $F0, $1D, $CA, $D0, $49, $A6, $61 ; CPU:$C96B PRG:496B 91 C1 29 03 D0 51 A6 DE CA F0 1D CA D0 49 A6 61 - .byte $CA, $F0, $0E, $A2, $F4, $A9, $FA, $20, $17, $C1, $A2, $FA, $A0, $FA, $4C, $97 ; CPU:$C97B PRG:497B CA F0 0E A2 F4 A9 FA 20 17 C1 A2 FA A0 FA 4C 97 - .byte $C9, $A2, $FA, $A9, $FA, $20, $17, $C1, $A2, $F4, $A0, $FA, $A5, $48, $29, $10 ; CPU:$C98B PRG:498B C9 A2 FA A9 FA 20 17 C1 A2 F4 A0 FA A5 48 29 10 - .byte $F0, $04, $98, $4C, $17, $C1, $98, $4C, $2D, $C1, $A5, $48, $6A, $90, $73, $B0 ; CPU:$C99B PRG:499B F0 04 98 4C 17 C1 98 4C 2D C1 A5 48 6A 90 73 B0 - .byte $17, $A5, $62, $F0, $12, $A5, $48, $6A, $90, $0D, $6A, $90, $B5, $A5, $48, $29 ; CPU:$C9AB PRG:49AB 17 A5 62 F0 12 A5 48 6A 90 0D 6A 90 B5 A5 48 29 - .byte $04, $D0, $5F, $A4, $63, $D0, $01, $60, $A9, $00, $85, $63, $A6, $61, $CA, $F0 ; CPU:$C9BB PRG:49BB 04 D0 5F A4 63 D0 01 60 A9 00 85 63 A6 61 CA F0 - .byte $35, $D0, $41, $A9, $CE, $85, $00, $A9, $FA, $85, $01, $A0, $03, $A6, $DE, $CA ; CPU:$C9CB PRG:49CB 35 D0 41 A9 CE 85 00 A9 FA 85 01 A0 03 A6 DE CA - .byte $D0, $01, $88, $84, $06, $20, $91, $C1, $A9, $28, $85, $05, $A9, $4B, $85, $04 ; CPU:$C9DB PRG:49DB D0 01 88 84 06 20 91 C1 A9 28 85 05 A9 4B 85 04 - .byte $20, $25, $CA, $A9, $42, $85, $04, $20, $09, $CA, $A6, $DE, $CA, $F0, $C8, $A9 ; CPU:$C9EB PRG:49EB 20 25 CA A9 42 85 04 20 09 CA A6 DE CA F0 C8 A9 - .byte $54, $85, $04, $4C, $17, $CA, $A9, $18, $85, $04, $A9, $21, $85, $05, $A9, $E0 ; CPU:$C9FB PRG:49FB 54 85 04 4C 17 CA A9 18 85 04 A9 21 85 05 A9 E0 - .byte $85, $00, $30, $1A, $A9, $98, $85, $04, $A9, $21, $85, $05, $A9, $E8, $85, $00 ; CPU:$CA0B PRG:4A0B 85 00 30 1A A9 98 85 04 A9 21 85 05 A9 E8 85 00 - .byte $30, $0C, $A9, $98, $85, $04, $A9, $20, $85, $05, $A9, $F8, $85, $00, $A9, $00 ; CPU:$CA1B PRG:4A1B 30 0C A9 98 85 04 A9 20 85 05 A9 F8 85 00 A9 00 - .byte $85, $01, $A9, $06, $85, $02, $A0, $00, $B1, $00, $D0, $03, $A9, $04, $2C, $A9 ; CPU:$CA2B PRG:4A2B 85 01 A9 06 85 02 A0 00 B1 00 D0 03 A9 04 2C A9 - .byte $00, $85, $03, $E6, $00, $20, $77, $C1, $A0, $00, $C6, $00, $B1, $00, $D0, $01 ; CPU:$CA3B PRG:4A3B 00 85 03 E6 00 20 77 C1 A0 00 C6 00 B1 00 D0 01 - .byte $60, $48, $A9, $06, $85, $02, $18, $A9, $20, $65, $04, $85, $04, $90, $02, $E6 ; CPU:$CA4B PRG:4A4B 60 48 A9 06 85 02 18 A9 20 65 04 85 04 90 02 E6 - .byte $05, $A9, $20, $85, $00, $A9, $00, $85, $01, $68, $C9, $07, $B0, $19, $85, $06 ; CPU:$CA5B PRG:4A5B 05 A9 20 85 00 A9 00 85 01 68 C9 07 B0 19 85 06 - .byte $A0, $05, $A9, $24, $91, $00, $88, $10, $FB, $A0, $05, $A9, $2B, $91, $00, $88 ; CPU:$CA6B PRG:4A6B A0 05 A9 24 91 00 88 10 FB A0 05 A9 2B 91 00 88 - .byte $C6, $06, $D0, $F9, $4C, $5F, $C1, $85, $25, $A2, $04, $BD, $00, $FB, $95, $20 ; CPU:$CA7B PRG:4A7B C6 06 D0 F9 4C 5F C1 85 25 A2 04 BD 00 FB 95 20 - .byte $CA, $10, $F8, $4C, $5F, $C1, $A9, $B8, $85, $04, $A9, $22, $85, $05, $A9, $06 ; CPU:$CA8B PRG:4A8B CA 10 F8 4C 5F C1 A9 B8 85 04 A9 22 85 05 A9 06 - .byte $85, $02, $85, $03, $4C, $62, $C2, $A9, $FF, $85, $64, $20, $BB, $CA, $A5, $64 ; CPU:$CA9B PRG:4A9B 85 02 85 03 4C 62 C2 A9 FF 85 64 20 BB CA A5 64 - .byte $D0, $F9, $A9, $00, $8D, $9A, $05, $60, $A5, $48, $29, $07, $AA, $CA, $D0, $04 ; CPU:$CAAB PRG:4AAB D0 F9 A9 00 8D 9A 05 60 A5 48 29 07 AA CA D0 04 - .byte $A6, $64, $D0, $01, $60, $E8, $D0, $33, $AE, $83, $04, $86, $65, $A2, $00, $86 ; CPU:$CABB PRG:4ABB A6 64 D0 01 60 E8 D0 33 AE 83 04 86 65 A2 00 86 - .byte $66, $E8, $86, $64, $4C, $91, $CA, $A2, $1D, $A9, $FB, $20, $17, $C1, $A9, $DB ; CPU:$CACB PRG:4ACB 66 E8 86 64 4C 91 CA A2 1D A9 FB 20 17 C1 A9 DB - .byte $85, $04, $A9, $22, $85, $05, $A9, $00, $85, $03, $A0, $03, $A2, $80, $A9, $04 ; CPU:$CADB PRG:4ADB 85 04 A9 22 85 05 A9 00 85 03 A0 03 A2 80 A9 04 - .byte $20, $74, $C1, $A9, $01, $8D, $9A, $05, $4C, $0E, $CB, $AE, $83, $04, $E0, $C8 ; CPU:$CAEB PRG:4AEB 20 74 C1 A9 01 8D 9A 05 4C 0E CB AE 83 04 E0 C8 - .byte $B0, $D5, $A5, $65, $F0, $0D, $A2, $00, $DD, $05, $FB, $B0, $0B, $E8, $E8, $E8 ; CPU:$CAFB PRG:4AFB B0 D5 A5 65 F0 0D A2 00 DD 05 FB B0 0B E8 E8 E8 - .byte $E8, $10, $F5, $A9, $00, $85, $64, $60, $86, $06, $FD, $05, $FB, $85, $65, $D0 ; CPU:$CB0B PRG:4B0B E8 10 F5 A9 00 85 64 60 86 06 FD 05 FB 85 65 D0 - .byte $03, $20, $0E, $CB, $BD, $06, $FB, $85, $02, $18, $65, $66, $48, $29, $1F, $C9 ; CPU:$CB1B PRG:4B1B 03 20 0E CB BD 06 FB 85 02 18 65 66 48 29 1F C9 - .byte $07, $68, $90, $09, $69, $40, $29, $E0, $85, $66, $18, $65, $02, $A6, $66, $85 ; CPU:$CB2B PRG:4B2B 07 68 90 09 69 40 29 E0 85 66 18 65 02 A6 66 85 - .byte $66, $8A, $18, $69, $B8, $85, $04, $A9, $22, $69, $00, $85, $05, $20, $56, $CB ; CPU:$CB3B PRG:4B3B 66 8A 18 69 B8 85 04 A9 22 69 00 85 05 20 56 CB - .byte $18, $A9, $20, $65, $04, $85, $04, $90, $02, $E6, $05, $E6, $06, $A6, $06, $BC ; CPU:$CB4B PRG:4B4B 18 A9 20 65 04 85 04 90 02 E6 05 E6 06 A6 06 BC - .byte $06, $FB, $84, $20, $C8, $84, $21, $20, $56, $C1, $A9, $01, $8D, $9A, $05, $60 ; CPU:$CB5B PRG:4B5B 06 FB 84 20 C8 84 21 20 56 C1 A9 01 8D 9A 05 60 - .byte $20, $20, $CC, $AD, $87, $04, $F0, $16, $C9, $05, $90, $02, $A9, $05, $85, $06 ; CPU:$CB6B PRG:4B6B 20 20 CC AD 87 04 F0 16 C9 05 90 02 A9 05 85 06 - .byte $20, $E6, $CB, $C6, $06, $D0, $F9, $AD, $87, $04, $C9, $06, $B0, $41, $60, $A9 ; CPU:$CB7B PRG:4B7B 20 E6 CB C6 06 D0 F9 AD 87 04 C9 06 B0 41 60 A9 - .byte $84, $85, $00, $A9, $04, $85, $01, $A9, $02, $85, $02, $20, $B8, $C3, $AE, $87 ; CPU:$CB8B PRG:4B8B 84 85 00 A9 04 85 01 A9 02 85 02 20 B8 C3 AE 87 - .byte $04, $86, $06, $CA, $8E, $87, $04, $E0, $06, $B0, $24, $90, $36, $EE, $87, $04 ; CPU:$CB9B PRG:4B9B 04 86 06 CA 8E 87 04 E0 06 B0 24 90 36 EE 87 04 - .byte $D0, $05, $CE, $87, $04, $D0, $0F, $A9, $84, $85, $00, $A9, $04, $85, $01, $A9 ; CPU:$CBAB PRG:4BAB D0 05 CE 87 04 D0 0F A9 84 85 00 A9 04 85 01 A9 - .byte $02, $85, $02, $20, $A1, $C3, $AE, $87, $04, $86, $06, $E0, $06, $90, $1C, $A9 ; CPU:$CBBB PRG:4BBB 02 85 02 20 A1 C3 AE 87 04 86 06 E0 06 90 1C A9 - .byte $7C, $85, $04, $A9, $22, $85, $05, $A0, $01, $84, $03, $C8, $A2, $84, $A9, $04 ; CPU:$CBCB PRG:4BCB 7C 85 04 A9 22 85 05 A0 01 84 03 C8 A2 84 A9 04 - .byte $4C, $74, $C1, $A2, $24, $86, $20, $86, $21, $10, $07, $A2, $4A, $86, $20, $E8 ; CPU:$CBDB PRG:4BDB 4C 74 C1 A2 24 86 20 86 21 10 07 A2 4A 86 20 E8 - .byte $86, $21, $A9, $02, $85, $02, $A6, $06, $CA, $BD, $32, $CC, $18, $69, $F8, $85 ; CPU:$CBEB PRG:4BEB 86 21 A9 02 85 02 A6 06 CA BD 32 CC 18 69 F8 85 - .byte $04, $A9, $21, $69, $00, $85, $05, $20, $56, $C1, $A9, $20, $18, $65, $04, $85 ; CPU:$CBFB PRG:4BFB 04 A9 21 69 00 85 05 20 56 C1 A9 20 18 65 04 85 - .byte $04, $90, $02, $E6, $05, $A6, $20, $E0, $24, $F0, $07, $A2, $4C, $86, $20, $E8 ; CPU:$CC0B PRG:4C0B 04 90 02 E6 05 A6 20 E0 24 F0 07 A2 4C 86 20 E8 - .byte $86, $21, $4C, $56, $C1, $A9, $F8, $85, $04, $A9, $21, $85, $05, $A2, $06, $86 ; CPU:$CC1B PRG:4C1B 86 21 4C 56 C1 A9 F8 85 04 A9 21 85 05 A2 06 86 - .byte $02, $CA, $86, $03, $4C, $62, $C2, $00, $02, $04, $60, $62, $64, $A6, $48, $CA ; CPU:$CC2B PRG:4C2B 02 CA 86 03 4C 62 C2 00 02 04 60 62 64 A6 48 CA - .byte $8A, $29, $03, $D0, $1E, $A6, $54, $D0, $1B, $A5, $5D, $F0, $16, $AD, $8D, $05 ; CPU:$CC3B PRG:4C3B 8A 29 03 D0 1E A6 54 D0 1B A5 5D F0 16 AD 8D 05 - .byte $F0, $11, $A9, $00, $85, $5D, $AD, $5C, $04, $8D, $71, $04, $A2, $60, $A9, $F9 ; CPU:$CC4B PRG:4C4B F0 11 A9 00 85 5D AD 5C 04 8D 71 04 A2 60 A9 F9 - .byte $20, $17, $C1, $60, $A6, $54, $CA, $30, $0C, $8A, $20, $01, $C3, $8D, $CC, $D0 ; CPU:$CC5B PRG:4C5B 20 17 C1 60 A6 54 CA 30 0C 8A 20 01 C3 8D CC D0 - .byte $CC, $8D, $CC, $B3, $CC, $A9, $00, $85, $55, $85, $56, $85, $59, $A9, $03, $85 ; CPU:$CC6B PRG:4C6B CC 8D CC B3 CC A9 00 85 55 85 56 85 59 A9 03 85 - .byte $54, $A5, $58, $38, $E9, $14, $4A, $4A, $4A, $85, $57, $A9, $01, $8D, $9B, $05 ; CPU:$CC7B PRG:4C7B 54 A5 58 38 E9 14 4A 4A 4A 85 57 A9 01 8D 9B 05 - .byte $D0, $4D, $E6, $55, $A5, $55, $CD, $5D, $04, $90, $44, $A9, $00, $85, $55, $A5 ; CPU:$CC8B PRG:4C8B D0 4D E6 55 A5 55 CD 5D 04 90 44 A9 00 85 55 A5 - .byte $54, $29, $02, $F0, $13, $20, $F0, $CC, $20, $5F, $C1, $E6, $56, $A5, $56, $C9 ; CPU:$CC9B PRG:4C9B 54 29 02 F0 13 20 F0 CC 20 5F C1 E6 56 A5 56 C9 - .byte $07, $90, $2C, $C6, $54, $4C, $DA, $CC, $C6, $56, $30, $09, $20, $F0, $CC, $20 ; CPU:$CCAB PRG:4CAB 07 90 2C C6 54 4C DA CC C6 56 30 09 20 F0 CC 20 - .byte $44, $C1, $4C, $DA, $CC, $A9, $00, $85, $54, $A9, $1B, $20, $70, $ED, $A2, $25 ; CPU:$CCBB PRG:4CBB 44 C1 4C DA CC A9 00 85 54 A9 1B 20 70 ED A2 25 - .byte $A9, $FB, $4C, $17, $C1, $E6, $55, $A5, $55, $C9, $1E, $90, $02, $C6, $54, $A5 ; CPU:$CCCB PRG:4CCB A9 FB 4C 17 C1 E6 55 A5 55 C9 1E 90 02 C6 54 A5 - .byte $59, $38, $E9, $06, $10, $02, $A9, $0C, $85, $59, $18, $69, $25, $AA, $A9, $00 ; CPU:$CCDB PRG:4CDB 59 38 E9 06 10 02 A9 0C 85 59 18 69 25 AA A9 00 - .byte $69, $FB, $4C, $17, $C1, $A5, $56, $0A, $0A, $0A, $69, $37, $85, $00, $A9, $FB ; CPU:$CCEB PRG:4CEB 69 FB 4C 17 C1 A5 56 0A 0A 0A 69 37 85 00 A9 FB - .byte $69, $00, $85, $01, $A0, $00, $A5, $57, $18, $71, $00, $85, $04, $C8, $B1, $00 ; CPU:$CCFB PRG:4CFB 69 00 85 01 A0 00 A5 57 18 71 00 85 04 C8 B1 00 - .byte $69, $00, $85, $05, $18, $A5, $00, $69, $02, $85, $00, $90, $02, $E6, $01, $A9 ; CPU:$CD0B PRG:4D0B 69 00 85 05 18 A5 00 69 02 85 00 90 02 E6 01 A9 - .byte $06, $85, $02, $60, $A9, $E0, $85, $00, $A9, $00, $85, $01, $A9, $00, $A0, $17 ; CPU:$CD1B PRG:4D1B 06 85 02 60 A9 E0 85 00 A9 00 85 01 A9 00 A0 17 - .byte $91, $00, $88, $10, $FB, $A9, $00, $85, $54, $20, $3A, $CD, $20, $CD, $C3, $A2 ; CPU:$CD2B PRG:4D2B 91 00 88 10 FB A9 00 85 54 20 3A CD 20 CD C3 A2 - .byte $C0, $A9, $00, $CA, $9D, $00, $04, $D0, $FA, $A2, $10, $CA, $95, $70, $D0, $FB ; CPU:$CD3B PRG:4D3B C0 A9 00 CA 9D 00 04 D0 FA A2 10 CA 95 70 D0 FB - .byte $A9, $03, $8D, $88, $04, $8D, $87, $04, $8D, $85, $04, $A9, $FF, $8D, $72, $04 ; CPU:$CD4B PRG:4D4B A9 03 8D 88 04 8D 87 04 8D 85 04 A9 FF 8D 72 04 - .byte $A9, $01, $85, $7F, $A9, $80, $8D, $10, $02, $60, $20, $9C, $CD, $A9, $00, $8D ; CPU:$CD5B PRG:4D5B A9 01 85 7F A9 80 8D 10 02 60 20 9C CD A9 00 8D - .byte $73, $04, $8D, $74, $04, $20, $D7, $E8, $A9, $A5, $8D, $8A, $04, $8D, $8B, $04 ; CPU:$CD6B PRG:4D6B 73 04 8D 74 04 20 D7 E8 A9 A5 8D 8A 04 8D 8B 04 - .byte $A9, $0F, $8D, $9F, $04, $A2, $04, $A9, $00, $9D, $96, $04, $CA, $10, $FA, $A2 ; CPU:$CD7B PRG:4D7B A9 0F 8D 9F 04 A2 04 A9 00 9D 96 04 CA 10 FA A2 - .byte $6F, $A9, $FB, $20, $17, $C1, $20, $1A, $D8, $60, $20, $9C, $CD, $20, $C7, $D7 ; CPU:$CD8B PRG:4D8B 6F A9 FB 20 17 C1 20 1A D8 60 20 9C CD 20 C7 D7 - .byte $60, $A9, $80, $85, $00, $A9, $04, $85, $01, $A9, $03, $85, $02, $20, $A1, $C3 ; CPU:$CD9B PRG:4D9B 60 A9 80 85 00 A9 04 85 01 A9 03 85 02 20 A1 C3 - .byte $AE, $83, $04, $E8, $D0, $02, $A2, $FC, $8E, $83, $04, $60, $A2, $00, $86, $43 ; CPU:$CDAB PRG:4DAB AE 83 04 E8 D0 02 A2 FC 8E 83 04 60 A2 00 86 43 - .byte $86, $62, $20, $00, $BE, $20, $52, $BE, $20, $F1, $C0, $A5, $46, $29, $30, $D0 ; CPU:$CDBB PRG:4DBB 86 62 20 00 BE 20 52 BE 20 F1 C0 A5 46 29 30 D0 - .byte $0A, $E6, $43, $A5, $43, $C9, $E0, $90, $EF, $B0, $0A, $A9, $E0, $85, $43, $20 ; CPU:$CDCB PRG:4DCB 0A E6 43 A5 43 C9 E0 90 EF B0 0A A9 E0 85 43 20 - .byte $00, $BE, $20, $52, $BE, $A9, $00, $85, $48, $85, $49, $20, $F1, $C0, $20, $33 ; CPU:$CDDB PRG:4DDB 00 BE 20 52 BE A9 00 85 48 85 49 20 F1 C0 20 33 - .byte $BE, $A5, $46, $29, $20, $F0, $0E, $A5, $DF, $49, $03, $85, $DF, $A5, $49, $C9 ; CPU:$CDEB PRG:4DEB BE A5 46 29 20 F0 0E A5 DF 49 03 85 DF A5 49 C9 - .byte $02, $90, $02, $C6, $49, $20, $4F, $CE, $A5, $46, $29, $10, $D0, $66, $A5, $49 ; CPU:$CDFB PRG:4DFB 02 90 02 C6 49 20 4F CE A5 46 29 10 D0 66 A5 49 - .byte $C9, $03, $90, $D7, $A9, $78, $85, $C8, $A9, $01, $85, $61, $20, $30, $CD, $20 ; CPU:$CE0B PRG:4E0B C9 03 90 D7 A9 78 85 C8 A9 01 85 61 20 30 CD 20 - .byte $9C, $D2, $20, $65, $CD, $20, $16, $D0, $20, $F1, $C0, $A5, $46, $29, $30, $D0 ; CPU:$CE1B PRG:4E1B 9C D2 20 65 CD 20 16 D0 20 F1 C0 A5 46 29 30 D0 - .byte $AA, $20, $74, $D8, $20, $38, $D2, $A6, $7B, $D0, $0C, $AD, $94, $04, $D0, $E8 ; CPU:$CE2B PRG:4E2B AA 20 74 D8 20 38 D2 A6 7B D0 0C AD 94 04 D0 E8 - .byte $C6, $C8, $D0, $E4, $4C, $B7, $CD, $A5, $79, $F0, $F5, $AE, $87, $04, $CA, $CA ; CPU:$CE3B PRG:4E3B C6 C8 D0 E4 4C B7 CD A5 79 F0 F5 AE 87 04 CA CA - .byte $30, $EE, $10, $D1, $A6, $DF, $CA, $D0, $0D, $A2, $44, $A9, $F8, $20, $17, $C1 ; CPU:$CE4B PRG:4E4B 30 EE 10 D1 A6 DF CA D0 0D A2 44 A9 F8 20 17 C1 - .byte $A2, $48, $A9, $F8, $D0, $0B, $A2, $48, $A9, $F8, $20, $17, $C1, $A2, $44, $A9 ; CPU:$CE5B PRG:4E5B A2 48 A9 F8 D0 0B A2 48 A9 F8 20 17 C1 A2 44 A9 - .byte $F8, $4C, $2D, $C1, $A5, $DF, $85, $DE, $A9, $01, $85, $61, $85, $62, $20, $E4 ; CPU:$CE6B PRG:4E6B F8 4C 2D C1 A5 DF 85 DE A9 01 85 61 85 62 20 E4 - .byte $EA, $20, $1F, $CD, $4C, $8B, $CE, $20, $F1, $C0, $20, $74, $D8, $20, $38, $D2 ; CPU:$CE7B PRG:4E7B EA 20 1F CD 4C 8B CE 20 F1 C0 20 74 D8 20 38 D2 - .byte $A5, $7F, $F0, $03, $20, $A1, $CE, $A6, $7B, $D0, $4A, $AD, $94, $04, $D0, $03 ; CPU:$CE8B PRG:4E8B A5 7F F0 03 20 A1 CE A6 7B D0 4A AD 94 04 D0 03 - .byte $20, $33, $D0, $4C, $82, $CE, $A9, $00, $85, $7F, $20, $9C, $D2, $A9, $01, $8D ; CPU:$CE9B PRG:4E9B 20 33 D0 4C 82 CE A9 00 85 7F 20 9C D2 A9 01 8D - .byte $83, $05, $8D, $84, $05, $8D, $85, $05, $A9, $00, $8D, $71, $04, $A2, $72, $A9 ; CPU:$CEAB PRG:4EAB 83 05 8D 84 05 8D 85 05 A9 00 8D 71 04 A2 72 A9 - .byte $F8, $20, $17, $C1, $20, $74, $D2, $20, $F1, $C0, $AD, $83, $05, $D0, $F8, $A2 ; CPU:$CEBB PRG:4EBB F8 20 17 C1 20 74 D2 20 F1 C0 AD 83 05 D0 F8 A2 - .byte $72, $A9, $F8, $20, $2D, $C1, $20, $93, $D2, $20, $33, $D0, $20, $FD, $CF, $A9 ; CPU:$CECB PRG:4ECB 72 A9 F8 20 2D C1 20 93 D2 20 33 D0 20 FD CF A9 - .byte $3C, $20, $2A, $D2, $60, $AD, $77, $04, $0D, $95, $04, $05, $54, $D0, $98, $A5 ; CPU:$CEDB PRG:4EDB 3C 20 2A D2 60 AD 77 04 0D 95 04 05 54 D0 98 A5 - .byte $7C, $C9, $02, $F0, $92, $A5, $79, $F0, $08, $C9, $04, $F0, $04, $C9, $07, $D0 ; CPU:$CEEB PRG:4EEB 7C C9 02 F0 92 A5 79 F0 08 C9 04 F0 04 C9 07 D0 - .byte $86, $A9, $3C, $20, $2A, $D2, $A6, $DE, $CA, $D0, $17, $AD, $87, $04, $F0, $06 ; CPU:$CEFB PRG:4EFB 86 A9 3C 20 2A D2 A6 DE CA D0 17 AD 87 04 F0 06 - .byte $20, $FD, $CF, $4C, $82, $CE, $20, $52, $CF, $20, $8A, $C2, $20, $A0, $C4, $4C ; CPU:$CF0B PRG:4F0B 20 FD CF 4C 82 CE 20 52 CF 20 8A C2 20 A0 C4 4C - .byte $02, $C0, $AD, $87, $04, $D0, $23, $20, $52, $CF, $AD, $87, $03, $F0, $EA, $20 ; CPU:$CF1B PRG:4F1B 02 C0 AD 87 04 D0 23 20 52 CF AD 87 03 F0 EA 20 - .byte $CD, $C3, $A5, $61, $49, $03, $85, $61, $A9, $FF, $8D, $9E, $04, $A5, $7F, $D0 ; CPU:$CF2B PRG:4F2B CD C3 A5 61 49 03 85 61 A9 FF 8D 9E 04 A5 7F D0 - .byte $D2, $20, $9C, $D2, $20, $0E, $D6, $4C, $0B, $CF, $A6, $7B, $CA, $CA, $F0, $C0 ; CPU:$CF3B PRG:4F3B D2 20 9C D2 20 0E D6 4C 0B CF A6 7B CA CA F0 C0 - .byte $AD, $87, $03, $F0, $BB, $D0, $D8, $20, $F1, $C0, $A2, $56, $A9, $F8, $20, $17 ; CPU:$CF4B PRG:4F4B AD 87 03 F0 BB D0 D8 20 F1 C0 A2 56 A9 F8 20 17 - .byte $C1, $20, $74, $D2, $A9, $B4, $20, $2A, $D2, $AD, $5C, $04, $8D, $71, $04, $20 ; CPU:$CF5B PRG:4F5B C1 20 74 D2 A9 B4 20 2A D2 AD 5C 04 8D 71 04 20 - .byte $A0, $C4, $20, $9C, $D2, $20, $8A, $C2, $A9, $05, $85, $06, $A9, $DE, $85, $00 ; CPU:$CF6B PRG:4F6B A0 C4 20 9C D2 20 8A C2 A9 05 85 06 A9 DE 85 00 - .byte $A9, $F8, $85, $01, $20, $91, $C1, $A9, $AF, $85, $04, $A9, $21, $85, $05, $A0 ; CPU:$CF7B PRG:4F7B A9 F8 85 01 20 91 C1 A9 AF 85 04 A9 21 85 05 A0 - .byte $07, $84, $03, $C8, $A2, $A0, $A9, $04, $20, $74, $C1, $A9, $0F, $85, $04, $A9 ; CPU:$CF8B PRG:4F8B 07 84 03 C8 A2 A0 A9 04 20 74 C1 A9 0F 85 04 A9 - .byte $22, $85, $05, $A0, $07, $84, $03, $C8, $A2, $A8, $A9, $04, $20, $74, $C1, $20 ; CPU:$CF9B PRG:4F9B 22 85 05 A0 07 84 03 C8 A2 A8 A9 04 20 74 C1 20 - .byte $45, $C3, $A5, $23, $85, $24, $A9, $28, $85, $23, $A9, $25, $85, $25, $A9, $72 ; CPU:$CFAB PRG:4FAB 45 C3 A5 23 85 24 A9 28 85 23 A9 25 85 25 A9 72 - .byte $85, $04, $A9, $22, $85, $05, $A9, $02, $85, $03, $A0, $06, $A2, $20, $A9, $00 ; CPU:$CFBB PRG:4FBB 85 04 A9 22 85 05 A9 02 85 03 A0 06 A2 20 A9 00 - .byte $20, $74, $C1, $20, $57, $C9, $20, $AD, $C2, $A9, $01, $8D, $96, $05, $8D, $97 ; CPU:$CFCB PRG:4FCB 20 74 C1 20 57 C9 20 AD C2 A9 01 8D 96 05 8D 97 - .byte $05, $8D, $98, $05, $20, $F1, $C0, $A5, $46, $05, $47, $D0, $05, $AD, $96, $05 ; CPU:$CFDB PRG:4FDB 05 8D 98 05 20 F1 C0 A5 46 05 47 D0 05 AD 96 05 - .byte $D0, $F2, $20, $E4, $EA, $20, $9C, $D2, $A2, $57, $A9, $F9, $20, $17, $C1, $4C ; CPU:$CFEB PRG:4FEB D0 F2 20 E4 EA 20 9C D2 A2 57 A9 F9 20 17 C1 4C - .byte $AD, $C2, $A2, $6A, $A9, $F8, $20, $17, $C1, $20, $74, $D2, $A9, $78, $20, $2A ; CPU:$CFFB PRG:4FFB AD C2 A2 6A A9 F8 20 17 C1 20 74 D2 A9 78 20 2A - .byte $D2, $A2, $6A, $A9, $F8, $20, $2D, $C1, $20, $93, $D2, $20, $8A, $CB, $A9, $00 ; CPU:$D00B PRG:500B D2 A2 6A A9 F8 20 2D C1 20 93 D2 20 8A CB A9 00 - .byte $8D, $00, $02, $A9, $60, $8D, $03, $02, $20, $D2, $E1, $AD, $5C, $04, $8D, $71 ; CPU:$D01B PRG:501B 8D 00 02 A9 60 8D 03 02 20 D2 E1 AD 5C 04 8D 71 - .byte $04, $A9, $00, $85, $7A, $85, $7B, $60, $AD, $77, $04, $D0, $0E, $A5, $79, $C9 ; CPU:$D02B PRG:502B 04 A9 00 85 7A 85 7B 60 AD 77 04 D0 0E A5 79 C9 - .byte $02, $90, $09, $C9, $07, $D0, $04, $A5, $7C, $30, $01, $60, $A9, $3C, $20, $2A ; CPU:$D03B PRG:503B 02 90 09 C9 07 D0 04 A5 7C 30 01 60 A9 3C 20 2A - .byte $D2, $20, $F1, $C0, $AE, $83, $04, $E8, $E8, $8A, $29, $03, $F0, $40, $20, $65 ; CPU:$D04B PRG:504B D2 20 F1 C0 AE 83 04 E8 E8 8A 29 03 F0 40 20 65 - .byte $CD, $A2, $62, $A9, $F8, $20, $17, $C1, $A9, $AD, $85, $04, $A9, $21, $85, $05 ; CPU:$D05B PRG:505B CD A2 62 A9 F8 20 17 C1 A9 AD 85 04 A9 21 85 05 - .byte $A0, $02, $84, $03, $C8, $A2, $80, $A9, $04, $20, $74, $C1, $A9, $FF, $85, $64 ; CPU:$D06B PRG:506B A0 02 84 03 C8 A2 80 A9 04 20 74 C1 A9 FF 85 64 - .byte $A9, $5A, $20, $2A, $D2, $A9, $01, $20, $2A, $D2, $A5, $64, $D0, $F7, $A0, $09 ; CPU:$D07B PRG:507B A9 5A 20 2A D2 A9 01 20 2A D2 A5 64 D0 F7 A0 09 - .byte $A2, $A7, $A9, $21, $20, $3E, $C1, $AD, $5C, $04, $8D, $71, $04, $60, $20, $95 ; CPU:$D08B PRG:508B A2 A7 A9 21 20 3E C1 AD 5C 04 8D 71 04 60 20 95 - .byte $CD, $A2, $7A, $A9, $F8, $20, $17, $C1, $20, $E4, $EA, $A9, $01, $8D, $87, $05 ; CPU:$D09B PRG:509B CD A2 7A A9 F8 20 17 C1 20 E4 EA A9 01 8D 87 05 - .byte $8D, $88, $05, $8D, $89, $05, $A9, $5A, $20, $2A, $D2, $A9, $FF, $85, $64, $A9 ; CPU:$D0AB PRG:50AB 8D 88 05 8D 89 05 A9 5A 20 2A D2 A9 FF 85 64 A9 - .byte $5A, $20, $2A, $D2, $20, $F1, $C0, $20, $38, $D2, $A5, $64, $D0, $F6, $A2, $7A ; CPU:$D0BB PRG:50BB 5A 20 2A D2 20 F1 C0 20 38 D2 A5 64 D0 F6 A2 7A - .byte $A9, $F8, $20, $2D, $C1, $20, $F1, $C0, $20, $74, $D8, $20, $38, $D2, $AD, $94 ; CPU:$D0CB PRG:50CB A9 F8 20 2D C1 20 F1 C0 20 74 D8 20 38 D2 AD 94 - .byte $04, $D0, $F2, $A9, $3C, $20, $2A, $D2, $A5, $C4, $C9, $28, $D0, $1A, $A9, $01 ; CPU:$D0DB PRG:50DB 04 D0 F2 A9 3C 20 2A D2 A5 C4 C9 28 D0 1A A9 01 - .byte $85, $C6, $A9, $50, $85, $C7, $A9, $01, $8D, $8A, $05, $8D, $8B, $05, $8D, $8C ; CPU:$D0EB PRG:50EB 85 C6 A9 50 85 C7 A9 01 8D 8A 05 8D 8B 05 8D 8C - .byte $05, $A2, $24, $A9, $F9, $4C, $17, $D1, $A9, $00, $85, $C6, $A9, $60, $85, $C7 ; CPU:$D0FB PRG:50FB 05 A2 24 A9 F9 4C 17 D1 A9 00 85 C6 A9 60 85 C7 - .byte $A9, $01, $8D, $83, $05, $8D, $86, $05, $A2, $35, $A9, $F9, $20, $17, $C1, $A2 ; CPU:$D10B PRG:510B A9 01 8D 83 05 8D 86 05 A2 35 A9 F9 20 17 C1 A2 - .byte $9A, $A9, $F8, $20, $17, $C1, $A5, $C7, $20, $2A, $D2, $A9, $72, $85, $04, $A9 ; CPU:$D11B PRG:511B 9A A9 F8 20 17 C1 A5 C7 20 2A D2 A9 72 85 04 A9 - .byte $21, $85, $05, $A0, $01, $84, $03, $C8, $A2, $C2, $A9, $00, $20, $74, $C1, $A5 ; CPU:$D12B PRG:512B 21 85 05 A0 01 84 03 C8 A2 C2 A9 00 20 74 C1 A5 - .byte $C6, $F0, $3D, $A9, $04, $48, $20, $63, $D1, $68, $38, $E9, $01, $B0, $F6, $A2 ; CPU:$D13B PRG:513B C6 F0 3D A9 04 48 20 63 D1 68 38 E9 01 B0 F6 A2 - .byte $B6, $A9, $F8, $20, $17, $C1, $A2, $01, $86, $C1, $CA, $86, $C2, $A9, $64, $85 ; CPU:$D14B PRG:514B B6 A9 F8 20 17 C1 A2 01 86 C1 CA 86 C2 A9 64 85 - .byte $C4, $A9, $78, $85, $C7, $4C, $8B, $D1, $A9, $0A, $20, $2A, $D2, $A2, $8E, $A9 ; CPU:$D15B PRG:515B C4 A9 78 85 C7 4C 8B D1 A9 0A 20 2A D2 A2 8E A9 - .byte $F8, $20, $2D, $C1, $A9, $0A, $20, $2A, $D2, $A2, $8E, $A9, $F8, $4C, $17, $C1 ; CPU:$D16B PRG:516B F8 20 2D C1 A9 0A 20 2A D2 A2 8E A9 F8 4C 17 C1 - .byte $A5, $C7, $20, $2A, $D2, $A2, $AE, $A9, $F8, $20, $17, $C1, $A9, $D8, $85, $C7 ; CPU:$D17B PRG:517B A5 C7 20 2A D2 A2 AE A9 F8 20 17 C1 A9 D8 85 C7 - .byte $20, $10, $D2, $A5, $C7, $20, $2A, $D2, $A5, $C4, $F0, $38, $A5, $C6, $49, $01 ; CPU:$D18B PRG:518B 20 10 D2 A5 C7 20 2A D2 A5 C4 F0 38 A5 C6 49 01 - .byte $8D, $A6, $05, $20, $F1, $C0, $20, $D2, $E1, $20, $20, $E0, $20, $5C, $D2, $A9 ; CPU:$D19B PRG:519B 8D A6 05 20 F1 C0 20 D2 E1 20 20 E0 20 5C D2 A9 - .byte $0A, $85, $00, $20, $AB, $C8, $20, $A5, $C9, $A9, $C1, $85, $00, $A9, $00, $85 ; CPU:$D1AB PRG:51AB 0A 85 00 20 AB C8 20 A5 C9 A9 C1 85 00 A9 00 85 - .byte $01, $A9, $03, $85, $02, $20, $B8, $C3, $20, $10, $D2, $C6, $C4, $D0, $D4, $A9 ; CPU:$D1BB PRG:51BB 01 A9 03 85 02 20 B8 C3 20 10 D2 C6 C4 D0 D4 A9 - .byte $26, $20, $70, $ED, $A0, $02, $A2, $EA, $A9, $21, $20, $3E, $C1, $A9, $B4, $20 ; CPU:$D1CB PRG:51CB 26 20 70 ED A0 02 A2 EA A9 21 20 3E C1 A9 B4 20 - .byte $2A, $D2, $A2, $8E, $A9, $F8, $20, $2D, $C1, $A2, $AB, $A9, $F8, $20, $2D, $C1 ; CPU:$D1DB PRG:51DB 2A D2 A2 8E A9 F8 20 2D C1 A2 AB A9 F8 20 2D C1 - .byte $A9, $01, $20, $2A, $D2, $A2, $B6, $A9, $F8, $20, $2D, $C1, $A2, $DB, $A9, $F8 ; CPU:$D1EB PRG:51EB A9 01 20 2A D2 A2 B6 A9 F8 20 2D C1 A2 DB A9 F8 - .byte $20, $2D, $C1, $A9, $01, $20, $2A, $D2, $A2, $46, $A9, $F9, $20, $17, $C1, $A9 ; CPU:$D1FB PRG:51FB 20 2D C1 A9 01 20 2A D2 A2 46 A9 F9 20 17 C1 A9 - .byte $3C, $20, $2A, $D2, $60, $A9, $E7, $85, $04, $A9, $21, $85, $05, $A0, $03, $84 ; CPU:$D20B PRG:520B 3C 20 2A D2 60 A9 E7 85 04 A9 21 85 05 A0 03 84 - .byte $03, $A2, $C1, $A9, $00, $20, $74, $C1, $A2, $D2, $A9, $F8, $4C, $17, $C1, $48 ; CPU:$D21B PRG:521B 03 A2 C1 A9 00 20 74 C1 A2 D2 A9 F8 4C 17 C1 48 - .byte $20, $F1, $C0, $20, $38, $D2, $68, $38, $E9, $01, $D0, $F3, $60, $20, $B3, $CA ; CPU:$D22B PRG:522B 20 F1 C0 20 38 D2 68 38 E9 01 D0 F3 60 20 B3 CA - .byte $20, $35, $DB, $20, $13, $E1, $20, $D2, $E1, $20, $20, $E0, $20, $C9, $D2, $20 ; CPU:$D23B PRG:523B 20 35 DB 20 13 E1 20 D2 E1 20 20 E0 20 C9 D2 20 - .byte $F5, $E4, $20, $B6, $E7, $20, $6F, $D5, $20, $39, $E9, $20, $AC, $C9, $20, $38 ; CPU:$D24B PRG:524B F5 E4 20 B6 E7 20 6F D5 20 39 E9 20 AC C9 20 38 - .byte $CC, $AD, $62, $00, $F0, $12, $AD, $00, $02, $30, $0D, $A5, $46, $29, $10, $F0 ; CPU:$D25B PRG:525B CC AD 62 00 F0 12 AD 00 02 30 0D A5 46 29 10 F0 - .byte $07, $A9, $01, $85, $5B, $8D, $80, $05, $60, $A6, $DE, $CA, $F0, $BE, $A2, $4C ; CPU:$D26B PRG:526B 07 A9 01 85 5B 8D 80 05 60 A6 DE CA F0 BE A2 4C - .byte $A9, $F8, $20, $17, $C1, $A9, $AF, $85, $04, $A9, $21, $85, $05, $A0, $01, $84 ; CPU:$D27B PRG:527B A9 F8 20 17 C1 A9 AF 85 04 A9 21 85 05 A0 01 84 - .byte $03, $A2, $61, $A9, $00, $4C, $74, $C1, $A2, $A8, $A9, $21, $A0, $08, $4C, $3E ; CPU:$D28B PRG:528B 03 A2 61 A9 00 4C 74 C1 A2 A8 A9 21 A0 08 4C 3E - .byte $C1, $20, $8A, $C2, $A9, $C0, $85, $50, $A2, $20, $20, $42, $C2, $20, $BC, $C2 ; CPU:$D29B PRG:529B C1 20 8A C2 A9 C0 85 50 A2 20 20 42 C2 20 BC C2 - .byte $20, $37, $C9, $20, $6B, $CB, $20, $A2, $CA, $A9, $F8, $85, $42, $A9, $E8, $85 ; CPU:$D2AB PRG:52AB 20 37 C9 20 6B CB 20 A2 CA A9 F8 85 42 A9 E8 85 - .byte $43, $A5, $40, $09, $02, $85, $40, $8D, $00, $20, $20, $AD, $C2, $60, $AD, $94 ; CPU:$D2BB PRG:52BB 43 A5 40 09 02 85 40 8D 00 20 20 AD C2 60 AD 94 - .byte $04, $F0, $05, $A5, $48, $6A, $90, $01, $60, $AD, $9F, $04, $C9, $0C, $B0, $42 ; CPU:$D2CB PRG:52CB 04 F0 05 A5 48 6A 90 01 60 AD 9F 04 C9 0C B0 42 - .byte $EE, $9E, $04, $AD, $9E, $04, $29, $0F, $8D, $9E, $04, $D0, $6E, $EE, $9F, $04 ; CPU:$D2DB PRG:52DB EE 9E 04 AD 9E 04 29 0F 8D 9E 04 D0 6E EE 9F 04 - .byte $AD, $9F, $04, $C9, $0C, $90, $02, $A9, $00, $8D, $9F, $04, $AD, $90, $04, $D0 ; CPU:$D2EB PRG:52EB AD 9F 04 C9 0C 90 02 A9 00 8D 9F 04 AD 90 04 D0 - .byte $09, $8D, $A4, $05, $8D, $A5, $05, $4C, $56, $D3, $A9, $01, $AE, $9F, $04, $E0 ; CPU:$D2FB PRG:52FB 09 8D A4 05 8D A5 05 4C 56 D3 A9 01 AE 9F 04 E0 - .byte $07, $F0, $09, $E0, $01, $D0, $08, $8D, $A4, $05, $F0, $03, $8D, $A5, $05, $4C ; CPU:$D30B PRG:530B 07 F0 09 E0 01 D0 08 8D A4 05 F0 03 8D A5 05 4C - .byte $56, $D3, $EE, $9E, $04, $AD, $9E, $04, $C9, $0C, $90, $2F, $A9, $00, $8D, $9E ; CPU:$D31B PRG:531B 56 D3 EE 9E 04 AD 9E 04 C9 0C 90 2F A9 00 8D 9E - .byte $04, $EE, $9F, $04, $AD, $9F, $04, $C9, $1C, $90, $02, $A9, $0C, $8D, $9F, $04 ; CPU:$D32B PRG:532B 04 EE 9F 04 AD 9F 04 C9 1C 90 02 A9 0C 8D 9F 04 - .byte $38, $E9, $01, $29, $07, $D0, $14, $AD, $64, $04, $C9, $02, $F0, $0D, $A9, $02 ; CPU:$D33B PRG:533B 38 E9 01 29 07 D0 14 AD 64 04 C9 02 F0 0D A9 02 - .byte $8D, $96, $04, $20, $6F, $D7, $A9, $01, $8D, $9F, $04, $AD, $9E, $04, $C9, $05 ; CPU:$D34B PRG:534B 8D 96 04 20 6F D7 A9 01 8D 9F 04 AD 9E 04 C9 05 - .byte $90, $01, $60, $0A, $0A, $0A, $0A, $85, $06, $69, $10, $0A, $0A, $85, $04, $A9 ; CPU:$D35B PRG:535B 90 01 60 0A 0A 0A 0A 85 06 69 10 0A 0A 85 04 A9 - .byte $20, $69, $00, $85, $05, $A9, $04, $85, $07, $A0, $0F, $AD, $9F, $04, $91, $06 ; CPU:$D36B PRG:536B 20 69 00 85 05 A9 04 85 07 A0 0F AD 9F 04 91 06 - .byte $A2, $17, $A9, $24, $95, $20, $CA, $10, $FB, $AD, $9E, $04, $F0, $03, $4C, $AF ; CPU:$D37B PRG:537B A2 17 A9 24 95 20 CA 10 FB AD 9E 04 F0 03 4C AF - .byte $D4, $AE, $9F, $04, $E0, $0C, $B0, $30, $A9, $48, $85, $04, $A9, $08, $85, $02 ; CPU:$D38B PRG:538B D4 AE 9F 04 E0 0C B0 30 A9 48 85 04 A9 08 85 02 - .byte $AD, $9F, $04, $6A, $A9, $70, $B0, $02, $A9, $74, $85, $0C, $A2, $00, $A0, $00 ; CPU:$D39B PRG:539B AD 9F 04 6A A9 70 B0 02 A9 74 85 0C A2 00 A0 00 - .byte $B9, $03, $04, $F0, $09, $A5, $0C, $95, $20, $18, $69, $02, $95, $21, $E8, $E8 ; CPU:$D3AB PRG:53AB B9 03 04 F0 09 A5 0C 95 20 18 69 02 95 21 E8 E8 - .byte $C8, $C0, $04, $90, $EB, $4C, $F8, $D4, $BD, $85, $FB, $AA, $BD, $A1, $FB, $29 ; CPU:$D3BB PRG:53BB C8 C0 04 90 EB 4C F8 D4 BD 85 FB AA BD A1 FB 29 - .byte $07, $18, $69, $44, $85, $04, $A9, $0B, $85, $02, $BD, $A1, $FB, $29, $F8, $85 ; CPU:$D3CB PRG:53CB 07 18 69 44 85 04 A9 0B 85 02 BD A1 FB 29 F8 85 - .byte $0C, $A9, $00, $85, $08, $85, $09, $A2, $03, $BD, $03, $04, $F0, $09, $6A, $90 ; CPU:$D3DB PRG:53DB 0C A9 00 85 08 85 09 A2 03 BD 03 04 F0 09 6A 90 - .byte $04, $E6, $08, $10, $02, $E6, $09, $CA, $10, $EF, $AE, $96, $04, $F0, $04, $A9 ; CPU:$D3EB PRG:53EB 04 E6 08 10 02 E6 09 CA 10 EF AE 96 04 F0 04 A9 - .byte $01, $10, $15, $A5, $08, $C9, $03, $90, $0D, $A2, $78, $A9, $FB, $20, $17, $C1 ; CPU:$D3FB PRG:53FB 01 10 15 A5 08 C9 03 90 0D A2 78 A9 FB 20 17 C1 - .byte $A9, $01, $8D, $96, $04, $2C, $A9, $02, $85, $0A, $A2, $03, $A9, $00, $9D, $97 ; CPU:$D40B PRG:540B A9 01 8D 96 04 2C A9 02 85 0A A2 03 A9 00 9D 97 - .byte $04, $CA, $10, $FA, $A5, $0C, $F0, $32, $A2, $02, $A0, $03, $B9, $00, $04, $F0 ; CPU:$D41B PRG:541B 04 CA 10 FA A5 0C F0 32 A2 02 A0 03 B9 00 04 F0 - .byte $1F, $C5, $0A, $D0, $0B, $A9, $70, $95, $20, $A9, $72, $95, $21, $4C, $4B, $D4 ; CPU:$D42B PRG:542B 1F C5 0A D0 0B A9 70 95 20 A9 72 95 21 4C 4B D4 - .byte $86, $0B, $A2, $FF, $E8, $BD, $97, $04, $D0, $FA, $98, $9D, $97, $04, $A6, $0B ; CPU:$D43B PRG:543B 86 0B A2 FF E8 BD 97 04 D0 FA 98 9D 97 04 A6 0B - .byte $E8, $E8, $C8, $C0, $07, $D0, $D5, $4C, $F8, $D4, $A9, $00, $85, $0C, $A2, $01 ; CPU:$D44B PRG:544B E8 E8 C8 C0 07 D0 D5 4C F8 D4 A9 00 85 0C A2 01 - .byte $A0, $03, $B9, $00, $04, $F0, $2A, $C5, $0A, $D0, $16, $A5, $0C, $C5, $0A, $D0 ; CPU:$D45B PRG:545B A0 03 B9 00 04 F0 2A C5 0A D0 16 A5 0C C5 0A D0 - .byte $05, $A9, $7E, $4C, $73, $D4, $A9, $7C, $95, $20, $A9, $78, $95, $21, $4C, $96 ; CPU:$D46B PRG:546B 05 A9 7E 4C 73 D4 A9 7C 95 20 A9 78 95 21 4C 96 - .byte $D4, $86, $0B, $A2, $FF, $E8, $BD, $97, $04, $D0, $FA, $98, $9D, $97, $04, $A6 ; CPU:$D47B PRG:547B D4 86 0B A2 FF E8 BD 97 04 D0 FA 98 9D 97 04 A6 - .byte $0B, $A5, $0C, $C5, $0A, $D0, $04, $A9, $7A, $95, $20, $B9, $00, $04, $85, $0C ; CPU:$D48B PRG:548B 0B A5 0C C5 0A D0 04 A9 7A 95 20 B9 00 04 85 0C - .byte $E8, $E8, $C8, $C0, $07, $D0, $BB, $A5, $0C, $C5, $0A, $D0, $04, $A9, $7A, $95 ; CPU:$D49B PRG:549B E8 E8 C8 C0 07 D0 BB A5 0C C5 0A D0 04 A9 7A 95 - .byte $20, $4C, $F8, $D4, $A9, $18, $85, $02, $AE, $9F, $04, $A0, $80, $AD, $9E, $04 ; CPU:$D4AB PRG:54AB 20 4C F8 D4 A9 18 85 02 AE 9F 04 A0 80 AD 9E 04 - .byte $C9, $03, $90, $02, $A0, $9C, $BD, $85, $FB, $84, $0C, $18, $69, $A1, $85, $08 ; CPU:$D4BB PRG:54BB C9 03 90 02 A0 9C BD 85 FB 84 0C 18 69 A1 85 08 - .byte $A9, $FB, $69, $00, $85, $09, $A0, $00, $84, $0A, $B1, $06, $F0, $16, $B1, $08 ; CPU:$D4CB PRG:54CB A9 FB 69 00 85 09 A0 00 84 0A B1 06 F0 16 B1 08 - .byte $29, $07, $18, $65, $0A, $AA, $B1, $08, $29, $F8, $4A, $65, $0C, $95, $20, $69 ; CPU:$D4DB PRG:54DB 29 07 18 65 0A AA B1 08 29 F8 4A 65 0C 95 20 69 - .byte $02, $E8, $95, $20, $E6, $0A, $E6, $0A, $C8, $C0, $0A, $90, $DD, $20, $56, $C1 ; CPU:$D4EB PRG:54EB 02 E8 95 20 E6 0A E6 0A C8 C0 0A 90 DD 20 56 C1 - .byte $A6, $02, $CA, $18, $A9, $20, $65, $04, $85, $04, $90, $02, $E6, $05, $B4, $20 ; CPU:$D4FB PRG:54FB A6 02 CA 18 A9 20 65 04 85 04 90 02 E6 05 B4 20 - .byte $C0, $24, $F0, $03, $C8, $94, $20, $CA, $10, $F4, $4C, $56, $C1, $AA, $09, $80 ; CPU:$D50B PRG:550B C0 24 F0 03 C8 94 20 CA 10 F4 4C 56 C1 AA 09 80 - .byte $85, $1E, $A9, $00, $9D, $00, $04, $8A, $A2, $00, $C9, $10, $90, $06, $E8, $C9 ; CPU:$D51B PRG:551B 85 1E A9 00 9D 00 04 8A A2 00 C9 10 90 06 E8 C9 - .byte $30, $90, $01, $E8, $DE, $91, $04, $CE, $90, $04, $4C, $61, $D5, $85, $1E, $A0 ; CPU:$D52B PRG:552B 30 90 01 E8 DE 91 04 CE 90 04 4C 61 D5 85 1E A0 - .byte $01, $C9, $10, $B0, $09, $C9, $08, $90, $05, $E9, $08, $85, $1E, $C8, $AA, $98 ; CPU:$D53B PRG:553B 01 C9 10 B0 09 C9 08 90 05 E9 08 85 1E C8 AA 98 - .byte $9D, $00, $04, $8A, $A2, $00, $C9, $10, $90, $06, $E8, $C9, $30, $90, $01, $E8 ; CPU:$D54B PRG:554B 9D 00 04 8A A2 00 C9 10 90 06 E8 C9 30 90 01 E8 - .byte $FE, $91, $04, $EE, $90, $04, $A5, $1E, $A6, $69, $9D, $D0, $03, $E8, $8A, $29 ; CPU:$D55B PRG:555B FE 91 04 EE 90 04 A5 1E A6 69 9D D0 03 E8 8A 29 - .byte $07, $85, $69, $60, $A9, $02, $85, $02, $85, $0E, $A6, $68, $E4, $69, $F0, $F3 ; CPU:$D56B PRG:556B 07 85 69 60 A9 02 85 02 85 0E A6 68 E4 69 F0 F3 - .byte $BD, $D0, $03, $85, $06, $F0, $75, $29, $7F, $85, $07, $C9, $10, $B0, $03, $4C ; CPU:$D57B PRG:557B BD D0 03 85 06 F0 75 29 7F 85 07 C9 10 B0 03 4C - .byte $03, $D7, $0A, $85, $08, $29, $E0, $69, $20, $0A, $85, $04, $A9, $20, $69, $00 ; CPU:$D58B PRG:558B 03 D7 0A 85 08 29 E0 69 20 0A 85 04 A9 20 69 00 - .byte $85, $05, $A5, $08, $29, $1F, $18, $65, $04, $85, $04, $A5, $06, $29, $70, $09 ; CPU:$D59B PRG:559B 85 05 A5 08 29 1F 18 65 04 85 04 A5 06 29 70 09 - .byte $0F, $A8, $B9, $00, $04, $A8, $A6, $07, $E0, $30, $B0, $05, $A9, $80, $4C, $BE ; CPU:$D5AB PRG:55AB 0F A8 B9 00 04 A8 A6 07 E0 30 B0 05 A9 80 4C BE - .byte $D5, $A9, $9C, $85, $0C, $B9, $85, $FB, $85, $08, $A5, $06, $29, $0F, $18, $65 ; CPU:$D5BB PRG:55BB D5 A9 9C 85 0C B9 85 FB 85 08 A5 06 29 0F 18 65 - .byte $08, $A8, $B9, $A1, $FB, $85, $0D, $29, $07, $18, $65, $04, $85, $04, $A5, $06 ; CPU:$D5CB PRG:55CB 08 A8 B9 A1 FB 85 0D 29 07 18 65 04 85 04 A5 06 - .byte $30, $11, $A5, $0D, $29, $F8, $4A, $65, $0C, $85, $20, $18, $69, $02, $85, $21 ; CPU:$D5DB PRG:55DB 30 11 A5 0D 29 F8 4A 65 0C 85 20 18 69 02 85 21 - .byte $4C, $36, $D7, $A9, $24, $85, $20, $85, $21, $4C, $36, $D7, $20, $FD, $D5, $4C ; CPU:$D5EB PRG:55EB 4C 36 D7 A9 24 85 20 85 21 4C 36 D7 20 FD D5 4C - .byte $39, $D7, $A9, $C2, $85, $04, $A9, $23, $85, $05, $A0, $02, $A2, $8A, $A9, $04 ; CPU:$D5FB PRG:55FB 39 D7 A9 C2 85 04 A9 23 85 05 A0 02 A2 8A A9 04 - .byte $4C, $5C, $C1, $AE, $96, $04, $F0, $0A, $CA, $D0, $E7, $A2, $78, $A9, $FB, $4C ; CPU:$D60B PRG:560B 4C 5C C1 AE 96 04 F0 0A CA D0 E7 A2 78 A9 FB 4C - .byte $17, $C1, $A2, $6F, $A9, $FB, $4C, $17, $C1, $A9, $00, $9D, $97, $04, $4C, $39 ; CPU:$D61B PRG:561B 17 C1 A2 6F A9 FB 4C 17 C1 A9 00 9D 97 04 4C 39 - .byte $D7, $A2, $03, $BD, $97, $04, $C5, $07, $F0, $EF, $CA, $10, $F6, $AE, $0F, $04 ; CPU:$D62B PRG:562B D7 A2 03 BD 97 04 C5 07 F0 EF CA 10 F6 AE 0F 04 - .byte $BD, $85, $FB, $AA, $BD, $A1, $FB, $29, $07, $85, $04, $A5, $07, $0A, $65, $04 ; CPU:$D63B PRG:563B BD 85 FB AA BD A1 FB 29 07 85 04 A5 07 0A 65 04 - .byte $18, $69, $40, $85, $04, $AD, $0F, $04, $6A, $B0, $09, $A9, $24, $85, $20, $85 ; CPU:$D64B PRG:564B 18 69 40 85 04 AD 0F 04 6A B0 09 A9 24 85 20 85 - .byte $21, $4C, $36, $D7, $C6, $04, $A6, $07, $BD, $FF, $03, $A0, $24, $C5, $08, $D0 ; CPU:$D65B PRG:565B 21 4C 36 D7 C6 04 A6 07 BD FF 03 A0 24 C5 08 D0 - .byte $02, $A0, $7A, $84, $20, $A9, $24, $85, $21, $BD, $01, $04, $A0, $24, $C5, $08 ; CPU:$D66B PRG:566B 02 A0 7A 84 20 A9 24 85 21 BD 01 04 A0 24 C5 08 - .byte $D0, $02, $A0, $7C, $84, $22, $4C, $E9, $D6, $A9, $20, $85, $05, $AE, $96, $04 ; CPU:$D67B PRG:567B D0 02 A0 7C 84 22 4C E9 D6 A9 20 85 05 AE 96 04 - .byte $E8, $8A, $49, $03, $85, $08, $A5, $06, $30, $97, $A6, $07, $BD, $00, $04, $C5 ; CPU:$D68B PRG:568B E8 8A 49 03 85 08 A5 06 30 97 A6 07 BD 00 04 C5 - .byte $08, $D0, $55, $AE, $0F, $04, $BD, $85, $FB, $AA, $BD, $A1, $FB, $29, $07, $85 ; CPU:$D69B PRG:569B 08 D0 55 AE 0F 04 BD 85 FB AA BD A1 FB 29 07 85 - .byte $04, $A5, $07, $0A, $65, $04, $18, $69, $40, $85, $04, $AD, $0F, $04, $6A, $B0 ; CPU:$D6AB PRG:56AB 04 A5 07 0A 65 04 18 69 40 85 04 AD 0F 04 6A B0 - .byte $0B, $A9, $70, $85, $20, $A9, $72, $85, $21, $4C, $36, $D7, $C6, $04, $A6, $07 ; CPU:$D6BB PRG:56BB 0B A9 70 85 20 A9 72 85 21 4C 36 D7 C6 04 A6 07 - .byte $BD, $FF, $03, $A0, $7C, $C5, $08, $D0, $02, $A0, $7E, $84, $20, $A9, $78, $85 ; CPU:$D6CB PRG:56CB BD FF 03 A0 7C C5 08 D0 02 A0 7E 84 20 A9 78 85 - .byte $21, $BD, $01, $04, $A0, $7A, $C5, $08, $D0, $02, $A0, $7E, $84, $22, $E6, $02 ; CPU:$D6DB PRG:56DB 21 BD 01 04 A0 7A C5 08 D0 02 A0 7E 84 22 E6 02 - .byte $20, $F8, $D4, $C6, $02, $4C, $39, $D7, $A2, $04, $CA, $BD, $97, $04, $D0, $FA ; CPU:$D6EB PRG:56EB 20 F8 D4 C6 02 4C 39 D7 A2 04 CA BD 97 04 D0 FA - .byte $A5, $07, $9D, $97, $04, $4C, $39, $D7, $AE, $0F, $04, $E0, $0C, $90, $03, $4C ; CPU:$D6FB PRG:56FB A5 07 9D 97 04 4C 39 D7 AE 0F 04 E0 0C 90 03 4C - .byte $84, $D6, $AA, $0A, $69, $42, $85, $04, $A9, $20, $69, $00, $85, $05, $A5, $06 ; CPU:$D70B PRG:570B 84 D6 AA 0A 69 42 85 04 A9 20 69 00 85 05 A5 06 - .byte $10, $09, $A9, $24, $85, $20, $85, $21, $4C, $36, $D7, $AD, $0F, $04, $6A, $A2 ; CPU:$D71B PRG:571B 10 09 A9 24 85 20 85 21 4C 36 D7 AD 0F 04 6A A2 - .byte $70, $B0, $02, $A2, $74, $86, $20, $E8, $E8, $86, $21, $20, $F8, $D4, $A6, $68 ; CPU:$D72B PRG:572B 70 B0 02 A2 74 86 20 E8 E8 86 21 20 F8 D4 A6 68 - .byte $E8, $8A, $29, $07, $85, $68, $C6, $0E, $F0, $03, $4C, $75, $D5, $60, $85, $1F ; CPU:$D73B PRG:573B E8 8A 29 07 85 68 C6 0E F0 03 4C 75 D5 60 85 1F - .byte $38, $E9, $03, $90, $F8, $6A, $A2, $CF, $90, $02, $A2, $3F, $86, $1E, $6A, $A2 ; CPU:$D74B PRG:574B 38 E9 03 90 F8 6A A2 CF 90 02 A2 3F 86 1E 6A A2 - .byte $00, $90, $01, $E8, $BD, $8A, $04, $25, $1E, $9D, $8A, $04, $AD, $0F, $04, $C9 ; CPU:$D75B PRG:575B 00 90 01 E8 BD 8A 04 25 1E 9D 8A 04 AD 0F 04 C9 - .byte $0C, $90, $01, $60, $A9, $00, $85, $1E, $4C, $61, $D5 ; CPU:$D76B PRG:576B 0C 90 01 60 A9 00 85 1E 4C 61 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C8AB +; Global: Branch target inside Sub: taken when C8AB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C8AB: + ldx Zp62 ; CPU:$C8AB PRG:48AB A6 62 + bne NmiHandler_Loop63 ; CPU:$C8AD PRG:48AD D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero18: + rts ; CPU:$C8AF PRG:48AF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + lda StarFieldPtrLo ; CPU:$C8B0 PRG:48B0 A5 00 + asl a ; CPU:$C8B2 PRG:48B2 0A + asl a ; CPU:$C8B3 PRG:48B3 0A + adc StarFieldPtrLo ; CPU:$C8B4 PRG:48B4 65 00 + adc #$04 ; CPU:$C8B6 PRG:48B6 69 04 + tay ; CPU:$C8B8 PRG:48B8 A8 + ldx Zp61 ; CPU:$C8B9 PRG:48B9 A6 61 + dex ; CPU:$C8BB PRG:48BB CA + bne NmiHandler_Loop64 ; CPU:$C8BC PRG:48BC D0 04 + ldx #$E0 ; CPU:$C8BE PRG:48BE A2 E0 + bmi NmiHandler_Loop65 ; CPU:$C8C0 PRG:48C0 30 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: + ldx #$E8 ; CPU:$C8C2 PRG:48C2 A2 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop65: + stx Zp02 ; CPU:$C8C4 PRG:48C4 86 02 + clc ; CPU:$C8C6 PRG:48C6 18 + lda #$05 ; CPU:$C8C7 PRG:48C7 A9 05 + sta StarFieldPtrHi ; CPU:$C8C9 PRG:48C9 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero19: + lda $FA88,y ; CPU:$C8CB PRG:48CB B9 88 FA + dey ; CPU:$C8CE PRG:48CE 88 + adc PpuAddrHigh,x ; CPU:$C8CF PRG:48CF 75 05 + cmp #$0A ; CPU:$C8D1 PRG:48D1 C9 0A + bcc NmiHandler_Loop66 ; CPU:$C8D3 PRG:48D3 90 02 + sbc #$0A ; CPU:$C8D5 PRG:48D5 E9 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop66: + sta PpuAddrHigh,x ; CPU:$C8D7 PRG:48D7 95 05 + dex ; CPU:$C8D9 PRG:48D9 CA + dec StarFieldPtrHi ; CPU:$C8DA PRG:48DA C6 01 + bne NmiHandler_OnNonzero19 ; CPU:$C8DC PRG:48DC D0 ED + lda PpuAddrHigh,x ; CPU:$C8DE PRG:48DE B5 05 + adc #$00 ; CPU:$C8E0 PRG:48E0 69 00 + sta PpuAddrHigh,x ; CPU:$C8E2 PRG:48E2 95 05 + inc Zp63 ; CPU:$C8E4 PRG:48E4 E6 63 + ldx Zp02 ; CPU:$C8E6 PRG:48E6 A6 02 + ldy #$00 ; CPU:$C8E8 PRG:48E8 A0 00 + lda #$06 ; CPU:$C8EA PRG:48EA A9 06 + sta StarFieldPtrHi ; CPU:$C8EC PRG:48EC 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero20: + lda StarFieldPtrLo,x ; CPU:$C8EE PRG:48EE B5 00 + cmp a:$00F8,y ; CPU:$C8F0 PRG:48F0 D9 F8 00 + bcc NmiHandler_Loop67 ; CPU:$C8F3 PRG:48F3 90 08 + bne NmiHandler_Loop68 ; CPU:$C8F5 PRG:48F5 D0 0B + iny ; CPU:$C8F7 PRG:48F7 C8 + inx ; CPU:$C8F8 PRG:48F8 E8 + dec StarFieldPtrHi ; CPU:$C8F9 PRG:48F9 C6 01 + bne NmiHandler_OnNonzero20 ; CPU:$C8FB PRG:48FB D0 F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop67: + jmp Sub_C90B ; CPU:$C8FD PRG:48FD 4C 0B C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero21: + lda StarFieldPtrLo,x ; CPU:$C900 PRG:4900 B5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop68: + sta a:$00F8,y ; CPU:$C902 PRG:4902 99 F8 00 + iny ; CPU:$C905 PRG:4905 C8 + inx ; CPU:$C906 PRG:4906 E8 + dec StarFieldPtrHi ; CPU:$C907 PRG:4907 C6 01 + bne NmiHandler_OnNonzero21 ; CPU:$C909 PRG:4909 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C90B +; Global: Branch target inside Sub: taken when C90B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C90B: + ldx Zp02 ; CPU:$C90B PRG:490B A6 02 + lda Zp02,x ; CPU:$C90D PRG:490D B5 02 + cmp $0488 ; CPU:$C90F PRG:490F CD 88 04 + bne NmiHandler_OnNonzero18 ; CPU:$C912 PRG:4912 D0 9B + ldx $0489 ; CPU:$C914 PRG:4914 AE 89 04 + bne NmiHandler_Loop69 ; CPU:$C917 PRG:4917 D0 07 + inc $0489 ; CPU:$C919 PRG:4919 EE 89 04 + lda #$07 ; CPU:$C91C PRG:491C A9 07 + bpl NmiHandler_Loop70 ; CPU:$C91E PRG:491E 10 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + clc ; CPU:$C920 PRG:4920 18 + adc #$07 ; CPU:$C921 PRG:4921 69 07 + cmp #$0A ; CPU:$C923 PRG:4923 C9 0A + bcc NmiHandler_Loop70 ; CPU:$C925 PRG:4925 90 02 + sbc #$0A ; CPU:$C927 PRG:4927 E9 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + sta $0488 ; CPU:$C929 PRG:4929 8D 88 04 + lda #$01 ; CPU:$C92C PRG:492C A9 01 + sta $0581 ; CPU:$C92E PRG:492E 8D 81 05 + sta $0582 ; CPU:$C931 PRG:4931 8D 82 05 + jmp Sub_CBA8 ; CPU:$C934 PRG:4934 4C A8 CB +; ----------------------------------------------------------------------------- +; Routine: Sub_C937 +; Global: Branch target inside Sub: taken when C937. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C937: + lda #$E5 ; CPU:$C937 PRG:4937 A9 E5 + sta StarFieldPtrLo ; CPU:$C939 PRG:4939 85 00 + lda #$FA ; CPU:$C93B PRG:493B A9 FA + sta StarFieldPtrHi ; CPU:$C93D PRG:493D 85 01 + lda #$02 ; CPU:$C93F PRG:493F A9 02 + sta StarFieldCount ; CPU:$C941 PRG:4941 85 06 + jsr Sub_C191 ; CPU:$C943 PRG:4943 20 91 C1 + jsr Sub_C957 ; CPU:$C946 PRG:4946 20 57 C9 + jsr NmiHandler_Loop80 ; CPU:$C949 PRG:4949 20 1D CA + jsr NmiHandler_Loop78 ; CPU:$C94C PRG:494C 20 01 CA + ldx ZpDE ; CPU:$C94F PRG:494F A6 DE + dex ; CPU:$C951 PRG:4951 CA + beq NmiHandler_Loop75 ; CPU:$C952 PRG:4952 F0 6E + jmp NmiHandler_Loop79 ; CPU:$C954 PRG:4954 4C 0F CA +; ----------------------------------------------------------------------------- +; Routine: Sub_C957 +; Global: Branch target inside Sub: taken when C957. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C957: + lda #$02 ; CPU:$C957 PRG:4957 A9 02 + ldx ZpDE ; CPU:$C959 PRG:4959 A6 DE + dex ; CPU:$C95B PRG:495B CA + bne NmiHandler_Loop71 ; CPU:$C95C PRG:495C D0 02 + lda #$01 ; CPU:$C95E PRG:495E A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + sta StarFieldCount ; CPU:$C960 PRG:4960 85 06 + lda #$F4 ; CPU:$C962 PRG:4962 A9 F4 + sta StarFieldPtrLo ; CPU:$C964 PRG:4964 85 00 + lda #$FA ; CPU:$C966 PRG:4966 A9 FA + sta StarFieldPtrHi ; CPU:$C968 PRG:4968 85 01 + jmp Sub_C191 ; CPU:$C96A PRG:496A 4C 91 C1 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear2 ; Global: Branch target inside NmiHandler: taken when OnCarryClear2. @@ -3182,21 +3977,3694 @@ NmiHandler_Loop45: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarryClear2: - ldx Zp1F ; CPU:$D776 PRG:5776 A6 1F - cpx #$0C ; CPU:$D778 PRG:5778 E0 0C - bcs NmiHandler_Loop46 ; CPU:$D77A PRG:577A B0 05 - tax ; CPU:$D77C PRG:577C AA - lda $FB7E,x ; CPU:$D77D PRG:577D BD 7E FB - rts ; CPU:$D780 PRG:5780 60 + and #$03 ; CPU:$C96D PRG:496D 29 03 + bne NmiHandler_Loop75 ; CPU:$C96F PRG:496F D0 51 + ldx ZpDE ; CPU:$C971 PRG:4971 A6 DE + dex ; CPU:$C973 PRG:4973 CA + beq NmiHandler_Loop73 ; CPU:$C974 PRG:4974 F0 1D + dex ; CPU:$C976 PRG:4976 CA + bne NmiHandler_Loop75 ; CPU:$C977 PRG:4977 D0 49 + ldx Zp61 ; CPU:$C979 PRG:4979 A6 61 + dex ; CPU:$C97B PRG:497B CA + beq NmiHandler_Loop72 ; CPU:$C97C PRG:497C F0 0E + ldx #$F4 ; CPU:$C97E PRG:497E A2 F4 + lda #$FA ; CPU:$C980 PRG:4980 A9 FA + jsr Sub_C117 ; CPU:$C982 PRG:4982 20 17 C1 + ldx #$FA ; CPU:$C985 PRG:4985 A2 FA + ldy #$FA ; CPU:$C987 PRG:4987 A0 FA + jmp Sub_C997 ; CPU:$C989 PRG:4989 4C 97 C9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop72: + ldx #$FA ; CPU:$C98C PRG:498C A2 FA + lda #$FA ; CPU:$C98E PRG:498E A9 FA + jsr Sub_C117 ; CPU:$C990 PRG:4990 20 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + ldx #$F4 ; CPU:$C993 PRG:4993 A2 F4 + ldy #$FA ; CPU:$C995 PRG:4995 A0 FA +; ----------------------------------------------------------------------------- +; Routine: Sub_C997 +; Global: Branch target inside Sub: taken when C997. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C997: + lda Zp48 ; CPU:$C997 PRG:4997 A5 48 + and #$10 ; CPU:$C999 PRG:4999 29 10 + beq NmiHandler_Loop74 ; CPU:$C99B PRG:499B F0 04 + tya ; CPU:$C99D PRG:499D 98 + jmp Sub_C117 ; CPU:$C99E PRG:499E 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + tya ; CPU:$C9A1 PRG:49A1 98 + jmp Sub_C12D ; CPU:$C9A2 PRG:49A2 4C 2D C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9A5 +; Global: Branch target inside Sub: taken when C9A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9A5: + lda Zp48 ; CPU:$C9A5 PRG:49A5 A5 48 + ror a ; CPU:$C9A7 PRG:49A7 6A + bcc NmiHandler_Loop80 ; CPU:$C9A8 PRG:49A8 90 73 + bcs NmiHandler_Loop76 ; CPU:$C9AA PRG:49AA B0 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9AC +; Global: Branch target inside Sub: taken when C9AC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9AC: + lda Zp62 ; CPU:$C9AC PRG:49AC A5 62 + beq NmiHandler_Loop75 ; CPU:$C9AE PRG:49AE F0 12 + lda Zp48 ; CPU:$C9B0 PRG:49B0 A5 48 + ror a ; CPU:$C9B2 PRG:49B2 6A + bcc NmiHandler_Loop75 ; CPU:$C9B3 PRG:49B3 90 0D + ror a ; CPU:$C9B5 PRG:49B5 6A + bcc NmiHandler_OnCarryClear2 ; CPU:$C9B6 PRG:49B6 90 B5 + lda Zp48 ; CPU:$C9B8 PRG:49B8 A5 48 + and #$04 ; CPU:$C9BA PRG:49BA 29 04 + bne NmiHandler_Loop80 ; CPU:$C9BC PRG:49BC D0 5F + ldy Zp63 ; CPU:$C9BE PRG:49BE A4 63 + bne NmiHandler_Loop76 ; CPU:$C9C0 PRG:49C0 D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + rts ; CPU:$C9C2 PRG:49C2 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + lda #$00 ; CPU:$C9C3 PRG:49C3 A9 00 + sta Zp63 ; CPU:$C9C5 PRG:49C5 85 63 + ldx Zp61 ; CPU:$C9C7 PRG:49C7 A6 61 + dex ; CPU:$C9C9 PRG:49C9 CA + beq NmiHandler_Loop78 ; CPU:$C9CA PRG:49CA F0 35 + bne NmiHandler_Loop79 ; CPU:$C9CC PRG:49CC D0 41 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9CE +; Global: Branch target inside Sub: taken when C9CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9CE: + lda #$CE ; CPU:$C9CE PRG:49CE A9 CE + sta StarFieldPtrLo ; CPU:$C9D0 PRG:49D0 85 00 + lda #$FA ; CPU:$C9D2 PRG:49D2 A9 FA + sta StarFieldPtrHi ; CPU:$C9D4 PRG:49D4 85 01 + ldy #$03 ; CPU:$C9D6 PRG:49D6 A0 03 + ldx ZpDE ; CPU:$C9D8 PRG:49D8 A6 DE + dex ; CPU:$C9DA PRG:49DA CA + bne NmiHandler_Loop77 ; CPU:$C9DB PRG:49DB D0 01 + dey ; CPU:$C9DD PRG:49DD 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + sty StarFieldCount ; CPU:$C9DE PRG:49DE 84 06 + jsr Sub_C191 ; CPU:$C9E0 PRG:49E0 20 91 C1 + lda #$28 ; CPU:$C9E3 PRG:49E3 A9 28 + sta PpuAddrHigh ; CPU:$C9E5 PRG:49E5 85 05 + lda #$4B ; CPU:$C9E7 PRG:49E7 A9 4B + sta PpuAddrLow ; CPU:$C9E9 PRG:49E9 85 04 + jsr Sub_CA25 ; CPU:$C9EB PRG:49EB 20 25 CA + lda #$42 ; CPU:$C9EE PRG:49EE A9 42 + sta PpuAddrLow ; CPU:$C9F0 PRG:49F0 85 04 + jsr Sub_CA09 ; CPU:$C9F2 PRG:49F2 20 09 CA + ldx ZpDE ; CPU:$C9F5 PRG:49F5 A6 DE + dex ; CPU:$C9F7 PRG:49F7 CA + beq NmiHandler_Loop75 ; CPU:$C9F8 PRG:49F8 F0 C8 + lda #$54 ; CPU:$C9FA PRG:49FA A9 54 + sta PpuAddrLow ; CPU:$C9FC PRG:49FC 85 04 + jmp Sub_CA17 ; CPU:$C9FE PRG:49FE 4C 17 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + lda #$18 ; CPU:$CA01 PRG:4A01 A9 18 + sta PpuAddrLow ; CPU:$CA03 PRG:4A03 85 04 + lda #$21 ; CPU:$CA05 PRG:4A05 A9 21 + sta PpuAddrHigh ; CPU:$CA07 PRG:4A07 85 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA09 +; Global: Branch target inside Sub: taken when CA09. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA09: + lda #$E0 ; CPU:$CA09 PRG:4A09 A9 E0 + sta StarFieldPtrLo ; CPU:$CA0B PRG:4A0B 85 00 + bmi NmiHandler_Loop81 ; CPU:$CA0D PRG:4A0D 30 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + lda #$98 ; CPU:$CA0F PRG:4A0F A9 98 + sta PpuAddrLow ; CPU:$CA11 PRG:4A11 85 04 + lda #$21 ; CPU:$CA13 PRG:4A13 A9 21 + sta PpuAddrHigh ; CPU:$CA15 PRG:4A15 85 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA17 +; Global: Branch target inside Sub: taken when CA17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA17: + lda #$E8 ; CPU:$CA17 PRG:4A17 A9 E8 + sta StarFieldPtrLo ; CPU:$CA19 PRG:4A19 85 00 + bmi NmiHandler_Loop81 ; CPU:$CA1B PRG:4A1B 30 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + lda #$98 ; CPU:$CA1D PRG:4A1D A9 98 + sta PpuAddrLow ; CPU:$CA1F PRG:4A1F 85 04 + lda #$20 ; CPU:$CA21 PRG:4A21 A9 20 + sta PpuAddrHigh ; CPU:$CA23 PRG:4A23 85 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA25 +; Global: Branch target inside Sub: taken when CA25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA25: + lda #$F8 ; CPU:$CA25 PRG:4A25 A9 F8 + sta StarFieldPtrLo ; CPU:$CA27 PRG:4A27 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + lda #$00 ; CPU:$CA29 PRG:4A29 A9 00 + sta StarFieldPtrHi ; CPU:$CA2B PRG:4A2B 85 01 + lda #$06 ; CPU:$CA2D PRG:4A2D A9 06 + sta Zp02 ; CPU:$CA2F PRG:4A2F 85 02 + ldy #$00 ; CPU:$CA31 PRG:4A31 A0 00 + lda (StarFieldPtrLo),y ; CPU:$CA33 PRG:4A33 B1 00 + .byte $D0, $03 ; CPU:$CA35 PRG:4A35 D0 03 + lda #$04 ; CPU:$CA37 PRG:4A37 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Label_CA39 +; Global: Branch target inside Label: taken when CA39. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CA39: + bit a:$00A9 ; CPU:$CA39 PRG:4A39 2C A9 00 + sta Zp03 ; CPU:$CA3C PRG:4A3C 85 03 + inc StarFieldPtrLo ; CPU:$CA3E PRG:4A3E E6 00 + jsr Sub_C177 ; CPU:$CA40 PRG:4A40 20 77 C1 + ldy #$00 ; CPU:$CA43 PRG:4A43 A0 00 + dec StarFieldPtrLo ; CPU:$CA45 PRG:4A45 C6 00 + lda (StarFieldPtrLo),y ; CPU:$CA47 PRG:4A47 B1 00 + bne NmiHandler_Loop83 ; CPU:$CA49 PRG:4A49 D0 01 + rts ; CPU:$CA4B PRG:4A4B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + pha ; CPU:$CA4C PRG:4A4C 48 + lda #$06 ; CPU:$CA4D PRG:4A4D A9 06 + sta Zp02 ; CPU:$CA4F PRG:4A4F 85 02 + clc ; CPU:$CA51 PRG:4A51 18 + lda #$20 ; CPU:$CA52 PRG:4A52 A9 20 + adc PpuAddrLow ; CPU:$CA54 PRG:4A54 65 04 + sta PpuAddrLow ; CPU:$CA56 PRG:4A56 85 04 + bcc NmiHandler_Loop84 ; CPU:$CA58 PRG:4A58 90 02 + inc PpuAddrHigh ; CPU:$CA5A PRG:4A5A E6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + lda #$20 ; CPU:$CA5C PRG:4A5C A9 20 + sta StarFieldPtrLo ; CPU:$CA5E PRG:4A5E 85 00 + lda #$00 ; CPU:$CA60 PRG:4A60 A9 00 + sta StarFieldPtrHi ; CPU:$CA62 PRG:4A62 85 01 + pla ; CPU:$CA64 PRG:4A64 68 + cmp #$07 ; CPU:$CA65 PRG:4A65 C9 07 + bcs NmiHandler_Loop85 ; CPU:$CA67 PRG:4A67 B0 19 + sta StarFieldCount ; CPU:$CA69 PRG:4A69 85 06 + ldy #$05 ; CPU:$CA6B PRG:4A6B A0 05 + lda #$24 ; CPU:$CA6D PRG:4A6D A9 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative10 +; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative10: + sta (StarFieldPtrLo),y ; CPU:$CA6F PRG:4A6F 91 00 + dey ; CPU:$CA71 PRG:4A71 88 + bpl NmiHandler_OnNonnegative10 ; CPU:$CA72 PRG:4A72 10 FB + ldy #$05 ; CPU:$CA74 PRG:4A74 A0 05 + lda #$2B ; CPU:$CA76 PRG:4A76 A9 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero22: + sta (StarFieldPtrLo),y ; CPU:$CA78 PRG:4A78 91 00 + dey ; CPU:$CA7A PRG:4A7A 88 + dec StarFieldCount ; CPU:$CA7B PRG:4A7B C6 06 + bne NmiHandler_OnNonzero22 ; CPU:$CA7D PRG:4A7D D0 F9 + jmp Sub_C15F ; CPU:$CA7F PRG:4A7F 4C 5F C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + sta SpriteY ; CPU:$CA82 PRG:4A82 85 25 + ldx #$04 ; CPU:$CA84 PRG:4A84 A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative11 +; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative11: + lda $FB00,x ; CPU:$CA86 PRG:4A86 BD 00 FB + sta Zp20,x ; CPU:$CA89 PRG:4A89 95 20 + dex ; CPU:$CA8B PRG:4A8B CA + bpl NmiHandler_OnNonnegative11 ; CPU:$CA8C PRG:4A8C 10 F8 + jmp Sub_C15F ; CPU:$CA8E PRG:4A8E 4C 5F C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA91 +; Global: Branch target inside Sub: taken when CA91. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA91: + lda #$B8 ; CPU:$CA91 PRG:4A91 A9 B8 + sta PpuAddrLow ; CPU:$CA93 PRG:4A93 85 04 + lda #$22 ; CPU:$CA95 PRG:4A95 A9 22 + sta PpuAddrHigh ; CPU:$CA97 PRG:4A97 85 05 + lda #$06 ; CPU:$CA99 PRG:4A99 A9 06 + sta Zp02 ; CPU:$CA9B PRG:4A9B 85 02 + sta Zp03 ; CPU:$CA9D PRG:4A9D 85 03 + jmp NmiHandler_OnNonzero7 ; CPU:$CA9F PRG:4A9F 4C 62 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAA2 +; Global: Branch target inside Sub: taken when CAA2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAA2: + lda #$FF ; CPU:$CAA2 PRG:4AA2 A9 FF + sta Zp64 ; CPU:$CAA4 PRG:4AA4 85 64 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero23: + jsr Sub_CABB ; CPU:$CAA6 PRG:4AA6 20 BB CA + lda Zp64 ; CPU:$CAA9 PRG:4AA9 A5 64 + bne NmiHandler_OnNonzero23 ; CPU:$CAAB PRG:4AAB D0 F9 + lda #$00 ; CPU:$CAAD PRG:4AAD A9 00 + sta $059A ; CPU:$CAAF PRG:4AAF 8D 9A 05 + rts ; CPU:$CAB2 PRG:4AB2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAB3 +; Global: Branch target inside Sub: taken when CAB3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAB3: + lda Zp48 ; CPU:$CAB3 PRG:4AB3 A5 48 + and #$07 ; CPU:$CAB5 PRG:4AB5 29 07 + tax ; CPU:$CAB7 PRG:4AB7 AA + dex ; CPU:$CAB8 PRG:4AB8 CA + bne NmiHandler_Loop86 ; CPU:$CAB9 PRG:4AB9 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_CABB +; Global: Branch target inside Sub: taken when CABB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CABB: + ldx Zp64 ; CPU:$CABB PRG:4ABB A6 64 + bne NmiHandler_Loop87 ; CPU:$CABD PRG:4ABD D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + rts ; CPU:$CABF PRG:4ABF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + inx ; CPU:$CAC0 PRG:4AC0 E8 + bne NmiHandler_Loop88 ; CPU:$CAC1 PRG:4AC1 D0 33 + ldx $0483 ; CPU:$CAC3 PRG:4AC3 AE 83 04 + stx Zp65 ; CPU:$CAC6 PRG:4AC6 86 65 + ldx #$00 ; CPU:$CAC8 PRG:4AC8 A2 00 + stx Zp66 ; CPU:$CACA PRG:4ACA 86 66 + inx ; CPU:$CACC PRG:4ACC E8 + stx Zp64 ; CPU:$CACD PRG:4ACD 86 64 + jmp Sub_CA91 ; CPU:$CACF PRG:4ACF 4C 91 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + ldx #$1D ; CPU:$CAD2 PRG:4AD2 A2 1D + lda #$FB ; CPU:$CAD4 PRG:4AD4 A9 FB + jsr Sub_C117 ; CPU:$CAD6 PRG:4AD6 20 17 C1 + lda #$DB ; CPU:$CAD9 PRG:4AD9 A9 DB + sta PpuAddrLow ; CPU:$CADB PRG:4ADB 85 04 + lda #$22 ; CPU:$CADD PRG:4ADD A9 22 + sta PpuAddrHigh ; CPU:$CADF PRG:4ADF 85 05 + lda #$00 ; CPU:$CAE1 PRG:4AE1 A9 00 + sta Zp03 ; CPU:$CAE3 PRG:4AE3 85 03 + ldy #$03 ; CPU:$CAE5 PRG:4AE5 A0 03 + ldx #$80 ; CPU:$CAE7 PRG:4AE7 A2 80 + lda #$04 ; CPU:$CAE9 PRG:4AE9 A9 04 + jsr Sub_C174 ; CPU:$CAEB PRG:4AEB 20 74 C1 + lda #$01 ; CPU:$CAEE PRG:4AEE A9 01 + sta $059A ; CPU:$CAF0 PRG:4AF0 8D 9A 05 + jmp NmiHandler_Loop89 ; CPU:$CAF3 PRG:4AF3 4C 0E CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + ldx $0483 ; CPU:$CAF6 PRG:4AF6 AE 83 04 + cpx #$C8 ; CPU:$CAF9 PRG:4AF9 E0 C8 + bcs NmiHandler_OnCarrySet ; CPU:$CAFB PRG:4AFB B0 D5 + lda Zp65 ; CPU:$CAFD PRG:4AFD A5 65 + beq NmiHandler_Loop89 ; CPU:$CAFF PRG:4AFF F0 0D + ldx #$00 ; CPU:$CB01 PRG:4B01 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative12 +; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative12: + cmp $FB05,x ; CPU:$CB03 PRG:4B03 DD 05 FB + bcs NmiHandler_Loop90 ; CPU:$CB06 PRG:4B06 B0 0B + inx ; CPU:$CB08 PRG:4B08 E8 + inx ; CPU:$CB09 PRG:4B09 E8 + inx ; CPU:$CB0A PRG:4B0A E8 + inx ; CPU:$CB0B PRG:4B0B E8 + bpl NmiHandler_OnNonnegative12 ; CPU:$CB0C PRG:4B0C 10 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + lda #$00 ; CPU:$CB0E PRG:4B0E A9 00 + sta Zp64 ; CPU:$CB10 PRG:4B10 85 64 + rts ; CPU:$CB12 PRG:4B12 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop90: + stx StarFieldCount ; CPU:$CB13 PRG:4B13 86 06 + sbc $FB05,x ; CPU:$CB15 PRG:4B15 FD 05 FB + sta Zp65 ; CPU:$CB18 PRG:4B18 85 65 + bne NmiHandler_Loop91 ; CPU:$CB1A PRG:4B1A D0 03 + jsr NmiHandler_Loop89 ; CPU:$CB1C PRG:4B1C 20 0E CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop91: + lda $FB06,x ; CPU:$CB1F PRG:4B1F BD 06 FB + sta Zp02 ; CPU:$CB22 PRG:4B22 85 02 + clc ; CPU:$CB24 PRG:4B24 18 + adc Zp66 ; CPU:$CB25 PRG:4B25 65 66 + pha ; CPU:$CB27 PRG:4B27 48 + and #$1F ; CPU:$CB28 PRG:4B28 29 1F + cmp #$07 ; CPU:$CB2A PRG:4B2A C9 07 + pla ; CPU:$CB2C PRG:4B2C 68 + bcc NmiHandler_Loop92 ; CPU:$CB2D PRG:4B2D 90 09 + adc #$40 ; CPU:$CB2F PRG:4B2F 69 40 + and #$E0 ; CPU:$CB31 PRG:4B31 29 E0 + sta Zp66 ; CPU:$CB33 PRG:4B33 85 66 + clc ; CPU:$CB35 PRG:4B35 18 + adc Zp02 ; CPU:$CB36 PRG:4B36 65 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop92: + ldx Zp66 ; CPU:$CB38 PRG:4B38 A6 66 + sta Zp66 ; CPU:$CB3A PRG:4B3A 85 66 + txa ; CPU:$CB3C PRG:4B3C 8A + clc ; CPU:$CB3D PRG:4B3D 18 + adc #$B8 ; CPU:$CB3E PRG:4B3E 69 B8 + sta PpuAddrLow ; CPU:$CB40 PRG:4B40 85 04 + lda #$22 ; CPU:$CB42 PRG:4B42 A9 22 + adc #$00 ; CPU:$CB44 PRG:4B44 69 00 + sta PpuAddrHigh ; CPU:$CB46 PRG:4B46 85 05 + jsr NmiHandler_Loop93 ; CPU:$CB48 PRG:4B48 20 56 CB + clc ; CPU:$CB4B PRG:4B4B 18 + lda #$20 ; CPU:$CB4C PRG:4B4C A9 20 + adc PpuAddrLow ; CPU:$CB4E PRG:4B4E 65 04 + sta PpuAddrLow ; CPU:$CB50 PRG:4B50 85 04 + bcc NmiHandler_Loop93 ; CPU:$CB52 PRG:4B52 90 02 + inc PpuAddrHigh ; CPU:$CB54 PRG:4B54 E6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop93: + inc StarFieldCount ; CPU:$CB56 PRG:4B56 E6 06 + ldx StarFieldCount ; CPU:$CB58 PRG:4B58 A6 06 + ldy $FB06,x ; CPU:$CB5A PRG:4B5A BC 06 FB + sty Zp20 ; CPU:$CB5D PRG:4B5D 84 20 + iny ; CPU:$CB5F PRG:4B5F C8 + sty Zp21 ; CPU:$CB60 PRG:4B60 84 21 + jsr Sub_C156 ; CPU:$CB62 PRG:4B62 20 56 C1 + lda #$01 ; CPU:$CB65 PRG:4B65 A9 01 + sta $059A ; CPU:$CB67 PRG:4B67 8D 9A 05 + rts ; CPU:$CB6A PRG:4B6A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB6B +; Global: Branch target inside Sub: taken when CB6B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB6B: + jsr Sub_CC20 ; CPU:$CB6B PRG:4B6B 20 20 CC + lda $0487 ; CPU:$CB6E PRG:4B6E AD 87 04 + beq NmiHandler_Loop95 ; CPU:$CB71 PRG:4B71 F0 16 + cmp #$05 ; CPU:$CB73 PRG:4B73 C9 05 + bcc NmiHandler_Loop94 ; CPU:$CB75 PRG:4B75 90 02 + lda #$05 ; CPU:$CB77 PRG:4B77 A9 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop94: + sta StarFieldCount ; CPU:$CB79 PRG:4B79 85 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero24: + jsr NmiHandler_Loop100 ; CPU:$CB7B PRG:4B7B 20 E6 CB + dec StarFieldCount ; CPU:$CB7E PRG:4B7E C6 06 + bne NmiHandler_OnNonzero24 ; CPU:$CB80 PRG:4B80 D0 F9 + lda $0487 ; CPU:$CB82 PRG:4B82 AD 87 04 + cmp #$06 ; CPU:$CB85 PRG:4B85 C9 06 + bcs NmiHandler_Loop98 ; CPU:$CB87 PRG:4B87 B0 41 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop95: + rts ; CPU:$CB89 PRG:4B89 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB8A +; Global: Branch target inside Sub: taken when CB8A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB8A: + lda #$84 ; CPU:$CB8A PRG:4B8A A9 84 + sta StarFieldPtrLo ; CPU:$CB8C PRG:4B8C 85 00 + lda #$04 ; CPU:$CB8E PRG:4B8E A9 04 + sta StarFieldPtrHi ; CPU:$CB90 PRG:4B90 85 01 + lda #$02 ; CPU:$CB92 PRG:4B92 A9 02 + sta Zp02 ; CPU:$CB94 PRG:4B94 85 02 + jsr Sub_C3B8 ; CPU:$CB96 PRG:4B96 20 B8 C3 + ldx $0487 ; CPU:$CB99 PRG:4B99 AE 87 04 + stx StarFieldCount ; CPU:$CB9C PRG:4B9C 86 06 + dex ; CPU:$CB9E PRG:4B9E CA + stx $0487 ; CPU:$CB9F PRG:4B9F 8E 87 04 + cpx #$06 ; CPU:$CBA2 PRG:4BA2 E0 06 + bcs NmiHandler_Loop98 ; CPU:$CBA4 PRG:4BA4 B0 24 + bcc NmiHandler_Loop99 ; CPU:$CBA6 PRG:4BA6 90 36 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBA8 +; Global: Branch target inside Sub: taken when CBA8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBA8: + inc $0487 ; CPU:$CBA8 PRG:4BA8 EE 87 04 + bne NmiHandler_Loop96 ; CPU:$CBAB PRG:4BAB D0 05 + dec $0487 ; CPU:$CBAD PRG:4BAD CE 87 04 + bne NmiHandler_Loop97 ; CPU:$CBB0 PRG:4BB0 D0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop96: + lda #$84 ; CPU:$CBB2 PRG:4BB2 A9 84 + sta StarFieldPtrLo ; CPU:$CBB4 PRG:4BB4 85 00 + lda #$04 ; CPU:$CBB6 PRG:4BB6 A9 04 + sta StarFieldPtrHi ; CPU:$CBB8 PRG:4BB8 85 01 + lda #$02 ; CPU:$CBBA PRG:4BBA A9 02 + sta Zp02 ; CPU:$CBBC PRG:4BBC 85 02 + jsr Sub_C3A1 ; CPU:$CBBE PRG:4BBE 20 A1 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop97: + ldx $0487 ; CPU:$CBC1 PRG:4BC1 AE 87 04 + stx StarFieldCount ; CPU:$CBC4 PRG:4BC4 86 06 + cpx #$06 ; CPU:$CBC6 PRG:4BC6 E0 06 + bcc NmiHandler_Loop100 ; CPU:$CBC8 PRG:4BC8 90 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop98: + lda #$7C ; CPU:$CBCA PRG:4BCA A9 7C + sta PpuAddrLow ; CPU:$CBCC PRG:4BCC 85 04 + lda #$22 ; CPU:$CBCE PRG:4BCE A9 22 + sta PpuAddrHigh ; CPU:$CBD0 PRG:4BD0 85 05 + ldy #$01 ; CPU:$CBD2 PRG:4BD2 A0 01 + sty Zp03 ; CPU:$CBD4 PRG:4BD4 84 03 + iny ; CPU:$CBD6 PRG:4BD6 C8 + ldx #$84 ; CPU:$CBD7 PRG:4BD7 A2 84 + lda #$04 ; CPU:$CBD9 PRG:4BD9 A9 04 + jmp Sub_C174 ; CPU:$CBDB PRG:4BDB 4C 74 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop99: + ldx #$24 ; CPU:$CBDE PRG:4BDE A2 24 + stx Zp20 ; CPU:$CBE0 PRG:4BE0 86 20 + stx Zp21 ; CPU:$CBE2 PRG:4BE2 86 21 + bpl NmiHandler_Loop101 ; CPU:$CBE4 PRG:4BE4 10 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop100: + ldx #$4A ; CPU:$CBE6 PRG:4BE6 A2 4A + stx Zp20 ; CPU:$CBE8 PRG:4BE8 86 20 + inx ; CPU:$CBEA PRG:4BEA E8 + stx Zp21 ; CPU:$CBEB PRG:4BEB 86 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop101: + lda #$02 ; CPU:$CBED PRG:4BED A9 02 + sta Zp02 ; CPU:$CBEF PRG:4BEF 85 02 + ldx StarFieldCount ; CPU:$CBF1 PRG:4BF1 A6 06 + dex ; CPU:$CBF3 PRG:4BF3 CA + lda $CC32,x ; CPU:$CBF4 PRG:4BF4 BD 32 CC + clc ; CPU:$CBF7 PRG:4BF7 18 + adc #$F8 ; CPU:$CBF8 PRG:4BF8 69 F8 + sta PpuAddrLow ; CPU:$CBFA PRG:4BFA 85 04 + lda #$21 ; CPU:$CBFC PRG:4BFC A9 21 + adc #$00 ; CPU:$CBFE PRG:4BFE 69 00 + sta PpuAddrHigh ; CPU:$CC00 PRG:4C00 85 05 + jsr Sub_C156 ; CPU:$CC02 PRG:4C02 20 56 C1 + lda #$20 ; CPU:$CC05 PRG:4C05 A9 20 + clc ; CPU:$CC07 PRG:4C07 18 + adc PpuAddrLow ; CPU:$CC08 PRG:4C08 65 04 + sta PpuAddrLow ; CPU:$CC0A PRG:4C0A 85 04 + bcc NmiHandler_Loop102 ; CPU:$CC0C PRG:4C0C 90 02 + inc PpuAddrHigh ; CPU:$CC0E PRG:4C0E E6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop102: + ldx Zp20 ; CPU:$CC10 PRG:4C10 A6 20 + cpx #$24 ; CPU:$CC12 PRG:4C12 E0 24 + beq NmiHandler_Loop103 ; CPU:$CC14 PRG:4C14 F0 07 + ldx #$4C ; CPU:$CC16 PRG:4C16 A2 4C + stx Zp20 ; CPU:$CC18 PRG:4C18 86 20 + inx ; CPU:$CC1A PRG:4C1A E8 + stx Zp21 ; CPU:$CC1B PRG:4C1B 86 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop103: + jmp Sub_C156 ; CPU:$CC1D PRG:4C1D 4C 56 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC20 +; Global: Branch target inside Sub: taken when CC20. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC20: + lda #$F8 ; CPU:$CC20 PRG:4C20 A9 F8 + sta PpuAddrLow ; CPU:$CC22 PRG:4C22 85 04 + lda #$21 ; CPU:$CC24 PRG:4C24 A9 21 + sta PpuAddrHigh ; CPU:$CC26 PRG:4C26 85 05 + ldx #$06 ; CPU:$CC28 PRG:4C28 A2 06 + stx Zp02 ; CPU:$CC2A PRG:4C2A 86 02 + dex ; CPU:$CC2C PRG:4C2C CA + stx Zp03 ; CPU:$CC2D PRG:4C2D 86 03 + jmp NmiHandler_OnNonzero7 ; CPU:$CC2F PRG:4C2F 4C 62 C2 +; ---- data $CC32-$CC37 (6 bytes) ---- +; referenced by `lda $CC32,x` at $CBF4 (operand $CC32 falls inside this region) +SpriteSpawnOffsetTable: + .byte $00, $02, $04, $60, $62, $64 ; CPU:$CC32 PRG:0C32 00 02 04 60 62 64 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC38 +; Global: Branch target inside Sub: taken when CC38. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC38: + ldx Zp48 ; CPU:$CC38 PRG:4C38 A6 48 + dex ; CPU:$CC3A PRG:4C3A CA + txa ; CPU:$CC3B PRG:4C3B 8A + and #$03 ; CPU:$CC3C PRG:4C3C 29 03 + bne NmiHandler_Loop104 ; CPU:$CC3E PRG:4C3E D0 1E + ldx Zp54 ; CPU:$CC40 PRG:4C40 A6 54 + bne NmiHandler_Loop105 ; CPU:$CC42 PRG:4C42 D0 1B + lda Zp5D ; CPU:$CC44 PRG:4C44 A5 5D + beq NmiHandler_Loop104 ; CPU:$CC46 PRG:4C46 F0 16 + lda $058D ; CPU:$CC48 PRG:4C48 AD 8D 05 + beq NmiHandler_Loop104 ; CPU:$CC4B PRG:4C4B F0 11 + lda #$00 ; CPU:$CC4D PRG:4C4D A9 00 + sta Zp5D ; CPU:$CC4F PRG:4C4F 85 5D + lda $045C ; CPU:$CC51 PRG:4C51 AD 5C 04 + sta $0471 ; CPU:$CC54 PRG:4C54 8D 71 04 + ldx #$60 ; CPU:$CC57 PRG:4C57 A2 60 + lda #$F9 ; CPU:$CC59 PRG:4C59 A9 F9 + jsr Sub_C117 ; CPU:$CC5B PRG:4C5B 20 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop104: + rts ; CPU:$CC5E PRG:4C5E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop105: + ldx Zp54 ; CPU:$CC5F PRG:4C5F A6 54 + dex ; CPU:$CC61 PRG:4C61 CA + bmi NmiHandler_Loop106 ; CPU:$CC62 PRG:4C62 30 0C + txa ; CPU:$CC64 PRG:4C64 8A + jsr Sub_C301 ; CPU:$CC65 PRG:4C65 20 01 C3 + sta $D0CC ; CPU:$CC68 PRG:4C68 8D CC D0 + cpy $CC8D ; CPU:$CC6B PRG:4C6B CC 8D CC + .byte $B3, $CC ; CPU:$CC6E PRG:4C6E B3 CC -- lax (ZpCC),y (undocumented; ca65 cannot encode) +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop106: + lda #$00 ; CPU:$CC70 PRG:4C70 A9 00 + sta Zp55 ; CPU:$CC72 PRG:4C72 85 55 + sta Zp56 ; CPU:$CC74 PRG:4C74 85 56 + sta Zp59 ; CPU:$CC76 PRG:4C76 85 59 + lda #$03 ; CPU:$CC78 PRG:4C78 A9 03 + sta Zp54 ; CPU:$CC7A PRG:4C7A 85 54 + lda Zp58 ; CPU:$CC7C PRG:4C7C A5 58 + sec ; CPU:$CC7E PRG:4C7E 38 + sbc #$14 ; CPU:$CC7F PRG:4C7F E9 14 + lsr a ; CPU:$CC81 PRG:4C81 4A + lsr a ; CPU:$CC82 PRG:4C82 4A + lsr a ; CPU:$CC83 PRG:4C83 4A + sta Zp57 ; CPU:$CC84 PRG:4C84 85 57 + lda #$01 ; CPU:$CC86 PRG:4C86 A9 01 + sta $059B ; CPU:$CC88 PRG:4C88 8D 9B 05 + bne NmiHandler_Loop109 ; CPU:$CC8B PRG:4C8B D0 4D + inc Zp55 ; CPU:$CC8D PRG:4C8D E6 55 + lda Zp55 ; CPU:$CC8F PRG:4C8F A5 55 + cmp $045D ; CPU:$CC91 PRG:4C91 CD 5D 04 + bcc NmiHandler_Loop109 ; CPU:$CC94 PRG:4C94 90 44 + lda #$00 ; CPU:$CC96 PRG:4C96 A9 00 + sta Zp55 ; CPU:$CC98 PRG:4C98 85 55 + lda Zp54 ; CPU:$CC9A PRG:4C9A A5 54 + and #$02 ; CPU:$CC9C PRG:4C9C 29 02 + beq NmiHandler_Loop107 ; CPU:$CC9E PRG:4C9E F0 13 + jsr Sub_CCF0 ; CPU:$CCA0 PRG:4CA0 20 F0 CC + jsr Sub_C15F ; CPU:$CCA3 PRG:4CA3 20 5F C1 + inc Zp56 ; CPU:$CCA6 PRG:4CA6 E6 56 + lda Zp56 ; CPU:$CCA8 PRG:4CA8 A5 56 + cmp #$07 ; CPU:$CCAA PRG:4CAA C9 07 + bcc NmiHandler_Loop109 ; CPU:$CCAC PRG:4CAC 90 2C + dec Zp54 ; CPU:$CCAE PRG:4CAE C6 54 + jmp NmiHandler_Loop109 ; CPU:$CCB0 PRG:4CB0 4C DA CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop107: + dec Zp56 ; CPU:$CCB3 PRG:4CB3 C6 56 + bmi NmiHandler_Loop108 ; CPU:$CCB5 PRG:4CB5 30 09 + jsr Sub_CCF0 ; CPU:$CCB7 PRG:4CB7 20 F0 CC + jsr Sub_C144 ; CPU:$CCBA PRG:4CBA 20 44 C1 + jmp NmiHandler_Loop109 ; CPU:$CCBD PRG:4CBD 4C DA CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop108: + lda #$00 ; CPU:$CCC0 PRG:4CC0 A9 00 + sta Zp54 ; CPU:$CCC2 PRG:4CC2 85 54 + lda #$1B ; CPU:$CCC4 PRG:4CC4 A9 1B + jsr Sub_ED70 ; CPU:$CCC6 PRG:4CC6 20 70 ED + ldx #$25 ; CPU:$CCC9 PRG:4CC9 A2 25 + lda #$FB ; CPU:$CCCB PRG:4CCB A9 FB + jmp Sub_C117 ; CPU:$CCCD PRG:4CCD 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: Label_CCD0 +; Global: Branch target inside Label: taken when CCD0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CCD0: + inc Zp55 ; CPU:$CCD0 PRG:4CD0 E6 55 + lda Zp55 ; CPU:$CCD2 PRG:4CD2 A5 55 + cmp #$1E ; CPU:$CCD4 PRG:4CD4 C9 1E + bcc NmiHandler_Loop109 ; CPU:$CCD6 PRG:4CD6 90 02 + dec Zp54 ; CPU:$CCD8 PRG:4CD8 C6 54 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop109: + lda Zp59 ; CPU:$CCDA PRG:4CDA A5 59 + sec ; CPU:$CCDC PRG:4CDC 38 + sbc #$06 ; CPU:$CCDD PRG:4CDD E9 06 + bpl NmiHandler_Loop110 ; CPU:$CCDF PRG:4CDF 10 02 + lda #$0C ; CPU:$CCE1 PRG:4CE1 A9 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop110: + sta Zp59 ; CPU:$CCE3 PRG:4CE3 85 59 + clc ; CPU:$CCE5 PRG:4CE5 18 + adc #$25 ; CPU:$CCE6 PRG:4CE6 69 25 + tax ; CPU:$CCE8 PRG:4CE8 AA + lda #$00 ; CPU:$CCE9 PRG:4CE9 A9 00 + adc #$FB ; CPU:$CCEB PRG:4CEB 69 FB + jmp Sub_C117 ; CPU:$CCED PRG:4CED 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCF0 +; Global: Branch target inside Sub: taken when CCF0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCF0: + lda Zp56 ; CPU:$CCF0 PRG:4CF0 A5 56 + asl a ; CPU:$CCF2 PRG:4CF2 0A + asl a ; CPU:$CCF3 PRG:4CF3 0A + asl a ; CPU:$CCF4 PRG:4CF4 0A + adc #$37 ; CPU:$CCF5 PRG:4CF5 69 37 + sta StarFieldPtrLo ; CPU:$CCF7 PRG:4CF7 85 00 + lda #$FB ; CPU:$CCF9 PRG:4CF9 A9 FB + adc #$00 ; CPU:$CCFB PRG:4CFB 69 00 + sta StarFieldPtrHi ; CPU:$CCFD PRG:4CFD 85 01 + ldy #$00 ; CPU:$CCFF PRG:4CFF A0 00 + lda Zp57 ; CPU:$CD01 PRG:4D01 A5 57 + clc ; CPU:$CD03 PRG:4D03 18 + adc (StarFieldPtrLo),y ; CPU:$CD04 PRG:4D04 71 00 + sta PpuAddrLow ; CPU:$CD06 PRG:4D06 85 04 + iny ; CPU:$CD08 PRG:4D08 C8 + lda (StarFieldPtrLo),y ; CPU:$CD09 PRG:4D09 B1 00 + adc #$00 ; CPU:$CD0B PRG:4D0B 69 00 + sta PpuAddrHigh ; CPU:$CD0D PRG:4D0D 85 05 + clc ; CPU:$CD0F PRG:4D0F 18 + lda StarFieldPtrLo ; CPU:$CD10 PRG:4D10 A5 00 + adc #$02 ; CPU:$CD12 PRG:4D12 69 02 + sta StarFieldPtrLo ; CPU:$CD14 PRG:4D14 85 00 + bcc NmiHandler_Loop111 ; CPU:$CD16 PRG:4D16 90 02 + inc StarFieldPtrHi ; CPU:$CD18 PRG:4D18 E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop111: + lda #$06 ; CPU:$CD1A PRG:4D1A A9 06 + sta Zp02 ; CPU:$CD1C PRG:4D1C 85 02 + rts ; CPU:$CD1E PRG:4D1E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD1F +; Global: Branch target inside Sub: taken when CD1F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD1F: + lda #$E0 ; CPU:$CD1F PRG:4D1F A9 E0 + sta StarFieldPtrLo ; CPU:$CD21 PRG:4D21 85 00 + lda #$00 ; CPU:$CD23 PRG:4D23 A9 00 + sta StarFieldPtrHi ; CPU:$CD25 PRG:4D25 85 01 + lda #$00 ; CPU:$CD27 PRG:4D27 A9 00 + ldy #$17 ; CPU:$CD29 PRG:4D29 A0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative13 +; Global: Branch target inside NmiHandler: taken when OnNonnegative13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative13: + sta (StarFieldPtrLo),y ; CPU:$CD2B PRG:4D2B 91 00 + dey ; CPU:$CD2D PRG:4D2D 88 + bpl NmiHandler_OnNonnegative13 ; CPU:$CD2E PRG:4D2E 10 FB +; ----------------------------------------------------------------------------- +; Routine: Sub_CD30 +; Global: Branch target inside Sub: taken when CD30. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD30: + lda #$00 ; CPU:$CD30 PRG:4D30 A9 00 + sta Zp54 ; CPU:$CD32 PRG:4D32 85 54 + jsr Sub_CD3A ; CPU:$CD34 PRG:4D34 20 3A CD + jsr Sub_C3CD ; CPU:$CD37 PRG:4D37 20 CD C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD3A +; Global: Branch target inside Sub: taken when CD3A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD3A: + ldx #$C0 ; CPU:$CD3A PRG:4D3A A2 C0 + lda #$00 ; CPU:$CD3C PRG:4D3C A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero25: + dex ; CPU:$CD3E PRG:4D3E CA + sta $0400,x ; CPU:$CD3F PRG:4D3F 9D 00 04 + bne NmiHandler_OnNonzero25 ; CPU:$CD42 PRG:4D42 D0 FA + ldx #$10 ; CPU:$CD44 PRG:4D44 A2 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero26: + dex ; CPU:$CD46 PRG:4D46 CA + sta Zp70,x ; CPU:$CD47 PRG:4D47 95 70 + bne NmiHandler_OnNonzero26 ; CPU:$CD49 PRG:4D49 D0 FB + lda #$03 ; CPU:$CD4B PRG:4D4B A9 03 + sta $0488 ; CPU:$CD4D PRG:4D4D 8D 88 04 + sta $0487 ; CPU:$CD50 PRG:4D50 8D 87 04 + sta $0485 ; CPU:$CD53 PRG:4D53 8D 85 04 + lda #$FF ; CPU:$CD56 PRG:4D56 A9 FF + sta $0472 ; CPU:$CD58 PRG:4D58 8D 72 04 + lda #$01 ; CPU:$CD5B PRG:4D5B A9 01 + sta Zp7F ; CPU:$CD5D PRG:4D5D 85 7F + lda #$80 ; CPU:$CD5F PRG:4D5F A9 80 + sta $0210 ; CPU:$CD61 PRG:4D61 8D 10 02 + rts ; CPU:$CD64 PRG:4D64 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD65 +; Global: Branch target inside Sub: taken when CD65. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD65: + jsr Sub_CD9C ; CPU:$CD65 PRG:4D65 20 9C CD + lda #$00 ; CPU:$CD68 PRG:4D68 A9 00 + sta $0473 ; CPU:$CD6A PRG:4D6A 8D 73 04 + sta $0474 ; CPU:$CD6D PRG:4D6D 8D 74 04 + jsr Sub_E8D7 ; CPU:$CD70 PRG:4D70 20 D7 E8 + lda #$A5 ; CPU:$CD73 PRG:4D73 A9 A5 + sta $048A ; CPU:$CD75 PRG:4D75 8D 8A 04 + sta $048B ; CPU:$CD78 PRG:4D78 8D 8B 04 + lda #$0F ; CPU:$CD7B PRG:4D7B A9 0F + sta $049F ; CPU:$CD7D PRG:4D7D 8D 9F 04 + ldx #$04 ; CPU:$CD80 PRG:4D80 A2 04 + lda #$00 ; CPU:$CD82 PRG:4D82 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative14 +; Global: Branch target inside NmiHandler: taken when OnNonnegative14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative14: + sta $0496,x ; CPU:$CD84 PRG:4D84 9D 96 04 + dex ; CPU:$CD87 PRG:4D87 CA + bpl NmiHandler_OnNonnegative14 ; CPU:$CD88 PRG:4D88 10 FA + ldx #$6F ; CPU:$CD8A PRG:4D8A A2 6F + lda #$FB ; CPU:$CD8C PRG:4D8C A9 FB + jsr Sub_C117 ; CPU:$CD8E PRG:4D8E 20 17 C1 + jsr Sub_D81A ; CPU:$CD91 PRG:4D91 20 1A D8 + rts ; CPU:$CD94 PRG:4D94 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD95 +; Global: Branch target inside Sub: taken when CD95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD95: + jsr Sub_CD9C ; CPU:$CD95 PRG:4D95 20 9C CD + jsr Sub_D7C7 ; CPU:$CD98 PRG:4D98 20 C7 D7 + rts ; CPU:$CD9B PRG:4D9B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD9C +; Global: Branch target inside Sub: taken when CD9C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD9C: + lda #$80 ; CPU:$CD9C PRG:4D9C A9 80 + sta StarFieldPtrLo ; CPU:$CD9E PRG:4D9E 85 00 + lda #$04 ; CPU:$CDA0 PRG:4DA0 A9 04 + sta StarFieldPtrHi ; CPU:$CDA2 PRG:4DA2 85 01 + lda #$03 ; CPU:$CDA4 PRG:4DA4 A9 03 + sta Zp02 ; CPU:$CDA6 PRG:4DA6 85 02 + jsr Sub_C3A1 ; CPU:$CDA8 PRG:4DA8 20 A1 C3 + ldx $0483 ; CPU:$CDAB PRG:4DAB AE 83 04 + inx ; CPU:$CDAE PRG:4DAE E8 + bne NmiHandler_Loop112 ; CPU:$CDAF PRG:4DAF D0 02 + ldx #$FC ; CPU:$CDB1 PRG:4DB1 A2 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop112: + stx $0483 ; CPU:$CDB3 PRG:4DB3 8E 83 04 + rts ; CPU:$CDB6 PRG:4DB6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDB7 +; Global: Branch target inside Sub: taken when CDB7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDB7: + ldx #$00 ; CPU:$CDB7 PRG:4DB7 A2 00 + stx Zp43 ; CPU:$CDB9 PRG:4DB9 86 43 + stx Zp62 ; CPU:$CDBB PRG:4DBB 86 62 + jsr Sub_BE00 ; CPU:$CDBD PRG:4DBD 20 00 BE + jsr Sub_Loop ; CPU:$CDC0 PRG:4DC0 20 52 BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + jsr Sub_C0F1 ; CPU:$CDC3 PRG:4DC3 20 F1 C0 + lda Zp46 ; CPU:$CDC6 PRG:4DC6 A5 46 + and #$30 ; CPU:$CDC8 PRG:4DC8 29 30 + bne NmiHandler_OnNonzero27 ; CPU:$CDCA PRG:4DCA D0 0A + inc Zp43 ; CPU:$CDCC PRG:4DCC E6 43 + lda Zp43 ; CPU:$CDCE PRG:4DCE A5 43 + cmp #$E0 ; CPU:$CDD0 PRG:4DD0 C9 E0 + bcc NmiHandler_OnCarryClear3 ; CPU:$CDD2 PRG:4DD2 90 EF + bcs NmiHandler_Loop113 ; CPU:$CDD4 PRG:4DD4 B0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero27: + lda #$E0 ; CPU:$CDD6 PRG:4DD6 A9 E0 + sta Zp43 ; CPU:$CDD8 PRG:4DD8 85 43 + jsr Sub_BE00 ; CPU:$CDDA PRG:4DDA 20 00 BE + jsr Sub_Loop ; CPU:$CDDD PRG:4DDD 20 52 BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop113: + lda #$00 ; CPU:$CDE0 PRG:4DE0 A9 00 + sta Zp48 ; CPU:$CDE2 PRG:4DE2 85 48 + sta Zp49 ; CPU:$CDE4 PRG:4DE4 85 49 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + jsr Sub_C0F1 ; CPU:$CDE6 PRG:4DE6 20 F1 C0 + jsr Sub_BE33 ; CPU:$CDE9 PRG:4DE9 20 33 BE + lda Zp46 ; CPU:$CDEC PRG:4DEC A5 46 + and #$20 ; CPU:$CDEE PRG:4DEE 29 20 + beq NmiHandler_Loop114 ; CPU:$CDF0 PRG:4DF0 F0 0E + lda ZpDF ; CPU:$CDF2 PRG:4DF2 A5 DF + eor #$03 ; CPU:$CDF4 PRG:4DF4 49 03 + sta ZpDF ; CPU:$CDF6 PRG:4DF6 85 DF + lda Zp49 ; CPU:$CDF8 PRG:4DF8 A5 49 + cmp #$02 ; CPU:$CDFA PRG:4DFA C9 02 + bcc NmiHandler_Loop114 ; CPU:$CDFC PRG:4DFC 90 02 + dec Zp49 ; CPU:$CDFE PRG:4DFE C6 49 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop114: + jsr Sub_CE4F ; CPU:$CE00 PRG:4E00 20 4F CE + lda Zp46 ; CPU:$CE03 PRG:4E03 A5 46 + and #$10 ; CPU:$CE05 PRG:4E05 29 10 + bne NmiHandler_Loop118 ; CPU:$CE07 PRG:4E07 D0 66 + lda Zp49 ; CPU:$CE09 PRG:4E09 A5 49 + cmp #$03 ; CPU:$CE0B PRG:4E0B C9 03 + bcc NmiHandler_OnCarryClear4 ; CPU:$CE0D PRG:4E0D 90 D7 + lda #$78 ; CPU:$CE0F PRG:4E0F A9 78 + sta ZpC8 ; CPU:$CE11 PRG:4E11 85 C8 + lda #$01 ; CPU:$CE13 PRG:4E13 A9 01 + sta Zp61 ; CPU:$CE15 PRG:4E15 85 61 + jsr Sub_CD30 ; CPU:$CE17 PRG:4E17 20 30 CD + jsr Sub_D29C ; CPU:$CE1A PRG:4E1A 20 9C D2 + jsr Sub_CD65 ; CPU:$CE1D PRG:4E1D 20 65 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative15 +; Global: Branch target inside NmiHandler: taken when OnNonnegative15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative15: + jsr Sub_D016 ; CPU:$CE20 PRG:4E20 20 16 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero28: + jsr Sub_C0F1 ; CPU:$CE23 PRG:4E23 20 F1 C0 + lda Zp46 ; CPU:$CE26 PRG:4E26 A5 46 + and #$30 ; CPU:$CE28 PRG:4E28 29 30 + bne NmiHandler_OnNonzero27 ; CPU:$CE2A PRG:4E2A D0 AA + jsr Sub_D874 ; CPU:$CE2C PRG:4E2C 20 74 D8 + jsr Sub_D238 ; CPU:$CE2F PRG:4E2F 20 38 D2 + ldx Zp7B ; CPU:$CE32 PRG:4E32 A6 7B + bne NmiHandler_Loop115 ; CPU:$CE34 PRG:4E34 D0 0C + lda $0494 ; CPU:$CE36 PRG:4E36 AD 94 04 + bne NmiHandler_OnNonzero28 ; CPU:$CE39 PRG:4E39 D0 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero3: + dec ZpC8 ; CPU:$CE3B PRG:4E3B C6 C8 + bne NmiHandler_OnNonzero28 ; CPU:$CE3D PRG:4E3D D0 E4 + jmp Sub_CDB7 ; CPU:$CE3F PRG:4E3F 4C B7 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop115: + lda Zp79 ; CPU:$CE42 PRG:4E42 A5 79 + beq NmiHandler_OnZero3 ; CPU:$CE44 PRG:4E44 F0 F5 + ldx $0487 ; CPU:$CE46 PRG:4E46 AE 87 04 + dex ; CPU:$CE49 PRG:4E49 CA + dex ; CPU:$CE4A PRG:4E4A CA + bmi NmiHandler_OnZero3 ; CPU:$CE4B PRG:4E4B 30 EE + bpl NmiHandler_OnNonnegative15 ; CPU:$CE4D PRG:4E4D 10 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE4F +; Global: Branch target inside Sub: taken when CE4F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE4F: + ldx ZpDF ; CPU:$CE4F PRG:4E4F A6 DF + dex ; CPU:$CE51 PRG:4E51 CA + bne NmiHandler_Loop116 ; CPU:$CE52 PRG:4E52 D0 0D + ldx #$44 ; CPU:$CE54 PRG:4E54 A2 44 + lda #$F8 ; CPU:$CE56 PRG:4E56 A9 F8 + jsr Sub_C117 ; CPU:$CE58 PRG:4E58 20 17 C1 + ldx #$48 ; CPU:$CE5B PRG:4E5B A2 48 + lda #$F8 ; CPU:$CE5D PRG:4E5D A9 F8 + bne NmiHandler_Loop117 ; CPU:$CE5F PRG:4E5F D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop116: + ldx #$48 ; CPU:$CE61 PRG:4E61 A2 48 + lda #$F8 ; CPU:$CE63 PRG:4E63 A9 F8 + jsr Sub_C117 ; CPU:$CE65 PRG:4E65 20 17 C1 + ldx #$44 ; CPU:$CE68 PRG:4E68 A2 44 + lda #$F8 ; CPU:$CE6A PRG:4E6A A9 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop117: + jmp Sub_C12D ; CPU:$CE6C PRG:4E6C 4C 2D C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop118: + lda ZpDF ; CPU:$CE6F PRG:4E6F A5 DF + sta ZpDE ; CPU:$CE71 PRG:4E71 85 DE + lda #$01 ; CPU:$CE73 PRG:4E73 A9 01 + sta Zp61 ; CPU:$CE75 PRG:4E75 85 61 + sta Zp62 ; CPU:$CE77 PRG:4E77 85 62 + jsr Sub_EAE4 ; CPU:$CE79 PRG:4E79 20 E4 EA + jsr Sub_CD1F ; CPU:$CE7C PRG:4E7C 20 1F CD + jmp Sub_CE8B ; CPU:$CE7F PRG:4E7F 4C 8B CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero29: + jsr Sub_C0F1 ; CPU:$CE82 PRG:4E82 20 F1 C0 + jsr Sub_D874 ; CPU:$CE85 PRG:4E85 20 74 D8 + jsr Sub_D238 ; CPU:$CE88 PRG:4E88 20 38 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE8B +; Global: Branch target inside Sub: taken when CE8B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE8B: + lda Zp7F ; CPU:$CE8B PRG:4E8B A5 7F + beq NmiHandler_Loop119 ; CPU:$CE8D PRG:4E8D F0 03 + jsr Sub_CEA1 ; CPU:$CE8F PRG:4E8F 20 A1 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop119: + ldx Zp7B ; CPU:$CE92 PRG:4E92 A6 7B + bne NmiHandler_Loop121 ; CPU:$CE94 PRG:4E94 D0 4A + lda $0494 ; CPU:$CE96 PRG:4E96 AD 94 04 + bne NmiHandler_Loop120 ; CPU:$CE99 PRG:4E99 D0 03 + jsr Sub_D033 ; CPU:$CE9B PRG:4E9B 20 33 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop120: + jmp NmiHandler_OnNonzero29 ; CPU:$CE9E PRG:4E9E 4C 82 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_CEA1 +; Global: Branch target inside Sub: taken when CEA1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CEA1: + lda #$00 ; CPU:$CEA1 PRG:4EA1 A9 00 + sta Zp7F ; CPU:$CEA3 PRG:4EA3 85 7F + jsr Sub_D29C ; CPU:$CEA5 PRG:4EA5 20 9C D2 + lda #$01 ; CPU:$CEA8 PRG:4EA8 A9 01 + sta $0583 ; CPU:$CEAA PRG:4EAA 8D 83 05 + sta $0584 ; CPU:$CEAD PRG:4EAD 8D 84 05 + sta $0585 ; CPU:$CEB0 PRG:4EB0 8D 85 05 + lda #$00 ; CPU:$CEB3 PRG:4EB3 A9 00 + sta $0471 ; CPU:$CEB5 PRG:4EB5 8D 71 04 + ldx #$72 ; CPU:$CEB8 PRG:4EB8 A2 72 + lda #$F8 ; CPU:$CEBA PRG:4EBA A9 F8 + jsr Sub_C117 ; CPU:$CEBC PRG:4EBC 20 17 C1 + jsr Sub_D274 ; CPU:$CEBF PRG:4EBF 20 74 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero30: + jsr Sub_C0F1 ; CPU:$CEC2 PRG:4EC2 20 F1 C0 + lda $0583 ; CPU:$CEC5 PRG:4EC5 AD 83 05 + bne NmiHandler_OnNonzero30 ; CPU:$CEC8 PRG:4EC8 D0 F8 + ldx #$72 ; CPU:$CECA PRG:4ECA A2 72 + lda #$F8 ; CPU:$CECC PRG:4ECC A9 F8 + jsr Sub_C12D ; CPU:$CECE PRG:4ECE 20 2D C1 + jsr Sub_D293 ; CPU:$CED1 PRG:4ED1 20 93 D2 + jsr Sub_D033 ; CPU:$CED4 PRG:4ED4 20 33 D0 + jsr Sub_CFFD ; CPU:$CED7 PRG:4ED7 20 FD CF + lda #$3C ; CPU:$CEDA PRG:4EDA A9 3C + jsr NmiHandler_OnNonzero38 ; CPU:$CEDC PRG:4EDC 20 2A D2 + rts ; CPU:$CEDF PRG:4EDF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop121: + lda $0477 ; CPU:$CEE0 PRG:4EE0 AD 77 04 + ora $0495 ; CPU:$CEE3 PRG:4EE3 0D 95 04 + ora Zp54 ; CPU:$CEE6 PRG:4EE6 05 54 + bne NmiHandler_OnNonzero29 ; CPU:$CEE8 PRG:4EE8 D0 98 + lda Zp7C ; CPU:$CEEA PRG:4EEA A5 7C + cmp #$02 ; CPU:$CEEC PRG:4EEC C9 02 + beq NmiHandler_OnNonzero29 ; CPU:$CEEE PRG:4EEE F0 92 + lda Zp79 ; CPU:$CEF0 PRG:4EF0 A5 79 + beq NmiHandler_Loop122 ; CPU:$CEF2 PRG:4EF2 F0 08 + cmp #$04 ; CPU:$CEF4 PRG:4EF4 C9 04 + beq NmiHandler_Loop122 ; CPU:$CEF6 PRG:4EF6 F0 04 + cmp #$07 ; CPU:$CEF8 PRG:4EF8 C9 07 + bne NmiHandler_OnNonzero29 ; CPU:$CEFA PRG:4EFA D0 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + lda #$3C ; CPU:$CEFC PRG:4EFC A9 3C + jsr NmiHandler_OnNonzero38 ; CPU:$CEFE PRG:4EFE 20 2A D2 + ldx ZpDE ; CPU:$CF01 PRG:4F01 A6 DE + dex ; CPU:$CF03 PRG:4F03 CA + bne NmiHandler_Loop124 ; CPU:$CF04 PRG:4F04 D0 17 + lda $0487 ; CPU:$CF06 PRG:4F06 AD 87 04 + beq NmiHandler_Loop123 ; CPU:$CF09 PRG:4F09 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: + jsr Sub_CFFD ; CPU:$CF0B PRG:4F0B 20 FD CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero31: + jmp NmiHandler_OnNonzero29 ; CPU:$CF0E PRG:4F0E 4C 82 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + jsr Sub_CF52 ; CPU:$CF11 PRG:4F11 20 52 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero5 +; Global: Branch target inside NmiHandler: taken when OnZero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero5: + jsr Sub_C28A ; CPU:$CF14 PRG:4F14 20 8A C2 + jsr Sub_C4A0 ; CPU:$CF17 PRG:4F17 20 A0 C4 + jmp Sub_C002 ; CPU:$CF1A PRG:4F1A 4C 02 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: + lda $0487 ; CPU:$CF1D PRG:4F1D AD 87 04 + bne NmiHandler_Loop125 ; CPU:$CF20 PRG:4F20 D0 23 + jsr Sub_CF52 ; CPU:$CF22 PRG:4F22 20 52 CF + lda $0387 ; CPU:$CF25 PRG:4F25 AD 87 03 + beq NmiHandler_OnZero5 ; CPU:$CF28 PRG:4F28 F0 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero32: + jsr Sub_C3CD ; CPU:$CF2A PRG:4F2A 20 CD C3 + lda Zp61 ; CPU:$CF2D PRG:4F2D A5 61 + eor #$03 ; CPU:$CF2F PRG:4F2F 49 03 + sta Zp61 ; CPU:$CF31 PRG:4F31 85 61 + lda #$FF ; CPU:$CF33 PRG:4F33 A9 FF + sta $049E ; CPU:$CF35 PRG:4F35 8D 9E 04 + lda Zp7F ; CPU:$CF38 PRG:4F38 A5 7F + bne NmiHandler_OnNonzero31 ; CPU:$CF3A PRG:4F3A D0 D2 + jsr Sub_D29C ; CPU:$CF3C PRG:4F3C 20 9C D2 + jsr Sub_D60E ; CPU:$CF3F PRG:4F3F 20 0E D6 + jmp NmiHandler_OnZero4 ; CPU:$CF42 PRG:4F42 4C 0B CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop125: + ldx Zp7B ; CPU:$CF45 PRG:4F45 A6 7B + dex ; CPU:$CF47 PRG:4F47 CA + dex ; CPU:$CF48 PRG:4F48 CA + beq NmiHandler_OnZero4 ; CPU:$CF49 PRG:4F49 F0 C0 + lda $0387 ; CPU:$CF4B PRG:4F4B AD 87 03 + beq NmiHandler_OnZero4 ; CPU:$CF4E PRG:4F4E F0 BB + bne NmiHandler_OnNonzero32 ; CPU:$CF50 PRG:4F50 D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_CF52 +; Global: Branch target inside Sub: taken when CF52. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF52: + jsr Sub_C0F1 ; CPU:$CF52 PRG:4F52 20 F1 C0 + ldx #$56 ; CPU:$CF55 PRG:4F55 A2 56 + lda #$F8 ; CPU:$CF57 PRG:4F57 A9 F8 + jsr Sub_C117 ; CPU:$CF59 PRG:4F59 20 17 C1 + jsr Sub_D274 ; CPU:$CF5C PRG:4F5C 20 74 D2 + lda #$B4 ; CPU:$CF5F PRG:4F5F A9 B4 + jsr NmiHandler_OnNonzero38 ; CPU:$CF61 PRG:4F61 20 2A D2 + lda $045C ; CPU:$CF64 PRG:4F64 AD 5C 04 + sta $0471 ; CPU:$CF67 PRG:4F67 8D 71 04 + jsr Sub_C4A0 ; CPU:$CF6A PRG:4F6A 20 A0 C4 + jsr Sub_D29C ; CPU:$CF6D PRG:4F6D 20 9C D2 + jsr Sub_C28A ; CPU:$CF70 PRG:4F70 20 8A C2 + lda #$05 ; CPU:$CF73 PRG:4F73 A9 05 + sta StarFieldCount ; CPU:$CF75 PRG:4F75 85 06 + lda #$DE ; CPU:$CF77 PRG:4F77 A9 DE + sta StarFieldPtrLo ; CPU:$CF79 PRG:4F79 85 00 + lda #$F8 ; CPU:$CF7B PRG:4F7B A9 F8 + sta StarFieldPtrHi ; CPU:$CF7D PRG:4F7D 85 01 + jsr Sub_C191 ; CPU:$CF7F PRG:4F7F 20 91 C1 + lda #$AF ; CPU:$CF82 PRG:4F82 A9 AF + sta PpuAddrLow ; CPU:$CF84 PRG:4F84 85 04 + lda #$21 ; CPU:$CF86 PRG:4F86 A9 21 + sta PpuAddrHigh ; CPU:$CF88 PRG:4F88 85 05 + ldy #$07 ; CPU:$CF8A PRG:4F8A A0 07 + sty Zp03 ; CPU:$CF8C PRG:4F8C 84 03 + iny ; CPU:$CF8E PRG:4F8E C8 + ldx #$A0 ; CPU:$CF8F PRG:4F8F A2 A0 + lda #$04 ; CPU:$CF91 PRG:4F91 A9 04 + jsr Sub_C174 ; CPU:$CF93 PRG:4F93 20 74 C1 + lda #$0F ; CPU:$CF96 PRG:4F96 A9 0F + sta PpuAddrLow ; CPU:$CF98 PRG:4F98 85 04 + lda #$22 ; CPU:$CF9A PRG:4F9A A9 22 + sta PpuAddrHigh ; CPU:$CF9C PRG:4F9C 85 05 + ldy #$07 ; CPU:$CF9E PRG:4F9E A0 07 + sty Zp03 ; CPU:$CFA0 PRG:4FA0 84 03 + iny ; CPU:$CFA2 PRG:4FA2 C8 + ldx #$A8 ; CPU:$CFA3 PRG:4FA3 A2 A8 + lda #$04 ; CPU:$CFA5 PRG:4FA5 A9 04 + jsr Sub_C174 ; CPU:$CFA7 PRG:4FA7 20 74 C1 + jsr Sub_C345 ; CPU:$CFAA PRG:4FAA 20 45 C3 + lda Zp23 ; CPU:$CFAD PRG:4FAD A5 23 + sta Zp24 ; CPU:$CFAF PRG:4FAF 85 24 + lda #$28 ; CPU:$CFB1 PRG:4FB1 A9 28 + sta Zp23 ; CPU:$CFB3 PRG:4FB3 85 23 + lda #$25 ; CPU:$CFB5 PRG:4FB5 A9 25 + sta SpriteY ; CPU:$CFB7 PRG:4FB7 85 25 + lda #$72 ; CPU:$CFB9 PRG:4FB9 A9 72 + sta PpuAddrLow ; CPU:$CFBB PRG:4FBB 85 04 + lda #$22 ; CPU:$CFBD PRG:4FBD A9 22 + sta PpuAddrHigh ; CPU:$CFBF PRG:4FBF 85 05 + lda #$02 ; CPU:$CFC1 PRG:4FC1 A9 02 + sta Zp03 ; CPU:$CFC3 PRG:4FC3 85 03 + ldy #$06 ; CPU:$CFC5 PRG:4FC5 A0 06 + ldx #$20 ; CPU:$CFC7 PRG:4FC7 A2 20 + lda #$00 ; CPU:$CFC9 PRG:4FC9 A9 00 + jsr Sub_C174 ; CPU:$CFCB PRG:4FCB 20 74 C1 + jsr Sub_C957 ; CPU:$CFCE PRG:4FCE 20 57 C9 + jsr Sub_C2AD ; CPU:$CFD1 PRG:4FD1 20 AD C2 + lda #$01 ; CPU:$CFD4 PRG:4FD4 A9 01 + sta $0596 ; CPU:$CFD6 PRG:4FD6 8D 96 05 + sta $0597 ; CPU:$CFD9 PRG:4FD9 8D 97 05 + sta $0598 ; CPU:$CFDC PRG:4FDC 8D 98 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero33: + jsr Sub_C0F1 ; CPU:$CFDF PRG:4FDF 20 F1 C0 + lda Zp46 ; CPU:$CFE2 PRG:4FE2 A5 46 + ora Zp47 ; CPU:$CFE4 PRG:4FE4 05 47 + bne NmiHandler_Loop126 ; CPU:$CFE6 PRG:4FE6 D0 05 + lda $0596 ; CPU:$CFE8 PRG:4FE8 AD 96 05 + bne NmiHandler_OnNonzero33 ; CPU:$CFEB PRG:4FEB D0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop126: + jsr Sub_EAE4 ; CPU:$CFED PRG:4FED 20 E4 EA + jsr Sub_D29C ; CPU:$CFF0 PRG:4FF0 20 9C D2 + ldx #$57 ; CPU:$CFF3 PRG:4FF3 A2 57 + lda #$F9 ; CPU:$CFF5 PRG:4FF5 A9 F9 + jsr Sub_C117 ; CPU:$CFF7 PRG:4FF7 20 17 C1 + jmp Sub_C2AD ; CPU:$CFFA PRG:4FFA 4C AD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFFD +; Global: Branch target inside Sub: taken when CFFD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFFD: + ldx #$6A ; CPU:$CFFD PRG:4FFD A2 6A + lda #$F8 ; CPU:$CFFF PRG:4FFF A9 F8 + jsr Sub_C117 ; CPU:$D001 PRG:5001 20 17 C1 + jsr Sub_D274 ; CPU:$D004 PRG:5004 20 74 D2 + lda #$78 ; CPU:$D007 PRG:5007 A9 78 + jsr NmiHandler_OnNonzero38 ; CPU:$D009 PRG:5009 20 2A D2 + ldx #$6A ; CPU:$D00C PRG:500C A2 6A + lda #$F8 ; CPU:$D00E PRG:500E A9 F8 + jsr Sub_C12D ; CPU:$D010 PRG:5010 20 2D C1 + jsr Sub_D293 ; CPU:$D013 PRG:5013 20 93 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D016 +; Global: Branch target inside Sub: taken when D016. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D016: + jsr Sub_CB8A ; CPU:$D016 PRG:5016 20 8A CB + lda #$00 ; CPU:$D019 PRG:5019 A9 00 + sta $0200 ; CPU:$D01B PRG:501B 8D 00 02 + lda #$60 ; CPU:$D01E PRG:501E A9 60 + sta $0203 ; CPU:$D020 PRG:5020 8D 03 02 + jsr Sub_E1D2 ; CPU:$D023 PRG:5023 20 D2 E1 + lda $045C ; CPU:$D026 PRG:5026 AD 5C 04 + sta $0471 ; CPU:$D029 PRG:5029 8D 71 04 + lda #$00 ; CPU:$D02C PRG:502C A9 00 + sta Zp7A ; CPU:$D02E PRG:502E 85 7A + sta Zp7B ; CPU:$D030 PRG:5030 85 7B + rts ; CPU:$D032 PRG:5032 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D033 +; Global: Branch target inside Sub: taken when D033. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D033: + lda $0477 ; CPU:$D033 PRG:5033 AD 77 04 + bne NmiHandler_Loop127 ; CPU:$D036 PRG:5036 D0 0E + lda Zp79 ; CPU:$D038 PRG:5038 A5 79 + cmp #$02 ; CPU:$D03A PRG:503A C9 02 + bcc NmiHandler_Loop128 ; CPU:$D03C PRG:503C 90 09 + cmp #$07 ; CPU:$D03E PRG:503E C9 07 + bne NmiHandler_Loop127 ; CPU:$D040 PRG:5040 D0 04 + lda Zp7C ; CPU:$D042 PRG:5042 A5 7C + bmi NmiHandler_Loop128 ; CPU:$D044 PRG:5044 30 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop127: + rts ; CPU:$D046 PRG:5046 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop128: + lda #$3C ; CPU:$D047 PRG:5047 A9 3C + jsr NmiHandler_OnNonzero38 ; CPU:$D049 PRG:5049 20 2A D2 + jsr Sub_C0F1 ; CPU:$D04C PRG:504C 20 F1 C0 + ldx $0483 ; CPU:$D04F PRG:504F AE 83 04 + inx ; CPU:$D052 PRG:5052 E8 + inx ; CPU:$D053 PRG:5053 E8 + txa ; CPU:$D054 PRG:5054 8A + and #$03 ; CPU:$D055 PRG:5055 29 03 + beq NmiHandler_Loop129 ; CPU:$D057 PRG:5057 F0 40 + jsr Sub_CD65 ; CPU:$D059 PRG:5059 20 65 CD + ldx #$62 ; CPU:$D05C PRG:505C A2 62 + lda #$F8 ; CPU:$D05E PRG:505E A9 F8 + jsr Sub_C117 ; CPU:$D060 PRG:5060 20 17 C1 + lda #$AD ; CPU:$D063 PRG:5063 A9 AD + sta PpuAddrLow ; CPU:$D065 PRG:5065 85 04 + lda #$21 ; CPU:$D067 PRG:5067 A9 21 + sta PpuAddrHigh ; CPU:$D069 PRG:5069 85 05 + ldy #$02 ; CPU:$D06B PRG:506B A0 02 + sty Zp03 ; CPU:$D06D PRG:506D 84 03 + iny ; CPU:$D06F PRG:506F C8 + ldx #$80 ; CPU:$D070 PRG:5070 A2 80 + lda #$04 ; CPU:$D072 PRG:5072 A9 04 + jsr Sub_C174 ; CPU:$D074 PRG:5074 20 74 C1 + lda #$FF ; CPU:$D077 PRG:5077 A9 FF + sta Zp64 ; CPU:$D079 PRG:5079 85 64 + lda #$5A ; CPU:$D07B PRG:507B A9 5A + jsr NmiHandler_OnNonzero38 ; CPU:$D07D PRG:507D 20 2A D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero34: + lda #$01 ; CPU:$D080 PRG:5080 A9 01 + jsr NmiHandler_OnNonzero38 ; CPU:$D082 PRG:5082 20 2A D2 + lda Zp64 ; CPU:$D085 PRG:5085 A5 64 + bne NmiHandler_OnNonzero34 ; CPU:$D087 PRG:5087 D0 F7 + ldy #$09 ; CPU:$D089 PRG:5089 A0 09 + ldx #$A7 ; CPU:$D08B PRG:508B A2 A7 + lda #$21 ; CPU:$D08D PRG:508D A9 21 + jsr Sub_C13E ; CPU:$D08F PRG:508F 20 3E C1 + lda $045C ; CPU:$D092 PRG:5092 AD 5C 04 + sta $0471 ; CPU:$D095 PRG:5095 8D 71 04 + rts ; CPU:$D098 PRG:5098 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop129: + jsr Sub_CD95 ; CPU:$D099 PRG:5099 20 95 CD + ldx #$7A ; CPU:$D09C PRG:509C A2 7A + lda #$F8 ; CPU:$D09E PRG:509E A9 F8 + jsr Sub_C117 ; CPU:$D0A0 PRG:50A0 20 17 C1 + jsr Sub_EAE4 ; CPU:$D0A3 PRG:50A3 20 E4 EA + lda #$01 ; CPU:$D0A6 PRG:50A6 A9 01 + sta $0587 ; CPU:$D0A8 PRG:50A8 8D 87 05 + sta $0588 ; CPU:$D0AB PRG:50AB 8D 88 05 + sta $0589 ; CPU:$D0AE PRG:50AE 8D 89 05 + lda #$5A ; CPU:$D0B1 PRG:50B1 A9 5A + jsr NmiHandler_OnNonzero38 ; CPU:$D0B3 PRG:50B3 20 2A D2 + lda #$FF ; CPU:$D0B6 PRG:50B6 A9 FF + sta Zp64 ; CPU:$D0B8 PRG:50B8 85 64 + lda #$5A ; CPU:$D0BA PRG:50BA A9 5A + jsr NmiHandler_OnNonzero38 ; CPU:$D0BC PRG:50BC 20 2A D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero35: + jsr Sub_C0F1 ; CPU:$D0BF PRG:50BF 20 F1 C0 + jsr Sub_D238 ; CPU:$D0C2 PRG:50C2 20 38 D2 + lda Zp64 ; CPU:$D0C5 PRG:50C5 A5 64 + bne NmiHandler_OnNonzero35 ; CPU:$D0C7 PRG:50C7 D0 F6 + ldx #$7A ; CPU:$D0C9 PRG:50C9 A2 7A + lda #$F8 ; CPU:$D0CB PRG:50CB A9 F8 + jsr Sub_C12D ; CPU:$D0CD PRG:50CD 20 2D C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero36: + jsr Sub_C0F1 ; CPU:$D0D0 PRG:50D0 20 F1 C0 + jsr Sub_D874 ; CPU:$D0D3 PRG:50D3 20 74 D8 + jsr Sub_D238 ; CPU:$D0D6 PRG:50D6 20 38 D2 + lda $0494 ; CPU:$D0D9 PRG:50D9 AD 94 04 + bne NmiHandler_OnNonzero36 ; CPU:$D0DC PRG:50DC D0 F2 + lda #$3C ; CPU:$D0DE PRG:50DE A9 3C + jsr NmiHandler_OnNonzero38 ; CPU:$D0E0 PRG:50E0 20 2A D2 + lda ZpC4 ; CPU:$D0E3 PRG:50E3 A5 C4 + cmp #$28 ; CPU:$D0E5 PRG:50E5 C9 28 + bne NmiHandler_Loop130 ; CPU:$D0E7 PRG:50E7 D0 1A + lda #$01 ; CPU:$D0E9 PRG:50E9 A9 01 + sta ZpC6 ; CPU:$D0EB PRG:50EB 85 C6 + lda #$50 ; CPU:$D0ED PRG:50ED A9 50 + sta ZpC7 ; CPU:$D0EF PRG:50EF 85 C7 + lda #$01 ; CPU:$D0F1 PRG:50F1 A9 01 + sta $058A ; CPU:$D0F3 PRG:50F3 8D 8A 05 + sta $058B ; CPU:$D0F6 PRG:50F6 8D 8B 05 + sta $058C ; CPU:$D0F9 PRG:50F9 8D 8C 05 + ldx #$24 ; CPU:$D0FC PRG:50FC A2 24 + lda #$F9 ; CPU:$D0FE PRG:50FE A9 F9 + jmp Sub_D117 ; CPU:$D100 PRG:5100 4C 17 D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop130: + lda #$00 ; CPU:$D103 PRG:5103 A9 00 + sta ZpC6 ; CPU:$D105 PRG:5105 85 C6 + lda #$60 ; CPU:$D107 PRG:5107 A9 60 + sta ZpC7 ; CPU:$D109 PRG:5109 85 C7 + lda #$01 ; CPU:$D10B PRG:510B A9 01 + sta $0583 ; CPU:$D10D PRG:510D 8D 83 05 + sta $0586 ; CPU:$D110 PRG:5110 8D 86 05 + ldx #$35 ; CPU:$D113 PRG:5113 A2 35 + lda #$F9 ; CPU:$D115 PRG:5115 A9 F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_D117 +; Global: Branch target inside Sub: taken when D117. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D117: + jsr Sub_C117 ; CPU:$D117 PRG:5117 20 17 C1 + ldx #$9A ; CPU:$D11A PRG:511A A2 9A + lda #$F8 ; CPU:$D11C PRG:511C A9 F8 + jsr Sub_C117 ; CPU:$D11E PRG:511E 20 17 C1 + lda ZpC7 ; CPU:$D121 PRG:5121 A5 C7 + jsr NmiHandler_OnNonzero38 ; CPU:$D123 PRG:5123 20 2A D2 + lda #$72 ; CPU:$D126 PRG:5126 A9 72 + sta PpuAddrLow ; CPU:$D128 PRG:5128 85 04 + lda #$21 ; CPU:$D12A PRG:512A A9 21 + sta PpuAddrHigh ; CPU:$D12C PRG:512C 85 05 + ldy #$01 ; CPU:$D12E PRG:512E A0 01 + sty Zp03 ; CPU:$D130 PRG:5130 84 03 + iny ; CPU:$D132 PRG:5132 C8 + ldx #$C2 ; CPU:$D133 PRG:5133 A2 C2 + lda #$00 ; CPU:$D135 PRG:5135 A9 00 + jsr Sub_C174 ; CPU:$D137 PRG:5137 20 74 C1 + lda ZpC6 ; CPU:$D13A PRG:513A A5 C6 + beq NmiHandler_Loop131 ; CPU:$D13C PRG:513C F0 3D + lda #$04 ; CPU:$D13E PRG:513E A9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + pha ; CPU:$D140 PRG:5140 48 + jsr Sub_D163 ; CPU:$D141 PRG:5141 20 63 D1 + pla ; CPU:$D144 PRG:5144 68 + sec ; CPU:$D145 PRG:5145 38 + sbc #$01 ; CPU:$D146 PRG:5146 E9 01 + bcs NmiHandler_OnCarrySet2 ; CPU:$D148 PRG:5148 B0 F6 + ldx #$B6 ; CPU:$D14A PRG:514A A2 B6 + lda #$F8 ; CPU:$D14C PRG:514C A9 F8 + jsr Sub_C117 ; CPU:$D14E PRG:514E 20 17 C1 + ldx #$01 ; CPU:$D151 PRG:5151 A2 01 + stx ZpC1 ; CPU:$D153 PRG:5153 86 C1 + dex ; CPU:$D155 PRG:5155 CA + stx ZpC2 ; CPU:$D156 PRG:5156 86 C2 + lda #$64 ; CPU:$D158 PRG:5158 A9 64 + sta ZpC4 ; CPU:$D15A PRG:515A 85 C4 + lda #$78 ; CPU:$D15C PRG:515C A9 78 + sta ZpC7 ; CPU:$D15E PRG:515E 85 C7 + jmp Sub_D18B ; CPU:$D160 PRG:5160 4C 8B D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D163 +; Global: Branch target inside Sub: taken when D163. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D163: + lda #$0A ; CPU:$D163 PRG:5163 A9 0A + jsr NmiHandler_OnNonzero38 ; CPU:$D165 PRG:5165 20 2A D2 + ldx #$8E ; CPU:$D168 PRG:5168 A2 8E + lda #$F8 ; CPU:$D16A PRG:516A A9 F8 + jsr Sub_C12D ; CPU:$D16C PRG:516C 20 2D C1 + lda #$0A ; CPU:$D16F PRG:516F A9 0A + jsr NmiHandler_OnNonzero38 ; CPU:$D171 PRG:5171 20 2A D2 + ldx #$8E ; CPU:$D174 PRG:5174 A2 8E + lda #$F8 ; CPU:$D176 PRG:5176 A9 F8 + jmp Sub_C117 ; CPU:$D178 PRG:5178 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop131: + lda ZpC7 ; CPU:$D17B PRG:517B A5 C7 + jsr NmiHandler_OnNonzero38 ; CPU:$D17D PRG:517D 20 2A D2 + ldx #$AE ; CPU:$D180 PRG:5180 A2 AE + lda #$F8 ; CPU:$D182 PRG:5182 A9 F8 + jsr Sub_C117 ; CPU:$D184 PRG:5184 20 17 C1 + lda #$D8 ; CPU:$D187 PRG:5187 A9 D8 + sta ZpC7 ; CPU:$D189 PRG:5189 85 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D18B +; Global: Branch target inside Sub: taken when D18B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D18B: + jsr Sub_D210 ; CPU:$D18B PRG:518B 20 10 D2 + lda ZpC7 ; CPU:$D18E PRG:518E A5 C7 + jsr NmiHandler_OnNonzero38 ; CPU:$D190 PRG:5190 20 2A D2 + lda ZpC4 ; CPU:$D193 PRG:5193 A5 C4 + beq NmiHandler_Loop132 ; CPU:$D195 PRG:5195 F0 38 + lda ZpC6 ; CPU:$D197 PRG:5197 A5 C6 + eor #$01 ; CPU:$D199 PRG:5199 49 01 + sta $05A6 ; CPU:$D19B PRG:519B 8D A6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero37: + jsr Sub_C0F1 ; CPU:$D19E PRG:519E 20 F1 C0 + jsr Sub_E1D2 ; CPU:$D1A1 PRG:51A1 20 D2 E1 + jsr Sub_E020 ; CPU:$D1A4 PRG:51A4 20 20 E0 + jsr Sub_D25C ; CPU:$D1A7 PRG:51A7 20 5C D2 + lda #$0A ; CPU:$D1AA PRG:51AA A9 0A + sta StarFieldPtrLo ; CPU:$D1AC PRG:51AC 85 00 + jsr Sub_C8AB ; CPU:$D1AE PRG:51AE 20 AB C8 + jsr Sub_C9A5 ; CPU:$D1B1 PRG:51B1 20 A5 C9 + lda #$C1 ; CPU:$D1B4 PRG:51B4 A9 C1 + sta StarFieldPtrLo ; CPU:$D1B6 PRG:51B6 85 00 + lda #$00 ; CPU:$D1B8 PRG:51B8 A9 00 + sta StarFieldPtrHi ; CPU:$D1BA PRG:51BA 85 01 + lda #$03 ; CPU:$D1BC PRG:51BC A9 03 + sta Zp02 ; CPU:$D1BE PRG:51BE 85 02 + jsr Sub_C3B8 ; CPU:$D1C0 PRG:51C0 20 B8 C3 + jsr Sub_D210 ; CPU:$D1C3 PRG:51C3 20 10 D2 + dec ZpC4 ; CPU:$D1C6 PRG:51C6 C6 C4 + bne NmiHandler_OnNonzero37 ; CPU:$D1C8 PRG:51C8 D0 D4 + lda #$26 ; CPU:$D1CA PRG:51CA A9 26 + jsr Sub_ED70 ; CPU:$D1CC PRG:51CC 20 70 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop132: + ldy #$02 ; CPU:$D1CF PRG:51CF A0 02 + ldx #$EA ; CPU:$D1D1 PRG:51D1 A2 EA + lda #$21 ; CPU:$D1D3 PRG:51D3 A9 21 + jsr Sub_C13E ; CPU:$D1D5 PRG:51D5 20 3E C1 + lda #$B4 ; CPU:$D1D8 PRG:51D8 A9 B4 + jsr NmiHandler_OnNonzero38 ; CPU:$D1DA PRG:51DA 20 2A D2 + ldx #$8E ; CPU:$D1DD PRG:51DD A2 8E + lda #$F8 ; CPU:$D1DF PRG:51DF A9 F8 + jsr Sub_C12D ; CPU:$D1E1 PRG:51E1 20 2D C1 + ldx #$AB ; CPU:$D1E4 PRG:51E4 A2 AB + lda #$F8 ; CPU:$D1E6 PRG:51E6 A9 F8 + jsr Sub_C12D ; CPU:$D1E8 PRG:51E8 20 2D C1 + lda #$01 ; CPU:$D1EB PRG:51EB A9 01 + jsr NmiHandler_OnNonzero38 ; CPU:$D1ED PRG:51ED 20 2A D2 + ldx #$B6 ; CPU:$D1F0 PRG:51F0 A2 B6 + lda #$F8 ; CPU:$D1F2 PRG:51F2 A9 F8 + jsr Sub_C12D ; CPU:$D1F4 PRG:51F4 20 2D C1 + ldx #$DB ; CPU:$D1F7 PRG:51F7 A2 DB + lda #$F8 ; CPU:$D1F9 PRG:51F9 A9 F8 + jsr Sub_C12D ; CPU:$D1FB PRG:51FB 20 2D C1 + lda #$01 ; CPU:$D1FE PRG:51FE A9 01 + jsr NmiHandler_OnNonzero38 ; CPU:$D200 PRG:5200 20 2A D2 + ldx #$46 ; CPU:$D203 PRG:5203 A2 46 + lda #$F9 ; CPU:$D205 PRG:5205 A9 F9 + jsr Sub_C117 ; CPU:$D207 PRG:5207 20 17 C1 + lda #$3C ; CPU:$D20A PRG:520A A9 3C + jsr NmiHandler_OnNonzero38 ; CPU:$D20C PRG:520C 20 2A D2 + rts ; CPU:$D20F PRG:520F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D210 +; Global: Branch target inside Sub: taken when D210. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D210: + lda #$E7 ; CPU:$D210 PRG:5210 A9 E7 + sta PpuAddrLow ; CPU:$D212 PRG:5212 85 04 + lda #$21 ; CPU:$D214 PRG:5214 A9 21 + sta PpuAddrHigh ; CPU:$D216 PRG:5216 85 05 + ldy #$03 ; CPU:$D218 PRG:5218 A0 03 + sty Zp03 ; CPU:$D21A PRG:521A 84 03 + ldx #$C1 ; CPU:$D21C PRG:521C A2 C1 + lda #$00 ; CPU:$D21E PRG:521E A9 00 + jsr Sub_C174 ; CPU:$D220 PRG:5220 20 74 C1 + ldx #$D2 ; CPU:$D223 PRG:5223 A2 D2 + lda #$F8 ; CPU:$D225 PRG:5225 A9 F8 + jmp Sub_C117 ; CPU:$D227 PRG:5227 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero38: + pha ; CPU:$D22A PRG:522A 48 + jsr Sub_C0F1 ; CPU:$D22B PRG:522B 20 F1 C0 + jsr Sub_D238 ; CPU:$D22E PRG:522E 20 38 D2 + pla ; CPU:$D231 PRG:5231 68 + sec ; CPU:$D232 PRG:5232 38 + sbc #$01 ; CPU:$D233 PRG:5233 E9 01 + bne NmiHandler_OnNonzero38 ; CPU:$D235 PRG:5235 D0 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero6: + rts ; CPU:$D237 PRG:5237 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D238 +; Global: Branch target inside Sub: taken when D238. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D238: + jsr Sub_CAB3 ; CPU:$D238 PRG:5238 20 B3 CA + jsr Sub_DB35 ; CPU:$D23B PRG:523B 20 35 DB + jsr Sub_E113 ; CPU:$D23E PRG:523E 20 13 E1 + jsr Sub_E1D2 ; CPU:$D241 PRG:5241 20 D2 E1 + jsr Sub_E020 ; CPU:$D244 PRG:5244 20 20 E0 + jsr Sub_D2C9 ; CPU:$D247 PRG:5247 20 C9 D2 + jsr Sub_E4F5 ; CPU:$D24A PRG:524A 20 F5 E4 + jsr Sub_E7B6 ; CPU:$D24D PRG:524D 20 B6 E7 + jsr Sub_D56F ; CPU:$D250 PRG:5250 20 6F D5 + jsr Sub_E939 ; CPU:$D253 PRG:5253 20 39 E9 + jsr Sub_C9AC ; CPU:$D256 PRG:5256 20 AC C9 + jsr Sub_CC38 ; CPU:$D259 PRG:5259 20 38 CC +; ----------------------------------------------------------------------------- +; Routine: Sub_D25C +; Global: Branch target inside Sub: taken when D25C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D25C: + lda a:Zp62 ; CPU:$D25C PRG:525C AD 62 00 + beq NmiHandler_Loop133 ; CPU:$D25F PRG:525F F0 12 + lda $0200 ; CPU:$D261 PRG:5261 AD 00 02 + bmi NmiHandler_Loop133 ; CPU:$D264 PRG:5264 30 0D + lda Zp46 ; CPU:$D266 PRG:5266 A5 46 + and #$10 ; CPU:$D268 PRG:5268 29 10 + beq NmiHandler_Loop133 ; CPU:$D26A PRG:526A F0 07 + lda #$01 ; CPU:$D26C PRG:526C A9 01 + sta Zp5B ; CPU:$D26E PRG:526E 85 5B + sta $0580 ; CPU:$D270 PRG:5270 8D 80 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop133: + rts ; CPU:$D273 PRG:5273 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D274 +; Global: Branch target inside Sub: taken when D274. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D274: + ldx ZpDE ; CPU:$D274 PRG:5274 A6 DE + dex ; CPU:$D276 PRG:5276 CA + beq NmiHandler_OnZero6 ; CPU:$D277 PRG:5277 F0 BE + ldx #$4C ; CPU:$D279 PRG:5279 A2 4C + lda #$F8 ; CPU:$D27B PRG:527B A9 F8 + jsr Sub_C117 ; CPU:$D27D PRG:527D 20 17 C1 + lda #$AF ; CPU:$D280 PRG:5280 A9 AF + sta PpuAddrLow ; CPU:$D282 PRG:5282 85 04 + lda #$21 ; CPU:$D284 PRG:5284 A9 21 + sta PpuAddrHigh ; CPU:$D286 PRG:5286 85 05 + ldy #$01 ; CPU:$D288 PRG:5288 A0 01 + sty Zp03 ; CPU:$D28A PRG:528A 84 03 + ldx #$61 ; CPU:$D28C PRG:528C A2 61 + lda #$00 ; CPU:$D28E PRG:528E A9 00 + jmp Sub_C174 ; CPU:$D290 PRG:5290 4C 74 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D293 +; Global: Branch target inside Sub: taken when D293. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D293: + ldx #$A8 ; CPU:$D293 PRG:5293 A2 A8 + lda #$21 ; CPU:$D295 PRG:5295 A9 21 + ldy #$08 ; CPU:$D297 PRG:5297 A0 08 + jmp Sub_C13E ; CPU:$D299 PRG:5299 4C 3E C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D29C +; Global: Branch target inside Sub: taken when D29C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D29C: + jsr Sub_C28A ; CPU:$D29C PRG:529C 20 8A C2 + lda #$C0 ; CPU:$D29F PRG:529F A9 C0 + sta Zp50 ; CPU:$D2A1 PRG:52A1 85 50 + ldx #$20 ; CPU:$D2A3 PRG:52A3 A2 20 + jsr Sub_C242 ; CPU:$D2A5 PRG:52A5 20 42 C2 + jsr Sub_C2BC ; CPU:$D2A8 PRG:52A8 20 BC C2 + jsr Sub_C937 ; CPU:$D2AB PRG:52AB 20 37 C9 + jsr Sub_CB6B ; CPU:$D2AE PRG:52AE 20 6B CB + jsr Sub_CAA2 ; CPU:$D2B1 PRG:52B1 20 A2 CA + lda #$F8 ; CPU:$D2B4 PRG:52B4 A9 F8 + sta Zp42 ; CPU:$D2B6 PRG:52B6 85 42 + lda #$E8 ; CPU:$D2B8 PRG:52B8 A9 E8 + sta Zp43 ; CPU:$D2BA PRG:52BA 85 43 + lda PpuCtrlShadow ; CPU:$D2BC PRG:52BC A5 40 + ora #$02 ; CPU:$D2BE PRG:52BE 09 02 + sta PpuCtrlShadow ; CPU:$D2C0 PRG:52C0 85 40 + sta PPUCTRL ; CPU:$D2C2 PRG:52C2 8D 00 20 + jsr Sub_C2AD ; CPU:$D2C5 PRG:52C5 20 AD C2 + rts ; CPU:$D2C8 PRG:52C8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2C9 +; Global: Branch target inside Sub: taken when D2C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2C9: + lda $0494 ; CPU:$D2C9 PRG:52C9 AD 94 04 + beq NmiHandler_Loop134 ; CPU:$D2CC PRG:52CC F0 05 + lda Zp48 ; CPU:$D2CE PRG:52CE A5 48 + ror a ; CPU:$D2D0 PRG:52D0 6A + bcc NmiHandler_Loop135 ; CPU:$D2D1 PRG:52D1 90 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + rts ; CPU:$D2D3 PRG:52D3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + lda $049F ; CPU:$D2D4 PRG:52D4 AD 9F 04 + cmp #$0C ; CPU:$D2D7 PRG:52D7 C9 0C + bcs NmiHandler_Loop140 ; CPU:$D2D9 PRG:52D9 B0 42 + inc $049E ; CPU:$D2DB PRG:52DB EE 9E 04 + lda $049E ; CPU:$D2DE PRG:52DE AD 9E 04 + and #$0F ; CPU:$D2E1 PRG:52E1 29 0F + sta $049E ; CPU:$D2E3 PRG:52E3 8D 9E 04 + bne NmiHandler_Loop142 ; CPU:$D2E6 PRG:52E6 D0 6E + inc $049F ; CPU:$D2E8 PRG:52E8 EE 9F 04 + lda $049F ; CPU:$D2EB PRG:52EB AD 9F 04 + cmp #$0C ; CPU:$D2EE PRG:52EE C9 0C + bcc NmiHandler_Loop136 ; CPU:$D2F0 PRG:52F0 90 02 + lda #$00 ; CPU:$D2F2 PRG:52F2 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + sta $049F ; CPU:$D2F4 PRG:52F4 8D 9F 04 + lda $0490 ; CPU:$D2F7 PRG:52F7 AD 90 04 + bne NmiHandler_Loop137 ; CPU:$D2FA PRG:52FA D0 09 + sta $05A4 ; CPU:$D2FC PRG:52FC 8D A4 05 + sta $05A5 ; CPU:$D2FF PRG:52FF 8D A5 05 + jmp NmiHandler_Loop142 ; CPU:$D302 PRG:5302 4C 56 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + lda #$01 ; CPU:$D305 PRG:5305 A9 01 + ldx $049F ; CPU:$D307 PRG:5307 AE 9F 04 + cpx #$07 ; CPU:$D30A PRG:530A E0 07 + beq NmiHandler_Loop138 ; CPU:$D30C PRG:530C F0 09 + cpx #$01 ; CPU:$D30E PRG:530E E0 01 + bne NmiHandler_Loop139 ; CPU:$D310 PRG:5310 D0 08 + sta $05A4 ; CPU:$D312 PRG:5312 8D A4 05 + beq NmiHandler_Loop139 ; CPU:$D315 PRG:5315 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: + sta $05A5 ; CPU:$D317 PRG:5317 8D A5 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + jmp NmiHandler_Loop142 ; CPU:$D31A PRG:531A 4C 56 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + inc $049E ; CPU:$D31D PRG:531D EE 9E 04 + lda $049E ; CPU:$D320 PRG:5320 AD 9E 04 + cmp #$0C ; CPU:$D323 PRG:5323 C9 0C + bcc NmiHandler_Loop142 ; CPU:$D325 PRG:5325 90 2F + lda #$00 ; CPU:$D327 PRG:5327 A9 00 + sta $049E ; CPU:$D329 PRG:5329 8D 9E 04 + inc $049F ; CPU:$D32C PRG:532C EE 9F 04 + lda $049F ; CPU:$D32F PRG:532F AD 9F 04 + cmp #$1C ; CPU:$D332 PRG:5332 C9 1C + bcc NmiHandler_Loop141 ; CPU:$D334 PRG:5334 90 02 + lda #$0C ; CPU:$D336 PRG:5336 A9 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop141: + sta $049F ; CPU:$D338 PRG:5338 8D 9F 04 + sec ; CPU:$D33B PRG:533B 38 + sbc #$01 ; CPU:$D33C PRG:533C E9 01 + and #$07 ; CPU:$D33E PRG:533E 29 07 + bne NmiHandler_Loop142 ; CPU:$D340 PRG:5340 D0 14 + lda $0464 ; CPU:$D342 PRG:5342 AD 64 04 + cmp #$02 ; CPU:$D345 PRG:5345 C9 02 + beq NmiHandler_Loop142 ; CPU:$D347 PRG:5347 F0 0D + lda #$02 ; CPU:$D349 PRG:5349 A9 02 + sta $0496 ; CPU:$D34B PRG:534B 8D 96 04 + jsr NmiHandler_Loop184 ; CPU:$D34E PRG:534E 20 6F D7 + lda #$01 ; CPU:$D351 PRG:5351 A9 01 + sta $049F ; CPU:$D353 PRG:5353 8D 9F 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + lda $049E ; CPU:$D356 PRG:5356 AD 9E 04 + cmp #$05 ; CPU:$D359 PRG:5359 C9 05 + bcc NmiHandler_Loop143 ; CPU:$D35B PRG:535B 90 01 + rts ; CPU:$D35D PRG:535D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop143: + asl a ; CPU:$D35E PRG:535E 0A + asl a ; CPU:$D35F PRG:535F 0A + asl a ; CPU:$D360 PRG:5360 0A + asl a ; CPU:$D361 PRG:5361 0A + sta StarFieldCount ; CPU:$D362 PRG:5362 85 06 + adc #$10 ; CPU:$D364 PRG:5364 69 10 + asl a ; CPU:$D366 PRG:5366 0A + asl a ; CPU:$D367 PRG:5367 0A + sta PpuAddrLow ; CPU:$D368 PRG:5368 85 04 + lda #$20 ; CPU:$D36A PRG:536A A9 20 + adc #$00 ; CPU:$D36C PRG:536C 69 00 + sta PpuAddrHigh ; CPU:$D36E PRG:536E 85 05 + lda #$04 ; CPU:$D370 PRG:5370 A9 04 + sta Zp07 ; CPU:$D372 PRG:5372 85 07 + ldy #$0F ; CPU:$D374 PRG:5374 A0 0F + lda $049F ; CPU:$D376 PRG:5376 AD 9F 04 + sta (StarFieldCount),y ; CPU:$D379 PRG:5379 91 06 + ldx #$17 ; CPU:$D37B PRG:537B A2 17 + lda #$24 ; CPU:$D37D PRG:537D A9 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative16 +; Global: Branch target inside NmiHandler: taken when OnNonnegative16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative16: + sta Zp20,x ; CPU:$D37F PRG:537F 95 20 + dex ; CPU:$D381 PRG:5381 CA + bpl NmiHandler_OnNonnegative16 ; CPU:$D382 PRG:5382 10 FB + lda $049E ; CPU:$D384 PRG:5384 AD 9E 04 + beq NmiHandler_Loop144 ; CPU:$D387 PRG:5387 F0 03 + jmp Sub_D4AF ; CPU:$D389 PRG:5389 4C AF D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop144: + ldx $049F ; CPU:$D38C PRG:538C AE 9F 04 + cpx #$0C ; CPU:$D38F PRG:538F E0 0C + bcs NmiHandler_Loop147 ; CPU:$D391 PRG:5391 B0 30 + lda #$48 ; CPU:$D393 PRG:5393 A9 48 + sta PpuAddrLow ; CPU:$D395 PRG:5395 85 04 + lda #$08 ; CPU:$D397 PRG:5397 A9 08 + sta Zp02 ; CPU:$D399 PRG:5399 85 02 + lda $049F ; CPU:$D39B PRG:539B AD 9F 04 + ror a ; CPU:$D39E PRG:539E 6A + lda #$70 ; CPU:$D39F PRG:539F A9 70 + bcs NmiHandler_Loop145 ; CPU:$D3A1 PRG:53A1 B0 02 + lda #$74 ; CPU:$D3A3 PRG:53A3 A9 74 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop145: + sta Zp0C ; CPU:$D3A5 PRG:53A5 85 0C + ldx #$00 ; CPU:$D3A7 PRG:53A7 A2 00 + ldy #$00 ; CPU:$D3A9 PRG:53A9 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear5: + lda $0403,y ; CPU:$D3AB PRG:53AB B9 03 04 + beq NmiHandler_Loop146 ; CPU:$D3AE PRG:53AE F0 09 + lda Zp0C ; CPU:$D3B0 PRG:53B0 A5 0C + sta Zp20,x ; CPU:$D3B2 PRG:53B2 95 20 + clc ; CPU:$D3B4 PRG:53B4 18 + adc #$02 ; CPU:$D3B5 PRG:53B5 69 02 + sta Zp21,x ; CPU:$D3B7 PRG:53B7 95 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + inx ; CPU:$D3B9 PRG:53B9 E8 + inx ; CPU:$D3BA PRG:53BA E8 + iny ; CPU:$D3BB PRG:53BB C8 + cpy #$04 ; CPU:$D3BC PRG:53BC C0 04 + bcc NmiHandler_OnCarryClear5 ; CPU:$D3BE PRG:53BE 90 EB + jmp Sub_D4F8 ; CPU:$D3C0 PRG:53C0 4C F8 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + lda $FB85,x ; CPU:$D3C3 PRG:53C3 BD 85 FB + tax ; CPU:$D3C6 PRG:53C6 AA + lda $FBA1,x ; CPU:$D3C7 PRG:53C7 BD A1 FB + and #$07 ; CPU:$D3CA PRG:53CA 29 07 + clc ; CPU:$D3CC PRG:53CC 18 + adc #$44 ; CPU:$D3CD PRG:53CD 69 44 + sta PpuAddrLow ; CPU:$D3CF PRG:53CF 85 04 + lda #$0B ; CPU:$D3D1 PRG:53D1 A9 0B + sta Zp02 ; CPU:$D3D3 PRG:53D3 85 02 + lda $FBA1,x ; CPU:$D3D5 PRG:53D5 BD A1 FB + and #$F8 ; CPU:$D3D8 PRG:53D8 29 F8 + sta Zp0C ; CPU:$D3DA PRG:53DA 85 0C + lda #$00 ; CPU:$D3DC PRG:53DC A9 00 + sta TilePtrLo ; CPU:$D3DE PRG:53DE 85 08 + sta TilePtrHi ; CPU:$D3E0 PRG:53E0 85 09 + ldx #$03 ; CPU:$D3E2 PRG:53E2 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative17 +; Global: Branch target inside NmiHandler: taken when OnNonnegative17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative17: + lda $0403,x ; CPU:$D3E4 PRG:53E4 BD 03 04 + beq NmiHandler_Loop149 ; CPU:$D3E7 PRG:53E7 F0 09 + ror a ; CPU:$D3E9 PRG:53E9 6A + bcc NmiHandler_Loop148 ; CPU:$D3EA PRG:53EA 90 04 + inc TilePtrLo ; CPU:$D3EC PRG:53EC E6 08 + bpl NmiHandler_Loop149 ; CPU:$D3EE PRG:53EE 10 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: + inc TilePtrHi ; CPU:$D3F0 PRG:53F0 E6 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop149: + dex ; CPU:$D3F2 PRG:53F2 CA + bpl NmiHandler_OnNonnegative17 ; CPU:$D3F3 PRG:53F3 10 EF + ldx $0496 ; CPU:$D3F5 PRG:53F5 AE 96 04 + beq NmiHandler_Loop150 ; CPU:$D3F8 PRG:53F8 F0 04 + lda #$01 ; CPU:$D3FA PRG:53FA A9 01 + bpl NmiHandler_Loop152 ; CPU:$D3FC PRG:53FC 10 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop150: + lda TilePtrLo ; CPU:$D3FE PRG:53FE A5 08 + cmp #$03 ; CPU:$D400 PRG:5400 C9 03 + .byte $90, $0D ; CPU:$D402 PRG:5402 90 0D + ldx #$78 ; CPU:$D404 PRG:5404 A2 78 + lda #$FB ; CPU:$D406 PRG:5406 A9 FB + jsr Sub_C117 ; CPU:$D408 PRG:5408 20 17 C1 + lda #$01 ; CPU:$D40B PRG:540B A9 01 + sta $0496 ; CPU:$D40D PRG:540D 8D 96 04 +; ----------------------------------------------------------------------------- +; Routine: Label_D410 +; Global: Branch target inside Label: taken when D410. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D410: + bit $02A9 ; CPU:$D410 PRG:5410 2C A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop152: + sta ScreenPtrLo ; CPU:$D413 PRG:5413 85 0A + ldx #$03 ; CPU:$D415 PRG:5415 A2 03 + lda #$00 ; CPU:$D417 PRG:5417 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative18 +; Global: Branch target inside NmiHandler: taken when OnNonnegative18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative18: + sta $0497,x ; CPU:$D419 PRG:5419 9D 97 04 + dex ; CPU:$D41C PRG:541C CA + bpl NmiHandler_OnNonnegative18 ; CPU:$D41D PRG:541D 10 FA + lda Zp0C ; CPU:$D41F PRG:541F A5 0C + beq NmiHandler_Loop155 ; CPU:$D421 PRG:5421 F0 32 + ldx #$02 ; CPU:$D423 PRG:5423 A2 02 + ldy #$03 ; CPU:$D425 PRG:5425 A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero39: + lda $0400,y ; CPU:$D427 PRG:5427 B9 00 04 + beq NmiHandler_Loop154 ; CPU:$D42A PRG:542A F0 1F + cmp ScreenPtrLo ; CPU:$D42C PRG:542C C5 0A + bne NmiHandler_Loop153 ; CPU:$D42E PRG:542E D0 0B + lda #$70 ; CPU:$D430 PRG:5430 A9 70 + sta Zp20,x ; CPU:$D432 PRG:5432 95 20 + lda #$72 ; CPU:$D434 PRG:5434 A9 72 + sta Zp21,x ; CPU:$D436 PRG:5436 95 21 + jmp NmiHandler_Loop154 ; CPU:$D438 PRG:5438 4C 4B D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop153: + stx ScreenPtrHi ; CPU:$D43B PRG:543B 86 0B + ldx #$FF ; CPU:$D43D PRG:543D A2 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero40: + inx ; CPU:$D43F PRG:543F E8 + lda $0497,x ; CPU:$D440 PRG:5440 BD 97 04 + bne NmiHandler_OnNonzero40 ; CPU:$D443 PRG:5443 D0 FA + tya ; CPU:$D445 PRG:5445 98 + sta $0497,x ; CPU:$D446 PRG:5446 9D 97 04 + ldx ScreenPtrHi ; CPU:$D449 PRG:5449 A6 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop154: + inx ; CPU:$D44B PRG:544B E8 + inx ; CPU:$D44C PRG:544C E8 + iny ; CPU:$D44D PRG:544D C8 + cpy #$07 ; CPU:$D44E PRG:544E C0 07 + bne NmiHandler_OnNonzero39 ; CPU:$D450 PRG:5450 D0 D5 + jmp Sub_D4F8 ; CPU:$D452 PRG:5452 4C F8 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop155: + lda #$00 ; CPU:$D455 PRG:5455 A9 00 + sta Zp0C ; CPU:$D457 PRG:5457 85 0C + ldx #$01 ; CPU:$D459 PRG:5459 A2 01 + ldy #$03 ; CPU:$D45B PRG:545B A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero41: + lda $0400,y ; CPU:$D45D PRG:545D B9 00 04 + beq NmiHandler_Loop158 ; CPU:$D460 PRG:5460 F0 2A + cmp ScreenPtrLo ; CPU:$D462 PRG:5462 C5 0A + bne NmiHandler_Loop157 ; CPU:$D464 PRG:5464 D0 16 + lda Zp0C ; CPU:$D466 PRG:5466 A5 0C + cmp ScreenPtrLo ; CPU:$D468 PRG:5468 C5 0A + bne NmiHandler_Loop156 ; CPU:$D46A PRG:546A D0 05 + lda #$7E ; CPU:$D46C PRG:546C A9 7E + jmp Sub_D473 ; CPU:$D46E PRG:546E 4C 73 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + lda #$7C ; CPU:$D471 PRG:5471 A9 7C +; ----------------------------------------------------------------------------- +; Routine: Sub_D473 +; Global: Branch target inside Sub: taken when D473. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D473: + sta Zp20,x ; CPU:$D473 PRG:5473 95 20 + lda #$78 ; CPU:$D475 PRG:5475 A9 78 + sta Zp21,x ; CPU:$D477 PRG:5477 95 21 + jmp NmiHandler_Loop159 ; CPU:$D479 PRG:5479 4C 96 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + stx ScreenPtrHi ; CPU:$D47C PRG:547C 86 0B + ldx #$FF ; CPU:$D47E PRG:547E A2 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero42: + inx ; CPU:$D480 PRG:5480 E8 + lda $0497,x ; CPU:$D481 PRG:5481 BD 97 04 + bne NmiHandler_OnNonzero42 ; CPU:$D484 PRG:5484 D0 FA + tya ; CPU:$D486 PRG:5486 98 + sta $0497,x ; CPU:$D487 PRG:5487 9D 97 04 + ldx ScreenPtrHi ; CPU:$D48A PRG:548A A6 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + lda Zp0C ; CPU:$D48C PRG:548C A5 0C + cmp ScreenPtrLo ; CPU:$D48E PRG:548E C5 0A + bne NmiHandler_Loop159 ; CPU:$D490 PRG:5490 D0 04 + lda #$7A ; CPU:$D492 PRG:5492 A9 7A + sta Zp20,x ; CPU:$D494 PRG:5494 95 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop159: + lda $0400,y ; CPU:$D496 PRG:5496 B9 00 04 + sta Zp0C ; CPU:$D499 PRG:5499 85 0C + inx ; CPU:$D49B PRG:549B E8 + inx ; CPU:$D49C PRG:549C E8 + iny ; CPU:$D49D PRG:549D C8 + cpy #$07 ; CPU:$D49E PRG:549E C0 07 + bne NmiHandler_OnNonzero41 ; CPU:$D4A0 PRG:54A0 D0 BB + lda Zp0C ; CPU:$D4A2 PRG:54A2 A5 0C + cmp ScreenPtrLo ; CPU:$D4A4 PRG:54A4 C5 0A + bne NmiHandler_Loop160 ; CPU:$D4A6 PRG:54A6 D0 04 + lda #$7A ; CPU:$D4A8 PRG:54A8 A9 7A + sta Zp20,x ; CPU:$D4AA PRG:54AA 95 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop160: + jmp Sub_D4F8 ; CPU:$D4AC PRG:54AC 4C F8 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4AF +; Global: Branch target inside Sub: taken when D4AF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4AF: + lda #$18 ; CPU:$D4AF PRG:54AF A9 18 + sta Zp02 ; CPU:$D4B1 PRG:54B1 85 02 + ldx $049F ; CPU:$D4B3 PRG:54B3 AE 9F 04 + ldy #$80 ; CPU:$D4B6 PRG:54B6 A0 80 + lda $049E ; CPU:$D4B8 PRG:54B8 AD 9E 04 + cmp #$03 ; CPU:$D4BB PRG:54BB C9 03 + bcc NmiHandler_Loop161 ; CPU:$D4BD PRG:54BD 90 02 + ldy #$9C ; CPU:$D4BF PRG:54BF A0 9C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop161: + lda $FB85,x ; CPU:$D4C1 PRG:54C1 BD 85 FB + sty Zp0C ; CPU:$D4C4 PRG:54C4 84 0C + clc ; CPU:$D4C6 PRG:54C6 18 + adc #$A1 ; CPU:$D4C7 PRG:54C7 69 A1 + sta TilePtrLo ; CPU:$D4C9 PRG:54C9 85 08 + lda #$FB ; CPU:$D4CB PRG:54CB A9 FB + adc #$00 ; CPU:$D4CD PRG:54CD 69 00 + sta TilePtrHi ; CPU:$D4CF PRG:54CF 85 09 + ldy #$00 ; CPU:$D4D1 PRG:54D1 A0 00 + sty ScreenPtrLo ; CPU:$D4D3 PRG:54D3 84 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear6: + lda (StarFieldCount),y ; CPU:$D4D5 PRG:54D5 B1 06 + beq NmiHandler_Loop162 ; CPU:$D4D7 PRG:54D7 F0 16 + lda (TilePtrLo),y ; CPU:$D4D9 PRG:54D9 B1 08 + and #$07 ; CPU:$D4DB PRG:54DB 29 07 + clc ; CPU:$D4DD PRG:54DD 18 + adc ScreenPtrLo ; CPU:$D4DE PRG:54DE 65 0A + tax ; CPU:$D4E0 PRG:54E0 AA + lda (TilePtrLo),y ; CPU:$D4E1 PRG:54E1 B1 08 + and #$F8 ; CPU:$D4E3 PRG:54E3 29 F8 + lsr a ; CPU:$D4E5 PRG:54E5 4A + adc Zp0C ; CPU:$D4E6 PRG:54E6 65 0C + sta Zp20,x ; CPU:$D4E8 PRG:54E8 95 20 + adc #$02 ; CPU:$D4EA PRG:54EA 69 02 + inx ; CPU:$D4EC PRG:54EC E8 + sta Zp20,x ; CPU:$D4ED PRG:54ED 95 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop162: + inc ScreenPtrLo ; CPU:$D4EF PRG:54EF E6 0A + inc ScreenPtrLo ; CPU:$D4F1 PRG:54F1 E6 0A + iny ; CPU:$D4F3 PRG:54F3 C8 + cpy #$0A ; CPU:$D4F4 PRG:54F4 C0 0A + bcc NmiHandler_OnCarryClear6 ; CPU:$D4F6 PRG:54F6 90 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_D4F8 +; Global: Branch target inside Sub: taken when D4F8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4F8: + jsr Sub_C156 ; CPU:$D4F8 PRG:54F8 20 56 C1 + ldx Zp02 ; CPU:$D4FB PRG:54FB A6 02 + dex ; CPU:$D4FD PRG:54FD CA + clc ; CPU:$D4FE PRG:54FE 18 + lda #$20 ; CPU:$D4FF PRG:54FF A9 20 + adc PpuAddrLow ; CPU:$D501 PRG:5501 65 04 + sta PpuAddrLow ; CPU:$D503 PRG:5503 85 04 + bcc NmiHandler_OnNonnegative19 ; CPU:$D505 PRG:5505 90 02 + inc PpuAddrHigh ; CPU:$D507 PRG:5507 E6 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative19 +; Global: Branch target inside NmiHandler: taken when OnNonnegative19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative19: + ldy Zp20,x ; CPU:$D509 PRG:5509 B4 20 + cpy #$24 ; CPU:$D50B PRG:550B C0 24 + beq NmiHandler_Loop163 ; CPU:$D50D PRG:550D F0 03 + iny ; CPU:$D50F PRG:550F C8 + sty Zp20,x ; CPU:$D510 PRG:5510 94 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: + dex ; CPU:$D512 PRG:5512 CA + bpl NmiHandler_OnNonnegative19 ; CPU:$D513 PRG:5513 10 F4 + jmp Sub_C156 ; CPU:$D515 PRG:5515 4C 56 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D518 +; Global: Branch target inside Sub: taken when D518. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D518: + tax ; CPU:$D518 PRG:5518 AA + ora #$80 ; CPU:$D519 PRG:5519 09 80 + sta Zp1E ; CPU:$D51B PRG:551B 85 1E + lda #$00 ; CPU:$D51D PRG:551D A9 00 + sta $0400,x ; CPU:$D51F PRG:551F 9D 00 04 + txa ; CPU:$D522 PRG:5522 8A + ldx #$00 ; CPU:$D523 PRG:5523 A2 00 + cmp #$10 ; CPU:$D525 PRG:5525 C9 10 + bcc NmiHandler_Loop164 ; CPU:$D527 PRG:5527 90 06 + inx ; CPU:$D529 PRG:5529 E8 + cmp #$30 ; CPU:$D52A PRG:552A C9 30 + bcc NmiHandler_Loop164 ; CPU:$D52C PRG:552C 90 01 + inx ; CPU:$D52E PRG:552E E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop164: + dec $0491,x ; CPU:$D52F PRG:552F DE 91 04 + dec $0490 ; CPU:$D532 PRG:5532 CE 90 04 + jmp Sub_D561 ; CPU:$D535 PRG:5535 4C 61 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D538 +; Global: Branch target inside Sub: taken when D538. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D538: + sta Zp1E ; CPU:$D538 PRG:5538 85 1E + ldy #$01 ; CPU:$D53A PRG:553A A0 01 + cmp #$10 ; CPU:$D53C PRG:553C C9 10 + bcs NmiHandler_Loop165 ; CPU:$D53E PRG:553E B0 09 + cmp #$08 ; CPU:$D540 PRG:5540 C9 08 + bcc NmiHandler_Loop165 ; CPU:$D542 PRG:5542 90 05 + sbc #$08 ; CPU:$D544 PRG:5544 E9 08 + sta Zp1E ; CPU:$D546 PRG:5546 85 1E + iny ; CPU:$D548 PRG:5548 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop165: + tax ; CPU:$D549 PRG:5549 AA + tya ; CPU:$D54A PRG:554A 98 + sta $0400,x ; CPU:$D54B PRG:554B 9D 00 04 + txa ; CPU:$D54E PRG:554E 8A + ldx #$00 ; CPU:$D54F PRG:554F A2 00 + cmp #$10 ; CPU:$D551 PRG:5551 C9 10 + bcc NmiHandler_Loop166 ; CPU:$D553 PRG:5553 90 06 + inx ; CPU:$D555 PRG:5555 E8 + cmp #$30 ; CPU:$D556 PRG:5556 C9 30 + bcc NmiHandler_Loop166 ; CPU:$D558 PRG:5558 90 01 + inx ; CPU:$D55A PRG:555A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop166: + inc $0491,x ; CPU:$D55B PRG:555B FE 91 04 + inc $0490 ; CPU:$D55E PRG:555E EE 90 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D561 +; Global: Branch target inside Sub: taken when D561. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D561: + lda Zp1E ; CPU:$D561 PRG:5561 A5 1E + ldx Zp69 ; CPU:$D563 PRG:5563 A6 69 + sta $03D0,x ; CPU:$D565 PRG:5565 9D D0 03 + inx ; CPU:$D568 PRG:5568 E8 + txa ; CPU:$D569 PRG:5569 8A + and #$07 ; CPU:$D56A PRG:556A 29 07 + sta Zp69 ; CPU:$D56C PRG:556C 85 69 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero7 +; Global: Branch target inside NmiHandler: taken when OnZero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero7: + rts ; CPU:$D56E PRG:556E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D56F +; Global: Branch target inside Sub: taken when D56F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D56F: + lda #$02 ; CPU:$D56F PRG:556F A9 02 + sta Zp02 ; CPU:$D571 PRG:5571 85 02 + sta Zp0E ; CPU:$D573 PRG:5573 85 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_D575 +; Global: Branch target inside Sub: taken when D575. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D575: + ldx Zp68 ; CPU:$D575 PRG:5575 A6 68 + cpx Zp69 ; CPU:$D577 PRG:5577 E4 69 + beq NmiHandler_OnZero7 ; CPU:$D579 PRG:5579 F0 F3 + lda $03D0,x ; CPU:$D57B PRG:557B BD D0 03 + sta StarFieldCount ; CPU:$D57E PRG:557E 85 06 + beq NmiHandler_Loop170 ; CPU:$D580 PRG:5580 F0 75 + and #$7F ; CPU:$D582 PRG:5582 29 7F + sta Zp07 ; CPU:$D584 PRG:5584 85 07 + cmp #$10 ; CPU:$D586 PRG:5586 C9 10 + bcs NmiHandler_Loop167 ; CPU:$D588 PRG:5588 B0 03 + jmp Sub_D703 ; CPU:$D58A PRG:558A 4C 03 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop167: + asl a ; CPU:$D58D PRG:558D 0A + sta TilePtrLo ; CPU:$D58E PRG:558E 85 08 + and #$E0 ; CPU:$D590 PRG:5590 29 E0 + adc #$20 ; CPU:$D592 PRG:5592 69 20 + asl a ; CPU:$D594 PRG:5594 0A + sta PpuAddrLow ; CPU:$D595 PRG:5595 85 04 + lda #$20 ; CPU:$D597 PRG:5597 A9 20 + adc #$00 ; CPU:$D599 PRG:5599 69 00 + sta PpuAddrHigh ; CPU:$D59B PRG:559B 85 05 + lda TilePtrLo ; CPU:$D59D PRG:559D A5 08 + and #$1F ; CPU:$D59F PRG:559F 29 1F + clc ; CPU:$D5A1 PRG:55A1 18 + adc PpuAddrLow ; CPU:$D5A2 PRG:55A2 65 04 + sta PpuAddrLow ; CPU:$D5A4 PRG:55A4 85 04 + lda StarFieldCount ; CPU:$D5A6 PRG:55A6 A5 06 + and #$70 ; CPU:$D5A8 PRG:55A8 29 70 + ora #$0F ; CPU:$D5AA PRG:55AA 09 0F + tay ; CPU:$D5AC PRG:55AC A8 + lda $0400,y ; CPU:$D5AD PRG:55AD B9 00 04 + tay ; CPU:$D5B0 PRG:55B0 A8 + ldx Zp07 ; CPU:$D5B1 PRG:55B1 A6 07 + cpx #$30 ; CPU:$D5B3 PRG:55B3 E0 30 + bcs NmiHandler_Loop168 ; CPU:$D5B5 PRG:55B5 B0 05 + lda #$80 ; CPU:$D5B7 PRG:55B7 A9 80 + jmp Sub_D5BE ; CPU:$D5B9 PRG:55B9 4C BE D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + lda #$9C ; CPU:$D5BC PRG:55BC A9 9C +; ----------------------------------------------------------------------------- +; Routine: Sub_D5BE +; Global: Branch target inside Sub: taken when D5BE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5BE: + sta Zp0C ; CPU:$D5BE PRG:55BE 85 0C + lda $FB85,y ; CPU:$D5C0 PRG:55C0 B9 85 FB + sta TilePtrLo ; CPU:$D5C3 PRG:55C3 85 08 + lda StarFieldCount ; CPU:$D5C5 PRG:55C5 A5 06 + and #$0F ; CPU:$D5C7 PRG:55C7 29 0F + clc ; CPU:$D5C9 PRG:55C9 18 + adc TilePtrLo ; CPU:$D5CA PRG:55CA 65 08 + tay ; CPU:$D5CC PRG:55CC A8 + lda $FBA1,y ; CPU:$D5CD PRG:55CD B9 A1 FB + sta Zp0D ; CPU:$D5D0 PRG:55D0 85 0D + and #$07 ; CPU:$D5D2 PRG:55D2 29 07 + clc ; CPU:$D5D4 PRG:55D4 18 + adc PpuAddrLow ; CPU:$D5D5 PRG:55D5 65 04 + sta PpuAddrLow ; CPU:$D5D7 PRG:55D7 85 04 + lda StarFieldCount ; CPU:$D5D9 PRG:55D9 A5 06 + bmi NmiHandler_Loop169 ; CPU:$D5DB PRG:55DB 30 11 + lda Zp0D ; CPU:$D5DD PRG:55DD A5 0D + and #$F8 ; CPU:$D5DF PRG:55DF 29 F8 + lsr a ; CPU:$D5E1 PRG:55E1 4A + adc Zp0C ; CPU:$D5E2 PRG:55E2 65 0C + sta Zp20 ; CPU:$D5E4 PRG:55E4 85 20 + clc ; CPU:$D5E6 PRG:55E6 18 + adc #$02 ; CPU:$D5E7 PRG:55E7 69 02 + sta Zp21 ; CPU:$D5E9 PRG:55E9 85 21 + jmp Sub_D736 ; CPU:$D5EB PRG:55EB 4C 36 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + lda #$24 ; CPU:$D5EE PRG:55EE A9 24 + sta Zp20 ; CPU:$D5F0 PRG:55F0 85 20 + sta Zp21 ; CPU:$D5F2 PRG:55F2 85 21 + jmp Sub_D736 ; CPU:$D5F4 PRG:55F4 4C 36 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + jsr NmiHandler_OnNonzero43 ; CPU:$D5F7 PRG:55F7 20 FD D5 + jmp Sub_D739 ; CPU:$D5FA PRG:55FA 4C 39 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero43: + lda #$C2 ; CPU:$D5FD PRG:55FD A9 C2 + sta PpuAddrLow ; CPU:$D5FF PRG:55FF 85 04 + lda #$23 ; CPU:$D601 PRG:5601 A9 23 + sta PpuAddrHigh ; CPU:$D603 PRG:5603 85 05 + ldy #$02 ; CPU:$D605 PRG:5605 A0 02 + ldx #$8A ; CPU:$D607 PRG:5607 A2 8A + lda #$04 ; CPU:$D609 PRG:5609 A9 04 + jmp Sub_C15C ; CPU:$D60B PRG:560B 4C 5C C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D60E +; Global: Branch target inside Sub: taken when D60E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D60E: + ldx $0496 ; CPU:$D60E PRG:560E AE 96 04 + beq NmiHandler_Loop171 ; CPU:$D611 PRG:5611 F0 0A + dex ; CPU:$D613 PRG:5613 CA + bne NmiHandler_OnNonzero43 ; CPU:$D614 PRG:5614 D0 E7 + ldx #$78 ; CPU:$D616 PRG:5616 A2 78 + lda #$FB ; CPU:$D618 PRG:5618 A9 FB + jmp Sub_C117 ; CPU:$D61A PRG:561A 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop171: + ldx #$6F ; CPU:$D61D PRG:561D A2 6F + lda #$FB ; CPU:$D61F PRG:561F A9 FB + jmp Sub_C117 ; CPU:$D621 PRG:5621 4C 17 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero8: + lda #$00 ; CPU:$D624 PRG:5624 A9 00 + sta $0497,x ; CPU:$D626 PRG:5626 9D 97 04 + jmp Sub_D739 ; CPU:$D629 PRG:5629 4C 39 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative3 +; Global: Branch target inside NmiHandler: taken when OnNegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative3: + ldx #$03 ; CPU:$D62C PRG:562C A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative20 +; Global: Branch target inside NmiHandler: taken when OnNonnegative20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative20: + lda $0497,x ; CPU:$D62E PRG:562E BD 97 04 + cmp Zp07 ; CPU:$D631 PRG:5631 C5 07 + beq NmiHandler_OnZero8 ; CPU:$D633 PRG:5633 F0 EF + dex ; CPU:$D635 PRG:5635 CA + bpl NmiHandler_OnNonnegative20 ; CPU:$D636 PRG:5636 10 F6 + ldx $040F ; CPU:$D638 PRG:5638 AE 0F 04 + lda $FB85,x ; CPU:$D63B PRG:563B BD 85 FB + tax ; CPU:$D63E PRG:563E AA + lda $FBA1,x ; CPU:$D63F PRG:563F BD A1 FB + and #$07 ; CPU:$D642 PRG:5642 29 07 + sta PpuAddrLow ; CPU:$D644 PRG:5644 85 04 + lda Zp07 ; CPU:$D646 PRG:5646 A5 07 + asl a ; CPU:$D648 PRG:5648 0A + adc PpuAddrLow ; CPU:$D649 PRG:5649 65 04 + clc ; CPU:$D64B PRG:564B 18 + adc #$40 ; CPU:$D64C PRG:564C 69 40 + sta PpuAddrLow ; CPU:$D64E PRG:564E 85 04 + lda $040F ; CPU:$D650 PRG:5650 AD 0F 04 + ror a ; CPU:$D653 PRG:5653 6A + bcs NmiHandler_Loop172 ; CPU:$D654 PRG:5654 B0 09 + lda #$24 ; CPU:$D656 PRG:5656 A9 24 + sta Zp20 ; CPU:$D658 PRG:5658 85 20 + sta Zp21 ; CPU:$D65A PRG:565A 85 21 + jmp Sub_D736 ; CPU:$D65C PRG:565C 4C 36 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + dec PpuAddrLow ; CPU:$D65F PRG:565F C6 04 + ldx Zp07 ; CPU:$D661 PRG:5661 A6 07 + lda $03FF,x ; CPU:$D663 PRG:5663 BD FF 03 + ldy #$24 ; CPU:$D666 PRG:5666 A0 24 + cmp TilePtrLo ; CPU:$D668 PRG:5668 C5 08 + bne NmiHandler_Loop173 ; CPU:$D66A PRG:566A D0 02 + ldy #$7A ; CPU:$D66C PRG:566C A0 7A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop173: + sty Zp20 ; CPU:$D66E PRG:566E 84 20 + lda #$24 ; CPU:$D670 PRG:5670 A9 24 + sta Zp21 ; CPU:$D672 PRG:5672 85 21 + lda $0401,x ; CPU:$D674 PRG:5674 BD 01 04 + ldy #$24 ; CPU:$D677 PRG:5677 A0 24 + cmp TilePtrLo ; CPU:$D679 PRG:5679 C5 08 + bne NmiHandler_Loop174 ; CPU:$D67B PRG:567B D0 02 + ldy #$7C ; CPU:$D67D PRG:567D A0 7C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + sty Zp22 ; CPU:$D67F PRG:567F 84 22 + jmp Sub_D6E9 ; CPU:$D681 PRG:5681 4C E9 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_D684 +; Global: Branch target inside Sub: taken when D684. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D684: + lda #$20 ; CPU:$D684 PRG:5684 A9 20 + sta PpuAddrHigh ; CPU:$D686 PRG:5686 85 05 + ldx $0496 ; CPU:$D688 PRG:5688 AE 96 04 + inx ; CPU:$D68B PRG:568B E8 + txa ; CPU:$D68C PRG:568C 8A + eor #$03 ; CPU:$D68D PRG:568D 49 03 + sta TilePtrLo ; CPU:$D68F PRG:568F 85 08 + lda StarFieldCount ; CPU:$D691 PRG:5691 A5 06 + bmi NmiHandler_OnNegative3 ; CPU:$D693 PRG:5693 30 97 + ldx Zp07 ; CPU:$D695 PRG:5695 A6 07 + lda $0400,x ; CPU:$D697 PRG:5697 BD 00 04 + cmp TilePtrLo ; CPU:$D69A PRG:569A C5 08 + bne NmiHandler_Loop178 ; CPU:$D69C PRG:569C D0 55 + ldx $040F ; CPU:$D69E PRG:569E AE 0F 04 + lda $FB85,x ; CPU:$D6A1 PRG:56A1 BD 85 FB + tax ; CPU:$D6A4 PRG:56A4 AA + lda $FBA1,x ; CPU:$D6A5 PRG:56A5 BD A1 FB + and #$07 ; CPU:$D6A8 PRG:56A8 29 07 + sta PpuAddrLow ; CPU:$D6AA PRG:56AA 85 04 + lda Zp07 ; CPU:$D6AC PRG:56AC A5 07 + asl a ; CPU:$D6AE PRG:56AE 0A + adc PpuAddrLow ; CPU:$D6AF PRG:56AF 65 04 + clc ; CPU:$D6B1 PRG:56B1 18 + adc #$40 ; CPU:$D6B2 PRG:56B2 69 40 + sta PpuAddrLow ; CPU:$D6B4 PRG:56B4 85 04 + lda $040F ; CPU:$D6B6 PRG:56B6 AD 0F 04 + ror a ; CPU:$D6B9 PRG:56B9 6A + bcs NmiHandler_Loop175 ; CPU:$D6BA PRG:56BA B0 0B + lda #$70 ; CPU:$D6BC PRG:56BC A9 70 + sta Zp20 ; CPU:$D6BE PRG:56BE 85 20 + lda #$72 ; CPU:$D6C0 PRG:56C0 A9 72 + sta Zp21 ; CPU:$D6C2 PRG:56C2 85 21 + jmp Sub_D736 ; CPU:$D6C4 PRG:56C4 4C 36 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: + dec PpuAddrLow ; CPU:$D6C7 PRG:56C7 C6 04 + ldx Zp07 ; CPU:$D6C9 PRG:56C9 A6 07 + lda $03FF,x ; CPU:$D6CB PRG:56CB BD FF 03 + ldy #$7C ; CPU:$D6CE PRG:56CE A0 7C + cmp TilePtrLo ; CPU:$D6D0 PRG:56D0 C5 08 + bne NmiHandler_Loop176 ; CPU:$D6D2 PRG:56D2 D0 02 + ldy #$7E ; CPU:$D6D4 PRG:56D4 A0 7E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop176: + sty Zp20 ; CPU:$D6D6 PRG:56D6 84 20 + lda #$78 ; CPU:$D6D8 PRG:56D8 A9 78 + sta Zp21 ; CPU:$D6DA PRG:56DA 85 21 + lda $0401,x ; CPU:$D6DC PRG:56DC BD 01 04 + ldy #$7A ; CPU:$D6DF PRG:56DF A0 7A + cmp TilePtrLo ; CPU:$D6E1 PRG:56E1 C5 08 + bne NmiHandler_Loop177 ; CPU:$D6E3 PRG:56E3 D0 02 + ldy #$7E ; CPU:$D6E5 PRG:56E5 A0 7E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop177: + sty Zp22 ; CPU:$D6E7 PRG:56E7 84 22 +; ----------------------------------------------------------------------------- +; Routine: Sub_D6E9 +; Global: Branch target inside Sub: taken when D6E9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D6E9: + inc Zp02 ; CPU:$D6E9 PRG:56E9 E6 02 + jsr Sub_D4F8 ; CPU:$D6EB PRG:56EB 20 F8 D4 + dec Zp02 ; CPU:$D6EE PRG:56EE C6 02 + jmp Sub_D739 ; CPU:$D6F0 PRG:56F0 4C 39 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + ldx #$04 ; CPU:$D6F3 PRG:56F3 A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero44: + dex ; CPU:$D6F5 PRG:56F5 CA + lda $0497,x ; CPU:$D6F6 PRG:56F6 BD 97 04 + bne NmiHandler_OnNonzero44 ; CPU:$D6F9 PRG:56F9 D0 FA + lda Zp07 ; CPU:$D6FB PRG:56FB A5 07 + sta $0497,x ; CPU:$D6FD PRG:56FD 9D 97 04 + jmp Sub_D739 ; CPU:$D700 PRG:5700 4C 39 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D703 +; Global: Branch target inside Sub: taken when D703. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D703: + ldx $040F ; CPU:$D703 PRG:5703 AE 0F 04 + cpx #$0C ; CPU:$D706 PRG:5706 E0 0C + bcc NmiHandler_Loop179 ; CPU:$D708 PRG:5708 90 03 + jmp Sub_D684 ; CPU:$D70A PRG:570A 4C 84 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop179: + tax ; CPU:$D70D PRG:570D AA + asl a ; CPU:$D70E PRG:570E 0A + adc #$42 ; CPU:$D70F PRG:570F 69 42 + sta PpuAddrLow ; CPU:$D711 PRG:5711 85 04 + lda #$20 ; CPU:$D713 PRG:5713 A9 20 + adc #$00 ; CPU:$D715 PRG:5715 69 00 + sta PpuAddrHigh ; CPU:$D717 PRG:5717 85 05 + lda StarFieldCount ; CPU:$D719 PRG:5719 A5 06 + bpl NmiHandler_Loop180 ; CPU:$D71B PRG:571B 10 09 + lda #$24 ; CPU:$D71D PRG:571D A9 24 + sta Zp20 ; CPU:$D71F PRG:571F 85 20 + sta Zp21 ; CPU:$D721 PRG:5721 85 21 + jmp Sub_D736 ; CPU:$D723 PRG:5723 4C 36 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop180: + lda $040F ; CPU:$D726 PRG:5726 AD 0F 04 + ror a ; CPU:$D729 PRG:5729 6A + ldx #$70 ; CPU:$D72A PRG:572A A2 70 + bcs NmiHandler_Loop181 ; CPU:$D72C PRG:572C B0 02 + ldx #$74 ; CPU:$D72E PRG:572E A2 74 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop181: + stx Zp20 ; CPU:$D730 PRG:5730 86 20 + inx ; CPU:$D732 PRG:5732 E8 + inx ; CPU:$D733 PRG:5733 E8 + stx Zp21 ; CPU:$D734 PRG:5734 86 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_D736 +; Global: Branch target inside Sub: taken when D736. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D736: + jsr Sub_D4F8 ; CPU:$D736 PRG:5736 20 F8 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D739 +; Global: Branch target inside Sub: taken when D739. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D739: + ldx Zp68 ; CPU:$D739 PRG:5739 A6 68 + inx ; CPU:$D73B PRG:573B E8 + txa ; CPU:$D73C PRG:573C 8A + and #$07 ; CPU:$D73D PRG:573D 29 07 + sta Zp68 ; CPU:$D73F PRG:573F 85 68 + dec Zp0E ; CPU:$D741 PRG:5741 C6 0E + beq NmiHandler_OnCarryClear7 ; CPU:$D743 PRG:5743 F0 03 + jmp Sub_D575 ; CPU:$D745 PRG:5745 4C 75 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear7 +; Global: Branch target inside NmiHandler: taken when OnCarryClear7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear7: + rts ; CPU:$D748 PRG:5748 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D749 +; Global: Branch target inside Sub: taken when D749. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D749: + sta Zp1F ; CPU:$D749 PRG:5749 85 1F + sec ; CPU:$D74B PRG:574B 38 + sbc #$03 ; CPU:$D74C PRG:574C E9 03 + bcc NmiHandler_OnCarryClear7 ; CPU:$D74E PRG:574E 90 F8 + ror a ; CPU:$D750 PRG:5750 6A + ldx #$CF ; CPU:$D751 PRG:5751 A2 CF + bcc NmiHandler_Loop182 ; CPU:$D753 PRG:5753 90 02 + ldx #$3F ; CPU:$D755 PRG:5755 A2 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + stx Zp1E ; CPU:$D757 PRG:5757 86 1E + ror a ; CPU:$D759 PRG:5759 6A + ldx #$00 ; CPU:$D75A PRG:575A A2 00 + bcc NmiHandler_Loop183 ; CPU:$D75C PRG:575C 90 01 + inx ; CPU:$D75E PRG:575E E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + lda $048A,x ; CPU:$D75F PRG:575F BD 8A 04 + and Zp1E ; CPU:$D762 PRG:5762 25 1E + sta $048A,x ; CPU:$D764 PRG:5764 9D 8A 04 + lda $040F ; CPU:$D767 PRG:5767 AD 0F 04 + cmp #$0C ; CPU:$D76A PRG:576A C9 0C + bcc NmiHandler_Loop184 ; CPU:$D76C PRG:576C 90 01 + rts ; CPU:$D76E PRG:576E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: + lda #$00 ; CPU:$D76F PRG:576F A9 00 + sta Zp1E ; CPU:$D771 PRG:5771 85 1E + jmp Sub_D561 ; CPU:$D773 PRG:5773 4C 61 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear8 +; Global: Branch target inside NmiHandler: taken when OnCarryClear8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear8: + ldx Zp1F ; CPU:$D776 PRG:5776 A6 1F + cpx #$0C ; CPU:$D778 PRG:5778 E0 0C + bcs NmiHandler_Loop185 ; CPU:$D77A PRG:577A B0 05 + tax ; CPU:$D77C PRG:577C AA + lda $FB7E,x ; CPU:$D77D PRG:577D BD 7E FB + rts ; CPU:$D780 PRG:5780 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop185: clc ; CPU:$D781 PRG:5781 18 adc Zp1E ; CPU:$D782 PRG:5782 65 1E tax ; CPU:$D784 PRG:5784 AA @@ -3223,7 +7691,7 @@ Sub_D78C: sta Zp1E ; CPU:$D799 PRG:5799 85 1E pla ; CPU:$D79B PRG:579B 68 cmp #$10 ; CPU:$D79C PRG:579C C9 10 - bcc NmiHandler_OnCarryClear2 ; CPU:$D79E PRG:579E 90 D6 + bcc NmiHandler_OnCarryClear8 ; CPU:$D79E PRG:579E 90 D6 and #$0F ; CPU:$D7A0 PRG:57A0 29 0F clc ; CPU:$D7A2 PRG:57A2 18 adc Zp1E ; CPU:$D7A3 PRG:57A3 65 1E @@ -3243,8 +7711,20 @@ Sub_D7AA: clc ; CPU:$D7AC PRG:57AC 18 adc #$17 ; CPU:$D7AD PRG:57AD 69 17 rts ; CPU:$D7AF PRG:57AF 60 -; ---- data $D7B0-$D7B9 (10 bytes) ---- - .byte $20, $8C, $D7, $85, $11, $A9, $17, $85, $10, $60 ; CPU:$D7B0 PRG:57B0 20 8C D7 85 11 A9 17 85 10 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D7B0 +; Global: Branch target inside Label: taken when D7B0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D7B0: + jsr Sub_D78C ; CPU:$D7B0 PRG:57B0 20 8C D7 + sta Zp11 ; CPU:$D7B3 PRG:57B3 85 11 + lda #$17 ; CPU:$D7B5 PRG:57B5 A9 17 + sta Zp10 ; CPU:$D7B7 PRG:57B7 85 10 + rts ; CPU:$D7B9 PRG:57B9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D7BA ; Global: Branch target inside Sub: taken when D7BA. @@ -3261,313 +7741,4850 @@ Sub_D7BA: jsr Sub_D78C ; CPU:$D7C1 PRG:57C1 20 8C D7 sta Zp11 ; CPU:$D7C4 PRG:57C4 85 11 rts ; CPU:$D7C6 PRG:57C6 60 -; ---- data $D7C7-$EAD9 (4883 bytes) ---- - .byte $A5, $78, $85, $1C, $AA, $E8, $D0, $02, $A2, $F8, $86, $78, $29, $07, $A8, $AA ; CPU:$D7C7 PRG:57C7 A5 78 85 1C AA E8 D0 02 A2 F8 86 78 29 07 A8 AA - .byte $E8, $E8, $E8, $B9, $C7, $FD, $A0, $09, $99, $B0, $04, $88, $10, $FA, $A9, $02 ; CPU:$D7D7 PRG:57D7 E8 E8 E8 B9 C7 FD A0 09 99 B0 04 88 10 FA A9 02 - .byte $8D, $B2, $04, $A9, $03, $8D, $64, $04, $A9, $00, $8D, $52, $04, $8D, $9C, $04 ; CPU:$D7E7 PRG:57E7 8D B2 04 A9 03 8D 64 04 A9 00 8D 52 04 8D 9C 04 - .byte $85, $C1, $85, $C2, $85, $C3, $85, $C4, $A9, $08, $85, $C0, $A5, $1C, $4A, $C9 ; CPU:$D7F7 PRG:57F7 85 C1 85 C2 85 C3 85 C4 A9 08 85 C0 A5 1C 4A C9 - .byte $03, $90, $02, $A9, $03, $A8, $B9, $16, $D8, $8D, $78, $04, $4C, $42, $D8, $04 ; CPU:$D807 PRG:5807 03 90 02 A9 03 A8 B9 16 D8 8D 78 04 4C 42 D8 04 - .byte $03, $01, $00, $A2, $09, $BD, $BD, $FD, $9D, $B0, $04, $CA, $10, $F7, $A9, $02 ; CPU:$D817 PRG:5817 03 01 00 A2 09 BD BD FD 9D B0 04 CA 10 F7 A9 02 - .byte $8D, $64, $04, $AD, $52, $04, $0A, $0A, $6D, $52, $04, $AA, $BD, $A4, $FD, $8D ; CPU:$D827 PRG:5827 8D 64 04 AD 52 04 0A 0A 6D 52 04 AA BD A4 FD 8D - .byte $9C, $04, $AD, $5B, $04, $8D, $78, $04, $AE, $50, $04, $8A, $0A, $AA, $BD, $3D ; CPU:$D837 PRG:5837 9C 04 AD 5B 04 8D 78 04 AE 50 04 8A 0A AA BD 3D - .byte $FE, $85, $74, $BD, $3E, $FE, $85, $75, $8A, $85, $1C, $0A, $0A, $65, $1C, $69 ; CPU:$D847 PRG:5847 FE 85 74 BD 3E FE 85 75 8A 85 1C 0A 0A 65 1C 69 - .byte $CF, $85, $76, $A9, $FD, $69, $00, $85, $77, $A9, $28, $8D, $94, $04, $A9, $00 ; CPU:$D857 PRG:5857 CF 85 76 A9 FD 69 00 85 77 A9 28 8D 94 04 A9 00 - .byte $85, $73, $8D, $9B, $04, $A2, $02, $95, $70, $CA, $10, $FB, $60, $AD, $64, $04 ; CPU:$D867 PRG:5867 85 73 8D 9B 04 A2 02 95 70 CA 10 FB 60 AD 64 04 - .byte $20, $01, $C3, $51, $D9, $66, $D9, $8C, $D8, $8C, $D8, $A9, $00, $8D, $64, $04 ; CPU:$D877 PRG:5877 20 01 C3 51 D9 66 D9 8C D8 8C D8 A9 00 8D 64 04 - .byte $A9, $03, $85, $C0, $60, $A6, $70, $BD, $8F, $FE, $10, $45, $AD, $95, $04, $05 ; CPU:$D887 PRG:5887 A9 03 85 C0 60 A6 70 BD 8F FE 10 45 AD 95 04 05 - .byte $7A, $F0, $01, $60, $A5, $7C, $C9, $02, $F0, $F9, $C6, $73, $10, $F5, $E6, $70 ; CPU:$D897 PRG:5897 7A F0 01 60 A5 7C C9 02 F0 F9 C6 73 10 F5 E6 70 - .byte $BD, $8F, $FE, $C9, $FF, $F0, $D4, $A2, $00, $AD, $64, $04, $6A, $90, $02, $A2 ; CPU:$D8A7 PRG:58A7 BD 8F FE C9 FF F0 D4 A2 00 AD 64 04 6A 90 02 A2 - .byte $3C, $86, $73, $E6, $71, $E6, $71, $AD, $52, $04, $0A, $0A, $6D, $52, $04, $85 ; CPU:$D8B7 PRG:58B7 3C 86 73 E6 71 E6 71 AD 52 04 0A 0A 6D 52 04 85 - .byte $1C, $A5, $71, $4A, $65, $1C, $AA, $BD, $A4, $FD, $8D, $9C, $04, $A9, $08, $85 ; CPU:$D8C7 PRG:58C7 1C A5 71 4A 65 1C AA BD A4 FD 8D 9C 04 A9 08 85 - .byte $C0, $A4, $71, $A5, $72, $D1, $74, $B0, $03, $E6, $72, $60, $A9, $00, $85, $72 ; CPU:$D8D7 PRG:58D7 C0 A4 71 A5 72 D1 74 B0 03 E6 72 60 A9 00 85 72 - .byte $20, $D8, $DA, $A6, $70, $BD, $8F, $FE, $85, $2B, $F0, $20, $C9, $01, $D0, $31 ; CPU:$D8E7 PRG:58E7 20 D8 DA A6 70 BD 8F FE 85 2B F0 20 C9 01 D0 31 - .byte $A5, $7C, $10, $3F, $AD, $64, $04, $6A, $B0, $39, $20, $3F, $D9, $A2, $01, $86 ; CPU:$D8F7 PRG:58F7 A5 7C 10 3F AD 64 04 6A B0 39 20 3F D9 A2 01 86 - .byte $20, $E8, $86, $7C, $A0, $10, $20, $21, $DB, $4C, $3A, $D9, $AD, $9C, $04, $D0 ; CPU:$D907 PRG:5907 20 E8 86 7C A0 10 20 21 DB 4C 3A D9 AD 9C 04 D0 - .byte $0D, $E8, $E6, $70, $BD, $8F, $FE, $F0, $F3, $10, $C5, $4C, $93, $D8, $CE, $9C ; CPU:$D917 PRG:5917 0D E8 E6 70 BD 8F FE F0 F3 10 C5 4C 93 D8 CE 9C - .byte $04, $20, $3F, $D9, $85, $20, $98, $49, $01, $85, $71, $AD, $53, $04, $85, $2C ; CPU:$D927 PRG:5927 04 20 3F D9 85 20 98 49 01 85 71 AD 53 04 85 2C - .byte $20, $10, $DB, $E6, $70, $4C, $8C, $D8, $A4, $71, $B1, $76, $29, $80, $85, $27 ; CPU:$D937 PRG:5937 20 10 DB E6 70 4C 8C D8 A4 71 B1 76 29 80 85 27 - .byte $B1, $76, $29, $7F, $85, $25, $B9, $B0, $04, $60, $AD, $59, $04, $CD, $94, $04 ; CPU:$D947 PRG:5947 B1 76 29 7F 85 25 B9 B0 04 60 AD 59 04 CD 94 04 - .byte $90, $0D, $A9, $01, $8D, $64, $04, $AD, $95, $04, $CD, $76, $04, $B0, $EA, $AD ; CPU:$D957 PRG:5957 90 0D A9 01 8D 64 04 AD 95 04 CD 76 04 B0 EA AD - .byte $95, $04, $C9, $08, $B0, $E3, $A5, $7A, $D0, $DF, $20, $D8, $DA, $AD, $5A, $04 ; CPU:$D967 PRG:5967 95 04 C9 08 B0 E3 A5 7A D0 DF 20 D8 DA AD 5A 04 - .byte $F0, $57, $AD, $94, $04, $38, $E9, $05, $C9, $06, $B0, $4D, $A2, $00, $BD, $D5 ; CPU:$D977 PRG:5977 F0 57 AD 94 04 38 E9 05 C9 06 B0 4D A2 00 BD D5 - .byte $FE, $A8, $B9, $00, $04, $D0, $07, $E8, $E0, $24, $90, $F2, $B0, $3B, $84, $2B ; CPU:$D987 PRG:5987 FE A8 B9 00 04 D0 07 E8 E0 24 90 F2 B0 3B 84 2B - .byte $AE, $5A, $04, $BD, $C9, $D9, $85, $20, $85, $2D, $BD, $CC, $D9, $85, $25, $20 ; CPU:$D997 PRG:5997 AE 5A 04 BD C9 D9 85 20 85 2D BD CC D9 85 25 20 - .byte $E2, $DA, $A0, $00, $8C, $A0, $05, $8C, $5A, $04, $84, $2B, $C8, $8C, $99, $05 ; CPU:$D9A7 PRG:59A7 E2 DA A0 00 8C A0 05 8C 5A 04 84 2B C8 8C 99 05 - .byte $E6, $25, $A5, $20, $09, $80, $85, $20, $A0, $C0, $20, $21, $DB, $A0, $D0, $20 ; CPU:$D9B7 PRG:59B7 E6 25 A5 20 09 80 85 20 A0 C0 20 21 DB A0 D0 20 - .byte $21, $DB, $60, $07, $08, $06, $29, $2B, $2D, $AD, $73, $04, $D0, $1B, $EE, $6A ; CPU:$D9C7 PRG:59C7 21 DB 60 07 08 06 29 2B 2D AD 73 04 D0 1B EE 6A - .byte $04, $AD, $6A, $04, $CD, $67, $04, $90, $10, $A2, $00, $BD, $D1, $FE, $A8, $B9 ; CPU:$D9D7 PRG:59D7 04 AD 6A 04 CD 67 04 90 10 A2 00 BD D1 FE A8 B9 - .byte $00, $04, $D0, $08, $E8, $E0, $04, $90, $F2, $4C, $73, $DA, $84, $2B, $49, $FF ; CPU:$D9E7 PRG:59E7 00 04 D0 08 E8 E0 04 90 F2 4C 73 DA 84 2B 49 FF - .byte $38, $69, $04, $85, $20, $20, $17, $C3, $29, $80, $85, $27, $A5, $79, $D0, $13 ; CPU:$D9F7 PRG:59F7 38 69 04 85 20 20 17 C3 29 80 85 27 A5 79 D0 13 - .byte $AD, $9B, $04, $EE, $9B, $04, $6A, $90, $0A, $A9, $21, $85, $25, $20, $F9, $DA ; CPU:$DA07 PRG:5A07 AD 9B 04 EE 9B 04 6A 90 0A A9 21 85 25 20 F9 DA - .byte $4C, $6D, $DA, $A9, $20, $85, $25, $20, $F4, $DA, $84, $1C, $A5, $2B, $18, $69 ; CPU:$DA17 PRG:5A17 4C 6D DA A9 20 85 25 20 F4 DA 84 1C A5 2B 18 69 - .byte $0F, $85, $1D, $A5, $27, $85, $1A, $A9, $00, $85, $18, $A9, $03, $85, $1B, $A6 ; CPU:$DA27 PRG:5A27 0F 85 1D A5 27 85 1A A9 00 85 18 A9 03 85 1B A6 - .byte $1D, $BD, $00, $04, $F0, $20, $20, $D8, $DA, $A5, $1D, $85, $2B, $A5, $1A, $85 ; CPU:$DA37 PRG:5A37 1D BD 00 04 F0 20 20 D8 DA A5 1D 85 2B A5 1A 85 - .byte $27, $A9, $04, $85, $20, $85, $2D, $A9, $27, $85, $25, $20, $F4, $DA, $E6, $18 ; CPU:$DA47 PRG:5A47 27 A9 04 85 20 85 2D A9 27 85 25 20 F4 DA E6 18 - .byte $A5, $18, $C9, $02, $B0, $06, $E6, $1D, $C6, $1B, $D0, $D3, $A6, $1C, $CA, $CA ; CPU:$DA57 PRG:5A57 A5 18 C9 02 B0 06 E6 1D C6 1B D0 D3 A6 1C CA CA - .byte $CA, $A5, $18, $9D, $00, $02, $A9, $00, $8D, $6A, $04, $60, $A5, $48, $6A, $90 ; CPU:$DA67 PRG:5A67 CA A5 18 9D 00 02 A9 00 8D 6A 04 60 A5 48 6A 90 - .byte $30, $EE, $68, $04, $AD, $68, $04, $CD, $65, $04, $B0, $01, $60, $A2, $00, $BD ; CPU:$DA77 PRG:5A77 30 EE 68 04 AD 68 04 CD 65 04 B0 01 60 A2 00 BD - .byte $E9, $FE, $A8, $B9, $00, $04, $D0, $06, $E8, $E0, $10, $90, $F2, $60, $84, $2B ; CPU:$DA87 PRG:5A87 E9 FE A8 B9 00 04 D0 06 E8 E0 10 90 F2 60 84 2B - .byte $A9, $04, $85, $20, $A9, $1E, $85, $25, $20, $E2, $DA, $A9, $00, $8D, $68, $04 ; CPU:$DA97 PRG:5A97 A9 04 85 20 A9 1E 85 25 20 E2 DA A9 00 8D 68 04 - .byte $60, $EE, $69, $04, $AD, $69, $04, $CD, $66, $04, $B0, $01, $60, $A2, $00, $BD ; CPU:$DAA7 PRG:5AA7 60 EE 69 04 AD 69 04 CD 66 04 B0 01 60 A2 00 BD - .byte $D5, $FE, $A8, $B9, $00, $04, $D0, $06, $E8, $E0, $14, $90, $F2, $60, $84, $2B ; CPU:$DAB7 PRG:5AB7 D5 FE A8 B9 00 04 D0 06 E8 E0 14 90 F2 60 84 2B - .byte $A9, $05, $85, $20, $A9, $1A, $85, $25, $20, $E2, $DA, $A9, $00, $8D, $69, $04 ; CPU:$DAC7 PRG:5AC7 A9 05 85 20 A9 1A 85 25 20 E2 DA A9 00 8D 69 04 - .byte $60, $A2, $0F, $A9, $00, $95, $20, $CA, $10, $FB, $60, $A5, $2B, $29, $0F, $C9 ; CPU:$DAD7 PRG:5AD7 60 A2 0F A9 00 95 20 CA 10 FB 60 A5 2B 29 0F C9 - .byte $05, $B0, $04, $A9, $80, $85, $27, $A5, $20, $C9, $06, $B0, $05, $AD, $70, $04 ; CPU:$DAE7 PRG:5AE7 05 B0 04 A9 80 85 27 A5 20 C9 06 B0 05 AD 70 04 - .byte $85, $2C, $A5, $2B, $20, $18, $D5, $A5, $2B, $20, $BA, $D7, $A5, $10, $85, $22 ; CPU:$DAF7 PRG:5AF7 85 2C A5 2B 20 18 D5 A5 2B 20 BA D7 A5 10 85 22 - .byte $A5, $11, $85, $23, $A9, $01, $8D, $A0, $05, $EE, $95, $04, $A0, $20, $B9, $00 ; CPU:$DB07 PRG:5B07 A5 11 85 23 A9 01 8D A0 05 EE 95 04 A0 20 B9 00 - .byte $02, $30, $07, $98, $18, $69, $10, $A8, $D0, $F4, $A9, $08, $85, $29, $85, $2A ; CPU:$DB17 PRG:5B17 02 30 07 98 18 69 10 A8 D0 F4 A9 08 85 29 85 2A - .byte $A2, $00, $B5, $20, $99, $00, $02, $C8, $E8, $E0, $10, $D0, $F5, $60, $A9, $02 ; CPU:$DB27 PRG:5B27 A2 00 B5 20 99 00 02 C8 E8 E0 10 D0 F5 60 A9 02 - .byte $85, $01, $A2, $20, $A5, $7C, $C9, $02, $D0, $02, $A2, $10, $86, $00, $A0, $00 ; CPU:$DB37 PRG:5B37 85 01 A2 20 A5 7C C9 02 D0 02 A2 10 86 00 A0 00 - .byte $B1, $00, $30, $03, $20, $5A, $DB, $A5, $00, $18, $69, $10, $85, $00, $C9, $E0 ; CPU:$DB47 PRG:5B47 B1 00 30 03 20 5A DB A5 00 18 69 10 85 00 C9 E0 - .byte $90, $EC, $60, $20, $E0, $DF, $A0, $07, $B1, $00, $29, $7F, $20, $01, $C3, $80 ; CPU:$DB57 PRG:5B57 90 EC 60 20 E0 DF A0 07 B1 00 29 7F 20 01 C3 80 - .byte $DB, $C1, $DE, $D8, $DD, $84, $DF, $6F, $DF, $97, $DF, $BC, $DF, $86, $DE, $B5 ; CPU:$DB67 PRG:5B67 DB C1 DE D8 DD 84 DF 6F DF 97 DF BC DF 86 DE B5 - .byte $DE, $8E, $DF, $C2, $DF, $97, $DD, $B5, $DE, $A0, $08, $B1, $00, $29, $E0, $AA ; CPU:$DB77 PRG:5B77 DE 8E DF C2 DF 97 DD B5 DE A0 08 B1 00 29 E0 AA - .byte $A0, $04, $B1, $00, $38, $FD, $59, $FF, $91, $00, $30, $4C, $A0, $08, $B1, $00 ; CPU:$DB87 PRG:5B87 A0 04 B1 00 38 FD 59 FF 91 00 30 4C A0 08 B1 00 - .byte $29, $E0, $F0, $43, $85, $04, $A0, $01, $B1, $00, $29, $1F, $18, $65, $04, $AA ; CPU:$DB97 PRG:5B97 29 E0 F0 43 85 04 A0 01 B1 00 29 1F 18 65 04 AA - .byte $BD, $3A, $FF, $A0, $09, $71, $00, $85, $04, $29, $0F, $91, $00, $A5, $04, $20 ; CPU:$DBA7 PRG:5BA7 BD 3A FF A0 09 71 00 85 04 29 0F 91 00 A5 04 20 - .byte $FB, $C3, $A0, $02, $18, $71, $00, $91, $00, $8A, $18, $69, $06, $AA, $BD, $3A ; CPU:$DBB7 PRG:5BB7 FB C3 A0 02 18 71 00 91 00 8A 18 69 06 AA BD 3A - .byte $FF, $A0, $0A, $71, $00, $85, $04, $29, $0F, $91, $00, $A5, $04, $20, $FB, $C3 ; CPU:$DBC7 PRG:5BC7 FF A0 0A 71 00 85 04 29 0F 91 00 A5 04 20 FB C3 - .byte $A0, $03, $18, $71, $00, $91, $00, $60, $A0, $0F, $B1, $00, $F0, $08, $38, $E9 ; CPU:$DBD7 PRG:5BD7 A0 03 18 71 00 91 00 60 A0 0F B1 00 F0 08 38 E9 - .byte $01, $91, $00, $20, $16, $E0, $20, $F1, $DF, $2A, $B0, $05, $2A, $B0, $19, $90 ; CPU:$DBE7 PRG:5BE7 01 91 00 20 16 E0 20 F1 DF 2A B0 05 2A B0 19 90 - .byte $2D, $2A, $B0, $42, $A0, $07, $B1, $00, $2A, $B0, $14, $A0, $01, $B1, $00, $38 ; CPU:$DBF7 PRG:5BF7 2D 2A B0 42 A0 07 B1 00 2A B0 14 A0 01 B1 00 38 - .byte $E9, $01, $B0, $18, $A9, $17, $90, $14, $A0, $07, $B1, $00, $2A, $B0, $EC, $A0 ; CPU:$DC07 PRG:5C07 E9 01 B0 18 A9 17 90 14 A0 07 B1 00 2A B0 EC A0 - .byte $01, $B1, $00, $18, $69, $01, $C9, $18, $90, $02, $A9, $00, $91, $00, $A5, $07 ; CPU:$DC17 PRG:5C17 01 B1 00 18 69 01 C9 18 90 02 A9 00 91 00 A5 07 - .byte $29, $3F, $0A, $0A, $85, $04, $A0, $04, $B1, $00, $18, $65, $04, $10, $02, $A9 ; CPU:$DC27 PRG:5C27 29 3F 0A 0A 85 04 A0 04 B1 00 18 65 04 10 02 A9 - .byte $00, $91, $00, $4C, $93, $DB, $2A, $B0, $0B, $A5, $07, $29, $1F, $A0, $0F, $91 ; CPU:$DC37 PRG:5C37 00 91 00 4C 93 DB 2A B0 0B A5 07 29 1F A0 0F 91 - .byte $00, $4C, $ED, $DB, $A5, $07, $29, $1F, $20, $01, $C3, $6E, $DC, $86, $DC, $8F ; CPU:$DC47 PRG:5C47 00 4C ED DB A5 07 29 1F 20 01 C3 6E DC 86 DC 8F - .byte $DC, $A6, $DC, $AF, $DC, $BF, $DC, $58, $DD, $CF, $DC, $49, $DD, $EE, $DC, $68 ; CPU:$DC57 PRG:5C57 DC A6 DC AF DC BF DC 58 DD CF DC 49 DD EE DC 68 - .byte $DD, $DC, $DC, $7A, $DD, $7E, $DD, $20, $F1, $DF, $A0, $07, $B1, $00, $2A, $90 ; CPU:$DC67 PRG:5C67 DD DC DC 7A DD 7E DD 20 F1 DF A0 07 B1 00 2A 90 - .byte $06, $A9, $C0, $38, $E5, $07, $2C, $A5, $07, $A0, $03, $91, $00, $10, $36, $20 ; CPU:$DC77 PRG:5C77 06 A9 C0 38 E5 07 2C A5 07 A0 03 91 00 10 36 20 - .byte $F1, $DF, $A0, $02, $91, $00, $10, $2D, $20, $F1, $DF, $A0, $07, $B1, $00, $2A ; CPU:$DC87 PRG:5C87 F1 DF A0 02 91 00 10 2D 20 F1 DF A0 07 B1 00 2A - .byte $A5, $07, $90, $05, $49, $FF, $38, $69, $18, $A0, $01, $91, $00, $10, $16, $20 ; CPU:$DC97 PRG:5C97 A5 07 90 05 49 FF 38 69 18 A0 01 91 00 10 16 20 - .byte $F1, $DF, $A0, $08, $91, $00, $10, $0D, $A0, $08, $B1, $00, $C9, $A0, $F0, $03 ; CPU:$DCA7 PRG:5CA7 F1 DF A0 08 91 00 10 0D A0 08 B1 00 C9 A0 F0 03 - .byte $18, $69, $20, $91, $00, $4C, $ED, $DB, $A0, $08, $B1, $00, $C9, $A0, $F0, $03 ; CPU:$DCB7 PRG:5CB7 18 69 20 91 00 4C ED DB A0 08 B1 00 C9 A0 F0 03 - .byte $38, $E9, $20, $91, $00, $4C, $ED, $DB, $AD, $51, $04, $F0, $F8, $A0, $08, $A9 ; CPU:$DCC7 PRG:5CC7 38 E9 20 91 00 4C ED DB AD 51 04 F0 F8 A0 08 A9 - .byte $A0, $91, $00, $D0, $F0, $AC, $58, $04, $F0, $EB, $A9, $60, $88, $D0, $02, $A9 ; CPU:$DCD7 PRG:5CD7 A0 91 00 D0 F0 AC 58 04 F0 EB A9 60 88 D0 02 A9 - .byte $40, $A0, $08, $91, $00, $D0, $DE, $A5, $7A, $D0, $05, $AD, $64, $04, $D0, $27 ; CPU:$DCE7 PRG:5CE7 40 A0 08 91 00 D0 DE A5 7A D0 05 AD 64 04 D0 27 - .byte $A0, $0B, $B1, $00, $20, $8C, $D7, $4C, $3E, $DD, $A0, $0B, $B1, $00, $20, $8C ; CPU:$DCF7 PRG:5CF7 A0 0B B1 00 20 8C D7 4C 3E DD A0 0B B1 00 20 8C - .byte $D7, $85, $04, $A0, $07, $B1, $00, $10, $07, $A5, $04, $38, $E9, $20, $D0, $27 ; CPU:$DD07 PRG:5D07 D7 85 04 A0 07 B1 00 10 07 A5 04 38 E9 20 D0 27 - .byte $A5, $04, $18, $69, $20, $D0, $20, $A0, $0C, $AD, $70, $04, $91, $00, $C8, $B1 ; CPU:$DD17 PRG:5D17 A5 04 18 69 20 D0 20 A0 0C AD 70 04 91 00 C8 B1 - .byte $00, $D0, $D7, $A0, $07, $A2, $70, $B1, $00, $10, $02, $A2, $10, $86, $04, $20 ; CPU:$DD27 PRG:5D27 00 D0 D7 A0 07 A2 70 B1 00 10 02 A2 10 86 04 20 - .byte $17, $C3, $29, $3F, $18, $65, $04, $A0, $03, $91, $00, $A9, $00, $88, $91, $00 ; CPU:$DD37 PRG:5D37 17 C3 29 3F 18 65 04 A0 03 91 00 A9 00 88 91 00 - .byte $D0, $83, $A5, $7A, $D0, $05, $AD, $64, $04, $D0, $25, $A9, $01, $85, $07, $D0 ; CPU:$DD47 PRG:5D47 D0 83 A5 7A D0 05 AD 64 04 D0 25 A9 01 85 07 D0 - .byte $03, $20, $F1, $DF, $A0, $07, $B1, $00, $29, $80, $05, $07, $91, $00, $4C, $5D ; CPU:$DD57 PRG:5D57 03 20 F1 DF A0 07 B1 00 29 80 05 07 91 00 4C 5D - .byte $DB, $20, $02, $E0, $A0, $05, $91, $00, $C8, $A9, $00, $91, $00, $20, $E0, $DF ; CPU:$DD67 PRG:5D67 DB 20 02 E0 A0 05 91 00 C8 A9 00 91 00 20 E0 DF - .byte $4C, $ED, $DB, $A2, $C0, $D0, $02, $A2, $D0, $A9, $20, $9D, $08, $02, $A0, $00 ; CPU:$DD77 PRG:5D77 4C ED DB A2 C0 D0 02 A2 D0 A9 20 9D 08 02 A0 00 - .byte $B1, $00, $9D, $00, $02, $E8, $C8, $C0, $04, $D0, $F5, $EE, $95, $04, $D0, $E0 ; CPU:$DD87 PRG:5D87 B1 00 9D 00 02 E8 C8 C0 04 D0 F5 EE 95 04 D0 E0 - .byte $A0, $0E, $B1, $00, $18, $69, $01, $C9, $40, $B0, $20, $91, $00, $29, $08, $85 ; CPU:$DD97 PRG:5D97 A0 0E B1 00 18 69 01 C9 40 B0 20 91 00 29 08 85 - .byte $04, $A0, $0B, $B1, $00, $48, $C9, $30, $A9, $00, $69, $04, $65, $04, $A0, $00 ; CPU:$DDA7 PRG:5DA7 04 A0 0B B1 00 48 C9 30 A9 00 69 04 65 04 A0 00 - .byte $91, $00, $68, $20, $8C, $D7, $A0, $03, $91, $00, $60, $88, $B1, $00, $48, $A9 ; CPU:$DDB7 PRG:5DB7 91 00 68 20 8C D7 A0 03 91 00 60 88 B1 00 48 A9 - .byte $00, $91, $00, $68, $A0, $00, $91, $00, $A9, $20, $A0, $08, $91, $00, $4C, $D1 ; CPU:$DDC7 PRG:5DC7 00 91 00 68 A0 00 91 00 A9 20 A0 08 91 00 4C D1 - .byte $DF, $A0, $07, $A9, $02, $91, $00, $A9, $00, $85, $08, $A0, $0B, $B1, $00, $85 ; CPU:$DDD7 PRG:5DD7 DF A0 07 A9 02 91 00 A9 00 85 08 A0 0B B1 00 85 - .byte $06, $C9, $01, $D0, $02, $A5, $7D, $20, $8C, $D7, $85, $07, $A0, $03, $B1, $00 ; CPU:$DDE7 PRG:5DE7 06 C9 01 D0 02 A5 7D 20 8C D7 85 07 A0 03 B1 00 - .byte $C5, $07, $F0, $09, $E6, $08, $B0, $03, $69, $01, $2C, $E9, $01, $91, $00, $A5 ; CPU:$DDF7 PRG:5DF7 C5 07 F0 09 E6 08 B0 03 69 01 2C E9 01 91 00 A5 - .byte $06, $C9, $01, $D0, $04, $A9, $07, $10, $03, $20, $AA, $D7, $85, $07, $A0, $02 ; CPU:$DE07 PRG:5E07 06 C9 01 D0 04 A9 07 10 03 20 AA D7 85 07 A0 02 - .byte $B1, $00, $C5, $07, $F0, $09, $E6, $08, $B0, $03, $69, $01, $2C, $E9, $01, $91 ; CPU:$DE17 PRG:5E17 B1 00 C5 07 F0 09 E6 08 B0 03 69 01 2C E9 01 91 - .byte $00, $A5, $48, $29, $03, $F0, $01, $60, $A0, $01, $B1, $00, $29, $1F, $AA, $F0 ; CPU:$DE27 PRG:5E27 00 A5 48 29 03 F0 01 60 A0 01 B1 00 29 1F AA F0 - .byte $18, $C9, $0C, $90, $09, $E8, $E0, $18, $90, $09, $A2, $00, $B0, $05, $CA, $10 ; CPU:$DE37 PRG:5E37 18 C9 0C 90 09 E8 E0 18 90 09 A2 00 B0 05 CA 10 - .byte $02, $A2, $17, $8A, $91, $00, $F0, $01, $60, $A5, $08, $D0, $FB, $A0, $00, $B1 ; CPU:$DE47 PRG:5E47 02 A2 17 8A 91 00 F0 01 60 A5 08 D0 FB A0 00 B1 - .byte $00, $C9, $01, $F0, $11, $C9, $02, $D0, $05, $A5, $06, $09, $08, $2C, $A5, $06 ; CPU:$DE57 PRG:5E57 00 C9 01 F0 11 C9 02 D0 05 A5 06 09 08 2C A5 06 - .byte $20, $38, $D5, $4C, $84, $DF, $A9, $01, $85, $7C, $A9, $04, $85, $79, $60, $A0 ; CPU:$DE67 PRG:5E67 20 38 D5 4C 84 DF A9 01 85 7C A9 04 85 79 60 A0 - .byte $07, $B1, $00, $29, $80, $09, $07, $91, $00, $A0, $08, $A9, $60, $91, $00, $20 ; CPU:$DE77 PRG:5E77 07 B1 00 29 80 09 07 91 00 A0 08 A9 60 91 00 20 - .byte $93, $DB, $A0, $02, $B1, $00, $85, $12, $C8, $B1, $00, $85, $13, $20, $5F, $C4 ; CPU:$DE87 PRG:5E87 93 DB A0 02 B1 00 85 12 C8 B1 00 85 13 20 5F C4 - .byte $A0, $01, $B1, $00, $29, $1F, $C5, $17, $F0, $0A, $B0, $03, $69, $01, $2C, $E9 ; CPU:$DE97 PRG:5E97 A0 01 B1 00 29 1F C5 17 F0 0A B0 03 69 01 2C E9 - .byte $01, $91, $00, $60, $A0, $07, $B1, $00, $18, $69, $01, $91, $00, $60, $AD, $94 ; CPU:$DEA7 PRG:5EA7 01 91 00 60 A0 07 B1 00 18 69 01 91 00 60 AD 94 - .byte $04, $48, $20, $6F, $DF, $68, $8D, $94, $04, $60, $A0, $0B, $B1, $00, $F0, $AF ; CPU:$DEB7 PRG:5EB7 04 48 20 6F DF 68 8D 94 04 60 A0 0B B1 00 F0 AF - .byte $48, $A0, $02, $B1, $00, $85, $12, $C8, $B1, $00, $85, $13, $68, $C9, $01, $D0 ; CPU:$DEC7 PRG:5EC7 48 A0 02 B1 00 85 12 C8 B1 00 85 13 68 C9 01 D0 - .byte $19, $A0, $03, $B9, $00, $04, $D0, $05, $C8, $C0, $06, $D0, $F6, $84, $7D, $B9 ; CPU:$DED7 PRG:5ED7 19 A0 03 B9 00 04 D0 05 C8 C0 06 D0 F6 84 7D B9 - .byte $7E, $FB, $85, $11, $A9, $07, $85, $10, $10, $07, $A0, $0B, $B1, $00, $20, $BA ; CPU:$DEE7 PRG:5EE7 7E FB 85 11 A9 07 85 10 10 07 A0 0B B1 00 20 BA - .byte $D7, $20, $09, $C4, $A5, $14, $18, $65, $15, $B0, $07, $C9, $08, $B0, $03, $4C ; CPU:$DEF7 PRG:5EF7 D7 20 09 C4 A5 14 18 65 15 B0 07 C9 08 B0 03 4C - .byte $D8, $DD, $A2, $00, $A0, $01, $B1, $00, $85, $17, $29, $1F, $38, $E5, $16, $B0 ; CPU:$DF07 PRG:5F07 D8 DD A2 00 A0 01 B1 00 85 17 29 1F 38 E5 16 B0 - .byte $05, $49, $FF, $69, $01, $E8, $C9, $0C, $90, $05, $49, $FF, $69, $18, $E8, $C9 ; CPU:$DF17 PRG:5F17 05 49 FF 69 01 E8 C9 0C 90 05 49 FF 69 18 E8 C9 - .byte $01, $F0, $27, $A5, $17, $29, $1F, $85, $17, $90, $36, $8A, $6A, $90, $0C, $E6 ; CPU:$DF27 PRG:5F27 01 F0 27 A5 17 29 1F 85 17 90 36 8A 6A 90 0C E6 - .byte $17, $A5, $17, $C9, $18, $90, $0C, $A9, $00, $B0, $08, $C6, $17, $A5, $17, $10 ; CPU:$DF37 PRG:5F37 17 A5 17 C9 18 90 0C A9 00 B0 08 C6 17 A5 17 10 - .byte $02, $A9, $17, $29, $1F, $91, $00, $4C, $93, $DB, $A5, $17, $30, $13, $A5, $16 ; CPU:$DF47 PRG:5F47 02 A9 17 29 1F 91 00 4C 93 DB A5 17 30 13 A5 16 - .byte $91, $00, $A5, $17, $48, $20, $93, $DB, $68, $18, $69, $20, $A0, $01, $91, $00 ; CPU:$DF57 PRG:5F57 91 00 A5 17 48 20 93 DB 68 18 69 20 A0 01 91 00 - .byte $60, $A5, $16, $91, $00, $4C, $93, $DB, $20, $93, $DB, $A0, $02, $B1, $00, $C9 ; CPU:$DF67 PRG:5F67 60 A5 16 91 00 4C 93 DB 20 93 DB A0 02 B1 00 C9 - .byte $E8, $B0, $07, $C8, $B1, $00, $C9, $C0, $90, $0C, $CE, $94, $04, $CE, $95, $04 ; CPU:$DF77 PRG:5F77 E8 B0 07 C8 B1 00 C9 C0 90 0C CE 94 04 CE 95 04 - .byte $A9, $80, $A0, $00, $91, $00, $60, $A9, $80, $A0, $00, $91, $00, $85, $7C, $60 ; CPU:$DF87 PRG:5F87 A9 80 A0 00 91 00 60 A9 80 A0 00 91 00 85 7C 60 - .byte $A5, $54, $05, $79, $D0, $34, $A9, $FF, $85, $54, $A0, $03, $B1, $00, $85, $58 ; CPU:$DF97 PRG:5F97 A5 54 05 79 D0 34 A9 FF 85 54 A0 03 B1 00 85 58 - .byte $A0, $07, $B1, $00, $29, $80, $09, $06, $91, $00, $A0, $0B, $B1, $00, $85, $7D ; CPU:$DFA7 PRG:5FA7 A0 07 B1 00 29 80 09 06 91 00 A0 0B B1 00 85 7D - .byte $A5, $00, $85, $7E, $60, $A5, $54, $F0, $11, $D0, $F9, $20, $93, $DB, $20, $02 ; CPU:$DFB7 PRG:5FB7 A5 00 85 7E 60 A5 54 F0 11 D0 F9 20 93 DB 20 02 - .byte $E0, $A0, $02, $D1, $00, $B0, $11, $20, $0C, $E0, $A0, $04, $A9, $00, $91, $00 ; CPU:$DFC7 PRG:5FC7 E0 A0 02 D1 00 B0 11 20 0C E0 A0 04 A9 00 91 00 - .byte $A0, $07, $B1, $00, $29, $80, $91, $00, $60, $A0, $05, $B1, $00, $0A, $AA, $BD ; CPU:$DFD7 PRG:5FD7 A0 07 B1 00 29 80 91 00 60 A0 05 B1 00 0A AA BD - .byte $F9, $FE, $85, $02, $BD, $FA, $FE, $85, $03, $60, $A0, $06, $B1, $00, $48, $18 ; CPU:$DFE7 PRG:5FE7 F9 FE 85 02 BD FA FE 85 03 60 A0 06 B1 00 48 18 - .byte $69, $01, $91, $00, $68, $A8, $B1, $02, $85, $07, $60, $A0, $06, $B1, $00, $A8 ; CPU:$DFF7 PRG:5FF7 69 01 91 00 68 A8 B1 02 85 07 60 A0 06 B1 00 A8 - .byte $B1, $02, $85, $07, $60, $A0, $06, $B1, $00, $18, $69, $01, $91, $00, $60, $A0 ; CPU:$E007 PRG:6007 B1 02 85 07 60 A0 06 B1 00 18 69 01 91 00 60 A0 - .byte $06, $B1, $00, $38, $E9, $01, $91, $00, $60, $AD, $00, $02, $30, $73, $A5, $79 ; CPU:$E017 PRG:6017 06 B1 00 38 E9 01 91 00 60 AD 00 02 30 73 A5 79 - .byte $C9, $06, $F0, $6D, $A5, $62, $D0, $0F, $C6, $C9, $10, $65, $20, $17, $C3, $29 ; CPU:$E027 PRG:6027 C9 06 F0 6D A5 62 D0 0F C6 C9 10 65 20 17 C3 29 - .byte $1F, $69, $10, $85, $C9, $D0, $1A, $A6, $61, $B5, $45, $29, $C0, $D0, $12, $B5 ; CPU:$E037 PRG:6037 1F 69 10 85 C9 D0 1A A6 61 B5 45 29 C0 D0 12 B5 - .byte $43, $29, $C0, $D0, $04, $85, $60, $F0, $48, $E6, $60, $A5, $60, $C9, $14, $90 ; CPU:$E047 PRG:6047 43 29 C0 D0 04 85 60 F0 48 E6 60 A5 60 C9 14 90 - .byte $40, $A9, $00, $85, $60, $A2, $00, $BD, $E0, $02, $30, $07, $A2, $08, $BD, $E0 ; CPU:$E057 PRG:6057 40 A9 00 85 60 A2 00 BD E0 02 30 07 A2 08 BD E0 - .byte $02, $10, $2E, $AD, $01, $02, $29, $1F, $9D, $E0, $02, $AD, $02, $02, $9D, $E1 ; CPU:$E067 PRG:6067 02 10 2E AD 01 02 29 1F 9D E0 02 AD 02 02 9D E1 - .byte $02, $AD, $03, $02, $9D, $E2, $02, $A9, $00, $9D, $E3, $02, $9D, $E4, $02, $A4 ; CPU:$E077 PRG:6077 02 AD 03 02 9D E2 02 A9 00 9D E3 02 9D E4 02 A4 - .byte $79, $88, $D0, $05, $A9, $00, $9D, $F0, $02, $A9, $01, $8D, $A2, $05, $20, $35 ; CPU:$E087 PRG:6087 79 88 D0 05 A9 00 9D F0 02 A9 01 8D A2 05 20 35 - .byte $C3, $A2, $00, $20, $9F, $E0, $A2, $08, $BD, $E0, $02, $30, $1A, $A8, $20, $D9 ; CPU:$E097 PRG:6097 C3 A2 00 20 9F E0 A2 08 BD E0 02 30 1A A8 20 D9 - .byte $E0, $C9, $F8, $B0, $0D, $98, $69, $06, $A8, $E8, $20, $D9, $E0, $CA, $C9, $BC ; CPU:$E0A7 PRG:60A7 E0 C9 F8 B0 0D 98 69 06 A8 E8 20 D9 E0 CA C9 BC - .byte $90, $05, $A9, $80, $9D, $E0, $02, $BD, $F0, $02, $30, $15, $BD, $E0, $02, $9D ; CPU:$E0B7 PRG:60B7 90 05 A9 80 9D E0 02 BD F0 02 30 15 BD E0 02 9D - .byte $F0, $02, $BD, $E1, $02, $9D, $F1, $02, $BD, $E2, $02, $18, $69, $0E, $9D, $F2 ; CPU:$E0C7 PRG:60C7 F0 02 BD E1 02 9D F1 02 BD E2 02 18 69 0E 9D F2 - .byte $02, $60, $BD, $E3, $02, $18, $79, $F3, $E0, $85, $02, $29, $0F, $9D, $E3, $02 ; CPU:$E0D7 PRG:60D7 02 60 BD E3 02 18 79 F3 E0 85 02 29 0F 9D E3 02 - .byte $A5, $02, $20, $FB, $C3, $7D, $E1, $02, $9D, $E1, $02, $60, $B0, $B3, $BB, $C7 ; CPU:$E0E7 PRG:60E7 A5 02 20 FB C3 7D E1 02 9D E1 02 60 B0 B3 BB C7 - .byte $D8, $EB, $00, $15, $28, $39, $45, $4D, $50, $4D, $45, $39, $28, $15, $00, $EB ; CPU:$E0F7 PRG:60F7 D8 EB 00 15 28 39 45 4D 50 4D 45 39 28 15 00 EB - .byte $D8, $C7, $BB, $B3, $B0, $B3, $BB, $C7, $D8, $EB, $00, $15, $A5, $5F, $F0, $04 ; CPU:$E107 PRG:6107 D8 C7 BB B3 B0 B3 BB C7 D8 EB 00 15 A5 5F F0 04 - .byte $C6, $5F, $D0, $75, $AD, $64, $04, $C9, $03, $F0, $6E, $A5, $7A, $D0, $6A, $A5 ; CPU:$E117 PRG:6117 C6 5F D0 75 AD 64 04 C9 03 F0 6E A5 7A D0 6A A5 - .byte $48, $2D, $5E, $04, $D0, $42, $20, $17, $C3, $29, $70, $A8, $B9, $20, $02, $30 ; CPU:$E127 PRG:6127 48 2D 5E 04 D0 42 20 17 C3 29 70 A8 B9 20 02 30 - .byte $37, $B9, $27, $02, $29, $7F, $D0, $30, $B9, $21, $02, $29, $1F, $38, $E9, $06 ; CPU:$E137 PRG:6137 37 B9 27 02 29 7F D0 30 B9 21 02 29 1F 38 E9 06 - .byte $C9, $0D, $B0, $24, $B9, $22, $02, $38, $E9, $10, $C9, $80, $B0, $1A, $B9, $2C ; CPU:$E147 PRG:6147 C9 0D B0 24 B9 22 02 38 E9 10 C9 80 B0 1A B9 2C - .byte $02, $F0, $15, $38, $E9, $01, $99, $2C, $02, $A2, $00, $B5, $90, $30, $0C, $8A ; CPU:$E157 PRG:6157 02 F0 15 38 E9 01 99 2C 02 A2 00 B5 90 30 0C 8A - .byte $18, $69, $04, $AA, $C9, $20, $90, $F3, $4C, $90, $E1, $86, $00, $EE, $77, $04 ; CPU:$E167 PRG:6167 18 69 04 AA C9 20 90 F3 4C 90 E1 86 00 EE 77 04 - .byte $B9, $22, $02, $85, $12, $95, $91, $B9, $23, $02, $85, $13, $95, $92, $20, $5F ; CPU:$E177 PRG:6177 B9 22 02 85 12 95 91 B9 23 02 85 13 95 92 20 5F - .byte $C4, $A6, $00, $95, $90, $A9, $00, $95, $93, $A2, $00, $B5, $90, $30, $29, $A8 ; CPU:$E187 PRG:6187 C4 A6 00 95 90 A9 00 95 93 A2 00 B5 90 30 29 A8 - .byte $A5, $48, $6A, $B5, $91, $69, $02, $95, $91, $C9, $E8, $B0, $25, $B9, $A0, $FF ; CPU:$E197 PRG:6197 A5 48 6A B5 91 69 02 95 91 C9 E8 B0 25 B9 A0 FF - .byte $18, $75, $93, $48, $29, $0F, $95, $93, $68, $20, $FB, $C3, $18, $75, $92, $95 ; CPU:$E1A7 PRG:61A7 18 75 93 48 29 0F 95 93 68 20 FB C3 18 75 92 95 - .byte $92, $38, $E9, $04, $C9, $B8, $B0, $0A, $8A, $18, $69, $04, $AA, $C9, $20, $90 ; CPU:$E1B7 PRG:61B7 92 38 E9 04 C9 B8 B0 0A 8A 18 69 04 AA C9 20 90 - .byte $CA, $60, $CE, $77, $04, $A9, $FF, $95, $90, $30, $ED, $A5, $79, $20, $01, $C3 ; CPU:$E1C7 PRG:61C7 CA 60 CE 77 04 A9 FF 95 90 30 ED A5 79 20 01 C3 - .byte $E9, $E1, $5D, $E4, $CB, $E2, $36, $E3, $AC, $E3, $26, $E4, $73, $E4, $23, $E2 ; CPU:$E1D7 PRG:61D7 E9 E1 5D E4 CB E2 36 E3 AC E3 26 E4 73 E4 23 E2 - .byte $99, $E2, $AD, $00, $02, $30, $7B, $A5, $54, $C9, $02, $D0, $2F, $A5, $58, $38 ; CPU:$E1E7 PRG:61E7 99 E2 AD 00 02 30 7B A5 54 C9 02 D0 2F A5 58 38 - .byte $E9, $24, $CD, $03, $02, $B0, $25, $18, $69, $48, $CD, $03, $02, $90, $1D, $A2 ; CPU:$E1F7 PRG:61F7 E9 24 CD 03 02 B0 25 18 69 48 CD 03 02 90 1D A2 - .byte $02, $86, $79, $CA, $86, $7A, $8E, $A1, $05, $A9, $1B, $20, $70, $ED, $CE, $02 ; CPU:$E207 PRG:6207 02 86 79 CA 86 7A 8E A1 05 A9 1B 20 70 ED CE 02 - .byte $02, $A9, $00, $8D, $04, $02, $A9, $F0, $8D, $71, $04, $60, $A9, $B8, $85, $08 ; CPU:$E217 PRG:6217 02 A9 00 8D 04 02 A9 F0 8D 71 04 60 A9 B8 85 08 - .byte $AD, $00, $02, $30, $3D, $A5, $62, $D0, $1D, $C6, $CA, $10, $11, $20, $17, $C3 ; CPU:$E227 PRG:6227 AD 00 02 30 3D A5 62 D0 1D C6 CA 10 11 20 17 C3 - .byte $29, $3F, $85, $CA, $A9, $00, $46, $CA, $2A, $46, $CA, $2A, $85, $CB, $A5, $44 ; CPU:$E237 PRG:6237 29 3F 85 CA A9 00 46 CA 2A 46 CA 2A 85 CB A5 44 - .byte $29, $FC, $05, $CB, $85, $44, $A9, $00, $8D, $00, $02, $8D, $01, $02, $A9, $C7 ; CPU:$E247 PRG:6247 29 FC 05 CB 85 44 A9 00 8D 00 02 8D 01 02 A9 C7 - .byte $8D, $02, $02, $A6, $61, $CA, $8A, $29, $01, $AA, $B5, $44, $6A, $B0, $04, $6A ; CPU:$E257 PRG:6257 8D 02 02 A6 61 CA 8A 29 01 AA B5 44 6A B0 04 6A - .byte $B0, $1A, $60, $6A, $B0, $FC, $EE, $04, $02, $AD, $04, $02, $6A, $AE, $03, $02 ; CPU:$E267 PRG:6267 B0 1A 60 6A B0 FC EE 04 02 AD 04 02 6A AE 03 02 - .byte $E8, $90, $01, $E8, $E4, $08, $B0, $03, $8E, $03, $02, $60, $EE, $04, $02, $AD ; CPU:$E277 PRG:6277 E8 90 01 E8 E4 08 B0 03 8E 03 02 60 EE 04 02 AD - .byte $04, $02, $6A, $AE, $03, $02, $CA, $90, $01, $CA, $E0, $08, $90, $03, $8E, $03 ; CPU:$E287 PRG:6287 04 02 6A AE 03 02 CA 90 01 CA E0 08 90 03 8E 03 - .byte $02, $60, $AD, $01, $02, $F0, $03, $20, $D5, $E4, $EE, $02, $02, $AD, $02, $02 ; CPU:$E297 PRG:6297 02 60 AD 01 02 F0 03 20 D5 E4 EE 02 02 AD 02 02 - .byte $C9, $C7, $90, $ED, $A9, $C7, $8D, $02, $02, $AD, $01, $02, $D0, $E3, $AD, $5C ; CPU:$E2A7 PRG:62A7 C9 C7 90 ED A9 C7 8D 02 02 AD 01 02 D0 E3 AD 5C - .byte $04, $8D, $71, $04, $A9, $00, $85, $79, $85, $7A, $60, $A9, $08, $85, $79, $A9 ; CPU:$E2B7 PRG:62B7 04 8D 71 04 A9 00 85 79 85 7A 60 A9 08 85 79 A9 - .byte $21, $4C, $70, $ED, $20, $D5, $E4, $A6, $7E, $BD, $00, $02, $30, $ED, $AD, $03 ; CPU:$E2C7 PRG:62C7 21 4C 70 ED 20 D5 E4 A6 7E BD 00 02 30 ED AD 03 - .byte $02, $C5, $58, $F0, $0B, $90, $06, $CE, $03, $02, $4C, $E7, $E2, $EE, $03, $02 ; CPU:$E2D7 PRG:62D7 02 C5 58 F0 0B 90 06 CE 03 02 4C E7 E2 EE 03 02 - .byte $A9, $02, $85, $54, $AD, $02, $02, $C9, $9B, $90, $0E, $EE, $04, $02, $AD, $04 ; CPU:$E2E7 PRG:62E7 A9 02 85 54 AD 02 02 C9 9B 90 0E EE 04 02 AD 04 - .byte $02, $29, $03, $F0, $03, $CE, $02, $02, $60, $AD, $01, $02, $D0, $FA, $E6, $79 ; CPU:$E2F7 PRG:62F7 02 29 03 F0 03 CE 02 02 60 AD 01 02 D0 FA E6 79 - .byte $A9, $80, $8D, $00, $02, $A9, $01, $8D, $10, $02, $A9, $9B, $8D, $12, $02, $A5 ; CPU:$E307 PRG:6307 A9 80 8D 00 02 A9 01 8D 10 02 A9 9B 8D 12 02 A5 - .byte $58, $8D, $13, $02, $A6, $7E, $A9, $25, $9D, $05, $02, $A9, $00, $9D, $06, $02 ; CPU:$E317 PRG:6317 58 8D 13 02 A6 7E A9 25 9D 05 02 A9 00 9D 06 02 - .byte $A9, $04, $85, $54, $A9, $21, $20, $70, $ED, $A9, $3C, $8D, $0E, $02, $60, $A6 ; CPU:$E327 PRG:6327 A9 04 85 54 A9 21 20 70 ED A9 3C 8D 0E 02 60 A6 - .byte $7E, $BD, $00, $02, $30, $46, $A9, $00, $8D, $11, $02, $BD, $02, $02, $18, $69 ; CPU:$E337 PRG:6337 7E BD 00 02 30 46 A9 00 8D 11 02 BD 02 02 18 69 - .byte $10, $8D, $12, $02, $BD, $03, $02, $8D, $13, $02, $AD, $0E, $02, $F0, $12, $CE ; CPU:$E347 PRG:6347 10 8D 12 02 BD 03 02 8D 13 02 AD 0E 02 F0 12 CE - .byte $0E, $02, $D0, $0D, $A9, $01, $8D, $8D, $05, $8D, $8E, $05, $8D, $8F, $05, $85 ; CPU:$E357 PRG:6357 0E 02 D0 0D A9 01 8D 8D 05 8D 8E 05 8D 8F 05 85 - .byte $5D, $60, $A9, $08, $85, $79, $A2, $03, $BD, $10, $02, $9D, $00, $02, $CA, $D0 ; CPU:$E367 PRG:6367 5D 60 A9 08 85 79 A2 03 BD 10 02 9D 00 02 CA D0 - .byte $F7, $A9, $80, $8D, $10, $02, $A9, $00, $8D, $00, $02, $60, $AD, $12, $02, $C9 ; CPU:$E377 PRG:6377 F7 A9 80 8D 10 02 A9 00 8D 00 02 60 AD 12 02 C9 - .byte $80, $B0, $DF, $A9, $00, $8D, $11, $02, $AD, $12, $02, $C9, $07, $F0, $04, $CE ; CPU:$E387 PRG:6387 80 B0 DF A9 00 8D 11 02 AD 12 02 C9 07 F0 04 CE - .byte $12, $02, $60, $A9, $04, $85, $79, $A2, $02, $86, $7B, $CA, $86, $7C, $A2, $60 ; CPU:$E397 PRG:6397 12 02 60 A9 04 85 79 A2 02 86 7B CA 86 7C A2 60 - .byte $A9, $F9, $4C, $2D, $C1, $A6, $7D, $BD, $00, $04, $F0, $14, $8A, $20, $8C, $D7 ; CPU:$E3A7 PRG:63A7 A9 F9 4C 2D C1 A6 7D BD 00 04 F0 14 8A 20 8C D7 - .byte $8D, $13, $02, $A9, $07, $8D, $12, $02, $A9, $00, $8D, $11, $02, $4C, $23, $E2 ; CPU:$E3B7 PRG:63B7 8D 13 02 A9 07 8D 12 02 A9 00 8D 11 02 4C 23 E2 - .byte $8A, $A6, $7E, $DD, $2B, $02, $D0, $05, $BD, $20, $02, $10, $1A, $A2, $00, $A5 ; CPU:$E3C7 PRG:63C7 8A A6 7E DD 2B 02 D0 05 BD 20 02 10 1A A2 00 A5 - .byte $7D, $DD, $2B, $02, $D0, $05, $BC, $20, $02, $10, $0C, $8A, $18, $69, $10, $AA ; CPU:$E3D7 PRG:63D7 7D DD 2B 02 D0 05 BC 20 02 10 0C 8A 18 69 10 AA - .byte $C9, $C0, $90, $EB, $4C, $06, $E4, $BD, $21, $02, $8D, $11, $02, $BD, $22, $02 ; CPU:$E3E7 PRG:63E7 C9 C0 90 EB 4C 06 E4 BD 21 02 8D 11 02 BD 22 02 - .byte $38, $E9, $10, $8D, $12, $02, $BD, $23, $02, $8D, $13, $02, $4C, $23, $E2, $A9 ; CPU:$E3F7 PRG:63F7 38 E9 10 8D 12 02 BD 23 02 8D 13 02 4C 23 E2 A9 - .byte $07, $85, $79, $A9, $02, $85, $7C, $A2, $0B, $A9, $00, $9D, $14, $02, $CA, $10 ; CPU:$E407 PRG:6407 07 85 79 A9 02 85 7C A2 0B A9 00 9D 14 02 CA 10 - .byte $FA, $20, $17, $C3, $29, $80, $8D, $17, $02, $A9, $26, $8D, $15, $02, $60, $A9 ; CPU:$E417 PRG:6417 FA 20 17 C3 29 80 8D 17 02 A9 26 8D 15 02 60 A9 - .byte $01, $85, $7A, $AD, $90, $05, $D0, $09, $EE, $90, $05, $EE, $91, $05, $EE, $92 ; CPU:$E427 PRG:6427 01 85 7A AD 90 05 D0 09 EE 90 05 EE 91 05 EE 92 - .byte $05, $A9, $00, $8D, $10, $02, $AE, $05, $02, $D0, $0D, $AD, $95, $04, $D0, $0B ; CPU:$E437 PRG:6437 05 A9 00 8D 10 02 AE 05 02 D0 0D AD 95 04 D0 0B - .byte $AD, $77, $04, $D0, $06, $E6, $79, $60, $CE, $05, $02, $A9, $00, $8D, $10, $02 ; CPU:$E447 PRG:6447 AD 77 04 D0 06 E6 79 60 CE 05 02 A9 00 8D 10 02 - .byte $20, $E5, $E4, $4C, $23, $E2, $A9, $AA, $85, $08, $20, $27, $E2, $A9, $C7, $8D ; CPU:$E457 PRG:6457 20 E5 E4 4C 23 E2 A9 AA 85 08 20 27 E2 A9 C7 8D - .byte $12, $02, $AD, $03, $02, $18, $69, $0E, $8D, $13, $02, $60, $AD, $03, $02, $C9 ; CPU:$E467 PRG:6467 12 02 AD 03 02 18 69 0E 8D 13 02 60 AD 03 02 C9 - .byte $59, $F0, $0E, $B0, $06, $EE, $03, $02, $4C, $E5, $E4, $CE, $03, $02, $4C, $E5 ; CPU:$E477 PRG:6477 59 F0 0E B0 06 EE 03 02 4C E5 E4 CE 03 02 4C E5 - .byte $E4, $AD, $11, $02, $F0, $03, $4C, $E5, $E4, $AD, $13, $02, $C9, $67, $F0, $0A ; CPU:$E487 PRG:6487 E4 AD 11 02 F0 03 4C E5 E4 AD 13 02 C9 67 F0 0A - .byte $B0, $04, $EE, $13, $02, $60, $CE, $13, $02, $60, $AD, $12, $02, $C9, $C7, $F0 ; CPU:$E497 PRG:6497 B0 04 EE 13 02 60 CE 13 02 60 AD 12 02 C9 C7 F0 - .byte $04, $EE, $12, $02, $60, $A9, $00, $85, $7A, $AD, $00, $02, $30, $05, $A9, $01 ; CPU:$E4A7 PRG:64A7 04 EE 12 02 60 A9 00 85 7A AD 00 02 30 05 A9 01 - .byte $85, $79, $60, $A2, $03, $BD, $10, $02, $9D, $00, $02, $CA, $10, $F7, $A9, $80 ; CPU:$E4B7 PRG:64B7 85 79 60 A2 03 BD 10 02 9D 00 02 CA 10 F7 A9 80 - .byte $8D, $10, $02, $A9, $00, $85, $79, $AD, $5C, $04, $8D, $71, $04, $60, $AD, $01 ; CPU:$E4C7 PRG:64C7 8D 10 02 A9 00 85 79 AD 5C 04 8D 71 04 60 AD 01 - .byte $02, $18, $69, $01, $C9, $18, $D0, $02, $A9, $00, $8D, $01, $02, $60, $AD, $11 ; CPU:$E4D7 PRG:64D7 02 18 69 01 C9 18 D0 02 A9 00 8D 01 02 60 AD 11 - .byte $02, $18, $69, $01, $C9, $18, $D0, $02, $A9, $00, $8D, $11, $02, $60, $A9, $E0 ; CPU:$E4E7 PRG:64E7 02 18 69 01 C9 18 D0 02 A9 00 8D 11 02 60 A9 E0 - .byte $85, $08, $A9, $02, $85, $09, $A0, $00, $B1, $08, $30, $1B, $C8, $B1, $08, $38 ; CPU:$E4F7 PRG:64F7 85 08 A9 02 85 09 A0 00 B1 08 30 1B C8 B1 08 38 - .byte $E9, $05, $85, $14, $A9, $0B, $85, $15, $C8, $B1, $08, $38, $E9, $05, $85, $16 ; CPU:$E507 PRG:6507 E9 05 85 14 A9 0B 85 15 C8 B1 08 38 E9 05 85 16 - .byte $A9, $0B, $85, $17, $20, $40, $E5, $A5, $08, $18, $69, $08, $85, $08, $30, $D6 ; CPU:$E517 PRG:6517 A9 0B 85 17 20 40 E5 A5 08 18 69 08 85 08 30 D6 - .byte $A6, $79, $CA, $D0, $13, $A2, $00, $20, $33, $E5, $A2, $08, $BD, $E0, $02, $1D ; CPU:$E527 PRG:6527 A6 79 CA D0 13 A2 00 20 33 E5 A2 08 BD E0 02 1D - .byte $F0, $02, $9D, $E0, $02, $9D, $F0, $02, $60, $A2, $10, $A5, $7C, $F0, $04, $30 ; CPU:$E537 PRG:6537 F0 02 9D E0 02 9D F0 02 60 A2 10 A5 7C F0 04 30 - .byte $02, $A2, $00, $86, $18, $BD, $10, $02, $30, $1D, $BD, $12, $02, $38, $E5, $14 ; CPU:$E547 PRG:6547 02 A2 00 86 18 BD 10 02 30 1D BD 12 02 38 E5 14 - .byte $C5, $15, $B0, $13, $BD, $13, $02, $38, $E5, $16, $C5, $17, $B0, $09, $20, $06 ; CPU:$E557 PRG:6557 C5 15 B0 13 BD 13 02 38 E5 16 C5 17 B0 09 20 06 - .byte $E6, $A9, $80, $A0, $00, $91, $08, $A5, $18, $18, $69, $10, $85, $18, $AA, $C9 ; CPU:$E567 PRG:6567 E6 A9 80 A0 00 91 08 A5 18 18 69 10 85 18 AA C9 - .byte $D0, $90, $D2, $C6, $16, $E6, $17, $E6, $17, $A2, $4F, $86, $18, $A5, $18, $20 ; CPU:$E577 PRG:6577 D0 90 D2 C6 16 E6 17 E6 17 A2 4F 86 18 A5 18 20 - .byte $AA, $D7, $85, $0A, $38, $E5, $14, $90, $0D, $C5, $15, $90, $0A, $A5, $18, $38 ; CPU:$E587 PRG:6587 AA D7 85 0A 38 E5 14 90 0D C5 15 90 0A A5 18 38 - .byte $E9, $10, $85, $18, $10, $E7, $60, $A6, $18, $E0, $10, $90, $3D, $BD, $00, $04 ; CPU:$E597 PRG:6597 E9 10 85 18 10 E7 60 A6 18 E0 10 90 3D BD 00 04 - .byte $6A, $90, $06, $E6, $16, $C6, $17, $C6, $17, $8A, $29, $F0, $85, $0C, $20, $8C ; CPU:$E5A7 PRG:65A7 6A 90 06 E6 16 C6 17 C6 17 8A 29 F0 85 0C 20 8C - .byte $D7, $86, $0D, $A6, $0D, $BD, $41, $FC, $85, $0B, $38, $E5, $16, $90, $0E, $C5 ; CPU:$E5B7 PRG:65B7 D7 86 0D A6 0D BD 41 FC 85 0B 38 E5 16 90 0E C5 - .byte $17, $B0, $16, $A6, $0C, $BD, $00, $04, $F0, $0F, $4C, $4A, $E7, $E6, $0C, $E6 ; CPU:$E5C7 PRG:65C7 17 B0 16 A6 0C BD 00 04 F0 0F 4C 4A E7 E6 0C E6 - .byte $0D, $A5, $0C, $29, $0F, $C9, $0A, $90, $DA, $60, $A9, $03, $85, $0C, $A5, $0C ; CPU:$E5D7 PRG:65D7 0D A5 0C 29 0F C9 0A 90 DA 60 A9 03 85 0C A5 0C - .byte $20, $8C, $D7, $A6, $0C, $85, $0B, $38, $E5, $16, $90, $0C, $C5, $17, $B0, $0E ; CPU:$E5E7 PRG:65E7 20 8C D7 A6 0C 85 0B 38 E5 16 90 0C C5 17 B0 0E - .byte $BD, $00, $04, $F0, $09, $4C, $46, $E7, $E6, $0C, $E0, $07, $90, $E0, $60, $20 ; CPU:$E5F7 PRG:65F7 BD 00 04 F0 09 4C 46 E7 E6 0C E0 07 90 E0 60 20 - .byte $39, $C3, $A6, $18, $BD, $10, $02, $85, $0E, $A6, $0E, $CA, $E0, $05, $90, $02 ; CPU:$E607 PRG:6607 39 C3 A6 18 BD 10 02 85 0E A6 0E CA E0 05 90 02 - .byte $A2, $05, $8A, $20, $01, $C3, $29, $E6, $40, $E6, $51, $E6, $9B, $E6, $AD, $E6 ; CPU:$E617 PRG:6617 A2 05 8A 20 01 C3 29 E6 40 E6 51 E6 9B E6 AD E6 - .byte $BF, $E6, $A2, $00, $86, $79, $86, $7C, $E8, $8E, $93, $05, $8E, $94, $05, $8E ; CPU:$E627 PRG:6627 BF E6 A2 00 86 79 86 7C E8 8E 93 05 8E 94 05 8E - .byte $95, $05, $A9, $04, $85, $0F, $4C, $F6, $E6, $A6, $18, $FE, $10, $02, $BD, $1B ; CPU:$E637 PRG:6637 95 05 A9 04 85 0F 4C F6 E6 A6 18 FE 10 02 BD 1B - .byte $02, $20, $49, $D7, $A9, $01, $8D, $9C, $05, $60, $A9, $01, $8D, $9D, $05, $A9 ; CPU:$E647 PRG:6647 02 20 49 D7 A9 01 8D 9C 05 60 A9 01 8D 9D 05 A9 - .byte $F0, $85, $5F, $A6, $18, $BD, $1D, $02, $AA, $BD, $98, $E6, $85, $0F, $AD, $64 ; CPU:$E657 PRG:6657 F0 85 5F A6 18 BD 1D 02 AA BD 98 E6 85 0F AD 64 - .byte $04, $C9, $03, $F0, $5C, $A6, $18, $A5, $54, $F0, $0B, $BD, $1B, $02, $C5, $7D ; CPU:$E667 PRG:6667 04 C9 03 F0 5C A6 18 A5 54 F0 0B BD 1B 02 C5 7D - .byte $D0, $04, $A9, $04, $85, $54, $A4, $7C, $88, $D0, $67, $BD, $1B, $02, $C5, $7D ; CPU:$E677 PRG:6677 D0 04 A9 04 85 54 A4 7C 88 D0 67 BD 1B 02 C5 7D - .byte $D0, $60, $E6, $79, $A9, $78, $8D, $05, $02, $A9, $00, $85, $7C, $85, $7B, $10 ; CPU:$E687 PRG:6687 D0 60 E6 79 A9 78 8D 05 02 A9 00 85 7C 85 7B 10 - .byte $51, $07, $05, $02, $A9, $08, $85, $0F, $A9, $01, $8D, $9E, $05, $AD, $64, $04 ; CPU:$E697 PRG:6697 51 07 05 02 A9 08 85 0F A9 01 8D 9E 05 AD 64 04 - .byte $C9, $03, $D0, $3E, $F0, $1B, $A9, $0A, $85, $0F, $A9, $01, $8D, $9F, $05, $AD ; CPU:$E6A7 PRG:66A7 C9 03 D0 3E F0 1B A9 0A 85 0F A9 01 8D 9F 05 AD - .byte $64, $04, $C9, $03, $D0, $2C, $F0, $09, $A9, $0A, $85, $0F, $A9, $01, $8D, $9F ; CPU:$E6B7 PRG:66B7 64 04 C9 03 D0 2C F0 09 A9 0A 85 0F A9 01 8D 9F - .byte $05, $A9, $C1, $85, $00, $A9, $00, $85, $01, $A9, $03, $85, $02, $20, $A1, $C3 ; CPU:$E6C7 PRG:66C7 05 A9 C1 85 00 A9 00 85 01 A9 03 85 02 20 A1 C3 - .byte $E6, $C4, $C6, $C0, $D0, $0C, $A5, $0F, $85, $00, $20, $AB, $C8, $AD, $78, $04 ; CPU:$E6D7 PRG:66D7 E6 C4 C6 C0 D0 0C A5 0F 85 00 20 AB C8 AD 78 04 - .byte $85, $0F, $A6, $18, $BD, $1B, $02, $F0, $03, $CE, $94, $04, $CE, $95, $04, $A6 ; CPU:$E6E7 PRG:66E7 85 0F A6 18 BD 1B 02 F0 03 CE 94 04 CE 95 04 A6 - .byte $18, $A9, $80, $9D, $10, $02, $BD, $12, $02, $85, $0A, $BD, $13, $02, $85, $0B ; CPU:$E6F7 PRG:66F7 18 A9 80 9D 10 02 BD 12 02 85 0A BD 13 02 85 0B - .byte $20, $8E, $E7, $A5, $0F, $85, $00, $A9, $08, $38, $E5, $00, $B0, $02, $A9, $00 ; CPU:$E707 PRG:6707 20 8E E7 A5 0F 85 00 A9 08 38 E5 00 B0 02 A9 00 - .byte $9D, $DB, $03, $20, $AB, $C8, $60, $A9, $01, $8D, $9C, $05, $9D, $00, $04, $A9 ; CPU:$E717 PRG:6717 9D DB 03 20 AB C8 60 A9 01 8D 9C 05 9D 00 04 A9 - .byte $80, $A0, $00, $91, $08, $8A, $85, $1A, $20, $49, $D7, $AD, $0F, $04, $C9, $0C ; CPU:$E727 PRG:6727 80 A0 00 91 08 8A 85 1A 20 49 D7 AD 0F 04 C9 0C - .byte $90, $0A, $A5, $1A, $20, $18, $D5, $A5, $1A, $20, $38, $D5, $4C, $39, $C3, $C9 ; CPU:$E737 PRG:6737 90 0A A5 1A 20 18 D5 A5 1A 20 38 D5 4C 39 C3 C9 - .byte $02, $F0, $D4, $CE, $94, $04, $86, $0E, $8A, $20, $18, $D5, $A0, $00, $A9, $80 ; CPU:$E747 PRG:6747 02 F0 D4 CE 94 04 86 0E 8A 20 18 D5 A0 00 A9 80 - .byte $91, $08, $20, $8E, $E7, $A9, $00, $9D, $DB, $03, $20, $8E, $E7, $A5, $0A, $4A ; CPU:$E757 PRG:6757 91 08 20 8E E7 A9 00 9D DB 03 20 8E E7 A5 0A 4A - .byte $4A, $4A, $4A, $A8, $B9, $B0, $E7, $85, $00, $20, $AB, $C8, $20, $39, $C3, $A2 ; CPU:$E767 PRG:6767 4A 4A 4A A8 B9 B0 E7 85 00 20 AB C8 20 39 C3 A2 - .byte $01, $A5, $0E, $C9, $10, $90, $0C, $C9, $30, $90, $04, $8E, $9F, $05, $60, $8E ; CPU:$E777 PRG:6777 01 A5 0E C9 10 90 0C C9 30 90 04 8E 9F 05 60 8E - .byte $9E, $05, $60, $8E, $9D, $05, $60, $A5, $5A, $18, $69, $04, $C9, $20, $90, $02 ; CPU:$E787 PRG:6787 9E 05 60 8E 9D 05 60 A5 5A 18 69 04 C9 20 90 02 - .byte $A9, $00, $85, $5A, $AA, $A9, $FF, $9D, $D8, $03, $A5, $0A, $9D, $D9, $03, $A5 ; CPU:$E797 PRG:6797 A9 00 85 5A AA A9 FF 9D D8 03 A5 0A 9D D9 03 A5 - .byte $0B, $9D, $DA, $03, $A9, $00, $9D, $DB, $03, $60, $09, $0B, $0B, $0C, $0C, $A5 ; CPU:$E7A7 PRG:67A7 0B 9D DA 03 A9 00 9D DB 03 60 09 0B 0B 0C 0C A5 - .byte $5C, $D0, $05, $AD, $00, $02, $10, $01, $60, $A5, $79, $C9, $08, $B0, $F9, $AD ; CPU:$E7B7 PRG:67B7 5C D0 05 AD 00 02 10 01 60 A5 79 C9 08 B0 F9 AD - .byte $02, $02, $C9, $C7, $D0, $F2, $A2, $0D, $A4, $79, $88, $D0, $02, $A2, $1B, $86 ; CPU:$E7C7 PRG:67C7 02 02 C9 C7 D0 F2 A2 0D A4 79 88 D0 02 A2 1B 86 - .byte $0B, $AD, $03, $02, $85, $14, $38, $E9, $06, $85, $16, $18, $65, $0B, $85, $17 ; CPU:$E7D7 PRG:67D7 0B AD 03 02 85 14 38 E9 06 85 16 18 65 0B 85 17 - .byte $A2, $00, $86, $18, $A6, $18, $B5, $90, $30, $1B, $B5, $91, $C9, $C2, $90, $15 ; CPU:$E7E7 PRG:67E7 A2 00 86 18 A6 18 B5 90 30 1B B5 91 C9 C2 90 15 - .byte $C9, $CC, $B0, $11, $B5, $92, $C5, $17, $B0, $0B, $38, $E5, $16, $90, $06, $18 ; CPU:$E7F7 PRG:67F7 C9 CC B0 11 B5 92 C5 17 B0 0B 38 E5 16 90 06 18 - .byte $69, $02, $4C, $6D, $E8, $A5, $18, $18, $69, $04, $85, $18, $C9, $20, $90, $D4 ; CPU:$E807 PRG:6807 69 02 4C 6D E8 A5 18 18 69 04 85 18 C9 20 90 D4 - .byte $C6, $16, $C6, $16, $E6, $17, $E6, $17, $E6, $17, $E6, $17, $A2, $10, $A5, $7C ; CPU:$E817 PRG:6817 C6 16 C6 16 E6 17 E6 17 E6 17 E6 17 A2 10 A5 7C - .byte $F0, $02, $A2, $00, $86, $18, $A6, $18, $BD, $10, $02, $30, $1A, $BD, $12, $02 ; CPU:$E827 PRG:6827 F0 02 A2 00 86 18 A6 18 BD 10 02 30 1A BD 12 02 - .byte $C9, $C4, $90, $13, $C9, $CC, $B0, $0F, $BD, $13, $02, $C5, $17, $B0, $08, $38 ; CPU:$E837 PRG:6837 C9 C4 90 13 C9 CC B0 0F BD 13 02 C5 17 B0 08 38 - .byte $E5, $16, $90, $03, $4C, $5A, $E8, $A5, $18, $18, $69, $10, $85, $18, $C9, $D0 ; CPU:$E847 PRG:6847 E5 16 90 03 4C 5A E8 A5 18 18 69 10 85 18 C9 D0 - .byte $90, $D4, $60, $48, $A6, $18, $BD, $10, $02, $C9, $02, $D0, $03, $FE, $10, $02 ; CPU:$E857 PRG:6857 90 D4 60 48 A6 18 BD 10 02 C9 02 D0 03 FE 10 02 - .byte $20, $09, $E6, $4C, $77, $E8, $48, $CE, $77, $04, $A6, $18, $A9, $FF, $95, $90 ; CPU:$E867 PRG:6867 20 09 E6 4C 77 E8 48 CE 77 04 A6 18 A9 FF 95 90 - .byte $A9, $01, $8D, $A3, $05, $68, $A6, $79, $CA, $D0, $29, $C9, $10, $B0, $1F, $AD ; CPU:$E877 PRG:6877 A9 01 8D A3 05 68 A6 79 CA D0 29 C9 10 B0 1F AD - .byte $13, $02, $8D, $03, $02, $A5, $14, $8D, $FA, $03, $A9, $C7, $8D, $F9, $03, $A9 ; CPU:$E887 PRG:6887 13 02 8D 03 02 A5 14 8D FA 03 A9 C7 8D F9 03 A9 - .byte $FF, $8D, $F8, $03, $A9, $80, $8D, $10, $02, $A9, $00, $85, $79, $60, $AD, $13 ; CPU:$E897 PRG:6897 FF 8D F8 03 A9 80 8D 10 02 A9 00 85 79 60 AD 13 - .byte $02, $4C, $8E, $E8, $A9, $80, $8D, $00, $02, $A9, $FF, $8D, $F8, $03, $A9, $C7 ; CPU:$E8A7 PRG:68A7 02 4C 8E E8 A9 80 8D 00 02 A9 FF 8D F8 03 A9 C7 - .byte $8D, $F9, $03, $AD, $03, $02, $8D, $FA, $03, $A9, $01, $85, $7A, $A5, $79, $C9 ; CPU:$E8B7 PRG:68B7 8D F9 03 AD 03 02 8D FA 03 A9 01 85 7A A5 79 C9 - .byte $06, $F0, $0C, $C9, $05, $F0, $08, $A2, $00, $8E, $71, $04, $E8, $86, $7B, $60 ; CPU:$E8C7 PRG:68C7 06 F0 0C C9 05 F0 08 A2 00 8E 71 04 E8 86 7B 60 - .byte $AE, $72, $04, $E8, $E0, $14, $90, $02, $A2, $11, $8E, $72, $04, $8A, $0A, $8D ; CPU:$E8D7 PRG:68D7 AE 72 04 E8 E0 14 90 02 A2 11 8E 72 04 8A 0A 8D - .byte $75, $04, $0A, $0A, $AA, $A9, $08, $85, $02, $A0, $00, $20, $22, $E9, $C6, $02 ; CPU:$E8E7 PRG:68E7 75 04 0A 0A AA A9 08 85 02 A0 00 20 22 E9 C6 02 - .byte $D0, $F9, $0E, $56, $04, $0E, $56, $04, $0E, $57, $04, $0E, $57, $04, $AD, $55 ; CPU:$E8F7 PRG:68F7 D0 F9 0E 56 04 0E 56 04 0E 57 04 0E 57 04 AD 55 - .byte $04, $0A, $6D, $55, $04, $8D, $55, $04, $AD, $54, $04, $0A, $6D, $54, $04, $8D ; CPU:$E907 PRG:6907 04 0A 6D 55 04 8D 55 04 AD 54 04 0A 6D 54 04 8D - .byte $54, $04, $38, $2E, $5E, $04, $38, $2E, $5E, $04, $60, $BD, $AA, $E9, $E8, $48 ; CPU:$E917 PRG:6917 54 04 38 2E 5E 04 38 2E 5E 04 60 BD AA E9 E8 48 - .byte $29, $0F, $C8, $99, $50, $04, $88, $68, $4A, $4A, $4A, $4A, $99, $50, $04, $C8 ; CPU:$E927 PRG:6927 29 0F C8 99 50 04 88 68 4A 4A 4A 4A 99 50 04 C8 - .byte $C8, $60, $EE, $73, $04, $AE, $73, $04, $E0, $3C, $90, $0D, $EE, $74, $04, $D0 ; CPU:$E937 PRG:6937 C8 60 EE 73 04 AE 73 04 E0 3C 90 0D EE 74 04 D0 - .byte $03, $CE, $74, $04, $A2, $00, $8E, $73, $04, $AE, $54, $04, $AC, $55, $04, $AD ; CPU:$E947 PRG:6947 03 CE 74 04 A2 00 8E 73 04 AE 54 04 AC 55 04 AD - .byte $74, $04, $C9, $30, $90, $08, $E8, $C8, $C9, $60, $90, $02, $E8, $C8, $BD, $4A ; CPU:$E957 PRG:6957 74 04 C9 30 90 08 E8 C8 C9 60 90 02 E8 C8 BD 4A - .byte $EA, $8D, $66, $04, $BD, $68, $EA, $8D, $65, $04, $AD, $74, $04, $AE, $75, $04 ; CPU:$E967 PRG:6967 EA 8D 66 04 BD 68 EA 8D 65 04 AD 74 04 AE 75 04 - .byte $C9, $30, $90, $01, $E8, $BD, $86, $EA, $8D, $76, $04, $AE, $57, $04, $AC, $56 ; CPU:$E977 PRG:6977 C9 30 90 01 E8 BD 86 EA 8D 76 04 AE 57 04 AC 56 - .byte $04, $AD, $94, $04, $C9, $1E, $B0, $0E, $E8, $C8, $C9, $14, $B0, $08, $E8, $C8 ; CPU:$E987 PRG:6987 04 AD 94 04 C9 1E B0 0E E8 C8 C9 14 B0 08 E8 C8 - .byte $C9, $0A, $B0, $02, $E8, $C8, $BD, $AE, $EA, $8D, $70, $04, $B9, $CE, $EA, $8D ; CPU:$E997 PRG:6997 C9 0A B0 02 E8 C8 BD AE EA 8D 70 04 B9 CE EA 8D - .byte $67, $04, $60, $00, $00, $00, $00, $06, $00, $44, $F0, $10, $01, $11, $00, $07 ; CPU:$E9A7 PRG:69A7 67 04 60 00 00 00 00 06 00 44 F0 10 01 11 00 07 - .byte $00, $44, $F0, $20, $11, $21, $11, $07, $14, $53, $70, $10, $11, $32, $11, $08 ; CPU:$E9B7 PRG:69B7 00 44 F0 20 11 21 11 07 14 53 70 10 11 32 11 08 - .byte $14, $53, $70, $00, $11, $42, $12, $08, $14, $54, $70, $21, $12, $52, $22, $19 ; CPU:$E9C7 PRG:69C7 14 53 70 00 11 42 12 08 14 54 70 21 12 52 22 19 - .byte $21, $63, $70, $11, $22, $63, $22, $19, $21, $62, $70, $00, $00, $11, $01, $17 ; CPU:$E9D7 PRG:69D7 21 63 70 11 22 63 22 19 21 62 70 00 00 11 01 17 - .byte $21, $63, $F0, $21, $23, $64, $23, $17, $30, $72, $30, $11, $33, $76, $23, $18 ; CPU:$E9E7 PRG:69E7 21 63 F0 21 23 64 23 17 30 72 30 11 33 76 23 18 - .byte $30, $72, $30, $01, $33, $76, $23, $18, $30, $72, $30, $21, $34, $87, $24, $29 ; CPU:$E9F7 PRG:69F7 30 72 30 01 33 76 23 18 30 72 30 21 34 87 24 29 - .byte $14, $82, $30, $11, $44, $87, $24, $29, $14, $82, $30, $01, $02, $22, $11, $27 ; CPU:$EA07 PRG:6A07 14 82 30 11 44 87 24 29 14 82 30 01 02 22 11 27 - .byte $14, $83, $70, $21, $34, $88, $25, $2A, $21, $81, $30, $11, $44, $88, $25, $2A ; CPU:$EA17 PRG:6A17 14 83 70 21 34 88 25 2A 21 81 30 11 44 88 25 2A - .byte $21, $81, $30, $01, $44, $88, $25, $2C, $21, $81, $30, $21, $34, $98, $26, $2C ; CPU:$EA27 PRG:6A27 21 81 30 01 44 88 25 2C 21 81 30 21 34 98 26 2C - .byte $30, $80, $10, $11, $44, $99, $26, $2C, $30, $80, $10, $01, $44, $99, $26, $2C ; CPU:$EA37 PRG:6A37 30 80 10 11 44 99 26 2C 30 80 10 01 44 99 26 2C - .byte $30, $80, $10, $60, $50, $40, $50, $40, $30, $50, $30, $30, $40, $30, $20, $40 ; CPU:$EA47 PRG:6A47 30 80 10 60 50 40 50 40 30 50 30 30 40 30 20 40 - .byte $20, $20, $30, $30, $20, $30, $20, $10, $20, $20, $10, $20, $10, $10, $10, $10 ; CPU:$EA57 PRG:6A57 20 20 30 30 20 30 20 10 20 20 10 20 10 10 10 10 - .byte $10, $90, $70, $50, $80, $60, $40, $70, $50, $40, $60, $40, $30, $50, $30, $30 ; CPU:$EA67 PRG:6A67 10 90 70 50 80 60 40 70 50 40 60 40 30 50 30 30 - .byte $40, $30, $30, $40, $20, $20, $30, $30, $20, $30, $20, $20, $20, $20, $20, $02 ; CPU:$EA77 PRG:6A77 40 30 30 40 20 20 30 30 20 30 20 20 20 20 20 02 - .byte $02, $02, $03, $02, $03, $02, $03, $03, $03, $03, $03, $03, $04, $02, $03, $03 ; CPU:$EA87 PRG:6A87 02 02 03 02 03 02 03 03 03 03 03 03 04 02 03 03 - .byte $04, $04, $04, $04, $05, $04, $05, $04, $05, $02, $03, $04, $06, $05, $06, $05 ; CPU:$EA97 PRG:6A97 04 04 04 04 05 04 05 04 05 02 03 04 06 05 06 05 - .byte $06, $05, $07, $05, $07, $05, $07, $01, $01, $02, $02, $01, $02, $02, $02, $01 ; CPU:$EAA7 PRG:6AA7 06 05 07 05 07 05 07 01 01 02 02 01 02 02 02 01 - .byte $02, $02, $03, $02, $02, $02, $03, $02, $02, $03, $03, $02, $02, $03, $04, $02 ; CPU:$EAB7 PRG:6AB7 02 02 03 02 02 02 03 02 02 03 03 02 02 03 04 02 - .byte $03, $03, $04, $03, $03, $03, $04, $07, $07, $06, $04, $06, $06, $05, $04, $05 ; CPU:$EAC7 PRG:6AC7 03 03 04 03 03 03 04 07 07 06 04 06 06 05 04 05 - .byte $05, $04, $03 ; CPU:$EAD7 PRG:6AD7 05 04 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7C7 +; Global: Branch target inside Sub: taken when D7C7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7C7: + lda Zp78 ; CPU:$D7C7 PRG:57C7 A5 78 + sta Zp1C ; CPU:$D7C9 PRG:57C9 85 1C + tax ; CPU:$D7CB PRG:57CB AA + inx ; CPU:$D7CC PRG:57CC E8 + bne NmiHandler_Loop186 ; CPU:$D7CD PRG:57CD D0 02 + ldx #$F8 ; CPU:$D7CF PRG:57CF A2 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop186: + stx Zp78 ; CPU:$D7D1 PRG:57D1 86 78 + and #$07 ; CPU:$D7D3 PRG:57D3 29 07 + tay ; CPU:$D7D5 PRG:57D5 A8 + tax ; CPU:$D7D6 PRG:57D6 AA + inx ; CPU:$D7D7 PRG:57D7 E8 + inx ; CPU:$D7D8 PRG:57D8 E8 + inx ; CPU:$D7D9 PRG:57D9 E8 + lda $FDC7,y ; CPU:$D7DA PRG:57DA B9 C7 FD + ldy #$09 ; CPU:$D7DD PRG:57DD A0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative21 +; Global: Branch target inside NmiHandler: taken when OnNonnegative21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative21: + sta $04B0,y ; CPU:$D7DF PRG:57DF 99 B0 04 + dey ; CPU:$D7E2 PRG:57E2 88 + bpl NmiHandler_OnNonnegative21 ; CPU:$D7E3 PRG:57E3 10 FA + lda #$02 ; CPU:$D7E5 PRG:57E5 A9 02 + sta $04B2 ; CPU:$D7E7 PRG:57E7 8D B2 04 + lda #$03 ; CPU:$D7EA PRG:57EA A9 03 + sta $0464 ; CPU:$D7EC PRG:57EC 8D 64 04 + lda #$00 ; CPU:$D7EF PRG:57EF A9 00 + sta $0452 ; CPU:$D7F1 PRG:57F1 8D 52 04 + sta $049C ; CPU:$D7F4 PRG:57F4 8D 9C 04 + sta ZpC1 ; CPU:$D7F7 PRG:57F7 85 C1 + sta ZpC2 ; CPU:$D7F9 PRG:57F9 85 C2 + sta ZpC3 ; CPU:$D7FB PRG:57FB 85 C3 + sta ZpC4 ; CPU:$D7FD PRG:57FD 85 C4 + lda #$08 ; CPU:$D7FF PRG:57FF A9 08 + sta ZpC0 ; CPU:$D801 PRG:5801 85 C0 + lda Zp1C ; CPU:$D803 PRG:5803 A5 1C + lsr a ; CPU:$D805 PRG:5805 4A + cmp #$03 ; CPU:$D806 PRG:5806 C9 03 + bcc NmiHandler_Loop187 ; CPU:$D808 PRG:5808 90 02 + lda #$03 ; CPU:$D80A PRG:580A A9 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + tay ; CPU:$D80C PRG:580C A8 + lda $D816,y ; CPU:$D80D PRG:580D B9 16 D8 + sta $0478 ; CPU:$D810 PRG:5810 8D 78 04 + jmp Sub_D842 ; CPU:$D813 PRG:5813 4C 42 D8 +; ---- data $D816-$D819 (4 bytes) ---- +; referenced by `lda $D816,y` at $D80D (operand $D816 falls inside this region) +SpriteStarCountTable: + .byte $04, $03, $01, $00 ; CPU:$D816 PRG:1816 04 03 01 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D81A +; Global: Branch target inside Sub: taken when D81A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D81A: + ldx #$09 ; CPU:$D81A PRG:581A A2 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative22 +; Global: Branch target inside NmiHandler: taken when OnNonnegative22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative22: + lda $FDBD,x ; CPU:$D81C PRG:581C BD BD FD + sta $04B0,x ; CPU:$D81F PRG:581F 9D B0 04 + dex ; CPU:$D822 PRG:5822 CA + bpl NmiHandler_OnNonnegative22 ; CPU:$D823 PRG:5823 10 F7 + lda #$02 ; CPU:$D825 PRG:5825 A9 02 + sta $0464 ; CPU:$D827 PRG:5827 8D 64 04 + lda $0452 ; CPU:$D82A PRG:582A AD 52 04 + asl a ; CPU:$D82D PRG:582D 0A + asl a ; CPU:$D82E PRG:582E 0A + adc $0452 ; CPU:$D82F PRG:582F 6D 52 04 + tax ; CPU:$D832 PRG:5832 AA + lda $FDA4,x ; CPU:$D833 PRG:5833 BD A4 FD + sta $049C ; CPU:$D836 PRG:5836 8D 9C 04 + lda $045B ; CPU:$D839 PRG:5839 AD 5B 04 + sta $0478 ; CPU:$D83C PRG:583C 8D 78 04 + ldx $0450 ; CPU:$D83F PRG:583F AE 50 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D842 +; Global: Branch target inside Sub: taken when D842. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D842: + txa ; CPU:$D842 PRG:5842 8A + asl a ; CPU:$D843 PRG:5843 0A + tax ; CPU:$D844 PRG:5844 AA + lda $FE3D,x ; CPU:$D845 PRG:5845 BD 3D FE + sta Zp74 ; CPU:$D848 PRG:5848 85 74 + lda $FE3E,x ; CPU:$D84A PRG:584A BD 3E FE + sta Zp75 ; CPU:$D84D PRG:584D 85 75 + txa ; CPU:$D84F PRG:584F 8A + sta Zp1C ; CPU:$D850 PRG:5850 85 1C + asl a ; CPU:$D852 PRG:5852 0A + asl a ; CPU:$D853 PRG:5853 0A + adc Zp1C ; CPU:$D854 PRG:5854 65 1C + adc #$CF ; CPU:$D856 PRG:5856 69 CF + sta Zp76 ; CPU:$D858 PRG:5858 85 76 + lda #$FD ; CPU:$D85A PRG:585A A9 FD + adc #$00 ; CPU:$D85C PRG:585C 69 00 + sta Zp77 ; CPU:$D85E PRG:585E 85 77 + lda #$28 ; CPU:$D860 PRG:5860 A9 28 + sta $0494 ; CPU:$D862 PRG:5862 8D 94 04 + lda #$00 ; CPU:$D865 PRG:5865 A9 00 + sta Zp73 ; CPU:$D867 PRG:5867 85 73 + sta $049B ; CPU:$D869 PRG:5869 8D 9B 04 + ldx #$02 ; CPU:$D86C PRG:586C A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative23 +; Global: Branch target inside NmiHandler: taken when OnNonnegative23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative23: + sta Zp70,x ; CPU:$D86E PRG:586E 95 70 + dex ; CPU:$D870 PRG:5870 CA + bpl NmiHandler_OnNonnegative23 ; CPU:$D871 PRG:5871 10 FB + rts ; CPU:$D873 PRG:5873 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D874 +; Global: Branch target inside Sub: taken when D874. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D874: + lda $0464 ; CPU:$D874 PRG:5874 AD 64 04 + jsr Sub_C301 ; CPU:$D877 PRG:5877 20 01 C3 + eor (ZpD9),y ; CPU:$D87A PRG:587A 51 D9 + ror ZpD9 ; CPU:$D87C PRG:587C 66 D9 + sty $8CD8 ; CPU:$D87E PRG:587E 8C D8 8C + cld ; CPU:$D881 PRG:5881 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero9 +; Global: Branch target inside NmiHandler: taken when OnZero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero9: + lda #$00 ; CPU:$D882 PRG:5882 A9 00 + sta $0464 ; CPU:$D884 PRG:5884 8D 64 04 + lda #$03 ; CPU:$D887 PRG:5887 A9 03 + sta ZpC0 ; CPU:$D889 PRG:5889 85 C0 + rts ; CPU:$D88B PRG:588B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D88C +; Global: Branch target inside Sub: taken when D88C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D88C: + ldx Zp70 ; CPU:$D88C PRG:588C A6 70 + lda $FE8F,x ; CPU:$D88E PRG:588E BD 8F FE + bpl NmiHandler_Loop190 ; CPU:$D891 PRG:5891 10 45 +; ----------------------------------------------------------------------------- +; Routine: Sub_D893 +; Global: Branch target inside Sub: taken when D893. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D893: + lda $0495 ; CPU:$D893 PRG:5893 AD 95 04 + ora Zp7A ; CPU:$D896 PRG:5896 05 7A + beq NmiHandler_Loop188 ; CPU:$D898 PRG:5898 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero10: + rts ; CPU:$D89A PRG:589A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + lda Zp7C ; CPU:$D89B PRG:589B A5 7C + cmp #$02 ; CPU:$D89D PRG:589D C9 02 + beq NmiHandler_OnZero10 ; CPU:$D89F PRG:589F F0 F9 + dec Zp73 ; CPU:$D8A1 PRG:58A1 C6 73 + bpl NmiHandler_OnZero10 ; CPU:$D8A3 PRG:58A3 10 F5 + inc Zp70 ; CPU:$D8A5 PRG:58A5 E6 70 + lda $FE8F,x ; CPU:$D8A7 PRG:58A7 BD 8F FE + cmp #$FF ; CPU:$D8AA PRG:58AA C9 FF + beq NmiHandler_OnZero9 ; CPU:$D8AC PRG:58AC F0 D4 + ldx #$00 ; CPU:$D8AE PRG:58AE A2 00 + lda $0464 ; CPU:$D8B0 PRG:58B0 AD 64 04 + ror a ; CPU:$D8B3 PRG:58B3 6A + bcc NmiHandler_Loop189 ; CPU:$D8B4 PRG:58B4 90 02 + ldx #$3C ; CPU:$D8B6 PRG:58B6 A2 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: + stx Zp73 ; CPU:$D8B8 PRG:58B8 86 73 + inc Zp71 ; CPU:$D8BA PRG:58BA E6 71 + inc Zp71 ; CPU:$D8BC PRG:58BC E6 71 + lda $0452 ; CPU:$D8BE PRG:58BE AD 52 04 + asl a ; CPU:$D8C1 PRG:58C1 0A + asl a ; CPU:$D8C2 PRG:58C2 0A + adc $0452 ; CPU:$D8C3 PRG:58C3 6D 52 04 + sta Zp1C ; CPU:$D8C6 PRG:58C6 85 1C + lda Zp71 ; CPU:$D8C8 PRG:58C8 A5 71 + lsr a ; CPU:$D8CA PRG:58CA 4A + adc Zp1C ; CPU:$D8CB PRG:58CB 65 1C + tax ; CPU:$D8CD PRG:58CD AA + lda $FDA4,x ; CPU:$D8CE PRG:58CE BD A4 FD + sta $049C ; CPU:$D8D1 PRG:58D1 8D 9C 04 + lda #$08 ; CPU:$D8D4 PRG:58D4 A9 08 + sta ZpC0 ; CPU:$D8D6 PRG:58D6 85 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop190: + ldy Zp71 ; CPU:$D8D8 PRG:58D8 A4 71 + lda Zp72 ; CPU:$D8DA PRG:58DA A5 72 + cmp (Zp74),y ; CPU:$D8DC PRG:58DC D1 74 + bcs NmiHandler_Loop191 ; CPU:$D8DE PRG:58DE B0 03 + inc Zp72 ; CPU:$D8E0 PRG:58E0 E6 72 + rts ; CPU:$D8E2 PRG:58E2 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop191: + lda #$00 ; CPU:$D8E3 PRG:58E3 A9 00 + sta Zp72 ; CPU:$D8E5 PRG:58E5 85 72 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative24 +; Global: Branch target inside NmiHandler: taken when OnNonnegative24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative24: + jsr Sub_DAD8 ; CPU:$D8E7 PRG:58E7 20 D8 DA + ldx Zp70 ; CPU:$D8EA PRG:58EA A6 70 + lda $FE8F,x ; CPU:$D8EC PRG:58EC BD 8F FE + sta SpriteIndex ; CPU:$D8EF PRG:58EF 85 2B + beq NmiHandler_OnZero11 ; CPU:$D8F1 PRG:58F1 F0 20 + cmp #$01 ; CPU:$D8F3 PRG:58F3 C9 01 + bne NmiHandler_Loop193 ; CPU:$D8F5 PRG:58F5 D0 31 + lda Zp7C ; CPU:$D8F7 PRG:58F7 A5 7C + bpl NmiHandler_Loop194 ; CPU:$D8F9 PRG:58F9 10 3F + lda $0464 ; CPU:$D8FB PRG:58FB AD 64 04 + ror a ; CPU:$D8FE PRG:58FE 6A + bcs NmiHandler_Loop194 ; CPU:$D8FF PRG:58FF B0 39 + jsr Sub_D93F ; CPU:$D901 PRG:5901 20 3F D9 + ldx #$01 ; CPU:$D904 PRG:5904 A2 01 + stx Zp20 ; CPU:$D906 PRG:5906 86 20 + inx ; CPU:$D908 PRG:5908 E8 + stx Zp7C ; CPU:$D909 PRG:5909 86 7C + ldy #$10 ; CPU:$D90B PRG:590B A0 10 + jsr NmiHandler_Loop210 ; CPU:$D90D PRG:590D 20 21 DB + jmp NmiHandler_Loop194 ; CPU:$D910 PRG:5910 4C 3A D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero11: + lda $049C ; CPU:$D913 PRG:5913 AD 9C 04 + bne NmiHandler_Loop192 ; CPU:$D916 PRG:5916 D0 0D + inx ; CPU:$D918 PRG:5918 E8 + inc Zp70 ; CPU:$D919 PRG:5919 E6 70 + lda $FE8F,x ; CPU:$D91B PRG:591B BD 8F FE + beq NmiHandler_OnZero11 ; CPU:$D91E PRG:591E F0 F3 + bpl NmiHandler_OnNonnegative24 ; CPU:$D920 PRG:5920 10 C5 + jmp Sub_D893 ; CPU:$D922 PRG:5922 4C 93 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop192: + dec $049C ; CPU:$D925 PRG:5925 CE 9C 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop193: + jsr Sub_D93F ; CPU:$D928 PRG:5928 20 3F D9 + sta Zp20 ; CPU:$D92B PRG:592B 85 20 + tya ; CPU:$D92D PRG:592D 98 + eor #$01 ; CPU:$D92E PRG:592E 49 01 + sta Zp71 ; CPU:$D930 PRG:5930 85 71 + lda $0453 ; CPU:$D932 PRG:5932 AD 53 04 + sta Zp2C ; CPU:$D935 PRG:5935 85 2C + jsr Sub_DB10 ; CPU:$D937 PRG:5937 20 10 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + inc Zp70 ; CPU:$D93A PRG:593A E6 70 + jmp Sub_D88C ; CPU:$D93C PRG:593C 4C 8C D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D93F +; Global: Branch target inside Sub: taken when D93F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D93F: + ldy Zp71 ; CPU:$D93F PRG:593F A4 71 + lda (Zp76),y ; CPU:$D941 PRG:5941 B1 76 + and #$80 ; CPU:$D943 PRG:5943 29 80 + sta Zp27 ; CPU:$D945 PRG:5945 85 27 + lda (Zp76),y ; CPU:$D947 PRG:5947 B1 76 + and #$7F ; CPU:$D949 PRG:5949 29 7F + sta SpriteY ; CPU:$D94B PRG:594B 85 25 + lda $04B0,y ; CPU:$D94D PRG:594D B9 B0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet3: + rts ; CPU:$D950 PRG:5950 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D951 +; Global: Branch target inside Label: taken when D951. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D951: + lda $0459 ; CPU:$D951 PRG:5951 AD 59 04 + cmp $0494 ; CPU:$D954 PRG:5954 CD 94 04 + bcc NmiHandler_Loop195 ; CPU:$D957 PRG:5957 90 0D + lda #$01 ; CPU:$D959 PRG:5959 A9 01 + sta $0464 ; CPU:$D95B PRG:595B 8D 64 04 + lda $0495 ; CPU:$D95E PRG:595E AD 95 04 + cmp $0476 ; CPU:$D961 PRG:5961 CD 76 04 + bcs NmiHandler_OnCarrySet3 ; CPU:$D964 PRG:5964 B0 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + lda $0495 ; CPU:$D966 PRG:5966 AD 95 04 + cmp #$08 ; CPU:$D969 PRG:5969 C9 08 + bcs NmiHandler_OnCarrySet3 ; CPU:$D96B PRG:596B B0 E3 + lda Zp7A ; CPU:$D96D PRG:596D A5 7A + bne NmiHandler_OnCarrySet3 ; CPU:$D96F PRG:596F D0 DF + jsr Sub_DAD8 ; CPU:$D971 PRG:5971 20 D8 DA + lda $045A ; CPU:$D974 PRG:5974 AD 5A 04 + beq NmiHandler_Loop197 ; CPU:$D977 PRG:5977 F0 57 + lda $0494 ; CPU:$D979 PRG:5979 AD 94 04 + sec ; CPU:$D97C PRG:597C 38 + sbc #$05 ; CPU:$D97D PRG:597D E9 05 + cmp #$06 ; CPU:$D97F PRG:597F C9 06 + bcs NmiHandler_Loop197 ; CPU:$D981 PRG:5981 B0 4D + ldx #$00 ; CPU:$D983 PRG:5983 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear9 +; Global: Branch target inside NmiHandler: taken when OnCarryClear9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear9: + lda $FED5,x ; CPU:$D985 PRG:5985 BD D5 FE + tay ; CPU:$D988 PRG:5988 A8 + lda $0400,y ; CPU:$D989 PRG:5989 B9 00 04 + bne NmiHandler_Loop196 ; CPU:$D98C PRG:598C D0 07 + inx ; CPU:$D98E PRG:598E E8 + cpx #$24 ; CPU:$D98F PRG:598F E0 24 + bcc NmiHandler_OnCarryClear9 ; CPU:$D991 PRG:5991 90 F2 + bcs NmiHandler_Loop197 ; CPU:$D993 PRG:5993 B0 3B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + sty SpriteIndex ; CPU:$D995 PRG:5995 84 2B + ldx $045A ; CPU:$D997 PRG:5997 AE 5A 04 + lda $D9C9,x ; CPU:$D99A PRG:599A BD C9 D9 + sta Zp20 ; CPU:$D99D PRG:599D 85 20 + sta SpriteAttr ; CPU:$D99F PRG:599F 85 2D + lda $D9CC,x ; CPU:$D9A1 PRG:59A1 BD CC D9 + sta SpriteY ; CPU:$D9A4 PRG:59A4 85 25 + jsr Sub_DAE2 ; CPU:$D9A6 PRG:59A6 20 E2 DA + ldy #$00 ; CPU:$D9A9 PRG:59A9 A0 00 + sty $05A0 ; CPU:$D9AB PRG:59AB 8C A0 05 + sty $045A ; CPU:$D9AE PRG:59AE 8C 5A 04 + sty SpriteIndex ; CPU:$D9B1 PRG:59B1 84 2B + iny ; CPU:$D9B3 PRG:59B3 C8 + sty $0599 ; CPU:$D9B4 PRG:59B4 8C 99 05 + inc SpriteY ; CPU:$D9B7 PRG:59B7 E6 25 + lda Zp20 ; CPU:$D9B9 PRG:59B9 A5 20 + ora #$80 ; CPU:$D9BB PRG:59BB 09 80 + sta Zp20 ; CPU:$D9BD PRG:59BD 85 20 + ldy #$C0 ; CPU:$D9BF PRG:59BF A0 C0 + jsr NmiHandler_Loop210 ; CPU:$D9C1 PRG:59C1 20 21 DB + ldy #$D0 ; CPU:$D9C4 PRG:59C4 A0 D0 + jsr NmiHandler_Loop210 ; CPU:$D9C6 PRG:59C6 20 21 DB + rts ; CPU:$D9C9 PRG:59C9 60 +; ---- data $D9CA-$D9CF (6 bytes) ---- +; referenced by `lda $D9CC,x` at $D9A1 (operand $D9CC falls inside this region) +SpriteMovementParameterTable: + .byte $07, $08, $06, $29, $2B, $2D ; CPU:$D9CA PRG:19CA 07 08 06 29 2B 2D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + lda $0473 ; CPU:$D9D0 PRG:59D0 AD 73 04 + bne NmiHandler_Loop198 ; CPU:$D9D3 PRG:59D3 D0 1B + inc $046A ; CPU:$D9D5 PRG:59D5 EE 6A 04 + lda $046A ; CPU:$D9D8 PRG:59D8 AD 6A 04 + cmp $0467 ; CPU:$D9DB PRG:59DB CD 67 04 + bcc NmiHandler_Loop198 ; CPU:$D9DE PRG:59DE 90 10 + ldx #$00 ; CPU:$D9E0 PRG:59E0 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear10 +; Global: Branch target inside NmiHandler: taken when OnCarryClear10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear10: + lda $FED1,x ; CPU:$D9E2 PRG:59E2 BD D1 FE + tay ; CPU:$D9E5 PRG:59E5 A8 + lda $0400,y ; CPU:$D9E6 PRG:59E6 B9 00 04 + bne NmiHandler_Loop199 ; CPU:$D9E9 PRG:59E9 D0 08 + inx ; CPU:$D9EB PRG:59EB E8 + cpx #$04 ; CPU:$D9EC PRG:59EC E0 04 + bcc NmiHandler_OnCarryClear10 ; CPU:$D9EE PRG:59EE 90 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop198: + jmp Sub_DA73 ; CPU:$D9F0 PRG:59F0 4C 73 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop199: + sty SpriteIndex ; CPU:$D9F3 PRG:59F3 84 2B + eor #$FF ; CPU:$D9F5 PRG:59F5 49 FF + sec ; CPU:$D9F7 PRG:59F7 38 + adc #$04 ; CPU:$D9F8 PRG:59F8 69 04 + sta Zp20 ; CPU:$D9FA PRG:59FA 85 20 + jsr Sub_C317 ; CPU:$D9FC PRG:59FC 20 17 C3 + and #$80 ; CPU:$D9FF PRG:59FF 29 80 + sta Zp27 ; CPU:$DA01 PRG:5A01 85 27 + lda Zp79 ; CPU:$DA03 PRG:5A03 A5 79 + bne NmiHandler_Loop200 ; CPU:$DA05 PRG:5A05 D0 13 + lda $049B ; CPU:$DA07 PRG:5A07 AD 9B 04 + inc $049B ; CPU:$DA0A PRG:5A0A EE 9B 04 + ror a ; CPU:$DA0D PRG:5A0D 6A + bcc NmiHandler_Loop200 ; CPU:$DA0E PRG:5A0E 90 0A + lda #$21 ; CPU:$DA10 PRG:5A10 A9 21 + sta SpriteY ; CPU:$DA12 PRG:5A12 85 25 + jsr NmiHandler_Loop209 ; CPU:$DA14 PRG:5A14 20 F9 DA + jmp Sub_DA6D ; CPU:$DA17 PRG:5A17 4C 6D DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop200: + lda #$20 ; CPU:$DA1A PRG:5A1A A9 20 + sta SpriteY ; CPU:$DA1C PRG:5A1C 85 25 + jsr Sub_DAF4 ; CPU:$DA1E PRG:5A1E 20 F4 DA + sty Zp1C ; CPU:$DA21 PRG:5A21 84 1C + lda SpriteIndex ; CPU:$DA23 PRG:5A23 A5 2B + clc ; CPU:$DA25 PRG:5A25 18 + adc #$0F ; CPU:$DA26 PRG:5A26 69 0F + sta Zp1D ; CPU:$DA28 PRG:5A28 85 1D + lda Zp27 ; CPU:$DA2A PRG:5A2A A5 27 + sta Zp1A ; CPU:$DA2C PRG:5A2C 85 1A + lda #$00 ; CPU:$DA2E PRG:5A2E A9 00 + sta Zp18 ; CPU:$DA30 PRG:5A30 85 18 + lda #$03 ; CPU:$DA32 PRG:5A32 A9 03 + sta Zp1B ; CPU:$DA34 PRG:5A34 85 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero45: + ldx Zp1D ; CPU:$DA36 PRG:5A36 A6 1D + lda $0400,x ; CPU:$DA38 PRG:5A38 BD 00 04 + beq NmiHandler_Loop201 ; CPU:$DA3B PRG:5A3B F0 20 + jsr Sub_DAD8 ; CPU:$DA3D PRG:5A3D 20 D8 DA + lda Zp1D ; CPU:$DA40 PRG:5A40 A5 1D + sta SpriteIndex ; CPU:$DA42 PRG:5A42 85 2B + lda Zp1A ; CPU:$DA44 PRG:5A44 A5 1A + sta Zp27 ; CPU:$DA46 PRG:5A46 85 27 + lda #$04 ; CPU:$DA48 PRG:5A48 A9 04 + sta Zp20 ; CPU:$DA4A PRG:5A4A 85 20 + sta SpriteAttr ; CPU:$DA4C PRG:5A4C 85 2D + lda #$27 ; CPU:$DA4E PRG:5A4E A9 27 + sta SpriteY ; CPU:$DA50 PRG:5A50 85 25 + jsr Sub_DAF4 ; CPU:$DA52 PRG:5A52 20 F4 DA + inc Zp18 ; CPU:$DA55 PRG:5A55 E6 18 + lda Zp18 ; CPU:$DA57 PRG:5A57 A5 18 + cmp #$02 ; CPU:$DA59 PRG:5A59 C9 02 + bcs NmiHandler_Loop202 ; CPU:$DA5B PRG:5A5B B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + inc Zp1D ; CPU:$DA5D PRG:5A5D E6 1D + dec Zp1B ; CPU:$DA5F PRG:5A5F C6 1B + bne NmiHandler_OnNonzero45 ; CPU:$DA61 PRG:5A61 D0 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop202: + ldx Zp1C ; CPU:$DA63 PRG:5A63 A6 1C + dex ; CPU:$DA65 PRG:5A65 CA + dex ; CPU:$DA66 PRG:5A66 CA + dex ; CPU:$DA67 PRG:5A67 CA + lda Zp18 ; CPU:$DA68 PRG:5A68 A5 18 + sta $0200,x ; CPU:$DA6A PRG:5A6A 9D 00 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA6D +; Global: Branch target inside Sub: taken when DA6D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA6D: + lda #$00 ; CPU:$DA6D PRG:5A6D A9 00 + sta $046A ; CPU:$DA6F PRG:5A6F 8D 6A 04 + rts ; CPU:$DA72 PRG:5A72 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA73 +; Global: Branch target inside Sub: taken when DA73. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA73: + lda Zp48 ; CPU:$DA73 PRG:5A73 A5 48 + ror a ; CPU:$DA75 PRG:5A75 6A + bcc NmiHandler_Loop205 ; CPU:$DA76 PRG:5A76 90 30 + inc $0468 ; CPU:$DA78 PRG:5A78 EE 68 04 + lda $0468 ; CPU:$DA7B PRG:5A7B AD 68 04 + cmp $0465 ; CPU:$DA7E PRG:5A7E CD 65 04 + bcs NmiHandler_Loop203 ; CPU:$DA81 PRG:5A81 B0 01 + rts ; CPU:$DA83 PRG:5A83 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop203: + ldx #$00 ; CPU:$DA84 PRG:5A84 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear11 +; Global: Branch target inside NmiHandler: taken when OnCarryClear11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear11: + lda $FEE9,x ; CPU:$DA86 PRG:5A86 BD E9 FE + tay ; CPU:$DA89 PRG:5A89 A8 + lda $0400,y ; CPU:$DA8A PRG:5A8A B9 00 04 + bne NmiHandler_Loop204 ; CPU:$DA8D PRG:5A8D D0 06 + inx ; CPU:$DA8F PRG:5A8F E8 + cpx #$10 ; CPU:$DA90 PRG:5A90 E0 10 + bcc NmiHandler_OnCarryClear11 ; CPU:$DA92 PRG:5A92 90 F2 + rts ; CPU:$DA94 PRG:5A94 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop204: + sty SpriteIndex ; CPU:$DA95 PRG:5A95 84 2B + lda #$04 ; CPU:$DA97 PRG:5A97 A9 04 + sta Zp20 ; CPU:$DA99 PRG:5A99 85 20 + lda #$1E ; CPU:$DA9B PRG:5A9B A9 1E + sta SpriteY ; CPU:$DA9D PRG:5A9D 85 25 + jsr Sub_DAE2 ; CPU:$DA9F PRG:5A9F 20 E2 DA + lda #$00 ; CPU:$DAA2 PRG:5AA2 A9 00 + sta $0468 ; CPU:$DAA4 PRG:5AA4 8D 68 04 + rts ; CPU:$DAA7 PRG:5AA7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop205: + inc $0469 ; CPU:$DAA8 PRG:5AA8 EE 69 04 + lda $0469 ; CPU:$DAAB PRG:5AAB AD 69 04 + cmp $0466 ; CPU:$DAAE PRG:5AAE CD 66 04 + bcs NmiHandler_Loop206 ; CPU:$DAB1 PRG:5AB1 B0 01 + rts ; CPU:$DAB3 PRG:5AB3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop206: + ldx #$00 ; CPU:$DAB4 PRG:5AB4 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear12 +; Global: Branch target inside NmiHandler: taken when OnCarryClear12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear12: + lda $FED5,x ; CPU:$DAB6 PRG:5AB6 BD D5 FE + tay ; CPU:$DAB9 PRG:5AB9 A8 + lda $0400,y ; CPU:$DABA PRG:5ABA B9 00 04 + bne NmiHandler_Loop207 ; CPU:$DABD PRG:5ABD D0 06 + inx ; CPU:$DABF PRG:5ABF E8 + cpx #$14 ; CPU:$DAC0 PRG:5AC0 E0 14 + bcc NmiHandler_OnCarryClear12 ; CPU:$DAC2 PRG:5AC2 90 F2 + rts ; CPU:$DAC4 PRG:5AC4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop207: + sty SpriteIndex ; CPU:$DAC5 PRG:5AC5 84 2B + lda #$05 ; CPU:$DAC7 PRG:5AC7 A9 05 + sta Zp20 ; CPU:$DAC9 PRG:5AC9 85 20 + lda #$1A ; CPU:$DACB PRG:5ACB A9 1A + sta SpriteY ; CPU:$DACD PRG:5ACD 85 25 + jsr Sub_DAE2 ; CPU:$DACF PRG:5ACF 20 E2 DA + lda #$00 ; CPU:$DAD2 PRG:5AD2 A9 00 + sta $0469 ; CPU:$DAD4 PRG:5AD4 8D 69 04 + rts ; CPU:$DAD7 PRG:5AD7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAD8 +; Global: Branch target inside Sub: taken when DAD8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAD8: + ldx #$0F ; CPU:$DAD8 PRG:5AD8 A2 0F + lda #$00 ; CPU:$DADA PRG:5ADA A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative25 +; Global: Branch target inside NmiHandler: taken when OnNonnegative25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative25: + sta Zp20,x ; CPU:$DADC PRG:5ADC 95 20 + dex ; CPU:$DADE PRG:5ADE CA + bpl NmiHandler_OnNonnegative25 ; CPU:$DADF PRG:5ADF 10 FB + rts ; CPU:$DAE1 PRG:5AE1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAE2 +; Global: Branch target inside Sub: taken when DAE2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAE2: + lda SpriteIndex ; CPU:$DAE2 PRG:5AE2 A5 2B + and #$0F ; CPU:$DAE4 PRG:5AE4 29 0F + cmp #$05 ; CPU:$DAE6 PRG:5AE6 C9 05 + bcs NmiHandler_Loop208 ; CPU:$DAE8 PRG:5AE8 B0 04 + lda #$80 ; CPU:$DAEA PRG:5AEA A9 80 + sta Zp27 ; CPU:$DAEC PRG:5AEC 85 27 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + lda Zp20 ; CPU:$DAEE PRG:5AEE A5 20 + cmp #$06 ; CPU:$DAF0 PRG:5AF0 C9 06 + bcs NmiHandler_Loop209 ; CPU:$DAF2 PRG:5AF2 B0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAF4 +; Global: Branch target inside Sub: taken when DAF4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAF4: + lda $0470 ; CPU:$DAF4 PRG:5AF4 AD 70 04 + sta Zp2C ; CPU:$DAF7 PRG:5AF7 85 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + lda SpriteIndex ; CPU:$DAF9 PRG:5AF9 A5 2B + jsr Sub_D518 ; CPU:$DAFB PRG:5AFB 20 18 D5 + lda SpriteIndex ; CPU:$DAFE PRG:5AFE A5 2B + jsr Sub_D7BA ; CPU:$DB00 PRG:5B00 20 BA D7 + lda Zp10 ; CPU:$DB03 PRG:5B03 A5 10 + sta Zp22 ; CPU:$DB05 PRG:5B05 85 22 + lda Zp11 ; CPU:$DB07 PRG:5B07 A5 11 + sta Zp23 ; CPU:$DB09 PRG:5B09 85 23 + lda #$01 ; CPU:$DB0B PRG:5B0B A9 01 + sta $05A0 ; CPU:$DB0D PRG:5B0D 8D A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB10 +; Global: Branch target inside Sub: taken when DB10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB10: + inc $0495 ; CPU:$DB10 PRG:5B10 EE 95 04 + ldy #$20 ; CPU:$DB13 PRG:5B13 A0 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero46: + lda $0200,y ; CPU:$DB15 PRG:5B15 B9 00 02 + bmi NmiHandler_Loop210 ; CPU:$DB18 PRG:5B18 30 07 + tya ; CPU:$DB1A PRG:5B1A 98 + clc ; CPU:$DB1B PRG:5B1B 18 + adc #$10 ; CPU:$DB1C PRG:5B1C 69 10 + tay ; CPU:$DB1E PRG:5B1E A8 + bne NmiHandler_OnNonzero46 ; CPU:$DB1F PRG:5B1F D0 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + lda #$08 ; CPU:$DB21 PRG:5B21 A9 08 + sta Zp29 ; CPU:$DB23 PRG:5B23 85 29 + sta Zp2A ; CPU:$DB25 PRG:5B25 85 2A + ldx #$00 ; CPU:$DB27 PRG:5B27 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero47: + lda Zp20,x ; CPU:$DB29 PRG:5B29 B5 20 + sta $0200,y ; CPU:$DB2B PRG:5B2B 99 00 02 + iny ; CPU:$DB2E PRG:5B2E C8 + inx ; CPU:$DB2F PRG:5B2F E8 + cpx #$10 ; CPU:$DB30 PRG:5B30 E0 10 + bne NmiHandler_OnNonzero47 ; CPU:$DB32 PRG:5B32 D0 F5 + rts ; CPU:$DB34 PRG:5B34 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB35 +; Global: Branch target inside Sub: taken when DB35. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB35: + lda #$02 ; CPU:$DB35 PRG:5B35 A9 02 + sta StarFieldPtrHi ; CPU:$DB37 PRG:5B37 85 01 + ldx #$20 ; CPU:$DB39 PRG:5B39 A2 20 + lda Zp7C ; CPU:$DB3B PRG:5B3B A5 7C + cmp #$02 ; CPU:$DB3D PRG:5B3D C9 02 + bne NmiHandler_Loop211 ; CPU:$DB3F PRG:5B3F D0 02 + ldx #$10 ; CPU:$DB41 PRG:5B41 A2 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + stx StarFieldPtrLo ; CPU:$DB43 PRG:5B43 86 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear13 +; Global: Branch target inside NmiHandler: taken when OnCarryClear13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear13: + ldy #$00 ; CPU:$DB45 PRG:5B45 A0 00 + lda (StarFieldPtrLo),y ; CPU:$DB47 PRG:5B47 B1 00 + bmi NmiHandler_Loop212 ; CPU:$DB49 PRG:5B49 30 03 + jsr Sub_DB5A ; CPU:$DB4B PRG:5B4B 20 5A DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + lda StarFieldPtrLo ; CPU:$DB4E PRG:5B4E A5 00 + clc ; CPU:$DB50 PRG:5B50 18 + adc #$10 ; CPU:$DB51 PRG:5B51 69 10 + sta StarFieldPtrLo ; CPU:$DB53 PRG:5B53 85 00 + cmp #$E0 ; CPU:$DB55 PRG:5B55 C9 E0 + bcc NmiHandler_OnCarryClear13 ; CPU:$DB57 PRG:5B57 90 EC + rts ; CPU:$DB59 PRG:5B59 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB5A +; Global: Branch target inside Sub: taken when DB5A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB5A: + jsr Sub_DFE0 ; CPU:$DB5A PRG:5B5A 20 E0 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_DB5D +; Global: Branch target inside Sub: taken when DB5D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB5D: + ldy #$07 ; CPU:$DB5D PRG:5B5D A0 07 + lda (StarFieldPtrLo),y ; CPU:$DB5F PRG:5B5F B1 00 + and #$7F ; CPU:$DB61 PRG:5B61 29 7F + jsr Sub_C301 ; CPU:$DB63 PRG:5B63 20 01 C3 + .byte $80, $DB ; CPU:$DB66 PRG:5B66 80 DB -- nop #$DB (undocumented; ca65 cannot encode) + cmp (ZpDE,x) ; CPU:$DB68 PRG:5B68 C1 DE + cld ; CPU:$DB6A PRG:5B6A D8 + cmp $DF84,x ; CPU:$DB6B PRG:5B6B DD 84 DF + .byte $6F, $DF, $97 ; CPU:$DB6E PRG:5B6E 6F DF 97 -- rra $97DF (undocumented; ca65 cannot encode) + .byte $DF, $BC, $DF ; CPU:$DB71 PRG:5B71 DF BC DF -- dcp $DFBC,x (undocumented; ca65 cannot encode) + stx ZpDE ; CPU:$DB74 PRG:5B74 86 DE + lda ZpDE,x ; CPU:$DB76 PRG:5B76 B5 DE + stx $C2DF ; CPU:$DB78 PRG:5B78 8E DF C2 + .byte $DF, $97, $DD ; CPU:$DB7B PRG:5B7B DF 97 DD -- dcp $DD97,x (undocumented; ca65 cannot encode) + lda ZpDE,x ; CPU:$DB7E PRG:5B7E B5 DE +; ----------------------------------------------------------------------------- +; Routine: Label_DB80 +; Global: Branch target inside Label: taken when DB80. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB80: + ldy #$08 ; CPU:$DB80 PRG:5B80 A0 08 + lda (StarFieldPtrLo),y ; CPU:$DB82 PRG:5B82 B1 00 + and #$E0 ; CPU:$DB84 PRG:5B84 29 E0 + tax ; CPU:$DB86 PRG:5B86 AA + ldy #$04 ; CPU:$DB87 PRG:5B87 A0 04 + lda (StarFieldPtrLo),y ; CPU:$DB89 PRG:5B89 B1 00 + sec ; CPU:$DB8B PRG:5B8B 38 + sbc $FF59,x ; CPU:$DB8C PRG:5B8C FD 59 FF + sta (StarFieldPtrLo),y ; CPU:$DB8F PRG:5B8F 91 00 + bmi NmiHandler_Loop214 ; CPU:$DB91 PRG:5B91 30 4C +; ----------------------------------------------------------------------------- +; Routine: Sub_DB93 +; Global: Branch target inside Sub: taken when DB93. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB93: + ldy #$08 ; CPU:$DB93 PRG:5B93 A0 08 + lda (StarFieldPtrLo),y ; CPU:$DB95 PRG:5B95 B1 00 + and #$E0 ; CPU:$DB97 PRG:5B97 29 E0 + beq NmiHandler_Loop213 ; CPU:$DB99 PRG:5B99 F0 43 + sta PpuAddrLow ; CPU:$DB9B PRG:5B9B 85 04 + ldy #$01 ; CPU:$DB9D PRG:5B9D A0 01 + lda (StarFieldPtrLo),y ; CPU:$DB9F PRG:5B9F B1 00 + and #$1F ; CPU:$DBA1 PRG:5BA1 29 1F + clc ; CPU:$DBA3 PRG:5BA3 18 + adc PpuAddrLow ; CPU:$DBA4 PRG:5BA4 65 04 + tax ; CPU:$DBA6 PRG:5BA6 AA + lda $FF3A,x ; CPU:$DBA7 PRG:5BA7 BD 3A FF + ldy #$09 ; CPU:$DBAA PRG:5BAA A0 09 + adc (StarFieldPtrLo),y ; CPU:$DBAC PRG:5BAC 71 00 + sta PpuAddrLow ; CPU:$DBAE PRG:5BAE 85 04 + and #$0F ; CPU:$DBB0 PRG:5BB0 29 0F + sta (StarFieldPtrLo),y ; CPU:$DBB2 PRG:5BB2 91 00 + lda PpuAddrLow ; CPU:$DBB4 PRG:5BB4 A5 04 + jsr Sub_C3FB ; CPU:$DBB6 PRG:5BB6 20 FB C3 + ldy #$02 ; CPU:$DBB9 PRG:5BB9 A0 02 + clc ; CPU:$DBBB PRG:5BBB 18 + adc (StarFieldPtrLo),y ; CPU:$DBBC PRG:5BBC 71 00 + sta (StarFieldPtrLo),y ; CPU:$DBBE PRG:5BBE 91 00 + txa ; CPU:$DBC0 PRG:5BC0 8A + clc ; CPU:$DBC1 PRG:5BC1 18 + adc #$06 ; CPU:$DBC2 PRG:5BC2 69 06 + tax ; CPU:$DBC4 PRG:5BC4 AA + lda $FF3A,x ; CPU:$DBC5 PRG:5BC5 BD 3A FF + ldy #$0A ; CPU:$DBC8 PRG:5BC8 A0 0A + adc (StarFieldPtrLo),y ; CPU:$DBCA PRG:5BCA 71 00 + sta PpuAddrLow ; CPU:$DBCC PRG:5BCC 85 04 + and #$0F ; CPU:$DBCE PRG:5BCE 29 0F + sta (StarFieldPtrLo),y ; CPU:$DBD0 PRG:5BD0 91 00 + lda PpuAddrLow ; CPU:$DBD2 PRG:5BD2 A5 04 + jsr Sub_C3FB ; CPU:$DBD4 PRG:5BD4 20 FB C3 + ldy #$03 ; CPU:$DBD7 PRG:5BD7 A0 03 + clc ; CPU:$DBD9 PRG:5BD9 18 + adc (StarFieldPtrLo),y ; CPU:$DBDA PRG:5BDA 71 00 + sta (StarFieldPtrLo),y ; CPU:$DBDC PRG:5BDC 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + rts ; CPU:$DBDE PRG:5BDE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + ldy #$0F ; CPU:$DBDF PRG:5BDF A0 0F + lda (StarFieldPtrLo),y ; CPU:$DBE1 PRG:5BE1 B1 00 + beq NmiHandler_Loop215 ; CPU:$DBE3 PRG:5BE3 F0 08 + sec ; CPU:$DBE5 PRG:5BE5 38 + sbc #$01 ; CPU:$DBE6 PRG:5BE6 E9 01 + sta (StarFieldPtrLo),y ; CPU:$DBE8 PRG:5BE8 91 00 + jsr Sub_E016 ; CPU:$DBEA PRG:5BEA 20 16 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + jsr Sub_DFF1 ; CPU:$DBED PRG:5BED 20 F1 DF + rol a ; CPU:$DBF0 PRG:5BF0 2A + bcs NmiHandler_Loop216 ; CPU:$DBF1 PRG:5BF1 B0 05 + rol a ; CPU:$DBF3 PRG:5BF3 2A + bcs NmiHandler_Loop217 ; CPU:$DBF4 PRG:5BF4 B0 19 + bcc NmiHandler_Loop220 ; CPU:$DBF6 PRG:5BF6 90 2D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + rol a ; CPU:$DBF8 PRG:5BF8 2A + bcs NmiHandler_Loop222 ; CPU:$DBF9 PRG:5BF9 B0 42 + ldy #$07 ; CPU:$DBFB PRG:5BFB A0 07 + lda (StarFieldPtrLo),y ; CPU:$DBFD PRG:5BFD B1 00 + rol a ; CPU:$DBFF PRG:5BFF 2A + bcs NmiHandler_Loop218 ; CPU:$DC00 PRG:5C00 B0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet4: + ldy #$01 ; CPU:$DC02 PRG:5C02 A0 01 + lda (StarFieldPtrLo),y ; CPU:$DC04 PRG:5C04 B1 00 + sec ; CPU:$DC06 PRG:5C06 38 + sbc #$01 ; CPU:$DC07 PRG:5C07 E9 01 + bcs NmiHandler_Loop219 ; CPU:$DC09 PRG:5C09 B0 18 + lda #$17 ; CPU:$DC0B PRG:5C0B A9 17 + bcc NmiHandler_Loop219 ; CPU:$DC0D PRG:5C0D 90 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + ldy #$07 ; CPU:$DC0F PRG:5C0F A0 07 + lda (StarFieldPtrLo),y ; CPU:$DC11 PRG:5C11 B1 00 + rol a ; CPU:$DC13 PRG:5C13 2A + bcs NmiHandler_OnCarrySet4 ; CPU:$DC14 PRG:5C14 B0 EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + ldy #$01 ; CPU:$DC16 PRG:5C16 A0 01 + lda (StarFieldPtrLo),y ; CPU:$DC18 PRG:5C18 B1 00 + clc ; CPU:$DC1A PRG:5C1A 18 + adc #$01 ; CPU:$DC1B PRG:5C1B 69 01 + cmp #$18 ; CPU:$DC1D PRG:5C1D C9 18 + bcc NmiHandler_Loop219 ; CPU:$DC1F PRG:5C1F 90 02 + lda #$00 ; CPU:$DC21 PRG:5C21 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: + sta (StarFieldPtrLo),y ; CPU:$DC23 PRG:5C23 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop220: + lda Zp07 ; CPU:$DC25 PRG:5C25 A5 07 + and #$3F ; CPU:$DC27 PRG:5C27 29 3F + asl a ; CPU:$DC29 PRG:5C29 0A + asl a ; CPU:$DC2A PRG:5C2A 0A + sta PpuAddrLow ; CPU:$DC2B PRG:5C2B 85 04 + ldy #$04 ; CPU:$DC2D PRG:5C2D A0 04 + lda (StarFieldPtrLo),y ; CPU:$DC2F PRG:5C2F B1 00 + clc ; CPU:$DC31 PRG:5C31 18 + adc PpuAddrLow ; CPU:$DC32 PRG:5C32 65 04 + bpl NmiHandler_Loop221 ; CPU:$DC34 PRG:5C34 10 02 + lda #$00 ; CPU:$DC36 PRG:5C36 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop221: + sta (StarFieldPtrLo),y ; CPU:$DC38 PRG:5C38 91 00 + jmp Sub_DB93 ; CPU:$DC3A PRG:5C3A 4C 93 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop222: + rol a ; CPU:$DC3D PRG:5C3D 2A + bcs NmiHandler_Loop223 ; CPU:$DC3E PRG:5C3E B0 0B + lda Zp07 ; CPU:$DC40 PRG:5C40 A5 07 + and #$1F ; CPU:$DC42 PRG:5C42 29 1F + ldy #$0F ; CPU:$DC44 PRG:5C44 A0 0F + sta (StarFieldPtrLo),y ; CPU:$DC46 PRG:5C46 91 00 + jmp NmiHandler_Loop215 ; CPU:$DC48 PRG:5C48 4C ED DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop223: + lda Zp07 ; CPU:$DC4B PRG:5C4B A5 07 + and #$1F ; CPU:$DC4D PRG:5C4D 29 1F + jsr Sub_C301 ; CPU:$DC4F PRG:5C4F 20 01 C3 + ror $86DC ; CPU:$DC52 PRG:5C52 6E DC 86 + .byte $DC, $8F, $DC ; CPU:$DC55 PRG:5C55 DC 8F DC -- nop $DC8F,x (undocumented; ca65 cannot encode) + ldx ZpDC ; CPU:$DC58 PRG:5C58 A6 DC + .byte $AF, $DC, $BF ; CPU:$DC5A PRG:5C5A AF DC BF -- lax $BFDC (undocumented; ca65 cannot encode) + .byte $DC, $58, $DD ; CPU:$DC5D PRG:5C5D DC 58 DD -- nop $DD58,x (undocumented; ca65 cannot encode) + .byte $CF, $DC, $49 ; CPU:$DC60 PRG:5C60 CF DC 49 -- dcp $49DC (undocumented; ca65 cannot encode) + cmp $DCEE,x ; CPU:$DC63 PRG:5C63 DD EE DC + pla ; CPU:$DC66 PRG:5C66 68 + cmp $DCDC,x ; CPU:$DC67 PRG:5C67 DD DC DC + .byte $7A ; CPU:$DC6A PRG:5C6A 7A -- nop (undocumented; ca65 cannot encode) + cmp $DD7E,x ; CPU:$DC6B PRG:5C6B DD 7E DD +; ----------------------------------------------------------------------------- +; Routine: Label_DC6E +; Global: Branch target inside Label: taken when DC6E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC6E: + jsr Sub_DFF1 ; CPU:$DC6E PRG:5C6E 20 F1 DF + ldy #$07 ; CPU:$DC71 PRG:5C71 A0 07 + lda (StarFieldPtrLo),y ; CPU:$DC73 PRG:5C73 B1 00 + rol a ; CPU:$DC75 PRG:5C75 2A + .byte $90, $06 ; CPU:$DC76 PRG:5C76 90 06 + lda #$C0 ; CPU:$DC78 PRG:5C78 A9 C0 + sec ; CPU:$DC7A PRG:5C7A 38 + sbc Zp07 ; CPU:$DC7B PRG:5C7B E5 07 +; ----------------------------------------------------------------------------- +; Routine: Label_DC7D +; Global: Branch target inside Label: taken when DC7D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC7D: + bit $07A5 ; CPU:$DC7D PRG:5C7D 2C A5 07 + ldy #$03 ; CPU:$DC80 PRG:5C80 A0 03 + sta (StarFieldPtrLo),y ; CPU:$DC82 PRG:5C82 91 00 + bpl NmiHandler_Loop227 ; CPU:$DC84 PRG:5C84 10 36 + jsr Sub_DFF1 ; CPU:$DC86 PRG:5C86 20 F1 DF + ldy #$02 ; CPU:$DC89 PRG:5C89 A0 02 + sta (StarFieldPtrLo),y ; CPU:$DC8B PRG:5C8B 91 00 + bpl NmiHandler_Loop227 ; CPU:$DC8D PRG:5C8D 10 2D + jsr Sub_DFF1 ; CPU:$DC8F PRG:5C8F 20 F1 DF + ldy #$07 ; CPU:$DC92 PRG:5C92 A0 07 + lda (StarFieldPtrLo),y ; CPU:$DC94 PRG:5C94 B1 00 + rol a ; CPU:$DC96 PRG:5C96 2A + lda Zp07 ; CPU:$DC97 PRG:5C97 A5 07 + bcc NmiHandler_Loop225 ; CPU:$DC99 PRG:5C99 90 05 + eor #$FF ; CPU:$DC9B PRG:5C9B 49 FF + sec ; CPU:$DC9D PRG:5C9D 38 + adc #$18 ; CPU:$DC9E PRG:5C9E 69 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop225: + ldy #$01 ; CPU:$DCA0 PRG:5CA0 A0 01 + sta (StarFieldPtrLo),y ; CPU:$DCA2 PRG:5CA2 91 00 + bpl NmiHandler_Loop227 ; CPU:$DCA4 PRG:5CA4 10 16 + jsr Sub_DFF1 ; CPU:$DCA6 PRG:5CA6 20 F1 DF + ldy #$08 ; CPU:$DCA9 PRG:5CA9 A0 08 + sta (StarFieldPtrLo),y ; CPU:$DCAB PRG:5CAB 91 00 + bpl NmiHandler_Loop227 ; CPU:$DCAD PRG:5CAD 10 0D + ldy #$08 ; CPU:$DCAF PRG:5CAF A0 08 + lda (StarFieldPtrLo),y ; CPU:$DCB1 PRG:5CB1 B1 00 + cmp #$A0 ; CPU:$DCB3 PRG:5CB3 C9 A0 + beq NmiHandler_Loop226 ; CPU:$DCB5 PRG:5CB5 F0 03 + clc ; CPU:$DCB7 PRG:5CB7 18 + adc #$20 ; CPU:$DCB8 PRG:5CB8 69 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop226: + sta (StarFieldPtrLo),y ; CPU:$DCBA PRG:5CBA 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop227: + jmp NmiHandler_Loop215 ; CPU:$DCBC PRG:5CBC 4C ED DB +; ----------------------------------------------------------------------------- +; Routine: Label_DCBF +; Global: Branch target inside Label: taken when DCBF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DCBF: + ldy #$08 ; CPU:$DCBF PRG:5CBF A0 08 + lda (StarFieldPtrLo),y ; CPU:$DCC1 PRG:5CC1 B1 00 + cmp #$A0 ; CPU:$DCC3 PRG:5CC3 C9 A0 + beq NmiHandler_Loop228 ; CPU:$DCC5 PRG:5CC5 F0 03 + sec ; CPU:$DCC7 PRG:5CC7 38 + sbc #$20 ; CPU:$DCC8 PRG:5CC8 E9 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop228: + sta (StarFieldPtrLo),y ; CPU:$DCCA PRG:5CCA 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero48: + jmp NmiHandler_Loop215 ; CPU:$DCCC PRG:5CCC 4C ED DB +; ----------------------------------------------------------------------------- +; Routine: Label_DCCF +; Global: Branch target inside Label: taken when DCCF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DCCF: + lda $0451 ; CPU:$DCCF PRG:5CCF AD 51 04 + beq NmiHandler_OnNonzero48 ; CPU:$DCD2 PRG:5CD2 F0 F8 + ldy #$08 ; CPU:$DCD4 PRG:5CD4 A0 08 + lda #$A0 ; CPU:$DCD6 PRG:5CD6 A9 A0 + sta (StarFieldPtrLo),y ; CPU:$DCD8 PRG:5CD8 91 00 + bne NmiHandler_OnNonzero48 ; CPU:$DCDA PRG:5CDA D0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_DCDC +; Global: Branch target inside Label: taken when DCDC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DCDC: + ldy $0458 ; CPU:$DCDC PRG:5CDC AC 58 04 + beq NmiHandler_OnNonzero48 ; CPU:$DCDF PRG:5CDF F0 EB + lda #$60 ; CPU:$DCE1 PRG:5CE1 A9 60 + dey ; CPU:$DCE3 PRG:5CE3 88 + bne NmiHandler_Loop229 ; CPU:$DCE4 PRG:5CE4 D0 02 + lda #$40 ; CPU:$DCE6 PRG:5CE6 A9 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + ldy #$08 ; CPU:$DCE8 PRG:5CE8 A0 08 + sta (StarFieldPtrLo),y ; CPU:$DCEA PRG:5CEA 91 00 + bne NmiHandler_OnNonzero48 ; CPU:$DCEC PRG:5CEC D0 DE +; ----------------------------------------------------------------------------- +; Routine: Label_DCEE +; Global: Branch target inside Label: taken when DCEE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DCEE: + lda Zp7A ; CPU:$DCEE PRG:5CEE A5 7A + bne NmiHandler_Loop230 ; CPU:$DCF0 PRG:5CF0 D0 05 + lda $0464 ; CPU:$DCF2 PRG:5CF2 AD 64 04 + bne NmiHandler_Loop232 ; CPU:$DCF5 PRG:5CF5 D0 27 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + ldy #$0B ; CPU:$DCF7 PRG:5CF7 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DCF9 PRG:5CF9 B1 00 + jsr Sub_D78C ; CPU:$DCFB PRG:5CFB 20 8C D7 + jmp NmiHandler_Loop234 ; CPU:$DCFE PRG:5CFE 4C 3E DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero49: + ldy #$0B ; CPU:$DD01 PRG:5D01 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DD03 PRG:5D03 B1 00 + jsr Sub_D78C ; CPU:$DD05 PRG:5D05 20 8C D7 + sta PpuAddrLow ; CPU:$DD08 PRG:5D08 85 04 + ldy #$07 ; CPU:$DD0A PRG:5D0A A0 07 + lda (StarFieldPtrLo),y ; CPU:$DD0C PRG:5D0C B1 00 + bpl NmiHandler_Loop231 ; CPU:$DD0E PRG:5D0E 10 07 + lda PpuAddrLow ; CPU:$DD10 PRG:5D10 A5 04 + sec ; CPU:$DD12 PRG:5D12 38 + sbc #$20 ; CPU:$DD13 PRG:5D13 E9 20 + bne NmiHandler_Loop234 ; CPU:$DD15 PRG:5D15 D0 27 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + lda PpuAddrLow ; CPU:$DD17 PRG:5D17 A5 04 + clc ; CPU:$DD19 PRG:5D19 18 + adc #$20 ; CPU:$DD1A PRG:5D1A 69 20 + bne NmiHandler_Loop234 ; CPU:$DD1C PRG:5D1C D0 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop232: + ldy #$0C ; CPU:$DD1E PRG:5D1E A0 0C + lda $0470 ; CPU:$DD20 PRG:5D20 AD 70 04 + sta (StarFieldPtrLo),y ; CPU:$DD23 PRG:5D23 91 00 + iny ; CPU:$DD25 PRG:5D25 C8 + lda (StarFieldPtrLo),y ; CPU:$DD26 PRG:5D26 B1 00 + bne NmiHandler_OnNonzero49 ; CPU:$DD28 PRG:5D28 D0 D7 + ldy #$07 ; CPU:$DD2A PRG:5D2A A0 07 + ldx #$70 ; CPU:$DD2C PRG:5D2C A2 70 + lda (StarFieldPtrLo),y ; CPU:$DD2E PRG:5D2E B1 00 + bpl NmiHandler_Loop233 ; CPU:$DD30 PRG:5D30 10 02 + ldx #$10 ; CPU:$DD32 PRG:5D32 A2 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop233: + stx PpuAddrLow ; CPU:$DD34 PRG:5D34 86 04 + jsr Sub_C317 ; CPU:$DD36 PRG:5D36 20 17 C3 + and #$3F ; CPU:$DD39 PRG:5D39 29 3F + clc ; CPU:$DD3B PRG:5D3B 18 + adc PpuAddrLow ; CPU:$DD3C PRG:5D3C 65 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop234: + ldy #$03 ; CPU:$DD3E PRG:5D3E A0 03 + sta (StarFieldPtrLo),y ; CPU:$DD40 PRG:5D40 91 00 + lda #$00 ; CPU:$DD42 PRG:5D42 A9 00 + dey ; CPU:$DD44 PRG:5D44 88 + sta (StarFieldPtrLo),y ; CPU:$DD45 PRG:5D45 91 00 + bne NmiHandler_OnNonzero48 ; CPU:$DD47 PRG:5D47 D0 83 + lda Zp7A ; CPU:$DD49 PRG:5D49 A5 7A + bne NmiHandler_Loop235 ; CPU:$DD4B PRG:5D4B D0 05 + lda $0464 ; CPU:$DD4D PRG:5D4D AD 64 04 + bne NmiHandler_OnNonzero50 ; CPU:$DD50 PRG:5D50 D0 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop235: + lda #$01 ; CPU:$DD52 PRG:5D52 A9 01 + sta Zp07 ; CPU:$DD54 PRG:5D54 85 07 + bne NmiHandler_Loop236 ; CPU:$DD56 PRG:5D56 D0 03 + jsr Sub_DFF1 ; CPU:$DD58 PRG:5D58 20 F1 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + ldy #$07 ; CPU:$DD5B PRG:5D5B A0 07 + lda (StarFieldPtrLo),y ; CPU:$DD5D PRG:5D5D B1 00 + and #$80 ; CPU:$DD5F PRG:5D5F 29 80 + ora Zp07 ; CPU:$DD61 PRG:5D61 05 07 + sta (StarFieldPtrLo),y ; CPU:$DD63 PRG:5D63 91 00 + jmp Sub_DB5D ; CPU:$DD65 PRG:5D65 4C 5D DB +; ----------------------------------------------------------------------------- +; Routine: Label_DD68 +; Global: Branch target inside Label: taken when DD68. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DD68: + jsr Sub_E002 ; CPU:$DD68 PRG:5D68 20 02 E0 + ldy #$05 ; CPU:$DD6B PRG:5D6B A0 05 + sta (StarFieldPtrLo),y ; CPU:$DD6D PRG:5D6D 91 00 + iny ; CPU:$DD6F PRG:5D6F C8 + lda #$00 ; CPU:$DD70 PRG:5D70 A9 00 + sta (StarFieldPtrLo),y ; CPU:$DD72 PRG:5D72 91 00 + jsr Sub_DFE0 ; CPU:$DD74 PRG:5D74 20 E0 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero50: + jmp NmiHandler_Loop215 ; CPU:$DD77 PRG:5D77 4C ED DB +; ----------------------------------------------------------------------------- +; Routine: Label_DD7A +; Global: Branch target inside Label: taken when DD7A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DD7A: + ldx #$C0 ; CPU:$DD7A PRG:5D7A A2 C0 + bne NmiHandler_Loop237 ; CPU:$DD7C PRG:5D7C D0 02 + ldx #$D0 ; CPU:$DD7E PRG:5D7E A2 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + lda #$20 ; CPU:$DD80 PRG:5D80 A9 20 + sta $0208,x ; CPU:$DD82 PRG:5D82 9D 08 02 + ldy #$00 ; CPU:$DD85 PRG:5D85 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero51: + lda (StarFieldPtrLo),y ; CPU:$DD87 PRG:5D87 B1 00 + sta $0200,x ; CPU:$DD89 PRG:5D89 9D 00 02 + inx ; CPU:$DD8C PRG:5D8C E8 + iny ; CPU:$DD8D PRG:5D8D C8 + cpy #$04 ; CPU:$DD8E PRG:5D8E C0 04 + bne NmiHandler_OnNonzero51 ; CPU:$DD90 PRG:5D90 D0 F5 + inc $0495 ; CPU:$DD92 PRG:5D92 EE 95 04 + bne NmiHandler_OnNonzero50 ; CPU:$DD95 PRG:5D95 D0 E0 + ldy #$0E ; CPU:$DD97 PRG:5D97 A0 0E + lda (StarFieldPtrLo),y ; CPU:$DD99 PRG:5D99 B1 00 + clc ; CPU:$DD9B PRG:5D9B 18 + adc #$01 ; CPU:$DD9C PRG:5D9C 69 01 + cmp #$40 ; CPU:$DD9E PRG:5D9E C9 40 + bcs NmiHandler_Loop238 ; CPU:$DDA0 PRG:5DA0 B0 20 + sta (StarFieldPtrLo),y ; CPU:$DDA2 PRG:5DA2 91 00 + and #$08 ; CPU:$DDA4 PRG:5DA4 29 08 + sta PpuAddrLow ; CPU:$DDA6 PRG:5DA6 85 04 + ldy #$0B ; CPU:$DDA8 PRG:5DA8 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DDAA PRG:5DAA B1 00 + pha ; CPU:$DDAC PRG:5DAC 48 + cmp #$30 ; CPU:$DDAD PRG:5DAD C9 30 + lda #$00 ; CPU:$DDAF PRG:5DAF A9 00 + adc #$04 ; CPU:$DDB1 PRG:5DB1 69 04 + adc PpuAddrLow ; CPU:$DDB3 PRG:5DB3 65 04 + ldy #$00 ; CPU:$DDB5 PRG:5DB5 A0 00 + sta (StarFieldPtrLo),y ; CPU:$DDB7 PRG:5DB7 91 00 + pla ; CPU:$DDB9 PRG:5DB9 68 + jsr Sub_D78C ; CPU:$DDBA PRG:5DBA 20 8C D7 + ldy #$03 ; CPU:$DDBD PRG:5DBD A0 03 + sta (StarFieldPtrLo),y ; CPU:$DDBF PRG:5DBF 91 00 + rts ; CPU:$DDC1 PRG:5DC1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + dey ; CPU:$DDC2 PRG:5DC2 88 + lda (StarFieldPtrLo),y ; CPU:$DDC3 PRG:5DC3 B1 00 + pha ; CPU:$DDC5 PRG:5DC5 48 + lda #$00 ; CPU:$DDC6 PRG:5DC6 A9 00 + sta (StarFieldPtrLo),y ; CPU:$DDC8 PRG:5DC8 91 00 + pla ; CPU:$DDCA PRG:5DCA 68 + ldy #$00 ; CPU:$DDCB PRG:5DCB A0 00 + sta (StarFieldPtrLo),y ; CPU:$DDCD PRG:5DCD 91 00 + lda #$20 ; CPU:$DDCF PRG:5DCF A9 20 + ldy #$08 ; CPU:$DDD1 PRG:5DD1 A0 08 + sta (StarFieldPtrLo),y ; CPU:$DDD3 PRG:5DD3 91 00 + jmp NmiHandler_Loop266 ; CPU:$DDD5 PRG:5DD5 4C D1 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_DDD8 +; Global: Branch target inside Sub: taken when DDD8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DDD8: + ldy #$07 ; CPU:$DDD8 PRG:5DD8 A0 07 + lda #$02 ; CPU:$DDDA PRG:5DDA A9 02 + sta (StarFieldPtrLo),y ; CPU:$DDDC PRG:5DDC 91 00 + lda #$00 ; CPU:$DDDE PRG:5DDE A9 00 + sta TilePtrLo ; CPU:$DDE0 PRG:5DE0 85 08 + ldy #$0B ; CPU:$DDE2 PRG:5DE2 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DDE4 PRG:5DE4 B1 00 + sta StarFieldCount ; CPU:$DDE6 PRG:5DE6 85 06 + cmp #$01 ; CPU:$DDE8 PRG:5DE8 C9 01 + bne NmiHandler_Loop239 ; CPU:$DDEA PRG:5DEA D0 02 + lda Zp7D ; CPU:$DDEC PRG:5DEC A5 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + jsr Sub_D78C ; CPU:$DDEE PRG:5DEE 20 8C D7 + sta Zp07 ; CPU:$DDF1 PRG:5DF1 85 07 + ldy #$03 ; CPU:$DDF3 PRG:5DF3 A0 03 + lda (StarFieldPtrLo),y ; CPU:$DDF5 PRG:5DF5 B1 00 + cmp Zp07 ; CPU:$DDF7 PRG:5DF7 C5 07 + beq NmiHandler_Loop241 ; CPU:$DDF9 PRG:5DF9 F0 09 + inc TilePtrLo ; CPU:$DDFB PRG:5DFB E6 08 + .byte $B0, $03 ; CPU:$DDFD PRG:5DFD B0 03 + adc #$01 ; CPU:$DDFF PRG:5DFF 69 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DE01 +; Global: Branch target inside Label: taken when DE01. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE01: + bit $01E9 ; CPU:$DE01 PRG:5E01 2C E9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + sta (StarFieldPtrLo),y ; CPU:$DE04 PRG:5E04 91 00 + lda StarFieldCount ; CPU:$DE06 PRG:5E06 A5 06 + cmp #$01 ; CPU:$DE08 PRG:5E08 C9 01 + bne NmiHandler_Loop242 ; CPU:$DE0A PRG:5E0A D0 04 + lda #$07 ; CPU:$DE0C PRG:5E0C A9 07 + bpl NmiHandler_Loop243 ; CPU:$DE0E PRG:5E0E 10 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + jsr Sub_D7AA ; CPU:$DE10 PRG:5E10 20 AA D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + sta Zp07 ; CPU:$DE13 PRG:5E13 85 07 + ldy #$02 ; CPU:$DE15 PRG:5E15 A0 02 + lda (StarFieldPtrLo),y ; CPU:$DE17 PRG:5E17 B1 00 + cmp Zp07 ; CPU:$DE19 PRG:5E19 C5 07 + beq NmiHandler_Loop245 ; CPU:$DE1B PRG:5E1B F0 09 + inc TilePtrLo ; CPU:$DE1D PRG:5E1D E6 08 + .byte $B0, $03 ; CPU:$DE1F PRG:5E1F B0 03 + adc #$01 ; CPU:$DE21 PRG:5E21 69 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DE23 +; Global: Branch target inside Label: taken when DE23. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE23: + bit $01E9 ; CPU:$DE23 PRG:5E23 2C E9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + sta (StarFieldPtrLo),y ; CPU:$DE26 PRG:5E26 91 00 + lda Zp48 ; CPU:$DE28 PRG:5E28 A5 48 + and #$03 ; CPU:$DE2A PRG:5E2A 29 03 + beq NmiHandler_Loop246 ; CPU:$DE2C PRG:5E2C F0 01 + rts ; CPU:$DE2E PRG:5E2E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + ldy #$01 ; CPU:$DE2F PRG:5E2F A0 01 + lda (StarFieldPtrLo),y ; CPU:$DE31 PRG:5E31 B1 00 + and #$1F ; CPU:$DE33 PRG:5E33 29 1F + tax ; CPU:$DE35 PRG:5E35 AA + beq NmiHandler_Loop249 ; CPU:$DE36 PRG:5E36 F0 18 + cmp #$0C ; CPU:$DE38 PRG:5E38 C9 0C + bcc NmiHandler_Loop247 ; CPU:$DE3A PRG:5E3A 90 09 + inx ; CPU:$DE3C PRG:5E3C E8 + cpx #$18 ; CPU:$DE3D PRG:5E3D E0 18 + bcc NmiHandler_Loop248 ; CPU:$DE3F PRG:5E3F 90 09 + ldx #$00 ; CPU:$DE41 PRG:5E41 A2 00 + bcs NmiHandler_Loop248 ; CPU:$DE43 PRG:5E43 B0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + dex ; CPU:$DE45 PRG:5E45 CA + bpl NmiHandler_Loop248 ; CPU:$DE46 PRG:5E46 10 02 + ldx #$17 ; CPU:$DE48 PRG:5E48 A2 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + txa ; CPU:$DE4A PRG:5E4A 8A + sta (StarFieldPtrLo),y ; CPU:$DE4B PRG:5E4B 91 00 + beq NmiHandler_Loop249 ; CPU:$DE4D PRG:5E4D F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero52: + rts ; CPU:$DE4F PRG:5E4F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + lda TilePtrLo ; CPU:$DE50 PRG:5E50 A5 08 + bne NmiHandler_OnNonzero52 ; CPU:$DE52 PRG:5E52 D0 FB + ldy #$00 ; CPU:$DE54 PRG:5E54 A0 00 + lda (StarFieldPtrLo),y ; CPU:$DE56 PRG:5E56 B1 00 + cmp #$01 ; CPU:$DE58 PRG:5E58 C9 01 + beq NmiHandler_Loop251 ; CPU:$DE5A PRG:5E5A F0 11 + cmp #$02 ; CPU:$DE5C PRG:5E5C C9 02 + .byte $D0, $05 ; CPU:$DE5E PRG:5E5E D0 05 + lda StarFieldCount ; CPU:$DE60 PRG:5E60 A5 06 + ora #$08 ; CPU:$DE62 PRG:5E62 09 08 +; ----------------------------------------------------------------------------- +; Routine: Label_DE64 +; Global: Branch target inside Label: taken when DE64. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE64: + bit $06A5 ; CPU:$DE64 PRG:5E64 2C A5 06 + jsr Sub_D538 ; CPU:$DE67 PRG:5E67 20 38 D5 + jmp Sub_DF84 ; CPU:$DE6A PRG:5E6A 4C 84 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + lda #$01 ; CPU:$DE6D PRG:5E6D A9 01 + sta Zp7C ; CPU:$DE6F PRG:5E6F 85 7C + lda #$04 ; CPU:$DE71 PRG:5E71 A9 04 + sta Zp79 ; CPU:$DE73 PRG:5E73 85 79 + rts ; CPU:$DE75 PRG:5E75 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero12 +; Global: Branch target inside NmiHandler: taken when OnZero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero12: + ldy #$07 ; CPU:$DE76 PRG:5E76 A0 07 + lda (StarFieldPtrLo),y ; CPU:$DE78 PRG:5E78 B1 00 + and #$80 ; CPU:$DE7A PRG:5E7A 29 80 + ora #$07 ; CPU:$DE7C PRG:5E7C 09 07 + sta (StarFieldPtrLo),y ; CPU:$DE7E PRG:5E7E 91 00 + ldy #$08 ; CPU:$DE80 PRG:5E80 A0 08 + lda #$60 ; CPU:$DE82 PRG:5E82 A9 60 + sta (StarFieldPtrLo),y ; CPU:$DE84 PRG:5E84 91 00 + jsr Sub_DB93 ; CPU:$DE86 PRG:5E86 20 93 DB + ldy #$02 ; CPU:$DE89 PRG:5E89 A0 02 + lda (StarFieldPtrLo),y ; CPU:$DE8B PRG:5E8B B1 00 + sta Zp12 ; CPU:$DE8D PRG:5E8D 85 12 + iny ; CPU:$DE8F PRG:5E8F C8 + lda (StarFieldPtrLo),y ; CPU:$DE90 PRG:5E90 B1 00 + sta Zp13 ; CPU:$DE92 PRG:5E92 85 13 + jsr Sub_C45F ; CPU:$DE94 PRG:5E94 20 5F C4 + ldy #$01 ; CPU:$DE97 PRG:5E97 A0 01 + lda (StarFieldPtrLo),y ; CPU:$DE99 PRG:5E99 B1 00 + and #$1F ; CPU:$DE9B PRG:5E9B 29 1F + cmp Zp17 ; CPU:$DE9D PRG:5E9D C5 17 + beq NmiHandler_Loop253 ; CPU:$DE9F PRG:5E9F F0 0A + .byte $B0, $03 ; CPU:$DEA1 PRG:5EA1 B0 03 + adc #$01 ; CPU:$DEA3 PRG:5EA3 69 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DEA5 +; Global: Branch target inside Label: taken when DEA5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DEA5: + bit $01E9 ; CPU:$DEA5 PRG:5EA5 2C E9 01 + sta (StarFieldPtrLo),y ; CPU:$DEA8 PRG:5EA8 91 00 + rts ; CPU:$DEAA PRG:5EAA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + ldy #$07 ; CPU:$DEAB PRG:5EAB A0 07 + lda (StarFieldPtrLo),y ; CPU:$DEAD PRG:5EAD B1 00 + clc ; CPU:$DEAF PRG:5EAF 18 + adc #$01 ; CPU:$DEB0 PRG:5EB0 69 01 + sta (StarFieldPtrLo),y ; CPU:$DEB2 PRG:5EB2 91 00 + rts ; CPU:$DEB4 PRG:5EB4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DEB5 +; Global: Branch target inside Label: taken when DEB5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DEB5: + lda $0494 ; CPU:$DEB5 PRG:5EB5 AD 94 04 + pha ; CPU:$DEB8 PRG:5EB8 48 + jsr Sub_DF6F ; CPU:$DEB9 PRG:5EB9 20 6F DF + pla ; CPU:$DEBC PRG:5EBC 68 + sta $0494 ; CPU:$DEBD PRG:5EBD 8D 94 04 + rts ; CPU:$DEC0 PRG:5EC0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DEC1 +; Global: Branch target inside Label: taken when DEC1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DEC1: + ldy #$0B ; CPU:$DEC1 PRG:5EC1 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DEC3 PRG:5EC3 B1 00 + beq NmiHandler_OnZero12 ; CPU:$DEC5 PRG:5EC5 F0 AF + pha ; CPU:$DEC7 PRG:5EC7 48 + ldy #$02 ; CPU:$DEC8 PRG:5EC8 A0 02 + lda (StarFieldPtrLo),y ; CPU:$DECA PRG:5ECA B1 00 + sta Zp12 ; CPU:$DECC PRG:5ECC 85 12 + iny ; CPU:$DECE PRG:5ECE C8 + lda (StarFieldPtrLo),y ; CPU:$DECF PRG:5ECF B1 00 + sta Zp13 ; CPU:$DED1 PRG:5ED1 85 13 + pla ; CPU:$DED3 PRG:5ED3 68 + cmp #$01 ; CPU:$DED4 PRG:5ED4 C9 01 + bne NmiHandler_Loop255 ; CPU:$DED6 PRG:5ED6 D0 19 + ldy #$03 ; CPU:$DED8 PRG:5ED8 A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: + lda $0400,y ; CPU:$DEDA PRG:5EDA B9 00 04 + bne NmiHandler_Loop254 ; CPU:$DEDD PRG:5EDD D0 05 + iny ; CPU:$DEDF PRG:5EDF C8 + cpy #$06 ; CPU:$DEE0 PRG:5EE0 C0 06 + bne NmiHandler_OnNonzero53 ; CPU:$DEE2 PRG:5EE2 D0 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + sty Zp7D ; CPU:$DEE4 PRG:5EE4 84 7D + lda $FB7E,y ; CPU:$DEE6 PRG:5EE6 B9 7E FB + sta Zp11 ; CPU:$DEE9 PRG:5EE9 85 11 + lda #$07 ; CPU:$DEEB PRG:5EEB A9 07 + sta Zp10 ; CPU:$DEED PRG:5EED 85 10 + bpl NmiHandler_Loop256 ; CPU:$DEEF PRG:5EEF 10 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + ldy #$0B ; CPU:$DEF1 PRG:5EF1 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DEF3 PRG:5EF3 B1 00 + jsr Sub_D7BA ; CPU:$DEF5 PRG:5EF5 20 BA D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + jsr Sub_C409 ; CPU:$DEF8 PRG:5EF8 20 09 C4 + lda Zp14 ; CPU:$DEFB PRG:5EFB A5 14 + clc ; CPU:$DEFD PRG:5EFD 18 + adc Zp15 ; CPU:$DEFE PRG:5EFE 65 15 + bcs NmiHandler_Loop257 ; CPU:$DF00 PRG:5F00 B0 07 + cmp #$08 ; CPU:$DF02 PRG:5F02 C9 08 + bcs NmiHandler_Loop257 ; CPU:$DF04 PRG:5F04 B0 03 + jmp Sub_DDD8 ; CPU:$DF06 PRG:5F06 4C D8 DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + ldx #$00 ; CPU:$DF09 PRG:5F09 A2 00 + ldy #$01 ; CPU:$DF0B PRG:5F0B A0 01 + lda (StarFieldPtrLo),y ; CPU:$DF0D PRG:5F0D B1 00 + sta Zp17 ; CPU:$DF0F PRG:5F0F 85 17 + and #$1F ; CPU:$DF11 PRG:5F11 29 1F + sec ; CPU:$DF13 PRG:5F13 38 + sbc SpriteX ; CPU:$DF14 PRG:5F14 E5 16 + bcs NmiHandler_Loop258 ; CPU:$DF16 PRG:5F16 B0 05 + eor #$FF ; CPU:$DF18 PRG:5F18 49 FF + adc #$01 ; CPU:$DF1A PRG:5F1A 69 01 + inx ; CPU:$DF1C PRG:5F1C E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + cmp #$0C ; CPU:$DF1D PRG:5F1D C9 0C + bcc NmiHandler_Loop259 ; CPU:$DF1F PRG:5F1F 90 05 + eor #$FF ; CPU:$DF21 PRG:5F21 49 FF + adc #$18 ; CPU:$DF23 PRG:5F23 69 18 + inx ; CPU:$DF25 PRG:5F25 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + cmp #$01 ; CPU:$DF26 PRG:5F26 C9 01 + beq NmiHandler_Loop262 ; CPU:$DF28 PRG:5F28 F0 27 + lda Zp17 ; CPU:$DF2A PRG:5F2A A5 17 + and #$1F ; CPU:$DF2C PRG:5F2C 29 1F + sta Zp17 ; CPU:$DF2E PRG:5F2E 85 17 + bcc NmiHandler_Loop263 ; CPU:$DF30 PRG:5F30 90 36 + txa ; CPU:$DF32 PRG:5F32 8A + ror a ; CPU:$DF33 PRG:5F33 6A + bcc NmiHandler_Loop260 ; CPU:$DF34 PRG:5F34 90 0C + inc Zp17 ; CPU:$DF36 PRG:5F36 E6 17 + lda Zp17 ; CPU:$DF38 PRG:5F38 A5 17 + cmp #$18 ; CPU:$DF3A PRG:5F3A C9 18 + bcc NmiHandler_Loop261 ; CPU:$DF3C PRG:5F3C 90 0C + lda #$00 ; CPU:$DF3E PRG:5F3E A9 00 + bcs NmiHandler_Loop261 ; CPU:$DF40 PRG:5F40 B0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + dec Zp17 ; CPU:$DF42 PRG:5F42 C6 17 + lda Zp17 ; CPU:$DF44 PRG:5F44 A5 17 + bpl NmiHandler_Loop261 ; CPU:$DF46 PRG:5F46 10 02 + lda #$17 ; CPU:$DF48 PRG:5F48 A9 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + and #$1F ; CPU:$DF4A PRG:5F4A 29 1F + sta (StarFieldPtrLo),y ; CPU:$DF4C PRG:5F4C 91 00 + jmp Sub_DB93 ; CPU:$DF4E PRG:5F4E 4C 93 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + lda Zp17 ; CPU:$DF51 PRG:5F51 A5 17 + bmi NmiHandler_Loop263 ; CPU:$DF53 PRG:5F53 30 13 + lda SpriteX ; CPU:$DF55 PRG:5F55 A5 16 + sta (StarFieldPtrLo),y ; CPU:$DF57 PRG:5F57 91 00 + lda Zp17 ; CPU:$DF59 PRG:5F59 A5 17 + pha ; CPU:$DF5B PRG:5F5B 48 + jsr Sub_DB93 ; CPU:$DF5C PRG:5F5C 20 93 DB + pla ; CPU:$DF5F PRG:5F5F 68 + clc ; CPU:$DF60 PRG:5F60 18 + adc #$20 ; CPU:$DF61 PRG:5F61 69 20 + ldy #$01 ; CPU:$DF63 PRG:5F63 A0 01 + sta (StarFieldPtrLo),y ; CPU:$DF65 PRG:5F65 91 00 + rts ; CPU:$DF67 PRG:5F67 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + lda SpriteX ; CPU:$DF68 PRG:5F68 A5 16 + sta (StarFieldPtrLo),y ; CPU:$DF6A PRG:5F6A 91 00 + jmp Sub_DB93 ; CPU:$DF6C PRG:5F6C 4C 93 DB +; ----------------------------------------------------------------------------- +; Routine: Sub_DF6F +; Global: Branch target inside Sub: taken when DF6F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF6F: + jsr Sub_DB93 ; CPU:$DF6F PRG:5F6F 20 93 DB + ldy #$02 ; CPU:$DF72 PRG:5F72 A0 02 + lda (StarFieldPtrLo),y ; CPU:$DF74 PRG:5F74 B1 00 + cmp #$E8 ; CPU:$DF76 PRG:5F76 C9 E8 + bcs NmiHandler_Loop264 ; CPU:$DF78 PRG:5F78 B0 07 + iny ; CPU:$DF7A PRG:5F7A C8 + lda (StarFieldPtrLo),y ; CPU:$DF7B PRG:5F7B B1 00 + cmp #$C0 ; CPU:$DF7D PRG:5F7D C9 C0 + bcc NmiHandler_Loop265 ; CPU:$DF7F PRG:5F7F 90 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + dec $0494 ; CPU:$DF81 PRG:5F81 CE 94 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_DF84 +; Global: Branch target inside Sub: taken when DF84. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF84: + dec $0495 ; CPU:$DF84 PRG:5F84 CE 95 04 + lda #$80 ; CPU:$DF87 PRG:5F87 A9 80 + ldy #$00 ; CPU:$DF89 PRG:5F89 A0 00 + sta (StarFieldPtrLo),y ; CPU:$DF8B PRG:5F8B 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + rts ; CPU:$DF8D PRG:5F8D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF8E +; Global: Branch target inside Label: taken when DF8E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DF8E: + lda #$80 ; CPU:$DF8E PRG:5F8E A9 80 + ldy #$00 ; CPU:$DF90 PRG:5F90 A0 00 + sta (StarFieldPtrLo),y ; CPU:$DF92 PRG:5F92 91 00 + sta Zp7C ; CPU:$DF94 PRG:5F94 85 7C + rts ; CPU:$DF96 PRG:5F96 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF97 +; Global: Branch target inside Label: taken when DF97. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DF97: + lda Zp54 ; CPU:$DF97 PRG:5F97 A5 54 + ora Zp79 ; CPU:$DF99 PRG:5F99 05 79 + bne NmiHandler_Loop266 ; CPU:$DF9B PRG:5F9B D0 34 + lda #$FF ; CPU:$DF9D PRG:5F9D A9 FF + sta Zp54 ; CPU:$DF9F PRG:5F9F 85 54 + ldy #$03 ; CPU:$DFA1 PRG:5FA1 A0 03 + lda (StarFieldPtrLo),y ; CPU:$DFA3 PRG:5FA3 B1 00 + sta Zp58 ; CPU:$DFA5 PRG:5FA5 85 58 + ldy #$07 ; CPU:$DFA7 PRG:5FA7 A0 07 + lda (StarFieldPtrLo),y ; CPU:$DFA9 PRG:5FA9 B1 00 + and #$80 ; CPU:$DFAB PRG:5FAB 29 80 + ora #$06 ; CPU:$DFAD PRG:5FAD 09 06 + sta (StarFieldPtrLo),y ; CPU:$DFAF PRG:5FAF 91 00 + ldy #$0B ; CPU:$DFB1 PRG:5FB1 A0 0B + lda (StarFieldPtrLo),y ; CPU:$DFB3 PRG:5FB3 B1 00 + sta Zp7D ; CPU:$DFB5 PRG:5FB5 85 7D + lda StarFieldPtrLo ; CPU:$DFB7 PRG:5FB7 A5 00 + sta Zp7E ; CPU:$DFB9 PRG:5FB9 85 7E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + rts ; CPU:$DFBB PRG:5FBB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFBC +; Global: Branch target inside Label: taken when DFBC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DFBC: + lda Zp54 ; CPU:$DFBC PRG:5FBC A5 54 + beq NmiHandler_Loop266 ; CPU:$DFBE PRG:5FBE F0 11 + bne NmiHandler_OnNonzero54 ; CPU:$DFC0 PRG:5FC0 D0 F9 + jsr Sub_DB93 ; CPU:$DFC2 PRG:5FC2 20 93 DB + jsr Sub_E002 ; CPU:$DFC5 PRG:5FC5 20 02 E0 + ldy #$02 ; CPU:$DFC8 PRG:5FC8 A0 02 + cmp (StarFieldPtrLo),y ; CPU:$DFCA PRG:5FCA D1 00 + bcs NmiHandler_Loop267 ; CPU:$DFCC PRG:5FCC B0 11 + jsr Sub_E00C ; CPU:$DFCE PRG:5FCE 20 0C E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + ldy #$04 ; CPU:$DFD1 PRG:5FD1 A0 04 + lda #$00 ; CPU:$DFD3 PRG:5FD3 A9 00 + sta (StarFieldPtrLo),y ; CPU:$DFD5 PRG:5FD5 91 00 + ldy #$07 ; CPU:$DFD7 PRG:5FD7 A0 07 + lda (StarFieldPtrLo),y ; CPU:$DFD9 PRG:5FD9 B1 00 + and #$80 ; CPU:$DFDB PRG:5FDB 29 80 + sta (StarFieldPtrLo),y ; CPU:$DFDD PRG:5FDD 91 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + rts ; CPU:$DFDF PRG:5FDF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFE0 +; Global: Branch target inside Sub: taken when DFE0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFE0: + ldy #$05 ; CPU:$DFE0 PRG:5FE0 A0 05 + lda (StarFieldPtrLo),y ; CPU:$DFE2 PRG:5FE2 B1 00 + asl a ; CPU:$DFE4 PRG:5FE4 0A + tax ; CPU:$DFE5 PRG:5FE5 AA + lda $FEF9,x ; CPU:$DFE6 PRG:5FE6 BD F9 FE + sta Zp02 ; CPU:$DFE9 PRG:5FE9 85 02 + lda $FEFA,x ; CPU:$DFEB PRG:5FEB BD FA FE + sta Zp03 ; CPU:$DFEE PRG:5FEE 85 03 + rts ; CPU:$DFF0 PRG:5FF0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFF1 +; Global: Branch target inside Sub: taken when DFF1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFF1: + ldy #$06 ; CPU:$DFF1 PRG:5FF1 A0 06 + lda (StarFieldPtrLo),y ; CPU:$DFF3 PRG:5FF3 B1 00 + pha ; CPU:$DFF5 PRG:5FF5 48 + clc ; CPU:$DFF6 PRG:5FF6 18 + adc #$01 ; CPU:$DFF7 PRG:5FF7 69 01 + sta (StarFieldPtrLo),y ; CPU:$DFF9 PRG:5FF9 91 00 + pla ; CPU:$DFFB PRG:5FFB 68 + tay ; CPU:$DFFC PRG:5FFC A8 + lda (Zp02),y ; CPU:$DFFD PRG:5FFD B1 02 + sta Zp07 ; CPU:$DFFF PRG:5FFF 85 07 + rts ; CPU:$E001 PRG:6001 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E002 +; Global: Branch target inside Sub: taken when E002. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E002: + ldy #$06 ; CPU:$E002 PRG:6002 A0 06 + lda (StarFieldPtrLo),y ; CPU:$E004 PRG:6004 B1 00 + tay ; CPU:$E006 PRG:6006 A8 + lda (Zp02),y ; CPU:$E007 PRG:6007 B1 02 + sta Zp07 ; CPU:$E009 PRG:6009 85 07 + rts ; CPU:$E00B PRG:600B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E00C +; Global: Branch target inside Sub: taken when E00C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E00C: + ldy #$06 ; CPU:$E00C PRG:600C A0 06 + lda (StarFieldPtrLo),y ; CPU:$E00E PRG:600E B1 00 + clc ; CPU:$E010 PRG:6010 18 + adc #$01 ; CPU:$E011 PRG:6011 69 01 + sta (StarFieldPtrLo),y ; CPU:$E013 PRG:6013 91 00 + rts ; CPU:$E015 PRG:6015 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E016 +; Global: Branch target inside Sub: taken when E016. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E016: + ldy #$06 ; CPU:$E016 PRG:6016 A0 06 + lda (StarFieldPtrLo),y ; CPU:$E018 PRG:6018 B1 00 + sec ; CPU:$E01A PRG:601A 38 + sbc #$01 ; CPU:$E01B PRG:601B E9 01 + sta (StarFieldPtrLo),y ; CPU:$E01D PRG:601D 91 00 + rts ; CPU:$E01F PRG:601F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E020 +; Global: Branch target inside Sub: taken when E020. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E020: + lda $0200 ; CPU:$E020 PRG:6020 AD 00 02 + bmi NmiHandler_Loop273 ; CPU:$E023 PRG:6023 30 73 + lda Zp79 ; CPU:$E025 PRG:6025 A5 79 + cmp #$06 ; CPU:$E027 PRG:6027 C9 06 + beq NmiHandler_Loop273 ; CPU:$E029 PRG:6029 F0 6D + lda Zp62 ; CPU:$E02B PRG:602B A5 62 + bne NmiHandler_Loop268 ; CPU:$E02D PRG:602D D0 0F + dec ZpC9 ; CPU:$E02F PRG:602F C6 C9 + bpl NmiHandler_Loop273 ; CPU:$E031 PRG:6031 10 65 + jsr Sub_C317 ; CPU:$E033 PRG:6033 20 17 C3 + and #$1F ; CPU:$E036 PRG:6036 29 1F + adc #$10 ; CPU:$E038 PRG:6038 69 10 + sta ZpC9 ; CPU:$E03A PRG:603A 85 C9 + bne NmiHandler_Loop270 ; CPU:$E03C PRG:603C D0 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + ldx Zp61 ; CPU:$E03E PRG:603E A6 61 + lda Zp45,x ; CPU:$E040 PRG:6040 B5 45 + and #$C0 ; CPU:$E042 PRG:6042 29 C0 + bne NmiHandler_Loop270 ; CPU:$E044 PRG:6044 D0 12 + lda Zp43,x ; CPU:$E046 PRG:6046 B5 43 + and #$C0 ; CPU:$E048 PRG:6048 29 C0 + bne NmiHandler_Loop269 ; CPU:$E04A PRG:604A D0 04 + sta Zp60 ; CPU:$E04C PRG:604C 85 60 + beq NmiHandler_Loop273 ; CPU:$E04E PRG:604E F0 48 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + inc Zp60 ; CPU:$E050 PRG:6050 E6 60 + lda Zp60 ; CPU:$E052 PRG:6052 A5 60 + cmp #$14 ; CPU:$E054 PRG:6054 C9 14 + bcc NmiHandler_Loop273 ; CPU:$E056 PRG:6056 90 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + lda #$00 ; CPU:$E058 PRG:6058 A9 00 + sta Zp60 ; CPU:$E05A PRG:605A 85 60 + ldx #$00 ; CPU:$E05C PRG:605C A2 00 + lda $02E0,x ; CPU:$E05E PRG:605E BD E0 02 + bmi NmiHandler_Loop271 ; CPU:$E061 PRG:6061 30 07 + ldx #$08 ; CPU:$E063 PRG:6063 A2 08 + lda $02E0,x ; CPU:$E065 PRG:6065 BD E0 02 + bpl NmiHandler_Loop273 ; CPU:$E068 PRG:6068 10 2E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + lda $0201 ; CPU:$E06A PRG:606A AD 01 02 + and #$1F ; CPU:$E06D PRG:606D 29 1F + sta $02E0,x ; CPU:$E06F PRG:606F 9D E0 02 + lda $0202 ; CPU:$E072 PRG:6072 AD 02 02 + sta $02E1,x ; CPU:$E075 PRG:6075 9D E1 02 + lda $0203 ; CPU:$E078 PRG:6078 AD 03 02 + sta $02E2,x ; CPU:$E07B PRG:607B 9D E2 02 + lda #$00 ; CPU:$E07E PRG:607E A9 00 + sta $02E3,x ; CPU:$E080 PRG:6080 9D E3 02 + sta $02E4,x ; CPU:$E083 PRG:6083 9D E4 02 + ldy Zp79 ; CPU:$E086 PRG:6086 A4 79 + dey ; CPU:$E088 PRG:6088 88 + bne NmiHandler_Loop272 ; CPU:$E089 PRG:6089 D0 05 + lda #$00 ; CPU:$E08B PRG:608B A9 00 + sta $02F0,x ; CPU:$E08D PRG:608D 9D F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + lda #$01 ; CPU:$E090 PRG:6090 A9 01 + sta $05A2 ; CPU:$E092 PRG:6092 8D A2 05 + jsr Sub_C335 ; CPU:$E095 PRG:6095 20 35 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + ldx #$00 ; CPU:$E098 PRG:6098 A2 00 + jsr Sub_E09F ; CPU:$E09A PRG:609A 20 9F E0 + ldx #$08 ; CPU:$E09D PRG:609D A2 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_E09F +; Global: Branch target inside Sub: taken when E09F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E09F: + lda $02E0,x ; CPU:$E09F PRG:609F BD E0 02 + bmi NmiHandler_Loop275 ; CPU:$E0A2 PRG:60A2 30 1A + tay ; CPU:$E0A4 PRG:60A4 A8 + jsr Sub_E0D9 ; CPU:$E0A5 PRG:60A5 20 D9 E0 + cmp #$F8 ; CPU:$E0A8 PRG:60A8 C9 F8 + bcs NmiHandler_Loop274 ; CPU:$E0AA PRG:60AA B0 0D + tya ; CPU:$E0AC PRG:60AC 98 + adc #$06 ; CPU:$E0AD PRG:60AD 69 06 + tay ; CPU:$E0AF PRG:60AF A8 + inx ; CPU:$E0B0 PRG:60B0 E8 + jsr Sub_E0D9 ; CPU:$E0B1 PRG:60B1 20 D9 E0 + dex ; CPU:$E0B4 PRG:60B4 CA + cmp #$BC ; CPU:$E0B5 PRG:60B5 C9 BC + bcc NmiHandler_Loop275 ; CPU:$E0B7 PRG:60B7 90 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + lda #$80 ; CPU:$E0B9 PRG:60B9 A9 80 + sta $02E0,x ; CPU:$E0BB PRG:60BB 9D E0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + lda $02F0,x ; CPU:$E0BE PRG:60BE BD F0 02 + bmi NmiHandler_Loop276 ; CPU:$E0C1 PRG:60C1 30 15 + lda $02E0,x ; CPU:$E0C3 PRG:60C3 BD E0 02 + sta $02F0,x ; CPU:$E0C6 PRG:60C6 9D F0 02 + lda $02E1,x ; CPU:$E0C9 PRG:60C9 BD E1 02 + sta $02F1,x ; CPU:$E0CC PRG:60CC 9D F1 02 + lda $02E2,x ; CPU:$E0CF PRG:60CF BD E2 02 + clc ; CPU:$E0D2 PRG:60D2 18 + adc #$0E ; CPU:$E0D3 PRG:60D3 69 0E + sta $02F2,x ; CPU:$E0D5 PRG:60D5 9D F2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + rts ; CPU:$E0D8 PRG:60D8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0D9 +; Global: Branch target inside Sub: taken when E0D9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0D9: + lda $02E3,x ; CPU:$E0D9 PRG:60D9 BD E3 02 + clc ; CPU:$E0DC PRG:60DC 18 + adc $E0F3,y ; CPU:$E0DD PRG:60DD 79 F3 E0 + sta Zp02 ; CPU:$E0E0 PRG:60E0 85 02 + and #$0F ; CPU:$E0E2 PRG:60E2 29 0F + sta $02E3,x ; CPU:$E0E4 PRG:60E4 9D E3 02 + lda Zp02 ; CPU:$E0E7 PRG:60E7 A5 02 + jsr Sub_C3FB ; CPU:$E0E9 PRG:60E9 20 FB C3 + adc $02E1,x ; CPU:$E0EC PRG:60EC 7D E1 02 + sta $02E1,x ; CPU:$E0EF PRG:60EF 9D E1 02 + rts ; CPU:$E0F2 PRG:60F2 60 +; ---- data $E0F3-$E112 (32 bytes) ---- +; referenced by `adc $E0F3,y` at $E0DD (operand $E0F3 falls inside this region) +ExplosionGraphicTable: + .byte $B0, $B3, $BB, $C7, $D8, $EB, $00, $15, $28, $39, $45, $4D, $50, $4D, $45, $39 ; CPU:$E0F3 PRG:20F3 B0 B3 BB C7 D8 EB 00 15 28 39 45 4D 50 4D 45 39 + .byte $28, $15, $00, $EB, $D8, $C7, $BB, $B3, $B0, $B3, $BB, $C7, $D8, $EB, $00, $15 ; CPU:$E103 PRG:6103 28 15 00 EB D8 C7 BB B3 B0 B3 BB C7 D8 EB 00 15 +; ----------------------------------------------------------------------------- +; Routine: Sub_E113 +; Global: Branch target inside Sub: taken when E113. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E113: + lda Zp5F ; CPU:$E113 PRG:6113 A5 5F + beq NmiHandler_Loop277 ; CPU:$E115 PRG:6115 F0 04 + dec Zp5F ; CPU:$E117 PRG:6117 C6 5F + bne NmiHandler_Loop280 ; CPU:$E119 PRG:6119 D0 75 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + lda $0464 ; CPU:$E11B PRG:611B AD 64 04 + cmp #$03 ; CPU:$E11E PRG:611E C9 03 + beq NmiHandler_Loop280 ; CPU:$E120 PRG:6120 F0 6E + lda Zp7A ; CPU:$E122 PRG:6122 A5 7A + bne NmiHandler_Loop280 ; CPU:$E124 PRG:6124 D0 6A + lda Zp48 ; CPU:$E126 PRG:6126 A5 48 + and $045E ; CPU:$E128 PRG:6128 2D 5E 04 + bne NmiHandler_Loop278 ; CPU:$E12B PRG:612B D0 42 + jsr Sub_C317 ; CPU:$E12D PRG:612D 20 17 C3 + and #$70 ; CPU:$E130 PRG:6130 29 70 + tay ; CPU:$E132 PRG:6132 A8 + lda $0220,y ; CPU:$E133 PRG:6133 B9 20 02 + bmi NmiHandler_Loop278 ; CPU:$E136 PRG:6136 30 37 + lda $0227,y ; CPU:$E138 PRG:6138 B9 27 02 + and #$7F ; CPU:$E13B PRG:613B 29 7F + bne NmiHandler_Loop278 ; CPU:$E13D PRG:613D D0 30 + lda $0221,y ; CPU:$E13F PRG:613F B9 21 02 + and #$1F ; CPU:$E142 PRG:6142 29 1F + sec ; CPU:$E144 PRG:6144 38 + sbc #$06 ; CPU:$E145 PRG:6145 E9 06 + cmp #$0D ; CPU:$E147 PRG:6147 C9 0D + bcs NmiHandler_Loop278 ; CPU:$E149 PRG:6149 B0 24 + lda $0222,y ; CPU:$E14B PRG:614B B9 22 02 + sec ; CPU:$E14E PRG:614E 38 + sbc #$10 ; CPU:$E14F PRG:614F E9 10 + cmp #$80 ; CPU:$E151 PRG:6151 C9 80 + bcs NmiHandler_Loop278 ; CPU:$E153 PRG:6153 B0 1A + lda $022C,y ; CPU:$E155 PRG:6155 B9 2C 02 + beq NmiHandler_Loop278 ; CPU:$E158 PRG:6158 F0 15 + sec ; CPU:$E15A PRG:615A 38 + sbc #$01 ; CPU:$E15B PRG:615B E9 01 + sta $022C,y ; CPU:$E15D PRG:615D 99 2C 02 + ldx #$00 ; CPU:$E160 PRG:6160 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear14 +; Global: Branch target inside NmiHandler: taken when OnCarryClear14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear14: + lda Zp90,x ; CPU:$E162 PRG:6162 B5 90 + bmi NmiHandler_Loop279 ; CPU:$E164 PRG:6164 30 0C + txa ; CPU:$E166 PRG:6166 8A + clc ; CPU:$E167 PRG:6167 18 + adc #$04 ; CPU:$E168 PRG:6168 69 04 + tax ; CPU:$E16A PRG:616A AA + cmp #$20 ; CPU:$E16B PRG:616B C9 20 + bcc NmiHandler_OnCarryClear14 ; CPU:$E16D PRG:616D 90 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + jmp NmiHandler_Loop280 ; CPU:$E16F PRG:616F 4C 90 E1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + stx StarFieldPtrLo ; CPU:$E172 PRG:6172 86 00 + inc $0477 ; CPU:$E174 PRG:6174 EE 77 04 + lda $0222,y ; CPU:$E177 PRG:6177 B9 22 02 + sta Zp12 ; CPU:$E17A PRG:617A 85 12 + sta Zp91,x ; CPU:$E17C PRG:617C 95 91 + lda $0223,y ; CPU:$E17E PRG:617E B9 23 02 + sta Zp13 ; CPU:$E181 PRG:6181 85 13 + sta Zp92,x ; CPU:$E183 PRG:6183 95 92 + jsr Sub_C45F ; CPU:$E185 PRG:6185 20 5F C4 + ldx StarFieldPtrLo ; CPU:$E188 PRG:6188 A6 00 + sta Zp90,x ; CPU:$E18A PRG:618A 95 90 + lda #$00 ; CPU:$E18C PRG:618C A9 00 + sta Zp93,x ; CPU:$E18E PRG:618E 95 93 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + ldx #$00 ; CPU:$E190 PRG:6190 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear15 +; Global: Branch target inside NmiHandler: taken when OnCarryClear15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear15: + lda Zp90,x ; CPU:$E192 PRG:6192 B5 90 + bmi NmiHandler_OnNegative4 ; CPU:$E194 PRG:6194 30 29 + tay ; CPU:$E196 PRG:6196 A8 + lda Zp48 ; CPU:$E197 PRG:6197 A5 48 + ror a ; CPU:$E199 PRG:6199 6A + lda Zp91,x ; CPU:$E19A PRG:619A B5 91 + adc #$02 ; CPU:$E19C PRG:619C 69 02 + sta Zp91,x ; CPU:$E19E PRG:619E 95 91 + cmp #$E8 ; CPU:$E1A0 PRG:61A0 C9 E8 + bcs NmiHandler_Loop281 ; CPU:$E1A2 PRG:61A2 B0 25 + lda $FFA0,y ; CPU:$E1A4 PRG:61A4 B9 A0 FF + clc ; CPU:$E1A7 PRG:61A7 18 + adc Zp93,x ; CPU:$E1A8 PRG:61A8 75 93 + pha ; CPU:$E1AA PRG:61AA 48 + and #$0F ; CPU:$E1AB PRG:61AB 29 0F + sta Zp93,x ; CPU:$E1AD PRG:61AD 95 93 + pla ; CPU:$E1AF PRG:61AF 68 + jsr Sub_C3FB ; CPU:$E1B0 PRG:61B0 20 FB C3 + clc ; CPU:$E1B3 PRG:61B3 18 + adc Zp92,x ; CPU:$E1B4 PRG:61B4 75 92 + sta Zp92,x ; CPU:$E1B6 PRG:61B6 95 92 + sec ; CPU:$E1B8 PRG:61B8 38 + sbc #$04 ; CPU:$E1B9 PRG:61B9 E9 04 + cmp #$B8 ; CPU:$E1BB PRG:61BB C9 B8 + bcs NmiHandler_Loop281 ; CPU:$E1BD PRG:61BD B0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative4 +; Global: Branch target inside NmiHandler: taken when OnNegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative4: + txa ; CPU:$E1BF PRG:61BF 8A + clc ; CPU:$E1C0 PRG:61C0 18 + adc #$04 ; CPU:$E1C1 PRG:61C1 69 04 + tax ; CPU:$E1C3 PRG:61C3 AA + cmp #$20 ; CPU:$E1C4 PRG:61C4 C9 20 + bcc NmiHandler_OnCarryClear15 ; CPU:$E1C6 PRG:61C6 90 CA + rts ; CPU:$E1C8 PRG:61C8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + dec $0477 ; CPU:$E1C9 PRG:61C9 CE 77 04 + lda #$FF ; CPU:$E1CC PRG:61CC A9 FF + sta Zp90,x ; CPU:$E1CE PRG:61CE 95 90 + bmi NmiHandler_OnNegative4 ; CPU:$E1D0 PRG:61D0 30 ED +; ----------------------------------------------------------------------------- +; Routine: Sub_E1D2 +; Global: Branch target inside Sub: taken when E1D2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1D2: + lda Zp79 ; CPU:$E1D2 PRG:61D2 A5 79 + jsr Sub_C301 ; CPU:$E1D4 PRG:61D4 20 01 C3 + sbc #$E1 ; CPU:$E1D7 PRG:61D7 E9 E1 + eor $CBE4,x ; CPU:$E1D9 PRG:61D9 5D E4 CB + .byte $E2, $36 ; CPU:$E1DC PRG:61DC E2 36 -- nop #$36 (undocumented; ca65 cannot encode) + .byte $E3, $AC ; CPU:$E1DE PRG:61DE E3 AC -- isc (ZpAC,x) (undocumented; ca65 cannot encode) + .byte $E3, $26 ; CPU:$E1E0 PRG:61E0 E3 26 -- isc (Zp26,x) (undocumented; ca65 cannot encode) + cpx Zp73 ; CPU:$E1E2 PRG:61E2 E4 73 + cpx Zp23 ; CPU:$E1E4 PRG:61E4 E4 23 + .byte $E2, $99 ; CPU:$E1E6 PRG:61E6 E2 99 -- nop #$99 (undocumented; ca65 cannot encode) +; ---- data $E1E8-$E1E8 (1 bytes) ---- +UnreachedByte: + .byte $E2 ; CPU:$E1E8 PRG:21E8 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E1E9 +; Global: Branch target inside Label: taken when E1E9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E1E9: + lda $0200 ; CPU:$E1E9 PRG:61E9 AD 00 02 + bmi NmiHandler_Loop285 ; CPU:$E1EC PRG:61EC 30 7B + lda Zp54 ; CPU:$E1EE PRG:61EE A5 54 + cmp #$02 ; CPU:$E1F0 PRG:61F0 C9 02 + bne NmiHandler_Loop282 ; CPU:$E1F2 PRG:61F2 D0 2F + lda Zp58 ; CPU:$E1F4 PRG:61F4 A5 58 + sec ; CPU:$E1F6 PRG:61F6 38 + sbc #$24 ; CPU:$E1F7 PRG:61F7 E9 24 + cmp $0203 ; CPU:$E1F9 PRG:61F9 CD 03 02 + bcs NmiHandler_Loop282 ; CPU:$E1FC PRG:61FC B0 25 + clc ; CPU:$E1FE PRG:61FE 18 + adc #$48 ; CPU:$E1FF PRG:61FF 69 48 + cmp $0203 ; CPU:$E201 PRG:6201 CD 03 02 + bcc NmiHandler_Loop282 ; CPU:$E204 PRG:6204 90 1D + ldx #$02 ; CPU:$E206 PRG:6206 A2 02 + stx Zp79 ; CPU:$E208 PRG:6208 86 79 + dex ; CPU:$E20A PRG:620A CA + stx Zp7A ; CPU:$E20B PRG:620B 86 7A + stx $05A1 ; CPU:$E20D PRG:620D 8E A1 05 + lda #$1B ; CPU:$E210 PRG:6210 A9 1B + jsr Sub_ED70 ; CPU:$E212 PRG:6212 20 70 ED + dec $0202 ; CPU:$E215 PRG:6215 CE 02 02 + lda #$00 ; CPU:$E218 PRG:6218 A9 00 + sta $0204 ; CPU:$E21A PRG:621A 8D 04 02 + lda #$F0 ; CPU:$E21D PRG:621D A9 F0 + sta $0471 ; CPU:$E21F PRG:621F 8D 71 04 + rts ; CPU:$E222 PRG:6222 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + lda #$B8 ; CPU:$E223 PRG:6223 A9 B8 + sta TilePtrLo ; CPU:$E225 PRG:6225 85 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_E227 +; Global: Branch target inside Sub: taken when E227. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E227: + lda $0200 ; CPU:$E227 PRG:6227 AD 00 02 + bmi NmiHandler_Loop285 ; CPU:$E22A PRG:622A 30 3D + lda Zp62 ; CPU:$E22C PRG:622C A5 62 + bne NmiHandler_Loop284 ; CPU:$E22E PRG:622E D0 1D + dec ZpCA ; CPU:$E230 PRG:6230 C6 CA + bpl NmiHandler_Loop283 ; CPU:$E232 PRG:6232 10 11 + jsr Sub_C317 ; CPU:$E234 PRG:6234 20 17 C3 + and #$3F ; CPU:$E237 PRG:6237 29 3F + sta ZpCA ; CPU:$E239 PRG:6239 85 CA + lda #$00 ; CPU:$E23B PRG:623B A9 00 + lsr ZpCA ; CPU:$E23D PRG:623D 46 CA + rol a ; CPU:$E23F PRG:623F 2A + lsr ZpCA ; CPU:$E240 PRG:6240 46 CA + rol a ; CPU:$E242 PRG:6242 2A + sta ZpCB ; CPU:$E243 PRG:6243 85 CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + lda Zp44 ; CPU:$E245 PRG:6245 A5 44 + and #$FC ; CPU:$E247 PRG:6247 29 FC + ora ZpCB ; CPU:$E249 PRG:6249 05 CB + sta Zp44 ; CPU:$E24B PRG:624B 85 44 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + lda #$00 ; CPU:$E24D PRG:624D A9 00 + sta $0200 ; CPU:$E24F PRG:624F 8D 00 02 + sta $0201 ; CPU:$E252 PRG:6252 8D 01 02 + lda #$C7 ; CPU:$E255 PRG:6255 A9 C7 + sta $0202 ; CPU:$E257 PRG:6257 8D 02 02 + ldx Zp61 ; CPU:$E25A PRG:625A A6 61 + dex ; CPU:$E25C PRG:625C CA + txa ; CPU:$E25D PRG:625D 8A + and #$01 ; CPU:$E25E PRG:625E 29 01 + tax ; CPU:$E260 PRG:6260 AA + lda Zp44,x ; CPU:$E261 PRG:6261 B5 44 + ror a ; CPU:$E263 PRG:6263 6A + bcs NmiHandler_Loop286 ; CPU:$E264 PRG:6264 B0 04 + ror a ; CPU:$E266 PRG:6266 6A + bcs NmiHandler_Loop289 ; CPU:$E267 PRG:6267 B0 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + rts ; CPU:$E269 PRG:6269 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + ror a ; CPU:$E26A PRG:626A 6A + bcs NmiHandler_Loop285 ; CPU:$E26B PRG:626B B0 FC + inc $0204 ; CPU:$E26D PRG:626D EE 04 02 + lda $0204 ; CPU:$E270 PRG:6270 AD 04 02 + ror a ; CPU:$E273 PRG:6273 6A + ldx $0203 ; CPU:$E274 PRG:6274 AE 03 02 + inx ; CPU:$E277 PRG:6277 E8 + bcc NmiHandler_Loop287 ; CPU:$E278 PRG:6278 90 01 + inx ; CPU:$E27A PRG:627A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + cpx TilePtrLo ; CPU:$E27B PRG:627B E4 08 + bcs NmiHandler_Loop288 ; CPU:$E27D PRG:627D B0 03 + stx $0203 ; CPU:$E27F PRG:627F 8E 03 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + rts ; CPU:$E282 PRG:6282 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + inc $0204 ; CPU:$E283 PRG:6283 EE 04 02 + lda $0204 ; CPU:$E286 PRG:6286 AD 04 02 + ror a ; CPU:$E289 PRG:6289 6A + ldx $0203 ; CPU:$E28A PRG:628A AE 03 02 + dex ; CPU:$E28D PRG:628D CA + bcc NmiHandler_Loop290 ; CPU:$E28E PRG:628E 90 01 + dex ; CPU:$E290 PRG:6290 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + cpx #$08 ; CPU:$E291 PRG:6291 E0 08 + bcc NmiHandler_OnNonzero55 ; CPU:$E293 PRG:6293 90 03 + stx $0203 ; CPU:$E295 PRG:6295 8E 03 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero55: + rts ; CPU:$E298 PRG:6298 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E299 +; Global: Branch target inside Label: taken when E299. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E299: + lda $0201 ; CPU:$E299 PRG:6299 AD 01 02 + beq NmiHandler_Loop291 ; CPU:$E29C PRG:629C F0 03 + jsr Sub_E4D5 ; CPU:$E29E PRG:629E 20 D5 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + inc $0202 ; CPU:$E2A1 PRG:62A1 EE 02 02 + lda $0202 ; CPU:$E2A4 PRG:62A4 AD 02 02 + cmp #$C7 ; CPU:$E2A7 PRG:62A7 C9 C7 + bcc NmiHandler_OnNonzero55 ; CPU:$E2A9 PRG:62A9 90 ED + lda #$C7 ; CPU:$E2AB PRG:62AB A9 C7 + sta $0202 ; CPU:$E2AD PRG:62AD 8D 02 02 + lda $0201 ; CPU:$E2B0 PRG:62B0 AD 01 02 + bne NmiHandler_OnNonzero55 ; CPU:$E2B3 PRG:62B3 D0 E3 + lda $045C ; CPU:$E2B5 PRG:62B5 AD 5C 04 + sta $0471 ; CPU:$E2B8 PRG:62B8 8D 71 04 + lda #$00 ; CPU:$E2BB PRG:62BB A9 00 + sta Zp79 ; CPU:$E2BD PRG:62BD 85 79 + sta Zp7A ; CPU:$E2BF PRG:62BF 85 7A + rts ; CPU:$E2C1 PRG:62C1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative5 +; Global: Branch target inside NmiHandler: taken when OnNegative5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative5: + lda #$08 ; CPU:$E2C2 PRG:62C2 A9 08 + sta Zp79 ; CPU:$E2C4 PRG:62C4 85 79 + lda #$21 ; CPU:$E2C6 PRG:62C6 A9 21 + jmp Sub_ED70 ; CPU:$E2C8 PRG:62C8 4C 70 ED +; ----------------------------------------------------------------------------- +; Routine: Label_E2CB +; Global: Branch target inside Label: taken when E2CB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E2CB: + jsr Sub_E4D5 ; CPU:$E2CB PRG:62CB 20 D5 E4 + ldx Zp7E ; CPU:$E2CE PRG:62CE A6 7E + lda $0200,x ; CPU:$E2D0 PRG:62D0 BD 00 02 + bmi NmiHandler_OnNegative5 ; CPU:$E2D3 PRG:62D3 30 ED + lda $0203 ; CPU:$E2D5 PRG:62D5 AD 03 02 + cmp Zp58 ; CPU:$E2D8 PRG:62D8 C5 58 + beq NmiHandler_Loop293 ; CPU:$E2DA PRG:62DA F0 0B + bcc NmiHandler_Loop292 ; CPU:$E2DC PRG:62DC 90 06 + dec $0203 ; CPU:$E2DE PRG:62DE CE 03 02 + jmp NmiHandler_Loop293 ; CPU:$E2E1 PRG:62E1 4C E7 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + inc $0203 ; CPU:$E2E4 PRG:62E4 EE 03 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop293: + lda #$02 ; CPU:$E2E7 PRG:62E7 A9 02 + sta Zp54 ; CPU:$E2E9 PRG:62E9 85 54 + lda $0202 ; CPU:$E2EB PRG:62EB AD 02 02 + cmp #$9B ; CPU:$E2EE PRG:62EE C9 9B + bcc NmiHandler_Loop294 ; CPU:$E2F0 PRG:62F0 90 0E + inc $0204 ; CPU:$E2F2 PRG:62F2 EE 04 02 + lda $0204 ; CPU:$E2F5 PRG:62F5 AD 04 02 + and #$03 ; CPU:$E2F8 PRG:62F8 29 03 + beq NmiHandler_OnNonzero56 ; CPU:$E2FA PRG:62FA F0 03 + dec $0202 ; CPU:$E2FC PRG:62FC CE 02 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero56: + rts ; CPU:$E2FF PRG:62FF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop294: + lda $0201 ; CPU:$E300 PRG:6300 AD 01 02 + bne NmiHandler_OnNonzero56 ; CPU:$E303 PRG:6303 D0 FA + inc Zp79 ; CPU:$E305 PRG:6305 E6 79 + lda #$80 ; CPU:$E307 PRG:6307 A9 80 + sta $0200 ; CPU:$E309 PRG:6309 8D 00 02 + lda #$01 ; CPU:$E30C PRG:630C A9 01 + sta $0210 ; CPU:$E30E PRG:630E 8D 10 02 + lda #$9B ; CPU:$E311 PRG:6311 A9 9B + sta $0212 ; CPU:$E313 PRG:6313 8D 12 02 + lda Zp58 ; CPU:$E316 PRG:6316 A5 58 + sta $0213 ; CPU:$E318 PRG:6318 8D 13 02 + ldx Zp7E ; CPU:$E31B PRG:631B A6 7E + lda #$25 ; CPU:$E31D PRG:631D A9 25 + sta $0205,x ; CPU:$E31F PRG:631F 9D 05 02 + lda #$00 ; CPU:$E322 PRG:6322 A9 00 + sta $0206,x ; CPU:$E324 PRG:6324 9D 06 02 + lda #$04 ; CPU:$E327 PRG:6327 A9 04 + sta Zp54 ; CPU:$E329 PRG:6329 85 54 + lda #$21 ; CPU:$E32B PRG:632B A9 21 + jsr Sub_ED70 ; CPU:$E32D PRG:632D 20 70 ED + lda #$3C ; CPU:$E330 PRG:6330 A9 3C + sta $020E ; CPU:$E332 PRG:6332 8D 0E 02 + rts ; CPU:$E335 PRG:6335 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E336 +; Global: Branch target inside Label: taken when E336. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E336: + ldx Zp7E ; CPU:$E336 PRG:6336 A6 7E + lda $0200,x ; CPU:$E338 PRG:6338 BD 00 02 + bmi NmiHandler_Loop296 ; CPU:$E33B PRG:633B 30 46 + lda #$00 ; CPU:$E33D PRG:633D A9 00 + sta $0211 ; CPU:$E33F PRG:633F 8D 11 02 + lda $0202,x ; CPU:$E342 PRG:6342 BD 02 02 + clc ; CPU:$E345 PRG:6345 18 + adc #$10 ; CPU:$E346 PRG:6346 69 10 + sta $0212 ; CPU:$E348 PRG:6348 8D 12 02 + lda $0203,x ; CPU:$E34B PRG:634B BD 03 02 + sta $0213 ; CPU:$E34E PRG:634E 8D 13 02 + lda $020E ; CPU:$E351 PRG:6351 AD 0E 02 + beq NmiHandler_Loop295 ; CPU:$E354 PRG:6354 F0 12 + dec $020E ; CPU:$E356 PRG:6356 CE 0E 02 + bne NmiHandler_Loop295 ; CPU:$E359 PRG:6359 D0 0D + lda #$01 ; CPU:$E35B PRG:635B A9 01 + sta $058D ; CPU:$E35D PRG:635D 8D 8D 05 + sta $058E ; CPU:$E360 PRG:6360 8D 8E 05 + sta $058F ; CPU:$E363 PRG:6363 8D 8F 05 + sta Zp5D ; CPU:$E366 PRG:6366 85 5D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + rts ; CPU:$E368 PRG:6368 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet5: + lda #$08 ; CPU:$E369 PRG:6369 A9 08 + sta Zp79 ; CPU:$E36B PRG:636B 85 79 + ldx #$03 ; CPU:$E36D PRG:636D A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero57: + lda $0210,x ; CPU:$E36F PRG:636F BD 10 02 + sta $0200,x ; CPU:$E372 PRG:6372 9D 00 02 + dex ; CPU:$E375 PRG:6375 CA + bne NmiHandler_OnNonzero57 ; CPU:$E376 PRG:6376 D0 F7 + lda #$80 ; CPU:$E378 PRG:6378 A9 80 + sta $0210 ; CPU:$E37A PRG:637A 8D 10 02 + lda #$00 ; CPU:$E37D PRG:637D A9 00 + sta $0200 ; CPU:$E37F PRG:637F 8D 00 02 + rts ; CPU:$E382 PRG:6382 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + lda $0212 ; CPU:$E383 PRG:6383 AD 12 02 + cmp #$80 ; CPU:$E386 PRG:6386 C9 80 + bcs NmiHandler_OnCarrySet5 ; CPU:$E388 PRG:6388 B0 DF + lda #$00 ; CPU:$E38A PRG:638A A9 00 + sta $0211 ; CPU:$E38C PRG:638C 8D 11 02 + lda $0212 ; CPU:$E38F PRG:638F AD 12 02 + cmp #$07 ; CPU:$E392 PRG:6392 C9 07 + beq NmiHandler_Loop297 ; CPU:$E394 PRG:6394 F0 04 + dec $0212 ; CPU:$E396 PRG:6396 CE 12 02 + rts ; CPU:$E399 PRG:6399 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + lda #$04 ; CPU:$E39A PRG:639A A9 04 + sta Zp79 ; CPU:$E39C PRG:639C 85 79 + ldx #$02 ; CPU:$E39E PRG:639E A2 02 + stx Zp7B ; CPU:$E3A0 PRG:63A0 86 7B + dex ; CPU:$E3A2 PRG:63A2 CA + stx Zp7C ; CPU:$E3A3 PRG:63A3 86 7C + ldx #$60 ; CPU:$E3A5 PRG:63A5 A2 60 + lda #$F9 ; CPU:$E3A7 PRG:63A7 A9 F9 + jmp Sub_C12D ; CPU:$E3A9 PRG:63A9 4C 2D C1 +; ----------------------------------------------------------------------------- +; Routine: Label_E3AC +; Global: Branch target inside Label: taken when E3AC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E3AC: + ldx Zp7D ; CPU:$E3AC PRG:63AC A6 7D + lda $0400,x ; CPU:$E3AE PRG:63AE BD 00 04 + beq NmiHandler_Loop298 ; CPU:$E3B1 PRG:63B1 F0 14 + txa ; CPU:$E3B3 PRG:63B3 8A + jsr Sub_D78C ; CPU:$E3B4 PRG:63B4 20 8C D7 + sta $0213 ; CPU:$E3B7 PRG:63B7 8D 13 02 + lda #$07 ; CPU:$E3BA PRG:63BA A9 07 + sta $0212 ; CPU:$E3BC PRG:63BC 8D 12 02 + lda #$00 ; CPU:$E3BF PRG:63BF A9 00 + sta $0211 ; CPU:$E3C1 PRG:63C1 8D 11 02 + jmp NmiHandler_Loop282 ; CPU:$E3C4 PRG:63C4 4C 23 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + txa ; CPU:$E3C7 PRG:63C7 8A + ldx Zp7E ; CPU:$E3C8 PRG:63C8 A6 7E + cmp $022B,x ; CPU:$E3CA PRG:63CA DD 2B 02 + bne NmiHandler_Loop299 ; CPU:$E3CD PRG:63CD D0 05 + lda $0220,x ; CPU:$E3CF PRG:63CF BD 20 02 + bpl NmiHandler_Loop301 ; CPU:$E3D2 PRG:63D2 10 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + ldx #$00 ; CPU:$E3D4 PRG:63D4 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear16 +; Global: Branch target inside NmiHandler: taken when OnCarryClear16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear16: + lda Zp7D ; CPU:$E3D6 PRG:63D6 A5 7D + cmp $022B,x ; CPU:$E3D8 PRG:63D8 DD 2B 02 + bne NmiHandler_Loop300 ; CPU:$E3DB PRG:63DB D0 05 + ldy $0220,x ; CPU:$E3DD PRG:63DD BC 20 02 + bpl NmiHandler_Loop301 ; CPU:$E3E0 PRG:63E0 10 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop300: + txa ; CPU:$E3E2 PRG:63E2 8A + clc ; CPU:$E3E3 PRG:63E3 18 + adc #$10 ; CPU:$E3E4 PRG:63E4 69 10 + tax ; CPU:$E3E6 PRG:63E6 AA + cmp #$C0 ; CPU:$E3E7 PRG:63E7 C9 C0 + bcc NmiHandler_OnCarryClear16 ; CPU:$E3E9 PRG:63E9 90 EB + jmp Sub_E406 ; CPU:$E3EB PRG:63EB 4C 06 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop301: + lda $0221,x ; CPU:$E3EE PRG:63EE BD 21 02 + sta $0211 ; CPU:$E3F1 PRG:63F1 8D 11 02 + lda $0222,x ; CPU:$E3F4 PRG:63F4 BD 22 02 + sec ; CPU:$E3F7 PRG:63F7 38 + sbc #$10 ; CPU:$E3F8 PRG:63F8 E9 10 + sta $0212 ; CPU:$E3FA PRG:63FA 8D 12 02 + lda $0223,x ; CPU:$E3FD PRG:63FD BD 23 02 + sta $0213 ; CPU:$E400 PRG:6400 8D 13 02 + jmp NmiHandler_Loop282 ; CPU:$E403 PRG:6403 4C 23 E2 +; ----------------------------------------------------------------------------- +; Routine: Sub_E406 +; Global: Branch target inside Sub: taken when E406. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E406: + lda #$07 ; CPU:$E406 PRG:6406 A9 07 + sta Zp79 ; CPU:$E408 PRG:6408 85 79 + lda #$02 ; CPU:$E40A PRG:640A A9 02 + sta Zp7C ; CPU:$E40C PRG:640C 85 7C + ldx #$0B ; CPU:$E40E PRG:640E A2 0B + lda #$00 ; CPU:$E410 PRG:6410 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative26 +; Global: Branch target inside NmiHandler: taken when OnNonnegative26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative26: + sta $0214,x ; CPU:$E412 PRG:6412 9D 14 02 + dex ; CPU:$E415 PRG:6415 CA + bpl NmiHandler_OnNonnegative26 ; CPU:$E416 PRG:6416 10 FA + jsr Sub_C317 ; CPU:$E418 PRG:6418 20 17 C3 + and #$80 ; CPU:$E41B PRG:641B 29 80 + sta $0217 ; CPU:$E41D PRG:641D 8D 17 02 + lda #$26 ; CPU:$E420 PRG:6420 A9 26 + sta $0215 ; CPU:$E422 PRG:6422 8D 15 02 + rts ; CPU:$E425 PRG:6425 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E426 +; Global: Branch target inside Label: taken when E426. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E426: + lda #$01 ; CPU:$E426 PRG:6426 A9 01 + sta Zp7A ; CPU:$E428 PRG:6428 85 7A + lda $0590 ; CPU:$E42A PRG:642A AD 90 05 + bne NmiHandler_Loop302 ; CPU:$E42D PRG:642D D0 09 + inc $0590 ; CPU:$E42F PRG:642F EE 90 05 + inc $0591 ; CPU:$E432 PRG:6432 EE 91 05 + inc $0592 ; CPU:$E435 PRG:6435 EE 92 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop302: + lda #$00 ; CPU:$E438 PRG:6438 A9 00 + sta $0210 ; CPU:$E43A PRG:643A 8D 10 02 + ldx $0205 ; CPU:$E43D PRG:643D AE 05 02 + bne NmiHandler_Loop303 ; CPU:$E440 PRG:6440 D0 0D + lda $0495 ; CPU:$E442 PRG:6442 AD 95 04 + bne NmiHandler_Loop304 ; CPU:$E445 PRG:6445 D0 0B + lda $0477 ; CPU:$E447 PRG:6447 AD 77 04 + bne NmiHandler_Loop304 ; CPU:$E44A PRG:644A D0 06 + inc Zp79 ; CPU:$E44C PRG:644C E6 79 + rts ; CPU:$E44E PRG:644E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop303: + dec $0205 ; CPU:$E44F PRG:644F CE 05 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: + lda #$00 ; CPU:$E452 PRG:6452 A9 00 + sta $0210 ; CPU:$E454 PRG:6454 8D 10 02 + jsr Sub_E4E5 ; CPU:$E457 PRG:6457 20 E5 E4 + jmp NmiHandler_Loop282 ; CPU:$E45A PRG:645A 4C 23 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E45D +; Global: Branch target inside Label: taken when E45D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E45D: + lda #$AA ; CPU:$E45D PRG:645D A9 AA + sta TilePtrLo ; CPU:$E45F PRG:645F 85 08 + jsr Sub_E227 ; CPU:$E461 PRG:6461 20 27 E2 + lda #$C7 ; CPU:$E464 PRG:6464 A9 C7 + sta $0212 ; CPU:$E466 PRG:6466 8D 12 02 + lda $0203 ; CPU:$E469 PRG:6469 AD 03 02 + clc ; CPU:$E46C PRG:646C 18 + adc #$0E ; CPU:$E46D PRG:646D 69 0E + sta $0213 ; CPU:$E46F PRG:646F 8D 13 02 + rts ; CPU:$E472 PRG:6472 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E473 +; Global: Branch target inside Label: taken when E473. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E473: + lda $0203 ; CPU:$E473 PRG:6473 AD 03 02 + cmp #$59 ; CPU:$E476 PRG:6476 C9 59 + beq NmiHandler_Loop306 ; CPU:$E478 PRG:6478 F0 0E + bcs NmiHandler_Loop305 ; CPU:$E47A PRG:647A B0 06 + inc $0203 ; CPU:$E47C PRG:647C EE 03 02 + jmp Sub_E4E5 ; CPU:$E47F PRG:647F 4C E5 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop305: + dec $0203 ; CPU:$E482 PRG:6482 CE 03 02 + jmp Sub_E4E5 ; CPU:$E485 PRG:6485 4C E5 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop306: + lda $0211 ; CPU:$E488 PRG:6488 AD 11 02 + beq NmiHandler_Loop307 ; CPU:$E48B PRG:648B F0 03 + jmp Sub_E4E5 ; CPU:$E48D PRG:648D 4C E5 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop307: + lda $0213 ; CPU:$E490 PRG:6490 AD 13 02 + cmp #$67 ; CPU:$E493 PRG:6493 C9 67 + beq NmiHandler_Loop309 ; CPU:$E495 PRG:6495 F0 0A + bcs NmiHandler_Loop308 ; CPU:$E497 PRG:6497 B0 04 + inc $0213 ; CPU:$E499 PRG:6499 EE 13 02 + rts ; CPU:$E49C PRG:649C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop308: + dec $0213 ; CPU:$E49D PRG:649D CE 13 02 + rts ; CPU:$E4A0 PRG:64A0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop309: + lda $0212 ; CPU:$E4A1 PRG:64A1 AD 12 02 + cmp #$C7 ; CPU:$E4A4 PRG:64A4 C9 C7 + beq NmiHandler_Loop310 ; CPU:$E4A6 PRG:64A6 F0 04 + inc $0212 ; CPU:$E4A8 PRG:64A8 EE 12 02 + rts ; CPU:$E4AB PRG:64AB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop310: + lda #$00 ; CPU:$E4AC PRG:64AC A9 00 + sta Zp7A ; CPU:$E4AE PRG:64AE 85 7A + lda $0200 ; CPU:$E4B0 PRG:64B0 AD 00 02 + bmi NmiHandler_Loop311 ; CPU:$E4B3 PRG:64B3 30 05 + lda #$01 ; CPU:$E4B5 PRG:64B5 A9 01 + sta Zp79 ; CPU:$E4B7 PRG:64B7 85 79 + rts ; CPU:$E4B9 PRG:64B9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop311: + ldx #$03 ; CPU:$E4BA PRG:64BA A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative27 +; Global: Branch target inside NmiHandler: taken when OnNonnegative27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative27: + lda $0210,x ; CPU:$E4BC PRG:64BC BD 10 02 + sta $0200,x ; CPU:$E4BF PRG:64BF 9D 00 02 + dex ; CPU:$E4C2 PRG:64C2 CA + bpl NmiHandler_OnNonnegative27 ; CPU:$E4C3 PRG:64C3 10 F7 + lda #$80 ; CPU:$E4C5 PRG:64C5 A9 80 + sta $0210 ; CPU:$E4C7 PRG:64C7 8D 10 02 + lda #$00 ; CPU:$E4CA PRG:64CA A9 00 + sta Zp79 ; CPU:$E4CC PRG:64CC 85 79 + lda $045C ; CPU:$E4CE PRG:64CE AD 5C 04 + sta $0471 ; CPU:$E4D1 PRG:64D1 8D 71 04 + rts ; CPU:$E4D4 PRG:64D4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4D5 +; Global: Branch target inside Sub: taken when E4D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4D5: + lda $0201 ; CPU:$E4D5 PRG:64D5 AD 01 02 + clc ; CPU:$E4D8 PRG:64D8 18 + adc #$01 ; CPU:$E4D9 PRG:64D9 69 01 + cmp #$18 ; CPU:$E4DB PRG:64DB C9 18 + bne NmiHandler_Loop312 ; CPU:$E4DD PRG:64DD D0 02 + lda #$00 ; CPU:$E4DF PRG:64DF A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop312: + sta $0201 ; CPU:$E4E1 PRG:64E1 8D 01 02 + rts ; CPU:$E4E4 PRG:64E4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4E5 +; Global: Branch target inside Sub: taken when E4E5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4E5: + lda $0211 ; CPU:$E4E5 PRG:64E5 AD 11 02 + clc ; CPU:$E4E8 PRG:64E8 18 + adc #$01 ; CPU:$E4E9 PRG:64E9 69 01 + cmp #$18 ; CPU:$E4EB PRG:64EB C9 18 + bne NmiHandler_Loop313 ; CPU:$E4ED PRG:64ED D0 02 + lda #$00 ; CPU:$E4EF PRG:64EF A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop313 +; Global: Branch target inside NmiHandler: taken when Loop313. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop313: + sta $0211 ; CPU:$E4F1 PRG:64F1 8D 11 02 + rts ; CPU:$E4F4 PRG:64F4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4F5 +; Global: Branch target inside Sub: taken when E4F5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4F5: + lda #$E0 ; CPU:$E4F5 PRG:64F5 A9 E0 + sta TilePtrLo ; CPU:$E4F7 PRG:64F7 85 08 + lda #$02 ; CPU:$E4F9 PRG:64F9 A9 02 + sta TilePtrHi ; CPU:$E4FB PRG:64FB 85 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative6 +; Global: Branch target inside NmiHandler: taken when OnNegative6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative6: + ldy #$00 ; CPU:$E4FD PRG:64FD A0 00 + lda (TilePtrLo),y ; CPU:$E4FF PRG:64FF B1 08 + bmi NmiHandler_Loop314 ; CPU:$E501 PRG:6501 30 1B + iny ; CPU:$E503 PRG:6503 C8 + lda (TilePtrLo),y ; CPU:$E504 PRG:6504 B1 08 + sec ; CPU:$E506 PRG:6506 38 + sbc #$05 ; CPU:$E507 PRG:6507 E9 05 + sta Zp14 ; CPU:$E509 PRG:6509 85 14 + lda #$0B ; CPU:$E50B PRG:650B A9 0B + sta Zp15 ; CPU:$E50D PRG:650D 85 15 + iny ; CPU:$E50F PRG:650F C8 + lda (TilePtrLo),y ; CPU:$E510 PRG:6510 B1 08 + sec ; CPU:$E512 PRG:6512 38 + sbc #$05 ; CPU:$E513 PRG:6513 E9 05 + sta SpriteX ; CPU:$E515 PRG:6515 85 16 + lda #$0B ; CPU:$E517 PRG:6517 A9 0B + sta Zp17 ; CPU:$E519 PRG:6519 85 17 + jsr Sub_E540 ; CPU:$E51B PRG:651B 20 40 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop314 +; Global: Branch target inside NmiHandler: taken when Loop314. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop314: + lda TilePtrLo ; CPU:$E51E PRG:651E A5 08 + clc ; CPU:$E520 PRG:6520 18 + adc #$08 ; CPU:$E521 PRG:6521 69 08 + sta TilePtrLo ; CPU:$E523 PRG:6523 85 08 + bmi NmiHandler_OnNegative6 ; CPU:$E525 PRG:6525 30 D6 + ldx Zp79 ; CPU:$E527 PRG:6527 A6 79 + dex ; CPU:$E529 PRG:6529 CA + bne NmiHandler_Loop315 ; CPU:$E52A PRG:652A D0 13 + ldx #$00 ; CPU:$E52C PRG:652C A2 00 + jsr Sub_E533 ; CPU:$E52E PRG:652E 20 33 E5 + ldx #$08 ; CPU:$E531 PRG:6531 A2 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_E533 +; Global: Branch target inside Sub: taken when E533. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E533: + lda $02E0,x ; CPU:$E533 PRG:6533 BD E0 02 + ora $02F0,x ; CPU:$E536 PRG:6536 1D F0 02 + sta $02E0,x ; CPU:$E539 PRG:6539 9D E0 02 + sta $02F0,x ; CPU:$E53C PRG:653C 9D F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop315 +; Global: Branch target inside NmiHandler: taken when Loop315. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop315: + rts ; CPU:$E53F PRG:653F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E540 +; Global: Branch target inside Sub: taken when E540. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E540: + ldx #$10 ; CPU:$E540 PRG:6540 A2 10 + lda Zp7C ; CPU:$E542 PRG:6542 A5 7C + beq NmiHandler_Loop316 ; CPU:$E544 PRG:6544 F0 04 + bmi NmiHandler_Loop316 ; CPU:$E546 PRG:6546 30 02 + ldx #$00 ; CPU:$E548 PRG:6548 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop316 +; Global: Branch target inside NmiHandler: taken when Loop316. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop316: + stx Zp18 ; CPU:$E54A PRG:654A 86 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear17 +; Global: Branch target inside NmiHandler: taken when OnCarryClear17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear17: + lda $0210,x ; CPU:$E54C PRG:654C BD 10 02 + bmi NmiHandler_Loop317 ; CPU:$E54F PRG:654F 30 1D + lda $0212,x ; CPU:$E551 PRG:6551 BD 12 02 + sec ; CPU:$E554 PRG:6554 38 + sbc Zp14 ; CPU:$E555 PRG:6555 E5 14 + cmp Zp15 ; CPU:$E557 PRG:6557 C5 15 + bcs NmiHandler_Loop317 ; CPU:$E559 PRG:6559 B0 13 + lda $0213,x ; CPU:$E55B PRG:655B BD 13 02 + sec ; CPU:$E55E PRG:655E 38 + sbc SpriteX ; CPU:$E55F PRG:655F E5 16 + cmp Zp17 ; CPU:$E561 PRG:6561 C5 17 + bcs NmiHandler_Loop317 ; CPU:$E563 PRG:6563 B0 09 + jsr Sub_E606 ; CPU:$E565 PRG:6565 20 06 E6 + lda #$80 ; CPU:$E568 PRG:6568 A9 80 + ldy #$00 ; CPU:$E56A PRG:656A A0 00 + sta (TilePtrLo),y ; CPU:$E56C PRG:656C 91 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop317 +; Global: Branch target inside NmiHandler: taken when Loop317. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop317: + lda Zp18 ; CPU:$E56E PRG:656E A5 18 + clc ; CPU:$E570 PRG:6570 18 + adc #$10 ; CPU:$E571 PRG:6571 69 10 + sta Zp18 ; CPU:$E573 PRG:6573 85 18 + tax ; CPU:$E575 PRG:6575 AA + cmp #$D0 ; CPU:$E576 PRG:6576 C9 D0 + bcc NmiHandler_OnCarryClear17 ; CPU:$E578 PRG:6578 90 D2 + dec SpriteX ; CPU:$E57A PRG:657A C6 16 + inc Zp17 ; CPU:$E57C PRG:657C E6 17 + inc Zp17 ; CPU:$E57E PRG:657E E6 17 + ldx #$4F ; CPU:$E580 PRG:6580 A2 4F + stx Zp18 ; CPU:$E582 PRG:6582 86 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative28 +; Global: Branch target inside NmiHandler: taken when OnNonnegative28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative28: + lda Zp18 ; CPU:$E584 PRG:6584 A5 18 + jsr Sub_D7AA ; CPU:$E586 PRG:6586 20 AA D7 + sta ScreenPtrLo ; CPU:$E589 PRG:6589 85 0A + sec ; CPU:$E58B PRG:658B 38 + sbc Zp14 ; CPU:$E58C PRG:658C E5 14 + bcc NmiHandler_Loop318 ; CPU:$E58E PRG:658E 90 0D + cmp Zp15 ; CPU:$E590 PRG:6590 C5 15 + bcc NmiHandler_Loop319 ; CPU:$E592 PRG:6592 90 0A + lda Zp18 ; CPU:$E594 PRG:6594 A5 18 + sec ; CPU:$E596 PRG:6596 38 + sbc #$10 ; CPU:$E597 PRG:6597 E9 10 + sta Zp18 ; CPU:$E599 PRG:6599 85 18 + bpl NmiHandler_OnNonnegative28 ; CPU:$E59B PRG:659B 10 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop318 +; Global: Branch target inside NmiHandler: taken when Loop318. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop318: + rts ; CPU:$E59D PRG:659D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop319 +; Global: Branch target inside NmiHandler: taken when Loop319. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop319: + ldx Zp18 ; CPU:$E59E PRG:659E A6 18 + cpx #$10 ; CPU:$E5A0 PRG:65A0 E0 10 + bcc NmiHandler_Loop323 ; CPU:$E5A2 PRG:65A2 90 3D + lda $0400,x ; CPU:$E5A4 PRG:65A4 BD 00 04 + ror a ; CPU:$E5A7 PRG:65A7 6A + bcc NmiHandler_Loop320 ; CPU:$E5A8 PRG:65A8 90 06 + inc SpriteX ; CPU:$E5AA PRG:65AA E6 16 + dec Zp17 ; CPU:$E5AC PRG:65AC C6 17 + dec Zp17 ; CPU:$E5AE PRG:65AE C6 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop320 +; Global: Branch target inside NmiHandler: taken when Loop320. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop320: + txa ; CPU:$E5B0 PRG:65B0 8A + and #$F0 ; CPU:$E5B1 PRG:65B1 29 F0 + sta Zp0C ; CPU:$E5B3 PRG:65B3 85 0C + jsr Sub_D78C ; CPU:$E5B5 PRG:65B5 20 8C D7 + stx Zp0D ; CPU:$E5B8 PRG:65B8 86 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear18 +; Global: Branch target inside NmiHandler: taken when OnCarryClear18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear18: + ldx Zp0D ; CPU:$E5BA PRG:65BA A6 0D + lda $FC41,x ; CPU:$E5BC PRG:65BC BD 41 FC + sta ScreenPtrHi ; CPU:$E5BF PRG:65BF 85 0B + sec ; CPU:$E5C1 PRG:65C1 38 + sbc SpriteX ; CPU:$E5C2 PRG:65C2 E5 16 + bcc NmiHandler_Loop321 ; CPU:$E5C4 PRG:65C4 90 0E + cmp Zp17 ; CPU:$E5C6 PRG:65C6 C5 17 + bcs NmiHandler_Loop322 ; CPU:$E5C8 PRG:65C8 B0 16 + ldx Zp0C ; CPU:$E5CA PRG:65CA A6 0C + lda $0400,x ; CPU:$E5CC PRG:65CC BD 00 04 + beq NmiHandler_Loop322 ; CPU:$E5CF PRG:65CF F0 0F + jmp Sub_E74A ; CPU:$E5D1 PRG:65D1 4C 4A E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop321: + inc Zp0C ; CPU:$E5D4 PRG:65D4 E6 0C + inc Zp0D ; CPU:$E5D6 PRG:65D6 E6 0D + lda Zp0C ; CPU:$E5D8 PRG:65D8 A5 0C + and #$0F ; CPU:$E5DA PRG:65DA 29 0F + cmp #$0A ; CPU:$E5DC PRG:65DC C9 0A + bcc NmiHandler_OnCarryClear18 ; CPU:$E5DE PRG:65DE 90 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop322: + rts ; CPU:$E5E0 PRG:65E0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop323: + lda #$03 ; CPU:$E5E1 PRG:65E1 A9 03 + sta Zp0C ; CPU:$E5E3 PRG:65E3 85 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear19 +; Global: Branch target inside NmiHandler: taken when OnCarryClear19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear19: + lda Zp0C ; CPU:$E5E5 PRG:65E5 A5 0C + jsr Sub_D78C ; CPU:$E5E7 PRG:65E7 20 8C D7 + ldx Zp0C ; CPU:$E5EA PRG:65EA A6 0C + sta ScreenPtrHi ; CPU:$E5EC PRG:65EC 85 0B + sec ; CPU:$E5EE PRG:65EE 38 + sbc SpriteX ; CPU:$E5EF PRG:65EF E5 16 + bcc NmiHandler_Loop324 ; CPU:$E5F1 PRG:65F1 90 0C + cmp Zp17 ; CPU:$E5F3 PRG:65F3 C5 17 + bcs NmiHandler_Loop325 ; CPU:$E5F5 PRG:65F5 B0 0E + lda $0400,x ; CPU:$E5F7 PRG:65F7 BD 00 04 + beq NmiHandler_Loop325 ; CPU:$E5FA PRG:65FA F0 09 + jmp Sub_E746 ; CPU:$E5FC PRG:65FC 4C 46 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop324: + inc Zp0C ; CPU:$E5FF PRG:65FF E6 0C + cpx #$07 ; CPU:$E601 PRG:6601 E0 07 + bcc NmiHandler_OnCarryClear19 ; CPU:$E603 PRG:6603 90 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop325: + rts ; CPU:$E605 PRG:6605 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E606 +; Global: Branch target inside Sub: taken when E606. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E606: + jsr Sub_C339 ; CPU:$E606 PRG:6606 20 39 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_E609 +; Global: Branch target inside Sub: taken when E609. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E609: + ldx Zp18 ; CPU:$E609 PRG:6609 A6 18 + lda $0210,x ; CPU:$E60B PRG:660B BD 10 02 + sta Zp0E ; CPU:$E60E PRG:660E 85 0E + ldx Zp0E ; CPU:$E610 PRG:6610 A6 0E + dex ; CPU:$E612 PRG:6612 CA + cpx #$05 ; CPU:$E613 PRG:6613 E0 05 + bcc NmiHandler_Loop326 ; CPU:$E615 PRG:6615 90 02 + ldx #$05 ; CPU:$E617 PRG:6617 A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop326 +; Global: Branch target inside NmiHandler: taken when Loop326. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop326: + txa ; CPU:$E619 PRG:6619 8A + jsr Sub_C301 ; CPU:$E61A PRG:661A 20 01 C3 + and #$E6 ; CPU:$E61D PRG:661D 29 E6 + rti ; CPU:$E61F PRG:661F 40 +; ----------------------------------------------------------------------------- +; Routine: Label_E620 +; Global: Branch target inside Label: taken when E620. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E620: + inc Zp51 ; CPU:$E620 PRG:6620 E6 51 + inc Zp9B ; CPU:$E622 PRG:6622 E6 9B + inc ZpAD ; CPU:$E624 PRG:6624 E6 AD + inc ZpBF ; CPU:$E626 PRG:6626 E6 BF + inc ZpA2 ; CPU:$E628 PRG:6628 E6 A2 + brk ; CPU:$E62A PRG:662A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E62B +; Global: Branch target inside Label: taken when E62B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E62B: + stx Zp79 ; CPU:$E62B PRG:662B 86 79 + stx Zp7C ; CPU:$E62D PRG:662D 86 7C + inx ; CPU:$E62F PRG:662F E8 + stx $0593 ; CPU:$E630 PRG:6630 8E 93 05 + stx $0594 ; CPU:$E633 PRG:6633 8E 94 05 + stx $0595 ; CPU:$E636 PRG:6636 8E 95 05 + lda #$04 ; CPU:$E639 PRG:6639 A9 04 + sta Zp0F ; CPU:$E63B PRG:663B 85 0F + jmp Sub_E6F6 ; CPU:$E63D PRG:663D 4C F6 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E640 +; Global: Branch target inside Label: taken when E640. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E640: + ldx Zp18 ; CPU:$E640 PRG:6640 A6 18 + inc $0210,x ; CPU:$E642 PRG:6642 FE 10 02 + lda $021B,x ; CPU:$E645 PRG:6645 BD 1B 02 + jsr Sub_D749 ; CPU:$E648 PRG:6648 20 49 D7 + lda #$01 ; CPU:$E64B PRG:664B A9 01 + sta $059C ; CPU:$E64D PRG:664D 8D 9C 05 + rts ; CPU:$E650 PRG:6650 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E651 +; Global: Branch target inside Label: taken when E651. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E651: + lda #$01 ; CPU:$E651 PRG:6651 A9 01 + sta $059D ; CPU:$E653 PRG:6653 8D 9D 05 + lda #$F0 ; CPU:$E656 PRG:6656 A9 F0 + sta Zp5F ; CPU:$E658 PRG:6658 85 5F + ldx Zp18 ; CPU:$E65A PRG:665A A6 18 + lda $021D,x ; CPU:$E65C PRG:665C BD 1D 02 + tax ; CPU:$E65F PRG:665F AA + lda $E698,x ; CPU:$E660 PRG:6660 BD 98 E6 + sta Zp0F ; CPU:$E663 PRG:6663 85 0F + lda $0464 ; CPU:$E665 PRG:6665 AD 64 04 + cmp #$03 ; CPU:$E668 PRG:6668 C9 03 + beq NmiHandler_Loop328 ; CPU:$E66A PRG:666A F0 5C + ldx Zp18 ; CPU:$E66C PRG:666C A6 18 + lda Zp54 ; CPU:$E66E PRG:666E A5 54 + beq NmiHandler_Loop327 ; CPU:$E670 PRG:6670 F0 0B + lda $021B,x ; CPU:$E672 PRG:6672 BD 1B 02 + cmp Zp7D ; CPU:$E675 PRG:6675 C5 7D + bne NmiHandler_Loop327 ; CPU:$E677 PRG:6677 D0 04 + lda #$04 ; CPU:$E679 PRG:6679 A9 04 + sta Zp54 ; CPU:$E67B PRG:667B 85 54 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop327 +; Global: Branch target inside NmiHandler: taken when Loop327. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop327: + ldy Zp7C ; CPU:$E67D PRG:667D A4 7C + dey ; CPU:$E67F PRG:667F 88 + bne NmiHandler_Loop329 ; CPU:$E680 PRG:6680 D0 67 + lda $021B,x ; CPU:$E682 PRG:6682 BD 1B 02 + cmp Zp7D ; CPU:$E685 PRG:6685 C5 7D + bne NmiHandler_Loop329 ; CPU:$E687 PRG:6687 D0 60 + inc Zp79 ; CPU:$E689 PRG:6689 E6 79 + lda #$78 ; CPU:$E68B PRG:668B A9 78 + sta $0205 ; CPU:$E68D PRG:668D 8D 05 02 + lda #$00 ; CPU:$E690 PRG:6690 A9 00 + sta Zp7C ; CPU:$E692 PRG:6692 85 7C + sta Zp7B ; CPU:$E694 PRG:6694 85 7B + bpl NmiHandler_Loop329 ; CPU:$E696 PRG:6696 10 51 + .byte $07, $05 ; CPU:$E698 PRG:6698 07 05 -- slo Zp05 (undocumented; ca65 cannot encode) +; ---- data $E69A-$E69A (1 bytes) ---- +UnreachedByte2: + .byte $02 ; CPU:$E69A PRG:269A 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E69B +; Global: Branch target inside Label: taken when E69B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E69B: + lda #$08 ; CPU:$E69B PRG:669B A9 08 + sta Zp0F ; CPU:$E69D PRG:669D 85 0F + lda #$01 ; CPU:$E69F PRG:669F A9 01 + sta $059E ; CPU:$E6A1 PRG:66A1 8D 9E 05 + lda $0464 ; CPU:$E6A4 PRG:66A4 AD 64 04 + cmp #$03 ; CPU:$E6A7 PRG:66A7 C9 03 + bne NmiHandler_Loop329 ; CPU:$E6A9 PRG:66A9 D0 3E + beq NmiHandler_Loop328 ; CPU:$E6AB PRG:66AB F0 1B +; ----------------------------------------------------------------------------- +; Routine: Label_E6AD +; Global: Branch target inside Label: taken when E6AD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E6AD: + lda #$0A ; CPU:$E6AD PRG:66AD A9 0A + sta Zp0F ; CPU:$E6AF PRG:66AF 85 0F + lda #$01 ; CPU:$E6B1 PRG:66B1 A9 01 + sta $059F ; CPU:$E6B3 PRG:66B3 8D 9F 05 + lda $0464 ; CPU:$E6B6 PRG:66B6 AD 64 04 + cmp #$03 ; CPU:$E6B9 PRG:66B9 C9 03 + bne NmiHandler_Loop329 ; CPU:$E6BB PRG:66BB D0 2C + beq NmiHandler_Loop328 ; CPU:$E6BD PRG:66BD F0 09 + lda #$0A ; CPU:$E6BF PRG:66BF A9 0A + sta Zp0F ; CPU:$E6C1 PRG:66C1 85 0F + lda #$01 ; CPU:$E6C3 PRG:66C3 A9 01 + sta $059F ; CPU:$E6C5 PRG:66C5 8D 9F 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop328 +; Global: Branch target inside NmiHandler: taken when Loop328. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop328: + lda #$C1 ; CPU:$E6C8 PRG:66C8 A9 C1 + sta StarFieldPtrLo ; CPU:$E6CA PRG:66CA 85 00 + lda #$00 ; CPU:$E6CC PRG:66CC A9 00 + sta StarFieldPtrHi ; CPU:$E6CE PRG:66CE 85 01 + lda #$03 ; CPU:$E6D0 PRG:66D0 A9 03 + sta Zp02 ; CPU:$E6D2 PRG:66D2 85 02 + jsr Sub_C3A1 ; CPU:$E6D4 PRG:66D4 20 A1 C3 + inc ZpC4 ; CPU:$E6D7 PRG:66D7 E6 C4 + dec ZpC0 ; CPU:$E6D9 PRG:66D9 C6 C0 + bne NmiHandler_Loop329 ; CPU:$E6DB PRG:66DB D0 0C + lda Zp0F ; CPU:$E6DD PRG:66DD A5 0F + sta StarFieldPtrLo ; CPU:$E6DF PRG:66DF 85 00 + jsr Sub_C8AB ; CPU:$E6E1 PRG:66E1 20 AB C8 + lda $0478 ; CPU:$E6E4 PRG:66E4 AD 78 04 + sta Zp0F ; CPU:$E6E7 PRG:66E7 85 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop329: + ldx Zp18 ; CPU:$E6E9 PRG:66E9 A6 18 + lda $021B,x ; CPU:$E6EB PRG:66EB BD 1B 02 + beq NmiHandler_Loop330 ; CPU:$E6EE PRG:66EE F0 03 + dec $0494 ; CPU:$E6F0 PRG:66F0 CE 94 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop330: + dec $0495 ; CPU:$E6F3 PRG:66F3 CE 95 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_E6F6 +; Global: Branch target inside Sub: taken when E6F6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E6F6: + ldx Zp18 ; CPU:$E6F6 PRG:66F6 A6 18 + lda #$80 ; CPU:$E6F8 PRG:66F8 A9 80 + sta $0210,x ; CPU:$E6FA PRG:66FA 9D 10 02 + lda $0212,x ; CPU:$E6FD PRG:66FD BD 12 02 + sta ScreenPtrLo ; CPU:$E700 PRG:6700 85 0A + lda $0213,x ; CPU:$E702 PRG:6702 BD 13 02 + sta ScreenPtrHi ; CPU:$E705 PRG:6705 85 0B + jsr Sub_E78E ; CPU:$E707 PRG:6707 20 8E E7 + lda Zp0F ; CPU:$E70A PRG:670A A5 0F + sta StarFieldPtrLo ; CPU:$E70C PRG:670C 85 00 + lda #$08 ; CPU:$E70E PRG:670E A9 08 + sec ; CPU:$E710 PRG:6710 38 + sbc StarFieldPtrLo ; CPU:$E711 PRG:6711 E5 00 + bcs NmiHandler_Loop331 ; CPU:$E713 PRG:6713 B0 02 + lda #$00 ; CPU:$E715 PRG:6715 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop331: + sta $03DB,x ; CPU:$E717 PRG:6717 9D DB 03 + jsr Sub_C8AB ; CPU:$E71A PRG:671A 20 AB C8 + rts ; CPU:$E71D PRG:671D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero13 +; Global: Branch target inside NmiHandler: taken when OnZero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero13: + lda #$01 ; CPU:$E71E PRG:671E A9 01 + sta $059C ; CPU:$E720 PRG:6720 8D 9C 05 + sta $0400,x ; CPU:$E723 PRG:6723 9D 00 04 + lda #$80 ; CPU:$E726 PRG:6726 A9 80 + ldy #$00 ; CPU:$E728 PRG:6728 A0 00 + sta (TilePtrLo),y ; CPU:$E72A PRG:672A 91 08 + txa ; CPU:$E72C PRG:672C 8A + sta Zp1A ; CPU:$E72D PRG:672D 85 1A + jsr Sub_D749 ; CPU:$E72F PRG:672F 20 49 D7 + lda $040F ; CPU:$E732 PRG:6732 AD 0F 04 + cmp #$0C ; CPU:$E735 PRG:6735 C9 0C + bcc NmiHandler_Loop332 ; CPU:$E737 PRG:6737 90 0A + lda Zp1A ; CPU:$E739 PRG:6739 A5 1A + jsr Sub_D518 ; CPU:$E73B PRG:673B 20 18 D5 + lda Zp1A ; CPU:$E73E PRG:673E A5 1A + jsr Sub_D538 ; CPU:$E740 PRG:6740 20 38 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop332: + jmp Sub_C339 ; CPU:$E743 PRG:6743 4C 39 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_E746 +; Global: Branch target inside Sub: taken when E746. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E746: + cmp #$02 ; CPU:$E746 PRG:6746 C9 02 + beq NmiHandler_OnZero13 ; CPU:$E748 PRG:6748 F0 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_E74A +; Global: Branch target inside Sub: taken when E74A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E74A: + dec $0494 ; CPU:$E74A PRG:674A CE 94 04 + stx Zp0E ; CPU:$E74D PRG:674D 86 0E + txa ; CPU:$E74F PRG:674F 8A + jsr Sub_D518 ; CPU:$E750 PRG:6750 20 18 D5 + ldy #$00 ; CPU:$E753 PRG:6753 A0 00 + lda #$80 ; CPU:$E755 PRG:6755 A9 80 + sta (TilePtrLo),y ; CPU:$E757 PRG:6757 91 08 + jsr Sub_E78E ; CPU:$E759 PRG:6759 20 8E E7 + lda #$00 ; CPU:$E75C PRG:675C A9 00 + sta $03DB,x ; CPU:$E75E PRG:675E 9D DB 03 + jsr Sub_E78E ; CPU:$E761 PRG:6761 20 8E E7 + lda ScreenPtrLo ; CPU:$E764 PRG:6764 A5 0A + lsr a ; CPU:$E766 PRG:6766 4A + lsr a ; CPU:$E767 PRG:6767 4A + lsr a ; CPU:$E768 PRG:6768 4A + lsr a ; CPU:$E769 PRG:6769 4A + tay ; CPU:$E76A PRG:676A A8 + lda $E7B0,y ; CPU:$E76B PRG:676B B9 B0 E7 + sta StarFieldPtrLo ; CPU:$E76E PRG:676E 85 00 + jsr Sub_C8AB ; CPU:$E770 PRG:6770 20 AB C8 + jsr Sub_C339 ; CPU:$E773 PRG:6773 20 39 C3 + ldx #$01 ; CPU:$E776 PRG:6776 A2 01 + lda Zp0E ; CPU:$E778 PRG:6778 A5 0E + cmp #$10 ; CPU:$E77A PRG:677A C9 10 + bcc NmiHandler_Loop334 ; CPU:$E77C PRG:677C 90 0C + cmp #$30 ; CPU:$E77E PRG:677E C9 30 + bcc NmiHandler_Loop333 ; CPU:$E780 PRG:6780 90 04 + stx $059F ; CPU:$E782 PRG:6782 8E 9F 05 + rts ; CPU:$E785 PRG:6785 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop333: + stx $059E ; CPU:$E786 PRG:6786 8E 9E 05 + rts ; CPU:$E789 PRG:6789 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop334 +; Global: Branch target inside NmiHandler: taken when Loop334. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop334: + stx $059D ; CPU:$E78A PRG:678A 8E 9D 05 + rts ; CPU:$E78D PRG:678D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E78E +; Global: Branch target inside Sub: taken when E78E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E78E: + lda Zp5A ; CPU:$E78E PRG:678E A5 5A + clc ; CPU:$E790 PRG:6790 18 + adc #$04 ; CPU:$E791 PRG:6791 69 04 + cmp #$20 ; CPU:$E793 PRG:6793 C9 20 + bcc NmiHandler_Loop335 ; CPU:$E795 PRG:6795 90 02 + lda #$00 ; CPU:$E797 PRG:6797 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop335 +; Global: Branch target inside NmiHandler: taken when Loop335. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop335: + sta Zp5A ; CPU:$E799 PRG:6799 85 5A + tax ; CPU:$E79B PRG:679B AA + lda #$FF ; CPU:$E79C PRG:679C A9 FF + sta $03D8,x ; CPU:$E79E PRG:679E 9D D8 03 + lda ScreenPtrLo ; CPU:$E7A1 PRG:67A1 A5 0A + sta $03D9,x ; CPU:$E7A3 PRG:67A3 9D D9 03 + lda ScreenPtrHi ; CPU:$E7A6 PRG:67A6 A5 0B + sta $03DA,x ; CPU:$E7A8 PRG:67A8 9D DA 03 + lda #$00 ; CPU:$E7AB PRG:67AB A9 00 + sta $03DB,x ; CPU:$E7AD PRG:67AD 9D DB 03 + rts ; CPU:$E7B0 PRG:67B0 60 +; ---- data $E7B1-$E7B5 (5 bytes) ---- +SpriteScoreTable: + .byte $09, $0B, $0B, $0C, $0C ; CPU:$E7B1 PRG:27B1 09 0B 0B 0C 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_E7B6 +; Global: Branch target inside Sub: taken when E7B6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E7B6: + lda Zp5C ; CPU:$E7B6 PRG:67B6 A5 5C + bne NmiHandler_OnNonzero58 ; CPU:$E7B8 PRG:67B8 D0 05 + lda $0200 ; CPU:$E7BA PRG:67BA AD 00 02 + bpl NmiHandler_Loop336 ; CPU:$E7BD PRG:67BD 10 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero58: + rts ; CPU:$E7BF PRG:67BF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop336 +; Global: Branch target inside NmiHandler: taken when Loop336. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop336: + lda Zp79 ; CPU:$E7C0 PRG:67C0 A5 79 + cmp #$08 ; CPU:$E7C2 PRG:67C2 C9 08 + bcs NmiHandler_OnNonzero58 ; CPU:$E7C4 PRG:67C4 B0 F9 + lda $0202 ; CPU:$E7C6 PRG:67C6 AD 02 02 + cmp #$C7 ; CPU:$E7C9 PRG:67C9 C9 C7 + bne NmiHandler_OnNonzero58 ; CPU:$E7CB PRG:67CB D0 F2 + ldx #$0D ; CPU:$E7CD PRG:67CD A2 0D + ldy Zp79 ; CPU:$E7CF PRG:67CF A4 79 + dey ; CPU:$E7D1 PRG:67D1 88 + bne NmiHandler_Loop337 ; CPU:$E7D2 PRG:67D2 D0 02 + ldx #$1B ; CPU:$E7D4 PRG:67D4 A2 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop337 +; Global: Branch target inside NmiHandler: taken when Loop337. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop337: + stx ScreenPtrHi ; CPU:$E7D6 PRG:67D6 86 0B + lda $0203 ; CPU:$E7D8 PRG:67D8 AD 03 02 + sta Zp14 ; CPU:$E7DB PRG:67DB 85 14 + sec ; CPU:$E7DD PRG:67DD 38 + sbc #$06 ; CPU:$E7DE PRG:67DE E9 06 + sta SpriteX ; CPU:$E7E0 PRG:67E0 85 16 + clc ; CPU:$E7E2 PRG:67E2 18 + adc ScreenPtrHi ; CPU:$E7E3 PRG:67E3 65 0B + sta Zp17 ; CPU:$E7E5 PRG:67E5 85 17 + ldx #$00 ; CPU:$E7E7 PRG:67E7 A2 00 + stx Zp18 ; CPU:$E7E9 PRG:67E9 86 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear20 +; Global: Branch target inside NmiHandler: taken when OnCarryClear20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear20: + ldx Zp18 ; CPU:$E7EB PRG:67EB A6 18 + lda Zp90,x ; CPU:$E7ED PRG:67ED B5 90 + bmi NmiHandler_Loop338 ; CPU:$E7EF PRG:67EF 30 1B + lda Zp91,x ; CPU:$E7F1 PRG:67F1 B5 91 + cmp #$C2 ; CPU:$E7F3 PRG:67F3 C9 C2 + bcc NmiHandler_Loop338 ; CPU:$E7F5 PRG:67F5 90 15 + cmp #$CC ; CPU:$E7F7 PRG:67F7 C9 CC + bcs NmiHandler_Loop338 ; CPU:$E7F9 PRG:67F9 B0 11 + lda Zp92,x ; CPU:$E7FB PRG:67FB B5 92 + cmp Zp17 ; CPU:$E7FD PRG:67FD C5 17 + bcs NmiHandler_Loop338 ; CPU:$E7FF PRG:67FF B0 0B + sec ; CPU:$E801 PRG:6801 38 + sbc SpriteX ; CPU:$E802 PRG:6802 E5 16 + bcc NmiHandler_Loop338 ; CPU:$E804 PRG:6804 90 06 + clc ; CPU:$E806 PRG:6806 18 + adc #$02 ; CPU:$E807 PRG:6807 69 02 + jmp Sub_E86D ; CPU:$E809 PRG:6809 4C 6D E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop338 +; Global: Branch target inside NmiHandler: taken when Loop338. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop338: + lda Zp18 ; CPU:$E80C PRG:680C A5 18 + clc ; CPU:$E80E PRG:680E 18 + adc #$04 ; CPU:$E80F PRG:680F 69 04 + sta Zp18 ; CPU:$E811 PRG:6811 85 18 + cmp #$20 ; CPU:$E813 PRG:6813 C9 20 + bcc NmiHandler_OnCarryClear20 ; CPU:$E815 PRG:6815 90 D4 + dec SpriteX ; CPU:$E817 PRG:6817 C6 16 + dec SpriteX ; CPU:$E819 PRG:6819 C6 16 + inc Zp17 ; CPU:$E81B PRG:681B E6 17 + inc Zp17 ; CPU:$E81D PRG:681D E6 17 + inc Zp17 ; CPU:$E81F PRG:681F E6 17 + inc Zp17 ; CPU:$E821 PRG:6821 E6 17 + ldx #$10 ; CPU:$E823 PRG:6823 A2 10 + lda Zp7C ; CPU:$E825 PRG:6825 A5 7C + beq NmiHandler_Loop339 ; CPU:$E827 PRG:6827 F0 02 + ldx #$00 ; CPU:$E829 PRG:6829 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop339 +; Global: Branch target inside NmiHandler: taken when Loop339. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop339: + stx Zp18 ; CPU:$E82B PRG:682B 86 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear21 +; Global: Branch target inside NmiHandler: taken when OnCarryClear21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear21: + ldx Zp18 ; CPU:$E82D PRG:682D A6 18 + lda $0210,x ; CPU:$E82F PRG:682F BD 10 02 + bmi NmiHandler_Loop340 ; CPU:$E832 PRG:6832 30 1A + lda $0212,x ; CPU:$E834 PRG:6834 BD 12 02 + cmp #$C4 ; CPU:$E837 PRG:6837 C9 C4 + bcc NmiHandler_Loop340 ; CPU:$E839 PRG:6839 90 13 + cmp #$CC ; CPU:$E83B PRG:683B C9 CC + bcs NmiHandler_Loop340 ; CPU:$E83D PRG:683D B0 0F + lda $0213,x ; CPU:$E83F PRG:683F BD 13 02 + cmp Zp17 ; CPU:$E842 PRG:6842 C5 17 + bcs NmiHandler_Loop340 ; CPU:$E844 PRG:6844 B0 08 + sec ; CPU:$E846 PRG:6846 38 + sbc SpriteX ; CPU:$E847 PRG:6847 E5 16 + bcc NmiHandler_Loop340 ; CPU:$E849 PRG:6849 90 03 + jmp Sub_E85A ; CPU:$E84B PRG:684B 4C 5A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop340 +; Global: Branch target inside NmiHandler: taken when Loop340. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop340: + lda Zp18 ; CPU:$E84E PRG:684E A5 18 + clc ; CPU:$E850 PRG:6850 18 + adc #$10 ; CPU:$E851 PRG:6851 69 10 + sta Zp18 ; CPU:$E853 PRG:6853 85 18 + cmp #$D0 ; CPU:$E855 PRG:6855 C9 D0 + bcc NmiHandler_OnCarryClear21 ; CPU:$E857 PRG:6857 90 D4 + rts ; CPU:$E859 PRG:6859 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E85A +; Global: Branch target inside Sub: taken when E85A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E85A: + pha ; CPU:$E85A PRG:685A 48 + ldx Zp18 ; CPU:$E85B PRG:685B A6 18 + lda $0210,x ; CPU:$E85D PRG:685D BD 10 02 + cmp #$02 ; CPU:$E860 PRG:6860 C9 02 + bne NmiHandler_Loop341 ; CPU:$E862 PRG:6862 D0 03 + inc $0210,x ; CPU:$E864 PRG:6864 FE 10 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop341 +; Global: Branch target inside NmiHandler: taken when Loop341. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop341: + jsr Sub_E609 ; CPU:$E867 PRG:6867 20 09 E6 + jmp Sub_E877 ; CPU:$E86A PRG:686A 4C 77 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_E86D +; Global: Branch target inside Sub: taken when E86D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E86D: + pha ; CPU:$E86D PRG:686D 48 + dec $0477 ; CPU:$E86E PRG:686E CE 77 04 + ldx Zp18 ; CPU:$E871 PRG:6871 A6 18 + lda #$FF ; CPU:$E873 PRG:6873 A9 FF + sta Zp90,x ; CPU:$E875 PRG:6875 95 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_E877 +; Global: Branch target inside Sub: taken when E877. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E877: + lda #$01 ; CPU:$E877 PRG:6877 A9 01 + sta $05A3 ; CPU:$E879 PRG:6879 8D A3 05 + pla ; CPU:$E87C PRG:687C 68 + ldx Zp79 ; CPU:$E87D PRG:687D A6 79 + dex ; CPU:$E87F PRG:687F CA + bne NmiHandler_Loop343 ; CPU:$E880 PRG:6880 D0 29 + cmp #$10 ; CPU:$E882 PRG:6882 C9 10 + bcs NmiHandler_Loop342 ; CPU:$E884 PRG:6884 B0 1F + lda $0213 ; CPU:$E886 PRG:6886 AD 13 02 + sta $0203 ; CPU:$E889 PRG:6889 8D 03 02 + lda Zp14 ; CPU:$E88C PRG:688C A5 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_E88E +; Global: Branch target inside Sub: taken when E88E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E88E: + sta $03FA ; CPU:$E88E PRG:688E 8D FA 03 + lda #$C7 ; CPU:$E891 PRG:6891 A9 C7 + sta $03F9 ; CPU:$E893 PRG:6893 8D F9 03 + lda #$FF ; CPU:$E896 PRG:6896 A9 FF + sta $03F8 ; CPU:$E898 PRG:6898 8D F8 03 + lda #$80 ; CPU:$E89B PRG:689B A9 80 + sta $0210 ; CPU:$E89D PRG:689D 8D 10 02 + lda #$00 ; CPU:$E8A0 PRG:68A0 A9 00 + sta Zp79 ; CPU:$E8A2 PRG:68A2 85 79 + rts ; CPU:$E8A4 PRG:68A4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop342 +; Global: Branch target inside NmiHandler: taken when Loop342. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop342: + lda $0213 ; CPU:$E8A5 PRG:68A5 AD 13 02 + jmp Sub_E88E ; CPU:$E8A8 PRG:68A8 4C 8E E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop343 +; Global: Branch target inside NmiHandler: taken when Loop343. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop343: + lda #$80 ; CPU:$E8AB PRG:68AB A9 80 + sta $0200 ; CPU:$E8AD PRG:68AD 8D 00 02 + lda #$FF ; CPU:$E8B0 PRG:68B0 A9 FF + sta $03F8 ; CPU:$E8B2 PRG:68B2 8D F8 03 + lda #$C7 ; CPU:$E8B5 PRG:68B5 A9 C7 + sta $03F9 ; CPU:$E8B7 PRG:68B7 8D F9 03 + lda $0203 ; CPU:$E8BA PRG:68BA AD 03 02 + sta $03FA ; CPU:$E8BD PRG:68BD 8D FA 03 + lda #$01 ; CPU:$E8C0 PRG:68C0 A9 01 + sta Zp7A ; CPU:$E8C2 PRG:68C2 85 7A + lda Zp79 ; CPU:$E8C4 PRG:68C4 A5 79 + cmp #$06 ; CPU:$E8C6 PRG:68C6 C9 06 + beq NmiHandler_Loop344 ; CPU:$E8C8 PRG:68C8 F0 0C + cmp #$05 ; CPU:$E8CA PRG:68CA C9 05 + beq NmiHandler_Loop344 ; CPU:$E8CC PRG:68CC F0 08 + ldx #$00 ; CPU:$E8CE PRG:68CE A2 00 + stx $0471 ; CPU:$E8D0 PRG:68D0 8E 71 04 + inx ; CPU:$E8D3 PRG:68D3 E8 + stx Zp7B ; CPU:$E8D4 PRG:68D4 86 7B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop344 +; Global: Branch target inside NmiHandler: taken when Loop344. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop344: + rts ; CPU:$E8D6 PRG:68D6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E8D7 +; Global: Branch target inside Sub: taken when E8D7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E8D7: + ldx $0472 ; CPU:$E8D7 PRG:68D7 AE 72 04 + inx ; CPU:$E8DA PRG:68DA E8 + cpx #$14 ; CPU:$E8DB PRG:68DB E0 14 + bcc NmiHandler_Loop345 ; CPU:$E8DD PRG:68DD 90 02 + ldx #$11 ; CPU:$E8DF PRG:68DF A2 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop345 +; Global: Branch target inside NmiHandler: taken when Loop345. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop345: + stx $0472 ; CPU:$E8E1 PRG:68E1 8E 72 04 + txa ; CPU:$E8E4 PRG:68E4 8A + asl a ; CPU:$E8E5 PRG:68E5 0A + sta $0475 ; CPU:$E8E6 PRG:68E6 8D 75 04 + asl a ; CPU:$E8E9 PRG:68E9 0A + asl a ; CPU:$E8EA PRG:68EA 0A + tax ; CPU:$E8EB PRG:68EB AA + lda #$08 ; CPU:$E8EC PRG:68EC A9 08 + sta Zp02 ; CPU:$E8EE PRG:68EE 85 02 + ldy #$00 ; CPU:$E8F0 PRG:68F0 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero59: + jsr Sub_E922 ; CPU:$E8F2 PRG:68F2 20 22 E9 + dec Zp02 ; CPU:$E8F5 PRG:68F5 C6 02 + bne NmiHandler_OnNonzero59 ; CPU:$E8F7 PRG:68F7 D0 F9 + asl $0456 ; CPU:$E8F9 PRG:68F9 0E 56 04 + asl $0456 ; CPU:$E8FC PRG:68FC 0E 56 04 + asl $0457 ; CPU:$E8FF PRG:68FF 0E 57 04 + asl $0457 ; CPU:$E902 PRG:6902 0E 57 04 + lda $0455 ; CPU:$E905 PRG:6905 AD 55 04 + asl a ; CPU:$E908 PRG:6908 0A + adc $0455 ; CPU:$E909 PRG:6909 6D 55 04 + sta $0455 ; CPU:$E90C PRG:690C 8D 55 04 + lda $0454 ; CPU:$E90F PRG:690F AD 54 04 + asl a ; CPU:$E912 PRG:6912 0A + adc $0454 ; CPU:$E913 PRG:6913 6D 54 04 + sta $0454 ; CPU:$E916 PRG:6916 8D 54 04 + sec ; CPU:$E919 PRG:6919 38 + rol $045E ; CPU:$E91A PRG:691A 2E 5E 04 + sec ; CPU:$E91D PRG:691D 38 + rol $045E ; CPU:$E91E PRG:691E 2E 5E 04 + rts ; CPU:$E921 PRG:6921 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E922 +; Global: Branch target inside Sub: taken when E922. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E922: + lda $E9AA,x ; CPU:$E922 PRG:6922 BD AA E9 + inx ; CPU:$E925 PRG:6925 E8 + pha ; CPU:$E926 PRG:6926 48 + and #$0F ; CPU:$E927 PRG:6927 29 0F + iny ; CPU:$E929 PRG:6929 C8 + sta $0450,y ; CPU:$E92A PRG:692A 99 50 04 + dey ; CPU:$E92D PRG:692D 88 + pla ; CPU:$E92E PRG:692E 68 + lsr a ; CPU:$E92F PRG:692F 4A + lsr a ; CPU:$E930 PRG:6930 4A + lsr a ; CPU:$E931 PRG:6931 4A + lsr a ; CPU:$E932 PRG:6932 4A + sta $0450,y ; CPU:$E933 PRG:6933 99 50 04 + iny ; CPU:$E936 PRG:6936 C8 + iny ; CPU:$E937 PRG:6937 C8 + rts ; CPU:$E938 PRG:6938 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E939 +; Global: Branch target inside Sub: taken when E939. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E939: + inc $0473 ; CPU:$E939 PRG:6939 EE 73 04 + ldx $0473 ; CPU:$E93C PRG:693C AE 73 04 + cpx #$3C ; CPU:$E93F PRG:693F E0 3C + bcc NmiHandler_Loop347 ; CPU:$E941 PRG:6941 90 0D + inc $0474 ; CPU:$E943 PRG:6943 EE 74 04 + bne NmiHandler_Loop346 ; CPU:$E946 PRG:6946 D0 03 + dec $0474 ; CPU:$E948 PRG:6948 CE 74 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop346 +; Global: Branch target inside NmiHandler: taken when Loop346. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop346: + ldx #$00 ; CPU:$E94B PRG:694B A2 00 + stx $0473 ; CPU:$E94D PRG:694D 8E 73 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop347 +; Global: Branch target inside NmiHandler: taken when Loop347. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop347: + ldx $0454 ; CPU:$E950 PRG:6950 AE 54 04 + ldy $0455 ; CPU:$E953 PRG:6953 AC 55 04 + lda $0474 ; CPU:$E956 PRG:6956 AD 74 04 + cmp #$30 ; CPU:$E959 PRG:6959 C9 30 + bcc NmiHandler_Loop348 ; CPU:$E95B PRG:695B 90 08 + inx ; CPU:$E95D PRG:695D E8 + iny ; CPU:$E95E PRG:695E C8 + cmp #$60 ; CPU:$E95F PRG:695F C9 60 + bcc NmiHandler_Loop348 ; CPU:$E961 PRG:6961 90 02 + inx ; CPU:$E963 PRG:6963 E8 + iny ; CPU:$E964 PRG:6964 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop348 +; Global: Branch target inside NmiHandler: taken when Loop348. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop348: + lda $EA4A,x ; CPU:$E965 PRG:6965 BD 4A EA + sta $0466 ; CPU:$E968 PRG:6968 8D 66 04 + lda $EA68,x ; CPU:$E96B PRG:696B BD 68 EA + sta $0465 ; CPU:$E96E PRG:696E 8D 65 04 + lda $0474 ; CPU:$E971 PRG:6971 AD 74 04 + ldx $0475 ; CPU:$E974 PRG:6974 AE 75 04 + cmp #$30 ; CPU:$E977 PRG:6977 C9 30 + bcc NmiHandler_Loop349 ; CPU:$E979 PRG:6979 90 01 + inx ; CPU:$E97B PRG:697B E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop349: + lda $EA86,x ; CPU:$E97C PRG:697C BD 86 EA + sta $0476 ; CPU:$E97F PRG:697F 8D 76 04 + ldx $0457 ; CPU:$E982 PRG:6982 AE 57 04 + ldy $0456 ; CPU:$E985 PRG:6985 AC 56 04 + lda $0494 ; CPU:$E988 PRG:6988 AD 94 04 + cmp #$1E ; CPU:$E98B PRG:698B C9 1E + bcs NmiHandler_Loop350 ; CPU:$E98D PRG:698D B0 0E + inx ; CPU:$E98F PRG:698F E8 + iny ; CPU:$E990 PRG:6990 C8 + cmp #$14 ; CPU:$E991 PRG:6991 C9 14 + bcs NmiHandler_Loop350 ; CPU:$E993 PRG:6993 B0 08 + inx ; CPU:$E995 PRG:6995 E8 + iny ; CPU:$E996 PRG:6996 C8 + cmp #$0A ; CPU:$E997 PRG:6997 C9 0A + bcs NmiHandler_Loop350 ; CPU:$E999 PRG:6999 B0 02 + inx ; CPU:$E99B PRG:699B E8 + iny ; CPU:$E99C PRG:699C C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop350: + lda $EAAE,x ; CPU:$E99D PRG:699D BD AE EA + sta $0470 ; CPU:$E9A0 PRG:69A0 8D 70 04 + lda $EACE,y ; CPU:$E9A3 PRG:69A3 B9 CE EA + sta $0467 ; CPU:$E9A6 PRG:69A6 8D 67 04 + rts ; CPU:$E9A9 PRG:69A9 60 +; ---- data $E9AA-$EAD9 (304 bytes) ---- +; referenced by `lda $E9AA,x` at $E922 (operand $E9AA falls inside this region) +; referenced by `lda $EA4A,x` at $E965 (operand $EA4A falls inside this region) +; referenced by `lda $EA68,x` at $E96B (operand $EA68 falls inside this region) +; referenced by `lda $EA86,x` at $E97C (operand $EA86 falls inside this region) +; referenced by `lda $EAAE,x` at $E99D (operand $EAAE falls inside this region) +; referenced by `lda $EACE,y` at $E9A3 (operand $EACE falls inside this region) +SpriteAttributeTable: + .byte $00, $00, $00, $00, $06, $00, $44, $F0, $10, $01, $11, $00, $07, $00, $44, $F0 ; CPU:$E9AA PRG:29AA 00 00 00 00 06 00 44 F0 10 01 11 00 07 00 44 F0 + .byte $20, $11, $21, $11, $07, $14, $53, $70, $10, $11, $32, $11, $08, $14, $53, $70 ; CPU:$E9BA PRG:69BA 20 11 21 11 07 14 53 70 10 11 32 11 08 14 53 70 + .byte $00, $11, $42, $12, $08, $14, $54, $70, $21, $12, $52, $22, $19, $21, $63, $70 ; CPU:$E9CA PRG:69CA 00 11 42 12 08 14 54 70 21 12 52 22 19 21 63 70 + .byte $11, $22, $63, $22, $19, $21, $62, $70, $00, $00, $11, $01, $17, $21, $63, $F0 ; CPU:$E9DA PRG:69DA 11 22 63 22 19 21 62 70 00 00 11 01 17 21 63 F0 + .byte $21, $23, $64, $23, $17, $30, $72, $30, $11, $33, $76, $23, $18, $30, $72, $30 ; CPU:$E9EA PRG:69EA 21 23 64 23 17 30 72 30 11 33 76 23 18 30 72 30 + .byte $01, $33, $76, $23, $18, $30, $72, $30, $21, $34, $87, $24, $29, $14, $82, $30 ; CPU:$E9FA PRG:69FA 01 33 76 23 18 30 72 30 21 34 87 24 29 14 82 30 + .byte $11, $44, $87, $24, $29, $14, $82, $30, $01, $02, $22, $11, $27, $14, $83, $70 ; CPU:$EA0A PRG:6A0A 11 44 87 24 29 14 82 30 01 02 22 11 27 14 83 70 + .byte $21, $34, $88, $25, $2A, $21, $81, $30, $11, $44, $88, $25, $2A, $21, $81, $30 ; CPU:$EA1A PRG:6A1A 21 34 88 25 2A 21 81 30 11 44 88 25 2A 21 81 30 + .byte $01, $44, $88, $25, $2C, $21, $81, $30, $21, $34, $98, $26, $2C, $30, $80, $10 ; CPU:$EA2A PRG:6A2A 01 44 88 25 2C 21 81 30 21 34 98 26 2C 30 80 10 + .byte $11, $44, $99, $26, $2C, $30, $80, $10, $01, $44, $99, $26, $2C, $30, $80, $10 ; CPU:$EA3A PRG:6A3A 11 44 99 26 2C 30 80 10 01 44 99 26 2C 30 80 10 + .byte $60, $50, $40, $50, $40, $30, $50, $30, $30, $40, $30, $20, $40, $20, $20, $30 ; CPU:$EA4A PRG:6A4A 60 50 40 50 40 30 50 30 30 40 30 20 40 20 20 30 + .byte $30, $20, $30, $20, $10, $20, $20, $10, $20, $10, $10, $10, $10, $10, $90, $70 ; CPU:$EA5A PRG:6A5A 30 20 30 20 10 20 20 10 20 10 10 10 10 10 90 70 + .byte $50, $80, $60, $40, $70, $50, $40, $60, $40, $30, $50, $30, $30, $40, $30, $30 ; CPU:$EA6A PRG:6A6A 50 80 60 40 70 50 40 60 40 30 50 30 30 40 30 30 + .byte $40, $20, $20, $30, $30, $20, $30, $20, $20, $20, $20, $20, $02, $02, $02, $03 ; CPU:$EA7A PRG:6A7A 40 20 20 30 30 20 30 20 20 20 20 20 02 02 02 03 + .byte $02, $03, $02, $03, $03, $03, $03, $03, $03, $04, $02, $03, $03, $04, $04, $04 ; CPU:$EA8A PRG:6A8A 02 03 02 03 03 03 03 03 03 04 02 03 03 04 04 04 + .byte $04, $05, $04, $05, $04, $05, $02, $03, $04, $06, $05, $06, $05, $06, $05, $07 ; CPU:$EA9A PRG:6A9A 04 05 04 05 04 05 02 03 04 06 05 06 05 06 05 07 + .byte $05, $07, $05, $07, $01, $01, $02, $02, $01, $02, $02, $02, $01, $02, $02, $03 ; CPU:$EAAA PRG:6AAA 05 07 05 07 01 01 02 02 01 02 02 02 01 02 02 03 + .byte $02, $02, $02, $03, $02, $02, $03, $03, $02, $02, $03, $04, $02, $03, $03, $04 ; CPU:$EABA PRG:6ABA 02 02 02 03 02 02 03 03 02 02 03 04 02 03 03 04 + .byte $03, $03, $03, $04, $07, $07, $06, $04, $06, $06, $05, $04, $05, $05, $04, $03 ; CPU:$EACA PRG:6ACA 03 03 03 04 07 07 06 04 06 06 05 04 05 05 04 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_EADA ; Global: Branch target inside Sub: taken when EADA. @@ -3581,42 +12598,51 @@ Sub_EADA: sta APUSTATUS ; CPU:$EADC PRG:6ADC 8D 15 40 lda #$C0 ; CPU:$EADF PRG:6ADF A9 C0 sta JOY2 ; CPU:$EAE1 PRG:6AE1 8D 17 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_EAE4 +; Global: Branch target inside Sub: taken when EAE4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EAE4: lda #$B0 ; CPU:$EAE4 PRG:6AE4 A9 B0 - sta Zp00 ; CPU:$EAE6 PRG:6AE6 85 00 + sta StarFieldPtrLo ; CPU:$EAE6 PRG:6AE6 85 00 lda #$05 ; CPU:$EAE8 PRG:6AE8 A9 05 - sta Zp01 ; CPU:$EAEA PRG:6AEA 85 01 + sta StarFieldPtrHi ; CPU:$EAEA PRG:6AEA 85 01 ldx #$00 ; CPU:$EAEC PRG:6AEC A2 00 ldy #$00 ; CPU:$EAEE PRG:6AEE A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: +NmiHandler_OnNonzero60: lda #$00 ; CPU:$EAF0 PRG:6AF0 A9 00 - sta (Zp00),y ; CPU:$EAF2 PRG:6AF2 91 00 + sta (StarFieldPtrLo),y ; CPU:$EAF2 PRG:6AF2 91 00 sta $0580,x ; CPU:$EAF4 PRG:6AF4 9D 80 05 clc ; CPU:$EAF7 PRG:6AF7 18 - lda Zp00 ; CPU:$EAF8 PRG:6AF8 A5 00 + lda StarFieldPtrLo ; CPU:$EAF8 PRG:6AF8 A5 00 adc #$08 ; CPU:$EAFA PRG:6AFA 69 08 - sta Zp00 ; CPU:$EAFC PRG:6AFC 85 00 - bcc NmiHandler_Loop47 ; CPU:$EAFE PRG:6AFE 90 02 - inc Zp01 ; CPU:$EB00 PRG:6B00 E6 01 + sta StarFieldPtrLo ; CPU:$EAFC PRG:6AFC 85 00 + bcc NmiHandler_Loop351 ; CPU:$EAFE PRG:6AFE 90 02 + inc StarFieldPtrHi ; CPU:$EB00 PRG:6B00 E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop351: inx ; CPU:$EB02 PRG:6B02 E8 cpx #$27 ; CPU:$EB03 PRG:6B03 E0 27 - bne NmiHandler_OnNonzero12 ; CPU:$EB05 PRG:6B05 D0 E9 + bne NmiHandler_OnNonzero60 ; CPU:$EB05 PRG:6B05 D0 E9 rts ; CPU:$EB07 PRG:6B07 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EB08 @@ -3629,72 +12655,72 @@ NmiHandler_Loop47: Sub_EB08: ldx #$27 ; CPU:$EB08 PRG:6B08 A2 27 lda Zp62 ; CPU:$EB0A PRG:6B0A A5 62 - beq NmiHandler_Loop48 ; CPU:$EB0C PRG:6B0C F0 04 + beq NmiHandler_Loop352 ; CPU:$EB0C PRG:6B0C F0 04 lda Zp5B ; CPU:$EB0E PRG:6B0E A5 5B - beq NmiHandler_Loop49 ; CPU:$EB10 PRG:6B10 F0 02 + beq NmiHandler_Loop353 ; CPU:$EB10 PRG:6B10 F0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop352: ldx #$01 ; CPU:$EB12 PRG:6B12 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: - stx Zp08 ; CPU:$EB14 PRG:6B14 86 08 +NmiHandler_Loop353: + stx TilePtrLo ; CPU:$EB14 PRG:6B14 86 08 lda #$00 ; CPU:$EB16 PRG:6B16 A9 00 sta ZpB0 ; CPU:$EB18 PRG:6B18 85 B0 sta ZpB1 ; CPU:$EB1A PRG:6B1A 85 B1 sta ZpB2 ; CPU:$EB1C PRG:6B1C 85 B2 sta ZpB3 ; CPU:$EB1E PRG:6B1E 85 B3 - stx Zp04 ; CPU:$EB20 PRG:6B20 86 04 + stx PpuAddrLow ; CPU:$EB20 PRG:6B20 86 04 lda #$B0 ; CPU:$EB22 PRG:6B22 A9 B0 - sta Zp00 ; CPU:$EB24 PRG:6B24 85 00 + sta StarFieldPtrLo ; CPU:$EB24 PRG:6B24 85 00 lda #$05 ; CPU:$EB26 PRG:6B26 A9 05 - sta Zp01 ; CPU:$EB28 PRG:6B28 85 01 + sta StarFieldPtrHi ; CPU:$EB28 PRG:6B28 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: +NmiHandler_OnNonzero61: ldy #$00 ; CPU:$EB2A PRG:6B2A A0 00 - lda (Zp00),y ; CPU:$EB2C PRG:6B2C B1 00 - beq NmiHandler_Loop51 ; CPU:$EB2E PRG:6B2E F0 35 + lda (StarFieldPtrLo),y ; CPU:$EB2C PRG:6B2C B1 00 + beq NmiHandler_Loop355 ; CPU:$EB2E PRG:6B2E F0 35 cmp #$05 ; CPU:$EB30 PRG:6B30 C9 05 - bcc NmiHandler_Loop50 ; CPU:$EB32 PRG:6B32 90 0B + bcc NmiHandler_Loop354 ; CPU:$EB32 PRG:6B32 90 0B sec ; CPU:$EB34 PRG:6B34 38 sbc #$05 ; CPU:$EB35 PRG:6B35 E9 05 tax ; CPU:$EB37 PRG:6B37 AA lda #$01 ; CPU:$EB38 PRG:6B38 A9 01 sta ZpB0,x ; CPU:$EB3A PRG:6B3A 95 B0 - jmp NmiHandler_Loop51 ; CPU:$EB3C PRG:6B3C 4C 65 EB + jmp NmiHandler_Loop355 ; CPU:$EB3C PRG:6B3C 4C 65 EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop354: tax ; CPU:$EB3F PRG:6B3F AA dex ; CPU:$EB40 PRG:6B40 CA lda ZpB0,x ; CPU:$EB41 PRG:6B41 B5 B0 - bne NmiHandler_Loop51 ; CPU:$EB43 PRG:6B43 D0 20 + bne NmiHandler_Loop355 ; CPU:$EB43 PRG:6B43 D0 20 lda #$01 ; CPU:$EB45 PRG:6B45 A9 01 sta ZpB0,x ; CPU:$EB47 PRG:6B47 95 B0 txa ; CPU:$EB49 PRG:6B49 8A @@ -3702,67 +12728,67 @@ NmiHandler_Loop50: clc ; CPU:$EB4B PRG:6B4B 18 adc #$05 ; CPU:$EB4C PRG:6B4C 69 05 ldy #$00 ; CPU:$EB4E PRG:6B4E A0 00 - sta (Zp00),y ; CPU:$EB50 PRG:6B50 91 00 + sta (StarFieldPtrLo),y ; CPU:$EB50 PRG:6B50 91 00 txa ; CPU:$EB52 PRG:6B52 8A asl a ; CPU:$EB53 PRG:6B53 0A asl a ; CPU:$EB54 PRG:6B54 0A tax ; CPU:$EB55 PRG:6B55 AA lda #$04 ; CPU:$EB56 PRG:6B56 A9 04 - sta Zp06 ; CPU:$EB58 PRG:6B58 85 06 + sta StarFieldCount ; CPU:$EB58 PRG:6B58 85 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero14: +NmiHandler_OnNonzero62: iny ; CPU:$EB5A PRG:6B5A C8 - lda (Zp00),y ; CPU:$EB5B PRG:6B5B B1 00 + lda (StarFieldPtrLo),y ; CPU:$EB5B PRG:6B5B B1 00 sta APUPULSE1CTRL,x ; CPU:$EB5D PRG:6B5D 9D 00 40 inx ; CPU:$EB60 PRG:6B60 E8 - dec Zp06 ; CPU:$EB61 PRG:6B61 C6 06 - bne NmiHandler_OnNonzero14 ; CPU:$EB63 PRG:6B63 D0 F5 + dec StarFieldCount ; CPU:$EB61 PRG:6B61 C6 06 + bne NmiHandler_OnNonzero62 ; CPU:$EB63 PRG:6B63 D0 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop355 +; Global: Branch target inside NmiHandler: taken when Loop355. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop355: clc ; CPU:$EB65 PRG:6B65 18 - lda Zp00 ; CPU:$EB66 PRG:6B66 A5 00 + lda StarFieldPtrLo ; CPU:$EB66 PRG:6B66 A5 00 adc #$08 ; CPU:$EB68 PRG:6B68 69 08 - sta Zp00 ; CPU:$EB6A PRG:6B6A 85 00 - bcc NmiHandler_Loop52 ; CPU:$EB6C PRG:6B6C 90 02 - inc Zp01 ; CPU:$EB6E PRG:6B6E E6 01 + sta StarFieldPtrLo ; CPU:$EB6A PRG:6B6A 85 00 + bcc NmiHandler_Loop356 ; CPU:$EB6C PRG:6B6C 90 02 + inc StarFieldPtrHi ; CPU:$EB6E PRG:6B6E E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. +; Routine: NmiHandler_Loop356 +; Global: Branch target inside NmiHandler: taken when Loop356. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: - dec Zp04 ; CPU:$EB70 PRG:6B70 C6 04 - bne NmiHandler_OnNonzero13 ; CPU:$EB72 PRG:6B72 D0 B6 +NmiHandler_Loop356: + dec PpuAddrLow ; CPU:$EB70 PRG:6B70 C6 04 + bne NmiHandler_OnNonzero61 ; CPU:$EB72 PRG:6B72 D0 B6 ldx #$00 ; CPU:$EB74 PRG:6B74 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear3 -; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Routine: NmiHandler_OnCarryClear22 +; Global: Branch target inside NmiHandler: taken when OnCarryClear22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear3: +NmiHandler_OnCarryClear22: stx Zp1E ; CPU:$EB76 PRG:6B76 86 1E lda ZpB0,x ; CPU:$EB78 PRG:6B78 B5 B0 - bne NmiHandler_Loop53 ; CPU:$EB7A PRG:6B7A D0 0C + bne NmiHandler_Loop357 ; CPU:$EB7A PRG:6B7A D0 0C txa ; CPU:$EB7C PRG:6B7C 8A asl a ; CPU:$EB7D PRG:6B7D 0A asl a ; CPU:$EB7E PRG:6B7E 0A @@ -3772,248 +12798,480 @@ NmiHandler_OnCarryClear3: eor #$10 ; CPU:$EB83 PRG:6B83 49 10 sta APUPULSE1CTRL,x ; CPU:$EB85 PRG:6B85 9D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop357 +; Global: Branch target inside NmiHandler: taken when Loop357. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop357: ldx Zp1E ; CPU:$EB88 PRG:6B88 A6 1E inx ; CPU:$EB8A PRG:6B8A E8 cpx #$04 ; CPU:$EB8B PRG:6B8B E0 04 - bcc NmiHandler_OnCarryClear3 ; CPU:$EB8D PRG:6B8D 90 E7 + bcc NmiHandler_OnCarryClear22 ; CPU:$EB8D PRG:6B8D 90 E7 ldy #$00 ; CPU:$EB8F PRG:6B8F A0 00 - sty Zp04 ; CPU:$EB91 PRG:6B91 84 04 + sty PpuAddrLow ; CPU:$EB91 PRG:6B91 84 04 lda #$B0 ; CPU:$EB93 PRG:6B93 A9 B0 - sta Zp00 ; CPU:$EB95 PRG:6B95 85 00 + sta StarFieldPtrLo ; CPU:$EB95 PRG:6B95 85 00 lda #$05 ; CPU:$EB97 PRG:6B97 A9 05 - sta Zp01 ; CPU:$EB99 PRG:6B99 85 01 + sta StarFieldPtrHi ; CPU:$EB99 PRG:6B99 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear4 -; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Routine: NmiHandler_OnCarryClear23 +; Global: Branch target inside NmiHandler: taken when OnCarryClear23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear4: - ldx Zp04 ; CPU:$EB9B PRG:6B9B A6 04 +NmiHandler_OnCarryClear23: + ldx PpuAddrLow ; CPU:$EB9B PRG:6B9B A6 04 ldy $0580,x ; CPU:$EB9D PRG:6B9D BC 80 05 - beq NmiHandler_Loop55 ; CPU:$EBA0 PRG:6BA0 F0 15 + beq NmiHandler_Loop359 ; CPU:$EBA0 PRG:6BA0 F0 15 dey ; CPU:$EBA2 PRG:6BA2 88 - bne NmiHandler_Loop54 ; CPU:$EBA3 PRG:6BA3 D0 07 + bne NmiHandler_Loop358 ; CPU:$EBA3 PRG:6BA3 D0 07 lda #$02 ; CPU:$EBA5 PRG:6BA5 A9 02 sta $0580,x ; CPU:$EBA7 PRG:6BA7 9D 80 05 - bpl NmiHandler_Loop57 ; CPU:$EBAA PRG:6BAA 10 1F + bpl NmiHandler_Loop361 ; CPU:$EBAA PRG:6BAA 10 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. +; Routine: NmiHandler_Loop358 +; Global: Branch target inside NmiHandler: taken when Loop358. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop358: ldy #$07 ; CPU:$EBAC PRG:6BAC A0 07 - lda (Zp00),y ; CPU:$EBAE PRG:6BAE B1 00 + lda (StarFieldPtrLo),y ; CPU:$EBAE PRG:6BAE B1 00 sec ; CPU:$EBB0 PRG:6BB0 38 sbc #$01 ; CPU:$EBB1 PRG:6BB1 E9 01 - sta (Zp00),y ; CPU:$EBB3 PRG:6BB3 91 00 - beq NmiHandler_Loop58 ; CPU:$EBB5 PRG:6BB5 F0 4A + sta (StarFieldPtrLo),y ; CPU:$EBB3 PRG:6BB3 91 00 + beq NmiHandler_Loop362 ; CPU:$EBB5 PRG:6BB5 F0 4A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. +; Routine: NmiHandler_Loop359 +; Global: Branch target inside NmiHandler: taken when Loop359. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop359: clc ; CPU:$EBB7 PRG:6BB7 18 - lda Zp00 ; CPU:$EBB8 PRG:6BB8 A5 00 + lda StarFieldPtrLo ; CPU:$EBB8 PRG:6BB8 A5 00 adc #$08 ; CPU:$EBBA PRG:6BBA 69 08 - sta Zp00 ; CPU:$EBBC PRG:6BBC 85 00 - bcc NmiHandler_Loop56 ; CPU:$EBBE PRG:6BBE 90 02 - inc Zp01 ; CPU:$EBC0 PRG:6BC0 E6 01 + sta StarFieldPtrLo ; CPU:$EBBC PRG:6BBC 85 00 + bcc NmiHandler_Loop360 ; CPU:$EBBE PRG:6BBE 90 02 + inc StarFieldPtrHi ; CPU:$EBC0 PRG:6BC0 E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. +; Routine: NmiHandler_Loop360 +; Global: Branch target inside NmiHandler: taken when Loop360. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: - inc Zp04 ; CPU:$EBC2 PRG:6BC2 E6 04 - lda Zp04 ; CPU:$EBC4 PRG:6BC4 A5 04 - cmp Zp08 ; CPU:$EBC6 PRG:6BC6 C5 08 - bcc NmiHandler_OnCarryClear4 ; CPU:$EBC8 PRG:6BC8 90 D1 +NmiHandler_Loop360: + inc PpuAddrLow ; CPU:$EBC2 PRG:6BC2 E6 04 + lda PpuAddrLow ; CPU:$EBC4 PRG:6BC4 A5 04 + cmp TilePtrLo ; CPU:$EBC6 PRG:6BC6 C5 08 + bcc NmiHandler_OnCarryClear23 ; CPU:$EBC8 PRG:6BC8 90 D1 rts ; CPU:$EBCA PRG:6BCA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. +; Routine: NmiHandler_Loop361 +; Global: Branch target inside NmiHandler: taken when Loop361. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop361: lda #$00 ; CPU:$EBCB PRG:6BCB A9 00 ldy #$05 ; CPU:$EBCD PRG:6BCD A0 05 - sta (Zp00),y ; CPU:$EBCF PRG:6BCF 91 00 + sta (StarFieldPtrLo),y ; CPU:$EBCF PRG:6BCF 91 00 jsr Sub_ED51 ; CPU:$EBD1 PRG:6BD1 20 51 ED jsr Sub_ED60 ; CPU:$EBD4 PRG:6BD4 20 60 ED ldy #$00 ; CPU:$EBD7 PRG:6BD7 A0 00 - sta (Zp00),y ; CPU:$EBD9 PRG:6BD9 91 00 + sta (StarFieldPtrLo),y ; CPU:$EBD9 PRG:6BD9 91 00 jsr Sub_ED60 ; CPU:$EBDB PRG:6BDB 20 60 ED ldy #$01 ; CPU:$EBDE PRG:6BDE A0 01 - sta (Zp00),y ; CPU:$EBE0 PRG:6BE0 91 00 + sta (StarFieldPtrLo),y ; CPU:$EBE0 PRG:6BE0 91 00 jsr Sub_ED60 ; CPU:$EBE2 PRG:6BE2 20 60 ED ldy #$02 ; CPU:$EBE5 PRG:6BE5 A0 02 - sta (Zp00),y ; CPU:$EBE7 PRG:6BE7 91 00 + sta (StarFieldPtrLo),y ; CPU:$EBE7 PRG:6BE7 91 00 jsr Sub_ED60 ; CPU:$EBE9 PRG:6BE9 20 60 ED ldy #$04 ; CPU:$EBEC PRG:6BEC A0 04 - sta (Zp00),y ; CPU:$EBEE PRG:6BEE 91 00 + sta (StarFieldPtrLo),y ; CPU:$EBEE PRG:6BEE 91 00 ldy #$00 ; CPU:$EBF0 PRG:6BF0 A0 00 - lda (Zp00),y ; CPU:$EBF2 PRG:6BF2 B1 00 + lda (StarFieldPtrLo),y ; CPU:$EBF2 PRG:6BF2 B1 00 cmp #$04 ; CPU:$EBF4 PRG:6BF4 C9 04 - bne NmiHandler_Loop59 ; CPU:$EBF6 PRG:6BF6 D0 0C + bne NmiHandler_Loop363 ; CPU:$EBF6 PRG:6BF6 D0 0C jsr Sub_ED60 ; CPU:$EBF8 PRG:6BF8 20 60 ED ldy #$03 ; CPU:$EBFB PRG:6BFB A0 03 - sta (Zp00),y ; CPU:$EBFD PRG:6BFD 91 00 - bpl NmiHandler_Loop59 ; CPU:$EBFF PRG:6BFF 10 03 + sta (StarFieldPtrLo),y ; CPU:$EBFD PRG:6BFD 91 00 + bpl NmiHandler_Loop363 ; CPU:$EBFF PRG:6BFF 10 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. +; Routine: NmiHandler_Loop362 +; Global: Branch target inside NmiHandler: taken when Loop362. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: +NmiHandler_Loop362: jsr Sub_ED51 ; CPU:$EC01 PRG:6C01 20 51 ED ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. +; Routine: NmiHandler_Loop363 +; Global: Branch target inside NmiHandler: taken when Loop363. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop363: jsr Sub_ED60 ; CPU:$EC04 PRG:6C04 20 60 ED cmp #$E8 ; CPU:$EC07 PRG:6C07 C9 E8 - bcs NmiHandler_Loop63 ; CPU:$EC09 PRG:6C09 B0 51 + bcs NmiHandler_Loop367 ; CPU:$EC09 PRG:6C09 B0 51 cmp #$60 ; CPU:$EC0B PRG:6C0B C9 60 - beq NmiHandler_Loop61 ; CPU:$EC0D PRG:6C0D F0 3B - bcs NmiHandler_Loop62 ; CPU:$EC0F PRG:6C0F B0 43 + beq NmiHandler_Loop365 ; CPU:$EC0D PRG:6C0D F0 3B + bcs NmiHandler_Loop366 ; CPU:$EC0F PRG:6C0F B0 43 pha ; CPU:$EC11 PRG:6C11 48 and #$F8 ; CPU:$EC12 PRG:6C12 29 F8 lsr a ; CPU:$EC14 PRG:6C14 4A lsr a ; CPU:$EC15 PRG:6C15 4A tax ; CPU:$EC16 PRG:6C16 AA lda $ED8E,x ; CPU:$EC17 PRG:6C17 BD 8E ED - sta Zp06 ; CPU:$EC1A PRG:6C1A 85 06 + sta StarFieldCount ; CPU:$EC1A PRG:6C1A 85 06 lda $ED8F,x ; CPU:$EC1C PRG:6C1C BD 8F ED sta Zp07 ; CPU:$EC1F PRG:6C1F 85 07 pla ; CPU:$EC21 PRG:6C21 68 and #$07 ; CPU:$EC22 PRG:6C22 29 07 - beq NmiHandler_Loop60 ; CPU:$EC24 PRG:6C24 F0 08 + beq NmiHandler_Loop364 ; CPU:$EC24 PRG:6C24 F0 08 tax ; CPU:$EC26 PRG:6C26 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero15: - lsr Zp06 ; CPU:$EC27 PRG:6C27 46 06 +NmiHandler_OnNonzero63: + lsr StarFieldCount ; CPU:$EC27 PRG:6C27 46 06 ror Zp07 ; CPU:$EC29 PRG:6C29 66 07 dex ; CPU:$EC2B PRG:6C2B CA - bne NmiHandler_OnNonzero15 ; CPU:$EC2C PRG:6C2C D0 F9 + bne NmiHandler_OnNonzero63 ; CPU:$EC2C PRG:6C2C D0 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop364 +; Global: Branch target inside NmiHandler: taken when Loop364. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop364: ldy #$04 ; CPU:$EC2E PRG:6C2E A0 04 - lda (Zp00),y ; CPU:$EC30 PRG:6C30 B1 00 + lda (StarFieldPtrLo),y ; CPU:$EC30 PRG:6C30 B1 00 and #$F8 ; CPU:$EC32 PRG:6C32 29 F8 - ora Zp06 ; CPU:$EC34 PRG:6C34 05 06 - sta (Zp00),y ; CPU:$EC36 PRG:6C36 91 00 + ora StarFieldCount ; CPU:$EC34 PRG:6C34 05 06 + sta (StarFieldPtrLo),y ; CPU:$EC36 PRG:6C36 91 00 lda Zp07 ; CPU:$EC38 PRG:6C38 A5 07 dey ; CPU:$EC3A PRG:6C3A 88 - sta (Zp00),y ; CPU:$EC3B PRG:6C3B 91 00 + sta (StarFieldPtrLo),y ; CPU:$EC3B PRG:6C3B 91 00 ldy #$00 ; CPU:$EC3D PRG:6C3D A0 00 - lda (Zp00),y ; CPU:$EC3F PRG:6C3F B1 00 + lda (StarFieldPtrLo),y ; CPU:$EC3F PRG:6C3F B1 00 cmp #$05 ; CPU:$EC41 PRG:6C41 C9 05 - bcc NmiHandler_Loop61 ; CPU:$EC43 PRG:6C43 90 05 + bcc NmiHandler_Loop365 ; CPU:$EC43 PRG:6C43 90 05 sec ; CPU:$EC45 PRG:6C45 38 sbc #$04 ; CPU:$EC46 PRG:6C46 E9 04 - sta (Zp00),y ; CPU:$EC48 PRG:6C48 91 00 + sta (StarFieldPtrLo),y ; CPU:$EC48 PRG:6C48 91 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop365 +; Global: Branch target inside NmiHandler: taken when Loop365. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop365: ldy #$06 ; CPU:$EC4A PRG:6C4A A0 06 - lda (Zp00),y ; CPU:$EC4C PRG:6C4C B1 00 + lda (StarFieldPtrLo),y ; CPU:$EC4C PRG:6C4C B1 00 iny ; CPU:$EC4E PRG:6C4E C8 - sta (Zp00),y ; CPU:$EC4F PRG:6C4F 91 00 - jmp NmiHandler_Loop55 ; CPU:$EC51 PRG:6C51 4C B7 EB + sta (StarFieldPtrLo),y ; CPU:$EC4F PRG:6C4F 91 00 + jmp NmiHandler_Loop359 ; CPU:$EC51 PRG:6C51 4C B7 EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop366 +; Global: Branch target inside NmiHandler: taken when Loop366. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: +NmiHandler_Loop366: sbc #$60 ; CPU:$EC54 PRG:6C54 E9 60 ldy #$06 ; CPU:$EC56 PRG:6C56 A0 06 - sta (Zp00),y ; CPU:$EC58 PRG:6C58 91 00 - bpl NmiHandler_Loop59 ; CPU:$EC5A PRG:6C5A 10 A8 + sta (StarFieldPtrLo),y ; CPU:$EC58 PRG:6C58 91 00 + bpl NmiHandler_Loop363 ; CPU:$EC5A PRG:6C5A 10 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop367 +; Global: Branch target inside NmiHandler: taken when Loop367. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop367: sbc #$E8 ; CPU:$EC5C PRG:6C5C E9 E8 jsr Sub_C301 ; CPU:$EC5E PRG:6C5E 20 01 C3 sta ZpEC ; CPU:$EC61 PRG:6C61 85 EC -; ---- data $EC63-$ED50 (238 bytes) ---- - .byte $93, $EC, $A5, $EC, $B7, $EC, $C9, $EC, $D3, $EC, $DD, $EC, $E7, $EC, $F3, $EC ; CPU:$EC63 PRG:6C63 93 EC A5 EC B7 EC C9 EC D3 EC DD EC E7 EC F3 EC - .byte $F7, $EC, $FA, $EC, $0B, $ED, $0F, $ED, $12, $ED, $23, $ED, $27, $ED, $2A, $ED ; CPU:$EC73 PRG:6C73 F7 EC FA EC 0B ED 0F ED 12 ED 23 ED 27 ED 2A ED - .byte $47, $ED, $A6, $04, $A9, $00, $9D, $80, $05, $A0, $00, $91, $00, $4C, $B7, $EB ; CPU:$EC83 PRG:6C83 47 ED A6 04 A9 00 9D 80 05 A0 00 91 00 4C B7 EB - .byte $20, $60, $ED, $85, $06, $A0, $01, $B1, $00, $29, $3F, $05, $06, $91, $00, $4C ; CPU:$EC93 PRG:6C93 20 60 ED 85 06 A0 01 B1 00 29 3F 05 06 91 00 4C - .byte $04, $EC, $20, $60, $ED, $85, $06, $A0, $01, $B1, $00, $29, $C0, $05, $06, $91 ; CPU:$ECA3 PRG:6CA3 04 EC 20 60 ED 85 06 A0 01 B1 00 29 C0 05 06 91 - .byte $00, $4C, $04, $EC, $20, $60, $ED, $85, $06, $A0, $01, $B1, $00, $29, $F0, $05 ; CPU:$ECB3 PRG:6CB3 00 4C 04 EC 20 60 ED 85 06 A0 01 B1 00 29 F0 05 - .byte $06, $91, $00, $4C, $04, $EC, $20, $60, $ED, $A0, $02, $91, $00, $4C, $04, $EC ; CPU:$ECC3 PRG:6CC3 06 91 00 4C 04 EC 20 60 ED A0 02 91 00 4C 04 EC - .byte $20, $60, $ED, $A0, $04, $91, $00, $4C, $04, $EC, $20, $60, $ED, $A0, $01, $91 ; CPU:$ECD3 PRG:6CD3 20 60 ED A0 04 91 00 4C 04 EC 20 60 ED A0 01 91 - .byte $00, $4C, $04, $EC, $A9, $00, $A2, $08, $95, $B4, $CA, $10, $FB, $4C, $04, $EC ; CPU:$ECE3 PRG:6CE3 00 4C 04 EC A9 00 A2 08 95 B4 CA 10 FB 4C 04 EC - .byte $A2, $00, $F0, $05, $A2, $01, $2C, $A2, $02, $20, $60, $ED, $F6, $B4, $D5, $B4 ; CPU:$ECF3 PRG:6CF3 A2 00 F0 05 A2 01 2C A2 02 20 60 ED F6 B4 D5 B4 - .byte $D0, $42, $A9, $00, $95, $B4, $F0, $30, $A2, $00, $F0, $05, $A2, $01, $2C, $A2 ; CPU:$ED03 PRG:6D03 D0 42 A9 00 95 B4 F0 30 A2 00 F0 05 A2 01 2C A2 - .byte $02, $20, $60, $ED, $F6, $B7, $D5, $B7, $D0, $1E, $A9, $00, $95, $B7, $F0, $24 ; CPU:$ED13 PRG:6D13 02 20 60 ED F6 B7 D5 B7 D0 1E A9 00 95 B7 F0 24 - .byte $A2, $00, $F0, $05, $A2, $01, $2C, $A2, $02, $20, $60, $ED, $F6, $BA, $D5, $BA ; CPU:$ED23 PRG:6D23 A2 00 F0 05 A2 01 2C A2 02 20 60 ED F6 BA D5 BA - .byte $D0, $06, $A9, $00, $95, $BA, $F0, $0C, $A0, $05, $B1, $00, $18, $69, $01, $91 ; CPU:$ED33 PRG:6D33 D0 06 A9 00 95 BA F0 0C A0 05 B1 00 18 69 01 91 - .byte $00, $4C, $04, $EC, $20, $60, $ED, $A0, $05, $91, $00, $4C, $04, $EC ; CPU:$ED43 PRG:6D43 00 4C 04 EC 20 60 ED A0 05 91 00 4C 04 EC + .byte $93, $EC ; CPU:$EC63 PRG:6C63 93 EC -- sha (ZpEC),y (undocumented; ca65 cannot encode) + lda ZpEC ; CPU:$EC65 PRG:6C65 A5 EC + .byte $B7, $EC ; CPU:$EC67 PRG:6C67 B7 EC -- lax ZpEC,y (undocumented; ca65 cannot encode) + cmp #$EC ; CPU:$EC69 PRG:6C69 C9 EC + .byte $D3, $EC ; CPU:$EC6B PRG:6C6B D3 EC -- dcp (ZpEC),y (undocumented; ca65 cannot encode) + cmp $E7EC,x ; CPU:$EC6D PRG:6C6D DD EC E7 + cpx $ECF3 ; CPU:$EC70 PRG:6C70 EC F3 EC + .byte $F7, $EC ; CPU:$EC73 PRG:6C73 F7 EC -- isc ZpEC,y (undocumented; ca65 cannot encode) + .byte $FA, $EC, $0B ; CPU:$EC75 PRG:6C75 FA EC 0B -- nop $0BEC,x (undocumented; ca65 cannot encode) + sbc $ED0F ; CPU:$EC78 PRG:6C78 ED 0F ED +; ---- data $EC7B-$EC84 (10 bytes) ---- +LevelStarPointerTable: + .byte $12, $ED, $23, $ED, $27, $ED, $2A, $ED, $47, $ED ; CPU:$EC7B PRG:2C7B 12 ED 23 ED 27 ED 2A ED 47 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EC85 +; Global: Branch target inside Label: taken when EC85. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC85: + ldx PpuAddrLow ; CPU:$EC85 PRG:6C85 A6 04 + lda #$00 ; CPU:$EC87 PRG:6C87 A9 00 + sta $0580,x ; CPU:$EC89 PRG:6C89 9D 80 05 + ldy #$00 ; CPU:$EC8C PRG:6C8C A0 00 + sta (StarFieldPtrLo),y ; CPU:$EC8E PRG:6C8E 91 00 + jmp NmiHandler_Loop359 ; CPU:$EC90 PRG:6C90 4C B7 EB +; ----------------------------------------------------------------------------- +; Routine: Label_EC93 +; Global: Branch target inside Label: taken when EC93. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC93: + jsr Sub_ED60 ; CPU:$EC93 PRG:6C93 20 60 ED + sta StarFieldCount ; CPU:$EC96 PRG:6C96 85 06 + ldy #$01 ; CPU:$EC98 PRG:6C98 A0 01 + lda (StarFieldPtrLo),y ; CPU:$EC9A PRG:6C9A B1 00 + and #$3F ; CPU:$EC9C PRG:6C9C 29 3F + ora StarFieldCount ; CPU:$EC9E PRG:6C9E 05 06 + sta (StarFieldPtrLo),y ; CPU:$ECA0 PRG:6CA0 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECA2 PRG:6CA2 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECA5 +; Global: Branch target inside Label: taken when ECA5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECA5: + jsr Sub_ED60 ; CPU:$ECA5 PRG:6CA5 20 60 ED + sta StarFieldCount ; CPU:$ECA8 PRG:6CA8 85 06 + ldy #$01 ; CPU:$ECAA PRG:6CAA A0 01 + lda (StarFieldPtrLo),y ; CPU:$ECAC PRG:6CAC B1 00 + and #$C0 ; CPU:$ECAE PRG:6CAE 29 C0 + ora StarFieldCount ; CPU:$ECB0 PRG:6CB0 05 06 + sta (StarFieldPtrLo),y ; CPU:$ECB2 PRG:6CB2 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECB4 PRG:6CB4 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECB7 +; Global: Branch target inside Label: taken when ECB7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECB7: + jsr Sub_ED60 ; CPU:$ECB7 PRG:6CB7 20 60 ED + sta StarFieldCount ; CPU:$ECBA PRG:6CBA 85 06 + ldy #$01 ; CPU:$ECBC PRG:6CBC A0 01 + lda (StarFieldPtrLo),y ; CPU:$ECBE PRG:6CBE B1 00 + and #$F0 ; CPU:$ECC0 PRG:6CC0 29 F0 + ora StarFieldCount ; CPU:$ECC2 PRG:6CC2 05 06 + sta (StarFieldPtrLo),y ; CPU:$ECC4 PRG:6CC4 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECC6 PRG:6CC6 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECC9 +; Global: Branch target inside Label: taken when ECC9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECC9: + jsr Sub_ED60 ; CPU:$ECC9 PRG:6CC9 20 60 ED + ldy #$02 ; CPU:$ECCC PRG:6CCC A0 02 + sta (StarFieldPtrLo),y ; CPU:$ECCE PRG:6CCE 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECD0 PRG:6CD0 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECD3 +; Global: Branch target inside Label: taken when ECD3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECD3: + jsr Sub_ED60 ; CPU:$ECD3 PRG:6CD3 20 60 ED + ldy #$04 ; CPU:$ECD6 PRG:6CD6 A0 04 + sta (StarFieldPtrLo),y ; CPU:$ECD8 PRG:6CD8 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECDA PRG:6CDA 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECDD +; Global: Branch target inside Label: taken when ECDD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECDD: + jsr Sub_ED60 ; CPU:$ECDD PRG:6CDD 20 60 ED + ldy #$01 ; CPU:$ECE0 PRG:6CE0 A0 01 + sta (StarFieldPtrLo),y ; CPU:$ECE2 PRG:6CE2 91 00 + jmp NmiHandler_Loop363 ; CPU:$ECE4 PRG:6CE4 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECE7 +; Global: Branch target inside Label: taken when ECE7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECE7: + lda #$00 ; CPU:$ECE7 PRG:6CE7 A9 00 + ldx #$08 ; CPU:$ECE9 PRG:6CE9 A2 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative29 +; Global: Branch target inside NmiHandler: taken when OnNonnegative29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative29: + sta ZpB4,x ; CPU:$ECEB PRG:6CEB 95 B4 + dex ; CPU:$ECED PRG:6CED CA + bpl NmiHandler_OnNonnegative29 ; CPU:$ECEE PRG:6CEE 10 FB + jmp NmiHandler_Loop363 ; CPU:$ECF0 PRG:6CF0 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECF3 +; Global: Branch target inside Label: taken when ECF3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECF3: + ldx #$00 ; CPU:$ECF3 PRG:6CF3 A2 00 + beq NmiHandler_Loop368 ; CPU:$ECF5 PRG:6CF5 F0 05 + ldx #$01 ; CPU:$ECF7 PRG:6CF7 A2 01 + bit $02A2 ; CPU:$ECF9 PRG:6CF9 2C A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop368 +; Global: Branch target inside NmiHandler: taken when Loop368. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop368: + jsr Sub_ED60 ; CPU:$ECFC PRG:6CFC 20 60 ED + inc ZpB4,x ; CPU:$ECFF PRG:6CFF F6 B4 + cmp ZpB4,x ; CPU:$ED01 PRG:6D01 D5 B4 + bne NmiHandler_Loop372 ; CPU:$ED03 PRG:6D03 D0 42 + lda #$00 ; CPU:$ED05 PRG:6D05 A9 00 + sta ZpB4,x ; CPU:$ED07 PRG:6D07 95 B4 + beq NmiHandler_Loop371 ; CPU:$ED09 PRG:6D09 F0 30 +; ----------------------------------------------------------------------------- +; Routine: Label_ED0B +; Global: Branch target inside Label: taken when ED0B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED0B: + ldx #$00 ; CPU:$ED0B PRG:6D0B A2 00 + beq NmiHandler_Loop369 ; CPU:$ED0D PRG:6D0D F0 05 + ldx #$01 ; CPU:$ED0F PRG:6D0F A2 01 + bit $02A2 ; CPU:$ED11 PRG:6D11 2C A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop369 +; Global: Branch target inside NmiHandler: taken when Loop369. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop369: + jsr Sub_ED60 ; CPU:$ED14 PRG:6D14 20 60 ED + inc ZpB7,x ; CPU:$ED17 PRG:6D17 F6 B7 + cmp ZpB7,x ; CPU:$ED19 PRG:6D19 D5 B7 + bne NmiHandler_Loop371 ; CPU:$ED1B PRG:6D1B D0 1E + lda #$00 ; CPU:$ED1D PRG:6D1D A9 00 + sta ZpB7,x ; CPU:$ED1F PRG:6D1F 95 B7 + beq NmiHandler_Loop372 ; CPU:$ED21 PRG:6D21 F0 24 + ldx #$00 ; CPU:$ED23 PRG:6D23 A2 00 + beq NmiHandler_Loop370 ; CPU:$ED25 PRG:6D25 F0 05 + ldx #$01 ; CPU:$ED27 PRG:6D27 A2 01 + bit $02A2 ; CPU:$ED29 PRG:6D29 2C A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop370 +; Global: Branch target inside NmiHandler: taken when Loop370. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop370: + jsr Sub_ED60 ; CPU:$ED2C PRG:6D2C 20 60 ED + inc ZpBA,x ; CPU:$ED2F PRG:6D2F F6 BA + cmp ZpBA,x ; CPU:$ED31 PRG:6D31 D5 BA + bne NmiHandler_Loop371 ; CPU:$ED33 PRG:6D33 D0 06 + lda #$00 ; CPU:$ED35 PRG:6D35 A9 00 + sta ZpBA,x ; CPU:$ED37 PRG:6D37 95 BA + beq NmiHandler_Loop372 ; CPU:$ED39 PRG:6D39 F0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop371 +; Global: Branch target inside NmiHandler: taken when Loop371. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop371: + ldy #$05 ; CPU:$ED3B PRG:6D3B A0 05 + lda (StarFieldPtrLo),y ; CPU:$ED3D PRG:6D3D B1 00 + clc ; CPU:$ED3F PRG:6D3F 18 + adc #$01 ; CPU:$ED40 PRG:6D40 69 01 + sta (StarFieldPtrLo),y ; CPU:$ED42 PRG:6D42 91 00 + jmp NmiHandler_Loop363 ; CPU:$ED44 PRG:6D44 4C 04 EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop372 +; Global: Branch target inside NmiHandler: taken when Loop372. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop372: + jsr Sub_ED60 ; CPU:$ED47 PRG:6D47 20 60 ED + ldy #$05 ; CPU:$ED4A PRG:6D4A A0 05 + sta (StarFieldPtrLo),y ; CPU:$ED4C PRG:6D4C 91 00 + jmp NmiHandler_Loop363 ; CPU:$ED4E PRG:6D4E 4C 04 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_ED51 ; Global: Branch target inside Sub: taken when ED51. @@ -4023,7 +13281,7 @@ NmiHandler_Loop63: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_ED51: - lda Zp04 ; CPU:$ED51 PRG:6D51 A5 04 + lda PpuAddrLow ; CPU:$ED51 PRG:6D51 A5 04 asl a ; CPU:$ED53 PRG:6D53 0A tax ; CPU:$ED54 PRG:6D54 AA lda $EDA6,x ; CPU:$ED55 PRG:6D55 BD A6 ED @@ -4041,183 +13299,228 @@ Sub_ED51: ; ----------------------------------------------------------------------------- Sub_ED60: ldy #$05 ; CPU:$ED60 PRG:6D60 A0 05 - lda (Zp00),y ; CPU:$ED62 PRG:6D62 B1 00 + lda (StarFieldPtrLo),y ; CPU:$ED62 PRG:6D62 B1 00 tay ; CPU:$ED64 PRG:6D64 A8 lda (Zp02),y ; CPU:$ED65 PRG:6D65 B1 02 pha ; CPU:$ED67 PRG:6D67 48 iny ; CPU:$ED68 PRG:6D68 C8 tya ; CPU:$ED69 PRG:6D69 98 ldy #$05 ; CPU:$ED6A PRG:6D6A A0 05 - sta (Zp00),y ; CPU:$ED6C PRG:6D6C 91 00 + sta (StarFieldPtrLo),y ; CPU:$ED6C PRG:6D6C 91 00 pla ; CPU:$ED6E PRG:6D6E 68 rts ; CPU:$ED6F PRG:6D6F 60 -; ---- data $ED70-$F78F (2592 bytes) ---- +; ----------------------------------------------------------------------------- +; Routine: Sub_ED70 +; Global: Branch target inside Sub: taken when ED70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED70: + tax ; CPU:$ED70 PRG:6D70 AA + ldy #$05 ; CPU:$ED71 PRG:6D71 A0 05 + sty Zp1F ; CPU:$ED73 PRG:6D73 84 1F + asl a ; CPU:$ED75 PRG:6D75 0A + asl a ; CPU:$ED76 PRG:6D76 0A + asl a ; CPU:$ED77 PRG:6D77 0A + bcc NmiHandler_Loop373 ; CPU:$ED78 PRG:6D78 90 02 + inc Zp1F ; CPU:$ED7A PRG:6D7A E6 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop373 +; Global: Branch target inside NmiHandler: taken when Loop373. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop373: + clc ; CPU:$ED7C PRG:6D7C 18 + adc #$B0 ; CPU:$ED7D PRG:6D7D 69 B0 + sta Zp1E ; CPU:$ED7F PRG:6D7F 85 1E + bcc NmiHandler_Loop374 ; CPU:$ED81 PRG:6D81 90 02 + inc Zp1F ; CPU:$ED83 PRG:6D83 E6 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop374 +; Global: Branch target inside NmiHandler: taken when Loop374. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop374: + lda #$00 ; CPU:$ED85 PRG:6D85 A9 00 + tay ; CPU:$ED87 PRG:6D87 A8 + sta (Zp1E),y ; CPU:$ED88 PRG:6D88 91 1E + sta $0580,x ; CPU:$ED8A PRG:6D8A 9D 80 05 + rts ; CPU:$ED8D PRG:6D8D 60 +; ---- data $ED8E-$F78F (2562 bytes) ---- ; referenced by `lda $ED8E,x` at $EC17 (operand $ED8E falls inside this region) ; referenced by `lda $ED8F,x` at $EC1C (operand $ED8F falls inside this region) ; referenced by `lda $EDA6,x` at $ED55 (operand $EDA6 falls inside this region) ; referenced by `lda $EDA7,x` at $ED5A (operand $EDA7 falls inside this region) - .byte $AA, $A0, $05, $84, $1F, $0A, $0A, $0A, $90, $02, $E6, $1F, $18, $69, $B0, $85 ; CPU:$ED70 PRG:6D70 AA A0 05 84 1F 0A 0A 0A 90 02 E6 1F 18 69 B0 85 - .byte $1E, $90, $02, $E6, $1F, $A9, $00, $A8, $91, $1E, $9D, $80, $05, $60, $07, $F2 ; CPU:$ED80 PRG:6D80 1E 90 02 E6 1F A9 00 A8 91 1E 9D 80 05 60 07 F2 - .byte $07, $80, $07, $14, $06, $AE, $06, $43, $05, $F4, $05, $9E, $05, $4E, $05, $02 ; CPU:$ED90 PRG:6D90 07 80 07 14 06 AE 06 43 05 F4 05 9E 05 4E 05 02 - .byte $04, $BA, $04, $76, $04, $36, $FD, $ED, $66, $F0, $73, $F0, $15, $EE, $5E, $EE ; CPU:$EDA0 PRG:6DA0 04 BA 04 76 04 36 FD ED 66 F0 73 F0 15 EE 5E EE - .byte $A0, $EE, $0B, $EE, $9D, $EF, $AC, $EF, $BB, $EF, $CB, $EE, $39, $EF, $61, $EF ; CPU:$EDB0 PRG:6DB0 A0 EE 0B EE 9D EF AC EF BB EF CB EE 39 EF 61 EF - .byte $42, $F1, $68, $F1, $8E, $F1, $D4, $F0, $FA, $F0, $20, $F1, $80, $F0, $A0, $F0 ; CPU:$EDC0 PRG:6DC0 42 F1 68 F1 8E F1 D4 F0 FA F0 20 F1 80 F0 A0 F0 - .byte $C0, $F0, $EF, $F1, $20, $F2, $50, $F2, $8C, $EF, $F4, $ED, $CA, $EF, $53, $F0 ; CPU:$EDD0 PRG:6DD0 C0 F0 EF F1 20 F2 50 F2 8C EF F4 ED CA EF 53 F0 - .byte $22, $F0, $0C, $F0, $E8, $EF, $0B, $EF, $D9, $EF, $B0, $F1, $C4, $F1, $D3, $F1 ; CPU:$EDE0 PRG:6DE0 22 F0 0C F0 E8 EF 0B EF D9 EF B0 F1 C4 F1 D3 F1 - .byte $E1, $F1, $6A, $F2, $01, $C6, $7F, $28, $62, $24, $04, $14, $E8, $01, $02, $7F ; CPU:$EDF0 PRG:6DF0 E1 F1 6A F2 01 C6 7F 28 62 24 04 14 E8 01 02 7F - .byte $40, $63, $2B, $3B, $04, $2B, $3B, $04, $6A, $14, $E8, $02, $B0, $7F, $40, $6C ; CPU:$EE00 PRG:6E00 40 63 2B 3B 04 2B 3B 04 6A 14 E8 02 B0 7F 40 6C - .byte $60, $EA, $38, $F9, $0F, $01, $4F, $7F, $40, $EF, $72, $51, $66, $1A, $72, $2A ; CPU:$EE10 PRG:6E10 60 EA 38 F9 0F 01 4F 7F 40 EF 72 51 66 1A 72 2A - .byte $66, $42, $72, $3A, $66, $1A, $72, $2A, $66, $03, $72, $52, $66, $1A, $72, $2A ; CPU:$EE20 PRG:6E20 66 42 72 3A 66 1A 72 2A 66 03 72 52 66 1A 72 2A - .byte $66, $42, $72, $3A, $66, $1A, $72, $52, $66, $13, $72, $1B, $66, $0B, $72, $5A ; CPU:$EE30 PRG:6E30 66 42 72 3A 66 1A 72 52 66 13 72 1B 66 0B 72 5A - .byte $66, $52, $72, $42, $66, $32, $72, $2A, $66, $0A, $72, $0B, $66, $1B, $72, $0B ; CPU:$EE40 PRG:6E40 66 52 72 42 66 32 72 2A 66 0A 72 0B 66 1B 72 0B - .byte $66, $52, $68, $03, $42, $2A, $52, $3A, $EA, $1B, $ED, $80, $2A, $E8, $02, $4F ; CPU:$EE50 PRG:6E50 66 52 68 03 42 2A 52 3A EA 1B ED 80 2A E8 02 4F - .byte $7F, $40, $72, $3A, $66, $51, $72, $2A, $66, $02, $72, $1A, $66, $51, $F3, $02 ; CPU:$EE60 PRG:6E60 7F 40 72 3A 66 51 72 2A 66 02 72 1A 66 51 F3 02 - .byte $19, $72, $02, $66, $12, $F9, $04, $72, $2A, $66, $52, $72, $5A, $66, $52, $72 ; CPU:$EE70 PRG:6E70 19 72 02 66 12 F9 04 72 2A 66 52 72 5A 66 52 72 - .byte $42, $66, $32, $72, $2A, $66, $1A, $72, $0A, $66, $2A, $72, $32, $66, $42, $72 ; CPU:$EE80 PRG:6E80 42 66 32 72 2A 66 1A 72 0A 66 2A 72 32 66 42 72 - .byte $32, $66, $1A, $68, $42, $2A, $02, $2A, $12, $EA, $1B, $ED, $80, $70, $02, $E8 ; CPU:$EE90 PRG:6E90 32 66 1A 68 42 2A 02 2A 12 EA 1B ED 80 70 02 E8 - .byte $03, $8C, $7F, $08, $78, $52, $72, $03, $66, $1B, $78, $13, $52, $1B, $72, $2B ; CPU:$EEA0 PRG:6EA0 03 8C 7F 08 78 52 72 03 66 1B 78 13 52 1B 72 2B - .byte $66, $43, $78, $3B, $2B, $33, $72, $2B, $66, $1B, $78, $0B, $33, $0C, $72, $53 ; CPU:$EEB0 PRG:6EB0 66 43 78 3B 2B 33 72 2B 66 1B 78 0B 33 0C 72 53 - .byte $66, $33, $78, $2B, $72, $53, $EE, $10, $66, $3B, $E8, $01, $44, $7F, $20, $EF ; CPU:$EEC0 PRG:6EC0 66 33 78 2B 72 53 EE 10 66 3B E8 01 44 7F 20 EF - .byte $6F, $3B, $65, $3B, $6A, $3B, $74, $2B, $2B, $6A, $2B, $6F, $43, $65, $43, $6A ; CPU:$EED0 PRG:6ED0 6F 3B 65 3B 6A 3B 74 2B 2B 6A 2B 6F 43 65 43 6A - .byte $43, $74, $3B, $3B, $6A, $3B, $EA, $01, $65, $43, $6A, $43, $65, $43, $6A, $43 ; CPU:$EEE0 PRG:6EE0 43 74 3B 3B 6A 3B EA 01 65 43 6A 43 65 43 6A 43 - .byte $65, $53, $6A, $53, $65, $53, $6A, $53, $53, $53, $65, $04, $6A, $04, $65, $04 ; CPU:$EEF0 PRG:6EF0 65 53 6A 53 65 53 6A 53 53 53 65 04 6A 04 65 04 - .byte $6A, $04, $04, $E9, $00, $EA, $07, $ED, $38, $F9, $44, $02, $07, $7F, $38, $63 ; CPU:$EF00 PRG:6F00 6A 04 04 E9 00 EA 07 ED 38 F9 44 02 07 7F 38 63 - .byte $1D, $15, $0D, $05, $5C, $54, $4C, $44, $3C, $34, $2C, $24, $1C, $14, $0C, $04 ; CPU:$EF10 PRG:6F10 1D 15 0D 05 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 - .byte $5B, $53, $4B, $43, $3B, $33, $2B, $23, $1B, $13, $0B, $03, $5A, $52, $4A, $42 ; CPU:$EF20 PRG:6F20 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 5A 52 4A 42 - .byte $3A, $32, $2A, $22, $1A, $12, $0A, $02, $E8, $02, $49, $7F, $88, $74, $1A, $51 ; CPU:$EF30 PRG:6F30 3A 32 2A 22 1A 12 0A 02 E8 02 49 7F 88 74 1A 51 - .byte $F1, $04, $05, $EA, $01, $65, $59, $6A, $59, $65, $59, $6A, $59, $65, $0A, $6A ; CPU:$EF40 PRG:6F40 F1 04 05 EA 01 65 59 6A 59 65 59 6A 59 65 0A 6A - .byte $0A, $65, $0A, $6A, $0A, $0A, $0A, $ED, $90, $EA, $0F, $74, $43, $6A, $1B, $42 ; CPU:$EF50 PRG:6F50 0A 65 0A 6A 0A 0A 0A ED 90 EA 0F 74 43 6A 1B 42 - .byte $E8, $03, $0A, $7F, $08, $EF, $65, $1B, $3B, $53, $1C, $F0, $08, $05, $65, $24 ; CPU:$EF60 PRG:6F60 E8 03 0A 7F 08 EF 65 1B 3B 53 1C F0 08 05 65 24 - .byte $6A, $24, $65, $24, $6A, $24, $65, $34, $6A, $34, $65, $34, $6A, $34, $34, $34 ; CPU:$EF70 PRG:6F70 6A 24 65 24 6A 24 65 34 6A 34 65 34 6A 34 34 34 - .byte $EE, $0A, $65, $43, $04, $1C, $44, $44, $1C, $04, $43, $E8, $02, $4F, $7F, $48 ; CPU:$EF80 PRG:6F80 EE 0A 65 43 04 1C 44 44 1C 04 43 E8 02 4F 7F 48 - .byte $EF, $64, $52, $03, $F0, $02, $06, $1B, $2B, $F0, $02, $0B, $E8, $01, $8F, $7F ; CPU:$EF90 PRG:6F90 EF 64 52 03 F0 02 06 1B 2B F0 02 0B E8 01 8F 7F - .byte $C8, $75, $2B, $67, $2B, $33, $43, $ED, $A0, $75, $53, $E8, $02, $CF, $7F, $C8 ; CPU:$EFA0 PRG:6FA0 C8 75 2B 67 2B 33 43 ED A0 75 53 E8 02 CF 7F C8 - .byte $75, $03, $67, $03, $0B, $1B, $ED, $A0, $75, $2B, $E8, $03, $36, $7F, $08, $75 ; CPU:$EFB0 PRG:6FB0 75 03 67 03 0B 1B ED A0 75 2B E8 03 36 7F 08 75 - .byte $4B, $67, $4B, $53, $04, $EE, $58, $75, $14, $E8, $02, $44, $7F, $28, $62, $53 ; CPU:$EFC0 PRG:6FC0 4B 67 4B 53 04 EE 58 75 14 E8 02 44 7F 28 62 53 - .byte $3B, $4B, $2B, $3B, $1B, $2B, $13, $F9, $05, $01, $44, $7F, $28, $62, $1B, $33 ; CPU:$EFD0 PRG:6FD0 3B 4B 2B 3B 1B 2B 13 F9 05 01 44 7F 28 62 1B 33 - .byte $4B, $04, $1C, $04, $4B, $33, $F9, $05, $02, $7F, $7F, $28, $61, $53, $5B, $04 ; CPU:$EFE0 PRG:6FE0 4B 04 1C 04 4B 33 F9 05 02 7F 7F 28 61 53 5B 04 - .byte $62, $14, $0C, $61, $04, $5C, $EA, $0F, $63, $53, $EA, $3F, $61, $1B, $23, $2B ; CPU:$EFF0 PRG:6FF0 62 14 0C 61 04 5C EA 0F 63 53 EA 3F 61 1B 23 2B - .byte $33, $3B, $33, $2B, $23, $1B, $13, $0B, $EA, $0F, $03, $E8, $02, $87, $7F, $28 ; CPU:$F000 PRG:7000 33 3B 33 2B 23 1B 13 0B EA 0F 03 E8 02 87 7F 28 - .byte $61, $2B, $3B, $4B, $53, $04, $14, $24, $67, $2C, $61, $0C, $04, $5B, $53, $4B ; CPU:$F010 PRG:7010 61 2B 3B 4B 53 04 14 24 67 2C 61 0C 04 5B 53 4B - .byte $43, $E8, $03, $08, $7F, $08, $61, $42, $4A, $62, $52, $61, $5A, $03, $62, $0B ; CPU:$F020 PRG:7020 43 E8 03 08 7F 08 61 42 4A 62 52 61 5A 03 62 0B - .byte $61, $13, $1B, $64, $23, $61, $52, $5A, $62, $03, $61, $0B, $13, $62, $1B, $61 ; CPU:$F030 PRG:7030 61 13 1B 64 23 61 52 5A 62 03 61 0B 13 62 1B 61 - .byte $23, $2B, $65, $33, $61, $03, $0B, $62, $1B, $61, $1B, $23, $62, $2B, $61, $33 ; CPU:$F040 PRG:7040 23 2B 65 33 61 03 0B 62 1B 61 1B 23 62 2B 61 33 - .byte $3B, $43, $E8, $03, $08, $7F, $08, $61, $03, $0B, $62, $13, $61, $1B, $23, $62 ; CPU:$F050 PRG:7050 3B 43 E8 03 08 7F 08 61 03 0B 62 13 61 1B 23 62 - .byte $2B, $61, $33, $3B, $43, $E8, $01, $03, $7F, $40, $66, $3B, $2B, $3B, $53, $14 ; CPU:$F060 PRG:7060 2B 61 33 3B 43 E8 01 03 7F 40 66 3B 2B 3B 53 14 - .byte $72, $2C, $E8, $02, $03, $7F, $40, $66, $2B, $13, $2B, $3B, $53, $72, $14, $E8 ; CPU:$F070 PRG:7070 72 2C E8 02 03 7F 40 66 2B 13 2B 3B 53 72 14 E8 - .byte $01, $8F, $7F, $A8, $65, $3B, $1B, $2B, $13, $1B, $03, $13, $5A, $03, $3A, $3A ; CPU:$F080 PRG:7080 01 8F 7F A8 65 3B 1B 2B 13 1B 03 13 5A 03 3A 3A - .byte $2A, $1A, $12, $02, $59, $02, $12, $1A, $2A, $1A, $3A, $4A, $5A, $74, $03, $E8 ; CPU:$F090 PRG:7090 2A 1A 12 02 59 02 12 1A 2A 1A 3A 4A 5A 74 03 E8 - .byte $02, $4F, $7F, $A8, $65, $1B, $03, $13, $5A, $03, $4A, $5A, $3A, $3A, $1A, $1A ; CPU:$F0A0 PRG:70A0 02 4F 7F A8 65 1B 03 13 5A 03 4A 5A 3A 3A 1A 1A - .byte $12, $02, $59, $49, $39, $39, $41, $49, $59, $02, $12, $1A, $2A, $74, $3A, $E8 ; CPU:$F0B0 PRG:70B0 12 02 59 49 39 39 41 49 59 02 12 1A 2A 74 3A E8 - .byte $03, $30, $7F, $08, $6A, $04, $14, $1C, $14, $04, $5B, $4B, $5B, $04, $43, $3B ; CPU:$F0C0 PRG:70C0 03 30 7F 08 6A 04 14 1C 14 04 5B 4B 5B 04 43 3B - .byte $1B, $74, $04, $E8, $01, $8F, $7F, $88, $66, $3B, $23, $2B, $13, $23, $03, $13 ; CPU:$F0D0 PRG:70D0 1B 74 04 E8 01 8F 7F 88 66 3B 23 2B 13 23 03 13 - .byte $5A, $03, $3A, $4A, $2A, $22, $12, $02, $59, $02, $22, $12, $2A, $22, $3A, $2A ; CPU:$F0E0 PRG:70E0 5A 03 3A 4A 2A 22 12 02 59 02 22 12 2A 22 3A 2A - .byte $4A, $3A, $03, $5A, $03, $13, $3A, $4A, $5A, $E8, $02, $4F, $7F, $88, $66, $23 ; CPU:$F0F0 PRG:70F0 4A 3A 03 5A 03 13 3A 4A 5A E8 02 4F 7F 88 66 23 - .byte $03, $13, $5A, $03, $4A, $5A, $3A, $4A, $22, $2A, $12, $02, $59, $49, $39, $39 ; CPU:$F100 PRG:7100 03 13 5A 03 4A 5A 3A 4A 22 2A 12 02 59 49 39 39 - .byte $02, $59, $12, $02, $22, $12, $2A, $22, $3A, $2A, $4A, $3A, $2A, $22, $12, $E8 ; CPU:$F110 PRG:7110 02 59 12 02 22 12 2A 22 3A 2A 4A 3A 2A 22 12 E8 - .byte $03, $AD, $7F, $08, $6C, $03, $3B, $72, $04, $66, $3B, $2B, $23, $13, $6C, $03 ; CPU:$F120 PRG:7120 03 AD 7F 08 6C 03 3B 72 04 66 3B 2B 23 13 6C 03 - .byte $72, $13, $6C, $23, $2B, $3B, $4B, $3B, $66, $2B, $23, $13, $5A, $03, $EE, $2A ; CPU:$F130 PRG:7130 72 13 6C 23 2B 3B 4B 3B 66 2B 23 13 5A 03 EE 2A - .byte $13, $E8, $01, $8F, $7F, $88, $66, $3B, $1B, $2B, $13, $1B, $03, $13, $5A, $03 ; CPU:$F140 PRG:7140 13 E8 01 8F 7F 88 66 3B 1B 2B 13 1B 03 13 5A 03 - .byte $3A, $42, $2A, $1A, $12, $02, $59, $02, $1A, $12, $2A, $1A, $3A, $2A, $42, $3A ; CPU:$F150 PRG:7150 3A 42 2A 1A 12 02 59 02 1A 12 2A 1A 3A 2A 42 3A - .byte $03, $5A, $03, $13, $3A, $4A, $5A, $E8, $02, $8F, $7F, $88, $66, $1B, $03, $13 ; CPU:$F160 PRG:7160 03 5A 03 13 3A 4A 5A E8 02 8F 7F 88 66 1B 03 13 - .byte $5A, $03, $4A, $5A, $3A, $42, $1A, $2A, $12, $02, $59, $49, $39, $39, $02, $59 ; CPU:$F170 PRG:7170 5A 03 4A 5A 3A 42 1A 2A 12 02 59 49 39 39 02 59 - .byte $12, $02, $1A, $12, $2A, $1A, $3A, $2A, $42, $3A, $2A, $1A, $12, $E8, $03, $AD ; CPU:$F180 PRG:7180 12 02 1A 12 2A 1A 3A 2A 42 3A 2A 1A 12 E8 03 AD - .byte $7F, $08, $6C, $03, $3B, $72, $04, $66, $3B, $2B, $1B, $13, $6C, $03, $72, $13 ; CPU:$F190 PRG:7190 7F 08 6C 03 3B 72 04 66 3B 2B 1B 13 6C 03 72 13 - .byte $6C, $1B, $2B, $3B, $43, $3B, $66, $2B, $1B, $13, $5A, $03, $EE, $2A, $13, $E8 ; CPU:$F1A0 PRG:71A0 6C 1B 2B 3B 43 3B 66 2B 1B 13 5A 03 EE 2A 13 E8 - .byte $01, $47, $7F, $18, $61, $1D, $15, $0D, $05, $5C, $4C, $3C, $2C, $1C, $0C, $5B ; CPU:$F1B0 PRG:71B0 01 47 7F 18 61 1D 15 0D 05 5C 4C 3C 2C 1C 0C 5B - .byte $4B, $3B, $2B, $E8, $04, $1F, $7F, $40, $0A, $67, $1E, $1E, $EA, $0B, $6A, $1E ; CPU:$F1C0 PRG:71C0 4B 3B 2B E8 04 1F 7F 40 0A 67 1E 1E EA 0B 6A 1E - .byte $1E, $1E, $E8, $02, $93, $ED, $30, $77, $21, $39, $21, $41, $39, $59, $41, $02 ; CPU:$F1D0 PRG:71D0 1E 1E E8 02 93 ED 30 77 21 39 21 41 39 59 41 02 - .byte $E8, $02, $93, $F5, $30, $77, $13, $4A, $03, $42, $4A, $2A, $42, $22, $E8, $01 ; CPU:$F1E0 PRG:71E0 E8 02 93 F5 30 77 13 4A 03 42 4A 2A 42 22 E8 01 - .byte $82, $7F, $F8, $EF, $78, $13, $52, $3A, $1A, $72, $60, $66, $13, $72, $52, $66 ; CPU:$F1F0 PRG:71F0 82 7F F8 EF 78 13 52 3A 1A 72 60 66 13 72 52 66 - .byte $3A, $68, $1A, $3A, $52, $32, $4A, $03, $78, $42, $03, $1B, $2B, $72, $60, $66 ; CPU:$F200 PRG:7200 3A 68 1A 3A 52 32 4A 03 78 42 03 1B 2B 72 60 66 - .byte $33, $72, $1B, $66, $5A, $68, $42, $32, $1A, $5A, $32, $1B, $F0, $03, $05, $E8 ; CPU:$F210 PRG:7210 33 72 1B 66 5A 68 42 32 1A 5A 32 1B F0 03 05 E8 - .byte $02, $82, $7F, $F8, $78, $52, $3A, $1A, $12, $72, $60, $66, $51, $72, $3A, $66 ; CPU:$F220 PRG:7220 02 82 7F F8 78 52 3A 1A 12 72 60 66 51 72 3A 66 - .byte $1A, $68, $12, $1A, $3A, $1A, $32, $42, $78, $2A, $42, $03, $1B, $72, $60, $66 ; CPU:$F230 PRG:7230 1A 68 12 1A 3A 1A 32 42 78 2A 42 03 1B 72 60 66 - .byte $1B, $72, $5A, $66, $42, $68, $3A, $1A, $59, $42, $32, $59, $F1, $03, $04, $E8 ; CPU:$F240 PRG:7240 1B 72 5A 66 42 68 3A 1A 59 42 32 59 F1 03 04 E8 - .byte $03, $FE, $7F, $08, $C0, $14, $90, $14, $78, $53, $14, $C0, $04, $90, $5B, $78 ; CPU:$F250 PRG:7250 03 FE 7F 08 C0 14 90 14 78 53 14 C0 04 90 5B 78 - .byte $1C, $EE, $40, $2C, $EE, $FE, $F2, $03, $04, $E8, $02, $47, $7F, $18, $63, $53 ; CPU:$F260 PRG:7260 1C EE 40 2C EE FE F2 03 04 E8 02 47 7F 18 63 53 - .byte $F9, $05, $E2, $06, $E0, $00, $E1, $B7, $E3, $60, $10, $C5, $92, $C9, $89, $E7 ; CPU:$F270 PRG:7270 F9 05 E2 06 E0 00 E1 B7 E3 60 10 C5 92 C9 89 E7 - .byte $C9, $89, $E6, $01, $E2, $06, $E0, $00, $E1, $B7, $E3, $80, $10, $C5, $95, $E5 ; CPU:$F280 PRG:7280 C9 89 E6 01 E2 06 E0 00 E1 B7 E3 80 10 C5 95 E5 - .byte $C9, $89, $E4, $E7, $C9, $89, $E5, $E6, $01, $E2, $06, $E0, $00, $E1, $A7, $E3 ; CPU:$F290 PRG:7290 C9 89 E4 E7 C9 89 E5 E6 01 E2 06 E0 00 E1 A7 E3 - .byte $60, $11, $C5, $91, $E5, $C9, $85, $E7, $C9, $85, $E4, $E6, $01, $E2, $0C, $E0 ; CPU:$F2A0 PRG:72A0 60 11 C5 91 E5 C9 85 E7 C9 85 E4 E6 01 E2 0C E0 - .byte $50, $E1, $FF, $E3, $60, $0E, $C2, $8C, $92, $C2, $14, $E7, $CA, $49, $E6, $01 ; CPU:$F2B0 PRG:72B0 50 E1 FF E3 60 0E C2 8C 92 C2 14 E7 CA 49 E6 01 - .byte $E2, $0C, $E0, $50, $E1, $FF, $E3, $60, $0E, $C2, $8C, $92, $C2, $14, $E7, $E4 ; CPU:$F2C0 PRG:72C0 E2 0C E0 50 E1 FF E3 60 0E C2 8C 92 C2 14 E7 E4 - .byte $CA, $49, $E5, $E6, $01, $E2, $0C, $E0, $40, $E1, $FF, $E3, $80, $10, $C2, $90 ; CPU:$F2D0 PRG:72D0 CA 49 E5 E6 01 E2 0C E0 40 E1 FF E3 80 10 C2 90 - .byte $E5, $92, $C2, $14, $E3, $40, $E7, $CA, $45, $E4, $E6, $01, $E6, $0B, $E3, $00 ; CPU:$F2E0 PRG:72E0 E5 92 C2 14 E3 40 E7 CA 45 E4 E6 01 E6 0B E3 00 - .byte $EC, $0A, $ED, $0A, $E3, $20, $EA, $1A, $E6, $0B, $E3, $20, $CB, $42, $46, $46 ; CPU:$F2F0 PRG:72F0 EC 0A ED 0A E3 20 EA 1A E6 0B E3 20 CB 42 46 46 - .byte $E6, $0A, $6C, $C3, $46, $EC, $06, $ED, $EA, $2F, $E6, $0B, $E3, $20, $CB, $42 ; CPU:$F300 PRG:7300 E6 0A 6C C3 46 EC 06 ED EA 2F E6 0B E3 20 CB 42 - .byte $46, $E6, $0A, $6C, $C4, $46, $EC, $14, $ED, $0C, $EA, $2F, $CB, $42, $C1, $46 ; CPU:$F310 PRG:7310 46 E6 0A 6C C4 46 EC 14 ED 0C EA 2F CB 42 C1 46 - .byte $E6, $0A, $6C, $C3, $46, $08, $90, $9A, $97, $93, $8F, $8C, $88, $88, $E6, $0C ; CPU:$F320 PRG:7320 E6 0A 6C C3 46 08 90 9A 97 93 8F 8C 88 88 E6 0C - .byte $E3, $60, $E6, $01, $E3, $20, $E2, $00, $CB, $42, $C1, $46, $E6, $0A, $6C, $C3 ; CPU:$F330 PRG:7330 E3 60 E6 01 E3 20 E2 00 CB 42 C1 46 E6 0A 6C C3 - .byte $46, $08, $90, $9A, $97, $93, $8F, $8C, $CB, $88, $E8, $CC, $88, $88, $E6, $0A ; CPU:$F340 PRG:7340 46 08 90 9A 97 93 8F 8C CB 88 E8 CC 88 88 E6 0A - .byte $E8, $E9, $E2, $09, $EB, $0E, $4A, $49, $49, $4E, $53, $4E, $52, $C2, $14, $92 ; CPU:$F350 PRG:7350 E8 E9 E2 09 EB 0E 4A 49 49 4E 53 4E 52 C2 14 92 - .byte $14, $8D, $8C, $91, $14, $CB, $88, $E8, $CC, $88, $08, $E6, $0A, $E8, $E9, $EA ; CPU:$F360 PRG:7360 14 8D 8C 91 14 CB 88 E8 CC 88 08 E6 0A E8 E9 EA - .byte $24, $E2, $00, $E3, $20, $CB, $42, $C2, $46, $E6, $0A, $4C, $46, $17, $1E, $C5 ; CPU:$F370 PRG:7370 24 E2 00 E3 20 CB 42 C2 46 E6 0A 4C 46 17 1E C5 - .byte $85, $45, $45, $46, $46, $50, $10, $86, $86, $86, $88, $E6, $0A, $E8, $E9, $E8 ; CPU:$F380 PRG:7380 85 45 45 46 46 50 10 86 86 86 88 E6 0A E8 E9 E8 - .byte $EB, $E2, $09, $C2, $0C, $C3, $4A, $4E, $5C, $1E, $88, $86, $86, $86, $8D, $45 ; CPU:$F390 PRG:7390 EB E2 09 C2 0C C3 4A 4E 5C 1E 88 86 86 86 8D 45 - .byte $46, $45, $46, $49, $51, $8A, $C4, $85, $E6, $0A, $E8, $E9, $E8, $E2, $09, $0C ; CPU:$F3A0 PRG:73A0 46 45 46 49 51 8A C4 85 E6 0A E8 E9 E8 E2 09 0C - .byte $C3, $4A, $4E, $52, $56, $14, $50, $14, $99, $88, $C4, $84, $86, $86, $C4, $46 ; CPU:$F3B0 PRG:73B0 C3 4A 4E 52 56 14 50 14 99 88 C4 84 86 86 C4 46 - .byte $4D, $C2, $85, $96, $E6, $0A, $E8, $E9, $E8, $E3, $20, $E2, $09, $C2, $0C, $C3 ; CPU:$F3C0 PRG:73C0 4D C2 85 96 E6 0A E8 E9 E8 E3 20 E2 09 C2 0C C3 - .byte $4A, $4E, $5C, $1E, $88, $86, $86, $86, $8D, $45, $46, $45, $46, $49, $51, $8A ; CPU:$F3D0 PRG:73D0 4A 4E 5C 1E 88 86 86 86 8D 45 46 45 46 49 51 8A - .byte $C4, $85, $E6, $0A, $E8, $E9, $E8, $EA, $23, $E2, $00, $E3, $20, $CB, $44, $16 ; CPU:$F3E0 PRG:73E0 C4 85 E6 0A E8 E9 E8 EA 23 E2 00 E3 20 CB 44 16 - .byte $4E, $17, $D7, $46, $0F, $51, $55, $14, $9E, $9E, $88, $E6, $0A, $D8, $EB, $E6 ; CPU:$F3F0 PRG:73F0 4E 17 D7 46 0F 51 55 14 9E 9E 88 E6 0A D8 EB E6 - .byte $0A, $E8, $E9, $E8, $EA, $22, $E2, $00, $E3, $20, $C5, $44, $C7, $45, $C5, $10 ; CPU:$F400 PRG:7400 0A E8 E9 E8 EA 22 E2 00 E3 20 C5 44 C7 45 C5 10 - .byte $0D, $E3, $00, $C1, $84, $E6, $05, $E3, $20, $10, $E6, $0A, $E8, $E9, $E8, $EB ; CPU:$F410 PRG:7410 0D E3 00 C1 84 E6 05 E3 20 10 E6 0A E8 E9 E8 EB - .byte $E2, $09, $10, $47, $46, $45, $4B, $54, $4E, $18, $D7, $46, $C3, $13, $9E, $9E ; CPU:$F420 PRG:7420 E2 09 10 47 46 45 4B 54 4E 18 D7 46 C3 13 9E 9E - .byte $88, $E6, $0A, $E8, $E9, $E8, $EA, $22, $E3, $00, $C5, $0F, $E3, $20, $04, $C5 ; CPU:$F430 PRG:7430 88 E6 0A E8 E9 E8 EA 22 E3 00 C5 0F E3 20 04 C5 - .byte $84, $E6, $01, $E3, $00, $C7, $0F, $E3, $20, $CB, $44, $16, $4E, $17, $D7, $46 ; CPU:$F440 PRG:7440 84 E6 01 E3 00 C7 0F E3 20 CB 44 16 4E 17 D7 46 - .byte $0F, $51, $55, $14, $94, $14, $9D, $8E, $E6, $0A, $E8, $E6, $09, $E2, $00, $E3 ; CPU:$F450 PRG:7450 0F 51 55 14 94 14 9D 8E E6 0A E8 E6 09 E2 00 E3 - .byte $20, $CB, $44, $16, $4E, $17, $D7, $46, $0F, $51, $55, $14, $9E, $9E, $88, $E6 ; CPU:$F460 PRG:7460 20 CB 44 16 4E 17 D7 46 0F 51 55 14 9E 9E 88 E6 - .byte $0A, $E8, $E9, $E8, $EB, $E2, $0C, $10, $E2, $09, $10, $47, $46, $45, $4B, $54 ; CPU:$F470 PRG:7470 0A E8 E9 E8 EB E2 0C 10 E2 09 10 47 46 45 4B 54 - .byte $4E, $18, $D7, $46, $C3, $13, $9E, $9E, $88, $E6, $0A, $E8, $E9, $E8, $EA, $28 ; CPU:$F480 PRG:7480 4E 18 D7 46 C3 13 9E 9E 88 E6 0A E8 E9 E8 EA 28 - .byte $E0, $54, $E1, $FF, $E2, $0C, $E3, $60, $CA, $08, $8E, $14, $97, $94, $91, $8E ; CPU:$F490 PRG:7490 E0 54 E1 FF E2 0C E3 60 CA 08 8E 14 97 94 91 8E - .byte $8C, $8A, $C3, $88, $8A, $8C, $8E, $90, $88, $E6, $04, $E0, $00, $E1, $B7, $E2 ; CPU:$F4A0 PRG:74A0 8C 8A C3 88 8A 8C 8E 90 88 E6 04 E0 00 E1 B7 E2 - .byte $06, $E3, $60, $1F, $97, $92, $14, $94, $14, $97, $8F, $90, $C2, $10, $CB, $83 ; CPU:$F4B0 PRG:74B0 06 E3 60 1F 97 92 14 94 14 97 8F 90 C2 10 CB 83 - .byte $C4, $10, $C9, $86, $E6, $04, $E0, $54, $E1, $FF, $E2, $0C, $E3, $60, $CC, $08 ; CPU:$F4C0 PRG:74C0 C4 10 C9 86 E6 04 E0 54 E1 FF E2 0C E3 60 CC 08 - .byte $90, $10, $10, $E3, $00, $CB, $81, $E3, $60, $10, $10, $10, $48, $E6, $04, $E0 ; CPU:$F4D0 PRG:74D0 90 10 10 E3 00 CB 81 E3 60 10 10 10 48 E6 04 E0 - .byte $00, $E1, $B7, $E2, $06, $E3, $60, $1E, $C4, $10, $D7, $95, $E6, $04, $E0, $54 ; CPU:$F4E0 PRG:74E0 00 E1 B7 E2 06 E3 60 1E C4 10 D7 95 E6 04 E0 54 - .byte $E1, $FF, $E2, $0C, $E3, $60, $18, $C4, $10, $06, $C4, $8C, $86, $E3, $00, $CB ; CPU:$F4F0 PRG:74F0 E1 FF E2 0C E3 60 18 C4 10 06 C4 8C 86 E3 00 CB - .byte $81, $E3, $60, $06, $C4, $4C, $4E, $E6, $04, $E0, $54, $E1, $FF, $E2, $0C, $E3 ; CPU:$F500 PRG:7500 81 E3 60 06 C4 4C 4E E6 04 E0 54 E1 FF E2 0C E3 - .byte $60, $18, $C4, $10, $06, $C4, $4C, $46, $E3, $00, $CB, $41, $E3, $60, $06, $C4 ; CPU:$F510 PRG:7510 60 18 C4 10 06 C4 4C 46 E3 00 CB 41 E3 60 06 C4 - .byte $8C, $8E, $E6, $04, $E0, $00, $E1, $B7, $E2, $06, $E3, $60, $C3, $14, $E3, $00 ; CPU:$F520 PRG:7520 8C 8E E6 04 E0 00 E1 B7 E2 06 E3 60 C3 14 E3 00 - .byte $CB, $81, $E3, $60, $07, $C5, $50, $C3, $10, $CB, $49, $1C, $E3, $00, $C5, $81 ; CPU:$F530 PRG:7530 CB 81 E3 60 07 C5 50 C3 10 CB 49 1C E3 00 C5 81 - .byte $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3, $60, $18, $E3, $00, $C5 ; CPU:$F540 PRG:7540 E3 60 E6 04 E0 50 E1 FF E2 0C E3 60 18 E3 00 C5 - .byte $41, $E3, $60, $02, $CB, $85, $CB, $45, $D7, $85, $CB, $45, $CA, $85, $81, $E3 ; CPU:$F550 PRG:7550 41 E3 60 02 CB 85 CB 45 D7 85 CB 45 CA 85 81 E3 - .byte $00, $C5, $41, $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3, $60, $18 ; CPU:$F560 PRG:7560 00 C5 41 E3 60 E6 04 E0 50 E1 FF E2 0C E3 60 18 - .byte $E3, $00, $C5, $81, $E3, $60, $02, $CB, $45, $CB, $85, $D7, $45, $CB, $85, $CA ; CPU:$F570 PRG:7570 E3 00 C5 81 E3 60 02 CB 45 CB 85 D7 45 CB 85 CA - .byte $45, $41, $E3, $00, $C5, $81, $E3, $60, $E6, $04, $E0, $00, $E1, $B7, $E2, $03 ; CPU:$F580 PRG:7580 45 41 E3 00 C5 81 E3 60 E6 04 E0 00 E1 B7 E2 03 - .byte $E3, $60, $16, $92, $99, $14, $4E, $47, $C6, $46, $C2, $4C, $48, $C6, $44, $48 ; CPU:$F590 PRG:7590 E3 60 16 92 99 14 4E 47 C6 46 C2 4C 48 C6 44 48 - .byte $C2, $4C, $48, $4B, $C3, $4A, $45, $46, $48, $C2, $4C, $48, $C6, $44, $48, $C2 ; CPU:$F5A0 PRG:75A0 C2 4C 48 4B C3 4A 45 46 48 C2 4C 48 C6 44 48 C2 - .byte $4C, $48, $4B, $C3, $4A, $45, $46, $48, $C2, $4C, $48, $C6, $44, $48, $C2, $4C ; CPU:$F5B0 PRG:75B0 4C 48 4B C3 4A 45 46 48 C2 4C 48 C6 44 48 C2 4C - .byte $48, $46, $44, $43, $46, $46, $46, $47, $4E, $59, $14, $92, $86, $E6, $04, $E0 ; CPU:$F5C0 PRG:75C0 48 46 44 43 46 46 46 47 4E 59 14 92 86 E6 04 E0 - .byte $50, $E1, $00, $E2, $12, $E3, $60, $CB, $91, $CB, $8D, $CB, $8B, $CB, $89, $CB ; CPU:$F5D0 PRG:75D0 50 E1 00 E2 12 E3 60 CB 91 CB 8D CB 8B CB 89 CB - .byte $86, $CB, $84, $E3, $00, $C2, $44, $20, $E3, $60, $E6, $04, $E0, $00, $E1, $B7 ; CPU:$F5E0 PRG:75E0 86 CB 84 E3 00 C2 44 20 E3 60 E6 04 E0 00 E1 B7 - .byte $E2, $06, $E3, $60, $0C, $8F, $9B, $14, $94, $14, $0F, $5A, $4E, $CC, $47, $4E ; CPU:$F5F0 PRG:75F0 E2 06 E3 60 0C 8F 9B 14 94 14 0F 5A 4E CC 47 4E - .byte $5A, $4F, $0F, $9A, $8E, $CC, $87, $8E, $9A, $8F, $16, $9E, $88, $CC, $89, $88 ; CPU:$F600 PRG:7600 5A 4F 0F 9A 8E CC 87 8E 9A 8F 16 9E 88 CC 89 88 - .byte $9E, $96, $14, $14, $9B, $14, $8F, $84, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C ; CPU:$F610 PRG:7610 9E 96 14 14 9B 14 8F 84 E6 04 E0 50 E1 FF E2 0C - .byte $E3, $60, $10, $1C, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00, $C5, $41 ; CPU:$F620 PRG:7620 E3 60 10 1C E3 00 C5 81 E3 60 10 0C E3 00 C5 41 - .byte $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00, $C5, $41 ; CPU:$F630 PRG:7630 E3 60 10 14 E3 00 C5 81 E3 60 10 0C E3 00 C5 41 - .byte $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00, $C5, $41 ; CPU:$F640 PRG:7640 E3 60 10 14 E3 00 C5 81 E3 60 10 0C E3 00 C5 41 - .byte $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $E6, $04, $E0, $00, $E1, $B7 ; CPU:$F650 PRG:7650 E3 60 10 14 E3 00 C5 81 E3 60 E6 04 E0 00 E1 B7 - .byte $E2, $06, $E3, $60, $18, $92, $C6, $10, $8C, $84, $C4, $82, $84, $8C, $90, $10 ; CPU:$F660 PRG:7660 E2 06 E3 60 18 92 C6 10 8C 84 C4 82 84 8C 90 10 - .byte $90, $12, $52, $48, $44, $C4, $42, $44, $48, $52, $52, $0E, $8E, $86, $83, $C4 ; CPU:$F670 PRG:7670 90 12 52 48 44 C4 42 44 48 52 52 0E 8E 86 83 C4 - .byte $82, $83, $86, $8E, $8E, $0E, $4E, $46, $43, $C4, $42, $43, $46, $4B, $46, $E3 ; CPU:$F680 PRG:7680 82 83 86 8E 8E 0E 4E 46 43 C4 42 43 46 4B 46 E3 - .byte $00, $C5, $81, $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3, $60, $10 ; CPU:$F690 PRG:7690 00 C5 81 E3 60 E6 04 E0 50 E1 FF E2 0C E3 60 10 - .byte $10, $E3, $00, $C5, $41, $E3, $60, $C6, $08, $E3, $00, $C8, $81, $E3, $60, $D0 ; CPU:$F6A0 PRG:76A0 10 E3 00 C5 41 E3 60 C6 08 E3 00 C8 81 E3 60 D0 - .byte $0C, $E3, $00, $C8, $41, $E3, $60, $E6, $04, $E0, $00, $E1, $B7, $E2, $06, $E3 ; CPU:$F6B0 PRG:76B0 0C E3 00 C8 41 E3 60 E6 04 E0 00 E1 B7 E2 06 E3 - .byte $60, $0C, $C5, $84, $C4, $10, $18, $C9, $44, $C2, $10, $C7, $86, $C2, $10, $C9 ; CPU:$F6C0 PRG:76C0 60 0C C5 84 C4 10 18 C9 44 C2 10 C7 86 C2 10 C9 - .byte $44, $18, $C4, $10, $C5, $84, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3, $60 ; CPU:$F6D0 PRG:76D0 44 18 C4 10 C5 84 E6 04 E0 50 E1 FF E2 0C E3 60 - .byte $C8, $08, $E4, $08, $4D, $4B, $48, $C4, $47, $48, $4B, $4D, $50, $4D, $4B, $48 ; CPU:$F6E0 PRG:76E0 C8 08 E4 08 4D 4B 48 C4 47 48 4B 4D 50 4D 4B 48 - .byte $C4, $47, $48, $4B, $4D, $56, $E5, $93, $10, $90, $8E, $98, $91, $E5, $C1, $83 ; CPU:$F6F0 PRG:76F0 C4 47 48 4B 4D 56 E5 93 10 90 8E 98 91 E5 C1 83 - .byte $84, $85, $86, $88, $8C, $88, $86, $85, $84, $C2, $83, $84, $85, $86, $88, $8C ; CPU:$F700 PRG:7700 84 85 86 88 8C 88 86 85 84 C2 83 84 85 86 88 8C - .byte $88, $86, $85, $84, $E4, $92, $E6, $04, $E0, $40, $E1, $FF, $E2, $0C, $E3, $60 ; CPU:$F710 PRG:7710 88 86 85 84 E4 92 E6 04 E0 40 E1 FF E2 0C E3 60 - .byte $C8, $08, $E5, $06, $48, $46, $45, $44, $C2, $43, $44, $45, $46, $48, $4C, $48 ; CPU:$F720 PRG:7720 C8 08 E5 06 48 46 45 44 C2 43 44 45 46 48 4C 48 - .byte $46, $45, $44, $C2, $43, $44, $45, $46, $48, $56, $E4, $96, $E4, $10, $92, $94 ; CPU:$F730 PRG:7730 46 45 44 C2 43 44 45 46 48 56 E4 96 E4 10 92 94 - .byte $90, $10, $95, $C1, $85, $87, $88, $8B, $8D, $90, $8D, $8B, $88, $C4, $87, $88 ; CPU:$F740 PRG:7740 90 10 95 C1 85 87 88 8B 8D 90 8D 8B 88 C4 87 88 - .byte $8B, $8D, $90, $8D, $8B, $88, $87, $87, $E5, $19, $12, $E6, $04, $E0, $00, $E1 ; CPU:$F750 PRG:7750 8B 8D 90 8D 8B 88 87 87 E5 19 12 E6 04 E0 00 E1 - .byte $A7, $E2, $06, $E3, $60, $1C, $95, $14, $9E, $96, $14, $93, $E5, $D7, $89, $E4 ; CPU:$F760 PRG:7760 A7 E2 06 E3 60 1C 95 14 9E 96 14 93 E5 D7 89 E4 - .byte $13, $4C, $14, $4E, $E6, $04, $E0, $00, $E1, $B7, $E2, $06, $E3, $60, $1D, $9A ; CPU:$F770 PRG:7770 13 4C 14 4E E6 04 E0 00 E1 B7 E2 06 E3 60 1D 9A - .byte $14, $8F, $14, $99, $14, $97, $E4, $D7, $8D, $E5, $06, $51, $14, $4C, $E6, $04 ; CPU:$F780 PRG:7780 14 8F 14 99 14 97 E4 D7 8D E5 06 51 14 4C E6 04 +LevelGraphicData: + .byte $07, $F2, $07, $80, $07, $14, $06, $AE, $06, $43, $05, $F4, $05, $9E, $05, $4E ; CPU:$ED8E PRG:2D8E 07 F2 07 80 07 14 06 AE 06 43 05 F4 05 9E 05 4E + .byte $05, $02, $04, $BA, $04, $76, $04, $36, $FD, $ED, $66, $F0, $73, $F0, $15, $EE ; CPU:$ED9E PRG:6D9E 05 02 04 BA 04 76 04 36 FD ED 66 F0 73 F0 15 EE + .byte $5E, $EE, $A0, $EE, $0B, $EE, $9D, $EF, $AC, $EF, $BB, $EF, $CB, $EE, $39, $EF ; CPU:$EDAE PRG:6DAE 5E EE A0 EE 0B EE 9D EF AC EF BB EF CB EE 39 EF + .byte $61, $EF, $42, $F1, $68, $F1, $8E, $F1, $D4, $F0, $FA, $F0, $20, $F1, $80, $F0 ; CPU:$EDBE PRG:6DBE 61 EF 42 F1 68 F1 8E F1 D4 F0 FA F0 20 F1 80 F0 + .byte $A0, $F0, $C0, $F0, $EF, $F1, $20, $F2, $50, $F2, $8C, $EF, $F4, $ED, $CA, $EF ; CPU:$EDCE PRG:6DCE A0 F0 C0 F0 EF F1 20 F2 50 F2 8C EF F4 ED CA EF + .byte $53, $F0, $22, $F0, $0C, $F0, $E8, $EF, $0B, $EF, $D9, $EF, $B0, $F1, $C4, $F1 ; CPU:$EDDE PRG:6DDE 53 F0 22 F0 0C F0 E8 EF 0B EF D9 EF B0 F1 C4 F1 + .byte $D3, $F1, $E1, $F1, $6A, $F2, $01, $C6, $7F, $28, $62, $24, $04, $14, $E8, $01 ; CPU:$EDEE PRG:6DEE D3 F1 E1 F1 6A F2 01 C6 7F 28 62 24 04 14 E8 01 + .byte $02, $7F, $40, $63, $2B, $3B, $04, $2B, $3B, $04, $6A, $14, $E8, $02, $B0, $7F ; CPU:$EDFE PRG:6DFE 02 7F 40 63 2B 3B 04 2B 3B 04 6A 14 E8 02 B0 7F + .byte $40, $6C, $60, $EA, $38, $F9, $0F, $01, $4F, $7F, $40, $EF, $72, $51, $66, $1A ; CPU:$EE0E PRG:6E0E 40 6C 60 EA 38 F9 0F 01 4F 7F 40 EF 72 51 66 1A + .byte $72, $2A, $66, $42, $72, $3A, $66, $1A, $72, $2A, $66, $03, $72, $52, $66, $1A ; CPU:$EE1E PRG:6E1E 72 2A 66 42 72 3A 66 1A 72 2A 66 03 72 52 66 1A + .byte $72, $2A, $66, $42, $72, $3A, $66, $1A, $72, $52, $66, $13, $72, $1B, $66, $0B ; CPU:$EE2E PRG:6E2E 72 2A 66 42 72 3A 66 1A 72 52 66 13 72 1B 66 0B + .byte $72, $5A, $66, $52, $72, $42, $66, $32, $72, $2A, $66, $0A, $72, $0B, $66, $1B ; CPU:$EE3E PRG:6E3E 72 5A 66 52 72 42 66 32 72 2A 66 0A 72 0B 66 1B + .byte $72, $0B, $66, $52, $68, $03, $42, $2A, $52, $3A, $EA, $1B, $ED, $80, $2A, $E8 ; CPU:$EE4E PRG:6E4E 72 0B 66 52 68 03 42 2A 52 3A EA 1B ED 80 2A E8 + .byte $02, $4F, $7F, $40, $72, $3A, $66, $51, $72, $2A, $66, $02, $72, $1A, $66, $51 ; CPU:$EE5E PRG:6E5E 02 4F 7F 40 72 3A 66 51 72 2A 66 02 72 1A 66 51 + .byte $F3, $02, $19, $72, $02, $66, $12, $F9, $04, $72, $2A, $66, $52, $72, $5A, $66 ; CPU:$EE6E PRG:6E6E F3 02 19 72 02 66 12 F9 04 72 2A 66 52 72 5A 66 + .byte $52, $72, $42, $66, $32, $72, $2A, $66, $1A, $72, $0A, $66, $2A, $72, $32, $66 ; CPU:$EE7E PRG:6E7E 52 72 42 66 32 72 2A 66 1A 72 0A 66 2A 72 32 66 + .byte $42, $72, $32, $66, $1A, $68, $42, $2A, $02, $2A, $12, $EA, $1B, $ED, $80, $70 ; CPU:$EE8E PRG:6E8E 42 72 32 66 1A 68 42 2A 02 2A 12 EA 1B ED 80 70 + .byte $02, $E8, $03, $8C, $7F, $08, $78, $52, $72, $03, $66, $1B, $78, $13, $52, $1B ; CPU:$EE9E PRG:6E9E 02 E8 03 8C 7F 08 78 52 72 03 66 1B 78 13 52 1B + .byte $72, $2B, $66, $43, $78, $3B, $2B, $33, $72, $2B, $66, $1B, $78, $0B, $33, $0C ; CPU:$EEAE PRG:6EAE 72 2B 66 43 78 3B 2B 33 72 2B 66 1B 78 0B 33 0C + .byte $72, $53, $66, $33, $78, $2B, $72, $53, $EE, $10, $66, $3B, $E8, $01, $44, $7F ; CPU:$EEBE PRG:6EBE 72 53 66 33 78 2B 72 53 EE 10 66 3B E8 01 44 7F + .byte $20, $EF, $6F, $3B, $65, $3B, $6A, $3B, $74, $2B, $2B, $6A, $2B, $6F, $43, $65 ; CPU:$EECE PRG:6ECE 20 EF 6F 3B 65 3B 6A 3B 74 2B 2B 6A 2B 6F 43 65 + .byte $43, $6A, $43, $74, $3B, $3B, $6A, $3B, $EA, $01, $65, $43, $6A, $43, $65, $43 ; CPU:$EEDE PRG:6EDE 43 6A 43 74 3B 3B 6A 3B EA 01 65 43 6A 43 65 43 + .byte $6A, $43, $65, $53, $6A, $53, $65, $53, $6A, $53, $53, $53, $65, $04, $6A, $04 ; CPU:$EEEE PRG:6EEE 6A 43 65 53 6A 53 65 53 6A 53 53 53 65 04 6A 04 + .byte $65, $04, $6A, $04, $04, $E9, $00, $EA, $07, $ED, $38, $F9, $44, $02, $07, $7F ; CPU:$EEFE PRG:6EFE 65 04 6A 04 04 E9 00 EA 07 ED 38 F9 44 02 07 7F + .byte $38, $63, $1D, $15, $0D, $05, $5C, $54, $4C, $44, $3C, $34, $2C, $24, $1C, $14 ; CPU:$EF0E PRG:6F0E 38 63 1D 15 0D 05 5C 54 4C 44 3C 34 2C 24 1C 14 + .byte $0C, $04, $5B, $53, $4B, $43, $3B, $33, $2B, $23, $1B, $13, $0B, $03, $5A, $52 ; CPU:$EF1E PRG:6F1E 0C 04 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 5A 52 + .byte $4A, $42, $3A, $32, $2A, $22, $1A, $12, $0A, $02, $E8, $02, $49, $7F, $88, $74 ; CPU:$EF2E PRG:6F2E 4A 42 3A 32 2A 22 1A 12 0A 02 E8 02 49 7F 88 74 + .byte $1A, $51, $F1, $04, $05, $EA, $01, $65, $59, $6A, $59, $65, $59, $6A, $59, $65 ; CPU:$EF3E PRG:6F3E 1A 51 F1 04 05 EA 01 65 59 6A 59 65 59 6A 59 65 + .byte $0A, $6A, $0A, $65, $0A, $6A, $0A, $0A, $0A, $ED, $90, $EA, $0F, $74, $43, $6A ; CPU:$EF4E PRG:6F4E 0A 6A 0A 65 0A 6A 0A 0A 0A ED 90 EA 0F 74 43 6A + .byte $1B, $42, $E8, $03, $0A, $7F, $08, $EF, $65, $1B, $3B, $53, $1C, $F0, $08, $05 ; CPU:$EF5E PRG:6F5E 1B 42 E8 03 0A 7F 08 EF 65 1B 3B 53 1C F0 08 05 + .byte $65, $24, $6A, $24, $65, $24, $6A, $24, $65, $34, $6A, $34, $65, $34, $6A, $34 ; CPU:$EF6E PRG:6F6E 65 24 6A 24 65 24 6A 24 65 34 6A 34 65 34 6A 34 + .byte $34, $34, $EE, $0A, $65, $43, $04, $1C, $44, $44, $1C, $04, $43, $E8, $02, $4F ; CPU:$EF7E PRG:6F7E 34 34 EE 0A 65 43 04 1C 44 44 1C 04 43 E8 02 4F + .byte $7F, $48, $EF, $64, $52, $03, $F0, $02, $06, $1B, $2B, $F0, $02, $0B, $E8, $01 ; CPU:$EF8E PRG:6F8E 7F 48 EF 64 52 03 F0 02 06 1B 2B F0 02 0B E8 01 + .byte $8F, $7F, $C8, $75, $2B, $67, $2B, $33, $43, $ED, $A0, $75, $53, $E8, $02, $CF ; CPU:$EF9E PRG:6F9E 8F 7F C8 75 2B 67 2B 33 43 ED A0 75 53 E8 02 CF + .byte $7F, $C8, $75, $03, $67, $03, $0B, $1B, $ED, $A0, $75, $2B, $E8, $03, $36, $7F ; CPU:$EFAE PRG:6FAE 7F C8 75 03 67 03 0B 1B ED A0 75 2B E8 03 36 7F + .byte $08, $75, $4B, $67, $4B, $53, $04, $EE, $58, $75, $14, $E8, $02, $44, $7F, $28 ; CPU:$EFBE PRG:6FBE 08 75 4B 67 4B 53 04 EE 58 75 14 E8 02 44 7F 28 + .byte $62, $53, $3B, $4B, $2B, $3B, $1B, $2B, $13, $F9, $05, $01, $44, $7F, $28, $62 ; CPU:$EFCE PRG:6FCE 62 53 3B 4B 2B 3B 1B 2B 13 F9 05 01 44 7F 28 62 + .byte $1B, $33, $4B, $04, $1C, $04, $4B, $33, $F9, $05, $02, $7F, $7F, $28, $61, $53 ; CPU:$EFDE PRG:6FDE 1B 33 4B 04 1C 04 4B 33 F9 05 02 7F 7F 28 61 53 + .byte $5B, $04, $62, $14, $0C, $61, $04, $5C, $EA, $0F, $63, $53, $EA, $3F, $61, $1B ; CPU:$EFEE PRG:6FEE 5B 04 62 14 0C 61 04 5C EA 0F 63 53 EA 3F 61 1B + .byte $23, $2B, $33, $3B, $33, $2B, $23, $1B, $13, $0B, $EA, $0F, $03, $E8, $02, $87 ; CPU:$EFFE PRG:6FFE 23 2B 33 3B 33 2B 23 1B 13 0B EA 0F 03 E8 02 87 + .byte $7F, $28, $61, $2B, $3B, $4B, $53, $04, $14, $24, $67, $2C, $61, $0C, $04, $5B ; CPU:$F00E PRG:700E 7F 28 61 2B 3B 4B 53 04 14 24 67 2C 61 0C 04 5B + .byte $53, $4B, $43, $E8, $03, $08, $7F, $08, $61, $42, $4A, $62, $52, $61, $5A, $03 ; CPU:$F01E PRG:701E 53 4B 43 E8 03 08 7F 08 61 42 4A 62 52 61 5A 03 + .byte $62, $0B, $61, $13, $1B, $64, $23, $61, $52, $5A, $62, $03, $61, $0B, $13, $62 ; CPU:$F02E PRG:702E 62 0B 61 13 1B 64 23 61 52 5A 62 03 61 0B 13 62 + .byte $1B, $61, $23, $2B, $65, $33, $61, $03, $0B, $62, $1B, $61, $1B, $23, $62, $2B ; CPU:$F03E PRG:703E 1B 61 23 2B 65 33 61 03 0B 62 1B 61 1B 23 62 2B + .byte $61, $33, $3B, $43, $E8, $03, $08, $7F, $08, $61, $03, $0B, $62, $13, $61, $1B ; CPU:$F04E PRG:704E 61 33 3B 43 E8 03 08 7F 08 61 03 0B 62 13 61 1B + .byte $23, $62, $2B, $61, $33, $3B, $43, $E8, $01, $03, $7F, $40, $66, $3B, $2B, $3B ; CPU:$F05E PRG:705E 23 62 2B 61 33 3B 43 E8 01 03 7F 40 66 3B 2B 3B + .byte $53, $14, $72, $2C, $E8, $02, $03, $7F, $40, $66, $2B, $13, $2B, $3B, $53, $72 ; CPU:$F06E PRG:706E 53 14 72 2C E8 02 03 7F 40 66 2B 13 2B 3B 53 72 + .byte $14, $E8, $01, $8F, $7F, $A8, $65, $3B, $1B, $2B, $13, $1B, $03, $13, $5A, $03 ; CPU:$F07E PRG:707E 14 E8 01 8F 7F A8 65 3B 1B 2B 13 1B 03 13 5A 03 + .byte $3A, $3A, $2A, $1A, $12, $02, $59, $02, $12, $1A, $2A, $1A, $3A, $4A, $5A, $74 ; CPU:$F08E PRG:708E 3A 3A 2A 1A 12 02 59 02 12 1A 2A 1A 3A 4A 5A 74 + .byte $03, $E8, $02, $4F, $7F, $A8, $65, $1B, $03, $13, $5A, $03, $4A, $5A, $3A, $3A ; CPU:$F09E PRG:709E 03 E8 02 4F 7F A8 65 1B 03 13 5A 03 4A 5A 3A 3A + .byte $1A, $1A, $12, $02, $59, $49, $39, $39, $41, $49, $59, $02, $12, $1A, $2A, $74 ; CPU:$F0AE PRG:70AE 1A 1A 12 02 59 49 39 39 41 49 59 02 12 1A 2A 74 + .byte $3A, $E8, $03, $30, $7F, $08, $6A, $04, $14, $1C, $14, $04, $5B, $4B, $5B, $04 ; CPU:$F0BE PRG:70BE 3A E8 03 30 7F 08 6A 04 14 1C 14 04 5B 4B 5B 04 + .byte $43, $3B, $1B, $74, $04, $E8, $01, $8F, $7F, $88, $66, $3B, $23, $2B, $13, $23 ; CPU:$F0CE PRG:70CE 43 3B 1B 74 04 E8 01 8F 7F 88 66 3B 23 2B 13 23 + .byte $03, $13, $5A, $03, $3A, $4A, $2A, $22, $12, $02, $59, $02, $22, $12, $2A, $22 ; CPU:$F0DE PRG:70DE 03 13 5A 03 3A 4A 2A 22 12 02 59 02 22 12 2A 22 + .byte $3A, $2A, $4A, $3A, $03, $5A, $03, $13, $3A, $4A, $5A, $E8, $02, $4F, $7F, $88 ; CPU:$F0EE PRG:70EE 3A 2A 4A 3A 03 5A 03 13 3A 4A 5A E8 02 4F 7F 88 + .byte $66, $23, $03, $13, $5A, $03, $4A, $5A, $3A, $4A, $22, $2A, $12, $02, $59, $49 ; CPU:$F0FE PRG:70FE 66 23 03 13 5A 03 4A 5A 3A 4A 22 2A 12 02 59 49 + .byte $39, $39, $02, $59, $12, $02, $22, $12, $2A, $22, $3A, $2A, $4A, $3A, $2A, $22 ; CPU:$F10E PRG:710E 39 39 02 59 12 02 22 12 2A 22 3A 2A 4A 3A 2A 22 + .byte $12, $E8, $03, $AD, $7F, $08, $6C, $03, $3B, $72, $04, $66, $3B, $2B, $23, $13 ; CPU:$F11E PRG:711E 12 E8 03 AD 7F 08 6C 03 3B 72 04 66 3B 2B 23 13 + .byte $6C, $03, $72, $13, $6C, $23, $2B, $3B, $4B, $3B, $66, $2B, $23, $13, $5A, $03 ; CPU:$F12E PRG:712E 6C 03 72 13 6C 23 2B 3B 4B 3B 66 2B 23 13 5A 03 + .byte $EE, $2A, $13, $E8, $01, $8F, $7F, $88, $66, $3B, $1B, $2B, $13, $1B, $03, $13 ; CPU:$F13E PRG:713E EE 2A 13 E8 01 8F 7F 88 66 3B 1B 2B 13 1B 03 13 + .byte $5A, $03, $3A, $42, $2A, $1A, $12, $02, $59, $02, $1A, $12, $2A, $1A, $3A, $2A ; CPU:$F14E PRG:714E 5A 03 3A 42 2A 1A 12 02 59 02 1A 12 2A 1A 3A 2A + .byte $42, $3A, $03, $5A, $03, $13, $3A, $4A, $5A, $E8, $02, $8F, $7F, $88, $66, $1B ; CPU:$F15E PRG:715E 42 3A 03 5A 03 13 3A 4A 5A E8 02 8F 7F 88 66 1B + .byte $03, $13, $5A, $03, $4A, $5A, $3A, $42, $1A, $2A, $12, $02, $59, $49, $39, $39 ; CPU:$F16E PRG:716E 03 13 5A 03 4A 5A 3A 42 1A 2A 12 02 59 49 39 39 + .byte $02, $59, $12, $02, $1A, $12, $2A, $1A, $3A, $2A, $42, $3A, $2A, $1A, $12, $E8 ; CPU:$F17E PRG:717E 02 59 12 02 1A 12 2A 1A 3A 2A 42 3A 2A 1A 12 E8 + .byte $03, $AD, $7F, $08, $6C, $03, $3B, $72, $04, $66, $3B, $2B, $1B, $13, $6C, $03 ; CPU:$F18E PRG:718E 03 AD 7F 08 6C 03 3B 72 04 66 3B 2B 1B 13 6C 03 + .byte $72, $13, $6C, $1B, $2B, $3B, $43, $3B, $66, $2B, $1B, $13, $5A, $03, $EE, $2A ; CPU:$F19E PRG:719E 72 13 6C 1B 2B 3B 43 3B 66 2B 1B 13 5A 03 EE 2A + .byte $13, $E8, $01, $47, $7F, $18, $61, $1D, $15, $0D, $05, $5C, $4C, $3C, $2C, $1C ; CPU:$F1AE PRG:71AE 13 E8 01 47 7F 18 61 1D 15 0D 05 5C 4C 3C 2C 1C + .byte $0C, $5B, $4B, $3B, $2B, $E8, $04, $1F, $7F, $40, $0A, $67, $1E, $1E, $EA, $0B ; CPU:$F1BE PRG:71BE 0C 5B 4B 3B 2B E8 04 1F 7F 40 0A 67 1E 1E EA 0B + .byte $6A, $1E, $1E, $1E, $E8, $02, $93, $ED, $30, $77, $21, $39, $21, $41, $39, $59 ; CPU:$F1CE PRG:71CE 6A 1E 1E 1E E8 02 93 ED 30 77 21 39 21 41 39 59 + .byte $41, $02, $E8, $02, $93, $F5, $30, $77, $13, $4A, $03, $42, $4A, $2A, $42, $22 ; CPU:$F1DE PRG:71DE 41 02 E8 02 93 F5 30 77 13 4A 03 42 4A 2A 42 22 + .byte $E8, $01, $82, $7F, $F8, $EF, $78, $13, $52, $3A, $1A, $72, $60, $66, $13, $72 ; CPU:$F1EE PRG:71EE E8 01 82 7F F8 EF 78 13 52 3A 1A 72 60 66 13 72 + .byte $52, $66, $3A, $68, $1A, $3A, $52, $32, $4A, $03, $78, $42, $03, $1B, $2B, $72 ; CPU:$F1FE PRG:71FE 52 66 3A 68 1A 3A 52 32 4A 03 78 42 03 1B 2B 72 + .byte $60, $66, $33, $72, $1B, $66, $5A, $68, $42, $32, $1A, $5A, $32, $1B, $F0, $03 ; CPU:$F20E PRG:720E 60 66 33 72 1B 66 5A 68 42 32 1A 5A 32 1B F0 03 + .byte $05, $E8, $02, $82, $7F, $F8, $78, $52, $3A, $1A, $12, $72, $60, $66, $51, $72 ; CPU:$F21E PRG:721E 05 E8 02 82 7F F8 78 52 3A 1A 12 72 60 66 51 72 + .byte $3A, $66, $1A, $68, $12, $1A, $3A, $1A, $32, $42, $78, $2A, $42, $03, $1B, $72 ; CPU:$F22E PRG:722E 3A 66 1A 68 12 1A 3A 1A 32 42 78 2A 42 03 1B 72 + .byte $60, $66, $1B, $72, $5A, $66, $42, $68, $3A, $1A, $59, $42, $32, $59, $F1, $03 ; CPU:$F23E PRG:723E 60 66 1B 72 5A 66 42 68 3A 1A 59 42 32 59 F1 03 + .byte $04, $E8, $03, $FE, $7F, $08, $C0, $14, $90, $14, $78, $53, $14, $C0, $04, $90 ; CPU:$F24E PRG:724E 04 E8 03 FE 7F 08 C0 14 90 14 78 53 14 C0 04 90 + .byte $5B, $78, $1C, $EE, $40, $2C, $EE, $FE, $F2, $03, $04, $E8, $02, $47, $7F, $18 ; CPU:$F25E PRG:725E 5B 78 1C EE 40 2C EE FE F2 03 04 E8 02 47 7F 18 + .byte $63, $53, $F9, $05, $E2, $06, $E0, $00, $E1, $B7, $E3, $60, $10, $C5, $92, $C9 ; CPU:$F26E PRG:726E 63 53 F9 05 E2 06 E0 00 E1 B7 E3 60 10 C5 92 C9 + .byte $89, $E7, $C9, $89, $E6, $01, $E2, $06, $E0, $00, $E1, $B7, $E3, $80, $10, $C5 ; CPU:$F27E PRG:727E 89 E7 C9 89 E6 01 E2 06 E0 00 E1 B7 E3 80 10 C5 + .byte $95, $E5, $C9, $89, $E4, $E7, $C9, $89, $E5, $E6, $01, $E2, $06, $E0, $00, $E1 ; CPU:$F28E PRG:728E 95 E5 C9 89 E4 E7 C9 89 E5 E6 01 E2 06 E0 00 E1 + .byte $A7, $E3, $60, $11, $C5, $91, $E5, $C9, $85, $E7, $C9, $85, $E4, $E6, $01, $E2 ; CPU:$F29E PRG:729E A7 E3 60 11 C5 91 E5 C9 85 E7 C9 85 E4 E6 01 E2 + .byte $0C, $E0, $50, $E1, $FF, $E3, $60, $0E, $C2, $8C, $92, $C2, $14, $E7, $CA, $49 ; CPU:$F2AE PRG:72AE 0C E0 50 E1 FF E3 60 0E C2 8C 92 C2 14 E7 CA 49 + .byte $E6, $01, $E2, $0C, $E0, $50, $E1, $FF, $E3, $60, $0E, $C2, $8C, $92, $C2, $14 ; CPU:$F2BE PRG:72BE E6 01 E2 0C E0 50 E1 FF E3 60 0E C2 8C 92 C2 14 + .byte $E7, $E4, $CA, $49, $E5, $E6, $01, $E2, $0C, $E0, $40, $E1, $FF, $E3, $80, $10 ; CPU:$F2CE PRG:72CE E7 E4 CA 49 E5 E6 01 E2 0C E0 40 E1 FF E3 80 10 + .byte $C2, $90, $E5, $92, $C2, $14, $E3, $40, $E7, $CA, $45, $E4, $E6, $01, $E6, $0B ; CPU:$F2DE PRG:72DE C2 90 E5 92 C2 14 E3 40 E7 CA 45 E4 E6 01 E6 0B + .byte $E3, $00, $EC, $0A, $ED, $0A, $E3, $20, $EA, $1A, $E6, $0B, $E3, $20, $CB, $42 ; CPU:$F2EE PRG:72EE E3 00 EC 0A ED 0A E3 20 EA 1A E6 0B E3 20 CB 42 + .byte $46, $46, $E6, $0A, $6C, $C3, $46, $EC, $06, $ED, $EA, $2F, $E6, $0B, $E3, $20 ; CPU:$F2FE PRG:72FE 46 46 E6 0A 6C C3 46 EC 06 ED EA 2F E6 0B E3 20 + .byte $CB, $42, $46, $E6, $0A, $6C, $C4, $46, $EC, $14, $ED, $0C, $EA, $2F, $CB, $42 ; CPU:$F30E PRG:730E CB 42 46 E6 0A 6C C4 46 EC 14 ED 0C EA 2F CB 42 + .byte $C1, $46, $E6, $0A, $6C, $C3, $46, $08, $90, $9A, $97, $93, $8F, $8C, $88, $88 ; CPU:$F31E PRG:731E C1 46 E6 0A 6C C3 46 08 90 9A 97 93 8F 8C 88 88 + .byte $E6, $0C, $E3, $60, $E6, $01, $E3, $20, $E2, $00, $CB, $42, $C1, $46, $E6, $0A ; CPU:$F32E PRG:732E E6 0C E3 60 E6 01 E3 20 E2 00 CB 42 C1 46 E6 0A + .byte $6C, $C3, $46, $08, $90, $9A, $97, $93, $8F, $8C, $CB, $88, $E8, $CC, $88, $88 ; CPU:$F33E PRG:733E 6C C3 46 08 90 9A 97 93 8F 8C CB 88 E8 CC 88 88 + .byte $E6, $0A, $E8, $E9, $E2, $09, $EB, $0E, $4A, $49, $49, $4E, $53, $4E, $52, $C2 ; CPU:$F34E PRG:734E E6 0A E8 E9 E2 09 EB 0E 4A 49 49 4E 53 4E 52 C2 + .byte $14, $92, $14, $8D, $8C, $91, $14, $CB, $88, $E8, $CC, $88, $08, $E6, $0A, $E8 ; CPU:$F35E PRG:735E 14 92 14 8D 8C 91 14 CB 88 E8 CC 88 08 E6 0A E8 + .byte $E9, $EA, $24, $E2, $00, $E3, $20, $CB, $42, $C2, $46, $E6, $0A, $4C, $46, $17 ; CPU:$F36E PRG:736E E9 EA 24 E2 00 E3 20 CB 42 C2 46 E6 0A 4C 46 17 + .byte $1E, $C5, $85, $45, $45, $46, $46, $50, $10, $86, $86, $86, $88, $E6, $0A, $E8 ; CPU:$F37E PRG:737E 1E C5 85 45 45 46 46 50 10 86 86 86 88 E6 0A E8 + .byte $E9, $E8, $EB, $E2, $09, $C2, $0C, $C3, $4A, $4E, $5C, $1E, $88, $86, $86, $86 ; CPU:$F38E PRG:738E E9 E8 EB E2 09 C2 0C C3 4A 4E 5C 1E 88 86 86 86 + .byte $8D, $45, $46, $45, $46, $49, $51, $8A, $C4, $85, $E6, $0A, $E8, $E9, $E8, $E2 ; CPU:$F39E PRG:739E 8D 45 46 45 46 49 51 8A C4 85 E6 0A E8 E9 E8 E2 + .byte $09, $0C, $C3, $4A, $4E, $52, $56, $14, $50, $14, $99, $88, $C4, $84, $86, $86 ; CPU:$F3AE PRG:73AE 09 0C C3 4A 4E 52 56 14 50 14 99 88 C4 84 86 86 + .byte $C4, $46, $4D, $C2, $85, $96, $E6, $0A, $E8, $E9, $E8, $E3, $20, $E2, $09, $C2 ; CPU:$F3BE PRG:73BE C4 46 4D C2 85 96 E6 0A E8 E9 E8 E3 20 E2 09 C2 + .byte $0C, $C3, $4A, $4E, $5C, $1E, $88, $86, $86, $86, $8D, $45, $46, $45, $46, $49 ; CPU:$F3CE PRG:73CE 0C C3 4A 4E 5C 1E 88 86 86 86 8D 45 46 45 46 49 + .byte $51, $8A, $C4, $85, $E6, $0A, $E8, $E9, $E8, $EA, $23, $E2, $00, $E3, $20, $CB ; CPU:$F3DE PRG:73DE 51 8A C4 85 E6 0A E8 E9 E8 EA 23 E2 00 E3 20 CB + .byte $44, $16, $4E, $17, $D7, $46, $0F, $51, $55, $14, $9E, $9E, $88, $E6, $0A, $D8 ; CPU:$F3EE PRG:73EE 44 16 4E 17 D7 46 0F 51 55 14 9E 9E 88 E6 0A D8 + .byte $EB, $E6, $0A, $E8, $E9, $E8, $EA, $22, $E2, $00, $E3, $20, $C5, $44, $C7, $45 ; CPU:$F3FE PRG:73FE EB E6 0A E8 E9 E8 EA 22 E2 00 E3 20 C5 44 C7 45 + .byte $C5, $10, $0D, $E3, $00, $C1, $84, $E6, $05, $E3, $20, $10, $E6, $0A, $E8, $E9 ; CPU:$F40E PRG:740E C5 10 0D E3 00 C1 84 E6 05 E3 20 10 E6 0A E8 E9 + .byte $E8, $EB, $E2, $09, $10, $47, $46, $45, $4B, $54, $4E, $18, $D7, $46, $C3, $13 ; CPU:$F41E PRG:741E E8 EB E2 09 10 47 46 45 4B 54 4E 18 D7 46 C3 13 + .byte $9E, $9E, $88, $E6, $0A, $E8, $E9, $E8, $EA, $22, $E3, $00, $C5, $0F, $E3, $20 ; CPU:$F42E PRG:742E 9E 9E 88 E6 0A E8 E9 E8 EA 22 E3 00 C5 0F E3 20 + .byte $04, $C5, $84, $E6, $01, $E3, $00, $C7, $0F, $E3, $20, $CB, $44, $16, $4E, $17 ; CPU:$F43E PRG:743E 04 C5 84 E6 01 E3 00 C7 0F E3 20 CB 44 16 4E 17 + .byte $D7, $46, $0F, $51, $55, $14, $94, $14, $9D, $8E, $E6, $0A, $E8, $E6, $09, $E2 ; CPU:$F44E PRG:744E D7 46 0F 51 55 14 94 14 9D 8E E6 0A E8 E6 09 E2 + .byte $00, $E3, $20, $CB, $44, $16, $4E, $17, $D7, $46, $0F, $51, $55, $14, $9E, $9E ; CPU:$F45E PRG:745E 00 E3 20 CB 44 16 4E 17 D7 46 0F 51 55 14 9E 9E + .byte $88, $E6, $0A, $E8, $E9, $E8, $EB, $E2, $0C, $10, $E2, $09, $10, $47, $46, $45 ; CPU:$F46E PRG:746E 88 E6 0A E8 E9 E8 EB E2 0C 10 E2 09 10 47 46 45 + .byte $4B, $54, $4E, $18, $D7, $46, $C3, $13, $9E, $9E, $88, $E6, $0A, $E8, $E9, $E8 ; CPU:$F47E PRG:747E 4B 54 4E 18 D7 46 C3 13 9E 9E 88 E6 0A E8 E9 E8 + .byte $EA, $28, $E0, $54, $E1, $FF, $E2, $0C, $E3, $60, $CA, $08, $8E, $14, $97, $94 ; CPU:$F48E PRG:748E EA 28 E0 54 E1 FF E2 0C E3 60 CA 08 8E 14 97 94 + .byte $91, $8E, $8C, $8A, $C3, $88, $8A, $8C, $8E, $90, $88, $E6, $04, $E0, $00, $E1 ; CPU:$F49E PRG:749E 91 8E 8C 8A C3 88 8A 8C 8E 90 88 E6 04 E0 00 E1 + .byte $B7, $E2, $06, $E3, $60, $1F, $97, $92, $14, $94, $14, $97, $8F, $90, $C2, $10 ; CPU:$F4AE PRG:74AE B7 E2 06 E3 60 1F 97 92 14 94 14 97 8F 90 C2 10 + .byte $CB, $83, $C4, $10, $C9, $86, $E6, $04, $E0, $54, $E1, $FF, $E2, $0C, $E3, $60 ; CPU:$F4BE PRG:74BE CB 83 C4 10 C9 86 E6 04 E0 54 E1 FF E2 0C E3 60 + .byte $CC, $08, $90, $10, $10, $E3, $00, $CB, $81, $E3, $60, $10, $10, $10, $48, $E6 ; CPU:$F4CE PRG:74CE CC 08 90 10 10 E3 00 CB 81 E3 60 10 10 10 48 E6 + .byte $04, $E0, $00, $E1, $B7, $E2, $06, $E3, $60, $1E, $C4, $10, $D7, $95, $E6, $04 ; CPU:$F4DE PRG:74DE 04 E0 00 E1 B7 E2 06 E3 60 1E C4 10 D7 95 E6 04 + .byte $E0, $54, $E1, $FF, $E2, $0C, $E3, $60, $18, $C4, $10, $06, $C4, $8C, $86, $E3 ; CPU:$F4EE PRG:74EE E0 54 E1 FF E2 0C E3 60 18 C4 10 06 C4 8C 86 E3 + .byte $00, $CB, $81, $E3, $60, $06, $C4, $4C, $4E, $E6, $04, $E0, $54, $E1, $FF, $E2 ; CPU:$F4FE PRG:74FE 00 CB 81 E3 60 06 C4 4C 4E E6 04 E0 54 E1 FF E2 + .byte $0C, $E3, $60, $18, $C4, $10, $06, $C4, $4C, $46, $E3, $00, $CB, $41, $E3, $60 ; CPU:$F50E PRG:750E 0C E3 60 18 C4 10 06 C4 4C 46 E3 00 CB 41 E3 60 + .byte $06, $C4, $8C, $8E, $E6, $04, $E0, $00, $E1, $B7, $E2, $06, $E3, $60, $C3, $14 ; CPU:$F51E PRG:751E 06 C4 8C 8E E6 04 E0 00 E1 B7 E2 06 E3 60 C3 14 + .byte $E3, $00, $CB, $81, $E3, $60, $07, $C5, $50, $C3, $10, $CB, $49, $1C, $E3, $00 ; CPU:$F52E PRG:752E E3 00 CB 81 E3 60 07 C5 50 C3 10 CB 49 1C E3 00 + .byte $C5, $81, $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3, $60, $18, $E3 ; CPU:$F53E PRG:753E C5 81 E3 60 E6 04 E0 50 E1 FF E2 0C E3 60 18 E3 + .byte $00, $C5, $41, $E3, $60, $02, $CB, $85, $CB, $45, $D7, $85, $CB, $45, $CA, $85 ; CPU:$F54E PRG:754E 00 C5 41 E3 60 02 CB 85 CB 45 D7 85 CB 45 CA 85 + .byte $81, $E3, $00, $C5, $41, $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3 ; CPU:$F55E PRG:755E 81 E3 00 C5 41 E3 60 E6 04 E0 50 E1 FF E2 0C E3 + .byte $60, $18, $E3, $00, $C5, $81, $E3, $60, $02, $CB, $45, $CB, $85, $D7, $45, $CB ; CPU:$F56E PRG:756E 60 18 E3 00 C5 81 E3 60 02 CB 45 CB 85 D7 45 CB + .byte $85, $CA, $45, $41, $E3, $00, $C5, $81, $E3, $60, $E6, $04, $E0, $00, $E1, $B7 ; CPU:$F57E PRG:757E 85 CA 45 41 E3 00 C5 81 E3 60 E6 04 E0 00 E1 B7 + .byte $E2, $03, $E3, $60, $16, $92, $99, $14, $4E, $47, $C6, $46, $C2, $4C, $48, $C6 ; CPU:$F58E PRG:758E E2 03 E3 60 16 92 99 14 4E 47 C6 46 C2 4C 48 C6 + .byte $44, $48, $C2, $4C, $48, $4B, $C3, $4A, $45, $46, $48, $C2, $4C, $48, $C6, $44 ; CPU:$F59E PRG:759E 44 48 C2 4C 48 4B C3 4A 45 46 48 C2 4C 48 C6 44 + .byte $48, $C2, $4C, $48, $4B, $C3, $4A, $45, $46, $48, $C2, $4C, $48, $C6, $44, $48 ; CPU:$F5AE PRG:75AE 48 C2 4C 48 4B C3 4A 45 46 48 C2 4C 48 C6 44 48 + .byte $C2, $4C, $48, $46, $44, $43, $46, $46, $46, $47, $4E, $59, $14, $92, $86, $E6 ; CPU:$F5BE PRG:75BE C2 4C 48 46 44 43 46 46 46 47 4E 59 14 92 86 E6 + .byte $04, $E0, $50, $E1, $00, $E2, $12, $E3, $60, $CB, $91, $CB, $8D, $CB, $8B, $CB ; CPU:$F5CE PRG:75CE 04 E0 50 E1 00 E2 12 E3 60 CB 91 CB 8D CB 8B CB + .byte $89, $CB, $86, $CB, $84, $E3, $00, $C2, $44, $20, $E3, $60, $E6, $04, $E0, $00 ; CPU:$F5DE PRG:75DE 89 CB 86 CB 84 E3 00 C2 44 20 E3 60 E6 04 E0 00 + .byte $E1, $B7, $E2, $06, $E3, $60, $0C, $8F, $9B, $14, $94, $14, $0F, $5A, $4E, $CC ; CPU:$F5EE PRG:75EE E1 B7 E2 06 E3 60 0C 8F 9B 14 94 14 0F 5A 4E CC + .byte $47, $4E, $5A, $4F, $0F, $9A, $8E, $CC, $87, $8E, $9A, $8F, $16, $9E, $88, $CC ; CPU:$F5FE PRG:75FE 47 4E 5A 4F 0F 9A 8E CC 87 8E 9A 8F 16 9E 88 CC + .byte $89, $88, $9E, $96, $14, $14, $9B, $14, $8F, $84, $E6, $04, $E0, $50, $E1, $FF ; CPU:$F60E PRG:760E 89 88 9E 96 14 14 9B 14 8F 84 E6 04 E0 50 E1 FF + .byte $E2, $0C, $E3, $60, $10, $1C, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00 ; CPU:$F61E PRG:761E E2 0C E3 60 10 1C E3 00 C5 81 E3 60 10 0C E3 00 + .byte $C5, $41, $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00 ; CPU:$F62E PRG:762E C5 41 E3 60 10 14 E3 00 C5 81 E3 60 10 0C E3 00 + .byte $C5, $41, $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $10, $0C, $E3, $00 ; CPU:$F63E PRG:763E C5 41 E3 60 10 14 E3 00 C5 81 E3 60 10 0C E3 00 + .byte $C5, $41, $E3, $60, $10, $14, $E3, $00, $C5, $81, $E3, $60, $E6, $04, $E0, $00 ; CPU:$F64E PRG:764E C5 41 E3 60 10 14 E3 00 C5 81 E3 60 E6 04 E0 00 + .byte $E1, $B7, $E2, $06, $E3, $60, $18, $92, $C6, $10, $8C, $84, $C4, $82, $84, $8C ; CPU:$F65E PRG:765E E1 B7 E2 06 E3 60 18 92 C6 10 8C 84 C4 82 84 8C + .byte $90, $10, $90, $12, $52, $48, $44, $C4, $42, $44, $48, $52, $52, $0E, $8E, $86 ; CPU:$F66E PRG:766E 90 10 90 12 52 48 44 C4 42 44 48 52 52 0E 8E 86 + .byte $83, $C4, $82, $83, $86, $8E, $8E, $0E, $4E, $46, $43, $C4, $42, $43, $46, $4B ; CPU:$F67E PRG:767E 83 C4 82 83 86 8E 8E 0E 4E 46 43 C4 42 43 46 4B + .byte $46, $E3, $00, $C5, $81, $E3, $60, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C, $E3 ; CPU:$F68E PRG:768E 46 E3 00 C5 81 E3 60 E6 04 E0 50 E1 FF E2 0C E3 + .byte $60, $10, $10, $E3, $00, $C5, $41, $E3, $60, $C6, $08, $E3, $00, $C8, $81, $E3 ; CPU:$F69E PRG:769E 60 10 10 E3 00 C5 41 E3 60 C6 08 E3 00 C8 81 E3 + .byte $60, $D0, $0C, $E3, $00, $C8, $41, $E3, $60, $E6, $04, $E0, $00, $E1, $B7, $E2 ; CPU:$F6AE PRG:76AE 60 D0 0C E3 00 C8 41 E3 60 E6 04 E0 00 E1 B7 E2 + .byte $06, $E3, $60, $0C, $C5, $84, $C4, $10, $18, $C9, $44, $C2, $10, $C7, $86, $C2 ; CPU:$F6BE PRG:76BE 06 E3 60 0C C5 84 C4 10 18 C9 44 C2 10 C7 86 C2 + .byte $10, $C9, $44, $18, $C4, $10, $C5, $84, $E6, $04, $E0, $50, $E1, $FF, $E2, $0C ; CPU:$F6CE PRG:76CE 10 C9 44 18 C4 10 C5 84 E6 04 E0 50 E1 FF E2 0C + .byte $E3, $60, $C8, $08, $E4, $08, $4D, $4B, $48, $C4, $47, $48, $4B, $4D, $50, $4D ; CPU:$F6DE PRG:76DE E3 60 C8 08 E4 08 4D 4B 48 C4 47 48 4B 4D 50 4D + .byte $4B, $48, $C4, $47, $48, $4B, $4D, $56, $E5, $93, $10, $90, $8E, $98, $91, $E5 ; CPU:$F6EE PRG:76EE 4B 48 C4 47 48 4B 4D 56 E5 93 10 90 8E 98 91 E5 + .byte $C1, $83, $84, $85, $86, $88, $8C, $88, $86, $85, $84, $C2, $83, $84, $85, $86 ; CPU:$F6FE PRG:76FE C1 83 84 85 86 88 8C 88 86 85 84 C2 83 84 85 86 + .byte $88, $8C, $88, $86, $85, $84, $E4, $92, $E6, $04, $E0, $40, $E1, $FF, $E2, $0C ; CPU:$F70E PRG:770E 88 8C 88 86 85 84 E4 92 E6 04 E0 40 E1 FF E2 0C + .byte $E3, $60, $C8, $08, $E5, $06, $48, $46, $45, $44, $C2, $43, $44, $45, $46, $48 ; CPU:$F71E PRG:771E E3 60 C8 08 E5 06 48 46 45 44 C2 43 44 45 46 48 + .byte $4C, $48, $46, $45, $44, $C2, $43, $44, $45, $46, $48, $56, $E4, $96, $E4, $10 ; CPU:$F72E PRG:772E 4C 48 46 45 44 C2 43 44 45 46 48 56 E4 96 E4 10 + .byte $92, $94, $90, $10, $95, $C1, $85, $87, $88, $8B, $8D, $90, $8D, $8B, $88, $C4 ; CPU:$F73E PRG:773E 92 94 90 10 95 C1 85 87 88 8B 8D 90 8D 8B 88 C4 + .byte $87, $88, $8B, $8D, $90, $8D, $8B, $88, $87, $87, $E5, $19, $12, $E6, $04, $E0 ; CPU:$F74E PRG:774E 87 88 8B 8D 90 8D 8B 88 87 87 E5 19 12 E6 04 E0 + .byte $00, $E1, $A7, $E2, $06, $E3, $60, $1C, $95, $14, $9E, $96, $14, $93, $E5, $D7 ; CPU:$F75E PRG:775E 00 E1 A7 E2 06 E3 60 1C 95 14 9E 96 14 93 E5 D7 + .byte $89, $E4, $13, $4C, $14, $4E, $E6, $04, $E0, $00, $E1, $B7, $E2, $06, $E3, $60 ; CPU:$F76E PRG:776E 89 E4 13 4C 14 4E E6 04 E0 00 E1 B7 E2 06 E3 60 + .byte $1D, $9A, $14, $8F, $14, $99, $14, $97, $E4, $D7, $8D, $E5, $06, $51, $14, $4C ; CPU:$F77E PRG:777E 1D 9A 14 8F 14 99 14 97 E4 D7 8D E5 06 51 14 4C + .byte $E6, $04 ; CPU:$F78E PRG:778E E6 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_F790 ; Global: Branch target inside Sub: taken when F790. @@ -4228,39 +13531,39 @@ Sub_ED60: ; ----------------------------------------------------------------------------- Sub_F790: ldx #$00 ; CPU:$F790 PRG:7790 A2 00 - stx Zp00 ; CPU:$F792 PRG:7792 86 00 + stx StarFieldPtrLo ; CPU:$F792 PRG:7792 86 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Routine: NmiHandler_OnNonzero64 +; Global: Branch target inside NmiHandler: taken when OnNonzero64. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero16: +NmiHandler_OnNonzero64: lda $F7B4,x ; CPU:$F794 PRG:7794 BD B4 F7 sta $04C0,x ; CPU:$F797 PRG:7797 9D C0 04 jsr Sub_C317 ; CPU:$F79A PRG:779A 20 17 C3 inx ; CPU:$F79D PRG:779D E8 cpx #$2A ; CPU:$F79E PRG:779E E0 2A - bne NmiHandler_OnNonzero16 ; CPU:$F7A0 PRG:77A0 D0 F2 + bne NmiHandler_OnNonzero64 ; CPU:$F7A0 PRG:77A0 D0 F2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero3 -; Global: Branch target inside NmiHandler: taken when OnZero3. +; Routine: NmiHandler_OnZero14 +; Global: Branch target inside NmiHandler: taken when OnZero14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero3: +NmiHandler_OnZero14: jsr Sub_C317 ; CPU:$F7A2 PRG:77A2 20 17 C3 sta $04C0,x ; CPU:$F7A5 PRG:77A5 9D C0 04 and #$03 ; CPU:$F7A8 PRG:77A8 29 03 cmp #$03 ; CPU:$F7AA PRG:77AA C9 03 - beq NmiHandler_OnZero3 ; CPU:$F7AC PRG:77AC F0 F4 + beq NmiHandler_OnZero14 ; CPU:$F7AC PRG:77AC F0 F4 inx ; CPU:$F7AE PRG:77AE E8 cpx #$C0 ; CPU:$F7AF PRG:77AF E0 C0 - bne NmiHandler_OnZero3 ; CPU:$F7B1 PRG:77B1 D0 EF + bne NmiHandler_OnZero14 ; CPU:$F7B1 PRG:77B1 D0 EF rts ; CPU:$F7B3 PRG:77B3 60 ; ---- data $F7B4-$FFFF (2124 bytes) ---- ; referenced by `lda $FA0C,y` at $C61B (operand $FA0C falls inside this region) @@ -4269,8 +13572,9 @@ NmiHandler_OnZero3: ; referenced by `lda $FA58,y` at $C642 (operand $FA58 falls inside this region) ; referenced by `lda $FA28,y` at $C682 (operand $FA28 falls inside this region) ; referenced by `lda $FA58,y` at $C6F6 (operand $FA58 falls inside this region) -; ... and 9 further references from decoded code - .byte $42, $57, $1B, $65, $58, $1B, $60, $91, $1B, $3D, $82, $1B, $4A, $6F, $1B, $51 ; CPU:$F7B4 PRG:77B4 42 57 1B 65 58 1B 60 91 1B 3D 82 1B 4A 6F 1B 51 +; ... and 47 further references from decoded code +SpriteGraphicData: + .byte $42, $57, $1B, $65, $58, $1B, $60, $91, $1B, $3D, $82, $1B, $4A, $6F, $1B, $51 ; CPU:$F7B4 PRG:37B4 42 57 1B 65 58 1B 60 91 1B 3D 82 1B 4A 6F 1B 51 .byte $70, $1B, $58, $71, $1B, $9D, $28, $1B, $9D, $3B, $1B, $B0, $40, $1B, $BA, $2F ; CPU:$F7C4 PRG:77C4 70 1B 58 71 1B 9D 28 1B 9D 3B 1B B0 40 1B BA 2F .byte $1B, $C9, $32, $1B, $DA, $3C, $1B, $EA, $3F, $1B, $46, $2E, $4B, $FF, $FF, $FF ; CPU:$F7D4 PRG:77D4 1B C9 32 1B DA 3C 1B EA 3F 1B 46 2E 4B FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7E4 PRG:77E4 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF diff --git a/NROM/Kung Fu (U) (a1)/README.md b/NROM/Kung Fu (U) (a1)/README.md index 024e8a9..ee40687 100644 --- a/NROM/Kung Fu (U) (a1)/README.md +++ b/NROM/Kung Fu (U) (a1)/README.md @@ -2,66 +2,71 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 16,925 / 32,768 bytes (51.7%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Vertical | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $82D6 | | RESET vector | $8258 | | IRQ vector | $FFF0 | -| ROM file | `Kung Fu (U) [a1].nes` | -| SHA-256 | `9e8383b3bd99ccf9bc972c57d37599604e969aebab7a8f0c9428112fafb6b82d` | -### Header notes +## Power-on flow -- none +RESET enters at `$8258`: -## Open work + sei ; CPU:$8258 PRG:0258 78 + cld ; CPU:$8259 PRG:0259 D8 + lda #$00 ; CPU:$825A PRG:025A A9 00 + sta PPUCTRL ; CPU:$825C PRG:025C 8D 00 20 + ldx #$FF ; CPU:$825F PRG:025F A2 FF + txs ; CPU:$8261 PRG:0261 9A + lda PPUSTATUS ; CPU:$8262 PRG:0262 AD 02 20 + asl a ; CPU:$8265 PRG:0265 0A + bcc Reset_OnCarryClear ; CPU:$8266 PRG:0266 90 FA + lda PPUSTATUS ; CPU:$8268 PRG:0268 AD 02 20 + asl a ; CPU:$826B PRG:026B 0A + bcc Reset_OnCarryClear2 ; CPU:$826C PRG:026C 90 FA -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$82D6`: -## Files + lda Zp10 ; CPU:$82D6 PRG:02D6 A5 10 + and #$7F ; CPU:$82D8 PRG:02D8 29 7F + sta PPUCTRL ; CPU:$82DA PRG:02DA 8D 00 20 + sta Zp10 ; CPU:$82DD PRG:02DD 85 10 + lda #$00 ; CPU:$82DF PRG:02DF A9 00 + sta PPUMASK ; CPU:$82E1 PRG:02E1 8D 01 20 + sta OAMADDR ; CPU:$82E4 PRG:02E4 8D 03 20 + ldy #$02 ; CPU:$82E7 PRG:02E7 A0 02 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$8257` (600 bytes) - `LevelHandlerPointerTable` +- `$8437-$84E9` (179 bytes) - `LevelObjectDefinitionTable` +- `$8CA2-$8DE6` (325 bytes) - `SpriteOamEntryTable` +- `$904A-$981F` (2006 bytes) - `EnemyNameTextTable` +- `$9828-$A495` (3182 bytes) - `EnemySpritePatternTable` +- `$B6E1-$B727` (71 bytes) - `LevelObjectSpawnTable` +- `$BB83-$BDD1` (591 bytes) - `SpriteOamAttributeTable` +- `$CDEB-$CFCA` (480 bytes) - `EnemyAnimationFrameTable` +- `$D385-$D3C4` (64 bytes) - `LevelSceneryData` +- `$DAE6-$DAE9` (4 bytes) - `LevelSceneryPadding` +- `$DB48-$F830` (7401 bytes) - `LevelGraphicData` +- `$F981-$F9B8` (56 bytes) - `EnemyMovementSpeedTable` +- `$FA36-$FA89` (84 bytes) - `EnemyMovementDeltaTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Kung Fu (U) (a1)/labelmap.tsv b/NROM/Kung Fu (U) (a1)/labelmap.tsv index 5691832..e0a8cf8 100644 --- a/NROM/Kung Fu (U) (a1)/labelmap.tsv +++ b/NROM/Kung Fu (U) (a1)/labelmap.tsv @@ -1,5 +1,6 @@ 8258 Reset 82D6 NmiHandler +FFF0 IrqHandler # ---- derived internal branch-target names ---- 8258 Reset @@ -27,131 +28,1111 @@ 83F5 NmiHandler_Loop9 83FF Sub_83FF 8436 NmiHandler_Loop10 +84EA Sub_84EA +8505 NmiHandler_OnNonnegative2 +850F NmiHandler_OnNonzero3 +851B NmiHandler_OnNonzero4 +852A NmiHandler_Loop11 +8530 NmiHandler_OnNonnegative3 +8549 NmiHandler_Loop12 +8551 NmiHandler_OnNonnegative4 +8561 NmiHandler_OnCarryClear +857B NmiHandler_Loop13 +8582 NmiHandler_OnNonnegative5 +8593 NmiHandler_Loop14 +8597 NmiHandler_OnNonnegative6 +8615 NmiHandler_OnNonnegative7 +8628 NmiHandler_Loop15 +8629 Sub_8629 +862B Sub_862B +8664 NmiHandler_Loop16 +868A Sub_868A +868C NmiHandler_OnNonnegative8 +8699 NmiHandler_Loop17 +869C Sub_869C +869E NmiHandler_OnNonnegative9 +86A9 NmiHandler_Loop18 +86C0 NmiHandler_Loop19 +86C5 NmiHandler_OnNonnegative10 +86D7 NmiHandler_OnNonnegative11 +86E8 NmiHandler_OnNonnegative12 +8712 NmiHandler_Loop20 +8725 NmiHandler_Loop21 +8766 NmiHandler_Loop22 +877E NmiHandler_Loop23 +8786 NmiHandler_Loop24 +8792 NmiHandler_Loop25 +87AC NmiHandler_Loop26 +87B5 NmiHandler_Loop27 +87C0 NmiHandler_Loop28 +87D0 Sub_87D0 +87E8 NmiHandler_Loop29 +87ED NmiHandler_Loop30 +87FB NmiHandler_Loop31 +880D NmiHandler_Loop32 +8846 NmiHandler_Loop33 +8849 Sub_8849 +8858 NmiHandler_Loop34 +8863 NmiHandler_Loop35 +886A NmiHandler_Loop36 +886D NmiHandler_Loop37 +8887 NmiHandler_Loop38 +888D NmiHandler_Loop39 +888F NmiHandler_OnCarryClear2 +88A3 NmiHandler_OnNonnegative13 +88C2 NmiHandler_Loop40 +88D2 NmiHandler_Loop41 88D4 Sub_88D4 +88DA Sub_88DA +88E8 NmiHandler_Loop42 88E9 Sub_88E9 -88FA NmiHandler_Loop11 -891D NmiHandler_Loop12 -8920 NmiHandler_Loop13 -8921 NmiHandler_Loop14 -8925 NmiHandler_Loop15 -8927 NmiHandler_Loop16 -896A Sub_896A +88FA NmiHandler_Loop43 +891D NmiHandler_Loop44 +8920 NmiHandler_Loop45 +8921 NmiHandler_Loop46 +8925 NmiHandler_Loop47 +8927 NmiHandler_Loop48 +892E NmiHandler_OnNonzero5 +892F NmiHandler_OnNonzero6 +893F NmiHandler_Loop49 +8953 NmiHandler_Loop50 +8956 NmiHandler_Loop51 +896A NmiHandler_Loop52 +8985 NmiHandler_OnNonnegative14 +89A3 NmiHandler_OnZero +89B9 NmiHandler_Loop53 +89CF Sub_89CF +89E0 NmiHandler_OnNonzero7 +89E1 NmiHandler_Loop54 +89F2 NmiHandler_Loop55 +8A0A NmiHandler_Loop56 +8A0E NmiHandler_Loop57 +8A17 NmiHandler_Loop58 +8A1E Sub_8A1E +8A33 NmiHandler_Loop59 +8A40 Sub_8A40 +8A49 Sub_8A49 +8A51 NmiHandler_OnNonzero8 +8A64 NmiHandler_Loop60 +8A67 Sub_8A67 +8A6F NmiHandler_OnNonzero9 +8A82 NmiHandler_Loop61 +8A85 Sub_8A85 +8A8D NmiHandler_OnNonzero10 +8AA0 NmiHandler_Loop62 +8AA2 NmiHandler_Loop63 +8AAA NmiHandler_OnNonzero11 +8ACA NmiHandler_Loop64 +8ACF NmiHandler_OnNonzero12 +8AE2 NmiHandler_Loop65 +8AE8 NmiHandler_Loop66 +8AEE Sub_8AEE +8B1E NmiHandler_Loop67 +8B2E NmiHandler_Loop68 +8B33 NmiHandler_Loop69 +8B37 NmiHandler_Loop70 +8B98 NmiHandler_Loop71 +8B9F NmiHandler_OnNonzero13 +8BAC NmiHandler_Loop72 +8BB4 NmiHandler_Loop73 +8BC1 NmiHandler_Loop74 +8BCD NmiHandler_Loop75 +8BEC Sub_8BEC +8BF4 NmiHandler_Loop76 +8BFE NmiHandler_Loop77 +8C0A NmiHandler_Loop78 +8C1E NmiHandler_Loop79 +8C33 NmiHandler_Loop80 +8C34 NmiHandler_Loop81 +8C43 NmiHandler_Loop82 +8C45 NmiHandler_OnCarryClear3 +8C73 NmiHandler_Loop83 +8C7E NmiHandler_Loop84 +8DF4 Sub_8DF4 +8DFD Sub_8DFD +8E11 NmiHandler_Loop85 +8E22 NmiHandler_Loop86 8E25 Sub_8E25 8E34 Sub_8E34 +8E3A NmiHandler_OnZero2 +8E68 NmiHandler_Loop87 +8E8E NmiHandler_Loop88 +8E98 NmiHandler_Loop89 +8E9A NmiHandler_Loop90 +8E9D Sub_8E9D +8EB3 Sub_8EB3 +8EC7 Sub_8EC7 +8ED5 NmiHandler_OnNonzero14 +8ED7 NmiHandler_OnNonzero15 +8EDE Sub_8EDE +8EE2 NmiHandler_OnNonzero16 +8EF6 NmiHandler_OnNonzero17 +8EFD NmiHandler_Loop91 +8F03 NmiHandler_Loop92 +8F0A NmiHandler_Loop93 +8F0E NmiHandler_OnNonzero18 +8F15 NmiHandler_Loop94 +8F1B NmiHandler_Loop95 +8F1E NmiHandler_Loop96 +8F29 NmiHandler_OnNonzero19 +8F41 NmiHandler_OnNonzero20 +8F65 NmiHandler_Loop97 8F6C Sub_8F6C 8F7B Sub_8F7B -8F97 NmiHandler_OnNonzero3 -8FB1 NmiHandler_OnNonzero4 +8F97 NmiHandler_OnNonzero21 +8FB1 NmiHandler_OnNonzero22 8FB8 Sub_8FB8 8FBE Sub_8FBE -8FC2 NmiHandler_OnNonzero5 +8FC2 NmiHandler_OnNonzero23 8FC9 Sub_8FC9 8FDD Sub_8FDD -8FF1 NmiHandler_OnNonzero6 -8FFF NmiHandler_OnNonzero7 -9049 NmiHandler_Loop17 -DAEA NmiHandler_OnNonzero8 -DB01 NmiHandler_Loop18 -DB0E NmiHandler_Loop19 -DB13 NmiHandler_Loop20 -DB16 NmiHandler_OnNonzero9 -DB19 NmiHandler_Loop21 -DB32 NmiHandler_Loop22 +8FF1 NmiHandler_OnNonzero24 +8FFF NmiHandler_OnNonzero25 +9049 NmiHandler_Loop98 +A496 Sub_A496 +A4AF NmiHandler_Loop99 +A4BA NmiHandler_Loop100 +A4C7 NmiHandler_Loop101 +A4DE NmiHandler_Loop102 +A4E0 NmiHandler_Loop103 +A4E1 NmiHandler_Loop104 +A4F0 NmiHandler_Loop105 +A4FA Sub_A4FA +A51F NmiHandler_Loop106 +A529 Sub_A529 +A52D NmiHandler_Loop107 +A53B NmiHandler_Loop108 +A54F NmiHandler_Loop109 +A556 NmiHandler_OnNonzero26 +A558 Sub_A558 +A57C Sub_A57C +A57E NmiHandler_Loop110 +A59B NmiHandler_Loop111 +A5B4 NmiHandler_Loop112 +A5C7 NmiHandler_Loop113 +A5C9 NmiHandler_Loop114 +A5D4 Sub_A5D4 +A5DF NmiHandler_Loop115 +A614 NmiHandler_Loop116 +A618 NmiHandler_OnNonnegative15 +A61C NmiHandler_OnNonnegative16 +A644 NmiHandler_Loop117 +A658 NmiHandler_Loop118 +A661 NmiHandler_Loop119 +A666 NmiHandler_Loop120 +A669 NmiHandler_Loop121 +A674 NmiHandler_Loop122 +A68F NmiHandler_Loop123 +A6A1 NmiHandler_Loop124 +A6A9 NmiHandler_Loop125 +A6AA Sub_A6AA +A6B1 NmiHandler_Loop126 +A6B3 NmiHandler_OnNonnegative17 +A6CE NmiHandler_Loop127 +A6D2 NmiHandler_Loop128 +A6E2 NmiHandler_Loop129 +A6F3 NmiHandler_Loop130 +A703 NmiHandler_OnNonzero27 +A729 NmiHandler_Loop131 +A72A NmiHandler_Loop132 +A738 NmiHandler_Loop133 +A740 Sub_A740 +A746 NmiHandler_Loop134 +A748 Sub_A748 +A767 NmiHandler_Loop135 +A76F NmiHandler_Loop136 +A773 NmiHandler_Loop137 +A77D NmiHandler_Loop138 +A77F NmiHandler_Loop139 +A799 NmiHandler_Loop140 +A7AA NmiHandler_Loop141 +A7AB Sub_A7AB +A7C4 NmiHandler_Loop142 +A7D2 NmiHandler_Loop143 +A7E1 NmiHandler_Loop144 +A7EA NmiHandler_Loop145 +A7ED NmiHandler_Loop146 +A7FD NmiHandler_Loop147 +A809 NmiHandler_Loop148 +A810 NmiHandler_Loop149 +A819 NmiHandler_Loop150 +A830 NmiHandler_Loop151 +A839 NmiHandler_OnNegative +A83A Sub_A83A +A848 NmiHandler_OnNonzero28 +A85B NmiHandler_Loop152 +A876 NmiHandler_Loop153 +A880 NmiHandler_Loop154 +A898 Sub_A898 +A89A Sub_A89A +A8A5 NmiHandler_Loop155 +A8A8 NmiHandler_Loop156 +A8BC NmiHandler_Loop157 +A8D8 NmiHandler_Loop158 +A8EB Sub_A8EB +A8EF NmiHandler_Loop159 +A8FE NmiHandler_OnNonzero29 +A8FF Sub_A8FF +A90D NmiHandler_Loop160 +A914 NmiHandler_Loop161 +A949 NmiHandler_OnNegative2 +A94A Sub_A94A +A969 NmiHandler_Loop162 +A96F NmiHandler_Loop163 +A988 NmiHandler_Loop164 +A99B NmiHandler_Loop165 +A99F NmiHandler_OnZero3 +A9BE NmiHandler_Loop166 +A9DE NmiHandler_Loop167 +A9F0 NmiHandler_Loop168 +AA0F NmiHandler_Loop169 +AA11 NmiHandler_Loop170 +AA12 NmiHandler_Loop171 +AA1F NmiHandler_Loop172 +AA2C Sub_AA2C +AA49 NmiHandler_Loop173 +AA62 NmiHandler_Loop174 +AA72 NmiHandler_Loop175 +AA81 NmiHandler_Loop176 +AA86 NmiHandler_Loop177 +AA87 NmiHandler_Loop178 +AA98 NmiHandler_Loop179 +AAAA NmiHandler_Loop180 +AAAB NmiHandler_Loop181 +AAC4 NmiHandler_Loop182 +AAD2 NmiHandler_Loop183 +AAE0 NmiHandler_Loop184 +AAFB NmiHandler_Loop185 +AAFD NmiHandler_Loop186 +AB0B NmiHandler_Loop187 +AB33 NmiHandler_Loop188 +AB34 NmiHandler_Loop189 +AB5C NmiHandler_Loop190 +AB71 NmiHandler_Loop191 +AB79 NmiHandler_Loop192 +AB8A NmiHandler_OnNonnegative18 +AB94 NmiHandler_Loop193 +AB95 NmiHandler_Loop194 +ABA0 NmiHandler_Loop195 +ABA4 NmiHandler_Loop196 +ABBE NmiHandler_OnCarrySet +ABCA NmiHandler_Loop197 +ABDE NmiHandler_Loop198 +ABE2 NmiHandler_Loop199 +ABEB NmiHandler_Loop200 +ABFD NmiHandler_OnNonnegative19 +AC11 NmiHandler_Loop201 +AC16 NmiHandler_Loop202 +AC3B NmiHandler_Loop203 +AC3D NmiHandler_OnNonzero30 +AC4C NmiHandler_Loop204 +AC51 Sub_AC51 +AC66 NmiHandler_Loop205 +AC84 NmiHandler_Loop206 +ACA8 NmiHandler_Loop207 +ACC4 NmiHandler_Loop208 +ACCC NmiHandler_Loop209 +ACCE NmiHandler_OnNonnegative20 +ACE1 NmiHandler_Loop210 +ACE4 NmiHandler_Loop211 +ACE8 Sub_ACE8 +ACEA NmiHandler_OnNonnegative21 +ACF2 NmiHandler_Loop212 +ACF3 Sub_ACF3 +ACFC NmiHandler_Loop213 +AD05 NmiHandler_Loop214 +AD16 NmiHandler_Loop215 +AD3A NmiHandler_Loop216 +AD42 NmiHandler_Loop217 +AD61 NmiHandler_Loop218 +AD71 NmiHandler_OnZero4 +AD77 NmiHandler_Loop219 +AD7A NmiHandler_Loop220 +AD82 NmiHandler_Loop221 +AD83 NmiHandler_Loop222 +AD99 NmiHandler_Loop223 +ADA8 NmiHandler_Loop224 +ADB7 NmiHandler_Loop225 +ADC1 NmiHandler_Loop226 +ADCB NmiHandler_Loop227 +ADD2 NmiHandler_Loop228 +ADDB NmiHandler_Loop229 +ADE8 NmiHandler_Loop230 +ADEE Sub_ADEE +AE15 Sub_AE15 +AE31 NmiHandler_Loop231 +AE33 NmiHandler_Loop232 +AE41 NmiHandler_Loop233 +AE75 NmiHandler_Loop234 +AE8F NmiHandler_Loop235 +AEBF Sub_AEBF +AEC5 NmiHandler_Loop236 +AEC7 NmiHandler_Loop237 +AED2 NmiHandler_Loop238 +AEE5 NmiHandler_Loop239 +AEEF Sub_AEEF +AF01 NmiHandler_Loop240 +AF1A NmiHandler_Loop241 +AF36 NmiHandler_Loop242 +AF3E NmiHandler_Loop243 +AF56 NmiHandler_Loop244 +AF69 NmiHandler_Loop245 +AF73 NmiHandler_Loop246 +AF90 NmiHandler_Loop247 +AF91 NmiHandler_Loop248 +AFA5 NmiHandler_Loop249 +AFAF NmiHandler_Loop250 +AFB8 NmiHandler_Loop251 +AFC6 NmiHandler_Loop252 +AFDF NmiHandler_Loop253 +AFE9 NmiHandler_Loop254 +AFF5 NmiHandler_Loop255 +AFFE Sub_AFFE +B00F NmiHandler_Loop256 +B02B NmiHandler_Loop257 +B045 NmiHandler_Loop258 +B053 NmiHandler_Loop259 +B05D NmiHandler_Loop260 +B069 NmiHandler_Loop261 +B07D NmiHandler_Loop262 +B087 NmiHandler_OnNonnegative22 +B097 NmiHandler_Loop263 +B0BB NmiHandler_Loop264 +B0D7 NmiHandler_Loop265 +B0DC NmiHandler_Loop266 +B0E2 Sub_B0E2 +B0E6 NmiHandler_Loop267 +B0F6 NmiHandler_Loop268 +B0FA NmiHandler_Loop269 +B108 NmiHandler_Loop270 +B116 NmiHandler_Loop271 +B133 NmiHandler_Loop272 +B140 NmiHandler_Loop273 +B143 NmiHandler_Loop274 +B156 NmiHandler_Loop275 +B15C NmiHandler_Loop276 +B167 NmiHandler_Loop277 +B170 NmiHandler_Loop278 +B171 Sub_B171 +B180 NmiHandler_Loop279 +B189 NmiHandler_OnCarryClear4 +B191 Sub_B191 +B1B5 NmiHandler_Loop280 +B1BB NmiHandler_OnNonzero31 +B1C1 NmiHandler_Loop281 +B1DB NmiHandler_Loop282 +B1DD Sub_B1DD +B1E3 NmiHandler_Loop283 +B1E4 Sub_B1E4 +B1F7 Sub_B1F7 +B20A NmiHandler_Loop284 +B218 NmiHandler_Loop285 +B21A NmiHandler_Loop286 +B21C Sub_B21C +B226 NmiHandler_Loop287 +B233 NmiHandler_Loop288 +B234 Sub_B234 +B23A NmiHandler_Loop289 +B243 NmiHandler_Loop290 +B245 Sub_B245 +B253 NmiHandler_Loop291 +B257 Sub_B257 +B267 NmiHandler_Loop292 +B26F NmiHandler_Loop293 +B28A NmiHandler_Loop294 +B2A6 NmiHandler_Loop295 +B2CD NmiHandler_Loop296 +B2CE Sub_B2CE +B2DC Sub_B2DC +B2DE NmiHandler_Loop297 +B2FA NmiHandler_Loop298 +B2FD NmiHandler_Loop299 +B309 NmiHandler_Loop300 +B30C NmiHandler_Loop301 +B312 NmiHandler_Loop302 +B327 NmiHandler_Loop303 +B351 NmiHandler_Loop304 +B35F NmiHandler_Loop305 +B368 NmiHandler_Loop306 +B369 NmiHandler_Loop307 +B376 NmiHandler_Loop308 +B391 NmiHandler_Loop309 +B3E1 NmiHandler_Loop310 +B3E4 NmiHandler_Loop311 +B3FB Sub_B3FB +B40E NmiHandler_Loop312 +B443 NmiHandler_Loop313 +B478 NmiHandler_Loop314 +B47B Sub_B47B +B490 NmiHandler_Loop315 +B49A NmiHandler_OnNonnegative23 +B4B6 NmiHandler_Loop316 +B4C0 NmiHandler_Loop317 +B4C9 NmiHandler_Loop318 +B4D2 Sub_B4D2 +B4DC NmiHandler_Loop319 +B4E3 NmiHandler_Loop320 +B4EE NmiHandler_Loop321 +B50F NmiHandler_Loop322 +B51B NmiHandler_Loop323 +B526 NmiHandler_OnNonnegative24 +B560 NmiHandler_Loop324 +B56B NmiHandler_Loop325 +B574 Sub_B574 +B588 NmiHandler_Loop326 +B593 NmiHandler_Loop327 +B59B Sub_B59B +B5AE NmiHandler_OnNonnegative25 +B5C8 NmiHandler_OnNonzero32 +B5ED NmiHandler_Loop328 +B5F4 NmiHandler_Loop329 +B5FB Sub_B5FB +B609 NmiHandler_OnNonnegative26 +B627 NmiHandler_Loop330 +B636 NmiHandler_Loop331 +B63E Sub_B63E +B643 NmiHandler_OnCarryClear5 +B646 NmiHandler_Loop332 +B661 NmiHandler_Loop333 +B663 NmiHandler_Loop334 +B670 NmiHandler_Loop335 +B692 NmiHandler_Loop336 +B6A3 NmiHandler_Loop337 +B6A7 NmiHandler_OnNonzero33 +B6D6 NmiHandler_Loop338 +B728 Sub_B728 +B750 NmiHandler_Loop339 +B769 NmiHandler_Loop340 +B76F NmiHandler_OnNonzero34 +B79A NmiHandler_Loop341 +B79D Sub_B79D +B79F NmiHandler_OnNonnegative27 +B7C6 NmiHandler_Loop342 +B7CD NmiHandler_Loop343 +B7D6 NmiHandler_Loop344 +B7F3 NmiHandler_Loop345 +B801 NmiHandler_Loop346 +B80A NmiHandler_Loop347 +B83A NmiHandler_Loop348 +B841 NmiHandler_Loop349 +B84B NmiHandler_OnCarrySet2 +B86B NmiHandler_Loop350 +B86E NmiHandler_Loop351 +B882 NmiHandler_Loop352 +B890 NmiHandler_Loop353 +B89C NmiHandler_Loop354 +B89D Sub_B89D +B89F NmiHandler_OnNonnegative28 +B8AB NmiHandler_Loop355 +B8AD Sub_B8AD +B8AF NmiHandler_OnNonnegative29 +B8D3 NmiHandler_Loop356 +B8DD NmiHandler_Loop357 +B8E1 Sub_B8E1 +B8E3 NmiHandler_OnNonnegative30 +B8EC NmiHandler_Loop358 +B906 NmiHandler_Loop359 +B911 Sub_B911 +B913 NmiHandler_OnNonnegative31 +B986 NmiHandler_Loop360 +B98A Sub_B98A +B98C NmiHandler_OnNonnegative32 +B9B4 NmiHandler_Loop361 +B9B8 Sub_B9B8 +B9BA NmiHandler_OnNonnegative33 +B9CA NmiHandler_OnNonzero35 +B9CC NmiHandler_OnNonzero36 +B9E2 NmiHandler_Loop362 +B9EC Sub_B9EC +B9EE NmiHandler_OnNonnegative34 +BA08 NmiHandler_Loop363 +BA0D Sub_BA0D +BA21 Sub_BA21 +BA23 NmiHandler_OnNonnegative35 +BA39 NmiHandler_Loop364 +BA4A Sub_BA4A +BA4E Sub_BA4E +BA5C NmiHandler_OnNonnegative36 +BA68 NmiHandler_OnNonnegative37 +BA9A NmiHandler_Loop365 +BA9C NmiHandler_Loop366 +BAB1 NmiHandler_Loop367 +BAB8 NmiHandler_Loop368 +BAB9 Sub_BAB9 +BAC3 NmiHandler_Loop369 +BAC8 NmiHandler_OnNonzero37 +BAC9 NmiHandler_Loop370 +BADE NmiHandler_Loop371 +BAE4 NmiHandler_Loop372 +BAEC NmiHandler_Loop373 +BAF1 Sub_BAF1 +BB03 NmiHandler_Loop374 +BB07 NmiHandler_OnNonzero38 +BB5B NmiHandler_Loop375 +BB5C Sub_BB5C +BB82 NmiHandler_Loop376 +BDD2 Sub_BDD2 +BDEB NmiHandler_Loop377 +BDF3 NmiHandler_Loop378 +BDF5 NmiHandler_Loop379 +BDFF NmiHandler_OnZero5 +BE0D NmiHandler_Loop380 +BE2A NmiHandler_Loop381 +BE3E NmiHandler_Loop382 +BE46 NmiHandler_Loop383 +BE51 NmiHandler_Loop384 +BE54 NmiHandler_Loop385 +BE5D NmiHandler_Loop386 +BE71 NmiHandler_OnNonzero39 +BE72 NmiHandler_Loop387 +BE7A NmiHandler_Loop388 +BE89 NmiHandler_Loop389 +BE94 NmiHandler_Loop390 +BE98 NmiHandler_Loop391 +BEBA NmiHandler_Loop392 +BEC7 NmiHandler_Loop393 +BECE NmiHandler_Loop394 +BEE9 NmiHandler_Loop395 +BEEE NmiHandler_Loop396 +BF19 NmiHandler_Loop397 +BF23 Sub_BF23 +BF44 NmiHandler_Loop398 +BF4C Sub_BF4C +BF50 NmiHandler_OnNonzero40 +BF5A NmiHandler_Loop399 +BF5D NmiHandler_Loop400 +BF6A NmiHandler_OnZero6 +BF6F NmiHandler_Loop401 +BF73 NmiHandler_OnZero7 +BF76 NmiHandler_Loop402 +BF84 NmiHandler_Loop403 +BF8C NmiHandler_Loop404 +BF98 NmiHandler_Loop405 +BFA4 NmiHandler_Loop406 +BFB1 NmiHandler_Loop407 +BFB5 NmiHandler_Loop408 +BFB9 NmiHandler_Loop409 +BFC0 Sub_BFC0 +BFC2 Sub_BFC2 +BFCD NmiHandler_Loop410 +BFF2 NmiHandler_Loop411 +BFFA NmiHandler_Loop412 +BFFC NmiHandler_Loop413 +C01E NmiHandler_Loop414 +C026 NmiHandler_Loop415 +C02C NmiHandler_Loop416 +C02D Sub_C02D +C042 Sub_C042 +C044 NmiHandler_OnNonnegative38 +C068 NmiHandler_Loop417 +C06C Sub_C06C +C086 NmiHandler_Loop418 +C095 NmiHandler_Loop419 +C0A1 NmiHandler_Loop420 +C0A2 Sub_C0A2 +C0C4 Sub_C0C4 +C0E5 NmiHandler_Loop421 +C101 Sub_C101 +C111 NmiHandler_Loop422 +C117 NmiHandler_Loop423 +C127 NmiHandler_Loop424 +C12D NmiHandler_Loop425 +C130 NmiHandler_Loop426 +C133 Sub_C133 +C162 NmiHandler_Loop427 +C177 Sub_C177 +C1A5 NmiHandler_Loop428 +C1AB NmiHandler_Loop429 +C1B2 NmiHandler_Loop430 +C1C7 Sub_C1C7 +C1C9 NmiHandler_OnNonnegative39 +C1D9 NmiHandler_Loop431 +C1E2 NmiHandler_Loop432 +C201 NmiHandler_Loop433 +C205 Sub_C205 +C209 NmiHandler_OnNonnegative40 +C211 NmiHandler_Loop434 +C216 Sub_C216 +C226 NmiHandler_Loop435 +C22F NmiHandler_OnNonzero41 +C232 NmiHandler_Loop436 +C234 Sub_C234 +C24F NmiHandler_Loop437 +C278 NmiHandler_Loop438 +C27E NmiHandler_Loop439 +C29F NmiHandler_Loop440 +C2B8 NmiHandler_Loop441 +C2C0 NmiHandler_Loop442 +C2D4 NmiHandler_Loop443 +C2FD NmiHandler_Loop444 +C300 NmiHandler_Loop445 +C306 Sub_C306 +C314 NmiHandler_Loop446 +C315 NmiHandler_Loop447 +C31E NmiHandler_Loop448 +C327 NmiHandler_Loop449 +C32F NmiHandler_Loop450 +C330 Sub_C330 +C344 Sub_C344 +C34B NmiHandler_Loop451 +C363 NmiHandler_OnZero8 +C366 NmiHandler_Loop452 +C372 NmiHandler_Loop453 +C379 Sub_C379 +C38A NmiHandler_Loop454 +C397 NmiHandler_Loop455 +C39C NmiHandler_Loop456 +C39F NmiHandler_Loop457 +C3AA NmiHandler_Loop458 +C3B0 NmiHandler_Loop459 +C3B8 NmiHandler_Loop460 +C3BE NmiHandler_Loop461 +C3C8 NmiHandler_Loop462 +C3D0 NmiHandler_Loop463 +C3D9 NmiHandler_Loop464 +C411 NmiHandler_Loop465 +C416 NmiHandler_Loop466 +C423 NmiHandler_OnZero9 +C42C NmiHandler_Loop467 +C437 Sub_C437 +C43E Sub_C43E +C440 Sub_C440 +C441 Sub_C441 +C469 NmiHandler_Loop468 +C470 Sub_C470 +C475 NmiHandler_OnCarryClear6 +C478 NmiHandler_Loop469 +C4A5 NmiHandler_Loop470 +C4B1 NmiHandler_Loop471 +C4B9 NmiHandler_Loop472 +C4DC NmiHandler_Loop473 +C4F0 NmiHandler_Loop474 +C4F3 NmiHandler_Loop475 +C506 NmiHandler_Loop476 +C525 NmiHandler_Loop477 +C52F NmiHandler_Loop478 +C54F NmiHandler_Loop479 +C555 Sub_C555 +C593 NmiHandler_Loop480 +C59D NmiHandler_Loop481 +C5A8 NmiHandler_Loop482 +C5CA NmiHandler_Loop483 +C5F2 NmiHandler_Loop484 +C5F7 NmiHandler_Loop485 +C607 NmiHandler_Loop486 +C60A NmiHandler_Loop487 +C60B Sub_C60B +C60F NmiHandler_OnNonnegative41 +C632 NmiHandler_OnNonzero42 +C65F NmiHandler_Loop488 +C664 NmiHandler_Loop489 +C669 Sub_C669 +C677 NmiHandler_Loop490 +C67F NmiHandler_Loop491 +C686 NmiHandler_Loop492 +C6AE NmiHandler_Loop493 +C6B5 NmiHandler_Loop494 +C6C0 NmiHandler_OnCarrySet3 +C6C8 NmiHandler_Loop495 +C6CE NmiHandler_Loop496 +C6E9 NmiHandler_Loop497 +C6F0 NmiHandler_Loop498 +C6FB NmiHandler_OnCarrySet4 +C703 NmiHandler_Loop499 +C709 NmiHandler_Loop500 +C70B NmiHandler_OnZero10 +C70C Sub_C70C +C723 Sub_C723 +C728 NmiHandler_OnNonzero43 +C733 NmiHandler_OnNonzero44 +C751 NmiHandler_Loop501 +C758 NmiHandler_Loop502 +C764 NmiHandler_Loop503 +C76D NmiHandler_OnNonnegative42 +C780 Sub_C780 +C797 NmiHandler_OnCarryClear7 +C7AC Sub_C7AC +C7B3 Sub_C7B3 +C7B8 NmiHandler_OnNonzero45 +C7B9 Sub_C7B9 +C7DA NmiHandler_Loop504 +C7DF NmiHandler_OnNonnegative43 +C812 NmiHandler_OnNonnegative44 +C82D NmiHandler_OnNonzero46 +C842 NmiHandler_Loop505 +C84F NmiHandler_Loop506 +C86C Sub_C86C +C88A NmiHandler_Loop507 +C899 NmiHandler_OnZero11 +C89A Sub_C89A +C8AF NmiHandler_Loop508 +C8B4 NmiHandler_OnZero12 +C8BA NmiHandler_Loop509 +C8D4 NmiHandler_Loop510 +C8F3 NmiHandler_Loop511 +C93B NmiHandler_Loop512 +C94A NmiHandler_Loop513 +C94B Sub_C94B +C94D NmiHandler_OnNonnegative45 +C98B NmiHandler_Loop514 +C98D NmiHandler_Loop515 +C9C5 NmiHandler_Loop516 +C9C9 Sub_C9C9 +C9DA NmiHandler_Loop517 +CA05 NmiHandler_Loop518 +CA0B NmiHandler_Loop519 +CA0C NmiHandler_Loop520 +CA25 NmiHandler_Loop521 +CA30 NmiHandler_Loop522 +CA46 NmiHandler_Loop523 +CA50 NmiHandler_Loop524 +CA66 NmiHandler_Loop525 +CA7C NmiHandler_Loop526 +CA8E NmiHandler_Loop527 +CACB NmiHandler_Loop528 +CADC NmiHandler_Loop529 +CAE2 NmiHandler_Loop530 +CAEF NmiHandler_Loop531 +CAF1 NmiHandler_Loop532 +CB22 NmiHandler_Loop533 +CB23 Sub_CB23 +CB30 Sub_CB30 +CB3D Sub_CB3D +CB4C Sub_CB4C +CB5E Sub_CB5E +CB82 NmiHandler_Loop534 +CB84 NmiHandler_Loop535 +CBB0 NmiHandler_Loop536 +CBB2 Sub_CBB2 +CBB5 NmiHandler_OnCarrySet5 +CBCC NmiHandler_Loop537 +CBD2 NmiHandler_Loop538 +CBD6 NmiHandler_OnNonnegative46 +CBDD Sub_CBDD +CBF7 NmiHandler_OnNonzero47 +CC0D Sub_CC0D +CC17 NmiHandler_OnNonzero48 +CC23 NmiHandler_Loop539 +CC2A NmiHandler_Loop540 +CC34 NmiHandler_OnNonnegative47 +CC3E NmiHandler_Loop541 +CC3F Sub_CC3F +CC4B NmiHandler_Loop542 +CC63 NmiHandler_OnNonzero49 +CC79 Sub_CC79 +CC93 NmiHandler_Loop543 +CC9F Sub_CC9F +CCA1 NmiHandler_OnNonnegative48 +CCAB Sub_CCAB +CCCC NmiHandler_Loop544 +CCD1 NmiHandler_Loop545 +CCD3 NmiHandler_OnNonzero50 +CCD5 Sub_CCD5 +CCDD NmiHandler_OnNonnegative49 +CCF6 Sub_CCF6 +CD12 NmiHandler_Loop546 +CD13 Sub_CD13 +CD26 NmiHandler_Loop547 +CD34 Sub_CD34 +CD68 Sub_CD68 +CD6E NmiHandler_OnNonzero51 +CD6F NmiHandler_Loop548 +CDB9 NmiHandler_Loop549 +CDE5 NmiHandler_Loop550 +CFCB Sub_CFCB +CFD6 NmiHandler_Loop551 +CFDC NmiHandler_Loop552 +CFEE NmiHandler_Loop553 +CFF5 Sub_CFF5 +CFFC NmiHandler_Loop554 +D004 NmiHandler_Loop555 +D012 NmiHandler_Loop556 +D01F NmiHandler_Loop557 +D021 NmiHandler_Loop558 +D02B NmiHandler_Loop559 +D02E NmiHandler_Loop560 +D037 NmiHandler_Loop561 +D038 NmiHandler_Loop562 +D069 NmiHandler_Loop563 +D072 NmiHandler_Loop564 +D07D NmiHandler_Loop565 +D083 NmiHandler_Loop566 +D0BB NmiHandler_Loop567 +D0C8 NmiHandler_Loop568 +D0CD NmiHandler_OnNonnegative50 +D0D3 NmiHandler_Loop569 +D0D4 NmiHandler_Loop570 +D0DE NmiHandler_Loop571 +D102 NmiHandler_Loop572 +D114 NmiHandler_Loop573 +D12A NmiHandler_Loop574 +D12D NmiHandler_Loop575 +D145 NmiHandler_Loop576 +D150 NmiHandler_Loop577 +D15E NmiHandler_Loop578 +D171 NmiHandler_Loop579 +D182 NmiHandler_OnNegative3 +D191 NmiHandler_Loop580 +D1AA NmiHandler_Loop581 +D1AD NmiHandler_Loop582 +D1AE NmiHandler_Loop583 +D1BF NmiHandler_Loop584 +D1C2 Sub_D1C2 +D21E Sub_D21E +D227 NmiHandler_OnZero13 +D228 NmiHandler_Loop585 +D23D NmiHandler_Loop586 +D254 NmiHandler_OnZero14 +D269 NmiHandler_Loop587 +D272 NmiHandler_Loop588 +D281 NmiHandler_Loop589 +D28E NmiHandler_Loop590 +D292 NmiHandler_Loop591 +D2A2 NmiHandler_Loop592 +D2BD NmiHandler_Loop593 +D2C8 NmiHandler_Loop594 +D2E2 Sub_D2E2 +D2E8 NmiHandler_OnZero15 +D2EE NmiHandler_Loop595 +D2EF NmiHandler_Loop596 +D310 NmiHandler_Loop597 +D341 NmiHandler_Loop598 +D347 NmiHandler_Loop599 +D35C NmiHandler_Loop600 +D362 NmiHandler_Loop601 +D369 NmiHandler_Loop602 +D375 NmiHandler_Loop603 +D382 NmiHandler_Loop604 +D3C5 Sub_D3C5 +D3E5 NmiHandler_Loop605 +D3E6 NmiHandler_Loop606 +D3F5 NmiHandler_OnNonzero52 +D40E Sub_D40E +D41D NmiHandler_Loop607 +D425 NmiHandler_OnZero16 +D429 NmiHandler_OnNegative4 +D433 NmiHandler_Loop608 +D43A NmiHandler_Loop609 +D46B NmiHandler_Loop610 +D473 NmiHandler_Loop611 +D486 Sub_D486 +D4A1 NmiHandler_Loop612 +D4AD NmiHandler_OnNonnegative51 +D4CC NmiHandler_Loop613 +D4D7 NmiHandler_Loop614 +D4DC NmiHandler_Loop615 +D4DE Sub_D4DE +D4E2 Sub_D4E2 +D4E4 NmiHandler_Loop616 +D4E6 Sub_D4E6 +D4F5 NmiHandler_Loop617 +D504 Sub_D504 +D519 Sub_D519 +D53B NmiHandler_Loop618 +D543 NmiHandler_Loop619 +D547 NmiHandler_Loop620 +D558 NmiHandler_Loop621 +D55E NmiHandler_Loop622 +D562 NmiHandler_OnNonzero53 +D565 NmiHandler_Loop623 +D568 Sub_D568 +D57C NmiHandler_Loop624 +D58A NmiHandler_Loop625 +D590 NmiHandler_Loop626 +D596 NmiHandler_Loop627 +D59D NmiHandler_Loop628 +D5A8 Sub_D5A8 +D5B9 NmiHandler_Loop629 +D5CA NmiHandler_Loop630 +D5CD Sub_D5CD +D5F9 NmiHandler_Loop631 +D5FD Sub_D5FD +D5FF NmiHandler_OnNonnegative52 +D611 NmiHandler_Loop632 +D614 NmiHandler_OnNonzero54 +D615 Sub_D615 +D62A NmiHandler_OnNonzero55 +D639 NmiHandler_Loop633 +D657 Sub_D657 +D672 NmiHandler_Loop634 +D67B Sub_D67B +D688 NmiHandler_Loop635 +D695 NmiHandler_Loop636 +D696 Sub_D696 +D698 Sub_D698 +D6CE NmiHandler_Loop637 +D6D0 NmiHandler_Loop638 +D6D6 NmiHandler_Loop639 +D6E2 NmiHandler_Loop640 +D6E5 NmiHandler_OnZero17 +D705 NmiHandler_Loop641 +D70D NmiHandler_Loop642 +D725 NmiHandler_Loop643 +D731 NmiHandler_Loop644 +D748 NmiHandler_Loop645 +D75E NmiHandler_Loop646 +D773 NmiHandler_Loop647 +D780 NmiHandler_Loop648 +D786 Sub_D786 +D791 NmiHandler_Loop649 +D79D NmiHandler_Loop650 +D7AE NmiHandler_Loop651 +D7BC NmiHandler_Loop652 +D7DE NmiHandler_Loop653 +D7E3 NmiHandler_Loop654 +D7EC NmiHandler_Loop655 +D7F8 NmiHandler_Loop656 +D7F9 Sub_D7F9 +D7FB NmiHandler_OnNonnegative53 +D83B NmiHandler_Loop657 +D83F Sub_D83F +D862 NmiHandler_Loop658 +D86B NmiHandler_Loop659 +D874 NmiHandler_Loop660 +D87D NmiHandler_Loop661 +D88D NmiHandler_Loop662 +D88F NmiHandler_Loop663 +D892 NmiHandler_Loop664 +D899 NmiHandler_Loop665 +D8A8 NmiHandler_Loop666 +D8EC NmiHandler_Loop667 +D8EE NmiHandler_Loop668 +D8EF Sub_D8EF +D90A NmiHandler_Loop669 +D90E NmiHandler_Loop670 +D90F NmiHandler_Loop671 +D922 NmiHandler_Loop672 +D92F NmiHandler_OnNonzero56 +D930 Sub_D930 +D945 NmiHandler_Loop673 +D950 NmiHandler_Loop674 +D967 Sub_D967 +D982 NmiHandler_Loop675 +D986 NmiHandler_Loop676 +D987 NmiHandler_Loop677 +D998 NmiHandler_Loop678 +D99A NmiHandler_OnNonzero57 +D99B Sub_D99B +D9BE Sub_D9BE +D9E5 NmiHandler_OnNonzero58 +D9E6 NmiHandler_Loop679 +D9F2 NmiHandler_Loop680 +DA0D Sub_DA0D +DA25 NmiHandler_OnNonzero59 +DA2E NmiHandler_Loop681 +DA32 NmiHandler_Loop682 +DA3C NmiHandler_Loop683 +DA41 NmiHandler_Loop684 +DA4B NmiHandler_Loop685 +DA50 Sub_DA50 +DA9B NmiHandler_Loop686 +DAA6 NmiHandler_Loop687 +DAB6 NmiHandler_Loop688 +DAB7 Sub_DAB7 +DAD7 NmiHandler_Loop689 +DAE5 NmiHandler_Loop690 +DAEA NmiHandler_OnNonzero60 +DB01 NmiHandler_Loop691 +DB0E NmiHandler_Loop692 +DB13 NmiHandler_Loop693 +DB16 NmiHandler_OnNonzero61 +DB19 NmiHandler_Loop694 +DB32 NmiHandler_Loop695 DB3E Sub_DB3E F831 Sub_F831 F852 Sub_F852 F858 Sub_F858 -F85A NmiHandler_OnNonzero10 -F86B NmiHandler_Loop23 +F85A NmiHandler_OnNonzero62 +F86B NmiHandler_Loop696 F86C Sub_F86C F873 Sub_F873 F879 Sub_F879 F87D Sub_F87D -F887 NmiHandler_OnCarrySet -F895 NmiHandler_OnCarrySet2 -F8A6 NmiHandler_OnCarrySet3 -F8B3 NmiHandler_OnCarrySet4 -F8D2 NmiHandler_Loop24 -F8D7 NmiHandler_Loop25 -F8DC NmiHandler_Loop26 +F895 NmiHandler_OnCarrySet6 +F8A6 NmiHandler_OnCarrySet7 +F8B3 NmiHandler_OnCarrySet8 +F8D2 NmiHandler_Loop697 +F8D7 NmiHandler_Loop698 +F8DC NmiHandler_Loop699 F8E7 Sub_F8E7 -F8EF NmiHandler_Loop27 +F8EF NmiHandler_Loop700 F8F0 Sub_F8F0 -F902 NmiHandler_Loop28 -F90F NmiHandler_Loop29 -F910 NmiHandler_Loop30 -F91D NmiHandler_Loop31 -F928 NmiHandler_Loop32 -F92A NmiHandler_OnCarrySet5 -F93A NmiHandler_OnCarrySet6 -F946 NmiHandler_Loop33 -F948 NmiHandler_OnCarrySet7 -F958 NmiHandler_OnCarrySet8 -F966 NmiHandler_Loop34 +F902 NmiHandler_Loop701 +F90F NmiHandler_Loop702 +F910 NmiHandler_Loop703 +F91D NmiHandler_Loop704 +F928 NmiHandler_Loop705 +F92A NmiHandler_OnCarrySet9 +F93A NmiHandler_OnCarrySet10 +F946 NmiHandler_Loop706 +F948 NmiHandler_OnCarrySet11 +F958 NmiHandler_OnCarrySet12 +F966 NmiHandler_Loop707 F967 Sub_F967 -F97E NmiHandler_Loop35 -F9B9 NmiHandler_OnCarrySet9 -F9BE NmiHandler_OnCarrySet10 -F9C9 NmiHandler_OnCarrySet11 -F9CE NmiHandler_OnCarrySet12 -F9D7 NmiHandler_Loop36 +F97E NmiHandler_Loop708 +F9B9 NmiHandler_OnCarrySet13 +F9BE NmiHandler_OnCarrySet14 +F9C9 NmiHandler_OnCarrySet15 +F9CE NmiHandler_OnCarrySet16 +F9D7 NmiHandler_Loop709 F9D9 Sub_F9D9 -F9F0 NmiHandler_Loop37 -FA01 NmiHandler_Loop38 -FA02 NmiHandler_Loop39 -FA07 NmiHandler_Loop40 -FA10 NmiHandler_Loop41 -FA12 NmiHandler_Loop42 -FA1B NmiHandler_Loop43 -FA26 NmiHandler_Loop44 -FA35 NmiHandler_Loop45 +F9F0 NmiHandler_Loop710 +FA01 NmiHandler_Loop711 +FA02 NmiHandler_Loop712 +FA07 NmiHandler_Loop713 +FA10 NmiHandler_Loop714 +FA12 NmiHandler_Loop715 +FA1B NmiHandler_Loop716 +FA26 NmiHandler_Loop717 +FA35 NmiHandler_Loop718 FA8A Sub_FA8A -FA98 NmiHandler_OnNonzero11 -FABE NmiHandler_Loop46 -FACD NmiHandler_Loop47 -FADC NmiHandler_Loop48 -FAEB NmiHandler_Loop49 -FAF0 NmiHandler_Loop50 -FAF5 NmiHandler_Loop51 -FAF6 NmiHandler_Loop52 -FB02 NmiHandler_Loop53 -FB12 NmiHandler_Loop54 -FB1A NmiHandler_Loop55 -FB1C NmiHandler_OnCarryClear -FB20 NmiHandler_Loop56 -FB22 NmiHandler_Loop57 -FB3B NmiHandler_Loop58 +FA98 NmiHandler_OnNonzero63 +FABE NmiHandler_Loop719 +FACD NmiHandler_Loop720 +FADC NmiHandler_Loop721 +FAEB NmiHandler_Loop722 +FAF0 NmiHandler_Loop723 +FAF5 NmiHandler_Loop724 +FAF6 NmiHandler_Loop725 +FB02 NmiHandler_Loop726 +FB12 NmiHandler_Loop727 +FB1A NmiHandler_Loop728 +FB1C NmiHandler_OnCarryClear8 +FB20 NmiHandler_Loop729 +FB22 NmiHandler_Loop730 +FB3B NmiHandler_Loop731 FB3C Sub_FB3C -FB45 NmiHandler_Loop59 -FB4D NmiHandler_Loop60 -FB51 NmiHandler_OnZero -FB56 NmiHandler_OnNonzero12 -FB68 NmiHandler_Loop61 -FB6C NmiHandler_OnCarryClear2 -FB70 NmiHandler_Loop62 -FBA5 NmiHandler_Loop63 -FBB6 NmiHandler_Loop64 -FBBE NmiHandler_Loop65 +FB45 NmiHandler_Loop732 +FB4D NmiHandler_Loop733 +FB51 NmiHandler_OnZero18 +FB56 NmiHandler_OnNonzero64 +FB68 NmiHandler_Loop734 +FB6C NmiHandler_OnCarryClear9 +FB70 NmiHandler_Loop735 +FBA5 NmiHandler_Loop736 +FBB6 NmiHandler_Loop737 +FBBE NmiHandler_Loop738 FBC2 Sub_FBC2 -FBD0 NmiHandler_Loop66 -FBDC NmiHandler_Loop67 -FBE8 NmiHandler_Loop68 -FBF6 NmiHandler_Loop69 -FBFE NmiHandler_Loop70 -FC03 NmiHandler_Loop71 -FC09 NmiHandler_Loop72 -FC1B NmiHandler_Loop73 -FC21 NmiHandler_Loop74 -FC36 NmiHandler_Loop75 -FC47 NmiHandler_Loop76 -FC4C NmiHandler_Loop77 -FC54 NmiHandler_Loop78 -FC62 NmiHandler_Loop79 -FC68 NmiHandler_Loop80 -FC8C NmiHandler_Loop81 -FC97 NmiHandler_Loop82 -FCA8 NmiHandler_Loop83 -FCAB NmiHandler_Loop84 -FCD8 NmiHandler_Loop85 +FBD0 NmiHandler_Loop739 +FBDC NmiHandler_Loop740 +FBE8 NmiHandler_Loop741 +FBF6 NmiHandler_Loop742 +FBFE NmiHandler_Loop743 +FC03 NmiHandler_Loop744 +FC09 NmiHandler_Loop745 +FC1B NmiHandler_Loop746 +FC21 NmiHandler_Loop747 +FC36 NmiHandler_Loop748 +FC47 NmiHandler_Loop749 +FC4C NmiHandler_Loop750 +FC54 NmiHandler_Loop751 +FC62 NmiHandler_Loop752 +FC68 NmiHandler_Loop753 +FC8C NmiHandler_Loop754 +FC97 NmiHandler_Loop755 +FCA8 NmiHandler_Loop756 +FCAB NmiHandler_Loop757 +FCD8 NmiHandler_Loop758 FCD9 Sub_FCD9 FCDF Sub_FCDF +FFF0 IrqHandler diff --git a/NROM/Kung Fu (U) (a1)/locals.inc b/NROM/Kung Fu (U) (a1)/locals.inc index 0c113bd..fb92563 100644 --- a/NROM/Kung Fu (U) (a1)/locals.inc +++ b/NROM/Kung Fu (U) (a1)/locals.inc @@ -4,38 +4,154 @@ ; 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 ; 28 refs; reads=13 writes=15; used at $8274, 8277, 8287, 82AA, +22 more -Zp01 = $01 ; 14 refs; reads=5 writes=9; used at $8270, 827C, 8282, 828C, +8 more -Zp02 = $02 ; 5 refs; reads=3 writes=2; used at $83DB, 83E9, 83EE, 8FF3, +1 more -Zp03 = $03 ; 5 refs; reads=2 writes=3; used at $83E1, 8FE9, 9012, 9014 -Zp04 = $04 ; 1 refs; reads=0 writes=1; used at $8FEB -Zp10 = $10 ; 9 refs; reads=5 writes=4; used at $82D6, 82DD, 839F, 8E30, +5 more +Zp00 = $00 ; 219 refs; reads=100 writes=119; used at $8274, 8277, 8287, 82AA, +203 more +Zp01 = $01 ; 135 refs; reads=55 writes=80; used at $8270, 827C, 8282, 828C, +115 more +Zp02 = $02 ; 82 refs; reads=37 writes=45; used at $83DB, 83E9, 83EE, 8F3D, +66 more +Zp03 = $03 ; 62 refs; reads=27 writes=35; used at $83E1, 8EE8, 8F20, 8F25, +55 more +Zp04 = $04 ; 36 refs; reads=15 writes=21; used at $8FEB, AA15, AA21, AADA, +28 more +Zp05 = $05 ; 43 refs; reads=23 writes=20; used at $8EEE, 8F51, A6FF, A70A, +36 more +Zp06 = $06 ; 27 refs; reads=11 writes=16; used at $8F3F, 8F63, A5E7, A5F2, +23 more +Zp07 = $07 ; 25 refs; reads=14 writes=11; used at $8EEA, 8F04, 8F0A, 8F22, +20 more +Zp08 = $08 ; 9 refs; reads=4 writes=5; used at $8F27, 8F29, 8F65, B337, +3 more +Zp0A = $0A ; 44 refs; reads=22 writes=22; used at $8F37, 8F5F, AEF3, AF24, +37 more +Zp0B = $0B ; 9 refs; reads=3 writes=6; used at $B6AD, B6D4, B6D6, BFDC, +5 more +Zp0D = $0D ; 8 refs; reads=4 writes=4; used at $C14F, C15B, C160, C16C, +4 more +Zp0E = $0E ; 7 refs; reads=3 writes=4; used at $B738, B753, B794, C168, +3 more +Zp0F = $0F ; 26 refs; reads=14 writes=12; used at $B401, B40C, B40E, B73C, +21 more +Zp10 = $10 ; 11 refs; reads=6 writes=5; used at $82D6, 82DD, 839F, 8E30, +7 more Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $8325, 832C -Zp12 = $12 ; 1 refs; reads=0 writes=1; used at $8FD2 +Zp12 = $12 ; 16 refs; reads=13 writes=3; used at $874F, 8981, 8EA0, 8FD2, +12 more Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $8FD7 -Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $8381, 9020, 9028, 903B +Zp14 = $14 ; 6 refs; reads=5 writes=1; used at $8381, 87CC, 8948, 9020, +2 more Zp15 = $15 ; 4 refs; reads=2 writes=2; used at $88FF, 902A, 9031, 9047 -Zp18 = $18 ; 3 refs; reads=2 writes=1; used at $8350, 8360 -Zp19 = $19 ; 3 refs; reads=2 writes=1; used at $8356, 8362 -Zp1A = $1A ; 2 refs; reads=1 writes=1; used at $8364 -Zp1B = $1B ; 2 refs; reads=1 writes=1; used at $8366 +Zp18 = $18 ; 19 refs; reads=15 writes=4; used at $8350, 8360, 8505, AAA5, +12 more +Zp19 = $19 ; 15 refs; reads=14 writes=1; used at $8356, 8362, ABA6, AC29, +10 more +Zp1A = $1A ; 7 refs; reads=6 writes=1; used at $8364, C59D, D017, D0A3, +2 more +Zp1B = $1B ; 4 refs; reads=3 writes=1; used at $8366, A9F2, D45C Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $8368 Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $836A Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $836C Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $836E -Zp20 = $20 ; 4 refs; reads=1 writes=3; used at $8338, 833E, 8394 -Zp21 = $21 ; 3 refs; reads=2 writes=1; used at $8342, 8346 -Zp35 = $35 ; 3 refs; reads=1 writes=2; used at $8391, 83D0, 88D8 -Zp49 = $49 ; 2 refs; reads=1 writes=1; used at $834B -Zp4F = $4F ; 4 refs; reads=2 writes=2; used at $83E3, 83E5, 88DE -Zp50 = $50 ; 3 refs; reads=2 writes=1; used at $8321, 83A7, 88DC -Zp51 = $51 ; 5 refs; reads=4 writes=1; used at $83B2, 83BD, 83D4, 88D4, +1 more -Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $82F5, 831A -Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $88F4 -Zp5D = $5D ; 1 refs; reads=1 writes=0; used at $88F6 -Zp63 = $63 ; 1 refs; reads=0 writes=1; used at $83F9 -Zp66 = $66 ; 1 refs; reads=0 writes=1; used at $831C +Zp20 = $20 ; 6 refs; reads=2 writes=4; used at $8338, 833E, 8394, 84EF, +1 more +Zp21 = $21 ; 21 refs; reads=9 writes=12; used at $8342, 8346, 877E, 89E1, +16 more +Zp23 = $23 ; 4 refs; reads=3 writes=1; used at $A49A, A83F, A87A, A881 +Zp24 = $24 ; 2 refs; reads=1 writes=1; used at $A517, A823 +Zp25 = $25 ; 6 refs; reads=3 writes=3; used at $D150, D19C, D1C4, D225, +2 more +Zp26 = $26 ; 4 refs; reads=2 writes=2; used at $89F2, 89F8, C1D4, C1D9 +Zp27 = $27 ; 1 refs; reads=1 writes=0; used at $9820 +Zp2A = $2A ; 2 refs; reads=1 writes=1; used at $A77F, A79E +Zp2B = $2B ; 26 refs; reads=10 writes=16; used at $ACBD, AEB5, B11C, B126, +22 more +Zp30 = $30 ; 24 refs; reads=13 writes=11; used at $8BAC, CFDC, D02E, D306, +20 more +Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $D045, D06B, D137, D147 +Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $8DE9, A9D3, AAE0 +Zp34 = $34 ; 4 refs; reads=2 writes=2; used at $8C23, 8C29, D791, D79B +Zp35 = $35 ; 4 refs; reads=1 writes=3; used at $8391, 83D0, 88D8, 8C68 +Zp36 = $36 ; 4 refs; reads=2 writes=2; used at $8874, 88BF, 8956, B276 +Zp37 = $37 ; 2 refs; reads=1 writes=1; used at $8766, 8788 +Zp38 = $38 ; 12 refs; reads=6 writes=6; used at $89AD, 89B3, 8B00, 8B87, +8 more +Zp39 = $39 ; 5 refs; reads=3 writes=2; used at $8990, 89B9, 8A17, 8C56, +1 more +Zp3A = $3A ; 7 refs; reads=3 writes=4; used at $8709, 8745, D16C, D171, +3 more +Zp3B = $3B ; 3 refs; reads=2 writes=1; used at $A743, AA19, AAD4 +Zp3C = $3C ; 6 refs; reads=2 writes=4; used at $A97F, D1C2, D23B, D356, +2 more +Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $AB5C, AC3B +Zp3E = $3E ; 2 refs; reads=1 writes=1; used at $C7CF, C7D5 +Zp3F = $3F ; 19 refs; reads=8 writes=11; used at $AED2, AF7A, AF8E, B012, +15 more +Zp44 = $44 ; 10 refs; reads=4 writes=6; used at $D08B, D0AB, D1B6, D221, +6 more +Zp47 = $47 ; 3 refs; reads=1 writes=2; used at $8DF6, CD15, CD21 +Zp49 = $49 ; 14 refs; reads=12 writes=2; used at $834B, 84F1, 8838, 8A22, +9 more +Zp4A = $4A ; 5 refs; reads=2 writes=3; used at $84F3, A9D7, A9DB, AAFB +Zp4B = $4B ; 22 refs; reads=11 writes=11; used at $842E, 8997, 8A42, 8A4D, +18 more +Zp4C = $4C ; 24 refs; reads=12 writes=12; used at $899B, 8A44, 8A6B, 8A7E, +20 more +Zp4D = $4D ; 5 refs; reads=3 writes=2; used at $8A46, 8A89, 8A9C, BA68, +1 more +Zp4E = $4E ; 8 refs; reads=4 writes=4; used at $8A20, 8A49, 8A64, 8A67, +4 more +Zp4F = $4F ; 5 refs; reads=2 writes=3; used at $83E3, 83E5, 873B, 88DE +Zp50 = $50 ; 4 refs; reads=2 writes=2; used at $8321, 83A7, 8738, 88DC +Zp51 = $51 ; 12 refs; reads=7 writes=5; used at $83B2, 83BD, 83D4, 876E, +6 more +Zp52 = $52 ; 25 refs; reads=2 writes=23; used at $82F5, 831A, 840A, 8570, +21 more +Zp53 = $53 ; 14 refs; reads=14 writes=0; used at $8572, 865E, AC34, AC7E, +10 more +Zp54 = $54 ; 1 refs; reads=1 writes=0; used at $88C2 +Zp55 = $55 ; 16 refs; reads=14 writes=2; used at $853D, 8683, 86F4, 87C8, +12 more +Zp56 = $56 ; 3 refs; reads=2 writes=1; used at $853F, 8C6A +Zp58 = $58 ; 5 refs; reads=3 writes=2; used at $854B, 8C5C, 8C5E, 8C66 +Zp5A = $5A ; 2 refs; reads=1 writes=1; used at $862E, BA4E +Zp5B = $5B ; 2 refs; reads=1 writes=1; used at $8634, BA54 +Zp5C = $5C ; 9 refs; reads=7 writes=2; used at $889D, 88CC, 88F4, 8942, +3 more +Zp5D = $5D ; 3 refs; reads=3 writes=0; used at $88F6, 8944, 895C +Zp5E = $5E ; 5 refs; reads=4 writes=1; used at $8541, 8652, A98D, AA04, +1 more +Zp5F = $5F ; 40 refs; reads=39 writes=1; used at $854D, 855A, 858A, 85A6, +36 more +Zp60 = $60 ; 4 refs; reads=2 writes=2; used at $8AEE, 8B52, 8B98 +Zp61 = $61 ; 6 refs; reads=3 writes=3; used at $897D, 8B74, 8EAA, A74C, +2 more +Zp62 = $62 ; 8 refs; reads=3 writes=5; used at $85D5, 8EC0, A80E, A817, +2 more +Zp63 = $63 ; 8 refs; reads=4 writes=4; used at $83F9, 8B08, 8B8E, 8EAE, +4 more +Zp64 = $64 ; 9 refs; reads=5 writes=4; used at $85EE, 8B7D, 8EB6, A7AB, +5 more +Zp65 = $65 ; 19 refs; reads=16 writes=3; used at $85BD, 8B70, A748, A759, +13 more +Zp66 = $66 ; 5 refs; reads=3 writes=2; used at $831C, A7D6, A7D8, C09C, +1 more +Zp67 = $67 ; 26 refs; reads=9 writes=17; used at $8B06, A4DE, A513, A51D, +22 more +Zp68 = $68 ; 34 refs; reads=20 writes=14; used at $87DB, 87E4, 89E9, 89ED, +26 more +Zp69 = $69 ; 56 refs; reads=46 writes=10; used at $85CE, 87D6, 87E0, 8B0D, +52 more +Zp6A = $6A ; 12 refs; reads=8 writes=4; used at $8743, 8790, 87CE, 8E14, +8 more +Zp6B = $6B ; 4 refs; reads=3 writes=1; used at $857B, 8721, A78E, AAF4 +Zp6C = $6C ; 9 refs; reads=5 writes=4; used at $8772, C4F3, C538, C70C, +5 more +Zp6E = $6E ; 2 refs; reads=1 writes=1; used at $B228, CA0C Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $83F5, 83FD, 88E6 +Zp70 = $70 ; 3 refs; reads=2 writes=1; used at $8863, 8E79, 8E7D +Zp71 = $71 ; 3 refs; reads=1 writes=2; used at $86B6, 877A, 8E55 +Zp72 = $72 ; 2 refs; reads=1 writes=1; used at $A51B, A827 +Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $A72D, A746 +Zp74 = $74 ; 7 refs; reads=4 writes=3; used at $85F3, A733, A73E, A9D1, +1 more +Zp75 = $75 ; 5 refs; reads=3 writes=2; used at $A9DE, AA0F, AA12, AAE2 +Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $A9F8, AAD8 +Zp77 = $77 ; 2 refs; reads=1 writes=1; used at $AA00, AA17 +Zp78 = $78 ; 3 refs; reads=2 writes=1; used at $AB65, AB79 +Zp79 = $79 ; 6 refs; reads=3 writes=3; used at $8DF8, CD19, CD1D, CD27, +2 more +Zp7A = $7A ; 30 refs; reads=13 writes=17; used at $C4C4, C8C0, CD79, CFE2, +23 more +Zp7B = $7B ; 35 refs; reads=18 writes=17; used at $C155, C19D, C1A5, C271, +30 more +Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $CFEA, D0B1, D178, D404, +1 more +Zp7D = $7D ; 28 refs; reads=17 writes=11; used at $A4B3, A4D0, A50D, A590, +20 more +Zp7E = $7E ; 11 refs; reads=8 writes=3; used at $85DC, A67B, A7ED, A952, +7 more +Zp7F = $7F ; 4 refs; reads=2 writes=2; used at $D3D9, D448, D44C +Zp80 = $80 ; 43 refs; reads=24 writes=19; used at $840E, A718, A9AA, AA3F, +39 more +Zp82 = $82 ; 2 refs; reads=1 writes=1; used at $FFFA +Zp85 = $85 ; 4 refs; reads=3 writes=1; used at $85D9, BE18, C89A, D486 +Zp86 = $86 ; 5 refs; reads=1 writes=4; used at $8410, 8872, 8B96, 8BEA, +1 more +Zp87 = $87 ; 47 refs; reads=34 writes=13; used at $841A, A6B3, A9A4, AAAB, +42 more +Zp8C = $8C ; 8 refs; reads=7 writes=1; used at $85AC, C89E, C8E9, C930, +4 more +Zp8D = $8D ; 2 refs; reads=0 writes=2; used at $841C, 85B0 +Zp8E = $8E ; 32 refs; reads=29 writes=3; used at $8426, A639, ACD7, AD67, +28 more +Zp93 = $93 ; 11 refs; reads=11 writes=0; used at $A684, A961, A969, C8F3, +7 more +Zp94 = $94 ; 21 refs; reads=20 writes=1; used at $842A, 8BB7, A63B, A687, +17 more +Zp95 = $95 ; 2 refs; reads=2 writes=0; used at $AC6B, BAA8 +Zp99 = $99 ; 2 refs; reads=2 writes=0; used at $B9AC, CB69 +Zp9C = $9C ; 1 refs; reads=1 writes=0; used at $B930 +Zp9F = $9F ; 25 refs; reads=20 writes=5; used at $8412, AA43, ACCE, AD61, +20 more +ZpA4 = $A4 ; 7 refs; reads=7 writes=0; used at $A67F, A956, C8AF, D491, +3 more +ZpA5 = $A5 ; 1 refs; reads=0 writes=1; used at $8414 +ZpA6 = $A6 ; 2 refs; reads=2 writes=0; used at $AC66, BAA4 +ZpAA = $AA ; 2 refs; reads=2 writes=0; used at $B98C, CB5E +ZpAD = $AD ; 1 refs; reads=1 writes=0; used at $B913 +ZpB0 = $B0 ; 40 refs; reads=24 writes=16; used at $8420, 8C9D, AAB9, AC23, +36 more +ZpB5 = $B5 ; 5 refs; reads=3 writes=2; used at $85A2, D1F6, D451, D4A1, +1 more +ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $8422, 85A4, 8BE2, 8C00, +4 more +ZpB7 = $B7 ; 55 refs; reads=16 writes=39; used at $8C92, A637, A656, AD97, +49 more +ZpBC = $BC ; 30 refs; reads=5 writes=25; used at $CFE0, CFE8, CFFA, D0AF, +24 more +ZpBD = $BD ; 6 refs; reads=2 writes=4; used at $8BC7, 8BD9, 8BDD, C50D, +1 more +ZpBE = $BE ; 14 refs; reads=13 writes=1; used at $8549, 8718, AAEC, AB19, +10 more +ZpC0 = $C0 ; 60 refs; reads=41 writes=19; used at $8416, A9B8, AAAF, ACC2, +55 more +ZpC5 = $C5 ; 8 refs; reads=6 writes=2; used at $85D3, D554, D55E, D590, +4 more +ZpC6 = $C6 ; 3 refs; reads=2 writes=1; used at $8B3A, 8BA7, 8C04 +ZpC7 = $C7 ; 27 refs; reads=14 writes=13; used at $B120, B133, B135, B159, +18 more +ZpCE = $CE ; 39 refs; reads=23 writes=16; used at $8B81, 8C99, AACC, ABEF, +34 more +ZpD3 = $D3 ; 10 refs; reads=6 writes=4; used at $85E9, B25F, D060, D064, +6 more +ZpD4 = $D4 ; 12 refs; reads=9 writes=3; used at $85FD, A831, A833, ABBE, +8 more +ZpD5 = $D5 ; 1 refs; reads=0 writes=1; used at $8618 +ZpD9 = $D9 ; 3 refs; reads=1 writes=2; used at $B7CE, B7D0, B806 +ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $B8D5 +ZpDF = $DF ; 61 refs; reads=35 writes=26; used at $8C95, AAC4, AAD0, ABAD, +46 more +ZpE4 = $E4 ; 13 refs; reads=10 writes=3; used at $85E4, B261, D058, D429, +9 more +ZpE5 = $E5 ; 18 refs; reads=13 writes=5; used at $85F8, A82E, A837, ABAB, +10 more +ZpE6 = $E6 ; 1 refs; reads=0 writes=1; used at $861D +ZpEA = $EA ; 5 refs; reads=2 writes=3; used at $B7CB, B7D4, B808 +ZpED = $ED ; 1 refs; reads=0 writes=1; used at $B8D7 ZpF0 = $F0 ; 8 refs; reads=4 writes=4; used at $FB6A, FBA3, FBAA, FBAC, +2 more ZpF1 = $F1 ; 3 refs; reads=1 writes=2; used at $F8E2, F8F4, F902 ZpF2 = $F2 ; 6 refs; reads=3 writes=3; used at $F92A, F948, F95F, F96D, +2 more @@ -47,8 +163,30 @@ ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $FB77, FCE2 ZpF8 = $F8 ; 8 refs; reads=5 writes=3; used at $FB86, FC68, FC71, FC73, +2 more ZpF9 = $F9 ; 7 refs; reads=6 writes=1; used at $FB7C, FBAE, FBDA, FC2E, +3 more ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $FB81 -ZpFB = $FB ; 3 refs; reads=1 writes=2; used at $8927, F84F, FB3C -ZpFC = $FC ; 10 refs; reads=5 writes=5; used at $F84D, F9D9, F9E0, F9E4, +2 more -ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $F84B, FAF6 -ZpFE = $FE ; 6 refs; reads=3 writes=3; used at $F849, F967, F972, F976 -ZpFF = $FF ; 8 refs; reads=4 writes=4; used at $F847, F8F0, F8F6, F8FA, +1 more +ZpFB = $FB ; 8 refs; reads=1 writes=7; used at $8710, 8777, 88B4, 8927, +4 more +ZpFC = $FC ; 23 refs; reads=5 writes=18; used at $8784, 8BB2, 8BD3, BEE7, +15 more +ZpFD = $FD ; 10 refs; reads=2 writes=8; used at $887F, 89B7, A5C9, A85D, +6 more +ZpFE = $FE ; 11 refs; reads=3 writes=8; used at $8B85, 8C1C, A727, C50B, +5 more +ZpFF = $FF ; 22 refs; reads=4 writes=18; used at $B055, B083, B193, B1CA, +15 more + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp10 +VramWritePtrLo = Zp00 +VramWritePtrHi = Zp01 +DispatchPtrLo = Zp02 +DispatchPtrHi = Zp03 +PlayerIndex = Zp69 +PlayerSide = ZpC5 +SpriteIndex = Zp5F +GameState = ZpC0 +LevelIndex = Zp50 +PlayerX = ZpB0 +PlayerY = ZpB7 +EnemyIndex = Zp87 +EnemyHealth = ZpDF +PpuMaskShadow = Zp86 +GameMode = Zp9F +LifeCount = ZpA5 +SpriteScore = ZpB6 +SpriteTimer = Zp80 +SpriteTimer2 = Zp8D diff --git a/NROM/Kung Fu (U) (a1)/prg.s b/NROM/Kung Fu (U) (a1)/prg.s index 8150fa7..275a6c4 100644 --- a/NROM/Kung Fu (U) (a1)/prg.s +++ b/NROM/Kung Fu (U) (a1)/prg.s @@ -9,7 +9,17 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 7 further routine entries recovered from table references elsewhere in the image: +; $8733, $8DE7, $8DE9, $9820, $A881, $A8BD, $D474 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $8408, $850B, $853D, $856E, $857E, $8637, $86B4, $86BE, $86C3, $873E, $87A1, $892F, $8972, $8977, $8995, $8ABF, $8B00, $8B5B, $8BA0, $8C0D, $8C54, $8C83, $8DFD, $8E3A, $A52D, $A558, $A5D4, $A83A, $A8F0, $A8FF, $A94A, $A952, $A9BE, $AB53, $AC3E, $ACF3, $ADFE, $AE12, $AE91, $AEB5, $AEE6, $AFC7, $B012, $B02E, $B06A, $B0DC, $B117, $B18A, $B1C1, $B1E4, $B245, $B2CE, $B79D, $B80E, $B911, $B98A, $BA48, $BAB9, $BDF9, $BFC0, $C042, $C06C, $C177, $C1C7, $C216, $C60B, $C70C, $C7B9, $C89A, $CCAB, $CCD5, $D038, $D03B, $D083, $D0D4, $D0E5, $D117, $D228, $D23E, $D2EF, $D327, $D3F6, $D444, $D481, $D486, $D59E, $D696, $D7F9, $D83F, $D967, $D99B, $DA0D, $F886 ; indirect dispatch through zero page (not followed statically): +; jmp ($0000) at $A858 +; jmp ($005A) at $A94F +; jmp ($0000) at $AEB2 +; jmp ($0000) at $8AFD +; jmp ($0000) at $ADFB +; jmp ($0000) at $D324 ; jmp ($0000) at $83F2 ; .setcpu "6502" @@ -26,7 +36,9 @@ ; referenced by `lda $8000,y` at $83C7 (operand $8000 falls inside this region) ; referenced by `lda $800E,x` at $83D8 (operand $800E falls inside this region) ; referenced by `lda $800E,x` at $83DE (operand $800E falls inside this region) - .byte $82, $84, $3E, $87, $A1, $87, $BF, $8A, $2F, $89, $95, $89, $D9, $8C, $1C, $80 ; CPU:$8000 PRG:0000 82 84 3E 87 A1 87 BF 8A 2F 89 95 89 D9 8C 1C 80 +; ... and 25 further references from decoded code +LevelHandlerPointerTable: + .byte $82, $84, $3E, $87, $A1, $87, $BF, $8A, $2F, $89, $95, $89, $D9, $8C, $1C, $80 ; CPU:$8000 PRG:-4000 82 84 3E 87 A1 87 BF 8A 2F 89 95 89 D9 8C 1C 80 .byte $24, $80, $24, $80, $24, $80, $24, $80, $44, $80, $4E, $80, $0B, $85, $08, $84 ; CPU:$8010 PRG:0010 24 80 24 80 24 80 24 80 44 80 4E 80 0B 85 08 84 .byte $43, $84, $33, $87, $0B, $85, $3D, $85, $6D, $85, $6E, $85, $6D, $85, $BE, $86 ; CPU:$8020 PRG:0020 43 84 33 87 0B 85 3D 85 6D 85 6E 85 6D 85 BE 86 .byte $6D, $85, $7E, $85, $6D, $85, $FF, $A8, $37, $86, $B4, $86, $C3, $86, $6D, $85 ; CPU:$8030 PRG:0030 6D 85 7E 85 6D 85 FF A8 37 86 B4 86 C3 86 6D 85 @@ -104,9 +116,9 @@ Reset_OnCarryClear2: asl a ; CPU:$826B PRG:026B 0A bcc Reset_OnCarryClear2 ; CPU:$826C PRG:026C 90 FA lda #$04 ; CPU:$826E PRG:026E A9 04 - sta Zp01 ; CPU:$8270 PRG:0270 85 01 + sta VramWritePtrHi ; CPU:$8270 PRG:0270 85 01 lda #$00 ; CPU:$8272 PRG:0272 A9 00 - sta Zp00 ; CPU:$8274 PRG:0274 85 00 + sta VramWritePtrLo ; CPU:$8274 PRG:0274 85 00 tay ; CPU:$8276 PRG:0276 A8 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero @@ -117,13 +129,13 @@ Reset_OnCarryClear2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero: - sta (Zp00),y ; CPU:$8277 PRG:0277 91 00 + sta (VramWritePtrLo),y ; CPU:$8277 PRG:0277 91 00 dey ; CPU:$8279 PRG:0279 88 bne Reset_OnNonzero ; CPU:$827A PRG:027A D0 FB - dec Zp01 ; CPU:$827C PRG:027C C6 01 + dec VramWritePtrHi ; CPU:$827C PRG:027C C6 01 bpl Reset_OnNonzero ; CPU:$827E PRG:027E 10 F7 lda #$06 ; CPU:$8280 PRG:0280 A9 06 - sta Zp01 ; CPU:$8282 PRG:0282 85 01 + sta VramWritePtrHi ; CPU:$8282 PRG:0282 85 01 lda #$00 ; CPU:$8284 PRG:0284 A9 00 tay ; CPU:$8286 PRG:0286 A8 ; ----------------------------------------------------------------------------- @@ -135,15 +147,15 @@ Reset_OnNonzero: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero2: - sta (Zp00),y ; CPU:$8287 PRG:0287 91 00 + sta (VramWritePtrLo),y ; CPU:$8287 PRG:0287 91 00 dey ; CPU:$8289 PRG:0289 88 bne Reset_OnNonzero2 ; CPU:$828A PRG:028A D0 FB - inc Zp01 ; CPU:$828C PRG:028C E6 01 - lda Zp01 ; CPU:$828E PRG:028E A5 01 + inc VramWritePtrHi ; CPU:$828C PRG:028C E6 01 + lda VramWritePtrHi ; CPU:$828E PRG:028E A5 01 cmp #$08 ; CPU:$8290 PRG:0290 C9 08 bcc Reset_OnNonzero2 ; CPU:$8292 PRG:0292 90 F3 lda #$05 ; CPU:$8294 PRG:0294 A9 05 - sta Zp01 ; CPU:$8296 PRG:0296 85 01 + sta VramWritePtrHi ; CPU:$8296 PRG:0296 85 01 lda $051E ; CPU:$8298 PRG:0298 AD 1E 05 cmp #$A5 ; CPU:$829B PRG:029B C9 A5 bne Reset_Loop ; CPU:$829D PRG:029D D0 09 @@ -170,7 +182,7 @@ Reset_Loop: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero3: - sta (Zp00),y ; CPU:$82AA PRG:02AA 91 00 + sta (VramWritePtrLo),y ; CPU:$82AA PRG:02AA 91 00 dey ; CPU:$82AC PRG:02AC 88 bne Reset_OnNonzero3 ; CPU:$82AD PRG:02AD D0 FB sta $0537 ; CPU:$82AF PRG:02AF 8D 37 05 @@ -206,10 +218,10 @@ Sub_82D3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler: - lda Zp10 ; CPU:$82D6 PRG:02D6 A5 10 + lda PpuCtrlShadow ; CPU:$82D6 PRG:02D6 A5 10 and #$7F ; CPU:$82D8 PRG:02D8 29 7F sta PPUCTRL ; CPU:$82DA PRG:02DA 8D 00 20 - sta Zp10 ; CPU:$82DD PRG:02DD 85 10 + sta PpuCtrlShadow ; CPU:$82DD PRG:02DD 85 10 lda #$00 ; CPU:$82DF PRG:02DF A9 00 sta PPUMASK ; CPU:$82E1 PRG:02E1 8D 01 20 sta OAMADDR ; CPU:$82E4 PRG:02E4 8D 03 20 @@ -220,9 +232,9 @@ NmiHandler: sta PPUSCROLL ; CPU:$82F2 PRG:02F2 8D 05 20 ldx Zp52 ; CPU:$82F5 PRG:02F5 A6 52 lda $8056,x ; CPU:$82F7 PRG:02F7 BD 56 80 - sta Zp00 ; CPU:$82FA PRG:02FA 85 00 + sta VramWritePtrLo ; CPU:$82FA PRG:02FA 85 00 lda $80A5,x ; CPU:$82FC PRG:02FC BD A5 80 - sta Zp01 ; CPU:$82FF PRG:02FF 85 01 + sta VramWritePtrHi ; CPU:$82FF PRG:02FF 85 01 jsr Sub_DB3E ; CPU:$8301 PRG:0301 20 3E DB lda #$3F ; CPU:$8304 PRG:0304 A9 3F sta PPUADDR ; CPU:$8306 PRG:0306 8D 06 20 @@ -235,7 +247,7 @@ NmiHandler: sta Zp52 ; CPU:$831A PRG:031A 85 52 sta Zp66 ; CPU:$831C PRG:031C 85 66 jsr Sub_8E25 ; CPU:$831E PRG:031E 20 25 8E - lda Zp50 ; CPU:$8321 PRG:0321 A5 50 + lda LevelIndex ; CPU:$8321 PRG:0321 A5 50 beq NmiHandler_Loop ; CPU:$8323 PRG:0323 F0 09 lda Zp11 ; CPU:$8325 PRG:0325 A5 11 ora #$1A ; CPU:$8327 PRG:0327 09 1A @@ -295,10 +307,10 @@ NmiHandler_Loop3: jsr Sub_8FDD ; CPU:$834D PRG:034D 20 DD 8F lda Zp18 ; CPU:$8350 PRG:0350 A5 18 and #$02 ; CPU:$8352 PRG:0352 29 02 - sta Zp00 ; CPU:$8354 PRG:0354 85 00 + sta VramWritePtrLo ; CPU:$8354 PRG:0354 85 00 lda Zp19 ; CPU:$8356 PRG:0356 A5 19 and #$02 ; CPU:$8358 PRG:0358 29 02 - eor Zp00 ; CPU:$835A PRG:035A 45 00 + eor VramWritePtrLo ; CPU:$835A PRG:035A 45 00 clc ; CPU:$835C PRG:035C 18 beq NmiHandler_Loop4 ; CPU:$835D PRG:035D F0 01 sec ; CPU:$835F PRG:035F 38 @@ -333,7 +345,7 @@ NmiHandler_Loop4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero: - sta Zp00,x ; CPU:$837C PRG:037C 95 00 + sta VramWritePtrLo,x ; CPU:$837C PRG:037C 95 00 inx ; CPU:$837E PRG:037E E8 bne NmiHandler_OnNonzero ; CPU:$837F PRG:037F D0 FB lda Zp14 ; CPU:$8381 PRG:0381 A5 14 @@ -341,7 +353,7 @@ NmiHandler_OnNonzero: beq NmiHandler_Loop5 ; CPU:$8385 PRG:0385 F0 0F lda $0369 ; CPU:$8387 PRG:0387 AD 69 03 bne NmiHandler_Loop5 ; CPU:$838A PRG:038A D0 0A - jsr Sub_896A ; CPU:$838C PRG:038C 20 6A 89 + jsr NmiHandler_Loop52 ; CPU:$838C PRG:038C 20 6A 89 lda #$01 ; CPU:$838F PRG:038F A9 01 sta Zp35 ; CPU:$8391 PRG:0391 85 35 asl a ; CPU:$8393 PRG:0393 0A @@ -367,7 +379,7 @@ NmiHandler_Loop5: NmiHandler_Loop6: jsr Sub_F831 ; CPU:$8399 PRG:0399 20 31 F8 lda PPUSTATUS ; CPU:$839C PRG:039C AD 02 20 - lda Zp10 ; CPU:$839F PRG:039F A5 10 + lda PpuCtrlShadow ; CPU:$839F PRG:039F A5 10 ora #$80 ; CPU:$83A1 PRG:03A1 09 80 jsr Sub_8E34 ; CPU:$83A3 PRG:03A3 20 34 8E rti ; CPU:$83A6 PRG:03A6 40 @@ -380,7 +392,7 @@ NmiHandler_Loop6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_83A7: - lda Zp50 ; CPU:$83A7 PRG:03A7 A5 50 + lda LevelIndex ; CPU:$83A7 PRG:03A7 A5 50 beq NmiHandler_Loop8 ; CPU:$83A9 PRG:03A9 F0 22 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero2 @@ -412,7 +424,7 @@ NmiHandler_Loop7: asl a ; CPU:$83BF PRG:03BF 0A tay ; CPU:$83C0 PRG:03C0 A8 lda $8000,y ; CPU:$83C1 PRG:03C1 B9 00 80 - sta Zp00 ; CPU:$83C4 PRG:03C4 85 00 + sta VramWritePtrLo ; CPU:$83C4 PRG:03C4 85 00 iny ; CPU:$83C6 PRG:03C6 C8 lda $8000,y ; CPU:$83C7 PRG:03C7 B9 00 80 jmp Sub_83F0 ; CPU:$83CA PRG:03CA 4C F0 83 @@ -432,18 +444,18 @@ NmiHandler_Loop8: asl a ; CPU:$83D6 PRG:03D6 0A tax ; CPU:$83D7 PRG:03D7 AA lda $800E,x ; CPU:$83D8 PRG:03D8 BD 0E 80 - sta Zp02 ; CPU:$83DB PRG:03DB 85 02 + sta DispatchPtrLo ; CPU:$83DB PRG:03DB 85 02 inx ; CPU:$83DD PRG:03DD E8 lda $800E,x ; CPU:$83DE PRG:03DE BD 0E 80 - sta Zp03 ; CPU:$83E1 PRG:03E1 85 03 + sta DispatchPtrHi ; CPU:$83E1 PRG:03E1 85 03 lda Zp4F ; CPU:$83E3 PRG:03E3 A5 4F inc Zp4F ; CPU:$83E5 PRG:03E5 E6 4F asl a ; CPU:$83E7 PRG:03E7 0A tay ; CPU:$83E8 PRG:03E8 A8 - lda (Zp02),y ; CPU:$83E9 PRG:03E9 B1 02 - sta Zp00 ; CPU:$83EB PRG:03EB 85 00 + lda (DispatchPtrLo),y ; CPU:$83E9 PRG:03E9 B1 02 + sta VramWritePtrLo ; CPU:$83EB PRG:03EB 85 00 iny ; CPU:$83ED PRG:03ED C8 - lda (Zp02),y ; CPU:$83EE PRG:03EE B1 02 + lda (DispatchPtrLo),y ; CPU:$83EE PRG:03EE B1 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_83F0 ; Global: Branch target inside Sub: taken when 83F0. @@ -453,8 +465,8 @@ NmiHandler_Loop8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_83F0: - sta Zp01 ; CPU:$83F0 PRG:03F0 85 01 - jmp (Zp00) ; CPU:$83F2 PRG:03F2 6C 00 00 + sta VramWritePtrHi ; CPU:$83F0 PRG:03F0 85 01 + jmp (VramWritePtrLo) ; CPU:$83F2 PRG:03F2 6C 00 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop9 ; Global: Branch target inside NmiHandler: taken when Loop9. @@ -481,10 +493,37 @@ Sub_83FF: jsr Sub_8F6C ; CPU:$83FF PRG:03FF 20 6C 8F jsr Sub_8FBE ; CPU:$8402 PRG:0402 20 BE 8F jmp Sub_8FC9 ; CPU:$8405 PRG:0405 4C C9 8F -; ---- data $8408-$8435 (46 bytes) ---- - .byte $A9, $0C, $85, $52, $A9, $01, $85, $80, $85, $86, $85, $9F, $85, $A5, $85, $C0 ; CPU:$8408 PRG:0408 A9 0C 85 52 A9 01 85 80 85 86 85 9F 85 A5 85 C0 - .byte $A9, $0E, $85, $87, $85, $8D, $A9, $70, $85, $B0, $85, $B6, $A9, $28, $85, $8E ; CPU:$8418 PRG:0418 A9 0E 85 87 85 8D A9 70 85 B0 85 B6 A9 28 85 8E - .byte $A9, $D8, $85, $94, $A9, $10, $85, $4B, $20, $CE, $B2, $20, $1E, $8A ; CPU:$8428 PRG:0428 A9 D8 85 94 A9 10 85 4B 20 CE B2 20 1E 8A +; ----------------------------------------------------------------------------- +; Routine: Label_8408 +; Global: Branch target inside Label: taken when 8408. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8408: + lda #$0C ; CPU:$8408 PRG:0408 A9 0C + sta Zp52 ; CPU:$840A PRG:040A 85 52 + lda #$01 ; CPU:$840C PRG:040C A9 01 + sta SpriteTimer ; CPU:$840E PRG:040E 85 80 + sta PpuMaskShadow ; CPU:$8410 PRG:0410 85 86 + sta GameMode ; CPU:$8412 PRG:0412 85 9F + sta LifeCount ; CPU:$8414 PRG:0414 85 A5 + sta GameState ; CPU:$8416 PRG:0416 85 C0 + lda #$0E ; CPU:$8418 PRG:0418 A9 0E + sta EnemyIndex ; CPU:$841A PRG:041A 85 87 + sta SpriteTimer2 ; CPU:$841C PRG:041C 85 8D + lda #$70 ; CPU:$841E PRG:041E A9 70 + sta PlayerX ; CPU:$8420 PRG:0420 85 B0 + sta SpriteScore ; CPU:$8422 PRG:0422 85 B6 + lda #$28 ; CPU:$8424 PRG:0424 A9 28 + sta Zp8E ; CPU:$8426 PRG:0426 85 8E + lda #$D8 ; CPU:$8428 PRG:0428 A9 D8 + sta Zp94 ; CPU:$842A PRG:042A 85 94 + lda #$10 ; CPU:$842C PRG:042C A9 10 + sta Zp4B ; CPU:$842E PRG:042E 85 4B + jsr Sub_B2CE ; CPU:$8430 PRG:0430 20 CE B2 + jsr Sub_8A1E ; CPU:$8433 PRG:0433 20 1E 8A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop10 ; Global: Branch target inside NmiHandler: taken when Loop10. @@ -495,8 +534,9 @@ Sub_83FF: ; ----------------------------------------------------------------------------- NmiHandler_Loop10: rts ; CPU:$8436 PRG:0436 60 -; ---- data $8437-$88D3 (1181 bytes) ---- - .byte $00, $0A, $40, $38, $BE, $F4, $02, $40, $CE, $F4, $02, $47, $A9, $18, $85, $52 ; CPU:$8437 PRG:0437 00 0A 40 38 BE F4 02 40 CE F4 02 47 A9 18 85 52 +; ---- data $8437-$84E9 (179 bytes) ---- +LevelObjectDefinitionTable: + .byte $00, $0A, $40, $38, $BE, $F4, $02, $40, $CE, $F4, $02, $47, $A9, $18, $85, $52 ; CPU:$8437 PRG:-3BC9 00 0A 40 38 BE F4 02 40 CE F4 02 47 A9 18 85 52 .byte $8D, $3B, $05, $A9, $00, $85, $6D, $85, $56, $85, $57, $85, $58, $85, $59, $8D ; CPU:$8447 PRG:0447 8D 3B 05 A9 00 85 6D 85 56 85 57 85 58 85 59 8D .byte $2D, $05, $8D, $2E, $05, $85, $55, $8D, $3C, $05, $85, $5C, $85, $5D, $A9, $0F ; CPU:$8457 PRG:0457 2D 05 8D 2E 05 85 55 8D 3C 05 85 5C 85 5D A9 0F .byte $8D, $15, $40, $A2, $0B, $BD, $37, $84, $9D, $00, $02, $CA, $10, $F7, $A6, $54 ; CPU:$8467 PRG:0467 8D 15 40 A2 0B BD 37 84 9D 00 02 CA 10 F7 A6 54 @@ -507,69 +547,1051 @@ NmiHandler_Loop10: .byte $9D, $00, $05, $9D, $07, $05, $CA, $10, $F7, $A9, $01, $8D, $38, $05, $A2, $03 ; CPU:$84B7 PRG:04B7 9D 00 05 9D 07 05 CA 10 F7 A9 01 8D 38 05 A2 03 .byte $86, $5C, $A5, $54, $29, $02, $F0, $02, $86, $5D, $A9, $02, $85, $35, $8D, $69 ; CPU:$84C7 PRG:04C7 86 5C A5 54 29 02 F0 02 86 5D A9 02 85 35 8D 69 .byte $03, $E6, $51, $AD, $37, $05, $49, $0F, $8D, $15, $40, $20, $DA, $88, $AD, $37 ; CPU:$84D7 PRG:04D7 03 E6 51 AD 37 05 49 0F 8D 15 40 20 DA 88 AD 37 - .byte $05, $F0, $AC, $A9, $00, $8D, $CD, $03, $85, $20, $85, $49, $85, $4A, $A8, $B9 ; CPU:$84E7 PRG:04E7 05 F0 AC A9 00 8D CD 03 85 20 85 49 85 4A A8 B9 - .byte $EE, $81, $8D, $39, $05, $A2, $07, $AD, $37, $05, $D0, $02, $A9, $06, $95, $18 ; CPU:$84F7 PRG:04F7 EE 81 8D 39 05 A2 07 AD 37 05 D0 02 A9 06 95 18 - .byte $CA, $10, $FB, $60, $A0, $60, $A9, $00, $99, $00, $00, $C8, $D0, $FA, $A2, $03 ; CPU:$8507 PRG:0507 CA 10 FB 60 A0 60 A9 00 99 00 00 C8 D0 FA A2 03 - .byte $86, $01, $85, $00, $91, $00, $C8, $D0, $FB, $E6, $01, $A6, $01, $E0, $05, $D0 ; CPU:$8517 PRG:0517 86 01 85 00 91 00 C8 D0 FB E6 01 A6 01 E0 05 D0 - .byte $02, $E6, $01, $E0, $08, $90, $ED, $A2, $06, $8A, $9D, $C2, $03, $CA, $10, $F9 ; CPU:$8527 PRG:0527 02 E6 01 E0 08 90 ED A2 06 8A 9D C2 03 CA 10 F9 - .byte $A9, $F8, $8D, $2F, $05, $60, $A6, $55, $B5, $56, $85, $5E, $C9, $03, $90, $02 ; CPU:$8537 PRG:0537 A9 F8 8D 2F 05 60 A6 55 B5 56 85 5E C9 03 90 02 - .byte $A9, $03, $85, $BE, $B5, $58, $85, $5F, $A0, $24, $B9, $DC, $DB, $99, $01, $03 ; CPU:$8547 PRG:0547 A9 03 85 BE B5 58 85 5F A0 24 B9 DC DB 99 01 03 - .byte $88, $10, $F7, $A5, $5F, $0A, $0A, $A8, $A2, $00, $B9, $48, $DB, $9D, $20, $03 ; CPU:$8557 PRG:0557 88 10 F7 A5 5F 0A 0A A8 A2 00 B9 48 DB 9D 20 03 - .byte $C8, $E8, $E0, $04, $90, $F4, $60, $A9, $06, $85, $52, $A5, $53, $AE, $37, $05 ; CPU:$8567 PRG:0567 C8 E8 E0 04 90 F4 60 A9 06 85 52 A5 53 AE 37 05 - .byte $F0, $02, $A9, $01, $85, $6B, $60, $A2, $08, $A9, $FF, $9D, $C0, $04, $CA, $10 ; CPU:$8577 PRG:0577 F0 02 A9 01 85 6B 60 A2 08 A9 FF 9D C0 04 CA 10 - .byte $FA, $A2, $07, $A5, $5F, $F0, $05, $E8, $4A, $90, $01, $E8, $86, $52, $A2, $03 ; CPU:$8587 PRG:0587 FA A2 07 A5 5F F0 05 E8 4A 90 01 E8 86 52 A2 03 - .byte $BD, $0E, $81, $9D, $00, $02, $CA, $10, $F7, $A9, $87, $85, $B5, $85, $B6, $A6 ; CPU:$8597 PRG:0597 BD 0E 81 9D 00 02 CA 10 F7 A9 87 85 B5 85 B6 A6 - .byte $5F, $8A, $18, $69, $03, $85, $8C, $A9, $09, $85, $8D, $8D, $8A, $03, $A9, $C0 ; CPU:$85A7 PRG:05A7 5F 8A 18 69 03 85 8C A9 09 85 8D 8D 8A 03 A9 C0 - .byte $8D, $8B, $03, $BD, $14, $81, $85, $65, $8A, $0A, $A8, $20, $2B, $86, $8A, $29 ; CPU:$85B7 PRG:05B7 8D 8B 03 BD 14 81 85 65 8A 0A A8 20 2B 86 8A 29 - .byte $01, $8D, $72, $03, $8D, $7B, $03, $85, $69, $A8, $49, $01, $85, $C5, $85, $62 ; CPU:$85C7 PRG:05C7 01 8D 72 03 8D 7B 03 85 69 A8 49 01 85 C5 85 62 - .byte $A9, $01, $85, $85, $0A, $85, $7E, $8D, $90, $03, $B9, $17, $81, $85, $E4, $B9 ; CPU:$85D7 PRG:05D7 A9 01 85 85 0A 85 7E 8D 90 03 B9 17 81 85 E4 B9 - .byte $19, $81, $85, $D3, $B9, $1D, $81, $85, $64, $B9, $12, $81, $85, $74, $B9, $14 ; CPU:$85E7 PRG:05E7 19 81 85 D3 B9 1D 81 85 64 B9 12 81 85 74 B9 14 - .byte $81, $85, $E5, $B9, $1D, $81, $85, $D4, $B9, $1B, $81, $8D, $84, $03, $A9, $30 ; CPU:$85F7 PRG:05F7 81 85 E5 B9 1D 81 85 D4 B9 1B 81 8D 84 03 A9 30 - .byte $8D, $A5, $04, $8D, $A6, $04, $A5, $5F, $C9, $03, $D0, $15, $A2, $03, $BD, $02 ; CPU:$8607 PRG:0607 8D A5 04 8D A6 04 A5 5F C9 03 D0 15 A2 03 BD 02 - .byte $81, $95, $D5, $BD, $06, $81, $95, $E6, $BD, $0A, $81, $9D, $50, $04, $CA, $10 ; CPU:$8617 PRG:0617 81 95 D5 BD 06 81 95 E6 BD 0A 81 9D 50 04 CA 10 - .byte $ED, $60, $A0, $00, $B9, $F8, $80, $85, $5A, $C8, $B9, $F8, $80, $85, $5B, $60 ; CPU:$8627 PRG:0627 ED 60 A0 00 B9 F8 80 85 5A C8 B9 F8 80 85 5B 60 - .byte $20, $79, $CC, $AC, $00, $03, $A9, $20, $99, $01, $03, $99, $05, $03, $A9, $F7 ; CPU:$8637 PRG:0637 20 79 CC AC 00 03 A9 20 99 01 03 99 05 03 A9 F7 - .byte $99, $02, $03, $A9, $01, $99, $03, $03, $99, $07, $03, $A5, $5E, $99, $04, $03 ; CPU:$8647 PRG:0647 99 02 03 A9 01 99 03 03 99 07 03 A5 5E 99 04 03 - .byte $A9, $FC, $99, $06, $03, $A9, $0A, $A6, $53, $F0, $02, $A9, $FA, $99, $08, $03 ; CPU:$8657 PRG:0657 A9 FC 99 06 03 A9 0A A6 53 F0 02 A9 FA 99 08 03 - .byte $A9, $00, $99, $09, $03, $98, $18, $69, $08, $8D, $00, $03, $20, $9F, $CC, $A9 ; CPU:$8667 PRG:0667 A9 00 99 09 03 98 18 69 08 8D 00 03 20 9F CC A9 - .byte $20, $8D, $2A, $05, $A9, $6F, $8D, $2B, $05, $20, $3F, $CC, $A5, $55, $D0, $12 ; CPU:$8677 PRG:0677 20 8D 2A 05 A9 6F 8D 2B 05 20 3F CC A5 55 D0 12 - .byte $20, $9C, $86, $A2, $06, $BD, $00, $05, $9D, $30, $05, $CA, $10, $F7, $A9, $64 ; CPU:$8687 PRG:0687 20 9C 86 A2 06 BD 00 05 9D 30 05 CA 10 F7 A9 64 - .byte $D0, $10, $20, $8A, $86, $A2, $06, $BD, $07, $05, $9D, $30, $05, $CA, $10, $F7 ; CPU:$8697 PRG:0697 D0 10 20 8A 86 A2 06 BD 07 05 9D 30 05 CA 10 F7 - .byte $A9, $78, $8D, $29, $05, $A9, $20, $8D, $28, $05, $4C, $DD, $CB, $A9, $0E, $85 ; CPU:$86A7 PRG:06A7 A9 78 8D 29 05 A9 20 8D 28 05 4C DD CB A9 0E 85 - .byte $71, $AE, $37, $05, $F0, $03, $60, $A9, $23, $85, $52, $60, $A0, $0D, $B9, $56 ; CPU:$86B7 PRG:06B7 71 AE 37 05 F0 03 60 A9 23 85 52 60 A0 0D B9 56 - .byte $81, $99, $01, $03, $88, $10, $F7, $A4, $5F, $A2, $00, $8E, $3B, $05, $A9, $FD ; CPU:$86C7 PRG:06C7 81 99 01 03 88 10 F7 A4 5F A2 00 8E 3B 05 A9 FD - .byte $9D, $04, $03, $E8, $E8, $88, $10, $F8, $AD, $37, $05, $D0, $2E, $A2, $0C, $A0 ; CPU:$86D7 PRG:06D7 9D 04 03 E8 E8 88 10 F8 AD 37 05 D0 2E A2 0C A0 - .byte $08, $B9, $21, $81, $9D, $01, $03, $E8, $88, $10, $F6, $A2, $0C, $A4, $55, $C8 ; CPU:$86E7 PRG:06E7 08 B9 21 81 9D 01 03 E8 88 10 F6 A2 0C A4 55 C8 - .byte $98, $9D, $04, $03, $A4, $5F, $C8, $98, $9D, $08, $03, $AD, $3C, $05, $D0, $0B ; CPU:$86F7 PRG:06F7 98 9D 04 03 A4 5F C8 98 9D 08 03 AD 3C 05 D0 0B - .byte $A9, $1C, $85, $3A, $8D, $3C, $05, $A9, $08, $85, $FB, $A5, $5F, $0A, $0A, $85 ; CPU:$8707 PRG:0707 A9 1C 85 3A 8D 3C 05 A9 08 85 FB A5 5F 0A 0A 85 - .byte $00, $A5, $BE, $05, $00, $AA, $A5, $5F, $F0, $04, $A5, $6B, $49, $01, $0A, $7D ; CPU:$8717 PRG:0717 00 A5 BE 05 00 AA A5 5F F0 04 A5 6B 49 01 0A 7D - .byte $2A, $81, $8D, $AA, $03, $8D, $7E, $03, $8D, $7F, $03, $60, $20, $EA, $84, $A9 ; CPU:$8727 PRG:0727 2A 81 8D AA 03 8D 7E 03 8D 7F 03 60 20 EA 84 A9 - .byte $01, $85, $50, $4A, $85, $4F, $60, $AE, $72, $03, $A9, $00, $85, $6A, $A5, $3A ; CPU:$8737 PRG:0737 01 85 50 4A 85 4F 60 AE 72 03 A9 00 85 6A A5 3A - .byte $0D, $66, $03, $0D, $67, $03, $D0, $43, $A5, $12, $F0, $2B, $AD, $3B, $05, $D0 ; CPU:$8747 PRG:0747 0D 66 03 0D 67 03 D0 43 A5 12 F0 2B AD 3B 05 D0 - .byte $0E, $A9, $0F, $8D, $3B, $05, $AE, $37, $05, $D0, $30, $85, $52, $D0, $2C, $A5 ; CPU:$8757 PRG:0757 0E A9 0F 8D 3B 05 AE 37 05 D0 30 85 52 D0 2C A5 - .byte $37, $D0, $28, $A9, $10, $85, $52, $E6, $51, $A9, $01, $85, $6C, $8D, $69, $03 ; CPU:$8767 PRG:0767 37 D0 28 A9 10 85 52 E6 51 A9 01 85 6C 8D 69 03 - .byte $85, $FB, $4A, $85, $71, $F0, $14, $A5, $21, $D0, $04, $A9, $08, $85, $FC, $A9 ; CPU:$8777 PRG:0777 85 FB 4A 85 71 F0 14 A5 21 D0 04 A9 08 85 FC A9 - .byte $08, $85, $37, $8D, $8F, $03, $BD, $1F, $81, $85, $6A, $20, $96, $A4, $20, $3A ; CPU:$8787 PRG:0787 08 85 37 8D 8F 03 BD 1F 81 85 6A 20 96 A4 20 3A - .byte $A8, $20, $AA, $A6, $20, $3A, $8E, $4C, $FF, $A8, $AD, $37, $05, $F0, $06, $20 ; CPU:$8797 PRG:0797 A8 20 AA A6 20 3A 8E 4C FF A8 AD 37 05 F0 06 20 - .byte $FD, $8D, $4C, $D0, $87, $A5, $5F, $C9, $03, $D0, $03, $20, $4E, $BA, $AD, $37 ; CPU:$87A7 PRG:07A7 FD 8D 4C D0 87 A5 5F C9 03 D0 03 20 4E BA AD 37 - .byte $05, $F0, $06, $20, $FD, $8D, $4C, $D0, $87, $AD, $66, $03, $0D, $67, $03, $D0 ; CPU:$87B7 PRG:07B7 05 F0 06 20 FD 8D 4C D0 87 AD 66 03 0D 67 03 D0 - .byte $33, $A5, $55, $0A, $AA, $B5, $14, $85, $6A, $AE, $6F, $03, $AC, $6E, $03, $A5 ; CPU:$87C7 PRG:07C7 33 A5 55 0A AA B5 14 85 6A AE 6F 03 AC 6E 03 A5 - .byte $69, $8D, $6F, $03, $A5, $68, $8D, $6E, $03, $E4, $69, $D0, $04, $C4, $68, $F0 ; CPU:$87D7 PRG:07D7 69 8D 6F 03 A5 68 8D 6E 03 E4 69 D0 04 C4 68 F0 - .byte $05, $A9, $01, $8D, $8F, $03, $20, $AA, $A6, $20, $F3, $AC, $AD, $8F, $03, $D0 ; CPU:$87E7 PRG:07E7 05 A9 01 8D 8F 03 20 AA A6 20 F3 AC AD 8F 03 D0 - .byte $03, $20, $96, $A4, $20, $42, $C0, $20, $F9, $D7, $20, $C7, $C1, $A5, $5F, $C9 ; CPU:$87F7 PRG:07F7 03 20 96 A4 20 42 C0 20 F9 D7 20 C7 C1 A5 5F C9 - .byte $04, $D0, $03, $20, $86, $D4, $20, $DC, $B2, $20, $8A, $B9, $20, $4A, $A9, $20 ; CPU:$8807 PRG:0807 04 D0 03 20 86 D4 20 DC B2 20 8A B9 20 4A A9 20 - .byte $3A, $8E, $20, $F6, $CC, $20, $11, $B9, $20, $0B, $C6, $AD, $66, $03, $0D, $67 ; CPU:$8817 PRG:0817 3A 8E 20 F6 CC 20 11 B9 20 0B C6 AD 66 03 0D 67 - .byte $03, $D0, $2E, $20, $AD, $B8, $AD, $A6, $04, $30, $38, $20, $B8, $B9, $20, $4B ; CPU:$8827 PRG:0827 03 D0 2E 20 AD B8 AD A6 04 30 38 20 B8 B9 20 4B - .byte $C9, $A5, $49, $4A, $90, $09, $20, $9A, $C8, $20, $68, $CD, $4C, $49, $88, $20 ; CPU:$8837 PRG:0837 C9 A5 49 4A 90 09 20 9A C8 20 68 CD 4C 49 88 20 - .byte $16, $C2, $20, $3A, $A8, $20, $0C, $C7, $20, $C0, $BF, $20, $96, $D6, $20, $9D ; CPU:$8847 PRG:0847 16 C2 20 3A A8 20 0C C7 20 C0 BF 20 96 D6 20 9D - .byte $B7, $AD, $8F, $03, $F0, $06, $20, $FF, $A8, $4C, $6D, $88, $A5, $70, $D0, $06 ; CPU:$8857 PRG:0857 B7 AD 8F 03 F0 06 20 FF A8 4C 6D 88 A5 70 D0 06 - .byte $20, $B9, $BA, $20, $B9, $C7, $AD, $88, $03, $F0, $76, $A5, $86, $05, $36, $F0 ; CPU:$8867 PRG:0867 20 B9 BA 20 B9 C7 AD 88 03 F0 76 A5 86 05 36 F0 - .byte $0F, $C9, $0A, $D0, $6C, $AD, $8F, $04, $85, $FD, $A9, $00, $8D, $8F, $04, $60 ; CPU:$8877 PRG:0877 0F C9 0A D0 6C AD 8F 04 85 FD A9 00 8D 8F 04 60 - .byte $A6, $55, $F0, $02, $A2, $07, $A0, $00, $B9, $30, $05, $9D, $00, $05, $C8, $E8 ; CPU:$8887 PRG:0887 A6 55 F0 02 A2 07 A0 00 B9 30 05 9D 00 05 C8 E8 - .byte $C0, $07, $90, $F4, $A6, $55, $D6, $5C, $D0, $21, $A2, $20, $BD, $63, $81, $9D ; CPU:$8897 PRG:0897 C0 07 90 F4 A6 55 D6 5C D0 21 A2 20 BD 63 81 9D - .byte $00, $03, $CA, $10, $F7, $A6, $55, $E8, $8E, $05, $03, $A9, $10, $85, $FB, $8D ; CPU:$88A7 PRG:08A7 00 03 CA 10 F7 A6 55 E8 8E 05 03 A9 10 85 FB 8D - .byte $3B, $05, $A9, $04, $85, $51, $A9, $24, $85, $36, $60, $A5, $54, $29, $02, $F0 ; CPU:$88B7 PRG:08B7 3B 05 A9 04 85 51 A9 24 85 36 60 A5 54 29 02 F0 - .byte $0A, $8A, $49, $01, $AA, $B5, $5C, $F0, $02, $86, $55, $A9, $01 ; CPU:$88C7 PRG:08C7 0A 8A 49 01 AA B5 5C F0 02 86 55 A9 01 + .byte $05, $F0, $AC ; CPU:$84E7 PRG:04E7 05 F0 AC +; ----------------------------------------------------------------------------- +; Routine: Sub_84EA +; Global: Branch target inside Sub: taken when 84EA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_84EA: + lda #$00 ; CPU:$84EA PRG:04EA A9 00 + sta $03CD ; CPU:$84EC PRG:04EC 8D CD 03 + sta Zp20 ; CPU:$84EF PRG:04EF 85 20 + sta Zp49 ; CPU:$84F1 PRG:04F1 85 49 + sta Zp4A ; CPU:$84F3 PRG:04F3 85 4A + tay ; CPU:$84F5 PRG:04F5 A8 + lda $81EE,y ; CPU:$84F6 PRG:04F6 B9 EE 81 + sta $0539 ; CPU:$84F9 PRG:04F9 8D 39 05 + ldx #$07 ; CPU:$84FC PRG:04FC A2 07 + lda $0537 ; CPU:$84FE PRG:04FE AD 37 05 + bne NmiHandler_OnNonnegative2 ; CPU:$8501 PRG:0501 D0 02 + lda #$06 ; CPU:$8503 PRG:0503 A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative2 +; Global: Branch target inside NmiHandler: taken when OnNonnegative2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative2: + sta Zp18,x ; CPU:$8505 PRG:0505 95 18 + dex ; CPU:$8507 PRG:0507 CA + bpl NmiHandler_OnNonnegative2 ; CPU:$8508 PRG:0508 10 FB + rts ; CPU:$850A PRG:050A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_850B +; Global: Branch target inside Label: taken when 850B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_850B: + ldy #$60 ; CPU:$850B PRG:050B A0 60 + lda #$00 ; CPU:$850D PRG:050D A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero3: + sta a:VramWritePtrLo,y ; CPU:$850F PRG:050F 99 00 00 + iny ; CPU:$8512 PRG:0512 C8 + bne NmiHandler_OnNonzero3 ; CPU:$8513 PRG:0513 D0 FA + ldx #$03 ; CPU:$8515 PRG:0515 A2 03 + stx VramWritePtrHi ; CPU:$8517 PRG:0517 86 01 + sta VramWritePtrLo ; CPU:$8519 PRG:0519 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero4: + sta (VramWritePtrLo),y ; CPU:$851B PRG:051B 91 00 + iny ; CPU:$851D PRG:051D C8 + bne NmiHandler_OnNonzero4 ; CPU:$851E PRG:051E D0 FB + inc VramWritePtrHi ; CPU:$8520 PRG:0520 E6 01 + ldx VramWritePtrHi ; CPU:$8522 PRG:0522 A6 01 + cpx #$05 ; CPU:$8524 PRG:0524 E0 05 + bne NmiHandler_Loop11 ; CPU:$8526 PRG:0526 D0 02 + inc VramWritePtrHi ; CPU:$8528 PRG:0528 E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop11: + cpx #$08 ; CPU:$852A PRG:052A E0 08 + bcc NmiHandler_OnNonzero4 ; CPU:$852C PRG:052C 90 ED + ldx #$06 ; CPU:$852E PRG:052E A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative3 +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative3: + txa ; CPU:$8530 PRG:0530 8A + sta $03C2,x ; CPU:$8531 PRG:0531 9D C2 03 + dex ; CPU:$8534 PRG:0534 CA + bpl NmiHandler_OnNonnegative3 ; CPU:$8535 PRG:0535 10 F9 + lda #$F8 ; CPU:$8537 PRG:0537 A9 F8 + sta $052F ; CPU:$8539 PRG:0539 8D 2F 05 + rts ; CPU:$853C PRG:053C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_853D +; Global: Branch target inside Label: taken when 853D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_853D: + ldx Zp55 ; CPU:$853D PRG:053D A6 55 + lda Zp56,x ; CPU:$853F PRG:053F B5 56 + sta Zp5E ; CPU:$8541 PRG:0541 85 5E + cmp #$03 ; CPU:$8543 PRG:0543 C9 03 + bcc NmiHandler_Loop12 ; CPU:$8545 PRG:0545 90 02 + lda #$03 ; CPU:$8547 PRG:0547 A9 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop12 +; Global: Branch target inside NmiHandler: taken when Loop12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop12: + sta ZpBE ; CPU:$8549 PRG:0549 85 BE + lda Zp58,x ; CPU:$854B PRG:054B B5 58 + sta SpriteIndex ; CPU:$854D PRG:054D 85 5F + ldy #$24 ; CPU:$854F PRG:054F A0 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative4 +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative4: + lda $DBDC,y ; CPU:$8551 PRG:0551 B9 DC DB + sta $0301,y ; CPU:$8554 PRG:0554 99 01 03 + dey ; CPU:$8557 PRG:0557 88 + bpl NmiHandler_OnNonnegative4 ; CPU:$8558 PRG:0558 10 F7 + lda SpriteIndex ; CPU:$855A PRG:055A A5 5F + asl a ; CPU:$855C PRG:055C 0A + asl a ; CPU:$855D PRG:055D 0A + tay ; CPU:$855E PRG:055E A8 + ldx #$00 ; CPU:$855F PRG:055F A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear +; Global: Branch target inside NmiHandler: taken when the addition or subtraction did not carry. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear: + lda $DB48,y ; CPU:$8561 PRG:0561 B9 48 DB + sta $0320,x ; CPU:$8564 PRG:0564 9D 20 03 + iny ; CPU:$8567 PRG:0567 C8 + inx ; CPU:$8568 PRG:0568 E8 + cpx #$04 ; CPU:$8569 PRG:0569 E0 04 + bcc NmiHandler_OnCarryClear ; CPU:$856B PRG:056B 90 F4 + rts ; CPU:$856D PRG:056D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_856E +; Global: Branch target inside Label: taken when 856E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_856E: + lda #$06 ; CPU:$856E PRG:056E A9 06 + sta Zp52 ; CPU:$8570 PRG:0570 85 52 + lda Zp53 ; CPU:$8572 PRG:0572 A5 53 + ldx $0537 ; CPU:$8574 PRG:0574 AE 37 05 + beq NmiHandler_Loop13 ; CPU:$8577 PRG:0577 F0 02 + lda #$01 ; CPU:$8579 PRG:0579 A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop13: + sta Zp6B ; CPU:$857B PRG:057B 85 6B + rts ; CPU:$857D PRG:057D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_857E +; Global: Branch target inside Label: taken when 857E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_857E: + ldx #$08 ; CPU:$857E PRG:057E A2 08 + lda #$FF ; CPU:$8580 PRG:0580 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative5: + sta $04C0,x ; CPU:$8582 PRG:0582 9D C0 04 + dex ; CPU:$8585 PRG:0585 CA + bpl NmiHandler_OnNonnegative5 ; CPU:$8586 PRG:0586 10 FA + ldx #$07 ; CPU:$8588 PRG:0588 A2 07 + lda SpriteIndex ; CPU:$858A PRG:058A A5 5F + beq NmiHandler_Loop14 ; CPU:$858C PRG:058C F0 05 + inx ; CPU:$858E PRG:058E E8 + lsr a ; CPU:$858F PRG:058F 4A + bcc NmiHandler_Loop14 ; CPU:$8590 PRG:0590 90 01 + inx ; CPU:$8592 PRG:0592 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop14: + stx Zp52 ; CPU:$8593 PRG:0593 86 52 + ldx #$03 ; CPU:$8595 PRG:0595 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative6: + lda $810E,x ; CPU:$8597 PRG:0597 BD 0E 81 + sta $0200,x ; CPU:$859A PRG:059A 9D 00 02 + dex ; CPU:$859D PRG:059D CA + bpl NmiHandler_OnNonnegative6 ; CPU:$859E PRG:059E 10 F7 + lda #$87 ; CPU:$85A0 PRG:05A0 A9 87 + sta ZpB5 ; CPU:$85A2 PRG:05A2 85 B5 + sta SpriteScore ; CPU:$85A4 PRG:05A4 85 B6 + ldx SpriteIndex ; CPU:$85A6 PRG:05A6 A6 5F + txa ; CPU:$85A8 PRG:05A8 8A + clc ; CPU:$85A9 PRG:05A9 18 + adc #$03 ; CPU:$85AA PRG:05AA 69 03 + sta Zp8C ; CPU:$85AC PRG:05AC 85 8C + lda #$09 ; CPU:$85AE PRG:05AE A9 09 + sta SpriteTimer2 ; CPU:$85B0 PRG:05B0 85 8D + sta $038A ; CPU:$85B2 PRG:05B2 8D 8A 03 + lda #$C0 ; CPU:$85B5 PRG:05B5 A9 C0 + sta $038B ; CPU:$85B7 PRG:05B7 8D 8B 03 + lda $8114,x ; CPU:$85BA PRG:05BA BD 14 81 + sta Zp65 ; CPU:$85BD PRG:05BD 85 65 + txa ; CPU:$85BF PRG:05BF 8A + asl a ; CPU:$85C0 PRG:05C0 0A + tay ; CPU:$85C1 PRG:05C1 A8 + jsr Sub_862B ; CPU:$85C2 PRG:05C2 20 2B 86 + txa ; CPU:$85C5 PRG:05C5 8A + and #$01 ; CPU:$85C6 PRG:05C6 29 01 + sta $0372 ; CPU:$85C8 PRG:05C8 8D 72 03 + sta $037B ; CPU:$85CB PRG:05CB 8D 7B 03 + sta PlayerIndex ; CPU:$85CE PRG:05CE 85 69 + tay ; CPU:$85D0 PRG:05D0 A8 + eor #$01 ; CPU:$85D1 PRG:05D1 49 01 + sta PlayerSide ; CPU:$85D3 PRG:05D3 85 C5 + sta Zp62 ; CPU:$85D5 PRG:05D5 85 62 + lda #$01 ; CPU:$85D7 PRG:05D7 A9 01 + sta Zp85 ; CPU:$85D9 PRG:05D9 85 85 + asl a ; CPU:$85DB PRG:05DB 0A + sta Zp7E ; CPU:$85DC PRG:05DC 85 7E + sta $0390 ; CPU:$85DE PRG:05DE 8D 90 03 + lda $8117,y ; CPU:$85E1 PRG:05E1 B9 17 81 + sta ZpE4 ; CPU:$85E4 PRG:05E4 85 E4 + lda $8119,y ; CPU:$85E6 PRG:05E6 B9 19 81 + sta ZpD3 ; CPU:$85E9 PRG:05E9 85 D3 + lda $811D,y ; CPU:$85EB PRG:05EB B9 1D 81 + sta Zp64 ; CPU:$85EE PRG:05EE 85 64 + lda $8112,y ; CPU:$85F0 PRG:05F0 B9 12 81 + sta Zp74 ; CPU:$85F3 PRG:05F3 85 74 + lda $8114,y ; CPU:$85F5 PRG:05F5 B9 14 81 + sta ZpE5 ; CPU:$85F8 PRG:05F8 85 E5 + lda $811D,y ; CPU:$85FA PRG:05FA B9 1D 81 + sta ZpD4 ; CPU:$85FD PRG:05FD 85 D4 + lda $811B,y ; CPU:$85FF PRG:05FF B9 1B 81 + sta $0384 ; CPU:$8602 PRG:0602 8D 84 03 + lda #$30 ; CPU:$8605 PRG:0605 A9 30 + sta $04A5 ; CPU:$8607 PRG:0607 8D A5 04 + sta $04A6 ; CPU:$860A PRG:060A 8D A6 04 + lda SpriteIndex ; CPU:$860D PRG:060D A5 5F + cmp #$03 ; CPU:$860F PRG:060F C9 03 + bne NmiHandler_Loop15 ; CPU:$8611 PRG:0611 D0 15 + ldx #$03 ; CPU:$8613 PRG:0613 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative7: + lda $8102,x ; CPU:$8615 PRG:0615 BD 02 81 + sta ZpD5,x ; CPU:$8618 PRG:0618 95 D5 + lda $8106,x ; CPU:$861A PRG:061A BD 06 81 + sta ZpE6,x ; CPU:$861D PRG:061D 95 E6 + lda $810A,x ; CPU:$861F PRG:061F BD 0A 81 + sta $0450,x ; CPU:$8622 PRG:0622 9D 50 04 + dex ; CPU:$8625 PRG:0625 CA + bpl NmiHandler_OnNonnegative7 ; CPU:$8626 PRG:0626 10 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop15: + rts ; CPU:$8628 PRG:0628 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8629 +; Global: Branch target inside Sub: taken when 8629. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8629: + ldy #$00 ; CPU:$8629 PRG:0629 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_862B +; Global: Branch target inside Sub: taken when 862B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_862B: + lda $80F8,y ; CPU:$862B PRG:062B B9 F8 80 + sta Zp5A ; CPU:$862E PRG:062E 85 5A + iny ; CPU:$8630 PRG:0630 C8 + lda $80F8,y ; CPU:$8631 PRG:0631 B9 F8 80 + sta Zp5B ; CPU:$8634 PRG:0634 85 5B + rts ; CPU:$8636 PRG:0636 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8637 +; Global: Branch target inside Label: taken when 8637. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8637: + jsr Sub_CC79 ; CPU:$8637 PRG:0637 20 79 CC + ldy $0300 ; CPU:$863A PRG:063A AC 00 03 + lda #$20 ; CPU:$863D PRG:063D A9 20 + sta $0301,y ; CPU:$863F PRG:063F 99 01 03 + sta $0305,y ; CPU:$8642 PRG:0642 99 05 03 + lda #$F7 ; CPU:$8645 PRG:0645 A9 F7 + sta $0302,y ; CPU:$8647 PRG:0647 99 02 03 + lda #$01 ; CPU:$864A PRG:064A A9 01 + sta $0303,y ; CPU:$864C PRG:064C 99 03 03 + sta $0307,y ; CPU:$864F PRG:064F 99 07 03 + lda Zp5E ; CPU:$8652 PRG:0652 A5 5E + sta $0304,y ; CPU:$8654 PRG:0654 99 04 03 + lda #$FC ; CPU:$8657 PRG:0657 A9 FC + sta $0306,y ; CPU:$8659 PRG:0659 99 06 03 + lda #$0A ; CPU:$865C PRG:065C A9 0A + ldx Zp53 ; CPU:$865E PRG:065E A6 53 + beq NmiHandler_Loop16 ; CPU:$8660 PRG:0660 F0 02 + lda #$FA ; CPU:$8662 PRG:0662 A9 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop16: + sta $0308,y ; CPU:$8664 PRG:0664 99 08 03 + lda #$00 ; CPU:$8667 PRG:0667 A9 00 + sta $0309,y ; CPU:$8669 PRG:0669 99 09 03 + tya ; CPU:$866C PRG:066C 98 + clc ; CPU:$866D PRG:066D 18 + adc #$08 ; CPU:$866E PRG:066E 69 08 + sta $0300 ; CPU:$8670 PRG:0670 8D 00 03 + jsr Sub_CC9F ; CPU:$8673 PRG:0673 20 9F CC + lda #$20 ; CPU:$8676 PRG:0676 A9 20 + sta $052A ; CPU:$8678 PRG:0678 8D 2A 05 + lda #$6F ; CPU:$867B PRG:067B A9 6F + sta $052B ; CPU:$867D PRG:067D 8D 2B 05 + jsr Sub_CC3F ; CPU:$8680 PRG:0680 20 3F CC + lda Zp55 ; CPU:$8683 PRG:0683 A5 55 + bne NmiHandler_Loop17 ; CPU:$8685 PRG:0685 D0 12 + jsr Sub_869C ; CPU:$8687 PRG:0687 20 9C 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_868A +; Global: Branch target inside Sub: taken when 868A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_868A: + ldx #$06 ; CPU:$868A PRG:068A A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative8: + lda $0500,x ; CPU:$868C PRG:068C BD 00 05 + sta $0530,x ; CPU:$868F PRG:068F 9D 30 05 + dex ; CPU:$8692 PRG:0692 CA + bpl NmiHandler_OnNonnegative8 ; CPU:$8693 PRG:0693 10 F7 + lda #$64 ; CPU:$8695 PRG:0695 A9 64 + bne NmiHandler_Loop18 ; CPU:$8697 PRG:0697 D0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop17: + jsr Sub_868A ; CPU:$8699 PRG:0699 20 8A 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_869C +; Global: Branch target inside Sub: taken when 869C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_869C: + ldx #$06 ; CPU:$869C PRG:069C A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative9 +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative9: + lda $0507,x ; CPU:$869E PRG:069E BD 07 05 + sta $0530,x ; CPU:$86A1 PRG:06A1 9D 30 05 + dex ; CPU:$86A4 PRG:06A4 CA + bpl NmiHandler_OnNonnegative9 ; CPU:$86A5 PRG:06A5 10 F7 + lda #$78 ; CPU:$86A7 PRG:06A7 A9 78 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop18: + sta $0529 ; CPU:$86A9 PRG:06A9 8D 29 05 + lda #$20 ; CPU:$86AC PRG:06AC A9 20 + sta $0528 ; CPU:$86AE PRG:06AE 8D 28 05 + jmp Sub_CBDD ; CPU:$86B1 PRG:06B1 4C DD CB +; ----------------------------------------------------------------------------- +; Routine: Label_86B4 +; Global: Branch target inside Label: taken when 86B4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_86B4: + lda #$0E ; CPU:$86B4 PRG:06B4 A9 0E + sta Zp71 ; CPU:$86B6 PRG:06B6 85 71 + ldx $0537 ; CPU:$86B8 PRG:06B8 AE 37 05 + beq NmiHandler_Loop19 ; CPU:$86BB PRG:06BB F0 03 + rts ; CPU:$86BD PRG:06BD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_86BE +; Global: Branch target inside Label: taken when 86BE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_86BE: + lda #$23 ; CPU:$86BE PRG:06BE A9 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop19: + sta Zp52 ; CPU:$86C0 PRG:06C0 85 52 + rts ; CPU:$86C2 PRG:06C2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_86C3 +; Global: Branch target inside Label: taken when 86C3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_86C3: + ldy #$0D ; CPU:$86C3 PRG:06C3 A0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative10 +; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative10: + lda $8156,y ; CPU:$86C5 PRG:06C5 B9 56 81 + sta $0301,y ; CPU:$86C8 PRG:06C8 99 01 03 + dey ; CPU:$86CB PRG:06CB 88 + bpl NmiHandler_OnNonnegative10 ; CPU:$86CC PRG:06CC 10 F7 + ldy SpriteIndex ; CPU:$86CE PRG:06CE A4 5F + ldx #$00 ; CPU:$86D0 PRG:06D0 A2 00 + stx $053B ; CPU:$86D2 PRG:06D2 8E 3B 05 + lda #$FD ; CPU:$86D5 PRG:06D5 A9 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative11 +; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative11: + sta $0304,x ; CPU:$86D7 PRG:06D7 9D 04 03 + inx ; CPU:$86DA PRG:06DA E8 + inx ; CPU:$86DB PRG:06DB E8 + dey ; CPU:$86DC PRG:06DC 88 + bpl NmiHandler_OnNonnegative11 ; CPU:$86DD PRG:06DD 10 F8 + lda $0537 ; CPU:$86DF PRG:06DF AD 37 05 + bne NmiHandler_Loop20 ; CPU:$86E2 PRG:06E2 D0 2E + ldx #$0C ; CPU:$86E4 PRG:06E4 A2 0C + ldy #$08 ; CPU:$86E6 PRG:06E6 A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative12 +; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative12: + lda $8121,y ; CPU:$86E8 PRG:06E8 B9 21 81 + sta $0301,x ; CPU:$86EB PRG:06EB 9D 01 03 + inx ; CPU:$86EE PRG:06EE E8 + dey ; CPU:$86EF PRG:06EF 88 + bpl NmiHandler_OnNonnegative12 ; CPU:$86F0 PRG:06F0 10 F6 + ldx #$0C ; CPU:$86F2 PRG:06F2 A2 0C + ldy Zp55 ; CPU:$86F4 PRG:06F4 A4 55 + iny ; CPU:$86F6 PRG:06F6 C8 + tya ; CPU:$86F7 PRG:06F7 98 + sta $0304,x ; CPU:$86F8 PRG:06F8 9D 04 03 + ldy SpriteIndex ; CPU:$86FB PRG:06FB A4 5F + iny ; CPU:$86FD PRG:06FD C8 + tya ; CPU:$86FE PRG:06FE 98 + sta $0308,x ; CPU:$86FF PRG:06FF 9D 08 03 + lda $053C ; CPU:$8702 PRG:0702 AD 3C 05 + bne NmiHandler_Loop20 ; CPU:$8705 PRG:0705 D0 0B + lda #$1C ; CPU:$8707 PRG:0707 A9 1C + sta Zp3A ; CPU:$8709 PRG:0709 85 3A + sta $053C ; CPU:$870B PRG:070B 8D 3C 05 + lda #$08 ; CPU:$870E PRG:070E A9 08 + sta ZpFB ; CPU:$8710 PRG:0710 85 FB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop20 +; Global: Branch target inside NmiHandler: taken when Loop20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop20: + lda SpriteIndex ; CPU:$8712 PRG:0712 A5 5F + asl a ; CPU:$8714 PRG:0714 0A + asl a ; CPU:$8715 PRG:0715 0A + sta VramWritePtrLo ; CPU:$8716 PRG:0716 85 00 + lda ZpBE ; CPU:$8718 PRG:0718 A5 BE + ora VramWritePtrLo ; CPU:$871A PRG:071A 05 00 + tax ; CPU:$871C PRG:071C AA + lda SpriteIndex ; CPU:$871D PRG:071D A5 5F + beq NmiHandler_Loop21 ; CPU:$871F PRG:071F F0 04 + lda Zp6B ; CPU:$8721 PRG:0721 A5 6B + eor #$01 ; CPU:$8723 PRG:0723 49 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop21 +; Global: Branch target inside NmiHandler: taken when Loop21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop21: + asl a ; CPU:$8725 PRG:0725 0A + adc $812A,x ; CPU:$8726 PRG:0726 7D 2A 81 + sta $03AA ; CPU:$8729 PRG:0729 8D AA 03 + sta $037E ; CPU:$872C PRG:072C 8D 7E 03 + sta $037F ; CPU:$872F PRG:072F 8D 7F 03 + rts ; CPU:$8732 PRG:0732 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8733 +; Global: Branch target inside Label: taken when 8733. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8733: + jsr Sub_84EA ; CPU:$8733 PRG:0733 20 EA 84 + lda #$01 ; CPU:$8736 PRG:0736 A9 01 + sta LevelIndex ; CPU:$8738 PRG:0738 85 50 + lsr a ; CPU:$873A PRG:073A 4A + sta Zp4F ; CPU:$873B PRG:073B 85 4F + rts ; CPU:$873D PRG:073D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_873E +; Global: Branch target inside Label: taken when 873E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_873E: + ldx $0372 ; CPU:$873E PRG:073E AE 72 03 + lda #$00 ; CPU:$8741 PRG:0741 A9 00 + sta Zp6A ; CPU:$8743 PRG:0743 85 6A + lda Zp3A ; CPU:$8745 PRG:0745 A5 3A + ora $0366 ; CPU:$8747 PRG:0747 0D 66 03 + ora $0367 ; CPU:$874A PRG:074A 0D 67 03 + bne NmiHandler_Loop25 ; CPU:$874D PRG:074D D0 43 + lda Zp12 ; CPU:$874F PRG:074F A5 12 + beq NmiHandler_Loop23 ; CPU:$8751 PRG:0751 F0 2B + lda $053B ; CPU:$8753 PRG:0753 AD 3B 05 + bne NmiHandler_Loop22 ; CPU:$8756 PRG:0756 D0 0E + lda #$0F ; CPU:$8758 PRG:0758 A9 0F + sta $053B ; CPU:$875A PRG:075A 8D 3B 05 + ldx $0537 ; CPU:$875D PRG:075D AE 37 05 + bne NmiHandler_Loop25 ; CPU:$8760 PRG:0760 D0 30 + sta Zp52 ; CPU:$8762 PRG:0762 85 52 + bne NmiHandler_Loop25 ; CPU:$8764 PRG:0764 D0 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop22: + lda Zp37 ; CPU:$8766 PRG:0766 A5 37 + bne NmiHandler_Loop25 ; CPU:$8768 PRG:0768 D0 28 + lda #$10 ; CPU:$876A PRG:076A A9 10 + sta Zp52 ; CPU:$876C PRG:076C 85 52 + inc Zp51 ; CPU:$876E PRG:076E E6 51 + lda #$01 ; CPU:$8770 PRG:0770 A9 01 + sta Zp6C ; CPU:$8772 PRG:0772 85 6C + sta $0369 ; CPU:$8774 PRG:0774 8D 69 03 + sta ZpFB ; CPU:$8777 PRG:0777 85 FB + lsr a ; CPU:$8779 PRG:0779 4A + sta Zp71 ; CPU:$877A PRG:077A 85 71 + beq NmiHandler_Loop25 ; CPU:$877C PRG:077C F0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: + lda Zp21 ; CPU:$877E PRG:077E A5 21 + bne NmiHandler_Loop24 ; CPU:$8780 PRG:0780 D0 04 + lda #$08 ; CPU:$8782 PRG:0782 A9 08 + sta ZpFC ; CPU:$8784 PRG:0784 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: + lda #$08 ; CPU:$8786 PRG:0786 A9 08 + sta Zp37 ; CPU:$8788 PRG:0788 85 37 + sta $038F ; CPU:$878A PRG:078A 8D 8F 03 + lda $811F,x ; CPU:$878D PRG:078D BD 1F 81 + sta Zp6A ; CPU:$8790 PRG:0790 85 6A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + jsr Sub_A496 ; CPU:$8792 PRG:0792 20 96 A4 + jsr Sub_A83A ; CPU:$8795 PRG:0795 20 3A A8 + jsr Sub_A6AA ; CPU:$8798 PRG:0798 20 AA A6 + jsr NmiHandler_OnZero2 ; CPU:$879B PRG:079B 20 3A 8E + jmp Sub_A8FF ; CPU:$879E PRG:079E 4C FF A8 +; ----------------------------------------------------------------------------- +; Routine: Label_87A1 +; Global: Branch target inside Label: taken when 87A1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_87A1: + lda $0537 ; CPU:$87A1 PRG:07A1 AD 37 05 + beq NmiHandler_Loop26 ; CPU:$87A4 PRG:07A4 F0 06 + jsr Sub_8DFD ; CPU:$87A6 PRG:07A6 20 FD 8D + jmp Sub_87D0 ; CPU:$87A9 PRG:07A9 4C D0 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop26: + lda SpriteIndex ; CPU:$87AC PRG:07AC A5 5F + cmp #$03 ; CPU:$87AE PRG:07AE C9 03 + bne NmiHandler_Loop27 ; CPU:$87B0 PRG:07B0 D0 03 + jsr Sub_BA4E ; CPU:$87B2 PRG:07B2 20 4E BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop27: + lda $0537 ; CPU:$87B5 PRG:07B5 AD 37 05 + beq NmiHandler_Loop28 ; CPU:$87B8 PRG:07B8 F0 06 + jsr Sub_8DFD ; CPU:$87BA PRG:07BA 20 FD 8D + jmp Sub_87D0 ; CPU:$87BD PRG:07BD 4C D0 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop28: + lda $0366 ; CPU:$87C0 PRG:07C0 AD 66 03 + ora $0367 ; CPU:$87C3 PRG:07C3 0D 67 03 + bne NmiHandler_Loop31 ; CPU:$87C6 PRG:07C6 D0 33 + lda Zp55 ; CPU:$87C8 PRG:07C8 A5 55 + asl a ; CPU:$87CA PRG:07CA 0A + tax ; CPU:$87CB PRG:07CB AA + lda Zp14,x ; CPU:$87CC PRG:07CC B5 14 + sta Zp6A ; CPU:$87CE PRG:07CE 85 6A +; ----------------------------------------------------------------------------- +; Routine: Sub_87D0 +; Global: Branch target inside Sub: taken when 87D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_87D0: + ldx $036F ; CPU:$87D0 PRG:07D0 AE 6F 03 + ldy $036E ; CPU:$87D3 PRG:07D3 AC 6E 03 + lda PlayerIndex ; CPU:$87D6 PRG:07D6 A5 69 + sta $036F ; CPU:$87D8 PRG:07D8 8D 6F 03 + lda Zp68 ; CPU:$87DB PRG:07DB A5 68 + sta $036E ; CPU:$87DD PRG:07DD 8D 6E 03 + cpx PlayerIndex ; CPU:$87E0 PRG:07E0 E4 69 + bne NmiHandler_Loop29 ; CPU:$87E2 PRG:07E2 D0 04 + cpy Zp68 ; CPU:$87E4 PRG:07E4 C4 68 + beq NmiHandler_Loop30 ; CPU:$87E6 PRG:07E6 F0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop29: + lda #$01 ; CPU:$87E8 PRG:07E8 A9 01 + sta $038F ; CPU:$87EA PRG:07EA 8D 8F 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop30: + jsr Sub_A6AA ; CPU:$87ED PRG:07ED 20 AA A6 + jsr Sub_ACF3 ; CPU:$87F0 PRG:07F0 20 F3 AC + lda $038F ; CPU:$87F3 PRG:07F3 AD 8F 03 + bne NmiHandler_Loop31 ; CPU:$87F6 PRG:07F6 D0 03 + jsr Sub_A496 ; CPU:$87F8 PRG:07F8 20 96 A4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop31: + jsr Sub_C042 ; CPU:$87FB PRG:07FB 20 42 C0 + jsr Sub_D7F9 ; CPU:$87FE PRG:07FE 20 F9 D7 + jsr Sub_C1C7 ; CPU:$8801 PRG:0801 20 C7 C1 + lda SpriteIndex ; CPU:$8804 PRG:0804 A5 5F + cmp #$04 ; CPU:$8806 PRG:0806 C9 04 + bne NmiHandler_Loop32 ; CPU:$8808 PRG:0808 D0 03 + jsr Sub_D486 ; CPU:$880A PRG:080A 20 86 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop32: + jsr Sub_B2DC ; CPU:$880D PRG:080D 20 DC B2 + jsr Sub_B98A ; CPU:$8810 PRG:0810 20 8A B9 + jsr Sub_A94A ; CPU:$8813 PRG:0813 20 4A A9 + jsr NmiHandler_OnZero2 ; CPU:$8816 PRG:0816 20 3A 8E + jsr Sub_CCF6 ; CPU:$8819 PRG:0819 20 F6 CC + jsr Sub_B911 ; CPU:$881C PRG:081C 20 11 B9 + jsr Sub_C60B ; CPU:$881F PRG:081F 20 0B C6 + lda $0366 ; CPU:$8822 PRG:0822 AD 66 03 + ora $0367 ; CPU:$8825 PRG:0825 0D 67 03 + bne NmiHandler_Loop34 ; CPU:$8828 PRG:0828 D0 2E + jsr Sub_B8AD ; CPU:$882A PRG:082A 20 AD B8 + lda $04A6 ; CPU:$882D PRG:082D AD A6 04 + bmi NmiHandler_Loop36 ; CPU:$8830 PRG:0830 30 38 + jsr Sub_B9B8 ; CPU:$8832 PRG:0832 20 B8 B9 + jsr Sub_C94B ; CPU:$8835 PRG:0835 20 4B C9 + lda Zp49 ; CPU:$8838 PRG:0838 A5 49 + lsr a ; CPU:$883A PRG:083A 4A + bcc NmiHandler_Loop33 ; CPU:$883B PRG:083B 90 09 + jsr Sub_C89A ; CPU:$883D PRG:083D 20 9A C8 + jsr Sub_CD68 ; CPU:$8840 PRG:0840 20 68 CD + jmp Sub_8849 ; CPU:$8843 PRG:0843 4C 49 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop33: + jsr Sub_C216 ; CPU:$8846 PRG:0846 20 16 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_8849 +; Global: Branch target inside Sub: taken when 8849. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8849: + jsr Sub_A83A ; CPU:$8849 PRG:0849 20 3A A8 + jsr Sub_C70C ; CPU:$884C PRG:084C 20 0C C7 + jsr Sub_BFC0 ; CPU:$884F PRG:084F 20 C0 BF + jsr Sub_D696 ; CPU:$8852 PRG:0852 20 96 D6 + jsr Sub_B79D ; CPU:$8855 PRG:0855 20 9D B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop34: + lda $038F ; CPU:$8858 PRG:0858 AD 8F 03 + beq NmiHandler_Loop35 ; CPU:$885B PRG:085B F0 06 + jsr Sub_A8FF ; CPU:$885D PRG:085D 20 FF A8 + jmp NmiHandler_Loop37 ; CPU:$8860 PRG:0860 4C 6D 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop35: + lda Zp70 ; CPU:$8863 PRG:0863 A5 70 + bne NmiHandler_Loop37 ; CPU:$8865 PRG:0865 D0 06 + jsr Sub_BAB9 ; CPU:$8867 PRG:0867 20 B9 BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop36: + jsr Sub_C7B9 ; CPU:$886A PRG:086A 20 B9 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop37: + lda $0388 ; CPU:$886D PRG:086D AD 88 03 + beq NmiHandler_Loop42 ; CPU:$8870 PRG:0870 F0 76 + lda PpuMaskShadow ; CPU:$8872 PRG:0872 A5 86 + ora Zp36 ; CPU:$8874 PRG:0874 05 36 + beq NmiHandler_Loop38 ; CPU:$8876 PRG:0876 F0 0F + cmp #$0A ; CPU:$8878 PRG:0878 C9 0A + bne NmiHandler_Loop42 ; CPU:$887A PRG:087A D0 6C + lda $048F ; CPU:$887C PRG:087C AD 8F 04 + sta ZpFD ; CPU:$887F PRG:087F 85 FD + lda #$00 ; CPU:$8881 PRG:0881 A9 00 + sta $048F ; CPU:$8883 PRG:0883 8D 8F 04 + rts ; CPU:$8886 PRG:0886 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop38: + ldx Zp55 ; CPU:$8887 PRG:0887 A6 55 + beq NmiHandler_Loop39 ; CPU:$8889 PRG:0889 F0 02 + ldx #$07 ; CPU:$888B PRG:088B A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + ldy #$00 ; CPU:$888D PRG:088D A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear2 +; Global: Branch target inside NmiHandler: taken when OnCarryClear2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear2: + lda $0530,y ; CPU:$888F PRG:088F B9 30 05 + sta $0500,x ; CPU:$8892 PRG:0892 9D 00 05 + iny ; CPU:$8895 PRG:0895 C8 + inx ; CPU:$8896 PRG:0896 E8 + cpy #$07 ; CPU:$8897 PRG:0897 C0 07 + bcc NmiHandler_OnCarryClear2 ; CPU:$8899 PRG:0899 90 F4 + ldx Zp55 ; CPU:$889B PRG:089B A6 55 + dec Zp5C,x ; CPU:$889D PRG:089D D6 5C + bne NmiHandler_Loop40 ; CPU:$889F PRG:089F D0 21 + ldx #$20 ; CPU:$88A1 PRG:08A1 A2 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative13 +; Global: Branch target inside NmiHandler: taken when OnNonnegative13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative13: + lda $8163,x ; CPU:$88A3 PRG:08A3 BD 63 81 + sta $0300,x ; CPU:$88A6 PRG:08A6 9D 00 03 + dex ; CPU:$88A9 PRG:08A9 CA + bpl NmiHandler_OnNonnegative13 ; CPU:$88AA PRG:08AA 10 F7 + ldx Zp55 ; CPU:$88AC PRG:08AC A6 55 + inx ; CPU:$88AE PRG:08AE E8 + stx $0305 ; CPU:$88AF PRG:08AF 8E 05 03 + lda #$10 ; CPU:$88B2 PRG:08B2 A9 10 + sta ZpFB ; CPU:$88B4 PRG:08B4 85 FB + sta $053B ; CPU:$88B6 PRG:08B6 8D 3B 05 + lda #$04 ; CPU:$88B9 PRG:08B9 A9 04 + sta Zp51 ; CPU:$88BB PRG:08BB 85 51 + lda #$24 ; CPU:$88BD PRG:08BD A9 24 + sta Zp36 ; CPU:$88BF PRG:08BF 85 36 + rts ; CPU:$88C1 PRG:08C1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + lda Zp54 ; CPU:$88C2 PRG:08C2 A5 54 + and #$02 ; CPU:$88C4 PRG:08C4 29 02 + beq NmiHandler_Loop41 ; CPU:$88C6 PRG:08C6 F0 0A + txa ; CPU:$88C8 PRG:08C8 8A + eor #$01 ; CPU:$88C9 PRG:08C9 49 01 + tax ; CPU:$88CB PRG:08CB AA + lda Zp5C,x ; CPU:$88CC PRG:08CC B5 5C + beq NmiHandler_Loop41 ; CPU:$88CE PRG:08CE F0 02 + stx Zp55 ; CPU:$88D0 PRG:08D0 86 55 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop41: + lda #$01 ; CPU:$88D2 PRG:08D2 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_88D4 ; Global: Branch target inside Sub: taken when 88D4. @@ -582,12 +1604,30 @@ Sub_88D4: sta Zp51 ; CPU:$88D4 PRG:08D4 85 51 lda #$02 ; CPU:$88D6 PRG:08D6 A9 02 sta Zp35 ; CPU:$88D8 PRG:08D8 85 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_88DA +; Global: Branch target inside Sub: taken when 88DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_88DA: lda #$00 ; CPU:$88DA PRG:08DA A9 00 - sta Zp50 ; CPU:$88DC PRG:08DC 85 50 + sta LevelIndex ; CPU:$88DC PRG:08DC 85 50 sta Zp4F ; CPU:$88DE PRG:08DE 85 4F sta $0366 ; CPU:$88E0 PRG:08E0 8D 66 03 sta $0367 ; CPU:$88E3 PRG:08E3 8D 67 03 sta Zp6F ; CPU:$88E6 PRG:08E6 85 6F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop42: rts ; CPU:$88E8 PRG:08E8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_88E9 @@ -599,161 +1639,1113 @@ Sub_88D4: ; ----------------------------------------------------------------------------- Sub_88E9: lda $0537 ; CPU:$88E9 PRG:08E9 AD 37 05 - bne NmiHandler_Loop13 ; CPU:$88EC PRG:08EC D0 32 + bne NmiHandler_Loop45 ; CPU:$88EC PRG:08EC D0 32 lda Zp51 ; CPU:$88EE PRG:08EE A5 51 cmp #$04 ; CPU:$88F0 PRG:08F0 C9 04 - bne NmiHandler_Loop11 ; CPU:$88F2 PRG:08F2 D0 06 + bne NmiHandler_Loop43 ; CPU:$88F2 PRG:08F2 D0 06 lda Zp5C ; CPU:$88F4 PRG:08F4 A5 5C ora Zp5D ; CPU:$88F6 PRG:08F6 05 5D - beq NmiHandler_Loop13 ; CPU:$88F8 PRG:08F8 F0 26 + beq NmiHandler_Loop45 ; CPU:$88F8 PRG:08F8 F0 26 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop11: +NmiHandler_Loop43: lda $0367 ; CPU:$88FA PRG:08FA AD 67 03 - bne NmiHandler_Loop12 ; CPU:$88FD PRG:08FD D0 1E + bne NmiHandler_Loop44 ; CPU:$88FD PRG:08FD D0 1E lda Zp15 ; CPU:$88FF PRG:08FF A5 15 and #$10 ; CPU:$8901 PRG:0901 29 10 - beq NmiHandler_Loop14 ; CPU:$8903 PRG:0903 F0 1C + beq NmiHandler_Loop46 ; CPU:$8903 PRG:0903 F0 1C lda $0369 ; CPU:$8905 PRG:0905 AD 69 03 - bne NmiHandler_Loop14 ; CPU:$8908 PRG:0908 D0 17 + bne NmiHandler_Loop46 ; CPU:$8908 PRG:0908 D0 17 lda #$80 ; CPU:$890A PRG:090A A9 80 sta $0369 ; CPU:$890C PRG:090C 8D 69 03 lda $0366 ; CPU:$890F PRG:090F AD 66 03 eor #$01 ; CPU:$8912 PRG:0912 49 01 sta $0366 ; CPU:$8914 PRG:0914 8D 66 03 - bne NmiHandler_Loop15 ; CPU:$8917 PRG:0917 D0 0C + bne NmiHandler_Loop47 ; CPU:$8917 PRG:0917 D0 0C lda #$80 ; CPU:$8919 PRG:0919 A9 80 - bne NmiHandler_Loop16 ; CPU:$891B PRG:091B D0 0A + bne NmiHandler_Loop48 ; CPU:$891B PRG:091B D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop12 -; Global: Branch target inside NmiHandler: taken when Loop12. +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop12: +NmiHandler_Loop44: dec $0367 ; CPU:$891D PRG:091D CE 67 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop13 -; Global: Branch target inside NmiHandler: taken when Loop13. +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop13: +NmiHandler_Loop45: rts ; CPU:$8920 PRG:0920 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop14 -; Global: Branch target inside NmiHandler: taken when Loop14. +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop14: +NmiHandler_Loop46: sta $0369 ; CPU:$8921 PRG:0921 8D 69 03 rts ; CPU:$8924 PRG:0924 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop15 -; Global: Branch target inside NmiHandler: taken when Loop15. +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop15: +NmiHandler_Loop47: lda #$40 ; CPU:$8925 PRG:0925 A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop16 -; Global: Branch target inside NmiHandler: taken when Loop16. +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop16: +NmiHandler_Loop48: sta ZpFB ; CPU:$8927 PRG:0927 85 FB lda #$28 ; CPU:$8929 PRG:0929 A9 28 sta $0367 ; CPU:$892B PRG:092B 8D 67 03 - rts ; CPU:$892E PRG:092E 60 -; ---- data $892F-$8969 (59 bytes) ---- - .byte $AD, $02, $20, $29, $40, $D0, $F9, $A5, $5F, $C9, $03, $D0, $03, $20, $4E, $BA ; CPU:$892F PRG:092F AD 02 20 29 40 D0 F9 A5 5F C9 03 D0 03 20 4E BA - .byte $20, $3A, $8E, $A5, $5C, $05, $5D, $D0, $0E, $A5, $14, $29, $10, $F0, $05, $AD ; CPU:$893F PRG:093F 20 3A 8E A5 5C 05 5D D0 0E A5 14 29 10 F0 05 AD - .byte $3B, $05, $F0, $17, $8D, $3B, $05, $A5, $36, $D0, $D4, $A5, $5C, $05, $5D, $F0 ; CPU:$894F PRG:094F 3B 05 F0 17 8D 3B 05 A5 36 D0 D4 A5 5C 05 5D F0 - .byte $0A, $A5, $55, $49, $01, $85, $55, $AA, $4C, $D2, $88 ; CPU:$895F PRG:095F 0A A5 55 49 01 85 55 AA 4C D2 88 ; ----------------------------------------------------------------------------- -; Routine: Sub_896A -; Global: Branch target inside Sub: taken when 896A. +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero5: + rts ; CPU:$892E PRG:092E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero6: + lda PPUSTATUS ; CPU:$892F PRG:092F AD 02 20 + and #$40 ; CPU:$8932 PRG:0932 29 40 + bne NmiHandler_OnNonzero6 ; CPU:$8934 PRG:0934 D0 F9 + lda SpriteIndex ; CPU:$8936 PRG:0936 A5 5F + cmp #$03 ; CPU:$8938 PRG:0938 C9 03 + bne NmiHandler_Loop49 ; CPU:$893A PRG:093A D0 03 + jsr Sub_BA4E ; CPU:$893C PRG:093C 20 4E BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop49: + jsr NmiHandler_OnZero2 ; CPU:$893F PRG:093F 20 3A 8E + lda Zp5C ; CPU:$8942 PRG:0942 A5 5C + ora Zp5D ; CPU:$8944 PRG:0944 05 5D + bne NmiHandler_Loop51 ; CPU:$8946 PRG:0946 D0 0E + lda Zp14 ; CPU:$8948 PRG:0948 A5 14 + and #$10 ; CPU:$894A PRG:094A 29 10 + beq NmiHandler_Loop50 ; CPU:$894C PRG:094C F0 05 + lda $053B ; CPU:$894E PRG:094E AD 3B 05 + beq NmiHandler_Loop52 ; CPU:$8951 PRG:0951 F0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop50: + sta $053B ; CPU:$8953 PRG:0953 8D 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop51: + lda Zp36 ; CPU:$8956 PRG:0956 A5 36 + bne NmiHandler_OnNonzero5 ; CPU:$8958 PRG:0958 D0 D4 + lda Zp5C ; CPU:$895A PRG:095A A5 5C + ora Zp5D ; CPU:$895C PRG:095C 05 5D + beq NmiHandler_Loop52 ; CPU:$895E PRG:095E F0 0A + lda Zp55 ; CPU:$8960 PRG:0960 A5 55 + eor #$01 ; CPU:$8962 PRG:0962 49 01 + sta Zp55 ; CPU:$8964 PRG:0964 85 55 + tax ; CPU:$8966 PRG:0966 AA + jmp NmiHandler_Loop41 ; CPU:$8967 PRG:0967 4C D2 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop52: + lda #$00 ; CPU:$896A PRG:096A A9 00 + sta $0537 ; CPU:$896C PRG:096C 8D 37 05 + jmp Sub_88D4 ; CPU:$896F PRG:096F 4C D4 88 +; ----------------------------------------------------------------------------- +; Routine: Label_8972 +; Global: Branch target inside Label: taken when 8972. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8972: + lda #$19 ; CPU:$8972 PRG:0972 A9 19 + sta Zp52 ; CPU:$8974 PRG:0974 85 52 + rts ; CPU:$8976 PRG:0976 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8977 +; Global: Branch target inside Label: taken when 8977. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8977: + lda #$11 ; CPU:$8977 PRG:0977 A9 11 + sta Zp52 ; CPU:$8979 PRG:0979 85 52 + lda #$01 ; CPU:$897B PRG:097B A9 01 + sta Zp61 ; CPU:$897D PRG:097D 85 61 + lda #$C0 ; CPU:$897F PRG:097F A9 C0 + sta Zp12 ; CPU:$8981 PRG:0981 85 12 + ldx #$03 ; CPU:$8983 PRG:0983 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative14 +; Global: Branch target inside NmiHandler: taken when OnNonnegative14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative14: + lda $8152,x ; CPU:$8985 PRG:0985 BD 52 81 + sta $0200,x ; CPU:$8988 PRG:0988 9D 00 02 + dex ; CPU:$898B PRG:098B CA + bpl NmiHandler_OnNonnegative14 ; CPU:$898C PRG:098C 10 F7 + lda #$2C ; CPU:$898E PRG:098E A9 2C + sta Zp39 ; CPU:$8990 PRG:0990 85 39 + jmp Sub_BB5C ; CPU:$8992 PRG:0992 4C 5C BB +; ----------------------------------------------------------------------------- +; Routine: Label_8995 +; Global: Branch target inside Label: taken when 8995. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8995: + lda #$10 ; CPU:$8995 PRG:0995 A9 10 + sta Zp4B ; CPU:$8997 PRG:0997 85 4B + lda #$00 ; CPU:$8999 PRG:0999 A9 00 + sta Zp4C ; CPU:$899B PRG:099B 85 4C + jsr Sub_B2DC ; CPU:$899D PRG:099D 20 DC B2 + jsr Sub_8A1E ; CPU:$89A0 PRG:09A0 20 1E 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero +; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero: + lda PPUSTATUS ; CPU:$89A3 PRG:09A3 AD 02 20 + and #$40 ; CPU:$89A6 PRG:09A6 29 40 + beq NmiHandler_OnZero ; CPU:$89A8 PRG:09A8 F0 F9 + jsr Sub_8E9D ; CPU:$89AA PRG:09AA 20 9D 8E + lda Zp38 ; CPU:$89AD PRG:09AD A5 38 + bne NmiHandler_Loop53 ; CPU:$89AF PRG:09AF D0 08 + lda #$05 ; CPU:$89B1 PRG:09B1 A9 05 + sta Zp38 ; CPU:$89B3 PRG:09B3 85 38 + lda #$10 ; CPU:$89B5 PRG:09B5 A9 10 + sta ZpFD ; CPU:$89B7 PRG:09B7 85 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop53: + lda Zp39 ; CPU:$89B9 PRG:09B9 A5 39 + cmp #$10 ; CPU:$89BB PRG:09BB C9 10 + bne NmiHandler_Loop54 ; CPU:$89BD PRG:09BD D0 22 + lda Zp20 ; CPU:$89BF PRG:09BF A5 20 + cmp #$01 ; CPU:$89C1 PRG:09C1 C9 01 + bne NmiHandler_Loop54 ; CPU:$89C3 PRG:09C3 D0 1C + lda #$13 ; CPU:$89C5 PRG:09C5 A9 13 + sta Zp52 ; CPU:$89C7 PRG:09C7 85 52 + ldy #$6F ; CPU:$89C9 PRG:09C9 A0 6F + lda #$C8 ; CPU:$89CB PRG:09CB A9 C8 + ldx #$04 ; CPU:$89CD PRG:09CD A2 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_89CF +; Global: Branch target inside Sub: taken when 89CF. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_896A: - lda #$00 ; CPU:$896A PRG:096A A9 00 - sta $0537 ; CPU:$896C PRG:096C 8D 37 05 - jmp Sub_88D4 ; CPU:$896F PRG:096F 4C D4 88 -; ---- data $8972-$8E24 (1203 bytes) ---- - .byte $A9, $19, $85, $52, $60, $A9, $11, $85, $52, $A9, $01, $85, $61, $A9, $C0, $85 ; CPU:$8972 PRG:0972 A9 19 85 52 60 A9 11 85 52 A9 01 85 61 A9 C0 85 - .byte $12, $A2, $03, $BD, $52, $81, $9D, $00, $02, $CA, $10, $F7, $A9, $2C, $85, $39 ; CPU:$8982 PRG:0982 12 A2 03 BD 52 81 9D 00 02 CA 10 F7 A9 2C 85 39 - .byte $4C, $5C, $BB, $A9, $10, $85, $4B, $A9, $00, $85, $4C, $20, $DC, $B2, $20, $1E ; CPU:$8992 PRG:0992 4C 5C BB A9 10 85 4B A9 00 85 4C 20 DC B2 20 1E - .byte $8A, $AD, $02, $20, $29, $40, $F0, $F9, $20, $9D, $8E, $A5, $38, $D0, $08, $A9 ; CPU:$89A2 PRG:09A2 8A AD 02 20 29 40 F0 F9 20 9D 8E A5 38 D0 08 A9 - .byte $05, $85, $38, $A9, $10, $85, $FD, $A5, $39, $C9, $10, $D0, $22, $A5, $20, $C9 ; CPU:$89B2 PRG:09B2 05 85 38 A9 10 85 FD A5 39 C9 10 D0 22 A5 20 C9 - .byte $01, $D0, $1C, $A9, $13, $85, $52, $A0, $6F, $A9, $C8, $A2, $04, $9D, $0B, $02 ; CPU:$89C2 PRG:09C2 01 D0 1C A9 13 85 52 A0 6F A9 C8 A2 04 9D 0B 02 - .byte $98, $9D, $08, $02, $A9, $F5, $9D, $09, $02, $A9, $02, $9D, $0A, $02, $60, $A5 ; CPU:$89D2 PRG:09D2 98 9D 08 02 A9 F5 9D 09 02 A9 02 9D 0A 02 60 A5 - .byte $21, $D0, $0D, $A9, $06, $85, $21, $A5, $68, $49, $01, $85, $68, $4C, $FF, $A8 ; CPU:$89E2 PRG:09E2 21 D0 0D A9 06 85 21 A5 68 49 01 85 68 4C FF A8 - .byte $A5, $26, $D0, $21, $A9, $0C, $85, $26, $AD, $3B, $05, $49, $01, $8D, $3B, $05 ; CPU:$89F2 PRG:09F2 A5 26 D0 21 A9 0C 85 26 AD 3B 05 49 01 8D 3B 05 - .byte $D0, $06, $A9, $12, $A0, $6F, $D0, $04, $A9, $14, $A0, $F8, $85, $52, $A9, $58 ; CPU:$8A02 PRG:0A02 D0 06 A9 12 A0 6F D0 04 A9 14 A0 F8 85 52 A9 58 - .byte $A2, $00, $20, $CF, $89, $A5, $39, $D0, $C5, $4C, $D2, $88, $A9, $18, $85, $4E ; CPU:$8A12 PRG:0A12 A2 00 20 CF 89 A5 39 D0 C5 4C D2 88 A9 18 85 4E - .byte $A5, $49, $4A, $90, $0C, $20, $49, $8A, $20, $67, $8A, $20, $85, $8A, $4C, $40 ; CPU:$8A22 PRG:0A22 A5 49 4A 90 0C 20 49 8A 20 67 8A 20 85 8A 4C 40 - .byte $8A, $EA, $20, $67, $8A, $20, $49, $8A, $20, $85, $8A, $4C, $40, $8A, $A9, $00 ; CPU:$8A32 PRG:0A32 8A EA 20 67 8A 20 49 8A 20 85 8A 4C 40 8A A9 00 - .byte $85, $4B, $85, $4C, $85, $4D, $60, $A6, $4E, $A0, $00, $A5, $4B, $F0, $13, $B9 ; CPU:$8A42 PRG:0A42 85 4B 85 4C 85 4D 60 A6 4E A0 00 A5 4B F0 13 B9 - .byte $00, $06, $9D, $00, $02, $E8, $E0, $FC, $B0, $08, $98, $69, $01, $A8, $C4, $4B ; CPU:$8A52 PRG:0A52 00 06 9D 00 02 E8 E0 FC B0 08 98 69 01 A8 C4 4B - .byte $D0, $ED, $86, $4E, $60, $A6, $4E, $A0, $00, $A5, $4C, $F0, $13, $B9, $D0, $06 ; CPU:$8A62 PRG:0A62 D0 ED 86 4E 60 A6 4E A0 00 A5 4C F0 13 B9 D0 06 - .byte $9D, $00, $02, $E8, $E0, $FC, $B0, $08, $98, $69, $01, $A8, $C4, $4C, $D0, $ED ; CPU:$8A72 PRG:0A72 9D 00 02 E8 E0 FC B0 08 98 69 01 A8 C4 4C D0 ED - .byte $86, $4E, $60, $A6, $4E, $A0, $00, $A5, $4D, $F0, $15, $B9, $30, $07, $9D, $00 ; CPU:$8A82 PRG:0A82 86 4E 60 A6 4E A0 00 A5 4D F0 15 B9 30 07 9D 00 - .byte $02, $E8, $E0, $FC, $B0, $08, $98, $69, $01, $A8, $C4, $4D, $D0, $ED, $86, $4E ; CPU:$8A92 PRG:0A92 02 E8 E0 FC B0 08 98 69 01 A8 C4 4D D0 ED 86 4E - .byte $A6, $4E, $A0, $00, $A5, $00, $D0, $00, $B9, $2F, $05, $9D, $00, $02, $8A, $18 ; CPU:$8AA2 PRG:0AA2 A6 4E A0 00 A5 00 D0 00 B9 2F 05 9D 00 02 8A 18 - .byte $69, $01, $AA, $98, $18, $69, $00, $A8, $E0, $00, $D0, $EC, $60, $AD, $66, $03 ; CPU:$8AB2 PRG:0AB2 69 01 AA 98 18 69 00 A8 E0 00 D0 EC 60 AD 66 03 - .byte $0D, $67, $03, $D0, $03, $20, $EE, $8A, $20, $F6, $CC, $A2, $00, $E4, $4B, $B0 ; CPU:$8AC2 PRG:0AC2 0D 67 03 D0 03 20 EE 8A 20 F6 CC A2 00 E4 4B B0 - .byte $15, $BD, $00, $06, $C9, $6C, $B0, $08, $BD, $02, $06, $09, $20, $9D, $02, $06 ; CPU:$8AD2 PRG:0AD2 15 BD 00 06 C9 6C B0 08 BD 02 06 09 20 9D 02 06 - .byte $E8, $E8, $E8, $E8, $D0, $E7, $20, $3A, $8E, $4C, $CE, $B2, $A5, $60, $0A, $A8 ; CPU:$8AE2 PRG:0AE2 E8 E8 E8 E8 D0 E7 20 3A 8E 4C CE B2 A5 60 0A A8 - .byte $B9, $3E, $81, $85, $00, $C8, $B9, $3E, $81, $85, $01, $6C, $00, $00, $A5, $38 ; CPU:$8AF2 PRG:0AF2 B9 3E 81 85 00 C8 B9 3E 81 85 01 6C 00 00 A5 38 - .byte $F0, $33, $A9, $00, $85, $67, $85, $63, $20, $3A, $A8, $A5, $69, $4A, $D0, $0C ; CPU:$8B02 PRG:0B02 F0 33 A9 00 85 67 85 63 20 3A A8 A5 69 4A D0 0C - .byte $A5, $68, $F0, $08, $A9, $01, $8D, $6E, $03, $4A, $85, $68, $AD, $6E, $03, $A6 ; CPU:$8B12 PRG:0B12 A5 68 F0 08 A9 01 8D 6E 03 4A 85 68 AD 6E 03 A6 - .byte $68, $8E, $6E, $03, $C5, $68, $D0, $04, $A9, $00, $F0, $05, $20, $FF, $A8, $A9 ; CPU:$8B22 PRG:0B22 68 8E 6E 03 C5 68 D0 04 A9 00 F0 05 20 FF A8 A9 - .byte $01, $8D, $8F, $03, $60, $AD, $72, $03, $85, $C6, $A9, $09, $8D, $8A, $03, $A9 ; CPU:$8B32 PRG:0B32 01 8D 8F 03 60 AD 72 03 85 C6 A9 09 8D 8A 03 A9 - .byte $80, $8D, $8B, $03, $A9, $15, $85, $52, $A5, $5F, $C9, $04, $D0, $48, $A9, $06 ; CPU:$8B42 PRG:0B42 80 8D 8B 03 A9 15 85 52 A5 5F C9 04 D0 48 A9 06 - .byte $85, $60, $A9, $16, $85, $52, $4C, $5C, $BB, $A9, $0A, $18, $6D, $72, $03, $85 ; CPU:$8B52 PRG:0B52 85 60 A9 16 85 52 4C 5C BB A9 0A 18 6D 72 03 85 - .byte $52, $D0, $33, $A9, $04, $38, $ED, $72, $03, $A8, $AA, $20, $D2, $A7, $A5, $65 ; CPU:$8B62 PRG:0B62 52 D0 33 A9 04 38 ED 72 03 A8 AA 20 D2 A7 A5 65 - .byte $29, $01, $85, $61, $98, $49, $07, $A8, $20, $09, $A8, $A5, $64, $D0, $1E, $C6 ; CPU:$8B72 PRG:0B72 29 01 85 61 98 49 07 A8 20 09 A8 A5 64 D0 1E C6 - .byte $CE, $A9, $04, $85, $FE, $85, $38, $C5, $5F, $F0, $0B, $0A, $85, $63, $A9, $1B ; CPU:$8B82 PRG:0B82 CE A9 04 85 FE 85 38 C5 5F F0 0B 0A 85 63 A9 1B - .byte $85, $52, $A9, $01, $85, $86, $E6, $60, $A9, $00, $8D, $3B, $05, $60, $A2, $06 ; CPU:$8B92 PRG:0B92 85 52 A9 01 85 86 E6 60 A9 00 8D 3B 05 60 A2 06 - .byte $AD, $3B, $05, $D0, $26, $A4, $C6, $D0, $01, $88, $A5, $30, $D0, $04, $A9, $08 ; CPU:$8BA2 PRG:0BA2 AD 3B 05 D0 26 A4 C6 D0 01 88 A5 30 D0 04 A9 08 - .byte $85, $FC, $20, $E6, $D4, $A5, $94, $C9, $5C, $90, $04, $C9, $A4, $90, $DE, $A9 ; CPU:$8BB2 PRG:0BB2 85 FC 20 E6 D4 A5 94 C9 5C 90 04 C9 A4 90 DE A9 - .byte $01, $8D, $3B, $05, $0A, $85, $BD, $0A, $85, $21, $60, $A5, $21, $D0, $CE, $A9 ; CPU:$8BC2 PRG:0BC2 01 8D 3B 05 0A 85 BD 0A 85 21 60 A5 21 D0 CE A9 - .byte $08, $85, $FC, $A9, $0C, $85, $21, $A5, $BD, $49, $03, $85, $BD, $4A, $D0, $BD ; CPU:$8BD2 PRG:0BD2 08 85 FC A9 0C 85 21 A5 BD 49 03 85 BD 4A D0 BD - .byte $A5, $B6, $C9, $40, $B0, $16, $A9, $00, $85, $86, $AD, $A6, $04, $D0, $03, $EE ; CPU:$8BE2 PRG:0BE2 A5 B6 C9 40 B0 16 A9 00 85 86 AD A6 04 D0 03 EE - .byte $A6, $04, $A9, $18, $85, $38, $A9, $04, $85, $FB, $D0, $9A, $E9, $08, $85, $B6 ; CPU:$8BF2 PRG:0BF2 A6 04 A9 18 85 38 A9 04 85 FB D0 9A E9 08 85 B6 - .byte $A0, $08, $A5, $C6, $D0, $02, $A0, $F8, $4C, $33, $B2, $A5, $38, $D0, $22, $20 ; CPU:$8C02 PRG:0C02 A0 08 A5 C6 D0 02 A0 F8 4C 33 B2 A5 38 D0 22 20 - .byte $B9, $C7, $A5, $49, $29, $03, $D0, $04, $A9, $02, $85, $FE, $AD, $3B, $05, $D0 ; CPU:$8C12 PRG:0C12 B9 C7 A5 49 29 03 D0 04 A9 02 85 FE AD 3B 05 D0 - .byte $11, $A5, $34, $D0, $0C, $A9, $02, $85, $34, $20, $AB, $CC, $90, $03, $EE, $3B ; CPU:$8C22 PRG:0C22 11 A5 34 D0 0C A9 02 85 34 20 AB CC 90 03 EE 3B - .byte $05, $60, $20, $D5, $CC, $90, $FA, $A9, $05, $85, $38, $A6, $55, $F0, $02, $A2 ; CPU:$8C32 PRG:0C32 05 60 20 D5 CC 90 FA A9 05 85 38 A6 55 F0 02 A2 - .byte $07, $A0, $00, $B9, $30, $05, $9D, $00, $05, $C8, $E8, $C0, $07, $90, $F4, $4C ; CPU:$8C42 PRG:0C42 07 A0 00 B9 30 05 9D 00 05 C8 E8 C0 07 90 F4 4C - .byte $98, $8B, $A5, $38, $05, $39, $D0, $D9, $A6, $55, $F6, $58, $B5, $58, $C9, $05 ; CPU:$8C52 PRG:0C52 98 8B A5 38 05 39 D0 D9 A6 55 F6 58 B5 58 C9 05 - .byte $90, $0F, $A9, $00, $95, $58, $85, $35, $F6, $56, $A9, $06, $85, $51, $4C, $DA ; CPU:$8C62 PRG:0C62 90 0F A9 00 95 58 85 35 F6 56 A9 06 85 51 4C DA - .byte $88, $C9, $02, $F0, $07, $C9, $04, $F0, $03, $4C, $D2, $88, $A9, $05, $4C, $D4 ; CPU:$8C72 PRG:0C72 88 C9 02 F0 07 C9 04 F0 03 4C D2 88 A9 05 4C D4 - .byte $88, $A5, $38, $D0, $AC, $85, $69, $A9, $01, $85, $68, $20, $FF, $A8, $A9, $01 ; CPU:$8C82 PRG:0C82 88 A5 38 D0 AC 85 69 A9 01 85 68 20 FF A8 A9 01 - .byte $85, $B7, $4A, $85, $DF, $A9, $50, $85, $CE, $A9, $8F, $85, $B0, $4C, $EC, $8B ; CPU:$8C92 PRG:0C92 85 B7 4A 85 DF A9 50 85 CE A9 8F 85 B0 4C EC 8B - .byte $5F, $F5, $02, $C0, $90, $09, $01, $64, $80, $09, $01, $6C, $78, $09, $01, $7C ; CPU:$8CA2 PRG:0CA2 5F F5 02 C0 90 09 01 64 80 09 01 6C 78 09 01 7C +Sub_89CF: + sta $020B,x ; CPU:$89CF PRG:09CF 9D 0B 02 + tya ; CPU:$89D2 PRG:09D2 98 + sta $0208,x ; CPU:$89D3 PRG:09D3 9D 08 02 + lda #$F5 ; CPU:$89D6 PRG:09D6 A9 F5 + sta $0209,x ; CPU:$89D8 PRG:09D8 9D 09 02 + lda #$02 ; CPU:$89DB PRG:09DB A9 02 + sta $020A,x ; CPU:$89DD PRG:09DD 9D 0A 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero7 +; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero7: + rts ; CPU:$89E0 PRG:09E0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop54: + lda Zp21 ; CPU:$89E1 PRG:09E1 A5 21 + bne NmiHandler_Loop55 ; CPU:$89E3 PRG:09E3 D0 0D + lda #$06 ; CPU:$89E5 PRG:09E5 A9 06 + sta Zp21 ; CPU:$89E7 PRG:09E7 85 21 + lda Zp68 ; CPU:$89E9 PRG:09E9 A5 68 + eor #$01 ; CPU:$89EB PRG:09EB 49 01 + sta Zp68 ; CPU:$89ED PRG:09ED 85 68 + jmp Sub_A8FF ; CPU:$89EF PRG:09EF 4C FF A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop55: + lda Zp26 ; CPU:$89F2 PRG:09F2 A5 26 + bne NmiHandler_Loop58 ; CPU:$89F4 PRG:09F4 D0 21 + lda #$0C ; CPU:$89F6 PRG:09F6 A9 0C + sta Zp26 ; CPU:$89F8 PRG:09F8 85 26 + lda $053B ; CPU:$89FA PRG:09FA AD 3B 05 + eor #$01 ; CPU:$89FD PRG:09FD 49 01 + sta $053B ; CPU:$89FF PRG:09FF 8D 3B 05 + bne NmiHandler_Loop56 ; CPU:$8A02 PRG:0A02 D0 06 + lda #$12 ; CPU:$8A04 PRG:0A04 A9 12 + ldy #$6F ; CPU:$8A06 PRG:0A06 A0 6F + bne NmiHandler_Loop57 ; CPU:$8A08 PRG:0A08 D0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop56: + lda #$14 ; CPU:$8A0A PRG:0A0A A9 14 + ldy #$F8 ; CPU:$8A0C PRG:0A0C A0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: + sta Zp52 ; CPU:$8A0E PRG:0A0E 85 52 + lda #$58 ; CPU:$8A10 PRG:0A10 A9 58 + ldx #$00 ; CPU:$8A12 PRG:0A12 A2 00 + jsr Sub_89CF ; CPU:$8A14 PRG:0A14 20 CF 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop58: + lda Zp39 ; CPU:$8A17 PRG:0A17 A5 39 + bne NmiHandler_OnNonzero7 ; CPU:$8A19 PRG:0A19 D0 C5 + jmp NmiHandler_Loop41 ; CPU:$8A1B PRG:0A1B 4C D2 88 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A1E +; Global: Branch target inside Sub: taken when 8A1E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A1E: + lda #$18 ; CPU:$8A1E PRG:0A1E A9 18 + sta Zp4E ; CPU:$8A20 PRG:0A20 85 4E + lda Zp49 ; CPU:$8A22 PRG:0A22 A5 49 + lsr a ; CPU:$8A24 PRG:0A24 4A + bcc NmiHandler_Loop59 ; CPU:$8A25 PRG:0A25 90 0C + jsr Sub_8A49 ; CPU:$8A27 PRG:0A27 20 49 8A + jsr Sub_8A67 ; CPU:$8A2A PRG:0A2A 20 67 8A + jsr Sub_8A85 ; CPU:$8A2D PRG:0A2D 20 85 8A + jmp Sub_8A40 ; CPU:$8A30 PRG:0A30 4C 40 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop59: + nop ; CPU:$8A33 PRG:0A33 EA + jsr Sub_8A67 ; CPU:$8A34 PRG:0A34 20 67 8A + jsr Sub_8A49 ; CPU:$8A37 PRG:0A37 20 49 8A + jsr Sub_8A85 ; CPU:$8A3A PRG:0A3A 20 85 8A + jmp Sub_8A40 ; CPU:$8A3D PRG:0A3D 4C 40 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_8A40 +; Global: Branch target inside Sub: taken when 8A40. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A40: + lda #$00 ; CPU:$8A40 PRG:0A40 A9 00 + sta Zp4B ; CPU:$8A42 PRG:0A42 85 4B + sta Zp4C ; CPU:$8A44 PRG:0A44 85 4C + sta Zp4D ; CPU:$8A46 PRG:0A46 85 4D + rts ; CPU:$8A48 PRG:0A48 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A49 +; Global: Branch target inside Sub: taken when 8A49. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A49: + ldx Zp4E ; CPU:$8A49 PRG:0A49 A6 4E + ldy #$00 ; CPU:$8A4B PRG:0A4B A0 00 + lda Zp4B ; CPU:$8A4D PRG:0A4D A5 4B + beq NmiHandler_Loop60 ; CPU:$8A4F PRG:0A4F F0 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero8: + lda $0600,y ; CPU:$8A51 PRG:0A51 B9 00 06 + sta $0200,x ; CPU:$8A54 PRG:0A54 9D 00 02 + inx ; CPU:$8A57 PRG:0A57 E8 + cpx #$FC ; CPU:$8A58 PRG:0A58 E0 FC + bcs NmiHandler_Loop60 ; CPU:$8A5A PRG:0A5A B0 08 + tya ; CPU:$8A5C PRG:0A5C 98 + adc #$01 ; CPU:$8A5D PRG:0A5D 69 01 + tay ; CPU:$8A5F PRG:0A5F A8 + cpy Zp4B ; CPU:$8A60 PRG:0A60 C4 4B + bne NmiHandler_OnNonzero8 ; CPU:$8A62 PRG:0A62 D0 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop60: + stx Zp4E ; CPU:$8A64 PRG:0A64 86 4E + rts ; CPU:$8A66 PRG:0A66 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A67 +; Global: Branch target inside Sub: taken when 8A67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A67: + ldx Zp4E ; CPU:$8A67 PRG:0A67 A6 4E + ldy #$00 ; CPU:$8A69 PRG:0A69 A0 00 + lda Zp4C ; CPU:$8A6B PRG:0A6B A5 4C + beq NmiHandler_Loop61 ; CPU:$8A6D PRG:0A6D F0 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero9: + lda $06D0,y ; CPU:$8A6F PRG:0A6F B9 D0 06 + sta $0200,x ; CPU:$8A72 PRG:0A72 9D 00 02 + inx ; CPU:$8A75 PRG:0A75 E8 + cpx #$FC ; CPU:$8A76 PRG:0A76 E0 FC + bcs NmiHandler_Loop61 ; CPU:$8A78 PRG:0A78 B0 08 + tya ; CPU:$8A7A PRG:0A7A 98 + adc #$01 ; CPU:$8A7B PRG:0A7B 69 01 + tay ; CPU:$8A7D PRG:0A7D A8 + cpy Zp4C ; CPU:$8A7E PRG:0A7E C4 4C + bne NmiHandler_OnNonzero9 ; CPU:$8A80 PRG:0A80 D0 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop61: + stx Zp4E ; CPU:$8A82 PRG:0A82 86 4E + rts ; CPU:$8A84 PRG:0A84 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A85 +; Global: Branch target inside Sub: taken when 8A85. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A85: + ldx Zp4E ; CPU:$8A85 PRG:0A85 A6 4E + ldy #$00 ; CPU:$8A87 PRG:0A87 A0 00 + lda Zp4D ; CPU:$8A89 PRG:0A89 A5 4D + beq NmiHandler_Loop63 ; CPU:$8A8B PRG:0A8B F0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero10: + lda $0730,y ; CPU:$8A8D PRG:0A8D B9 30 07 + sta $0200,x ; CPU:$8A90 PRG:0A90 9D 00 02 + inx ; CPU:$8A93 PRG:0A93 E8 + cpx #$FC ; CPU:$8A94 PRG:0A94 E0 FC + bcs NmiHandler_Loop62 ; CPU:$8A96 PRG:0A96 B0 08 + tya ; CPU:$8A98 PRG:0A98 98 + adc #$01 ; CPU:$8A99 PRG:0A99 69 01 + tay ; CPU:$8A9B PRG:0A9B A8 + cpy Zp4D ; CPU:$8A9C PRG:0A9C C4 4D + bne NmiHandler_OnNonzero10 ; CPU:$8A9E PRG:0A9E D0 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + stx Zp4E ; CPU:$8AA0 PRG:0AA0 86 4E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + ldx Zp4E ; CPU:$8AA2 PRG:0AA2 A6 4E + ldy #$00 ; CPU:$8AA4 PRG:0AA4 A0 00 + lda VramWritePtrLo ; CPU:$8AA6 PRG:0AA6 A5 00 + bne NmiHandler_OnNonzero11 ; CPU:$8AA8 PRG:0AA8 D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + lda $052F,y ; CPU:$8AAA PRG:0AAA B9 2F 05 + sta $0200,x ; CPU:$8AAD PRG:0AAD 9D 00 02 + txa ; CPU:$8AB0 PRG:0AB0 8A + clc ; CPU:$8AB1 PRG:0AB1 18 + adc #$01 ; CPU:$8AB2 PRG:0AB2 69 01 + tax ; CPU:$8AB4 PRG:0AB4 AA + tya ; CPU:$8AB5 PRG:0AB5 98 + clc ; CPU:$8AB6 PRG:0AB6 18 + adc #$00 ; CPU:$8AB7 PRG:0AB7 69 00 + tay ; CPU:$8AB9 PRG:0AB9 A8 + cpx #$00 ; CPU:$8ABA PRG:0ABA E0 00 + bne NmiHandler_OnNonzero11 ; CPU:$8ABC PRG:0ABC D0 EC + rts ; CPU:$8ABE PRG:0ABE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8ABF +; Global: Branch target inside Label: taken when 8ABF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8ABF: + lda $0366 ; CPU:$8ABF PRG:0ABF AD 66 03 + ora $0367 ; CPU:$8AC2 PRG:0AC2 0D 67 03 + bne NmiHandler_Loop64 ; CPU:$8AC5 PRG:0AC5 D0 03 + jsr Sub_8AEE ; CPU:$8AC7 PRG:0AC7 20 EE 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: + jsr Sub_CCF6 ; CPU:$8ACA PRG:0ACA 20 F6 CC + ldx #$00 ; CPU:$8ACD PRG:0ACD A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + cpx Zp4B ; CPU:$8ACF PRG:0ACF E4 4B + bcs NmiHandler_Loop66 ; CPU:$8AD1 PRG:0AD1 B0 15 + lda $0600,x ; CPU:$8AD3 PRG:0AD3 BD 00 06 + cmp #$6C ; CPU:$8AD6 PRG:0AD6 C9 6C + bcs NmiHandler_Loop65 ; CPU:$8AD8 PRG:0AD8 B0 08 + lda $0602,x ; CPU:$8ADA PRG:0ADA BD 02 06 + ora #$20 ; CPU:$8ADD PRG:0ADD 09 20 + sta $0602,x ; CPU:$8ADF PRG:0ADF 9D 02 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop65: + inx ; CPU:$8AE2 PRG:0AE2 E8 + inx ; CPU:$8AE3 PRG:0AE3 E8 + inx ; CPU:$8AE4 PRG:0AE4 E8 + inx ; CPU:$8AE5 PRG:0AE5 E8 + bne NmiHandler_OnNonzero12 ; CPU:$8AE6 PRG:0AE6 D0 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop66: + jsr NmiHandler_OnZero2 ; CPU:$8AE8 PRG:0AE8 20 3A 8E + jmp Sub_B2CE ; CPU:$8AEB PRG:0AEB 4C CE B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_8AEE +; Global: Branch target inside Sub: taken when 8AEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8AEE: + lda Zp60 ; CPU:$8AEE PRG:0AEE A5 60 + asl a ; CPU:$8AF0 PRG:0AF0 0A + tay ; CPU:$8AF1 PRG:0AF1 A8 + lda $813E,y ; CPU:$8AF2 PRG:0AF2 B9 3E 81 + sta VramWritePtrLo ; CPU:$8AF5 PRG:0AF5 85 00 + iny ; CPU:$8AF7 PRG:0AF7 C8 + lda $813E,y ; CPU:$8AF8 PRG:0AF8 B9 3E 81 + sta VramWritePtrHi ; CPU:$8AFB PRG:0AFB 85 01 + jmp (VramWritePtrLo) ; CPU:$8AFD PRG:0AFD 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8B00 +; Global: Branch target inside Label: taken when 8B00. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B00: + lda Zp38 ; CPU:$8B00 PRG:0B00 A5 38 + beq NmiHandler_Loop70 ; CPU:$8B02 PRG:0B02 F0 33 + lda #$00 ; CPU:$8B04 PRG:0B04 A9 00 + sta Zp67 ; CPU:$8B06 PRG:0B06 85 67 + sta Zp63 ; CPU:$8B08 PRG:0B08 85 63 + jsr Sub_A83A ; CPU:$8B0A PRG:0B0A 20 3A A8 + lda PlayerIndex ; CPU:$8B0D PRG:0B0D A5 69 + lsr a ; CPU:$8B0F PRG:0B0F 4A + bne NmiHandler_Loop67 ; CPU:$8B10 PRG:0B10 D0 0C + lda Zp68 ; CPU:$8B12 PRG:0B12 A5 68 + beq NmiHandler_Loop67 ; CPU:$8B14 PRG:0B14 F0 08 + lda #$01 ; CPU:$8B16 PRG:0B16 A9 01 + sta $036E ; CPU:$8B18 PRG:0B18 8D 6E 03 + lsr a ; CPU:$8B1B PRG:0B1B 4A + sta Zp68 ; CPU:$8B1C PRG:0B1C 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop67: + lda $036E ; CPU:$8B1E PRG:0B1E AD 6E 03 + ldx Zp68 ; CPU:$8B21 PRG:0B21 A6 68 + stx $036E ; CPU:$8B23 PRG:0B23 8E 6E 03 + cmp Zp68 ; CPU:$8B26 PRG:0B26 C5 68 + bne NmiHandler_Loop68 ; CPU:$8B28 PRG:0B28 D0 04 + lda #$00 ; CPU:$8B2A PRG:0B2A A9 00 + beq NmiHandler_Loop69 ; CPU:$8B2C PRG:0B2C F0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop68: + jsr Sub_A8FF ; CPU:$8B2E PRG:0B2E 20 FF A8 + lda #$01 ; CPU:$8B31 PRG:0B31 A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + sta $038F ; CPU:$8B33 PRG:0B33 8D 8F 03 + rts ; CPU:$8B36 PRG:0B36 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + lda $0372 ; CPU:$8B37 PRG:0B37 AD 72 03 + sta ZpC6 ; CPU:$8B3A PRG:0B3A 85 C6 + lda #$09 ; CPU:$8B3C PRG:0B3C A9 09 + sta $038A ; CPU:$8B3E PRG:0B3E 8D 8A 03 + lda #$80 ; CPU:$8B41 PRG:0B41 A9 80 + sta $038B ; CPU:$8B43 PRG:0B43 8D 8B 03 + lda #$15 ; CPU:$8B46 PRG:0B46 A9 15 + sta Zp52 ; CPU:$8B48 PRG:0B48 85 52 + lda SpriteIndex ; CPU:$8B4A PRG:0B4A A5 5F + cmp #$04 ; CPU:$8B4C PRG:0B4C C9 04 + bne NmiHandler_Loop71 ; CPU:$8B4E PRG:0B4E D0 48 + lda #$06 ; CPU:$8B50 PRG:0B50 A9 06 + sta Zp60 ; CPU:$8B52 PRG:0B52 85 60 + lda #$16 ; CPU:$8B54 PRG:0B54 A9 16 + sta Zp52 ; CPU:$8B56 PRG:0B56 85 52 + jmp Sub_BB5C ; CPU:$8B58 PRG:0B58 4C 5C BB +; ----------------------------------------------------------------------------- +; Routine: Label_8B5B +; Global: Branch target inside Label: taken when 8B5B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B5B: + lda #$0A ; CPU:$8B5B PRG:0B5B A9 0A + clc ; CPU:$8B5D PRG:0B5D 18 + adc $0372 ; CPU:$8B5E PRG:0B5E 6D 72 03 + sta Zp52 ; CPU:$8B61 PRG:0B61 85 52 + bne NmiHandler_Loop71 ; CPU:$8B63 PRG:0B63 D0 33 + lda #$04 ; CPU:$8B65 PRG:0B65 A9 04 + sec ; CPU:$8B67 PRG:0B67 38 + sbc $0372 ; CPU:$8B68 PRG:0B68 ED 72 03 + tay ; CPU:$8B6B PRG:0B6B A8 + tax ; CPU:$8B6C PRG:0B6C AA + jsr NmiHandler_Loop143 ; CPU:$8B6D PRG:0B6D 20 D2 A7 + lda Zp65 ; CPU:$8B70 PRG:0B70 A5 65 + and #$01 ; CPU:$8B72 PRG:0B72 29 01 + sta Zp61 ; CPU:$8B74 PRG:0B74 85 61 + tya ; CPU:$8B76 PRG:0B76 98 + eor #$07 ; CPU:$8B77 PRG:0B77 49 07 + tay ; CPU:$8B79 PRG:0B79 A8 + jsr NmiHandler_Loop148 ; CPU:$8B7A PRG:0B7A 20 09 A8 + lda Zp64 ; CPU:$8B7D PRG:0B7D A5 64 + bne NmiHandler_OnNonzero13 ; CPU:$8B7F PRG:0B7F D0 1E + dec ZpCE ; CPU:$8B81 PRG:0B81 C6 CE + lda #$04 ; CPU:$8B83 PRG:0B83 A9 04 + sta ZpFE ; CPU:$8B85 PRG:0B85 85 FE + sta Zp38 ; CPU:$8B87 PRG:0B87 85 38 + cmp SpriteIndex ; CPU:$8B89 PRG:0B89 C5 5F + beq NmiHandler_Loop71 ; CPU:$8B8B PRG:0B8B F0 0B + asl a ; CPU:$8B8D PRG:0B8D 0A + sta Zp63 ; CPU:$8B8E PRG:0B8E 85 63 + lda #$1B ; CPU:$8B90 PRG:0B90 A9 1B + sta Zp52 ; CPU:$8B92 PRG:0B92 85 52 + lda #$01 ; CPU:$8B94 PRG:0B94 A9 01 + sta PpuMaskShadow ; CPU:$8B96 PRG:0B96 85 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + inc Zp60 ; CPU:$8B98 PRG:0B98 E6 60 + lda #$00 ; CPU:$8B9A PRG:0B9A A9 00 + sta $053B ; CPU:$8B9C PRG:0B9C 8D 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + rts ; CPU:$8B9F PRG:0B9F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8BA0 +; Global: Branch target inside Label: taken when 8BA0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8BA0: + ldx #$06 ; CPU:$8BA0 PRG:0BA0 A2 06 + lda $053B ; CPU:$8BA2 PRG:0BA2 AD 3B 05 + bne NmiHandler_Loop75 ; CPU:$8BA5 PRG:0BA5 D0 26 + ldy ZpC6 ; CPU:$8BA7 PRG:0BA7 A4 C6 + bne NmiHandler_Loop72 ; CPU:$8BA9 PRG:0BA9 D0 01 + dey ; CPU:$8BAB PRG:0BAB 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + lda Zp30 ; CPU:$8BAC PRG:0BAC A5 30 + bne NmiHandler_Loop73 ; CPU:$8BAE PRG:0BAE D0 04 + lda #$08 ; CPU:$8BB0 PRG:0BB0 A9 08 + sta ZpFC ; CPU:$8BB2 PRG:0BB2 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + jsr Sub_D4E6 ; CPU:$8BB4 PRG:0BB4 20 E6 D4 + lda Zp94 ; CPU:$8BB7 PRG:0BB7 A5 94 + cmp #$5C ; CPU:$8BB9 PRG:0BB9 C9 5C + bcc NmiHandler_Loop74 ; CPU:$8BBB PRG:0BBB 90 04 + cmp #$A4 ; CPU:$8BBD PRG:0BBD C9 A4 + bcc NmiHandler_OnNonzero13 ; CPU:$8BBF PRG:0BBF 90 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + lda #$01 ; CPU:$8BC1 PRG:0BC1 A9 01 + sta $053B ; CPU:$8BC3 PRG:0BC3 8D 3B 05 + asl a ; CPU:$8BC6 PRG:0BC6 0A + sta ZpBD ; CPU:$8BC7 PRG:0BC7 85 BD + asl a ; CPU:$8BC9 PRG:0BC9 0A + sta Zp21 ; CPU:$8BCA PRG:0BCA 85 21 + rts ; CPU:$8BCC PRG:0BCC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + lda Zp21 ; CPU:$8BCD PRG:0BCD A5 21 + bne NmiHandler_OnNonzero13 ; CPU:$8BCF PRG:0BCF D0 CE + lda #$08 ; CPU:$8BD1 PRG:0BD1 A9 08 + sta ZpFC ; CPU:$8BD3 PRG:0BD3 85 FC + lda #$0C ; CPU:$8BD5 PRG:0BD5 A9 0C + sta Zp21 ; CPU:$8BD7 PRG:0BD7 85 21 + lda ZpBD ; CPU:$8BD9 PRG:0BD9 A5 BD + eor #$03 ; CPU:$8BDB PRG:0BDB 49 03 + sta ZpBD ; CPU:$8BDD PRG:0BDD 85 BD + lsr a ; CPU:$8BDF PRG:0BDF 4A + bne NmiHandler_OnNonzero13 ; CPU:$8BE0 PRG:0BE0 D0 BD + lda SpriteScore ; CPU:$8BE2 PRG:0BE2 A5 B6 + cmp #$40 ; CPU:$8BE4 PRG:0BE4 C9 40 + bcs NmiHandler_Loop77 ; CPU:$8BE6 PRG:0BE6 B0 16 + lda #$00 ; CPU:$8BE8 PRG:0BE8 A9 00 + sta PpuMaskShadow ; CPU:$8BEA PRG:0BEA 85 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_8BEC +; Global: Branch target inside Sub: taken when 8BEC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8BEC: + lda $04A6 ; CPU:$8BEC PRG:0BEC AD A6 04 + bne NmiHandler_Loop76 ; CPU:$8BEF PRG:0BEF D0 03 + inc $04A6 ; CPU:$8BF1 PRG:0BF1 EE A6 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + lda #$18 ; CPU:$8BF4 PRG:0BF4 A9 18 + sta Zp38 ; CPU:$8BF6 PRG:0BF6 85 38 + lda #$04 ; CPU:$8BF8 PRG:0BF8 A9 04 + sta ZpFB ; CPU:$8BFA PRG:0BFA 85 FB + bne NmiHandler_Loop71 ; CPU:$8BFC PRG:0BFC D0 9A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + sbc #$08 ; CPU:$8BFE PRG:0BFE E9 08 + sta SpriteScore ; CPU:$8C00 PRG:0C00 85 B6 + ldy #$08 ; CPU:$8C02 PRG:0C02 A0 08 + lda ZpC6 ; CPU:$8C04 PRG:0C04 A5 C6 + bne NmiHandler_Loop78 ; CPU:$8C06 PRG:0C06 D0 02 + ldy #$F8 ; CPU:$8C08 PRG:0C08 A0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + jmp NmiHandler_Loop288 ; CPU:$8C0A PRG:0C0A 4C 33 B2 +; ----------------------------------------------------------------------------- +; Routine: Label_8C0D +; Global: Branch target inside Label: taken when 8C0D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C0D: + lda Zp38 ; CPU:$8C0D PRG:0C0D A5 38 + bne NmiHandler_Loop80 ; CPU:$8C0F PRG:0C0F D0 22 + jsr Sub_C7B9 ; CPU:$8C11 PRG:0C11 20 B9 C7 + lda Zp49 ; CPU:$8C14 PRG:0C14 A5 49 + and #$03 ; CPU:$8C16 PRG:0C16 29 03 + bne NmiHandler_Loop79 ; CPU:$8C18 PRG:0C18 D0 04 + lda #$02 ; CPU:$8C1A PRG:0C1A A9 02 + sta ZpFE ; CPU:$8C1C PRG:0C1C 85 FE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + lda $053B ; CPU:$8C1E PRG:0C1E AD 3B 05 + bne NmiHandler_Loop81 ; CPU:$8C21 PRG:0C21 D0 11 + lda Zp34 ; CPU:$8C23 PRG:0C23 A5 34 + bne NmiHandler_Loop80 ; CPU:$8C25 PRG:0C25 D0 0C + lda #$02 ; CPU:$8C27 PRG:0C27 A9 02 + sta Zp34 ; CPU:$8C29 PRG:0C29 85 34 + jsr Sub_CCAB ; CPU:$8C2B PRG:0C2B 20 AB CC + bcc NmiHandler_Loop80 ; CPU:$8C2E PRG:0C2E 90 03 + inc $053B ; CPU:$8C30 PRG:0C30 EE 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + rts ; CPU:$8C33 PRG:0C33 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + jsr Sub_CCD5 ; CPU:$8C34 PRG:0C34 20 D5 CC + bcc NmiHandler_Loop80 ; CPU:$8C37 PRG:0C37 90 FA + lda #$05 ; CPU:$8C39 PRG:0C39 A9 05 + sta Zp38 ; CPU:$8C3B PRG:0C3B 85 38 + ldx Zp55 ; CPU:$8C3D PRG:0C3D A6 55 + beq NmiHandler_Loop82 ; CPU:$8C3F PRG:0C3F F0 02 + ldx #$07 ; CPU:$8C41 PRG:0C41 A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop82: + ldy #$00 ; CPU:$8C43 PRG:0C43 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + lda $0530,y ; CPU:$8C45 PRG:0C45 B9 30 05 + sta $0500,x ; CPU:$8C48 PRG:0C48 9D 00 05 + iny ; CPU:$8C4B PRG:0C4B C8 + inx ; CPU:$8C4C PRG:0C4C E8 + cpy #$07 ; CPU:$8C4D PRG:0C4D C0 07 + bcc NmiHandler_OnCarryClear3 ; CPU:$8C4F PRG:0C4F 90 F4 + jmp NmiHandler_Loop71 ; CPU:$8C51 PRG:0C51 4C 98 8B +; ----------------------------------------------------------------------------- +; Routine: Label_8C54 +; Global: Branch target inside Label: taken when 8C54. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C54: + lda Zp38 ; CPU:$8C54 PRG:0C54 A5 38 + ora Zp39 ; CPU:$8C56 PRG:0C56 05 39 + bne NmiHandler_Loop80 ; CPU:$8C58 PRG:0C58 D0 D9 + ldx Zp55 ; CPU:$8C5A PRG:0C5A A6 55 + inc Zp58,x ; CPU:$8C5C PRG:0C5C F6 58 + lda Zp58,x ; CPU:$8C5E PRG:0C5E B5 58 + cmp #$05 ; CPU:$8C60 PRG:0C60 C9 05 + bcc NmiHandler_Loop83 ; CPU:$8C62 PRG:0C62 90 0F + lda #$00 ; CPU:$8C64 PRG:0C64 A9 00 + sta Zp58,x ; CPU:$8C66 PRG:0C66 95 58 + sta Zp35 ; CPU:$8C68 PRG:0C68 85 35 + inc Zp56,x ; CPU:$8C6A PRG:0C6A F6 56 + lda #$06 ; CPU:$8C6C PRG:0C6C A9 06 + sta Zp51 ; CPU:$8C6E PRG:0C6E 85 51 + jmp Sub_88DA ; CPU:$8C70 PRG:0C70 4C DA 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + cmp #$02 ; CPU:$8C73 PRG:0C73 C9 02 + beq NmiHandler_Loop84 ; CPU:$8C75 PRG:0C75 F0 07 + cmp #$04 ; CPU:$8C77 PRG:0C77 C9 04 + beq NmiHandler_Loop84 ; CPU:$8C79 PRG:0C79 F0 03 + jmp NmiHandler_Loop41 ; CPU:$8C7B PRG:0C7B 4C D2 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + lda #$05 ; CPU:$8C7E PRG:0C7E A9 05 + jmp Sub_88D4 ; CPU:$8C80 PRG:0C80 4C D4 88 +; ----------------------------------------------------------------------------- +; Routine: Label_8C83 +; Global: Branch target inside Label: taken when 8C83. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C83: + lda Zp38 ; CPU:$8C83 PRG:0C83 A5 38 + bne NmiHandler_Loop80 ; CPU:$8C85 PRG:0C85 D0 AC + sta PlayerIndex ; CPU:$8C87 PRG:0C87 85 69 + lda #$01 ; CPU:$8C89 PRG:0C89 A9 01 + sta Zp68 ; CPU:$8C8B PRG:0C8B 85 68 + jsr Sub_A8FF ; CPU:$8C8D PRG:0C8D 20 FF A8 + lda #$01 ; CPU:$8C90 PRG:0C90 A9 01 + sta PlayerY ; CPU:$8C92 PRG:0C92 85 B7 + lsr a ; CPU:$8C94 PRG:0C94 4A + sta EnemyHealth ; CPU:$8C95 PRG:0C95 85 DF + lda #$50 ; CPU:$8C97 PRG:0C97 A9 50 + sta ZpCE ; CPU:$8C99 PRG:0C99 85 CE + lda #$8F ; CPU:$8C9B PRG:0C9B A9 8F + sta PlayerX ; CPU:$8C9D PRG:0C9D 85 B0 + jmp Sub_8BEC ; CPU:$8C9F PRG:0C9F 4C EC 8B +; ---- data $8CA2-$8DE6 (325 bytes) ---- +SpriteOamEntryTable: + .byte $5F, $F5, $02, $C0, $90, $09, $01, $64, $80, $09, $01, $6C, $78, $09, $01, $7C ; CPU:$8CA2 PRG:-335E 5F F5 02 C0 90 09 01 64 80 09 01 6C 78 09 01 7C .byte $80, $09, $01, $8C, $90, $09, $01, $94, $10, $04, $0C, $00, $08, $83, $7A, $76 ; CPU:$8CB2 PRG:0CB2 80 09 01 8C 90 09 01 94 10 04 0C 00 08 83 7A 76 .byte $78, $7E, $86, $90, $9A, $A4, $AC, $B4, $BA, $C0, $7C, $84, $8E, $98, $A0, $A6 ; CPU:$8CC2 PRG:0CC2 78 7E 86 90 9A A4 AC B4 BA C0 7C 84 8E 98 A0 A6 .byte $A8, $A4, $9E, $96, $8E, $85, $7C, $A5, $39, $D0, $22, $EE, $A0, $03, $AE, $A0 ; CPU:$8CD2 PRG:0CD2 A8 A4 9E 96 8E 85 7C A5 39 D0 22 EE A0 03 AE A0 @@ -773,11 +2765,88 @@ Sub_896A: .byte $A5, $10, $29, $FB, $8D, $00, $20, $A9, $21, $8D, $06, $20, $A9, $20, $8D, $06 ; CPU:$8DB2 PRG:0DB2 A5 10 29 FB 8D 00 20 A9 21 8D 06 20 A9 20 8D 06 .byte $20, $A2, $02, $A0, $20, $A9, $FC, $8D, $07, $20, $C8, $D0, $FA, $CA, $D0, $F7 ; CPU:$8DC2 PRG:0DC2 20 A2 02 A0 20 A9 FC 8D 07 20 C8 D0 FA CA D0 F7 .byte $8D, $07, $20, $C8, $C0, $C0, $90, $F8, $A9, $20, $85, $FB, $A9, $F8, $8D, $00 ; CPU:$8DD2 PRG:0DD2 8D 07 20 C8 C0 C0 90 F8 A9 20 85 FB A9 F8 8D 00 - .byte $02, $A9, $1A, $D0, $0A, $A9, $00, $85, $33, $A9, $1B, $85, $39, $A9, $21, $85 ; CPU:$8DE2 PRG:0DE2 02 A9 1A D0 0A A9 00 85 33 A9 1B 85 39 A9 21 85 - .byte $52, $60, $A9, $00, $85, $47, $85, $79, $4C, $13, $CD, $AC, $CD, $03, $AD, $39 ; CPU:$8DF2 PRG:0DF2 52 60 A9 00 85 47 85 79 4C 13 CD AC CD 03 AD 39 - .byte $05, $D0, $0C, $C8, $EE, $CD, $03, $B9, $EE, $81, $8D, $39, $05, $F0, $11, $B9 ; CPU:$8E02 PRG:0E02 05 D0 0C C8 EE CD 03 B9 EE 81 8D 39 05 F0 11 B9 - .byte $84, $81, $85, $6A, $29, $C0, $2D, $6B, $03, $8D, $6B, $03, $CE, $39, $05, $60 ; CPU:$8E12 PRG:0E12 84 81 85 6A 29 C0 2D 6B 03 8D 6B 03 CE 39 05 60 - .byte $4C, $6A, $89 ; CPU:$8E22 PRG:0E22 4C 6A 89 + .byte $02, $A9, $1A, $D0, $0A ; CPU:$8DE2 PRG:0DE2 02 A9 1A D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_8DE7 +; Global: Branch target inside Label: taken when 8DE7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DE7: + lda #$00 ; CPU:$8DE7 PRG:0DE7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8DE9 +; Global: Branch target inside Label: taken when 8DE9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DE9: + sta Zp33 ; CPU:$8DE9 PRG:0DE9 85 33 + lda #$1B ; CPU:$8DEB PRG:0DEB A9 1B + sta Zp39 ; CPU:$8DED PRG:0DED 85 39 + lda #$21 ; CPU:$8DEF PRG:0DEF A9 21 + sta Zp52 ; CPU:$8DF1 PRG:0DF1 85 52 + rts ; CPU:$8DF3 PRG:0DF3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8DF4 +; Global: Branch target inside Sub: taken when 8DF4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8DF4: + lda #$00 ; CPU:$8DF4 PRG:0DF4 A9 00 + sta Zp47 ; CPU:$8DF6 PRG:0DF6 85 47 + sta Zp79 ; CPU:$8DF8 PRG:0DF8 85 79 + jmp Sub_CD13 ; CPU:$8DFA PRG:0DFA 4C 13 CD +; ----------------------------------------------------------------------------- +; Routine: Sub_8DFD +; Global: Branch target inside Sub: taken when 8DFD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8DFD: + ldy $03CD ; CPU:$8DFD PRG:0DFD AC CD 03 + lda $0539 ; CPU:$8E00 PRG:0E00 AD 39 05 + bne NmiHandler_Loop85 ; CPU:$8E03 PRG:0E03 D0 0C + iny ; CPU:$8E05 PRG:0E05 C8 + inc $03CD ; CPU:$8E06 PRG:0E06 EE CD 03 + lda $81EE,y ; CPU:$8E09 PRG:0E09 B9 EE 81 + sta $0539 ; CPU:$8E0C PRG:0E0C 8D 39 05 + beq NmiHandler_Loop86 ; CPU:$8E0F PRG:0E0F F0 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + lda $8184,y ; CPU:$8E11 PRG:0E11 B9 84 81 + sta Zp6A ; CPU:$8E14 PRG:0E14 85 6A + and #$C0 ; CPU:$8E16 PRG:0E16 29 C0 + and $036B ; CPU:$8E18 PRG:0E18 2D 6B 03 + sta $036B ; CPU:$8E1B PRG:0E1B 8D 6B 03 + dec $0539 ; CPU:$8E1E PRG:0E1E CE 39 05 + rts ; CPU:$8E21 PRG:0E21 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + jmp NmiHandler_Loop52 ; CPU:$8E22 PRG:0E22 4C 6A 89 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E25 ; Global: Branch target inside Sub: taken when 8E25. @@ -791,7 +2860,7 @@ Sub_8E25: lda #$00 ; CPU:$8E28 PRG:0E28 A9 00 sta PPUSCROLL ; CPU:$8E2A PRG:0E2A 8D 05 20 sta PPUSCROLL ; CPU:$8E2D PRG:0E2D 8D 05 20 - lda Zp10 ; CPU:$8E30 PRG:0E30 A5 10 + lda PpuCtrlShadow ; CPU:$8E30 PRG:0E30 A5 10 and #$F0 ; CPU:$8E32 PRG:0E32 29 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E34 @@ -803,29 +2872,362 @@ Sub_8E25: ; ----------------------------------------------------------------------------- Sub_8E34: sta PPUCTRL ; CPU:$8E34 PRG:0E34 8D 00 20 - sta Zp10 ; CPU:$8E37 PRG:0E37 85 10 + sta PpuCtrlShadow ; CPU:$8E37 PRG:0E37 85 10 rts ; CPU:$8E39 PRG:0E39 60 -; ---- data $8E3A-$8F6B (306 bytes) ---- - .byte $AD, $02, $20, $29, $40, $F0, $F9, $EA, $EA, $EA, $20, $9D, $8E, $20, $FD, $D5 ; CPU:$8E3A PRG:0E3A AD 02 20 29 40 F0 F9 EA EA EA 20 9D 8E 20 FD D5 - .byte $20, $EC, $B9, $20, $21, $BA, $A2, $22, $20, $D5, $8E, $A5, $71, $F0, $0F, $20 ; CPU:$8E4A PRG:0E4A 20 EC B9 20 21 BA A2 22 20 D5 8E A5 71 F0 0F 20 - .byte $25, $8E, $A2, $28, $20, $D5, $8E, $20, $B3, $8E, $A2, $42, $D0, $32, $20, $B3 ; CPU:$8E5A PRG:0E5A 25 8E A2 28 20 D5 8E 20 B3 8E A2 42 D0 32 20 B3 - .byte $8E, $20, $1E, $8A, $20, $B2, $CB, $20, $80, $C7, $AD, $8F, $03, $D0, $1F, $A5 ; CPU:$8E6A PRG:0E6A 8E 20 1E 8A 20 B2 CB 20 80 C7 AD 8F 03 D0 1F A5 - .byte $70, $49, $01, $85, $70, $F0, $0D, $20, $0D, $CC, $20, $3F, $CC, $20, $DD, $CB ; CPU:$8E7A PRG:0E7A 70 49 01 85 70 F0 0D 20 0D CC 20 3F CC 20 DD CB - .byte $A2, $0E, $D0, $0C, $20, $79, $CC, $20, $13, $CD, $A2, $10, $D0, $02, $A2, $12 ; CPU:$8E8A PRG:0E8A A2 0E D0 0C 20 79 CC 20 13 CD A2 10 D0 02 A2 12 - .byte $20, $D5, $8E, $AD, $02, $20, $A5, $12, $8D, $05, $20, $A9, $00, $8D, $05, $20 ; CPU:$8E9A PRG:0E9A 20 D5 8E AD 02 20 A5 12 8D 05 20 A9 00 8D 05 20 - .byte $A5, $61, $29, $01, $05, $63, $4C, $C7, $8E, $AD, $02, $20, $A5, $64, $8D, $05 ; CPU:$8EAA PRG:0EAA A5 61 29 01 05 63 4C C7 8E AD 02 20 A5 64 8D 05 - .byte $20, $A9, $00, $8D, $05, $20, $A5, $62, $29, $01, $4C, $C7, $8E, $85, $00, $A5 ; CPU:$8EBA PRG:0EBA 20 A9 00 8D 05 20 A5 62 29 01 4C C7 8E 85 00 A5 - .byte $10, $29, $F8, $05, $00, $8D, $00, $20, $85, $10, $60, $A0, $10, $88, $D0, $FD ; CPU:$8ECA PRG:0ECA 10 29 F8 05 00 8D 00 20 85 10 60 A0 10 88 D0 FD - .byte $CA, $D0, $F8, $60, $A0, $06, $A9, $FF, $99, $5F, $03, $88, $D0, $FA, $B1, $03 ; CPU:$8EDA PRG:0EDA CA D0 F8 60 A0 06 A9 FF 99 5F 03 88 D0 FA B1 03 - .byte $85, $07, $A6, $01, $A5, $05, $29, $40, $D0, $16, $A5, $00, $E0, $01, $D0, $03 ; CPU:$8EEA PRG:0EEA 85 07 A6 01 A5 05 29 40 D0 16 A5 00 E0 01 D0 03 - .byte $99, $60, $03, $18, $69, $08, $90, $01, $E8, $C8, $C4, $07, $D0, $EE, $F0, $14 ; CPU:$8EFA PRG:0EFA 99 60 03 18 69 08 90 01 E8 C8 C4 07 D0 EE F0 14 - .byte $A4, $07, $A5, $00, $E0, $01, $D0, $03, $99, $5F, $03, $18, $69, $08, $90, $01 ; CPU:$8F0A PRG:0F0A A4 07 A5 00 E0 01 D0 03 99 5F 03 18 69 08 90 01 - .byte $E8, $88, $D0, $F0, $A0, $01, $B1, $03, $85, $07, $C8, $B1, $03, $85, $08, $A6 ; CPU:$8F1A PRG:0F1A E8 88 D0 F0 A0 01 B1 03 85 07 C8 B1 03 85 08 A6 - .byte $08, $BD, $60, $03, $C9, $FF, $F0, $33, $85, $00, $C8, $B1, $03, $85, $0A, $C8 ; CPU:$8F2A PRG:0F2A 08 BD 60 03 C9 FF F0 33 85 00 C8 B1 03 85 0A C8 - .byte $B1, $03, $18, $65, $02, $A6, $06, $85, $01, $9D, $00, $06, $C8, $B1, $03, $9D ; CPU:$8F3A PRG:0F3A B1 03 18 65 02 A6 06 85 01 9D 00 06 C8 B1 03 9D - .byte $01, $06, $A5, $00, $9D, $03, $06, $A5, $05, $9D, $02, $06, $E8, $E8, $E8, $E8 ; CPU:$8F4A PRG:0F4A 01 06 A5 00 9D 03 06 A5 05 9D 02 06 E8 E8 E8 E8 - .byte $A9, $08, $18, $65, $01, $C6, $0A, $D0, $DE, $86, $06, $E6, $08, $C6, $07, $D0 ; CPU:$8F5A PRG:0F5A A9 08 18 65 01 C6 0A D0 DE 86 06 E6 08 C6 07 D0 - .byte $BE, $60 ; CPU:$8F6A PRG:0F6A BE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero2 +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero2: + lda PPUSTATUS ; CPU:$8E3A PRG:0E3A AD 02 20 + and #$40 ; CPU:$8E3D PRG:0E3D 29 40 + beq NmiHandler_OnZero2 ; CPU:$8E3F PRG:0E3F F0 F9 + nop ; CPU:$8E41 PRG:0E41 EA + nop ; CPU:$8E42 PRG:0E42 EA + nop ; CPU:$8E43 PRG:0E43 EA + jsr Sub_8E9D ; CPU:$8E44 PRG:0E44 20 9D 8E + jsr Sub_D5FD ; CPU:$8E47 PRG:0E47 20 FD D5 + jsr Sub_B9EC ; CPU:$8E4A PRG:0E4A 20 EC B9 + jsr Sub_BA21 ; CPU:$8E4D PRG:0E4D 20 21 BA + ldx #$22 ; CPU:$8E50 PRG:0E50 A2 22 + jsr NmiHandler_OnNonzero14 ; CPU:$8E52 PRG:0E52 20 D5 8E + lda Zp71 ; CPU:$8E55 PRG:0E55 A5 71 + beq NmiHandler_Loop87 ; CPU:$8E57 PRG:0E57 F0 0F + jsr Sub_8E25 ; CPU:$8E59 PRG:0E59 20 25 8E + ldx #$28 ; CPU:$8E5C PRG:0E5C A2 28 + jsr NmiHandler_OnNonzero14 ; CPU:$8E5E PRG:0E5E 20 D5 8E + jsr Sub_8EB3 ; CPU:$8E61 PRG:0E61 20 B3 8E + ldx #$42 ; CPU:$8E64 PRG:0E64 A2 42 + bne NmiHandler_Loop90 ; CPU:$8E66 PRG:0E66 D0 32 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + jsr Sub_8EB3 ; CPU:$8E68 PRG:0E68 20 B3 8E + jsr Sub_8A1E ; CPU:$8E6B PRG:0E6B 20 1E 8A + jsr Sub_CBB2 ; CPU:$8E6E PRG:0E6E 20 B2 CB + jsr Sub_C780 ; CPU:$8E71 PRG:0E71 20 80 C7 + lda $038F ; CPU:$8E74 PRG:0E74 AD 8F 03 + bne NmiHandler_Loop89 ; CPU:$8E77 PRG:0E77 D0 1F + lda Zp70 ; CPU:$8E79 PRG:0E79 A5 70 + eor #$01 ; CPU:$8E7B PRG:0E7B 49 01 + sta Zp70 ; CPU:$8E7D PRG:0E7D 85 70 + beq NmiHandler_Loop88 ; CPU:$8E7F PRG:0E7F F0 0D + jsr Sub_CC0D ; CPU:$8E81 PRG:0E81 20 0D CC + jsr Sub_CC3F ; CPU:$8E84 PRG:0E84 20 3F CC + jsr Sub_CBDD ; CPU:$8E87 PRG:0E87 20 DD CB + ldx #$0E ; CPU:$8E8A PRG:0E8A A2 0E + bne NmiHandler_Loop90 ; CPU:$8E8C PRG:0E8C D0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + jsr Sub_CC79 ; CPU:$8E8E PRG:0E8E 20 79 CC + jsr Sub_CD13 ; CPU:$8E91 PRG:0E91 20 13 CD + ldx #$10 ; CPU:$8E94 PRG:0E94 A2 10 + bne NmiHandler_Loop90 ; CPU:$8E96 PRG:0E96 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + ldx #$12 ; CPU:$8E98 PRG:0E98 A2 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop90: + jsr NmiHandler_OnNonzero14 ; CPU:$8E9A PRG:0E9A 20 D5 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_8E9D +; Global: Branch target inside Sub: taken when 8E9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E9D: + lda PPUSTATUS ; CPU:$8E9D PRG:0E9D AD 02 20 + lda Zp12 ; CPU:$8EA0 PRG:0EA0 A5 12 + sta PPUSCROLL ; CPU:$8EA2 PRG:0EA2 8D 05 20 + lda #$00 ; CPU:$8EA5 PRG:0EA5 A9 00 + sta PPUSCROLL ; CPU:$8EA7 PRG:0EA7 8D 05 20 + lda Zp61 ; CPU:$8EAA PRG:0EAA A5 61 + and #$01 ; CPU:$8EAC PRG:0EAC 29 01 + ora Zp63 ; CPU:$8EAE PRG:0EAE 05 63 + jmp Sub_8EC7 ; CPU:$8EB0 PRG:0EB0 4C C7 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_8EB3 +; Global: Branch target inside Sub: taken when 8EB3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8EB3: + lda PPUSTATUS ; CPU:$8EB3 PRG:0EB3 AD 02 20 + lda Zp64 ; CPU:$8EB6 PRG:0EB6 A5 64 + sta PPUSCROLL ; CPU:$8EB8 PRG:0EB8 8D 05 20 + lda #$00 ; CPU:$8EBB PRG:0EBB A9 00 + sta PPUSCROLL ; CPU:$8EBD PRG:0EBD 8D 05 20 + lda Zp62 ; CPU:$8EC0 PRG:0EC0 A5 62 + and #$01 ; CPU:$8EC2 PRG:0EC2 29 01 + jmp Sub_8EC7 ; CPU:$8EC4 PRG:0EC4 4C C7 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_8EC7 +; Global: Branch target inside Sub: taken when 8EC7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8EC7: + sta VramWritePtrLo ; CPU:$8EC7 PRG:0EC7 85 00 + lda PpuCtrlShadow ; CPU:$8EC9 PRG:0EC9 A5 10 + and #$F8 ; CPU:$8ECB PRG:0ECB 29 F8 + ora VramWritePtrLo ; CPU:$8ECD PRG:0ECD 05 00 + sta PPUCTRL ; CPU:$8ECF PRG:0ECF 8D 00 20 + sta PpuCtrlShadow ; CPU:$8ED2 PRG:0ED2 85 10 + rts ; CPU:$8ED4 PRG:0ED4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero14: + ldy #$10 ; CPU:$8ED5 PRG:0ED5 A0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero15: + dey ; CPU:$8ED7 PRG:0ED7 88 + bne NmiHandler_OnNonzero15 ; CPU:$8ED8 PRG:0ED8 D0 FD + dex ; CPU:$8EDA PRG:0EDA CA + bne NmiHandler_OnNonzero14 ; CPU:$8EDB PRG:0EDB D0 F8 + rts ; CPU:$8EDD PRG:0EDD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8EDE +; Global: Branch target inside Sub: taken when 8EDE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8EDE: + ldy #$06 ; CPU:$8EDE PRG:0EDE A0 06 + lda #$FF ; CPU:$8EE0 PRG:0EE0 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero16: + sta $035F,y ; CPU:$8EE2 PRG:0EE2 99 5F 03 + dey ; CPU:$8EE5 PRG:0EE5 88 + bne NmiHandler_OnNonzero16 ; CPU:$8EE6 PRG:0EE6 D0 FA + lda (DispatchPtrHi),y ; CPU:$8EE8 PRG:0EE8 B1 03 + sta Zp07 ; CPU:$8EEA PRG:0EEA 85 07 + ldx VramWritePtrHi ; CPU:$8EEC PRG:0EEC A6 01 + lda Zp05 ; CPU:$8EEE PRG:0EEE A5 05 + and #$40 ; CPU:$8EF0 PRG:0EF0 29 40 + bne NmiHandler_Loop93 ; CPU:$8EF2 PRG:0EF2 D0 16 + lda VramWritePtrLo ; CPU:$8EF4 PRG:0EF4 A5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero17: + cpx #$01 ; CPU:$8EF6 PRG:0EF6 E0 01 + bne NmiHandler_Loop91 ; CPU:$8EF8 PRG:0EF8 D0 03 + sta $0360,y ; CPU:$8EFA PRG:0EFA 99 60 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop91: + clc ; CPU:$8EFD PRG:0EFD 18 + adc #$08 ; CPU:$8EFE PRG:0EFE 69 08 + bcc NmiHandler_Loop92 ; CPU:$8F00 PRG:0F00 90 01 + inx ; CPU:$8F02 PRG:0F02 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop92: + iny ; CPU:$8F03 PRG:0F03 C8 + cpy Zp07 ; CPU:$8F04 PRG:0F04 C4 07 + bne NmiHandler_OnNonzero17 ; CPU:$8F06 PRG:0F06 D0 EE + beq NmiHandler_Loop96 ; CPU:$8F08 PRG:0F08 F0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop93: + ldy Zp07 ; CPU:$8F0A PRG:0F0A A4 07 + lda VramWritePtrLo ; CPU:$8F0C PRG:0F0C A5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero18: + cpx #$01 ; CPU:$8F0E PRG:0F0E E0 01 + bne NmiHandler_Loop94 ; CPU:$8F10 PRG:0F10 D0 03 + sta $035F,y ; CPU:$8F12 PRG:0F12 99 5F 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop94: + clc ; CPU:$8F15 PRG:0F15 18 + adc #$08 ; CPU:$8F16 PRG:0F16 69 08 + bcc NmiHandler_Loop95 ; CPU:$8F18 PRG:0F18 90 01 + inx ; CPU:$8F1A PRG:0F1A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop95: + dey ; CPU:$8F1B PRG:0F1B 88 + bne NmiHandler_OnNonzero18 ; CPU:$8F1C PRG:0F1C D0 F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop96: + ldy #$01 ; CPU:$8F1E PRG:0F1E A0 01 + lda (DispatchPtrHi),y ; CPU:$8F20 PRG:0F20 B1 03 + sta Zp07 ; CPU:$8F22 PRG:0F22 85 07 + iny ; CPU:$8F24 PRG:0F24 C8 + lda (DispatchPtrHi),y ; CPU:$8F25 PRG:0F25 B1 03 + sta Zp08 ; CPU:$8F27 PRG:0F27 85 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero19: + ldx Zp08 ; CPU:$8F29 PRG:0F29 A6 08 + lda $0360,x ; CPU:$8F2B PRG:0F2B BD 60 03 + cmp #$FF ; CPU:$8F2E PRG:0F2E C9 FF + beq NmiHandler_Loop97 ; CPU:$8F30 PRG:0F30 F0 33 + sta VramWritePtrLo ; CPU:$8F32 PRG:0F32 85 00 + iny ; CPU:$8F34 PRG:0F34 C8 + lda (DispatchPtrHi),y ; CPU:$8F35 PRG:0F35 B1 03 + sta Zp0A ; CPU:$8F37 PRG:0F37 85 0A + iny ; CPU:$8F39 PRG:0F39 C8 + lda (DispatchPtrHi),y ; CPU:$8F3A PRG:0F3A B1 03 + clc ; CPU:$8F3C PRG:0F3C 18 + adc DispatchPtrLo ; CPU:$8F3D PRG:0F3D 65 02 + ldx Zp06 ; CPU:$8F3F PRG:0F3F A6 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero20: + sta VramWritePtrHi ; CPU:$8F41 PRG:0F41 85 01 + sta $0600,x ; CPU:$8F43 PRG:0F43 9D 00 06 + iny ; CPU:$8F46 PRG:0F46 C8 + lda (DispatchPtrHi),y ; CPU:$8F47 PRG:0F47 B1 03 + sta $0601,x ; CPU:$8F49 PRG:0F49 9D 01 06 + lda VramWritePtrLo ; CPU:$8F4C PRG:0F4C A5 00 + sta $0603,x ; CPU:$8F4E PRG:0F4E 9D 03 06 + lda Zp05 ; CPU:$8F51 PRG:0F51 A5 05 + sta $0602,x ; CPU:$8F53 PRG:0F53 9D 02 06 + inx ; CPU:$8F56 PRG:0F56 E8 + inx ; CPU:$8F57 PRG:0F57 E8 + inx ; CPU:$8F58 PRG:0F58 E8 + inx ; CPU:$8F59 PRG:0F59 E8 + lda #$08 ; CPU:$8F5A PRG:0F5A A9 08 + clc ; CPU:$8F5C PRG:0F5C 18 + adc VramWritePtrHi ; CPU:$8F5D PRG:0F5D 65 01 + dec Zp0A ; CPU:$8F5F PRG:0F5F C6 0A + bne NmiHandler_OnNonzero20 ; CPU:$8F61 PRG:0F61 D0 DE + stx Zp06 ; CPU:$8F63 PRG:0F63 86 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop97: + inc Zp08 ; CPU:$8F65 PRG:0F65 E6 08 + dec Zp07 ; CPU:$8F67 PRG:0F67 C6 07 + bne NmiHandler_OnNonzero19 ; CPU:$8F69 PRG:0F69 D0 BE + rts ; CPU:$8F6B PRG:0F6B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F6C ; Global: Branch target inside Sub: taken when 8F6C. @@ -850,12 +3252,12 @@ Sub_8F6C: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F7B: - sta Zp00 ; CPU:$8F7B PRG:0F7B 85 00 + sta VramWritePtrLo ; CPU:$8F7B PRG:0F7B 85 00 lda PPUSTATUS ; CPU:$8F7D PRG:0F7D AD 02 20 - lda Zp10 ; CPU:$8F80 PRG:0F80 A5 10 + lda PpuCtrlShadow ; CPU:$8F80 PRG:0F80 A5 10 and #$FB ; CPU:$8F82 PRG:0F82 29 FB sta PPUCTRL ; CPU:$8F84 PRG:0F84 8D 00 20 - lda Zp00 ; CPU:$8F87 PRG:0F87 A5 00 + lda VramWritePtrLo ; CPU:$8F87 PRG:0F87 A5 00 sta PPUADDR ; CPU:$8F89 PRG:0F89 8D 06 20 lda #$00 ; CPU:$8F8C PRG:0F8C A9 00 sta PPUADDR ; CPU:$8F8E PRG:0F8E 8D 06 20 @@ -863,20 +3265,20 @@ Sub_8F7B: ldy #$00 ; CPU:$8F93 PRG:0F93 A0 00 lda #$FC ; CPU:$8F95 PRG:0F95 A9 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: +NmiHandler_OnNonzero21: sta PPUDATA ; CPU:$8F97 PRG:0F97 8D 07 20 dey ; CPU:$8F9A PRG:0F9A 88 - bne NmiHandler_OnNonzero3 ; CPU:$8F9B PRG:0F9B D0 FA + bne NmiHandler_OnNonzero21 ; CPU:$8F9B PRG:0F9B D0 FA dex ; CPU:$8F9D PRG:0F9D CA - bne NmiHandler_OnNonzero3 ; CPU:$8F9E PRG:0F9E D0 F7 - lda Zp00 ; CPU:$8FA0 PRG:0FA0 A5 00 + bne NmiHandler_OnNonzero21 ; CPU:$8F9E PRG:0F9E D0 F7 + lda VramWritePtrLo ; CPU:$8FA0 PRG:0FA0 A5 00 clc ; CPU:$8FA2 PRG:0FA2 18 adc #$03 ; CPU:$8FA3 PRG:0FA3 69 03 sta PPUADDR ; CPU:$8FA5 PRG:0FA5 8D 06 20 @@ -885,17 +3287,17 @@ NmiHandler_OnNonzero3: ldy #$40 ; CPU:$8FAD PRG:0FAD A0 40 lda #$00 ; CPU:$8FAF PRG:0FAF A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: +NmiHandler_OnNonzero22: sta PPUDATA ; CPU:$8FB1 PRG:0FB1 8D 07 20 dey ; CPU:$8FB4 PRG:0FB4 88 - bne NmiHandler_OnNonzero4 ; CPU:$8FB5 PRG:0FB5 D0 FA + bne NmiHandler_OnNonzero22 ; CPU:$8FB5 PRG:0FB5 D0 FA rts ; CPU:$8FB7 PRG:0FB7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8FB8 @@ -921,17 +3323,17 @@ Sub_8FBE: lda #$F8 ; CPU:$8FBE PRG:0FBE A9 F8 ldy #$00 ; CPU:$8FC0 PRG:0FC0 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: +NmiHandler_OnNonzero23: sta $0200,y ; CPU:$8FC2 PRG:0FC2 99 00 02 dey ; CPU:$8FC5 PRG:0FC5 88 - bne NmiHandler_OnNonzero5 ; CPU:$8FC6 PRG:0FC6 D0 FA + bne NmiHandler_OnNonzero23 ; CPU:$8FC6 PRG:0FC6 D0 FA rts ; CPU:$8FC8 PRG:0FC8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8FC9 @@ -944,7 +3346,7 @@ NmiHandler_OnNonzero5: Sub_8FC9: lda #$10 ; CPU:$8FC9 PRG:0FC9 A9 10 sta PPUCTRL ; CPU:$8FCB PRG:0FCB 8D 00 20 - sta Zp10 ; CPU:$8FCE PRG:0FCE 85 10 + sta PpuCtrlShadow ; CPU:$8FCE PRG:0FCE 85 10 lda #$00 ; CPU:$8FD0 PRG:0FD0 A9 00 sta Zp12 ; CPU:$8FD2 PRG:0FD2 85 12 sta PPUSCROLL ; CPU:$8FD4 PRG:0FD4 8D 05 20 @@ -965,84 +3367,85 @@ Sub_8FDD: ldx #$00 ; CPU:$8FE2 PRG:0FE2 A2 00 lda #$00 ; CPU:$8FE4 PRG:0FE4 A9 00 sta JOY1 ; CPU:$8FE6 PRG:0FE6 8D 16 40 - sta Zp03 ; CPU:$8FE9 PRG:0FE9 85 03 + sta DispatchPtrHi ; CPU:$8FE9 PRG:0FE9 85 03 sta Zp04 ; CPU:$8FEB PRG:0FEB 85 04 - jsr NmiHandler_OnNonzero6 ; CPU:$8FED PRG:0FED 20 F1 8F + jsr NmiHandler_OnNonzero24 ; CPU:$8FED PRG:0FED 20 F1 8F inx ; CPU:$8FF0 PRG:0FF0 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: +NmiHandler_OnNonzero24: ldy #$08 ; CPU:$8FF1 PRG:0FF1 A0 08 - sta Zp02 ; CPU:$8FF3 PRG:0FF3 85 02 + sta DispatchPtrLo ; CPU:$8FF3 PRG:0FF3 85 02 lda #$01 ; CPU:$8FF5 PRG:0FF5 A9 01 sta JOY1 ; CPU:$8FF7 PRG:0FF7 8D 16 40 lda #$00 ; CPU:$8FFA PRG:0FFA A9 00 sta JOY1 ; CPU:$8FFC PRG:0FFC 8D 16 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero7: +NmiHandler_OnNonzero25: pha ; CPU:$8FFF PRG:0FFF 48 lda JOY1,x ; CPU:$9000 PRG:1000 BD 16 40 - sta Zp00 ; CPU:$9003 PRG:1003 85 00 + sta VramWritePtrLo ; CPU:$9003 PRG:1003 85 00 lsr a ; CPU:$9005 PRG:1005 4A - ora Zp00 ; CPU:$9006 PRG:1006 05 00 + ora VramWritePtrLo ; CPU:$9006 PRG:1006 05 00 lsr a ; CPU:$9008 PRG:1008 4A pla ; CPU:$9009 PRG:1009 68 rol a ; CPU:$900A PRG:100A 2A dey ; CPU:$900B PRG:100B 88 - bne NmiHandler_OnNonzero7 ; CPU:$900C PRG:100C D0 F1 - cmp Zp02 ; CPU:$900E PRG:100E C5 02 - bne NmiHandler_OnNonzero6 ; CPU:$9010 PRG:1010 D0 DF - inc Zp03,x ; CPU:$9012 PRG:1012 F6 03 - ldy Zp03,x ; CPU:$9014 PRG:1014 B4 03 + bne NmiHandler_OnNonzero25 ; CPU:$900C PRG:100C D0 F1 + cmp DispatchPtrLo ; CPU:$900E PRG:100E C5 02 + bne NmiHandler_OnNonzero24 ; CPU:$9010 PRG:1010 D0 DF + inc DispatchPtrHi,x ; CPU:$9012 PRG:1012 F6 03 + ldy DispatchPtrHi,x ; CPU:$9014 PRG:1014 B4 03 cpy #$02 ; CPU:$9016 PRG:1016 C0 02 - bcc NmiHandler_OnNonzero6 ; CPU:$9018 PRG:1018 90 D7 - stx Zp00 ; CPU:$901A PRG:101A 86 00 - asl Zp00 ; CPU:$901C PRG:101C 06 00 - ldx Zp00 ; CPU:$901E PRG:101E A6 00 + bcc NmiHandler_OnNonzero24 ; CPU:$9018 PRG:1018 90 D7 + stx VramWritePtrLo ; CPU:$901A PRG:101A 86 00 + asl VramWritePtrLo ; CPU:$901C PRG:101C 06 00 + ldx VramWritePtrLo ; CPU:$901E PRG:101E A6 00 ldy Zp14,x ; CPU:$9020 PRG:1020 B4 14 - sty Zp01 ; CPU:$9022 PRG:1022 84 01 - lsr Zp00 ; CPU:$9024 PRG:1024 46 00 - ldy Zp00 ; CPU:$9026 PRG:1026 A4 00 + sty VramWritePtrHi ; CPU:$9022 PRG:1022 84 01 + lsr VramWritePtrLo ; CPU:$9024 PRG:1024 46 00 + ldy VramWritePtrLo ; CPU:$9026 PRG:1026 A4 00 sta Zp14,x ; CPU:$9028 PRG:1028 95 14 sta Zp15,x ; CPU:$902A PRG:102A 95 15 lda $0537 ; CPU:$902C PRG:102C AD 37 05 - bne NmiHandler_Loop17 ; CPU:$902F PRG:102F D0 18 + bne NmiHandler_Loop98 ; CPU:$902F PRG:102F D0 18 lda Zp15,x ; CPU:$9031 PRG:1031 B5 15 and #$C0 ; CPU:$9033 PRG:1033 29 C0 and $036B,y ; CPU:$9035 PRG:1035 39 6B 03 sta $036B,y ; CPU:$9038 PRG:1038 99 6B 03 lda Zp14,x ; CPU:$903B PRG:103B B5 14 and #$FF ; CPU:$903D PRG:103D 29 FF - bpl NmiHandler_Loop17 ; CPU:$903F PRG:103F 10 08 - bit Zp01 ; CPU:$9041 PRG:1041 24 01 - bpl NmiHandler_Loop17 ; CPU:$9043 PRG:1043 10 04 + bpl NmiHandler_Loop98 ; CPU:$903F PRG:103F 10 08 + bit VramWritePtrHi ; CPU:$9041 PRG:1041 24 01 + bpl NmiHandler_Loop98 ; CPU:$9043 PRG:1043 10 04 and #$7F ; CPU:$9045 PRG:1045 29 7F sta Zp15,x ; CPU:$9047 PRG:1047 95 15 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop17 -; Global: Branch target inside NmiHandler: taken when Loop17. +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop17: +NmiHandler_Loop98: rts ; CPU:$9049 PRG:1049 60 -; ---- data $904A-$DAE9 (19104 bytes) ---- - .byte $22, $2F, $02, $FC, $FC, $22, $4F, $02, $44, $49, $22, $6F, $02, $45, $4A, $22 ; CPU:$904A PRG:104A 22 2F 02 FC FC 22 4F 02 44 49 22 6F 02 45 4A 22 +; ---- data $904A-$981F (2006 bytes) ---- +EnemyNameTextTable: + .byte $22, $2F, $02, $FC, $FC, $22, $4F, $02, $44, $49, $22, $6F, $02, $45, $4A, $22 ; CPU:$904A PRG:-2FB6 22 2F 02 FC FC 22 4F 02 44 49 22 6F 02 45 4A 22 .byte $8F, $02, $46, $4B, $22, $AF, $02, $47, $4C, $22, $CE, $04, $2A, $48, $39, $2A ; CPU:$905A PRG:105A 8F 02 46 4B 22 AF 02 47 4C 22 CE 04 2A 48 39 2A .byte $00, $22, $2F, $02, $FC, $FC, $22, $4F, $02, $99, $94, $22, $6F, $02, $9A, $95 ; CPU:$906A PRG:106A 00 22 2F 02 FC FC 22 4F 02 99 94 22 6F 02 9A 95 .byte $22, $8F, $02, $9B, $96, $22, $AF, $02, $9C, $97, $22, $CE, $04, $2A, $89, $98 ; CPU:$907A PRG:107A 22 8F 02 9B 96 22 AF 02 9C 97 22 CE 04 2A 89 98 @@ -1167,1186 +3570,14434 @@ NmiHandler_Loop17: .byte $80, $60, $FC, $23, $A0, $60, $FC, $23, $41, $02, $F2, $24, $23, $61, $02, $F3 ; CPU:$97EA PRG:17EA 80 60 FC 23 A0 60 FC 23 41 02 F2 24 23 61 02 F3 .byte $9D, $23, $49, $02, $F2, $24, $23, $69, $02, $F3, $9D, $23, $51, $02, $F2, $24 ; CPU:$97FA PRG:17FA 9D 23 49 02 F2 24 23 69 02 F3 9D 23 51 02 F2 24 .byte $23, $71, $02, $F3, $9D, $23, $59, $02, $F2, $24, $23, $79, $02, $F3, $9D, $27 ; CPU:$980A PRG:180A 23 71 02 F3 9D 23 59 02 F2 24 23 79 02 F3 9D 27 - .byte $40, $60, $F0, $27, $60, $60, $F1, $27, $80, $60, $FC, $27, $A0, $60, $FC, $27 ; CPU:$981A PRG:181A 40 60 F0 27 60 60 F1 27 80 60 FC 27 A0 60 FC 27 - .byte $41, $02, $F2, $24, $27, $61, $02, $F3, $9D, $27, $49, $02, $F2, $24, $27, $69 ; CPU:$982A PRG:182A 41 02 F2 24 27 61 02 F3 9D 27 49 02 F2 24 27 69 - .byte $02, $F3, $9D, $27, $51, $02, $F2, $24, $27, $71, $02, $F3, $9D, $27, $59, $02 ; CPU:$983A PRG:183A 02 F3 9D 27 51 02 F2 24 27 71 02 F3 9D 27 59 02 - .byte $F2, $24, $27, $79, $02, $F3, $9D, $21, $64, $03, $2D, $28, $2E, $21, $85, $01 ; CPU:$984A PRG:184A F2 24 27 79 02 F3 9D 21 64 03 2D 28 2E 21 85 01 - .byte $28, $21, $6C, $03, $2D, $28, $2E, $21, $8D, $01, $28, $21, $74, $03, $2D, $28 ; CPU:$985A PRG:185A 28 21 6C 03 2D 28 2E 21 8D 01 28 21 74 03 2D 28 - .byte $2E, $21, $95, $01, $28, $21, $7C, $03, $2D, $28, $2E, $21, $9D, $01, $28, $25 ; CPU:$986A PRG:186A 2E 21 95 01 28 21 7C 03 2D 28 2E 21 9D 01 28 25 - .byte $64, $03, $2D, $28, $2E, $25, $85, $01, $28, $25, $6C, $03, $2D, $28, $2E, $25 ; CPU:$987A PRG:187A 64 03 2D 28 2E 25 85 01 28 25 6C 03 2D 28 2E 25 - .byte $8D, $01, $28, $25, $74, $03, $2D, $28, $2E, $25, $95, $01, $28, $25, $7C, $03 ; CPU:$988A PRG:188A 8D 01 28 25 74 03 2D 28 2E 25 95 01 28 25 7C 03 - .byte $2D, $28, $2E, $25, $9D, $01, $28, $21, $60, $03, $EC, $E0, $EE, $21, $80, $03 ; CPU:$989A PRG:189A 2D 28 2E 25 9D 01 28 21 60 03 EC E0 EE 21 80 03 - .byte $ED, $E1, $EF, $25, $60, $03, $EC, $E2, $EE, $25, $80, $03, $ED, $E3, $EF, $00 ; CPU:$98AA PRG:18AA ED E1 EF 25 60 03 EC E2 EE 25 80 03 ED E3 EF 00 - .byte $21, $61, $03, $2D, $28, $2E, $21, $82, $01, $28, $21, $69, $03, $2D, $28, $2E ; CPU:$98BA PRG:18BA 21 61 03 2D 28 2E 21 82 01 28 21 69 03 2D 28 2E - .byte $21, $8A, $01, $28, $21, $71, $03, $2D, $28, $2E, $21, $92, $01, $28, $21, $79 ; CPU:$98CA PRG:18CA 21 8A 01 28 21 71 03 2D 28 2E 21 92 01 28 21 79 - .byte $03, $2D, $28, $2E, $21, $9A, $01, $28, $25, $61, $03, $2D, $28, $2E, $25, $82 ; CPU:$98DA PRG:18DA 03 2D 28 2E 21 9A 01 28 25 61 03 2D 28 2E 25 82 - .byte $01, $28, $25, $69, $03, $2D, $28, $2E, $25, $8A, $01, $28, $25, $71, $03, $2D ; CPU:$98EA PRG:18EA 01 28 25 69 03 2D 28 2E 25 8A 01 28 25 71 03 2D - .byte $28, $2E, $25, $92, $01, $28, $25, $79, $03, $2D, $28, $2E, $25, $9A, $01, $28 ; CPU:$98FA PRG:18FA 28 2E 25 92 01 28 25 79 03 2D 28 2E 25 9A 01 28 - .byte $21, $7D, $03, $EC, $E0, $EE, $21, $9D, $03, $ED, $E1, $EF, $25, $7D, $03, $EC ; CPU:$990A PRG:190A 21 7D 03 EC E0 EE 21 9D 03 ED E1 EF 25 7D 03 EC - .byte $E2, $EE, $25, $9D, $03, $ED, $E3, $EF, $00, $21, $C1, $03, $F9, $2A, $2A, $21 ; CPU:$991A PRG:191A E2 EE 25 9D 03 ED E3 EF 00 21 C1 03 F9 2A 2A 21 - .byte $E2, $03, $F9, $2A, $2A, $22, $03, $03, $F9, $2A, $2A, $22, $24, $03, $F9, $2A ; CPU:$992A PRG:192A E2 03 F9 2A 2A 22 03 03 F9 2A 2A 22 24 03 F9 2A - .byte $2A, $22, $45, $03, $F9, $2A, $2A, $22, $66, $03, $F9, $2A, $2A, $22, $87, $03 ; CPU:$993A PRG:193A 2A 22 45 03 F9 2A 2A 22 66 03 F9 2A 2A 22 87 03 - .byte $F9, $2A, $2A, $22, $A8, $03, $F9, $2A, $2A, $22, $C9, $01, $F9, $00, $21, $DC ; CPU:$994A PRG:194A F9 2A 2A 22 A8 03 F9 2A 2A 22 C9 01 F9 00 21 DC - .byte $03, $2A, $2A, $FB, $21, $FB, $03, $2A, $2A, $FB, $22, $1A, $03, $2A, $2A, $FB ; CPU:$995A PRG:195A 03 2A 2A FB 21 FB 03 2A 2A FB 22 1A 03 2A 2A FB - .byte $22, $39, $03, $2A, $2A, $FB, $22, $58, $03, $2A, $2A, $FB, $22, $77, $03, $2A ; CPU:$996A PRG:196A 22 39 03 2A 2A FB 22 58 03 2A 2A FB 22 77 03 2A - .byte $2A, $FB, $22, $96, $03, $2A, $2A, $FB, $22, $B5, $03, $2A, $2A, $FB, $22, $D6 ; CPU:$997A PRG:197A 2A FB 22 96 03 2A 2A FB 22 B5 03 2A 2A FB 22 D6 - .byte $01, $FB, $00, $22, $C0, $60, $2A, $22, $E0, $60, $2B, $23, $00, $60, $D1, $23 ; CPU:$998A PRG:198A 01 FB 00 22 C0 60 2A 22 E0 60 2B 23 00 60 D1 23 - .byte $20, $20, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E ; CPU:$999A PRG:199A 20 20 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E - .byte $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E ; CPU:$99AA PRG:19AA 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E - .byte $2D, $2E, $26, $C0, $60, $2A, $26, $E0, $60, $2B, $27, $00, $60, $D1, $27, $20 ; CPU:$99BA PRG:19BA 2D 2E 26 C0 60 2A 26 E0 60 2B 27 00 60 D1 27 20 - .byte $20, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D ; CPU:$99CA PRG:19CA 20 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D - .byte $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D ; CPU:$99DA PRG:19DA 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D - .byte $2E, $23, $40, $60, $4D, $23, $60, $60, $25, $23, $80, $60, $26, $23, $A0, $60 ; CPU:$99EA PRG:19EA 2E 23 40 60 4D 23 60 60 25 23 80 60 26 23 A0 60 - .byte $FF, $27, $40, $60, $4D, $27, $60, $60, $25, $27, $80, $60, $26, $27, $A0, $60 ; CPU:$99FA PRG:19FA FF 27 40 60 4D 27 60 60 25 27 80 60 26 27 A0 60 - .byte $FF, $00, $23, $C0, $60, $AA, $23, $E0, $50, $FF, $23, $F0, $48, $05, $27, $E0 ; CPU:$9A0A PRG:1A0A FF 00 23 C0 60 AA 23 E0 50 FF 23 F0 48 05 27 E0 - .byte $50, $FF, $27, $F0, $48, $05, $21, $FE, $42, $FF, $21, $CE, $42, $FF, $20, $C6 ; CPU:$9A1A PRG:1A1A 50 FF 27 F0 48 05 21 FE 42 FF 21 CE 42 FF 20 C6 - .byte $15, $1C, $0A, $1F, $0E, $FC, $1C, $22, $15, $1F, $12, $0A, $FC, $0F, $1B, $18 ; CPU:$9A2A PRG:1A2A 15 1C 0A 1F 0E FC 1C 22 15 1F 12 0A FC 0F 1B 18 - .byte $16, $FC, $16, $1B, $13, $F8, $21, $85, $07, $11, $0E, $15, $19, $FC, $16, $0E ; CPU:$9A3A PRG:1A3A 16 FC 16 1B 13 F8 21 85 07 11 0E 15 19 FC 16 0E - .byte $21, $C5, $06, $1D, $11, $18, $16, $0A, $1C, $00, $21, $D3, $06, $1C, $22, $15 ; CPU:$9A4A PRG:1A4A 21 C5 06 1D 11 18 16 0A 1C 00 21 D3 06 1C 22 15 - .byte $1F, $12, $0A, $00, $21, $85, $47, $FC, $21, $C5, $46, $FC, $00, $23, $D0, $50 ; CPU:$9A5A PRG:1A5A 1F 12 0A 00 21 85 47 FC 21 C5 46 FC 00 23 D0 50 - .byte $AA, $21, $48, $0F, $0C, $18, $17, $10, $1B, $0A, $1D, $1E, $15, $0A, $1D, $12 ; CPU:$9A6A PRG:1A6A AA 21 48 0F 0C 18 17 10 1B 0A 1D 1E 15 0A 1D 12 - .byte $18, $17, $1C, $21, $87, $11, $1D, $11, $18, $16, $0A, $1C, $FF, $0A, $17, $0D ; CPU:$9A7A PRG:1A7A 18 17 1C 21 87 11 1D 11 18 16 0A 1C FF 0A 17 0D - .byte $FF, $1C, $22, $15, $1F, $12, $0A, $22, $4F, $02, $3A, $3F, $22, $6F, $02, $3B ; CPU:$9A8A PRG:1A8A FF 1C 22 15 1F 12 0A 22 4F 02 3A 3F 22 6F 02 3B - .byte $40, $22, $8F, $02, $3C, $41, $22, $AF, $02, $3D, $42, $22, $CF, $02, $7F, $CF ; CPU:$9A9A PRG:1A9A 40 22 8F 02 3C 41 22 AF 02 3D 42 22 CF 02 7F CF - .byte $00, $21, $47, $13, $FA, $1E, $1D, $FF, $1D, $11, $0E, $12, $1B, $FF, $11, $0A ; CPU:$9AAA PRG:1AAA 00 21 47 13 FA 1E 1D FF 1D 11 0E 12 1B FF 11 0A - .byte $19, $19, $12, $17, $0E, $1C, $1C, $21, $85, $17, $0D, $18, $0E, $1C, $FF, $17 ; CPU:$9ABA PRG:1ABA 19 19 12 17 0E 1C 1C 21 85 17 0D 18 0E 1C FF 17 - .byte $18, $1D, $FF, $0C, $18, $17, $1D, $12, $17, $1E, $0E, $FF, $15, $18, $17, $10 ; CPU:$9ACA PRG:1ACA 18 1D FF 0C 18 17 1D 12 17 1E 0E FF 15 18 17 10 - .byte $13, $00, $22, $0B, $4B, $FF, $22, $2B, $0B, $FF, $1D, $12, $16, $0E, $FF, $18 ; CPU:$9ADA PRG:1ADA 13 00 22 0B 4B FF 22 2B 0B FF 1D 12 16 0E FF 18 - .byte $1F, $0E, $1B, $FF, $22, $4B, $4B, $FF, $00, $21, $E7, $12, $FF, $FC, $14, $19 ; CPU:$9AEA PRG:1AEA 1F 0E 1B FF 22 4B 4B FF 00 21 E7 12 FF FC 14 19 - .byte $15, $0A, $22, $0E, $1B, $FF, $FC, $14, $0F, $15, $18, $18, $1B, $FF, $00, $22 ; CPU:$9AFA PRG:1AFA 15 0A 22 0E 1B FF FC 14 0F 15 18 18 1B FF 00 22 - .byte $0C, $07, $FF, $1B, $0E, $0A, $0D, $22, $FF, $00, $21, $E4, $58, $FC, $22, $04 ; CPU:$9B0A PRG:1B0A 0C 07 FF 1B 0E 0A 0D 22 FF 00 21 E4 58 FC 22 04 - .byte $58, $FC, $00, $23, $9B, $2D, $9B, $33, $9B, $39, $9B, $4F, $9B, $55, $9B, $55 ; CPU:$9B1A PRG:1B1A 58 FC 00 23 9B 2D 9B 33 9B 39 9B 4F 9B 55 9B 55 - .byte $9B, $6D, $9B, $43, $9B, $49, $9B, $61, $9B, $3D, $9B, $4F, $9B, $63, $9B, $25 ; CPU:$9B2A PRG:1B2A 9B 6D 9B 43 9B 49 9B 61 9B 3D 9B 4F 9B 63 9B 25 - .byte $26, $27, $28, $29, $2A, $2F, $30, $29, $2A, $2B, $2C, $2D, $2E, $2B, $2C, $35 ; CPU:$9B3A PRG:1B3A 26 27 28 29 2A 2F 30 29 2A 2B 2C 2D 2E 2B 2C 35 - .byte $36, $33, $34, $35, $36, $31, $32, $37, $38, $31, $32, $39, $3A, $3D, $3E, $3F ; CPU:$9B4A PRG:1B4A 36 33 34 35 36 31 32 37 38 31 32 39 3A 3D 3E 3F - .byte $40, $41, $42, $45, $46, $43, $44, $41, $42, $3F, $40, $3D, $3E, $39, $3A, $47 ; CPU:$9B5A PRG:1B5A 40 41 42 45 46 43 44 41 42 3F 40 3D 3E 39 3A 47 - .byte $48, $49, $4A, $4B, $4C, $4D, $4E, $01, $02, $04, $08, $81, $A8, $81, $A8, $BD ; CPU:$9B6A PRG:1B6A 48 49 4A 4B 4C 4D 4E 01 02 04 08 81 A8 81 A8 BD - .byte $A8, $BD, $A8, $F0, $A8, $02, $00, $03, $00, $06, $00, $00, $00, $40, $00, $05 ; CPU:$9B7A PRG:1B7A A8 BD A8 F0 A8 02 00 03 00 06 00 00 00 40 00 05 - .byte $00, $00, $C0, $00, $00, $70, $90, $00, $01, $FF, $02, $FE, $01, $02, $02, $03 ; CPU:$9B8A PRG:1B8A 00 00 C0 00 00 70 90 00 01 FF 02 FE 01 02 02 03 - .byte $03, $0C, $03, $02, $02, $02, $02, $01, $05, $0C, $07, $02, $00, $05, $05, $04 ; CPU:$9B9A PRG:1B9A 03 0C 03 02 02 02 02 01 05 0C 07 02 00 05 05 04 - .byte $04, $03, $07, $06, $06, $05, $87, $84, $7C, $78, $74, $6C, $70, $74, $78, $7C ; CPU:$9BAA PRG:1BAA 04 03 07 06 06 05 87 84 7C 78 74 6C 70 74 78 7C - .byte $84, $08, $08, $08, $0A, $0D, $12, $0D, $12, $AE, $FE, $AD, $F9, $BD, $9F, $CF ; CPU:$9BBA PRG:1BBA 84 08 08 08 0A 0D 12 0D 12 AE FE AD F9 BD 9F CF - .byte $3B, $D0, $E5, $D0, $17, $D1, $F7, $D2, $3E, $D2, $3D, $AC, $91, $AE, $2E, $B0 ; CPU:$9BCA PRG:1BCA 3B D0 E5 D0 17 D1 F7 D2 3E D2 3D AC 91 AE 2E B0 - .byte $6A, $B0, $8A, $B1, $17, $B1, $A8, $B1, $EA, $B1, $0E, $B8, $0C, $9C, $20, $9C ; CPU:$9BDA PRG:1BDA 6A B0 8A B1 17 B1 A8 B1 EA B1 0E B8 0C 9C 20 9C - .byte $3A, $9C, $4A, $9C, $60, $9C, $6E, $9C, $84, $9C, $94, $9C, $C2, $9C, $CC, $9C ; CPU:$9BEA PRG:1BEA 3A 9C 4A 9C 60 9C 6E 9C 84 9C 94 9C C2 9C CC 9C - .byte $D8, $9C, $D8, $9C, $D8, $9C, $DA, $9C, $DC, $9C, $DE, $9C, $E0, $9C, $E4, $9C ; CPU:$9BFA PRG:1BFA D8 9C D8 9C D8 9C DA 9C DC 9C DE 9C E0 9C E4 9C - .byte $E8, $9C, $ED, $9F, $FC, $9F, $0B, $A0, $1A, $A0, $29, $A0, $29, $A0, $38, $A0 ; CPU:$9C0A PRG:1C0A E8 9C ED 9F FC 9F 0B A0 1A A0 29 A0 29 A0 38 A0 - .byte $3D, $A0, $4C, $A0, $0B, $A1, $51, $A0, $5D, $A0, $51, $A0, $5D, $A0, $65, $A0 ; CPU:$9C1A PRG:1C1A 3D A0 4C A0 0B A1 51 A0 5D A0 51 A0 5D A0 65 A0 - .byte $65, $A0, $65, $A0, $65, $A0, $65, $A0, $70, $A0, $7B, $A0, $86, $A0, $91, $A0 ; CPU:$9C2A PRG:1C2A 65 A0 65 A0 65 A0 65 A0 70 A0 7B A0 86 A0 91 A0 - .byte $9D, $A0, $AE, $A0, $AE, $A0, $BF, $A0, $D1, $A0, $E4, $A0, $F8, $A0, $0B, $A1 ; CPU:$9C3A PRG:1C3A 9D A0 AE A0 AE A0 BF A0 D1 A0 E4 A0 F8 A0 0B A1 - .byte $EC, $9C, $FD, $9C, $0E, $9D, $23, $9D, $0E, $9D, $0E, $9D, $3A, $9D, $51, $9D ; CPU:$9C4A PRG:1C4A EC 9C FD 9C 0E 9D 23 9D 0E 9D 0E 9D 3A 9D 51 9D - .byte $3A, $9D, $3A, $9D, $0B, $A1, $69, $9D, $7B, $9D, $69, $9D, $D1, $A0, $8D, $9D ; CPU:$9C5A PRG:1C5A 3A 9D 3A 9D 0B A1 69 9D 7B 9D 69 9D D1 A0 8D 9D - .byte $F8, $A0, $0B, $A1, $A1, $9D, $B3, $9D, $C5, $9D, $D7, $9D, $C5, $9D, $C5, $9D ; CPU:$9C6A PRG:1C6A F8 A0 0B A1 A1 9D B3 9D C5 9D D7 9D C5 9D C5 9D - .byte $EF, $9D, $00, $9E, $EF, $9D, $EF, $9D, $18, $9E, $2D, $9E, $3D, $9E, $4E, $9E ; CPU:$9C7A PRG:1C7A EF 9D 00 9E EF 9D EF 9D 18 9E 2D 9E 3D 9E 4E 9E - .byte $5F, $9E, $71, $9E, $84, $9E, $91, $9E, $2D, $A1, $9E, $9E, $AF, $9E, $C0, $9E ; CPU:$9C8A PRG:1C8A 5F 9E 71 9E 84 9E 91 9E 2D A1 9E 9E AF 9E C0 9E - .byte $D4, $9E, $E8, $9E, $1E, $9F, $F9, $9E, $09, $9F, $F9, $9E, $1E, $9F, $1E, $9F ; CPU:$9C9A PRG:1C9A D4 9E E8 9E 1E 9F F9 9E 09 9F F9 9E 1E 9F 1E 9F - .byte $2F, $9F, $1E, $9F, $43, $9F, $68, $9F, $52, $9F, $68, $9F, $77, $9F, $77, $9F ; CPU:$9CAA PRG:1CAA 2F 9F 1E 9F 43 9F 68 9F 52 9F 68 9F 77 9F 77 9F - .byte $88, $9F, $77, $9F, $9B, $9F, $1C, $A1, $2D, $9E, $3D, $9E, $4E, $9E, $5F, $9E ; CPU:$9CBA PRG:1CBA 88 9F 77 9F 9B 9F 1C A1 2D 9E 3D 9E 4E 9E 5F 9E - .byte $71, $9E, $9E, $9E, $AF, $9E, $AB, $9F, $AB, $9F, $1C, $A1, $BB, $9F, $EC, $A1 ; CPU:$9CCA PRG:1CCA 71 9E 9E 9E AF 9E AB 9F AB 9F 1C A1 BB 9F EC A1 - .byte $EC, $A1, $EC, $A1, $FE, $A1, $FE, $A1, $08, $A2, $12, $A2, $18, $A2, $CB, $9F ; CPU:$9CDA PRG:1CDA EC A1 EC A1 FE A1 FE A1 08 A2 12 A2 18 A2 CB 9F - .byte $DA, $9F, $06, $02, $02, $05, $08, $60, $61, $EA, $13, $14, $05, $08, $15, $62 ; CPU:$9CEA PRG:1CEA DA 9F 06 02 02 05 08 60 61 EA 13 14 05 08 15 62 - .byte $17, $18, $19, $06, $02, $02, $05, $08, $60, $61, $EA, $1D, $1E, $05, $08, $15 ; CPU:$9CFA PRG:1CFA 17 18 19 06 02 02 05 08 60 61 EA 1D 1E 05 08 15 - .byte $62, $17, $22, $23, $06, $03, $02, $05, $08, $63, $3E, $3F, $1D, $1E, $06, $00 ; CPU:$9D0A PRG:1D0A 62 17 22 23 06 03 02 05 08 63 3E 3F 1D 1E 06 00 - .byte $66, $64, $65, $43, $22, $25, $01, $00, $67, $06, $04, $00, $02, $08, $6D, $6C ; CPU:$9D1A PRG:1D1A 66 64 65 43 22 25 01 00 67 06 04 00 02 08 6D 6C - .byte $01, $10, $68, $05, $08, $69, $6A, $47, $48, $71, $04, $10, $6B, $4A, $4B, $4C ; CPU:$9D2A PRG:1D2A 01 10 68 05 08 69 6A 47 48 71 04 10 6B 4A 4B 4C - .byte $06, $03, $02, $04, $10, $6E, $6F, $70, $71, $05, $08, $66, $72, $73, $74, $75 ; CPU:$9D3A PRG:1D3A 06 03 02 04 10 6E 6F 70 71 05 08 66 72 73 74 75 - .byte $05, $08, $67, $FC, $FC, $FC, $76, $06, $05, $00, $01, $18, $7C, $01, $18, $77 ; CPU:$9D4A PRG:1D4A 05 08 67 FC FC FC 76 06 05 00 01 18 7C 01 18 77 - .byte $04, $10, $78, $79, $70, $71, $04, $10, $7A, $7B, $74, $75, $01, $28, $76, $06 ; CPU:$9D5A PRG:1D5A 04 10 78 79 70 71 04 10 7A 7B 74 75 01 28 76 06 - .byte $02, $02, $05, $08, $3D, $3E, $3F, $13, $14, $06, $00, $55, $41, $42, $43, $18 ; CPU:$9D6A PRG:1D6A 02 02 05 08 3D 3E 3F 13 14 06 00 55 41 42 43 18 - .byte $19, $06, $02, $02, $05, $08, $3D, $3E, $3F, $1D, $1E, $06, $00, $55, $41, $42 ; CPU:$9D7A PRG:1D7A 19 06 02 02 05 08 3D 3E 3F 1D 1E 06 00 55 41 42 - .byte $43, $22, $25, $06, $03, $02, $05, $08, $3D, $3E, $3F, $1D, $1E, $05, $08, $4D ; CPU:$9D8A PRG:1D8A 43 22 25 06 03 02 05 08 3D 3E 3F 1D 1E 05 08 4D - .byte $4E, $4F, $22, $25, $01, $18, $56, $06, $02, $02, $06, $00, $7D, $7E, $7F, $80 ; CPU:$9D9A PRG:1D9A 4E 4F 22 25 01 18 56 06 02 02 06 00 7D 7E 7F 80 - .byte $81, $14, $05, $08, $82, $83, $84, $85, $19, $06, $02, $02, $06, $00, $7D, $7E ; CPU:$9DAA PRG:1DAA 81 14 05 08 82 83 84 85 19 06 02 02 06 00 7D 7E - .byte $7F, $80, $86, $1E, $05, $08, $82, $83, $84, $87, $23, $06, $02, $02, $06, $00 ; CPU:$9DBA PRG:1DBA 7F 80 86 1E 05 08 82 83 84 87 23 06 02 02 06 00 - .byte $7D, $7E, $88, $80, $81, $8A, $05, $08, $82, $89, $8B, $8C, $8D, $06, $04, $00 ; CPU:$9DCA PRG:1DCA 7D 7E 88 80 81 8A 05 08 82 89 8B 8C 8D 06 04 00 - .byte $01, $08, $8E, $01, $08, $8F, $06, $00, $90, $91, $92, $93, $81, $8A, $05, $08 ; CPU:$9DDA PRG:1DDA 01 08 8E 01 08 8F 06 00 90 91 92 93 81 8A 05 08 - .byte $94, $95, $96, $8C, $8D, $06, $02, $02, $05, $00, $7D, $7E, $88, $97, $98, $05 ; CPU:$9DEA PRG:1DEA 94 95 96 8C 8D 06 02 02 05 00 7D 7E 88 97 98 05 - .byte $08, $82, $89, $8B, $8C, $8D, $06, $04, $00, $01, $18, $99, $01, $18, $9A, $05 ; CPU:$9DFA PRG:1DFA 08 82 89 8B 8C 8D 06 04 00 01 18 99 01 18 9A 05 - .byte $00, $9B, $9C, $9D, $EB, $EC, $06, $00, $9E, $9F, $83, $84, $8C, $8D, $06, $03 ; CPU:$9E0A PRG:1E0A 00 9B 9C 9D EB EC 06 00 9E 9F 83 84 8C 8D 06 03 - .byte $01, $01, $18, $C8, $06, $00, $C7, $7E, $7F, $C9, $81, $14, $05, $00, $CA, $82 ; CPU:$9E1A PRG:1E1A 01 01 18 C8 06 00 C7 7E 7F C9 81 14 05 00 CA 82 - .byte $83, $84, $CB, $03, $03, $00, $01, $10, $A0, $04, $10, $A1, $A2, $A3, $A4, $02 ; CPU:$9E2A PRG:1E2A 83 84 CB 03 03 00 01 10 A0 04 10 A1 A2 A3 A4 02 - .byte $18, $ED, $EE, $03, $03, $00, $01, $10, $A0, $04, $10, $A1, $A2, $A3, $A5, $03 ; CPU:$9E3A PRG:1E3A 18 ED EE 03 03 00 01 10 A0 04 10 A1 A2 A3 A5 03 - .byte $18, $ED, $EE, $A6, $03, $03, $00, $02, $10, $A0, $A7, $04, $10, $A1, $A2, $A3 ; CPU:$9E4A PRG:1E4A 18 ED EE A6 03 03 00 02 10 A0 A7 04 10 A1 A2 A3 - .byte $A4, $02, $18, $ED, $EE, $03, $03, $00, $02, $10, $AB, $AC, $04, $10, $AD, $AE ; CPU:$9E5A PRG:1E5A A4 02 18 ED EE 03 03 00 02 10 AB AC 04 10 AD AE - .byte $A3, $A5, $03, $18, $AF, $EE, $A6, $03, $03, $00, $03, $10, $AB, $B0, $B1, $04 ; CPU:$9E6A PRG:1E6A A3 A5 03 18 AF EE A6 03 03 00 03 10 AB B0 B1 04 - .byte $10, $AD, $AE, $A3, $A5, $03, $18, $AF, $EE, $A6, $03, $02, $01, $04, $10, $A9 ; CPU:$9E7A PRG:1E7A 10 AD AE A3 A5 03 18 AF EE A6 03 02 01 04 10 A9 - .byte $A2, $A3, $A4, $02, $18, $ED, $EE, $03, $02, $01, $04, $10, $A8, $A2, $A3, $A4 ; CPU:$9E8A PRG:1E8A A2 A3 A4 02 18 ED EE 03 02 01 04 10 A8 A2 A3 A4 - .byte $02, $18, $ED, $EE, $06, $02, $02, $05, $08, $44, $45, $46, $47, $48, $05, $08 ; CPU:$9E9A PRG:1E9A 02 18 ED EE 06 02 02 05 08 44 45 46 47 48 05 08 - .byte $49, $4A, $4B, $4C, $39, $06, $02, $02, $05, $08, $3A, $3B, $3C, $3D, $3E, $05 ; CPU:$9EAA PRG:1EAA 49 4A 4B 4C 39 06 02 02 05 08 3A 3B 3C 3D 3E 05 - .byte $08, $3F, $40, $41, $42, $43, $06, $03, $01, $01, $10, $D4, $05, $08, $3A, $D5 ; CPU:$9EBA PRG:1EBA 08 3F 40 41 42 43 06 03 01 01 10 D4 05 08 3A D5 - .byte $D9, $33, $34, $05, $08, $3F, $FE, $37, $38, $39, $06, $03, $01, $01, $10, $D4 ; CPU:$9ECA PRG:1ECA D9 33 34 05 08 3F FE 37 38 39 06 03 01 01 10 D4 - .byte $05, $08, $3A, $D5, $D9, $33, $39, $05, $08, $3F, $FE, $37, $38, $34, $06, $02 ; CPU:$9EDA PRG:1EDA 05 08 3A D5 D9 33 39 05 08 3F FE 37 38 34 06 02 - .byte $02, $05, $08, $30, $D0, $32, $47, $48, $05, $08, $35, $36, $37, $4C, $39, $06 ; CPU:$9EEA PRG:1EEA 02 05 08 30 D0 32 47 48 05 08 35 36 37 4C 39 06 - .byte $02, $02, $04, $08, $30, $31, $5E, $73, $05, $08, $35, $36, $37, $38, $39, $06 ; CPU:$9EFA PRG:1EFA 02 02 04 08 30 31 5E 73 05 08 35 36 37 38 39 06 - .byte $04, $00, $01, $10, $4E, $02, $10, $4F, $50, $04, $10, $51, $52, $53, $54, $03 ; CPU:$9F0A PRG:1F0A 04 00 01 10 4E 02 10 4F 50 04 10 51 52 53 54 03 - .byte $08, $55, $56, $57, $06, $02, $02, $05, $08, $30, $31, $32, $33, $34, $05, $08 ; CPU:$9F1A PRG:1F1A 08 55 56 57 06 02 02 05 08 30 31 32 33 34 05 08 - .byte $35, $36, $37, $38, $39, $06, $03, $01, $01, $10, $58, $05, $08, $59, $5A, $5B ; CPU:$9F2A PRG:1F2A 35 36 37 38 39 06 03 01 01 10 58 05 08 59 5A 5B - .byte $33, $34, $05, $08, $5C, $5D, $DA, $38, $39, $06, $02, $02, $04, $10, $30, $31 ; CPU:$9F3A PRG:1F3A 33 34 05 08 5C 5D DA 38 39 06 02 02 04 10 30 31 - .byte $5E, $34, $04, $10, $35, $36, $37, $5F, $06, $04, $00, $01, $28, $60, $02, $20 ; CPU:$9F4A PRG:1F4A 5E 34 04 10 35 36 37 5F 06 04 00 01 28 60 02 20 - .byte $61, $62, $04, $10, $59, $63, $64, $65, $04, $10, $5C, $66, $67, $F6, $06, $02 ; CPU:$9F5A PRG:1F5A 61 62 04 10 59 63 64 65 04 10 5C 66 67 F6 06 02 - .byte $02, $04, $10, $59, $63, $64, $34, $04, $10, $5C, $66, $67, $F6, $06, $02, $02 ; CPU:$9F6A PRG:1F6A 02 04 10 59 63 64 34 04 10 5C 66 67 F6 06 02 02 - .byte $05, $08, $3A, $3B, $3C, $3D, $7F, $05, $08, $3F, $40, $41, $42, $CF, $06, $03 ; CPU:$9F7A PRG:1F7A 05 08 3A 3B 3C 3D 7F 05 08 3F 40 41 42 CF 06 03 - .byte $01, $02, $08, $74, $75, $02, $08, $76, $77, $06, $00, $55, $78, $79, $7A, $7B ; CPU:$9F8A PRG:1F8A 01 02 08 74 75 02 08 76 77 06 00 55 78 79 7A 7B - .byte $7C, $06, $02, $02, $05, $08, $7D, $7E, $46, $3D, $3E, $04, $10, $4A, $4B, $42 ; CPU:$9F9A PRG:1F9A 7C 06 02 02 05 08 7D 7E 46 3D 3E 04 10 4A 4B 42 - .byte $43, $06, $02, $02, $04, $08, $44, $45, $46, $1A, $05, $08, $49, $4A, $4B, $4C ; CPU:$9FAA PRG:1FAA 43 06 02 02 04 08 44 45 46 1A 05 08 49 4A 4B 4C - .byte $39, $06, $02, $02, $05, $08, $7D, $7E, $46, $3D, $7F, $04, $10, $4A, $4B, $42 ; CPU:$9FBA PRG:1FBA 39 06 02 02 05 08 7D 7E 46 3D 7F 04 10 4A 4B 42 - .byte $CF, $02, $02, $00, $04, $00, $CC, $CD, $CE, $CF, $04, $00, $D0, $D1, $D2, $D3 ; CPU:$9FCA PRG:1FCA CF 02 02 00 04 00 CC CD CE CF 04 00 D0 D1 D2 D3 - .byte $01, $01, $00, $05, $00, $D4, $D5, $D6, $D7, $D8, $00, $0F, $1E, $2D, $3C, $3C ; CPU:$9FDA PRG:1FDA 01 01 00 05 00 D4 D5 D6 D7 D8 00 0F 1E 2D 3C 3C - .byte $4B, $50, $5F, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $10, $11, $12 ; CPU:$9FEA PRG:1FEA 4B 50 5F 10 11 12 13 14 15 16 17 18 19 10 11 12 - .byte $13, $14, $10, $11, $12, $1D, $1E, $15, $16, $17, $22, $23, $10, $11, $12, $1D ; CPU:$9FFA PRG:1FFA 13 14 10 11 12 1D 1E 15 16 17 22 23 10 11 12 1D - .byte $1E, $1A, $1B, $1C, $13, $14, $1F, $20, $21, $18, $19, $1A, $1B, $1C, $13, $14 ; CPU:$A00A PRG:200A 1E 1A 1B 1C 13 14 1F 20 21 18 19 1A 1B 1C 13 14 - .byte $1A, $1B, $1C, $1D, $1E, $1F, $20, $21, $22, $23, $1A, $1B, $1C, $1D, $1E, $10 ; CPU:$A01A PRG:201A 1A 1B 1C 1D 1E 1F 20 21 22 23 1A 1B 1C 1D 1E 10 - .byte $11, $24, $1D, $1E, $15, $16, $43, $22, $25, $10, $11, $24, $1D, $1E, $10, $11 ; CPU:$A02A PRG:202A 11 24 1D 1E 15 16 43 22 25 10 11 24 1D 1E 10 11 - .byte $24, $1D, $1E, $10, $11, $24, $E8, $E9, $15, $16, $43, $22, $25, $10, $11, $24 ; CPU:$A03A PRG:203A 24 1D 1E 10 11 24 E8 E9 15 16 43 22 25 10 11 24 - .byte $E8, $E9, $10, $11, $24, $E8, $E9, $03, $02, $01, $03, $18, $26, $27, $28, $02 ; CPU:$A04A PRG:204A E8 E9 10 11 24 E8 E9 03 02 01 03 18 26 27 28 02 - .byte $20, $29, $2A, $03, $01, $01, $03, $18, $26, $2B, $2C, $03, $02, $00, $01, $20 ; CPU:$A05A PRG:205A 20 29 2A 03 01 01 03 18 26 2B 2C 03 02 00 01 20 - .byte $2D, $03, $18, $26, $2E, $2C, $03, $02, $01, $02, $18, $2F, $30, $02, $18, $31 ; CPU:$A06A PRG:206A 2D 03 18 26 2E 2C 03 02 01 02 18 2F 30 02 18 31 - .byte $32, $03, $02, $01, $02, $18, $33, $34, $02, $18, $35, $36, $03, $02, $01, $02 ; CPU:$A07A PRG:207A 32 03 02 01 02 18 33 34 02 18 35 36 03 02 01 02 - .byte $18, $37, $38, $02, $18, $39, $3A, $03, $02, $01, $03, $10, $C2, $C3, $C4, $02 ; CPU:$A08A PRG:208A 18 37 38 02 18 39 3A 03 02 01 03 10 C2 C3 C4 02 - .byte $10, $C5, $C6, $06, $02, $02, $05, $08, $3B, $11, $12, $1D, $1E, $05, $08, $3C ; CPU:$A09A PRG:209A 10 C5 C6 06 02 02 05 08 3B 11 12 1D 1E 05 08 3C - .byte $16, $17, $22, $23, $06, $02, $02, $05, $08, $3B, $11, $12, $13, $14, $05, $08 ; CPU:$A0AA PRG:20AA 16 17 22 23 06 02 02 05 08 3B 11 12 13 14 05 08 - .byte $3C, $16, $17, $18, $19, $06, $02, $02, $05, $08, $3D, $3E, $3F, $1D, $1E, $06 ; CPU:$A0BA PRG:20BA 3C 16 17 18 19 06 02 02 05 08 3D 3E 3F 1D 1E 06 - .byte $00, $40, $41, $42, $43, $22, $25, $06, $03, $02, $01, $10, $44, $05, $08, $45 ; CPU:$A0CA PRG:20CA 00 40 41 42 43 22 25 06 03 02 01 10 44 05 08 45 - .byte $46, $47, $48, $71, $04, $10, $49, $4A, $4B, $4C, $06, $03, $02, $05, $08, $3D ; CPU:$A0DA PRG:20DA 46 47 48 71 04 10 49 4A 4B 4C 06 03 02 05 08 3D - .byte $3E, $3F, $1D, $1E, $05, $08, $4D, $4E, $4F, $22, $25, $01, $18, $50, $06, $03 ; CPU:$A0EA PRG:20EA 3E 3F 1D 1E 05 08 4D 4E 4F 22 25 01 18 50 06 03 - .byte $02, $01, $20, $53, $05, $08, $45, $51, $52, $54, $71, $04, $10, $49, $4A, $4B ; CPU:$A0FA PRG:20FA 02 01 20 53 05 08 45 51 52 54 71 04 10 49 4A 4B - .byte $4C, $06, $03, $01, $01, $20, $B5, $04, $08, $B2, $BA, $B4, $B6, $03, $08, $B7 ; CPU:$A10A PRG:210A 4C 06 03 01 01 20 B5 04 08 B2 BA B4 B6 03 08 B7 - .byte $BB, $B9, $06, $03, $02, $01, $20, $B5, $04, $08, $B2, $B3, $B4, $B6, $03, $08 ; CPU:$A11A PRG:211A BB B9 06 03 02 01 20 B5 04 08 B2 B3 B4 B6 03 08 - .byte $B7, $B8, $B9, $04, $02, $01, $03, $10, $BE, $BF, $A4, $03, $08, $AA, $C0, $C1 ; CPU:$A12A PRG:212A B7 B8 B9 04 02 01 03 10 BE BF A4 03 08 AA C0 C1 - .byte $09, $0C, $07, $0A, $06, $0A, $07, $16, $00, $04, $02, $01, $00, $03, $03, $03 ; CPU:$A13A PRG:213A 09 0C 07 0A 06 0A 07 16 00 04 02 01 00 03 03 03 - .byte $03, $03, $03, $00, $01, $03, $22, $22, $01, $23, $01, $01, $03, $08, $F8, $0C ; CPU:$A14A PRG:214A 03 03 03 00 01 03 22 22 01 23 01 01 03 08 F8 0C - .byte $F4, $10, $F0, $14, $EC, $02, $FA, $06, $FE, $18, $0C, $18, $18, $18, $18, $0C ; CPU:$A15A PRG:215A F4 10 F0 14 EC 02 FA 06 FE 18 0C 18 18 18 18 0C - .byte $18, $0C, $18, $08, $00, $00, $04, $0C, $04, $08, $04, $08, $B5, $AE, $E6, $AE ; CPU:$A16A PRG:216A 18 0C 18 08 00 00 04 0C 04 08 04 08 B5 AE E6 AE - .byte $E6, $AE, $E6, $AE, $D4, $AF, $C7, $AF, $12, $B0, $00, $E8, $C8, $B0, $E8, $D0 ; CPU:$A17A PRG:217A E6 AE E6 AE D4 AF C7 AF 12 B0 00 E8 C8 B0 E8 D0 - .byte $C0, $B0, $E8, $C8, $B0, $98, $E8, $B0, $98, $80, $07, $08, $06, $07, $0F, $0D ; CPU:$A18A PRG:218A C0 B0 E8 C8 B0 98 E8 B0 98 80 07 08 06 07 0F 0D - .byte $0C, $0F, $0D, $0F, $0D, $0C, $0F, $0D, $0F, $0D, $0C, $0F, $0D, $0F, $0D, $0C ; CPU:$A19A PRG:219A 0C 0F 0D 0F 0D 0C 0F 0D 0F 0D 0C 0F 0D 0F 0D 0C - .byte $0F, $0D, $0F, $48, $30, $18, $30, $18, $30, $30, $18, $18, $30, $30, $18, $30 ; CPU:$A1AA PRG:21AA 0F 0D 0F 48 30 18 30 18 30 30 18 18 30 30 18 30 - .byte $18, $30, $48, $60, $48, $30, $48, $60, $78, $90, $48, $90, $18, $50, $48, $60 ; CPU:$A1BA PRG:21BA 18 30 48 60 48 30 48 60 78 90 48 90 18 50 48 60 - .byte $78, $00, $30, $00, $50, $78, $08, $60, $80, $A0, $C0, $E0, $FF, $58, $75, $80 ; CPU:$A1CA PRG:21CA 78 00 30 00 50 78 08 60 80 A0 C0 E0 FF 58 75 80 - .byte $8B, $95, $A0, $AC, $38, $55, $60, $6B, $75, $80, $8D, $00, $00, $06, $05, $07 ; CPU:$A1DA PRG:21DA 8B 95 A0 AC 38 55 60 6B 75 80 8D 00 00 06 05 07 - .byte $06, $06, $03, $03, $00, $01, $08, $5B, $04, $08, $BC, $5C, $5D, $5E, $04, $08 ; CPU:$A1EA PRG:21EA 06 06 03 03 00 01 08 5B 04 08 BC 5C 5D 5E 04 08 - .byte $BD, $FC, $FC, $5F, $02, $02, $00, $02, $00, $57, $58, $01, $08, $59, $02, $02 ; CPU:$A1FA PRG:21FA BD FC FC 5F 02 02 00 02 00 57 58 01 08 59 02 02 - .byte $00, $02, $00, $EF, $58, $01, $08, $5A, $01, $01, $00, $01, $00, $0E, $01, $01 ; CPU:$A20A PRG:220A 00 02 00 EF 58 01 08 5A 01 01 00 01 00 0E 01 01 - .byte $00, $01, $00, $0F, $F8, $F7, $F7, $F6, $F6, $F7, $F7, $F8, $28, $28, $28, $28 ; CPU:$A21A PRG:221A 00 01 00 0F F8 F7 F7 F6 F6 F7 F7 F8 28 28 28 28 - .byte $28, $F8, $F8, $F8, $F8, $F8, $00, $00, $00, $00, $00, $04, $04, $04, $04, $04 ; CPU:$A22A PRG:222A 28 F8 F8 F8 F8 F8 00 00 00 00 00 04 04 04 04 04 - .byte $00, $02, $02, $02, $0C, $03, $03, $02, $F3, $E6, $03, $F3, $E5, $E6, $04, $F3 ; CPU:$A23A PRG:223A 00 02 02 02 0C 03 03 02 F3 E6 03 F3 E5 E6 04 F3 - .byte $E5, $E5, $E6, $05, $F3, $E5, $E5, $E5, $E6, $05, $DC, $DC, $DC, $DC, $DC, $05 ; CPU:$A24A PRG:224A E5 E5 E6 05 F3 E5 E5 E5 E6 05 DC DC DC DC DC 05 - .byte $F0, $F0, $F0, $F0, $F0, $03, $F0, $F0, $F0, $00, $03, $07, $0C, $07, $03, $00 ; CPU:$A25A PRG:225A F0 F0 F0 F0 F0 03 F0 F0 F0 00 03 07 0C 07 03 00 - .byte $0D, $0D, $0D, $05, $0D, $15, $1D, $18, $12, $12, $0C, $07, $03, $00, $1E, $18 ; CPU:$A26A PRG:226A 0D 0D 0D 05 0D 15 1D 18 12 12 0C 07 03 00 1E 18 - .byte $12, $0C, $12, $18, $05, $05, $05, $05, $0D, $15, $1D, $0D, $05, $05, $05, $05 ; CPU:$A27A PRG:227A 12 0C 12 18 05 05 05 05 0D 15 1D 0D 05 05 05 05 - .byte $05, $00, $21, $4C, $E6, $67, $00, $00, $00, $01, $02, $03, $04, $00, $FF, $FE ; CPU:$A28A PRG:228A 05 00 21 4C E6 67 00 00 00 01 02 03 04 00 FF FE - .byte $FD, $FC, $00, $01, $03, $00, $23, $28, $12, $31, $31, $01, $04, $01, $04, $01 ; CPU:$A29A PRG:229A FD FC 00 01 03 00 23 28 12 31 31 01 04 01 04 01 - .byte $F6, $0A, $05, $03, $60, $C0, $02, $00, $80, $A0, $48, $38, $28, $18, $38, $30 ; CPU:$A2AA PRG:22AA F6 0A 05 03 60 C0 02 00 80 A0 48 38 28 18 38 30 - .byte $20, $10, $2C, $23, $20, $08, $24, $20, $15, $00, $1C, $16, $15, $00, $38, $0C ; CPU:$A2BA PRG:22BA 20 10 2C 23 20 08 24 20 15 00 1C 16 15 00 38 0C - .byte $0C, $0C, $48, $14, $14, $0C, $48, $0C, $0C, $20, $48, $0C, $20, $0C, $30, $28 ; CPU:$A2CA PRG:22CA 0C 0C 48 14 14 0C 48 0C 0C 20 48 0C 20 0C 30 28 - .byte $28, $28, $40, $30, $14, $30, $10, $14, $28, $14, $30, $20, $20, $14, $00, $00 ; CPU:$A2DA PRG:22DA 28 28 40 30 14 30 10 14 28 14 30 20 20 14 00 00 - .byte $00, $00, $01, $01, $01, $01, $00, $01, $00, $01, $00, $01, $01, $01, $01, $00 ; CPU:$A2EA PRG:22EA 00 00 01 01 01 01 00 01 00 01 00 01 01 01 01 00 - .byte $00, $00, $00, $00, $01, $01, $0A, $54, $9E, $E8, $32, $A3, $A3, $A3, $A3, $A4 ; CPU:$A2FA PRG:22FA 00 00 00 00 01 01 0A 54 9E E8 32 A3 A3 A3 A3 A4 - .byte $0D, $0D, $0D, $0D, $0D, $0D, $09, $09, $09, $08, $08, $09, $08, $0C, $08, $08 ; CPU:$A30A PRG:230A 0D 0D 0D 0D 0D 0D 09 09 09 08 08 09 08 0C 08 08 - .byte $08, $08, $08, $09, $10, $10, $08, $0C, $08, $08, $08, $09, $08, $08, $08, $10 ; CPU:$A31A PRG:231A 08 08 08 09 10 10 08 0C 08 08 08 09 08 08 08 10 - .byte $11, $05, $01, $21, $21, $01, $01, $01, $01, $01, $11, $01, $01, $01, $00, $01 ; CPU:$A32A PRG:232A 11 05 01 21 21 01 01 01 01 01 11 01 01 01 00 01 - .byte $11, $01, $01, $01, $01, $11, $11, $00, $01, $01, $01, $01, $09, $08, $01, $00 ; CPU:$A33A PRG:233A 11 01 01 01 01 11 11 00 01 01 01 01 09 08 01 00 - .byte $01, $01, $00, $01, $01, $01, $01, $01, $01, $01, $04, $05, $05, $01, $41, $01 ; CPU:$A34A PRG:234A 01 01 00 01 01 01 01 01 01 01 04 05 05 01 41 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $09, $49, $09, $09, $29, $29, $21, $21 ; CPU:$A35A PRG:235A 01 01 01 01 01 01 01 01 09 49 09 09 29 29 21 21 - .byte $01, $41, $00, $00, $08, $08, $09, $49, $29, $21, $21, $01, $00, $00, $40, $00 ; CPU:$A36A PRG:236A 01 41 00 00 08 08 09 49 29 21 21 01 00 00 40 00 - .byte $D0, $21, $01, $21, $21, $01, $01, $19, $09, $10, $18, $48, $18, $20, $21, $61 ; CPU:$A37A PRG:237A D0 21 01 21 21 01 01 19 09 10 18 48 18 20 21 61 - .byte $09, $09, $08, $08, $08, $08, $08, $48, $08, $09, $11, $10, $50, $11, $10, $51 ; CPU:$A38A PRG:238A 09 09 08 08 08 08 08 48 08 09 11 10 50 11 10 51 - .byte $10, $11, $10, $11, $11, $11, $51, $11, $10, $11, $10, $51, $10, $51, $09, $89 ; CPU:$A39A PRG:239A 10 11 10 11 11 11 51 11 10 11 10 51 10 51 09 89 - .byte $89, $09, $49, $A8, $28, $88, $08, $48, $11, $28, $98, $98, $19, $29, $69, $29 ; CPU:$A3AA PRG:23AA 89 09 49 A8 28 88 08 48 11 28 98 98 19 29 69 29 - .byte $01, $41, $C1, $E9, $11, $09, $49, $C9, $D0, $28, $40, $01, $01, $11, $E9, $09 ; CPU:$A3BA PRG:23BA 01 41 C1 E9 11 09 49 C9 D0 28 40 01 01 11 E9 09 - .byte $C9, $99, $11, $69, $28, $28, $80, $81, $A9, $29, $59, $08, $08, $98, $09, $89 ; CPU:$A3CA PRG:23CA C9 99 11 69 28 28 80 81 A9 29 59 08 08 98 09 89 - .byte $01, $C1, $C1, $00, $80, $00, $41, $81, $01, $01, $01, $C1, $01, $01, $01, $01 ; CPU:$A3DA PRG:23DA 01 C1 C1 00 80 00 41 81 01 01 01 C1 01 01 01 01 - .byte $01, $01, $41, $01, $01, $01, $41, $80, $00, $41, $01, $81, $81, $00, $40, $00 ; CPU:$A3EA PRG:23EA 01 01 41 01 01 01 41 80 00 41 01 81 81 00 40 00 - .byte $80, $41, $81, $11, $11, $49, $89, $19, $58, $80, $98, $00, $81, $80, $01, $C0 ; CPU:$A3FA PRG:23FA 80 41 81 11 11 49 89 19 58 80 98 00 81 80 01 C0 - .byte $C0, $10, $40, $90, $00, $50, $00, $D1, $11, $C8, $08, $41, $01, $D1, $19, $D8 ; CPU:$A40A PRG:240A C0 10 40 90 00 50 00 D1 11 C8 08 41 01 D1 19 D8 - .byte $98, $10, $11, $91, $11, $81, $09, $49, $08, $09, $09, $90, $D1, $A9, $11, $29 ; CPU:$A41A PRG:241A 98 10 11 91 11 81 09 49 08 09 09 90 D1 A9 11 29 - .byte $11, $A8, $11, $29, $11, $29, $11, $29, $09, $69, $51, $89, $09, $09, $88, $49 ; CPU:$A42A PRG:242A 11 A8 11 29 11 29 11 29 09 69 51 89 09 09 88 49 - .byte $10, $A9, $09, $08, $90, $A9, $49, $09, $A9, $10, $48, $08, $09, $89, $49, $49 ; CPU:$A43A PRG:243A 10 A9 09 08 90 A9 49 09 A9 10 48 08 09 89 49 49 - .byte $10, $28, $90, $28, $D0, $28, $09, $11, $A9, $48, $21, $A1, $29, $50, $81, $48 ; CPU:$A44A PRG:244A 10 28 90 28 D0 28 09 11 A9 48 21 A1 29 50 81 48 - .byte $A1, $20, $21, $A1, $41, $01, $80, $49, $88, $19, $58, $18, $98, $01, $01, $61 ; CPU:$A45A PRG:245A A1 20 21 A1 41 01 80 49 88 19 58 18 98 01 01 61 - .byte $20, $59, $11, $11, $29, $10, $01, $80, $10, $41, $00, $11, $91, $00, $40, $00 ; CPU:$A46A PRG:246A 20 59 11 11 29 10 01 80 10 41 00 11 91 00 40 00 - .byte $01, $01, $E0, $E1, $E2, $E3, $E4, $E5, $E6, $E7, $E8, $E9, $EA, $EB, $FC, $FC ; CPU:$A47A PRG:247A 01 01 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB FC FC - .byte $EC, $FC, $EE, $FC, $FC, $FC, $ED, $FC, $EF, $FC, $FC, $FC, $A5, $69, $29, $08 ; CPU:$A48A PRG:248A EC FC EE FC FC FC ED FC EF FC FC FC A5 69 29 08 - .byte $05, $23, $0D, $96, $04, $D0, $3F, $AD, $A6, $04, $30, $3A, $A5, $69, $C9, $0F ; CPU:$A49A PRG:249A 05 23 0D 96 04 D0 3F AD A6 04 30 3A A5 69 C9 0F - .byte $90, $03, $4C, $58, $A5, $29, $04, $D0, $2E, $A5, $7D, $D0, $03, $20, $D4, $A5 ; CPU:$A4AA PRG:24AA 90 03 4C 58 A5 29 04 D0 2E A5 7D D0 03 20 D4 A5 - .byte $20, $FA, $A4, $D0, $21, $20, $7C, $A5, $90, $03, $4C, $EB, $A8, $A5, $69, $4A ; CPU:$A4BA PRG:24BA 20 FA A4 D0 21 20 7C A5 90 03 4C EB A8 A5 69 4A - .byte $0D, $73, $03, $0D, $74, $03, $05, $7D, $D0, $0C, $A5, $6A, $29, $03, $C9, $03 ; CPU:$A4CA PRG:24CA 0D 73 03 0D 74 03 05 7D D0 0C A5 6A 29 03 C9 03 - .byte $D0, $02, $A9, $01, $85, $67, $60, $A5, $68, $C9, $04, $90, $09, $C9, $06, $B0 ; CPU:$A4DA PRG:24DA D0 02 A9 01 85 67 60 A5 68 C9 04 90 09 C9 06 B0 - .byte $05, $A9, $05, $4C, $7E, $A5, $A6, $55, $A5, $6A, $29, $C0, $9D, $6B, $03, $60 ; CPU:$A4EA PRG:24EA 05 A9 05 4C 7E A5 A6 55 A5 6A 29 C0 9D 6B 03 60 - .byte $AC, $6A, $03, $A5, $6A, $29, $08, $8D, $6A, $03, $F0, $27, $98, $0D, $73, $03 ; CPU:$A4FA PRG:24FA AC 6A 03 A5 6A 29 08 8D 6A 03 F0 27 98 0D 73 03 - .byte $0D, $74, $03, $05, $7D, $D0, $1C, $85, $21, $A5, $67, $D0, $08, $A5, $24, $F0 ; CPU:$A50A PRG:250A 0D 74 03 05 7D D0 1C 85 21 A5 67 D0 08 A5 24 F0 - .byte $04, $A5, $72, $85, $67, $A5, $69, $29, $01, $09, $04, $85, $69, $A9, $0A, $85 ; CPU:$A51A PRG:251A 04 A5 72 85 67 A5 69 29 01 09 04 85 69 A9 0A 85 - .byte $68, $38, $60, $A5, $69, $C9, $0F, $90, $08, $2C, $72, $9B, $F0, $03, $A9, $00 ; CPU:$A52A PRG:252A 68 38 60 A5 69 C9 0F 90 08 2C 72 9B F0 03 A9 00 - .byte $60, $A8, $29, $FD, $85, $69, $A5, $6A, $29, $04, $F0, $09, $20, $EB, $A8, $85 ; CPU:$A53A PRG:253A 60 A8 29 FD 85 69 A5 6A 29 04 F0 09 20 EB A8 85 - .byte $21, $85, $68, $A9, $02, $05, $69, $85, $69, $98, $45, $69, $18, $60, $29, $04 ; CPU:$A54A PRG:254A 21 85 68 A9 02 05 69 85 69 98 45 69 18 60 29 04 - .byte $D0, $FA, $20, $69, $A6, $A5, $68, $D0, $F3, $20, $FA, $A4, $D0, $EE, $A5, $6A ; CPU:$A55A PRG:255A D0 FA 20 69 A6 A5 68 D0 F3 20 FA A4 D0 EE A5 6A - .byte $29, $C0, $4A, $4A, $85, $00, $A5, $69, $29, $30, $45, $00, $D0, $DE, $A9, $02 ; CPU:$A56A PRG:256A 29 C0 4A 4A 85 00 A5 69 29 30 45 00 D0 DE A9 02 - .byte $D0, $02, $A9, $03, $85, $01, $A6, $55, $A5, $6A, $29, $C0, $85, $02, $F0, $CC ; CPU:$A57A PRG:257A D0 02 A9 03 85 01 A6 55 A5 6A 29 C0 85 02 F0 CC - .byte $AD, $73, $03, $0D, $74, $03, $05, $7D, $F0, $07, $A5, $02, $9D, $6B, $03, $D0 ; CPU:$A58A PRG:258A AD 73 03 0D 74 03 05 7D F0 07 A5 02 9D 6B 03 D0 - .byte $BB, $A5, $02, $5D, $6B, $03, $25, $02, $F0, $B2, $48, $1D, $6B, $03, $9D, $6B ; CPU:$A59A PRG:259A BB A5 02 5D 6B 03 25 02 F0 B2 48 1D 6B 03 9D 6B - .byte $03, $68, $4A, $4A, $C9, $30, $D0, $02, $A9, $10, $05, $69, $85, $69, $29, $10 ; CPU:$A5AA PRG:25AA 03 68 4A 4A C9 30 D0 02 A9 10 05 69 85 69 29 10 - .byte $F0, $0B, $A0, $02, $A5, $69, $29, $04, $F0, $05, $88, $D0, $02, $A0, $20, $84 ; CPU:$A5BA PRG:25BA F0 0B A0 02 A5 69 29 04 F0 05 88 D0 02 A0 20 84 - .byte $FD, $A9, $00, $85, $21, $A5, $01, $4C, $29, $A5, $AD, $73, $03, $0D, $74, $03 ; CPU:$A5CA PRG:25CA FD A9 00 85 21 A5 01 4C 29 A5 AD 73 03 0D 74 03 - .byte $D0, $03, $4C, $61, $A6, $EE, $77, $03, $30, $7D, $AD, $AC, $03, $85, $06, $A5 ; CPU:$A5DA PRG:25DA D0 03 4C 61 A6 EE 77 03 30 7D AD AC 03 85 06 A5 - .byte $6A, $29, $CF, $8D, $AC, $03, $F0, $77, $C5, $06, $F0, $73, $EE, $78, $03, $AD ; CPU:$A5EA PRG:25EA 6A 29 CF 8D AC 03 F0 77 C5 06 F0 73 EE 78 03 AD - .byte $78, $03, $C9, $04, $90, $69, $A2, $01, $AD, $77, $03, $C9, $48, $B0, $58, $E8 ; CPU:$A5FA PRG:25FA 78 03 C9 04 90 69 A2 01 AD 77 03 C9 48 B0 58 E8 - .byte $C9, $30, $B0, $06, $E8, $C9, $20, $B0, $01, $E8, $86, $01, $A2, $01, $86, $00 ; CPU:$A60A PRG:260A C9 30 B0 06 E8 C9 20 B0 01 E8 86 01 A2 01 86 00 - .byte $A4, $01, $84, $02, $BD, $73, $03, $F0, $35, $DE, $73, $03, $BD, $75, $03, $29 ; CPU:$A61A PRG:261A A4 01 84 02 BD 73 03 F0 35 DE 73 03 BD 75 03 29 - .byte $03, $5E, $75, $03, $5E, $75, $03, $AA, $DE, $A0, $04, $A9, $04, $95, $B7, $B5 ; CPU:$A62A PRG:262A 03 5E 75 03 5E 75 03 AA DE A0 04 A9 04 95 B7 B5 - .byte $8E, $C5, $94, $B0, $05, $A9, $01, $9D, $A8, $04, $A6, $00, $A4, $02, $88, $10 ; CPU:$A63A PRG:263A 8E C5 94 B0 05 A9 01 9D A8 04 A6 00 A4 02 88 10 - .byte $D1, $BD, $73, $03, $F0, $08, $BD, $75, $03, $29, $03, $AA, $D6, $B7, $A6, $00 ; CPU:$A64A PRG:264A D1 BD 73 03 F0 08 BD 75 03 29 03 AA D6 B7 A6 00 - .byte $CA, $10, $BB, $A9, $02, $D0, $05, $A9, $00, $8D, $77, $03, $8D, $78, $03, $A0 ; CPU:$A65A PRG:265A CA 10 BB A9 02 D0 05 A9 00 8D 77 03 8D 78 03 A0 - .byte $01, $A5, $6A, $4A, $B0, $04, $88, $4A, $90, $35, $84, $00, $CC, $72, $03, $F0 ; CPU:$A66A PRG:266A 01 A5 6A 4A B0 04 88 4A 90 35 84 00 CC 72 03 F0 - .byte $26, $A5, $7E, $F0, $22, $A6, $A4, $CA, $D0, $1D, $A5, $93, $38, $E5, $94, $B0 ; CPU:$A67A PRG:267A 26 A5 7E F0 22 A6 A4 CA D0 1D A5 93 38 E5 94 B0 - .byte $04, $49, $FF, $69, $01, $C9, $30, $B0, $0E, $A5, $5F, $C9, $04, $F0, $10, $AD ; CPU:$A68A PRG:268A 04 49 FF 69 01 C9 30 B0 0E A5 5F C9 04 F0 10 AD - .byte $7C, $03, $0D, $9B, $03, $F0, $08, $A5, $69, $29, $FE, $05, $00, $85, $69, $60 ; CPU:$A69A PRG:269A 7C 03 0D 9B 03 F0 08 A5 69 29 FE 05 00 85 69 60 - .byte $A4, $67, $D0, $03, $4C, $48, $A7, $A2, $05, $B5, $87, $C9, $02, $90, $29, $C9 ; CPU:$A6AA PRG:26AA A4 67 D0 03 4C 48 A7 A2 05 B5 87 C9 02 90 29 C9 - .byte $09, $B0, $25, $A8, $88, $88, $BD, $EA, $04, $4A, $A5, $67, $B0, $06, $C9, $02 ; CPU:$A6BA PRG:26BA 09 B0 25 A8 88 88 BD EA 04 4A A5 67 B0 06 C9 02 - .byte $F0, $16, $D0, $04, $C9, $01, $F0, $10, $BD, $E3, $04, $D0, $0B, $BD, $DC, $04 ; CPU:$A6CA PRG:26CA F0 16 D0 04 C9 01 F0 10 BD E3 04 D0 0B BD DC 04 - .byte $D9, $BB, $9B, $B0, $03, $4C, $7F, $A7, $CA, $10, $CE, $A2, $01, $AD, $9E, $04 ; CPU:$A6DA PRG:26DA D9 BB 9B B0 03 4C 7F A7 CA 10 CE A2 01 AD 9E 04 - .byte $18, $69, $20, $8D, $9E, $04, $90, $01, $E8, $86, $00, $86, $02, $A4, $67, $98 ; CPU:$A6EA PRG:26EA 18 69 20 8D 9E 04 90 01 E8 86 00 86 02 A4 67 98 - .byte $49, $03, $AA, $A9, $00, $85, $05, $85, $06, $20, $AB, $A7, $C6, $00, $D0, $F9 ; CPU:$A6FA PRG:26FA 49 03 AA A9 00 85 05 85 06 20 AB A7 C6 00 D0 F9 - .byte $A5, $05, $F0, $1C, $4A, $CD, $72, $03, $D0, $16, $A9, $00, $85, $67, $85, $80 ; CPU:$A70A PRG:270A A5 05 F0 1C 4A CD 72 03 D0 16 A9 00 85 67 85 80 - .byte $E6, $51, $A9, $05, $85, $38, $AD, $8E, $04, $F0, $04, $A9, $04, $85, $FE, $60 ; CPU:$A71A PRG:271A E6 51 A9 05 85 38 AD 8E 04 F0 04 A9 04 85 FE 60 - .byte $A5, $06, $18, $65, $73, $10, $07, $A9, $17, $C6, $74, $4C, $40, $A7, $C9, $18 ; CPU:$A72A PRG:272A A5 06 18 65 73 10 07 A9 17 C6 74 4C 40 A7 C9 18 - .byte $90, $0A, $E9, $18, $E6, $74, $48, $A9, $1A, $85, $3B, $68, $85, $73, $A5, $65 ; CPU:$A73A PRG:273A 90 0A E9 18 E6 74 48 A9 1A 85 3B 68 85 73 A5 65 - .byte $29, $01, $85, $61, $A5, $5F, $C9, $04, $D0, $2B, $AD, $A5, $04, $30, $1A, $A5 ; CPU:$A74A PRG:274A 29 01 85 61 A5 5F C9 04 D0 2B AD A5 04 30 1A A5 - .byte $65, $F0, $0A, $C9, $02, $B0, $12, $A5, $12, $C9, $10, $B0, $0C, $A5, $63, $D0 ; CPU:$A75A PRG:275A 65 F0 0A C9 02 B0 12 A5 12 C9 10 B0 0C A5 63 D0 - .byte $04, $A9, $20, $85, $52, $A9, $08, $D0, $0A, $A5, $63, $F0, $08, $A9, $05, $85 ; CPU:$A76A PRG:276A 04 A9 20 85 52 A9 08 D0 0A A5 63 F0 08 A9 05 85 - .byte $52, $A9, $00, $85, $63, $A5, $2A, $D0, $27, $AD, $73, $03, $18, $6D, $74, $03 ; CPU:$A77A PRG:277A 52 A9 00 85 63 A5 2A D0 27 AD 73 03 18 6D 74 03 - .byte $85, $00, $F0, $1C, $A5, $6B, $D0, $07, $A5, $00, $18, $69, $04, $85, $00, $A4 ; CPU:$A78A PRG:278A 85 00 F0 1C A5 6B D0 07 A5 00 18 69 04 85 00 A4 - .byte $00, $B9, $A7, $9B, $85, $2A, $A9, $01, $8D, $7A, $03, $A2, $06, $4C, $70, $C4 ; CPU:$A79A PRG:279A 00 B9 A7 9B 85 2A A9 01 8D 7A 03 A2 06 4C 70 C4 - .byte $60, $A5, $64, $D0, $3E, $AD, $72, $03, $D0, $10, $B9, $82, $9B, $C5, $65, $D0 ; CPU:$A7AA PRG:27AA 60 A5 64 D0 3E AD 72 03 D0 10 B9 82 9B C5 65 D0 - .byte $17, $A5, $12, $D9, $85, $9B, $D0, $10, $F0, $29, $B9, $88, $9B, $C5, $65, $D0 ; CPU:$A7BA PRG:27BA 17 A5 12 D9 85 9B D0 10 F0 29 B9 88 9B C5 65 D0 - .byte $07, $A5, $12, $D9, $8B, $9B, $F0, $1B, $BD, $91, $9B, $18, $65, $66, $85, $66 ; CPU:$A7CA PRG:27CA 07 A5 12 D9 8B 9B F0 1B BD 91 9B 18 65 66 85 66 - .byte $B9, $91, $9B, $10, $02, $C6, $65, $18, $65, $12, $85, $12, $90, $02, $E6, $65 ; CPU:$A7DA PRG:27DA B9 91 9B 10 02 C6 65 18 65 12 85 12 90 02 E6 65 - .byte $4C, $19, $A8, $A5, $7E, $D0, $0C, $A5, $65, $4A, $4A, $4D, $72, $03, $F0, $03 ; CPU:$A7EA PRG:27EA 4C 19 A8 A5 7E D0 0C A5 65 4A 4A 4D 72 03 F0 03 - .byte $8D, $B2, $03, $BD, $8E, $9B, $C5, $64, $D0, $05, $86, $05, $4C, $39, $A8, $BD ; CPU:$A7FA PRG:27FA 8D B2 03 BD 8E 9B C5 64 D0 05 86 05 4C 39 A8 BD - .byte $91, $9B, $10, $02, $C6, $62, $18, $65, $64, $85, $64, $90, $02, $E6, $62, $B9 ; CPU:$A80A PRG:280A 91 9B 10 02 C6 62 18 65 64 85 64 90 02 E6 62 B9 - .byte $91, $9B, $18, $65, $06, $85, $06, $A9, $06, $85, $24, $A5, $67, $85, $72, $B9 ; CPU:$A81A PRG:281A 91 9B 18 65 06 85 06 A9 06 85 24 A5 67 85 72 B9 - .byte $91, $9B, $10, $02, $C6, $E5, $18, $65, $D4, $85, $D4, $90, $02, $E6, $E5, $60 ; CPU:$A82A PRG:282A 91 9B 10 02 C6 E5 18 65 D4 85 D4 90 02 E6 E5 60 - .byte $AD, $A6, $04, $30, $FA, $A5, $23, $D0, $3D, $AD, $96, $04, $D0, $13, $A5, $69 ; CPU:$A83A PRG:283A AD A6 04 30 FA A5 23 D0 3D AD 96 04 D0 13 A5 69 - .byte $29, $0E, $A8, $B9, $75, $9B, $85, $00, $C8, $B9, $75, $9B, $85, $01, $6C, $00 ; CPU:$A84A PRG:284A 29 0E A8 B9 75 9B 85 00 C8 B9 75 9B 85 01 6C 00 - .byte $00, $A9, $04, $85, $FD, $A9, $00, $8D, $96, $04, $85, $67, $A5, $69, $2C, $73 ; CPU:$A85A PRG:285A 00 A9 04 85 FD A9 00 8D 96 04 85 67 A5 69 2C 73 - .byte $9B, $D0, $DB, $29, $03, $2C, $72, $9B, $D0, $02, $09, $08, $85, $69, $A9, $0A ; CPU:$A86A PRG:286A 9B D0 DB 29 03 2C 72 9B D0 02 09 08 85 69 A9 0A - .byte $85, $23, $A9, $00, $85, $68, $60, $A5, $23, $D0, $37, $A5, $69, $29, $F0, $F0 ; CPU:$A87A PRG:287A 85 23 A9 00 85 68 60 A5 23 D0 37 A5 69 29 F0 F0 - .byte $1D, $A5, $21, $D0, $2D, $A4, $68, $B9, $A2, $9B, $C6, $68, $10, $0D, $A9, $03 ; CPU:$A88A PRG:288A 1D A5 21 D0 2D A4 68 B9 A2 9B C6 68 10 0D A9 03 - .byte $25, $69, $85, $69, $4A, $A8, $B9, $7F, $9B, $85, $68, $85, $21, $60, $A5, $67 ; CPU:$A89A PRG:289A 25 69 85 69 4A A8 B9 7F 9B 85 68 85 21 60 A5 67 - .byte $F0, $10, $A5, $21, $D0, $0C, $A9, $06, $85, $21, $C6, $68, $10, $04, $A9, $01 ; CPU:$A8AA PRG:28AA F0 10 A5 21 D0 0C A9 06 85 21 C6 68 10 04 A9 01 - .byte $85, $68, $60, $A5, $21, $D0, $2E, $A5, $69, $29, $F0, $F0, $11, $A9, $07, $85 ; CPU:$A8BA PRG:28BA 85 68 60 A5 21 D0 2E A5 69 29 F0 F0 11 A9 07 85 - .byte $21, $C6, $68, $A5, $68, $C9, $04, $B0, $1C, $A9, $0F, $4C, $9A, $A8, $A4, $68 ; CPU:$A8CA PRG:28CA 21 C6 68 A5 68 C9 04 B0 1C A9 0F 4C 9A A8 A4 68 - .byte $B9, $96, $9B, $85, $21, $B9, $B0, $9B, $85, $B6, $C6, $68, $10, $07, $20, $98 ; CPU:$A8DA PRG:28DA B9 96 9B 85 21 B9 B0 9B 85 B6 C6 68 10 07 20 98 - .byte $A8, $A9, $00, $85, $67, $60, $A5, $69, $29, $03, $85, $69, $29, $02, $D0, $04 ; CPU:$A8EA PRG:28EA A8 A9 00 85 67 60 A5 69 29 03 85 69 29 02 D0 04 - .byte $A9, $01, $85, $68, $60, $A5, $52, $F0, $11, $C9, $1B, $D0, $06, $A9, $00, $85 ; CPU:$A8FA PRG:28FA A9 01 85 68 60 A5 52 F0 11 C9 1B D0 06 A9 00 85 - .byte $64, $85, $62, $8D, $6E, $03, $8D, $6F, $03, $60, $AD, $8D, $03, $D0, $E5, $A5 ; CPU:$A90A PRG:290A 64 85 62 8D 6E 03 8D 6F 03 60 AD 8D 03 D0 E5 A5 - .byte $69, $29, $F0, $4A, $4A, $4A, $A8, $B9, $1D, $9B, $85, $00, $B9, $1E, $9B, $85 ; CPU:$A91A PRG:291A 69 29 F0 4A 4A 4A A8 B9 1D 9B 85 00 B9 1E 9B 85 - .byte $01, $A5, $69, $29, $0E, $A8, $B1, $00, $85, $02, $C8, $B1, $00, $85, $03, $A5 ; CPU:$A92A PRG:292A 01 A5 69 29 0E A8 B1 00 85 02 C8 B1 00 85 03 A5 - .byte $69, $4A, $A5, $68, $2A, $A8, $B1, $02, $85, $52, $A9, $00, $8D, $8F, $03, $60 ; CPU:$A93A PRG:293A 69 4A A5 68 2A A8 B1 02 85 52 A9 00 8D 8F 03 60 - .byte $AD, $A6, $04, $30, $FA, $6C, $5A, $00, $A5, $7E, $F0, $68, $A5, $A4, $F0, $0F ; CPU:$A94A PRG:294A AD A6 04 30 FA 6C 5A 00 A5 7E F0 68 A5 A4 F0 0F - .byte $C9, $03, $B0, $60, $4A, $B0, $0E, $A5, $93, $C9, $30, $90, $08, $B0, $55, $A5 ; CPU:$A95A PRG:295A C9 03 B0 60 4A B0 0E A5 93 C9 30 90 08 B0 55 A5 - .byte $93, $C9, $D0, $90, $4F, $A6, $7E, $CA, $F0, $14, $AD, $8F, $03, $D0, $0F, $A9 ; CPU:$A96A PRG:296A 93 C9 D0 90 4F A6 7E CA F0 14 AD 8F 03 D0 0F A9 - .byte $01, $85, $7E, $A9, $9C, $85, $3C, $A5, $5F, $18, $69, $1C, $85, $52, $A2, $FF ; CPU:$A97A PRG:297A 01 85 7E A9 9C 85 3C A5 5F 18 69 1C 85 52 A2 FF - .byte $AC, $7C, $03, $A5, $5E, $F0, $0A, $A5, $5F, $C9, $04, $F0, $08, $C0, $02, $90 ; CPU:$A98A PRG:298A AC 7C 03 A5 5E F0 0A A5 5F C9 04 F0 08 C0 02 90 - .byte $23, $C0, $03, $90, $72, $E8, $E0, $04, $B0, $6D, $B5, $87, $C9, $02, $B0, $F5 ; CPU:$A99A PRG:299A 23 C0 03 90 72 E8 E0 04 B0 6D B5 87 C9 02 B0 F5 - .byte $B5, $80, $F0, $F1, $2C, $73, $9B, $D0, $EC, $29, $02, $4A, $49, $01, $95, $C0 ; CPU:$A9AA PRG:29AA B5 80 F0 F1 2C 73 9B D0 EC 29 02 4A 49 01 95 C0 - .byte $88, $4C, $9B, $A9, $AD, $9B, $03, $D0, $4E, $85, $01, $A4, $5F, $B9, $00, $A3 ; CPU:$A9BA PRG:29BA 88 4C 9B A9 AD 9B 03 D0 4E 85 01 A4 5F B9 00 A3 - .byte $85, $05, $B9, $05, $A3, $85, $06, $A4, $74, $A5, $33, $D0, $3A, $A5, $4A, $F0 ; CPU:$A9CA PRG:29CA 85 05 B9 05 A3 85 06 A4 74 A5 33 D0 3A A5 4A F0 - .byte $03, $C6, $4A, $60, $A5, $75, $D0, $30, $B1, $05, $2C, $73, $9B, $D0, $28, $48 ; CPU:$A9DA PRG:29DA 03 C6 4A 60 A5 75 D0 30 B1 05 2C 73 9B D0 28 48 - .byte $29, $03, $F0, $02, $A9, $10, $85, $02, $A5, $1B, $29, $0C, $05, $02, $85, $76 ; CPU:$A9EA PRG:29EA 29 03 F0 02 A9 10 85 02 A5 1B 29 0C 05 02 85 76 - .byte $68, $4A, $4A, $4A, $29, $07, $85, $77, $A2, $04, $A5, $5E, $D0, $07, $A5, $5F ; CPU:$A9FA PRG:29FA 68 4A 4A 4A 29 07 85 77 A2 04 A5 5E D0 07 A5 5F - .byte $C9, $02, $B0, $01, $CA, $86, $75, $60, $A6, $75, $CA, $86, $04, $A5, $77, $A4 ; CPU:$AA0A PRG:2A0A C9 02 B0 01 CA 86 75 60 A6 75 CA 86 04 A5 77 A4 - .byte $3B, $D0, $02, $A9, $02, $0A, $0A, $05, $04, $A8, $B9, $E8, $A2, $45, $69, $29 ; CPU:$AA1A PRG:2A1A 3B D0 02 A9 02 0A 0A 05 04 A8 B9 E8 A2 45 69 29 - .byte $01, $A8, $84, $00, $98, $49, $01, $A8, $84, $07, $B9, $71, $9B, $2C, $80, $03 ; CPU:$AA2A PRG:2A2A 01 A8 84 00 98 49 01 A8 84 07 B9 71 9B 2C 80 03 - .byte $D0, $36, $AE, $87, $03, $B5, $80, $F0, $06, $B5, $9F, $C9, $01, $D0, $29, $AC ; CPU:$AA3A PRG:2A3A D0 36 AE 87 03 B5 80 F0 06 B5 9F C9 01 D0 29 AC - .byte $72, $03, $A5, $00, $F0, $12, $A5, $65, $D9, $AC, $A2, $90, $2A, $D0, $19, $A5 ; CPU:$AA4A PRG:2A4A 72 03 A5 00 F0 12 A5 65 D9 AC A2 90 2A D0 19 A5 - .byte $12, $D9, $AE, $A2, $90, $21, $B0, $10, $A5, $65, $D9, $B0, $A2, $90, $09, $D0 ; CPU:$AA5A PRG:2A5A 12 D9 AE A2 90 21 B0 10 A5 65 D9 B0 A2 90 09 D0 - .byte $16, $A5, $12, $D9, $B2, $A2, $B0, $0F, $A5, $01, $D0, $10, $A4, $07, $84, $00 ; CPU:$AA6A PRG:2A6A 16 A5 12 D9 B2 A2 B0 0F A5 01 D0 10 A4 07 84 00 - .byte $A9, $FF, $85, $01, $4C, $2C, $AA, $20, $E8, $AC, $90, $01, $60, $8E, $87, $03 ; CPU:$AA7A PRG:2A7A A9 FF 85 01 4C 2C AA 20 E8 AC 90 01 60 8E 87 03 - .byte $EE, $7C, $03, $A5, $74, $18, $65, $00, $C9, $4A, $90, $02, $A9, $4A, $A8, $B1 ; CPU:$AA8A PRG:2A8A EE 7C 03 A5 74 18 65 00 C9 4A 90 02 A9 4A A8 B1 - .byte $05, $29, $C0, $F0, $0C, $A0, $01, $29, $80, $F0, $05, $B5, $18, $29, $01, $A8 ; CPU:$AA9A PRG:2A9A 05 29 C0 F0 0C A0 01 29 80 F0 05 B5 18 29 01 A8 - .byte $98, $95, $87, $A5, $07, $95, $C0, $A8, $0A, $09, $01, $95, $80, $A9, $87, $95 ; CPU:$AAAA PRG:2AAA 98 95 87 A5 07 95 C0 A8 0A 09 01 95 80 A9 87 95 - .byte $B0, $A5, $65, $C0, $01, $F0, $03, $18, $69, $02, $95, $DF, $A5, $12, $38, $F9 ; CPU:$AABA PRG:2ABA B0 A5 65 C0 01 F0 03 18 69 02 95 DF A5 12 38 F9 - .byte $AA, $A2, $95, $CE, $B0, $02, $D6, $DF, $A9, $38, $A4, $3B, $F0, $08, $A5, $76 ; CPU:$AACA PRG:2ACA AA A2 95 CE B0 02 D6 DF A9 38 A4 3B F0 08 A5 76 - .byte $05, $04, $A8, $B9, $C8, $A2, $85, $33, $C6, $75, $D0, $17, $A5, $5F, $0A, $0A ; CPU:$AADA PRG:2ADA 05 04 A8 B9 C8 A2 85 33 C6 75 D0 17 A5 5F 0A 0A - .byte $85, $03, $A5, $BE, $05, $03, $A8, $B9, $B4, $A2, $A6, $6B, $D0, $03, $18, $69 ; CPU:$AAEA PRG:2AEA 85 03 A5 BE 05 03 A8 B9 B4 A2 A6 6B D0 03 18 69 - .byte $30, $85, $4A, $A6, $07, $A5, $5F, $C9, $04, $D0, $06, $A5, $65, $C9, $02, $90 ; CPU:$AAFA PRG:2AFA 30 85 4A A6 07 A5 5F C9 04 D0 06 A5 65 C9 02 90 - .byte $28, $A9, $02, $DE, $7E, $03, $F0, $22, $AE, $87, $03, $B5, $87, $F0, $1A, $A5 ; CPU:$AB0A PRG:2B0A 28 A9 02 DE 7E 03 F0 22 AE 87 03 B5 87 F0 1A A5 - .byte $BE, $0A, $0A, $85, $00, $A4, $5F, $88, $98, $05, $00, $F0, $0C, $A8, $B5, $18 ; CPU:$AB1A PRG:2B1A BE 0A 0A 85 00 A4 5F 88 98 05 00 F0 0C A8 B5 18 - .byte $D9, $84, $A1, $90, $04, $A9, $11, $95, $80, $60, $A4, $07, $B9, $71, $9B, $0D ; CPU:$AB2A PRG:2B2A D9 84 A1 90 04 A9 11 95 80 60 A4 07 B9 71 9B 0D - .byte $80, $03, $8D, $80, $03, $AD, $AA, $03, $99, $7E, $03, $AE, $87, $03, $A9, $02 ; CPU:$AB3A PRG:2B3A 80 03 8D 80 03 AD AA 03 99 7E 03 AE 87 03 A9 02 - .byte $95, $87, $4A, $9D, $A0, $04, $4C, $D2, $BD, $A5, $65, $C9, $03, $90, $03, $20 ; CPU:$AB4A PRG:2B4A 95 87 4A 9D A0 04 4C D2 BD A5 65 C9 03 90 03 20 - .byte $29, $86, $A5, $3D, $D0, $D3, $20, $E8, $AC, $B0, $CE, $A4, $78, $C0, $05, $B0 ; CPU:$AB5A PRG:2B5A 29 86 A5 3D D0 D3 20 E8 AC B0 CE A4 78 C0 05 B0 - .byte $06, $A5, $49, $C9, $F8, $90, $08, $B5, $18, $29, $0F, $18, $69, $05, $A8, $E6 ; CPU:$AB6A PRG:2B6A 06 A5 49 C9 F8 90 08 B5 18 29 0F 18 69 05 A8 E6 - .byte $78, $B9, $98, $A1, $C9, $0D, $D0, $22, $85, $00, $8A, $48, $A2, $03, $A0, $00 ; CPU:$AB7A PRG:2B7A 78 B9 98 A1 C9 0D D0 22 85 00 8A 48 A2 03 A0 00 - .byte $B5, $87, $C9, $0D, $F0, $04, $C9, $0E, $D0, $01, $C8, $CA, $10, $F2, $C0, $02 ; CPU:$AB8A PRG:2B8A B5 87 C9 0D F0 04 C9 0E D0 01 C8 CA 10 F2 C0 02 - .byte $90, $04, $A9, $0F, $85, $00, $68, $AA, $A5, $00, $95, $87, $B5, $19, $29, $0F ; CPU:$AB9A PRG:2B9A 90 04 A9 0F 85 00 68 AA A5 00 95 87 B5 19 29 0F - .byte $A8, $A5, $E5, $95, $DF, $A5, $67, $F0, $17, $B9, $BD, $A1, $85, $00, $A5, $69 ; CPU:$ABAA PRG:2BAA A8 A5 E5 95 DF A5 67 F0 17 B9 BD A1 85 00 A5 69 - .byte $29, $01, $D0, $24, $A5, $D4, $38, $E5, $00, $B0, $26, $D6, $DF, $4C, $EB, $AB ; CPU:$ABBA PRG:2BBA 29 01 D0 24 A5 D4 38 E5 00 B0 26 D6 DF 4C EB AB - .byte $98, $29, $07, $A8, $B9, $AD, $A1, $85, $00, $A5, $69, $29, $01, $D0, $05, $B9 ; CPU:$ABCA PRG:2BCA 98 29 07 A8 B9 AD A1 85 00 A5 69 29 01 D0 05 B9 - .byte $B5, $A1, $85, $00, $C0, $04, $B0, $DC, $A5, $D4, $18, $65, $00, $90, $02, $F6 ; CPU:$ABDA PRG:2BDA B5 A1 85 00 C0 04 B0 DC A5 D4 18 65 00 90 02 F6 - .byte $DF, $29, $F8, $09, $08, $95, $CE, $29, $F0, $85, $01, $B5, $DF, $30, $18, $86 ; CPU:$ABEA PRG:2BEA DF 29 F8 09 08 95 CE 29 F0 85 01 B5 DF 30 18 86 - .byte $00, $A0, $03, $C4, $00, $F0, $15, $B9, $DF, $00, $D5, $DF, $D0, $0E, $B9, $CE ; CPU:$ABFA PRG:2BFA 00 A0 03 C4 00 F0 15 B9 DF 00 D5 DF D0 0E B9 CE - .byte $00, $29, $F0, $C5, $01, $D0, $05, $A9, $FF, $95, $DF, $60, $88, $10, $E4, $A9 ; CPU:$AC0A PRG:2C0A 00 29 F0 C5 01 D0 05 A9 FF 95 DF 60 88 10 E4 A9 - .byte $01, $95, $80, $4A, $9D, $78, $04, $A9, $38, $95, $B0, $A5, $BE, $85, $00, $B5 ; CPU:$AC1A PRG:2C1A 01 95 80 4A 9D 78 04 A9 38 95 B0 A5 BE 85 00 B5 - .byte $19, $29, $03, $A8, $B9, $94, $A1, $38, $E5, $00, $A6, $53, $D0, $03, $18, $69 ; CPU:$AC2A PRG:2C2A 19 29 03 A8 B9 94 A1 38 E5 00 A6 53 D0 03 18 69 - .byte $03, $85, $3D, $60, $A5, $E5, $C9, $04, $90, $08, $A9, $00, $8D, $CF, $03, $4C ; CPU:$AC3A PRG:2C3A 03 85 3D 60 A5 E5 C9 04 90 08 A9 00 8D CF 03 4C - .byte $29, $86, $A2, $03, $8E, $CF, $03, $86, $05, $AD, $66, $03, $0D, $67, $03, $D0 ; CPU:$AC4A PRG:2C4A 29 86 A2 03 8E CF 03 86 05 AD 66 03 0D 67 03 D0 - .byte $E2, $BD, $40, $04, $F0, $06, $DE, $40, $04, $4C, $C4, $AC, $B4, $A6, $88, $D0 ; CPU:$AC5A PRG:2C5A E2 BD 40 04 F0 06 DE 40 04 4C C4 AC B4 A6 88 D0 - .byte $59, $B5, $95, $C9, $08, $90, $53, $C9, $F8, $B0, $4F, $A2, $04, $20, $EA, $AC ; CPU:$AC6A PRG:2C6A 59 B5 95 C9 08 90 53 C9 F8 B0 4F A2 04 20 EA AC - .byte $B0, $50, $A9, $50, $A4, $53, $D0, $02, $A9, $68, $A4, $05, $99, $40, $04, $B9 ; CPU:$AC7A PRG:2C7A B0 50 A9 50 A4 53 D0 02 A9 68 A4 05 99 40 04 B9 - .byte $50, $04, $18, $69, $04, $95, $B0, $B9, $D5, $00, $95, $CE, $B9, $E6, $00, $95 ; CPU:$AC8A PRG:2C8A 50 04 18 69 04 95 B0 B9 D5 00 95 CE B9 E6 00 95 - .byte $DF, $B5, $18, $29, $01, $18, $65, $5E, $C9, $06, $90, $02, $A9, $06, $9D, $54 ; CPU:$AC9A PRG:2C9A DF B5 18 29 01 18 65 5E C9 06 90 02 A9 06 9D 54 - .byte $04, $A9, $03, $95, $80, $A9, $0A, $95, $87, $A9, $00, $9D, $44, $04, $9D, $78 ; CPU:$ACAA PRG:2CAA 04 A9 03 95 80 A9 0A 95 87 A9 00 9D 44 04 9D 78 - .byte $04, $A9, $0E, $95, $2B, $B9, $F1, $04, $95, $C0, $A6, $05, $CA, $30, $29, $4C ; CPU:$ACBA PRG:2CBA 04 A9 0E 95 2B B9 F1 04 95 C0 A6 05 CA 30 29 4C - .byte $51, $AC, $A2, $04, $B4, $9F, $C0, $03, $B0, $0D, $88, $F0, $0D, $B5, $8E, $C9 ; CPU:$ACCA PRG:2CCA 51 AC A2 04 B4 9F C0 03 B0 0D 88 F0 0D B5 8E C9 - .byte $28, $90, $07, $C9, $D8, $B0, $03, $4C, $57, $B2, $CA, $10, $E7, $60, $A2, $03 ; CPU:$ACDA PRG:2CDA 28 90 07 C9 D8 B0 03 4C 57 B2 CA 10 E7 60 A2 03 - .byte $B5, $80, $4A, $90, $03, $CA, $10, $F8, $60, $A2, $06, $AD, $A6, $04, $30, $02 ; CPU:$ACEA PRG:2CEA B5 80 4A 90 03 CA 10 F8 60 A2 06 AD A6 04 30 02 - .byte $A2, $00, $E0, $05, $D0, $05, $A5, $7E, $4A, $90, $75, $B5, $80, $F0, $71, $B5 ; CPU:$ACFA PRG:2CFA A2 00 E0 05 D0 05 A5 7E 4A 90 75 B5 80 F0 71 B5 - .byte $87, $0A, $A8, $C9, $1C, $F0, $05, $BD, $A0, $04, $30, $6D, $B5, $80, $29, $04 ; CPU:$AD0A PRG:2D0A 87 0A A8 C9 1C F0 05 BD A0 04 30 6D B5 80 29 04 - .byte $D0, $5E, $8E, $6D, $03, $20, $EE, $AD, $AE, $6D, $03, $B5, $80, $F0, $51, $B5 ; CPU:$AD1A PRG:2D1A D0 5E 8E 6D 03 20 EE AD AE 6D 03 B5 80 F0 51 B5 - .byte $87, $C9, $02, $90, $13, $C9, $0A, $D0, $07, $AD, $CF, $03, $F0, $29, $D0, $3D ; CPU:$AD2A PRG:2D2A 87 C9 02 90 13 C9 0A D0 07 AD CF 03 F0 29 D0 3D - .byte $C9, $0D, $90, $39, $C9, $11, $F0, $35, $A5, $5F, $C9, $04, $D0, $19, $A5, $7E ; CPU:$AD3A PRG:2D3A C9 0D 90 39 C9 11 F0 35 A5 5F C9 04 D0 19 A5 7E - .byte $F0, $15, $B5, $DF, $C9, $02, $D0, $0F, $B5, $CE, $C9, $18, $B0, $09, $B5, $80 ; CPU:$AD4A PRG:2D4A F0 15 B5 DF C9 02 D0 0F B5 CE C9 18 B0 09 B5 80 - .byte $4A, $49, $01, $29, $01, $95, $C0, $B5, $9F, $C9, $01, $F0, $10, $B5, $8E, $C9 ; CPU:$AD5A PRG:2D5A 4A 49 01 29 01 95 C0 B5 9F C9 01 F0 10 B5 8E C9 - .byte $28, $90, $0A, $C9, $D8, $B0, $06, $20, $57, $B2, $4C, $7A, $AD, $20, $44, $C3 ; CPU:$AD6A PRG:2D6A 28 90 0A C9 D8 B0 06 20 57 B2 4C 7A AD 20 44 C3 - .byte $E8, $E0, $07, $B0, $03, $4C, $FC, $AC, $60, $B5, $87, $C9, $0A, $B0, $5F, $BD ; CPU:$AD7A PRG:2D7A E8 E0 07 B0 03 4C FC AC 60 B5 87 C9 0A B0 5F BD - .byte $A8, $04, $95, $C0, $B4, $87, $E0, $06, $F0, $05, $B9, $3A, $A1, $95, $B7, $FE ; CPU:$AD8A PRG:2D8A A8 04 95 C0 B4 87 E0 06 F0 05 B9 3A A1 95 B7 FE - .byte $86, $04, $BD, $86, $04, $C9, $17, $90, $05, $A9, $17, $9D, $86, $04, $20, $AC ; CPU:$AD9A PRG:2D9A 86 04 BD 86 04 C9 17 90 05 A9 17 9D 86 04 20 AC - .byte $C7, $A0, $01, $A9, $80, $E0, $06, $D0, $04, $A0, $00, $A9, $00, $18, $7D, $98 ; CPU:$ADAA PRG:2DAA C7 A0 01 A9 80 E0 06 D0 04 A0 00 A9 00 18 7D 98 - .byte $04, $9D, $98, $04, $90, $01, $C8, $BD, $A8, $04, $F0, $05, $98, $49, $FF, $A8 ; CPU:$ADBA PRG:2DBA 04 9D 98 04 90 01 C8 BD A8 04 F0 05 98 49 FF A8 - .byte $C8, $98, $C9, $00, $10, $02, $D6, $DF, $18, $75, $CE, $95, $CE, $90, $02, $F6 ; CPU:$ADCA PRG:2DCA C8 98 C9 00 10 02 D6 DF 18 75 CE 95 CE 90 02 F6 - .byte $DF, $B5, $B0, $C9, $D8, $90, $96, $A9, $00, $9D, $86, $04, $F0, $89, $20, $E1 ; CPU:$ADDA PRG:2DDA DF B5 B0 C9 D8 90 96 A9 00 9D 86 04 F0 89 20 E1 - .byte $B8, $4C, $71, $AD, $B9, $C2, $9B, $85, $00, $C8, $B9, $C2, $9B, $85, $01, $A4 ; CPU:$ADEA PRG:2DEA B8 4C 71 AD B9 C2 9B 85 00 C8 B9 C2 9B 85 01 A4 - .byte $5F, $6C, $00, $00, $20, $F7, $B1, $20, $C9, $C9, $BD, $10, $04, $D0, $28, $A5 ; CPU:$ADFA PRG:2DFA 5F 6C 00 00 20 F7 B1 20 C9 C9 BD 10 04 D0 28 A5 - .byte $B6, $C9, $70, $90, $22, $4C, $15, $AE, $20, $F7, $B1, $B5, $9F, $C9, $01, $D0 ; CPU:$AE0A PRG:2E0A B6 C9 70 90 22 4C 15 AE 20 F7 B1 B5 9F C9 01 D0 - .byte $16, $B4, $C0, $A5, $94, $18, $79, $5F, $A1, $D5, $8E, $B0, $0A, $A5, $94, $18 ; CPU:$AE1A PRG:2E1A 16 B4 C0 A5 94 18 79 5F A1 D5 8E B0 0A A5 94 18 - .byte $79, $61, $A1, $D5, $8E, $B0, $02, $18, $60, $A9, $00, $85, $67, $A5, $E5, $95 ; CPU:$AE2A PRG:2E2A 79 61 A1 D5 8E B0 02 18 60 A9 00 85 67 A5 E5 95 - .byte $DF, $B4, $C0, $F0, $02, $D6, $DF, $B9, $73, $03, $85, $01, $18, $69, $01, $99 ; CPU:$AE3A PRG:2E3A DF B4 C0 F0 02 D6 DF B9 73 03 85 01 18 69 01 99 - .byte $73, $03, $B9, $75, $03, $85, $00, $0A, $0A, $0D, $6D, $03, $99, $75, $03, $A9 ; CPU:$AE4A PRG:2E4A 73 03 B9 75 03 85 00 0A 0A 0D 6D 03 99 75 03 A9 - .byte $05, $95, $B7, $A9, $04, $15, $80, $95, $80, $A5, $01, $0A, $15, $C0, $A8, $A5 ; CPU:$AE5A PRG:2E5A 05 95 B7 A9 04 15 80 95 80 A5 01 0A 15 C0 A8 A5 - .byte $D4, $18, $79, $57, $A1, $95, $CE, $90, $02, $F6, $DF, $B5, $87, $D0, $16, $A5 ; CPU:$AE6A PRG:2E6A D4 18 79 57 A1 95 CE 90 02 F6 DF B5 87 D0 16 A5 - .byte $01, $F0, $12, $A5, $00, $29, $03, $A8, $B9, $87, $00, $D0, $08, $A9, $07, $95 ; CPU:$AE7A PRG:2E7A 01 F0 12 A5 00 29 03 A8 B9 87 00 D0 08 A9 07 95 - .byte $B7, $98, $AA, $F6, $B7, $38, $60, $A5, $49, $29, $04, $4A, $95, $B7, $86, $00 ; CPU:$AE8A PRG:2E8A B7 98 AA F6 B7 38 60 A5 49 29 04 4A 95 B7 86 00 - .byte $A5, $49, $29, $03, $C5, $00, $F0, $ED, $BD, $44, $04, $0A, $A8, $B9, $76, $A1 ; CPU:$AE9A PRG:2E9A A5 49 29 03 C5 00 F0 ED BD 44 04 0A A8 B9 76 A1 - .byte $85, $00, $C8, $B9, $76, $A1, $85, $01, $6C, $00, $00, $B5, $2B, $D0, $2C, $A9 ; CPU:$AEAA PRG:2EAA 85 00 C8 B9 76 A1 85 01 6C 00 00 B5 2B D0 2C A9 - .byte $01, $95, $80, $D0, $06, $B5, $18, $29, $03, $D0, $02, $A9, $02, $9D, $44, $04 ; CPU:$AEBA PRG:2EBA 01 95 80 D0 06 B5 18 29 03 D0 02 A9 02 9D 44 04 - .byte $B5, $18, $29, $18, $D0, $02, $A9, $18, $95, $3F, $A9, $00, $9D, $5A, $04, $9D ; CPU:$AECA PRG:2ECA B5 18 29 18 D0 02 A9 18 95 3F A9 00 9D 5A 04 9D - .byte $60, $04, $B5, $B0, $C9, $98, $90, $03, $FE, $60, $04, $60, $BC, $54, $04, $B9 ; CPU:$AEDA PRG:2EDA 60 04 B5 B0 C9 98 90 03 FE 60 04 60 BC 54 04 B9 - .byte $D0, $A1, $20, $1A, $B2, $BD, $66, $04, $18, $65, $0A, $C9, $18, $90, $08, $BD ; CPU:$AEEA PRG:2EEA D0 A1 20 1A B2 BD 66 04 18 65 0A C9 18 90 08 BD - .byte $4A, $04, $49, $01, $9D, $4A, $04, $9D, $66, $04, $BC, $54, $04, $B9, $D7, $A1 ; CPU:$AEFA PRG:2EFA 4A 04 49 01 9D 4A 04 9D 66 04 BC 54 04 B9 D7 A1 - .byte $85, $00, $85, $01, $BD, $44, $04, $C9, $02, $F0, $05, $B9, $DE, $A1, $85, $00 ; CPU:$AF0A PRG:2F0A 85 00 85 01 BD 44 04 C9 02 F0 05 B9 DE A1 85 00 - .byte $BC, $44, $04, $88, $F0, $36, $BD, $5A, $04, $18, $65, $0A, $D9, $CD, $A1, $90 ; CPU:$AF1A PRG:2F1A BC 44 04 88 F0 36 BD 5A 04 18 65 0A D9 CD A1 90 - .byte $13, $BD, $78, $04, $D0, $06, $FE, $78, $04, $4C, $BF, $AE, $BD, $60, $04, $49 ; CPU:$AF2A PRG:2F2A 13 BD 78 04 D0 06 FE 78 04 4C BF AE BD 60 04 49 - .byte $01, $9D, $60, $04, $9D, $5A, $04, $A0, $00, $A5, $00, $18, $7D, $80, $04, $9D ; CPU:$AF3A PRG:2F3A 01 9D 60 04 9D 5A 04 A0 00 A5 00 18 7D 80 04 9D - .byte $80, $04, $90, $08, $C8, $BD, $60, $04, $F0, $02, $88, $88, $A5, $01, $4A, $20 ; CPU:$AF4A PRG:2F4A 80 04 90 08 C8 BD 60 04 F0 02 88 88 A5 01 4A 20 - .byte $FE, $AF, $A0, $00, $B5, $B0, $C9, $6C, $90, $05, $C8, $C9, $B4, $90, $0A, $98 ; CPU:$AF5A PRG:2F5A FE AF A0 00 B5 B0 C9 6C 90 05 C8 C9 B4 90 0A 98 - .byte $9D, $5A, $04, $9D, $60, $04, $9D, $4A, $04, $BD, $44, $04, $C9, $04, $B0, $16 ; CPU:$AF6A PRG:2F6A 9D 5A 04 9D 60 04 9D 4A 04 BD 44 04 C9 04 B0 16 - .byte $B5, $3F, $D0, $13, $B5, $18, $C9, $E0, $90, $0D, $C9, $F0, $B0, $27, $A9, $06 ; CPU:$AF7A PRG:2F7A B5 3F D0 13 B5 18 C9 E0 90 0D C9 F0 B0 27 A9 06 - .byte $9D, $44, $04, $0A, $95, $3F, $60, $B5, $DF, $F0, $10, $C9, $03, $D0, $2D, $B5 ; CPU:$AF8A PRG:2F8A 9D 44 04 0A 95 3F 60 B5 DF F0 10 C9 03 D0 2D B5 - .byte $C0, $F0, $29, $B5, $CE, $C9, $E0, $B0, $0C, $90, $21, $B5, $C0, $D0, $1D, $B5 ; CPU:$AF9A PRG:2F9A C0 F0 29 B5 CE C9 E0 B0 0C 90 21 B5 C0 D0 1D B5 - .byte $CE, $C9, $40, $B0, $17, $A0, $00, $B5, $B0, $C9, $90, $90, $01, $C8, $98, $9D ; CPU:$AFAA PRG:2FAA CE C9 40 B0 17 A0 00 B5 B0 C9 90 90 01 C8 98 9D - .byte $4A, $04, $A9, $04, $9D, $44, $04, $A9, $FF, $9D, $72, $04, $60, $A9, $0A, $18 ; CPU:$AFBA PRG:2FBA 4A 04 A9 04 9D 44 04 A9 FF 9D 72 04 60 A9 0A 18 - .byte $7D, $72, $04, $9D, $72, $04, $B0, $0D, $90, $21, $BD, $72, $04, $38, $E9, $0A ; CPU:$AFCA PRG:2FCA 7D 72 04 9D 72 04 B0 0D 90 21 BD 72 04 38 E9 0A - .byte $9D, $72, $04, $B0, $16, $A9, $05, $DD, $44, $04, $D0, $03, $4C, $BF, $AE, $9D ; CPU:$AFDA PRG:2FDA 9D 72 04 B0 16 A9 05 DD 44 04 D0 03 4C BF AE 9D - .byte $44, $04, $B5, $C0, $49, $01, $95, $C0, $9D, $72, $04, $A0, $00, $20, $1C, $B2 ; CPU:$AFEA PRG:2FEA 44 04 B5 C0 49 01 95 C0 9D 72 04 A0 00 20 1C B2 - .byte $A0, $00, $A9, $C0, $18, $7D, $6C, $04, $9D, $6C, $04, $90, $08, $C8, $BD, $4A ; CPU:$AFFA PRG:2FFA A0 00 A9 C0 18 7D 6C 04 9D 6C 04 90 08 C8 BD 4A - .byte $04, $F0, $02, $88, $88, $4C, $53, $B2, $B5, $3F, $F0, $15, $BD, $60, $04, $85 ; CPU:$B00A PRG:300A 04 F0 02 88 88 4C 53 B2 B5 3F F0 15 BD 60 04 85 - .byte $03, $A5, $49, $29, $02, $85, $0A, $20, $EF, $AE, $BD, $60, $04, $C5, $03, $F0 ; CPU:$B01A PRG:301A 03 A5 49 29 02 85 0A 20 EF AE BD 60 04 C5 03 F0 - .byte $3E, $4C, $BF, $AE, $20, $18, $B2, $B5, $C0, $F0, $10, $BD, $FB, $04, $D5, $DF ; CPU:$B02A PRG:302A 3E 4C BF AE 20 18 B2 B5 C0 F0 10 BD FB 04 D5 DF - .byte $D0, $21, $BD, $F6, $04, $D5, $CE, $90, $10, $B0, $18, $BD, $FB, $04, $D5, $DF ; CPU:$B03A PRG:303A D0 21 BD F6 04 D5 CE 90 10 B0 18 BD FB 04 D5 DF - .byte $D0, $11, $BD, $F6, $04, $D5, $CE, $B0, $0A, $A9, $01, $85, $FF, $20, $E1, $B8 ; CPU:$B04A PRG:304A D0 11 BD F6 04 D5 CE B0 0A A9 01 85 FF 20 E1 B8 - .byte $4C, $57, $B2, $A5, $49, $29, $03, $D0, $06, $B5, $B7, $49, $02, $95, $B7, $60 ; CPU:$B05A PRG:305A 4C 57 B2 A5 49 29 03 D0 06 B5 B7 49 02 95 B7 60 - .byte $BD, $78, $04, $D0, $0E, $20, $45, $B2, $C9, $78, $90, $F3, $A9, $10, $95, $3F ; CPU:$B06A PRG:306A BD 78 04 D0 0E 20 45 B2 C9 78 90 F3 A9 10 95 3F - .byte $FE, $78, $04, $B5, $3F, $D0, $3A, $A9, $01, $85, $FF, $A0, $02, $B5, $DF, $85 ; CPU:$B07A PRG:307A FE 78 04 B5 3F D0 3A A9 01 85 FF A0 02 B5 DF 85 - .byte $00, $B5, $CE, $38, $E9, $04, $99, $D9, $00, $B0, $02, $C6, $00, $A5, $00, $99 ; CPU:$B08A PRG:308A 00 B5 CE 38 E9 04 99 D9 00 B0 02 C6 00 A5 00 99 - .byte $EA, $00, $B5, $B0, $99, $21, $04, $A9, $01, $99, $30, $04, $B9, $9F, $A2, $99 ; CPU:$B09A PRG:309A EA 00 B5 B0 99 21 04 A9 01 99 30 04 B9 9F A2 99 - .byte $24, $04, $B9, $A2, $A2, $99, $27, $04, $88, $10, $D2, $20, $E1, $B8, $4C, $57 ; CPU:$B0AA PRG:30AA 24 04 B9 A2 A2 99 27 04 88 10 D2 20 E1 B8 4C 57 - .byte $B2, $BD, $FC, $03, $D0, $1C, $A9, $03, $9D, $FC, $03, $B5, $19, $29, $10, $85 ; CPU:$B0BA PRG:30BA B2 BD FC 03 D0 1C A9 03 9D FC 03 B5 19 29 10 85 - .byte $00, $B5, $C0, $29, $10, $D0, $06, $A5, $00, $09, $20, $85, $00, $A5, $00, $4C ; CPU:$B0CA PRG:30CA 00 B5 C0 29 10 D0 06 A5 00 09 20 85 00 A5 00 4C - .byte $E2, $B0, $C9, $01, $D0, $06, $A9, $01, $55, $C0, $95, $C0, $A0, $01, $B5, $C0 ; CPU:$B0DA PRG:30DA E2 B0 C9 01 D0 06 A9 01 55 C0 95 C0 A0 01 B5 C0 - .byte $29, $10, $D0, $0C, $B5, $C0, $29, $20, $D0, $02, $A0, $FF, $98, $20, $B3, $C7 ; CPU:$B0EA PRG:30EA 29 10 D0 0C B5 C0 29 20 D0 02 A0 FF 98 20 B3 C7 - .byte $A0, $01, $BD, $FC, $03, $4A, $55, $C0, $29, $01, $F0, $02, $A0, $FF, $98, $20 ; CPU:$B0FA PRG:30FA A0 01 BD FC 03 4A 55 C0 29 01 F0 02 A0 FF 98 20 - .byte $34, $B2, $A9, $00, $DE, $FC, $03, $10, $03, $9D, $FC, $03, $60, $BC, $B8, $04 ; CPU:$B10A PRG:310A 34 B2 A9 00 DE FC 03 10 03 9D FC 03 60 BC B8 04 - .byte $B5, $3F, $15, $2B, $D0, $23, $B5, $C7, $F0, $32, $A9, $05, $95, $2B, $C0, $06 ; CPU:$B11A PRG:311A B5 3F 15 2B D0 23 B5 C7 F0 32 A9 05 95 2B C0 06 - .byte $F0, $07, $C0, $05, $F0, $2C, $4C, $71, $B1, $D6, $C7, $B5, $C7, $F0, $07, $C9 ; CPU:$B12A PRG:312A F0 07 C0 05 F0 2C 4C 71 B1 D6 C7 B5 C7 F0 07 C9 - .byte $04, $D0, $33, $4C, $DD, $B1, $4C, $57, $B2, $C0, $06, $F0, $29, $BD, $A0, $04 ; CPU:$B13A PRG:313A 04 D0 33 4C DD B1 4C 57 B2 C0 06 F0 29 BD A0 04 - .byte $10, $24, $C0, $03, $D0, $20, $A9, $00, $95, $3F, $F0, $2A, $B9, $E5, $A1, $95 ; CPU:$B14A PRG:314A 10 24 C0 03 D0 20 A9 00 95 3F F0 2A B9 E5 A1 95 - .byte $C7, $60, $D6, $C7, $B5, $C7, $F0, $05, $C9, $03, $F0, $4F, $60, $A9, $03, $9D ; CPU:$B15A PRG:315A C7 60 D6 C7 B5 C7 F0 05 C9 03 F0 4F 60 A9 03 9D - .byte $B8, $04, $A9, $02, $95, $3F, $60, $B4, $C7, $B9, $3A, $A2, $95, $2B, $D6, $C7 ; CPU:$B16A PRG:316A B8 04 A9 02 95 3F 60 B4 C7 B9 3A A2 95 2B D6 C7 - .byte $D0, $0D, $A9, $03, $95, $3F, $A9, $06, $9D, $B8, $04, $A9, $00, $95, $C7, $60 ; CPU:$B17A PRG:317A D0 0D A9 03 95 3F A9 06 9D B8 04 A9 00 95 C7 60 - .byte $20, $45, $B2, $C9, $AA, $90, $F8, $A9, $01, $85, $FF, $4A, $95, $B7, $A9, $0E ; CPU:$B18A PRG:318A 20 45 B2 C9 AA 90 F8 A9 01 85 FF 4A 95 B7 A9 0E - .byte $95, $87, $4A, $95, $C7, $A9, $05, $9D, $B8, $04, $A9, $89, $D0, $33, $BD, $78 ; CPU:$B19A PRG:319A 95 87 4A 95 C7 A9 05 9D B8 04 A9 89 D0 33 BD 78 - .byte $04, $F0, $14, $B5, $2B, $D0, $32, $95, $C7, $F6, $87, $B5, $80, $29, $F7, $95 ; CPU:$B1AA PRG:31AA 04 F0 14 B5 2B D0 32 95 C7 F6 87 B5 80 29 F7 95 - .byte $80, $BD, $EA, $04, $95, $C0, $60, $20, $45, $B2, $C9, $AA, $90, $1B, $A9, $02 ; CPU:$B1BA PRG:31BA 80 BD EA 04 95 C0 60 20 45 B2 C9 AA 90 1B A9 02 - .byte $85, $FF, $4A, $95, $C7, $9D, $B8, $04, $9D, $78, $04, $A9, $0E, $95, $2B, $A9 ; CPU:$B1CA PRG:31CA 85 FF 4A 95 C7 9D B8 04 9D 78 04 A9 0E 95 2B A9 - .byte $A8, $95, $B0, $B5, $80, $09, $08, $95, $80, $60, $A9, $10, $95, $87, $D0, $D1 ; CPU:$B1DA PRG:31DA A8 95 B0 B5 80 09 08 95 80 60 A9 10 95 87 D0 D1 - .byte $A5, $49, $4A, $4A, $4A, $29, $01, $95, $B7, $A9, $A9, $D0, $23, $B5, $9F, $C9 ; CPU:$B1EA PRG:31EA A5 49 4A 4A 4A 29 01 95 B7 A9 A9 D0 23 B5 9F C9 - .byte $01, $D0, $0D, $BD, $DC, $04, $C9, $40, $B0, $06, $B5, $B7, $09, $02, $95, $B7 ; CPU:$B1FA PRG:31FA 01 D0 0D BD DC 04 C9 40 B0 06 B5 B7 09 02 95 B7 - .byte $B5, $2B, $D0, $0A, $A9, $06, $95, $2B, $B5, $B7, $49, $01, $95, $B7, $A9, $88 ; CPU:$B20A PRG:320A B5 2B D0 0A A9 06 95 2B B5 B7 49 01 95 B7 A9 88 - .byte $A0, $01, $18, $7D, $98, $04, $9D, $98, $04, $90, $01, $C8, $84, $0A, $84, $6E ; CPU:$B21A PRG:321A A0 01 18 7D 98 04 9D 98 04 90 01 C8 84 0A 84 6E - .byte $B5, $C0, $D0, $05, $98, $49, $FF, $A8, $C8, $98, $C9, $00, $10, $02, $D6, $DF ; CPU:$B22A PRG:322A B5 C0 D0 05 98 49 FF A8 C8 98 C9 00 10 02 D6 DF - .byte $18, $75, $CE, $95, $CE, $90, $02, $F6, $DF, $18, $60, $A0, $01, $A9, $FF, $18 ; CPU:$B23A PRG:323A 18 75 CE 95 CE 90 02 F6 DF 18 60 A0 01 A9 FF 18 - .byte $7D, $80, $04, $9D, $80, $04, $90, $01, $C8, $98, $4C, $B3, $C7, $E0, $05, $90 ; CPU:$B24A PRG:324A 7D 80 04 9D 80 04 90 01 C8 98 4C B3 C7 E0 05 90 - .byte $2F, $D0, $0A, $A9, $00, $85, $D3, $85, $E4, $85, $7E, $F0, $3F, $AD, $37, $05 ; CPU:$B25A PRG:325A 2F D0 0A A9 00 85 D3 85 E4 85 7E F0 3F AD 37 05 - .byte $F0, $03, $4C, $6A, $89, $20, $F4, $8D, $A2, $06, $A9, $10, $85, $36, $8D, $88 ; CPU:$B26A PRG:326A F0 03 4C 6A 89 20 F4 8D A2 06 A9 10 85 36 8D 88 - .byte $03, $A9, $00, $85, $64, $85, $62, $AD, $68, $03, $F0, $04, $A9, $0D, $85, $52 ; CPU:$B27A PRG:327A 03 A9 00 85 64 85 62 AD 68 03 F0 04 A9 0D 85 52 - .byte $B5, $87, $C9, $03, $B0, $16, $CE, $7C, $03, $C9, $02, $D0, $0F, $B5, $80, $4A ; CPU:$B28A PRG:328A B5 87 C9 03 B0 16 CE 7C 03 C9 02 D0 0F B5 80 4A - .byte $29, $01, $A8, $AD, $80, $03, $59, $71, $9B, $8D, $80, $03, $A9, $7F, $95, $DF ; CPU:$B29A PRG:329A 29 01 A8 AD 80 03 59 71 9B 8D 80 03 A9 7F 95 DF - .byte $A9, $00, $95, $9F, $95, $80, $95, $87, $95, $B7, $95, $C7, $9D, $90, $04, $95 ; CPU:$B2AA PRG:32AA A9 00 95 9F 95 80 95 87 95 B7 95 C7 9D 90 04 95 - .byte $C0, $9D, $A8, $04, $95, $3F, $E0, $05, $B0, $09, $9D, $A0, $04, $9D, $5A, $04 ; CPU:$B2BA PRG:32BA C0 9D A8 04 95 3F E0 05 B0 09 9D A0 04 9D 5A 04 - .byte $9D, $10, $04, $60, $A9, $06, $8D, $C2, $03, $A9, $00, $8D, $C3, $03, $A2, $01 ; CPU:$B2CA PRG:32CA 9D 10 04 60 A9 06 8D C2 03 A9 00 8D C3 03 A2 01 - .byte $D0, $02, $A2, $06, $8E, $7D, $03, $BD, $C2, $03, $AA, $B5, $80, $F0, $76, $29 ; CPU:$B2DA PRG:32DA D0 02 A2 06 8E 7D 03 BD C2 03 AA B5 80 F0 76 29 - .byte $08, $D0, $64, $B4, $87, $D0, $0C, $B5, $B7, $C9, $09, $F0, $03, $4C, $3E, $B6 ; CPU:$B2EA PRG:32EA 08 D0 64 B4 87 D0 0C B5 B7 C9 09 F0 03 4C 3E B6 - .byte $4C, $28, $B7, $C0, $0C, $B0, $68, $C0, $0A, $F0, $04, $C0, $0B, $D0, $03, $4C ; CPU:$B2FA PRG:32FA 4C 28 B7 C0 0C B0 68 C0 0A F0 04 C0 0B D0 03 4C - .byte $7B, $B4, $B5, $C0, $F0, $02, $A9, $40, $19, $44, $A1, $85, $05, $B5, $9F, $85 ; CPU:$B30A PRG:330A 7B B4 B5 C0 F0 02 A9 40 19 44 A1 85 05 B5 9F 85 - .byte $01, $B5, $8E, $38, $F9, $63, $A1, $85, $00, $B0, $02, $C6, $01, $B5, $B0, $85 ; CPU:$B31A PRG:331A 01 B5 8E 38 F9 63 A1 85 00 B0 02 C6 01 B5 B0 85 - .byte $02, $98, $0A, $A8, $B9, $E6, $9B, $85, $07, $C8, $B9, $E6, $9B, $85, $08, $B5 ; CPU:$B32A PRG:332A 02 98 0A A8 B9 E6 9B 85 07 C8 B9 E6 9B 85 08 B5 - .byte $B7, $0A, $A8, $B1, $07, $85, $03, $C8, $B1, $07, $85, $04, $A5, $4B, $85, $06 ; CPU:$B33A PRG:333A B7 0A A8 B1 07 85 03 C8 B1 07 85 04 A5 4B 85 06 - .byte $20, $DE, $8E, $A5, $06, $85, $4B, $AE, $7D, $03, $BD, $C2, $03, $AA, $B4, $C7 ; CPU:$B34A PRG:334A 20 DE 8E A5 06 85 4B AE 7D 03 BD C2 03 AA B4 C7 - .byte $F0, $03, $4C, $D2, $B4, $AE, $7D, $03, $CA, $30, $03, $4C, $DE, $B2, $60, $F0 ; CPU:$B35A PRG:335A F0 03 4C D2 B4 AE 7D 03 CA 30 03 4C DE B2 60 F0 - .byte $0B, $C0, $0D, $F0, $22, $C0, $0F, $F0, $71, $4C, $0C, $B3, $A9, $E3, $85, $02 ; CPU:$B36A PRG:336A 0B C0 0D F0 22 C0 0F F0 71 4C 0C B3 A9 E3 85 02 - .byte $85, $03, $A9, $23, $85, $04, $09, $40, $85, $06, $09, $80, $85, $07, $A5, $04 ; CPU:$B37A PRG:337A 85 03 A9 23 85 04 09 40 85 06 09 80 85 07 A5 04 - .byte $09, $80, $85, $05, $4C, $FB, $B3, $B5, $9F, $C9, $01, $D0, $4A, $A4, $4B, $B5 ; CPU:$B38A PRG:338A 09 80 85 05 4C FB B3 B5 9F C9 01 D0 4A A4 4B B5 - .byte $B0, $99, $00, $06, $99, $04, $06, $18, $69, $08, $99, $08, $06, $99, $0C, $06 ; CPU:$B39A PRG:339A B0 99 00 06 99 04 06 18 69 08 99 08 06 99 0C 06 - .byte $A9, $D9, $99, $01, $06, $99, $0D, $06, $A9, $DA, $99, $05, $06, $99, $09, $06 ; CPU:$B3AA PRG:33AA A9 D9 99 01 06 99 0D 06 A9 DA 99 05 06 99 09 06 - .byte $A9, $21, $99, $02, $06, $99, $0A, $06, $09, $C0, $99, $06, $06, $99, $0E, $06 ; CPU:$B3BA PRG:33BA A9 21 99 02 06 99 0A 06 09 C0 99 06 06 99 0E 06 - .byte $B5, $8E, $99, $07, $06, $99, $0F, $06, $38, $E9, $08, $99, $03, $06, $99, $0B ; CPU:$B3CA PRG:33CA B5 8E 99 07 06 99 0F 06 38 E9 08 99 03 06 99 0B - .byte $06, $98, $18, $69, $10, $85, $4B, $4C, $51, $B3, $A9, $E1, $85, $02, $A9, $E2 ; CPU:$B3DA PRG:33DA 06 98 18 69 10 85 4B 4C 51 B3 A9 E1 85 02 A9 E2 - .byte $85, $03, $A9, $23, $85, $04, $85, $05, $09, $40, $85, $06, $85, $07, $4C, $FB ; CPU:$B3EA PRG:33EA 85 03 A9 23 85 04 85 05 09 40 85 06 85 07 4C FB - .byte $B3, $B5, $B0, $85, $01, $B5, $9F, $85, $0F, $B5, $8E, $38, $E9, $08, $85, $00 ; CPU:$B3FA PRG:33FA B3 B5 B0 85 01 B5 9F 85 0F B5 8E 38 E9 08 85 00 - .byte $B0, $02, $C6, $0F, $A5, $0F, $C9, $01, $D0, $2F, $A4, $4B, $A5, $01, $99, $00 ; CPU:$B40A PRG:340A B0 02 C6 0F A5 0F C9 01 D0 2F A4 4B A5 01 99 00 - .byte $06, $18, $69, $08, $99, $04, $06, $A5, $02, $99, $01, $06, $A5, $03, $99, $05 ; CPU:$B41A PRG:341A 06 18 69 08 99 04 06 A5 02 99 01 06 A5 03 99 05 - .byte $06, $A5, $04, $99, $02, $06, $A5, $05, $99, $06, $06, $A5, $00, $99, $03, $06 ; CPU:$B42A PRG:342A 06 A5 04 99 02 06 A5 05 99 06 06 A5 00 99 03 06 - .byte $99, $07, $06, $98, $18, $69, $08, $85, $4B, $B5, $9F, $C9, $01, $D0, $2F, $A4 ; CPU:$B43A PRG:343A 99 07 06 98 18 69 08 85 4B B5 9F C9 01 D0 2F A4 - .byte $4B, $A5, $01, $99, $00, $06, $18, $69, $08, $99, $04, $06, $A5, $02, $99, $01 ; CPU:$B44A PRG:344A 4B A5 01 99 00 06 18 69 08 99 04 06 A5 02 99 01 - .byte $06, $A5, $03, $99, $05, $06, $A5, $06, $99, $02, $06, $A5, $07, $99, $06, $06 ; CPU:$B45A PRG:345A 06 A5 03 99 05 06 A5 06 99 02 06 A5 07 99 06 06 - .byte $B5, $8E, $99, $03, $06, $99, $07, $06, $98, $18, $69, $08, $85, $4B, $4C, $51 ; CPU:$B46A PRG:346A B5 8E 99 03 06 99 07 06 98 18 69 08 85 4B 4C 51 - .byte $B3, $A9, $01, $85, $04, $A4, $4B, $B5, $B7, $18, $69, $DE, $85, $02, $B5, $C0 ; CPU:$B47A PRG:347A B3 A9 01 85 04 A4 4B B5 B7 18 69 DE 85 02 B5 C0 - .byte $F0, $04, $C6, $02, $A9, $40, $09, $03, $85, $03, $B5, $9F, $85, $01, $B5, $8E ; CPU:$B48A PRG:348A F0 04 C6 02 A9 40 09 03 85 03 B5 9F 85 01 B5 8E - .byte $99, $03, $06, $A5, $01, $C9, $01, $D0, $13, $B5, $B0, $99, $00, $06, $A5, $02 ; CPU:$B49A PRG:349A 99 03 06 A5 01 C9 01 D0 13 B5 B0 99 00 06 A5 02 - .byte $99, $01, $06, $A5, $03, $99, $02, $06, $C8, $C8, $C8, $C8, $C6, $02, $B5, $C0 ; CPU:$B4AA PRG:34AA 99 01 06 A5 03 99 02 06 C8 C8 C8 C8 C6 02 B5 C0 - .byte $F0, $04, $E6, $02, $E6, $02, $B5, $8E, $38, $E9, $08, $B0, $02, $C6, $01, $C6 ; CPU:$B4BA PRG:34BA F0 04 E6 02 E6 02 B5 8E 38 E9 08 B0 02 C6 01 C6 - .byte $04, $10, $CD, $84, $4B, $4C, $5F, $B3, $BD, $B8, $04, $C9, $01, $D0, $03, $4C ; CPU:$B4CA PRG:34CA 04 10 CD 84 4B 4C 5F B3 BD B8 04 C9 01 D0 03 4C - .byte $FB, $B5, $C9, $03, $F0, $03, $4C, $74, $B5, $B4, $87, $B9, $44, $A1, $B4, $C0 ; CPU:$B4DA PRG:34DA FB B5 C9 03 F0 03 4C 74 B5 B4 87 B9 44 A1 B4 C0 - .byte $F0, $02, $09, $40, $85, $02, $09, $80, $85, $06, $B4, $C7, $88, $A9, $03, $85 ; CPU:$B4EA PRG:34EA F0 02 09 40 85 02 09 80 85 06 B4 C7 88 A9 03 85 - .byte $04, $B5, $9F, $85, $01, $B5, $C0, $D0, $0C, $B9, $30, $A2, $85, $05, $B9, $26 ; CPU:$B4FA PRG:34FA 04 B5 9F 85 01 B5 C0 D0 0C B9 30 A2 85 05 B9 26 - .byte $A2, $85, $00, $D0, $0C, $B9, $35, $A2, $85, $05, $B9, $2B, $A2, $85, $00, $E6 ; CPU:$B50A PRG:350A A2 85 00 D0 0C B9 35 A2 85 05 B9 2B A2 85 00 E6 - .byte $01, $B5, $8E, $38, $E5, $00, $85, $00, $B0, $02, $C6, $01, $A9, $8E, $85, $03 ; CPU:$B51A PRG:351A 01 B5 8E 38 E5 00 85 00 B0 02 C6 01 A9 8E 85 03 - .byte $A5, $01, $C9, $01, $D0, $30, $A6, $4C, $A5, $03, $9D, $D0, $06, $18, $69, $08 ; CPU:$B52A PRG:352A A5 01 C9 01 D0 30 A6 4C A5 03 9D D0 06 18 69 08 - .byte $9D, $D4, $06, $A4, $05, $B9, $1E, $A2, $9D, $D1, $06, $9D, $D5, $06, $A5, $02 ; CPU:$B53A PRG:353A 9D D4 06 A4 05 B9 1E A2 9D D1 06 9D D5 06 A5 02 - .byte $9D, $D2, $06, $A5, $06, $9D, $D6, $06, $A5, $00, $9D, $D3, $06, $9D, $D7, $06 ; CPU:$B54A PRG:354A 9D D2 06 A5 06 9D D6 06 A5 00 9D D3 06 9D D7 06 - .byte $8A, $18, $69, $08, $85, $4C, $A5, $00, $18, $69, $08, $85, $00, $90, $02, $E6 ; CPU:$B55A PRG:355A 8A 18 69 08 85 4C A5 00 18 69 08 85 00 90 02 E6 - .byte $01, $E6, $05, $C6, $04, $10, $B5, $4C, $5F, $B3, $88, $C9, $05, $F0, $1A, $C9 ; CPU:$B56A PRG:356A 01 E6 05 C6 04 10 B5 4C 5F B3 88 C9 05 F0 1A C9 - .byte $06, $F0, $0B, $B9, $63, $A2, $85, $06, $B9, $6A, $A2, $4C, $9B, $B5, $B9, $78 ; CPU:$B57A PRG:357A 06 F0 0B B9 63 A2 85 06 B9 6A A2 4C 9B B5 B9 78 - .byte $A2, $85, $06, $B9, $85, $A2, $4C, $9B, $B5, $B9, $71, $A2, $85, $06, $B9, $7E ; CPU:$B58A PRG:358A A2 85 06 B9 85 A2 4C 9B B5 B9 71 A2 85 06 B9 7E - .byte $A2, $18, $75, $B0, $85, $02, $A9, $01, $85, $04, $A9, $00, $85, $07, $B5, $9F ; CPU:$B59A PRG:359A A2 18 75 B0 85 02 A9 01 85 04 A9 00 85 07 B5 9F - .byte $85, $01, $B5, $8E, $85, $00, $A5, $07, $49, $40, $85, $07, $A6, $06, $A4, $01 ; CPU:$B5AA PRG:35AA 85 01 B5 8E 85 00 A5 07 49 40 85 07 A6 06 A4 01 - .byte $88, $D0, $30, $A5, $02, $85, $03, $A4, $4C, $BD, $41, $A2, $85, $05, $A5, $03 ; CPU:$B5BA PRG:35BA 88 D0 30 A5 02 85 03 A4 4C BD 41 A2 85 05 A5 03 - .byte $99, $D0, $06, $18, $69, $08, $85, $03, $C8, $BD, $42, $A2, $99, $D0, $06, $C8 ; CPU:$B5CA PRG:35CA 99 D0 06 18 69 08 85 03 C8 BD 42 A2 99 D0 06 C8 - .byte $E8, $A5, $07, $99, $D0, $06, $C8, $A5, $00, $99, $D0, $06, $C8, $C6, $05, $D0 ; CPU:$B5DA PRG:35DA E8 A5 07 99 D0 06 C8 A5 00 99 D0 06 C8 C6 05 D0 - .byte $DD, $84, $4C, $38, $E9, $08, $B0, $02, $C6, $01, $C6, $04, $10, $B6, $4C, $5F ; CPU:$B5EA PRG:35EA DD 84 4C 38 E9 08 B0 02 C6 01 C6 04 10 B6 4C 5F - .byte $B3, $A4, $4C, $A9, $41, $85, $03, $B5, $9F, $85, $01, $B5, $8E, $A2, $01, $85 ; CPU:$B5FA PRG:35FA B3 A4 4C A9 41 85 03 B5 9F 85 01 B5 8E A2 01 85 - .byte $00, $99, $D3, $06, $A5, $01, $C9, $01, $D0, $13, $A9, $AF, $99, $D0, $06, $A9 ; CPU:$B60A PRG:360A 00 99 D3 06 A5 01 C9 01 D0 13 A9 AF 99 D0 06 A9 - .byte $E7, $99, $D1, $06, $A5, $03, $99, $D2, $06, $C8, $C8, $C8, $C8, $A5, $03, $49 ; CPU:$B61A PRG:361A E7 99 D1 06 A5 03 99 D2 06 C8 C8 C8 C8 A5 03 49 - .byte $40, $85, $03, $A5, $00, $38, $E9, $08, $B0, $02, $C6, $01, $CA, $10, $D0, $84 ; CPU:$B62A PRG:362A 40 85 03 A5 00 38 E9 08 B0 02 C6 01 CA 10 D0 84 - .byte $4C, $4C, $5F, $B3, $B4, $9F, $88, $F0, $03, $4C, $5F, $B3, $B5, $B0, $18, $69 ; CPU:$B63A PRG:363A 4C 4C 5F B3 B4 9F 88 F0 03 4C 5F B3 B5 B0 18 69 - .byte $08, $85, $0A, $B5, $B7, $A8, $B9, $E4, $9F, $B4, $C0, $F0, $0C, $C9, $4B, $F0 ; CPU:$B64A PRG:364A 08 85 0A B5 B7 A8 B9 E4 9F B4 C0 F0 0C C9 4B F0 - .byte $06, $C9, $5F, $F0, $02, $69, $05, $A0, $40, $84, $00, $A8, $B5, $C0, $D0, $06 ; CPU:$B65A PRG:365A 06 C9 5F F0 02 69 05 A0 40 84 00 A8 B5 C0 D0 06 - .byte $B5, $8E, $C9, $08, $90, $D3, $B5, $8E, $38, $E9, $08, $85, $01, $A2, $05, $C0 ; CPU:$B66A PRG:366A B5 8E C9 08 90 D3 B5 8E 38 E9 08 85 01 A2 05 C0 - .byte $4B, $F0, $15, $C0, $5F, $F0, $11, $A2, $0A, $C9, $F0, $90, $0B, $A2, $05, $C9 ; CPU:$B67A PRG:367A 4B F0 15 C0 5F F0 11 A2 0A C9 F0 90 0B A2 05 C9 - .byte $F8, $90, $05, $98, $18, $69, $05, $A8, $86, $02, $E0, $05, $D0, $0B, $A5, $00 ; CPU:$B68A PRG:368A F8 90 05 98 18 69 05 A8 86 02 E0 05 D0 0B A5 00 - .byte $F0, $07, $A5, $01, $18, $69, $08, $85, $01, $A6, $4B, $A5, $0A, $9D, $00, $06 ; CPU:$B69A PRG:369A F0 07 A5 01 18 69 08 85 01 A6 4B A5 0A 9D 00 06 - .byte $18, $69, $08, $85, $0B, $E8, $B9, $ED, $9F, $9D, $00, $06, $E8, $A5, $00, $09 ; CPU:$B6AA PRG:36AA 18 69 08 85 0B E8 B9 ED 9F 9D 00 06 E8 A5 00 09 - .byte $02, $9D, $00, $06, $E8, $A5, $01, $9D, $00, $06, $E8, $C8, $A5, $02, $C9, $06 ; CPU:$B6BA PRG:36BA 02 9D 00 06 E8 A5 01 9D 00 06 E8 C8 A5 02 C9 06 - .byte $D0, $0A, $A5, $01, $69, $07, $85, $01, $A5, $0A, $85, $0B, $A5, $0B, $C6, $02 ; CPU:$B6CA PRG:36CA D0 0A A5 01 69 07 85 01 A5 0A 85 0B A5 0B C6 02 - .byte $D0, $CB, $86, $4B, $4C, $5F, $B3, $FF, $0B, $1B, $1F, $2B, $3B, $3F, $08, $B7 ; CPU:$B6DA PRG:36DA D0 CB 86 4B 4C 5F B3 FF 0B 1B 1F 2B 3B 3F 08 B7 - .byte $02, $00, $10, $BB, $02, $00, $18, $B9, $02, $00, $08, $B2, $02, $F8, $10, $BA ; CPU:$B6EA PRG:36EA 02 00 10 BB 02 00 18 B9 02 00 08 B2 02 F8 10 BA - .byte $02, $F8, $18, $B4, $02, $F8, $20, $B6, $02, $F8, $20, $B5, $02, $F0, $08, $B7 ; CPU:$B6FA PRG:36FA 02 F8 18 B4 02 F8 20 B6 02 F8 20 B5 02 F0 08 B7 - .byte $02, $F8, $10, $BB, $02, $F8, $18, $B9, $02, $F8, $08, $B2, $02, $00, $10, $BA ; CPU:$B70A PRG:370A 02 F8 10 BB 02 F8 18 B9 02 F8 08 B2 02 00 10 BA - .byte $02, $00, $18, $B4, $02, $00, $20, $B6, $02, $00, $20, $B5, $02, $08, $B4, $9F ; CPU:$B71A PRG:371A 02 00 18 B4 02 00 20 B6 02 00 20 B5 02 08 B4 9F - .byte $88, $D0, $6D, $B5, $B0, $85, $01, $B5, $C0, $D0, $1B, $AD, $E1, $B6, $85, $0E ; CPU:$B72A PRG:372A 88 D0 6D B5 B0 85 01 B5 C0 D0 1B AD E1 B6 85 0E - .byte $A9, $02, $85, $0F, $A0, $03, $B5, $8E, $85, $00, $C9, $10, $B0, $21, $88, $C9 ; CPU:$B73A PRG:373A A9 02 85 0F A0 03 B5 8E 85 00 C9 10 B0 21 88 C9 - .byte $08, $B0, $1C, $88, $90, $19, $AD, $E4, $B6, $85, $0E, $A9, $42, $85, $0F, $A0 ; CPU:$B74A PRG:374A 08 B0 1C 88 90 19 AD E4 B6 85 0E A9 42 85 0F A0 - .byte $06, $B5, $8E, $85, $00, $C9, $E9, $90, $06, $88, $C9, $F1, $90, $01, $88, $B9 ; CPU:$B75A PRG:375A 06 B5 8E 85 00 C9 E9 90 06 88 C9 F1 90 01 88 B9 - .byte $E1, $B6, $A8, $A6, $4B, $A5, $00, $18, $79, $E8, $B6, $9D, $03, $06, $88, $A5 ; CPU:$B76A PRG:376A E1 B6 A8 A6 4B A5 00 18 79 E8 B6 9D 03 06 88 A5 - .byte $0F, $9D, $02, $06, $88, $B9, $E8, $B6, $9D, $01, $06, $88, $A5, $01, $18, $79 ; CPU:$B77A PRG:377A 0F 9D 02 06 88 B9 E8 B6 9D 01 06 88 A5 01 18 79 - .byte $E8, $B6, $9D, $00, $06, $E8, $E8, $E8, $E8, $88, $C4, $0E, $D0, $D7, $86, $4B ; CPU:$B78A PRG:378A E8 B6 9D 00 06 E8 E8 E8 E8 88 C4 0E D0 D7 86 4B - .byte $4C, $5F, $B3, $A2, $02, $BC, $30, $04, $F0, $66, $20, $5E, $CB, $B0, $58, $BD ; CPU:$B79A PRG:379A 4C 5F B3 A2 02 BC 30 04 F0 66 20 5E CB B0 58 BD - .byte $24, $04, $4A, $4A, $4A, $4A, $A8, $B9, $8B, $A2, $48, $BD, $24, $04, $29, $0F ; CPU:$B7AA PRG:37AA 24 04 4A 4A 4A 4A A8 B9 8B A2 48 BD 24 04 29 0F - .byte $A8, $68, $18, $7D, $2A, $04, $9D, $2A, $04, $90, $01, $C8, $B9, $92, $A2, $10 ; CPU:$B7BA PRG:37BA A8 68 18 7D 2A 04 9D 2A 04 90 01 C8 B9 92 A2 10 - .byte $02, $D6, $EA, $18, $75, $D9, $95, $D9, $90, $02, $F6, $EA, $BD, $27, $04, $4A ; CPU:$B7CA PRG:37CA 02 D6 EA 18 75 D9 95 D9 90 02 F6 EA BD 27 04 4A - .byte $4A, $4A, $4A, $A8, $B9, $8B, $A2, $48, $BD, $27, $04, $29, $0F, $A8, $68, $18 ; CPU:$B7DA PRG:37DA 4A 4A 4A A8 B9 8B A2 48 BD 27 04 29 0F A8 68 18 - .byte $7D, $2D, $04, $9D, $2D, $04, $90, $01, $C8, $B9, $92, $A2, $18, $7D, $21, $04 ; CPU:$B7EA PRG:37EA 7D 2D 04 9D 2D 04 90 01 C8 B9 92 A2 18 7D 21 04 - .byte $9D, $21, $04, $C9, $B0, $90, $09, $A9, $00, $9D, $30, $04, $95, $D9, $95, $EA ; CPU:$B7FA PRG:37FA 9D 21 04 C9 B0 90 09 A9 00 9D 30 04 95 D9 95 EA - .byte $CA, $10, $92, $60, $A9, $00, $A0, $02, $20, $1C, $B2, $BC, $78, $04, $B9, $9C ; CPU:$B80A PRG:380A CA 10 92 60 A9 00 A0 02 20 1C B2 BC 78 04 B9 9C - .byte $A2, $20, $B3, $C7, $B5, $B0, $C9, $B0, $90, $4A, $A5, $18, $4A, $90, $18, $A9 ; CPU:$B81A PRG:381A A2 20 B3 C7 B5 B0 C9 B0 90 4A A5 18 4A 90 18 A9 - .byte $A8, $95, $B0, $A5, $19, $4A, $90, $08, $20, $9D, $B8, $B0, $03, $4C, $91, $B1 ; CPU:$B82A PRG:382A A8 95 B0 A5 19 4A 90 08 20 9D B8 B0 03 4C 91 B1 - .byte $A9, $01, $85, $FF, $4C, $E4, $B1, $20, $E1, $B8, $A9, $01, $85, $FF, $4C, $57 ; CPU:$B83A PRG:383A A9 01 85 FF 4C E4 B1 20 E1 B8 A9 01 85 FF 4C 57 - .byte $B2, $20, $E1, $B8, $A9, $01, $85, $FF, $A5, $18, $4A, $90, $14, $B5, $C0, $49 ; CPU:$B84A PRG:384A B2 20 E1 B8 A9 01 85 FF A5 18 4A 90 14 B5 C0 49 - .byte $01, $95, $C0, $A9, $01, $95, $80, $4A, $95, $B7, $A9, $0B, $95, $87, $4C, $B7 ; CPU:$B85A PRG:385A 01 95 C0 A9 01 95 80 4A 95 B7 A9 0B 95 87 4C B7 - .byte $DA, $4C, $57, $B2, $B5, $C0, $F0, $10, $BD, $FB, $04, $D5, $DF, $D0, $17, $BD ; CPU:$B86A PRG:386A DA 4C 57 B2 B5 C0 F0 10 BD FB 04 D5 DF D0 17 BD - .byte $F6, $04, $D5, $CE, $90, $CB, $B0, $0E, $BD, $FB, $04, $D5, $DF, $D0, $07, $BD ; CPU:$B87A PRG:387A F6 04 D5 CE 90 CB B0 0E BD FB 04 D5 DF D0 07 BD - .byte $F6, $04, $D5, $CE, $B0, $BB, $A5, $49, $29, $03, $D0, $06, $B5, $B7, $49, $01 ; CPU:$B88A PRG:388A F6 04 D5 CE B0 BB A5 49 29 03 D0 06 B5 B7 49 01 - .byte $95, $B7, $60, $A0, $05, $B9, $87, $00, $C9, $0E, $F0, $05, $88, $10, $F6, $18 ; CPU:$B89A PRG:389A 95 B7 60 A0 05 B9 87 00 C9 0E F0 05 88 10 F6 18 - .byte $60, $38, $60, $A2, $02, $BD, $37, $04, $F0, $1F, $BD, $3A, $04, $F0, $1A, $DE ; CPU:$B8AA PRG:38AA 60 38 60 A2 02 BD 37 04 F0 1F BD 3A 04 F0 1A DE - .byte $3A, $04, $C9, $0C, $B0, $1D, $A9, $DC, $9D, $37, $04, $BD, $3A, $04, $C9, $06 ; CPU:$B8BA PRG:38BA 3A 04 C9 0C B0 1D A9 DC 9D 37 04 BD 3A 04 C9 06 - .byte $B0, $11, $A9, $F0, $9D, $37, $04, $D0, $0A, $A9, $80, $95, $DC, $95, $ED, $0A ; CPU:$B8CA PRG:38CA B0 11 A9 F0 9D 37 04 D0 0A A9 80 95 DC 95 ED 0A - .byte $9D, $37, $04, $CA, $10, $CF, $60, $A0, $02, $B9, $37, $04, $F0, $04, $88, $10 ; CPU:$B8DA PRG:38DA 9D 37 04 CA 10 CF 60 A0 02 B9 37 04 F0 04 88 10 - .byte $F8, $60, $A9, $DB, $99, $37, $04, $A9, $12, $99, $3A, $04, $B5, $DF, $85, $08 ; CPU:$B8EA PRG:38EA F8 60 A9 DB 99 37 04 A9 12 99 3A 04 B5 DF 85 08 - .byte $B5, $CE, $38, $E9, $08, $99, $DC, $00, $B0, $02, $C6, $08, $A5, $08, $99, $ED ; CPU:$B8FA PRG:38FA B5 CE 38 E9 08 99 DC 00 B0 02 C6 08 A5 08 99 ED - .byte $00, $B5, $B0, $99, $3D, $04, $60, $A2, $02, $B5, $AD, $C9, $01, $D0, $6D, $BD ; CPU:$B90A PRG:390A 00 B5 B0 99 3D 04 60 A2 02 B5 AD C9 01 D0 6D BD - .byte $37, $04, $F0, $68, $A9, $00, $85, $04, $09, $40, $85, $05, $09, $80, $85, $07 ; CPU:$B91A PRG:391A 37 04 F0 68 A9 00 85 04 09 40 85 05 09 80 85 07 - .byte $A5, $04, $09, $80, $85, $06, $B5, $9C, $85, $00, $BD, $3D, $04, $85, $01, $A4 ; CPU:$B92A PRG:392A A5 04 09 80 85 06 B5 9C 85 00 BD 3D 04 85 01 A4 - .byte $4C, $A5, $01, $99, $D0, $06, $99, $D4, $06, $18, $69, $08, $99, $D8, $06, $99 ; CPU:$B93A PRG:393A 4C A5 01 99 D0 06 99 D4 06 18 69 08 99 D8 06 99 - .byte $DC, $06, $BD, $37, $04, $99, $D1, $06, $99, $D5, $06, $99, $D9, $06, $99, $DD ; CPU:$B94A PRG:394A DC 06 BD 37 04 99 D1 06 99 D5 06 99 D9 06 99 DD - .byte $06, $A5, $04, $99, $D2, $06, $A5, $05, $99, $D6, $06, $A5, $06, $99, $DA, $06 ; CPU:$B95A PRG:395A 06 A5 04 99 D2 06 A5 05 99 D6 06 A5 06 99 DA 06 - .byte $A5, $07, $99, $DE, $06, $A5, $00, $99, $D3, $06, $99, $DB, $06, $18, $69, $08 ; CPU:$B96A PRG:396A A5 07 99 DE 06 A5 00 99 D3 06 99 DB 06 18 69 08 - .byte $99, $D7, $06, $99, $DF, $06, $98, $18, $69, $10, $85, $4C, $CA, $10, $8A, $60 ; CPU:$B97A PRG:397A 99 D7 06 99 DF 06 98 18 69 10 85 4C CA 10 8A 60 - .byte $A2, $02, $B5, $AA, $C9, $01, $D0, $22, $BC, $30, $04, $F0, $1D, $A4, $4C, $BD ; CPU:$B98A PRG:398A A2 02 B5 AA C9 01 D0 22 BC 30 04 F0 1D A4 4C BD - .byte $21, $04, $99, $D0, $06, $C8, $A9, $E4, $99, $D0, $06, $C8, $A9, $03, $99, $D0 ; CPU:$B99A PRG:399A 21 04 99 D0 06 C8 A9 E4 99 D0 06 C8 A9 03 99 D0 - .byte $06, $C8, $B5, $99, $99, $D0, $06, $C8, $84, $4C, $CA, $10, $D5, $60, $A2, $03 ; CPU:$B9AA PRG:39AA 06 C8 B5 99 99 D0 06 C8 84 4C CA 10 D5 60 A2 03 - .byte $8A, $9D, $C2, $03, $BD, $DC, $04, $95, $00, $CA, $10, $F4, $A2, $03, $86, $05 ; CPU:$B9BA PRG:39BA 8A 9D C2 03 BD DC 04 95 00 CA 10 F4 A2 03 86 05 - .byte $A0, $00, $BE, $C2, $03, $B5, $00, $BE, $C3, $03, $D5, $00, $90, $0A, $B9, $C2 ; CPU:$B9CA PRG:39CA A0 00 BE C2 03 B5 00 BE C3 03 D5 00 90 0A B9 C2 - .byte $03, $99, $C3, $03, $8A, $99, $C2, $03, $C8, $C4, $05, $D0, $E5, $C6, $05, $D0 ; CPU:$B9DA PRG:39DA 03 99 C3 03 8A 99 C2 03 C8 C4 05 D0 E5 C6 05 D0 - .byte $DF, $60, $A2, $05, $A9, $00, $85, $00, $85, $01, $B5, $CE, $38, $E5, $D4, $9D ; CPU:$B9EA PRG:39EA DF 60 A2 05 A9 00 85 00 85 01 B5 CE 38 E5 D4 9D - .byte $DC, $04, $B5, $DF, $E5, $E5, $10, $06, $EA, $C6, $00, $4C, $0D, $BA, $C6, $01 ; CPU:$B9FA PRG:39FA DC 04 B5 DF E5 E5 10 06 EA C6 00 4C 0D BA C6 01 - .byte $4C, $0D, $BA, $45, $00, $9D, $E3, $04, $BD, $DC, $04, $45, $00, $18, $65, $01 ; CPU:$BA0A PRG:3A0A 4C 0D BA 45 00 9D E3 04 BD DC 04 45 00 18 65 01 - .byte $9D, $DC, $04, $CA, $10, $CE, $60, $A2, $0A, $A5, $E5, $D5, $DF, $F0, $10, $EA ; CPU:$BA1A PRG:3A1A 9D DC 04 CA 10 CE 60 A2 0A A5 E5 D5 DF F0 10 EA - .byte $A5, $E5, $38, $F5, $DF, $A9, $00, $69, $00, $9D, $EA, $04, $4C, $4A, $BA, $A5 ; CPU:$BA2A PRG:3A2A A5 E5 38 F5 DF A9 00 69 00 9D EA 04 4C 4A BA A5 - .byte $D4, $38, $F5, $CE, $A9, $00, $69, $00, $9D, $EA, $04, $4C, $4A, $BA, $EA, $EA ; CPU:$BA3A PRG:3A3A D4 38 F5 CE A9 00 69 00 9D EA 04 4C 4A BA EA EA - .byte $CA, $10, $D6, $60, $A5, $5A, $C9, $3E, $D0, $64, $A5, $5B, $C9, $AC, $D0, $5E ; CPU:$BA4A PRG:3A4A CA 10 D6 60 A5 5A C9 3E D0 64 A5 5B C9 AC D0 5E - .byte $A2, $03, $A9, $02, $85, $00, $A9, $20, $85, $05, $A9, $02, $D0, $34, $A4, $4D ; CPU:$BA5A PRG:3A5A A2 03 A9 02 85 00 A9 20 85 05 A9 02 D0 34 A4 4D - .byte $99, $33, $07, $99, $37, $07, $A5, $01, $C9, $01, $D0, $24, $BD, $50, $04, $99 ; CPU:$BA6A PRG:3A6A 99 33 07 99 37 07 A5 01 C9 01 D0 24 BD 50 04 99 - .byte $30, $07, $18, $69, $05, $99, $34, $07, $A9, $F1, $99, $31, $07, $99, $35, $07 ; CPU:$BA7A PRG:3A7A 30 07 18 69 05 99 34 07 A9 F1 99 31 07 99 35 07 - .byte $A5, $05, $99, $32, $07, $49, $80, $99, $36, $07, $98, $18, $69, $08, $85, $4D ; CPU:$BA8A PRG:3A8A A5 05 99 32 07 49 80 99 36 07 98 18 69 08 85 4D - .byte $A9, $06, $85, $03, $A5, $05, $49, $40, $85, $05, $B5, $A6, $85, $01, $B5, $95 ; CPU:$BA9A PRG:3A9A A9 06 85 03 A5 05 49 40 85 05 B5 A6 85 01 B5 95 - .byte $38, $E5, $03, $B0, $02, $C6, $01, $C6, $00, $10, $B3, $CA, $10, $A4, $60, $A5 ; CPU:$BAAA PRG:3AAA 38 E5 03 B0 02 C6 01 C6 00 10 B3 CA 10 A4 60 A5 - .byte $12, $29, $70, $F0, $04, $29, $30, $F0, $06, $A9, $00, $8D, $85, $03, $60, $AD ; CPU:$BABA PRG:3ABA 12 29 70 F0 04 29 30 F0 06 A9 00 8D 85 03 60 AD - .byte $85, $03, $D0, $FA, $AD, $72, $03, $D0, $11, $A5, $65, $49, $07, $AA, $A5, $12 ; CPU:$BACA PRG:3ACA 85 03 D0 FA AD 72 03 D0 11 A5 65 49 07 AA A5 12 - .byte $10, $02, $CA, $CA, $CA, $A5, $61, $4C, $F1, $BA, $A6, $65, $A5, $12, $30, $02 ; CPU:$BADA PRG:3ADA 10 02 CA CA CA A5 61 4C F1 BA A6 65 A5 12 30 02 - .byte $CA, $CA, $E8, $A5, $61, $49, $01, $85, $00, $E0, $07, $B0, $64, $86, $01, $A9 ; CPU:$BAEA PRG:3AEA CA CA E8 A5 61 49 01 85 00 E0 07 B0 64 86 01 A9 - .byte $03, $85, $02, $E0, $06, $F0, $02, $A9, $00, $AA, $AC, $00, $03, $BD, $8A, $A4 ; CPU:$BAFA PRG:3AFA 03 85 02 E0 06 F0 02 A9 00 AA AC 00 03 BD 8A A4 - .byte $99, $04, $03, $BD, $90, $A4, $99, $0A, $03, $E8, $C8, $C6, $02, $D0, $EE, $A5 ; CPU:$BB0A PRG:3B0A 99 04 03 BD 90 A4 99 0A 03 E8 C8 C6 02 D0 EE A5 - .byte $01, $0A, $AA, $AC, $00, $03, $A5, $00, $0A, $0A, $09, $21, $99, $01, $03, $99 ; CPU:$BB1A PRG:3B1A 01 0A AA AC 00 03 A5 00 0A 0A 09 21 99 01 03 99 - .byte $07, $03, $AD, $84, $03, $99, $02, $03, $18, $69, $20, $99, $08, $03, $A9, $03 ; CPU:$BB2A PRG:3B2A 07 03 AD 84 03 99 02 03 18 69 20 99 08 03 A9 03 - .byte $99, $03, $03, $99, $09, $03, $BD, $7C, $A4, $99, $05, $03, $BD, $7D, $A4, $99 ; CPU:$BB3A PRG:3B3A 99 03 03 99 09 03 BD 7C A4 99 05 03 BD 7D A4 99 - .byte $0B, $03, $A9, $00, $99, $0D, $03, $98, $18, $69, $12, $8D, $00, $03, $8D, $85 ; CPU:$BB4A PRG:3B4A 0B 03 A9 00 99 0D 03 98 18 69 12 8D 00 03 8D 85 - .byte $03, $60, $A9, $12, $85, $87, $A9, $01, $85, $80, $A9, $97, $85, $B0, $A9, $00 ; CPU:$BB5A PRG:3B5A 03 60 A9 12 85 87 A9 01 85 80 A9 97 85 B0 A9 00 - .byte $85, $DF, $A9, $40, $85, $CE, $A9, $00, $85, $B7, $A5, $51, $C9, $05, $D0, $08 ; CPU:$BB6A PRG:3B6A 85 DF A9 40 85 CE A9 00 85 B7 A5 51 C9 05 D0 08 - .byte $A9, $01, $85, $9F, $A9, $40, $85, $8E, $60, $90, $A8, $09, $0B, $11, $0D, $40 ; CPU:$BB7A PRG:3B7A A9 01 85 9F A9 40 85 8E 60 90 A8 09 0B 11 0D 40 - .byte $40, $56, $56, $66, $0F, $0E, $0B, $0A, $02, $02, $03, $03, $20, $60, $00, $80 ; CPU:$BB8A PRG:3B8A 40 56 56 66 0F 0E 0B 0A 02 02 03 03 20 60 00 80 - .byte $04, $06, $08, $08, $03, $04, $05, $06, $92, $9C, $00, $00, $92, $BD, $B8, $00 ; CPU:$BB9A PRG:3B9A 04 06 08 08 03 04 05 06 92 9C 00 00 92 BD B8 00 - .byte $00, $B8, $8F, $8A, $86, $82, $7C, $7F, $82, $86, $8A, $8F, $B2, $AF, $AC, $A8 ; CPU:$BBAA PRG:3BAA 00 B8 8F 8A 86 82 7C 7F 82 86 8A 8F B2 AF AC A8 - .byte $A0, $A4, $A8, $AC, $AF, $B2, $04, $FC, $03, $03, $03, $03, $0A, $03, $0E, $03 ; CPU:$BBBA PRG:3BBA A0 A4 A8 AC AF B2 04 FC 03 03 03 03 0A 03 0E 03 - .byte $07, $07, $07, $07, $10, $07, $10, $07, $0A, $1A, $0A, $0A, $0A, $00, $0A, $0A ; CPU:$BBCA PRG:3BCA 07 07 07 07 10 07 10 07 0A 1A 0A 0A 0A 00 0A 0A - .byte $00, $00, $02, $02, $02, $02, $10, $02, $00, $02, $30, $30, $30, $30, $30, $30 ; CPU:$BBDA PRG:3BDA 00 00 02 02 02 02 10 02 00 02 30 30 30 30 30 30 - .byte $20, $30, $00, $00, $08, $08, $10, $08, $14, $08, $00, $08, $04, $04, $04, $04 ; CPU:$BBEA PRG:3BEA 20 30 00 00 08 08 10 08 14 08 00 08 04 04 04 04 - .byte $08, $00, $04, $04, $00, $00, $04, $04, $04, $04, $04, $04, $00, $04, $04, $04 ; CPU:$BBFA PRG:3BFA 08 00 04 04 00 00 04 04 04 04 04 04 00 04 04 04 - .byte $04, $04, $04, $06, $04, $04, $00, $00, $04, $04, $04, $04, $04, $04, $00, $04 ; CPU:$BC0A PRG:3C0A 04 04 04 06 04 04 00 00 04 04 04 04 04 04 00 04 - .byte $96, $96, $A0, $B0, $78, $87, $A0, $A0, $A3, $B8, $80, $98, $0A, $0E, $0A, $0E ; CPU:$BC1A PRG:3C1A 96 96 A0 B0 78 87 A0 A0 A3 B8 80 98 0A 0E 0A 0E - .byte $0A, $0C, $08, $08, $08, $08, $08, $0B, $98, $98, $A0, $B0, $78, $92, $08, $08 ; CPU:$BC2A PRG:3C2A 0A 0C 08 08 08 08 08 0B 98 98 A0 B0 78 92 08 08 - .byte $07, $0A, $06, $0A, $07, $12, $00, $04, $00, $00, $12, $0D, $12, $12, $18, $12 ; CPU:$BC3A PRG:3C3A 07 0A 06 0A 07 12 00 04 00 00 12 0D 12 12 18 12 - .byte $00, $00, $10, $10, $19, $19, $19, $19, $19, $19, $00, $00, $0C, $08, $0C, $0C ; CPU:$BC4A PRG:3C4A 00 00 10 10 19 19 19 19 19 19 00 00 0C 08 0C 0C - .byte $12, $0C, $00, $00, $0A, $0A, $12, $12, $12, $12, $12, $12, $00, $00, $00, $06 ; CPU:$BC5A PRG:3C5A 12 0C 00 00 0A 0A 12 12 12 12 12 12 00 00 00 06 - .byte $0C, $12, $18, $1E, $24, $24, $2A, $2A, $2A, $2A, $30, $2A, $18, $2A, $01, $01 ; CPU:$BC6A PRG:3C6A 0C 12 18 1E 24 24 2A 2A 2A 2A 30 2A 18 2A 01 01 - .byte $01, $01, $00, $01, $0D, $09, $0D, $09, $00, $19, $0D, $0D, $0D, $0D, $00, $19 ; CPU:$BC7A PRG:3C7A 01 01 00 01 0D 09 0D 09 00 19 0D 0D 0D 0D 00 19 - .byte $09, $07, $09, $07, $00, $19, $00, $00, $0D, $00, $00, $00, $0D, $09, $0D, $09 ; CPU:$BC8A PRG:3C8A 09 07 09 07 00 19 00 00 0D 00 00 00 0D 09 0D 09 - .byte $00, $19, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$BC9A PRG:3C9A 00 19 00 00 00 00 00 00 01 01 01 01 01 01 01 01 - .byte $00, $00, $00, $01, $07, $F8, $90, $A0, $98, $A8, $12, $12, $1C, $1C, $FF, $00 ; CPU:$BCAA PRG:3CAA 00 00 00 01 07 F8 90 A0 98 A8 12 12 1C 1C FF 00 - .byte $FF, $00, $00, $00, $00, $00, $01, $00, $00, $01, $00, $01, $02, $01, $01, $02 ; CPU:$BCBA PRG:3CBA FF 00 00 00 00 00 01 00 00 01 00 01 02 01 01 02 - .byte $02, $02, $03, $02, $03, $04, $08, $2C, $80, $04, $FC, $FC, $FC, $FC, $00, $FD ; CPU:$BCCA PRG:3CCA 02 02 03 02 03 04 08 2C 80 04 FC FC FC FC 00 FD - .byte $03, $09, $0F, $15, $15, $1B, $21, $FD, $FD, $27, $0F, $2D, $33, $0F, $33, $FD ; CPU:$BCDA PRG:3CDA 03 09 0F 15 15 1B 21 FD FD 27 0F 2D 33 0F 33 FD - .byte $0F, $BC, $BD, $BD, $BD, $BD, $BD, $BD, $BD, $BC, $BC, $BD, $BD, $BD, $BD, $BD ; CPU:$BCEA PRG:3CEA 0F BC BD BD BD BD BD BD BD BC BC BD BD BD BD BD - .byte $BD, $BC, $BD, $01, $00, $01, $00, $00, $01, $04, $04, $05, $04, $06, $06, $08 ; CPU:$BCFA PRG:3CFA BD BC BD 01 00 01 00 00 01 04 04 05 04 06 06 08 - .byte $07, $08, $07, $00, $09, $0A, $0A, $0A, $0A, $0A, $0A, $0B, $0B, $0B, $0B, $0B ; CPU:$BD0A PRG:3D0A 07 08 07 00 09 0A 0A 0A 0A 0A 0A 0B 0B 0B 0B 0B - .byte $0B, $00, $00, $0C, $00, $00, $00, $0D, $0D, $0D, $0D, $00, $0D, $0F, $0E, $0F ; CPU:$BD1A PRG:3D1A 0B 00 00 0C 00 00 00 0D 0D 0D 0D 00 0D 0F 0E 0F - .byte $0E, $0F, $0E, $00, $00, $00, $00, $10, $10, $15, $11, $15, $11, $15, $11, $00 ; CPU:$BD2A PRG:3D2A 0E 0F 0E 00 00 00 00 10 10 15 11 15 11 15 11 00 - .byte $04, $0C, $18, $04, $08, $0C, $10, $18, $1C, $20, $24, $28, $2C, $10, $14, $1C ; CPU:$BD3A PRG:3D3A 04 0C 18 04 08 0C 10 18 1C 20 24 28 2C 10 14 1C - .byte $00, $04, $0C, $00, $04, $08, $14, $04, $28, $31, $02, $01, $00, $32, $02, $02 ; CPU:$BD4A PRG:3D4A 00 04 0C 00 04 08 14 04 28 31 02 01 00 32 02 02 - .byte $00, $33, $02, $03, $00, $34, $02, $04, $00, $35, $02, $05, $00, $36, $02, $06 ; CPU:$BD5A PRG:3D5A 00 33 02 03 00 34 02 04 00 35 02 05 00 36 02 06 - .byte $00, $38, $02, $07, $00, $21, $02, $01, $08, $22, $02, $02, $08, $23, $02, $03 ; CPU:$BD6A PRG:3D6A 00 38 02 07 00 21 02 01 08 22 02 02 08 23 02 03 - .byte $08, $25, $02, $05, $08, $11, $03, $01, $08, $00, $DC, $00, $00, $24, $98, $98 ; CPU:$BD7A PRG:3D7A 08 25 02 05 08 11 03 01 08 00 DC 00 00 24 98 98 - .byte $90, $90, $37, $5B, $01, $9C, $37, $BC, $01, $A4, $37, $BD, $01, $AC, $A2, $A4 ; CPU:$BD8A PRG:3D8A 90 90 37 5B 01 9C 37 BC 01 A4 37 BD 01 AC A2 A4 - .byte $A6, $A8, $AA, $BD, $BD, $BD, $BD, $BD, $20, $AF, $20, $B1, $20, $B3, $20, $B5 ; CPU:$BD9A PRG:3D9A A6 A8 AA BD BD BD BD BD 20 AF 20 B1 20 B3 20 B5 - .byte $20, $B7, $FC, $FD, $98, $9C, $B4, $9C, $9C, $A0, $B8, $B0, $0F, $08, $0F, $08 ; CPU:$BDAA PRG:3DAA 20 B7 FC FD 98 9C B4 9C 9C A0 B8 B0 0F 08 0F 08 - .byte $08, $08, $08, $18, $10, $10, $40, $80, $10, $00, $01, $02, $03, $04, $04, $04 ; CPU:$BDBA PRG:3DBA 08 08 08 18 10 10 40 80 10 00 01 02 03 04 04 04 - .byte $03, $02, $00, $00, $F0, $B0, $4A, $10, $A6, $BE, $BD, $8E, $BB, $8D, $82, $03 ; CPU:$BDCA PRG:3DCA 03 02 00 00 F0 B0 4A 10 A6 BE BD 8E BB 8D 82 03 - .byte $BD, $9A, $BB, $8D, $81, $03, $A4, $5F, $E0, $02, $B0, $05, $B9, $89, $BB, $D0 ; CPU:$BDDA PRG:3DDA BD 9A BB 8D 81 03 A4 5F E0 02 B0 05 B9 89 BB D0 - .byte $0A, $E0, $02, $D0, $04, $A9, $66, $D0, $02, $A9, $80, $8D, $83, $03, $60, $A9 ; CPU:$BDEA PRG:3DEA 0A E0 02 D0 04 A9 66 D0 02 A9 80 8D 83 03 60 A9 - .byte $01, $D5, $9F, $F0, $5E, $B5, $2B, $D0, $0A, $B5, $B7, $49, $01, $95, $B7, $A9 ; CPU:$BDFA PRG:3DFA 01 D5 9F F0 5E B5 2B D0 0A B5 B7 49 01 95 B7 A9 - .byte $07, $95, $2B, $A9, $00, $9D, $E4, $03, $A5, $5F, $C9, $04, $D0, $12, $A5, $85 ; CPU:$BE0A PRG:3E0A 07 95 2B A9 00 9D E4 03 A5 5F C9 04 D0 12 A5 85 - .byte $F0, $0E, $B5, $C0, $D0, $0A, $B5, $DF, $C9, $03, $B0, $2B, $A9, $03, $D0, $14 ; CPU:$BE1A PRG:3E1A F0 0E B5 C0 D0 0A B5 DF C9 03 B0 2B A9 03 D0 14 - .byte $AC, $72, $03, $B5, $C0, $F0, $15, $B5, $DF, $C9, $06, $D0, $1A, $B5, $CE, $D9 ; CPU:$BE2A PRG:3E2A AC 72 03 B5 C0 F0 15 B5 DF C9 06 D0 1A B5 CE D9 - .byte $CE, $BD, $90, $13, $9D, $E4, $03, $A9, $00, $95, $B7, $60, $B5, $DF, $D0, $07 ; CPU:$BE3A PRG:3E3A CE BD 90 13 9D E4 03 A9 00 95 B7 60 B5 DF D0 07 - .byte $B5, $CE, $D9, $D0, $BD, $90, $03, $4C, $18, $B2, $A9, $01, $9D, $E4, $03, $4A ; CPU:$BE4A PRG:3E4A B5 CE D9 D0 BD 90 03 4C 18 B2 A9 01 9D E4 03 4A - .byte $95, $B7, $60, $BD, $90, $04, $D0, $10, $B5, $B7, $C9, $03, $B0, $30, $20, $23 ; CPU:$BE5A PRG:3E5A 95 B7 60 BD 90 04 D0 10 B5 B7 C9 03 B0 30 20 23 - .byte $BF, $F0, $92, $C9, $02, $D0, $01, $60, $BD, $EC, $03, $F0, $03, $4C, $19, $BF ; CPU:$BE6A PRG:3E6A BF F0 92 C9 02 D0 01 60 BD EC 03 F0 03 4C 19 BF - .byte $95, $2B, $9D, $90, $04, $95, $C0, $B5, $80, $29, $02, $F0, $02, $F6, $C0, $A0 ; CPU:$BE7A PRG:3E7A 95 2B 9D 90 04 95 C0 B5 80 29 02 F0 02 F6 C0 A0 - .byte $00, $A5, $18, $CD, $83, $03, $B0, $02, $C8, $C8, $98, $9D, $E8, $03, $B5, $2B ; CPU:$BE8A PRG:3E8A 00 A5 18 CD 83 03 B0 02 C8 C8 98 9D E8 03 B5 2B - .byte $D0, $D5, $B5, $B7, $C9, $04, $F0, $4C, $C9, $06, $F0, $48, $BD, $E8, $03, $A8 ; CPU:$BE9A PRG:3E9A D0 D5 B5 B7 C9 04 F0 4C C9 06 F0 48 BD E8 03 A8 - .byte $FE, $E8, $03, $B9, $9E, $BB, $95, $B7, $C9, $04, $F0, $04, $C9, $06, $D0, $2F ; CPU:$BEAA PRG:3EAA FE E8 03 B9 9E BB 95 B7 C9 04 F0 04 C9 06 D0 2F - .byte $B5, $C0, $D0, $09, $A9, $01, $9D, $EC, $03, $A9, $F8, $D0, $07, $A9, $11, $9D ; CPU:$BEBA PRG:3EBA B5 C0 D0 09 A9 01 9D EC 03 A9 F8 D0 07 A9 11 9D - .byte $EC, $03, $A9, $08, $18, $75, $8E, $9D, $D4, $03, $BD, $E8, $03, $4A, $4A, $A8 ; CPU:$BECA PRG:3ECA EC 03 A9 08 18 75 8E 9D D4 03 BD E8 03 4A 4A A8 - .byte $B9, $83, $BB, $9D, $D0, $03, $A9, $F0, $9D, $E8, $03, $A9, $04, $85, $FC, $A9 ; CPU:$BEDA PRG:3EDA B9 83 BB 9D D0 03 A9 F0 9D E8 03 A9 04 85 FC A9 - .byte $0E, $95, $2B, $60, $A5, $19, $29, $03, $A8, $B9, $85, $BB, $95, $3F, $FE, $F0 ; CPU:$BEEA PRG:3EEA 0E 95 2B 60 A5 19 29 03 A8 B9 85 BB 95 3F FE F0 - .byte $03, $BD, $F0, $03, $CD, $81, $03, $D0, $16, $AD, $82, $03, $95, $3F, $B5, $C0 ; CPU:$BEFA PRG:3EFA 03 BD F0 03 CD 81 03 D0 16 AD 82 03 95 3F B5 C0 - .byte $49, $01, $95, $C0, $A9, $00, $9D, $F0, $03, $9D, $E8, $03, $95, $B7, $60, $A9 ; CPU:$BF0A PRG:3F0A 49 01 95 C0 A9 00 9D F0 03 9D E8 03 95 B7 60 A9 - .byte $00, $9D, $E8, $03, $A9, $02, $95, $B7, $60, $B5, $80, $29, $02, $4A, $85, $00 ; CPU:$BF1A PRG:3F1A 00 9D E8 03 A9 02 95 B7 60 B5 80 29 02 4A 85 00 - .byte $BD, $E4, $03, $D0, $75, $BD, $DC, $04, $30, $1C, $C9, $50, $90, $25, $BD, $F0 ; CPU:$BF2A PRG:3F2A BD E4 03 D0 75 BD DC 04 30 1C C9 50 90 25 BD F0 - .byte $03, $C9, $01, $D0, $05, $A9, $01, $9D, $F4, $03, $A5, $00, $D5, $C0, $F0, $06 ; CPU:$BF3A PRG:3F3A 03 C9 01 D0 05 A9 01 9D F4 03 A5 00 D5 C0 F0 06 - .byte $B5, $C0, $49, $01, $95, $C0, $B5, $B7, $C9, $02, $90, $04, $A9, $00, $95, $B7 ; CPU:$BF4A PRG:3F4A B5 C0 49 01 95 C0 B5 B7 C9 02 90 04 A9 00 95 B7 - .byte $A9, $00, $60, $C9, $4A, $B0, $2B, $C9, $0B, $B0, $0A, $AD, $82, $03, $95, $3F ; CPU:$BF5A PRG:3F5A A9 00 60 C9 4A B0 2B C9 0B B0 0A AD 82 03 95 3F - .byte $A5, $00, $4C, $4C, $BF, $B5, $3F, $D0, $03, $A9, $01, $60, $BD, $F0, $03, $F0 ; CPU:$BF6A PRG:3F6A A5 00 4C 4C BF B5 3F D0 03 A9 01 60 BD F0 03 F0 - .byte $09, $C9, $01, $D0, $0D, $BD, $F4, $03, $F0, $08, $A5, $00, $D5, $C0, $F0, $E0 ; CPU:$BF7A PRG:3F7A 09 C9 01 D0 0D BD F4 03 F0 08 A5 00 D5 C0 F0 E0 - .byte $D0, $C4, $BD, $F0, $03, $C9, $01, $F0, $05, $A9, $00, $9D, $F4, $03, $B5, $3F ; CPU:$BF8A PRG:3F8A D0 C4 BD F0 03 C9 01 F0 05 A9 00 9D F4 03 B5 3F - .byte $F0, $D7, $A5, $00, $D5, $C0, $D0, $AE, $F0, $15, $A5, $5F, $C9, $04, $D0, $07 ; CPU:$BF9A PRG:3F9A F0 D7 A5 00 D5 C0 D0 AE F0 15 A5 5F C9 04 D0 07 - .byte $BD, $DC, $04, $C9, $50, $B0, $04, $B5, $3F, $F0, $BE, $A5, $00, $95, $C0, $A9 ; CPU:$BFAA PRG:3FAA BD DC 04 C9 50 B0 04 B5 3F F0 BE A5 00 95 C0 A9 - .byte $00, $95, $B7, $A9, $02, $60, $A2, $03, $BD, $EC, $03, $F0, $5F, $29, $10, $F0 ; CPU:$BFBA PRG:3FBA 00 95 B7 A9 02 60 A2 03 BD EC 03 F0 5F 29 10 F0 - .byte $02, $A9, $40, $85, $04, $E6, $04, $9D, $33, $04, $BD, $D4, $03, $85, $0A, $BD ; CPU:$BFCA PRG:3FCA 02 A9 40 85 04 E6 04 9D 33 04 BD D4 03 85 0A BD - .byte $D0, $03, $85, $0B, $20, $A2, $C0, $20, $01, $C1, $D0, $0C, $20, $6C, $C0, $BD ; CPU:$BFDA PRG:3FDA D0 03 85 0B 20 A2 C0 20 01 C1 D0 0C 20 6C C0 BD - .byte $D4, $03, $C9, $F8, $90, $36, $B0, $2C, $A5, $53, $F0, $04, $A9, $12, $D0, $02 ; CPU:$BFEA PRG:3FEA D4 03 C9 F8 90 36 B0 2C A5 53 F0 04 A9 12 D0 02 - .byte $A9, $0C, $8D, $7A, $03, $86, $00, $A2, $06, $20, $70, $C4, $A6, $00, $BD, $D0 ; CPU:$BFFA PRG:3FFA A9 0C 8D 7A 03 86 00 A2 06 20 70 C4 A6 00 BD D0 - .byte $03, $85, $00, $BD, $D4, $03, $85, $01, $20, $2D, $C0, $8D, $96, $04, $99, $C9 ; CPU:$C00A PRG:400A 03 85 00 BD D4 03 85 01 20 2D C0 8D 96 04 99 C9 - .byte $03, $4A, $85, $67, $A9, $00, $9D, $EC, $03, $9D, $AD, $03, $CA, $30, $03, $4C ; CPU:$C01A PRG:401A 03 4A 85 67 A9 00 9D EC 03 9D AD 03 CA 30 03 4C - .byte $C2, $BF, $60, $20, $05, $C2, $A4, $0F, $A5, $00, $99, $DC, $03, $A5, $01, $99 ; CPU:$C02A PRG:402A C2 BF 60 20 05 C2 A4 0F A5 00 99 DC 03 A5 01 99 - .byte $E0, $03, $A9, $01, $99, $D8, $03, $60, $A2, $03, $BD, $EC, $03, $F0, $1F, $A4 ; CPU:$C03A PRG:403A E0 03 A9 01 99 D8 03 60 A2 03 BD EC 03 F0 1F A4 - .byte $4C, $BD, $D0, $03, $99, $D0, $06, $C8, $A9, $0A, $99, $D0, $06, $C8, $BD, $33 ; CPU:$C04A PRG:404A 4C BD D0 03 99 D0 06 C8 A9 0A 99 D0 06 C8 BD 33 - .byte $04, $99, $D0, $06, $C8, $BD, $D4, $03, $99, $D0, $06, $C8, $84, $4C, $CA, $10 ; CPU:$C05A PRG:405A 04 99 D0 06 C8 BD D4 03 99 D0 06 C8 84 4C CA 10 - .byte $D9, $60, $AD, $A6, $04, $30, $30, $A4, $BE, $B9, $92, $BB, $85, $03, $BD, $AD ; CPU:$C06A PRG:406A D9 60 AD A6 04 30 30 A4 BE B9 92 BB 85 03 BD AD - .byte $03, $18, $79, $96, $BB, $9D, $AD, $03, $90, $02, $E6, $03, $BD, $EC, $03, $29 ; CPU:$C07A PRG:407A 03 18 79 96 BB 9D AD 03 90 02 E6 03 BD EC 03 29 - .byte $10, $D0, $08, $A5, $03, $49, $FF, $85, $03, $E6, $03, $A5, $03, $18, $7D, $D4 ; CPU:$C08A PRG:408A 10 D0 08 A5 03 49 FF 85 03 E6 03 A5 03 18 7D D4 - .byte $03, $18, $65, $66, $9D, $D4, $03, $60, $8A, $48, $A5, $0A, $18, $69, $03, $85 ; CPU:$C09A PRG:409A 03 18 65 66 9D D4 03 60 8A 48 A5 0A 18 69 03 85 - .byte $00, $18, $69, $02, $85, $02, $A5, $0B, $18, $69, $04, $85, $03, $18, $69, $03 ; CPU:$C0AA PRG:40AA 00 18 69 02 85 02 A5 0B 18 69 04 85 03 18 69 03 - .byte $85, $01, $A2, $04, $20, $C4, $C0, $68, $AA, $60, $A5, $94, $38, $E9, $05, $95 ; CPU:$C0BA PRG:40BA 85 01 A2 04 20 C4 C0 68 AA 60 A5 94 38 E9 05 95 - .byte $00, $18, $69, $0A, $95, $02, $A5, $69, $29, $0F, $4A, $C9, $02, $F0, $0C, $A8 ; CPU:$C0CA PRG:40CA 00 18 69 0A 95 02 A5 69 29 0F 4A C9 02 F0 0C A8 - .byte $B9, $A2, $BB, $95, $01, $B9, $A7, $BB, $95, $03, $60, $A4, $68, $B9, $AC, $BB ; CPU:$C0DA PRG:40DA B9 A2 BB 95 01 B9 A7 BB 95 03 60 A4 68 B9 AC BB - .byte $95, $01, $B9, $B6, $BB, $95, $03, $A5, $69, $29, $01, $A8, $A5, $94, $95, $00 ; CPU:$C0EA PRG:40EA 95 01 B9 B6 BB 95 03 A5 69 29 01 A8 A5 94 95 00 - .byte $18, $79, $C0, $BB, $95, $02, $60, $A5, $00, $C5, $04, $90, $0A, $F0, $0E, $C5 ; CPU:$C0FA PRG:40FA 18 79 C0 BB 95 02 60 A5 00 C5 04 90 0A F0 0E C5 - .byte $06, $90, $0A, $F0, $08, $B0, $1F, $A5, $02, $C5, $04, $90, $19, $A5, $01, $C5 ; CPU:$C10A PRG:410A 06 90 0A F0 08 B0 1F A5 02 C5 04 90 19 A5 01 C5 - .byte $05, $90, $0A, $F0, $0E, $C5, $07, $90, $0A, $F0, $08, $B0, $09, $A5, $03, $C5 ; CPU:$C11A PRG:411A 05 90 0A F0 0E C5 07 90 0A F0 08 B0 09 A5 03 C5 - .byte $05, $90, $03, $A9, $01, $60, $A9, $00, $60, $A4, $0F, $B5, $8E, $38, $E9, $04 ; CPU:$C12A PRG:412A 05 90 03 A9 01 60 A9 00 60 A4 0F B5 8E 38 E9 04 - .byte $99, $00, $00, $18, $69, $08, $99, $02, $00, $B5, $87, $38, $E9, $0A, $A8, $B9 ; CPU:$C13A PRG:413A 99 00 00 18 69 08 99 02 00 B5 87 38 E9 0A A8 B9 - .byte $C2, $BB, $18, $75, $B0, $85, $0D, $A5, $5F, $D0, $0D, $A5, $7B, $C9, $03, $D0 ; CPU:$C14A PRG:414A C2 BB 18 75 B0 85 0D A5 5F D0 0D A5 7B C9 03 D0 - .byte $07, $A5, $0D, $18, $69, $10, $85, $0D, $B5, $B0, $18, $79, $CA, $BB, $85, $0E ; CPU:$C15A PRG:415A 07 A5 0D 18 69 10 85 0D B5 B0 18 79 CA BB 85 0E - .byte $A4, $0F, $A5, $0D, $99, $01, $00, $A5, $0E, $99, $03, $00, $60, $A4, $0F, $B5 ; CPU:$C16A PRG:416A A4 0F A5 0D 99 01 00 A5 0E 99 03 00 60 A4 0F B5 - .byte $8E, $38, $FD, $F6, $BB, $99, $00, $00, $B5, $8E, $18, $7D, $08, $BC, $99, $02 ; CPU:$C17A PRG:417A 8E 38 FD F6 BB 99 00 00 B5 8E 18 7D 08 BC 99 02 - .byte $00, $B4, $87, $B9, $D2, $BB, $18, $75, $B0, $85, $0D, $A5, $5F, $F0, $0C, $C9 ; CPU:$C18A PRG:418A 00 B4 87 B9 D2 BB 18 75 B0 85 0D A5 5F F0 0C C9 - .byte $04, $D0, $15, $A5, $7B, $C9, $04, $D0, $0F, $F0, $06, $A5, $7B, $C9, $03, $D0 ; CPU:$C19A PRG:419A 04 D0 15 A5 7B C9 04 D0 0F F0 06 A5 7B C9 03 D0 - .byte $07, $A5, $0D, $18, $69, $10, $85, $0D, $B5, $B0, $18, $79, $E4, $BB, $85, $0E ; CPU:$C1AA PRG:41AA 07 A5 0D 18 69 10 85 0D B5 B0 18 79 E4 BB 85 0E - .byte $A4, $0F, $A5, $0D, $99, $01, $00, $A5, $0E, $99, $03, $00, $60, $A2, $02, $BD ; CPU:$C1BA PRG:41BA A4 0F A5 0D 99 01 00 A5 0E 99 03 00 60 A2 02 BD - .byte $D8, $03, $F0, $33, $C9, $01, $D0, $07, $A9, $06, $95, $26, $FE, $D8, $03, $B5 ; CPU:$C1CA PRG:41CA D8 03 F0 33 C9 01 D0 07 A9 06 95 26 FE D8 03 B5 - .byte $26, $D0, $05, $9D, $D8, $03, $F0, $1F, $A4, $4C, $BD, $DC, $03, $99, $D0, $06 ; CPU:$C1DA PRG:41DA 26 D0 05 9D D8 03 F0 1F A4 4C BD DC 03 99 D0 06 - .byte $C8, $A9, $0B, $99, $D0, $06, $C8, $BD, $C9, $03, $99, $D0, $06, $C8, $BD, $E0 ; CPU:$C1EA PRG:41EA C8 A9 0B 99 D0 06 C8 BD C9 03 99 D0 06 C8 BD E0 - .byte $03, $99, $D0, $06, $C8, $84, $4C, $CA, $10, $C5, $60, $8A, $48, $A2, $02, $BD ; CPU:$C1FA PRG:41FA 03 99 D0 06 C8 84 4C CA 10 C5 60 8A 48 A2 02 BD - .byte $D8, $03, $F0, $03, $CA, $10, $F8, $86, $0F, $68, $AA, $60, $A5, $69, $C9, $0F ; CPU:$C20A PRG:420A D8 03 F0 03 CA 10 F8 86 0F 68 AA 60 A5 69 C9 0F - .byte $90, $0A, $29, $04, $D0, $12, $A5, $68, $C9, $01, $F0, $0C, $A9, $00, $8D, $B6 ; CPU:$C21A PRG:421A 90 0A 29 04 D0 12 A5 68 C9 01 F0 0C A9 00 8D B6 - .byte $04, $8D, $86, $03, $60, $4C, $00, $C3, $A2, $05, $B5, $9F, $C9, $01, $D0, $F5 ; CPU:$C22A PRG:422A 04 8D 86 03 60 4C 00 C3 A2 05 B5 9F C9 01 D0 F5 - .byte $BD, $A0, $04, $30, $F0, $B5, $80, $F0, $EC, $B5, $87, $C9, $0F, $F0, $06, $B5 ; CPU:$C23A PRG:423A BD A0 04 30 F0 B5 80 F0 EC B5 87 C9 0F F0 06 B5 - .byte $80, $29, $08, $D0, $E0, $B5, $80, $29, $04, $D0, $DA, $85, $0A, $20, $69, $C6 ; CPU:$C24A PRG:424A 80 29 08 D0 E0 B5 80 29 04 D0 DA 85 0A 20 69 C6 - .byte $A9, $04, $85, $0F, $20, $77, $C1, $20, $01, $C1, $F0, $C9, $B5, $87, $C9, $07 ; CPU:$C25A PRG:425A A9 04 85 0F 20 77 C1 20 01 C1 F0 C9 B5 87 C9 07 - .byte $D0, $12, $AD, $8C, $03, $F0, $07, $A5, $7B, $C9, $05, $90, $07, $60, $A9, $01 ; CPU:$C26A PRG:426A D0 12 AD 8C 03 F0 07 A5 7B C9 05 90 07 60 A9 01 - .byte $8D, $8C, $03, $60, $20, $06, $C3, $20, $30, $C3, $B5, $87, $C9, $02, $90, $2E ; CPU:$C27A PRG:427A 8D 8C 03 60 20 06 C3 20 30 C3 B5 87 C9 02 90 2E - .byte $C9, $06, $D0, $11, $AD, $79, $03, $C9, $02, $F0, $0A, $A9, $00, $85, $67, $A9 ; CPU:$C28A PRG:428A C9 06 D0 11 AD 79 03 C9 02 F0 0A A9 00 85 67 A9 - .byte $01, $85, $7D, $D0, $61, $C9, $08, $F0, $5D, $AD, $B6, $04, $D0, $58, $B5, $87 ; CPU:$C29A PRG:429A 01 85 7D D0 61 C9 08 F0 5D AD B6 04 D0 58 B5 87 - .byte $C9, $0A, $B0, $0A, $C9, $02, $F0, $06, $A5, $FD, $09, $04, $85, $FD, $AD, $B6 ; CPU:$C2AA PRG:42AA C9 0A B0 0A C9 02 F0 06 A5 FD 09 04 85 FD AD B6 - .byte $04, $F0, $03, $EE, $86, $03, $AD, $86, $03, $9D, $D5, $04, $B5, $87, $C9, $0A ; CPU:$C2BA PRG:42BA 04 F0 03 EE 86 03 AD 86 03 9D D5 04 B5 87 C9 0A - .byte $B0, $31, $B5, $C0, $29, $01, $D0, $02, $A9, $F8, $18, $75, $8E, $85, $01, $AC ; CPU:$C2CA PRG:42CA B0 31 B5 C0 29 01 D0 02 A9 F8 18 75 8E 85 01 AC - .byte $79, $03, $B9, $32, $BC, $85, $00, $20, $2D, $C0, $9D, $90, $04, $8D, $B6, $04 ; CPU:$C2DA PRG:42DA 79 03 B9 32 BC 85 00 20 2D C0 9D 90 04 8D B6 04 - .byte $A9, $00, $99, $C9, $03, $A9, $01, $9D, $A8, $04, $B5, $8E, $C5, $94, $90, $03 ; CPU:$C2EA PRG:42EA A9 00 99 C9 03 A9 01 9D A8 04 B5 8E C5 94 90 03 - .byte $DE, $A8, $04, $20, $70, $C4, $CA, $30, $11, $4C, $34, $C2, $B5, $87, $C9, $0A ; CPU:$C2FA PRG:42FA DE A8 04 20 70 C4 CA 30 11 4C 34 C2 B5 87 C9 0A - .byte $B0, $09, $C9, $08, $F0, $04, $A9, $01, $85, $FC, $60, $C9, $0E, $B0, $05, $A9 ; CPU:$C30A PRG:430A B0 09 C9 08 F0 04 A9 01 85 FC 60 C9 0E B0 05 A9 - .byte $01, $85, $FF, $60, $C9, $0F, $D0, $05, $A9, $02, $85, $FF, $60, $C9, $11, $D0 ; CPU:$C31A PRG:431A 01 85 FF 60 C9 0F D0 05 A9 02 85 FF 60 C9 11 D0 - .byte $04, $A9, $01, $85, $FF, $60, $B5, $87, $A8, $B9, $66, $BC, $85, $00, $18, $6D ; CPU:$C32A PRG:432A 04 A9 01 85 FF 60 B5 87 A8 B9 66 BC 85 00 18 6D - .byte $79, $03, $A8, $B9, $78, $BC, $8D, $7A, $03, $60, $B5, $87, $C9, $0A, $B0, $01 ; CPU:$C33A PRG:433A 79 03 A8 B9 78 BC 8D 7A 03 60 B5 87 C9 0A B0 01 - .byte $60, $A9, $00, $8D, $B5, $04, $86, $0A, $A2, $00, $20, $C4, $C0, $A6, $0A, $B5 ; CPU:$C34A PRG:434A 60 A9 00 8D B5 04 86 0A A2 00 20 C4 C0 A6 0A B5 - .byte $9F, $C9, $01, $D0, $04, $B5, $80, $D0, $03, $4C, $37, $C4, $B5, $87, $C9, $0E ; CPU:$C35A PRG:435A 9F C9 01 D0 04 B5 80 D0 03 4C 37 C4 B5 87 C9 0E - .byte $D0, $06, $20, $41, $C4, $4C, $79, $C3, $A9, $04, $85, $0F, $20, $33, $C1, $20 ; CPU:$C36A PRG:436A D0 06 20 41 C4 4C 79 C3 A9 04 85 0F 20 33 C1 20 - .byte $01, $C1, $F0, $E5, $B5, $87, $C9, $10, $D0, $06, $A5, $69, $29, $04, $D0, $12 ; CPU:$C37A PRG:437A 01 C1 F0 E5 B5 87 C9 10 D0 06 A5 69 29 04 D0 12 - .byte $C9, $0A, $D0, $09, $B5, $80, $29, $02, $F0, $03, $4C, $40, $C4, $BD, $B0, $04 ; CPU:$C38A PRG:438A C9 0A D0 09 B5 80 29 02 F0 03 4C 40 C4 BD B0 04 - .byte $F0, $03, $4C, $40, $C4, $B5, $87, $A8, $C9, $10, $F0, $04, $C9, $0A, $D0, $06 ; CPU:$C39A PRG:439A F0 03 4C 40 C4 B5 87 A8 C9 10 F0 04 C9 0A D0 06 - .byte $A9, $04, $85, $FF, $D0, $20, $C9, $0C, $F0, $04, $C9, $0D, $D0, $06, $A9, $01 ; CPU:$C3AA PRG:43AA A9 04 85 FF D0 20 C9 0C F0 04 C9 0D D0 06 A9 01 - .byte $85, $FC, $D0, $12, $C9, $0F, $D0, $06, $A9, $02, $85, $FF, $D0, $08, $C9, $11 ; CPU:$C3BA PRG:43BA 85 FC D0 12 C9 0F D0 06 A9 02 85 FF D0 08 C9 11 - .byte $D0, $04, $A9, $01, $85, $FC, $A5, $53, $D0, $05, $98, $18, $69, $12, $A8, $B9 ; CPU:$C3CA PRG:43CA D0 04 A9 01 85 FC A5 53 D0 05 98 18 69 12 A8 B9 - .byte $42, $BC, $8D, $7A, $03, $B5, $B0, $18, $69, $04, $85, $00, $A5, $94, $85, $01 ; CPU:$C3DA PRG:43DA 42 BC 8D 7A 03 B5 B0 18 69 04 85 00 A5 94 85 01 - .byte $20, $2D, $C0, $8D, $96, $04, $9D, $B0, $04, $4A, $85, $67, $A9, $01, $99, $C9 ; CPU:$C3EA PRG:43EA 20 2D C0 8D 96 04 9D B0 04 4A 85 67 A9 01 99 C9 - .byte $03, $86, $0A, $A5, $5F, $C9, $03, $D0, $13, $B5, $87, $C9, $0B, $F0, $08, $C9 ; CPU:$C3FA PRG:43FA 03 86 0A A5 5F C9 03 D0 13 B5 87 C9 0B F0 08 C9 - .byte $0E, $F0, $04, $C9, $10, $90, $05, $A9, $01, $8D, $B5, $04, $A2, $06, $20, $70 ; CPU:$C40A PRG:440A 0E F0 04 C9 10 90 05 A9 01 8D B5 04 A2 06 20 70 - .byte $C4, $A6, $0A, $B5, $87, $C9, $0E, $B0, $09, $20, $E1, $B8, $20, $57, $B2, $4C ; CPU:$C41A PRG:441A C4 A6 0A B5 87 C9 0E B0 09 20 E1 B8 20 57 B2 4C - .byte $37, $C4, $C9, $0F, $F0, $F3, $C9, $11, $F0, $EF, $4C, $3E, $C4, $86, $0A, $A9 ; CPU:$C42A PRG:442A 37 C4 C9 0F F0 F3 C9 11 F0 EF 4C 3E C4 86 0A A9 - .byte $00, $9D, $B0, $04, $A6, $0A, $60, $BD, $B8, $04, $C9, $03, $D0, $21, $B5, $C7 ; CPU:$C43A PRG:443A 00 9D B0 04 A6 0A 60 BD B8 04 C9 03 D0 21 B5 C7 - .byte $F0, $1D, $B4, $C0, $B9, $84, $BD, $18, $75, $8E, $85, $04, $B9, $86, $BD, $18 ; CPU:$C44A PRG:444A F0 1D B4 C0 B9 84 BD 18 75 8E 85 04 B9 86 BD 18 - .byte $75, $8E, $85, $06, $B9, $8A, $BD, $85, $05, $B9, $88, $BD, $85, $07, $60, $A9 ; CPU:$C45A PRG:445A 75 8E 85 06 B9 8A BD 85 05 B9 88 BD 85 07 60 A9 - .byte $00, $85, $04, $85, $06, $60, $BD, $A0, $04, $10, $03, $4C, $4F, $C5, $A9, $FF ; CPU:$C46A PRG:446A 00 85 04 85 06 60 BD A0 04 10 03 4C 4F C5 A9 FF - .byte $9D, $C0, $04, $BD, $A0, $04, $38, $ED, $7A, $03, $9D, $A0, $04, $30, $1C, $E0 ; CPU:$C47A PRG:447A 9D C0 04 BD A0 04 38 ED 7A 03 9D A0 04 30 1C E0 - .byte $06, $D0, $E8, $A5, $69, $29, $04, $F0, $E2, $A4, $68, $C0, $04, $90, $DC, $B9 ; CPU:$C48A PRG:448A 06 D0 E8 A5 69 29 04 F0 E2 A4 68 C0 04 90 DC B9 - .byte $C3, $BD, $85, $68, $A9, $00, $85, $21, $4C, $4F, $C5, $B5, $87, $C9, $0E, $D0 ; CPU:$C49A PRG:449A C3 BD 85 68 A9 00 85 21 4C 4F C5 B5 87 C9 0E D0 - .byte $06, $A9, $01, $85, $FF, $D0, $08, $C9, $0F, $D0, $04, $A9, $02, $85, $FF, $20 ; CPU:$C4AA PRG:44AA 06 A9 01 85 FF D0 08 C9 0F D0 04 A9 02 85 FF 20 - .byte $55, $C5, $E0, $05, $90, $B5, $D0, $31, $A9, $00, $85, $7A, $85, $7B, $A9, $08 ; CPU:$C4BA PRG:44BA 55 C5 E0 05 90 B5 D0 31 A9 00 85 7A 85 7B A9 08 - .byte $85, $FD, $B5, $87, $C9, $06, $F0, $0A, $C9, $07, $D0, $1A, $A9, $05, $85, $52 ; CPU:$C4CA PRG:44CA 85 FD B5 87 C9 06 F0 0A C9 07 D0 1A A9 05 85 52 - .byte $D0, $14, $AD, $9B, $03, $F0, $6E, $86, $0F, $A9, $00, $8D, $9B, $03, $AE, $9C ; CPU:$C4DA PRG:44DA D0 14 AD 9B 03 F0 6E 86 0F A9 00 8D 9B 03 AE 9C - .byte $03, $20, $57, $B2, $A6, $0F, $4C, $4F, $C5, $A5, $6C, $C9, $02, $F0, $56, $A4 ; CPU:$C4EA PRG:44EA 03 20 57 B2 A6 0F 4C 4F C5 A5 6C C9 02 F0 56 A4 - .byte $5F, $AD, $B5, $04, $F0, $06, $B9, $BE, $BD, $8D, $8F, $04, $A9, $08, $85, $FD ; CPU:$C4FA PRG:44FA 5F AD B5 04 F0 06 B9 BE BD 8D 8F 04 A9 08 85 FD - .byte $4A, $85, $FE, $85, $BD, $A0, $04, $A9, $01, $85, $86, $A5, $69, $29, $01, $8D ; CPU:$C50A PRG:450A 4A 85 FE 85 BD A0 04 A9 01 85 86 A5 69 29 01 8D - .byte $AE, $04, $F0, $07, $98, $49, $FF, $A8, $C8, $C6, $E5, $98, $18, $65, $D4, $85 ; CPU:$C51A PRG:451A AE 04 F0 07 98 49 FF A8 C8 C6 E5 98 18 65 D4 85 - .byte $D4, $90, $02, $E6, $E5, $A5, $B6, $18, $69, $08, $85, $B6, $A9, $00, $85, $6C ; CPU:$C52A PRG:452A D4 90 02 E6 E5 A5 B6 18 69 08 85 B6 A9 00 85 6C - .byte $A9, $FF, $8D, $A6, $04, $8D, $8F, $03, $8D, $8D, $03, $A9, $1B, $85, $52, $A5 ; CPU:$C53A PRG:453A A9 FF 8D A6 04 8D 8F 03 8D 8D 03 A9 1B 85 52 A5 - .byte $63, $F0, $02, $E6, $BD, $A9, $00, $8D, $7A, $03, $60, $8A, $48, $E0, $06, $F0 ; CPU:$C54A PRG:454A 63 F0 02 E6 BD A9 00 8D 7A 03 60 8A 48 E0 06 F0 - .byte $6F, $EE, $B1, $03, $B5, $87, $A8, $B9, $D9, $BC, $85, $00, $B9, $EB, $BC, $85 ; CPU:$C55A PRG:455A 6F EE B1 03 B5 87 A8 B9 D9 BC 85 00 B9 EB BC 85 - .byte $01, $AD, $79, $03, $A8, $B1, $00, $85, $04, $18, $7D, $D5, $04, $A8, $B5, $87 ; CPU:$C56A PRG:456A 01 AD 79 03 A8 B1 00 85 04 18 7D D5 04 A8 B5 87 - .byte $D0, $17, $AD, $B1, $03, $C9, $0C, $D0, $10, $A9, $00, $8D, $B1, $03, $AD, $79 ; CPU:$C57A PRG:457A D0 17 AD B1 03 C9 0C D0 10 A9 00 8D B1 03 AD 79 - .byte $03, $C9, $05, $D0, $04, $A0, $19, $D0, $15, $B5, $87, $C9, $0D, $F0, $04, $C9 ; CPU:$C58A PRG:458A 03 C9 05 D0 04 A0 19 D0 15 B5 87 C9 0D F0 04 C9 - .byte $0F, $D0, $0B, $A5, $1A, $29, $03, $85, $0F, $98, $18, $65, $0F, $A8, $B9, $39 ; CPU:$C59A PRG:459A 0F D0 0B A5 1A 29 03 85 0F 98 18 65 0F A8 B9 39 - .byte $BD, $85, $06, $A8, $B9, $53, $BD, $85, $05, $29, $F0, $4A, $4A, $4A, $4A, $AA ; CPU:$C5AA PRG:45AA BD 85 06 A8 B9 53 BD 85 05 29 F0 4A 4A 4A 4A AA - .byte $AD, $37, $05, $D0, $0B, $A5, $05, $29, $0F, $18, $7D, $21, $05, $9D, $21, $05 ; CPU:$C5BA PRG:45BA AD 37 05 D0 0B A5 05 29 0F 18 7D 21 05 9D 21 05 - .byte $68, $AA, $E0, $06, $F0, $3A, $B5, $C0, $29, $01, $A8, $B5, $8E, $18, $79, $AE ; CPU:$C5CA PRG:45CA 68 AA E0 06 F0 3A B5 C0 29 01 A8 B5 8E 18 79 AE - .byte $BC, $9D, $C7, $04, $A9, $04, $85, $00, $B5, $87, $C9, $01, $D0, $0A, $B5, $B0 ; CPU:$C5DA PRG:45DA BC 9D C7 04 A9 04 85 00 B5 87 C9 01 D0 0A B5 B0 - .byte $C9, $84, $B0, $04, $A9, $88, $D0, $05, $B5, $B0, $38, $E5, $00, $9D, $CE, $04 ; CPU:$C5EA PRG:45EA C9 84 B0 04 A9 88 D0 05 B5 B0 38 E5 00 9D CE 04 - .byte $A5, $06, $9D, $C0, $04, $A9, $0B, $E0, $05, $D0, $02, $A9, $50, $9D, $A2, $03 ; CPU:$C5FA PRG:45FA A5 06 9D C0 04 A9 0B E0 05 D0 02 A9 50 9D A2 03 - .byte $60, $A9, $05, $85, $00, $A6, $00, $BD, $A2, $03, $F0, $49, $DE, $A2, $03, $BD ; CPU:$C60A PRG:460A 60 A9 05 85 00 A6 00 BD A2 03 F0 49 DE A2 03 BD - .byte $C0, $04, $30, $46, $A8, $C8, $B9, $53, $BD, $85, $01, $C8, $84, $02, $BD, $C7 ; CPU:$C61A PRG:461A C0 04 30 46 A8 C8 B9 53 BD 85 01 C8 84 02 BD C7 - .byte $04, $85, $03, $BD, $CE, $04, $85, $04, $A4, $4C, $A5, $04, $99, $D0, $06, $C8 ; CPU:$C62A PRG:462A 04 85 03 BD CE 04 85 04 A4 4C A5 04 99 D0 06 C8 - .byte $A6, $02, $BD, $53, $BD, $99, $D0, $06, $C8, $E8, $86, $02, $A9, $00, $99, $D0 ; CPU:$C63A PRG:463A A6 02 BD 53 BD 99 D0 06 C8 E8 86 02 A9 00 99 D0 - .byte $06, $C8, $A5, $03, $99, $D0, $06, $18, $69, $08, $85, $03, $C8, $84, $4C, $C6 ; CPU:$C64A PRG:464A 06 C8 A5 03 99 D0 06 18 69 08 85 03 C8 84 4C C6 - .byte $01, $D0, $D5, $F0, $05, $A9, $FF, $9D, $C0, $04, $C6, $00, $10, $A7, $60, $86 ; CPU:$C65A PRG:465A 01 D0 D5 F0 05 A9 FF 9D C0 04 C6 00 10 A7 60 86 - .byte $0B, $A6, $0A, $A0, $00, $A5, $69, $29, $02, $F0, $02, $A0, $02, $A5, $69, $29 ; CPU:$C66A PRG:466A 0B A6 0A A0 00 A5 69 29 02 F0 02 A0 02 A5 69 29 - .byte $04, $F0, $02, $A0, $04, $A5, $69, $29, $10, $F0, $01, $C8, $8C, $79, $03, $B9 ; CPU:$C67A PRG:467A 04 F0 02 A0 04 A5 69 29 10 F0 01 C8 8C 79 03 B9 - .byte $1A, $BC, $95, $01, $B9, $20, $BC, $95, $03, $B9, $26, $BC, $85, $0A, $A5, $69 ; CPU:$C68A PRG:468A 1A BC 95 01 B9 20 BC 95 03 B9 26 BC 85 0A A5 69 - .byte $4A, $B0, $11, $A5, $0A, $49, $FF, $85, $0A, $E6, $0A, $A5, $94, $18, $65, $0A ; CPU:$C69A PRG:469A 4A B0 11 A5 0A 49 FF 85 0A E6 0A A5 94 18 65 0A - .byte $95, $02, $D0, $07, $A5, $94, $18, $65, $0A, $95, $00, $A5, $69, $4A, $B0, $0E ; CPU:$C6AA PRG:46AA 95 02 D0 07 A5 94 18 65 0A 95 00 A5 69 4A B0 0E - .byte $A5, $94, $C9, $1A, $B0, $0E, $A9, $00, $95, $01, $95, $03, $F0, $41, $A5, $94 ; CPU:$C6BA PRG:46BA A5 94 C9 1A B0 0E A9 00 95 01 95 03 F0 41 A5 94 - .byte $C9, $E6, $B0, $F2, $B9, $2C, $BC, $85, $0A, $A5, $69, $4A, $B0, $11, $A5, $0A ; CPU:$C6CA PRG:46CA C9 E6 B0 F2 B9 2C BC 85 0A A5 69 4A B0 11 A5 0A - .byte $49, $FF, $85, $0A, $E6, $0A, $B5, $02, $18, $65, $0A, $95, $00, $D0, $07, $B5 ; CPU:$C6DA PRG:46DA 49 FF 85 0A E6 0A B5 02 18 65 0A 95 00 D0 07 B5 - .byte $00, $18, $65, $0A, $95, $02, $A5, $69, $4A, $B0, $0E, $A5, $94, $C9, $1A, $B0 ; CPU:$C6EA PRG:46EA 00 18 65 0A 95 02 A5 69 4A B0 0E A5 94 C9 1A B0 - .byte $0E, $A9, $00, $95, $01, $95, $03, $F0, $06, $A5, $94, $C9, $E6, $B0, $F2, $A6 ; CPU:$C6FA PRG:46FA 0E A9 00 95 01 95 03 F0 06 A5 94 C9 E6 B0 F2 A6 - .byte $0B, $60, $A5, $6C, $F0, $FB, $AD, $AB, $03, $18, $69, $10, $8D, $AB, $03, $C9 ; CPU:$C70A PRG:470A 0B 60 A5 6C F0 FB AD AB 03 18 69 10 8D AB 03 C9 - .byte $34, $90, $EE, $38, $E9, $34, $8D, $AB, $03, $CE, $93, $03, $10, $E3, $CE, $92 ; CPU:$C71A PRG:471A 34 90 EE 38 E9 34 8D AB 03 CE 93 03 10 E3 CE 92 - .byte $03, $30, $06, $A9, $09, $8D, $93, $03, $60, $CE, $91, $03, $30, $20, $AD, $90 ; CPU:$C72A PRG:472A 03 30 06 A9 09 8D 93 03 60 CE 91 03 30 20 AD 90 - .byte $03, $D0, $14, $A5, $6C, $C9, $02, $F0, $0E, $AD, $91, $03, $C9, $03, $D0, $07 ; CPU:$C73A PRG:473A 03 D0 14 A5 6C C9 02 F0 0E AD 91 03 C9 03 D0 07 - .byte $A9, $02, $85, $FB, $8D, $8E, $04, $A9, $0A, $8D, $92, $03, $D0, $D0, $CE, $90 ; CPU:$C74A PRG:474A A9 02 85 FB 8D 8E 04 A9 0A 8D 92 03 D0 D0 CE 90 - .byte $03, $30, $07, $A9, $0A, $8D, $91, $03, $D0, $CF, $A9, $02, $8D, $68, $03, $A2 ; CPU:$C75A PRG:475A 03 30 07 A9 0A 8D 91 03 D0 CF A9 02 8D 68 03 A2 - .byte $03, $A9, $00, $9D, $90, $03, $CA, $10, $FA, $A5, $6C, $C9, $02, $F0, $92, $A9 ; CPU:$C76A PRG:476A 03 A9 00 9D 90 03 CA 10 FA A5 6C C9 02 F0 92 A9 - .byte $00, $85, $67, $4C, $06, $C5, $AC, $00, $03, $A9, $20, $99, $01, $03, $C8, $A9 ; CPU:$C77A PRG:477A 00 85 67 4C 06 C5 AC 00 03 A9 20 99 01 03 C8 A9 - .byte $DA, $99, $01, $03, $C8, $A9, $04, $99, $01, $03, $C8, $A2, $00, $BD, $90, $03 ; CPU:$C78A PRG:478A DA 99 01 03 C8 A9 04 99 01 03 C8 A2 00 BD 90 03 - .byte $99, $01, $03, $C8, $E8, $E0, $04, $90, $F4, $A9, $00, $99, $01, $03, $8C, $00 ; CPU:$C79A PRG:479A 99 01 03 C8 E8 E0 04 90 F4 A9 00 99 01 03 8C 00 - .byte $03, $60, $BD, $86, $04, $A8, $B9, $B8, $BC, $18, $75, $B0, $95, $B0, $60, $AD ; CPU:$C7AA PRG:47AA 03 60 BD 86 04 A8 B9 B8 BC 18 75 B0 95 B0 60 AD - .byte $68, $03, $D0, $FA, $AD, $66, $03, $0D, $67, $03, $D0, $14, $AD, $A5, $04, $30 ; CPU:$C7BA PRG:47BA 68 03 D0 FA AD 66 03 0D 67 03 D0 14 AD A5 04 30 - .byte $0F, $C9, $30, $B0, $0B, $A5, $3E, $D0, $07, $A9, $0D, $85, $3E, $EE, $A5, $04 ; CPU:$C7CA PRG:47CA 0F C9 30 B0 0B A5 3E D0 07 A9 0D 85 3E EE A5 04 - .byte $AC, $00, $03, $A2, $05, $A9, $FC, $99, $04, $03, $99, $0D, $03, $C8, $CA, $10 ; CPU:$C7DA PRG:47DA AC 00 03 A2 05 A9 FC 99 04 03 99 0D 03 C8 CA 10 - .byte $F4, $AC, $00, $03, $A9, $20, $99, $01, $03, $99, $0A, $03, $A9, $A8, $99, $02 ; CPU:$C7EA PRG:47EA F4 AC 00 03 A9 20 99 01 03 99 0A 03 A9 A8 99 02 - .byte $03, $A9, $E8, $99, $0B, $03, $A9, $06, $99, $03, $03, $99, $0C, $03, $A9, $17 ; CPU:$C7FA PRG:47FA 03 A9 E8 99 0B 03 A9 06 99 03 03 99 0C 03 A9 17 - .byte $85, $03, $A9, $04, $85, $04, $A2, $01, $A9, $38, $85, $02, $A9, $00, $85, $01 ; CPU:$C80A PRG:480A 85 03 A9 04 85 04 A2 01 A9 38 85 02 A9 00 85 01 - .byte $BD, $A5, $04, $F0, $23, $30, $2E, $4A, $4A, $4A, $85, $00, $BD, $A5, $04, $29 ; CPU:$C81A PRG:481A BD A5 04 F0 23 30 2E 4A 4A 4A 85 00 BD A5 04 29 - .byte $07, $85, $01, $A5, $00, $F0, $1E, $A9, $FD, $99, $04, $03, $C8, $A9, $08, $18 ; CPU:$C82A PRG:482A 07 85 01 A5 00 F0 1E A9 FD 99 04 03 C8 A9 08 18 - .byte $65, $02, $85, $02, $C6, $00, $D0, $EB, $AD, $88, $03, $D0, $08, $A5, $6C, $C9 ; CPU:$C83A PRG:483A 65 02 85 02 C6 00 D0 EB AD 88 03 D0 08 A5 6C C9 - .byte $02, $F0, $02, $E6, $02, $20, $6C, $C8, $AD, $00, $03, $18, $69, $09, $A8, $CA ; CPU:$C84A PRG:484A 02 F0 02 E6 02 20 6C C8 AD 00 03 18 69 09 A8 CA - .byte $10, $B6, $AD, $00, $03, $18, $69, $12, $8D, $00, $03, $A8, $A9, $00, $99, $01 ; CPU:$C85A PRG:485A 10 B6 AD 00 03 18 69 12 8D 00 03 A8 A9 00 99 01 - .byte $03, $60, $A4, $04, $A9, $10, $18, $65, $03, $85, $03, $99, $04, $02, $A9, $21 ; CPU:$C86A PRG:486A 03 60 A4 04 A9 10 18 65 03 85 03 99 04 02 A9 21 - .byte $99, $06, $02, $A9, $FE, $E0, $01, $F0, $07, $A9, $20, $99, $06, $02, $A9, $FD ; CPU:$C87A PRG:487A 99 06 02 A9 FE E0 01 F0 07 A9 20 99 06 02 A9 FD - .byte $99, $05, $02, $A5, $02, $18, $65, $01, $99, $07, $02, $A9, $00, $85, $04, $60 ; CPU:$C88A PRG:488A 99 05 02 A5 02 18 65 01 99 07 02 A9 00 85 04 60 - .byte $A5, $85, $F0, $FB, $A5, $8C, $C9, $03, $F0, $0B, $C9, $05, $D0, $F1, $AD, $A5 ; CPU:$C89A PRG:489A A5 85 F0 FB A5 8C C9 03 F0 0B C9 05 D0 F1 AD A5 - .byte $04, $F0, $EC, $30, $EA, $A5, $A4, $4A, $B0, $06, $A9, $00, $8D, $B5, $04, $60 ; CPU:$C8AA PRG:48AA 04 F0 EC 30 EA A5 A4 4A B0 06 A9 00 8D B5 04 60 - .byte $A5, $7B, $C9, $02, $90, $F4, $A5, $7A, $C9, $01, $D0, $EE, $20, $05, $C2, $A4 ; CPU:$C8BA PRG:48BA A5 7B C9 02 90 F4 A5 7A C9 01 D0 EE 20 05 C2 A4 - .byte $0F, $A2, $00, $A5, $7B, $C9, $03, $D0, $01, $E8, $BD, $B4, $BC, $85, $0F, $BD ; CPU:$C8CA PRG:48CA 0F A2 00 A5 7B C9 03 D0 01 E8 BD B4 BC 85 0F BD - .byte $B0, $BC, $85, $01, $18, $69, $08, $99, $DC, $03, $BD, $B2, $BC, $85, $03, $A5 ; CPU:$C8DA PRG:48DA B0 BC 85 01 18 69 08 99 DC 03 BD B2 BC 85 03 A5 - .byte $8C, $C9, $05, $D0, $04, $A9, $08, $85, $0F, $A5, $93, $18, $65, $0F, $85, $00 ; CPU:$C8EA PRG:48EA 8C C9 05 D0 04 A9 08 85 0F A5 93 18 65 0F 85 00 - .byte $A5, $93, $18, $7D, $B6, $BC, $85, $02, $A5, $94, $38, $E9, $04, $99, $E0, $03 ; CPU:$C8FA PRG:48FA A5 93 18 7D B6 BC 85 02 A5 94 38 E9 04 99 E0 03 - .byte $A9, $01, $99, $C9, $03, $84, $0A, $A2, $04, $20, $C4, $C0, $20, $01, $C1, $F0 ; CPU:$C90A PRG:490A A9 01 99 C9 03 84 0A A2 04 20 C4 C0 20 01 C1 F0 - .byte $99, $AD, $B5, $04, $D0, $2A, $A4, $0A, $A9, $01, $99, $D8, $03, $8D, $96, $04 ; CPU:$C91A PRG:491A 99 AD B5 04 D0 2A A4 0A A9 01 99 D8 03 8D 96 04 - .byte $8D, $B5, $04, $4A, $85, $67, $A6, $8C, $A5, $53, $D0, $05, $8A, $18, $69, $12 ; CPU:$C92A PRG:492A 8D B5 04 4A 85 67 A6 8C A5 53 D0 05 8A 18 69 12 - .byte $AA, $BD, $42, $BC, $18, $6D, $7A, $03, $8D, $7A, $03, $A2, $06, $20, $70, $C4 ; CPU:$C93A PRG:493A AA BD 42 BC 18 6D 7A 03 8D 7A 03 A2 06 20 70 C4 - .byte $60, $A2, $01, $BD, $F8, $03, $F0, $73, $BD, $F8, $03, $C9, $01, $F0, $6C, $C9 ; CPU:$C94A PRG:494A 60 A2 01 BD F8 03 F0 73 BD F8 03 C9 01 F0 6C C9 - .byte $05, $F0, $68, $A9, $00, $8D, $B5, $04, $BD, $02, $04, $C9, $01, $D0, $5C, $BD ; CPU:$C95A PRG:495A 05 F0 68 A9 00 8D B5 04 BD 02 04 C9 01 D0 5C BD - .byte $00, $04, $85, $0A, $BD, $04, $04, $85, $0B, $20, $A2, $C0, $20, $01, $C1, $F0 ; CPU:$C96A PRG:496A 00 04 85 0A BD 04 04 85 0B 20 A2 C0 20 01 C1 F0 - .byte $4A, $BD, $F8, $03, $DD, $0E, $04, $F0, $42, $A5, $53, $F0, $04, $A9, $12, $D0 ; CPU:$C97A PRG:497A 4A BD F8 03 DD 0E 04 F0 42 A5 53 F0 04 A9 12 D0 - .byte $02, $A9, $0C, $8D, $7A, $03, $A9, $01, $8D, $B5, $04, $86, $00, $A2, $06, $20 ; CPU:$C98A PRG:498A 02 A9 0C 8D 7A 03 A9 01 8D B5 04 86 00 A2 06 20 - .byte $70, $C4, $A6, $00, $20, $05, $C2, $A4, $0F, $30, $20, $BD, $04, $04, $99, $DC ; CPU:$C99A PRG:499A 70 C4 A6 00 20 05 C2 A4 0F 30 20 BD 04 04 99 DC - .byte $03, $BD, $00, $04, $99, $E0, $03, $A9, $01, $99, $D8, $03, $8D, $96, $04, $99 ; CPU:$C9AA PRG:49AA 03 BD 00 04 99 E0 03 A9 01 99 D8 03 8D 96 04 99 - .byte $C9, $03, $4A, $85, $67, $BD, $F8, $03, $9D, $0E, $04, $CA, $10, $85, $60, $BD ; CPU:$C9BA PRG:49BA C9 03 4A 85 67 BD F8 03 9D 0E 04 CA 10 85 60 BD - .byte $10, $04, $D0, $3E, $A5, $5F, $C9, $04, $D0, $06, $B5, $DF, $C9, $03, $90, $31 ; CPU:$C9CA PRG:49CA 10 04 D0 3E A5 5F C9 04 D0 06 B5 DF C9 03 90 31 - .byte $B5, $80, $29, $10, $F0, $25, $BD, $DC, $04, $C9, $32, $B0, $24, $C9, $2E, $90 ; CPU:$C9DA PRG:49DA B5 80 29 10 F0 25 BD DC 04 C9 32 B0 24 C9 2E 90 - .byte $1A, $A5, $69, $29, $02, $F0, $14, $A9, $01, $9D, $10, $04, $4A, $9D, $14, $04 ; CPU:$C9EA PRG:49EA 1A A5 69 29 02 F0 14 A9 01 9D 10 04 4A 9D 14 04 - .byte $9D, $1C, $04, $9D, $94, $03, $B5, $B0, $9D, $18, $04, $B5, $80, $29, $0F, $95 ; CPU:$C9FA PRG:49FA 9D 1C 04 9D 94 03 B5 B0 9D 18 04 B5 80 29 0F 95 - .byte $80, $60, $A5, $6E, $18, $7D, $14, $04, $9D, $14, $04, $C9, $0E, $B0, $17, $A9 ; CPU:$CA0A PRG:4A0A 80 60 A5 6E 18 7D 14 04 9D 14 04 C9 0E B0 17 A9 - .byte $00, $95, $B7, $C9, $08, $B0, $04, $A9, $0B, $95, $B7, $BD, $14, $04, $9D, $1C ; CPU:$CA1A PRG:4A1A 00 95 B7 C9 08 B0 04 A9 0B 95 B7 BD 14 04 9D 1C - .byte $04, $20, $3D, $CB, $D0, $5E, $C9, $18, $B0, $12, $A9, $09, $95, $B7, $BD, $14 ; CPU:$CA2A PRG:4A2A 04 20 3D CB D0 5E C9 18 B0 12 A9 09 95 B7 BD 14 - .byte $04, $38, $E9, $0E, $9D, $1C, $04, $20, $23, $CB, $D0, $48, $C9, $20, $B0, $06 ; CPU:$CA3A PRG:4A3A 04 38 E9 0E 9D 1C 04 20 23 CB D0 48 C9 20 B0 06 - .byte $A9, $09, $95, $B7, $D0, $3E, $C9, $2A, $B0, $12, $A9, $0A, $95, $B7, $BD, $14 ; CPU:$CA4A PRG:4A4A A9 09 95 B7 D0 3E C9 2A B0 12 A9 0A 95 B7 BD 14 - .byte $04, $38, $E9, $20, $9D, $1C, $04, $20, $30, $CB, $D0, $28, $C9, $38, $B0, $12 ; CPU:$CA5A PRG:4A5A 04 38 E9 20 9D 1C 04 20 30 CB D0 28 C9 38 B0 12 - .byte $A9, $0B, $95, $B7, $BD, $14, $04, $38, $E9, $2A, $9D, $1C, $04, $20, $4C, $CB ; CPU:$CA6A PRG:4A6A A9 0B 95 B7 BD 14 04 38 E9 2A 9D 1C 04 20 4C CB - .byte $D0, $12, $A9, $87, $95, $B0, $B5, $80, $29, $0F, $95, $80, $A9, $00, $9D, $10 ; CPU:$CA7A PRG:4A7A D0 12 A9 87 95 B0 B5 80 29 0F 95 80 A9 00 9D 10 - .byte $04, $95, $B7, $60, $B5, $B0, $18, $69, $20, $85, $01, $18, $69, $08, $85, $03 ; CPU:$CA8A PRG:4A8A 04 95 B7 60 B5 B0 18 69 20 85 01 18 69 08 85 03 - .byte $B5, $8E, $38, $E9, $04, $85, $00, $18, $69, $08, $85, $02, $86, $0F, $A2, $04 ; CPU:$CA9A PRG:4A9A B5 8E 38 E9 04 85 00 18 69 08 85 02 86 0F A2 04 - .byte $20, $C4, $C0, $A6, $0F, $20, $01, $C1, $F0, $28, $A9, $01, $85, $FC, $A5, $69 ; CPU:$CAAA PRG:4AAA 20 C4 C0 A6 0F 20 01 C1 F0 28 A9 01 85 FC A5 69 - .byte $29, $02, $D0, $24, $DE, $A0, $04, $A0, $00, $A5, $69, $29, $04, $F0, $02, $A0 ; CPU:$CABA PRG:4ABA 29 02 D0 24 DE A0 04 A0 00 A5 69 29 04 F0 02 A0 - .byte $04, $98, $8D, $79, $03, $A9, $00, $9D, $D5, $04, $B5, $C0, $9D, $A8, $04, $20 ; CPU:$CACA PRG:4ACA 04 98 8D 79 03 A9 00 9D D5 04 B5 C0 9D A8 04 20 - .byte $55, $C5, $A9, $00, $9D, $B0, $04, $60, $BD, $B0, $04, $D0, $3B, $A5, $53, $F0 ; CPU:$CADA PRG:4ADA 55 C5 A9 00 9D B0 04 60 BD B0 04 D0 3B A5 53 F0 - .byte $04, $A9, $0A, $D0, $02, $A9, $05, $8D, $7A, $03, $A9, $38, $38, $FD, $14, $04 ; CPU:$CAEA PRG:4AEA 04 A9 0A D0 02 A9 05 8D 7A 03 A9 38 38 FD 14 04 - .byte $9D, $14, $04, $A9, $98, $85, $00, $A5, $94, $38, $E9, $04, $85, $01, $20, $2D ; CPU:$CAFA PRG:4AFA 9D 14 04 A9 98 85 00 A5 94 38 E9 04 85 01 20 2D - .byte $C0, $8D, $96, $04, $9D, $B0, $04, $4A, $85, $67, $A9, $01, $99, $C9, $03, $86 ; CPU:$CB0A PRG:4B0A C0 8D 96 04 9D B0 04 4A 85 67 A9 01 99 C9 03 86 - .byte $0A, $A2, $06, $20, $70, $C4, $A6, $0A, $60, $BD, $18, $04, $38, $E9, $1E, $38 ; CPU:$CB1A PRG:4B1A 0A A2 06 20 70 C4 A6 0A 60 BD 18 04 38 E9 1E 38 - .byte $FD, $1C, $04, $95, $B0, $60, $BD, $18, $04, $38, $E9, $28, $18, $7D, $1C, $04 ; CPU:$CB2A PRG:4B2A FD 1C 04 95 B0 60 BD 18 04 38 E9 28 18 7D 1C 04 - .byte $95, $B0, $60, $BD, $1C, $04, $0A, $85, $00, $BD, $18, $04, $38, $E5, $00, $95 ; CPU:$CB3A PRG:4B3A 95 B0 60 BD 1C 04 0A 85 00 BD 18 04 38 E5 00 95 - .byte $B0, $60, $BD, $1C, $04, $0A, $85, $00, $BD, $18, $04, $38, $E9, $1E, $18, $65 ; CPU:$CB4A PRG:4B4A B0 60 BD 1C 04 0A 85 00 BD 18 04 38 E9 1E 18 65 - .byte $00, $95, $B0, $60, $B5, $AA, $C9, $01, $D0, $4C, $BD, $30, $04, $F0, $47, $B5 ; CPU:$CB5A PRG:4B5A 00 95 B0 60 B5 AA C9 01 D0 4C BD 30 04 F0 47 B5 - .byte $99, $85, $0A, $BD, $21, $04, $85, $0B, $20, $A2, $C0, $20, $01, $C1, $F0, $36 ; CPU:$CB6A PRG:4B6A 99 85 0A BD 21 04 85 0B 20 A2 C0 20 01 C1 F0 36 - .byte $A5, $53, $F0, $04, $A9, $19, $D0, $02, $A9, $13, $8D, $7A, $03, $86, $0A, $A2 ; CPU:$CB7A PRG:4B7A A5 53 F0 04 A9 19 D0 02 A9 13 8D 7A 03 86 0A A2 - .byte $06, $20, $70, $C4, $A6, $0A, $BD, $21, $04, $18, $69, $04, $85, $00, $A5, $94 ; CPU:$CB8A PRG:4B8A 06 20 70 C4 A6 0A BD 21 04 18 69 04 85 00 A5 94 - .byte $85, $01, $20, $2D, $C0, $8D, $96, $04, $4A, $85, $67, $A9, $01, $99, $C9, $03 ; CPU:$CB9A PRG:4B9A 85 01 20 2D C0 8D 96 04 4A 85 67 A9 01 99 C9 03 - .byte $A9, $01, $85, $FC, $38, $60, $18, $60, $A2, $06, $18, $BD, $30, $05, $7D, $20 ; CPU:$CBAA PRG:4BAA A9 01 85 FC 38 60 18 60 A2 06 18 BD 30 05 7D 20 - .byte $05, $9D, $30, $05, $CA, $30, $11, $38, $E9, $0A, $90, $06, $9D, $31, $05, $38 ; CPU:$CBBA PRG:4BBA 05 9D 30 05 CA 30 11 38 E9 0A 90 06 9D 31 05 38 - .byte $B0, $E9, $8D, $27, $05, $18, $90, $E3, $A9, $00, $A2, $06, $9D, $20, $05, $CA ; CPU:$CBCA PRG:4BCA B0 E9 8D 27 05 18 90 E3 A9 00 A2 06 9D 20 05 CA - .byte $10, $FA, $60, $AC, $00, $03, $C8, $AD, $28, $05, $99, $00, $03, $C8, $AD, $29 ; CPU:$CBDA PRG:4BDA 10 FA 60 AC 00 03 C8 AD 28 05 99 00 03 C8 AD 29 - .byte $05, $99, $00, $03, $C8, $A9, $06, $99, $00, $03, $C8, $A2, $00, $BD, $31, $05 ; CPU:$CBEA PRG:4BEA 05 99 00 03 C8 A9 06 99 00 03 C8 A2 00 BD 31 05 - .byte $99, $00, $03, $C8, $E8, $E0, $06, $D0, $F4, $A9, $00, $99, $00, $03, $88, $8C ; CPU:$CBFA PRG:4BFA 99 00 03 C8 E8 E0 06 D0 F4 A9 00 99 00 03 88 8C - .byte $00, $03, $60, $A2, $00, $A0, $00, $A5, $53, $F0, $02, $A0, $07, $BD, $30, $05 ; CPU:$CC0A PRG:4C0A 00 03 60 A2 00 A0 00 A5 53 F0 02 A0 07 BD 30 05 - .byte $D9, $10, $05, $F0, $04, $B0, $09, $90, $1B, $C8, $E8, $E0, $07, $D0, $EE, $60 ; CPU:$CC1A PRG:4C1A D9 10 05 F0 04 B0 09 90 1B C8 E8 E0 07 D0 EE 60 - .byte $A2, $06, $A0, $06, $A5, $53, $F0, $02, $A0, $0D, $BD, $30, $05, $99, $10, $05 ; CPU:$CC2A PRG:4C2A A2 06 A0 06 A5 53 F0 02 A0 0D BD 30 05 99 10 05 - .byte $88, $CA, $10, $F6, $60, $A9, $06, $85, $00, $A2, $00, $A5, $53, $F0, $02, $A2 ; CPU:$CC3A PRG:4C3A 88 CA 10 F6 60 A9 06 85 00 A2 00 A5 53 F0 02 A2 - .byte $07, $AC, $00, $03, $C8, $AD, $2A, $05, $99, $00, $03, $C8, $AD, $2B, $05, $99 ; CPU:$CC4A PRG:4C4A 07 AC 00 03 C8 AD 2A 05 99 00 03 C8 AD 2B 05 99 - .byte $00, $03, $C8, $A9, $06, $99, $00, $03, $C8, $BD, $11, $05, $99, $00, $03, $C8 ; CPU:$CC5A PRG:4C5A 00 03 C8 A9 06 99 00 03 C8 BD 11 05 99 00 03 C8 - .byte $E8, $C6, $00, $D0, $F4, $A9, $00, $99, $00, $03, $88, $8C, $00, $03, $60, $AC ; CPU:$CC6A PRG:4C6A E8 C6 00 D0 F4 A9 00 99 00 03 88 8C 00 03 60 AC - .byte $00, $03, $A9, $20, $99, $01, $03, $A9, $F1, $99, $02, $03, $A9, $01, $99, $03 ; CPU:$CC7A PRG:4C7A 00 03 A9 20 99 01 03 A9 F1 99 02 03 A9 01 99 03 - .byte $03, $A6, $55, $B5, $5C, $AA, $F0, $01, $CA, $8A, $99, $04, $03, $98, $18, $69 ; CPU:$CC8A PRG:4C8A 03 A6 55 B5 5C AA F0 01 CA 8A 99 04 03 98 18 69 - .byte $04, $8D, $00, $03, $60, $A2, $0B, $BD, $8C, $BD, $9D, $0C, $02, $CA, $10, $F7 ; CPU:$CC9A PRG:4C9A 04 8D 00 03 60 A2 0B BD 8C BD 9D 0C 02 CA 10 F7 - .byte $60, $A9, $02, $85, $6C, $A9, $01, $8D, $7A, $03, $AD, $A6, $04, $38, $ED, $7A ; CPU:$CCAA PRG:4CAA 60 A9 02 85 6C A9 01 8D 7A 03 AD A6 04 38 ED 7A - .byte $03, $8D, $A6, $04, $30, $13, $AD, $B2, $03, $D0, $07, $A9, $01, $8D, $24, $05 ; CPU:$CCBA PRG:4CBA 03 8D A6 04 30 13 AD B2 03 D0 07 A9 01 8D 24 05 - .byte $D0, $05, $A9, $01, $8D, $23, $05, $18, $60, $38, $60, $A9, $02, $85, $6C, $A9 ; CPU:$CCCA PRG:4CCA D0 05 A9 01 8D 23 05 18 60 38 60 A9 02 85 6C A9 - .byte $07, $85, $00, $20, $23, $C7, $AD, $68, $03, $D0, $EE, $A9, $01, $8D, $25, $05 ; CPU:$CCDA PRG:4CDA 07 85 00 20 23 C7 AD 68 03 D0 EE A9 01 8D 25 05 - .byte $20, $B2, $CB, $20, $0D, $CC, $C6, $00, $10, $E9, $18, $60, $AD, $37, $05, $D0 ; CPU:$CCEA PRG:4CEA 20 B2 CB 20 0D CC C6 00 10 E9 18 60 AD 37 05 D0 - .byte $17, $A6, $55, $BD, $2D, $05, $D0, $10, $AD, $32, $05, $C9, $05, $90, $09, $A9 ; CPU:$CCFA PRG:4CFA 17 A6 55 BD 2D 05 D0 10 AD 32 05 C9 05 90 09 A9 - .byte $01, $85, $FE, $F6, $5C, $FE, $2D, $05, $60, $A4, $5F, $A5, $47, $D0, $0D, $A5 ; CPU:$CD0A PRG:4D0A 01 85 FE F6 5C FE 2D 05 60 A4 5F A5 47 D0 0D A5 - .byte $79, $49, $01, $85, $79, $A9, $02, $85, $47, $4C, $34, $CD, $EA, $A5, $79, $09 ; CPU:$CD1A PRG:4D1A 79 49 01 85 79 A9 02 85 47 4C 34 CD EA A5 79 09 - .byte $00, $85, $79, $A9, $02, $85, $00, $EA, $EA, $EA, $B9, $98, $BD, $85, $01, $B9 ; CPU:$CD2A PRG:4D2A 00 85 79 A9 02 85 00 EA EA EA B9 98 BD 85 01 B9 - .byte $9D, $BD, $85, $02, $A0, $00, $AE, $00, $03, $B1, $01, $9D, $01, $03, $C8, $E8 ; CPU:$CD3A PRG:4D3A 9D BD 85 02 A0 00 AE 00 03 B1 01 9D 01 03 C8 E8 - .byte $B1, $01, $9D, $01, $03, $E8, $A9, $01, $9D, $01, $03, $E8, $A4, $79, $B9, $AC ; CPU:$CD4A PRG:4D4A B1 01 9D 01 03 E8 A9 01 9D 01 03 E8 A4 79 B9 AC - .byte $BD, $9D, $01, $03, $E8, $A9, $00, $9D, $01, $03, $8E, $00, $03, $60, $A5, $8C ; CPU:$CD5A PRG:4D5A BD 9D 01 03 E8 A9 00 9D 01 03 8E 00 03 60 A5 8C - .byte $C9, $07, $F0, $01, $60, $A5, $7B, $C9, $02, $90, $70, $C9, $06, $B0, $6C, $A5 ; CPU:$CD6A PRG:4D6A C9 07 F0 01 60 A5 7B C9 02 90 70 C9 06 B0 6C A5 - .byte $7A, $C9, $02, $D0, $66, $A4, $7B, $88, $88, $A5, $93, $18, $79, $B6, $BD, $85 ; CPU:$CD7A PRG:4D7A 7A C9 02 D0 66 A4 7B 88 88 A5 93 18 79 B6 BD 85 - .byte $00, $B9, $AE, $BD, $85, $01, $A5, $00, $18, $79, $BA, $BD, $85, $02, $B9, $B2 ; CPU:$CD8A PRG:4D8A 00 B9 AE BD 85 01 A5 00 18 79 BA BD 85 02 B9 B2 - .byte $BD, $85, $03, $84, $0A, $A2, $04, $20, $C4, $C0, $20, $01, $C1, $F0, $3C, $AD ; CPU:$CD9A PRG:4D9A BD 85 03 84 0A A2 04 20 C4 C0 20 01 C1 F0 3C AD - .byte $B5, $04, $D0, $C0, $A4, $8C, $A5, $53, $D0, $05, $98, $18, $69, $12, $A8, $B9 ; CPU:$CDAA PRG:4DAA B5 04 D0 C0 A4 8C A5 53 D0 05 98 18 69 12 A8 B9 - .byte $42, $BC, $8D, $7A, $03, $A4, $0A, $B9, $AE, $BD, $85, $00, $A5, $94, $38, $E9 ; CPU:$CDBA PRG:4DBA 42 BC 8D 7A 03 A4 0A B9 AE BD 85 00 A5 94 38 E9 - .byte $04, $85, $01, $20, $2D, $C0, $8D, $96, $04, $8D, $B5, $04, $4A, $85, $67, $A9 ; CPU:$CDCA PRG:4DCA 04 85 01 20 2D C0 8D 96 04 8D B5 04 4A 85 67 A9 - .byte $01, $99, $C9, $03, $85, $FC, $A2, $06, $4C, $70, $C4, $A9, $00, $8D, $B5, $04 ; CPU:$CDDA PRG:4DDA 01 99 C9 03 85 FC A2 06 4C 70 C4 A9 00 8D B5 04 - .byte $60, $20, $50, $20, $40, $20, $02, $02, $02, $02, $01, $05, $0A, $0C, $05, $08 ; CPU:$CDEA PRG:4DEA 60 20 50 20 40 20 02 02 02 02 01 05 0A 0C 05 08 - .byte $05, $0E, $10, $06, $05, $0E, $10, $05, $05, $0E, $10, $0E, $10, $18, $13, $0D ; CPU:$CDFA PRG:4DFA 05 0E 10 06 05 0E 10 05 05 0E 10 0E 10 18 13 0D - .byte $0F, $15, $13, $00, $00, $04, $08, $05, $09, $04, $03, $01, $04, $04, $02, $01 ; CPU:$CE0A PRG:4E0A 0F 15 13 00 00 04 08 05 09 04 03 01 04 04 02 01 - .byte $04, $03, $02, $01, $03, $03, $02, $01, $03, $03, $05, $06, $03, $02, $03, $03 ; CPU:$CE1A PRG:4E1A 04 03 02 01 03 03 02 01 03 03 05 06 03 02 03 03 - .byte $03, $02, $02, $03, $03, $05, $04, $04, $05, $05, $05, $04, $04, $05, $05, $03 ; CPU:$CE2A PRG:4E2A 03 02 02 03 03 05 04 04 05 05 05 04 04 05 05 03 - .byte $02, $00, $01, $02, $03, $05, $05, $03, $02, $01, $00, $00, $00, $01, $02, $02 ; CPU:$CE3A PRG:4E3A 02 00 01 02 03 05 05 03 02 01 00 00 00 01 02 02 - .byte $01, $00, $00, $66, $99, $E6, $00, $4C, $96, $E3, $00, $33, $66, $B3, $00, $1A ; CPU:$CE4A PRG:4E4A 01 00 00 66 99 E6 00 4C 96 E3 00 33 66 B3 00 1A - .byte $34, $9A, $00, $FF, $04, $09, $0E, $11, $08, $11, $08, $0C, $0D, $0C, $0D, $03 ; CPU:$CE5A PRG:4E5A 34 9A 00 FF 04 09 0E 11 08 11 08 0C 0D 0C 0D 03 - .byte $03, $83, $43, $08, $09, $16, $07, $07, $09, $16, $07, $05, $09, $16, $07, $13 ; CPU:$CE6A PRG:4E6A 03 83 43 08 09 16 07 07 09 16 07 05 09 16 07 13 - .byte $14, $16, $15, $10, $11, $13, $12, $00, $02, $08, $18, $00, $02, $03, $02, $00 ; CPU:$CE7A PRG:4E7A 14 16 15 10 11 13 12 00 02 08 18 00 02 03 02 00 - .byte $02, $04, $02, $00, $02, $04, $02, $47, $27, $46, $42, $22, $41, $00, $30, $41 ; CPU:$CE8A PRG:4E8A 02 04 02 00 02 04 02 47 27 46 42 22 41 00 30 41 - .byte $90, $98, $98, $06, $06, $0D, $13, $03, $03, $06, $0D, $03, $03, $06, $0D, $03 ; CPU:$CE9A PRG:4E9A 90 98 98 06 06 0D 13 03 03 06 0D 03 03 06 0D 03 - .byte $03, $03, $0D, $0D, $13, $03, $03, $03, $03, $02, $02, $02, $02, $02, $01, $01 ; CPU:$CEAA PRG:4EAA 03 03 0D 0D 13 03 03 03 03 02 02 02 02 02 01 01 - .byte $01, $01, $01, $01, $01, $01, $03, $43, $83, $03, $80, $90, $A0, $E0, $27, $D3 ; CPU:$CEBA PRG:4EBA 01 01 01 01 01 01 03 43 83 03 80 90 A0 E0 27 D3 - .byte $27, $D3, $89, $D3, $89, $D3, $89, $D3, $44, $D4, $74, $D4, $81, $D4, $00, $00 ; CPU:$CECA PRG:4ECA 27 D3 89 D3 89 D3 89 D3 44 D4 74 D4 81 D4 00 00 - .byte $08, $0C, $10, $08, $11, $0E, $14, $87, $84, $81, $80, $81, $83, $0A, $01, $02 ; CPU:$CEDA PRG:4EDA 08 0C 10 08 11 0E 14 87 84 81 80 81 83 0A 01 02 - .byte $06, $01, $01, $80, $B3, $80, $67, $4D, $67, $4D, $36, $67, $67, $67, $36, $80 ; CPU:$CEEA PRG:4EEA 06 01 01 80 B3 80 67 4D 67 4D 36 67 67 67 36 80 - .byte $B3, $80, $67, $67, $67, $67, $4D, $67, $67, $67, $67, $B3, $B3, $B3, $B3, $67 ; CPU:$CEFA PRG:4EFA B3 80 67 67 67 67 4D 67 67 67 67 B3 B3 B3 B3 67 - .byte $B3, $67, $4D, $B3, $B3, $67, $33, $CD, $CD, $CD, $B3, $77, $B3, $67, $67, $B3 ; CPU:$CF0A PRG:4F0A B3 67 4D B3 B3 67 33 CD CD CD B3 77 B3 67 67 B3 - .byte $B3, $67, $67, $09, $08, $08, $08, $0C, $0C, $0C, $08, $0C, $0C, $0C, $0A, $0C ; CPU:$CF1A PRG:4F1A B3 67 67 09 08 08 08 0C 0C 0C 08 0C 0C 0C 0A 0C - .byte $14, $12, $12, $12, $08, $08, $00, $08, $0C, $06, $07, $07, $07, $07, $07, $07 ; CPU:$CF2A PRG:4F2A 14 12 12 12 08 08 00 08 0C 06 07 07 07 07 07 07 - .byte $0B, $07, $07, $07, $06, $07, $07, $06, $06, $06, $07, $07, $0B, $07, $03, $DC ; CPU:$CF3A PRG:4F3A 0B 07 07 07 06 07 07 06 06 06 07 07 0B 07 03 DC - .byte $DD, $55, $55, $5D, $65, $6D, $CF, $CF, $CF, $CF, $CF, $80, $FF, $99, $FF, $99 ; CPU:$CF4A PRG:4F4A DD 55 55 5D 65 6D CF CF CF CF CF 80 FF 99 FF 99 - .byte $FF, $99, $FF, $A8, $FF, $A8, $FF, $80, $FF, $54, $FF, $A6, $CC, $A6, $CC, $99 ; CPU:$CF5A PRG:4F5A FF 99 FF A8 FF A8 FF 80 FF 54 FF A6 CC A6 CC 99 - .byte $CC, $80, $A8, $54, $A8, $54, $A8, $54, $A8, $54, $A8, $7F, $7F, $87, $8F, $97 ; CPU:$CF6A PRG:4F6A CC 80 A8 54 A8 54 A8 54 A8 54 A8 7F 7F 87 8F 97 - .byte $CF, $CF, $CF, $CF, $CF, $99, $E5, $80, $C0, $4C, $B2, $4C, $98, $CC, $E5, $B3 ; CPU:$CF7A PRG:4F7A CF CF CF CF CF 99 E5 80 C0 4C B2 4C 98 CC E5 B3 - .byte $E6, $99, $E5, $80, $CC, $54, $A8, $54, $A8, $54, $A8, $54, $A8, $66, $CC, $66 ; CPU:$CF8A PRG:4F8A E6 99 E5 80 CC 54 A8 54 A8 54 A8 54 A8 66 CC 66 - .byte $CC, $66, $CC, $66, $CC, $AD, $95, $04, $F0, $27, $A9, $00, $8D, $95, $04, $A5 ; CPU:$CF9A PRG:4F9A CC 66 CC 66 CC AD 95 04 F0 27 A9 00 8D 95 04 A5 - .byte $7A, $C9, $03, $D0, $19, $A0, $F2, $20, $33, $B2, $A5, $E4, $D0, $08, $A9, $70 ; CPU:$CFAA PRG:4FAA 7A C9 03 D0 19 A0 F2 20 33 B2 A5 E4 D0 08 A9 70 - .byte $C5, $D3, $90, $02, $85, $D3, $20, $02, $D1, $A9, $1C, $85, $30, $60, $4C, $02 ; CPU:$CFBA PRG:4FBA C5 D3 90 02 85 D3 20 02 D1 A9 1C 85 30 60 4C 02 - .byte $D1, $A5, $7B, $F0, $07, $C9, $02, $B0, $09, $4C, $68, $D5, $20, $04, $D5, $B0 ; CPU:$CFCA PRG:4FCA D1 A5 7B F0 07 C9 02 B0 09 4C 68 D5 20 04 D5 B0 - .byte $13, $60, $A5, $30, $D0, $57, $C6, $BC, $C6, $7A, $10, $16, $85, $7A, $85, $BC ; CPU:$CFDA PRG:4FDA 13 60 A5 30 D0 57 C6 BC C6 7A 10 16 85 7A 85 BC - .byte $C6, $7C, $F0, $4A, $20, $CD, $D5, $84, $7B, $A9, $02, $85, $7A, $B9, $0D, $CE ; CPU:$CFEA PRG:4FEA C6 7C F0 4A 20 CD D5 84 7B A9 02 85 7A B9 0D CE - .byte $85, $BC, $A5, $BE, $C9, $02, $90, $02, $A9, $02, $0A, $0A, $A6, $7A, $E0, $02 ; CPU:$CFFA PRG:4FFA 85 BC A5 BE C9 02 90 02 A9 02 0A 0A A6 7A E0 02 - .byte $D0, $13, $C9, $00, $F0, $02, $A9, $04, $18, $69, $0C, $85, $01, $A5, $1A, $29 ; CPU:$D00A PRG:500A D0 13 C9 00 F0 02 A9 04 18 69 0C 85 01 A5 1A 29 - .byte $03, $05, $01, $D0, $02, $05, $7A, $A8, $A5, $5F, $F0, $05, $B9, $6D, $CE, $D0 ; CPU:$D01A PRG:501A 03 05 01 D0 02 05 7A A8 A5 5F F0 05 B9 6D CE D0 - .byte $03, $B9, $F9, $CD, $85, $30, $CA, $D0, $04, $A9, $02, $85, $FC, $60, $4C, $A8 ; CPU:$D02A PRG:502A 03 B9 F9 CD 85 30 CA D0 04 A9 02 85 FC 60 4C A8 - .byte $D5, $AD, $95, $04, $F0, $32, $A9, $00, $8D, $95, $04, $A5, $32, $F0, $20, $AD ; CPU:$D03A PRG:503A D5 AD 95 04 F0 32 A9 00 8D 95 04 A5 32 F0 20 AD - .byte $9A, $03, $F0, $24, $A9, $00, $8D, $9A, $03, $A0, $10, $20, $33, $B2, $A5, $E4 ; CPU:$D04A PRG:504A 9A 03 F0 24 A9 00 8D 9A 03 A0 10 20 33 B2 A5 E4 - .byte $C9, $06, $D0, $14, $A9, $90, $C5, $D3, $B0, $0E, $85, $D3, $4C, $72, $D0, $A9 ; CPU:$D05A PRG:505A C9 06 D0 14 A9 90 C5 D3 B0 0E 85 D3 4C 72 D0 A9 - .byte $10, $85, $32, $A9, $01, $8D, $9A, $03, $A5, $7B, $F0, $07, $C9, $02, $B0, $09 ; CPU:$D06A PRG:506A 10 85 32 A9 01 8D 9A 03 A5 7B F0 07 C9 02 B0 09 - .byte $4C, $68, $D5, $20, $04, $D5, $B0, $39, $60, $AD, $F8, $03, $0D, $F9, $03, $D0 ; CPU:$D07A PRG:507A 4C 68 D5 20 04 D5 B0 39 60 AD F8 03 0D F9 03 D0 - .byte $3D, $A5, $44, $D0, $44, $AD, $20, $04, $D0, $27, $A2, $05, $BD, $E3, $04, $D0 ; CPU:$D08A PRG:508A 3D A5 44 D0 44 AD 20 04 D0 27 A2 05 BD E3 04 D0 - .byte $43, $BD, $DC, $04, $D9, $EB, $CD, $B0, $3B, $A5, $1A, $29, $03, $A8, $B9, $23 ; CPU:$D09A PRG:509A 43 BD DC 04 D9 EB CD B0 3B A5 1A 29 03 A8 B9 23 - .byte $CE, $85, $44, $A9, $02, $85, $BC, $C6, $7C, $F0, $1F, $A9, $01, $8D, $20, $04 ; CPU:$D0AA PRG:50AA CE 85 44 A9 02 85 BC C6 7C F0 1F A9 01 8D 20 04 - .byte $60, $A9, $02, $85, $7B, $4A, $25, $19, $85, $7A, $4A, $8D, $20, $04, $20, $15 ; CPU:$D0BA PRG:50BA 60 A9 02 85 7B 4A 25 19 85 7A 4A 8D 20 04 20 15 - .byte $D6, $A2, $01, $20, $7B, $D6, $CA, $10, $FA, $60, $A9, $00, $85, $BC, $8D, $20 ; CPU:$D0CA PRG:50CA D6 A2 01 20 7B D6 CA 10 FA 60 A9 00 85 BC 8D 20 - .byte $04, $4C, $A8, $D5, $A9, $00, $85, $7B, $85, $BC, $60, $AD, $95, $04, $F0, $2A ; CPU:$D0DA PRG:50DA 04 4C A8 D5 A9 00 85 7B 85 BC 60 AD 95 04 F0 2A - .byte $A9, $00, $8D, $95, $04, $AD, $79, $03, $C9, $04, $B0, $0C, $A5, $7B, $C9, $02 ; CPU:$D0EA PRG:50EA A9 00 8D 95 04 AD 79 03 C9 04 B0 0C A5 7B C9 02 - .byte $B0, $18, $20, $19, $D5, $4C, $EE, $CF, $20, $19, $D5, $20, $CD, $D5, $84, $7B ; CPU:$D0FA PRG:50FA B0 18 20 19 D5 4C EE CF 20 19 D5 20 CD D5 84 7B - .byte $98, $18, $69, $02, $A8, $A9, $03, $4C, $F5, $CF, $4C, $CB, $CF, $20, $C2, $D1 ; CPU:$D10A PRG:510A 98 18 69 02 A8 A9 03 4C F5 CF 4C CB CF 20 C2 D1 - .byte $A5, $7D, $F0, $0F, $C9, $07, $B0, $08, $A9, $00, $8D, $9D, $03, $4C, $3F, $D8 ; CPU:$D11A PRG:511A A5 7D F0 0F C9 07 B0 08 A9 00 8D 9D 03 4C 3F D8 - .byte $4C, $9B, $D9, $AD, $95, $04, $F0, $1E, $A9, $00, $8D, $95, $04, $A5, $32, $F0 ; CPU:$D12A PRG:512A 4C 9B D9 AD 95 04 F0 1E A9 00 8D 95 04 A5 32 F0 - .byte $0A, $AD, $9A, $03, $F0, $10, $A9, $03, $85, $7D, $60, $A9, $10, $85, $32, $A9 ; CPU:$D13A PRG:513A 0A AD 9A 03 F0 10 A9 03 85 7D 60 A9 10 85 32 A9 - .byte $01, $8D, $9A, $03, $D0, $41, $A5, $25, $D0, $56, $20, $0D, $DA, $A5, $7B, $D0 ; CPU:$D14A PRG:514A 01 8D 9A 03 D0 41 A5 25 D0 56 20 0D DA A5 7B D0 - .byte $03, $4C, $04, $D5, $AD, $20, $04, $D0, $0E, $A5, $7B, $C9, $01, $F0, $56, $20 ; CPU:$D15A PRG:515A 03 4C 04 D5 AD 20 04 D0 0E A5 7B C9 01 F0 56 20 - .byte $19, $D5, $A5, $3A, $F0, $21, $60, $A5, $3A, $D0, $38, $8D, $20, $04, $C6, $7C ; CPU:$D16A PRG:516A 19 D5 A5 3A F0 21 60 A5 3A D0 38 8D 20 04 C6 7C - .byte $F0, $32, $A5, $19, $29, $03, $85, $00, $A5, $BE, $0A, $0A, $18, $65, $00, $A8 ; CPU:$D17A PRG:517A F0 32 A5 19 29 03 85 00 A5 BE 0A 0A 18 65 00 A8 - .byte $B9, $9D, $CE, $85, $3A, $D0, $1C, $20, $E8, $AC, $30, $EC, $A9, $00, $85, $3A ; CPU:$D18A PRG:518A B9 9D CE 85 3A D0 1C 20 E8 AC 30 EC A9 00 85 3A - .byte $A9, $20, $85, $25, $20, $CD, $D5, $85, $7B, $A9, $03, $85, $7A, $8D, $20, $04 ; CPU:$D19A PRG:519A A9 20 85 25 20 CD D5 85 7B A9 03 85 7A 8D 20 04 - .byte $20, $50, $DA, $60, $A5, $19, $29, $01, $A8, $B9, $AD, $CE, $85, $44, $A9, $01 ; CPU:$D1AA PRG:51AA 20 50 DA 60 A5 19 29 01 A8 B9 AD CE 85 44 A9 01 - .byte $85, $7B, $4A, $85, $BC, $4C, $68, $D5, $A5, $3C, $05, $25, $05, $7D, $D0, $73 ; CPU:$D1BA PRG:51BA 85 7B 4A 85 BC 4C 68 D5 A5 3C 05 25 05 7D D0 73 - .byte $AD, $9D, $03, $F0, $6E, $A5, $69, $29, $F0, $D0, $68, $AD, $9B, $03, $D0, $4E ; CPU:$D1CA PRG:51CA AD 9D 03 F0 6E A5 69 29 F0 D0 68 AD 9B 03 D0 4E - .byte $20, $E8, $AC, $B0, $5E, $8E, $9C, $03, $A9, $01, $95, $C0, $8D, $9B, $03, $0A ; CPU:$D1DA PRG:51DA 20 E8 AC B0 5E 8E 9C 03 A9 01 95 C0 8D 9B 03 0A - .byte $85, $BC, $95, $B7, $A9, $08, $95, $87, $A9, $09, $95, $80, $A5, $B5, $95, $B0 ; CPU:$D1EA PRG:51EA 85 BC 95 B7 A9 08 95 87 A9 09 95 80 A5 B5 95 B0 - .byte $A5, $E5, $95, $DF, $A2, $05, $BD, $DC, $04, $85, $00, $8D, $9F, $03, $AE, $9C ; CPU:$D1FA PRG:51FA A5 E5 95 DF A2 05 BD DC 04 85 00 8D 9F 03 AE 9C - .byte $03, $20, $30, $D9, $A9, $07, $85, $7D, $A9, $20, $85, $38, $A9, $0B, $95, $2B ; CPU:$D20A PRG:520A 03 20 30 D9 A9 07 85 7D A9 20 85 38 A9 0B 95 2B - .byte $A9, $00, $85, $67, $8D, $20, $04, $85, $44, $85, $3A, $85, $25, $60, $A5, $38 ; CPU:$D21A PRG:521A A9 00 85 67 8D 20 04 85 44 85 3A 85 25 60 A5 38 - .byte $D0, $11, $A9, $08, $85, $7D, $AE, $9C, $03, $A9, $02, $85, $BC, $95, $B7, $A9 ; CPU:$D22A PRG:522A D0 11 A9 08 85 7D AE 9C 03 A9 02 85 BC 95 B7 A9 - .byte $30, $85, $3C, $60, $A5, $7D, $D0, $E5, $AE, $9C, $03, $AD, $9B, $03, $F0, $DD ; CPU:$D23A PRG:523A 30 85 3C 60 A5 7D D0 E5 AE 9C 03 AD 9B 03 F0 DD - .byte $B5, $2B, $D0, $24, $B5, $3F, $F0, $17, $D0, $3E, $A5, $19, $29, $03, $85, $00 ; CPU:$D24A PRG:524A B5 2B D0 24 B5 3F F0 17 D0 3E A5 19 29 03 85 00 - .byte $A5, $BE, $0A, $0A, $18, $65, $00, $A8, $B9, $9D, $CE, $95, $3F, $D0, $25, $A9 ; CPU:$D25A PRG:525A A5 BE 0A 0A 18 65 00 A8 B9 9D CE 95 3F D0 25 A9 - .byte $20, $95, $2B, $A9, $03, $8D, $9E, $03, $AC, $9E, $03, $B5, $2B, $D9, $81, $CE ; CPU:$D26A PRG:526A 20 95 2B A9 03 8D 9E 03 AC 9E 03 B5 2B D9 81 CE - .byte $B0, $05, $CE, $9E, $03, $F0, $D3, $AD, $9E, $03, $A8, $B9, $85, $CE, $95, $B7 ; CPU:$D27A PRG:527A B0 05 CE 9E 03 F0 D3 AD 9E 03 A8 B9 85 CE 95 B7 - .byte $A5, $67, $F0, $99, $A9, $00, $95, $B7, $A5, $67, $F0, $58, $A5, $21, $C9, $01 ; CPU:$D28A PRG:528A A5 67 F0 99 A9 00 95 B7 A5 67 F0 58 A5 21 C9 01 - .byte $D0, $06, $B5, $B7, $49, $01, $95, $B7, $A5, $E5, $85, $00, $AD, $9F, $03, $85 ; CPU:$D29A PRG:529A D0 06 B5 B7 49 01 95 B7 A5 E5 85 00 AD 9F 03 85 - .byte $01, $B5, $C0, $F0, $0E, $AD, $9F, $03, $49, $FF, $18, $69, $01, $85, $01, $10 ; CPU:$D2AA PRG:52AA 01 B5 C0 F0 0E AD 9F 03 49 FF 18 69 01 85 01 10 - .byte $02, $C6, $00, $A5, $01, $18, $65, $D4, $85, $01, $90, $02, $E6, $00, $A5, $00 ; CPU:$D2BA PRG:52BA 02 C6 00 A5 01 18 65 D4 85 01 90 02 E6 00 A5 00 - .byte $95, $DF, $A5, $01, $95, $CE, $B5, $DF, $C9, $04, $90, $19, $B5, $DF, $C9, $06 ; CPU:$D2CA PRG:52CA 95 DF A5 01 95 CE B5 DF C9 04 90 19 B5 DF C9 06 - .byte $D0, $12, $B5, $CE, $C9, $90, $90, $0C, $A9, $06, $95, $DF, $A9, $90, $95, $CE ; CPU:$D2DA PRG:52DA D0 12 B5 CE C9 90 90 0C A9 06 95 DF A9 90 95 CE - .byte $A9, $00, $95, $B7, $60, $A9, $04, $95, $DF, $A9, $00, $F0, $F1, $A2, $05, $AD ; CPU:$D2EA PRG:52EA A9 00 95 B7 60 A9 04 95 DF A9 00 F0 F1 A2 05 AD - .byte $95, $04, $F0, $12, $A9, $15, $85, $BC, $A9, $07, $85, $7B, $85, $30, $A9, $00 ; CPU:$D2FA PRG:52FA 95 04 F0 12 A9 15 85 BC A9 07 85 7B 85 30 A9 00 - .byte $85, $7A, $8D, $95, $04, $60, $BD, $DC, $04, $85, $05, $A5, $7B, $0A, $A8, $B9 ; CPU:$D30A PRG:530A 85 7A 8D 95 04 60 BD DC 04 85 05 A5 7B 0A A8 B9 - .byte $C8, $CE, $85, $00, $C8, $B9, $C8, $CE, $85, $01, $6C, $00, $00, $A5, $05, $C9 ; CPU:$D31A PRG:531A C8 CE 85 00 C8 B9 C8 CE 85 01 6C 00 00 A5 05 C9 - .byte $40, $B0, $1A, $A5, $BC, $09, $02, $85, $BC, $A5, $05, $C9, $20, $B0, $29, $AD ; CPU:$D32A PRG:532A 40 B0 1A A5 BC 09 02 85 BC A5 05 C9 20 B0 29 AD - .byte $8C, $03, $F0, $03, $4C, $C5, $D3, $A9, $07, $A2, $55, $D0, $15, $A5, $BC, $29 ; CPU:$D33A PRG:533A 8C 03 F0 03 4C C5 D3 A9 07 A2 55 D0 15 A5 BC 29 - .byte $FD, $85, $BC, $A5, $7A, $29, $01, $85, $7A, $4A, $85, $7B, $85, $3C, $A9, $09 ; CPU:$D34A PRG:534A FD 85 BC A5 7A 29 01 85 7A 4A 85 7B 85 3C A9 09 - .byte $A2, $C0, $8D, $8A, $03, $8E, $8B, $03, $A5, $7B, $F0, $03, $4C, $68, $D5, $20 ; CPU:$D35A PRG:535A A2 C0 8D 8A 03 8E 8B 03 A5 7B F0 03 4C 68 D5 20 - .byte $04, $D5, $90, $77, $A5, $3C, $F0, $03, $4C, $3A, $D4, $A5, $05, $C9, $15, $90 ; CPU:$D36A PRG:536A 04 D5 90 77 A5 3C F0 03 4C 3A D4 A5 05 C9 15 90 - .byte $07, $A0, $07, $A2, $05, $20, $33, $B2, $4C, $0E, $D4, $00, $0C, $18, $24, $AD ; CPU:$D37A PRG:537A 07 A0 07 A2 05 20 33 B2 4C 0E D4 00 0C 18 24 AD - .byte $8C, $03, $F0, $68, $A0, $00, $A5, $69, $29, $20, $D0, $10, $A0, $03, $A5, $69 ; CPU:$D38A PRG:538A 8C 03 F0 68 A0 00 A5 69 29 20 D0 10 A0 03 A5 69 - .byte $29, $06, $F0, $08, $A0, $09, $29, $04, $D0, $02, $A0, $06, $84, $00, $A5, $7B ; CPU:$D39A PRG:539A 29 06 F0 08 A0 09 29 04 D0 02 A0 06 84 00 A5 7B - .byte $38, $E9, $02, $18, $65, $00, $A4, $BE, $18, $79, $85, $D3, $A8, $B9, $ED, $CE ; CPU:$D3AA PRG:53AA 38 E9 02 18 65 00 A4 BE 18 79 85 D3 A8 B9 ED CE - .byte $A6, $53, $D0, $03, $38, $E9, $19, $C5, $1C, $90, $31, $A9, $00, $85, $30, $85 ; CPU:$D3BA PRG:53BA A6 53 D0 03 38 E9 19 C5 1C 90 31 A9 00 85 30 85 - .byte $7A, $A5, $69, $29, $02, $F0, $15, $A5, $69, $29, $20, $D0, $0F, $A9, $05, $85 ; CPU:$D3CA PRG:53CA 7A A5 69 29 02 F0 15 A5 69 29 20 D0 0F A9 05 85 - .byte $7F, $85, $7B, $A9, $03, $85, $7A, $A9, $14, $85, $BC, $60, $A9, $0D, $85, $30 ; CPU:$D3DA PRG:53DA 7F 85 7B A9 03 85 7A A9 14 85 BC 60 A9 0D 85 30 - .byte $4A, $85, $7B, $A9, $04, $85, $BC, $A9, $01, $85, $FC, $60, $A5, $30, $D0, $FB ; CPU:$D3EA PRG:53EA 4A 85 7B A9 04 85 BC A9 01 85 FC 60 A5 30 D0 FB - .byte $C6, $BC, $C6, $7A, $10, $1D, $85, $7A, $85, $BC, $C6, $7C, $F0, $1D, $A5, $05 ; CPU:$D3FA PRG:53FA C6 BC C6 7A 10 1D 85 7A 85 BC C6 7C F0 1D A5 05 - .byte $C9, $20, $B0, $17, $20, $CD, $D5, $85, $7B, $A8, $A9, $03, $85, $7A, $B9, $D8 ; CPU:$D40A PRG:540A C9 20 B0 17 20 CD D5 85 7B A8 A9 03 85 7A B9 D8 - .byte $CE, $85, $BC, $A6, $7A, $BD, $DD, $CE, $85, $30, $60, $A9, $04, $85, $3C, $A5 ; CPU:$D41A PRG:541A CE 85 BC A6 7A BD DD CE 85 30 60 A9 04 85 3C A5 - .byte $E4, $D0, $06, $A5, $D3, $C9, $70, $90, $07, $A2, $05, $A0, $F7, $20, $33, $B2 ; CPU:$D42A PRG:542A E4 D0 06 A5 D3 C9 70 90 07 A2 05 A0 F7 20 33 B2 - .byte $A9, $00, $8D, $8C, $03, $A9, $01, $4C, $B9, $D5, $A5, $30, $D0, $2B, $C6, $7F ; CPU:$D43A PRG:543A A9 00 8D 8C 03 A9 01 4C B9 D5 A5 30 D0 2B C6 7F - .byte $30, $DD, $A4, $7F, $B9, $E1, $CE, $85, $B5, $B9, $E7, $CE, $85, $30, $C0, $03 ; CPU:$D44A PRG:544A 30 DD A4 7F B9 E1 CE 85 B5 B9 E7 CE 85 30 C0 03 - .byte $D0, $0F, $A5, $1B, $C9, $CD, $90, $11, $A9, $13, $85, $BC, $A9, $02, $85, $7A ; CPU:$D45A PRG:545A D0 0F A5 1B C9 CD 90 11 A9 13 85 BC A9 02 85 7A - .byte $60, $A9, $12, $85, $BC, $A9, $01, $85, $7A, $60, $A5, $30, $D0, $FB, $A5, $68 ; CPU:$D46A PRG:546A 60 A9 12 85 BC A9 01 85 7A 60 A5 30 D0 FB A5 68 - .byte $F0, $A9, $A5, $69, $F0, $A5, $60, $A5, $30, $F0, $A0, $60, $A5, $85, $F0, $52 ; CPU:$D47A PRG:547A F0 A9 A5 69 F0 A5 60 A5 30 F0 A0 60 A5 85 F0 52 - .byte $AD, $A5, $04, $30, $4D, $A4, $BC, $A5, $A4, $85, $01, $A5, $93, $38, $F9, $33 ; CPU:$D48A PRG:548A AD A5 04 30 4D A4 BC A5 A4 85 01 A5 93 38 F9 33 - .byte $CF, $85, $00, $B0, $02, $C6, $01, $A5, $B5, $18, $79, $1D, $CF, $85, $02, $A0 ; CPU:$D49A PRG:549A CF 85 00 B0 02 C6 01 A5 B5 18 79 1D CF 85 02 A0 - .byte $01, $A6, $4B, $A5, $01, $C9, $01, $D0, $19, $A5, $02, $9D, $00, $06, $B9, $49 ; CPU:$D4AA PRG:54AA 01 A6 4B A5 01 C9 01 D0 19 A5 02 9D 00 06 B9 49 - .byte $CF, $9D, $01, $06, $A9, $02, $9D, $02, $06, $A5, $00, $9D, $03, $06, $E8, $E8 ; CPU:$D4BA PRG:54BA CF 9D 01 06 A9 02 9D 02 06 A5 00 9D 03 06 E8 E8 - .byte $E8, $E8, $A5, $00, $18, $69, $08, $85, $00, $90, $02, $E6, $01, $88, $10, $D3 ; CPU:$D4CA PRG:54CA E8 E8 A5 00 18 69 08 85 00 90 02 E6 01 88 10 D3 - .byte $86, $4B, $18, $60, $A0, $FF, $D0, $02, $A0, $01, $A2, $05, $A5, $30, $D0, $0B ; CPU:$D4DA PRG:54DA 86 4B 18 60 A0 FF D0 02 A0 01 A2 05 A5 30 D0 0B - .byte $AD, $8A, $03, $85, $30, $B5, $B7, $49, $01, $95, $B7, $AD, $9D, $04, $18, $6D ; CPU:$D4EA PRG:54EA AD 8A 03 85 30 B5 B7 49 01 95 B7 AD 9D 04 18 6D - .byte $8B, $03, $8D, $9D, $04, $90, $DB, $4C, $33, $B2, $A4, $5F, $A2, $05, $BD, $E3 ; CPU:$D4FA PRG:54FA 8B 03 8D 9D 04 90 DB 4C 33 B2 A4 5F A2 05 BD E3 - .byte $04, $D0, $3A, $BD, $DC, $04, $D9, $EB, $CD, $B0, $32, $A9, $00, $85, $30, $A5 ; CPU:$D50A PRG:550A 04 D0 3A BD DC 04 D9 EB CD B0 32 A9 00 85 30 A5 - .byte $BE, $0A, $85, $00, $A4, $5F, $B9, $75, $CF, $85, $01, $B9, $7A, $CF, $85, $02 ; CPU:$D51A PRG:551A BE 0A 85 00 A4 5F B9 75 CF 85 01 B9 7A CF 85 02 - .byte $A0, $00, $A2, $01, $A5, $18, $D1, $01, $90, $07, $C8, $E8, $D1, $01, $B0, $01 ; CPU:$D52A PRG:552A A0 00 A2 01 A5 18 D1 01 90 07 C8 E8 D1 01 B0 01 - .byte $E8, $A5, $5F, $C9, $01, $D0, $02, $A2, $03, $86, $7C, $38, $60, $A5, $E4, $D9 ; CPU:$D53A PRG:553A E8 A5 5F C9 01 D0 02 A2 03 86 7C 38 60 A5 E4 D9 - .byte $F0, $CD, $90, $10, $A5, $8C, $C9, $06, $D0, $04, $A5, $C5, $D0, $0D, $A5, $E4 ; CPU:$D54A PRG:554A F0 CD 90 10 A5 8C C9 06 D0 04 A5 C5 D0 0D A5 E4 - .byte $C9, $05, $90, $3F, $A5, $C5, $D0, $03, $4C, $DE, $D4, $4C, $E2, $D4, $A5, $44 ; CPU:$D55A PRG:555A C9 05 90 3F A5 C5 D0 03 4C DE D4 4C E2 D4 A5 44 - .byte $F0, $2A, $A5, $E4, $F0, $1A, $A5, $8C, $C9, $06, $D0, $06, $A5, $E4, $C9, $04 ; CPU:$D56A PRG:556A F0 2A A5 E4 F0 1A A5 8C C9 06 D0 06 A5 E4 C9 04 - .byte $90, $1A, $A5, $E4, $C9, $06, $D0, $0E, $A5, $D3, $C9, $90, $B0, $0E, $90, $06 ; CPU:$D57A PRG:557A 90 1A A5 E4 C9 06 D0 0E A5 D3 C9 90 B0 0E 90 06 - .byte $A5, $D3, $C9, $70, $90, $06, $A5, $C5, $F0, $D1, $D0, $CC, $A9, $00, $85, $44 ; CPU:$D58A PRG:558A A5 D3 C9 70 90 06 A5 C5 F0 D1 D0 CC A9 00 85 44 - .byte $46, $7B, $38, $60, $A5, $1A, $29, $03, $A8, $B9, $F5, $CD, $D0, $11, $A5, $1A ; CPU:$D59A PRG:559A 46 7B 38 60 A5 1A 29 03 A8 B9 F5 CD D0 11 A5 1A - .byte $29, $03, $85, $00, $A5, $BE, $0A, $0A, $18, $65, $00, $A8, $B9, $13, $CE, $85 ; CPU:$D5AA PRG:55AA 29 03 85 00 A5 BE 0A 0A 18 65 00 A8 B9 13 CE 85 - .byte $44, $A9, $01, $85, $7B, $4A, $85, $7A, $A4, $5F, $C0, $04, $D0, $02, $A9, $02 ; CPU:$D5BA PRG:55BA 44 A9 01 85 7B 4A 85 7A A4 5F C0 04 D0 02 A9 02 - .byte $85, $BC, $60, $A4, $5F, $B9, $4B, $CF, $85, $00, $B9, $50, $CF, $85, $01, $A9 ; CPU:$D5CA PRG:55CA 85 BC 60 A4 5F B9 4B CF 85 00 B9 50 CF 85 01 A9 - .byte $00, $85, $02, $A5, $BE, $0A, $A8, $E6, $02, $E6, $02, $A5, $19, $D1, $00, $90 ; CPU:$D5DA PRG:55DA 00 85 02 A5 BE 0A A8 E6 02 E6 02 A5 19 D1 00 90 - .byte $0E, $C8, $E6, $02, $D1, $00, $90, $07, $C9, $FF, $F0, $03, $A9, $04, $60, $A4 ; CPU:$D5EA PRG:55EA 0E C8 E6 02 D1 00 90 07 C9 FF F0 03 A9 04 60 A4 - .byte $02, $98, $60, $A2, $10, $B5, $DF, $38, $E5, $65, $95, $9F, $B5, $CE, $38, $E5 ; CPU:$D5FA PRG:55FA 02 98 60 A2 10 B5 DF 38 E5 65 95 9F B5 CE 38 E5 - .byte $12, $95, $8E, $90, $02, $F6, $9F, $CA, $10, $EB, $60, $AD, $F8, $03, $0D, $F9 ; CPU:$D60A PRG:560A 12 95 8E 90 02 F6 9F CA 10 EB 60 AD F8 03 0D F9 - .byte $03, $D0, $1C, $20, $57, $D6, $8D, $06, $04, $A5, $00, $8D, $0C, $04, $A2, $00 ; CPU:$D61A PRG:561A 03 D0 1C 20 57 D6 8D 06 04 A5 00 8D 0C 04 A2 00 - .byte $A9, $01, $9D, $F8, $03, $9D, $0E, $04, $A9, $06, $85, $30, $4C, $88, $D6, $A5 ; CPU:$D62A PRG:562A A9 01 9D F8 03 9D 0E 04 A9 06 85 30 4C 88 D6 A5 - .byte $30, $D0, $D7, $A5, $7A, $F0, $D3, $AD, $F8, $03, $C9, $03, $D0, $CC, $20, $57 ; CPU:$D63A PRG:563A 30 D0 D7 A5 7A F0 D3 AD F8 03 C9 03 D0 CC 20 57 - .byte $D6, $8D, $07, $04, $A5, $00, $8D, $0D, $04, $A2, $01, $D0, $D3, $A5, $BE, $0A ; CPU:$D64A PRG:564A D6 8D 07 04 A5 00 8D 0D 04 A2 01 D0 D3 A5 BE 0A - .byte $0A, $A8, $A2, $00, $A5, $19, $D9, $4D, $CE, $90, $0D, $E8, $D9, $4E, $CE, $90 ; CPU:$D65A PRG:565A 0A A8 A2 00 A5 19 D9 4D CE 90 0D E8 D9 4E CE 90 - .byte $07, $E8, $D9, $4F, $CE, $90, $01, $E8, $BD, $61, $CE, $85, $00, $BD, $5D, $CE ; CPU:$D66A PRG:566A 07 E8 D9 4F CE 90 01 E8 BD 61 CE 85 00 BD 5D CE - .byte $60, $BD, $F8, $03, $F0, $15, $C9, $05, $F0, $04, $A5, $30, $D0, $0D, $BD, $F8 ; CPU:$D67A PRG:567A 60 BD F8 03 F0 15 C9 05 F0 04 A5 30 D0 0D BD F8 - .byte $03, $18, $7D, $06, $04, $A8, $B9, $27, $CE, $85, $BC, $60, $A2, $01, $BD, $F8 ; CPU:$D68A PRG:568A 03 18 7D 06 04 A8 B9 27 CE 85 BC 60 A2 01 BD F8 - .byte $03, $F0, $45, $C9, $01, $D0, $35, $A5, $30, $D0, $3D, $A9, $02, $9D, $F8, $03 ; CPU:$D69A PRG:569A 03 F0 45 C9 01 D0 35 A5 30 D0 3D A9 02 9D F8 03 - .byte $A5, $93, $38, $E9, $16, $9D, $00, $04, $A9, $00, $9D, $08, $04, $9D, $0A, $04 ; CPU:$D6AA PRG:56AA A5 93 38 E9 16 9D 00 04 A9 00 9D 08 04 9D 0A 04 - .byte $A5, $A4, $9D, $02, $04, $A0, $A8, $BD, $06, $04, $30, $08, $C9, $09, $F0, $06 ; CPU:$D6BA PRG:56BA A5 A4 9D 02 04 A0 A8 BD 06 04 30 08 C9 09 F0 06 - .byte $C9, $0E, $F0, $02, $A0, $92, $98, $9D, $04, $04, $D0, $0C, $C9, $02, $D0, $57 ; CPU:$D6CA PRG:56CA C9 0E F0 02 A0 92 98 9D 04 04 D0 0C C9 02 D0 57 - .byte $BD, $08, $04, $30, $06, $20, $86, $D7, $4C, $80, $D7, $A9, $03, $9D, $F8, $03 ; CPU:$D6DA PRG:56DA BD 08 04 30 06 20 86 D7 4C 80 D7 A9 03 9D F8 03 - .byte $20, $86, $D7, $BD, $0C, $04, $A8, $B9, $3B, $CE, $85, $00, $BD, $06, $04, $C9 ; CPU:$D6EA PRG:56EA 20 86 D7 BD 0C 04 A8 B9 3B CE 85 00 BD 06 04 C9 - .byte $FF, $F0, $08, $C9, $09, $F0, $04, $C9, $04, $F0, $08, $A5, $00, $49, $FF, $A8 ; CPU:$D6FA PRG:56FA FF F0 08 C9 09 F0 04 C9 04 F0 08 A5 00 49 FF A8 - .byte $C8, $84, $00, $BD, $04, $04, $18, $65, $00, $9D, $04, $04, $DE, $0C, $04, $BD ; CPU:$D70A PRG:570A C8 84 00 BD 04 04 18 65 00 9D 04 04 DE 0C 04 BD - .byte $0C, $04, $C9, $09, $F0, $05, $BD, $0C, $04, $10, $5B, $A9, $04, $9D, $F8, $03 ; CPU:$D71A PRG:571A 0C 04 C9 09 F0 05 BD 0C 04 10 5B A9 04 9D F8 03 - .byte $A9, $00, $9D, $08, $04, $F0, $4F, $C9, $03, $F0, $B0, $C9, $04, $D0, $3A, $20 ; CPU:$D72A PRG:572A A9 00 9D 08 04 F0 4F C9 03 F0 B0 C9 04 D0 3A 20 - .byte $86, $D7, $A5, $A4, $4A, $B0, $07, $BD, $02, $04, $C9, $02, $F0, $16, $BD, $02 ; CPU:$D73A PRG:573A 86 D7 A5 A4 4A B0 07 BD 02 04 C9 02 F0 16 BD 02 - .byte $04, $4A, $90, $32, $A5, $A4, $C9, $01, $D0, $2C, $A5, $93, $38, $E9, $16, $DD ; CPU:$D74A PRG:574A 04 4A 90 32 A5 A4 C9 01 D0 2C A5 93 38 E9 16 DD - .byte $00, $04, $B0, $22, $A5, $7E, $F0, $1E, $A9, $05, $9D, $F8, $03, $A9, $00, $9D ; CPU:$D75A PRG:575A 00 04 B0 22 A5 7E F0 1E A9 05 9D F8 03 A9 00 9D - .byte $00, $04, $9D, $02, $04, $A9, $08, $85, $30, $A5, $30, $D0, $09, $9D, $F8, $03 ; CPU:$D76A PRG:576A 00 04 9D 02 04 A9 08 85 30 A5 30 D0 09 9D F8 03 - .byte $9D, $0E, $04, $9D, $06, $04, $CA, $30, $75, $4C, $98, $D6, $A5, $7E, $D0, $07 ; CPU:$D77A PRG:577A 9D 0E 04 9D 06 04 CA 30 75 4C 98 D6 A5 7E D0 07 - .byte $BD, $02, $04, $C9, $02, $B0, $0C, $A5, $34, $D0, $08, $A9, $04, $85, $FC, $A9 ; CPU:$D78A PRG:578A BD 02 04 C9 02 B0 0C A5 34 D0 08 A9 04 85 FC A9 - .byte $10, $85, $34, $A5, $49, $29, $03, $D0, $0B, $FE, $0A, $04, $BD, $0A, $04, $29 ; CPU:$D79A PRG:579A 10 85 34 A5 49 29 03 D0 0B FE 0A 04 BD 0A 04 29 - .byte $03, $9D, $0A, $04, $A0, $01, $BD, $FA, $03, $18, $69, $A0, $9D, $FA, $03, $90 ; CPU:$D7AA PRG:57AA 03 9D 0A 04 A0 01 BD FA 03 18 69 A0 9D FA 03 90 - .byte $01, $C8, $98, $18, $7D, $08, $04, $9D, $08, $04, $BD, $F8, $03, $C9, $02, $F0 ; CPU:$D7BA PRG:57BA 01 C8 98 18 7D 08 04 9D 08 04 BD F8 03 C9 02 F0 - .byte $13, $C9, $03, $D0, $14, $BD, $0C, $04, $C9, $0E, $B0, $08, $C9, $09, $B0, $09 ; CPU:$D7CA PRG:57CA 13 C9 03 D0 14 BD 0C 04 C9 0E B0 08 C9 09 B0 09 - .byte $C9, $05, $90, $05, $98, $49, $FF, $A8, $C8, $98, $18, $65, $66, $10, $03, $DE ; CPU:$D7DA PRG:57DA C9 05 90 05 98 49 FF A8 C8 98 18 65 66 10 03 DE - .byte $02, $04, $18, $7D, $00, $04, $9D, $00, $04, $90, $03, $FE, $02, $04, $60, $A2 ; CPU:$D7EA PRG:57EA 02 04 18 7D 00 04 9D 00 04 90 03 FE 02 04 60 A2 - .byte $01, $BD, $02, $04, $C9, $01, $D0, $39, $BD, $F8, $03, $F0, $34, $C9, $01, $F0 ; CPU:$D7FA PRG:57FA 01 BD 02 04 C9 01 D0 39 BD F8 03 F0 34 C9 01 F0 - .byte $30, $C9, $05, $F0, $2C, $BD, $0A, $04, $A8, $B9, $65, $CE, $85, $00, $B9, $69 ; CPU:$D80A PRG:580A 30 C9 05 F0 2C BD 0A 04 A8 B9 65 CE 85 00 B9 69 - .byte $CE, $85, $01, $A4, $4C, $BD, $04, $04, $99, $D0, $06, $C8, $A5, $00, $99, $D0 ; CPU:$D81A PRG:581A CE 85 01 A4 4C BD 04 04 99 D0 06 C8 A5 00 99 D0 - .byte $06, $C8, $A5, $01, $99, $D0, $06, $C8, $BD, $00, $04, $99, $D0, $06, $C8, $84 ; CPU:$D82A PRG:582A 06 C8 A5 01 99 D0 06 C8 BD 00 04 99 D0 06 C8 84 - .byte $4C, $CA, $10, $BD, $60, $A5, $7D, $C9, $01, $D0, $1D, $A9, $00, $85, $BC, $A5 ; CPU:$D83A PRG:583A 4C CA 10 BD 60 A5 7D C9 01 D0 1D A9 00 85 BC A5 - .byte $93, $8D, $98, $03, $A5, $B5, $18, $69, $10, $8D, $99, $03, $E6, $7D, $A9, $04 ; CPU:$D84A PRG:584A 93 8D 98 03 A5 B5 18 69 10 8D 99 03 E6 7D A9 04 - .byte $85, $30, $A9, $10, $8D, $9A, $03, $60, $C9, $02, $D0, $05, $A5, $30, $F0, $2F ; CPU:$D85A PRG:585A 85 30 A9 10 8D 9A 03 60 C9 02 D0 05 A5 30 F0 2F - .byte $60, $C9, $03, $D0, $05, $A2, $05, $4C, $EF, $D8, $C9, $04, $D0, $05, $A2, $05 ; CPU:$D86A PRG:586A 60 C9 03 D0 05 A2 05 4C EF D8 C9 04 D0 05 A2 05 - .byte $4C, $67, $D9, $C9, $05, $D0, $11, $A5, $30, $F0, $0D, $C9, $08, $90, $04, $A9 ; CPU:$D87A PRG:587A 4C 67 D9 C9 05 D0 11 A5 30 F0 0D C9 08 90 04 A9 - .byte $06, $D0, $02, $A9, $02, $85, $BC, $60, $A9, $00, $85, $7D, $4C, $1E, $D2, $A9 ; CPU:$D88A PRG:588A 06 D0 02 A9 02 85 BC 60 A9 00 85 7D 4C 1E D2 A9 - .byte $05, $85, $BC, $A0, $01, $A5, $94, $CD, $98, $03, $90, $02, $A0, $FF, $98, $18 ; CPU:$D89A PRG:589A 05 85 BC A0 01 A5 94 CD 98 03 90 02 A0 FF 98 18 - .byte $6D, $98, $03, $8D, $98, $03, $AC, $9A, $03, $B9, $AF, $CE, $18, $6D, $99, $03 ; CPU:$D8AA PRG:58AA 6D 98 03 8D 98 03 AC 9A 03 B9 AF CE 18 6D 99 03 - .byte $8D, $99, $03, $C9, $E8, $B0, $2B, $A4, $4C, $AD, $99, $03, $99, $D0, $06, $C8 ; CPU:$D8BA PRG:58BA 8D 99 03 C9 E8 B0 2B A4 4C AD 99 03 99 D0 06 C8 - .byte $A9, $AA, $99, $D0, $06, $C8, $AD, $C0, $CE, $99, $D0, $06, $C8, $AD, $98, $03 ; CPU:$D8CA PRG:58CA A9 AA 99 D0 06 C8 AD C0 CE 99 D0 06 C8 AD 98 03 - .byte $99, $D0, $06, $C8, $84, $4C, $CE, $9A, $03, $10, $09, $A9, $00, $8D, $9A, $03 ; CPU:$D8DA PRG:58DA 99 D0 06 C8 84 4C CE 9A 03 10 09 A9 00 8D 9A 03 - .byte $F0, $02, $E6, $7D, $60, $B5, $2B, $D0, $1B, $A9, $02, $9D, $B8, $04, $F6, $C7 ; CPU:$D8EA PRG:58EA F0 02 E6 7D 60 B5 2B D0 1B A9 02 9D B8 04 F6 C7 - .byte $B5, $C7, $C9, $07, $B0, $0F, $C9, $04, $D0, $06, $A9, $08, $15, $80, $95, $80 ; CPU:$D8FA PRG:58FA B5 C7 C9 07 B0 0F C9 04 D0 06 A9 08 15 80 95 80 - .byte $A9, $05, $95, $2B, $60, $A5, $7D, $C9, $08, $F0, $0D, $B5, $DF, $C9, $04, $F0 ; CPU:$D90A PRG:590A A9 05 95 2B 60 A5 7D C9 08 F0 0D B5 DF C9 04 F0 - .byte $07, $A9, $1C, $85, $00, $20, $30, $D9, $A9, $00, $95, $C7, $9D, $B8, $04, $E6 ; CPU:$D91A PRG:591A 07 A9 1C 85 00 20 30 D9 A9 00 95 C7 9D B8 04 E6 - .byte $7D, $A9, $0B, $95, $2B, $60, $A5, $E5, $85, $02, $B5, $C0, $F0, $0D, $A5, $00 ; CPU:$D92A PRG:592A 7D A9 0B 95 2B 60 A5 E5 85 02 B5 C0 F0 0D A5 00 - .byte $49, $FF, $18, $69, $01, $85, $00, $B0, $02, $C6, $02, $A5, $00, $18, $65, $D4 ; CPU:$D93A PRG:593A 49 FF 18 69 01 85 00 B0 02 C6 02 A5 00 18 65 D4 - .byte $85, $03, $90, $02, $E6, $02, $A5, $02, $95, $DF, $A5, $03, $95, $CE, $B5, $DF ; CPU:$D94A PRG:594A 85 03 90 02 E6 02 A5 02 95 DF A5 03 95 CE B5 DF - .byte $C9, $06, $D0, $D1, $B5, $CE, $C9, $90, $90, $CB, $4C, $E2, $D2, $B5, $2B, $D0 ; CPU:$D95A PRG:595A C9 06 D0 D1 B5 CE C9 90 90 CB 4C E2 D2 B5 2B D0 - .byte $1B, $A9, $02, $9D, $B8, $04, $F6, $C7, $B5, $C7, $C9, $07, $B0, $0F, $C9, $05 ; CPU:$D96A PRG:596A 1B A9 02 9D B8 04 F6 C7 B5 C7 C9 07 B0 0F C9 05 - .byte $D0, $06, $A9, $F7, $35, $80, $95, $80, $A9, $05, $95, $2B, $60, $A9, $00, $95 ; CPU:$D97A PRG:597A D0 06 A9 F7 35 80 95 80 A9 05 95 2B 60 A9 00 95 - .byte $C7, $9D, $B8, $04, $A5, $7D, $C9, $05, $D0, $04, $A9, $0F, $95, $2B, $E6, $7D ; CPU:$D98A PRG:598A C7 9D B8 04 A5 7D C9 05 D0 04 A9 0F 95 2B E6 7D - .byte $60, $A5, $7D, $C9, $07, $D0, $45, $AE, $9C, $03, $20, $67, $D9, $A5, $7D, $C9 ; CPU:$D99A PRG:599A 60 A5 7D C9 07 D0 45 AE 9C 03 20 67 D9 A5 7D C9 - .byte $08, $D0, $ED, $AE, $9C, $03, $A9, $00, $85, $7D, $95, $2B, $20, $1E, $D2, $A5 ; CPU:$D9AA PRG:59AA 08 D0 ED AE 9C 03 A9 00 85 7D 95 2B 20 1E D2 A5 - .byte $19, $4A, $90, $DC, $AE, $9C, $03, $B5, $C0, $85, $02, $B5, $CE, $85, $03, $B5 ; CPU:$D9BA PRG:59BA 19 4A 90 DC AE 9C 03 B5 C0 85 02 B5 CE 85 03 B5 - .byte $DF, $85, $04, $A5, $C5, $95, $C0, $A5, $D3, $95, $CE, $A5, $E4, $95, $DF, $A5 ; CPU:$D9CA PRG:59CA DF 85 04 A5 C5 95 C0 A5 D3 95 CE A5 E4 95 DF A5 - .byte $02, $85, $C5, $A5, $03, $85, $D3, $A5, $04, $85, $E4, $60, $AE, $9C, $03, $B5 ; CPU:$D9DA PRG:59DA 02 85 C5 A5 03 85 D3 A5 04 85 E4 60 AE 9C 03 B5 - .byte $8E, $C5, $93, $90, $03, $20, $BE, $D9, $20, $EF, $D8, $A5, $7D, $C9, $09, $D0 ; CPU:$D9EA PRG:59EA 8E C5 93 90 03 20 BE D9 20 EF D8 A5 7D C9 09 D0 - .byte $EA, $AE, $9C, $03, $20, $57, $B2, $A9, $00, $85, $7D, $8D, $9B, $03, $95, $2B ; CPU:$D9FA PRG:59FA EA AE 9C 03 20 57 B2 A9 00 85 7D 8D 9B 03 95 2B - .byte $4C, $1E, $D2, $A2, $05, $B5, $9F, $C9, $01, $D0, $19, $BD, $DC, $04, $C9, $40 ; CPU:$DA0A PRG:5A0A 4C 1E D2 A2 05 B5 9F C9 01 D0 19 BD DC 04 C9 40 - .byte $B0, $16, $A9, $01, $8D, $9D, $03, $A5, $44, $D0, $1C, $A9, $02, $85, $7B, $A9 ; CPU:$DA1A PRG:5A1A B0 16 A9 01 8D 9D 03 A5 44 D0 1C A9 02 85 7B A9 - .byte $00, $85, $25, $60, $A9, $00, $85, $44, $A5, $44, $D0, $06, $85, $7B, $8D, $9D ; CPU:$DA2A PRG:5A2A 00 85 25 60 A9 00 85 44 A5 44 D0 06 85 7B 8D 9D - .byte $03, $60, $A9, $00, $8D, $9D, $03, $A5, $E4, $C9, $04, $D0, $04, $A5, $C5, $D0 ; CPU:$DA3A PRG:5A3A 03 60 A9 00 8D 9D 03 A5 E4 C9 04 D0 04 A5 C5 D0 - .byte $DA, $A9, $01, $85, $7B, $60, $A6, $7A, $A5, $25, $DD, $81, $CE, $B0, $4D, $C6 ; CPU:$DA4A PRG:5A4A DA A9 01 85 7B 60 A6 7A A5 25 DD 81 CE B0 4D C6 - .byte $7A, $A5, $7A, $C9, $02, $D0, $45, $20, $E8, $AC, $B0, $50, $A5, $D3, $95, $CE ; CPU:$DA5A PRG:5A5A 7A A5 7A C9 02 D0 45 20 E8 AC B0 50 A5 D3 95 CE - .byte $A5, $E4, $95, $DF, $A9, $01, $95, $80, $A9, $11, $95, $87, $A5, $C5, $95, $C0 ; CPU:$DA6A PRG:5A6A A5 E4 95 DF A9 01 95 80 A9 11 95 87 A5 C5 95 C0 - .byte $20, $B7, $DA, $A4, $7B, $88, $88, $98, $9D, $78, $04, $B9, $9A, $CE, $95, $B0 ; CPU:$DA7A PRG:5A7A 20 B7 DA A4 7B 88 88 98 9D 78 04 B9 9A CE 95 B0 - .byte $B5, $C0, $D0, $0D, $B5, $CE, $38, $E9, $10, $95, $CE, $B0, $0F, $D6, $DF, $D0 ; CPU:$DA8A PRG:5A8A B5 C0 D0 0D B5 CE 38 E9 10 95 CE B0 0F D6 DF D0 - .byte $0B, $B5, $CE, $18, $69, $10, $95, $CE, $90, $02, $F6, $DF, $A4, $7B, $88, $88 ; CPU:$DA9A PRG:5A9A 0B B5 CE 18 69 10 95 CE 90 02 F6 DF A4 7B 88 88 - .byte $98, $0A, $0A, $18, $65, $7A, $A8, $B9, $85, $CE, $85, $BC, $60, $A9, $80, $85 ; CPU:$DAAA PRG:5AAA 98 0A 0A 18 65 7A A8 B9 85 CE 85 BC 60 A9 80 85 - .byte $00, $B5, $CE, $9D, $F6, $04, $B5, $DF, $9D, $FB, $04, $B5, $C0, $D0, $0E, $A5 ; CPU:$DABA PRG:5ABA 00 B5 CE 9D F6 04 B5 DF 9D FB 04 B5 C0 D0 0E A5 - .byte $00, $49, $FF, $18, $69, $01, $85, $00, $B0, $03, $DE, $FB, $04, $A5, $00, $18 ; CPU:$DACA PRG:5ACA 00 49 FF 18 69 01 85 00 B0 03 DE FB 04 A5 00 18 - .byte $7D, $F6, $04, $9D, $F6, $04, $90, $03, $FE, $FB, $04, $60, $FF, $FF, $FF, $FF ; CPU:$DADA PRG:5ADA 7D F6 04 9D F6 04 90 03 FE FB 04 60 FF FF FF FF + .byte $40, $60, $F0, $27, $60, $60 ; CPU:$981A PRG:181A 40 60 F0 27 60 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: Label_9820 +; Global: Branch target inside Label: taken when 9820. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9820: + sbc (Zp27),y ; CPU:$9820 PRG:1820 F1 27 + .byte $80, $60 ; CPU:$9822 PRG:1822 80 60 -- nop #$60 (undocumented; ca65 cannot encode) + .byte $FC, $27, $A0 ; CPU:$9824 PRG:1824 FC 27 A0 -- nop $A027,x (undocumented; ca65 cannot encode) + rts ; CPU:$9827 PRG:1827 60 +; ---- data $9828-$A495 (3182 bytes) ---- +; referenced by `nop $A027,x` at $9824 (operand $A027 falls inside this region) +; referenced by `bit $9B72` at $A533 (operand $9B72 falls inside this region) +; referenced by `cmp $9BBB,y` at $A6DA (operand $9BBB falls inside this region) +; referenced by `lda $9BA7,y` at $A79B (operand $9BA7 falls inside this region) +; referenced by `lda $9B82,y` at $A7B4 (operand $9B82 falls inside this region) +; referenced by `cmp $9B85,y` at $A7BD (operand $9B85 falls inside this region) +; ... and 84 further references from decoded code +EnemySpritePatternTable: + .byte $FC, $27, $41, $02, $F2, $24, $27, $61, $02, $F3, $9D, $27, $49, $02, $F2, $24 ; CPU:$9828 PRG:-27D8 FC 27 41 02 F2 24 27 61 02 F3 9D 27 49 02 F2 24 + .byte $27, $69, $02, $F3, $9D, $27, $51, $02, $F2, $24, $27, $71, $02, $F3, $9D, $27 ; CPU:$9838 PRG:1838 27 69 02 F3 9D 27 51 02 F2 24 27 71 02 F3 9D 27 + .byte $59, $02, $F2, $24, $27, $79, $02, $F3, $9D, $21, $64, $03, $2D, $28, $2E, $21 ; CPU:$9848 PRG:1848 59 02 F2 24 27 79 02 F3 9D 21 64 03 2D 28 2E 21 + .byte $85, $01, $28, $21, $6C, $03, $2D, $28, $2E, $21, $8D, $01, $28, $21, $74, $03 ; CPU:$9858 PRG:1858 85 01 28 21 6C 03 2D 28 2E 21 8D 01 28 21 74 03 + .byte $2D, $28, $2E, $21, $95, $01, $28, $21, $7C, $03, $2D, $28, $2E, $21, $9D, $01 ; CPU:$9868 PRG:1868 2D 28 2E 21 95 01 28 21 7C 03 2D 28 2E 21 9D 01 + .byte $28, $25, $64, $03, $2D, $28, $2E, $25, $85, $01, $28, $25, $6C, $03, $2D, $28 ; CPU:$9878 PRG:1878 28 25 64 03 2D 28 2E 25 85 01 28 25 6C 03 2D 28 + .byte $2E, $25, $8D, $01, $28, $25, $74, $03, $2D, $28, $2E, $25, $95, $01, $28, $25 ; CPU:$9888 PRG:1888 2E 25 8D 01 28 25 74 03 2D 28 2E 25 95 01 28 25 + .byte $7C, $03, $2D, $28, $2E, $25, $9D, $01, $28, $21, $60, $03, $EC, $E0, $EE, $21 ; CPU:$9898 PRG:1898 7C 03 2D 28 2E 25 9D 01 28 21 60 03 EC E0 EE 21 + .byte $80, $03, $ED, $E1, $EF, $25, $60, $03, $EC, $E2, $EE, $25, $80, $03, $ED, $E3 ; CPU:$98A8 PRG:18A8 80 03 ED E1 EF 25 60 03 EC E2 EE 25 80 03 ED E3 + .byte $EF, $00, $21, $61, $03, $2D, $28, $2E, $21, $82, $01, $28, $21, $69, $03, $2D ; CPU:$98B8 PRG:18B8 EF 00 21 61 03 2D 28 2E 21 82 01 28 21 69 03 2D + .byte $28, $2E, $21, $8A, $01, $28, $21, $71, $03, $2D, $28, $2E, $21, $92, $01, $28 ; CPU:$98C8 PRG:18C8 28 2E 21 8A 01 28 21 71 03 2D 28 2E 21 92 01 28 + .byte $21, $79, $03, $2D, $28, $2E, $21, $9A, $01, $28, $25, $61, $03, $2D, $28, $2E ; CPU:$98D8 PRG:18D8 21 79 03 2D 28 2E 21 9A 01 28 25 61 03 2D 28 2E + .byte $25, $82, $01, $28, $25, $69, $03, $2D, $28, $2E, $25, $8A, $01, $28, $25, $71 ; CPU:$98E8 PRG:18E8 25 82 01 28 25 69 03 2D 28 2E 25 8A 01 28 25 71 + .byte $03, $2D, $28, $2E, $25, $92, $01, $28, $25, $79, $03, $2D, $28, $2E, $25, $9A ; CPU:$98F8 PRG:18F8 03 2D 28 2E 25 92 01 28 25 79 03 2D 28 2E 25 9A + .byte $01, $28, $21, $7D, $03, $EC, $E0, $EE, $21, $9D, $03, $ED, $E1, $EF, $25, $7D ; CPU:$9908 PRG:1908 01 28 21 7D 03 EC E0 EE 21 9D 03 ED E1 EF 25 7D + .byte $03, $EC, $E2, $EE, $25, $9D, $03, $ED, $E3, $EF, $00, $21, $C1, $03, $F9, $2A ; CPU:$9918 PRG:1918 03 EC E2 EE 25 9D 03 ED E3 EF 00 21 C1 03 F9 2A + .byte $2A, $21, $E2, $03, $F9, $2A, $2A, $22, $03, $03, $F9, $2A, $2A, $22, $24, $03 ; CPU:$9928 PRG:1928 2A 21 E2 03 F9 2A 2A 22 03 03 F9 2A 2A 22 24 03 + .byte $F9, $2A, $2A, $22, $45, $03, $F9, $2A, $2A, $22, $66, $03, $F9, $2A, $2A, $22 ; CPU:$9938 PRG:1938 F9 2A 2A 22 45 03 F9 2A 2A 22 66 03 F9 2A 2A 22 + .byte $87, $03, $F9, $2A, $2A, $22, $A8, $03, $F9, $2A, $2A, $22, $C9, $01, $F9, $00 ; CPU:$9948 PRG:1948 87 03 F9 2A 2A 22 A8 03 F9 2A 2A 22 C9 01 F9 00 + .byte $21, $DC, $03, $2A, $2A, $FB, $21, $FB, $03, $2A, $2A, $FB, $22, $1A, $03, $2A ; CPU:$9958 PRG:1958 21 DC 03 2A 2A FB 21 FB 03 2A 2A FB 22 1A 03 2A + .byte $2A, $FB, $22, $39, $03, $2A, $2A, $FB, $22, $58, $03, $2A, $2A, $FB, $22, $77 ; CPU:$9968 PRG:1968 2A FB 22 39 03 2A 2A FB 22 58 03 2A 2A FB 22 77 + .byte $03, $2A, $2A, $FB, $22, $96, $03, $2A, $2A, $FB, $22, $B5, $03, $2A, $2A, $FB ; CPU:$9978 PRG:1978 03 2A 2A FB 22 96 03 2A 2A FB 22 B5 03 2A 2A FB + .byte $22, $D6, $01, $FB, $00, $22, $C0, $60, $2A, $22, $E0, $60, $2B, $23, $00, $60 ; CPU:$9988 PRG:1988 22 D6 01 FB 00 22 C0 60 2A 22 E0 60 2B 23 00 60 + .byte $D1, $23, $20, $20, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E ; CPU:$9998 PRG:1998 D1 23 20 20 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E + .byte $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E ; CPU:$99A8 PRG:19A8 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E + .byte $2D, $2E, $2D, $2E, $26, $C0, $60, $2A, $26, $E0, $60, $2B, $27, $00, $60, $D1 ; CPU:$99B8 PRG:19B8 2D 2E 2D 2E 26 C0 60 2A 26 E0 60 2B 27 00 60 D1 + .byte $27, $20, $20, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D ; CPU:$99C8 PRG:19C8 27 20 20 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D + .byte $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D, $2E, $2D ; CPU:$99D8 PRG:19D8 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D 2E 2D + .byte $2E, $2D, $2E, $23, $40, $60, $4D, $23, $60, $60, $25, $23, $80, $60, $26, $23 ; CPU:$99E8 PRG:19E8 2E 2D 2E 23 40 60 4D 23 60 60 25 23 80 60 26 23 + .byte $A0, $60, $FF, $27, $40, $60, $4D, $27, $60, $60, $25, $27, $80, $60, $26, $27 ; CPU:$99F8 PRG:19F8 A0 60 FF 27 40 60 4D 27 60 60 25 27 80 60 26 27 + .byte $A0, $60, $FF, $00, $23, $C0, $60, $AA, $23, $E0, $50, $FF, $23, $F0, $48, $05 ; CPU:$9A08 PRG:1A08 A0 60 FF 00 23 C0 60 AA 23 E0 50 FF 23 F0 48 05 + .byte $27, $E0, $50, $FF, $27, $F0, $48, $05, $21, $FE, $42, $FF, $21, $CE, $42, $FF ; CPU:$9A18 PRG:1A18 27 E0 50 FF 27 F0 48 05 21 FE 42 FF 21 CE 42 FF + .byte $20, $C6, $15, $1C, $0A, $1F, $0E, $FC, $1C, $22, $15, $1F, $12, $0A, $FC, $0F ; CPU:$9A28 PRG:1A28 20 C6 15 1C 0A 1F 0E FC 1C 22 15 1F 12 0A FC 0F + .byte $1B, $18, $16, $FC, $16, $1B, $13, $F8, $21, $85, $07, $11, $0E, $15, $19, $FC ; CPU:$9A38 PRG:1A38 1B 18 16 FC 16 1B 13 F8 21 85 07 11 0E 15 19 FC + .byte $16, $0E, $21, $C5, $06, $1D, $11, $18, $16, $0A, $1C, $00, $21, $D3, $06, $1C ; CPU:$9A48 PRG:1A48 16 0E 21 C5 06 1D 11 18 16 0A 1C 00 21 D3 06 1C + .byte $22, $15, $1F, $12, $0A, $00, $21, $85, $47, $FC, $21, $C5, $46, $FC, $00, $23 ; CPU:$9A58 PRG:1A58 22 15 1F 12 0A 00 21 85 47 FC 21 C5 46 FC 00 23 + .byte $D0, $50, $AA, $21, $48, $0F, $0C, $18, $17, $10, $1B, $0A, $1D, $1E, $15, $0A ; CPU:$9A68 PRG:1A68 D0 50 AA 21 48 0F 0C 18 17 10 1B 0A 1D 1E 15 0A + .byte $1D, $12, $18, $17, $1C, $21, $87, $11, $1D, $11, $18, $16, $0A, $1C, $FF, $0A ; CPU:$9A78 PRG:1A78 1D 12 18 17 1C 21 87 11 1D 11 18 16 0A 1C FF 0A + .byte $17, $0D, $FF, $1C, $22, $15, $1F, $12, $0A, $22, $4F, $02, $3A, $3F, $22, $6F ; CPU:$9A88 PRG:1A88 17 0D FF 1C 22 15 1F 12 0A 22 4F 02 3A 3F 22 6F + .byte $02, $3B, $40, $22, $8F, $02, $3C, $41, $22, $AF, $02, $3D, $42, $22, $CF, $02 ; CPU:$9A98 PRG:1A98 02 3B 40 22 8F 02 3C 41 22 AF 02 3D 42 22 CF 02 + .byte $7F, $CF, $00, $21, $47, $13, $FA, $1E, $1D, $FF, $1D, $11, $0E, $12, $1B, $FF ; CPU:$9AA8 PRG:1AA8 7F CF 00 21 47 13 FA 1E 1D FF 1D 11 0E 12 1B FF + .byte $11, $0A, $19, $19, $12, $17, $0E, $1C, $1C, $21, $85, $17, $0D, $18, $0E, $1C ; CPU:$9AB8 PRG:1AB8 11 0A 19 19 12 17 0E 1C 1C 21 85 17 0D 18 0E 1C + .byte $FF, $17, $18, $1D, $FF, $0C, $18, $17, $1D, $12, $17, $1E, $0E, $FF, $15, $18 ; CPU:$9AC8 PRG:1AC8 FF 17 18 1D FF 0C 18 17 1D 12 17 1E 0E FF 15 18 + .byte $17, $10, $13, $00, $22, $0B, $4B, $FF, $22, $2B, $0B, $FF, $1D, $12, $16, $0E ; CPU:$9AD8 PRG:1AD8 17 10 13 00 22 0B 4B FF 22 2B 0B FF 1D 12 16 0E + .byte $FF, $18, $1F, $0E, $1B, $FF, $22, $4B, $4B, $FF, $00, $21, $E7, $12, $FF, $FC ; CPU:$9AE8 PRG:1AE8 FF 18 1F 0E 1B FF 22 4B 4B FF 00 21 E7 12 FF FC + .byte $14, $19, $15, $0A, $22, $0E, $1B, $FF, $FC, $14, $0F, $15, $18, $18, $1B, $FF ; CPU:$9AF8 PRG:1AF8 14 19 15 0A 22 0E 1B FF FC 14 0F 15 18 18 1B FF + .byte $00, $22, $0C, $07, $FF, $1B, $0E, $0A, $0D, $22, $FF, $00, $21, $E4, $58, $FC ; CPU:$9B08 PRG:1B08 00 22 0C 07 FF 1B 0E 0A 0D 22 FF 00 21 E4 58 FC + .byte $22, $04, $58, $FC, $00, $23, $9B, $2D, $9B, $33, $9B, $39, $9B, $4F, $9B, $55 ; CPU:$9B18 PRG:1B18 22 04 58 FC 00 23 9B 2D 9B 33 9B 39 9B 4F 9B 55 + .byte $9B, $55, $9B, $6D, $9B, $43, $9B, $49, $9B, $61, $9B, $3D, $9B, $4F, $9B, $63 ; CPU:$9B28 PRG:1B28 9B 55 9B 6D 9B 43 9B 49 9B 61 9B 3D 9B 4F 9B 63 + .byte $9B, $25, $26, $27, $28, $29, $2A, $2F, $30, $29, $2A, $2B, $2C, $2D, $2E, $2B ; CPU:$9B38 PRG:1B38 9B 25 26 27 28 29 2A 2F 30 29 2A 2B 2C 2D 2E 2B + .byte $2C, $35, $36, $33, $34, $35, $36, $31, $32, $37, $38, $31, $32, $39, $3A, $3D ; CPU:$9B48 PRG:1B48 2C 35 36 33 34 35 36 31 32 37 38 31 32 39 3A 3D + .byte $3E, $3F, $40, $41, $42, $45, $46, $43, $44, $41, $42, $3F, $40, $3D, $3E, $39 ; CPU:$9B58 PRG:1B58 3E 3F 40 41 42 45 46 43 44 41 42 3F 40 3D 3E 39 + .byte $3A, $47, $48, $49, $4A, $4B, $4C, $4D, $4E, $01, $02, $04, $08, $81, $A8, $81 ; CPU:$9B68 PRG:1B68 3A 47 48 49 4A 4B 4C 4D 4E 01 02 04 08 81 A8 81 + .byte $A8, $BD, $A8, $BD, $A8, $F0, $A8, $02, $00, $03, $00, $06, $00, $00, $00, $40 ; CPU:$9B78 PRG:1B78 A8 BD A8 BD A8 F0 A8 02 00 03 00 06 00 00 00 40 + .byte $00, $05, $00, $00, $C0, $00, $00, $70, $90, $00, $01, $FF, $02, $FE, $01, $02 ; CPU:$9B88 PRG:1B88 00 05 00 00 C0 00 00 70 90 00 01 FF 02 FE 01 02 + .byte $02, $03, $03, $0C, $03, $02, $02, $02, $02, $01, $05, $0C, $07, $02, $00, $05 ; CPU:$9B98 PRG:1B98 02 03 03 0C 03 02 02 02 02 01 05 0C 07 02 00 05 + .byte $05, $04, $04, $03, $07, $06, $06, $05, $87, $84, $7C, $78, $74, $6C, $70, $74 ; CPU:$9BA8 PRG:1BA8 05 04 04 03 07 06 06 05 87 84 7C 78 74 6C 70 74 + .byte $78, $7C, $84, $08, $08, $08, $0A, $0D, $12, $0D, $12, $AE, $FE, $AD, $F9, $BD ; CPU:$9BB8 PRG:1BB8 78 7C 84 08 08 08 0A 0D 12 0D 12 AE FE AD F9 BD + .byte $9F, $CF, $3B, $D0, $E5, $D0, $17, $D1, $F7, $D2, $3E, $D2, $3D, $AC, $91, $AE ; CPU:$9BC8 PRG:1BC8 9F CF 3B D0 E5 D0 17 D1 F7 D2 3E D2 3D AC 91 AE + .byte $2E, $B0, $6A, $B0, $8A, $B1, $17, $B1, $A8, $B1, $EA, $B1, $0E, $B8, $0C, $9C ; CPU:$9BD8 PRG:1BD8 2E B0 6A B0 8A B1 17 B1 A8 B1 EA B1 0E B8 0C 9C + .byte $20, $9C, $3A, $9C, $4A, $9C, $60, $9C, $6E, $9C, $84, $9C, $94, $9C, $C2, $9C ; CPU:$9BE8 PRG:1BE8 20 9C 3A 9C 4A 9C 60 9C 6E 9C 84 9C 94 9C C2 9C + .byte $CC, $9C, $D8, $9C, $D8, $9C, $D8, $9C, $DA, $9C, $DC, $9C, $DE, $9C, $E0, $9C ; CPU:$9BF8 PRG:1BF8 CC 9C D8 9C D8 9C D8 9C DA 9C DC 9C DE 9C E0 9C + .byte $E4, $9C, $E8, $9C, $ED, $9F, $FC, $9F, $0B, $A0, $1A, $A0, $29, $A0, $29, $A0 ; CPU:$9C08 PRG:1C08 E4 9C E8 9C ED 9F FC 9F 0B A0 1A A0 29 A0 29 A0 + .byte $38, $A0, $3D, $A0, $4C, $A0, $0B, $A1, $51, $A0, $5D, $A0, $51, $A0, $5D, $A0 ; CPU:$9C18 PRG:1C18 38 A0 3D A0 4C A0 0B A1 51 A0 5D A0 51 A0 5D A0 + .byte $65, $A0, $65, $A0, $65, $A0, $65, $A0, $65, $A0, $70, $A0, $7B, $A0, $86, $A0 ; CPU:$9C28 PRG:1C28 65 A0 65 A0 65 A0 65 A0 65 A0 70 A0 7B A0 86 A0 + .byte $91, $A0, $9D, $A0, $AE, $A0, $AE, $A0, $BF, $A0, $D1, $A0, $E4, $A0, $F8, $A0 ; CPU:$9C38 PRG:1C38 91 A0 9D A0 AE A0 AE A0 BF A0 D1 A0 E4 A0 F8 A0 + .byte $0B, $A1, $EC, $9C, $FD, $9C, $0E, $9D, $23, $9D, $0E, $9D, $0E, $9D, $3A, $9D ; CPU:$9C48 PRG:1C48 0B A1 EC 9C FD 9C 0E 9D 23 9D 0E 9D 0E 9D 3A 9D + .byte $51, $9D, $3A, $9D, $3A, $9D, $0B, $A1, $69, $9D, $7B, $9D, $69, $9D, $D1, $A0 ; CPU:$9C58 PRG:1C58 51 9D 3A 9D 3A 9D 0B A1 69 9D 7B 9D 69 9D D1 A0 + .byte $8D, $9D, $F8, $A0, $0B, $A1, $A1, $9D, $B3, $9D, $C5, $9D, $D7, $9D, $C5, $9D ; CPU:$9C68 PRG:1C68 8D 9D F8 A0 0B A1 A1 9D B3 9D C5 9D D7 9D C5 9D + .byte $C5, $9D, $EF, $9D, $00, $9E, $EF, $9D, $EF, $9D, $18, $9E, $2D, $9E, $3D, $9E ; CPU:$9C78 PRG:1C78 C5 9D EF 9D 00 9E EF 9D EF 9D 18 9E 2D 9E 3D 9E + .byte $4E, $9E, $5F, $9E, $71, $9E, $84, $9E, $91, $9E, $2D, $A1, $9E, $9E, $AF, $9E ; CPU:$9C88 PRG:1C88 4E 9E 5F 9E 71 9E 84 9E 91 9E 2D A1 9E 9E AF 9E + .byte $C0, $9E, $D4, $9E, $E8, $9E, $1E, $9F, $F9, $9E, $09, $9F, $F9, $9E, $1E, $9F ; CPU:$9C98 PRG:1C98 C0 9E D4 9E E8 9E 1E 9F F9 9E 09 9F F9 9E 1E 9F + .byte $1E, $9F, $2F, $9F, $1E, $9F, $43, $9F, $68, $9F, $52, $9F, $68, $9F, $77, $9F ; CPU:$9CA8 PRG:1CA8 1E 9F 2F 9F 1E 9F 43 9F 68 9F 52 9F 68 9F 77 9F + .byte $77, $9F, $88, $9F, $77, $9F, $9B, $9F, $1C, $A1, $2D, $9E, $3D, $9E, $4E, $9E ; CPU:$9CB8 PRG:1CB8 77 9F 88 9F 77 9F 9B 9F 1C A1 2D 9E 3D 9E 4E 9E + .byte $5F, $9E, $71, $9E, $9E, $9E, $AF, $9E, $AB, $9F, $AB, $9F, $1C, $A1, $BB, $9F ; CPU:$9CC8 PRG:1CC8 5F 9E 71 9E 9E 9E AF 9E AB 9F AB 9F 1C A1 BB 9F + .byte $EC, $A1, $EC, $A1, $EC, $A1, $FE, $A1, $FE, $A1, $08, $A2, $12, $A2, $18, $A2 ; CPU:$9CD8 PRG:1CD8 EC A1 EC A1 EC A1 FE A1 FE A1 08 A2 12 A2 18 A2 + .byte $CB, $9F, $DA, $9F, $06, $02, $02, $05, $08, $60, $61, $EA, $13, $14, $05, $08 ; CPU:$9CE8 PRG:1CE8 CB 9F DA 9F 06 02 02 05 08 60 61 EA 13 14 05 08 + .byte $15, $62, $17, $18, $19, $06, $02, $02, $05, $08, $60, $61, $EA, $1D, $1E, $05 ; CPU:$9CF8 PRG:1CF8 15 62 17 18 19 06 02 02 05 08 60 61 EA 1D 1E 05 + .byte $08, $15, $62, $17, $22, $23, $06, $03, $02, $05, $08, $63, $3E, $3F, $1D, $1E ; CPU:$9D08 PRG:1D08 08 15 62 17 22 23 06 03 02 05 08 63 3E 3F 1D 1E + .byte $06, $00, $66, $64, $65, $43, $22, $25, $01, $00, $67, $06, $04, $00, $02, $08 ; CPU:$9D18 PRG:1D18 06 00 66 64 65 43 22 25 01 00 67 06 04 00 02 08 + .byte $6D, $6C, $01, $10, $68, $05, $08, $69, $6A, $47, $48, $71, $04, $10, $6B, $4A ; CPU:$9D28 PRG:1D28 6D 6C 01 10 68 05 08 69 6A 47 48 71 04 10 6B 4A + .byte $4B, $4C, $06, $03, $02, $04, $10, $6E, $6F, $70, $71, $05, $08, $66, $72, $73 ; CPU:$9D38 PRG:1D38 4B 4C 06 03 02 04 10 6E 6F 70 71 05 08 66 72 73 + .byte $74, $75, $05, $08, $67, $FC, $FC, $FC, $76, $06, $05, $00, $01, $18, $7C, $01 ; CPU:$9D48 PRG:1D48 74 75 05 08 67 FC FC FC 76 06 05 00 01 18 7C 01 + .byte $18, $77, $04, $10, $78, $79, $70, $71, $04, $10, $7A, $7B, $74, $75, $01, $28 ; CPU:$9D58 PRG:1D58 18 77 04 10 78 79 70 71 04 10 7A 7B 74 75 01 28 + .byte $76, $06, $02, $02, $05, $08, $3D, $3E, $3F, $13, $14, $06, $00, $55, $41, $42 ; CPU:$9D68 PRG:1D68 76 06 02 02 05 08 3D 3E 3F 13 14 06 00 55 41 42 + .byte $43, $18, $19, $06, $02, $02, $05, $08, $3D, $3E, $3F, $1D, $1E, $06, $00, $55 ; CPU:$9D78 PRG:1D78 43 18 19 06 02 02 05 08 3D 3E 3F 1D 1E 06 00 55 + .byte $41, $42, $43, $22, $25, $06, $03, $02, $05, $08, $3D, $3E, $3F, $1D, $1E, $05 ; CPU:$9D88 PRG:1D88 41 42 43 22 25 06 03 02 05 08 3D 3E 3F 1D 1E 05 + .byte $08, $4D, $4E, $4F, $22, $25, $01, $18, $56, $06, $02, $02, $06, $00, $7D, $7E ; CPU:$9D98 PRG:1D98 08 4D 4E 4F 22 25 01 18 56 06 02 02 06 00 7D 7E + .byte $7F, $80, $81, $14, $05, $08, $82, $83, $84, $85, $19, $06, $02, $02, $06, $00 ; CPU:$9DA8 PRG:1DA8 7F 80 81 14 05 08 82 83 84 85 19 06 02 02 06 00 + .byte $7D, $7E, $7F, $80, $86, $1E, $05, $08, $82, $83, $84, $87, $23, $06, $02, $02 ; CPU:$9DB8 PRG:1DB8 7D 7E 7F 80 86 1E 05 08 82 83 84 87 23 06 02 02 + .byte $06, $00, $7D, $7E, $88, $80, $81, $8A, $05, $08, $82, $89, $8B, $8C, $8D, $06 ; CPU:$9DC8 PRG:1DC8 06 00 7D 7E 88 80 81 8A 05 08 82 89 8B 8C 8D 06 + .byte $04, $00, $01, $08, $8E, $01, $08, $8F, $06, $00, $90, $91, $92, $93, $81, $8A ; CPU:$9DD8 PRG:1DD8 04 00 01 08 8E 01 08 8F 06 00 90 91 92 93 81 8A + .byte $05, $08, $94, $95, $96, $8C, $8D, $06, $02, $02, $05, $00, $7D, $7E, $88, $97 ; CPU:$9DE8 PRG:1DE8 05 08 94 95 96 8C 8D 06 02 02 05 00 7D 7E 88 97 + .byte $98, $05, $08, $82, $89, $8B, $8C, $8D, $06, $04, $00, $01, $18, $99, $01, $18 ; CPU:$9DF8 PRG:1DF8 98 05 08 82 89 8B 8C 8D 06 04 00 01 18 99 01 18 + .byte $9A, $05, $00, $9B, $9C, $9D, $EB, $EC, $06, $00, $9E, $9F, $83, $84, $8C, $8D ; CPU:$9E08 PRG:1E08 9A 05 00 9B 9C 9D EB EC 06 00 9E 9F 83 84 8C 8D + .byte $06, $03, $01, $01, $18, $C8, $06, $00, $C7, $7E, $7F, $C9, $81, $14, $05, $00 ; CPU:$9E18 PRG:1E18 06 03 01 01 18 C8 06 00 C7 7E 7F C9 81 14 05 00 + .byte $CA, $82, $83, $84, $CB, $03, $03, $00, $01, $10, $A0, $04, $10, $A1, $A2, $A3 ; CPU:$9E28 PRG:1E28 CA 82 83 84 CB 03 03 00 01 10 A0 04 10 A1 A2 A3 + .byte $A4, $02, $18, $ED, $EE, $03, $03, $00, $01, $10, $A0, $04, $10, $A1, $A2, $A3 ; CPU:$9E38 PRG:1E38 A4 02 18 ED EE 03 03 00 01 10 A0 04 10 A1 A2 A3 + .byte $A5, $03, $18, $ED, $EE, $A6, $03, $03, $00, $02, $10, $A0, $A7, $04, $10, $A1 ; CPU:$9E48 PRG:1E48 A5 03 18 ED EE A6 03 03 00 02 10 A0 A7 04 10 A1 + .byte $A2, $A3, $A4, $02, $18, $ED, $EE, $03, $03, $00, $02, $10, $AB, $AC, $04, $10 ; CPU:$9E58 PRG:1E58 A2 A3 A4 02 18 ED EE 03 03 00 02 10 AB AC 04 10 + .byte $AD, $AE, $A3, $A5, $03, $18, $AF, $EE, $A6, $03, $03, $00, $03, $10, $AB, $B0 ; CPU:$9E68 PRG:1E68 AD AE A3 A5 03 18 AF EE A6 03 03 00 03 10 AB B0 + .byte $B1, $04, $10, $AD, $AE, $A3, $A5, $03, $18, $AF, $EE, $A6, $03, $02, $01, $04 ; CPU:$9E78 PRG:1E78 B1 04 10 AD AE A3 A5 03 18 AF EE A6 03 02 01 04 + .byte $10, $A9, $A2, $A3, $A4, $02, $18, $ED, $EE, $03, $02, $01, $04, $10, $A8, $A2 ; CPU:$9E88 PRG:1E88 10 A9 A2 A3 A4 02 18 ED EE 03 02 01 04 10 A8 A2 + .byte $A3, $A4, $02, $18, $ED, $EE, $06, $02, $02, $05, $08, $44, $45, $46, $47, $48 ; CPU:$9E98 PRG:1E98 A3 A4 02 18 ED EE 06 02 02 05 08 44 45 46 47 48 + .byte $05, $08, $49, $4A, $4B, $4C, $39, $06, $02, $02, $05, $08, $3A, $3B, $3C, $3D ; CPU:$9EA8 PRG:1EA8 05 08 49 4A 4B 4C 39 06 02 02 05 08 3A 3B 3C 3D + .byte $3E, $05, $08, $3F, $40, $41, $42, $43, $06, $03, $01, $01, $10, $D4, $05, $08 ; CPU:$9EB8 PRG:1EB8 3E 05 08 3F 40 41 42 43 06 03 01 01 10 D4 05 08 + .byte $3A, $D5, $D9, $33, $34, $05, $08, $3F, $FE, $37, $38, $39, $06, $03, $01, $01 ; CPU:$9EC8 PRG:1EC8 3A D5 D9 33 34 05 08 3F FE 37 38 39 06 03 01 01 + .byte $10, $D4, $05, $08, $3A, $D5, $D9, $33, $39, $05, $08, $3F, $FE, $37, $38, $34 ; CPU:$9ED8 PRG:1ED8 10 D4 05 08 3A D5 D9 33 39 05 08 3F FE 37 38 34 + .byte $06, $02, $02, $05, $08, $30, $D0, $32, $47, $48, $05, $08, $35, $36, $37, $4C ; CPU:$9EE8 PRG:1EE8 06 02 02 05 08 30 D0 32 47 48 05 08 35 36 37 4C + .byte $39, $06, $02, $02, $04, $08, $30, $31, $5E, $73, $05, $08, $35, $36, $37, $38 ; CPU:$9EF8 PRG:1EF8 39 06 02 02 04 08 30 31 5E 73 05 08 35 36 37 38 + .byte $39, $06, $04, $00, $01, $10, $4E, $02, $10, $4F, $50, $04, $10, $51, $52, $53 ; CPU:$9F08 PRG:1F08 39 06 04 00 01 10 4E 02 10 4F 50 04 10 51 52 53 + .byte $54, $03, $08, $55, $56, $57, $06, $02, $02, $05, $08, $30, $31, $32, $33, $34 ; CPU:$9F18 PRG:1F18 54 03 08 55 56 57 06 02 02 05 08 30 31 32 33 34 + .byte $05, $08, $35, $36, $37, $38, $39, $06, $03, $01, $01, $10, $58, $05, $08, $59 ; CPU:$9F28 PRG:1F28 05 08 35 36 37 38 39 06 03 01 01 10 58 05 08 59 + .byte $5A, $5B, $33, $34, $05, $08, $5C, $5D, $DA, $38, $39, $06, $02, $02, $04, $10 ; CPU:$9F38 PRG:1F38 5A 5B 33 34 05 08 5C 5D DA 38 39 06 02 02 04 10 + .byte $30, $31, $5E, $34, $04, $10, $35, $36, $37, $5F, $06, $04, $00, $01, $28, $60 ; CPU:$9F48 PRG:1F48 30 31 5E 34 04 10 35 36 37 5F 06 04 00 01 28 60 + .byte $02, $20, $61, $62, $04, $10, $59, $63, $64, $65, $04, $10, $5C, $66, $67, $F6 ; CPU:$9F58 PRG:1F58 02 20 61 62 04 10 59 63 64 65 04 10 5C 66 67 F6 + .byte $06, $02, $02, $04, $10, $59, $63, $64, $34, $04, $10, $5C, $66, $67, $F6, $06 ; CPU:$9F68 PRG:1F68 06 02 02 04 10 59 63 64 34 04 10 5C 66 67 F6 06 + .byte $02, $02, $05, $08, $3A, $3B, $3C, $3D, $7F, $05, $08, $3F, $40, $41, $42, $CF ; CPU:$9F78 PRG:1F78 02 02 05 08 3A 3B 3C 3D 7F 05 08 3F 40 41 42 CF + .byte $06, $03, $01, $02, $08, $74, $75, $02, $08, $76, $77, $06, $00, $55, $78, $79 ; CPU:$9F88 PRG:1F88 06 03 01 02 08 74 75 02 08 76 77 06 00 55 78 79 + .byte $7A, $7B, $7C, $06, $02, $02, $05, $08, $7D, $7E, $46, $3D, $3E, $04, $10, $4A ; CPU:$9F98 PRG:1F98 7A 7B 7C 06 02 02 05 08 7D 7E 46 3D 3E 04 10 4A + .byte $4B, $42, $43, $06, $02, $02, $04, $08, $44, $45, $46, $1A, $05, $08, $49, $4A ; CPU:$9FA8 PRG:1FA8 4B 42 43 06 02 02 04 08 44 45 46 1A 05 08 49 4A + .byte $4B, $4C, $39, $06, $02, $02, $05, $08, $7D, $7E, $46, $3D, $7F, $04, $10, $4A ; CPU:$9FB8 PRG:1FB8 4B 4C 39 06 02 02 05 08 7D 7E 46 3D 7F 04 10 4A + .byte $4B, $42, $CF, $02, $02, $00, $04, $00, $CC, $CD, $CE, $CF, $04, $00, $D0, $D1 ; CPU:$9FC8 PRG:1FC8 4B 42 CF 02 02 00 04 00 CC CD CE CF 04 00 D0 D1 + .byte $D2, $D3, $01, $01, $00, $05, $00, $D4, $D5, $D6, $D7, $D8, $00, $0F, $1E, $2D ; CPU:$9FD8 PRG:1FD8 D2 D3 01 01 00 05 00 D4 D5 D6 D7 D8 00 0F 1E 2D + .byte $3C, $3C, $4B, $50, $5F, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $10 ; CPU:$9FE8 PRG:1FE8 3C 3C 4B 50 5F 10 11 12 13 14 15 16 17 18 19 10 + .byte $11, $12, $13, $14, $10, $11, $12, $1D, $1E, $15, $16, $17, $22, $23, $10, $11 ; CPU:$9FF8 PRG:1FF8 11 12 13 14 10 11 12 1D 1E 15 16 17 22 23 10 11 + .byte $12, $1D, $1E, $1A, $1B, $1C, $13, $14, $1F, $20, $21, $18, $19, $1A, $1B, $1C ; CPU:$A008 PRG:2008 12 1D 1E 1A 1B 1C 13 14 1F 20 21 18 19 1A 1B 1C + .byte $13, $14, $1A, $1B, $1C, $1D, $1E, $1F, $20, $21, $22, $23, $1A, $1B, $1C, $1D ; CPU:$A018 PRG:2018 13 14 1A 1B 1C 1D 1E 1F 20 21 22 23 1A 1B 1C 1D + .byte $1E, $10, $11, $24, $1D, $1E, $15, $16, $43, $22, $25, $10, $11, $24, $1D, $1E ; CPU:$A028 PRG:2028 1E 10 11 24 1D 1E 15 16 43 22 25 10 11 24 1D 1E + .byte $10, $11, $24, $1D, $1E, $10, $11, $24, $E8, $E9, $15, $16, $43, $22, $25, $10 ; CPU:$A038 PRG:2038 10 11 24 1D 1E 10 11 24 E8 E9 15 16 43 22 25 10 + .byte $11, $24, $E8, $E9, $10, $11, $24, $E8, $E9, $03, $02, $01, $03, $18, $26, $27 ; CPU:$A048 PRG:2048 11 24 E8 E9 10 11 24 E8 E9 03 02 01 03 18 26 27 + .byte $28, $02, $20, $29, $2A, $03, $01, $01, $03, $18, $26, $2B, $2C, $03, $02, $00 ; CPU:$A058 PRG:2058 28 02 20 29 2A 03 01 01 03 18 26 2B 2C 03 02 00 + .byte $01, $20, $2D, $03, $18, $26, $2E, $2C, $03, $02, $01, $02, $18, $2F, $30, $02 ; CPU:$A068 PRG:2068 01 20 2D 03 18 26 2E 2C 03 02 01 02 18 2F 30 02 + .byte $18, $31, $32, $03, $02, $01, $02, $18, $33, $34, $02, $18, $35, $36, $03, $02 ; CPU:$A078 PRG:2078 18 31 32 03 02 01 02 18 33 34 02 18 35 36 03 02 + .byte $01, $02, $18, $37, $38, $02, $18, $39, $3A, $03, $02, $01, $03, $10, $C2, $C3 ; CPU:$A088 PRG:2088 01 02 18 37 38 02 18 39 3A 03 02 01 03 10 C2 C3 + .byte $C4, $02, $10, $C5, $C6, $06, $02, $02, $05, $08, $3B, $11, $12, $1D, $1E, $05 ; CPU:$A098 PRG:2098 C4 02 10 C5 C6 06 02 02 05 08 3B 11 12 1D 1E 05 + .byte $08, $3C, $16, $17, $22, $23, $06, $02, $02, $05, $08, $3B, $11, $12, $13, $14 ; CPU:$A0A8 PRG:20A8 08 3C 16 17 22 23 06 02 02 05 08 3B 11 12 13 14 + .byte $05, $08, $3C, $16, $17, $18, $19, $06, $02, $02, $05, $08, $3D, $3E, $3F, $1D ; CPU:$A0B8 PRG:20B8 05 08 3C 16 17 18 19 06 02 02 05 08 3D 3E 3F 1D + .byte $1E, $06, $00, $40, $41, $42, $43, $22, $25, $06, $03, $02, $01, $10, $44, $05 ; CPU:$A0C8 PRG:20C8 1E 06 00 40 41 42 43 22 25 06 03 02 01 10 44 05 + .byte $08, $45, $46, $47, $48, $71, $04, $10, $49, $4A, $4B, $4C, $06, $03, $02, $05 ; CPU:$A0D8 PRG:20D8 08 45 46 47 48 71 04 10 49 4A 4B 4C 06 03 02 05 + .byte $08, $3D, $3E, $3F, $1D, $1E, $05, $08, $4D, $4E, $4F, $22, $25, $01, $18, $50 ; CPU:$A0E8 PRG:20E8 08 3D 3E 3F 1D 1E 05 08 4D 4E 4F 22 25 01 18 50 + .byte $06, $03, $02, $01, $20, $53, $05, $08, $45, $51, $52, $54, $71, $04, $10, $49 ; CPU:$A0F8 PRG:20F8 06 03 02 01 20 53 05 08 45 51 52 54 71 04 10 49 + .byte $4A, $4B, $4C, $06, $03, $01, $01, $20, $B5, $04, $08, $B2, $BA, $B4, $B6, $03 ; CPU:$A108 PRG:2108 4A 4B 4C 06 03 01 01 20 B5 04 08 B2 BA B4 B6 03 + .byte $08, $B7, $BB, $B9, $06, $03, $02, $01, $20, $B5, $04, $08, $B2, $B3, $B4, $B6 ; CPU:$A118 PRG:2118 08 B7 BB B9 06 03 02 01 20 B5 04 08 B2 B3 B4 B6 + .byte $03, $08, $B7, $B8, $B9, $04, $02, $01, $03, $10, $BE, $BF, $A4, $03, $08, $AA ; CPU:$A128 PRG:2128 03 08 B7 B8 B9 04 02 01 03 10 BE BF A4 03 08 AA + .byte $C0, $C1, $09, $0C, $07, $0A, $06, $0A, $07, $16, $00, $04, $02, $01, $00, $03 ; CPU:$A138 PRG:2138 C0 C1 09 0C 07 0A 06 0A 07 16 00 04 02 01 00 03 + .byte $03, $03, $03, $03, $03, $00, $01, $03, $22, $22, $01, $23, $01, $01, $03, $08 ; CPU:$A148 PRG:2148 03 03 03 03 03 00 01 03 22 22 01 23 01 01 03 08 + .byte $F8, $0C, $F4, $10, $F0, $14, $EC, $02, $FA, $06, $FE, $18, $0C, $18, $18, $18 ; CPU:$A158 PRG:2158 F8 0C F4 10 F0 14 EC 02 FA 06 FE 18 0C 18 18 18 + .byte $18, $0C, $18, $0C, $18, $08, $00, $00, $04, $0C, $04, $08, $04, $08, $B5, $AE ; CPU:$A168 PRG:2168 18 0C 18 0C 18 08 00 00 04 0C 04 08 04 08 B5 AE + .byte $E6, $AE, $E6, $AE, $E6, $AE, $D4, $AF, $C7, $AF, $12, $B0, $00, $E8, $C8, $B0 ; CPU:$A178 PRG:2178 E6 AE E6 AE E6 AE D4 AF C7 AF 12 B0 00 E8 C8 B0 + .byte $E8, $D0, $C0, $B0, $E8, $C8, $B0, $98, $E8, $B0, $98, $80, $07, $08, $06, $07 ; CPU:$A188 PRG:2188 E8 D0 C0 B0 E8 C8 B0 98 E8 B0 98 80 07 08 06 07 + .byte $0F, $0D, $0C, $0F, $0D, $0F, $0D, $0C, $0F, $0D, $0F, $0D, $0C, $0F, $0D, $0F ; CPU:$A198 PRG:2198 0F 0D 0C 0F 0D 0F 0D 0C 0F 0D 0F 0D 0C 0F 0D 0F + .byte $0D, $0C, $0F, $0D, $0F, $48, $30, $18, $30, $18, $30, $30, $18, $18, $30, $30 ; CPU:$A1A8 PRG:21A8 0D 0C 0F 0D 0F 48 30 18 30 18 30 30 18 18 30 30 + .byte $18, $30, $18, $30, $48, $60, $48, $30, $48, $60, $78, $90, $48, $90, $18, $50 ; CPU:$A1B8 PRG:21B8 18 30 18 30 48 60 48 30 48 60 78 90 48 90 18 50 + .byte $48, $60, $78, $00, $30, $00, $50, $78, $08, $60, $80, $A0, $C0, $E0, $FF, $58 ; CPU:$A1C8 PRG:21C8 48 60 78 00 30 00 50 78 08 60 80 A0 C0 E0 FF 58 + .byte $75, $80, $8B, $95, $A0, $AC, $38, $55, $60, $6B, $75, $80, $8D, $00, $00, $06 ; CPU:$A1D8 PRG:21D8 75 80 8B 95 A0 AC 38 55 60 6B 75 80 8D 00 00 06 + .byte $05, $07, $06, $06, $03, $03, $00, $01, $08, $5B, $04, $08, $BC, $5C, $5D, $5E ; CPU:$A1E8 PRG:21E8 05 07 06 06 03 03 00 01 08 5B 04 08 BC 5C 5D 5E + .byte $04, $08, $BD, $FC, $FC, $5F, $02, $02, $00, $02, $00, $57, $58, $01, $08, $59 ; CPU:$A1F8 PRG:21F8 04 08 BD FC FC 5F 02 02 00 02 00 57 58 01 08 59 + .byte $02, $02, $00, $02, $00, $EF, $58, $01, $08, $5A, $01, $01, $00, $01, $00, $0E ; CPU:$A208 PRG:2208 02 02 00 02 00 EF 58 01 08 5A 01 01 00 01 00 0E + .byte $01, $01, $00, $01, $00, $0F, $F8, $F7, $F7, $F6, $F6, $F7, $F7, $F8, $28, $28 ; CPU:$A218 PRG:2218 01 01 00 01 00 0F F8 F7 F7 F6 F6 F7 F7 F8 28 28 + .byte $28, $28, $28, $F8, $F8, $F8, $F8, $F8, $00, $00, $00, $00, $00, $04, $04, $04 ; CPU:$A228 PRG:2228 28 28 28 F8 F8 F8 F8 F8 00 00 00 00 00 04 04 04 + .byte $04, $04, $00, $02, $02, $02, $0C, $03, $03, $02, $F3, $E6, $03, $F3, $E5, $E6 ; CPU:$A238 PRG:2238 04 04 00 02 02 02 0C 03 03 02 F3 E6 03 F3 E5 E6 + .byte $04, $F3, $E5, $E5, $E6, $05, $F3, $E5, $E5, $E5, $E6, $05, $DC, $DC, $DC, $DC ; CPU:$A248 PRG:2248 04 F3 E5 E5 E6 05 F3 E5 E5 E5 E6 05 DC DC DC DC + .byte $DC, $05, $F0, $F0, $F0, $F0, $F0, $03, $F0, $F0, $F0, $00, $03, $07, $0C, $07 ; CPU:$A258 PRG:2258 DC 05 F0 F0 F0 F0 F0 03 F0 F0 F0 00 03 07 0C 07 + .byte $03, $00, $0D, $0D, $0D, $05, $0D, $15, $1D, $18, $12, $12, $0C, $07, $03, $00 ; CPU:$A268 PRG:2268 03 00 0D 0D 0D 05 0D 15 1D 18 12 12 0C 07 03 00 + .byte $1E, $18, $12, $0C, $12, $18, $05, $05, $05, $05, $0D, $15, $1D, $0D, $05, $05 ; CPU:$A278 PRG:2278 1E 18 12 0C 12 18 05 05 05 05 0D 15 1D 0D 05 05 + .byte $05, $05, $05, $00, $21, $4C, $E6, $67, $00, $00, $00, $01, $02, $03, $04, $00 ; CPU:$A288 PRG:2288 05 05 05 00 21 4C E6 67 00 00 00 01 02 03 04 00 + .byte $FF, $FE, $FD, $FC, $00, $01, $03, $00, $23, $28, $12, $31, $31, $01, $04, $01 ; CPU:$A298 PRG:2298 FF FE FD FC 00 01 03 00 23 28 12 31 31 01 04 01 + .byte $04, $01, $F6, $0A, $05, $03, $60, $C0, $02, $00, $80, $A0, $48, $38, $28, $18 ; CPU:$A2A8 PRG:22A8 04 01 F6 0A 05 03 60 C0 02 00 80 A0 48 38 28 18 + .byte $38, $30, $20, $10, $2C, $23, $20, $08, $24, $20, $15, $00, $1C, $16, $15, $00 ; CPU:$A2B8 PRG:22B8 38 30 20 10 2C 23 20 08 24 20 15 00 1C 16 15 00 + .byte $38, $0C, $0C, $0C, $48, $14, $14, $0C, $48, $0C, $0C, $20, $48, $0C, $20, $0C ; CPU:$A2C8 PRG:22C8 38 0C 0C 0C 48 14 14 0C 48 0C 0C 20 48 0C 20 0C + .byte $30, $28, $28, $28, $40, $30, $14, $30, $10, $14, $28, $14, $30, $20, $20, $14 ; CPU:$A2D8 PRG:22D8 30 28 28 28 40 30 14 30 10 14 28 14 30 20 20 14 + .byte $00, $00, $00, $00, $01, $01, $01, $01, $00, $01, $00, $01, $00, $01, $01, $01 ; CPU:$A2E8 PRG:22E8 00 00 00 00 01 01 01 01 00 01 00 01 00 01 01 01 + .byte $01, $00, $00, $00, $00, $00, $01, $01, $0A, $54, $9E, $E8, $32, $A3, $A3, $A3 ; CPU:$A2F8 PRG:22F8 01 00 00 00 00 00 01 01 0A 54 9E E8 32 A3 A3 A3 + .byte $A3, $A4, $0D, $0D, $0D, $0D, $0D, $0D, $09, $09, $09, $08, $08, $09, $08, $0C ; CPU:$A308 PRG:2308 A3 A4 0D 0D 0D 0D 0D 0D 09 09 09 08 08 09 08 0C + .byte $08, $08, $08, $08, $08, $09, $10, $10, $08, $0C, $08, $08, $08, $09, $08, $08 ; CPU:$A318 PRG:2318 08 08 08 08 08 09 10 10 08 0C 08 08 08 09 08 08 + .byte $08, $10, $11, $05, $01, $21, $21, $01, $01, $01, $01, $01, $11, $01, $01, $01 ; CPU:$A328 PRG:2328 08 10 11 05 01 21 21 01 01 01 01 01 11 01 01 01 + .byte $00, $01, $11, $01, $01, $01, $01, $11, $11, $00, $01, $01, $01, $01, $09, $08 ; CPU:$A338 PRG:2338 00 01 11 01 01 01 01 11 11 00 01 01 01 01 09 08 + .byte $01, $00, $01, $01, $00, $01, $01, $01, $01, $01, $01, $01, $04, $05, $05, $01 ; CPU:$A348 PRG:2348 01 00 01 01 00 01 01 01 01 01 01 01 04 05 05 01 + .byte $41, $01, $01, $01, $01, $01, $01, $01, $01, $01, $09, $49, $09, $09, $29, $29 ; CPU:$A358 PRG:2358 41 01 01 01 01 01 01 01 01 01 09 49 09 09 29 29 + .byte $21, $21, $01, $41, $00, $00, $08, $08, $09, $49, $29, $21, $21, $01, $00, $00 ; CPU:$A368 PRG:2368 21 21 01 41 00 00 08 08 09 49 29 21 21 01 00 00 + .byte $40, $00, $D0, $21, $01, $21, $21, $01, $01, $19, $09, $10, $18, $48, $18, $20 ; CPU:$A378 PRG:2378 40 00 D0 21 01 21 21 01 01 19 09 10 18 48 18 20 + .byte $21, $61, $09, $09, $08, $08, $08, $08, $08, $48, $08, $09, $11, $10, $50, $11 ; CPU:$A388 PRG:2388 21 61 09 09 08 08 08 08 08 48 08 09 11 10 50 11 + .byte $10, $51, $10, $11, $10, $11, $11, $11, $51, $11, $10, $11, $10, $51, $10, $51 ; CPU:$A398 PRG:2398 10 51 10 11 10 11 11 11 51 11 10 11 10 51 10 51 + .byte $09, $89, $89, $09, $49, $A8, $28, $88, $08, $48, $11, $28, $98, $98, $19, $29 ; CPU:$A3A8 PRG:23A8 09 89 89 09 49 A8 28 88 08 48 11 28 98 98 19 29 + .byte $69, $29, $01, $41, $C1, $E9, $11, $09, $49, $C9, $D0, $28, $40, $01, $01, $11 ; CPU:$A3B8 PRG:23B8 69 29 01 41 C1 E9 11 09 49 C9 D0 28 40 01 01 11 + .byte $E9, $09, $C9, $99, $11, $69, $28, $28, $80, $81, $A9, $29, $59, $08, $08, $98 ; CPU:$A3C8 PRG:23C8 E9 09 C9 99 11 69 28 28 80 81 A9 29 59 08 08 98 + .byte $09, $89, $01, $C1, $C1, $00, $80, $00, $41, $81, $01, $01, $01, $C1, $01, $01 ; CPU:$A3D8 PRG:23D8 09 89 01 C1 C1 00 80 00 41 81 01 01 01 C1 01 01 + .byte $01, $01, $01, $01, $41, $01, $01, $01, $41, $80, $00, $41, $01, $81, $81, $00 ; CPU:$A3E8 PRG:23E8 01 01 01 01 41 01 01 01 41 80 00 41 01 81 81 00 + .byte $40, $00, $80, $41, $81, $11, $11, $49, $89, $19, $58, $80, $98, $00, $81, $80 ; CPU:$A3F8 PRG:23F8 40 00 80 41 81 11 11 49 89 19 58 80 98 00 81 80 + .byte $01, $C0, $C0, $10, $40, $90, $00, $50, $00, $D1, $11, $C8, $08, $41, $01, $D1 ; CPU:$A408 PRG:2408 01 C0 C0 10 40 90 00 50 00 D1 11 C8 08 41 01 D1 + .byte $19, $D8, $98, $10, $11, $91, $11, $81, $09, $49, $08, $09, $09, $90, $D1, $A9 ; CPU:$A418 PRG:2418 19 D8 98 10 11 91 11 81 09 49 08 09 09 90 D1 A9 + .byte $11, $29, $11, $A8, $11, $29, $11, $29, $11, $29, $09, $69, $51, $89, $09, $09 ; CPU:$A428 PRG:2428 11 29 11 A8 11 29 11 29 11 29 09 69 51 89 09 09 + .byte $88, $49, $10, $A9, $09, $08, $90, $A9, $49, $09, $A9, $10, $48, $08, $09, $89 ; CPU:$A438 PRG:2438 88 49 10 A9 09 08 90 A9 49 09 A9 10 48 08 09 89 + .byte $49, $49, $10, $28, $90, $28, $D0, $28, $09, $11, $A9, $48, $21, $A1, $29, $50 ; CPU:$A448 PRG:2448 49 49 10 28 90 28 D0 28 09 11 A9 48 21 A1 29 50 + .byte $81, $48, $A1, $20, $21, $A1, $41, $01, $80, $49, $88, $19, $58, $18, $98, $01 ; CPU:$A458 PRG:2458 81 48 A1 20 21 A1 41 01 80 49 88 19 58 18 98 01 + .byte $01, $61, $20, $59, $11, $11, $29, $10, $01, $80, $10, $41, $00, $11, $91, $00 ; CPU:$A468 PRG:2468 01 61 20 59 11 11 29 10 01 80 10 41 00 11 91 00 + .byte $40, $00, $01, $01, $E0, $E1, $E2, $E3, $E4, $E5, $E6, $E7, $E8, $E9, $EA, $EB ; CPU:$A478 PRG:2478 40 00 01 01 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB + .byte $FC, $FC, $EC, $FC, $EE, $FC, $FC, $FC, $ED, $FC, $EF, $FC, $FC, $FC ; CPU:$A488 PRG:2488 FC FC EC FC EE FC FC FC ED FC EF FC FC FC +; ----------------------------------------------------------------------------- +; Routine: Sub_A496 +; Global: Branch target inside Sub: taken when A496. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A496: + lda PlayerIndex ; CPU:$A496 PRG:2496 A5 69 + and #$08 ; CPU:$A498 PRG:2498 29 08 + ora Zp23 ; CPU:$A49A PRG:249A 05 23 + ora $0496 ; CPU:$A49C PRG:249C 0D 96 04 + bne NmiHandler_Loop103 ; CPU:$A49F PRG:249F D0 3F + lda $04A6 ; CPU:$A4A1 PRG:24A1 AD A6 04 + bmi NmiHandler_Loop103 ; CPU:$A4A4 PRG:24A4 30 3A + lda PlayerIndex ; CPU:$A4A6 PRG:24A6 A5 69 + cmp #$0F ; CPU:$A4A8 PRG:24A8 C9 0F + bcc NmiHandler_Loop99 ; CPU:$A4AA PRG:24AA 90 03 + jmp Sub_A558 ; CPU:$A4AC PRG:24AC 4C 58 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: +NmiHandler_Loop99: + and #$04 ; CPU:$A4AF PRG:24AF 29 04 + bne NmiHandler_Loop104 ; CPU:$A4B1 PRG:24B1 D0 2E + lda Zp7D ; CPU:$A4B3 PRG:24B3 A5 7D + bne NmiHandler_Loop100 ; CPU:$A4B5 PRG:24B5 D0 03 + jsr Sub_A5D4 ; CPU:$A4B7 PRG:24B7 20 D4 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop100: + jsr Sub_A4FA ; CPU:$A4BA PRG:24BA 20 FA A4 + bne NmiHandler_Loop103 ; CPU:$A4BD PRG:24BD D0 21 + jsr Sub_A57C ; CPU:$A4BF PRG:24BF 20 7C A5 + bcc NmiHandler_Loop101 ; CPU:$A4C2 PRG:24C2 90 03 + jmp Sub_A8EB ; CPU:$A4C4 PRG:24C4 4C EB A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop101: + lda PlayerIndex ; CPU:$A4C7 PRG:24C7 A5 69 + lsr a ; CPU:$A4C9 PRG:24C9 4A + ora $0373 ; CPU:$A4CA PRG:24CA 0D 73 03 + ora $0374 ; CPU:$A4CD PRG:24CD 0D 74 03 + ora Zp7D ; CPU:$A4D0 PRG:24D0 05 7D + bne NmiHandler_Loop103 ; CPU:$A4D2 PRG:24D2 D0 0C + lda Zp6A ; CPU:$A4D4 PRG:24D4 A5 6A + and #$03 ; CPU:$A4D6 PRG:24D6 29 03 + cmp #$03 ; CPU:$A4D8 PRG:24D8 C9 03 + bne NmiHandler_Loop102 ; CPU:$A4DA PRG:24DA D0 02 + lda #$01 ; CPU:$A4DC PRG:24DC A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop102: + sta Zp67 ; CPU:$A4DE PRG:24DE 85 67 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop103: + rts ; CPU:$A4E0 PRG:24E0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop104: + lda Zp68 ; CPU:$A4E1 PRG:24E1 A5 68 + cmp #$04 ; CPU:$A4E3 PRG:24E3 C9 04 + bcc NmiHandler_Loop105 ; CPU:$A4E5 PRG:24E5 90 09 + cmp #$06 ; CPU:$A4E7 PRG:24E7 C9 06 + bcs NmiHandler_Loop105 ; CPU:$A4E9 PRG:24E9 B0 05 + lda #$05 ; CPU:$A4EB PRG:24EB A9 05 + jmp NmiHandler_Loop110 ; CPU:$A4ED PRG:24ED 4C 7E A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop105: + ldx Zp55 ; CPU:$A4F0 PRG:24F0 A6 55 + lda Zp6A ; CPU:$A4F2 PRG:24F2 A5 6A + and #$C0 ; CPU:$A4F4 PRG:24F4 29 C0 + sta $036B,x ; CPU:$A4F6 PRG:24F6 9D 6B 03 + rts ; CPU:$A4F9 PRG:24F9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A4FA +; Global: Branch target inside Sub: taken when A4FA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A4FA: + ldy $036A ; CPU:$A4FA PRG:24FA AC 6A 03 + lda Zp6A ; CPU:$A4FD PRG:24FD A5 6A + and #$08 ; CPU:$A4FF PRG:24FF 29 08 + sta $036A ; CPU:$A501 PRG:2501 8D 6A 03 + beq NmiHandler_Loop107 ; CPU:$A504 PRG:2504 F0 27 + tya ; CPU:$A506 PRG:2506 98 + ora $0373 ; CPU:$A507 PRG:2507 0D 73 03 + ora $0374 ; CPU:$A50A PRG:250A 0D 74 03 + ora Zp7D ; CPU:$A50D PRG:250D 05 7D + bne NmiHandler_Loop107 ; CPU:$A50F PRG:250F D0 1C + sta Zp21 ; CPU:$A511 PRG:2511 85 21 + lda Zp67 ; CPU:$A513 PRG:2513 A5 67 + bne NmiHandler_Loop106 ; CPU:$A515 PRG:2515 D0 08 + lda Zp24 ; CPU:$A517 PRG:2517 A5 24 + beq NmiHandler_Loop106 ; CPU:$A519 PRG:2519 F0 04 + lda Zp72 ; CPU:$A51B PRG:251B A5 72 + sta Zp67 ; CPU:$A51D PRG:251D 85 67 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop106: + lda PlayerIndex ; CPU:$A51F PRG:251F A5 69 + and #$01 ; CPU:$A521 PRG:2521 29 01 + ora #$04 ; CPU:$A523 PRG:2523 09 04 + sta PlayerIndex ; CPU:$A525 PRG:2525 85 69 + lda #$0A ; CPU:$A527 PRG:2527 A9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_A529 +; Global: Branch target inside Sub: taken when A529. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A529: + sta Zp68 ; CPU:$A529 PRG:2529 85 68 + sec ; CPU:$A52B PRG:252B 38 + rts ; CPU:$A52C PRG:252C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop107: + lda PlayerIndex ; CPU:$A52D PRG:252D A5 69 + cmp #$0F ; CPU:$A52F PRG:252F C9 0F + bcc NmiHandler_Loop108 ; CPU:$A531 PRG:2531 90 08 + bit $9B72 ; CPU:$A533 PRG:2533 2C 72 9B + beq NmiHandler_Loop108 ; CPU:$A536 PRG:2536 F0 03 + lda #$00 ; CPU:$A538 PRG:2538 A9 00 + rts ; CPU:$A53A PRG:253A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop108: + tay ; CPU:$A53B PRG:253B A8 + and #$FD ; CPU:$A53C PRG:253C 29 FD + sta PlayerIndex ; CPU:$A53E PRG:253E 85 69 + lda Zp6A ; CPU:$A540 PRG:2540 A5 6A + and #$04 ; CPU:$A542 PRG:2542 29 04 + beq NmiHandler_Loop109 ; CPU:$A544 PRG:2544 F0 09 + jsr Sub_A8EB ; CPU:$A546 PRG:2546 20 EB A8 + sta Zp21 ; CPU:$A549 PRG:2549 85 21 + sta Zp68 ; CPU:$A54B PRG:254B 85 68 + lda #$02 ; CPU:$A54D PRG:254D A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop109: + ora PlayerIndex ; CPU:$A54F PRG:254F 05 69 + sta PlayerIndex ; CPU:$A551 PRG:2551 85 69 + tya ; CPU:$A553 PRG:2553 98 + eor PlayerIndex ; CPU:$A554 PRG:2554 45 69 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero26: + clc ; CPU:$A556 PRG:2556 18 + rts ; CPU:$A557 PRG:2557 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A558 +; Global: Branch target inside Sub: taken when A558. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A558: + and #$04 ; CPU:$A558 PRG:2558 29 04 + bne NmiHandler_OnNonzero26 ; CPU:$A55A PRG:255A D0 FA + jsr NmiHandler_Loop121 ; CPU:$A55C PRG:255C 20 69 A6 + lda Zp68 ; CPU:$A55F PRG:255F A5 68 + bne NmiHandler_OnNonzero26 ; CPU:$A561 PRG:2561 D0 F3 + jsr Sub_A4FA ; CPU:$A563 PRG:2563 20 FA A4 + bne NmiHandler_OnNonzero26 ; CPU:$A566 PRG:2566 D0 EE + lda Zp6A ; CPU:$A568 PRG:2568 A5 6A + and #$C0 ; CPU:$A56A PRG:256A 29 C0 + lsr a ; CPU:$A56C PRG:256C 4A + lsr a ; CPU:$A56D PRG:256D 4A + sta VramWritePtrLo ; CPU:$A56E PRG:256E 85 00 + lda PlayerIndex ; CPU:$A570 PRG:2570 A5 69 + and #$30 ; CPU:$A572 PRG:2572 29 30 + eor VramWritePtrLo ; CPU:$A574 PRG:2574 45 00 + bne NmiHandler_OnNonzero26 ; CPU:$A576 PRG:2576 D0 DE + lda #$02 ; CPU:$A578 PRG:2578 A9 02 + bne NmiHandler_Loop110 ; CPU:$A57A PRG:257A D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_A57C +; Global: Branch target inside Sub: taken when A57C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A57C: + lda #$03 ; CPU:$A57C PRG:257C A9 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop110: + sta VramWritePtrHi ; CPU:$A57E PRG:257E 85 01 + ldx Zp55 ; CPU:$A580 PRG:2580 A6 55 + lda Zp6A ; CPU:$A582 PRG:2582 A5 6A + and #$C0 ; CPU:$A584 PRG:2584 29 C0 + sta DispatchPtrLo ; CPU:$A586 PRG:2586 85 02 + beq NmiHandler_OnNonzero26 ; CPU:$A588 PRG:2588 F0 CC + lda $0373 ; CPU:$A58A PRG:258A AD 73 03 + ora $0374 ; CPU:$A58D PRG:258D 0D 74 03 + ora Zp7D ; CPU:$A590 PRG:2590 05 7D + beq NmiHandler_Loop111 ; CPU:$A592 PRG:2592 F0 07 + lda DispatchPtrLo ; CPU:$A594 PRG:2594 A5 02 + sta $036B,x ; CPU:$A596 PRG:2596 9D 6B 03 + bne NmiHandler_OnNonzero26 ; CPU:$A599 PRG:2599 D0 BB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop111: + lda DispatchPtrLo ; CPU:$A59B PRG:259B A5 02 + eor $036B,x ; CPU:$A59D PRG:259D 5D 6B 03 + and DispatchPtrLo ; CPU:$A5A0 PRG:25A0 25 02 + beq NmiHandler_OnNonzero26 ; CPU:$A5A2 PRG:25A2 F0 B2 + pha ; CPU:$A5A4 PRG:25A4 48 + ora $036B,x ; CPU:$A5A5 PRG:25A5 1D 6B 03 + sta $036B,x ; CPU:$A5A8 PRG:25A8 9D 6B 03 + pla ; CPU:$A5AB PRG:25AB 68 + lsr a ; CPU:$A5AC PRG:25AC 4A + lsr a ; CPU:$A5AD PRG:25AD 4A + cmp #$30 ; CPU:$A5AE PRG:25AE C9 30 + bne NmiHandler_Loop112 ; CPU:$A5B0 PRG:25B0 D0 02 + lda #$10 ; CPU:$A5B2 PRG:25B2 A9 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop112: + ora PlayerIndex ; CPU:$A5B4 PRG:25B4 05 69 + sta PlayerIndex ; CPU:$A5B6 PRG:25B6 85 69 + and #$10 ; CPU:$A5B8 PRG:25B8 29 10 + beq NmiHandler_Loop113 ; CPU:$A5BA PRG:25BA F0 0B + ldy #$02 ; CPU:$A5BC PRG:25BC A0 02 + lda PlayerIndex ; CPU:$A5BE PRG:25BE A5 69 + and #$04 ; CPU:$A5C0 PRG:25C0 29 04 + beq NmiHandler_Loop114 ; CPU:$A5C2 PRG:25C2 F0 05 + dey ; CPU:$A5C4 PRG:25C4 88 + bne NmiHandler_Loop114 ; CPU:$A5C5 PRG:25C5 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop113: + ldy #$20 ; CPU:$A5C7 PRG:25C7 A0 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop114: + sty ZpFD ; CPU:$A5C9 PRG:25C9 84 FD + lda #$00 ; CPU:$A5CB PRG:25CB A9 00 + sta Zp21 ; CPU:$A5CD PRG:25CD 85 21 + lda VramWritePtrHi ; CPU:$A5CF PRG:25CF A5 01 + jmp Sub_A529 ; CPU:$A5D1 PRG:25D1 4C 29 A5 +; ----------------------------------------------------------------------------- +; Routine: Sub_A5D4 +; Global: Branch target inside Sub: taken when A5D4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A5D4: + lda $0373 ; CPU:$A5D4 PRG:25D4 AD 73 03 + ora $0374 ; CPU:$A5D7 PRG:25D7 0D 74 03 + bne NmiHandler_Loop115 ; CPU:$A5DA PRG:25DA D0 03 + jmp NmiHandler_Loop119 ; CPU:$A5DC PRG:25DC 4C 61 A6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop115: + inc $0377 ; CPU:$A5DF PRG:25DF EE 77 03 + bmi NmiHandler_Loop119 ; CPU:$A5E2 PRG:25E2 30 7D + lda $03AC ; CPU:$A5E4 PRG:25E4 AD AC 03 + sta Zp06 ; CPU:$A5E7 PRG:25E7 85 06 + lda Zp6A ; CPU:$A5E9 PRG:25E9 A5 6A + and #$CF ; CPU:$A5EB PRG:25EB 29 CF + sta $03AC ; CPU:$A5ED PRG:25ED 8D AC 03 + beq NmiHandler_Loop121 ; CPU:$A5F0 PRG:25F0 F0 77 + cmp Zp06 ; CPU:$A5F2 PRG:25F2 C5 06 + beq NmiHandler_Loop121 ; CPU:$A5F4 PRG:25F4 F0 73 + inc $0378 ; CPU:$A5F6 PRG:25F6 EE 78 03 + lda $0378 ; CPU:$A5F9 PRG:25F9 AD 78 03 + cmp #$04 ; CPU:$A5FC PRG:25FC C9 04 + bcc NmiHandler_Loop121 ; CPU:$A5FE PRG:25FE 90 69 + ldx #$01 ; CPU:$A600 PRG:2600 A2 01 + lda $0377 ; CPU:$A602 PRG:2602 AD 77 03 + cmp #$48 ; CPU:$A605 PRG:2605 C9 48 + bcs NmiHandler_Loop119 ; CPU:$A607 PRG:2607 B0 58 + inx ; CPU:$A609 PRG:2609 E8 + cmp #$30 ; CPU:$A60A PRG:260A C9 30 + bcs NmiHandler_Loop116 ; CPU:$A60C PRG:260C B0 06 + inx ; CPU:$A60E PRG:260E E8 + cmp #$20 ; CPU:$A60F PRG:260F C9 20 + bcs NmiHandler_Loop116 ; CPU:$A611 PRG:2611 B0 01 + inx ; CPU:$A613 PRG:2613 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop116: + stx VramWritePtrHi ; CPU:$A614 PRG:2614 86 01 + ldx #$01 ; CPU:$A616 PRG:2616 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative15 +; Global: Branch target inside NmiHandler: taken when OnNonnegative15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative15: + stx VramWritePtrLo ; CPU:$A618 PRG:2618 86 00 + ldy VramWritePtrHi ; CPU:$A61A PRG:261A A4 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative16 +; Global: Branch target inside NmiHandler: taken when OnNonnegative16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative16: + sty DispatchPtrLo ; CPU:$A61C PRG:261C 84 02 + lda $0373,x ; CPU:$A61E PRG:261E BD 73 03 + beq NmiHandler_Loop118 ; CPU:$A621 PRG:2621 F0 35 + dec $0373,x ; CPU:$A623 PRG:2623 DE 73 03 + lda $0375,x ; CPU:$A626 PRG:2626 BD 75 03 + and #$03 ; CPU:$A629 PRG:2629 29 03 + lsr $0375,x ; CPU:$A62B PRG:262B 5E 75 03 + lsr $0375,x ; CPU:$A62E PRG:262E 5E 75 03 + tax ; CPU:$A631 PRG:2631 AA + dec $04A0,x ; CPU:$A632 PRG:2632 DE A0 04 + lda #$04 ; CPU:$A635 PRG:2635 A9 04 + sta PlayerY,x ; CPU:$A637 PRG:2637 95 B7 + lda Zp8E,x ; CPU:$A639 PRG:2639 B5 8E + cmp Zp94 ; CPU:$A63B PRG:263B C5 94 + bcs NmiHandler_Loop117 ; CPU:$A63D PRG:263D B0 05 + lda #$01 ; CPU:$A63F PRG:263F A9 01 + sta $04A8,x ; CPU:$A641 PRG:2641 9D A8 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop117: + ldx VramWritePtrLo ; CPU:$A644 PRG:2644 A6 00 + ldy DispatchPtrLo ; CPU:$A646 PRG:2646 A4 02 + dey ; CPU:$A648 PRG:2648 88 + bpl NmiHandler_OnNonnegative16 ; CPU:$A649 PRG:2649 10 D1 + lda $0373,x ; CPU:$A64B PRG:264B BD 73 03 + beq NmiHandler_Loop118 ; CPU:$A64E PRG:264E F0 08 + lda $0375,x ; CPU:$A650 PRG:2650 BD 75 03 + and #$03 ; CPU:$A653 PRG:2653 29 03 + tax ; CPU:$A655 PRG:2655 AA + dec PlayerY,x ; CPU:$A656 PRG:2656 D6 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop118: + ldx VramWritePtrLo ; CPU:$A658 PRG:2658 A6 00 + dex ; CPU:$A65A PRG:265A CA + bpl NmiHandler_OnNonnegative15 ; CPU:$A65B PRG:265B 10 BB + lda #$02 ; CPU:$A65D PRG:265D A9 02 + bne NmiHandler_Loop120 ; CPU:$A65F PRG:265F D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop119: + lda #$00 ; CPU:$A661 PRG:2661 A9 00 + sta $0377 ; CPU:$A663 PRG:2663 8D 77 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop120: + sta $0378 ; CPU:$A666 PRG:2666 8D 78 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop121: + ldy #$01 ; CPU:$A669 PRG:2669 A0 01 + lda Zp6A ; CPU:$A66B PRG:266B A5 6A + lsr a ; CPU:$A66D PRG:266D 4A + bcs NmiHandler_Loop122 ; CPU:$A66E PRG:266E B0 04 + dey ; CPU:$A670 PRG:2670 88 + lsr a ; CPU:$A671 PRG:2671 4A + bcc NmiHandler_Loop125 ; CPU:$A672 PRG:2672 90 35 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + sty VramWritePtrLo ; CPU:$A674 PRG:2674 84 00 + cpy $0372 ; CPU:$A676 PRG:2676 CC 72 03 + beq NmiHandler_Loop124 ; CPU:$A679 PRG:2679 F0 26 + lda Zp7E ; CPU:$A67B PRG:267B A5 7E + beq NmiHandler_Loop124 ; CPU:$A67D PRG:267D F0 22 + ldx ZpA4 ; CPU:$A67F PRG:267F A6 A4 + dex ; CPU:$A681 PRG:2681 CA + bne NmiHandler_Loop124 ; CPU:$A682 PRG:2682 D0 1D + lda Zp93 ; CPU:$A684 PRG:2684 A5 93 + sec ; CPU:$A686 PRG:2686 38 + sbc Zp94 ; CPU:$A687 PRG:2687 E5 94 + bcs NmiHandler_Loop123 ; CPU:$A689 PRG:2689 B0 04 + eor #$FF ; CPU:$A68B PRG:268B 49 FF + adc #$01 ; CPU:$A68D PRG:268D 69 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + cmp #$30 ; CPU:$A68F PRG:268F C9 30 + bcs NmiHandler_Loop124 ; CPU:$A691 PRG:2691 B0 0E + lda SpriteIndex ; CPU:$A693 PRG:2693 A5 5F + cmp #$04 ; CPU:$A695 PRG:2695 C9 04 + beq NmiHandler_Loop125 ; CPU:$A697 PRG:2697 F0 10 + lda $037C ; CPU:$A699 PRG:2699 AD 7C 03 + ora $039B ; CPU:$A69C PRG:269C 0D 9B 03 + beq NmiHandler_Loop125 ; CPU:$A69F PRG:269F F0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: + lda PlayerIndex ; CPU:$A6A1 PRG:26A1 A5 69 + and #$FE ; CPU:$A6A3 PRG:26A3 29 FE + ora VramWritePtrLo ; CPU:$A6A5 PRG:26A5 05 00 + sta PlayerIndex ; CPU:$A6A7 PRG:26A7 85 69 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop125: + rts ; CPU:$A6A9 PRG:26A9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A6AA +; Global: Branch target inside Sub: taken when A6AA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A6AA: + ldy Zp67 ; CPU:$A6AA PRG:26AA A4 67 + bne NmiHandler_Loop126 ; CPU:$A6AC PRG:26AC D0 03 + jmp Sub_A748 ; CPU:$A6AE PRG:26AE 4C 48 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop126: + ldx #$05 ; CPU:$A6B1 PRG:26B1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative17 +; Global: Branch target inside NmiHandler: taken when OnNonnegative17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative17: + lda EnemyIndex,x ; CPU:$A6B3 PRG:26B3 B5 87 + cmp #$02 ; CPU:$A6B5 PRG:26B5 C9 02 + bcc NmiHandler_Loop129 ; CPU:$A6B7 PRG:26B7 90 29 + cmp #$09 ; CPU:$A6B9 PRG:26B9 C9 09 + bcs NmiHandler_Loop129 ; CPU:$A6BB PRG:26BB B0 25 + tay ; CPU:$A6BD PRG:26BD A8 + dey ; CPU:$A6BE PRG:26BE 88 + dey ; CPU:$A6BF PRG:26BF 88 + lda $04EA,x ; CPU:$A6C0 PRG:26C0 BD EA 04 + lsr a ; CPU:$A6C3 PRG:26C3 4A + lda Zp67 ; CPU:$A6C4 PRG:26C4 A5 67 + bcs NmiHandler_Loop127 ; CPU:$A6C6 PRG:26C6 B0 06 + cmp #$02 ; CPU:$A6C8 PRG:26C8 C9 02 + beq NmiHandler_Loop129 ; CPU:$A6CA PRG:26CA F0 16 + bne NmiHandler_Loop128 ; CPU:$A6CC PRG:26CC D0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop127: + cmp #$01 ; CPU:$A6CE PRG:26CE C9 01 + beq NmiHandler_Loop129 ; CPU:$A6D0 PRG:26D0 F0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop128: + lda $04E3,x ; CPU:$A6D2 PRG:26D2 BD E3 04 + bne NmiHandler_Loop129 ; CPU:$A6D5 PRG:26D5 D0 0B + lda $04DC,x ; CPU:$A6D7 PRG:26D7 BD DC 04 + cmp $9BBB,y ; CPU:$A6DA PRG:26DA D9 BB 9B + bcs NmiHandler_Loop129 ; CPU:$A6DD PRG:26DD B0 03 + jmp NmiHandler_Loop139 ; CPU:$A6DF PRG:26DF 4C 7F A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop129: + dex ; CPU:$A6E2 PRG:26E2 CA + bpl NmiHandler_OnNonnegative17 ; CPU:$A6E3 PRG:26E3 10 CE + ldx #$01 ; CPU:$A6E5 PRG:26E5 A2 01 + lda $049E ; CPU:$A6E7 PRG:26E7 AD 9E 04 + clc ; CPU:$A6EA PRG:26EA 18 + adc #$20 ; CPU:$A6EB PRG:26EB 69 20 + sta $049E ; CPU:$A6ED PRG:26ED 8D 9E 04 + bcc NmiHandler_Loop130 ; CPU:$A6F0 PRG:26F0 90 01 + inx ; CPU:$A6F2 PRG:26F2 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop130: + stx VramWritePtrLo ; CPU:$A6F3 PRG:26F3 86 00 + stx DispatchPtrLo ; CPU:$A6F5 PRG:26F5 86 02 + ldy Zp67 ; CPU:$A6F7 PRG:26F7 A4 67 + tya ; CPU:$A6F9 PRG:26F9 98 + eor #$03 ; CPU:$A6FA PRG:26FA 49 03 + tax ; CPU:$A6FC PRG:26FC AA + lda #$00 ; CPU:$A6FD PRG:26FD A9 00 + sta Zp05 ; CPU:$A6FF PRG:26FF 85 05 + sta Zp06 ; CPU:$A701 PRG:2701 85 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero27: + jsr Sub_A7AB ; CPU:$A703 PRG:2703 20 AB A7 + dec VramWritePtrLo ; CPU:$A706 PRG:2706 C6 00 + bne NmiHandler_OnNonzero27 ; CPU:$A708 PRG:2708 D0 F9 + lda Zp05 ; CPU:$A70A PRG:270A A5 05 + beq NmiHandler_Loop132 ; CPU:$A70C PRG:270C F0 1C + lsr a ; CPU:$A70E PRG:270E 4A + cmp $0372 ; CPU:$A70F PRG:270F CD 72 03 + bne NmiHandler_Loop132 ; CPU:$A712 PRG:2712 D0 16 + lda #$00 ; CPU:$A714 PRG:2714 A9 00 + sta Zp67 ; CPU:$A716 PRG:2716 85 67 + sta SpriteTimer ; CPU:$A718 PRG:2718 85 80 + inc Zp51 ; CPU:$A71A PRG:271A E6 51 + lda #$05 ; CPU:$A71C PRG:271C A9 05 + sta Zp38 ; CPU:$A71E PRG:271E 85 38 + lda $048E ; CPU:$A720 PRG:2720 AD 8E 04 + beq NmiHandler_Loop131 ; CPU:$A723 PRG:2723 F0 04 + lda #$04 ; CPU:$A725 PRG:2725 A9 04 + sta ZpFE ; CPU:$A727 PRG:2727 85 FE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop131: + rts ; CPU:$A729 PRG:2729 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop132: + lda Zp06 ; CPU:$A72A PRG:272A A5 06 + clc ; CPU:$A72C PRG:272C 18 + adc Zp73 ; CPU:$A72D PRG:272D 65 73 + bpl NmiHandler_Loop133 ; CPU:$A72F PRG:272F 10 07 + lda #$17 ; CPU:$A731 PRG:2731 A9 17 + dec Zp74 ; CPU:$A733 PRG:2733 C6 74 + jmp Sub_A740 ; CPU:$A735 PRG:2735 4C 40 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop133: + cmp #$18 ; CPU:$A738 PRG:2738 C9 18 + bcc NmiHandler_Loop134 ; CPU:$A73A PRG:273A 90 0A + sbc #$18 ; CPU:$A73C PRG:273C E9 18 + inc Zp74 ; CPU:$A73E PRG:273E E6 74 +; ----------------------------------------------------------------------------- +; Routine: Sub_A740 +; Global: Branch target inside Sub: taken when A740. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A740: + pha ; CPU:$A740 PRG:2740 48 + lda #$1A ; CPU:$A741 PRG:2741 A9 1A + sta Zp3B ; CPU:$A743 PRG:2743 85 3B + pla ; CPU:$A745 PRG:2745 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + sta Zp73 ; CPU:$A746 PRG:2746 85 73 +; ----------------------------------------------------------------------------- +; Routine: Sub_A748 +; Global: Branch target inside Sub: taken when A748. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A748: + lda Zp65 ; CPU:$A748 PRG:2748 A5 65 + and #$01 ; CPU:$A74A PRG:274A 29 01 + sta Zp61 ; CPU:$A74C PRG:274C 85 61 + lda SpriteIndex ; CPU:$A74E PRG:274E A5 5F + cmp #$04 ; CPU:$A750 PRG:2750 C9 04 + bne NmiHandler_Loop139 ; CPU:$A752 PRG:2752 D0 2B + lda $04A5 ; CPU:$A754 PRG:2754 AD A5 04 + bmi NmiHandler_Loop137 ; CPU:$A757 PRG:2757 30 1A + lda Zp65 ; CPU:$A759 PRG:2759 A5 65 + beq NmiHandler_Loop135 ; CPU:$A75B PRG:275B F0 0A + cmp #$02 ; CPU:$A75D PRG:275D C9 02 + bcs NmiHandler_Loop137 ; CPU:$A75F PRG:275F B0 12 + lda Zp12 ; CPU:$A761 PRG:2761 A5 12 + cmp #$10 ; CPU:$A763 PRG:2763 C9 10 + bcs NmiHandler_Loop137 ; CPU:$A765 PRG:2765 B0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + lda Zp63 ; CPU:$A767 PRG:2767 A5 63 + bne NmiHandler_Loop136 ; CPU:$A769 PRG:2769 D0 04 + lda #$20 ; CPU:$A76B PRG:276B A9 20 + sta Zp52 ; CPU:$A76D PRG:276D 85 52 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + lda #$08 ; CPU:$A76F PRG:276F A9 08 + bne NmiHandler_Loop138 ; CPU:$A771 PRG:2771 D0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + lda Zp63 ; CPU:$A773 PRG:2773 A5 63 + beq NmiHandler_Loop139 ; CPU:$A775 PRG:2775 F0 08 + lda #$05 ; CPU:$A777 PRG:2777 A9 05 + sta Zp52 ; CPU:$A779 PRG:2779 85 52 + lda #$00 ; CPU:$A77B PRG:277B A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: + sta Zp63 ; CPU:$A77D PRG:277D 85 63 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + lda Zp2A ; CPU:$A77F PRG:277F A5 2A + bne NmiHandler_Loop141 ; CPU:$A781 PRG:2781 D0 27 + lda $0373 ; CPU:$A783 PRG:2783 AD 73 03 + clc ; CPU:$A786 PRG:2786 18 + adc $0374 ; CPU:$A787 PRG:2787 6D 74 03 + sta VramWritePtrLo ; CPU:$A78A PRG:278A 85 00 + beq NmiHandler_Loop141 ; CPU:$A78C PRG:278C F0 1C + lda Zp6B ; CPU:$A78E PRG:278E A5 6B + bne NmiHandler_Loop140 ; CPU:$A790 PRG:2790 D0 07 + lda VramWritePtrLo ; CPU:$A792 PRG:2792 A5 00 + clc ; CPU:$A794 PRG:2794 18 + adc #$04 ; CPU:$A795 PRG:2795 69 04 + sta VramWritePtrLo ; CPU:$A797 PRG:2797 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + ldy VramWritePtrLo ; CPU:$A799 PRG:2799 A4 00 + lda $9BA7,y ; CPU:$A79B PRG:279B B9 A7 9B + sta Zp2A ; CPU:$A79E PRG:279E 85 2A + lda #$01 ; CPU:$A7A0 PRG:27A0 A9 01 + sta $037A ; CPU:$A7A2 PRG:27A2 8D 7A 03 + ldx #$06 ; CPU:$A7A5 PRG:27A5 A2 06 + jmp Sub_C470 ; CPU:$A7A7 PRG:27A7 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop141: + rts ; CPU:$A7AA PRG:27AA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A7AB +; Global: Branch target inside Sub: taken when A7AB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A7AB: + lda Zp64 ; CPU:$A7AB PRG:27AB A5 64 + bne NmiHandler_Loop146 ; CPU:$A7AD PRG:27AD D0 3E + lda $0372 ; CPU:$A7AF PRG:27AF AD 72 03 + bne NmiHandler_Loop142 ; CPU:$A7B2 PRG:27B2 D0 10 + lda $9B82,y ; CPU:$A7B4 PRG:27B4 B9 82 9B + cmp Zp65 ; CPU:$A7B7 PRG:27B7 C5 65 + bne NmiHandler_Loop143 ; CPU:$A7B9 PRG:27B9 D0 17 + lda Zp12 ; CPU:$A7BB PRG:27BB A5 12 + cmp $9B85,y ; CPU:$A7BD PRG:27BD D9 85 9B + bne NmiHandler_Loop143 ; CPU:$A7C0 PRG:27C0 D0 10 + beq NmiHandler_Loop146 ; CPU:$A7C2 PRG:27C2 F0 29 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + lda $9B88,y ; CPU:$A7C4 PRG:27C4 B9 88 9B + cmp Zp65 ; CPU:$A7C7 PRG:27C7 C5 65 + bne NmiHandler_Loop143 ; CPU:$A7C9 PRG:27C9 D0 07 + lda Zp12 ; CPU:$A7CB PRG:27CB A5 12 + cmp $9B8B,y ; CPU:$A7CD PRG:27CD D9 8B 9B + beq NmiHandler_Loop146 ; CPU:$A7D0 PRG:27D0 F0 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop143: + lda $9B91,x ; CPU:$A7D2 PRG:27D2 BD 91 9B + clc ; CPU:$A7D5 PRG:27D5 18 + adc Zp66 ; CPU:$A7D6 PRG:27D6 65 66 + sta Zp66 ; CPU:$A7D8 PRG:27D8 85 66 + lda $9B91,y ; CPU:$A7DA PRG:27DA B9 91 9B + bpl NmiHandler_Loop144 ; CPU:$A7DD PRG:27DD 10 02 + dec Zp65 ; CPU:$A7DF PRG:27DF C6 65 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop144: + clc ; CPU:$A7E1 PRG:27E1 18 + adc Zp12 ; CPU:$A7E2 PRG:27E2 65 12 + sta Zp12 ; CPU:$A7E4 PRG:27E4 85 12 + bcc NmiHandler_Loop145 ; CPU:$A7E6 PRG:27E6 90 02 + inc Zp65 ; CPU:$A7E8 PRG:27E8 E6 65 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop145: + jmp NmiHandler_Loop150 ; CPU:$A7EA PRG:27EA 4C 19 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + lda Zp7E ; CPU:$A7ED PRG:27ED A5 7E + bne NmiHandler_Loop147 ; CPU:$A7EF PRG:27EF D0 0C + lda Zp65 ; CPU:$A7F1 PRG:27F1 A5 65 + lsr a ; CPU:$A7F3 PRG:27F3 4A + lsr a ; CPU:$A7F4 PRG:27F4 4A + eor $0372 ; CPU:$A7F5 PRG:27F5 4D 72 03 + beq NmiHandler_Loop147 ; CPU:$A7F8 PRG:27F8 F0 03 + sta $03B2 ; CPU:$A7FA PRG:27FA 8D B2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + lda $9B8E,x ; CPU:$A7FD PRG:27FD BD 8E 9B + cmp Zp64 ; CPU:$A800 PRG:2800 C5 64 + bne NmiHandler_Loop148 ; CPU:$A802 PRG:2802 D0 05 + stx Zp05 ; CPU:$A804 PRG:2804 86 05 + jmp NmiHandler_OnNegative ; CPU:$A806 PRG:2806 4C 39 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: + lda $9B91,x ; CPU:$A809 PRG:2809 BD 91 9B + bpl NmiHandler_Loop149 ; CPU:$A80C PRG:280C 10 02 + dec Zp62 ; CPU:$A80E PRG:280E C6 62 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop149: + clc ; CPU:$A810 PRG:2810 18 + adc Zp64 ; CPU:$A811 PRG:2811 65 64 + sta Zp64 ; CPU:$A813 PRG:2813 85 64 + bcc NmiHandler_Loop150 ; CPU:$A815 PRG:2815 90 02 + inc Zp62 ; CPU:$A817 PRG:2817 E6 62 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop150: + lda $9B91,y ; CPU:$A819 PRG:2819 B9 91 9B + clc ; CPU:$A81C PRG:281C 18 + adc Zp06 ; CPU:$A81D PRG:281D 65 06 + sta Zp06 ; CPU:$A81F PRG:281F 85 06 + lda #$06 ; CPU:$A821 PRG:2821 A9 06 + sta Zp24 ; CPU:$A823 PRG:2823 85 24 + lda Zp67 ; CPU:$A825 PRG:2825 A5 67 + sta Zp72 ; CPU:$A827 PRG:2827 85 72 + lda $9B91,y ; CPU:$A829 PRG:2829 B9 91 9B + bpl NmiHandler_Loop151 ; CPU:$A82C PRG:282C 10 02 + dec ZpE5 ; CPU:$A82E PRG:282E C6 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop151: + clc ; CPU:$A830 PRG:2830 18 + adc ZpD4 ; CPU:$A831 PRG:2831 65 D4 + sta ZpD4 ; CPU:$A833 PRG:2833 85 D4 + bcc NmiHandler_OnNegative ; CPU:$A835 PRG:2835 90 02 + inc ZpE5 ; CPU:$A837 PRG:2837 E6 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative +; Global: Branch target inside NmiHandler: taken when the tested value is negative. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative: + rts ; CPU:$A839 PRG:2839 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A83A +; Global: Branch target inside Sub: taken when A83A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A83A: + lda $04A6 ; CPU:$A83A PRG:283A AD A6 04 + bmi NmiHandler_OnNegative ; CPU:$A83D PRG:283D 30 FA + lda Zp23 ; CPU:$A83F PRG:283F A5 23 + bne NmiHandler_Loop154 ; CPU:$A841 PRG:2841 D0 3D + lda $0496 ; CPU:$A843 PRG:2843 AD 96 04 + bne NmiHandler_Loop152 ; CPU:$A846 PRG:2846 D0 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero28: + lda PlayerIndex ; CPU:$A848 PRG:2848 A5 69 + and #$0E ; CPU:$A84A PRG:284A 29 0E + tay ; CPU:$A84C PRG:284C A8 + lda $9B75,y ; CPU:$A84D PRG:284D B9 75 9B + sta VramWritePtrLo ; CPU:$A850 PRG:2850 85 00 + iny ; CPU:$A852 PRG:2852 C8 + lda $9B75,y ; CPU:$A853 PRG:2853 B9 75 9B + sta VramWritePtrHi ; CPU:$A856 PRG:2856 85 01 + jmp (VramWritePtrLo) ; CPU:$A858 PRG:2858 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop152: + lda #$04 ; CPU:$A85B PRG:285B A9 04 + sta ZpFD ; CPU:$A85D PRG:285D 85 FD + lda #$00 ; CPU:$A85F PRG:285F A9 00 + sta $0496 ; CPU:$A861 PRG:2861 8D 96 04 + sta Zp67 ; CPU:$A864 PRG:2864 85 67 + lda PlayerIndex ; CPU:$A866 PRG:2866 A5 69 + bit $9B73 ; CPU:$A868 PRG:2868 2C 73 9B + bne NmiHandler_OnNonzero28 ; CPU:$A86B PRG:286B D0 DB + and #$03 ; CPU:$A86D PRG:286D 29 03 + bit $9B72 ; CPU:$A86F PRG:286F 2C 72 9B + bne NmiHandler_Loop153 ; CPU:$A872 PRG:2872 D0 02 + ora #$08 ; CPU:$A874 PRG:2874 09 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop153: + sta PlayerIndex ; CPU:$A876 PRG:2876 85 69 + lda #$0A ; CPU:$A878 PRG:2878 A9 0A + sta Zp23 ; CPU:$A87A PRG:287A 85 23 + lda #$00 ; CPU:$A87C PRG:287C A9 00 + sta Zp68 ; CPU:$A87E PRG:287E 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop154: + rts ; CPU:$A880 PRG:2880 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A881 +; Global: Branch target inside Label: taken when A881. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A881: + lda Zp23 ; CPU:$A881 PRG:2881 A5 23 + bne NmiHandler_Loop157 ; CPU:$A883 PRG:2883 D0 37 + lda PlayerIndex ; CPU:$A885 PRG:2885 A5 69 + and #$F0 ; CPU:$A887 PRG:2887 29 F0 + beq NmiHandler_Loop156 ; CPU:$A889 PRG:2889 F0 1D + lda Zp21 ; CPU:$A88B PRG:288B A5 21 + bne NmiHandler_Loop157 ; CPU:$A88D PRG:288D D0 2D + ldy Zp68 ; CPU:$A88F PRG:288F A4 68 + lda $9BA2,y ; CPU:$A891 PRG:2891 B9 A2 9B + dec Zp68 ; CPU:$A894 PRG:2894 C6 68 + bpl NmiHandler_Loop155 ; CPU:$A896 PRG:2896 10 0D +; ----------------------------------------------------------------------------- +; Routine: Sub_A898 +; Global: Branch target inside Sub: taken when A898. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A898: + lda #$03 ; CPU:$A898 PRG:2898 A9 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A89A +; Global: Branch target inside Sub: taken when A89A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A89A: + and PlayerIndex ; CPU:$A89A PRG:289A 25 69 + sta PlayerIndex ; CPU:$A89C PRG:289C 85 69 + lsr a ; CPU:$A89E PRG:289E 4A + tay ; CPU:$A89F PRG:289F A8 + lda $9B7F,y ; CPU:$A8A0 PRG:28A0 B9 7F 9B + sta Zp68 ; CPU:$A8A3 PRG:28A3 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop155: + sta Zp21 ; CPU:$A8A5 PRG:28A5 85 21 + rts ; CPU:$A8A7 PRG:28A7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + lda Zp67 ; CPU:$A8A8 PRG:28A8 A5 67 + beq NmiHandler_Loop157 ; CPU:$A8AA PRG:28AA F0 10 + lda Zp21 ; CPU:$A8AC PRG:28AC A5 21 + bne NmiHandler_Loop157 ; CPU:$A8AE PRG:28AE D0 0C + lda #$06 ; CPU:$A8B0 PRG:28B0 A9 06 + sta Zp21 ; CPU:$A8B2 PRG:28B2 85 21 + dec Zp68 ; CPU:$A8B4 PRG:28B4 C6 68 + bpl NmiHandler_Loop157 ; CPU:$A8B6 PRG:28B6 10 04 + lda #$01 ; CPU:$A8B8 PRG:28B8 A9 01 + sta Zp68 ; CPU:$A8BA PRG:28BA 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + rts ; CPU:$A8BC PRG:28BC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A8BD +; Global: Branch target inside Label: taken when A8BD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A8BD: + lda Zp21 ; CPU:$A8BD PRG:28BD A5 21 + bne NmiHandler_Loop159 ; CPU:$A8BF PRG:28BF D0 2E + lda PlayerIndex ; CPU:$A8C1 PRG:28C1 A5 69 + and #$F0 ; CPU:$A8C3 PRG:28C3 29 F0 + beq NmiHandler_Loop158 ; CPU:$A8C5 PRG:28C5 F0 11 + lda #$07 ; CPU:$A8C7 PRG:28C7 A9 07 + sta Zp21 ; CPU:$A8C9 PRG:28C9 85 21 + dec Zp68 ; CPU:$A8CB PRG:28CB C6 68 + lda Zp68 ; CPU:$A8CD PRG:28CD A5 68 + cmp #$04 ; CPU:$A8CF PRG:28CF C9 04 + bcs NmiHandler_Loop159 ; CPU:$A8D1 PRG:28D1 B0 1C + lda #$0F ; CPU:$A8D3 PRG:28D3 A9 0F + jmp Sub_A89A ; CPU:$A8D5 PRG:28D5 4C 9A A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + ldy Zp68 ; CPU:$A8D8 PRG:28D8 A4 68 + lda $9B96,y ; CPU:$A8DA PRG:28DA B9 96 9B + sta Zp21 ; CPU:$A8DD PRG:28DD 85 21 + lda $9BB0,y ; CPU:$A8DF PRG:28DF B9 B0 9B + sta SpriteScore ; CPU:$A8E2 PRG:28E2 85 B6 + dec Zp68 ; CPU:$A8E4 PRG:28E4 C6 68 + bpl NmiHandler_Loop159 ; CPU:$A8E6 PRG:28E6 10 07 + jsr Sub_A898 ; CPU:$A8E8 PRG:28E8 20 98 A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_A8EB +; Global: Branch target inside Sub: taken when A8EB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8EB: + lda #$00 ; CPU:$A8EB PRG:28EB A9 00 + sta Zp67 ; CPU:$A8ED PRG:28ED 85 67 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop159: + rts ; CPU:$A8EF PRG:28EF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A8F0 +; Global: Branch target inside Label: taken when A8F0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A8F0: + lda PlayerIndex ; CPU:$A8F0 PRG:28F0 A5 69 + and #$03 ; CPU:$A8F2 PRG:28F2 29 03 + sta PlayerIndex ; CPU:$A8F4 PRG:28F4 85 69 + and #$02 ; CPU:$A8F6 PRG:28F6 29 02 + bne NmiHandler_OnNonzero29 ; CPU:$A8F8 PRG:28F8 D0 04 + lda #$01 ; CPU:$A8FA PRG:28FA A9 01 + sta Zp68 ; CPU:$A8FC PRG:28FC 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero29: + rts ; CPU:$A8FE PRG:28FE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A8FF +; Global: Branch target inside Sub: taken when A8FF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8FF: + lda Zp52 ; CPU:$A8FF PRG:28FF A5 52 + beq NmiHandler_Loop161 ; CPU:$A901 PRG:2901 F0 11 + cmp #$1B ; CPU:$A903 PRG:2903 C9 1B + bne NmiHandler_Loop160 ; CPU:$A905 PRG:2905 D0 06 + lda #$00 ; CPU:$A907 PRG:2907 A9 00 + sta Zp64 ; CPU:$A909 PRG:2909 85 64 + sta Zp62 ; CPU:$A90B PRG:290B 85 62 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop160: + sta $036E ; CPU:$A90D PRG:290D 8D 6E 03 + sta $036F ; CPU:$A910 PRG:2910 8D 6F 03 + rts ; CPU:$A913 PRG:2913 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop161: + lda $038D ; CPU:$A914 PRG:2914 AD 8D 03 + bne NmiHandler_OnNonzero29 ; CPU:$A917 PRG:2917 D0 E5 + lda PlayerIndex ; CPU:$A919 PRG:2919 A5 69 + and #$F0 ; CPU:$A91B PRG:291B 29 F0 + lsr a ; CPU:$A91D PRG:291D 4A + lsr a ; CPU:$A91E PRG:291E 4A + lsr a ; CPU:$A91F PRG:291F 4A + tay ; CPU:$A920 PRG:2920 A8 + lda $9B1D,y ; CPU:$A921 PRG:2921 B9 1D 9B + sta VramWritePtrLo ; CPU:$A924 PRG:2924 85 00 + lda $9B1E,y ; CPU:$A926 PRG:2926 B9 1E 9B + sta VramWritePtrHi ; CPU:$A929 PRG:2929 85 01 + lda PlayerIndex ; CPU:$A92B PRG:292B A5 69 + and #$0E ; CPU:$A92D PRG:292D 29 0E + tay ; CPU:$A92F PRG:292F A8 + lda (VramWritePtrLo),y ; CPU:$A930 PRG:2930 B1 00 + sta DispatchPtrLo ; CPU:$A932 PRG:2932 85 02 + iny ; CPU:$A934 PRG:2934 C8 + lda (VramWritePtrLo),y ; CPU:$A935 PRG:2935 B1 00 + sta DispatchPtrHi ; CPU:$A937 PRG:2937 85 03 + lda PlayerIndex ; CPU:$A939 PRG:2939 A5 69 + lsr a ; CPU:$A93B PRG:293B 4A + lda Zp68 ; CPU:$A93C PRG:293C A5 68 + rol a ; CPU:$A93E PRG:293E 2A + tay ; CPU:$A93F PRG:293F A8 + lda (DispatchPtrLo),y ; CPU:$A940 PRG:2940 B1 02 + sta Zp52 ; CPU:$A942 PRG:2942 85 52 + lda #$00 ; CPU:$A944 PRG:2944 A9 00 + sta $038F ; CPU:$A946 PRG:2946 8D 8F 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative2 +; Global: Branch target inside NmiHandler: taken when OnNegative2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative2: + rts ; CPU:$A949 PRG:2949 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A94A +; Global: Branch target inside Sub: taken when A94A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A94A: + lda $04A6 ; CPU:$A94A PRG:294A AD A6 04 + bmi NmiHandler_OnNegative2 ; CPU:$A94D PRG:294D 30 FA + jmp (Zp5A) ; CPU:$A94F PRG:294F 6C 5A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_A952 +; Global: Branch target inside Label: taken when A952. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A952: + lda Zp7E ; CPU:$A952 PRG:2952 A5 7E + beq NmiHandler_Loop166 ; CPU:$A954 PRG:2954 F0 68 + lda ZpA4 ; CPU:$A956 PRG:2956 A5 A4 + beq NmiHandler_Loop162 ; CPU:$A958 PRG:2958 F0 0F + cmp #$03 ; CPU:$A95A PRG:295A C9 03 + bcs NmiHandler_Loop166 ; CPU:$A95C PRG:295C B0 60 + lsr a ; CPU:$A95E PRG:295E 4A + bcs NmiHandler_Loop163 ; CPU:$A95F PRG:295F B0 0E + lda Zp93 ; CPU:$A961 PRG:2961 A5 93 + cmp #$30 ; CPU:$A963 PRG:2963 C9 30 + bcc NmiHandler_Loop163 ; CPU:$A965 PRG:2965 90 08 + bcs NmiHandler_Loop166 ; CPU:$A967 PRG:2967 B0 55 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop162: + lda Zp93 ; CPU:$A969 PRG:2969 A5 93 + cmp #$D0 ; CPU:$A96B PRG:296B C9 D0 + bcc NmiHandler_Loop166 ; CPU:$A96D PRG:296D 90 4F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: + ldx Zp7E ; CPU:$A96F PRG:296F A6 7E + dex ; CPU:$A971 PRG:2971 CA + beq NmiHandler_Loop164 ; CPU:$A972 PRG:2972 F0 14 + lda $038F ; CPU:$A974 PRG:2974 AD 8F 03 + bne NmiHandler_Loop164 ; CPU:$A977 PRG:2977 D0 0F + lda #$01 ; CPU:$A979 PRG:2979 A9 01 + sta Zp7E ; CPU:$A97B PRG:297B 85 7E + lda #$9C ; CPU:$A97D PRG:297D A9 9C + sta Zp3C ; CPU:$A97F PRG:297F 85 3C + lda SpriteIndex ; CPU:$A981 PRG:2981 A5 5F + clc ; CPU:$A983 PRG:2983 18 + adc #$1C ; CPU:$A984 PRG:2984 69 1C + sta Zp52 ; CPU:$A986 PRG:2986 85 52 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop164: + ldx #$FF ; CPU:$A988 PRG:2988 A2 FF + ldy $037C ; CPU:$A98A PRG:298A AC 7C 03 + lda Zp5E ; CPU:$A98D PRG:298D A5 5E + beq NmiHandler_Loop165 ; CPU:$A98F PRG:298F F0 0A + lda SpriteIndex ; CPU:$A991 PRG:2991 A5 5F + cmp #$04 ; CPU:$A993 PRG:2993 C9 04 + beq NmiHandler_OnZero3 ; CPU:$A995 PRG:2995 F0 08 + cpy #$02 ; CPU:$A997 PRG:2997 C0 02 + bcc NmiHandler_Loop166 ; CPU:$A999 PRG:2999 90 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop165: + cpy #$03 ; CPU:$A99B PRG:299B C0 03 + bcc NmiHandler_Loop170 ; CPU:$A99D PRG:299D 90 72 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero3: + inx ; CPU:$A99F PRG:299F E8 + cpx #$04 ; CPU:$A9A0 PRG:29A0 E0 04 + bcs NmiHandler_Loop170 ; CPU:$A9A2 PRG:29A2 B0 6D + lda EnemyIndex,x ; CPU:$A9A4 PRG:29A4 B5 87 + cmp #$02 ; CPU:$A9A6 PRG:29A6 C9 02 + bcs NmiHandler_OnZero3 ; CPU:$A9A8 PRG:29A8 B0 F5 + lda SpriteTimer,x ; CPU:$A9AA PRG:29AA B5 80 + beq NmiHandler_OnZero3 ; CPU:$A9AC PRG:29AC F0 F1 + bit $9B73 ; CPU:$A9AE PRG:29AE 2C 73 9B + bne NmiHandler_OnZero3 ; CPU:$A9B1 PRG:29B1 D0 EC + and #$02 ; CPU:$A9B3 PRG:29B3 29 02 + lsr a ; CPU:$A9B5 PRG:29B5 4A + eor #$01 ; CPU:$A9B6 PRG:29B6 49 01 + sta GameState,x ; CPU:$A9B8 PRG:29B8 95 C0 + dey ; CPU:$A9BA PRG:29BA 88 + jmp NmiHandler_Loop165 ; CPU:$A9BB PRG:29BB 4C 9B A9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop166: + lda $039B ; CPU:$A9BE PRG:29BE AD 9B 03 + bne NmiHandler_Loop170 ; CPU:$A9C1 PRG:29C1 D0 4E + sta VramWritePtrHi ; CPU:$A9C3 PRG:29C3 85 01 + ldy SpriteIndex ; CPU:$A9C5 PRG:29C5 A4 5F + lda $A300,y ; CPU:$A9C7 PRG:29C7 B9 00 A3 + sta Zp05 ; CPU:$A9CA PRG:29CA 85 05 + lda $A305,y ; CPU:$A9CC PRG:29CC B9 05 A3 + sta Zp06 ; CPU:$A9CF PRG:29CF 85 06 + ldy Zp74 ; CPU:$A9D1 PRG:29D1 A4 74 + lda Zp33 ; CPU:$A9D3 PRG:29D3 A5 33 + bne NmiHandler_Loop170 ; CPU:$A9D5 PRG:29D5 D0 3A + lda Zp4A ; CPU:$A9D7 PRG:29D7 A5 4A + beq NmiHandler_Loop167 ; CPU:$A9D9 PRG:29D9 F0 03 + dec Zp4A ; CPU:$A9DB PRG:29DB C6 4A + rts ; CPU:$A9DD PRG:29DD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop167: + lda Zp75 ; CPU:$A9DE PRG:29DE A5 75 + bne NmiHandler_Loop171 ; CPU:$A9E0 PRG:29E0 D0 30 + lda (Zp05),y ; CPU:$A9E2 PRG:29E2 B1 05 + bit $9B73 ; CPU:$A9E4 PRG:29E4 2C 73 9B + bne NmiHandler_Loop170 ; CPU:$A9E7 PRG:29E7 D0 28 + pha ; CPU:$A9E9 PRG:29E9 48 + and #$03 ; CPU:$A9EA PRG:29EA 29 03 + beq NmiHandler_Loop168 ; CPU:$A9EC PRG:29EC F0 02 + lda #$10 ; CPU:$A9EE PRG:29EE A9 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + sta DispatchPtrLo ; CPU:$A9F0 PRG:29F0 85 02 + lda Zp1B ; CPU:$A9F2 PRG:29F2 A5 1B + and #$0C ; CPU:$A9F4 PRG:29F4 29 0C + ora DispatchPtrLo ; CPU:$A9F6 PRG:29F6 05 02 + sta Zp76 ; CPU:$A9F8 PRG:29F8 85 76 + pla ; CPU:$A9FA PRG:29FA 68 + lsr a ; CPU:$A9FB PRG:29FB 4A + lsr a ; CPU:$A9FC PRG:29FC 4A + lsr a ; CPU:$A9FD PRG:29FD 4A + and #$07 ; CPU:$A9FE PRG:29FE 29 07 + sta Zp77 ; CPU:$AA00 PRG:2A00 85 77 + ldx #$04 ; CPU:$AA02 PRG:2A02 A2 04 + lda Zp5E ; CPU:$AA04 PRG:2A04 A5 5E + bne NmiHandler_Loop169 ; CPU:$AA06 PRG:2A06 D0 07 + lda SpriteIndex ; CPU:$AA08 PRG:2A08 A5 5F + cmp #$02 ; CPU:$AA0A PRG:2A0A C9 02 + bcs NmiHandler_Loop169 ; CPU:$AA0C PRG:2A0C B0 01 + dex ; CPU:$AA0E PRG:2A0E CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + stx Zp75 ; CPU:$AA0F PRG:2A0F 86 75 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + rts ; CPU:$AA11 PRG:2A11 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop171: + ldx Zp75 ; CPU:$AA12 PRG:2A12 A6 75 + dex ; CPU:$AA14 PRG:2A14 CA + stx Zp04 ; CPU:$AA15 PRG:2A15 86 04 + lda Zp77 ; CPU:$AA17 PRG:2A17 A5 77 + ldy Zp3B ; CPU:$AA19 PRG:2A19 A4 3B + bne NmiHandler_Loop172 ; CPU:$AA1B PRG:2A1B D0 02 + lda #$02 ; CPU:$AA1D PRG:2A1D A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + asl a ; CPU:$AA1F PRG:2A1F 0A + asl a ; CPU:$AA20 PRG:2A20 0A + ora Zp04 ; CPU:$AA21 PRG:2A21 05 04 + tay ; CPU:$AA23 PRG:2A23 A8 + lda $A2E8,y ; CPU:$AA24 PRG:2A24 B9 E8 A2 + eor PlayerIndex ; CPU:$AA27 PRG:2A27 45 69 + and #$01 ; CPU:$AA29 PRG:2A29 29 01 + tay ; CPU:$AA2B PRG:2A2B A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_AA2C +; Global: Branch target inside Sub: taken when AA2C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AA2C: + sty VramWritePtrLo ; CPU:$AA2C PRG:2A2C 84 00 + tya ; CPU:$AA2E PRG:2A2E 98 + eor #$01 ; CPU:$AA2F PRG:2A2F 49 01 + tay ; CPU:$AA31 PRG:2A31 A8 + sty Zp07 ; CPU:$AA32 PRG:2A32 84 07 + lda $9B71,y ; CPU:$AA34 PRG:2A34 B9 71 9B + bit $0380 ; CPU:$AA37 PRG:2A37 2C 80 03 + bne NmiHandler_Loop175 ; CPU:$AA3A PRG:2A3A D0 36 + ldx $0387 ; CPU:$AA3C PRG:2A3C AE 87 03 + lda SpriteTimer,x ; CPU:$AA3F PRG:2A3F B5 80 + beq NmiHandler_Loop173 ; CPU:$AA41 PRG:2A41 F0 06 + lda GameMode,x ; CPU:$AA43 PRG:2A43 B5 9F + cmp #$01 ; CPU:$AA45 PRG:2A45 C9 01 + bne NmiHandler_Loop175 ; CPU:$AA47 PRG:2A47 D0 29 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop173: + ldy $0372 ; CPU:$AA49 PRG:2A49 AC 72 03 + lda VramWritePtrLo ; CPU:$AA4C PRG:2A4C A5 00 + beq NmiHandler_Loop174 ; CPU:$AA4E PRG:2A4E F0 12 + lda Zp65 ; CPU:$AA50 PRG:2A50 A5 65 + cmp $A2AC,y ; CPU:$AA52 PRG:2A52 D9 AC A2 + bcc NmiHandler_Loop176 ; CPU:$AA55 PRG:2A55 90 2A + bne NmiHandler_Loop175 ; CPU:$AA57 PRG:2A57 D0 19 + lda Zp12 ; CPU:$AA59 PRG:2A59 A5 12 + cmp $A2AE,y ; CPU:$AA5B PRG:2A5B D9 AE A2 + bcc NmiHandler_Loop176 ; CPU:$AA5E PRG:2A5E 90 21 + bcs NmiHandler_Loop175 ; CPU:$AA60 PRG:2A60 B0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + lda Zp65 ; CPU:$AA62 PRG:2A62 A5 65 + cmp $A2B0,y ; CPU:$AA64 PRG:2A64 D9 B0 A2 + bcc NmiHandler_Loop175 ; CPU:$AA67 PRG:2A67 90 09 + bne NmiHandler_Loop176 ; CPU:$AA69 PRG:2A69 D0 16 + lda Zp12 ; CPU:$AA6B PRG:2A6B A5 12 + cmp $A2B2,y ; CPU:$AA6D PRG:2A6D D9 B2 A2 + bcs NmiHandler_Loop176 ; CPU:$AA70 PRG:2A70 B0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: + lda VramWritePtrHi ; CPU:$AA72 PRG:2A72 A5 01 + bne NmiHandler_Loop177 ; CPU:$AA74 PRG:2A74 D0 10 + ldy Zp07 ; CPU:$AA76 PRG:2A76 A4 07 + sty VramWritePtrLo ; CPU:$AA78 PRG:2A78 84 00 + lda #$FF ; CPU:$AA7A PRG:2A7A A9 FF + sta VramWritePtrHi ; CPU:$AA7C PRG:2A7C 85 01 + jmp Sub_AA2C ; CPU:$AA7E PRG:2A7E 4C 2C AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop176: + jsr Sub_ACE8 ; CPU:$AA81 PRG:2A81 20 E8 AC + bcc NmiHandler_Loop178 ; CPU:$AA84 PRG:2A84 90 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop177: + rts ; CPU:$AA86 PRG:2A86 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + stx $0387 ; CPU:$AA87 PRG:2A87 8E 87 03 + inc $037C ; CPU:$AA8A PRG:2A8A EE 7C 03 + lda Zp74 ; CPU:$AA8D PRG:2A8D A5 74 + clc ; CPU:$AA8F PRG:2A8F 18 + adc VramWritePtrLo ; CPU:$AA90 PRG:2A90 65 00 + cmp #$4A ; CPU:$AA92 PRG:2A92 C9 4A + bcc NmiHandler_Loop179 ; CPU:$AA94 PRG:2A94 90 02 + lda #$4A ; CPU:$AA96 PRG:2A96 A9 4A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop179: + tay ; CPU:$AA98 PRG:2A98 A8 + lda (Zp05),y ; CPU:$AA99 PRG:2A99 B1 05 + and #$C0 ; CPU:$AA9B PRG:2A9B 29 C0 + beq NmiHandler_Loop181 ; CPU:$AA9D PRG:2A9D F0 0C + ldy #$01 ; CPU:$AA9F PRG:2A9F A0 01 + and #$80 ; CPU:$AAA1 PRG:2AA1 29 80 + beq NmiHandler_Loop180 ; CPU:$AAA3 PRG:2AA3 F0 05 + lda Zp18,x ; CPU:$AAA5 PRG:2AA5 B5 18 + and #$01 ; CPU:$AAA7 PRG:2AA7 29 01 + tay ; CPU:$AAA9 PRG:2AA9 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop180: + tya ; CPU:$AAAA PRG:2AAA 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop181: + sta EnemyIndex,x ; CPU:$AAAB PRG:2AAB 95 87 + lda Zp07 ; CPU:$AAAD PRG:2AAD A5 07 + sta GameState,x ; CPU:$AAAF PRG:2AAF 95 C0 + tay ; CPU:$AAB1 PRG:2AB1 A8 + asl a ; CPU:$AAB2 PRG:2AB2 0A + ora #$01 ; CPU:$AAB3 PRG:2AB3 09 01 + sta SpriteTimer,x ; CPU:$AAB5 PRG:2AB5 95 80 + lda #$87 ; CPU:$AAB7 PRG:2AB7 A9 87 + sta PlayerX,x ; CPU:$AAB9 PRG:2AB9 95 B0 + lda Zp65 ; CPU:$AABB PRG:2ABB A5 65 + cpy #$01 ; CPU:$AABD PRG:2ABD C0 01 + beq NmiHandler_Loop182 ; CPU:$AABF PRG:2ABF F0 03 + clc ; CPU:$AAC1 PRG:2AC1 18 + adc #$02 ; CPU:$AAC2 PRG:2AC2 69 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + sta EnemyHealth,x ; CPU:$AAC4 PRG:2AC4 95 DF + lda Zp12 ; CPU:$AAC6 PRG:2AC6 A5 12 + sec ; CPU:$AAC8 PRG:2AC8 38 + sbc $A2AA,y ; CPU:$AAC9 PRG:2AC9 F9 AA A2 + sta ZpCE,x ; CPU:$AACC PRG:2ACC 95 CE + bcs NmiHandler_Loop183 ; CPU:$AACE PRG:2ACE B0 02 + dec EnemyHealth,x ; CPU:$AAD0 PRG:2AD0 D6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + lda #$38 ; CPU:$AAD2 PRG:2AD2 A9 38 + ldy Zp3B ; CPU:$AAD4 PRG:2AD4 A4 3B + beq NmiHandler_Loop184 ; CPU:$AAD6 PRG:2AD6 F0 08 + lda Zp76 ; CPU:$AAD8 PRG:2AD8 A5 76 + ora Zp04 ; CPU:$AADA PRG:2ADA 05 04 + tay ; CPU:$AADC PRG:2ADC A8 + lda $A2C8,y ; CPU:$AADD PRG:2ADD B9 C8 A2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: + sta Zp33 ; CPU:$AAE0 PRG:2AE0 85 33 + dec Zp75 ; CPU:$AAE2 PRG:2AE2 C6 75 + bne NmiHandler_Loop186 ; CPU:$AAE4 PRG:2AE4 D0 17 + lda SpriteIndex ; CPU:$AAE6 PRG:2AE6 A5 5F + asl a ; CPU:$AAE8 PRG:2AE8 0A + asl a ; CPU:$AAE9 PRG:2AE9 0A + sta DispatchPtrHi ; CPU:$AAEA PRG:2AEA 85 03 + lda ZpBE ; CPU:$AAEC PRG:2AEC A5 BE + ora DispatchPtrHi ; CPU:$AAEE PRG:2AEE 05 03 + tay ; CPU:$AAF0 PRG:2AF0 A8 + lda $A2B4,y ; CPU:$AAF1 PRG:2AF1 B9 B4 A2 + ldx Zp6B ; CPU:$AAF4 PRG:2AF4 A6 6B + bne NmiHandler_Loop185 ; CPU:$AAF6 PRG:2AF6 D0 03 + clc ; CPU:$AAF8 PRG:2AF8 18 + adc #$30 ; CPU:$AAF9 PRG:2AF9 69 30 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop185: + sta Zp4A ; CPU:$AAFB PRG:2AFB 85 4A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop186: + ldx Zp07 ; CPU:$AAFD PRG:2AFD A6 07 + lda SpriteIndex ; CPU:$AAFF PRG:2AFF A5 5F + cmp #$04 ; CPU:$AB01 PRG:2B01 C9 04 + bne NmiHandler_Loop187 ; CPU:$AB03 PRG:2B03 D0 06 + lda Zp65 ; CPU:$AB05 PRG:2B05 A5 65 + cmp #$02 ; CPU:$AB07 PRG:2B07 C9 02 + bcc NmiHandler_Loop188 ; CPU:$AB09 PRG:2B09 90 28 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + lda #$02 ; CPU:$AB0B PRG:2B0B A9 02 + dec $037E,x ; CPU:$AB0D PRG:2B0D DE 7E 03 + beq NmiHandler_Loop189 ; CPU:$AB10 PRG:2B10 F0 22 + ldx $0387 ; CPU:$AB12 PRG:2B12 AE 87 03 + lda EnemyIndex,x ; CPU:$AB15 PRG:2B15 B5 87 + beq NmiHandler_Loop188 ; CPU:$AB17 PRG:2B17 F0 1A + lda ZpBE ; CPU:$AB19 PRG:2B19 A5 BE + asl a ; CPU:$AB1B PRG:2B1B 0A + asl a ; CPU:$AB1C PRG:2B1C 0A + sta VramWritePtrLo ; CPU:$AB1D PRG:2B1D 85 00 + ldy SpriteIndex ; CPU:$AB1F PRG:2B1F A4 5F + dey ; CPU:$AB21 PRG:2B21 88 + tya ; CPU:$AB22 PRG:2B22 98 + ora VramWritePtrLo ; CPU:$AB23 PRG:2B23 05 00 + beq NmiHandler_Loop188 ; CPU:$AB25 PRG:2B25 F0 0C + tay ; CPU:$AB27 PRG:2B27 A8 + lda Zp18,x ; CPU:$AB28 PRG:2B28 B5 18 + cmp $A184,y ; CPU:$AB2A PRG:2B2A D9 84 A1 + bcc NmiHandler_Loop188 ; CPU:$AB2D PRG:2B2D 90 04 + lda #$11 ; CPU:$AB2F PRG:2B2F A9 11 + sta SpriteTimer,x ; CPU:$AB31 PRG:2B31 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + rts ; CPU:$AB33 PRG:2B33 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: + ldy Zp07 ; CPU:$AB34 PRG:2B34 A4 07 + lda $9B71,y ; CPU:$AB36 PRG:2B36 B9 71 9B + ora $0380 ; CPU:$AB39 PRG:2B39 0D 80 03 + sta $0380 ; CPU:$AB3C PRG:2B3C 8D 80 03 + lda $03AA ; CPU:$AB3F PRG:2B3F AD AA 03 + sta $037E,y ; CPU:$AB42 PRG:2B42 99 7E 03 + ldx $0387 ; CPU:$AB45 PRG:2B45 AE 87 03 + lda #$02 ; CPU:$AB48 PRG:2B48 A9 02 + sta EnemyIndex,x ; CPU:$AB4A PRG:2B4A 95 87 + lsr a ; CPU:$AB4C PRG:2B4C 4A + sta $04A0,x ; CPU:$AB4D PRG:2B4D 9D A0 04 + jmp Sub_BDD2 ; CPU:$AB50 PRG:2B50 4C D2 BD +; ----------------------------------------------------------------------------- +; Routine: Label_AB53 +; Global: Branch target inside Label: taken when AB53. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB53: + lda Zp65 ; CPU:$AB53 PRG:2B53 A5 65 + cmp #$03 ; CPU:$AB55 PRG:2B55 C9 03 + bcc NmiHandler_Loop190 ; CPU:$AB57 PRG:2B57 90 03 + jsr Sub_8629 ; CPU:$AB59 PRG:2B59 20 29 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop190: + lda Zp3D ; CPU:$AB5C PRG:2B5C A5 3D + bne NmiHandler_Loop188 ; CPU:$AB5E PRG:2B5E D0 D3 + jsr Sub_ACE8 ; CPU:$AB60 PRG:2B60 20 E8 AC + bcs NmiHandler_Loop188 ; CPU:$AB63 PRG:2B63 B0 CE + ldy Zp78 ; CPU:$AB65 PRG:2B65 A4 78 + cpy #$05 ; CPU:$AB67 PRG:2B67 C0 05 + bcs NmiHandler_Loop191 ; CPU:$AB69 PRG:2B69 B0 06 + lda Zp49 ; CPU:$AB6B PRG:2B6B A5 49 + cmp #$F8 ; CPU:$AB6D PRG:2B6D C9 F8 + bcc NmiHandler_Loop192 ; CPU:$AB6F PRG:2B6F 90 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop191: + lda Zp18,x ; CPU:$AB71 PRG:2B71 B5 18 + and #$0F ; CPU:$AB73 PRG:2B73 29 0F + clc ; CPU:$AB75 PRG:2B75 18 + adc #$05 ; CPU:$AB76 PRG:2B76 69 05 + tay ; CPU:$AB78 PRG:2B78 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop192: + inc Zp78 ; CPU:$AB79 PRG:2B79 E6 78 + lda $A198,y ; CPU:$AB7B PRG:2B7B B9 98 A1 + cmp #$0D ; CPU:$AB7E PRG:2B7E C9 0D + bne NmiHandler_Loop196 ; CPU:$AB80 PRG:2B80 D0 22 + sta VramWritePtrLo ; CPU:$AB82 PRG:2B82 85 00 + txa ; CPU:$AB84 PRG:2B84 8A + pha ; CPU:$AB85 PRG:2B85 48 + ldx #$03 ; CPU:$AB86 PRG:2B86 A2 03 + ldy #$00 ; CPU:$AB88 PRG:2B88 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative18 +; Global: Branch target inside NmiHandler: taken when OnNonnegative18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative18: + lda EnemyIndex,x ; CPU:$AB8A PRG:2B8A B5 87 + cmp #$0D ; CPU:$AB8C PRG:2B8C C9 0D + beq NmiHandler_Loop193 ; CPU:$AB8E PRG:2B8E F0 04 + cmp #$0E ; CPU:$AB90 PRG:2B90 C9 0E + bne NmiHandler_Loop194 ; CPU:$AB92 PRG:2B92 D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop193: + iny ; CPU:$AB94 PRG:2B94 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + dex ; CPU:$AB95 PRG:2B95 CA + bpl NmiHandler_OnNonnegative18 ; CPU:$AB96 PRG:2B96 10 F2 + cpy #$02 ; CPU:$AB98 PRG:2B98 C0 02 + bcc NmiHandler_Loop195 ; CPU:$AB9A PRG:2B9A 90 04 + lda #$0F ; CPU:$AB9C PRG:2B9C A9 0F + sta VramWritePtrLo ; CPU:$AB9E PRG:2B9E 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + pla ; CPU:$ABA0 PRG:2BA0 68 + tax ; CPU:$ABA1 PRG:2BA1 AA + lda VramWritePtrLo ; CPU:$ABA2 PRG:2BA2 A5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + sta EnemyIndex,x ; CPU:$ABA4 PRG:2BA4 95 87 + lda Zp19,x ; CPU:$ABA6 PRG:2BA6 B5 19 + and #$0F ; CPU:$ABA8 PRG:2BA8 29 0F + tay ; CPU:$ABAA PRG:2BAA A8 + lda ZpE5 ; CPU:$ABAB PRG:2BAB A5 E5 + sta EnemyHealth,x ; CPU:$ABAD PRG:2BAD 95 DF + lda Zp67 ; CPU:$ABAF PRG:2BAF A5 67 + beq NmiHandler_Loop197 ; CPU:$ABB1 PRG:2BB1 F0 17 + lda $A1BD,y ; CPU:$ABB3 PRG:2BB3 B9 BD A1 + sta VramWritePtrLo ; CPU:$ABB6 PRG:2BB6 85 00 + lda PlayerIndex ; CPU:$ABB8 PRG:2BB8 A5 69 + and #$01 ; CPU:$ABBA PRG:2BBA 29 01 + bne NmiHandler_Loop199 ; CPU:$ABBC PRG:2BBC D0 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + lda ZpD4 ; CPU:$ABBE PRG:2BBE A5 D4 + sec ; CPU:$ABC0 PRG:2BC0 38 + sbc VramWritePtrLo ; CPU:$ABC1 PRG:2BC1 E5 00 + bcs NmiHandler_Loop200 ; CPU:$ABC3 PRG:2BC3 B0 26 + dec EnemyHealth,x ; CPU:$ABC5 PRG:2BC5 D6 DF + jmp NmiHandler_Loop200 ; CPU:$ABC7 PRG:2BC7 4C EB AB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + tya ; CPU:$ABCA PRG:2BCA 98 + and #$07 ; CPU:$ABCB PRG:2BCB 29 07 + tay ; CPU:$ABCD PRG:2BCD A8 + lda $A1AD,y ; CPU:$ABCE PRG:2BCE B9 AD A1 + sta VramWritePtrLo ; CPU:$ABD1 PRG:2BD1 85 00 + lda PlayerIndex ; CPU:$ABD3 PRG:2BD3 A5 69 + and #$01 ; CPU:$ABD5 PRG:2BD5 29 01 + bne NmiHandler_Loop198 ; CPU:$ABD7 PRG:2BD7 D0 05 + lda $A1B5,y ; CPU:$ABD9 PRG:2BD9 B9 B5 A1 + sta VramWritePtrLo ; CPU:$ABDC PRG:2BDC 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop198: + cpy #$04 ; CPU:$ABDE PRG:2BDE C0 04 + bcs NmiHandler_OnCarrySet ; CPU:$ABE0 PRG:2BE0 B0 DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop199: + lda ZpD4 ; CPU:$ABE2 PRG:2BE2 A5 D4 + clc ; CPU:$ABE4 PRG:2BE4 18 + adc VramWritePtrLo ; CPU:$ABE5 PRG:2BE5 65 00 + bcc NmiHandler_Loop200 ; CPU:$ABE7 PRG:2BE7 90 02 + inc EnemyHealth,x ; CPU:$ABE9 PRG:2BE9 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop200: + and #$F8 ; CPU:$ABEB PRG:2BEB 29 F8 + ora #$08 ; CPU:$ABED PRG:2BED 09 08 + sta ZpCE,x ; CPU:$ABEF PRG:2BEF 95 CE + and #$F0 ; CPU:$ABF1 PRG:2BF1 29 F0 + sta VramWritePtrHi ; CPU:$ABF3 PRG:2BF3 85 01 + lda EnemyHealth,x ; CPU:$ABF5 PRG:2BF5 B5 DF + bmi NmiHandler_Loop201 ; CPU:$ABF7 PRG:2BF7 30 18 + stx VramWritePtrLo ; CPU:$ABF9 PRG:2BF9 86 00 + ldy #$03 ; CPU:$ABFB PRG:2BFB A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative19 +; Global: Branch target inside NmiHandler: taken when OnNonnegative19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative19: + cpy VramWritePtrLo ; CPU:$ABFD PRG:2BFD C4 00 + beq NmiHandler_Loop202 ; CPU:$ABFF PRG:2BFF F0 15 + lda a:EnemyHealth,y ; CPU:$AC01 PRG:2C01 B9 DF 00 + cmp EnemyHealth,x ; CPU:$AC04 PRG:2C04 D5 DF + bne NmiHandler_Loop202 ; CPU:$AC06 PRG:2C06 D0 0E + lda a:ZpCE,y ; CPU:$AC08 PRG:2C08 B9 CE 00 + and #$F0 ; CPU:$AC0B PRG:2C0B 29 F0 + cmp VramWritePtrHi ; CPU:$AC0D PRG:2C0D C5 01 + bne NmiHandler_Loop202 ; CPU:$AC0F PRG:2C0F D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + lda #$FF ; CPU:$AC11 PRG:2C11 A9 FF + sta EnemyHealth,x ; CPU:$AC13 PRG:2C13 95 DF + rts ; CPU:$AC15 PRG:2C15 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop202: + dey ; CPU:$AC16 PRG:2C16 88 + bpl NmiHandler_OnNonnegative19 ; CPU:$AC17 PRG:2C17 10 E4 + lda #$01 ; CPU:$AC19 PRG:2C19 A9 01 + sta SpriteTimer,x ; CPU:$AC1B PRG:2C1B 95 80 + lsr a ; CPU:$AC1D PRG:2C1D 4A + sta $0478,x ; CPU:$AC1E PRG:2C1E 9D 78 04 + lda #$38 ; CPU:$AC21 PRG:2C21 A9 38 + sta PlayerX,x ; CPU:$AC23 PRG:2C23 95 B0 + lda ZpBE ; CPU:$AC25 PRG:2C25 A5 BE + sta VramWritePtrLo ; CPU:$AC27 PRG:2C27 85 00 + lda Zp19,x ; CPU:$AC29 PRG:2C29 B5 19 + and #$03 ; CPU:$AC2B PRG:2C2B 29 03 + tay ; CPU:$AC2D PRG:2C2D A8 + lda $A194,y ; CPU:$AC2E PRG:2C2E B9 94 A1 + sec ; CPU:$AC31 PRG:2C31 38 + sbc VramWritePtrLo ; CPU:$AC32 PRG:2C32 E5 00 + ldx Zp53 ; CPU:$AC34 PRG:2C34 A6 53 + bne NmiHandler_Loop203 ; CPU:$AC36 PRG:2C36 D0 03 + clc ; CPU:$AC38 PRG:2C38 18 + adc #$03 ; CPU:$AC39 PRG:2C39 69 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop203: + sta Zp3D ; CPU:$AC3B PRG:2C3B 85 3D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero30: + rts ; CPU:$AC3D PRG:2C3D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AC3E +; Global: Branch target inside Label: taken when AC3E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AC3E: + lda ZpE5 ; CPU:$AC3E PRG:2C3E A5 E5 + cmp #$04 ; CPU:$AC40 PRG:2C40 C9 04 + bcc NmiHandler_Loop204 ; CPU:$AC42 PRG:2C42 90 08 + lda #$00 ; CPU:$AC44 PRG:2C44 A9 00 + sta $03CF ; CPU:$AC46 PRG:2C46 8D CF 03 + jmp Sub_8629 ; CPU:$AC49 PRG:2C49 4C 29 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop204: + ldx #$03 ; CPU:$AC4C PRG:2C4C A2 03 + stx $03CF ; CPU:$AC4E PRG:2C4E 8E CF 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_AC51 +; Global: Branch target inside Sub: taken when AC51. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC51: + stx Zp05 ; CPU:$AC51 PRG:2C51 86 05 + lda $0366 ; CPU:$AC53 PRG:2C53 AD 66 03 + ora $0367 ; CPU:$AC56 PRG:2C56 0D 67 03 + bne NmiHandler_OnNonzero30 ; CPU:$AC59 PRG:2C59 D0 E2 + lda $0440,x ; CPU:$AC5B PRG:2C5B BD 40 04 + beq NmiHandler_Loop205 ; CPU:$AC5E PRG:2C5E F0 06 + dec $0440,x ; CPU:$AC60 PRG:2C60 DE 40 04 + jmp NmiHandler_Loop208 ; CPU:$AC63 PRG:2C63 4C C4 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop205: + ldy ZpA6,x ; CPU:$AC66 PRG:2C66 B4 A6 + dey ; CPU:$AC68 PRG:2C68 88 + bne NmiHandler_Loop208 ; CPU:$AC69 PRG:2C69 D0 59 + lda Zp95,x ; CPU:$AC6B PRG:2C6B B5 95 + cmp #$08 ; CPU:$AC6D PRG:2C6D C9 08 + bcc NmiHandler_Loop208 ; CPU:$AC6F PRG:2C6F 90 53 + cmp #$F8 ; CPU:$AC71 PRG:2C71 C9 F8 + bcs NmiHandler_Loop208 ; CPU:$AC73 PRG:2C73 B0 4F + ldx #$04 ; CPU:$AC75 PRG:2C75 A2 04 + jsr NmiHandler_OnNonnegative21 ; CPU:$AC77 PRG:2C77 20 EA AC + bcs NmiHandler_Loop209 ; CPU:$AC7A PRG:2C7A B0 50 + lda #$50 ; CPU:$AC7C PRG:2C7C A9 50 + ldy Zp53 ; CPU:$AC7E PRG:2C7E A4 53 + bne NmiHandler_Loop206 ; CPU:$AC80 PRG:2C80 D0 02 + lda #$68 ; CPU:$AC82 PRG:2C82 A9 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop206: + ldy Zp05 ; CPU:$AC84 PRG:2C84 A4 05 + sta $0440,y ; CPU:$AC86 PRG:2C86 99 40 04 + lda $0450,y ; CPU:$AC89 PRG:2C89 B9 50 04 + clc ; CPU:$AC8C PRG:2C8C 18 + adc #$04 ; CPU:$AC8D PRG:2C8D 69 04 + sta PlayerX,x ; CPU:$AC8F PRG:2C8F 95 B0 + lda a:ZpD5,y ; CPU:$AC91 PRG:2C91 B9 D5 00 + sta ZpCE,x ; CPU:$AC94 PRG:2C94 95 CE + lda a:ZpE6,y ; CPU:$AC96 PRG:2C96 B9 E6 00 + sta EnemyHealth,x ; CPU:$AC99 PRG:2C99 95 DF + lda Zp18,x ; CPU:$AC9B PRG:2C9B B5 18 + and #$01 ; CPU:$AC9D PRG:2C9D 29 01 + clc ; CPU:$AC9F PRG:2C9F 18 + adc Zp5E ; CPU:$ACA0 PRG:2CA0 65 5E + cmp #$06 ; CPU:$ACA2 PRG:2CA2 C9 06 + bcc NmiHandler_Loop207 ; CPU:$ACA4 PRG:2CA4 90 02 + lda #$06 ; CPU:$ACA6 PRG:2CA6 A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop207: + sta $0454,x ; CPU:$ACA8 PRG:2CA8 9D 54 04 + lda #$03 ; CPU:$ACAB PRG:2CAB A9 03 + sta SpriteTimer,x ; CPU:$ACAD PRG:2CAD 95 80 + lda #$0A ; CPU:$ACAF PRG:2CAF A9 0A + sta EnemyIndex,x ; CPU:$ACB1 PRG:2CB1 95 87 + lda #$00 ; CPU:$ACB3 PRG:2CB3 A9 00 + sta $0444,x ; CPU:$ACB5 PRG:2CB5 9D 44 04 + sta $0478,x ; CPU:$ACB8 PRG:2CB8 9D 78 04 + lda #$0E ; CPU:$ACBB PRG:2CBB A9 0E + sta Zp2B,x ; CPU:$ACBD PRG:2CBD 95 2B + lda $04F1,y ; CPU:$ACBF PRG:2CBF B9 F1 04 + sta GameState,x ; CPU:$ACC2 PRG:2CC2 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + ldx Zp05 ; CPU:$ACC4 PRG:2CC4 A6 05 + dex ; CPU:$ACC6 PRG:2CC6 CA + bmi NmiHandler_Loop212 ; CPU:$ACC7 PRG:2CC7 30 29 + jmp Sub_AC51 ; CPU:$ACC9 PRG:2CC9 4C 51 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + ldx #$04 ; CPU:$ACCC PRG:2CCC A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative20 +; Global: Branch target inside NmiHandler: taken when OnNonnegative20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative20: + ldy GameMode,x ; CPU:$ACCE PRG:2CCE B4 9F + cpy #$03 ; CPU:$ACD0 PRG:2CD0 C0 03 + bcs NmiHandler_Loop210 ; CPU:$ACD2 PRG:2CD2 B0 0D + dey ; CPU:$ACD4 PRG:2CD4 88 + beq NmiHandler_Loop211 ; CPU:$ACD5 PRG:2CD5 F0 0D + lda Zp8E,x ; CPU:$ACD7 PRG:2CD7 B5 8E + cmp #$28 ; CPU:$ACD9 PRG:2CD9 C9 28 + bcc NmiHandler_Loop211 ; CPU:$ACDB PRG:2CDB 90 07 + cmp #$D8 ; CPU:$ACDD PRG:2CDD C9 D8 + bcs NmiHandler_Loop211 ; CPU:$ACDF PRG:2CDF B0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + jmp Sub_B257 ; CPU:$ACE1 PRG:2CE1 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + dex ; CPU:$ACE4 PRG:2CE4 CA + bpl NmiHandler_OnNonnegative20 ; CPU:$ACE5 PRG:2CE5 10 E7 + rts ; CPU:$ACE7 PRG:2CE7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_ACE8 +; Global: Branch target inside Sub: taken when ACE8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ACE8: + ldx #$03 ; CPU:$ACE8 PRG:2CE8 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative21 +; Global: Branch target inside NmiHandler: taken when OnNonnegative21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative21: + lda SpriteTimer,x ; CPU:$ACEA PRG:2CEA B5 80 + lsr a ; CPU:$ACEC PRG:2CEC 4A + bcc NmiHandler_Loop212 ; CPU:$ACED PRG:2CED 90 03 + dex ; CPU:$ACEF PRG:2CEF CA + bpl NmiHandler_OnNonnegative21 ; CPU:$ACF0 PRG:2CF0 10 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + rts ; CPU:$ACF2 PRG:2CF2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_ACF3 +; Global: Branch target inside Sub: taken when ACF3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ACF3: + ldx #$06 ; CPU:$ACF3 PRG:2CF3 A2 06 + lda $04A6 ; CPU:$ACF5 PRG:2CF5 AD A6 04 + bmi NmiHandler_Loop213 ; CPU:$ACF8 PRG:2CF8 30 02 + ldx #$00 ; CPU:$ACFA PRG:2CFA A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + cpx #$05 ; CPU:$ACFC PRG:2CFC E0 05 + bne NmiHandler_Loop214 ; CPU:$ACFE PRG:2CFE D0 05 + lda Zp7E ; CPU:$AD00 PRG:2D00 A5 7E + lsr a ; CPU:$AD02 PRG:2D02 4A + bcc NmiHandler_Loop220 ; CPU:$AD03 PRG:2D03 90 75 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + lda SpriteTimer,x ; CPU:$AD05 PRG:2D05 B5 80 + beq NmiHandler_Loop220 ; CPU:$AD07 PRG:2D07 F0 71 + lda EnemyIndex,x ; CPU:$AD09 PRG:2D09 B5 87 + asl a ; CPU:$AD0B PRG:2D0B 0A + tay ; CPU:$AD0C PRG:2D0C A8 + cmp #$1C ; CPU:$AD0D PRG:2D0D C9 1C + beq NmiHandler_Loop215 ; CPU:$AD0F PRG:2D0F F0 05 + lda $04A0,x ; CPU:$AD11 PRG:2D11 BD A0 04 + bmi NmiHandler_Loop222 ; CPU:$AD14 PRG:2D14 30 6D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + lda SpriteTimer,x ; CPU:$AD16 PRG:2D16 B5 80 + and #$04 ; CPU:$AD18 PRG:2D18 29 04 + bne NmiHandler_Loop220 ; CPU:$AD1A PRG:2D1A D0 5E + stx $036D ; CPU:$AD1C PRG:2D1C 8E 6D 03 + jsr Sub_ADEE ; CPU:$AD1F PRG:2D1F 20 EE AD + ldx $036D ; CPU:$AD22 PRG:2D22 AE 6D 03 + lda SpriteTimer,x ; CPU:$AD25 PRG:2D25 B5 80 + beq NmiHandler_Loop220 ; CPU:$AD27 PRG:2D27 F0 51 + lda EnemyIndex,x ; CPU:$AD29 PRG:2D29 B5 87 + cmp #$02 ; CPU:$AD2B PRG:2D2B C9 02 + bcc NmiHandler_Loop217 ; CPU:$AD2D PRG:2D2D 90 13 + cmp #$0A ; CPU:$AD2F PRG:2D2F C9 0A + bne NmiHandler_Loop216 ; CPU:$AD31 PRG:2D31 D0 07 + lda $03CF ; CPU:$AD33 PRG:2D33 AD CF 03 + beq NmiHandler_Loop218 ; CPU:$AD36 PRG:2D36 F0 29 + bne NmiHandler_Loop219 ; CPU:$AD38 PRG:2D38 D0 3D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + cmp #$0D ; CPU:$AD3A PRG:2D3A C9 0D + bcc NmiHandler_Loop219 ; CPU:$AD3C PRG:2D3C 90 39 + cmp #$11 ; CPU:$AD3E PRG:2D3E C9 11 + beq NmiHandler_Loop219 ; CPU:$AD40 PRG:2D40 F0 35 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + lda SpriteIndex ; CPU:$AD42 PRG:2D42 A5 5F + cmp #$04 ; CPU:$AD44 PRG:2D44 C9 04 + bne NmiHandler_Loop218 ; CPU:$AD46 PRG:2D46 D0 19 + lda Zp7E ; CPU:$AD48 PRG:2D48 A5 7E + beq NmiHandler_Loop218 ; CPU:$AD4A PRG:2D4A F0 15 + lda EnemyHealth,x ; CPU:$AD4C PRG:2D4C B5 DF + cmp #$02 ; CPU:$AD4E PRG:2D4E C9 02 + bne NmiHandler_Loop218 ; CPU:$AD50 PRG:2D50 D0 0F + lda ZpCE,x ; CPU:$AD52 PRG:2D52 B5 CE + cmp #$18 ; CPU:$AD54 PRG:2D54 C9 18 + bcs NmiHandler_Loop218 ; CPU:$AD56 PRG:2D56 B0 09 + lda SpriteTimer,x ; CPU:$AD58 PRG:2D58 B5 80 + lsr a ; CPU:$AD5A PRG:2D5A 4A + eor #$01 ; CPU:$AD5B PRG:2D5B 49 01 + and #$01 ; CPU:$AD5D PRG:2D5D 29 01 + sta GameState,x ; CPU:$AD5F PRG:2D5F 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + lda GameMode,x ; CPU:$AD61 PRG:2D61 B5 9F + cmp #$01 ; CPU:$AD63 PRG:2D63 C9 01 + beq NmiHandler_Loop219 ; CPU:$AD65 PRG:2D65 F0 10 + lda Zp8E,x ; CPU:$AD67 PRG:2D67 B5 8E + cmp #$28 ; CPU:$AD69 PRG:2D69 C9 28 + bcc NmiHandler_Loop219 ; CPU:$AD6B PRG:2D6B 90 0A + cmp #$D8 ; CPU:$AD6D PRG:2D6D C9 D8 + bcs NmiHandler_Loop219 ; CPU:$AD6F PRG:2D6F B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: + jsr Sub_B257 ; CPU:$AD71 PRG:2D71 20 57 B2 + jmp NmiHandler_Loop220 ; CPU:$AD74 PRG:2D74 4C 7A AD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: + jsr Sub_C344 ; CPU:$AD77 PRG:2D77 20 44 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop220: + inx ; CPU:$AD7A PRG:2D7A E8 + cpx #$07 ; CPU:$AD7B PRG:2D7B E0 07 + bcs NmiHandler_Loop221 ; CPU:$AD7D PRG:2D7D B0 03 + jmp NmiHandler_Loop213 ; CPU:$AD7F PRG:2D7F 4C FC AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop221: + rts ; CPU:$AD82 PRG:2D82 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop222: + lda EnemyIndex,x ; CPU:$AD83 PRG:2D83 B5 87 + cmp #$0A ; CPU:$AD85 PRG:2D85 C9 0A + bcs NmiHandler_Loop230 ; CPU:$AD87 PRG:2D87 B0 5F + lda $04A8,x ; CPU:$AD89 PRG:2D89 BD A8 04 + sta GameState,x ; CPU:$AD8C PRG:2D8C 95 C0 + ldy EnemyIndex,x ; CPU:$AD8E PRG:2D8E B4 87 + cpx #$06 ; CPU:$AD90 PRG:2D90 E0 06 + beq NmiHandler_Loop223 ; CPU:$AD92 PRG:2D92 F0 05 + lda $A13A,y ; CPU:$AD94 PRG:2D94 B9 3A A1 + sta PlayerY,x ; CPU:$AD97 PRG:2D97 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop223: + inc $0486,x ; CPU:$AD99 PRG:2D99 FE 86 04 + lda $0486,x ; CPU:$AD9C PRG:2D9C BD 86 04 + cmp #$17 ; CPU:$AD9F PRG:2D9F C9 17 + bcc NmiHandler_Loop224 ; CPU:$ADA1 PRG:2DA1 90 05 + lda #$17 ; CPU:$ADA3 PRG:2DA3 A9 17 + sta $0486,x ; CPU:$ADA5 PRG:2DA5 9D 86 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop224: + jsr Sub_C7AC ; CPU:$ADA8 PRG:2DA8 20 AC C7 + ldy #$01 ; CPU:$ADAB PRG:2DAB A0 01 + lda #$80 ; CPU:$ADAD PRG:2DAD A9 80 + cpx #$06 ; CPU:$ADAF PRG:2DAF E0 06 + bne NmiHandler_Loop225 ; CPU:$ADB1 PRG:2DB1 D0 04 + ldy #$00 ; CPU:$ADB3 PRG:2DB3 A0 00 + lda #$00 ; CPU:$ADB5 PRG:2DB5 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop225: + clc ; CPU:$ADB7 PRG:2DB7 18 + adc $0498,x ; CPU:$ADB8 PRG:2DB8 7D 98 04 + sta $0498,x ; CPU:$ADBB PRG:2DBB 9D 98 04 + bcc NmiHandler_Loop226 ; CPU:$ADBE PRG:2DBE 90 01 + iny ; CPU:$ADC0 PRG:2DC0 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop226: + lda $04A8,x ; CPU:$ADC1 PRG:2DC1 BD A8 04 + beq NmiHandler_Loop227 ; CPU:$ADC4 PRG:2DC4 F0 05 + tya ; CPU:$ADC6 PRG:2DC6 98 + eor #$FF ; CPU:$ADC7 PRG:2DC7 49 FF + tay ; CPU:$ADC9 PRG:2DC9 A8 + iny ; CPU:$ADCA PRG:2DCA C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop227: + tya ; CPU:$ADCB PRG:2DCB 98 + cmp #$00 ; CPU:$ADCC PRG:2DCC C9 00 + bpl NmiHandler_Loop228 ; CPU:$ADCE PRG:2DCE 10 02 + dec EnemyHealth,x ; CPU:$ADD0 PRG:2DD0 D6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop228: + clc ; CPU:$ADD2 PRG:2DD2 18 + adc ZpCE,x ; CPU:$ADD3 PRG:2DD3 75 CE + sta ZpCE,x ; CPU:$ADD5 PRG:2DD5 95 CE + bcc NmiHandler_Loop229 ; CPU:$ADD7 PRG:2DD7 90 02 + inc EnemyHealth,x ; CPU:$ADD9 PRG:2DD9 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + lda PlayerX,x ; CPU:$ADDB PRG:2DDB B5 B0 + cmp #$D8 ; CPU:$ADDD PRG:2DDD C9 D8 + bcc NmiHandler_Loop219 ; CPU:$ADDF PRG:2DDF 90 96 + lda #$00 ; CPU:$ADE1 PRG:2DE1 A9 00 + sta $0486,x ; CPU:$ADE3 PRG:2DE3 9D 86 04 + beq NmiHandler_OnZero4 ; CPU:$ADE6 PRG:2DE6 F0 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + jsr Sub_B8E1 ; CPU:$ADE8 PRG:2DE8 20 E1 B8 + jmp NmiHandler_OnZero4 ; CPU:$ADEB PRG:2DEB 4C 71 AD +; ----------------------------------------------------------------------------- +; Routine: Sub_ADEE +; Global: Branch target inside Sub: taken when ADEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ADEE: + lda $9BC2,y ; CPU:$ADEE PRG:2DEE B9 C2 9B + sta VramWritePtrLo ; CPU:$ADF1 PRG:2DF1 85 00 + iny ; CPU:$ADF3 PRG:2DF3 C8 + lda $9BC2,y ; CPU:$ADF4 PRG:2DF4 B9 C2 9B + sta VramWritePtrHi ; CPU:$ADF7 PRG:2DF7 85 01 + ldy SpriteIndex ; CPU:$ADF9 PRG:2DF9 A4 5F + jmp (VramWritePtrLo) ; CPU:$ADFB PRG:2DFB 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ADFE +; Global: Branch target inside Label: taken when ADFE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ADFE: + jsr Sub_B1F7 ; CPU:$ADFE PRG:2DFE 20 F7 B1 + jsr Sub_C9C9 ; CPU:$AE01 PRG:2E01 20 C9 C9 + lda $0410,x ; CPU:$AE04 PRG:2E04 BD 10 04 + bne NmiHandler_Loop231 ; CPU:$AE07 PRG:2E07 D0 28 + lda SpriteScore ; CPU:$AE09 PRG:2E09 A5 B6 + cmp #$70 ; CPU:$AE0B PRG:2E0B C9 70 + bcc NmiHandler_Loop231 ; CPU:$AE0D PRG:2E0D 90 22 + jmp Sub_AE15 ; CPU:$AE0F PRG:2E0F 4C 15 AE +; ----------------------------------------------------------------------------- +; Routine: Label_AE12 +; Global: Branch target inside Label: taken when AE12. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AE12: + jsr Sub_B1F7 ; CPU:$AE12 PRG:2E12 20 F7 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_AE15 +; Global: Branch target inside Sub: taken when AE15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE15: + lda GameMode,x ; CPU:$AE15 PRG:2E15 B5 9F + cmp #$01 ; CPU:$AE17 PRG:2E17 C9 01 + bne NmiHandler_Loop231 ; CPU:$AE19 PRG:2E19 D0 16 + ldy GameState,x ; CPU:$AE1B PRG:2E1B B4 C0 + lda Zp94 ; CPU:$AE1D PRG:2E1D A5 94 + clc ; CPU:$AE1F PRG:2E1F 18 + adc $A15F,y ; CPU:$AE20 PRG:2E20 79 5F A1 + cmp Zp8E,x ; CPU:$AE23 PRG:2E23 D5 8E + bcs NmiHandler_Loop231 ; CPU:$AE25 PRG:2E25 B0 0A + lda Zp94 ; CPU:$AE27 PRG:2E27 A5 94 + clc ; CPU:$AE29 PRG:2E29 18 + adc $A161,y ; CPU:$AE2A PRG:2E2A 79 61 A1 + cmp Zp8E,x ; CPU:$AE2D PRG:2E2D D5 8E + bcs NmiHandler_Loop232 ; CPU:$AE2F PRG:2E2F B0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + clc ; CPU:$AE31 PRG:2E31 18 + rts ; CPU:$AE32 PRG:2E32 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop232: + lda #$00 ; CPU:$AE33 PRG:2E33 A9 00 + sta Zp67 ; CPU:$AE35 PRG:2E35 85 67 + lda ZpE5 ; CPU:$AE37 PRG:2E37 A5 E5 + sta EnemyHealth,x ; CPU:$AE39 PRG:2E39 95 DF + ldy GameState,x ; CPU:$AE3B PRG:2E3B B4 C0 + beq NmiHandler_Loop233 ; CPU:$AE3D PRG:2E3D F0 02 + dec EnemyHealth,x ; CPU:$AE3F PRG:2E3F D6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop233: + lda $0373,y ; CPU:$AE41 PRG:2E41 B9 73 03 + sta VramWritePtrHi ; CPU:$AE44 PRG:2E44 85 01 + clc ; CPU:$AE46 PRG:2E46 18 + adc #$01 ; CPU:$AE47 PRG:2E47 69 01 + sta $0373,y ; CPU:$AE49 PRG:2E49 99 73 03 + lda $0375,y ; CPU:$AE4C PRG:2E4C B9 75 03 + sta VramWritePtrLo ; CPU:$AE4F PRG:2E4F 85 00 + asl a ; CPU:$AE51 PRG:2E51 0A + asl a ; CPU:$AE52 PRG:2E52 0A + ora $036D ; CPU:$AE53 PRG:2E53 0D 6D 03 + sta $0375,y ; CPU:$AE56 PRG:2E56 99 75 03 + lda #$05 ; CPU:$AE59 PRG:2E59 A9 05 + sta PlayerY,x ; CPU:$AE5B PRG:2E5B 95 B7 + lda #$04 ; CPU:$AE5D PRG:2E5D A9 04 + ora SpriteTimer,x ; CPU:$AE5F PRG:2E5F 15 80 + sta SpriteTimer,x ; CPU:$AE61 PRG:2E61 95 80 + lda VramWritePtrHi ; CPU:$AE63 PRG:2E63 A5 01 + asl a ; CPU:$AE65 PRG:2E65 0A + ora GameState,x ; CPU:$AE66 PRG:2E66 15 C0 + tay ; CPU:$AE68 PRG:2E68 A8 + lda ZpD4 ; CPU:$AE69 PRG:2E69 A5 D4 + clc ; CPU:$AE6B PRG:2E6B 18 + adc $A157,y ; CPU:$AE6C PRG:2E6C 79 57 A1 + sta ZpCE,x ; CPU:$AE6F PRG:2E6F 95 CE + bcc NmiHandler_Loop234 ; CPU:$AE71 PRG:2E71 90 02 + inc EnemyHealth,x ; CPU:$AE73 PRG:2E73 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop234: + lda EnemyIndex,x ; CPU:$AE75 PRG:2E75 B5 87 + bne NmiHandler_Loop235 ; CPU:$AE77 PRG:2E77 D0 16 + lda VramWritePtrHi ; CPU:$AE79 PRG:2E79 A5 01 + beq NmiHandler_Loop235 ; CPU:$AE7B PRG:2E7B F0 12 + lda VramWritePtrLo ; CPU:$AE7D PRG:2E7D A5 00 + and #$03 ; CPU:$AE7F PRG:2E7F 29 03 + tay ; CPU:$AE81 PRG:2E81 A8 + lda a:EnemyIndex,y ; CPU:$AE82 PRG:2E82 B9 87 00 + bne NmiHandler_Loop235 ; CPU:$AE85 PRG:2E85 D0 08 + lda #$07 ; CPU:$AE87 PRG:2E87 A9 07 + sta PlayerY,x ; CPU:$AE89 PRG:2E89 95 B7 + tya ; CPU:$AE8B PRG:2E8B 98 + tax ; CPU:$AE8C PRG:2E8C AA + inc PlayerY,x ; CPU:$AE8D PRG:2E8D F6 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop235: + sec ; CPU:$AE8F PRG:2E8F 38 + rts ; CPU:$AE90 PRG:2E90 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AE91 +; Global: Branch target inside Label: taken when AE91. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AE91: + lda Zp49 ; CPU:$AE91 PRG:2E91 A5 49 + and #$04 ; CPU:$AE93 PRG:2E93 29 04 + lsr a ; CPU:$AE95 PRG:2E95 4A + sta PlayerY,x ; CPU:$AE96 PRG:2E96 95 B7 + stx VramWritePtrLo ; CPU:$AE98 PRG:2E98 86 00 + lda Zp49 ; CPU:$AE9A PRG:2E9A A5 49 + and #$03 ; CPU:$AE9C PRG:2E9C 29 03 + cmp VramWritePtrLo ; CPU:$AE9E PRG:2E9E C5 00 + beq NmiHandler_Loop235 ; CPU:$AEA0 PRG:2EA0 F0 ED + lda $0444,x ; CPU:$AEA2 PRG:2EA2 BD 44 04 + asl a ; CPU:$AEA5 PRG:2EA5 0A + tay ; CPU:$AEA6 PRG:2EA6 A8 + lda $A176,y ; CPU:$AEA7 PRG:2EA7 B9 76 A1 + sta VramWritePtrLo ; CPU:$AEAA PRG:2EAA 85 00 + iny ; CPU:$AEAC PRG:2EAC C8 + lda $A176,y ; CPU:$AEAD PRG:2EAD B9 76 A1 + sta VramWritePtrHi ; CPU:$AEB0 PRG:2EB0 85 01 + jmp (VramWritePtrLo) ; CPU:$AEB2 PRG:2EB2 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AEB5 +; Global: Branch target inside Label: taken when AEB5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AEB5: + lda Zp2B,x ; CPU:$AEB5 PRG:2EB5 B5 2B + bne NmiHandler_Loop239 ; CPU:$AEB7 PRG:2EB7 D0 2C + lda #$01 ; CPU:$AEB9 PRG:2EB9 A9 01 + sta SpriteTimer,x ; CPU:$AEBB PRG:2EBB 95 80 + bne NmiHandler_Loop236 ; CPU:$AEBD PRG:2EBD D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEBF +; Global: Branch target inside Sub: taken when AEBF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEBF: + lda Zp18,x ; CPU:$AEBF PRG:2EBF B5 18 + and #$03 ; CPU:$AEC1 PRG:2EC1 29 03 + bne NmiHandler_Loop237 ; CPU:$AEC3 PRG:2EC3 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + lda #$02 ; CPU:$AEC5 PRG:2EC5 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + sta $0444,x ; CPU:$AEC7 PRG:2EC7 9D 44 04 + lda Zp18,x ; CPU:$AECA PRG:2ECA B5 18 + and #$18 ; CPU:$AECC PRG:2ECC 29 18 + bne NmiHandler_Loop238 ; CPU:$AECE PRG:2ECE D0 02 + lda #$18 ; CPU:$AED0 PRG:2ED0 A9 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + sta Zp3F,x ; CPU:$AED2 PRG:2ED2 95 3F + lda #$00 ; CPU:$AED4 PRG:2ED4 A9 00 + sta $045A,x ; CPU:$AED6 PRG:2ED6 9D 5A 04 + sta $0460,x ; CPU:$AED9 PRG:2ED9 9D 60 04 + lda PlayerX,x ; CPU:$AEDC PRG:2EDC B5 B0 + cmp #$98 ; CPU:$AEDE PRG:2EDE C9 98 + bcc NmiHandler_Loop239 ; CPU:$AEE0 PRG:2EE0 90 03 + inc $0460,x ; CPU:$AEE2 PRG:2EE2 FE 60 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + rts ; CPU:$AEE5 PRG:2EE5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AEE6 +; Global: Branch target inside Label: taken when AEE6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AEE6: + ldy $0454,x ; CPU:$AEE6 PRG:2EE6 BC 54 04 + lda $A1D0,y ; CPU:$AEE9 PRG:2EE9 B9 D0 A1 + jsr NmiHandler_Loop286 ; CPU:$AEEC PRG:2EEC 20 1A B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEEF +; Global: Branch target inside Sub: taken when AEEF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEEF: + lda $0466,x ; CPU:$AEEF PRG:2EEF BD 66 04 + clc ; CPU:$AEF2 PRG:2EF2 18 + adc Zp0A ; CPU:$AEF3 PRG:2EF3 65 0A + cmp #$18 ; CPU:$AEF5 PRG:2EF5 C9 18 + bcc NmiHandler_Loop240 ; CPU:$AEF7 PRG:2EF7 90 08 + lda $044A,x ; CPU:$AEF9 PRG:2EF9 BD 4A 04 + eor #$01 ; CPU:$AEFC PRG:2EFC 49 01 + sta $044A,x ; CPU:$AEFE PRG:2EFE 9D 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: + sta $0466,x ; CPU:$AF01 PRG:2F01 9D 66 04 + ldy $0454,x ; CPU:$AF04 PRG:2F04 BC 54 04 + lda $A1D7,y ; CPU:$AF07 PRG:2F07 B9 D7 A1 + sta VramWritePtrLo ; CPU:$AF0A PRG:2F0A 85 00 + sta VramWritePtrHi ; CPU:$AF0C PRG:2F0C 85 01 + lda $0444,x ; CPU:$AF0E PRG:2F0E BD 44 04 + cmp #$02 ; CPU:$AF11 PRG:2F11 C9 02 + beq NmiHandler_Loop241 ; CPU:$AF13 PRG:2F13 F0 05 + lda $A1DE,y ; CPU:$AF15 PRG:2F15 B9 DE A1 + sta VramWritePtrLo ; CPU:$AF18 PRG:2F18 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + ldy $0444,x ; CPU:$AF1A PRG:2F1A BC 44 04 + dey ; CPU:$AF1D PRG:2F1D 88 + beq NmiHandler_Loop244 ; CPU:$AF1E PRG:2F1E F0 36 + lda $045A,x ; CPU:$AF20 PRG:2F20 BD 5A 04 + clc ; CPU:$AF23 PRG:2F23 18 + adc Zp0A ; CPU:$AF24 PRG:2F24 65 0A + cmp $A1CD,y ; CPU:$AF26 PRG:2F26 D9 CD A1 + bcc NmiHandler_Loop243 ; CPU:$AF29 PRG:2F29 90 13 + lda $0478,x ; CPU:$AF2B PRG:2F2B BD 78 04 + bne NmiHandler_Loop242 ; CPU:$AF2E PRG:2F2E D0 06 + inc $0478,x ; CPU:$AF30 PRG:2F30 FE 78 04 + jmp Sub_AEBF ; CPU:$AF33 PRG:2F33 4C BF AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + lda $0460,x ; CPU:$AF36 PRG:2F36 BD 60 04 + eor #$01 ; CPU:$AF39 PRG:2F39 49 01 + sta $0460,x ; CPU:$AF3B PRG:2F3B 9D 60 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + sta $045A,x ; CPU:$AF3E PRG:2F3E 9D 5A 04 + ldy #$00 ; CPU:$AF41 PRG:2F41 A0 00 + lda VramWritePtrLo ; CPU:$AF43 PRG:2F43 A5 00 + clc ; CPU:$AF45 PRG:2F45 18 + adc $0480,x ; CPU:$AF46 PRG:2F46 7D 80 04 + sta $0480,x ; CPU:$AF49 PRG:2F49 9D 80 04 + bcc NmiHandler_Loop244 ; CPU:$AF4C PRG:2F4C 90 08 + iny ; CPU:$AF4E PRG:2F4E C8 + lda $0460,x ; CPU:$AF4F PRG:2F4F BD 60 04 + beq NmiHandler_Loop244 ; CPU:$AF52 PRG:2F52 F0 02 + dey ; CPU:$AF54 PRG:2F54 88 + dey ; CPU:$AF55 PRG:2F55 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop244: + lda VramWritePtrHi ; CPU:$AF56 PRG:2F56 A5 01 + lsr a ; CPU:$AF58 PRG:2F58 4A + jsr Sub_AFFE ; CPU:$AF59 PRG:2F59 20 FE AF + ldy #$00 ; CPU:$AF5C PRG:2F5C A0 00 + lda PlayerX,x ; CPU:$AF5E PRG:2F5E B5 B0 + cmp #$6C ; CPU:$AF60 PRG:2F60 C9 6C + bcc NmiHandler_Loop245 ; CPU:$AF62 PRG:2F62 90 05 + iny ; CPU:$AF64 PRG:2F64 C8 + cmp #$B4 ; CPU:$AF65 PRG:2F65 C9 B4 + bcc NmiHandler_Loop246 ; CPU:$AF67 PRG:2F67 90 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + tya ; CPU:$AF69 PRG:2F69 98 + sta $045A,x ; CPU:$AF6A PRG:2F6A 9D 5A 04 + sta $0460,x ; CPU:$AF6D PRG:2F6D 9D 60 04 + sta $044A,x ; CPU:$AF70 PRG:2F70 9D 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + lda $0444,x ; CPU:$AF73 PRG:2F73 BD 44 04 + cmp #$04 ; CPU:$AF76 PRG:2F76 C9 04 + bcs NmiHandler_Loop247 ; CPU:$AF78 PRG:2F78 B0 16 + lda Zp3F,x ; CPU:$AF7A PRG:2F7A B5 3F + bne NmiHandler_Loop248 ; CPU:$AF7C PRG:2F7C D0 13 + lda Zp18,x ; CPU:$AF7E PRG:2F7E B5 18 + cmp #$E0 ; CPU:$AF80 PRG:2F80 C9 E0 + bcc NmiHandler_Loop248 ; CPU:$AF82 PRG:2F82 90 0D + cmp #$F0 ; CPU:$AF84 PRG:2F84 C9 F0 + bcs NmiHandler_Loop250 ; CPU:$AF86 PRG:2F86 B0 27 + lda #$06 ; CPU:$AF88 PRG:2F88 A9 06 + sta $0444,x ; CPU:$AF8A PRG:2F8A 9D 44 04 + asl a ; CPU:$AF8D PRG:2F8D 0A + sta Zp3F,x ; CPU:$AF8E PRG:2F8E 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + rts ; CPU:$AF90 PRG:2F90 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + lda EnemyHealth,x ; CPU:$AF91 PRG:2F91 B5 DF + beq NmiHandler_Loop249 ; CPU:$AF93 PRG:2F93 F0 10 + cmp #$03 ; CPU:$AF95 PRG:2F95 C9 03 + bne NmiHandler_Loop252 ; CPU:$AF97 PRG:2F97 D0 2D + lda GameState,x ; CPU:$AF99 PRG:2F99 B5 C0 + beq NmiHandler_Loop252 ; CPU:$AF9B PRG:2F9B F0 29 + lda ZpCE,x ; CPU:$AF9D PRG:2F9D B5 CE + cmp #$E0 ; CPU:$AF9F PRG:2F9F C9 E0 + bcs NmiHandler_Loop250 ; CPU:$AFA1 PRG:2FA1 B0 0C + bcc NmiHandler_Loop252 ; CPU:$AFA3 PRG:2FA3 90 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + lda GameState,x ; CPU:$AFA5 PRG:2FA5 B5 C0 + bne NmiHandler_Loop252 ; CPU:$AFA7 PRG:2FA7 D0 1D + lda ZpCE,x ; CPU:$AFA9 PRG:2FA9 B5 CE + cmp #$40 ; CPU:$AFAB PRG:2FAB C9 40 + bcs NmiHandler_Loop252 ; CPU:$AFAD PRG:2FAD B0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop250: + ldy #$00 ; CPU:$AFAF PRG:2FAF A0 00 + lda PlayerX,x ; CPU:$AFB1 PRG:2FB1 B5 B0 + cmp #$90 ; CPU:$AFB3 PRG:2FB3 C9 90 + bcc NmiHandler_Loop251 ; CPU:$AFB5 PRG:2FB5 90 01 + iny ; CPU:$AFB7 PRG:2FB7 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + tya ; CPU:$AFB8 PRG:2FB8 98 + sta $044A,x ; CPU:$AFB9 PRG:2FB9 9D 4A 04 + lda #$04 ; CPU:$AFBC PRG:2FBC A9 04 + sta $0444,x ; CPU:$AFBE PRG:2FBE 9D 44 04 + lda #$FF ; CPU:$AFC1 PRG:2FC1 A9 FF + sta $0472,x ; CPU:$AFC3 PRG:2FC3 9D 72 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop252: + rts ; CPU:$AFC6 PRG:2FC6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AFC7 +; Global: Branch target inside Label: taken when AFC7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFC7: + lda #$0A ; CPU:$AFC7 PRG:2FC7 A9 0A + clc ; CPU:$AFC9 PRG:2FC9 18 + adc $0472,x ; CPU:$AFCA PRG:2FCA 7D 72 04 + sta $0472,x ; CPU:$AFCD PRG:2FCD 9D 72 04 + bcs NmiHandler_Loop253 ; CPU:$AFD0 PRG:2FD0 B0 0D + bcc NmiHandler_Loop255 ; CPU:$AFD2 PRG:2FD2 90 21 + lda $0472,x ; CPU:$AFD4 PRG:2FD4 BD 72 04 + sec ; CPU:$AFD7 PRG:2FD7 38 + sbc #$0A ; CPU:$AFD8 PRG:2FD8 E9 0A + sta $0472,x ; CPU:$AFDA PRG:2FDA 9D 72 04 + bcs NmiHandler_Loop255 ; CPU:$AFDD PRG:2FDD B0 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + lda #$05 ; CPU:$AFDF PRG:2FDF A9 05 + cmp $0444,x ; CPU:$AFE1 PRG:2FE1 DD 44 04 + bne NmiHandler_Loop254 ; CPU:$AFE4 PRG:2FE4 D0 03 + jmp Sub_AEBF ; CPU:$AFE6 PRG:2FE6 4C BF AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + sta $0444,x ; CPU:$AFE9 PRG:2FE9 9D 44 04 + lda GameState,x ; CPU:$AFEC PRG:2FEC B5 C0 + eor #$01 ; CPU:$AFEE PRG:2FEE 49 01 + sta GameState,x ; CPU:$AFF0 PRG:2FF0 95 C0 + sta $0472,x ; CPU:$AFF2 PRG:2FF2 9D 72 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + ldy #$00 ; CPU:$AFF5 PRG:2FF5 A0 00 + jsr Sub_B21C ; CPU:$AFF7 PRG:2FF7 20 1C B2 + ldy #$00 ; CPU:$AFFA PRG:2FFA A0 00 + lda #$C0 ; CPU:$AFFC PRG:2FFC A9 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_AFFE +; Global: Branch target inside Sub: taken when AFFE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AFFE: + clc ; CPU:$AFFE PRG:2FFE 18 + adc $046C,x ; CPU:$AFFF PRG:2FFF 7D 6C 04 + sta $046C,x ; CPU:$B002 PRG:3002 9D 6C 04 + bcc NmiHandler_Loop256 ; CPU:$B005 PRG:3005 90 08 + iny ; CPU:$B007 PRG:3007 C8 + lda $044A,x ; CPU:$B008 PRG:3008 BD 4A 04 + beq NmiHandler_Loop256 ; CPU:$B00B PRG:300B F0 02 + dey ; CPU:$B00D PRG:300D 88 + dey ; CPU:$B00E PRG:300E 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + jmp NmiHandler_Loop291 ; CPU:$B00F PRG:300F 4C 53 B2 +; ----------------------------------------------------------------------------- +; Routine: Label_B012 +; Global: Branch target inside Label: taken when B012. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B012: + lda Zp3F,x ; CPU:$B012 PRG:3012 B5 3F + beq NmiHandler_Loop257 ; CPU:$B014 PRG:3014 F0 15 + lda $0460,x ; CPU:$B016 PRG:3016 BD 60 04 + sta DispatchPtrHi ; CPU:$B019 PRG:3019 85 03 + lda Zp49 ; CPU:$B01B PRG:301B A5 49 + and #$02 ; CPU:$B01D PRG:301D 29 02 + sta Zp0A ; CPU:$B01F PRG:301F 85 0A + jsr Sub_AEEF ; CPU:$B021 PRG:3021 20 EF AE + lda $0460,x ; CPU:$B024 PRG:3024 BD 60 04 + cmp DispatchPtrHi ; CPU:$B027 PRG:3027 C5 03 + beq NmiHandler_Loop261 ; CPU:$B029 PRG:3029 F0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + jmp Sub_AEBF ; CPU:$B02B PRG:302B 4C BF AE +; ----------------------------------------------------------------------------- +; Routine: Label_B02E +; Global: Branch target inside Label: taken when B02E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B02E: + jsr NmiHandler_Loop285 ; CPU:$B02E PRG:302E 20 18 B2 + lda GameState,x ; CPU:$B031 PRG:3031 B5 C0 + beq NmiHandler_Loop258 ; CPU:$B033 PRG:3033 F0 10 + lda $04FB,x ; CPU:$B035 PRG:3035 BD FB 04 + cmp EnemyHealth,x ; CPU:$B038 PRG:3038 D5 DF + bne NmiHandler_Loop260 ; CPU:$B03A PRG:303A D0 21 + lda $04F6,x ; CPU:$B03C PRG:303C BD F6 04 + cmp ZpCE,x ; CPU:$B03F PRG:303F D5 CE + bcc NmiHandler_Loop259 ; CPU:$B041 PRG:3041 90 10 + bcs NmiHandler_Loop260 ; CPU:$B043 PRG:3043 B0 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + lda $04FB,x ; CPU:$B045 PRG:3045 BD FB 04 + cmp EnemyHealth,x ; CPU:$B048 PRG:3048 D5 DF + bne NmiHandler_Loop260 ; CPU:$B04A PRG:304A D0 11 + lda $04F6,x ; CPU:$B04C PRG:304C BD F6 04 + cmp ZpCE,x ; CPU:$B04F PRG:304F D5 CE + bcs NmiHandler_Loop260 ; CPU:$B051 PRG:3051 B0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + lda #$01 ; CPU:$B053 PRG:3053 A9 01 + sta ZpFF ; CPU:$B055 PRG:3055 85 FF + jsr Sub_B8E1 ; CPU:$B057 PRG:3057 20 E1 B8 + jmp Sub_B257 ; CPU:$B05A PRG:305A 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + lda Zp49 ; CPU:$B05D PRG:305D A5 49 + and #$03 ; CPU:$B05F PRG:305F 29 03 + bne NmiHandler_Loop261 ; CPU:$B061 PRG:3061 D0 06 + lda PlayerY,x ; CPU:$B063 PRG:3063 B5 B7 + eor #$02 ; CPU:$B065 PRG:3065 49 02 + sta PlayerY,x ; CPU:$B067 PRG:3067 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + rts ; CPU:$B069 PRG:3069 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B06A +; Global: Branch target inside Label: taken when B06A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B06A: + lda $0478,x ; CPU:$B06A PRG:306A BD 78 04 + bne NmiHandler_Loop262 ; CPU:$B06D PRG:306D D0 0E + jsr Sub_B245 ; CPU:$B06F PRG:306F 20 45 B2 + cmp #$78 ; CPU:$B072 PRG:3072 C9 78 + bcc NmiHandler_Loop261 ; CPU:$B074 PRG:3074 90 F3 + lda #$10 ; CPU:$B076 PRG:3076 A9 10 + sta Zp3F,x ; CPU:$B078 PRG:3078 95 3F + inc $0478,x ; CPU:$B07A PRG:307A FE 78 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + lda Zp3F,x ; CPU:$B07D PRG:307D B5 3F + bne NmiHandler_Loop264 ; CPU:$B07F PRG:307F D0 3A + lda #$01 ; CPU:$B081 PRG:3081 A9 01 + sta ZpFF ; CPU:$B083 PRG:3083 85 FF + ldy #$02 ; CPU:$B085 PRG:3085 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative22 +; Global: Branch target inside NmiHandler: taken when OnNonnegative22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative22: + lda EnemyHealth,x ; CPU:$B087 PRG:3087 B5 DF + sta VramWritePtrLo ; CPU:$B089 PRG:3089 85 00 + lda ZpCE,x ; CPU:$B08B PRG:308B B5 CE + sec ; CPU:$B08D PRG:308D 38 + sbc #$04 ; CPU:$B08E PRG:308E E9 04 + sta a:ZpD9,y ; CPU:$B090 PRG:3090 99 D9 00 + bcs NmiHandler_Loop263 ; CPU:$B093 PRG:3093 B0 02 + dec VramWritePtrLo ; CPU:$B095 PRG:3095 C6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + lda VramWritePtrLo ; CPU:$B097 PRG:3097 A5 00 + sta a:ZpEA,y ; CPU:$B099 PRG:3099 99 EA 00 + lda PlayerX,x ; CPU:$B09C PRG:309C B5 B0 + sta $0421,y ; CPU:$B09E PRG:309E 99 21 04 + lda #$01 ; CPU:$B0A1 PRG:30A1 A9 01 + sta $0430,y ; CPU:$B0A3 PRG:30A3 99 30 04 + lda $A29F,y ; CPU:$B0A6 PRG:30A6 B9 9F A2 + sta $0424,y ; CPU:$B0A9 PRG:30A9 99 24 04 + lda $A2A2,y ; CPU:$B0AC PRG:30AC B9 A2 A2 + sta $0427,y ; CPU:$B0AF PRG:30AF 99 27 04 + dey ; CPU:$B0B2 PRG:30B2 88 + bpl NmiHandler_OnNonnegative22 ; CPU:$B0B3 PRG:30B3 10 D2 + jsr Sub_B8E1 ; CPU:$B0B5 PRG:30B5 20 E1 B8 + jmp Sub_B257 ; CPU:$B0B8 PRG:30B8 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + lda $03FC,x ; CPU:$B0BB PRG:30BB BD FC 03 + bne NmiHandler_Loop266 ; CPU:$B0BE PRG:30BE D0 1C + lda #$03 ; CPU:$B0C0 PRG:30C0 A9 03 + sta $03FC,x ; CPU:$B0C2 PRG:30C2 9D FC 03 + lda Zp19,x ; CPU:$B0C5 PRG:30C5 B5 19 + and #$10 ; CPU:$B0C7 PRG:30C7 29 10 + sta VramWritePtrLo ; CPU:$B0C9 PRG:30C9 85 00 + lda GameState,x ; CPU:$B0CB PRG:30CB B5 C0 + and #$10 ; CPU:$B0CD PRG:30CD 29 10 + bne NmiHandler_Loop265 ; CPU:$B0CF PRG:30CF D0 06 + lda VramWritePtrLo ; CPU:$B0D1 PRG:30D1 A5 00 + ora #$20 ; CPU:$B0D3 PRG:30D3 09 20 + sta VramWritePtrLo ; CPU:$B0D5 PRG:30D5 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + lda VramWritePtrLo ; CPU:$B0D7 PRG:30D7 A5 00 + jmp Sub_B0E2 ; CPU:$B0D9 PRG:30D9 4C E2 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + cmp #$01 ; CPU:$B0DC PRG:30DC C9 01 + bne NmiHandler_Loop267 ; CPU:$B0DE PRG:30DE D0 06 + lda #$01 ; CPU:$B0E0 PRG:30E0 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_B0E2 +; Global: Branch target inside Sub: taken when B0E2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B0E2: + eor GameState,x ; CPU:$B0E2 PRG:30E2 55 C0 + sta GameState,x ; CPU:$B0E4 PRG:30E4 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + ldy #$01 ; CPU:$B0E6 PRG:30E6 A0 01 + lda GameState,x ; CPU:$B0E8 PRG:30E8 B5 C0 + and #$10 ; CPU:$B0EA PRG:30EA 29 10 + bne NmiHandler_Loop269 ; CPU:$B0EC PRG:30EC D0 0C + lda GameState,x ; CPU:$B0EE PRG:30EE B5 C0 + and #$20 ; CPU:$B0F0 PRG:30F0 29 20 + bne NmiHandler_Loop268 ; CPU:$B0F2 PRG:30F2 D0 02 + ldy #$FF ; CPU:$B0F4 PRG:30F4 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + tya ; CPU:$B0F6 PRG:30F6 98 + jsr Sub_C7B3 ; CPU:$B0F7 PRG:30F7 20 B3 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + ldy #$01 ; CPU:$B0FA PRG:30FA A0 01 + lda $03FC,x ; CPU:$B0FC PRG:30FC BD FC 03 + lsr a ; CPU:$B0FF PRG:30FF 4A + eor GameState,x ; CPU:$B100 PRG:3100 55 C0 + and #$01 ; CPU:$B102 PRG:3102 29 01 + beq NmiHandler_Loop270 ; CPU:$B104 PRG:3104 F0 02 + ldy #$FF ; CPU:$B106 PRG:3106 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + tya ; CPU:$B108 PRG:3108 98 + jsr Sub_B234 ; CPU:$B109 PRG:3109 20 34 B2 + lda #$00 ; CPU:$B10C PRG:310C A9 00 + dec $03FC,x ; CPU:$B10E PRG:310E DE FC 03 + bpl NmiHandler_Loop271 ; CPU:$B111 PRG:3111 10 03 + sta $03FC,x ; CPU:$B113 PRG:3113 9D FC 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + rts ; CPU:$B116 PRG:3116 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B117 +; Global: Branch target inside Label: taken when B117. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B117: + ldy $04B8,x ; CPU:$B117 PRG:3117 BC B8 04 + lda Zp3F,x ; CPU:$B11A PRG:311A B5 3F + ora Zp2B,x ; CPU:$B11C PRG:311C 15 2B + bne NmiHandler_Loop274 ; CPU:$B11E PRG:311E D0 23 + lda ZpC7,x ; CPU:$B120 PRG:3120 B5 C7 + beq NmiHandler_Loop275 ; CPU:$B122 PRG:3122 F0 32 + lda #$05 ; CPU:$B124 PRG:3124 A9 05 + sta Zp2B,x ; CPU:$B126 PRG:3126 95 2B + cpy #$06 ; CPU:$B128 PRG:3128 C0 06 + beq NmiHandler_Loop272 ; CPU:$B12A PRG:312A F0 07 + cpy #$05 ; CPU:$B12C PRG:312C C0 05 + beq NmiHandler_Loop276 ; CPU:$B12E PRG:312E F0 2C + jmp Sub_B171 ; CPU:$B130 PRG:3130 4C 71 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + dec ZpC7,x ; CPU:$B133 PRG:3133 D6 C7 + lda ZpC7,x ; CPU:$B135 PRG:3135 B5 C7 + beq NmiHandler_Loop273 ; CPU:$B137 PRG:3137 F0 07 + cmp #$04 ; CPU:$B139 PRG:3139 C9 04 + bne NmiHandler_Loop278 ; CPU:$B13B PRG:313B D0 33 + jmp Sub_B1DD ; CPU:$B13D PRG:313D 4C DD B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + jmp Sub_B257 ; CPU:$B140 PRG:3140 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + cpy #$06 ; CPU:$B143 PRG:3143 C0 06 + beq NmiHandler_Loop278 ; CPU:$B145 PRG:3145 F0 29 + lda $04A0,x ; CPU:$B147 PRG:3147 BD A0 04 + bpl NmiHandler_Loop278 ; CPU:$B14A PRG:314A 10 24 + cpy #$03 ; CPU:$B14C PRG:314C C0 03 + bne NmiHandler_Loop278 ; CPU:$B14E PRG:314E D0 20 + lda #$00 ; CPU:$B150 PRG:3150 A9 00 + sta Zp3F,x ; CPU:$B152 PRG:3152 95 3F + beq NmiHandler_Loop279 ; CPU:$B154 PRG:3154 F0 2A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + lda $A1E5,y ; CPU:$B156 PRG:3156 B9 E5 A1 + sta ZpC7,x ; CPU:$B159 PRG:3159 95 C7 + rts ; CPU:$B15B PRG:315B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + dec ZpC7,x ; CPU:$B15C PRG:315C D6 C7 + lda ZpC7,x ; CPU:$B15E PRG:315E B5 C7 + beq NmiHandler_Loop277 ; CPU:$B160 PRG:3160 F0 05 + cmp #$03 ; CPU:$B162 PRG:3162 C9 03 + beq NmiHandler_Loop280 ; CPU:$B164 PRG:3164 F0 4F + rts ; CPU:$B166 PRG:3166 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + lda #$03 ; CPU:$B167 PRG:3167 A9 03 + sta $04B8,x ; CPU:$B169 PRG:3169 9D B8 04 + lda #$02 ; CPU:$B16C PRG:316C A9 02 + sta Zp3F,x ; CPU:$B16E PRG:316E 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + rts ; CPU:$B170 PRG:3170 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B171 +; Global: Branch target inside Sub: taken when B171. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B171: + ldy ZpC7,x ; CPU:$B171 PRG:3171 B4 C7 + lda $A23A,y ; CPU:$B173 PRG:3173 B9 3A A2 + sta Zp2B,x ; CPU:$B176 PRG:3176 95 2B + dec ZpC7,x ; CPU:$B178 PRG:3178 D6 C7 + bne NmiHandler_OnCarryClear4 ; CPU:$B17A PRG:317A D0 0D + lda #$03 ; CPU:$B17C PRG:317C A9 03 + sta Zp3F,x ; CPU:$B17E PRG:317E 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + lda #$06 ; CPU:$B180 PRG:3180 A9 06 + sta $04B8,x ; CPU:$B182 PRG:3182 9D B8 04 + lda #$00 ; CPU:$B185 PRG:3185 A9 00 + sta ZpC7,x ; CPU:$B187 PRG:3187 95 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + rts ; CPU:$B189 PRG:3189 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B18A +; Global: Branch target inside Label: taken when B18A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B18A: + jsr Sub_B245 ; CPU:$B18A PRG:318A 20 45 B2 + cmp #$AA ; CPU:$B18D PRG:318D C9 AA + bcc NmiHandler_OnCarryClear4 ; CPU:$B18F PRG:318F 90 F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B191 +; Global: Branch target inside Sub: taken when B191. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B191: + lda #$01 ; CPU:$B191 PRG:3191 A9 01 + sta ZpFF ; CPU:$B193 PRG:3193 85 FF + lsr a ; CPU:$B195 PRG:3195 4A + sta PlayerY,x ; CPU:$B196 PRG:3196 95 B7 + lda #$0E ; CPU:$B198 PRG:3198 A9 0E + sta EnemyIndex,x ; CPU:$B19A PRG:319A 95 87 + lsr a ; CPU:$B19C PRG:319C 4A + sta ZpC7,x ; CPU:$B19D PRG:319D 95 C7 + lda #$05 ; CPU:$B19F PRG:319F A9 05 + sta $04B8,x ; CPU:$B1A1 PRG:31A1 9D B8 04 + lda #$89 ; CPU:$B1A4 PRG:31A4 A9 89 + bne NmiHandler_Loop282 ; CPU:$B1A6 PRG:31A6 D0 33 + lda $0478,x ; CPU:$B1A8 PRG:31A8 BD 78 04 + beq NmiHandler_Loop281 ; CPU:$B1AB PRG:31AB F0 14 + lda Zp2B,x ; CPU:$B1AD PRG:31AD B5 2B + bne NmiHandler_Loop283 ; CPU:$B1AF PRG:31AF D0 32 + sta ZpC7,x ; CPU:$B1B1 PRG:31B1 95 C7 + inc EnemyIndex,x ; CPU:$B1B3 PRG:31B3 F6 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + lda SpriteTimer,x ; CPU:$B1B5 PRG:31B5 B5 80 + and #$F7 ; CPU:$B1B7 PRG:31B7 29 F7 + sta SpriteTimer,x ; CPU:$B1B9 PRG:31B9 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero31: + lda $04EA,x ; CPU:$B1BB PRG:31BB BD EA 04 + sta GameState,x ; CPU:$B1BE PRG:31BE 95 C0 + rts ; CPU:$B1C0 PRG:31C0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + jsr Sub_B245 ; CPU:$B1C1 PRG:31C1 20 45 B2 + cmp #$AA ; CPU:$B1C4 PRG:31C4 C9 AA + bcc NmiHandler_Loop283 ; CPU:$B1C6 PRG:31C6 90 1B + lda #$02 ; CPU:$B1C8 PRG:31C8 A9 02 + sta ZpFF ; CPU:$B1CA PRG:31CA 85 FF + lsr a ; CPU:$B1CC PRG:31CC 4A + sta ZpC7,x ; CPU:$B1CD PRG:31CD 95 C7 + sta $04B8,x ; CPU:$B1CF PRG:31CF 9D B8 04 + sta $0478,x ; CPU:$B1D2 PRG:31D2 9D 78 04 + lda #$0E ; CPU:$B1D5 PRG:31D5 A9 0E + sta Zp2B,x ; CPU:$B1D7 PRG:31D7 95 2B + lda #$A8 ; CPU:$B1D9 PRG:31D9 A9 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + sta PlayerX,x ; CPU:$B1DB PRG:31DB 95 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1DD +; Global: Branch target inside Sub: taken when B1DD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1DD: + lda SpriteTimer,x ; CPU:$B1DD PRG:31DD B5 80 + ora #$08 ; CPU:$B1DF PRG:31DF 09 08 + sta SpriteTimer,x ; CPU:$B1E1 PRG:31E1 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + rts ; CPU:$B1E3 PRG:31E3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1E4 +; Global: Branch target inside Sub: taken when B1E4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1E4: + lda #$10 ; CPU:$B1E4 PRG:31E4 A9 10 + sta EnemyIndex,x ; CPU:$B1E6 PRG:31E6 95 87 + bne NmiHandler_OnNonzero31 ; CPU:$B1E8 PRG:31E8 D0 D1 + lda Zp49 ; CPU:$B1EA PRG:31EA A5 49 + lsr a ; CPU:$B1EC PRG:31EC 4A + lsr a ; CPU:$B1ED PRG:31ED 4A + lsr a ; CPU:$B1EE PRG:31EE 4A + and #$01 ; CPU:$B1EF PRG:31EF 29 01 + sta PlayerY,x ; CPU:$B1F1 PRG:31F1 95 B7 + lda #$A9 ; CPU:$B1F3 PRG:31F3 A9 A9 + bne NmiHandler_Loop286 ; CPU:$B1F5 PRG:31F5 D0 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1F7 +; Global: Branch target inside Sub: taken when B1F7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1F7: + lda GameMode,x ; CPU:$B1F7 PRG:31F7 B5 9F + cmp #$01 ; CPU:$B1F9 PRG:31F9 C9 01 + bne NmiHandler_Loop284 ; CPU:$B1FB PRG:31FB D0 0D + lda $04DC,x ; CPU:$B1FD PRG:31FD BD DC 04 + cmp #$40 ; CPU:$B200 PRG:3200 C9 40 + bcs NmiHandler_Loop284 ; CPU:$B202 PRG:3202 B0 06 + lda PlayerY,x ; CPU:$B204 PRG:3204 B5 B7 + ora #$02 ; CPU:$B206 PRG:3206 09 02 + sta PlayerY,x ; CPU:$B208 PRG:3208 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + lda Zp2B,x ; CPU:$B20A PRG:320A B5 2B + bne NmiHandler_Loop285 ; CPU:$B20C PRG:320C D0 0A + lda #$06 ; CPU:$B20E PRG:320E A9 06 + sta Zp2B,x ; CPU:$B210 PRG:3210 95 2B + lda PlayerY,x ; CPU:$B212 PRG:3212 B5 B7 + eor #$01 ; CPU:$B214 PRG:3214 49 01 + sta PlayerY,x ; CPU:$B216 PRG:3216 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + lda #$88 ; CPU:$B218 PRG:3218 A9 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + ldy #$01 ; CPU:$B21A PRG:321A A0 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_B21C +; Global: Branch target inside Sub: taken when B21C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B21C: + clc ; CPU:$B21C PRG:321C 18 + adc $0498,x ; CPU:$B21D PRG:321D 7D 98 04 + sta $0498,x ; CPU:$B220 PRG:3220 9D 98 04 + bcc NmiHandler_Loop287 ; CPU:$B223 PRG:3223 90 01 + iny ; CPU:$B225 PRG:3225 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + sty Zp0A ; CPU:$B226 PRG:3226 84 0A + sty Zp6E ; CPU:$B228 PRG:3228 84 6E + lda GameState,x ; CPU:$B22A PRG:322A B5 C0 + bne NmiHandler_Loop288 ; CPU:$B22C PRG:322C D0 05 + tya ; CPU:$B22E PRG:322E 98 + eor #$FF ; CPU:$B22F PRG:322F 49 FF + tay ; CPU:$B231 PRG:3231 A8 + iny ; CPU:$B232 PRG:3232 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + tya ; CPU:$B233 PRG:3233 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_B234 +; Global: Branch target inside Sub: taken when B234. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B234: + cmp #$00 ; CPU:$B234 PRG:3234 C9 00 + bpl NmiHandler_Loop289 ; CPU:$B236 PRG:3236 10 02 + dec EnemyHealth,x ; CPU:$B238 PRG:3238 D6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + clc ; CPU:$B23A PRG:323A 18 + adc ZpCE,x ; CPU:$B23B PRG:323B 75 CE + sta ZpCE,x ; CPU:$B23D PRG:323D 95 CE + bcc NmiHandler_Loop290 ; CPU:$B23F PRG:323F 90 02 + inc EnemyHealth,x ; CPU:$B241 PRG:3241 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + clc ; CPU:$B243 PRG:3243 18 + rts ; CPU:$B244 PRG:3244 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B245 +; Global: Branch target inside Sub: taken when B245. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B245: + ldy #$01 ; CPU:$B245 PRG:3245 A0 01 + lda #$FF ; CPU:$B247 PRG:3247 A9 FF + clc ; CPU:$B249 PRG:3249 18 + adc $0480,x ; CPU:$B24A PRG:324A 7D 80 04 + sta $0480,x ; CPU:$B24D PRG:324D 9D 80 04 + bcc NmiHandler_Loop291 ; CPU:$B250 PRG:3250 90 01 + iny ; CPU:$B252 PRG:3252 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + tya ; CPU:$B253 PRG:3253 98 + jmp Sub_C7B3 ; CPU:$B254 PRG:3254 4C B3 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_B257 +; Global: Branch target inside Sub: taken when B257. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B257: + cpx #$05 ; CPU:$B257 PRG:3257 E0 05 + bcc NmiHandler_Loop294 ; CPU:$B259 PRG:3259 90 2F + bne NmiHandler_Loop292 ; CPU:$B25B PRG:325B D0 0A + lda #$00 ; CPU:$B25D PRG:325D A9 00 + sta ZpD3 ; CPU:$B25F PRG:325F 85 D3 + sta ZpE4 ; CPU:$B261 PRG:3261 85 E4 + sta Zp7E ; CPU:$B263 PRG:3263 85 7E + beq NmiHandler_Loop295 ; CPU:$B265 PRG:3265 F0 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + lda $0537 ; CPU:$B267 PRG:3267 AD 37 05 + beq NmiHandler_Loop293 ; CPU:$B26A PRG:326A F0 03 + jmp NmiHandler_Loop52 ; CPU:$B26C PRG:326C 4C 6A 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop293: + jsr Sub_8DF4 ; CPU:$B26F PRG:326F 20 F4 8D + ldx #$06 ; CPU:$B272 PRG:3272 A2 06 + lda #$10 ; CPU:$B274 PRG:3274 A9 10 + sta Zp36 ; CPU:$B276 PRG:3276 85 36 + sta $0388 ; CPU:$B278 PRG:3278 8D 88 03 + lda #$00 ; CPU:$B27B PRG:327B A9 00 + sta Zp64 ; CPU:$B27D PRG:327D 85 64 + sta Zp62 ; CPU:$B27F PRG:327F 85 62 + lda $0368 ; CPU:$B281 PRG:3281 AD 68 03 + beq NmiHandler_Loop294 ; CPU:$B284 PRG:3284 F0 04 + lda #$0D ; CPU:$B286 PRG:3286 A9 0D + sta Zp52 ; CPU:$B288 PRG:3288 85 52 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop294: + lda EnemyIndex,x ; CPU:$B28A PRG:328A B5 87 + cmp #$03 ; CPU:$B28C PRG:328C C9 03 + bcs NmiHandler_Loop295 ; CPU:$B28E PRG:328E B0 16 + dec $037C ; CPU:$B290 PRG:3290 CE 7C 03 + cmp #$02 ; CPU:$B293 PRG:3293 C9 02 + bne NmiHandler_Loop295 ; CPU:$B295 PRG:3295 D0 0F + lda SpriteTimer,x ; CPU:$B297 PRG:3297 B5 80 + lsr a ; CPU:$B299 PRG:3299 4A + and #$01 ; CPU:$B29A PRG:329A 29 01 + tay ; CPU:$B29C PRG:329C A8 + lda $0380 ; CPU:$B29D PRG:329D AD 80 03 + eor $9B71,y ; CPU:$B2A0 PRG:32A0 59 71 9B + sta $0380 ; CPU:$B2A3 PRG:32A3 8D 80 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + lda #$7F ; CPU:$B2A6 PRG:32A6 A9 7F + sta EnemyHealth,x ; CPU:$B2A8 PRG:32A8 95 DF + lda #$00 ; CPU:$B2AA PRG:32AA A9 00 + sta GameMode,x ; CPU:$B2AC PRG:32AC 95 9F + sta SpriteTimer,x ; CPU:$B2AE PRG:32AE 95 80 + sta EnemyIndex,x ; CPU:$B2B0 PRG:32B0 95 87 + sta PlayerY,x ; CPU:$B2B2 PRG:32B2 95 B7 + sta ZpC7,x ; CPU:$B2B4 PRG:32B4 95 C7 + sta $0490,x ; CPU:$B2B6 PRG:32B6 9D 90 04 + sta GameState,x ; CPU:$B2B9 PRG:32B9 95 C0 + sta $04A8,x ; CPU:$B2BB PRG:32BB 9D A8 04 + sta Zp3F,x ; CPU:$B2BE PRG:32BE 95 3F + cpx #$05 ; CPU:$B2C0 PRG:32C0 E0 05 + bcs NmiHandler_Loop296 ; CPU:$B2C2 PRG:32C2 B0 09 + sta $04A0,x ; CPU:$B2C4 PRG:32C4 9D A0 04 + sta $045A,x ; CPU:$B2C7 PRG:32C7 9D 5A 04 + sta $0410,x ; CPU:$B2CA PRG:32CA 9D 10 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + rts ; CPU:$B2CD PRG:32CD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2CE +; Global: Branch target inside Sub: taken when B2CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2CE: + lda #$06 ; CPU:$B2CE PRG:32CE A9 06 + sta $03C2 ; CPU:$B2D0 PRG:32D0 8D C2 03 + lda #$00 ; CPU:$B2D3 PRG:32D3 A9 00 + sta $03C3 ; CPU:$B2D5 PRG:32D5 8D C3 03 + ldx #$01 ; CPU:$B2D8 PRG:32D8 A2 01 + bne NmiHandler_Loop297 ; CPU:$B2DA PRG:32DA D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2DC +; Global: Branch target inside Sub: taken when B2DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2DC: + ldx #$06 ; CPU:$B2DC PRG:32DC A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + stx $037D ; CPU:$B2DE PRG:32DE 8E 7D 03 + lda $03C2,x ; CPU:$B2E1 PRG:32E1 BD C2 03 + tax ; CPU:$B2E4 PRG:32E4 AA + lda SpriteTimer,x ; CPU:$B2E5 PRG:32E5 B5 80 + beq NmiHandler_Loop305 ; CPU:$B2E7 PRG:32E7 F0 76 + and #$08 ; CPU:$B2E9 PRG:32E9 29 08 + bne NmiHandler_Loop304 ; CPU:$B2EB PRG:32EB D0 64 + ldy EnemyIndex,x ; CPU:$B2ED PRG:32ED B4 87 + bne NmiHandler_Loop299 ; CPU:$B2EF PRG:32EF D0 0C + lda PlayerY,x ; CPU:$B2F1 PRG:32F1 B5 B7 + cmp #$09 ; CPU:$B2F3 PRG:32F3 C9 09 + beq NmiHandler_Loop298 ; CPU:$B2F5 PRG:32F5 F0 03 + jmp Sub_B63E ; CPU:$B2F7 PRG:32F7 4C 3E B6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + jmp Sub_B728 ; CPU:$B2FA PRG:32FA 4C 28 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + cpy #$0C ; CPU:$B2FD PRG:32FD C0 0C + bcs NmiHandler_Loop307 ; CPU:$B2FF PRG:32FF B0 68 + cpy #$0A ; CPU:$B301 PRG:3301 C0 0A + beq NmiHandler_Loop300 ; CPU:$B303 PRG:3303 F0 04 + cpy #$0B ; CPU:$B305 PRG:3305 C0 0B + bne NmiHandler_Loop301 ; CPU:$B307 PRG:3307 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop300: + jmp Sub_B47B ; CPU:$B309 PRG:3309 4C 7B B4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop301: + lda GameState,x ; CPU:$B30C PRG:330C B5 C0 + beq NmiHandler_Loop302 ; CPU:$B30E PRG:330E F0 02 + lda #$40 ; CPU:$B310 PRG:3310 A9 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop302: + ora $A144,y ; CPU:$B312 PRG:3312 19 44 A1 + sta Zp05 ; CPU:$B315 PRG:3315 85 05 + lda GameMode,x ; CPU:$B317 PRG:3317 B5 9F + sta VramWritePtrHi ; CPU:$B319 PRG:3319 85 01 + lda Zp8E,x ; CPU:$B31B PRG:331B B5 8E + sec ; CPU:$B31D PRG:331D 38 + sbc $A163,y ; CPU:$B31E PRG:331E F9 63 A1 + sta VramWritePtrLo ; CPU:$B321 PRG:3321 85 00 + bcs NmiHandler_Loop303 ; CPU:$B323 PRG:3323 B0 02 + dec VramWritePtrHi ; CPU:$B325 PRG:3325 C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop303: + lda PlayerX,x ; CPU:$B327 PRG:3327 B5 B0 + sta DispatchPtrLo ; CPU:$B329 PRG:3329 85 02 + tya ; CPU:$B32B PRG:332B 98 + asl a ; CPU:$B32C PRG:332C 0A + tay ; CPU:$B32D PRG:332D A8 + lda $9BE6,y ; CPU:$B32E PRG:332E B9 E6 9B + sta Zp07 ; CPU:$B331 PRG:3331 85 07 + iny ; CPU:$B333 PRG:3333 C8 + lda $9BE6,y ; CPU:$B334 PRG:3334 B9 E6 9B + sta Zp08 ; CPU:$B337 PRG:3337 85 08 + lda PlayerY,x ; CPU:$B339 PRG:3339 B5 B7 + asl a ; CPU:$B33B PRG:333B 0A + tay ; CPU:$B33C PRG:333C A8 + lda (Zp07),y ; CPU:$B33D PRG:333D B1 07 + sta DispatchPtrHi ; CPU:$B33F PRG:333F 85 03 + iny ; CPU:$B341 PRG:3341 C8 + lda (Zp07),y ; CPU:$B342 PRG:3342 B1 07 + sta Zp04 ; CPU:$B344 PRG:3344 85 04 + lda Zp4B ; CPU:$B346 PRG:3346 A5 4B + sta Zp06 ; CPU:$B348 PRG:3348 85 06 + jsr Sub_8EDE ; CPU:$B34A PRG:334A 20 DE 8E + lda Zp06 ; CPU:$B34D PRG:334D A5 06 + sta Zp4B ; CPU:$B34F PRG:334F 85 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: + ldx $037D ; CPU:$B351 PRG:3351 AE 7D 03 + lda $03C2,x ; CPU:$B354 PRG:3354 BD C2 03 + tax ; CPU:$B357 PRG:3357 AA + ldy ZpC7,x ; CPU:$B358 PRG:3358 B4 C7 + beq NmiHandler_Loop305 ; CPU:$B35A PRG:335A F0 03 + jmp Sub_B4D2 ; CPU:$B35C PRG:335C 4C D2 B4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop305: + ldx $037D ; CPU:$B35F PRG:335F AE 7D 03 + dex ; CPU:$B362 PRG:3362 CA + bmi NmiHandler_Loop306 ; CPU:$B363 PRG:3363 30 03 + jmp NmiHandler_Loop297 ; CPU:$B365 PRG:3365 4C DE B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop306: + rts ; CPU:$B368 PRG:3368 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop307: + beq NmiHandler_Loop308 ; CPU:$B369 PRG:3369 F0 0B + cpy #$0D ; CPU:$B36B PRG:336B C0 0D + beq NmiHandler_Loop309 ; CPU:$B36D PRG:336D F0 22 + cpy #$0F ; CPU:$B36F PRG:336F C0 0F + beq NmiHandler_Loop311 ; CPU:$B371 PRG:3371 F0 71 + jmp NmiHandler_Loop301 ; CPU:$B373 PRG:3373 4C 0C B3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop308: + lda #$E3 ; CPU:$B376 PRG:3376 A9 E3 + sta DispatchPtrLo ; CPU:$B378 PRG:3378 85 02 + sta DispatchPtrHi ; CPU:$B37A PRG:337A 85 03 + lda #$23 ; CPU:$B37C PRG:337C A9 23 + sta Zp04 ; CPU:$B37E PRG:337E 85 04 + ora #$40 ; CPU:$B380 PRG:3380 09 40 + sta Zp06 ; CPU:$B382 PRG:3382 85 06 + ora #$80 ; CPU:$B384 PRG:3384 09 80 + sta Zp07 ; CPU:$B386 PRG:3386 85 07 + lda Zp04 ; CPU:$B388 PRG:3388 A5 04 + ora #$80 ; CPU:$B38A PRG:338A 09 80 + sta Zp05 ; CPU:$B38C PRG:338C 85 05 + jmp Sub_B3FB ; CPU:$B38E PRG:338E 4C FB B3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop309: + lda GameMode,x ; CPU:$B391 PRG:3391 B5 9F + cmp #$01 ; CPU:$B393 PRG:3393 C9 01 + bne NmiHandler_Loop310 ; CPU:$B395 PRG:3395 D0 4A + ldy Zp4B ; CPU:$B397 PRG:3397 A4 4B + lda PlayerX,x ; CPU:$B399 PRG:3399 B5 B0 + sta $0600,y ; CPU:$B39B PRG:339B 99 00 06 + sta $0604,y ; CPU:$B39E PRG:339E 99 04 06 + clc ; CPU:$B3A1 PRG:33A1 18 + adc #$08 ; CPU:$B3A2 PRG:33A2 69 08 + sta $0608,y ; CPU:$B3A4 PRG:33A4 99 08 06 + sta $060C,y ; CPU:$B3A7 PRG:33A7 99 0C 06 + lda #$D9 ; CPU:$B3AA PRG:33AA A9 D9 + sta $0601,y ; CPU:$B3AC PRG:33AC 99 01 06 + sta $060D,y ; CPU:$B3AF PRG:33AF 99 0D 06 + lda #$DA ; CPU:$B3B2 PRG:33B2 A9 DA + sta $0605,y ; CPU:$B3B4 PRG:33B4 99 05 06 + sta $0609,y ; CPU:$B3B7 PRG:33B7 99 09 06 + lda #$21 ; CPU:$B3BA PRG:33BA A9 21 + sta $0602,y ; CPU:$B3BC PRG:33BC 99 02 06 + sta $060A,y ; CPU:$B3BF PRG:33BF 99 0A 06 + ora #$C0 ; CPU:$B3C2 PRG:33C2 09 C0 + sta $0606,y ; CPU:$B3C4 PRG:33C4 99 06 06 + sta $060E,y ; CPU:$B3C7 PRG:33C7 99 0E 06 + lda Zp8E,x ; CPU:$B3CA PRG:33CA B5 8E + sta $0607,y ; CPU:$B3CC PRG:33CC 99 07 06 + sta $060F,y ; CPU:$B3CF PRG:33CF 99 0F 06 + sec ; CPU:$B3D2 PRG:33D2 38 + sbc #$08 ; CPU:$B3D3 PRG:33D3 E9 08 + sta $0603,y ; CPU:$B3D5 PRG:33D5 99 03 06 + sta $060B,y ; CPU:$B3D8 PRG:33D8 99 0B 06 + tya ; CPU:$B3DB PRG:33DB 98 + clc ; CPU:$B3DC PRG:33DC 18 + adc #$10 ; CPU:$B3DD PRG:33DD 69 10 + sta Zp4B ; CPU:$B3DF PRG:33DF 85 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop310: + jmp NmiHandler_Loop304 ; CPU:$B3E1 PRG:33E1 4C 51 B3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop311: + lda #$E1 ; CPU:$B3E4 PRG:33E4 A9 E1 + sta DispatchPtrLo ; CPU:$B3E6 PRG:33E6 85 02 + lda #$E2 ; CPU:$B3E8 PRG:33E8 A9 E2 + sta DispatchPtrHi ; CPU:$B3EA PRG:33EA 85 03 + lda #$23 ; CPU:$B3EC PRG:33EC A9 23 + sta Zp04 ; CPU:$B3EE PRG:33EE 85 04 + sta Zp05 ; CPU:$B3F0 PRG:33F0 85 05 + ora #$40 ; CPU:$B3F2 PRG:33F2 09 40 + sta Zp06 ; CPU:$B3F4 PRG:33F4 85 06 + sta Zp07 ; CPU:$B3F6 PRG:33F6 85 07 + jmp Sub_B3FB ; CPU:$B3F8 PRG:33F8 4C FB B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B3FB +; Global: Branch target inside Sub: taken when B3FB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3FB: + lda PlayerX,x ; CPU:$B3FB PRG:33FB B5 B0 + sta VramWritePtrHi ; CPU:$B3FD PRG:33FD 85 01 + lda GameMode,x ; CPU:$B3FF PRG:33FF B5 9F + sta Zp0F ; CPU:$B401 PRG:3401 85 0F + lda Zp8E,x ; CPU:$B403 PRG:3403 B5 8E + sec ; CPU:$B405 PRG:3405 38 + sbc #$08 ; CPU:$B406 PRG:3406 E9 08 + sta VramWritePtrLo ; CPU:$B408 PRG:3408 85 00 + bcs NmiHandler_Loop312 ; CPU:$B40A PRG:340A B0 02 + dec Zp0F ; CPU:$B40C PRG:340C C6 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop312: + lda Zp0F ; CPU:$B40E PRG:340E A5 0F + cmp #$01 ; CPU:$B410 PRG:3410 C9 01 + bne NmiHandler_Loop313 ; CPU:$B412 PRG:3412 D0 2F + ldy Zp4B ; CPU:$B414 PRG:3414 A4 4B + lda VramWritePtrHi ; CPU:$B416 PRG:3416 A5 01 + sta $0600,y ; CPU:$B418 PRG:3418 99 00 06 + clc ; CPU:$B41B PRG:341B 18 + adc #$08 ; CPU:$B41C PRG:341C 69 08 + sta $0604,y ; CPU:$B41E PRG:341E 99 04 06 + lda DispatchPtrLo ; CPU:$B421 PRG:3421 A5 02 + sta $0601,y ; CPU:$B423 PRG:3423 99 01 06 + lda DispatchPtrHi ; CPU:$B426 PRG:3426 A5 03 + sta $0605,y ; CPU:$B428 PRG:3428 99 05 06 + lda Zp04 ; CPU:$B42B PRG:342B A5 04 + sta $0602,y ; CPU:$B42D PRG:342D 99 02 06 + lda Zp05 ; CPU:$B430 PRG:3430 A5 05 + sta $0606,y ; CPU:$B432 PRG:3432 99 06 06 + lda VramWritePtrLo ; CPU:$B435 PRG:3435 A5 00 + sta $0603,y ; CPU:$B437 PRG:3437 99 03 06 + sta $0607,y ; CPU:$B43A PRG:343A 99 07 06 + tya ; CPU:$B43D PRG:343D 98 + clc ; CPU:$B43E PRG:343E 18 + adc #$08 ; CPU:$B43F PRG:343F 69 08 + sta Zp4B ; CPU:$B441 PRG:3441 85 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop313 +; Global: Branch target inside NmiHandler: taken when Loop313. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop313: + lda GameMode,x ; CPU:$B443 PRG:3443 B5 9F + cmp #$01 ; CPU:$B445 PRG:3445 C9 01 + bne NmiHandler_Loop314 ; CPU:$B447 PRG:3447 D0 2F + ldy Zp4B ; CPU:$B449 PRG:3449 A4 4B + lda VramWritePtrHi ; CPU:$B44B PRG:344B A5 01 + sta $0600,y ; CPU:$B44D PRG:344D 99 00 06 + clc ; CPU:$B450 PRG:3450 18 + adc #$08 ; CPU:$B451 PRG:3451 69 08 + sta $0604,y ; CPU:$B453 PRG:3453 99 04 06 + lda DispatchPtrLo ; CPU:$B456 PRG:3456 A5 02 + sta $0601,y ; CPU:$B458 PRG:3458 99 01 06 + lda DispatchPtrHi ; CPU:$B45B PRG:345B A5 03 + sta $0605,y ; CPU:$B45D PRG:345D 99 05 06 + lda Zp06 ; CPU:$B460 PRG:3460 A5 06 + sta $0602,y ; CPU:$B462 PRG:3462 99 02 06 + lda Zp07 ; CPU:$B465 PRG:3465 A5 07 + sta $0606,y ; CPU:$B467 PRG:3467 99 06 06 + lda Zp8E,x ; CPU:$B46A PRG:346A B5 8E + sta $0603,y ; CPU:$B46C PRG:346C 99 03 06 + sta $0607,y ; CPU:$B46F PRG:346F 99 07 06 + tya ; CPU:$B472 PRG:3472 98 + clc ; CPU:$B473 PRG:3473 18 + adc #$08 ; CPU:$B474 PRG:3474 69 08 + sta Zp4B ; CPU:$B476 PRG:3476 85 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop314 +; Global: Branch target inside NmiHandler: taken when Loop314. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop314: + jmp NmiHandler_Loop304 ; CPU:$B478 PRG:3478 4C 51 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B47B +; Global: Branch target inside Sub: taken when B47B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B47B: + lda #$01 ; CPU:$B47B PRG:347B A9 01 + sta Zp04 ; CPU:$B47D PRG:347D 85 04 + ldy Zp4B ; CPU:$B47F PRG:347F A4 4B + lda PlayerY,x ; CPU:$B481 PRG:3481 B5 B7 + clc ; CPU:$B483 PRG:3483 18 + adc #$DE ; CPU:$B484 PRG:3484 69 DE + sta DispatchPtrLo ; CPU:$B486 PRG:3486 85 02 + lda GameState,x ; CPU:$B488 PRG:3488 B5 C0 + beq NmiHandler_Loop315 ; CPU:$B48A PRG:348A F0 04 + dec DispatchPtrLo ; CPU:$B48C PRG:348C C6 02 + lda #$40 ; CPU:$B48E PRG:348E A9 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop315 +; Global: Branch target inside NmiHandler: taken when Loop315. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop315: + ora #$03 ; CPU:$B490 PRG:3490 09 03 + sta DispatchPtrHi ; CPU:$B492 PRG:3492 85 03 + lda GameMode,x ; CPU:$B494 PRG:3494 B5 9F + sta VramWritePtrHi ; CPU:$B496 PRG:3496 85 01 + lda Zp8E,x ; CPU:$B498 PRG:3498 B5 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative23 +; Global: Branch target inside NmiHandler: taken when OnNonnegative23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative23: + sta $0603,y ; CPU:$B49A PRG:349A 99 03 06 + lda VramWritePtrHi ; CPU:$B49D PRG:349D A5 01 + cmp #$01 ; CPU:$B49F PRG:349F C9 01 + bne NmiHandler_Loop316 ; CPU:$B4A1 PRG:34A1 D0 13 + lda PlayerX,x ; CPU:$B4A3 PRG:34A3 B5 B0 + sta $0600,y ; CPU:$B4A5 PRG:34A5 99 00 06 + lda DispatchPtrLo ; CPU:$B4A8 PRG:34A8 A5 02 + sta $0601,y ; CPU:$B4AA PRG:34AA 99 01 06 + lda DispatchPtrHi ; CPU:$B4AD PRG:34AD A5 03 + sta $0602,y ; CPU:$B4AF PRG:34AF 99 02 06 + iny ; CPU:$B4B2 PRG:34B2 C8 + iny ; CPU:$B4B3 PRG:34B3 C8 + iny ; CPU:$B4B4 PRG:34B4 C8 + iny ; CPU:$B4B5 PRG:34B5 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop316 +; Global: Branch target inside NmiHandler: taken when Loop316. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop316: + dec DispatchPtrLo ; CPU:$B4B6 PRG:34B6 C6 02 + lda GameState,x ; CPU:$B4B8 PRG:34B8 B5 C0 + beq NmiHandler_Loop317 ; CPU:$B4BA PRG:34BA F0 04 + inc DispatchPtrLo ; CPU:$B4BC PRG:34BC E6 02 + inc DispatchPtrLo ; CPU:$B4BE PRG:34BE E6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop317 +; Global: Branch target inside NmiHandler: taken when Loop317. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop317: + lda Zp8E,x ; CPU:$B4C0 PRG:34C0 B5 8E + sec ; CPU:$B4C2 PRG:34C2 38 + sbc #$08 ; CPU:$B4C3 PRG:34C3 E9 08 + bcs NmiHandler_Loop318 ; CPU:$B4C5 PRG:34C5 B0 02 + dec VramWritePtrHi ; CPU:$B4C7 PRG:34C7 C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop318 +; Global: Branch target inside NmiHandler: taken when Loop318. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop318: + dec Zp04 ; CPU:$B4C9 PRG:34C9 C6 04 + bpl NmiHandler_OnNonnegative23 ; CPU:$B4CB PRG:34CB 10 CD + sty Zp4B ; CPU:$B4CD PRG:34CD 84 4B + jmp NmiHandler_Loop305 ; CPU:$B4CF PRG:34CF 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B4D2 +; Global: Branch target inside Sub: taken when B4D2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4D2: + lda $04B8,x ; CPU:$B4D2 PRG:34D2 BD B8 04 + cmp #$01 ; CPU:$B4D5 PRG:34D5 C9 01 + bne NmiHandler_Loop319 ; CPU:$B4D7 PRG:34D7 D0 03 + jmp Sub_B5FB ; CPU:$B4D9 PRG:34D9 4C FB B5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop319 +; Global: Branch target inside NmiHandler: taken when Loop319. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop319: + cmp #$03 ; CPU:$B4DC PRG:34DC C9 03 + beq NmiHandler_Loop320 ; CPU:$B4DE PRG:34DE F0 03 + jmp Sub_B574 ; CPU:$B4E0 PRG:34E0 4C 74 B5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop320 +; Global: Branch target inside NmiHandler: taken when Loop320. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop320: + ldy EnemyIndex,x ; CPU:$B4E3 PRG:34E3 B4 87 + lda $A144,y ; CPU:$B4E5 PRG:34E5 B9 44 A1 + ldy GameState,x ; CPU:$B4E8 PRG:34E8 B4 C0 + beq NmiHandler_Loop321 ; CPU:$B4EA PRG:34EA F0 02 + ora #$40 ; CPU:$B4EC PRG:34EC 09 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop321: + sta DispatchPtrLo ; CPU:$B4EE PRG:34EE 85 02 + ora #$80 ; CPU:$B4F0 PRG:34F0 09 80 + sta Zp06 ; CPU:$B4F2 PRG:34F2 85 06 + ldy ZpC7,x ; CPU:$B4F4 PRG:34F4 B4 C7 + dey ; CPU:$B4F6 PRG:34F6 88 + lda #$03 ; CPU:$B4F7 PRG:34F7 A9 03 + sta Zp04 ; CPU:$B4F9 PRG:34F9 85 04 + lda GameMode,x ; CPU:$B4FB PRG:34FB B5 9F + sta VramWritePtrHi ; CPU:$B4FD PRG:34FD 85 01 + lda GameState,x ; CPU:$B4FF PRG:34FF B5 C0 + bne NmiHandler_Loop322 ; CPU:$B501 PRG:3501 D0 0C + lda $A230,y ; CPU:$B503 PRG:3503 B9 30 A2 + sta Zp05 ; CPU:$B506 PRG:3506 85 05 + lda $A226,y ; CPU:$B508 PRG:3508 B9 26 A2 + sta VramWritePtrLo ; CPU:$B50B PRG:350B 85 00 + bne NmiHandler_Loop323 ; CPU:$B50D PRG:350D D0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop322: + lda $A235,y ; CPU:$B50F PRG:350F B9 35 A2 + sta Zp05 ; CPU:$B512 PRG:3512 85 05 + lda $A22B,y ; CPU:$B514 PRG:3514 B9 2B A2 + sta VramWritePtrLo ; CPU:$B517 PRG:3517 85 00 + inc VramWritePtrHi ; CPU:$B519 PRG:3519 E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop323: + lda Zp8E,x ; CPU:$B51B PRG:351B B5 8E + sec ; CPU:$B51D PRG:351D 38 + sbc VramWritePtrLo ; CPU:$B51E PRG:351E E5 00 + sta VramWritePtrLo ; CPU:$B520 PRG:3520 85 00 + bcs NmiHandler_OnNonnegative24 ; CPU:$B522 PRG:3522 B0 02 + dec VramWritePtrHi ; CPU:$B524 PRG:3524 C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative24 +; Global: Branch target inside NmiHandler: taken when OnNonnegative24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative24: + lda #$8E ; CPU:$B526 PRG:3526 A9 8E + sta DispatchPtrHi ; CPU:$B528 PRG:3528 85 03 + lda VramWritePtrHi ; CPU:$B52A PRG:352A A5 01 + cmp #$01 ; CPU:$B52C PRG:352C C9 01 + bne NmiHandler_Loop324 ; CPU:$B52E PRG:352E D0 30 + ldx Zp4C ; CPU:$B530 PRG:3530 A6 4C + lda DispatchPtrHi ; CPU:$B532 PRG:3532 A5 03 + sta $06D0,x ; CPU:$B534 PRG:3534 9D D0 06 + clc ; CPU:$B537 PRG:3537 18 + adc #$08 ; CPU:$B538 PRG:3538 69 08 + sta $06D4,x ; CPU:$B53A PRG:353A 9D D4 06 + ldy Zp05 ; CPU:$B53D PRG:353D A4 05 + lda $A21E,y ; CPU:$B53F PRG:353F B9 1E A2 + sta $06D1,x ; CPU:$B542 PRG:3542 9D D1 06 + sta $06D5,x ; CPU:$B545 PRG:3545 9D D5 06 + lda DispatchPtrLo ; CPU:$B548 PRG:3548 A5 02 + sta $06D2,x ; CPU:$B54A PRG:354A 9D D2 06 + lda Zp06 ; CPU:$B54D PRG:354D A5 06 + sta $06D6,x ; CPU:$B54F PRG:354F 9D D6 06 + lda VramWritePtrLo ; CPU:$B552 PRG:3552 A5 00 + sta $06D3,x ; CPU:$B554 PRG:3554 9D D3 06 + sta $06D7,x ; CPU:$B557 PRG:3557 9D D7 06 + txa ; CPU:$B55A PRG:355A 8A + clc ; CPU:$B55B PRG:355B 18 + adc #$08 ; CPU:$B55C PRG:355C 69 08 + sta Zp4C ; CPU:$B55E PRG:355E 85 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop324: + lda VramWritePtrLo ; CPU:$B560 PRG:3560 A5 00 + clc ; CPU:$B562 PRG:3562 18 + adc #$08 ; CPU:$B563 PRG:3563 69 08 + sta VramWritePtrLo ; CPU:$B565 PRG:3565 85 00 + bcc NmiHandler_Loop325 ; CPU:$B567 PRG:3567 90 02 + inc VramWritePtrHi ; CPU:$B569 PRG:3569 E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop325: + inc Zp05 ; CPU:$B56B PRG:356B E6 05 + dec Zp04 ; CPU:$B56D PRG:356D C6 04 + bpl NmiHandler_OnNonnegative24 ; CPU:$B56F PRG:356F 10 B5 + jmp NmiHandler_Loop305 ; CPU:$B571 PRG:3571 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B574 +; Global: Branch target inside Sub: taken when B574. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B574: + dey ; CPU:$B574 PRG:3574 88 + cmp #$05 ; CPU:$B575 PRG:3575 C9 05 + beq NmiHandler_Loop327 ; CPU:$B577 PRG:3577 F0 1A + cmp #$06 ; CPU:$B579 PRG:3579 C9 06 + beq NmiHandler_Loop326 ; CPU:$B57B PRG:357B F0 0B + lda $A263,y ; CPU:$B57D PRG:357D B9 63 A2 + sta Zp06 ; CPU:$B580 PRG:3580 85 06 + lda $A26A,y ; CPU:$B582 PRG:3582 B9 6A A2 + jmp Sub_B59B ; CPU:$B585 PRG:3585 4C 9B B5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop326 +; Global: Branch target inside NmiHandler: taken when Loop326. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop326: + lda $A278,y ; CPU:$B588 PRG:3588 B9 78 A2 + sta Zp06 ; CPU:$B58B PRG:358B 85 06 + lda $A285,y ; CPU:$B58D PRG:358D B9 85 A2 + jmp Sub_B59B ; CPU:$B590 PRG:3590 4C 9B B5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop327 +; Global: Branch target inside NmiHandler: taken when Loop327. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop327: + lda $A271,y ; CPU:$B593 PRG:3593 B9 71 A2 + sta Zp06 ; CPU:$B596 PRG:3596 85 06 + lda $A27E,y ; CPU:$B598 PRG:3598 B9 7E A2 +; ----------------------------------------------------------------------------- +; Routine: Sub_B59B +; Global: Branch target inside Sub: taken when B59B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B59B: + clc ; CPU:$B59B PRG:359B 18 + adc PlayerX,x ; CPU:$B59C PRG:359C 75 B0 + sta DispatchPtrLo ; CPU:$B59E PRG:359E 85 02 + lda #$01 ; CPU:$B5A0 PRG:35A0 A9 01 + sta Zp04 ; CPU:$B5A2 PRG:35A2 85 04 + lda #$00 ; CPU:$B5A4 PRG:35A4 A9 00 + sta Zp07 ; CPU:$B5A6 PRG:35A6 85 07 + lda GameMode,x ; CPU:$B5A8 PRG:35A8 B5 9F + sta VramWritePtrHi ; CPU:$B5AA PRG:35AA 85 01 + lda Zp8E,x ; CPU:$B5AC PRG:35AC B5 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative25 +; Global: Branch target inside NmiHandler: taken when OnNonnegative25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative25: + sta VramWritePtrLo ; CPU:$B5AE PRG:35AE 85 00 + lda Zp07 ; CPU:$B5B0 PRG:35B0 A5 07 + eor #$40 ; CPU:$B5B2 PRG:35B2 49 40 + sta Zp07 ; CPU:$B5B4 PRG:35B4 85 07 + ldx Zp06 ; CPU:$B5B6 PRG:35B6 A6 06 + ldy VramWritePtrHi ; CPU:$B5B8 PRG:35B8 A4 01 + dey ; CPU:$B5BA PRG:35BA 88 + bne NmiHandler_Loop328 ; CPU:$B5BB PRG:35BB D0 30 + lda DispatchPtrLo ; CPU:$B5BD PRG:35BD A5 02 + sta DispatchPtrHi ; CPU:$B5BF PRG:35BF 85 03 + ldy Zp4C ; CPU:$B5C1 PRG:35C1 A4 4C + lda $A241,x ; CPU:$B5C3 PRG:35C3 BD 41 A2 + sta Zp05 ; CPU:$B5C6 PRG:35C6 85 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero32: + lda DispatchPtrHi ; CPU:$B5C8 PRG:35C8 A5 03 + sta $06D0,y ; CPU:$B5CA PRG:35CA 99 D0 06 + clc ; CPU:$B5CD PRG:35CD 18 + adc #$08 ; CPU:$B5CE PRG:35CE 69 08 + sta DispatchPtrHi ; CPU:$B5D0 PRG:35D0 85 03 + iny ; CPU:$B5D2 PRG:35D2 C8 + lda $A242,x ; CPU:$B5D3 PRG:35D3 BD 42 A2 + sta $06D0,y ; CPU:$B5D6 PRG:35D6 99 D0 06 + iny ; CPU:$B5D9 PRG:35D9 C8 + inx ; CPU:$B5DA PRG:35DA E8 + lda Zp07 ; CPU:$B5DB PRG:35DB A5 07 + sta $06D0,y ; CPU:$B5DD PRG:35DD 99 D0 06 + iny ; CPU:$B5E0 PRG:35E0 C8 + lda VramWritePtrLo ; CPU:$B5E1 PRG:35E1 A5 00 + sta $06D0,y ; CPU:$B5E3 PRG:35E3 99 D0 06 + iny ; CPU:$B5E6 PRG:35E6 C8 + dec Zp05 ; CPU:$B5E7 PRG:35E7 C6 05 + bne NmiHandler_OnNonzero32 ; CPU:$B5E9 PRG:35E9 D0 DD + sty Zp4C ; CPU:$B5EB PRG:35EB 84 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop328 +; Global: Branch target inside NmiHandler: taken when Loop328. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop328: + sec ; CPU:$B5ED PRG:35ED 38 + sbc #$08 ; CPU:$B5EE PRG:35EE E9 08 + bcs NmiHandler_Loop329 ; CPU:$B5F0 PRG:35F0 B0 02 + dec VramWritePtrHi ; CPU:$B5F2 PRG:35F2 C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop329: + dec Zp04 ; CPU:$B5F4 PRG:35F4 C6 04 + bpl NmiHandler_OnNonnegative25 ; CPU:$B5F6 PRG:35F6 10 B6 + jmp NmiHandler_Loop305 ; CPU:$B5F8 PRG:35F8 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B5FB +; Global: Branch target inside Sub: taken when B5FB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B5FB: + ldy Zp4C ; CPU:$B5FB PRG:35FB A4 4C + lda #$41 ; CPU:$B5FD PRG:35FD A9 41 + sta DispatchPtrHi ; CPU:$B5FF PRG:35FF 85 03 + lda GameMode,x ; CPU:$B601 PRG:3601 B5 9F + sta VramWritePtrHi ; CPU:$B603 PRG:3603 85 01 + lda Zp8E,x ; CPU:$B605 PRG:3605 B5 8E + ldx #$01 ; CPU:$B607 PRG:3607 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative26 +; Global: Branch target inside NmiHandler: taken when OnNonnegative26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative26: + sta VramWritePtrLo ; CPU:$B609 PRG:3609 85 00 + sta $06D3,y ; CPU:$B60B PRG:360B 99 D3 06 + lda VramWritePtrHi ; CPU:$B60E PRG:360E A5 01 + cmp #$01 ; CPU:$B610 PRG:3610 C9 01 + bne NmiHandler_Loop330 ; CPU:$B612 PRG:3612 D0 13 + lda #$AF ; CPU:$B614 PRG:3614 A9 AF + sta $06D0,y ; CPU:$B616 PRG:3616 99 D0 06 + lda #$E7 ; CPU:$B619 PRG:3619 A9 E7 + sta $06D1,y ; CPU:$B61B PRG:361B 99 D1 06 + lda DispatchPtrHi ; CPU:$B61E PRG:361E A5 03 + sta $06D2,y ; CPU:$B620 PRG:3620 99 D2 06 + iny ; CPU:$B623 PRG:3623 C8 + iny ; CPU:$B624 PRG:3624 C8 + iny ; CPU:$B625 PRG:3625 C8 + iny ; CPU:$B626 PRG:3626 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop330: + lda DispatchPtrHi ; CPU:$B627 PRG:3627 A5 03 + eor #$40 ; CPU:$B629 PRG:3629 49 40 + sta DispatchPtrHi ; CPU:$B62B PRG:362B 85 03 + lda VramWritePtrLo ; CPU:$B62D PRG:362D A5 00 + sec ; CPU:$B62F PRG:362F 38 + sbc #$08 ; CPU:$B630 PRG:3630 E9 08 + bcs NmiHandler_Loop331 ; CPU:$B632 PRG:3632 B0 02 + dec VramWritePtrHi ; CPU:$B634 PRG:3634 C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop331: + dex ; CPU:$B636 PRG:3636 CA + bpl NmiHandler_OnNonnegative26 ; CPU:$B637 PRG:3637 10 D0 + sty Zp4C ; CPU:$B639 PRG:3639 84 4C + jmp NmiHandler_Loop305 ; CPU:$B63B PRG:363B 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B63E +; Global: Branch target inside Sub: taken when B63E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B63E: + ldy GameMode,x ; CPU:$B63E PRG:363E B4 9F + dey ; CPU:$B640 PRG:3640 88 + beq NmiHandler_Loop332 ; CPU:$B641 PRG:3641 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear5: + jmp NmiHandler_Loop305 ; CPU:$B643 PRG:3643 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop332: + lda PlayerX,x ; CPU:$B646 PRG:3646 B5 B0 + clc ; CPU:$B648 PRG:3648 18 + adc #$08 ; CPU:$B649 PRG:3649 69 08 + sta Zp0A ; CPU:$B64B PRG:364B 85 0A + lda PlayerY,x ; CPU:$B64D PRG:364D B5 B7 + tay ; CPU:$B64F PRG:364F A8 + lda $9FE4,y ; CPU:$B650 PRG:3650 B9 E4 9F + ldy GameState,x ; CPU:$B653 PRG:3653 B4 C0 + beq NmiHandler_Loop334 ; CPU:$B655 PRG:3655 F0 0C + cmp #$4B ; CPU:$B657 PRG:3657 C9 4B + beq NmiHandler_Loop333 ; CPU:$B659 PRG:3659 F0 06 + cmp #$5F ; CPU:$B65B PRG:365B C9 5F + beq NmiHandler_Loop333 ; CPU:$B65D PRG:365D F0 02 + adc #$05 ; CPU:$B65F PRG:365F 69 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop333: + ldy #$40 ; CPU:$B661 PRG:3661 A0 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop334 +; Global: Branch target inside NmiHandler: taken when Loop334. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop334: + sty VramWritePtrLo ; CPU:$B663 PRG:3663 84 00 + tay ; CPU:$B665 PRG:3665 A8 + lda GameState,x ; CPU:$B666 PRG:3666 B5 C0 + bne NmiHandler_Loop335 ; CPU:$B668 PRG:3668 D0 06 + lda Zp8E,x ; CPU:$B66A PRG:366A B5 8E + cmp #$08 ; CPU:$B66C PRG:366C C9 08 + bcc NmiHandler_OnCarryClear5 ; CPU:$B66E PRG:366E 90 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop335 +; Global: Branch target inside NmiHandler: taken when Loop335. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop335: + lda Zp8E,x ; CPU:$B670 PRG:3670 B5 8E + sec ; CPU:$B672 PRG:3672 38 + sbc #$08 ; CPU:$B673 PRG:3673 E9 08 + sta VramWritePtrHi ; CPU:$B675 PRG:3675 85 01 + ldx #$05 ; CPU:$B677 PRG:3677 A2 05 + cpy #$4B ; CPU:$B679 PRG:3679 C0 4B + beq NmiHandler_Loop336 ; CPU:$B67B PRG:367B F0 15 + cpy #$5F ; CPU:$B67D PRG:367D C0 5F + beq NmiHandler_Loop336 ; CPU:$B67F PRG:367F F0 11 + ldx #$0A ; CPU:$B681 PRG:3681 A2 0A + cmp #$F0 ; CPU:$B683 PRG:3683 C9 F0 + bcc NmiHandler_Loop336 ; CPU:$B685 PRG:3685 90 0B + ldx #$05 ; CPU:$B687 PRG:3687 A2 05 + cmp #$F8 ; CPU:$B689 PRG:3689 C9 F8 + bcc NmiHandler_Loop336 ; CPU:$B68B PRG:368B 90 05 + tya ; CPU:$B68D PRG:368D 98 + clc ; CPU:$B68E PRG:368E 18 + adc #$05 ; CPU:$B68F PRG:368F 69 05 + tay ; CPU:$B691 PRG:3691 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop336 +; Global: Branch target inside NmiHandler: taken when Loop336. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop336: + stx DispatchPtrLo ; CPU:$B692 PRG:3692 86 02 + cpx #$05 ; CPU:$B694 PRG:3694 E0 05 + bne NmiHandler_Loop337 ; CPU:$B696 PRG:3696 D0 0B + lda VramWritePtrLo ; CPU:$B698 PRG:3698 A5 00 + beq NmiHandler_Loop337 ; CPU:$B69A PRG:369A F0 07 + lda VramWritePtrHi ; CPU:$B69C PRG:369C A5 01 + clc ; CPU:$B69E PRG:369E 18 + adc #$08 ; CPU:$B69F PRG:369F 69 08 + sta VramWritePtrHi ; CPU:$B6A1 PRG:36A1 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop337 +; Global: Branch target inside NmiHandler: taken when Loop337. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop337: + ldx Zp4B ; CPU:$B6A3 PRG:36A3 A6 4B + lda Zp0A ; CPU:$B6A5 PRG:36A5 A5 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero33: + sta $0600,x ; CPU:$B6A7 PRG:36A7 9D 00 06 + clc ; CPU:$B6AA PRG:36AA 18 + adc #$08 ; CPU:$B6AB PRG:36AB 69 08 + sta Zp0B ; CPU:$B6AD PRG:36AD 85 0B + inx ; CPU:$B6AF PRG:36AF E8 + lda $9FED,y ; CPU:$B6B0 PRG:36B0 B9 ED 9F + sta $0600,x ; CPU:$B6B3 PRG:36B3 9D 00 06 + inx ; CPU:$B6B6 PRG:36B6 E8 + lda VramWritePtrLo ; CPU:$B6B7 PRG:36B7 A5 00 + ora #$02 ; CPU:$B6B9 PRG:36B9 09 02 + sta $0600,x ; CPU:$B6BB PRG:36BB 9D 00 06 + inx ; CPU:$B6BE PRG:36BE E8 + lda VramWritePtrHi ; CPU:$B6BF PRG:36BF A5 01 + sta $0600,x ; CPU:$B6C1 PRG:36C1 9D 00 06 + inx ; CPU:$B6C4 PRG:36C4 E8 + iny ; CPU:$B6C5 PRG:36C5 C8 + lda DispatchPtrLo ; CPU:$B6C6 PRG:36C6 A5 02 + cmp #$06 ; CPU:$B6C8 PRG:36C8 C9 06 + bne NmiHandler_Loop338 ; CPU:$B6CA PRG:36CA D0 0A + lda VramWritePtrHi ; CPU:$B6CC PRG:36CC A5 01 + adc #$07 ; CPU:$B6CE PRG:36CE 69 07 + sta VramWritePtrHi ; CPU:$B6D0 PRG:36D0 85 01 + lda Zp0A ; CPU:$B6D2 PRG:36D2 A5 0A + sta Zp0B ; CPU:$B6D4 PRG:36D4 85 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop338 +; Global: Branch target inside NmiHandler: taken when Loop338. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop338: + lda Zp0B ; CPU:$B6D6 PRG:36D6 A5 0B + dec DispatchPtrLo ; CPU:$B6D8 PRG:36D8 C6 02 + bne NmiHandler_OnNonzero33 ; CPU:$B6DA PRG:36DA D0 CB + stx Zp4B ; CPU:$B6DC PRG:36DC 86 4B + jmp NmiHandler_Loop305 ; CPU:$B6DE PRG:36DE 4C 5F B3 +; ---- data $B6E1-$B727 (71 bytes) ---- +; referenced by `lda $B6E1` at $B735 (operand $B6E1 falls inside this region) +; referenced by `lda $B6E4` at $B750 (operand $B6E4 falls inside this region) +; referenced by `lda $B6E1,y` at $B769 (operand $B6E1 falls inside this region) +; referenced by `adc $B6E8,y` at $B772 (operand $B6E8 falls inside this region) +; referenced by `lda $B6E8,y` at $B77F (operand $B6E8 falls inside this region) +; referenced by `adc $B6E8,y` at $B789 (operand $B6E8 falls inside this region) +LevelObjectSpawnTable: + .byte $FF, $0B, $1B, $1F, $2B, $3B, $3F, $08, $B7, $02, $00, $10, $BB, $02, $00, $18 ; CPU:$B6E1 PRG:-91F FF 0B 1B 1F 2B 3B 3F 08 B7 02 00 10 BB 02 00 18 + .byte $B9, $02, $00, $08, $B2, $02, $F8, $10, $BA, $02, $F8, $18, $B4, $02, $F8, $20 ; CPU:$B6F1 PRG:36F1 B9 02 00 08 B2 02 F8 10 BA 02 F8 18 B4 02 F8 20 + .byte $B6, $02, $F8, $20, $B5, $02, $F0, $08, $B7, $02, $F8, $10, $BB, $02, $F8, $18 ; CPU:$B701 PRG:3701 B6 02 F8 20 B5 02 F0 08 B7 02 F8 10 BB 02 F8 18 + .byte $B9, $02, $F8, $08, $B2, $02, $00, $10, $BA, $02, $00, $18, $B4, $02, $00, $20 ; CPU:$B711 PRG:3711 B9 02 F8 08 B2 02 00 10 BA 02 00 18 B4 02 00 20 + .byte $B6, $02, $00, $20, $B5, $02, $08 ; CPU:$B721 PRG:3721 B6 02 00 20 B5 02 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_B728 +; Global: Branch target inside Sub: taken when B728. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B728: + ldy GameMode,x ; CPU:$B728 PRG:3728 B4 9F + dey ; CPU:$B72A PRG:372A 88 + bne NmiHandler_Loop341 ; CPU:$B72B PRG:372B D0 6D + lda PlayerX,x ; CPU:$B72D PRG:372D B5 B0 + sta VramWritePtrHi ; CPU:$B72F PRG:372F 85 01 + lda GameState,x ; CPU:$B731 PRG:3731 B5 C0 + bne NmiHandler_Loop339 ; CPU:$B733 PRG:3733 D0 1B + lda $B6E1 ; CPU:$B735 PRG:3735 AD E1 B6 + sta Zp0E ; CPU:$B738 PRG:3738 85 0E + lda #$02 ; CPU:$B73A PRG:373A A9 02 + sta Zp0F ; CPU:$B73C PRG:373C 85 0F + ldy #$03 ; CPU:$B73E PRG:373E A0 03 + lda Zp8E,x ; CPU:$B740 PRG:3740 B5 8E + sta VramWritePtrLo ; CPU:$B742 PRG:3742 85 00 + cmp #$10 ; CPU:$B744 PRG:3744 C9 10 + bcs NmiHandler_Loop340 ; CPU:$B746 PRG:3746 B0 21 + dey ; CPU:$B748 PRG:3748 88 + cmp #$08 ; CPU:$B749 PRG:3749 C9 08 + bcs NmiHandler_Loop340 ; CPU:$B74B PRG:374B B0 1C + dey ; CPU:$B74D PRG:374D 88 + bcc NmiHandler_Loop340 ; CPU:$B74E PRG:374E 90 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop339 +; Global: Branch target inside NmiHandler: taken when Loop339. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop339: + lda $B6E4 ; CPU:$B750 PRG:3750 AD E4 B6 + sta Zp0E ; CPU:$B753 PRG:3753 85 0E + lda #$42 ; CPU:$B755 PRG:3755 A9 42 + sta Zp0F ; CPU:$B757 PRG:3757 85 0F + ldy #$06 ; CPU:$B759 PRG:3759 A0 06 + lda Zp8E,x ; CPU:$B75B PRG:375B B5 8E + sta VramWritePtrLo ; CPU:$B75D PRG:375D 85 00 + cmp #$E9 ; CPU:$B75F PRG:375F C9 E9 + bcc NmiHandler_Loop340 ; CPU:$B761 PRG:3761 90 06 + dey ; CPU:$B763 PRG:3763 88 + cmp #$F1 ; CPU:$B764 PRG:3764 C9 F1 + bcc NmiHandler_Loop340 ; CPU:$B766 PRG:3766 90 01 + dey ; CPU:$B768 PRG:3768 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop340 +; Global: Branch target inside NmiHandler: taken when Loop340. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop340: + lda $B6E1,y ; CPU:$B769 PRG:3769 B9 E1 B6 + tay ; CPU:$B76C PRG:376C A8 + ldx Zp4B ; CPU:$B76D PRG:376D A6 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero34: + lda VramWritePtrLo ; CPU:$B76F PRG:376F A5 00 + clc ; CPU:$B771 PRG:3771 18 + adc $B6E8,y ; CPU:$B772 PRG:3772 79 E8 B6 + sta $0603,x ; CPU:$B775 PRG:3775 9D 03 06 + dey ; CPU:$B778 PRG:3778 88 + lda Zp0F ; CPU:$B779 PRG:3779 A5 0F + sta $0602,x ; CPU:$B77B PRG:377B 9D 02 06 + dey ; CPU:$B77E PRG:377E 88 + lda $B6E8,y ; CPU:$B77F PRG:377F B9 E8 B6 + sta $0601,x ; CPU:$B782 PRG:3782 9D 01 06 + dey ; CPU:$B785 PRG:3785 88 + lda VramWritePtrHi ; CPU:$B786 PRG:3786 A5 01 + clc ; CPU:$B788 PRG:3788 18 + adc $B6E8,y ; CPU:$B789 PRG:3789 79 E8 B6 + sta $0600,x ; CPU:$B78C PRG:378C 9D 00 06 + inx ; CPU:$B78F PRG:378F E8 + inx ; CPU:$B790 PRG:3790 E8 + inx ; CPU:$B791 PRG:3791 E8 + inx ; CPU:$B792 PRG:3792 E8 + dey ; CPU:$B793 PRG:3793 88 + cpy Zp0E ; CPU:$B794 PRG:3794 C4 0E + bne NmiHandler_OnNonzero34 ; CPU:$B796 PRG:3796 D0 D7 + stx Zp4B ; CPU:$B798 PRG:3798 86 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop341 +; Global: Branch target inside NmiHandler: taken when Loop341. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop341: + jmp NmiHandler_Loop305 ; CPU:$B79A PRG:379A 4C 5F B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B79D +; Global: Branch target inside Sub: taken when B79D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B79D: + ldx #$02 ; CPU:$B79D PRG:379D A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative27 +; Global: Branch target inside NmiHandler: taken when OnNonnegative27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative27: + ldy $0430,x ; CPU:$B79F PRG:379F BC 30 04 + beq NmiHandler_Loop347 ; CPU:$B7A2 PRG:37A2 F0 66 + jsr Sub_CB5E ; CPU:$B7A4 PRG:37A4 20 5E CB + bcs NmiHandler_Loop346 ; CPU:$B7A7 PRG:37A7 B0 58 + lda $0424,x ; CPU:$B7A9 PRG:37A9 BD 24 04 + lsr a ; CPU:$B7AC PRG:37AC 4A + lsr a ; CPU:$B7AD PRG:37AD 4A + lsr a ; CPU:$B7AE PRG:37AE 4A + lsr a ; CPU:$B7AF PRG:37AF 4A + tay ; CPU:$B7B0 PRG:37B0 A8 + lda $A28B,y ; CPU:$B7B1 PRG:37B1 B9 8B A2 + pha ; CPU:$B7B4 PRG:37B4 48 + lda $0424,x ; CPU:$B7B5 PRG:37B5 BD 24 04 + and #$0F ; CPU:$B7B8 PRG:37B8 29 0F + tay ; CPU:$B7BA PRG:37BA A8 + pla ; CPU:$B7BB PRG:37BB 68 + clc ; CPU:$B7BC PRG:37BC 18 + adc $042A,x ; CPU:$B7BD PRG:37BD 7D 2A 04 + sta $042A,x ; CPU:$B7C0 PRG:37C0 9D 2A 04 + bcc NmiHandler_Loop342 ; CPU:$B7C3 PRG:37C3 90 01 + iny ; CPU:$B7C5 PRG:37C5 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop342 +; Global: Branch target inside NmiHandler: taken when Loop342. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop342: + lda $A292,y ; CPU:$B7C6 PRG:37C6 B9 92 A2 + bpl NmiHandler_Loop343 ; CPU:$B7C9 PRG:37C9 10 02 + dec ZpEA,x ; CPU:$B7CB PRG:37CB D6 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop343 +; Global: Branch target inside NmiHandler: taken when Loop343. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop343: + clc ; CPU:$B7CD PRG:37CD 18 + adc ZpD9,x ; CPU:$B7CE PRG:37CE 75 D9 + sta ZpD9,x ; CPU:$B7D0 PRG:37D0 95 D9 + bcc NmiHandler_Loop344 ; CPU:$B7D2 PRG:37D2 90 02 + inc ZpEA,x ; CPU:$B7D4 PRG:37D4 F6 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop344 +; Global: Branch target inside NmiHandler: taken when Loop344. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop344: + lda $0427,x ; CPU:$B7D6 PRG:37D6 BD 27 04 + lsr a ; CPU:$B7D9 PRG:37D9 4A + lsr a ; CPU:$B7DA PRG:37DA 4A + lsr a ; CPU:$B7DB PRG:37DB 4A + lsr a ; CPU:$B7DC PRG:37DC 4A + tay ; CPU:$B7DD PRG:37DD A8 + lda $A28B,y ; CPU:$B7DE PRG:37DE B9 8B A2 + pha ; CPU:$B7E1 PRG:37E1 48 + lda $0427,x ; CPU:$B7E2 PRG:37E2 BD 27 04 + and #$0F ; CPU:$B7E5 PRG:37E5 29 0F + tay ; CPU:$B7E7 PRG:37E7 A8 + pla ; CPU:$B7E8 PRG:37E8 68 + clc ; CPU:$B7E9 PRG:37E9 18 + adc $042D,x ; CPU:$B7EA PRG:37EA 7D 2D 04 + sta $042D,x ; CPU:$B7ED PRG:37ED 9D 2D 04 + bcc NmiHandler_Loop345 ; CPU:$B7F0 PRG:37F0 90 01 + iny ; CPU:$B7F2 PRG:37F2 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop345 +; Global: Branch target inside NmiHandler: taken when Loop345. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop345: + lda $A292,y ; CPU:$B7F3 PRG:37F3 B9 92 A2 + clc ; CPU:$B7F6 PRG:37F6 18 + adc $0421,x ; CPU:$B7F7 PRG:37F7 7D 21 04 + sta $0421,x ; CPU:$B7FA PRG:37FA 9D 21 04 + cmp #$B0 ; CPU:$B7FD PRG:37FD C9 B0 + bcc NmiHandler_Loop347 ; CPU:$B7FF PRG:37FF 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop346 +; Global: Branch target inside NmiHandler: taken when Loop346. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop346: + lda #$00 ; CPU:$B801 PRG:3801 A9 00 + sta $0430,x ; CPU:$B803 PRG:3803 9D 30 04 + sta ZpD9,x ; CPU:$B806 PRG:3806 95 D9 + sta ZpEA,x ; CPU:$B808 PRG:3808 95 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop347 +; Global: Branch target inside NmiHandler: taken when Loop347. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop347: + dex ; CPU:$B80A PRG:380A CA + bpl NmiHandler_OnNonnegative27 ; CPU:$B80B PRG:380B 10 92 + rts ; CPU:$B80D PRG:380D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B80E +; Global: Branch target inside Label: taken when B80E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B80E: + lda #$00 ; CPU:$B80E PRG:380E A9 00 + ldy #$02 ; CPU:$B810 PRG:3810 A0 02 + jsr Sub_B21C ; CPU:$B812 PRG:3812 20 1C B2 + ldy $0478,x ; CPU:$B815 PRG:3815 BC 78 04 + lda $A29C,y ; CPU:$B818 PRG:3818 B9 9C A2 + jsr Sub_C7B3 ; CPU:$B81B PRG:381B 20 B3 C7 + lda PlayerX,x ; CPU:$B81E PRG:381E B5 B0 + cmp #$B0 ; CPU:$B820 PRG:3820 C9 B0 + bcc NmiHandler_Loop351 ; CPU:$B822 PRG:3822 90 4A + lda Zp18 ; CPU:$B824 PRG:3824 A5 18 + lsr a ; CPU:$B826 PRG:3826 4A + bcc NmiHandler_Loop349 ; CPU:$B827 PRG:3827 90 18 + lda #$A8 ; CPU:$B829 PRG:3829 A9 A8 + sta PlayerX,x ; CPU:$B82B PRG:382B 95 B0 + lda Zp19 ; CPU:$B82D PRG:382D A5 19 + lsr a ; CPU:$B82F PRG:382F 4A + bcc NmiHandler_Loop348 ; CPU:$B830 PRG:3830 90 08 + jsr Sub_B89D ; CPU:$B832 PRG:3832 20 9D B8 + bcs NmiHandler_Loop348 ; CPU:$B835 PRG:3835 B0 03 + jmp Sub_B191 ; CPU:$B837 PRG:3837 4C 91 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop348 +; Global: Branch target inside NmiHandler: taken when Loop348. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop348: + lda #$01 ; CPU:$B83A PRG:383A A9 01 + sta ZpFF ; CPU:$B83C PRG:383C 85 FF + jmp Sub_B1E4 ; CPU:$B83E PRG:383E 4C E4 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop349: + jsr Sub_B8E1 ; CPU:$B841 PRG:3841 20 E1 B8 + lda #$01 ; CPU:$B844 PRG:3844 A9 01 + sta ZpFF ; CPU:$B846 PRG:3846 85 FF + jmp Sub_B257 ; CPU:$B848 PRG:3848 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + jsr Sub_B8E1 ; CPU:$B84B PRG:384B 20 E1 B8 + lda #$01 ; CPU:$B84E PRG:384E A9 01 + sta ZpFF ; CPU:$B850 PRG:3850 85 FF + lda Zp18 ; CPU:$B852 PRG:3852 A5 18 + lsr a ; CPU:$B854 PRG:3854 4A + bcc NmiHandler_Loop350 ; CPU:$B855 PRG:3855 90 14 + lda GameState,x ; CPU:$B857 PRG:3857 B5 C0 + eor #$01 ; CPU:$B859 PRG:3859 49 01 + sta GameState,x ; CPU:$B85B PRG:385B 95 C0 + lda #$01 ; CPU:$B85D PRG:385D A9 01 + sta SpriteTimer,x ; CPU:$B85F PRG:385F 95 80 + lsr a ; CPU:$B861 PRG:3861 4A + sta PlayerY,x ; CPU:$B862 PRG:3862 95 B7 + lda #$0B ; CPU:$B864 PRG:3864 A9 0B + sta EnemyIndex,x ; CPU:$B866 PRG:3866 95 87 + jmp Sub_DAB7 ; CPU:$B868 PRG:3868 4C B7 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop350: + jmp Sub_B257 ; CPU:$B86B PRG:386B 4C 57 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop351: + lda GameState,x ; CPU:$B86E PRG:386E B5 C0 + beq NmiHandler_Loop352 ; CPU:$B870 PRG:3870 F0 10 + lda $04FB,x ; CPU:$B872 PRG:3872 BD FB 04 + cmp EnemyHealth,x ; CPU:$B875 PRG:3875 D5 DF + bne NmiHandler_Loop353 ; CPU:$B877 PRG:3877 D0 17 + lda $04F6,x ; CPU:$B879 PRG:3879 BD F6 04 + cmp ZpCE,x ; CPU:$B87C PRG:387C D5 CE + bcc NmiHandler_OnCarrySet2 ; CPU:$B87E PRG:387E 90 CB + bcs NmiHandler_Loop353 ; CPU:$B880 PRG:3880 B0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop352: + lda $04FB,x ; CPU:$B882 PRG:3882 BD FB 04 + cmp EnemyHealth,x ; CPU:$B885 PRG:3885 D5 DF + bne NmiHandler_Loop353 ; CPU:$B887 PRG:3887 D0 07 + lda $04F6,x ; CPU:$B889 PRG:3889 BD F6 04 + cmp ZpCE,x ; CPU:$B88C PRG:388C D5 CE + bcs NmiHandler_OnCarrySet2 ; CPU:$B88E PRG:388E B0 BB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop353: + lda Zp49 ; CPU:$B890 PRG:3890 A5 49 + and #$03 ; CPU:$B892 PRG:3892 29 03 + bne NmiHandler_Loop354 ; CPU:$B894 PRG:3894 D0 06 + lda PlayerY,x ; CPU:$B896 PRG:3896 B5 B7 + eor #$01 ; CPU:$B898 PRG:3898 49 01 + sta PlayerY,x ; CPU:$B89A PRG:389A 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop354: + rts ; CPU:$B89C PRG:389C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B89D +; Global: Branch target inside Sub: taken when B89D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B89D: + ldy #$05 ; CPU:$B89D PRG:389D A0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative28 +; Global: Branch target inside NmiHandler: taken when OnNonnegative28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative28: + lda a:EnemyIndex,y ; CPU:$B89F PRG:389F B9 87 00 + cmp #$0E ; CPU:$B8A2 PRG:38A2 C9 0E + beq NmiHandler_Loop355 ; CPU:$B8A4 PRG:38A4 F0 05 + dey ; CPU:$B8A6 PRG:38A6 88 + bpl NmiHandler_OnNonnegative28 ; CPU:$B8A7 PRG:38A7 10 F6 + clc ; CPU:$B8A9 PRG:38A9 18 + rts ; CPU:$B8AA PRG:38AA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop355 +; Global: Branch target inside NmiHandler: taken when Loop355. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop355: + sec ; CPU:$B8AB PRG:38AB 38 + rts ; CPU:$B8AC PRG:38AC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8AD +; Global: Branch target inside Sub: taken when B8AD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8AD: + ldx #$02 ; CPU:$B8AD PRG:38AD A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative29 +; Global: Branch target inside NmiHandler: taken when OnNonnegative29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative29: + lda $0437,x ; CPU:$B8AF PRG:38AF BD 37 04 + beq NmiHandler_Loop356 ; CPU:$B8B2 PRG:38B2 F0 1F + lda $043A,x ; CPU:$B8B4 PRG:38B4 BD 3A 04 + beq NmiHandler_Loop356 ; CPU:$B8B7 PRG:38B7 F0 1A + dec $043A,x ; CPU:$B8B9 PRG:38B9 DE 3A 04 + cmp #$0C ; CPU:$B8BC PRG:38BC C9 0C + bcs NmiHandler_Loop357 ; CPU:$B8BE PRG:38BE B0 1D + lda #$DC ; CPU:$B8C0 PRG:38C0 A9 DC + sta $0437,x ; CPU:$B8C2 PRG:38C2 9D 37 04 + lda $043A,x ; CPU:$B8C5 PRG:38C5 BD 3A 04 + cmp #$06 ; CPU:$B8C8 PRG:38C8 C9 06 + bcs NmiHandler_Loop357 ; CPU:$B8CA PRG:38CA B0 11 + lda #$F0 ; CPU:$B8CC PRG:38CC A9 F0 + sta $0437,x ; CPU:$B8CE PRG:38CE 9D 37 04 + bne NmiHandler_Loop357 ; CPU:$B8D1 PRG:38D1 D0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop356 +; Global: Branch target inside NmiHandler: taken when Loop356. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop356: + lda #$80 ; CPU:$B8D3 PRG:38D3 A9 80 + sta ZpDC,x ; CPU:$B8D5 PRG:38D5 95 DC + sta ZpED,x ; CPU:$B8D7 PRG:38D7 95 ED + asl a ; CPU:$B8D9 PRG:38D9 0A + sta $0437,x ; CPU:$B8DA PRG:38DA 9D 37 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop357 +; Global: Branch target inside NmiHandler: taken when Loop357. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop357: + dex ; CPU:$B8DD PRG:38DD CA + bpl NmiHandler_OnNonnegative29 ; CPU:$B8DE PRG:38DE 10 CF + rts ; CPU:$B8E0 PRG:38E0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8E1 +; Global: Branch target inside Sub: taken when B8E1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8E1: + ldy #$02 ; CPU:$B8E1 PRG:38E1 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative30 +; Global: Branch target inside NmiHandler: taken when OnNonnegative30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative30: + lda $0437,y ; CPU:$B8E3 PRG:38E3 B9 37 04 + beq NmiHandler_Loop358 ; CPU:$B8E6 PRG:38E6 F0 04 + dey ; CPU:$B8E8 PRG:38E8 88 + bpl NmiHandler_OnNonnegative30 ; CPU:$B8E9 PRG:38E9 10 F8 + rts ; CPU:$B8EB PRG:38EB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop358 +; Global: Branch target inside NmiHandler: taken when Loop358. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop358: + lda #$DB ; CPU:$B8EC PRG:38EC A9 DB + sta $0437,y ; CPU:$B8EE PRG:38EE 99 37 04 + lda #$12 ; CPU:$B8F1 PRG:38F1 A9 12 + sta $043A,y ; CPU:$B8F3 PRG:38F3 99 3A 04 + lda EnemyHealth,x ; CPU:$B8F6 PRG:38F6 B5 DF + sta Zp08 ; CPU:$B8F8 PRG:38F8 85 08 + lda ZpCE,x ; CPU:$B8FA PRG:38FA B5 CE + sec ; CPU:$B8FC PRG:38FC 38 + sbc #$08 ; CPU:$B8FD PRG:38FD E9 08 + sta a:ZpDC,y ; CPU:$B8FF PRG:38FF 99 DC 00 + bcs NmiHandler_Loop359 ; CPU:$B902 PRG:3902 B0 02 + dec Zp08 ; CPU:$B904 PRG:3904 C6 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop359 +; Global: Branch target inside NmiHandler: taken when Loop359. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop359: + lda Zp08 ; CPU:$B906 PRG:3906 A5 08 + sta a:ZpED,y ; CPU:$B908 PRG:3908 99 ED 00 + lda PlayerX,x ; CPU:$B90B PRG:390B B5 B0 + sta $043D,y ; CPU:$B90D PRG:390D 99 3D 04 + rts ; CPU:$B910 PRG:3910 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B911 +; Global: Branch target inside Sub: taken when B911. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B911: + ldx #$02 ; CPU:$B911 PRG:3911 A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative31 +; Global: Branch target inside NmiHandler: taken when OnNonnegative31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative31: + lda ZpAD,x ; CPU:$B913 PRG:3913 B5 AD + cmp #$01 ; CPU:$B915 PRG:3915 C9 01 + bne NmiHandler_Loop360 ; CPU:$B917 PRG:3917 D0 6D + lda $0437,x ; CPU:$B919 PRG:3919 BD 37 04 + beq NmiHandler_Loop360 ; CPU:$B91C PRG:391C F0 68 + lda #$00 ; CPU:$B91E PRG:391E A9 00 + sta Zp04 ; CPU:$B920 PRG:3920 85 04 + ora #$40 ; CPU:$B922 PRG:3922 09 40 + sta Zp05 ; CPU:$B924 PRG:3924 85 05 + ora #$80 ; CPU:$B926 PRG:3926 09 80 + sta Zp07 ; CPU:$B928 PRG:3928 85 07 + lda Zp04 ; CPU:$B92A PRG:392A A5 04 + ora #$80 ; CPU:$B92C PRG:392C 09 80 + sta Zp06 ; CPU:$B92E PRG:392E 85 06 + lda Zp9C,x ; CPU:$B930 PRG:3930 B5 9C + sta VramWritePtrLo ; CPU:$B932 PRG:3932 85 00 + lda $043D,x ; CPU:$B934 PRG:3934 BD 3D 04 + sta VramWritePtrHi ; CPU:$B937 PRG:3937 85 01 + ldy Zp4C ; CPU:$B939 PRG:3939 A4 4C + lda VramWritePtrHi ; CPU:$B93B PRG:393B A5 01 + sta $06D0,y ; CPU:$B93D PRG:393D 99 D0 06 + sta $06D4,y ; CPU:$B940 PRG:3940 99 D4 06 + clc ; CPU:$B943 PRG:3943 18 + adc #$08 ; CPU:$B944 PRG:3944 69 08 + sta $06D8,y ; CPU:$B946 PRG:3946 99 D8 06 + sta $06DC,y ; CPU:$B949 PRG:3949 99 DC 06 + lda $0437,x ; CPU:$B94C PRG:394C BD 37 04 + sta $06D1,y ; CPU:$B94F PRG:394F 99 D1 06 + sta $06D5,y ; CPU:$B952 PRG:3952 99 D5 06 + sta $06D9,y ; CPU:$B955 PRG:3955 99 D9 06 + sta $06DD,y ; CPU:$B958 PRG:3958 99 DD 06 + lda Zp04 ; CPU:$B95B PRG:395B A5 04 + sta $06D2,y ; CPU:$B95D PRG:395D 99 D2 06 + lda Zp05 ; CPU:$B960 PRG:3960 A5 05 + sta $06D6,y ; CPU:$B962 PRG:3962 99 D6 06 + lda Zp06 ; CPU:$B965 PRG:3965 A5 06 + sta $06DA,y ; CPU:$B967 PRG:3967 99 DA 06 + lda Zp07 ; CPU:$B96A PRG:396A A5 07 + sta $06DE,y ; CPU:$B96C PRG:396C 99 DE 06 + lda VramWritePtrLo ; CPU:$B96F PRG:396F A5 00 + sta $06D3,y ; CPU:$B971 PRG:3971 99 D3 06 + sta $06DB,y ; CPU:$B974 PRG:3974 99 DB 06 + clc ; CPU:$B977 PRG:3977 18 + adc #$08 ; CPU:$B978 PRG:3978 69 08 + sta $06D7,y ; CPU:$B97A PRG:397A 99 D7 06 + sta $06DF,y ; CPU:$B97D PRG:397D 99 DF 06 + tya ; CPU:$B980 PRG:3980 98 + clc ; CPU:$B981 PRG:3981 18 + adc #$10 ; CPU:$B982 PRG:3982 69 10 + sta Zp4C ; CPU:$B984 PRG:3984 85 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop360 +; Global: Branch target inside NmiHandler: taken when Loop360. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop360: + dex ; CPU:$B986 PRG:3986 CA + bpl NmiHandler_OnNonnegative31 ; CPU:$B987 PRG:3987 10 8A + rts ; CPU:$B989 PRG:3989 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B98A +; Global: Branch target inside Sub: taken when B98A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B98A: + ldx #$02 ; CPU:$B98A PRG:398A A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative32 +; Global: Branch target inside NmiHandler: taken when OnNonnegative32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative32: + lda ZpAA,x ; CPU:$B98C PRG:398C B5 AA + cmp #$01 ; CPU:$B98E PRG:398E C9 01 + bne NmiHandler_Loop361 ; CPU:$B990 PRG:3990 D0 22 + ldy $0430,x ; CPU:$B992 PRG:3992 BC 30 04 + beq NmiHandler_Loop361 ; CPU:$B995 PRG:3995 F0 1D + ldy Zp4C ; CPU:$B997 PRG:3997 A4 4C + lda $0421,x ; CPU:$B999 PRG:3999 BD 21 04 + sta $06D0,y ; CPU:$B99C PRG:399C 99 D0 06 + iny ; CPU:$B99F PRG:399F C8 + lda #$E4 ; CPU:$B9A0 PRG:39A0 A9 E4 + sta $06D0,y ; CPU:$B9A2 PRG:39A2 99 D0 06 + iny ; CPU:$B9A5 PRG:39A5 C8 + lda #$03 ; CPU:$B9A6 PRG:39A6 A9 03 + sta $06D0,y ; CPU:$B9A8 PRG:39A8 99 D0 06 + iny ; CPU:$B9AB PRG:39AB C8 + lda Zp99,x ; CPU:$B9AC PRG:39AC B5 99 + sta $06D0,y ; CPU:$B9AE PRG:39AE 99 D0 06 + iny ; CPU:$B9B1 PRG:39B1 C8 + sty Zp4C ; CPU:$B9B2 PRG:39B2 84 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop361 +; Global: Branch target inside NmiHandler: taken when Loop361. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop361: + dex ; CPU:$B9B4 PRG:39B4 CA + bpl NmiHandler_OnNonnegative32 ; CPU:$B9B5 PRG:39B5 10 D5 + rts ; CPU:$B9B7 PRG:39B7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B9B8 +; Global: Branch target inside Sub: taken when B9B8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B9B8: + ldx #$03 ; CPU:$B9B8 PRG:39B8 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative33 +; Global: Branch target inside NmiHandler: taken when OnNonnegative33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative33: + txa ; CPU:$B9BA PRG:39BA 8A + sta $03C2,x ; CPU:$B9BB PRG:39BB 9D C2 03 + lda $04DC,x ; CPU:$B9BE PRG:39BE BD DC 04 + sta VramWritePtrLo,x ; CPU:$B9C1 PRG:39C1 95 00 + dex ; CPU:$B9C3 PRG:39C3 CA + bpl NmiHandler_OnNonnegative33 ; CPU:$B9C4 PRG:39C4 10 F4 + ldx #$03 ; CPU:$B9C6 PRG:39C6 A2 03 + stx Zp05 ; CPU:$B9C8 PRG:39C8 86 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero35: + ldy #$00 ; CPU:$B9CA PRG:39CA A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero36: + ldx $03C2,y ; CPU:$B9CC PRG:39CC BE C2 03 + lda VramWritePtrLo,x ; CPU:$B9CF PRG:39CF B5 00 + ldx $03C3,y ; CPU:$B9D1 PRG:39D1 BE C3 03 + cmp VramWritePtrLo,x ; CPU:$B9D4 PRG:39D4 D5 00 + bcc NmiHandler_Loop362 ; CPU:$B9D6 PRG:39D6 90 0A + lda $03C2,y ; CPU:$B9D8 PRG:39D8 B9 C2 03 + sta $03C3,y ; CPU:$B9DB PRG:39DB 99 C3 03 + txa ; CPU:$B9DE PRG:39DE 8A + sta $03C2,y ; CPU:$B9DF PRG:39DF 99 C2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop362 +; Global: Branch target inside NmiHandler: taken when Loop362. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop362: + iny ; CPU:$B9E2 PRG:39E2 C8 + cpy Zp05 ; CPU:$B9E3 PRG:39E3 C4 05 + bne NmiHandler_OnNonzero36 ; CPU:$B9E5 PRG:39E5 D0 E5 + dec Zp05 ; CPU:$B9E7 PRG:39E7 C6 05 + bne NmiHandler_OnNonzero35 ; CPU:$B9E9 PRG:39E9 D0 DF + rts ; CPU:$B9EB PRG:39EB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B9EC +; Global: Branch target inside Sub: taken when B9EC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B9EC: + ldx #$05 ; CPU:$B9EC PRG:39EC A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative34 +; Global: Branch target inside NmiHandler: taken when OnNonnegative34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative34: + lda #$00 ; CPU:$B9EE PRG:39EE A9 00 + sta VramWritePtrLo ; CPU:$B9F0 PRG:39F0 85 00 + sta VramWritePtrHi ; CPU:$B9F2 PRG:39F2 85 01 + lda ZpCE,x ; CPU:$B9F4 PRG:39F4 B5 CE + sec ; CPU:$B9F6 PRG:39F6 38 + sbc ZpD4 ; CPU:$B9F7 PRG:39F7 E5 D4 + sta $04DC,x ; CPU:$B9F9 PRG:39F9 9D DC 04 + lda EnemyHealth,x ; CPU:$B9FC PRG:39FC B5 DF + sbc ZpE5 ; CPU:$B9FE PRG:39FE E5 E5 + bpl NmiHandler_Loop363 ; CPU:$BA00 PRG:3A00 10 06 + nop ; CPU:$BA02 PRG:3A02 EA + dec VramWritePtrLo ; CPU:$BA03 PRG:3A03 C6 00 + jmp Sub_BA0D ; CPU:$BA05 PRG:3A05 4C 0D BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop363 +; Global: Branch target inside NmiHandler: taken when Loop363. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop363: + dec VramWritePtrHi ; CPU:$BA08 PRG:3A08 C6 01 + jmp Sub_BA0D ; CPU:$BA0A PRG:3A0A 4C 0D BA +; ----------------------------------------------------------------------------- +; Routine: Sub_BA0D +; Global: Branch target inside Sub: taken when BA0D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA0D: + eor VramWritePtrLo ; CPU:$BA0D PRG:3A0D 45 00 + sta $04E3,x ; CPU:$BA0F PRG:3A0F 9D E3 04 + lda $04DC,x ; CPU:$BA12 PRG:3A12 BD DC 04 + eor VramWritePtrLo ; CPU:$BA15 PRG:3A15 45 00 + clc ; CPU:$BA17 PRG:3A17 18 + adc VramWritePtrHi ; CPU:$BA18 PRG:3A18 65 01 + sta $04DC,x ; CPU:$BA1A PRG:3A1A 9D DC 04 + dex ; CPU:$BA1D PRG:3A1D CA + bpl NmiHandler_OnNonnegative34 ; CPU:$BA1E PRG:3A1E 10 CE + rts ; CPU:$BA20 PRG:3A20 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA21 +; Global: Branch target inside Sub: taken when BA21. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA21: + ldx #$0A ; CPU:$BA21 PRG:3A21 A2 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative35 +; Global: Branch target inside NmiHandler: taken when OnNonnegative35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative35: + lda ZpE5 ; CPU:$BA23 PRG:3A23 A5 E5 + cmp EnemyHealth,x ; CPU:$BA25 PRG:3A25 D5 DF + beq NmiHandler_Loop364 ; CPU:$BA27 PRG:3A27 F0 10 + nop ; CPU:$BA29 PRG:3A29 EA + lda ZpE5 ; CPU:$BA2A PRG:3A2A A5 E5 + sec ; CPU:$BA2C PRG:3A2C 38 + sbc EnemyHealth,x ; CPU:$BA2D PRG:3A2D F5 DF + lda #$00 ; CPU:$BA2F PRG:3A2F A9 00 + adc #$00 ; CPU:$BA31 PRG:3A31 69 00 + sta $04EA,x ; CPU:$BA33 PRG:3A33 9D EA 04 + jmp Sub_BA4A ; CPU:$BA36 PRG:3A36 4C 4A BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop364 +; Global: Branch target inside NmiHandler: taken when Loop364. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop364: + lda ZpD4 ; CPU:$BA39 PRG:3A39 A5 D4 + sec ; CPU:$BA3B PRG:3A3B 38 + sbc ZpCE,x ; CPU:$BA3C PRG:3A3C F5 CE + lda #$00 ; CPU:$BA3E PRG:3A3E A9 00 + adc #$00 ; CPU:$BA40 PRG:3A40 69 00 + sta $04EA,x ; CPU:$BA42 PRG:3A42 9D EA 04 + jmp Sub_BA4A ; CPU:$BA45 PRG:3A45 4C 4A BA +; ----------------------------------------------------------------------------- +; Routine: Label_BA48 +; Global: Branch target inside Label: taken when BA48. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA48: + nop ; CPU:$BA48 PRG:3A48 EA + nop ; CPU:$BA49 PRG:3A49 EA +; ----------------------------------------------------------------------------- +; Routine: Sub_BA4A +; Global: Branch target inside Sub: taken when BA4A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA4A: + dex ; CPU:$BA4A PRG:3A4A CA + bpl NmiHandler_OnNonnegative35 ; CPU:$BA4B PRG:3A4B 10 D6 + rts ; CPU:$BA4D PRG:3A4D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA4E +; Global: Branch target inside Sub: taken when BA4E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA4E: + lda Zp5A ; CPU:$BA4E PRG:3A4E A5 5A + cmp #$3E ; CPU:$BA50 PRG:3A50 C9 3E + bne NmiHandler_Loop368 ; CPU:$BA52 PRG:3A52 D0 64 + lda Zp5B ; CPU:$BA54 PRG:3A54 A5 5B + cmp #$AC ; CPU:$BA56 PRG:3A56 C9 AC + bne NmiHandler_Loop368 ; CPU:$BA58 PRG:3A58 D0 5E + ldx #$03 ; CPU:$BA5A PRG:3A5A A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative36 +; Global: Branch target inside NmiHandler: taken when OnNonnegative36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative36: + lda #$02 ; CPU:$BA5C PRG:3A5C A9 02 + sta VramWritePtrLo ; CPU:$BA5E PRG:3A5E 85 00 + lda #$20 ; CPU:$BA60 PRG:3A60 A9 20 + sta Zp05 ; CPU:$BA62 PRG:3A62 85 05 + lda #$02 ; CPU:$BA64 PRG:3A64 A9 02 + bne NmiHandler_Loop366 ; CPU:$BA66 PRG:3A66 D0 34 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative37 +; Global: Branch target inside NmiHandler: taken when OnNonnegative37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative37: + ldy Zp4D ; CPU:$BA68 PRG:3A68 A4 4D + sta $0733,y ; CPU:$BA6A PRG:3A6A 99 33 07 + sta $0737,y ; CPU:$BA6D PRG:3A6D 99 37 07 + lda VramWritePtrHi ; CPU:$BA70 PRG:3A70 A5 01 + cmp #$01 ; CPU:$BA72 PRG:3A72 C9 01 + bne NmiHandler_Loop365 ; CPU:$BA74 PRG:3A74 D0 24 + lda $0450,x ; CPU:$BA76 PRG:3A76 BD 50 04 + sta $0730,y ; CPU:$BA79 PRG:3A79 99 30 07 + clc ; CPU:$BA7C PRG:3A7C 18 + adc #$05 ; CPU:$BA7D PRG:3A7D 69 05 + sta $0734,y ; CPU:$BA7F PRG:3A7F 99 34 07 + lda #$F1 ; CPU:$BA82 PRG:3A82 A9 F1 + sta $0731,y ; CPU:$BA84 PRG:3A84 99 31 07 + sta $0735,y ; CPU:$BA87 PRG:3A87 99 35 07 + lda Zp05 ; CPU:$BA8A PRG:3A8A A5 05 + sta $0732,y ; CPU:$BA8C PRG:3A8C 99 32 07 + eor #$80 ; CPU:$BA8F PRG:3A8F 49 80 + sta $0736,y ; CPU:$BA91 PRG:3A91 99 36 07 + tya ; CPU:$BA94 PRG:3A94 98 + clc ; CPU:$BA95 PRG:3A95 18 + adc #$08 ; CPU:$BA96 PRG:3A96 69 08 + sta Zp4D ; CPU:$BA98 PRG:3A98 85 4D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop365 +; Global: Branch target inside NmiHandler: taken when Loop365. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop365: + lda #$06 ; CPU:$BA9A PRG:3A9A A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop366 +; Global: Branch target inside NmiHandler: taken when Loop366. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop366: + sta DispatchPtrHi ; CPU:$BA9C PRG:3A9C 85 03 + lda Zp05 ; CPU:$BA9E PRG:3A9E A5 05 + eor #$40 ; CPU:$BAA0 PRG:3AA0 49 40 + sta Zp05 ; CPU:$BAA2 PRG:3AA2 85 05 + lda ZpA6,x ; CPU:$BAA4 PRG:3AA4 B5 A6 + sta VramWritePtrHi ; CPU:$BAA6 PRG:3AA6 85 01 + lda Zp95,x ; CPU:$BAA8 PRG:3AA8 B5 95 + sec ; CPU:$BAAA PRG:3AAA 38 + sbc DispatchPtrHi ; CPU:$BAAB PRG:3AAB E5 03 + bcs NmiHandler_Loop367 ; CPU:$BAAD PRG:3AAD B0 02 + dec VramWritePtrHi ; CPU:$BAAF PRG:3AAF C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop367 +; Global: Branch target inside NmiHandler: taken when Loop367. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop367: + dec VramWritePtrLo ; CPU:$BAB1 PRG:3AB1 C6 00 + bpl NmiHandler_OnNonnegative37 ; CPU:$BAB3 PRG:3AB3 10 B3 + dex ; CPU:$BAB5 PRG:3AB5 CA + bpl NmiHandler_OnNonnegative36 ; CPU:$BAB6 PRG:3AB6 10 A4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop368 +; Global: Branch target inside NmiHandler: taken when Loop368. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop368: + rts ; CPU:$BAB8 PRG:3AB8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BAB9 +; Global: Branch target inside Sub: taken when BAB9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BAB9: + lda Zp12 ; CPU:$BAB9 PRG:3AB9 A5 12 + and #$70 ; CPU:$BABB PRG:3ABB 29 70 + beq NmiHandler_Loop369 ; CPU:$BABD PRG:3ABD F0 04 + and #$30 ; CPU:$BABF PRG:3ABF 29 30 + beq NmiHandler_Loop370 ; CPU:$BAC1 PRG:3AC1 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop369 +; Global: Branch target inside NmiHandler: taken when Loop369. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop369: + lda #$00 ; CPU:$BAC3 PRG:3AC3 A9 00 + sta $0385 ; CPU:$BAC5 PRG:3AC5 8D 85 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero37: + rts ; CPU:$BAC8 PRG:3AC8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop370 +; Global: Branch target inside NmiHandler: taken when Loop370. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop370: + lda $0385 ; CPU:$BAC9 PRG:3AC9 AD 85 03 + bne NmiHandler_OnNonzero37 ; CPU:$BACC PRG:3ACC D0 FA + lda $0372 ; CPU:$BACE PRG:3ACE AD 72 03 + bne NmiHandler_Loop372 ; CPU:$BAD1 PRG:3AD1 D0 11 + lda Zp65 ; CPU:$BAD3 PRG:3AD3 A5 65 + eor #$07 ; CPU:$BAD5 PRG:3AD5 49 07 + tax ; CPU:$BAD7 PRG:3AD7 AA + lda Zp12 ; CPU:$BAD8 PRG:3AD8 A5 12 + bpl NmiHandler_Loop371 ; CPU:$BADA PRG:3ADA 10 02 + dex ; CPU:$BADC PRG:3ADC CA + dex ; CPU:$BADD PRG:3ADD CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop371 +; Global: Branch target inside NmiHandler: taken when Loop371. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop371: + dex ; CPU:$BADE PRG:3ADE CA + lda Zp61 ; CPU:$BADF PRG:3ADF A5 61 + jmp Sub_BAF1 ; CPU:$BAE1 PRG:3AE1 4C F1 BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop372 +; Global: Branch target inside NmiHandler: taken when Loop372. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop372: + ldx Zp65 ; CPU:$BAE4 PRG:3AE4 A6 65 + lda Zp12 ; CPU:$BAE6 PRG:3AE6 A5 12 + bmi NmiHandler_Loop373 ; CPU:$BAE8 PRG:3AE8 30 02 + dex ; CPU:$BAEA PRG:3AEA CA + dex ; CPU:$BAEB PRG:3AEB CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop373 +; Global: Branch target inside NmiHandler: taken when Loop373. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop373: + inx ; CPU:$BAEC PRG:3AEC E8 + lda Zp61 ; CPU:$BAED PRG:3AED A5 61 + eor #$01 ; CPU:$BAEF PRG:3AEF 49 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_BAF1 +; Global: Branch target inside Sub: taken when BAF1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BAF1: + sta VramWritePtrLo ; CPU:$BAF1 PRG:3AF1 85 00 + cpx #$07 ; CPU:$BAF3 PRG:3AF3 E0 07 + bcs NmiHandler_Loop375 ; CPU:$BAF5 PRG:3AF5 B0 64 + stx VramWritePtrHi ; CPU:$BAF7 PRG:3AF7 86 01 + lda #$03 ; CPU:$BAF9 PRG:3AF9 A9 03 + sta DispatchPtrLo ; CPU:$BAFB PRG:3AFB 85 02 + cpx #$06 ; CPU:$BAFD PRG:3AFD E0 06 + beq NmiHandler_Loop374 ; CPU:$BAFF PRG:3AFF F0 02 + lda #$00 ; CPU:$BB01 PRG:3B01 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop374 +; Global: Branch target inside NmiHandler: taken when Loop374. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop374: + tax ; CPU:$BB03 PRG:3B03 AA + ldy $0300 ; CPU:$BB04 PRG:3B04 AC 00 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero38: + lda $A48A,x ; CPU:$BB07 PRG:3B07 BD 8A A4 + sta $0304,y ; CPU:$BB0A PRG:3B0A 99 04 03 + lda $A490,x ; CPU:$BB0D PRG:3B0D BD 90 A4 + sta $030A,y ; CPU:$BB10 PRG:3B10 99 0A 03 + inx ; CPU:$BB13 PRG:3B13 E8 + iny ; CPU:$BB14 PRG:3B14 C8 + dec DispatchPtrLo ; CPU:$BB15 PRG:3B15 C6 02 + bne NmiHandler_OnNonzero38 ; CPU:$BB17 PRG:3B17 D0 EE + lda VramWritePtrHi ; CPU:$BB19 PRG:3B19 A5 01 + asl a ; CPU:$BB1B PRG:3B1B 0A + tax ; CPU:$BB1C PRG:3B1C AA + ldy $0300 ; CPU:$BB1D PRG:3B1D AC 00 03 + lda VramWritePtrLo ; CPU:$BB20 PRG:3B20 A5 00 + asl a ; CPU:$BB22 PRG:3B22 0A + asl a ; CPU:$BB23 PRG:3B23 0A + ora #$21 ; CPU:$BB24 PRG:3B24 09 21 + sta $0301,y ; CPU:$BB26 PRG:3B26 99 01 03 + sta $0307,y ; CPU:$BB29 PRG:3B29 99 07 03 + lda $0384 ; CPU:$BB2C PRG:3B2C AD 84 03 + sta $0302,y ; CPU:$BB2F PRG:3B2F 99 02 03 + clc ; CPU:$BB32 PRG:3B32 18 + adc #$20 ; CPU:$BB33 PRG:3B33 69 20 + sta $0308,y ; CPU:$BB35 PRG:3B35 99 08 03 + lda #$03 ; CPU:$BB38 PRG:3B38 A9 03 + sta $0303,y ; CPU:$BB3A PRG:3B3A 99 03 03 + sta $0309,y ; CPU:$BB3D PRG:3B3D 99 09 03 + lda $A47C,x ; CPU:$BB40 PRG:3B40 BD 7C A4 + sta $0305,y ; CPU:$BB43 PRG:3B43 99 05 03 + lda $A47D,x ; CPU:$BB46 PRG:3B46 BD 7D A4 + sta $030B,y ; CPU:$BB49 PRG:3B49 99 0B 03 + lda #$00 ; CPU:$BB4C PRG:3B4C A9 00 + sta $030D,y ; CPU:$BB4E PRG:3B4E 99 0D 03 + tya ; CPU:$BB51 PRG:3B51 98 + clc ; CPU:$BB52 PRG:3B52 18 + adc #$12 ; CPU:$BB53 PRG:3B53 69 12 + sta $0300 ; CPU:$BB55 PRG:3B55 8D 00 03 + sta $0385 ; CPU:$BB58 PRG:3B58 8D 85 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop375 +; Global: Branch target inside NmiHandler: taken when Loop375. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop375: + rts ; CPU:$BB5B PRG:3B5B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BB5C +; Global: Branch target inside Sub: taken when BB5C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BB5C: + lda #$12 ; CPU:$BB5C PRG:3B5C A9 12 + sta EnemyIndex ; CPU:$BB5E PRG:3B5E 85 87 + lda #$01 ; CPU:$BB60 PRG:3B60 A9 01 + sta SpriteTimer ; CPU:$BB62 PRG:3B62 85 80 + lda #$97 ; CPU:$BB64 PRG:3B64 A9 97 + sta PlayerX ; CPU:$BB66 PRG:3B66 85 B0 + lda #$00 ; CPU:$BB68 PRG:3B68 A9 00 + sta EnemyHealth ; CPU:$BB6A PRG:3B6A 85 DF + lda #$40 ; CPU:$BB6C PRG:3B6C A9 40 + sta ZpCE ; CPU:$BB6E PRG:3B6E 85 CE + lda #$00 ; CPU:$BB70 PRG:3B70 A9 00 + sta PlayerY ; CPU:$BB72 PRG:3B72 85 B7 + lda Zp51 ; CPU:$BB74 PRG:3B74 A5 51 + cmp #$05 ; CPU:$BB76 PRG:3B76 C9 05 + bne NmiHandler_Loop376 ; CPU:$BB78 PRG:3B78 D0 08 + lda #$01 ; CPU:$BB7A PRG:3B7A A9 01 + sta GameMode ; CPU:$BB7C PRG:3B7C 85 9F + lda #$40 ; CPU:$BB7E PRG:3B7E A9 40 + sta Zp8E ; CPU:$BB80 PRG:3B80 85 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop376 +; Global: Branch target inside NmiHandler: taken when Loop376. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop376: + rts ; CPU:$BB82 PRG:3B82 60 +; ---- data $BB83-$BDD1 (591 bytes) ---- +; referenced by `lda $BB8E,x` at $BDD4 (operand $BB8E falls inside this region) +; referenced by `lda $BB9A,x` at $BDDA (operand $BB9A falls inside this region) +; referenced by `lda $BB89,y` at $BDE6 (operand $BB89 falls inside this region) +; referenced by `cmp $BDCE,y` at $BE39 (operand $BDCE falls inside this region) +; referenced by `cmp $BDD0,y` at $BE4C (operand $BDD0 falls inside this region) +; referenced by `lda $BB9E,y` at $BEAD (operand $BB9E falls inside this region) +; ... and 52 further references from decoded code +SpriteOamAttributeTable: + .byte $90, $A8, $09, $0B, $11, $0D, $40, $40, $56, $56, $66, $0F, $0E, $0B, $0A, $02 ; CPU:$BB83 PRG:-47D 90 A8 09 0B 11 0D 40 40 56 56 66 0F 0E 0B 0A 02 + .byte $02, $03, $03, $20, $60, $00, $80, $04, $06, $08, $08, $03, $04, $05, $06, $92 ; CPU:$BB93 PRG:3B93 02 03 03 20 60 00 80 04 06 08 08 03 04 05 06 92 + .byte $9C, $00, $00, $92, $BD, $B8, $00, $00, $B8, $8F, $8A, $86, $82, $7C, $7F, $82 ; CPU:$BBA3 PRG:3BA3 9C 00 00 92 BD B8 00 00 B8 8F 8A 86 82 7C 7F 82 + .byte $86, $8A, $8F, $B2, $AF, $AC, $A8, $A0, $A4, $A8, $AC, $AF, $B2, $04, $FC, $03 ; CPU:$BBB3 PRG:3BB3 86 8A 8F B2 AF AC A8 A0 A4 A8 AC AF B2 04 FC 03 + .byte $03, $03, $03, $0A, $03, $0E, $03, $07, $07, $07, $07, $10, $07, $10, $07, $0A ; CPU:$BBC3 PRG:3BC3 03 03 03 0A 03 0E 03 07 07 07 07 10 07 10 07 0A + .byte $1A, $0A, $0A, $0A, $00, $0A, $0A, $00, $00, $02, $02, $02, $02, $10, $02, $00 ; CPU:$BBD3 PRG:3BD3 1A 0A 0A 0A 00 0A 0A 00 00 02 02 02 02 10 02 00 + .byte $02, $30, $30, $30, $30, $30, $30, $20, $30, $00, $00, $08, $08, $10, $08, $14 ; CPU:$BBE3 PRG:3BE3 02 30 30 30 30 30 30 20 30 00 00 08 08 10 08 14 + .byte $08, $00, $08, $04, $04, $04, $04, $08, $00, $04, $04, $00, $00, $04, $04, $04 ; CPU:$BBF3 PRG:3BF3 08 00 08 04 04 04 04 08 00 04 04 00 00 04 04 04 + .byte $04, $04, $04, $00, $04, $04, $04, $04, $04, $04, $06, $04, $04, $00, $00, $04 ; CPU:$BC03 PRG:3C03 04 04 04 00 04 04 04 04 04 04 06 04 04 00 00 04 + .byte $04, $04, $04, $04, $04, $00, $04, $96, $96, $A0, $B0, $78, $87, $A0, $A0, $A3 ; CPU:$BC13 PRG:3C13 04 04 04 04 04 00 04 96 96 A0 B0 78 87 A0 A0 A3 + .byte $B8, $80, $98, $0A, $0E, $0A, $0E, $0A, $0C, $08, $08, $08, $08, $08, $0B, $98 ; CPU:$BC23 PRG:3C23 B8 80 98 0A 0E 0A 0E 0A 0C 08 08 08 08 08 0B 98 + .byte $98, $A0, $B0, $78, $92, $08, $08, $07, $0A, $06, $0A, $07, $12, $00, $04, $00 ; CPU:$BC33 PRG:3C33 98 A0 B0 78 92 08 08 07 0A 06 0A 07 12 00 04 00 + .byte $00, $12, $0D, $12, $12, $18, $12, $00, $00, $10, $10, $19, $19, $19, $19, $19 ; CPU:$BC43 PRG:3C43 00 12 0D 12 12 18 12 00 00 10 10 19 19 19 19 19 + .byte $19, $00, $00, $0C, $08, $0C, $0C, $12, $0C, $00, $00, $0A, $0A, $12, $12, $12 ; CPU:$BC53 PRG:3C53 19 00 00 0C 08 0C 0C 12 0C 00 00 0A 0A 12 12 12 + .byte $12, $12, $12, $00, $00, $00, $06, $0C, $12, $18, $1E, $24, $24, $2A, $2A, $2A ; CPU:$BC63 PRG:3C63 12 12 12 00 00 00 06 0C 12 18 1E 24 24 2A 2A 2A + .byte $2A, $30, $2A, $18, $2A, $01, $01, $01, $01, $00, $01, $0D, $09, $0D, $09, $00 ; CPU:$BC73 PRG:3C73 2A 30 2A 18 2A 01 01 01 01 00 01 0D 09 0D 09 00 + .byte $19, $0D, $0D, $0D, $0D, $00, $19, $09, $07, $09, $07, $00, $19, $00, $00, $0D ; CPU:$BC83 PRG:3C83 19 0D 0D 0D 0D 00 19 09 07 09 07 00 19 00 00 0D + .byte $00, $00, $00, $0D, $09, $0D, $09, $00, $19, $00, $00, $00, $00, $00, $00, $01 ; CPU:$BC93 PRG:3C93 00 00 00 0D 09 0D 09 00 19 00 00 00 00 00 00 01 + .byte $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $01, $07, $F8, $90, $A0, $98 ; CPU:$BCA3 PRG:3CA3 01 01 01 01 01 01 01 00 00 00 01 07 F8 90 A0 98 + .byte $A8, $12, $12, $1C, $1C, $FF, $00, $FF, $00, $00, $00, $00, $00, $01, $00, $00 ; CPU:$BCB3 PRG:3CB3 A8 12 12 1C 1C FF 00 FF 00 00 00 00 00 01 00 00 + .byte $01, $00, $01, $02, $01, $01, $02, $02, $02, $03, $02, $03, $04, $08, $2C, $80 ; CPU:$BCC3 PRG:3CC3 01 00 01 02 01 01 02 02 02 03 02 03 04 08 2C 80 + .byte $04, $FC, $FC, $FC, $FC, $00, $FD, $03, $09, $0F, $15, $15, $1B, $21, $FD, $FD ; CPU:$BCD3 PRG:3CD3 04 FC FC FC FC 00 FD 03 09 0F 15 15 1B 21 FD FD + .byte $27, $0F, $2D, $33, $0F, $33, $FD, $0F, $BC, $BD, $BD, $BD, $BD, $BD, $BD, $BD ; CPU:$BCE3 PRG:3CE3 27 0F 2D 33 0F 33 FD 0F BC BD BD BD BD BD BD BD + .byte $BC, $BC, $BD, $BD, $BD, $BD, $BD, $BD, $BC, $BD, $01, $00, $01, $00, $00, $01 ; CPU:$BCF3 PRG:3CF3 BC BC BD BD BD BD BD BD BC BD 01 00 01 00 00 01 + .byte $04, $04, $05, $04, $06, $06, $08, $07, $08, $07, $00, $09, $0A, $0A, $0A, $0A ; CPU:$BD03 PRG:3D03 04 04 05 04 06 06 08 07 08 07 00 09 0A 0A 0A 0A + .byte $0A, $0A, $0B, $0B, $0B, $0B, $0B, $0B, $00, $00, $0C, $00, $00, $00, $0D, $0D ; CPU:$BD13 PRG:3D13 0A 0A 0B 0B 0B 0B 0B 0B 00 00 0C 00 00 00 0D 0D + .byte $0D, $0D, $00, $0D, $0F, $0E, $0F, $0E, $0F, $0E, $00, $00, $00, $00, $10, $10 ; CPU:$BD23 PRG:3D23 0D 0D 00 0D 0F 0E 0F 0E 0F 0E 00 00 00 00 10 10 + .byte $15, $11, $15, $11, $15, $11, $00, $04, $0C, $18, $04, $08, $0C, $10, $18, $1C ; CPU:$BD33 PRG:3D33 15 11 15 11 15 11 00 04 0C 18 04 08 0C 10 18 1C + .byte $20, $24, $28, $2C, $10, $14, $1C, $00, $04, $0C, $00, $04, $08, $14, $04, $28 ; CPU:$BD43 PRG:3D43 20 24 28 2C 10 14 1C 00 04 0C 00 04 08 14 04 28 + .byte $31, $02, $01, $00, $32, $02, $02, $00, $33, $02, $03, $00, $34, $02, $04, $00 ; CPU:$BD53 PRG:3D53 31 02 01 00 32 02 02 00 33 02 03 00 34 02 04 00 + .byte $35, $02, $05, $00, $36, $02, $06, $00, $38, $02, $07, $00, $21, $02, $01, $08 ; CPU:$BD63 PRG:3D63 35 02 05 00 36 02 06 00 38 02 07 00 21 02 01 08 + .byte $22, $02, $02, $08, $23, $02, $03, $08, $25, $02, $05, $08, $11, $03, $01, $08 ; CPU:$BD73 PRG:3D73 22 02 02 08 23 02 03 08 25 02 05 08 11 03 01 08 + .byte $00, $DC, $00, $00, $24, $98, $98, $90, $90, $37, $5B, $01, $9C, $37, $BC, $01 ; CPU:$BD83 PRG:3D83 00 DC 00 00 24 98 98 90 90 37 5B 01 9C 37 BC 01 + .byte $A4, $37, $BD, $01, $AC, $A2, $A4, $A6, $A8, $AA, $BD, $BD, $BD, $BD, $BD, $20 ; CPU:$BD93 PRG:3D93 A4 37 BD 01 AC A2 A4 A6 A8 AA BD BD BD BD BD 20 + .byte $AF, $20, $B1, $20, $B3, $20, $B5, $20, $B7, $FC, $FD, $98, $9C, $B4, $9C, $9C ; CPU:$BDA3 PRG:3DA3 AF 20 B1 20 B3 20 B5 20 B7 FC FD 98 9C B4 9C 9C + .byte $A0, $B8, $B0, $0F, $08, $0F, $08, $08, $08, $08, $18, $10, $10, $40, $80, $10 ; CPU:$BDB3 PRG:3DB3 A0 B8 B0 0F 08 0F 08 08 08 08 18 10 10 40 80 10 + .byte $00, $01, $02, $03, $04, $04, $04, $03, $02, $00, $00, $F0, $B0, $4A, $10 ; CPU:$BDC3 PRG:3DC3 00 01 02 03 04 04 04 03 02 00 00 F0 B0 4A 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_BDD2 +; Global: Branch target inside Sub: taken when BDD2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BDD2: + ldx ZpBE ; CPU:$BDD2 PRG:3DD2 A6 BE + lda $BB8E,x ; CPU:$BDD4 PRG:3DD4 BD 8E BB + sta $0382 ; CPU:$BDD7 PRG:3DD7 8D 82 03 + lda $BB9A,x ; CPU:$BDDA PRG:3DDA BD 9A BB + sta $0381 ; CPU:$BDDD PRG:3DDD 8D 81 03 + ldy SpriteIndex ; CPU:$BDE0 PRG:3DE0 A4 5F + cpx #$02 ; CPU:$BDE2 PRG:3DE2 E0 02 + bcs NmiHandler_Loop377 ; CPU:$BDE4 PRG:3DE4 B0 05 + lda $BB89,y ; CPU:$BDE6 PRG:3DE6 B9 89 BB + bne NmiHandler_Loop379 ; CPU:$BDE9 PRG:3DE9 D0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop377 +; Global: Branch target inside NmiHandler: taken when Loop377. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop377: + cpx #$02 ; CPU:$BDEB PRG:3DEB E0 02 + bne NmiHandler_Loop378 ; CPU:$BDED PRG:3DED D0 04 + lda #$66 ; CPU:$BDEF PRG:3DEF A9 66 + bne NmiHandler_Loop379 ; CPU:$BDF1 PRG:3DF1 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop378 +; Global: Branch target inside NmiHandler: taken when Loop378. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop378: + lda #$80 ; CPU:$BDF3 PRG:3DF3 A9 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop379 +; Global: Branch target inside NmiHandler: taken when Loop379. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop379: + sta $0383 ; CPU:$BDF5 PRG:3DF5 8D 83 03 + rts ; CPU:$BDF8 PRG:3DF8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BDF9 +; Global: Branch target inside Label: taken when BDF9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BDF9: + lda #$01 ; CPU:$BDF9 PRG:3DF9 A9 01 + cmp GameMode,x ; CPU:$BDFB PRG:3DFB D5 9F + beq NmiHandler_Loop386 ; CPU:$BDFD PRG:3DFD F0 5E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero5 +; Global: Branch target inside NmiHandler: taken when OnZero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero5: + lda Zp2B,x ; CPU:$BDFF PRG:3DFF B5 2B + bne NmiHandler_Loop380 ; CPU:$BE01 PRG:3E01 D0 0A + lda PlayerY,x ; CPU:$BE03 PRG:3E03 B5 B7 + eor #$01 ; CPU:$BE05 PRG:3E05 49 01 + sta PlayerY,x ; CPU:$BE07 PRG:3E07 95 B7 + lda #$07 ; CPU:$BE09 PRG:3E09 A9 07 + sta Zp2B,x ; CPU:$BE0B PRG:3E0B 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop380 +; Global: Branch target inside NmiHandler: taken when Loop380. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop380: + lda #$00 ; CPU:$BE0D PRG:3E0D A9 00 + sta $03E4,x ; CPU:$BE0F PRG:3E0F 9D E4 03 + lda SpriteIndex ; CPU:$BE12 PRG:3E12 A5 5F + cmp #$04 ; CPU:$BE14 PRG:3E14 C9 04 + bne NmiHandler_Loop381 ; CPU:$BE16 PRG:3E16 D0 12 + lda Zp85 ; CPU:$BE18 PRG:3E18 A5 85 + beq NmiHandler_Loop381 ; CPU:$BE1A PRG:3E1A F0 0E + lda GameState,x ; CPU:$BE1C PRG:3E1C B5 C0 + bne NmiHandler_Loop381 ; CPU:$BE1E PRG:3E1E D0 0A + lda EnemyHealth,x ; CPU:$BE20 PRG:3E20 B5 DF + cmp #$03 ; CPU:$BE22 PRG:3E22 C9 03 + bcs NmiHandler_Loop384 ; CPU:$BE24 PRG:3E24 B0 2B + lda #$03 ; CPU:$BE26 PRG:3E26 A9 03 + bne NmiHandler_Loop382 ; CPU:$BE28 PRG:3E28 D0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop381 +; Global: Branch target inside NmiHandler: taken when Loop381. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop381: + ldy $0372 ; CPU:$BE2A PRG:3E2A AC 72 03 + lda GameState,x ; CPU:$BE2D PRG:3E2D B5 C0 + beq NmiHandler_Loop383 ; CPU:$BE2F PRG:3E2F F0 15 + lda EnemyHealth,x ; CPU:$BE31 PRG:3E31 B5 DF + cmp #$06 ; CPU:$BE33 PRG:3E33 C9 06 + bne NmiHandler_Loop384 ; CPU:$BE35 PRG:3E35 D0 1A + lda ZpCE,x ; CPU:$BE37 PRG:3E37 B5 CE + cmp $BDCE,y ; CPU:$BE39 PRG:3E39 D9 CE BD + bcc NmiHandler_Loop384 ; CPU:$BE3C PRG:3E3C 90 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop382 +; Global: Branch target inside NmiHandler: taken when Loop382. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop382: + sta $03E4,x ; CPU:$BE3E PRG:3E3E 9D E4 03 + lda #$00 ; CPU:$BE41 PRG:3E41 A9 00 + sta PlayerY,x ; CPU:$BE43 PRG:3E43 95 B7 + rts ; CPU:$BE45 PRG:3E45 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop383 +; Global: Branch target inside NmiHandler: taken when Loop383. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop383: + lda EnemyHealth,x ; CPU:$BE46 PRG:3E46 B5 DF + bne NmiHandler_Loop384 ; CPU:$BE48 PRG:3E48 D0 07 + lda ZpCE,x ; CPU:$BE4A PRG:3E4A B5 CE + cmp $BDD0,y ; CPU:$BE4C PRG:3E4C D9 D0 BD + bcc NmiHandler_Loop385 ; CPU:$BE4F PRG:3E4F 90 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop384 +; Global: Branch target inside NmiHandler: taken when Loop384. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop384: + jmp NmiHandler_Loop285 ; CPU:$BE51 PRG:3E51 4C 18 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop385 +; Global: Branch target inside NmiHandler: taken when Loop385. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop385: + lda #$01 ; CPU:$BE54 PRG:3E54 A9 01 + sta $03E4,x ; CPU:$BE56 PRG:3E56 9D E4 03 + lsr a ; CPU:$BE59 PRG:3E59 4A + sta PlayerY,x ; CPU:$BE5A PRG:3E5A 95 B7 + rts ; CPU:$BE5C PRG:3E5C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop386 +; Global: Branch target inside NmiHandler: taken when Loop386. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop386: + lda $0490,x ; CPU:$BE5D PRG:3E5D BD 90 04 + bne NmiHandler_Loop387 ; CPU:$BE60 PRG:3E60 D0 10 + lda PlayerY,x ; CPU:$BE62 PRG:3E62 B5 B7 + cmp #$03 ; CPU:$BE64 PRG:3E64 C9 03 + bcs NmiHandler_Loop391 ; CPU:$BE66 PRG:3E66 B0 30 + jsr Sub_BF23 ; CPU:$BE68 PRG:3E68 20 23 BF + beq NmiHandler_OnZero5 ; CPU:$BE6B PRG:3E6B F0 92 + cmp #$02 ; CPU:$BE6D PRG:3E6D C9 02 + bne NmiHandler_Loop387 ; CPU:$BE6F PRG:3E6F D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero39: + rts ; CPU:$BE71 PRG:3E71 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop387 +; Global: Branch target inside NmiHandler: taken when Loop387. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop387: + lda $03EC,x ; CPU:$BE72 PRG:3E72 BD EC 03 + beq NmiHandler_Loop388 ; CPU:$BE75 PRG:3E75 F0 03 + jmp NmiHandler_Loop397 ; CPU:$BE77 PRG:3E77 4C 19 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop388 +; Global: Branch target inside NmiHandler: taken when Loop388. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop388: + sta Zp2B,x ; CPU:$BE7A PRG:3E7A 95 2B + sta $0490,x ; CPU:$BE7C PRG:3E7C 9D 90 04 + sta GameState,x ; CPU:$BE7F PRG:3E7F 95 C0 + lda SpriteTimer,x ; CPU:$BE81 PRG:3E81 B5 80 + and #$02 ; CPU:$BE83 PRG:3E83 29 02 + beq NmiHandler_Loop389 ; CPU:$BE85 PRG:3E85 F0 02 + inc GameState,x ; CPU:$BE87 PRG:3E87 F6 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop389 +; Global: Branch target inside NmiHandler: taken when Loop389. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop389: + ldy #$00 ; CPU:$BE89 PRG:3E89 A0 00 + lda Zp18 ; CPU:$BE8B PRG:3E8B A5 18 + cmp $0383 ; CPU:$BE8D PRG:3E8D CD 83 03 + bcs NmiHandler_Loop390 ; CPU:$BE90 PRG:3E90 B0 02 + iny ; CPU:$BE92 PRG:3E92 C8 + iny ; CPU:$BE93 PRG:3E93 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop390 +; Global: Branch target inside NmiHandler: taken when Loop390. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop390: + tya ; CPU:$BE94 PRG:3E94 98 + sta $03E8,x ; CPU:$BE95 PRG:3E95 9D E8 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop391 +; Global: Branch target inside NmiHandler: taken when Loop391. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop391: + lda Zp2B,x ; CPU:$BE98 PRG:3E98 B5 2B + bne NmiHandler_OnNonzero39 ; CPU:$BE9A PRG:3E9A D0 D5 + lda PlayerY,x ; CPU:$BE9C PRG:3E9C B5 B7 + cmp #$04 ; CPU:$BE9E PRG:3E9E C9 04 + beq NmiHandler_Loop396 ; CPU:$BEA0 PRG:3EA0 F0 4C + cmp #$06 ; CPU:$BEA2 PRG:3EA2 C9 06 + beq NmiHandler_Loop396 ; CPU:$BEA4 PRG:3EA4 F0 48 + lda $03E8,x ; CPU:$BEA6 PRG:3EA6 BD E8 03 + tay ; CPU:$BEA9 PRG:3EA9 A8 + inc $03E8,x ; CPU:$BEAA PRG:3EAA FE E8 03 + lda $BB9E,y ; CPU:$BEAD PRG:3EAD B9 9E BB + sta PlayerY,x ; CPU:$BEB0 PRG:3EB0 95 B7 + cmp #$04 ; CPU:$BEB2 PRG:3EB2 C9 04 + beq NmiHandler_Loop392 ; CPU:$BEB4 PRG:3EB4 F0 04 + cmp #$06 ; CPU:$BEB6 PRG:3EB6 C9 06 + bne NmiHandler_Loop395 ; CPU:$BEB8 PRG:3EB8 D0 2F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop392 +; Global: Branch target inside NmiHandler: taken when Loop392. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop392: + lda GameState,x ; CPU:$BEBA PRG:3EBA B5 C0 + bne NmiHandler_Loop393 ; CPU:$BEBC PRG:3EBC D0 09 + lda #$01 ; CPU:$BEBE PRG:3EBE A9 01 + sta $03EC,x ; CPU:$BEC0 PRG:3EC0 9D EC 03 + lda #$F8 ; CPU:$BEC3 PRG:3EC3 A9 F8 + bne NmiHandler_Loop394 ; CPU:$BEC5 PRG:3EC5 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop393 +; Global: Branch target inside NmiHandler: taken when Loop393. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop393: + lda #$11 ; CPU:$BEC7 PRG:3EC7 A9 11 + sta $03EC,x ; CPU:$BEC9 PRG:3EC9 9D EC 03 + lda #$08 ; CPU:$BECC PRG:3ECC A9 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop394 +; Global: Branch target inside NmiHandler: taken when Loop394. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop394: + clc ; CPU:$BECE PRG:3ECE 18 + adc Zp8E,x ; CPU:$BECF PRG:3ECF 75 8E + sta $03D4,x ; CPU:$BED1 PRG:3ED1 9D D4 03 + lda $03E8,x ; CPU:$BED4 PRG:3ED4 BD E8 03 + lsr a ; CPU:$BED7 PRG:3ED7 4A + lsr a ; CPU:$BED8 PRG:3ED8 4A + tay ; CPU:$BED9 PRG:3ED9 A8 + lda $BB83,y ; CPU:$BEDA PRG:3EDA B9 83 BB + sta $03D0,x ; CPU:$BEDD PRG:3EDD 9D D0 03 + lda #$F0 ; CPU:$BEE0 PRG:3EE0 A9 F0 + sta $03E8,x ; CPU:$BEE2 PRG:3EE2 9D E8 03 + lda #$04 ; CPU:$BEE5 PRG:3EE5 A9 04 + sta ZpFC ; CPU:$BEE7 PRG:3EE7 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop395 +; Global: Branch target inside NmiHandler: taken when Loop395. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop395: + lda #$0E ; CPU:$BEE9 PRG:3EE9 A9 0E + sta Zp2B,x ; CPU:$BEEB PRG:3EEB 95 2B + rts ; CPU:$BEED PRG:3EED 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop396 +; Global: Branch target inside NmiHandler: taken when Loop396. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop396: + lda Zp19 ; CPU:$BEEE PRG:3EEE A5 19 + and #$03 ; CPU:$BEF0 PRG:3EF0 29 03 + tay ; CPU:$BEF2 PRG:3EF2 A8 + lda $BB85,y ; CPU:$BEF3 PRG:3EF3 B9 85 BB + sta Zp3F,x ; CPU:$BEF6 PRG:3EF6 95 3F + inc $03F0,x ; CPU:$BEF8 PRG:3EF8 FE F0 03 + lda $03F0,x ; CPU:$BEFB PRG:3EFB BD F0 03 + cmp $0381 ; CPU:$BEFE PRG:3EFE CD 81 03 + bne NmiHandler_Loop397 ; CPU:$BF01 PRG:3F01 D0 16 + lda $0382 ; CPU:$BF03 PRG:3F03 AD 82 03 + sta Zp3F,x ; CPU:$BF06 PRG:3F06 95 3F + lda GameState,x ; CPU:$BF08 PRG:3F08 B5 C0 + eor #$01 ; CPU:$BF0A PRG:3F0A 49 01 + sta GameState,x ; CPU:$BF0C PRG:3F0C 95 C0 + lda #$00 ; CPU:$BF0E PRG:3F0E A9 00 + sta $03F0,x ; CPU:$BF10 PRG:3F10 9D F0 03 + sta $03E8,x ; CPU:$BF13 PRG:3F13 9D E8 03 + sta PlayerY,x ; CPU:$BF16 PRG:3F16 95 B7 + rts ; CPU:$BF18 PRG:3F18 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop397 +; Global: Branch target inside NmiHandler: taken when Loop397. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop397: + lda #$00 ; CPU:$BF19 PRG:3F19 A9 00 + sta $03E8,x ; CPU:$BF1B PRG:3F1B 9D E8 03 + lda #$02 ; CPU:$BF1E PRG:3F1E A9 02 + sta PlayerY,x ; CPU:$BF20 PRG:3F20 95 B7 + rts ; CPU:$BF22 PRG:3F22 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF23 +; Global: Branch target inside Sub: taken when BF23. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF23: + lda SpriteTimer,x ; CPU:$BF23 PRG:3F23 B5 80 + and #$02 ; CPU:$BF25 PRG:3F25 29 02 + lsr a ; CPU:$BF27 PRG:3F27 4A + sta VramWritePtrLo ; CPU:$BF28 PRG:3F28 85 00 + lda $03E4,x ; CPU:$BF2A PRG:3F2A BD E4 03 + bne NmiHandler_Loop406 ; CPU:$BF2D PRG:3F2D D0 75 + lda $04DC,x ; CPU:$BF2F PRG:3F2F BD DC 04 + bmi NmiHandler_OnNonzero40 ; CPU:$BF32 PRG:3F32 30 1C + cmp #$50 ; CPU:$BF34 PRG:3F34 C9 50 + bcc NmiHandler_Loop400 ; CPU:$BF36 PRG:3F36 90 25 + lda $03F0,x ; CPU:$BF38 PRG:3F38 BD F0 03 + cmp #$01 ; CPU:$BF3B PRG:3F3B C9 01 + bne NmiHandler_Loop398 ; CPU:$BF3D PRG:3F3D D0 05 + lda #$01 ; CPU:$BF3F PRG:3F3F A9 01 + sta $03F4,x ; CPU:$BF41 PRG:3F41 9D F4 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop398 +; Global: Branch target inside NmiHandler: taken when Loop398. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop398: + lda VramWritePtrLo ; CPU:$BF44 PRG:3F44 A5 00 + cmp GameState,x ; CPU:$BF46 PRG:3F46 D5 C0 + beq NmiHandler_OnNonzero40 ; CPU:$BF48 PRG:3F48 F0 06 + lda GameState,x ; CPU:$BF4A PRG:3F4A B5 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF4C +; Global: Branch target inside Sub: taken when BF4C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF4C: + eor #$01 ; CPU:$BF4C PRG:3F4C 49 01 + sta GameState,x ; CPU:$BF4E PRG:3F4E 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero40: + lda PlayerY,x ; CPU:$BF50 PRG:3F50 B5 B7 + cmp #$02 ; CPU:$BF52 PRG:3F52 C9 02 + bcc NmiHandler_Loop399 ; CPU:$BF54 PRG:3F54 90 04 + lda #$00 ; CPU:$BF56 PRG:3F56 A9 00 + sta PlayerY,x ; CPU:$BF58 PRG:3F58 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop399 +; Global: Branch target inside NmiHandler: taken when Loop399. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop399: + lda #$00 ; CPU:$BF5A PRG:3F5A A9 00 + rts ; CPU:$BF5C PRG:3F5C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop400 +; Global: Branch target inside NmiHandler: taken when Loop400. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop400: + cmp #$4A ; CPU:$BF5D PRG:3F5D C9 4A + bcs NmiHandler_Loop404 ; CPU:$BF5F PRG:3F5F B0 2B + cmp #$0B ; CPU:$BF61 PRG:3F61 C9 0B + bcs NmiHandler_Loop401 ; CPU:$BF63 PRG:3F63 B0 0A + lda $0382 ; CPU:$BF65 PRG:3F65 AD 82 03 + sta Zp3F,x ; CPU:$BF68 PRG:3F68 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero6: + lda VramWritePtrLo ; CPU:$BF6A PRG:3F6A A5 00 + jmp Sub_BF4C ; CPU:$BF6C PRG:3F6C 4C 4C BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop401 +; Global: Branch target inside NmiHandler: taken when Loop401. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop401: + lda Zp3F,x ; CPU:$BF6F PRG:3F6F B5 3F + bne NmiHandler_Loop402 ; CPU:$BF71 PRG:3F71 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero7 +; Global: Branch target inside NmiHandler: taken when OnZero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero7: + lda #$01 ; CPU:$BF73 PRG:3F73 A9 01 + rts ; CPU:$BF75 PRG:3F75 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop402 +; Global: Branch target inside NmiHandler: taken when Loop402. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop402: + lda $03F0,x ; CPU:$BF76 PRG:3F76 BD F0 03 + beq NmiHandler_Loop403 ; CPU:$BF79 PRG:3F79 F0 09 + cmp #$01 ; CPU:$BF7B PRG:3F7B C9 01 + bne NmiHandler_Loop404 ; CPU:$BF7D PRG:3F7D D0 0D + lda $03F4,x ; CPU:$BF7F PRG:3F7F BD F4 03 + beq NmiHandler_Loop404 ; CPU:$BF82 PRG:3F82 F0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop403 +; Global: Branch target inside NmiHandler: taken when Loop403. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop403: + lda VramWritePtrLo ; CPU:$BF84 PRG:3F84 A5 00 + cmp GameState,x ; CPU:$BF86 PRG:3F86 D5 C0 + beq NmiHandler_OnZero6 ; CPU:$BF88 PRG:3F88 F0 E0 + bne NmiHandler_OnNonzero40 ; CPU:$BF8A PRG:3F8A D0 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop404 +; Global: Branch target inside NmiHandler: taken when Loop404. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop404: + lda $03F0,x ; CPU:$BF8C PRG:3F8C BD F0 03 + cmp #$01 ; CPU:$BF8F PRG:3F8F C9 01 + beq NmiHandler_Loop405 ; CPU:$BF91 PRG:3F91 F0 05 + lda #$00 ; CPU:$BF93 PRG:3F93 A9 00 + sta $03F4,x ; CPU:$BF95 PRG:3F95 9D F4 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop405 +; Global: Branch target inside NmiHandler: taken when Loop405. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop405: + lda Zp3F,x ; CPU:$BF98 PRG:3F98 B5 3F + beq NmiHandler_OnZero7 ; CPU:$BF9A PRG:3F9A F0 D7 + lda VramWritePtrLo ; CPU:$BF9C PRG:3F9C A5 00 + cmp GameState,x ; CPU:$BF9E PRG:3F9E D5 C0 + bne NmiHandler_OnNonzero40 ; CPU:$BFA0 PRG:3FA0 D0 AE + beq NmiHandler_Loop409 ; CPU:$BFA2 PRG:3FA2 F0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop406 +; Global: Branch target inside NmiHandler: taken when Loop406. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop406: + lda SpriteIndex ; CPU:$BFA4 PRG:3FA4 A5 5F + cmp #$04 ; CPU:$BFA6 PRG:3FA6 C9 04 + bne NmiHandler_Loop407 ; CPU:$BFA8 PRG:3FA8 D0 07 + lda $04DC,x ; CPU:$BFAA PRG:3FAA BD DC 04 + cmp #$50 ; CPU:$BFAD PRG:3FAD C9 50 + bcs NmiHandler_Loop408 ; CPU:$BFAF PRG:3FAF B0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop407 +; Global: Branch target inside NmiHandler: taken when Loop407. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop407: + lda Zp3F,x ; CPU:$BFB1 PRG:3FB1 B5 3F + beq NmiHandler_OnZero7 ; CPU:$BFB3 PRG:3FB3 F0 BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop408 +; Global: Branch target inside NmiHandler: taken when Loop408. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop408: + lda VramWritePtrLo ; CPU:$BFB5 PRG:3FB5 A5 00 + sta GameState,x ; CPU:$BFB7 PRG:3FB7 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop409 +; Global: Branch target inside NmiHandler: taken when Loop409. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop409: + lda #$00 ; CPU:$BFB9 PRG:3FB9 A9 00 + sta PlayerY,x ; CPU:$BFBB PRG:3FBB 95 B7 + lda #$02 ; CPU:$BFBD PRG:3FBD A9 02 + rts ; CPU:$BFBF PRG:3FBF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFC0 +; Global: Branch target inside Sub: taken when BFC0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFC0: + ldx #$03 ; CPU:$BFC0 PRG:3FC0 A2 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFC2 +; Global: Branch target inside Sub: taken when BFC2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFC2: + lda $03EC,x ; CPU:$BFC2 PRG:3FC2 BD EC 03 + beq NmiHandler_Loop415 ; CPU:$BFC5 PRG:3FC5 F0 5F + and #$10 ; CPU:$BFC7 PRG:3FC7 29 10 + beq NmiHandler_Loop410 ; CPU:$BFC9 PRG:3FC9 F0 02 + lda #$40 ; CPU:$BFCB PRG:3FCB A9 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop410 +; Global: Branch target inside NmiHandler: taken when Loop410. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop410: + sta Zp04 ; CPU:$BFCD PRG:3FCD 85 04 + inc Zp04 ; CPU:$BFCF PRG:3FCF E6 04 + sta $0433,x ; CPU:$BFD1 PRG:3FD1 9D 33 04 + lda $03D4,x ; CPU:$BFD4 PRG:3FD4 BD D4 03 + sta Zp0A ; CPU:$BFD7 PRG:3FD7 85 0A + lda $03D0,x ; CPU:$BFD9 PRG:3FD9 BD D0 03 + sta Zp0B ; CPU:$BFDC PRG:3FDC 85 0B + jsr Sub_C0A2 ; CPU:$BFDE PRG:3FDE 20 A2 C0 + jsr Sub_C101 ; CPU:$BFE1 PRG:3FE1 20 01 C1 + bne NmiHandler_Loop411 ; CPU:$BFE4 PRG:3FE4 D0 0C + jsr Sub_C06C ; CPU:$BFE6 PRG:3FE6 20 6C C0 + lda $03D4,x ; CPU:$BFE9 PRG:3FE9 BD D4 03 + cmp #$F8 ; CPU:$BFEC PRG:3FEC C9 F8 + bcc NmiHandler_Loop415 ; CPU:$BFEE PRG:3FEE 90 36 + bcs NmiHandler_Loop414 ; CPU:$BFF0 PRG:3FF0 B0 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop411 +; Global: Branch target inside NmiHandler: taken when Loop411. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop411: + lda Zp53 ; CPU:$BFF2 PRG:3FF2 A5 53 + beq NmiHandler_Loop412 ; CPU:$BFF4 PRG:3FF4 F0 04 + lda #$12 ; CPU:$BFF6 PRG:3FF6 A9 12 + bne NmiHandler_Loop413 ; CPU:$BFF8 PRG:3FF8 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop412 +; Global: Branch target inside NmiHandler: taken when Loop412. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop412: + lda #$0C ; CPU:$BFFA PRG:3FFA A9 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop413 +; Global: Branch target inside NmiHandler: taken when Loop413. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop413: + sta $037A ; CPU:$BFFC PRG:3FFC 8D 7A 03 + stx VramWritePtrLo ; CPU:$BFFF PRG:3FFF 86 00 + ldx #$06 ; CPU:$C001 PRG:4001 A2 06 + jsr Sub_C470 ; CPU:$C003 PRG:4003 20 70 C4 + ldx VramWritePtrLo ; CPU:$C006 PRG:4006 A6 00 + lda $03D0,x ; CPU:$C008 PRG:4008 BD D0 03 + sta VramWritePtrLo ; CPU:$C00B PRG:400B 85 00 + lda $03D4,x ; CPU:$C00D PRG:400D BD D4 03 + sta VramWritePtrHi ; CPU:$C010 PRG:4010 85 01 + jsr Sub_C02D ; CPU:$C012 PRG:4012 20 2D C0 + sta $0496 ; CPU:$C015 PRG:4015 8D 96 04 + sta $03C9,y ; CPU:$C018 PRG:4018 99 C9 03 + lsr a ; CPU:$C01B PRG:401B 4A + sta Zp67 ; CPU:$C01C PRG:401C 85 67 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop414 +; Global: Branch target inside NmiHandler: taken when Loop414. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop414: + lda #$00 ; CPU:$C01E PRG:401E A9 00 + sta $03EC,x ; CPU:$C020 PRG:4020 9D EC 03 + sta $03AD,x ; CPU:$C023 PRG:4023 9D AD 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop415 +; Global: Branch target inside NmiHandler: taken when Loop415. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop415: + dex ; CPU:$C026 PRG:4026 CA + bmi NmiHandler_Loop416 ; CPU:$C027 PRG:4027 30 03 + jmp Sub_BFC2 ; CPU:$C029 PRG:4029 4C C2 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop416 +; Global: Branch target inside NmiHandler: taken when Loop416. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop416: + rts ; CPU:$C02C PRG:402C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C02D +; Global: Branch target inside Sub: taken when C02D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C02D: + jsr Sub_C205 ; CPU:$C02D PRG:402D 20 05 C2 + ldy Zp0F ; CPU:$C030 PRG:4030 A4 0F + lda VramWritePtrLo ; CPU:$C032 PRG:4032 A5 00 + sta $03DC,y ; CPU:$C034 PRG:4034 99 DC 03 + lda VramWritePtrHi ; CPU:$C037 PRG:4037 A5 01 + sta $03E0,y ; CPU:$C039 PRG:4039 99 E0 03 + lda #$01 ; CPU:$C03C PRG:403C A9 01 + sta $03D8,y ; CPU:$C03E PRG:403E 99 D8 03 + rts ; CPU:$C041 PRG:4041 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C042 +; Global: Branch target inside Sub: taken when C042. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C042: + ldx #$03 ; CPU:$C042 PRG:4042 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative38 +; Global: Branch target inside NmiHandler: taken when OnNonnegative38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative38: + lda $03EC,x ; CPU:$C044 PRG:4044 BD EC 03 + beq NmiHandler_Loop417 ; CPU:$C047 PRG:4047 F0 1F + ldy Zp4C ; CPU:$C049 PRG:4049 A4 4C + lda $03D0,x ; CPU:$C04B PRG:404B BD D0 03 + sta $06D0,y ; CPU:$C04E PRG:404E 99 D0 06 + iny ; CPU:$C051 PRG:4051 C8 + lda #$0A ; CPU:$C052 PRG:4052 A9 0A + sta $06D0,y ; CPU:$C054 PRG:4054 99 D0 06 + iny ; CPU:$C057 PRG:4057 C8 + lda $0433,x ; CPU:$C058 PRG:4058 BD 33 04 + sta $06D0,y ; CPU:$C05B PRG:405B 99 D0 06 + iny ; CPU:$C05E PRG:405E C8 + lda $03D4,x ; CPU:$C05F PRG:405F BD D4 03 + sta $06D0,y ; CPU:$C062 PRG:4062 99 D0 06 + iny ; CPU:$C065 PRG:4065 C8 + sty Zp4C ; CPU:$C066 PRG:4066 84 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop417 +; Global: Branch target inside NmiHandler: taken when Loop417. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop417: + dex ; CPU:$C068 PRG:4068 CA + bpl NmiHandler_OnNonnegative38 ; CPU:$C069 PRG:4069 10 D9 + rts ; CPU:$C06B PRG:406B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C06C +; Global: Branch target inside Sub: taken when C06C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C06C: + lda $04A6 ; CPU:$C06C PRG:406C AD A6 04 + bmi NmiHandler_Loop420 ; CPU:$C06F PRG:406F 30 30 + ldy ZpBE ; CPU:$C071 PRG:4071 A4 BE + lda $BB92,y ; CPU:$C073 PRG:4073 B9 92 BB + sta DispatchPtrHi ; CPU:$C076 PRG:4076 85 03 + lda $03AD,x ; CPU:$C078 PRG:4078 BD AD 03 + clc ; CPU:$C07B PRG:407B 18 + adc $BB96,y ; CPU:$C07C PRG:407C 79 96 BB + sta $03AD,x ; CPU:$C07F PRG:407F 9D AD 03 + bcc NmiHandler_Loop418 ; CPU:$C082 PRG:4082 90 02 + inc DispatchPtrHi ; CPU:$C084 PRG:4084 E6 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop418 +; Global: Branch target inside NmiHandler: taken when Loop418. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop418: + lda $03EC,x ; CPU:$C086 PRG:4086 BD EC 03 + and #$10 ; CPU:$C089 PRG:4089 29 10 + bne NmiHandler_Loop419 ; CPU:$C08B PRG:408B D0 08 + lda DispatchPtrHi ; CPU:$C08D PRG:408D A5 03 + eor #$FF ; CPU:$C08F PRG:408F 49 FF + sta DispatchPtrHi ; CPU:$C091 PRG:4091 85 03 + inc DispatchPtrHi ; CPU:$C093 PRG:4093 E6 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop419 +; Global: Branch target inside NmiHandler: taken when Loop419. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop419: + lda DispatchPtrHi ; CPU:$C095 PRG:4095 A5 03 + clc ; CPU:$C097 PRG:4097 18 + adc $03D4,x ; CPU:$C098 PRG:4098 7D D4 03 + clc ; CPU:$C09B PRG:409B 18 + adc Zp66 ; CPU:$C09C PRG:409C 65 66 + sta $03D4,x ; CPU:$C09E PRG:409E 9D D4 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop420 +; Global: Branch target inside NmiHandler: taken when Loop420. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop420: + rts ; CPU:$C0A1 PRG:40A1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0A2 +; Global: Branch target inside Sub: taken when C0A2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0A2: + txa ; CPU:$C0A2 PRG:40A2 8A + pha ; CPU:$C0A3 PRG:40A3 48 + lda Zp0A ; CPU:$C0A4 PRG:40A4 A5 0A + clc ; CPU:$C0A6 PRG:40A6 18 + adc #$03 ; CPU:$C0A7 PRG:40A7 69 03 + sta VramWritePtrLo ; CPU:$C0A9 PRG:40A9 85 00 + clc ; CPU:$C0AB PRG:40AB 18 + adc #$02 ; CPU:$C0AC PRG:40AC 69 02 + sta DispatchPtrLo ; CPU:$C0AE PRG:40AE 85 02 + lda Zp0B ; CPU:$C0B0 PRG:40B0 A5 0B + clc ; CPU:$C0B2 PRG:40B2 18 + adc #$04 ; CPU:$C0B3 PRG:40B3 69 04 + sta DispatchPtrHi ; CPU:$C0B5 PRG:40B5 85 03 + clc ; CPU:$C0B7 PRG:40B7 18 + adc #$03 ; CPU:$C0B8 PRG:40B8 69 03 + sta VramWritePtrHi ; CPU:$C0BA PRG:40BA 85 01 + ldx #$04 ; CPU:$C0BC PRG:40BC A2 04 + jsr Sub_C0C4 ; CPU:$C0BE PRG:40BE 20 C4 C0 + pla ; CPU:$C0C1 PRG:40C1 68 + tax ; CPU:$C0C2 PRG:40C2 AA + rts ; CPU:$C0C3 PRG:40C3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0C4 +; Global: Branch target inside Sub: taken when C0C4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0C4: + lda Zp94 ; CPU:$C0C4 PRG:40C4 A5 94 + sec ; CPU:$C0C6 PRG:40C6 38 + sbc #$05 ; CPU:$C0C7 PRG:40C7 E9 05 + sta VramWritePtrLo,x ; CPU:$C0C9 PRG:40C9 95 00 + clc ; CPU:$C0CB PRG:40CB 18 + adc #$0A ; CPU:$C0CC PRG:40CC 69 0A + sta DispatchPtrLo,x ; CPU:$C0CE PRG:40CE 95 02 + lda PlayerIndex ; CPU:$C0D0 PRG:40D0 A5 69 + and #$0F ; CPU:$C0D2 PRG:40D2 29 0F + lsr a ; CPU:$C0D4 PRG:40D4 4A + cmp #$02 ; CPU:$C0D5 PRG:40D5 C9 02 + beq NmiHandler_Loop421 ; CPU:$C0D7 PRG:40D7 F0 0C + tay ; CPU:$C0D9 PRG:40D9 A8 + lda $BBA2,y ; CPU:$C0DA PRG:40DA B9 A2 BB + sta VramWritePtrHi,x ; CPU:$C0DD PRG:40DD 95 01 + lda $BBA7,y ; CPU:$C0DF PRG:40DF B9 A7 BB + sta DispatchPtrHi,x ; CPU:$C0E2 PRG:40E2 95 03 + rts ; CPU:$C0E4 PRG:40E4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop421 +; Global: Branch target inside NmiHandler: taken when Loop421. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop421: + ldy Zp68 ; CPU:$C0E5 PRG:40E5 A4 68 + lda $BBAC,y ; CPU:$C0E7 PRG:40E7 B9 AC BB + sta VramWritePtrHi,x ; CPU:$C0EA PRG:40EA 95 01 + lda $BBB6,y ; CPU:$C0EC PRG:40EC B9 B6 BB + sta DispatchPtrHi,x ; CPU:$C0EF PRG:40EF 95 03 + lda PlayerIndex ; CPU:$C0F1 PRG:40F1 A5 69 + and #$01 ; CPU:$C0F3 PRG:40F3 29 01 + tay ; CPU:$C0F5 PRG:40F5 A8 + lda Zp94 ; CPU:$C0F6 PRG:40F6 A5 94 + sta VramWritePtrLo,x ; CPU:$C0F8 PRG:40F8 95 00 + clc ; CPU:$C0FA PRG:40FA 18 + adc $BBC0,y ; CPU:$C0FB PRG:40FB 79 C0 BB + sta DispatchPtrLo,x ; CPU:$C0FE PRG:40FE 95 02 + rts ; CPU:$C100 PRG:4100 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C101 +; Global: Branch target inside Sub: taken when C101. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C101: + lda VramWritePtrLo ; CPU:$C101 PRG:4101 A5 00 + cmp Zp04 ; CPU:$C103 PRG:4103 C5 04 + bcc NmiHandler_Loop422 ; CPU:$C105 PRG:4105 90 0A + beq NmiHandler_Loop423 ; CPU:$C107 PRG:4107 F0 0E + cmp Zp06 ; CPU:$C109 PRG:4109 C5 06 + bcc NmiHandler_Loop423 ; CPU:$C10B PRG:410B 90 0A + beq NmiHandler_Loop423 ; CPU:$C10D PRG:410D F0 08 + bcs NmiHandler_Loop426 ; CPU:$C10F PRG:410F B0 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop422 +; Global: Branch target inside NmiHandler: taken when Loop422. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop422: + lda DispatchPtrLo ; CPU:$C111 PRG:4111 A5 02 + cmp Zp04 ; CPU:$C113 PRG:4113 C5 04 + bcc NmiHandler_Loop426 ; CPU:$C115 PRG:4115 90 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop423 +; Global: Branch target inside NmiHandler: taken when Loop423. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop423: + lda VramWritePtrHi ; CPU:$C117 PRG:4117 A5 01 + cmp Zp05 ; CPU:$C119 PRG:4119 C5 05 + bcc NmiHandler_Loop424 ; CPU:$C11B PRG:411B 90 0A + beq NmiHandler_Loop425 ; CPU:$C11D PRG:411D F0 0E + cmp Zp07 ; CPU:$C11F PRG:411F C5 07 + bcc NmiHandler_Loop425 ; CPU:$C121 PRG:4121 90 0A + beq NmiHandler_Loop425 ; CPU:$C123 PRG:4123 F0 08 + bcs NmiHandler_Loop426 ; CPU:$C125 PRG:4125 B0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop424 +; Global: Branch target inside NmiHandler: taken when Loop424. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop424: + lda DispatchPtrHi ; CPU:$C127 PRG:4127 A5 03 + cmp Zp05 ; CPU:$C129 PRG:4129 C5 05 + bcc NmiHandler_Loop426 ; CPU:$C12B PRG:412B 90 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop425 +; Global: Branch target inside NmiHandler: taken when Loop425. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop425: + lda #$01 ; CPU:$C12D PRG:412D A9 01 + rts ; CPU:$C12F PRG:412F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop426 +; Global: Branch target inside NmiHandler: taken when Loop426. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop426: + lda #$00 ; CPU:$C130 PRG:4130 A9 00 + rts ; CPU:$C132 PRG:4132 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C133 +; Global: Branch target inside Sub: taken when C133. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C133: + ldy Zp0F ; CPU:$C133 PRG:4133 A4 0F + lda Zp8E,x ; CPU:$C135 PRG:4135 B5 8E + sec ; CPU:$C137 PRG:4137 38 + sbc #$04 ; CPU:$C138 PRG:4138 E9 04 + sta a:VramWritePtrLo,y ; CPU:$C13A PRG:413A 99 00 00 + clc ; CPU:$C13D PRG:413D 18 + adc #$08 ; CPU:$C13E PRG:413E 69 08 + sta a:DispatchPtrLo,y ; CPU:$C140 PRG:4140 99 02 00 + lda EnemyIndex,x ; CPU:$C143 PRG:4143 B5 87 + sec ; CPU:$C145 PRG:4145 38 + sbc #$0A ; CPU:$C146 PRG:4146 E9 0A + tay ; CPU:$C148 PRG:4148 A8 + lda $BBC2,y ; CPU:$C149 PRG:4149 B9 C2 BB + clc ; CPU:$C14C PRG:414C 18 + adc PlayerX,x ; CPU:$C14D PRG:414D 75 B0 + sta Zp0D ; CPU:$C14F PRG:414F 85 0D + lda SpriteIndex ; CPU:$C151 PRG:4151 A5 5F + bne NmiHandler_Loop427 ; CPU:$C153 PRG:4153 D0 0D + lda Zp7B ; CPU:$C155 PRG:4155 A5 7B + cmp #$03 ; CPU:$C157 PRG:4157 C9 03 + bne NmiHandler_Loop427 ; CPU:$C159 PRG:4159 D0 07 + lda Zp0D ; CPU:$C15B PRG:415B A5 0D + clc ; CPU:$C15D PRG:415D 18 + adc #$10 ; CPU:$C15E PRG:415E 69 10 + sta Zp0D ; CPU:$C160 PRG:4160 85 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop427 +; Global: Branch target inside NmiHandler: taken when Loop427. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop427: + lda PlayerX,x ; CPU:$C162 PRG:4162 B5 B0 + clc ; CPU:$C164 PRG:4164 18 + adc $BBCA,y ; CPU:$C165 PRG:4165 79 CA BB + sta Zp0E ; CPU:$C168 PRG:4168 85 0E + ldy Zp0F ; CPU:$C16A PRG:416A A4 0F + lda Zp0D ; CPU:$C16C PRG:416C A5 0D + sta a:VramWritePtrHi,y ; CPU:$C16E PRG:416E 99 01 00 + lda Zp0E ; CPU:$C171 PRG:4171 A5 0E + sta a:DispatchPtrHi,y ; CPU:$C173 PRG:4173 99 03 00 + rts ; CPU:$C176 PRG:4176 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C177 +; Global: Branch target inside Sub: taken when C177. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C177: + ldy Zp0F ; CPU:$C177 PRG:4177 A4 0F + lda Zp8E,x ; CPU:$C179 PRG:4179 B5 8E + sec ; CPU:$C17B PRG:417B 38 + sbc $BBF6,x ; CPU:$C17C PRG:417C FD F6 BB + sta a:VramWritePtrLo,y ; CPU:$C17F PRG:417F 99 00 00 + lda Zp8E,x ; CPU:$C182 PRG:4182 B5 8E + clc ; CPU:$C184 PRG:4184 18 + adc $BC08,x ; CPU:$C185 PRG:4185 7D 08 BC + sta a:DispatchPtrLo,y ; CPU:$C188 PRG:4188 99 02 00 + ldy EnemyIndex,x ; CPU:$C18B PRG:418B B4 87 + lda $BBD2,y ; CPU:$C18D PRG:418D B9 D2 BB + clc ; CPU:$C190 PRG:4190 18 + adc PlayerX,x ; CPU:$C191 PRG:4191 75 B0 + sta Zp0D ; CPU:$C193 PRG:4193 85 0D + lda SpriteIndex ; CPU:$C195 PRG:4195 A5 5F + beq NmiHandler_Loop428 ; CPU:$C197 PRG:4197 F0 0C + cmp #$04 ; CPU:$C199 PRG:4199 C9 04 + bne NmiHandler_Loop430 ; CPU:$C19B PRG:419B D0 15 + lda Zp7B ; CPU:$C19D PRG:419D A5 7B + cmp #$04 ; CPU:$C19F PRG:419F C9 04 + bne NmiHandler_Loop430 ; CPU:$C1A1 PRG:41A1 D0 0F + beq NmiHandler_Loop429 ; CPU:$C1A3 PRG:41A3 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop428 +; Global: Branch target inside NmiHandler: taken when Loop428. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop428: + lda Zp7B ; CPU:$C1A5 PRG:41A5 A5 7B + cmp #$03 ; CPU:$C1A7 PRG:41A7 C9 03 + bne NmiHandler_Loop430 ; CPU:$C1A9 PRG:41A9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop429 +; Global: Branch target inside NmiHandler: taken when Loop429. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop429: + lda Zp0D ; CPU:$C1AB PRG:41AB A5 0D + clc ; CPU:$C1AD PRG:41AD 18 + adc #$10 ; CPU:$C1AE PRG:41AE 69 10 + sta Zp0D ; CPU:$C1B0 PRG:41B0 85 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop430 +; Global: Branch target inside NmiHandler: taken when Loop430. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop430: + lda PlayerX,x ; CPU:$C1B2 PRG:41B2 B5 B0 + clc ; CPU:$C1B4 PRG:41B4 18 + adc $BBE4,y ; CPU:$C1B5 PRG:41B5 79 E4 BB + sta Zp0E ; CPU:$C1B8 PRG:41B8 85 0E + ldy Zp0F ; CPU:$C1BA PRG:41BA A4 0F + lda Zp0D ; CPU:$C1BC PRG:41BC A5 0D + sta a:VramWritePtrHi,y ; CPU:$C1BE PRG:41BE 99 01 00 + lda Zp0E ; CPU:$C1C1 PRG:41C1 A5 0E + sta a:DispatchPtrHi,y ; CPU:$C1C3 PRG:41C3 99 03 00 + rts ; CPU:$C1C6 PRG:41C6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1C7 +; Global: Branch target inside Sub: taken when C1C7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1C7: + ldx #$02 ; CPU:$C1C7 PRG:41C7 A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative39 +; Global: Branch target inside NmiHandler: taken when OnNonnegative39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative39: + lda $03D8,x ; CPU:$C1C9 PRG:41C9 BD D8 03 + beq NmiHandler_Loop433 ; CPU:$C1CC PRG:41CC F0 33 + cmp #$01 ; CPU:$C1CE PRG:41CE C9 01 + bne NmiHandler_Loop431 ; CPU:$C1D0 PRG:41D0 D0 07 + lda #$06 ; CPU:$C1D2 PRG:41D2 A9 06 + sta Zp26,x ; CPU:$C1D4 PRG:41D4 95 26 + inc $03D8,x ; CPU:$C1D6 PRG:41D6 FE D8 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop431 +; Global: Branch target inside NmiHandler: taken when Loop431. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop431: + lda Zp26,x ; CPU:$C1D9 PRG:41D9 B5 26 + bne NmiHandler_Loop432 ; CPU:$C1DB PRG:41DB D0 05 + sta $03D8,x ; CPU:$C1DD PRG:41DD 9D D8 03 + beq NmiHandler_Loop433 ; CPU:$C1E0 PRG:41E0 F0 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop432 +; Global: Branch target inside NmiHandler: taken when Loop432. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop432: + ldy Zp4C ; CPU:$C1E2 PRG:41E2 A4 4C + lda $03DC,x ; CPU:$C1E4 PRG:41E4 BD DC 03 + sta $06D0,y ; CPU:$C1E7 PRG:41E7 99 D0 06 + iny ; CPU:$C1EA PRG:41EA C8 + lda #$0B ; CPU:$C1EB PRG:41EB A9 0B + sta $06D0,y ; CPU:$C1ED PRG:41ED 99 D0 06 + iny ; CPU:$C1F0 PRG:41F0 C8 + lda $03C9,x ; CPU:$C1F1 PRG:41F1 BD C9 03 + sta $06D0,y ; CPU:$C1F4 PRG:41F4 99 D0 06 + iny ; CPU:$C1F7 PRG:41F7 C8 + lda $03E0,x ; CPU:$C1F8 PRG:41F8 BD E0 03 + sta $06D0,y ; CPU:$C1FB PRG:41FB 99 D0 06 + iny ; CPU:$C1FE PRG:41FE C8 + sty Zp4C ; CPU:$C1FF PRG:41FF 84 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop433 +; Global: Branch target inside NmiHandler: taken when Loop433. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop433: + dex ; CPU:$C201 PRG:4201 CA + bpl NmiHandler_OnNonnegative39 ; CPU:$C202 PRG:4202 10 C5 + rts ; CPU:$C204 PRG:4204 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C205 +; Global: Branch target inside Sub: taken when C205. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C205: + txa ; CPU:$C205 PRG:4205 8A + pha ; CPU:$C206 PRG:4206 48 + ldx #$02 ; CPU:$C207 PRG:4207 A2 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative40 +; Global: Branch target inside NmiHandler: taken when OnNonnegative40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative40: + lda $03D8,x ; CPU:$C209 PRG:4209 BD D8 03 + beq NmiHandler_Loop434 ; CPU:$C20C PRG:420C F0 03 + dex ; CPU:$C20E PRG:420E CA + bpl NmiHandler_OnNonnegative40 ; CPU:$C20F PRG:420F 10 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop434 +; Global: Branch target inside NmiHandler: taken when Loop434. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop434: + stx Zp0F ; CPU:$C211 PRG:4211 86 0F + pla ; CPU:$C213 PRG:4213 68 + tax ; CPU:$C214 PRG:4214 AA + rts ; CPU:$C215 PRG:4215 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C216 +; Global: Branch target inside Sub: taken when C216. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C216: + lda PlayerIndex ; CPU:$C216 PRG:4216 A5 69 + cmp #$0F ; CPU:$C218 PRG:4218 C9 0F + bcc NmiHandler_Loop435 ; CPU:$C21A PRG:421A 90 0A + and #$04 ; CPU:$C21C PRG:421C 29 04 + bne NmiHandler_Loop436 ; CPU:$C21E PRG:421E D0 12 + lda Zp68 ; CPU:$C220 PRG:4220 A5 68 + cmp #$01 ; CPU:$C222 PRG:4222 C9 01 + beq NmiHandler_Loop436 ; CPU:$C224 PRG:4224 F0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop435 +; Global: Branch target inside NmiHandler: taken when Loop435. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop435: + lda #$00 ; CPU:$C226 PRG:4226 A9 00 + sta $04B6 ; CPU:$C228 PRG:4228 8D B6 04 + sta $0386 ; CPU:$C22B PRG:422B 8D 86 03 + rts ; CPU:$C22E PRG:422E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero41: + jmp NmiHandler_Loop445 ; CPU:$C22F PRG:422F 4C 00 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop436 +; Global: Branch target inside NmiHandler: taken when Loop436. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop436: + ldx #$05 ; CPU:$C232 PRG:4232 A2 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_C234 +; Global: Branch target inside Sub: taken when C234. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C234: + lda GameMode,x ; CPU:$C234 PRG:4234 B5 9F + cmp #$01 ; CPU:$C236 PRG:4236 C9 01 + bne NmiHandler_OnNonzero41 ; CPU:$C238 PRG:4238 D0 F5 + lda $04A0,x ; CPU:$C23A PRG:423A BD A0 04 + bmi NmiHandler_OnNonzero41 ; CPU:$C23D PRG:423D 30 F0 + lda SpriteTimer,x ; CPU:$C23F PRG:423F B5 80 + beq NmiHandler_OnNonzero41 ; CPU:$C241 PRG:4241 F0 EC + lda EnemyIndex,x ; CPU:$C243 PRG:4243 B5 87 + cmp #$0F ; CPU:$C245 PRG:4245 C9 0F + beq NmiHandler_Loop437 ; CPU:$C247 PRG:4247 F0 06 + lda SpriteTimer,x ; CPU:$C249 PRG:4249 B5 80 + and #$08 ; CPU:$C24B PRG:424B 29 08 + bne NmiHandler_OnNonzero41 ; CPU:$C24D PRG:424D D0 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop437 +; Global: Branch target inside NmiHandler: taken when Loop437. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop437: + lda SpriteTimer,x ; CPU:$C24F PRG:424F B5 80 + and #$04 ; CPU:$C251 PRG:4251 29 04 + bne NmiHandler_OnNonzero41 ; CPU:$C253 PRG:4253 D0 DA + sta Zp0A ; CPU:$C255 PRG:4255 85 0A + jsr Sub_C669 ; CPU:$C257 PRG:4257 20 69 C6 + lda #$04 ; CPU:$C25A PRG:425A A9 04 + sta Zp0F ; CPU:$C25C PRG:425C 85 0F + jsr Sub_C177 ; CPU:$C25E PRG:425E 20 77 C1 + jsr Sub_C101 ; CPU:$C261 PRG:4261 20 01 C1 + beq NmiHandler_OnNonzero41 ; CPU:$C264 PRG:4264 F0 C9 + lda EnemyIndex,x ; CPU:$C266 PRG:4266 B5 87 + cmp #$07 ; CPU:$C268 PRG:4268 C9 07 + bne NmiHandler_Loop439 ; CPU:$C26A PRG:426A D0 12 + lda $038C ; CPU:$C26C PRG:426C AD 8C 03 + beq NmiHandler_Loop438 ; CPU:$C26F PRG:426F F0 07 + lda Zp7B ; CPU:$C271 PRG:4271 A5 7B + cmp #$05 ; CPU:$C273 PRG:4273 C9 05 + bcc NmiHandler_Loop439 ; CPU:$C275 PRG:4275 90 07 + rts ; CPU:$C277 PRG:4277 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop438 +; Global: Branch target inside NmiHandler: taken when Loop438. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop438: + lda #$01 ; CPU:$C278 PRG:4278 A9 01 + sta $038C ; CPU:$C27A PRG:427A 8D 8C 03 + rts ; CPU:$C27D PRG:427D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop439 +; Global: Branch target inside NmiHandler: taken when Loop439. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop439: + jsr Sub_C306 ; CPU:$C27E PRG:427E 20 06 C3 + jsr Sub_C330 ; CPU:$C281 PRG:4281 20 30 C3 + lda EnemyIndex,x ; CPU:$C284 PRG:4284 B5 87 + cmp #$02 ; CPU:$C286 PRG:4286 C9 02 + bcc NmiHandler_Loop441 ; CPU:$C288 PRG:4288 90 2E + cmp #$06 ; CPU:$C28A PRG:428A C9 06 + bne NmiHandler_Loop440 ; CPU:$C28C PRG:428C D0 11 + lda $0379 ; CPU:$C28E PRG:428E AD 79 03 + cmp #$02 ; CPU:$C291 PRG:4291 C9 02 + beq NmiHandler_Loop440 ; CPU:$C293 PRG:4293 F0 0A + lda #$00 ; CPU:$C295 PRG:4295 A9 00 + sta Zp67 ; CPU:$C297 PRG:4297 85 67 + lda #$01 ; CPU:$C299 PRG:4299 A9 01 + sta Zp7D ; CPU:$C29B PRG:429B 85 7D + bne NmiHandler_Loop445 ; CPU:$C29D PRG:429D D0 61 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop440 +; Global: Branch target inside NmiHandler: taken when Loop440. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop440: + cmp #$08 ; CPU:$C29F PRG:429F C9 08 + beq NmiHandler_Loop445 ; CPU:$C2A1 PRG:42A1 F0 5D + lda $04B6 ; CPU:$C2A3 PRG:42A3 AD B6 04 + bne NmiHandler_Loop445 ; CPU:$C2A6 PRG:42A6 D0 58 + lda EnemyIndex,x ; CPU:$C2A8 PRG:42A8 B5 87 + cmp #$0A ; CPU:$C2AA PRG:42AA C9 0A + bcs NmiHandler_Loop441 ; CPU:$C2AC PRG:42AC B0 0A + cmp #$02 ; CPU:$C2AE PRG:42AE C9 02 + beq NmiHandler_Loop441 ; CPU:$C2B0 PRG:42B0 F0 06 + lda ZpFD ; CPU:$C2B2 PRG:42B2 A5 FD + ora #$04 ; CPU:$C2B4 PRG:42B4 09 04 + sta ZpFD ; CPU:$C2B6 PRG:42B6 85 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop441 +; Global: Branch target inside NmiHandler: taken when Loop441. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop441: + lda $04B6 ; CPU:$C2B8 PRG:42B8 AD B6 04 + beq NmiHandler_Loop442 ; CPU:$C2BB PRG:42BB F0 03 + inc $0386 ; CPU:$C2BD PRG:42BD EE 86 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop442 +; Global: Branch target inside NmiHandler: taken when Loop442. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop442: + lda $0386 ; CPU:$C2C0 PRG:42C0 AD 86 03 + sta $04D5,x ; CPU:$C2C3 PRG:42C3 9D D5 04 + lda EnemyIndex,x ; CPU:$C2C6 PRG:42C6 B5 87 + cmp #$0A ; CPU:$C2C8 PRG:42C8 C9 0A + bcs NmiHandler_Loop444 ; CPU:$C2CA PRG:42CA B0 31 + lda GameState,x ; CPU:$C2CC PRG:42CC B5 C0 + and #$01 ; CPU:$C2CE PRG:42CE 29 01 + bne NmiHandler_Loop443 ; CPU:$C2D0 PRG:42D0 D0 02 + lda #$F8 ; CPU:$C2D2 PRG:42D2 A9 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop443 +; Global: Branch target inside NmiHandler: taken when Loop443. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop443: + clc ; CPU:$C2D4 PRG:42D4 18 + adc Zp8E,x ; CPU:$C2D5 PRG:42D5 75 8E + sta VramWritePtrHi ; CPU:$C2D7 PRG:42D7 85 01 + ldy $0379 ; CPU:$C2D9 PRG:42D9 AC 79 03 + lda $BC32,y ; CPU:$C2DC PRG:42DC B9 32 BC + sta VramWritePtrLo ; CPU:$C2DF PRG:42DF 85 00 + jsr Sub_C02D ; CPU:$C2E1 PRG:42E1 20 2D C0 + sta $0490,x ; CPU:$C2E4 PRG:42E4 9D 90 04 + sta $04B6 ; CPU:$C2E7 PRG:42E7 8D B6 04 + lda #$00 ; CPU:$C2EA PRG:42EA A9 00 + sta $03C9,y ; CPU:$C2EC PRG:42EC 99 C9 03 + lda #$01 ; CPU:$C2EF PRG:42EF A9 01 + sta $04A8,x ; CPU:$C2F1 PRG:42F1 9D A8 04 + lda Zp8E,x ; CPU:$C2F4 PRG:42F4 B5 8E + cmp Zp94 ; CPU:$C2F6 PRG:42F6 C5 94 + bcc NmiHandler_Loop444 ; CPU:$C2F8 PRG:42F8 90 03 + dec $04A8,x ; CPU:$C2FA PRG:42FA DE A8 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop444 +; Global: Branch target inside NmiHandler: taken when Loop444. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop444: + jsr Sub_C470 ; CPU:$C2FD PRG:42FD 20 70 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop445 +; Global: Branch target inside NmiHandler: taken when Loop445. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop445: + dex ; CPU:$C300 PRG:4300 CA + bmi NmiHandler_Loop446 ; CPU:$C301 PRG:4301 30 11 + jmp Sub_C234 ; CPU:$C303 PRG:4303 4C 34 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C306 +; Global: Branch target inside Sub: taken when C306. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C306: + lda EnemyIndex,x ; CPU:$C306 PRG:4306 B5 87 + cmp #$0A ; CPU:$C308 PRG:4308 C9 0A + bcs NmiHandler_Loop447 ; CPU:$C30A PRG:430A B0 09 + cmp #$08 ; CPU:$C30C PRG:430C C9 08 + beq NmiHandler_Loop446 ; CPU:$C30E PRG:430E F0 04 + lda #$01 ; CPU:$C310 PRG:4310 A9 01 + sta ZpFC ; CPU:$C312 PRG:4312 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop446 +; Global: Branch target inside NmiHandler: taken when Loop446. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop446: + rts ; CPU:$C314 PRG:4314 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop447 +; Global: Branch target inside NmiHandler: taken when Loop447. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop447: + cmp #$0E ; CPU:$C315 PRG:4315 C9 0E + bcs NmiHandler_Loop448 ; CPU:$C317 PRG:4317 B0 05 + lda #$01 ; CPU:$C319 PRG:4319 A9 01 + sta ZpFF ; CPU:$C31B PRG:431B 85 FF + rts ; CPU:$C31D PRG:431D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop448 +; Global: Branch target inside NmiHandler: taken when Loop448. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop448: + cmp #$0F ; CPU:$C31E PRG:431E C9 0F + bne NmiHandler_Loop449 ; CPU:$C320 PRG:4320 D0 05 + lda #$02 ; CPU:$C322 PRG:4322 A9 02 + sta ZpFF ; CPU:$C324 PRG:4324 85 FF + rts ; CPU:$C326 PRG:4326 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop449 +; Global: Branch target inside NmiHandler: taken when Loop449. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop449: + cmp #$11 ; CPU:$C327 PRG:4327 C9 11 + bne NmiHandler_Loop450 ; CPU:$C329 PRG:4329 D0 04 + lda #$01 ; CPU:$C32B PRG:432B A9 01 + sta ZpFF ; CPU:$C32D PRG:432D 85 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop450 +; Global: Branch target inside NmiHandler: taken when Loop450. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop450: + rts ; CPU:$C32F PRG:432F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C330 +; Global: Branch target inside Sub: taken when C330. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C330: + lda EnemyIndex,x ; CPU:$C330 PRG:4330 B5 87 + tay ; CPU:$C332 PRG:4332 A8 + lda $BC66,y ; CPU:$C333 PRG:4333 B9 66 BC + sta VramWritePtrLo ; CPU:$C336 PRG:4336 85 00 + clc ; CPU:$C338 PRG:4338 18 + adc $0379 ; CPU:$C339 PRG:4339 6D 79 03 + tay ; CPU:$C33C PRG:433C A8 + lda $BC78,y ; CPU:$C33D PRG:433D B9 78 BC + sta $037A ; CPU:$C340 PRG:4340 8D 7A 03 + rts ; CPU:$C343 PRG:4343 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C344 +; Global: Branch target inside Sub: taken when C344. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C344: + lda EnemyIndex,x ; CPU:$C344 PRG:4344 B5 87 + cmp #$0A ; CPU:$C346 PRG:4346 C9 0A + bcs NmiHandler_Loop451 ; CPU:$C348 PRG:4348 B0 01 + rts ; CPU:$C34A PRG:434A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop451 +; Global: Branch target inside NmiHandler: taken when Loop451. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop451: + lda #$00 ; CPU:$C34B PRG:434B A9 00 + sta $04B5 ; CPU:$C34D PRG:434D 8D B5 04 + stx Zp0A ; CPU:$C350 PRG:4350 86 0A + ldx #$00 ; CPU:$C352 PRG:4352 A2 00 + jsr Sub_C0C4 ; CPU:$C354 PRG:4354 20 C4 C0 + ldx Zp0A ; CPU:$C357 PRG:4357 A6 0A + lda GameMode,x ; CPU:$C359 PRG:4359 B5 9F + cmp #$01 ; CPU:$C35B PRG:435B C9 01 + bne NmiHandler_OnZero8 ; CPU:$C35D PRG:435D D0 04 + lda SpriteTimer,x ; CPU:$C35F PRG:435F B5 80 + bne NmiHandler_Loop452 ; CPU:$C361 PRG:4361 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero8: + jmp Sub_C437 ; CPU:$C363 PRG:4363 4C 37 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop452 +; Global: Branch target inside NmiHandler: taken when Loop452. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop452: + lda EnemyIndex,x ; CPU:$C366 PRG:4366 B5 87 + cmp #$0E ; CPU:$C368 PRG:4368 C9 0E + bne NmiHandler_Loop453 ; CPU:$C36A PRG:436A D0 06 + jsr Sub_C441 ; CPU:$C36C PRG:436C 20 41 C4 + jmp Sub_C379 ; CPU:$C36F PRG:436F 4C 79 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop453 +; Global: Branch target inside NmiHandler: taken when Loop453. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop453: + lda #$04 ; CPU:$C372 PRG:4372 A9 04 + sta Zp0F ; CPU:$C374 PRG:4374 85 0F + jsr Sub_C133 ; CPU:$C376 PRG:4376 20 33 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C379 +; Global: Branch target inside Sub: taken when C379. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C379: + jsr Sub_C101 ; CPU:$C379 PRG:4379 20 01 C1 + beq NmiHandler_OnZero8 ; CPU:$C37C PRG:437C F0 E5 + lda EnemyIndex,x ; CPU:$C37E PRG:437E B5 87 + cmp #$10 ; CPU:$C380 PRG:4380 C9 10 + bne NmiHandler_Loop454 ; CPU:$C382 PRG:4382 D0 06 + lda PlayerIndex ; CPU:$C384 PRG:4384 A5 69 + and #$04 ; CPU:$C386 PRG:4386 29 04 + bne NmiHandler_Loop456 ; CPU:$C388 PRG:4388 D0 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop454 +; Global: Branch target inside NmiHandler: taken when Loop454. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop454: + cmp #$0A ; CPU:$C38A PRG:438A C9 0A + bne NmiHandler_Loop455 ; CPU:$C38C PRG:438C D0 09 + lda SpriteTimer,x ; CPU:$C38E PRG:438E B5 80 + and #$02 ; CPU:$C390 PRG:4390 29 02 + beq NmiHandler_Loop455 ; CPU:$C392 PRG:4392 F0 03 + jmp Sub_C440 ; CPU:$C394 PRG:4394 4C 40 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop455 +; Global: Branch target inside NmiHandler: taken when Loop455. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop455: + lda $04B0,x ; CPU:$C397 PRG:4397 BD B0 04 + beq NmiHandler_Loop457 ; CPU:$C39A PRG:439A F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop456 +; Global: Branch target inside NmiHandler: taken when Loop456. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop456: + jmp Sub_C440 ; CPU:$C39C PRG:439C 4C 40 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop457 +; Global: Branch target inside NmiHandler: taken when Loop457. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop457: + lda EnemyIndex,x ; CPU:$C39F PRG:439F B5 87 + tay ; CPU:$C3A1 PRG:43A1 A8 + cmp #$10 ; CPU:$C3A2 PRG:43A2 C9 10 + beq NmiHandler_Loop458 ; CPU:$C3A4 PRG:43A4 F0 04 + cmp #$0A ; CPU:$C3A6 PRG:43A6 C9 0A + bne NmiHandler_Loop459 ; CPU:$C3A8 PRG:43A8 D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop458 +; Global: Branch target inside NmiHandler: taken when Loop458. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop458: + lda #$04 ; CPU:$C3AA PRG:43AA A9 04 + sta ZpFF ; CPU:$C3AC PRG:43AC 85 FF + bne NmiHandler_Loop463 ; CPU:$C3AE PRG:43AE D0 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop459 +; Global: Branch target inside NmiHandler: taken when Loop459. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop459: + cmp #$0C ; CPU:$C3B0 PRG:43B0 C9 0C + beq NmiHandler_Loop460 ; CPU:$C3B2 PRG:43B2 F0 04 + cmp #$0D ; CPU:$C3B4 PRG:43B4 C9 0D + bne NmiHandler_Loop461 ; CPU:$C3B6 PRG:43B6 D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop460 +; Global: Branch target inside NmiHandler: taken when Loop460. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop460: + lda #$01 ; CPU:$C3B8 PRG:43B8 A9 01 + sta ZpFC ; CPU:$C3BA PRG:43BA 85 FC + bne NmiHandler_Loop463 ; CPU:$C3BC PRG:43BC D0 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop461 +; Global: Branch target inside NmiHandler: taken when Loop461. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop461: + cmp #$0F ; CPU:$C3BE PRG:43BE C9 0F + bne NmiHandler_Loop462 ; CPU:$C3C0 PRG:43C0 D0 06 + lda #$02 ; CPU:$C3C2 PRG:43C2 A9 02 + sta ZpFF ; CPU:$C3C4 PRG:43C4 85 FF + bne NmiHandler_Loop463 ; CPU:$C3C6 PRG:43C6 D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop462 +; Global: Branch target inside NmiHandler: taken when Loop462. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop462: + cmp #$11 ; CPU:$C3C8 PRG:43C8 C9 11 + bne NmiHandler_Loop463 ; CPU:$C3CA PRG:43CA D0 04 + lda #$01 ; CPU:$C3CC PRG:43CC A9 01 + sta ZpFC ; CPU:$C3CE PRG:43CE 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop463 +; Global: Branch target inside NmiHandler: taken when Loop463. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop463: + lda Zp53 ; CPU:$C3D0 PRG:43D0 A5 53 + bne NmiHandler_Loop464 ; CPU:$C3D2 PRG:43D2 D0 05 + tya ; CPU:$C3D4 PRG:43D4 98 + clc ; CPU:$C3D5 PRG:43D5 18 + adc #$12 ; CPU:$C3D6 PRG:43D6 69 12 + tay ; CPU:$C3D8 PRG:43D8 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop464 +; Global: Branch target inside NmiHandler: taken when Loop464. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop464: + lda $BC42,y ; CPU:$C3D9 PRG:43D9 B9 42 BC + sta $037A ; CPU:$C3DC PRG:43DC 8D 7A 03 + lda PlayerX,x ; CPU:$C3DF PRG:43DF B5 B0 + clc ; CPU:$C3E1 PRG:43E1 18 + adc #$04 ; CPU:$C3E2 PRG:43E2 69 04 + sta VramWritePtrLo ; CPU:$C3E4 PRG:43E4 85 00 + lda Zp94 ; CPU:$C3E6 PRG:43E6 A5 94 + sta VramWritePtrHi ; CPU:$C3E8 PRG:43E8 85 01 + jsr Sub_C02D ; CPU:$C3EA PRG:43EA 20 2D C0 + sta $0496 ; CPU:$C3ED PRG:43ED 8D 96 04 + sta $04B0,x ; CPU:$C3F0 PRG:43F0 9D B0 04 + lsr a ; CPU:$C3F3 PRG:43F3 4A + sta Zp67 ; CPU:$C3F4 PRG:43F4 85 67 + lda #$01 ; CPU:$C3F6 PRG:43F6 A9 01 + sta $03C9,y ; CPU:$C3F8 PRG:43F8 99 C9 03 + stx Zp0A ; CPU:$C3FB PRG:43FB 86 0A + lda SpriteIndex ; CPU:$C3FD PRG:43FD A5 5F + cmp #$03 ; CPU:$C3FF PRG:43FF C9 03 + bne NmiHandler_Loop466 ; CPU:$C401 PRG:4401 D0 13 + lda EnemyIndex,x ; CPU:$C403 PRG:4403 B5 87 + cmp #$0B ; CPU:$C405 PRG:4405 C9 0B + beq NmiHandler_Loop465 ; CPU:$C407 PRG:4407 F0 08 + cmp #$0E ; CPU:$C409 PRG:4409 C9 0E + beq NmiHandler_Loop465 ; CPU:$C40B PRG:440B F0 04 + cmp #$10 ; CPU:$C40D PRG:440D C9 10 + bcc NmiHandler_Loop466 ; CPU:$C40F PRG:440F 90 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop465 +; Global: Branch target inside NmiHandler: taken when Loop465. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop465: + lda #$01 ; CPU:$C411 PRG:4411 A9 01 + sta $04B5 ; CPU:$C413 PRG:4413 8D B5 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop466 +; Global: Branch target inside NmiHandler: taken when Loop466. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop466: + ldx #$06 ; CPU:$C416 PRG:4416 A2 06 + jsr Sub_C470 ; CPU:$C418 PRG:4418 20 70 C4 + ldx Zp0A ; CPU:$C41B PRG:441B A6 0A + lda EnemyIndex,x ; CPU:$C41D PRG:441D B5 87 + cmp #$0E ; CPU:$C41F PRG:441F C9 0E + bcs NmiHandler_Loop467 ; CPU:$C421 PRG:4421 B0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero9 +; Global: Branch target inside NmiHandler: taken when OnZero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero9: + jsr Sub_B8E1 ; CPU:$C423 PRG:4423 20 E1 B8 + jsr Sub_B257 ; CPU:$C426 PRG:4426 20 57 B2 + jmp Sub_C437 ; CPU:$C429 PRG:4429 4C 37 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop467 +; Global: Branch target inside NmiHandler: taken when Loop467. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop467: + cmp #$0F ; CPU:$C42C PRG:442C C9 0F + beq NmiHandler_OnZero9 ; CPU:$C42E PRG:442E F0 F3 + cmp #$11 ; CPU:$C430 PRG:4430 C9 11 + beq NmiHandler_OnZero9 ; CPU:$C432 PRG:4432 F0 EF + jmp Sub_C43E ; CPU:$C434 PRG:4434 4C 3E C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_C437 +; Global: Branch target inside Sub: taken when C437. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C437: + stx Zp0A ; CPU:$C437 PRG:4437 86 0A + lda #$00 ; CPU:$C439 PRG:4439 A9 00 + sta $04B0,x ; CPU:$C43B PRG:443B 9D B0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_C43E +; Global: Branch target inside Sub: taken when C43E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C43E: + ldx Zp0A ; CPU:$C43E PRG:443E A6 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_C440 +; Global: Branch target inside Sub: taken when C440. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C440: + rts ; CPU:$C440 PRG:4440 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C441 +; Global: Branch target inside Sub: taken when C441. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C441: + lda $04B8,x ; CPU:$C441 PRG:4441 BD B8 04 + cmp #$03 ; CPU:$C444 PRG:4444 C9 03 + bne NmiHandler_Loop468 ; CPU:$C446 PRG:4446 D0 21 + lda ZpC7,x ; CPU:$C448 PRG:4448 B5 C7 + beq NmiHandler_Loop468 ; CPU:$C44A PRG:444A F0 1D + ldy GameState,x ; CPU:$C44C PRG:444C B4 C0 + lda $BD84,y ; CPU:$C44E PRG:444E B9 84 BD + clc ; CPU:$C451 PRG:4451 18 + adc Zp8E,x ; CPU:$C452 PRG:4452 75 8E + sta Zp04 ; CPU:$C454 PRG:4454 85 04 + lda $BD86,y ; CPU:$C456 PRG:4456 B9 86 BD + clc ; CPU:$C459 PRG:4459 18 + adc Zp8E,x ; CPU:$C45A PRG:445A 75 8E + sta Zp06 ; CPU:$C45C PRG:445C 85 06 + lda $BD8A,y ; CPU:$C45E PRG:445E B9 8A BD + sta Zp05 ; CPU:$C461 PRG:4461 85 05 + lda $BD88,y ; CPU:$C463 PRG:4463 B9 88 BD + sta Zp07 ; CPU:$C466 PRG:4466 85 07 + rts ; CPU:$C468 PRG:4468 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop468 +; Global: Branch target inside NmiHandler: taken when Loop468. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop468: + lda #$00 ; CPU:$C469 PRG:4469 A9 00 + sta Zp04 ; CPU:$C46B PRG:446B 85 04 + sta Zp06 ; CPU:$C46D PRG:446D 85 06 + rts ; CPU:$C46F PRG:446F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C470 +; Global: Branch target inside Sub: taken when C470. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C470: + lda $04A0,x ; CPU:$C470 PRG:4470 BD A0 04 + bpl NmiHandler_Loop469 ; CPU:$C473 PRG:4473 10 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear6: + jmp NmiHandler_Loop479 ; CPU:$C475 PRG:4475 4C 4F C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop469 +; Global: Branch target inside NmiHandler: taken when Loop469. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop469: + lda #$FF ; CPU:$C478 PRG:4478 A9 FF + sta $04C0,x ; CPU:$C47A PRG:447A 9D C0 04 + lda $04A0,x ; CPU:$C47D PRG:447D BD A0 04 + sec ; CPU:$C480 PRG:4480 38 + sbc $037A ; CPU:$C481 PRG:4481 ED 7A 03 + sta $04A0,x ; CPU:$C484 PRG:4484 9D A0 04 + bmi NmiHandler_Loop470 ; CPU:$C487 PRG:4487 30 1C + cpx #$06 ; CPU:$C489 PRG:4489 E0 06 + bne NmiHandler_OnCarryClear6 ; CPU:$C48B PRG:448B D0 E8 + lda PlayerIndex ; CPU:$C48D PRG:448D A5 69 + and #$04 ; CPU:$C48F PRG:448F 29 04 + beq NmiHandler_OnCarryClear6 ; CPU:$C491 PRG:4491 F0 E2 + ldy Zp68 ; CPU:$C493 PRG:4493 A4 68 + cpy #$04 ; CPU:$C495 PRG:4495 C0 04 + bcc NmiHandler_OnCarryClear6 ; CPU:$C497 PRG:4497 90 DC + lda $BDC3,y ; CPU:$C499 PRG:4499 B9 C3 BD + sta Zp68 ; CPU:$C49C PRG:449C 85 68 + lda #$00 ; CPU:$C49E PRG:449E A9 00 + sta Zp21 ; CPU:$C4A0 PRG:44A0 85 21 + jmp NmiHandler_Loop479 ; CPU:$C4A2 PRG:44A2 4C 4F C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop470 +; Global: Branch target inside NmiHandler: taken when Loop470. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop470: + lda EnemyIndex,x ; CPU:$C4A5 PRG:44A5 B5 87 + cmp #$0E ; CPU:$C4A7 PRG:44A7 C9 0E + bne NmiHandler_Loop471 ; CPU:$C4A9 PRG:44A9 D0 06 + lda #$01 ; CPU:$C4AB PRG:44AB A9 01 + sta ZpFF ; CPU:$C4AD PRG:44AD 85 FF + bne NmiHandler_Loop472 ; CPU:$C4AF PRG:44AF D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop471 +; Global: Branch target inside NmiHandler: taken when Loop471. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop471: + cmp #$0F ; CPU:$C4B1 PRG:44B1 C9 0F + bne NmiHandler_Loop472 ; CPU:$C4B3 PRG:44B3 D0 04 + lda #$02 ; CPU:$C4B5 PRG:44B5 A9 02 + sta ZpFF ; CPU:$C4B7 PRG:44B7 85 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop472 +; Global: Branch target inside NmiHandler: taken when Loop472. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop472: + jsr Sub_C555 ; CPU:$C4B9 PRG:44B9 20 55 C5 + cpx #$05 ; CPU:$C4BC PRG:44BC E0 05 + bcc NmiHandler_OnCarryClear6 ; CPU:$C4BE PRG:44BE 90 B5 + bne NmiHandler_Loop475 ; CPU:$C4C0 PRG:44C0 D0 31 + lda #$00 ; CPU:$C4C2 PRG:44C2 A9 00 + sta Zp7A ; CPU:$C4C4 PRG:44C4 85 7A + sta Zp7B ; CPU:$C4C6 PRG:44C6 85 7B + lda #$08 ; CPU:$C4C8 PRG:44C8 A9 08 + sta ZpFD ; CPU:$C4CA PRG:44CA 85 FD + lda EnemyIndex,x ; CPU:$C4CC PRG:44CC B5 87 + cmp #$06 ; CPU:$C4CE PRG:44CE C9 06 + beq NmiHandler_Loop473 ; CPU:$C4D0 PRG:44D0 F0 0A + cmp #$07 ; CPU:$C4D2 PRG:44D2 C9 07 + bne NmiHandler_Loop474 ; CPU:$C4D4 PRG:44D4 D0 1A + lda #$05 ; CPU:$C4D6 PRG:44D6 A9 05 + sta Zp52 ; CPU:$C4D8 PRG:44D8 85 52 + bne NmiHandler_Loop474 ; CPU:$C4DA PRG:44DA D0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop473 +; Global: Branch target inside NmiHandler: taken when Loop473. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop473: + lda $039B ; CPU:$C4DC PRG:44DC AD 9B 03 + beq NmiHandler_Loop479 ; CPU:$C4DF PRG:44DF F0 6E + stx Zp0F ; CPU:$C4E1 PRG:44E1 86 0F + lda #$00 ; CPU:$C4E3 PRG:44E3 A9 00 + sta $039B ; CPU:$C4E5 PRG:44E5 8D 9B 03 + ldx $039C ; CPU:$C4E8 PRG:44E8 AE 9C 03 + jsr Sub_B257 ; CPU:$C4EB PRG:44EB 20 57 B2 + ldx Zp0F ; CPU:$C4EE PRG:44EE A6 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop474 +; Global: Branch target inside NmiHandler: taken when Loop474. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop474: + jmp NmiHandler_Loop479 ; CPU:$C4F0 PRG:44F0 4C 4F C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop475 +; Global: Branch target inside NmiHandler: taken when Loop475. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop475: + lda Zp6C ; CPU:$C4F3 PRG:44F3 A5 6C + cmp #$02 ; CPU:$C4F5 PRG:44F5 C9 02 + beq NmiHandler_Loop479 ; CPU:$C4F7 PRG:44F7 F0 56 + ldy SpriteIndex ; CPU:$C4F9 PRG:44F9 A4 5F + lda $04B5 ; CPU:$C4FB PRG:44FB AD B5 04 + beq NmiHandler_Loop476 ; CPU:$C4FE PRG:44FE F0 06 + lda $BDBE,y ; CPU:$C500 PRG:4500 B9 BE BD + sta $048F ; CPU:$C503 PRG:4503 8D 8F 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop476 +; Global: Branch target inside NmiHandler: taken when Loop476. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop476: + lda #$08 ; CPU:$C506 PRG:4506 A9 08 + sta ZpFD ; CPU:$C508 PRG:4508 85 FD + lsr a ; CPU:$C50A PRG:450A 4A + sta ZpFE ; CPU:$C50B PRG:450B 85 FE + sta ZpBD ; CPU:$C50D PRG:450D 85 BD + ldy #$04 ; CPU:$C50F PRG:450F A0 04 + lda #$01 ; CPU:$C511 PRG:4511 A9 01 + sta PpuMaskShadow ; CPU:$C513 PRG:4513 85 86 + lda PlayerIndex ; CPU:$C515 PRG:4515 A5 69 + and #$01 ; CPU:$C517 PRG:4517 29 01 + sta $04AE ; CPU:$C519 PRG:4519 8D AE 04 + beq NmiHandler_Loop477 ; CPU:$C51C PRG:451C F0 07 + tya ; CPU:$C51E PRG:451E 98 + eor #$FF ; CPU:$C51F PRG:451F 49 FF + tay ; CPU:$C521 PRG:4521 A8 + iny ; CPU:$C522 PRG:4522 C8 + dec ZpE5 ; CPU:$C523 PRG:4523 C6 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop477 +; Global: Branch target inside NmiHandler: taken when Loop477. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop477: + tya ; CPU:$C525 PRG:4525 98 + clc ; CPU:$C526 PRG:4526 18 + adc ZpD4 ; CPU:$C527 PRG:4527 65 D4 + sta ZpD4 ; CPU:$C529 PRG:4529 85 D4 + bcc NmiHandler_Loop478 ; CPU:$C52B PRG:452B 90 02 + inc ZpE5 ; CPU:$C52D PRG:452D E6 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop478 +; Global: Branch target inside NmiHandler: taken when Loop478. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop478: + lda SpriteScore ; CPU:$C52F PRG:452F A5 B6 + clc ; CPU:$C531 PRG:4531 18 + adc #$08 ; CPU:$C532 PRG:4532 69 08 + sta SpriteScore ; CPU:$C534 PRG:4534 85 B6 + lda #$00 ; CPU:$C536 PRG:4536 A9 00 + sta Zp6C ; CPU:$C538 PRG:4538 85 6C + lda #$FF ; CPU:$C53A PRG:453A A9 FF + sta $04A6 ; CPU:$C53C PRG:453C 8D A6 04 + sta $038F ; CPU:$C53F PRG:453F 8D 8F 03 + sta $038D ; CPU:$C542 PRG:4542 8D 8D 03 + lda #$1B ; CPU:$C545 PRG:4545 A9 1B + sta Zp52 ; CPU:$C547 PRG:4547 85 52 + lda Zp63 ; CPU:$C549 PRG:4549 A5 63 + beq NmiHandler_Loop479 ; CPU:$C54B PRG:454B F0 02 + inc ZpBD ; CPU:$C54D PRG:454D E6 BD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop479 +; Global: Branch target inside NmiHandler: taken when Loop479. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop479: + lda #$00 ; CPU:$C54F PRG:454F A9 00 + sta $037A ; CPU:$C551 PRG:4551 8D 7A 03 + rts ; CPU:$C554 PRG:4554 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C555 +; Global: Branch target inside Sub: taken when C555. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C555: + txa ; CPU:$C555 PRG:4555 8A + pha ; CPU:$C556 PRG:4556 48 + cpx #$06 ; CPU:$C557 PRG:4557 E0 06 + beq NmiHandler_Loop483 ; CPU:$C559 PRG:4559 F0 6F + inc $03B1 ; CPU:$C55B PRG:455B EE B1 03 + lda EnemyIndex,x ; CPU:$C55E PRG:455E B5 87 + tay ; CPU:$C560 PRG:4560 A8 + lda $BCD9,y ; CPU:$C561 PRG:4561 B9 D9 BC + sta VramWritePtrLo ; CPU:$C564 PRG:4564 85 00 + lda $BCEB,y ; CPU:$C566 PRG:4566 B9 EB BC + sta VramWritePtrHi ; CPU:$C569 PRG:4569 85 01 + lda $0379 ; CPU:$C56B PRG:456B AD 79 03 + tay ; CPU:$C56E PRG:456E A8 + lda (VramWritePtrLo),y ; CPU:$C56F PRG:456F B1 00 + sta Zp04 ; CPU:$C571 PRG:4571 85 04 + clc ; CPU:$C573 PRG:4573 18 + adc $04D5,x ; CPU:$C574 PRG:4574 7D D5 04 + tay ; CPU:$C577 PRG:4577 A8 + lda EnemyIndex,x ; CPU:$C578 PRG:4578 B5 87 + bne NmiHandler_Loop480 ; CPU:$C57A PRG:457A D0 17 + lda $03B1 ; CPU:$C57C PRG:457C AD B1 03 + cmp #$0C ; CPU:$C57F PRG:457F C9 0C + bne NmiHandler_Loop480 ; CPU:$C581 PRG:4581 D0 10 + lda #$00 ; CPU:$C583 PRG:4583 A9 00 + sta $03B1 ; CPU:$C585 PRG:4585 8D B1 03 + lda $0379 ; CPU:$C588 PRG:4588 AD 79 03 + cmp #$05 ; CPU:$C58B PRG:458B C9 05 + bne NmiHandler_Loop480 ; CPU:$C58D PRG:458D D0 04 + ldy #$19 ; CPU:$C58F PRG:458F A0 19 + bne NmiHandler_Loop482 ; CPU:$C591 PRG:4591 D0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop480 +; Global: Branch target inside NmiHandler: taken when Loop480. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop480: + lda EnemyIndex,x ; CPU:$C593 PRG:4593 B5 87 + cmp #$0D ; CPU:$C595 PRG:4595 C9 0D + beq NmiHandler_Loop481 ; CPU:$C597 PRG:4597 F0 04 + cmp #$0F ; CPU:$C599 PRG:4599 C9 0F + bne NmiHandler_Loop482 ; CPU:$C59B PRG:459B D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop481 +; Global: Branch target inside NmiHandler: taken when Loop481. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop481: + lda Zp1A ; CPU:$C59D PRG:459D A5 1A + and #$03 ; CPU:$C59F PRG:459F 29 03 + sta Zp0F ; CPU:$C5A1 PRG:45A1 85 0F + tya ; CPU:$C5A3 PRG:45A3 98 + clc ; CPU:$C5A4 PRG:45A4 18 + adc Zp0F ; CPU:$C5A5 PRG:45A5 65 0F + tay ; CPU:$C5A7 PRG:45A7 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop482 +; Global: Branch target inside NmiHandler: taken when Loop482. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop482: + lda $BD39,y ; CPU:$C5A8 PRG:45A8 B9 39 BD + sta Zp06 ; CPU:$C5AB PRG:45AB 85 06 + tay ; CPU:$C5AD PRG:45AD A8 + lda $BD53,y ; CPU:$C5AE PRG:45AE B9 53 BD + sta Zp05 ; CPU:$C5B1 PRG:45B1 85 05 + and #$F0 ; CPU:$C5B3 PRG:45B3 29 F0 + lsr a ; CPU:$C5B5 PRG:45B5 4A + lsr a ; CPU:$C5B6 PRG:45B6 4A + lsr a ; CPU:$C5B7 PRG:45B7 4A + lsr a ; CPU:$C5B8 PRG:45B8 4A + tax ; CPU:$C5B9 PRG:45B9 AA + lda $0537 ; CPU:$C5BA PRG:45BA AD 37 05 + bne NmiHandler_Loop483 ; CPU:$C5BD PRG:45BD D0 0B + lda Zp05 ; CPU:$C5BF PRG:45BF A5 05 + and #$0F ; CPU:$C5C1 PRG:45C1 29 0F + clc ; CPU:$C5C3 PRG:45C3 18 + adc $0521,x ; CPU:$C5C4 PRG:45C4 7D 21 05 + sta $0521,x ; CPU:$C5C7 PRG:45C7 9D 21 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop483 +; Global: Branch target inside NmiHandler: taken when Loop483. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop483: + pla ; CPU:$C5CA PRG:45CA 68 + tax ; CPU:$C5CB PRG:45CB AA + cpx #$06 ; CPU:$C5CC PRG:45CC E0 06 + beq NmiHandler_Loop487 ; CPU:$C5CE PRG:45CE F0 3A + lda GameState,x ; CPU:$C5D0 PRG:45D0 B5 C0 + and #$01 ; CPU:$C5D2 PRG:45D2 29 01 + tay ; CPU:$C5D4 PRG:45D4 A8 + lda Zp8E,x ; CPU:$C5D5 PRG:45D5 B5 8E + clc ; CPU:$C5D7 PRG:45D7 18 + adc $BCAE,y ; CPU:$C5D8 PRG:45D8 79 AE BC + sta $04C7,x ; CPU:$C5DB PRG:45DB 9D C7 04 + lda #$04 ; CPU:$C5DE PRG:45DE A9 04 + sta VramWritePtrLo ; CPU:$C5E0 PRG:45E0 85 00 + lda EnemyIndex,x ; CPU:$C5E2 PRG:45E2 B5 87 + cmp #$01 ; CPU:$C5E4 PRG:45E4 C9 01 + bne NmiHandler_Loop484 ; CPU:$C5E6 PRG:45E6 D0 0A + lda PlayerX,x ; CPU:$C5E8 PRG:45E8 B5 B0 + cmp #$84 ; CPU:$C5EA PRG:45EA C9 84 + bcs NmiHandler_Loop484 ; CPU:$C5EC PRG:45EC B0 04 + lda #$88 ; CPU:$C5EE PRG:45EE A9 88 + bne NmiHandler_Loop485 ; CPU:$C5F0 PRG:45F0 D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop484 +; Global: Branch target inside NmiHandler: taken when Loop484. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop484: + lda PlayerX,x ; CPU:$C5F2 PRG:45F2 B5 B0 + sec ; CPU:$C5F4 PRG:45F4 38 + sbc VramWritePtrLo ; CPU:$C5F5 PRG:45F5 E5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop485 +; Global: Branch target inside NmiHandler: taken when Loop485. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop485: + sta $04CE,x ; CPU:$C5F7 PRG:45F7 9D CE 04 + lda Zp06 ; CPU:$C5FA PRG:45FA A5 06 + sta $04C0,x ; CPU:$C5FC PRG:45FC 9D C0 04 + lda #$0B ; CPU:$C5FF PRG:45FF A9 0B + cpx #$05 ; CPU:$C601 PRG:4601 E0 05 + bne NmiHandler_Loop486 ; CPU:$C603 PRG:4603 D0 02 + lda #$50 ; CPU:$C605 PRG:4605 A9 50 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop486 +; Global: Branch target inside NmiHandler: taken when Loop486. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop486: + sta $03A2,x ; CPU:$C607 PRG:4607 9D A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop487 +; Global: Branch target inside NmiHandler: taken when Loop487. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop487: + rts ; CPU:$C60A PRG:460A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C60B +; Global: Branch target inside Sub: taken when C60B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C60B: + lda #$05 ; CPU:$C60B PRG:460B A9 05 + sta VramWritePtrLo ; CPU:$C60D PRG:460D 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative41 +; Global: Branch target inside NmiHandler: taken when OnNonnegative41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative41: + ldx VramWritePtrLo ; CPU:$C60F PRG:460F A6 00 + lda $03A2,x ; CPU:$C611 PRG:4611 BD A2 03 + beq NmiHandler_Loop488 ; CPU:$C614 PRG:4614 F0 49 + dec $03A2,x ; CPU:$C616 PRG:4616 DE A2 03 + lda $04C0,x ; CPU:$C619 PRG:4619 BD C0 04 + bmi NmiHandler_Loop489 ; CPU:$C61C PRG:461C 30 46 + tay ; CPU:$C61E PRG:461E A8 + iny ; CPU:$C61F PRG:461F C8 + lda $BD53,y ; CPU:$C620 PRG:4620 B9 53 BD + sta VramWritePtrHi ; CPU:$C623 PRG:4623 85 01 + iny ; CPU:$C625 PRG:4625 C8 + sty DispatchPtrLo ; CPU:$C626 PRG:4626 84 02 + lda $04C7,x ; CPU:$C628 PRG:4628 BD C7 04 + sta DispatchPtrHi ; CPU:$C62B PRG:462B 85 03 + lda $04CE,x ; CPU:$C62D PRG:462D BD CE 04 + sta Zp04 ; CPU:$C630 PRG:4630 85 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero42: + ldy Zp4C ; CPU:$C632 PRG:4632 A4 4C + lda Zp04 ; CPU:$C634 PRG:4634 A5 04 + sta $06D0,y ; CPU:$C636 PRG:4636 99 D0 06 + iny ; CPU:$C639 PRG:4639 C8 + ldx DispatchPtrLo ; CPU:$C63A PRG:463A A6 02 + lda $BD53,x ; CPU:$C63C PRG:463C BD 53 BD + sta $06D0,y ; CPU:$C63F PRG:463F 99 D0 06 + iny ; CPU:$C642 PRG:4642 C8 + inx ; CPU:$C643 PRG:4643 E8 + stx DispatchPtrLo ; CPU:$C644 PRG:4644 86 02 + lda #$00 ; CPU:$C646 PRG:4646 A9 00 + sta $06D0,y ; CPU:$C648 PRG:4648 99 D0 06 + iny ; CPU:$C64B PRG:464B C8 + lda DispatchPtrHi ; CPU:$C64C PRG:464C A5 03 + sta $06D0,y ; CPU:$C64E PRG:464E 99 D0 06 + clc ; CPU:$C651 PRG:4651 18 + adc #$08 ; CPU:$C652 PRG:4652 69 08 + sta DispatchPtrHi ; CPU:$C654 PRG:4654 85 03 + iny ; CPU:$C656 PRG:4656 C8 + sty Zp4C ; CPU:$C657 PRG:4657 84 4C + dec VramWritePtrHi ; CPU:$C659 PRG:4659 C6 01 + bne NmiHandler_OnNonzero42 ; CPU:$C65B PRG:465B D0 D5 + beq NmiHandler_Loop489 ; CPU:$C65D PRG:465D F0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop488 +; Global: Branch target inside NmiHandler: taken when Loop488. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop488: + lda #$FF ; CPU:$C65F PRG:465F A9 FF + sta $04C0,x ; CPU:$C661 PRG:4661 9D C0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop489 +; Global: Branch target inside NmiHandler: taken when Loop489. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop489: + dec VramWritePtrLo ; CPU:$C664 PRG:4664 C6 00 + bpl NmiHandler_OnNonnegative41 ; CPU:$C666 PRG:4666 10 A7 + rts ; CPU:$C668 PRG:4668 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C669 +; Global: Branch target inside Sub: taken when C669. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C669: + stx Zp0B ; CPU:$C669 PRG:4669 86 0B + ldx Zp0A ; CPU:$C66B PRG:466B A6 0A + ldy #$00 ; CPU:$C66D PRG:466D A0 00 + lda PlayerIndex ; CPU:$C66F PRG:466F A5 69 + and #$02 ; CPU:$C671 PRG:4671 29 02 + beq NmiHandler_Loop490 ; CPU:$C673 PRG:4673 F0 02 + ldy #$02 ; CPU:$C675 PRG:4675 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop490 +; Global: Branch target inside NmiHandler: taken when Loop490. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop490: + lda PlayerIndex ; CPU:$C677 PRG:4677 A5 69 + and #$04 ; CPU:$C679 PRG:4679 29 04 + beq NmiHandler_Loop491 ; CPU:$C67B PRG:467B F0 02 + ldy #$04 ; CPU:$C67D PRG:467D A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop491 +; Global: Branch target inside NmiHandler: taken when Loop491. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop491: + lda PlayerIndex ; CPU:$C67F PRG:467F A5 69 + and #$10 ; CPU:$C681 PRG:4681 29 10 + beq NmiHandler_Loop492 ; CPU:$C683 PRG:4683 F0 01 + iny ; CPU:$C685 PRG:4685 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop492 +; Global: Branch target inside NmiHandler: taken when Loop492. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop492: + sty $0379 ; CPU:$C686 PRG:4686 8C 79 03 + lda $BC1A,y ; CPU:$C689 PRG:4689 B9 1A BC + sta VramWritePtrHi,x ; CPU:$C68C PRG:468C 95 01 + lda $BC20,y ; CPU:$C68E PRG:468E B9 20 BC + sta DispatchPtrHi,x ; CPU:$C691 PRG:4691 95 03 + lda $BC26,y ; CPU:$C693 PRG:4693 B9 26 BC + sta Zp0A ; CPU:$C696 PRG:4696 85 0A + lda PlayerIndex ; CPU:$C698 PRG:4698 A5 69 + lsr a ; CPU:$C69A PRG:469A 4A + bcs NmiHandler_Loop493 ; CPU:$C69B PRG:469B B0 11 + lda Zp0A ; CPU:$C69D PRG:469D A5 0A + eor #$FF ; CPU:$C69F PRG:469F 49 FF + sta Zp0A ; CPU:$C6A1 PRG:46A1 85 0A + inc Zp0A ; CPU:$C6A3 PRG:46A3 E6 0A + lda Zp94 ; CPU:$C6A5 PRG:46A5 A5 94 + clc ; CPU:$C6A7 PRG:46A7 18 + adc Zp0A ; CPU:$C6A8 PRG:46A8 65 0A + sta DispatchPtrLo,x ; CPU:$C6AA PRG:46AA 95 02 + bne NmiHandler_Loop494 ; CPU:$C6AC PRG:46AC D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop493 +; Global: Branch target inside NmiHandler: taken when Loop493. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop493: + lda Zp94 ; CPU:$C6AE PRG:46AE A5 94 + clc ; CPU:$C6B0 PRG:46B0 18 + adc Zp0A ; CPU:$C6B1 PRG:46B1 65 0A + sta VramWritePtrLo,x ; CPU:$C6B3 PRG:46B3 95 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop494 +; Global: Branch target inside NmiHandler: taken when Loop494. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop494: + lda PlayerIndex ; CPU:$C6B5 PRG:46B5 A5 69 + lsr a ; CPU:$C6B7 PRG:46B7 4A + bcs NmiHandler_Loop495 ; CPU:$C6B8 PRG:46B8 B0 0E + lda Zp94 ; CPU:$C6BA PRG:46BA A5 94 + cmp #$1A ; CPU:$C6BC PRG:46BC C9 1A + bcs NmiHandler_Loop496 ; CPU:$C6BE PRG:46BE B0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet3: + lda #$00 ; CPU:$C6C0 PRG:46C0 A9 00 + sta VramWritePtrHi,x ; CPU:$C6C2 PRG:46C2 95 01 + sta DispatchPtrHi,x ; CPU:$C6C4 PRG:46C4 95 03 + beq NmiHandler_Loop500 ; CPU:$C6C6 PRG:46C6 F0 41 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop495 +; Global: Branch target inside NmiHandler: taken when Loop495. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop495: + lda Zp94 ; CPU:$C6C8 PRG:46C8 A5 94 + cmp #$E6 ; CPU:$C6CA PRG:46CA C9 E6 + bcs NmiHandler_OnCarrySet3 ; CPU:$C6CC PRG:46CC B0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop496 +; Global: Branch target inside NmiHandler: taken when Loop496. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop496: + lda $BC2C,y ; CPU:$C6CE PRG:46CE B9 2C BC + sta Zp0A ; CPU:$C6D1 PRG:46D1 85 0A + lda PlayerIndex ; CPU:$C6D3 PRG:46D3 A5 69 + lsr a ; CPU:$C6D5 PRG:46D5 4A + bcs NmiHandler_Loop497 ; CPU:$C6D6 PRG:46D6 B0 11 + lda Zp0A ; CPU:$C6D8 PRG:46D8 A5 0A + eor #$FF ; CPU:$C6DA PRG:46DA 49 FF + sta Zp0A ; CPU:$C6DC PRG:46DC 85 0A + inc Zp0A ; CPU:$C6DE PRG:46DE E6 0A + lda DispatchPtrLo,x ; CPU:$C6E0 PRG:46E0 B5 02 + clc ; CPU:$C6E2 PRG:46E2 18 + adc Zp0A ; CPU:$C6E3 PRG:46E3 65 0A + sta VramWritePtrLo,x ; CPU:$C6E5 PRG:46E5 95 00 + bne NmiHandler_Loop498 ; CPU:$C6E7 PRG:46E7 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop497 +; Global: Branch target inside NmiHandler: taken when Loop497. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop497: + lda VramWritePtrLo,x ; CPU:$C6E9 PRG:46E9 B5 00 + clc ; CPU:$C6EB PRG:46EB 18 + adc Zp0A ; CPU:$C6EC PRG:46EC 65 0A + sta DispatchPtrLo,x ; CPU:$C6EE PRG:46EE 95 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop498 +; Global: Branch target inside NmiHandler: taken when Loop498. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop498: + lda PlayerIndex ; CPU:$C6F0 PRG:46F0 A5 69 + lsr a ; CPU:$C6F2 PRG:46F2 4A + bcs NmiHandler_Loop499 ; CPU:$C6F3 PRG:46F3 B0 0E + lda Zp94 ; CPU:$C6F5 PRG:46F5 A5 94 + cmp #$1A ; CPU:$C6F7 PRG:46F7 C9 1A + bcs NmiHandler_Loop500 ; CPU:$C6F9 PRG:46F9 B0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet4: + lda #$00 ; CPU:$C6FB PRG:46FB A9 00 + sta VramWritePtrHi,x ; CPU:$C6FD PRG:46FD 95 01 + sta DispatchPtrHi,x ; CPU:$C6FF PRG:46FF 95 03 + beq NmiHandler_Loop500 ; CPU:$C701 PRG:4701 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop499 +; Global: Branch target inside NmiHandler: taken when Loop499. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop499: + lda Zp94 ; CPU:$C703 PRG:4703 A5 94 + cmp #$E6 ; CPU:$C705 PRG:4705 C9 E6 + bcs NmiHandler_OnCarrySet4 ; CPU:$C707 PRG:4707 B0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop500 +; Global: Branch target inside NmiHandler: taken when Loop500. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop500: + ldx Zp0B ; CPU:$C709 PRG:4709 A6 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero10: + rts ; CPU:$C70B PRG:470B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C70C +; Global: Branch target inside Sub: taken when C70C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C70C: + lda Zp6C ; CPU:$C70C PRG:470C A5 6C + beq NmiHandler_OnZero10 ; CPU:$C70E PRG:470E F0 FB + lda $03AB ; CPU:$C710 PRG:4710 AD AB 03 + clc ; CPU:$C713 PRG:4713 18 + adc #$10 ; CPU:$C714 PRG:4714 69 10 + sta $03AB ; CPU:$C716 PRG:4716 8D AB 03 + cmp #$34 ; CPU:$C719 PRG:4719 C9 34 + bcc NmiHandler_OnZero10 ; CPU:$C71B PRG:471B 90 EE + sec ; CPU:$C71D PRG:471D 38 + sbc #$34 ; CPU:$C71E PRG:471E E9 34 + sta $03AB ; CPU:$C720 PRG:4720 8D AB 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_C723 +; Global: Branch target inside Sub: taken when C723. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C723: + dec $0393 ; CPU:$C723 PRG:4723 CE 93 03 + bpl NmiHandler_OnZero10 ; CPU:$C726 PRG:4726 10 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero43: + dec $0392 ; CPU:$C728 PRG:4728 CE 92 03 + bmi NmiHandler_OnNonzero44 ; CPU:$C72B PRG:472B 30 06 + lda #$09 ; CPU:$C72D PRG:472D A9 09 + sta $0393 ; CPU:$C72F PRG:472F 8D 93 03 + rts ; CPU:$C732 PRG:4732 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero44: + dec $0391 ; CPU:$C733 PRG:4733 CE 91 03 + bmi NmiHandler_Loop502 ; CPU:$C736 PRG:4736 30 20 + lda $0390 ; CPU:$C738 PRG:4738 AD 90 03 + bne NmiHandler_Loop501 ; CPU:$C73B PRG:473B D0 14 + lda Zp6C ; CPU:$C73D PRG:473D A5 6C + cmp #$02 ; CPU:$C73F PRG:473F C9 02 + beq NmiHandler_Loop501 ; CPU:$C741 PRG:4741 F0 0E + lda $0391 ; CPU:$C743 PRG:4743 AD 91 03 + cmp #$03 ; CPU:$C746 PRG:4746 C9 03 + bne NmiHandler_Loop501 ; CPU:$C748 PRG:4748 D0 07 + lda #$02 ; CPU:$C74A PRG:474A A9 02 + sta ZpFB ; CPU:$C74C PRG:474C 85 FB + sta $048E ; CPU:$C74E PRG:474E 8D 8E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop501 +; Global: Branch target inside NmiHandler: taken when Loop501. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop501: + lda #$0A ; CPU:$C751 PRG:4751 A9 0A + sta $0392 ; CPU:$C753 PRG:4753 8D 92 03 + bne NmiHandler_OnNonzero43 ; CPU:$C756 PRG:4756 D0 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop502 +; Global: Branch target inside NmiHandler: taken when Loop502. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop502: + dec $0390 ; CPU:$C758 PRG:4758 CE 90 03 + bmi NmiHandler_Loop503 ; CPU:$C75B PRG:475B 30 07 + lda #$0A ; CPU:$C75D PRG:475D A9 0A + sta $0391 ; CPU:$C75F PRG:475F 8D 91 03 + bne NmiHandler_OnNonzero44 ; CPU:$C762 PRG:4762 D0 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop503 +; Global: Branch target inside NmiHandler: taken when Loop503. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop503: + lda #$02 ; CPU:$C764 PRG:4764 A9 02 + sta $0368 ; CPU:$C766 PRG:4766 8D 68 03 + ldx #$03 ; CPU:$C769 PRG:4769 A2 03 + lda #$00 ; CPU:$C76B PRG:476B A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative42 +; Global: Branch target inside NmiHandler: taken when OnNonnegative42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative42: + sta $0390,x ; CPU:$C76D PRG:476D 9D 90 03 + dex ; CPU:$C770 PRG:4770 CA + bpl NmiHandler_OnNonnegative42 ; CPU:$C771 PRG:4771 10 FA + lda Zp6C ; CPU:$C773 PRG:4773 A5 6C + cmp #$02 ; CPU:$C775 PRG:4775 C9 02 + beq NmiHandler_OnZero10 ; CPU:$C777 PRG:4777 F0 92 + lda #$00 ; CPU:$C779 PRG:4779 A9 00 + sta Zp67 ; CPU:$C77B PRG:477B 85 67 + jmp NmiHandler_Loop476 ; CPU:$C77D PRG:477D 4C 06 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C780 +; Global: Branch target inside Sub: taken when C780. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C780: + ldy $0300 ; CPU:$C780 PRG:4780 AC 00 03 + lda #$20 ; CPU:$C783 PRG:4783 A9 20 + sta $0301,y ; CPU:$C785 PRG:4785 99 01 03 + iny ; CPU:$C788 PRG:4788 C8 + lda #$DA ; CPU:$C789 PRG:4789 A9 DA + sta $0301,y ; CPU:$C78B PRG:478B 99 01 03 + iny ; CPU:$C78E PRG:478E C8 + lda #$04 ; CPU:$C78F PRG:478F A9 04 + sta $0301,y ; CPU:$C791 PRG:4791 99 01 03 + iny ; CPU:$C794 PRG:4794 C8 + ldx #$00 ; CPU:$C795 PRG:4795 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear7 +; Global: Branch target inside NmiHandler: taken when OnCarryClear7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear7: + lda $0390,x ; CPU:$C797 PRG:4797 BD 90 03 + sta $0301,y ; CPU:$C79A PRG:479A 99 01 03 + iny ; CPU:$C79D PRG:479D C8 + inx ; CPU:$C79E PRG:479E E8 + cpx #$04 ; CPU:$C79F PRG:479F E0 04 + bcc NmiHandler_OnCarryClear7 ; CPU:$C7A1 PRG:47A1 90 F4 + lda #$00 ; CPU:$C7A3 PRG:47A3 A9 00 + sta $0301,y ; CPU:$C7A5 PRG:47A5 99 01 03 + sty $0300 ; CPU:$C7A8 PRG:47A8 8C 00 03 + rts ; CPU:$C7AB PRG:47AB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7AC +; Global: Branch target inside Sub: taken when C7AC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7AC: + lda $0486,x ; CPU:$C7AC PRG:47AC BD 86 04 + tay ; CPU:$C7AF PRG:47AF A8 + lda $BCB8,y ; CPU:$C7B0 PRG:47B0 B9 B8 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_C7B3 +; Global: Branch target inside Sub: taken when C7B3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7B3: + clc ; CPU:$C7B3 PRG:47B3 18 + adc PlayerX,x ; CPU:$C7B4 PRG:47B4 75 B0 + sta PlayerX,x ; CPU:$C7B6 PRG:47B6 95 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero45: + rts ; CPU:$C7B8 PRG:47B8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7B9 +; Global: Branch target inside Sub: taken when C7B9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7B9: + lda $0368 ; CPU:$C7B9 PRG:47B9 AD 68 03 + bne NmiHandler_OnNonzero45 ; CPU:$C7BC PRG:47BC D0 FA + lda $0366 ; CPU:$C7BE PRG:47BE AD 66 03 + ora $0367 ; CPU:$C7C1 PRG:47C1 0D 67 03 + bne NmiHandler_Loop504 ; CPU:$C7C4 PRG:47C4 D0 14 + lda $04A5 ; CPU:$C7C6 PRG:47C6 AD A5 04 + bmi NmiHandler_Loop504 ; CPU:$C7C9 PRG:47C9 30 0F + cmp #$30 ; CPU:$C7CB PRG:47CB C9 30 + bcs NmiHandler_Loop504 ; CPU:$C7CD PRG:47CD B0 0B + lda Zp3E ; CPU:$C7CF PRG:47CF A5 3E + bne NmiHandler_Loop504 ; CPU:$C7D1 PRG:47D1 D0 07 + lda #$0D ; CPU:$C7D3 PRG:47D3 A9 0D + sta Zp3E ; CPU:$C7D5 PRG:47D5 85 3E + inc $04A5 ; CPU:$C7D7 PRG:47D7 EE A5 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop504 +; Global: Branch target inside NmiHandler: taken when Loop504. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop504: + ldy $0300 ; CPU:$C7DA PRG:47DA AC 00 03 + ldx #$05 ; CPU:$C7DD PRG:47DD A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative43 +; Global: Branch target inside NmiHandler: taken when OnNonnegative43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative43: + lda #$FC ; CPU:$C7DF PRG:47DF A9 FC + sta $0304,y ; CPU:$C7E1 PRG:47E1 99 04 03 + sta $030D,y ; CPU:$C7E4 PRG:47E4 99 0D 03 + iny ; CPU:$C7E7 PRG:47E7 C8 + dex ; CPU:$C7E8 PRG:47E8 CA + bpl NmiHandler_OnNonnegative43 ; CPU:$C7E9 PRG:47E9 10 F4 + ldy $0300 ; CPU:$C7EB PRG:47EB AC 00 03 + lda #$20 ; CPU:$C7EE PRG:47EE A9 20 + sta $0301,y ; CPU:$C7F0 PRG:47F0 99 01 03 + sta $030A,y ; CPU:$C7F3 PRG:47F3 99 0A 03 + lda #$A8 ; CPU:$C7F6 PRG:47F6 A9 A8 + sta $0302,y ; CPU:$C7F8 PRG:47F8 99 02 03 + lda #$E8 ; CPU:$C7FB PRG:47FB A9 E8 + sta $030B,y ; CPU:$C7FD PRG:47FD 99 0B 03 + lda #$06 ; CPU:$C800 PRG:4800 A9 06 + sta $0303,y ; CPU:$C802 PRG:4802 99 03 03 + sta $030C,y ; CPU:$C805 PRG:4805 99 0C 03 + lda #$17 ; CPU:$C808 PRG:4808 A9 17 + sta DispatchPtrHi ; CPU:$C80A PRG:480A 85 03 + lda #$04 ; CPU:$C80C PRG:480C A9 04 + sta Zp04 ; CPU:$C80E PRG:480E 85 04 + ldx #$01 ; CPU:$C810 PRG:4810 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative44 +; Global: Branch target inside NmiHandler: taken when OnNonnegative44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative44: + lda #$38 ; CPU:$C812 PRG:4812 A9 38 + sta DispatchPtrLo ; CPU:$C814 PRG:4814 85 02 + lda #$00 ; CPU:$C816 PRG:4816 A9 00 + sta VramWritePtrHi ; CPU:$C818 PRG:4818 85 01 + lda $04A5,x ; CPU:$C81A PRG:481A BD A5 04 + beq NmiHandler_Loop505 ; CPU:$C81D PRG:481D F0 23 + bmi NmiHandler_Loop506 ; CPU:$C81F PRG:481F 30 2E + lsr a ; CPU:$C821 PRG:4821 4A + lsr a ; CPU:$C822 PRG:4822 4A + lsr a ; CPU:$C823 PRG:4823 4A + sta VramWritePtrLo ; CPU:$C824 PRG:4824 85 00 + lda $04A5,x ; CPU:$C826 PRG:4826 BD A5 04 + and #$07 ; CPU:$C829 PRG:4829 29 07 + sta VramWritePtrHi ; CPU:$C82B PRG:482B 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero46: + lda VramWritePtrLo ; CPU:$C82D PRG:482D A5 00 + beq NmiHandler_Loop506 ; CPU:$C82F PRG:482F F0 1E + lda #$FD ; CPU:$C831 PRG:4831 A9 FD + sta $0304,y ; CPU:$C833 PRG:4833 99 04 03 + iny ; CPU:$C836 PRG:4836 C8 + lda #$08 ; CPU:$C837 PRG:4837 A9 08 + clc ; CPU:$C839 PRG:4839 18 + adc DispatchPtrLo ; CPU:$C83A PRG:483A 65 02 + sta DispatchPtrLo ; CPU:$C83C PRG:483C 85 02 + dec VramWritePtrLo ; CPU:$C83E PRG:483E C6 00 + bne NmiHandler_OnNonzero46 ; CPU:$C840 PRG:4840 D0 EB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop505 +; Global: Branch target inside NmiHandler: taken when Loop505. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop505: + lda $0388 ; CPU:$C842 PRG:4842 AD 88 03 + bne NmiHandler_Loop506 ; CPU:$C845 PRG:4845 D0 08 + lda Zp6C ; CPU:$C847 PRG:4847 A5 6C + cmp #$02 ; CPU:$C849 PRG:4849 C9 02 + beq NmiHandler_Loop506 ; CPU:$C84B PRG:484B F0 02 + inc DispatchPtrLo ; CPU:$C84D PRG:484D E6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop506 +; Global: Branch target inside NmiHandler: taken when Loop506. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop506: + jsr Sub_C86C ; CPU:$C84F PRG:484F 20 6C C8 + lda $0300 ; CPU:$C852 PRG:4852 AD 00 03 + clc ; CPU:$C855 PRG:4855 18 + adc #$09 ; CPU:$C856 PRG:4856 69 09 + tay ; CPU:$C858 PRG:4858 A8 + dex ; CPU:$C859 PRG:4859 CA + bpl NmiHandler_OnNonnegative44 ; CPU:$C85A PRG:485A 10 B6 + lda $0300 ; CPU:$C85C PRG:485C AD 00 03 + clc ; CPU:$C85F PRG:485F 18 + adc #$12 ; CPU:$C860 PRG:4860 69 12 + sta $0300 ; CPU:$C862 PRG:4862 8D 00 03 + tay ; CPU:$C865 PRG:4865 A8 + lda #$00 ; CPU:$C866 PRG:4866 A9 00 + sta $0301,y ; CPU:$C868 PRG:4868 99 01 03 + rts ; CPU:$C86B PRG:486B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C86C +; Global: Branch target inside Sub: taken when C86C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C86C: + ldy Zp04 ; CPU:$C86C PRG:486C A4 04 + lda #$10 ; CPU:$C86E PRG:486E A9 10 + clc ; CPU:$C870 PRG:4870 18 + adc DispatchPtrHi ; CPU:$C871 PRG:4871 65 03 + sta DispatchPtrHi ; CPU:$C873 PRG:4873 85 03 + sta $0204,y ; CPU:$C875 PRG:4875 99 04 02 + lda #$21 ; CPU:$C878 PRG:4878 A9 21 + sta $0206,y ; CPU:$C87A PRG:487A 99 06 02 + lda #$FE ; CPU:$C87D PRG:487D A9 FE + cpx #$01 ; CPU:$C87F PRG:487F E0 01 + beq NmiHandler_Loop507 ; CPU:$C881 PRG:4881 F0 07 + lda #$20 ; CPU:$C883 PRG:4883 A9 20 + sta $0206,y ; CPU:$C885 PRG:4885 99 06 02 + lda #$FD ; CPU:$C888 PRG:4888 A9 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop507 +; Global: Branch target inside NmiHandler: taken when Loop507. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop507: + sta $0205,y ; CPU:$C88A PRG:488A 99 05 02 + lda DispatchPtrLo ; CPU:$C88D PRG:488D A5 02 + clc ; CPU:$C88F PRG:488F 18 + adc VramWritePtrHi ; CPU:$C890 PRG:4890 65 01 + sta $0207,y ; CPU:$C892 PRG:4892 99 07 02 + lda #$00 ; CPU:$C895 PRG:4895 A9 00 + sta Zp04 ; CPU:$C897 PRG:4897 85 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero11: + rts ; CPU:$C899 PRG:4899 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C89A +; Global: Branch target inside Sub: taken when C89A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C89A: + lda Zp85 ; CPU:$C89A PRG:489A A5 85 + beq NmiHandler_OnZero11 ; CPU:$C89C PRG:489C F0 FB + lda Zp8C ; CPU:$C89E PRG:489E A5 8C + cmp #$03 ; CPU:$C8A0 PRG:48A0 C9 03 + beq NmiHandler_Loop508 ; CPU:$C8A2 PRG:48A2 F0 0B + cmp #$05 ; CPU:$C8A4 PRG:48A4 C9 05 + bne NmiHandler_OnZero11 ; CPU:$C8A6 PRG:48A6 D0 F1 + lda $04A5 ; CPU:$C8A8 PRG:48A8 AD A5 04 + beq NmiHandler_OnZero11 ; CPU:$C8AB PRG:48AB F0 EC + bmi NmiHandler_OnZero11 ; CPU:$C8AD PRG:48AD 30 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop508 +; Global: Branch target inside NmiHandler: taken when Loop508. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop508: + lda ZpA4 ; CPU:$C8AF PRG:48AF A5 A4 + lsr a ; CPU:$C8B1 PRG:48B1 4A + bcs NmiHandler_Loop509 ; CPU:$C8B2 PRG:48B2 B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero12 +; Global: Branch target inside NmiHandler: taken when OnZero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero12: + lda #$00 ; CPU:$C8B4 PRG:48B4 A9 00 + sta $04B5 ; CPU:$C8B6 PRG:48B6 8D B5 04 + rts ; CPU:$C8B9 PRG:48B9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop509 +; Global: Branch target inside NmiHandler: taken when Loop509. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop509: + lda Zp7B ; CPU:$C8BA PRG:48BA A5 7B + cmp #$02 ; CPU:$C8BC PRG:48BC C9 02 + bcc NmiHandler_OnZero12 ; CPU:$C8BE PRG:48BE 90 F4 + lda Zp7A ; CPU:$C8C0 PRG:48C0 A5 7A + cmp #$01 ; CPU:$C8C2 PRG:48C2 C9 01 + bne NmiHandler_OnZero12 ; CPU:$C8C4 PRG:48C4 D0 EE + jsr Sub_C205 ; CPU:$C8C6 PRG:48C6 20 05 C2 + ldy Zp0F ; CPU:$C8C9 PRG:48C9 A4 0F + ldx #$00 ; CPU:$C8CB PRG:48CB A2 00 + lda Zp7B ; CPU:$C8CD PRG:48CD A5 7B + cmp #$03 ; CPU:$C8CF PRG:48CF C9 03 + bne NmiHandler_Loop510 ; CPU:$C8D1 PRG:48D1 D0 01 + inx ; CPU:$C8D3 PRG:48D3 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop510 +; Global: Branch target inside NmiHandler: taken when Loop510. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop510: + lda $BCB4,x ; CPU:$C8D4 PRG:48D4 BD B4 BC + sta Zp0F ; CPU:$C8D7 PRG:48D7 85 0F + lda $BCB0,x ; CPU:$C8D9 PRG:48D9 BD B0 BC + sta VramWritePtrHi ; CPU:$C8DC PRG:48DC 85 01 + clc ; CPU:$C8DE PRG:48DE 18 + adc #$08 ; CPU:$C8DF PRG:48DF 69 08 + sta $03DC,y ; CPU:$C8E1 PRG:48E1 99 DC 03 + lda $BCB2,x ; CPU:$C8E4 PRG:48E4 BD B2 BC + sta DispatchPtrHi ; CPU:$C8E7 PRG:48E7 85 03 + lda Zp8C ; CPU:$C8E9 PRG:48E9 A5 8C + cmp #$05 ; CPU:$C8EB PRG:48EB C9 05 + bne NmiHandler_Loop511 ; CPU:$C8ED PRG:48ED D0 04 + lda #$08 ; CPU:$C8EF PRG:48EF A9 08 + sta Zp0F ; CPU:$C8F1 PRG:48F1 85 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop511 +; Global: Branch target inside NmiHandler: taken when Loop511. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop511: + lda Zp93 ; CPU:$C8F3 PRG:48F3 A5 93 + clc ; CPU:$C8F5 PRG:48F5 18 + adc Zp0F ; CPU:$C8F6 PRG:48F6 65 0F + sta VramWritePtrLo ; CPU:$C8F8 PRG:48F8 85 00 + lda Zp93 ; CPU:$C8FA PRG:48FA A5 93 + clc ; CPU:$C8FC PRG:48FC 18 + adc $BCB6,x ; CPU:$C8FD PRG:48FD 7D B6 BC + sta DispatchPtrLo ; CPU:$C900 PRG:4900 85 02 + lda Zp94 ; CPU:$C902 PRG:4902 A5 94 + sec ; CPU:$C904 PRG:4904 38 + sbc #$04 ; CPU:$C905 PRG:4905 E9 04 + sta $03E0,y ; CPU:$C907 PRG:4907 99 E0 03 + lda #$01 ; CPU:$C90A PRG:490A A9 01 + sta $03C9,y ; CPU:$C90C PRG:490C 99 C9 03 + sty Zp0A ; CPU:$C90F PRG:490F 84 0A + ldx #$04 ; CPU:$C911 PRG:4911 A2 04 + jsr Sub_C0C4 ; CPU:$C913 PRG:4913 20 C4 C0 + jsr Sub_C101 ; CPU:$C916 PRG:4916 20 01 C1 + beq NmiHandler_OnZero12 ; CPU:$C919 PRG:4919 F0 99 + lda $04B5 ; CPU:$C91B PRG:491B AD B5 04 + bne NmiHandler_Loop513 ; CPU:$C91E PRG:491E D0 2A + ldy Zp0A ; CPU:$C920 PRG:4920 A4 0A + lda #$01 ; CPU:$C922 PRG:4922 A9 01 + sta $03D8,y ; CPU:$C924 PRG:4924 99 D8 03 + sta $0496 ; CPU:$C927 PRG:4927 8D 96 04 + sta $04B5 ; CPU:$C92A PRG:492A 8D B5 04 + lsr a ; CPU:$C92D PRG:492D 4A + sta Zp67 ; CPU:$C92E PRG:492E 85 67 + ldx Zp8C ; CPU:$C930 PRG:4930 A6 8C + lda Zp53 ; CPU:$C932 PRG:4932 A5 53 + bne NmiHandler_Loop512 ; CPU:$C934 PRG:4934 D0 05 + txa ; CPU:$C936 PRG:4936 8A + clc ; CPU:$C937 PRG:4937 18 + adc #$12 ; CPU:$C938 PRG:4938 69 12 + tax ; CPU:$C93A PRG:493A AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop512 +; Global: Branch target inside NmiHandler: taken when Loop512. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop512: + lda $BC42,x ; CPU:$C93B PRG:493B BD 42 BC + clc ; CPU:$C93E PRG:493E 18 + adc $037A ; CPU:$C93F PRG:493F 6D 7A 03 + sta $037A ; CPU:$C942 PRG:4942 8D 7A 03 + ldx #$06 ; CPU:$C945 PRG:4945 A2 06 + jsr Sub_C470 ; CPU:$C947 PRG:4947 20 70 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop513 +; Global: Branch target inside NmiHandler: taken when Loop513. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop513: + rts ; CPU:$C94A PRG:494A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C94B +; Global: Branch target inside Sub: taken when C94B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C94B: + ldx #$01 ; CPU:$C94B PRG:494B A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative45 +; Global: Branch target inside NmiHandler: taken when OnNonnegative45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative45: + lda $03F8,x ; CPU:$C94D PRG:494D BD F8 03 + beq NmiHandler_Loop516 ; CPU:$C950 PRG:4950 F0 73 + lda $03F8,x ; CPU:$C952 PRG:4952 BD F8 03 + cmp #$01 ; CPU:$C955 PRG:4955 C9 01 + beq NmiHandler_Loop516 ; CPU:$C957 PRG:4957 F0 6C + cmp #$05 ; CPU:$C959 PRG:4959 C9 05 + beq NmiHandler_Loop516 ; CPU:$C95B PRG:495B F0 68 + lda #$00 ; CPU:$C95D PRG:495D A9 00 + sta $04B5 ; CPU:$C95F PRG:495F 8D B5 04 + lda $0402,x ; CPU:$C962 PRG:4962 BD 02 04 + cmp #$01 ; CPU:$C965 PRG:4965 C9 01 + bne NmiHandler_Loop516 ; CPU:$C967 PRG:4967 D0 5C + lda $0400,x ; CPU:$C969 PRG:4969 BD 00 04 + sta Zp0A ; CPU:$C96C PRG:496C 85 0A + lda $0404,x ; CPU:$C96E PRG:496E BD 04 04 + sta Zp0B ; CPU:$C971 PRG:4971 85 0B + jsr Sub_C0A2 ; CPU:$C973 PRG:4973 20 A2 C0 + jsr Sub_C101 ; CPU:$C976 PRG:4976 20 01 C1 + beq NmiHandler_Loop516 ; CPU:$C979 PRG:4979 F0 4A + lda $03F8,x ; CPU:$C97B PRG:497B BD F8 03 + cmp $040E,x ; CPU:$C97E PRG:497E DD 0E 04 + beq NmiHandler_Loop516 ; CPU:$C981 PRG:4981 F0 42 + lda Zp53 ; CPU:$C983 PRG:4983 A5 53 + beq NmiHandler_Loop514 ; CPU:$C985 PRG:4985 F0 04 + lda #$12 ; CPU:$C987 PRG:4987 A9 12 + bne NmiHandler_Loop515 ; CPU:$C989 PRG:4989 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop514 +; Global: Branch target inside NmiHandler: taken when Loop514. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop514: + lda #$0C ; CPU:$C98B PRG:498B A9 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop515 +; Global: Branch target inside NmiHandler: taken when Loop515. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop515: + sta $037A ; CPU:$C98D PRG:498D 8D 7A 03 + lda #$01 ; CPU:$C990 PRG:4990 A9 01 + sta $04B5 ; CPU:$C992 PRG:4992 8D B5 04 + stx VramWritePtrLo ; CPU:$C995 PRG:4995 86 00 + ldx #$06 ; CPU:$C997 PRG:4997 A2 06 + jsr Sub_C470 ; CPU:$C999 PRG:4999 20 70 C4 + ldx VramWritePtrLo ; CPU:$C99C PRG:499C A6 00 + jsr Sub_C205 ; CPU:$C99E PRG:499E 20 05 C2 + ldy Zp0F ; CPU:$C9A1 PRG:49A1 A4 0F + bmi NmiHandler_Loop516 ; CPU:$C9A3 PRG:49A3 30 20 + lda $0404,x ; CPU:$C9A5 PRG:49A5 BD 04 04 + sta $03DC,y ; CPU:$C9A8 PRG:49A8 99 DC 03 + lda $0400,x ; CPU:$C9AB PRG:49AB BD 00 04 + sta $03E0,y ; CPU:$C9AE PRG:49AE 99 E0 03 + lda #$01 ; CPU:$C9B1 PRG:49B1 A9 01 + sta $03D8,y ; CPU:$C9B3 PRG:49B3 99 D8 03 + sta $0496 ; CPU:$C9B6 PRG:49B6 8D 96 04 + sta $03C9,y ; CPU:$C9B9 PRG:49B9 99 C9 03 + lsr a ; CPU:$C9BC PRG:49BC 4A + sta Zp67 ; CPU:$C9BD PRG:49BD 85 67 + lda $03F8,x ; CPU:$C9BF PRG:49BF BD F8 03 + sta $040E,x ; CPU:$C9C2 PRG:49C2 9D 0E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop516 +; Global: Branch target inside NmiHandler: taken when Loop516. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop516: + dex ; CPU:$C9C5 PRG:49C5 CA + bpl NmiHandler_OnNonnegative45 ; CPU:$C9C6 PRG:49C6 10 85 + rts ; CPU:$C9C8 PRG:49C8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9C9 +; Global: Branch target inside Sub: taken when C9C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9C9: + lda $0410,x ; CPU:$C9C9 PRG:49C9 BD 10 04 + bne NmiHandler_Loop520 ; CPU:$C9CC PRG:49CC D0 3E + lda SpriteIndex ; CPU:$C9CE PRG:49CE A5 5F + cmp #$04 ; CPU:$C9D0 PRG:49D0 C9 04 + bne NmiHandler_Loop517 ; CPU:$C9D2 PRG:49D2 D0 06 + lda EnemyHealth,x ; CPU:$C9D4 PRG:49D4 B5 DF + cmp #$03 ; CPU:$C9D6 PRG:49D6 C9 03 + bcc NmiHandler_Loop519 ; CPU:$C9D8 PRG:49D8 90 31 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop517 +; Global: Branch target inside NmiHandler: taken when Loop517. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop517: + lda SpriteTimer,x ; CPU:$C9DA PRG:49DA B5 80 + and #$10 ; CPU:$C9DC PRG:49DC 29 10 + beq NmiHandler_Loop518 ; CPU:$C9DE PRG:49DE F0 25 + lda $04DC,x ; CPU:$C9E0 PRG:49E0 BD DC 04 + cmp #$32 ; CPU:$C9E3 PRG:49E3 C9 32 + bcs NmiHandler_Loop519 ; CPU:$C9E5 PRG:49E5 B0 24 + cmp #$2E ; CPU:$C9E7 PRG:49E7 C9 2E + bcc NmiHandler_Loop518 ; CPU:$C9E9 PRG:49E9 90 1A + lda PlayerIndex ; CPU:$C9EB PRG:49EB A5 69 + and #$02 ; CPU:$C9ED PRG:49ED 29 02 + beq NmiHandler_Loop518 ; CPU:$C9EF PRG:49EF F0 14 + lda #$01 ; CPU:$C9F1 PRG:49F1 A9 01 + sta $0410,x ; CPU:$C9F3 PRG:49F3 9D 10 04 + lsr a ; CPU:$C9F6 PRG:49F6 4A + sta $0414,x ; CPU:$C9F7 PRG:49F7 9D 14 04 + sta $041C,x ; CPU:$C9FA PRG:49FA 9D 1C 04 + sta $0394,x ; CPU:$C9FD PRG:49FD 9D 94 03 + lda PlayerX,x ; CPU:$CA00 PRG:4A00 B5 B0 + sta $0418,x ; CPU:$CA02 PRG:4A02 9D 18 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop518 +; Global: Branch target inside NmiHandler: taken when Loop518. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop518: + lda SpriteTimer,x ; CPU:$CA05 PRG:4A05 B5 80 + and #$0F ; CPU:$CA07 PRG:4A07 29 0F + sta SpriteTimer,x ; CPU:$CA09 PRG:4A09 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop519 +; Global: Branch target inside NmiHandler: taken when Loop519. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop519: + rts ; CPU:$CA0B PRG:4A0B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop520 +; Global: Branch target inside NmiHandler: taken when Loop520. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop520: + lda Zp6E ; CPU:$CA0C PRG:4A0C A5 6E + clc ; CPU:$CA0E PRG:4A0E 18 + adc $0414,x ; CPU:$CA0F PRG:4A0F 7D 14 04 + sta $0414,x ; CPU:$CA12 PRG:4A12 9D 14 04 + cmp #$0E ; CPU:$CA15 PRG:4A15 C9 0E + bcs NmiHandler_Loop522 ; CPU:$CA17 PRG:4A17 B0 17 + lda #$00 ; CPU:$CA19 PRG:4A19 A9 00 + sta PlayerY,x ; CPU:$CA1B PRG:4A1B 95 B7 + cmp #$08 ; CPU:$CA1D PRG:4A1D C9 08 + bcs NmiHandler_Loop521 ; CPU:$CA1F PRG:4A1F B0 04 + lda #$0B ; CPU:$CA21 PRG:4A21 A9 0B + sta PlayerY,x ; CPU:$CA23 PRG:4A23 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop521 +; Global: Branch target inside NmiHandler: taken when Loop521. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop521: + lda $0414,x ; CPU:$CA25 PRG:4A25 BD 14 04 + sta $041C,x ; CPU:$CA28 PRG:4A28 9D 1C 04 + jsr Sub_CB3D ; CPU:$CA2B PRG:4A2B 20 3D CB + bne NmiHandler_Loop527 ; CPU:$CA2E PRG:4A2E D0 5E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop522 +; Global: Branch target inside NmiHandler: taken when Loop522. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop522: + cmp #$18 ; CPU:$CA30 PRG:4A30 C9 18 + bcs NmiHandler_Loop523 ; CPU:$CA32 PRG:4A32 B0 12 + lda #$09 ; CPU:$CA34 PRG:4A34 A9 09 + sta PlayerY,x ; CPU:$CA36 PRG:4A36 95 B7 + lda $0414,x ; CPU:$CA38 PRG:4A38 BD 14 04 + sec ; CPU:$CA3B PRG:4A3B 38 + sbc #$0E ; CPU:$CA3C PRG:4A3C E9 0E + sta $041C,x ; CPU:$CA3E PRG:4A3E 9D 1C 04 + jsr Sub_CB23 ; CPU:$CA41 PRG:4A41 20 23 CB + bne NmiHandler_Loop527 ; CPU:$CA44 PRG:4A44 D0 48 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop523 +; Global: Branch target inside NmiHandler: taken when Loop523. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop523: + cmp #$20 ; CPU:$CA46 PRG:4A46 C9 20 + bcs NmiHandler_Loop524 ; CPU:$CA48 PRG:4A48 B0 06 + lda #$09 ; CPU:$CA4A PRG:4A4A A9 09 + sta PlayerY,x ; CPU:$CA4C PRG:4A4C 95 B7 + bne NmiHandler_Loop527 ; CPU:$CA4E PRG:4A4E D0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop524 +; Global: Branch target inside NmiHandler: taken when Loop524. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop524: + cmp #$2A ; CPU:$CA50 PRG:4A50 C9 2A + bcs NmiHandler_Loop525 ; CPU:$CA52 PRG:4A52 B0 12 + lda #$0A ; CPU:$CA54 PRG:4A54 A9 0A + sta PlayerY,x ; CPU:$CA56 PRG:4A56 95 B7 + lda $0414,x ; CPU:$CA58 PRG:4A58 BD 14 04 + sec ; CPU:$CA5B PRG:4A5B 38 + sbc #$20 ; CPU:$CA5C PRG:4A5C E9 20 + sta $041C,x ; CPU:$CA5E PRG:4A5E 9D 1C 04 + jsr Sub_CB30 ; CPU:$CA61 PRG:4A61 20 30 CB + bne NmiHandler_Loop527 ; CPU:$CA64 PRG:4A64 D0 28 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop525 +; Global: Branch target inside NmiHandler: taken when Loop525. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop525: + cmp #$38 ; CPU:$CA66 PRG:4A66 C9 38 + bcs NmiHandler_Loop526 ; CPU:$CA68 PRG:4A68 B0 12 + lda #$0B ; CPU:$CA6A PRG:4A6A A9 0B + sta PlayerY,x ; CPU:$CA6C PRG:4A6C 95 B7 + lda $0414,x ; CPU:$CA6E PRG:4A6E BD 14 04 + sec ; CPU:$CA71 PRG:4A71 38 + sbc #$2A ; CPU:$CA72 PRG:4A72 E9 2A + sta $041C,x ; CPU:$CA74 PRG:4A74 9D 1C 04 + jsr Sub_CB4C ; CPU:$CA77 PRG:4A77 20 4C CB + bne NmiHandler_Loop527 ; CPU:$CA7A PRG:4A7A D0 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop526 +; Global: Branch target inside NmiHandler: taken when Loop526. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop526: + lda #$87 ; CPU:$CA7C PRG:4A7C A9 87 + sta PlayerX,x ; CPU:$CA7E PRG:4A7E 95 B0 + lda SpriteTimer,x ; CPU:$CA80 PRG:4A80 B5 80 + and #$0F ; CPU:$CA82 PRG:4A82 29 0F + sta SpriteTimer,x ; CPU:$CA84 PRG:4A84 95 80 + lda #$00 ; CPU:$CA86 PRG:4A86 A9 00 + sta $0410,x ; CPU:$CA88 PRG:4A88 9D 10 04 + sta PlayerY,x ; CPU:$CA8B PRG:4A8B 95 B7 + rts ; CPU:$CA8D PRG:4A8D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop527 +; Global: Branch target inside NmiHandler: taken when Loop527. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop527: + lda PlayerX,x ; CPU:$CA8E PRG:4A8E B5 B0 + clc ; CPU:$CA90 PRG:4A90 18 + adc #$20 ; CPU:$CA91 PRG:4A91 69 20 + sta VramWritePtrHi ; CPU:$CA93 PRG:4A93 85 01 + clc ; CPU:$CA95 PRG:4A95 18 + adc #$08 ; CPU:$CA96 PRG:4A96 69 08 + sta DispatchPtrHi ; CPU:$CA98 PRG:4A98 85 03 + lda Zp8E,x ; CPU:$CA9A PRG:4A9A B5 8E + sec ; CPU:$CA9C PRG:4A9C 38 + sbc #$04 ; CPU:$CA9D PRG:4A9D E9 04 + sta VramWritePtrLo ; CPU:$CA9F PRG:4A9F 85 00 + clc ; CPU:$CAA1 PRG:4AA1 18 + adc #$08 ; CPU:$CAA2 PRG:4AA2 69 08 + sta DispatchPtrLo ; CPU:$CAA4 PRG:4AA4 85 02 + stx Zp0F ; CPU:$CAA6 PRG:4AA6 86 0F + ldx #$04 ; CPU:$CAA8 PRG:4AA8 A2 04 + jsr Sub_C0C4 ; CPU:$CAAA PRG:4AAA 20 C4 C0 + ldx Zp0F ; CPU:$CAAD PRG:4AAD A6 0F + jsr Sub_C101 ; CPU:$CAAF PRG:4AAF 20 01 C1 + beq NmiHandler_Loop529 ; CPU:$CAB2 PRG:4AB2 F0 28 + lda #$01 ; CPU:$CAB4 PRG:4AB4 A9 01 + sta ZpFC ; CPU:$CAB6 PRG:4AB6 85 FC + lda PlayerIndex ; CPU:$CAB8 PRG:4AB8 A5 69 + and #$02 ; CPU:$CABA PRG:4ABA 29 02 + bne NmiHandler_Loop530 ; CPU:$CABC PRG:4ABC D0 24 + dec $04A0,x ; CPU:$CABE PRG:4ABE DE A0 04 + ldy #$00 ; CPU:$CAC1 PRG:4AC1 A0 00 + lda PlayerIndex ; CPU:$CAC3 PRG:4AC3 A5 69 + and #$04 ; CPU:$CAC5 PRG:4AC5 29 04 + beq NmiHandler_Loop528 ; CPU:$CAC7 PRG:4AC7 F0 02 + ldy #$04 ; CPU:$CAC9 PRG:4AC9 A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop528 +; Global: Branch target inside NmiHandler: taken when Loop528. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop528: + tya ; CPU:$CACB PRG:4ACB 98 + sta $0379 ; CPU:$CACC PRG:4ACC 8D 79 03 + lda #$00 ; CPU:$CACF PRG:4ACF A9 00 + sta $04D5,x ; CPU:$CAD1 PRG:4AD1 9D D5 04 + lda GameState,x ; CPU:$CAD4 PRG:4AD4 B5 C0 + sta $04A8,x ; CPU:$CAD6 PRG:4AD6 9D A8 04 + jsr Sub_C555 ; CPU:$CAD9 PRG:4AD9 20 55 C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop529 +; Global: Branch target inside NmiHandler: taken when Loop529. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop529: + lda #$00 ; CPU:$CADC PRG:4ADC A9 00 + sta $04B0,x ; CPU:$CADE PRG:4ADE 9D B0 04 + rts ; CPU:$CAE1 PRG:4AE1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop530 +; Global: Branch target inside NmiHandler: taken when Loop530. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop530: + lda $04B0,x ; CPU:$CAE2 PRG:4AE2 BD B0 04 + bne NmiHandler_Loop533 ; CPU:$CAE5 PRG:4AE5 D0 3B + lda Zp53 ; CPU:$CAE7 PRG:4AE7 A5 53 + beq NmiHandler_Loop531 ; CPU:$CAE9 PRG:4AE9 F0 04 + lda #$0A ; CPU:$CAEB PRG:4AEB A9 0A + bne NmiHandler_Loop532 ; CPU:$CAED PRG:4AED D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop531 +; Global: Branch target inside NmiHandler: taken when Loop531. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop531: + lda #$05 ; CPU:$CAEF PRG:4AEF A9 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop532 +; Global: Branch target inside NmiHandler: taken when Loop532. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop532: + sta $037A ; CPU:$CAF1 PRG:4AF1 8D 7A 03 + lda #$38 ; CPU:$CAF4 PRG:4AF4 A9 38 + sec ; CPU:$CAF6 PRG:4AF6 38 + sbc $0414,x ; CPU:$CAF7 PRG:4AF7 FD 14 04 + sta $0414,x ; CPU:$CAFA PRG:4AFA 9D 14 04 + lda #$98 ; CPU:$CAFD PRG:4AFD A9 98 + sta VramWritePtrLo ; CPU:$CAFF PRG:4AFF 85 00 + lda Zp94 ; CPU:$CB01 PRG:4B01 A5 94 + sec ; CPU:$CB03 PRG:4B03 38 + sbc #$04 ; CPU:$CB04 PRG:4B04 E9 04 + sta VramWritePtrHi ; CPU:$CB06 PRG:4B06 85 01 + jsr Sub_C02D ; CPU:$CB08 PRG:4B08 20 2D C0 + sta $0496 ; CPU:$CB0B PRG:4B0B 8D 96 04 + sta $04B0,x ; CPU:$CB0E PRG:4B0E 9D B0 04 + lsr a ; CPU:$CB11 PRG:4B11 4A + sta Zp67 ; CPU:$CB12 PRG:4B12 85 67 + lda #$01 ; CPU:$CB14 PRG:4B14 A9 01 + sta $03C9,y ; CPU:$CB16 PRG:4B16 99 C9 03 + stx Zp0A ; CPU:$CB19 PRG:4B19 86 0A + ldx #$06 ; CPU:$CB1B PRG:4B1B A2 06 + jsr Sub_C470 ; CPU:$CB1D PRG:4B1D 20 70 C4 + ldx Zp0A ; CPU:$CB20 PRG:4B20 A6 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop533 +; Global: Branch target inside NmiHandler: taken when Loop533. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop533: + rts ; CPU:$CB22 PRG:4B22 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB23 +; Global: Branch target inside Sub: taken when CB23. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB23: + lda $0418,x ; CPU:$CB23 PRG:4B23 BD 18 04 + sec ; CPU:$CB26 PRG:4B26 38 + sbc #$1E ; CPU:$CB27 PRG:4B27 E9 1E + sec ; CPU:$CB29 PRG:4B29 38 + sbc $041C,x ; CPU:$CB2A PRG:4B2A FD 1C 04 + sta PlayerX,x ; CPU:$CB2D PRG:4B2D 95 B0 + rts ; CPU:$CB2F PRG:4B2F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB30 +; Global: Branch target inside Sub: taken when CB30. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB30: + lda $0418,x ; CPU:$CB30 PRG:4B30 BD 18 04 + sec ; CPU:$CB33 PRG:4B33 38 + sbc #$28 ; CPU:$CB34 PRG:4B34 E9 28 + clc ; CPU:$CB36 PRG:4B36 18 + adc $041C,x ; CPU:$CB37 PRG:4B37 7D 1C 04 + sta PlayerX,x ; CPU:$CB3A PRG:4B3A 95 B0 + rts ; CPU:$CB3C PRG:4B3C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB3D +; Global: Branch target inside Sub: taken when CB3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB3D: + lda $041C,x ; CPU:$CB3D PRG:4B3D BD 1C 04 + asl a ; CPU:$CB40 PRG:4B40 0A + sta VramWritePtrLo ; CPU:$CB41 PRG:4B41 85 00 + lda $0418,x ; CPU:$CB43 PRG:4B43 BD 18 04 + sec ; CPU:$CB46 PRG:4B46 38 + sbc VramWritePtrLo ; CPU:$CB47 PRG:4B47 E5 00 + sta PlayerX,x ; CPU:$CB49 PRG:4B49 95 B0 + rts ; CPU:$CB4B PRG:4B4B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB4C +; Global: Branch target inside Sub: taken when CB4C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB4C: + lda $041C,x ; CPU:$CB4C PRG:4B4C BD 1C 04 + asl a ; CPU:$CB4F PRG:4B4F 0A + sta VramWritePtrLo ; CPU:$CB50 PRG:4B50 85 00 + lda $0418,x ; CPU:$CB52 PRG:4B52 BD 18 04 + sec ; CPU:$CB55 PRG:4B55 38 + sbc #$1E ; CPU:$CB56 PRG:4B56 E9 1E + clc ; CPU:$CB58 PRG:4B58 18 + adc VramWritePtrLo ; CPU:$CB59 PRG:4B59 65 00 + sta PlayerX,x ; CPU:$CB5B PRG:4B5B 95 B0 + rts ; CPU:$CB5D PRG:4B5D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB5E +; Global: Branch target inside Sub: taken when CB5E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB5E: + lda ZpAA,x ; CPU:$CB5E PRG:4B5E B5 AA + cmp #$01 ; CPU:$CB60 PRG:4B60 C9 01 + bne NmiHandler_Loop536 ; CPU:$CB62 PRG:4B62 D0 4C + lda $0430,x ; CPU:$CB64 PRG:4B64 BD 30 04 + beq NmiHandler_Loop536 ; CPU:$CB67 PRG:4B67 F0 47 + lda Zp99,x ; CPU:$CB69 PRG:4B69 B5 99 + sta Zp0A ; CPU:$CB6B PRG:4B6B 85 0A + lda $0421,x ; CPU:$CB6D PRG:4B6D BD 21 04 + sta Zp0B ; CPU:$CB70 PRG:4B70 85 0B + jsr Sub_C0A2 ; CPU:$CB72 PRG:4B72 20 A2 C0 + jsr Sub_C101 ; CPU:$CB75 PRG:4B75 20 01 C1 + beq NmiHandler_Loop536 ; CPU:$CB78 PRG:4B78 F0 36 + lda Zp53 ; CPU:$CB7A PRG:4B7A A5 53 + beq NmiHandler_Loop534 ; CPU:$CB7C PRG:4B7C F0 04 + lda #$19 ; CPU:$CB7E PRG:4B7E A9 19 + bne NmiHandler_Loop535 ; CPU:$CB80 PRG:4B80 D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop534 +; Global: Branch target inside NmiHandler: taken when Loop534. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop534: + lda #$13 ; CPU:$CB82 PRG:4B82 A9 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop535 +; Global: Branch target inside NmiHandler: taken when Loop535. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop535: + sta $037A ; CPU:$CB84 PRG:4B84 8D 7A 03 + stx Zp0A ; CPU:$CB87 PRG:4B87 86 0A + ldx #$06 ; CPU:$CB89 PRG:4B89 A2 06 + jsr Sub_C470 ; CPU:$CB8B PRG:4B8B 20 70 C4 + ldx Zp0A ; CPU:$CB8E PRG:4B8E A6 0A + lda $0421,x ; CPU:$CB90 PRG:4B90 BD 21 04 + clc ; CPU:$CB93 PRG:4B93 18 + adc #$04 ; CPU:$CB94 PRG:4B94 69 04 + sta VramWritePtrLo ; CPU:$CB96 PRG:4B96 85 00 + lda Zp94 ; CPU:$CB98 PRG:4B98 A5 94 + sta VramWritePtrHi ; CPU:$CB9A PRG:4B9A 85 01 + jsr Sub_C02D ; CPU:$CB9C PRG:4B9C 20 2D C0 + sta $0496 ; CPU:$CB9F PRG:4B9F 8D 96 04 + lsr a ; CPU:$CBA2 PRG:4BA2 4A + sta Zp67 ; CPU:$CBA3 PRG:4BA3 85 67 + lda #$01 ; CPU:$CBA5 PRG:4BA5 A9 01 + sta $03C9,y ; CPU:$CBA7 PRG:4BA7 99 C9 03 + lda #$01 ; CPU:$CBAA PRG:4BAA A9 01 + sta ZpFC ; CPU:$CBAC PRG:4BAC 85 FC + sec ; CPU:$CBAE PRG:4BAE 38 + rts ; CPU:$CBAF PRG:4BAF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop536 +; Global: Branch target inside NmiHandler: taken when Loop536. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop536: + clc ; CPU:$CBB0 PRG:4BB0 18 + rts ; CPU:$CBB1 PRG:4BB1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBB2 +; Global: Branch target inside Sub: taken when CBB2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBB2: + ldx #$06 ; CPU:$CBB2 PRG:4BB2 A2 06 + clc ; CPU:$CBB4 PRG:4BB4 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet5: + lda $0530,x ; CPU:$CBB5 PRG:4BB5 BD 30 05 + adc $0520,x ; CPU:$CBB8 PRG:4BB8 7D 20 05 + sta $0530,x ; CPU:$CBBB PRG:4BBB 9D 30 05 + dex ; CPU:$CBBE PRG:4BBE CA + bmi NmiHandler_Loop538 ; CPU:$CBBF PRG:4BBF 30 11 + sec ; CPU:$CBC1 PRG:4BC1 38 + sbc #$0A ; CPU:$CBC2 PRG:4BC2 E9 0A + bcc NmiHandler_Loop537 ; CPU:$CBC4 PRG:4BC4 90 06 + sta $0531,x ; CPU:$CBC6 PRG:4BC6 9D 31 05 + sec ; CPU:$CBC9 PRG:4BC9 38 + bcs NmiHandler_OnCarrySet5 ; CPU:$CBCA PRG:4BCA B0 E9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop537 +; Global: Branch target inside NmiHandler: taken when Loop537. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop537: + sta $0527 ; CPU:$CBCC PRG:4BCC 8D 27 05 + clc ; CPU:$CBCF PRG:4BCF 18 + bcc NmiHandler_OnCarrySet5 ; CPU:$CBD0 PRG:4BD0 90 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop538 +; Global: Branch target inside NmiHandler: taken when Loop538. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop538: + lda #$00 ; CPU:$CBD2 PRG:4BD2 A9 00 + ldx #$06 ; CPU:$CBD4 PRG:4BD4 A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative46 +; Global: Branch target inside NmiHandler: taken when OnNonnegative46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative46: + sta $0520,x ; CPU:$CBD6 PRG:4BD6 9D 20 05 + dex ; CPU:$CBD9 PRG:4BD9 CA + bpl NmiHandler_OnNonnegative46 ; CPU:$CBDA PRG:4BDA 10 FA + rts ; CPU:$CBDC PRG:4BDC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBDD +; Global: Branch target inside Sub: taken when CBDD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBDD: + ldy $0300 ; CPU:$CBDD PRG:4BDD AC 00 03 + iny ; CPU:$CBE0 PRG:4BE0 C8 + lda $0528 ; CPU:$CBE1 PRG:4BE1 AD 28 05 + sta $0300,y ; CPU:$CBE4 PRG:4BE4 99 00 03 + iny ; CPU:$CBE7 PRG:4BE7 C8 + lda $0529 ; CPU:$CBE8 PRG:4BE8 AD 29 05 + sta $0300,y ; CPU:$CBEB PRG:4BEB 99 00 03 + iny ; CPU:$CBEE PRG:4BEE C8 + lda #$06 ; CPU:$CBEF PRG:4BEF A9 06 + sta $0300,y ; CPU:$CBF1 PRG:4BF1 99 00 03 + iny ; CPU:$CBF4 PRG:4BF4 C8 + ldx #$00 ; CPU:$CBF5 PRG:4BF5 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero47: + lda $0531,x ; CPU:$CBF7 PRG:4BF7 BD 31 05 + sta $0300,y ; CPU:$CBFA PRG:4BFA 99 00 03 + iny ; CPU:$CBFD PRG:4BFD C8 + inx ; CPU:$CBFE PRG:4BFE E8 + cpx #$06 ; CPU:$CBFF PRG:4BFF E0 06 + bne NmiHandler_OnNonzero47 ; CPU:$CC01 PRG:4C01 D0 F4 + lda #$00 ; CPU:$CC03 PRG:4C03 A9 00 + sta $0300,y ; CPU:$CC05 PRG:4C05 99 00 03 + dey ; CPU:$CC08 PRG:4C08 88 + sty $0300 ; CPU:$CC09 PRG:4C09 8C 00 03 + rts ; CPU:$CC0C PRG:4C0C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC0D +; Global: Branch target inside Sub: taken when CC0D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC0D: + ldx #$00 ; CPU:$CC0D PRG:4C0D A2 00 + ldy #$00 ; CPU:$CC0F PRG:4C0F A0 00 + lda Zp53 ; CPU:$CC11 PRG:4C11 A5 53 + beq NmiHandler_OnNonzero48 ; CPU:$CC13 PRG:4C13 F0 02 + ldy #$07 ; CPU:$CC15 PRG:4C15 A0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero48: + lda $0530,x ; CPU:$CC17 PRG:4C17 BD 30 05 + cmp $0510,y ; CPU:$CC1A PRG:4C1A D9 10 05 + beq NmiHandler_Loop539 ; CPU:$CC1D PRG:4C1D F0 04 + bcs NmiHandler_Loop540 ; CPU:$CC1F PRG:4C1F B0 09 + bcc NmiHandler_Loop541 ; CPU:$CC21 PRG:4C21 90 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop539 +; Global: Branch target inside NmiHandler: taken when Loop539. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop539: + iny ; CPU:$CC23 PRG:4C23 C8 + inx ; CPU:$CC24 PRG:4C24 E8 + cpx #$07 ; CPU:$CC25 PRG:4C25 E0 07 + bne NmiHandler_OnNonzero48 ; CPU:$CC27 PRG:4C27 D0 EE + rts ; CPU:$CC29 PRG:4C29 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop540 +; Global: Branch target inside NmiHandler: taken when Loop540. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop540: + ldx #$06 ; CPU:$CC2A PRG:4C2A A2 06 + ldy #$06 ; CPU:$CC2C PRG:4C2C A0 06 + lda Zp53 ; CPU:$CC2E PRG:4C2E A5 53 + beq NmiHandler_OnNonnegative47 ; CPU:$CC30 PRG:4C30 F0 02 + ldy #$0D ; CPU:$CC32 PRG:4C32 A0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative47 +; Global: Branch target inside NmiHandler: taken when OnNonnegative47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative47: + lda $0530,x ; CPU:$CC34 PRG:4C34 BD 30 05 + sta $0510,y ; CPU:$CC37 PRG:4C37 99 10 05 + dey ; CPU:$CC3A PRG:4C3A 88 + dex ; CPU:$CC3B PRG:4C3B CA + bpl NmiHandler_OnNonnegative47 ; CPU:$CC3C PRG:4C3C 10 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop541 +; Global: Branch target inside NmiHandler: taken when Loop541. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop541: + rts ; CPU:$CC3E PRG:4C3E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC3F +; Global: Branch target inside Sub: taken when CC3F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC3F: + lda #$06 ; CPU:$CC3F PRG:4C3F A9 06 + sta VramWritePtrLo ; CPU:$CC41 PRG:4C41 85 00 + ldx #$00 ; CPU:$CC43 PRG:4C43 A2 00 + lda Zp53 ; CPU:$CC45 PRG:4C45 A5 53 + beq NmiHandler_Loop542 ; CPU:$CC47 PRG:4C47 F0 02 + ldx #$07 ; CPU:$CC49 PRG:4C49 A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop542 +; Global: Branch target inside NmiHandler: taken when Loop542. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop542: + ldy $0300 ; CPU:$CC4B PRG:4C4B AC 00 03 + iny ; CPU:$CC4E PRG:4C4E C8 + lda $052A ; CPU:$CC4F PRG:4C4F AD 2A 05 + sta $0300,y ; CPU:$CC52 PRG:4C52 99 00 03 + iny ; CPU:$CC55 PRG:4C55 C8 + lda $052B ; CPU:$CC56 PRG:4C56 AD 2B 05 + sta $0300,y ; CPU:$CC59 PRG:4C59 99 00 03 + iny ; CPU:$CC5C PRG:4C5C C8 + lda #$06 ; CPU:$CC5D PRG:4C5D A9 06 + sta $0300,y ; CPU:$CC5F PRG:4C5F 99 00 03 + iny ; CPU:$CC62 PRG:4C62 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero49: + lda $0511,x ; CPU:$CC63 PRG:4C63 BD 11 05 + sta $0300,y ; CPU:$CC66 PRG:4C66 99 00 03 + iny ; CPU:$CC69 PRG:4C69 C8 + inx ; CPU:$CC6A PRG:4C6A E8 + dec VramWritePtrLo ; CPU:$CC6B PRG:4C6B C6 00 + bne NmiHandler_OnNonzero49 ; CPU:$CC6D PRG:4C6D D0 F4 + lda #$00 ; CPU:$CC6F PRG:4C6F A9 00 + sta $0300,y ; CPU:$CC71 PRG:4C71 99 00 03 + dey ; CPU:$CC74 PRG:4C74 88 + sty $0300 ; CPU:$CC75 PRG:4C75 8C 00 03 + rts ; CPU:$CC78 PRG:4C78 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC79 +; Global: Branch target inside Sub: taken when CC79. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC79: + ldy $0300 ; CPU:$CC79 PRG:4C79 AC 00 03 + lda #$20 ; CPU:$CC7C PRG:4C7C A9 20 + sta $0301,y ; CPU:$CC7E PRG:4C7E 99 01 03 + lda #$F1 ; CPU:$CC81 PRG:4C81 A9 F1 + sta $0302,y ; CPU:$CC83 PRG:4C83 99 02 03 + lda #$01 ; CPU:$CC86 PRG:4C86 A9 01 + sta $0303,y ; CPU:$CC88 PRG:4C88 99 03 03 + ldx Zp55 ; CPU:$CC8B PRG:4C8B A6 55 + lda Zp5C,x ; CPU:$CC8D PRG:4C8D B5 5C + tax ; CPU:$CC8F PRG:4C8F AA + beq NmiHandler_Loop543 ; CPU:$CC90 PRG:4C90 F0 01 + dex ; CPU:$CC92 PRG:4C92 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop543 +; Global: Branch target inside NmiHandler: taken when Loop543. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop543: + txa ; CPU:$CC93 PRG:4C93 8A + sta $0304,y ; CPU:$CC94 PRG:4C94 99 04 03 + tya ; CPU:$CC97 PRG:4C97 98 + clc ; CPU:$CC98 PRG:4C98 18 + adc #$04 ; CPU:$CC99 PRG:4C99 69 04 + sta $0300 ; CPU:$CC9B PRG:4C9B 8D 00 03 + rts ; CPU:$CC9E PRG:4C9E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC9F +; Global: Branch target inside Sub: taken when CC9F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC9F: + ldx #$0B ; CPU:$CC9F PRG:4C9F A2 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative48 +; Global: Branch target inside NmiHandler: taken when OnNonnegative48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative48: + lda $BD8C,x ; CPU:$CCA1 PRG:4CA1 BD 8C BD + sta $020C,x ; CPU:$CCA4 PRG:4CA4 9D 0C 02 + dex ; CPU:$CCA7 PRG:4CA7 CA + bpl NmiHandler_OnNonnegative48 ; CPU:$CCA8 PRG:4CA8 10 F7 + rts ; CPU:$CCAA PRG:4CAA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCAB +; Global: Branch target inside Sub: taken when CCAB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCAB: + lda #$02 ; CPU:$CCAB PRG:4CAB A9 02 + sta Zp6C ; CPU:$CCAD PRG:4CAD 85 6C + lda #$01 ; CPU:$CCAF PRG:4CAF A9 01 + sta $037A ; CPU:$CCB1 PRG:4CB1 8D 7A 03 + lda $04A6 ; CPU:$CCB4 PRG:4CB4 AD A6 04 + sec ; CPU:$CCB7 PRG:4CB7 38 + sbc $037A ; CPU:$CCB8 PRG:4CB8 ED 7A 03 + sta $04A6 ; CPU:$CCBB PRG:4CBB 8D A6 04 + bmi NmiHandler_OnNonzero50 ; CPU:$CCBE PRG:4CBE 30 13 + lda $03B2 ; CPU:$CCC0 PRG:4CC0 AD B2 03 + bne NmiHandler_Loop544 ; CPU:$CCC3 PRG:4CC3 D0 07 + lda #$01 ; CPU:$CCC5 PRG:4CC5 A9 01 + sta $0524 ; CPU:$CCC7 PRG:4CC7 8D 24 05 + bne NmiHandler_Loop545 ; CPU:$CCCA PRG:4CCA D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop544 +; Global: Branch target inside NmiHandler: taken when Loop544. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop544: + lda #$01 ; CPU:$CCCC PRG:4CCC A9 01 + sta $0523 ; CPU:$CCCE PRG:4CCE 8D 23 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop545 +; Global: Branch target inside NmiHandler: taken when Loop545. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop545: + clc ; CPU:$CCD1 PRG:4CD1 18 + rts ; CPU:$CCD2 PRG:4CD2 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero50: + sec ; CPU:$CCD3 PRG:4CD3 38 + rts ; CPU:$CCD4 PRG:4CD4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCD5 +; Global: Branch target inside Sub: taken when CCD5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCD5: + lda #$02 ; CPU:$CCD5 PRG:4CD5 A9 02 + sta Zp6C ; CPU:$CCD7 PRG:4CD7 85 6C + lda #$07 ; CPU:$CCD9 PRG:4CD9 A9 07 + sta VramWritePtrLo ; CPU:$CCDB PRG:4CDB 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative49 +; Global: Branch target inside NmiHandler: taken when OnNonnegative49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative49: + jsr Sub_C723 ; CPU:$CCDD PRG:4CDD 20 23 C7 + lda $0368 ; CPU:$CCE0 PRG:4CE0 AD 68 03 + bne NmiHandler_OnNonzero50 ; CPU:$CCE3 PRG:4CE3 D0 EE + lda #$01 ; CPU:$CCE5 PRG:4CE5 A9 01 + sta $0525 ; CPU:$CCE7 PRG:4CE7 8D 25 05 + jsr Sub_CBB2 ; CPU:$CCEA PRG:4CEA 20 B2 CB + jsr Sub_CC0D ; CPU:$CCED PRG:4CED 20 0D CC + dec VramWritePtrLo ; CPU:$CCF0 PRG:4CF0 C6 00 + bpl NmiHandler_OnNonnegative49 ; CPU:$CCF2 PRG:4CF2 10 E9 + clc ; CPU:$CCF4 PRG:4CF4 18 + rts ; CPU:$CCF5 PRG:4CF5 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCF6 +; Global: Branch target inside Sub: taken when CCF6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCF6: + lda $0537 ; CPU:$CCF6 PRG:4CF6 AD 37 05 + bne NmiHandler_Loop546 ; CPU:$CCF9 PRG:4CF9 D0 17 + ldx Zp55 ; CPU:$CCFB PRG:4CFB A6 55 + lda $052D,x ; CPU:$CCFD PRG:4CFD BD 2D 05 + bne NmiHandler_Loop546 ; CPU:$CD00 PRG:4D00 D0 10 + lda $0532 ; CPU:$CD02 PRG:4D02 AD 32 05 + cmp #$05 ; CPU:$CD05 PRG:4D05 C9 05 + bcc NmiHandler_Loop546 ; CPU:$CD07 PRG:4D07 90 09 + lda #$01 ; CPU:$CD09 PRG:4D09 A9 01 + sta ZpFE ; CPU:$CD0B PRG:4D0B 85 FE + inc Zp5C,x ; CPU:$CD0D PRG:4D0D F6 5C + inc $052D,x ; CPU:$CD0F PRG:4D0F FE 2D 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop546 +; Global: Branch target inside NmiHandler: taken when Loop546. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop546: + rts ; CPU:$CD12 PRG:4D12 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD13 +; Global: Branch target inside Sub: taken when CD13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD13: + ldy SpriteIndex ; CPU:$CD13 PRG:4D13 A4 5F + lda Zp47 ; CPU:$CD15 PRG:4D15 A5 47 + bne NmiHandler_Loop547 ; CPU:$CD17 PRG:4D17 D0 0D + lda Zp79 ; CPU:$CD19 PRG:4D19 A5 79 + eor #$01 ; CPU:$CD1B PRG:4D1B 49 01 + sta Zp79 ; CPU:$CD1D PRG:4D1D 85 79 + lda #$02 ; CPU:$CD1F PRG:4D1F A9 02 + sta Zp47 ; CPU:$CD21 PRG:4D21 85 47 + jmp Sub_CD34 ; CPU:$CD23 PRG:4D23 4C 34 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop547 +; Global: Branch target inside NmiHandler: taken when Loop547. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop547: + nop ; CPU:$CD26 PRG:4D26 EA + lda Zp79 ; CPU:$CD27 PRG:4D27 A5 79 + ora #$00 ; CPU:$CD29 PRG:4D29 09 00 + sta Zp79 ; CPU:$CD2B PRG:4D2B 85 79 + lda #$02 ; CPU:$CD2D PRG:4D2D A9 02 + sta VramWritePtrLo ; CPU:$CD2F PRG:4D2F 85 00 + nop ; CPU:$CD31 PRG:4D31 EA + nop ; CPU:$CD32 PRG:4D32 EA + nop ; CPU:$CD33 PRG:4D33 EA +; ----------------------------------------------------------------------------- +; Routine: Sub_CD34 +; Global: Branch target inside Sub: taken when CD34. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD34: + lda $BD98,y ; CPU:$CD34 PRG:4D34 B9 98 BD + sta VramWritePtrHi ; CPU:$CD37 PRG:4D37 85 01 + lda $BD9D,y ; CPU:$CD39 PRG:4D39 B9 9D BD + sta DispatchPtrLo ; CPU:$CD3C PRG:4D3C 85 02 + ldy #$00 ; CPU:$CD3E PRG:4D3E A0 00 + ldx $0300 ; CPU:$CD40 PRG:4D40 AE 00 03 + lda (VramWritePtrHi),y ; CPU:$CD43 PRG:4D43 B1 01 + sta $0301,x ; CPU:$CD45 PRG:4D45 9D 01 03 + iny ; CPU:$CD48 PRG:4D48 C8 + inx ; CPU:$CD49 PRG:4D49 E8 + lda (VramWritePtrHi),y ; CPU:$CD4A PRG:4D4A B1 01 + sta $0301,x ; CPU:$CD4C PRG:4D4C 9D 01 03 + inx ; CPU:$CD4F PRG:4D4F E8 + lda #$01 ; CPU:$CD50 PRG:4D50 A9 01 + sta $0301,x ; CPU:$CD52 PRG:4D52 9D 01 03 + inx ; CPU:$CD55 PRG:4D55 E8 + ldy Zp79 ; CPU:$CD56 PRG:4D56 A4 79 + lda $BDAC,y ; CPU:$CD58 PRG:4D58 B9 AC BD + sta $0301,x ; CPU:$CD5B PRG:4D5B 9D 01 03 + inx ; CPU:$CD5E PRG:4D5E E8 + lda #$00 ; CPU:$CD5F PRG:4D5F A9 00 + sta $0301,x ; CPU:$CD61 PRG:4D61 9D 01 03 + stx $0300 ; CPU:$CD64 PRG:4D64 8E 00 03 + rts ; CPU:$CD67 PRG:4D67 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD68 +; Global: Branch target inside Sub: taken when CD68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD68: + lda Zp8C ; CPU:$CD68 PRG:4D68 A5 8C + cmp #$07 ; CPU:$CD6A PRG:4D6A C9 07 + beq NmiHandler_Loop548 ; CPU:$CD6C PRG:4D6C F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero51: + rts ; CPU:$CD6E PRG:4D6E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop548 +; Global: Branch target inside NmiHandler: taken when Loop548. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop548: + lda Zp7B ; CPU:$CD6F PRG:4D6F A5 7B + cmp #$02 ; CPU:$CD71 PRG:4D71 C9 02 + bcc NmiHandler_Loop550 ; CPU:$CD73 PRG:4D73 90 70 + cmp #$06 ; CPU:$CD75 PRG:4D75 C9 06 + bcs NmiHandler_Loop550 ; CPU:$CD77 PRG:4D77 B0 6C + lda Zp7A ; CPU:$CD79 PRG:4D79 A5 7A + cmp #$02 ; CPU:$CD7B PRG:4D7B C9 02 + bne NmiHandler_Loop550 ; CPU:$CD7D PRG:4D7D D0 66 + ldy Zp7B ; CPU:$CD7F PRG:4D7F A4 7B + dey ; CPU:$CD81 PRG:4D81 88 + dey ; CPU:$CD82 PRG:4D82 88 + lda Zp93 ; CPU:$CD83 PRG:4D83 A5 93 + clc ; CPU:$CD85 PRG:4D85 18 + adc $BDB6,y ; CPU:$CD86 PRG:4D86 79 B6 BD + sta VramWritePtrLo ; CPU:$CD89 PRG:4D89 85 00 + lda $BDAE,y ; CPU:$CD8B PRG:4D8B B9 AE BD + sta VramWritePtrHi ; CPU:$CD8E PRG:4D8E 85 01 + lda VramWritePtrLo ; CPU:$CD90 PRG:4D90 A5 00 + clc ; CPU:$CD92 PRG:4D92 18 + adc $BDBA,y ; CPU:$CD93 PRG:4D93 79 BA BD + sta DispatchPtrLo ; CPU:$CD96 PRG:4D96 85 02 + lda $BDB2,y ; CPU:$CD98 PRG:4D98 B9 B2 BD + sta DispatchPtrHi ; CPU:$CD9B PRG:4D9B 85 03 + sty Zp0A ; CPU:$CD9D PRG:4D9D 84 0A + ldx #$04 ; CPU:$CD9F PRG:4D9F A2 04 + jsr Sub_C0C4 ; CPU:$CDA1 PRG:4DA1 20 C4 C0 + jsr Sub_C101 ; CPU:$CDA4 PRG:4DA4 20 01 C1 + beq NmiHandler_Loop550 ; CPU:$CDA7 PRG:4DA7 F0 3C + lda $04B5 ; CPU:$CDA9 PRG:4DA9 AD B5 04 + bne NmiHandler_OnNonzero51 ; CPU:$CDAC PRG:4DAC D0 C0 + ldy Zp8C ; CPU:$CDAE PRG:4DAE A4 8C + lda Zp53 ; CPU:$CDB0 PRG:4DB0 A5 53 + bne NmiHandler_Loop549 ; CPU:$CDB2 PRG:4DB2 D0 05 + tya ; CPU:$CDB4 PRG:4DB4 98 + clc ; CPU:$CDB5 PRG:4DB5 18 + adc #$12 ; CPU:$CDB6 PRG:4DB6 69 12 + tay ; CPU:$CDB8 PRG:4DB8 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop549 +; Global: Branch target inside NmiHandler: taken when Loop549. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop549: + lda $BC42,y ; CPU:$CDB9 PRG:4DB9 B9 42 BC + sta $037A ; CPU:$CDBC PRG:4DBC 8D 7A 03 + ldy Zp0A ; CPU:$CDBF PRG:4DBF A4 0A + lda $BDAE,y ; CPU:$CDC1 PRG:4DC1 B9 AE BD + sta VramWritePtrLo ; CPU:$CDC4 PRG:4DC4 85 00 + lda Zp94 ; CPU:$CDC6 PRG:4DC6 A5 94 + sec ; CPU:$CDC8 PRG:4DC8 38 + sbc #$04 ; CPU:$CDC9 PRG:4DC9 E9 04 + sta VramWritePtrHi ; CPU:$CDCB PRG:4DCB 85 01 + jsr Sub_C02D ; CPU:$CDCD PRG:4DCD 20 2D C0 + sta $0496 ; CPU:$CDD0 PRG:4DD0 8D 96 04 + sta $04B5 ; CPU:$CDD3 PRG:4DD3 8D B5 04 + lsr a ; CPU:$CDD6 PRG:4DD6 4A + sta Zp67 ; CPU:$CDD7 PRG:4DD7 85 67 + lda #$01 ; CPU:$CDD9 PRG:4DD9 A9 01 + sta $03C9,y ; CPU:$CDDB PRG:4DDB 99 C9 03 + sta ZpFC ; CPU:$CDDE PRG:4DDE 85 FC + ldx #$06 ; CPU:$CDE0 PRG:4DE0 A2 06 + jmp Sub_C470 ; CPU:$CDE2 PRG:4DE2 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop550 +; Global: Branch target inside NmiHandler: taken when Loop550. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop550: + lda #$00 ; CPU:$CDE5 PRG:4DE5 A9 00 + sta $04B5 ; CPU:$CDE7 PRG:4DE7 8D B5 04 + rts ; CPU:$CDEA PRG:4DEA 60 +; ---- data $CDEB-$CFCA (480 bytes) ---- +; referenced by `lda $CE0D,y` at $CFF7 (operand $CE0D falls inside this region) +; referenced by `lda $CE6D,y` at $D026 (operand $CE6D falls inside this region) +; referenced by `lda $CDF9,y` at $D02B (operand $CDF9 falls inside this region) +; referenced by `cmp $CDEB,y` at $D09E (operand $CDEB falls inside this region) +; referenced by `lda $CE23,y` at $D0A8 (operand $CE23 falls inside this region) +; referenced by `lda $CE9D,y` at $D18A (operand $CE9D falls inside this region) +; ... and 35 further references from decoded code +EnemyAnimationFrameTable: + .byte $20, $50, $20, $40, $20, $02, $02, $02, $02, $01, $05, $0A, $0C, $05, $08, $05 ; CPU:$CDEB PRG:0DEB 20 50 20 40 20 02 02 02 02 01 05 0A 0C 05 08 05 + .byte $0E, $10, $06, $05, $0E, $10, $05, $05, $0E, $10, $0E, $10, $18, $13, $0D, $0F ; CPU:$CDFB PRG:4DFB 0E 10 06 05 0E 10 05 05 0E 10 0E 10 18 13 0D 0F + .byte $15, $13, $00, $00, $04, $08, $05, $09, $04, $03, $01, $04, $04, $02, $01, $04 ; CPU:$CE0B PRG:4E0B 15 13 00 00 04 08 05 09 04 03 01 04 04 02 01 04 + .byte $03, $02, $01, $03, $03, $02, $01, $03, $03, $05, $06, $03, $02, $03, $03, $03 ; CPU:$CE1B PRG:4E1B 03 02 01 03 03 02 01 03 03 05 06 03 02 03 03 03 + .byte $02, $02, $03, $03, $05, $04, $04, $05, $05, $05, $04, $04, $05, $05, $03, $02 ; CPU:$CE2B PRG:4E2B 02 02 03 03 05 04 04 05 05 05 04 04 05 05 03 02 + .byte $00, $01, $02, $03, $05, $05, $03, $02, $01, $00, $00, $00, $01, $02, $02, $01 ; CPU:$CE3B PRG:4E3B 00 01 02 03 05 05 03 02 01 00 00 00 01 02 02 01 + .byte $00, $00, $66, $99, $E6, $00, $4C, $96, $E3, $00, $33, $66, $B3, $00, $1A, $34 ; CPU:$CE4B PRG:4E4B 00 00 66 99 E6 00 4C 96 E3 00 33 66 B3 00 1A 34 + .byte $9A, $00, $FF, $04, $09, $0E, $11, $08, $11, $08, $0C, $0D, $0C, $0D, $03, $03 ; CPU:$CE5B PRG:4E5B 9A 00 FF 04 09 0E 11 08 11 08 0C 0D 0C 0D 03 03 + .byte $83, $43, $08, $09, $16, $07, $07, $09, $16, $07, $05, $09, $16, $07, $13, $14 ; CPU:$CE6B PRG:4E6B 83 43 08 09 16 07 07 09 16 07 05 09 16 07 13 14 + .byte $16, $15, $10, $11, $13, $12, $00, $02, $08, $18, $00, $02, $03, $02, $00, $02 ; CPU:$CE7B PRG:4E7B 16 15 10 11 13 12 00 02 08 18 00 02 03 02 00 02 + .byte $04, $02, $00, $02, $04, $02, $47, $27, $46, $42, $22, $41, $00, $30, $41, $90 ; CPU:$CE8B PRG:4E8B 04 02 00 02 04 02 47 27 46 42 22 41 00 30 41 90 + .byte $98, $98, $06, $06, $0D, $13, $03, $03, $06, $0D, $03, $03, $06, $0D, $03, $03 ; CPU:$CE9B PRG:4E9B 98 98 06 06 0D 13 03 03 06 0D 03 03 06 0D 03 03 + .byte $03, $0D, $0D, $13, $03, $03, $03, $03, $02, $02, $02, $02, $02, $01, $01, $01 ; CPU:$CEAB PRG:4EAB 03 0D 0D 13 03 03 03 03 02 02 02 02 02 01 01 01 + .byte $01, $01, $01, $01, $01, $03, $43, $83, $03, $80, $90, $A0, $E0, $27, $D3, $27 ; CPU:$CEBB PRG:4EBB 01 01 01 01 01 03 43 83 03 80 90 A0 E0 27 D3 27 + .byte $D3, $89, $D3, $89, $D3, $89, $D3, $44, $D4, $74, $D4, $81, $D4, $00, $00, $08 ; CPU:$CECB PRG:4ECB D3 89 D3 89 D3 89 D3 44 D4 74 D4 81 D4 00 00 08 + .byte $0C, $10, $08, $11, $0E, $14, $87, $84, $81, $80, $81, $83, $0A, $01, $02, $06 ; CPU:$CEDB PRG:4EDB 0C 10 08 11 0E 14 87 84 81 80 81 83 0A 01 02 06 + .byte $01, $01, $80, $B3, $80, $67, $4D, $67, $4D, $36, $67, $67, $67, $36, $80, $B3 ; CPU:$CEEB PRG:4EEB 01 01 80 B3 80 67 4D 67 4D 36 67 67 67 36 80 B3 + .byte $80, $67, $67, $67, $67, $4D, $67, $67, $67, $67, $B3, $B3, $B3, $B3, $67, $B3 ; CPU:$CEFB PRG:4EFB 80 67 67 67 67 4D 67 67 67 67 B3 B3 B3 B3 67 B3 + .byte $67, $4D, $B3, $B3, $67, $33, $CD, $CD, $CD, $B3, $77, $B3, $67, $67, $B3, $B3 ; CPU:$CF0B PRG:4F0B 67 4D B3 B3 67 33 CD CD CD B3 77 B3 67 67 B3 B3 + .byte $67, $67, $09, $08, $08, $08, $0C, $0C, $0C, $08, $0C, $0C, $0C, $0A, $0C, $14 ; CPU:$CF1B PRG:4F1B 67 67 09 08 08 08 0C 0C 0C 08 0C 0C 0C 0A 0C 14 + .byte $12, $12, $12, $08, $08, $00, $08, $0C, $06, $07, $07, $07, $07, $07, $07, $0B ; CPU:$CF2B PRG:4F2B 12 12 12 08 08 00 08 0C 06 07 07 07 07 07 07 0B + .byte $07, $07, $07, $06, $07, $07, $06, $06, $06, $07, $07, $0B, $07, $03, $DC, $DD ; CPU:$CF3B PRG:4F3B 07 07 07 06 07 07 06 06 06 07 07 0B 07 03 DC DD + .byte $55, $55, $5D, $65, $6D, $CF, $CF, $CF, $CF, $CF, $80, $FF, $99, $FF, $99, $FF ; CPU:$CF4B PRG:4F4B 55 55 5D 65 6D CF CF CF CF CF 80 FF 99 FF 99 FF + .byte $99, $FF, $A8, $FF, $A8, $FF, $80, $FF, $54, $FF, $A6, $CC, $A6, $CC, $99, $CC ; CPU:$CF5B PRG:4F5B 99 FF A8 FF A8 FF 80 FF 54 FF A6 CC A6 CC 99 CC + .byte $80, $A8, $54, $A8, $54, $A8, $54, $A8, $54, $A8, $7F, $7F, $87, $8F, $97, $CF ; CPU:$CF6B PRG:4F6B 80 A8 54 A8 54 A8 54 A8 54 A8 7F 7F 87 8F 97 CF + .byte $CF, $CF, $CF, $CF, $99, $E5, $80, $C0, $4C, $B2, $4C, $98, $CC, $E5, $B3, $E6 ; CPU:$CF7B PRG:4F7B CF CF CF CF 99 E5 80 C0 4C B2 4C 98 CC E5 B3 E6 + .byte $99, $E5, $80, $CC, $54, $A8, $54, $A8, $54, $A8, $54, $A8, $66, $CC, $66, $CC ; CPU:$CF8B PRG:4F8B 99 E5 80 CC 54 A8 54 A8 54 A8 54 A8 66 CC 66 CC + .byte $66, $CC, $66, $CC, $AD, $95, $04, $F0, $27, $A9, $00, $8D, $95, $04, $A5, $7A ; CPU:$CF9B PRG:4F9B 66 CC 66 CC AD 95 04 F0 27 A9 00 8D 95 04 A5 7A + .byte $C9, $03, $D0, $19, $A0, $F2, $20, $33, $B2, $A5, $E4, $D0, $08, $A9, $70, $C5 ; CPU:$CFAB PRG:4FAB C9 03 D0 19 A0 F2 20 33 B2 A5 E4 D0 08 A9 70 C5 + .byte $D3, $90, $02, $85, $D3, $20, $02, $D1, $A9, $1C, $85, $30, $60, $4C, $02, $D1 ; CPU:$CFBB PRG:4FBB D3 90 02 85 D3 20 02 D1 A9 1C 85 30 60 4C 02 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFCB +; Global: Branch target inside Sub: taken when CFCB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFCB: + lda Zp7B ; CPU:$CFCB PRG:4FCB A5 7B + beq NmiHandler_Loop551 ; CPU:$CFCD PRG:4FCD F0 07 + cmp #$02 ; CPU:$CFCF PRG:4FCF C9 02 + bcs NmiHandler_Loop552 ; CPU:$CFD1 PRG:4FD1 B0 09 + jmp Sub_D568 ; CPU:$CFD3 PRG:4FD3 4C 68 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop551 +; Global: Branch target inside NmiHandler: taken when Loop551. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop551: + jsr Sub_D504 ; CPU:$CFD6 PRG:4FD6 20 04 D5 + bcs NmiHandler_Loop553 ; CPU:$CFD9 PRG:4FD9 B0 13 + rts ; CPU:$CFDB PRG:4FDB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop552 +; Global: Branch target inside NmiHandler: taken when Loop552. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop552: + lda Zp30 ; CPU:$CFDC PRG:4FDC A5 30 + bne NmiHandler_Loop561 ; CPU:$CFDE PRG:4FDE D0 57 + dec ZpBC ; CPU:$CFE0 PRG:4FE0 C6 BC + dec Zp7A ; CPU:$CFE2 PRG:4FE2 C6 7A + bpl NmiHandler_Loop554 ; CPU:$CFE4 PRG:4FE4 10 16 + sta Zp7A ; CPU:$CFE6 PRG:4FE6 85 7A + sta ZpBC ; CPU:$CFE8 PRG:4FE8 85 BC + dec Zp7C ; CPU:$CFEA PRG:4FEA C6 7C + beq NmiHandler_Loop562 ; CPU:$CFEC PRG:4FEC F0 4A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop553 +; Global: Branch target inside NmiHandler: taken when Loop553. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop553: + jsr Sub_D5CD ; CPU:$CFEE PRG:4FEE 20 CD D5 + sty Zp7B ; CPU:$CFF1 PRG:4FF1 84 7B + lda #$02 ; CPU:$CFF3 PRG:4FF3 A9 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFF5 +; Global: Branch target inside Sub: taken when CFF5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFF5: + sta Zp7A ; CPU:$CFF5 PRG:4FF5 85 7A + lda $CE0D,y ; CPU:$CFF7 PRG:4FF7 B9 0D CE + sta ZpBC ; CPU:$CFFA PRG:4FFA 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop554 +; Global: Branch target inside NmiHandler: taken when Loop554. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop554: + lda ZpBE ; CPU:$CFFC PRG:4FFC A5 BE + cmp #$02 ; CPU:$CFFE PRG:4FFE C9 02 + bcc NmiHandler_Loop555 ; CPU:$D000 PRG:5000 90 02 + lda #$02 ; CPU:$D002 PRG:5002 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop555 +; Global: Branch target inside NmiHandler: taken when Loop555. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop555: + asl a ; CPU:$D004 PRG:5004 0A + asl a ; CPU:$D005 PRG:5005 0A + ldx Zp7A ; CPU:$D006 PRG:5006 A6 7A + cpx #$02 ; CPU:$D008 PRG:5008 E0 02 + bne NmiHandler_Loop557 ; CPU:$D00A PRG:500A D0 13 + cmp #$00 ; CPU:$D00C PRG:500C C9 00 + beq NmiHandler_Loop556 ; CPU:$D00E PRG:500E F0 02 + lda #$04 ; CPU:$D010 PRG:5010 A9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop556 +; Global: Branch target inside NmiHandler: taken when Loop556. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop556: + clc ; CPU:$D012 PRG:5012 18 + adc #$0C ; CPU:$D013 PRG:5013 69 0C + sta VramWritePtrHi ; CPU:$D015 PRG:5015 85 01 + lda Zp1A ; CPU:$D017 PRG:5017 A5 1A + and #$03 ; CPU:$D019 PRG:5019 29 03 + ora VramWritePtrHi ; CPU:$D01B PRG:501B 05 01 + bne NmiHandler_Loop558 ; CPU:$D01D PRG:501D D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop557 +; Global: Branch target inside NmiHandler: taken when Loop557. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop557: + ora Zp7A ; CPU:$D01F PRG:501F 05 7A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop558 +; Global: Branch target inside NmiHandler: taken when Loop558. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop558: + tay ; CPU:$D021 PRG:5021 A8 + lda SpriteIndex ; CPU:$D022 PRG:5022 A5 5F + beq NmiHandler_Loop559 ; CPU:$D024 PRG:5024 F0 05 + lda $CE6D,y ; CPU:$D026 PRG:5026 B9 6D CE + bne NmiHandler_Loop560 ; CPU:$D029 PRG:5029 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop559 +; Global: Branch target inside NmiHandler: taken when Loop559. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop559: + lda $CDF9,y ; CPU:$D02B PRG:502B B9 F9 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop560 +; Global: Branch target inside NmiHandler: taken when Loop560. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop560: + sta Zp30 ; CPU:$D02E PRG:502E 85 30 + dex ; CPU:$D030 PRG:5030 CA + bne NmiHandler_Loop561 ; CPU:$D031 PRG:5031 D0 04 + lda #$02 ; CPU:$D033 PRG:5033 A9 02 + sta ZpFC ; CPU:$D035 PRG:5035 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop561 +; Global: Branch target inside NmiHandler: taken when Loop561. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop561: + rts ; CPU:$D037 PRG:5037 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop562 +; Global: Branch target inside NmiHandler: taken when Loop562. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop562: + jmp Sub_D5A8 ; CPU:$D038 PRG:5038 4C A8 D5 +; ----------------------------------------------------------------------------- +; Routine: Label_D03B +; Global: Branch target inside Label: taken when D03B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D03B: + lda $0495 ; CPU:$D03B PRG:503B AD 95 04 + beq NmiHandler_Loop564 ; CPU:$D03E PRG:503E F0 32 + lda #$00 ; CPU:$D040 PRG:5040 A9 00 + sta $0495 ; CPU:$D042 PRG:5042 8D 95 04 + lda Zp32 ; CPU:$D045 PRG:5045 A5 32 + beq NmiHandler_Loop563 ; CPU:$D047 PRG:5047 F0 20 + lda $039A ; CPU:$D049 PRG:5049 AD 9A 03 + beq NmiHandler_Loop564 ; CPU:$D04C PRG:504C F0 24 + lda #$00 ; CPU:$D04E PRG:504E A9 00 + sta $039A ; CPU:$D050 PRG:5050 8D 9A 03 + ldy #$10 ; CPU:$D053 PRG:5053 A0 10 + jsr NmiHandler_Loop288 ; CPU:$D055 PRG:5055 20 33 B2 + lda ZpE4 ; CPU:$D058 PRG:5058 A5 E4 + cmp #$06 ; CPU:$D05A PRG:505A C9 06 + bne NmiHandler_Loop564 ; CPU:$D05C PRG:505C D0 14 + lda #$90 ; CPU:$D05E PRG:505E A9 90 + cmp ZpD3 ; CPU:$D060 PRG:5060 C5 D3 + bcs NmiHandler_Loop564 ; CPU:$D062 PRG:5062 B0 0E + sta ZpD3 ; CPU:$D064 PRG:5064 85 D3 + jmp NmiHandler_Loop564 ; CPU:$D066 PRG:5066 4C 72 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop563 +; Global: Branch target inside NmiHandler: taken when Loop563. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop563: + lda #$10 ; CPU:$D069 PRG:5069 A9 10 + sta Zp32 ; CPU:$D06B PRG:506B 85 32 + lda #$01 ; CPU:$D06D PRG:506D A9 01 + sta $039A ; CPU:$D06F PRG:506F 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop564 +; Global: Branch target inside NmiHandler: taken when Loop564. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop564: + lda Zp7B ; CPU:$D072 PRG:5072 A5 7B + beq NmiHandler_Loop565 ; CPU:$D074 PRG:5074 F0 07 + cmp #$02 ; CPU:$D076 PRG:5076 C9 02 + bcs NmiHandler_Loop566 ; CPU:$D078 PRG:5078 B0 09 + jmp Sub_D568 ; CPU:$D07A PRG:507A 4C 68 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop565 +; Global: Branch target inside NmiHandler: taken when Loop565. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop565: + jsr Sub_D504 ; CPU:$D07D PRG:507D 20 04 D5 + bcs NmiHandler_Loop567 ; CPU:$D080 PRG:5080 B0 39 + rts ; CPU:$D082 PRG:5082 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop566 +; Global: Branch target inside NmiHandler: taken when Loop566. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop566: + lda $03F8 ; CPU:$D083 PRG:5083 AD F8 03 + ora $03F9 ; CPU:$D086 PRG:5086 0D F9 03 + bne NmiHandler_Loop568 ; CPU:$D089 PRG:5089 D0 3D + lda Zp44 ; CPU:$D08B PRG:508B A5 44 + bne NmiHandler_Loop569 ; CPU:$D08D PRG:508D D0 44 + lda $0420 ; CPU:$D08F PRG:508F AD 20 04 + bne NmiHandler_Loop567 ; CPU:$D092 PRG:5092 D0 27 + ldx #$05 ; CPU:$D094 PRG:5094 A2 05 + lda $04E3,x ; CPU:$D096 PRG:5096 BD E3 04 + bne NmiHandler_Loop571 ; CPU:$D099 PRG:5099 D0 43 + lda $04DC,x ; CPU:$D09B PRG:509B BD DC 04 + cmp $CDEB,y ; CPU:$D09E PRG:509E D9 EB CD + bcs NmiHandler_Loop571 ; CPU:$D0A1 PRG:50A1 B0 3B + lda Zp1A ; CPU:$D0A3 PRG:50A3 A5 1A + and #$03 ; CPU:$D0A5 PRG:50A5 29 03 + tay ; CPU:$D0A7 PRG:50A7 A8 + lda $CE23,y ; CPU:$D0A8 PRG:50A8 B9 23 CE + sta Zp44 ; CPU:$D0AB PRG:50AB 85 44 + lda #$02 ; CPU:$D0AD PRG:50AD A9 02 + sta ZpBC ; CPU:$D0AF PRG:50AF 85 BC + dec Zp7C ; CPU:$D0B1 PRG:50B1 C6 7C + beq NmiHandler_Loop570 ; CPU:$D0B3 PRG:50B3 F0 1F + lda #$01 ; CPU:$D0B5 PRG:50B5 A9 01 + sta $0420 ; CPU:$D0B7 PRG:50B7 8D 20 04 + rts ; CPU:$D0BA PRG:50BA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop567 +; Global: Branch target inside NmiHandler: taken when Loop567. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop567: + lda #$02 ; CPU:$D0BB PRG:50BB A9 02 + sta Zp7B ; CPU:$D0BD PRG:50BD 85 7B + lsr a ; CPU:$D0BF PRG:50BF 4A + and Zp19 ; CPU:$D0C0 PRG:50C0 25 19 + sta Zp7A ; CPU:$D0C2 PRG:50C2 85 7A + lsr a ; CPU:$D0C4 PRG:50C4 4A + sta $0420 ; CPU:$D0C5 PRG:50C5 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop568 +; Global: Branch target inside NmiHandler: taken when Loop568. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop568: + jsr Sub_D615 ; CPU:$D0C8 PRG:50C8 20 15 D6 + ldx #$01 ; CPU:$D0CB PRG:50CB A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative50 +; Global: Branch target inside NmiHandler: taken when OnNonnegative50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative50: + jsr Sub_D67B ; CPU:$D0CD PRG:50CD 20 7B D6 + dex ; CPU:$D0D0 PRG:50D0 CA + bpl NmiHandler_OnNonnegative50 ; CPU:$D0D1 PRG:50D1 10 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop569 +; Global: Branch target inside NmiHandler: taken when Loop569. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop569: + rts ; CPU:$D0D3 PRG:50D3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop570 +; Global: Branch target inside NmiHandler: taken when Loop570. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop570: + lda #$00 ; CPU:$D0D4 PRG:50D4 A9 00 + sta ZpBC ; CPU:$D0D6 PRG:50D6 85 BC + sta $0420 ; CPU:$D0D8 PRG:50D8 8D 20 04 + jmp Sub_D5A8 ; CPU:$D0DB PRG:50DB 4C A8 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop571 +; Global: Branch target inside NmiHandler: taken when Loop571. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop571: + lda #$00 ; CPU:$D0DE PRG:50DE A9 00 + sta Zp7B ; CPU:$D0E0 PRG:50E0 85 7B + sta ZpBC ; CPU:$D0E2 PRG:50E2 85 BC + rts ; CPU:$D0E4 PRG:50E4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D0E5 +; Global: Branch target inside Label: taken when D0E5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D0E5: + lda $0495 ; CPU:$D0E5 PRG:50E5 AD 95 04 + beq NmiHandler_Loop573 ; CPU:$D0E8 PRG:50E8 F0 2A + lda #$00 ; CPU:$D0EA PRG:50EA A9 00 + sta $0495 ; CPU:$D0EC PRG:50EC 8D 95 04 + lda $0379 ; CPU:$D0EF PRG:50EF AD 79 03 + cmp #$04 ; CPU:$D0F2 PRG:50F2 C9 04 + bcs NmiHandler_Loop572 ; CPU:$D0F4 PRG:50F4 B0 0C + lda Zp7B ; CPU:$D0F6 PRG:50F6 A5 7B + cmp #$02 ; CPU:$D0F8 PRG:50F8 C9 02 + bcs NmiHandler_Loop573 ; CPU:$D0FA PRG:50FA B0 18 + jsr Sub_D519 ; CPU:$D0FC PRG:50FC 20 19 D5 + jmp NmiHandler_Loop553 ; CPU:$D0FF PRG:50FF 4C EE CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop572 +; Global: Branch target inside NmiHandler: taken when Loop572. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop572: + jsr Sub_D519 ; CPU:$D102 PRG:5102 20 19 D5 + jsr Sub_D5CD ; CPU:$D105 PRG:5105 20 CD D5 + sty Zp7B ; CPU:$D108 PRG:5108 84 7B + tya ; CPU:$D10A PRG:510A 98 + clc ; CPU:$D10B PRG:510B 18 + adc #$02 ; CPU:$D10C PRG:510C 69 02 + tay ; CPU:$D10E PRG:510E A8 + lda #$03 ; CPU:$D10F PRG:510F A9 03 + jmp Sub_CFF5 ; CPU:$D111 PRG:5111 4C F5 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop573 +; Global: Branch target inside NmiHandler: taken when Loop573. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop573: + jmp Sub_CFCB ; CPU:$D114 PRG:5114 4C CB CF +; ----------------------------------------------------------------------------- +; Routine: Label_D117 +; Global: Branch target inside Label: taken when D117. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D117: + jsr Sub_D1C2 ; CPU:$D117 PRG:5117 20 C2 D1 + lda Zp7D ; CPU:$D11A PRG:511A A5 7D + beq NmiHandler_Loop575 ; CPU:$D11C PRG:511C F0 0F + cmp #$07 ; CPU:$D11E PRG:511E C9 07 + bcs NmiHandler_Loop574 ; CPU:$D120 PRG:5120 B0 08 + lda #$00 ; CPU:$D122 PRG:5122 A9 00 + sta $039D ; CPU:$D124 PRG:5124 8D 9D 03 + jmp Sub_D83F ; CPU:$D127 PRG:5127 4C 3F D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop574 +; Global: Branch target inside NmiHandler: taken when Loop574. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop574: + jmp Sub_D99B ; CPU:$D12A PRG:512A 4C 9B D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop575 +; Global: Branch target inside NmiHandler: taken when Loop575. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop575: + lda $0495 ; CPU:$D12D PRG:512D AD 95 04 + beq NmiHandler_Loop577 ; CPU:$D130 PRG:5130 F0 1E + lda #$00 ; CPU:$D132 PRG:5132 A9 00 + sta $0495 ; CPU:$D134 PRG:5134 8D 95 04 + lda Zp32 ; CPU:$D137 PRG:5137 A5 32 + beq NmiHandler_Loop576 ; CPU:$D139 PRG:5139 F0 0A + lda $039A ; CPU:$D13B PRG:513B AD 9A 03 + beq NmiHandler_Loop577 ; CPU:$D13E PRG:513E F0 10 + lda #$03 ; CPU:$D140 PRG:5140 A9 03 + sta Zp7D ; CPU:$D142 PRG:5142 85 7D + rts ; CPU:$D144 PRG:5144 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop576 +; Global: Branch target inside NmiHandler: taken when Loop576. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop576: + lda #$10 ; CPU:$D145 PRG:5145 A9 10 + sta Zp32 ; CPU:$D147 PRG:5147 85 32 + lda #$01 ; CPU:$D149 PRG:5149 A9 01 + sta $039A ; CPU:$D14B PRG:514B 8D 9A 03 + bne NmiHandler_Loop580 ; CPU:$D14E PRG:514E D0 41 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop577 +; Global: Branch target inside NmiHandler: taken when Loop577. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop577: + lda Zp25 ; CPU:$D150 PRG:5150 A5 25 + bne NmiHandler_Loop581 ; CPU:$D152 PRG:5152 D0 56 + jsr Sub_DA0D ; CPU:$D154 PRG:5154 20 0D DA + lda Zp7B ; CPU:$D157 PRG:5157 A5 7B + bne NmiHandler_Loop578 ; CPU:$D159 PRG:5159 D0 03 + jmp Sub_D504 ; CPU:$D15B PRG:515B 4C 04 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop578 +; Global: Branch target inside NmiHandler: taken when Loop578. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop578: + lda $0420 ; CPU:$D15E PRG:515E AD 20 04 + bne NmiHandler_Loop579 ; CPU:$D161 PRG:5161 D0 0E + lda Zp7B ; CPU:$D163 PRG:5163 A5 7B + cmp #$01 ; CPU:$D165 PRG:5165 C9 01 + beq NmiHandler_Loop584 ; CPU:$D167 PRG:5167 F0 56 + jsr Sub_D519 ; CPU:$D169 PRG:5169 20 19 D5 + lda Zp3A ; CPU:$D16C PRG:516C A5 3A + beq NmiHandler_Loop580 ; CPU:$D16E PRG:516E F0 21 + rts ; CPU:$D170 PRG:5170 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop579 +; Global: Branch target inside NmiHandler: taken when Loop579. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop579: + lda Zp3A ; CPU:$D171 PRG:5171 A5 3A + bne NmiHandler_Loop582 ; CPU:$D173 PRG:5173 D0 38 + sta $0420 ; CPU:$D175 PRG:5175 8D 20 04 + dec Zp7C ; CPU:$D178 PRG:5178 C6 7C + beq NmiHandler_Loop583 ; CPU:$D17A PRG:517A F0 32 + lda Zp19 ; CPU:$D17C PRG:517C A5 19 + and #$03 ; CPU:$D17E PRG:517E 29 03 + sta VramWritePtrLo ; CPU:$D180 PRG:5180 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative3 +; Global: Branch target inside NmiHandler: taken when OnNegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative3: + lda ZpBE ; CPU:$D182 PRG:5182 A5 BE + asl a ; CPU:$D184 PRG:5184 0A + asl a ; CPU:$D185 PRG:5185 0A + clc ; CPU:$D186 PRG:5186 18 + adc VramWritePtrLo ; CPU:$D187 PRG:5187 65 00 + tay ; CPU:$D189 PRG:5189 A8 + lda $CE9D,y ; CPU:$D18A PRG:518A B9 9D CE + sta Zp3A ; CPU:$D18D PRG:518D 85 3A + bne NmiHandler_Loop582 ; CPU:$D18F PRG:518F D0 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop580 +; Global: Branch target inside NmiHandler: taken when Loop580. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop580: + jsr Sub_ACE8 ; CPU:$D191 PRG:5191 20 E8 AC + bmi NmiHandler_OnNegative3 ; CPU:$D194 PRG:5194 30 EC + lda #$00 ; CPU:$D196 PRG:5196 A9 00 + sta Zp3A ; CPU:$D198 PRG:5198 85 3A + lda #$20 ; CPU:$D19A PRG:519A A9 20 + sta Zp25 ; CPU:$D19C PRG:519C 85 25 + jsr Sub_D5CD ; CPU:$D19E PRG:519E 20 CD D5 + sta Zp7B ; CPU:$D1A1 PRG:51A1 85 7B + lda #$03 ; CPU:$D1A3 PRG:51A3 A9 03 + sta Zp7A ; CPU:$D1A5 PRG:51A5 85 7A + sta $0420 ; CPU:$D1A7 PRG:51A7 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop581 +; Global: Branch target inside NmiHandler: taken when Loop581. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop581: + jsr Sub_DA50 ; CPU:$D1AA PRG:51AA 20 50 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop582 +; Global: Branch target inside NmiHandler: taken when Loop582. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop582: + rts ; CPU:$D1AD PRG:51AD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop583 +; Global: Branch target inside NmiHandler: taken when Loop583. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop583: + lda Zp19 ; CPU:$D1AE PRG:51AE A5 19 + and #$01 ; CPU:$D1B0 PRG:51B0 29 01 + tay ; CPU:$D1B2 PRG:51B2 A8 + lda $CEAD,y ; CPU:$D1B3 PRG:51B3 B9 AD CE + sta Zp44 ; CPU:$D1B6 PRG:51B6 85 44 + lda #$01 ; CPU:$D1B8 PRG:51B8 A9 01 + sta Zp7B ; CPU:$D1BA PRG:51BA 85 7B + lsr a ; CPU:$D1BC PRG:51BC 4A + sta ZpBC ; CPU:$D1BD PRG:51BD 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop584 +; Global: Branch target inside NmiHandler: taken when Loop584. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop584: + jmp Sub_D568 ; CPU:$D1BF PRG:51BF 4C 68 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D1C2 +; Global: Branch target inside Sub: taken when D1C2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1C2: + lda Zp3C ; CPU:$D1C2 PRG:51C2 A5 3C + ora Zp25 ; CPU:$D1C4 PRG:51C4 05 25 + ora Zp7D ; CPU:$D1C6 PRG:51C6 05 7D + bne NmiHandler_Loop586 ; CPU:$D1C8 PRG:51C8 D0 73 + lda $039D ; CPU:$D1CA PRG:51CA AD 9D 03 + beq NmiHandler_Loop586 ; CPU:$D1CD PRG:51CD F0 6E + lda PlayerIndex ; CPU:$D1CF PRG:51CF A5 69 + and #$F0 ; CPU:$D1D1 PRG:51D1 29 F0 + bne NmiHandler_Loop586 ; CPU:$D1D3 PRG:51D3 D0 68 + lda $039B ; CPU:$D1D5 PRG:51D5 AD 9B 03 + bne NmiHandler_Loop585 ; CPU:$D1D8 PRG:51D8 D0 4E + jsr Sub_ACE8 ; CPU:$D1DA PRG:51DA 20 E8 AC + bcs NmiHandler_Loop586 ; CPU:$D1DD PRG:51DD B0 5E + stx $039C ; CPU:$D1DF PRG:51DF 8E 9C 03 + lda #$01 ; CPU:$D1E2 PRG:51E2 A9 01 + sta GameState,x ; CPU:$D1E4 PRG:51E4 95 C0 + sta $039B ; CPU:$D1E6 PRG:51E6 8D 9B 03 + asl a ; CPU:$D1E9 PRG:51E9 0A + sta ZpBC ; CPU:$D1EA PRG:51EA 85 BC + sta PlayerY,x ; CPU:$D1EC PRG:51EC 95 B7 + lda #$08 ; CPU:$D1EE PRG:51EE A9 08 + sta EnemyIndex,x ; CPU:$D1F0 PRG:51F0 95 87 + lda #$09 ; CPU:$D1F2 PRG:51F2 A9 09 + sta SpriteTimer,x ; CPU:$D1F4 PRG:51F4 95 80 + lda ZpB5 ; CPU:$D1F6 PRG:51F6 A5 B5 + sta PlayerX,x ; CPU:$D1F8 PRG:51F8 95 B0 + lda ZpE5 ; CPU:$D1FA PRG:51FA A5 E5 + sta EnemyHealth,x ; CPU:$D1FC PRG:51FC 95 DF + ldx #$05 ; CPU:$D1FE PRG:51FE A2 05 + lda $04DC,x ; CPU:$D200 PRG:5200 BD DC 04 + sta VramWritePtrLo ; CPU:$D203 PRG:5203 85 00 + sta $039F ; CPU:$D205 PRG:5205 8D 9F 03 + ldx $039C ; CPU:$D208 PRG:5208 AE 9C 03 + jsr Sub_D930 ; CPU:$D20B PRG:520B 20 30 D9 + lda #$07 ; CPU:$D20E PRG:520E A9 07 + sta Zp7D ; CPU:$D210 PRG:5210 85 7D + lda #$20 ; CPU:$D212 PRG:5212 A9 20 + sta Zp38 ; CPU:$D214 PRG:5214 85 38 + lda #$0B ; CPU:$D216 PRG:5216 A9 0B + sta Zp2B,x ; CPU:$D218 PRG:5218 95 2B + lda #$00 ; CPU:$D21A PRG:521A A9 00 + sta Zp67 ; CPU:$D21C PRG:521C 85 67 +; ----------------------------------------------------------------------------- +; Routine: Sub_D21E +; Global: Branch target inside Sub: taken when D21E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D21E: + sta $0420 ; CPU:$D21E PRG:521E 8D 20 04 + sta Zp44 ; CPU:$D221 PRG:5221 85 44 + sta Zp3A ; CPU:$D223 PRG:5223 85 3A + sta Zp25 ; CPU:$D225 PRG:5225 85 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero13 +; Global: Branch target inside NmiHandler: taken when OnZero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero13: + rts ; CPU:$D227 PRG:5227 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop585 +; Global: Branch target inside NmiHandler: taken when Loop585. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop585: + lda Zp38 ; CPU:$D228 PRG:5228 A5 38 + bne NmiHandler_Loop586 ; CPU:$D22A PRG:522A D0 11 + lda #$08 ; CPU:$D22C PRG:522C A9 08 + sta Zp7D ; CPU:$D22E PRG:522E 85 7D + ldx $039C ; CPU:$D230 PRG:5230 AE 9C 03 + lda #$02 ; CPU:$D233 PRG:5233 A9 02 + sta ZpBC ; CPU:$D235 PRG:5235 85 BC + sta PlayerY,x ; CPU:$D237 PRG:5237 95 B7 + lda #$30 ; CPU:$D239 PRG:5239 A9 30 + sta Zp3C ; CPU:$D23B PRG:523B 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop586 +; Global: Branch target inside NmiHandler: taken when Loop586. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop586: + rts ; CPU:$D23D PRG:523D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D23E +; Global: Branch target inside Label: taken when D23E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D23E: + lda Zp7D ; CPU:$D23E PRG:523E A5 7D + bne NmiHandler_OnZero13 ; CPU:$D240 PRG:5240 D0 E5 + ldx $039C ; CPU:$D242 PRG:5242 AE 9C 03 + lda $039B ; CPU:$D245 PRG:5245 AD 9B 03 + beq NmiHandler_OnZero13 ; CPU:$D248 PRG:5248 F0 DD + lda Zp2B,x ; CPU:$D24A PRG:524A B5 2B + bne NmiHandler_Loop588 ; CPU:$D24C PRG:524C D0 24 + lda Zp3F,x ; CPU:$D24E PRG:524E B5 3F + beq NmiHandler_Loop587 ; CPU:$D250 PRG:5250 F0 17 + bne NmiHandler_Loop591 ; CPU:$D252 PRG:5252 D0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero14 +; Global: Branch target inside NmiHandler: taken when OnZero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero14: + lda Zp19 ; CPU:$D254 PRG:5254 A5 19 + and #$03 ; CPU:$D256 PRG:5256 29 03 + sta VramWritePtrLo ; CPU:$D258 PRG:5258 85 00 + lda ZpBE ; CPU:$D25A PRG:525A A5 BE + asl a ; CPU:$D25C PRG:525C 0A + asl a ; CPU:$D25D PRG:525D 0A + clc ; CPU:$D25E PRG:525E 18 + adc VramWritePtrLo ; CPU:$D25F PRG:525F 65 00 + tay ; CPU:$D261 PRG:5261 A8 + lda $CE9D,y ; CPU:$D262 PRG:5262 B9 9D CE + sta Zp3F,x ; CPU:$D265 PRG:5265 95 3F + bne NmiHandler_Loop590 ; CPU:$D267 PRG:5267 D0 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop587 +; Global: Branch target inside NmiHandler: taken when Loop587. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop587: + lda #$20 ; CPU:$D269 PRG:5269 A9 20 + sta Zp2B,x ; CPU:$D26B PRG:526B 95 2B + lda #$03 ; CPU:$D26D PRG:526D A9 03 + sta $039E ; CPU:$D26F PRG:526F 8D 9E 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop588 +; Global: Branch target inside NmiHandler: taken when Loop588. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop588: + ldy $039E ; CPU:$D272 PRG:5272 AC 9E 03 + lda Zp2B,x ; CPU:$D275 PRG:5275 B5 2B + cmp $CE81,y ; CPU:$D277 PRG:5277 D9 81 CE + bcs NmiHandler_Loop589 ; CPU:$D27A PRG:527A B0 05 + dec $039E ; CPU:$D27C PRG:527C CE 9E 03 + beq NmiHandler_OnZero14 ; CPU:$D27F PRG:527F F0 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop589 +; Global: Branch target inside NmiHandler: taken when Loop589. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop589: + lda $039E ; CPU:$D281 PRG:5281 AD 9E 03 + tay ; CPU:$D284 PRG:5284 A8 + lda $CE85,y ; CPU:$D285 PRG:5285 B9 85 CE + sta PlayerY,x ; CPU:$D288 PRG:5288 95 B7 + lda Zp67 ; CPU:$D28A PRG:528A A5 67 + beq NmiHandler_OnZero13 ; CPU:$D28C PRG:528C F0 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop590 +; Global: Branch target inside NmiHandler: taken when Loop590. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop590: + lda #$00 ; CPU:$D28E PRG:528E A9 00 + sta PlayerY,x ; CPU:$D290 PRG:5290 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop591 +; Global: Branch target inside NmiHandler: taken when Loop591. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop591: + lda Zp67 ; CPU:$D292 PRG:5292 A5 67 + beq NmiHandler_Loop595 ; CPU:$D294 PRG:5294 F0 58 + lda Zp21 ; CPU:$D296 PRG:5296 A5 21 + cmp #$01 ; CPU:$D298 PRG:5298 C9 01 + bne NmiHandler_Loop592 ; CPU:$D29A PRG:529A D0 06 + lda PlayerY,x ; CPU:$D29C PRG:529C B5 B7 + eor #$01 ; CPU:$D29E PRG:529E 49 01 + sta PlayerY,x ; CPU:$D2A0 PRG:52A0 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop592 +; Global: Branch target inside NmiHandler: taken when Loop592. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop592: + lda ZpE5 ; CPU:$D2A2 PRG:52A2 A5 E5 + sta VramWritePtrLo ; CPU:$D2A4 PRG:52A4 85 00 + lda $039F ; CPU:$D2A6 PRG:52A6 AD 9F 03 + sta VramWritePtrHi ; CPU:$D2A9 PRG:52A9 85 01 + lda GameState,x ; CPU:$D2AB PRG:52AB B5 C0 + beq NmiHandler_Loop593 ; CPU:$D2AD PRG:52AD F0 0E + lda $039F ; CPU:$D2AF PRG:52AF AD 9F 03 + eor #$FF ; CPU:$D2B2 PRG:52B2 49 FF + clc ; CPU:$D2B4 PRG:52B4 18 + adc #$01 ; CPU:$D2B5 PRG:52B5 69 01 + sta VramWritePtrHi ; CPU:$D2B7 PRG:52B7 85 01 + bpl NmiHandler_Loop593 ; CPU:$D2B9 PRG:52B9 10 02 + dec VramWritePtrLo ; CPU:$D2BB PRG:52BB C6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop593 +; Global: Branch target inside NmiHandler: taken when Loop593. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop593: + lda VramWritePtrHi ; CPU:$D2BD PRG:52BD A5 01 + clc ; CPU:$D2BF PRG:52BF 18 + adc ZpD4 ; CPU:$D2C0 PRG:52C0 65 D4 + sta VramWritePtrHi ; CPU:$D2C2 PRG:52C2 85 01 + bcc NmiHandler_Loop594 ; CPU:$D2C4 PRG:52C4 90 02 + inc VramWritePtrLo ; CPU:$D2C6 PRG:52C6 E6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop594 +; Global: Branch target inside NmiHandler: taken when Loop594. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop594: + lda VramWritePtrLo ; CPU:$D2C8 PRG:52C8 A5 00 + sta EnemyHealth,x ; CPU:$D2CA PRG:52CA 95 DF + lda VramWritePtrHi ; CPU:$D2CC PRG:52CC A5 01 + sta ZpCE,x ; CPU:$D2CE PRG:52CE 95 CE + lda EnemyHealth,x ; CPU:$D2D0 PRG:52D0 B5 DF + cmp #$04 ; CPU:$D2D2 PRG:52D2 C9 04 + bcc NmiHandler_Loop596 ; CPU:$D2D4 PRG:52D4 90 19 + lda EnemyHealth,x ; CPU:$D2D6 PRG:52D6 B5 DF + cmp #$06 ; CPU:$D2D8 PRG:52D8 C9 06 + bne NmiHandler_Loop595 ; CPU:$D2DA PRG:52DA D0 12 + lda ZpCE,x ; CPU:$D2DC PRG:52DC B5 CE + cmp #$90 ; CPU:$D2DE PRG:52DE C9 90 + bcc NmiHandler_Loop595 ; CPU:$D2E0 PRG:52E0 90 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_D2E2 +; Global: Branch target inside Sub: taken when D2E2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2E2: + lda #$06 ; CPU:$D2E2 PRG:52E2 A9 06 + sta EnemyHealth,x ; CPU:$D2E4 PRG:52E4 95 DF + lda #$90 ; CPU:$D2E6 PRG:52E6 A9 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero15 +; Global: Branch target inside NmiHandler: taken when OnZero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero15: + sta ZpCE,x ; CPU:$D2E8 PRG:52E8 95 CE + lda #$00 ; CPU:$D2EA PRG:52EA A9 00 + sta PlayerY,x ; CPU:$D2EC PRG:52EC 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop595 +; Global: Branch target inside NmiHandler: taken when Loop595. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop595: + rts ; CPU:$D2EE PRG:52EE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop596 +; Global: Branch target inside NmiHandler: taken when Loop596. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop596: + lda #$04 ; CPU:$D2EF PRG:52EF A9 04 + sta EnemyHealth,x ; CPU:$D2F1 PRG:52F1 95 DF + lda #$00 ; CPU:$D2F3 PRG:52F3 A9 00 + beq NmiHandler_OnZero15 ; CPU:$D2F5 PRG:52F5 F0 F1 + ldx #$05 ; CPU:$D2F7 PRG:52F7 A2 05 + lda $0495 ; CPU:$D2F9 PRG:52F9 AD 95 04 + beq NmiHandler_Loop597 ; CPU:$D2FC PRG:52FC F0 12 + lda #$15 ; CPU:$D2FE PRG:52FE A9 15 + sta ZpBC ; CPU:$D300 PRG:5300 85 BC + lda #$07 ; CPU:$D302 PRG:5302 A9 07 + sta Zp7B ; CPU:$D304 PRG:5304 85 7B + sta Zp30 ; CPU:$D306 PRG:5306 85 30 + lda #$00 ; CPU:$D308 PRG:5308 A9 00 + sta Zp7A ; CPU:$D30A PRG:530A 85 7A + sta $0495 ; CPU:$D30C PRG:530C 8D 95 04 + rts ; CPU:$D30F PRG:530F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop597 +; Global: Branch target inside NmiHandler: taken when Loop597. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop597: + lda $04DC,x ; CPU:$D310 PRG:5310 BD DC 04 + sta Zp05 ; CPU:$D313 PRG:5313 85 05 + lda Zp7B ; CPU:$D315 PRG:5315 A5 7B + asl a ; CPU:$D317 PRG:5317 0A + tay ; CPU:$D318 PRG:5318 A8 + lda $CEC8,y ; CPU:$D319 PRG:5319 B9 C8 CE + sta VramWritePtrLo ; CPU:$D31C PRG:531C 85 00 + iny ; CPU:$D31E PRG:531E C8 + lda $CEC8,y ; CPU:$D31F PRG:531F B9 C8 CE + sta VramWritePtrHi ; CPU:$D322 PRG:5322 85 01 + jmp (VramWritePtrLo) ; CPU:$D324 PRG:5324 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D327 +; Global: Branch target inside Label: taken when D327. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D327: + lda Zp05 ; CPU:$D327 PRG:5327 A5 05 + cmp #$40 ; CPU:$D329 PRG:5329 C9 40 + bcs NmiHandler_Loop599 ; CPU:$D32B PRG:532B B0 1A + lda ZpBC ; CPU:$D32D PRG:532D A5 BC + ora #$02 ; CPU:$D32F PRG:532F 09 02 + sta ZpBC ; CPU:$D331 PRG:5331 85 BC + lda Zp05 ; CPU:$D333 PRG:5333 A5 05 + cmp #$20 ; CPU:$D335 PRG:5335 C9 20 + bcs NmiHandler_Loop601 ; CPU:$D337 PRG:5337 B0 29 + lda $038C ; CPU:$D339 PRG:5339 AD 8C 03 + beq NmiHandler_Loop598 ; CPU:$D33C PRG:533C F0 03 + jmp Sub_D3C5 ; CPU:$D33E PRG:533E 4C C5 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop598 +; Global: Branch target inside NmiHandler: taken when Loop598. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop598: + lda #$07 ; CPU:$D341 PRG:5341 A9 07 + ldx #$55 ; CPU:$D343 PRG:5343 A2 55 + bne NmiHandler_Loop600 ; CPU:$D345 PRG:5345 D0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop599 +; Global: Branch target inside NmiHandler: taken when Loop599. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop599: + lda ZpBC ; CPU:$D347 PRG:5347 A5 BC + and #$FD ; CPU:$D349 PRG:5349 29 FD + sta ZpBC ; CPU:$D34B PRG:534B 85 BC + lda Zp7A ; CPU:$D34D PRG:534D A5 7A + and #$01 ; CPU:$D34F PRG:534F 29 01 + sta Zp7A ; CPU:$D351 PRG:5351 85 7A + lsr a ; CPU:$D353 PRG:5353 4A + sta Zp7B ; CPU:$D354 PRG:5354 85 7B + sta Zp3C ; CPU:$D356 PRG:5356 85 3C + lda #$09 ; CPU:$D358 PRG:5358 A9 09 + ldx #$C0 ; CPU:$D35A PRG:535A A2 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop600 +; Global: Branch target inside NmiHandler: taken when Loop600. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop600: + sta $038A ; CPU:$D35C PRG:535C 8D 8A 03 + stx $038B ; CPU:$D35F PRG:535F 8E 8B 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop601 +; Global: Branch target inside NmiHandler: taken when Loop601. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop601: + lda Zp7B ; CPU:$D362 PRG:5362 A5 7B + beq NmiHandler_Loop602 ; CPU:$D364 PRG:5364 F0 03 + jmp Sub_D568 ; CPU:$D366 PRG:5366 4C 68 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop602 +; Global: Branch target inside NmiHandler: taken when Loop602. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop602: + jsr Sub_D504 ; CPU:$D369 PRG:5369 20 04 D5 + bcc NmiHandler_Loop605 ; CPU:$D36C PRG:536C 90 77 + lda Zp3C ; CPU:$D36E PRG:536E A5 3C + beq NmiHandler_Loop603 ; CPU:$D370 PRG:5370 F0 03 + jmp NmiHandler_Loop609 ; CPU:$D372 PRG:5372 4C 3A D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop603 +; Global: Branch target inside NmiHandler: taken when Loop603. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop603: + lda Zp05 ; CPU:$D375 PRG:5375 A5 05 + cmp #$15 ; CPU:$D377 PRG:5377 C9 15 + bcc NmiHandler_Loop604 ; CPU:$D379 PRG:5379 90 07 + ldy #$07 ; CPU:$D37B PRG:537B A0 07 + ldx #$05 ; CPU:$D37D PRG:537D A2 05 + jsr NmiHandler_Loop288 ; CPU:$D37F PRG:537F 20 33 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop604 +; Global: Branch target inside NmiHandler: taken when Loop604. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop604: + jmp Sub_D40E ; CPU:$D382 PRG:5382 4C 0E D4 +; ---- data $D385-$D3C4 (64 bytes) ---- +LevelSceneryData: + .byte $00, $0C, $18, $24, $AD, $8C, $03, $F0, $68, $A0, $00, $A5, $69, $29, $20, $D0 ; CPU:$D385 PRG:1385 00 0C 18 24 AD 8C 03 F0 68 A0 00 A5 69 29 20 D0 + .byte $10, $A0, $03, $A5, $69, $29, $06, $F0, $08, $A0, $09, $29, $04, $D0, $02, $A0 ; CPU:$D395 PRG:5395 10 A0 03 A5 69 29 06 F0 08 A0 09 29 04 D0 02 A0 + .byte $06, $84, $00, $A5, $7B, $38, $E9, $02, $18, $65, $00, $A4, $BE, $18, $79, $85 ; CPU:$D3A5 PRG:53A5 06 84 00 A5 7B 38 E9 02 18 65 00 A4 BE 18 79 85 + .byte $D3, $A8, $B9, $ED, $CE, $A6, $53, $D0, $03, $38, $E9, $19, $C5, $1C, $90, $31 ; CPU:$D3B5 PRG:53B5 D3 A8 B9 ED CE A6 53 D0 03 38 E9 19 C5 1C 90 31 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3C5 +; Global: Branch target inside Sub: taken when D3C5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3C5: + lda #$00 ; CPU:$D3C5 PRG:53C5 A9 00 + sta Zp30 ; CPU:$D3C7 PRG:53C7 85 30 + sta Zp7A ; CPU:$D3C9 PRG:53C9 85 7A + lda PlayerIndex ; CPU:$D3CB PRG:53CB A5 69 + and #$02 ; CPU:$D3CD PRG:53CD 29 02 + beq NmiHandler_Loop606 ; CPU:$D3CF PRG:53CF F0 15 + lda PlayerIndex ; CPU:$D3D1 PRG:53D1 A5 69 + and #$20 ; CPU:$D3D3 PRG:53D3 29 20 + bne NmiHandler_Loop606 ; CPU:$D3D5 PRG:53D5 D0 0F + lda #$05 ; CPU:$D3D7 PRG:53D7 A9 05 + sta Zp7F ; CPU:$D3D9 PRG:53D9 85 7F + sta Zp7B ; CPU:$D3DB PRG:53DB 85 7B + lda #$03 ; CPU:$D3DD PRG:53DD A9 03 + sta Zp7A ; CPU:$D3DF PRG:53DF 85 7A + lda #$14 ; CPU:$D3E1 PRG:53E1 A9 14 + sta ZpBC ; CPU:$D3E3 PRG:53E3 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop605 +; Global: Branch target inside NmiHandler: taken when Loop605. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop605: + rts ; CPU:$D3E5 PRG:53E5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop606 +; Global: Branch target inside NmiHandler: taken when Loop606. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop606: + lda #$0D ; CPU:$D3E6 PRG:53E6 A9 0D + sta Zp30 ; CPU:$D3E8 PRG:53E8 85 30 + lsr a ; CPU:$D3EA PRG:53EA 4A + sta Zp7B ; CPU:$D3EB PRG:53EB 85 7B + lda #$04 ; CPU:$D3ED PRG:53ED A9 04 + sta ZpBC ; CPU:$D3EF PRG:53EF 85 BC + lda #$01 ; CPU:$D3F1 PRG:53F1 A9 01 + sta ZpFC ; CPU:$D3F3 PRG:53F3 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero52: + rts ; CPU:$D3F5 PRG:53F5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D3F6 +; Global: Branch target inside Label: taken when D3F6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D3F6: + lda Zp30 ; CPU:$D3F6 PRG:53F6 A5 30 + bne NmiHandler_OnNonzero52 ; CPU:$D3F8 PRG:53F8 D0 FB + dec ZpBC ; CPU:$D3FA PRG:53FA C6 BC + dec Zp7A ; CPU:$D3FC PRG:53FC C6 7A + bpl NmiHandler_Loop607 ; CPU:$D3FE PRG:53FE 10 1D + sta Zp7A ; CPU:$D400 PRG:5400 85 7A + sta ZpBC ; CPU:$D402 PRG:5402 85 BC + dec Zp7C ; CPU:$D404 PRG:5404 C6 7C + beq NmiHandler_OnZero16 ; CPU:$D406 PRG:5406 F0 1D + lda Zp05 ; CPU:$D408 PRG:5408 A5 05 + cmp #$20 ; CPU:$D40A PRG:540A C9 20 + bcs NmiHandler_OnZero16 ; CPU:$D40C PRG:540C B0 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_D40E +; Global: Branch target inside Sub: taken when D40E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D40E: + jsr Sub_D5CD ; CPU:$D40E PRG:540E 20 CD D5 + sta Zp7B ; CPU:$D411 PRG:5411 85 7B + tay ; CPU:$D413 PRG:5413 A8 + lda #$03 ; CPU:$D414 PRG:5414 A9 03 + sta Zp7A ; CPU:$D416 PRG:5416 85 7A + lda $CED8,y ; CPU:$D418 PRG:5418 B9 D8 CE + sta ZpBC ; CPU:$D41B PRG:541B 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop607 +; Global: Branch target inside NmiHandler: taken when Loop607. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop607: + ldx Zp7A ; CPU:$D41D PRG:541D A6 7A + lda $CEDD,x ; CPU:$D41F PRG:541F BD DD CE + sta Zp30 ; CPU:$D422 PRG:5422 85 30 + rts ; CPU:$D424 PRG:5424 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero16 +; Global: Branch target inside NmiHandler: taken when OnZero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero16: + lda #$04 ; CPU:$D425 PRG:5425 A9 04 + sta Zp3C ; CPU:$D427 PRG:5427 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative4 +; Global: Branch target inside NmiHandler: taken when OnNegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative4: + lda ZpE4 ; CPU:$D429 PRG:5429 A5 E4 + bne NmiHandler_Loop608 ; CPU:$D42B PRG:542B D0 06 + lda ZpD3 ; CPU:$D42D PRG:542D A5 D3 + cmp #$70 ; CPU:$D42F PRG:542F C9 70 + bcc NmiHandler_Loop609 ; CPU:$D431 PRG:5431 90 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop608 +; Global: Branch target inside NmiHandler: taken when Loop608. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop608: + ldx #$05 ; CPU:$D433 PRG:5433 A2 05 + ldy #$F7 ; CPU:$D435 PRG:5435 A0 F7 + jsr NmiHandler_Loop288 ; CPU:$D437 PRG:5437 20 33 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop609 +; Global: Branch target inside NmiHandler: taken when Loop609. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop609: + lda #$00 ; CPU:$D43A PRG:543A A9 00 + sta $038C ; CPU:$D43C PRG:543C 8D 8C 03 + lda #$01 ; CPU:$D43F PRG:543F A9 01 + jmp NmiHandler_Loop629 ; CPU:$D441 PRG:5441 4C B9 D5 +; ----------------------------------------------------------------------------- +; Routine: Label_D444 +; Global: Branch target inside Label: taken when D444. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D444: + lda Zp30 ; CPU:$D444 PRG:5444 A5 30 + bne NmiHandler_Loop611 ; CPU:$D446 PRG:5446 D0 2B + dec Zp7F ; CPU:$D448 PRG:5448 C6 7F + bmi NmiHandler_OnNegative4 ; CPU:$D44A PRG:544A 30 DD + ldy Zp7F ; CPU:$D44C PRG:544C A4 7F + lda $CEE1,y ; CPU:$D44E PRG:544E B9 E1 CE + sta ZpB5 ; CPU:$D451 PRG:5451 85 B5 + lda $CEE7,y ; CPU:$D453 PRG:5453 B9 E7 CE + sta Zp30 ; CPU:$D456 PRG:5456 85 30 + cpy #$03 ; CPU:$D458 PRG:5458 C0 03 + bne NmiHandler_Loop610 ; CPU:$D45A PRG:545A D0 0F + lda Zp1B ; CPU:$D45C PRG:545C A5 1B + cmp #$CD ; CPU:$D45E PRG:545E C9 CD + bcc NmiHandler_Loop611 ; CPU:$D460 PRG:5460 90 11 + lda #$13 ; CPU:$D462 PRG:5462 A9 13 + sta ZpBC ; CPU:$D464 PRG:5464 85 BC + lda #$02 ; CPU:$D466 PRG:5466 A9 02 + sta Zp7A ; CPU:$D468 PRG:5468 85 7A + rts ; CPU:$D46A PRG:546A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop610 +; Global: Branch target inside NmiHandler: taken when Loop610. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop610: + lda #$12 ; CPU:$D46B PRG:546B A9 12 + sta ZpBC ; CPU:$D46D PRG:546D 85 BC + lda #$01 ; CPU:$D46F PRG:546F A9 01 + sta Zp7A ; CPU:$D471 PRG:5471 85 7A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop611 +; Global: Branch target inside NmiHandler: taken when Loop611. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop611: + rts ; CPU:$D473 PRG:5473 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D474 +; Global: Branch target inside Label: taken when D474. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D474: + lda Zp30 ; CPU:$D474 PRG:5474 A5 30 + bne NmiHandler_Loop611 ; CPU:$D476 PRG:5476 D0 FB + lda Zp68 ; CPU:$D478 PRG:5478 A5 68 + beq NmiHandler_OnZero16 ; CPU:$D47A PRG:547A F0 A9 + lda PlayerIndex ; CPU:$D47C PRG:547C A5 69 + beq NmiHandler_OnZero16 ; CPU:$D47E PRG:547E F0 A5 + rts ; CPU:$D480 PRG:5480 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D481 +; Global: Branch target inside Label: taken when D481. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D481: + lda Zp30 ; CPU:$D481 PRG:5481 A5 30 + beq NmiHandler_OnZero16 ; CPU:$D483 PRG:5483 F0 A0 + rts ; CPU:$D485 PRG:5485 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D486 +; Global: Branch target inside Sub: taken when D486. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D486: + lda Zp85 ; CPU:$D486 PRG:5486 A5 85 + beq NmiHandler_Loop615 ; CPU:$D488 PRG:5488 F0 52 + lda $04A5 ; CPU:$D48A PRG:548A AD A5 04 + bmi NmiHandler_Loop615 ; CPU:$D48D PRG:548D 30 4D + ldy ZpBC ; CPU:$D48F PRG:548F A4 BC + lda ZpA4 ; CPU:$D491 PRG:5491 A5 A4 + sta VramWritePtrHi ; CPU:$D493 PRG:5493 85 01 + lda Zp93 ; CPU:$D495 PRG:5495 A5 93 + sec ; CPU:$D497 PRG:5497 38 + sbc $CF33,y ; CPU:$D498 PRG:5498 F9 33 CF + sta VramWritePtrLo ; CPU:$D49B PRG:549B 85 00 + bcs NmiHandler_Loop612 ; CPU:$D49D PRG:549D B0 02 + dec VramWritePtrHi ; CPU:$D49F PRG:549F C6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop612 +; Global: Branch target inside NmiHandler: taken when Loop612. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop612: + lda ZpB5 ; CPU:$D4A1 PRG:54A1 A5 B5 + clc ; CPU:$D4A3 PRG:54A3 18 + adc $CF1D,y ; CPU:$D4A4 PRG:54A4 79 1D CF + sta DispatchPtrLo ; CPU:$D4A7 PRG:54A7 85 02 + ldy #$01 ; CPU:$D4A9 PRG:54A9 A0 01 + ldx Zp4B ; CPU:$D4AB PRG:54AB A6 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative51 +; Global: Branch target inside NmiHandler: taken when OnNonnegative51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative51: + lda VramWritePtrHi ; CPU:$D4AD PRG:54AD A5 01 + cmp #$01 ; CPU:$D4AF PRG:54AF C9 01 + bne NmiHandler_Loop613 ; CPU:$D4B1 PRG:54B1 D0 19 + lda DispatchPtrLo ; CPU:$D4B3 PRG:54B3 A5 02 + sta $0600,x ; CPU:$D4B5 PRG:54B5 9D 00 06 + lda $CF49,y ; CPU:$D4B8 PRG:54B8 B9 49 CF + sta $0601,x ; CPU:$D4BB PRG:54BB 9D 01 06 + lda #$02 ; CPU:$D4BE PRG:54BE A9 02 + sta $0602,x ; CPU:$D4C0 PRG:54C0 9D 02 06 + lda VramWritePtrLo ; CPU:$D4C3 PRG:54C3 A5 00 + sta $0603,x ; CPU:$D4C5 PRG:54C5 9D 03 06 + inx ; CPU:$D4C8 PRG:54C8 E8 + inx ; CPU:$D4C9 PRG:54C9 E8 + inx ; CPU:$D4CA PRG:54CA E8 + inx ; CPU:$D4CB PRG:54CB E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop613 +; Global: Branch target inside NmiHandler: taken when Loop613. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop613: + lda VramWritePtrLo ; CPU:$D4CC PRG:54CC A5 00 + clc ; CPU:$D4CE PRG:54CE 18 + adc #$08 ; CPU:$D4CF PRG:54CF 69 08 + sta VramWritePtrLo ; CPU:$D4D1 PRG:54D1 85 00 + bcc NmiHandler_Loop614 ; CPU:$D4D3 PRG:54D3 90 02 + inc VramWritePtrHi ; CPU:$D4D5 PRG:54D5 E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop614 +; Global: Branch target inside NmiHandler: taken when Loop614. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop614: + dey ; CPU:$D4D7 PRG:54D7 88 + bpl NmiHandler_OnNonnegative51 ; CPU:$D4D8 PRG:54D8 10 D3 + stx Zp4B ; CPU:$D4DA PRG:54DA 86 4B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop615 +; Global: Branch target inside NmiHandler: taken when Loop615. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop615: + clc ; CPU:$D4DC PRG:54DC 18 + rts ; CPU:$D4DD PRG:54DD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4DE +; Global: Branch target inside Sub: taken when D4DE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4DE: + ldy #$FF ; CPU:$D4DE PRG:54DE A0 FF + bne NmiHandler_Loop616 ; CPU:$D4E0 PRG:54E0 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4E2 +; Global: Branch target inside Sub: taken when D4E2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4E2: + ldy #$01 ; CPU:$D4E2 PRG:54E2 A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop616 +; Global: Branch target inside NmiHandler: taken when Loop616. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop616: + ldx #$05 ; CPU:$D4E4 PRG:54E4 A2 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4E6 +; Global: Branch target inside Sub: taken when D4E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4E6: + lda Zp30 ; CPU:$D4E6 PRG:54E6 A5 30 + bne NmiHandler_Loop617 ; CPU:$D4E8 PRG:54E8 D0 0B + lda $038A ; CPU:$D4EA PRG:54EA AD 8A 03 + sta Zp30 ; CPU:$D4ED PRG:54ED 85 30 + lda PlayerY,x ; CPU:$D4EF PRG:54EF B5 B7 + eor #$01 ; CPU:$D4F1 PRG:54F1 49 01 + sta PlayerY,x ; CPU:$D4F3 PRG:54F3 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop617 +; Global: Branch target inside NmiHandler: taken when Loop617. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop617: + lda $049D ; CPU:$D4F5 PRG:54F5 AD 9D 04 + clc ; CPU:$D4F8 PRG:54F8 18 + adc $038B ; CPU:$D4F9 PRG:54F9 6D 8B 03 + sta $049D ; CPU:$D4FC PRG:54FC 8D 9D 04 + bcc NmiHandler_Loop615 ; CPU:$D4FF PRG:54FF 90 DB + jmp NmiHandler_Loop288 ; CPU:$D501 PRG:5501 4C 33 B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D504 +; Global: Branch target inside Sub: taken when D504. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D504: + ldy SpriteIndex ; CPU:$D504 PRG:5504 A4 5F + ldx #$05 ; CPU:$D506 PRG:5506 A2 05 + lda $04E3,x ; CPU:$D508 PRG:5508 BD E3 04 + bne NmiHandler_Loop620 ; CPU:$D50B PRG:550B D0 3A + lda $04DC,x ; CPU:$D50D PRG:550D BD DC 04 + cmp $CDEB,y ; CPU:$D510 PRG:5510 D9 EB CD + bcs NmiHandler_Loop620 ; CPU:$D513 PRG:5513 B0 32 + lda #$00 ; CPU:$D515 PRG:5515 A9 00 + sta Zp30 ; CPU:$D517 PRG:5517 85 30 +; ----------------------------------------------------------------------------- +; Routine: Sub_D519 +; Global: Branch target inside Sub: taken when D519. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D519: + lda ZpBE ; CPU:$D519 PRG:5519 A5 BE + asl a ; CPU:$D51B PRG:551B 0A + sta VramWritePtrLo ; CPU:$D51C PRG:551C 85 00 + ldy SpriteIndex ; CPU:$D51E PRG:551E A4 5F + lda $CF75,y ; CPU:$D520 PRG:5520 B9 75 CF + sta VramWritePtrHi ; CPU:$D523 PRG:5523 85 01 + lda $CF7A,y ; CPU:$D525 PRG:5525 B9 7A CF + sta DispatchPtrLo ; CPU:$D528 PRG:5528 85 02 + ldy #$00 ; CPU:$D52A PRG:552A A0 00 + ldx #$01 ; CPU:$D52C PRG:552C A2 01 + lda Zp18 ; CPU:$D52E PRG:552E A5 18 + cmp (VramWritePtrHi),y ; CPU:$D530 PRG:5530 D1 01 + bcc NmiHandler_Loop618 ; CPU:$D532 PRG:5532 90 07 + iny ; CPU:$D534 PRG:5534 C8 + inx ; CPU:$D535 PRG:5535 E8 + cmp (VramWritePtrHi),y ; CPU:$D536 PRG:5536 D1 01 + bcs NmiHandler_Loop618 ; CPU:$D538 PRG:5538 B0 01 + inx ; CPU:$D53A PRG:553A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop618 +; Global: Branch target inside NmiHandler: taken when Loop618. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop618: + lda SpriteIndex ; CPU:$D53B PRG:553B A5 5F + cmp #$01 ; CPU:$D53D PRG:553D C9 01 + bne NmiHandler_Loop619 ; CPU:$D53F PRG:553F D0 02 + ldx #$03 ; CPU:$D541 PRG:5541 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop619 +; Global: Branch target inside NmiHandler: taken when Loop619. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop619: + stx Zp7C ; CPU:$D543 PRG:5543 86 7C + sec ; CPU:$D545 PRG:5545 38 + rts ; CPU:$D546 PRG:5546 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop620 +; Global: Branch target inside NmiHandler: taken when Loop620. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop620: + lda ZpE4 ; CPU:$D547 PRG:5547 A5 E4 + cmp $CDF0,y ; CPU:$D549 PRG:5549 D9 F0 CD + bcc NmiHandler_Loop622 ; CPU:$D54C PRG:554C 90 10 + lda Zp8C ; CPU:$D54E PRG:554E A5 8C + cmp #$06 ; CPU:$D550 PRG:5550 C9 06 + bne NmiHandler_Loop621 ; CPU:$D552 PRG:5552 D0 04 + lda PlayerSide ; CPU:$D554 PRG:5554 A5 C5 + bne NmiHandler_Loop623 ; CPU:$D556 PRG:5556 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop621 +; Global: Branch target inside NmiHandler: taken when Loop621. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop621: + lda ZpE4 ; CPU:$D558 PRG:5558 A5 E4 + cmp #$05 ; CPU:$D55A PRG:555A C9 05 + bcc NmiHandler_Loop628 ; CPU:$D55C PRG:555C 90 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop622 +; Global: Branch target inside NmiHandler: taken when Loop622. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop622: + lda PlayerSide ; CPU:$D55E PRG:555E A5 C5 + bne NmiHandler_Loop623 ; CPU:$D560 PRG:5560 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: + jmp Sub_D4DE ; CPU:$D562 PRG:5562 4C DE D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop623 +; Global: Branch target inside NmiHandler: taken when Loop623. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop623: + jmp Sub_D4E2 ; CPU:$D565 PRG:5565 4C E2 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D568 +; Global: Branch target inside Sub: taken when D568. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D568: + lda Zp44 ; CPU:$D568 PRG:5568 A5 44 + beq NmiHandler_Loop627 ; CPU:$D56A PRG:556A F0 2A + lda ZpE4 ; CPU:$D56C PRG:556C A5 E4 + beq NmiHandler_Loop625 ; CPU:$D56E PRG:556E F0 1A + lda Zp8C ; CPU:$D570 PRG:5570 A5 8C + cmp #$06 ; CPU:$D572 PRG:5572 C9 06 + bne NmiHandler_Loop624 ; CPU:$D574 PRG:5574 D0 06 + lda ZpE4 ; CPU:$D576 PRG:5576 A5 E4 + cmp #$04 ; CPU:$D578 PRG:5578 C9 04 + bcc NmiHandler_Loop627 ; CPU:$D57A PRG:557A 90 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop624 +; Global: Branch target inside NmiHandler: taken when Loop624. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop624: + lda ZpE4 ; CPU:$D57C PRG:557C A5 E4 + cmp #$06 ; CPU:$D57E PRG:557E C9 06 + bne NmiHandler_Loop626 ; CPU:$D580 PRG:5580 D0 0E + lda ZpD3 ; CPU:$D582 PRG:5582 A5 D3 + cmp #$90 ; CPU:$D584 PRG:5584 C9 90 + bcs NmiHandler_Loop627 ; CPU:$D586 PRG:5586 B0 0E + bcc NmiHandler_Loop626 ; CPU:$D588 PRG:5588 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop625 +; Global: Branch target inside NmiHandler: taken when Loop625. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop625: + lda ZpD3 ; CPU:$D58A PRG:558A A5 D3 + cmp #$70 ; CPU:$D58C PRG:558C C9 70 + bcc NmiHandler_Loop627 ; CPU:$D58E PRG:558E 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop626 +; Global: Branch target inside NmiHandler: taken when Loop626. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop626: + lda PlayerSide ; CPU:$D590 PRG:5590 A5 C5 + beq NmiHandler_Loop623 ; CPU:$D592 PRG:5592 F0 D1 + bne NmiHandler_OnNonzero53 ; CPU:$D594 PRG:5594 D0 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop627 +; Global: Branch target inside NmiHandler: taken when Loop627. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop627: + lda #$00 ; CPU:$D596 PRG:5596 A9 00 + sta Zp44 ; CPU:$D598 PRG:5598 85 44 + lsr Zp7B ; CPU:$D59A PRG:559A 46 7B + sec ; CPU:$D59C PRG:559C 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop628 +; Global: Branch target inside NmiHandler: taken when Loop628. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop628: + rts ; CPU:$D59D PRG:559D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D59E +; Global: Branch target inside Label: taken when D59E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D59E: + lda Zp1A ; CPU:$D59E PRG:559E A5 1A + and #$03 ; CPU:$D5A0 PRG:55A0 29 03 + tay ; CPU:$D5A2 PRG:55A2 A8 + lda $CDF5,y ; CPU:$D5A3 PRG:55A3 B9 F5 CD + bne NmiHandler_Loop629 ; CPU:$D5A6 PRG:55A6 D0 11 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5A8 +; Global: Branch target inside Sub: taken when D5A8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5A8: + lda Zp1A ; CPU:$D5A8 PRG:55A8 A5 1A + and #$03 ; CPU:$D5AA PRG:55AA 29 03 + sta VramWritePtrLo ; CPU:$D5AC PRG:55AC 85 00 + lda ZpBE ; CPU:$D5AE PRG:55AE A5 BE + asl a ; CPU:$D5B0 PRG:55B0 0A + asl a ; CPU:$D5B1 PRG:55B1 0A + clc ; CPU:$D5B2 PRG:55B2 18 + adc VramWritePtrLo ; CPU:$D5B3 PRG:55B3 65 00 + tay ; CPU:$D5B5 PRG:55B5 A8 + lda $CE13,y ; CPU:$D5B6 PRG:55B6 B9 13 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop629 +; Global: Branch target inside NmiHandler: taken when Loop629. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop629: + sta Zp44 ; CPU:$D5B9 PRG:55B9 85 44 + lda #$01 ; CPU:$D5BB PRG:55BB A9 01 + sta Zp7B ; CPU:$D5BD PRG:55BD 85 7B + lsr a ; CPU:$D5BF PRG:55BF 4A + sta Zp7A ; CPU:$D5C0 PRG:55C0 85 7A + ldy SpriteIndex ; CPU:$D5C2 PRG:55C2 A4 5F + cpy #$04 ; CPU:$D5C4 PRG:55C4 C0 04 + bne NmiHandler_Loop630 ; CPU:$D5C6 PRG:55C6 D0 02 + lda #$02 ; CPU:$D5C8 PRG:55C8 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop630 +; Global: Branch target inside NmiHandler: taken when Loop630. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop630: + sta ZpBC ; CPU:$D5CA PRG:55CA 85 BC + rts ; CPU:$D5CC PRG:55CC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5CD +; Global: Branch target inside Sub: taken when D5CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5CD: + ldy SpriteIndex ; CPU:$D5CD PRG:55CD A4 5F + lda $CF4B,y ; CPU:$D5CF PRG:55CF B9 4B CF + sta VramWritePtrLo ; CPU:$D5D2 PRG:55D2 85 00 + lda $CF50,y ; CPU:$D5D4 PRG:55D4 B9 50 CF + sta VramWritePtrHi ; CPU:$D5D7 PRG:55D7 85 01 + lda #$00 ; CPU:$D5D9 PRG:55D9 A9 00 + sta DispatchPtrLo ; CPU:$D5DB PRG:55DB 85 02 + lda ZpBE ; CPU:$D5DD PRG:55DD A5 BE + asl a ; CPU:$D5DF PRG:55DF 0A + tay ; CPU:$D5E0 PRG:55E0 A8 + inc DispatchPtrLo ; CPU:$D5E1 PRG:55E1 E6 02 + inc DispatchPtrLo ; CPU:$D5E3 PRG:55E3 E6 02 + lda Zp19 ; CPU:$D5E5 PRG:55E5 A5 19 + cmp (VramWritePtrLo),y ; CPU:$D5E7 PRG:55E7 D1 00 + bcc NmiHandler_Loop631 ; CPU:$D5E9 PRG:55E9 90 0E + iny ; CPU:$D5EB PRG:55EB C8 + inc DispatchPtrLo ; CPU:$D5EC PRG:55EC E6 02 + cmp (VramWritePtrLo),y ; CPU:$D5EE PRG:55EE D1 00 + bcc NmiHandler_Loop631 ; CPU:$D5F0 PRG:55F0 90 07 + cmp #$FF ; CPU:$D5F2 PRG:55F2 C9 FF + beq NmiHandler_Loop631 ; CPU:$D5F4 PRG:55F4 F0 03 + lda #$04 ; CPU:$D5F6 PRG:55F6 A9 04 + rts ; CPU:$D5F8 PRG:55F8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop631 +; Global: Branch target inside NmiHandler: taken when Loop631. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop631: + ldy DispatchPtrLo ; CPU:$D5F9 PRG:55F9 A4 02 + tya ; CPU:$D5FB PRG:55FB 98 + rts ; CPU:$D5FC PRG:55FC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5FD +; Global: Branch target inside Sub: taken when D5FD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5FD: + ldx #$10 ; CPU:$D5FD PRG:55FD A2 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative52 +; Global: Branch target inside NmiHandler: taken when OnNonnegative52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative52: + lda EnemyHealth,x ; CPU:$D5FF PRG:55FF B5 DF + sec ; CPU:$D601 PRG:5601 38 + sbc Zp65 ; CPU:$D602 PRG:5602 E5 65 + sta GameMode,x ; CPU:$D604 PRG:5604 95 9F + lda ZpCE,x ; CPU:$D606 PRG:5606 B5 CE + sec ; CPU:$D608 PRG:5608 38 + sbc Zp12 ; CPU:$D609 PRG:5609 E5 12 + sta Zp8E,x ; CPU:$D60B PRG:560B 95 8E + bcc NmiHandler_Loop632 ; CPU:$D60D PRG:560D 90 02 + inc GameMode,x ; CPU:$D60F PRG:560F F6 9F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop632 +; Global: Branch target inside NmiHandler: taken when Loop632. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop632: + dex ; CPU:$D611 PRG:5611 CA + bpl NmiHandler_OnNonnegative52 ; CPU:$D612 PRG:5612 10 EB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + rts ; CPU:$D614 PRG:5614 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D615 +; Global: Branch target inside Sub: taken when D615. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D615: + lda $03F8 ; CPU:$D615 PRG:5615 AD F8 03 + ora $03F9 ; CPU:$D618 PRG:5618 0D F9 03 + bne NmiHandler_Loop633 ; CPU:$D61B PRG:561B D0 1C + jsr Sub_D657 ; CPU:$D61D PRG:561D 20 57 D6 + sta $0406 ; CPU:$D620 PRG:5620 8D 06 04 + lda VramWritePtrLo ; CPU:$D623 PRG:5623 A5 00 + sta $040C ; CPU:$D625 PRG:5625 8D 0C 04 + ldx #$00 ; CPU:$D628 PRG:5628 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero55: + lda #$01 ; CPU:$D62A PRG:562A A9 01 + sta $03F8,x ; CPU:$D62C PRG:562C 9D F8 03 + sta $040E,x ; CPU:$D62F PRG:562F 9D 0E 04 + lda #$06 ; CPU:$D632 PRG:5632 A9 06 + sta Zp30 ; CPU:$D634 PRG:5634 85 30 + jmp NmiHandler_Loop635 ; CPU:$D636 PRG:5636 4C 88 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop633 +; Global: Branch target inside NmiHandler: taken when Loop633. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop633: + lda Zp30 ; CPU:$D639 PRG:5639 A5 30 + bne NmiHandler_OnNonzero54 ; CPU:$D63B PRG:563B D0 D7 + lda Zp7A ; CPU:$D63D PRG:563D A5 7A + beq NmiHandler_OnNonzero54 ; CPU:$D63F PRG:563F F0 D3 + lda $03F8 ; CPU:$D641 PRG:5641 AD F8 03 + cmp #$03 ; CPU:$D644 PRG:5644 C9 03 + bne NmiHandler_OnNonzero54 ; CPU:$D646 PRG:5646 D0 CC + jsr Sub_D657 ; CPU:$D648 PRG:5648 20 57 D6 + sta $0407 ; CPU:$D64B PRG:564B 8D 07 04 + lda VramWritePtrLo ; CPU:$D64E PRG:564E A5 00 + sta $040D ; CPU:$D650 PRG:5650 8D 0D 04 + ldx #$01 ; CPU:$D653 PRG:5653 A2 01 + bne NmiHandler_OnNonzero55 ; CPU:$D655 PRG:5655 D0 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D657 +; Global: Branch target inside Sub: taken when D657. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D657: + lda ZpBE ; CPU:$D657 PRG:5657 A5 BE + asl a ; CPU:$D659 PRG:5659 0A + asl a ; CPU:$D65A PRG:565A 0A + tay ; CPU:$D65B PRG:565B A8 + ldx #$00 ; CPU:$D65C PRG:565C A2 00 + lda Zp19 ; CPU:$D65E PRG:565E A5 19 + cmp $CE4D,y ; CPU:$D660 PRG:5660 D9 4D CE + bcc NmiHandler_Loop634 ; CPU:$D663 PRG:5663 90 0D + inx ; CPU:$D665 PRG:5665 E8 + cmp $CE4E,y ; CPU:$D666 PRG:5666 D9 4E CE + bcc NmiHandler_Loop634 ; CPU:$D669 PRG:5669 90 07 + inx ; CPU:$D66B PRG:566B E8 + cmp $CE4F,y ; CPU:$D66C PRG:566C D9 4F CE + bcc NmiHandler_Loop634 ; CPU:$D66F PRG:566F 90 01 + inx ; CPU:$D671 PRG:5671 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop634 +; Global: Branch target inside NmiHandler: taken when Loop634. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop634: + lda $CE61,x ; CPU:$D672 PRG:5672 BD 61 CE + sta VramWritePtrLo ; CPU:$D675 PRG:5675 85 00 + lda $CE5D,x ; CPU:$D677 PRG:5677 BD 5D CE + rts ; CPU:$D67A PRG:567A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D67B +; Global: Branch target inside Sub: taken when D67B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D67B: + lda $03F8,x ; CPU:$D67B PRG:567B BD F8 03 + beq NmiHandler_Loop636 ; CPU:$D67E PRG:567E F0 15 + cmp #$05 ; CPU:$D680 PRG:5680 C9 05 + beq NmiHandler_Loop635 ; CPU:$D682 PRG:5682 F0 04 + lda Zp30 ; CPU:$D684 PRG:5684 A5 30 + bne NmiHandler_Loop636 ; CPU:$D686 PRG:5686 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop635 +; Global: Branch target inside NmiHandler: taken when Loop635. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop635: + lda $03F8,x ; CPU:$D688 PRG:5688 BD F8 03 + clc ; CPU:$D68B PRG:568B 18 + adc $0406,x ; CPU:$D68C PRG:568C 7D 06 04 + tay ; CPU:$D68F PRG:568F A8 + lda $CE27,y ; CPU:$D690 PRG:5690 B9 27 CE + sta ZpBC ; CPU:$D693 PRG:5693 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop636 +; Global: Branch target inside NmiHandler: taken when Loop636. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop636: + rts ; CPU:$D695 PRG:5695 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D696 +; Global: Branch target inside Sub: taken when D696. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D696: + ldx #$01 ; CPU:$D696 PRG:5696 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_D698 +; Global: Branch target inside Sub: taken when D698. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D698: + lda $03F8,x ; CPU:$D698 PRG:5698 BD F8 03 + beq NmiHandler_Loop640 ; CPU:$D69B PRG:569B F0 45 + cmp #$01 ; CPU:$D69D PRG:569D C9 01 + bne NmiHandler_Loop639 ; CPU:$D69F PRG:569F D0 35 + lda Zp30 ; CPU:$D6A1 PRG:56A1 A5 30 + bne NmiHandler_Loop640 ; CPU:$D6A3 PRG:56A3 D0 3D + lda #$02 ; CPU:$D6A5 PRG:56A5 A9 02 + sta $03F8,x ; CPU:$D6A7 PRG:56A7 9D F8 03 + lda Zp93 ; CPU:$D6AA PRG:56AA A5 93 + sec ; CPU:$D6AC PRG:56AC 38 + sbc #$16 ; CPU:$D6AD PRG:56AD E9 16 + sta $0400,x ; CPU:$D6AF PRG:56AF 9D 00 04 + lda #$00 ; CPU:$D6B2 PRG:56B2 A9 00 + sta $0408,x ; CPU:$D6B4 PRG:56B4 9D 08 04 + sta $040A,x ; CPU:$D6B7 PRG:56B7 9D 0A 04 + lda ZpA4 ; CPU:$D6BA PRG:56BA A5 A4 + sta $0402,x ; CPU:$D6BC PRG:56BC 9D 02 04 + ldy #$A8 ; CPU:$D6BF PRG:56BF A0 A8 + lda $0406,x ; CPU:$D6C1 PRG:56C1 BD 06 04 + bmi NmiHandler_Loop637 ; CPU:$D6C4 PRG:56C4 30 08 + cmp #$09 ; CPU:$D6C6 PRG:56C6 C9 09 + beq NmiHandler_Loop638 ; CPU:$D6C8 PRG:56C8 F0 06 + cmp #$0E ; CPU:$D6CA PRG:56CA C9 0E + beq NmiHandler_Loop638 ; CPU:$D6CC PRG:56CC F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop637 +; Global: Branch target inside NmiHandler: taken when Loop637. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop637: + ldy #$92 ; CPU:$D6CE PRG:56CE A0 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop638 +; Global: Branch target inside NmiHandler: taken when Loop638. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop638: + tya ; CPU:$D6D0 PRG:56D0 98 + sta $0404,x ; CPU:$D6D1 PRG:56D1 9D 04 04 + bne NmiHandler_Loop640 ; CPU:$D6D4 PRG:56D4 D0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop639 +; Global: Branch target inside NmiHandler: taken when Loop639. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop639: + cmp #$02 ; CPU:$D6D6 PRG:56D6 C9 02 + bne NmiHandler_Loop644 ; CPU:$D6D8 PRG:56D8 D0 57 + lda $0408,x ; CPU:$D6DA PRG:56DA BD 08 04 + bmi NmiHandler_OnZero17 ; CPU:$D6DD PRG:56DD 30 06 + jsr Sub_D786 ; CPU:$D6DF PRG:56DF 20 86 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop640 +; Global: Branch target inside NmiHandler: taken when Loop640. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop640: + jmp NmiHandler_Loop648 ; CPU:$D6E2 PRG:56E2 4C 80 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero17 +; Global: Branch target inside NmiHandler: taken when OnZero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero17: + lda #$03 ; CPU:$D6E5 PRG:56E5 A9 03 + sta $03F8,x ; CPU:$D6E7 PRG:56E7 9D F8 03 + jsr Sub_D786 ; CPU:$D6EA PRG:56EA 20 86 D7 + lda $040C,x ; CPU:$D6ED PRG:56ED BD 0C 04 + tay ; CPU:$D6F0 PRG:56F0 A8 + lda $CE3B,y ; CPU:$D6F1 PRG:56F1 B9 3B CE + sta VramWritePtrLo ; CPU:$D6F4 PRG:56F4 85 00 + lda $0406,x ; CPU:$D6F6 PRG:56F6 BD 06 04 + cmp #$FF ; CPU:$D6F9 PRG:56F9 C9 FF + beq NmiHandler_Loop641 ; CPU:$D6FB PRG:56FB F0 08 + cmp #$09 ; CPU:$D6FD PRG:56FD C9 09 + beq NmiHandler_Loop641 ; CPU:$D6FF PRG:56FF F0 04 + cmp #$04 ; CPU:$D701 PRG:5701 C9 04 + beq NmiHandler_Loop642 ; CPU:$D703 PRG:5703 F0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop641 +; Global: Branch target inside NmiHandler: taken when Loop641. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop641: + lda VramWritePtrLo ; CPU:$D705 PRG:5705 A5 00 + eor #$FF ; CPU:$D707 PRG:5707 49 FF + tay ; CPU:$D709 PRG:5709 A8 + iny ; CPU:$D70A PRG:570A C8 + sty VramWritePtrLo ; CPU:$D70B PRG:570B 84 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop642 +; Global: Branch target inside NmiHandler: taken when Loop642. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop642: + lda $0404,x ; CPU:$D70D PRG:570D BD 04 04 + clc ; CPU:$D710 PRG:5710 18 + adc VramWritePtrLo ; CPU:$D711 PRG:5711 65 00 + sta $0404,x ; CPU:$D713 PRG:5713 9D 04 04 + dec $040C,x ; CPU:$D716 PRG:5716 DE 0C 04 + lda $040C,x ; CPU:$D719 PRG:5719 BD 0C 04 + cmp #$09 ; CPU:$D71C PRG:571C C9 09 + beq NmiHandler_Loop643 ; CPU:$D71E PRG:571E F0 05 + lda $040C,x ; CPU:$D720 PRG:5720 BD 0C 04 + bpl NmiHandler_Loop648 ; CPU:$D723 PRG:5723 10 5B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop643 +; Global: Branch target inside NmiHandler: taken when Loop643. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop643: + lda #$04 ; CPU:$D725 PRG:5725 A9 04 + sta $03F8,x ; CPU:$D727 PRG:5727 9D F8 03 + lda #$00 ; CPU:$D72A PRG:572A A9 00 + sta $0408,x ; CPU:$D72C PRG:572C 9D 08 04 + beq NmiHandler_Loop648 ; CPU:$D72F PRG:572F F0 4F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop644 +; Global: Branch target inside NmiHandler: taken when Loop644. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop644: + cmp #$03 ; CPU:$D731 PRG:5731 C9 03 + beq NmiHandler_OnZero17 ; CPU:$D733 PRG:5733 F0 B0 + cmp #$04 ; CPU:$D735 PRG:5735 C9 04 + bne NmiHandler_Loop647 ; CPU:$D737 PRG:5737 D0 3A + jsr Sub_D786 ; CPU:$D739 PRG:5739 20 86 D7 + lda ZpA4 ; CPU:$D73C PRG:573C A5 A4 + lsr a ; CPU:$D73E PRG:573E 4A + bcs NmiHandler_Loop645 ; CPU:$D73F PRG:573F B0 07 + lda $0402,x ; CPU:$D741 PRG:5741 BD 02 04 + cmp #$02 ; CPU:$D744 PRG:5744 C9 02 + beq NmiHandler_Loop646 ; CPU:$D746 PRG:5746 F0 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop645 +; Global: Branch target inside NmiHandler: taken when Loop645. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop645: + lda $0402,x ; CPU:$D748 PRG:5748 BD 02 04 + lsr a ; CPU:$D74B PRG:574B 4A + bcc NmiHandler_Loop648 ; CPU:$D74C PRG:574C 90 32 + lda ZpA4 ; CPU:$D74E PRG:574E A5 A4 + cmp #$01 ; CPU:$D750 PRG:5750 C9 01 + bne NmiHandler_Loop648 ; CPU:$D752 PRG:5752 D0 2C + lda Zp93 ; CPU:$D754 PRG:5754 A5 93 + sec ; CPU:$D756 PRG:5756 38 + sbc #$16 ; CPU:$D757 PRG:5757 E9 16 + cmp $0400,x ; CPU:$D759 PRG:5759 DD 00 04 + bcs NmiHandler_Loop648 ; CPU:$D75C PRG:575C B0 22 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop646 +; Global: Branch target inside NmiHandler: taken when Loop646. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop646: + lda Zp7E ; CPU:$D75E PRG:575E A5 7E + beq NmiHandler_Loop648 ; CPU:$D760 PRG:5760 F0 1E + lda #$05 ; CPU:$D762 PRG:5762 A9 05 + sta $03F8,x ; CPU:$D764 PRG:5764 9D F8 03 + lda #$00 ; CPU:$D767 PRG:5767 A9 00 + sta $0400,x ; CPU:$D769 PRG:5769 9D 00 04 + sta $0402,x ; CPU:$D76C PRG:576C 9D 02 04 + lda #$08 ; CPU:$D76F PRG:576F A9 08 + sta Zp30 ; CPU:$D771 PRG:5771 85 30 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop647 +; Global: Branch target inside NmiHandler: taken when Loop647. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop647: + lda Zp30 ; CPU:$D773 PRG:5773 A5 30 + bne NmiHandler_Loop648 ; CPU:$D775 PRG:5775 D0 09 + sta $03F8,x ; CPU:$D777 PRG:5777 9D F8 03 + sta $040E,x ; CPU:$D77A PRG:577A 9D 0E 04 + sta $0406,x ; CPU:$D77D PRG:577D 9D 06 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop648 +; Global: Branch target inside NmiHandler: taken when Loop648. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop648: + dex ; CPU:$D780 PRG:5780 CA + bmi NmiHandler_Loop656 ; CPU:$D781 PRG:5781 30 75 + jmp Sub_D698 ; CPU:$D783 PRG:5783 4C 98 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_D786 +; Global: Branch target inside Sub: taken when D786. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D786: + lda Zp7E ; CPU:$D786 PRG:5786 A5 7E + bne NmiHandler_Loop649 ; CPU:$D788 PRG:5788 D0 07 + lda $0402,x ; CPU:$D78A PRG:578A BD 02 04 + cmp #$02 ; CPU:$D78D PRG:578D C9 02 + bcs NmiHandler_Loop650 ; CPU:$D78F PRG:578F B0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop649 +; Global: Branch target inside NmiHandler: taken when Loop649. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop649: + lda Zp34 ; CPU:$D791 PRG:5791 A5 34 + bne NmiHandler_Loop650 ; CPU:$D793 PRG:5793 D0 08 + lda #$04 ; CPU:$D795 PRG:5795 A9 04 + sta ZpFC ; CPU:$D797 PRG:5797 85 FC + lda #$10 ; CPU:$D799 PRG:5799 A9 10 + sta Zp34 ; CPU:$D79B PRG:579B 85 34 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop650 +; Global: Branch target inside NmiHandler: taken when Loop650. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop650: + lda Zp49 ; CPU:$D79D PRG:579D A5 49 + and #$03 ; CPU:$D79F PRG:579F 29 03 + bne NmiHandler_Loop651 ; CPU:$D7A1 PRG:57A1 D0 0B + inc $040A,x ; CPU:$D7A3 PRG:57A3 FE 0A 04 + lda $040A,x ; CPU:$D7A6 PRG:57A6 BD 0A 04 + and #$03 ; CPU:$D7A9 PRG:57A9 29 03 + sta $040A,x ; CPU:$D7AB PRG:57AB 9D 0A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop651 +; Global: Branch target inside NmiHandler: taken when Loop651. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop651: + ldy #$01 ; CPU:$D7AE PRG:57AE A0 01 + lda $03FA,x ; CPU:$D7B0 PRG:57B0 BD FA 03 + clc ; CPU:$D7B3 PRG:57B3 18 + adc #$A0 ; CPU:$D7B4 PRG:57B4 69 A0 + sta $03FA,x ; CPU:$D7B6 PRG:57B6 9D FA 03 + bcc NmiHandler_Loop652 ; CPU:$D7B9 PRG:57B9 90 01 + iny ; CPU:$D7BB PRG:57BB C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop652 +; Global: Branch target inside NmiHandler: taken when Loop652. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop652: + tya ; CPU:$D7BC PRG:57BC 98 + clc ; CPU:$D7BD PRG:57BD 18 + adc $0408,x ; CPU:$D7BE PRG:57BE 7D 08 04 + sta $0408,x ; CPU:$D7C1 PRG:57C1 9D 08 04 + lda $03F8,x ; CPU:$D7C4 PRG:57C4 BD F8 03 + cmp #$02 ; CPU:$D7C7 PRG:57C7 C9 02 + beq NmiHandler_Loop653 ; CPU:$D7C9 PRG:57C9 F0 13 + cmp #$03 ; CPU:$D7CB PRG:57CB C9 03 + bne NmiHandler_Loop654 ; CPU:$D7CD PRG:57CD D0 14 + lda $040C,x ; CPU:$D7CF PRG:57CF BD 0C 04 + cmp #$0E ; CPU:$D7D2 PRG:57D2 C9 0E + bcs NmiHandler_Loop653 ; CPU:$D7D4 PRG:57D4 B0 08 + cmp #$09 ; CPU:$D7D6 PRG:57D6 C9 09 + bcs NmiHandler_Loop654 ; CPU:$D7D8 PRG:57D8 B0 09 + cmp #$05 ; CPU:$D7DA PRG:57DA C9 05 + bcc NmiHandler_Loop654 ; CPU:$D7DC PRG:57DC 90 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop653 +; Global: Branch target inside NmiHandler: taken when Loop653. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop653: + tya ; CPU:$D7DE PRG:57DE 98 + eor #$FF ; CPU:$D7DF PRG:57DF 49 FF + tay ; CPU:$D7E1 PRG:57E1 A8 + iny ; CPU:$D7E2 PRG:57E2 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop654 +; Global: Branch target inside NmiHandler: taken when Loop654. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop654: + tya ; CPU:$D7E3 PRG:57E3 98 + clc ; CPU:$D7E4 PRG:57E4 18 + adc Zp66 ; CPU:$D7E5 PRG:57E5 65 66 + bpl NmiHandler_Loop655 ; CPU:$D7E7 PRG:57E7 10 03 + dec $0402,x ; CPU:$D7E9 PRG:57E9 DE 02 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop655 +; Global: Branch target inside NmiHandler: taken when Loop655. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop655: + clc ; CPU:$D7EC PRG:57EC 18 + adc $0400,x ; CPU:$D7ED PRG:57ED 7D 00 04 + sta $0400,x ; CPU:$D7F0 PRG:57F0 9D 00 04 + bcc NmiHandler_Loop656 ; CPU:$D7F3 PRG:57F3 90 03 + inc $0402,x ; CPU:$D7F5 PRG:57F5 FE 02 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop656 +; Global: Branch target inside NmiHandler: taken when Loop656. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop656: + rts ; CPU:$D7F8 PRG:57F8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7F9 +; Global: Branch target inside Sub: taken when D7F9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7F9: + ldx #$01 ; CPU:$D7F9 PRG:57F9 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative53 +; Global: Branch target inside NmiHandler: taken when OnNonnegative53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative53: + lda $0402,x ; CPU:$D7FB PRG:57FB BD 02 04 + cmp #$01 ; CPU:$D7FE PRG:57FE C9 01 + bne NmiHandler_Loop657 ; CPU:$D800 PRG:5800 D0 39 + lda $03F8,x ; CPU:$D802 PRG:5802 BD F8 03 + beq NmiHandler_Loop657 ; CPU:$D805 PRG:5805 F0 34 + cmp #$01 ; CPU:$D807 PRG:5807 C9 01 + beq NmiHandler_Loop657 ; CPU:$D809 PRG:5809 F0 30 + cmp #$05 ; CPU:$D80B PRG:580B C9 05 + beq NmiHandler_Loop657 ; CPU:$D80D PRG:580D F0 2C + lda $040A,x ; CPU:$D80F PRG:580F BD 0A 04 + tay ; CPU:$D812 PRG:5812 A8 + lda $CE65,y ; CPU:$D813 PRG:5813 B9 65 CE + sta VramWritePtrLo ; CPU:$D816 PRG:5816 85 00 + lda $CE69,y ; CPU:$D818 PRG:5818 B9 69 CE + sta VramWritePtrHi ; CPU:$D81B PRG:581B 85 01 + ldy Zp4C ; CPU:$D81D PRG:581D A4 4C + lda $0404,x ; CPU:$D81F PRG:581F BD 04 04 + sta $06D0,y ; CPU:$D822 PRG:5822 99 D0 06 + iny ; CPU:$D825 PRG:5825 C8 + lda VramWritePtrLo ; CPU:$D826 PRG:5826 A5 00 + sta $06D0,y ; CPU:$D828 PRG:5828 99 D0 06 + iny ; CPU:$D82B PRG:582B C8 + lda VramWritePtrHi ; CPU:$D82C PRG:582C A5 01 + sta $06D0,y ; CPU:$D82E PRG:582E 99 D0 06 + iny ; CPU:$D831 PRG:5831 C8 + lda $0400,x ; CPU:$D832 PRG:5832 BD 00 04 + sta $06D0,y ; CPU:$D835 PRG:5835 99 D0 06 + iny ; CPU:$D838 PRG:5838 C8 + sty Zp4C ; CPU:$D839 PRG:5839 84 4C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop657 +; Global: Branch target inside NmiHandler: taken when Loop657. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop657: + dex ; CPU:$D83B PRG:583B CA + bpl NmiHandler_OnNonnegative53 ; CPU:$D83C PRG:583C 10 BD + rts ; CPU:$D83E PRG:583E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D83F +; Global: Branch target inside Sub: taken when D83F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D83F: + lda Zp7D ; CPU:$D83F PRG:583F A5 7D + cmp #$01 ; CPU:$D841 PRG:5841 C9 01 + bne NmiHandler_Loop658 ; CPU:$D843 PRG:5843 D0 1D + lda #$00 ; CPU:$D845 PRG:5845 A9 00 + sta ZpBC ; CPU:$D847 PRG:5847 85 BC + lda Zp93 ; CPU:$D849 PRG:5849 A5 93 + sta $0398 ; CPU:$D84B PRG:584B 8D 98 03 + lda ZpB5 ; CPU:$D84E PRG:584E A5 B5 + clc ; CPU:$D850 PRG:5850 18 + adc #$10 ; CPU:$D851 PRG:5851 69 10 + sta $0399 ; CPU:$D853 PRG:5853 8D 99 03 + inc Zp7D ; CPU:$D856 PRG:5856 E6 7D + lda #$04 ; CPU:$D858 PRG:5858 A9 04 + sta Zp30 ; CPU:$D85A PRG:585A 85 30 + lda #$10 ; CPU:$D85C PRG:585C A9 10 + sta $039A ; CPU:$D85E PRG:585E 8D 9A 03 + rts ; CPU:$D861 PRG:5861 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop658 +; Global: Branch target inside NmiHandler: taken when Loop658. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop658: + cmp #$02 ; CPU:$D862 PRG:5862 C9 02 + bne NmiHandler_Loop659 ; CPU:$D864 PRG:5864 D0 05 + lda Zp30 ; CPU:$D866 PRG:5866 A5 30 + beq NmiHandler_Loop665 ; CPU:$D868 PRG:5868 F0 2F + rts ; CPU:$D86A PRG:586A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop659 +; Global: Branch target inside NmiHandler: taken when Loop659. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop659: + cmp #$03 ; CPU:$D86B PRG:586B C9 03 + bne NmiHandler_Loop660 ; CPU:$D86D PRG:586D D0 05 + ldx #$05 ; CPU:$D86F PRG:586F A2 05 + jmp Sub_D8EF ; CPU:$D871 PRG:5871 4C EF D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop660 +; Global: Branch target inside NmiHandler: taken when Loop660. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop660: + cmp #$04 ; CPU:$D874 PRG:5874 C9 04 + bne NmiHandler_Loop661 ; CPU:$D876 PRG:5876 D0 05 + ldx #$05 ; CPU:$D878 PRG:5878 A2 05 + jmp Sub_D967 ; CPU:$D87A PRG:587A 4C 67 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop661 +; Global: Branch target inside NmiHandler: taken when Loop661. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop661: + cmp #$05 ; CPU:$D87D PRG:587D C9 05 + bne NmiHandler_Loop664 ; CPU:$D87F PRG:587F D0 11 + lda Zp30 ; CPU:$D881 PRG:5881 A5 30 + beq NmiHandler_Loop664 ; CPU:$D883 PRG:5883 F0 0D + cmp #$08 ; CPU:$D885 PRG:5885 C9 08 + bcc NmiHandler_Loop662 ; CPU:$D887 PRG:5887 90 04 + lda #$06 ; CPU:$D889 PRG:5889 A9 06 + bne NmiHandler_Loop663 ; CPU:$D88B PRG:588B D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop662 +; Global: Branch target inside NmiHandler: taken when Loop662. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop662: + lda #$02 ; CPU:$D88D PRG:588D A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop663 +; Global: Branch target inside NmiHandler: taken when Loop663. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop663: + sta ZpBC ; CPU:$D88F PRG:588F 85 BC + rts ; CPU:$D891 PRG:5891 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop664 +; Global: Branch target inside NmiHandler: taken when Loop664. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop664: + lda #$00 ; CPU:$D892 PRG:5892 A9 00 + sta Zp7D ; CPU:$D894 PRG:5894 85 7D + jmp Sub_D21E ; CPU:$D896 PRG:5896 4C 1E D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop665 +; Global: Branch target inside NmiHandler: taken when Loop665. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop665: + lda #$05 ; CPU:$D899 PRG:5899 A9 05 + sta ZpBC ; CPU:$D89B PRG:589B 85 BC + ldy #$01 ; CPU:$D89D PRG:589D A0 01 + lda Zp94 ; CPU:$D89F PRG:589F A5 94 + cmp $0398 ; CPU:$D8A1 PRG:58A1 CD 98 03 + bcc NmiHandler_Loop666 ; CPU:$D8A4 PRG:58A4 90 02 + ldy #$FF ; CPU:$D8A6 PRG:58A6 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop666 +; Global: Branch target inside NmiHandler: taken when Loop666. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop666: + tya ; CPU:$D8A8 PRG:58A8 98 + clc ; CPU:$D8A9 PRG:58A9 18 + adc $0398 ; CPU:$D8AA PRG:58AA 6D 98 03 + sta $0398 ; CPU:$D8AD PRG:58AD 8D 98 03 + ldy $039A ; CPU:$D8B0 PRG:58B0 AC 9A 03 + lda $CEAF,y ; CPU:$D8B3 PRG:58B3 B9 AF CE + clc ; CPU:$D8B6 PRG:58B6 18 + adc $0399 ; CPU:$D8B7 PRG:58B7 6D 99 03 + sta $0399 ; CPU:$D8BA PRG:58BA 8D 99 03 + cmp #$E8 ; CPU:$D8BD PRG:58BD C9 E8 + bcs NmiHandler_Loop667 ; CPU:$D8BF PRG:58BF B0 2B + ldy Zp4C ; CPU:$D8C1 PRG:58C1 A4 4C + lda $0399 ; CPU:$D8C3 PRG:58C3 AD 99 03 + sta $06D0,y ; CPU:$D8C6 PRG:58C6 99 D0 06 + iny ; CPU:$D8C9 PRG:58C9 C8 + lda #$AA ; CPU:$D8CA PRG:58CA A9 AA + sta $06D0,y ; CPU:$D8CC PRG:58CC 99 D0 06 + iny ; CPU:$D8CF PRG:58CF C8 + lda $CEC0 ; CPU:$D8D0 PRG:58D0 AD C0 CE + sta $06D0,y ; CPU:$D8D3 PRG:58D3 99 D0 06 + iny ; CPU:$D8D6 PRG:58D6 C8 + lda $0398 ; CPU:$D8D7 PRG:58D7 AD 98 03 + sta $06D0,y ; CPU:$D8DA PRG:58DA 99 D0 06 + iny ; CPU:$D8DD PRG:58DD C8 + sty Zp4C ; CPU:$D8DE PRG:58DE 84 4C + dec $039A ; CPU:$D8E0 PRG:58E0 CE 9A 03 + bpl NmiHandler_Loop668 ; CPU:$D8E3 PRG:58E3 10 09 + lda #$00 ; CPU:$D8E5 PRG:58E5 A9 00 + sta $039A ; CPU:$D8E7 PRG:58E7 8D 9A 03 + beq NmiHandler_Loop668 ; CPU:$D8EA PRG:58EA F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop667 +; Global: Branch target inside NmiHandler: taken when Loop667. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop667: + inc Zp7D ; CPU:$D8EC PRG:58EC E6 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop668 +; Global: Branch target inside NmiHandler: taken when Loop668. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop668: + rts ; CPU:$D8EE PRG:58EE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8EF +; Global: Branch target inside Sub: taken when D8EF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8EF: + lda Zp2B,x ; CPU:$D8EF PRG:58EF B5 2B + bne NmiHandler_Loop670 ; CPU:$D8F1 PRG:58F1 D0 1B + lda #$02 ; CPU:$D8F3 PRG:58F3 A9 02 + sta $04B8,x ; CPU:$D8F5 PRG:58F5 9D B8 04 + inc ZpC7,x ; CPU:$D8F8 PRG:58F8 F6 C7 + lda ZpC7,x ; CPU:$D8FA PRG:58FA B5 C7 + cmp #$07 ; CPU:$D8FC PRG:58FC C9 07 + bcs NmiHandler_Loop671 ; CPU:$D8FE PRG:58FE B0 0F + cmp #$04 ; CPU:$D900 PRG:5900 C9 04 + bne NmiHandler_Loop669 ; CPU:$D902 PRG:5902 D0 06 + lda #$08 ; CPU:$D904 PRG:5904 A9 08 + ora SpriteTimer,x ; CPU:$D906 PRG:5906 15 80 + sta SpriteTimer,x ; CPU:$D908 PRG:5908 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop669 +; Global: Branch target inside NmiHandler: taken when Loop669. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop669: + lda #$05 ; CPU:$D90A PRG:590A A9 05 + sta Zp2B,x ; CPU:$D90C PRG:590C 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop670 +; Global: Branch target inside NmiHandler: taken when Loop670. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop670: + rts ; CPU:$D90E PRG:590E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop671 +; Global: Branch target inside NmiHandler: taken when Loop671. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop671: + lda Zp7D ; CPU:$D90F PRG:590F A5 7D + cmp #$08 ; CPU:$D911 PRG:5911 C9 08 + beq NmiHandler_Loop672 ; CPU:$D913 PRG:5913 F0 0D + lda EnemyHealth,x ; CPU:$D915 PRG:5915 B5 DF + cmp #$04 ; CPU:$D917 PRG:5917 C9 04 + beq NmiHandler_Loop672 ; CPU:$D919 PRG:5919 F0 07 + lda #$1C ; CPU:$D91B PRG:591B A9 1C + sta VramWritePtrLo ; CPU:$D91D PRG:591D 85 00 + jsr Sub_D930 ; CPU:$D91F PRG:591F 20 30 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop672 +; Global: Branch target inside NmiHandler: taken when Loop672. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop672: + lda #$00 ; CPU:$D922 PRG:5922 A9 00 + sta ZpC7,x ; CPU:$D924 PRG:5924 95 C7 + sta $04B8,x ; CPU:$D926 PRG:5926 9D B8 04 + inc Zp7D ; CPU:$D929 PRG:5929 E6 7D + lda #$0B ; CPU:$D92B PRG:592B A9 0B + sta Zp2B,x ; CPU:$D92D PRG:592D 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero56: + rts ; CPU:$D92F PRG:592F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D930 +; Global: Branch target inside Sub: taken when D930. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D930: + lda ZpE5 ; CPU:$D930 PRG:5930 A5 E5 + sta DispatchPtrLo ; CPU:$D932 PRG:5932 85 02 + lda GameState,x ; CPU:$D934 PRG:5934 B5 C0 + beq NmiHandler_Loop673 ; CPU:$D936 PRG:5936 F0 0D + lda VramWritePtrLo ; CPU:$D938 PRG:5938 A5 00 + eor #$FF ; CPU:$D93A PRG:593A 49 FF + clc ; CPU:$D93C PRG:593C 18 + adc #$01 ; CPU:$D93D PRG:593D 69 01 + sta VramWritePtrLo ; CPU:$D93F PRG:593F 85 00 + bcs NmiHandler_Loop673 ; CPU:$D941 PRG:5941 B0 02 + dec DispatchPtrLo ; CPU:$D943 PRG:5943 C6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop673 +; Global: Branch target inside NmiHandler: taken when Loop673. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop673: + lda VramWritePtrLo ; CPU:$D945 PRG:5945 A5 00 + clc ; CPU:$D947 PRG:5947 18 + adc ZpD4 ; CPU:$D948 PRG:5948 65 D4 + sta DispatchPtrHi ; CPU:$D94A PRG:594A 85 03 + bcc NmiHandler_Loop674 ; CPU:$D94C PRG:594C 90 02 + inc DispatchPtrLo ; CPU:$D94E PRG:594E E6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop674 +; Global: Branch target inside NmiHandler: taken when Loop674. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop674: + lda DispatchPtrLo ; CPU:$D950 PRG:5950 A5 02 + sta EnemyHealth,x ; CPU:$D952 PRG:5952 95 DF + lda DispatchPtrHi ; CPU:$D954 PRG:5954 A5 03 + sta ZpCE,x ; CPU:$D956 PRG:5956 95 CE + lda EnemyHealth,x ; CPU:$D958 PRG:5958 B5 DF + cmp #$06 ; CPU:$D95A PRG:595A C9 06 + bne NmiHandler_OnNonzero56 ; CPU:$D95C PRG:595C D0 D1 + lda ZpCE,x ; CPU:$D95E PRG:595E B5 CE + cmp #$90 ; CPU:$D960 PRG:5960 C9 90 + bcc NmiHandler_OnNonzero56 ; CPU:$D962 PRG:5962 90 CB + jmp Sub_D2E2 ; CPU:$D964 PRG:5964 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D967 +; Global: Branch target inside Sub: taken when D967. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D967: + lda Zp2B,x ; CPU:$D967 PRG:5967 B5 2B + bne NmiHandler_Loop676 ; CPU:$D969 PRG:5969 D0 1B + lda #$02 ; CPU:$D96B PRG:596B A9 02 + sta $04B8,x ; CPU:$D96D PRG:596D 9D B8 04 + inc ZpC7,x ; CPU:$D970 PRG:5970 F6 C7 + lda ZpC7,x ; CPU:$D972 PRG:5972 B5 C7 + cmp #$07 ; CPU:$D974 PRG:5974 C9 07 + bcs NmiHandler_Loop677 ; CPU:$D976 PRG:5976 B0 0F + cmp #$05 ; CPU:$D978 PRG:5978 C9 05 + bne NmiHandler_Loop675 ; CPU:$D97A PRG:597A D0 06 + lda #$F7 ; CPU:$D97C PRG:597C A9 F7 + and SpriteTimer,x ; CPU:$D97E PRG:597E 35 80 + sta SpriteTimer,x ; CPU:$D980 PRG:5980 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop675 +; Global: Branch target inside NmiHandler: taken when Loop675. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop675: + lda #$05 ; CPU:$D982 PRG:5982 A9 05 + sta Zp2B,x ; CPU:$D984 PRG:5984 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop676 +; Global: Branch target inside NmiHandler: taken when Loop676. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop676: + rts ; CPU:$D986 PRG:5986 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop677 +; Global: Branch target inside NmiHandler: taken when Loop677. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop677: + lda #$00 ; CPU:$D987 PRG:5987 A9 00 + sta ZpC7,x ; CPU:$D989 PRG:5989 95 C7 + sta $04B8,x ; CPU:$D98B PRG:598B 9D B8 04 + lda Zp7D ; CPU:$D98E PRG:598E A5 7D + cmp #$05 ; CPU:$D990 PRG:5990 C9 05 + bne NmiHandler_Loop678 ; CPU:$D992 PRG:5992 D0 04 + lda #$0F ; CPU:$D994 PRG:5994 A9 0F + sta Zp2B,x ; CPU:$D996 PRG:5996 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop678 +; Global: Branch target inside NmiHandler: taken when Loop678. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop678: + inc Zp7D ; CPU:$D998 PRG:5998 E6 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero57: + rts ; CPU:$D99A PRG:599A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D99B +; Global: Branch target inside Sub: taken when D99B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D99B: + lda Zp7D ; CPU:$D99B PRG:599B A5 7D + cmp #$07 ; CPU:$D99D PRG:599D C9 07 + bne NmiHandler_Loop679 ; CPU:$D99F PRG:599F D0 45 + ldx $039C ; CPU:$D9A1 PRG:59A1 AE 9C 03 + jsr Sub_D967 ; CPU:$D9A4 PRG:59A4 20 67 D9 + lda Zp7D ; CPU:$D9A7 PRG:59A7 A5 7D + cmp #$08 ; CPU:$D9A9 PRG:59A9 C9 08 + bne NmiHandler_OnNonzero57 ; CPU:$D9AB PRG:59AB D0 ED + ldx $039C ; CPU:$D9AD PRG:59AD AE 9C 03 + lda #$00 ; CPU:$D9B0 PRG:59B0 A9 00 + sta Zp7D ; CPU:$D9B2 PRG:59B2 85 7D + sta Zp2B,x ; CPU:$D9B4 PRG:59B4 95 2B + jsr Sub_D21E ; CPU:$D9B6 PRG:59B6 20 1E D2 + lda Zp19 ; CPU:$D9B9 PRG:59B9 A5 19 + lsr a ; CPU:$D9BB PRG:59BB 4A + bcc NmiHandler_OnNonzero57 ; CPU:$D9BC PRG:59BC 90 DC +; ----------------------------------------------------------------------------- +; Routine: Sub_D9BE +; Global: Branch target inside Sub: taken when D9BE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9BE: + ldx $039C ; CPU:$D9BE PRG:59BE AE 9C 03 + lda GameState,x ; CPU:$D9C1 PRG:59C1 B5 C0 + sta DispatchPtrLo ; CPU:$D9C3 PRG:59C3 85 02 + lda ZpCE,x ; CPU:$D9C5 PRG:59C5 B5 CE + sta DispatchPtrHi ; CPU:$D9C7 PRG:59C7 85 03 + lda EnemyHealth,x ; CPU:$D9C9 PRG:59C9 B5 DF + sta Zp04 ; CPU:$D9CB PRG:59CB 85 04 + lda PlayerSide ; CPU:$D9CD PRG:59CD A5 C5 + sta GameState,x ; CPU:$D9CF PRG:59CF 95 C0 + lda ZpD3 ; CPU:$D9D1 PRG:59D1 A5 D3 + sta ZpCE,x ; CPU:$D9D3 PRG:59D3 95 CE + lda ZpE4 ; CPU:$D9D5 PRG:59D5 A5 E4 + sta EnemyHealth,x ; CPU:$D9D7 PRG:59D7 95 DF + lda DispatchPtrLo ; CPU:$D9D9 PRG:59D9 A5 02 + sta PlayerSide ; CPU:$D9DB PRG:59DB 85 C5 + lda DispatchPtrHi ; CPU:$D9DD PRG:59DD A5 03 + sta ZpD3 ; CPU:$D9DF PRG:59DF 85 D3 + lda Zp04 ; CPU:$D9E1 PRG:59E1 A5 04 + sta ZpE4 ; CPU:$D9E3 PRG:59E3 85 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero58: + rts ; CPU:$D9E5 PRG:59E5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop679 +; Global: Branch target inside NmiHandler: taken when Loop679. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop679: + ldx $039C ; CPU:$D9E6 PRG:59E6 AE 9C 03 + lda Zp8E,x ; CPU:$D9E9 PRG:59E9 B5 8E + cmp Zp93 ; CPU:$D9EB PRG:59EB C5 93 + bcc NmiHandler_Loop680 ; CPU:$D9ED PRG:59ED 90 03 + jsr Sub_D9BE ; CPU:$D9EF PRG:59EF 20 BE D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop680 +; Global: Branch target inside NmiHandler: taken when Loop680. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop680: + jsr Sub_D8EF ; CPU:$D9F2 PRG:59F2 20 EF D8 + lda Zp7D ; CPU:$D9F5 PRG:59F5 A5 7D + cmp #$09 ; CPU:$D9F7 PRG:59F7 C9 09 + bne NmiHandler_OnNonzero58 ; CPU:$D9F9 PRG:59F9 D0 EA + ldx $039C ; CPU:$D9FB PRG:59FB AE 9C 03 + jsr Sub_B257 ; CPU:$D9FE PRG:59FE 20 57 B2 + lda #$00 ; CPU:$DA01 PRG:5A01 A9 00 + sta Zp7D ; CPU:$DA03 PRG:5A03 85 7D + sta $039B ; CPU:$DA05 PRG:5A05 8D 9B 03 + sta Zp2B,x ; CPU:$DA08 PRG:5A08 95 2B + jmp Sub_D21E ; CPU:$DA0A PRG:5A0A 4C 1E D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA0D +; Global: Branch target inside Sub: taken when DA0D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA0D: + ldx #$05 ; CPU:$DA0D PRG:5A0D A2 05 + lda GameMode,x ; CPU:$DA0F PRG:5A0F B5 9F + cmp #$01 ; CPU:$DA11 PRG:5A11 C9 01 + bne NmiHandler_Loop681 ; CPU:$DA13 PRG:5A13 D0 19 + lda $04DC,x ; CPU:$DA15 PRG:5A15 BD DC 04 + cmp #$40 ; CPU:$DA18 PRG:5A18 C9 40 + bcs NmiHandler_Loop682 ; CPU:$DA1A PRG:5A1A B0 16 + lda #$01 ; CPU:$DA1C PRG:5A1C A9 01 + sta $039D ; CPU:$DA1E PRG:5A1E 8D 9D 03 + lda Zp44 ; CPU:$DA21 PRG:5A21 A5 44 + bne NmiHandler_Loop684 ; CPU:$DA23 PRG:5A23 D0 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero59: + lda #$02 ; CPU:$DA25 PRG:5A25 A9 02 + sta Zp7B ; CPU:$DA27 PRG:5A27 85 7B + lda #$00 ; CPU:$DA29 PRG:5A29 A9 00 + sta Zp25 ; CPU:$DA2B PRG:5A2B 85 25 + rts ; CPU:$DA2D PRG:5A2D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop681 +; Global: Branch target inside NmiHandler: taken when Loop681. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop681: + lda #$00 ; CPU:$DA2E PRG:5A2E A9 00 + sta Zp44 ; CPU:$DA30 PRG:5A30 85 44 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop682 +; Global: Branch target inside NmiHandler: taken when Loop682. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop682: + lda Zp44 ; CPU:$DA32 PRG:5A32 A5 44 + bne NmiHandler_Loop683 ; CPU:$DA34 PRG:5A34 D0 06 + sta Zp7B ; CPU:$DA36 PRG:5A36 85 7B + sta $039D ; CPU:$DA38 PRG:5A38 8D 9D 03 + rts ; CPU:$DA3B PRG:5A3B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop683 +; Global: Branch target inside NmiHandler: taken when Loop683. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop683: + lda #$00 ; CPU:$DA3C PRG:5A3C A9 00 + sta $039D ; CPU:$DA3E PRG:5A3E 8D 9D 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop684 +; Global: Branch target inside NmiHandler: taken when Loop684. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop684: + lda ZpE4 ; CPU:$DA41 PRG:5A41 A5 E4 + cmp #$04 ; CPU:$DA43 PRG:5A43 C9 04 + bne NmiHandler_Loop685 ; CPU:$DA45 PRG:5A45 D0 04 + lda PlayerSide ; CPU:$DA47 PRG:5A47 A5 C5 + bne NmiHandler_OnNonzero59 ; CPU:$DA49 PRG:5A49 D0 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop685 +; Global: Branch target inside NmiHandler: taken when Loop685. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop685: + lda #$01 ; CPU:$DA4B PRG:5A4B A9 01 + sta Zp7B ; CPU:$DA4D PRG:5A4D 85 7B + rts ; CPU:$DA4F PRG:5A4F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA50 +; Global: Branch target inside Sub: taken when DA50. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA50: + ldx Zp7A ; CPU:$DA50 PRG:5A50 A6 7A + lda Zp25 ; CPU:$DA52 PRG:5A52 A5 25 + cmp $CE81,x ; CPU:$DA54 PRG:5A54 DD 81 CE + bcs NmiHandler_Loop687 ; CPU:$DA57 PRG:5A57 B0 4D + dec Zp7A ; CPU:$DA59 PRG:5A59 C6 7A + lda Zp7A ; CPU:$DA5B PRG:5A5B A5 7A + cmp #$02 ; CPU:$DA5D PRG:5A5D C9 02 + bne NmiHandler_Loop687 ; CPU:$DA5F PRG:5A5F D0 45 + jsr Sub_ACE8 ; CPU:$DA61 PRG:5A61 20 E8 AC + bcs NmiHandler_Loop688 ; CPU:$DA64 PRG:5A64 B0 50 + lda ZpD3 ; CPU:$DA66 PRG:5A66 A5 D3 + sta ZpCE,x ; CPU:$DA68 PRG:5A68 95 CE + lda ZpE4 ; CPU:$DA6A PRG:5A6A A5 E4 + sta EnemyHealth,x ; CPU:$DA6C PRG:5A6C 95 DF + lda #$01 ; CPU:$DA6E PRG:5A6E A9 01 + sta SpriteTimer,x ; CPU:$DA70 PRG:5A70 95 80 + lda #$11 ; CPU:$DA72 PRG:5A72 A9 11 + sta EnemyIndex,x ; CPU:$DA74 PRG:5A74 95 87 + lda PlayerSide ; CPU:$DA76 PRG:5A76 A5 C5 + sta GameState,x ; CPU:$DA78 PRG:5A78 95 C0 + jsr Sub_DAB7 ; CPU:$DA7A PRG:5A7A 20 B7 DA + ldy Zp7B ; CPU:$DA7D PRG:5A7D A4 7B + dey ; CPU:$DA7F PRG:5A7F 88 + dey ; CPU:$DA80 PRG:5A80 88 + tya ; CPU:$DA81 PRG:5A81 98 + sta $0478,x ; CPU:$DA82 PRG:5A82 9D 78 04 + lda $CE9A,y ; CPU:$DA85 PRG:5A85 B9 9A CE + sta PlayerX,x ; CPU:$DA88 PRG:5A88 95 B0 + lda GameState,x ; CPU:$DA8A PRG:5A8A B5 C0 + bne NmiHandler_Loop686 ; CPU:$DA8C PRG:5A8C D0 0D + lda ZpCE,x ; CPU:$DA8E PRG:5A8E B5 CE + sec ; CPU:$DA90 PRG:5A90 38 + sbc #$10 ; CPU:$DA91 PRG:5A91 E9 10 + sta ZpCE,x ; CPU:$DA93 PRG:5A93 95 CE + bcs NmiHandler_Loop687 ; CPU:$DA95 PRG:5A95 B0 0F + dec EnemyHealth,x ; CPU:$DA97 PRG:5A97 D6 DF + bne NmiHandler_Loop687 ; CPU:$DA99 PRG:5A99 D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop686 +; Global: Branch target inside NmiHandler: taken when Loop686. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop686: + lda ZpCE,x ; CPU:$DA9B PRG:5A9B B5 CE + clc ; CPU:$DA9D PRG:5A9D 18 + adc #$10 ; CPU:$DA9E PRG:5A9E 69 10 + sta ZpCE,x ; CPU:$DAA0 PRG:5AA0 95 CE + bcc NmiHandler_Loop687 ; CPU:$DAA2 PRG:5AA2 90 02 + inc EnemyHealth,x ; CPU:$DAA4 PRG:5AA4 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop687 +; Global: Branch target inside NmiHandler: taken when Loop687. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop687: + ldy Zp7B ; CPU:$DAA6 PRG:5AA6 A4 7B + dey ; CPU:$DAA8 PRG:5AA8 88 + dey ; CPU:$DAA9 PRG:5AA9 88 + tya ; CPU:$DAAA PRG:5AAA 98 + asl a ; CPU:$DAAB PRG:5AAB 0A + asl a ; CPU:$DAAC PRG:5AAC 0A + clc ; CPU:$DAAD PRG:5AAD 18 + adc Zp7A ; CPU:$DAAE PRG:5AAE 65 7A + tay ; CPU:$DAB0 PRG:5AB0 A8 + lda $CE85,y ; CPU:$DAB1 PRG:5AB1 B9 85 CE + sta ZpBC ; CPU:$DAB4 PRG:5AB4 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop688 +; Global: Branch target inside NmiHandler: taken when Loop688. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop688: + rts ; CPU:$DAB6 PRG:5AB6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAB7 +; Global: Branch target inside Sub: taken when DAB7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAB7: + lda #$80 ; CPU:$DAB7 PRG:5AB7 A9 80 + sta VramWritePtrLo ; CPU:$DAB9 PRG:5AB9 85 00 + lda ZpCE,x ; CPU:$DABB PRG:5ABB B5 CE + sta $04F6,x ; CPU:$DABD PRG:5ABD 9D F6 04 + lda EnemyHealth,x ; CPU:$DAC0 PRG:5AC0 B5 DF + sta $04FB,x ; CPU:$DAC2 PRG:5AC2 9D FB 04 + lda GameState,x ; CPU:$DAC5 PRG:5AC5 B5 C0 + bne NmiHandler_Loop689 ; CPU:$DAC7 PRG:5AC7 D0 0E + lda VramWritePtrLo ; CPU:$DAC9 PRG:5AC9 A5 00 + eor #$FF ; CPU:$DACB PRG:5ACB 49 FF + clc ; CPU:$DACD PRG:5ACD 18 + adc #$01 ; CPU:$DACE PRG:5ACE 69 01 + sta VramWritePtrLo ; CPU:$DAD0 PRG:5AD0 85 00 + bcs NmiHandler_Loop689 ; CPU:$DAD2 PRG:5AD2 B0 03 + dec $04FB,x ; CPU:$DAD4 PRG:5AD4 DE FB 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop689 +; Global: Branch target inside NmiHandler: taken when Loop689. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop689: + lda VramWritePtrLo ; CPU:$DAD7 PRG:5AD7 A5 00 + clc ; CPU:$DAD9 PRG:5AD9 18 + adc $04F6,x ; CPU:$DADA PRG:5ADA 7D F6 04 + sta $04F6,x ; CPU:$DADD PRG:5ADD 9D F6 04 + bcc NmiHandler_Loop690 ; CPU:$DAE0 PRG:5AE0 90 03 + inc $04FB,x ; CPU:$DAE2 PRG:5AE2 FE FB 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop690 +; Global: Branch target inside NmiHandler: taken when Loop690. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop690: + rts ; CPU:$DAE5 PRG:5AE5 60 +; ---- data $DAE6-$DAE9 (4 bytes) ---- +LevelSceneryPadding: + .byte $FF, $FF, $FF, $FF ; CPU:$DAE6 PRG:1AE6 FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero60: pha ; CPU:$DAEA PRG:5AEA 48 sta PPUADDR ; CPU:$DAEB PRG:5AEB 8D 06 20 iny ; CPU:$DAEE PRG:5AEE C8 - lda (Zp00),y ; CPU:$DAEF PRG:5AEF B1 00 + lda (VramWritePtrLo),y ; CPU:$DAEF PRG:5AEF B1 00 sta PPUADDR ; CPU:$DAF1 PRG:5AF1 8D 06 20 iny ; CPU:$DAF4 PRG:5AF4 C8 - lda (Zp00),y ; CPU:$DAF5 PRG:5AF5 B1 00 + lda (VramWritePtrLo),y ; CPU:$DAF5 PRG:5AF5 B1 00 asl a ; CPU:$DAF7 PRG:5AF7 0A pha ; CPU:$DAF8 PRG:5AF8 48 - lda Zp10 ; CPU:$DAF9 PRG:5AF9 A5 10 + lda PpuCtrlShadow ; CPU:$DAF9 PRG:5AF9 A5 10 ora #$04 ; CPU:$DAFB PRG:5AFB 09 04 - bcs NmiHandler_Loop18 ; CPU:$DAFD PRG:5AFD B0 02 + bcs NmiHandler_Loop691 ; CPU:$DAFD PRG:5AFD B0 02 and #$FB ; CPU:$DAFF PRG:5AFF 29 FB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. +; Routine: NmiHandler_Loop691 +; Global: Branch target inside NmiHandler: taken when Loop691. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop18: +NmiHandler_Loop691: sta PPUCTRL ; CPU:$DB01 PRG:5B01 8D 00 20 - sta Zp10 ; CPU:$DB04 PRG:5B04 85 10 + sta PpuCtrlShadow ; CPU:$DB04 PRG:5B04 85 10 pla ; CPU:$DB06 PRG:5B06 68 asl a ; CPU:$DB07 PRG:5B07 0A php ; CPU:$DB08 PRG:5B08 08 - bcc NmiHandler_Loop19 ; CPU:$DB09 PRG:5B09 90 03 + bcc NmiHandler_Loop692 ; CPU:$DB09 PRG:5B09 90 03 ora #$02 ; CPU:$DB0B PRG:5B0B 09 02 iny ; CPU:$DB0D PRG:5B0D C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop19 -; Global: Branch target inside NmiHandler: taken when Loop19. +; Routine: NmiHandler_Loop692 +; Global: Branch target inside NmiHandler: taken when Loop692. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop19: +NmiHandler_Loop692: plp ; CPU:$DB0E PRG:5B0E 28 clc ; CPU:$DB0F PRG:5B0F 18 - bne NmiHandler_Loop20 ; CPU:$DB10 PRG:5B10 D0 01 + bne NmiHandler_Loop693 ; CPU:$DB10 PRG:5B10 D0 01 sec ; CPU:$DB12 PRG:5B12 38 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop20 -; Global: Branch target inside NmiHandler: taken when Loop20. +; Routine: NmiHandler_Loop693 +; Global: Branch target inside NmiHandler: taken when Loop693. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop20: +NmiHandler_Loop693: ror a ; CPU:$DB13 PRG:5B13 6A lsr a ; CPU:$DB14 PRG:5B14 4A tax ; CPU:$DB15 PRG:5B15 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: - bcs NmiHandler_Loop21 ; CPU:$DB16 PRG:5B16 B0 01 +NmiHandler_OnNonzero61: + bcs NmiHandler_Loop694 ; CPU:$DB16 PRG:5B16 B0 01 iny ; CPU:$DB18 PRG:5B18 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop21 -; Global: Branch target inside NmiHandler: taken when Loop21. +; Routine: NmiHandler_Loop694 +; Global: Branch target inside NmiHandler: taken when Loop694. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop21: - lda (Zp00),y ; CPU:$DB19 PRG:5B19 B1 00 +NmiHandler_Loop694: + lda (VramWritePtrLo),y ; CPU:$DB19 PRG:5B19 B1 00 sta PPUDATA ; CPU:$DB1B PRG:5B1B 8D 07 20 dex ; CPU:$DB1E PRG:5B1E CA - bne NmiHandler_OnNonzero9 ; CPU:$DB1F PRG:5B1F D0 F5 + bne NmiHandler_OnNonzero61 ; CPU:$DB1F PRG:5B1F D0 F5 pla ; CPU:$DB21 PRG:5B21 68 cmp #$3F ; CPU:$DB22 PRG:5B22 C9 3F - bne NmiHandler_Loop22 ; CPU:$DB24 PRG:5B24 D0 0C + bne NmiHandler_Loop695 ; CPU:$DB24 PRG:5B24 D0 0C sta PPUADDR ; CPU:$DB26 PRG:5B26 8D 06 20 stx PPUADDR ; CPU:$DB29 PRG:5B29 8E 06 20 stx PPUADDR ; CPU:$DB2C PRG:5B2C 8E 06 20 stx PPUADDR ; CPU:$DB2F PRG:5B2F 8E 06 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop22 -; Global: Branch target inside NmiHandler: taken when Loop22. +; Routine: NmiHandler_Loop695 +; Global: Branch target inside NmiHandler: taken when Loop695. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop22: +NmiHandler_Loop695: sec ; CPU:$DB32 PRG:5B32 38 tya ; CPU:$DB33 PRG:5B33 98 - adc Zp00 ; CPU:$DB34 PRG:5B34 65 00 - sta Zp00 ; CPU:$DB36 PRG:5B36 85 00 + adc VramWritePtrLo ; CPU:$DB34 PRG:5B34 65 00 + sta VramWritePtrLo ; CPU:$DB36 PRG:5B36 85 00 lda #$00 ; CPU:$DB38 PRG:5B38 A9 00 - adc Zp01 ; CPU:$DB3A PRG:5B3A 65 01 - sta Zp01 ; CPU:$DB3C PRG:5B3C 85 01 + adc VramWritePtrHi ; CPU:$DB3A PRG:5B3A 65 01 + sta VramWritePtrHi ; CPU:$DB3C PRG:5B3C 85 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB3E ; Global: Branch target inside Sub: taken when DB3E. @@ -2358,11 +18009,14 @@ NmiHandler_Loop22: Sub_DB3E: ldx PPUSTATUS ; CPU:$DB3E PRG:5B3E AE 02 20 ldy #$00 ; CPU:$DB41 PRG:5B41 A0 00 - lda (Zp00),y ; CPU:$DB43 PRG:5B43 B1 00 - bne NmiHandler_OnNonzero8 ; CPU:$DB45 PRG:5B45 D0 A3 + lda (VramWritePtrLo),y ; CPU:$DB43 PRG:5B43 B1 00 + bne NmiHandler_OnNonzero60 ; CPU:$DB45 PRG:5B45 D0 A3 rts ; CPU:$DB47 PRG:5B47 60 ; ---- data $DB48-$F830 (7401 bytes) ---- - .byte $0F, $27, $3B, $08, $0F, $28, $19, $25, $0F, $17, $27, $30, $0F, $37, $0F, $16 ; CPU:$DB48 PRG:5B48 0F 27 3B 08 0F 28 19 25 0F 17 27 30 0F 37 0F 16 +; referenced by `lda $DBDC,y` at $8551 (operand $DBDC falls inside this region) +; referenced by `lda $DB48,y` at $8561 (operand $DB48 falls inside this region) +LevelGraphicData: + .byte $0F, $27, $3B, $08, $0F, $28, $19, $25, $0F, $17, $27, $30, $0F, $37, $0F, $16 ; CPU:$DB48 PRG:1B48 0F 27 3B 08 0F 28 19 25 0F 17 27 30 0F 37 0F 16 .byte $0F, $27, $0F, $16, $3F, $1C, $04, $22, $36, $39, $15, $00, $3F, $1C, $04, $22 ; CPU:$DB58 PRG:5B58 0F 27 0F 16 3F 1C 04 22 36 39 15 00 3F 1C 04 22 .byte $36, $18, $32, $00, $3F, $18, $08, $22, $27, $31, $14, $22, $27, $0F, $16, $00 ; CPU:$DB68 PRG:5B68 36 18 32 00 3F 18 08 22 27 31 14 22 27 0F 16 00 .byte $3F, $18, $04, $22, $27, $30, $18, $00, $3F, $1C, $04, $22, $36, $15, $07, $00 ; CPU:$DB78 PRG:5B78 3F 18 04 22 27 30 18 00 3F 1C 04 22 36 15 07 00 @@ -2870,30 +18524,30 @@ Sub_F852: Sub_F858: ldx #$00 ; CPU:$F858 PRG:7858 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero10: +NmiHandler_OnNonzero62: tay ; CPU:$F85A PRG:785A A8 lda $FF01,y ; CPU:$F85B PRG:785B B9 01 FF - beq NmiHandler_Loop23 ; CPU:$F85E PRG:785E F0 0B + beq NmiHandler_Loop696 ; CPU:$F85E PRG:785E F0 0B sta APUPULSE1TIMERLO,x ; CPU:$F860 PRG:7860 9D 02 40 lda $FF00,y ; CPU:$F863 PRG:7863 B9 00 FF ora #$08 ; CPU:$F866 PRG:7866 09 08 sta APUPULSE1TIMERHI,x ; CPU:$F868 PRG:7868 9D 03 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop696 +; Global: Branch target inside NmiHandler: taken when Loop696. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop696: rts ; CPU:$F86B PRG:786B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F86C @@ -2928,7 +18582,7 @@ Sub_F873: ; ----------------------------------------------------------------------------- Sub_F879: ldx #$04 ; CPU:$F879 PRG:7879 A2 04 - bne NmiHandler_OnNonzero10 ; CPU:$F87B PRG:787B D0 DD + bne NmiHandler_OnNonzero62 ; CPU:$F87B PRG:787B D0 DD ; ----------------------------------------------------------------------------- ; Routine: Sub_F87D ; Global: Branch target inside Sub: taken when F87D. @@ -2939,49 +18593,49 @@ Sub_F879: ; ----------------------------------------------------------------------------- Sub_F87D: ldx #$08 ; CPU:$F87D PRG:787D A2 08 - bne NmiHandler_OnNonzero10 ; CPU:$F87F PRG:787F D0 D9 -; ---- data $F881-$F886 (6 bytes) ---- - .byte $0B, $0B, $0C, $0C, $0D, $0D ; CPU:$F881 PRG:7881 0B 0B 0C 0C 0D 0D + bne NmiHandler_OnNonzero62 ; CPU:$F87F PRG:787F D0 D9 + .byte $0B, $0B ; CPU:$F881 PRG:7881 0B 0B -- anc #$0B (undocumented; ca65 cannot encode) + .byte $0C, $0C, $0D ; CPU:$F883 PRG:7883 0C 0C 0D -- nop $0D0C (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet -; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. -; Local: Part of NmiHandler. +; Routine: Label_F886 +; Global: Branch target inside Label: taken when F886. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet: - lda #$15 ; CPU:$F887 PRG:7887 A9 15 +Label_F886: + ora $15A9 ; CPU:$F886 PRG:7886 0D A9 15 sta ZpF6 ; CPU:$F889 PRG:7889 85 F6 lda #$1C ; CPU:$F88B PRG:788B A9 1C sta APUTRIANGLECTRL ; CPU:$F88D PRG:788D 8D 08 40 lda #$0A ; CPU:$F890 PRG:7890 A9 0A jsr Sub_F87D ; CPU:$F892 PRG:7892 20 7D F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet2 -; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Routine: NmiHandler_OnCarrySet6 +; Global: Branch target inside NmiHandler: taken when OnCarrySet6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet2: +NmiHandler_OnCarrySet6: ldy #$7F ; CPU:$F895 PRG:7895 A0 7F lda #$48 ; CPU:$F897 PRG:7897 A9 48 jsr Sub_F852 ; CPU:$F899 PRG:7899 20 52 F8 ldy ZpF6 ; CPU:$F89C PRG:789C A4 F6 lda $FFCD,y ; CPU:$F89E PRG:789E B9 CD FF sta APUPULSE1CTRL ; CPU:$F8A1 PRG:78A1 8D 00 40 - bne NmiHandler_Loop26 ; CPU:$F8A4 PRG:78A4 D0 36 + bne NmiHandler_Loop699 ; CPU:$F8A4 PRG:78A4 D0 36 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet3 -; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Routine: NmiHandler_OnCarrySet7 +; Global: Branch target inside NmiHandler: taken when OnCarrySet7. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet3: +NmiHandler_OnCarrySet7: lda #$0E ; CPU:$F8A6 PRG:78A6 A9 0E sta ZpF6 ; CPU:$F8A8 PRG:78A8 85 F6 ldy #$96 ; CPU:$F8AA PRG:78AA A0 96 @@ -2989,60 +18643,60 @@ NmiHandler_OnCarrySet3: lda #$30 ; CPU:$F8AE PRG:78AE A9 30 jsr Sub_F852 ; CPU:$F8B0 PRG:78B0 20 52 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet4 -; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Routine: NmiHandler_OnCarrySet8 +; Global: Branch target inside NmiHandler: taken when OnCarrySet8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet4: +NmiHandler_OnCarrySet8: ldy ZpF6 ; CPU:$F8B3 PRG:78B3 A4 F6 cpy #$0A ; CPU:$F8B5 PRG:78B5 C0 0A - beq NmiHandler_Loop24 ; CPU:$F8B7 PRG:78B7 F0 19 - bcc NmiHandler_Loop25 ; CPU:$F8B9 PRG:78B9 90 1C + beq NmiHandler_Loop697 ; CPU:$F8B7 PRG:78B7 F0 19 + bcc NmiHandler_Loop698 ; CPU:$F8B9 PRG:78B9 90 1C lda $07D8 ; CPU:$F8BB PRG:78BB AD D8 07 - bne NmiHandler_Loop26 ; CPU:$F8BE PRG:78BE D0 1C + bne NmiHandler_Loop699 ; CPU:$F8BE PRG:78BE D0 1C lda #$96 ; CPU:$F8C0 PRG:78C0 A9 96 sta APUNOISECTRL ; CPU:$F8C2 PRG:78C2 8D 0C 40 lda $F878,y ; CPU:$F8C5 PRG:78C5 B9 78 F8 sta APUNOISEPERIOD ; CPU:$F8C8 PRG:78C8 8D 0E 40 lda #$18 ; CPU:$F8CB PRG:78CB A9 18 sta APUNOISELENGTH ; CPU:$F8CD PRG:78CD 8D 0F 40 - bne NmiHandler_Loop26 ; CPU:$F8D0 PRG:78D0 D0 0A + bne NmiHandler_Loop699 ; CPU:$F8D0 PRG:78D0 D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. +; Routine: NmiHandler_Loop697 +; Global: Branch target inside NmiHandler: taken when Loop697. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop697: lda #$9A ; CPU:$F8D2 PRG:78D2 A9 9A sta APUPULSE1SWEEP ; CPU:$F8D4 PRG:78D4 8D 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. +; Routine: NmiHandler_Loop698 +; Global: Branch target inside NmiHandler: taken when Loop698. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop698: lda #$90 ; CPU:$F8D7 PRG:78D7 A9 90 sta APUNOISECTRL ; CPU:$F8D9 PRG:78D9 8D 0C 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. +; Routine: NmiHandler_Loop699 +; Global: Branch target inside NmiHandler: taken when Loop699. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: +NmiHandler_Loop699: dec ZpF6 ; CPU:$F8DC PRG:78DC C6 F6 - bne NmiHandler_Loop27 ; CPU:$F8DE PRG:78DE D0 0F + bne NmiHandler_Loop700 ; CPU:$F8DE PRG:78DE D0 0F lda #$00 ; CPU:$F8E0 PRG:78E0 A9 00 sta ZpF1 ; CPU:$F8E2 PRG:78E2 85 F1 sta APUTRIANGLECTRL ; CPU:$F8E4 PRG:78E4 8D 08 40 @@ -3059,14 +18713,14 @@ Sub_F8E7: sta APUPULSE1CTRL ; CPU:$F8E9 PRG:78E9 8D 00 40 sta APUNOISECTRL ; CPU:$F8EC PRG:78EC 8D 0C 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. +; Routine: NmiHandler_Loop700 +; Global: Branch target inside NmiHandler: taken when Loop700. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop700: rts ; CPU:$F8EF PRG:78EF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8F0 @@ -3078,50 +18732,50 @@ NmiHandler_Loop27: ; ----------------------------------------------------------------------------- Sub_F8F0: ldy ZpFF ; CPU:$F8F0 PRG:78F0 A4 FF - beq NmiHandler_Loop28 ; CPU:$F8F2 PRG:78F2 F0 0E + beq NmiHandler_Loop701 ; CPU:$F8F2 PRG:78F2 F0 0E sty ZpF1 ; CPU:$F8F4 PRG:78F4 84 F1 lsr ZpFF ; CPU:$F8F6 PRG:78F6 46 FF - bcs NmiHandler_OnCarrySet ; CPU:$F8F8 PRG:78F8 B0 8D + .byte $B0, $8D ; CPU:$F8F8 PRG:78F8 B0 8D lsr ZpFF ; CPU:$F8FA PRG:78FA 46 FF - bcs NmiHandler_OnCarrySet3 ; CPU:$F8FC PRG:78FC B0 A8 + bcs NmiHandler_OnCarrySet7 ; CPU:$F8FC PRG:78FC B0 A8 lsr ZpFF ; CPU:$F8FE PRG:78FE 46 FF - bcs NmiHandler_Loop30 ; CPU:$F900 PRG:7900 B0 0E + bcs NmiHandler_Loop703 ; CPU:$F900 PRG:7900 B0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside NmiHandler: taken when Loop28. +; Routine: NmiHandler_Loop701 +; Global: Branch target inside NmiHandler: taken when Loop701. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: +NmiHandler_Loop701: lda ZpF1 ; CPU:$F902 PRG:7902 A5 F1 - beq NmiHandler_Loop29 ; CPU:$F904 PRG:7904 F0 09 + beq NmiHandler_Loop702 ; CPU:$F904 PRG:7904 F0 09 lsr a ; CPU:$F906 PRG:7906 4A - bcs NmiHandler_OnCarrySet2 ; CPU:$F907 PRG:7907 B0 8C + bcs NmiHandler_OnCarrySet6 ; CPU:$F907 PRG:7907 B0 8C lsr a ; CPU:$F909 PRG:7909 4A - bcs NmiHandler_OnCarrySet4 ; CPU:$F90A PRG:790A B0 A7 + bcs NmiHandler_OnCarrySet8 ; CPU:$F90A PRG:790A B0 A7 lsr a ; CPU:$F90C PRG:790C 4A - bcs NmiHandler_Loop31 ; CPU:$F90D PRG:790D B0 0E + bcs NmiHandler_Loop704 ; CPU:$F90D PRG:790D B0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop702 +; Global: Branch target inside NmiHandler: taken when Loop702. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop702: rts ; CPU:$F90F PRG:790F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop703 +; Global: Branch target inside NmiHandler: taken when Loop703. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop703: lda #$05 ; CPU:$F910 PRG:7910 A9 05 sta ZpF6 ; CPU:$F912 PRG:7912 85 F6 ldy #$9D ; CPU:$F914 PRG:7914 A0 9D @@ -3129,38 +18783,38 @@ NmiHandler_Loop30: lda #$00 ; CPU:$F918 PRG:7918 A9 00 jsr Sub_F852 ; CPU:$F91A PRG:791A 20 52 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. +; Routine: NmiHandler_Loop704 +; Global: Branch target inside NmiHandler: taken when Loop704. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: +NmiHandler_Loop704: lda ZpF6 ; CPU:$F91D PRG:791D A5 F6 cmp #$03 ; CPU:$F91F PRG:791F C9 03 - bne NmiHandler_Loop32 ; CPU:$F921 PRG:7921 D0 05 + bne NmiHandler_Loop705 ; CPU:$F921 PRG:7921 D0 05 lda #$93 ; CPU:$F923 PRG:7923 A9 93 sta APUPULSE1SWEEP ; CPU:$F925 PRG:7925 8D 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. +; Routine: NmiHandler_Loop705 +; Global: Branch target inside NmiHandler: taken when Loop705. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: - bne NmiHandler_Loop26 ; CPU:$F928 PRG:7928 D0 B2 +NmiHandler_Loop705: + bne NmiHandler_Loop699 ; CPU:$F928 PRG:7928 D0 B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet5 -; Global: Branch target inside NmiHandler: taken when OnCarrySet5. +; Routine: NmiHandler_OnCarrySet9 +; Global: Branch target inside NmiHandler: taken when OnCarrySet9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet5: +NmiHandler_OnCarrySet9: sty ZpF2 ; CPU:$F92A PRG:792A 84 F2 lda #$36 ; CPU:$F92C PRG:792C A9 36 sta $07E3 ; CPU:$F92E PRG:792E 8D E3 07 @@ -3169,38 +18823,38 @@ NmiHandler_OnCarrySet5: lda #$28 ; CPU:$F935 PRG:7935 A9 28 jsr Sub_F873 ; CPU:$F937 PRG:7937 20 73 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet6 -; Global: Branch target inside NmiHandler: taken when OnCarrySet6. +; Routine: NmiHandler_OnCarrySet10 +; Global: Branch target inside NmiHandler: taken when OnCarrySet10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet6: +NmiHandler_OnCarrySet10: lda $07E3 ; CPU:$F93A PRG:793A AD E3 07 cmp #$18 ; CPU:$F93D PRG:793D C9 18 - bne NmiHandler_Loop33 ; CPU:$F93F PRG:793F D0 05 + bne NmiHandler_Loop706 ; CPU:$F93F PRG:793F D0 05 lda #$20 ; CPU:$F941 PRG:7941 A9 20 jsr Sub_F879 ; CPU:$F943 PRG:7943 20 79 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. +; Routine: NmiHandler_Loop706 +; Global: Branch target inside NmiHandler: taken when Loop706. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: - bne NmiHandler_OnCarrySet8 ; CPU:$F946 PRG:7946 D0 10 +NmiHandler_Loop706: + bne NmiHandler_OnCarrySet12 ; CPU:$F946 PRG:7946 D0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet7 -; Global: Branch target inside NmiHandler: taken when OnCarrySet7. +; Routine: NmiHandler_OnCarrySet11 +; Global: Branch target inside NmiHandler: taken when OnCarrySet11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet7: +NmiHandler_OnCarrySet11: sty ZpF2 ; CPU:$F948 PRG:7948 84 F2 lda #$08 ; CPU:$F94A PRG:794A A9 08 sta $07E3 ; CPU:$F94C PRG:794C 8D E3 07 @@ -3209,29 +18863,29 @@ NmiHandler_OnCarrySet7: lda #$1C ; CPU:$F953 PRG:7953 A9 1C jsr Sub_F873 ; CPU:$F955 PRG:7955 20 73 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet8 -; Global: Branch target inside NmiHandler: taken when OnCarrySet8. +; Routine: NmiHandler_OnCarrySet12 +; Global: Branch target inside NmiHandler: taken when OnCarrySet12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet8: +NmiHandler_OnCarrySet12: dec $07E3 ; CPU:$F958 PRG:7958 CE E3 07 - bne NmiHandler_Loop34 ; CPU:$F95B PRG:795B D0 09 + bne NmiHandler_Loop707 ; CPU:$F95B PRG:795B D0 09 lda #$00 ; CPU:$F95D PRG:795D A9 00 sta ZpF2 ; CPU:$F95F PRG:795F 85 F2 lda #$90 ; CPU:$F961 PRG:7961 A9 90 sta APUPULSE2CTRL ; CPU:$F963 PRG:7963 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. +; Routine: NmiHandler_Loop707 +; Global: Branch target inside NmiHandler: taken when Loop707. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: +NmiHandler_Loop707: rts ; CPU:$F966 PRG:7966 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F967 @@ -3244,26 +18898,26 @@ NmiHandler_Loop34: Sub_F967: ldy ZpFE ; CPU:$F967 PRG:7967 A4 FE cpy #$04 ; CPU:$F969 PRG:7969 C0 04 - beq NmiHandler_Loop35 ; CPU:$F96B PRG:796B F0 11 + beq NmiHandler_Loop708 ; CPU:$F96B PRG:796B F0 11 lda ZpF2 ; CPU:$F96D PRG:796D A5 F2 lsr a ; CPU:$F96F PRG:796F 4A - bcs NmiHandler_OnCarrySet6 ; CPU:$F970 PRG:7970 B0 C8 + bcs NmiHandler_OnCarrySet10 ; CPU:$F970 PRG:7970 B0 C8 lsr ZpFE ; CPU:$F972 PRG:7972 46 FE - bcs NmiHandler_OnCarrySet5 ; CPU:$F974 PRG:7974 B0 B4 + bcs NmiHandler_OnCarrySet9 ; CPU:$F974 PRG:7974 B0 B4 lsr ZpFE ; CPU:$F976 PRG:7976 46 FE - bcs NmiHandler_OnCarrySet7 ; CPU:$F978 PRG:7978 B0 CE + bcs NmiHandler_OnCarrySet11 ; CPU:$F978 PRG:7978 B0 CE lsr a ; CPU:$F97A PRG:797A 4A - bcs NmiHandler_OnCarrySet8 ; CPU:$F97B PRG:797B B0 DB + bcs NmiHandler_OnCarrySet12 ; CPU:$F97B PRG:797B B0 DB rts ; CPU:$F97D PRG:797D 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. +; Routine: NmiHandler_Loop708 +; Global: Branch target inside NmiHandler: taken when Loop708. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: +NmiHandler_Loop708: jmp Sub_FBC2 ; CPU:$F97E PRG:797E 4C C2 FB ; ---- data $F981-$F9B8 (56 bytes) ---- ; referenced by `ldx $F98D,y` at $F9C1 (operand $F98D falls inside this region) @@ -3271,67 +18925,68 @@ NmiHandler_Loop35: ; referenced by `lda $F99A,y` at $F9D4 (operand $F99A falls inside this region) ; referenced by `ldx $F9B3,y` at $FA0A (operand $F9B3 falls inside this region) ; referenced by `lda $F9AE,y` at $FA0D (operand $F9AE falls inside this region) - .byte $11, $12, $13, $15, $17, $19, $1A, $1B, $1D, $1E, $1E, $1F, $1F, $0F, $0F, $0E ; CPU:$F981 PRG:7981 11 12 13 15 17 19 1A 1B 1D 1E 1E 1F 1F 0F 0F 0E +EnemyMovementSpeedTable: + .byte $11, $12, $13, $15, $17, $19, $1A, $1B, $1D, $1E, $1E, $1F, $1F, $0F, $0F, $0E ; CPU:$F981 PRG:3981 11 12 13 15 17 19 1A 1B 1D 1E 1E 1F 1F 0F 0F 0E .byte $0E, $0D, $0D, $0C, $0C, $0B, $0B, $0B, $0A, $0A, $17, $19, $1B, $1D, $1F, $1C ; CPU:$F991 PRG:7991 0E 0D 0D 0C 0C 0B 0B 0B 0A 0A 17 19 1B 1D 1F 1C .byte $1A, $18, $1C, $1B, $06, $06, $06, $07, $08, $09, $0A, $0A, $0B, $0B, $1F, $1F ; CPU:$F9A1 PRG:79A1 1A 18 1C 1B 06 06 06 07 08 09 0A 0A 0B 0B 1F 1F .byte $19, $16, $13, $0B, $09, $0D, $0E, $0F ; CPU:$F9B1 PRG:79B1 19 16 13 0B 09 0D 0E 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet9 -; Global: Branch target inside NmiHandler: taken when OnCarrySet9. +; Routine: NmiHandler_OnCarrySet13 +; Global: Branch target inside NmiHandler: taken when OnCarrySet13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet9: +NmiHandler_OnCarrySet13: lda #$0C ; CPU:$F9B9 PRG:79B9 A9 0C sta $07E9 ; CPU:$F9BB PRG:79BB 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet10 -; Global: Branch target inside NmiHandler: taken when OnCarrySet10. +; Routine: NmiHandler_OnCarrySet14 +; Global: Branch target inside NmiHandler: taken when OnCarrySet14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet10: +NmiHandler_OnCarrySet14: ldy $07E9 ; CPU:$F9BE PRG:79BE AC E9 07 ldx $F98D,y ; CPU:$F9C1 PRG:79C1 BE 8D F9 lda $F980,y ; CPU:$F9C4 PRG:79C4 B9 80 F9 - bne NmiHandler_Loop36 ; CPU:$F9C7 PRG:79C7 D0 0E + bne NmiHandler_Loop709 ; CPU:$F9C7 PRG:79C7 D0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet11 -; Global: Branch target inside NmiHandler: taken when OnCarrySet11. +; Routine: NmiHandler_OnCarrySet15 +; Global: Branch target inside NmiHandler: taken when OnCarrySet15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet11: +NmiHandler_OnCarrySet15: lda #$0A ; CPU:$F9C9 PRG:79C9 A9 0A sta $07E9 ; CPU:$F9CB PRG:79CB 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet12 -; Global: Branch target inside NmiHandler: taken when OnCarrySet12. +; Routine: NmiHandler_OnCarrySet16 +; Global: Branch target inside NmiHandler: taken when OnCarrySet16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet12: +NmiHandler_OnCarrySet16: ldy $07E9 ; CPU:$F9CE PRG:79CE AC E9 07 ldx $F9A4,y ; CPU:$F9D1 PRG:79D1 BE A4 F9 lda $F99A,y ; CPU:$F9D4 PRG:79D4 B9 9A F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside NmiHandler: taken when Loop36. +; Routine: NmiHandler_Loop709 +; Global: Branch target inside NmiHandler: taken when Loop709. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: - bne NmiHandler_Loop41 ; CPU:$F9D7 PRG:79D7 D0 37 +NmiHandler_Loop709: + bne NmiHandler_Loop714 ; CPU:$F9D7 PRG:79D7 D0 37 ; ----------------------------------------------------------------------------- ; Routine: Sub_F9D9 ; Global: Branch target inside Sub: taken when F9D9. @@ -3342,128 +18997,128 @@ NmiHandler_Loop36: ; ----------------------------------------------------------------------------- Sub_F9D9: ldy ZpFC ; CPU:$F9D9 PRG:79D9 A4 FC - beq NmiHandler_Loop37 ; CPU:$F9DB PRG:79DB F0 13 + beq NmiHandler_Loop710 ; CPU:$F9DB PRG:79DB F0 13 sty $07D8 ; CPU:$F9DD PRG:79DD 8C D8 07 lsr ZpFC ; CPU:$F9E0 PRG:79E0 46 FC - bcs NmiHandler_OnCarrySet9 ; CPU:$F9E2 PRG:79E2 B0 D5 + bcs NmiHandler_OnCarrySet13 ; CPU:$F9E2 PRG:79E2 B0 D5 lsr ZpFC ; CPU:$F9E4 PRG:79E4 46 FC - bcs NmiHandler_OnCarrySet11 ; CPU:$F9E6 PRG:79E6 B0 E1 + bcs NmiHandler_OnCarrySet15 ; CPU:$F9E6 PRG:79E6 B0 E1 lsr ZpFC ; CPU:$F9E8 PRG:79E8 46 FC - bcs NmiHandler_Loop39 ; CPU:$F9EA PRG:79EA B0 16 + bcs NmiHandler_Loop712 ; CPU:$F9EA PRG:79EA B0 16 lsr ZpFC ; CPU:$F9EC PRG:79EC 46 FC - bcs NmiHandler_Loop42 ; CPU:$F9EE PRG:79EE B0 22 + bcs NmiHandler_Loop715 ; CPU:$F9EE PRG:79EE B0 22 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop710 +; Global: Branch target inside NmiHandler: taken when Loop710. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop710: lda $07D8 ; CPU:$F9F0 PRG:79F0 AD D8 07 - beq NmiHandler_Loop38 ; CPU:$F9F3 PRG:79F3 F0 0C + beq NmiHandler_Loop711 ; CPU:$F9F3 PRG:79F3 F0 0C lsr a ; CPU:$F9F5 PRG:79F5 4A - bcs NmiHandler_OnCarrySet10 ; CPU:$F9F6 PRG:79F6 B0 C6 + bcs NmiHandler_OnCarrySet14 ; CPU:$F9F6 PRG:79F6 B0 C6 lsr a ; CPU:$F9F8 PRG:79F8 4A - bcs NmiHandler_OnCarrySet12 ; CPU:$F9F9 PRG:79F9 B0 D3 + bcs NmiHandler_OnCarrySet16 ; CPU:$F9F9 PRG:79F9 B0 D3 lsr a ; CPU:$F9FB PRG:79FB 4A - bcs NmiHandler_Loop40 ; CPU:$F9FC PRG:79FC B0 09 + bcs NmiHandler_Loop713 ; CPU:$F9FC PRG:79FC B0 09 lsr a ; CPU:$F9FE PRG:79FE 4A - bcs NmiHandler_Loop44 ; CPU:$F9FF PRG:79FF B0 25 + bcs NmiHandler_Loop717 ; CPU:$F9FF PRG:79FF B0 25 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop711 +; Global: Branch target inside NmiHandler: taken when Loop711. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop711: rts ; CPU:$FA01 PRG:7A01 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop712 +; Global: Branch target inside NmiHandler: taken when Loop712. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop712: lda #$05 ; CPU:$FA02 PRG:7A02 A9 05 sta $07E9 ; CPU:$FA04 PRG:7A04 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop713 +; Global: Branch target inside NmiHandler: taken when Loop713. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop713: ldy $07E9 ; CPU:$FA07 PRG:7A07 AC E9 07 ldx $F9B3,y ; CPU:$FA0A PRG:7A0A BE B3 F9 lda $F9AE,y ; CPU:$FA0D PRG:7A0D B9 AE F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop714 +; Global: Branch target inside NmiHandler: taken when Loop714. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: - bne NmiHandler_Loop43 ; CPU:$FA10 PRG:7A10 D0 09 +NmiHandler_Loop714: + bne NmiHandler_Loop716 ; CPU:$FA10 PRG:7A10 D0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop715 +; Global: Branch target inside NmiHandler: taken when Loop715. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: +NmiHandler_Loop715: lda #$03 ; CPU:$FA12 PRG:7A12 A9 03 sta $07E9 ; CPU:$FA14 PRG:7A14 8D E9 07 ldx #$0C ; CPU:$FA17 PRG:7A17 A2 0C lda #$3F ; CPU:$FA19 PRG:7A19 A9 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop716 +; Global: Branch target inside NmiHandler: taken when Loop716. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop716: sta APUNOISECTRL ; CPU:$FA1B PRG:7A1B 8D 0C 40 stx APUNOISEPERIOD ; CPU:$FA1E PRG:7A1E 8E 0E 40 lda #$18 ; CPU:$FA21 PRG:7A21 A9 18 sta APUNOISELENGTH ; CPU:$FA23 PRG:7A23 8D 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop717 +; Global: Branch target inside NmiHandler: taken when Loop717. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop717: dec $07E9 ; CPU:$FA26 PRG:7A26 CE E9 07 - bne NmiHandler_Loop45 ; CPU:$FA29 PRG:7A29 D0 0A + bne NmiHandler_Loop718 ; CPU:$FA29 PRG:7A29 D0 0A lda #$F0 ; CPU:$FA2B PRG:7A2B A9 F0 sta APUNOISECTRL ; CPU:$FA2D PRG:7A2D 8D 0C 40 lda #$00 ; CPU:$FA30 PRG:7A30 A9 00 sta $07D8 ; CPU:$FA32 PRG:7A32 8D D8 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop718 +; Global: Branch target inside NmiHandler: taken when Loop718. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop718: rts ; CPU:$FA35 PRG:7A35 60 ; ---- data $FA36-$FA89 (84 bytes) ---- ; referenced by `lda $FA43,y` at $FAAF (operand $FA43 falls inside this region) @@ -3473,7 +19128,8 @@ NmiHandler_Loop45: ; referenced by `lda $FA4A,y` at $FAC7 (operand $FA4A falls inside this region) ; referenced by `lda $FA6D,y` at $FACD (operand $FA6D falls inside this region) ; ... and 5 further references from decoded code - .byte $09, $08, $09, $08, $07, $06, $05, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0A, $0E ; CPU:$FA36 PRG:7A36 09 08 09 08 07 06 05 0C 0C 0D 0D 0D 0D 0D 0A 0E +EnemyMovementDeltaTable: + .byte $09, $08, $09, $08, $07, $06, $05, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0A, $0E ; CPU:$FA36 PRG:3A36 09 08 09 08 07 06 05 0C 0C 0D 0D 0D 0D 0D 0A 0E .byte $0F, $11, $11, $14, $17, $08, $08, $08, $09, $08, $07, $05, $0B, $0B, $0B, $0C ; CPU:$FA46 PRG:7A46 0F 11 11 14 17 08 08 08 09 08 07 05 0B 0B 0B 0C .byte $0C, $0C, $0D, $0D, $0E, $0F, $12, $13, $14, $15, $09, $08, $09, $08, $07, $06 ; CPU:$FA56 PRG:7A56 0C 0C 0D 0D 0E 0F 12 13 14 15 09 08 09 08 07 06 .byte $05, $0B, $0B, $0C, $0C, $0C, $0C, $0C, $0E, $10, $11, $13, $13, $16, $19, $09 ; CPU:$FA66 PRG:7A66 05 0B 0B 0C 0C 0C 0C 0C 0E 10 11 13 13 16 19 09 @@ -3489,197 +19145,197 @@ NmiHandler_Loop45: ; ----------------------------------------------------------------------------- Sub_FA8A: lda $07D9 ; CPU:$FA8A PRG:7A8A AD D9 07 - beq NmiHandler_Loop52 ; CPU:$FA8D PRG:7A8D F0 67 + beq NmiHandler_Loop725 ; CPU:$FA8D PRG:7A8D F0 67 cmp #$08 ; CPU:$FA8F PRG:7A8F C9 08 - beq NmiHandler_Loop49 ; CPU:$FA91 PRG:7A91 F0 58 + beq NmiHandler_Loop722 ; CPU:$FA91 PRG:7A91 F0 58 dec $07DA ; CPU:$FA93 PRG:7A93 CE DA 07 - bne NmiHandler_Loop51 ; CPU:$FA96 PRG:7A96 D0 5D + bne NmiHandler_Loop724 ; CPU:$FA96 PRG:7A96 D0 5D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero63: dec $07EB ; CPU:$FA98 PRG:7A98 CE EB 07 - beq NmiHandler_Loop50 ; CPU:$FA9B PRG:7A9B F0 53 + beq NmiHandler_Loop723 ; CPU:$FA9B PRG:7A9B F0 53 ldy $07EB ; CPU:$FA9D PRG:7A9D AC EB 07 lda $07D9 ; CPU:$FAA0 PRG:7AA0 AD D9 07 cmp #$80 ; CPU:$FAA3 PRG:7AA3 C9 80 - beq NmiHandler_Loop48 ; CPU:$FAA5 PRG:7AA5 F0 35 + beq NmiHandler_Loop721 ; CPU:$FAA5 PRG:7AA5 F0 35 cmp #$40 ; CPU:$FAA7 PRG:7AA7 C9 40 - beq NmiHandler_Loop47 ; CPU:$FAA9 PRG:7AA9 F0 22 + beq NmiHandler_Loop720 ; CPU:$FAA9 PRG:7AA9 F0 22 cmp #$20 ; CPU:$FAAB PRG:7AAB C9 20 - beq NmiHandler_Loop46 ; CPU:$FAAD PRG:7AAD F0 0F + beq NmiHandler_Loop719 ; CPU:$FAAD PRG:7AAD F0 0F lda $FA43,y ; CPU:$FAAF PRG:7AAF B9 43 FA sta $07DA ; CPU:$FAB2 PRG:7AB2 8D DA 07 ldx $FA3C,y ; CPU:$FAB5 PRG:7AB5 BE 3C FA lda $FA35,y ; CPU:$FAB8 PRG:7AB8 B9 35 FA tay ; CPU:$FABB PRG:7ABB A8 - bne NmiHandler_Loop57 ; CPU:$FABC PRG:7ABC D0 64 + bne NmiHandler_Loop730 ; CPU:$FABC PRG:7ABC D0 64 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop719 +; Global: Branch target inside NmiHandler: taken when Loop719. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop719: lda $FA58,y ; CPU:$FABE PRG:7ABE B9 58 FA sta $07DA ; CPU:$FAC1 PRG:7AC1 8D DA 07 ldx $FA51,y ; CPU:$FAC4 PRG:7AC4 BE 51 FA lda $FA4A,y ; CPU:$FAC7 PRG:7AC7 B9 4A FA tay ; CPU:$FACA PRG:7ACA A8 - bne NmiHandler_Loop57 ; CPU:$FACB PRG:7ACB D0 55 + bne NmiHandler_Loop730 ; CPU:$FACB PRG:7ACB D0 55 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop720 +; Global: Branch target inside NmiHandler: taken when Loop720. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop720: lda $FA6D,y ; CPU:$FACD PRG:7ACD B9 6D FA sta $07DA ; CPU:$FAD0 PRG:7AD0 8D DA 07 ldx $FA66,y ; CPU:$FAD3 PRG:7AD3 BE 66 FA lda $FA5F,y ; CPU:$FAD6 PRG:7AD6 B9 5F FA tay ; CPU:$FAD9 PRG:7AD9 A8 - bne NmiHandler_Loop57 ; CPU:$FADA PRG:7ADA D0 46 + bne NmiHandler_Loop730 ; CPU:$FADA PRG:7ADA D0 46 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop721 +; Global: Branch target inside NmiHandler: taken when Loop721. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop721: lda $FA82,y ; CPU:$FADC PRG:7ADC B9 82 FA sta $07DA ; CPU:$FADF PRG:7ADF 8D DA 07 ldx $FA7B,y ; CPU:$FAE2 PRG:7AE2 BE 7B FA lda $FA74,y ; CPU:$FAE5 PRG:7AE5 B9 74 FA tay ; CPU:$FAE8 PRG:7AE8 A8 - bne NmiHandler_Loop57 ; CPU:$FAE9 PRG:7AE9 D0 37 + bne NmiHandler_Loop730 ; CPU:$FAE9 PRG:7AE9 D0 37 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop722 +; Global: Branch target inside NmiHandler: taken when Loop722. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: +NmiHandler_Loop722: dec $07DA ; CPU:$FAEB PRG:7AEB CE DA 07 - bne NmiHandler_Loop51 ; CPU:$FAEE PRG:7AEE D0 05 + bne NmiHandler_Loop724 ; CPU:$FAEE PRG:7AEE D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop723 +; Global: Branch target inside NmiHandler: taken when Loop723. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop723: lda #$00 ; CPU:$FAF0 PRG:7AF0 A9 00 sta $07D9 ; CPU:$FAF2 PRG:7AF2 8D D9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop724 +; Global: Branch target inside NmiHandler: taken when Loop724. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop724: rts ; CPU:$FAF5 PRG:7AF5 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. +; Routine: NmiHandler_Loop725 +; Global: Branch target inside NmiHandler: taken when Loop725. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: +NmiHandler_Loop725: lda ZpFD ; CPU:$FAF6 PRG:7AF6 A5 FD - beq NmiHandler_Loop58 ; CPU:$FAF8 PRG:7AF8 F0 41 + beq NmiHandler_Loop731 ; CPU:$FAF8 PRG:7AF8 F0 41 cmp #$20 ; CPU:$FAFA PRG:7AFA C9 20 - bne NmiHandler_Loop53 ; CPU:$FAFC PRG:7AFC D0 04 + bne NmiHandler_Loop726 ; CPU:$FAFC PRG:7AFC D0 04 ldy #$0A ; CPU:$FAFE PRG:7AFE A0 0A - bne NmiHandler_Loop56 ; CPU:$FB00 PRG:7B00 D0 1E + bne NmiHandler_Loop729 ; CPU:$FB00 PRG:7B00 D0 1E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop726 +; Global: Branch target inside NmiHandler: taken when Loop726. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop726: cmp #$08 ; CPU:$FB02 PRG:7B02 C9 08 - beq NmiHandler_Loop54 ; CPU:$FB04 PRG:7B04 F0 0C - bcc NmiHandler_Loop55 ; CPU:$FB06 PRG:7B06 90 12 + beq NmiHandler_Loop727 ; CPU:$FB04 PRG:7B04 F0 0C + bcc NmiHandler_Loop728 ; CPU:$FB06 PRG:7B06 90 12 sta $07D9 ; CPU:$FB08 PRG:7B08 8D D9 07 ldx #$08 ; CPU:$FB0B PRG:7B0B A2 08 stx $07EB ; CPU:$FB0D PRG:7B0D 8E EB 07 - bne NmiHandler_OnNonzero11 ; CPU:$FB10 PRG:7B10 D0 86 + bne NmiHandler_OnNonzero63 ; CPU:$FB10 PRG:7B10 D0 86 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. +; Routine: NmiHandler_Loop727 +; Global: Branch target inside NmiHandler: taken when Loop727. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop727: sta $07D9 ; CPU:$FB12 PRG:7B12 8D D9 07 ldx #$3A ; CPU:$FB15 PRG:7B15 A2 3A stx $07DA ; CPU:$FB17 PRG:7B17 8E DA 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. +; Routine: NmiHandler_Loop728 +; Global: Branch target inside NmiHandler: taken when Loop728. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop728: ldy #$00 ; CPU:$FB1A PRG:7B1A A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear -; Global: Branch target inside NmiHandler: taken when the addition or subtraction did not carry. +; Routine: NmiHandler_OnCarryClear8 +; Global: Branch target inside NmiHandler: taken when OnCarryClear8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear: +NmiHandler_OnCarryClear8: iny ; CPU:$FB1C PRG:7B1C C8 lsr a ; CPU:$FB1D PRG:7B1D 4A - bcc NmiHandler_OnCarryClear ; CPU:$FB1E PRG:7B1E 90 FC + bcc NmiHandler_OnCarryClear8 ; CPU:$FB1E PRG:7B1E 90 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. +; Routine: NmiHandler_Loop729 +; Global: Branch target inside NmiHandler: taken when Loop729. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: +NmiHandler_Loop729: ldx #$0F ; CPU:$FB20 PRG:7B20 A2 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. +; Routine: NmiHandler_Loop730 +; Global: Branch target inside NmiHandler: taken when Loop730. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop730: stx APUDMCCTRL ; CPU:$FB22 PRG:7B22 8E 10 40 lda $FFE2,y ; CPU:$FB25 PRG:7B25 B9 E2 FF sta APUDMCADDR ; CPU:$FB28 PRG:7B28 8D 12 40 @@ -3690,14 +19346,14 @@ NmiHandler_Loop57: lda #$1F ; CPU:$FB36 PRG:7B36 A9 1F sta APUSTATUS ; CPU:$FB38 PRG:7B38 8D 15 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. +; Routine: NmiHandler_Loop731 +; Global: Branch target inside NmiHandler: taken when Loop731. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: +NmiHandler_Loop731: rts ; CPU:$FB3B PRG:7B3B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FB3C @@ -3709,94 +19365,94 @@ NmiHandler_Loop58: ; ----------------------------------------------------------------------------- Sub_FB3C: lda ZpFB ; CPU:$FB3C PRG:7B3C A5 FB - bne NmiHandler_Loop59 ; CPU:$FB3E PRG:7B3E D0 05 + bne NmiHandler_Loop732 ; CPU:$FB3E PRG:7B3E D0 05 lda ZpF5 ; CPU:$FB40 PRG:7B40 A5 F5 - bne NmiHandler_Loop63 ; CPU:$FB42 PRG:7B42 D0 61 + bne NmiHandler_Loop736 ; CPU:$FB42 PRG:7B42 D0 61 rts ; CPU:$FB44 PRG:7B44 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. +; Routine: NmiHandler_Loop732 +; Global: Branch target inside NmiHandler: taken when Loop732. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop732: cmp #$40 ; CPU:$FB45 PRG:7B45 C9 40 - bne NmiHandler_Loop60 ; CPU:$FB47 PRG:7B47 D0 04 + bne NmiHandler_Loop733 ; CPU:$FB47 PRG:7B47 D0 04 ldy ZpF5 ; CPU:$FB49 PRG:7B49 A4 F5 sty ZpF3 ; CPU:$FB4B PRG:7B4B 84 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop733 +; Global: Branch target inside NmiHandler: taken when Loop733. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop733: cmp #$01 ; CPU:$FB4D PRG:7B4D C9 01 - bne NmiHandler_OnNonzero12 ; CPU:$FB4F PRG:7B4F D0 05 + bne NmiHandler_OnNonzero64 ; CPU:$FB4F PRG:7B4F D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero -; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Routine: NmiHandler_OnZero18 +; Global: Branch target inside NmiHandler: taken when OnZero18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero: +NmiHandler_OnZero18: ldy #$08 ; CPU:$FB51 PRG:7B51 A0 08 sty $07E8 ; CPU:$FB53 PRG:7B53 8C E8 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero64 +; Global: Branch target inside NmiHandler: taken when OnNonzero64. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: +NmiHandler_OnNonzero64: sta ZpF5 ; CPU:$FB56 PRG:7B56 85 F5 cmp #$01 ; CPU:$FB58 PRG:7B58 C9 01 - bne NmiHandler_Loop61 ; CPU:$FB5A PRG:7B5A D0 0C + bne NmiHandler_Loop734 ; CPU:$FB5A PRG:7B5A D0 0C inc $07E8 ; CPU:$FB5C PRG:7B5C EE E8 07 ldy $07E8 ; CPU:$FB5F PRG:7B5F AC E8 07 cpy #$13 ; CPU:$FB62 PRG:7B62 C0 13 - bne NmiHandler_Loop62 ; CPU:$FB64 PRG:7B64 D0 0A - beq NmiHandler_OnZero ; CPU:$FB66 PRG:7B66 F0 E9 + bne NmiHandler_Loop735 ; CPU:$FB64 PRG:7B64 D0 0A + beq NmiHandler_OnZero18 ; CPU:$FB66 PRG:7B66 F0 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop734 +; Global: Branch target inside NmiHandler: taken when Loop734. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop734: ldy #$00 ; CPU:$FB68 PRG:7B68 A0 00 sty ZpF0 ; CPU:$FB6A PRG:7B6A 84 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear2 -; Global: Branch target inside NmiHandler: taken when OnCarryClear2. +; Routine: NmiHandler_OnCarryClear9 +; Global: Branch target inside NmiHandler: taken when OnCarryClear9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear2: +NmiHandler_OnCarryClear9: iny ; CPU:$FB6C PRG:7B6C C8 lsr a ; CPU:$FB6D PRG:7B6D 4A - bcc NmiHandler_OnCarryClear2 ; CPU:$FB6E PRG:7B6E 90 FC + bcc NmiHandler_OnCarryClear9 ; CPU:$FB6E PRG:7B6E 90 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop735 +; Global: Branch target inside NmiHandler: taken when Loop735. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: +NmiHandler_Loop735: lda $FCE8,y ; CPU:$FB70 PRG:7B70 B9 E8 FC tay ; CPU:$FB73 PRG:7B73 A8 lda $FCE9,y ; CPU:$FB74 PRG:7B74 B9 E9 FC @@ -3819,46 +19475,46 @@ NmiHandler_Loop62: lda #$00 ; CPU:$FBA1 PRG:7BA1 A9 00 sta ZpF0 ; CPU:$FBA3 PRG:7BA3 85 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop736 +; Global: Branch target inside NmiHandler: taken when Loop736. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop736: dec $07C2 ; CPU:$FBA5 PRG:7BA5 CE C2 07 - bne NmiHandler_Loop72 ; CPU:$FBA8 PRG:7BA8 D0 5F + bne NmiHandler_Loop745 ; CPU:$FBA8 PRG:7BA8 D0 5F ldy ZpF0 ; CPU:$FBAA PRG:7BAA A4 F0 inc ZpF0 ; CPU:$FBAC PRG:7BAC E6 F0 lda (ZpF9),y ; CPU:$FBAE PRG:7BAE B1 F9 - beq NmiHandler_Loop64 ; CPU:$FBB0 PRG:7BB0 F0 04 - bpl NmiHandler_Loop67 ; CPU:$FBB2 PRG:7BB2 10 28 - bne NmiHandler_Loop66 ; CPU:$FBB4 PRG:7BB4 D0 1A + beq NmiHandler_Loop737 ; CPU:$FBB0 PRG:7BB0 F0 04 + bpl NmiHandler_Loop740 ; CPU:$FBB2 PRG:7BB2 10 28 + bne NmiHandler_Loop739 ; CPU:$FBB4 PRG:7BB4 D0 1A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside NmiHandler: taken when Loop64. +; Routine: NmiHandler_Loop737 +; Global: Branch target inside NmiHandler: taken when Loop737. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: +NmiHandler_Loop737: lda ZpF5 ; CPU:$FBB6 PRG:7BB6 A5 F5 cmp #$80 ; CPU:$FBB8 PRG:7BB8 C9 80 - bne NmiHandler_Loop65 ; CPU:$FBBA PRG:7BBA D0 02 + bne NmiHandler_Loop738 ; CPU:$FBBA PRG:7BBA D0 02 lda ZpF3 ; CPU:$FBBC PRG:7BBC A5 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside NmiHandler: taken when Loop65. +; Routine: NmiHandler_Loop738 +; Global: Branch target inside NmiHandler: taken when Loop738. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop65: +NmiHandler_Loop738: and #$03 ; CPU:$FBBE PRG:7BBE 29 03 - bne NmiHandler_OnNonzero12 ; CPU:$FBC0 PRG:7BC0 D0 94 + bne NmiHandler_OnNonzero64 ; CPU:$FBC0 PRG:7BC0 D0 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_FBC2 ; Global: Branch target inside Sub: taken when FBC2. @@ -3875,215 +19531,215 @@ Sub_FBC2: sta APUPULSE2CTRL ; CPU:$FBCC PRG:7BCC 8D 04 40 rts ; CPU:$FBCF PRG:7BCF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside NmiHandler: taken when Loop66. +; Routine: NmiHandler_Loop739 +; Global: Branch target inside NmiHandler: taken when Loop739. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop66: +NmiHandler_Loop739: jsr Sub_FCDF ; CPU:$FBD0 PRG:7BD0 20 DF FC sta $07C0 ; CPU:$FBD3 PRG:7BD3 8D C0 07 ldy ZpF0 ; CPU:$FBD6 PRG:7BD6 A4 F0 inc ZpF0 ; CPU:$FBD8 PRG:7BD8 E6 F0 lda (ZpF9),y ; CPU:$FBDA PRG:7BDA B1 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside NmiHandler: taken when Loop67. +; Routine: NmiHandler_Loop740 +; Global: Branch target inside NmiHandler: taken when Loop740. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop67: +NmiHandler_Loop740: ldx ZpF2 ; CPU:$FBDC PRG:7BDC A6 F2 - bne NmiHandler_Loop71 ; CPU:$FBDE PRG:7BDE D0 23 + bne NmiHandler_Loop744 ; CPU:$FBDE PRG:7BDE D0 23 jsr Sub_F879 ; CPU:$FBE0 PRG:7BE0 20 79 F8 tay ; CPU:$FBE3 PRG:7BE3 A8 - beq NmiHandler_Loop68 ; CPU:$FBE4 PRG:7BE4 F0 02 + beq NmiHandler_Loop741 ; CPU:$FBE4 PRG:7BE4 F0 02 ldy #$0F ; CPU:$FBE6 PRG:7BE6 A0 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop68 -; Global: Branch target inside NmiHandler: taken when Loop68. +; Routine: NmiHandler_Loop741 +; Global: Branch target inside NmiHandler: taken when Loop741. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop68: +NmiHandler_Loop741: sty $07DF ; CPU:$FBE8 PRG:7BE8 8C DF 07 ldx #$86 ; CPU:$FBEB PRG:7BEB A2 86 lda $07C2 ; CPU:$FBED PRG:7BED AD C2 07 cmp #$10 ; CPU:$FBF0 PRG:7BF0 C9 10 - bcs NmiHandler_Loop69 ; CPU:$FBF2 PRG:7BF2 B0 02 + bcs NmiHandler_Loop742 ; CPU:$FBF2 PRG:7BF2 B0 02 ldx #$84 ; CPU:$FBF4 PRG:7BF4 A2 84 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop69 -; Global: Branch target inside NmiHandler: taken when Loop69. +; Routine: NmiHandler_Loop742 +; Global: Branch target inside NmiHandler: taken when Loop742. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop69: +NmiHandler_Loop742: lda ZpF5 ; CPU:$FBF6 PRG:7BF6 A5 F5 cmp #$20 ; CPU:$FBF8 PRG:7BF8 C9 20 - bne NmiHandler_Loop70 ; CPU:$FBFA PRG:7BFA D0 02 + bne NmiHandler_Loop743 ; CPU:$FBFA PRG:7BFA D0 02 ldx #$87 ; CPU:$FBFC PRG:7BFC A2 87 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop70 -; Global: Branch target inside NmiHandler: taken when Loop70. +; Routine: NmiHandler_Loop743 +; Global: Branch target inside NmiHandler: taken when Loop743. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop70: +NmiHandler_Loop743: ldy #$7F ; CPU:$FBFE PRG:7BFE A0 7F jsr Sub_F86C ; CPU:$FC00 PRG:7C00 20 6C F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside NmiHandler: taken when Loop71. +; Routine: NmiHandler_Loop744 +; Global: Branch target inside NmiHandler: taken when Loop744. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop71: +NmiHandler_Loop744: lda $07C0 ; CPU:$FC03 PRG:7C03 AD C0 07 sta $07C2 ; CPU:$FC06 PRG:7C06 8D C2 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside NmiHandler: taken when Loop72. +; Routine: NmiHandler_Loop745 +; Global: Branch target inside NmiHandler: taken when Loop745. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop72: +NmiHandler_Loop745: lda ZpF2 ; CPU:$FC09 PRG:7C09 A5 F2 - bne NmiHandler_Loop74 ; CPU:$FC0B PRG:7C0B D0 14 + bne NmiHandler_Loop747 ; CPU:$FC0B PRG:7C0B D0 14 lda ZpF5 ; CPU:$FC0D PRG:7C0D A5 F5 and #$03 ; CPU:$FC0F PRG:7C0F 29 03 - beq NmiHandler_Loop74 ; CPU:$FC11 PRG:7C11 F0 0E + beq NmiHandler_Loop747 ; CPU:$FC11 PRG:7C11 F0 0E ldy $07DF ; CPU:$FC13 PRG:7C13 AC DF 07 - beq NmiHandler_Loop73 ; CPU:$FC16 PRG:7C16 F0 03 + beq NmiHandler_Loop746 ; CPU:$FC16 PRG:7C16 F0 03 dec $07DF ; CPU:$FC18 PRG:7C18 CE DF 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside NmiHandler: taken when Loop73. +; Routine: NmiHandler_Loop746 +; Global: Branch target inside NmiHandler: taken when Loop746. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop73: +NmiHandler_Loop746: lda $FF7E,y ; CPU:$FC1B PRG:7C1B B9 7E FF sta APUPULSE2CTRL ; CPU:$FC1E PRG:7C1E 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop74 -; Global: Branch target inside NmiHandler: taken when Loop74. +; Routine: NmiHandler_Loop747 +; Global: Branch target inside NmiHandler: taken when Loop747. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop74: +NmiHandler_Loop747: ldy ZpF4 ; CPU:$FC21 PRG:7C21 A4 F4 - beq NmiHandler_Loop80 ; CPU:$FC23 PRG:7C23 F0 43 + beq NmiHandler_Loop753 ; CPU:$FC23 PRG:7C23 F0 43 dec $07C6 ; CPU:$FC25 PRG:7C25 CE C6 07 - bne NmiHandler_Loop78 ; CPU:$FC28 PRG:7C28 D0 2A + bne NmiHandler_Loop751 ; CPU:$FC28 PRG:7C28 D0 2A ldy ZpF4 ; CPU:$FC2A PRG:7C2A A4 F4 inc ZpF4 ; CPU:$FC2C PRG:7C2C E6 F4 lda (ZpF9),y ; CPU:$FC2E PRG:7C2E B1 F9 - bne NmiHandler_Loop75 ; CPU:$FC30 PRG:7C30 D0 04 + bne NmiHandler_Loop748 ; CPU:$FC30 PRG:7C30 D0 04 ldx #$10 ; CPU:$FC32 PRG:7C32 A2 10 - bne NmiHandler_Loop77 ; CPU:$FC34 PRG:7C34 D0 16 + bne NmiHandler_Loop750 ; CPU:$FC34 PRG:7C34 D0 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop75 -; Global: Branch target inside NmiHandler: taken when Loop75. +; Routine: NmiHandler_Loop748 +; Global: Branch target inside NmiHandler: taken when Loop748. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop75: +NmiHandler_Loop748: jsr Sub_FCD9 ; CPU:$FC36 PRG:7C36 20 D9 FC sta $07C6 ; CPU:$FC39 PRG:7C39 8D C6 07 txa ; CPU:$FC3C PRG:7C3C 8A and #$3E ; CPU:$FC3D PRG:7C3D 29 3E jsr Sub_F858 ; CPU:$FC3F PRG:7C3F 20 58 F8 tay ; CPU:$FC42 PRG:7C42 A8 - beq NmiHandler_Loop76 ; CPU:$FC43 PRG:7C43 F0 02 + beq NmiHandler_Loop749 ; CPU:$FC43 PRG:7C43 F0 02 ldy #$3F ; CPU:$FC45 PRG:7C45 A0 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop76 -; Global: Branch target inside NmiHandler: taken when Loop76. +; Routine: NmiHandler_Loop749 +; Global: Branch target inside NmiHandler: taken when Loop749. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop76: +NmiHandler_Loop749: sty $07C3 ; CPU:$FC47 PRG:7C47 8C C3 07 ldx #$06 ; CPU:$FC4A PRG:7C4A A2 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside NmiHandler: taken when Loop77. +; Routine: NmiHandler_Loop750 +; Global: Branch target inside NmiHandler: taken when Loop750. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop750: ldy #$7F ; CPU:$FC4C PRG:7C4C A0 7F sty APUPULSE1SWEEP ; CPU:$FC4E PRG:7C4E 8C 01 40 stx APUPULSE1CTRL ; CPU:$FC51 PRG:7C51 8E 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside NmiHandler: taken when Loop78. +; Routine: NmiHandler_Loop751 +; Global: Branch target inside NmiHandler: taken when Loop751. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop751: lda ZpF5 ; CPU:$FC54 PRG:7C54 A5 F5 and #$20 ; CPU:$FC56 PRG:7C56 29 20 - beq NmiHandler_Loop80 ; CPU:$FC58 PRG:7C58 F0 0E + beq NmiHandler_Loop753 ; CPU:$FC58 PRG:7C58 F0 0E ldy $07C3 ; CPU:$FC5A PRG:7C5A AC C3 07 - beq NmiHandler_Loop79 ; CPU:$FC5D PRG:7C5D F0 03 + beq NmiHandler_Loop752 ; CPU:$FC5D PRG:7C5D F0 03 dec $07C3 ; CPU:$FC5F PRG:7C5F CE C3 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside NmiHandler: taken when Loop79. +; Routine: NmiHandler_Loop752 +; Global: Branch target inside NmiHandler: taken when Loop752. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: +NmiHandler_Loop752: lda $FF8E,y ; CPU:$FC62 PRG:7C62 B9 8E FF sta APUPULSE1CTRL ; CPU:$FC65 PRG:7C65 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside NmiHandler: taken when Loop80. +; Routine: NmiHandler_Loop753 +; Global: Branch target inside NmiHandler: taken when Loop753. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop753: lda ZpF8 ; CPU:$FC68 PRG:7C68 A5 F8 - beq NmiHandler_Loop83 ; CPU:$FC6A PRG:7C6A F0 3C + beq NmiHandler_Loop756 ; CPU:$FC6A PRG:7C6A F0 3C dec $07CA ; CPU:$FC6C PRG:7C6C CE CA 07 - bne NmiHandler_Loop84 ; CPU:$FC6F PRG:7C6F D0 3A + bne NmiHandler_Loop757 ; CPU:$FC6F PRG:7C6F D0 3A ldy ZpF8 ; CPU:$FC71 PRG:7C71 A4 F8 inc ZpF8 ; CPU:$FC73 PRG:7C73 E6 F8 lda (ZpF9),y ; CPU:$FC75 PRG:7C75 B1 F9 - beq NmiHandler_Loop83 ; CPU:$FC77 PRG:7C77 F0 2F - bpl NmiHandler_Loop82 ; CPU:$FC79 PRG:7C79 10 1C + beq NmiHandler_Loop756 ; CPU:$FC77 PRG:7C77 F0 2F + bpl NmiHandler_Loop755 ; CPU:$FC79 PRG:7C79 10 1C jsr Sub_FCDF ; CPU:$FC7B PRG:7C7B 20 DF FC sta $07C8 ; CPU:$FC7E PRG:7C7E 8D C8 07 clc ; CPU:$FC81 PRG:7C81 18 @@ -4091,62 +19747,62 @@ NmiHandler_Loop80: asl a ; CPU:$FC84 PRG:7C84 0A asl a ; CPU:$FC85 PRG:7C85 0A cmp #$38 ; CPU:$FC86 PRG:7C86 C9 38 - bcc NmiHandler_Loop81 ; CPU:$FC88 PRG:7C88 90 02 + bcc NmiHandler_Loop754 ; CPU:$FC88 PRG:7C88 90 02 lda #$7F ; CPU:$FC8A PRG:7C8A A9 7F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside NmiHandler: taken when Loop81. +; Routine: NmiHandler_Loop754 +; Global: Branch target inside NmiHandler: taken when Loop754. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: +NmiHandler_Loop754: sta APUTRIANGLECTRL ; CPU:$FC8C PRG:7C8C 8D 08 40 ldy ZpF8 ; CPU:$FC8F PRG:7C8F A4 F8 inc ZpF8 ; CPU:$FC91 PRG:7C91 E6 F8 lda (ZpF9),y ; CPU:$FC93 PRG:7C93 B1 F9 - beq NmiHandler_Loop83 ; CPU:$FC95 PRG:7C95 F0 11 + beq NmiHandler_Loop756 ; CPU:$FC95 PRG:7C95 F0 11 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside NmiHandler: taken when Loop82. +; Routine: NmiHandler_Loop755 +; Global: Branch target inside NmiHandler: taken when Loop755. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop755: jsr Sub_F87D ; CPU:$FC97 PRG:7C97 20 7D F8 lda $07C8 ; CPU:$FC9A PRG:7C9A AD C8 07 sta $07CA ; CPU:$FC9D PRG:7C9D 8D CA 07 lda ZpF5 ; CPU:$FCA0 PRG:7CA0 A5 F5 cmp #$20 ; CPU:$FCA2 PRG:7CA2 C9 20 - bne NmiHandler_Loop84 ; CPU:$FCA4 PRG:7CA4 D0 05 + bne NmiHandler_Loop757 ; CPU:$FCA4 PRG:7CA4 D0 05 lda #$FF ; CPU:$FCA6 PRG:7CA6 A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside NmiHandler: taken when Loop83. +; Routine: NmiHandler_Loop756 +; Global: Branch target inside NmiHandler: taken when Loop756. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: +NmiHandler_Loop756: sta APUTRIANGLECTRL ; CPU:$FCA8 PRG:7CA8 8D 08 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside NmiHandler: taken when Loop84. +; Routine: NmiHandler_Loop757 +; Global: Branch target inside NmiHandler: taken when Loop757. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop757: lda ZpF5 ; CPU:$FCAB PRG:7CAB A5 F5 and #$01 ; CPU:$FCAD PRG:7CAD 29 01 - beq NmiHandler_Loop85 ; CPU:$FCAF PRG:7CAF F0 27 + beq NmiHandler_Loop758 ; CPU:$FCAF PRG:7CAF F0 27 dec $07DD ; CPU:$FCB1 PRG:7CB1 CE DD 07 - bne NmiHandler_Loop85 ; CPU:$FCB4 PRG:7CB4 D0 22 + bne NmiHandler_Loop758 ; CPU:$FCB4 PRG:7CB4 D0 22 ldy $07DC ; CPU:$FCB6 PRG:7CB6 AC DC 07 inc $07DC ; CPU:$FCB9 PRG:7CB9 EE DC 07 lda (ZpF9),y ; CPU:$FCBC PRG:7CBC B1 F9 @@ -4154,7 +19810,7 @@ NmiHandler_Loop84: sta $07DD ; CPU:$FCC1 PRG:7CC1 8D DD 07 txa ; CPU:$FCC4 PRG:7CC4 8A and #$3E ; CPU:$FCC5 PRG:7CC5 29 3E - beq NmiHandler_Loop85 ; CPU:$FCC7 PRG:7CC7 F0 0F + beq NmiHandler_Loop758 ; CPU:$FCC7 PRG:7CC7 F0 0F lda #$14 ; CPU:$FCC9 PRG:7CC9 A9 14 ldx #$03 ; CPU:$FCCB PRG:7CCB A2 03 ldy #$18 ; CPU:$FCCD PRG:7CCD A0 18 @@ -4162,14 +19818,14 @@ NmiHandler_Loop84: stx APUNOISEPERIOD ; CPU:$FCD2 PRG:7CD2 8E 0E 40 sty APUNOISELENGTH ; CPU:$FCD5 PRG:7CD5 8C 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside NmiHandler: taken when Loop85. +; Routine: NmiHandler_Loop758 +; Global: Branch target inside NmiHandler: taken when Loop758. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: +NmiHandler_Loop758: rts ; CPU:$FCD8 PRG:7CD8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCD9 @@ -4201,7 +19857,7 @@ Sub_FCDF: tay ; CPU:$FCE4 PRG:7CE4 A8 lda $FF58,y ; CPU:$FCE5 PRG:7CE5 B9 58 FF rts ; CPU:$FCE8 PRG:7CE8 60 -; ---- data $FCE9-$FFFF (791 bytes) ---- +; ---- data $FCE9-$FFEF (775 bytes) ---- ; referenced by `lda $FF01,y` at $F85B (operand $FF01 falls inside this region) ; referenced by `lda $FF00,y` at $F863 (operand $FF00 falls inside this region) ; referenced by `lda $FFCD,y` at $F89E (operand $FFCD falls inside this region) @@ -4257,5 +19913,23 @@ Sub_FCDF: .byte $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F, $9F ; CPU:$FFB9 PRG:7FB9 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F .byte $9E, $9D, $9C, $9B, $9A, $B1, $B1, $B1, $B2, $B2, $B4, $B5, $B6, $B7, $B8, $B9 ; CPU:$FFC9 PRG:7FC9 9E 9D 9C 9B 9A B1 B1 B1 B2 B2 B4 B5 B6 B7 B8 B9 .byte $B9, $BA, $BA, $BA, $BA, $BA, $BB, $BC, $BB, $BA, $70, $7C, $8B, $B1, $94, $9B ; CPU:$FFD9 PRG:7FD9 B9 BA BA BA BA BA BB BC BB BA 70 7C 8B B1 94 9B - .byte $A1, $A6, $AC, $8E, $30, $3C, $0C, $BF, $1C, $18, $14, $18, $14, $18, $FF, $FF ; CPU:$FFE9 PRG:7FE9 A1 A6 AC 8E 30 3C 0C BF 1C 18 14 18 14 18 FF FF - .byte $FF, $D6, $82, $58, $82, $F0, $FF ; CPU:$FFF9 PRG:7FF9 FF D6 82 58 82 F0 FF + .byte $A1, $A6, $AC, $8E, $30, $3C, $0C ; CPU:$FFE9 PRG:7FE9 A1 A6 AC 8E 30 3C 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler +; Global: Routine IrqHandler. +; Local: Part of the routine it belongs to. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler: + .byte $BF, $1C, $18 ; CPU:$FFF0 PRG:7FF0 BF 1C 18 -- lax $181C,y (undocumented; ca65 cannot encode) + .byte $14, $18 ; CPU:$FFF3 PRG:7FF3 14 18 -- nop Zp18,x (undocumented; ca65 cannot encode) + .byte $14, $18 ; CPU:$FFF5 PRG:7FF5 14 18 -- nop Zp18,x (undocumented; ca65 cannot encode) + .byte $FF, $FF, $FF ; CPU:$FFF7 PRG:7FF7 FF FF FF -- isc $FFFF,x (undocumented; ca65 cannot encode) + dec Zp82,x ; CPU:$FFFA PRG:7FFA D6 82 + cli ; CPU:$FFFC PRG:7FFC 58 + .byte $82, $F0 ; CPU:$FFFD PRG:7FFD 82 F0 -- nop #$F0 (undocumented; ca65 cannot encode) +; ---- data $FFFF-$FFFF (1 bytes) ---- +; referenced by `isc $FFFF,x` at $FFF7 (operand $FFFF falls inside this region) + .byte $FF ; CPU:$FFFF PRG:7FFF FF diff --git a/NROM/Kung Fu (U) (a1)/routinemap.tsv b/NROM/Kung Fu (U) (a1)/routinemap.tsv index 4b9207b..9fc1eb9 100644 --- a/NROM/Kung Fu (U) (a1)/routinemap.tsv +++ b/NROM/Kung Fu (U) (a1)/routinemap.tsv @@ -1,3 +1,4 @@ # routinemap (seed) 8258 Reset 82D6 NmiHandler +FFF0 IrqHandler diff --git a/NROM/Kung Fu (U)/README.md b/NROM/Kung Fu (U)/README.md index 2269642..f1ee70f 100644 --- a/NROM/Kung Fu (U)/README.md +++ b/NROM/Kung Fu (U)/README.md @@ -2,66 +2,71 @@ ## Status -**Pass 3.** Hardware-register operands use `symbols.inc` names -(`apply_symbols.py`: 0 unexplained residue); zero-page slots keep their -documented `ZpXX` names with ref counts in `locals.inc`; data tables remain -classified with ROM provenance. `make` stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 17,068 / 32,768 bytes (52.1%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Vertical | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $82D6 | | RESET vector | $8258 | | IRQ vector | $FFF0 | -| ROM file | `Kung Fu (U).nes` | -| SHA-256 | `ba57badd19db565481c5d9d7f86bfa0a919725a9661144d69925f501c9a0f4a1` | -### Header notes +## Power-on flow -- none +RESET enters at `$8258`: -## Open work + sei ; CPU:$8258 PRG:0258 78 + cld ; CPU:$8259 PRG:0259 D8 + lda #$00 ; CPU:$825A PRG:025A A9 00 + sta PPUCTRL ; CPU:$825C PRG:025C 8D 00 20 + ldx #$FF ; CPU:$825F PRG:025F A2 FF + txs ; CPU:$8261 PRG:0261 9A + lda PPUSTATUS ; CPU:$8262 PRG:0262 AD 02 20 + asl a ; CPU:$8265 PRG:0265 0A + bcc Reset_OnCarryClear ; CPU:$8266 PRG:0266 90 FA + lda PPUSTATUS ; CPU:$8268 PRG:0268 AD 02 20 + asl a ; CPU:$826B PRG:026B 0A + bcc Reset_OnCarryClear2 ; CPU:$826C PRG:026C 90 FA -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$82D6`: -## Files + lda Zp10 ; CPU:$82D6 PRG:02D6 A5 10 + and #$7F ; CPU:$82D8 PRG:02D8 29 7F + sta PPUCTRL ; CPU:$82DA PRG:02DA 8D 00 20 + sta Zp10 ; CPU:$82DD PRG:02DD 85 10 + lda #$00 ; CPU:$82DF PRG:02DF A9 00 + sta PPUMASK ; CPU:$82E1 PRG:02E1 8D 01 20 + lda #$00 ; CPU:$82E4 PRG:02E4 A9 00 + sta OAMADDR ; CPU:$82E6 PRG:02E6 8D 03 20 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$8257` (600 bytes) - `LevelHandlerPointerTable` +- `$841B-$8426` (12 bytes) - `LevelObjectDefinitionTable` +- `$8C8A-$8DCE` (325 bytes) - `SpriteOamEntryTable` +- `$9032-$9807` (2006 bytes) - `EnemyNameTextTable` +- `$9810-$A481` (3186 bytes) - `EnemySpritePatternTable` +- `$B6CD-$B713` (71 bytes) - `LevelObjectSpawnTable` +- `$BB6F-$BDC3` (597 bytes) - `SpriteOamAttributeTable` +- `$CDDD-$CFCB` (495 bytes) - `EnemyAnimationFrameTable` +- `$D386-$D3C5` (64 bytes) - `LevelSceneryData` +- `$DAE7-$DAE9` (3 bytes) - `LevelSceneryPadding` +- `$DB48-$F830` (7401 bytes) - `LevelGraphicData` +- `$F981-$F9B8` (56 bytes) - `EnemyMovementSpeedTable` +- `$FA36-$FA89` (84 bytes) - `EnemyMovementDeltaTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Kung Fu (U)/labelmap.tsv b/NROM/Kung Fu (U)/labelmap.tsv index 62ff1da..c9c8a49 100644 --- a/NROM/Kung Fu (U)/labelmap.tsv +++ b/NROM/Kung Fu (U)/labelmap.tsv @@ -1,5 +1,6 @@ 8258 Reset 82D6 NmiHandler +FFF0 IrqHandler # ---- derived internal branch-target names ---- 8258 Reset @@ -28,796 +29,1118 @@ 841A NmiHandler_Loop10 844E Sub_844E 8450 NmiHandler_OnNonnegative2 +8471 NmiHandler_Loop11 847A NmiHandler_OnZero -847B NmiHandler_Loop11 -8492 NmiHandler_Loop12 +847B NmiHandler_Loop12 +8492 NmiHandler_Loop13 849C NmiHandler_OnNonnegative3 -84B6 NmiHandler_Loop13 +84AA NmiHandler_Loop14 +84B6 NmiHandler_Loop15 84CF Sub_84CF 84EA NmiHandler_OnNonnegative4 -8536 NmiHandler_OnNonnegative5 +84F4 NmiHandler_OnNonzero2 +8500 NmiHandler_OnNonzero3 +850F NmiHandler_Loop16 +8515 NmiHandler_OnNonnegative5 +852E NmiHandler_Loop17 +8536 NmiHandler_OnNonnegative6 8546 NmiHandler_OnCarryClear -857C NmiHandler_OnNonnegative6 -85FA NmiHandler_OnNonnegative7 -860D NmiHandler_Loop14 +8560 NmiHandler_Loop18 +8567 NmiHandler_OnNonnegative7 +8578 NmiHandler_Loop19 +857C NmiHandler_OnNonnegative8 +85FA NmiHandler_OnNonnegative9 +860D NmiHandler_Loop20 +860E Sub_860E 8610 Sub_8610 -8683 NmiHandler_OnNonnegative8 -879A NmiHandler_Loop15 -87A5 NmiHandler_Loop16 +8649 NmiHandler_Loop21 +866F Sub_866F +8671 NmiHandler_OnNonnegative10 +867E NmiHandler_Loop22 +8681 Sub_8681 +8683 NmiHandler_OnNonnegative11 +868E NmiHandler_Loop23 +86A5 NmiHandler_Loop24 +86AA NmiHandler_OnNonnegative12 +86BC NmiHandler_OnNonnegative13 +86CD NmiHandler_OnNonnegative14 +86F7 NmiHandler_Loop25 +870A NmiHandler_Loop26 +874B NmiHandler_Loop27 +8763 NmiHandler_Loop28 +876B NmiHandler_Loop29 +8777 NmiHandler_Loop30 +8791 NmiHandler_Loop31 +879A NmiHandler_Loop32 +87A5 NmiHandler_Loop33 87B5 Sub_87B5 -87CD NmiHandler_Loop17 -87D2 NmiHandler_Loop18 -87E0 NmiHandler_Loop19 -87F2 NmiHandler_Loop20 -882B NmiHandler_Loop21 +87CD NmiHandler_Loop34 +87D2 NmiHandler_Loop35 +87E0 NmiHandler_Loop36 +87F2 NmiHandler_Loop37 +882B NmiHandler_Loop38 882E Sub_882E -883D NmiHandler_Loop22 -8848 NmiHandler_Loop23 -884F NmiHandler_Loop24 -8852 NmiHandler_Loop25 -886C NmiHandler_Loop26 -8872 NmiHandler_Loop27 +883D NmiHandler_Loop39 +8848 NmiHandler_Loop40 +884F NmiHandler_Loop41 +8852 NmiHandler_Loop42 +886C NmiHandler_Loop43 +8872 NmiHandler_Loop44 8874 NmiHandler_OnCarryClear2 -8888 NmiHandler_OnNonnegative9 -88A7 NmiHandler_Loop28 -88B7 NmiHandler_Loop29 +8888 NmiHandler_OnNonnegative15 +88A7 NmiHandler_Loop45 +88B7 NmiHandler_Loop46 88B9 Sub_88B9 88BF Sub_88BF -88CD NmiHandler_Loop30 +88CD NmiHandler_Loop47 88CE Sub_88CE -88DF NmiHandler_Loop31 -8902 NmiHandler_Loop32 -8905 NmiHandler_Loop33 -8906 NmiHandler_Loop34 -890A NmiHandler_Loop35 -890C NmiHandler_Loop36 -894F Sub_894F +88DF NmiHandler_Loop48 +8902 NmiHandler_Loop49 +8905 NmiHandler_Loop50 +8906 NmiHandler_Loop51 +890A NmiHandler_Loop52 +890C NmiHandler_Loop53 +8913 NmiHandler_OnNonzero4 +8914 NmiHandler_OnNonzero5 +8924 NmiHandler_Loop54 +8938 NmiHandler_Loop55 +893B NmiHandler_Loop56 +894F NmiHandler_Loop57 +896A NmiHandler_OnNonnegative16 +8988 NmiHandler_OnZero2 +899E NmiHandler_Loop58 +89B4 Sub_89B4 +89C5 NmiHandler_OnNonzero6 +89C6 NmiHandler_Loop59 +89D7 NmiHandler_Loop60 +89EF NmiHandler_Loop61 +89F3 NmiHandler_Loop62 +89FC NmiHandler_Loop63 8A03 Sub_8A03 -8A18 NmiHandler_Loop37 +8A18 NmiHandler_Loop64 8A25 Sub_8A25 8A2E Sub_8A2E -8A36 NmiHandler_OnNonzero2 -8A4A NmiHandler_Loop38 +8A36 NmiHandler_OnNonzero7 +8A4A NmiHandler_Loop65 8A4D Sub_8A4D -8A55 NmiHandler_OnNonzero3 -8A69 NmiHandler_Loop39 +8A55 NmiHandler_OnNonzero8 +8A69 NmiHandler_Loop66 8A6C Sub_8A6C -8A74 NmiHandler_OnNonzero4 -8A88 NmiHandler_Loop40 -8A8A NmiHandler_Loop41 -8A92 NmiHandler_OnNonzero5 +8A74 NmiHandler_OnNonzero9 +8A88 NmiHandler_Loop67 +8A8A NmiHandler_Loop68 +8A92 NmiHandler_OnNonzero10 +8AB2 NmiHandler_Loop69 +8AB7 NmiHandler_OnNonzero11 +8ACA NmiHandler_Loop70 +8AD0 NmiHandler_Loop71 +8AD6 Sub_8AD6 +8B06 NmiHandler_Loop72 +8B16 NmiHandler_Loop73 +8B1B NmiHandler_Loop74 +8B1F NmiHandler_Loop75 +8B80 NmiHandler_Loop76 +8B87 NmiHandler_OnNonzero12 +8B94 NmiHandler_Loop77 +8B9C NmiHandler_Loop78 +8BA9 NmiHandler_Loop79 +8BB5 NmiHandler_Loop80 +8BD4 Sub_8BD4 +8BDC NmiHandler_Loop81 +8BE6 NmiHandler_Loop82 +8BF2 NmiHandler_Loop83 +8C06 NmiHandler_Loop84 +8C1B NmiHandler_Loop85 +8C1C NmiHandler_Loop86 +8C2B NmiHandler_Loop87 +8C2D NmiHandler_OnCarryClear3 +8C5B NmiHandler_Loop88 +8C66 NmiHandler_Loop89 8DDC Sub_8DDC 8DE5 Sub_8DE5 -8DF9 NmiHandler_Loop42 -8E0A NmiHandler_Loop43 +8DF9 NmiHandler_Loop90 +8E0A NmiHandler_Loop91 8E0D Sub_8E0D 8E1C Sub_8E1C -8E22 NmiHandler_OnZero2 -8E50 NmiHandler_Loop44 -8E76 NmiHandler_Loop45 -8E80 NmiHandler_Loop46 -8E82 NmiHandler_Loop47 +8E22 NmiHandler_OnZero3 +8E50 NmiHandler_Loop92 +8E76 NmiHandler_Loop93 +8E80 NmiHandler_Loop94 +8E82 NmiHandler_Loop95 8E85 Sub_8E85 8E9B Sub_8E9B 8EAF Sub_8EAF -8EBD NmiHandler_OnNonzero6 -8EBF NmiHandler_OnNonzero7 +8EBD NmiHandler_OnNonzero13 +8EBF NmiHandler_OnNonzero14 8EC6 Sub_8EC6 -8ECA NmiHandler_OnNonzero8 -8EDE NmiHandler_OnNonzero9 -8EE5 NmiHandler_Loop48 -8EEB NmiHandler_Loop49 -8EF2 NmiHandler_Loop50 -8EF6 NmiHandler_OnNonzero10 -8EFD NmiHandler_Loop51 -8F03 NmiHandler_Loop52 -8F06 NmiHandler_Loop53 -8F11 NmiHandler_OnNonzero11 -8F29 NmiHandler_OnNonzero12 -8F4D NmiHandler_Loop54 +8ECA NmiHandler_OnNonzero15 +8EDE NmiHandler_OnNonzero16 +8EE5 NmiHandler_Loop96 +8EEB NmiHandler_Loop97 +8EF2 NmiHandler_Loop98 +8EF6 NmiHandler_OnNonzero17 +8EFD NmiHandler_Loop99 +8F03 NmiHandler_Loop100 +8F06 NmiHandler_Loop101 +8F11 NmiHandler_OnNonzero18 +8F29 NmiHandler_OnNonzero19 +8F4D NmiHandler_Loop102 8F54 Sub_8F54 8F63 Sub_8F63 -8F7F NmiHandler_OnNonzero13 -8F99 NmiHandler_OnNonzero14 +8F7F NmiHandler_OnNonzero20 +8F99 NmiHandler_OnNonzero21 8FA0 Sub_8FA0 8FA6 Sub_8FA6 -8FAA NmiHandler_OnNonzero15 +8FAA NmiHandler_OnNonzero22 8FB1 Sub_8FB1 8FC5 Sub_8FC5 -8FD9 NmiHandler_OnNonzero16 -8FE7 NmiHandler_OnNonzero17 -9031 NmiHandler_Loop55 +8FD9 NmiHandler_OnNonzero23 +8FE7 NmiHandler_OnNonzero24 +9031 NmiHandler_Loop103 A482 Sub_A482 -A49B NmiHandler_Loop56 -A4A6 NmiHandler_Loop57 -A4B3 NmiHandler_Loop58 -A4CA NmiHandler_Loop59 -A4CC NmiHandler_Loop60 -A4CD NmiHandler_Loop61 -A4DC NmiHandler_Loop62 +A49B NmiHandler_Loop104 +A4A6 NmiHandler_Loop105 +A4B3 NmiHandler_Loop106 +A4CA NmiHandler_Loop107 +A4CC NmiHandler_Loop108 +A4CD NmiHandler_Loop109 +A4DC NmiHandler_Loop110 A4E6 Sub_A4E6 -A50B NmiHandler_Loop63 +A50B NmiHandler_Loop111 A515 Sub_A515 -A519 NmiHandler_Loop64 -A527 NmiHandler_Loop65 -A53B NmiHandler_Loop66 -A542 NmiHandler_OnNonzero18 +A519 NmiHandler_Loop112 +A527 NmiHandler_Loop113 +A53B NmiHandler_Loop114 +A542 NmiHandler_OnNonzero25 A544 Sub_A544 A568 Sub_A568 -A56A NmiHandler_Loop67 -A587 NmiHandler_Loop68 -A5A0 NmiHandler_Loop69 -A5B3 NmiHandler_Loop70 -A5B5 NmiHandler_Loop71 +A56A NmiHandler_Loop115 +A587 NmiHandler_Loop116 +A5A0 NmiHandler_Loop117 +A5B3 NmiHandler_Loop118 +A5B5 NmiHandler_Loop119 A5C0 Sub_A5C0 -A5CB NmiHandler_Loop72 -A600 NmiHandler_Loop73 -A604 NmiHandler_OnNonnegative10 -A608 NmiHandler_OnNonnegative11 -A630 NmiHandler_Loop74 -A644 NmiHandler_Loop75 -A64D NmiHandler_Loop76 -A652 NmiHandler_Loop77 -A655 NmiHandler_Loop78 -A660 NmiHandler_Loop79 -A67B NmiHandler_Loop80 -A68D NmiHandler_Loop81 -A695 NmiHandler_Loop82 +A5CB NmiHandler_Loop120 +A600 NmiHandler_Loop121 +A604 NmiHandler_OnNonnegative17 +A608 NmiHandler_OnNonnegative18 +A630 NmiHandler_Loop122 +A644 NmiHandler_Loop123 +A64D NmiHandler_Loop124 +A652 NmiHandler_Loop125 +A655 NmiHandler_Loop126 +A660 NmiHandler_Loop127 +A67B NmiHandler_Loop128 +A68D NmiHandler_Loop129 +A695 NmiHandler_Loop130 A696 Sub_A696 -A69D NmiHandler_Loop83 -A69F NmiHandler_OnNonnegative12 -A6BA NmiHandler_Loop84 -A6BE NmiHandler_Loop85 -A6CE NmiHandler_Loop86 -A6DF NmiHandler_Loop87 -A6EF NmiHandler_OnNonzero19 -A715 NmiHandler_Loop88 -A716 NmiHandler_Loop89 -A724 NmiHandler_Loop90 +A69D NmiHandler_Loop131 +A69F NmiHandler_OnNonnegative19 +A6BA NmiHandler_Loop132 +A6BE NmiHandler_Loop133 +A6CE NmiHandler_Loop134 +A6DF NmiHandler_Loop135 +A6EF NmiHandler_OnNonzero26 +A715 NmiHandler_Loop136 +A716 NmiHandler_Loop137 +A724 NmiHandler_Loop138 A72C Sub_A72C -A732 NmiHandler_Loop91 +A732 NmiHandler_Loop139 A734 Sub_A734 -A753 NmiHandler_Loop92 -A75B NmiHandler_Loop93 -A75F NmiHandler_Loop94 -A769 NmiHandler_Loop95 -A76B NmiHandler_Loop96 -A785 NmiHandler_Loop97 -A796 NmiHandler_Loop98 +A753 NmiHandler_Loop140 +A75B NmiHandler_Loop141 +A75F NmiHandler_Loop142 +A769 NmiHandler_Loop143 +A76B NmiHandler_Loop144 +A785 NmiHandler_Loop145 +A796 NmiHandler_Loop146 A797 Sub_A797 -A7B0 NmiHandler_Loop99 -A7BE NmiHandler_Loop100 -A7CD NmiHandler_Loop101 -A7D6 NmiHandler_Loop102 -A7D9 NmiHandler_Loop103 -A7E9 NmiHandler_Loop104 -A7F5 NmiHandler_Loop105 -A7FC NmiHandler_Loop106 -A805 NmiHandler_Loop107 -A81C NmiHandler_Loop108 +A7B0 NmiHandler_Loop147 +A7BE NmiHandler_Loop148 +A7CD NmiHandler_Loop149 +A7D6 NmiHandler_Loop150 +A7D9 NmiHandler_Loop151 +A7E9 NmiHandler_Loop152 +A7F5 NmiHandler_Loop153 +A7FC NmiHandler_Loop154 +A805 NmiHandler_Loop155 +A81C NmiHandler_Loop156 A825 NmiHandler_OnNegative A826 Sub_A826 -A834 NmiHandler_OnNonzero20 -A847 NmiHandler_Loop109 -A862 NmiHandler_Loop110 -A86C NmiHandler_Loop111 +A834 NmiHandler_OnNonzero27 +A847 NmiHandler_Loop157 +A862 NmiHandler_Loop158 +A86C NmiHandler_Loop159 A884 Sub_A884 A886 Sub_A886 -A891 NmiHandler_Loop112 -A894 NmiHandler_Loop113 -A8A8 NmiHandler_Loop114 -A8C4 NmiHandler_Loop115 +A891 NmiHandler_Loop160 +A894 NmiHandler_Loop161 +A8A8 NmiHandler_Loop162 +A8C4 NmiHandler_Loop163 A8D7 Sub_A8D7 -A8DB NmiHandler_Loop116 -A8EA NmiHandler_OnNonzero21 +A8DB NmiHandler_Loop164 +A8EA NmiHandler_OnNonzero28 A8EB Sub_A8EB -A8F9 NmiHandler_Loop117 -A900 NmiHandler_Loop118 +A8F9 NmiHandler_Loop165 +A900 NmiHandler_Loop166 A935 NmiHandler_OnNegative2 A936 Sub_A936 -A987 Sub_A987 -A98B NmiHandler_OnZero3 -A9AA NmiHandler_Loop119 -A9CA NmiHandler_Loop120 -A9DC NmiHandler_Loop121 -A9FB NmiHandler_Loop122 -A9FD NmiHandler_Loop123 -A9FE NmiHandler_Loop124 -AA0B NmiHandler_Loop125 +A955 NmiHandler_Loop167 +A95B NmiHandler_Loop168 +A974 NmiHandler_Loop169 +A987 NmiHandler_Loop170 +A98B NmiHandler_OnZero4 +A9AA NmiHandler_Loop171 +A9CA NmiHandler_Loop172 +A9DC NmiHandler_Loop173 +A9FB NmiHandler_Loop174 +A9FD NmiHandler_Loop175 +A9FE NmiHandler_Loop176 +AA0B NmiHandler_Loop177 AA18 Sub_AA18 -AA35 NmiHandler_Loop126 -AA4E NmiHandler_Loop127 -AA5E NmiHandler_Loop128 -AA6D NmiHandler_Loop129 -AA72 NmiHandler_Loop130 -AA73 NmiHandler_Loop131 -AA84 NmiHandler_Loop132 -AA96 NmiHandler_Loop133 -AA97 NmiHandler_Loop134 -AAB0 NmiHandler_Loop135 -AABE NmiHandler_Loop136 -AACC NmiHandler_Loop137 -AAE7 NmiHandler_Loop138 -AAE9 NmiHandler_Loop139 -AAF7 NmiHandler_Loop140 -AB1F NmiHandler_Loop141 -AB20 NmiHandler_Loop142 -AB76 NmiHandler_OnNonnegative13 -AB80 NmiHandler_Loop143 -AB81 NmiHandler_Loop144 -AB8C NmiHandler_Loop145 +AA35 NmiHandler_Loop178 +AA4E NmiHandler_Loop179 +AA5E NmiHandler_Loop180 +AA6D NmiHandler_Loop181 +AA72 NmiHandler_Loop182 +AA73 NmiHandler_Loop183 +AA84 NmiHandler_Loop184 +AA96 NmiHandler_Loop185 +AA97 NmiHandler_Loop186 +AAB0 NmiHandler_Loop187 +AABE NmiHandler_Loop188 +AACC NmiHandler_Loop189 +AAE7 NmiHandler_Loop190 +AAE9 NmiHandler_Loop191 +AAF7 NmiHandler_Loop192 +AB1F NmiHandler_Loop193 +AB20 NmiHandler_Loop194 +AB48 NmiHandler_Loop195 +AB5D NmiHandler_Loop196 +AB65 NmiHandler_Loop197 +AB76 NmiHandler_OnNonnegative20 +AB80 NmiHandler_Loop198 +AB81 NmiHandler_Loop199 +AB8C NmiHandler_Loop200 +AB90 NmiHandler_Loop201 ABAA NmiHandler_OnCarrySet -ABB6 NmiHandler_Loop146 -ABCA NmiHandler_Loop147 -ABCE NmiHandler_Loop148 -ABD7 NmiHandler_Loop149 -ABE9 NmiHandler_OnNonnegative14 -ABFD NmiHandler_Loop150 -AC02 NmiHandler_Loop151 -AC27 NmiHandler_Loop152 +ABB6 NmiHandler_Loop202 +ABCA NmiHandler_Loop203 +ABCE NmiHandler_Loop204 +ABD7 NmiHandler_Loop205 +ABE9 NmiHandler_OnNonnegative21 +ABFD NmiHandler_Loop206 +AC02 NmiHandler_Loop207 +AC27 NmiHandler_Loop208 +AC29 NmiHandler_OnNonzero29 +AC38 NmiHandler_Loop209 +AC3D Sub_AC3D +AC52 NmiHandler_Loop210 +AC70 NmiHandler_Loop211 +AC94 NmiHandler_Loop212 +ACB0 NmiHandler_Loop213 +ACB8 NmiHandler_Loop214 +ACBA NmiHandler_OnNonnegative22 +ACCD NmiHandler_Loop215 +ACD0 NmiHandler_Loop216 ACD4 Sub_ACD4 -ACD6 NmiHandler_OnNonnegative15 -ACDE NmiHandler_Loop153 +ACD6 NmiHandler_OnNonnegative23 +ACDE NmiHandler_Loop217 ACDF Sub_ACDF -ACE8 NmiHandler_Loop154 -ACF1 NmiHandler_Loop155 -AD02 NmiHandler_Loop156 -AD26 NmiHandler_Loop157 -AD2E NmiHandler_Loop158 -AD4D NmiHandler_Loop159 -AD5D NmiHandler_OnZero4 -AD63 NmiHandler_Loop160 -AD66 NmiHandler_Loop161 -AD6E NmiHandler_Loop162 -AD6F NmiHandler_Loop163 -AD85 NmiHandler_Loop164 -AD94 NmiHandler_Loop165 -ADA3 NmiHandler_Loop166 -ADAD NmiHandler_Loop167 -ADB7 NmiHandler_Loop168 -ADBE NmiHandler_Loop169 -ADC7 NmiHandler_Loop170 -ADD4 NmiHandler_Loop171 +ACE8 NmiHandler_Loop218 +ACF1 NmiHandler_Loop219 +AD02 NmiHandler_Loop220 +AD26 NmiHandler_Loop221 +AD2E NmiHandler_Loop222 +AD4D NmiHandler_Loop223 +AD5D NmiHandler_OnZero5 +AD63 NmiHandler_Loop224 +AD66 NmiHandler_Loop225 +AD6E NmiHandler_Loop226 +AD6F NmiHandler_Loop227 +AD85 NmiHandler_Loop228 +AD94 NmiHandler_Loop229 +ADA3 NmiHandler_Loop230 +ADAD NmiHandler_Loop231 +ADB7 NmiHandler_Loop232 +ADBE NmiHandler_Loop233 +ADC7 NmiHandler_Loop234 +ADD4 NmiHandler_Loop235 ADDA Sub_ADDA -AE1D NmiHandler_Loop172 -AE1F NmiHandler_Loop173 -AE2D NmiHandler_Loop174 -AE61 NmiHandler_Loop175 -AE7B NmiHandler_Loop176 +AE01 Sub_AE01 +AE1D NmiHandler_Loop236 +AE1F NmiHandler_Loop237 +AE2D NmiHandler_Loop238 +AE61 NmiHandler_Loop239 +AE7B NmiHandler_Loop240 +AEAB Sub_AEAB +AEB1 NmiHandler_Loop241 +AEB3 NmiHandler_Loop242 +AEBE NmiHandler_Loop243 +AED1 NmiHandler_Loop244 +AEDB Sub_AEDB +AEED NmiHandler_Loop245 +AF06 NmiHandler_Loop246 +AF22 NmiHandler_Loop247 +AF2A NmiHandler_Loop248 +AF42 NmiHandler_Loop249 +AF55 NmiHandler_Loop250 +AF5F NmiHandler_Loop251 +AF7C NmiHandler_Loop252 +AF7D NmiHandler_Loop253 +AF91 NmiHandler_Loop254 +AF9B NmiHandler_Loop255 +AFA4 NmiHandler_Loop256 +AFB2 NmiHandler_Loop257 +AFCB NmiHandler_Loop258 +AFD5 NmiHandler_Loop259 +AFE1 NmiHandler_Loop260 +AFEA Sub_AFEA +AFFB NmiHandler_Loop261 +B017 NmiHandler_Loop262 +B031 NmiHandler_Loop263 +B03F NmiHandler_Loop264 +B049 NmiHandler_Loop265 +B055 NmiHandler_Loop266 +B069 NmiHandler_Loop267 +B073 NmiHandler_OnNonnegative24 +B083 NmiHandler_Loop268 +B0A7 NmiHandler_Loop269 +B0C3 NmiHandler_Loop270 +B0C8 NmiHandler_Loop271 +B0CE Sub_B0CE +B0D2 NmiHandler_Loop272 +B0E2 NmiHandler_Loop273 +B0E6 NmiHandler_Loop274 +B0F4 NmiHandler_Loop275 +B102 NmiHandler_Loop276 +B11F NmiHandler_Loop277 +B12C NmiHandler_Loop278 +B12F NmiHandler_Loop279 +B142 NmiHandler_Loop280 +B148 NmiHandler_Loop281 +B153 NmiHandler_Loop282 +B15C NmiHandler_Loop283 +B15D Sub_B15D +B16C NmiHandler_Loop284 +B175 NmiHandler_OnCarryClear4 +B17D Sub_B17D +B1A1 NmiHandler_Loop285 +B1A7 NmiHandler_OnNonzero30 +B1AD NmiHandler_Loop286 +B1C7 NmiHandler_Loop287 +B1C9 Sub_B1C9 +B1CF NmiHandler_Loop288 +B1D0 Sub_B1D0 B1E3 Sub_B1E3 -B1F6 NmiHandler_Loop177 -B204 NmiHandler_Loop178 -B212 NmiHandler_Loop179 -B21F NmiHandler_Loop180 -B226 NmiHandler_Loop181 -B22F NmiHandler_Loop182 +B1F6 NmiHandler_Loop289 +B204 NmiHandler_Loop290 +B206 NmiHandler_Loop291 +B208 Sub_B208 +B212 NmiHandler_Loop292 +B21F NmiHandler_Loop293 +B220 Sub_B220 +B226 NmiHandler_Loop294 +B22F NmiHandler_Loop295 +B231 Sub_B231 +B23F NmiHandler_Loop296 B243 Sub_B243 -B253 NmiHandler_Loop183 -B25B NmiHandler_Loop184 -B276 NmiHandler_Loop185 -B292 NmiHandler_Loop186 -B2B9 NmiHandler_Loop187 +B253 NmiHandler_Loop297 +B25B NmiHandler_Loop298 +B276 NmiHandler_Loop299 +B292 NmiHandler_Loop300 +B2B9 NmiHandler_Loop301 +B2BA Sub_B2BA B2C8 Sub_B2C8 -B2CA Sub_B2CA -B2E6 NmiHandler_Loop188 -B2E9 NmiHandler_Loop189 -B2F5 NmiHandler_Loop190 -B2F8 NmiHandler_Loop191 -B2FE NmiHandler_Loop192 -B313 NmiHandler_Loop193 -B33D NmiHandler_Loop194 -B34B NmiHandler_Loop195 -B354 NmiHandler_Loop196 -B355 NmiHandler_Loop197 -B362 NmiHandler_Loop198 -B37D NmiHandler_Loop199 -B3CD NmiHandler_Loop200 -B3D0 NmiHandler_Loop201 +B2CA NmiHandler_Loop302 +B2E6 NmiHandler_Loop303 +B2E9 NmiHandler_Loop304 +B2F5 NmiHandler_Loop305 +B2F8 NmiHandler_Loop306 +B2FE NmiHandler_Loop307 +B313 NmiHandler_Loop308 +B33D NmiHandler_Loop309 +B34B NmiHandler_Loop310 +B354 NmiHandler_Loop311 +B355 NmiHandler_Loop312 +B362 NmiHandler_Loop313 +B37D NmiHandler_Loop314 +B3CD NmiHandler_Loop315 +B3D0 NmiHandler_Loop316 B3E7 Sub_B3E7 -B3FA NmiHandler_Loop202 -B42F NmiHandler_Loop203 -B464 NmiHandler_Loop204 +B3FA NmiHandler_Loop317 +B42F NmiHandler_Loop318 +B464 NmiHandler_Loop319 B467 Sub_B467 -B47C NmiHandler_Loop205 -B486 NmiHandler_OnNonnegative16 -B4A2 NmiHandler_Loop206 -B4AC NmiHandler_Loop207 -B4B5 NmiHandler_Loop208 +B47C NmiHandler_Loop320 +B486 NmiHandler_OnNonnegative25 +B4A2 NmiHandler_Loop321 +B4AC NmiHandler_Loop322 +B4B5 NmiHandler_Loop323 B4BE Sub_B4BE -B4C8 NmiHandler_Loop209 -B4CF NmiHandler_Loop210 -B4DA NmiHandler_Loop211 -B4FB NmiHandler_Loop212 -B507 NmiHandler_Loop213 -B512 NmiHandler_OnNonnegative17 -B54C NmiHandler_Loop214 -B557 NmiHandler_Loop215 +B4C8 NmiHandler_Loop324 +B4CF NmiHandler_Loop325 +B4DA NmiHandler_Loop326 +B4FB NmiHandler_Loop327 +B507 NmiHandler_Loop328 +B512 NmiHandler_OnNonnegative26 +B54C NmiHandler_Loop329 +B557 NmiHandler_Loop330 B560 Sub_B560 -B574 NmiHandler_Loop216 -B57F NmiHandler_Loop217 +B574 NmiHandler_Loop331 +B57F NmiHandler_Loop332 B587 Sub_B587 -B59A NmiHandler_OnNonnegative18 -B5B4 NmiHandler_OnNonzero22 -B5D9 NmiHandler_Loop218 -B5E0 NmiHandler_Loop219 +B59A NmiHandler_OnNonnegative27 +B5B4 NmiHandler_OnNonzero31 +B5D9 NmiHandler_Loop333 +B5E0 NmiHandler_Loop334 B5E7 Sub_B5E7 -B5F5 NmiHandler_OnNonnegative19 -B613 NmiHandler_Loop220 -B622 NmiHandler_Loop221 +B5F5 NmiHandler_OnNonnegative28 +B613 NmiHandler_Loop335 +B622 NmiHandler_Loop336 B62A Sub_B62A -B62F NmiHandler_OnCarryClear3 -B632 NmiHandler_Loop222 -B64D NmiHandler_Loop223 -B64F NmiHandler_Loop224 -B65C NmiHandler_Loop225 -B67E NmiHandler_Loop226 -B68F NmiHandler_Loop227 -B693 NmiHandler_OnNonzero23 -B6C2 NmiHandler_Loop228 +B62F NmiHandler_OnCarryClear5 +B632 NmiHandler_Loop337 +B64D NmiHandler_Loop338 +B64F NmiHandler_Loop339 +B65C NmiHandler_Loop340 +B67E NmiHandler_Loop341 +B68F NmiHandler_Loop342 +B693 NmiHandler_OnNonzero32 +B6C2 NmiHandler_Loop343 B714 Sub_B714 -B73C NmiHandler_Loop229 -B755 NmiHandler_Loop230 -B75B NmiHandler_OnNonzero24 -B786 NmiHandler_Loop231 +B73C NmiHandler_Loop344 +B755 NmiHandler_Loop345 +B75B NmiHandler_OnNonzero33 +B786 NmiHandler_Loop346 B789 Sub_B789 -B78B NmiHandler_OnNonnegative20 -B7B2 NmiHandler_Loop232 -B7B9 NmiHandler_Loop233 -B7C2 NmiHandler_Loop234 -B7DF NmiHandler_Loop235 -B7ED NmiHandler_Loop236 -B7F6 NmiHandler_Loop237 +B78B NmiHandler_OnNonnegative29 +B7B2 NmiHandler_Loop347 +B7B9 NmiHandler_Loop348 +B7C2 NmiHandler_Loop349 +B7DF NmiHandler_Loop350 +B7ED NmiHandler_Loop351 +B7F6 NmiHandler_Loop352 +B826 NmiHandler_Loop353 +B82D NmiHandler_Loop354 +B837 NmiHandler_OnCarrySet2 +B857 NmiHandler_Loop355 +B85A NmiHandler_Loop356 +B86E NmiHandler_Loop357 +B87C NmiHandler_Loop358 +B888 NmiHandler_Loop359 +B889 Sub_B889 +B88B NmiHandler_OnNonnegative30 +B897 NmiHandler_Loop360 B899 Sub_B899 -B89B NmiHandler_OnNonnegative21 -B8BF NmiHandler_Loop238 -B8C9 NmiHandler_Loop239 +B89B NmiHandler_OnNonnegative31 +B8BF NmiHandler_Loop361 +B8C9 NmiHandler_Loop362 B8CD Sub_B8CD -B8CF NmiHandler_OnNonnegative22 -B8D8 NmiHandler_Loop240 -B8F2 NmiHandler_Loop241 +B8CF NmiHandler_OnNonnegative32 +B8D8 NmiHandler_Loop363 +B8F2 NmiHandler_Loop364 B8FD Sub_B8FD -B8FF NmiHandler_OnNonnegative23 -B972 NmiHandler_Loop242 +B8FF NmiHandler_OnNonnegative33 +B972 NmiHandler_Loop365 B976 Sub_B976 -B978 NmiHandler_OnNonnegative24 -B9A0 NmiHandler_Loop243 +B978 NmiHandler_OnNonnegative34 +B9A0 NmiHandler_Loop366 B9A4 Sub_B9A4 -B9A6 NmiHandler_OnNonnegative25 -B9B6 NmiHandler_OnNonzero25 -B9B8 NmiHandler_OnNonzero26 -B9CE NmiHandler_Loop244 +B9A6 NmiHandler_OnNonnegative35 +B9B6 NmiHandler_OnNonzero34 +B9B8 NmiHandler_OnNonzero35 +B9CE NmiHandler_Loop367 B9D8 Sub_B9D8 -B9DA NmiHandler_OnNonnegative26 -B9F4 NmiHandler_Loop245 +B9DA NmiHandler_OnNonnegative36 +B9F4 NmiHandler_Loop368 B9F9 Sub_B9F9 BA0D Sub_BA0D -BA0F NmiHandler_OnNonnegative27 -BA25 NmiHandler_Loop246 +BA0F NmiHandler_OnNonnegative37 +BA25 NmiHandler_Loop369 BA36 Sub_BA36 BA3A Sub_BA3A -BA48 NmiHandler_OnNonnegative28 -BA54 NmiHandler_OnNonnegative29 -BA86 NmiHandler_Loop247 -BA88 NmiHandler_Loop248 -BA9D NmiHandler_Loop249 -BAA4 NmiHandler_Loop250 +BA48 NmiHandler_OnNonnegative38 +BA54 NmiHandler_OnNonnegative39 +BA86 NmiHandler_Loop370 +BA88 NmiHandler_Loop371 +BA9D NmiHandler_Loop372 +BAA4 NmiHandler_Loop373 BAA5 Sub_BAA5 -BAAF NmiHandler_Loop251 -BAB4 NmiHandler_OnNonzero27 -BAB5 NmiHandler_Loop252 -BACA NmiHandler_Loop253 -BAD0 NmiHandler_Loop254 -BAD8 NmiHandler_Loop255 +BAAF NmiHandler_Loop374 +BAB4 NmiHandler_OnNonzero36 +BAB5 NmiHandler_Loop375 +BACA NmiHandler_Loop376 +BAD0 NmiHandler_Loop377 +BAD8 NmiHandler_Loop378 BADD Sub_BADD -BAEF NmiHandler_Loop256 -BAF3 NmiHandler_OnNonzero28 -BB47 NmiHandler_Loop257 -BB6E NmiHandler_Loop258 +BAEF NmiHandler_Loop379 +BAF3 NmiHandler_OnNonzero37 +BB47 NmiHandler_Loop380 +BB48 Sub_BB48 +BB6E NmiHandler_Loop381 BDC4 Sub_BDC4 -BDDD NmiHandler_Loop259 -BDE5 NmiHandler_Loop260 -BDE7 NmiHandler_Loop261 -BDF1 NmiHandler_OnZero5 -BDFF NmiHandler_Loop262 -BE1C NmiHandler_Loop263 -BE30 NmiHandler_Loop264 -BE38 NmiHandler_Loop265 -BE43 NmiHandler_Loop266 -BE46 NmiHandler_Loop267 -BE63 NmiHandler_OnNonzero29 -BE64 NmiHandler_Loop268 -BE6C NmiHandler_Loop269 -BE7B NmiHandler_Loop270 -BE86 NmiHandler_Loop271 -BE8A NmiHandler_Loop272 -BEAC NmiHandler_Loop273 -BEB9 NmiHandler_Loop274 -BEC0 NmiHandler_Loop275 -BEDB NmiHandler_Loop276 -BEE0 NmiHandler_Loop277 -BF0B NmiHandler_Loop278 +BDDD NmiHandler_Loop382 +BDE5 NmiHandler_Loop383 +BDE7 NmiHandler_Loop384 +BDF1 NmiHandler_OnZero6 +BDFF NmiHandler_Loop385 +BE1C NmiHandler_Loop386 +BE30 NmiHandler_Loop387 +BE38 NmiHandler_Loop388 +BE43 NmiHandler_Loop389 +BE46 NmiHandler_Loop390 +BE4F NmiHandler_Loop391 +BE63 NmiHandler_OnNonzero38 +BE64 NmiHandler_Loop392 +BE6C NmiHandler_Loop393 +BE7B NmiHandler_Loop394 +BE86 NmiHandler_Loop395 +BE8A NmiHandler_Loop396 +BEAC NmiHandler_Loop397 +BEB9 NmiHandler_Loop398 +BEC0 NmiHandler_Loop399 +BEDB NmiHandler_Loop400 +BEE0 NmiHandler_Loop401 +BF0B NmiHandler_Loop402 BF15 Sub_BF15 -BF36 NmiHandler_Loop279 +BF36 NmiHandler_Loop403 BF3E Sub_BF3E -BF42 NmiHandler_OnNonzero30 -BF4C NmiHandler_Loop280 -BF4F NmiHandler_Loop281 -BF5C NmiHandler_OnZero6 -BF61 NmiHandler_Loop282 -BF65 NmiHandler_OnZero7 -BF68 NmiHandler_Loop283 -BF76 NmiHandler_Loop284 -BF7E NmiHandler_Loop285 -BF8A NmiHandler_Loop286 -BF96 NmiHandler_Loop287 -BFA3 NmiHandler_Loop288 -BFA7 NmiHandler_Loop289 -BFAB NmiHandler_Loop290 +BF42 NmiHandler_OnNonzero39 +BF4C NmiHandler_Loop404 +BF4F NmiHandler_Loop405 +BF5C NmiHandler_OnZero7 +BF61 NmiHandler_Loop406 +BF65 NmiHandler_OnZero8 +BF68 NmiHandler_Loop407 +BF76 NmiHandler_Loop408 +BF7E NmiHandler_Loop409 +BF8A NmiHandler_Loop410 +BF96 NmiHandler_Loop411 +BFA3 NmiHandler_Loop412 +BFA7 NmiHandler_Loop413 +BFAB NmiHandler_Loop414 BFB2 Sub_BFB2 BFB4 Sub_BFB4 -BFBF NmiHandler_Loop291 -BFE4 NmiHandler_Loop292 -BFEC NmiHandler_Loop293 -BFEE NmiHandler_Loop294 -C010 NmiHandler_Loop295 -C018 NmiHandler_Loop296 -C01E NmiHandler_Loop297 +BFBF NmiHandler_Loop415 +BFE4 NmiHandler_Loop416 +BFEC NmiHandler_Loop417 +BFEE NmiHandler_Loop418 +C010 NmiHandler_Loop419 +C018 NmiHandler_Loop420 +C01E NmiHandler_Loop421 C01F Sub_C01F C034 Sub_C034 -C036 NmiHandler_OnNonnegative30 -C05A NmiHandler_Loop298 +C036 NmiHandler_OnNonnegative40 +C05A NmiHandler_Loop422 C05E Sub_C05E -C078 NmiHandler_Loop299 -C087 NmiHandler_Loop300 -C093 NmiHandler_Loop301 +C078 NmiHandler_Loop423 +C087 NmiHandler_Loop424 +C093 NmiHandler_Loop425 C094 Sub_C094 C0B6 Sub_C0B6 -C0D7 NmiHandler_Loop302 +C0D7 NmiHandler_Loop426 C0F3 Sub_C0F3 -C103 NmiHandler_Loop303 -C109 NmiHandler_Loop304 -C119 NmiHandler_Loop305 -C11F NmiHandler_Loop306 -C122 NmiHandler_Loop307 +C103 NmiHandler_Loop427 +C109 NmiHandler_Loop428 +C119 NmiHandler_Loop429 +C11F NmiHandler_Loop430 +C122 NmiHandler_Loop431 C125 Sub_C125 -C154 NmiHandler_Loop308 +C154 NmiHandler_Loop432 C169 Sub_C169 -C197 NmiHandler_Loop309 -C19D NmiHandler_Loop310 -C1A4 NmiHandler_Loop311 +C197 NmiHandler_Loop433 +C19D NmiHandler_Loop434 +C1A4 NmiHandler_Loop435 C1B9 Sub_C1B9 -C1BB NmiHandler_OnNonnegative31 -C1CB NmiHandler_Loop312 -C1D4 NmiHandler_Loop313 -C1F3 NmiHandler_Loop314 +C1BB NmiHandler_OnNonnegative41 +C1CB NmiHandler_Loop436 +C1D4 NmiHandler_Loop437 +C1F3 NmiHandler_Loop438 C1F7 Sub_C1F7 -C1FB NmiHandler_OnNonnegative32 -C203 NmiHandler_Loop315 +C1FB NmiHandler_OnNonnegative42 +C203 NmiHandler_Loop439 C208 Sub_C208 -C218 NmiHandler_Loop316 -C221 NmiHandler_OnNonzero31 -C224 NmiHandler_Loop317 +C218 NmiHandler_Loop440 +C221 NmiHandler_OnNonzero40 +C224 NmiHandler_Loop441 C226 Sub_C226 -C241 NmiHandler_Loop318 -C26A NmiHandler_Loop319 -C270 NmiHandler_Loop320 -C291 NmiHandler_Loop321 -C2AA NmiHandler_Loop322 -C2B2 NmiHandler_Loop323 -C2C6 NmiHandler_Loop324 -C2EF NmiHandler_Loop325 -C2F2 NmiHandler_Loop326 +C241 NmiHandler_Loop442 +C26A NmiHandler_Loop443 +C270 NmiHandler_Loop444 +C291 NmiHandler_Loop445 +C2AA NmiHandler_Loop446 +C2B2 NmiHandler_Loop447 +C2C6 NmiHandler_Loop448 +C2EF NmiHandler_Loop449 +C2F2 NmiHandler_Loop450 C2F8 Sub_C2F8 -C306 NmiHandler_Loop327 -C307 NmiHandler_Loop328 -C310 NmiHandler_Loop329 -C319 NmiHandler_Loop330 -C321 NmiHandler_Loop331 +C306 NmiHandler_Loop451 +C307 NmiHandler_Loop452 +C310 NmiHandler_Loop453 +C319 NmiHandler_Loop454 +C321 NmiHandler_Loop455 C322 Sub_C322 C336 Sub_C336 -C33D NmiHandler_Loop332 -C355 NmiHandler_OnZero8 -C358 NmiHandler_Loop333 -C364 NmiHandler_Loop334 +C33D NmiHandler_Loop456 +C355 NmiHandler_OnZero9 +C358 NmiHandler_Loop457 +C364 NmiHandler_Loop458 C36B Sub_C36B -C37C NmiHandler_Loop335 -C389 NmiHandler_Loop336 -C38E NmiHandler_Loop337 -C391 NmiHandler_Loop338 -C39C NmiHandler_Loop339 -C3A2 NmiHandler_Loop340 -C3AA NmiHandler_Loop341 -C3B0 NmiHandler_Loop342 -C3BA NmiHandler_Loop343 -C3C2 NmiHandler_Loop344 -C3CB NmiHandler_Loop345 -C403 NmiHandler_Loop346 -C408 NmiHandler_Loop347 -C415 NmiHandler_OnZero9 -C41E NmiHandler_Loop348 +C37C NmiHandler_Loop459 +C389 NmiHandler_Loop460 +C38E NmiHandler_Loop461 +C391 NmiHandler_Loop462 +C39C NmiHandler_Loop463 +C3A2 NmiHandler_Loop464 +C3AA NmiHandler_Loop465 +C3B0 NmiHandler_Loop466 +C3BA NmiHandler_Loop467 +C3C2 NmiHandler_Loop468 +C3CB NmiHandler_Loop469 +C403 NmiHandler_Loop470 +C408 NmiHandler_Loop471 +C415 NmiHandler_OnZero10 +C41E NmiHandler_Loop472 C429 Sub_C429 C430 Sub_C430 C432 Sub_C432 C433 Sub_C433 -C45B NmiHandler_Loop349 +C45B NmiHandler_Loop473 C462 Sub_C462 -C467 NmiHandler_OnCarryClear4 -C46A NmiHandler_Loop350 -C497 NmiHandler_Loop351 -C4A3 NmiHandler_Loop352 -C4AB NmiHandler_Loop353 -C4CE NmiHandler_Loop354 -C4E2 NmiHandler_Loop355 -C4E5 NmiHandler_Loop356 -C4F8 NmiHandler_Loop357 -C517 NmiHandler_Loop358 -C521 NmiHandler_Loop359 -C541 NmiHandler_Loop360 +C467 NmiHandler_OnCarryClear6 +C46A NmiHandler_Loop474 +C497 NmiHandler_Loop475 +C4A3 NmiHandler_Loop476 +C4AB NmiHandler_Loop477 +C4CE NmiHandler_Loop478 +C4E2 NmiHandler_Loop479 +C4E5 NmiHandler_Loop480 +C4F8 NmiHandler_Loop481 +C517 NmiHandler_Loop482 +C521 NmiHandler_Loop483 +C541 NmiHandler_Loop484 C547 Sub_C547 -C585 NmiHandler_Loop361 -C58F NmiHandler_Loop362 -C59A NmiHandler_Loop363 -C5BC NmiHandler_Loop364 -C5E4 NmiHandler_Loop365 -C5E9 NmiHandler_Loop366 -C5F9 NmiHandler_Loop367 -C5FC NmiHandler_Loop368 +C585 NmiHandler_Loop485 +C58F NmiHandler_Loop486 +C59A NmiHandler_Loop487 +C5BC NmiHandler_Loop488 +C5E4 NmiHandler_Loop489 +C5E9 NmiHandler_Loop490 +C5F9 NmiHandler_Loop491 +C5FC NmiHandler_Loop492 C5FD Sub_C5FD -C601 NmiHandler_OnNonnegative33 -C624 NmiHandler_OnNonzero32 -C651 NmiHandler_Loop369 -C656 NmiHandler_Loop370 +C601 NmiHandler_OnNonnegative43 +C624 NmiHandler_OnNonzero41 +C651 NmiHandler_Loop493 +C656 NmiHandler_Loop494 C65B Sub_C65B -C669 NmiHandler_Loop371 -C671 NmiHandler_Loop372 -C678 NmiHandler_Loop373 -C6A0 NmiHandler_Loop374 -C6A7 NmiHandler_Loop375 -C6B2 NmiHandler_OnCarrySet2 -C6BA NmiHandler_Loop376 -C6C0 NmiHandler_Loop377 -C6DB NmiHandler_Loop378 -C6E2 NmiHandler_Loop379 -C6ED NmiHandler_OnCarrySet3 -C6F5 NmiHandler_Loop380 -C6FB NmiHandler_Loop381 -C6FD NmiHandler_OnZero10 +C669 NmiHandler_Loop495 +C671 NmiHandler_Loop496 +C678 NmiHandler_Loop497 +C6A0 NmiHandler_Loop498 +C6A7 NmiHandler_Loop499 +C6B2 NmiHandler_OnCarrySet3 +C6BA NmiHandler_Loop500 +C6C0 NmiHandler_Loop501 +C6DB NmiHandler_Loop502 +C6E2 NmiHandler_Loop503 +C6ED NmiHandler_OnCarrySet4 +C6F5 NmiHandler_Loop504 +C6FB NmiHandler_Loop505 +C6FD NmiHandler_OnZero11 C6FE Sub_C6FE -C71A NmiHandler_OnNonzero33 -C725 NmiHandler_OnNonzero34 -C743 NmiHandler_Loop382 -C74A NmiHandler_Loop383 -C756 NmiHandler_Loop384 -C75F NmiHandler_OnNonnegative34 +C715 Sub_C715 +C71A NmiHandler_OnNonzero42 +C725 NmiHandler_OnNonzero43 +C743 NmiHandler_Loop506 +C74A NmiHandler_Loop507 +C756 NmiHandler_Loop508 +C75F NmiHandler_OnNonnegative44 C772 Sub_C772 -C789 NmiHandler_OnCarryClear5 +C789 NmiHandler_OnCarryClear7 C79E Sub_C79E -C7AA NmiHandler_OnNonzero35 +C7A5 Sub_C7A5 +C7AA NmiHandler_OnNonzero44 C7AB Sub_C7AB -C7CC NmiHandler_Loop385 -C7D1 NmiHandler_OnNonnegative35 -C804 NmiHandler_OnNonnegative36 -C81F NmiHandler_OnNonzero36 -C834 NmiHandler_Loop386 -C841 NmiHandler_Loop387 +C7CC NmiHandler_Loop509 +C7D1 NmiHandler_OnNonnegative45 +C804 NmiHandler_OnNonnegative46 +C81F NmiHandler_OnNonzero45 +C834 NmiHandler_Loop510 +C841 NmiHandler_Loop511 C85E Sub_C85E -C87C NmiHandler_Loop388 -C88B NmiHandler_OnZero11 +C87C NmiHandler_Loop512 +C88B NmiHandler_OnZero12 C88C Sub_C88C -C8A1 NmiHandler_Loop389 -C8A6 NmiHandler_OnZero12 -C8AC NmiHandler_Loop390 -C8C6 NmiHandler_Loop391 -C8E5 NmiHandler_Loop392 -C92D NmiHandler_Loop393 -C93C NmiHandler_Loop394 +C8A1 NmiHandler_Loop513 +C8A6 NmiHandler_OnZero13 +C8AC NmiHandler_Loop514 +C8C6 NmiHandler_Loop515 +C8E5 NmiHandler_Loop516 +C92D NmiHandler_Loop517 +C93C NmiHandler_Loop518 C93D Sub_C93D -C93F NmiHandler_OnNonnegative37 -C97D NmiHandler_Loop395 -C97F NmiHandler_Loop396 -C9B7 NmiHandler_Loop397 +C93F NmiHandler_OnNonnegative47 +C97D NmiHandler_Loop519 +C97F NmiHandler_Loop520 +C9B7 NmiHandler_Loop521 +C9BB Sub_C9BB +C9CC NmiHandler_Loop522 +C9F7 NmiHandler_Loop523 +C9FD NmiHandler_Loop524 +C9FE NmiHandler_Loop525 +CA17 NmiHandler_Loop526 +CA22 NmiHandler_Loop527 +CA38 NmiHandler_Loop528 +CA42 NmiHandler_Loop529 +CA58 NmiHandler_Loop530 +CA6E NmiHandler_Loop531 +CA80 NmiHandler_Loop532 +CABD NmiHandler_Loop533 +CACE NmiHandler_Loop534 +CAD4 NmiHandler_Loop535 +CAE1 NmiHandler_Loop536 +CAE3 NmiHandler_Loop537 +CB14 NmiHandler_Loop538 +CB15 Sub_CB15 +CB22 Sub_CB22 +CB2F Sub_CB2F +CB3E Sub_CB3E CB50 Sub_CB50 -CB74 NmiHandler_Loop398 -CB76 NmiHandler_Loop399 -CBA2 NmiHandler_Loop400 +CB74 NmiHandler_Loop539 +CB76 NmiHandler_Loop540 +CBA2 NmiHandler_Loop541 CBA4 Sub_CBA4 -CBA7 NmiHandler_OnCarrySet4 -CBBE NmiHandler_Loop401 -CBC4 NmiHandler_Loop402 -CBC8 NmiHandler_OnNonnegative38 +CBA7 NmiHandler_OnCarrySet5 +CBBE NmiHandler_Loop542 +CBC4 NmiHandler_Loop543 +CBC8 NmiHandler_OnNonnegative48 CBCF Sub_CBCF -CBE9 NmiHandler_OnNonzero37 +CBE9 NmiHandler_OnNonzero46 CBFF Sub_CBFF -CC09 NmiHandler_OnNonzero38 -CC15 NmiHandler_Loop403 -CC1C NmiHandler_Loop404 -CC26 NmiHandler_OnNonnegative39 -CC30 NmiHandler_Loop405 +CC09 NmiHandler_OnNonzero47 +CC15 NmiHandler_Loop544 +CC1C NmiHandler_Loop545 +CC26 NmiHandler_OnNonnegative49 +CC30 NmiHandler_Loop546 CC31 Sub_CC31 -CC3D NmiHandler_Loop406 -CC55 NmiHandler_OnNonzero39 +CC3D NmiHandler_Loop547 +CC55 NmiHandler_OnNonzero48 CC6B Sub_CC6B -CC85 NmiHandler_Loop407 +CC85 NmiHandler_Loop548 +CC91 Sub_CC91 +CC93 NmiHandler_OnNonnegative50 +CC9D Sub_CC9D +CCBE NmiHandler_Loop549 +CCC3 NmiHandler_Loop550 +CCC5 NmiHandler_OnNonzero49 +CCC7 Sub_CCC7 +CCCF NmiHandler_OnNonnegative51 CCE8 Sub_CCE8 -CD04 NmiHandler_Loop408 +CD04 NmiHandler_Loop551 CD05 Sub_CD05 -CD18 NmiHandler_Loop409 +CD18 NmiHandler_Loop552 CD26 Sub_CD26 CD5A Sub_CD5A -CD60 NmiHandler_OnNonzero40 -CD61 NmiHandler_Loop410 -CDAB NmiHandler_Loop411 -CDD7 NmiHandler_Loop412 -D005 NmiHandler_Loop413 -D013 NmiHandler_Loop414 -D020 NmiHandler_Loop415 -D022 NmiHandler_Loop416 -D02C NmiHandler_Loop417 -D02F NmiHandler_Loop418 -D038 NmiHandler_Loop419 +CD60 NmiHandler_OnNonzero50 +CD61 NmiHandler_Loop553 +CDAB NmiHandler_Loop554 +CDD7 NmiHandler_Loop555 +CFCC Sub_CFCC +CFD7 NmiHandler_Loop556 +CFDD NmiHandler_Loop557 +CFEF NmiHandler_Loop558 +CFF6 Sub_CFF6 +CFFD NmiHandler_Loop559 +D005 NmiHandler_Loop560 +D013 NmiHandler_Loop561 +D020 NmiHandler_Loop562 +D022 NmiHandler_Loop563 +D02C NmiHandler_Loop564 +D02F NmiHandler_Loop565 +D038 NmiHandler_Loop566 +D039 NmiHandler_Loop567 +D06A NmiHandler_Loop568 +D073 NmiHandler_Loop569 +D07E NmiHandler_Loop570 +D084 NmiHandler_Loop571 +D0BC NmiHandler_Loop572 +D0C9 NmiHandler_Loop573 +D0CE NmiHandler_OnNonnegative52 +D0D4 NmiHandler_Loop574 +D0D5 NmiHandler_Loop575 +D0DF NmiHandler_Loop576 +D103 NmiHandler_Loop577 +D115 NmiHandler_Loop578 +D12B NmiHandler_Loop579 +D12E NmiHandler_Loop580 +D146 NmiHandler_Loop581 +D151 NmiHandler_Loop582 +D15F NmiHandler_Loop583 +D172 NmiHandler_Loop584 +D183 NmiHandler_OnNegative3 +D192 NmiHandler_Loop585 +D1AB NmiHandler_Loop586 +D1AE NmiHandler_Loop587 +D1AF NmiHandler_Loop588 +D1C0 NmiHandler_Loop589 +D1C3 Sub_D1C3 +D21F Sub_D21F +D228 NmiHandler_OnZero14 +D229 NmiHandler_Loop590 +D23E NmiHandler_Loop591 +D255 NmiHandler_OnZero15 +D26A NmiHandler_Loop592 +D273 NmiHandler_Loop593 +D282 NmiHandler_Loop594 +D28F NmiHandler_Loop595 +D293 NmiHandler_Loop596 +D2A3 NmiHandler_Loop597 +D2BE NmiHandler_Loop598 +D2C9 NmiHandler_Loop599 D2E3 Sub_D2E3 -D426 NmiHandler_OnZero13 -D434 NmiHandler_Loop420 -D43B NmiHandler_Loop421 -D474 NmiHandler_OnNonzero41 +D2E9 NmiHandler_OnZero16 +D2EF NmiHandler_Loop600 +D2F0 NmiHandler_Loop601 +D311 NmiHandler_Loop602 +D342 NmiHandler_Loop603 +D348 NmiHandler_Loop604 +D35D NmiHandler_Loop605 +D363 NmiHandler_Loop606 +D36A NmiHandler_Loop607 +D376 NmiHandler_Loop608 +D383 NmiHandler_Loop609 +D3C6 Sub_D3C6 +D3E6 NmiHandler_Loop610 +D3E7 NmiHandler_Loop611 +D3F6 NmiHandler_OnNonzero51 +D40F Sub_D40F +D41E NmiHandler_Loop612 +D426 NmiHandler_OnZero17 +D42A NmiHandler_OnNegative4 +D434 NmiHandler_Loop613 +D43B NmiHandler_Loop614 +D46C NmiHandler_Loop615 +D474 NmiHandler_Loop616 D487 Sub_D487 -D4A2 NmiHandler_Loop422 -D4AE NmiHandler_OnNonnegative40 -D4CD NmiHandler_Loop423 -D4D8 NmiHandler_Loop424 -D4DD NmiHandler_Loop425 +D4A2 NmiHandler_Loop617 +D4AE NmiHandler_OnNonnegative53 +D4CD NmiHandler_Loop618 +D4D8 NmiHandler_Loop619 +D4DD NmiHandler_Loop620 D4DF Sub_D4DF D4E3 Sub_D4E3 -D4E5 NmiHandler_Loop426 -D4F6 NmiHandler_Loop427 -D559 NmiHandler_Loop428 -D55F NmiHandler_Loop429 -D563 NmiHandler_OnNonzero42 -D566 NmiHandler_Loop430 -D57D NmiHandler_Loop431 -D58B NmiHandler_Loop432 -D591 NmiHandler_Loop433 -D597 NmiHandler_Loop434 -D59E NmiHandler_Loop435 -D5BA Sub_D5BA -D5CB NmiHandler_Loop436 +D4E5 NmiHandler_Loop621 +D4E7 Sub_D4E7 +D4F6 NmiHandler_Loop622 +D505 Sub_D505 +D51A Sub_D51A +D53C NmiHandler_Loop623 +D544 NmiHandler_Loop624 +D548 NmiHandler_Loop625 +D559 NmiHandler_Loop626 +D55F NmiHandler_Loop627 +D563 NmiHandler_OnNonzero52 +D566 NmiHandler_Loop628 +D569 Sub_D569 +D57D NmiHandler_Loop629 +D58B NmiHandler_Loop630 +D591 NmiHandler_Loop631 +D597 NmiHandler_Loop632 +D59E NmiHandler_Loop633 +D5A9 Sub_D5A9 +D5BA NmiHandler_Loop634 +D5CB NmiHandler_Loop635 D5CE Sub_D5CE -D5FA NmiHandler_Loop437 +D5FA NmiHandler_Loop636 D5FE Sub_D5FE -D600 NmiHandler_OnNonnegative41 -D612 NmiHandler_Loop438 +D600 NmiHandler_OnNonnegative54 +D612 NmiHandler_Loop637 +D615 NmiHandler_OnNonzero53 +D616 Sub_D616 +D62B NmiHandler_OnNonzero54 +D63A NmiHandler_Loop638 +D658 Sub_D658 +D673 NmiHandler_Loop639 +D67C Sub_D67C +D689 NmiHandler_Loop640 +D696 NmiHandler_Loop641 D697 Sub_D697 D699 Sub_D699 -D6CF NmiHandler_Loop439 -D6D1 NmiHandler_Loop440 -D6D7 NmiHandler_Loop441 -D6E3 NmiHandler_Loop442 -D6E6 NmiHandler_OnZero14 -D706 NmiHandler_Loop443 -D70E NmiHandler_Loop444 -D726 NmiHandler_Loop445 -D732 NmiHandler_Loop446 -D749 NmiHandler_Loop447 -D75F NmiHandler_Loop448 -D774 NmiHandler_Loop449 -D781 NmiHandler_Loop450 +D6CF NmiHandler_Loop642 +D6D1 NmiHandler_Loop643 +D6D7 NmiHandler_Loop644 +D6E3 NmiHandler_Loop645 +D6E6 NmiHandler_OnZero18 +D706 NmiHandler_Loop646 +D70E NmiHandler_Loop647 +D726 NmiHandler_Loop648 +D732 NmiHandler_Loop649 +D749 NmiHandler_Loop650 +D75F NmiHandler_Loop651 +D774 NmiHandler_Loop652 +D781 NmiHandler_Loop653 D787 Sub_D787 -D792 NmiHandler_Loop451 -D79E NmiHandler_Loop452 -D7AF NmiHandler_Loop453 -D7BD NmiHandler_Loop454 -D7DF NmiHandler_Loop455 -D7E4 NmiHandler_Loop456 -D7ED NmiHandler_Loop457 -D7F9 NmiHandler_Loop458 +D792 NmiHandler_Loop654 +D79E NmiHandler_Loop655 +D7AF NmiHandler_Loop656 +D7BD NmiHandler_Loop657 +D7DF NmiHandler_Loop658 +D7E4 NmiHandler_Loop659 +D7ED NmiHandler_Loop660 +D7F9 NmiHandler_Loop661 D7FA Sub_D7FA -D7FC NmiHandler_OnNonnegative42 -D83C NmiHandler_Loop459 -D930 NmiHandler_OnNonzero43 -D946 NmiHandler_Loop460 -D951 NmiHandler_Loop461 -DAEA NmiHandler_OnNonzero44 -DB01 NmiHandler_Loop462 -DB0E NmiHandler_Loop463 -DB13 NmiHandler_Loop464 -DB16 NmiHandler_OnNonzero45 -DB19 NmiHandler_Loop465 -DB32 NmiHandler_Loop466 +D7FC NmiHandler_OnNonnegative55 +D83C NmiHandler_Loop662 +D840 Sub_D840 +D863 NmiHandler_Loop663 +D86C NmiHandler_Loop664 +D875 NmiHandler_Loop665 +D87E NmiHandler_Loop666 +D88E NmiHandler_Loop667 +D890 NmiHandler_Loop668 +D893 NmiHandler_Loop669 +D89A NmiHandler_Loop670 +D8A9 NmiHandler_Loop671 +D8ED NmiHandler_Loop672 +D8EF NmiHandler_Loop673 +D8F0 Sub_D8F0 +D90B NmiHandler_Loop674 +D90F NmiHandler_Loop675 +D910 NmiHandler_Loop676 +D923 NmiHandler_Loop677 +D930 NmiHandler_OnNonzero55 +D931 Sub_D931 +D946 NmiHandler_Loop678 +D951 NmiHandler_Loop679 +D968 Sub_D968 +D983 NmiHandler_Loop680 +D987 NmiHandler_Loop681 +D988 NmiHandler_Loop682 +D999 NmiHandler_Loop683 +D99B NmiHandler_OnNonzero56 +D99C Sub_D99C +D9BF Sub_D9BF +D9E6 NmiHandler_OnNonzero57 +D9E7 NmiHandler_Loop684 +D9F3 NmiHandler_Loop685 +DA0E Sub_DA0E +DA26 NmiHandler_OnNonzero58 +DA2F NmiHandler_Loop686 +DA33 NmiHandler_Loop687 +DA3D NmiHandler_Loop688 +DA42 NmiHandler_Loop689 +DA4C NmiHandler_Loop690 +DA51 Sub_DA51 +DA9C NmiHandler_Loop691 +DAA7 NmiHandler_Loop692 +DAB7 NmiHandler_Loop693 +DAB8 Sub_DAB8 +DAD8 NmiHandler_Loop694 +DAE6 NmiHandler_Loop695 +DAEA NmiHandler_OnNonzero59 +DB01 NmiHandler_Loop696 +DB0E NmiHandler_Loop697 +DB13 NmiHandler_Loop698 +DB16 NmiHandler_OnNonzero60 +DB19 NmiHandler_Loop699 +DB32 NmiHandler_Loop700 DB3E Sub_DB3E F831 Sub_F831 F852 Sub_F852 F858 Sub_F858 -F85A NmiHandler_OnNonzero46 -F86B NmiHandler_Loop467 +F85A NmiHandler_OnNonzero61 +F86B NmiHandler_Loop701 F86C Sub_F86C F873 Sub_F873 F879 Sub_F879 F87D Sub_F87D -F887 NmiHandler_OnCarrySet5 F895 NmiHandler_OnCarrySet6 F8A6 NmiHandler_OnCarrySet7 F8B3 NmiHandler_OnCarrySet8 -F8D2 NmiHandler_Loop468 -F8D7 NmiHandler_Loop469 -F8DC NmiHandler_Loop470 +F8D2 NmiHandler_Loop702 +F8D7 NmiHandler_Loop703 +F8DC NmiHandler_Loop704 F8E7 Sub_F8E7 -F8EF NmiHandler_Loop471 +F8EF NmiHandler_Loop705 F8F0 Sub_F8F0 -F902 NmiHandler_Loop472 -F90F NmiHandler_Loop473 -F910 NmiHandler_Loop474 -F91D NmiHandler_Loop475 -F928 NmiHandler_Loop476 +F902 NmiHandler_Loop706 +F90F NmiHandler_Loop707 +F910 NmiHandler_Loop708 +F91D NmiHandler_Loop709 +F928 NmiHandler_Loop710 F92A NmiHandler_OnCarrySet9 F93A NmiHandler_OnCarrySet10 -F946 NmiHandler_Loop477 +F946 NmiHandler_Loop711 F948 NmiHandler_OnCarrySet11 F958 NmiHandler_OnCarrySet12 -F966 NmiHandler_Loop478 +F966 NmiHandler_Loop712 F967 Sub_F967 -F97E NmiHandler_Loop479 +F97E NmiHandler_Loop713 F9B9 NmiHandler_OnCarrySet13 F9BE NmiHandler_OnCarrySet14 F9C9 NmiHandler_OnCarrySet15 F9CE NmiHandler_OnCarrySet16 -F9D7 NmiHandler_Loop480 +F9D7 NmiHandler_Loop714 F9D9 Sub_F9D9 -F9F0 NmiHandler_Loop481 -FA01 NmiHandler_Loop482 -FA02 NmiHandler_Loop483 -FA07 NmiHandler_Loop484 -FA10 NmiHandler_Loop485 -FA12 NmiHandler_Loop486 -FA1B NmiHandler_Loop487 -FA26 NmiHandler_Loop488 -FA35 NmiHandler_Loop489 +F9F0 NmiHandler_Loop715 +FA01 NmiHandler_Loop716 +FA02 NmiHandler_Loop717 +FA07 NmiHandler_Loop718 +FA10 NmiHandler_Loop719 +FA12 NmiHandler_Loop720 +FA1B NmiHandler_Loop721 +FA26 NmiHandler_Loop722 +FA35 NmiHandler_Loop723 FA8A Sub_FA8A -FA98 NmiHandler_OnNonzero47 -FABE NmiHandler_Loop490 -FACD NmiHandler_Loop491 -FADC NmiHandler_Loop492 -FAEB NmiHandler_Loop493 -FAF0 NmiHandler_Loop494 -FAF5 NmiHandler_Loop495 -FAF6 NmiHandler_Loop496 -FB02 NmiHandler_Loop497 -FB12 NmiHandler_Loop498 -FB1A NmiHandler_Loop499 -FB1C NmiHandler_OnCarryClear6 -FB20 NmiHandler_Loop500 -FB22 NmiHandler_Loop501 -FB3B NmiHandler_Loop502 +FA98 NmiHandler_OnNonzero62 +FABE NmiHandler_Loop724 +FACD NmiHandler_Loop725 +FADC NmiHandler_Loop726 +FAEB NmiHandler_Loop727 +FAF0 NmiHandler_Loop728 +FAF5 NmiHandler_Loop729 +FAF6 NmiHandler_Loop730 +FB02 NmiHandler_Loop731 +FB12 NmiHandler_Loop732 +FB1A NmiHandler_Loop733 +FB1C NmiHandler_OnCarryClear8 +FB20 NmiHandler_Loop734 +FB22 NmiHandler_Loop735 +FB3B NmiHandler_Loop736 FB3C Sub_FB3C -FB45 NmiHandler_Loop503 -FB4D NmiHandler_Loop504 -FB51 NmiHandler_OnZero15 -FB56 NmiHandler_OnNonzero48 -FB68 NmiHandler_Loop505 -FB6C NmiHandler_OnCarryClear7 -FB70 NmiHandler_Loop506 -FBA5 NmiHandler_Loop507 -FBB6 NmiHandler_Loop508 -FBBE NmiHandler_Loop509 +FB45 NmiHandler_Loop737 +FB4D NmiHandler_Loop738 +FB51 NmiHandler_OnZero19 +FB56 NmiHandler_OnNonzero63 +FB68 NmiHandler_Loop739 +FB6C NmiHandler_OnCarryClear9 +FB70 NmiHandler_Loop740 +FBA5 NmiHandler_Loop741 +FBB6 NmiHandler_Loop742 +FBBE NmiHandler_Loop743 FBC2 Sub_FBC2 -FBD0 NmiHandler_Loop510 -FBDC NmiHandler_Loop511 -FBE8 NmiHandler_Loop512 -FBF6 NmiHandler_Loop513 -FBFE NmiHandler_Loop514 -FC03 NmiHandler_Loop515 -FC09 NmiHandler_Loop516 -FC1B NmiHandler_Loop517 -FC21 NmiHandler_Loop518 -FC36 NmiHandler_Loop519 -FC47 NmiHandler_Loop520 -FC4C NmiHandler_Loop521 -FC54 NmiHandler_Loop522 -FC62 NmiHandler_Loop523 -FC68 NmiHandler_Loop524 -FC8C NmiHandler_Loop525 -FC97 NmiHandler_Loop526 -FCA8 NmiHandler_Loop527 -FCAB NmiHandler_Loop528 -FCD8 NmiHandler_Loop529 +FBD0 NmiHandler_Loop744 +FBDC NmiHandler_Loop745 +FBE8 NmiHandler_Loop746 +FBF6 NmiHandler_Loop747 +FBFE NmiHandler_Loop748 +FC03 NmiHandler_Loop749 +FC09 NmiHandler_Loop750 +FC1B NmiHandler_Loop751 +FC21 NmiHandler_Loop752 +FC36 NmiHandler_Loop753 +FC47 NmiHandler_Loop754 +FC4C NmiHandler_Loop755 +FC54 NmiHandler_Loop756 +FC62 NmiHandler_Loop757 +FC68 NmiHandler_Loop758 +FC8C NmiHandler_Loop759 +FC97 NmiHandler_Loop760 +FCA8 NmiHandler_Loop761 +FCAB NmiHandler_Loop762 +FCD8 NmiHandler_Loop763 FCD9 Sub_FCD9 FCDF Sub_FCDF +FFF0 IrqHandler diff --git a/NROM/Kung Fu (U)/locals.inc b/NROM/Kung Fu (U)/locals.inc index bd9f6a7..7788419 100644 --- a/NROM/Kung Fu (U)/locals.inc +++ b/NROM/Kung Fu (U)/locals.inc @@ -4,144 +4,154 @@ ; 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 ; 167 refs; reads=80 writes=87; used at $8274, 8277, 8287, 82AA, +155 more -Zp01 = $01 ; 114 refs; reads=47 writes=67; used at $8270, 827C, 8282, 828C, +96 more -Zp02 = $02 ; 78 refs; reads=36 writes=42; used at $83BF, 83CD, 83D2, 8F25, +62 more -Zp03 = $03 ; 57 refs; reads=25 writes=32; used at $83C5, 8ED0, 8F08, 8F0D, +50 more -Zp04 = $04 ; 34 refs; reads=14 writes=20; used at $8FD3, AA01, AA0D, AAC6, +26 more -Zp05 = $05 ; 35 refs; reads=17 writes=18; used at $8ED6, 8F39, A6EB, A6F6, +28 more +Zp00 = $00 ; 219 refs; reads=100 writes=119; used at $8274, 8277, 8287, 82AA, +203 more +Zp01 = $01 ; 135 refs; reads=55 writes=80; used at $8270, 827C, 8282, 828C, +115 more +Zp02 = $02 ; 82 refs; reads=37 writes=45; used at $83BF, 83CD, 83D2, 8F25, +66 more +Zp03 = $03 ; 62 refs; reads=27 writes=35; used at $83C5, 8ED0, 8F08, 8F0D, +55 more +Zp04 = $04 ; 36 refs; reads=15 writes=21; used at $8FD3, AA01, AA0D, AAC6, +28 more +Zp05 = $05 ; 43 refs; reads=23 writes=20; used at $8ED6, 8F39, A6EB, A6F6, +36 more Zp06 = $06 ; 27 refs; reads=11 writes=16; used at $8F27, 8F4B, A5D3, A5DE, +23 more Zp07 = $07 ; 25 refs; reads=14 writes=11; used at $8ED2, 8EEC, 8EF2, 8F0A, +20 more Zp08 = $08 ; 9 refs; reads=4 writes=5; used at $8F0F, 8F11, 8F4D, B323, +3 more -Zp0A = $0A ; 39 refs; reads=19 writes=20; used at $8F1F, 8F47, B212, B637, +32 more +Zp0A = $0A ; 44 refs; reads=22 writes=22; used at $8F1F, 8F47, AEDF, AF10, +37 more Zp0B = $0B ; 9 refs; reads=3 writes=6; used at $B699, B6C0, B6C2, BFCE, +5 more Zp0D = $0D ; 8 refs; reads=4 writes=4; used at $C141, C14D, C152, C15E, +4 more Zp0E = $0E ; 7 refs; reads=3 writes=4; used at $B724, B73F, B780, C15A, +3 more -Zp0F = $0F ; 24 refs; reads=13 writes=11; used at $B3ED, B3F8, B3FA, B728, +19 more +Zp0F = $0F ; 26 refs; reads=14 writes=12; used at $B3ED, B3F8, B3FA, B728, +21 more Zp10 = $10 ; 11 refs; reads=6 writes=5; used at $82D6, 82DD, 838A, 8E18, +7 more Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $8304, 830B -Zp12 = $12 ; 14 refs; reads=12 writes=2; used at $8E88, 8FBA, A74D, A7A7, +10 more +Zp12 = $12 ; 16 refs; reads=13 writes=3; used at $8734, 8966, 8E88, 8FBA, +12 more Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $8FBF -Zp14 = $14 ; 6 refs; reads=5 writes=1; used at $836C, 8471, 87B1, 9008, +2 more +Zp14 = $14 ; 7 refs; reads=6 writes=1; used at $836C, 8471, 87B1, 892D, +3 more Zp15 = $15 ; 4 refs; reads=2 writes=2; used at $88E4, 9012, 9019, 902F -Zp18 = $18 ; 11 refs; reads=7 writes=4; used at $833B, 834B, 84EA, AA91, +4 more -Zp19 = $19 ; 7 refs; reads=6 writes=1; used at $8341, 834D, AB92, AC15, +2 more -Zp1A = $1A ; 4 refs; reads=3 writes=1; used at $834F, C58F, D018 -Zp1B = $1B ; 3 refs; reads=2 writes=1; used at $8351, A9DE +Zp18 = $18 ; 19 refs; reads=15 writes=4; used at $833B, 834B, 84EA, AA91, +12 more +Zp19 = $19 ; 15 refs; reads=14 writes=1; used at $8341, 834D, AB92, AC15, +10 more +Zp1A = $1A ; 7 refs; reads=6 writes=1; used at $834F, C58F, D018, D0A4, +2 more +Zp1B = $1B ; 4 refs; reads=3 writes=1; used at $8351, A9DE, D45D Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $8353 Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $8355 Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $8357 Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $8359 -Zp20 = $20 ; 5 refs; reads=1 writes=4; used at $8323, 8329, 837F, 84D4 -Zp21 = $21 ; 14 refs; reads=5 writes=9; used at $832D, 8331, A4FD, A535, +9 more +Zp20 = $20 ; 6 refs; reads=2 writes=4; used at $8323, 8329, 837F, 84D4, +1 more +Zp21 = $21 ; 21 refs; reads=9 writes=12; used at $832D, 8331, 8763, 89C6, +16 more Zp23 = $23 ; 4 refs; reads=3 writes=1; used at $A486, A82B, A866, A86D Zp24 = $24 ; 2 refs; reads=1 writes=1; used at $A503, A80F -Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $C1C6, C1CB +Zp25 = $25 ; 6 refs; reads=3 writes=3; used at $D151, D19D, D1C5, D226, +2 more +Zp26 = $26 ; 4 refs; reads=2 writes=2; used at $89D7, 89DD, C1C6, C1CB Zp27 = $27 ; 1 refs; reads=1 writes=0; used at $9808 Zp2A = $2A ; 2 refs; reads=1 writes=1; used at $A76B, A78A -Zp2B = $2B ; 7 refs; reads=3 writes=4; used at $B1F6, B1FC, BDF1, BDFD, +3 more -Zp30 = $30 ; 7 refs; reads=4 writes=3; used at $D02F, D475, D4E7, D4EE, +3 more +Zp2B = $2B ; 26 refs; reads=10 writes=16; used at $ACA9, AEA1, B108, B112, +22 more +Zp30 = $30 ; 24 refs; reads=13 writes=11; used at $8B94, CFDD, D02F, D307, +20 more +Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $D046, D06C, D138, D148 Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $8DD1, A9BF, AACC -Zp34 = $34 ; 2 refs; reads=1 writes=1; used at $D792, D79C -Zp35 = $35 ; 4 refs; reads=1 writes=3; used at $837C, 83B4, 84B8, 88BD -Zp36 = $36 ; 4 refs; reads=1 writes=3; used at $8463, 8859, 88A4, B262 -Zp38 = $38 ; 1 refs; reads=0 writes=1; used at $A70A -Zp39 = $39 ; 1 refs; reads=0 writes=1; used at $8DD5 +Zp34 = $34 ; 4 refs; reads=2 writes=2; used at $8C0B, 8C11, D792, D79C +Zp35 = $35 ; 5 refs; reads=1 writes=4; used at $837C, 83B4, 84B8, 88BD, +1 more +Zp36 = $36 ; 6 refs; reads=3 writes=3; used at $8463, 8466, 8859, 88A4, +2 more +Zp37 = $37 ; 2 refs; reads=1 writes=1; used at $874B, 876D +Zp38 = $38 ; 12 refs; reads=6 writes=6; used at $8992, 8998, 8AE8, 8B6F, +8 more +Zp39 = $39 ; 5 refs; reads=3 writes=2; used at $8975, 899E, 89FC, 8C3E, +1 more +Zp3A = $3A ; 7 refs; reads=3 writes=4; used at $86EE, 872A, D16D, D172, +3 more Zp3B = $3B ; 3 refs; reads=2 writes=1; used at $A72F, AA05, AAC0 -Zp3C = $3C ; 1 refs; reads=0 writes=1; used at $D428 -Zp3D = $3D ; 1 refs; reads=0 writes=1; used at $AC27 +Zp3C = $3C ; 6 refs; reads=2 writes=4; used at $A96B, D1C3, D23C, D357, +2 more +Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $AB48, AC27 Zp3E = $3E ; 2 refs; reads=1 writes=1; used at $C7C1, C7C7 -Zp3F = $3F ; 7 refs; reads=3 writes=4; used at $B2AA, BEE8, BEF8, BF5A, +3 more -Zp44 = $44 ; 2 refs; reads=0 writes=2; used at $D599, D5BA +Zp3F = $3F ; 19 refs; reads=8 writes=11; used at $AEBE, AF66, AF7A, AFFE, +15 more +Zp44 = $44 ; 10 refs; reads=4 writes=6; used at $D08C, D0AC, D1B7, D222, +6 more Zp47 = $47 ; 3 refs; reads=1 writes=2; used at $8DDE, CD07, CD13 -Zp49 = $49 ; 6 refs; reads=4 writes=2; used at $8336, 84D6, 881D, 8A07, +1 more +Zp49 = $49 ; 14 refs; reads=12 writes=2; used at $8336, 84D6, 881D, 8A07, +9 more Zp4A = $4A ; 5 refs; reads=2 writes=3; used at $84D8, A9C3, A9C7, AAE7 -Zp4B = $4B ; 19 refs; reads=10 writes=9; used at $8A27, 8A32, 8A46, B332, +15 more -Zp4C = $4C ; 21 refs; reads=11 writes=10; used at $8A29, 8A51, 8A65, B51C, +17 more +Zp4B = $4B ; 22 refs; reads=11 writes=11; used at $8412, 897C, 8A27, 8A32, +18 more +Zp4C = $4C ; 24 refs; reads=12 writes=12; used at $8980, 8A29, 8A51, 8A65, +20 more Zp4D = $4D ; 5 refs; reads=3 writes=2; used at $8A2B, 8A70, 8A84, BA54, +1 more Zp4E = $4E ; 8 refs; reads=4 writes=4; used at $8A05, 8A2E, 8A4A, 8A4D, +4 more Zp4F = $4F ; 5 refs; reads=2 writes=3; used at $83C7, 83C9, 8720, 88C3 Zp50 = $50 ; 4 refs; reads=2 writes=2; used at $8300, 8392, 871D, 88C1 -Zp51 = $51 ; 11 refs; reads=7 writes=4; used at $8396, 83A1, 83B8, 84BD, +5 more -Zp52 = $52 ; 13 refs; reads=2 writes=11; used at $82EE, 8315, 8429, 8578, +9 more -Zp53 = $53 ; 11 refs; reads=10 writes=1; used at $8496, AC20, BFE4, C3C2, +7 more +Zp51 = $51 ; 14 refs; reads=8 writes=6; used at $8396, 83A1, 83B8, 84BD, +7 more +Zp52 = $52 ; 26 refs; reads=2 writes=24; used at $82EE, 8315, 83EE, 8429, +22 more +Zp53 = $53 ; 15 refs; reads=14 writes=1; used at $8496, 8557, 8643, AC20, +11 more Zp54 = $54 ; 8 refs; reads=6 writes=2; used at $8459, 8487, 8489, 848D, +3 more -Zp55 = $55 ; 10 refs; reads=8 writes=2; used at $8440, 87AD, 886C, 8880, +6 more -Zp56 = $56 ; 1 refs; reads=0 writes=1; used at $8432 +Zp55 = $55 ; 17 refs; reads=14 writes=3; used at $8440, 8522, 8668, 86D9, +13 more +Zp56 = $56 ; 4 refs; reads=2 writes=2; used at $8432, 8524, 8C52 Zp57 = $57 ; 1 refs; reads=0 writes=1; used at $8434 -Zp58 = $58 ; 2 refs; reads=1 writes=1; used at $8436, 8530 +Zp58 = $58 ; 6 refs; reads=3 writes=3; used at $8436, 8530, 8C44, 8C46, +1 more Zp59 = $59 ; 1 refs; reads=0 writes=1; used at $8438 Zp5A = $5A ; 2 refs; reads=1 writes=1; used at $8613, BA3A Zp5B = $5B ; 2 refs; reads=1 writes=1; used at $8619, BA40 -Zp5C = $5C ; 9 refs; reads=5 writes=4; used at $8445, 84AC, 8882, 88B1, +3 more -Zp5D = $5D ; 3 refs; reads=1 writes=2; used at $8447, 84B4, 88DB -Zp5E = $5E ; 1 refs; reads=1 writes=0; used at $A9F0 -Zp5F = $5F ; 27 refs; reads=26 writes=1; used at $8532, 853F, 858B, 85F2, +23 more -Zp61 = $61 ; 4 refs; reads=3 writes=1; used at $8E92, A738, BACB, BAD9 +Zp5C = $5C ; 11 refs; reads=7 writes=4; used at $8445, 84AC, 8882, 88B1, +5 more +Zp5D = $5D ; 5 refs; reads=3 writes=2; used at $8447, 84B4, 88DB, 8929, +1 more +Zp5E = $5E ; 5 refs; reads=4 writes=1; used at $8526, 8637, A979, A9F0, +1 more +Zp5F = $5F ; 40 refs; reads=39 writes=1; used at $8532, 853F, 856F, 858B, +36 more +Zp60 = $60 ; 4 refs; reads=2 writes=2; used at $8AD6, 8B3A, 8B80 +Zp61 = $61 ; 6 refs; reads=3 writes=3; used at $8962, 8B5C, 8E92, A738, +2 more Zp62 = $62 ; 8 refs; reads=3 writes=5; used at $85BA, 8EA8, A7FA, A803, +2 more -Zp63 = $63 ; 6 refs; reads=4 writes=2; used at $83DD, 8E96, A753, A75F, +2 more -Zp64 = $64 ; 8 refs; reads=4 writes=4; used at $85D3, 8E9E, A797, A7EC, +4 more -Zp65 = $65 ; 17 refs; reads=14 writes=3; used at $85A2, A734, A745, A7A3, +11 more +Zp63 = $63 ; 8 refs; reads=4 writes=4; used at $83DD, 8AF0, 8B76, 8E96, +4 more +Zp64 = $64 ; 9 refs; reads=5 writes=4; used at $85D3, 8B65, 8E9E, A797, +5 more +Zp65 = $65 ; 19 refs; reads=16 writes=3; used at $85A2, 8B58, A734, A745, +13 more Zp66 = $66 ; 5 refs; reads=3 writes=2; used at $8317, A7C2, A7C4, C08E, +1 more -Zp67 = $67 ; 21 refs; reads=7 writes=14; used at $A4CA, A4FF, A509, A696, +17 more -Zp68 = $68 ; 26 refs; reads=16 writes=10; used at $87C0, 87C9, A4CD, A515, +18 more -Zp69 = $69 ; 46 refs; reads=38 writes=8; used at $85B3, 87BB, 87C5, A482, +42 more -Zp6A = $6A ; 10 refs; reads=8 writes=2; used at $87B3, 8DFC, A4C0, A4DE, +6 more -Zp6B = $6B ; 3 refs; reads=2 writes=1; used at $8560, A77A, AAE0 -Zp6C = $6C ; 6 refs; reads=5 writes=1; used at $C4E5, C52A, C6FE, C72F, +2 more +Zp67 = $67 ; 26 refs; reads=9 writes=17; used at $8AEE, A4CA, A4FF, A509, +22 more +Zp68 = $68 ; 34 refs; reads=20 writes=14; used at $87C0, 87C9, 89CE, 89D2, +26 more +Zp69 = $69 ; 56 refs; reads=46 writes=10; used at $85B3, 87BB, 87C5, 8AF5, +52 more +Zp6A = $6A ; 12 refs; reads=8 writes=4; used at $8728, 8775, 87B3, 8DFC, +8 more +Zp6B = $6B ; 4 refs; reads=3 writes=1; used at $8560, 8706, A77A, AAE0 +Zp6C = $6C ; 9 refs; reads=5 writes=4; used at $8757, C4E5, C52A, C6FE, +5 more Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $8430 -Zp6E = $6E ; 1 refs; reads=0 writes=1; used at $B214 +Zp6E = $6E ; 2 refs; reads=1 writes=1; used at $B214, C9FE Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $83D9, 83E1, 88CB Zp70 = $70 ; 3 refs; reads=2 writes=1; used at $8848, 8E61, 8E65 -Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $8E3D +Zp71 = $71 ; 3 refs; reads=1 writes=2; used at $869B, 875F, 8E3D Zp72 = $72 ; 2 refs; reads=1 writes=1; used at $A507, A813 Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $A719, A732 Zp74 = $74 ; 7 refs; reads=4 writes=3; used at $85D8, A71F, A72A, A9BD, +1 more Zp75 = $75 ; 5 refs; reads=3 writes=2; used at $A9CA, A9FB, A9FE, AACE Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $A9E4, AAC4 Zp77 = $77 ; 2 refs; reads=1 writes=1; used at $A9EC, AA03 +Zp78 = $78 ; 3 refs; reads=2 writes=1; used at $AB51, AB65 Zp79 = $79 ; 6 refs; reads=3 writes=3; used at $8DE0, CD0B, CD0F, CD19, +2 more -Zp7A = $7A ; 7 refs; reads=4 writes=3; used at $C4B6, C8B2, CD6B, CFF6, +3 more -Zp7B = $7B ; 13 refs; reads=9 writes=4; used at $C147, C18F, C197, C263, +8 more -Zp7D = $7D ; 5 refs; reads=4 writes=1; used at $A49F, A4BC, A4F9, A57C, +1 more -Zp7E = $7E ; 8 refs; reads=6 writes=2; used at $85C1, A667, A7D9, ACEC, +4 more -Zp80 = $80 ; 24 refs; reads=17 writes=7; used at $A704, A996, AA2B, AAA1, +20 more +Zp7A = $7A ; 30 refs; reads=13 writes=17; used at $C4B6, C8B2, CD6B, CFE3, +23 more +Zp7B = $7B ; 35 refs; reads=18 writes=17; used at $C147, C18F, C197, C263, +30 more +Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $CFEB, D0B2, D179, D405, +1 more +Zp7D = $7D ; 28 refs; reads=17 writes=11; used at $A49F, A4BC, A4F9, A57C, +20 more +Zp7E = $7E ; 11 refs; reads=8 writes=3; used at $85C1, A667, A7D9, A93E, +7 more +Zp7F = $7F ; 4 refs; reads=2 writes=2; used at $D3DA, D449, D44D +Zp80 = $80 ; 43 refs; reads=24 writes=19; used at $83F2, A704, A996, AA2B, +39 more Zp82 = $82 ; 2 refs; reads=1 writes=1; used at $FFFA Zp85 = $85 ; 4 refs; reads=3 writes=1; used at $85BE, BE0A, C88C, D487 -Zp86 = $86 ; 2 refs; reads=1 writes=1; used at $8857, C505 -Zp87 = $87 ; 38 refs; reads=33 writes=5; used at $A69F, A990, AA97, AB01, +34 more +Zp86 = $86 ; 5 refs; reads=1 writes=4; used at $83F4, 8857, 8B7E, 8BD2, +1 more +Zp87 = $87 ; 47 refs; reads=34 writes=13; used at $83FE, A69F, A990, AA97, +42 more Zp8C = $8C ; 8 refs; reads=7 writes=1; used at $8591, C890, C8DB, C922, +4 more -Zp8D = $8D ; 1 refs; reads=0 writes=1; used at $8595 -Zp8E = $8E ; 28 refs; reads=26 writes=2; used at $A625, AD53, AE0F, AE19, +24 more -Zp93 = $93 ; 7 refs; reads=7 writes=0; used at $A670, C8E5, C8EC, CD75, +3 more -Zp94 = $94 ; 17 refs; reads=17 writes=0; used at $A627, A673, AE09, AE13, +13 more -Zp95 = $95 ; 1 refs; reads=1 writes=0; used at $BA94 +Zp8D = $8D ; 2 refs; reads=0 writes=2; used at $8400, 8595 +Zp8E = $8E ; 32 refs; reads=29 writes=3; used at $840A, A625, ACC3, AD53, +28 more +Zp93 = $93 ; 11 refs; reads=11 writes=0; used at $A670, A94D, A955, C8E5, +7 more +Zp94 = $94 ; 21 refs; reads=20 writes=1; used at $840E, 8B9F, A627, A673, +17 more +Zp95 = $95 ; 2 refs; reads=2 writes=0; used at $AC57, BA94 Zp99 = $99 ; 2 refs; reads=2 writes=0; used at $B998, CB5B Zp9C = $9C ; 1 refs; reads=1 writes=0; used at $B91C -Zp9F = $9F ; 21 refs; reads=17 writes=4; used at $AA2F, AD4D, AE01, B1E3, +16 more -ZpA4 = $A4 ; 6 refs; reads=6 writes=0; used at $A66B, C8A1, D492, D6BB, +2 more -ZpA6 = $A6 ; 1 refs; reads=1 writes=0; used at $BA90 +Zp9F = $9F ; 25 refs; reads=20 writes=5; used at $83F6, AA2F, ACBA, AD4D, +20 more +ZpA4 = $A4 ; 7 refs; reads=7 writes=0; used at $A66B, A942, C8A1, D492, +3 more +ZpA5 = $A5 ; 1 refs; reads=0 writes=1; used at $83F8 +ZpA6 = $A6 ; 2 refs; reads=2 writes=0; used at $AC52, BA90 ZpAA = $AA ; 2 refs; reads=2 writes=0; used at $B978, CB50 ZpAD = $AD ; 1 refs; reads=1 writes=0; used at $B8FF -ZpB0 = $B0 ; 21 refs; reads=17 writes=4; used at $AAA5, AC0F, ADC7, B313, +17 more -ZpB5 = $B5 ; 2 refs; reads=1 writes=1; used at $8587, D4A2 -ZpB6 = $B6 ; 4 refs; reads=1 writes=3; used at $8589, A8CE, C521, C526 -ZpB7 = $B7 ; 33 refs; reads=13 writes=20; used at $A623, A642, AD83, AE47, +27 more -ZpBC = $BC ; 3 refs; reads=1 writes=2; used at $CFFB, D490, D5CB -ZpBD = $BD ; 3 refs; reads=1 writes=2; used at $C4FF, C53F -ZpBE = $BE ; 8 refs; reads=7 writes=1; used at $852E, AAD8, AB05, AC11, +4 more -ZpC0 = $C0 ; 35 refs; reads=25 writes=10; used at $A9A4, AA9B, AD4B, AD78, +30 more -ZpC5 = $C5 ; 4 refs; reads=3 writes=1; used at $85B8, D555, D55F, D591 -ZpC7 = $C7 ; 4 refs; reads=3 writes=1; used at $B2A0, B344, B4E0, C43A -ZpCE = $CE ; 18 refs; reads=10 writes=8; used at $AAB8, ABDB, AD3E, ADBF, +14 more -ZpD3 = $D3 ; 5 refs; reads=3 writes=2; used at $85CE, B24B, D42E, D583, +1 more -ZpD4 = $D4 ; 11 refs; reads=8 writes=3; used at $85E2, A81D, A81F, ABAA, +7 more +ZpB0 = $B0 ; 40 refs; reads=24 writes=16; used at $8404, 8C85, AAA5, AC0F, +36 more +ZpB5 = $B5 ; 5 refs; reads=3 writes=2; used at $8587, D1F7, D452, D4A2, +1 more +ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $8406, 8589, 8BCA, 8BE8, +4 more +ZpB7 = $B7 ; 55 refs; reads=16 writes=39; used at $8C7A, A623, A642, AD83, +49 more +ZpBC = $BC ; 30 refs; reads=5 writes=25; used at $CFE1, CFE9, CFFB, D0B0, +24 more +ZpBD = $BD ; 6 refs; reads=2 writes=4; used at $8BAF, 8BC1, 8BC5, C4FF, +1 more +ZpBE = $BE ; 14 refs; reads=13 writes=1; used at $852E, 86FD, AAD8, AB05, +10 more +ZpC0 = $C0 ; 60 refs; reads=41 writes=19; used at $83FA, A9A4, AA9B, ACAE, +55 more +ZpC5 = $C5 ; 8 refs; reads=6 writes=2; used at $85B8, D555, D55F, D591, +4 more +ZpC6 = $C6 ; 3 refs; reads=2 writes=1; used at $8B22, 8B8F, 8BEC +ZpC7 = $C7 ; 27 refs; reads=14 writes=13; used at $B10C, B11F, B121, B145, +18 more +ZpCE = $CE ; 39 refs; reads=23 writes=16; used at $8B69, 8C81, AAB8, ABDB, +34 more +ZpD3 = $D3 ; 10 refs; reads=6 writes=4; used at $85CE, B24B, D061, D065, +6 more +ZpD4 = $D4 ; 12 refs; reads=9 writes=3; used at $85E2, A81D, A81F, ABAA, +8 more ZpD5 = $D5 ; 1 refs; reads=0 writes=1; used at $85FD ZpD9 = $D9 ; 3 refs; reads=1 writes=2; used at $B7BA, B7BC, B7F2 ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $B8C1 -ZpDF = $DF ; 38 refs; reads=21 writes=17; used at $AAB0, AABC, AB99, ABB1, +25 more -ZpE4 = $E4 ; 8 refs; reads=6 writes=2; used at $85C9, B24D, D42A, D548, +4 more -ZpE5 = $E5 ; 15 refs; reads=10 writes=5; used at $85DD, A81A, A823, AB97, +7 more +ZpDF = $DF ; 61 refs; reads=35 writes=26; used at $8C7D, AAB0, AABC, AB99, +46 more +ZpE4 = $E4 ; 13 refs; reads=10 writes=3; used at $85C9, B24D, D059, D42A, +9 more +ZpE5 = $E5 ; 18 refs; reads=13 writes=5; used at $85DD, A81A, A823, AB97, +10 more ZpE6 = $E6 ; 1 refs; reads=0 writes=1; used at $8602 ZpEA = $EA ; 5 refs; reads=2 writes=3; used at $B7B7, B7C0, B7F4 ZpED = $ED ; 1 refs; reads=0 writes=1; used at $B8C3 @@ -156,8 +166,30 @@ ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $FB77, FCE2 ZpF8 = $F8 ; 8 refs; reads=5 writes=3; used at $FB86, FC68, FC71, FC73, +2 more ZpF9 = $F9 ; 7 refs; reads=6 writes=1; used at $FB7C, FBAE, FBDA, FC2E, +3 more ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $FB81 -ZpFB = $FB ; 5 refs; reads=1 writes=4; used at $8899, 890C, C73E, F84F, +1 more -ZpFC = $FC ; 18 refs; reads=5 writes=13; used at $BED9, C304, C3AC, C3C0, +10 more -ZpFD = $FD ; 9 refs; reads=2 writes=7; used at $8864, A5B5, A849, C2A4, +5 more -ZpFE = $FE ; 9 refs; reads=3 writes=6; used at $A713, C4FD, CCFD, F849, +3 more -ZpFF = $FF ; 15 refs; reads=4 writes=11; used at $C30D, C316, C31F, C39E, +8 more +ZpFB = $FB ; 8 refs; reads=1 writes=7; used at $86F5, 875C, 8899, 890C, +4 more +ZpFC = $FC ; 23 refs; reads=5 writes=18; used at $8769, 8B9A, 8BBB, BED9, +15 more +ZpFD = $FD ; 10 refs; reads=2 writes=8; used at $8864, 899C, A5B5, A849, +6 more +ZpFE = $FE ; 11 refs; reads=3 writes=8; used at $8B6D, 8C04, A713, C4FD, +5 more +ZpFF = $FF ; 22 refs; reads=4 writes=18; used at $B041, B06F, B17F, B1B6, +15 more + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp10 +VramWritePtrLo = Zp00 +VramWritePtrHi = Zp01 +DispatchPtrLo = Zp02 +DispatchPtrHi = Zp03 +PlayerIndex = Zp69 +PlayerSide = ZpC5 +SpriteIndex = Zp5F +GameState = ZpC0 +LevelIndex = Zp50 +PlayerX = ZpB0 +PlayerY = ZpB7 +EnemyIndex = Zp87 +EnemyHealth = ZpDF +PpuMaskShadow = Zp86 +GameMode = Zp9F +LifeCount = ZpA5 +SpriteScore = ZpB6 +SpriteTimer = Zp80 +SpriteTimer2 = Zp8D diff --git a/NROM/Kung Fu (U)/prg.s b/NROM/Kung Fu (U)/prg.s index 2697648..28ffedf 100644 --- a/NROM/Kung Fu (U)/prg.s +++ b/NROM/Kung Fu (U)/prg.s @@ -9,14 +9,17 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): -; 21 further routine entries recovered from table references elsewhere in the image: -; $8718, $8777, $8DCF, $9808, $A86D, $A8A9, $A97D, $AB76, $ABF7, $BB48, $CFEF, $D006, $D007, $D00F, $D475, $D548, $D56D, $D599, $D5CE, $D931, $D948 +; 6 further routine entries recovered from table references elsewhere in the image: +; $8718, $8DCF, $9808, $A86D, $A8A9, $D475 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: -; $8258, $82A8, $8384, $8427, $8471, $84B6, $852E, $8560, $8578, $860D, $8610, $8681, $86A3, $870A, $8791, $879A, $87A5, $87F2, $8872, $88A7, $88B7, $88DF, $8906, $8A03, $8A8A, $8DDC, $8E0D, $8EEB, $A482, $A4CA, $A50B, $A5A0, $A644, $A68D, $A6BA, $A6CE, $A716, $A76B, $A785, $A7BE, $A7E9, $A7F5, $A7FC, $A8F9, $A9AA, $AA0B, $AA4E, $AA5E, $AA73, $AA84, $AA97, $AAE7, $AAF7, $AB1F, $ACD4, $AD26, $AD2E, $AD4D, $ADDA, $ADFE, $B1E3, $B243, $B253, $B25B, $B276, $B2F8, $B34B, $B62A, $B714, $B73C, $B755, $B7F6, $B899, $B8BF, $B8FD, $B972, $B9A0, $BA36, $BAA5, $BADD, $BDC4, $BDE7, $BE1C, $BE43, $BE4F, $BE6C, $BEB9, $BF0B, $BF36, $BF42, $BF4C, $BF61, $BF7E, $BFAB, $BFEE, $C087, $C0F3, $C119, $C169, $C197, $C1A4, $C203, $C270, $C291, $C2AA, $C2B2, $C322, $C462, $C4A3, $C4AB, $C4E5, $C4F8, $C517, $C521, $C541, $C585, $C59A, $C5E4, $C5F9, $C671, $C6BA, $C6F5, $C743, $C772, $C7CC, $C8A1, $C93D, $C9B7, $CBA4, $CC15, $CCE8, $CD04, $D5FE, $D697, $D6E3, $D781, $D7F9, $D83C, $DAEA, $DB13, $F831, $F858, $F879, $F8E7, $F902, $F90F, $F967, $F9B9, $F9D7, $FA8A, $FAEB, $FB12, $FB4D, $FBBE, $FBFE, $FC36, $FC68, $FC8C, $FCA8 +; $8258, $82A8, $8384, $83EC, $8427, $8466, $8471, $84B6, $84F0, $8522, $852E, $8553, $8560, $8563, $8578, $860D, $860E, $8610, $861C, $8681, $8699, $86A3, $86A8, $870A, $8723, $8786, $8791, $879A, $87A5, $87F2, $8872, $88A7, $88B7, $88DF, $8906, $8914, $8957, $895C, $897A, $8A03, $8A8A, $8AA7, $8AE8, $8B43, $8B88, $8BF5, $8C3C, $8C6B, $8DDC, $8E0D, $8EEB, $A482, $A4CA, $A50B, $A5A0, $A644, $A68D, $A6BA, $A6CE, $A716, $A76B, $A785, $A7BE, $A7E9, $A7F5, $A7FC, $A8DC, $A8F9, $A93E, $A9AA, $AA0B, $AA4E, $AA5E, $AA73, $AA84, $AA97, $AAE7, $AAF7, $AB1F, $AB3F, $AC2A, $ACD4, $AD26, $AD2E, $AD4D, $ADDA, $ADEA, $ADFE, $AE7D, $AEA1, $AED2, $AFB3, $AFFE, $B01A, $B056, $B103, $B176, $B1E3, $B231, $B243, $B253, $B25B, $B276, $B2BA, $B2F8, $B34B, $B62A, $B714, $B73C, $B755, $B7F6, $B7FA, $B899, $B8BF, $B8FD, $B972, $B9A0, $BA34, $BA36, $BAA5, $BADD, $BDC4, $BDE7, $BDEB, $BE1C, $BE43, $BE4F, $BE6C, $BEB9, $BF0B, $BF36, $BF42, $BF4C, $BF61, $BF7E, $BFAB, $BFEE, $C087, $C0F3, $C119, $C169, $C197, $C1A4, $C203, $C270, $C291, $C2AA, $C2B2, $C322, $C462, $C4A3, $C4AB, $C4E5, $C4F8, $C517, $C521, $C541, $C585, $C59A, $C5E4, $C5F9, $C671, $C6BA, $C6F5, $C743, $C772, $C7CC, $C8A1, $C93D, $C9B7, $C9BB, $CBA4, $CC15, $CC91, $CC9D, $CCC7, $CCE8, $CD04, $D039, $D03C, $D0E6, $D118, $D229, $D23F, $D2F0, $D328, $D3F7, $D445, $D482, $D505, $D569, $D59F, $D5FE, $D616, $D67C, $D697, $D6E3, $D781, $D7F9, $D83C, $D840, $D968, $D99C, $DA0E, $DA51, $DAEA, $DB13, $F831, $F858, $F879, $F886, $F8E7, $F902, $F90F, $F967, $F9B9, $F9D7, $FA8A, $FAEB, $FB12, $FB4D, $FBBE, $FBFE, $FC36, $FC68, $FC8C, $FCA8 ; indirect dispatch through zero page (not followed statically): ; jmp ($0000) at $ADE7 -; jmp ($005A) at $A93B +; jmp ($0000) at $AE9E ; jmp ($0000) at $A844 +; jmp ($005A) at $A93B +; jmp ($0000) at $8AE5 +; jmp ($0000) at $D325 ; jmp ($0000) at $83D6 ; .setcpu "6502" @@ -33,8 +36,9 @@ ; referenced by `lda $8000,y` at $83AB (operand $8000 falls inside this region) ; referenced by `lda $800E,x` at $83BC (operand $800E falls inside this region) ; referenced by `lda $800E,x` at $83C2 (operand $800E falls inside this region) -; ... and 20 further references from decoded code - .byte $66, $84, $23, $87, $86, $87, $A7, $8A, $14, $89, $7A, $89, $C1, $8C, $1C, $80 ; CPU:$8000 PRG:0000 66 84 23 87 86 87 A7 8A 14 89 7A 89 C1 8C 1C 80 +; ... and 26 further references from decoded code +LevelHandlerPointerTable: + .byte $66, $84, $23, $87, $86, $87, $A7, $8A, $14, $89, $7A, $89, $C1, $8C, $1C, $80 ; CPU:$8000 PRG:-4000 66 84 23 87 86 87 A7 8A 14 89 7A 89 C1 8C 1C 80 .byte $24, $80, $24, $80, $24, $80, $24, $80, $44, $80, $4E, $80, $F0, $84, $EC, $83 ; CPU:$8010 PRG:0010 24 80 24 80 24 80 24 80 44 80 4E 80 F0 84 EC 83 .byte $27, $84, $18, $87, $F0, $84, $22, $85, $52, $85, $53, $85, $52, $85, $A3, $86 ; CPU:$8020 PRG:0020 27 84 18 87 F0 84 22 85 52 85 53 85 52 85 A3 86 .byte $52, $85, $63, $85, $52, $85, $EB, $A8, $1C, $86, $99, $86, $A8, $86, $52, $85 ; CPU:$8030 PRG:0030 52 85 63 85 52 85 EB A8 1C 86 99 86 A8 86 52 85 @@ -112,9 +116,9 @@ Reset_OnCarryClear2: asl a ; CPU:$826B PRG:026B 0A bcc Reset_OnCarryClear2 ; CPU:$826C PRG:026C 90 FA lda #$04 ; CPU:$826E PRG:026E A9 04 - sta Zp01 ; CPU:$8270 PRG:0270 85 01 + sta VramWritePtrHi ; CPU:$8270 PRG:0270 85 01 lda #$00 ; CPU:$8272 PRG:0272 A9 00 - sta Zp00 ; CPU:$8274 PRG:0274 85 00 + sta VramWritePtrLo ; CPU:$8274 PRG:0274 85 00 tay ; CPU:$8276 PRG:0276 A8 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero @@ -125,13 +129,13 @@ Reset_OnCarryClear2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero: - sta (Zp00),y ; CPU:$8277 PRG:0277 91 00 + sta (VramWritePtrLo),y ; CPU:$8277 PRG:0277 91 00 dey ; CPU:$8279 PRG:0279 88 bne Reset_OnNonzero ; CPU:$827A PRG:027A D0 FB - dec Zp01 ; CPU:$827C PRG:027C C6 01 + dec VramWritePtrHi ; CPU:$827C PRG:027C C6 01 bpl Reset_OnNonzero ; CPU:$827E PRG:027E 10 F7 lda #$06 ; CPU:$8280 PRG:0280 A9 06 - sta Zp01 ; CPU:$8282 PRG:0282 85 01 + sta VramWritePtrHi ; CPU:$8282 PRG:0282 85 01 lda #$00 ; CPU:$8284 PRG:0284 A9 00 tay ; CPU:$8286 PRG:0286 A8 ; ----------------------------------------------------------------------------- @@ -143,15 +147,15 @@ Reset_OnNonzero: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero2: - sta (Zp00),y ; CPU:$8287 PRG:0287 91 00 + sta (VramWritePtrLo),y ; CPU:$8287 PRG:0287 91 00 dey ; CPU:$8289 PRG:0289 88 bne Reset_OnNonzero2 ; CPU:$828A PRG:028A D0 FB - inc Zp01 ; CPU:$828C PRG:028C E6 01 - lda Zp01 ; CPU:$828E PRG:028E A5 01 + inc VramWritePtrHi ; CPU:$828C PRG:028C E6 01 + lda VramWritePtrHi ; CPU:$828E PRG:028E A5 01 cmp #$08 ; CPU:$8290 PRG:0290 C9 08 bcc Reset_OnNonzero2 ; CPU:$8292 PRG:0292 90 F3 lda #$05 ; CPU:$8294 PRG:0294 A9 05 - sta Zp01 ; CPU:$8296 PRG:0296 85 01 + sta VramWritePtrHi ; CPU:$8296 PRG:0296 85 01 lda $051E ; CPU:$8298 PRG:0298 AD 1E 05 cmp #$A5 ; CPU:$829B PRG:029B C9 A5 bne Reset_Loop ; CPU:$829D PRG:029D D0 09 @@ -178,7 +182,7 @@ Reset_Loop: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero3: - sta (Zp00),y ; CPU:$82AA PRG:02AA 91 00 + sta (VramWritePtrLo),y ; CPU:$82AA PRG:02AA 91 00 dey ; CPU:$82AC PRG:02AC 88 bne Reset_OnNonzero3 ; CPU:$82AD PRG:02AD D0 FB sta $0537 ; CPU:$82AF PRG:02AF 8D 37 05 @@ -214,10 +218,10 @@ Sub_82D3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler: - lda Zp10 ; CPU:$82D6 PRG:02D6 A5 10 + lda PpuCtrlShadow ; CPU:$82D6 PRG:02D6 A5 10 and #$7F ; CPU:$82D8 PRG:02D8 29 7F sta PPUCTRL ; CPU:$82DA PRG:02DA 8D 00 20 - sta Zp10 ; CPU:$82DD PRG:02DD 85 10 + sta PpuCtrlShadow ; CPU:$82DD PRG:02DD 85 10 lda #$00 ; CPU:$82DF PRG:02DF A9 00 sta PPUMASK ; CPU:$82E1 PRG:02E1 8D 01 20 lda #$00 ; CPU:$82E4 PRG:02E4 A9 00 @@ -226,12 +230,12 @@ NmiHandler: sta OAMDMA ; CPU:$82EB PRG:02EB 8D 14 40 ldx Zp52 ; CPU:$82EE PRG:02EE A6 52 lda $8056,x ; CPU:$82F0 PRG:02F0 BD 56 80 - sta Zp00 ; CPU:$82F3 PRG:02F3 85 00 + sta VramWritePtrLo ; CPU:$82F3 PRG:02F3 85 00 lda $80A5,x ; CPU:$82F5 PRG:02F5 BD A5 80 - sta Zp01 ; CPU:$82F8 PRG:02F8 85 01 + sta VramWritePtrHi ; CPU:$82F8 PRG:02F8 85 01 jsr Sub_DB3E ; CPU:$82FA PRG:02FA 20 3E DB jsr Sub_8E0D ; CPU:$82FD PRG:02FD 20 0D 8E - lda Zp50 ; CPU:$8300 PRG:0300 A5 50 + lda LevelIndex ; CPU:$8300 PRG:0300 A5 50 beq NmiHandler_Loop ; CPU:$8302 PRG:0302 F0 09 lda Zp11 ; CPU:$8304 PRG:0304 A5 11 ora #$1A ; CPU:$8306 PRG:0306 09 1A @@ -296,10 +300,10 @@ NmiHandler_Loop3: jsr Sub_8FC5 ; CPU:$8338 PRG:0338 20 C5 8F lda Zp18 ; CPU:$833B PRG:033B A5 18 and #$02 ; CPU:$833D PRG:033D 29 02 - sta Zp00 ; CPU:$833F PRG:033F 85 00 + sta VramWritePtrLo ; CPU:$833F PRG:033F 85 00 lda Zp19 ; CPU:$8341 PRG:0341 A5 19 and #$02 ; CPU:$8343 PRG:0343 29 02 - eor Zp00 ; CPU:$8345 PRG:0345 45 00 + eor VramWritePtrLo ; CPU:$8345 PRG:0345 45 00 clc ; CPU:$8347 PRG:0347 18 beq NmiHandler_Loop4 ; CPU:$8348 PRG:0348 F0 01 sec ; CPU:$834A PRG:034A 38 @@ -334,7 +338,7 @@ NmiHandler_Loop4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero: - sta Zp00,x ; CPU:$8367 PRG:0367 95 00 + sta VramWritePtrLo,x ; CPU:$8367 PRG:0367 95 00 inx ; CPU:$8369 PRG:0369 E8 bne NmiHandler_OnNonzero ; CPU:$836A PRG:036A D0 FB lda Zp14 ; CPU:$836C PRG:036C A5 14 @@ -342,7 +346,7 @@ NmiHandler_OnNonzero: beq NmiHandler_Loop5 ; CPU:$8370 PRG:0370 F0 0F lda $0369 ; CPU:$8372 PRG:0372 AD 69 03 bne NmiHandler_Loop5 ; CPU:$8375 PRG:0375 D0 0A - jsr Sub_894F ; CPU:$8377 PRG:0377 20 4F 89 + jsr NmiHandler_Loop57 ; CPU:$8377 PRG:0377 20 4F 89 lda #$01 ; CPU:$837A PRG:037A A9 01 sta Zp35 ; CPU:$837C PRG:037C 85 35 asl a ; CPU:$837E PRG:037E 0A @@ -368,7 +372,7 @@ NmiHandler_Loop5: NmiHandler_Loop6: jsr Sub_F831 ; CPU:$8384 PRG:0384 20 31 F8 lda PPUSTATUS ; CPU:$8387 PRG:0387 AD 02 20 - lda Zp10 ; CPU:$838A PRG:038A A5 10 + lda PpuCtrlShadow ; CPU:$838A PRG:038A A5 10 ora #$80 ; CPU:$838C PRG:038C 09 80 jsr Sub_8E1C ; CPU:$838E PRG:038E 20 1C 8E rti ; CPU:$8391 PRG:0391 40 @@ -381,7 +385,7 @@ NmiHandler_Loop6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8392: - lda Zp50 ; CPU:$8392 PRG:0392 A5 50 + lda LevelIndex ; CPU:$8392 PRG:0392 A5 50 beq NmiHandler_Loop8 ; CPU:$8394 PRG:0394 F0 1B lda Zp51 ; CPU:$8396 PRG:0396 A5 51 beq NmiHandler_Loop7 ; CPU:$8398 PRG:0398 F0 07 @@ -401,7 +405,7 @@ NmiHandler_Loop7: asl a ; CPU:$83A3 PRG:03A3 0A tay ; CPU:$83A4 PRG:03A4 A8 lda $8000,y ; CPU:$83A5 PRG:03A5 B9 00 80 - sta Zp00 ; CPU:$83A8 PRG:03A8 85 00 + sta VramWritePtrLo ; CPU:$83A8 PRG:03A8 85 00 iny ; CPU:$83AA PRG:03AA C8 lda $8000,y ; CPU:$83AB PRG:03AB B9 00 80 jmp Sub_83D4 ; CPU:$83AE PRG:03AE 4C D4 83 @@ -421,18 +425,18 @@ NmiHandler_Loop8: asl a ; CPU:$83BA PRG:03BA 0A tax ; CPU:$83BB PRG:03BB AA lda $800E,x ; CPU:$83BC PRG:03BC BD 0E 80 - sta Zp02 ; CPU:$83BF PRG:03BF 85 02 + sta DispatchPtrLo ; CPU:$83BF PRG:03BF 85 02 inx ; CPU:$83C1 PRG:03C1 E8 lda $800E,x ; CPU:$83C2 PRG:03C2 BD 0E 80 - sta Zp03 ; CPU:$83C5 PRG:03C5 85 03 + sta DispatchPtrHi ; CPU:$83C5 PRG:03C5 85 03 lda Zp4F ; CPU:$83C7 PRG:03C7 A5 4F inc Zp4F ; CPU:$83C9 PRG:03C9 E6 4F asl a ; CPU:$83CB PRG:03CB 0A tay ; CPU:$83CC PRG:03CC A8 - lda (Zp02),y ; CPU:$83CD PRG:03CD B1 02 - sta Zp00 ; CPU:$83CF PRG:03CF 85 00 + lda (DispatchPtrLo),y ; CPU:$83CD PRG:03CD B1 02 + sta VramWritePtrLo ; CPU:$83CF PRG:03CF 85 00 iny ; CPU:$83D1 PRG:03D1 C8 - lda (Zp02),y ; CPU:$83D2 PRG:03D2 B1 02 + lda (DispatchPtrLo),y ; CPU:$83D2 PRG:03D2 B1 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_83D4 ; Global: Branch target inside Sub: taken when 83D4. @@ -442,8 +446,8 @@ NmiHandler_Loop8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_83D4: - sta Zp01 ; CPU:$83D4 PRG:03D4 85 01 - jmp (Zp00) ; CPU:$83D6 PRG:03D6 6C 00 00 + sta VramWritePtrHi ; CPU:$83D4 PRG:03D4 85 01 + jmp (VramWritePtrLo) ; CPU:$83D6 PRG:03D6 6C 00 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop9 ; Global: Branch target inside NmiHandler: taken when Loop9. @@ -470,10 +474,37 @@ Sub_83E3: jsr Sub_8F54 ; CPU:$83E3 PRG:03E3 20 54 8F jsr Sub_8FA6 ; CPU:$83E6 PRG:03E6 20 A6 8F jmp Sub_8FB1 ; CPU:$83E9 PRG:03E9 4C B1 8F -; ---- data $83EC-$8419 (46 bytes) ---- - .byte $A9, $0C, $85, $52, $A9, $01, $85, $80, $85, $86, $85, $9F, $85, $A5, $85, $C0 ; CPU:$83EC PRG:03EC A9 0C 85 52 A9 01 85 80 85 86 85 9F 85 A5 85 C0 - .byte $A9, $0E, $85, $87, $85, $8D, $A9, $70, $85, $B0, $85, $B6, $A9, $28, $85, $8E ; CPU:$83FC PRG:03FC A9 0E 85 87 85 8D A9 70 85 B0 85 B6 A9 28 85 8E - .byte $A9, $D8, $85, $94, $A9, $10, $85, $4B, $20, $BA, $B2, $20, $03, $8A ; CPU:$840C PRG:040C A9 D8 85 94 A9 10 85 4B 20 BA B2 20 03 8A +; ----------------------------------------------------------------------------- +; Routine: Label_83EC +; Global: Branch target inside Label: taken when 83EC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_83EC: + lda #$0C ; CPU:$83EC PRG:03EC A9 0C + sta Zp52 ; CPU:$83EE PRG:03EE 85 52 + lda #$01 ; CPU:$83F0 PRG:03F0 A9 01 + sta SpriteTimer ; CPU:$83F2 PRG:03F2 85 80 + sta PpuMaskShadow ; CPU:$83F4 PRG:03F4 85 86 + sta GameMode ; CPU:$83F6 PRG:03F6 85 9F + sta LifeCount ; CPU:$83F8 PRG:03F8 85 A5 + sta GameState ; CPU:$83FA PRG:03FA 85 C0 + lda #$0E ; CPU:$83FC PRG:03FC A9 0E + sta EnemyIndex ; CPU:$83FE PRG:03FE 85 87 + sta SpriteTimer2 ; CPU:$8400 PRG:0400 85 8D + lda #$70 ; CPU:$8402 PRG:0402 A9 70 + sta PlayerX ; CPU:$8404 PRG:0404 85 B0 + sta SpriteScore ; CPU:$8406 PRG:0406 85 B6 + lda #$28 ; CPU:$8408 PRG:0408 A9 28 + sta Zp8E ; CPU:$840A PRG:040A 85 8E + lda #$D8 ; CPU:$840C PRG:040C A9 D8 + sta Zp94 ; CPU:$840E PRG:040E 85 94 + lda #$10 ; CPU:$8410 PRG:0410 A9 10 + sta Zp4B ; CPU:$8412 PRG:0412 85 4B + jsr Sub_B2BA ; CPU:$8414 PRG:0414 20 BA B2 + jsr Sub_8A03 ; CPU:$8417 PRG:0417 20 03 8A ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop10 ; Global: Branch target inside NmiHandler: taken when Loop10. @@ -486,7 +517,8 @@ NmiHandler_Loop10: rts ; CPU:$841A PRG:041A 60 ; ---- data $841B-$8426 (12 bytes) ---- ; referenced by `lda $841B,x` at $8450 (operand $841B falls inside this region) - .byte $00, $0A, $40, $38, $BE, $F4, $02, $40, $CE, $F4, $02, $47 ; CPU:$841B PRG:041B 00 0A 40 38 BE F4 02 40 CE F4 02 47 +LevelObjectDefinitionTable: + .byte $00, $0A, $40, $38, $BE, $F4, $02, $40, $CE, $F4, $02, $47 ; CPU:$841B PRG:-3BE5 00 0A 40 38 BE F4 02 40 CE F4 02 47 ; ----------------------------------------------------------------------------- ; Routine: Label_8427 ; Global: Branch target inside Label: taken when 8427. @@ -542,20 +574,32 @@ NmiHandler_OnNonnegative2: lda #$38 ; CPU:$8461 PRG:0461 A9 38 sta Zp36 ; CPU:$8463 PRG:0463 85 36 rts ; CPU:$8465 PRG:0465 60 -; ---- data $8466-$8470 (11 bytes) ---- - .byte $A5, $36, $D0, $07, $A9, $0F, $8D, $37, $05, $D0, $39 ; CPU:$8466 PRG:0466 A5 36 D0 07 A9 0F 8D 37 05 D0 39 ; ----------------------------------------------------------------------------- -; Routine: Label_8471 -; Global: Branch target inside Label: taken when 8471. +; Routine: Label_8466 +; Global: Branch target inside Label: taken when 8466. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8471: +Label_8466: + lda Zp36 ; CPU:$8466 PRG:0466 A5 36 + bne NmiHandler_Loop11 ; CPU:$8468 PRG:0468 D0 07 + lda #$0F ; CPU:$846A PRG:046A A9 0F + sta $0537 ; CPU:$846C PRG:046C 8D 37 05 + bne NmiHandler_Loop14 ; CPU:$846F PRG:046F D0 39 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop11: lda Zp14 ; CPU:$8471 PRG:0471 A5 14 and #$30 ; CPU:$8473 PRG:0473 29 30 - bne NmiHandler_Loop11 ; CPU:$8475 PRG:0475 D0 04 + bne NmiHandler_Loop12 ; CPU:$8475 PRG:0475 D0 04 sta $053B ; CPU:$8477 PRG:0477 8D 3B 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero @@ -568,25 +612,6 @@ Label_8471: NmiHandler_OnZero: rts ; CPU:$847A PRG:047A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop11: - ldx $053B ; CPU:$847B PRG:047B AE 3B 05 - bne NmiHandler_OnZero ; CPU:$847E PRG:047E D0 FA - and #$20 ; CPU:$8480 PRG:0480 29 20 - beq NmiHandler_Loop12 ; CPU:$8482 PRG:0482 F0 0E - sta $053B ; CPU:$8484 PRG:0484 8D 3B 05 - inc Zp54 ; CPU:$8487 PRG:0487 E6 54 - lda Zp54 ; CPU:$8489 PRG:0489 A5 54 - and #$03 ; CPU:$848B PRG:048B 29 03 - sta Zp54 ; CPU:$848D PRG:048D 85 54 - jmp Sub_844E ; CPU:$848F PRG:048F 4C 4E 84 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop12 ; Global: Branch target inside NmiHandler: taken when Loop12. ; Local: Part of NmiHandler. @@ -595,6 +620,25 @@ NmiHandler_Loop11: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop12: + ldx $053B ; CPU:$847B PRG:047B AE 3B 05 + bne NmiHandler_OnZero ; CPU:$847E PRG:047E D0 FA + and #$20 ; CPU:$8480 PRG:0480 29 20 + beq NmiHandler_Loop13 ; CPU:$8482 PRG:0482 F0 0E + sta $053B ; CPU:$8484 PRG:0484 8D 3B 05 + inc Zp54 ; CPU:$8487 PRG:0487 E6 54 + lda Zp54 ; CPU:$8489 PRG:0489 A5 54 + and #$03 ; CPU:$848B PRG:048B 29 03 + sta Zp54 ; CPU:$848D PRG:048D 85 54 + jmp Sub_844E ; CPU:$848F PRG:048F 4C 4E 84 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop13: lda Zp54 ; CPU:$8492 PRG:0492 A5 54 and #$01 ; CPU:$8494 PRG:0494 29 01 sta Zp53 ; CPU:$8496 PRG:0496 85 53 @@ -615,21 +659,30 @@ NmiHandler_OnNonnegative3: bpl NmiHandler_OnNonnegative3 ; CPU:$84A3 PRG:04A3 10 F7 lda #$01 ; CPU:$84A5 PRG:04A5 A9 01 sta $0538 ; CPU:$84A7 PRG:04A7 8D 38 05 - ldx #$03 ; CPU:$84AA PRG:04AA A2 03 - stx Zp5C ; CPU:$84AC PRG:04AC 86 5C - lda Zp54 ; CPU:$84AE PRG:04AE A5 54 - and #$02 ; CPU:$84B0 PRG:04B0 29 02 - beq NmiHandler_Loop13 ; CPU:$84B2 PRG:04B2 F0 02 - stx Zp5D ; CPU:$84B4 PRG:04B4 86 5D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop13 -; Global: Branch target inside NmiHandler: taken when Loop13. +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop13: +NmiHandler_Loop14: + ldx #$03 ; CPU:$84AA PRG:04AA A2 03 + stx Zp5C ; CPU:$84AC PRG:04AC 86 5C + lda Zp54 ; CPU:$84AE PRG:04AE A5 54 + and #$02 ; CPU:$84B0 PRG:04B0 29 02 + beq NmiHandler_Loop15 ; CPU:$84B2 PRG:04B2 F0 02 + stx Zp5D ; CPU:$84B4 PRG:04B4 86 5D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop15: lda #$02 ; CPU:$84B6 PRG:04B6 A9 02 sta Zp35 ; CPU:$84B8 PRG:04B8 85 35 sta $0369 ; CPU:$84BA PRG:04BA 8D 69 03 @@ -674,24 +727,61 @@ NmiHandler_OnNonnegative4: dex ; CPU:$84EC PRG:04EC CA bpl NmiHandler_OnNonnegative4 ; CPU:$84ED PRG:04ED 10 FB rts ; CPU:$84EF PRG:04EF 60 -; ---- data $84F0-$852D (62 bytes) ---- - .byte $A0, $60, $A9, $00, $99, $00, $00, $C8, $D0, $FA, $A2, $03, $86, $01, $85, $00 ; CPU:$84F0 PRG:04F0 A0 60 A9 00 99 00 00 C8 D0 FA A2 03 86 01 85 00 - .byte $91, $00, $C8, $D0, $FB, $E6, $01, $A6, $01, $E0, $05, $D0, $02, $E6, $01, $E0 ; CPU:$8500 PRG:0500 91 00 C8 D0 FB E6 01 A6 01 E0 05 D0 02 E6 01 E0 - .byte $08, $90, $ED, $A2, $06, $8A, $9D, $C2, $03, $CA, $10, $F9, $A9, $F8, $8D, $2F ; CPU:$8510 PRG:0510 08 90 ED A2 06 8A 9D C2 03 CA 10 F9 A9 F8 8D 2F - .byte $05, $60, $A6, $55, $B5, $56, $85, $5E, $C9, $03, $90, $02, $A9, $03 ; CPU:$8520 PRG:0520 05 60 A6 55 B5 56 85 5E C9 03 90 02 A9 03 ; ----------------------------------------------------------------------------- -; Routine: Label_852E -; Global: Branch target inside Label: taken when 852E. +; Routine: Label_84F0 +; Global: Branch target inside Label: taken when 84F0. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_852E: - sta ZpBE ; CPU:$852E PRG:052E 85 BE - lda Zp58,x ; CPU:$8530 PRG:0530 B5 58 - sta Zp5F ; CPU:$8532 PRG:0532 85 5F - ldy #$24 ; CPU:$8534 PRG:0534 A0 24 +Label_84F0: + ldy #$60 ; CPU:$84F0 PRG:04F0 A0 60 + lda #$00 ; CPU:$84F2 PRG:04F2 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero2 +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero2: + sta a:VramWritePtrLo,y ; CPU:$84F4 PRG:04F4 99 00 00 + iny ; CPU:$84F7 PRG:04F7 C8 + bne NmiHandler_OnNonzero2 ; CPU:$84F8 PRG:04F8 D0 FA + ldx #$03 ; CPU:$84FA PRG:04FA A2 03 + stx VramWritePtrHi ; CPU:$84FC PRG:04FC 86 01 + sta VramWritePtrLo ; CPU:$84FE PRG:04FE 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero3: + sta (VramWritePtrLo),y ; CPU:$8500 PRG:0500 91 00 + iny ; CPU:$8502 PRG:0502 C8 + bne NmiHandler_OnNonzero3 ; CPU:$8503 PRG:0503 D0 FB + inc VramWritePtrHi ; CPU:$8505 PRG:0505 E6 01 + ldx VramWritePtrHi ; CPU:$8507 PRG:0507 A6 01 + cpx #$05 ; CPU:$8509 PRG:0509 E0 05 + bne NmiHandler_Loop16 ; CPU:$850B PRG:050B D0 02 + inc VramWritePtrHi ; CPU:$850D PRG:050D E6 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop16: + cpx #$08 ; CPU:$850F PRG:050F E0 08 + bcc NmiHandler_OnNonzero3 ; CPU:$8511 PRG:0511 90 ED + ldx #$06 ; CPU:$8513 PRG:0513 A2 06 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative5 ; Global: Branch target inside NmiHandler: taken when OnNonnegative5. @@ -701,11 +791,55 @@ Label_852E: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative5: + txa ; CPU:$8515 PRG:0515 8A + sta $03C2,x ; CPU:$8516 PRG:0516 9D C2 03 + dex ; CPU:$8519 PRG:0519 CA + bpl NmiHandler_OnNonnegative5 ; CPU:$851A PRG:051A 10 F9 + lda #$F8 ; CPU:$851C PRG:051C A9 F8 + sta $052F ; CPU:$851E PRG:051E 8D 2F 05 + rts ; CPU:$8521 PRG:0521 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8522 +; Global: Branch target inside Label: taken when 8522. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8522: + ldx Zp55 ; CPU:$8522 PRG:0522 A6 55 + lda Zp56,x ; CPU:$8524 PRG:0524 B5 56 + sta Zp5E ; CPU:$8526 PRG:0526 85 5E + cmp #$03 ; CPU:$8528 PRG:0528 C9 03 + bcc NmiHandler_Loop17 ; CPU:$852A PRG:052A 90 02 + lda #$03 ; CPU:$852C PRG:052C A9 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop17: + sta ZpBE ; CPU:$852E PRG:052E 85 BE + lda Zp58,x ; CPU:$8530 PRG:0530 B5 58 + sta SpriteIndex ; CPU:$8532 PRG:0532 85 5F + ldy #$24 ; CPU:$8534 PRG:0534 A0 24 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative6: lda $DBDC,y ; CPU:$8536 PRG:0536 B9 DC DB sta $0301,y ; CPU:$8539 PRG:0539 99 01 03 dey ; CPU:$853C PRG:053C 88 - bpl NmiHandler_OnNonnegative5 ; CPU:$853D PRG:053D 10 F7 - lda Zp5F ; CPU:$853F PRG:053F A5 5F + bpl NmiHandler_OnNonnegative6 ; CPU:$853D PRG:053D 10 F7 + lda SpriteIndex ; CPU:$853F PRG:053F A5 5F asl a ; CPU:$8541 PRG:0541 0A asl a ; CPU:$8542 PRG:0542 0A tay ; CPU:$8543 PRG:0543 A8 @@ -726,56 +860,96 @@ NmiHandler_OnCarryClear: cpx #$04 ; CPU:$854E PRG:054E E0 04 bcc NmiHandler_OnCarryClear ; CPU:$8550 PRG:0550 90 F4 rts ; CPU:$8552 PRG:0552 60 -; ---- data $8553-$855F (13 bytes) ---- - .byte $A9, $06, $85, $52, $A5, $53, $AE, $37, $05, $F0, $02, $A9, $01 ; CPU:$8553 PRG:0553 A9 06 85 52 A5 53 AE 37 05 F0 02 A9 01 ; ----------------------------------------------------------------------------- -; Routine: Label_8560 -; Global: Branch target inside Label: taken when 8560. +; Routine: Label_8553 +; Global: Branch target inside Label: taken when 8553. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8560: - sta Zp6B ; CPU:$8560 PRG:0560 85 6B - rts ; CPU:$8562 PRG:0562 60 -; ---- data $8563-$8577 (21 bytes) ---- - .byte $A2, $08, $A9, $FF, $9D, $C0, $04, $CA, $10, $FA, $A2, $07, $A5, $5F, $F0, $05 ; CPU:$8563 PRG:0563 A2 08 A9 FF 9D C0 04 CA 10 FA A2 07 A5 5F F0 05 - .byte $E8, $4A, $90, $01, $E8 ; CPU:$8573 PRG:0573 E8 4A 90 01 E8 +Label_8553: + lda #$06 ; CPU:$8553 PRG:0553 A9 06 + sta Zp52 ; CPU:$8555 PRG:0555 85 52 + lda Zp53 ; CPU:$8557 PRG:0557 A5 53 + ldx $0537 ; CPU:$8559 PRG:0559 AE 37 05 + beq NmiHandler_Loop18 ; CPU:$855C PRG:055C F0 02 + lda #$01 ; CPU:$855E PRG:055E A9 01 ; ----------------------------------------------------------------------------- -; Routine: Label_8578 -; Global: Branch target inside Label: taken when 8578. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_8578: - stx Zp52 ; CPU:$8578 PRG:0578 86 52 - ldx #$03 ; CPU:$857A PRG:057A A2 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative6 -; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative6: +NmiHandler_Loop18: + sta Zp6B ; CPU:$8560 PRG:0560 85 6B + rts ; CPU:$8562 PRG:0562 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8563 +; Global: Branch target inside Label: taken when 8563. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8563: + ldx #$08 ; CPU:$8563 PRG:0563 A2 08 + lda #$FF ; CPU:$8565 PRG:0565 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative7: + sta $04C0,x ; CPU:$8567 PRG:0567 9D C0 04 + dex ; CPU:$856A PRG:056A CA + bpl NmiHandler_OnNonnegative7 ; CPU:$856B PRG:056B 10 FA + ldx #$07 ; CPU:$856D PRG:056D A2 07 + lda SpriteIndex ; CPU:$856F PRG:056F A5 5F + beq NmiHandler_Loop19 ; CPU:$8571 PRG:0571 F0 05 + inx ; CPU:$8573 PRG:0573 E8 + lsr a ; CPU:$8574 PRG:0574 4A + bcc NmiHandler_Loop19 ; CPU:$8575 PRG:0575 90 01 + inx ; CPU:$8577 PRG:0577 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop19: + stx Zp52 ; CPU:$8578 PRG:0578 86 52 + ldx #$03 ; CPU:$857A PRG:057A A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative8: lda $810E,x ; CPU:$857C PRG:057C BD 0E 81 sta $0200,x ; CPU:$857F PRG:057F 9D 00 02 dex ; CPU:$8582 PRG:0582 CA - bpl NmiHandler_OnNonnegative6 ; CPU:$8583 PRG:0583 10 F7 + bpl NmiHandler_OnNonnegative8 ; CPU:$8583 PRG:0583 10 F7 lda #$87 ; CPU:$8585 PRG:0585 A9 87 sta ZpB5 ; CPU:$8587 PRG:0587 85 B5 - sta ZpB6 ; CPU:$8589 PRG:0589 85 B6 - ldx Zp5F ; CPU:$858B PRG:058B A6 5F + sta SpriteScore ; CPU:$8589 PRG:0589 85 B6 + ldx SpriteIndex ; CPU:$858B PRG:058B A6 5F txa ; CPU:$858D PRG:058D 8A clc ; CPU:$858E PRG:058E 18 adc #$03 ; CPU:$858F PRG:058F 69 03 sta Zp8C ; CPU:$8591 PRG:0591 85 8C lda #$09 ; CPU:$8593 PRG:0593 A9 09 - sta Zp8D ; CPU:$8595 PRG:0595 85 8D + sta SpriteTimer2 ; CPU:$8595 PRG:0595 85 8D sta $038A ; CPU:$8597 PRG:0597 8D 8A 03 lda #$C0 ; CPU:$859A PRG:059A A9 C0 sta $038B ; CPU:$859C PRG:059C 8D 8B 03 @@ -789,10 +963,10 @@ NmiHandler_OnNonnegative6: and #$01 ; CPU:$85AB PRG:05AB 29 01 sta $0372 ; CPU:$85AD PRG:05AD 8D 72 03 sta $037B ; CPU:$85B0 PRG:05B0 8D 7B 03 - sta Zp69 ; CPU:$85B3 PRG:05B3 85 69 + sta PlayerIndex ; CPU:$85B3 PRG:05B3 85 69 tay ; CPU:$85B5 PRG:05B5 A8 eor #$01 ; CPU:$85B6 PRG:05B6 49 01 - sta ZpC5 ; CPU:$85B8 PRG:05B8 85 C5 + sta PlayerSide ; CPU:$85B8 PRG:05B8 85 C5 sta Zp62 ; CPU:$85BA PRG:05BA 85 62 lda #$01 ; CPU:$85BC PRG:05BC A9 01 sta Zp85 ; CPU:$85BE PRG:05BE 85 85 @@ -816,19 +990,19 @@ NmiHandler_OnNonnegative6: lda #$30 ; CPU:$85EA PRG:05EA A9 30 sta $04A5 ; CPU:$85EC PRG:05EC 8D A5 04 sta $04A6 ; CPU:$85EF PRG:05EF 8D A6 04 - lda Zp5F ; CPU:$85F2 PRG:05F2 A5 5F + lda SpriteIndex ; CPU:$85F2 PRG:05F2 A5 5F cmp #$03 ; CPU:$85F4 PRG:05F4 C9 03 - bne NmiHandler_Loop14 ; CPU:$85F6 PRG:05F6 D0 15 + bne NmiHandler_Loop20 ; CPU:$85F6 PRG:05F6 D0 15 ldx #$03 ; CPU:$85F8 PRG:05F8 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative7 -; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Routine: NmiHandler_OnNonnegative9 +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative7: +NmiHandler_OnNonnegative9: lda $8102,x ; CPU:$85FA PRG:05FA BD 02 81 sta ZpD5,x ; CPU:$85FD PRG:05FD 95 D5 lda $8106,x ; CPU:$85FF PRG:05FF BD 06 81 @@ -836,19 +1010,27 @@ NmiHandler_OnNonnegative7: lda $810A,x ; CPU:$8604 PRG:0604 BD 0A 81 sta $0450,x ; CPU:$8607 PRG:0607 9D 50 04 dex ; CPU:$860A PRG:060A CA - bpl NmiHandler_OnNonnegative7 ; CPU:$860B PRG:060B 10 ED + bpl NmiHandler_OnNonnegative9 ; CPU:$860B PRG:060B 10 ED ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop14 -; Global: Branch target inside NmiHandler: taken when Loop14. +; Routine: NmiHandler_Loop20 +; Global: Branch target inside NmiHandler: taken when Loop20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop14: +NmiHandler_Loop20: rts ; CPU:$860D PRG:060D 60 -; ---- data $860E-$860F (2 bytes) ---- - .byte $A0, $00 ; CPU:$860E PRG:060E A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_860E +; Global: Branch target inside Sub: taken when 860E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_860E: + ldy #$00 ; CPU:$860E PRG:060E A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8610 ; Global: Branch target inside Sub: taken when 8610. @@ -864,44 +1046,144 @@ Sub_8610: lda $80F8,y ; CPU:$8616 PRG:0616 B9 F8 80 sta Zp5B ; CPU:$8619 PRG:0619 85 5B rts ; CPU:$861B PRG:061B 60 -; ---- data $861C-$8680 (101 bytes) ---- - .byte $20, $6B, $CC, $AC, $00, $03, $A9, $20, $99, $01, $03, $99, $05, $03, $A9, $F7 ; CPU:$861C PRG:061C 20 6B CC AC 00 03 A9 20 99 01 03 99 05 03 A9 F7 - .byte $99, $02, $03, $A9, $01, $99, $03, $03, $99, $07, $03, $A5, $5E, $99, $04, $03 ; CPU:$862C PRG:062C 99 02 03 A9 01 99 03 03 99 07 03 A5 5E 99 04 03 - .byte $A9, $FC, $99, $06, $03, $A9, $0A, $A6, $53, $F0, $02, $A9, $FA, $99, $08, $03 ; CPU:$863C PRG:063C A9 FC 99 06 03 A9 0A A6 53 F0 02 A9 FA 99 08 03 - .byte $A9, $00, $99, $09, $03, $98, $18, $69, $08, $8D, $00, $03, $20, $91, $CC, $A9 ; CPU:$864C PRG:064C A9 00 99 09 03 98 18 69 08 8D 00 03 20 91 CC A9 - .byte $20, $8D, $2A, $05, $A9, $6F, $8D, $2B, $05, $20, $31, $CC, $A5, $55, $D0, $12 ; CPU:$865C PRG:065C 20 8D 2A 05 A9 6F 8D 2B 05 20 31 CC A5 55 D0 12 - .byte $20, $81, $86, $A2, $06, $BD, $00, $05, $9D, $30, $05, $CA, $10, $F7, $A9, $64 ; CPU:$866C PRG:066C 20 81 86 A2 06 BD 00 05 9D 30 05 CA 10 F7 A9 64 - .byte $D0, $10, $20, $6F, $86 ; CPU:$867C PRG:067C D0 10 20 6F 86 ; ----------------------------------------------------------------------------- -; Routine: Label_8681 -; Global: Branch target inside Label: taken when 8681. +; Routine: Label_861C +; Global: Branch target inside Label: taken when 861C. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8681: - ldx #$06 ; CPU:$8681 PRG:0681 A2 06 +Label_861C: + jsr Sub_CC6B ; CPU:$861C PRG:061C 20 6B CC + ldy $0300 ; CPU:$861F PRG:061F AC 00 03 + lda #$20 ; CPU:$8622 PRG:0622 A9 20 + sta $0301,y ; CPU:$8624 PRG:0624 99 01 03 + sta $0305,y ; CPU:$8627 PRG:0627 99 05 03 + lda #$F7 ; CPU:$862A PRG:062A A9 F7 + sta $0302,y ; CPU:$862C PRG:062C 99 02 03 + lda #$01 ; CPU:$862F PRG:062F A9 01 + sta $0303,y ; CPU:$8631 PRG:0631 99 03 03 + sta $0307,y ; CPU:$8634 PRG:0634 99 07 03 + lda Zp5E ; CPU:$8637 PRG:0637 A5 5E + sta $0304,y ; CPU:$8639 PRG:0639 99 04 03 + lda #$FC ; CPU:$863C PRG:063C A9 FC + sta $0306,y ; CPU:$863E PRG:063E 99 06 03 + lda #$0A ; CPU:$8641 PRG:0641 A9 0A + ldx Zp53 ; CPU:$8643 PRG:0643 A6 53 + beq NmiHandler_Loop21 ; CPU:$8645 PRG:0645 F0 02 + lda #$FA ; CPU:$8647 PRG:0647 A9 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative8 -; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Routine: NmiHandler_Loop21 +; Global: Branch target inside NmiHandler: taken when Loop21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative8: +NmiHandler_Loop21: + sta $0308,y ; CPU:$8649 PRG:0649 99 08 03 + lda #$00 ; CPU:$864C PRG:064C A9 00 + sta $0309,y ; CPU:$864E PRG:064E 99 09 03 + tya ; CPU:$8651 PRG:0651 98 + clc ; CPU:$8652 PRG:0652 18 + adc #$08 ; CPU:$8653 PRG:0653 69 08 + sta $0300 ; CPU:$8655 PRG:0655 8D 00 03 + jsr Sub_CC91 ; CPU:$8658 PRG:0658 20 91 CC + lda #$20 ; CPU:$865B PRG:065B A9 20 + sta $052A ; CPU:$865D PRG:065D 8D 2A 05 + lda #$6F ; CPU:$8660 PRG:0660 A9 6F + sta $052B ; CPU:$8662 PRG:0662 8D 2B 05 + jsr Sub_CC31 ; CPU:$8665 PRG:0665 20 31 CC + lda Zp55 ; CPU:$8668 PRG:0668 A5 55 + bne NmiHandler_Loop22 ; CPU:$866A PRG:066A D0 12 + jsr Sub_8681 ; CPU:$866C PRG:066C 20 81 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_866F +; Global: Branch target inside Sub: taken when 866F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_866F: + ldx #$06 ; CPU:$866F PRG:066F A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative10 +; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative10: + lda $0500,x ; CPU:$8671 PRG:0671 BD 00 05 + sta $0530,x ; CPU:$8674 PRG:0674 9D 30 05 + dex ; CPU:$8677 PRG:0677 CA + bpl NmiHandler_OnNonnegative10 ; CPU:$8678 PRG:0678 10 F7 + lda #$64 ; CPU:$867A PRG:067A A9 64 + bne NmiHandler_Loop23 ; CPU:$867C PRG:067C D0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop22: + jsr Sub_866F ; CPU:$867E PRG:067E 20 6F 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_8681 +; Global: Branch target inside Sub: taken when 8681. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8681: + ldx #$06 ; CPU:$8681 PRG:0681 A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative11 +; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative11: lda $0507,x ; CPU:$8683 PRG:0683 BD 07 05 sta $0530,x ; CPU:$8686 PRG:0686 9D 30 05 dex ; CPU:$8689 PRG:0689 CA - bpl NmiHandler_OnNonnegative8 ; CPU:$868A PRG:068A 10 F7 + bpl NmiHandler_OnNonnegative11 ; CPU:$868A PRG:068A 10 F7 lda #$78 ; CPU:$868C PRG:068C A9 78 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: sta $0529 ; CPU:$868E PRG:068E 8D 29 05 lda #$20 ; CPU:$8691 PRG:0691 A9 20 sta $0528 ; CPU:$8693 PRG:0693 8D 28 05 jmp Sub_CBCF ; CPU:$8696 PRG:0696 4C CF CB -; ---- data $8699-$86A2 (10 bytes) ---- - .byte $A9, $0E, $85, $71, $AE, $37, $05, $F0, $03, $60 ; CPU:$8699 PRG:0699 A9 0E 85 71 AE 37 05 F0 03 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8699 +; Global: Branch target inside Label: taken when 8699. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8699: + lda #$0E ; CPU:$8699 PRG:0699 A9 0E + sta Zp71 ; CPU:$869B PRG:069B 85 71 + ldx $0537 ; CPU:$869D PRG:069D AE 37 05 + beq NmiHandler_Loop24 ; CPU:$86A0 PRG:06A0 F0 03 + rts ; CPU:$86A2 PRG:06A2 60 ; ----------------------------------------------------------------------------- ; Routine: Label_86A3 ; Global: Branch target inside Label: taken when 86A3. @@ -912,25 +1194,121 @@ NmiHandler_OnNonnegative8: ; ----------------------------------------------------------------------------- Label_86A3: lda #$23 ; CPU:$86A3 PRG:06A3 A9 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: sta Zp52 ; CPU:$86A5 PRG:06A5 85 52 rts ; CPU:$86A7 PRG:06A7 60 -; ---- data $86A8-$8709 (98 bytes) ---- - .byte $A0, $0D, $B9, $56, $81, $99, $01, $03, $88, $10, $F7, $A4, $5F, $A2, $00, $8E ; CPU:$86A8 PRG:06A8 A0 0D B9 56 81 99 01 03 88 10 F7 A4 5F A2 00 8E - .byte $3B, $05, $A9, $FD, $9D, $04, $03, $E8, $E8, $88, $10, $F8, $AD, $37, $05, $D0 ; CPU:$86B8 PRG:06B8 3B 05 A9 FD 9D 04 03 E8 E8 88 10 F8 AD 37 05 D0 - .byte $2E, $A2, $0C, $A0, $08, $B9, $21, $81, $9D, $01, $03, $E8, $88, $10, $F6, $A2 ; CPU:$86C8 PRG:06C8 2E A2 0C A0 08 B9 21 81 9D 01 03 E8 88 10 F6 A2 - .byte $0C, $A4, $55, $C8, $98, $9D, $04, $03, $A4, $5F, $C8, $98, $9D, $08, $03, $AD ; CPU:$86D8 PRG:06D8 0C A4 55 C8 98 9D 04 03 A4 5F C8 98 9D 08 03 AD - .byte $3C, $05, $D0, $0B, $A9, $1C, $85, $3A, $8D, $3C, $05, $A9, $08, $85, $FB, $A5 ; CPU:$86E8 PRG:06E8 3C 05 D0 0B A9 1C 85 3A 8D 3C 05 A9 08 85 FB A5 - .byte $5F, $0A, $0A, $85, $00, $A5, $BE, $05, $00, $AA, $A5, $5F, $F0, $04, $A5, $6B ; CPU:$86F8 PRG:06F8 5F 0A 0A 85 00 A5 BE 05 00 AA A5 5F F0 04 A5 6B - .byte $49, $01 ; CPU:$8708 PRG:0708 49 01 ; ----------------------------------------------------------------------------- -; Routine: Label_870A -; Global: Branch target inside Label: taken when 870A. +; Routine: Label_86A8 +; Global: Branch target inside Label: taken when 86A8. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_870A: +Label_86A8: + ldy #$0D ; CPU:$86A8 PRG:06A8 A0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative12 +; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative12: + lda $8156,y ; CPU:$86AA PRG:06AA B9 56 81 + sta $0301,y ; CPU:$86AD PRG:06AD 99 01 03 + dey ; CPU:$86B0 PRG:06B0 88 + bpl NmiHandler_OnNonnegative12 ; CPU:$86B1 PRG:06B1 10 F7 + ldy SpriteIndex ; CPU:$86B3 PRG:06B3 A4 5F + ldx #$00 ; CPU:$86B5 PRG:06B5 A2 00 + stx $053B ; CPU:$86B7 PRG:06B7 8E 3B 05 + lda #$FD ; CPU:$86BA PRG:06BA A9 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative13 +; Global: Branch target inside NmiHandler: taken when OnNonnegative13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative13: + sta $0304,x ; CPU:$86BC PRG:06BC 9D 04 03 + inx ; CPU:$86BF PRG:06BF E8 + inx ; CPU:$86C0 PRG:06C0 E8 + dey ; CPU:$86C1 PRG:06C1 88 + bpl NmiHandler_OnNonnegative13 ; CPU:$86C2 PRG:06C2 10 F8 + lda $0537 ; CPU:$86C4 PRG:06C4 AD 37 05 + bne NmiHandler_Loop25 ; CPU:$86C7 PRG:06C7 D0 2E + ldx #$0C ; CPU:$86C9 PRG:06C9 A2 0C + ldy #$08 ; CPU:$86CB PRG:06CB A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative14 +; Global: Branch target inside NmiHandler: taken when OnNonnegative14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative14: + lda $8121,y ; CPU:$86CD PRG:06CD B9 21 81 + sta $0301,x ; CPU:$86D0 PRG:06D0 9D 01 03 + inx ; CPU:$86D3 PRG:06D3 E8 + dey ; CPU:$86D4 PRG:06D4 88 + bpl NmiHandler_OnNonnegative14 ; CPU:$86D5 PRG:06D5 10 F6 + ldx #$0C ; CPU:$86D7 PRG:06D7 A2 0C + ldy Zp55 ; CPU:$86D9 PRG:06D9 A4 55 + iny ; CPU:$86DB PRG:06DB C8 + tya ; CPU:$86DC PRG:06DC 98 + sta $0304,x ; CPU:$86DD PRG:06DD 9D 04 03 + ldy SpriteIndex ; CPU:$86E0 PRG:06E0 A4 5F + iny ; CPU:$86E2 PRG:06E2 C8 + tya ; CPU:$86E3 PRG:06E3 98 + sta $0308,x ; CPU:$86E4 PRG:06E4 9D 08 03 + lda $053C ; CPU:$86E7 PRG:06E7 AD 3C 05 + bne NmiHandler_Loop25 ; CPU:$86EA PRG:06EA D0 0B + lda #$1C ; CPU:$86EC PRG:06EC A9 1C + sta Zp3A ; CPU:$86EE PRG:06EE 85 3A + sta $053C ; CPU:$86F0 PRG:06F0 8D 3C 05 + lda #$08 ; CPU:$86F3 PRG:06F3 A9 08 + sta ZpFB ; CPU:$86F5 PRG:06F5 85 FB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + lda SpriteIndex ; CPU:$86F7 PRG:06F7 A5 5F + asl a ; CPU:$86F9 PRG:06F9 0A + asl a ; CPU:$86FA PRG:06FA 0A + sta VramWritePtrLo ; CPU:$86FB PRG:06FB 85 00 + lda ZpBE ; CPU:$86FD PRG:06FD A5 BE + ora VramWritePtrLo ; CPU:$86FF PRG:06FF 05 00 + tax ; CPU:$8701 PRG:0701 AA + lda SpriteIndex ; CPU:$8702 PRG:0702 A5 5F + beq NmiHandler_Loop26 ; CPU:$8704 PRG:0704 F0 04 + lda Zp6B ; CPU:$8706 PRG:0706 A5 6B + eor #$01 ; CPU:$8708 PRG:0708 49 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop26: asl a ; CPU:$870A PRG:070A 0A adc $812A,x ; CPU:$870B PRG:070B 7D 2A 81 sta $03AA ; CPU:$870E PRG:070E 8D AA 03 @@ -948,71 +1326,149 @@ Label_870A: Label_8718: jsr Sub_84CF ; CPU:$8718 PRG:0718 20 CF 84 lda #$01 ; CPU:$871B PRG:071B A9 01 - sta Zp50 ; CPU:$871D PRG:071D 85 50 + sta LevelIndex ; CPU:$871D PRG:071D 85 50 lsr a ; CPU:$871F PRG:071F 4A sta Zp4F ; CPU:$8720 PRG:0720 85 4F rts ; CPU:$8722 PRG:0722 60 -; ---- data $8723-$8776 (84 bytes) ---- - .byte $AE, $72, $03, $A9, $00, $85, $6A, $A5, $3A, $0D, $66, $03, $0D, $67, $03, $D0 ; CPU:$8723 PRG:0723 AE 72 03 A9 00 85 6A A5 3A 0D 66 03 0D 67 03 D0 - .byte $43, $A5, $12, $F0, $2B, $AD, $3B, $05, $D0, $0E, $A9, $0F, $8D, $3B, $05, $AE ; CPU:$8733 PRG:0733 43 A5 12 F0 2B AD 3B 05 D0 0E A9 0F 8D 3B 05 AE - .byte $37, $05, $D0, $30, $85, $52, $D0, $2C, $A5, $37, $D0, $28, $A9, $10, $85, $52 ; CPU:$8743 PRG:0743 37 05 D0 30 85 52 D0 2C A5 37 D0 28 A9 10 85 52 - .byte $E6, $51, $A9, $01, $85, $6C, $8D, $69, $03, $85, $FB, $4A, $85, $71, $F0, $14 ; CPU:$8753 PRG:0753 E6 51 A9 01 85 6C 8D 69 03 85 FB 4A 85 71 F0 14 - .byte $A5, $21, $D0, $04, $A9, $08, $85, $FC, $A9, $08, $85, $37, $8D, $8F, $03, $BD ; CPU:$8763 PRG:0763 A5 21 D0 04 A9 08 85 FC A9 08 85 37 8D 8F 03 BD - .byte $1F, $81, $85, $6A ; CPU:$8773 PRG:0773 1F 81 85 6A ; ----------------------------------------------------------------------------- -; Routine: Label_8777 -; Global: Branch target inside Label: taken when 8777. +; Routine: Label_8723 +; Global: Branch target inside Label: taken when 8723. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8777: +Label_8723: + ldx $0372 ; CPU:$8723 PRG:0723 AE 72 03 + lda #$00 ; CPU:$8726 PRG:0726 A9 00 + sta Zp6A ; CPU:$8728 PRG:0728 85 6A + lda Zp3A ; CPU:$872A PRG:072A A5 3A + ora $0366 ; CPU:$872C PRG:072C 0D 66 03 + ora $0367 ; CPU:$872F PRG:072F 0D 67 03 + bne NmiHandler_Loop30 ; CPU:$8732 PRG:0732 D0 43 + lda Zp12 ; CPU:$8734 PRG:0734 A5 12 + beq NmiHandler_Loop28 ; CPU:$8736 PRG:0736 F0 2B + lda $053B ; CPU:$8738 PRG:0738 AD 3B 05 + bne NmiHandler_Loop27 ; CPU:$873B PRG:073B D0 0E + lda #$0F ; CPU:$873D PRG:073D A9 0F + sta $053B ; CPU:$873F PRG:073F 8D 3B 05 + ldx $0537 ; CPU:$8742 PRG:0742 AE 37 05 + bne NmiHandler_Loop30 ; CPU:$8745 PRG:0745 D0 30 + sta Zp52 ; CPU:$8747 PRG:0747 85 52 + bne NmiHandler_Loop30 ; CPU:$8749 PRG:0749 D0 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop27: + lda Zp37 ; CPU:$874B PRG:074B A5 37 + bne NmiHandler_Loop30 ; CPU:$874D PRG:074D D0 28 + lda #$10 ; CPU:$874F PRG:074F A9 10 + sta Zp52 ; CPU:$8751 PRG:0751 85 52 + inc Zp51 ; CPU:$8753 PRG:0753 E6 51 + lda #$01 ; CPU:$8755 PRG:0755 A9 01 + sta Zp6C ; CPU:$8757 PRG:0757 85 6C + sta $0369 ; CPU:$8759 PRG:0759 8D 69 03 + sta ZpFB ; CPU:$875C PRG:075C 85 FB + lsr a ; CPU:$875E PRG:075E 4A + sta Zp71 ; CPU:$875F PRG:075F 85 71 + beq NmiHandler_Loop30 ; CPU:$8761 PRG:0761 F0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop28: + lda Zp21 ; CPU:$8763 PRG:0763 A5 21 + bne NmiHandler_Loop29 ; CPU:$8765 PRG:0765 D0 04 + lda #$08 ; CPU:$8767 PRG:0767 A9 08 + sta ZpFC ; CPU:$8769 PRG:0769 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop29: + lda #$08 ; CPU:$876B PRG:076B A9 08 + sta Zp37 ; CPU:$876D PRG:076D 85 37 + sta $038F ; CPU:$876F PRG:076F 8D 8F 03 + lda $811F,x ; CPU:$8772 PRG:0772 BD 1F 81 + sta Zp6A ; CPU:$8775 PRG:0775 85 6A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop30: jsr Sub_A482 ; CPU:$8777 PRG:0777 20 82 A4 jsr Sub_A826 ; CPU:$877A PRG:077A 20 26 A8 jsr Sub_A696 ; CPU:$877D PRG:077D 20 96 A6 - jsr NmiHandler_OnZero2 ; CPU:$8780 PRG:0780 20 22 8E + jsr NmiHandler_OnZero3 ; CPU:$8780 PRG:0780 20 22 8E jmp Sub_A8EB ; CPU:$8783 PRG:0783 4C EB A8 -; ---- data $8786-$8790 (11 bytes) ---- - .byte $AD, $37, $05, $F0, $06, $20, $E5, $8D, $4C, $B5, $87 ; CPU:$8786 PRG:0786 AD 37 05 F0 06 20 E5 8D 4C B5 87 ; ----------------------------------------------------------------------------- -; Routine: Label_8791 -; Global: Branch target inside Label: taken when 8791. +; Routine: Label_8786 +; Global: Branch target inside Label: taken when 8786. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8791: - lda Zp5F ; CPU:$8791 PRG:0791 A5 5F - cmp #$03 ; CPU:$8793 PRG:0793 C9 03 - bne NmiHandler_Loop15 ; CPU:$8795 PRG:0795 D0 03 - jsr Sub_BA3A ; CPU:$8797 PRG:0797 20 3A BA +Label_8786: + lda $0537 ; CPU:$8786 PRG:0786 AD 37 05 + beq NmiHandler_Loop31 ; CPU:$8789 PRG:0789 F0 06 + jsr Sub_8DE5 ; CPU:$878B PRG:078B 20 E5 8D + jmp Sub_87B5 ; CPU:$878E PRG:078E 4C B5 87 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop15 -; Global: Branch target inside NmiHandler: taken when Loop15. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop15: +NmiHandler_Loop31: + lda SpriteIndex ; CPU:$8791 PRG:0791 A5 5F + cmp #$03 ; CPU:$8793 PRG:0793 C9 03 + bne NmiHandler_Loop32 ; CPU:$8795 PRG:0795 D0 03 + jsr Sub_BA3A ; CPU:$8797 PRG:0797 20 3A BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop32: lda $0537 ; CPU:$879A PRG:079A AD 37 05 - beq NmiHandler_Loop16 ; CPU:$879D PRG:079D F0 06 + beq NmiHandler_Loop33 ; CPU:$879D PRG:079D F0 06 jsr Sub_8DE5 ; CPU:$879F PRG:079F 20 E5 8D jmp Sub_87B5 ; CPU:$87A2 PRG:07A2 4C B5 87 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop16 -; Global: Branch target inside NmiHandler: taken when Loop16. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop16: +NmiHandler_Loop33: lda $0366 ; CPU:$87A5 PRG:07A5 AD 66 03 ora $0367 ; CPU:$87A8 PRG:07A8 0D 67 03 - bne NmiHandler_Loop19 ; CPU:$87AB PRG:07AB D0 33 + bne NmiHandler_Loop36 ; CPU:$87AB PRG:07AB D0 33 lda Zp55 ; CPU:$87AD PRG:07AD A5 55 asl a ; CPU:$87AF PRG:07AF 0A tax ; CPU:$87B0 PRG:07B0 AA @@ -1029,94 +1485,94 @@ NmiHandler_Loop16: Sub_87B5: ldx $036F ; CPU:$87B5 PRG:07B5 AE 6F 03 ldy $036E ; CPU:$87B8 PRG:07B8 AC 6E 03 - lda Zp69 ; CPU:$87BB PRG:07BB A5 69 + lda PlayerIndex ; CPU:$87BB PRG:07BB A5 69 sta $036F ; CPU:$87BD PRG:07BD 8D 6F 03 lda Zp68 ; CPU:$87C0 PRG:07C0 A5 68 sta $036E ; CPU:$87C2 PRG:07C2 8D 6E 03 - cpx Zp69 ; CPU:$87C5 PRG:07C5 E4 69 - bne NmiHandler_Loop17 ; CPU:$87C7 PRG:07C7 D0 04 + cpx PlayerIndex ; CPU:$87C5 PRG:07C5 E4 69 + bne NmiHandler_Loop34 ; CPU:$87C7 PRG:07C7 D0 04 cpy Zp68 ; CPU:$87C9 PRG:07C9 C4 68 - beq NmiHandler_Loop18 ; CPU:$87CB PRG:07CB F0 05 + beq NmiHandler_Loop35 ; CPU:$87CB PRG:07CB F0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop17 -; Global: Branch target inside NmiHandler: taken when Loop17. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop17: +NmiHandler_Loop34: lda #$01 ; CPU:$87CD PRG:07CD A9 01 sta $038F ; CPU:$87CF PRG:07CF 8D 8F 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop18: +NmiHandler_Loop35: jsr Sub_A696 ; CPU:$87D2 PRG:07D2 20 96 A6 jsr Sub_ACDF ; CPU:$87D5 PRG:07D5 20 DF AC lda $038F ; CPU:$87D8 PRG:07D8 AD 8F 03 - bne NmiHandler_Loop19 ; CPU:$87DB PRG:07DB D0 03 + bne NmiHandler_Loop36 ; CPU:$87DB PRG:07DB D0 03 jsr Sub_A482 ; CPU:$87DD PRG:07DD 20 82 A4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop19 -; Global: Branch target inside NmiHandler: taken when Loop19. +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop19: +NmiHandler_Loop36: jsr Sub_C034 ; CPU:$87E0 PRG:07E0 20 34 C0 jsr Sub_D7FA ; CPU:$87E3 PRG:07E3 20 FA D7 jsr Sub_C1B9 ; CPU:$87E6 PRG:07E6 20 B9 C1 - lda Zp5F ; CPU:$87E9 PRG:07E9 A5 5F + lda SpriteIndex ; CPU:$87E9 PRG:07E9 A5 5F cmp #$04 ; CPU:$87EB PRG:07EB C9 04 - bne NmiHandler_Loop20 ; CPU:$87ED PRG:07ED D0 03 + bne NmiHandler_Loop37 ; CPU:$87ED PRG:07ED D0 03 jsr Sub_D487 ; CPU:$87EF PRG:07EF 20 87 D4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop20 -; Global: Branch target inside NmiHandler: taken when Loop20. +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop20: +NmiHandler_Loop37: jsr Sub_B2C8 ; CPU:$87F2 PRG:07F2 20 C8 B2 jsr Sub_B976 ; CPU:$87F5 PRG:07F5 20 76 B9 jsr Sub_A936 ; CPU:$87F8 PRG:07F8 20 36 A9 - jsr NmiHandler_OnZero2 ; CPU:$87FB PRG:07FB 20 22 8E + jsr NmiHandler_OnZero3 ; CPU:$87FB PRG:07FB 20 22 8E jsr Sub_CCE8 ; CPU:$87FE PRG:07FE 20 E8 CC jsr Sub_B8FD ; CPU:$8801 PRG:0801 20 FD B8 jsr Sub_C5FD ; CPU:$8804 PRG:0804 20 FD C5 lda $0366 ; CPU:$8807 PRG:0807 AD 66 03 ora $0367 ; CPU:$880A PRG:080A 0D 67 03 - bne NmiHandler_Loop22 ; CPU:$880D PRG:080D D0 2E + bne NmiHandler_Loop39 ; CPU:$880D PRG:080D D0 2E jsr Sub_B899 ; CPU:$880F PRG:080F 20 99 B8 lda $04A6 ; CPU:$8812 PRG:0812 AD A6 04 - bmi NmiHandler_Loop24 ; CPU:$8815 PRG:0815 30 38 + bmi NmiHandler_Loop41 ; CPU:$8815 PRG:0815 30 38 jsr Sub_B9A4 ; CPU:$8817 PRG:0817 20 A4 B9 jsr Sub_C93D ; CPU:$881A PRG:081A 20 3D C9 lda Zp49 ; CPU:$881D PRG:081D A5 49 lsr a ; CPU:$881F PRG:081F 4A - bcc NmiHandler_Loop21 ; CPU:$8820 PRG:0820 90 09 + bcc NmiHandler_Loop38 ; CPU:$8820 PRG:0820 90 09 jsr Sub_C88C ; CPU:$8822 PRG:0822 20 8C C8 jsr Sub_CD5A ; CPU:$8825 PRG:0825 20 5A CD jmp Sub_882E ; CPU:$8828 PRG:0828 4C 2E 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop21 -; Global: Branch target inside NmiHandler: taken when Loop21. +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop21: +NmiHandler_Loop38: jsr Sub_C208 ; CPU:$882B PRG:082B 20 08 C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_882E @@ -1133,82 +1589,82 @@ Sub_882E: jsr Sub_D697 ; CPU:$8837 PRG:0837 20 97 D6 jsr Sub_B789 ; CPU:$883A PRG:083A 20 89 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop22 -; Global: Branch target inside NmiHandler: taken when Loop22. +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop22: +NmiHandler_Loop39: lda $038F ; CPU:$883D PRG:083D AD 8F 03 - beq NmiHandler_Loop23 ; CPU:$8840 PRG:0840 F0 06 + beq NmiHandler_Loop40 ; CPU:$8840 PRG:0840 F0 06 jsr Sub_A8EB ; CPU:$8842 PRG:0842 20 EB A8 - jmp NmiHandler_Loop25 ; CPU:$8845 PRG:0845 4C 52 88 + jmp NmiHandler_Loop42 ; CPU:$8845 PRG:0845 4C 52 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop40: lda Zp70 ; CPU:$8848 PRG:0848 A5 70 - bne NmiHandler_Loop25 ; CPU:$884A PRG:084A D0 06 + bne NmiHandler_Loop42 ; CPU:$884A PRG:084A D0 06 jsr Sub_BAA5 ; CPU:$884C PRG:084C 20 A5 BA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop41: jsr Sub_C7AB ; CPU:$884F PRG:084F 20 AB C7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop42: lda $0388 ; CPU:$8852 PRG:0852 AD 88 03 - beq NmiHandler_Loop30 ; CPU:$8855 PRG:0855 F0 76 - lda Zp86 ; CPU:$8857 PRG:0857 A5 86 + beq NmiHandler_Loop47 ; CPU:$8855 PRG:0855 F0 76 + lda PpuMaskShadow ; CPU:$8857 PRG:0857 A5 86 ora Zp36 ; CPU:$8859 PRG:0859 05 36 - beq NmiHandler_Loop26 ; CPU:$885B PRG:085B F0 0F + beq NmiHandler_Loop43 ; CPU:$885B PRG:085B F0 0F cmp #$0A ; CPU:$885D PRG:085D C9 0A - bne NmiHandler_Loop30 ; CPU:$885F PRG:085F D0 6C + bne NmiHandler_Loop47 ; CPU:$885F PRG:085F D0 6C lda $048F ; CPU:$8861 PRG:0861 AD 8F 04 sta ZpFD ; CPU:$8864 PRG:0864 85 FD lda #$00 ; CPU:$8866 PRG:0866 A9 00 sta $048F ; CPU:$8868 PRG:0868 8D 8F 04 rts ; CPU:$886B PRG:086B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: +NmiHandler_Loop43: ldx Zp55 ; CPU:$886C PRG:086C A6 55 - beq NmiHandler_Loop27 ; CPU:$886E PRG:086E F0 02 + beq NmiHandler_Loop44 ; CPU:$886E PRG:086E F0 02 ldx #$07 ; CPU:$8870 PRG:0870 A2 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop44: ldy #$00 ; CPU:$8872 PRG:0872 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear2 @@ -1227,21 +1683,21 @@ NmiHandler_OnCarryClear2: bcc NmiHandler_OnCarryClear2 ; CPU:$887E PRG:087E 90 F4 ldx Zp55 ; CPU:$8880 PRG:0880 A6 55 dec Zp5C,x ; CPU:$8882 PRG:0882 D6 5C - bne NmiHandler_Loop28 ; CPU:$8884 PRG:0884 D0 21 + bne NmiHandler_Loop45 ; CPU:$8884 PRG:0884 D0 21 ldx #$20 ; CPU:$8886 PRG:0886 A2 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative9 -; Global: Branch target inside NmiHandler: taken when OnNonnegative9. +; Routine: NmiHandler_OnNonnegative15 +; Global: Branch target inside NmiHandler: taken when OnNonnegative15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative9: +NmiHandler_OnNonnegative15: lda $8163,x ; CPU:$8888 PRG:0888 BD 63 81 sta $0300,x ; CPU:$888B PRG:088B 9D 00 03 dex ; CPU:$888E PRG:088E CA - bpl NmiHandler_OnNonnegative9 ; CPU:$888F PRG:088F 10 F7 + bpl NmiHandler_OnNonnegative15 ; CPU:$888F PRG:088F 10 F7 ldx Zp55 ; CPU:$8891 PRG:0891 A6 55 inx ; CPU:$8893 PRG:0893 E8 stx $0305 ; CPU:$8894 PRG:0894 8E 05 03 @@ -1254,32 +1710,32 @@ NmiHandler_OnNonnegative9: sta Zp36 ; CPU:$88A4 PRG:08A4 85 36 rts ; CPU:$88A6 PRG:08A6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside NmiHandler: taken when Loop28. +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: +NmiHandler_Loop45: lda Zp54 ; CPU:$88A7 PRG:08A7 A5 54 and #$02 ; CPU:$88A9 PRG:08A9 29 02 - beq NmiHandler_Loop29 ; CPU:$88AB PRG:08AB F0 0A + beq NmiHandler_Loop46 ; CPU:$88AB PRG:08AB F0 0A txa ; CPU:$88AD PRG:08AD 8A eor #$01 ; CPU:$88AE PRG:08AE 49 01 tax ; CPU:$88B0 PRG:08B0 AA lda Zp5C,x ; CPU:$88B1 PRG:08B1 B5 5C - beq NmiHandler_Loop29 ; CPU:$88B3 PRG:08B3 F0 02 + beq NmiHandler_Loop46 ; CPU:$88B3 PRG:08B3 F0 02 stx Zp55 ; CPU:$88B5 PRG:08B5 86 55 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop46: lda #$01 ; CPU:$88B7 PRG:08B7 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_88B9 @@ -1303,20 +1759,20 @@ Sub_88B9: ; ----------------------------------------------------------------------------- Sub_88BF: lda #$00 ; CPU:$88BF PRG:08BF A9 00 - sta Zp50 ; CPU:$88C1 PRG:08C1 85 50 + sta LevelIndex ; CPU:$88C1 PRG:08C1 85 50 sta Zp4F ; CPU:$88C3 PRG:08C3 85 4F sta $0366 ; CPU:$88C5 PRG:08C5 8D 66 03 sta $0367 ; CPU:$88C8 PRG:08C8 8D 67 03 sta Zp6F ; CPU:$88CB PRG:08CB 85 6F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop47: rts ; CPU:$88CD PRG:08CD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_88CE @@ -1328,120 +1784,372 @@ NmiHandler_Loop30: ; ----------------------------------------------------------------------------- Sub_88CE: lda $0537 ; CPU:$88CE PRG:08CE AD 37 05 - bne NmiHandler_Loop33 ; CPU:$88D1 PRG:08D1 D0 32 + bne NmiHandler_Loop50 ; CPU:$88D1 PRG:08D1 D0 32 lda Zp51 ; CPU:$88D3 PRG:08D3 A5 51 cmp #$04 ; CPU:$88D5 PRG:08D5 C9 04 - bne NmiHandler_Loop31 ; CPU:$88D7 PRG:08D7 D0 06 + bne NmiHandler_Loop48 ; CPU:$88D7 PRG:08D7 D0 06 lda Zp5C ; CPU:$88D9 PRG:08D9 A5 5C ora Zp5D ; CPU:$88DB PRG:08DB 05 5D - beq NmiHandler_Loop33 ; CPU:$88DD PRG:08DD F0 26 + beq NmiHandler_Loop50 ; CPU:$88DD PRG:08DD F0 26 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: +NmiHandler_Loop48: lda $0367 ; CPU:$88DF PRG:08DF AD 67 03 - bne NmiHandler_Loop32 ; CPU:$88E2 PRG:08E2 D0 1E + bne NmiHandler_Loop49 ; CPU:$88E2 PRG:08E2 D0 1E lda Zp15 ; CPU:$88E4 PRG:08E4 A5 15 and #$10 ; CPU:$88E6 PRG:08E6 29 10 - beq NmiHandler_Loop34 ; CPU:$88E8 PRG:08E8 F0 1C + beq NmiHandler_Loop51 ; CPU:$88E8 PRG:08E8 F0 1C lda $0369 ; CPU:$88EA PRG:08EA AD 69 03 - bne NmiHandler_Loop34 ; CPU:$88ED PRG:08ED D0 17 + bne NmiHandler_Loop51 ; CPU:$88ED PRG:08ED D0 17 lda #$80 ; CPU:$88EF PRG:08EF A9 80 sta $0369 ; CPU:$88F1 PRG:08F1 8D 69 03 lda $0366 ; CPU:$88F4 PRG:08F4 AD 66 03 eor #$01 ; CPU:$88F7 PRG:08F7 49 01 sta $0366 ; CPU:$88F9 PRG:08F9 8D 66 03 - bne NmiHandler_Loop35 ; CPU:$88FC PRG:08FC D0 0C + bne NmiHandler_Loop52 ; CPU:$88FC PRG:08FC D0 0C lda #$80 ; CPU:$88FE PRG:08FE A9 80 - bne NmiHandler_Loop36 ; CPU:$8900 PRG:0900 D0 0A + bne NmiHandler_Loop53 ; CPU:$8900 PRG:0900 D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: +NmiHandler_Loop49: dec $0367 ; CPU:$8902 PRG:0902 CE 67 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: +NmiHandler_Loop50: rts ; CPU:$8905 PRG:0905 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: +NmiHandler_Loop51: sta $0369 ; CPU:$8906 PRG:0906 8D 69 03 rts ; CPU:$8909 PRG:0909 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: +NmiHandler_Loop52: lda #$40 ; CPU:$890A PRG:090A A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside NmiHandler: taken when Loop36. +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: +NmiHandler_Loop53: sta ZpFB ; CPU:$890C PRG:090C 85 FB lda #$28 ; CPU:$890E PRG:090E A9 28 sta $0367 ; CPU:$8910 PRG:0910 8D 67 03 - rts ; CPU:$8913 PRG:0913 60 -; ---- data $8914-$894E (59 bytes) ---- - .byte $AD, $02, $20, $29, $40, $D0, $F9, $A5, $5F, $C9, $03, $D0, $03, $20, $3A, $BA ; CPU:$8914 PRG:0914 AD 02 20 29 40 D0 F9 A5 5F C9 03 D0 03 20 3A BA - .byte $20, $22, $8E, $A5, $5C, $05, $5D, $D0, $0E, $A5, $14, $29, $10, $F0, $05, $AD ; CPU:$8924 PRG:0924 20 22 8E A5 5C 05 5D D0 0E A5 14 29 10 F0 05 AD - .byte $3B, $05, $F0, $17, $8D, $3B, $05, $A5, $36, $D0, $D4, $A5, $5C, $05, $5D, $F0 ; CPU:$8934 PRG:0934 3B 05 F0 17 8D 3B 05 A5 36 D0 D4 A5 5C 05 5D F0 - .byte $0A, $A5, $55, $49, $01, $85, $55, $AA, $4C, $B7, $88 ; CPU:$8944 PRG:0944 0A A5 55 49 01 85 55 AA 4C B7 88 ; ----------------------------------------------------------------------------- -; Routine: Sub_894F -; Global: Branch target inside Sub: taken when 894F. +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero4: + rts ; CPU:$8913 PRG:0913 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero5: + lda PPUSTATUS ; CPU:$8914 PRG:0914 AD 02 20 + and #$40 ; CPU:$8917 PRG:0917 29 40 + bne NmiHandler_OnNonzero5 ; CPU:$8919 PRG:0919 D0 F9 + lda SpriteIndex ; CPU:$891B PRG:091B A5 5F + cmp #$03 ; CPU:$891D PRG:091D C9 03 + bne NmiHandler_Loop54 ; CPU:$891F PRG:091F D0 03 + jsr Sub_BA3A ; CPU:$8921 PRG:0921 20 3A BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop54: + jsr NmiHandler_OnZero3 ; CPU:$8924 PRG:0924 20 22 8E + lda Zp5C ; CPU:$8927 PRG:0927 A5 5C + ora Zp5D ; CPU:$8929 PRG:0929 05 5D + bne NmiHandler_Loop56 ; CPU:$892B PRG:092B D0 0E + lda Zp14 ; CPU:$892D PRG:092D A5 14 + and #$10 ; CPU:$892F PRG:092F 29 10 + beq NmiHandler_Loop55 ; CPU:$8931 PRG:0931 F0 05 + lda $053B ; CPU:$8933 PRG:0933 AD 3B 05 + beq NmiHandler_Loop57 ; CPU:$8936 PRG:0936 F0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop55: + sta $053B ; CPU:$8938 PRG:0938 8D 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop56: + lda Zp36 ; CPU:$893B PRG:093B A5 36 + bne NmiHandler_OnNonzero4 ; CPU:$893D PRG:093D D0 D4 + lda Zp5C ; CPU:$893F PRG:093F A5 5C + ora Zp5D ; CPU:$8941 PRG:0941 05 5D + beq NmiHandler_Loop57 ; CPU:$8943 PRG:0943 F0 0A + lda Zp55 ; CPU:$8945 PRG:0945 A5 55 + eor #$01 ; CPU:$8947 PRG:0947 49 01 + sta Zp55 ; CPU:$8949 PRG:0949 85 55 + tax ; CPU:$894B PRG:094B AA + jmp NmiHandler_Loop46 ; CPU:$894C PRG:094C 4C B7 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: + lda #$00 ; CPU:$894F PRG:094F A9 00 + sta $0537 ; CPU:$8951 PRG:0951 8D 37 05 + jmp Sub_88B9 ; CPU:$8954 PRG:0954 4C B9 88 +; ----------------------------------------------------------------------------- +; Routine: Label_8957 +; Global: Branch target inside Label: taken when 8957. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8957: + lda #$19 ; CPU:$8957 PRG:0957 A9 19 + sta Zp52 ; CPU:$8959 PRG:0959 85 52 + rts ; CPU:$895B PRG:095B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_895C +; Global: Branch target inside Label: taken when 895C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_895C: + lda #$11 ; CPU:$895C PRG:095C A9 11 + sta Zp52 ; CPU:$895E PRG:095E 85 52 + lda #$01 ; CPU:$8960 PRG:0960 A9 01 + sta Zp61 ; CPU:$8962 PRG:0962 85 61 + lda #$C0 ; CPU:$8964 PRG:0964 A9 C0 + sta Zp12 ; CPU:$8966 PRG:0966 85 12 + ldx #$03 ; CPU:$8968 PRG:0968 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative16 +; Global: Branch target inside NmiHandler: taken when OnNonnegative16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative16: + lda $8152,x ; CPU:$896A PRG:096A BD 52 81 + sta $0200,x ; CPU:$896D PRG:096D 9D 00 02 + dex ; CPU:$8970 PRG:0970 CA + bpl NmiHandler_OnNonnegative16 ; CPU:$8971 PRG:0971 10 F7 + lda #$2C ; CPU:$8973 PRG:0973 A9 2C + sta Zp39 ; CPU:$8975 PRG:0975 85 39 + jmp Sub_BB48 ; CPU:$8977 PRG:0977 4C 48 BB +; ----------------------------------------------------------------------------- +; Routine: Label_897A +; Global: Branch target inside Label: taken when 897A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_897A: + lda #$10 ; CPU:$897A PRG:097A A9 10 + sta Zp4B ; CPU:$897C PRG:097C 85 4B + lda #$00 ; CPU:$897E PRG:097E A9 00 + sta Zp4C ; CPU:$8980 PRG:0980 85 4C + jsr Sub_B2C8 ; CPU:$8982 PRG:0982 20 C8 B2 + jsr Sub_8A03 ; CPU:$8985 PRG:0985 20 03 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero2 +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero2: + lda PPUSTATUS ; CPU:$8988 PRG:0988 AD 02 20 + and #$40 ; CPU:$898B PRG:098B 29 40 + beq NmiHandler_OnZero2 ; CPU:$898D PRG:098D F0 F9 + jsr Sub_8E85 ; CPU:$898F PRG:098F 20 85 8E + lda Zp38 ; CPU:$8992 PRG:0992 A5 38 + bne NmiHandler_Loop58 ; CPU:$8994 PRG:0994 D0 08 + lda #$05 ; CPU:$8996 PRG:0996 A9 05 + sta Zp38 ; CPU:$8998 PRG:0998 85 38 + lda #$10 ; CPU:$899A PRG:099A A9 10 + sta ZpFD ; CPU:$899C PRG:099C 85 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop58: + lda Zp39 ; CPU:$899E PRG:099E A5 39 + cmp #$10 ; CPU:$89A0 PRG:09A0 C9 10 + bne NmiHandler_Loop59 ; CPU:$89A2 PRG:09A2 D0 22 + lda Zp20 ; CPU:$89A4 PRG:09A4 A5 20 + cmp #$01 ; CPU:$89A6 PRG:09A6 C9 01 + bne NmiHandler_Loop59 ; CPU:$89A8 PRG:09A8 D0 1C + lda #$13 ; CPU:$89AA PRG:09AA A9 13 + sta Zp52 ; CPU:$89AC PRG:09AC 85 52 + ldy #$6F ; CPU:$89AE PRG:09AE A0 6F + lda #$C8 ; CPU:$89B0 PRG:09B0 A9 C8 + ldx #$04 ; CPU:$89B2 PRG:09B2 A2 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_89B4 +; Global: Branch target inside Sub: taken when 89B4. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_894F: - lda #$00 ; CPU:$894F PRG:094F A9 00 - sta $0537 ; CPU:$8951 PRG:0951 8D 37 05 - jmp Sub_88B9 ; CPU:$8954 PRG:0954 4C B9 88 -; ---- data $8957-$8A02 (172 bytes) ---- - .byte $A9, $19, $85, $52, $60, $A9, $11, $85, $52, $A9, $01, $85, $61, $A9, $C0, $85 ; CPU:$8957 PRG:0957 A9 19 85 52 60 A9 11 85 52 A9 01 85 61 A9 C0 85 - .byte $12, $A2, $03, $BD, $52, $81, $9D, $00, $02, $CA, $10, $F7, $A9, $2C, $85, $39 ; CPU:$8967 PRG:0967 12 A2 03 BD 52 81 9D 00 02 CA 10 F7 A9 2C 85 39 - .byte $4C, $48, $BB, $A9, $10, $85, $4B, $A9, $00, $85, $4C, $20, $C8, $B2, $20, $03 ; CPU:$8977 PRG:0977 4C 48 BB A9 10 85 4B A9 00 85 4C 20 C8 B2 20 03 - .byte $8A, $AD, $02, $20, $29, $40, $F0, $F9, $20, $85, $8E, $A5, $38, $D0, $08, $A9 ; CPU:$8987 PRG:0987 8A AD 02 20 29 40 F0 F9 20 85 8E A5 38 D0 08 A9 - .byte $05, $85, $38, $A9, $10, $85, $FD, $A5, $39, $C9, $10, $D0, $22, $A5, $20, $C9 ; CPU:$8997 PRG:0997 05 85 38 A9 10 85 FD A5 39 C9 10 D0 22 A5 20 C9 - .byte $01, $D0, $1C, $A9, $13, $85, $52, $A0, $6F, $A9, $C8, $A2, $04, $9D, $0B, $02 ; CPU:$89A7 PRG:09A7 01 D0 1C A9 13 85 52 A0 6F A9 C8 A2 04 9D 0B 02 - .byte $98, $9D, $08, $02, $A9, $F5, $9D, $09, $02, $A9, $02, $9D, $0A, $02, $60, $A5 ; CPU:$89B7 PRG:09B7 98 9D 08 02 A9 F5 9D 09 02 A9 02 9D 0A 02 60 A5 - .byte $21, $D0, $0D, $A9, $06, $85, $21, $A5, $68, $49, $01, $85, $68, $4C, $EB, $A8 ; CPU:$89C7 PRG:09C7 21 D0 0D A9 06 85 21 A5 68 49 01 85 68 4C EB A8 - .byte $A5, $26, $D0, $21, $A9, $0C, $85, $26, $AD, $3B, $05, $49, $01, $8D, $3B, $05 ; CPU:$89D7 PRG:09D7 A5 26 D0 21 A9 0C 85 26 AD 3B 05 49 01 8D 3B 05 - .byte $D0, $06, $A9, $12, $A0, $6F, $D0, $04, $A9, $14, $A0, $F8, $85, $52, $A9, $58 ; CPU:$89E7 PRG:09E7 D0 06 A9 12 A0 6F D0 04 A9 14 A0 F8 85 52 A9 58 - .byte $A2, $00, $20, $B4, $89, $A5, $39, $D0, $C5, $4C, $B7, $88 ; CPU:$89F7 PRG:09F7 A2 00 20 B4 89 A5 39 D0 C5 4C B7 88 +Sub_89B4: + sta $020B,x ; CPU:$89B4 PRG:09B4 9D 0B 02 + tya ; CPU:$89B7 PRG:09B7 98 + sta $0208,x ; CPU:$89B8 PRG:09B8 9D 08 02 + lda #$F5 ; CPU:$89BB PRG:09BB A9 F5 + sta $0209,x ; CPU:$89BD PRG:09BD 9D 09 02 + lda #$02 ; CPU:$89C0 PRG:09C0 A9 02 + sta $020A,x ; CPU:$89C2 PRG:09C2 9D 0A 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero6: + rts ; CPU:$89C5 PRG:09C5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop59: + lda Zp21 ; CPU:$89C6 PRG:09C6 A5 21 + bne NmiHandler_Loop60 ; CPU:$89C8 PRG:09C8 D0 0D + lda #$06 ; CPU:$89CA PRG:09CA A9 06 + sta Zp21 ; CPU:$89CC PRG:09CC 85 21 + lda Zp68 ; CPU:$89CE PRG:09CE A5 68 + eor #$01 ; CPU:$89D0 PRG:09D0 49 01 + sta Zp68 ; CPU:$89D2 PRG:09D2 85 68 + jmp Sub_A8EB ; CPU:$89D4 PRG:09D4 4C EB A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop60: + lda Zp26 ; CPU:$89D7 PRG:09D7 A5 26 + bne NmiHandler_Loop63 ; CPU:$89D9 PRG:09D9 D0 21 + lda #$0C ; CPU:$89DB PRG:09DB A9 0C + sta Zp26 ; CPU:$89DD PRG:09DD 85 26 + lda $053B ; CPU:$89DF PRG:09DF AD 3B 05 + eor #$01 ; CPU:$89E2 PRG:09E2 49 01 + sta $053B ; CPU:$89E4 PRG:09E4 8D 3B 05 + bne NmiHandler_Loop61 ; CPU:$89E7 PRG:09E7 D0 06 + lda #$12 ; CPU:$89E9 PRG:09E9 A9 12 + ldy #$6F ; CPU:$89EB PRG:09EB A0 6F + bne NmiHandler_Loop62 ; CPU:$89ED PRG:09ED D0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop61: + lda #$14 ; CPU:$89EF PRG:09EF A9 14 + ldy #$F8 ; CPU:$89F1 PRG:09F1 A0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + sta Zp52 ; CPU:$89F3 PRG:09F3 85 52 + lda #$58 ; CPU:$89F5 PRG:09F5 A9 58 + ldx #$00 ; CPU:$89F7 PRG:09F7 A2 00 + jsr Sub_89B4 ; CPU:$89F9 PRG:09F9 20 B4 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + lda Zp39 ; CPU:$89FC PRG:09FC A5 39 + bne NmiHandler_OnNonzero6 ; CPU:$89FE PRG:09FE D0 C5 + jmp NmiHandler_Loop46 ; CPU:$8A00 PRG:0A00 4C B7 88 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A03 ; Global: Branch target inside Sub: taken when 8A03. @@ -1455,20 +2163,20 @@ Sub_8A03: sta Zp4E ; CPU:$8A05 PRG:0A05 85 4E lda Zp49 ; CPU:$8A07 PRG:0A07 A5 49 lsr a ; CPU:$8A09 PRG:0A09 4A - bcc NmiHandler_Loop37 ; CPU:$8A0A PRG:0A0A 90 0C + bcc NmiHandler_Loop64 ; CPU:$8A0A PRG:0A0A 90 0C jsr Sub_8A2E ; CPU:$8A0C PRG:0A0C 20 2E 8A jsr Sub_8A4D ; CPU:$8A0F PRG:0A0F 20 4D 8A jsr Sub_8A6C ; CPU:$8A12 PRG:0A12 20 6C 8A jmp Sub_8A25 ; CPU:$8A15 PRG:0A15 4C 25 8A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop64: nop ; CPU:$8A18 PRG:0A18 EA jsr Sub_8A4D ; CPU:$8A19 PRG:0A19 20 4D 8A jsr Sub_8A2E ; CPU:$8A1C PRG:0A1C 20 2E 8A @@ -1500,36 +2208,36 @@ Sub_8A2E: ldx Zp4E ; CPU:$8A2E PRG:0A2E A6 4E ldy #$00 ; CPU:$8A30 PRG:0A30 A0 00 lda Zp4B ; CPU:$8A32 PRG:0A32 A5 4B - beq NmiHandler_Loop38 ; CPU:$8A34 PRG:0A34 F0 14 + beq NmiHandler_Loop65 ; CPU:$8A34 PRG:0A34 F0 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Routine: NmiHandler_OnNonzero7 +; Global: Branch target inside NmiHandler: taken when OnNonzero7. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero2: +NmiHandler_OnNonzero7: lda $0600,y ; CPU:$8A36 PRG:0A36 B9 00 06 sta $0200,x ; CPU:$8A39 PRG:0A39 9D 00 02 inx ; CPU:$8A3C PRG:0A3C E8 cpx #$FC ; CPU:$8A3D PRG:0A3D E0 FC - bcs NmiHandler_Loop38 ; CPU:$8A3F PRG:0A3F B0 09 + bcs NmiHandler_Loop65 ; CPU:$8A3F PRG:0A3F B0 09 tya ; CPU:$8A41 PRG:0A41 98 clc ; CPU:$8A42 PRG:0A42 18 adc #$01 ; CPU:$8A43 PRG:0A43 69 01 tay ; CPU:$8A45 PRG:0A45 A8 cpy Zp4B ; CPU:$8A46 PRG:0A46 C4 4B - bne NmiHandler_OnNonzero2 ; CPU:$8A48 PRG:0A48 D0 EC + bne NmiHandler_OnNonzero7 ; CPU:$8A48 PRG:0A48 D0 EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop65: stx Zp4E ; CPU:$8A4A PRG:0A4A 86 4E rts ; CPU:$8A4C PRG:0A4C 60 ; ----------------------------------------------------------------------------- @@ -1544,36 +2252,36 @@ Sub_8A4D: ldx Zp4E ; CPU:$8A4D PRG:0A4D A6 4E ldy #$00 ; CPU:$8A4F PRG:0A4F A0 00 lda Zp4C ; CPU:$8A51 PRG:0A51 A5 4C - beq NmiHandler_Loop39 ; CPU:$8A53 PRG:0A53 F0 14 + beq NmiHandler_Loop66 ; CPU:$8A53 PRG:0A53 F0 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: +NmiHandler_OnNonzero8: lda $06D0,y ; CPU:$8A55 PRG:0A55 B9 D0 06 sta $0200,x ; CPU:$8A58 PRG:0A58 9D 00 02 inx ; CPU:$8A5B PRG:0A5B E8 cpx #$FC ; CPU:$8A5C PRG:0A5C E0 FC - bcs NmiHandler_Loop39 ; CPU:$8A5E PRG:0A5E B0 09 + bcs NmiHandler_Loop66 ; CPU:$8A5E PRG:0A5E B0 09 tya ; CPU:$8A60 PRG:0A60 98 clc ; CPU:$8A61 PRG:0A61 18 adc #$01 ; CPU:$8A62 PRG:0A62 69 01 tay ; CPU:$8A64 PRG:0A64 A8 cpy Zp4C ; CPU:$8A65 PRG:0A65 C4 4C - bne NmiHandler_OnNonzero3 ; CPU:$8A67 PRG:0A67 D0 EC + bne NmiHandler_OnNonzero8 ; CPU:$8A67 PRG:0A67 D0 EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop66: stx Zp4E ; CPU:$8A69 PRG:0A69 86 4E rts ; CPU:$8A6B PRG:0A6B 60 ; ----------------------------------------------------------------------------- @@ -1588,59 +2296,59 @@ Sub_8A6C: ldx Zp4E ; CPU:$8A6C PRG:0A6C A6 4E ldy #$00 ; CPU:$8A6E PRG:0A6E A0 00 lda Zp4D ; CPU:$8A70 PRG:0A70 A5 4D - beq NmiHandler_Loop41 ; CPU:$8A72 PRG:0A72 F0 16 + beq NmiHandler_Loop68 ; CPU:$8A72 PRG:0A72 F0 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: +NmiHandler_OnNonzero9: lda $0730,y ; CPU:$8A74 PRG:0A74 B9 30 07 sta $0200,x ; CPU:$8A77 PRG:0A77 9D 00 02 inx ; CPU:$8A7A PRG:0A7A E8 cpx #$FC ; CPU:$8A7B PRG:0A7B E0 FC - bcs NmiHandler_Loop40 ; CPU:$8A7D PRG:0A7D B0 09 + bcs NmiHandler_Loop67 ; CPU:$8A7D PRG:0A7D B0 09 tya ; CPU:$8A7F PRG:0A7F 98 clc ; CPU:$8A80 PRG:0A80 18 adc #$01 ; CPU:$8A81 PRG:0A81 69 01 tay ; CPU:$8A83 PRG:0A83 A8 cpy Zp4D ; CPU:$8A84 PRG:0A84 C4 4D - bne NmiHandler_OnNonzero4 ; CPU:$8A86 PRG:0A86 D0 EC + bne NmiHandler_OnNonzero9 ; CPU:$8A86 PRG:0A86 D0 EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop67: stx Zp4E ; CPU:$8A88 PRG:0A88 86 4E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: +NmiHandler_Loop68: ldx Zp4E ; CPU:$8A8A PRG:0A8A A6 4E ldy #$00 ; CPU:$8A8C PRG:0A8C A0 00 - lda Zp00 ; CPU:$8A8E PRG:0A8E A5 00 - bne NmiHandler_OnNonzero5 ; CPU:$8A90 PRG:0A90 D0 00 + lda VramWritePtrLo ; CPU:$8A8E PRG:0A8E A5 00 + bne NmiHandler_OnNonzero10 ; CPU:$8A90 PRG:0A90 D0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: +NmiHandler_OnNonzero10: lda $052F,y ; CPU:$8A92 PRG:0A92 B9 2F 05 sta $0200,x ; CPU:$8A95 PRG:0A95 9D 00 02 txa ; CPU:$8A98 PRG:0A98 8A @@ -1652,60 +2360,560 @@ NmiHandler_OnNonzero5: adc #$00 ; CPU:$8A9F PRG:0A9F 69 00 tay ; CPU:$8AA1 PRG:0AA1 A8 cpx #$00 ; CPU:$8AA2 PRG:0AA2 E0 00 - bne NmiHandler_OnNonzero5 ; CPU:$8AA4 PRG:0AA4 D0 EC + bne NmiHandler_OnNonzero10 ; CPU:$8AA4 PRG:0AA4 D0 EC rts ; CPU:$8AA6 PRG:0AA6 60 -; ---- data $8AA7-$8DCE (808 bytes) ---- - .byte $AD, $66, $03, $0D, $67, $03, $D0, $03, $20, $D6, $8A, $20, $E8, $CC, $A2, $00 ; CPU:$8AA7 PRG:0AA7 AD 66 03 0D 67 03 D0 03 20 D6 8A 20 E8 CC A2 00 - .byte $E4, $4B, $B0, $15, $BD, $00, $06, $C9, $6C, $B0, $08, $BD, $02, $06, $09, $20 ; CPU:$8AB7 PRG:0AB7 E4 4B B0 15 BD 00 06 C9 6C B0 08 BD 02 06 09 20 - .byte $9D, $02, $06, $E8, $E8, $E8, $E8, $D0, $E7, $20, $22, $8E, $4C, $BA, $B2, $A5 ; CPU:$8AC7 PRG:0AC7 9D 02 06 E8 E8 E8 E8 D0 E7 20 22 8E 4C BA B2 A5 - .byte $60, $0A, $A8, $B9, $3E, $81, $85, $00, $C8, $B9, $3E, $81, $85, $01, $6C, $00 ; CPU:$8AD7 PRG:0AD7 60 0A A8 B9 3E 81 85 00 C8 B9 3E 81 85 01 6C 00 - .byte $00, $A5, $38, $F0, $33, $A9, $00, $85, $67, $85, $63, $20, $26, $A8, $A5, $69 ; CPU:$8AE7 PRG:0AE7 00 A5 38 F0 33 A9 00 85 67 85 63 20 26 A8 A5 69 - .byte $4A, $D0, $0C, $A5, $68, $F0, $08, $A9, $01, $8D, $6E, $03, $4A, $85, $68, $AD ; CPU:$8AF7 PRG:0AF7 4A D0 0C A5 68 F0 08 A9 01 8D 6E 03 4A 85 68 AD - .byte $6E, $03, $A6, $68, $8E, $6E, $03, $C5, $68, $D0, $04, $A9, $00, $F0, $05, $20 ; CPU:$8B07 PRG:0B07 6E 03 A6 68 8E 6E 03 C5 68 D0 04 A9 00 F0 05 20 - .byte $EB, $A8, $A9, $01, $8D, $8F, $03, $60, $AD, $72, $03, $85, $C6, $A9, $09, $8D ; CPU:$8B17 PRG:0B17 EB A8 A9 01 8D 8F 03 60 AD 72 03 85 C6 A9 09 8D - .byte $8A, $03, $A9, $80, $8D, $8B, $03, $A9, $15, $85, $52, $A5, $5F, $C9, $04, $D0 ; CPU:$8B27 PRG:0B27 8A 03 A9 80 8D 8B 03 A9 15 85 52 A5 5F C9 04 D0 - .byte $48, $A9, $06, $85, $60, $A9, $16, $85, $52, $4C, $48, $BB, $A9, $0A, $18, $6D ; CPU:$8B37 PRG:0B37 48 A9 06 85 60 A9 16 85 52 4C 48 BB A9 0A 18 6D - .byte $72, $03, $85, $52, $D0, $33, $A9, $04, $38, $ED, $72, $03, $A8, $AA, $20, $BE ; CPU:$8B47 PRG:0B47 72 03 85 52 D0 33 A9 04 38 ED 72 03 A8 AA 20 BE - .byte $A7, $A5, $65, $29, $01, $85, $61, $98, $49, $07, $A8, $20, $F5, $A7, $A5, $64 ; CPU:$8B57 PRG:0B57 A7 A5 65 29 01 85 61 98 49 07 A8 20 F5 A7 A5 64 - .byte $D0, $1E, $C6, $CE, $A9, $04, $85, $FE, $85, $38, $C5, $5F, $F0, $0B, $0A, $85 ; CPU:$8B67 PRG:0B67 D0 1E C6 CE A9 04 85 FE 85 38 C5 5F F0 0B 0A 85 - .byte $63, $A9, $1B, $85, $52, $A9, $01, $85, $86, $E6, $60, $A9, $00, $8D, $3B, $05 ; CPU:$8B77 PRG:0B77 63 A9 1B 85 52 A9 01 85 86 E6 60 A9 00 8D 3B 05 - .byte $60, $A2, $06, $AD, $3B, $05, $D0, $26, $A4, $C6, $D0, $01, $88, $A5, $30, $D0 ; CPU:$8B87 PRG:0B87 60 A2 06 AD 3B 05 D0 26 A4 C6 D0 01 88 A5 30 D0 - .byte $04, $A9, $08, $85, $FC, $20, $E7, $D4, $A5, $94, $C9, $5C, $90, $04, $C9, $A4 ; CPU:$8B97 PRG:0B97 04 A9 08 85 FC 20 E7 D4 A5 94 C9 5C 90 04 C9 A4 - .byte $90, $DE, $A9, $01, $8D, $3B, $05, $0A, $85, $BD, $0A, $85, $21, $60, $A5, $21 ; CPU:$8BA7 PRG:0BA7 90 DE A9 01 8D 3B 05 0A 85 BD 0A 85 21 60 A5 21 - .byte $D0, $CE, $A9, $08, $85, $FC, $A9, $0C, $85, $21, $A5, $BD, $49, $03, $85, $BD ; CPU:$8BB7 PRG:0BB7 D0 CE A9 08 85 FC A9 0C 85 21 A5 BD 49 03 85 BD - .byte $4A, $D0, $BD, $A5, $B6, $C9, $40, $B0, $16, $A9, $00, $85, $86, $AD, $A6, $04 ; CPU:$8BC7 PRG:0BC7 4A D0 BD A5 B6 C9 40 B0 16 A9 00 85 86 AD A6 04 - .byte $D0, $03, $EE, $A6, $04, $A9, $18, $85, $38, $A9, $04, $85, $FB, $D0, $9A, $E9 ; CPU:$8BD7 PRG:0BD7 D0 03 EE A6 04 A9 18 85 38 A9 04 85 FB D0 9A E9 - .byte $08, $85, $B6, $A0, $08, $A5, $C6, $D0, $02, $A0, $F8, $4C, $1F, $B2, $A5, $38 ; CPU:$8BE7 PRG:0BE7 08 85 B6 A0 08 A5 C6 D0 02 A0 F8 4C 1F B2 A5 38 - .byte $D0, $22, $20, $AB, $C7, $A5, $49, $29, $03, $D0, $04, $A9, $02, $85, $FE, $AD ; CPU:$8BF7 PRG:0BF7 D0 22 20 AB C7 A5 49 29 03 D0 04 A9 02 85 FE AD - .byte $3B, $05, $D0, $11, $A5, $34, $D0, $0C, $A9, $02, $85, $34, $20, $9D, $CC, $90 ; CPU:$8C07 PRG:0C07 3B 05 D0 11 A5 34 D0 0C A9 02 85 34 20 9D CC 90 - .byte $03, $EE, $3B, $05, $60, $20, $C7, $CC, $90, $FA, $A9, $05, $85, $38, $A6, $55 ; CPU:$8C17 PRG:0C17 03 EE 3B 05 60 20 C7 CC 90 FA A9 05 85 38 A6 55 - .byte $F0, $02, $A2, $07, $A0, $00, $B9, $30, $05, $9D, $00, $05, $C8, $E8, $C0, $07 ; CPU:$8C27 PRG:0C27 F0 02 A2 07 A0 00 B9 30 05 9D 00 05 C8 E8 C0 07 - .byte $90, $F4, $4C, $80, $8B, $A5, $38, $05, $39, $D0, $D9, $A6, $55, $F6, $58, $B5 ; CPU:$8C37 PRG:0C37 90 F4 4C 80 8B A5 38 05 39 D0 D9 A6 55 F6 58 B5 - .byte $58, $C9, $05, $90, $0F, $A9, $00, $95, $58, $85, $35, $F6, $56, $A9, $06, $85 ; CPU:$8C47 PRG:0C47 58 C9 05 90 0F A9 00 95 58 85 35 F6 56 A9 06 85 - .byte $51, $4C, $BF, $88, $C9, $02, $F0, $07, $C9, $04, $F0, $03, $4C, $B7, $88, $A9 ; CPU:$8C57 PRG:0C57 51 4C BF 88 C9 02 F0 07 C9 04 F0 03 4C B7 88 A9 - .byte $05, $4C, $B9, $88, $A5, $38, $D0, $AC, $85, $69, $A9, $01, $85, $68, $20, $EB ; CPU:$8C67 PRG:0C67 05 4C B9 88 A5 38 D0 AC 85 69 A9 01 85 68 20 EB - .byte $A8, $A9, $01, $85, $B7, $4A, $85, $DF, $A9, $50, $85, $CE, $A9, $8F, $85, $B0 ; CPU:$8C77 PRG:0C77 A8 A9 01 85 B7 4A 85 DF A9 50 85 CE A9 8F 85 B0 - .byte $4C, $D4, $8B, $5F, $F5, $02, $C0, $90, $09, $01, $64, $80, $09, $01, $6C, $78 ; CPU:$8C87 PRG:0C87 4C D4 8B 5F F5 02 C0 90 09 01 64 80 09 01 6C 78 - .byte $09, $01, $7C, $80, $09, $01, $8C, $90, $09, $01, $94, $10, $04, $0C, $00, $08 ; CPU:$8C97 PRG:0C97 09 01 7C 80 09 01 8C 90 09 01 94 10 04 0C 00 08 - .byte $83, $7A, $76, $78, $7E, $86, $90, $9A, $A4, $AC, $B4, $BA, $C0, $7C, $84, $8E ; CPU:$8CA7 PRG:0CA7 83 7A 76 78 7E 86 90 9A A4 AC B4 BA C0 7C 84 8E - .byte $98, $A0, $A6, $A8, $A4, $9E, $96, $8E, $85, $7C, $A5, $39, $D0, $22, $EE, $A0 ; CPU:$8CB7 PRG:0CB7 98 A0 A6 A8 A4 9E 96 8E 85 7C A5 39 D0 22 EE A0 - .byte $03, $AE, $A0, $03, $E0, $03, $D0, $10, $86, $35, $A2, $00, $8E, $A0, $03, $8E ; CPU:$8CC7 PRG:0CC7 03 AE A0 03 E0 03 D0 10 86 35 A2 00 8E A0 03 8E - .byte $A1, $03, $E8, $86, $51, $4C, $BF, $88, $A9, $22, $85, $52, $A9, $18, $85, $39 ; CPU:$8CD7 PRG:0CD7 A1 03 E8 86 51 4C BF 88 A9 22 85 52 A9 18 85 39 - .byte $20, $BA, $B2, $A6, $4B, $AC, $A0, $03, $D0, $0E, $B9, $8A, $8C, $9D, $00, $06 ; CPU:$8CE7 PRG:0CE7 20 BA B2 A6 4B AC A0 03 D0 0E B9 8A 8C 9D 00 06 - .byte $E8, $C8, $C0, $04, $D0, $F4, $86, $4B, $A0, $00, $A5, $5E, $D0, $37, $B9, $8E ; CPU:$8CF7 PRG:0CF7 E8 C8 C0 04 D0 F4 86 4B A0 00 A5 5E D0 37 B9 8E - .byte $8C, $9D, $00, $06, $E8, $C8, $C0, $14, $D0, $F4, $A5, $33, $D0, $13, $A9, $10 ; CPU:$8D07 PRG:0D07 8C 9D 00 06 E8 C8 C0 14 D0 F4 A5 33 D0 13 A9 10 - .byte $85, $33, $EE, $A1, $03, $AD, $A1, $03, $C9, $05, $90, $05, $A9, $00, $8D, $A1 ; CPU:$8D17 PRG:0D17 85 33 EE A1 03 AD A1 03 C9 05 90 05 A9 00 8D A1 - .byte $03, $AC, $A1, $03, $B9, $A2, $8C, $18, $65, $4B, $A8, $86, $4B, $A9, $F8, $99 ; CPU:$8D27 PRG:0D27 03 AC A1 03 B9 A2 8C 18 65 4B A8 86 4B A9 F8 99 - .byte $00, $06, $4C, $03, $8A, $B9, $A7, $8C, $20, $8C, $8D, $A9, $09, $20, $8C, $8D ; CPU:$8D37 PRG:0D37 00 06 4C 03 8A B9 A7 8C 20 8C 8D A9 09 20 8C 8D - .byte $A9, $01, $20, $8C, $8D, $B9, $B4, $8C, $9D, $00, $06, $38, $E9, $7C, $85, $00 ; CPU:$8D47 PRG:0D47 A9 01 20 8C 8D B9 B4 8C 9D 00 06 38 E9 7C 85 00 - .byte $A9, $7C, $38, $E5, $00, $20, $8F, $8D, $C8, $C0, $0D, $D0, $D8, $8A, $18, $69 ; CPU:$8D57 PRG:0D57 A9 7C 38 E5 00 20 8F 8D C8 C0 0D D0 D8 8A 18 69 - .byte $34, $AA, $AD, $A1, $03, $A4, $33, $D0, $0D, $A0, $03, $84, $33, $18, $69, $04 ; CPU:$8D67 PRG:0D67 34 AA AD A1 03 A4 33 D0 0D A0 03 84 33 18 69 04 - .byte $C9, $34, $90, $02, $A9, $00, $8D, $A1, $03, $18, $65, $4B, $A8, $A9, $F8, $99 ; CPU:$8D77 PRG:0D77 C9 34 90 02 A9 00 8D A1 03 18 65 4B A8 A9 F8 99 - .byte $34, $06, $4C, $32, $8D, $9D, $00, $06, $9D, $34, $06, $E8, $60, $20, $B1, $8F ; CPU:$8D87 PRG:0D87 34 06 4C 32 8D 9D 00 06 9D 34 06 E8 60 20 B1 8F - .byte $AD, $02, $20, $A5, $10, $29, $FB, $8D, $00, $20, $A9, $21, $8D, $06, $20, $A9 ; CPU:$8D97 PRG:0D97 AD 02 20 A5 10 29 FB 8D 00 20 A9 21 8D 06 20 A9 - .byte $20, $8D, $06, $20, $A2, $02, $A0, $20, $A9, $FC, $8D, $07, $20, $C8, $D0, $FA ; CPU:$8DA7 PRG:0DA7 20 8D 06 20 A2 02 A0 20 A9 FC 8D 07 20 C8 D0 FA - .byte $CA, $D0, $F7, $8D, $07, $20, $C8, $C0, $C0, $90, $F8, $A9, $20, $85, $FB, $A9 ; CPU:$8DB7 PRG:0DB7 CA D0 F7 8D 07 20 C8 C0 C0 90 F8 A9 20 85 FB A9 - .byte $F8, $8D, $00, $02, $A9, $1A, $D0, $0A ; CPU:$8DC7 PRG:0DC7 F8 8D 00 02 A9 1A D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_8AA7 +; Global: Branch target inside Label: taken when 8AA7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8AA7: + lda $0366 ; CPU:$8AA7 PRG:0AA7 AD 66 03 + ora $0367 ; CPU:$8AAA PRG:0AAA 0D 67 03 + bne NmiHandler_Loop69 ; CPU:$8AAD PRG:0AAD D0 03 + jsr Sub_8AD6 ; CPU:$8AAF PRG:0AAF 20 D6 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + jsr Sub_CCE8 ; CPU:$8AB2 PRG:0AB2 20 E8 CC + ldx #$00 ; CPU:$8AB5 PRG:0AB5 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + cpx Zp4B ; CPU:$8AB7 PRG:0AB7 E4 4B + bcs NmiHandler_Loop71 ; CPU:$8AB9 PRG:0AB9 B0 15 + lda $0600,x ; CPU:$8ABB PRG:0ABB BD 00 06 + cmp #$6C ; CPU:$8ABE PRG:0ABE C9 6C + bcs NmiHandler_Loop70 ; CPU:$8AC0 PRG:0AC0 B0 08 + lda $0602,x ; CPU:$8AC2 PRG:0AC2 BD 02 06 + ora #$20 ; CPU:$8AC5 PRG:0AC5 09 20 + sta $0602,x ; CPU:$8AC7 PRG:0AC7 9D 02 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + inx ; CPU:$8ACA PRG:0ACA E8 + inx ; CPU:$8ACB PRG:0ACB E8 + inx ; CPU:$8ACC PRG:0ACC E8 + inx ; CPU:$8ACD PRG:0ACD E8 + bne NmiHandler_OnNonzero11 ; CPU:$8ACE PRG:0ACE D0 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + jsr NmiHandler_OnZero3 ; CPU:$8AD0 PRG:0AD0 20 22 8E + jmp Sub_B2BA ; CPU:$8AD3 PRG:0AD3 4C BA B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_8AD6 +; Global: Branch target inside Sub: taken when 8AD6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8AD6: + lda Zp60 ; CPU:$8AD6 PRG:0AD6 A5 60 + asl a ; CPU:$8AD8 PRG:0AD8 0A + tay ; CPU:$8AD9 PRG:0AD9 A8 + lda $813E,y ; CPU:$8ADA PRG:0ADA B9 3E 81 + sta VramWritePtrLo ; CPU:$8ADD PRG:0ADD 85 00 + iny ; CPU:$8ADF PRG:0ADF C8 + lda $813E,y ; CPU:$8AE0 PRG:0AE0 B9 3E 81 + sta VramWritePtrHi ; CPU:$8AE3 PRG:0AE3 85 01 + jmp (VramWritePtrLo) ; CPU:$8AE5 PRG:0AE5 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8AE8 +; Global: Branch target inside Label: taken when 8AE8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8AE8: + lda Zp38 ; CPU:$8AE8 PRG:0AE8 A5 38 + beq NmiHandler_Loop75 ; CPU:$8AEA PRG:0AEA F0 33 + lda #$00 ; CPU:$8AEC PRG:0AEC A9 00 + sta Zp67 ; CPU:$8AEE PRG:0AEE 85 67 + sta Zp63 ; CPU:$8AF0 PRG:0AF0 85 63 + jsr Sub_A826 ; CPU:$8AF2 PRG:0AF2 20 26 A8 + lda PlayerIndex ; CPU:$8AF5 PRG:0AF5 A5 69 + lsr a ; CPU:$8AF7 PRG:0AF7 4A + bne NmiHandler_Loop72 ; CPU:$8AF8 PRG:0AF8 D0 0C + lda Zp68 ; CPU:$8AFA PRG:0AFA A5 68 + beq NmiHandler_Loop72 ; CPU:$8AFC PRG:0AFC F0 08 + lda #$01 ; CPU:$8AFE PRG:0AFE A9 01 + sta $036E ; CPU:$8B00 PRG:0B00 8D 6E 03 + lsr a ; CPU:$8B03 PRG:0B03 4A + sta Zp68 ; CPU:$8B04 PRG:0B04 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + lda $036E ; CPU:$8B06 PRG:0B06 AD 6E 03 + ldx Zp68 ; CPU:$8B09 PRG:0B09 A6 68 + stx $036E ; CPU:$8B0B PRG:0B0B 8E 6E 03 + cmp Zp68 ; CPU:$8B0E PRG:0B0E C5 68 + bne NmiHandler_Loop73 ; CPU:$8B10 PRG:0B10 D0 04 + lda #$00 ; CPU:$8B12 PRG:0B12 A9 00 + beq NmiHandler_Loop74 ; CPU:$8B14 PRG:0B14 F0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + jsr Sub_A8EB ; CPU:$8B16 PRG:0B16 20 EB A8 + lda #$01 ; CPU:$8B19 PRG:0B19 A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + sta $038F ; CPU:$8B1B PRG:0B1B 8D 8F 03 + rts ; CPU:$8B1E PRG:0B1E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + lda $0372 ; CPU:$8B1F PRG:0B1F AD 72 03 + sta ZpC6 ; CPU:$8B22 PRG:0B22 85 C6 + lda #$09 ; CPU:$8B24 PRG:0B24 A9 09 + sta $038A ; CPU:$8B26 PRG:0B26 8D 8A 03 + lda #$80 ; CPU:$8B29 PRG:0B29 A9 80 + sta $038B ; CPU:$8B2B PRG:0B2B 8D 8B 03 + lda #$15 ; CPU:$8B2E PRG:0B2E A9 15 + sta Zp52 ; CPU:$8B30 PRG:0B30 85 52 + lda SpriteIndex ; CPU:$8B32 PRG:0B32 A5 5F + cmp #$04 ; CPU:$8B34 PRG:0B34 C9 04 + bne NmiHandler_Loop76 ; CPU:$8B36 PRG:0B36 D0 48 + lda #$06 ; CPU:$8B38 PRG:0B38 A9 06 + sta Zp60 ; CPU:$8B3A PRG:0B3A 85 60 + lda #$16 ; CPU:$8B3C PRG:0B3C A9 16 + sta Zp52 ; CPU:$8B3E PRG:0B3E 85 52 + jmp Sub_BB48 ; CPU:$8B40 PRG:0B40 4C 48 BB +; ----------------------------------------------------------------------------- +; Routine: Label_8B43 +; Global: Branch target inside Label: taken when 8B43. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B43: + lda #$0A ; CPU:$8B43 PRG:0B43 A9 0A + clc ; CPU:$8B45 PRG:0B45 18 + adc $0372 ; CPU:$8B46 PRG:0B46 6D 72 03 + sta Zp52 ; CPU:$8B49 PRG:0B49 85 52 + bne NmiHandler_Loop76 ; CPU:$8B4B PRG:0B4B D0 33 + lda #$04 ; CPU:$8B4D PRG:0B4D A9 04 + sec ; CPU:$8B4F PRG:0B4F 38 + sbc $0372 ; CPU:$8B50 PRG:0B50 ED 72 03 + tay ; CPU:$8B53 PRG:0B53 A8 + tax ; CPU:$8B54 PRG:0B54 AA + jsr NmiHandler_Loop148 ; CPU:$8B55 PRG:0B55 20 BE A7 + lda Zp65 ; CPU:$8B58 PRG:0B58 A5 65 + and #$01 ; CPU:$8B5A PRG:0B5A 29 01 + sta Zp61 ; CPU:$8B5C PRG:0B5C 85 61 + tya ; CPU:$8B5E PRG:0B5E 98 + eor #$07 ; CPU:$8B5F PRG:0B5F 49 07 + tay ; CPU:$8B61 PRG:0B61 A8 + jsr NmiHandler_Loop153 ; CPU:$8B62 PRG:0B62 20 F5 A7 + lda Zp64 ; CPU:$8B65 PRG:0B65 A5 64 + bne NmiHandler_OnNonzero12 ; CPU:$8B67 PRG:0B67 D0 1E + dec ZpCE ; CPU:$8B69 PRG:0B69 C6 CE + lda #$04 ; CPU:$8B6B PRG:0B6B A9 04 + sta ZpFE ; CPU:$8B6D PRG:0B6D 85 FE + sta Zp38 ; CPU:$8B6F PRG:0B6F 85 38 + cmp SpriteIndex ; CPU:$8B71 PRG:0B71 C5 5F + beq NmiHandler_Loop76 ; CPU:$8B73 PRG:0B73 F0 0B + asl a ; CPU:$8B75 PRG:0B75 0A + sta Zp63 ; CPU:$8B76 PRG:0B76 85 63 + lda #$1B ; CPU:$8B78 PRG:0B78 A9 1B + sta Zp52 ; CPU:$8B7A PRG:0B7A 85 52 + lda #$01 ; CPU:$8B7C PRG:0B7C A9 01 + sta PpuMaskShadow ; CPU:$8B7E PRG:0B7E 85 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + inc Zp60 ; CPU:$8B80 PRG:0B80 E6 60 + lda #$00 ; CPU:$8B82 PRG:0B82 A9 00 + sta $053B ; CPU:$8B84 PRG:0B84 8D 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + rts ; CPU:$8B87 PRG:0B87 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8B88 +; Global: Branch target inside Label: taken when 8B88. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B88: + ldx #$06 ; CPU:$8B88 PRG:0B88 A2 06 + lda $053B ; CPU:$8B8A PRG:0B8A AD 3B 05 + bne NmiHandler_Loop80 ; CPU:$8B8D PRG:0B8D D0 26 + ldy ZpC6 ; CPU:$8B8F PRG:0B8F A4 C6 + bne NmiHandler_Loop77 ; CPU:$8B91 PRG:0B91 D0 01 + dey ; CPU:$8B93 PRG:0B93 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + lda Zp30 ; CPU:$8B94 PRG:0B94 A5 30 + bne NmiHandler_Loop78 ; CPU:$8B96 PRG:0B96 D0 04 + lda #$08 ; CPU:$8B98 PRG:0B98 A9 08 + sta ZpFC ; CPU:$8B9A PRG:0B9A 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + jsr Sub_D4E7 ; CPU:$8B9C PRG:0B9C 20 E7 D4 + lda Zp94 ; CPU:$8B9F PRG:0B9F A5 94 + cmp #$5C ; CPU:$8BA1 PRG:0BA1 C9 5C + bcc NmiHandler_Loop79 ; CPU:$8BA3 PRG:0BA3 90 04 + cmp #$A4 ; CPU:$8BA5 PRG:0BA5 C9 A4 + bcc NmiHandler_OnNonzero12 ; CPU:$8BA7 PRG:0BA7 90 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + lda #$01 ; CPU:$8BA9 PRG:0BA9 A9 01 + sta $053B ; CPU:$8BAB PRG:0BAB 8D 3B 05 + asl a ; CPU:$8BAE PRG:0BAE 0A + sta ZpBD ; CPU:$8BAF PRG:0BAF 85 BD + asl a ; CPU:$8BB1 PRG:0BB1 0A + sta Zp21 ; CPU:$8BB2 PRG:0BB2 85 21 + rts ; CPU:$8BB4 PRG:0BB4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + lda Zp21 ; CPU:$8BB5 PRG:0BB5 A5 21 + bne NmiHandler_OnNonzero12 ; CPU:$8BB7 PRG:0BB7 D0 CE + lda #$08 ; CPU:$8BB9 PRG:0BB9 A9 08 + sta ZpFC ; CPU:$8BBB PRG:0BBB 85 FC + lda #$0C ; CPU:$8BBD PRG:0BBD A9 0C + sta Zp21 ; CPU:$8BBF PRG:0BBF 85 21 + lda ZpBD ; CPU:$8BC1 PRG:0BC1 A5 BD + eor #$03 ; CPU:$8BC3 PRG:0BC3 49 03 + sta ZpBD ; CPU:$8BC5 PRG:0BC5 85 BD + lsr a ; CPU:$8BC7 PRG:0BC7 4A + bne NmiHandler_OnNonzero12 ; CPU:$8BC8 PRG:0BC8 D0 BD + lda SpriteScore ; CPU:$8BCA PRG:0BCA A5 B6 + cmp #$40 ; CPU:$8BCC PRG:0BCC C9 40 + bcs NmiHandler_Loop82 ; CPU:$8BCE PRG:0BCE B0 16 + lda #$00 ; CPU:$8BD0 PRG:0BD0 A9 00 + sta PpuMaskShadow ; CPU:$8BD2 PRG:0BD2 85 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_8BD4 +; Global: Branch target inside Sub: taken when 8BD4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8BD4: + lda $04A6 ; CPU:$8BD4 PRG:0BD4 AD A6 04 + bne NmiHandler_Loop81 ; CPU:$8BD7 PRG:0BD7 D0 03 + inc $04A6 ; CPU:$8BD9 PRG:0BD9 EE A6 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + lda #$18 ; CPU:$8BDC PRG:0BDC A9 18 + sta Zp38 ; CPU:$8BDE PRG:0BDE 85 38 + lda #$04 ; CPU:$8BE0 PRG:0BE0 A9 04 + sta ZpFB ; CPU:$8BE2 PRG:0BE2 85 FB + bne NmiHandler_Loop76 ; CPU:$8BE4 PRG:0BE4 D0 9A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop82: + sbc #$08 ; CPU:$8BE6 PRG:0BE6 E9 08 + sta SpriteScore ; CPU:$8BE8 PRG:0BE8 85 B6 + ldy #$08 ; CPU:$8BEA PRG:0BEA A0 08 + lda ZpC6 ; CPU:$8BEC PRG:0BEC A5 C6 + bne NmiHandler_Loop83 ; CPU:$8BEE PRG:0BEE D0 02 + ldy #$F8 ; CPU:$8BF0 PRG:0BF0 A0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + jmp NmiHandler_Loop293 ; CPU:$8BF2 PRG:0BF2 4C 1F B2 +; ----------------------------------------------------------------------------- +; Routine: Label_8BF5 +; Global: Branch target inside Label: taken when 8BF5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8BF5: + lda Zp38 ; CPU:$8BF5 PRG:0BF5 A5 38 + bne NmiHandler_Loop85 ; CPU:$8BF7 PRG:0BF7 D0 22 + jsr Sub_C7AB ; CPU:$8BF9 PRG:0BF9 20 AB C7 + lda Zp49 ; CPU:$8BFC PRG:0BFC A5 49 + and #$03 ; CPU:$8BFE PRG:0BFE 29 03 + bne NmiHandler_Loop84 ; CPU:$8C00 PRG:0C00 D0 04 + lda #$02 ; CPU:$8C02 PRG:0C02 A9 02 + sta ZpFE ; CPU:$8C04 PRG:0C04 85 FE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + lda $053B ; CPU:$8C06 PRG:0C06 AD 3B 05 + bne NmiHandler_Loop86 ; CPU:$8C09 PRG:0C09 D0 11 + lda Zp34 ; CPU:$8C0B PRG:0C0B A5 34 + bne NmiHandler_Loop85 ; CPU:$8C0D PRG:0C0D D0 0C + lda #$02 ; CPU:$8C0F PRG:0C0F A9 02 + sta Zp34 ; CPU:$8C11 PRG:0C11 85 34 + jsr Sub_CC9D ; CPU:$8C13 PRG:0C13 20 9D CC + bcc NmiHandler_Loop85 ; CPU:$8C16 PRG:0C16 90 03 + inc $053B ; CPU:$8C18 PRG:0C18 EE 3B 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + rts ; CPU:$8C1B PRG:0C1B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + jsr Sub_CCC7 ; CPU:$8C1C PRG:0C1C 20 C7 CC + bcc NmiHandler_Loop85 ; CPU:$8C1F PRG:0C1F 90 FA + lda #$05 ; CPU:$8C21 PRG:0C21 A9 05 + sta Zp38 ; CPU:$8C23 PRG:0C23 85 38 + ldx Zp55 ; CPU:$8C25 PRG:0C25 A6 55 + beq NmiHandler_Loop87 ; CPU:$8C27 PRG:0C27 F0 02 + ldx #$07 ; CPU:$8C29 PRG:0C29 A2 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + ldy #$00 ; CPU:$8C2B PRG:0C2B A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + lda $0530,y ; CPU:$8C2D PRG:0C2D B9 30 05 + sta $0500,x ; CPU:$8C30 PRG:0C30 9D 00 05 + iny ; CPU:$8C33 PRG:0C33 C8 + inx ; CPU:$8C34 PRG:0C34 E8 + cpy #$07 ; CPU:$8C35 PRG:0C35 C0 07 + bcc NmiHandler_OnCarryClear3 ; CPU:$8C37 PRG:0C37 90 F4 + jmp NmiHandler_Loop76 ; CPU:$8C39 PRG:0C39 4C 80 8B +; ----------------------------------------------------------------------------- +; Routine: Label_8C3C +; Global: Branch target inside Label: taken when 8C3C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C3C: + lda Zp38 ; CPU:$8C3C PRG:0C3C A5 38 + ora Zp39 ; CPU:$8C3E PRG:0C3E 05 39 + bne NmiHandler_Loop85 ; CPU:$8C40 PRG:0C40 D0 D9 + ldx Zp55 ; CPU:$8C42 PRG:0C42 A6 55 + inc Zp58,x ; CPU:$8C44 PRG:0C44 F6 58 + lda Zp58,x ; CPU:$8C46 PRG:0C46 B5 58 + cmp #$05 ; CPU:$8C48 PRG:0C48 C9 05 + bcc NmiHandler_Loop88 ; CPU:$8C4A PRG:0C4A 90 0F + lda #$00 ; CPU:$8C4C PRG:0C4C A9 00 + sta Zp58,x ; CPU:$8C4E PRG:0C4E 95 58 + sta Zp35 ; CPU:$8C50 PRG:0C50 85 35 + inc Zp56,x ; CPU:$8C52 PRG:0C52 F6 56 + lda #$06 ; CPU:$8C54 PRG:0C54 A9 06 + sta Zp51 ; CPU:$8C56 PRG:0C56 85 51 + jmp Sub_88BF ; CPU:$8C58 PRG:0C58 4C BF 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + cmp #$02 ; CPU:$8C5B PRG:0C5B C9 02 + beq NmiHandler_Loop89 ; CPU:$8C5D PRG:0C5D F0 07 + cmp #$04 ; CPU:$8C5F PRG:0C5F C9 04 + beq NmiHandler_Loop89 ; CPU:$8C61 PRG:0C61 F0 03 + jmp NmiHandler_Loop46 ; CPU:$8C63 PRG:0C63 4C B7 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + lda #$05 ; CPU:$8C66 PRG:0C66 A9 05 + jmp Sub_88B9 ; CPU:$8C68 PRG:0C68 4C B9 88 +; ----------------------------------------------------------------------------- +; Routine: Label_8C6B +; Global: Branch target inside Label: taken when 8C6B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C6B: + lda Zp38 ; CPU:$8C6B PRG:0C6B A5 38 + bne NmiHandler_Loop85 ; CPU:$8C6D PRG:0C6D D0 AC + sta PlayerIndex ; CPU:$8C6F PRG:0C6F 85 69 + lda #$01 ; CPU:$8C71 PRG:0C71 A9 01 + sta Zp68 ; CPU:$8C73 PRG:0C73 85 68 + jsr Sub_A8EB ; CPU:$8C75 PRG:0C75 20 EB A8 + lda #$01 ; CPU:$8C78 PRG:0C78 A9 01 + sta PlayerY ; CPU:$8C7A PRG:0C7A 85 B7 + lsr a ; CPU:$8C7C PRG:0C7C 4A + sta EnemyHealth ; CPU:$8C7D PRG:0C7D 85 DF + lda #$50 ; CPU:$8C7F PRG:0C7F A9 50 + sta ZpCE ; CPU:$8C81 PRG:0C81 85 CE + lda #$8F ; CPU:$8C83 PRG:0C83 A9 8F + sta PlayerX ; CPU:$8C85 PRG:0C85 85 B0 + jmp Sub_8BD4 ; CPU:$8C87 PRG:0C87 4C D4 8B +; ---- data $8C8A-$8DCE (325 bytes) ---- +SpriteOamEntryTable: + .byte $5F, $F5, $02, $C0, $90, $09, $01, $64, $80, $09, $01, $6C, $78, $09, $01, $7C ; CPU:$8C8A PRG:-3376 5F F5 02 C0 90 09 01 64 80 09 01 6C 78 09 01 7C + .byte $80, $09, $01, $8C, $90, $09, $01, $94, $10, $04, $0C, $00, $08, $83, $7A, $76 ; CPU:$8C9A PRG:0C9A 80 09 01 8C 90 09 01 94 10 04 0C 00 08 83 7A 76 + .byte $78, $7E, $86, $90, $9A, $A4, $AC, $B4, $BA, $C0, $7C, $84, $8E, $98, $A0, $A6 ; CPU:$8CAA PRG:0CAA 78 7E 86 90 9A A4 AC B4 BA C0 7C 84 8E 98 A0 A6 + .byte $A8, $A4, $9E, $96, $8E, $85, $7C, $A5, $39, $D0, $22, $EE, $A0, $03, $AE, $A0 ; CPU:$8CBA PRG:0CBA A8 A4 9E 96 8E 85 7C A5 39 D0 22 EE A0 03 AE A0 + .byte $03, $E0, $03, $D0, $10, $86, $35, $A2, $00, $8E, $A0, $03, $8E, $A1, $03, $E8 ; CPU:$8CCA PRG:0CCA 03 E0 03 D0 10 86 35 A2 00 8E A0 03 8E A1 03 E8 + .byte $86, $51, $4C, $BF, $88, $A9, $22, $85, $52, $A9, $18, $85, $39, $20, $BA, $B2 ; CPU:$8CDA PRG:0CDA 86 51 4C BF 88 A9 22 85 52 A9 18 85 39 20 BA B2 + .byte $A6, $4B, $AC, $A0, $03, $D0, $0E, $B9, $8A, $8C, $9D, $00, $06, $E8, $C8, $C0 ; CPU:$8CEA PRG:0CEA A6 4B AC A0 03 D0 0E B9 8A 8C 9D 00 06 E8 C8 C0 + .byte $04, $D0, $F4, $86, $4B, $A0, $00, $A5, $5E, $D0, $37, $B9, $8E, $8C, $9D, $00 ; CPU:$8CFA PRG:0CFA 04 D0 F4 86 4B A0 00 A5 5E D0 37 B9 8E 8C 9D 00 + .byte $06, $E8, $C8, $C0, $14, $D0, $F4, $A5, $33, $D0, $13, $A9, $10, $85, $33, $EE ; CPU:$8D0A PRG:0D0A 06 E8 C8 C0 14 D0 F4 A5 33 D0 13 A9 10 85 33 EE + .byte $A1, $03, $AD, $A1, $03, $C9, $05, $90, $05, $A9, $00, $8D, $A1, $03, $AC, $A1 ; CPU:$8D1A PRG:0D1A A1 03 AD A1 03 C9 05 90 05 A9 00 8D A1 03 AC A1 + .byte $03, $B9, $A2, $8C, $18, $65, $4B, $A8, $86, $4B, $A9, $F8, $99, $00, $06, $4C ; CPU:$8D2A PRG:0D2A 03 B9 A2 8C 18 65 4B A8 86 4B A9 F8 99 00 06 4C + .byte $03, $8A, $B9, $A7, $8C, $20, $8C, $8D, $A9, $09, $20, $8C, $8D, $A9, $01, $20 ; CPU:$8D3A PRG:0D3A 03 8A B9 A7 8C 20 8C 8D A9 09 20 8C 8D A9 01 20 + .byte $8C, $8D, $B9, $B4, $8C, $9D, $00, $06, $38, $E9, $7C, $85, $00, $A9, $7C, $38 ; CPU:$8D4A PRG:0D4A 8C 8D B9 B4 8C 9D 00 06 38 E9 7C 85 00 A9 7C 38 + .byte $E5, $00, $20, $8F, $8D, $C8, $C0, $0D, $D0, $D8, $8A, $18, $69, $34, $AA, $AD ; CPU:$8D5A PRG:0D5A E5 00 20 8F 8D C8 C0 0D D0 D8 8A 18 69 34 AA AD + .byte $A1, $03, $A4, $33, $D0, $0D, $A0, $03, $84, $33, $18, $69, $04, $C9, $34, $90 ; CPU:$8D6A PRG:0D6A A1 03 A4 33 D0 0D A0 03 84 33 18 69 04 C9 34 90 + .byte $02, $A9, $00, $8D, $A1, $03, $18, $65, $4B, $A8, $A9, $F8, $99, $34, $06, $4C ; CPU:$8D7A PRG:0D7A 02 A9 00 8D A1 03 18 65 4B A8 A9 F8 99 34 06 4C + .byte $32, $8D, $9D, $00, $06, $9D, $34, $06, $E8, $60, $20, $B1, $8F, $AD, $02, $20 ; CPU:$8D8A PRG:0D8A 32 8D 9D 00 06 9D 34 06 E8 60 20 B1 8F AD 02 20 + .byte $A5, $10, $29, $FB, $8D, $00, $20, $A9, $21, $8D, $06, $20, $A9, $20, $8D, $06 ; CPU:$8D9A PRG:0D9A A5 10 29 FB 8D 00 20 A9 21 8D 06 20 A9 20 8D 06 + .byte $20, $A2, $02, $A0, $20, $A9, $FC, $8D, $07, $20, $C8, $D0, $FA, $CA, $D0, $F7 ; CPU:$8DAA PRG:0DAA 20 A2 02 A0 20 A9 FC 8D 07 20 C8 D0 FA CA D0 F7 + .byte $8D, $07, $20, $C8, $C0, $C0, $90, $F8, $A9, $20, $85, $FB, $A9, $F8, $8D, $00 ; CPU:$8DBA PRG:0DBA 8D 07 20 C8 C0 C0 90 F8 A9 20 85 FB A9 F8 8D 00 + .byte $02, $A9, $1A, $D0, $0A ; CPU:$8DCA PRG:0DCA 02 A9 1A D0 0A ; ----------------------------------------------------------------------------- ; Routine: Label_8DCF ; Global: Branch target inside Label: taken when 8DCF. @@ -1746,21 +2954,21 @@ Sub_8DDC: Sub_8DE5: ldy $03CD ; CPU:$8DE5 PRG:0DE5 AC CD 03 lda $0539 ; CPU:$8DE8 PRG:0DE8 AD 39 05 - bne NmiHandler_Loop42 ; CPU:$8DEB PRG:0DEB D0 0C + bne NmiHandler_Loop90 ; CPU:$8DEB PRG:0DEB D0 0C iny ; CPU:$8DED PRG:0DED C8 inc $03CD ; CPU:$8DEE PRG:0DEE EE CD 03 lda $81EE,y ; CPU:$8DF1 PRG:0DF1 B9 EE 81 sta $0539 ; CPU:$8DF4 PRG:0DF4 8D 39 05 - beq NmiHandler_Loop43 ; CPU:$8DF7 PRG:0DF7 F0 11 + beq NmiHandler_Loop91 ; CPU:$8DF7 PRG:0DF7 F0 11 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: +NmiHandler_Loop90: lda $8184,y ; CPU:$8DF9 PRG:0DF9 B9 84 81 sta Zp6A ; CPU:$8DFC PRG:0DFC 85 6A and #$C0 ; CPU:$8DFE PRG:0DFE 29 C0 @@ -1769,15 +2977,15 @@ NmiHandler_Loop42: dec $0539 ; CPU:$8E06 PRG:0E06 CE 39 05 rts ; CPU:$8E09 PRG:0E09 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: - jmp Sub_894F ; CPU:$8E0A PRG:0E0A 4C 4F 89 +NmiHandler_Loop91: + jmp NmiHandler_Loop57 ; CPU:$8E0A PRG:0E0A 4C 4F 89 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E0D ; Global: Branch target inside Sub: taken when 8E0D. @@ -1791,7 +2999,7 @@ Sub_8E0D: lda #$00 ; CPU:$8E10 PRG:0E10 A9 00 sta PPUSCROLL ; CPU:$8E12 PRG:0E12 8D 05 20 sta PPUSCROLL ; CPU:$8E15 PRG:0E15 8D 05 20 - lda Zp10 ; CPU:$8E18 PRG:0E18 A5 10 + lda PpuCtrlShadow ; CPU:$8E18 PRG:0E18 A5 10 and #$F0 ; CPU:$8E1A PRG:0E1A 29 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E1C @@ -1803,20 +3011,20 @@ Sub_8E0D: ; ----------------------------------------------------------------------------- Sub_8E1C: sta PPUCTRL ; CPU:$8E1C PRG:0E1C 8D 00 20 - sta Zp10 ; CPU:$8E1F PRG:0E1F 85 10 + sta PpuCtrlShadow ; CPU:$8E1F PRG:0E1F 85 10 rts ; CPU:$8E21 PRG:0E21 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero2 -; Global: Branch target inside NmiHandler: taken when OnZero2. +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero2: +NmiHandler_OnZero3: lda PPUSTATUS ; CPU:$8E22 PRG:0E22 AD 02 20 and #$40 ; CPU:$8E25 PRG:0E25 29 40 - beq NmiHandler_OnZero2 ; CPU:$8E27 PRG:0E27 F0 F9 + beq NmiHandler_OnZero3 ; CPU:$8E27 PRG:0E27 F0 F9 nop ; CPU:$8E29 PRG:0E29 EA nop ; CPU:$8E2A PRG:0E2A EA nop ; CPU:$8E2B PRG:0E2B EA @@ -1825,72 +3033,72 @@ NmiHandler_OnZero2: jsr Sub_B9D8 ; CPU:$8E32 PRG:0E32 20 D8 B9 jsr Sub_BA0D ; CPU:$8E35 PRG:0E35 20 0D BA ldx #$22 ; CPU:$8E38 PRG:0E38 A2 22 - jsr NmiHandler_OnNonzero6 ; CPU:$8E3A PRG:0E3A 20 BD 8E + jsr NmiHandler_OnNonzero13 ; CPU:$8E3A PRG:0E3A 20 BD 8E lda Zp71 ; CPU:$8E3D PRG:0E3D A5 71 - beq NmiHandler_Loop44 ; CPU:$8E3F PRG:0E3F F0 0F + beq NmiHandler_Loop92 ; CPU:$8E3F PRG:0E3F F0 0F jsr Sub_8E0D ; CPU:$8E41 PRG:0E41 20 0D 8E ldx #$30 ; CPU:$8E44 PRG:0E44 A2 30 - jsr NmiHandler_OnNonzero6 ; CPU:$8E46 PRG:0E46 20 BD 8E + jsr NmiHandler_OnNonzero13 ; CPU:$8E46 PRG:0E46 20 BD 8E jsr Sub_8E9B ; CPU:$8E49 PRG:0E49 20 9B 8E ldx #$42 ; CPU:$8E4C PRG:0E4C A2 42 - bne NmiHandler_Loop47 ; CPU:$8E4E PRG:0E4E D0 32 + bne NmiHandler_Loop95 ; CPU:$8E4E PRG:0E4E D0 32 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop92: jsr Sub_8E9B ; CPU:$8E50 PRG:0E50 20 9B 8E jsr Sub_8A03 ; CPU:$8E53 PRG:0E53 20 03 8A jsr Sub_CBA4 ; CPU:$8E56 PRG:0E56 20 A4 CB jsr Sub_C772 ; CPU:$8E59 PRG:0E59 20 72 C7 lda $038F ; CPU:$8E5C PRG:0E5C AD 8F 03 - bne NmiHandler_Loop46 ; CPU:$8E5F PRG:0E5F D0 1F + bne NmiHandler_Loop94 ; CPU:$8E5F PRG:0E5F D0 1F lda Zp70 ; CPU:$8E61 PRG:0E61 A5 70 eor #$01 ; CPU:$8E63 PRG:0E63 49 01 sta Zp70 ; CPU:$8E65 PRG:0E65 85 70 - beq NmiHandler_Loop45 ; CPU:$8E67 PRG:0E67 F0 0D + beq NmiHandler_Loop93 ; CPU:$8E67 PRG:0E67 F0 0D jsr Sub_CBFF ; CPU:$8E69 PRG:0E69 20 FF CB jsr Sub_CC31 ; CPU:$8E6C PRG:0E6C 20 31 CC jsr Sub_CBCF ; CPU:$8E6F PRG:0E6F 20 CF CB ldx #$0E ; CPU:$8E72 PRG:0E72 A2 0E - bne NmiHandler_Loop47 ; CPU:$8E74 PRG:0E74 D0 0C + bne NmiHandler_Loop95 ; CPU:$8E74 PRG:0E74 D0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop93: jsr Sub_CC6B ; CPU:$8E76 PRG:0E76 20 6B CC jsr Sub_CD05 ; CPU:$8E79 PRG:0E79 20 05 CD ldx #$10 ; CPU:$8E7C PRG:0E7C A2 10 - bne NmiHandler_Loop47 ; CPU:$8E7E PRG:0E7E D0 02 + bne NmiHandler_Loop95 ; CPU:$8E7E PRG:0E7E D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop94: ldx #$12 ; CPU:$8E80 PRG:0E80 A2 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: - jsr NmiHandler_OnNonzero6 ; CPU:$8E82 PRG:0E82 20 BD 8E +NmiHandler_Loop95: + jsr NmiHandler_OnNonzero13 ; CPU:$8E82 PRG:0E82 20 BD 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8E85 ; Global: Branch target inside Sub: taken when 8E85. @@ -1935,36 +3143,36 @@ Sub_8E9B: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8EAF: - sta Zp00 ; CPU:$8EAF PRG:0EAF 85 00 - lda Zp10 ; CPU:$8EB1 PRG:0EB1 A5 10 + sta VramWritePtrLo ; CPU:$8EAF PRG:0EAF 85 00 + lda PpuCtrlShadow ; CPU:$8EB1 PRG:0EB1 A5 10 and #$F8 ; CPU:$8EB3 PRG:0EB3 29 F8 - ora Zp00 ; CPU:$8EB5 PRG:0EB5 05 00 + ora VramWritePtrLo ; CPU:$8EB5 PRG:0EB5 05 00 sta PPUCTRL ; CPU:$8EB7 PRG:0EB7 8D 00 20 - sta Zp10 ; CPU:$8EBA PRG:0EBA 85 10 + sta PpuCtrlShadow ; CPU:$8EBA PRG:0EBA 85 10 rts ; CPU:$8EBC PRG:0EBC 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: +NmiHandler_OnNonzero13: ldy #$10 ; CPU:$8EBD PRG:0EBD A0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero7: +NmiHandler_OnNonzero14: dey ; CPU:$8EBF PRG:0EBF 88 - bne NmiHandler_OnNonzero7 ; CPU:$8EC0 PRG:0EC0 D0 FD + bne NmiHandler_OnNonzero14 ; CPU:$8EC0 PRG:0EC0 D0 FD dex ; CPU:$8EC2 PRG:0EC2 CA - bne NmiHandler_OnNonzero6 ; CPU:$8EC3 PRG:0EC3 D0 F8 + bne NmiHandler_OnNonzero13 ; CPU:$8EC3 PRG:0EC3 D0 F8 rts ; CPU:$8EC5 PRG:0EC5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8EC6 @@ -1978,161 +3186,161 @@ Sub_8EC6: ldy #$06 ; CPU:$8EC6 PRG:0EC6 A0 06 lda #$FF ; CPU:$8EC8 PRG:0EC8 A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: +NmiHandler_OnNonzero15: sta $035F,y ; CPU:$8ECA PRG:0ECA 99 5F 03 dey ; CPU:$8ECD PRG:0ECD 88 - bne NmiHandler_OnNonzero8 ; CPU:$8ECE PRG:0ECE D0 FA - lda (Zp03),y ; CPU:$8ED0 PRG:0ED0 B1 03 + bne NmiHandler_OnNonzero15 ; CPU:$8ECE PRG:0ECE D0 FA + lda (DispatchPtrHi),y ; CPU:$8ED0 PRG:0ED0 B1 03 sta Zp07 ; CPU:$8ED2 PRG:0ED2 85 07 - ldx Zp01 ; CPU:$8ED4 PRG:0ED4 A6 01 + ldx VramWritePtrHi ; CPU:$8ED4 PRG:0ED4 A6 01 lda Zp05 ; CPU:$8ED6 PRG:0ED6 A5 05 and #$40 ; CPU:$8ED8 PRG:0ED8 29 40 - bne NmiHandler_Loop50 ; CPU:$8EDA PRG:0EDA D0 16 - lda Zp00 ; CPU:$8EDC PRG:0EDC A5 00 + bne NmiHandler_Loop98 ; CPU:$8EDA PRG:0EDA D0 16 + lda VramWritePtrLo ; CPU:$8EDC PRG:0EDC A5 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: +NmiHandler_OnNonzero16: cpx #$01 ; CPU:$8EDE PRG:0EDE E0 01 - bne NmiHandler_Loop48 ; CPU:$8EE0 PRG:0EE0 D0 03 + bne NmiHandler_Loop96 ; CPU:$8EE0 PRG:0EE0 D0 03 sta $0360,y ; CPU:$8EE2 PRG:0EE2 99 60 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop96: clc ; CPU:$8EE5 PRG:0EE5 18 adc #$08 ; CPU:$8EE6 PRG:0EE6 69 08 - bcc NmiHandler_Loop49 ; CPU:$8EE8 PRG:0EE8 90 01 + bcc NmiHandler_Loop97 ; CPU:$8EE8 PRG:0EE8 90 01 inx ; CPU:$8EEA PRG:0EEA E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: +NmiHandler_Loop97: iny ; CPU:$8EEB PRG:0EEB C8 cpy Zp07 ; CPU:$8EEC PRG:0EEC C4 07 - bne NmiHandler_OnNonzero9 ; CPU:$8EEE PRG:0EEE D0 EE - beq NmiHandler_Loop53 ; CPU:$8EF0 PRG:0EF0 F0 14 + bne NmiHandler_OnNonzero16 ; CPU:$8EEE PRG:0EEE D0 EE + beq NmiHandler_Loop101 ; CPU:$8EF0 PRG:0EF0 F0 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop98: ldy Zp07 ; CPU:$8EF2 PRG:0EF2 A4 07 - lda Zp00 ; CPU:$8EF4 PRG:0EF4 A5 00 + lda VramWritePtrLo ; CPU:$8EF4 PRG:0EF4 A5 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero10: +NmiHandler_OnNonzero17: cpx #$01 ; CPU:$8EF6 PRG:0EF6 E0 01 - bne NmiHandler_Loop51 ; CPU:$8EF8 PRG:0EF8 D0 03 + bne NmiHandler_Loop99 ; CPU:$8EF8 PRG:0EF8 D0 03 sta $035F,y ; CPU:$8EFA PRG:0EFA 99 5F 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop99: clc ; CPU:$8EFD PRG:0EFD 18 adc #$08 ; CPU:$8EFE PRG:0EFE 69 08 - bcc NmiHandler_Loop52 ; CPU:$8F00 PRG:0F00 90 01 + bcc NmiHandler_Loop100 ; CPU:$8F00 PRG:0F00 90 01 inx ; CPU:$8F02 PRG:0F02 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: +NmiHandler_Loop100: dey ; CPU:$8F03 PRG:0F03 88 - bne NmiHandler_OnNonzero10 ; CPU:$8F04 PRG:0F04 D0 F0 + bne NmiHandler_OnNonzero17 ; CPU:$8F04 PRG:0F04 D0 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop101: ldy #$01 ; CPU:$8F06 PRG:0F06 A0 01 - lda (Zp03),y ; CPU:$8F08 PRG:0F08 B1 03 + lda (DispatchPtrHi),y ; CPU:$8F08 PRG:0F08 B1 03 sta Zp07 ; CPU:$8F0A PRG:0F0A 85 07 iny ; CPU:$8F0C PRG:0F0C C8 - lda (Zp03),y ; CPU:$8F0D PRG:0F0D B1 03 + lda (DispatchPtrHi),y ; CPU:$8F0D PRG:0F0D B1 03 sta Zp08 ; CPU:$8F0F PRG:0F0F 85 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero18: ldx Zp08 ; CPU:$8F11 PRG:0F11 A6 08 lda $0360,x ; CPU:$8F13 PRG:0F13 BD 60 03 cmp #$FF ; CPU:$8F16 PRG:0F16 C9 FF - beq NmiHandler_Loop54 ; CPU:$8F18 PRG:0F18 F0 33 - sta Zp00 ; CPU:$8F1A PRG:0F1A 85 00 + beq NmiHandler_Loop102 ; CPU:$8F18 PRG:0F18 F0 33 + sta VramWritePtrLo ; CPU:$8F1A PRG:0F1A 85 00 iny ; CPU:$8F1C PRG:0F1C C8 - lda (Zp03),y ; CPU:$8F1D PRG:0F1D B1 03 + lda (DispatchPtrHi),y ; CPU:$8F1D PRG:0F1D B1 03 sta Zp0A ; CPU:$8F1F PRG:0F1F 85 0A iny ; CPU:$8F21 PRG:0F21 C8 - lda (Zp03),y ; CPU:$8F22 PRG:0F22 B1 03 + lda (DispatchPtrHi),y ; CPU:$8F22 PRG:0F22 B1 03 clc ; CPU:$8F24 PRG:0F24 18 - adc Zp02 ; CPU:$8F25 PRG:0F25 65 02 + adc DispatchPtrLo ; CPU:$8F25 PRG:0F25 65 02 ldx Zp06 ; CPU:$8F27 PRG:0F27 A6 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: - sta Zp01 ; CPU:$8F29 PRG:0F29 85 01 +NmiHandler_OnNonzero19: + sta VramWritePtrHi ; CPU:$8F29 PRG:0F29 85 01 sta $0600,x ; CPU:$8F2B PRG:0F2B 9D 00 06 iny ; CPU:$8F2E PRG:0F2E C8 - lda (Zp03),y ; CPU:$8F2F PRG:0F2F B1 03 + lda (DispatchPtrHi),y ; CPU:$8F2F PRG:0F2F B1 03 sta $0601,x ; CPU:$8F31 PRG:0F31 9D 01 06 - lda Zp00 ; CPU:$8F34 PRG:0F34 A5 00 + lda VramWritePtrLo ; CPU:$8F34 PRG:0F34 A5 00 sta $0603,x ; CPU:$8F36 PRG:0F36 9D 03 06 lda Zp05 ; CPU:$8F39 PRG:0F39 A5 05 sta $0602,x ; CPU:$8F3B PRG:0F3B 9D 02 06 @@ -2142,22 +3350,22 @@ NmiHandler_OnNonzero12: inx ; CPU:$8F41 PRG:0F41 E8 lda #$08 ; CPU:$8F42 PRG:0F42 A9 08 clc ; CPU:$8F44 PRG:0F44 18 - adc Zp01 ; CPU:$8F45 PRG:0F45 65 01 + adc VramWritePtrHi ; CPU:$8F45 PRG:0F45 65 01 dec Zp0A ; CPU:$8F47 PRG:0F47 C6 0A - bne NmiHandler_OnNonzero12 ; CPU:$8F49 PRG:0F49 D0 DE + bne NmiHandler_OnNonzero19 ; CPU:$8F49 PRG:0F49 D0 DE stx Zp06 ; CPU:$8F4B PRG:0F4B 86 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop102: inc Zp08 ; CPU:$8F4D PRG:0F4D E6 08 dec Zp07 ; CPU:$8F4F PRG:0F4F C6 07 - bne NmiHandler_OnNonzero11 ; CPU:$8F51 PRG:0F51 D0 BE + bne NmiHandler_OnNonzero18 ; CPU:$8F51 PRG:0F51 D0 BE rts ; CPU:$8F53 PRG:0F53 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F54 @@ -2183,12 +3391,12 @@ Sub_8F54: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F63: - sta Zp00 ; CPU:$8F63 PRG:0F63 85 00 + sta VramWritePtrLo ; CPU:$8F63 PRG:0F63 85 00 lda PPUSTATUS ; CPU:$8F65 PRG:0F65 AD 02 20 - lda Zp10 ; CPU:$8F68 PRG:0F68 A5 10 + lda PpuCtrlShadow ; CPU:$8F68 PRG:0F68 A5 10 and #$FB ; CPU:$8F6A PRG:0F6A 29 FB sta PPUCTRL ; CPU:$8F6C PRG:0F6C 8D 00 20 - lda Zp00 ; CPU:$8F6F PRG:0F6F A5 00 + lda VramWritePtrLo ; CPU:$8F6F PRG:0F6F A5 00 sta PPUADDR ; CPU:$8F71 PRG:0F71 8D 06 20 lda #$00 ; CPU:$8F74 PRG:0F74 A9 00 sta PPUADDR ; CPU:$8F76 PRG:0F76 8D 06 20 @@ -2196,20 +3404,20 @@ Sub_8F63: ldy #$00 ; CPU:$8F7B PRG:0F7B A0 00 lda #$FC ; CPU:$8F7D PRG:0F7D A9 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: +NmiHandler_OnNonzero20: sta PPUDATA ; CPU:$8F7F PRG:0F7F 8D 07 20 dey ; CPU:$8F82 PRG:0F82 88 - bne NmiHandler_OnNonzero13 ; CPU:$8F83 PRG:0F83 D0 FA + bne NmiHandler_OnNonzero20 ; CPU:$8F83 PRG:0F83 D0 FA dex ; CPU:$8F85 PRG:0F85 CA - bne NmiHandler_OnNonzero13 ; CPU:$8F86 PRG:0F86 D0 F7 - lda Zp00 ; CPU:$8F88 PRG:0F88 A5 00 + bne NmiHandler_OnNonzero20 ; CPU:$8F86 PRG:0F86 D0 F7 + lda VramWritePtrLo ; CPU:$8F88 PRG:0F88 A5 00 clc ; CPU:$8F8A PRG:0F8A 18 adc #$03 ; CPU:$8F8B PRG:0F8B 69 03 sta PPUADDR ; CPU:$8F8D PRG:0F8D 8D 06 20 @@ -2218,17 +3426,17 @@ NmiHandler_OnNonzero13: ldy #$40 ; CPU:$8F95 PRG:0F95 A0 40 lda #$00 ; CPU:$8F97 PRG:0F97 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero14: +NmiHandler_OnNonzero21: sta PPUDATA ; CPU:$8F99 PRG:0F99 8D 07 20 dey ; CPU:$8F9C PRG:0F9C 88 - bne NmiHandler_OnNonzero14 ; CPU:$8F9D PRG:0F9D D0 FA + bne NmiHandler_OnNonzero21 ; CPU:$8F9D PRG:0F9D D0 FA rts ; CPU:$8F9F PRG:0F9F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8FA0 @@ -2254,17 +3462,17 @@ Sub_8FA6: lda #$F8 ; CPU:$8FA6 PRG:0FA6 A9 F8 ldy #$00 ; CPU:$8FA8 PRG:0FA8 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero15: +NmiHandler_OnNonzero22: sta $0200,y ; CPU:$8FAA PRG:0FAA 99 00 02 dey ; CPU:$8FAD PRG:0FAD 88 - bne NmiHandler_OnNonzero15 ; CPU:$8FAE PRG:0FAE D0 FA + bne NmiHandler_OnNonzero22 ; CPU:$8FAE PRG:0FAE D0 FA rts ; CPU:$8FB0 PRG:0FB0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8FB1 @@ -2277,7 +3485,7 @@ NmiHandler_OnNonzero15: Sub_8FB1: lda #$10 ; CPU:$8FB1 PRG:0FB1 A9 10 sta PPUCTRL ; CPU:$8FB3 PRG:0FB3 8D 00 20 - sta Zp10 ; CPU:$8FB6 PRG:0FB6 85 10 + sta PpuCtrlShadow ; CPU:$8FB6 PRG:0FB6 85 10 lda #$00 ; CPU:$8FB8 PRG:0FB8 A9 00 sta Zp12 ; CPU:$8FBA PRG:0FBA 85 12 sta PPUSCROLL ; CPU:$8FBC PRG:0FBC 8D 05 20 @@ -2298,84 +3506,85 @@ Sub_8FC5: ldx #$00 ; CPU:$8FCA PRG:0FCA A2 00 lda #$00 ; CPU:$8FCC PRG:0FCC A9 00 sta JOY1 ; CPU:$8FCE PRG:0FCE 8D 16 40 - sta Zp03 ; CPU:$8FD1 PRG:0FD1 85 03 + sta DispatchPtrHi ; CPU:$8FD1 PRG:0FD1 85 03 sta Zp04 ; CPU:$8FD3 PRG:0FD3 85 04 - jsr NmiHandler_OnNonzero16 ; CPU:$8FD5 PRG:0FD5 20 D9 8F + jsr NmiHandler_OnNonzero23 ; CPU:$8FD5 PRG:0FD5 20 D9 8F inx ; CPU:$8FD8 PRG:0FD8 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero16: +NmiHandler_OnNonzero23: ldy #$08 ; CPU:$8FD9 PRG:0FD9 A0 08 - sta Zp02 ; CPU:$8FDB PRG:0FDB 85 02 + sta DispatchPtrLo ; CPU:$8FDB PRG:0FDB 85 02 lda #$01 ; CPU:$8FDD PRG:0FDD A9 01 sta JOY1 ; CPU:$8FDF PRG:0FDF 8D 16 40 lda #$00 ; CPU:$8FE2 PRG:0FE2 A9 00 sta JOY1 ; CPU:$8FE4 PRG:0FE4 8D 16 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero17 -; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero17: +NmiHandler_OnNonzero24: pha ; CPU:$8FE7 PRG:0FE7 48 lda JOY1,x ; CPU:$8FE8 PRG:0FE8 BD 16 40 - sta Zp00 ; CPU:$8FEB PRG:0FEB 85 00 + sta VramWritePtrLo ; CPU:$8FEB PRG:0FEB 85 00 lsr a ; CPU:$8FED PRG:0FED 4A - ora Zp00 ; CPU:$8FEE PRG:0FEE 05 00 + ora VramWritePtrLo ; CPU:$8FEE PRG:0FEE 05 00 lsr a ; CPU:$8FF0 PRG:0FF0 4A pla ; CPU:$8FF1 PRG:0FF1 68 rol a ; CPU:$8FF2 PRG:0FF2 2A dey ; CPU:$8FF3 PRG:0FF3 88 - bne NmiHandler_OnNonzero17 ; CPU:$8FF4 PRG:0FF4 D0 F1 - cmp Zp02 ; CPU:$8FF6 PRG:0FF6 C5 02 - bne NmiHandler_OnNonzero16 ; CPU:$8FF8 PRG:0FF8 D0 DF - inc Zp03,x ; CPU:$8FFA PRG:0FFA F6 03 - ldy Zp03,x ; CPU:$8FFC PRG:0FFC B4 03 + bne NmiHandler_OnNonzero24 ; CPU:$8FF4 PRG:0FF4 D0 F1 + cmp DispatchPtrLo ; CPU:$8FF6 PRG:0FF6 C5 02 + bne NmiHandler_OnNonzero23 ; CPU:$8FF8 PRG:0FF8 D0 DF + inc DispatchPtrHi,x ; CPU:$8FFA PRG:0FFA F6 03 + ldy DispatchPtrHi,x ; CPU:$8FFC PRG:0FFC B4 03 cpy #$02 ; CPU:$8FFE PRG:0FFE C0 02 - bcc NmiHandler_OnNonzero16 ; CPU:$9000 PRG:1000 90 D7 - stx Zp00 ; CPU:$9002 PRG:1002 86 00 - asl Zp00 ; CPU:$9004 PRG:1004 06 00 - ldx Zp00 ; CPU:$9006 PRG:1006 A6 00 + bcc NmiHandler_OnNonzero23 ; CPU:$9000 PRG:1000 90 D7 + stx VramWritePtrLo ; CPU:$9002 PRG:1002 86 00 + asl VramWritePtrLo ; CPU:$9004 PRG:1004 06 00 + ldx VramWritePtrLo ; CPU:$9006 PRG:1006 A6 00 ldy Zp14,x ; CPU:$9008 PRG:1008 B4 14 - sty Zp01 ; CPU:$900A PRG:100A 84 01 - lsr Zp00 ; CPU:$900C PRG:100C 46 00 - ldy Zp00 ; CPU:$900E PRG:100E A4 00 + sty VramWritePtrHi ; CPU:$900A PRG:100A 84 01 + lsr VramWritePtrLo ; CPU:$900C PRG:100C 46 00 + ldy VramWritePtrLo ; CPU:$900E PRG:100E A4 00 sta Zp14,x ; CPU:$9010 PRG:1010 95 14 sta Zp15,x ; CPU:$9012 PRG:1012 95 15 lda $0537 ; CPU:$9014 PRG:1014 AD 37 05 - bne NmiHandler_Loop55 ; CPU:$9017 PRG:1017 D0 18 + bne NmiHandler_Loop103 ; CPU:$9017 PRG:1017 D0 18 lda Zp15,x ; CPU:$9019 PRG:1019 B5 15 and #$C0 ; CPU:$901B PRG:101B 29 C0 and $036B,y ; CPU:$901D PRG:101D 39 6B 03 sta $036B,y ; CPU:$9020 PRG:1020 99 6B 03 lda Zp14,x ; CPU:$9023 PRG:1023 B5 14 and #$FF ; CPU:$9025 PRG:1025 29 FF - bpl NmiHandler_Loop55 ; CPU:$9027 PRG:1027 10 08 - bit Zp01 ; CPU:$9029 PRG:1029 24 01 - bpl NmiHandler_Loop55 ; CPU:$902B PRG:102B 10 04 + bpl NmiHandler_Loop103 ; CPU:$9027 PRG:1027 10 08 + bit VramWritePtrHi ; CPU:$9029 PRG:1029 24 01 + bpl NmiHandler_Loop103 ; CPU:$902B PRG:102B 10 04 and #$7F ; CPU:$902D PRG:102D 29 7F sta Zp15,x ; CPU:$902F PRG:102F 95 15 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop103: rts ; CPU:$9031 PRG:1031 60 ; ---- data $9032-$9807 (2006 bytes) ---- - .byte $22, $2F, $02, $FC, $FC, $22, $4F, $02, $44, $49, $22, $6F, $02, $45, $4A, $22 ; CPU:$9032 PRG:1032 22 2F 02 FC FC 22 4F 02 44 49 22 6F 02 45 4A 22 +EnemyNameTextTable: + .byte $22, $2F, $02, $FC, $FC, $22, $4F, $02, $44, $49, $22, $6F, $02, $45, $4A, $22 ; CPU:$9032 PRG:-2FCE 22 2F 02 FC FC 22 4F 02 44 49 22 6F 02 45 4A 22 .byte $8F, $02, $46, $4B, $22, $AF, $02, $47, $4C, $22, $CE, $04, $2A, $48, $39, $2A ; CPU:$9042 PRG:1042 8F 02 46 4B 22 AF 02 47 4C 22 CE 04 2A 48 39 2A .byte $00, $22, $2F, $02, $FC, $FC, $22, $4F, $02, $99, $94, $22, $6F, $02, $9A, $95 ; CPU:$9052 PRG:1052 00 22 2F 02 FC FC 22 4F 02 99 94 22 6F 02 9A 95 .byte $22, $8F, $02, $9B, $96, $22, $AF, $02, $9C, $97, $22, $CE, $04, $2A, $89, $98 ; CPU:$9062 PRG:1062 22 8F 02 9B 96 22 AF 02 9C 97 22 CE 04 2A 89 98 @@ -2521,8 +3730,9 @@ Label_9808: ; referenced by `lda $9B93,y` at $A787 (operand $9B93 falls inside this region) ; referenced by `lda $9B6E,y` at $A7A0 (operand $9B6E falls inside this region) ; referenced by `cmp $9B71,y` at $A7A9 (operand $9B71 falls inside this region) -; ... and 72 further references from decoded code - .byte $FC, $27, $41, $02, $F2, $24, $27, $61, $02, $F3, $9D, $27, $49, $02, $F2, $24 ; CPU:$9810 PRG:1810 FC 27 41 02 F2 24 27 61 02 F3 9D 27 49 02 F2 24 +; ... and 84 further references from decoded code +EnemySpritePatternTable: + .byte $FC, $27, $41, $02, $F2, $24, $27, $61, $02, $F3, $9D, $27, $49, $02, $F2, $24 ; CPU:$9810 PRG:-27F0 FC 27 41 02 F2 24 27 61 02 F3 9D 27 49 02 F2 24 .byte $27, $69, $02, $F3, $9D, $27, $51, $02, $F2, $24, $27, $71, $02, $F3, $9D, $27 ; CPU:$9820 PRG:1820 27 69 02 F3 9D 27 51 02 F2 24 27 71 02 F3 9D 27 .byte $59, $02, $F2, $24, $27, $79, $02, $F3, $9D, $21, $64, $03, $2D, $28, $2E, $21 ; CPU:$9830 PRG:1830 59 02 F2 24 27 79 02 F3 9D 21 64 03 2D 28 2E 21 .byte $85, $01, $28, $21, $6C, $03, $2D, $28, $2E, $21, $8D, $01, $28, $21, $74, $03 ; CPU:$9840 PRG:1840 85 01 28 21 6C 03 2D 28 2E 21 8D 01 28 21 74 03 @@ -2731,110 +3941,110 @@ Label_9808: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A482: - lda Zp69 ; CPU:$A482 PRG:2482 A5 69 + lda PlayerIndex ; CPU:$A482 PRG:2482 A5 69 and #$08 ; CPU:$A484 PRG:2484 29 08 ora Zp23 ; CPU:$A486 PRG:2486 05 23 ora $0496 ; CPU:$A488 PRG:2488 0D 96 04 - bne NmiHandler_Loop60 ; CPU:$A48B PRG:248B D0 3F + bne NmiHandler_Loop108 ; CPU:$A48B PRG:248B D0 3F lda $04A6 ; CPU:$A48D PRG:248D AD A6 04 - bmi NmiHandler_Loop60 ; CPU:$A490 PRG:2490 30 3A - lda Zp69 ; CPU:$A492 PRG:2492 A5 69 + bmi NmiHandler_Loop108 ; CPU:$A490 PRG:2490 30 3A + lda PlayerIndex ; CPU:$A492 PRG:2492 A5 69 cmp #$0F ; CPU:$A494 PRG:2494 C9 0F - bcc NmiHandler_Loop56 ; CPU:$A496 PRG:2496 90 03 + bcc NmiHandler_Loop104 ; CPU:$A496 PRG:2496 90 03 jmp Sub_A544 ; CPU:$A498 PRG:2498 4C 44 A5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: +NmiHandler_Loop104: and #$04 ; CPU:$A49B PRG:249B 29 04 - bne NmiHandler_Loop61 ; CPU:$A49D PRG:249D D0 2E + bne NmiHandler_Loop109 ; CPU:$A49D PRG:249D D0 2E lda Zp7D ; CPU:$A49F PRG:249F A5 7D - bne NmiHandler_Loop57 ; CPU:$A4A1 PRG:24A1 D0 03 + bne NmiHandler_Loop105 ; CPU:$A4A1 PRG:24A1 D0 03 jsr Sub_A5C0 ; CPU:$A4A3 PRG:24A3 20 C0 A5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop105: jsr Sub_A4E6 ; CPU:$A4A6 PRG:24A6 20 E6 A4 - bne NmiHandler_Loop60 ; CPU:$A4A9 PRG:24A9 D0 21 + bne NmiHandler_Loop108 ; CPU:$A4A9 PRG:24A9 D0 21 jsr Sub_A568 ; CPU:$A4AB PRG:24AB 20 68 A5 - bcc NmiHandler_Loop58 ; CPU:$A4AE PRG:24AE 90 03 + bcc NmiHandler_Loop106 ; CPU:$A4AE PRG:24AE 90 03 jmp Sub_A8D7 ; CPU:$A4B0 PRG:24B0 4C D7 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: - lda Zp69 ; CPU:$A4B3 PRG:24B3 A5 69 +NmiHandler_Loop106: + lda PlayerIndex ; CPU:$A4B3 PRG:24B3 A5 69 lsr a ; CPU:$A4B5 PRG:24B5 4A ora $0373 ; CPU:$A4B6 PRG:24B6 0D 73 03 ora $0374 ; CPU:$A4B9 PRG:24B9 0D 74 03 ora Zp7D ; CPU:$A4BC PRG:24BC 05 7D - bne NmiHandler_Loop60 ; CPU:$A4BE PRG:24BE D0 0C + bne NmiHandler_Loop108 ; CPU:$A4BE PRG:24BE D0 0C lda Zp6A ; CPU:$A4C0 PRG:24C0 A5 6A and #$03 ; CPU:$A4C2 PRG:24C2 29 03 cmp #$03 ; CPU:$A4C4 PRG:24C4 C9 03 - bne NmiHandler_Loop59 ; CPU:$A4C6 PRG:24C6 D0 02 + bne NmiHandler_Loop107 ; CPU:$A4C6 PRG:24C6 D0 02 lda #$01 ; CPU:$A4C8 PRG:24C8 A9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop107: sta Zp67 ; CPU:$A4CA PRG:24CA 85 67 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop108: rts ; CPU:$A4CC PRG:24CC 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop109: lda Zp68 ; CPU:$A4CD PRG:24CD A5 68 cmp #$04 ; CPU:$A4CF PRG:24CF C9 04 - bcc NmiHandler_Loop62 ; CPU:$A4D1 PRG:24D1 90 09 + bcc NmiHandler_Loop110 ; CPU:$A4D1 PRG:24D1 90 09 cmp #$06 ; CPU:$A4D3 PRG:24D3 C9 06 - bcs NmiHandler_Loop62 ; CPU:$A4D5 PRG:24D5 B0 05 + bcs NmiHandler_Loop110 ; CPU:$A4D5 PRG:24D5 B0 05 lda #$05 ; CPU:$A4D7 PRG:24D7 A9 05 - jmp NmiHandler_Loop67 ; CPU:$A4D9 PRG:24D9 4C 6A A5 + jmp NmiHandler_Loop115 ; CPU:$A4D9 PRG:24D9 4C 6A A5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: +NmiHandler_Loop110: ldx Zp55 ; CPU:$A4DC PRG:24DC A6 55 lda Zp6A ; CPU:$A4DE PRG:24DE A5 6A and #$C0 ; CPU:$A4E0 PRG:24E0 29 C0 @@ -2853,32 +4063,32 @@ Sub_A4E6: lda Zp6A ; CPU:$A4E9 PRG:24E9 A5 6A and #$08 ; CPU:$A4EB PRG:24EB 29 08 sta $036A ; CPU:$A4ED PRG:24ED 8D 6A 03 - beq NmiHandler_Loop64 ; CPU:$A4F0 PRG:24F0 F0 27 + beq NmiHandler_Loop112 ; CPU:$A4F0 PRG:24F0 F0 27 tya ; CPU:$A4F2 PRG:24F2 98 ora $0373 ; CPU:$A4F3 PRG:24F3 0D 73 03 ora $0374 ; CPU:$A4F6 PRG:24F6 0D 74 03 ora Zp7D ; CPU:$A4F9 PRG:24F9 05 7D - bne NmiHandler_Loop64 ; CPU:$A4FB PRG:24FB D0 1C + bne NmiHandler_Loop112 ; CPU:$A4FB PRG:24FB D0 1C sta Zp21 ; CPU:$A4FD PRG:24FD 85 21 lda Zp67 ; CPU:$A4FF PRG:24FF A5 67 - bne NmiHandler_Loop63 ; CPU:$A501 PRG:2501 D0 08 + bne NmiHandler_Loop111 ; CPU:$A501 PRG:2501 D0 08 lda Zp24 ; CPU:$A503 PRG:2503 A5 24 - beq NmiHandler_Loop63 ; CPU:$A505 PRG:2505 F0 04 + beq NmiHandler_Loop111 ; CPU:$A505 PRG:2505 F0 04 lda Zp72 ; CPU:$A507 PRG:2507 A5 72 sta Zp67 ; CPU:$A509 PRG:2509 85 67 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: - lda Zp69 ; CPU:$A50B PRG:250B A5 69 +NmiHandler_Loop111: + lda PlayerIndex ; CPU:$A50B PRG:250B A5 69 and #$01 ; CPU:$A50D PRG:250D 29 01 ora #$04 ; CPU:$A50F PRG:250F 09 04 - sta Zp69 ; CPU:$A511 PRG:2511 85 69 + sta PlayerIndex ; CPU:$A511 PRG:2511 85 69 lda #$0A ; CPU:$A513 PRG:2513 A9 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_A515 @@ -2893,62 +4103,62 @@ Sub_A515: sec ; CPU:$A517 PRG:2517 38 rts ; CPU:$A518 PRG:2518 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside NmiHandler: taken when Loop64. +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: - lda Zp69 ; CPU:$A519 PRG:2519 A5 69 +NmiHandler_Loop112: + lda PlayerIndex ; CPU:$A519 PRG:2519 A5 69 cmp #$0F ; CPU:$A51B PRG:251B C9 0F - bcc NmiHandler_Loop65 ; CPU:$A51D PRG:251D 90 08 + bcc NmiHandler_Loop113 ; CPU:$A51D PRG:251D 90 08 bit $9B5E ; CPU:$A51F PRG:251F 2C 5E 9B - beq NmiHandler_Loop65 ; CPU:$A522 PRG:2522 F0 03 + beq NmiHandler_Loop113 ; CPU:$A522 PRG:2522 F0 03 lda #$00 ; CPU:$A524 PRG:2524 A9 00 rts ; CPU:$A526 PRG:2526 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside NmiHandler: taken when Loop65. +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop65: +NmiHandler_Loop113: tay ; CPU:$A527 PRG:2527 A8 and #$FD ; CPU:$A528 PRG:2528 29 FD - sta Zp69 ; CPU:$A52A PRG:252A 85 69 + sta PlayerIndex ; CPU:$A52A PRG:252A 85 69 lda Zp6A ; CPU:$A52C PRG:252C A5 6A and #$04 ; CPU:$A52E PRG:252E 29 04 - beq NmiHandler_Loop66 ; CPU:$A530 PRG:2530 F0 09 + beq NmiHandler_Loop114 ; CPU:$A530 PRG:2530 F0 09 jsr Sub_A8D7 ; CPU:$A532 PRG:2532 20 D7 A8 sta Zp21 ; CPU:$A535 PRG:2535 85 21 sta Zp68 ; CPU:$A537 PRG:2537 85 68 lda #$02 ; CPU:$A539 PRG:2539 A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside NmiHandler: taken when Loop66. +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop66: - ora Zp69 ; CPU:$A53B PRG:253B 05 69 - sta Zp69 ; CPU:$A53D PRG:253D 85 69 +NmiHandler_Loop114: + ora PlayerIndex ; CPU:$A53B PRG:253B 05 69 + sta PlayerIndex ; CPU:$A53D PRG:253D 85 69 tya ; CPU:$A53F PRG:253F 98 - eor Zp69 ; CPU:$A540 PRG:2540 45 69 + eor PlayerIndex ; CPU:$A540 PRG:2540 45 69 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero18 -; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero18: +NmiHandler_OnNonzero25: clc ; CPU:$A542 PRG:2542 18 rts ; CPU:$A543 PRG:2543 60 ; ----------------------------------------------------------------------------- @@ -2961,23 +4171,23 @@ NmiHandler_OnNonzero18: ; ----------------------------------------------------------------------------- Sub_A544: and #$04 ; CPU:$A544 PRG:2544 29 04 - bne NmiHandler_OnNonzero18 ; CPU:$A546 PRG:2546 D0 FA - jsr NmiHandler_Loop78 ; CPU:$A548 PRG:2548 20 55 A6 + bne NmiHandler_OnNonzero25 ; CPU:$A546 PRG:2546 D0 FA + jsr NmiHandler_Loop126 ; CPU:$A548 PRG:2548 20 55 A6 lda Zp68 ; CPU:$A54B PRG:254B A5 68 - bne NmiHandler_OnNonzero18 ; CPU:$A54D PRG:254D D0 F3 + bne NmiHandler_OnNonzero25 ; CPU:$A54D PRG:254D D0 F3 jsr Sub_A4E6 ; CPU:$A54F PRG:254F 20 E6 A4 - bne NmiHandler_OnNonzero18 ; CPU:$A552 PRG:2552 D0 EE + bne NmiHandler_OnNonzero25 ; CPU:$A552 PRG:2552 D0 EE lda Zp6A ; CPU:$A554 PRG:2554 A5 6A and #$C0 ; CPU:$A556 PRG:2556 29 C0 lsr a ; CPU:$A558 PRG:2558 4A lsr a ; CPU:$A559 PRG:2559 4A - sta Zp00 ; CPU:$A55A PRG:255A 85 00 - lda Zp69 ; CPU:$A55C PRG:255C A5 69 + sta VramWritePtrLo ; CPU:$A55A PRG:255A 85 00 + lda PlayerIndex ; CPU:$A55C PRG:255C A5 69 and #$30 ; CPU:$A55E PRG:255E 29 30 - eor Zp00 ; CPU:$A560 PRG:2560 45 00 - bne NmiHandler_OnNonzero18 ; CPU:$A562 PRG:2562 D0 DE + eor VramWritePtrLo ; CPU:$A560 PRG:2560 45 00 + bne NmiHandler_OnNonzero25 ; CPU:$A562 PRG:2562 D0 DE lda #$02 ; CPU:$A564 PRG:2564 A9 02 - bne NmiHandler_Loop67 ; CPU:$A566 PRG:2566 D0 02 + bne NmiHandler_Loop115 ; CPU:$A566 PRG:2566 D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_A568 ; Global: Branch target inside Sub: taken when A568. @@ -2989,40 +4199,40 @@ Sub_A544: Sub_A568: lda #$03 ; CPU:$A568 PRG:2568 A9 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside NmiHandler: taken when Loop67. +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop67: - sta Zp01 ; CPU:$A56A PRG:256A 85 01 +NmiHandler_Loop115: + sta VramWritePtrHi ; CPU:$A56A PRG:256A 85 01 ldx Zp55 ; CPU:$A56C PRG:256C A6 55 lda Zp6A ; CPU:$A56E PRG:256E A5 6A and #$C0 ; CPU:$A570 PRG:2570 29 C0 - sta Zp02 ; CPU:$A572 PRG:2572 85 02 - beq NmiHandler_OnNonzero18 ; CPU:$A574 PRG:2574 F0 CC + sta DispatchPtrLo ; CPU:$A572 PRG:2572 85 02 + beq NmiHandler_OnNonzero25 ; CPU:$A574 PRG:2574 F0 CC lda $0373 ; CPU:$A576 PRG:2576 AD 73 03 ora $0374 ; CPU:$A579 PRG:2579 0D 74 03 ora Zp7D ; CPU:$A57C PRG:257C 05 7D - beq NmiHandler_Loop68 ; CPU:$A57E PRG:257E F0 07 - lda Zp02 ; CPU:$A580 PRG:2580 A5 02 + beq NmiHandler_Loop116 ; CPU:$A57E PRG:257E F0 07 + lda DispatchPtrLo ; CPU:$A580 PRG:2580 A5 02 sta $036B,x ; CPU:$A582 PRG:2582 9D 6B 03 - bne NmiHandler_OnNonzero18 ; CPU:$A585 PRG:2585 D0 BB + bne NmiHandler_OnNonzero25 ; CPU:$A585 PRG:2585 D0 BB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop68 -; Global: Branch target inside NmiHandler: taken when Loop68. +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop68: - lda Zp02 ; CPU:$A587 PRG:2587 A5 02 +NmiHandler_Loop116: + lda DispatchPtrLo ; CPU:$A587 PRG:2587 A5 02 eor $036B,x ; CPU:$A589 PRG:2589 5D 6B 03 - and Zp02 ; CPU:$A58C PRG:258C 25 02 - beq NmiHandler_OnNonzero18 ; CPU:$A58E PRG:258E F0 B2 + and DispatchPtrLo ; CPU:$A58C PRG:258C 25 02 + beq NmiHandler_OnNonzero25 ; CPU:$A58E PRG:258E F0 B2 pha ; CPU:$A590 PRG:2590 48 ora $036B,x ; CPU:$A591 PRG:2591 1D 6B 03 sta $036B,x ; CPU:$A594 PRG:2594 9D 6B 03 @@ -3030,50 +4240,50 @@ NmiHandler_Loop68: lsr a ; CPU:$A598 PRG:2598 4A lsr a ; CPU:$A599 PRG:2599 4A cmp #$30 ; CPU:$A59A PRG:259A C9 30 - bne NmiHandler_Loop69 ; CPU:$A59C PRG:259C D0 02 + bne NmiHandler_Loop117 ; CPU:$A59C PRG:259C D0 02 lda #$10 ; CPU:$A59E PRG:259E A9 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop69 -; Global: Branch target inside NmiHandler: taken when Loop69. +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop69: - ora Zp69 ; CPU:$A5A0 PRG:25A0 05 69 - sta Zp69 ; CPU:$A5A2 PRG:25A2 85 69 +NmiHandler_Loop117: + ora PlayerIndex ; CPU:$A5A0 PRG:25A0 05 69 + sta PlayerIndex ; CPU:$A5A2 PRG:25A2 85 69 and #$10 ; CPU:$A5A4 PRG:25A4 29 10 - beq NmiHandler_Loop70 ; CPU:$A5A6 PRG:25A6 F0 0B + beq NmiHandler_Loop118 ; CPU:$A5A6 PRG:25A6 F0 0B ldy #$02 ; CPU:$A5A8 PRG:25A8 A0 02 - lda Zp69 ; CPU:$A5AA PRG:25AA A5 69 + lda PlayerIndex ; CPU:$A5AA PRG:25AA A5 69 and #$04 ; CPU:$A5AC PRG:25AC 29 04 - beq NmiHandler_Loop71 ; CPU:$A5AE PRG:25AE F0 05 + beq NmiHandler_Loop119 ; CPU:$A5AE PRG:25AE F0 05 dey ; CPU:$A5B0 PRG:25B0 88 - bne NmiHandler_Loop71 ; CPU:$A5B1 PRG:25B1 D0 02 + bne NmiHandler_Loop119 ; CPU:$A5B1 PRG:25B1 D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop70 -; Global: Branch target inside NmiHandler: taken when Loop70. +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop70: +NmiHandler_Loop118: ldy #$20 ; CPU:$A5B3 PRG:25B3 A0 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside NmiHandler: taken when Loop71. +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop71: +NmiHandler_Loop119: sty ZpFD ; CPU:$A5B5 PRG:25B5 84 FD lda #$00 ; CPU:$A5B7 PRG:25B7 A9 00 sta Zp21 ; CPU:$A5B9 PRG:25B9 85 21 - lda Zp01 ; CPU:$A5BB PRG:25BB A5 01 + lda VramWritePtrHi ; CPU:$A5BB PRG:25BB A5 01 jmp Sub_A515 ; CPU:$A5BD PRG:25BD 4C 15 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5C0 @@ -3086,76 +4296,76 @@ NmiHandler_Loop71: Sub_A5C0: lda $0373 ; CPU:$A5C0 PRG:25C0 AD 73 03 ora $0374 ; CPU:$A5C3 PRG:25C3 0D 74 03 - bne NmiHandler_Loop72 ; CPU:$A5C6 PRG:25C6 D0 03 - jmp NmiHandler_Loop76 ; CPU:$A5C8 PRG:25C8 4C 4D A6 + bne NmiHandler_Loop120 ; CPU:$A5C6 PRG:25C6 D0 03 + jmp NmiHandler_Loop124 ; CPU:$A5C8 PRG:25C8 4C 4D A6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside NmiHandler: taken when Loop72. +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop72: +NmiHandler_Loop120: inc $0377 ; CPU:$A5CB PRG:25CB EE 77 03 - bmi NmiHandler_Loop76 ; CPU:$A5CE PRG:25CE 30 7D + bmi NmiHandler_Loop124 ; CPU:$A5CE PRG:25CE 30 7D lda $03AC ; CPU:$A5D0 PRG:25D0 AD AC 03 sta Zp06 ; CPU:$A5D3 PRG:25D3 85 06 lda Zp6A ; CPU:$A5D5 PRG:25D5 A5 6A and #$CF ; CPU:$A5D7 PRG:25D7 29 CF sta $03AC ; CPU:$A5D9 PRG:25D9 8D AC 03 - beq NmiHandler_Loop78 ; CPU:$A5DC PRG:25DC F0 77 + beq NmiHandler_Loop126 ; CPU:$A5DC PRG:25DC F0 77 cmp Zp06 ; CPU:$A5DE PRG:25DE C5 06 - beq NmiHandler_Loop78 ; CPU:$A5E0 PRG:25E0 F0 73 + beq NmiHandler_Loop126 ; CPU:$A5E0 PRG:25E0 F0 73 inc $0378 ; CPU:$A5E2 PRG:25E2 EE 78 03 lda $0378 ; CPU:$A5E5 PRG:25E5 AD 78 03 cmp #$04 ; CPU:$A5E8 PRG:25E8 C9 04 - bcc NmiHandler_Loop78 ; CPU:$A5EA PRG:25EA 90 69 + bcc NmiHandler_Loop126 ; CPU:$A5EA PRG:25EA 90 69 ldx #$01 ; CPU:$A5EC PRG:25EC A2 01 lda $0377 ; CPU:$A5EE PRG:25EE AD 77 03 cmp #$48 ; CPU:$A5F1 PRG:25F1 C9 48 - bcs NmiHandler_Loop76 ; CPU:$A5F3 PRG:25F3 B0 58 + bcs NmiHandler_Loop124 ; CPU:$A5F3 PRG:25F3 B0 58 inx ; CPU:$A5F5 PRG:25F5 E8 cmp #$30 ; CPU:$A5F6 PRG:25F6 C9 30 - bcs NmiHandler_Loop73 ; CPU:$A5F8 PRG:25F8 B0 06 + bcs NmiHandler_Loop121 ; CPU:$A5F8 PRG:25F8 B0 06 inx ; CPU:$A5FA PRG:25FA E8 cmp #$20 ; CPU:$A5FB PRG:25FB C9 20 - bcs NmiHandler_Loop73 ; CPU:$A5FD PRG:25FD B0 01 + bcs NmiHandler_Loop121 ; CPU:$A5FD PRG:25FD B0 01 inx ; CPU:$A5FF PRG:25FF E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside NmiHandler: taken when Loop73. +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop73: - stx Zp01 ; CPU:$A600 PRG:2600 86 01 +NmiHandler_Loop121: + stx VramWritePtrHi ; CPU:$A600 PRG:2600 86 01 ldx #$01 ; CPU:$A602 PRG:2602 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative10 -; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Routine: NmiHandler_OnNonnegative17 +; Global: Branch target inside NmiHandler: taken when OnNonnegative17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative10: - stx Zp00 ; CPU:$A604 PRG:2604 86 00 - ldy Zp01 ; CPU:$A606 PRG:2606 A4 01 +NmiHandler_OnNonnegative17: + stx VramWritePtrLo ; CPU:$A604 PRG:2604 86 00 + ldy VramWritePtrHi ; CPU:$A606 PRG:2606 A4 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative11 -; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Routine: NmiHandler_OnNonnegative18 +; Global: Branch target inside NmiHandler: taken when OnNonnegative18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative11: - sty Zp02 ; CPU:$A608 PRG:2608 84 02 +NmiHandler_OnNonnegative18: + sty DispatchPtrLo ; CPU:$A608 PRG:2608 84 02 lda $0373,x ; CPU:$A60A PRG:260A BD 73 03 - beq NmiHandler_Loop75 ; CPU:$A60D PRG:260D F0 35 + beq NmiHandler_Loop123 ; CPU:$A60D PRG:260D F0 35 dec $0373,x ; CPU:$A60F PRG:260F DE 73 03 lda $0375,x ; CPU:$A612 PRG:2612 BD 75 03 and #$03 ; CPU:$A615 PRG:2615 29 03 @@ -3164,144 +4374,144 @@ NmiHandler_OnNonnegative11: tax ; CPU:$A61D PRG:261D AA dec $04A0,x ; CPU:$A61E PRG:261E DE A0 04 lda #$04 ; CPU:$A621 PRG:2621 A9 04 - sta ZpB7,x ; CPU:$A623 PRG:2623 95 B7 + sta PlayerY,x ; CPU:$A623 PRG:2623 95 B7 lda Zp8E,x ; CPU:$A625 PRG:2625 B5 8E cmp Zp94 ; CPU:$A627 PRG:2627 C5 94 - bcs NmiHandler_Loop74 ; CPU:$A629 PRG:2629 B0 05 + bcs NmiHandler_Loop122 ; CPU:$A629 PRG:2629 B0 05 lda #$01 ; CPU:$A62B PRG:262B A9 01 sta $04A8,x ; CPU:$A62D PRG:262D 9D A8 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop74 -; Global: Branch target inside NmiHandler: taken when Loop74. +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop74: - ldx Zp00 ; CPU:$A630 PRG:2630 A6 00 - ldy Zp02 ; CPU:$A632 PRG:2632 A4 02 +NmiHandler_Loop122: + ldx VramWritePtrLo ; CPU:$A630 PRG:2630 A6 00 + ldy DispatchPtrLo ; CPU:$A632 PRG:2632 A4 02 dey ; CPU:$A634 PRG:2634 88 - bpl NmiHandler_OnNonnegative11 ; CPU:$A635 PRG:2635 10 D1 + bpl NmiHandler_OnNonnegative18 ; CPU:$A635 PRG:2635 10 D1 lda $0373,x ; CPU:$A637 PRG:2637 BD 73 03 - beq NmiHandler_Loop75 ; CPU:$A63A PRG:263A F0 08 + beq NmiHandler_Loop123 ; CPU:$A63A PRG:263A F0 08 lda $0375,x ; CPU:$A63C PRG:263C BD 75 03 and #$03 ; CPU:$A63F PRG:263F 29 03 tax ; CPU:$A641 PRG:2641 AA - dec ZpB7,x ; CPU:$A642 PRG:2642 D6 B7 + dec PlayerY,x ; CPU:$A642 PRG:2642 D6 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop75 -; Global: Branch target inside NmiHandler: taken when Loop75. +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop75: - ldx Zp00 ; CPU:$A644 PRG:2644 A6 00 +NmiHandler_Loop123: + ldx VramWritePtrLo ; CPU:$A644 PRG:2644 A6 00 dex ; CPU:$A646 PRG:2646 CA - bpl NmiHandler_OnNonnegative10 ; CPU:$A647 PRG:2647 10 BB + bpl NmiHandler_OnNonnegative17 ; CPU:$A647 PRG:2647 10 BB lda #$02 ; CPU:$A649 PRG:2649 A9 02 - bne NmiHandler_Loop77 ; CPU:$A64B PRG:264B D0 05 + bne NmiHandler_Loop125 ; CPU:$A64B PRG:264B D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop76 -; Global: Branch target inside NmiHandler: taken when Loop76. +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop76: +NmiHandler_Loop124: lda #$00 ; CPU:$A64D PRG:264D A9 00 sta $0377 ; CPU:$A64F PRG:264F 8D 77 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside NmiHandler: taken when Loop77. +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop125: sta $0378 ; CPU:$A652 PRG:2652 8D 78 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside NmiHandler: taken when Loop78. +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop126: ldy #$01 ; CPU:$A655 PRG:2655 A0 01 lda Zp6A ; CPU:$A657 PRG:2657 A5 6A lsr a ; CPU:$A659 PRG:2659 4A - bcs NmiHandler_Loop79 ; CPU:$A65A PRG:265A B0 04 + bcs NmiHandler_Loop127 ; CPU:$A65A PRG:265A B0 04 dey ; CPU:$A65C PRG:265C 88 lsr a ; CPU:$A65D PRG:265D 4A - bcc NmiHandler_Loop82 ; CPU:$A65E PRG:265E 90 35 + bcc NmiHandler_Loop130 ; CPU:$A65E PRG:265E 90 35 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside NmiHandler: taken when Loop79. +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: - sty Zp00 ; CPU:$A660 PRG:2660 84 00 +NmiHandler_Loop127: + sty VramWritePtrLo ; CPU:$A660 PRG:2660 84 00 cpy $0372 ; CPU:$A662 PRG:2662 CC 72 03 - beq NmiHandler_Loop81 ; CPU:$A665 PRG:2665 F0 26 + beq NmiHandler_Loop129 ; CPU:$A665 PRG:2665 F0 26 lda Zp7E ; CPU:$A667 PRG:2667 A5 7E - beq NmiHandler_Loop81 ; CPU:$A669 PRG:2669 F0 22 + beq NmiHandler_Loop129 ; CPU:$A669 PRG:2669 F0 22 ldx ZpA4 ; CPU:$A66B PRG:266B A6 A4 dex ; CPU:$A66D PRG:266D CA - bne NmiHandler_Loop81 ; CPU:$A66E PRG:266E D0 1D + bne NmiHandler_Loop129 ; CPU:$A66E PRG:266E D0 1D lda Zp93 ; CPU:$A670 PRG:2670 A5 93 sec ; CPU:$A672 PRG:2672 38 sbc Zp94 ; CPU:$A673 PRG:2673 E5 94 - bcs NmiHandler_Loop80 ; CPU:$A675 PRG:2675 B0 04 + bcs NmiHandler_Loop128 ; CPU:$A675 PRG:2675 B0 04 eor #$FF ; CPU:$A677 PRG:2677 49 FF adc #$01 ; CPU:$A679 PRG:2679 69 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside NmiHandler: taken when Loop80. +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop128: cmp #$30 ; CPU:$A67B PRG:267B C9 30 - bcs NmiHandler_Loop81 ; CPU:$A67D PRG:267D B0 0E - lda Zp5F ; CPU:$A67F PRG:267F A5 5F + bcs NmiHandler_Loop129 ; CPU:$A67D PRG:267D B0 0E + lda SpriteIndex ; CPU:$A67F PRG:267F A5 5F cmp #$04 ; CPU:$A681 PRG:2681 C9 04 - beq NmiHandler_Loop82 ; CPU:$A683 PRG:2683 F0 10 + beq NmiHandler_Loop130 ; CPU:$A683 PRG:2683 F0 10 lda $037C ; CPU:$A685 PRG:2685 AD 7C 03 ora $039B ; CPU:$A688 PRG:2688 0D 9B 03 - beq NmiHandler_Loop82 ; CPU:$A68B PRG:268B F0 08 + beq NmiHandler_Loop130 ; CPU:$A68B PRG:268B F0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside NmiHandler: taken when Loop81. +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: - lda Zp69 ; CPU:$A68D PRG:268D A5 69 +NmiHandler_Loop129: + lda PlayerIndex ; CPU:$A68D PRG:268D A5 69 and #$FE ; CPU:$A68F PRG:268F 29 FE - ora Zp00 ; CPU:$A691 PRG:2691 05 00 - sta Zp69 ; CPU:$A693 PRG:2693 85 69 + ora VramWritePtrLo ; CPU:$A691 PRG:2691 05 00 + sta PlayerIndex ; CPU:$A693 PRG:2693 85 69 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside NmiHandler: taken when Loop82. +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop130: rts ; CPU:$A695 PRG:2695 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A696 @@ -3313,97 +4523,97 @@ NmiHandler_Loop82: ; ----------------------------------------------------------------------------- Sub_A696: ldy Zp67 ; CPU:$A696 PRG:2696 A4 67 - bne NmiHandler_Loop83 ; CPU:$A698 PRG:2698 D0 03 + bne NmiHandler_Loop131 ; CPU:$A698 PRG:2698 D0 03 jmp Sub_A734 ; CPU:$A69A PRG:269A 4C 34 A7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside NmiHandler: taken when Loop83. +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: +NmiHandler_Loop131: ldx #$05 ; CPU:$A69D PRG:269D A2 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative12 -; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Routine: NmiHandler_OnNonnegative19 +; Global: Branch target inside NmiHandler: taken when OnNonnegative19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative12: - lda Zp87,x ; CPU:$A69F PRG:269F B5 87 +NmiHandler_OnNonnegative19: + lda EnemyIndex,x ; CPU:$A69F PRG:269F B5 87 cmp #$02 ; CPU:$A6A1 PRG:26A1 C9 02 - bcc NmiHandler_Loop86 ; CPU:$A6A3 PRG:26A3 90 29 + bcc NmiHandler_Loop134 ; CPU:$A6A3 PRG:26A3 90 29 cmp #$09 ; CPU:$A6A5 PRG:26A5 C9 09 - bcs NmiHandler_Loop86 ; CPU:$A6A7 PRG:26A7 B0 25 + bcs NmiHandler_Loop134 ; CPU:$A6A7 PRG:26A7 B0 25 tay ; CPU:$A6A9 PRG:26A9 A8 dey ; CPU:$A6AA PRG:26AA 88 dey ; CPU:$A6AB PRG:26AB 88 lda $04EA,x ; CPU:$A6AC PRG:26AC BD EA 04 lsr a ; CPU:$A6AF PRG:26AF 4A lda Zp67 ; CPU:$A6B0 PRG:26B0 A5 67 - bcs NmiHandler_Loop84 ; CPU:$A6B2 PRG:26B2 B0 06 + bcs NmiHandler_Loop132 ; CPU:$A6B2 PRG:26B2 B0 06 cmp #$02 ; CPU:$A6B4 PRG:26B4 C9 02 - beq NmiHandler_Loop86 ; CPU:$A6B6 PRG:26B6 F0 16 - bne NmiHandler_Loop85 ; CPU:$A6B8 PRG:26B8 D0 04 + beq NmiHandler_Loop134 ; CPU:$A6B6 PRG:26B6 F0 16 + bne NmiHandler_Loop133 ; CPU:$A6B8 PRG:26B8 D0 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside NmiHandler: taken when Loop84. +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop132: cmp #$01 ; CPU:$A6BA PRG:26BA C9 01 - beq NmiHandler_Loop86 ; CPU:$A6BC PRG:26BC F0 10 + beq NmiHandler_Loop134 ; CPU:$A6BC PRG:26BC F0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside NmiHandler: taken when Loop85. +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: +NmiHandler_Loop133: lda $04E3,x ; CPU:$A6BE PRG:26BE BD E3 04 - bne NmiHandler_Loop86 ; CPU:$A6C1 PRG:26C1 D0 0B + bne NmiHandler_Loop134 ; CPU:$A6C1 PRG:26C1 D0 0B lda $04DC,x ; CPU:$A6C3 PRG:26C3 BD DC 04 cmp $9BA7,y ; CPU:$A6C6 PRG:26C6 D9 A7 9B - bcs NmiHandler_Loop86 ; CPU:$A6C9 PRG:26C9 B0 03 - jmp NmiHandler_Loop96 ; CPU:$A6CB PRG:26CB 4C 6B A7 + bcs NmiHandler_Loop134 ; CPU:$A6C9 PRG:26C9 B0 03 + jmp NmiHandler_Loop144 ; CPU:$A6CB PRG:26CB 4C 6B A7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop86 -; Global: Branch target inside NmiHandler: taken when Loop86. +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop86: +NmiHandler_Loop134: dex ; CPU:$A6CE PRG:26CE CA - bpl NmiHandler_OnNonnegative12 ; CPU:$A6CF PRG:26CF 10 CE + bpl NmiHandler_OnNonnegative19 ; CPU:$A6CF PRG:26CF 10 CE ldx #$01 ; CPU:$A6D1 PRG:26D1 A2 01 lda $049E ; CPU:$A6D3 PRG:26D3 AD 9E 04 clc ; CPU:$A6D6 PRG:26D6 18 adc #$20 ; CPU:$A6D7 PRG:26D7 69 20 sta $049E ; CPU:$A6D9 PRG:26D9 8D 9E 04 - bcc NmiHandler_Loop87 ; CPU:$A6DC PRG:26DC 90 01 + bcc NmiHandler_Loop135 ; CPU:$A6DC PRG:26DC 90 01 inx ; CPU:$A6DE PRG:26DE E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop87 -; Global: Branch target inside NmiHandler: taken when Loop87. +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop87: - stx Zp00 ; CPU:$A6DF PRG:26DF 86 00 - stx Zp02 ; CPU:$A6E1 PRG:26E1 86 02 +NmiHandler_Loop135: + stx VramWritePtrLo ; CPU:$A6DF PRG:26DF 86 00 + stx DispatchPtrLo ; CPU:$A6E1 PRG:26E1 86 02 ldy Zp67 ; CPU:$A6E3 PRG:26E3 A4 67 tya ; CPU:$A6E5 PRG:26E5 98 eor #$03 ; CPU:$A6E6 PRG:26E6 49 03 @@ -3412,69 +4622,69 @@ NmiHandler_Loop87: sta Zp05 ; CPU:$A6EB PRG:26EB 85 05 sta Zp06 ; CPU:$A6ED PRG:26ED 85 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero19 -; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero19: +NmiHandler_OnNonzero26: jsr Sub_A797 ; CPU:$A6EF PRG:26EF 20 97 A7 - dec Zp00 ; CPU:$A6F2 PRG:26F2 C6 00 - bne NmiHandler_OnNonzero19 ; CPU:$A6F4 PRG:26F4 D0 F9 + dec VramWritePtrLo ; CPU:$A6F2 PRG:26F2 C6 00 + bne NmiHandler_OnNonzero26 ; CPU:$A6F4 PRG:26F4 D0 F9 lda Zp05 ; CPU:$A6F6 PRG:26F6 A5 05 - beq NmiHandler_Loop89 ; CPU:$A6F8 PRG:26F8 F0 1C + beq NmiHandler_Loop137 ; CPU:$A6F8 PRG:26F8 F0 1C lsr a ; CPU:$A6FA PRG:26FA 4A cmp $0372 ; CPU:$A6FB PRG:26FB CD 72 03 - bne NmiHandler_Loop89 ; CPU:$A6FE PRG:26FE D0 16 + bne NmiHandler_Loop137 ; CPU:$A6FE PRG:26FE D0 16 lda #$00 ; CPU:$A700 PRG:2700 A9 00 sta Zp67 ; CPU:$A702 PRG:2702 85 67 - sta Zp80 ; CPU:$A704 PRG:2704 85 80 + sta SpriteTimer ; CPU:$A704 PRG:2704 85 80 inc Zp51 ; CPU:$A706 PRG:2706 E6 51 lda #$05 ; CPU:$A708 PRG:2708 A9 05 sta Zp38 ; CPU:$A70A PRG:270A 85 38 lda $048E ; CPU:$A70C PRG:270C AD 8E 04 - beq NmiHandler_Loop88 ; CPU:$A70F PRG:270F F0 04 + beq NmiHandler_Loop136 ; CPU:$A70F PRG:270F F0 04 lda #$04 ; CPU:$A711 PRG:2711 A9 04 sta ZpFE ; CPU:$A713 PRG:2713 85 FE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop88 -; Global: Branch target inside NmiHandler: taken when Loop88. +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop88: +NmiHandler_Loop136: rts ; CPU:$A715 PRG:2715 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop89 -; Global: Branch target inside NmiHandler: taken when Loop89. +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop89: +NmiHandler_Loop137: lda Zp06 ; CPU:$A716 PRG:2716 A5 06 clc ; CPU:$A718 PRG:2718 18 adc Zp73 ; CPU:$A719 PRG:2719 65 73 - bpl NmiHandler_Loop90 ; CPU:$A71B PRG:271B 10 07 + bpl NmiHandler_Loop138 ; CPU:$A71B PRG:271B 10 07 lda #$17 ; CPU:$A71D PRG:271D A9 17 dec Zp74 ; CPU:$A71F PRG:271F C6 74 jmp Sub_A72C ; CPU:$A721 PRG:2721 4C 2C A7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop90 -; Global: Branch target inside NmiHandler: taken when Loop90. +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop90: +NmiHandler_Loop138: cmp #$18 ; CPU:$A724 PRG:2724 C9 18 - bcc NmiHandler_Loop91 ; CPU:$A726 PRG:2726 90 0A + bcc NmiHandler_Loop139 ; CPU:$A726 PRG:2726 90 0A sbc #$18 ; CPU:$A728 PRG:2728 E9 18 inc Zp74 ; CPU:$A72A PRG:272A E6 74 ; ----------------------------------------------------------------------------- @@ -3491,14 +4701,14 @@ Sub_A72C: sta Zp3B ; CPU:$A72F PRG:272F 85 3B pla ; CPU:$A731 PRG:2731 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop91 -; Global: Branch target inside NmiHandler: taken when Loop91. +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop91: +NmiHandler_Loop139: sta Zp73 ; CPU:$A732 PRG:2732 85 73 ; ----------------------------------------------------------------------------- ; Routine: Sub_A734 @@ -3512,98 +4722,98 @@ Sub_A734: lda Zp65 ; CPU:$A734 PRG:2734 A5 65 and #$01 ; CPU:$A736 PRG:2736 29 01 sta Zp61 ; CPU:$A738 PRG:2738 85 61 - lda Zp5F ; CPU:$A73A PRG:273A A5 5F + lda SpriteIndex ; CPU:$A73A PRG:273A A5 5F cmp #$04 ; CPU:$A73C PRG:273C C9 04 - bne NmiHandler_Loop96 ; CPU:$A73E PRG:273E D0 2B + bne NmiHandler_Loop144 ; CPU:$A73E PRG:273E D0 2B lda $04A5 ; CPU:$A740 PRG:2740 AD A5 04 - bmi NmiHandler_Loop94 ; CPU:$A743 PRG:2743 30 1A + bmi NmiHandler_Loop142 ; CPU:$A743 PRG:2743 30 1A lda Zp65 ; CPU:$A745 PRG:2745 A5 65 - beq NmiHandler_Loop92 ; CPU:$A747 PRG:2747 F0 0A + beq NmiHandler_Loop140 ; CPU:$A747 PRG:2747 F0 0A cmp #$02 ; CPU:$A749 PRG:2749 C9 02 - bcs NmiHandler_Loop94 ; CPU:$A74B PRG:274B B0 12 + bcs NmiHandler_Loop142 ; CPU:$A74B PRG:274B B0 12 lda Zp12 ; CPU:$A74D PRG:274D A5 12 cmp #$10 ; CPU:$A74F PRG:274F C9 10 - bcs NmiHandler_Loop94 ; CPU:$A751 PRG:2751 B0 0C + bcs NmiHandler_Loop142 ; CPU:$A751 PRG:2751 B0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop92 -; Global: Branch target inside NmiHandler: taken when Loop92. +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop92: +NmiHandler_Loop140: lda Zp63 ; CPU:$A753 PRG:2753 A5 63 - bne NmiHandler_Loop93 ; CPU:$A755 PRG:2755 D0 04 + bne NmiHandler_Loop141 ; CPU:$A755 PRG:2755 D0 04 lda #$20 ; CPU:$A757 PRG:2757 A9 20 sta Zp52 ; CPU:$A759 PRG:2759 85 52 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop93 -; Global: Branch target inside NmiHandler: taken when Loop93. +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop93: +NmiHandler_Loop141: lda #$08 ; CPU:$A75B PRG:275B A9 08 - bne NmiHandler_Loop95 ; CPU:$A75D PRG:275D D0 0A + bne NmiHandler_Loop143 ; CPU:$A75D PRG:275D D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop94 -; Global: Branch target inside NmiHandler: taken when Loop94. +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop94: +NmiHandler_Loop142: lda Zp63 ; CPU:$A75F PRG:275F A5 63 - beq NmiHandler_Loop96 ; CPU:$A761 PRG:2761 F0 08 + beq NmiHandler_Loop144 ; CPU:$A761 PRG:2761 F0 08 lda #$05 ; CPU:$A763 PRG:2763 A9 05 sta Zp52 ; CPU:$A765 PRG:2765 85 52 lda #$00 ; CPU:$A767 PRG:2767 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop95 -; Global: Branch target inside NmiHandler: taken when Loop95. +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop95: +NmiHandler_Loop143: sta Zp63 ; CPU:$A769 PRG:2769 85 63 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop96 -; Global: Branch target inside NmiHandler: taken when Loop96. +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop96: +NmiHandler_Loop144: lda Zp2A ; CPU:$A76B PRG:276B A5 2A - bne NmiHandler_Loop98 ; CPU:$A76D PRG:276D D0 27 + bne NmiHandler_Loop146 ; CPU:$A76D PRG:276D D0 27 lda $0373 ; CPU:$A76F PRG:276F AD 73 03 clc ; CPU:$A772 PRG:2772 18 adc $0374 ; CPU:$A773 PRG:2773 6D 74 03 - sta Zp00 ; CPU:$A776 PRG:2776 85 00 - beq NmiHandler_Loop98 ; CPU:$A778 PRG:2778 F0 1C + sta VramWritePtrLo ; CPU:$A776 PRG:2776 85 00 + beq NmiHandler_Loop146 ; CPU:$A778 PRG:2778 F0 1C lda Zp6B ; CPU:$A77A PRG:277A A5 6B - bne NmiHandler_Loop97 ; CPU:$A77C PRG:277C D0 07 - lda Zp00 ; CPU:$A77E PRG:277E A5 00 + bne NmiHandler_Loop145 ; CPU:$A77C PRG:277C D0 07 + lda VramWritePtrLo ; CPU:$A77E PRG:277E A5 00 clc ; CPU:$A780 PRG:2780 18 adc #$04 ; CPU:$A781 PRG:2781 69 04 - sta Zp00 ; CPU:$A783 PRG:2783 85 00 + sta VramWritePtrLo ; CPU:$A783 PRG:2783 85 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop97 -; Global: Branch target inside NmiHandler: taken when Loop97. +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop97: - ldy Zp00 ; CPU:$A785 PRG:2785 A4 00 +NmiHandler_Loop145: + ldy VramWritePtrLo ; CPU:$A785 PRG:2785 A4 00 lda $9B93,y ; CPU:$A787 PRG:2787 B9 93 9B sta Zp2A ; CPU:$A78A PRG:278A 85 2A lda #$01 ; CPU:$A78C PRG:278C A9 01 @@ -3611,14 +4821,14 @@ NmiHandler_Loop97: ldx #$06 ; CPU:$A791 PRG:2791 A2 06 jmp Sub_C462 ; CPU:$A793 PRG:2793 4C 62 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop98 -; Global: Branch target inside NmiHandler: taken when Loop98. +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop98: +NmiHandler_Loop146: rts ; CPU:$A796 PRG:2796 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A797 @@ -3630,137 +4840,137 @@ NmiHandler_Loop98: ; ----------------------------------------------------------------------------- Sub_A797: lda Zp64 ; CPU:$A797 PRG:2797 A5 64 - bne NmiHandler_Loop103 ; CPU:$A799 PRG:2799 D0 3E + bne NmiHandler_Loop151 ; CPU:$A799 PRG:2799 D0 3E lda $0372 ; CPU:$A79B PRG:279B AD 72 03 - bne NmiHandler_Loop99 ; CPU:$A79E PRG:279E D0 10 + bne NmiHandler_Loop147 ; CPU:$A79E PRG:279E D0 10 lda $9B6E,y ; CPU:$A7A0 PRG:27A0 B9 6E 9B cmp Zp65 ; CPU:$A7A3 PRG:27A3 C5 65 - bne NmiHandler_Loop100 ; CPU:$A7A5 PRG:27A5 D0 17 + bne NmiHandler_Loop148 ; CPU:$A7A5 PRG:27A5 D0 17 lda Zp12 ; CPU:$A7A7 PRG:27A7 A5 12 cmp $9B71,y ; CPU:$A7A9 PRG:27A9 D9 71 9B - bne NmiHandler_Loop100 ; CPU:$A7AC PRG:27AC D0 10 - beq NmiHandler_Loop103 ; CPU:$A7AE PRG:27AE F0 29 + bne NmiHandler_Loop148 ; CPU:$A7AC PRG:27AC D0 10 + beq NmiHandler_Loop151 ; CPU:$A7AE PRG:27AE F0 29 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop99 -; Global: Branch target inside NmiHandler: taken when Loop99. +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop99: +NmiHandler_Loop147: lda $9B74,y ; CPU:$A7B0 PRG:27B0 B9 74 9B cmp Zp65 ; CPU:$A7B3 PRG:27B3 C5 65 - bne NmiHandler_Loop100 ; CPU:$A7B5 PRG:27B5 D0 07 + bne NmiHandler_Loop148 ; CPU:$A7B5 PRG:27B5 D0 07 lda Zp12 ; CPU:$A7B7 PRG:27B7 A5 12 cmp $9B77,y ; CPU:$A7B9 PRG:27B9 D9 77 9B - beq NmiHandler_Loop103 ; CPU:$A7BC PRG:27BC F0 1B + beq NmiHandler_Loop151 ; CPU:$A7BC PRG:27BC F0 1B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop100 -; Global: Branch target inside NmiHandler: taken when Loop100. +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop100: +NmiHandler_Loop148: lda $9B7D,x ; CPU:$A7BE PRG:27BE BD 7D 9B clc ; CPU:$A7C1 PRG:27C1 18 adc Zp66 ; CPU:$A7C2 PRG:27C2 65 66 sta Zp66 ; CPU:$A7C4 PRG:27C4 85 66 lda $9B7D,y ; CPU:$A7C6 PRG:27C6 B9 7D 9B - bpl NmiHandler_Loop101 ; CPU:$A7C9 PRG:27C9 10 02 + bpl NmiHandler_Loop149 ; CPU:$A7C9 PRG:27C9 10 02 dec Zp65 ; CPU:$A7CB PRG:27CB C6 65 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop101 -; Global: Branch target inside NmiHandler: taken when Loop101. +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop101: +NmiHandler_Loop149: clc ; CPU:$A7CD PRG:27CD 18 adc Zp12 ; CPU:$A7CE PRG:27CE 65 12 sta Zp12 ; CPU:$A7D0 PRG:27D0 85 12 - bcc NmiHandler_Loop102 ; CPU:$A7D2 PRG:27D2 90 02 + bcc NmiHandler_Loop150 ; CPU:$A7D2 PRG:27D2 90 02 inc Zp65 ; CPU:$A7D4 PRG:27D4 E6 65 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop102 -; Global: Branch target inside NmiHandler: taken when Loop102. +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop102: - jmp NmiHandler_Loop107 ; CPU:$A7D6 PRG:27D6 4C 05 A8 +NmiHandler_Loop150: + jmp NmiHandler_Loop155 ; CPU:$A7D6 PRG:27D6 4C 05 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop103 -; Global: Branch target inside NmiHandler: taken when Loop103. +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop103: +NmiHandler_Loop151: lda Zp7E ; CPU:$A7D9 PRG:27D9 A5 7E - bne NmiHandler_Loop104 ; CPU:$A7DB PRG:27DB D0 0C + bne NmiHandler_Loop152 ; CPU:$A7DB PRG:27DB D0 0C lda Zp65 ; CPU:$A7DD PRG:27DD A5 65 lsr a ; CPU:$A7DF PRG:27DF 4A lsr a ; CPU:$A7E0 PRG:27E0 4A eor $0372 ; CPU:$A7E1 PRG:27E1 4D 72 03 - beq NmiHandler_Loop104 ; CPU:$A7E4 PRG:27E4 F0 03 + beq NmiHandler_Loop152 ; CPU:$A7E4 PRG:27E4 F0 03 sta $03B2 ; CPU:$A7E6 PRG:27E6 8D B2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop104 -; Global: Branch target inside NmiHandler: taken when Loop104. +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop104: +NmiHandler_Loop152: lda $9B7A,x ; CPU:$A7E9 PRG:27E9 BD 7A 9B cmp Zp64 ; CPU:$A7EC PRG:27EC C5 64 - bne NmiHandler_Loop105 ; CPU:$A7EE PRG:27EE D0 05 + bne NmiHandler_Loop153 ; CPU:$A7EE PRG:27EE D0 05 stx Zp05 ; CPU:$A7F0 PRG:27F0 86 05 jmp NmiHandler_OnNegative ; CPU:$A7F2 PRG:27F2 4C 25 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop105 -; Global: Branch target inside NmiHandler: taken when Loop105. +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop105: +NmiHandler_Loop153: lda $9B7D,x ; CPU:$A7F5 PRG:27F5 BD 7D 9B - bpl NmiHandler_Loop106 ; CPU:$A7F8 PRG:27F8 10 02 + bpl NmiHandler_Loop154 ; CPU:$A7F8 PRG:27F8 10 02 dec Zp62 ; CPU:$A7FA PRG:27FA C6 62 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop106 -; Global: Branch target inside NmiHandler: taken when Loop106. +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop106: +NmiHandler_Loop154: clc ; CPU:$A7FC PRG:27FC 18 adc Zp64 ; CPU:$A7FD PRG:27FD 65 64 sta Zp64 ; CPU:$A7FF PRG:27FF 85 64 - bcc NmiHandler_Loop107 ; CPU:$A801 PRG:2801 90 02 + bcc NmiHandler_Loop155 ; CPU:$A801 PRG:2801 90 02 inc Zp62 ; CPU:$A803 PRG:2803 E6 62 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop107 -; Global: Branch target inside NmiHandler: taken when Loop107. +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop107: +NmiHandler_Loop155: lda $9B7D,y ; CPU:$A805 PRG:2805 B9 7D 9B clc ; CPU:$A808 PRG:2808 18 adc Zp06 ; CPU:$A809 PRG:2809 65 06 @@ -3770,17 +4980,17 @@ NmiHandler_Loop107: lda Zp67 ; CPU:$A811 PRG:2811 A5 67 sta Zp72 ; CPU:$A813 PRG:2813 85 72 lda $9B7D,y ; CPU:$A815 PRG:2815 B9 7D 9B - bpl NmiHandler_Loop108 ; CPU:$A818 PRG:2818 10 02 + bpl NmiHandler_Loop156 ; CPU:$A818 PRG:2818 10 02 dec ZpE5 ; CPU:$A81A PRG:281A C6 E5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop108 -; Global: Branch target inside NmiHandler: taken when Loop108. +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop108: +NmiHandler_Loop156: clc ; CPU:$A81C PRG:281C 18 adc ZpD4 ; CPU:$A81D PRG:281D 65 D4 sta ZpD4 ; CPU:$A81F PRG:281F 85 D4 @@ -3808,71 +5018,71 @@ Sub_A826: lda $04A6 ; CPU:$A826 PRG:2826 AD A6 04 bmi NmiHandler_OnNegative ; CPU:$A829 PRG:2829 30 FA lda Zp23 ; CPU:$A82B PRG:282B A5 23 - bne NmiHandler_Loop111 ; CPU:$A82D PRG:282D D0 3D + bne NmiHandler_Loop159 ; CPU:$A82D PRG:282D D0 3D lda $0496 ; CPU:$A82F PRG:282F AD 96 04 - bne NmiHandler_Loop109 ; CPU:$A832 PRG:2832 D0 13 + bne NmiHandler_Loop157 ; CPU:$A832 PRG:2832 D0 13 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero20 -; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero20: - lda Zp69 ; CPU:$A834 PRG:2834 A5 69 +NmiHandler_OnNonzero27: + lda PlayerIndex ; CPU:$A834 PRG:2834 A5 69 and #$0E ; CPU:$A836 PRG:2836 29 0E tay ; CPU:$A838 PRG:2838 A8 lda $9B61,y ; CPU:$A839 PRG:2839 B9 61 9B - sta Zp00 ; CPU:$A83C PRG:283C 85 00 + sta VramWritePtrLo ; CPU:$A83C PRG:283C 85 00 iny ; CPU:$A83E PRG:283E C8 lda $9B61,y ; CPU:$A83F PRG:283F B9 61 9B - sta Zp01 ; CPU:$A842 PRG:2842 85 01 - jmp (Zp00) ; CPU:$A844 PRG:2844 6C 00 00 + sta VramWritePtrHi ; CPU:$A842 PRG:2842 85 01 + jmp (VramWritePtrLo) ; CPU:$A844 PRG:2844 6C 00 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop109 -; Global: Branch target inside NmiHandler: taken when Loop109. +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop109: +NmiHandler_Loop157: lda #$04 ; CPU:$A847 PRG:2847 A9 04 sta ZpFD ; CPU:$A849 PRG:2849 85 FD lda #$00 ; CPU:$A84B PRG:284B A9 00 sta $0496 ; CPU:$A84D PRG:284D 8D 96 04 sta Zp67 ; CPU:$A850 PRG:2850 85 67 - lda Zp69 ; CPU:$A852 PRG:2852 A5 69 + lda PlayerIndex ; CPU:$A852 PRG:2852 A5 69 bit $9B5F ; CPU:$A854 PRG:2854 2C 5F 9B - bne NmiHandler_OnNonzero20 ; CPU:$A857 PRG:2857 D0 DB + bne NmiHandler_OnNonzero27 ; CPU:$A857 PRG:2857 D0 DB and #$03 ; CPU:$A859 PRG:2859 29 03 bit $9B5E ; CPU:$A85B PRG:285B 2C 5E 9B - bne NmiHandler_Loop110 ; CPU:$A85E PRG:285E D0 02 + bne NmiHandler_Loop158 ; CPU:$A85E PRG:285E D0 02 ora #$08 ; CPU:$A860 PRG:2860 09 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop110 -; Global: Branch target inside NmiHandler: taken when Loop110. +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop110: - sta Zp69 ; CPU:$A862 PRG:2862 85 69 +NmiHandler_Loop158: + sta PlayerIndex ; CPU:$A862 PRG:2862 85 69 lda #$0A ; CPU:$A864 PRG:2864 A9 0A sta Zp23 ; CPU:$A866 PRG:2866 85 23 lda #$00 ; CPU:$A868 PRG:2868 A9 00 sta Zp68 ; CPU:$A86A PRG:286A 85 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop111 -; Global: Branch target inside NmiHandler: taken when Loop111. +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop111: +NmiHandler_Loop159: rts ; CPU:$A86C PRG:286C 60 ; ----------------------------------------------------------------------------- ; Routine: Label_A86D @@ -3884,16 +5094,16 @@ NmiHandler_Loop111: ; ----------------------------------------------------------------------------- Label_A86D: lda Zp23 ; CPU:$A86D PRG:286D A5 23 - bne NmiHandler_Loop114 ; CPU:$A86F PRG:286F D0 37 - lda Zp69 ; CPU:$A871 PRG:2871 A5 69 + bne NmiHandler_Loop162 ; CPU:$A86F PRG:286F D0 37 + lda PlayerIndex ; CPU:$A871 PRG:2871 A5 69 and #$F0 ; CPU:$A873 PRG:2873 29 F0 - beq NmiHandler_Loop113 ; CPU:$A875 PRG:2875 F0 1D + beq NmiHandler_Loop161 ; CPU:$A875 PRG:2875 F0 1D lda Zp21 ; CPU:$A877 PRG:2877 A5 21 - bne NmiHandler_Loop114 ; CPU:$A879 PRG:2879 D0 2D + bne NmiHandler_Loop162 ; CPU:$A879 PRG:2879 D0 2D ldy Zp68 ; CPU:$A87B PRG:287B A4 68 lda $9B8E,y ; CPU:$A87D PRG:287D B9 8E 9B dec Zp68 ; CPU:$A880 PRG:2880 C6 68 - bpl NmiHandler_Loop112 ; CPU:$A882 PRG:2882 10 0D + bpl NmiHandler_Loop160 ; CPU:$A882 PRG:2882 10 0D ; ----------------------------------------------------------------------------- ; Routine: Sub_A884 ; Global: Branch target inside Sub: taken when A884. @@ -3913,51 +5123,51 @@ Sub_A884: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A886: - and Zp69 ; CPU:$A886 PRG:2886 25 69 - sta Zp69 ; CPU:$A888 PRG:2888 85 69 + and PlayerIndex ; CPU:$A886 PRG:2886 25 69 + sta PlayerIndex ; CPU:$A888 PRG:2888 85 69 lsr a ; CPU:$A88A PRG:288A 4A tay ; CPU:$A88B PRG:288B A8 lda $9B6B,y ; CPU:$A88C PRG:288C B9 6B 9B sta Zp68 ; CPU:$A88F PRG:288F 85 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop112 -; Global: Branch target inside NmiHandler: taken when Loop112. +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop112: +NmiHandler_Loop160: sta Zp21 ; CPU:$A891 PRG:2891 85 21 rts ; CPU:$A893 PRG:2893 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop113 -; Global: Branch target inside NmiHandler: taken when Loop113. +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop113: +NmiHandler_Loop161: lda Zp67 ; CPU:$A894 PRG:2894 A5 67 - beq NmiHandler_Loop114 ; CPU:$A896 PRG:2896 F0 10 + beq NmiHandler_Loop162 ; CPU:$A896 PRG:2896 F0 10 lda Zp21 ; CPU:$A898 PRG:2898 A5 21 - bne NmiHandler_Loop114 ; CPU:$A89A PRG:289A D0 0C + bne NmiHandler_Loop162 ; CPU:$A89A PRG:289A D0 0C lda #$06 ; CPU:$A89C PRG:289C A9 06 sta Zp21 ; CPU:$A89E PRG:289E 85 21 dec Zp68 ; CPU:$A8A0 PRG:28A0 C6 68 - bpl NmiHandler_Loop114 ; CPU:$A8A2 PRG:28A2 10 04 + bpl NmiHandler_Loop162 ; CPU:$A8A2 PRG:28A2 10 04 lda #$01 ; CPU:$A8A4 PRG:28A4 A9 01 sta Zp68 ; CPU:$A8A6 PRG:28A6 85 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop114 -; Global: Branch target inside NmiHandler: taken when Loop114. +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop114: +NmiHandler_Loop162: rts ; CPU:$A8A8 PRG:28A8 60 ; ----------------------------------------------------------------------------- ; Routine: Label_A8A9 @@ -3969,34 +5179,34 @@ NmiHandler_Loop114: ; ----------------------------------------------------------------------------- Label_A8A9: lda Zp21 ; CPU:$A8A9 PRG:28A9 A5 21 - bne NmiHandler_Loop116 ; CPU:$A8AB PRG:28AB D0 2E - lda Zp69 ; CPU:$A8AD PRG:28AD A5 69 + bne NmiHandler_Loop164 ; CPU:$A8AB PRG:28AB D0 2E + lda PlayerIndex ; CPU:$A8AD PRG:28AD A5 69 and #$F0 ; CPU:$A8AF PRG:28AF 29 F0 - beq NmiHandler_Loop115 ; CPU:$A8B1 PRG:28B1 F0 11 + beq NmiHandler_Loop163 ; CPU:$A8B1 PRG:28B1 F0 11 lda #$07 ; CPU:$A8B3 PRG:28B3 A9 07 sta Zp21 ; CPU:$A8B5 PRG:28B5 85 21 dec Zp68 ; CPU:$A8B7 PRG:28B7 C6 68 lda Zp68 ; CPU:$A8B9 PRG:28B9 A5 68 cmp #$04 ; CPU:$A8BB PRG:28BB C9 04 - bcs NmiHandler_Loop116 ; CPU:$A8BD PRG:28BD B0 1C + bcs NmiHandler_Loop164 ; CPU:$A8BD PRG:28BD B0 1C lda #$0F ; CPU:$A8BF PRG:28BF A9 0F jmp Sub_A886 ; CPU:$A8C1 PRG:28C1 4C 86 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop115 -; Global: Branch target inside NmiHandler: taken when Loop115. +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop115: +NmiHandler_Loop163: ldy Zp68 ; CPU:$A8C4 PRG:28C4 A4 68 lda $9B82,y ; CPU:$A8C6 PRG:28C6 B9 82 9B sta Zp21 ; CPU:$A8C9 PRG:28C9 85 21 lda $9B9C,y ; CPU:$A8CB PRG:28CB B9 9C 9B - sta ZpB6 ; CPU:$A8CE PRG:28CE 85 B6 + sta SpriteScore ; CPU:$A8CE PRG:28CE 85 B6 dec Zp68 ; CPU:$A8D0 PRG:28D0 C6 68 - bpl NmiHandler_Loop116 ; CPU:$A8D2 PRG:28D2 10 07 + bpl NmiHandler_Loop164 ; CPU:$A8D2 PRG:28D2 10 07 jsr Sub_A884 ; CPU:$A8D4 PRG:28D4 20 84 A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_A8D7 @@ -4010,26 +5220,40 @@ Sub_A8D7: lda #$00 ; CPU:$A8D7 PRG:28D7 A9 00 sta Zp67 ; CPU:$A8D9 PRG:28D9 85 67 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop116 -; Global: Branch target inside NmiHandler: taken when Loop116. +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop116: +NmiHandler_Loop164: rts ; CPU:$A8DB PRG:28DB 60 -; ---- data $A8DC-$A8E9 (14 bytes) ---- - .byte $A5, $69, $29, $03, $85, $69, $29, $02, $D0, $04, $A9, $01, $85, $68 ; CPU:$A8DC PRG:28DC A5 69 29 03 85 69 29 02 D0 04 A9 01 85 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero21 -; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Routine: Label_A8DC +; Global: Branch target inside Label: taken when A8DC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A8DC: + lda PlayerIndex ; CPU:$A8DC PRG:28DC A5 69 + and #$03 ; CPU:$A8DE PRG:28DE 29 03 + sta PlayerIndex ; CPU:$A8E0 PRG:28E0 85 69 + and #$02 ; CPU:$A8E2 PRG:28E2 29 02 + bne NmiHandler_OnNonzero28 ; CPU:$A8E4 PRG:28E4 D0 04 + lda #$01 ; CPU:$A8E6 PRG:28E6 A9 01 + sta Zp68 ; CPU:$A8E8 PRG:28E8 85 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero21: +NmiHandler_OnNonzero28: rts ; CPU:$A8EA PRG:28EA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A8EB @@ -4041,59 +5265,59 @@ NmiHandler_OnNonzero21: ; ----------------------------------------------------------------------------- Sub_A8EB: lda Zp52 ; CPU:$A8EB PRG:28EB A5 52 - beq NmiHandler_Loop118 ; CPU:$A8ED PRG:28ED F0 11 + beq NmiHandler_Loop166 ; CPU:$A8ED PRG:28ED F0 11 cmp #$1B ; CPU:$A8EF PRG:28EF C9 1B - bne NmiHandler_Loop117 ; CPU:$A8F1 PRG:28F1 D0 06 + bne NmiHandler_Loop165 ; CPU:$A8F1 PRG:28F1 D0 06 lda #$00 ; CPU:$A8F3 PRG:28F3 A9 00 sta Zp64 ; CPU:$A8F5 PRG:28F5 85 64 sta Zp62 ; CPU:$A8F7 PRG:28F7 85 62 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop117 -; Global: Branch target inside NmiHandler: taken when Loop117. +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop117: +NmiHandler_Loop165: sta $036E ; CPU:$A8F9 PRG:28F9 8D 6E 03 sta $036F ; CPU:$A8FC PRG:28FC 8D 6F 03 rts ; CPU:$A8FF PRG:28FF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop118 -; Global: Branch target inside NmiHandler: taken when Loop118. +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop118: +NmiHandler_Loop166: lda $038D ; CPU:$A900 PRG:2900 AD 8D 03 - bne NmiHandler_OnNonzero21 ; CPU:$A903 PRG:2903 D0 E5 - lda Zp69 ; CPU:$A905 PRG:2905 A5 69 + bne NmiHandler_OnNonzero28 ; CPU:$A903 PRG:2903 D0 E5 + lda PlayerIndex ; CPU:$A905 PRG:2905 A5 69 and #$F0 ; CPU:$A907 PRG:2907 29 F0 lsr a ; CPU:$A909 PRG:2909 4A lsr a ; CPU:$A90A PRG:290A 4A lsr a ; CPU:$A90B PRG:290B 4A tay ; CPU:$A90C PRG:290C A8 lda $9B09,y ; CPU:$A90D PRG:290D B9 09 9B - sta Zp00 ; CPU:$A910 PRG:2910 85 00 + sta VramWritePtrLo ; CPU:$A910 PRG:2910 85 00 lda $9B0A,y ; CPU:$A912 PRG:2912 B9 0A 9B - sta Zp01 ; CPU:$A915 PRG:2915 85 01 - lda Zp69 ; CPU:$A917 PRG:2917 A5 69 + sta VramWritePtrHi ; CPU:$A915 PRG:2915 85 01 + lda PlayerIndex ; CPU:$A917 PRG:2917 A5 69 and #$0E ; CPU:$A919 PRG:2919 29 0E tay ; CPU:$A91B PRG:291B A8 - lda (Zp00),y ; CPU:$A91C PRG:291C B1 00 - sta Zp02 ; CPU:$A91E PRG:291E 85 02 + lda (VramWritePtrLo),y ; CPU:$A91C PRG:291C B1 00 + sta DispatchPtrLo ; CPU:$A91E PRG:291E 85 02 iny ; CPU:$A920 PRG:2920 C8 - lda (Zp00),y ; CPU:$A921 PRG:2921 B1 00 - sta Zp03 ; CPU:$A923 PRG:2923 85 03 - lda Zp69 ; CPU:$A925 PRG:2925 A5 69 + lda (VramWritePtrLo),y ; CPU:$A921 PRG:2921 B1 00 + sta DispatchPtrHi ; CPU:$A923 PRG:2923 85 03 + lda PlayerIndex ; CPU:$A925 PRG:2925 A5 69 lsr a ; CPU:$A927 PRG:2927 4A lda Zp68 ; CPU:$A928 PRG:2928 A5 68 rol a ; CPU:$A92A PRG:292A 2A tay ; CPU:$A92B PRG:292B A8 - lda (Zp02),y ; CPU:$A92C PRG:292C B1 02 + lda (DispatchPtrLo),y ; CPU:$A92C PRG:292C B1 02 sta Zp52 ; CPU:$A92E PRG:292E 85 52 lda #$00 ; CPU:$A930 PRG:2930 A9 00 sta $038F ; CPU:$A932 PRG:2932 8D 8F 03 @@ -4119,116 +5343,170 @@ Sub_A936: lda $04A6 ; CPU:$A936 PRG:2936 AD A6 04 bmi NmiHandler_OnNegative2 ; CPU:$A939 PRG:2939 30 FA jmp (Zp5A) ; CPU:$A93B PRG:293B 6C 5A 00 -; ---- data $A93E-$A97C (63 bytes) ---- - .byte $A5, $7E, $F0, $68, $A5, $A4, $F0, $0F, $C9, $03, $B0, $60, $4A, $B0, $0E, $A5 ; CPU:$A93E PRG:293E A5 7E F0 68 A5 A4 F0 0F C9 03 B0 60 4A B0 0E A5 - .byte $93, $C9, $30, $90, $08, $B0, $55, $A5, $93, $C9, $D0, $90, $4F, $A6, $7E, $CA ; CPU:$A94E PRG:294E 93 C9 30 90 08 B0 55 A5 93 C9 D0 90 4F A6 7E CA - .byte $F0, $14, $AD, $8F, $03, $D0, $0F, $A9, $01, $85, $7E, $A9, $9C, $85, $3C, $A5 ; CPU:$A95E PRG:295E F0 14 AD 8F 03 D0 0F A9 01 85 7E A9 9C 85 3C A5 - .byte $5F, $18, $69, $1C, $85, $52, $A2, $FF, $AC, $7C, $03, $A5, $5E, $F0, $0A ; CPU:$A96E PRG:296E 5F 18 69 1C 85 52 A2 FF AC 7C 03 A5 5E F0 0A ; ----------------------------------------------------------------------------- -; Routine: Label_A97D -; Global: Branch target inside Label: taken when A97D. +; Routine: Label_A93E +; Global: Branch target inside Label: taken when A93E. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_A97D: - lda Zp5F ; CPU:$A97D PRG:297D A5 5F - cmp #$04 ; CPU:$A97F PRG:297F C9 04 - beq NmiHandler_OnZero3 ; CPU:$A981 PRG:2981 F0 08 - cpy #$02 ; CPU:$A983 PRG:2983 C0 02 - bcc NmiHandler_Loop119 ; CPU:$A985 PRG:2985 90 23 +Label_A93E: + lda Zp7E ; CPU:$A93E PRG:293E A5 7E + beq NmiHandler_Loop171 ; CPU:$A940 PRG:2940 F0 68 + lda ZpA4 ; CPU:$A942 PRG:2942 A5 A4 + beq NmiHandler_Loop167 ; CPU:$A944 PRG:2944 F0 0F + cmp #$03 ; CPU:$A946 PRG:2946 C9 03 + bcs NmiHandler_Loop171 ; CPU:$A948 PRG:2948 B0 60 + lsr a ; CPU:$A94A PRG:294A 4A + bcs NmiHandler_Loop168 ; CPU:$A94B PRG:294B B0 0E + lda Zp93 ; CPU:$A94D PRG:294D A5 93 + cmp #$30 ; CPU:$A94F PRG:294F C9 30 + bcc NmiHandler_Loop168 ; CPU:$A951 PRG:2951 90 08 + bcs NmiHandler_Loop171 ; CPU:$A953 PRG:2953 B0 55 ; ----------------------------------------------------------------------------- -; Routine: Sub_A987 -; Global: Branch target inside Sub: taken when A987. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_A987: - cpy #$03 ; CPU:$A987 PRG:2987 C0 03 - bcc NmiHandler_Loop123 ; CPU:$A989 PRG:2989 90 72 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero3 -; Global: Branch target inside NmiHandler: taken when OnZero3. +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero3: +NmiHandler_Loop167: + lda Zp93 ; CPU:$A955 PRG:2955 A5 93 + cmp #$D0 ; CPU:$A957 PRG:2957 C9 D0 + bcc NmiHandler_Loop171 ; CPU:$A959 PRG:2959 90 4F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + ldx Zp7E ; CPU:$A95B PRG:295B A6 7E + dex ; CPU:$A95D PRG:295D CA + beq NmiHandler_Loop169 ; CPU:$A95E PRG:295E F0 14 + lda $038F ; CPU:$A960 PRG:2960 AD 8F 03 + bne NmiHandler_Loop169 ; CPU:$A963 PRG:2963 D0 0F + lda #$01 ; CPU:$A965 PRG:2965 A9 01 + sta Zp7E ; CPU:$A967 PRG:2967 85 7E + lda #$9C ; CPU:$A969 PRG:2969 A9 9C + sta Zp3C ; CPU:$A96B PRG:296B 85 3C + lda SpriteIndex ; CPU:$A96D PRG:296D A5 5F + clc ; CPU:$A96F PRG:296F 18 + adc #$1C ; CPU:$A970 PRG:2970 69 1C + sta Zp52 ; CPU:$A972 PRG:2972 85 52 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + ldx #$FF ; CPU:$A974 PRG:2974 A2 FF + ldy $037C ; CPU:$A976 PRG:2976 AC 7C 03 + lda Zp5E ; CPU:$A979 PRG:2979 A5 5E + beq NmiHandler_Loop170 ; CPU:$A97B PRG:297B F0 0A + lda SpriteIndex ; CPU:$A97D PRG:297D A5 5F + cmp #$04 ; CPU:$A97F PRG:297F C9 04 + beq NmiHandler_OnZero4 ; CPU:$A981 PRG:2981 F0 08 + cpy #$02 ; CPU:$A983 PRG:2983 C0 02 + bcc NmiHandler_Loop171 ; CPU:$A985 PRG:2985 90 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + cpy #$03 ; CPU:$A987 PRG:2987 C0 03 + bcc NmiHandler_Loop175 ; CPU:$A989 PRG:2989 90 72 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: inx ; CPU:$A98B PRG:298B E8 cpx #$04 ; CPU:$A98C PRG:298C E0 04 - bcs NmiHandler_Loop123 ; CPU:$A98E PRG:298E B0 6D - lda Zp87,x ; CPU:$A990 PRG:2990 B5 87 + bcs NmiHandler_Loop175 ; CPU:$A98E PRG:298E B0 6D + lda EnemyIndex,x ; CPU:$A990 PRG:2990 B5 87 cmp #$02 ; CPU:$A992 PRG:2992 C9 02 - bcs NmiHandler_OnZero3 ; CPU:$A994 PRG:2994 B0 F5 - lda Zp80,x ; CPU:$A996 PRG:2996 B5 80 - beq NmiHandler_OnZero3 ; CPU:$A998 PRG:2998 F0 F1 + bcs NmiHandler_OnZero4 ; CPU:$A994 PRG:2994 B0 F5 + lda SpriteTimer,x ; CPU:$A996 PRG:2996 B5 80 + beq NmiHandler_OnZero4 ; CPU:$A998 PRG:2998 F0 F1 bit $9B5F ; CPU:$A99A PRG:299A 2C 5F 9B - bne NmiHandler_OnZero3 ; CPU:$A99D PRG:299D D0 EC + bne NmiHandler_OnZero4 ; CPU:$A99D PRG:299D D0 EC and #$02 ; CPU:$A99F PRG:299F 29 02 lsr a ; CPU:$A9A1 PRG:29A1 4A eor #$01 ; CPU:$A9A2 PRG:29A2 49 01 - sta ZpC0,x ; CPU:$A9A4 PRG:29A4 95 C0 + sta GameState,x ; CPU:$A9A4 PRG:29A4 95 C0 dey ; CPU:$A9A6 PRG:29A6 88 - jmp Sub_A987 ; CPU:$A9A7 PRG:29A7 4C 87 A9 + jmp NmiHandler_Loop170 ; CPU:$A9A7 PRG:29A7 4C 87 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop119 -; Global: Branch target inside NmiHandler: taken when Loop119. +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop119: +NmiHandler_Loop171: lda $039B ; CPU:$A9AA PRG:29AA AD 9B 03 - bne NmiHandler_Loop123 ; CPU:$A9AD PRG:29AD D0 4E - sta Zp01 ; CPU:$A9AF PRG:29AF 85 01 - ldy Zp5F ; CPU:$A9B1 PRG:29B1 A4 5F + bne NmiHandler_Loop175 ; CPU:$A9AD PRG:29AD D0 4E + sta VramWritePtrHi ; CPU:$A9AF PRG:29AF 85 01 + ldy SpriteIndex ; CPU:$A9B1 PRG:29B1 A4 5F lda $A2EC,y ; CPU:$A9B3 PRG:29B3 B9 EC A2 sta Zp05 ; CPU:$A9B6 PRG:29B6 85 05 lda $A2F1,y ; CPU:$A9B8 PRG:29B8 B9 F1 A2 sta Zp06 ; CPU:$A9BB PRG:29BB 85 06 ldy Zp74 ; CPU:$A9BD PRG:29BD A4 74 lda Zp33 ; CPU:$A9BF PRG:29BF A5 33 - bne NmiHandler_Loop123 ; CPU:$A9C1 PRG:29C1 D0 3A + bne NmiHandler_Loop175 ; CPU:$A9C1 PRG:29C1 D0 3A lda Zp4A ; CPU:$A9C3 PRG:29C3 A5 4A - beq NmiHandler_Loop120 ; CPU:$A9C5 PRG:29C5 F0 03 + beq NmiHandler_Loop172 ; CPU:$A9C5 PRG:29C5 F0 03 dec Zp4A ; CPU:$A9C7 PRG:29C7 C6 4A rts ; CPU:$A9C9 PRG:29C9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop120 -; Global: Branch target inside NmiHandler: taken when Loop120. +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop120: +NmiHandler_Loop172: lda Zp75 ; CPU:$A9CA PRG:29CA A5 75 - bne NmiHandler_Loop124 ; CPU:$A9CC PRG:29CC D0 30 + bne NmiHandler_Loop176 ; CPU:$A9CC PRG:29CC D0 30 lda (Zp05),y ; CPU:$A9CE PRG:29CE B1 05 bit $9B5F ; CPU:$A9D0 PRG:29D0 2C 5F 9B - bne NmiHandler_Loop123 ; CPU:$A9D3 PRG:29D3 D0 28 + bne NmiHandler_Loop175 ; CPU:$A9D3 PRG:29D3 D0 28 pha ; CPU:$A9D5 PRG:29D5 48 and #$03 ; CPU:$A9D6 PRG:29D6 29 03 - beq NmiHandler_Loop121 ; CPU:$A9D8 PRG:29D8 F0 02 + beq NmiHandler_Loop173 ; CPU:$A9D8 PRG:29D8 F0 02 lda #$10 ; CPU:$A9DA PRG:29DA A9 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop121 -; Global: Branch target inside NmiHandler: taken when Loop121. +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop121: - sta Zp02 ; CPU:$A9DC PRG:29DC 85 02 +NmiHandler_Loop173: + sta DispatchPtrLo ; CPU:$A9DC PRG:29DC 85 02 lda Zp1B ; CPU:$A9DE PRG:29DE A5 1B and #$0C ; CPU:$A9E0 PRG:29E0 29 0C - ora Zp02 ; CPU:$A9E2 PRG:29E2 05 02 + ora DispatchPtrLo ; CPU:$A9E2 PRG:29E2 05 02 sta Zp76 ; CPU:$A9E4 PRG:29E4 85 76 pla ; CPU:$A9E6 PRG:29E6 68 lsr a ; CPU:$A9E7 PRG:29E7 4A @@ -4238,62 +5516,62 @@ NmiHandler_Loop121: sta Zp77 ; CPU:$A9EC PRG:29EC 85 77 ldx #$04 ; CPU:$A9EE PRG:29EE A2 04 lda Zp5E ; CPU:$A9F0 PRG:29F0 A5 5E - bne NmiHandler_Loop122 ; CPU:$A9F2 PRG:29F2 D0 07 - lda Zp5F ; CPU:$A9F4 PRG:29F4 A5 5F + bne NmiHandler_Loop174 ; CPU:$A9F2 PRG:29F2 D0 07 + lda SpriteIndex ; CPU:$A9F4 PRG:29F4 A5 5F cmp #$02 ; CPU:$A9F6 PRG:29F6 C9 02 - bcs NmiHandler_Loop122 ; CPU:$A9F8 PRG:29F8 B0 01 + bcs NmiHandler_Loop174 ; CPU:$A9F8 PRG:29F8 B0 01 dex ; CPU:$A9FA PRG:29FA CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop122 -; Global: Branch target inside NmiHandler: taken when Loop122. +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop122: +NmiHandler_Loop174: stx Zp75 ; CPU:$A9FB PRG:29FB 86 75 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop123 -; Global: Branch target inside NmiHandler: taken when Loop123. +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop123: +NmiHandler_Loop175: rts ; CPU:$A9FD PRG:29FD 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop124 -; Global: Branch target inside NmiHandler: taken when Loop124. +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop124: +NmiHandler_Loop176: ldx Zp75 ; CPU:$A9FE PRG:29FE A6 75 dex ; CPU:$AA00 PRG:2A00 CA stx Zp04 ; CPU:$AA01 PRG:2A01 86 04 lda Zp77 ; CPU:$AA03 PRG:2A03 A5 77 ldy Zp3B ; CPU:$AA05 PRG:2A05 A4 3B - bne NmiHandler_Loop125 ; CPU:$AA07 PRG:2A07 D0 02 + bne NmiHandler_Loop177 ; CPU:$AA07 PRG:2A07 D0 02 lda #$02 ; CPU:$AA09 PRG:2A09 A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop125 -; Global: Branch target inside NmiHandler: taken when Loop125. +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop125: +NmiHandler_Loop177: asl a ; CPU:$AA0B PRG:2A0B 0A asl a ; CPU:$AA0C PRG:2A0C 0A ora Zp04 ; CPU:$AA0D PRG:2A0D 05 04 tay ; CPU:$AA0F PRG:2A0F A8 lda $A2D4,y ; CPU:$AA10 PRG:2A10 B9 D4 A2 - eor Zp69 ; CPU:$AA13 PRG:2A13 45 69 + eor PlayerIndex ; CPU:$AA13 PRG:2A13 45 69 and #$01 ; CPU:$AA15 PRG:2A15 29 01 tay ; CPU:$AA17 PRG:2A17 A8 ; ----------------------------------------------------------------------------- @@ -4305,293 +5583,293 @@ NmiHandler_Loop125: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AA18: - sty Zp00 ; CPU:$AA18 PRG:2A18 84 00 + sty VramWritePtrLo ; CPU:$AA18 PRG:2A18 84 00 tya ; CPU:$AA1A PRG:2A1A 98 eor #$01 ; CPU:$AA1B PRG:2A1B 49 01 tay ; CPU:$AA1D PRG:2A1D A8 sty Zp07 ; CPU:$AA1E PRG:2A1E 84 07 lda $9B5D,y ; CPU:$AA20 PRG:2A20 B9 5D 9B bit $0380 ; CPU:$AA23 PRG:2A23 2C 80 03 - bne NmiHandler_Loop128 ; CPU:$AA26 PRG:2A26 D0 36 + bne NmiHandler_Loop180 ; CPU:$AA26 PRG:2A26 D0 36 ldx $0387 ; CPU:$AA28 PRG:2A28 AE 87 03 - lda Zp80,x ; CPU:$AA2B PRG:2A2B B5 80 - beq NmiHandler_Loop126 ; CPU:$AA2D PRG:2A2D F0 06 - lda Zp9F,x ; CPU:$AA2F PRG:2A2F B5 9F + lda SpriteTimer,x ; CPU:$AA2B PRG:2A2B B5 80 + beq NmiHandler_Loop178 ; CPU:$AA2D PRG:2A2D F0 06 + lda GameMode,x ; CPU:$AA2F PRG:2A2F B5 9F cmp #$01 ; CPU:$AA31 PRG:2A31 C9 01 - bne NmiHandler_Loop128 ; CPU:$AA33 PRG:2A33 D0 29 + bne NmiHandler_Loop180 ; CPU:$AA33 PRG:2A33 D0 29 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop126 -; Global: Branch target inside NmiHandler: taken when Loop126. +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop126: +NmiHandler_Loop178: ldy $0372 ; CPU:$AA35 PRG:2A35 AC 72 03 - lda Zp00 ; CPU:$AA38 PRG:2A38 A5 00 - beq NmiHandler_Loop127 ; CPU:$AA3A PRG:2A3A F0 12 + lda VramWritePtrLo ; CPU:$AA38 PRG:2A38 A5 00 + beq NmiHandler_Loop179 ; CPU:$AA3A PRG:2A3A F0 12 lda Zp65 ; CPU:$AA3C PRG:2A3C A5 65 cmp $A298,y ; CPU:$AA3E PRG:2A3E D9 98 A2 - bcc NmiHandler_Loop129 ; CPU:$AA41 PRG:2A41 90 2A - bne NmiHandler_Loop128 ; CPU:$AA43 PRG:2A43 D0 19 + bcc NmiHandler_Loop181 ; CPU:$AA41 PRG:2A41 90 2A + bne NmiHandler_Loop180 ; CPU:$AA43 PRG:2A43 D0 19 lda Zp12 ; CPU:$AA45 PRG:2A45 A5 12 cmp $A29A,y ; CPU:$AA47 PRG:2A47 D9 9A A2 - bcc NmiHandler_Loop129 ; CPU:$AA4A PRG:2A4A 90 21 - bcs NmiHandler_Loop128 ; CPU:$AA4C PRG:2A4C B0 10 + bcc NmiHandler_Loop181 ; CPU:$AA4A PRG:2A4A 90 21 + bcs NmiHandler_Loop180 ; CPU:$AA4C PRG:2A4C B0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop127 -; Global: Branch target inside NmiHandler: taken when Loop127. +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop127: +NmiHandler_Loop179: lda Zp65 ; CPU:$AA4E PRG:2A4E A5 65 cmp $A29C,y ; CPU:$AA50 PRG:2A50 D9 9C A2 - bcc NmiHandler_Loop128 ; CPU:$AA53 PRG:2A53 90 09 - bne NmiHandler_Loop129 ; CPU:$AA55 PRG:2A55 D0 16 + bcc NmiHandler_Loop180 ; CPU:$AA53 PRG:2A53 90 09 + bne NmiHandler_Loop181 ; CPU:$AA55 PRG:2A55 D0 16 lda Zp12 ; CPU:$AA57 PRG:2A57 A5 12 cmp $A29E,y ; CPU:$AA59 PRG:2A59 D9 9E A2 - bcs NmiHandler_Loop129 ; CPU:$AA5C PRG:2A5C B0 0F + bcs NmiHandler_Loop181 ; CPU:$AA5C PRG:2A5C B0 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop128 -; Global: Branch target inside NmiHandler: taken when Loop128. +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop128: - lda Zp01 ; CPU:$AA5E PRG:2A5E A5 01 - bne NmiHandler_Loop130 ; CPU:$AA60 PRG:2A60 D0 10 +NmiHandler_Loop180: + lda VramWritePtrHi ; CPU:$AA5E PRG:2A5E A5 01 + bne NmiHandler_Loop182 ; CPU:$AA60 PRG:2A60 D0 10 ldy Zp07 ; CPU:$AA62 PRG:2A62 A4 07 - sty Zp00 ; CPU:$AA64 PRG:2A64 84 00 + sty VramWritePtrLo ; CPU:$AA64 PRG:2A64 84 00 lda #$FF ; CPU:$AA66 PRG:2A66 A9 FF - sta Zp01 ; CPU:$AA68 PRG:2A68 85 01 + sta VramWritePtrHi ; CPU:$AA68 PRG:2A68 85 01 jmp Sub_AA18 ; CPU:$AA6A PRG:2A6A 4C 18 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop129 -; Global: Branch target inside NmiHandler: taken when Loop129. +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop129: +NmiHandler_Loop181: jsr Sub_ACD4 ; CPU:$AA6D PRG:2A6D 20 D4 AC - bcc NmiHandler_Loop131 ; CPU:$AA70 PRG:2A70 90 01 + bcc NmiHandler_Loop183 ; CPU:$AA70 PRG:2A70 90 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop130 -; Global: Branch target inside NmiHandler: taken when Loop130. +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop130: +NmiHandler_Loop182: rts ; CPU:$AA72 PRG:2A72 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop131 -; Global: Branch target inside NmiHandler: taken when Loop131. +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop131: +NmiHandler_Loop183: stx $0387 ; CPU:$AA73 PRG:2A73 8E 87 03 inc $037C ; CPU:$AA76 PRG:2A76 EE 7C 03 lda Zp74 ; CPU:$AA79 PRG:2A79 A5 74 clc ; CPU:$AA7B PRG:2A7B 18 - adc Zp00 ; CPU:$AA7C PRG:2A7C 65 00 + adc VramWritePtrLo ; CPU:$AA7C PRG:2A7C 65 00 cmp #$4A ; CPU:$AA7E PRG:2A7E C9 4A - bcc NmiHandler_Loop132 ; CPU:$AA80 PRG:2A80 90 02 + bcc NmiHandler_Loop184 ; CPU:$AA80 PRG:2A80 90 02 lda #$4A ; CPU:$AA82 PRG:2A82 A9 4A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop132 -; Global: Branch target inside NmiHandler: taken when Loop132. +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop132: +NmiHandler_Loop184: tay ; CPU:$AA84 PRG:2A84 A8 lda (Zp05),y ; CPU:$AA85 PRG:2A85 B1 05 and #$C0 ; CPU:$AA87 PRG:2A87 29 C0 - beq NmiHandler_Loop134 ; CPU:$AA89 PRG:2A89 F0 0C + beq NmiHandler_Loop186 ; CPU:$AA89 PRG:2A89 F0 0C ldy #$01 ; CPU:$AA8B PRG:2A8B A0 01 and #$80 ; CPU:$AA8D PRG:2A8D 29 80 - beq NmiHandler_Loop133 ; CPU:$AA8F PRG:2A8F F0 05 + beq NmiHandler_Loop185 ; CPU:$AA8F PRG:2A8F F0 05 lda Zp18,x ; CPU:$AA91 PRG:2A91 B5 18 and #$01 ; CPU:$AA93 PRG:2A93 29 01 tay ; CPU:$AA95 PRG:2A95 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop133 -; Global: Branch target inside NmiHandler: taken when Loop133. +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop133: +NmiHandler_Loop185: tya ; CPU:$AA96 PRG:2A96 98 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop134 -; Global: Branch target inside NmiHandler: taken when Loop134. +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop134: - sta Zp87,x ; CPU:$AA97 PRG:2A97 95 87 +NmiHandler_Loop186: + sta EnemyIndex,x ; CPU:$AA97 PRG:2A97 95 87 lda Zp07 ; CPU:$AA99 PRG:2A99 A5 07 - sta ZpC0,x ; CPU:$AA9B PRG:2A9B 95 C0 + sta GameState,x ; CPU:$AA9B PRG:2A9B 95 C0 tay ; CPU:$AA9D PRG:2A9D A8 asl a ; CPU:$AA9E PRG:2A9E 0A ora #$01 ; CPU:$AA9F PRG:2A9F 09 01 - sta Zp80,x ; CPU:$AAA1 PRG:2AA1 95 80 + sta SpriteTimer,x ; CPU:$AAA1 PRG:2AA1 95 80 lda #$87 ; CPU:$AAA3 PRG:2AA3 A9 87 - sta ZpB0,x ; CPU:$AAA5 PRG:2AA5 95 B0 + sta PlayerX,x ; CPU:$AAA5 PRG:2AA5 95 B0 lda Zp65 ; CPU:$AAA7 PRG:2AA7 A5 65 cpy #$01 ; CPU:$AAA9 PRG:2AA9 C0 01 - beq NmiHandler_Loop135 ; CPU:$AAAB PRG:2AAB F0 03 + beq NmiHandler_Loop187 ; CPU:$AAAB PRG:2AAB F0 03 clc ; CPU:$AAAD PRG:2AAD 18 adc #$02 ; CPU:$AAAE PRG:2AAE 69 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop135 -; Global: Branch target inside NmiHandler: taken when Loop135. +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop135: - sta ZpDF,x ; CPU:$AAB0 PRG:2AB0 95 DF +NmiHandler_Loop187: + sta EnemyHealth,x ; CPU:$AAB0 PRG:2AB0 95 DF lda Zp12 ; CPU:$AAB2 PRG:2AB2 A5 12 sec ; CPU:$AAB4 PRG:2AB4 38 sbc $A296,y ; CPU:$AAB5 PRG:2AB5 F9 96 A2 sta ZpCE,x ; CPU:$AAB8 PRG:2AB8 95 CE - bcs NmiHandler_Loop136 ; CPU:$AABA PRG:2ABA B0 02 - dec ZpDF,x ; CPU:$AABC PRG:2ABC D6 DF + bcs NmiHandler_Loop188 ; CPU:$AABA PRG:2ABA B0 02 + dec EnemyHealth,x ; CPU:$AABC PRG:2ABC D6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop136 -; Global: Branch target inside NmiHandler: taken when Loop136. +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop136: +NmiHandler_Loop188: lda #$38 ; CPU:$AABE PRG:2ABE A9 38 ldy Zp3B ; CPU:$AAC0 PRG:2AC0 A4 3B - beq NmiHandler_Loop137 ; CPU:$AAC2 PRG:2AC2 F0 08 + beq NmiHandler_Loop189 ; CPU:$AAC2 PRG:2AC2 F0 08 lda Zp76 ; CPU:$AAC4 PRG:2AC4 A5 76 ora Zp04 ; CPU:$AAC6 PRG:2AC6 05 04 tay ; CPU:$AAC8 PRG:2AC8 A8 lda $A2B4,y ; CPU:$AAC9 PRG:2AC9 B9 B4 A2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop137 -; Global: Branch target inside NmiHandler: taken when Loop137. +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop137: +NmiHandler_Loop189: sta Zp33 ; CPU:$AACC PRG:2ACC 85 33 dec Zp75 ; CPU:$AACE PRG:2ACE C6 75 - bne NmiHandler_Loop139 ; CPU:$AAD0 PRG:2AD0 D0 17 - lda Zp5F ; CPU:$AAD2 PRG:2AD2 A5 5F + bne NmiHandler_Loop191 ; CPU:$AAD0 PRG:2AD0 D0 17 + lda SpriteIndex ; CPU:$AAD2 PRG:2AD2 A5 5F asl a ; CPU:$AAD4 PRG:2AD4 0A asl a ; CPU:$AAD5 PRG:2AD5 0A - sta Zp03 ; CPU:$AAD6 PRG:2AD6 85 03 + sta DispatchPtrHi ; CPU:$AAD6 PRG:2AD6 85 03 lda ZpBE ; CPU:$AAD8 PRG:2AD8 A5 BE - ora Zp03 ; CPU:$AADA PRG:2ADA 05 03 + ora DispatchPtrHi ; CPU:$AADA PRG:2ADA 05 03 tay ; CPU:$AADC PRG:2ADC A8 lda $A2A0,y ; CPU:$AADD PRG:2ADD B9 A0 A2 ldx Zp6B ; CPU:$AAE0 PRG:2AE0 A6 6B - bne NmiHandler_Loop138 ; CPU:$AAE2 PRG:2AE2 D0 03 + bne NmiHandler_Loop190 ; CPU:$AAE2 PRG:2AE2 D0 03 clc ; CPU:$AAE4 PRG:2AE4 18 adc #$30 ; CPU:$AAE5 PRG:2AE5 69 30 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop138 -; Global: Branch target inside NmiHandler: taken when Loop138. +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop138: +NmiHandler_Loop190: sta Zp4A ; CPU:$AAE7 PRG:2AE7 85 4A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop139 -; Global: Branch target inside NmiHandler: taken when Loop139. +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop139: +NmiHandler_Loop191: ldx Zp07 ; CPU:$AAE9 PRG:2AE9 A6 07 - lda Zp5F ; CPU:$AAEB PRG:2AEB A5 5F + lda SpriteIndex ; CPU:$AAEB PRG:2AEB A5 5F cmp #$04 ; CPU:$AAED PRG:2AED C9 04 - bne NmiHandler_Loop140 ; CPU:$AAEF PRG:2AEF D0 06 + bne NmiHandler_Loop192 ; CPU:$AAEF PRG:2AEF D0 06 lda Zp65 ; CPU:$AAF1 PRG:2AF1 A5 65 cmp #$02 ; CPU:$AAF3 PRG:2AF3 C9 02 - bcc NmiHandler_Loop141 ; CPU:$AAF5 PRG:2AF5 90 28 + bcc NmiHandler_Loop193 ; CPU:$AAF5 PRG:2AF5 90 28 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop140 -; Global: Branch target inside NmiHandler: taken when Loop140. +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop140: +NmiHandler_Loop192: lda #$02 ; CPU:$AAF7 PRG:2AF7 A9 02 dec $037E,x ; CPU:$AAF9 PRG:2AF9 DE 7E 03 - beq NmiHandler_Loop142 ; CPU:$AAFC PRG:2AFC F0 22 + beq NmiHandler_Loop194 ; CPU:$AAFC PRG:2AFC F0 22 ldx $0387 ; CPU:$AAFE PRG:2AFE AE 87 03 - lda Zp87,x ; CPU:$AB01 PRG:2B01 B5 87 - beq NmiHandler_Loop141 ; CPU:$AB03 PRG:2B03 F0 1A + lda EnemyIndex,x ; CPU:$AB01 PRG:2B01 B5 87 + beq NmiHandler_Loop193 ; CPU:$AB03 PRG:2B03 F0 1A lda ZpBE ; CPU:$AB05 PRG:2B05 A5 BE asl a ; CPU:$AB07 PRG:2B07 0A asl a ; CPU:$AB08 PRG:2B08 0A - sta Zp00 ; CPU:$AB09 PRG:2B09 85 00 - ldy Zp5F ; CPU:$AB0B PRG:2B0B A4 5F + sta VramWritePtrLo ; CPU:$AB09 PRG:2B09 85 00 + ldy SpriteIndex ; CPU:$AB0B PRG:2B0B A4 5F dey ; CPU:$AB0D PRG:2B0D 88 tya ; CPU:$AB0E PRG:2B0E 98 - ora Zp00 ; CPU:$AB0F PRG:2B0F 05 00 - beq NmiHandler_Loop141 ; CPU:$AB11 PRG:2B11 F0 0C + ora VramWritePtrLo ; CPU:$AB0F PRG:2B0F 05 00 + beq NmiHandler_Loop193 ; CPU:$AB11 PRG:2B11 F0 0C tay ; CPU:$AB13 PRG:2B13 A8 lda Zp18,x ; CPU:$AB14 PRG:2B14 B5 18 cmp $A170,y ; CPU:$AB16 PRG:2B16 D9 70 A1 - bcc NmiHandler_Loop141 ; CPU:$AB19 PRG:2B19 90 04 + bcc NmiHandler_Loop193 ; CPU:$AB19 PRG:2B19 90 04 lda #$11 ; CPU:$AB1B PRG:2B1B A9 11 - sta Zp80,x ; CPU:$AB1D PRG:2B1D 95 80 + sta SpriteTimer,x ; CPU:$AB1D PRG:2B1D 95 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop141 -; Global: Branch target inside NmiHandler: taken when Loop141. +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop141: +NmiHandler_Loop193: rts ; CPU:$AB1F PRG:2B1F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop142 -; Global: Branch target inside NmiHandler: taken when Loop142. +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop142: +NmiHandler_Loop194: ldy Zp07 ; CPU:$AB20 PRG:2B20 A4 07 lda $9B5D,y ; CPU:$AB22 PRG:2B22 B9 5D 9B ora $0380 ; CPU:$AB25 PRG:2B25 0D 80 03 @@ -4600,79 +5878,147 @@ NmiHandler_Loop142: sta $037E,y ; CPU:$AB2E PRG:2B2E 99 7E 03 ldx $0387 ; CPU:$AB31 PRG:2B31 AE 87 03 lda #$02 ; CPU:$AB34 PRG:2B34 A9 02 - sta Zp87,x ; CPU:$AB36 PRG:2B36 95 87 + sta EnemyIndex,x ; CPU:$AB36 PRG:2B36 95 87 lsr a ; CPU:$AB38 PRG:2B38 4A sta $04A0,x ; CPU:$AB39 PRG:2B39 9D A0 04 jmp Sub_BDC4 ; CPU:$AB3C PRG:2B3C 4C C4 BD -; ---- data $AB3F-$AB75 (55 bytes) ---- - .byte $A5, $65, $C9, $03, $90, $03, $20, $0E, $86, $A5, $3D, $D0, $D3, $20, $D4, $AC ; CPU:$AB3F PRG:2B3F A5 65 C9 03 90 03 20 0E 86 A5 3D D0 D3 20 D4 AC - .byte $B0, $CE, $A4, $78, $C0, $05, $B0, $06, $A5, $49, $C9, $F8, $90, $08, $B5, $18 ; CPU:$AB4F PRG:2B4F B0 CE A4 78 C0 05 B0 06 A5 49 C9 F8 90 08 B5 18 - .byte $29, $0F, $18, $69, $05, $A8, $E6, $78, $B9, $84, $A1, $C9, $0D, $D0, $22, $85 ; CPU:$AB5F PRG:2B5F 29 0F 18 69 05 A8 E6 78 B9 84 A1 C9 0D D0 22 85 - .byte $00, $8A, $48, $A2, $03, $A0, $00 ; CPU:$AB6F PRG:2B6F 00 8A 48 A2 03 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative13 -; Global: Branch target inside NmiHandler: taken when OnNonnegative13. +; Routine: Label_AB3F +; Global: Branch target inside Label: taken when AB3F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB3F: + lda Zp65 ; CPU:$AB3F PRG:2B3F A5 65 + cmp #$03 ; CPU:$AB41 PRG:2B41 C9 03 + bcc NmiHandler_Loop195 ; CPU:$AB43 PRG:2B43 90 03 + jsr Sub_860E ; CPU:$AB45 PRG:2B45 20 0E 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative13: - lda Zp87,x ; CPU:$AB76 PRG:2B76 B5 87 +NmiHandler_Loop195: + lda Zp3D ; CPU:$AB48 PRG:2B48 A5 3D + bne NmiHandler_Loop193 ; CPU:$AB4A PRG:2B4A D0 D3 + jsr Sub_ACD4 ; CPU:$AB4C PRG:2B4C 20 D4 AC + bcs NmiHandler_Loop193 ; CPU:$AB4F PRG:2B4F B0 CE + ldy Zp78 ; CPU:$AB51 PRG:2B51 A4 78 + cpy #$05 ; CPU:$AB53 PRG:2B53 C0 05 + bcs NmiHandler_Loop196 ; CPU:$AB55 PRG:2B55 B0 06 + lda Zp49 ; CPU:$AB57 PRG:2B57 A5 49 + cmp #$F8 ; CPU:$AB59 PRG:2B59 C9 F8 + bcc NmiHandler_Loop197 ; CPU:$AB5B PRG:2B5B 90 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + lda Zp18,x ; CPU:$AB5D PRG:2B5D B5 18 + and #$0F ; CPU:$AB5F PRG:2B5F 29 0F + clc ; CPU:$AB61 PRG:2B61 18 + adc #$05 ; CPU:$AB62 PRG:2B62 69 05 + tay ; CPU:$AB64 PRG:2B64 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + inc Zp78 ; CPU:$AB65 PRG:2B65 E6 78 + lda $A184,y ; CPU:$AB67 PRG:2B67 B9 84 A1 + cmp #$0D ; CPU:$AB6A PRG:2B6A C9 0D + bne NmiHandler_Loop201 ; CPU:$AB6C PRG:2B6C D0 22 + sta VramWritePtrLo ; CPU:$AB6E PRG:2B6E 85 00 + txa ; CPU:$AB70 PRG:2B70 8A + pha ; CPU:$AB71 PRG:2B71 48 + ldx #$03 ; CPU:$AB72 PRG:2B72 A2 03 + ldy #$00 ; CPU:$AB74 PRG:2B74 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative20 +; Global: Branch target inside NmiHandler: taken when OnNonnegative20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative20: + lda EnemyIndex,x ; CPU:$AB76 PRG:2B76 B5 87 cmp #$0D ; CPU:$AB78 PRG:2B78 C9 0D - beq NmiHandler_Loop143 ; CPU:$AB7A PRG:2B7A F0 04 + beq NmiHandler_Loop198 ; CPU:$AB7A PRG:2B7A F0 04 cmp #$0E ; CPU:$AB7C PRG:2B7C C9 0E - bne NmiHandler_Loop144 ; CPU:$AB7E PRG:2B7E D0 01 + bne NmiHandler_Loop199 ; CPU:$AB7E PRG:2B7E D0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop143 -; Global: Branch target inside NmiHandler: taken when Loop143. +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop143: +NmiHandler_Loop198: iny ; CPU:$AB80 PRG:2B80 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop144 -; Global: Branch target inside NmiHandler: taken when Loop144. +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop144: +NmiHandler_Loop199: dex ; CPU:$AB81 PRG:2B81 CA - bpl NmiHandler_OnNonnegative13 ; CPU:$AB82 PRG:2B82 10 F2 + bpl NmiHandler_OnNonnegative20 ; CPU:$AB82 PRG:2B82 10 F2 cpy #$02 ; CPU:$AB84 PRG:2B84 C0 02 - bcc NmiHandler_Loop145 ; CPU:$AB86 PRG:2B86 90 04 + bcc NmiHandler_Loop200 ; CPU:$AB86 PRG:2B86 90 04 lda #$0F ; CPU:$AB88 PRG:2B88 A9 0F - sta Zp00 ; CPU:$AB8A PRG:2B8A 85 00 + sta VramWritePtrLo ; CPU:$AB8A PRG:2B8A 85 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop145 -; Global: Branch target inside NmiHandler: taken when Loop145. +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop145: +NmiHandler_Loop200: pla ; CPU:$AB8C PRG:2B8C 68 tax ; CPU:$AB8D PRG:2B8D AA - lda Zp00 ; CPU:$AB8E PRG:2B8E A5 00 - sta Zp87,x ; CPU:$AB90 PRG:2B90 95 87 + lda VramWritePtrLo ; CPU:$AB8E PRG:2B8E A5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + sta EnemyIndex,x ; CPU:$AB90 PRG:2B90 95 87 lda Zp19,x ; CPU:$AB92 PRG:2B92 B5 19 and #$0F ; CPU:$AB94 PRG:2B94 29 0F tay ; CPU:$AB96 PRG:2B96 A8 lda ZpE5 ; CPU:$AB97 PRG:2B97 A5 E5 - sta ZpDF,x ; CPU:$AB99 PRG:2B99 95 DF + sta EnemyHealth,x ; CPU:$AB99 PRG:2B99 95 DF lda Zp67 ; CPU:$AB9B PRG:2B9B A5 67 - beq NmiHandler_Loop146 ; CPU:$AB9D PRG:2B9D F0 17 + beq NmiHandler_Loop202 ; CPU:$AB9D PRG:2B9D F0 17 lda $A1A9,y ; CPU:$AB9F PRG:2B9F B9 A9 A1 - sta Zp00 ; CPU:$ABA2 PRG:2BA2 85 00 - lda Zp69 ; CPU:$ABA4 PRG:2BA4 A5 69 + sta VramWritePtrLo ; CPU:$ABA2 PRG:2BA2 85 00 + lda PlayerIndex ; CPU:$ABA4 PRG:2BA4 A5 69 and #$01 ; CPU:$ABA6 PRG:2BA6 29 01 - bne NmiHandler_Loop148 ; CPU:$ABA8 PRG:2BA8 D0 24 + bne NmiHandler_Loop204 ; CPU:$ABA8 PRG:2BA8 D0 24 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet ; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. @@ -4684,163 +6030,329 @@ NmiHandler_Loop145: NmiHandler_OnCarrySet: lda ZpD4 ; CPU:$ABAA PRG:2BAA A5 D4 sec ; CPU:$ABAC PRG:2BAC 38 - sbc Zp00 ; CPU:$ABAD PRG:2BAD E5 00 - bcs NmiHandler_Loop149 ; CPU:$ABAF PRG:2BAF B0 26 - dec ZpDF,x ; CPU:$ABB1 PRG:2BB1 D6 DF - jmp NmiHandler_Loop149 ; CPU:$ABB3 PRG:2BB3 4C D7 AB + sbc VramWritePtrLo ; CPU:$ABAD PRG:2BAD E5 00 + bcs NmiHandler_Loop205 ; CPU:$ABAF PRG:2BAF B0 26 + dec EnemyHealth,x ; CPU:$ABB1 PRG:2BB1 D6 DF + jmp NmiHandler_Loop205 ; CPU:$ABB3 PRG:2BB3 4C D7 AB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop146 -; Global: Branch target inside NmiHandler: taken when Loop146. +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop146: +NmiHandler_Loop202: tya ; CPU:$ABB6 PRG:2BB6 98 and #$07 ; CPU:$ABB7 PRG:2BB7 29 07 tay ; CPU:$ABB9 PRG:2BB9 A8 lda $A199,y ; CPU:$ABBA PRG:2BBA B9 99 A1 - sta Zp00 ; CPU:$ABBD PRG:2BBD 85 00 - lda Zp69 ; CPU:$ABBF PRG:2BBF A5 69 + sta VramWritePtrLo ; CPU:$ABBD PRG:2BBD 85 00 + lda PlayerIndex ; CPU:$ABBF PRG:2BBF A5 69 and #$01 ; CPU:$ABC1 PRG:2BC1 29 01 - bne NmiHandler_Loop147 ; CPU:$ABC3 PRG:2BC3 D0 05 + bne NmiHandler_Loop203 ; CPU:$ABC3 PRG:2BC3 D0 05 lda $A1A1,y ; CPU:$ABC5 PRG:2BC5 B9 A1 A1 - sta Zp00 ; CPU:$ABC8 PRG:2BC8 85 00 + sta VramWritePtrLo ; CPU:$ABC8 PRG:2BC8 85 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop147 -; Global: Branch target inside NmiHandler: taken when Loop147. +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop147: +NmiHandler_Loop203: cpy #$04 ; CPU:$ABCA PRG:2BCA C0 04 bcs NmiHandler_OnCarrySet ; CPU:$ABCC PRG:2BCC B0 DC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop148 -; Global: Branch target inside NmiHandler: taken when Loop148. +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop148: +NmiHandler_Loop204: lda ZpD4 ; CPU:$ABCE PRG:2BCE A5 D4 clc ; CPU:$ABD0 PRG:2BD0 18 - adc Zp00 ; CPU:$ABD1 PRG:2BD1 65 00 - bcc NmiHandler_Loop149 ; CPU:$ABD3 PRG:2BD3 90 02 - inc ZpDF,x ; CPU:$ABD5 PRG:2BD5 F6 DF + adc VramWritePtrLo ; CPU:$ABD1 PRG:2BD1 65 00 + bcc NmiHandler_Loop205 ; CPU:$ABD3 PRG:2BD3 90 02 + inc EnemyHealth,x ; CPU:$ABD5 PRG:2BD5 F6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop149 -; Global: Branch target inside NmiHandler: taken when Loop149. +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop149: +NmiHandler_Loop205: and #$F8 ; CPU:$ABD7 PRG:2BD7 29 F8 ora #$08 ; CPU:$ABD9 PRG:2BD9 09 08 sta ZpCE,x ; CPU:$ABDB PRG:2BDB 95 CE and #$F0 ; CPU:$ABDD PRG:2BDD 29 F0 - sta Zp01 ; CPU:$ABDF PRG:2BDF 85 01 - lda ZpDF,x ; CPU:$ABE1 PRG:2BE1 B5 DF - bmi NmiHandler_Loop150 ; CPU:$ABE3 PRG:2BE3 30 18 - stx Zp00 ; CPU:$ABE5 PRG:2BE5 86 00 + sta VramWritePtrHi ; CPU:$ABDF PRG:2BDF 85 01 + lda EnemyHealth,x ; CPU:$ABE1 PRG:2BE1 B5 DF + bmi NmiHandler_Loop206 ; CPU:$ABE3 PRG:2BE3 30 18 + stx VramWritePtrLo ; CPU:$ABE5 PRG:2BE5 86 00 ldy #$03 ; CPU:$ABE7 PRG:2BE7 A0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative14 -; Global: Branch target inside NmiHandler: taken when OnNonnegative14. +; Routine: NmiHandler_OnNonnegative21 +; Global: Branch target inside NmiHandler: taken when OnNonnegative21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative14: - cpy Zp00 ; CPU:$ABE9 PRG:2BE9 C4 00 - beq NmiHandler_Loop151 ; CPU:$ABEB PRG:2BEB F0 15 - lda a:ZpDF,y ; CPU:$ABED PRG:2BED B9 DF 00 - cmp ZpDF,x ; CPU:$ABF0 PRG:2BF0 D5 DF - bne NmiHandler_Loop151 ; CPU:$ABF2 PRG:2BF2 D0 0E +NmiHandler_OnNonnegative21: + cpy VramWritePtrLo ; CPU:$ABE9 PRG:2BE9 C4 00 + beq NmiHandler_Loop207 ; CPU:$ABEB PRG:2BEB F0 15 + lda a:EnemyHealth,y ; CPU:$ABED PRG:2BED B9 DF 00 + cmp EnemyHealth,x ; CPU:$ABF0 PRG:2BF0 D5 DF + bne NmiHandler_Loop207 ; CPU:$ABF2 PRG:2BF2 D0 0E lda a:ZpCE,y ; CPU:$ABF4 PRG:2BF4 B9 CE 00 -; ----------------------------------------------------------------------------- -; Routine: Label_ABF7 -; Global: Branch target inside Label: taken when ABF7. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_ABF7: and #$F0 ; CPU:$ABF7 PRG:2BF7 29 F0 - cmp Zp01 ; CPU:$ABF9 PRG:2BF9 C5 01 - bne NmiHandler_Loop151 ; CPU:$ABFB PRG:2BFB D0 05 + cmp VramWritePtrHi ; CPU:$ABF9 PRG:2BF9 C5 01 + bne NmiHandler_Loop207 ; CPU:$ABFB PRG:2BFB D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop150 -; Global: Branch target inside NmiHandler: taken when Loop150. +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop150: +NmiHandler_Loop206: lda #$FF ; CPU:$ABFD PRG:2BFD A9 FF - sta ZpDF,x ; CPU:$ABFF PRG:2BFF 95 DF + sta EnemyHealth,x ; CPU:$ABFF PRG:2BFF 95 DF rts ; CPU:$AC01 PRG:2C01 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop151 -; Global: Branch target inside NmiHandler: taken when Loop151. +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop151: +NmiHandler_Loop207: dey ; CPU:$AC02 PRG:2C02 88 - bpl NmiHandler_OnNonnegative14 ; CPU:$AC03 PRG:2C03 10 E4 + bpl NmiHandler_OnNonnegative21 ; CPU:$AC03 PRG:2C03 10 E4 lda #$01 ; CPU:$AC05 PRG:2C05 A9 01 - sta Zp80,x ; CPU:$AC07 PRG:2C07 95 80 + sta SpriteTimer,x ; CPU:$AC07 PRG:2C07 95 80 lsr a ; CPU:$AC09 PRG:2C09 4A sta $0478,x ; CPU:$AC0A PRG:2C0A 9D 78 04 lda #$38 ; CPU:$AC0D PRG:2C0D A9 38 - sta ZpB0,x ; CPU:$AC0F PRG:2C0F 95 B0 + sta PlayerX,x ; CPU:$AC0F PRG:2C0F 95 B0 lda ZpBE ; CPU:$AC11 PRG:2C11 A5 BE - sta Zp00 ; CPU:$AC13 PRG:2C13 85 00 + sta VramWritePtrLo ; CPU:$AC13 PRG:2C13 85 00 lda Zp19,x ; CPU:$AC15 PRG:2C15 B5 19 and #$03 ; CPU:$AC17 PRG:2C17 29 03 tay ; CPU:$AC19 PRG:2C19 A8 lda $A180,y ; CPU:$AC1A PRG:2C1A B9 80 A1 sec ; CPU:$AC1D PRG:2C1D 38 - sbc Zp00 ; CPU:$AC1E PRG:2C1E E5 00 + sbc VramWritePtrLo ; CPU:$AC1E PRG:2C1E E5 00 ldx Zp53 ; CPU:$AC20 PRG:2C20 A6 53 - bne NmiHandler_Loop152 ; CPU:$AC22 PRG:2C22 D0 03 + bne NmiHandler_Loop208 ; CPU:$AC22 PRG:2C22 D0 03 clc ; CPU:$AC24 PRG:2C24 18 adc #$03 ; CPU:$AC25 PRG:2C25 69 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop152 -; Global: Branch target inside NmiHandler: taken when Loop152. +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop152: +NmiHandler_Loop208: sta Zp3D ; CPU:$AC27 PRG:2C27 85 3D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero29: rts ; CPU:$AC29 PRG:2C29 60 -; ---- data $AC2A-$ACD3 (170 bytes) ---- - .byte $A5, $E5, $C9, $04, $90, $08, $A9, $00, $8D, $CF, $03, $4C, $0E, $86, $A2, $03 ; CPU:$AC2A PRG:2C2A A5 E5 C9 04 90 08 A9 00 8D CF 03 4C 0E 86 A2 03 - .byte $8E, $CF, $03, $86, $05, $AD, $66, $03, $0D, $67, $03, $D0, $E2, $BD, $40, $04 ; CPU:$AC3A PRG:2C3A 8E CF 03 86 05 AD 66 03 0D 67 03 D0 E2 BD 40 04 - .byte $F0, $06, $DE, $40, $04, $4C, $B0, $AC, $B4, $A6, $88, $D0, $59, $B5, $95, $C9 ; CPU:$AC4A PRG:2C4A F0 06 DE 40 04 4C B0 AC B4 A6 88 D0 59 B5 95 C9 - .byte $08, $90, $53, $C9, $F8, $B0, $4F, $A2, $04, $20, $D6, $AC, $B0, $50, $A9, $50 ; CPU:$AC5A PRG:2C5A 08 90 53 C9 F8 B0 4F A2 04 20 D6 AC B0 50 A9 50 - .byte $A4, $53, $D0, $02, $A9, $68, $A4, $05, $99, $40, $04, $B9, $50, $04, $18, $69 ; CPU:$AC6A PRG:2C6A A4 53 D0 02 A9 68 A4 05 99 40 04 B9 50 04 18 69 - .byte $04, $95, $B0, $B9, $D5, $00, $95, $CE, $B9, $E6, $00, $95, $DF, $B5, $18, $29 ; CPU:$AC7A PRG:2C7A 04 95 B0 B9 D5 00 95 CE B9 E6 00 95 DF B5 18 29 - .byte $01, $18, $65, $5E, $C9, $06, $90, $02, $A9, $06, $9D, $54, $04, $A9, $03, $95 ; CPU:$AC8A PRG:2C8A 01 18 65 5E C9 06 90 02 A9 06 9D 54 04 A9 03 95 - .byte $80, $A9, $0A, $95, $87, $A9, $00, $9D, $44, $04, $9D, $78, $04, $A9, $0E, $95 ; CPU:$AC9A PRG:2C9A 80 A9 0A 95 87 A9 00 9D 44 04 9D 78 04 A9 0E 95 - .byte $2B, $B9, $F1, $04, $95, $C0, $A6, $05, $CA, $30, $29, $4C, $3D, $AC, $A2, $04 ; CPU:$ACAA PRG:2CAA 2B B9 F1 04 95 C0 A6 05 CA 30 29 4C 3D AC A2 04 - .byte $B4, $9F, $C0, $03, $B0, $0D, $88, $F0, $0D, $B5, $8E, $C9, $28, $90, $07, $C9 ; CPU:$ACBA PRG:2CBA B4 9F C0 03 B0 0D 88 F0 0D B5 8E C9 28 90 07 C9 - .byte $D8, $B0, $03, $4C, $43, $B2, $CA, $10, $E7, $60 ; CPU:$ACCA PRG:2CCA D8 B0 03 4C 43 B2 CA 10 E7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AC2A +; Global: Branch target inside Label: taken when AC2A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AC2A: + lda ZpE5 ; CPU:$AC2A PRG:2C2A A5 E5 + cmp #$04 ; CPU:$AC2C PRG:2C2C C9 04 + bcc NmiHandler_Loop209 ; CPU:$AC2E PRG:2C2E 90 08 + lda #$00 ; CPU:$AC30 PRG:2C30 A9 00 + sta $03CF ; CPU:$AC32 PRG:2C32 8D CF 03 + jmp Sub_860E ; CPU:$AC35 PRG:2C35 4C 0E 86 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + ldx #$03 ; CPU:$AC38 PRG:2C38 A2 03 + stx $03CF ; CPU:$AC3A PRG:2C3A 8E CF 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_AC3D +; Global: Branch target inside Sub: taken when AC3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC3D: + stx Zp05 ; CPU:$AC3D PRG:2C3D 86 05 + lda $0366 ; CPU:$AC3F PRG:2C3F AD 66 03 + ora $0367 ; CPU:$AC42 PRG:2C42 0D 67 03 + bne NmiHandler_OnNonzero29 ; CPU:$AC45 PRG:2C45 D0 E2 + lda $0440,x ; CPU:$AC47 PRG:2C47 BD 40 04 + beq NmiHandler_Loop210 ; CPU:$AC4A PRG:2C4A F0 06 + dec $0440,x ; CPU:$AC4C PRG:2C4C DE 40 04 + jmp NmiHandler_Loop213 ; CPU:$AC4F PRG:2C4F 4C B0 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + ldy ZpA6,x ; CPU:$AC52 PRG:2C52 B4 A6 + dey ; CPU:$AC54 PRG:2C54 88 + bne NmiHandler_Loop213 ; CPU:$AC55 PRG:2C55 D0 59 + lda Zp95,x ; CPU:$AC57 PRG:2C57 B5 95 + cmp #$08 ; CPU:$AC59 PRG:2C59 C9 08 + bcc NmiHandler_Loop213 ; CPU:$AC5B PRG:2C5B 90 53 + cmp #$F8 ; CPU:$AC5D PRG:2C5D C9 F8 + bcs NmiHandler_Loop213 ; CPU:$AC5F PRG:2C5F B0 4F + ldx #$04 ; CPU:$AC61 PRG:2C61 A2 04 + jsr NmiHandler_OnNonnegative23 ; CPU:$AC63 PRG:2C63 20 D6 AC + bcs NmiHandler_Loop214 ; CPU:$AC66 PRG:2C66 B0 50 + lda #$50 ; CPU:$AC68 PRG:2C68 A9 50 + ldy Zp53 ; CPU:$AC6A PRG:2C6A A4 53 + bne NmiHandler_Loop211 ; CPU:$AC6C PRG:2C6C D0 02 + lda #$68 ; CPU:$AC6E PRG:2C6E A9 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + ldy Zp05 ; CPU:$AC70 PRG:2C70 A4 05 + sta $0440,y ; CPU:$AC72 PRG:2C72 99 40 04 + lda $0450,y ; CPU:$AC75 PRG:2C75 B9 50 04 + clc ; CPU:$AC78 PRG:2C78 18 + adc #$04 ; CPU:$AC79 PRG:2C79 69 04 + sta PlayerX,x ; CPU:$AC7B PRG:2C7B 95 B0 + lda a:ZpD5,y ; CPU:$AC7D PRG:2C7D B9 D5 00 + sta ZpCE,x ; CPU:$AC80 PRG:2C80 95 CE + lda a:ZpE6,y ; CPU:$AC82 PRG:2C82 B9 E6 00 + sta EnemyHealth,x ; CPU:$AC85 PRG:2C85 95 DF + lda Zp18,x ; CPU:$AC87 PRG:2C87 B5 18 + and #$01 ; CPU:$AC89 PRG:2C89 29 01 + clc ; CPU:$AC8B PRG:2C8B 18 + adc Zp5E ; CPU:$AC8C PRG:2C8C 65 5E + cmp #$06 ; CPU:$AC8E PRG:2C8E C9 06 + bcc NmiHandler_Loop212 ; CPU:$AC90 PRG:2C90 90 02 + lda #$06 ; CPU:$AC92 PRG:2C92 A9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + sta $0454,x ; CPU:$AC94 PRG:2C94 9D 54 04 + lda #$03 ; CPU:$AC97 PRG:2C97 A9 03 + sta SpriteTimer,x ; CPU:$AC99 PRG:2C99 95 80 + lda #$0A ; CPU:$AC9B PRG:2C9B A9 0A + sta EnemyIndex,x ; CPU:$AC9D PRG:2C9D 95 87 + lda #$00 ; CPU:$AC9F PRG:2C9F A9 00 + sta $0444,x ; CPU:$ACA1 PRG:2CA1 9D 44 04 + sta $0478,x ; CPU:$ACA4 PRG:2CA4 9D 78 04 + lda #$0E ; CPU:$ACA7 PRG:2CA7 A9 0E + sta Zp2B,x ; CPU:$ACA9 PRG:2CA9 95 2B + lda $04F1,y ; CPU:$ACAB PRG:2CAB B9 F1 04 + sta GameState,x ; CPU:$ACAE PRG:2CAE 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + ldx Zp05 ; CPU:$ACB0 PRG:2CB0 A6 05 + dex ; CPU:$ACB2 PRG:2CB2 CA + bmi NmiHandler_Loop217 ; CPU:$ACB3 PRG:2CB3 30 29 + jmp Sub_AC3D ; CPU:$ACB5 PRG:2CB5 4C 3D AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + ldx #$04 ; CPU:$ACB8 PRG:2CB8 A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative22 +; Global: Branch target inside NmiHandler: taken when OnNonnegative22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative22: + ldy GameMode,x ; CPU:$ACBA PRG:2CBA B4 9F + cpy #$03 ; CPU:$ACBC PRG:2CBC C0 03 + bcs NmiHandler_Loop215 ; CPU:$ACBE PRG:2CBE B0 0D + dey ; CPU:$ACC0 PRG:2CC0 88 + beq NmiHandler_Loop216 ; CPU:$ACC1 PRG:2CC1 F0 0D + lda Zp8E,x ; CPU:$ACC3 PRG:2CC3 B5 8E + cmp #$28 ; CPU:$ACC5 PRG:2CC5 C9 28 + bcc NmiHandler_Loop216 ; CPU:$ACC7 PRG:2CC7 90 07 + cmp #$D8 ; CPU:$ACC9 PRG:2CC9 C9 D8 + bcs NmiHandler_Loop216 ; CPU:$ACCB PRG:2CCB B0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + jmp Sub_B243 ; CPU:$ACCD PRG:2CCD 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + dex ; CPU:$ACD0 PRG:2CD0 CA + bpl NmiHandler_OnNonnegative22 ; CPU:$ACD1 PRG:2CD1 10 E7 + rts ; CPU:$ACD3 PRG:2CD3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_ACD4 ; Global: Branch target inside Sub: taken when ACD4. @@ -4852,28 +6364,28 @@ NmiHandler_Loop152: Sub_ACD4: ldx #$03 ; CPU:$ACD4 PRG:2CD4 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative15 -; Global: Branch target inside NmiHandler: taken when OnNonnegative15. +; Routine: NmiHandler_OnNonnegative23 +; Global: Branch target inside NmiHandler: taken when OnNonnegative23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative15: - lda Zp80,x ; CPU:$ACD6 PRG:2CD6 B5 80 +NmiHandler_OnNonnegative23: + lda SpriteTimer,x ; CPU:$ACD6 PRG:2CD6 B5 80 lsr a ; CPU:$ACD8 PRG:2CD8 4A - bcc NmiHandler_Loop153 ; CPU:$ACD9 PRG:2CD9 90 03 + bcc NmiHandler_Loop217 ; CPU:$ACD9 PRG:2CD9 90 03 dex ; CPU:$ACDB PRG:2CDB CA - bpl NmiHandler_OnNonnegative15 ; CPU:$ACDC PRG:2CDC 10 F8 + bpl NmiHandler_OnNonnegative23 ; CPU:$ACDC PRG:2CDC 10 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop153 -; Global: Branch target inside NmiHandler: taken when Loop153. +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop153: +NmiHandler_Loop217: rts ; CPU:$ACDE PRG:2CDE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_ACDF @@ -4886,296 +6398,296 @@ NmiHandler_Loop153: Sub_ACDF: ldx #$06 ; CPU:$ACDF PRG:2CDF A2 06 lda $04A6 ; CPU:$ACE1 PRG:2CE1 AD A6 04 - bmi NmiHandler_Loop154 ; CPU:$ACE4 PRG:2CE4 30 02 + bmi NmiHandler_Loop218 ; CPU:$ACE4 PRG:2CE4 30 02 ldx #$00 ; CPU:$ACE6 PRG:2CE6 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop154 -; Global: Branch target inside NmiHandler: taken when Loop154. +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop154: +NmiHandler_Loop218: cpx #$05 ; CPU:$ACE8 PRG:2CE8 E0 05 - bne NmiHandler_Loop155 ; CPU:$ACEA PRG:2CEA D0 05 + bne NmiHandler_Loop219 ; CPU:$ACEA PRG:2CEA D0 05 lda Zp7E ; CPU:$ACEC PRG:2CEC A5 7E lsr a ; CPU:$ACEE PRG:2CEE 4A - bcc NmiHandler_Loop161 ; CPU:$ACEF PRG:2CEF 90 75 + bcc NmiHandler_Loop225 ; CPU:$ACEF PRG:2CEF 90 75 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop155 -; Global: Branch target inside NmiHandler: taken when Loop155. +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop155: - lda Zp80,x ; CPU:$ACF1 PRG:2CF1 B5 80 - beq NmiHandler_Loop161 ; CPU:$ACF3 PRG:2CF3 F0 71 - lda Zp87,x ; CPU:$ACF5 PRG:2CF5 B5 87 +NmiHandler_Loop219: + lda SpriteTimer,x ; CPU:$ACF1 PRG:2CF1 B5 80 + beq NmiHandler_Loop225 ; CPU:$ACF3 PRG:2CF3 F0 71 + lda EnemyIndex,x ; CPU:$ACF5 PRG:2CF5 B5 87 asl a ; CPU:$ACF7 PRG:2CF7 0A tay ; CPU:$ACF8 PRG:2CF8 A8 cmp #$1C ; CPU:$ACF9 PRG:2CF9 C9 1C - beq NmiHandler_Loop156 ; CPU:$ACFB PRG:2CFB F0 05 + beq NmiHandler_Loop220 ; CPU:$ACFB PRG:2CFB F0 05 lda $04A0,x ; CPU:$ACFD PRG:2CFD BD A0 04 - bmi NmiHandler_Loop163 ; CPU:$AD00 PRG:2D00 30 6D + bmi NmiHandler_Loop227 ; CPU:$AD00 PRG:2D00 30 6D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop156 -; Global: Branch target inside NmiHandler: taken when Loop156. +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop156: - lda Zp80,x ; CPU:$AD02 PRG:2D02 B5 80 +NmiHandler_Loop220: + lda SpriteTimer,x ; CPU:$AD02 PRG:2D02 B5 80 and #$04 ; CPU:$AD04 PRG:2D04 29 04 - bne NmiHandler_Loop161 ; CPU:$AD06 PRG:2D06 D0 5E + bne NmiHandler_Loop225 ; CPU:$AD06 PRG:2D06 D0 5E stx $036D ; CPU:$AD08 PRG:2D08 8E 6D 03 jsr Sub_ADDA ; CPU:$AD0B PRG:2D0B 20 DA AD ldx $036D ; CPU:$AD0E PRG:2D0E AE 6D 03 - lda Zp80,x ; CPU:$AD11 PRG:2D11 B5 80 - beq NmiHandler_Loop161 ; CPU:$AD13 PRG:2D13 F0 51 - lda Zp87,x ; CPU:$AD15 PRG:2D15 B5 87 + lda SpriteTimer,x ; CPU:$AD11 PRG:2D11 B5 80 + beq NmiHandler_Loop225 ; CPU:$AD13 PRG:2D13 F0 51 + lda EnemyIndex,x ; CPU:$AD15 PRG:2D15 B5 87 cmp #$02 ; CPU:$AD17 PRG:2D17 C9 02 - bcc NmiHandler_Loop158 ; CPU:$AD19 PRG:2D19 90 13 + bcc NmiHandler_Loop222 ; CPU:$AD19 PRG:2D19 90 13 cmp #$0A ; CPU:$AD1B PRG:2D1B C9 0A - bne NmiHandler_Loop157 ; CPU:$AD1D PRG:2D1D D0 07 + bne NmiHandler_Loop221 ; CPU:$AD1D PRG:2D1D D0 07 lda $03CF ; CPU:$AD1F PRG:2D1F AD CF 03 - beq NmiHandler_Loop159 ; CPU:$AD22 PRG:2D22 F0 29 - bne NmiHandler_Loop160 ; CPU:$AD24 PRG:2D24 D0 3D + beq NmiHandler_Loop223 ; CPU:$AD22 PRG:2D22 F0 29 + bne NmiHandler_Loop224 ; CPU:$AD24 PRG:2D24 D0 3D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop157 -; Global: Branch target inside NmiHandler: taken when Loop157. +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop157: +NmiHandler_Loop221: cmp #$0D ; CPU:$AD26 PRG:2D26 C9 0D - bcc NmiHandler_Loop160 ; CPU:$AD28 PRG:2D28 90 39 + bcc NmiHandler_Loop224 ; CPU:$AD28 PRG:2D28 90 39 cmp #$11 ; CPU:$AD2A PRG:2D2A C9 11 - beq NmiHandler_Loop160 ; CPU:$AD2C PRG:2D2C F0 35 + beq NmiHandler_Loop224 ; CPU:$AD2C PRG:2D2C F0 35 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop158 -; Global: Branch target inside NmiHandler: taken when Loop158. +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop158: - lda Zp5F ; CPU:$AD2E PRG:2D2E A5 5F +NmiHandler_Loop222: + lda SpriteIndex ; CPU:$AD2E PRG:2D2E A5 5F cmp #$04 ; CPU:$AD30 PRG:2D30 C9 04 - bne NmiHandler_Loop159 ; CPU:$AD32 PRG:2D32 D0 19 + bne NmiHandler_Loop223 ; CPU:$AD32 PRG:2D32 D0 19 lda Zp7E ; CPU:$AD34 PRG:2D34 A5 7E - beq NmiHandler_Loop159 ; CPU:$AD36 PRG:2D36 F0 15 - lda ZpDF,x ; CPU:$AD38 PRG:2D38 B5 DF + beq NmiHandler_Loop223 ; CPU:$AD36 PRG:2D36 F0 15 + lda EnemyHealth,x ; CPU:$AD38 PRG:2D38 B5 DF cmp #$02 ; CPU:$AD3A PRG:2D3A C9 02 - bne NmiHandler_Loop159 ; CPU:$AD3C PRG:2D3C D0 0F + bne NmiHandler_Loop223 ; CPU:$AD3C PRG:2D3C D0 0F lda ZpCE,x ; CPU:$AD3E PRG:2D3E B5 CE cmp #$18 ; CPU:$AD40 PRG:2D40 C9 18 - bcs NmiHandler_Loop159 ; CPU:$AD42 PRG:2D42 B0 09 - lda Zp80,x ; CPU:$AD44 PRG:2D44 B5 80 + bcs NmiHandler_Loop223 ; CPU:$AD42 PRG:2D42 B0 09 + lda SpriteTimer,x ; CPU:$AD44 PRG:2D44 B5 80 lsr a ; CPU:$AD46 PRG:2D46 4A eor #$01 ; CPU:$AD47 PRG:2D47 49 01 and #$01 ; CPU:$AD49 PRG:2D49 29 01 - sta ZpC0,x ; CPU:$AD4B PRG:2D4B 95 C0 + sta GameState,x ; CPU:$AD4B PRG:2D4B 95 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop159 -; Global: Branch target inside NmiHandler: taken when Loop159. +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop159: - lda Zp9F,x ; CPU:$AD4D PRG:2D4D B5 9F +NmiHandler_Loop223: + lda GameMode,x ; CPU:$AD4D PRG:2D4D B5 9F cmp #$01 ; CPU:$AD4F PRG:2D4F C9 01 - beq NmiHandler_Loop160 ; CPU:$AD51 PRG:2D51 F0 10 + beq NmiHandler_Loop224 ; CPU:$AD51 PRG:2D51 F0 10 lda Zp8E,x ; CPU:$AD53 PRG:2D53 B5 8E cmp #$28 ; CPU:$AD55 PRG:2D55 C9 28 - bcc NmiHandler_Loop160 ; CPU:$AD57 PRG:2D57 90 0A + bcc NmiHandler_Loop224 ; CPU:$AD57 PRG:2D57 90 0A cmp #$D8 ; CPU:$AD59 PRG:2D59 C9 D8 - bcs NmiHandler_Loop160 ; CPU:$AD5B PRG:2D5B B0 06 + bcs NmiHandler_Loop224 ; CPU:$AD5B PRG:2D5B B0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero4 -; Global: Branch target inside NmiHandler: taken when OnZero4. +; Routine: NmiHandler_OnZero5 +; Global: Branch target inside NmiHandler: taken when OnZero5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero4: +NmiHandler_OnZero5: jsr Sub_B243 ; CPU:$AD5D PRG:2D5D 20 43 B2 - jmp NmiHandler_Loop161 ; CPU:$AD60 PRG:2D60 4C 66 AD + jmp NmiHandler_Loop225 ; CPU:$AD60 PRG:2D60 4C 66 AD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop160 -; Global: Branch target inside NmiHandler: taken when Loop160. +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop160: +NmiHandler_Loop224: jsr Sub_C336 ; CPU:$AD63 PRG:2D63 20 36 C3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop161 -; Global: Branch target inside NmiHandler: taken when Loop161. +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop161: +NmiHandler_Loop225: inx ; CPU:$AD66 PRG:2D66 E8 cpx #$07 ; CPU:$AD67 PRG:2D67 E0 07 - bcs NmiHandler_Loop162 ; CPU:$AD69 PRG:2D69 B0 03 - jmp NmiHandler_Loop154 ; CPU:$AD6B PRG:2D6B 4C E8 AC + bcs NmiHandler_Loop226 ; CPU:$AD69 PRG:2D69 B0 03 + jmp NmiHandler_Loop218 ; CPU:$AD6B PRG:2D6B 4C E8 AC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop162 -; Global: Branch target inside NmiHandler: taken when Loop162. +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop162: +NmiHandler_Loop226: rts ; CPU:$AD6E PRG:2D6E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop163 -; Global: Branch target inside NmiHandler: taken when Loop163. +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop163: - lda Zp87,x ; CPU:$AD6F PRG:2D6F B5 87 +NmiHandler_Loop227: + lda EnemyIndex,x ; CPU:$AD6F PRG:2D6F B5 87 cmp #$0A ; CPU:$AD71 PRG:2D71 C9 0A - bcs NmiHandler_Loop171 ; CPU:$AD73 PRG:2D73 B0 5F + bcs NmiHandler_Loop235 ; CPU:$AD73 PRG:2D73 B0 5F lda $04A8,x ; CPU:$AD75 PRG:2D75 BD A8 04 - sta ZpC0,x ; CPU:$AD78 PRG:2D78 95 C0 - ldy Zp87,x ; CPU:$AD7A PRG:2D7A B4 87 + sta GameState,x ; CPU:$AD78 PRG:2D78 95 C0 + ldy EnemyIndex,x ; CPU:$AD7A PRG:2D7A B4 87 cpx #$06 ; CPU:$AD7C PRG:2D7C E0 06 - beq NmiHandler_Loop164 ; CPU:$AD7E PRG:2D7E F0 05 + beq NmiHandler_Loop228 ; CPU:$AD7E PRG:2D7E F0 05 lda $A126,y ; CPU:$AD80 PRG:2D80 B9 26 A1 - sta ZpB7,x ; CPU:$AD83 PRG:2D83 95 B7 + sta PlayerY,x ; CPU:$AD83 PRG:2D83 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop164 -; Global: Branch target inside NmiHandler: taken when Loop164. +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop164: +NmiHandler_Loop228: inc $0486,x ; CPU:$AD85 PRG:2D85 FE 86 04 lda $0486,x ; CPU:$AD88 PRG:2D88 BD 86 04 cmp #$17 ; CPU:$AD8B PRG:2D8B C9 17 - bcc NmiHandler_Loop165 ; CPU:$AD8D PRG:2D8D 90 05 + bcc NmiHandler_Loop229 ; CPU:$AD8D PRG:2D8D 90 05 lda #$17 ; CPU:$AD8F PRG:2D8F A9 17 sta $0486,x ; CPU:$AD91 PRG:2D91 9D 86 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop165 -; Global: Branch target inside NmiHandler: taken when Loop165. +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop165: +NmiHandler_Loop229: jsr Sub_C79E ; CPU:$AD94 PRG:2D94 20 9E C7 ldy #$01 ; CPU:$AD97 PRG:2D97 A0 01 lda #$80 ; CPU:$AD99 PRG:2D99 A9 80 cpx #$06 ; CPU:$AD9B PRG:2D9B E0 06 - bne NmiHandler_Loop166 ; CPU:$AD9D PRG:2D9D D0 04 + bne NmiHandler_Loop230 ; CPU:$AD9D PRG:2D9D D0 04 ldy #$00 ; CPU:$AD9F PRG:2D9F A0 00 lda #$00 ; CPU:$ADA1 PRG:2DA1 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop166 -; Global: Branch target inside NmiHandler: taken when Loop166. +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop166: +NmiHandler_Loop230: clc ; CPU:$ADA3 PRG:2DA3 18 adc $0498,x ; CPU:$ADA4 PRG:2DA4 7D 98 04 sta $0498,x ; CPU:$ADA7 PRG:2DA7 9D 98 04 - bcc NmiHandler_Loop167 ; CPU:$ADAA PRG:2DAA 90 01 + bcc NmiHandler_Loop231 ; CPU:$ADAA PRG:2DAA 90 01 iny ; CPU:$ADAC PRG:2DAC C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop167 -; Global: Branch target inside NmiHandler: taken when Loop167. +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop167: +NmiHandler_Loop231: lda $04A8,x ; CPU:$ADAD PRG:2DAD BD A8 04 - beq NmiHandler_Loop168 ; CPU:$ADB0 PRG:2DB0 F0 05 + beq NmiHandler_Loop232 ; CPU:$ADB0 PRG:2DB0 F0 05 tya ; CPU:$ADB2 PRG:2DB2 98 eor #$FF ; CPU:$ADB3 PRG:2DB3 49 FF tay ; CPU:$ADB5 PRG:2DB5 A8 iny ; CPU:$ADB6 PRG:2DB6 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop168 -; Global: Branch target inside NmiHandler: taken when Loop168. +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop168: +NmiHandler_Loop232: tya ; CPU:$ADB7 PRG:2DB7 98 cmp #$00 ; CPU:$ADB8 PRG:2DB8 C9 00 - bpl NmiHandler_Loop169 ; CPU:$ADBA PRG:2DBA 10 02 - dec ZpDF,x ; CPU:$ADBC PRG:2DBC D6 DF + bpl NmiHandler_Loop233 ; CPU:$ADBA PRG:2DBA 10 02 + dec EnemyHealth,x ; CPU:$ADBC PRG:2DBC D6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop169 -; Global: Branch target inside NmiHandler: taken when Loop169. +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop169: +NmiHandler_Loop233: clc ; CPU:$ADBE PRG:2DBE 18 adc ZpCE,x ; CPU:$ADBF PRG:2DBF 75 CE sta ZpCE,x ; CPU:$ADC1 PRG:2DC1 95 CE - bcc NmiHandler_Loop170 ; CPU:$ADC3 PRG:2DC3 90 02 - inc ZpDF,x ; CPU:$ADC5 PRG:2DC5 F6 DF + bcc NmiHandler_Loop234 ; CPU:$ADC3 PRG:2DC3 90 02 + inc EnemyHealth,x ; CPU:$ADC5 PRG:2DC5 F6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop170 -; Global: Branch target inside NmiHandler: taken when Loop170. +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop170: - lda ZpB0,x ; CPU:$ADC7 PRG:2DC7 B5 B0 +NmiHandler_Loop234: + lda PlayerX,x ; CPU:$ADC7 PRG:2DC7 B5 B0 cmp #$D8 ; CPU:$ADC9 PRG:2DC9 C9 D8 - bcc NmiHandler_Loop160 ; CPU:$ADCB PRG:2DCB 90 96 + bcc NmiHandler_Loop224 ; CPU:$ADCB PRG:2DCB 90 96 lda #$00 ; CPU:$ADCD PRG:2DCD A9 00 sta $0486,x ; CPU:$ADCF PRG:2DCF 9D 86 04 - beq NmiHandler_OnZero4 ; CPU:$ADD2 PRG:2DD2 F0 89 + beq NmiHandler_OnZero5 ; CPU:$ADD2 PRG:2DD2 F0 89 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop171 -; Global: Branch target inside NmiHandler: taken when Loop171. +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop171: +NmiHandler_Loop235: jsr Sub_B8CD ; CPU:$ADD4 PRG:2DD4 20 CD B8 - jmp NmiHandler_OnZero4 ; CPU:$ADD7 PRG:2DD7 4C 5D AD + jmp NmiHandler_OnZero5 ; CPU:$ADD7 PRG:2DD7 4C 5D AD ; ----------------------------------------------------------------------------- ; Routine: Sub_ADDA ; Global: Branch target inside Sub: taken when ADDA. @@ -5186,15 +6698,29 @@ NmiHandler_Loop171: ; ----------------------------------------------------------------------------- Sub_ADDA: lda $9BAE,y ; CPU:$ADDA PRG:2DDA B9 AE 9B - sta Zp00 ; CPU:$ADDD PRG:2DDD 85 00 + sta VramWritePtrLo ; CPU:$ADDD PRG:2DDD 85 00 iny ; CPU:$ADDF PRG:2DDF C8 lda $9BAE,y ; CPU:$ADE0 PRG:2DE0 B9 AE 9B - sta Zp01 ; CPU:$ADE3 PRG:2DE3 85 01 - ldy Zp5F ; CPU:$ADE5 PRG:2DE5 A4 5F - jmp (Zp00) ; CPU:$ADE7 PRG:2DE7 6C 00 00 -; ---- data $ADEA-$ADFD (20 bytes) ---- - .byte $20, $E3, $B1, $20, $BB, $C9, $BD, $10, $04, $D0, $28, $A5, $B6, $C9, $70, $90 ; CPU:$ADEA PRG:2DEA 20 E3 B1 20 BB C9 BD 10 04 D0 28 A5 B6 C9 70 90 - .byte $22, $4C, $01, $AE ; CPU:$ADFA PRG:2DFA 22 4C 01 AE + sta VramWritePtrHi ; CPU:$ADE3 PRG:2DE3 85 01 + ldy SpriteIndex ; CPU:$ADE5 PRG:2DE5 A4 5F + jmp (VramWritePtrLo) ; CPU:$ADE7 PRG:2DE7 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ADEA +; Global: Branch target inside Label: taken when ADEA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ADEA: + jsr Sub_B1E3 ; CPU:$ADEA PRG:2DEA 20 E3 B1 + jsr Sub_C9BB ; CPU:$ADED PRG:2DED 20 BB C9 + lda $0410,x ; CPU:$ADF0 PRG:2DF0 BD 10 04 + bne NmiHandler_Loop236 ; CPU:$ADF3 PRG:2DF3 D0 28 + lda SpriteScore ; CPU:$ADF5 PRG:2DF5 A5 B6 + cmp #$70 ; CPU:$ADF7 PRG:2DF7 C9 70 + bcc NmiHandler_Loop236 ; CPU:$ADF9 PRG:2DF9 90 22 + jmp Sub_AE01 ; CPU:$ADFB PRG:2DFB 4C 01 AE ; ----------------------------------------------------------------------------- ; Routine: Label_ADFE ; Global: Branch target inside Label: taken when ADFE. @@ -5205,172 +6731,1144 @@ Sub_ADDA: ; ----------------------------------------------------------------------------- Label_ADFE: jsr Sub_B1E3 ; CPU:$ADFE PRG:2DFE 20 E3 B1 - lda Zp9F,x ; CPU:$AE01 PRG:2E01 B5 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_AE01 +; Global: Branch target inside Sub: taken when AE01. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE01: + lda GameMode,x ; CPU:$AE01 PRG:2E01 B5 9F cmp #$01 ; CPU:$AE03 PRG:2E03 C9 01 - bne NmiHandler_Loop172 ; CPU:$AE05 PRG:2E05 D0 16 - ldy ZpC0,x ; CPU:$AE07 PRG:2E07 B4 C0 + bne NmiHandler_Loop236 ; CPU:$AE05 PRG:2E05 D0 16 + ldy GameState,x ; CPU:$AE07 PRG:2E07 B4 C0 lda Zp94 ; CPU:$AE09 PRG:2E09 A5 94 clc ; CPU:$AE0B PRG:2E0B 18 adc $A14B,y ; CPU:$AE0C PRG:2E0C 79 4B A1 cmp Zp8E,x ; CPU:$AE0F PRG:2E0F D5 8E - bcs NmiHandler_Loop172 ; CPU:$AE11 PRG:2E11 B0 0A + bcs NmiHandler_Loop236 ; CPU:$AE11 PRG:2E11 B0 0A lda Zp94 ; CPU:$AE13 PRG:2E13 A5 94 clc ; CPU:$AE15 PRG:2E15 18 adc $A14D,y ; CPU:$AE16 PRG:2E16 79 4D A1 cmp Zp8E,x ; CPU:$AE19 PRG:2E19 D5 8E - bcs NmiHandler_Loop173 ; CPU:$AE1B PRG:2E1B B0 02 + bcs NmiHandler_Loop237 ; CPU:$AE1B PRG:2E1B B0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop172 -; Global: Branch target inside NmiHandler: taken when Loop172. +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop172: +NmiHandler_Loop236: clc ; CPU:$AE1D PRG:2E1D 18 rts ; CPU:$AE1E PRG:2E1E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop173 -; Global: Branch target inside NmiHandler: taken when Loop173. +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop173: +NmiHandler_Loop237: lda #$00 ; CPU:$AE1F PRG:2E1F A9 00 sta Zp67 ; CPU:$AE21 PRG:2E21 85 67 lda ZpE5 ; CPU:$AE23 PRG:2E23 A5 E5 - sta ZpDF,x ; CPU:$AE25 PRG:2E25 95 DF - ldy ZpC0,x ; CPU:$AE27 PRG:2E27 B4 C0 - beq NmiHandler_Loop174 ; CPU:$AE29 PRG:2E29 F0 02 - dec ZpDF,x ; CPU:$AE2B PRG:2E2B D6 DF + sta EnemyHealth,x ; CPU:$AE25 PRG:2E25 95 DF + ldy GameState,x ; CPU:$AE27 PRG:2E27 B4 C0 + beq NmiHandler_Loop238 ; CPU:$AE29 PRG:2E29 F0 02 + dec EnemyHealth,x ; CPU:$AE2B PRG:2E2B D6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop174 -; Global: Branch target inside NmiHandler: taken when Loop174. +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop174: +NmiHandler_Loop238: lda $0373,y ; CPU:$AE2D PRG:2E2D B9 73 03 - sta Zp01 ; CPU:$AE30 PRG:2E30 85 01 + sta VramWritePtrHi ; CPU:$AE30 PRG:2E30 85 01 clc ; CPU:$AE32 PRG:2E32 18 adc #$01 ; CPU:$AE33 PRG:2E33 69 01 sta $0373,y ; CPU:$AE35 PRG:2E35 99 73 03 lda $0375,y ; CPU:$AE38 PRG:2E38 B9 75 03 - sta Zp00 ; CPU:$AE3B PRG:2E3B 85 00 + sta VramWritePtrLo ; CPU:$AE3B PRG:2E3B 85 00 asl a ; CPU:$AE3D PRG:2E3D 0A asl a ; CPU:$AE3E PRG:2E3E 0A ora $036D ; CPU:$AE3F PRG:2E3F 0D 6D 03 sta $0375,y ; CPU:$AE42 PRG:2E42 99 75 03 lda #$05 ; CPU:$AE45 PRG:2E45 A9 05 - sta ZpB7,x ; CPU:$AE47 PRG:2E47 95 B7 + sta PlayerY,x ; CPU:$AE47 PRG:2E47 95 B7 lda #$04 ; CPU:$AE49 PRG:2E49 A9 04 - ora Zp80,x ; CPU:$AE4B PRG:2E4B 15 80 - sta Zp80,x ; CPU:$AE4D PRG:2E4D 95 80 - lda Zp01 ; CPU:$AE4F PRG:2E4F A5 01 + ora SpriteTimer,x ; CPU:$AE4B PRG:2E4B 15 80 + sta SpriteTimer,x ; CPU:$AE4D PRG:2E4D 95 80 + lda VramWritePtrHi ; CPU:$AE4F PRG:2E4F A5 01 asl a ; CPU:$AE51 PRG:2E51 0A - ora ZpC0,x ; CPU:$AE52 PRG:2E52 15 C0 + ora GameState,x ; CPU:$AE52 PRG:2E52 15 C0 tay ; CPU:$AE54 PRG:2E54 A8 lda ZpD4 ; CPU:$AE55 PRG:2E55 A5 D4 clc ; CPU:$AE57 PRG:2E57 18 adc $A143,y ; CPU:$AE58 PRG:2E58 79 43 A1 sta ZpCE,x ; CPU:$AE5B PRG:2E5B 95 CE - bcc NmiHandler_Loop175 ; CPU:$AE5D PRG:2E5D 90 02 - inc ZpDF,x ; CPU:$AE5F PRG:2E5F F6 DF + bcc NmiHandler_Loop239 ; CPU:$AE5D PRG:2E5D 90 02 + inc EnemyHealth,x ; CPU:$AE5F PRG:2E5F F6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop175 -; Global: Branch target inside NmiHandler: taken when Loop175. +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop175: - lda Zp87,x ; CPU:$AE61 PRG:2E61 B5 87 - bne NmiHandler_Loop176 ; CPU:$AE63 PRG:2E63 D0 16 - lda Zp01 ; CPU:$AE65 PRG:2E65 A5 01 - beq NmiHandler_Loop176 ; CPU:$AE67 PRG:2E67 F0 12 - lda Zp00 ; CPU:$AE69 PRG:2E69 A5 00 +NmiHandler_Loop239: + lda EnemyIndex,x ; CPU:$AE61 PRG:2E61 B5 87 + bne NmiHandler_Loop240 ; CPU:$AE63 PRG:2E63 D0 16 + lda VramWritePtrHi ; CPU:$AE65 PRG:2E65 A5 01 + beq NmiHandler_Loop240 ; CPU:$AE67 PRG:2E67 F0 12 + lda VramWritePtrLo ; CPU:$AE69 PRG:2E69 A5 00 and #$03 ; CPU:$AE6B PRG:2E6B 29 03 tay ; CPU:$AE6D PRG:2E6D A8 - lda a:Zp87,y ; CPU:$AE6E PRG:2E6E B9 87 00 - bne NmiHandler_Loop176 ; CPU:$AE71 PRG:2E71 D0 08 + lda a:EnemyIndex,y ; CPU:$AE6E PRG:2E6E B9 87 00 + bne NmiHandler_Loop240 ; CPU:$AE71 PRG:2E71 D0 08 lda #$07 ; CPU:$AE73 PRG:2E73 A9 07 - sta ZpB7,x ; CPU:$AE75 PRG:2E75 95 B7 + sta PlayerY,x ; CPU:$AE75 PRG:2E75 95 B7 tya ; CPU:$AE77 PRG:2E77 98 tax ; CPU:$AE78 PRG:2E78 AA - inc ZpB7,x ; CPU:$AE79 PRG:2E79 F6 B7 + inc PlayerY,x ; CPU:$AE79 PRG:2E79 F6 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop176 -; Global: Branch target inside NmiHandler: taken when Loop176. +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop176: +NmiHandler_Loop240: sec ; CPU:$AE7B PRG:2E7B 38 rts ; CPU:$AE7C PRG:2E7C 60 -; ---- data $AE7D-$B1E2 (870 bytes) ---- - .byte $A5, $49, $29, $04, $4A, $95, $B7, $86, $00, $A5, $49, $29, $03, $C5, $00, $F0 ; CPU:$AE7D PRG:2E7D A5 49 29 04 4A 95 B7 86 00 A5 49 29 03 C5 00 F0 - .byte $ED, $BD, $44, $04, $0A, $A8, $B9, $62, $A1, $85, $00, $C8, $B9, $62, $A1, $85 ; CPU:$AE8D PRG:2E8D ED BD 44 04 0A A8 B9 62 A1 85 00 C8 B9 62 A1 85 - .byte $01, $6C, $00, $00, $B5, $2B, $D0, $2C, $A9, $01, $95, $80, $D0, $06, $B5, $18 ; CPU:$AE9D PRG:2E9D 01 6C 00 00 B5 2B D0 2C A9 01 95 80 D0 06 B5 18 - .byte $29, $03, $D0, $02, $A9, $02, $9D, $44, $04, $B5, $18, $29, $18, $D0, $02, $A9 ; CPU:$AEAD PRG:2EAD 29 03 D0 02 A9 02 9D 44 04 B5 18 29 18 D0 02 A9 - .byte $18, $95, $3F, $A9, $00, $9D, $5A, $04, $9D, $60, $04, $B5, $B0, $C9, $98, $90 ; CPU:$AEBD PRG:2EBD 18 95 3F A9 00 9D 5A 04 9D 60 04 B5 B0 C9 98 90 - .byte $03, $FE, $60, $04, $60, $BC, $54, $04, $B9, $BC, $A1, $20, $06, $B2, $BD, $66 ; CPU:$AECD PRG:2ECD 03 FE 60 04 60 BC 54 04 B9 BC A1 20 06 B2 BD 66 - .byte $04, $18, $65, $0A, $C9, $18, $90, $08, $BD, $4A, $04, $49, $01, $9D, $4A, $04 ; CPU:$AEDD PRG:2EDD 04 18 65 0A C9 18 90 08 BD 4A 04 49 01 9D 4A 04 - .byte $9D, $66, $04, $BC, $54, $04, $B9, $C3, $A1, $85, $00, $85, $01, $BD, $44, $04 ; CPU:$AEED PRG:2EED 9D 66 04 BC 54 04 B9 C3 A1 85 00 85 01 BD 44 04 - .byte $C9, $02, $F0, $05, $B9, $CA, $A1, $85, $00, $BC, $44, $04, $88, $F0, $36, $BD ; CPU:$AEFD PRG:2EFD C9 02 F0 05 B9 CA A1 85 00 BC 44 04 88 F0 36 BD - .byte $5A, $04, $18, $65, $0A, $D9, $B9, $A1, $90, $13, $BD, $78, $04, $D0, $06, $FE ; CPU:$AF0D PRG:2F0D 5A 04 18 65 0A D9 B9 A1 90 13 BD 78 04 D0 06 FE - .byte $78, $04, $4C, $AB, $AE, $BD, $60, $04, $49, $01, $9D, $60, $04, $9D, $5A, $04 ; CPU:$AF1D PRG:2F1D 78 04 4C AB AE BD 60 04 49 01 9D 60 04 9D 5A 04 - .byte $A0, $00, $A5, $00, $18, $7D, $80, $04, $9D, $80, $04, $90, $08, $C8, $BD, $60 ; CPU:$AF2D PRG:2F2D A0 00 A5 00 18 7D 80 04 9D 80 04 90 08 C8 BD 60 - .byte $04, $F0, $02, $88, $88, $A5, $01, $4A, $20, $EA, $AF, $A0, $00, $B5, $B0, $C9 ; CPU:$AF3D PRG:2F3D 04 F0 02 88 88 A5 01 4A 20 EA AF A0 00 B5 B0 C9 - .byte $6C, $90, $05, $C8, $C9, $B4, $90, $0A, $98, $9D, $5A, $04, $9D, $60, $04, $9D ; CPU:$AF4D PRG:2F4D 6C 90 05 C8 C9 B4 90 0A 98 9D 5A 04 9D 60 04 9D - .byte $4A, $04, $BD, $44, $04, $C9, $04, $B0, $16, $B5, $3F, $D0, $13, $B5, $18, $C9 ; CPU:$AF5D PRG:2F5D 4A 04 BD 44 04 C9 04 B0 16 B5 3F D0 13 B5 18 C9 - .byte $E0, $90, $0D, $C9, $F0, $B0, $27, $A9, $06, $9D, $44, $04, $0A, $95, $3F, $60 ; CPU:$AF6D PRG:2F6D E0 90 0D C9 F0 B0 27 A9 06 9D 44 04 0A 95 3F 60 - .byte $B5, $DF, $F0, $10, $C9, $03, $D0, $2D, $B5, $C0, $F0, $29, $B5, $CE, $C9, $E0 ; CPU:$AF7D PRG:2F7D B5 DF F0 10 C9 03 D0 2D B5 C0 F0 29 B5 CE C9 E0 - .byte $B0, $0C, $90, $21, $B5, $C0, $D0, $1D, $B5, $CE, $C9, $40, $B0, $17, $A0, $00 ; CPU:$AF8D PRG:2F8D B0 0C 90 21 B5 C0 D0 1D B5 CE C9 40 B0 17 A0 00 - .byte $B5, $B0, $C9, $90, $90, $01, $C8, $98, $9D, $4A, $04, $A9, $04, $9D, $44, $04 ; CPU:$AF9D PRG:2F9D B5 B0 C9 90 90 01 C8 98 9D 4A 04 A9 04 9D 44 04 - .byte $A9, $FF, $9D, $72, $04, $60, $A9, $0A, $18, $7D, $72, $04, $9D, $72, $04, $B0 ; CPU:$AFAD PRG:2FAD A9 FF 9D 72 04 60 A9 0A 18 7D 72 04 9D 72 04 B0 - .byte $0D, $90, $21, $BD, $72, $04, $38, $E9, $0A, $9D, $72, $04, $B0, $16, $A9, $05 ; CPU:$AFBD PRG:2FBD 0D 90 21 BD 72 04 38 E9 0A 9D 72 04 B0 16 A9 05 - .byte $DD, $44, $04, $D0, $03, $4C, $AB, $AE, $9D, $44, $04, $B5, $C0, $49, $01, $95 ; CPU:$AFCD PRG:2FCD DD 44 04 D0 03 4C AB AE 9D 44 04 B5 C0 49 01 95 - .byte $C0, $9D, $72, $04, $A0, $00, $20, $08, $B2, $A0, $00, $A9, $C0, $18, $7D, $6C ; CPU:$AFDD PRG:2FDD C0 9D 72 04 A0 00 20 08 B2 A0 00 A9 C0 18 7D 6C - .byte $04, $9D, $6C, $04, $90, $08, $C8, $BD, $4A, $04, $F0, $02, $88, $88, $4C, $3F ; CPU:$AFED PRG:2FED 04 9D 6C 04 90 08 C8 BD 4A 04 F0 02 88 88 4C 3F - .byte $B2, $B5, $3F, $F0, $15, $BD, $60, $04, $85, $03, $A5, $49, $29, $02, $85, $0A ; CPU:$AFFD PRG:2FFD B2 B5 3F F0 15 BD 60 04 85 03 A5 49 29 02 85 0A - .byte $20, $DB, $AE, $BD, $60, $04, $C5, $03, $F0, $3E, $4C, $AB, $AE, $20, $04, $B2 ; CPU:$B00D PRG:300D 20 DB AE BD 60 04 C5 03 F0 3E 4C AB AE 20 04 B2 - .byte $B5, $C0, $F0, $10, $BD, $FB, $04, $D5, $DF, $D0, $21, $BD, $F6, $04, $D5, $CE ; CPU:$B01D PRG:301D B5 C0 F0 10 BD FB 04 D5 DF D0 21 BD F6 04 D5 CE - .byte $90, $10, $B0, $18, $BD, $FB, $04, $D5, $DF, $D0, $11, $BD, $F6, $04, $D5, $CE ; CPU:$B02D PRG:302D 90 10 B0 18 BD FB 04 D5 DF D0 11 BD F6 04 D5 CE - .byte $B0, $0A, $A9, $01, $85, $FF, $20, $CD, $B8, $4C, $43, $B2, $A5, $49, $29, $03 ; CPU:$B03D PRG:303D B0 0A A9 01 85 FF 20 CD B8 4C 43 B2 A5 49 29 03 - .byte $D0, $06, $B5, $B7, $49, $02, $95, $B7, $60, $BD, $78, $04, $D0, $0E, $20, $31 ; CPU:$B04D PRG:304D D0 06 B5 B7 49 02 95 B7 60 BD 78 04 D0 0E 20 31 - .byte $B2, $C9, $78, $90, $F3, $A9, $10, $95, $3F, $FE, $78, $04, $B5, $3F, $D0, $3A ; CPU:$B05D PRG:305D B2 C9 78 90 F3 A9 10 95 3F FE 78 04 B5 3F D0 3A - .byte $A9, $01, $85, $FF, $A0, $02, $B5, $DF, $85, $00, $B5, $CE, $38, $E9, $04, $99 ; CPU:$B06D PRG:306D A9 01 85 FF A0 02 B5 DF 85 00 B5 CE 38 E9 04 99 - .byte $D9, $00, $B0, $02, $C6, $00, $A5, $00, $99, $EA, $00, $B5, $B0, $99, $21, $04 ; CPU:$B07D PRG:307D D9 00 B0 02 C6 00 A5 00 99 EA 00 B5 B0 99 21 04 - .byte $A9, $01, $99, $30, $04, $B9, $8B, $A2, $99, $24, $04, $B9, $8E, $A2, $99, $27 ; CPU:$B08D PRG:308D A9 01 99 30 04 B9 8B A2 99 24 04 B9 8E A2 99 27 - .byte $04, $88, $10, $D2, $20, $CD, $B8, $4C, $43, $B2, $BD, $FC, $03, $D0, $1C, $A9 ; CPU:$B09D PRG:309D 04 88 10 D2 20 CD B8 4C 43 B2 BD FC 03 D0 1C A9 - .byte $03, $9D, $FC, $03, $B5, $19, $29, $10, $85, $00, $B5, $C0, $29, $10, $D0, $06 ; CPU:$B0AD PRG:30AD 03 9D FC 03 B5 19 29 10 85 00 B5 C0 29 10 D0 06 - .byte $A5, $00, $09, $20, $85, $00, $A5, $00, $4C, $CE, $B0, $C9, $01, $D0, $06, $A9 ; CPU:$B0BD PRG:30BD A5 00 09 20 85 00 A5 00 4C CE B0 C9 01 D0 06 A9 - .byte $01, $55, $C0, $95, $C0, $A0, $01, $B5, $C0, $29, $10, $D0, $0C, $B5, $C0, $29 ; CPU:$B0CD PRG:30CD 01 55 C0 95 C0 A0 01 B5 C0 29 10 D0 0C B5 C0 29 - .byte $20, $D0, $02, $A0, $FF, $98, $20, $A5, $C7, $A0, $01, $BD, $FC, $03, $4A, $55 ; CPU:$B0DD PRG:30DD 20 D0 02 A0 FF 98 20 A5 C7 A0 01 BD FC 03 4A 55 - .byte $C0, $29, $01, $F0, $02, $A0, $FF, $98, $20, $20, $B2, $A9, $00, $DE, $FC, $03 ; CPU:$B0ED PRG:30ED C0 29 01 F0 02 A0 FF 98 20 20 B2 A9 00 DE FC 03 - .byte $10, $03, $9D, $FC, $03, $60, $BC, $B8, $04, $B5, $3F, $15, $2B, $D0, $23, $B5 ; CPU:$B0FD PRG:30FD 10 03 9D FC 03 60 BC B8 04 B5 3F 15 2B D0 23 B5 - .byte $C7, $F0, $32, $A9, $05, $95, $2B, $C0, $06, $F0, $07, $C0, $05, $F0, $2C, $4C ; CPU:$B10D PRG:310D C7 F0 32 A9 05 95 2B C0 06 F0 07 C0 05 F0 2C 4C - .byte $5D, $B1, $D6, $C7, $B5, $C7, $F0, $07, $C9, $04, $D0, $33, $4C, $C9, $B1, $4C ; CPU:$B11D PRG:311D 5D B1 D6 C7 B5 C7 F0 07 C9 04 D0 33 4C C9 B1 4C - .byte $43, $B2, $C0, $06, $F0, $29, $BD, $A0, $04, $10, $24, $C0, $03, $D0, $20, $A9 ; CPU:$B12D PRG:312D 43 B2 C0 06 F0 29 BD A0 04 10 24 C0 03 D0 20 A9 - .byte $00, $95, $3F, $F0, $2A, $B9, $D1, $A1, $95, $C7, $60, $D6, $C7, $B5, $C7, $F0 ; CPU:$B13D PRG:313D 00 95 3F F0 2A B9 D1 A1 95 C7 60 D6 C7 B5 C7 F0 - .byte $05, $C9, $03, $F0, $4F, $60, $A9, $03, $9D, $B8, $04, $A9, $02, $95, $3F, $60 ; CPU:$B14D PRG:314D 05 C9 03 F0 4F 60 A9 03 9D B8 04 A9 02 95 3F 60 - .byte $B4, $C7, $B9, $26, $A2, $95, $2B, $D6, $C7, $D0, $0D, $A9, $03, $95, $3F, $A9 ; CPU:$B15D PRG:315D B4 C7 B9 26 A2 95 2B D6 C7 D0 0D A9 03 95 3F A9 - .byte $06, $9D, $B8, $04, $A9, $00, $95, $C7, $60, $20, $31, $B2, $C9, $AA, $90, $F8 ; CPU:$B16D PRG:316D 06 9D B8 04 A9 00 95 C7 60 20 31 B2 C9 AA 90 F8 - .byte $A9, $01, $85, $FF, $4A, $95, $B7, $A9, $0E, $95, $87, $4A, $95, $C7, $A9, $05 ; CPU:$B17D PRG:317D A9 01 85 FF 4A 95 B7 A9 0E 95 87 4A 95 C7 A9 05 - .byte $9D, $B8, $04, $A9, $89, $D0, $33, $BD, $78, $04, $F0, $14, $B5, $2B, $D0, $32 ; CPU:$B18D PRG:318D 9D B8 04 A9 89 D0 33 BD 78 04 F0 14 B5 2B D0 32 - .byte $95, $C7, $F6, $87, $B5, $80, $29, $F7, $95, $80, $BD, $EA, $04, $95, $C0, $60 ; CPU:$B19D PRG:319D 95 C7 F6 87 B5 80 29 F7 95 80 BD EA 04 95 C0 60 - .byte $20, $31, $B2, $C9, $AA, $90, $1B, $A9, $02, $85, $FF, $4A, $95, $C7, $9D, $B8 ; CPU:$B1AD PRG:31AD 20 31 B2 C9 AA 90 1B A9 02 85 FF 4A 95 C7 9D B8 - .byte $04, $9D, $78, $04, $A9, $0E, $95, $2B, $A9, $A8, $95, $B0, $B5, $80, $09, $08 ; CPU:$B1BD PRG:31BD 04 9D 78 04 A9 0E 95 2B A9 A8 95 B0 B5 80 09 08 - .byte $95, $80, $60, $A9, $10, $95, $87, $D0, $D1, $A5, $49, $4A, $4A, $4A, $29, $01 ; CPU:$B1CD PRG:31CD 95 80 60 A9 10 95 87 D0 D1 A5 49 4A 4A 4A 29 01 - .byte $95, $B7, $A9, $A9, $D0, $23 ; CPU:$B1DD PRG:31DD 95 B7 A9 A9 D0 23 +; ----------------------------------------------------------------------------- +; Routine: Label_AE7D +; Global: Branch target inside Label: taken when AE7D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AE7D: + lda Zp49 ; CPU:$AE7D PRG:2E7D A5 49 + and #$04 ; CPU:$AE7F PRG:2E7F 29 04 + lsr a ; CPU:$AE81 PRG:2E81 4A + sta PlayerY,x ; CPU:$AE82 PRG:2E82 95 B7 + stx VramWritePtrLo ; CPU:$AE84 PRG:2E84 86 00 + lda Zp49 ; CPU:$AE86 PRG:2E86 A5 49 + and #$03 ; CPU:$AE88 PRG:2E88 29 03 + cmp VramWritePtrLo ; CPU:$AE8A PRG:2E8A C5 00 + beq NmiHandler_Loop240 ; CPU:$AE8C PRG:2E8C F0 ED + lda $0444,x ; CPU:$AE8E PRG:2E8E BD 44 04 + asl a ; CPU:$AE91 PRG:2E91 0A + tay ; CPU:$AE92 PRG:2E92 A8 + lda $A162,y ; CPU:$AE93 PRG:2E93 B9 62 A1 + sta VramWritePtrLo ; CPU:$AE96 PRG:2E96 85 00 + iny ; CPU:$AE98 PRG:2E98 C8 + lda $A162,y ; CPU:$AE99 PRG:2E99 B9 62 A1 + sta VramWritePtrHi ; CPU:$AE9C PRG:2E9C 85 01 + jmp (VramWritePtrLo) ; CPU:$AE9E PRG:2E9E 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AEA1 +; Global: Branch target inside Label: taken when AEA1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AEA1: + lda Zp2B,x ; CPU:$AEA1 PRG:2EA1 B5 2B + bne NmiHandler_Loop244 ; CPU:$AEA3 PRG:2EA3 D0 2C + lda #$01 ; CPU:$AEA5 PRG:2EA5 A9 01 + sta SpriteTimer,x ; CPU:$AEA7 PRG:2EA7 95 80 + bne NmiHandler_Loop241 ; CPU:$AEA9 PRG:2EA9 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEAB +; Global: Branch target inside Sub: taken when AEAB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEAB: + lda Zp18,x ; CPU:$AEAB PRG:2EAB B5 18 + and #$03 ; CPU:$AEAD PRG:2EAD 29 03 + bne NmiHandler_Loop242 ; CPU:$AEAF PRG:2EAF D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + lda #$02 ; CPU:$AEB1 PRG:2EB1 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + sta $0444,x ; CPU:$AEB3 PRG:2EB3 9D 44 04 + lda Zp18,x ; CPU:$AEB6 PRG:2EB6 B5 18 + and #$18 ; CPU:$AEB8 PRG:2EB8 29 18 + bne NmiHandler_Loop243 ; CPU:$AEBA PRG:2EBA D0 02 + lda #$18 ; CPU:$AEBC PRG:2EBC A9 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + sta Zp3F,x ; CPU:$AEBE PRG:2EBE 95 3F + lda #$00 ; CPU:$AEC0 PRG:2EC0 A9 00 + sta $045A,x ; CPU:$AEC2 PRG:2EC2 9D 5A 04 + sta $0460,x ; CPU:$AEC5 PRG:2EC5 9D 60 04 + lda PlayerX,x ; CPU:$AEC8 PRG:2EC8 B5 B0 + cmp #$98 ; CPU:$AECA PRG:2ECA C9 98 + bcc NmiHandler_Loop244 ; CPU:$AECC PRG:2ECC 90 03 + inc $0460,x ; CPU:$AECE PRG:2ECE FE 60 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop244: + rts ; CPU:$AED1 PRG:2ED1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AED2 +; Global: Branch target inside Label: taken when AED2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AED2: + ldy $0454,x ; CPU:$AED2 PRG:2ED2 BC 54 04 + lda $A1BC,y ; CPU:$AED5 PRG:2ED5 B9 BC A1 + jsr NmiHandler_Loop291 ; CPU:$AED8 PRG:2ED8 20 06 B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEDB +; Global: Branch target inside Sub: taken when AEDB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEDB: + lda $0466,x ; CPU:$AEDB PRG:2EDB BD 66 04 + clc ; CPU:$AEDE PRG:2EDE 18 + adc Zp0A ; CPU:$AEDF PRG:2EDF 65 0A + cmp #$18 ; CPU:$AEE1 PRG:2EE1 C9 18 + bcc NmiHandler_Loop245 ; CPU:$AEE3 PRG:2EE3 90 08 + lda $044A,x ; CPU:$AEE5 PRG:2EE5 BD 4A 04 + eor #$01 ; CPU:$AEE8 PRG:2EE8 49 01 + sta $044A,x ; CPU:$AEEA PRG:2EEA 9D 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + sta $0466,x ; CPU:$AEED PRG:2EED 9D 66 04 + ldy $0454,x ; CPU:$AEF0 PRG:2EF0 BC 54 04 + lda $A1C3,y ; CPU:$AEF3 PRG:2EF3 B9 C3 A1 + sta VramWritePtrLo ; CPU:$AEF6 PRG:2EF6 85 00 + sta VramWritePtrHi ; CPU:$AEF8 PRG:2EF8 85 01 + lda $0444,x ; CPU:$AEFA PRG:2EFA BD 44 04 + cmp #$02 ; CPU:$AEFD PRG:2EFD C9 02 + beq NmiHandler_Loop246 ; CPU:$AEFF PRG:2EFF F0 05 + lda $A1CA,y ; CPU:$AF01 PRG:2F01 B9 CA A1 + sta VramWritePtrLo ; CPU:$AF04 PRG:2F04 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + ldy $0444,x ; CPU:$AF06 PRG:2F06 BC 44 04 + dey ; CPU:$AF09 PRG:2F09 88 + beq NmiHandler_Loop249 ; CPU:$AF0A PRG:2F0A F0 36 + lda $045A,x ; CPU:$AF0C PRG:2F0C BD 5A 04 + clc ; CPU:$AF0F PRG:2F0F 18 + adc Zp0A ; CPU:$AF10 PRG:2F10 65 0A + cmp $A1B9,y ; CPU:$AF12 PRG:2F12 D9 B9 A1 + bcc NmiHandler_Loop248 ; CPU:$AF15 PRG:2F15 90 13 + lda $0478,x ; CPU:$AF17 PRG:2F17 BD 78 04 + bne NmiHandler_Loop247 ; CPU:$AF1A PRG:2F1A D0 06 + inc $0478,x ; CPU:$AF1C PRG:2F1C FE 78 04 + jmp Sub_AEAB ; CPU:$AF1F PRG:2F1F 4C AB AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + lda $0460,x ; CPU:$AF22 PRG:2F22 BD 60 04 + eor #$01 ; CPU:$AF25 PRG:2F25 49 01 + sta $0460,x ; CPU:$AF27 PRG:2F27 9D 60 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + sta $045A,x ; CPU:$AF2A PRG:2F2A 9D 5A 04 + ldy #$00 ; CPU:$AF2D PRG:2F2D A0 00 + lda VramWritePtrLo ; CPU:$AF2F PRG:2F2F A5 00 + clc ; CPU:$AF31 PRG:2F31 18 + adc $0480,x ; CPU:$AF32 PRG:2F32 7D 80 04 + sta $0480,x ; CPU:$AF35 PRG:2F35 9D 80 04 + bcc NmiHandler_Loop249 ; CPU:$AF38 PRG:2F38 90 08 + iny ; CPU:$AF3A PRG:2F3A C8 + lda $0460,x ; CPU:$AF3B PRG:2F3B BD 60 04 + beq NmiHandler_Loop249 ; CPU:$AF3E PRG:2F3E F0 02 + dey ; CPU:$AF40 PRG:2F40 88 + dey ; CPU:$AF41 PRG:2F41 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + lda VramWritePtrHi ; CPU:$AF42 PRG:2F42 A5 01 + lsr a ; CPU:$AF44 PRG:2F44 4A + jsr Sub_AFEA ; CPU:$AF45 PRG:2F45 20 EA AF + ldy #$00 ; CPU:$AF48 PRG:2F48 A0 00 + lda PlayerX,x ; CPU:$AF4A PRG:2F4A B5 B0 + cmp #$6C ; CPU:$AF4C PRG:2F4C C9 6C + bcc NmiHandler_Loop250 ; CPU:$AF4E PRG:2F4E 90 05 + iny ; CPU:$AF50 PRG:2F50 C8 + cmp #$B4 ; CPU:$AF51 PRG:2F51 C9 B4 + bcc NmiHandler_Loop251 ; CPU:$AF53 PRG:2F53 90 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop250: + tya ; CPU:$AF55 PRG:2F55 98 + sta $045A,x ; CPU:$AF56 PRG:2F56 9D 5A 04 + sta $0460,x ; CPU:$AF59 PRG:2F59 9D 60 04 + sta $044A,x ; CPU:$AF5C PRG:2F5C 9D 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + lda $0444,x ; CPU:$AF5F PRG:2F5F BD 44 04 + cmp #$04 ; CPU:$AF62 PRG:2F62 C9 04 + bcs NmiHandler_Loop252 ; CPU:$AF64 PRG:2F64 B0 16 + lda Zp3F,x ; CPU:$AF66 PRG:2F66 B5 3F + bne NmiHandler_Loop253 ; CPU:$AF68 PRG:2F68 D0 13 + lda Zp18,x ; CPU:$AF6A PRG:2F6A B5 18 + cmp #$E0 ; CPU:$AF6C PRG:2F6C C9 E0 + bcc NmiHandler_Loop253 ; CPU:$AF6E PRG:2F6E 90 0D + cmp #$F0 ; CPU:$AF70 PRG:2F70 C9 F0 + bcs NmiHandler_Loop255 ; CPU:$AF72 PRG:2F72 B0 27 + lda #$06 ; CPU:$AF74 PRG:2F74 A9 06 + sta $0444,x ; CPU:$AF76 PRG:2F76 9D 44 04 + asl a ; CPU:$AF79 PRG:2F79 0A + sta Zp3F,x ; CPU:$AF7A PRG:2F7A 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop252: + rts ; CPU:$AF7C PRG:2F7C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + lda EnemyHealth,x ; CPU:$AF7D PRG:2F7D B5 DF + beq NmiHandler_Loop254 ; CPU:$AF7F PRG:2F7F F0 10 + cmp #$03 ; CPU:$AF81 PRG:2F81 C9 03 + bne NmiHandler_Loop257 ; CPU:$AF83 PRG:2F83 D0 2D + lda GameState,x ; CPU:$AF85 PRG:2F85 B5 C0 + beq NmiHandler_Loop257 ; CPU:$AF87 PRG:2F87 F0 29 + lda ZpCE,x ; CPU:$AF89 PRG:2F89 B5 CE + cmp #$E0 ; CPU:$AF8B PRG:2F8B C9 E0 + bcs NmiHandler_Loop255 ; CPU:$AF8D PRG:2F8D B0 0C + bcc NmiHandler_Loop257 ; CPU:$AF8F PRG:2F8F 90 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + lda GameState,x ; CPU:$AF91 PRG:2F91 B5 C0 + bne NmiHandler_Loop257 ; CPU:$AF93 PRG:2F93 D0 1D + lda ZpCE,x ; CPU:$AF95 PRG:2F95 B5 CE + cmp #$40 ; CPU:$AF97 PRG:2F97 C9 40 + bcs NmiHandler_Loop257 ; CPU:$AF99 PRG:2F99 B0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + ldy #$00 ; CPU:$AF9B PRG:2F9B A0 00 + lda PlayerX,x ; CPU:$AF9D PRG:2F9D B5 B0 + cmp #$90 ; CPU:$AF9F PRG:2F9F C9 90 + bcc NmiHandler_Loop256 ; CPU:$AFA1 PRG:2FA1 90 01 + iny ; CPU:$AFA3 PRG:2FA3 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + tya ; CPU:$AFA4 PRG:2FA4 98 + sta $044A,x ; CPU:$AFA5 PRG:2FA5 9D 4A 04 + lda #$04 ; CPU:$AFA8 PRG:2FA8 A9 04 + sta $0444,x ; CPU:$AFAA PRG:2FAA 9D 44 04 + lda #$FF ; CPU:$AFAD PRG:2FAD A9 FF + sta $0472,x ; CPU:$AFAF PRG:2FAF 9D 72 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + rts ; CPU:$AFB2 PRG:2FB2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AFB3 +; Global: Branch target inside Label: taken when AFB3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFB3: + lda #$0A ; CPU:$AFB3 PRG:2FB3 A9 0A + clc ; CPU:$AFB5 PRG:2FB5 18 + adc $0472,x ; CPU:$AFB6 PRG:2FB6 7D 72 04 + sta $0472,x ; CPU:$AFB9 PRG:2FB9 9D 72 04 + bcs NmiHandler_Loop258 ; CPU:$AFBC PRG:2FBC B0 0D + bcc NmiHandler_Loop260 ; CPU:$AFBE PRG:2FBE 90 21 + lda $0472,x ; CPU:$AFC0 PRG:2FC0 BD 72 04 + sec ; CPU:$AFC3 PRG:2FC3 38 + sbc #$0A ; CPU:$AFC4 PRG:2FC4 E9 0A + sta $0472,x ; CPU:$AFC6 PRG:2FC6 9D 72 04 + bcs NmiHandler_Loop260 ; CPU:$AFC9 PRG:2FC9 B0 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + lda #$05 ; CPU:$AFCB PRG:2FCB A9 05 + cmp $0444,x ; CPU:$AFCD PRG:2FCD DD 44 04 + bne NmiHandler_Loop259 ; CPU:$AFD0 PRG:2FD0 D0 03 + jmp Sub_AEAB ; CPU:$AFD2 PRG:2FD2 4C AB AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + sta $0444,x ; CPU:$AFD5 PRG:2FD5 9D 44 04 + lda GameState,x ; CPU:$AFD8 PRG:2FD8 B5 C0 + eor #$01 ; CPU:$AFDA PRG:2FDA 49 01 + sta GameState,x ; CPU:$AFDC PRG:2FDC 95 C0 + sta $0472,x ; CPU:$AFDE PRG:2FDE 9D 72 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + ldy #$00 ; CPU:$AFE1 PRG:2FE1 A0 00 + jsr Sub_B208 ; CPU:$AFE3 PRG:2FE3 20 08 B2 + ldy #$00 ; CPU:$AFE6 PRG:2FE6 A0 00 + lda #$C0 ; CPU:$AFE8 PRG:2FE8 A9 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_AFEA +; Global: Branch target inside Sub: taken when AFEA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AFEA: + clc ; CPU:$AFEA PRG:2FEA 18 + adc $046C,x ; CPU:$AFEB PRG:2FEB 7D 6C 04 + sta $046C,x ; CPU:$AFEE PRG:2FEE 9D 6C 04 + bcc NmiHandler_Loop261 ; CPU:$AFF1 PRG:2FF1 90 08 + iny ; CPU:$AFF3 PRG:2FF3 C8 + lda $044A,x ; CPU:$AFF4 PRG:2FF4 BD 4A 04 + beq NmiHandler_Loop261 ; CPU:$AFF7 PRG:2FF7 F0 02 + dey ; CPU:$AFF9 PRG:2FF9 88 + dey ; CPU:$AFFA PRG:2FFA 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + jmp NmiHandler_Loop296 ; CPU:$AFFB PRG:2FFB 4C 3F B2 +; ----------------------------------------------------------------------------- +; Routine: Label_AFFE +; Global: Branch target inside Label: taken when AFFE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFFE: + lda Zp3F,x ; CPU:$AFFE PRG:2FFE B5 3F + beq NmiHandler_Loop262 ; CPU:$B000 PRG:3000 F0 15 + lda $0460,x ; CPU:$B002 PRG:3002 BD 60 04 + sta DispatchPtrHi ; CPU:$B005 PRG:3005 85 03 + lda Zp49 ; CPU:$B007 PRG:3007 A5 49 + and #$02 ; CPU:$B009 PRG:3009 29 02 + sta Zp0A ; CPU:$B00B PRG:300B 85 0A + jsr Sub_AEDB ; CPU:$B00D PRG:300D 20 DB AE + lda $0460,x ; CPU:$B010 PRG:3010 BD 60 04 + cmp DispatchPtrHi ; CPU:$B013 PRG:3013 C5 03 + beq NmiHandler_Loop266 ; CPU:$B015 PRG:3015 F0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + jmp Sub_AEAB ; CPU:$B017 PRG:3017 4C AB AE +; ----------------------------------------------------------------------------- +; Routine: Label_B01A +; Global: Branch target inside Label: taken when B01A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B01A: + jsr NmiHandler_Loop290 ; CPU:$B01A PRG:301A 20 04 B2 + lda GameState,x ; CPU:$B01D PRG:301D B5 C0 + beq NmiHandler_Loop263 ; CPU:$B01F PRG:301F F0 10 + lda $04FB,x ; CPU:$B021 PRG:3021 BD FB 04 + cmp EnemyHealth,x ; CPU:$B024 PRG:3024 D5 DF + bne NmiHandler_Loop265 ; CPU:$B026 PRG:3026 D0 21 + lda $04F6,x ; CPU:$B028 PRG:3028 BD F6 04 + cmp ZpCE,x ; CPU:$B02B PRG:302B D5 CE + bcc NmiHandler_Loop264 ; CPU:$B02D PRG:302D 90 10 + bcs NmiHandler_Loop265 ; CPU:$B02F PRG:302F B0 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + lda $04FB,x ; CPU:$B031 PRG:3031 BD FB 04 + cmp EnemyHealth,x ; CPU:$B034 PRG:3034 D5 DF + bne NmiHandler_Loop265 ; CPU:$B036 PRG:3036 D0 11 + lda $04F6,x ; CPU:$B038 PRG:3038 BD F6 04 + cmp ZpCE,x ; CPU:$B03B PRG:303B D5 CE + bcs NmiHandler_Loop265 ; CPU:$B03D PRG:303D B0 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + lda #$01 ; CPU:$B03F PRG:303F A9 01 + sta ZpFF ; CPU:$B041 PRG:3041 85 FF + jsr Sub_B8CD ; CPU:$B043 PRG:3043 20 CD B8 + jmp Sub_B243 ; CPU:$B046 PRG:3046 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + lda Zp49 ; CPU:$B049 PRG:3049 A5 49 + and #$03 ; CPU:$B04B PRG:304B 29 03 + bne NmiHandler_Loop266 ; CPU:$B04D PRG:304D D0 06 + lda PlayerY,x ; CPU:$B04F PRG:304F B5 B7 + eor #$02 ; CPU:$B051 PRG:3051 49 02 + sta PlayerY,x ; CPU:$B053 PRG:3053 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + rts ; CPU:$B055 PRG:3055 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B056 +; Global: Branch target inside Label: taken when B056. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B056: + lda $0478,x ; CPU:$B056 PRG:3056 BD 78 04 + bne NmiHandler_Loop267 ; CPU:$B059 PRG:3059 D0 0E + jsr Sub_B231 ; CPU:$B05B PRG:305B 20 31 B2 + cmp #$78 ; CPU:$B05E PRG:305E C9 78 + bcc NmiHandler_Loop266 ; CPU:$B060 PRG:3060 90 F3 + lda #$10 ; CPU:$B062 PRG:3062 A9 10 + sta Zp3F,x ; CPU:$B064 PRG:3064 95 3F + inc $0478,x ; CPU:$B066 PRG:3066 FE 78 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + lda Zp3F,x ; CPU:$B069 PRG:3069 B5 3F + bne NmiHandler_Loop269 ; CPU:$B06B PRG:306B D0 3A + lda #$01 ; CPU:$B06D PRG:306D A9 01 + sta ZpFF ; CPU:$B06F PRG:306F 85 FF + ldy #$02 ; CPU:$B071 PRG:3071 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative24 +; Global: Branch target inside NmiHandler: taken when OnNonnegative24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative24: + lda EnemyHealth,x ; CPU:$B073 PRG:3073 B5 DF + sta VramWritePtrLo ; CPU:$B075 PRG:3075 85 00 + lda ZpCE,x ; CPU:$B077 PRG:3077 B5 CE + sec ; CPU:$B079 PRG:3079 38 + sbc #$04 ; CPU:$B07A PRG:307A E9 04 + sta a:ZpD9,y ; CPU:$B07C PRG:307C 99 D9 00 + bcs NmiHandler_Loop268 ; CPU:$B07F PRG:307F B0 02 + dec VramWritePtrLo ; CPU:$B081 PRG:3081 C6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + lda VramWritePtrLo ; CPU:$B083 PRG:3083 A5 00 + sta a:ZpEA,y ; CPU:$B085 PRG:3085 99 EA 00 + lda PlayerX,x ; CPU:$B088 PRG:3088 B5 B0 + sta $0421,y ; CPU:$B08A PRG:308A 99 21 04 + lda #$01 ; CPU:$B08D PRG:308D A9 01 + sta $0430,y ; CPU:$B08F PRG:308F 99 30 04 + lda $A28B,y ; CPU:$B092 PRG:3092 B9 8B A2 + sta $0424,y ; CPU:$B095 PRG:3095 99 24 04 + lda $A28E,y ; CPU:$B098 PRG:3098 B9 8E A2 + sta $0427,y ; CPU:$B09B PRG:309B 99 27 04 + dey ; CPU:$B09E PRG:309E 88 + bpl NmiHandler_OnNonnegative24 ; CPU:$B09F PRG:309F 10 D2 + jsr Sub_B8CD ; CPU:$B0A1 PRG:30A1 20 CD B8 + jmp Sub_B243 ; CPU:$B0A4 PRG:30A4 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + lda $03FC,x ; CPU:$B0A7 PRG:30A7 BD FC 03 + bne NmiHandler_Loop271 ; CPU:$B0AA PRG:30AA D0 1C + lda #$03 ; CPU:$B0AC PRG:30AC A9 03 + sta $03FC,x ; CPU:$B0AE PRG:30AE 9D FC 03 + lda Zp19,x ; CPU:$B0B1 PRG:30B1 B5 19 + and #$10 ; CPU:$B0B3 PRG:30B3 29 10 + sta VramWritePtrLo ; CPU:$B0B5 PRG:30B5 85 00 + lda GameState,x ; CPU:$B0B7 PRG:30B7 B5 C0 + and #$10 ; CPU:$B0B9 PRG:30B9 29 10 + bne NmiHandler_Loop270 ; CPU:$B0BB PRG:30BB D0 06 + lda VramWritePtrLo ; CPU:$B0BD PRG:30BD A5 00 + ora #$20 ; CPU:$B0BF PRG:30BF 09 20 + sta VramWritePtrLo ; CPU:$B0C1 PRG:30C1 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + lda VramWritePtrLo ; CPU:$B0C3 PRG:30C3 A5 00 + jmp Sub_B0CE ; CPU:$B0C5 PRG:30C5 4C CE B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + cmp #$01 ; CPU:$B0C8 PRG:30C8 C9 01 + bne NmiHandler_Loop272 ; CPU:$B0CA PRG:30CA D0 06 + lda #$01 ; CPU:$B0CC PRG:30CC A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_B0CE +; Global: Branch target inside Sub: taken when B0CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B0CE: + eor GameState,x ; CPU:$B0CE PRG:30CE 55 C0 + sta GameState,x ; CPU:$B0D0 PRG:30D0 95 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + ldy #$01 ; CPU:$B0D2 PRG:30D2 A0 01 + lda GameState,x ; CPU:$B0D4 PRG:30D4 B5 C0 + and #$10 ; CPU:$B0D6 PRG:30D6 29 10 + bne NmiHandler_Loop274 ; CPU:$B0D8 PRG:30D8 D0 0C + lda GameState,x ; CPU:$B0DA PRG:30DA B5 C0 + and #$20 ; CPU:$B0DC PRG:30DC 29 20 + bne NmiHandler_Loop273 ; CPU:$B0DE PRG:30DE D0 02 + ldy #$FF ; CPU:$B0E0 PRG:30E0 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + tya ; CPU:$B0E2 PRG:30E2 98 + jsr Sub_C7A5 ; CPU:$B0E3 PRG:30E3 20 A5 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + ldy #$01 ; CPU:$B0E6 PRG:30E6 A0 01 + lda $03FC,x ; CPU:$B0E8 PRG:30E8 BD FC 03 + lsr a ; CPU:$B0EB PRG:30EB 4A + eor GameState,x ; CPU:$B0EC PRG:30EC 55 C0 + and #$01 ; CPU:$B0EE PRG:30EE 29 01 + beq NmiHandler_Loop275 ; CPU:$B0F0 PRG:30F0 F0 02 + ldy #$FF ; CPU:$B0F2 PRG:30F2 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + tya ; CPU:$B0F4 PRG:30F4 98 + jsr Sub_B220 ; CPU:$B0F5 PRG:30F5 20 20 B2 + lda #$00 ; CPU:$B0F8 PRG:30F8 A9 00 + dec $03FC,x ; CPU:$B0FA PRG:30FA DE FC 03 + bpl NmiHandler_Loop276 ; CPU:$B0FD PRG:30FD 10 03 + sta $03FC,x ; CPU:$B0FF PRG:30FF 9D FC 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + rts ; CPU:$B102 PRG:3102 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B103 +; Global: Branch target inside Label: taken when B103. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B103: + ldy $04B8,x ; CPU:$B103 PRG:3103 BC B8 04 + lda Zp3F,x ; CPU:$B106 PRG:3106 B5 3F + ora Zp2B,x ; CPU:$B108 PRG:3108 15 2B + bne NmiHandler_Loop279 ; CPU:$B10A PRG:310A D0 23 + lda ZpC7,x ; CPU:$B10C PRG:310C B5 C7 + beq NmiHandler_Loop280 ; CPU:$B10E PRG:310E F0 32 + lda #$05 ; CPU:$B110 PRG:3110 A9 05 + sta Zp2B,x ; CPU:$B112 PRG:3112 95 2B + cpy #$06 ; CPU:$B114 PRG:3114 C0 06 + beq NmiHandler_Loop277 ; CPU:$B116 PRG:3116 F0 07 + cpy #$05 ; CPU:$B118 PRG:3118 C0 05 + beq NmiHandler_Loop281 ; CPU:$B11A PRG:311A F0 2C + jmp Sub_B15D ; CPU:$B11C PRG:311C 4C 5D B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + dec ZpC7,x ; CPU:$B11F PRG:311F D6 C7 + lda ZpC7,x ; CPU:$B121 PRG:3121 B5 C7 + beq NmiHandler_Loop278 ; CPU:$B123 PRG:3123 F0 07 + cmp #$04 ; CPU:$B125 PRG:3125 C9 04 + bne NmiHandler_Loop283 ; CPU:$B127 PRG:3127 D0 33 + jmp Sub_B1C9 ; CPU:$B129 PRG:3129 4C C9 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + jmp Sub_B243 ; CPU:$B12C PRG:312C 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + cpy #$06 ; CPU:$B12F PRG:312F C0 06 + beq NmiHandler_Loop283 ; CPU:$B131 PRG:3131 F0 29 + lda $04A0,x ; CPU:$B133 PRG:3133 BD A0 04 + bpl NmiHandler_Loop283 ; CPU:$B136 PRG:3136 10 24 + cpy #$03 ; CPU:$B138 PRG:3138 C0 03 + bne NmiHandler_Loop283 ; CPU:$B13A PRG:313A D0 20 + lda #$00 ; CPU:$B13C PRG:313C A9 00 + sta Zp3F,x ; CPU:$B13E PRG:313E 95 3F + beq NmiHandler_Loop284 ; CPU:$B140 PRG:3140 F0 2A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + lda $A1D1,y ; CPU:$B142 PRG:3142 B9 D1 A1 + sta ZpC7,x ; CPU:$B145 PRG:3145 95 C7 + rts ; CPU:$B147 PRG:3147 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + dec ZpC7,x ; CPU:$B148 PRG:3148 D6 C7 + lda ZpC7,x ; CPU:$B14A PRG:314A B5 C7 + beq NmiHandler_Loop282 ; CPU:$B14C PRG:314C F0 05 + cmp #$03 ; CPU:$B14E PRG:314E C9 03 + beq NmiHandler_Loop285 ; CPU:$B150 PRG:3150 F0 4F + rts ; CPU:$B152 PRG:3152 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + lda #$03 ; CPU:$B153 PRG:3153 A9 03 + sta $04B8,x ; CPU:$B155 PRG:3155 9D B8 04 + lda #$02 ; CPU:$B158 PRG:3158 A9 02 + sta Zp3F,x ; CPU:$B15A PRG:315A 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + rts ; CPU:$B15C PRG:315C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B15D +; Global: Branch target inside Sub: taken when B15D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B15D: + ldy ZpC7,x ; CPU:$B15D PRG:315D B4 C7 + lda $A226,y ; CPU:$B15F PRG:315F B9 26 A2 + sta Zp2B,x ; CPU:$B162 PRG:3162 95 2B + dec ZpC7,x ; CPU:$B164 PRG:3164 D6 C7 + bne NmiHandler_OnCarryClear4 ; CPU:$B166 PRG:3166 D0 0D + lda #$03 ; CPU:$B168 PRG:3168 A9 03 + sta Zp3F,x ; CPU:$B16A PRG:316A 95 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + lda #$06 ; CPU:$B16C PRG:316C A9 06 + sta $04B8,x ; CPU:$B16E PRG:316E 9D B8 04 + lda #$00 ; CPU:$B171 PRG:3171 A9 00 + sta ZpC7,x ; CPU:$B173 PRG:3173 95 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + rts ; CPU:$B175 PRG:3175 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B176 +; Global: Branch target inside Label: taken when B176. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B176: + jsr Sub_B231 ; CPU:$B176 PRG:3176 20 31 B2 + cmp #$AA ; CPU:$B179 PRG:3179 C9 AA + bcc NmiHandler_OnCarryClear4 ; CPU:$B17B PRG:317B 90 F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B17D +; Global: Branch target inside Sub: taken when B17D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B17D: + lda #$01 ; CPU:$B17D PRG:317D A9 01 + sta ZpFF ; CPU:$B17F PRG:317F 85 FF + lsr a ; CPU:$B181 PRG:3181 4A + sta PlayerY,x ; CPU:$B182 PRG:3182 95 B7 + lda #$0E ; CPU:$B184 PRG:3184 A9 0E + sta EnemyIndex,x ; CPU:$B186 PRG:3186 95 87 + lsr a ; CPU:$B188 PRG:3188 4A + sta ZpC7,x ; CPU:$B189 PRG:3189 95 C7 + lda #$05 ; CPU:$B18B PRG:318B A9 05 + sta $04B8,x ; CPU:$B18D PRG:318D 9D B8 04 + lda #$89 ; CPU:$B190 PRG:3190 A9 89 + bne NmiHandler_Loop287 ; CPU:$B192 PRG:3192 D0 33 + lda $0478,x ; CPU:$B194 PRG:3194 BD 78 04 + beq NmiHandler_Loop286 ; CPU:$B197 PRG:3197 F0 14 + lda Zp2B,x ; CPU:$B199 PRG:3199 B5 2B + bne NmiHandler_Loop288 ; CPU:$B19B PRG:319B D0 32 + sta ZpC7,x ; CPU:$B19D PRG:319D 95 C7 + inc EnemyIndex,x ; CPU:$B19F PRG:319F F6 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + lda SpriteTimer,x ; CPU:$B1A1 PRG:31A1 B5 80 + and #$F7 ; CPU:$B1A3 PRG:31A3 29 F7 + sta SpriteTimer,x ; CPU:$B1A5 PRG:31A5 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero30: + lda $04EA,x ; CPU:$B1A7 PRG:31A7 BD EA 04 + sta GameState,x ; CPU:$B1AA PRG:31AA 95 C0 + rts ; CPU:$B1AC PRG:31AC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + jsr Sub_B231 ; CPU:$B1AD PRG:31AD 20 31 B2 + cmp #$AA ; CPU:$B1B0 PRG:31B0 C9 AA + bcc NmiHandler_Loop288 ; CPU:$B1B2 PRG:31B2 90 1B + lda #$02 ; CPU:$B1B4 PRG:31B4 A9 02 + sta ZpFF ; CPU:$B1B6 PRG:31B6 85 FF + lsr a ; CPU:$B1B8 PRG:31B8 4A + sta ZpC7,x ; CPU:$B1B9 PRG:31B9 95 C7 + sta $04B8,x ; CPU:$B1BB PRG:31BB 9D B8 04 + sta $0478,x ; CPU:$B1BE PRG:31BE 9D 78 04 + lda #$0E ; CPU:$B1C1 PRG:31C1 A9 0E + sta Zp2B,x ; CPU:$B1C3 PRG:31C3 95 2B + lda #$A8 ; CPU:$B1C5 PRG:31C5 A9 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + sta PlayerX,x ; CPU:$B1C7 PRG:31C7 95 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1C9 +; Global: Branch target inside Sub: taken when B1C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1C9: + lda SpriteTimer,x ; CPU:$B1C9 PRG:31C9 B5 80 + ora #$08 ; CPU:$B1CB PRG:31CB 09 08 + sta SpriteTimer,x ; CPU:$B1CD PRG:31CD 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + rts ; CPU:$B1CF PRG:31CF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1D0 +; Global: Branch target inside Sub: taken when B1D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1D0: + lda #$10 ; CPU:$B1D0 PRG:31D0 A9 10 + sta EnemyIndex,x ; CPU:$B1D2 PRG:31D2 95 87 + bne NmiHandler_OnNonzero30 ; CPU:$B1D4 PRG:31D4 D0 D1 + lda Zp49 ; CPU:$B1D6 PRG:31D6 A5 49 + lsr a ; CPU:$B1D8 PRG:31D8 4A + lsr a ; CPU:$B1D9 PRG:31D9 4A + lsr a ; CPU:$B1DA PRG:31DA 4A + and #$01 ; CPU:$B1DB PRG:31DB 29 01 + sta PlayerY,x ; CPU:$B1DD PRG:31DD 95 B7 + lda #$A9 ; CPU:$B1DF PRG:31DF A9 A9 + bne NmiHandler_Loop291 ; CPU:$B1E1 PRG:31E1 D0 23 ; ----------------------------------------------------------------------------- ; Routine: Sub_B1E3 ; Global: Branch target inside Sub: taken when B1E3. @@ -5380,105 +7878,156 @@ NmiHandler_Loop176: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B1E3: - lda Zp9F,x ; CPU:$B1E3 PRG:31E3 B5 9F + lda GameMode,x ; CPU:$B1E3 PRG:31E3 B5 9F cmp #$01 ; CPU:$B1E5 PRG:31E5 C9 01 - bne NmiHandler_Loop177 ; CPU:$B1E7 PRG:31E7 D0 0D + bne NmiHandler_Loop289 ; CPU:$B1E7 PRG:31E7 D0 0D lda $04DC,x ; CPU:$B1E9 PRG:31E9 BD DC 04 cmp #$40 ; CPU:$B1EC PRG:31EC C9 40 - bcs NmiHandler_Loop177 ; CPU:$B1EE PRG:31EE B0 06 - lda ZpB7,x ; CPU:$B1F0 PRG:31F0 B5 B7 + bcs NmiHandler_Loop289 ; CPU:$B1EE PRG:31EE B0 06 + lda PlayerY,x ; CPU:$B1F0 PRG:31F0 B5 B7 ora #$02 ; CPU:$B1F2 PRG:31F2 09 02 - sta ZpB7,x ; CPU:$B1F4 PRG:31F4 95 B7 + sta PlayerY,x ; CPU:$B1F4 PRG:31F4 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop177 -; Global: Branch target inside NmiHandler: taken when Loop177. +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop177: +NmiHandler_Loop289: lda Zp2B,x ; CPU:$B1F6 PRG:31F6 B5 2B - bne NmiHandler_Loop178 ; CPU:$B1F8 PRG:31F8 D0 0A + bne NmiHandler_Loop290 ; CPU:$B1F8 PRG:31F8 D0 0A lda #$06 ; CPU:$B1FA PRG:31FA A9 06 sta Zp2B,x ; CPU:$B1FC PRG:31FC 95 2B - lda ZpB7,x ; CPU:$B1FE PRG:31FE B5 B7 + lda PlayerY,x ; CPU:$B1FE PRG:31FE B5 B7 eor #$01 ; CPU:$B200 PRG:3200 49 01 - sta ZpB7,x ; CPU:$B202 PRG:3202 95 B7 + sta PlayerY,x ; CPU:$B202 PRG:3202 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop178 -; Global: Branch target inside NmiHandler: taken when Loop178. +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop178: +NmiHandler_Loop290: lda #$88 ; CPU:$B204 PRG:3204 A9 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: ldy #$01 ; CPU:$B206 PRG:3206 A0 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_B208 +; Global: Branch target inside Sub: taken when B208. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B208: clc ; CPU:$B208 PRG:3208 18 adc $0498,x ; CPU:$B209 PRG:3209 7D 98 04 sta $0498,x ; CPU:$B20C PRG:320C 9D 98 04 - bcc NmiHandler_Loop179 ; CPU:$B20F PRG:320F 90 01 + bcc NmiHandler_Loop292 ; CPU:$B20F PRG:320F 90 01 iny ; CPU:$B211 PRG:3211 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop179 -; Global: Branch target inside NmiHandler: taken when Loop179. +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop179: +NmiHandler_Loop292: sty Zp0A ; CPU:$B212 PRG:3212 84 0A sty Zp6E ; CPU:$B214 PRG:3214 84 6E - lda ZpC0,x ; CPU:$B216 PRG:3216 B5 C0 - bne NmiHandler_Loop180 ; CPU:$B218 PRG:3218 D0 05 + lda GameState,x ; CPU:$B216 PRG:3216 B5 C0 + bne NmiHandler_Loop293 ; CPU:$B218 PRG:3218 D0 05 tya ; CPU:$B21A PRG:321A 98 eor #$FF ; CPU:$B21B PRG:321B 49 FF tay ; CPU:$B21D PRG:321D A8 iny ; CPU:$B21E PRG:321E C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop180 -; Global: Branch target inside NmiHandler: taken when Loop180. +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop180: +NmiHandler_Loop293: tya ; CPU:$B21F PRG:321F 98 - cmp #$00 ; CPU:$B220 PRG:3220 C9 00 - bpl NmiHandler_Loop181 ; CPU:$B222 PRG:3222 10 02 - dec ZpDF,x ; CPU:$B224 PRG:3224 D6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop181 -; Global: Branch target inside NmiHandler: taken when Loop181. +; Routine: Sub_B220 +; Global: Branch target inside Sub: taken when B220. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B220: + cmp #$00 ; CPU:$B220 PRG:3220 C9 00 + bpl NmiHandler_Loop294 ; CPU:$B222 PRG:3222 10 02 + dec EnemyHealth,x ; CPU:$B224 PRG:3224 D6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop181: +NmiHandler_Loop294: clc ; CPU:$B226 PRG:3226 18 adc ZpCE,x ; CPU:$B227 PRG:3227 75 CE sta ZpCE,x ; CPU:$B229 PRG:3229 95 CE - bcc NmiHandler_Loop182 ; CPU:$B22B PRG:322B 90 02 - inc ZpDF,x ; CPU:$B22D PRG:322D F6 DF + bcc NmiHandler_Loop295 ; CPU:$B22B PRG:322B 90 02 + inc EnemyHealth,x ; CPU:$B22D PRG:322D F6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop182 -; Global: Branch target inside NmiHandler: taken when Loop182. +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop182: +NmiHandler_Loop295: clc ; CPU:$B22F PRG:322F 18 rts ; CPU:$B230 PRG:3230 60 -; ---- data $B231-$B242 (18 bytes) ---- - .byte $A0, $01, $A9, $FF, $18, $7D, $80, $04, $9D, $80, $04, $90, $01, $C8, $98, $4C ; CPU:$B231 PRG:3231 A0 01 A9 FF 18 7D 80 04 9D 80 04 90 01 C8 98 4C - .byte $A5, $C7 ; CPU:$B241 PRG:3241 A5 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_B231 +; Global: Branch target inside Sub: taken when B231. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B231: + ldy #$01 ; CPU:$B231 PRG:3231 A0 01 + lda #$FF ; CPU:$B233 PRG:3233 A9 FF + clc ; CPU:$B235 PRG:3235 18 + adc $0480,x ; CPU:$B236 PRG:3236 7D 80 04 + sta $0480,x ; CPU:$B239 PRG:3239 9D 80 04 + bcc NmiHandler_Loop296 ; CPU:$B23C PRG:323C 90 01 + iny ; CPU:$B23E PRG:323E C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + tya ; CPU:$B23F PRG:323F 98 + jmp Sub_C7A5 ; CPU:$B240 PRG:3240 4C A5 C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_B243 ; Global: Branch target inside Sub: taken when B243. @@ -5489,34 +8038,34 @@ NmiHandler_Loop182: ; ----------------------------------------------------------------------------- Sub_B243: cpx #$05 ; CPU:$B243 PRG:3243 E0 05 - bcc NmiHandler_Loop185 ; CPU:$B245 PRG:3245 90 2F - bne NmiHandler_Loop183 ; CPU:$B247 PRG:3247 D0 0A + bcc NmiHandler_Loop299 ; CPU:$B245 PRG:3245 90 2F + bne NmiHandler_Loop297 ; CPU:$B247 PRG:3247 D0 0A lda #$00 ; CPU:$B249 PRG:3249 A9 00 sta ZpD3 ; CPU:$B24B PRG:324B 85 D3 sta ZpE4 ; CPU:$B24D PRG:324D 85 E4 sta Zp7E ; CPU:$B24F PRG:324F 85 7E - beq NmiHandler_Loop186 ; CPU:$B251 PRG:3251 F0 3F + beq NmiHandler_Loop300 ; CPU:$B251 PRG:3251 F0 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop183 -; Global: Branch target inside NmiHandler: taken when Loop183. +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop183: +NmiHandler_Loop297: lda $0537 ; CPU:$B253 PRG:3253 AD 37 05 - beq NmiHandler_Loop184 ; CPU:$B256 PRG:3256 F0 03 - jmp Sub_894F ; CPU:$B258 PRG:3258 4C 4F 89 + beq NmiHandler_Loop298 ; CPU:$B256 PRG:3256 F0 03 + jmp NmiHandler_Loop57 ; CPU:$B258 PRG:3258 4C 4F 89 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop184 -; Global: Branch target inside NmiHandler: taken when Loop184. +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop184: +NmiHandler_Loop298: jsr Sub_8DDC ; CPU:$B25B PRG:325B 20 DC 8D ldx #$06 ; CPU:$B25E PRG:325E A2 06 lda #$10 ; CPU:$B260 PRG:3260 A9 10 @@ -5526,25 +8075,25 @@ NmiHandler_Loop184: sta Zp64 ; CPU:$B269 PRG:3269 85 64 sta Zp62 ; CPU:$B26B PRG:326B 85 62 lda $0368 ; CPU:$B26D PRG:326D AD 68 03 - beq NmiHandler_Loop185 ; CPU:$B270 PRG:3270 F0 04 + beq NmiHandler_Loop299 ; CPU:$B270 PRG:3270 F0 04 lda #$0D ; CPU:$B272 PRG:3272 A9 0D sta Zp52 ; CPU:$B274 PRG:3274 85 52 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop185 -; Global: Branch target inside NmiHandler: taken when Loop185. +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop185: - lda Zp87,x ; CPU:$B276 PRG:3276 B5 87 +NmiHandler_Loop299: + lda EnemyIndex,x ; CPU:$B276 PRG:3276 B5 87 cmp #$03 ; CPU:$B278 PRG:3278 C9 03 - bcs NmiHandler_Loop186 ; CPU:$B27A PRG:327A B0 16 + bcs NmiHandler_Loop300 ; CPU:$B27A PRG:327A B0 16 dec $037C ; CPU:$B27C PRG:327C CE 7C 03 cmp #$02 ; CPU:$B27F PRG:327F C9 02 - bne NmiHandler_Loop186 ; CPU:$B281 PRG:3281 D0 0F - lda Zp80,x ; CPU:$B283 PRG:3283 B5 80 + bne NmiHandler_Loop300 ; CPU:$B281 PRG:3281 D0 0F + lda SpriteTimer,x ; CPU:$B283 PRG:3283 B5 80 lsr a ; CPU:$B285 PRG:3285 4A and #$01 ; CPU:$B286 PRG:3286 29 01 tay ; CPU:$B288 PRG:3288 A8 @@ -5552,43 +8101,56 @@ NmiHandler_Loop185: eor $9B5D,y ; CPU:$B28C PRG:328C 59 5D 9B sta $0380 ; CPU:$B28F PRG:328F 8D 80 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop186 -; Global: Branch target inside NmiHandler: taken when Loop186. +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop186: +NmiHandler_Loop300: lda #$7F ; CPU:$B292 PRG:3292 A9 7F - sta ZpDF,x ; CPU:$B294 PRG:3294 95 DF + sta EnemyHealth,x ; CPU:$B294 PRG:3294 95 DF lda #$00 ; CPU:$B296 PRG:3296 A9 00 - sta Zp9F,x ; CPU:$B298 PRG:3298 95 9F - sta Zp80,x ; CPU:$B29A PRG:329A 95 80 - sta Zp87,x ; CPU:$B29C PRG:329C 95 87 - sta ZpB7,x ; CPU:$B29E PRG:329E 95 B7 + sta GameMode,x ; CPU:$B298 PRG:3298 95 9F + sta SpriteTimer,x ; CPU:$B29A PRG:329A 95 80 + sta EnemyIndex,x ; CPU:$B29C PRG:329C 95 87 + sta PlayerY,x ; CPU:$B29E PRG:329E 95 B7 sta ZpC7,x ; CPU:$B2A0 PRG:32A0 95 C7 sta $0490,x ; CPU:$B2A2 PRG:32A2 9D 90 04 - sta ZpC0,x ; CPU:$B2A5 PRG:32A5 95 C0 + sta GameState,x ; CPU:$B2A5 PRG:32A5 95 C0 sta $04A8,x ; CPU:$B2A7 PRG:32A7 9D A8 04 sta Zp3F,x ; CPU:$B2AA PRG:32AA 95 3F cpx #$05 ; CPU:$B2AC PRG:32AC E0 05 - bcs NmiHandler_Loop187 ; CPU:$B2AE PRG:32AE B0 09 + bcs NmiHandler_Loop301 ; CPU:$B2AE PRG:32AE B0 09 sta $04A0,x ; CPU:$B2B0 PRG:32B0 9D A0 04 sta $045A,x ; CPU:$B2B3 PRG:32B3 9D 5A 04 sta $0410,x ; CPU:$B2B6 PRG:32B6 9D 10 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop187 -; Global: Branch target inside NmiHandler: taken when Loop187. +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop187: +NmiHandler_Loop301: rts ; CPU:$B2B9 PRG:32B9 60 -; ---- data $B2BA-$B2C7 (14 bytes) ---- - .byte $A9, $06, $8D, $C2, $03, $A9, $00, $8D, $C3, $03, $A2, $01, $D0, $02 ; CPU:$B2BA PRG:32BA A9 06 8D C2 03 A9 00 8D C3 03 A2 01 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2BA +; Global: Branch target inside Sub: taken when B2BA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2BA: + lda #$06 ; CPU:$B2BA PRG:32BA A9 06 + sta $03C2 ; CPU:$B2BC PRG:32BC 8D C2 03 + lda #$00 ; CPU:$B2BF PRG:32BF A9 00 + sta $03C3 ; CPU:$B2C1 PRG:32C1 8D C3 03 + ldx #$01 ; CPU:$B2C4 PRG:32C4 A2 01 + bne NmiHandler_Loop302 ; CPU:$B2C6 PRG:32C6 D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2C8 ; Global: Branch target inside Sub: taken when B2C8. @@ -5600,104 +8162,104 @@ NmiHandler_Loop187: Sub_B2C8: ldx #$06 ; CPU:$B2C8 PRG:32C8 A2 06 ; ----------------------------------------------------------------------------- -; Routine: Sub_B2CA -; Global: Branch target inside Sub: taken when B2CA. -; Local: Part of Sub. +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_B2CA: +NmiHandler_Loop302: stx $037D ; CPU:$B2CA PRG:32CA 8E 7D 03 lda $03C2,x ; CPU:$B2CD PRG:32CD BD C2 03 tax ; CPU:$B2D0 PRG:32D0 AA - lda Zp80,x ; CPU:$B2D1 PRG:32D1 B5 80 - beq NmiHandler_Loop195 ; CPU:$B2D3 PRG:32D3 F0 76 + lda SpriteTimer,x ; CPU:$B2D1 PRG:32D1 B5 80 + beq NmiHandler_Loop310 ; CPU:$B2D3 PRG:32D3 F0 76 and #$08 ; CPU:$B2D5 PRG:32D5 29 08 - bne NmiHandler_Loop194 ; CPU:$B2D7 PRG:32D7 D0 64 - ldy Zp87,x ; CPU:$B2D9 PRG:32D9 B4 87 - bne NmiHandler_Loop189 ; CPU:$B2DB PRG:32DB D0 0C - lda ZpB7,x ; CPU:$B2DD PRG:32DD B5 B7 + bne NmiHandler_Loop309 ; CPU:$B2D7 PRG:32D7 D0 64 + ldy EnemyIndex,x ; CPU:$B2D9 PRG:32D9 B4 87 + bne NmiHandler_Loop304 ; CPU:$B2DB PRG:32DB D0 0C + lda PlayerY,x ; CPU:$B2DD PRG:32DD B5 B7 cmp #$09 ; CPU:$B2DF PRG:32DF C9 09 - beq NmiHandler_Loop188 ; CPU:$B2E1 PRG:32E1 F0 03 + beq NmiHandler_Loop303 ; CPU:$B2E1 PRG:32E1 F0 03 jmp Sub_B62A ; CPU:$B2E3 PRG:32E3 4C 2A B6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop188 -; Global: Branch target inside NmiHandler: taken when Loop188. +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop188: +NmiHandler_Loop303: jmp Sub_B714 ; CPU:$B2E6 PRG:32E6 4C 14 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop189 -; Global: Branch target inside NmiHandler: taken when Loop189. +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop189: +NmiHandler_Loop304: cpy #$0C ; CPU:$B2E9 PRG:32E9 C0 0C - bcs NmiHandler_Loop197 ; CPU:$B2EB PRG:32EB B0 68 + bcs NmiHandler_Loop312 ; CPU:$B2EB PRG:32EB B0 68 cpy #$0A ; CPU:$B2ED PRG:32ED C0 0A - beq NmiHandler_Loop190 ; CPU:$B2EF PRG:32EF F0 04 + beq NmiHandler_Loop305 ; CPU:$B2EF PRG:32EF F0 04 cpy #$0B ; CPU:$B2F1 PRG:32F1 C0 0B - bne NmiHandler_Loop191 ; CPU:$B2F3 PRG:32F3 D0 03 + bne NmiHandler_Loop306 ; CPU:$B2F3 PRG:32F3 D0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop190 -; Global: Branch target inside NmiHandler: taken when Loop190. +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop190: +NmiHandler_Loop305: jmp Sub_B467 ; CPU:$B2F5 PRG:32F5 4C 67 B4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop191 -; Global: Branch target inside NmiHandler: taken when Loop191. +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop191: - lda ZpC0,x ; CPU:$B2F8 PRG:32F8 B5 C0 - beq NmiHandler_Loop192 ; CPU:$B2FA PRG:32FA F0 02 +NmiHandler_Loop306: + lda GameState,x ; CPU:$B2F8 PRG:32F8 B5 C0 + beq NmiHandler_Loop307 ; CPU:$B2FA PRG:32FA F0 02 lda #$40 ; CPU:$B2FC PRG:32FC A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop192 -; Global: Branch target inside NmiHandler: taken when Loop192. +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop192: +NmiHandler_Loop307: ora $A130,y ; CPU:$B2FE PRG:32FE 19 30 A1 sta Zp05 ; CPU:$B301 PRG:3301 85 05 - lda Zp9F,x ; CPU:$B303 PRG:3303 B5 9F - sta Zp01 ; CPU:$B305 PRG:3305 85 01 + lda GameMode,x ; CPU:$B303 PRG:3303 B5 9F + sta VramWritePtrHi ; CPU:$B305 PRG:3305 85 01 lda Zp8E,x ; CPU:$B307 PRG:3307 B5 8E sec ; CPU:$B309 PRG:3309 38 sbc $A14F,y ; CPU:$B30A PRG:330A F9 4F A1 - sta Zp00 ; CPU:$B30D PRG:330D 85 00 - bcs NmiHandler_Loop193 ; CPU:$B30F PRG:330F B0 02 - dec Zp01 ; CPU:$B311 PRG:3311 C6 01 + sta VramWritePtrLo ; CPU:$B30D PRG:330D 85 00 + bcs NmiHandler_Loop308 ; CPU:$B30F PRG:330F B0 02 + dec VramWritePtrHi ; CPU:$B311 PRG:3311 C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop193 -; Global: Branch target inside NmiHandler: taken when Loop193. +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop193: - lda ZpB0,x ; CPU:$B313 PRG:3313 B5 B0 - sta Zp02 ; CPU:$B315 PRG:3315 85 02 +NmiHandler_Loop308: + lda PlayerX,x ; CPU:$B313 PRG:3313 B5 B0 + sta DispatchPtrLo ; CPU:$B315 PRG:3315 85 02 tya ; CPU:$B317 PRG:3317 98 asl a ; CPU:$B318 PRG:3318 0A tay ; CPU:$B319 PRG:3319 A8 @@ -5706,11 +8268,11 @@ NmiHandler_Loop193: iny ; CPU:$B31F PRG:331F C8 lda $9BD2,y ; CPU:$B320 PRG:3320 B9 D2 9B sta Zp08 ; CPU:$B323 PRG:3323 85 08 - lda ZpB7,x ; CPU:$B325 PRG:3325 B5 B7 + lda PlayerY,x ; CPU:$B325 PRG:3325 B5 B7 asl a ; CPU:$B327 PRG:3327 0A tay ; CPU:$B328 PRG:3328 A8 lda (Zp07),y ; CPU:$B329 PRG:3329 B1 07 - sta Zp03 ; CPU:$B32B PRG:332B 85 03 + sta DispatchPtrHi ; CPU:$B32B PRG:332B 85 03 iny ; CPU:$B32D PRG:332D C8 lda (Zp07),y ; CPU:$B32E PRG:332E B1 07 sta Zp04 ; CPU:$B330 PRG:3330 85 04 @@ -5720,70 +8282,70 @@ NmiHandler_Loop193: lda Zp06 ; CPU:$B339 PRG:3339 A5 06 sta Zp4B ; CPU:$B33B PRG:333B 85 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop194 -; Global: Branch target inside NmiHandler: taken when Loop194. +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop194: +NmiHandler_Loop309: ldx $037D ; CPU:$B33D PRG:333D AE 7D 03 lda $03C2,x ; CPU:$B340 PRG:3340 BD C2 03 tax ; CPU:$B343 PRG:3343 AA ldy ZpC7,x ; CPU:$B344 PRG:3344 B4 C7 - beq NmiHandler_Loop195 ; CPU:$B346 PRG:3346 F0 03 + beq NmiHandler_Loop310 ; CPU:$B346 PRG:3346 F0 03 jmp Sub_B4BE ; CPU:$B348 PRG:3348 4C BE B4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop195 -; Global: Branch target inside NmiHandler: taken when Loop195. +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop195: +NmiHandler_Loop310: ldx $037D ; CPU:$B34B PRG:334B AE 7D 03 dex ; CPU:$B34E PRG:334E CA - bmi NmiHandler_Loop196 ; CPU:$B34F PRG:334F 30 03 - jmp Sub_B2CA ; CPU:$B351 PRG:3351 4C CA B2 + bmi NmiHandler_Loop311 ; CPU:$B34F PRG:334F 30 03 + jmp NmiHandler_Loop302 ; CPU:$B351 PRG:3351 4C CA B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop196 -; Global: Branch target inside NmiHandler: taken when Loop196. +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop196: +NmiHandler_Loop311: rts ; CPU:$B354 PRG:3354 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop197 -; Global: Branch target inside NmiHandler: taken when Loop197. +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop197: - beq NmiHandler_Loop198 ; CPU:$B355 PRG:3355 F0 0B +NmiHandler_Loop312: + beq NmiHandler_Loop313 ; CPU:$B355 PRG:3355 F0 0B cpy #$0D ; CPU:$B357 PRG:3357 C0 0D - beq NmiHandler_Loop199 ; CPU:$B359 PRG:3359 F0 22 + beq NmiHandler_Loop314 ; CPU:$B359 PRG:3359 F0 22 cpy #$0F ; CPU:$B35B PRG:335B C0 0F - beq NmiHandler_Loop201 ; CPU:$B35D PRG:335D F0 71 - jmp NmiHandler_Loop191 ; CPU:$B35F PRG:335F 4C F8 B2 + beq NmiHandler_Loop316 ; CPU:$B35D PRG:335D F0 71 + jmp NmiHandler_Loop306 ; CPU:$B35F PRG:335F 4C F8 B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop198 -; Global: Branch target inside NmiHandler: taken when Loop198. +; Routine: NmiHandler_Loop313 +; Global: Branch target inside NmiHandler: taken when Loop313. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop198: +NmiHandler_Loop313: lda #$E3 ; CPU:$B362 PRG:3362 A9 E3 - sta Zp02 ; CPU:$B364 PRG:3364 85 02 - sta Zp03 ; CPU:$B366 PRG:3366 85 03 + sta DispatchPtrLo ; CPU:$B364 PRG:3364 85 02 + sta DispatchPtrHi ; CPU:$B366 PRG:3366 85 03 lda #$23 ; CPU:$B368 PRG:3368 A9 23 sta Zp04 ; CPU:$B36A PRG:336A 85 04 ora #$40 ; CPU:$B36C PRG:336C 09 40 @@ -5795,19 +8357,19 @@ NmiHandler_Loop198: sta Zp05 ; CPU:$B378 PRG:3378 85 05 jmp Sub_B3E7 ; CPU:$B37A PRG:337A 4C E7 B3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop199 -; Global: Branch target inside NmiHandler: taken when Loop199. +; Routine: NmiHandler_Loop314 +; Global: Branch target inside NmiHandler: taken when Loop314. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop199: - lda Zp9F,x ; CPU:$B37D PRG:337D B5 9F +NmiHandler_Loop314: + lda GameMode,x ; CPU:$B37D PRG:337D B5 9F cmp #$01 ; CPU:$B37F PRG:337F C9 01 - bne NmiHandler_Loop200 ; CPU:$B381 PRG:3381 D0 4A + bne NmiHandler_Loop315 ; CPU:$B381 PRG:3381 D0 4A ldy Zp4B ; CPU:$B383 PRG:3383 A4 4B - lda ZpB0,x ; CPU:$B385 PRG:3385 B5 B0 + lda PlayerX,x ; CPU:$B385 PRG:3385 B5 B0 sta $0600,y ; CPU:$B387 PRG:3387 99 00 06 sta $0604,y ; CPU:$B38A PRG:338A 99 04 06 clc ; CPU:$B38D PRG:338D 18 @@ -5838,28 +8400,28 @@ NmiHandler_Loop199: adc #$10 ; CPU:$B3C9 PRG:33C9 69 10 sta Zp4B ; CPU:$B3CB PRG:33CB 85 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop200 -; Global: Branch target inside NmiHandler: taken when Loop200. +; Routine: NmiHandler_Loop315 +; Global: Branch target inside NmiHandler: taken when Loop315. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop200: - jmp NmiHandler_Loop194 ; CPU:$B3CD PRG:33CD 4C 3D B3 +NmiHandler_Loop315: + jmp NmiHandler_Loop309 ; CPU:$B3CD PRG:33CD 4C 3D B3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop201 -; Global: Branch target inside NmiHandler: taken when Loop201. +; Routine: NmiHandler_Loop316 +; Global: Branch target inside NmiHandler: taken when Loop316. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop201: +NmiHandler_Loop316: lda #$E1 ; CPU:$B3D0 PRG:33D0 A9 E1 - sta Zp02 ; CPU:$B3D2 PRG:33D2 85 02 + sta DispatchPtrLo ; CPU:$B3D2 PRG:33D2 85 02 lda #$E2 ; CPU:$B3D4 PRG:33D4 A9 E2 - sta Zp03 ; CPU:$B3D6 PRG:33D6 85 03 + sta DispatchPtrHi ; CPU:$B3D6 PRG:33D6 85 03 lda #$23 ; CPU:$B3D8 PRG:33D8 A9 23 sta Zp04 ; CPU:$B3DA PRG:33DA 85 04 sta Zp05 ; CPU:$B3DC PRG:33DC 85 05 @@ -5876,43 +8438,43 @@ NmiHandler_Loop201: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B3E7: - lda ZpB0,x ; CPU:$B3E7 PRG:33E7 B5 B0 - sta Zp01 ; CPU:$B3E9 PRG:33E9 85 01 - lda Zp9F,x ; CPU:$B3EB PRG:33EB B5 9F + lda PlayerX,x ; CPU:$B3E7 PRG:33E7 B5 B0 + sta VramWritePtrHi ; CPU:$B3E9 PRG:33E9 85 01 + lda GameMode,x ; CPU:$B3EB PRG:33EB B5 9F sta Zp0F ; CPU:$B3ED PRG:33ED 85 0F lda Zp8E,x ; CPU:$B3EF PRG:33EF B5 8E sec ; CPU:$B3F1 PRG:33F1 38 sbc #$08 ; CPU:$B3F2 PRG:33F2 E9 08 - sta Zp00 ; CPU:$B3F4 PRG:33F4 85 00 - bcs NmiHandler_Loop202 ; CPU:$B3F6 PRG:33F6 B0 02 + sta VramWritePtrLo ; CPU:$B3F4 PRG:33F4 85 00 + bcs NmiHandler_Loop317 ; CPU:$B3F6 PRG:33F6 B0 02 dec Zp0F ; CPU:$B3F8 PRG:33F8 C6 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop202 -; Global: Branch target inside NmiHandler: taken when Loop202. +; Routine: NmiHandler_Loop317 +; Global: Branch target inside NmiHandler: taken when Loop317. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop202: +NmiHandler_Loop317: lda Zp0F ; CPU:$B3FA PRG:33FA A5 0F cmp #$01 ; CPU:$B3FC PRG:33FC C9 01 - bne NmiHandler_Loop203 ; CPU:$B3FE PRG:33FE D0 2F + bne NmiHandler_Loop318 ; CPU:$B3FE PRG:33FE D0 2F ldy Zp4B ; CPU:$B400 PRG:3400 A4 4B - lda Zp01 ; CPU:$B402 PRG:3402 A5 01 + lda VramWritePtrHi ; CPU:$B402 PRG:3402 A5 01 sta $0600,y ; CPU:$B404 PRG:3404 99 00 06 clc ; CPU:$B407 PRG:3407 18 adc #$08 ; CPU:$B408 PRG:3408 69 08 sta $0604,y ; CPU:$B40A PRG:340A 99 04 06 - lda Zp02 ; CPU:$B40D PRG:340D A5 02 + lda DispatchPtrLo ; CPU:$B40D PRG:340D A5 02 sta $0601,y ; CPU:$B40F PRG:340F 99 01 06 - lda Zp03 ; CPU:$B412 PRG:3412 A5 03 + lda DispatchPtrHi ; CPU:$B412 PRG:3412 A5 03 sta $0605,y ; CPU:$B414 PRG:3414 99 05 06 lda Zp04 ; CPU:$B417 PRG:3417 A5 04 sta $0602,y ; CPU:$B419 PRG:3419 99 02 06 lda Zp05 ; CPU:$B41C PRG:341C A5 05 sta $0606,y ; CPU:$B41E PRG:341E 99 06 06 - lda Zp00 ; CPU:$B421 PRG:3421 A5 00 + lda VramWritePtrLo ; CPU:$B421 PRG:3421 A5 00 sta $0603,y ; CPU:$B423 PRG:3423 99 03 06 sta $0607,y ; CPU:$B426 PRG:3426 99 07 06 tya ; CPU:$B429 PRG:3429 98 @@ -5920,26 +8482,26 @@ NmiHandler_Loop202: adc #$08 ; CPU:$B42B PRG:342B 69 08 sta Zp4B ; CPU:$B42D PRG:342D 85 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop203 -; Global: Branch target inside NmiHandler: taken when Loop203. +; Routine: NmiHandler_Loop318 +; Global: Branch target inside NmiHandler: taken when Loop318. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop203: - lda Zp9F,x ; CPU:$B42F PRG:342F B5 9F +NmiHandler_Loop318: + lda GameMode,x ; CPU:$B42F PRG:342F B5 9F cmp #$01 ; CPU:$B431 PRG:3431 C9 01 - bne NmiHandler_Loop204 ; CPU:$B433 PRG:3433 D0 2F + bne NmiHandler_Loop319 ; CPU:$B433 PRG:3433 D0 2F ldy Zp4B ; CPU:$B435 PRG:3435 A4 4B - lda Zp01 ; CPU:$B437 PRG:3437 A5 01 + lda VramWritePtrHi ; CPU:$B437 PRG:3437 A5 01 sta $0600,y ; CPU:$B439 PRG:3439 99 00 06 clc ; CPU:$B43C PRG:343C 18 adc #$08 ; CPU:$B43D PRG:343D 69 08 sta $0604,y ; CPU:$B43F PRG:343F 99 04 06 - lda Zp02 ; CPU:$B442 PRG:3442 A5 02 + lda DispatchPtrLo ; CPU:$B442 PRG:3442 A5 02 sta $0601,y ; CPU:$B444 PRG:3444 99 01 06 - lda Zp03 ; CPU:$B447 PRG:3447 A5 03 + lda DispatchPtrHi ; CPU:$B447 PRG:3447 A5 03 sta $0605,y ; CPU:$B449 PRG:3449 99 05 06 lda Zp06 ; CPU:$B44C PRG:344C A5 06 sta $0602,y ; CPU:$B44E PRG:344E 99 02 06 @@ -5953,15 +8515,15 @@ NmiHandler_Loop203: adc #$08 ; CPU:$B460 PRG:3460 69 08 sta Zp4B ; CPU:$B462 PRG:3462 85 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop204 -; Global: Branch target inside NmiHandler: taken when Loop204. +; Routine: NmiHandler_Loop319 +; Global: Branch target inside NmiHandler: taken when Loop319. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop204: - jmp NmiHandler_Loop194 ; CPU:$B464 PRG:3464 4C 3D B3 +NmiHandler_Loop319: + jmp NmiHandler_Loop309 ; CPU:$B464 PRG:3464 4C 3D B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B467 ; Global: Branch target inside Sub: taken when B467. @@ -5974,92 +8536,92 @@ Sub_B467: lda #$01 ; CPU:$B467 PRG:3467 A9 01 sta Zp04 ; CPU:$B469 PRG:3469 85 04 ldy Zp4B ; CPU:$B46B PRG:346B A4 4B - lda ZpB7,x ; CPU:$B46D PRG:346D B5 B7 + lda PlayerY,x ; CPU:$B46D PRG:346D B5 B7 clc ; CPU:$B46F PRG:346F 18 adc #$DE ; CPU:$B470 PRG:3470 69 DE - sta Zp02 ; CPU:$B472 PRG:3472 85 02 - lda ZpC0,x ; CPU:$B474 PRG:3474 B5 C0 - beq NmiHandler_Loop205 ; CPU:$B476 PRG:3476 F0 04 - dec Zp02 ; CPU:$B478 PRG:3478 C6 02 + sta DispatchPtrLo ; CPU:$B472 PRG:3472 85 02 + lda GameState,x ; CPU:$B474 PRG:3474 B5 C0 + beq NmiHandler_Loop320 ; CPU:$B476 PRG:3476 F0 04 + dec DispatchPtrLo ; CPU:$B478 PRG:3478 C6 02 lda #$40 ; CPU:$B47A PRG:347A A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop205 -; Global: Branch target inside NmiHandler: taken when Loop205. +; Routine: NmiHandler_Loop320 +; Global: Branch target inside NmiHandler: taken when Loop320. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop205: +NmiHandler_Loop320: ora #$03 ; CPU:$B47C PRG:347C 09 03 - sta Zp03 ; CPU:$B47E PRG:347E 85 03 - lda Zp9F,x ; CPU:$B480 PRG:3480 B5 9F - sta Zp01 ; CPU:$B482 PRG:3482 85 01 + sta DispatchPtrHi ; CPU:$B47E PRG:347E 85 03 + lda GameMode,x ; CPU:$B480 PRG:3480 B5 9F + sta VramWritePtrHi ; CPU:$B482 PRG:3482 85 01 lda Zp8E,x ; CPU:$B484 PRG:3484 B5 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative16 -; Global: Branch target inside NmiHandler: taken when OnNonnegative16. +; Routine: NmiHandler_OnNonnegative25 +; Global: Branch target inside NmiHandler: taken when OnNonnegative25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative16: +NmiHandler_OnNonnegative25: sta $0603,y ; CPU:$B486 PRG:3486 99 03 06 - lda Zp01 ; CPU:$B489 PRG:3489 A5 01 + lda VramWritePtrHi ; CPU:$B489 PRG:3489 A5 01 cmp #$01 ; CPU:$B48B PRG:348B C9 01 - bne NmiHandler_Loop206 ; CPU:$B48D PRG:348D D0 13 - lda ZpB0,x ; CPU:$B48F PRG:348F B5 B0 + bne NmiHandler_Loop321 ; CPU:$B48D PRG:348D D0 13 + lda PlayerX,x ; CPU:$B48F PRG:348F B5 B0 sta $0600,y ; CPU:$B491 PRG:3491 99 00 06 - lda Zp02 ; CPU:$B494 PRG:3494 A5 02 + lda DispatchPtrLo ; CPU:$B494 PRG:3494 A5 02 sta $0601,y ; CPU:$B496 PRG:3496 99 01 06 - lda Zp03 ; CPU:$B499 PRG:3499 A5 03 + lda DispatchPtrHi ; CPU:$B499 PRG:3499 A5 03 sta $0602,y ; CPU:$B49B PRG:349B 99 02 06 iny ; CPU:$B49E PRG:349E C8 iny ; CPU:$B49F PRG:349F C8 iny ; CPU:$B4A0 PRG:34A0 C8 iny ; CPU:$B4A1 PRG:34A1 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop206 -; Global: Branch target inside NmiHandler: taken when Loop206. +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop206: - dec Zp02 ; CPU:$B4A2 PRG:34A2 C6 02 - lda ZpC0,x ; CPU:$B4A4 PRG:34A4 B5 C0 - beq NmiHandler_Loop207 ; CPU:$B4A6 PRG:34A6 F0 04 - inc Zp02 ; CPU:$B4A8 PRG:34A8 E6 02 - inc Zp02 ; CPU:$B4AA PRG:34AA E6 02 +NmiHandler_Loop321: + dec DispatchPtrLo ; CPU:$B4A2 PRG:34A2 C6 02 + lda GameState,x ; CPU:$B4A4 PRG:34A4 B5 C0 + beq NmiHandler_Loop322 ; CPU:$B4A6 PRG:34A6 F0 04 + inc DispatchPtrLo ; CPU:$B4A8 PRG:34A8 E6 02 + inc DispatchPtrLo ; CPU:$B4AA PRG:34AA E6 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop207 -; Global: Branch target inside NmiHandler: taken when Loop207. +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop207: +NmiHandler_Loop322: lda Zp8E,x ; CPU:$B4AC PRG:34AC B5 8E sec ; CPU:$B4AE PRG:34AE 38 sbc #$08 ; CPU:$B4AF PRG:34AF E9 08 - bcs NmiHandler_Loop208 ; CPU:$B4B1 PRG:34B1 B0 02 - dec Zp01 ; CPU:$B4B3 PRG:34B3 C6 01 + bcs NmiHandler_Loop323 ; CPU:$B4B1 PRG:34B1 B0 02 + dec VramWritePtrHi ; CPU:$B4B3 PRG:34B3 C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop208 -; Global: Branch target inside NmiHandler: taken when Loop208. +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop208: +NmiHandler_Loop323: dec Zp04 ; CPU:$B4B5 PRG:34B5 C6 04 - bpl NmiHandler_OnNonnegative16 ; CPU:$B4B7 PRG:34B7 10 CD + bpl NmiHandler_OnNonnegative25 ; CPU:$B4B7 PRG:34B7 10 CD sty Zp4B ; CPU:$B4B9 PRG:34B9 84 4B - jmp NmiHandler_Loop195 ; CPU:$B4BB PRG:34BB 4C 4B B3 + jmp NmiHandler_Loop310 ; CPU:$B4BB PRG:34BB 4C 4B B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4BE ; Global: Branch target inside Sub: taken when B4BE. @@ -6071,104 +8633,104 @@ NmiHandler_Loop208: Sub_B4BE: lda $04B8,x ; CPU:$B4BE PRG:34BE BD B8 04 cmp #$01 ; CPU:$B4C1 PRG:34C1 C9 01 - bne NmiHandler_Loop209 ; CPU:$B4C3 PRG:34C3 D0 03 + bne NmiHandler_Loop324 ; CPU:$B4C3 PRG:34C3 D0 03 jmp Sub_B5E7 ; CPU:$B4C5 PRG:34C5 4C E7 B5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop209 -; Global: Branch target inside NmiHandler: taken when Loop209. +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop209: +NmiHandler_Loop324: cmp #$03 ; CPU:$B4C8 PRG:34C8 C9 03 - beq NmiHandler_Loop210 ; CPU:$B4CA PRG:34CA F0 03 + beq NmiHandler_Loop325 ; CPU:$B4CA PRG:34CA F0 03 jmp Sub_B560 ; CPU:$B4CC PRG:34CC 4C 60 B5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop210 -; Global: Branch target inside NmiHandler: taken when Loop210. +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop210: - ldy Zp87,x ; CPU:$B4CF PRG:34CF B4 87 +NmiHandler_Loop325: + ldy EnemyIndex,x ; CPU:$B4CF PRG:34CF B4 87 lda $A130,y ; CPU:$B4D1 PRG:34D1 B9 30 A1 - ldy ZpC0,x ; CPU:$B4D4 PRG:34D4 B4 C0 - beq NmiHandler_Loop211 ; CPU:$B4D6 PRG:34D6 F0 02 + ldy GameState,x ; CPU:$B4D4 PRG:34D4 B4 C0 + beq NmiHandler_Loop326 ; CPU:$B4D6 PRG:34D6 F0 02 ora #$40 ; CPU:$B4D8 PRG:34D8 09 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop211 -; Global: Branch target inside NmiHandler: taken when Loop211. +; Routine: NmiHandler_Loop326 +; Global: Branch target inside NmiHandler: taken when Loop326. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop211: - sta Zp02 ; CPU:$B4DA PRG:34DA 85 02 +NmiHandler_Loop326: + sta DispatchPtrLo ; CPU:$B4DA PRG:34DA 85 02 ora #$80 ; CPU:$B4DC PRG:34DC 09 80 sta Zp06 ; CPU:$B4DE PRG:34DE 85 06 ldy ZpC7,x ; CPU:$B4E0 PRG:34E0 B4 C7 dey ; CPU:$B4E2 PRG:34E2 88 lda #$03 ; CPU:$B4E3 PRG:34E3 A9 03 sta Zp04 ; CPU:$B4E5 PRG:34E5 85 04 - lda Zp9F,x ; CPU:$B4E7 PRG:34E7 B5 9F - sta Zp01 ; CPU:$B4E9 PRG:34E9 85 01 - lda ZpC0,x ; CPU:$B4EB PRG:34EB B5 C0 - bne NmiHandler_Loop212 ; CPU:$B4ED PRG:34ED D0 0C + lda GameMode,x ; CPU:$B4E7 PRG:34E7 B5 9F + sta VramWritePtrHi ; CPU:$B4E9 PRG:34E9 85 01 + lda GameState,x ; CPU:$B4EB PRG:34EB B5 C0 + bne NmiHandler_Loop327 ; CPU:$B4ED PRG:34ED D0 0C lda $A21C,y ; CPU:$B4EF PRG:34EF B9 1C A2 sta Zp05 ; CPU:$B4F2 PRG:34F2 85 05 lda $A212,y ; CPU:$B4F4 PRG:34F4 B9 12 A2 - sta Zp00 ; CPU:$B4F7 PRG:34F7 85 00 - bne NmiHandler_Loop213 ; CPU:$B4F9 PRG:34F9 D0 0C + sta VramWritePtrLo ; CPU:$B4F7 PRG:34F7 85 00 + bne NmiHandler_Loop328 ; CPU:$B4F9 PRG:34F9 D0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop212 -; Global: Branch target inside NmiHandler: taken when Loop212. +; Routine: NmiHandler_Loop327 +; Global: Branch target inside NmiHandler: taken when Loop327. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop212: +NmiHandler_Loop327: lda $A221,y ; CPU:$B4FB PRG:34FB B9 21 A2 sta Zp05 ; CPU:$B4FE PRG:34FE 85 05 lda $A217,y ; CPU:$B500 PRG:3500 B9 17 A2 - sta Zp00 ; CPU:$B503 PRG:3503 85 00 - inc Zp01 ; CPU:$B505 PRG:3505 E6 01 + sta VramWritePtrLo ; CPU:$B503 PRG:3503 85 00 + inc VramWritePtrHi ; CPU:$B505 PRG:3505 E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop213 -; Global: Branch target inside NmiHandler: taken when Loop213. +; Routine: NmiHandler_Loop328 +; Global: Branch target inside NmiHandler: taken when Loop328. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop213: +NmiHandler_Loop328: lda Zp8E,x ; CPU:$B507 PRG:3507 B5 8E sec ; CPU:$B509 PRG:3509 38 - sbc Zp00 ; CPU:$B50A PRG:350A E5 00 - sta Zp00 ; CPU:$B50C PRG:350C 85 00 - bcs NmiHandler_OnNonnegative17 ; CPU:$B50E PRG:350E B0 02 - dec Zp01 ; CPU:$B510 PRG:3510 C6 01 + sbc VramWritePtrLo ; CPU:$B50A PRG:350A E5 00 + sta VramWritePtrLo ; CPU:$B50C PRG:350C 85 00 + bcs NmiHandler_OnNonnegative26 ; CPU:$B50E PRG:350E B0 02 + dec VramWritePtrHi ; CPU:$B510 PRG:3510 C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative17 -; Global: Branch target inside NmiHandler: taken when OnNonnegative17. +; Routine: NmiHandler_OnNonnegative26 +; Global: Branch target inside NmiHandler: taken when OnNonnegative26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative17: +NmiHandler_OnNonnegative26: lda #$8E ; CPU:$B512 PRG:3512 A9 8E - sta Zp03 ; CPU:$B514 PRG:3514 85 03 - lda Zp01 ; CPU:$B516 PRG:3516 A5 01 + sta DispatchPtrHi ; CPU:$B514 PRG:3514 85 03 + lda VramWritePtrHi ; CPU:$B516 PRG:3516 A5 01 cmp #$01 ; CPU:$B518 PRG:3518 C9 01 - bne NmiHandler_Loop214 ; CPU:$B51A PRG:351A D0 30 + bne NmiHandler_Loop329 ; CPU:$B51A PRG:351A D0 30 ldx Zp4C ; CPU:$B51C PRG:351C A6 4C - lda Zp03 ; CPU:$B51E PRG:351E A5 03 + lda DispatchPtrHi ; CPU:$B51E PRG:351E A5 03 sta $06D0,x ; CPU:$B520 PRG:3520 9D D0 06 clc ; CPU:$B523 PRG:3523 18 adc #$08 ; CPU:$B524 PRG:3524 69 08 @@ -6177,11 +8739,11 @@ NmiHandler_OnNonnegative17: lda $A20A,y ; CPU:$B52B PRG:352B B9 0A A2 sta $06D1,x ; CPU:$B52E PRG:352E 9D D1 06 sta $06D5,x ; CPU:$B531 PRG:3531 9D D5 06 - lda Zp02 ; CPU:$B534 PRG:3534 A5 02 + lda DispatchPtrLo ; CPU:$B534 PRG:3534 A5 02 sta $06D2,x ; CPU:$B536 PRG:3536 9D D2 06 lda Zp06 ; CPU:$B539 PRG:3539 A5 06 sta $06D6,x ; CPU:$B53B PRG:353B 9D D6 06 - lda Zp00 ; CPU:$B53E PRG:353E A5 00 + lda VramWritePtrLo ; CPU:$B53E PRG:353E A5 00 sta $06D3,x ; CPU:$B540 PRG:3540 9D D3 06 sta $06D7,x ; CPU:$B543 PRG:3543 9D D7 06 txa ; CPU:$B546 PRG:3546 8A @@ -6189,33 +8751,33 @@ NmiHandler_OnNonnegative17: adc #$08 ; CPU:$B548 PRG:3548 69 08 sta Zp4C ; CPU:$B54A PRG:354A 85 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop214 -; Global: Branch target inside NmiHandler: taken when Loop214. +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop214: - lda Zp00 ; CPU:$B54C PRG:354C A5 00 +NmiHandler_Loop329: + lda VramWritePtrLo ; CPU:$B54C PRG:354C A5 00 clc ; CPU:$B54E PRG:354E 18 adc #$08 ; CPU:$B54F PRG:354F 69 08 - sta Zp00 ; CPU:$B551 PRG:3551 85 00 - bcc NmiHandler_Loop215 ; CPU:$B553 PRG:3553 90 02 - inc Zp01 ; CPU:$B555 PRG:3555 E6 01 + sta VramWritePtrLo ; CPU:$B551 PRG:3551 85 00 + bcc NmiHandler_Loop330 ; CPU:$B553 PRG:3553 90 02 + inc VramWritePtrHi ; CPU:$B555 PRG:3555 E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop215 -; Global: Branch target inside NmiHandler: taken when Loop215. +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop215: +NmiHandler_Loop330: inc Zp05 ; CPU:$B557 PRG:3557 E6 05 dec Zp04 ; CPU:$B559 PRG:3559 C6 04 - bpl NmiHandler_OnNonnegative17 ; CPU:$B55B PRG:355B 10 B5 - jmp NmiHandler_Loop195 ; CPU:$B55D PRG:355D 4C 4B B3 + bpl NmiHandler_OnNonnegative26 ; CPU:$B55B PRG:355B 10 B5 + jmp NmiHandler_Loop310 ; CPU:$B55D PRG:355D 4C 4B B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B560 ; Global: Branch target inside Sub: taken when B560. @@ -6227,35 +8789,35 @@ NmiHandler_Loop215: Sub_B560: dey ; CPU:$B560 PRG:3560 88 cmp #$05 ; CPU:$B561 PRG:3561 C9 05 - beq NmiHandler_Loop217 ; CPU:$B563 PRG:3563 F0 1A + beq NmiHandler_Loop332 ; CPU:$B563 PRG:3563 F0 1A cmp #$06 ; CPU:$B565 PRG:3565 C9 06 - beq NmiHandler_Loop216 ; CPU:$B567 PRG:3567 F0 0B + beq NmiHandler_Loop331 ; CPU:$B567 PRG:3567 F0 0B lda $A24F,y ; CPU:$B569 PRG:3569 B9 4F A2 sta Zp06 ; CPU:$B56C PRG:356C 85 06 lda $A256,y ; CPU:$B56E PRG:356E B9 56 A2 jmp Sub_B587 ; CPU:$B571 PRG:3571 4C 87 B5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop216 -; Global: Branch target inside NmiHandler: taken when Loop216. +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop216: +NmiHandler_Loop331: lda $A264,y ; CPU:$B574 PRG:3574 B9 64 A2 sta Zp06 ; CPU:$B577 PRG:3577 85 06 lda $A271,y ; CPU:$B579 PRG:3579 B9 71 A2 jmp Sub_B587 ; CPU:$B57C PRG:357C 4C 87 B5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop217 -; Global: Branch target inside NmiHandler: taken when Loop217. +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop217: +NmiHandler_Loop332: lda $A25D,y ; CPU:$B57F PRG:357F B9 5D A2 sta Zp06 ; CPU:$B582 PRG:3582 85 06 lda $A26A,y ; CPU:$B584 PRG:3584 B9 6A A2 @@ -6269,51 +8831,51 @@ NmiHandler_Loop217: ; ----------------------------------------------------------------------------- Sub_B587: clc ; CPU:$B587 PRG:3587 18 - adc ZpB0,x ; CPU:$B588 PRG:3588 75 B0 - sta Zp02 ; CPU:$B58A PRG:358A 85 02 + adc PlayerX,x ; CPU:$B588 PRG:3588 75 B0 + sta DispatchPtrLo ; CPU:$B58A PRG:358A 85 02 lda #$01 ; CPU:$B58C PRG:358C A9 01 sta Zp04 ; CPU:$B58E PRG:358E 85 04 lda #$00 ; CPU:$B590 PRG:3590 A9 00 sta Zp07 ; CPU:$B592 PRG:3592 85 07 - lda Zp9F,x ; CPU:$B594 PRG:3594 B5 9F - sta Zp01 ; CPU:$B596 PRG:3596 85 01 + lda GameMode,x ; CPU:$B594 PRG:3594 B5 9F + sta VramWritePtrHi ; CPU:$B596 PRG:3596 85 01 lda Zp8E,x ; CPU:$B598 PRG:3598 B5 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative18 -; Global: Branch target inside NmiHandler: taken when OnNonnegative18. +; Routine: NmiHandler_OnNonnegative27 +; Global: Branch target inside NmiHandler: taken when OnNonnegative27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative18: - sta Zp00 ; CPU:$B59A PRG:359A 85 00 +NmiHandler_OnNonnegative27: + sta VramWritePtrLo ; CPU:$B59A PRG:359A 85 00 lda Zp07 ; CPU:$B59C PRG:359C A5 07 eor #$40 ; CPU:$B59E PRG:359E 49 40 sta Zp07 ; CPU:$B5A0 PRG:35A0 85 07 ldx Zp06 ; CPU:$B5A2 PRG:35A2 A6 06 - ldy Zp01 ; CPU:$B5A4 PRG:35A4 A4 01 + ldy VramWritePtrHi ; CPU:$B5A4 PRG:35A4 A4 01 dey ; CPU:$B5A6 PRG:35A6 88 - bne NmiHandler_Loop218 ; CPU:$B5A7 PRG:35A7 D0 30 - lda Zp02 ; CPU:$B5A9 PRG:35A9 A5 02 - sta Zp03 ; CPU:$B5AB PRG:35AB 85 03 + bne NmiHandler_Loop333 ; CPU:$B5A7 PRG:35A7 D0 30 + lda DispatchPtrLo ; CPU:$B5A9 PRG:35A9 A5 02 + sta DispatchPtrHi ; CPU:$B5AB PRG:35AB 85 03 ldy Zp4C ; CPU:$B5AD PRG:35AD A4 4C lda $A22D,x ; CPU:$B5AF PRG:35AF BD 2D A2 sta Zp05 ; CPU:$B5B2 PRG:35B2 85 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero22 -; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero22: - lda Zp03 ; CPU:$B5B4 PRG:35B4 A5 03 +NmiHandler_OnNonzero31: + lda DispatchPtrHi ; CPU:$B5B4 PRG:35B4 A5 03 sta $06D0,y ; CPU:$B5B6 PRG:35B6 99 D0 06 clc ; CPU:$B5B9 PRG:35B9 18 adc #$08 ; CPU:$B5BA PRG:35BA 69 08 - sta Zp03 ; CPU:$B5BC PRG:35BC 85 03 + sta DispatchPtrHi ; CPU:$B5BC PRG:35BC 85 03 iny ; CPU:$B5BE PRG:35BE C8 lda $A22E,x ; CPU:$B5BF PRG:35BF BD 2E A2 sta $06D0,y ; CPU:$B5C2 PRG:35C2 99 D0 06 @@ -6322,37 +8884,37 @@ NmiHandler_OnNonzero22: lda Zp07 ; CPU:$B5C7 PRG:35C7 A5 07 sta $06D0,y ; CPU:$B5C9 PRG:35C9 99 D0 06 iny ; CPU:$B5CC PRG:35CC C8 - lda Zp00 ; CPU:$B5CD PRG:35CD A5 00 + lda VramWritePtrLo ; CPU:$B5CD PRG:35CD A5 00 sta $06D0,y ; CPU:$B5CF PRG:35CF 99 D0 06 iny ; CPU:$B5D2 PRG:35D2 C8 dec Zp05 ; CPU:$B5D3 PRG:35D3 C6 05 - bne NmiHandler_OnNonzero22 ; CPU:$B5D5 PRG:35D5 D0 DD + bne NmiHandler_OnNonzero31 ; CPU:$B5D5 PRG:35D5 D0 DD sty Zp4C ; CPU:$B5D7 PRG:35D7 84 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop218 -; Global: Branch target inside NmiHandler: taken when Loop218. +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop218: +NmiHandler_Loop333: sec ; CPU:$B5D9 PRG:35D9 38 sbc #$08 ; CPU:$B5DA PRG:35DA E9 08 - bcs NmiHandler_Loop219 ; CPU:$B5DC PRG:35DC B0 02 - dec Zp01 ; CPU:$B5DE PRG:35DE C6 01 + bcs NmiHandler_Loop334 ; CPU:$B5DC PRG:35DC B0 02 + dec VramWritePtrHi ; CPU:$B5DE PRG:35DE C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop219 -; Global: Branch target inside NmiHandler: taken when Loop219. +; Routine: NmiHandler_Loop334 +; Global: Branch target inside NmiHandler: taken when Loop334. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop219: +NmiHandler_Loop334: dec Zp04 ; CPU:$B5E0 PRG:35E0 C6 04 - bpl NmiHandler_OnNonnegative18 ; CPU:$B5E2 PRG:35E2 10 B6 - jmp NmiHandler_Loop195 ; CPU:$B5E4 PRG:35E4 4C 4B B3 + bpl NmiHandler_OnNonnegative27 ; CPU:$B5E2 PRG:35E2 10 B6 + jmp NmiHandler_Loop310 ; CPU:$B5E4 PRG:35E4 4C 4B B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B5E7 ; Global: Branch target inside Sub: taken when B5E7. @@ -6364,65 +8926,65 @@ NmiHandler_Loop219: Sub_B5E7: ldy Zp4C ; CPU:$B5E7 PRG:35E7 A4 4C lda #$41 ; CPU:$B5E9 PRG:35E9 A9 41 - sta Zp03 ; CPU:$B5EB PRG:35EB 85 03 - lda Zp9F,x ; CPU:$B5ED PRG:35ED B5 9F - sta Zp01 ; CPU:$B5EF PRG:35EF 85 01 + sta DispatchPtrHi ; CPU:$B5EB PRG:35EB 85 03 + lda GameMode,x ; CPU:$B5ED PRG:35ED B5 9F + sta VramWritePtrHi ; CPU:$B5EF PRG:35EF 85 01 lda Zp8E,x ; CPU:$B5F1 PRG:35F1 B5 8E ldx #$01 ; CPU:$B5F3 PRG:35F3 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative19 -; Global: Branch target inside NmiHandler: taken when OnNonnegative19. +; Routine: NmiHandler_OnNonnegative28 +; Global: Branch target inside NmiHandler: taken when OnNonnegative28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative19: - sta Zp00 ; CPU:$B5F5 PRG:35F5 85 00 +NmiHandler_OnNonnegative28: + sta VramWritePtrLo ; CPU:$B5F5 PRG:35F5 85 00 sta $06D3,y ; CPU:$B5F7 PRG:35F7 99 D3 06 - lda Zp01 ; CPU:$B5FA PRG:35FA A5 01 + lda VramWritePtrHi ; CPU:$B5FA PRG:35FA A5 01 cmp #$01 ; CPU:$B5FC PRG:35FC C9 01 - bne NmiHandler_Loop220 ; CPU:$B5FE PRG:35FE D0 13 + bne NmiHandler_Loop335 ; CPU:$B5FE PRG:35FE D0 13 lda #$AF ; CPU:$B600 PRG:3600 A9 AF sta $06D0,y ; CPU:$B602 PRG:3602 99 D0 06 lda #$E7 ; CPU:$B605 PRG:3605 A9 E7 sta $06D1,y ; CPU:$B607 PRG:3607 99 D1 06 - lda Zp03 ; CPU:$B60A PRG:360A A5 03 + lda DispatchPtrHi ; CPU:$B60A PRG:360A A5 03 sta $06D2,y ; CPU:$B60C PRG:360C 99 D2 06 iny ; CPU:$B60F PRG:360F C8 iny ; CPU:$B610 PRG:3610 C8 iny ; CPU:$B611 PRG:3611 C8 iny ; CPU:$B612 PRG:3612 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop220 -; Global: Branch target inside NmiHandler: taken when Loop220. +; Routine: NmiHandler_Loop335 +; Global: Branch target inside NmiHandler: taken when Loop335. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop220: - lda Zp03 ; CPU:$B613 PRG:3613 A5 03 +NmiHandler_Loop335: + lda DispatchPtrHi ; CPU:$B613 PRG:3613 A5 03 eor #$40 ; CPU:$B615 PRG:3615 49 40 - sta Zp03 ; CPU:$B617 PRG:3617 85 03 - lda Zp00 ; CPU:$B619 PRG:3619 A5 00 + sta DispatchPtrHi ; CPU:$B617 PRG:3617 85 03 + lda VramWritePtrLo ; CPU:$B619 PRG:3619 A5 00 sec ; CPU:$B61B PRG:361B 38 sbc #$08 ; CPU:$B61C PRG:361C E9 08 - bcs NmiHandler_Loop221 ; CPU:$B61E PRG:361E B0 02 - dec Zp01 ; CPU:$B620 PRG:3620 C6 01 + bcs NmiHandler_Loop336 ; CPU:$B61E PRG:361E B0 02 + dec VramWritePtrHi ; CPU:$B620 PRG:3620 C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop221 -; Global: Branch target inside NmiHandler: taken when Loop221. +; Routine: NmiHandler_Loop336 +; Global: Branch target inside NmiHandler: taken when Loop336. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop221: +NmiHandler_Loop336: dex ; CPU:$B622 PRG:3622 CA - bpl NmiHandler_OnNonnegative19 ; CPU:$B623 PRG:3623 10 D0 + bpl NmiHandler_OnNonnegative28 ; CPU:$B623 PRG:3623 10 D0 sty Zp4C ; CPU:$B625 PRG:3625 84 4C - jmp NmiHandler_Loop195 ; CPU:$B627 PRG:3627 4C 4B B3 + jmp NmiHandler_Loop310 ; CPU:$B627 PRG:3627 4C 4B B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B62A ; Global: Branch target inside Sub: taken when B62A. @@ -6432,134 +8994,134 @@ NmiHandler_Loop221: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B62A: - ldy Zp9F,x ; CPU:$B62A PRG:362A B4 9F + ldy GameMode,x ; CPU:$B62A PRG:362A B4 9F dey ; CPU:$B62C PRG:362C 88 - beq NmiHandler_Loop222 ; CPU:$B62D PRG:362D F0 03 + beq NmiHandler_Loop337 ; CPU:$B62D PRG:362D F0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear3 -; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear3: - jmp NmiHandler_Loop195 ; CPU:$B62F PRG:362F 4C 4B B3 +NmiHandler_OnCarryClear5: + jmp NmiHandler_Loop310 ; CPU:$B62F PRG:362F 4C 4B B3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop222 -; Global: Branch target inside NmiHandler: taken when Loop222. +; Routine: NmiHandler_Loop337 +; Global: Branch target inside NmiHandler: taken when Loop337. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop222: - lda ZpB0,x ; CPU:$B632 PRG:3632 B5 B0 +NmiHandler_Loop337: + lda PlayerX,x ; CPU:$B632 PRG:3632 B5 B0 clc ; CPU:$B634 PRG:3634 18 adc #$08 ; CPU:$B635 PRG:3635 69 08 sta Zp0A ; CPU:$B637 PRG:3637 85 0A - lda ZpB7,x ; CPU:$B639 PRG:3639 B5 B7 + lda PlayerY,x ; CPU:$B639 PRG:3639 B5 B7 tay ; CPU:$B63B PRG:363B A8 lda $9FD0,y ; CPU:$B63C PRG:363C B9 D0 9F - ldy ZpC0,x ; CPU:$B63F PRG:363F B4 C0 - beq NmiHandler_Loop224 ; CPU:$B641 PRG:3641 F0 0C + ldy GameState,x ; CPU:$B63F PRG:363F B4 C0 + beq NmiHandler_Loop339 ; CPU:$B641 PRG:3641 F0 0C cmp #$4B ; CPU:$B643 PRG:3643 C9 4B - beq NmiHandler_Loop223 ; CPU:$B645 PRG:3645 F0 06 + beq NmiHandler_Loop338 ; CPU:$B645 PRG:3645 F0 06 cmp #$5F ; CPU:$B647 PRG:3647 C9 5F - beq NmiHandler_Loop223 ; CPU:$B649 PRG:3649 F0 02 + beq NmiHandler_Loop338 ; CPU:$B649 PRG:3649 F0 02 adc #$05 ; CPU:$B64B PRG:364B 69 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop223 -; Global: Branch target inside NmiHandler: taken when Loop223. +; Routine: NmiHandler_Loop338 +; Global: Branch target inside NmiHandler: taken when Loop338. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop223: +NmiHandler_Loop338: ldy #$40 ; CPU:$B64D PRG:364D A0 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop224 -; Global: Branch target inside NmiHandler: taken when Loop224. +; Routine: NmiHandler_Loop339 +; Global: Branch target inside NmiHandler: taken when Loop339. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop224: - sty Zp00 ; CPU:$B64F PRG:364F 84 00 +NmiHandler_Loop339: + sty VramWritePtrLo ; CPU:$B64F PRG:364F 84 00 tay ; CPU:$B651 PRG:3651 A8 - lda ZpC0,x ; CPU:$B652 PRG:3652 B5 C0 - bne NmiHandler_Loop225 ; CPU:$B654 PRG:3654 D0 06 + lda GameState,x ; CPU:$B652 PRG:3652 B5 C0 + bne NmiHandler_Loop340 ; CPU:$B654 PRG:3654 D0 06 lda Zp8E,x ; CPU:$B656 PRG:3656 B5 8E cmp #$08 ; CPU:$B658 PRG:3658 C9 08 - bcc NmiHandler_OnCarryClear3 ; CPU:$B65A PRG:365A 90 D3 + bcc NmiHandler_OnCarryClear5 ; CPU:$B65A PRG:365A 90 D3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop225 -; Global: Branch target inside NmiHandler: taken when Loop225. +; Routine: NmiHandler_Loop340 +; Global: Branch target inside NmiHandler: taken when Loop340. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop225: +NmiHandler_Loop340: lda Zp8E,x ; CPU:$B65C PRG:365C B5 8E sec ; CPU:$B65E PRG:365E 38 sbc #$08 ; CPU:$B65F PRG:365F E9 08 - sta Zp01 ; CPU:$B661 PRG:3661 85 01 + sta VramWritePtrHi ; CPU:$B661 PRG:3661 85 01 ldx #$05 ; CPU:$B663 PRG:3663 A2 05 cpy #$4B ; CPU:$B665 PRG:3665 C0 4B - beq NmiHandler_Loop226 ; CPU:$B667 PRG:3667 F0 15 + beq NmiHandler_Loop341 ; CPU:$B667 PRG:3667 F0 15 cpy #$5F ; CPU:$B669 PRG:3669 C0 5F - beq NmiHandler_Loop226 ; CPU:$B66B PRG:366B F0 11 + beq NmiHandler_Loop341 ; CPU:$B66B PRG:366B F0 11 ldx #$0A ; CPU:$B66D PRG:366D A2 0A cmp #$F0 ; CPU:$B66F PRG:366F C9 F0 - bcc NmiHandler_Loop226 ; CPU:$B671 PRG:3671 90 0B + bcc NmiHandler_Loop341 ; CPU:$B671 PRG:3671 90 0B ldx #$05 ; CPU:$B673 PRG:3673 A2 05 cmp #$F8 ; CPU:$B675 PRG:3675 C9 F8 - bcc NmiHandler_Loop226 ; CPU:$B677 PRG:3677 90 05 + bcc NmiHandler_Loop341 ; CPU:$B677 PRG:3677 90 05 tya ; CPU:$B679 PRG:3679 98 clc ; CPU:$B67A PRG:367A 18 adc #$05 ; CPU:$B67B PRG:367B 69 05 tay ; CPU:$B67D PRG:367D A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop226 -; Global: Branch target inside NmiHandler: taken when Loop226. +; Routine: NmiHandler_Loop341 +; Global: Branch target inside NmiHandler: taken when Loop341. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop226: - stx Zp02 ; CPU:$B67E PRG:367E 86 02 +NmiHandler_Loop341: + stx DispatchPtrLo ; CPU:$B67E PRG:367E 86 02 cpx #$05 ; CPU:$B680 PRG:3680 E0 05 - bne NmiHandler_Loop227 ; CPU:$B682 PRG:3682 D0 0B - lda Zp00 ; CPU:$B684 PRG:3684 A5 00 - beq NmiHandler_Loop227 ; CPU:$B686 PRG:3686 F0 07 - lda Zp01 ; CPU:$B688 PRG:3688 A5 01 + bne NmiHandler_Loop342 ; CPU:$B682 PRG:3682 D0 0B + lda VramWritePtrLo ; CPU:$B684 PRG:3684 A5 00 + beq NmiHandler_Loop342 ; CPU:$B686 PRG:3686 F0 07 + lda VramWritePtrHi ; CPU:$B688 PRG:3688 A5 01 clc ; CPU:$B68A PRG:368A 18 adc #$08 ; CPU:$B68B PRG:368B 69 08 - sta Zp01 ; CPU:$B68D PRG:368D 85 01 + sta VramWritePtrHi ; CPU:$B68D PRG:368D 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop227 -; Global: Branch target inside NmiHandler: taken when Loop227. +; Routine: NmiHandler_Loop342 +; Global: Branch target inside NmiHandler: taken when Loop342. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop227: +NmiHandler_Loop342: ldx Zp4B ; CPU:$B68F PRG:368F A6 4B lda Zp0A ; CPU:$B691 PRG:3691 A5 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero23 -; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero23: +NmiHandler_OnNonzero32: sta $0600,x ; CPU:$B693 PRG:3693 9D 00 06 clc ; CPU:$B696 PRG:3696 18 adc #$08 ; CPU:$B697 PRG:3697 69 08 @@ -6568,36 +9130,36 @@ NmiHandler_OnNonzero23: lda $9FD9,y ; CPU:$B69C PRG:369C B9 D9 9F sta $0600,x ; CPU:$B69F PRG:369F 9D 00 06 inx ; CPU:$B6A2 PRG:36A2 E8 - lda Zp00 ; CPU:$B6A3 PRG:36A3 A5 00 + lda VramWritePtrLo ; CPU:$B6A3 PRG:36A3 A5 00 ora #$02 ; CPU:$B6A5 PRG:36A5 09 02 sta $0600,x ; CPU:$B6A7 PRG:36A7 9D 00 06 inx ; CPU:$B6AA PRG:36AA E8 - lda Zp01 ; CPU:$B6AB PRG:36AB A5 01 + lda VramWritePtrHi ; CPU:$B6AB PRG:36AB A5 01 sta $0600,x ; CPU:$B6AD PRG:36AD 9D 00 06 inx ; CPU:$B6B0 PRG:36B0 E8 iny ; CPU:$B6B1 PRG:36B1 C8 - lda Zp02 ; CPU:$B6B2 PRG:36B2 A5 02 + lda DispatchPtrLo ; CPU:$B6B2 PRG:36B2 A5 02 cmp #$06 ; CPU:$B6B4 PRG:36B4 C9 06 - bne NmiHandler_Loop228 ; CPU:$B6B6 PRG:36B6 D0 0A - lda Zp01 ; CPU:$B6B8 PRG:36B8 A5 01 + bne NmiHandler_Loop343 ; CPU:$B6B6 PRG:36B6 D0 0A + lda VramWritePtrHi ; CPU:$B6B8 PRG:36B8 A5 01 adc #$07 ; CPU:$B6BA PRG:36BA 69 07 - sta Zp01 ; CPU:$B6BC PRG:36BC 85 01 + sta VramWritePtrHi ; CPU:$B6BC PRG:36BC 85 01 lda Zp0A ; CPU:$B6BE PRG:36BE A5 0A sta Zp0B ; CPU:$B6C0 PRG:36C0 85 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop228 -; Global: Branch target inside NmiHandler: taken when Loop228. +; Routine: NmiHandler_Loop343 +; Global: Branch target inside NmiHandler: taken when Loop343. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop228: +NmiHandler_Loop343: lda Zp0B ; CPU:$B6C2 PRG:36C2 A5 0B - dec Zp02 ; CPU:$B6C4 PRG:36C4 C6 02 - bne NmiHandler_OnNonzero23 ; CPU:$B6C6 PRG:36C6 D0 CB + dec DispatchPtrLo ; CPU:$B6C4 PRG:36C4 C6 02 + bne NmiHandler_OnNonzero32 ; CPU:$B6C6 PRG:36C6 D0 CB stx Zp4B ; CPU:$B6C8 PRG:36C8 86 4B - jmp NmiHandler_Loop195 ; CPU:$B6CA PRG:36CA 4C 4B B3 + jmp NmiHandler_Loop310 ; CPU:$B6CA PRG:36CA 4C 4B B3 ; ---- data $B6CD-$B713 (71 bytes) ---- ; referenced by `lda $B6CD` at $B721 (operand $B6CD falls inside this region) ; referenced by `lda $B6D0` at $B73C (operand $B6D0 falls inside this region) @@ -6605,7 +9167,8 @@ NmiHandler_Loop228: ; referenced by `adc $B6D4,y` at $B75E (operand $B6D4 falls inside this region) ; referenced by `lda $B6D4,y` at $B76B (operand $B6D4 falls inside this region) ; referenced by `adc $B6D4,y` at $B775 (operand $B6D4 falls inside this region) - .byte $FF, $0B, $1B, $1F, $2B, $3B, $3F, $08, $B7, $02, $00, $10, $BB, $02, $00, $18 ; CPU:$B6CD PRG:36CD FF 0B 1B 1F 2B 3B 3F 08 B7 02 00 10 BB 02 00 18 +LevelObjectSpawnTable: + .byte $FF, $0B, $1B, $1F, $2B, $3B, $3F, $08, $B7, $02, $00, $10, $BB, $02, $00, $18 ; CPU:$B6CD PRG:-933 FF 0B 1B 1F 2B 3B 3F 08 B7 02 00 10 BB 02 00 18 .byte $B9, $02, $00, $08, $B2, $02, $F8, $10, $BA, $02, $F8, $18, $B4, $02, $F8, $20 ; CPU:$B6DD PRG:36DD B9 02 00 08 B2 02 F8 10 BA 02 F8 18 B4 02 F8 20 .byte $B6, $02, $F8, $20, $B5, $02, $F0, $08, $B7, $02, $F8, $10, $BB, $02, $F8, $18 ; CPU:$B6ED PRG:36ED B6 02 F8 20 B5 02 F0 08 B7 02 F8 10 BB 02 F8 18 .byte $B9, $02, $F8, $08, $B2, $02, $00, $10, $BA, $02, $00, $18, $B4, $02, $00, $20 ; CPU:$B6FD PRG:36FD B9 02 F8 08 B2 02 00 10 BA 02 00 18 B4 02 00 20 @@ -6619,71 +9182,71 @@ NmiHandler_Loop228: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B714: - ldy Zp9F,x ; CPU:$B714 PRG:3714 B4 9F + ldy GameMode,x ; CPU:$B714 PRG:3714 B4 9F dey ; CPU:$B716 PRG:3716 88 - bne NmiHandler_Loop231 ; CPU:$B717 PRG:3717 D0 6D - lda ZpB0,x ; CPU:$B719 PRG:3719 B5 B0 - sta Zp01 ; CPU:$B71B PRG:371B 85 01 - lda ZpC0,x ; CPU:$B71D PRG:371D B5 C0 - bne NmiHandler_Loop229 ; CPU:$B71F PRG:371F D0 1B + bne NmiHandler_Loop346 ; CPU:$B717 PRG:3717 D0 6D + lda PlayerX,x ; CPU:$B719 PRG:3719 B5 B0 + sta VramWritePtrHi ; CPU:$B71B PRG:371B 85 01 + lda GameState,x ; CPU:$B71D PRG:371D B5 C0 + bne NmiHandler_Loop344 ; CPU:$B71F PRG:371F D0 1B lda $B6CD ; CPU:$B721 PRG:3721 AD CD B6 sta Zp0E ; CPU:$B724 PRG:3724 85 0E lda #$02 ; CPU:$B726 PRG:3726 A9 02 sta Zp0F ; CPU:$B728 PRG:3728 85 0F ldy #$03 ; CPU:$B72A PRG:372A A0 03 lda Zp8E,x ; CPU:$B72C PRG:372C B5 8E - sta Zp00 ; CPU:$B72E PRG:372E 85 00 + sta VramWritePtrLo ; CPU:$B72E PRG:372E 85 00 cmp #$10 ; CPU:$B730 PRG:3730 C9 10 - bcs NmiHandler_Loop230 ; CPU:$B732 PRG:3732 B0 21 + bcs NmiHandler_Loop345 ; CPU:$B732 PRG:3732 B0 21 dey ; CPU:$B734 PRG:3734 88 cmp #$08 ; CPU:$B735 PRG:3735 C9 08 - bcs NmiHandler_Loop230 ; CPU:$B737 PRG:3737 B0 1C + bcs NmiHandler_Loop345 ; CPU:$B737 PRG:3737 B0 1C dey ; CPU:$B739 PRG:3739 88 - bcc NmiHandler_Loop230 ; CPU:$B73A PRG:373A 90 19 + bcc NmiHandler_Loop345 ; CPU:$B73A PRG:373A 90 19 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop229 -; Global: Branch target inside NmiHandler: taken when Loop229. +; Routine: NmiHandler_Loop344 +; Global: Branch target inside NmiHandler: taken when Loop344. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop229: +NmiHandler_Loop344: lda $B6D0 ; CPU:$B73C PRG:373C AD D0 B6 sta Zp0E ; CPU:$B73F PRG:373F 85 0E lda #$42 ; CPU:$B741 PRG:3741 A9 42 sta Zp0F ; CPU:$B743 PRG:3743 85 0F ldy #$06 ; CPU:$B745 PRG:3745 A0 06 lda Zp8E,x ; CPU:$B747 PRG:3747 B5 8E - sta Zp00 ; CPU:$B749 PRG:3749 85 00 + sta VramWritePtrLo ; CPU:$B749 PRG:3749 85 00 cmp #$E9 ; CPU:$B74B PRG:374B C9 E9 - bcc NmiHandler_Loop230 ; CPU:$B74D PRG:374D 90 06 + bcc NmiHandler_Loop345 ; CPU:$B74D PRG:374D 90 06 dey ; CPU:$B74F PRG:374F 88 cmp #$F1 ; CPU:$B750 PRG:3750 C9 F1 - bcc NmiHandler_Loop230 ; CPU:$B752 PRG:3752 90 01 + bcc NmiHandler_Loop345 ; CPU:$B752 PRG:3752 90 01 dey ; CPU:$B754 PRG:3754 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop230 -; Global: Branch target inside NmiHandler: taken when Loop230. +; Routine: NmiHandler_Loop345 +; Global: Branch target inside NmiHandler: taken when Loop345. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop230: +NmiHandler_Loop345: lda $B6CD,y ; CPU:$B755 PRG:3755 B9 CD B6 tay ; CPU:$B758 PRG:3758 A8 ldx Zp4B ; CPU:$B759 PRG:3759 A6 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero24 -; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero24: - lda Zp00 ; CPU:$B75B PRG:375B A5 00 +NmiHandler_OnNonzero33: + lda VramWritePtrLo ; CPU:$B75B PRG:375B A5 00 clc ; CPU:$B75D PRG:375D 18 adc $B6D4,y ; CPU:$B75E PRG:375E 79 D4 B6 sta $0603,x ; CPU:$B761 PRG:3761 9D 03 06 @@ -6694,7 +9257,7 @@ NmiHandler_OnNonzero24: lda $B6D4,y ; CPU:$B76B PRG:376B B9 D4 B6 sta $0601,x ; CPU:$B76E PRG:376E 9D 01 06 dey ; CPU:$B771 PRG:3771 88 - lda Zp01 ; CPU:$B772 PRG:3772 A5 01 + lda VramWritePtrHi ; CPU:$B772 PRG:3772 A5 01 clc ; CPU:$B774 PRG:3774 18 adc $B6D4,y ; CPU:$B775 PRG:3775 79 D4 B6 sta $0600,x ; CPU:$B778 PRG:3778 9D 00 06 @@ -6704,18 +9267,18 @@ NmiHandler_OnNonzero24: inx ; CPU:$B77E PRG:377E E8 dey ; CPU:$B77F PRG:377F 88 cpy Zp0E ; CPU:$B780 PRG:3780 C4 0E - bne NmiHandler_OnNonzero24 ; CPU:$B782 PRG:3782 D0 D7 + bne NmiHandler_OnNonzero33 ; CPU:$B782 PRG:3782 D0 D7 stx Zp4B ; CPU:$B784 PRG:3784 86 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop231 -; Global: Branch target inside NmiHandler: taken when Loop231. +; Routine: NmiHandler_Loop346 +; Global: Branch target inside NmiHandler: taken when Loop346. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop231: - jmp NmiHandler_Loop195 ; CPU:$B786 PRG:3786 4C 4B B3 +NmiHandler_Loop346: + jmp NmiHandler_Loop310 ; CPU:$B786 PRG:3786 4C 4B B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B789 ; Global: Branch target inside Sub: taken when B789. @@ -6727,18 +9290,18 @@ NmiHandler_Loop231: Sub_B789: ldx #$02 ; CPU:$B789 PRG:3789 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative20 -; Global: Branch target inside NmiHandler: taken when OnNonnegative20. +; Routine: NmiHandler_OnNonnegative29 +; Global: Branch target inside NmiHandler: taken when OnNonnegative29. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative20: +NmiHandler_OnNonnegative29: ldy $0430,x ; CPU:$B78B PRG:378B BC 30 04 - beq NmiHandler_Loop237 ; CPU:$B78E PRG:378E F0 66 + beq NmiHandler_Loop352 ; CPU:$B78E PRG:378E F0 66 jsr Sub_CB50 ; CPU:$B790 PRG:3790 20 50 CB - bcs NmiHandler_Loop236 ; CPU:$B793 PRG:3793 B0 58 + bcs NmiHandler_Loop351 ; CPU:$B793 PRG:3793 B0 58 lda $0424,x ; CPU:$B795 PRG:3795 BD 24 04 lsr a ; CPU:$B798 PRG:3798 4A lsr a ; CPU:$B799 PRG:3799 4A @@ -6754,43 +9317,43 @@ NmiHandler_OnNonnegative20: clc ; CPU:$B7A8 PRG:37A8 18 adc $042A,x ; CPU:$B7A9 PRG:37A9 7D 2A 04 sta $042A,x ; CPU:$B7AC PRG:37AC 9D 2A 04 - bcc NmiHandler_Loop232 ; CPU:$B7AF PRG:37AF 90 01 + bcc NmiHandler_Loop347 ; CPU:$B7AF PRG:37AF 90 01 iny ; CPU:$B7B1 PRG:37B1 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop232 -; Global: Branch target inside NmiHandler: taken when Loop232. +; Routine: NmiHandler_Loop347 +; Global: Branch target inside NmiHandler: taken when Loop347. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop232: +NmiHandler_Loop347: lda $A27E,y ; CPU:$B7B2 PRG:37B2 B9 7E A2 - bpl NmiHandler_Loop233 ; CPU:$B7B5 PRG:37B5 10 02 + bpl NmiHandler_Loop348 ; CPU:$B7B5 PRG:37B5 10 02 dec ZpEA,x ; CPU:$B7B7 PRG:37B7 D6 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop233 -; Global: Branch target inside NmiHandler: taken when Loop233. +; Routine: NmiHandler_Loop348 +; Global: Branch target inside NmiHandler: taken when Loop348. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop233: +NmiHandler_Loop348: clc ; CPU:$B7B9 PRG:37B9 18 adc ZpD9,x ; CPU:$B7BA PRG:37BA 75 D9 sta ZpD9,x ; CPU:$B7BC PRG:37BC 95 D9 - bcc NmiHandler_Loop234 ; CPU:$B7BE PRG:37BE 90 02 + bcc NmiHandler_Loop349 ; CPU:$B7BE PRG:37BE 90 02 inc ZpEA,x ; CPU:$B7C0 PRG:37C0 F6 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop234 -; Global: Branch target inside NmiHandler: taken when Loop234. +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop234: +NmiHandler_Loop349: lda $0427,x ; CPU:$B7C2 PRG:37C2 BD 27 04 lsr a ; CPU:$B7C5 PRG:37C5 4A lsr a ; CPU:$B7C6 PRG:37C6 4A @@ -6806,59 +9369,232 @@ NmiHandler_Loop234: clc ; CPU:$B7D5 PRG:37D5 18 adc $042D,x ; CPU:$B7D6 PRG:37D6 7D 2D 04 sta $042D,x ; CPU:$B7D9 PRG:37D9 9D 2D 04 - bcc NmiHandler_Loop235 ; CPU:$B7DC PRG:37DC 90 01 + bcc NmiHandler_Loop350 ; CPU:$B7DC PRG:37DC 90 01 iny ; CPU:$B7DE PRG:37DE C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop235 -; Global: Branch target inside NmiHandler: taken when Loop235. +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop235: +NmiHandler_Loop350: lda $A27E,y ; CPU:$B7DF PRG:37DF B9 7E A2 clc ; CPU:$B7E2 PRG:37E2 18 adc $0421,x ; CPU:$B7E3 PRG:37E3 7D 21 04 sta $0421,x ; CPU:$B7E6 PRG:37E6 9D 21 04 cmp #$B0 ; CPU:$B7E9 PRG:37E9 C9 B0 - bcc NmiHandler_Loop237 ; CPU:$B7EB PRG:37EB 90 09 + bcc NmiHandler_Loop352 ; CPU:$B7EB PRG:37EB 90 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop236 -; Global: Branch target inside NmiHandler: taken when Loop236. +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop236: +NmiHandler_Loop351: lda #$00 ; CPU:$B7ED PRG:37ED A9 00 sta $0430,x ; CPU:$B7EF PRG:37EF 9D 30 04 sta ZpD9,x ; CPU:$B7F2 PRG:37F2 95 D9 sta ZpEA,x ; CPU:$B7F4 PRG:37F4 95 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop237 -; Global: Branch target inside NmiHandler: taken when Loop237. +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop237: +NmiHandler_Loop352: dex ; CPU:$B7F6 PRG:37F6 CA - bpl NmiHandler_OnNonnegative20 ; CPU:$B7F7 PRG:37F7 10 92 + bpl NmiHandler_OnNonnegative29 ; CPU:$B7F7 PRG:37F7 10 92 rts ; CPU:$B7F9 PRG:37F9 60 -; ---- data $B7FA-$B898 (159 bytes) ---- - .byte $A9, $00, $A0, $02, $20, $08, $B2, $BC, $78, $04, $B9, $88, $A2, $20, $A5, $C7 ; CPU:$B7FA PRG:37FA A9 00 A0 02 20 08 B2 BC 78 04 B9 88 A2 20 A5 C7 - .byte $B5, $B0, $C9, $B0, $90, $4A, $A5, $18, $4A, $90, $18, $A9, $A8, $95, $B0, $A5 ; CPU:$B80A PRG:380A B5 B0 C9 B0 90 4A A5 18 4A 90 18 A9 A8 95 B0 A5 - .byte $19, $4A, $90, $08, $20, $89, $B8, $B0, $03, $4C, $7D, $B1, $A9, $01, $85, $FF ; CPU:$B81A PRG:381A 19 4A 90 08 20 89 B8 B0 03 4C 7D B1 A9 01 85 FF - .byte $4C, $D0, $B1, $20, $CD, $B8, $A9, $01, $85, $FF, $4C, $43, $B2, $20, $CD, $B8 ; CPU:$B82A PRG:382A 4C D0 B1 20 CD B8 A9 01 85 FF 4C 43 B2 20 CD B8 - .byte $A9, $01, $85, $FF, $A5, $18, $4A, $90, $14, $B5, $C0, $49, $01, $95, $C0, $A9 ; CPU:$B83A PRG:383A A9 01 85 FF A5 18 4A 90 14 B5 C0 49 01 95 C0 A9 - .byte $01, $95, $80, $4A, $95, $B7, $A9, $0B, $95, $87, $4C, $B8, $DA, $4C, $43, $B2 ; CPU:$B84A PRG:384A 01 95 80 4A 95 B7 A9 0B 95 87 4C B8 DA 4C 43 B2 - .byte $B5, $C0, $F0, $10, $BD, $FB, $04, $D5, $DF, $D0, $17, $BD, $F6, $04, $D5, $CE ; CPU:$B85A PRG:385A B5 C0 F0 10 BD FB 04 D5 DF D0 17 BD F6 04 D5 CE - .byte $90, $CB, $B0, $0E, $BD, $FB, $04, $D5, $DF, $D0, $07, $BD, $F6, $04, $D5, $CE ; CPU:$B86A PRG:386A 90 CB B0 0E BD FB 04 D5 DF D0 07 BD F6 04 D5 CE - .byte $B0, $BB, $A5, $49, $29, $03, $D0, $06, $B5, $B7, $49, $01, $95, $B7, $60, $A0 ; CPU:$B87A PRG:387A B0 BB A5 49 29 03 D0 06 B5 B7 49 01 95 B7 60 A0 - .byte $05, $B9, $87, $00, $C9, $0E, $F0, $05, $88, $10, $F6, $18, $60, $38, $60 ; CPU:$B88A PRG:388A 05 B9 87 00 C9 0E F0 05 88 10 F6 18 60 38 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B7FA +; Global: Branch target inside Label: taken when B7FA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7FA: + lda #$00 ; CPU:$B7FA PRG:37FA A9 00 + ldy #$02 ; CPU:$B7FC PRG:37FC A0 02 + jsr Sub_B208 ; CPU:$B7FE PRG:37FE 20 08 B2 + ldy $0478,x ; CPU:$B801 PRG:3801 BC 78 04 + lda $A288,y ; CPU:$B804 PRG:3804 B9 88 A2 + jsr Sub_C7A5 ; CPU:$B807 PRG:3807 20 A5 C7 + lda PlayerX,x ; CPU:$B80A PRG:380A B5 B0 + cmp #$B0 ; CPU:$B80C PRG:380C C9 B0 + bcc NmiHandler_Loop356 ; CPU:$B80E PRG:380E 90 4A + lda Zp18 ; CPU:$B810 PRG:3810 A5 18 + lsr a ; CPU:$B812 PRG:3812 4A + bcc NmiHandler_Loop354 ; CPU:$B813 PRG:3813 90 18 + lda #$A8 ; CPU:$B815 PRG:3815 A9 A8 + sta PlayerX,x ; CPU:$B817 PRG:3817 95 B0 + lda Zp19 ; CPU:$B819 PRG:3819 A5 19 + lsr a ; CPU:$B81B PRG:381B 4A + bcc NmiHandler_Loop353 ; CPU:$B81C PRG:381C 90 08 + jsr Sub_B889 ; CPU:$B81E PRG:381E 20 89 B8 + bcs NmiHandler_Loop353 ; CPU:$B821 PRG:3821 B0 03 + jmp Sub_B17D ; CPU:$B823 PRG:3823 4C 7D B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop353: + lda #$01 ; CPU:$B826 PRG:3826 A9 01 + sta ZpFF ; CPU:$B828 PRG:3828 85 FF + jmp Sub_B1D0 ; CPU:$B82A PRG:382A 4C D0 B1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop354: + jsr Sub_B8CD ; CPU:$B82D PRG:382D 20 CD B8 + lda #$01 ; CPU:$B830 PRG:3830 A9 01 + sta ZpFF ; CPU:$B832 PRG:3832 85 FF + jmp Sub_B243 ; CPU:$B834 PRG:3834 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + jsr Sub_B8CD ; CPU:$B837 PRG:3837 20 CD B8 + lda #$01 ; CPU:$B83A PRG:383A A9 01 + sta ZpFF ; CPU:$B83C PRG:383C 85 FF + lda Zp18 ; CPU:$B83E PRG:383E A5 18 + lsr a ; CPU:$B840 PRG:3840 4A + bcc NmiHandler_Loop355 ; CPU:$B841 PRG:3841 90 14 + lda GameState,x ; CPU:$B843 PRG:3843 B5 C0 + eor #$01 ; CPU:$B845 PRG:3845 49 01 + sta GameState,x ; CPU:$B847 PRG:3847 95 C0 + lda #$01 ; CPU:$B849 PRG:3849 A9 01 + sta SpriteTimer,x ; CPU:$B84B PRG:384B 95 80 + lsr a ; CPU:$B84D PRG:384D 4A + sta PlayerY,x ; CPU:$B84E PRG:384E 95 B7 + lda #$0B ; CPU:$B850 PRG:3850 A9 0B + sta EnemyIndex,x ; CPU:$B852 PRG:3852 95 87 + jmp Sub_DAB8 ; CPU:$B854 PRG:3854 4C B8 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop355 +; Global: Branch target inside NmiHandler: taken when Loop355. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop355: + jmp Sub_B243 ; CPU:$B857 PRG:3857 4C 43 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop356 +; Global: Branch target inside NmiHandler: taken when Loop356. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop356: + lda GameState,x ; CPU:$B85A PRG:385A B5 C0 + beq NmiHandler_Loop357 ; CPU:$B85C PRG:385C F0 10 + lda $04FB,x ; CPU:$B85E PRG:385E BD FB 04 + cmp EnemyHealth,x ; CPU:$B861 PRG:3861 D5 DF + bne NmiHandler_Loop358 ; CPU:$B863 PRG:3863 D0 17 + lda $04F6,x ; CPU:$B865 PRG:3865 BD F6 04 + cmp ZpCE,x ; CPU:$B868 PRG:3868 D5 CE + bcc NmiHandler_OnCarrySet2 ; CPU:$B86A PRG:386A 90 CB + bcs NmiHandler_Loop358 ; CPU:$B86C PRG:386C B0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop357 +; Global: Branch target inside NmiHandler: taken when Loop357. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop357: + lda $04FB,x ; CPU:$B86E PRG:386E BD FB 04 + cmp EnemyHealth,x ; CPU:$B871 PRG:3871 D5 DF + bne NmiHandler_Loop358 ; CPU:$B873 PRG:3873 D0 07 + lda $04F6,x ; CPU:$B875 PRG:3875 BD F6 04 + cmp ZpCE,x ; CPU:$B878 PRG:3878 D5 CE + bcs NmiHandler_OnCarrySet2 ; CPU:$B87A PRG:387A B0 BB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop358 +; Global: Branch target inside NmiHandler: taken when Loop358. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop358: + lda Zp49 ; CPU:$B87C PRG:387C A5 49 + and #$03 ; CPU:$B87E PRG:387E 29 03 + bne NmiHandler_Loop359 ; CPU:$B880 PRG:3880 D0 06 + lda PlayerY,x ; CPU:$B882 PRG:3882 B5 B7 + eor #$01 ; CPU:$B884 PRG:3884 49 01 + sta PlayerY,x ; CPU:$B886 PRG:3886 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop359 +; Global: Branch target inside NmiHandler: taken when Loop359. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop359: + rts ; CPU:$B888 PRG:3888 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B889 +; Global: Branch target inside Sub: taken when B889. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B889: + ldy #$05 ; CPU:$B889 PRG:3889 A0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative30 +; Global: Branch target inside NmiHandler: taken when OnNonnegative30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative30: + lda a:EnemyIndex,y ; CPU:$B88B PRG:388B B9 87 00 + cmp #$0E ; CPU:$B88E PRG:388E C9 0E + beq NmiHandler_Loop360 ; CPU:$B890 PRG:3890 F0 05 + dey ; CPU:$B892 PRG:3892 88 + bpl NmiHandler_OnNonnegative30 ; CPU:$B893 PRG:3893 10 F6 + clc ; CPU:$B895 PRG:3895 18 + rts ; CPU:$B896 PRG:3896 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop360 +; Global: Branch target inside NmiHandler: taken when Loop360. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop360: + sec ; CPU:$B897 PRG:3897 38 + rts ; CPU:$B898 PRG:3898 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B899 ; Global: Branch target inside Sub: taken when B899. @@ -6870,54 +9606,54 @@ NmiHandler_Loop237: Sub_B899: ldx #$02 ; CPU:$B899 PRG:3899 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative21 -; Global: Branch target inside NmiHandler: taken when OnNonnegative21. +; Routine: NmiHandler_OnNonnegative31 +; Global: Branch target inside NmiHandler: taken when OnNonnegative31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative21: +NmiHandler_OnNonnegative31: lda $0437,x ; CPU:$B89B PRG:389B BD 37 04 - beq NmiHandler_Loop238 ; CPU:$B89E PRG:389E F0 1F + beq NmiHandler_Loop361 ; CPU:$B89E PRG:389E F0 1F lda $043A,x ; CPU:$B8A0 PRG:38A0 BD 3A 04 - beq NmiHandler_Loop238 ; CPU:$B8A3 PRG:38A3 F0 1A + beq NmiHandler_Loop361 ; CPU:$B8A3 PRG:38A3 F0 1A dec $043A,x ; CPU:$B8A5 PRG:38A5 DE 3A 04 cmp #$0C ; CPU:$B8A8 PRG:38A8 C9 0C - bcs NmiHandler_Loop239 ; CPU:$B8AA PRG:38AA B0 1D + bcs NmiHandler_Loop362 ; CPU:$B8AA PRG:38AA B0 1D lda #$DC ; CPU:$B8AC PRG:38AC A9 DC sta $0437,x ; CPU:$B8AE PRG:38AE 9D 37 04 lda $043A,x ; CPU:$B8B1 PRG:38B1 BD 3A 04 cmp #$06 ; CPU:$B8B4 PRG:38B4 C9 06 - bcs NmiHandler_Loop239 ; CPU:$B8B6 PRG:38B6 B0 11 + bcs NmiHandler_Loop362 ; CPU:$B8B6 PRG:38B6 B0 11 lda #$F0 ; CPU:$B8B8 PRG:38B8 A9 F0 sta $0437,x ; CPU:$B8BA PRG:38BA 9D 37 04 - bne NmiHandler_Loop239 ; CPU:$B8BD PRG:38BD D0 0A + bne NmiHandler_Loop362 ; CPU:$B8BD PRG:38BD D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop238 -; Global: Branch target inside NmiHandler: taken when Loop238. +; Routine: NmiHandler_Loop361 +; Global: Branch target inside NmiHandler: taken when Loop361. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop238: +NmiHandler_Loop361: lda #$80 ; CPU:$B8BF PRG:38BF A9 80 sta ZpDC,x ; CPU:$B8C1 PRG:38C1 95 DC sta ZpED,x ; CPU:$B8C3 PRG:38C3 95 ED asl a ; CPU:$B8C5 PRG:38C5 0A sta $0437,x ; CPU:$B8C6 PRG:38C6 9D 37 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop239 -; Global: Branch target inside NmiHandler: taken when Loop239. +; Routine: NmiHandler_Loop362 +; Global: Branch target inside NmiHandler: taken when Loop362. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop239: +NmiHandler_Loop362: dex ; CPU:$B8C9 PRG:38C9 CA - bpl NmiHandler_OnNonnegative21 ; CPU:$B8CA PRG:38CA 10 CF + bpl NmiHandler_OnNonnegative31 ; CPU:$B8CA PRG:38CA 10 CF rts ; CPU:$B8CC PRG:38CC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B8CD @@ -6930,52 +9666,52 @@ NmiHandler_Loop239: Sub_B8CD: ldy #$02 ; CPU:$B8CD PRG:38CD A0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative22 -; Global: Branch target inside NmiHandler: taken when OnNonnegative22. +; Routine: NmiHandler_OnNonnegative32 +; Global: Branch target inside NmiHandler: taken when OnNonnegative32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative22: +NmiHandler_OnNonnegative32: lda $0437,y ; CPU:$B8CF PRG:38CF B9 37 04 - beq NmiHandler_Loop240 ; CPU:$B8D2 PRG:38D2 F0 04 + beq NmiHandler_Loop363 ; CPU:$B8D2 PRG:38D2 F0 04 dey ; CPU:$B8D4 PRG:38D4 88 - bpl NmiHandler_OnNonnegative22 ; CPU:$B8D5 PRG:38D5 10 F8 + bpl NmiHandler_OnNonnegative32 ; CPU:$B8D5 PRG:38D5 10 F8 rts ; CPU:$B8D7 PRG:38D7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop240 -; Global: Branch target inside NmiHandler: taken when Loop240. +; Routine: NmiHandler_Loop363 +; Global: Branch target inside NmiHandler: taken when Loop363. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop240: +NmiHandler_Loop363: lda #$DB ; CPU:$B8D8 PRG:38D8 A9 DB sta $0437,y ; CPU:$B8DA PRG:38DA 99 37 04 lda #$12 ; CPU:$B8DD PRG:38DD A9 12 sta $043A,y ; CPU:$B8DF PRG:38DF 99 3A 04 - lda ZpDF,x ; CPU:$B8E2 PRG:38E2 B5 DF + lda EnemyHealth,x ; CPU:$B8E2 PRG:38E2 B5 DF sta Zp08 ; CPU:$B8E4 PRG:38E4 85 08 lda ZpCE,x ; CPU:$B8E6 PRG:38E6 B5 CE sec ; CPU:$B8E8 PRG:38E8 38 sbc #$08 ; CPU:$B8E9 PRG:38E9 E9 08 sta a:ZpDC,y ; CPU:$B8EB PRG:38EB 99 DC 00 - bcs NmiHandler_Loop241 ; CPU:$B8EE PRG:38EE B0 02 + bcs NmiHandler_Loop364 ; CPU:$B8EE PRG:38EE B0 02 dec Zp08 ; CPU:$B8F0 PRG:38F0 C6 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop241 -; Global: Branch target inside NmiHandler: taken when Loop241. +; Routine: NmiHandler_Loop364 +; Global: Branch target inside NmiHandler: taken when Loop364. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop241: +NmiHandler_Loop364: lda Zp08 ; CPU:$B8F2 PRG:38F2 A5 08 sta a:ZpED,y ; CPU:$B8F4 PRG:38F4 99 ED 00 - lda ZpB0,x ; CPU:$B8F7 PRG:38F7 B5 B0 + lda PlayerX,x ; CPU:$B8F7 PRG:38F7 B5 B0 sta $043D,y ; CPU:$B8F9 PRG:38F9 99 3D 04 rts ; CPU:$B8FC PRG:38FC 60 ; ----------------------------------------------------------------------------- @@ -6989,19 +9725,19 @@ NmiHandler_Loop241: Sub_B8FD: ldx #$02 ; CPU:$B8FD PRG:38FD A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative23 -; Global: Branch target inside NmiHandler: taken when OnNonnegative23. +; Routine: NmiHandler_OnNonnegative33 +; Global: Branch target inside NmiHandler: taken when OnNonnegative33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative23: +NmiHandler_OnNonnegative33: lda ZpAD,x ; CPU:$B8FF PRG:38FF B5 AD cmp #$01 ; CPU:$B901 PRG:3901 C9 01 - bne NmiHandler_Loop242 ; CPU:$B903 PRG:3903 D0 6D + bne NmiHandler_Loop365 ; CPU:$B903 PRG:3903 D0 6D lda $0437,x ; CPU:$B905 PRG:3905 BD 37 04 - beq NmiHandler_Loop242 ; CPU:$B908 PRG:3908 F0 68 + beq NmiHandler_Loop365 ; CPU:$B908 PRG:3908 F0 68 lda #$00 ; CPU:$B90A PRG:390A A9 00 sta Zp04 ; CPU:$B90C PRG:390C 85 04 ora #$40 ; CPU:$B90E PRG:390E 09 40 @@ -7012,11 +9748,11 @@ NmiHandler_OnNonnegative23: ora #$80 ; CPU:$B918 PRG:3918 09 80 sta Zp06 ; CPU:$B91A PRG:391A 85 06 lda Zp9C,x ; CPU:$B91C PRG:391C B5 9C - sta Zp00 ; CPU:$B91E PRG:391E 85 00 + sta VramWritePtrLo ; CPU:$B91E PRG:391E 85 00 lda $043D,x ; CPU:$B920 PRG:3920 BD 3D 04 - sta Zp01 ; CPU:$B923 PRG:3923 85 01 + sta VramWritePtrHi ; CPU:$B923 PRG:3923 85 01 ldy Zp4C ; CPU:$B925 PRG:3925 A4 4C - lda Zp01 ; CPU:$B927 PRG:3927 A5 01 + lda VramWritePtrHi ; CPU:$B927 PRG:3927 A5 01 sta $06D0,y ; CPU:$B929 PRG:3929 99 D0 06 sta $06D4,y ; CPU:$B92C PRG:392C 99 D4 06 clc ; CPU:$B92F PRG:392F 18 @@ -7036,7 +9772,7 @@ NmiHandler_OnNonnegative23: sta $06DA,y ; CPU:$B953 PRG:3953 99 DA 06 lda Zp07 ; CPU:$B956 PRG:3956 A5 07 sta $06DE,y ; CPU:$B958 PRG:3958 99 DE 06 - lda Zp00 ; CPU:$B95B PRG:395B A5 00 + lda VramWritePtrLo ; CPU:$B95B PRG:395B A5 00 sta $06D3,y ; CPU:$B95D PRG:395D 99 D3 06 sta $06DB,y ; CPU:$B960 PRG:3960 99 DB 06 clc ; CPU:$B963 PRG:3963 18 @@ -7048,16 +9784,16 @@ NmiHandler_OnNonnegative23: adc #$10 ; CPU:$B96E PRG:396E 69 10 sta Zp4C ; CPU:$B970 PRG:3970 85 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop242 -; Global: Branch target inside NmiHandler: taken when Loop242. +; Routine: NmiHandler_Loop365 +; Global: Branch target inside NmiHandler: taken when Loop365. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop242: +NmiHandler_Loop365: dex ; CPU:$B972 PRG:3972 CA - bpl NmiHandler_OnNonnegative23 ; CPU:$B973 PRG:3973 10 8A + bpl NmiHandler_OnNonnegative33 ; CPU:$B973 PRG:3973 10 8A rts ; CPU:$B975 PRG:3975 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B976 @@ -7070,19 +9806,19 @@ NmiHandler_Loop242: Sub_B976: ldx #$02 ; CPU:$B976 PRG:3976 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative24 -; Global: Branch target inside NmiHandler: taken when OnNonnegative24. +; Routine: NmiHandler_OnNonnegative34 +; Global: Branch target inside NmiHandler: taken when OnNonnegative34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative24: +NmiHandler_OnNonnegative34: lda ZpAA,x ; CPU:$B978 PRG:3978 B5 AA cmp #$01 ; CPU:$B97A PRG:397A C9 01 - bne NmiHandler_Loop243 ; CPU:$B97C PRG:397C D0 22 + bne NmiHandler_Loop366 ; CPU:$B97C PRG:397C D0 22 ldy $0430,x ; CPU:$B97E PRG:397E BC 30 04 - beq NmiHandler_Loop243 ; CPU:$B981 PRG:3981 F0 1D + beq NmiHandler_Loop366 ; CPU:$B981 PRG:3981 F0 1D ldy Zp4C ; CPU:$B983 PRG:3983 A4 4C lda $0421,x ; CPU:$B985 PRG:3985 BD 21 04 sta $06D0,y ; CPU:$B988 PRG:3988 99 D0 06 @@ -7098,16 +9834,16 @@ NmiHandler_OnNonnegative24: iny ; CPU:$B99D PRG:399D C8 sty Zp4C ; CPU:$B99E PRG:399E 84 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop243 -; Global: Branch target inside NmiHandler: taken when Loop243. +; Routine: NmiHandler_Loop366 +; Global: Branch target inside NmiHandler: taken when Loop366. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop243: +NmiHandler_Loop366: dex ; CPU:$B9A0 PRG:39A0 CA - bpl NmiHandler_OnNonnegative24 ; CPU:$B9A1 PRG:39A1 10 D5 + bpl NmiHandler_OnNonnegative34 ; CPU:$B9A1 PRG:39A1 10 D5 rts ; CPU:$B9A3 PRG:39A3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B9A4 @@ -7120,64 +9856,64 @@ NmiHandler_Loop243: Sub_B9A4: ldx #$03 ; CPU:$B9A4 PRG:39A4 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative25 -; Global: Branch target inside NmiHandler: taken when OnNonnegative25. +; Routine: NmiHandler_OnNonnegative35 +; Global: Branch target inside NmiHandler: taken when OnNonnegative35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative25: +NmiHandler_OnNonnegative35: txa ; CPU:$B9A6 PRG:39A6 8A sta $03C2,x ; CPU:$B9A7 PRG:39A7 9D C2 03 lda $04DC,x ; CPU:$B9AA PRG:39AA BD DC 04 - sta Zp00,x ; CPU:$B9AD PRG:39AD 95 00 + sta VramWritePtrLo,x ; CPU:$B9AD PRG:39AD 95 00 dex ; CPU:$B9AF PRG:39AF CA - bpl NmiHandler_OnNonnegative25 ; CPU:$B9B0 PRG:39B0 10 F4 + bpl NmiHandler_OnNonnegative35 ; CPU:$B9B0 PRG:39B0 10 F4 ldx #$03 ; CPU:$B9B2 PRG:39B2 A2 03 stx Zp05 ; CPU:$B9B4 PRG:39B4 86 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero25 -; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero25: +NmiHandler_OnNonzero34: ldy #$00 ; CPU:$B9B6 PRG:39B6 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero26 -; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero26: +NmiHandler_OnNonzero35: ldx $03C2,y ; CPU:$B9B8 PRG:39B8 BE C2 03 - lda Zp00,x ; CPU:$B9BB PRG:39BB B5 00 + lda VramWritePtrLo,x ; CPU:$B9BB PRG:39BB B5 00 ldx $03C3,y ; CPU:$B9BD PRG:39BD BE C3 03 - cmp Zp00,x ; CPU:$B9C0 PRG:39C0 D5 00 - bcc NmiHandler_Loop244 ; CPU:$B9C2 PRG:39C2 90 0A + cmp VramWritePtrLo,x ; CPU:$B9C0 PRG:39C0 D5 00 + bcc NmiHandler_Loop367 ; CPU:$B9C2 PRG:39C2 90 0A lda $03C2,y ; CPU:$B9C4 PRG:39C4 B9 C2 03 sta $03C3,y ; CPU:$B9C7 PRG:39C7 99 C3 03 txa ; CPU:$B9CA PRG:39CA 8A sta $03C2,y ; CPU:$B9CB PRG:39CB 99 C2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop244 -; Global: Branch target inside NmiHandler: taken when Loop244. +; Routine: NmiHandler_Loop367 +; Global: Branch target inside NmiHandler: taken when Loop367. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop244: +NmiHandler_Loop367: iny ; CPU:$B9CE PRG:39CE C8 cpy Zp05 ; CPU:$B9CF PRG:39CF C4 05 - bne NmiHandler_OnNonzero26 ; CPU:$B9D1 PRG:39D1 D0 E5 + bne NmiHandler_OnNonzero35 ; CPU:$B9D1 PRG:39D1 D0 E5 dec Zp05 ; CPU:$B9D3 PRG:39D3 C6 05 - bne NmiHandler_OnNonzero25 ; CPU:$B9D5 PRG:39D5 D0 DF + bne NmiHandler_OnNonzero34 ; CPU:$B9D5 PRG:39D5 D0 DF rts ; CPU:$B9D7 PRG:39D7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B9D8 @@ -7190,37 +9926,37 @@ NmiHandler_Loop244: Sub_B9D8: ldx #$05 ; CPU:$B9D8 PRG:39D8 A2 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative26 -; Global: Branch target inside NmiHandler: taken when OnNonnegative26. +; Routine: NmiHandler_OnNonnegative36 +; Global: Branch target inside NmiHandler: taken when OnNonnegative36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative26: +NmiHandler_OnNonnegative36: lda #$00 ; CPU:$B9DA PRG:39DA A9 00 - sta Zp00 ; CPU:$B9DC PRG:39DC 85 00 - sta Zp01 ; CPU:$B9DE PRG:39DE 85 01 + sta VramWritePtrLo ; CPU:$B9DC PRG:39DC 85 00 + sta VramWritePtrHi ; CPU:$B9DE PRG:39DE 85 01 lda ZpCE,x ; CPU:$B9E0 PRG:39E0 B5 CE sec ; CPU:$B9E2 PRG:39E2 38 sbc ZpD4 ; CPU:$B9E3 PRG:39E3 E5 D4 sta $04DC,x ; CPU:$B9E5 PRG:39E5 9D DC 04 - lda ZpDF,x ; CPU:$B9E8 PRG:39E8 B5 DF + lda EnemyHealth,x ; CPU:$B9E8 PRG:39E8 B5 DF sbc ZpE5 ; CPU:$B9EA PRG:39EA E5 E5 - bpl NmiHandler_Loop245 ; CPU:$B9EC PRG:39EC 10 06 + bpl NmiHandler_Loop368 ; CPU:$B9EC PRG:39EC 10 06 nop ; CPU:$B9EE PRG:39EE EA - dec Zp00 ; CPU:$B9EF PRG:39EF C6 00 + dec VramWritePtrLo ; CPU:$B9EF PRG:39EF C6 00 jmp Sub_B9F9 ; CPU:$B9F1 PRG:39F1 4C F9 B9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop245 -; Global: Branch target inside NmiHandler: taken when Loop245. +; Routine: NmiHandler_Loop368 +; Global: Branch target inside NmiHandler: taken when Loop368. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop245: - dec Zp01 ; CPU:$B9F4 PRG:39F4 C6 01 +NmiHandler_Loop368: + dec VramWritePtrHi ; CPU:$B9F4 PRG:39F4 C6 01 jmp Sub_B9F9 ; CPU:$B9F6 PRG:39F6 4C F9 B9 ; ----------------------------------------------------------------------------- ; Routine: Sub_B9F9 @@ -7231,15 +9967,15 @@ NmiHandler_Loop245: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B9F9: - eor Zp00 ; CPU:$B9F9 PRG:39F9 45 00 + eor VramWritePtrLo ; CPU:$B9F9 PRG:39F9 45 00 sta $04E3,x ; CPU:$B9FB PRG:39FB 9D E3 04 lda $04DC,x ; CPU:$B9FE PRG:39FE BD DC 04 - eor Zp00 ; CPU:$BA01 PRG:3A01 45 00 + eor VramWritePtrLo ; CPU:$BA01 PRG:3A01 45 00 clc ; CPU:$BA03 PRG:3A03 18 - adc Zp01 ; CPU:$BA04 PRG:3A04 65 01 + adc VramWritePtrHi ; CPU:$BA04 PRG:3A04 65 01 sta $04DC,x ; CPU:$BA06 PRG:3A06 9D DC 04 dex ; CPU:$BA09 PRG:3A09 CA - bpl NmiHandler_OnNonnegative26 ; CPU:$BA0A PRG:3A0A 10 CE + bpl NmiHandler_OnNonnegative36 ; CPU:$BA0A PRG:3A0A 10 CE rts ; CPU:$BA0C PRG:3A0C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA0D @@ -7252,34 +9988,34 @@ Sub_B9F9: Sub_BA0D: ldx #$0A ; CPU:$BA0D PRG:3A0D A2 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative27 -; Global: Branch target inside NmiHandler: taken when OnNonnegative27. +; Routine: NmiHandler_OnNonnegative37 +; Global: Branch target inside NmiHandler: taken when OnNonnegative37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative27: +NmiHandler_OnNonnegative37: lda ZpE5 ; CPU:$BA0F PRG:3A0F A5 E5 - cmp ZpDF,x ; CPU:$BA11 PRG:3A11 D5 DF - beq NmiHandler_Loop246 ; CPU:$BA13 PRG:3A13 F0 10 + cmp EnemyHealth,x ; CPU:$BA11 PRG:3A11 D5 DF + beq NmiHandler_Loop369 ; CPU:$BA13 PRG:3A13 F0 10 nop ; CPU:$BA15 PRG:3A15 EA lda ZpE5 ; CPU:$BA16 PRG:3A16 A5 E5 sec ; CPU:$BA18 PRG:3A18 38 - sbc ZpDF,x ; CPU:$BA19 PRG:3A19 F5 DF + sbc EnemyHealth,x ; CPU:$BA19 PRG:3A19 F5 DF lda #$00 ; CPU:$BA1B PRG:3A1B A9 00 adc #$00 ; CPU:$BA1D PRG:3A1D 69 00 sta $04EA,x ; CPU:$BA1F PRG:3A1F 9D EA 04 jmp Sub_BA36 ; CPU:$BA22 PRG:3A22 4C 36 BA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop246 -; Global: Branch target inside NmiHandler: taken when Loop246. +; Routine: NmiHandler_Loop369 +; Global: Branch target inside NmiHandler: taken when Loop369. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop246: +NmiHandler_Loop369: lda ZpD4 ; CPU:$BA25 PRG:3A25 A5 D4 sec ; CPU:$BA27 PRG:3A27 38 sbc ZpCE,x ; CPU:$BA28 PRG:3A28 F5 CE @@ -7287,8 +10023,17 @@ NmiHandler_Loop246: adc #$00 ; CPU:$BA2C PRG:3A2C 69 00 sta $04EA,x ; CPU:$BA2E PRG:3A2E 9D EA 04 jmp Sub_BA36 ; CPU:$BA31 PRG:3A31 4C 36 BA -; ---- data $BA34-$BA35 (2 bytes) ---- - .byte $EA, $EA ; CPU:$BA34 PRG:3A34 EA EA +; ----------------------------------------------------------------------------- +; Routine: Label_BA34 +; Global: Branch target inside Label: taken when BA34. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA34: + nop ; CPU:$BA34 PRG:3A34 EA + nop ; CPU:$BA35 PRG:3A35 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_BA36 ; Global: Branch target inside Sub: taken when BA36. @@ -7299,7 +10044,7 @@ NmiHandler_Loop246: ; ----------------------------------------------------------------------------- Sub_BA36: dex ; CPU:$BA36 PRG:3A36 CA - bpl NmiHandler_OnNonnegative27 ; CPU:$BA37 PRG:3A37 10 D6 + bpl NmiHandler_OnNonnegative37 ; CPU:$BA37 PRG:3A37 10 D6 rts ; CPU:$BA39 PRG:3A39 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA3A @@ -7312,41 +10057,41 @@ Sub_BA36: Sub_BA3A: lda Zp5A ; CPU:$BA3A PRG:3A3A A5 5A cmp #$2A ; CPU:$BA3C PRG:3A3C C9 2A - bne NmiHandler_Loop250 ; CPU:$BA3E PRG:3A3E D0 64 + bne NmiHandler_Loop373 ; CPU:$BA3E PRG:3A3E D0 64 lda Zp5B ; CPU:$BA40 PRG:3A40 A5 5B cmp #$AC ; CPU:$BA42 PRG:3A42 C9 AC - bne NmiHandler_Loop250 ; CPU:$BA44 PRG:3A44 D0 5E + bne NmiHandler_Loop373 ; CPU:$BA44 PRG:3A44 D0 5E ldx #$03 ; CPU:$BA46 PRG:3A46 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative28 -; Global: Branch target inside NmiHandler: taken when OnNonnegative28. +; Routine: NmiHandler_OnNonnegative38 +; Global: Branch target inside NmiHandler: taken when OnNonnegative38. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative28: +NmiHandler_OnNonnegative38: lda #$02 ; CPU:$BA48 PRG:3A48 A9 02 - sta Zp00 ; CPU:$BA4A PRG:3A4A 85 00 + sta VramWritePtrLo ; CPU:$BA4A PRG:3A4A 85 00 lda #$20 ; CPU:$BA4C PRG:3A4C A9 20 sta Zp05 ; CPU:$BA4E PRG:3A4E 85 05 lda #$02 ; CPU:$BA50 PRG:3A50 A9 02 - bne NmiHandler_Loop248 ; CPU:$BA52 PRG:3A52 D0 34 + bne NmiHandler_Loop371 ; CPU:$BA52 PRG:3A52 D0 34 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative29 -; Global: Branch target inside NmiHandler: taken when OnNonnegative29. +; Routine: NmiHandler_OnNonnegative39 +; Global: Branch target inside NmiHandler: taken when OnNonnegative39. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative29: +NmiHandler_OnNonnegative39: ldy Zp4D ; CPU:$BA54 PRG:3A54 A4 4D sta $0733,y ; CPU:$BA56 PRG:3A56 99 33 07 sta $0737,y ; CPU:$BA59 PRG:3A59 99 37 07 - lda Zp01 ; CPU:$BA5C PRG:3A5C A5 01 + lda VramWritePtrHi ; CPU:$BA5C PRG:3A5C A5 01 cmp #$01 ; CPU:$BA5E PRG:3A5E C9 01 - bne NmiHandler_Loop247 ; CPU:$BA60 PRG:3A60 D0 24 + bne NmiHandler_Loop370 ; CPU:$BA60 PRG:3A60 D0 24 lda $0450,x ; CPU:$BA62 PRG:3A62 BD 50 04 sta $0730,y ; CPU:$BA65 PRG:3A65 99 30 07 clc ; CPU:$BA68 PRG:3A68 18 @@ -7364,57 +10109,57 @@ NmiHandler_OnNonnegative29: adc #$08 ; CPU:$BA82 PRG:3A82 69 08 sta Zp4D ; CPU:$BA84 PRG:3A84 85 4D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop247 -; Global: Branch target inside NmiHandler: taken when Loop247. +; Routine: NmiHandler_Loop370 +; Global: Branch target inside NmiHandler: taken when Loop370. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop247: +NmiHandler_Loop370: lda #$06 ; CPU:$BA86 PRG:3A86 A9 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop248 -; Global: Branch target inside NmiHandler: taken when Loop248. +; Routine: NmiHandler_Loop371 +; Global: Branch target inside NmiHandler: taken when Loop371. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop248: - sta Zp03 ; CPU:$BA88 PRG:3A88 85 03 +NmiHandler_Loop371: + sta DispatchPtrHi ; CPU:$BA88 PRG:3A88 85 03 lda Zp05 ; CPU:$BA8A PRG:3A8A A5 05 eor #$40 ; CPU:$BA8C PRG:3A8C 49 40 sta Zp05 ; CPU:$BA8E PRG:3A8E 85 05 lda ZpA6,x ; CPU:$BA90 PRG:3A90 B5 A6 - sta Zp01 ; CPU:$BA92 PRG:3A92 85 01 + sta VramWritePtrHi ; CPU:$BA92 PRG:3A92 85 01 lda Zp95,x ; CPU:$BA94 PRG:3A94 B5 95 sec ; CPU:$BA96 PRG:3A96 38 - sbc Zp03 ; CPU:$BA97 PRG:3A97 E5 03 - bcs NmiHandler_Loop249 ; CPU:$BA99 PRG:3A99 B0 02 - dec Zp01 ; CPU:$BA9B PRG:3A9B C6 01 + sbc DispatchPtrHi ; CPU:$BA97 PRG:3A97 E5 03 + bcs NmiHandler_Loop372 ; CPU:$BA99 PRG:3A99 B0 02 + dec VramWritePtrHi ; CPU:$BA9B PRG:3A9B C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop249 -; Global: Branch target inside NmiHandler: taken when Loop249. +; Routine: NmiHandler_Loop372 +; Global: Branch target inside NmiHandler: taken when Loop372. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop249: - dec Zp00 ; CPU:$BA9D PRG:3A9D C6 00 - bpl NmiHandler_OnNonnegative29 ; CPU:$BA9F PRG:3A9F 10 B3 +NmiHandler_Loop372: + dec VramWritePtrLo ; CPU:$BA9D PRG:3A9D C6 00 + bpl NmiHandler_OnNonnegative39 ; CPU:$BA9F PRG:3A9F 10 B3 dex ; CPU:$BAA1 PRG:3AA1 CA - bpl NmiHandler_OnNonnegative28 ; CPU:$BAA2 PRG:3AA2 10 A4 + bpl NmiHandler_OnNonnegative38 ; CPU:$BAA2 PRG:3AA2 10 A4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop250 -; Global: Branch target inside NmiHandler: taken when Loop250. +; Routine: NmiHandler_Loop373 +; Global: Branch target inside NmiHandler: taken when Loop373. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop250: +NmiHandler_Loop373: rts ; CPU:$BAA4 PRG:3AA4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BAA5 @@ -7427,85 +10172,85 @@ NmiHandler_Loop250: Sub_BAA5: lda Zp12 ; CPU:$BAA5 PRG:3AA5 A5 12 and #$70 ; CPU:$BAA7 PRG:3AA7 29 70 - beq NmiHandler_Loop251 ; CPU:$BAA9 PRG:3AA9 F0 04 + beq NmiHandler_Loop374 ; CPU:$BAA9 PRG:3AA9 F0 04 and #$30 ; CPU:$BAAB PRG:3AAB 29 30 - beq NmiHandler_Loop252 ; CPU:$BAAD PRG:3AAD F0 06 + beq NmiHandler_Loop375 ; CPU:$BAAD PRG:3AAD F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop251 -; Global: Branch target inside NmiHandler: taken when Loop251. +; Routine: NmiHandler_Loop374 +; Global: Branch target inside NmiHandler: taken when Loop374. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop251: +NmiHandler_Loop374: lda #$00 ; CPU:$BAAF PRG:3AAF A9 00 sta $0385 ; CPU:$BAB1 PRG:3AB1 8D 85 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero27 -; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero27: +NmiHandler_OnNonzero36: rts ; CPU:$BAB4 PRG:3AB4 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop252 -; Global: Branch target inside NmiHandler: taken when Loop252. +; Routine: NmiHandler_Loop375 +; Global: Branch target inside NmiHandler: taken when Loop375. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop252: +NmiHandler_Loop375: lda $0385 ; CPU:$BAB5 PRG:3AB5 AD 85 03 - bne NmiHandler_OnNonzero27 ; CPU:$BAB8 PRG:3AB8 D0 FA + bne NmiHandler_OnNonzero36 ; CPU:$BAB8 PRG:3AB8 D0 FA lda $0372 ; CPU:$BABA PRG:3ABA AD 72 03 - bne NmiHandler_Loop254 ; CPU:$BABD PRG:3ABD D0 11 + bne NmiHandler_Loop377 ; CPU:$BABD PRG:3ABD D0 11 lda Zp65 ; CPU:$BABF PRG:3ABF A5 65 eor #$07 ; CPU:$BAC1 PRG:3AC1 49 07 tax ; CPU:$BAC3 PRG:3AC3 AA lda Zp12 ; CPU:$BAC4 PRG:3AC4 A5 12 - bpl NmiHandler_Loop253 ; CPU:$BAC6 PRG:3AC6 10 02 + bpl NmiHandler_Loop376 ; CPU:$BAC6 PRG:3AC6 10 02 dex ; CPU:$BAC8 PRG:3AC8 CA dex ; CPU:$BAC9 PRG:3AC9 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop253 -; Global: Branch target inside NmiHandler: taken when Loop253. +; Routine: NmiHandler_Loop376 +; Global: Branch target inside NmiHandler: taken when Loop376. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop253: +NmiHandler_Loop376: dex ; CPU:$BACA PRG:3ACA CA lda Zp61 ; CPU:$BACB PRG:3ACB A5 61 jmp Sub_BADD ; CPU:$BACD PRG:3ACD 4C DD BA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop254 -; Global: Branch target inside NmiHandler: taken when Loop254. +; Routine: NmiHandler_Loop377 +; Global: Branch target inside NmiHandler: taken when Loop377. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop254: +NmiHandler_Loop377: ldx Zp65 ; CPU:$BAD0 PRG:3AD0 A6 65 lda Zp12 ; CPU:$BAD2 PRG:3AD2 A5 12 - bmi NmiHandler_Loop255 ; CPU:$BAD4 PRG:3AD4 30 02 + bmi NmiHandler_Loop378 ; CPU:$BAD4 PRG:3AD4 30 02 dex ; CPU:$BAD6 PRG:3AD6 CA dex ; CPU:$BAD7 PRG:3AD7 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop255 -; Global: Branch target inside NmiHandler: taken when Loop255. +; Routine: NmiHandler_Loop378 +; Global: Branch target inside NmiHandler: taken when Loop378. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop255: +NmiHandler_Loop378: inx ; CPU:$BAD8 PRG:3AD8 E8 lda Zp61 ; CPU:$BAD9 PRG:3AD9 A5 61 eor #$01 ; CPU:$BADB PRG:3ADB 49 01 @@ -7518,48 +10263,48 @@ NmiHandler_Loop255: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BADD: - sta Zp00 ; CPU:$BADD PRG:3ADD 85 00 + sta VramWritePtrLo ; CPU:$BADD PRG:3ADD 85 00 cpx #$07 ; CPU:$BADF PRG:3ADF E0 07 - bcs NmiHandler_Loop257 ; CPU:$BAE1 PRG:3AE1 B0 64 - stx Zp01 ; CPU:$BAE3 PRG:3AE3 86 01 + bcs NmiHandler_Loop380 ; CPU:$BAE1 PRG:3AE1 B0 64 + stx VramWritePtrHi ; CPU:$BAE3 PRG:3AE3 86 01 lda #$03 ; CPU:$BAE5 PRG:3AE5 A9 03 - sta Zp02 ; CPU:$BAE7 PRG:3AE7 85 02 + sta DispatchPtrLo ; CPU:$BAE7 PRG:3AE7 85 02 cpx #$06 ; CPU:$BAE9 PRG:3AE9 E0 06 - beq NmiHandler_Loop256 ; CPU:$BAEB PRG:3AEB F0 02 + beq NmiHandler_Loop379 ; CPU:$BAEB PRG:3AEB F0 02 lda #$00 ; CPU:$BAED PRG:3AED A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop256 -; Global: Branch target inside NmiHandler: taken when Loop256. +; Routine: NmiHandler_Loop379 +; Global: Branch target inside NmiHandler: taken when Loop379. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop256: +NmiHandler_Loop379: tax ; CPU:$BAEF PRG:3AEF AA ldy $0300 ; CPU:$BAF0 PRG:3AF0 AC 00 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero28 -; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero28: +NmiHandler_OnNonzero37: lda $A476,x ; CPU:$BAF3 PRG:3AF3 BD 76 A4 sta $0304,y ; CPU:$BAF6 PRG:3AF6 99 04 03 lda $A47C,x ; CPU:$BAF9 PRG:3AF9 BD 7C A4 sta $030A,y ; CPU:$BAFC PRG:3AFC 99 0A 03 inx ; CPU:$BAFF PRG:3AFF E8 iny ; CPU:$BB00 PRG:3B00 C8 - dec Zp02 ; CPU:$BB01 PRG:3B01 C6 02 - bne NmiHandler_OnNonzero28 ; CPU:$BB03 PRG:3B03 D0 EE - lda Zp01 ; CPU:$BB05 PRG:3B05 A5 01 + dec DispatchPtrLo ; CPU:$BB01 PRG:3B01 C6 02 + bne NmiHandler_OnNonzero37 ; CPU:$BB03 PRG:3B03 D0 EE + lda VramWritePtrHi ; CPU:$BB05 PRG:3B05 A5 01 asl a ; CPU:$BB07 PRG:3B07 0A tax ; CPU:$BB08 PRG:3B08 AA ldy $0300 ; CPU:$BB09 PRG:3B09 AC 00 03 - lda Zp00 ; CPU:$BB0C PRG:3B0C A5 00 + lda VramWritePtrLo ; CPU:$BB0C PRG:3B0C A5 00 asl a ; CPU:$BB0E PRG:3B0E 0A asl a ; CPU:$BB0F PRG:3B0F 0A ora #$21 ; CPU:$BB10 PRG:3B10 09 21 @@ -7585,52 +10330,52 @@ NmiHandler_OnNonzero28: sta $0300 ; CPU:$BB41 PRG:3B41 8D 00 03 sta $0385 ; CPU:$BB44 PRG:3B44 8D 85 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop257 -; Global: Branch target inside NmiHandler: taken when Loop257. +; Routine: NmiHandler_Loop380 +; Global: Branch target inside NmiHandler: taken when Loop380. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop257: +NmiHandler_Loop380: rts ; CPU:$BB47 PRG:3B47 60 ; ----------------------------------------------------------------------------- -; Routine: Label_BB48 -; Global: Branch target inside Label: taken when BB48. -; Local: Part of Label. +; Routine: Sub_BB48 +; Global: Branch target inside Sub: taken when BB48. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_BB48: +Sub_BB48: lda #$12 ; CPU:$BB48 PRG:3B48 A9 12 - sta Zp87 ; CPU:$BB4A PRG:3B4A 85 87 + sta EnemyIndex ; CPU:$BB4A PRG:3B4A 85 87 lda #$01 ; CPU:$BB4C PRG:3B4C A9 01 - sta Zp80 ; CPU:$BB4E PRG:3B4E 85 80 + sta SpriteTimer ; CPU:$BB4E PRG:3B4E 85 80 lda #$97 ; CPU:$BB50 PRG:3B50 A9 97 - sta ZpB0 ; CPU:$BB52 PRG:3B52 85 B0 + sta PlayerX ; CPU:$BB52 PRG:3B52 85 B0 lda #$00 ; CPU:$BB54 PRG:3B54 A9 00 - sta ZpDF ; CPU:$BB56 PRG:3B56 85 DF + sta EnemyHealth ; CPU:$BB56 PRG:3B56 85 DF lda #$40 ; CPU:$BB58 PRG:3B58 A9 40 sta ZpCE ; CPU:$BB5A PRG:3B5A 85 CE lda #$00 ; CPU:$BB5C PRG:3B5C A9 00 - sta ZpB7 ; CPU:$BB5E PRG:3B5E 85 B7 + sta PlayerY ; CPU:$BB5E PRG:3B5E 85 B7 lda Zp51 ; CPU:$BB60 PRG:3B60 A5 51 cmp #$05 ; CPU:$BB62 PRG:3B62 C9 05 - bne NmiHandler_Loop258 ; CPU:$BB64 PRG:3B64 D0 08 + bne NmiHandler_Loop381 ; CPU:$BB64 PRG:3B64 D0 08 lda #$01 ; CPU:$BB66 PRG:3B66 A9 01 - sta Zp9F ; CPU:$BB68 PRG:3B68 85 9F + sta GameMode ; CPU:$BB68 PRG:3B68 85 9F lda #$40 ; CPU:$BB6A PRG:3B6A A9 40 sta Zp8E ; CPU:$BB6C PRG:3B6C 85 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop258 -; Global: Branch target inside NmiHandler: taken when Loop258. +; Routine: NmiHandler_Loop381 +; Global: Branch target inside NmiHandler: taken when Loop381. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop258: +NmiHandler_Loop381: rts ; CPU:$BB6E PRG:3B6E 60 ; ---- data $BB6F-$BDC3 (597 bytes) ---- ; referenced by `lda $BB80,x` at $BDC6 (operand $BB80 falls inside this region) @@ -7639,8 +10384,9 @@ NmiHandler_Loop258: ; referenced by `cmp $BDC0,y` at $BE2B (operand $BDC0 falls inside this region) ; referenced by `cmp $BDC2,y` at $BE3E (operand $BDC2 falls inside this region) ; referenced by `lda $BB90,y` at $BE9F (operand $BB90 falls inside this region) -; ... and 51 further references from decoded code - .byte $FF, $FF, $FF, $FF, $FF, $FF, $90, $A8, $09, $0B, $11, $0D, $40, $40, $56, $56 ; CPU:$BB6F PRG:3B6F FF FF FF FF FF FF 90 A8 09 0B 11 0D 40 40 56 56 +; ... and 52 further references from decoded code +SpriteOamAttributeTable: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $90, $A8, $09, $0B, $11, $0D, $40, $40, $56, $56 ; CPU:$BB6F PRG:-491 FF FF FF FF FF FF 90 A8 09 0B 11 0D 40 40 56 56 .byte $66, $0F, $0E, $0B, $0A, $02, $02, $03, $03, $20, $60, $00, $80, $04, $06, $08 ; CPU:$BB7F PRG:3B7F 66 0F 0E 0B 0A 02 02 03 03 20 60 00 80 04 06 08 .byte $08, $03, $04, $05, $06, $92, $9C, $00, $00, $92, $BD, $B8, $00, $00, $B8, $8F ; CPU:$BB8F PRG:3B8F 08 03 04 05 06 92 9C 00 00 92 BD B8 00 00 B8 8F .byte $8A, $86, $82, $7C, $7F, $82, $86, $8A, $8F, $B2, $AF, $AC, $A8, $A0, $A4, $A8 ; CPU:$BB9F PRG:3B9F 8A 86 82 7C 7F 82 86 8A 8F B2 AF AC A8 A0 A4 A8 @@ -7692,298 +10438,308 @@ Sub_BDC4: sta $0382 ; CPU:$BDC9 PRG:3DC9 8D 82 03 lda $BB8C,x ; CPU:$BDCC PRG:3DCC BD 8C BB sta $0381 ; CPU:$BDCF PRG:3DCF 8D 81 03 - ldy Zp5F ; CPU:$BDD2 PRG:3DD2 A4 5F + ldy SpriteIndex ; CPU:$BDD2 PRG:3DD2 A4 5F cpx #$02 ; CPU:$BDD4 PRG:3DD4 E0 02 - bcs NmiHandler_Loop259 ; CPU:$BDD6 PRG:3DD6 B0 05 + bcs NmiHandler_Loop382 ; CPU:$BDD6 PRG:3DD6 B0 05 lda $BB7B,y ; CPU:$BDD8 PRG:3DD8 B9 7B BB - bne NmiHandler_Loop261 ; CPU:$BDDB PRG:3DDB D0 0A + bne NmiHandler_Loop384 ; CPU:$BDDB PRG:3DDB D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop259 -; Global: Branch target inside NmiHandler: taken when Loop259. +; Routine: NmiHandler_Loop382 +; Global: Branch target inside NmiHandler: taken when Loop382. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop259: +NmiHandler_Loop382: cpx #$02 ; CPU:$BDDD PRG:3DDD E0 02 - bne NmiHandler_Loop260 ; CPU:$BDDF PRG:3DDF D0 04 + bne NmiHandler_Loop383 ; CPU:$BDDF PRG:3DDF D0 04 lda #$66 ; CPU:$BDE1 PRG:3DE1 A9 66 - bne NmiHandler_Loop261 ; CPU:$BDE3 PRG:3DE3 D0 02 + bne NmiHandler_Loop384 ; CPU:$BDE3 PRG:3DE3 D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop260 -; Global: Branch target inside NmiHandler: taken when Loop260. +; Routine: NmiHandler_Loop383 +; Global: Branch target inside NmiHandler: taken when Loop383. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop260: +NmiHandler_Loop383: lda #$80 ; CPU:$BDE5 PRG:3DE5 A9 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop261 -; Global: Branch target inside NmiHandler: taken when Loop261. +; Routine: NmiHandler_Loop384 +; Global: Branch target inside NmiHandler: taken when Loop384. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop261: +NmiHandler_Loop384: sta $0383 ; CPU:$BDE7 PRG:3DE7 8D 83 03 rts ; CPU:$BDEA PRG:3DEA 60 -; ---- data $BDEB-$BDF0 (6 bytes) ---- - .byte $A9, $01, $D5, $9F, $F0, $5E ; CPU:$BDEB PRG:3DEB A9 01 D5 9F F0 5E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero5 -; Global: Branch target inside NmiHandler: taken when OnZero5. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero5: - lda Zp2B,x ; CPU:$BDF1 PRG:3DF1 B5 2B - bne NmiHandler_Loop262 ; CPU:$BDF3 PRG:3DF3 D0 0A - lda ZpB7,x ; CPU:$BDF5 PRG:3DF5 B5 B7 - eor #$01 ; CPU:$BDF7 PRG:3DF7 49 01 - sta ZpB7,x ; CPU:$BDF9 PRG:3DF9 95 B7 - lda #$07 ; CPU:$BDFB PRG:3DFB A9 07 - sta Zp2B,x ; CPU:$BDFD PRG:3DFD 95 2B -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop262 -; Global: Branch target inside NmiHandler: taken when Loop262. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop262: - lda #$00 ; CPU:$BDFF PRG:3DFF A9 00 - sta $03E4,x ; CPU:$BE01 PRG:3E01 9D E4 03 - lda Zp5F ; CPU:$BE04 PRG:3E04 A5 5F - cmp #$04 ; CPU:$BE06 PRG:3E06 C9 04 - bne NmiHandler_Loop263 ; CPU:$BE08 PRG:3E08 D0 12 - lda Zp85 ; CPU:$BE0A PRG:3E0A A5 85 - beq NmiHandler_Loop263 ; CPU:$BE0C PRG:3E0C F0 0E - lda ZpC0,x ; CPU:$BE0E PRG:3E0E B5 C0 - bne NmiHandler_Loop263 ; CPU:$BE10 PRG:3E10 D0 0A - lda ZpDF,x ; CPU:$BE12 PRG:3E12 B5 DF - cmp #$03 ; CPU:$BE14 PRG:3E14 C9 03 - bcs NmiHandler_Loop266 ; CPU:$BE16 PRG:3E16 B0 2B - lda #$03 ; CPU:$BE18 PRG:3E18 A9 03 - bne NmiHandler_Loop264 ; CPU:$BE1A PRG:3E1A D0 14 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop263 -; Global: Branch target inside NmiHandler: taken when Loop263. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop263: - ldy $0372 ; CPU:$BE1C PRG:3E1C AC 72 03 - lda ZpC0,x ; CPU:$BE1F PRG:3E1F B5 C0 - beq NmiHandler_Loop265 ; CPU:$BE21 PRG:3E21 F0 15 - lda ZpDF,x ; CPU:$BE23 PRG:3E23 B5 DF - cmp #$06 ; CPU:$BE25 PRG:3E25 C9 06 - bne NmiHandler_Loop266 ; CPU:$BE27 PRG:3E27 D0 1A - lda ZpCE,x ; CPU:$BE29 PRG:3E29 B5 CE - cmp $BDC0,y ; CPU:$BE2B PRG:3E2B D9 C0 BD - bcc NmiHandler_Loop266 ; CPU:$BE2E PRG:3E2E 90 13 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop264 -; Global: Branch target inside NmiHandler: taken when Loop264. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop264: - sta $03E4,x ; CPU:$BE30 PRG:3E30 9D E4 03 - lda #$00 ; CPU:$BE33 PRG:3E33 A9 00 - sta ZpB7,x ; CPU:$BE35 PRG:3E35 95 B7 - rts ; CPU:$BE37 PRG:3E37 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop265 -; Global: Branch target inside NmiHandler: taken when Loop265. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop265: - lda ZpDF,x ; CPU:$BE38 PRG:3E38 B5 DF - bne NmiHandler_Loop266 ; CPU:$BE3A PRG:3E3A D0 07 - lda ZpCE,x ; CPU:$BE3C PRG:3E3C B5 CE - cmp $BDC2,y ; CPU:$BE3E PRG:3E3E D9 C2 BD - bcc NmiHandler_Loop267 ; CPU:$BE41 PRG:3E41 90 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop266 -; Global: Branch target inside NmiHandler: taken when Loop266. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop266: - jmp NmiHandler_Loop178 ; CPU:$BE43 PRG:3E43 4C 04 B2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop267 -; Global: Branch target inside NmiHandler: taken when Loop267. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop267: - lda #$01 ; CPU:$BE46 PRG:3E46 A9 01 - sta $03E4,x ; CPU:$BE48 PRG:3E48 9D E4 03 - lsr a ; CPU:$BE4B PRG:3E4B 4A - sta ZpB7,x ; CPU:$BE4C PRG:3E4C 95 B7 - rts ; CPU:$BE4E PRG:3E4E 60 -; ----------------------------------------------------------------------------- -; Routine: Label_BE4F -; Global: Branch target inside Label: taken when BE4F. +; Routine: Label_BDEB +; Global: Branch target inside Label: taken when BDEB. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_BE4F: - lda $0490,x ; CPU:$BE4F PRG:3E4F BD 90 04 - bne NmiHandler_Loop268 ; CPU:$BE52 PRG:3E52 D0 10 - lda ZpB7,x ; CPU:$BE54 PRG:3E54 B5 B7 - cmp #$03 ; CPU:$BE56 PRG:3E56 C9 03 - bcs NmiHandler_Loop272 ; CPU:$BE58 PRG:3E58 B0 30 - jsr Sub_BF15 ; CPU:$BE5A PRG:3E5A 20 15 BF - beq NmiHandler_OnZero5 ; CPU:$BE5D PRG:3E5D F0 92 - cmp #$02 ; CPU:$BE5F PRG:3E5F C9 02 - bne NmiHandler_Loop268 ; CPU:$BE61 PRG:3E61 D0 01 +Label_BDEB: + lda #$01 ; CPU:$BDEB PRG:3DEB A9 01 + cmp GameMode,x ; CPU:$BDED PRG:3DED D5 9F + beq NmiHandler_Loop391 ; CPU:$BDEF PRG:3DEF F0 5E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero29 -; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero29: +NmiHandler_OnZero6: + lda Zp2B,x ; CPU:$BDF1 PRG:3DF1 B5 2B + bne NmiHandler_Loop385 ; CPU:$BDF3 PRG:3DF3 D0 0A + lda PlayerY,x ; CPU:$BDF5 PRG:3DF5 B5 B7 + eor #$01 ; CPU:$BDF7 PRG:3DF7 49 01 + sta PlayerY,x ; CPU:$BDF9 PRG:3DF9 95 B7 + lda #$07 ; CPU:$BDFB PRG:3DFB A9 07 + sta Zp2B,x ; CPU:$BDFD PRG:3DFD 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop385 +; Global: Branch target inside NmiHandler: taken when Loop385. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop385: + lda #$00 ; CPU:$BDFF PRG:3DFF A9 00 + sta $03E4,x ; CPU:$BE01 PRG:3E01 9D E4 03 + lda SpriteIndex ; CPU:$BE04 PRG:3E04 A5 5F + cmp #$04 ; CPU:$BE06 PRG:3E06 C9 04 + bne NmiHandler_Loop386 ; CPU:$BE08 PRG:3E08 D0 12 + lda Zp85 ; CPU:$BE0A PRG:3E0A A5 85 + beq NmiHandler_Loop386 ; CPU:$BE0C PRG:3E0C F0 0E + lda GameState,x ; CPU:$BE0E PRG:3E0E B5 C0 + bne NmiHandler_Loop386 ; CPU:$BE10 PRG:3E10 D0 0A + lda EnemyHealth,x ; CPU:$BE12 PRG:3E12 B5 DF + cmp #$03 ; CPU:$BE14 PRG:3E14 C9 03 + bcs NmiHandler_Loop389 ; CPU:$BE16 PRG:3E16 B0 2B + lda #$03 ; CPU:$BE18 PRG:3E18 A9 03 + bne NmiHandler_Loop387 ; CPU:$BE1A PRG:3E1A D0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop386 +; Global: Branch target inside NmiHandler: taken when Loop386. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop386: + ldy $0372 ; CPU:$BE1C PRG:3E1C AC 72 03 + lda GameState,x ; CPU:$BE1F PRG:3E1F B5 C0 + beq NmiHandler_Loop388 ; CPU:$BE21 PRG:3E21 F0 15 + lda EnemyHealth,x ; CPU:$BE23 PRG:3E23 B5 DF + cmp #$06 ; CPU:$BE25 PRG:3E25 C9 06 + bne NmiHandler_Loop389 ; CPU:$BE27 PRG:3E27 D0 1A + lda ZpCE,x ; CPU:$BE29 PRG:3E29 B5 CE + cmp $BDC0,y ; CPU:$BE2B PRG:3E2B D9 C0 BD + bcc NmiHandler_Loop389 ; CPU:$BE2E PRG:3E2E 90 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop387 +; Global: Branch target inside NmiHandler: taken when Loop387. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop387: + sta $03E4,x ; CPU:$BE30 PRG:3E30 9D E4 03 + lda #$00 ; CPU:$BE33 PRG:3E33 A9 00 + sta PlayerY,x ; CPU:$BE35 PRG:3E35 95 B7 + rts ; CPU:$BE37 PRG:3E37 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop388 +; Global: Branch target inside NmiHandler: taken when Loop388. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop388: + lda EnemyHealth,x ; CPU:$BE38 PRG:3E38 B5 DF + bne NmiHandler_Loop389 ; CPU:$BE3A PRG:3E3A D0 07 + lda ZpCE,x ; CPU:$BE3C PRG:3E3C B5 CE + cmp $BDC2,y ; CPU:$BE3E PRG:3E3E D9 C2 BD + bcc NmiHandler_Loop390 ; CPU:$BE41 PRG:3E41 90 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop389 +; Global: Branch target inside NmiHandler: taken when Loop389. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop389: + jmp NmiHandler_Loop290 ; CPU:$BE43 PRG:3E43 4C 04 B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop390 +; Global: Branch target inside NmiHandler: taken when Loop390. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop390: + lda #$01 ; CPU:$BE46 PRG:3E46 A9 01 + sta $03E4,x ; CPU:$BE48 PRG:3E48 9D E4 03 + lsr a ; CPU:$BE4B PRG:3E4B 4A + sta PlayerY,x ; CPU:$BE4C PRG:3E4C 95 B7 + rts ; CPU:$BE4E PRG:3E4E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop391 +; Global: Branch target inside NmiHandler: taken when Loop391. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop391: + lda $0490,x ; CPU:$BE4F PRG:3E4F BD 90 04 + bne NmiHandler_Loop392 ; CPU:$BE52 PRG:3E52 D0 10 + lda PlayerY,x ; CPU:$BE54 PRG:3E54 B5 B7 + cmp #$03 ; CPU:$BE56 PRG:3E56 C9 03 + bcs NmiHandler_Loop396 ; CPU:$BE58 PRG:3E58 B0 30 + jsr Sub_BF15 ; CPU:$BE5A PRG:3E5A 20 15 BF + beq NmiHandler_OnZero6 ; CPU:$BE5D PRG:3E5D F0 92 + cmp #$02 ; CPU:$BE5F PRG:3E5F C9 02 + bne NmiHandler_Loop392 ; CPU:$BE61 PRG:3E61 D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero38: rts ; CPU:$BE63 PRG:3E63 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop268 -; Global: Branch target inside NmiHandler: taken when Loop268. +; Routine: NmiHandler_Loop392 +; Global: Branch target inside NmiHandler: taken when Loop392. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop268: +NmiHandler_Loop392: lda $03EC,x ; CPU:$BE64 PRG:3E64 BD EC 03 - beq NmiHandler_Loop269 ; CPU:$BE67 PRG:3E67 F0 03 - jmp NmiHandler_Loop278 ; CPU:$BE69 PRG:3E69 4C 0B BF + beq NmiHandler_Loop393 ; CPU:$BE67 PRG:3E67 F0 03 + jmp NmiHandler_Loop402 ; CPU:$BE69 PRG:3E69 4C 0B BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop269 -; Global: Branch target inside NmiHandler: taken when Loop269. +; Routine: NmiHandler_Loop393 +; Global: Branch target inside NmiHandler: taken when Loop393. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop269: +NmiHandler_Loop393: sta Zp2B,x ; CPU:$BE6C PRG:3E6C 95 2B sta $0490,x ; CPU:$BE6E PRG:3E6E 9D 90 04 - sta ZpC0,x ; CPU:$BE71 PRG:3E71 95 C0 - lda Zp80,x ; CPU:$BE73 PRG:3E73 B5 80 + sta GameState,x ; CPU:$BE71 PRG:3E71 95 C0 + lda SpriteTimer,x ; CPU:$BE73 PRG:3E73 B5 80 and #$02 ; CPU:$BE75 PRG:3E75 29 02 - beq NmiHandler_Loop270 ; CPU:$BE77 PRG:3E77 F0 02 - inc ZpC0,x ; CPU:$BE79 PRG:3E79 F6 C0 + beq NmiHandler_Loop394 ; CPU:$BE77 PRG:3E77 F0 02 + inc GameState,x ; CPU:$BE79 PRG:3E79 F6 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop270 -; Global: Branch target inside NmiHandler: taken when Loop270. +; Routine: NmiHandler_Loop394 +; Global: Branch target inside NmiHandler: taken when Loop394. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop270: +NmiHandler_Loop394: ldy #$00 ; CPU:$BE7B PRG:3E7B A0 00 lda Zp18 ; CPU:$BE7D PRG:3E7D A5 18 cmp $0383 ; CPU:$BE7F PRG:3E7F CD 83 03 - bcs NmiHandler_Loop271 ; CPU:$BE82 PRG:3E82 B0 02 + bcs NmiHandler_Loop395 ; CPU:$BE82 PRG:3E82 B0 02 iny ; CPU:$BE84 PRG:3E84 C8 iny ; CPU:$BE85 PRG:3E85 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop271 -; Global: Branch target inside NmiHandler: taken when Loop271. +; Routine: NmiHandler_Loop395 +; Global: Branch target inside NmiHandler: taken when Loop395. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop271: +NmiHandler_Loop395: tya ; CPU:$BE86 PRG:3E86 98 sta $03E8,x ; CPU:$BE87 PRG:3E87 9D E8 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop272 -; Global: Branch target inside NmiHandler: taken when Loop272. +; Routine: NmiHandler_Loop396 +; Global: Branch target inside NmiHandler: taken when Loop396. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop272: +NmiHandler_Loop396: lda Zp2B,x ; CPU:$BE8A PRG:3E8A B5 2B - bne NmiHandler_OnNonzero29 ; CPU:$BE8C PRG:3E8C D0 D5 - lda ZpB7,x ; CPU:$BE8E PRG:3E8E B5 B7 + bne NmiHandler_OnNonzero38 ; CPU:$BE8C PRG:3E8C D0 D5 + lda PlayerY,x ; CPU:$BE8E PRG:3E8E B5 B7 cmp #$04 ; CPU:$BE90 PRG:3E90 C9 04 - beq NmiHandler_Loop277 ; CPU:$BE92 PRG:3E92 F0 4C + beq NmiHandler_Loop401 ; CPU:$BE92 PRG:3E92 F0 4C cmp #$06 ; CPU:$BE94 PRG:3E94 C9 06 - beq NmiHandler_Loop277 ; CPU:$BE96 PRG:3E96 F0 48 + beq NmiHandler_Loop401 ; CPU:$BE96 PRG:3E96 F0 48 lda $03E8,x ; CPU:$BE98 PRG:3E98 BD E8 03 tay ; CPU:$BE9B PRG:3E9B A8 inc $03E8,x ; CPU:$BE9C PRG:3E9C FE E8 03 lda $BB90,y ; CPU:$BE9F PRG:3E9F B9 90 BB - sta ZpB7,x ; CPU:$BEA2 PRG:3EA2 95 B7 + sta PlayerY,x ; CPU:$BEA2 PRG:3EA2 95 B7 cmp #$04 ; CPU:$BEA4 PRG:3EA4 C9 04 - beq NmiHandler_Loop273 ; CPU:$BEA6 PRG:3EA6 F0 04 + beq NmiHandler_Loop397 ; CPU:$BEA6 PRG:3EA6 F0 04 cmp #$06 ; CPU:$BEA8 PRG:3EA8 C9 06 - bne NmiHandler_Loop276 ; CPU:$BEAA PRG:3EAA D0 2F + bne NmiHandler_Loop400 ; CPU:$BEAA PRG:3EAA D0 2F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop273 -; Global: Branch target inside NmiHandler: taken when Loop273. +; Routine: NmiHandler_Loop397 +; Global: Branch target inside NmiHandler: taken when Loop397. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop273: - lda ZpC0,x ; CPU:$BEAC PRG:3EAC B5 C0 - bne NmiHandler_Loop274 ; CPU:$BEAE PRG:3EAE D0 09 +NmiHandler_Loop397: + lda GameState,x ; CPU:$BEAC PRG:3EAC B5 C0 + bne NmiHandler_Loop398 ; CPU:$BEAE PRG:3EAE D0 09 lda #$01 ; CPU:$BEB0 PRG:3EB0 A9 01 sta $03EC,x ; CPU:$BEB2 PRG:3EB2 9D EC 03 lda #$F8 ; CPU:$BEB5 PRG:3EB5 A9 F8 - bne NmiHandler_Loop275 ; CPU:$BEB7 PRG:3EB7 D0 07 + bne NmiHandler_Loop399 ; CPU:$BEB7 PRG:3EB7 D0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop274 -; Global: Branch target inside NmiHandler: taken when Loop274. +; Routine: NmiHandler_Loop398 +; Global: Branch target inside NmiHandler: taken when Loop398. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop274: +NmiHandler_Loop398: lda #$11 ; CPU:$BEB9 PRG:3EB9 A9 11 sta $03EC,x ; CPU:$BEBB PRG:3EBB 9D EC 03 lda #$08 ; CPU:$BEBE PRG:3EBE A9 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop275 -; Global: Branch target inside NmiHandler: taken when Loop275. +; Routine: NmiHandler_Loop399 +; Global: Branch target inside NmiHandler: taken when Loop399. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop275: +NmiHandler_Loop399: clc ; CPU:$BEC0 PRG:3EC0 18 adc Zp8E,x ; CPU:$BEC1 PRG:3EC1 75 8E sta $03D4,x ; CPU:$BEC3 PRG:3EC3 9D D4 03 @@ -7998,26 +10754,26 @@ NmiHandler_Loop275: lda #$04 ; CPU:$BED7 PRG:3ED7 A9 04 sta ZpFC ; CPU:$BED9 PRG:3ED9 85 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop276 -; Global: Branch target inside NmiHandler: taken when Loop276. +; Routine: NmiHandler_Loop400 +; Global: Branch target inside NmiHandler: taken when Loop400. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop276: +NmiHandler_Loop400: lda #$0E ; CPU:$BEDB PRG:3EDB A9 0E sta Zp2B,x ; CPU:$BEDD PRG:3EDD 95 2B rts ; CPU:$BEDF PRG:3EDF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop277 -; Global: Branch target inside NmiHandler: taken when Loop277. +; Routine: NmiHandler_Loop401 +; Global: Branch target inside NmiHandler: taken when Loop401. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop277: +NmiHandler_Loop401: lda Zp19 ; CPU:$BEE0 PRG:3EE0 A5 19 and #$03 ; CPU:$BEE2 PRG:3EE2 29 03 tay ; CPU:$BEE4 PRG:3EE4 A8 @@ -8026,30 +10782,30 @@ NmiHandler_Loop277: inc $03F0,x ; CPU:$BEEA PRG:3EEA FE F0 03 lda $03F0,x ; CPU:$BEED PRG:3EED BD F0 03 cmp $0381 ; CPU:$BEF0 PRG:3EF0 CD 81 03 - bne NmiHandler_Loop278 ; CPU:$BEF3 PRG:3EF3 D0 16 + bne NmiHandler_Loop402 ; CPU:$BEF3 PRG:3EF3 D0 16 lda $0382 ; CPU:$BEF5 PRG:3EF5 AD 82 03 sta Zp3F,x ; CPU:$BEF8 PRG:3EF8 95 3F - lda ZpC0,x ; CPU:$BEFA PRG:3EFA B5 C0 + lda GameState,x ; CPU:$BEFA PRG:3EFA B5 C0 eor #$01 ; CPU:$BEFC PRG:3EFC 49 01 - sta ZpC0,x ; CPU:$BEFE PRG:3EFE 95 C0 + sta GameState,x ; CPU:$BEFE PRG:3EFE 95 C0 lda #$00 ; CPU:$BF00 PRG:3F00 A9 00 sta $03F0,x ; CPU:$BF02 PRG:3F02 9D F0 03 sta $03E8,x ; CPU:$BF05 PRG:3F05 9D E8 03 - sta ZpB7,x ; CPU:$BF08 PRG:3F08 95 B7 + sta PlayerY,x ; CPU:$BF08 PRG:3F08 95 B7 rts ; CPU:$BF0A PRG:3F0A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop278 -; Global: Branch target inside NmiHandler: taken when Loop278. +; Routine: NmiHandler_Loop402 +; Global: Branch target inside NmiHandler: taken when Loop402. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop278: +NmiHandler_Loop402: lda #$00 ; CPU:$BF0B PRG:3F0B A9 00 sta $03E8,x ; CPU:$BF0D PRG:3F0D 9D E8 03 lda #$02 ; CPU:$BF10 PRG:3F10 A9 02 - sta ZpB7,x ; CPU:$BF12 PRG:3F12 95 B7 + sta PlayerY,x ; CPU:$BF12 PRG:3F12 95 B7 rts ; CPU:$BF14 PRG:3F14 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF15 @@ -8060,34 +10816,34 @@ NmiHandler_Loop278: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BF15: - lda Zp80,x ; CPU:$BF15 PRG:3F15 B5 80 + lda SpriteTimer,x ; CPU:$BF15 PRG:3F15 B5 80 and #$02 ; CPU:$BF17 PRG:3F17 29 02 lsr a ; CPU:$BF19 PRG:3F19 4A - sta Zp00 ; CPU:$BF1A PRG:3F1A 85 00 + sta VramWritePtrLo ; CPU:$BF1A PRG:3F1A 85 00 lda $03E4,x ; CPU:$BF1C PRG:3F1C BD E4 03 - bne NmiHandler_Loop287 ; CPU:$BF1F PRG:3F1F D0 75 + bne NmiHandler_Loop411 ; CPU:$BF1F PRG:3F1F D0 75 lda $04DC,x ; CPU:$BF21 PRG:3F21 BD DC 04 - bmi NmiHandler_OnNonzero30 ; CPU:$BF24 PRG:3F24 30 1C + bmi NmiHandler_OnNonzero39 ; CPU:$BF24 PRG:3F24 30 1C cmp #$50 ; CPU:$BF26 PRG:3F26 C9 50 - bcc NmiHandler_Loop281 ; CPU:$BF28 PRG:3F28 90 25 + bcc NmiHandler_Loop405 ; CPU:$BF28 PRG:3F28 90 25 lda $03F0,x ; CPU:$BF2A PRG:3F2A BD F0 03 cmp #$01 ; CPU:$BF2D PRG:3F2D C9 01 - bne NmiHandler_Loop279 ; CPU:$BF2F PRG:3F2F D0 05 + bne NmiHandler_Loop403 ; CPU:$BF2F PRG:3F2F D0 05 lda #$01 ; CPU:$BF31 PRG:3F31 A9 01 sta $03F4,x ; CPU:$BF33 PRG:3F33 9D F4 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop279 -; Global: Branch target inside NmiHandler: taken when Loop279. +; Routine: NmiHandler_Loop403 +; Global: Branch target inside NmiHandler: taken when Loop403. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop279: - lda Zp00 ; CPU:$BF36 PRG:3F36 A5 00 - cmp ZpC0,x ; CPU:$BF38 PRG:3F38 D5 C0 - beq NmiHandler_OnNonzero30 ; CPU:$BF3A PRG:3F3A F0 06 - lda ZpC0,x ; CPU:$BF3C PRG:3F3C B5 C0 +NmiHandler_Loop403: + lda VramWritePtrLo ; CPU:$BF36 PRG:3F36 A5 00 + cmp GameState,x ; CPU:$BF38 PRG:3F38 D5 C0 + beq NmiHandler_OnNonzero39 ; CPU:$BF3A PRG:3F3A F0 06 + lda GameState,x ; CPU:$BF3C PRG:3F3C B5 C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF3E ; Global: Branch target inside Sub: taken when BF3E. @@ -8098,70 +10854,48 @@ NmiHandler_Loop279: ; ----------------------------------------------------------------------------- Sub_BF3E: eor #$01 ; CPU:$BF3E PRG:3F3E 49 01 - sta ZpC0,x ; CPU:$BF40 PRG:3F40 95 C0 + sta GameState,x ; CPU:$BF40 PRG:3F40 95 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero30 -; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero30: - lda ZpB7,x ; CPU:$BF42 PRG:3F42 B5 B7 +NmiHandler_OnNonzero39: + lda PlayerY,x ; CPU:$BF42 PRG:3F42 B5 B7 cmp #$02 ; CPU:$BF44 PRG:3F44 C9 02 - bcc NmiHandler_Loop280 ; CPU:$BF46 PRG:3F46 90 04 + bcc NmiHandler_Loop404 ; CPU:$BF46 PRG:3F46 90 04 lda #$00 ; CPU:$BF48 PRG:3F48 A9 00 - sta ZpB7,x ; CPU:$BF4A PRG:3F4A 95 B7 + sta PlayerY,x ; CPU:$BF4A PRG:3F4A 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop280 -; Global: Branch target inside NmiHandler: taken when Loop280. +; Routine: NmiHandler_Loop404 +; Global: Branch target inside NmiHandler: taken when Loop404. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop280: +NmiHandler_Loop404: lda #$00 ; CPU:$BF4C PRG:3F4C A9 00 rts ; CPU:$BF4E PRG:3F4E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop281 -; Global: Branch target inside NmiHandler: taken when Loop281. +; Routine: NmiHandler_Loop405 +; Global: Branch target inside NmiHandler: taken when Loop405. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop281: +NmiHandler_Loop405: cmp #$4A ; CPU:$BF4F PRG:3F4F C9 4A - bcs NmiHandler_Loop285 ; CPU:$BF51 PRG:3F51 B0 2B + bcs NmiHandler_Loop409 ; CPU:$BF51 PRG:3F51 B0 2B cmp #$0B ; CPU:$BF53 PRG:3F53 C9 0B - bcs NmiHandler_Loop282 ; CPU:$BF55 PRG:3F55 B0 0A + bcs NmiHandler_Loop406 ; CPU:$BF55 PRG:3F55 B0 0A lda $0382 ; CPU:$BF57 PRG:3F57 AD 82 03 sta Zp3F,x ; CPU:$BF5A PRG:3F5A 95 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero6 -; Global: Branch target inside NmiHandler: taken when OnZero6. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnZero6: - lda Zp00 ; CPU:$BF5C PRG:3F5C A5 00 - jmp Sub_BF3E ; CPU:$BF5E PRG:3F5E 4C 3E BF -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop282 -; Global: Branch target inside NmiHandler: taken when Loop282. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop282: - lda Zp3F,x ; CPU:$BF61 PRG:3F61 B5 3F - bne NmiHandler_Loop283 ; CPU:$BF63 PRG:3F63 D0 03 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero7 ; Global: Branch target inside NmiHandler: taken when OnZero7. ; Local: Part of NmiHandler. @@ -8170,113 +10904,135 @@ NmiHandler_Loop282: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnZero7: + lda VramWritePtrLo ; CPU:$BF5C PRG:3F5C A5 00 + jmp Sub_BF3E ; CPU:$BF5E PRG:3F5E 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop406 +; Global: Branch target inside NmiHandler: taken when Loop406. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop406: + lda Zp3F,x ; CPU:$BF61 PRG:3F61 B5 3F + bne NmiHandler_Loop407 ; CPU:$BF63 PRG:3F63 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero8: lda #$01 ; CPU:$BF65 PRG:3F65 A9 01 rts ; CPU:$BF67 PRG:3F67 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop283 -; Global: Branch target inside NmiHandler: taken when Loop283. +; Routine: NmiHandler_Loop407 +; Global: Branch target inside NmiHandler: taken when Loop407. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop283: +NmiHandler_Loop407: lda $03F0,x ; CPU:$BF68 PRG:3F68 BD F0 03 - beq NmiHandler_Loop284 ; CPU:$BF6B PRG:3F6B F0 09 + beq NmiHandler_Loop408 ; CPU:$BF6B PRG:3F6B F0 09 cmp #$01 ; CPU:$BF6D PRG:3F6D C9 01 - bne NmiHandler_Loop285 ; CPU:$BF6F PRG:3F6F D0 0D + bne NmiHandler_Loop409 ; CPU:$BF6F PRG:3F6F D0 0D lda $03F4,x ; CPU:$BF71 PRG:3F71 BD F4 03 - beq NmiHandler_Loop285 ; CPU:$BF74 PRG:3F74 F0 08 + beq NmiHandler_Loop409 ; CPU:$BF74 PRG:3F74 F0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop284 -; Global: Branch target inside NmiHandler: taken when Loop284. +; Routine: NmiHandler_Loop408 +; Global: Branch target inside NmiHandler: taken when Loop408. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop284: - lda Zp00 ; CPU:$BF76 PRG:3F76 A5 00 - cmp ZpC0,x ; CPU:$BF78 PRG:3F78 D5 C0 - beq NmiHandler_OnZero6 ; CPU:$BF7A PRG:3F7A F0 E0 - bne NmiHandler_OnNonzero30 ; CPU:$BF7C PRG:3F7C D0 C4 +NmiHandler_Loop408: + lda VramWritePtrLo ; CPU:$BF76 PRG:3F76 A5 00 + cmp GameState,x ; CPU:$BF78 PRG:3F78 D5 C0 + beq NmiHandler_OnZero7 ; CPU:$BF7A PRG:3F7A F0 E0 + bne NmiHandler_OnNonzero39 ; CPU:$BF7C PRG:3F7C D0 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop285 -; Global: Branch target inside NmiHandler: taken when Loop285. +; Routine: NmiHandler_Loop409 +; Global: Branch target inside NmiHandler: taken when Loop409. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop285: +NmiHandler_Loop409: lda $03F0,x ; CPU:$BF7E PRG:3F7E BD F0 03 cmp #$01 ; CPU:$BF81 PRG:3F81 C9 01 - beq NmiHandler_Loop286 ; CPU:$BF83 PRG:3F83 F0 05 + beq NmiHandler_Loop410 ; CPU:$BF83 PRG:3F83 F0 05 lda #$00 ; CPU:$BF85 PRG:3F85 A9 00 sta $03F4,x ; CPU:$BF87 PRG:3F87 9D F4 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop286 -; Global: Branch target inside NmiHandler: taken when Loop286. +; Routine: NmiHandler_Loop410 +; Global: Branch target inside NmiHandler: taken when Loop410. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop286: +NmiHandler_Loop410: lda Zp3F,x ; CPU:$BF8A PRG:3F8A B5 3F - beq NmiHandler_OnZero7 ; CPU:$BF8C PRG:3F8C F0 D7 - lda Zp00 ; CPU:$BF8E PRG:3F8E A5 00 - cmp ZpC0,x ; CPU:$BF90 PRG:3F90 D5 C0 - bne NmiHandler_OnNonzero30 ; CPU:$BF92 PRG:3F92 D0 AE - beq NmiHandler_Loop290 ; CPU:$BF94 PRG:3F94 F0 15 + beq NmiHandler_OnZero8 ; CPU:$BF8C PRG:3F8C F0 D7 + lda VramWritePtrLo ; CPU:$BF8E PRG:3F8E A5 00 + cmp GameState,x ; CPU:$BF90 PRG:3F90 D5 C0 + bne NmiHandler_OnNonzero39 ; CPU:$BF92 PRG:3F92 D0 AE + beq NmiHandler_Loop414 ; CPU:$BF94 PRG:3F94 F0 15 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop287 -; Global: Branch target inside NmiHandler: taken when Loop287. +; Routine: NmiHandler_Loop411 +; Global: Branch target inside NmiHandler: taken when Loop411. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop287: - lda Zp5F ; CPU:$BF96 PRG:3F96 A5 5F +NmiHandler_Loop411: + lda SpriteIndex ; CPU:$BF96 PRG:3F96 A5 5F cmp #$04 ; CPU:$BF98 PRG:3F98 C9 04 - bne NmiHandler_Loop288 ; CPU:$BF9A PRG:3F9A D0 07 + bne NmiHandler_Loop412 ; CPU:$BF9A PRG:3F9A D0 07 lda $04DC,x ; CPU:$BF9C PRG:3F9C BD DC 04 cmp #$50 ; CPU:$BF9F PRG:3F9F C9 50 - bcs NmiHandler_Loop289 ; CPU:$BFA1 PRG:3FA1 B0 04 + bcs NmiHandler_Loop413 ; CPU:$BFA1 PRG:3FA1 B0 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop288 -; Global: Branch target inside NmiHandler: taken when Loop288. +; Routine: NmiHandler_Loop412 +; Global: Branch target inside NmiHandler: taken when Loop412. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop288: +NmiHandler_Loop412: lda Zp3F,x ; CPU:$BFA3 PRG:3FA3 B5 3F - beq NmiHandler_OnZero7 ; CPU:$BFA5 PRG:3FA5 F0 BE + beq NmiHandler_OnZero8 ; CPU:$BFA5 PRG:3FA5 F0 BE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop289 -; Global: Branch target inside NmiHandler: taken when Loop289. +; Routine: NmiHandler_Loop413 +; Global: Branch target inside NmiHandler: taken when Loop413. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop289: - lda Zp00 ; CPU:$BFA7 PRG:3FA7 A5 00 - sta ZpC0,x ; CPU:$BFA9 PRG:3FA9 95 C0 +NmiHandler_Loop413: + lda VramWritePtrLo ; CPU:$BFA7 PRG:3FA7 A5 00 + sta GameState,x ; CPU:$BFA9 PRG:3FA9 95 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop290 -; Global: Branch target inside NmiHandler: taken when Loop290. +; Routine: NmiHandler_Loop414 +; Global: Branch target inside NmiHandler: taken when Loop414. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop290: +NmiHandler_Loop414: lda #$00 ; CPU:$BFAB PRG:3FAB A9 00 - sta ZpB7,x ; CPU:$BFAD PRG:3FAD 95 B7 + sta PlayerY,x ; CPU:$BFAD PRG:3FAD 95 B7 lda #$02 ; CPU:$BFAF PRG:3FAF A9 02 rts ; CPU:$BFB1 PRG:3FB1 60 ; ----------------------------------------------------------------------------- @@ -8299,19 +11055,19 @@ Sub_BFB2: ; ----------------------------------------------------------------------------- Sub_BFB4: lda $03EC,x ; CPU:$BFB4 PRG:3FB4 BD EC 03 - beq NmiHandler_Loop296 ; CPU:$BFB7 PRG:3FB7 F0 5F + beq NmiHandler_Loop420 ; CPU:$BFB7 PRG:3FB7 F0 5F and #$10 ; CPU:$BFB9 PRG:3FB9 29 10 - beq NmiHandler_Loop291 ; CPU:$BFBB PRG:3FBB F0 02 + beq NmiHandler_Loop415 ; CPU:$BFBB PRG:3FBB F0 02 lda #$40 ; CPU:$BFBD PRG:3FBD A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop291 -; Global: Branch target inside NmiHandler: taken when Loop291. +; Routine: NmiHandler_Loop415 +; Global: Branch target inside NmiHandler: taken when Loop415. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop291: +NmiHandler_Loop415: sta Zp04 ; CPU:$BFBF PRG:3FBF 85 04 inc Zp04 ; CPU:$BFC1 PRG:3FC1 E6 04 sta $0433,x ; CPU:$BFC3 PRG:3FC3 9D 33 04 @@ -8321,91 +11077,91 @@ NmiHandler_Loop291: sta Zp0B ; CPU:$BFCE PRG:3FCE 85 0B jsr Sub_C094 ; CPU:$BFD0 PRG:3FD0 20 94 C0 jsr Sub_C0F3 ; CPU:$BFD3 PRG:3FD3 20 F3 C0 - bne NmiHandler_Loop292 ; CPU:$BFD6 PRG:3FD6 D0 0C + bne NmiHandler_Loop416 ; CPU:$BFD6 PRG:3FD6 D0 0C jsr Sub_C05E ; CPU:$BFD8 PRG:3FD8 20 5E C0 lda $03D4,x ; CPU:$BFDB PRG:3FDB BD D4 03 cmp #$F8 ; CPU:$BFDE PRG:3FDE C9 F8 - bcc NmiHandler_Loop296 ; CPU:$BFE0 PRG:3FE0 90 36 - bcs NmiHandler_Loop295 ; CPU:$BFE2 PRG:3FE2 B0 2C + bcc NmiHandler_Loop420 ; CPU:$BFE0 PRG:3FE0 90 36 + bcs NmiHandler_Loop419 ; CPU:$BFE2 PRG:3FE2 B0 2C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop292 -; Global: Branch target inside NmiHandler: taken when Loop292. +; Routine: NmiHandler_Loop416 +; Global: Branch target inside NmiHandler: taken when Loop416. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop292: +NmiHandler_Loop416: lda Zp53 ; CPU:$BFE4 PRG:3FE4 A5 53 - beq NmiHandler_Loop293 ; CPU:$BFE6 PRG:3FE6 F0 04 + beq NmiHandler_Loop417 ; CPU:$BFE6 PRG:3FE6 F0 04 lda #$12 ; CPU:$BFE8 PRG:3FE8 A9 12 - bne NmiHandler_Loop294 ; CPU:$BFEA PRG:3FEA D0 02 + bne NmiHandler_Loop418 ; CPU:$BFEA PRG:3FEA D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop293 -; Global: Branch target inside NmiHandler: taken when Loop293. +; Routine: NmiHandler_Loop417 +; Global: Branch target inside NmiHandler: taken when Loop417. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop293: +NmiHandler_Loop417: lda #$0C ; CPU:$BFEC PRG:3FEC A9 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop294 -; Global: Branch target inside NmiHandler: taken when Loop294. +; Routine: NmiHandler_Loop418 +; Global: Branch target inside NmiHandler: taken when Loop418. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop294: +NmiHandler_Loop418: sta $037A ; CPU:$BFEE PRG:3FEE 8D 7A 03 - stx Zp00 ; CPU:$BFF1 PRG:3FF1 86 00 + stx VramWritePtrLo ; CPU:$BFF1 PRG:3FF1 86 00 ldx #$06 ; CPU:$BFF3 PRG:3FF3 A2 06 jsr Sub_C462 ; CPU:$BFF5 PRG:3FF5 20 62 C4 - ldx Zp00 ; CPU:$BFF8 PRG:3FF8 A6 00 + ldx VramWritePtrLo ; CPU:$BFF8 PRG:3FF8 A6 00 lda $03D0,x ; CPU:$BFFA PRG:3FFA BD D0 03 - sta Zp00 ; CPU:$BFFD PRG:3FFD 85 00 + sta VramWritePtrLo ; CPU:$BFFD PRG:3FFD 85 00 lda $03D4,x ; CPU:$BFFF PRG:3FFF BD D4 03 - sta Zp01 ; CPU:$C002 PRG:4002 85 01 + sta VramWritePtrHi ; CPU:$C002 PRG:4002 85 01 jsr Sub_C01F ; CPU:$C004 PRG:4004 20 1F C0 sta $0496 ; CPU:$C007 PRG:4007 8D 96 04 sta $03C9,y ; CPU:$C00A PRG:400A 99 C9 03 lsr a ; CPU:$C00D PRG:400D 4A sta Zp67 ; CPU:$C00E PRG:400E 85 67 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop295 -; Global: Branch target inside NmiHandler: taken when Loop295. +; Routine: NmiHandler_Loop419 +; Global: Branch target inside NmiHandler: taken when Loop419. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop295: +NmiHandler_Loop419: lda #$00 ; CPU:$C010 PRG:4010 A9 00 sta $03EC,x ; CPU:$C012 PRG:4012 9D EC 03 sta $03AD,x ; CPU:$C015 PRG:4015 9D AD 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop296 -; Global: Branch target inside NmiHandler: taken when Loop296. +; Routine: NmiHandler_Loop420 +; Global: Branch target inside NmiHandler: taken when Loop420. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop296: +NmiHandler_Loop420: dex ; CPU:$C018 PRG:4018 CA - bmi NmiHandler_Loop297 ; CPU:$C019 PRG:4019 30 03 + bmi NmiHandler_Loop421 ; CPU:$C019 PRG:4019 30 03 jmp Sub_BFB4 ; CPU:$C01B PRG:401B 4C B4 BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop297 -; Global: Branch target inside NmiHandler: taken when Loop297. +; Routine: NmiHandler_Loop421 +; Global: Branch target inside NmiHandler: taken when Loop421. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop297: +NmiHandler_Loop421: rts ; CPU:$C01E PRG:401E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C01F @@ -8418,9 +11174,9 @@ NmiHandler_Loop297: Sub_C01F: jsr Sub_C1F7 ; CPU:$C01F PRG:401F 20 F7 C1 ldy Zp0F ; CPU:$C022 PRG:4022 A4 0F - lda Zp00 ; CPU:$C024 PRG:4024 A5 00 + lda VramWritePtrLo ; CPU:$C024 PRG:4024 A5 00 sta $03DC,y ; CPU:$C026 PRG:4026 99 DC 03 - lda Zp01 ; CPU:$C029 PRG:4029 A5 01 + lda VramWritePtrHi ; CPU:$C029 PRG:4029 A5 01 sta $03E0,y ; CPU:$C02B PRG:402B 99 E0 03 lda #$01 ; CPU:$C02E PRG:402E A9 01 sta $03D8,y ; CPU:$C030 PRG:4030 99 D8 03 @@ -8436,16 +11192,16 @@ Sub_C01F: Sub_C034: ldx #$03 ; CPU:$C034 PRG:4034 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative30 -; Global: Branch target inside NmiHandler: taken when OnNonnegative30. +; Routine: NmiHandler_OnNonnegative40 +; Global: Branch target inside NmiHandler: taken when OnNonnegative40. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative30: +NmiHandler_OnNonnegative40: lda $03EC,x ; CPU:$C036 PRG:4036 BD EC 03 - beq NmiHandler_Loop298 ; CPU:$C039 PRG:4039 F0 1F + beq NmiHandler_Loop422 ; CPU:$C039 PRG:4039 F0 1F ldy Zp4C ; CPU:$C03B PRG:403B A4 4C lda $03D0,x ; CPU:$C03D PRG:403D BD D0 03 sta $06D0,y ; CPU:$C040 PRG:4040 99 D0 06 @@ -8461,16 +11217,16 @@ NmiHandler_OnNonnegative30: iny ; CPU:$C057 PRG:4057 C8 sty Zp4C ; CPU:$C058 PRG:4058 84 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop298 -; Global: Branch target inside NmiHandler: taken when Loop298. +; Routine: NmiHandler_Loop422 +; Global: Branch target inside NmiHandler: taken when Loop422. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop298: +NmiHandler_Loop422: dex ; CPU:$C05A PRG:405A CA - bpl NmiHandler_OnNonnegative30 ; CPU:$C05B PRG:405B 10 D9 + bpl NmiHandler_OnNonnegative40 ; CPU:$C05B PRG:405B 10 D9 rts ; CPU:$C05D PRG:405D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C05E @@ -8482,56 +11238,56 @@ NmiHandler_Loop298: ; ----------------------------------------------------------------------------- Sub_C05E: lda $04A6 ; CPU:$C05E PRG:405E AD A6 04 - bmi NmiHandler_Loop301 ; CPU:$C061 PRG:4061 30 30 + bmi NmiHandler_Loop425 ; CPU:$C061 PRG:4061 30 30 ldy ZpBE ; CPU:$C063 PRG:4063 A4 BE lda $BB84,y ; CPU:$C065 PRG:4065 B9 84 BB - sta Zp03 ; CPU:$C068 PRG:4068 85 03 + sta DispatchPtrHi ; CPU:$C068 PRG:4068 85 03 lda $03AD,x ; CPU:$C06A PRG:406A BD AD 03 clc ; CPU:$C06D PRG:406D 18 adc $BB88,y ; CPU:$C06E PRG:406E 79 88 BB sta $03AD,x ; CPU:$C071 PRG:4071 9D AD 03 - bcc NmiHandler_Loop299 ; CPU:$C074 PRG:4074 90 02 - inc Zp03 ; CPU:$C076 PRG:4076 E6 03 + bcc NmiHandler_Loop423 ; CPU:$C074 PRG:4074 90 02 + inc DispatchPtrHi ; CPU:$C076 PRG:4076 E6 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop299 -; Global: Branch target inside NmiHandler: taken when Loop299. +; Routine: NmiHandler_Loop423 +; Global: Branch target inside NmiHandler: taken when Loop423. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop299: +NmiHandler_Loop423: lda $03EC,x ; CPU:$C078 PRG:4078 BD EC 03 and #$10 ; CPU:$C07B PRG:407B 29 10 - bne NmiHandler_Loop300 ; CPU:$C07D PRG:407D D0 08 - lda Zp03 ; CPU:$C07F PRG:407F A5 03 + bne NmiHandler_Loop424 ; CPU:$C07D PRG:407D D0 08 + lda DispatchPtrHi ; CPU:$C07F PRG:407F A5 03 eor #$FF ; CPU:$C081 PRG:4081 49 FF - sta Zp03 ; CPU:$C083 PRG:4083 85 03 - inc Zp03 ; CPU:$C085 PRG:4085 E6 03 + sta DispatchPtrHi ; CPU:$C083 PRG:4083 85 03 + inc DispatchPtrHi ; CPU:$C085 PRG:4085 E6 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop300 -; Global: Branch target inside NmiHandler: taken when Loop300. +; Routine: NmiHandler_Loop424 +; Global: Branch target inside NmiHandler: taken when Loop424. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop300: - lda Zp03 ; CPU:$C087 PRG:4087 A5 03 +NmiHandler_Loop424: + lda DispatchPtrHi ; CPU:$C087 PRG:4087 A5 03 clc ; CPU:$C089 PRG:4089 18 adc $03D4,x ; CPU:$C08A PRG:408A 7D D4 03 clc ; CPU:$C08D PRG:408D 18 adc Zp66 ; CPU:$C08E PRG:408E 65 66 sta $03D4,x ; CPU:$C090 PRG:4090 9D D4 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop301 -; Global: Branch target inside NmiHandler: taken when Loop301. +; Routine: NmiHandler_Loop425 +; Global: Branch target inside NmiHandler: taken when Loop425. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop301: +NmiHandler_Loop425: rts ; CPU:$C093 PRG:4093 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C094 @@ -8547,17 +11303,17 @@ Sub_C094: lda Zp0A ; CPU:$C096 PRG:4096 A5 0A clc ; CPU:$C098 PRG:4098 18 adc #$03 ; CPU:$C099 PRG:4099 69 03 - sta Zp00 ; CPU:$C09B PRG:409B 85 00 + sta VramWritePtrLo ; CPU:$C09B PRG:409B 85 00 clc ; CPU:$C09D PRG:409D 18 adc #$02 ; CPU:$C09E PRG:409E 69 02 - sta Zp02 ; CPU:$C0A0 PRG:40A0 85 02 + sta DispatchPtrLo ; CPU:$C0A0 PRG:40A0 85 02 lda Zp0B ; CPU:$C0A2 PRG:40A2 A5 0B clc ; CPU:$C0A4 PRG:40A4 18 adc #$04 ; CPU:$C0A5 PRG:40A5 69 04 - sta Zp03 ; CPU:$C0A7 PRG:40A7 85 03 + sta DispatchPtrHi ; CPU:$C0A7 PRG:40A7 85 03 clc ; CPU:$C0A9 PRG:40A9 18 adc #$03 ; CPU:$C0AA PRG:40AA 69 03 - sta Zp01 ; CPU:$C0AC PRG:40AC 85 01 + sta VramWritePtrHi ; CPU:$C0AC PRG:40AC 85 01 ldx #$04 ; CPU:$C0AE PRG:40AE A2 04 jsr Sub_C0B6 ; CPU:$C0B0 PRG:40B0 20 B6 C0 pla ; CPU:$C0B3 PRG:40B3 68 @@ -8575,43 +11331,43 @@ Sub_C0B6: lda Zp94 ; CPU:$C0B6 PRG:40B6 A5 94 sec ; CPU:$C0B8 PRG:40B8 38 sbc #$05 ; CPU:$C0B9 PRG:40B9 E9 05 - sta Zp00,x ; CPU:$C0BB PRG:40BB 95 00 + sta VramWritePtrLo,x ; CPU:$C0BB PRG:40BB 95 00 clc ; CPU:$C0BD PRG:40BD 18 adc #$0A ; CPU:$C0BE PRG:40BE 69 0A - sta Zp02,x ; CPU:$C0C0 PRG:40C0 95 02 - lda Zp69 ; CPU:$C0C2 PRG:40C2 A5 69 + sta DispatchPtrLo,x ; CPU:$C0C0 PRG:40C0 95 02 + lda PlayerIndex ; CPU:$C0C2 PRG:40C2 A5 69 and #$0F ; CPU:$C0C4 PRG:40C4 29 0F lsr a ; CPU:$C0C6 PRG:40C6 4A cmp #$02 ; CPU:$C0C7 PRG:40C7 C9 02 - beq NmiHandler_Loop302 ; CPU:$C0C9 PRG:40C9 F0 0C + beq NmiHandler_Loop426 ; CPU:$C0C9 PRG:40C9 F0 0C tay ; CPU:$C0CB PRG:40CB A8 lda $BB94,y ; CPU:$C0CC PRG:40CC B9 94 BB - sta Zp01,x ; CPU:$C0CF PRG:40CF 95 01 + sta VramWritePtrHi,x ; CPU:$C0CF PRG:40CF 95 01 lda $BB99,y ; CPU:$C0D1 PRG:40D1 B9 99 BB - sta Zp03,x ; CPU:$C0D4 PRG:40D4 95 03 + sta DispatchPtrHi,x ; CPU:$C0D4 PRG:40D4 95 03 rts ; CPU:$C0D6 PRG:40D6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop302 -; Global: Branch target inside NmiHandler: taken when Loop302. +; Routine: NmiHandler_Loop426 +; Global: Branch target inside NmiHandler: taken when Loop426. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop302: +NmiHandler_Loop426: ldy Zp68 ; CPU:$C0D7 PRG:40D7 A4 68 lda $BB9E,y ; CPU:$C0D9 PRG:40D9 B9 9E BB - sta Zp01,x ; CPU:$C0DC PRG:40DC 95 01 + sta VramWritePtrHi,x ; CPU:$C0DC PRG:40DC 95 01 lda $BBA8,y ; CPU:$C0DE PRG:40DE B9 A8 BB - sta Zp03,x ; CPU:$C0E1 PRG:40E1 95 03 - lda Zp69 ; CPU:$C0E3 PRG:40E3 A5 69 + sta DispatchPtrHi,x ; CPU:$C0E1 PRG:40E1 95 03 + lda PlayerIndex ; CPU:$C0E3 PRG:40E3 A5 69 and #$01 ; CPU:$C0E5 PRG:40E5 29 01 tay ; CPU:$C0E7 PRG:40E7 A8 lda Zp94 ; CPU:$C0E8 PRG:40E8 A5 94 - sta Zp00,x ; CPU:$C0EA PRG:40EA 95 00 + sta VramWritePtrLo,x ; CPU:$C0EA PRG:40EA 95 00 clc ; CPU:$C0EC PRG:40EC 18 adc $BBB2,y ; CPU:$C0ED PRG:40ED 79 B2 BB - sta Zp02,x ; CPU:$C0F0 PRG:40F0 95 02 + sta DispatchPtrLo,x ; CPU:$C0F0 PRG:40F0 95 02 rts ; CPU:$C0F2 PRG:40F2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C0F3 @@ -8622,75 +11378,75 @@ NmiHandler_Loop302: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C0F3: - lda Zp00 ; CPU:$C0F3 PRG:40F3 A5 00 + lda VramWritePtrLo ; CPU:$C0F3 PRG:40F3 A5 00 cmp Zp04 ; CPU:$C0F5 PRG:40F5 C5 04 - bcc NmiHandler_Loop303 ; CPU:$C0F7 PRG:40F7 90 0A - beq NmiHandler_Loop304 ; CPU:$C0F9 PRG:40F9 F0 0E + bcc NmiHandler_Loop427 ; CPU:$C0F7 PRG:40F7 90 0A + beq NmiHandler_Loop428 ; CPU:$C0F9 PRG:40F9 F0 0E cmp Zp06 ; CPU:$C0FB PRG:40FB C5 06 - bcc NmiHandler_Loop304 ; CPU:$C0FD PRG:40FD 90 0A - beq NmiHandler_Loop304 ; CPU:$C0FF PRG:40FF F0 08 - bcs NmiHandler_Loop307 ; CPU:$C101 PRG:4101 B0 1F + bcc NmiHandler_Loop428 ; CPU:$C0FD PRG:40FD 90 0A + beq NmiHandler_Loop428 ; CPU:$C0FF PRG:40FF F0 08 + bcs NmiHandler_Loop431 ; CPU:$C101 PRG:4101 B0 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop303 -; Global: Branch target inside NmiHandler: taken when Loop303. +; Routine: NmiHandler_Loop427 +; Global: Branch target inside NmiHandler: taken when Loop427. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop303: - lda Zp02 ; CPU:$C103 PRG:4103 A5 02 +NmiHandler_Loop427: + lda DispatchPtrLo ; CPU:$C103 PRG:4103 A5 02 cmp Zp04 ; CPU:$C105 PRG:4105 C5 04 - bcc NmiHandler_Loop307 ; CPU:$C107 PRG:4107 90 19 + bcc NmiHandler_Loop431 ; CPU:$C107 PRG:4107 90 19 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop304 -; Global: Branch target inside NmiHandler: taken when Loop304. +; Routine: NmiHandler_Loop428 +; Global: Branch target inside NmiHandler: taken when Loop428. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop304: - lda Zp01 ; CPU:$C109 PRG:4109 A5 01 +NmiHandler_Loop428: + lda VramWritePtrHi ; CPU:$C109 PRG:4109 A5 01 cmp Zp05 ; CPU:$C10B PRG:410B C5 05 - bcc NmiHandler_Loop305 ; CPU:$C10D PRG:410D 90 0A - beq NmiHandler_Loop306 ; CPU:$C10F PRG:410F F0 0E + bcc NmiHandler_Loop429 ; CPU:$C10D PRG:410D 90 0A + beq NmiHandler_Loop430 ; CPU:$C10F PRG:410F F0 0E cmp Zp07 ; CPU:$C111 PRG:4111 C5 07 - bcc NmiHandler_Loop306 ; CPU:$C113 PRG:4113 90 0A - beq NmiHandler_Loop306 ; CPU:$C115 PRG:4115 F0 08 - bcs NmiHandler_Loop307 ; CPU:$C117 PRG:4117 B0 09 + bcc NmiHandler_Loop430 ; CPU:$C113 PRG:4113 90 0A + beq NmiHandler_Loop430 ; CPU:$C115 PRG:4115 F0 08 + bcs NmiHandler_Loop431 ; CPU:$C117 PRG:4117 B0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop305 -; Global: Branch target inside NmiHandler: taken when Loop305. +; Routine: NmiHandler_Loop429 +; Global: Branch target inside NmiHandler: taken when Loop429. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop305: - lda Zp03 ; CPU:$C119 PRG:4119 A5 03 +NmiHandler_Loop429: + lda DispatchPtrHi ; CPU:$C119 PRG:4119 A5 03 cmp Zp05 ; CPU:$C11B PRG:411B C5 05 - bcc NmiHandler_Loop307 ; CPU:$C11D PRG:411D 90 03 + bcc NmiHandler_Loop431 ; CPU:$C11D PRG:411D 90 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop306 -; Global: Branch target inside NmiHandler: taken when Loop306. +; Routine: NmiHandler_Loop430 +; Global: Branch target inside NmiHandler: taken when Loop430. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop306: +NmiHandler_Loop430: lda #$01 ; CPU:$C11F PRG:411F A9 01 rts ; CPU:$C121 PRG:4121 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop307 -; Global: Branch target inside NmiHandler: taken when Loop307. +; Routine: NmiHandler_Loop431 +; Global: Branch target inside NmiHandler: taken when Loop431. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop307: +NmiHandler_Loop431: lda #$00 ; CPU:$C122 PRG:4122 A9 00 rts ; CPU:$C124 PRG:4124 60 ; ----------------------------------------------------------------------------- @@ -8706,45 +11462,45 @@ Sub_C125: lda Zp8E,x ; CPU:$C127 PRG:4127 B5 8E sec ; CPU:$C129 PRG:4129 38 sbc #$04 ; CPU:$C12A PRG:412A E9 04 - sta a:Zp00,y ; CPU:$C12C PRG:412C 99 00 00 + sta a:VramWritePtrLo,y ; CPU:$C12C PRG:412C 99 00 00 clc ; CPU:$C12F PRG:412F 18 adc #$08 ; CPU:$C130 PRG:4130 69 08 - sta a:Zp02,y ; CPU:$C132 PRG:4132 99 02 00 - lda Zp87,x ; CPU:$C135 PRG:4135 B5 87 + sta a:DispatchPtrLo,y ; CPU:$C132 PRG:4132 99 02 00 + lda EnemyIndex,x ; CPU:$C135 PRG:4135 B5 87 sec ; CPU:$C137 PRG:4137 38 sbc #$0A ; CPU:$C138 PRG:4138 E9 0A tay ; CPU:$C13A PRG:413A A8 lda $BBB4,y ; CPU:$C13B PRG:413B B9 B4 BB clc ; CPU:$C13E PRG:413E 18 - adc ZpB0,x ; CPU:$C13F PRG:413F 75 B0 + adc PlayerX,x ; CPU:$C13F PRG:413F 75 B0 sta Zp0D ; CPU:$C141 PRG:4141 85 0D - lda Zp5F ; CPU:$C143 PRG:4143 A5 5F - bne NmiHandler_Loop308 ; CPU:$C145 PRG:4145 D0 0D + lda SpriteIndex ; CPU:$C143 PRG:4143 A5 5F + bne NmiHandler_Loop432 ; CPU:$C145 PRG:4145 D0 0D lda Zp7B ; CPU:$C147 PRG:4147 A5 7B cmp #$03 ; CPU:$C149 PRG:4149 C9 03 - bne NmiHandler_Loop308 ; CPU:$C14B PRG:414B D0 07 + bne NmiHandler_Loop432 ; CPU:$C14B PRG:414B D0 07 lda Zp0D ; CPU:$C14D PRG:414D A5 0D clc ; CPU:$C14F PRG:414F 18 adc #$10 ; CPU:$C150 PRG:4150 69 10 sta Zp0D ; CPU:$C152 PRG:4152 85 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop308 -; Global: Branch target inside NmiHandler: taken when Loop308. +; Routine: NmiHandler_Loop432 +; Global: Branch target inside NmiHandler: taken when Loop432. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop308: - lda ZpB0,x ; CPU:$C154 PRG:4154 B5 B0 +NmiHandler_Loop432: + lda PlayerX,x ; CPU:$C154 PRG:4154 B5 B0 clc ; CPU:$C156 PRG:4156 18 adc $BBBC,y ; CPU:$C157 PRG:4157 79 BC BB sta Zp0E ; CPU:$C15A PRG:415A 85 0E ldy Zp0F ; CPU:$C15C PRG:415C A4 0F lda Zp0D ; CPU:$C15E PRG:415E A5 0D - sta a:Zp01,y ; CPU:$C160 PRG:4160 99 01 00 + sta a:VramWritePtrHi,y ; CPU:$C160 PRG:4160 99 01 00 lda Zp0E ; CPU:$C163 PRG:4163 A5 0E - sta a:Zp03,y ; CPU:$C165 PRG:4165 99 03 00 + sta a:DispatchPtrHi,y ; CPU:$C165 PRG:4165 99 03 00 rts ; CPU:$C168 PRG:4168 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C169 @@ -8759,67 +11515,67 @@ Sub_C169: lda Zp8E,x ; CPU:$C16B PRG:416B B5 8E sec ; CPU:$C16D PRG:416D 38 sbc $BBE8,x ; CPU:$C16E PRG:416E FD E8 BB - sta a:Zp00,y ; CPU:$C171 PRG:4171 99 00 00 + sta a:VramWritePtrLo,y ; CPU:$C171 PRG:4171 99 00 00 lda Zp8E,x ; CPU:$C174 PRG:4174 B5 8E clc ; CPU:$C176 PRG:4176 18 adc $BBFA,x ; CPU:$C177 PRG:4177 7D FA BB - sta a:Zp02,y ; CPU:$C17A PRG:417A 99 02 00 - ldy Zp87,x ; CPU:$C17D PRG:417D B4 87 + sta a:DispatchPtrLo,y ; CPU:$C17A PRG:417A 99 02 00 + ldy EnemyIndex,x ; CPU:$C17D PRG:417D B4 87 lda $BBC4,y ; CPU:$C17F PRG:417F B9 C4 BB clc ; CPU:$C182 PRG:4182 18 - adc ZpB0,x ; CPU:$C183 PRG:4183 75 B0 + adc PlayerX,x ; CPU:$C183 PRG:4183 75 B0 sta Zp0D ; CPU:$C185 PRG:4185 85 0D - lda Zp5F ; CPU:$C187 PRG:4187 A5 5F - beq NmiHandler_Loop309 ; CPU:$C189 PRG:4189 F0 0C + lda SpriteIndex ; CPU:$C187 PRG:4187 A5 5F + beq NmiHandler_Loop433 ; CPU:$C189 PRG:4189 F0 0C cmp #$04 ; CPU:$C18B PRG:418B C9 04 - bne NmiHandler_Loop311 ; CPU:$C18D PRG:418D D0 15 + bne NmiHandler_Loop435 ; CPU:$C18D PRG:418D D0 15 lda Zp7B ; CPU:$C18F PRG:418F A5 7B cmp #$04 ; CPU:$C191 PRG:4191 C9 04 - bne NmiHandler_Loop311 ; CPU:$C193 PRG:4193 D0 0F - beq NmiHandler_Loop310 ; CPU:$C195 PRG:4195 F0 06 + bne NmiHandler_Loop435 ; CPU:$C193 PRG:4193 D0 0F + beq NmiHandler_Loop434 ; CPU:$C195 PRG:4195 F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop309 -; Global: Branch target inside NmiHandler: taken when Loop309. +; Routine: NmiHandler_Loop433 +; Global: Branch target inside NmiHandler: taken when Loop433. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop309: +NmiHandler_Loop433: lda Zp7B ; CPU:$C197 PRG:4197 A5 7B cmp #$03 ; CPU:$C199 PRG:4199 C9 03 - bne NmiHandler_Loop311 ; CPU:$C19B PRG:419B D0 07 + bne NmiHandler_Loop435 ; CPU:$C19B PRG:419B D0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop310 -; Global: Branch target inside NmiHandler: taken when Loop310. +; Routine: NmiHandler_Loop434 +; Global: Branch target inside NmiHandler: taken when Loop434. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop310: +NmiHandler_Loop434: lda Zp0D ; CPU:$C19D PRG:419D A5 0D clc ; CPU:$C19F PRG:419F 18 adc #$10 ; CPU:$C1A0 PRG:41A0 69 10 sta Zp0D ; CPU:$C1A2 PRG:41A2 85 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop311 -; Global: Branch target inside NmiHandler: taken when Loop311. +; Routine: NmiHandler_Loop435 +; Global: Branch target inside NmiHandler: taken when Loop435. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop311: - lda ZpB0,x ; CPU:$C1A4 PRG:41A4 B5 B0 +NmiHandler_Loop435: + lda PlayerX,x ; CPU:$C1A4 PRG:41A4 B5 B0 clc ; CPU:$C1A6 PRG:41A6 18 adc $BBD6,y ; CPU:$C1A7 PRG:41A7 79 D6 BB sta Zp0E ; CPU:$C1AA PRG:41AA 85 0E ldy Zp0F ; CPU:$C1AC PRG:41AC A4 0F lda Zp0D ; CPU:$C1AE PRG:41AE A5 0D - sta a:Zp01,y ; CPU:$C1B0 PRG:41B0 99 01 00 + sta a:VramWritePtrHi,y ; CPU:$C1B0 PRG:41B0 99 01 00 lda Zp0E ; CPU:$C1B3 PRG:41B3 A5 0E - sta a:Zp03,y ; CPU:$C1B5 PRG:41B5 99 03 00 + sta a:DispatchPtrHi,y ; CPU:$C1B5 PRG:41B5 99 03 00 rts ; CPU:$C1B8 PRG:41B8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1B9 @@ -8832,43 +11588,43 @@ NmiHandler_Loop311: Sub_C1B9: ldx #$02 ; CPU:$C1B9 PRG:41B9 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative31 -; Global: Branch target inside NmiHandler: taken when OnNonnegative31. +; Routine: NmiHandler_OnNonnegative41 +; Global: Branch target inside NmiHandler: taken when OnNonnegative41. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative31: +NmiHandler_OnNonnegative41: lda $03D8,x ; CPU:$C1BB PRG:41BB BD D8 03 - beq NmiHandler_Loop314 ; CPU:$C1BE PRG:41BE F0 33 + beq NmiHandler_Loop438 ; CPU:$C1BE PRG:41BE F0 33 cmp #$01 ; CPU:$C1C0 PRG:41C0 C9 01 - bne NmiHandler_Loop312 ; CPU:$C1C2 PRG:41C2 D0 07 + bne NmiHandler_Loop436 ; CPU:$C1C2 PRG:41C2 D0 07 lda #$06 ; CPU:$C1C4 PRG:41C4 A9 06 sta Zp26,x ; CPU:$C1C6 PRG:41C6 95 26 inc $03D8,x ; CPU:$C1C8 PRG:41C8 FE D8 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop312 -; Global: Branch target inside NmiHandler: taken when Loop312. +; Routine: NmiHandler_Loop436 +; Global: Branch target inside NmiHandler: taken when Loop436. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop312: +NmiHandler_Loop436: lda Zp26,x ; CPU:$C1CB PRG:41CB B5 26 - bne NmiHandler_Loop313 ; CPU:$C1CD PRG:41CD D0 05 + bne NmiHandler_Loop437 ; CPU:$C1CD PRG:41CD D0 05 sta $03D8,x ; CPU:$C1CF PRG:41CF 9D D8 03 - beq NmiHandler_Loop314 ; CPU:$C1D2 PRG:41D2 F0 1F + beq NmiHandler_Loop438 ; CPU:$C1D2 PRG:41D2 F0 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop313 -; Global: Branch target inside NmiHandler: taken when Loop313. +; Routine: NmiHandler_Loop437 +; Global: Branch target inside NmiHandler: taken when Loop437. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop313: +NmiHandler_Loop437: ldy Zp4C ; CPU:$C1D4 PRG:41D4 A4 4C lda $03DC,x ; CPU:$C1D6 PRG:41D6 BD DC 03 sta $06D0,y ; CPU:$C1D9 PRG:41D9 99 D0 06 @@ -8884,16 +11640,16 @@ NmiHandler_Loop313: iny ; CPU:$C1F0 PRG:41F0 C8 sty Zp4C ; CPU:$C1F1 PRG:41F1 84 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop314 -; Global: Branch target inside NmiHandler: taken when Loop314. +; Routine: NmiHandler_Loop438 +; Global: Branch target inside NmiHandler: taken when Loop438. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop314: +NmiHandler_Loop438: dex ; CPU:$C1F3 PRG:41F3 CA - bpl NmiHandler_OnNonnegative31 ; CPU:$C1F4 PRG:41F4 10 C5 + bpl NmiHandler_OnNonnegative41 ; CPU:$C1F4 PRG:41F4 10 C5 rts ; CPU:$C1F6 PRG:41F6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1F7 @@ -8908,27 +11664,27 @@ Sub_C1F7: pha ; CPU:$C1F8 PRG:41F8 48 ldx #$02 ; CPU:$C1F9 PRG:41F9 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative32 -; Global: Branch target inside NmiHandler: taken when OnNonnegative32. +; Routine: NmiHandler_OnNonnegative42 +; Global: Branch target inside NmiHandler: taken when OnNonnegative42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative32: +NmiHandler_OnNonnegative42: lda $03D8,x ; CPU:$C1FB PRG:41FB BD D8 03 - beq NmiHandler_Loop315 ; CPU:$C1FE PRG:41FE F0 03 + beq NmiHandler_Loop439 ; CPU:$C1FE PRG:41FE F0 03 dex ; CPU:$C200 PRG:4200 CA - bpl NmiHandler_OnNonnegative32 ; CPU:$C201 PRG:4201 10 F8 + bpl NmiHandler_OnNonnegative42 ; CPU:$C201 PRG:4201 10 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop315 -; Global: Branch target inside NmiHandler: taken when Loop315. +; Routine: NmiHandler_Loop439 +; Global: Branch target inside NmiHandler: taken when Loop439. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop315: +NmiHandler_Loop439: stx Zp0F ; CPU:$C203 PRG:4203 86 0F pla ; CPU:$C205 PRG:4205 68 tax ; CPU:$C206 PRG:4206 AA @@ -8942,46 +11698,46 @@ NmiHandler_Loop315: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C208: - lda Zp69 ; CPU:$C208 PRG:4208 A5 69 + lda PlayerIndex ; CPU:$C208 PRG:4208 A5 69 cmp #$0F ; CPU:$C20A PRG:420A C9 0F - bcc NmiHandler_Loop316 ; CPU:$C20C PRG:420C 90 0A + bcc NmiHandler_Loop440 ; CPU:$C20C PRG:420C 90 0A and #$04 ; CPU:$C20E PRG:420E 29 04 - bne NmiHandler_Loop317 ; CPU:$C210 PRG:4210 D0 12 + bne NmiHandler_Loop441 ; CPU:$C210 PRG:4210 D0 12 lda Zp68 ; CPU:$C212 PRG:4212 A5 68 cmp #$01 ; CPU:$C214 PRG:4214 C9 01 - beq NmiHandler_Loop317 ; CPU:$C216 PRG:4216 F0 0C + beq NmiHandler_Loop441 ; CPU:$C216 PRG:4216 F0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop316 -; Global: Branch target inside NmiHandler: taken when Loop316. +; Routine: NmiHandler_Loop440 +; Global: Branch target inside NmiHandler: taken when Loop440. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop316: +NmiHandler_Loop440: lda #$00 ; CPU:$C218 PRG:4218 A9 00 sta $04B6 ; CPU:$C21A PRG:421A 8D B6 04 sta $0386 ; CPU:$C21D PRG:421D 8D 86 03 rts ; CPU:$C220 PRG:4220 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero31 -; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero31: - jmp NmiHandler_Loop326 ; CPU:$C221 PRG:4221 4C F2 C2 +NmiHandler_OnNonzero40: + jmp NmiHandler_Loop450 ; CPU:$C221 PRG:4221 4C F2 C2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop317 -; Global: Branch target inside NmiHandler: taken when Loop317. +; Routine: NmiHandler_Loop441 +; Global: Branch target inside NmiHandler: taken when Loop441. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop317: +NmiHandler_Loop441: ldx #$05 ; CPU:$C224 PRG:4224 A2 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C226 @@ -8992,149 +11748,149 @@ NmiHandler_Loop317: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C226: - lda Zp9F,x ; CPU:$C226 PRG:4226 B5 9F + lda GameMode,x ; CPU:$C226 PRG:4226 B5 9F cmp #$01 ; CPU:$C228 PRG:4228 C9 01 - bne NmiHandler_OnNonzero31 ; CPU:$C22A PRG:422A D0 F5 + bne NmiHandler_OnNonzero40 ; CPU:$C22A PRG:422A D0 F5 lda $04A0,x ; CPU:$C22C PRG:422C BD A0 04 - bmi NmiHandler_OnNonzero31 ; CPU:$C22F PRG:422F 30 F0 - lda Zp80,x ; CPU:$C231 PRG:4231 B5 80 - beq NmiHandler_OnNonzero31 ; CPU:$C233 PRG:4233 F0 EC - lda Zp87,x ; CPU:$C235 PRG:4235 B5 87 + bmi NmiHandler_OnNonzero40 ; CPU:$C22F PRG:422F 30 F0 + lda SpriteTimer,x ; CPU:$C231 PRG:4231 B5 80 + beq NmiHandler_OnNonzero40 ; CPU:$C233 PRG:4233 F0 EC + lda EnemyIndex,x ; CPU:$C235 PRG:4235 B5 87 cmp #$0F ; CPU:$C237 PRG:4237 C9 0F - beq NmiHandler_Loop318 ; CPU:$C239 PRG:4239 F0 06 - lda Zp80,x ; CPU:$C23B PRG:423B B5 80 + beq NmiHandler_Loop442 ; CPU:$C239 PRG:4239 F0 06 + lda SpriteTimer,x ; CPU:$C23B PRG:423B B5 80 and #$08 ; CPU:$C23D PRG:423D 29 08 - bne NmiHandler_OnNonzero31 ; CPU:$C23F PRG:423F D0 E0 + bne NmiHandler_OnNonzero40 ; CPU:$C23F PRG:423F D0 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop318 -; Global: Branch target inside NmiHandler: taken when Loop318. +; Routine: NmiHandler_Loop442 +; Global: Branch target inside NmiHandler: taken when Loop442. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop318: - lda Zp80,x ; CPU:$C241 PRG:4241 B5 80 +NmiHandler_Loop442: + lda SpriteTimer,x ; CPU:$C241 PRG:4241 B5 80 and #$04 ; CPU:$C243 PRG:4243 29 04 - bne NmiHandler_OnNonzero31 ; CPU:$C245 PRG:4245 D0 DA + bne NmiHandler_OnNonzero40 ; CPU:$C245 PRG:4245 D0 DA sta Zp0A ; CPU:$C247 PRG:4247 85 0A jsr Sub_C65B ; CPU:$C249 PRG:4249 20 5B C6 lda #$04 ; CPU:$C24C PRG:424C A9 04 sta Zp0F ; CPU:$C24E PRG:424E 85 0F jsr Sub_C169 ; CPU:$C250 PRG:4250 20 69 C1 jsr Sub_C0F3 ; CPU:$C253 PRG:4253 20 F3 C0 - beq NmiHandler_OnNonzero31 ; CPU:$C256 PRG:4256 F0 C9 - lda Zp87,x ; CPU:$C258 PRG:4258 B5 87 + beq NmiHandler_OnNonzero40 ; CPU:$C256 PRG:4256 F0 C9 + lda EnemyIndex,x ; CPU:$C258 PRG:4258 B5 87 cmp #$07 ; CPU:$C25A PRG:425A C9 07 - bne NmiHandler_Loop320 ; CPU:$C25C PRG:425C D0 12 + bne NmiHandler_Loop444 ; CPU:$C25C PRG:425C D0 12 lda $038C ; CPU:$C25E PRG:425E AD 8C 03 - beq NmiHandler_Loop319 ; CPU:$C261 PRG:4261 F0 07 + beq NmiHandler_Loop443 ; CPU:$C261 PRG:4261 F0 07 lda Zp7B ; CPU:$C263 PRG:4263 A5 7B cmp #$05 ; CPU:$C265 PRG:4265 C9 05 - bcc NmiHandler_Loop320 ; CPU:$C267 PRG:4267 90 07 + bcc NmiHandler_Loop444 ; CPU:$C267 PRG:4267 90 07 rts ; CPU:$C269 PRG:4269 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop319 -; Global: Branch target inside NmiHandler: taken when Loop319. +; Routine: NmiHandler_Loop443 +; Global: Branch target inside NmiHandler: taken when Loop443. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop319: +NmiHandler_Loop443: lda #$01 ; CPU:$C26A PRG:426A A9 01 sta $038C ; CPU:$C26C PRG:426C 8D 8C 03 rts ; CPU:$C26F PRG:426F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop320 -; Global: Branch target inside NmiHandler: taken when Loop320. +; Routine: NmiHandler_Loop444 +; Global: Branch target inside NmiHandler: taken when Loop444. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop320: +NmiHandler_Loop444: jsr Sub_C2F8 ; CPU:$C270 PRG:4270 20 F8 C2 jsr Sub_C322 ; CPU:$C273 PRG:4273 20 22 C3 - lda Zp87,x ; CPU:$C276 PRG:4276 B5 87 + lda EnemyIndex,x ; CPU:$C276 PRG:4276 B5 87 cmp #$02 ; CPU:$C278 PRG:4278 C9 02 - bcc NmiHandler_Loop322 ; CPU:$C27A PRG:427A 90 2E + bcc NmiHandler_Loop446 ; CPU:$C27A PRG:427A 90 2E cmp #$06 ; CPU:$C27C PRG:427C C9 06 - bne NmiHandler_Loop321 ; CPU:$C27E PRG:427E D0 11 + bne NmiHandler_Loop445 ; CPU:$C27E PRG:427E D0 11 lda $0379 ; CPU:$C280 PRG:4280 AD 79 03 cmp #$02 ; CPU:$C283 PRG:4283 C9 02 - beq NmiHandler_Loop321 ; CPU:$C285 PRG:4285 F0 0A + beq NmiHandler_Loop445 ; CPU:$C285 PRG:4285 F0 0A lda #$00 ; CPU:$C287 PRG:4287 A9 00 sta Zp67 ; CPU:$C289 PRG:4289 85 67 lda #$01 ; CPU:$C28B PRG:428B A9 01 sta Zp7D ; CPU:$C28D PRG:428D 85 7D - bne NmiHandler_Loop326 ; CPU:$C28F PRG:428F D0 61 + bne NmiHandler_Loop450 ; CPU:$C28F PRG:428F D0 61 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop321 -; Global: Branch target inside NmiHandler: taken when Loop321. +; Routine: NmiHandler_Loop445 +; Global: Branch target inside NmiHandler: taken when Loop445. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop321: +NmiHandler_Loop445: cmp #$08 ; CPU:$C291 PRG:4291 C9 08 - beq NmiHandler_Loop326 ; CPU:$C293 PRG:4293 F0 5D + beq NmiHandler_Loop450 ; CPU:$C293 PRG:4293 F0 5D lda $04B6 ; CPU:$C295 PRG:4295 AD B6 04 - bne NmiHandler_Loop326 ; CPU:$C298 PRG:4298 D0 58 - lda Zp87,x ; CPU:$C29A PRG:429A B5 87 + bne NmiHandler_Loop450 ; CPU:$C298 PRG:4298 D0 58 + lda EnemyIndex,x ; CPU:$C29A PRG:429A B5 87 cmp #$0A ; CPU:$C29C PRG:429C C9 0A - bcs NmiHandler_Loop322 ; CPU:$C29E PRG:429E B0 0A + bcs NmiHandler_Loop446 ; CPU:$C29E PRG:429E B0 0A cmp #$02 ; CPU:$C2A0 PRG:42A0 C9 02 - beq NmiHandler_Loop322 ; CPU:$C2A2 PRG:42A2 F0 06 + beq NmiHandler_Loop446 ; CPU:$C2A2 PRG:42A2 F0 06 lda ZpFD ; CPU:$C2A4 PRG:42A4 A5 FD ora #$04 ; CPU:$C2A6 PRG:42A6 09 04 sta ZpFD ; CPU:$C2A8 PRG:42A8 85 FD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop322 -; Global: Branch target inside NmiHandler: taken when Loop322. +; Routine: NmiHandler_Loop446 +; Global: Branch target inside NmiHandler: taken when Loop446. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop322: +NmiHandler_Loop446: lda $04B6 ; CPU:$C2AA PRG:42AA AD B6 04 - beq NmiHandler_Loop323 ; CPU:$C2AD PRG:42AD F0 03 + beq NmiHandler_Loop447 ; CPU:$C2AD PRG:42AD F0 03 inc $0386 ; CPU:$C2AF PRG:42AF EE 86 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop323 -; Global: Branch target inside NmiHandler: taken when Loop323. +; Routine: NmiHandler_Loop447 +; Global: Branch target inside NmiHandler: taken when Loop447. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop323: +NmiHandler_Loop447: lda $0386 ; CPU:$C2B2 PRG:42B2 AD 86 03 sta $04D5,x ; CPU:$C2B5 PRG:42B5 9D D5 04 - lda Zp87,x ; CPU:$C2B8 PRG:42B8 B5 87 + lda EnemyIndex,x ; CPU:$C2B8 PRG:42B8 B5 87 cmp #$0A ; CPU:$C2BA PRG:42BA C9 0A - bcs NmiHandler_Loop325 ; CPU:$C2BC PRG:42BC B0 31 - lda ZpC0,x ; CPU:$C2BE PRG:42BE B5 C0 + bcs NmiHandler_Loop449 ; CPU:$C2BC PRG:42BC B0 31 + lda GameState,x ; CPU:$C2BE PRG:42BE B5 C0 and #$01 ; CPU:$C2C0 PRG:42C0 29 01 - bne NmiHandler_Loop324 ; CPU:$C2C2 PRG:42C2 D0 02 + bne NmiHandler_Loop448 ; CPU:$C2C2 PRG:42C2 D0 02 lda #$F8 ; CPU:$C2C4 PRG:42C4 A9 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop324 -; Global: Branch target inside NmiHandler: taken when Loop324. +; Routine: NmiHandler_Loop448 +; Global: Branch target inside NmiHandler: taken when Loop448. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop324: +NmiHandler_Loop448: clc ; CPU:$C2C6 PRG:42C6 18 adc Zp8E,x ; CPU:$C2C7 PRG:42C7 75 8E - sta Zp01 ; CPU:$C2C9 PRG:42C9 85 01 + sta VramWritePtrHi ; CPU:$C2C9 PRG:42C9 85 01 ldy $0379 ; CPU:$C2CB PRG:42CB AC 79 03 lda $BC24,y ; CPU:$C2CE PRG:42CE B9 24 BC - sta Zp00 ; CPU:$C2D1 PRG:42D1 85 00 + sta VramWritePtrLo ; CPU:$C2D1 PRG:42D1 85 00 jsr Sub_C01F ; CPU:$C2D3 PRG:42D3 20 1F C0 sta $0490,x ; CPU:$C2D6 PRG:42D6 9D 90 04 sta $04B6 ; CPU:$C2D9 PRG:42D9 8D B6 04 @@ -9144,29 +11900,29 @@ NmiHandler_Loop324: sta $04A8,x ; CPU:$C2E3 PRG:42E3 9D A8 04 lda Zp8E,x ; CPU:$C2E6 PRG:42E6 B5 8E cmp Zp94 ; CPU:$C2E8 PRG:42E8 C5 94 - bcc NmiHandler_Loop325 ; CPU:$C2EA PRG:42EA 90 03 + bcc NmiHandler_Loop449 ; CPU:$C2EA PRG:42EA 90 03 dec $04A8,x ; CPU:$C2EC PRG:42EC DE A8 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop325 -; Global: Branch target inside NmiHandler: taken when Loop325. +; Routine: NmiHandler_Loop449 +; Global: Branch target inside NmiHandler: taken when Loop449. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop325: +NmiHandler_Loop449: jsr Sub_C462 ; CPU:$C2EF PRG:42EF 20 62 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop326 -; Global: Branch target inside NmiHandler: taken when Loop326. +; Routine: NmiHandler_Loop450 +; Global: Branch target inside NmiHandler: taken when Loop450. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop326: +NmiHandler_Loop450: dex ; CPU:$C2F2 PRG:42F2 CA - bmi NmiHandler_Loop327 ; CPU:$C2F3 PRG:42F3 30 11 + bmi NmiHandler_Loop451 ; CPU:$C2F3 PRG:42F3 30 11 jmp Sub_C226 ; CPU:$C2F5 PRG:42F5 4C 26 C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_C2F8 @@ -9177,73 +11933,73 @@ NmiHandler_Loop326: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C2F8: - lda Zp87,x ; CPU:$C2F8 PRG:42F8 B5 87 + lda EnemyIndex,x ; CPU:$C2F8 PRG:42F8 B5 87 cmp #$0A ; CPU:$C2FA PRG:42FA C9 0A - bcs NmiHandler_Loop328 ; CPU:$C2FC PRG:42FC B0 09 + bcs NmiHandler_Loop452 ; CPU:$C2FC PRG:42FC B0 09 cmp #$08 ; CPU:$C2FE PRG:42FE C9 08 - beq NmiHandler_Loop327 ; CPU:$C300 PRG:4300 F0 04 + beq NmiHandler_Loop451 ; CPU:$C300 PRG:4300 F0 04 lda #$01 ; CPU:$C302 PRG:4302 A9 01 sta ZpFC ; CPU:$C304 PRG:4304 85 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop327 -; Global: Branch target inside NmiHandler: taken when Loop327. +; Routine: NmiHandler_Loop451 +; Global: Branch target inside NmiHandler: taken when Loop451. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop327: +NmiHandler_Loop451: rts ; CPU:$C306 PRG:4306 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop328 -; Global: Branch target inside NmiHandler: taken when Loop328. +; Routine: NmiHandler_Loop452 +; Global: Branch target inside NmiHandler: taken when Loop452. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop328: +NmiHandler_Loop452: cmp #$0E ; CPU:$C307 PRG:4307 C9 0E - bcs NmiHandler_Loop329 ; CPU:$C309 PRG:4309 B0 05 + bcs NmiHandler_Loop453 ; CPU:$C309 PRG:4309 B0 05 lda #$01 ; CPU:$C30B PRG:430B A9 01 sta ZpFF ; CPU:$C30D PRG:430D 85 FF rts ; CPU:$C30F PRG:430F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop329 -; Global: Branch target inside NmiHandler: taken when Loop329. +; Routine: NmiHandler_Loop453 +; Global: Branch target inside NmiHandler: taken when Loop453. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop329: +NmiHandler_Loop453: cmp #$0F ; CPU:$C310 PRG:4310 C9 0F - bne NmiHandler_Loop330 ; CPU:$C312 PRG:4312 D0 05 + bne NmiHandler_Loop454 ; CPU:$C312 PRG:4312 D0 05 lda #$02 ; CPU:$C314 PRG:4314 A9 02 sta ZpFF ; CPU:$C316 PRG:4316 85 FF rts ; CPU:$C318 PRG:4318 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop330 -; Global: Branch target inside NmiHandler: taken when Loop330. +; Routine: NmiHandler_Loop454 +; Global: Branch target inside NmiHandler: taken when Loop454. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop330: +NmiHandler_Loop454: cmp #$11 ; CPU:$C319 PRG:4319 C9 11 - bne NmiHandler_Loop331 ; CPU:$C31B PRG:431B D0 04 + bne NmiHandler_Loop455 ; CPU:$C31B PRG:431B D0 04 lda #$01 ; CPU:$C31D PRG:431D A9 01 sta ZpFF ; CPU:$C31F PRG:431F 85 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop331 -; Global: Branch target inside NmiHandler: taken when Loop331. +; Routine: NmiHandler_Loop455 +; Global: Branch target inside NmiHandler: taken when Loop455. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop331: +NmiHandler_Loop455: rts ; CPU:$C321 PRG:4321 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C322 @@ -9254,10 +12010,10 @@ NmiHandler_Loop331: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C322: - lda Zp87,x ; CPU:$C322 PRG:4322 B5 87 + lda EnemyIndex,x ; CPU:$C322 PRG:4322 B5 87 tay ; CPU:$C324 PRG:4324 A8 lda $BC58,y ; CPU:$C325 PRG:4325 B9 58 BC - sta Zp00 ; CPU:$C328 PRG:4328 85 00 + sta VramWritePtrLo ; CPU:$C328 PRG:4328 85 00 clc ; CPU:$C32A PRG:432A 18 adc $0379 ; CPU:$C32B PRG:432B 6D 79 03 tay ; CPU:$C32E PRG:432E A8 @@ -9273,63 +12029,63 @@ Sub_C322: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C336: - lda Zp87,x ; CPU:$C336 PRG:4336 B5 87 + lda EnemyIndex,x ; CPU:$C336 PRG:4336 B5 87 cmp #$0A ; CPU:$C338 PRG:4338 C9 0A - bcs NmiHandler_Loop332 ; CPU:$C33A PRG:433A B0 01 + bcs NmiHandler_Loop456 ; CPU:$C33A PRG:433A B0 01 rts ; CPU:$C33C PRG:433C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop332 -; Global: Branch target inside NmiHandler: taken when Loop332. +; Routine: NmiHandler_Loop456 +; Global: Branch target inside NmiHandler: taken when Loop456. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop332: +NmiHandler_Loop456: lda #$00 ; CPU:$C33D PRG:433D A9 00 sta $04B5 ; CPU:$C33F PRG:433F 8D B5 04 stx Zp0A ; CPU:$C342 PRG:4342 86 0A ldx #$00 ; CPU:$C344 PRG:4344 A2 00 jsr Sub_C0B6 ; CPU:$C346 PRG:4346 20 B6 C0 ldx Zp0A ; CPU:$C349 PRG:4349 A6 0A - lda Zp9F,x ; CPU:$C34B PRG:434B B5 9F + lda GameMode,x ; CPU:$C34B PRG:434B B5 9F cmp #$01 ; CPU:$C34D PRG:434D C9 01 - bne NmiHandler_OnZero8 ; CPU:$C34F PRG:434F D0 04 - lda Zp80,x ; CPU:$C351 PRG:4351 B5 80 - bne NmiHandler_Loop333 ; CPU:$C353 PRG:4353 D0 03 + bne NmiHandler_OnZero9 ; CPU:$C34F PRG:434F D0 04 + lda SpriteTimer,x ; CPU:$C351 PRG:4351 B5 80 + bne NmiHandler_Loop457 ; CPU:$C353 PRG:4353 D0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero8 -; Global: Branch target inside NmiHandler: taken when OnZero8. +; Routine: NmiHandler_OnZero9 +; Global: Branch target inside NmiHandler: taken when OnZero9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero8: +NmiHandler_OnZero9: jmp Sub_C429 ; CPU:$C355 PRG:4355 4C 29 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop333 -; Global: Branch target inside NmiHandler: taken when Loop333. +; Routine: NmiHandler_Loop457 +; Global: Branch target inside NmiHandler: taken when Loop457. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop333: - lda Zp87,x ; CPU:$C358 PRG:4358 B5 87 +NmiHandler_Loop457: + lda EnemyIndex,x ; CPU:$C358 PRG:4358 B5 87 cmp #$0E ; CPU:$C35A PRG:435A C9 0E - bne NmiHandler_Loop334 ; CPU:$C35C PRG:435C D0 06 + bne NmiHandler_Loop458 ; CPU:$C35C PRG:435C D0 06 jsr Sub_C433 ; CPU:$C35E PRG:435E 20 33 C4 jmp Sub_C36B ; CPU:$C361 PRG:4361 4C 6B C3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop334 -; Global: Branch target inside NmiHandler: taken when Loop334. +; Routine: NmiHandler_Loop458 +; Global: Branch target inside NmiHandler: taken when Loop458. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop334: +NmiHandler_Loop458: lda #$04 ; CPU:$C364 PRG:4364 A9 04 sta Zp0F ; CPU:$C366 PRG:4366 85 0F jsr Sub_C125 ; CPU:$C368 PRG:4368 20 25 C1 @@ -9343,160 +12099,160 @@ NmiHandler_Loop334: ; ----------------------------------------------------------------------------- Sub_C36B: jsr Sub_C0F3 ; CPU:$C36B PRG:436B 20 F3 C0 - beq NmiHandler_OnZero8 ; CPU:$C36E PRG:436E F0 E5 - lda Zp87,x ; CPU:$C370 PRG:4370 B5 87 + beq NmiHandler_OnZero9 ; CPU:$C36E PRG:436E F0 E5 + lda EnemyIndex,x ; CPU:$C370 PRG:4370 B5 87 cmp #$10 ; CPU:$C372 PRG:4372 C9 10 - bne NmiHandler_Loop335 ; CPU:$C374 PRG:4374 D0 06 - lda Zp69 ; CPU:$C376 PRG:4376 A5 69 + bne NmiHandler_Loop459 ; CPU:$C374 PRG:4374 D0 06 + lda PlayerIndex ; CPU:$C376 PRG:4376 A5 69 and #$04 ; CPU:$C378 PRG:4378 29 04 - bne NmiHandler_Loop337 ; CPU:$C37A PRG:437A D0 12 + bne NmiHandler_Loop461 ; CPU:$C37A PRG:437A D0 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop335 -; Global: Branch target inside NmiHandler: taken when Loop335. +; Routine: NmiHandler_Loop459 +; Global: Branch target inside NmiHandler: taken when Loop459. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop335: +NmiHandler_Loop459: cmp #$0A ; CPU:$C37C PRG:437C C9 0A - bne NmiHandler_Loop336 ; CPU:$C37E PRG:437E D0 09 - lda Zp80,x ; CPU:$C380 PRG:4380 B5 80 + bne NmiHandler_Loop460 ; CPU:$C37E PRG:437E D0 09 + lda SpriteTimer,x ; CPU:$C380 PRG:4380 B5 80 and #$02 ; CPU:$C382 PRG:4382 29 02 - beq NmiHandler_Loop336 ; CPU:$C384 PRG:4384 F0 03 + beq NmiHandler_Loop460 ; CPU:$C384 PRG:4384 F0 03 jmp Sub_C432 ; CPU:$C386 PRG:4386 4C 32 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop336 -; Global: Branch target inside NmiHandler: taken when Loop336. +; Routine: NmiHandler_Loop460 +; Global: Branch target inside NmiHandler: taken when Loop460. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop336: +NmiHandler_Loop460: lda $04B0,x ; CPU:$C389 PRG:4389 BD B0 04 - beq NmiHandler_Loop338 ; CPU:$C38C PRG:438C F0 03 + beq NmiHandler_Loop462 ; CPU:$C38C PRG:438C F0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop337 -; Global: Branch target inside NmiHandler: taken when Loop337. +; Routine: NmiHandler_Loop461 +; Global: Branch target inside NmiHandler: taken when Loop461. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop337: +NmiHandler_Loop461: jmp Sub_C432 ; CPU:$C38E PRG:438E 4C 32 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop338 -; Global: Branch target inside NmiHandler: taken when Loop338. +; Routine: NmiHandler_Loop462 +; Global: Branch target inside NmiHandler: taken when Loop462. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop338: - lda Zp87,x ; CPU:$C391 PRG:4391 B5 87 +NmiHandler_Loop462: + lda EnemyIndex,x ; CPU:$C391 PRG:4391 B5 87 tay ; CPU:$C393 PRG:4393 A8 cmp #$10 ; CPU:$C394 PRG:4394 C9 10 - beq NmiHandler_Loop339 ; CPU:$C396 PRG:4396 F0 04 + beq NmiHandler_Loop463 ; CPU:$C396 PRG:4396 F0 04 cmp #$0A ; CPU:$C398 PRG:4398 C9 0A - bne NmiHandler_Loop340 ; CPU:$C39A PRG:439A D0 06 + bne NmiHandler_Loop464 ; CPU:$C39A PRG:439A D0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop339 -; Global: Branch target inside NmiHandler: taken when Loop339. +; Routine: NmiHandler_Loop463 +; Global: Branch target inside NmiHandler: taken when Loop463. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop339: +NmiHandler_Loop463: lda #$04 ; CPU:$C39C PRG:439C A9 04 sta ZpFF ; CPU:$C39E PRG:439E 85 FF - bne NmiHandler_Loop344 ; CPU:$C3A0 PRG:43A0 D0 20 + bne NmiHandler_Loop468 ; CPU:$C3A0 PRG:43A0 D0 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop340 -; Global: Branch target inside NmiHandler: taken when Loop340. +; Routine: NmiHandler_Loop464 +; Global: Branch target inside NmiHandler: taken when Loop464. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop340: +NmiHandler_Loop464: cmp #$0C ; CPU:$C3A2 PRG:43A2 C9 0C - beq NmiHandler_Loop341 ; CPU:$C3A4 PRG:43A4 F0 04 + beq NmiHandler_Loop465 ; CPU:$C3A4 PRG:43A4 F0 04 cmp #$0D ; CPU:$C3A6 PRG:43A6 C9 0D - bne NmiHandler_Loop342 ; CPU:$C3A8 PRG:43A8 D0 06 + bne NmiHandler_Loop466 ; CPU:$C3A8 PRG:43A8 D0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop341 -; Global: Branch target inside NmiHandler: taken when Loop341. +; Routine: NmiHandler_Loop465 +; Global: Branch target inside NmiHandler: taken when Loop465. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop341: +NmiHandler_Loop465: lda #$01 ; CPU:$C3AA PRG:43AA A9 01 sta ZpFC ; CPU:$C3AC PRG:43AC 85 FC - bne NmiHandler_Loop344 ; CPU:$C3AE PRG:43AE D0 12 + bne NmiHandler_Loop468 ; CPU:$C3AE PRG:43AE D0 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop342 -; Global: Branch target inside NmiHandler: taken when Loop342. +; Routine: NmiHandler_Loop466 +; Global: Branch target inside NmiHandler: taken when Loop466. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop342: +NmiHandler_Loop466: cmp #$0F ; CPU:$C3B0 PRG:43B0 C9 0F - bne NmiHandler_Loop343 ; CPU:$C3B2 PRG:43B2 D0 06 + bne NmiHandler_Loop467 ; CPU:$C3B2 PRG:43B2 D0 06 lda #$02 ; CPU:$C3B4 PRG:43B4 A9 02 sta ZpFF ; CPU:$C3B6 PRG:43B6 85 FF - bne NmiHandler_Loop344 ; CPU:$C3B8 PRG:43B8 D0 08 + bne NmiHandler_Loop468 ; CPU:$C3B8 PRG:43B8 D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop343 -; Global: Branch target inside NmiHandler: taken when Loop343. +; Routine: NmiHandler_Loop467 +; Global: Branch target inside NmiHandler: taken when Loop467. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop343: +NmiHandler_Loop467: cmp #$11 ; CPU:$C3BA PRG:43BA C9 11 - bne NmiHandler_Loop344 ; CPU:$C3BC PRG:43BC D0 04 + bne NmiHandler_Loop468 ; CPU:$C3BC PRG:43BC D0 04 lda #$01 ; CPU:$C3BE PRG:43BE A9 01 sta ZpFC ; CPU:$C3C0 PRG:43C0 85 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop344 -; Global: Branch target inside NmiHandler: taken when Loop344. +; Routine: NmiHandler_Loop468 +; Global: Branch target inside NmiHandler: taken when Loop468. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop344: +NmiHandler_Loop468: lda Zp53 ; CPU:$C3C2 PRG:43C2 A5 53 - bne NmiHandler_Loop345 ; CPU:$C3C4 PRG:43C4 D0 05 + bne NmiHandler_Loop469 ; CPU:$C3C4 PRG:43C4 D0 05 tya ; CPU:$C3C6 PRG:43C6 98 clc ; CPU:$C3C7 PRG:43C7 18 adc #$12 ; CPU:$C3C8 PRG:43C8 69 12 tay ; CPU:$C3CA PRG:43CA A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop345 -; Global: Branch target inside NmiHandler: taken when Loop345. +; Routine: NmiHandler_Loop469 +; Global: Branch target inside NmiHandler: taken when Loop469. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop345: +NmiHandler_Loop469: lda $BC34,y ; CPU:$C3CB PRG:43CB B9 34 BC sta $037A ; CPU:$C3CE PRG:43CE 8D 7A 03 - lda ZpB0,x ; CPU:$C3D1 PRG:43D1 B5 B0 + lda PlayerX,x ; CPU:$C3D1 PRG:43D1 B5 B0 clc ; CPU:$C3D3 PRG:43D3 18 adc #$04 ; CPU:$C3D4 PRG:43D4 69 04 - sta Zp00 ; CPU:$C3D6 PRG:43D6 85 00 + sta VramWritePtrLo ; CPU:$C3D6 PRG:43D6 85 00 lda Zp94 ; CPU:$C3D8 PRG:43D8 A5 94 - sta Zp01 ; CPU:$C3DA PRG:43DA 85 01 + sta VramWritePtrHi ; CPU:$C3DA PRG:43DA 85 01 jsr Sub_C01F ; CPU:$C3DC PRG:43DC 20 1F C0 sta $0496 ; CPU:$C3DF PRG:43DF 8D 96 04 sta $04B0,x ; CPU:$C3E2 PRG:43E2 9D B0 04 @@ -9505,67 +12261,67 @@ NmiHandler_Loop345: lda #$01 ; CPU:$C3E8 PRG:43E8 A9 01 sta $03C9,y ; CPU:$C3EA PRG:43EA 99 C9 03 stx Zp0A ; CPU:$C3ED PRG:43ED 86 0A - lda Zp5F ; CPU:$C3EF PRG:43EF A5 5F + lda SpriteIndex ; CPU:$C3EF PRG:43EF A5 5F cmp #$03 ; CPU:$C3F1 PRG:43F1 C9 03 - bne NmiHandler_Loop347 ; CPU:$C3F3 PRG:43F3 D0 13 - lda Zp87,x ; CPU:$C3F5 PRG:43F5 B5 87 + bne NmiHandler_Loop471 ; CPU:$C3F3 PRG:43F3 D0 13 + lda EnemyIndex,x ; CPU:$C3F5 PRG:43F5 B5 87 cmp #$0B ; CPU:$C3F7 PRG:43F7 C9 0B - beq NmiHandler_Loop346 ; CPU:$C3F9 PRG:43F9 F0 08 + beq NmiHandler_Loop470 ; CPU:$C3F9 PRG:43F9 F0 08 cmp #$0E ; CPU:$C3FB PRG:43FB C9 0E - beq NmiHandler_Loop346 ; CPU:$C3FD PRG:43FD F0 04 + beq NmiHandler_Loop470 ; CPU:$C3FD PRG:43FD F0 04 cmp #$10 ; CPU:$C3FF PRG:43FF C9 10 - bcc NmiHandler_Loop347 ; CPU:$C401 PRG:4401 90 05 + bcc NmiHandler_Loop471 ; CPU:$C401 PRG:4401 90 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop346 -; Global: Branch target inside NmiHandler: taken when Loop346. +; Routine: NmiHandler_Loop470 +; Global: Branch target inside NmiHandler: taken when Loop470. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop346: +NmiHandler_Loop470: lda #$01 ; CPU:$C403 PRG:4403 A9 01 sta $04B5 ; CPU:$C405 PRG:4405 8D B5 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop347 -; Global: Branch target inside NmiHandler: taken when Loop347. +; Routine: NmiHandler_Loop471 +; Global: Branch target inside NmiHandler: taken when Loop471. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop347: +NmiHandler_Loop471: ldx #$06 ; CPU:$C408 PRG:4408 A2 06 jsr Sub_C462 ; CPU:$C40A PRG:440A 20 62 C4 ldx Zp0A ; CPU:$C40D PRG:440D A6 0A - lda Zp87,x ; CPU:$C40F PRG:440F B5 87 + lda EnemyIndex,x ; CPU:$C40F PRG:440F B5 87 cmp #$0E ; CPU:$C411 PRG:4411 C9 0E - bcs NmiHandler_Loop348 ; CPU:$C413 PRG:4413 B0 09 + bcs NmiHandler_Loop472 ; CPU:$C413 PRG:4413 B0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero9 -; Global: Branch target inside NmiHandler: taken when OnZero9. +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero9: +NmiHandler_OnZero10: jsr Sub_B8CD ; CPU:$C415 PRG:4415 20 CD B8 jsr Sub_B243 ; CPU:$C418 PRG:4418 20 43 B2 jmp Sub_C429 ; CPU:$C41B PRG:441B 4C 29 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop348 -; Global: Branch target inside NmiHandler: taken when Loop348. +; Routine: NmiHandler_Loop472 +; Global: Branch target inside NmiHandler: taken when Loop472. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop348: +NmiHandler_Loop472: cmp #$0F ; CPU:$C41E PRG:441E C9 0F - beq NmiHandler_OnZero9 ; CPU:$C420 PRG:4420 F0 F3 + beq NmiHandler_OnZero10 ; CPU:$C420 PRG:4420 F0 F3 cmp #$11 ; CPU:$C422 PRG:4422 C9 11 - beq NmiHandler_OnZero9 ; CPU:$C424 PRG:4424 F0 EF + beq NmiHandler_OnZero10 ; CPU:$C424 PRG:4424 F0 EF jmp Sub_C430 ; CPU:$C426 PRG:4426 4C 30 C4 ; ----------------------------------------------------------------------------- ; Routine: Sub_C429 @@ -9610,10 +12366,10 @@ Sub_C432: Sub_C433: lda $04B8,x ; CPU:$C433 PRG:4433 BD B8 04 cmp #$03 ; CPU:$C436 PRG:4436 C9 03 - bne NmiHandler_Loop349 ; CPU:$C438 PRG:4438 D0 21 + bne NmiHandler_Loop473 ; CPU:$C438 PRG:4438 D0 21 lda ZpC7,x ; CPU:$C43A PRG:443A B5 C7 - beq NmiHandler_Loop349 ; CPU:$C43C PRG:443C F0 1D - ldy ZpC0,x ; CPU:$C43E PRG:443E B4 C0 + beq NmiHandler_Loop473 ; CPU:$C43C PRG:443C F0 1D + ldy GameState,x ; CPU:$C43E PRG:443E B4 C0 lda $BD76,y ; CPU:$C440 PRG:4440 B9 76 BD clc ; CPU:$C443 PRG:4443 18 adc Zp8E,x ; CPU:$C444 PRG:4444 75 8E @@ -9628,14 +12384,14 @@ Sub_C433: sta Zp07 ; CPU:$C458 PRG:4458 85 07 rts ; CPU:$C45A PRG:445A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop349 -; Global: Branch target inside NmiHandler: taken when Loop349. +; Routine: NmiHandler_Loop473 +; Global: Branch target inside NmiHandler: taken when Loop473. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop349: +NmiHandler_Loop473: lda #$00 ; CPU:$C45B PRG:445B A9 00 sta Zp04 ; CPU:$C45D PRG:445D 85 04 sta Zp06 ; CPU:$C45F PRG:445F 85 06 @@ -9650,111 +12406,111 @@ NmiHandler_Loop349: ; ----------------------------------------------------------------------------- Sub_C462: lda $04A0,x ; CPU:$C462 PRG:4462 BD A0 04 - bpl NmiHandler_Loop350 ; CPU:$C465 PRG:4465 10 03 + bpl NmiHandler_Loop474 ; CPU:$C465 PRG:4465 10 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear4 -; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear4: - jmp NmiHandler_Loop360 ; CPU:$C467 PRG:4467 4C 41 C5 +NmiHandler_OnCarryClear6: + jmp NmiHandler_Loop484 ; CPU:$C467 PRG:4467 4C 41 C5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop350 -; Global: Branch target inside NmiHandler: taken when Loop350. +; Routine: NmiHandler_Loop474 +; Global: Branch target inside NmiHandler: taken when Loop474. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop350: +NmiHandler_Loop474: lda #$FF ; CPU:$C46A PRG:446A A9 FF sta $04C0,x ; CPU:$C46C PRG:446C 9D C0 04 lda $04A0,x ; CPU:$C46F PRG:446F BD A0 04 sec ; CPU:$C472 PRG:4472 38 sbc $037A ; CPU:$C473 PRG:4473 ED 7A 03 sta $04A0,x ; CPU:$C476 PRG:4476 9D A0 04 - bmi NmiHandler_Loop351 ; CPU:$C479 PRG:4479 30 1C + bmi NmiHandler_Loop475 ; CPU:$C479 PRG:4479 30 1C cpx #$06 ; CPU:$C47B PRG:447B E0 06 - bne NmiHandler_OnCarryClear4 ; CPU:$C47D PRG:447D D0 E8 - lda Zp69 ; CPU:$C47F PRG:447F A5 69 + bne NmiHandler_OnCarryClear6 ; CPU:$C47D PRG:447D D0 E8 + lda PlayerIndex ; CPU:$C47F PRG:447F A5 69 and #$04 ; CPU:$C481 PRG:4481 29 04 - beq NmiHandler_OnCarryClear4 ; CPU:$C483 PRG:4483 F0 E2 + beq NmiHandler_OnCarryClear6 ; CPU:$C483 PRG:4483 F0 E2 ldy Zp68 ; CPU:$C485 PRG:4485 A4 68 cpy #$04 ; CPU:$C487 PRG:4487 C0 04 - bcc NmiHandler_OnCarryClear4 ; CPU:$C489 PRG:4489 90 DC + bcc NmiHandler_OnCarryClear6 ; CPU:$C489 PRG:4489 90 DC lda $BDB5,y ; CPU:$C48B PRG:448B B9 B5 BD sta Zp68 ; CPU:$C48E PRG:448E 85 68 lda #$00 ; CPU:$C490 PRG:4490 A9 00 sta Zp21 ; CPU:$C492 PRG:4492 85 21 - jmp NmiHandler_Loop360 ; CPU:$C494 PRG:4494 4C 41 C5 + jmp NmiHandler_Loop484 ; CPU:$C494 PRG:4494 4C 41 C5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop351 -; Global: Branch target inside NmiHandler: taken when Loop351. +; Routine: NmiHandler_Loop475 +; Global: Branch target inside NmiHandler: taken when Loop475. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop351: - lda Zp87,x ; CPU:$C497 PRG:4497 B5 87 +NmiHandler_Loop475: + lda EnemyIndex,x ; CPU:$C497 PRG:4497 B5 87 cmp #$0E ; CPU:$C499 PRG:4499 C9 0E - bne NmiHandler_Loop352 ; CPU:$C49B PRG:449B D0 06 + bne NmiHandler_Loop476 ; CPU:$C49B PRG:449B D0 06 lda #$01 ; CPU:$C49D PRG:449D A9 01 sta ZpFF ; CPU:$C49F PRG:449F 85 FF - bne NmiHandler_Loop353 ; CPU:$C4A1 PRG:44A1 D0 08 + bne NmiHandler_Loop477 ; CPU:$C4A1 PRG:44A1 D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop352 -; Global: Branch target inside NmiHandler: taken when Loop352. +; Routine: NmiHandler_Loop476 +; Global: Branch target inside NmiHandler: taken when Loop476. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop352: +NmiHandler_Loop476: cmp #$0F ; CPU:$C4A3 PRG:44A3 C9 0F - bne NmiHandler_Loop353 ; CPU:$C4A5 PRG:44A5 D0 04 + bne NmiHandler_Loop477 ; CPU:$C4A5 PRG:44A5 D0 04 lda #$02 ; CPU:$C4A7 PRG:44A7 A9 02 sta ZpFF ; CPU:$C4A9 PRG:44A9 85 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop353 -; Global: Branch target inside NmiHandler: taken when Loop353. +; Routine: NmiHandler_Loop477 +; Global: Branch target inside NmiHandler: taken when Loop477. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop353: +NmiHandler_Loop477: jsr Sub_C547 ; CPU:$C4AB PRG:44AB 20 47 C5 cpx #$05 ; CPU:$C4AE PRG:44AE E0 05 - bcc NmiHandler_OnCarryClear4 ; CPU:$C4B0 PRG:44B0 90 B5 - bne NmiHandler_Loop356 ; CPU:$C4B2 PRG:44B2 D0 31 + bcc NmiHandler_OnCarryClear6 ; CPU:$C4B0 PRG:44B0 90 B5 + bne NmiHandler_Loop480 ; CPU:$C4B2 PRG:44B2 D0 31 lda #$00 ; CPU:$C4B4 PRG:44B4 A9 00 sta Zp7A ; CPU:$C4B6 PRG:44B6 85 7A sta Zp7B ; CPU:$C4B8 PRG:44B8 85 7B lda #$08 ; CPU:$C4BA PRG:44BA A9 08 sta ZpFD ; CPU:$C4BC PRG:44BC 85 FD - lda Zp87,x ; CPU:$C4BE PRG:44BE B5 87 + lda EnemyIndex,x ; CPU:$C4BE PRG:44BE B5 87 cmp #$06 ; CPU:$C4C0 PRG:44C0 C9 06 - beq NmiHandler_Loop354 ; CPU:$C4C2 PRG:44C2 F0 0A + beq NmiHandler_Loop478 ; CPU:$C4C2 PRG:44C2 F0 0A cmp #$07 ; CPU:$C4C4 PRG:44C4 C9 07 - bne NmiHandler_Loop355 ; CPU:$C4C6 PRG:44C6 D0 1A + bne NmiHandler_Loop479 ; CPU:$C4C6 PRG:44C6 D0 1A lda #$05 ; CPU:$C4C8 PRG:44C8 A9 05 sta Zp52 ; CPU:$C4CA PRG:44CA 85 52 - bne NmiHandler_Loop355 ; CPU:$C4CC PRG:44CC D0 14 + bne NmiHandler_Loop479 ; CPU:$C4CC PRG:44CC D0 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop354 -; Global: Branch target inside NmiHandler: taken when Loop354. +; Routine: NmiHandler_Loop478 +; Global: Branch target inside NmiHandler: taken when Loop478. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop354: +NmiHandler_Loop478: lda $039B ; CPU:$C4CE PRG:44CE AD 9B 03 - beq NmiHandler_Loop360 ; CPU:$C4D1 PRG:44D1 F0 6E + beq NmiHandler_Loop484 ; CPU:$C4D1 PRG:44D1 F0 6E stx Zp0F ; CPU:$C4D3 PRG:44D3 86 0F lda #$00 ; CPU:$C4D5 PRG:44D5 A9 00 sta $039B ; CPU:$C4D7 PRG:44D7 8D 9B 03 @@ -9762,41 +12518,41 @@ NmiHandler_Loop354: jsr Sub_B243 ; CPU:$C4DD PRG:44DD 20 43 B2 ldx Zp0F ; CPU:$C4E0 PRG:44E0 A6 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop355 -; Global: Branch target inside NmiHandler: taken when Loop355. +; Routine: NmiHandler_Loop479 +; Global: Branch target inside NmiHandler: taken when Loop479. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop355: - jmp NmiHandler_Loop360 ; CPU:$C4E2 PRG:44E2 4C 41 C5 +NmiHandler_Loop479: + jmp NmiHandler_Loop484 ; CPU:$C4E2 PRG:44E2 4C 41 C5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop356 -; Global: Branch target inside NmiHandler: taken when Loop356. +; Routine: NmiHandler_Loop480 +; Global: Branch target inside NmiHandler: taken when Loop480. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop356: +NmiHandler_Loop480: lda Zp6C ; CPU:$C4E5 PRG:44E5 A5 6C cmp #$02 ; CPU:$C4E7 PRG:44E7 C9 02 - beq NmiHandler_Loop360 ; CPU:$C4E9 PRG:44E9 F0 56 - ldy Zp5F ; CPU:$C4EB PRG:44EB A4 5F + beq NmiHandler_Loop484 ; CPU:$C4E9 PRG:44E9 F0 56 + ldy SpriteIndex ; CPU:$C4EB PRG:44EB A4 5F lda $04B5 ; CPU:$C4ED PRG:44ED AD B5 04 - beq NmiHandler_Loop357 ; CPU:$C4F0 PRG:44F0 F0 06 + beq NmiHandler_Loop481 ; CPU:$C4F0 PRG:44F0 F0 06 lda $BDB0,y ; CPU:$C4F2 PRG:44F2 B9 B0 BD sta $048F ; CPU:$C4F5 PRG:44F5 8D 8F 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop357 -; Global: Branch target inside NmiHandler: taken when Loop357. +; Routine: NmiHandler_Loop481 +; Global: Branch target inside NmiHandler: taken when Loop481. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop357: +NmiHandler_Loop481: lda #$08 ; CPU:$C4F8 PRG:44F8 A9 08 sta ZpFD ; CPU:$C4FA PRG:44FA 85 FD lsr a ; CPU:$C4FC PRG:44FC 4A @@ -9804,44 +12560,44 @@ NmiHandler_Loop357: sta ZpBD ; CPU:$C4FF PRG:44FF 85 BD ldy #$04 ; CPU:$C501 PRG:4501 A0 04 lda #$01 ; CPU:$C503 PRG:4503 A9 01 - sta Zp86 ; CPU:$C505 PRG:4505 85 86 - lda Zp69 ; CPU:$C507 PRG:4507 A5 69 + sta PpuMaskShadow ; CPU:$C505 PRG:4505 85 86 + lda PlayerIndex ; CPU:$C507 PRG:4507 A5 69 and #$01 ; CPU:$C509 PRG:4509 29 01 sta $04AE ; CPU:$C50B PRG:450B 8D AE 04 - beq NmiHandler_Loop358 ; CPU:$C50E PRG:450E F0 07 + beq NmiHandler_Loop482 ; CPU:$C50E PRG:450E F0 07 tya ; CPU:$C510 PRG:4510 98 eor #$FF ; CPU:$C511 PRG:4511 49 FF tay ; CPU:$C513 PRG:4513 A8 iny ; CPU:$C514 PRG:4514 C8 dec ZpE5 ; CPU:$C515 PRG:4515 C6 E5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop358 -; Global: Branch target inside NmiHandler: taken when Loop358. +; Routine: NmiHandler_Loop482 +; Global: Branch target inside NmiHandler: taken when Loop482. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop358: +NmiHandler_Loop482: tya ; CPU:$C517 PRG:4517 98 clc ; CPU:$C518 PRG:4518 18 adc ZpD4 ; CPU:$C519 PRG:4519 65 D4 sta ZpD4 ; CPU:$C51B PRG:451B 85 D4 - bcc NmiHandler_Loop359 ; CPU:$C51D PRG:451D 90 02 + bcc NmiHandler_Loop483 ; CPU:$C51D PRG:451D 90 02 inc ZpE5 ; CPU:$C51F PRG:451F E6 E5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop359 -; Global: Branch target inside NmiHandler: taken when Loop359. +; Routine: NmiHandler_Loop483 +; Global: Branch target inside NmiHandler: taken when Loop483. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop359: - lda ZpB6 ; CPU:$C521 PRG:4521 A5 B6 +NmiHandler_Loop483: + lda SpriteScore ; CPU:$C521 PRG:4521 A5 B6 clc ; CPU:$C523 PRG:4523 18 adc #$08 ; CPU:$C524 PRG:4524 69 08 - sta ZpB6 ; CPU:$C526 PRG:4526 85 B6 + sta SpriteScore ; CPU:$C526 PRG:4526 85 B6 lda #$00 ; CPU:$C528 PRG:4528 A9 00 sta Zp6C ; CPU:$C52A PRG:452A 85 6C lda #$FF ; CPU:$C52C PRG:452C A9 FF @@ -9851,17 +12607,17 @@ NmiHandler_Loop359: lda #$1B ; CPU:$C537 PRG:4537 A9 1B sta Zp52 ; CPU:$C539 PRG:4539 85 52 lda Zp63 ; CPU:$C53B PRG:453B A5 63 - beq NmiHandler_Loop360 ; CPU:$C53D PRG:453D F0 02 + beq NmiHandler_Loop484 ; CPU:$C53D PRG:453D F0 02 inc ZpBD ; CPU:$C53F PRG:453F E6 BD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop360 -; Global: Branch target inside NmiHandler: taken when Loop360. +; Routine: NmiHandler_Loop484 +; Global: Branch target inside NmiHandler: taken when Loop484. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop360: +NmiHandler_Loop484: lda #$00 ; CPU:$C541 PRG:4541 A9 00 sta $037A ; CPU:$C543 PRG:4543 8D 7A 03 rts ; CPU:$C546 PRG:4546 60 @@ -9877,56 +12633,56 @@ Sub_C547: txa ; CPU:$C547 PRG:4547 8A pha ; CPU:$C548 PRG:4548 48 cpx #$06 ; CPU:$C549 PRG:4549 E0 06 - beq NmiHandler_Loop364 ; CPU:$C54B PRG:454B F0 6F + beq NmiHandler_Loop488 ; CPU:$C54B PRG:454B F0 6F inc $03B1 ; CPU:$C54D PRG:454D EE B1 03 - lda Zp87,x ; CPU:$C550 PRG:4550 B5 87 + lda EnemyIndex,x ; CPU:$C550 PRG:4550 B5 87 tay ; CPU:$C552 PRG:4552 A8 lda $BCCB,y ; CPU:$C553 PRG:4553 B9 CB BC - sta Zp00 ; CPU:$C556 PRG:4556 85 00 + sta VramWritePtrLo ; CPU:$C556 PRG:4556 85 00 lda $BCDD,y ; CPU:$C558 PRG:4558 B9 DD BC - sta Zp01 ; CPU:$C55B PRG:455B 85 01 + sta VramWritePtrHi ; CPU:$C55B PRG:455B 85 01 lda $0379 ; CPU:$C55D PRG:455D AD 79 03 tay ; CPU:$C560 PRG:4560 A8 - lda (Zp00),y ; CPU:$C561 PRG:4561 B1 00 + lda (VramWritePtrLo),y ; CPU:$C561 PRG:4561 B1 00 sta Zp04 ; CPU:$C563 PRG:4563 85 04 clc ; CPU:$C565 PRG:4565 18 adc $04D5,x ; CPU:$C566 PRG:4566 7D D5 04 tay ; CPU:$C569 PRG:4569 A8 - lda Zp87,x ; CPU:$C56A PRG:456A B5 87 - bne NmiHandler_Loop361 ; CPU:$C56C PRG:456C D0 17 + lda EnemyIndex,x ; CPU:$C56A PRG:456A B5 87 + bne NmiHandler_Loop485 ; CPU:$C56C PRG:456C D0 17 lda $03B1 ; CPU:$C56E PRG:456E AD B1 03 cmp #$0C ; CPU:$C571 PRG:4571 C9 0C - bne NmiHandler_Loop361 ; CPU:$C573 PRG:4573 D0 10 + bne NmiHandler_Loop485 ; CPU:$C573 PRG:4573 D0 10 lda #$00 ; CPU:$C575 PRG:4575 A9 00 sta $03B1 ; CPU:$C577 PRG:4577 8D B1 03 lda $0379 ; CPU:$C57A PRG:457A AD 79 03 cmp #$05 ; CPU:$C57D PRG:457D C9 05 - bne NmiHandler_Loop361 ; CPU:$C57F PRG:457F D0 04 + bne NmiHandler_Loop485 ; CPU:$C57F PRG:457F D0 04 ldy #$19 ; CPU:$C581 PRG:4581 A0 19 - bne NmiHandler_Loop363 ; CPU:$C583 PRG:4583 D0 15 + bne NmiHandler_Loop487 ; CPU:$C583 PRG:4583 D0 15 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop361 -; Global: Branch target inside NmiHandler: taken when Loop361. +; Routine: NmiHandler_Loop485 +; Global: Branch target inside NmiHandler: taken when Loop485. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop361: - lda Zp87,x ; CPU:$C585 PRG:4585 B5 87 +NmiHandler_Loop485: + lda EnemyIndex,x ; CPU:$C585 PRG:4585 B5 87 cmp #$0D ; CPU:$C587 PRG:4587 C9 0D - beq NmiHandler_Loop362 ; CPU:$C589 PRG:4589 F0 04 + beq NmiHandler_Loop486 ; CPU:$C589 PRG:4589 F0 04 cmp #$0F ; CPU:$C58B PRG:458B C9 0F - bne NmiHandler_Loop363 ; CPU:$C58D PRG:458D D0 0B + bne NmiHandler_Loop487 ; CPU:$C58D PRG:458D D0 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop362 -; Global: Branch target inside NmiHandler: taken when Loop362. +; Routine: NmiHandler_Loop486 +; Global: Branch target inside NmiHandler: taken when Loop486. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop362: +NmiHandler_Loop486: lda Zp1A ; CPU:$C58F PRG:458F A5 1A and #$03 ; CPU:$C591 PRG:4591 29 03 sta Zp0F ; CPU:$C593 PRG:4593 85 0F @@ -9935,14 +12691,14 @@ NmiHandler_Loop362: adc Zp0F ; CPU:$C597 PRG:4597 65 0F tay ; CPU:$C599 PRG:4599 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop363 -; Global: Branch target inside NmiHandler: taken when Loop363. +; Routine: NmiHandler_Loop487 +; Global: Branch target inside NmiHandler: taken when Loop487. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop363: +NmiHandler_Loop487: lda $BD2B,y ; CPU:$C59A PRG:459A B9 2B BD sta Zp06 ; CPU:$C59D PRG:459D 85 06 tay ; CPU:$C59F PRG:459F A8 @@ -9955,26 +12711,26 @@ NmiHandler_Loop363: lsr a ; CPU:$C5AA PRG:45AA 4A tax ; CPU:$C5AB PRG:45AB AA lda $0537 ; CPU:$C5AC PRG:45AC AD 37 05 - bne NmiHandler_Loop364 ; CPU:$C5AF PRG:45AF D0 0B + bne NmiHandler_Loop488 ; CPU:$C5AF PRG:45AF D0 0B lda Zp05 ; CPU:$C5B1 PRG:45B1 A5 05 and #$0F ; CPU:$C5B3 PRG:45B3 29 0F clc ; CPU:$C5B5 PRG:45B5 18 adc $0521,x ; CPU:$C5B6 PRG:45B6 7D 21 05 sta $0521,x ; CPU:$C5B9 PRG:45B9 9D 21 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop364 -; Global: Branch target inside NmiHandler: taken when Loop364. +; Routine: NmiHandler_Loop488 +; Global: Branch target inside NmiHandler: taken when Loop488. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop364: +NmiHandler_Loop488: pla ; CPU:$C5BC PRG:45BC 68 tax ; CPU:$C5BD PRG:45BD AA cpx #$06 ; CPU:$C5BE PRG:45BE E0 06 - beq NmiHandler_Loop368 ; CPU:$C5C0 PRG:45C0 F0 3A - lda ZpC0,x ; CPU:$C5C2 PRG:45C2 B5 C0 + beq NmiHandler_Loop492 ; CPU:$C5C0 PRG:45C0 F0 3A + lda GameState,x ; CPU:$C5C2 PRG:45C2 B5 C0 and #$01 ; CPU:$C5C4 PRG:45C4 29 01 tay ; CPU:$C5C6 PRG:45C6 A8 lda Zp8E,x ; CPU:$C5C7 PRG:45C7 B5 8E @@ -9982,62 +12738,62 @@ NmiHandler_Loop364: adc $BCA0,y ; CPU:$C5CA PRG:45CA 79 A0 BC sta $04C7,x ; CPU:$C5CD PRG:45CD 9D C7 04 lda #$04 ; CPU:$C5D0 PRG:45D0 A9 04 - sta Zp00 ; CPU:$C5D2 PRG:45D2 85 00 - lda Zp87,x ; CPU:$C5D4 PRG:45D4 B5 87 + sta VramWritePtrLo ; CPU:$C5D2 PRG:45D2 85 00 + lda EnemyIndex,x ; CPU:$C5D4 PRG:45D4 B5 87 cmp #$01 ; CPU:$C5D6 PRG:45D6 C9 01 - bne NmiHandler_Loop365 ; CPU:$C5D8 PRG:45D8 D0 0A - lda ZpB0,x ; CPU:$C5DA PRG:45DA B5 B0 + bne NmiHandler_Loop489 ; CPU:$C5D8 PRG:45D8 D0 0A + lda PlayerX,x ; CPU:$C5DA PRG:45DA B5 B0 cmp #$84 ; CPU:$C5DC PRG:45DC C9 84 - bcs NmiHandler_Loop365 ; CPU:$C5DE PRG:45DE B0 04 + bcs NmiHandler_Loop489 ; CPU:$C5DE PRG:45DE B0 04 lda #$88 ; CPU:$C5E0 PRG:45E0 A9 88 - bne NmiHandler_Loop366 ; CPU:$C5E2 PRG:45E2 D0 05 + bne NmiHandler_Loop490 ; CPU:$C5E2 PRG:45E2 D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop365 -; Global: Branch target inside NmiHandler: taken when Loop365. +; Routine: NmiHandler_Loop489 +; Global: Branch target inside NmiHandler: taken when Loop489. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop365: - lda ZpB0,x ; CPU:$C5E4 PRG:45E4 B5 B0 +NmiHandler_Loop489: + lda PlayerX,x ; CPU:$C5E4 PRG:45E4 B5 B0 sec ; CPU:$C5E6 PRG:45E6 38 - sbc Zp00 ; CPU:$C5E7 PRG:45E7 E5 00 + sbc VramWritePtrLo ; CPU:$C5E7 PRG:45E7 E5 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop366 -; Global: Branch target inside NmiHandler: taken when Loop366. +; Routine: NmiHandler_Loop490 +; Global: Branch target inside NmiHandler: taken when Loop490. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop366: +NmiHandler_Loop490: sta $04CE,x ; CPU:$C5E9 PRG:45E9 9D CE 04 lda Zp06 ; CPU:$C5EC PRG:45EC A5 06 sta $04C0,x ; CPU:$C5EE PRG:45EE 9D C0 04 lda #$0B ; CPU:$C5F1 PRG:45F1 A9 0B cpx #$05 ; CPU:$C5F3 PRG:45F3 E0 05 - bne NmiHandler_Loop367 ; CPU:$C5F5 PRG:45F5 D0 02 + bne NmiHandler_Loop491 ; CPU:$C5F5 PRG:45F5 D0 02 lda #$50 ; CPU:$C5F7 PRG:45F7 A9 50 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop367 -; Global: Branch target inside NmiHandler: taken when Loop367. +; Routine: NmiHandler_Loop491 +; Global: Branch target inside NmiHandler: taken when Loop491. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop367: +NmiHandler_Loop491: sta $03A2,x ; CPU:$C5F9 PRG:45F9 9D A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop368 -; Global: Branch target inside NmiHandler: taken when Loop368. +; Routine: NmiHandler_Loop492 +; Global: Branch target inside NmiHandler: taken when Loop492. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop368: +NmiHandler_Loop492: rts ; CPU:$C5FC PRG:45FC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C5FD @@ -10049,86 +12805,86 @@ NmiHandler_Loop368: ; ----------------------------------------------------------------------------- Sub_C5FD: lda #$05 ; CPU:$C5FD PRG:45FD A9 05 - sta Zp00 ; CPU:$C5FF PRG:45FF 85 00 + sta VramWritePtrLo ; CPU:$C5FF PRG:45FF 85 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative33 -; Global: Branch target inside NmiHandler: taken when OnNonnegative33. +; Routine: NmiHandler_OnNonnegative43 +; Global: Branch target inside NmiHandler: taken when OnNonnegative43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative33: - ldx Zp00 ; CPU:$C601 PRG:4601 A6 00 +NmiHandler_OnNonnegative43: + ldx VramWritePtrLo ; CPU:$C601 PRG:4601 A6 00 lda $03A2,x ; CPU:$C603 PRG:4603 BD A2 03 - beq NmiHandler_Loop369 ; CPU:$C606 PRG:4606 F0 49 + beq NmiHandler_Loop493 ; CPU:$C606 PRG:4606 F0 49 dec $03A2,x ; CPU:$C608 PRG:4608 DE A2 03 lda $04C0,x ; CPU:$C60B PRG:460B BD C0 04 - bmi NmiHandler_Loop370 ; CPU:$C60E PRG:460E 30 46 + bmi NmiHandler_Loop494 ; CPU:$C60E PRG:460E 30 46 tay ; CPU:$C610 PRG:4610 A8 iny ; CPU:$C611 PRG:4611 C8 lda $BD45,y ; CPU:$C612 PRG:4612 B9 45 BD - sta Zp01 ; CPU:$C615 PRG:4615 85 01 + sta VramWritePtrHi ; CPU:$C615 PRG:4615 85 01 iny ; CPU:$C617 PRG:4617 C8 - sty Zp02 ; CPU:$C618 PRG:4618 84 02 + sty DispatchPtrLo ; CPU:$C618 PRG:4618 84 02 lda $04C7,x ; CPU:$C61A PRG:461A BD C7 04 - sta Zp03 ; CPU:$C61D PRG:461D 85 03 + sta DispatchPtrHi ; CPU:$C61D PRG:461D 85 03 lda $04CE,x ; CPU:$C61F PRG:461F BD CE 04 sta Zp04 ; CPU:$C622 PRG:4622 85 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero32 -; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero32: +NmiHandler_OnNonzero41: ldy Zp4C ; CPU:$C624 PRG:4624 A4 4C lda Zp04 ; CPU:$C626 PRG:4626 A5 04 sta $06D0,y ; CPU:$C628 PRG:4628 99 D0 06 iny ; CPU:$C62B PRG:462B C8 - ldx Zp02 ; CPU:$C62C PRG:462C A6 02 + ldx DispatchPtrLo ; CPU:$C62C PRG:462C A6 02 lda $BD45,x ; CPU:$C62E PRG:462E BD 45 BD sta $06D0,y ; CPU:$C631 PRG:4631 99 D0 06 iny ; CPU:$C634 PRG:4634 C8 inx ; CPU:$C635 PRG:4635 E8 - stx Zp02 ; CPU:$C636 PRG:4636 86 02 + stx DispatchPtrLo ; CPU:$C636 PRG:4636 86 02 lda #$00 ; CPU:$C638 PRG:4638 A9 00 sta $06D0,y ; CPU:$C63A PRG:463A 99 D0 06 iny ; CPU:$C63D PRG:463D C8 - lda Zp03 ; CPU:$C63E PRG:463E A5 03 + lda DispatchPtrHi ; CPU:$C63E PRG:463E A5 03 sta $06D0,y ; CPU:$C640 PRG:4640 99 D0 06 clc ; CPU:$C643 PRG:4643 18 adc #$08 ; CPU:$C644 PRG:4644 69 08 - sta Zp03 ; CPU:$C646 PRG:4646 85 03 + sta DispatchPtrHi ; CPU:$C646 PRG:4646 85 03 iny ; CPU:$C648 PRG:4648 C8 sty Zp4C ; CPU:$C649 PRG:4649 84 4C - dec Zp01 ; CPU:$C64B PRG:464B C6 01 - bne NmiHandler_OnNonzero32 ; CPU:$C64D PRG:464D D0 D5 - beq NmiHandler_Loop370 ; CPU:$C64F PRG:464F F0 05 + dec VramWritePtrHi ; CPU:$C64B PRG:464B C6 01 + bne NmiHandler_OnNonzero41 ; CPU:$C64D PRG:464D D0 D5 + beq NmiHandler_Loop494 ; CPU:$C64F PRG:464F F0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop369 -; Global: Branch target inside NmiHandler: taken when Loop369. +; Routine: NmiHandler_Loop493 +; Global: Branch target inside NmiHandler: taken when Loop493. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop369: +NmiHandler_Loop493: lda #$FF ; CPU:$C651 PRG:4651 A9 FF sta $04C0,x ; CPU:$C653 PRG:4653 9D C0 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop370 -; Global: Branch target inside NmiHandler: taken when Loop370. +; Routine: NmiHandler_Loop494 +; Global: Branch target inside NmiHandler: taken when Loop494. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop370: - dec Zp00 ; CPU:$C656 PRG:4656 C6 00 - bpl NmiHandler_OnNonnegative33 ; CPU:$C658 PRG:4658 10 A7 +NmiHandler_Loop494: + dec VramWritePtrLo ; CPU:$C656 PRG:4656 C6 00 + bpl NmiHandler_OnNonnegative43 ; CPU:$C658 PRG:4658 10 A7 rts ; CPU:$C65A PRG:465A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C65B @@ -10142,55 +12898,55 @@ Sub_C65B: stx Zp0B ; CPU:$C65B PRG:465B 86 0B ldx Zp0A ; CPU:$C65D PRG:465D A6 0A ldy #$00 ; CPU:$C65F PRG:465F A0 00 - lda Zp69 ; CPU:$C661 PRG:4661 A5 69 + lda PlayerIndex ; CPU:$C661 PRG:4661 A5 69 and #$02 ; CPU:$C663 PRG:4663 29 02 - beq NmiHandler_Loop371 ; CPU:$C665 PRG:4665 F0 02 + beq NmiHandler_Loop495 ; CPU:$C665 PRG:4665 F0 02 ldy #$02 ; CPU:$C667 PRG:4667 A0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop371 -; Global: Branch target inside NmiHandler: taken when Loop371. +; Routine: NmiHandler_Loop495 +; Global: Branch target inside NmiHandler: taken when Loop495. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop371: - lda Zp69 ; CPU:$C669 PRG:4669 A5 69 +NmiHandler_Loop495: + lda PlayerIndex ; CPU:$C669 PRG:4669 A5 69 and #$04 ; CPU:$C66B PRG:466B 29 04 - beq NmiHandler_Loop372 ; CPU:$C66D PRG:466D F0 02 + beq NmiHandler_Loop496 ; CPU:$C66D PRG:466D F0 02 ldy #$04 ; CPU:$C66F PRG:466F A0 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop372 -; Global: Branch target inside NmiHandler: taken when Loop372. +; Routine: NmiHandler_Loop496 +; Global: Branch target inside NmiHandler: taken when Loop496. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop372: - lda Zp69 ; CPU:$C671 PRG:4671 A5 69 +NmiHandler_Loop496: + lda PlayerIndex ; CPU:$C671 PRG:4671 A5 69 and #$10 ; CPU:$C673 PRG:4673 29 10 - beq NmiHandler_Loop373 ; CPU:$C675 PRG:4675 F0 01 + beq NmiHandler_Loop497 ; CPU:$C675 PRG:4675 F0 01 iny ; CPU:$C677 PRG:4677 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop373 -; Global: Branch target inside NmiHandler: taken when Loop373. +; Routine: NmiHandler_Loop497 +; Global: Branch target inside NmiHandler: taken when Loop497. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop373: +NmiHandler_Loop497: sty $0379 ; CPU:$C678 PRG:4678 8C 79 03 lda $BC0C,y ; CPU:$C67B PRG:467B B9 0C BC - sta Zp01,x ; CPU:$C67E PRG:467E 95 01 + sta VramWritePtrHi,x ; CPU:$C67E PRG:467E 95 01 lda $BC12,y ; CPU:$C680 PRG:4680 B9 12 BC - sta Zp03,x ; CPU:$C683 PRG:4683 95 03 + sta DispatchPtrHi,x ; CPU:$C683 PRG:4683 95 03 lda $BC18,y ; CPU:$C685 PRG:4685 B9 18 BC sta Zp0A ; CPU:$C688 PRG:4688 85 0A - lda Zp69 ; CPU:$C68A PRG:468A A5 69 + lda PlayerIndex ; CPU:$C68A PRG:468A A5 69 lsr a ; CPU:$C68C PRG:468C 4A - bcs NmiHandler_Loop374 ; CPU:$C68D PRG:468D B0 11 + bcs NmiHandler_Loop498 ; CPU:$C68D PRG:468D B0 11 lda Zp0A ; CPU:$C68F PRG:468F A5 0A eor #$FF ; CPU:$C691 PRG:4691 49 FF sta Zp0A ; CPU:$C693 PRG:4693 85 0A @@ -10198,112 +12954,36 @@ NmiHandler_Loop373: lda Zp94 ; CPU:$C697 PRG:4697 A5 94 clc ; CPU:$C699 PRG:4699 18 adc Zp0A ; CPU:$C69A PRG:469A 65 0A - sta Zp02,x ; CPU:$C69C PRG:469C 95 02 - bne NmiHandler_Loop375 ; CPU:$C69E PRG:469E D0 07 + sta DispatchPtrLo,x ; CPU:$C69C PRG:469C 95 02 + bne NmiHandler_Loop499 ; CPU:$C69E PRG:469E D0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop374 -; Global: Branch target inside NmiHandler: taken when Loop374. +; Routine: NmiHandler_Loop498 +; Global: Branch target inside NmiHandler: taken when Loop498. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop374: +NmiHandler_Loop498: lda Zp94 ; CPU:$C6A0 PRG:46A0 A5 94 clc ; CPU:$C6A2 PRG:46A2 18 adc Zp0A ; CPU:$C6A3 PRG:46A3 65 0A - sta Zp00,x ; CPU:$C6A5 PRG:46A5 95 00 + sta VramWritePtrLo,x ; CPU:$C6A5 PRG:46A5 95 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop375 -; Global: Branch target inside NmiHandler: taken when Loop375. +; Routine: NmiHandler_Loop499 +; Global: Branch target inside NmiHandler: taken when Loop499. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop375: - lda Zp69 ; CPU:$C6A7 PRG:46A7 A5 69 +NmiHandler_Loop499: + lda PlayerIndex ; CPU:$C6A7 PRG:46A7 A5 69 lsr a ; CPU:$C6A9 PRG:46A9 4A - bcs NmiHandler_Loop376 ; CPU:$C6AA PRG:46AA B0 0E + bcs NmiHandler_Loop500 ; CPU:$C6AA PRG:46AA B0 0E lda Zp94 ; CPU:$C6AC PRG:46AC A5 94 cmp #$1A ; CPU:$C6AE PRG:46AE C9 1A - bcs NmiHandler_Loop377 ; CPU:$C6B0 PRG:46B0 B0 0E -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet2 -; Global: Branch target inside NmiHandler: taken when OnCarrySet2. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet2: - lda #$00 ; CPU:$C6B2 PRG:46B2 A9 00 - sta Zp01,x ; CPU:$C6B4 PRG:46B4 95 01 - sta Zp03,x ; CPU:$C6B6 PRG:46B6 95 03 - beq NmiHandler_Loop381 ; CPU:$C6B8 PRG:46B8 F0 41 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop376 -; Global: Branch target inside NmiHandler: taken when Loop376. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop376: - lda Zp94 ; CPU:$C6BA PRG:46BA A5 94 - cmp #$E6 ; CPU:$C6BC PRG:46BC C9 E6 - bcs NmiHandler_OnCarrySet2 ; CPU:$C6BE PRG:46BE B0 F2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop377 -; Global: Branch target inside NmiHandler: taken when Loop377. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop377: - lda $BC1E,y ; CPU:$C6C0 PRG:46C0 B9 1E BC - sta Zp0A ; CPU:$C6C3 PRG:46C3 85 0A - lda Zp69 ; CPU:$C6C5 PRG:46C5 A5 69 - lsr a ; CPU:$C6C7 PRG:46C7 4A - bcs NmiHandler_Loop378 ; CPU:$C6C8 PRG:46C8 B0 11 - lda Zp0A ; CPU:$C6CA PRG:46CA A5 0A - eor #$FF ; CPU:$C6CC PRG:46CC 49 FF - sta Zp0A ; CPU:$C6CE PRG:46CE 85 0A - inc Zp0A ; CPU:$C6D0 PRG:46D0 E6 0A - lda Zp02,x ; CPU:$C6D2 PRG:46D2 B5 02 - clc ; CPU:$C6D4 PRG:46D4 18 - adc Zp0A ; CPU:$C6D5 PRG:46D5 65 0A - sta Zp00,x ; CPU:$C6D7 PRG:46D7 95 00 - bne NmiHandler_Loop379 ; CPU:$C6D9 PRG:46D9 D0 07 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop378 -; Global: Branch target inside NmiHandler: taken when Loop378. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop378: - lda Zp00,x ; CPU:$C6DB PRG:46DB B5 00 - clc ; CPU:$C6DD PRG:46DD 18 - adc Zp0A ; CPU:$C6DE PRG:46DE 65 0A - sta Zp02,x ; CPU:$C6E0 PRG:46E0 95 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop379 -; Global: Branch target inside NmiHandler: taken when Loop379. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop379: - lda Zp69 ; CPU:$C6E2 PRG:46E2 A5 69 - lsr a ; CPU:$C6E4 PRG:46E4 4A - bcs NmiHandler_Loop380 ; CPU:$C6E5 PRG:46E5 B0 0E - lda Zp94 ; CPU:$C6E7 PRG:46E7 A5 94 - cmp #$1A ; CPU:$C6E9 PRG:46E9 C9 1A - bcs NmiHandler_Loop381 ; CPU:$C6EB PRG:46EB B0 0E + bcs NmiHandler_Loop501 ; CPU:$C6B0 PRG:46B0 B0 0E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet3 ; Global: Branch target inside NmiHandler: taken when OnCarrySet3. @@ -10313,41 +12993,117 @@ NmiHandler_Loop379: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet3: - lda #$00 ; CPU:$C6ED PRG:46ED A9 00 - sta Zp01,x ; CPU:$C6EF PRG:46EF 95 01 - sta Zp03,x ; CPU:$C6F1 PRG:46F1 95 03 - beq NmiHandler_Loop381 ; CPU:$C6F3 PRG:46F3 F0 06 + lda #$00 ; CPU:$C6B2 PRG:46B2 A9 00 + sta VramWritePtrHi,x ; CPU:$C6B4 PRG:46B4 95 01 + sta DispatchPtrHi,x ; CPU:$C6B6 PRG:46B6 95 03 + beq NmiHandler_Loop505 ; CPU:$C6B8 PRG:46B8 F0 41 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop380 -; Global: Branch target inside NmiHandler: taken when Loop380. +; Routine: NmiHandler_Loop500 +; Global: Branch target inside NmiHandler: taken when Loop500. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop380: +NmiHandler_Loop500: + lda Zp94 ; CPU:$C6BA PRG:46BA A5 94 + cmp #$E6 ; CPU:$C6BC PRG:46BC C9 E6 + bcs NmiHandler_OnCarrySet3 ; CPU:$C6BE PRG:46BE B0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop501 +; Global: Branch target inside NmiHandler: taken when Loop501. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop501: + lda $BC1E,y ; CPU:$C6C0 PRG:46C0 B9 1E BC + sta Zp0A ; CPU:$C6C3 PRG:46C3 85 0A + lda PlayerIndex ; CPU:$C6C5 PRG:46C5 A5 69 + lsr a ; CPU:$C6C7 PRG:46C7 4A + bcs NmiHandler_Loop502 ; CPU:$C6C8 PRG:46C8 B0 11 + lda Zp0A ; CPU:$C6CA PRG:46CA A5 0A + eor #$FF ; CPU:$C6CC PRG:46CC 49 FF + sta Zp0A ; CPU:$C6CE PRG:46CE 85 0A + inc Zp0A ; CPU:$C6D0 PRG:46D0 E6 0A + lda DispatchPtrLo,x ; CPU:$C6D2 PRG:46D2 B5 02 + clc ; CPU:$C6D4 PRG:46D4 18 + adc Zp0A ; CPU:$C6D5 PRG:46D5 65 0A + sta VramWritePtrLo,x ; CPU:$C6D7 PRG:46D7 95 00 + bne NmiHandler_Loop503 ; CPU:$C6D9 PRG:46D9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop502 +; Global: Branch target inside NmiHandler: taken when Loop502. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop502: + lda VramWritePtrLo,x ; CPU:$C6DB PRG:46DB B5 00 + clc ; CPU:$C6DD PRG:46DD 18 + adc Zp0A ; CPU:$C6DE PRG:46DE 65 0A + sta DispatchPtrLo,x ; CPU:$C6E0 PRG:46E0 95 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop503 +; Global: Branch target inside NmiHandler: taken when Loop503. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop503: + lda PlayerIndex ; CPU:$C6E2 PRG:46E2 A5 69 + lsr a ; CPU:$C6E4 PRG:46E4 4A + bcs NmiHandler_Loop504 ; CPU:$C6E5 PRG:46E5 B0 0E + lda Zp94 ; CPU:$C6E7 PRG:46E7 A5 94 + cmp #$1A ; CPU:$C6E9 PRG:46E9 C9 1A + bcs NmiHandler_Loop505 ; CPU:$C6EB PRG:46EB B0 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet4: + lda #$00 ; CPU:$C6ED PRG:46ED A9 00 + sta VramWritePtrHi,x ; CPU:$C6EF PRG:46EF 95 01 + sta DispatchPtrHi,x ; CPU:$C6F1 PRG:46F1 95 03 + beq NmiHandler_Loop505 ; CPU:$C6F3 PRG:46F3 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop504 +; Global: Branch target inside NmiHandler: taken when Loop504. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop504: lda Zp94 ; CPU:$C6F5 PRG:46F5 A5 94 cmp #$E6 ; CPU:$C6F7 PRG:46F7 C9 E6 - bcs NmiHandler_OnCarrySet3 ; CPU:$C6F9 PRG:46F9 B0 F2 + bcs NmiHandler_OnCarrySet4 ; CPU:$C6F9 PRG:46F9 B0 F2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop381 -; Global: Branch target inside NmiHandler: taken when Loop381. +; Routine: NmiHandler_Loop505 +; Global: Branch target inside NmiHandler: taken when Loop505. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop381: +NmiHandler_Loop505: ldx Zp0B ; CPU:$C6FB PRG:46FB A6 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero10 -; Global: Branch target inside NmiHandler: taken when OnZero10. +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero10: +NmiHandler_OnZero11: rts ; CPU:$C6FD PRG:46FD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6FE @@ -10359,111 +13115,120 @@ NmiHandler_OnZero10: ; ----------------------------------------------------------------------------- Sub_C6FE: lda Zp6C ; CPU:$C6FE PRG:46FE A5 6C - beq NmiHandler_OnZero10 ; CPU:$C700 PRG:4700 F0 FB + beq NmiHandler_OnZero11 ; CPU:$C700 PRG:4700 F0 FB lda $03AB ; CPU:$C702 PRG:4702 AD AB 03 clc ; CPU:$C705 PRG:4705 18 adc #$10 ; CPU:$C706 PRG:4706 69 10 sta $03AB ; CPU:$C708 PRG:4708 8D AB 03 cmp #$34 ; CPU:$C70B PRG:470B C9 34 - bcc NmiHandler_OnZero10 ; CPU:$C70D PRG:470D 90 EE + bcc NmiHandler_OnZero11 ; CPU:$C70D PRG:470D 90 EE sec ; CPU:$C70F PRG:470F 38 sbc #$34 ; CPU:$C710 PRG:4710 E9 34 sta $03AB ; CPU:$C712 PRG:4712 8D AB 03 - dec $0393 ; CPU:$C715 PRG:4715 CE 93 03 - bpl NmiHandler_OnZero10 ; CPU:$C718 PRG:4718 10 E3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero33 -; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Routine: Sub_C715 +; Global: Branch target inside Sub: taken when C715. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C715: + dec $0393 ; CPU:$C715 PRG:4715 CE 93 03 + bpl NmiHandler_OnZero11 ; CPU:$C718 PRG:4718 10 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero33: +NmiHandler_OnNonzero42: dec $0392 ; CPU:$C71A PRG:471A CE 92 03 - bmi NmiHandler_OnNonzero34 ; CPU:$C71D PRG:471D 30 06 + bmi NmiHandler_OnNonzero43 ; CPU:$C71D PRG:471D 30 06 lda #$09 ; CPU:$C71F PRG:471F A9 09 sta $0393 ; CPU:$C721 PRG:4721 8D 93 03 rts ; CPU:$C724 PRG:4724 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero34 -; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero34: +NmiHandler_OnNonzero43: dec $0391 ; CPU:$C725 PRG:4725 CE 91 03 - bmi NmiHandler_Loop383 ; CPU:$C728 PRG:4728 30 20 + bmi NmiHandler_Loop507 ; CPU:$C728 PRG:4728 30 20 lda $0390 ; CPU:$C72A PRG:472A AD 90 03 - bne NmiHandler_Loop382 ; CPU:$C72D PRG:472D D0 14 + bne NmiHandler_Loop506 ; CPU:$C72D PRG:472D D0 14 lda Zp6C ; CPU:$C72F PRG:472F A5 6C cmp #$02 ; CPU:$C731 PRG:4731 C9 02 - beq NmiHandler_Loop382 ; CPU:$C733 PRG:4733 F0 0E + beq NmiHandler_Loop506 ; CPU:$C733 PRG:4733 F0 0E lda $0391 ; CPU:$C735 PRG:4735 AD 91 03 cmp #$03 ; CPU:$C738 PRG:4738 C9 03 - bne NmiHandler_Loop382 ; CPU:$C73A PRG:473A D0 07 + bne NmiHandler_Loop506 ; CPU:$C73A PRG:473A D0 07 lda #$02 ; CPU:$C73C PRG:473C A9 02 sta ZpFB ; CPU:$C73E PRG:473E 85 FB sta $048E ; CPU:$C740 PRG:4740 8D 8E 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop382 -; Global: Branch target inside NmiHandler: taken when Loop382. +; Routine: NmiHandler_Loop506 +; Global: Branch target inside NmiHandler: taken when Loop506. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop382: +NmiHandler_Loop506: lda #$0A ; CPU:$C743 PRG:4743 A9 0A sta $0392 ; CPU:$C745 PRG:4745 8D 92 03 - bne NmiHandler_OnNonzero33 ; CPU:$C748 PRG:4748 D0 D0 + bne NmiHandler_OnNonzero42 ; CPU:$C748 PRG:4748 D0 D0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop383 -; Global: Branch target inside NmiHandler: taken when Loop383. +; Routine: NmiHandler_Loop507 +; Global: Branch target inside NmiHandler: taken when Loop507. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop383: +NmiHandler_Loop507: dec $0390 ; CPU:$C74A PRG:474A CE 90 03 - bmi NmiHandler_Loop384 ; CPU:$C74D PRG:474D 30 07 + bmi NmiHandler_Loop508 ; CPU:$C74D PRG:474D 30 07 lda #$0A ; CPU:$C74F PRG:474F A9 0A sta $0391 ; CPU:$C751 PRG:4751 8D 91 03 - bne NmiHandler_OnNonzero34 ; CPU:$C754 PRG:4754 D0 CF + bne NmiHandler_OnNonzero43 ; CPU:$C754 PRG:4754 D0 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop384 -; Global: Branch target inside NmiHandler: taken when Loop384. +; Routine: NmiHandler_Loop508 +; Global: Branch target inside NmiHandler: taken when Loop508. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop384: +NmiHandler_Loop508: lda #$02 ; CPU:$C756 PRG:4756 A9 02 sta $0368 ; CPU:$C758 PRG:4758 8D 68 03 ldx #$03 ; CPU:$C75B PRG:475B A2 03 lda #$00 ; CPU:$C75D PRG:475D A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative34 -; Global: Branch target inside NmiHandler: taken when OnNonnegative34. +; Routine: NmiHandler_OnNonnegative44 +; Global: Branch target inside NmiHandler: taken when OnNonnegative44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative34: +NmiHandler_OnNonnegative44: sta $0390,x ; CPU:$C75F PRG:475F 9D 90 03 dex ; CPU:$C762 PRG:4762 CA - bpl NmiHandler_OnNonnegative34 ; CPU:$C763 PRG:4763 10 FA + bpl NmiHandler_OnNonnegative44 ; CPU:$C763 PRG:4763 10 FA lda Zp6C ; CPU:$C765 PRG:4765 A5 6C cmp #$02 ; CPU:$C767 PRG:4767 C9 02 - beq NmiHandler_OnZero10 ; CPU:$C769 PRG:4769 F0 92 + beq NmiHandler_OnZero11 ; CPU:$C769 PRG:4769 F0 92 lda #$00 ; CPU:$C76B PRG:476B A9 00 sta Zp67 ; CPU:$C76D PRG:476D 85 67 - jmp NmiHandler_Loop357 ; CPU:$C76F PRG:476F 4C F8 C4 + jmp NmiHandler_Loop481 ; CPU:$C76F PRG:476F 4C F8 C4 ; ----------------------------------------------------------------------------- ; Routine: Sub_C772 ; Global: Branch target inside Sub: taken when C772. @@ -10485,20 +13250,20 @@ Sub_C772: iny ; CPU:$C786 PRG:4786 C8 ldx #$00 ; CPU:$C787 PRG:4787 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear5 -; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Routine: NmiHandler_OnCarryClear7 +; Global: Branch target inside NmiHandler: taken when OnCarryClear7. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear5: +NmiHandler_OnCarryClear7: lda $0390,x ; CPU:$C789 PRG:4789 BD 90 03 sta $0301,y ; CPU:$C78C PRG:478C 99 01 03 iny ; CPU:$C78F PRG:478F C8 inx ; CPU:$C790 PRG:4790 E8 cpx #$04 ; CPU:$C791 PRG:4791 E0 04 - bcc NmiHandler_OnCarryClear5 ; CPU:$C793 PRG:4793 90 F4 + bcc NmiHandler_OnCarryClear7 ; CPU:$C793 PRG:4793 90 F4 lda #$00 ; CPU:$C795 PRG:4795 A9 00 sta $0301,y ; CPU:$C797 PRG:4797 99 01 03 sty $0300 ; CPU:$C79A PRG:479A 8C 00 03 @@ -10515,18 +13280,27 @@ Sub_C79E: lda $0486,x ; CPU:$C79E PRG:479E BD 86 04 tay ; CPU:$C7A1 PRG:47A1 A8 lda $BCAA,y ; CPU:$C7A2 PRG:47A2 B9 AA BC - clc ; CPU:$C7A5 PRG:47A5 18 - adc ZpB0,x ; CPU:$C7A6 PRG:47A6 75 B0 - sta ZpB0,x ; CPU:$C7A8 PRG:47A8 95 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero35 -; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Routine: Sub_C7A5 +; Global: Branch target inside Sub: taken when C7A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7A5: + clc ; CPU:$C7A5 PRG:47A5 18 + adc PlayerX,x ; CPU:$C7A6 PRG:47A6 75 B0 + sta PlayerX,x ; CPU:$C7A8 PRG:47A8 95 B0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero35: +NmiHandler_OnNonzero44: rts ; CPU:$C7AA PRG:47AA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7AB @@ -10538,45 +13312,45 @@ NmiHandler_OnNonzero35: ; ----------------------------------------------------------------------------- Sub_C7AB: lda $0368 ; CPU:$C7AB PRG:47AB AD 68 03 - bne NmiHandler_OnNonzero35 ; CPU:$C7AE PRG:47AE D0 FA + bne NmiHandler_OnNonzero44 ; CPU:$C7AE PRG:47AE D0 FA lda $0366 ; CPU:$C7B0 PRG:47B0 AD 66 03 ora $0367 ; CPU:$C7B3 PRG:47B3 0D 67 03 - bne NmiHandler_Loop385 ; CPU:$C7B6 PRG:47B6 D0 14 + bne NmiHandler_Loop509 ; CPU:$C7B6 PRG:47B6 D0 14 lda $04A5 ; CPU:$C7B8 PRG:47B8 AD A5 04 - bmi NmiHandler_Loop385 ; CPU:$C7BB PRG:47BB 30 0F + bmi NmiHandler_Loop509 ; CPU:$C7BB PRG:47BB 30 0F cmp #$30 ; CPU:$C7BD PRG:47BD C9 30 - bcs NmiHandler_Loop385 ; CPU:$C7BF PRG:47BF B0 0B + bcs NmiHandler_Loop509 ; CPU:$C7BF PRG:47BF B0 0B lda Zp3E ; CPU:$C7C1 PRG:47C1 A5 3E - bne NmiHandler_Loop385 ; CPU:$C7C3 PRG:47C3 D0 07 + bne NmiHandler_Loop509 ; CPU:$C7C3 PRG:47C3 D0 07 lda #$0D ; CPU:$C7C5 PRG:47C5 A9 0D sta Zp3E ; CPU:$C7C7 PRG:47C7 85 3E inc $04A5 ; CPU:$C7C9 PRG:47C9 EE A5 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop385 -; Global: Branch target inside NmiHandler: taken when Loop385. +; Routine: NmiHandler_Loop509 +; Global: Branch target inside NmiHandler: taken when Loop509. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop385: +NmiHandler_Loop509: ldy $0300 ; CPU:$C7CC PRG:47CC AC 00 03 ldx #$05 ; CPU:$C7CF PRG:47CF A2 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative35 -; Global: Branch target inside NmiHandler: taken when OnNonnegative35. +; Routine: NmiHandler_OnNonnegative45 +; Global: Branch target inside NmiHandler: taken when OnNonnegative45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative35: +NmiHandler_OnNonnegative45: lda #$FC ; CPU:$C7D1 PRG:47D1 A9 FC sta $0304,y ; CPU:$C7D3 PRG:47D3 99 04 03 sta $030D,y ; CPU:$C7D6 PRG:47D6 99 0D 03 iny ; CPU:$C7D9 PRG:47D9 C8 dex ; CPU:$C7DA PRG:47DA CA - bpl NmiHandler_OnNonnegative35 ; CPU:$C7DB PRG:47DB 10 F4 + bpl NmiHandler_OnNonnegative45 ; CPU:$C7DB PRG:47DB 10 F4 ldy $0300 ; CPU:$C7DD PRG:47DD AC 00 03 lda #$20 ; CPU:$C7E0 PRG:47E0 A9 20 sta $0301,y ; CPU:$C7E2 PRG:47E2 99 01 03 @@ -10589,84 +13363,84 @@ NmiHandler_OnNonnegative35: sta $0303,y ; CPU:$C7F4 PRG:47F4 99 03 03 sta $030C,y ; CPU:$C7F7 PRG:47F7 99 0C 03 lda #$17 ; CPU:$C7FA PRG:47FA A9 17 - sta Zp03 ; CPU:$C7FC PRG:47FC 85 03 + sta DispatchPtrHi ; CPU:$C7FC PRG:47FC 85 03 lda #$04 ; CPU:$C7FE PRG:47FE A9 04 sta Zp04 ; CPU:$C800 PRG:4800 85 04 ldx #$01 ; CPU:$C802 PRG:4802 A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative36 -; Global: Branch target inside NmiHandler: taken when OnNonnegative36. +; Routine: NmiHandler_OnNonnegative46 +; Global: Branch target inside NmiHandler: taken when OnNonnegative46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative36: +NmiHandler_OnNonnegative46: lda #$38 ; CPU:$C804 PRG:4804 A9 38 - sta Zp02 ; CPU:$C806 PRG:4806 85 02 + sta DispatchPtrLo ; CPU:$C806 PRG:4806 85 02 lda #$00 ; CPU:$C808 PRG:4808 A9 00 - sta Zp01 ; CPU:$C80A PRG:480A 85 01 + sta VramWritePtrHi ; CPU:$C80A PRG:480A 85 01 lda $04A5,x ; CPU:$C80C PRG:480C BD A5 04 - beq NmiHandler_Loop386 ; CPU:$C80F PRG:480F F0 23 - bmi NmiHandler_Loop387 ; CPU:$C811 PRG:4811 30 2E + beq NmiHandler_Loop510 ; CPU:$C80F PRG:480F F0 23 + bmi NmiHandler_Loop511 ; CPU:$C811 PRG:4811 30 2E lsr a ; CPU:$C813 PRG:4813 4A lsr a ; CPU:$C814 PRG:4814 4A lsr a ; CPU:$C815 PRG:4815 4A - sta Zp00 ; CPU:$C816 PRG:4816 85 00 + sta VramWritePtrLo ; CPU:$C816 PRG:4816 85 00 lda $04A5,x ; CPU:$C818 PRG:4818 BD A5 04 and #$07 ; CPU:$C81B PRG:481B 29 07 - sta Zp01 ; CPU:$C81D PRG:481D 85 01 + sta VramWritePtrHi ; CPU:$C81D PRG:481D 85 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero36 -; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero36: - lda Zp00 ; CPU:$C81F PRG:481F A5 00 - beq NmiHandler_Loop387 ; CPU:$C821 PRG:4821 F0 1E +NmiHandler_OnNonzero45: + lda VramWritePtrLo ; CPU:$C81F PRG:481F A5 00 + beq NmiHandler_Loop511 ; CPU:$C821 PRG:4821 F0 1E lda #$FD ; CPU:$C823 PRG:4823 A9 FD sta $0304,y ; CPU:$C825 PRG:4825 99 04 03 iny ; CPU:$C828 PRG:4828 C8 lda #$08 ; CPU:$C829 PRG:4829 A9 08 clc ; CPU:$C82B PRG:482B 18 - adc Zp02 ; CPU:$C82C PRG:482C 65 02 - sta Zp02 ; CPU:$C82E PRG:482E 85 02 - dec Zp00 ; CPU:$C830 PRG:4830 C6 00 - bne NmiHandler_OnNonzero36 ; CPU:$C832 PRG:4832 D0 EB + adc DispatchPtrLo ; CPU:$C82C PRG:482C 65 02 + sta DispatchPtrLo ; CPU:$C82E PRG:482E 85 02 + dec VramWritePtrLo ; CPU:$C830 PRG:4830 C6 00 + bne NmiHandler_OnNonzero45 ; CPU:$C832 PRG:4832 D0 EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop386 -; Global: Branch target inside NmiHandler: taken when Loop386. +; Routine: NmiHandler_Loop510 +; Global: Branch target inside NmiHandler: taken when Loop510. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop386: +NmiHandler_Loop510: lda $0388 ; CPU:$C834 PRG:4834 AD 88 03 - bne NmiHandler_Loop387 ; CPU:$C837 PRG:4837 D0 08 + bne NmiHandler_Loop511 ; CPU:$C837 PRG:4837 D0 08 lda Zp6C ; CPU:$C839 PRG:4839 A5 6C cmp #$02 ; CPU:$C83B PRG:483B C9 02 - beq NmiHandler_Loop387 ; CPU:$C83D PRG:483D F0 02 - inc Zp02 ; CPU:$C83F PRG:483F E6 02 + beq NmiHandler_Loop511 ; CPU:$C83D PRG:483D F0 02 + inc DispatchPtrLo ; CPU:$C83F PRG:483F E6 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop387 -; Global: Branch target inside NmiHandler: taken when Loop387. +; Routine: NmiHandler_Loop511 +; Global: Branch target inside NmiHandler: taken when Loop511. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop387: +NmiHandler_Loop511: jsr Sub_C85E ; CPU:$C841 PRG:4841 20 5E C8 lda $0300 ; CPU:$C844 PRG:4844 AD 00 03 clc ; CPU:$C847 PRG:4847 18 adc #$09 ; CPU:$C848 PRG:4848 69 09 tay ; CPU:$C84A PRG:484A A8 dex ; CPU:$C84B PRG:484B CA - bpl NmiHandler_OnNonnegative36 ; CPU:$C84C PRG:484C 10 B6 + bpl NmiHandler_OnNonnegative46 ; CPU:$C84C PRG:484C 10 B6 lda $0300 ; CPU:$C84E PRG:484E AD 00 03 clc ; CPU:$C851 PRG:4851 18 adc #$12 ; CPU:$C852 PRG:4852 69 12 @@ -10687,42 +13461,42 @@ Sub_C85E: ldy Zp04 ; CPU:$C85E PRG:485E A4 04 lda #$10 ; CPU:$C860 PRG:4860 A9 10 clc ; CPU:$C862 PRG:4862 18 - adc Zp03 ; CPU:$C863 PRG:4863 65 03 - sta Zp03 ; CPU:$C865 PRG:4865 85 03 + adc DispatchPtrHi ; CPU:$C863 PRG:4863 65 03 + sta DispatchPtrHi ; CPU:$C865 PRG:4865 85 03 sta $0204,y ; CPU:$C867 PRG:4867 99 04 02 lda #$21 ; CPU:$C86A PRG:486A A9 21 sta $0206,y ; CPU:$C86C PRG:486C 99 06 02 lda #$FE ; CPU:$C86F PRG:486F A9 FE cpx #$01 ; CPU:$C871 PRG:4871 E0 01 - beq NmiHandler_Loop388 ; CPU:$C873 PRG:4873 F0 07 + beq NmiHandler_Loop512 ; CPU:$C873 PRG:4873 F0 07 lda #$20 ; CPU:$C875 PRG:4875 A9 20 sta $0206,y ; CPU:$C877 PRG:4877 99 06 02 lda #$FD ; CPU:$C87A PRG:487A A9 FD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop388 -; Global: Branch target inside NmiHandler: taken when Loop388. +; Routine: NmiHandler_Loop512 +; Global: Branch target inside NmiHandler: taken when Loop512. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop388: +NmiHandler_Loop512: sta $0205,y ; CPU:$C87C PRG:487C 99 05 02 - lda Zp02 ; CPU:$C87F PRG:487F A5 02 + lda DispatchPtrLo ; CPU:$C87F PRG:487F A5 02 clc ; CPU:$C881 PRG:4881 18 - adc Zp01 ; CPU:$C882 PRG:4882 65 01 + adc VramWritePtrHi ; CPU:$C882 PRG:4882 65 01 sta $0207,y ; CPU:$C884 PRG:4884 99 07 02 lda #$00 ; CPU:$C887 PRG:4887 A9 00 sta Zp04 ; CPU:$C889 PRG:4889 85 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero11 -; Global: Branch target inside NmiHandler: taken when OnZero11. +; Routine: NmiHandler_OnZero12 +; Global: Branch target inside NmiHandler: taken when OnZero12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero11: +NmiHandler_OnZero12: rts ; CPU:$C88B PRG:488B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C88C @@ -10734,101 +13508,101 @@ NmiHandler_OnZero11: ; ----------------------------------------------------------------------------- Sub_C88C: lda Zp85 ; CPU:$C88C PRG:488C A5 85 - beq NmiHandler_OnZero11 ; CPU:$C88E PRG:488E F0 FB + beq NmiHandler_OnZero12 ; CPU:$C88E PRG:488E F0 FB lda Zp8C ; CPU:$C890 PRG:4890 A5 8C cmp #$03 ; CPU:$C892 PRG:4892 C9 03 - beq NmiHandler_Loop389 ; CPU:$C894 PRG:4894 F0 0B + beq NmiHandler_Loop513 ; CPU:$C894 PRG:4894 F0 0B cmp #$05 ; CPU:$C896 PRG:4896 C9 05 - bne NmiHandler_OnZero11 ; CPU:$C898 PRG:4898 D0 F1 + bne NmiHandler_OnZero12 ; CPU:$C898 PRG:4898 D0 F1 lda $04A5 ; CPU:$C89A PRG:489A AD A5 04 - beq NmiHandler_OnZero11 ; CPU:$C89D PRG:489D F0 EC - bmi NmiHandler_OnZero11 ; CPU:$C89F PRG:489F 30 EA + beq NmiHandler_OnZero12 ; CPU:$C89D PRG:489D F0 EC + bmi NmiHandler_OnZero12 ; CPU:$C89F PRG:489F 30 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop389 -; Global: Branch target inside NmiHandler: taken when Loop389. +; Routine: NmiHandler_Loop513 +; Global: Branch target inside NmiHandler: taken when Loop513. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop389: +NmiHandler_Loop513: lda ZpA4 ; CPU:$C8A1 PRG:48A1 A5 A4 lsr a ; CPU:$C8A3 PRG:48A3 4A - bcs NmiHandler_Loop390 ; CPU:$C8A4 PRG:48A4 B0 06 + bcs NmiHandler_Loop514 ; CPU:$C8A4 PRG:48A4 B0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero12 -; Global: Branch target inside NmiHandler: taken when OnZero12. +; Routine: NmiHandler_OnZero13 +; Global: Branch target inside NmiHandler: taken when OnZero13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero12: +NmiHandler_OnZero13: lda #$00 ; CPU:$C8A6 PRG:48A6 A9 00 sta $04B5 ; CPU:$C8A8 PRG:48A8 8D B5 04 rts ; CPU:$C8AB PRG:48AB 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop390 -; Global: Branch target inside NmiHandler: taken when Loop390. +; Routine: NmiHandler_Loop514 +; Global: Branch target inside NmiHandler: taken when Loop514. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop390: +NmiHandler_Loop514: lda Zp7B ; CPU:$C8AC PRG:48AC A5 7B cmp #$02 ; CPU:$C8AE PRG:48AE C9 02 - bcc NmiHandler_OnZero12 ; CPU:$C8B0 PRG:48B0 90 F4 + bcc NmiHandler_OnZero13 ; CPU:$C8B0 PRG:48B0 90 F4 lda Zp7A ; CPU:$C8B2 PRG:48B2 A5 7A cmp #$01 ; CPU:$C8B4 PRG:48B4 C9 01 - bne NmiHandler_OnZero12 ; CPU:$C8B6 PRG:48B6 D0 EE + bne NmiHandler_OnZero13 ; CPU:$C8B6 PRG:48B6 D0 EE jsr Sub_C1F7 ; CPU:$C8B8 PRG:48B8 20 F7 C1 ldy Zp0F ; CPU:$C8BB PRG:48BB A4 0F ldx #$00 ; CPU:$C8BD PRG:48BD A2 00 lda Zp7B ; CPU:$C8BF PRG:48BF A5 7B cmp #$03 ; CPU:$C8C1 PRG:48C1 C9 03 - bne NmiHandler_Loop391 ; CPU:$C8C3 PRG:48C3 D0 01 + bne NmiHandler_Loop515 ; CPU:$C8C3 PRG:48C3 D0 01 inx ; CPU:$C8C5 PRG:48C5 E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop391 -; Global: Branch target inside NmiHandler: taken when Loop391. +; Routine: NmiHandler_Loop515 +; Global: Branch target inside NmiHandler: taken when Loop515. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop391: +NmiHandler_Loop515: lda $BCA6,x ; CPU:$C8C6 PRG:48C6 BD A6 BC sta Zp0F ; CPU:$C8C9 PRG:48C9 85 0F lda $BCA2,x ; CPU:$C8CB PRG:48CB BD A2 BC - sta Zp01 ; CPU:$C8CE PRG:48CE 85 01 + sta VramWritePtrHi ; CPU:$C8CE PRG:48CE 85 01 clc ; CPU:$C8D0 PRG:48D0 18 adc #$08 ; CPU:$C8D1 PRG:48D1 69 08 sta $03DC,y ; CPU:$C8D3 PRG:48D3 99 DC 03 lda $BCA4,x ; CPU:$C8D6 PRG:48D6 BD A4 BC - sta Zp03 ; CPU:$C8D9 PRG:48D9 85 03 + sta DispatchPtrHi ; CPU:$C8D9 PRG:48D9 85 03 lda Zp8C ; CPU:$C8DB PRG:48DB A5 8C cmp #$05 ; CPU:$C8DD PRG:48DD C9 05 - bne NmiHandler_Loop392 ; CPU:$C8DF PRG:48DF D0 04 + bne NmiHandler_Loop516 ; CPU:$C8DF PRG:48DF D0 04 lda #$08 ; CPU:$C8E1 PRG:48E1 A9 08 sta Zp0F ; CPU:$C8E3 PRG:48E3 85 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop392 -; Global: Branch target inside NmiHandler: taken when Loop392. +; Routine: NmiHandler_Loop516 +; Global: Branch target inside NmiHandler: taken when Loop516. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop392: +NmiHandler_Loop516: lda Zp93 ; CPU:$C8E5 PRG:48E5 A5 93 clc ; CPU:$C8E7 PRG:48E7 18 adc Zp0F ; CPU:$C8E8 PRG:48E8 65 0F - sta Zp00 ; CPU:$C8EA PRG:48EA 85 00 + sta VramWritePtrLo ; CPU:$C8EA PRG:48EA 85 00 lda Zp93 ; CPU:$C8EC PRG:48EC A5 93 clc ; CPU:$C8EE PRG:48EE 18 adc $BCA8,x ; CPU:$C8EF PRG:48EF 7D A8 BC - sta Zp02 ; CPU:$C8F2 PRG:48F2 85 02 + sta DispatchPtrLo ; CPU:$C8F2 PRG:48F2 85 02 lda Zp94 ; CPU:$C8F4 PRG:48F4 A5 94 sec ; CPU:$C8F6 PRG:48F6 38 sbc #$04 ; CPU:$C8F7 PRG:48F7 E9 04 @@ -10839,9 +13613,9 @@ NmiHandler_Loop392: ldx #$04 ; CPU:$C903 PRG:4903 A2 04 jsr Sub_C0B6 ; CPU:$C905 PRG:4905 20 B6 C0 jsr Sub_C0F3 ; CPU:$C908 PRG:4908 20 F3 C0 - beq NmiHandler_OnZero12 ; CPU:$C90B PRG:490B F0 99 + beq NmiHandler_OnZero13 ; CPU:$C90B PRG:490B F0 99 lda $04B5 ; CPU:$C90D PRG:490D AD B5 04 - bne NmiHandler_Loop394 ; CPU:$C910 PRG:4910 D0 2A + bne NmiHandler_Loop518 ; CPU:$C910 PRG:4910 D0 2A ldy Zp0A ; CPU:$C912 PRG:4912 A4 0A lda #$01 ; CPU:$C914 PRG:4914 A9 01 sta $03D8,y ; CPU:$C916 PRG:4916 99 D8 03 @@ -10851,20 +13625,20 @@ NmiHandler_Loop392: sta Zp67 ; CPU:$C920 PRG:4920 85 67 ldx Zp8C ; CPU:$C922 PRG:4922 A6 8C lda Zp53 ; CPU:$C924 PRG:4924 A5 53 - bne NmiHandler_Loop393 ; CPU:$C926 PRG:4926 D0 05 + bne NmiHandler_Loop517 ; CPU:$C926 PRG:4926 D0 05 txa ; CPU:$C928 PRG:4928 8A clc ; CPU:$C929 PRG:4929 18 adc #$12 ; CPU:$C92A PRG:492A 69 12 tax ; CPU:$C92C PRG:492C AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop393 -; Global: Branch target inside NmiHandler: taken when Loop393. +; Routine: NmiHandler_Loop517 +; Global: Branch target inside NmiHandler: taken when Loop517. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop393: +NmiHandler_Loop517: lda $BC34,x ; CPU:$C92D PRG:492D BD 34 BC clc ; CPU:$C930 PRG:4930 18 adc $037A ; CPU:$C931 PRG:4931 6D 7A 03 @@ -10872,14 +13646,14 @@ NmiHandler_Loop393: ldx #$06 ; CPU:$C937 PRG:4937 A2 06 jsr Sub_C462 ; CPU:$C939 PRG:4939 20 62 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop394 -; Global: Branch target inside NmiHandler: taken when Loop394. +; Routine: NmiHandler_Loop518 +; Global: Branch target inside NmiHandler: taken when Loop518. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop394: +NmiHandler_Loop518: rts ; CPU:$C93C PRG:493C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C93D @@ -10892,69 +13666,69 @@ NmiHandler_Loop394: Sub_C93D: ldx #$01 ; CPU:$C93D PRG:493D A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative37 -; Global: Branch target inside NmiHandler: taken when OnNonnegative37. +; Routine: NmiHandler_OnNonnegative47 +; Global: Branch target inside NmiHandler: taken when OnNonnegative47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative37: +NmiHandler_OnNonnegative47: lda $03F8,x ; CPU:$C93F PRG:493F BD F8 03 - beq NmiHandler_Loop397 ; CPU:$C942 PRG:4942 F0 73 + beq NmiHandler_Loop521 ; CPU:$C942 PRG:4942 F0 73 lda $03F8,x ; CPU:$C944 PRG:4944 BD F8 03 cmp #$01 ; CPU:$C947 PRG:4947 C9 01 - beq NmiHandler_Loop397 ; CPU:$C949 PRG:4949 F0 6C + beq NmiHandler_Loop521 ; CPU:$C949 PRG:4949 F0 6C cmp #$05 ; CPU:$C94B PRG:494B C9 05 - beq NmiHandler_Loop397 ; CPU:$C94D PRG:494D F0 68 + beq NmiHandler_Loop521 ; CPU:$C94D PRG:494D F0 68 lda #$00 ; CPU:$C94F PRG:494F A9 00 sta $04B5 ; CPU:$C951 PRG:4951 8D B5 04 lda $0402,x ; CPU:$C954 PRG:4954 BD 02 04 cmp #$01 ; CPU:$C957 PRG:4957 C9 01 - bne NmiHandler_Loop397 ; CPU:$C959 PRG:4959 D0 5C + bne NmiHandler_Loop521 ; CPU:$C959 PRG:4959 D0 5C lda $0400,x ; CPU:$C95B PRG:495B BD 00 04 sta Zp0A ; CPU:$C95E PRG:495E 85 0A lda $0404,x ; CPU:$C960 PRG:4960 BD 04 04 sta Zp0B ; CPU:$C963 PRG:4963 85 0B jsr Sub_C094 ; CPU:$C965 PRG:4965 20 94 C0 jsr Sub_C0F3 ; CPU:$C968 PRG:4968 20 F3 C0 - beq NmiHandler_Loop397 ; CPU:$C96B PRG:496B F0 4A + beq NmiHandler_Loop521 ; CPU:$C96B PRG:496B F0 4A lda $03F8,x ; CPU:$C96D PRG:496D BD F8 03 cmp $040E,x ; CPU:$C970 PRG:4970 DD 0E 04 - beq NmiHandler_Loop397 ; CPU:$C973 PRG:4973 F0 42 + beq NmiHandler_Loop521 ; CPU:$C973 PRG:4973 F0 42 lda Zp53 ; CPU:$C975 PRG:4975 A5 53 - beq NmiHandler_Loop395 ; CPU:$C977 PRG:4977 F0 04 + beq NmiHandler_Loop519 ; CPU:$C977 PRG:4977 F0 04 lda #$12 ; CPU:$C979 PRG:4979 A9 12 - bne NmiHandler_Loop396 ; CPU:$C97B PRG:497B D0 02 + bne NmiHandler_Loop520 ; CPU:$C97B PRG:497B D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop395 -; Global: Branch target inside NmiHandler: taken when Loop395. +; Routine: NmiHandler_Loop519 +; Global: Branch target inside NmiHandler: taken when Loop519. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop395: +NmiHandler_Loop519: lda #$0C ; CPU:$C97D PRG:497D A9 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop396 -; Global: Branch target inside NmiHandler: taken when Loop396. +; Routine: NmiHandler_Loop520 +; Global: Branch target inside NmiHandler: taken when Loop520. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop396: +NmiHandler_Loop520: sta $037A ; CPU:$C97F PRG:497F 8D 7A 03 lda #$01 ; CPU:$C982 PRG:4982 A9 01 sta $04B5 ; CPU:$C984 PRG:4984 8D B5 04 - stx Zp00 ; CPU:$C987 PRG:4987 86 00 + stx VramWritePtrLo ; CPU:$C987 PRG:4987 86 00 ldx #$06 ; CPU:$C989 PRG:4989 A2 06 jsr Sub_C462 ; CPU:$C98B PRG:498B 20 62 C4 - ldx Zp00 ; CPU:$C98E PRG:498E A6 00 + ldx VramWritePtrLo ; CPU:$C98E PRG:498E A6 00 jsr Sub_C1F7 ; CPU:$C990 PRG:4990 20 F7 C1 ldy Zp0F ; CPU:$C993 PRG:4993 A4 0F - bmi NmiHandler_Loop397 ; CPU:$C995 PRG:4995 30 20 + bmi NmiHandler_Loop521 ; CPU:$C995 PRG:4995 30 20 lda $0404,x ; CPU:$C997 PRG:4997 BD 04 04 sta $03DC,y ; CPU:$C99A PRG:499A 99 DC 03 lda $0400,x ; CPU:$C99D PRG:499D BD 00 04 @@ -10968,44 +13742,409 @@ NmiHandler_Loop396: lda $03F8,x ; CPU:$C9B1 PRG:49B1 BD F8 03 sta $040E,x ; CPU:$C9B4 PRG:49B4 9D 0E 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop397 -; Global: Branch target inside NmiHandler: taken when Loop397. +; Routine: NmiHandler_Loop521 +; Global: Branch target inside NmiHandler: taken when Loop521. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop397: +NmiHandler_Loop521: dex ; CPU:$C9B7 PRG:49B7 CA - bpl NmiHandler_OnNonnegative37 ; CPU:$C9B8 PRG:49B8 10 85 + bpl NmiHandler_OnNonnegative47 ; CPU:$C9B8 PRG:49B8 10 85 rts ; CPU:$C9BA PRG:49BA 60 -; ---- data $C9BB-$CB4F (405 bytes) ---- - .byte $BD, $10, $04, $D0, $3E, $A5, $5F, $C9, $04, $D0, $06, $B5, $DF, $C9, $03, $90 ; CPU:$C9BB PRG:49BB BD 10 04 D0 3E A5 5F C9 04 D0 06 B5 DF C9 03 90 - .byte $31, $B5, $80, $29, $10, $F0, $25, $BD, $DC, $04, $C9, $32, $B0, $24, $C9, $2E ; CPU:$C9CB PRG:49CB 31 B5 80 29 10 F0 25 BD DC 04 C9 32 B0 24 C9 2E - .byte $90, $1A, $A5, $69, $29, $02, $F0, $14, $A9, $01, $9D, $10, $04, $4A, $9D, $14 ; CPU:$C9DB PRG:49DB 90 1A A5 69 29 02 F0 14 A9 01 9D 10 04 4A 9D 14 - .byte $04, $9D, $1C, $04, $9D, $94, $03, $B5, $B0, $9D, $18, $04, $B5, $80, $29, $0F ; CPU:$C9EB PRG:49EB 04 9D 1C 04 9D 94 03 B5 B0 9D 18 04 B5 80 29 0F - .byte $95, $80, $60, $A5, $6E, $18, $7D, $14, $04, $9D, $14, $04, $C9, $0E, $B0, $17 ; CPU:$C9FB PRG:49FB 95 80 60 A5 6E 18 7D 14 04 9D 14 04 C9 0E B0 17 - .byte $A9, $00, $95, $B7, $C9, $08, $B0, $04, $A9, $0B, $95, $B7, $BD, $14, $04, $9D ; CPU:$CA0B PRG:4A0B A9 00 95 B7 C9 08 B0 04 A9 0B 95 B7 BD 14 04 9D - .byte $1C, $04, $20, $2F, $CB, $D0, $5E, $C9, $18, $B0, $12, $A9, $09, $95, $B7, $BD ; CPU:$CA1B PRG:4A1B 1C 04 20 2F CB D0 5E C9 18 B0 12 A9 09 95 B7 BD - .byte $14, $04, $38, $E9, $0E, $9D, $1C, $04, $20, $15, $CB, $D0, $48, $C9, $20, $B0 ; CPU:$CA2B PRG:4A2B 14 04 38 E9 0E 9D 1C 04 20 15 CB D0 48 C9 20 B0 - .byte $06, $A9, $09, $95, $B7, $D0, $3E, $C9, $2A, $B0, $12, $A9, $0A, $95, $B7, $BD ; CPU:$CA3B PRG:4A3B 06 A9 09 95 B7 D0 3E C9 2A B0 12 A9 0A 95 B7 BD - .byte $14, $04, $38, $E9, $20, $9D, $1C, $04, $20, $22, $CB, $D0, $28, $C9, $38, $B0 ; CPU:$CA4B PRG:4A4B 14 04 38 E9 20 9D 1C 04 20 22 CB D0 28 C9 38 B0 - .byte $12, $A9, $0B, $95, $B7, $BD, $14, $04, $38, $E9, $2A, $9D, $1C, $04, $20, $3E ; CPU:$CA5B PRG:4A5B 12 A9 0B 95 B7 BD 14 04 38 E9 2A 9D 1C 04 20 3E - .byte $CB, $D0, $12, $A9, $87, $95, $B0, $B5, $80, $29, $0F, $95, $80, $A9, $00, $9D ; CPU:$CA6B PRG:4A6B CB D0 12 A9 87 95 B0 B5 80 29 0F 95 80 A9 00 9D - .byte $10, $04, $95, $B7, $60, $B5, $B0, $18, $69, $20, $85, $01, $18, $69, $08, $85 ; CPU:$CA7B PRG:4A7B 10 04 95 B7 60 B5 B0 18 69 20 85 01 18 69 08 85 - .byte $03, $B5, $8E, $38, $E9, $04, $85, $00, $18, $69, $08, $85, $02, $86, $0F, $A2 ; CPU:$CA8B PRG:4A8B 03 B5 8E 38 E9 04 85 00 18 69 08 85 02 86 0F A2 - .byte $04, $20, $B6, $C0, $A6, $0F, $20, $F3, $C0, $F0, $28, $A9, $01, $85, $FC, $A5 ; CPU:$CA9B PRG:4A9B 04 20 B6 C0 A6 0F 20 F3 C0 F0 28 A9 01 85 FC A5 - .byte $69, $29, $02, $D0, $24, $DE, $A0, $04, $A0, $00, $A5, $69, $29, $04, $F0, $02 ; CPU:$CAAB PRG:4AAB 69 29 02 D0 24 DE A0 04 A0 00 A5 69 29 04 F0 02 - .byte $A0, $04, $98, $8D, $79, $03, $A9, $00, $9D, $D5, $04, $B5, $C0, $9D, $A8, $04 ; CPU:$CABB PRG:4ABB A0 04 98 8D 79 03 A9 00 9D D5 04 B5 C0 9D A8 04 - .byte $20, $47, $C5, $A9, $00, $9D, $B0, $04, $60, $BD, $B0, $04, $D0, $3B, $A5, $53 ; CPU:$CACB PRG:4ACB 20 47 C5 A9 00 9D B0 04 60 BD B0 04 D0 3B A5 53 - .byte $F0, $04, $A9, $0A, $D0, $02, $A9, $05, $8D, $7A, $03, $A9, $38, $38, $FD, $14 ; CPU:$CADB PRG:4ADB F0 04 A9 0A D0 02 A9 05 8D 7A 03 A9 38 38 FD 14 - .byte $04, $9D, $14, $04, $A9, $98, $85, $00, $A5, $94, $38, $E9, $04, $85, $01, $20 ; CPU:$CAEB PRG:4AEB 04 9D 14 04 A9 98 85 00 A5 94 38 E9 04 85 01 20 - .byte $1F, $C0, $8D, $96, $04, $9D, $B0, $04, $4A, $85, $67, $A9, $01, $99, $C9, $03 ; CPU:$CAFB PRG:4AFB 1F C0 8D 96 04 9D B0 04 4A 85 67 A9 01 99 C9 03 - .byte $86, $0A, $A2, $06, $20, $62, $C4, $A6, $0A, $60, $BD, $18, $04, $38, $E9, $1E ; CPU:$CB0B PRG:4B0B 86 0A A2 06 20 62 C4 A6 0A 60 BD 18 04 38 E9 1E - .byte $38, $FD, $1C, $04, $95, $B0, $60, $BD, $18, $04, $38, $E9, $28, $18, $7D, $1C ; CPU:$CB1B PRG:4B1B 38 FD 1C 04 95 B0 60 BD 18 04 38 E9 28 18 7D 1C - .byte $04, $95, $B0, $60, $BD, $1C, $04, $0A, $85, $00, $BD, $18, $04, $38, $E5, $00 ; CPU:$CB2B PRG:4B2B 04 95 B0 60 BD 1C 04 0A 85 00 BD 18 04 38 E5 00 - .byte $95, $B0, $60, $BD, $1C, $04, $0A, $85, $00, $BD, $18, $04, $38, $E9, $1E, $18 ; CPU:$CB3B PRG:4B3B 95 B0 60 BD 1C 04 0A 85 00 BD 18 04 38 E9 1E 18 - .byte $65, $00, $95, $B0, $60 ; CPU:$CB4B PRG:4B4B 65 00 95 B0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9BB +; Global: Branch target inside Sub: taken when C9BB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9BB: + lda $0410,x ; CPU:$C9BB PRG:49BB BD 10 04 + bne NmiHandler_Loop525 ; CPU:$C9BE PRG:49BE D0 3E + lda SpriteIndex ; CPU:$C9C0 PRG:49C0 A5 5F + cmp #$04 ; CPU:$C9C2 PRG:49C2 C9 04 + bne NmiHandler_Loop522 ; CPU:$C9C4 PRG:49C4 D0 06 + lda EnemyHealth,x ; CPU:$C9C6 PRG:49C6 B5 DF + cmp #$03 ; CPU:$C9C8 PRG:49C8 C9 03 + bcc NmiHandler_Loop524 ; CPU:$C9CA PRG:49CA 90 31 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop522 +; Global: Branch target inside NmiHandler: taken when Loop522. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop522: + lda SpriteTimer,x ; CPU:$C9CC PRG:49CC B5 80 + and #$10 ; CPU:$C9CE PRG:49CE 29 10 + beq NmiHandler_Loop523 ; CPU:$C9D0 PRG:49D0 F0 25 + lda $04DC,x ; CPU:$C9D2 PRG:49D2 BD DC 04 + cmp #$32 ; CPU:$C9D5 PRG:49D5 C9 32 + bcs NmiHandler_Loop524 ; CPU:$C9D7 PRG:49D7 B0 24 + cmp #$2E ; CPU:$C9D9 PRG:49D9 C9 2E + bcc NmiHandler_Loop523 ; CPU:$C9DB PRG:49DB 90 1A + lda PlayerIndex ; CPU:$C9DD PRG:49DD A5 69 + and #$02 ; CPU:$C9DF PRG:49DF 29 02 + beq NmiHandler_Loop523 ; CPU:$C9E1 PRG:49E1 F0 14 + lda #$01 ; CPU:$C9E3 PRG:49E3 A9 01 + sta $0410,x ; CPU:$C9E5 PRG:49E5 9D 10 04 + lsr a ; CPU:$C9E8 PRG:49E8 4A + sta $0414,x ; CPU:$C9E9 PRG:49E9 9D 14 04 + sta $041C,x ; CPU:$C9EC PRG:49EC 9D 1C 04 + sta $0394,x ; CPU:$C9EF PRG:49EF 9D 94 03 + lda PlayerX,x ; CPU:$C9F2 PRG:49F2 B5 B0 + sta $0418,x ; CPU:$C9F4 PRG:49F4 9D 18 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop523 +; Global: Branch target inside NmiHandler: taken when Loop523. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop523: + lda SpriteTimer,x ; CPU:$C9F7 PRG:49F7 B5 80 + and #$0F ; CPU:$C9F9 PRG:49F9 29 0F + sta SpriteTimer,x ; CPU:$C9FB PRG:49FB 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop524 +; Global: Branch target inside NmiHandler: taken when Loop524. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop524: + rts ; CPU:$C9FD PRG:49FD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop525 +; Global: Branch target inside NmiHandler: taken when Loop525. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop525: + lda Zp6E ; CPU:$C9FE PRG:49FE A5 6E + clc ; CPU:$CA00 PRG:4A00 18 + adc $0414,x ; CPU:$CA01 PRG:4A01 7D 14 04 + sta $0414,x ; CPU:$CA04 PRG:4A04 9D 14 04 + cmp #$0E ; CPU:$CA07 PRG:4A07 C9 0E + bcs NmiHandler_Loop527 ; CPU:$CA09 PRG:4A09 B0 17 + lda #$00 ; CPU:$CA0B PRG:4A0B A9 00 + sta PlayerY,x ; CPU:$CA0D PRG:4A0D 95 B7 + cmp #$08 ; CPU:$CA0F PRG:4A0F C9 08 + bcs NmiHandler_Loop526 ; CPU:$CA11 PRG:4A11 B0 04 + lda #$0B ; CPU:$CA13 PRG:4A13 A9 0B + sta PlayerY,x ; CPU:$CA15 PRG:4A15 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop526 +; Global: Branch target inside NmiHandler: taken when Loop526. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop526: + lda $0414,x ; CPU:$CA17 PRG:4A17 BD 14 04 + sta $041C,x ; CPU:$CA1A PRG:4A1A 9D 1C 04 + jsr Sub_CB2F ; CPU:$CA1D PRG:4A1D 20 2F CB + bne NmiHandler_Loop532 ; CPU:$CA20 PRG:4A20 D0 5E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop527 +; Global: Branch target inside NmiHandler: taken when Loop527. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop527: + cmp #$18 ; CPU:$CA22 PRG:4A22 C9 18 + bcs NmiHandler_Loop528 ; CPU:$CA24 PRG:4A24 B0 12 + lda #$09 ; CPU:$CA26 PRG:4A26 A9 09 + sta PlayerY,x ; CPU:$CA28 PRG:4A28 95 B7 + lda $0414,x ; CPU:$CA2A PRG:4A2A BD 14 04 + sec ; CPU:$CA2D PRG:4A2D 38 + sbc #$0E ; CPU:$CA2E PRG:4A2E E9 0E + sta $041C,x ; CPU:$CA30 PRG:4A30 9D 1C 04 + jsr Sub_CB15 ; CPU:$CA33 PRG:4A33 20 15 CB + bne NmiHandler_Loop532 ; CPU:$CA36 PRG:4A36 D0 48 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop528 +; Global: Branch target inside NmiHandler: taken when Loop528. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop528: + cmp #$20 ; CPU:$CA38 PRG:4A38 C9 20 + bcs NmiHandler_Loop529 ; CPU:$CA3A PRG:4A3A B0 06 + lda #$09 ; CPU:$CA3C PRG:4A3C A9 09 + sta PlayerY,x ; CPU:$CA3E PRG:4A3E 95 B7 + bne NmiHandler_Loop532 ; CPU:$CA40 PRG:4A40 D0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop529 +; Global: Branch target inside NmiHandler: taken when Loop529. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop529: + cmp #$2A ; CPU:$CA42 PRG:4A42 C9 2A + bcs NmiHandler_Loop530 ; CPU:$CA44 PRG:4A44 B0 12 + lda #$0A ; CPU:$CA46 PRG:4A46 A9 0A + sta PlayerY,x ; CPU:$CA48 PRG:4A48 95 B7 + lda $0414,x ; CPU:$CA4A PRG:4A4A BD 14 04 + sec ; CPU:$CA4D PRG:4A4D 38 + sbc #$20 ; CPU:$CA4E PRG:4A4E E9 20 + sta $041C,x ; CPU:$CA50 PRG:4A50 9D 1C 04 + jsr Sub_CB22 ; CPU:$CA53 PRG:4A53 20 22 CB + bne NmiHandler_Loop532 ; CPU:$CA56 PRG:4A56 D0 28 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop530 +; Global: Branch target inside NmiHandler: taken when Loop530. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop530: + cmp #$38 ; CPU:$CA58 PRG:4A58 C9 38 + bcs NmiHandler_Loop531 ; CPU:$CA5A PRG:4A5A B0 12 + lda #$0B ; CPU:$CA5C PRG:4A5C A9 0B + sta PlayerY,x ; CPU:$CA5E PRG:4A5E 95 B7 + lda $0414,x ; CPU:$CA60 PRG:4A60 BD 14 04 + sec ; CPU:$CA63 PRG:4A63 38 + sbc #$2A ; CPU:$CA64 PRG:4A64 E9 2A + sta $041C,x ; CPU:$CA66 PRG:4A66 9D 1C 04 + jsr Sub_CB3E ; CPU:$CA69 PRG:4A69 20 3E CB + bne NmiHandler_Loop532 ; CPU:$CA6C PRG:4A6C D0 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop531 +; Global: Branch target inside NmiHandler: taken when Loop531. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop531: + lda #$87 ; CPU:$CA6E PRG:4A6E A9 87 + sta PlayerX,x ; CPU:$CA70 PRG:4A70 95 B0 + lda SpriteTimer,x ; CPU:$CA72 PRG:4A72 B5 80 + and #$0F ; CPU:$CA74 PRG:4A74 29 0F + sta SpriteTimer,x ; CPU:$CA76 PRG:4A76 95 80 + lda #$00 ; CPU:$CA78 PRG:4A78 A9 00 + sta $0410,x ; CPU:$CA7A PRG:4A7A 9D 10 04 + sta PlayerY,x ; CPU:$CA7D PRG:4A7D 95 B7 + rts ; CPU:$CA7F PRG:4A7F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop532 +; Global: Branch target inside NmiHandler: taken when Loop532. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop532: + lda PlayerX,x ; CPU:$CA80 PRG:4A80 B5 B0 + clc ; CPU:$CA82 PRG:4A82 18 + adc #$20 ; CPU:$CA83 PRG:4A83 69 20 + sta VramWritePtrHi ; CPU:$CA85 PRG:4A85 85 01 + clc ; CPU:$CA87 PRG:4A87 18 + adc #$08 ; CPU:$CA88 PRG:4A88 69 08 + sta DispatchPtrHi ; CPU:$CA8A PRG:4A8A 85 03 + lda Zp8E,x ; CPU:$CA8C PRG:4A8C B5 8E + sec ; CPU:$CA8E PRG:4A8E 38 + sbc #$04 ; CPU:$CA8F PRG:4A8F E9 04 + sta VramWritePtrLo ; CPU:$CA91 PRG:4A91 85 00 + clc ; CPU:$CA93 PRG:4A93 18 + adc #$08 ; CPU:$CA94 PRG:4A94 69 08 + sta DispatchPtrLo ; CPU:$CA96 PRG:4A96 85 02 + stx Zp0F ; CPU:$CA98 PRG:4A98 86 0F + ldx #$04 ; CPU:$CA9A PRG:4A9A A2 04 + jsr Sub_C0B6 ; CPU:$CA9C PRG:4A9C 20 B6 C0 + ldx Zp0F ; CPU:$CA9F PRG:4A9F A6 0F + jsr Sub_C0F3 ; CPU:$CAA1 PRG:4AA1 20 F3 C0 + beq NmiHandler_Loop534 ; CPU:$CAA4 PRG:4AA4 F0 28 + lda #$01 ; CPU:$CAA6 PRG:4AA6 A9 01 + sta ZpFC ; CPU:$CAA8 PRG:4AA8 85 FC + lda PlayerIndex ; CPU:$CAAA PRG:4AAA A5 69 + and #$02 ; CPU:$CAAC PRG:4AAC 29 02 + bne NmiHandler_Loop535 ; CPU:$CAAE PRG:4AAE D0 24 + dec $04A0,x ; CPU:$CAB0 PRG:4AB0 DE A0 04 + ldy #$00 ; CPU:$CAB3 PRG:4AB3 A0 00 + lda PlayerIndex ; CPU:$CAB5 PRG:4AB5 A5 69 + and #$04 ; CPU:$CAB7 PRG:4AB7 29 04 + beq NmiHandler_Loop533 ; CPU:$CAB9 PRG:4AB9 F0 02 + ldy #$04 ; CPU:$CABB PRG:4ABB A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop533 +; Global: Branch target inside NmiHandler: taken when Loop533. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop533: + tya ; CPU:$CABD PRG:4ABD 98 + sta $0379 ; CPU:$CABE PRG:4ABE 8D 79 03 + lda #$00 ; CPU:$CAC1 PRG:4AC1 A9 00 + sta $04D5,x ; CPU:$CAC3 PRG:4AC3 9D D5 04 + lda GameState,x ; CPU:$CAC6 PRG:4AC6 B5 C0 + sta $04A8,x ; CPU:$CAC8 PRG:4AC8 9D A8 04 + jsr Sub_C547 ; CPU:$CACB PRG:4ACB 20 47 C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop534 +; Global: Branch target inside NmiHandler: taken when Loop534. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop534: + lda #$00 ; CPU:$CACE PRG:4ACE A9 00 + sta $04B0,x ; CPU:$CAD0 PRG:4AD0 9D B0 04 + rts ; CPU:$CAD3 PRG:4AD3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop535 +; Global: Branch target inside NmiHandler: taken when Loop535. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop535: + lda $04B0,x ; CPU:$CAD4 PRG:4AD4 BD B0 04 + bne NmiHandler_Loop538 ; CPU:$CAD7 PRG:4AD7 D0 3B + lda Zp53 ; CPU:$CAD9 PRG:4AD9 A5 53 + beq NmiHandler_Loop536 ; CPU:$CADB PRG:4ADB F0 04 + lda #$0A ; CPU:$CADD PRG:4ADD A9 0A + bne NmiHandler_Loop537 ; CPU:$CADF PRG:4ADF D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop536 +; Global: Branch target inside NmiHandler: taken when Loop536. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop536: + lda #$05 ; CPU:$CAE1 PRG:4AE1 A9 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop537 +; Global: Branch target inside NmiHandler: taken when Loop537. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop537: + sta $037A ; CPU:$CAE3 PRG:4AE3 8D 7A 03 + lda #$38 ; CPU:$CAE6 PRG:4AE6 A9 38 + sec ; CPU:$CAE8 PRG:4AE8 38 + sbc $0414,x ; CPU:$CAE9 PRG:4AE9 FD 14 04 + sta $0414,x ; CPU:$CAEC PRG:4AEC 9D 14 04 + lda #$98 ; CPU:$CAEF PRG:4AEF A9 98 + sta VramWritePtrLo ; CPU:$CAF1 PRG:4AF1 85 00 + lda Zp94 ; CPU:$CAF3 PRG:4AF3 A5 94 + sec ; CPU:$CAF5 PRG:4AF5 38 + sbc #$04 ; CPU:$CAF6 PRG:4AF6 E9 04 + sta VramWritePtrHi ; CPU:$CAF8 PRG:4AF8 85 01 + jsr Sub_C01F ; CPU:$CAFA PRG:4AFA 20 1F C0 + sta $0496 ; CPU:$CAFD PRG:4AFD 8D 96 04 + sta $04B0,x ; CPU:$CB00 PRG:4B00 9D B0 04 + lsr a ; CPU:$CB03 PRG:4B03 4A + sta Zp67 ; CPU:$CB04 PRG:4B04 85 67 + lda #$01 ; CPU:$CB06 PRG:4B06 A9 01 + sta $03C9,y ; CPU:$CB08 PRG:4B08 99 C9 03 + stx Zp0A ; CPU:$CB0B PRG:4B0B 86 0A + ldx #$06 ; CPU:$CB0D PRG:4B0D A2 06 + jsr Sub_C462 ; CPU:$CB0F PRG:4B0F 20 62 C4 + ldx Zp0A ; CPU:$CB12 PRG:4B12 A6 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop538 +; Global: Branch target inside NmiHandler: taken when Loop538. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop538: + rts ; CPU:$CB14 PRG:4B14 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB15 +; Global: Branch target inside Sub: taken when CB15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB15: + lda $0418,x ; CPU:$CB15 PRG:4B15 BD 18 04 + sec ; CPU:$CB18 PRG:4B18 38 + sbc #$1E ; CPU:$CB19 PRG:4B19 E9 1E + sec ; CPU:$CB1B PRG:4B1B 38 + sbc $041C,x ; CPU:$CB1C PRG:4B1C FD 1C 04 + sta PlayerX,x ; CPU:$CB1F PRG:4B1F 95 B0 + rts ; CPU:$CB21 PRG:4B21 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB22 +; Global: Branch target inside Sub: taken when CB22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB22: + lda $0418,x ; CPU:$CB22 PRG:4B22 BD 18 04 + sec ; CPU:$CB25 PRG:4B25 38 + sbc #$28 ; CPU:$CB26 PRG:4B26 E9 28 + clc ; CPU:$CB28 PRG:4B28 18 + adc $041C,x ; CPU:$CB29 PRG:4B29 7D 1C 04 + sta PlayerX,x ; CPU:$CB2C PRG:4B2C 95 B0 + rts ; CPU:$CB2E PRG:4B2E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB2F +; Global: Branch target inside Sub: taken when CB2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB2F: + lda $041C,x ; CPU:$CB2F PRG:4B2F BD 1C 04 + asl a ; CPU:$CB32 PRG:4B32 0A + sta VramWritePtrLo ; CPU:$CB33 PRG:4B33 85 00 + lda $0418,x ; CPU:$CB35 PRG:4B35 BD 18 04 + sec ; CPU:$CB38 PRG:4B38 38 + sbc VramWritePtrLo ; CPU:$CB39 PRG:4B39 E5 00 + sta PlayerX,x ; CPU:$CB3B PRG:4B3B 95 B0 + rts ; CPU:$CB3D PRG:4B3D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB3E +; Global: Branch target inside Sub: taken when CB3E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB3E: + lda $041C,x ; CPU:$CB3E PRG:4B3E BD 1C 04 + asl a ; CPU:$CB41 PRG:4B41 0A + sta VramWritePtrLo ; CPU:$CB42 PRG:4B42 85 00 + lda $0418,x ; CPU:$CB44 PRG:4B44 BD 18 04 + sec ; CPU:$CB47 PRG:4B47 38 + sbc #$1E ; CPU:$CB48 PRG:4B48 E9 1E + clc ; CPU:$CB4A PRG:4B4A 18 + adc VramWritePtrLo ; CPU:$CB4B PRG:4B4B 65 00 + sta PlayerX,x ; CPU:$CB4D PRG:4B4D 95 B0 + rts ; CPU:$CB4F PRG:4B4F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CB50 ; Global: Branch target inside Sub: taken when CB50. @@ -11017,39 +14156,39 @@ NmiHandler_Loop397: Sub_CB50: lda ZpAA,x ; CPU:$CB50 PRG:4B50 B5 AA cmp #$01 ; CPU:$CB52 PRG:4B52 C9 01 - bne NmiHandler_Loop400 ; CPU:$CB54 PRG:4B54 D0 4C + bne NmiHandler_Loop541 ; CPU:$CB54 PRG:4B54 D0 4C lda $0430,x ; CPU:$CB56 PRG:4B56 BD 30 04 - beq NmiHandler_Loop400 ; CPU:$CB59 PRG:4B59 F0 47 + beq NmiHandler_Loop541 ; CPU:$CB59 PRG:4B59 F0 47 lda Zp99,x ; CPU:$CB5B PRG:4B5B B5 99 sta Zp0A ; CPU:$CB5D PRG:4B5D 85 0A lda $0421,x ; CPU:$CB5F PRG:4B5F BD 21 04 sta Zp0B ; CPU:$CB62 PRG:4B62 85 0B jsr Sub_C094 ; CPU:$CB64 PRG:4B64 20 94 C0 jsr Sub_C0F3 ; CPU:$CB67 PRG:4B67 20 F3 C0 - beq NmiHandler_Loop400 ; CPU:$CB6A PRG:4B6A F0 36 + beq NmiHandler_Loop541 ; CPU:$CB6A PRG:4B6A F0 36 lda Zp53 ; CPU:$CB6C PRG:4B6C A5 53 - beq NmiHandler_Loop398 ; CPU:$CB6E PRG:4B6E F0 04 + beq NmiHandler_Loop539 ; CPU:$CB6E PRG:4B6E F0 04 lda #$19 ; CPU:$CB70 PRG:4B70 A9 19 - bne NmiHandler_Loop399 ; CPU:$CB72 PRG:4B72 D0 02 + bne NmiHandler_Loop540 ; CPU:$CB72 PRG:4B72 D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop398 -; Global: Branch target inside NmiHandler: taken when Loop398. +; Routine: NmiHandler_Loop539 +; Global: Branch target inside NmiHandler: taken when Loop539. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop398: +NmiHandler_Loop539: lda #$13 ; CPU:$CB74 PRG:4B74 A9 13 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop399 -; Global: Branch target inside NmiHandler: taken when Loop399. +; Routine: NmiHandler_Loop540 +; Global: Branch target inside NmiHandler: taken when Loop540. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop399: +NmiHandler_Loop540: sta $037A ; CPU:$CB76 PRG:4B76 8D 7A 03 stx Zp0A ; CPU:$CB79 PRG:4B79 86 0A ldx #$06 ; CPU:$CB7B PRG:4B7B A2 06 @@ -11058,9 +14197,9 @@ NmiHandler_Loop399: lda $0421,x ; CPU:$CB82 PRG:4B82 BD 21 04 clc ; CPU:$CB85 PRG:4B85 18 adc #$04 ; CPU:$CB86 PRG:4B86 69 04 - sta Zp00 ; CPU:$CB88 PRG:4B88 85 00 + sta VramWritePtrLo ; CPU:$CB88 PRG:4B88 85 00 lda Zp94 ; CPU:$CB8A PRG:4B8A A5 94 - sta Zp01 ; CPU:$CB8C PRG:4B8C 85 01 + sta VramWritePtrHi ; CPU:$CB8C PRG:4B8C 85 01 jsr Sub_C01F ; CPU:$CB8E PRG:4B8E 20 1F C0 sta $0496 ; CPU:$CB91 PRG:4B91 8D 96 04 lsr a ; CPU:$CB94 PRG:4B94 4A @@ -11072,14 +14211,14 @@ NmiHandler_Loop399: sec ; CPU:$CBA0 PRG:4BA0 38 rts ; CPU:$CBA1 PRG:4BA1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop400 -; Global: Branch target inside NmiHandler: taken when Loop400. +; Routine: NmiHandler_Loop541 +; Global: Branch target inside NmiHandler: taken when Loop541. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop400: +NmiHandler_Loop541: clc ; CPU:$CBA2 PRG:4BA2 18 rts ; CPU:$CBA3 PRG:4BA3 60 ; ----------------------------------------------------------------------------- @@ -11094,60 +14233,60 @@ Sub_CBA4: ldx #$06 ; CPU:$CBA4 PRG:4BA4 A2 06 clc ; CPU:$CBA6 PRG:4BA6 18 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet4 -; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet4: +NmiHandler_OnCarrySet5: lda $0530,x ; CPU:$CBA7 PRG:4BA7 BD 30 05 adc $0520,x ; CPU:$CBAA PRG:4BAA 7D 20 05 sta $0530,x ; CPU:$CBAD PRG:4BAD 9D 30 05 dex ; CPU:$CBB0 PRG:4BB0 CA - bmi NmiHandler_Loop402 ; CPU:$CBB1 PRG:4BB1 30 11 + bmi NmiHandler_Loop543 ; CPU:$CBB1 PRG:4BB1 30 11 sec ; CPU:$CBB3 PRG:4BB3 38 sbc #$0A ; CPU:$CBB4 PRG:4BB4 E9 0A - bcc NmiHandler_Loop401 ; CPU:$CBB6 PRG:4BB6 90 06 + bcc NmiHandler_Loop542 ; CPU:$CBB6 PRG:4BB6 90 06 sta $0531,x ; CPU:$CBB8 PRG:4BB8 9D 31 05 sec ; CPU:$CBBB PRG:4BBB 38 - bcs NmiHandler_OnCarrySet4 ; CPU:$CBBC PRG:4BBC B0 E9 + bcs NmiHandler_OnCarrySet5 ; CPU:$CBBC PRG:4BBC B0 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop401 -; Global: Branch target inside NmiHandler: taken when Loop401. +; Routine: NmiHandler_Loop542 +; Global: Branch target inside NmiHandler: taken when Loop542. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop401: +NmiHandler_Loop542: sta $0527 ; CPU:$CBBE PRG:4BBE 8D 27 05 clc ; CPU:$CBC1 PRG:4BC1 18 - bcc NmiHandler_OnCarrySet4 ; CPU:$CBC2 PRG:4BC2 90 E3 + bcc NmiHandler_OnCarrySet5 ; CPU:$CBC2 PRG:4BC2 90 E3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop402 -; Global: Branch target inside NmiHandler: taken when Loop402. +; Routine: NmiHandler_Loop543 +; Global: Branch target inside NmiHandler: taken when Loop543. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop402: +NmiHandler_Loop543: lda #$00 ; CPU:$CBC4 PRG:4BC4 A9 00 ldx #$06 ; CPU:$CBC6 PRG:4BC6 A2 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative38 -; Global: Branch target inside NmiHandler: taken when OnNonnegative38. +; Routine: NmiHandler_OnNonnegative48 +; Global: Branch target inside NmiHandler: taken when OnNonnegative48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative38: +NmiHandler_OnNonnegative48: sta $0520,x ; CPU:$CBC8 PRG:4BC8 9D 20 05 dex ; CPU:$CBCB PRG:4BCB CA - bpl NmiHandler_OnNonnegative38 ; CPU:$CBCC PRG:4BCC 10 FA + bpl NmiHandler_OnNonnegative48 ; CPU:$CBCC PRG:4BCC 10 FA rts ; CPU:$CBCE PRG:4BCE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CBCF @@ -11171,20 +14310,20 @@ Sub_CBCF: iny ; CPU:$CBE6 PRG:4BE6 C8 ldx #$00 ; CPU:$CBE7 PRG:4BE7 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero37 -; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero37: +NmiHandler_OnNonzero46: lda $0531,x ; CPU:$CBE9 PRG:4BE9 BD 31 05 sta $0300,y ; CPU:$CBEC PRG:4BEC 99 00 03 iny ; CPU:$CBEF PRG:4BEF C8 inx ; CPU:$CBF0 PRG:4BF0 E8 cpx #$06 ; CPU:$CBF1 PRG:4BF1 E0 06 - bne NmiHandler_OnNonzero37 ; CPU:$CBF3 PRG:4BF3 D0 F4 + bne NmiHandler_OnNonzero46 ; CPU:$CBF3 PRG:4BF3 D0 F4 lda #$00 ; CPU:$CBF5 PRG:4BF5 A9 00 sta $0300,y ; CPU:$CBF7 PRG:4BF7 99 00 03 dey ; CPU:$CBFA PRG:4BFA 88 @@ -11202,73 +14341,73 @@ Sub_CBFF: ldx #$00 ; CPU:$CBFF PRG:4BFF A2 00 ldy #$00 ; CPU:$CC01 PRG:4C01 A0 00 lda Zp53 ; CPU:$CC03 PRG:4C03 A5 53 - beq NmiHandler_OnNonzero38 ; CPU:$CC05 PRG:4C05 F0 02 + beq NmiHandler_OnNonzero47 ; CPU:$CC05 PRG:4C05 F0 02 ldy #$07 ; CPU:$CC07 PRG:4C07 A0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero38 -; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero38: +NmiHandler_OnNonzero47: lda $0530,x ; CPU:$CC09 PRG:4C09 BD 30 05 cmp $0510,y ; CPU:$CC0C PRG:4C0C D9 10 05 - beq NmiHandler_Loop403 ; CPU:$CC0F PRG:4C0F F0 04 - bcs NmiHandler_Loop404 ; CPU:$CC11 PRG:4C11 B0 09 - bcc NmiHandler_Loop405 ; CPU:$CC13 PRG:4C13 90 1B + beq NmiHandler_Loop544 ; CPU:$CC0F PRG:4C0F F0 04 + bcs NmiHandler_Loop545 ; CPU:$CC11 PRG:4C11 B0 09 + bcc NmiHandler_Loop546 ; CPU:$CC13 PRG:4C13 90 1B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop403 -; Global: Branch target inside NmiHandler: taken when Loop403. +; Routine: NmiHandler_Loop544 +; Global: Branch target inside NmiHandler: taken when Loop544. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop403: +NmiHandler_Loop544: iny ; CPU:$CC15 PRG:4C15 C8 inx ; CPU:$CC16 PRG:4C16 E8 cpx #$07 ; CPU:$CC17 PRG:4C17 E0 07 - bne NmiHandler_OnNonzero38 ; CPU:$CC19 PRG:4C19 D0 EE + bne NmiHandler_OnNonzero47 ; CPU:$CC19 PRG:4C19 D0 EE rts ; CPU:$CC1B PRG:4C1B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop404 -; Global: Branch target inside NmiHandler: taken when Loop404. +; Routine: NmiHandler_Loop545 +; Global: Branch target inside NmiHandler: taken when Loop545. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop404: +NmiHandler_Loop545: ldx #$06 ; CPU:$CC1C PRG:4C1C A2 06 ldy #$06 ; CPU:$CC1E PRG:4C1E A0 06 lda Zp53 ; CPU:$CC20 PRG:4C20 A5 53 - beq NmiHandler_OnNonnegative39 ; CPU:$CC22 PRG:4C22 F0 02 + beq NmiHandler_OnNonnegative49 ; CPU:$CC22 PRG:4C22 F0 02 ldy #$0D ; CPU:$CC24 PRG:4C24 A0 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative39 -; Global: Branch target inside NmiHandler: taken when OnNonnegative39. +; Routine: NmiHandler_OnNonnegative49 +; Global: Branch target inside NmiHandler: taken when OnNonnegative49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative39: +NmiHandler_OnNonnegative49: lda $0530,x ; CPU:$CC26 PRG:4C26 BD 30 05 sta $0510,y ; CPU:$CC29 PRG:4C29 99 10 05 dey ; CPU:$CC2C PRG:4C2C 88 dex ; CPU:$CC2D PRG:4C2D CA - bpl NmiHandler_OnNonnegative39 ; CPU:$CC2E PRG:4C2E 10 F6 + bpl NmiHandler_OnNonnegative49 ; CPU:$CC2E PRG:4C2E 10 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop405 -; Global: Branch target inside NmiHandler: taken when Loop405. +; Routine: NmiHandler_Loop546 +; Global: Branch target inside NmiHandler: taken when Loop546. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop405: +NmiHandler_Loop546: rts ; CPU:$CC30 PRG:4C30 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC31 @@ -11280,20 +14419,20 @@ NmiHandler_Loop405: ; ----------------------------------------------------------------------------- Sub_CC31: lda #$06 ; CPU:$CC31 PRG:4C31 A9 06 - sta Zp00 ; CPU:$CC33 PRG:4C33 85 00 + sta VramWritePtrLo ; CPU:$CC33 PRG:4C33 85 00 ldx #$00 ; CPU:$CC35 PRG:4C35 A2 00 lda Zp53 ; CPU:$CC37 PRG:4C37 A5 53 - beq NmiHandler_Loop406 ; CPU:$CC39 PRG:4C39 F0 02 + beq NmiHandler_Loop547 ; CPU:$CC39 PRG:4C39 F0 02 ldx #$07 ; CPU:$CC3B PRG:4C3B A2 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop406 -; Global: Branch target inside NmiHandler: taken when Loop406. +; Routine: NmiHandler_Loop547 +; Global: Branch target inside NmiHandler: taken when Loop547. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop406: +NmiHandler_Loop547: ldy $0300 ; CPU:$CC3D PRG:4C3D AC 00 03 iny ; CPU:$CC40 PRG:4C40 C8 lda $052A ; CPU:$CC41 PRG:4C41 AD 2A 05 @@ -11306,20 +14445,20 @@ NmiHandler_Loop406: sta $0300,y ; CPU:$CC51 PRG:4C51 99 00 03 iny ; CPU:$CC54 PRG:4C54 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero39 -; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero39: +NmiHandler_OnNonzero48: lda $0511,x ; CPU:$CC55 PRG:4C55 BD 11 05 sta $0300,y ; CPU:$CC58 PRG:4C58 99 00 03 iny ; CPU:$CC5B PRG:4C5B C8 inx ; CPU:$CC5C PRG:4C5C E8 - dec Zp00 ; CPU:$CC5D PRG:4C5D C6 00 - bne NmiHandler_OnNonzero39 ; CPU:$CC5F PRG:4C5F D0 F4 + dec VramWritePtrLo ; CPU:$CC5D PRG:4C5D C6 00 + bne NmiHandler_OnNonzero48 ; CPU:$CC5F PRG:4C5F D0 F4 lda #$00 ; CPU:$CC61 PRG:4C61 A9 00 sta $0300,y ; CPU:$CC63 PRG:4C63 99 00 03 dey ; CPU:$CC66 PRG:4C66 88 @@ -11344,17 +14483,17 @@ Sub_CC6B: ldx Zp55 ; CPU:$CC7D PRG:4C7D A6 55 lda Zp5C,x ; CPU:$CC7F PRG:4C7F B5 5C tax ; CPU:$CC81 PRG:4C81 AA - beq NmiHandler_Loop407 ; CPU:$CC82 PRG:4C82 F0 01 + beq NmiHandler_Loop548 ; CPU:$CC82 PRG:4C82 F0 01 dex ; CPU:$CC84 PRG:4C84 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop407 -; Global: Branch target inside NmiHandler: taken when Loop407. +; Routine: NmiHandler_Loop548 +; Global: Branch target inside NmiHandler: taken when Loop548. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop407: +NmiHandler_Loop548: txa ; CPU:$CC85 PRG:4C85 8A sta $0304,y ; CPU:$CC86 PRG:4C86 99 04 03 tya ; CPU:$CC89 PRG:4C89 98 @@ -11362,13 +14501,119 @@ NmiHandler_Loop407: adc #$04 ; CPU:$CC8B PRG:4C8B 69 04 sta $0300 ; CPU:$CC8D PRG:4C8D 8D 00 03 rts ; CPU:$CC90 PRG:4C90 60 -; ---- data $CC91-$CCE7 (87 bytes) ---- - .byte $A2, $0B, $BD, $7E, $BD, $9D, $0C, $02, $CA, $10, $F7, $60, $A9, $02, $85, $6C ; CPU:$CC91 PRG:4C91 A2 0B BD 7E BD 9D 0C 02 CA 10 F7 60 A9 02 85 6C - .byte $A9, $01, $8D, $7A, $03, $AD, $A6, $04, $38, $ED, $7A, $03, $8D, $A6, $04, $30 ; CPU:$CCA1 PRG:4CA1 A9 01 8D 7A 03 AD A6 04 38 ED 7A 03 8D A6 04 30 - .byte $13, $AD, $B2, $03, $D0, $07, $A9, $01, $8D, $24, $05, $D0, $05, $A9, $01, $8D ; CPU:$CCB1 PRG:4CB1 13 AD B2 03 D0 07 A9 01 8D 24 05 D0 05 A9 01 8D - .byte $23, $05, $18, $60, $38, $60, $A9, $02, $85, $6C, $A9, $07, $85, $00, $20, $15 ; CPU:$CCC1 PRG:4CC1 23 05 18 60 38 60 A9 02 85 6C A9 07 85 00 20 15 - .byte $C7, $AD, $68, $03, $D0, $EE, $A9, $01, $8D, $25, $05, $20, $A4, $CB, $20, $FF ; CPU:$CCD1 PRG:4CD1 C7 AD 68 03 D0 EE A9 01 8D 25 05 20 A4 CB 20 FF - .byte $CB, $C6, $00, $10, $E9, $18, $60 ; CPU:$CCE1 PRG:4CE1 CB C6 00 10 E9 18 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC91 +; Global: Branch target inside Sub: taken when CC91. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC91: + ldx #$0B ; CPU:$CC91 PRG:4C91 A2 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative50 +; Global: Branch target inside NmiHandler: taken when OnNonnegative50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative50: + lda $BD7E,x ; CPU:$CC93 PRG:4C93 BD 7E BD + sta $020C,x ; CPU:$CC96 PRG:4C96 9D 0C 02 + dex ; CPU:$CC99 PRG:4C99 CA + bpl NmiHandler_OnNonnegative50 ; CPU:$CC9A PRG:4C9A 10 F7 + rts ; CPU:$CC9C PRG:4C9C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC9D +; Global: Branch target inside Sub: taken when CC9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC9D: + lda #$02 ; CPU:$CC9D PRG:4C9D A9 02 + sta Zp6C ; CPU:$CC9F PRG:4C9F 85 6C + lda #$01 ; CPU:$CCA1 PRG:4CA1 A9 01 + sta $037A ; CPU:$CCA3 PRG:4CA3 8D 7A 03 + lda $04A6 ; CPU:$CCA6 PRG:4CA6 AD A6 04 + sec ; CPU:$CCA9 PRG:4CA9 38 + sbc $037A ; CPU:$CCAA PRG:4CAA ED 7A 03 + sta $04A6 ; CPU:$CCAD PRG:4CAD 8D A6 04 + bmi NmiHandler_OnNonzero49 ; CPU:$CCB0 PRG:4CB0 30 13 + lda $03B2 ; CPU:$CCB2 PRG:4CB2 AD B2 03 + bne NmiHandler_Loop549 ; CPU:$CCB5 PRG:4CB5 D0 07 + lda #$01 ; CPU:$CCB7 PRG:4CB7 A9 01 + sta $0524 ; CPU:$CCB9 PRG:4CB9 8D 24 05 + bne NmiHandler_Loop550 ; CPU:$CCBC PRG:4CBC D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop549 +; Global: Branch target inside NmiHandler: taken when Loop549. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop549: + lda #$01 ; CPU:$CCBE PRG:4CBE A9 01 + sta $0523 ; CPU:$CCC0 PRG:4CC0 8D 23 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop550 +; Global: Branch target inside NmiHandler: taken when Loop550. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop550: + clc ; CPU:$CCC3 PRG:4CC3 18 + rts ; CPU:$CCC4 PRG:4CC4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero49: + sec ; CPU:$CCC5 PRG:4CC5 38 + rts ; CPU:$CCC6 PRG:4CC6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCC7 +; Global: Branch target inside Sub: taken when CCC7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCC7: + lda #$02 ; CPU:$CCC7 PRG:4CC7 A9 02 + sta Zp6C ; CPU:$CCC9 PRG:4CC9 85 6C + lda #$07 ; CPU:$CCCB PRG:4CCB A9 07 + sta VramWritePtrLo ; CPU:$CCCD PRG:4CCD 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative51 +; Global: Branch target inside NmiHandler: taken when OnNonnegative51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative51: + jsr Sub_C715 ; CPU:$CCCF PRG:4CCF 20 15 C7 + lda $0368 ; CPU:$CCD2 PRG:4CD2 AD 68 03 + bne NmiHandler_OnNonzero49 ; CPU:$CCD5 PRG:4CD5 D0 EE + lda #$01 ; CPU:$CCD7 PRG:4CD7 A9 01 + sta $0525 ; CPU:$CCD9 PRG:4CD9 8D 25 05 + jsr Sub_CBA4 ; CPU:$CCDC PRG:4CDC 20 A4 CB + jsr Sub_CBFF ; CPU:$CCDF PRG:4CDF 20 FF CB + dec VramWritePtrLo ; CPU:$CCE2 PRG:4CE2 C6 00 + bpl NmiHandler_OnNonnegative51 ; CPU:$CCE4 PRG:4CE4 10 E9 + clc ; CPU:$CCE6 PRG:4CE6 18 + rts ; CPU:$CCE7 PRG:4CE7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CCE8 ; Global: Branch target inside Sub: taken when CCE8. @@ -11379,26 +14624,26 @@ NmiHandler_Loop407: ; ----------------------------------------------------------------------------- Sub_CCE8: lda $0537 ; CPU:$CCE8 PRG:4CE8 AD 37 05 - bne NmiHandler_Loop408 ; CPU:$CCEB PRG:4CEB D0 17 + bne NmiHandler_Loop551 ; CPU:$CCEB PRG:4CEB D0 17 ldx Zp55 ; CPU:$CCED PRG:4CED A6 55 lda $052D,x ; CPU:$CCEF PRG:4CEF BD 2D 05 - bne NmiHandler_Loop408 ; CPU:$CCF2 PRG:4CF2 D0 10 + bne NmiHandler_Loop551 ; CPU:$CCF2 PRG:4CF2 D0 10 lda $0532 ; CPU:$CCF4 PRG:4CF4 AD 32 05 cmp #$05 ; CPU:$CCF7 PRG:4CF7 C9 05 - bcc NmiHandler_Loop408 ; CPU:$CCF9 PRG:4CF9 90 09 + bcc NmiHandler_Loop551 ; CPU:$CCF9 PRG:4CF9 90 09 lda #$01 ; CPU:$CCFB PRG:4CFB A9 01 sta ZpFE ; CPU:$CCFD PRG:4CFD 85 FE inc Zp5C,x ; CPU:$CCFF PRG:4CFF F6 5C inc $052D,x ; CPU:$CD01 PRG:4D01 FE 2D 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop408 -; Global: Branch target inside NmiHandler: taken when Loop408. +; Routine: NmiHandler_Loop551 +; Global: Branch target inside NmiHandler: taken when Loop551. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop408: +NmiHandler_Loop551: rts ; CPU:$CD04 PRG:4D04 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CD05 @@ -11409,9 +14654,9 @@ NmiHandler_Loop408: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CD05: - ldy Zp5F ; CPU:$CD05 PRG:4D05 A4 5F + ldy SpriteIndex ; CPU:$CD05 PRG:4D05 A4 5F lda Zp47 ; CPU:$CD07 PRG:4D07 A5 47 - bne NmiHandler_Loop409 ; CPU:$CD09 PRG:4D09 D0 0D + bne NmiHandler_Loop552 ; CPU:$CD09 PRG:4D09 D0 0D lda Zp79 ; CPU:$CD0B PRG:4D0B A5 79 eor #$01 ; CPU:$CD0D PRG:4D0D 49 01 sta Zp79 ; CPU:$CD0F PRG:4D0F 85 79 @@ -11419,20 +14664,20 @@ Sub_CD05: sta Zp47 ; CPU:$CD13 PRG:4D13 85 47 jmp Sub_CD26 ; CPU:$CD15 PRG:4D15 4C 26 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop409 -; Global: Branch target inside NmiHandler: taken when Loop409. +; Routine: NmiHandler_Loop552 +; Global: Branch target inside NmiHandler: taken when Loop552. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop409: +NmiHandler_Loop552: nop ; CPU:$CD18 PRG:4D18 EA lda Zp79 ; CPU:$CD19 PRG:4D19 A5 79 ora #$00 ; CPU:$CD1B PRG:4D1B 09 00 sta Zp79 ; CPU:$CD1D PRG:4D1D 85 79 lda #$02 ; CPU:$CD1F PRG:4D1F A9 02 - sta Zp00 ; CPU:$CD21 PRG:4D21 85 00 + sta VramWritePtrLo ; CPU:$CD21 PRG:4D21 85 00 nop ; CPU:$CD23 PRG:4D23 EA nop ; CPU:$CD24 PRG:4D24 EA nop ; CPU:$CD25 PRG:4D25 EA @@ -11446,16 +14691,16 @@ NmiHandler_Loop409: ; ----------------------------------------------------------------------------- Sub_CD26: lda $BD8A,y ; CPU:$CD26 PRG:4D26 B9 8A BD - sta Zp01 ; CPU:$CD29 PRG:4D29 85 01 + sta VramWritePtrHi ; CPU:$CD29 PRG:4D29 85 01 lda $BD8F,y ; CPU:$CD2B PRG:4D2B B9 8F BD - sta Zp02 ; CPU:$CD2E PRG:4D2E 85 02 + sta DispatchPtrLo ; CPU:$CD2E PRG:4D2E 85 02 ldy #$00 ; CPU:$CD30 PRG:4D30 A0 00 ldx $0300 ; CPU:$CD32 PRG:4D32 AE 00 03 - lda (Zp01),y ; CPU:$CD35 PRG:4D35 B1 01 + lda (VramWritePtrHi),y ; CPU:$CD35 PRG:4D35 B1 01 sta $0301,x ; CPU:$CD37 PRG:4D37 9D 01 03 iny ; CPU:$CD3A PRG:4D3A C8 inx ; CPU:$CD3B PRG:4D3B E8 - lda (Zp01),y ; CPU:$CD3C PRG:4D3C B1 01 + lda (VramWritePtrHi),y ; CPU:$CD3C PRG:4D3C B1 01 sta $0301,x ; CPU:$CD3E PRG:4D3E 9D 01 03 inx ; CPU:$CD41 PRG:4D41 E8 lda #$01 ; CPU:$CD42 PRG:4D42 A9 01 @@ -11480,81 +14725,81 @@ Sub_CD26: Sub_CD5A: lda Zp8C ; CPU:$CD5A PRG:4D5A A5 8C cmp #$07 ; CPU:$CD5C PRG:4D5C C9 07 - beq NmiHandler_Loop410 ; CPU:$CD5E PRG:4D5E F0 01 + beq NmiHandler_Loop553 ; CPU:$CD5E PRG:4D5E F0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero40 -; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero40: +NmiHandler_OnNonzero50: rts ; CPU:$CD60 PRG:4D60 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop410 -; Global: Branch target inside NmiHandler: taken when Loop410. +; Routine: NmiHandler_Loop553 +; Global: Branch target inside NmiHandler: taken when Loop553. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop410: +NmiHandler_Loop553: lda Zp7B ; CPU:$CD61 PRG:4D61 A5 7B cmp #$02 ; CPU:$CD63 PRG:4D63 C9 02 - bcc NmiHandler_Loop412 ; CPU:$CD65 PRG:4D65 90 70 + bcc NmiHandler_Loop555 ; CPU:$CD65 PRG:4D65 90 70 cmp #$06 ; CPU:$CD67 PRG:4D67 C9 06 - bcs NmiHandler_Loop412 ; CPU:$CD69 PRG:4D69 B0 6C + bcs NmiHandler_Loop555 ; CPU:$CD69 PRG:4D69 B0 6C lda Zp7A ; CPU:$CD6B PRG:4D6B A5 7A cmp #$02 ; CPU:$CD6D PRG:4D6D C9 02 - bne NmiHandler_Loop412 ; CPU:$CD6F PRG:4D6F D0 66 + bne NmiHandler_Loop555 ; CPU:$CD6F PRG:4D6F D0 66 ldy Zp7B ; CPU:$CD71 PRG:4D71 A4 7B dey ; CPU:$CD73 PRG:4D73 88 dey ; CPU:$CD74 PRG:4D74 88 lda Zp93 ; CPU:$CD75 PRG:4D75 A5 93 clc ; CPU:$CD77 PRG:4D77 18 adc $BDA8,y ; CPU:$CD78 PRG:4D78 79 A8 BD - sta Zp00 ; CPU:$CD7B PRG:4D7B 85 00 + sta VramWritePtrLo ; CPU:$CD7B PRG:4D7B 85 00 lda $BDA0,y ; CPU:$CD7D PRG:4D7D B9 A0 BD - sta Zp01 ; CPU:$CD80 PRG:4D80 85 01 - lda Zp00 ; CPU:$CD82 PRG:4D82 A5 00 + sta VramWritePtrHi ; CPU:$CD80 PRG:4D80 85 01 + lda VramWritePtrLo ; CPU:$CD82 PRG:4D82 A5 00 clc ; CPU:$CD84 PRG:4D84 18 adc $BDAC,y ; CPU:$CD85 PRG:4D85 79 AC BD - sta Zp02 ; CPU:$CD88 PRG:4D88 85 02 + sta DispatchPtrLo ; CPU:$CD88 PRG:4D88 85 02 lda $BDA4,y ; CPU:$CD8A PRG:4D8A B9 A4 BD - sta Zp03 ; CPU:$CD8D PRG:4D8D 85 03 + sta DispatchPtrHi ; CPU:$CD8D PRG:4D8D 85 03 sty Zp0A ; CPU:$CD8F PRG:4D8F 84 0A ldx #$04 ; CPU:$CD91 PRG:4D91 A2 04 jsr Sub_C0B6 ; CPU:$CD93 PRG:4D93 20 B6 C0 jsr Sub_C0F3 ; CPU:$CD96 PRG:4D96 20 F3 C0 - beq NmiHandler_Loop412 ; CPU:$CD99 PRG:4D99 F0 3C + beq NmiHandler_Loop555 ; CPU:$CD99 PRG:4D99 F0 3C lda $04B5 ; CPU:$CD9B PRG:4D9B AD B5 04 - bne NmiHandler_OnNonzero40 ; CPU:$CD9E PRG:4D9E D0 C0 + bne NmiHandler_OnNonzero50 ; CPU:$CD9E PRG:4D9E D0 C0 ldy Zp8C ; CPU:$CDA0 PRG:4DA0 A4 8C lda Zp53 ; CPU:$CDA2 PRG:4DA2 A5 53 - bne NmiHandler_Loop411 ; CPU:$CDA4 PRG:4DA4 D0 05 + bne NmiHandler_Loop554 ; CPU:$CDA4 PRG:4DA4 D0 05 tya ; CPU:$CDA6 PRG:4DA6 98 clc ; CPU:$CDA7 PRG:4DA7 18 adc #$12 ; CPU:$CDA8 PRG:4DA8 69 12 tay ; CPU:$CDAA PRG:4DAA A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop411 -; Global: Branch target inside NmiHandler: taken when Loop411. +; Routine: NmiHandler_Loop554 +; Global: Branch target inside NmiHandler: taken when Loop554. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop411: +NmiHandler_Loop554: lda $BC34,y ; CPU:$CDAB PRG:4DAB B9 34 BC sta $037A ; CPU:$CDAE PRG:4DAE 8D 7A 03 ldy Zp0A ; CPU:$CDB1 PRG:4DB1 A4 0A lda $BDA0,y ; CPU:$CDB3 PRG:4DB3 B9 A0 BD - sta Zp00 ; CPU:$CDB6 PRG:4DB6 85 00 + sta VramWritePtrLo ; CPU:$CDB6 PRG:4DB6 85 00 lda Zp94 ; CPU:$CDB8 PRG:4DB8 A5 94 sec ; CPU:$CDBA PRG:4DBA 38 sbc #$04 ; CPU:$CDBB PRG:4DBB E9 04 - sta Zp01 ; CPU:$CDBD PRG:4DBD 85 01 + sta VramWritePtrHi ; CPU:$CDBD PRG:4DBD 85 01 jsr Sub_C01F ; CPU:$CDBF PRG:4DBF 20 1F C0 sta $0496 ; CPU:$CDC2 PRG:4DC2 8D 96 04 sta $04B5 ; CPU:$CDC5 PRG:4DC5 8D B5 04 @@ -11566,26 +14811,27 @@ NmiHandler_Loop411: ldx #$06 ; CPU:$CDD2 PRG:4DD2 A2 06 jmp Sub_C462 ; CPU:$CDD4 PRG:4DD4 4C 62 C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop412 -; Global: Branch target inside NmiHandler: taken when Loop412. +; Routine: NmiHandler_Loop555 +; Global: Branch target inside NmiHandler: taken when Loop555. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop412: +NmiHandler_Loop555: lda #$00 ; CPU:$CDD7 PRG:4DD7 A9 00 sta $04B5 ; CPU:$CDD9 PRG:4DD9 8D B5 04 rts ; CPU:$CDDC PRG:4DDC 60 -; ---- data $CDDD-$CFEE (530 bytes) ---- +; ---- data $CDDD-$CFCB (495 bytes) ---- ; referenced by `lda $CE0E,y` at $CFF8 (operand $CE0E falls inside this region) ; referenced by `lda $CE6E,y` at $D027 (operand $CE6E falls inside this region) ; referenced by `lda $CDFA,y` at $D02C (operand $CDFA falls inside this region) -; referenced by `sbc $CF34,y` at $D499 (operand $CF34 falls inside this region) -; referenced by `adc $CF1E,y` at $D4A5 (operand $CF1E falls inside this region) -; referenced by `lda $CF4A,y` at $D4B9 (operand $CF4A falls inside this region) -; ... and 6 further references from decoded code - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $20 ; CPU:$CDDD PRG:4DDD FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 20 +; referenced by `cmp $CDEC,y` at $D09F (operand $CDEC falls inside this region) +; referenced by `lda $CE24,y` at $D0A9 (operand $CE24 falls inside this region) +; referenced by `lda $CE9E,y` at $D18B (operand $CE9E falls inside this region) +; ... and 35 further references from decoded code +EnemyAnimationFrameTable: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $20 ; CPU:$CDDD PRG:0DDD FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 20 .byte $50, $20, $40, $20, $02, $02, $02, $02, $01, $05, $0A, $0C, $05, $08, $05, $0E ; CPU:$CDED PRG:4DED 50 20 40 20 02 02 02 02 01 05 0A 0C 05 08 05 0E .byte $10, $06, $05, $0E, $10, $05, $05, $0E, $10, $0E, $10, $18, $13, $0D, $0F, $15 ; CPU:$CDFD PRG:4DFD 10 06 05 0E 10 05 05 0E 10 0E 10 18 13 0D 0F 15 .byte $13, $00, $00, $04, $08, $05, $09, $04, $03, $01, $04, $04, $02, $01, $04, $03 ; CPU:$CE0D PRG:4E0D 13 00 00 04 08 05 09 04 03 01 04 04 02 01 04 03 @@ -11615,191 +14861,885 @@ NmiHandler_Loop412: .byte $E5, $80, $CC, $54, $A8, $54, $A8, $54, $A8, $54, $A8, $66, $CC, $66, $CC, $66 ; CPU:$CF8D PRG:4F8D E5 80 CC 54 A8 54 A8 54 A8 54 A8 66 CC 66 CC 66 .byte $CC, $66, $CC, $AD, $95, $04, $F0, $27, $A9, $00, $8D, $95, $04, $A5, $7A, $C9 ; CPU:$CF9D PRG:4F9D CC 66 CC AD 95 04 F0 27 A9 00 8D 95 04 A5 7A C9 .byte $03, $D0, $19, $A0, $F2, $20, $1F, $B2, $A5, $E4, $D0, $08, $A9, $70, $C5, $D3 ; CPU:$CFAD PRG:4FAD 03 D0 19 A0 F2 20 1F B2 A5 E4 D0 08 A9 70 C5 D3 - .byte $90, $02, $85, $D3, $20, $03, $D1, $A9, $1C, $85, $30, $60, $4C, $03, $D1, $A5 ; CPU:$CFBD PRG:4FBD 90 02 85 D3 20 03 D1 A9 1C 85 30 60 4C 03 D1 A5 - .byte $7B, $F0, $07, $C9, $02, $B0, $09, $4C, $69, $D5, $20, $05, $D5, $B0, $13, $60 ; CPU:$CFCD PRG:4FCD 7B F0 07 C9 02 B0 09 4C 69 D5 20 05 D5 B0 13 60 - .byte $A5, $30, $D0, $57, $C6, $BC, $C6, $7A, $10, $16, $85, $7A, $85, $BC, $C6, $7C ; CPU:$CFDD PRG:4FDD A5 30 D0 57 C6 BC C6 7A 10 16 85 7A 85 BC C6 7C - .byte $F0, $4A ; CPU:$CFED PRG:4FED F0 4A + .byte $90, $02, $85, $D3, $20, $03, $D1, $A9, $1C, $85, $30, $60, $4C, $03, $D1 ; CPU:$CFBD PRG:4FBD 90 02 85 D3 20 03 D1 A9 1C 85 30 60 4C 03 D1 ; ----------------------------------------------------------------------------- -; Routine: Label_CFEF -; Global: Branch target inside Label: taken when CFEF. -; Local: Part of Label. +; Routine: Sub_CFCC +; Global: Branch target inside Sub: taken when CFCC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_CFEF: +Sub_CFCC: + lda Zp7B ; CPU:$CFCC PRG:4FCC A5 7B + beq NmiHandler_Loop556 ; CPU:$CFCE PRG:4FCE F0 07 + cmp #$02 ; CPU:$CFD0 PRG:4FD0 C9 02 + bcs NmiHandler_Loop557 ; CPU:$CFD2 PRG:4FD2 B0 09 + jmp Sub_D569 ; CPU:$CFD4 PRG:4FD4 4C 69 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop556 +; Global: Branch target inside NmiHandler: taken when Loop556. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop556: + jsr Sub_D505 ; CPU:$CFD7 PRG:4FD7 20 05 D5 + bcs NmiHandler_Loop558 ; CPU:$CFDA PRG:4FDA B0 13 + rts ; CPU:$CFDC PRG:4FDC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop557 +; Global: Branch target inside NmiHandler: taken when Loop557. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop557: + lda Zp30 ; CPU:$CFDD PRG:4FDD A5 30 + bne NmiHandler_Loop566 ; CPU:$CFDF PRG:4FDF D0 57 + dec ZpBC ; CPU:$CFE1 PRG:4FE1 C6 BC + dec Zp7A ; CPU:$CFE3 PRG:4FE3 C6 7A + bpl NmiHandler_Loop559 ; CPU:$CFE5 PRG:4FE5 10 16 + sta Zp7A ; CPU:$CFE7 PRG:4FE7 85 7A + sta ZpBC ; CPU:$CFE9 PRG:4FE9 85 BC + dec Zp7C ; CPU:$CFEB PRG:4FEB C6 7C + beq NmiHandler_Loop567 ; CPU:$CFED PRG:4FED F0 4A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop558 +; Global: Branch target inside NmiHandler: taken when Loop558. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop558: jsr Sub_D5CE ; CPU:$CFEF PRG:4FEF 20 CE D5 sty Zp7B ; CPU:$CFF2 PRG:4FF2 84 7B lda #$02 ; CPU:$CFF4 PRG:4FF4 A9 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFF6 +; Global: Branch target inside Sub: taken when CFF6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFF6: sta Zp7A ; CPU:$CFF6 PRG:4FF6 85 7A lda $CE0E,y ; CPU:$CFF8 PRG:4FF8 B9 0E CE sta ZpBC ; CPU:$CFFB PRG:4FFB 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop559 +; Global: Branch target inside NmiHandler: taken when Loop559. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop559: lda ZpBE ; CPU:$CFFD PRG:4FFD A5 BE cmp #$02 ; CPU:$CFFF PRG:4FFF C9 02 - bcc NmiHandler_Loop413 ; CPU:$D001 PRG:5001 90 02 + bcc NmiHandler_Loop560 ; CPU:$D001 PRG:5001 90 02 lda #$02 ; CPU:$D003 PRG:5003 A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop413 -; Global: Branch target inside NmiHandler: taken when Loop413. +; Routine: NmiHandler_Loop560 +; Global: Branch target inside NmiHandler: taken when Loop560. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop413: +NmiHandler_Loop560: asl a ; CPU:$D005 PRG:5005 0A -; ----------------------------------------------------------------------------- -; Routine: Label_D006 -; Global: Branch target inside Label: taken when D006. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D006: asl a ; CPU:$D006 PRG:5006 0A -; ----------------------------------------------------------------------------- -; Routine: Label_D007 -; Global: Branch target inside Label: taken when D007. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D007: ldx Zp7A ; CPU:$D007 PRG:5007 A6 7A cpx #$02 ; CPU:$D009 PRG:5009 E0 02 - bne NmiHandler_Loop415 ; CPU:$D00B PRG:500B D0 13 + bne NmiHandler_Loop562 ; CPU:$D00B PRG:500B D0 13 cmp #$00 ; CPU:$D00D PRG:500D C9 00 -; ----------------------------------------------------------------------------- -; Routine: Label_D00F -; Global: Branch target inside Label: taken when D00F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D00F: - beq NmiHandler_Loop414 ; CPU:$D00F PRG:500F F0 02 + beq NmiHandler_Loop561 ; CPU:$D00F PRG:500F F0 02 lda #$04 ; CPU:$D011 PRG:5011 A9 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop414 -; Global: Branch target inside NmiHandler: taken when Loop414. +; Routine: NmiHandler_Loop561 +; Global: Branch target inside NmiHandler: taken when Loop561. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop414: +NmiHandler_Loop561: clc ; CPU:$D013 PRG:5013 18 adc #$0C ; CPU:$D014 PRG:5014 69 0C - sta Zp01 ; CPU:$D016 PRG:5016 85 01 + sta VramWritePtrHi ; CPU:$D016 PRG:5016 85 01 lda Zp1A ; CPU:$D018 PRG:5018 A5 1A and #$03 ; CPU:$D01A PRG:501A 29 03 - ora Zp01 ; CPU:$D01C PRG:501C 05 01 - bne NmiHandler_Loop416 ; CPU:$D01E PRG:501E D0 02 + ora VramWritePtrHi ; CPU:$D01C PRG:501C 05 01 + bne NmiHandler_Loop563 ; CPU:$D01E PRG:501E D0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop415 -; Global: Branch target inside NmiHandler: taken when Loop415. +; Routine: NmiHandler_Loop562 +; Global: Branch target inside NmiHandler: taken when Loop562. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop415: +NmiHandler_Loop562: ora Zp7A ; CPU:$D020 PRG:5020 05 7A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop416 -; Global: Branch target inside NmiHandler: taken when Loop416. +; Routine: NmiHandler_Loop563 +; Global: Branch target inside NmiHandler: taken when Loop563. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop416: +NmiHandler_Loop563: tay ; CPU:$D022 PRG:5022 A8 - lda Zp5F ; CPU:$D023 PRG:5023 A5 5F - beq NmiHandler_Loop417 ; CPU:$D025 PRG:5025 F0 05 + lda SpriteIndex ; CPU:$D023 PRG:5023 A5 5F + beq NmiHandler_Loop564 ; CPU:$D025 PRG:5025 F0 05 lda $CE6E,y ; CPU:$D027 PRG:5027 B9 6E CE - bne NmiHandler_Loop418 ; CPU:$D02A PRG:502A D0 03 + bne NmiHandler_Loop565 ; CPU:$D02A PRG:502A D0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop417 -; Global: Branch target inside NmiHandler: taken when Loop417. +; Routine: NmiHandler_Loop564 +; Global: Branch target inside NmiHandler: taken when Loop564. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop417: +NmiHandler_Loop564: lda $CDFA,y ; CPU:$D02C PRG:502C B9 FA CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop418 -; Global: Branch target inside NmiHandler: taken when Loop418. +; Routine: NmiHandler_Loop565 +; Global: Branch target inside NmiHandler: taken when Loop565. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop418: +NmiHandler_Loop565: sta Zp30 ; CPU:$D02F PRG:502F 85 30 dex ; CPU:$D031 PRG:5031 CA - bne NmiHandler_Loop419 ; CPU:$D032 PRG:5032 D0 04 + bne NmiHandler_Loop566 ; CPU:$D032 PRG:5032 D0 04 lda #$02 ; CPU:$D034 PRG:5034 A9 02 sta ZpFC ; CPU:$D036 PRG:5036 85 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop419 -; Global: Branch target inside NmiHandler: taken when Loop419. +; Routine: NmiHandler_Loop566 +; Global: Branch target inside NmiHandler: taken when Loop566. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop419: +NmiHandler_Loop566: rts ; CPU:$D038 PRG:5038 60 -; ---- data $D039-$D2E2 (682 bytes) ---- - .byte $4C, $A9, $D5, $AD, $95, $04, $F0, $32, $A9, $00, $8D, $95, $04, $A5, $32, $F0 ; CPU:$D039 PRG:5039 4C A9 D5 AD 95 04 F0 32 A9 00 8D 95 04 A5 32 F0 - .byte $20, $AD, $9A, $03, $F0, $24, $A9, $00, $8D, $9A, $03, $A0, $10, $20, $1F, $B2 ; CPU:$D049 PRG:5049 20 AD 9A 03 F0 24 A9 00 8D 9A 03 A0 10 20 1F B2 - .byte $A5, $E4, $C9, $06, $D0, $14, $A9, $90, $C5, $D3, $B0, $0E, $85, $D3, $4C, $73 ; CPU:$D059 PRG:5059 A5 E4 C9 06 D0 14 A9 90 C5 D3 B0 0E 85 D3 4C 73 - .byte $D0, $A9, $10, $85, $32, $A9, $01, $8D, $9A, $03, $A5, $7B, $F0, $07, $C9, $02 ; CPU:$D069 PRG:5069 D0 A9 10 85 32 A9 01 8D 9A 03 A5 7B F0 07 C9 02 - .byte $B0, $09, $4C, $69, $D5, $20, $05, $D5, $B0, $39, $60, $AD, $F8, $03, $0D, $F9 ; CPU:$D079 PRG:5079 B0 09 4C 69 D5 20 05 D5 B0 39 60 AD F8 03 0D F9 - .byte $03, $D0, $3D, $A5, $44, $D0, $44, $AD, $20, $04, $D0, $27, $A2, $05, $BD, $E3 ; CPU:$D089 PRG:5089 03 D0 3D A5 44 D0 44 AD 20 04 D0 27 A2 05 BD E3 - .byte $04, $D0, $43, $BD, $DC, $04, $D9, $EC, $CD, $B0, $3B, $A5, $1A, $29, $03, $A8 ; CPU:$D099 PRG:5099 04 D0 43 BD DC 04 D9 EC CD B0 3B A5 1A 29 03 A8 - .byte $B9, $24, $CE, $85, $44, $A9, $02, $85, $BC, $C6, $7C, $F0, $1F, $A9, $01, $8D ; CPU:$D0A9 PRG:50A9 B9 24 CE 85 44 A9 02 85 BC C6 7C F0 1F A9 01 8D - .byte $20, $04, $60, $A9, $02, $85, $7B, $4A, $25, $19, $85, $7A, $4A, $8D, $20, $04 ; CPU:$D0B9 PRG:50B9 20 04 60 A9 02 85 7B 4A 25 19 85 7A 4A 8D 20 04 - .byte $20, $16, $D6, $A2, $01, $20, $7C, $D6, $CA, $10, $FA, $60, $A9, $00, $85, $BC ; CPU:$D0C9 PRG:50C9 20 16 D6 A2 01 20 7C D6 CA 10 FA 60 A9 00 85 BC - .byte $8D, $20, $04, $4C, $A9, $D5, $A9, $00, $85, $7B, $85, $BC, $60, $AD, $95, $04 ; CPU:$D0D9 PRG:50D9 8D 20 04 4C A9 D5 A9 00 85 7B 85 BC 60 AD 95 04 - .byte $F0, $2A, $A9, $00, $8D, $95, $04, $AD, $79, $03, $C9, $04, $B0, $0C, $A5, $7B ; CPU:$D0E9 PRG:50E9 F0 2A A9 00 8D 95 04 AD 79 03 C9 04 B0 0C A5 7B - .byte $C9, $02, $B0, $18, $20, $1A, $D5, $4C, $EF, $CF, $20, $1A, $D5, $20, $CE, $D5 ; CPU:$D0F9 PRG:50F9 C9 02 B0 18 20 1A D5 4C EF CF 20 1A D5 20 CE D5 - .byte $84, $7B, $98, $18, $69, $02, $A8, $A9, $03, $4C, $F6, $CF, $4C, $CC, $CF, $20 ; CPU:$D109 PRG:5109 84 7B 98 18 69 02 A8 A9 03 4C F6 CF 4C CC CF 20 - .byte $C3, $D1, $A5, $7D, $F0, $0F, $C9, $07, $B0, $08, $A9, $00, $8D, $9D, $03, $4C ; CPU:$D119 PRG:5119 C3 D1 A5 7D F0 0F C9 07 B0 08 A9 00 8D 9D 03 4C - .byte $40, $D8, $4C, $9C, $D9, $AD, $95, $04, $F0, $1E, $A9, $00, $8D, $95, $04, $A5 ; CPU:$D129 PRG:5129 40 D8 4C 9C D9 AD 95 04 F0 1E A9 00 8D 95 04 A5 - .byte $32, $F0, $0A, $AD, $9A, $03, $F0, $10, $A9, $03, $85, $7D, $60, $A9, $10, $85 ; CPU:$D139 PRG:5139 32 F0 0A AD 9A 03 F0 10 A9 03 85 7D 60 A9 10 85 - .byte $32, $A9, $01, $8D, $9A, $03, $D0, $41, $A5, $25, $D0, $56, $20, $0E, $DA, $A5 ; CPU:$D149 PRG:5149 32 A9 01 8D 9A 03 D0 41 A5 25 D0 56 20 0E DA A5 - .byte $7B, $D0, $03, $4C, $05, $D5, $AD, $20, $04, $D0, $0E, $A5, $7B, $C9, $01, $F0 ; CPU:$D159 PRG:5159 7B D0 03 4C 05 D5 AD 20 04 D0 0E A5 7B C9 01 F0 - .byte $56, $20, $1A, $D5, $A5, $3A, $F0, $21, $60, $A5, $3A, $D0, $38, $8D, $20, $04 ; CPU:$D169 PRG:5169 56 20 1A D5 A5 3A F0 21 60 A5 3A D0 38 8D 20 04 - .byte $C6, $7C, $F0, $32, $A5, $19, $29, $03, $85, $00, $A5, $BE, $0A, $0A, $18, $65 ; CPU:$D179 PRG:5179 C6 7C F0 32 A5 19 29 03 85 00 A5 BE 0A 0A 18 65 - .byte $00, $A8, $B9, $9E, $CE, $85, $3A, $D0, $1C, $20, $D4, $AC, $30, $EC, $A9, $00 ; CPU:$D189 PRG:5189 00 A8 B9 9E CE 85 3A D0 1C 20 D4 AC 30 EC A9 00 - .byte $85, $3A, $A9, $20, $85, $25, $20, $CE, $D5, $85, $7B, $A9, $03, $85, $7A, $8D ; CPU:$D199 PRG:5199 85 3A A9 20 85 25 20 CE D5 85 7B A9 03 85 7A 8D - .byte $20, $04, $20, $51, $DA, $60, $A5, $19, $29, $01, $A8, $B9, $AE, $CE, $85, $44 ; CPU:$D1A9 PRG:51A9 20 04 20 51 DA 60 A5 19 29 01 A8 B9 AE CE 85 44 - .byte $A9, $01, $85, $7B, $4A, $85, $BC, $4C, $69, $D5, $A5, $3C, $05, $25, $05, $7D ; CPU:$D1B9 PRG:51B9 A9 01 85 7B 4A 85 BC 4C 69 D5 A5 3C 05 25 05 7D - .byte $D0, $73, $AD, $9D, $03, $F0, $6E, $A5, $69, $29, $F0, $D0, $68, $AD, $9B, $03 ; CPU:$D1C9 PRG:51C9 D0 73 AD 9D 03 F0 6E A5 69 29 F0 D0 68 AD 9B 03 - .byte $D0, $4E, $20, $D4, $AC, $B0, $5E, $8E, $9C, $03, $A9, $01, $95, $C0, $8D, $9B ; CPU:$D1D9 PRG:51D9 D0 4E 20 D4 AC B0 5E 8E 9C 03 A9 01 95 C0 8D 9B - .byte $03, $0A, $85, $BC, $95, $B7, $A9, $08, $95, $87, $A9, $09, $95, $80, $A5, $B5 ; CPU:$D1E9 PRG:51E9 03 0A 85 BC 95 B7 A9 08 95 87 A9 09 95 80 A5 B5 - .byte $95, $B0, $A5, $E5, $95, $DF, $A2, $05, $BD, $DC, $04, $85, $00, $8D, $9F, $03 ; CPU:$D1F9 PRG:51F9 95 B0 A5 E5 95 DF A2 05 BD DC 04 85 00 8D 9F 03 - .byte $AE, $9C, $03, $20, $31, $D9, $A9, $07, $85, $7D, $A9, $20, $85, $38, $A9, $0B ; CPU:$D209 PRG:5209 AE 9C 03 20 31 D9 A9 07 85 7D A9 20 85 38 A9 0B - .byte $95, $2B, $A9, $00, $85, $67, $8D, $20, $04, $85, $44, $85, $3A, $85, $25, $60 ; CPU:$D219 PRG:5219 95 2B A9 00 85 67 8D 20 04 85 44 85 3A 85 25 60 - .byte $A5, $38, $D0, $11, $A9, $08, $85, $7D, $AE, $9C, $03, $A9, $02, $85, $BC, $95 ; CPU:$D229 PRG:5229 A5 38 D0 11 A9 08 85 7D AE 9C 03 A9 02 85 BC 95 - .byte $B7, $A9, $30, $85, $3C, $60, $A5, $7D, $D0, $E5, $AE, $9C, $03, $AD, $9B, $03 ; CPU:$D239 PRG:5239 B7 A9 30 85 3C 60 A5 7D D0 E5 AE 9C 03 AD 9B 03 - .byte $F0, $DD, $B5, $2B, $D0, $24, $B5, $3F, $F0, $17, $D0, $3E, $A5, $19, $29, $03 ; CPU:$D249 PRG:5249 F0 DD B5 2B D0 24 B5 3F F0 17 D0 3E A5 19 29 03 - .byte $85, $00, $A5, $BE, $0A, $0A, $18, $65, $00, $A8, $B9, $9E, $CE, $95, $3F, $D0 ; CPU:$D259 PRG:5259 85 00 A5 BE 0A 0A 18 65 00 A8 B9 9E CE 95 3F D0 - .byte $25, $A9, $20, $95, $2B, $A9, $03, $8D, $9E, $03, $AC, $9E, $03, $B5, $2B, $D9 ; CPU:$D269 PRG:5269 25 A9 20 95 2B A9 03 8D 9E 03 AC 9E 03 B5 2B D9 - .byte $82, $CE, $B0, $05, $CE, $9E, $03, $F0, $D3, $AD, $9E, $03, $A8, $B9, $86, $CE ; CPU:$D279 PRG:5279 82 CE B0 05 CE 9E 03 F0 D3 AD 9E 03 A8 B9 86 CE - .byte $95, $B7, $A5, $67, $F0, $99, $A9, $00, $95, $B7, $A5, $67, $F0, $58, $A5, $21 ; CPU:$D289 PRG:5289 95 B7 A5 67 F0 99 A9 00 95 B7 A5 67 F0 58 A5 21 - .byte $C9, $01, $D0, $06, $B5, $B7, $49, $01, $95, $B7, $A5, $E5, $85, $00, $AD, $9F ; CPU:$D299 PRG:5299 C9 01 D0 06 B5 B7 49 01 95 B7 A5 E5 85 00 AD 9F - .byte $03, $85, $01, $B5, $C0, $F0, $0E, $AD, $9F, $03, $49, $FF, $18, $69, $01, $85 ; CPU:$D2A9 PRG:52A9 03 85 01 B5 C0 F0 0E AD 9F 03 49 FF 18 69 01 85 - .byte $01, $10, $02, $C6, $00, $A5, $01, $18, $65, $D4, $85, $01, $90, $02, $E6, $00 ; CPU:$D2B9 PRG:52B9 01 10 02 C6 00 A5 01 18 65 D4 85 01 90 02 E6 00 - .byte $A5, $00, $95, $DF, $A5, $01, $95, $CE, $B5, $DF, $C9, $04, $90, $19, $B5, $DF ; CPU:$D2C9 PRG:52C9 A5 00 95 DF A5 01 95 CE B5 DF C9 04 90 19 B5 DF - .byte $C9, $06, $D0, $12, $B5, $CE, $C9, $90, $90, $0C ; CPU:$D2D9 PRG:52D9 C9 06 D0 12 B5 CE C9 90 90 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop567 +; Global: Branch target inside NmiHandler: taken when Loop567. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop567: + jmp Sub_D5A9 ; CPU:$D039 PRG:5039 4C A9 D5 +; ----------------------------------------------------------------------------- +; Routine: Label_D03C +; Global: Branch target inside Label: taken when D03C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D03C: + lda $0495 ; CPU:$D03C PRG:503C AD 95 04 + beq NmiHandler_Loop569 ; CPU:$D03F PRG:503F F0 32 + lda #$00 ; CPU:$D041 PRG:5041 A9 00 + sta $0495 ; CPU:$D043 PRG:5043 8D 95 04 + lda Zp32 ; CPU:$D046 PRG:5046 A5 32 + beq NmiHandler_Loop568 ; CPU:$D048 PRG:5048 F0 20 + lda $039A ; CPU:$D04A PRG:504A AD 9A 03 + beq NmiHandler_Loop569 ; CPU:$D04D PRG:504D F0 24 + lda #$00 ; CPU:$D04F PRG:504F A9 00 + sta $039A ; CPU:$D051 PRG:5051 8D 9A 03 + ldy #$10 ; CPU:$D054 PRG:5054 A0 10 + jsr NmiHandler_Loop293 ; CPU:$D056 PRG:5056 20 1F B2 + lda ZpE4 ; CPU:$D059 PRG:5059 A5 E4 + cmp #$06 ; CPU:$D05B PRG:505B C9 06 + bne NmiHandler_Loop569 ; CPU:$D05D PRG:505D D0 14 + lda #$90 ; CPU:$D05F PRG:505F A9 90 + cmp ZpD3 ; CPU:$D061 PRG:5061 C5 D3 + bcs NmiHandler_Loop569 ; CPU:$D063 PRG:5063 B0 0E + sta ZpD3 ; CPU:$D065 PRG:5065 85 D3 + jmp NmiHandler_Loop569 ; CPU:$D067 PRG:5067 4C 73 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop568 +; Global: Branch target inside NmiHandler: taken when Loop568. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop568: + lda #$10 ; CPU:$D06A PRG:506A A9 10 + sta Zp32 ; CPU:$D06C PRG:506C 85 32 + lda #$01 ; CPU:$D06E PRG:506E A9 01 + sta $039A ; CPU:$D070 PRG:5070 8D 9A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop569 +; Global: Branch target inside NmiHandler: taken when Loop569. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop569: + lda Zp7B ; CPU:$D073 PRG:5073 A5 7B + beq NmiHandler_Loop570 ; CPU:$D075 PRG:5075 F0 07 + cmp #$02 ; CPU:$D077 PRG:5077 C9 02 + bcs NmiHandler_Loop571 ; CPU:$D079 PRG:5079 B0 09 + jmp Sub_D569 ; CPU:$D07B PRG:507B 4C 69 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop570 +; Global: Branch target inside NmiHandler: taken when Loop570. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop570: + jsr Sub_D505 ; CPU:$D07E PRG:507E 20 05 D5 + bcs NmiHandler_Loop572 ; CPU:$D081 PRG:5081 B0 39 + rts ; CPU:$D083 PRG:5083 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop571 +; Global: Branch target inside NmiHandler: taken when Loop571. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop571: + lda $03F8 ; CPU:$D084 PRG:5084 AD F8 03 + ora $03F9 ; CPU:$D087 PRG:5087 0D F9 03 + bne NmiHandler_Loop573 ; CPU:$D08A PRG:508A D0 3D + lda Zp44 ; CPU:$D08C PRG:508C A5 44 + bne NmiHandler_Loop574 ; CPU:$D08E PRG:508E D0 44 + lda $0420 ; CPU:$D090 PRG:5090 AD 20 04 + bne NmiHandler_Loop572 ; CPU:$D093 PRG:5093 D0 27 + ldx #$05 ; CPU:$D095 PRG:5095 A2 05 + lda $04E3,x ; CPU:$D097 PRG:5097 BD E3 04 + bne NmiHandler_Loop576 ; CPU:$D09A PRG:509A D0 43 + lda $04DC,x ; CPU:$D09C PRG:509C BD DC 04 + cmp $CDEC,y ; CPU:$D09F PRG:509F D9 EC CD + bcs NmiHandler_Loop576 ; CPU:$D0A2 PRG:50A2 B0 3B + lda Zp1A ; CPU:$D0A4 PRG:50A4 A5 1A + and #$03 ; CPU:$D0A6 PRG:50A6 29 03 + tay ; CPU:$D0A8 PRG:50A8 A8 + lda $CE24,y ; CPU:$D0A9 PRG:50A9 B9 24 CE + sta Zp44 ; CPU:$D0AC PRG:50AC 85 44 + lda #$02 ; CPU:$D0AE PRG:50AE A9 02 + sta ZpBC ; CPU:$D0B0 PRG:50B0 85 BC + dec Zp7C ; CPU:$D0B2 PRG:50B2 C6 7C + beq NmiHandler_Loop575 ; CPU:$D0B4 PRG:50B4 F0 1F + lda #$01 ; CPU:$D0B6 PRG:50B6 A9 01 + sta $0420 ; CPU:$D0B8 PRG:50B8 8D 20 04 + rts ; CPU:$D0BB PRG:50BB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop572 +; Global: Branch target inside NmiHandler: taken when Loop572. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop572: + lda #$02 ; CPU:$D0BC PRG:50BC A9 02 + sta Zp7B ; CPU:$D0BE PRG:50BE 85 7B + lsr a ; CPU:$D0C0 PRG:50C0 4A + and Zp19 ; CPU:$D0C1 PRG:50C1 25 19 + sta Zp7A ; CPU:$D0C3 PRG:50C3 85 7A + lsr a ; CPU:$D0C5 PRG:50C5 4A + sta $0420 ; CPU:$D0C6 PRG:50C6 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop573 +; Global: Branch target inside NmiHandler: taken when Loop573. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop573: + jsr Sub_D616 ; CPU:$D0C9 PRG:50C9 20 16 D6 + ldx #$01 ; CPU:$D0CC PRG:50CC A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative52 +; Global: Branch target inside NmiHandler: taken when OnNonnegative52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative52: + jsr Sub_D67C ; CPU:$D0CE PRG:50CE 20 7C D6 + dex ; CPU:$D0D1 PRG:50D1 CA + bpl NmiHandler_OnNonnegative52 ; CPU:$D0D2 PRG:50D2 10 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop574 +; Global: Branch target inside NmiHandler: taken when Loop574. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop574: + rts ; CPU:$D0D4 PRG:50D4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop575 +; Global: Branch target inside NmiHandler: taken when Loop575. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop575: + lda #$00 ; CPU:$D0D5 PRG:50D5 A9 00 + sta ZpBC ; CPU:$D0D7 PRG:50D7 85 BC + sta $0420 ; CPU:$D0D9 PRG:50D9 8D 20 04 + jmp Sub_D5A9 ; CPU:$D0DC PRG:50DC 4C A9 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop576 +; Global: Branch target inside NmiHandler: taken when Loop576. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop576: + lda #$00 ; CPU:$D0DF PRG:50DF A9 00 + sta Zp7B ; CPU:$D0E1 PRG:50E1 85 7B + sta ZpBC ; CPU:$D0E3 PRG:50E3 85 BC + rts ; CPU:$D0E5 PRG:50E5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D0E6 +; Global: Branch target inside Label: taken when D0E6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D0E6: + lda $0495 ; CPU:$D0E6 PRG:50E6 AD 95 04 + beq NmiHandler_Loop578 ; CPU:$D0E9 PRG:50E9 F0 2A + lda #$00 ; CPU:$D0EB PRG:50EB A9 00 + sta $0495 ; CPU:$D0ED PRG:50ED 8D 95 04 + lda $0379 ; CPU:$D0F0 PRG:50F0 AD 79 03 + cmp #$04 ; CPU:$D0F3 PRG:50F3 C9 04 + bcs NmiHandler_Loop577 ; CPU:$D0F5 PRG:50F5 B0 0C + lda Zp7B ; CPU:$D0F7 PRG:50F7 A5 7B + cmp #$02 ; CPU:$D0F9 PRG:50F9 C9 02 + bcs NmiHandler_Loop578 ; CPU:$D0FB PRG:50FB B0 18 + jsr Sub_D51A ; CPU:$D0FD PRG:50FD 20 1A D5 + jmp NmiHandler_Loop558 ; CPU:$D100 PRG:5100 4C EF CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop577 +; Global: Branch target inside NmiHandler: taken when Loop577. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop577: + jsr Sub_D51A ; CPU:$D103 PRG:5103 20 1A D5 + jsr Sub_D5CE ; CPU:$D106 PRG:5106 20 CE D5 + sty Zp7B ; CPU:$D109 PRG:5109 84 7B + tya ; CPU:$D10B PRG:510B 98 + clc ; CPU:$D10C PRG:510C 18 + adc #$02 ; CPU:$D10D PRG:510D 69 02 + tay ; CPU:$D10F PRG:510F A8 + lda #$03 ; CPU:$D110 PRG:5110 A9 03 + jmp Sub_CFF6 ; CPU:$D112 PRG:5112 4C F6 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop578 +; Global: Branch target inside NmiHandler: taken when Loop578. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop578: + jmp Sub_CFCC ; CPU:$D115 PRG:5115 4C CC CF +; ----------------------------------------------------------------------------- +; Routine: Label_D118 +; Global: Branch target inside Label: taken when D118. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D118: + jsr Sub_D1C3 ; CPU:$D118 PRG:5118 20 C3 D1 + lda Zp7D ; CPU:$D11B PRG:511B A5 7D + beq NmiHandler_Loop580 ; CPU:$D11D PRG:511D F0 0F + cmp #$07 ; CPU:$D11F PRG:511F C9 07 + bcs NmiHandler_Loop579 ; CPU:$D121 PRG:5121 B0 08 + lda #$00 ; CPU:$D123 PRG:5123 A9 00 + sta $039D ; CPU:$D125 PRG:5125 8D 9D 03 + jmp Sub_D840 ; CPU:$D128 PRG:5128 4C 40 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop579 +; Global: Branch target inside NmiHandler: taken when Loop579. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop579: + jmp Sub_D99C ; CPU:$D12B PRG:512B 4C 9C D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop580 +; Global: Branch target inside NmiHandler: taken when Loop580. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop580: + lda $0495 ; CPU:$D12E PRG:512E AD 95 04 + beq NmiHandler_Loop582 ; CPU:$D131 PRG:5131 F0 1E + lda #$00 ; CPU:$D133 PRG:5133 A9 00 + sta $0495 ; CPU:$D135 PRG:5135 8D 95 04 + lda Zp32 ; CPU:$D138 PRG:5138 A5 32 + beq NmiHandler_Loop581 ; CPU:$D13A PRG:513A F0 0A + lda $039A ; CPU:$D13C PRG:513C AD 9A 03 + beq NmiHandler_Loop582 ; CPU:$D13F PRG:513F F0 10 + lda #$03 ; CPU:$D141 PRG:5141 A9 03 + sta Zp7D ; CPU:$D143 PRG:5143 85 7D + rts ; CPU:$D145 PRG:5145 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop581 +; Global: Branch target inside NmiHandler: taken when Loop581. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop581: + lda #$10 ; CPU:$D146 PRG:5146 A9 10 + sta Zp32 ; CPU:$D148 PRG:5148 85 32 + lda #$01 ; CPU:$D14A PRG:514A A9 01 + sta $039A ; CPU:$D14C PRG:514C 8D 9A 03 + bne NmiHandler_Loop585 ; CPU:$D14F PRG:514F D0 41 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop582 +; Global: Branch target inside NmiHandler: taken when Loop582. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop582: + lda Zp25 ; CPU:$D151 PRG:5151 A5 25 + bne NmiHandler_Loop586 ; CPU:$D153 PRG:5153 D0 56 + jsr Sub_DA0E ; CPU:$D155 PRG:5155 20 0E DA + lda Zp7B ; CPU:$D158 PRG:5158 A5 7B + bne NmiHandler_Loop583 ; CPU:$D15A PRG:515A D0 03 + jmp Sub_D505 ; CPU:$D15C PRG:515C 4C 05 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop583 +; Global: Branch target inside NmiHandler: taken when Loop583. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop583: + lda $0420 ; CPU:$D15F PRG:515F AD 20 04 + bne NmiHandler_Loop584 ; CPU:$D162 PRG:5162 D0 0E + lda Zp7B ; CPU:$D164 PRG:5164 A5 7B + cmp #$01 ; CPU:$D166 PRG:5166 C9 01 + beq NmiHandler_Loop589 ; CPU:$D168 PRG:5168 F0 56 + jsr Sub_D51A ; CPU:$D16A PRG:516A 20 1A D5 + lda Zp3A ; CPU:$D16D PRG:516D A5 3A + beq NmiHandler_Loop585 ; CPU:$D16F PRG:516F F0 21 + rts ; CPU:$D171 PRG:5171 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop584 +; Global: Branch target inside NmiHandler: taken when Loop584. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop584: + lda Zp3A ; CPU:$D172 PRG:5172 A5 3A + bne NmiHandler_Loop587 ; CPU:$D174 PRG:5174 D0 38 + sta $0420 ; CPU:$D176 PRG:5176 8D 20 04 + dec Zp7C ; CPU:$D179 PRG:5179 C6 7C + beq NmiHandler_Loop588 ; CPU:$D17B PRG:517B F0 32 + lda Zp19 ; CPU:$D17D PRG:517D A5 19 + and #$03 ; CPU:$D17F PRG:517F 29 03 + sta VramWritePtrLo ; CPU:$D181 PRG:5181 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative3 +; Global: Branch target inside NmiHandler: taken when OnNegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative3: + lda ZpBE ; CPU:$D183 PRG:5183 A5 BE + asl a ; CPU:$D185 PRG:5185 0A + asl a ; CPU:$D186 PRG:5186 0A + clc ; CPU:$D187 PRG:5187 18 + adc VramWritePtrLo ; CPU:$D188 PRG:5188 65 00 + tay ; CPU:$D18A PRG:518A A8 + lda $CE9E,y ; CPU:$D18B PRG:518B B9 9E CE + sta Zp3A ; CPU:$D18E PRG:518E 85 3A + bne NmiHandler_Loop587 ; CPU:$D190 PRG:5190 D0 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop585 +; Global: Branch target inside NmiHandler: taken when Loop585. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop585: + jsr Sub_ACD4 ; CPU:$D192 PRG:5192 20 D4 AC + bmi NmiHandler_OnNegative3 ; CPU:$D195 PRG:5195 30 EC + lda #$00 ; CPU:$D197 PRG:5197 A9 00 + sta Zp3A ; CPU:$D199 PRG:5199 85 3A + lda #$20 ; CPU:$D19B PRG:519B A9 20 + sta Zp25 ; CPU:$D19D PRG:519D 85 25 + jsr Sub_D5CE ; CPU:$D19F PRG:519F 20 CE D5 + sta Zp7B ; CPU:$D1A2 PRG:51A2 85 7B + lda #$03 ; CPU:$D1A4 PRG:51A4 A9 03 + sta Zp7A ; CPU:$D1A6 PRG:51A6 85 7A + sta $0420 ; CPU:$D1A8 PRG:51A8 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop586 +; Global: Branch target inside NmiHandler: taken when Loop586. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop586: + jsr Sub_DA51 ; CPU:$D1AB PRG:51AB 20 51 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop587 +; Global: Branch target inside NmiHandler: taken when Loop587. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop587: + rts ; CPU:$D1AE PRG:51AE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop588 +; Global: Branch target inside NmiHandler: taken when Loop588. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop588: + lda Zp19 ; CPU:$D1AF PRG:51AF A5 19 + and #$01 ; CPU:$D1B1 PRG:51B1 29 01 + tay ; CPU:$D1B3 PRG:51B3 A8 + lda $CEAE,y ; CPU:$D1B4 PRG:51B4 B9 AE CE + sta Zp44 ; CPU:$D1B7 PRG:51B7 85 44 + lda #$01 ; CPU:$D1B9 PRG:51B9 A9 01 + sta Zp7B ; CPU:$D1BB PRG:51BB 85 7B + lsr a ; CPU:$D1BD PRG:51BD 4A + sta ZpBC ; CPU:$D1BE PRG:51BE 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop589 +; Global: Branch target inside NmiHandler: taken when Loop589. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop589: + jmp Sub_D569 ; CPU:$D1C0 PRG:51C0 4C 69 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D1C3 +; Global: Branch target inside Sub: taken when D1C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1C3: + lda Zp3C ; CPU:$D1C3 PRG:51C3 A5 3C + ora Zp25 ; CPU:$D1C5 PRG:51C5 05 25 + ora Zp7D ; CPU:$D1C7 PRG:51C7 05 7D + bne NmiHandler_Loop591 ; CPU:$D1C9 PRG:51C9 D0 73 + lda $039D ; CPU:$D1CB PRG:51CB AD 9D 03 + beq NmiHandler_Loop591 ; CPU:$D1CE PRG:51CE F0 6E + lda PlayerIndex ; CPU:$D1D0 PRG:51D0 A5 69 + and #$F0 ; CPU:$D1D2 PRG:51D2 29 F0 + bne NmiHandler_Loop591 ; CPU:$D1D4 PRG:51D4 D0 68 + lda $039B ; CPU:$D1D6 PRG:51D6 AD 9B 03 + bne NmiHandler_Loop590 ; CPU:$D1D9 PRG:51D9 D0 4E + jsr Sub_ACD4 ; CPU:$D1DB PRG:51DB 20 D4 AC + bcs NmiHandler_Loop591 ; CPU:$D1DE PRG:51DE B0 5E + stx $039C ; CPU:$D1E0 PRG:51E0 8E 9C 03 + lda #$01 ; CPU:$D1E3 PRG:51E3 A9 01 + sta GameState,x ; CPU:$D1E5 PRG:51E5 95 C0 + sta $039B ; CPU:$D1E7 PRG:51E7 8D 9B 03 + asl a ; CPU:$D1EA PRG:51EA 0A + sta ZpBC ; CPU:$D1EB PRG:51EB 85 BC + sta PlayerY,x ; CPU:$D1ED PRG:51ED 95 B7 + lda #$08 ; CPU:$D1EF PRG:51EF A9 08 + sta EnemyIndex,x ; CPU:$D1F1 PRG:51F1 95 87 + lda #$09 ; CPU:$D1F3 PRG:51F3 A9 09 + sta SpriteTimer,x ; CPU:$D1F5 PRG:51F5 95 80 + lda ZpB5 ; CPU:$D1F7 PRG:51F7 A5 B5 + sta PlayerX,x ; CPU:$D1F9 PRG:51F9 95 B0 + lda ZpE5 ; CPU:$D1FB PRG:51FB A5 E5 + sta EnemyHealth,x ; CPU:$D1FD PRG:51FD 95 DF + ldx #$05 ; CPU:$D1FF PRG:51FF A2 05 + lda $04DC,x ; CPU:$D201 PRG:5201 BD DC 04 + sta VramWritePtrLo ; CPU:$D204 PRG:5204 85 00 + sta $039F ; CPU:$D206 PRG:5206 8D 9F 03 + ldx $039C ; CPU:$D209 PRG:5209 AE 9C 03 + jsr Sub_D931 ; CPU:$D20C PRG:520C 20 31 D9 + lda #$07 ; CPU:$D20F PRG:520F A9 07 + sta Zp7D ; CPU:$D211 PRG:5211 85 7D + lda #$20 ; CPU:$D213 PRG:5213 A9 20 + sta Zp38 ; CPU:$D215 PRG:5215 85 38 + lda #$0B ; CPU:$D217 PRG:5217 A9 0B + sta Zp2B,x ; CPU:$D219 PRG:5219 95 2B + lda #$00 ; CPU:$D21B PRG:521B A9 00 + sta Zp67 ; CPU:$D21D PRG:521D 85 67 +; ----------------------------------------------------------------------------- +; Routine: Sub_D21F +; Global: Branch target inside Sub: taken when D21F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D21F: + sta $0420 ; CPU:$D21F PRG:521F 8D 20 04 + sta Zp44 ; CPU:$D222 PRG:5222 85 44 + sta Zp3A ; CPU:$D224 PRG:5224 85 3A + sta Zp25 ; CPU:$D226 PRG:5226 85 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero14 +; Global: Branch target inside NmiHandler: taken when OnZero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero14: + rts ; CPU:$D228 PRG:5228 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop590 +; Global: Branch target inside NmiHandler: taken when Loop590. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop590: + lda Zp38 ; CPU:$D229 PRG:5229 A5 38 + bne NmiHandler_Loop591 ; CPU:$D22B PRG:522B D0 11 + lda #$08 ; CPU:$D22D PRG:522D A9 08 + sta Zp7D ; CPU:$D22F PRG:522F 85 7D + ldx $039C ; CPU:$D231 PRG:5231 AE 9C 03 + lda #$02 ; CPU:$D234 PRG:5234 A9 02 + sta ZpBC ; CPU:$D236 PRG:5236 85 BC + sta PlayerY,x ; CPU:$D238 PRG:5238 95 B7 + lda #$30 ; CPU:$D23A PRG:523A A9 30 + sta Zp3C ; CPU:$D23C PRG:523C 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop591 +; Global: Branch target inside NmiHandler: taken when Loop591. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop591: + rts ; CPU:$D23E PRG:523E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D23F +; Global: Branch target inside Label: taken when D23F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D23F: + lda Zp7D ; CPU:$D23F PRG:523F A5 7D + bne NmiHandler_OnZero14 ; CPU:$D241 PRG:5241 D0 E5 + ldx $039C ; CPU:$D243 PRG:5243 AE 9C 03 + lda $039B ; CPU:$D246 PRG:5246 AD 9B 03 + beq NmiHandler_OnZero14 ; CPU:$D249 PRG:5249 F0 DD + lda Zp2B,x ; CPU:$D24B PRG:524B B5 2B + bne NmiHandler_Loop593 ; CPU:$D24D PRG:524D D0 24 + lda Zp3F,x ; CPU:$D24F PRG:524F B5 3F + beq NmiHandler_Loop592 ; CPU:$D251 PRG:5251 F0 17 + bne NmiHandler_Loop596 ; CPU:$D253 PRG:5253 D0 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero15 +; Global: Branch target inside NmiHandler: taken when OnZero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero15: + lda Zp19 ; CPU:$D255 PRG:5255 A5 19 + and #$03 ; CPU:$D257 PRG:5257 29 03 + sta VramWritePtrLo ; CPU:$D259 PRG:5259 85 00 + lda ZpBE ; CPU:$D25B PRG:525B A5 BE + asl a ; CPU:$D25D PRG:525D 0A + asl a ; CPU:$D25E PRG:525E 0A + clc ; CPU:$D25F PRG:525F 18 + adc VramWritePtrLo ; CPU:$D260 PRG:5260 65 00 + tay ; CPU:$D262 PRG:5262 A8 + lda $CE9E,y ; CPU:$D263 PRG:5263 B9 9E CE + sta Zp3F,x ; CPU:$D266 PRG:5266 95 3F + bne NmiHandler_Loop595 ; CPU:$D268 PRG:5268 D0 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop592 +; Global: Branch target inside NmiHandler: taken when Loop592. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop592: + lda #$20 ; CPU:$D26A PRG:526A A9 20 + sta Zp2B,x ; CPU:$D26C PRG:526C 95 2B + lda #$03 ; CPU:$D26E PRG:526E A9 03 + sta $039E ; CPU:$D270 PRG:5270 8D 9E 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop593 +; Global: Branch target inside NmiHandler: taken when Loop593. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop593: + ldy $039E ; CPU:$D273 PRG:5273 AC 9E 03 + lda Zp2B,x ; CPU:$D276 PRG:5276 B5 2B + cmp $CE82,y ; CPU:$D278 PRG:5278 D9 82 CE + bcs NmiHandler_Loop594 ; CPU:$D27B PRG:527B B0 05 + dec $039E ; CPU:$D27D PRG:527D CE 9E 03 + beq NmiHandler_OnZero15 ; CPU:$D280 PRG:5280 F0 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop594 +; Global: Branch target inside NmiHandler: taken when Loop594. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop594: + lda $039E ; CPU:$D282 PRG:5282 AD 9E 03 + tay ; CPU:$D285 PRG:5285 A8 + lda $CE86,y ; CPU:$D286 PRG:5286 B9 86 CE + sta PlayerY,x ; CPU:$D289 PRG:5289 95 B7 + lda Zp67 ; CPU:$D28B PRG:528B A5 67 + beq NmiHandler_OnZero14 ; CPU:$D28D PRG:528D F0 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop595 +; Global: Branch target inside NmiHandler: taken when Loop595. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop595: + lda #$00 ; CPU:$D28F PRG:528F A9 00 + sta PlayerY,x ; CPU:$D291 PRG:5291 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop596 +; Global: Branch target inside NmiHandler: taken when Loop596. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop596: + lda Zp67 ; CPU:$D293 PRG:5293 A5 67 + beq NmiHandler_Loop600 ; CPU:$D295 PRG:5295 F0 58 + lda Zp21 ; CPU:$D297 PRG:5297 A5 21 + cmp #$01 ; CPU:$D299 PRG:5299 C9 01 + bne NmiHandler_Loop597 ; CPU:$D29B PRG:529B D0 06 + lda PlayerY,x ; CPU:$D29D PRG:529D B5 B7 + eor #$01 ; CPU:$D29F PRG:529F 49 01 + sta PlayerY,x ; CPU:$D2A1 PRG:52A1 95 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop597 +; Global: Branch target inside NmiHandler: taken when Loop597. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop597: + lda ZpE5 ; CPU:$D2A3 PRG:52A3 A5 E5 + sta VramWritePtrLo ; CPU:$D2A5 PRG:52A5 85 00 + lda $039F ; CPU:$D2A7 PRG:52A7 AD 9F 03 + sta VramWritePtrHi ; CPU:$D2AA PRG:52AA 85 01 + lda GameState,x ; CPU:$D2AC PRG:52AC B5 C0 + beq NmiHandler_Loop598 ; CPU:$D2AE PRG:52AE F0 0E + lda $039F ; CPU:$D2B0 PRG:52B0 AD 9F 03 + eor #$FF ; CPU:$D2B3 PRG:52B3 49 FF + clc ; CPU:$D2B5 PRG:52B5 18 + adc #$01 ; CPU:$D2B6 PRG:52B6 69 01 + sta VramWritePtrHi ; CPU:$D2B8 PRG:52B8 85 01 + bpl NmiHandler_Loop598 ; CPU:$D2BA PRG:52BA 10 02 + dec VramWritePtrLo ; CPU:$D2BC PRG:52BC C6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop598 +; Global: Branch target inside NmiHandler: taken when Loop598. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop598: + lda VramWritePtrHi ; CPU:$D2BE PRG:52BE A5 01 + clc ; CPU:$D2C0 PRG:52C0 18 + adc ZpD4 ; CPU:$D2C1 PRG:52C1 65 D4 + sta VramWritePtrHi ; CPU:$D2C3 PRG:52C3 85 01 + bcc NmiHandler_Loop599 ; CPU:$D2C5 PRG:52C5 90 02 + inc VramWritePtrLo ; CPU:$D2C7 PRG:52C7 E6 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop599 +; Global: Branch target inside NmiHandler: taken when Loop599. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop599: + lda VramWritePtrLo ; CPU:$D2C9 PRG:52C9 A5 00 + sta EnemyHealth,x ; CPU:$D2CB PRG:52CB 95 DF + lda VramWritePtrHi ; CPU:$D2CD PRG:52CD A5 01 + sta ZpCE,x ; CPU:$D2CF PRG:52CF 95 CE + lda EnemyHealth,x ; CPU:$D2D1 PRG:52D1 B5 DF + cmp #$04 ; CPU:$D2D3 PRG:52D3 C9 04 + bcc NmiHandler_Loop601 ; CPU:$D2D5 PRG:52D5 90 19 + lda EnemyHealth,x ; CPU:$D2D7 PRG:52D7 B5 DF + cmp #$06 ; CPU:$D2D9 PRG:52D9 C9 06 + bne NmiHandler_Loop600 ; CPU:$D2DB PRG:52DB D0 12 + lda ZpCE,x ; CPU:$D2DD PRG:52DD B5 CE + cmp #$90 ; CPU:$D2DF PRG:52DF C9 90 + bcc NmiHandler_Loop600 ; CPU:$D2E1 PRG:52E1 90 0C ; ----------------------------------------------------------------------------- ; Routine: Sub_D2E3 ; Global: Branch target inside Sub: taken when D2E3. @@ -11810,87 +15750,408 @@ NmiHandler_Loop419: ; ----------------------------------------------------------------------------- Sub_D2E3: lda #$06 ; CPU:$D2E3 PRG:52E3 A9 06 - sta ZpDF,x ; CPU:$D2E5 PRG:52E5 95 DF + sta EnemyHealth,x ; CPU:$D2E5 PRG:52E5 95 DF lda #$90 ; CPU:$D2E7 PRG:52E7 A9 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero16 +; Global: Branch target inside NmiHandler: taken when OnZero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero16: sta ZpCE,x ; CPU:$D2E9 PRG:52E9 95 CE lda #$00 ; CPU:$D2EB PRG:52EB A9 00 - sta ZpB7,x ; CPU:$D2ED PRG:52ED 95 B7 - rts ; CPU:$D2EF PRG:52EF 60 -; ---- data $D2F0-$D425 (310 bytes) ---- - .byte $A9, $04, $95, $DF, $A9, $00, $F0, $F1, $A2, $05, $AD, $95, $04, $F0, $12, $A9 ; CPU:$D2F0 PRG:52F0 A9 04 95 DF A9 00 F0 F1 A2 05 AD 95 04 F0 12 A9 - .byte $15, $85, $BC, $A9, $07, $85, $7B, $85, $30, $A9, $00, $85, $7A, $8D, $95, $04 ; CPU:$D300 PRG:5300 15 85 BC A9 07 85 7B 85 30 A9 00 85 7A 8D 95 04 - .byte $60, $BD, $DC, $04, $85, $05, $A5, $7B, $0A, $A8, $B9, $C9, $CE, $85, $00, $C8 ; CPU:$D310 PRG:5310 60 BD DC 04 85 05 A5 7B 0A A8 B9 C9 CE 85 00 C8 - .byte $B9, $C9, $CE, $85, $01, $6C, $00, $00, $A5, $05, $C9, $40, $B0, $1A, $A5, $BC ; CPU:$D320 PRG:5320 B9 C9 CE 85 01 6C 00 00 A5 05 C9 40 B0 1A A5 BC - .byte $09, $02, $85, $BC, $A5, $05, $C9, $20, $B0, $29, $AD, $8C, $03, $F0, $03, $4C ; CPU:$D330 PRG:5330 09 02 85 BC A5 05 C9 20 B0 29 AD 8C 03 F0 03 4C - .byte $C6, $D3, $A9, $07, $A2, $55, $D0, $15, $A5, $BC, $29, $FD, $85, $BC, $A5, $7A ; CPU:$D340 PRG:5340 C6 D3 A9 07 A2 55 D0 15 A5 BC 29 FD 85 BC A5 7A - .byte $29, $01, $85, $7A, $4A, $85, $7B, $85, $3C, $A9, $09, $A2, $C0, $8D, $8A, $03 ; CPU:$D350 PRG:5350 29 01 85 7A 4A 85 7B 85 3C A9 09 A2 C0 8D 8A 03 - .byte $8E, $8B, $03, $A5, $7B, $F0, $03, $4C, $69, $D5, $20, $05, $D5, $90, $77, $A5 ; CPU:$D360 PRG:5360 8E 8B 03 A5 7B F0 03 4C 69 D5 20 05 D5 90 77 A5 - .byte $3C, $F0, $03, $4C, $3B, $D4, $A5, $05, $C9, $15, $90, $07, $A0, $07, $A2, $05 ; CPU:$D370 PRG:5370 3C F0 03 4C 3B D4 A5 05 C9 15 90 07 A0 07 A2 05 - .byte $20, $1F, $B2, $4C, $0F, $D4, $00, $0C, $18, $24, $AD, $8C, $03, $F0, $68, $A0 ; CPU:$D380 PRG:5380 20 1F B2 4C 0F D4 00 0C 18 24 AD 8C 03 F0 68 A0 - .byte $00, $A5, $69, $29, $20, $D0, $10, $A0, $03, $A5, $69, $29, $06, $F0, $08, $A0 ; CPU:$D390 PRG:5390 00 A5 69 29 20 D0 10 A0 03 A5 69 29 06 F0 08 A0 - .byte $09, $29, $04, $D0, $02, $A0, $06, $84, $00, $A5, $7B, $38, $E9, $02, $18, $65 ; CPU:$D3A0 PRG:53A0 09 29 04 D0 02 A0 06 84 00 A5 7B 38 E9 02 18 65 - .byte $00, $A4, $BE, $18, $79, $86, $D3, $A8, $B9, $EE, $CE, $A6, $53, $D0, $03, $38 ; CPU:$D3B0 PRG:53B0 00 A4 BE 18 79 86 D3 A8 B9 EE CE A6 53 D0 03 38 - .byte $E9, $19, $C5, $1C, $90, $31, $A9, $00, $85, $30, $85, $7A, $A5, $69, $29, $02 ; CPU:$D3C0 PRG:53C0 E9 19 C5 1C 90 31 A9 00 85 30 85 7A A5 69 29 02 - .byte $F0, $15, $A5, $69, $29, $20, $D0, $0F, $A9, $05, $85, $7F, $85, $7B, $A9, $03 ; CPU:$D3D0 PRG:53D0 F0 15 A5 69 29 20 D0 0F A9 05 85 7F 85 7B A9 03 - .byte $85, $7A, $A9, $14, $85, $BC, $60, $A9, $0D, $85, $30, $4A, $85, $7B, $A9, $04 ; CPU:$D3E0 PRG:53E0 85 7A A9 14 85 BC 60 A9 0D 85 30 4A 85 7B A9 04 - .byte $85, $BC, $A9, $01, $85, $FC, $60, $A5, $30, $D0, $FB, $C6, $BC, $C6, $7A, $10 ; CPU:$D3F0 PRG:53F0 85 BC A9 01 85 FC 60 A5 30 D0 FB C6 BC C6 7A 10 - .byte $1D, $85, $7A, $85, $BC, $C6, $7C, $F0, $1D, $A5, $05, $C9, $20, $B0, $17, $20 ; CPU:$D400 PRG:5400 1D 85 7A 85 BC C6 7C F0 1D A5 05 C9 20 B0 17 20 - .byte $CE, $D5, $85, $7B, $A8, $A9, $03, $85, $7A, $B9, $D9, $CE, $85, $BC, $A6, $7A ; CPU:$D410 PRG:5410 CE D5 85 7B A8 A9 03 85 7A B9 D9 CE 85 BC A6 7A - .byte $BD, $DE, $CE, $85, $30, $60 ; CPU:$D420 PRG:5420 BD DE CE 85 30 60 + sta PlayerY,x ; CPU:$D2ED PRG:52ED 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero13 -; Global: Branch target inside NmiHandler: taken when OnZero13. +; Routine: NmiHandler_Loop600 +; Global: Branch target inside NmiHandler: taken when Loop600. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero13: +NmiHandler_Loop600: + rts ; CPU:$D2EF PRG:52EF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop601 +; Global: Branch target inside NmiHandler: taken when Loop601. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop601: + lda #$04 ; CPU:$D2F0 PRG:52F0 A9 04 + sta EnemyHealth,x ; CPU:$D2F2 PRG:52F2 95 DF + lda #$00 ; CPU:$D2F4 PRG:52F4 A9 00 + beq NmiHandler_OnZero16 ; CPU:$D2F6 PRG:52F6 F0 F1 + ldx #$05 ; CPU:$D2F8 PRG:52F8 A2 05 + lda $0495 ; CPU:$D2FA PRG:52FA AD 95 04 + beq NmiHandler_Loop602 ; CPU:$D2FD PRG:52FD F0 12 + lda #$15 ; CPU:$D2FF PRG:52FF A9 15 + sta ZpBC ; CPU:$D301 PRG:5301 85 BC + lda #$07 ; CPU:$D303 PRG:5303 A9 07 + sta Zp7B ; CPU:$D305 PRG:5305 85 7B + sta Zp30 ; CPU:$D307 PRG:5307 85 30 + lda #$00 ; CPU:$D309 PRG:5309 A9 00 + sta Zp7A ; CPU:$D30B PRG:530B 85 7A + sta $0495 ; CPU:$D30D PRG:530D 8D 95 04 + rts ; CPU:$D310 PRG:5310 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop602 +; Global: Branch target inside NmiHandler: taken when Loop602. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop602: + lda $04DC,x ; CPU:$D311 PRG:5311 BD DC 04 + sta Zp05 ; CPU:$D314 PRG:5314 85 05 + lda Zp7B ; CPU:$D316 PRG:5316 A5 7B + asl a ; CPU:$D318 PRG:5318 0A + tay ; CPU:$D319 PRG:5319 A8 + lda $CEC9,y ; CPU:$D31A PRG:531A B9 C9 CE + sta VramWritePtrLo ; CPU:$D31D PRG:531D 85 00 + iny ; CPU:$D31F PRG:531F C8 + lda $CEC9,y ; CPU:$D320 PRG:5320 B9 C9 CE + sta VramWritePtrHi ; CPU:$D323 PRG:5323 85 01 + jmp (VramWritePtrLo) ; CPU:$D325 PRG:5325 6C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D328 +; Global: Branch target inside Label: taken when D328. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D328: + lda Zp05 ; CPU:$D328 PRG:5328 A5 05 + cmp #$40 ; CPU:$D32A PRG:532A C9 40 + bcs NmiHandler_Loop604 ; CPU:$D32C PRG:532C B0 1A + lda ZpBC ; CPU:$D32E PRG:532E A5 BC + ora #$02 ; CPU:$D330 PRG:5330 09 02 + sta ZpBC ; CPU:$D332 PRG:5332 85 BC + lda Zp05 ; CPU:$D334 PRG:5334 A5 05 + cmp #$20 ; CPU:$D336 PRG:5336 C9 20 + bcs NmiHandler_Loop606 ; CPU:$D338 PRG:5338 B0 29 + lda $038C ; CPU:$D33A PRG:533A AD 8C 03 + beq NmiHandler_Loop603 ; CPU:$D33D PRG:533D F0 03 + jmp Sub_D3C6 ; CPU:$D33F PRG:533F 4C C6 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop603 +; Global: Branch target inside NmiHandler: taken when Loop603. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop603: + lda #$07 ; CPU:$D342 PRG:5342 A9 07 + ldx #$55 ; CPU:$D344 PRG:5344 A2 55 + bne NmiHandler_Loop605 ; CPU:$D346 PRG:5346 D0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop604 +; Global: Branch target inside NmiHandler: taken when Loop604. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop604: + lda ZpBC ; CPU:$D348 PRG:5348 A5 BC + and #$FD ; CPU:$D34A PRG:534A 29 FD + sta ZpBC ; CPU:$D34C PRG:534C 85 BC + lda Zp7A ; CPU:$D34E PRG:534E A5 7A + and #$01 ; CPU:$D350 PRG:5350 29 01 + sta Zp7A ; CPU:$D352 PRG:5352 85 7A + lsr a ; CPU:$D354 PRG:5354 4A + sta Zp7B ; CPU:$D355 PRG:5355 85 7B + sta Zp3C ; CPU:$D357 PRG:5357 85 3C + lda #$09 ; CPU:$D359 PRG:5359 A9 09 + ldx #$C0 ; CPU:$D35B PRG:535B A2 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop605 +; Global: Branch target inside NmiHandler: taken when Loop605. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop605: + sta $038A ; CPU:$D35D PRG:535D 8D 8A 03 + stx $038B ; CPU:$D360 PRG:5360 8E 8B 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop606 +; Global: Branch target inside NmiHandler: taken when Loop606. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop606: + lda Zp7B ; CPU:$D363 PRG:5363 A5 7B + beq NmiHandler_Loop607 ; CPU:$D365 PRG:5365 F0 03 + jmp Sub_D569 ; CPU:$D367 PRG:5367 4C 69 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop607 +; Global: Branch target inside NmiHandler: taken when Loop607. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop607: + jsr Sub_D505 ; CPU:$D36A PRG:536A 20 05 D5 + bcc NmiHandler_Loop610 ; CPU:$D36D PRG:536D 90 77 + lda Zp3C ; CPU:$D36F PRG:536F A5 3C + beq NmiHandler_Loop608 ; CPU:$D371 PRG:5371 F0 03 + jmp NmiHandler_Loop614 ; CPU:$D373 PRG:5373 4C 3B D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop608 +; Global: Branch target inside NmiHandler: taken when Loop608. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop608: + lda Zp05 ; CPU:$D376 PRG:5376 A5 05 + cmp #$15 ; CPU:$D378 PRG:5378 C9 15 + bcc NmiHandler_Loop609 ; CPU:$D37A PRG:537A 90 07 + ldy #$07 ; CPU:$D37C PRG:537C A0 07 + ldx #$05 ; CPU:$D37E PRG:537E A2 05 + jsr NmiHandler_Loop293 ; CPU:$D380 PRG:5380 20 1F B2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop609 +; Global: Branch target inside NmiHandler: taken when Loop609. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop609: + jmp Sub_D40F ; CPU:$D383 PRG:5383 4C 0F D4 +; ---- data $D386-$D3C5 (64 bytes) ---- +LevelSceneryData: + .byte $00, $0C, $18, $24, $AD, $8C, $03, $F0, $68, $A0, $00, $A5, $69, $29, $20, $D0 ; CPU:$D386 PRG:1386 00 0C 18 24 AD 8C 03 F0 68 A0 00 A5 69 29 20 D0 + .byte $10, $A0, $03, $A5, $69, $29, $06, $F0, $08, $A0, $09, $29, $04, $D0, $02, $A0 ; CPU:$D396 PRG:5396 10 A0 03 A5 69 29 06 F0 08 A0 09 29 04 D0 02 A0 + .byte $06, $84, $00, $A5, $7B, $38, $E9, $02, $18, $65, $00, $A4, $BE, $18, $79, $86 ; CPU:$D3A6 PRG:53A6 06 84 00 A5 7B 38 E9 02 18 65 00 A4 BE 18 79 86 + .byte $D3, $A8, $B9, $EE, $CE, $A6, $53, $D0, $03, $38, $E9, $19, $C5, $1C, $90, $31 ; CPU:$D3B6 PRG:53B6 D3 A8 B9 EE CE A6 53 D0 03 38 E9 19 C5 1C 90 31 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3C6 +; Global: Branch target inside Sub: taken when D3C6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3C6: + lda #$00 ; CPU:$D3C6 PRG:53C6 A9 00 + sta Zp30 ; CPU:$D3C8 PRG:53C8 85 30 + sta Zp7A ; CPU:$D3CA PRG:53CA 85 7A + lda PlayerIndex ; CPU:$D3CC PRG:53CC A5 69 + and #$02 ; CPU:$D3CE PRG:53CE 29 02 + beq NmiHandler_Loop611 ; CPU:$D3D0 PRG:53D0 F0 15 + lda PlayerIndex ; CPU:$D3D2 PRG:53D2 A5 69 + and #$20 ; CPU:$D3D4 PRG:53D4 29 20 + bne NmiHandler_Loop611 ; CPU:$D3D6 PRG:53D6 D0 0F + lda #$05 ; CPU:$D3D8 PRG:53D8 A9 05 + sta Zp7F ; CPU:$D3DA PRG:53DA 85 7F + sta Zp7B ; CPU:$D3DC PRG:53DC 85 7B + lda #$03 ; CPU:$D3DE PRG:53DE A9 03 + sta Zp7A ; CPU:$D3E0 PRG:53E0 85 7A + lda #$14 ; CPU:$D3E2 PRG:53E2 A9 14 + sta ZpBC ; CPU:$D3E4 PRG:53E4 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop610 +; Global: Branch target inside NmiHandler: taken when Loop610. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop610: + rts ; CPU:$D3E6 PRG:53E6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop611 +; Global: Branch target inside NmiHandler: taken when Loop611. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop611: + lda #$0D ; CPU:$D3E7 PRG:53E7 A9 0D + sta Zp30 ; CPU:$D3E9 PRG:53E9 85 30 + lsr a ; CPU:$D3EB PRG:53EB 4A + sta Zp7B ; CPU:$D3EC PRG:53EC 85 7B + lda #$04 ; CPU:$D3EE PRG:53EE A9 04 + sta ZpBC ; CPU:$D3F0 PRG:53F0 85 BC + lda #$01 ; CPU:$D3F2 PRG:53F2 A9 01 + sta ZpFC ; CPU:$D3F4 PRG:53F4 85 FC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero51: + rts ; CPU:$D3F6 PRG:53F6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D3F7 +; Global: Branch target inside Label: taken when D3F7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D3F7: + lda Zp30 ; CPU:$D3F7 PRG:53F7 A5 30 + bne NmiHandler_OnNonzero51 ; CPU:$D3F9 PRG:53F9 D0 FB + dec ZpBC ; CPU:$D3FB PRG:53FB C6 BC + dec Zp7A ; CPU:$D3FD PRG:53FD C6 7A + bpl NmiHandler_Loop612 ; CPU:$D3FF PRG:53FF 10 1D + sta Zp7A ; CPU:$D401 PRG:5401 85 7A + sta ZpBC ; CPU:$D403 PRG:5403 85 BC + dec Zp7C ; CPU:$D405 PRG:5405 C6 7C + beq NmiHandler_OnZero17 ; CPU:$D407 PRG:5407 F0 1D + lda Zp05 ; CPU:$D409 PRG:5409 A5 05 + cmp #$20 ; CPU:$D40B PRG:540B C9 20 + bcs NmiHandler_OnZero17 ; CPU:$D40D PRG:540D B0 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_D40F +; Global: Branch target inside Sub: taken when D40F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D40F: + jsr Sub_D5CE ; CPU:$D40F PRG:540F 20 CE D5 + sta Zp7B ; CPU:$D412 PRG:5412 85 7B + tay ; CPU:$D414 PRG:5414 A8 + lda #$03 ; CPU:$D415 PRG:5415 A9 03 + sta Zp7A ; CPU:$D417 PRG:5417 85 7A + lda $CED9,y ; CPU:$D419 PRG:5419 B9 D9 CE + sta ZpBC ; CPU:$D41C PRG:541C 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop612 +; Global: Branch target inside NmiHandler: taken when Loop612. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop612: + ldx Zp7A ; CPU:$D41E PRG:541E A6 7A + lda $CEDE,x ; CPU:$D420 PRG:5420 BD DE CE + sta Zp30 ; CPU:$D423 PRG:5423 85 30 + rts ; CPU:$D425 PRG:5425 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero17 +; Global: Branch target inside NmiHandler: taken when OnZero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero17: lda #$04 ; CPU:$D426 PRG:5426 A9 04 sta Zp3C ; CPU:$D428 PRG:5428 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNegative4 +; Global: Branch target inside NmiHandler: taken when OnNegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNegative4: lda ZpE4 ; CPU:$D42A PRG:542A A5 E4 - bne NmiHandler_Loop420 ; CPU:$D42C PRG:542C D0 06 + bne NmiHandler_Loop613 ; CPU:$D42C PRG:542C D0 06 lda ZpD3 ; CPU:$D42E PRG:542E A5 D3 cmp #$70 ; CPU:$D430 PRG:5430 C9 70 - bcc NmiHandler_Loop421 ; CPU:$D432 PRG:5432 90 07 + bcc NmiHandler_Loop614 ; CPU:$D432 PRG:5432 90 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop420 -; Global: Branch target inside NmiHandler: taken when Loop420. +; Routine: NmiHandler_Loop613 +; Global: Branch target inside NmiHandler: taken when Loop613. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop420: +NmiHandler_Loop613: ldx #$05 ; CPU:$D434 PRG:5434 A2 05 ldy #$F7 ; CPU:$D436 PRG:5436 A0 F7 - jsr NmiHandler_Loop180 ; CPU:$D438 PRG:5438 20 1F B2 + jsr NmiHandler_Loop293 ; CPU:$D438 PRG:5438 20 1F B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop421 -; Global: Branch target inside NmiHandler: taken when Loop421. +; Routine: NmiHandler_Loop614 +; Global: Branch target inside NmiHandler: taken when Loop614. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop421: +NmiHandler_Loop614: lda #$00 ; CPU:$D43B PRG:543B A9 00 sta $038C ; CPU:$D43D PRG:543D 8D 8C 03 lda #$01 ; CPU:$D440 PRG:5440 A9 01 - jmp Sub_D5BA ; CPU:$D442 PRG:5442 4C BA D5 -; ---- data $D445-$D473 (47 bytes) ---- - .byte $A5, $30, $D0, $2B, $C6, $7F, $30, $DD, $A4, $7F, $B9, $E2, $CE, $85, $B5, $B9 ; CPU:$D445 PRG:5445 A5 30 D0 2B C6 7F 30 DD A4 7F B9 E2 CE 85 B5 B9 - .byte $E8, $CE, $85, $30, $C0, $03, $D0, $0F, $A5, $1B, $C9, $CD, $90, $11, $A9, $13 ; CPU:$D455 PRG:5455 E8 CE 85 30 C0 03 D0 0F A5 1B C9 CD 90 11 A9 13 - .byte $85, $BC, $A9, $02, $85, $7A, $60, $A9, $12, $85, $BC, $A9, $01, $85, $7A ; CPU:$D465 PRG:5465 85 BC A9 02 85 7A 60 A9 12 85 BC A9 01 85 7A + jmp NmiHandler_Loop634 ; CPU:$D442 PRG:5442 4C BA D5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero41 -; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Routine: Label_D445 +; Global: Branch target inside Label: taken when D445. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D445: + lda Zp30 ; CPU:$D445 PRG:5445 A5 30 + bne NmiHandler_Loop616 ; CPU:$D447 PRG:5447 D0 2B + dec Zp7F ; CPU:$D449 PRG:5449 C6 7F + bmi NmiHandler_OnNegative4 ; CPU:$D44B PRG:544B 30 DD + ldy Zp7F ; CPU:$D44D PRG:544D A4 7F + lda $CEE2,y ; CPU:$D44F PRG:544F B9 E2 CE + sta ZpB5 ; CPU:$D452 PRG:5452 85 B5 + lda $CEE8,y ; CPU:$D454 PRG:5454 B9 E8 CE + sta Zp30 ; CPU:$D457 PRG:5457 85 30 + cpy #$03 ; CPU:$D459 PRG:5459 C0 03 + bne NmiHandler_Loop615 ; CPU:$D45B PRG:545B D0 0F + lda Zp1B ; CPU:$D45D PRG:545D A5 1B + cmp #$CD ; CPU:$D45F PRG:545F C9 CD + bcc NmiHandler_Loop616 ; CPU:$D461 PRG:5461 90 11 + lda #$13 ; CPU:$D463 PRG:5463 A9 13 + sta ZpBC ; CPU:$D465 PRG:5465 85 BC + lda #$02 ; CPU:$D467 PRG:5467 A9 02 + sta Zp7A ; CPU:$D469 PRG:5469 85 7A + rts ; CPU:$D46B PRG:546B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop615 +; Global: Branch target inside NmiHandler: taken when Loop615. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero41: +NmiHandler_Loop615: + lda #$12 ; CPU:$D46C PRG:546C A9 12 + sta ZpBC ; CPU:$D46E PRG:546E 85 BC + lda #$01 ; CPU:$D470 PRG:5470 A9 01 + sta Zp7A ; CPU:$D472 PRG:5472 85 7A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop616 +; Global: Branch target inside NmiHandler: taken when Loop616. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop616: rts ; CPU:$D474 PRG:5474 60 ; ----------------------------------------------------------------------------- ; Routine: Label_D475 @@ -11902,14 +16163,24 @@ NmiHandler_OnNonzero41: ; ----------------------------------------------------------------------------- Label_D475: lda Zp30 ; CPU:$D475 PRG:5475 A5 30 - bne NmiHandler_OnNonzero41 ; CPU:$D477 PRG:5477 D0 FB + bne NmiHandler_Loop616 ; CPU:$D477 PRG:5477 D0 FB lda Zp68 ; CPU:$D479 PRG:5479 A5 68 - beq NmiHandler_OnZero13 ; CPU:$D47B PRG:547B F0 A9 - lda Zp69 ; CPU:$D47D PRG:547D A5 69 - beq NmiHandler_OnZero13 ; CPU:$D47F PRG:547F F0 A5 + beq NmiHandler_OnZero17 ; CPU:$D47B PRG:547B F0 A9 + lda PlayerIndex ; CPU:$D47D PRG:547D A5 69 + beq NmiHandler_OnZero17 ; CPU:$D47F PRG:547F F0 A5 rts ; CPU:$D481 PRG:5481 60 -; ---- data $D482-$D486 (5 bytes) ---- - .byte $A5, $30, $F0, $A0, $60 ; CPU:$D482 PRG:5482 A5 30 F0 A0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D482 +; Global: Branch target inside Label: taken when D482. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D482: + lda Zp30 ; CPU:$D482 PRG:5482 A5 30 + beq NmiHandler_OnZero17 ; CPU:$D484 PRG:5484 F0 A0 + rts ; CPU:$D486 PRG:5486 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D487 ; Global: Branch target inside Sub: taken when D487. @@ -11920,93 +16191,93 @@ Label_D475: ; ----------------------------------------------------------------------------- Sub_D487: lda Zp85 ; CPU:$D487 PRG:5487 A5 85 - beq NmiHandler_Loop425 ; CPU:$D489 PRG:5489 F0 52 + beq NmiHandler_Loop620 ; CPU:$D489 PRG:5489 F0 52 lda $04A5 ; CPU:$D48B PRG:548B AD A5 04 - bmi NmiHandler_Loop425 ; CPU:$D48E PRG:548E 30 4D + bmi NmiHandler_Loop620 ; CPU:$D48E PRG:548E 30 4D ldy ZpBC ; CPU:$D490 PRG:5490 A4 BC lda ZpA4 ; CPU:$D492 PRG:5492 A5 A4 - sta Zp01 ; CPU:$D494 PRG:5494 85 01 + sta VramWritePtrHi ; CPU:$D494 PRG:5494 85 01 lda Zp93 ; CPU:$D496 PRG:5496 A5 93 sec ; CPU:$D498 PRG:5498 38 sbc $CF34,y ; CPU:$D499 PRG:5499 F9 34 CF - sta Zp00 ; CPU:$D49C PRG:549C 85 00 - bcs NmiHandler_Loop422 ; CPU:$D49E PRG:549E B0 02 - dec Zp01 ; CPU:$D4A0 PRG:54A0 C6 01 + sta VramWritePtrLo ; CPU:$D49C PRG:549C 85 00 + bcs NmiHandler_Loop617 ; CPU:$D49E PRG:549E B0 02 + dec VramWritePtrHi ; CPU:$D4A0 PRG:54A0 C6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop422 -; Global: Branch target inside NmiHandler: taken when Loop422. +; Routine: NmiHandler_Loop617 +; Global: Branch target inside NmiHandler: taken when Loop617. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop422: +NmiHandler_Loop617: lda ZpB5 ; CPU:$D4A2 PRG:54A2 A5 B5 clc ; CPU:$D4A4 PRG:54A4 18 adc $CF1E,y ; CPU:$D4A5 PRG:54A5 79 1E CF - sta Zp02 ; CPU:$D4A8 PRG:54A8 85 02 + sta DispatchPtrLo ; CPU:$D4A8 PRG:54A8 85 02 ldy #$01 ; CPU:$D4AA PRG:54AA A0 01 ldx Zp4B ; CPU:$D4AC PRG:54AC A6 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative40 -; Global: Branch target inside NmiHandler: taken when OnNonnegative40. +; Routine: NmiHandler_OnNonnegative53 +; Global: Branch target inside NmiHandler: taken when OnNonnegative53. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative40: - lda Zp01 ; CPU:$D4AE PRG:54AE A5 01 +NmiHandler_OnNonnegative53: + lda VramWritePtrHi ; CPU:$D4AE PRG:54AE A5 01 cmp #$01 ; CPU:$D4B0 PRG:54B0 C9 01 - bne NmiHandler_Loop423 ; CPU:$D4B2 PRG:54B2 D0 19 - lda Zp02 ; CPU:$D4B4 PRG:54B4 A5 02 + bne NmiHandler_Loop618 ; CPU:$D4B2 PRG:54B2 D0 19 + lda DispatchPtrLo ; CPU:$D4B4 PRG:54B4 A5 02 sta $0600,x ; CPU:$D4B6 PRG:54B6 9D 00 06 lda $CF4A,y ; CPU:$D4B9 PRG:54B9 B9 4A CF sta $0601,x ; CPU:$D4BC PRG:54BC 9D 01 06 lda #$02 ; CPU:$D4BF PRG:54BF A9 02 sta $0602,x ; CPU:$D4C1 PRG:54C1 9D 02 06 - lda Zp00 ; CPU:$D4C4 PRG:54C4 A5 00 + lda VramWritePtrLo ; CPU:$D4C4 PRG:54C4 A5 00 sta $0603,x ; CPU:$D4C6 PRG:54C6 9D 03 06 inx ; CPU:$D4C9 PRG:54C9 E8 inx ; CPU:$D4CA PRG:54CA E8 inx ; CPU:$D4CB PRG:54CB E8 inx ; CPU:$D4CC PRG:54CC E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop423 -; Global: Branch target inside NmiHandler: taken when Loop423. +; Routine: NmiHandler_Loop618 +; Global: Branch target inside NmiHandler: taken when Loop618. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop423: - lda Zp00 ; CPU:$D4CD PRG:54CD A5 00 +NmiHandler_Loop618: + lda VramWritePtrLo ; CPU:$D4CD PRG:54CD A5 00 clc ; CPU:$D4CF PRG:54CF 18 adc #$08 ; CPU:$D4D0 PRG:54D0 69 08 - sta Zp00 ; CPU:$D4D2 PRG:54D2 85 00 - bcc NmiHandler_Loop424 ; CPU:$D4D4 PRG:54D4 90 02 - inc Zp01 ; CPU:$D4D6 PRG:54D6 E6 01 + sta VramWritePtrLo ; CPU:$D4D2 PRG:54D2 85 00 + bcc NmiHandler_Loop619 ; CPU:$D4D4 PRG:54D4 90 02 + inc VramWritePtrHi ; CPU:$D4D6 PRG:54D6 E6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop424 -; Global: Branch target inside NmiHandler: taken when Loop424. +; Routine: NmiHandler_Loop619 +; Global: Branch target inside NmiHandler: taken when Loop619. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop424: +NmiHandler_Loop619: dey ; CPU:$D4D8 PRG:54D8 88 - bpl NmiHandler_OnNonnegative40 ; CPU:$D4D9 PRG:54D9 10 D3 + bpl NmiHandler_OnNonnegative53 ; CPU:$D4D9 PRG:54D9 10 D3 stx Zp4B ; CPU:$D4DB PRG:54DB 86 4B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop425 -; Global: Branch target inside NmiHandler: taken when Loop425. +; Routine: NmiHandler_Loop620 +; Global: Branch target inside NmiHandler: taken when Loop620. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop425: +NmiHandler_Loop620: clc ; CPU:$D4DD PRG:54DD 18 rts ; CPU:$D4DE PRG:54DE 60 ; ----------------------------------------------------------------------------- @@ -12019,7 +16290,7 @@ NmiHandler_Loop425: ; ----------------------------------------------------------------------------- Sub_D4DF: ldy #$FF ; CPU:$D4DF PRG:54DF A0 FF - bne NmiHandler_Loop426 ; CPU:$D4E1 PRG:54E1 D0 02 + bne NmiHandler_Loop621 ; CPU:$D4E1 PRG:54E1 D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4E3 ; Global: Branch target inside Sub: taken when D4E3. @@ -12031,224 +16302,318 @@ Sub_D4DF: Sub_D4E3: ldy #$01 ; CPU:$D4E3 PRG:54E3 A0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop426 -; Global: Branch target inside NmiHandler: taken when Loop426. +; Routine: NmiHandler_Loop621 +; Global: Branch target inside NmiHandler: taken when Loop621. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop426: +NmiHandler_Loop621: ldx #$05 ; CPU:$D4E5 PRG:54E5 A2 05 - lda Zp30 ; CPU:$D4E7 PRG:54E7 A5 30 - bne NmiHandler_Loop427 ; CPU:$D4E9 PRG:54E9 D0 0B - lda $038A ; CPU:$D4EB PRG:54EB AD 8A 03 - sta Zp30 ; CPU:$D4EE PRG:54EE 85 30 - lda ZpB7,x ; CPU:$D4F0 PRG:54F0 B5 B7 - eor #$01 ; CPU:$D4F2 PRG:54F2 49 01 - sta ZpB7,x ; CPU:$D4F4 PRG:54F4 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop427 -; Global: Branch target inside NmiHandler: taken when Loop427. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop427: - lda $049D ; CPU:$D4F6 PRG:54F6 AD 9D 04 - clc ; CPU:$D4F9 PRG:54F9 18 - adc $038B ; CPU:$D4FA PRG:54FA 6D 8B 03 - sta $049D ; CPU:$D4FD PRG:54FD 8D 9D 04 - bcc NmiHandler_Loop425 ; CPU:$D500 PRG:5500 90 DB - jmp NmiHandler_Loop180 ; CPU:$D502 PRG:5502 4C 1F B2 -; ---- data $D505-$D547 (67 bytes) ---- - .byte $A4, $5F, $A2, $05, $BD, $E3, $04, $D0, $3A, $BD, $DC, $04, $D9, $EC, $CD, $B0 ; CPU:$D505 PRG:5505 A4 5F A2 05 BD E3 04 D0 3A BD DC 04 D9 EC CD B0 - .byte $32, $A9, $00, $85, $30, $A5, $BE, $0A, $85, $00, $A4, $5F, $B9, $76, $CF, $85 ; CPU:$D515 PRG:5515 32 A9 00 85 30 A5 BE 0A 85 00 A4 5F B9 76 CF 85 - .byte $01, $B9, $7B, $CF, $85, $02, $A0, $00, $A2, $01, $A5, $18, $D1, $01, $90, $07 ; CPU:$D525 PRG:5525 01 B9 7B CF 85 02 A0 00 A2 01 A5 18 D1 01 90 07 - .byte $C8, $E8, $D1, $01, $B0, $01, $E8, $A5, $5F, $C9, $01, $D0, $02, $A2, $03, $86 ; CPU:$D535 PRG:5535 C8 E8 D1 01 B0 01 E8 A5 5F C9 01 D0 02 A2 03 86 - .byte $7C, $38, $60 ; CPU:$D545 PRG:5545 7C 38 60 -; ----------------------------------------------------------------------------- -; Routine: Label_D548 -; Global: Branch target inside Label: taken when D548. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D548: - lda ZpE4 ; CPU:$D548 PRG:5548 A5 E4 - cmp $CDF1,y ; CPU:$D54A PRG:554A D9 F1 CD - bcc NmiHandler_Loop429 ; CPU:$D54D PRG:554D 90 10 - lda Zp8C ; CPU:$D54F PRG:554F A5 8C - cmp #$06 ; CPU:$D551 PRG:5551 C9 06 - bne NmiHandler_Loop428 ; CPU:$D553 PRG:5553 D0 04 - lda ZpC5 ; CPU:$D555 PRG:5555 A5 C5 - bne NmiHandler_Loop430 ; CPU:$D557 PRG:5557 D0 0D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop428 -; Global: Branch target inside NmiHandler: taken when Loop428. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop428: - lda ZpE4 ; CPU:$D559 PRG:5559 A5 E4 - cmp #$05 ; CPU:$D55B PRG:555B C9 05 - bcc NmiHandler_Loop435 ; CPU:$D55D PRG:555D 90 3F -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop429 -; Global: Branch target inside NmiHandler: taken when Loop429. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop429: - lda ZpC5 ; CPU:$D55F PRG:555F A5 C5 - bne NmiHandler_Loop430 ; CPU:$D561 PRG:5561 D0 03 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero42 -; Global: Branch target inside NmiHandler: taken when OnNonzero42. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero42: - jmp Sub_D4DF ; CPU:$D563 PRG:5563 4C DF D4 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop430 -; Global: Branch target inside NmiHandler: taken when Loop430. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop430: - jmp Sub_D4E3 ; CPU:$D566 PRG:5566 4C E3 D4 -; ---- data $D569-$D56C (4 bytes) ---- - .byte $A5, $44, $F0, $2A ; CPU:$D569 PRG:5569 A5 44 F0 2A -; ----------------------------------------------------------------------------- -; Routine: Label_D56D -; Global: Branch target inside Label: taken when D56D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D56D: - lda ZpE4 ; CPU:$D56D PRG:556D A5 E4 - beq NmiHandler_Loop432 ; CPU:$D56F PRG:556F F0 1A - lda Zp8C ; CPU:$D571 PRG:5571 A5 8C - cmp #$06 ; CPU:$D573 PRG:5573 C9 06 - bne NmiHandler_Loop431 ; CPU:$D575 PRG:5575 D0 06 - lda ZpE4 ; CPU:$D577 PRG:5577 A5 E4 - cmp #$04 ; CPU:$D579 PRG:5579 C9 04 - bcc NmiHandler_Loop434 ; CPU:$D57B PRG:557B 90 1A -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop431 -; Global: Branch target inside NmiHandler: taken when Loop431. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop431: - lda ZpE4 ; CPU:$D57D PRG:557D A5 E4 - cmp #$06 ; CPU:$D57F PRG:557F C9 06 - bne NmiHandler_Loop433 ; CPU:$D581 PRG:5581 D0 0E - lda ZpD3 ; CPU:$D583 PRG:5583 A5 D3 - cmp #$90 ; CPU:$D585 PRG:5585 C9 90 - bcs NmiHandler_Loop434 ; CPU:$D587 PRG:5587 B0 0E - bcc NmiHandler_Loop433 ; CPU:$D589 PRG:5589 90 06 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop432 -; Global: Branch target inside NmiHandler: taken when Loop432. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop432: - lda ZpD3 ; CPU:$D58B PRG:558B A5 D3 - cmp #$70 ; CPU:$D58D PRG:558D C9 70 - bcc NmiHandler_Loop434 ; CPU:$D58F PRG:558F 90 06 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop433 -; Global: Branch target inside NmiHandler: taken when Loop433. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop433: - lda ZpC5 ; CPU:$D591 PRG:5591 A5 C5 - beq NmiHandler_Loop430 ; CPU:$D593 PRG:5593 F0 D1 - bne NmiHandler_OnNonzero42 ; CPU:$D595 PRG:5595 D0 CC -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop434 -; Global: Branch target inside NmiHandler: taken when Loop434. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop434: - lda #$00 ; CPU:$D597 PRG:5597 A9 00 -; ----------------------------------------------------------------------------- -; Routine: Label_D599 -; Global: Branch target inside Label: taken when D599. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D599: - sta Zp44 ; CPU:$D599 PRG:5599 85 44 - lsr Zp7B ; CPU:$D59B PRG:559B 46 7B - sec ; CPU:$D59D PRG:559D 38 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop435 -; Global: Branch target inside NmiHandler: taken when Loop435. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop435: - rts ; CPU:$D59E PRG:559E 60 -; ---- data $D59F-$D5B9 (27 bytes) ---- - .byte $A5, $1A, $29, $03, $A8, $B9, $F6, $CD, $D0, $11, $A5, $1A, $29, $03, $85, $00 ; CPU:$D59F PRG:559F A5 1A 29 03 A8 B9 F6 CD D0 11 A5 1A 29 03 85 00 - .byte $A5, $BE, $0A, $0A, $18, $65, $00, $A8, $B9, $14, $CE ; CPU:$D5AF PRG:55AF A5 BE 0A 0A 18 65 00 A8 B9 14 CE -; ----------------------------------------------------------------------------- -; Routine: Sub_D5BA -; Global: Branch target inside Sub: taken when D5BA. +; Routine: Sub_D4E7 +; Global: Branch target inside Sub: taken when D4E7. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_D5BA: - sta Zp44 ; CPU:$D5BA PRG:55BA 85 44 - lda #$01 ; CPU:$D5BC PRG:55BC A9 01 - sta Zp7B ; CPU:$D5BE PRG:55BE 85 7B - lsr a ; CPU:$D5C0 PRG:55C0 4A - sta Zp7A ; CPU:$D5C1 PRG:55C1 85 7A - ldy Zp5F ; CPU:$D5C3 PRG:55C3 A4 5F - cpy #$04 ; CPU:$D5C5 PRG:55C5 C0 04 - bne NmiHandler_Loop436 ; CPU:$D5C7 PRG:55C7 D0 02 - lda #$02 ; CPU:$D5C9 PRG:55C9 A9 02 +Sub_D4E7: + lda Zp30 ; CPU:$D4E7 PRG:54E7 A5 30 + bne NmiHandler_Loop622 ; CPU:$D4E9 PRG:54E9 D0 0B + lda $038A ; CPU:$D4EB PRG:54EB AD 8A 03 + sta Zp30 ; CPU:$D4EE PRG:54EE 85 30 + lda PlayerY,x ; CPU:$D4F0 PRG:54F0 B5 B7 + eor #$01 ; CPU:$D4F2 PRG:54F2 49 01 + sta PlayerY,x ; CPU:$D4F4 PRG:54F4 95 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop436 -; Global: Branch target inside NmiHandler: taken when Loop436. +; Routine: NmiHandler_Loop622 +; Global: Branch target inside NmiHandler: taken when Loop622. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop436: +NmiHandler_Loop622: + lda $049D ; CPU:$D4F6 PRG:54F6 AD 9D 04 + clc ; CPU:$D4F9 PRG:54F9 18 + adc $038B ; CPU:$D4FA PRG:54FA 6D 8B 03 + sta $049D ; CPU:$D4FD PRG:54FD 8D 9D 04 + bcc NmiHandler_Loop620 ; CPU:$D500 PRG:5500 90 DB + jmp NmiHandler_Loop293 ; CPU:$D502 PRG:5502 4C 1F B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D505 +; Global: Branch target inside Sub: taken when D505. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D505: + ldy SpriteIndex ; CPU:$D505 PRG:5505 A4 5F + ldx #$05 ; CPU:$D507 PRG:5507 A2 05 + lda $04E3,x ; CPU:$D509 PRG:5509 BD E3 04 + bne NmiHandler_Loop625 ; CPU:$D50C PRG:550C D0 3A + lda $04DC,x ; CPU:$D50E PRG:550E BD DC 04 + cmp $CDEC,y ; CPU:$D511 PRG:5511 D9 EC CD + bcs NmiHandler_Loop625 ; CPU:$D514 PRG:5514 B0 32 + lda #$00 ; CPU:$D516 PRG:5516 A9 00 + sta Zp30 ; CPU:$D518 PRG:5518 85 30 +; ----------------------------------------------------------------------------- +; Routine: Sub_D51A +; Global: Branch target inside Sub: taken when D51A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D51A: + lda ZpBE ; CPU:$D51A PRG:551A A5 BE + asl a ; CPU:$D51C PRG:551C 0A + sta VramWritePtrLo ; CPU:$D51D PRG:551D 85 00 + ldy SpriteIndex ; CPU:$D51F PRG:551F A4 5F + lda $CF76,y ; CPU:$D521 PRG:5521 B9 76 CF + sta VramWritePtrHi ; CPU:$D524 PRG:5524 85 01 + lda $CF7B,y ; CPU:$D526 PRG:5526 B9 7B CF + sta DispatchPtrLo ; CPU:$D529 PRG:5529 85 02 + ldy #$00 ; CPU:$D52B PRG:552B A0 00 + ldx #$01 ; CPU:$D52D PRG:552D A2 01 + lda Zp18 ; CPU:$D52F PRG:552F A5 18 + cmp (VramWritePtrHi),y ; CPU:$D531 PRG:5531 D1 01 + bcc NmiHandler_Loop623 ; CPU:$D533 PRG:5533 90 07 + iny ; CPU:$D535 PRG:5535 C8 + inx ; CPU:$D536 PRG:5536 E8 + cmp (VramWritePtrHi),y ; CPU:$D537 PRG:5537 D1 01 + bcs NmiHandler_Loop623 ; CPU:$D539 PRG:5539 B0 01 + inx ; CPU:$D53B PRG:553B E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop623 +; Global: Branch target inside NmiHandler: taken when Loop623. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop623: + lda SpriteIndex ; CPU:$D53C PRG:553C A5 5F + cmp #$01 ; CPU:$D53E PRG:553E C9 01 + bne NmiHandler_Loop624 ; CPU:$D540 PRG:5540 D0 02 + ldx #$03 ; CPU:$D542 PRG:5542 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop624 +; Global: Branch target inside NmiHandler: taken when Loop624. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop624: + stx Zp7C ; CPU:$D544 PRG:5544 86 7C + sec ; CPU:$D546 PRG:5546 38 + rts ; CPU:$D547 PRG:5547 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop625 +; Global: Branch target inside NmiHandler: taken when Loop625. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop625: + lda ZpE4 ; CPU:$D548 PRG:5548 A5 E4 + cmp $CDF1,y ; CPU:$D54A PRG:554A D9 F1 CD + bcc NmiHandler_Loop627 ; CPU:$D54D PRG:554D 90 10 + lda Zp8C ; CPU:$D54F PRG:554F A5 8C + cmp #$06 ; CPU:$D551 PRG:5551 C9 06 + bne NmiHandler_Loop626 ; CPU:$D553 PRG:5553 D0 04 + lda PlayerSide ; CPU:$D555 PRG:5555 A5 C5 + bne NmiHandler_Loop628 ; CPU:$D557 PRG:5557 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop626 +; Global: Branch target inside NmiHandler: taken when Loop626. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop626: + lda ZpE4 ; CPU:$D559 PRG:5559 A5 E4 + cmp #$05 ; CPU:$D55B PRG:555B C9 05 + bcc NmiHandler_Loop633 ; CPU:$D55D PRG:555D 90 3F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop627 +; Global: Branch target inside NmiHandler: taken when Loop627. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop627: + lda PlayerSide ; CPU:$D55F PRG:555F A5 C5 + bne NmiHandler_Loop628 ; CPU:$D561 PRG:5561 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero52: + jmp Sub_D4DF ; CPU:$D563 PRG:5563 4C DF D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop628 +; Global: Branch target inside NmiHandler: taken when Loop628. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop628: + jmp Sub_D4E3 ; CPU:$D566 PRG:5566 4C E3 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D569 +; Global: Branch target inside Sub: taken when D569. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D569: + lda Zp44 ; CPU:$D569 PRG:5569 A5 44 + beq NmiHandler_Loop632 ; CPU:$D56B PRG:556B F0 2A + lda ZpE4 ; CPU:$D56D PRG:556D A5 E4 + beq NmiHandler_Loop630 ; CPU:$D56F PRG:556F F0 1A + lda Zp8C ; CPU:$D571 PRG:5571 A5 8C + cmp #$06 ; CPU:$D573 PRG:5573 C9 06 + bne NmiHandler_Loop629 ; CPU:$D575 PRG:5575 D0 06 + lda ZpE4 ; CPU:$D577 PRG:5577 A5 E4 + cmp #$04 ; CPU:$D579 PRG:5579 C9 04 + bcc NmiHandler_Loop632 ; CPU:$D57B PRG:557B 90 1A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop629 +; Global: Branch target inside NmiHandler: taken when Loop629. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop629: + lda ZpE4 ; CPU:$D57D PRG:557D A5 E4 + cmp #$06 ; CPU:$D57F PRG:557F C9 06 + bne NmiHandler_Loop631 ; CPU:$D581 PRG:5581 D0 0E + lda ZpD3 ; CPU:$D583 PRG:5583 A5 D3 + cmp #$90 ; CPU:$D585 PRG:5585 C9 90 + bcs NmiHandler_Loop632 ; CPU:$D587 PRG:5587 B0 0E + bcc NmiHandler_Loop631 ; CPU:$D589 PRG:5589 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop630 +; Global: Branch target inside NmiHandler: taken when Loop630. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop630: + lda ZpD3 ; CPU:$D58B PRG:558B A5 D3 + cmp #$70 ; CPU:$D58D PRG:558D C9 70 + bcc NmiHandler_Loop632 ; CPU:$D58F PRG:558F 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop631 +; Global: Branch target inside NmiHandler: taken when Loop631. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop631: + lda PlayerSide ; CPU:$D591 PRG:5591 A5 C5 + beq NmiHandler_Loop628 ; CPU:$D593 PRG:5593 F0 D1 + bne NmiHandler_OnNonzero52 ; CPU:$D595 PRG:5595 D0 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop632 +; Global: Branch target inside NmiHandler: taken when Loop632. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop632: + lda #$00 ; CPU:$D597 PRG:5597 A9 00 + sta Zp44 ; CPU:$D599 PRG:5599 85 44 + lsr Zp7B ; CPU:$D59B PRG:559B 46 7B + sec ; CPU:$D59D PRG:559D 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop633 +; Global: Branch target inside NmiHandler: taken when Loop633. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop633: + rts ; CPU:$D59E PRG:559E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D59F +; Global: Branch target inside Label: taken when D59F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D59F: + lda Zp1A ; CPU:$D59F PRG:559F A5 1A + and #$03 ; CPU:$D5A1 PRG:55A1 29 03 + tay ; CPU:$D5A3 PRG:55A3 A8 + lda $CDF6,y ; CPU:$D5A4 PRG:55A4 B9 F6 CD + bne NmiHandler_Loop634 ; CPU:$D5A7 PRG:55A7 D0 11 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5A9 +; Global: Branch target inside Sub: taken when D5A9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5A9: + lda Zp1A ; CPU:$D5A9 PRG:55A9 A5 1A + and #$03 ; CPU:$D5AB PRG:55AB 29 03 + sta VramWritePtrLo ; CPU:$D5AD PRG:55AD 85 00 + lda ZpBE ; CPU:$D5AF PRG:55AF A5 BE + asl a ; CPU:$D5B1 PRG:55B1 0A + asl a ; CPU:$D5B2 PRG:55B2 0A + clc ; CPU:$D5B3 PRG:55B3 18 + adc VramWritePtrLo ; CPU:$D5B4 PRG:55B4 65 00 + tay ; CPU:$D5B6 PRG:55B6 A8 + lda $CE14,y ; CPU:$D5B7 PRG:55B7 B9 14 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop634 +; Global: Branch target inside NmiHandler: taken when Loop634. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop634: + sta Zp44 ; CPU:$D5BA PRG:55BA 85 44 + lda #$01 ; CPU:$D5BC PRG:55BC A9 01 + sta Zp7B ; CPU:$D5BE PRG:55BE 85 7B + lsr a ; CPU:$D5C0 PRG:55C0 4A + sta Zp7A ; CPU:$D5C1 PRG:55C1 85 7A + ldy SpriteIndex ; CPU:$D5C3 PRG:55C3 A4 5F + cpy #$04 ; CPU:$D5C5 PRG:55C5 C0 04 + bne NmiHandler_Loop635 ; CPU:$D5C7 PRG:55C7 D0 02 + lda #$02 ; CPU:$D5C9 PRG:55C9 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop635 +; Global: Branch target inside NmiHandler: taken when Loop635. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop635: sta ZpBC ; CPU:$D5CB PRG:55CB 85 BC rts ; CPU:$D5CD PRG:55CD 60 ; ----------------------------------------------------------------------------- @@ -12260,39 +16625,39 @@ NmiHandler_Loop436: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D5CE: - ldy Zp5F ; CPU:$D5CE PRG:55CE A4 5F + ldy SpriteIndex ; CPU:$D5CE PRG:55CE A4 5F lda $CF4C,y ; CPU:$D5D0 PRG:55D0 B9 4C CF - sta Zp00 ; CPU:$D5D3 PRG:55D3 85 00 + sta VramWritePtrLo ; CPU:$D5D3 PRG:55D3 85 00 lda $CF51,y ; CPU:$D5D5 PRG:55D5 B9 51 CF - sta Zp01 ; CPU:$D5D8 PRG:55D8 85 01 + sta VramWritePtrHi ; CPU:$D5D8 PRG:55D8 85 01 lda #$00 ; CPU:$D5DA PRG:55DA A9 00 - sta Zp02 ; CPU:$D5DC PRG:55DC 85 02 + sta DispatchPtrLo ; CPU:$D5DC PRG:55DC 85 02 lda ZpBE ; CPU:$D5DE PRG:55DE A5 BE asl a ; CPU:$D5E0 PRG:55E0 0A tay ; CPU:$D5E1 PRG:55E1 A8 - inc Zp02 ; CPU:$D5E2 PRG:55E2 E6 02 - inc Zp02 ; CPU:$D5E4 PRG:55E4 E6 02 + inc DispatchPtrLo ; CPU:$D5E2 PRG:55E2 E6 02 + inc DispatchPtrLo ; CPU:$D5E4 PRG:55E4 E6 02 lda Zp19 ; CPU:$D5E6 PRG:55E6 A5 19 - cmp (Zp00),y ; CPU:$D5E8 PRG:55E8 D1 00 - bcc NmiHandler_Loop437 ; CPU:$D5EA PRG:55EA 90 0E + cmp (VramWritePtrLo),y ; CPU:$D5E8 PRG:55E8 D1 00 + bcc NmiHandler_Loop636 ; CPU:$D5EA PRG:55EA 90 0E iny ; CPU:$D5EC PRG:55EC C8 - inc Zp02 ; CPU:$D5ED PRG:55ED E6 02 - cmp (Zp00),y ; CPU:$D5EF PRG:55EF D1 00 - bcc NmiHandler_Loop437 ; CPU:$D5F1 PRG:55F1 90 07 + inc DispatchPtrLo ; CPU:$D5ED PRG:55ED E6 02 + cmp (VramWritePtrLo),y ; CPU:$D5EF PRG:55EF D1 00 + bcc NmiHandler_Loop636 ; CPU:$D5F1 PRG:55F1 90 07 cmp #$FF ; CPU:$D5F3 PRG:55F3 C9 FF - beq NmiHandler_Loop437 ; CPU:$D5F5 PRG:55F5 F0 03 + beq NmiHandler_Loop636 ; CPU:$D5F5 PRG:55F5 F0 03 lda #$04 ; CPU:$D5F7 PRG:55F7 A9 04 rts ; CPU:$D5F9 PRG:55F9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop437 -; Global: Branch target inside NmiHandler: taken when Loop437. +; Routine: NmiHandler_Loop636 +; Global: Branch target inside NmiHandler: taken when Loop636. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop437: - ldy Zp02 ; CPU:$D5FA PRG:55FA A4 02 +NmiHandler_Loop636: + ldy DispatchPtrLo ; CPU:$D5FA PRG:55FA A4 02 tya ; CPU:$D5FC PRG:55FC 98 rts ; CPU:$D5FD PRG:55FD 60 ; ----------------------------------------------------------------------------- @@ -12306,46 +16671,176 @@ NmiHandler_Loop437: Sub_D5FE: ldx #$10 ; CPU:$D5FE PRG:55FE A2 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative41 -; Global: Branch target inside NmiHandler: taken when OnNonnegative41. +; Routine: NmiHandler_OnNonnegative54 +; Global: Branch target inside NmiHandler: taken when OnNonnegative54. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative41: - lda ZpDF,x ; CPU:$D600 PRG:5600 B5 DF +NmiHandler_OnNonnegative54: + lda EnemyHealth,x ; CPU:$D600 PRG:5600 B5 DF sec ; CPU:$D602 PRG:5602 38 sbc Zp65 ; CPU:$D603 PRG:5603 E5 65 - sta Zp9F,x ; CPU:$D605 PRG:5605 95 9F + sta GameMode,x ; CPU:$D605 PRG:5605 95 9F lda ZpCE,x ; CPU:$D607 PRG:5607 B5 CE sec ; CPU:$D609 PRG:5609 38 sbc Zp12 ; CPU:$D60A PRG:560A E5 12 sta Zp8E,x ; CPU:$D60C PRG:560C 95 8E - bcc NmiHandler_Loop438 ; CPU:$D60E PRG:560E 90 02 - inc Zp9F,x ; CPU:$D610 PRG:5610 F6 9F + bcc NmiHandler_Loop637 ; CPU:$D60E PRG:560E 90 02 + inc GameMode,x ; CPU:$D610 PRG:5610 F6 9F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop438 -; Global: Branch target inside NmiHandler: taken when Loop438. +; Routine: NmiHandler_Loop637 +; Global: Branch target inside NmiHandler: taken when Loop637. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop438: +NmiHandler_Loop637: dex ; CPU:$D612 PRG:5612 CA - bpl NmiHandler_OnNonnegative41 ; CPU:$D613 PRG:5613 10 EB + bpl NmiHandler_OnNonnegative54 ; CPU:$D613 PRG:5613 10 EB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: rts ; CPU:$D615 PRG:5615 60 -; ---- data $D616-$D696 (129 bytes) ---- - .byte $AD, $F8, $03, $0D, $F9, $03, $D0, $1C, $20, $58, $D6, $8D, $06, $04, $A5, $00 ; CPU:$D616 PRG:5616 AD F8 03 0D F9 03 D0 1C 20 58 D6 8D 06 04 A5 00 - .byte $8D, $0C, $04, $A2, $00, $A9, $01, $9D, $F8, $03, $9D, $0E, $04, $A9, $06, $85 ; CPU:$D626 PRG:5626 8D 0C 04 A2 00 A9 01 9D F8 03 9D 0E 04 A9 06 85 - .byte $30, $4C, $89, $D6, $A5, $30, $D0, $D7, $A5, $7A, $F0, $D3, $AD, $F8, $03, $C9 ; CPU:$D636 PRG:5636 30 4C 89 D6 A5 30 D0 D7 A5 7A F0 D3 AD F8 03 C9 - .byte $03, $D0, $CC, $20, $58, $D6, $8D, $07, $04, $A5, $00, $8D, $0D, $04, $A2, $01 ; CPU:$D646 PRG:5646 03 D0 CC 20 58 D6 8D 07 04 A5 00 8D 0D 04 A2 01 - .byte $D0, $D3, $A5, $BE, $0A, $0A, $A8, $A2, $00, $A5, $19, $D9, $4E, $CE, $90, $0D ; CPU:$D656 PRG:5656 D0 D3 A5 BE 0A 0A A8 A2 00 A5 19 D9 4E CE 90 0D - .byte $E8, $D9, $4F, $CE, $90, $07, $E8, $D9, $50, $CE, $90, $01, $E8, $BD, $62, $CE ; CPU:$D666 PRG:5666 E8 D9 4F CE 90 07 E8 D9 50 CE 90 01 E8 BD 62 CE - .byte $85, $00, $BD, $5E, $CE, $60, $BD, $F8, $03, $F0, $15, $C9, $05, $F0, $04, $A5 ; CPU:$D676 PRG:5676 85 00 BD 5E CE 60 BD F8 03 F0 15 C9 05 F0 04 A5 - .byte $30, $D0, $0D, $BD, $F8, $03, $18, $7D, $06, $04, $A8, $B9, $28, $CE, $85, $BC ; CPU:$D686 PRG:5686 30 D0 0D BD F8 03 18 7D 06 04 A8 B9 28 CE 85 BC - .byte $60 ; CPU:$D696 PRG:5696 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D616 +; Global: Branch target inside Sub: taken when D616. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D616: + lda $03F8 ; CPU:$D616 PRG:5616 AD F8 03 + ora $03F9 ; CPU:$D619 PRG:5619 0D F9 03 + bne NmiHandler_Loop638 ; CPU:$D61C PRG:561C D0 1C + jsr Sub_D658 ; CPU:$D61E PRG:561E 20 58 D6 + sta $0406 ; CPU:$D621 PRG:5621 8D 06 04 + lda VramWritePtrLo ; CPU:$D624 PRG:5624 A5 00 + sta $040C ; CPU:$D626 PRG:5626 8D 0C 04 + ldx #$00 ; CPU:$D629 PRG:5629 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + lda #$01 ; CPU:$D62B PRG:562B A9 01 + sta $03F8,x ; CPU:$D62D PRG:562D 9D F8 03 + sta $040E,x ; CPU:$D630 PRG:5630 9D 0E 04 + lda #$06 ; CPU:$D633 PRG:5633 A9 06 + sta Zp30 ; CPU:$D635 PRG:5635 85 30 + jmp NmiHandler_Loop640 ; CPU:$D637 PRG:5637 4C 89 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop638 +; Global: Branch target inside NmiHandler: taken when Loop638. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop638: + lda Zp30 ; CPU:$D63A PRG:563A A5 30 + bne NmiHandler_OnNonzero53 ; CPU:$D63C PRG:563C D0 D7 + lda Zp7A ; CPU:$D63E PRG:563E A5 7A + beq NmiHandler_OnNonzero53 ; CPU:$D640 PRG:5640 F0 D3 + lda $03F8 ; CPU:$D642 PRG:5642 AD F8 03 + cmp #$03 ; CPU:$D645 PRG:5645 C9 03 + bne NmiHandler_OnNonzero53 ; CPU:$D647 PRG:5647 D0 CC + jsr Sub_D658 ; CPU:$D649 PRG:5649 20 58 D6 + sta $0407 ; CPU:$D64C PRG:564C 8D 07 04 + lda VramWritePtrLo ; CPU:$D64F PRG:564F A5 00 + sta $040D ; CPU:$D651 PRG:5651 8D 0D 04 + ldx #$01 ; CPU:$D654 PRG:5654 A2 01 + bne NmiHandler_OnNonzero54 ; CPU:$D656 PRG:5656 D0 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D658 +; Global: Branch target inside Sub: taken when D658. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D658: + lda ZpBE ; CPU:$D658 PRG:5658 A5 BE + asl a ; CPU:$D65A PRG:565A 0A + asl a ; CPU:$D65B PRG:565B 0A + tay ; CPU:$D65C PRG:565C A8 + ldx #$00 ; CPU:$D65D PRG:565D A2 00 + lda Zp19 ; CPU:$D65F PRG:565F A5 19 + cmp $CE4E,y ; CPU:$D661 PRG:5661 D9 4E CE + bcc NmiHandler_Loop639 ; CPU:$D664 PRG:5664 90 0D + inx ; CPU:$D666 PRG:5666 E8 + cmp $CE4F,y ; CPU:$D667 PRG:5667 D9 4F CE + bcc NmiHandler_Loop639 ; CPU:$D66A PRG:566A 90 07 + inx ; CPU:$D66C PRG:566C E8 + cmp $CE50,y ; CPU:$D66D PRG:566D D9 50 CE + bcc NmiHandler_Loop639 ; CPU:$D670 PRG:5670 90 01 + inx ; CPU:$D672 PRG:5672 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop639 +; Global: Branch target inside NmiHandler: taken when Loop639. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop639: + lda $CE62,x ; CPU:$D673 PRG:5673 BD 62 CE + sta VramWritePtrLo ; CPU:$D676 PRG:5676 85 00 + lda $CE5E,x ; CPU:$D678 PRG:5678 BD 5E CE + rts ; CPU:$D67B PRG:567B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D67C +; Global: Branch target inside Sub: taken when D67C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D67C: + lda $03F8,x ; CPU:$D67C PRG:567C BD F8 03 + beq NmiHandler_Loop641 ; CPU:$D67F PRG:567F F0 15 + cmp #$05 ; CPU:$D681 PRG:5681 C9 05 + beq NmiHandler_Loop640 ; CPU:$D683 PRG:5683 F0 04 + lda Zp30 ; CPU:$D685 PRG:5685 A5 30 + bne NmiHandler_Loop641 ; CPU:$D687 PRG:5687 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop640 +; Global: Branch target inside NmiHandler: taken when Loop640. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop640: + lda $03F8,x ; CPU:$D689 PRG:5689 BD F8 03 + clc ; CPU:$D68C PRG:568C 18 + adc $0406,x ; CPU:$D68D PRG:568D 7D 06 04 + tay ; CPU:$D690 PRG:5690 A8 + lda $CE28,y ; CPU:$D691 PRG:5691 B9 28 CE + sta ZpBC ; CPU:$D694 PRG:5694 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop641 +; Global: Branch target inside NmiHandler: taken when Loop641. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop641: + rts ; CPU:$D696 PRG:5696 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D697 ; Global: Branch target inside Sub: taken when D697. @@ -12366,11 +16861,11 @@ Sub_D697: ; ----------------------------------------------------------------------------- Sub_D699: lda $03F8,x ; CPU:$D699 PRG:5699 BD F8 03 - beq NmiHandler_Loop442 ; CPU:$D69C PRG:569C F0 45 + beq NmiHandler_Loop645 ; CPU:$D69C PRG:569C F0 45 cmp #$01 ; CPU:$D69E PRG:569E C9 01 - bne NmiHandler_Loop441 ; CPU:$D6A0 PRG:56A0 D0 35 + bne NmiHandler_Loop644 ; CPU:$D6A0 PRG:56A0 D0 35 lda Zp30 ; CPU:$D6A2 PRG:56A2 A5 30 - bne NmiHandler_Loop442 ; CPU:$D6A4 PRG:56A4 D0 3D + bne NmiHandler_Loop645 ; CPU:$D6A4 PRG:56A4 D0 3D lda #$02 ; CPU:$D6A6 PRG:56A6 A9 02 sta $03F8,x ; CPU:$D6A8 PRG:56A8 9D F8 03 lda Zp93 ; CPU:$D6AB PRG:56AB A5 93 @@ -12384,178 +16879,178 @@ Sub_D699: sta $0402,x ; CPU:$D6BD PRG:56BD 9D 02 04 ldy #$A8 ; CPU:$D6C0 PRG:56C0 A0 A8 lda $0406,x ; CPU:$D6C2 PRG:56C2 BD 06 04 - bmi NmiHandler_Loop439 ; CPU:$D6C5 PRG:56C5 30 08 + bmi NmiHandler_Loop642 ; CPU:$D6C5 PRG:56C5 30 08 cmp #$09 ; CPU:$D6C7 PRG:56C7 C9 09 - beq NmiHandler_Loop440 ; CPU:$D6C9 PRG:56C9 F0 06 + beq NmiHandler_Loop643 ; CPU:$D6C9 PRG:56C9 F0 06 cmp #$0E ; CPU:$D6CB PRG:56CB C9 0E - beq NmiHandler_Loop440 ; CPU:$D6CD PRG:56CD F0 02 + beq NmiHandler_Loop643 ; CPU:$D6CD PRG:56CD F0 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop439 -; Global: Branch target inside NmiHandler: taken when Loop439. +; Routine: NmiHandler_Loop642 +; Global: Branch target inside NmiHandler: taken when Loop642. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop439: +NmiHandler_Loop642: ldy #$92 ; CPU:$D6CF PRG:56CF A0 92 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop440 -; Global: Branch target inside NmiHandler: taken when Loop440. +; Routine: NmiHandler_Loop643 +; Global: Branch target inside NmiHandler: taken when Loop643. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop440: +NmiHandler_Loop643: tya ; CPU:$D6D1 PRG:56D1 98 sta $0404,x ; CPU:$D6D2 PRG:56D2 9D 04 04 - bne NmiHandler_Loop442 ; CPU:$D6D5 PRG:56D5 D0 0C + bne NmiHandler_Loop645 ; CPU:$D6D5 PRG:56D5 D0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop441 -; Global: Branch target inside NmiHandler: taken when Loop441. +; Routine: NmiHandler_Loop644 +; Global: Branch target inside NmiHandler: taken when Loop644. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop441: +NmiHandler_Loop644: cmp #$02 ; CPU:$D6D7 PRG:56D7 C9 02 - bne NmiHandler_Loop446 ; CPU:$D6D9 PRG:56D9 D0 57 + bne NmiHandler_Loop649 ; CPU:$D6D9 PRG:56D9 D0 57 lda $0408,x ; CPU:$D6DB PRG:56DB BD 08 04 - bmi NmiHandler_OnZero14 ; CPU:$D6DE PRG:56DE 30 06 + bmi NmiHandler_OnZero18 ; CPU:$D6DE PRG:56DE 30 06 jsr Sub_D787 ; CPU:$D6E0 PRG:56E0 20 87 D7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop442 -; Global: Branch target inside NmiHandler: taken when Loop442. +; Routine: NmiHandler_Loop645 +; Global: Branch target inside NmiHandler: taken when Loop645. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop442: - jmp NmiHandler_Loop450 ; CPU:$D6E3 PRG:56E3 4C 81 D7 +NmiHandler_Loop645: + jmp NmiHandler_Loop653 ; CPU:$D6E3 PRG:56E3 4C 81 D7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero14 -; Global: Branch target inside NmiHandler: taken when OnZero14. +; Routine: NmiHandler_OnZero18 +; Global: Branch target inside NmiHandler: taken when OnZero18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero14: +NmiHandler_OnZero18: lda #$03 ; CPU:$D6E6 PRG:56E6 A9 03 sta $03F8,x ; CPU:$D6E8 PRG:56E8 9D F8 03 jsr Sub_D787 ; CPU:$D6EB PRG:56EB 20 87 D7 lda $040C,x ; CPU:$D6EE PRG:56EE BD 0C 04 tay ; CPU:$D6F1 PRG:56F1 A8 lda $CE3C,y ; CPU:$D6F2 PRG:56F2 B9 3C CE - sta Zp00 ; CPU:$D6F5 PRG:56F5 85 00 + sta VramWritePtrLo ; CPU:$D6F5 PRG:56F5 85 00 lda $0406,x ; CPU:$D6F7 PRG:56F7 BD 06 04 cmp #$FF ; CPU:$D6FA PRG:56FA C9 FF - beq NmiHandler_Loop443 ; CPU:$D6FC PRG:56FC F0 08 + beq NmiHandler_Loop646 ; CPU:$D6FC PRG:56FC F0 08 cmp #$09 ; CPU:$D6FE PRG:56FE C9 09 - beq NmiHandler_Loop443 ; CPU:$D700 PRG:5700 F0 04 + beq NmiHandler_Loop646 ; CPU:$D700 PRG:5700 F0 04 cmp #$04 ; CPU:$D702 PRG:5702 C9 04 - beq NmiHandler_Loop444 ; CPU:$D704 PRG:5704 F0 08 + beq NmiHandler_Loop647 ; CPU:$D704 PRG:5704 F0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop443 -; Global: Branch target inside NmiHandler: taken when Loop443. +; Routine: NmiHandler_Loop646 +; Global: Branch target inside NmiHandler: taken when Loop646. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop443: - lda Zp00 ; CPU:$D706 PRG:5706 A5 00 +NmiHandler_Loop646: + lda VramWritePtrLo ; CPU:$D706 PRG:5706 A5 00 eor #$FF ; CPU:$D708 PRG:5708 49 FF tay ; CPU:$D70A PRG:570A A8 iny ; CPU:$D70B PRG:570B C8 - sty Zp00 ; CPU:$D70C PRG:570C 84 00 + sty VramWritePtrLo ; CPU:$D70C PRG:570C 84 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop444 -; Global: Branch target inside NmiHandler: taken when Loop444. +; Routine: NmiHandler_Loop647 +; Global: Branch target inside NmiHandler: taken when Loop647. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop444: +NmiHandler_Loop647: lda $0404,x ; CPU:$D70E PRG:570E BD 04 04 clc ; CPU:$D711 PRG:5711 18 - adc Zp00 ; CPU:$D712 PRG:5712 65 00 + adc VramWritePtrLo ; CPU:$D712 PRG:5712 65 00 sta $0404,x ; CPU:$D714 PRG:5714 9D 04 04 dec $040C,x ; CPU:$D717 PRG:5717 DE 0C 04 lda $040C,x ; CPU:$D71A PRG:571A BD 0C 04 cmp #$09 ; CPU:$D71D PRG:571D C9 09 - beq NmiHandler_Loop445 ; CPU:$D71F PRG:571F F0 05 + beq NmiHandler_Loop648 ; CPU:$D71F PRG:571F F0 05 lda $040C,x ; CPU:$D721 PRG:5721 BD 0C 04 - bpl NmiHandler_Loop450 ; CPU:$D724 PRG:5724 10 5B + bpl NmiHandler_Loop653 ; CPU:$D724 PRG:5724 10 5B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop445 -; Global: Branch target inside NmiHandler: taken when Loop445. +; Routine: NmiHandler_Loop648 +; Global: Branch target inside NmiHandler: taken when Loop648. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop445: +NmiHandler_Loop648: lda #$04 ; CPU:$D726 PRG:5726 A9 04 sta $03F8,x ; CPU:$D728 PRG:5728 9D F8 03 lda #$00 ; CPU:$D72B PRG:572B A9 00 sta $0408,x ; CPU:$D72D PRG:572D 9D 08 04 - beq NmiHandler_Loop450 ; CPU:$D730 PRG:5730 F0 4F + beq NmiHandler_Loop653 ; CPU:$D730 PRG:5730 F0 4F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop446 -; Global: Branch target inside NmiHandler: taken when Loop446. +; Routine: NmiHandler_Loop649 +; Global: Branch target inside NmiHandler: taken when Loop649. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop446: +NmiHandler_Loop649: cmp #$03 ; CPU:$D732 PRG:5732 C9 03 - beq NmiHandler_OnZero14 ; CPU:$D734 PRG:5734 F0 B0 + beq NmiHandler_OnZero18 ; CPU:$D734 PRG:5734 F0 B0 cmp #$04 ; CPU:$D736 PRG:5736 C9 04 - bne NmiHandler_Loop449 ; CPU:$D738 PRG:5738 D0 3A + bne NmiHandler_Loop652 ; CPU:$D738 PRG:5738 D0 3A jsr Sub_D787 ; CPU:$D73A PRG:573A 20 87 D7 lda ZpA4 ; CPU:$D73D PRG:573D A5 A4 lsr a ; CPU:$D73F PRG:573F 4A - bcs NmiHandler_Loop447 ; CPU:$D740 PRG:5740 B0 07 + bcs NmiHandler_Loop650 ; CPU:$D740 PRG:5740 B0 07 lda $0402,x ; CPU:$D742 PRG:5742 BD 02 04 cmp #$02 ; CPU:$D745 PRG:5745 C9 02 - beq NmiHandler_Loop448 ; CPU:$D747 PRG:5747 F0 16 + beq NmiHandler_Loop651 ; CPU:$D747 PRG:5747 F0 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop447 -; Global: Branch target inside NmiHandler: taken when Loop447. +; Routine: NmiHandler_Loop650 +; Global: Branch target inside NmiHandler: taken when Loop650. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop447: +NmiHandler_Loop650: lda $0402,x ; CPU:$D749 PRG:5749 BD 02 04 lsr a ; CPU:$D74C PRG:574C 4A - bcc NmiHandler_Loop450 ; CPU:$D74D PRG:574D 90 32 + bcc NmiHandler_Loop653 ; CPU:$D74D PRG:574D 90 32 lda ZpA4 ; CPU:$D74F PRG:574F A5 A4 cmp #$01 ; CPU:$D751 PRG:5751 C9 01 - bne NmiHandler_Loop450 ; CPU:$D753 PRG:5753 D0 2C + bne NmiHandler_Loop653 ; CPU:$D753 PRG:5753 D0 2C lda Zp93 ; CPU:$D755 PRG:5755 A5 93 sec ; CPU:$D757 PRG:5757 38 sbc #$16 ; CPU:$D758 PRG:5758 E9 16 cmp $0400,x ; CPU:$D75A PRG:575A DD 00 04 - bcs NmiHandler_Loop450 ; CPU:$D75D PRG:575D B0 22 + bcs NmiHandler_Loop653 ; CPU:$D75D PRG:575D B0 22 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop448 -; Global: Branch target inside NmiHandler: taken when Loop448. +; Routine: NmiHandler_Loop651 +; Global: Branch target inside NmiHandler: taken when Loop651. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop448: +NmiHandler_Loop651: lda Zp7E ; CPU:$D75F PRG:575F A5 7E - beq NmiHandler_Loop450 ; CPU:$D761 PRG:5761 F0 1E + beq NmiHandler_Loop653 ; CPU:$D761 PRG:5761 F0 1E lda #$05 ; CPU:$D763 PRG:5763 A9 05 sta $03F8,x ; CPU:$D765 PRG:5765 9D F8 03 lda #$00 ; CPU:$D768 PRG:5768 A9 00 @@ -12564,30 +17059,30 @@ NmiHandler_Loop448: lda #$08 ; CPU:$D770 PRG:5770 A9 08 sta Zp30 ; CPU:$D772 PRG:5772 85 30 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop449 -; Global: Branch target inside NmiHandler: taken when Loop449. +; Routine: NmiHandler_Loop652 +; Global: Branch target inside NmiHandler: taken when Loop652. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop449: +NmiHandler_Loop652: lda Zp30 ; CPU:$D774 PRG:5774 A5 30 - bne NmiHandler_Loop450 ; CPU:$D776 PRG:5776 D0 09 + bne NmiHandler_Loop653 ; CPU:$D776 PRG:5776 D0 09 sta $03F8,x ; CPU:$D778 PRG:5778 9D F8 03 sta $040E,x ; CPU:$D77B PRG:577B 9D 0E 04 sta $0406,x ; CPU:$D77E PRG:577E 9D 06 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop450 -; Global: Branch target inside NmiHandler: taken when Loop450. +; Routine: NmiHandler_Loop653 +; Global: Branch target inside NmiHandler: taken when Loop653. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop450: +NmiHandler_Loop653: dex ; CPU:$D781 PRG:5781 CA - bmi NmiHandler_Loop458 ; CPU:$D782 PRG:5782 30 75 + bmi NmiHandler_Loop661 ; CPU:$D782 PRG:5782 30 75 jmp Sub_D699 ; CPU:$D784 PRG:5784 4C 99 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_D787 @@ -12599,132 +17094,132 @@ NmiHandler_Loop450: ; ----------------------------------------------------------------------------- Sub_D787: lda Zp7E ; CPU:$D787 PRG:5787 A5 7E - bne NmiHandler_Loop451 ; CPU:$D789 PRG:5789 D0 07 + bne NmiHandler_Loop654 ; CPU:$D789 PRG:5789 D0 07 lda $0402,x ; CPU:$D78B PRG:578B BD 02 04 cmp #$02 ; CPU:$D78E PRG:578E C9 02 - bcs NmiHandler_Loop452 ; CPU:$D790 PRG:5790 B0 0C + bcs NmiHandler_Loop655 ; CPU:$D790 PRG:5790 B0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop451 -; Global: Branch target inside NmiHandler: taken when Loop451. +; Routine: NmiHandler_Loop654 +; Global: Branch target inside NmiHandler: taken when Loop654. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop451: +NmiHandler_Loop654: lda Zp34 ; CPU:$D792 PRG:5792 A5 34 - bne NmiHandler_Loop452 ; CPU:$D794 PRG:5794 D0 08 + bne NmiHandler_Loop655 ; CPU:$D794 PRG:5794 D0 08 lda #$04 ; CPU:$D796 PRG:5796 A9 04 sta ZpFC ; CPU:$D798 PRG:5798 85 FC lda #$10 ; CPU:$D79A PRG:579A A9 10 sta Zp34 ; CPU:$D79C PRG:579C 85 34 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop452 -; Global: Branch target inside NmiHandler: taken when Loop452. +; Routine: NmiHandler_Loop655 +; Global: Branch target inside NmiHandler: taken when Loop655. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop452: +NmiHandler_Loop655: lda Zp49 ; CPU:$D79E PRG:579E A5 49 and #$03 ; CPU:$D7A0 PRG:57A0 29 03 - bne NmiHandler_Loop453 ; CPU:$D7A2 PRG:57A2 D0 0B + bne NmiHandler_Loop656 ; CPU:$D7A2 PRG:57A2 D0 0B inc $040A,x ; CPU:$D7A4 PRG:57A4 FE 0A 04 lda $040A,x ; CPU:$D7A7 PRG:57A7 BD 0A 04 and #$03 ; CPU:$D7AA PRG:57AA 29 03 sta $040A,x ; CPU:$D7AC PRG:57AC 9D 0A 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop453 -; Global: Branch target inside NmiHandler: taken when Loop453. +; Routine: NmiHandler_Loop656 +; Global: Branch target inside NmiHandler: taken when Loop656. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop453: +NmiHandler_Loop656: ldy #$01 ; CPU:$D7AF PRG:57AF A0 01 lda $03FA,x ; CPU:$D7B1 PRG:57B1 BD FA 03 clc ; CPU:$D7B4 PRG:57B4 18 adc #$A0 ; CPU:$D7B5 PRG:57B5 69 A0 sta $03FA,x ; CPU:$D7B7 PRG:57B7 9D FA 03 - bcc NmiHandler_Loop454 ; CPU:$D7BA PRG:57BA 90 01 + bcc NmiHandler_Loop657 ; CPU:$D7BA PRG:57BA 90 01 iny ; CPU:$D7BC PRG:57BC C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop454 -; Global: Branch target inside NmiHandler: taken when Loop454. +; Routine: NmiHandler_Loop657 +; Global: Branch target inside NmiHandler: taken when Loop657. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop454: +NmiHandler_Loop657: tya ; CPU:$D7BD PRG:57BD 98 clc ; CPU:$D7BE PRG:57BE 18 adc $0408,x ; CPU:$D7BF PRG:57BF 7D 08 04 sta $0408,x ; CPU:$D7C2 PRG:57C2 9D 08 04 lda $03F8,x ; CPU:$D7C5 PRG:57C5 BD F8 03 cmp #$02 ; CPU:$D7C8 PRG:57C8 C9 02 - beq NmiHandler_Loop455 ; CPU:$D7CA PRG:57CA F0 13 + beq NmiHandler_Loop658 ; CPU:$D7CA PRG:57CA F0 13 cmp #$03 ; CPU:$D7CC PRG:57CC C9 03 - bne NmiHandler_Loop456 ; CPU:$D7CE PRG:57CE D0 14 + bne NmiHandler_Loop659 ; CPU:$D7CE PRG:57CE D0 14 lda $040C,x ; CPU:$D7D0 PRG:57D0 BD 0C 04 cmp #$0E ; CPU:$D7D3 PRG:57D3 C9 0E - bcs NmiHandler_Loop455 ; CPU:$D7D5 PRG:57D5 B0 08 + bcs NmiHandler_Loop658 ; CPU:$D7D5 PRG:57D5 B0 08 cmp #$09 ; CPU:$D7D7 PRG:57D7 C9 09 - bcs NmiHandler_Loop456 ; CPU:$D7D9 PRG:57D9 B0 09 + bcs NmiHandler_Loop659 ; CPU:$D7D9 PRG:57D9 B0 09 cmp #$05 ; CPU:$D7DB PRG:57DB C9 05 - bcc NmiHandler_Loop456 ; CPU:$D7DD PRG:57DD 90 05 + bcc NmiHandler_Loop659 ; CPU:$D7DD PRG:57DD 90 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop455 -; Global: Branch target inside NmiHandler: taken when Loop455. +; Routine: NmiHandler_Loop658 +; Global: Branch target inside NmiHandler: taken when Loop658. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop455: +NmiHandler_Loop658: tya ; CPU:$D7DF PRG:57DF 98 eor #$FF ; CPU:$D7E0 PRG:57E0 49 FF tay ; CPU:$D7E2 PRG:57E2 A8 iny ; CPU:$D7E3 PRG:57E3 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop456 -; Global: Branch target inside NmiHandler: taken when Loop456. +; Routine: NmiHandler_Loop659 +; Global: Branch target inside NmiHandler: taken when Loop659. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop456: +NmiHandler_Loop659: tya ; CPU:$D7E4 PRG:57E4 98 clc ; CPU:$D7E5 PRG:57E5 18 adc Zp66 ; CPU:$D7E6 PRG:57E6 65 66 - bpl NmiHandler_Loop457 ; CPU:$D7E8 PRG:57E8 10 03 + bpl NmiHandler_Loop660 ; CPU:$D7E8 PRG:57E8 10 03 dec $0402,x ; CPU:$D7EA PRG:57EA DE 02 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop457 -; Global: Branch target inside NmiHandler: taken when Loop457. +; Routine: NmiHandler_Loop660 +; Global: Branch target inside NmiHandler: taken when Loop660. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop457: +NmiHandler_Loop660: clc ; CPU:$D7ED PRG:57ED 18 adc $0400,x ; CPU:$D7EE PRG:57EE 7D 00 04 sta $0400,x ; CPU:$D7F1 PRG:57F1 9D 00 04 - bcc NmiHandler_Loop458 ; CPU:$D7F4 PRG:57F4 90 03 + bcc NmiHandler_Loop661 ; CPU:$D7F4 PRG:57F4 90 03 inc $0402,x ; CPU:$D7F6 PRG:57F6 FE 02 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop458 -; Global: Branch target inside NmiHandler: taken when Loop458. +; Routine: NmiHandler_Loop661 +; Global: Branch target inside NmiHandler: taken when Loop661. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop458: +NmiHandler_Loop661: rts ; CPU:$D7F9 PRG:57F9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D7FA @@ -12737,37 +17232,37 @@ NmiHandler_Loop458: Sub_D7FA: ldx #$01 ; CPU:$D7FA PRG:57FA A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative42 -; Global: Branch target inside NmiHandler: taken when OnNonnegative42. +; Routine: NmiHandler_OnNonnegative55 +; Global: Branch target inside NmiHandler: taken when OnNonnegative55. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative42: +NmiHandler_OnNonnegative55: lda $0402,x ; CPU:$D7FC PRG:57FC BD 02 04 cmp #$01 ; CPU:$D7FF PRG:57FF C9 01 - bne NmiHandler_Loop459 ; CPU:$D801 PRG:5801 D0 39 + bne NmiHandler_Loop662 ; CPU:$D801 PRG:5801 D0 39 lda $03F8,x ; CPU:$D803 PRG:5803 BD F8 03 - beq NmiHandler_Loop459 ; CPU:$D806 PRG:5806 F0 34 + beq NmiHandler_Loop662 ; CPU:$D806 PRG:5806 F0 34 cmp #$01 ; CPU:$D808 PRG:5808 C9 01 - beq NmiHandler_Loop459 ; CPU:$D80A PRG:580A F0 30 + beq NmiHandler_Loop662 ; CPU:$D80A PRG:580A F0 30 cmp #$05 ; CPU:$D80C PRG:580C C9 05 - beq NmiHandler_Loop459 ; CPU:$D80E PRG:580E F0 2C + beq NmiHandler_Loop662 ; CPU:$D80E PRG:580E F0 2C lda $040A,x ; CPU:$D810 PRG:5810 BD 0A 04 tay ; CPU:$D813 PRG:5813 A8 lda $CE66,y ; CPU:$D814 PRG:5814 B9 66 CE - sta Zp00 ; CPU:$D817 PRG:5817 85 00 + sta VramWritePtrLo ; CPU:$D817 PRG:5817 85 00 lda $CE6A,y ; CPU:$D819 PRG:5819 B9 6A CE - sta Zp01 ; CPU:$D81C PRG:581C 85 01 + sta VramWritePtrHi ; CPU:$D81C PRG:581C 85 01 ldy Zp4C ; CPU:$D81E PRG:581E A4 4C lda $0404,x ; CPU:$D820 PRG:5820 BD 04 04 sta $06D0,y ; CPU:$D823 PRG:5823 99 D0 06 iny ; CPU:$D826 PRG:5826 C8 - lda Zp00 ; CPU:$D827 PRG:5827 A5 00 + lda VramWritePtrLo ; CPU:$D827 PRG:5827 A5 00 sta $06D0,y ; CPU:$D829 PRG:5829 99 D0 06 iny ; CPU:$D82C PRG:582C C8 - lda Zp01 ; CPU:$D82D PRG:582D A5 01 + lda VramWritePtrHi ; CPU:$D82D PRG:582D A5 01 sta $06D0,y ; CPU:$D82F PRG:582F 99 D0 06 iny ; CPU:$D832 PRG:5832 C8 lda $0400,x ; CPU:$D833 PRG:5833 BD 00 04 @@ -12775,244 +17270,876 @@ NmiHandler_OnNonnegative42: iny ; CPU:$D839 PRG:5839 C8 sty Zp4C ; CPU:$D83A PRG:583A 84 4C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop459 -; Global: Branch target inside NmiHandler: taken when Loop459. +; Routine: NmiHandler_Loop662 +; Global: Branch target inside NmiHandler: taken when Loop662. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop459: +NmiHandler_Loop662: dex ; CPU:$D83C PRG:583C CA - bpl NmiHandler_OnNonnegative42 ; CPU:$D83D PRG:583D 10 BD + bpl NmiHandler_OnNonnegative55 ; CPU:$D83D PRG:583D 10 BD rts ; CPU:$D83F PRG:583F 60 -; ---- data $D840-$D92F (240 bytes) ---- - .byte $A5, $7D, $C9, $01, $D0, $1D, $A9, $00, $85, $BC, $A5, $93, $8D, $98, $03, $A5 ; CPU:$D840 PRG:5840 A5 7D C9 01 D0 1D A9 00 85 BC A5 93 8D 98 03 A5 - .byte $B5, $18, $69, $10, $8D, $99, $03, $E6, $7D, $A9, $04, $85, $30, $A9, $10, $8D ; CPU:$D850 PRG:5850 B5 18 69 10 8D 99 03 E6 7D A9 04 85 30 A9 10 8D - .byte $9A, $03, $60, $C9, $02, $D0, $05, $A5, $30, $F0, $2F, $60, $C9, $03, $D0, $05 ; CPU:$D860 PRG:5860 9A 03 60 C9 02 D0 05 A5 30 F0 2F 60 C9 03 D0 05 - .byte $A2, $05, $4C, $F0, $D8, $C9, $04, $D0, $05, $A2, $05, $4C, $68, $D9, $C9, $05 ; CPU:$D870 PRG:5870 A2 05 4C F0 D8 C9 04 D0 05 A2 05 4C 68 D9 C9 05 - .byte $D0, $11, $A5, $30, $F0, $0D, $C9, $08, $90, $04, $A9, $06, $D0, $02, $A9, $02 ; CPU:$D880 PRG:5880 D0 11 A5 30 F0 0D C9 08 90 04 A9 06 D0 02 A9 02 - .byte $85, $BC, $60, $A9, $00, $85, $7D, $4C, $1F, $D2, $A9, $05, $85, $BC, $A0, $01 ; CPU:$D890 PRG:5890 85 BC 60 A9 00 85 7D 4C 1F D2 A9 05 85 BC A0 01 - .byte $A5, $94, $CD, $98, $03, $90, $02, $A0, $FF, $98, $18, $6D, $98, $03, $8D, $98 ; CPU:$D8A0 PRG:58A0 A5 94 CD 98 03 90 02 A0 FF 98 18 6D 98 03 8D 98 - .byte $03, $AC, $9A, $03, $B9, $B0, $CE, $18, $6D, $99, $03, $8D, $99, $03, $C9, $E8 ; CPU:$D8B0 PRG:58B0 03 AC 9A 03 B9 B0 CE 18 6D 99 03 8D 99 03 C9 E8 - .byte $B0, $2B, $A4, $4C, $AD, $99, $03, $99, $D0, $06, $C8, $A9, $AA, $99, $D0, $06 ; CPU:$D8C0 PRG:58C0 B0 2B A4 4C AD 99 03 99 D0 06 C8 A9 AA 99 D0 06 - .byte $C8, $AD, $C1, $CE, $99, $D0, $06, $C8, $AD, $98, $03, $99, $D0, $06, $C8, $84 ; CPU:$D8D0 PRG:58D0 C8 AD C1 CE 99 D0 06 C8 AD 98 03 99 D0 06 C8 84 - .byte $4C, $CE, $9A, $03, $10, $09, $A9, $00, $8D, $9A, $03, $F0, $02, $E6, $7D, $60 ; CPU:$D8E0 PRG:58E0 4C CE 9A 03 10 09 A9 00 8D 9A 03 F0 02 E6 7D 60 - .byte $B5, $2B, $D0, $1B, $A9, $02, $9D, $B8, $04, $F6, $C7, $B5, $C7, $C9, $07, $B0 ; CPU:$D8F0 PRG:58F0 B5 2B D0 1B A9 02 9D B8 04 F6 C7 B5 C7 C9 07 B0 - .byte $0F, $C9, $04, $D0, $06, $A9, $08, $15, $80, $95, $80, $A9, $05, $95, $2B, $60 ; CPU:$D900 PRG:5900 0F C9 04 D0 06 A9 08 15 80 95 80 A9 05 95 2B 60 - .byte $A5, $7D, $C9, $08, $F0, $0D, $B5, $DF, $C9, $04, $F0, $07, $A9, $1C, $85, $00 ; CPU:$D910 PRG:5910 A5 7D C9 08 F0 0D B5 DF C9 04 F0 07 A9 1C 85 00 - .byte $20, $31, $D9, $A9, $00, $95, $C7, $9D, $B8, $04, $E6, $7D, $A9, $0B, $95, $2B ; CPU:$D920 PRG:5920 20 31 D9 A9 00 95 C7 9D B8 04 E6 7D A9 0B 95 2B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero43 -; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Routine: Sub_D840 +; Global: Branch target inside Sub: taken when D840. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D840: + lda Zp7D ; CPU:$D840 PRG:5840 A5 7D + cmp #$01 ; CPU:$D842 PRG:5842 C9 01 + bne NmiHandler_Loop663 ; CPU:$D844 PRG:5844 D0 1D + lda #$00 ; CPU:$D846 PRG:5846 A9 00 + sta ZpBC ; CPU:$D848 PRG:5848 85 BC + lda Zp93 ; CPU:$D84A PRG:584A A5 93 + sta $0398 ; CPU:$D84C PRG:584C 8D 98 03 + lda ZpB5 ; CPU:$D84F PRG:584F A5 B5 + clc ; CPU:$D851 PRG:5851 18 + adc #$10 ; CPU:$D852 PRG:5852 69 10 + sta $0399 ; CPU:$D854 PRG:5854 8D 99 03 + inc Zp7D ; CPU:$D857 PRG:5857 E6 7D + lda #$04 ; CPU:$D859 PRG:5859 A9 04 + sta Zp30 ; CPU:$D85B PRG:585B 85 30 + lda #$10 ; CPU:$D85D PRG:585D A9 10 + sta $039A ; CPU:$D85F PRG:585F 8D 9A 03 + rts ; CPU:$D862 PRG:5862 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop663 +; Global: Branch target inside NmiHandler: taken when Loop663. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero43: +NmiHandler_Loop663: + cmp #$02 ; CPU:$D863 PRG:5863 C9 02 + bne NmiHandler_Loop664 ; CPU:$D865 PRG:5865 D0 05 + lda Zp30 ; CPU:$D867 PRG:5867 A5 30 + beq NmiHandler_Loop670 ; CPU:$D869 PRG:5869 F0 2F + rts ; CPU:$D86B PRG:586B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop664 +; Global: Branch target inside NmiHandler: taken when Loop664. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop664: + cmp #$03 ; CPU:$D86C PRG:586C C9 03 + bne NmiHandler_Loop665 ; CPU:$D86E PRG:586E D0 05 + ldx #$05 ; CPU:$D870 PRG:5870 A2 05 + jmp Sub_D8F0 ; CPU:$D872 PRG:5872 4C F0 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop665 +; Global: Branch target inside NmiHandler: taken when Loop665. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop665: + cmp #$04 ; CPU:$D875 PRG:5875 C9 04 + bne NmiHandler_Loop666 ; CPU:$D877 PRG:5877 D0 05 + ldx #$05 ; CPU:$D879 PRG:5879 A2 05 + jmp Sub_D968 ; CPU:$D87B PRG:587B 4C 68 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop666 +; Global: Branch target inside NmiHandler: taken when Loop666. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop666: + cmp #$05 ; CPU:$D87E PRG:587E C9 05 + bne NmiHandler_Loop669 ; CPU:$D880 PRG:5880 D0 11 + lda Zp30 ; CPU:$D882 PRG:5882 A5 30 + beq NmiHandler_Loop669 ; CPU:$D884 PRG:5884 F0 0D + cmp #$08 ; CPU:$D886 PRG:5886 C9 08 + bcc NmiHandler_Loop667 ; CPU:$D888 PRG:5888 90 04 + lda #$06 ; CPU:$D88A PRG:588A A9 06 + bne NmiHandler_Loop668 ; CPU:$D88C PRG:588C D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop667 +; Global: Branch target inside NmiHandler: taken when Loop667. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop667: + lda #$02 ; CPU:$D88E PRG:588E A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop668 +; Global: Branch target inside NmiHandler: taken when Loop668. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop668: + sta ZpBC ; CPU:$D890 PRG:5890 85 BC + rts ; CPU:$D892 PRG:5892 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop669 +; Global: Branch target inside NmiHandler: taken when Loop669. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop669: + lda #$00 ; CPU:$D893 PRG:5893 A9 00 + sta Zp7D ; CPU:$D895 PRG:5895 85 7D + jmp Sub_D21F ; CPU:$D897 PRG:5897 4C 1F D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop670 +; Global: Branch target inside NmiHandler: taken when Loop670. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop670: + lda #$05 ; CPU:$D89A PRG:589A A9 05 + sta ZpBC ; CPU:$D89C PRG:589C 85 BC + ldy #$01 ; CPU:$D89E PRG:589E A0 01 + lda Zp94 ; CPU:$D8A0 PRG:58A0 A5 94 + cmp $0398 ; CPU:$D8A2 PRG:58A2 CD 98 03 + bcc NmiHandler_Loop671 ; CPU:$D8A5 PRG:58A5 90 02 + ldy #$FF ; CPU:$D8A7 PRG:58A7 A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop671 +; Global: Branch target inside NmiHandler: taken when Loop671. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop671: + tya ; CPU:$D8A9 PRG:58A9 98 + clc ; CPU:$D8AA PRG:58AA 18 + adc $0398 ; CPU:$D8AB PRG:58AB 6D 98 03 + sta $0398 ; CPU:$D8AE PRG:58AE 8D 98 03 + ldy $039A ; CPU:$D8B1 PRG:58B1 AC 9A 03 + lda $CEB0,y ; CPU:$D8B4 PRG:58B4 B9 B0 CE + clc ; CPU:$D8B7 PRG:58B7 18 + adc $0399 ; CPU:$D8B8 PRG:58B8 6D 99 03 + sta $0399 ; CPU:$D8BB PRG:58BB 8D 99 03 + cmp #$E8 ; CPU:$D8BE PRG:58BE C9 E8 + bcs NmiHandler_Loop672 ; CPU:$D8C0 PRG:58C0 B0 2B + ldy Zp4C ; CPU:$D8C2 PRG:58C2 A4 4C + lda $0399 ; CPU:$D8C4 PRG:58C4 AD 99 03 + sta $06D0,y ; CPU:$D8C7 PRG:58C7 99 D0 06 + iny ; CPU:$D8CA PRG:58CA C8 + lda #$AA ; CPU:$D8CB PRG:58CB A9 AA + sta $06D0,y ; CPU:$D8CD PRG:58CD 99 D0 06 + iny ; CPU:$D8D0 PRG:58D0 C8 + lda $CEC1 ; CPU:$D8D1 PRG:58D1 AD C1 CE + sta $06D0,y ; CPU:$D8D4 PRG:58D4 99 D0 06 + iny ; CPU:$D8D7 PRG:58D7 C8 + lda $0398 ; CPU:$D8D8 PRG:58D8 AD 98 03 + sta $06D0,y ; CPU:$D8DB PRG:58DB 99 D0 06 + iny ; CPU:$D8DE PRG:58DE C8 + sty Zp4C ; CPU:$D8DF PRG:58DF 84 4C + dec $039A ; CPU:$D8E1 PRG:58E1 CE 9A 03 + bpl NmiHandler_Loop673 ; CPU:$D8E4 PRG:58E4 10 09 + lda #$00 ; CPU:$D8E6 PRG:58E6 A9 00 + sta $039A ; CPU:$D8E8 PRG:58E8 8D 9A 03 + beq NmiHandler_Loop673 ; CPU:$D8EB PRG:58EB F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop672 +; Global: Branch target inside NmiHandler: taken when Loop672. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop672: + inc Zp7D ; CPU:$D8ED PRG:58ED E6 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop673 +; Global: Branch target inside NmiHandler: taken when Loop673. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop673: + rts ; CPU:$D8EF PRG:58EF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8F0 +; Global: Branch target inside Sub: taken when D8F0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8F0: + lda Zp2B,x ; CPU:$D8F0 PRG:58F0 B5 2B + bne NmiHandler_Loop675 ; CPU:$D8F2 PRG:58F2 D0 1B + lda #$02 ; CPU:$D8F4 PRG:58F4 A9 02 + sta $04B8,x ; CPU:$D8F6 PRG:58F6 9D B8 04 + inc ZpC7,x ; CPU:$D8F9 PRG:58F9 F6 C7 + lda ZpC7,x ; CPU:$D8FB PRG:58FB B5 C7 + cmp #$07 ; CPU:$D8FD PRG:58FD C9 07 + bcs NmiHandler_Loop676 ; CPU:$D8FF PRG:58FF B0 0F + cmp #$04 ; CPU:$D901 PRG:5901 C9 04 + bne NmiHandler_Loop674 ; CPU:$D903 PRG:5903 D0 06 + lda #$08 ; CPU:$D905 PRG:5905 A9 08 + ora SpriteTimer,x ; CPU:$D907 PRG:5907 15 80 + sta SpriteTimer,x ; CPU:$D909 PRG:5909 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop674 +; Global: Branch target inside NmiHandler: taken when Loop674. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop674: + lda #$05 ; CPU:$D90B PRG:590B A9 05 + sta Zp2B,x ; CPU:$D90D PRG:590D 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop675 +; Global: Branch target inside NmiHandler: taken when Loop675. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop675: + rts ; CPU:$D90F PRG:590F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop676 +; Global: Branch target inside NmiHandler: taken when Loop676. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop676: + lda Zp7D ; CPU:$D910 PRG:5910 A5 7D + cmp #$08 ; CPU:$D912 PRG:5912 C9 08 + beq NmiHandler_Loop677 ; CPU:$D914 PRG:5914 F0 0D + lda EnemyHealth,x ; CPU:$D916 PRG:5916 B5 DF + cmp #$04 ; CPU:$D918 PRG:5918 C9 04 + beq NmiHandler_Loop677 ; CPU:$D91A PRG:591A F0 07 + lda #$1C ; CPU:$D91C PRG:591C A9 1C + sta VramWritePtrLo ; CPU:$D91E PRG:591E 85 00 + jsr Sub_D931 ; CPU:$D920 PRG:5920 20 31 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop677 +; Global: Branch target inside NmiHandler: taken when Loop677. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop677: + lda #$00 ; CPU:$D923 PRG:5923 A9 00 + sta ZpC7,x ; CPU:$D925 PRG:5925 95 C7 + sta $04B8,x ; CPU:$D927 PRG:5927 9D B8 04 + inc Zp7D ; CPU:$D92A PRG:592A E6 7D + lda #$0B ; CPU:$D92C PRG:592C A9 0B + sta Zp2B,x ; CPU:$D92E PRG:592E 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero55: rts ; CPU:$D930 PRG:5930 60 ; ----------------------------------------------------------------------------- -; Routine: Label_D931 -; Global: Branch target inside Label: taken when D931. -; Local: Part of Label. +; Routine: Sub_D931 +; Global: Branch target inside Sub: taken when D931. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_D931: +Sub_D931: lda ZpE5 ; CPU:$D931 PRG:5931 A5 E5 - sta Zp02 ; CPU:$D933 PRG:5933 85 02 - lda ZpC0,x ; CPU:$D935 PRG:5935 B5 C0 - beq NmiHandler_Loop460 ; CPU:$D937 PRG:5937 F0 0D - lda Zp00 ; CPU:$D939 PRG:5939 A5 00 + sta DispatchPtrLo ; CPU:$D933 PRG:5933 85 02 + lda GameState,x ; CPU:$D935 PRG:5935 B5 C0 + beq NmiHandler_Loop678 ; CPU:$D937 PRG:5937 F0 0D + lda VramWritePtrLo ; CPU:$D939 PRG:5939 A5 00 eor #$FF ; CPU:$D93B PRG:593B 49 FF clc ; CPU:$D93D PRG:593D 18 adc #$01 ; CPU:$D93E PRG:593E 69 01 - sta Zp00 ; CPU:$D940 PRG:5940 85 00 - bcs NmiHandler_Loop460 ; CPU:$D942 PRG:5942 B0 02 - dec Zp02 ; CPU:$D944 PRG:5944 C6 02 + sta VramWritePtrLo ; CPU:$D940 PRG:5940 85 00 + bcs NmiHandler_Loop678 ; CPU:$D942 PRG:5942 B0 02 + dec DispatchPtrLo ; CPU:$D944 PRG:5944 C6 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop460 -; Global: Branch target inside NmiHandler: taken when Loop460. +; Routine: NmiHandler_Loop678 +; Global: Branch target inside NmiHandler: taken when Loop678. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop460: - lda Zp00 ; CPU:$D946 PRG:5946 A5 00 -; ----------------------------------------------------------------------------- -; Routine: Label_D948 -; Global: Branch target inside Label: taken when D948. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_D948: +NmiHandler_Loop678: + lda VramWritePtrLo ; CPU:$D946 PRG:5946 A5 00 clc ; CPU:$D948 PRG:5948 18 adc ZpD4 ; CPU:$D949 PRG:5949 65 D4 - sta Zp03 ; CPU:$D94B PRG:594B 85 03 - bcc NmiHandler_Loop461 ; CPU:$D94D PRG:594D 90 02 - inc Zp02 ; CPU:$D94F PRG:594F E6 02 + sta DispatchPtrHi ; CPU:$D94B PRG:594B 85 03 + bcc NmiHandler_Loop679 ; CPU:$D94D PRG:594D 90 02 + inc DispatchPtrLo ; CPU:$D94F PRG:594F E6 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop461 -; Global: Branch target inside NmiHandler: taken when Loop461. +; Routine: NmiHandler_Loop679 +; Global: Branch target inside NmiHandler: taken when Loop679. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop461: - lda Zp02 ; CPU:$D951 PRG:5951 A5 02 - sta ZpDF,x ; CPU:$D953 PRG:5953 95 DF - lda Zp03 ; CPU:$D955 PRG:5955 A5 03 +NmiHandler_Loop679: + lda DispatchPtrLo ; CPU:$D951 PRG:5951 A5 02 + sta EnemyHealth,x ; CPU:$D953 PRG:5953 95 DF + lda DispatchPtrHi ; CPU:$D955 PRG:5955 A5 03 sta ZpCE,x ; CPU:$D957 PRG:5957 95 CE - lda ZpDF,x ; CPU:$D959 PRG:5959 B5 DF + lda EnemyHealth,x ; CPU:$D959 PRG:5959 B5 DF cmp #$06 ; CPU:$D95B PRG:595B C9 06 - bne NmiHandler_OnNonzero43 ; CPU:$D95D PRG:595D D0 D1 + bne NmiHandler_OnNonzero55 ; CPU:$D95D PRG:595D D0 D1 lda ZpCE,x ; CPU:$D95F PRG:595F B5 CE cmp #$90 ; CPU:$D961 PRG:5961 C9 90 - bcc NmiHandler_OnNonzero43 ; CPU:$D963 PRG:5963 90 CB + bcc NmiHandler_OnNonzero55 ; CPU:$D963 PRG:5963 90 CB jmp Sub_D2E3 ; CPU:$D965 PRG:5965 4C E3 D2 -; ---- data $D968-$DAE9 (386 bytes) ---- - .byte $B5, $2B, $D0, $1B, $A9, $02, $9D, $B8, $04, $F6, $C7, $B5, $C7, $C9, $07, $B0 ; CPU:$D968 PRG:5968 B5 2B D0 1B A9 02 9D B8 04 F6 C7 B5 C7 C9 07 B0 - .byte $0F, $C9, $05, $D0, $06, $A9, $F7, $35, $80, $95, $80, $A9, $05, $95, $2B, $60 ; CPU:$D978 PRG:5978 0F C9 05 D0 06 A9 F7 35 80 95 80 A9 05 95 2B 60 - .byte $A9, $00, $95, $C7, $9D, $B8, $04, $A5, $7D, $C9, $05, $D0, $04, $A9, $0F, $95 ; CPU:$D988 PRG:5988 A9 00 95 C7 9D B8 04 A5 7D C9 05 D0 04 A9 0F 95 - .byte $2B, $E6, $7D, $60, $A5, $7D, $C9, $07, $D0, $45, $AE, $9C, $03, $20, $68, $D9 ; CPU:$D998 PRG:5998 2B E6 7D 60 A5 7D C9 07 D0 45 AE 9C 03 20 68 D9 - .byte $A5, $7D, $C9, $08, $D0, $ED, $AE, $9C, $03, $A9, $00, $85, $7D, $95, $2B, $20 ; CPU:$D9A8 PRG:59A8 A5 7D C9 08 D0 ED AE 9C 03 A9 00 85 7D 95 2B 20 - .byte $1F, $D2, $A5, $19, $4A, $90, $DC, $AE, $9C, $03, $B5, $C0, $85, $02, $B5, $CE ; CPU:$D9B8 PRG:59B8 1F D2 A5 19 4A 90 DC AE 9C 03 B5 C0 85 02 B5 CE - .byte $85, $03, $B5, $DF, $85, $04, $A5, $C5, $95, $C0, $A5, $D3, $95, $CE, $A5, $E4 ; CPU:$D9C8 PRG:59C8 85 03 B5 DF 85 04 A5 C5 95 C0 A5 D3 95 CE A5 E4 - .byte $95, $DF, $A5, $02, $85, $C5, $A5, $03, $85, $D3, $A5, $04, $85, $E4, $60, $AE ; CPU:$D9D8 PRG:59D8 95 DF A5 02 85 C5 A5 03 85 D3 A5 04 85 E4 60 AE - .byte $9C, $03, $B5, $8E, $C5, $93, $90, $03, $20, $BF, $D9, $20, $F0, $D8, $A5, $7D ; CPU:$D9E8 PRG:59E8 9C 03 B5 8E C5 93 90 03 20 BF D9 20 F0 D8 A5 7D - .byte $C9, $09, $D0, $EA, $AE, $9C, $03, $20, $43, $B2, $A9, $00, $85, $7D, $8D, $9B ; CPU:$D9F8 PRG:59F8 C9 09 D0 EA AE 9C 03 20 43 B2 A9 00 85 7D 8D 9B - .byte $03, $95, $2B, $4C, $1F, $D2, $A2, $05, $B5, $9F, $C9, $01, $D0, $19, $BD, $DC ; CPU:$DA08 PRG:5A08 03 95 2B 4C 1F D2 A2 05 B5 9F C9 01 D0 19 BD DC - .byte $04, $C9, $40, $B0, $16, $A9, $01, $8D, $9D, $03, $A5, $44, $D0, $1C, $A9, $02 ; CPU:$DA18 PRG:5A18 04 C9 40 B0 16 A9 01 8D 9D 03 A5 44 D0 1C A9 02 - .byte $85, $7B, $A9, $00, $85, $25, $60, $A9, $00, $85, $44, $A5, $44, $D0, $06, $85 ; CPU:$DA28 PRG:5A28 85 7B A9 00 85 25 60 A9 00 85 44 A5 44 D0 06 85 - .byte $7B, $8D, $9D, $03, $60, $A9, $00, $8D, $9D, $03, $A5, $E4, $C9, $04, $D0, $04 ; CPU:$DA38 PRG:5A38 7B 8D 9D 03 60 A9 00 8D 9D 03 A5 E4 C9 04 D0 04 - .byte $A5, $C5, $D0, $DA, $A9, $01, $85, $7B, $60, $A6, $7A, $A5, $25, $DD, $82, $CE ; CPU:$DA48 PRG:5A48 A5 C5 D0 DA A9 01 85 7B 60 A6 7A A5 25 DD 82 CE - .byte $B0, $4D, $C6, $7A, $A5, $7A, $C9, $02, $D0, $45, $20, $D4, $AC, $B0, $50, $A5 ; CPU:$DA58 PRG:5A58 B0 4D C6 7A A5 7A C9 02 D0 45 20 D4 AC B0 50 A5 - .byte $D3, $95, $CE, $A5, $E4, $95, $DF, $A9, $01, $95, $80, $A9, $11, $95, $87, $A5 ; CPU:$DA68 PRG:5A68 D3 95 CE A5 E4 95 DF A9 01 95 80 A9 11 95 87 A5 - .byte $C5, $95, $C0, $20, $B8, $DA, $A4, $7B, $88, $88, $98, $9D, $78, $04, $B9, $9B ; CPU:$DA78 PRG:5A78 C5 95 C0 20 B8 DA A4 7B 88 88 98 9D 78 04 B9 9B - .byte $CE, $95, $B0, $B5, $C0, $D0, $0D, $B5, $CE, $38, $E9, $10, $95, $CE, $B0, $0F ; CPU:$DA88 PRG:5A88 CE 95 B0 B5 C0 D0 0D B5 CE 38 E9 10 95 CE B0 0F - .byte $D6, $DF, $D0, $0B, $B5, $CE, $18, $69, $10, $95, $CE, $90, $02, $F6, $DF, $A4 ; CPU:$DA98 PRG:5A98 D6 DF D0 0B B5 CE 18 69 10 95 CE 90 02 F6 DF A4 - .byte $7B, $88, $88, $98, $0A, $0A, $18, $65, $7A, $A8, $B9, $86, $CE, $85, $BC, $60 ; CPU:$DAA8 PRG:5AA8 7B 88 88 98 0A 0A 18 65 7A A8 B9 86 CE 85 BC 60 - .byte $A9, $80, $85, $00, $B5, $CE, $9D, $F6, $04, $B5, $DF, $9D, $FB, $04, $B5, $C0 ; CPU:$DAB8 PRG:5AB8 A9 80 85 00 B5 CE 9D F6 04 B5 DF 9D FB 04 B5 C0 - .byte $D0, $0E, $A5, $00, $49, $FF, $18, $69, $01, $85, $00, $B0, $03, $DE, $FB, $04 ; CPU:$DAC8 PRG:5AC8 D0 0E A5 00 49 FF 18 69 01 85 00 B0 03 DE FB 04 - .byte $A5, $00, $18, $7D, $F6, $04, $9D, $F6, $04, $90, $03, $FE, $FB, $04, $60, $FF ; CPU:$DAD8 PRG:5AD8 A5 00 18 7D F6 04 9D F6 04 90 03 FE FB 04 60 FF - .byte $FF, $FF ; CPU:$DAE8 PRG:5AE8 FF FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero44 -; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Routine: Sub_D968 +; Global: Branch target inside Sub: taken when D968. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D968: + lda Zp2B,x ; CPU:$D968 PRG:5968 B5 2B + bne NmiHandler_Loop681 ; CPU:$D96A PRG:596A D0 1B + lda #$02 ; CPU:$D96C PRG:596C A9 02 + sta $04B8,x ; CPU:$D96E PRG:596E 9D B8 04 + inc ZpC7,x ; CPU:$D971 PRG:5971 F6 C7 + lda ZpC7,x ; CPU:$D973 PRG:5973 B5 C7 + cmp #$07 ; CPU:$D975 PRG:5975 C9 07 + bcs NmiHandler_Loop682 ; CPU:$D977 PRG:5977 B0 0F + cmp #$05 ; CPU:$D979 PRG:5979 C9 05 + bne NmiHandler_Loop680 ; CPU:$D97B PRG:597B D0 06 + lda #$F7 ; CPU:$D97D PRG:597D A9 F7 + and SpriteTimer,x ; CPU:$D97F PRG:597F 35 80 + sta SpriteTimer,x ; CPU:$D981 PRG:5981 95 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop680 +; Global: Branch target inside NmiHandler: taken when Loop680. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero44: +NmiHandler_Loop680: + lda #$05 ; CPU:$D983 PRG:5983 A9 05 + sta Zp2B,x ; CPU:$D985 PRG:5985 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop681 +; Global: Branch target inside NmiHandler: taken when Loop681. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop681: + rts ; CPU:$D987 PRG:5987 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop682 +; Global: Branch target inside NmiHandler: taken when Loop682. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop682: + lda #$00 ; CPU:$D988 PRG:5988 A9 00 + sta ZpC7,x ; CPU:$D98A PRG:598A 95 C7 + sta $04B8,x ; CPU:$D98C PRG:598C 9D B8 04 + lda Zp7D ; CPU:$D98F PRG:598F A5 7D + cmp #$05 ; CPU:$D991 PRG:5991 C9 05 + bne NmiHandler_Loop683 ; CPU:$D993 PRG:5993 D0 04 + lda #$0F ; CPU:$D995 PRG:5995 A9 0F + sta Zp2B,x ; CPU:$D997 PRG:5997 95 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop683 +; Global: Branch target inside NmiHandler: taken when Loop683. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop683: + inc Zp7D ; CPU:$D999 PRG:5999 E6 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero56: + rts ; CPU:$D99B PRG:599B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D99C +; Global: Branch target inside Sub: taken when D99C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D99C: + lda Zp7D ; CPU:$D99C PRG:599C A5 7D + cmp #$07 ; CPU:$D99E PRG:599E C9 07 + bne NmiHandler_Loop684 ; CPU:$D9A0 PRG:59A0 D0 45 + ldx $039C ; CPU:$D9A2 PRG:59A2 AE 9C 03 + jsr Sub_D968 ; CPU:$D9A5 PRG:59A5 20 68 D9 + lda Zp7D ; CPU:$D9A8 PRG:59A8 A5 7D + cmp #$08 ; CPU:$D9AA PRG:59AA C9 08 + bne NmiHandler_OnNonzero56 ; CPU:$D9AC PRG:59AC D0 ED + ldx $039C ; CPU:$D9AE PRG:59AE AE 9C 03 + lda #$00 ; CPU:$D9B1 PRG:59B1 A9 00 + sta Zp7D ; CPU:$D9B3 PRG:59B3 85 7D + sta Zp2B,x ; CPU:$D9B5 PRG:59B5 95 2B + jsr Sub_D21F ; CPU:$D9B7 PRG:59B7 20 1F D2 + lda Zp19 ; CPU:$D9BA PRG:59BA A5 19 + lsr a ; CPU:$D9BC PRG:59BC 4A + bcc NmiHandler_OnNonzero56 ; CPU:$D9BD PRG:59BD 90 DC +; ----------------------------------------------------------------------------- +; Routine: Sub_D9BF +; Global: Branch target inside Sub: taken when D9BF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9BF: + ldx $039C ; CPU:$D9BF PRG:59BF AE 9C 03 + lda GameState,x ; CPU:$D9C2 PRG:59C2 B5 C0 + sta DispatchPtrLo ; CPU:$D9C4 PRG:59C4 85 02 + lda ZpCE,x ; CPU:$D9C6 PRG:59C6 B5 CE + sta DispatchPtrHi ; CPU:$D9C8 PRG:59C8 85 03 + lda EnemyHealth,x ; CPU:$D9CA PRG:59CA B5 DF + sta Zp04 ; CPU:$D9CC PRG:59CC 85 04 + lda PlayerSide ; CPU:$D9CE PRG:59CE A5 C5 + sta GameState,x ; CPU:$D9D0 PRG:59D0 95 C0 + lda ZpD3 ; CPU:$D9D2 PRG:59D2 A5 D3 + sta ZpCE,x ; CPU:$D9D4 PRG:59D4 95 CE + lda ZpE4 ; CPU:$D9D6 PRG:59D6 A5 E4 + sta EnemyHealth,x ; CPU:$D9D8 PRG:59D8 95 DF + lda DispatchPtrLo ; CPU:$D9DA PRG:59DA A5 02 + sta PlayerSide ; CPU:$D9DC PRG:59DC 85 C5 + lda DispatchPtrHi ; CPU:$D9DE PRG:59DE A5 03 + sta ZpD3 ; CPU:$D9E0 PRG:59E0 85 D3 + lda Zp04 ; CPU:$D9E2 PRG:59E2 A5 04 + sta ZpE4 ; CPU:$D9E4 PRG:59E4 85 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero57: + rts ; CPU:$D9E6 PRG:59E6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop684 +; Global: Branch target inside NmiHandler: taken when Loop684. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop684: + ldx $039C ; CPU:$D9E7 PRG:59E7 AE 9C 03 + lda Zp8E,x ; CPU:$D9EA PRG:59EA B5 8E + cmp Zp93 ; CPU:$D9EC PRG:59EC C5 93 + bcc NmiHandler_Loop685 ; CPU:$D9EE PRG:59EE 90 03 + jsr Sub_D9BF ; CPU:$D9F0 PRG:59F0 20 BF D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop685 +; Global: Branch target inside NmiHandler: taken when Loop685. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop685: + jsr Sub_D8F0 ; CPU:$D9F3 PRG:59F3 20 F0 D8 + lda Zp7D ; CPU:$D9F6 PRG:59F6 A5 7D + cmp #$09 ; CPU:$D9F8 PRG:59F8 C9 09 + bne NmiHandler_OnNonzero57 ; CPU:$D9FA PRG:59FA D0 EA + ldx $039C ; CPU:$D9FC PRG:59FC AE 9C 03 + jsr Sub_B243 ; CPU:$D9FF PRG:59FF 20 43 B2 + lda #$00 ; CPU:$DA02 PRG:5A02 A9 00 + sta Zp7D ; CPU:$DA04 PRG:5A04 85 7D + sta $039B ; CPU:$DA06 PRG:5A06 8D 9B 03 + sta Zp2B,x ; CPU:$DA09 PRG:5A09 95 2B + jmp Sub_D21F ; CPU:$DA0B PRG:5A0B 4C 1F D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA0E +; Global: Branch target inside Sub: taken when DA0E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA0E: + ldx #$05 ; CPU:$DA0E PRG:5A0E A2 05 + lda GameMode,x ; CPU:$DA10 PRG:5A10 B5 9F + cmp #$01 ; CPU:$DA12 PRG:5A12 C9 01 + bne NmiHandler_Loop686 ; CPU:$DA14 PRG:5A14 D0 19 + lda $04DC,x ; CPU:$DA16 PRG:5A16 BD DC 04 + cmp #$40 ; CPU:$DA19 PRG:5A19 C9 40 + bcs NmiHandler_Loop687 ; CPU:$DA1B PRG:5A1B B0 16 + lda #$01 ; CPU:$DA1D PRG:5A1D A9 01 + sta $039D ; CPU:$DA1F PRG:5A1F 8D 9D 03 + lda Zp44 ; CPU:$DA22 PRG:5A22 A5 44 + bne NmiHandler_Loop689 ; CPU:$DA24 PRG:5A24 D0 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero58: + lda #$02 ; CPU:$DA26 PRG:5A26 A9 02 + sta Zp7B ; CPU:$DA28 PRG:5A28 85 7B + lda #$00 ; CPU:$DA2A PRG:5A2A A9 00 + sta Zp25 ; CPU:$DA2C PRG:5A2C 85 25 + rts ; CPU:$DA2E PRG:5A2E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop686 +; Global: Branch target inside NmiHandler: taken when Loop686. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop686: + lda #$00 ; CPU:$DA2F PRG:5A2F A9 00 + sta Zp44 ; CPU:$DA31 PRG:5A31 85 44 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop687 +; Global: Branch target inside NmiHandler: taken when Loop687. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop687: + lda Zp44 ; CPU:$DA33 PRG:5A33 A5 44 + bne NmiHandler_Loop688 ; CPU:$DA35 PRG:5A35 D0 06 + sta Zp7B ; CPU:$DA37 PRG:5A37 85 7B + sta $039D ; CPU:$DA39 PRG:5A39 8D 9D 03 + rts ; CPU:$DA3C PRG:5A3C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop688 +; Global: Branch target inside NmiHandler: taken when Loop688. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop688: + lda #$00 ; CPU:$DA3D PRG:5A3D A9 00 + sta $039D ; CPU:$DA3F PRG:5A3F 8D 9D 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop689 +; Global: Branch target inside NmiHandler: taken when Loop689. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop689: + lda ZpE4 ; CPU:$DA42 PRG:5A42 A5 E4 + cmp #$04 ; CPU:$DA44 PRG:5A44 C9 04 + bne NmiHandler_Loop690 ; CPU:$DA46 PRG:5A46 D0 04 + lda PlayerSide ; CPU:$DA48 PRG:5A48 A5 C5 + bne NmiHandler_OnNonzero58 ; CPU:$DA4A PRG:5A4A D0 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop690 +; Global: Branch target inside NmiHandler: taken when Loop690. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop690: + lda #$01 ; CPU:$DA4C PRG:5A4C A9 01 + sta Zp7B ; CPU:$DA4E PRG:5A4E 85 7B + rts ; CPU:$DA50 PRG:5A50 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA51 +; Global: Branch target inside Sub: taken when DA51. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA51: + ldx Zp7A ; CPU:$DA51 PRG:5A51 A6 7A + lda Zp25 ; CPU:$DA53 PRG:5A53 A5 25 + cmp $CE82,x ; CPU:$DA55 PRG:5A55 DD 82 CE + bcs NmiHandler_Loop692 ; CPU:$DA58 PRG:5A58 B0 4D + dec Zp7A ; CPU:$DA5A PRG:5A5A C6 7A + lda Zp7A ; CPU:$DA5C PRG:5A5C A5 7A + cmp #$02 ; CPU:$DA5E PRG:5A5E C9 02 + bne NmiHandler_Loop692 ; CPU:$DA60 PRG:5A60 D0 45 + jsr Sub_ACD4 ; CPU:$DA62 PRG:5A62 20 D4 AC + bcs NmiHandler_Loop693 ; CPU:$DA65 PRG:5A65 B0 50 + lda ZpD3 ; CPU:$DA67 PRG:5A67 A5 D3 + sta ZpCE,x ; CPU:$DA69 PRG:5A69 95 CE + lda ZpE4 ; CPU:$DA6B PRG:5A6B A5 E4 + sta EnemyHealth,x ; CPU:$DA6D PRG:5A6D 95 DF + lda #$01 ; CPU:$DA6F PRG:5A6F A9 01 + sta SpriteTimer,x ; CPU:$DA71 PRG:5A71 95 80 + lda #$11 ; CPU:$DA73 PRG:5A73 A9 11 + sta EnemyIndex,x ; CPU:$DA75 PRG:5A75 95 87 + lda PlayerSide ; CPU:$DA77 PRG:5A77 A5 C5 + sta GameState,x ; CPU:$DA79 PRG:5A79 95 C0 + jsr Sub_DAB8 ; CPU:$DA7B PRG:5A7B 20 B8 DA + ldy Zp7B ; CPU:$DA7E PRG:5A7E A4 7B + dey ; CPU:$DA80 PRG:5A80 88 + dey ; CPU:$DA81 PRG:5A81 88 + tya ; CPU:$DA82 PRG:5A82 98 + sta $0478,x ; CPU:$DA83 PRG:5A83 9D 78 04 + lda $CE9B,y ; CPU:$DA86 PRG:5A86 B9 9B CE + sta PlayerX,x ; CPU:$DA89 PRG:5A89 95 B0 + lda GameState,x ; CPU:$DA8B PRG:5A8B B5 C0 + bne NmiHandler_Loop691 ; CPU:$DA8D PRG:5A8D D0 0D + lda ZpCE,x ; CPU:$DA8F PRG:5A8F B5 CE + sec ; CPU:$DA91 PRG:5A91 38 + sbc #$10 ; CPU:$DA92 PRG:5A92 E9 10 + sta ZpCE,x ; CPU:$DA94 PRG:5A94 95 CE + bcs NmiHandler_Loop692 ; CPU:$DA96 PRG:5A96 B0 0F + dec EnemyHealth,x ; CPU:$DA98 PRG:5A98 D6 DF + bne NmiHandler_Loop692 ; CPU:$DA9A PRG:5A9A D0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop691 +; Global: Branch target inside NmiHandler: taken when Loop691. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop691: + lda ZpCE,x ; CPU:$DA9C PRG:5A9C B5 CE + clc ; CPU:$DA9E PRG:5A9E 18 + adc #$10 ; CPU:$DA9F PRG:5A9F 69 10 + sta ZpCE,x ; CPU:$DAA1 PRG:5AA1 95 CE + bcc NmiHandler_Loop692 ; CPU:$DAA3 PRG:5AA3 90 02 + inc EnemyHealth,x ; CPU:$DAA5 PRG:5AA5 F6 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop692 +; Global: Branch target inside NmiHandler: taken when Loop692. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop692: + ldy Zp7B ; CPU:$DAA7 PRG:5AA7 A4 7B + dey ; CPU:$DAA9 PRG:5AA9 88 + dey ; CPU:$DAAA PRG:5AAA 88 + tya ; CPU:$DAAB PRG:5AAB 98 + asl a ; CPU:$DAAC PRG:5AAC 0A + asl a ; CPU:$DAAD PRG:5AAD 0A + clc ; CPU:$DAAE PRG:5AAE 18 + adc Zp7A ; CPU:$DAAF PRG:5AAF 65 7A + tay ; CPU:$DAB1 PRG:5AB1 A8 + lda $CE86,y ; CPU:$DAB2 PRG:5AB2 B9 86 CE + sta ZpBC ; CPU:$DAB5 PRG:5AB5 85 BC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop693 +; Global: Branch target inside NmiHandler: taken when Loop693. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop693: + rts ; CPU:$DAB7 PRG:5AB7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAB8 +; Global: Branch target inside Sub: taken when DAB8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAB8: + lda #$80 ; CPU:$DAB8 PRG:5AB8 A9 80 + sta VramWritePtrLo ; CPU:$DABA PRG:5ABA 85 00 + lda ZpCE,x ; CPU:$DABC PRG:5ABC B5 CE + sta $04F6,x ; CPU:$DABE PRG:5ABE 9D F6 04 + lda EnemyHealth,x ; CPU:$DAC1 PRG:5AC1 B5 DF + sta $04FB,x ; CPU:$DAC3 PRG:5AC3 9D FB 04 + lda GameState,x ; CPU:$DAC6 PRG:5AC6 B5 C0 + bne NmiHandler_Loop694 ; CPU:$DAC8 PRG:5AC8 D0 0E + lda VramWritePtrLo ; CPU:$DACA PRG:5ACA A5 00 + eor #$FF ; CPU:$DACC PRG:5ACC 49 FF + clc ; CPU:$DACE PRG:5ACE 18 + adc #$01 ; CPU:$DACF PRG:5ACF 69 01 + sta VramWritePtrLo ; CPU:$DAD1 PRG:5AD1 85 00 + bcs NmiHandler_Loop694 ; CPU:$DAD3 PRG:5AD3 B0 03 + dec $04FB,x ; CPU:$DAD5 PRG:5AD5 DE FB 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop694 +; Global: Branch target inside NmiHandler: taken when Loop694. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop694: + lda VramWritePtrLo ; CPU:$DAD8 PRG:5AD8 A5 00 + clc ; CPU:$DADA PRG:5ADA 18 + adc $04F6,x ; CPU:$DADB PRG:5ADB 7D F6 04 + sta $04F6,x ; CPU:$DADE PRG:5ADE 9D F6 04 + bcc NmiHandler_Loop695 ; CPU:$DAE1 PRG:5AE1 90 03 + inc $04FB,x ; CPU:$DAE3 PRG:5AE3 FE FB 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop695 +; Global: Branch target inside NmiHandler: taken when Loop695. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop695: + rts ; CPU:$DAE6 PRG:5AE6 60 +; ---- data $DAE7-$DAE9 (3 bytes) ---- +LevelSceneryPadding: + .byte $FF, $FF, $FF ; CPU:$DAE7 PRG:1AE7 FF FF FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero59: pha ; CPU:$DAEA PRG:5AEA 48 sta PPUADDR ; CPU:$DAEB PRG:5AEB 8D 06 20 iny ; CPU:$DAEE PRG:5AEE C8 - lda (Zp00),y ; CPU:$DAEF PRG:5AEF B1 00 + lda (VramWritePtrLo),y ; CPU:$DAEF PRG:5AEF B1 00 sta PPUADDR ; CPU:$DAF1 PRG:5AF1 8D 06 20 iny ; CPU:$DAF4 PRG:5AF4 C8 - lda (Zp00),y ; CPU:$DAF5 PRG:5AF5 B1 00 + lda (VramWritePtrLo),y ; CPU:$DAF5 PRG:5AF5 B1 00 asl a ; CPU:$DAF7 PRG:5AF7 0A pha ; CPU:$DAF8 PRG:5AF8 48 - lda Zp10 ; CPU:$DAF9 PRG:5AF9 A5 10 + lda PpuCtrlShadow ; CPU:$DAF9 PRG:5AF9 A5 10 ora #$04 ; CPU:$DAFB PRG:5AFB 09 04 - bcs NmiHandler_Loop462 ; CPU:$DAFD PRG:5AFD B0 02 + bcs NmiHandler_Loop696 ; CPU:$DAFD PRG:5AFD B0 02 and #$FB ; CPU:$DAFF PRG:5AFF 29 FB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop462 -; Global: Branch target inside NmiHandler: taken when Loop462. +; Routine: NmiHandler_Loop696 +; Global: Branch target inside NmiHandler: taken when Loop696. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop462: +NmiHandler_Loop696: sta PPUCTRL ; CPU:$DB01 PRG:5B01 8D 00 20 - sta Zp10 ; CPU:$DB04 PRG:5B04 85 10 + sta PpuCtrlShadow ; CPU:$DB04 PRG:5B04 85 10 pla ; CPU:$DB06 PRG:5B06 68 asl a ; CPU:$DB07 PRG:5B07 0A php ; CPU:$DB08 PRG:5B08 08 - bcc NmiHandler_Loop463 ; CPU:$DB09 PRG:5B09 90 03 + bcc NmiHandler_Loop697 ; CPU:$DB09 PRG:5B09 90 03 ora #$02 ; CPU:$DB0B PRG:5B0B 09 02 iny ; CPU:$DB0D PRG:5B0D C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop463 -; Global: Branch target inside NmiHandler: taken when Loop463. +; Routine: NmiHandler_Loop697 +; Global: Branch target inside NmiHandler: taken when Loop697. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop463: +NmiHandler_Loop697: plp ; CPU:$DB0E PRG:5B0E 28 clc ; CPU:$DB0F PRG:5B0F 18 - bne NmiHandler_Loop464 ; CPU:$DB10 PRG:5B10 D0 01 + bne NmiHandler_Loop698 ; CPU:$DB10 PRG:5B10 D0 01 sec ; CPU:$DB12 PRG:5B12 38 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop464 -; Global: Branch target inside NmiHandler: taken when Loop464. +; Routine: NmiHandler_Loop698 +; Global: Branch target inside NmiHandler: taken when Loop698. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop464: +NmiHandler_Loop698: ror a ; CPU:$DB13 PRG:5B13 6A lsr a ; CPU:$DB14 PRG:5B14 4A tax ; CPU:$DB15 PRG:5B15 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero45 -; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero45: - bcs NmiHandler_Loop465 ; CPU:$DB16 PRG:5B16 B0 01 +NmiHandler_OnNonzero60: + bcs NmiHandler_Loop699 ; CPU:$DB16 PRG:5B16 B0 01 iny ; CPU:$DB18 PRG:5B18 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop465 -; Global: Branch target inside NmiHandler: taken when Loop465. +; Routine: NmiHandler_Loop699 +; Global: Branch target inside NmiHandler: taken when Loop699. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop465: - lda (Zp00),y ; CPU:$DB19 PRG:5B19 B1 00 +NmiHandler_Loop699: + lda (VramWritePtrLo),y ; CPU:$DB19 PRG:5B19 B1 00 sta PPUDATA ; CPU:$DB1B PRG:5B1B 8D 07 20 dex ; CPU:$DB1E PRG:5B1E CA - bne NmiHandler_OnNonzero45 ; CPU:$DB1F PRG:5B1F D0 F5 + bne NmiHandler_OnNonzero60 ; CPU:$DB1F PRG:5B1F D0 F5 pla ; CPU:$DB21 PRG:5B21 68 cmp #$3F ; CPU:$DB22 PRG:5B22 C9 3F - bne NmiHandler_Loop466 ; CPU:$DB24 PRG:5B24 D0 0C + bne NmiHandler_Loop700 ; CPU:$DB24 PRG:5B24 D0 0C sta PPUADDR ; CPU:$DB26 PRG:5B26 8D 06 20 stx PPUADDR ; CPU:$DB29 PRG:5B29 8E 06 20 stx PPUADDR ; CPU:$DB2C PRG:5B2C 8E 06 20 stx PPUADDR ; CPU:$DB2F PRG:5B2F 8E 06 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop466 -; Global: Branch target inside NmiHandler: taken when Loop466. +; Routine: NmiHandler_Loop700 +; Global: Branch target inside NmiHandler: taken when Loop700. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop466: +NmiHandler_Loop700: sec ; CPU:$DB32 PRG:5B32 38 tya ; CPU:$DB33 PRG:5B33 98 - adc Zp00 ; CPU:$DB34 PRG:5B34 65 00 - sta Zp00 ; CPU:$DB36 PRG:5B36 85 00 + adc VramWritePtrLo ; CPU:$DB34 PRG:5B34 65 00 + sta VramWritePtrLo ; CPU:$DB36 PRG:5B36 85 00 lda #$00 ; CPU:$DB38 PRG:5B38 A9 00 - adc Zp01 ; CPU:$DB3A PRG:5B3A 65 01 - sta Zp01 ; CPU:$DB3C PRG:5B3C 85 01 + adc VramWritePtrHi ; CPU:$DB3A PRG:5B3A 65 01 + sta VramWritePtrHi ; CPU:$DB3C PRG:5B3C 85 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB3E ; Global: Branch target inside Sub: taken when DB3E. @@ -13024,13 +18151,14 @@ NmiHandler_Loop466: Sub_DB3E: ldx PPUSTATUS ; CPU:$DB3E PRG:5B3E AE 02 20 ldy #$00 ; CPU:$DB41 PRG:5B41 A0 00 - lda (Zp00),y ; CPU:$DB43 PRG:5B43 B1 00 - bne NmiHandler_OnNonzero44 ; CPU:$DB45 PRG:5B45 D0 A3 + lda (VramWritePtrLo),y ; CPU:$DB43 PRG:5B43 B1 00 + bne NmiHandler_OnNonzero59 ; CPU:$DB45 PRG:5B45 D0 A3 rts ; CPU:$DB47 PRG:5B47 60 ; ---- data $DB48-$F830 (7401 bytes) ---- ; referenced by `lda $DBDC,y` at $8536 (operand $DBDC falls inside this region) ; referenced by `lda $DB48,y` at $8546 (operand $DB48 falls inside this region) - .byte $0F, $27, $3B, $08, $0F, $28, $19, $25, $0F, $17, $27, $30, $0F, $37, $0F, $16 ; CPU:$DB48 PRG:5B48 0F 27 3B 08 0F 28 19 25 0F 17 27 30 0F 37 0F 16 +LevelGraphicData: + .byte $0F, $27, $3B, $08, $0F, $28, $19, $25, $0F, $17, $27, $30, $0F, $37, $0F, $16 ; CPU:$DB48 PRG:1B48 0F 27 3B 08 0F 28 19 25 0F 17 27 30 0F 37 0F 16 .byte $0F, $27, $0F, $16, $3F, $1C, $04, $22, $36, $39, $15, $00, $3F, $1C, $04, $22 ; CPU:$DB58 PRG:5B58 0F 27 0F 16 3F 1C 04 22 36 39 15 00 3F 1C 04 22 .byte $36, $18, $32, $00, $3F, $18, $08, $22, $27, $31, $14, $22, $27, $0F, $16, $00 ; CPU:$DB68 PRG:5B68 36 18 32 00 3F 18 08 22 27 31 14 22 27 0F 16 00 .byte $3F, $18, $04, $22, $27, $30, $18, $00, $3F, $1C, $04, $22, $36, $15, $07, $00 ; CPU:$DB78 PRG:5B78 3F 18 04 22 27 30 18 00 3F 1C 04 22 36 15 07 00 @@ -13538,30 +18666,30 @@ Sub_F852: Sub_F858: ldx #$00 ; CPU:$F858 PRG:7858 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero46 -; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero46: +NmiHandler_OnNonzero61: tay ; CPU:$F85A PRG:785A A8 lda $FF01,y ; CPU:$F85B PRG:785B B9 01 FF - beq NmiHandler_Loop467 ; CPU:$F85E PRG:785E F0 0B + beq NmiHandler_Loop701 ; CPU:$F85E PRG:785E F0 0B sta APUPULSE1TIMERLO,x ; CPU:$F860 PRG:7860 9D 02 40 lda $FF00,y ; CPU:$F863 PRG:7863 B9 00 FF ora #$08 ; CPU:$F866 PRG:7866 09 08 sta APUPULSE1TIMERHI,x ; CPU:$F868 PRG:7868 9D 03 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop467 -; Global: Branch target inside NmiHandler: taken when Loop467. +; Routine: NmiHandler_Loop701 +; Global: Branch target inside NmiHandler: taken when Loop701. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop467: +NmiHandler_Loop701: rts ; CPU:$F86B PRG:786B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F86C @@ -13596,7 +18724,7 @@ Sub_F873: ; ----------------------------------------------------------------------------- Sub_F879: ldx #$04 ; CPU:$F879 PRG:7879 A2 04 - bne NmiHandler_OnNonzero46 ; CPU:$F87B PRG:787B D0 DD + bne NmiHandler_OnNonzero61 ; CPU:$F87B PRG:787B D0 DD ; ----------------------------------------------------------------------------- ; Routine: Sub_F87D ; Global: Branch target inside Sub: taken when F87D. @@ -13607,21 +18735,19 @@ Sub_F879: ; ----------------------------------------------------------------------------- Sub_F87D: ldx #$08 ; CPU:$F87D PRG:787D A2 08 - bne NmiHandler_OnNonzero46 ; CPU:$F87F PRG:787F D0 D9 + bne NmiHandler_OnNonzero61 ; CPU:$F87F PRG:787F D0 D9 .byte $0B, $0B ; CPU:$F881 PRG:7881 0B 0B -- anc #$0B (undocumented; ca65 cannot encode) .byte $0C, $0C, $0D ; CPU:$F883 PRG:7883 0C 0C 0D -- nop $0D0C (undocumented; ca65 cannot encode) -; ---- data $F886-$F886 (1 bytes) ---- - .byte $0D ; CPU:$F886 PRG:7886 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet5 -; Global: Branch target inside NmiHandler: taken when OnCarrySet5. -; Local: Part of NmiHandler. +; Routine: Label_F886 +; Global: Branch target inside Label: taken when F886. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet5: - lda #$15 ; CPU:$F887 PRG:7887 A9 15 +Label_F886: + ora $15A9 ; CPU:$F886 PRG:7886 0D A9 15 sta ZpF6 ; CPU:$F889 PRG:7889 85 F6 lda #$1C ; CPU:$F88B PRG:788B A9 1C sta APUTRIANGLECTRL ; CPU:$F88D PRG:788D 8D 08 40 @@ -13642,7 +18768,7 @@ NmiHandler_OnCarrySet6: ldy ZpF6 ; CPU:$F89C PRG:789C A4 F6 lda $FFCD,y ; CPU:$F89E PRG:789E B9 CD FF sta APUPULSE1CTRL ; CPU:$F8A1 PRG:78A1 8D 00 40 - bne NmiHandler_Loop470 ; CPU:$F8A4 PRG:78A4 D0 36 + bne NmiHandler_Loop704 ; CPU:$F8A4 PRG:78A4 D0 36 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet7 ; Global: Branch target inside NmiHandler: taken when OnCarrySet7. @@ -13669,50 +18795,50 @@ NmiHandler_OnCarrySet7: NmiHandler_OnCarrySet8: ldy ZpF6 ; CPU:$F8B3 PRG:78B3 A4 F6 cpy #$0A ; CPU:$F8B5 PRG:78B5 C0 0A - beq NmiHandler_Loop468 ; CPU:$F8B7 PRG:78B7 F0 19 - bcc NmiHandler_Loop469 ; CPU:$F8B9 PRG:78B9 90 1C + beq NmiHandler_Loop702 ; CPU:$F8B7 PRG:78B7 F0 19 + bcc NmiHandler_Loop703 ; CPU:$F8B9 PRG:78B9 90 1C lda $07D8 ; CPU:$F8BB PRG:78BB AD D8 07 - bne NmiHandler_Loop470 ; CPU:$F8BE PRG:78BE D0 1C + bne NmiHandler_Loop704 ; CPU:$F8BE PRG:78BE D0 1C lda #$96 ; CPU:$F8C0 PRG:78C0 A9 96 sta APUNOISECTRL ; CPU:$F8C2 PRG:78C2 8D 0C 40 lda $F878,y ; CPU:$F8C5 PRG:78C5 B9 78 F8 sta APUNOISEPERIOD ; CPU:$F8C8 PRG:78C8 8D 0E 40 lda #$18 ; CPU:$F8CB PRG:78CB A9 18 sta APUNOISELENGTH ; CPU:$F8CD PRG:78CD 8D 0F 40 - bne NmiHandler_Loop470 ; CPU:$F8D0 PRG:78D0 D0 0A + bne NmiHandler_Loop704 ; CPU:$F8D0 PRG:78D0 D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop468 -; Global: Branch target inside NmiHandler: taken when Loop468. +; Routine: NmiHandler_Loop702 +; Global: Branch target inside NmiHandler: taken when Loop702. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop468: +NmiHandler_Loop702: lda #$9A ; CPU:$F8D2 PRG:78D2 A9 9A sta APUPULSE1SWEEP ; CPU:$F8D4 PRG:78D4 8D 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop469 -; Global: Branch target inside NmiHandler: taken when Loop469. +; Routine: NmiHandler_Loop703 +; Global: Branch target inside NmiHandler: taken when Loop703. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop469: +NmiHandler_Loop703: lda #$90 ; CPU:$F8D7 PRG:78D7 A9 90 sta APUNOISECTRL ; CPU:$F8D9 PRG:78D9 8D 0C 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop470 -; Global: Branch target inside NmiHandler: taken when Loop470. +; Routine: NmiHandler_Loop704 +; Global: Branch target inside NmiHandler: taken when Loop704. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop470: +NmiHandler_Loop704: dec ZpF6 ; CPU:$F8DC PRG:78DC C6 F6 - bne NmiHandler_Loop471 ; CPU:$F8DE PRG:78DE D0 0F + bne NmiHandler_Loop705 ; CPU:$F8DE PRG:78DE D0 0F lda #$00 ; CPU:$F8E0 PRG:78E0 A9 00 sta ZpF1 ; CPU:$F8E2 PRG:78E2 85 F1 sta APUTRIANGLECTRL ; CPU:$F8E4 PRG:78E4 8D 08 40 @@ -13729,14 +18855,14 @@ Sub_F8E7: sta APUPULSE1CTRL ; CPU:$F8E9 PRG:78E9 8D 00 40 sta APUNOISECTRL ; CPU:$F8EC PRG:78EC 8D 0C 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop471 -; Global: Branch target inside NmiHandler: taken when Loop471. +; Routine: NmiHandler_Loop705 +; Global: Branch target inside NmiHandler: taken when Loop705. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop471: +NmiHandler_Loop705: rts ; CPU:$F8EF PRG:78EF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8F0 @@ -13748,50 +18874,50 @@ NmiHandler_Loop471: ; ----------------------------------------------------------------------------- Sub_F8F0: ldy ZpFF ; CPU:$F8F0 PRG:78F0 A4 FF - beq NmiHandler_Loop472 ; CPU:$F8F2 PRG:78F2 F0 0E + beq NmiHandler_Loop706 ; CPU:$F8F2 PRG:78F2 F0 0E sty ZpF1 ; CPU:$F8F4 PRG:78F4 84 F1 lsr ZpFF ; CPU:$F8F6 PRG:78F6 46 FF - bcs NmiHandler_OnCarrySet5 ; CPU:$F8F8 PRG:78F8 B0 8D + .byte $B0, $8D ; CPU:$F8F8 PRG:78F8 B0 8D lsr ZpFF ; CPU:$F8FA PRG:78FA 46 FF bcs NmiHandler_OnCarrySet7 ; CPU:$F8FC PRG:78FC B0 A8 lsr ZpFF ; CPU:$F8FE PRG:78FE 46 FF - bcs NmiHandler_Loop474 ; CPU:$F900 PRG:7900 B0 0E + bcs NmiHandler_Loop708 ; CPU:$F900 PRG:7900 B0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop472 -; Global: Branch target inside NmiHandler: taken when Loop472. +; Routine: NmiHandler_Loop706 +; Global: Branch target inside NmiHandler: taken when Loop706. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop472: +NmiHandler_Loop706: lda ZpF1 ; CPU:$F902 PRG:7902 A5 F1 - beq NmiHandler_Loop473 ; CPU:$F904 PRG:7904 F0 09 + beq NmiHandler_Loop707 ; CPU:$F904 PRG:7904 F0 09 lsr a ; CPU:$F906 PRG:7906 4A bcs NmiHandler_OnCarrySet6 ; CPU:$F907 PRG:7907 B0 8C lsr a ; CPU:$F909 PRG:7909 4A bcs NmiHandler_OnCarrySet8 ; CPU:$F90A PRG:790A B0 A7 lsr a ; CPU:$F90C PRG:790C 4A - bcs NmiHandler_Loop475 ; CPU:$F90D PRG:790D B0 0E + bcs NmiHandler_Loop709 ; CPU:$F90D PRG:790D B0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop473 -; Global: Branch target inside NmiHandler: taken when Loop473. +; Routine: NmiHandler_Loop707 +; Global: Branch target inside NmiHandler: taken when Loop707. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop473: +NmiHandler_Loop707: rts ; CPU:$F90F PRG:790F 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop474 -; Global: Branch target inside NmiHandler: taken when Loop474. +; Routine: NmiHandler_Loop708 +; Global: Branch target inside NmiHandler: taken when Loop708. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop474: +NmiHandler_Loop708: lda #$05 ; CPU:$F910 PRG:7910 A9 05 sta ZpF6 ; CPU:$F912 PRG:7912 85 F6 ldy #$9D ; CPU:$F914 PRG:7914 A0 9D @@ -13799,29 +18925,29 @@ NmiHandler_Loop474: lda #$00 ; CPU:$F918 PRG:7918 A9 00 jsr Sub_F852 ; CPU:$F91A PRG:791A 20 52 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop475 -; Global: Branch target inside NmiHandler: taken when Loop475. +; Routine: NmiHandler_Loop709 +; Global: Branch target inside NmiHandler: taken when Loop709. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop475: +NmiHandler_Loop709: lda ZpF6 ; CPU:$F91D PRG:791D A5 F6 cmp #$03 ; CPU:$F91F PRG:791F C9 03 - bne NmiHandler_Loop476 ; CPU:$F921 PRG:7921 D0 05 + bne NmiHandler_Loop710 ; CPU:$F921 PRG:7921 D0 05 lda #$93 ; CPU:$F923 PRG:7923 A9 93 sta APUPULSE1SWEEP ; CPU:$F925 PRG:7925 8D 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop476 -; Global: Branch target inside NmiHandler: taken when Loop476. +; Routine: NmiHandler_Loop710 +; Global: Branch target inside NmiHandler: taken when Loop710. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop476: - bne NmiHandler_Loop470 ; CPU:$F928 PRG:7928 D0 B2 +NmiHandler_Loop710: + bne NmiHandler_Loop704 ; CPU:$F928 PRG:7928 D0 B2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet9 ; Global: Branch target inside NmiHandler: taken when OnCarrySet9. @@ -13849,18 +18975,18 @@ NmiHandler_OnCarrySet9: NmiHandler_OnCarrySet10: lda $07E3 ; CPU:$F93A PRG:793A AD E3 07 cmp #$18 ; CPU:$F93D PRG:793D C9 18 - bne NmiHandler_Loop477 ; CPU:$F93F PRG:793F D0 05 + bne NmiHandler_Loop711 ; CPU:$F93F PRG:793F D0 05 lda #$20 ; CPU:$F941 PRG:7941 A9 20 jsr Sub_F879 ; CPU:$F943 PRG:7943 20 79 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop477 -; Global: Branch target inside NmiHandler: taken when Loop477. +; Routine: NmiHandler_Loop711 +; Global: Branch target inside NmiHandler: taken when Loop711. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop477: +NmiHandler_Loop711: bne NmiHandler_OnCarrySet12 ; CPU:$F946 PRG:7946 D0 10 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet11 @@ -13888,20 +19014,20 @@ NmiHandler_OnCarrySet11: ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet12: dec $07E3 ; CPU:$F958 PRG:7958 CE E3 07 - bne NmiHandler_Loop478 ; CPU:$F95B PRG:795B D0 09 + bne NmiHandler_Loop712 ; CPU:$F95B PRG:795B D0 09 lda #$00 ; CPU:$F95D PRG:795D A9 00 sta ZpF2 ; CPU:$F95F PRG:795F 85 F2 lda #$90 ; CPU:$F961 PRG:7961 A9 90 sta APUPULSE2CTRL ; CPU:$F963 PRG:7963 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop478 -; Global: Branch target inside NmiHandler: taken when Loop478. +; Routine: NmiHandler_Loop712 +; Global: Branch target inside NmiHandler: taken when Loop712. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop478: +NmiHandler_Loop712: rts ; CPU:$F966 PRG:7966 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F967 @@ -13914,7 +19040,7 @@ NmiHandler_Loop478: Sub_F967: ldy ZpFE ; CPU:$F967 PRG:7967 A4 FE cpy #$04 ; CPU:$F969 PRG:7969 C0 04 - beq NmiHandler_Loop479 ; CPU:$F96B PRG:796B F0 11 + beq NmiHandler_Loop713 ; CPU:$F96B PRG:796B F0 11 lda ZpF2 ; CPU:$F96D PRG:796D A5 F2 lsr a ; CPU:$F96F PRG:796F 4A bcs NmiHandler_OnCarrySet10 ; CPU:$F970 PRG:7970 B0 C8 @@ -13926,14 +19052,14 @@ Sub_F967: bcs NmiHandler_OnCarrySet12 ; CPU:$F97B PRG:797B B0 DB rts ; CPU:$F97D PRG:797D 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop479 -; Global: Branch target inside NmiHandler: taken when Loop479. +; Routine: NmiHandler_Loop713 +; Global: Branch target inside NmiHandler: taken when Loop713. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop479: +NmiHandler_Loop713: jmp Sub_FBC2 ; CPU:$F97E PRG:797E 4C C2 FB ; ---- data $F981-$F9B8 (56 bytes) ---- ; referenced by `ldx $F98D,y` at $F9C1 (operand $F98D falls inside this region) @@ -13941,7 +19067,8 @@ NmiHandler_Loop479: ; referenced by `lda $F99A,y` at $F9D4 (operand $F99A falls inside this region) ; referenced by `ldx $F9B3,y` at $FA0A (operand $F9B3 falls inside this region) ; referenced by `lda $F9AE,y` at $FA0D (operand $F9AE falls inside this region) - .byte $11, $12, $13, $15, $17, $19, $1A, $1B, $1D, $1E, $1E, $1F, $1F, $0F, $0F, $0E ; CPU:$F981 PRG:7981 11 12 13 15 17 19 1A 1B 1D 1E 1E 1F 1F 0F 0F 0E +EnemyMovementSpeedTable: + .byte $11, $12, $13, $15, $17, $19, $1A, $1B, $1D, $1E, $1E, $1F, $1F, $0F, $0F, $0E ; CPU:$F981 PRG:3981 11 12 13 15 17 19 1A 1B 1D 1E 1E 1F 1F 0F 0F 0E .byte $0E, $0D, $0D, $0C, $0C, $0B, $0B, $0B, $0A, $0A, $17, $19, $1B, $1D, $1F, $1C ; CPU:$F991 PRG:7991 0E 0D 0D 0C 0C 0B 0B 0B 0A 0A 17 19 1B 1D 1F 1C .byte $1A, $18, $1C, $1B, $06, $06, $06, $07, $08, $09, $0A, $0A, $0B, $0B, $1F, $1F ; CPU:$F9A1 PRG:79A1 1A 18 1C 1B 06 06 06 07 08 09 0A 0A 0B 0B 1F 1F .byte $19, $16, $13, $0B, $09, $0D, $0E, $0F ; CPU:$F9B1 PRG:79B1 19 16 13 0B 09 0D 0E 0F @@ -13968,7 +19095,7 @@ NmiHandler_OnCarrySet14: ldy $07E9 ; CPU:$F9BE PRG:79BE AC E9 07 ldx $F98D,y ; CPU:$F9C1 PRG:79C1 BE 8D F9 lda $F980,y ; CPU:$F9C4 PRG:79C4 B9 80 F9 - bne NmiHandler_Loop480 ; CPU:$F9C7 PRG:79C7 D0 0E + bne NmiHandler_Loop714 ; CPU:$F9C7 PRG:79C7 D0 0E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet15 ; Global: Branch target inside NmiHandler: taken when OnCarrySet15. @@ -13993,15 +19120,15 @@ NmiHandler_OnCarrySet16: ldx $F9A4,y ; CPU:$F9D1 PRG:79D1 BE A4 F9 lda $F99A,y ; CPU:$F9D4 PRG:79D4 B9 9A F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop480 -; Global: Branch target inside NmiHandler: taken when Loop480. +; Routine: NmiHandler_Loop714 +; Global: Branch target inside NmiHandler: taken when Loop714. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop480: - bne NmiHandler_Loop485 ; CPU:$F9D7 PRG:79D7 D0 37 +NmiHandler_Loop714: + bne NmiHandler_Loop719 ; CPU:$F9D7 PRG:79D7 D0 37 ; ----------------------------------------------------------------------------- ; Routine: Sub_F9D9 ; Global: Branch target inside Sub: taken when F9D9. @@ -14012,128 +19139,128 @@ NmiHandler_Loop480: ; ----------------------------------------------------------------------------- Sub_F9D9: ldy ZpFC ; CPU:$F9D9 PRG:79D9 A4 FC - beq NmiHandler_Loop481 ; CPU:$F9DB PRG:79DB F0 13 + beq NmiHandler_Loop715 ; CPU:$F9DB PRG:79DB F0 13 sty $07D8 ; CPU:$F9DD PRG:79DD 8C D8 07 lsr ZpFC ; CPU:$F9E0 PRG:79E0 46 FC bcs NmiHandler_OnCarrySet13 ; CPU:$F9E2 PRG:79E2 B0 D5 lsr ZpFC ; CPU:$F9E4 PRG:79E4 46 FC bcs NmiHandler_OnCarrySet15 ; CPU:$F9E6 PRG:79E6 B0 E1 lsr ZpFC ; CPU:$F9E8 PRG:79E8 46 FC - bcs NmiHandler_Loop483 ; CPU:$F9EA PRG:79EA B0 16 + bcs NmiHandler_Loop717 ; CPU:$F9EA PRG:79EA B0 16 lsr ZpFC ; CPU:$F9EC PRG:79EC 46 FC - bcs NmiHandler_Loop486 ; CPU:$F9EE PRG:79EE B0 22 + bcs NmiHandler_Loop720 ; CPU:$F9EE PRG:79EE B0 22 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop481 -; Global: Branch target inside NmiHandler: taken when Loop481. +; Routine: NmiHandler_Loop715 +; Global: Branch target inside NmiHandler: taken when Loop715. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop481: +NmiHandler_Loop715: lda $07D8 ; CPU:$F9F0 PRG:79F0 AD D8 07 - beq NmiHandler_Loop482 ; CPU:$F9F3 PRG:79F3 F0 0C + beq NmiHandler_Loop716 ; CPU:$F9F3 PRG:79F3 F0 0C lsr a ; CPU:$F9F5 PRG:79F5 4A bcs NmiHandler_OnCarrySet14 ; CPU:$F9F6 PRG:79F6 B0 C6 lsr a ; CPU:$F9F8 PRG:79F8 4A bcs NmiHandler_OnCarrySet16 ; CPU:$F9F9 PRG:79F9 B0 D3 lsr a ; CPU:$F9FB PRG:79FB 4A - bcs NmiHandler_Loop484 ; CPU:$F9FC PRG:79FC B0 09 + bcs NmiHandler_Loop718 ; CPU:$F9FC PRG:79FC B0 09 lsr a ; CPU:$F9FE PRG:79FE 4A - bcs NmiHandler_Loop488 ; CPU:$F9FF PRG:79FF B0 25 + bcs NmiHandler_Loop722 ; CPU:$F9FF PRG:79FF B0 25 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop482 -; Global: Branch target inside NmiHandler: taken when Loop482. +; Routine: NmiHandler_Loop716 +; Global: Branch target inside NmiHandler: taken when Loop716. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop482: +NmiHandler_Loop716: rts ; CPU:$FA01 PRG:7A01 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop483 -; Global: Branch target inside NmiHandler: taken when Loop483. +; Routine: NmiHandler_Loop717 +; Global: Branch target inside NmiHandler: taken when Loop717. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop483: +NmiHandler_Loop717: lda #$05 ; CPU:$FA02 PRG:7A02 A9 05 sta $07E9 ; CPU:$FA04 PRG:7A04 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop484 -; Global: Branch target inside NmiHandler: taken when Loop484. +; Routine: NmiHandler_Loop718 +; Global: Branch target inside NmiHandler: taken when Loop718. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop484: +NmiHandler_Loop718: ldy $07E9 ; CPU:$FA07 PRG:7A07 AC E9 07 ldx $F9B3,y ; CPU:$FA0A PRG:7A0A BE B3 F9 lda $F9AE,y ; CPU:$FA0D PRG:7A0D B9 AE F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop485 -; Global: Branch target inside NmiHandler: taken when Loop485. +; Routine: NmiHandler_Loop719 +; Global: Branch target inside NmiHandler: taken when Loop719. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop485: - bne NmiHandler_Loop487 ; CPU:$FA10 PRG:7A10 D0 09 +NmiHandler_Loop719: + bne NmiHandler_Loop721 ; CPU:$FA10 PRG:7A10 D0 09 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop486 -; Global: Branch target inside NmiHandler: taken when Loop486. +; Routine: NmiHandler_Loop720 +; Global: Branch target inside NmiHandler: taken when Loop720. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop486: +NmiHandler_Loop720: lda #$03 ; CPU:$FA12 PRG:7A12 A9 03 sta $07E9 ; CPU:$FA14 PRG:7A14 8D E9 07 ldx #$0C ; CPU:$FA17 PRG:7A17 A2 0C lda #$3F ; CPU:$FA19 PRG:7A19 A9 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop487 -; Global: Branch target inside NmiHandler: taken when Loop487. +; Routine: NmiHandler_Loop721 +; Global: Branch target inside NmiHandler: taken when Loop721. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop487: +NmiHandler_Loop721: sta APUNOISECTRL ; CPU:$FA1B PRG:7A1B 8D 0C 40 stx APUNOISEPERIOD ; CPU:$FA1E PRG:7A1E 8E 0E 40 lda #$18 ; CPU:$FA21 PRG:7A21 A9 18 sta APUNOISELENGTH ; CPU:$FA23 PRG:7A23 8D 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop488 -; Global: Branch target inside NmiHandler: taken when Loop488. +; Routine: NmiHandler_Loop722 +; Global: Branch target inside NmiHandler: taken when Loop722. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop488: +NmiHandler_Loop722: dec $07E9 ; CPU:$FA26 PRG:7A26 CE E9 07 - bne NmiHandler_Loop489 ; CPU:$FA29 PRG:7A29 D0 0A + bne NmiHandler_Loop723 ; CPU:$FA29 PRG:7A29 D0 0A lda #$F0 ; CPU:$FA2B PRG:7A2B A9 F0 sta APUNOISECTRL ; CPU:$FA2D PRG:7A2D 8D 0C 40 lda #$00 ; CPU:$FA30 PRG:7A30 A9 00 sta $07D8 ; CPU:$FA32 PRG:7A32 8D D8 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop489 -; Global: Branch target inside NmiHandler: taken when Loop489. +; Routine: NmiHandler_Loop723 +; Global: Branch target inside NmiHandler: taken when Loop723. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop489: +NmiHandler_Loop723: rts ; CPU:$FA35 PRG:7A35 60 ; ---- data $FA36-$FA89 (84 bytes) ---- ; referenced by `lda $FA43,y` at $FAAF (operand $FA43 falls inside this region) @@ -14143,7 +19270,8 @@ NmiHandler_Loop489: ; referenced by `lda $FA4A,y` at $FAC7 (operand $FA4A falls inside this region) ; referenced by `lda $FA6D,y` at $FACD (operand $FA6D falls inside this region) ; ... and 5 further references from decoded code - .byte $09, $08, $09, $08, $07, $06, $05, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0A, $0E ; CPU:$FA36 PRG:7A36 09 08 09 08 07 06 05 0C 0C 0D 0D 0D 0D 0D 0A 0E +EnemyMovementDeltaTable: + .byte $09, $08, $09, $08, $07, $06, $05, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0A, $0E ; CPU:$FA36 PRG:3A36 09 08 09 08 07 06 05 0C 0C 0D 0D 0D 0D 0D 0A 0E .byte $0F, $11, $11, $14, $17, $08, $08, $08, $09, $08, $07, $05, $0B, $0B, $0B, $0C ; CPU:$FA46 PRG:7A46 0F 11 11 14 17 08 08 08 09 08 07 05 0B 0B 0B 0C .byte $0C, $0C, $0D, $0D, $0E, $0F, $12, $13, $14, $15, $09, $08, $09, $08, $07, $06 ; CPU:$FA56 PRG:7A56 0C 0C 0D 0D 0E 0F 12 13 14 15 09 08 09 08 07 06 .byte $05, $0B, $0B, $0C, $0C, $0C, $0C, $0C, $0E, $10, $11, $13, $13, $16, $19, $09 ; CPU:$FA66 PRG:7A66 05 0B 0B 0C 0C 0C 0C 0C 0E 10 11 13 13 16 19 09 @@ -14159,197 +19287,197 @@ NmiHandler_Loop489: ; ----------------------------------------------------------------------------- Sub_FA8A: lda $07D9 ; CPU:$FA8A PRG:7A8A AD D9 07 - beq NmiHandler_Loop496 ; CPU:$FA8D PRG:7A8D F0 67 + beq NmiHandler_Loop730 ; CPU:$FA8D PRG:7A8D F0 67 cmp #$08 ; CPU:$FA8F PRG:7A8F C9 08 - beq NmiHandler_Loop493 ; CPU:$FA91 PRG:7A91 F0 58 + beq NmiHandler_Loop727 ; CPU:$FA91 PRG:7A91 F0 58 dec $07DA ; CPU:$FA93 PRG:7A93 CE DA 07 - bne NmiHandler_Loop495 ; CPU:$FA96 PRG:7A96 D0 5D + bne NmiHandler_Loop729 ; CPU:$FA96 PRG:7A96 D0 5D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero47 -; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero47: +NmiHandler_OnNonzero62: dec $07EB ; CPU:$FA98 PRG:7A98 CE EB 07 - beq NmiHandler_Loop494 ; CPU:$FA9B PRG:7A9B F0 53 + beq NmiHandler_Loop728 ; CPU:$FA9B PRG:7A9B F0 53 ldy $07EB ; CPU:$FA9D PRG:7A9D AC EB 07 lda $07D9 ; CPU:$FAA0 PRG:7AA0 AD D9 07 cmp #$80 ; CPU:$FAA3 PRG:7AA3 C9 80 - beq NmiHandler_Loop492 ; CPU:$FAA5 PRG:7AA5 F0 35 + beq NmiHandler_Loop726 ; CPU:$FAA5 PRG:7AA5 F0 35 cmp #$40 ; CPU:$FAA7 PRG:7AA7 C9 40 - beq NmiHandler_Loop491 ; CPU:$FAA9 PRG:7AA9 F0 22 + beq NmiHandler_Loop725 ; CPU:$FAA9 PRG:7AA9 F0 22 cmp #$20 ; CPU:$FAAB PRG:7AAB C9 20 - beq NmiHandler_Loop490 ; CPU:$FAAD PRG:7AAD F0 0F + beq NmiHandler_Loop724 ; CPU:$FAAD PRG:7AAD F0 0F lda $FA43,y ; CPU:$FAAF PRG:7AAF B9 43 FA sta $07DA ; CPU:$FAB2 PRG:7AB2 8D DA 07 ldx $FA3C,y ; CPU:$FAB5 PRG:7AB5 BE 3C FA lda $FA35,y ; CPU:$FAB8 PRG:7AB8 B9 35 FA tay ; CPU:$FABB PRG:7ABB A8 - bne NmiHandler_Loop501 ; CPU:$FABC PRG:7ABC D0 64 + bne NmiHandler_Loop735 ; CPU:$FABC PRG:7ABC D0 64 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop490 -; Global: Branch target inside NmiHandler: taken when Loop490. +; Routine: NmiHandler_Loop724 +; Global: Branch target inside NmiHandler: taken when Loop724. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop490: +NmiHandler_Loop724: lda $FA58,y ; CPU:$FABE PRG:7ABE B9 58 FA sta $07DA ; CPU:$FAC1 PRG:7AC1 8D DA 07 ldx $FA51,y ; CPU:$FAC4 PRG:7AC4 BE 51 FA lda $FA4A,y ; CPU:$FAC7 PRG:7AC7 B9 4A FA tay ; CPU:$FACA PRG:7ACA A8 - bne NmiHandler_Loop501 ; CPU:$FACB PRG:7ACB D0 55 + bne NmiHandler_Loop735 ; CPU:$FACB PRG:7ACB D0 55 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop491 -; Global: Branch target inside NmiHandler: taken when Loop491. +; Routine: NmiHandler_Loop725 +; Global: Branch target inside NmiHandler: taken when Loop725. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop491: +NmiHandler_Loop725: lda $FA6D,y ; CPU:$FACD PRG:7ACD B9 6D FA sta $07DA ; CPU:$FAD0 PRG:7AD0 8D DA 07 ldx $FA66,y ; CPU:$FAD3 PRG:7AD3 BE 66 FA lda $FA5F,y ; CPU:$FAD6 PRG:7AD6 B9 5F FA tay ; CPU:$FAD9 PRG:7AD9 A8 - bne NmiHandler_Loop501 ; CPU:$FADA PRG:7ADA D0 46 + bne NmiHandler_Loop735 ; CPU:$FADA PRG:7ADA D0 46 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop492 -; Global: Branch target inside NmiHandler: taken when Loop492. +; Routine: NmiHandler_Loop726 +; Global: Branch target inside NmiHandler: taken when Loop726. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop492: +NmiHandler_Loop726: lda $FA82,y ; CPU:$FADC PRG:7ADC B9 82 FA sta $07DA ; CPU:$FADF PRG:7ADF 8D DA 07 ldx $FA7B,y ; CPU:$FAE2 PRG:7AE2 BE 7B FA lda $FA74,y ; CPU:$FAE5 PRG:7AE5 B9 74 FA tay ; CPU:$FAE8 PRG:7AE8 A8 - bne NmiHandler_Loop501 ; CPU:$FAE9 PRG:7AE9 D0 37 + bne NmiHandler_Loop735 ; CPU:$FAE9 PRG:7AE9 D0 37 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop493 -; Global: Branch target inside NmiHandler: taken when Loop493. +; Routine: NmiHandler_Loop727 +; Global: Branch target inside NmiHandler: taken when Loop727. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop493: +NmiHandler_Loop727: dec $07DA ; CPU:$FAEB PRG:7AEB CE DA 07 - bne NmiHandler_Loop495 ; CPU:$FAEE PRG:7AEE D0 05 + bne NmiHandler_Loop729 ; CPU:$FAEE PRG:7AEE D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop494 -; Global: Branch target inside NmiHandler: taken when Loop494. +; Routine: NmiHandler_Loop728 +; Global: Branch target inside NmiHandler: taken when Loop728. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop494: +NmiHandler_Loop728: lda #$00 ; CPU:$FAF0 PRG:7AF0 A9 00 sta $07D9 ; CPU:$FAF2 PRG:7AF2 8D D9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop495 -; Global: Branch target inside NmiHandler: taken when Loop495. +; Routine: NmiHandler_Loop729 +; Global: Branch target inside NmiHandler: taken when Loop729. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop495: +NmiHandler_Loop729: rts ; CPU:$FAF5 PRG:7AF5 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop496 -; Global: Branch target inside NmiHandler: taken when Loop496. +; Routine: NmiHandler_Loop730 +; Global: Branch target inside NmiHandler: taken when Loop730. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop496: +NmiHandler_Loop730: lda ZpFD ; CPU:$FAF6 PRG:7AF6 A5 FD - beq NmiHandler_Loop502 ; CPU:$FAF8 PRG:7AF8 F0 41 + beq NmiHandler_Loop736 ; CPU:$FAF8 PRG:7AF8 F0 41 cmp #$20 ; CPU:$FAFA PRG:7AFA C9 20 - bne NmiHandler_Loop497 ; CPU:$FAFC PRG:7AFC D0 04 + bne NmiHandler_Loop731 ; CPU:$FAFC PRG:7AFC D0 04 ldy #$0A ; CPU:$FAFE PRG:7AFE A0 0A - bne NmiHandler_Loop500 ; CPU:$FB00 PRG:7B00 D0 1E + bne NmiHandler_Loop734 ; CPU:$FB00 PRG:7B00 D0 1E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop497 -; Global: Branch target inside NmiHandler: taken when Loop497. +; Routine: NmiHandler_Loop731 +; Global: Branch target inside NmiHandler: taken when Loop731. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop497: +NmiHandler_Loop731: cmp #$08 ; CPU:$FB02 PRG:7B02 C9 08 - beq NmiHandler_Loop498 ; CPU:$FB04 PRG:7B04 F0 0C - bcc NmiHandler_Loop499 ; CPU:$FB06 PRG:7B06 90 12 + beq NmiHandler_Loop732 ; CPU:$FB04 PRG:7B04 F0 0C + bcc NmiHandler_Loop733 ; CPU:$FB06 PRG:7B06 90 12 sta $07D9 ; CPU:$FB08 PRG:7B08 8D D9 07 ldx #$08 ; CPU:$FB0B PRG:7B0B A2 08 stx $07EB ; CPU:$FB0D PRG:7B0D 8E EB 07 - bne NmiHandler_OnNonzero47 ; CPU:$FB10 PRG:7B10 D0 86 + bne NmiHandler_OnNonzero62 ; CPU:$FB10 PRG:7B10 D0 86 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop498 -; Global: Branch target inside NmiHandler: taken when Loop498. +; Routine: NmiHandler_Loop732 +; Global: Branch target inside NmiHandler: taken when Loop732. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop498: +NmiHandler_Loop732: sta $07D9 ; CPU:$FB12 PRG:7B12 8D D9 07 ldx #$3A ; CPU:$FB15 PRG:7B15 A2 3A stx $07DA ; CPU:$FB17 PRG:7B17 8E DA 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop499 -; Global: Branch target inside NmiHandler: taken when Loop499. +; Routine: NmiHandler_Loop733 +; Global: Branch target inside NmiHandler: taken when Loop733. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop499: +NmiHandler_Loop733: ldy #$00 ; CPU:$FB1A PRG:7B1A A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear6 -; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Routine: NmiHandler_OnCarryClear8 +; Global: Branch target inside NmiHandler: taken when OnCarryClear8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear6: +NmiHandler_OnCarryClear8: iny ; CPU:$FB1C PRG:7B1C C8 lsr a ; CPU:$FB1D PRG:7B1D 4A - bcc NmiHandler_OnCarryClear6 ; CPU:$FB1E PRG:7B1E 90 FC + bcc NmiHandler_OnCarryClear8 ; CPU:$FB1E PRG:7B1E 90 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop500 -; Global: Branch target inside NmiHandler: taken when Loop500. +; Routine: NmiHandler_Loop734 +; Global: Branch target inside NmiHandler: taken when Loop734. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop500: +NmiHandler_Loop734: ldx #$0F ; CPU:$FB20 PRG:7B20 A2 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop501 -; Global: Branch target inside NmiHandler: taken when Loop501. +; Routine: NmiHandler_Loop735 +; Global: Branch target inside NmiHandler: taken when Loop735. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop501: +NmiHandler_Loop735: stx APUDMCCTRL ; CPU:$FB22 PRG:7B22 8E 10 40 lda $FFE2,y ; CPU:$FB25 PRG:7B25 B9 E2 FF sta APUDMCADDR ; CPU:$FB28 PRG:7B28 8D 12 40 @@ -14360,14 +19488,14 @@ NmiHandler_Loop501: lda #$1F ; CPU:$FB36 PRG:7B36 A9 1F sta APUSTATUS ; CPU:$FB38 PRG:7B38 8D 15 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop502 -; Global: Branch target inside NmiHandler: taken when Loop502. +; Routine: NmiHandler_Loop736 +; Global: Branch target inside NmiHandler: taken when Loop736. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop502: +NmiHandler_Loop736: rts ; CPU:$FB3B PRG:7B3B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FB3C @@ -14379,94 +19507,94 @@ NmiHandler_Loop502: ; ----------------------------------------------------------------------------- Sub_FB3C: lda ZpFB ; CPU:$FB3C PRG:7B3C A5 FB - bne NmiHandler_Loop503 ; CPU:$FB3E PRG:7B3E D0 05 + bne NmiHandler_Loop737 ; CPU:$FB3E PRG:7B3E D0 05 lda ZpF5 ; CPU:$FB40 PRG:7B40 A5 F5 - bne NmiHandler_Loop507 ; CPU:$FB42 PRG:7B42 D0 61 + bne NmiHandler_Loop741 ; CPU:$FB42 PRG:7B42 D0 61 rts ; CPU:$FB44 PRG:7B44 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop503 -; Global: Branch target inside NmiHandler: taken when Loop503. +; Routine: NmiHandler_Loop737 +; Global: Branch target inside NmiHandler: taken when Loop737. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop503: +NmiHandler_Loop737: cmp #$40 ; CPU:$FB45 PRG:7B45 C9 40 - bne NmiHandler_Loop504 ; CPU:$FB47 PRG:7B47 D0 04 + bne NmiHandler_Loop738 ; CPU:$FB47 PRG:7B47 D0 04 ldy ZpF5 ; CPU:$FB49 PRG:7B49 A4 F5 sty ZpF3 ; CPU:$FB4B PRG:7B4B 84 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop504 -; Global: Branch target inside NmiHandler: taken when Loop504. +; Routine: NmiHandler_Loop738 +; Global: Branch target inside NmiHandler: taken when Loop738. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop504: +NmiHandler_Loop738: cmp #$01 ; CPU:$FB4D PRG:7B4D C9 01 - bne NmiHandler_OnNonzero48 ; CPU:$FB4F PRG:7B4F D0 05 + bne NmiHandler_OnNonzero63 ; CPU:$FB4F PRG:7B4F D0 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero15 -; Global: Branch target inside NmiHandler: taken when OnZero15. +; Routine: NmiHandler_OnZero19 +; Global: Branch target inside NmiHandler: taken when OnZero19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero15: +NmiHandler_OnZero19: ldy #$08 ; CPU:$FB51 PRG:7B51 A0 08 sty $07E8 ; CPU:$FB53 PRG:7B53 8C E8 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero48 -; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero48: +NmiHandler_OnNonzero63: sta ZpF5 ; CPU:$FB56 PRG:7B56 85 F5 cmp #$01 ; CPU:$FB58 PRG:7B58 C9 01 - bne NmiHandler_Loop505 ; CPU:$FB5A PRG:7B5A D0 0C + bne NmiHandler_Loop739 ; CPU:$FB5A PRG:7B5A D0 0C inc $07E8 ; CPU:$FB5C PRG:7B5C EE E8 07 ldy $07E8 ; CPU:$FB5F PRG:7B5F AC E8 07 cpy #$13 ; CPU:$FB62 PRG:7B62 C0 13 - bne NmiHandler_Loop506 ; CPU:$FB64 PRG:7B64 D0 0A - beq NmiHandler_OnZero15 ; CPU:$FB66 PRG:7B66 F0 E9 + bne NmiHandler_Loop740 ; CPU:$FB64 PRG:7B64 D0 0A + beq NmiHandler_OnZero19 ; CPU:$FB66 PRG:7B66 F0 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop505 -; Global: Branch target inside NmiHandler: taken when Loop505. +; Routine: NmiHandler_Loop739 +; Global: Branch target inside NmiHandler: taken when Loop739. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop505: +NmiHandler_Loop739: ldy #$00 ; CPU:$FB68 PRG:7B68 A0 00 sty ZpF0 ; CPU:$FB6A PRG:7B6A 84 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear7 -; Global: Branch target inside NmiHandler: taken when OnCarryClear7. +; Routine: NmiHandler_OnCarryClear9 +; Global: Branch target inside NmiHandler: taken when OnCarryClear9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear7: +NmiHandler_OnCarryClear9: iny ; CPU:$FB6C PRG:7B6C C8 lsr a ; CPU:$FB6D PRG:7B6D 4A - bcc NmiHandler_OnCarryClear7 ; CPU:$FB6E PRG:7B6E 90 FC + bcc NmiHandler_OnCarryClear9 ; CPU:$FB6E PRG:7B6E 90 FC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop506 -; Global: Branch target inside NmiHandler: taken when Loop506. +; Routine: NmiHandler_Loop740 +; Global: Branch target inside NmiHandler: taken when Loop740. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop506: +NmiHandler_Loop740: lda $FCE8,y ; CPU:$FB70 PRG:7B70 B9 E8 FC tay ; CPU:$FB73 PRG:7B73 A8 lda $FCE9,y ; CPU:$FB74 PRG:7B74 B9 E9 FC @@ -14489,46 +19617,46 @@ NmiHandler_Loop506: lda #$00 ; CPU:$FBA1 PRG:7BA1 A9 00 sta ZpF0 ; CPU:$FBA3 PRG:7BA3 85 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop507 -; Global: Branch target inside NmiHandler: taken when Loop507. +; Routine: NmiHandler_Loop741 +; Global: Branch target inside NmiHandler: taken when Loop741. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop507: +NmiHandler_Loop741: dec $07C2 ; CPU:$FBA5 PRG:7BA5 CE C2 07 - bne NmiHandler_Loop516 ; CPU:$FBA8 PRG:7BA8 D0 5F + bne NmiHandler_Loop750 ; CPU:$FBA8 PRG:7BA8 D0 5F ldy ZpF0 ; CPU:$FBAA PRG:7BAA A4 F0 inc ZpF0 ; CPU:$FBAC PRG:7BAC E6 F0 lda (ZpF9),y ; CPU:$FBAE PRG:7BAE B1 F9 - beq NmiHandler_Loop508 ; CPU:$FBB0 PRG:7BB0 F0 04 - bpl NmiHandler_Loop511 ; CPU:$FBB2 PRG:7BB2 10 28 - bne NmiHandler_Loop510 ; CPU:$FBB4 PRG:7BB4 D0 1A + beq NmiHandler_Loop742 ; CPU:$FBB0 PRG:7BB0 F0 04 + bpl NmiHandler_Loop745 ; CPU:$FBB2 PRG:7BB2 10 28 + bne NmiHandler_Loop744 ; CPU:$FBB4 PRG:7BB4 D0 1A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop508 -; Global: Branch target inside NmiHandler: taken when Loop508. +; Routine: NmiHandler_Loop742 +; Global: Branch target inside NmiHandler: taken when Loop742. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop508: +NmiHandler_Loop742: lda ZpF5 ; CPU:$FBB6 PRG:7BB6 A5 F5 cmp #$80 ; CPU:$FBB8 PRG:7BB8 C9 80 - bne NmiHandler_Loop509 ; CPU:$FBBA PRG:7BBA D0 02 + bne NmiHandler_Loop743 ; CPU:$FBBA PRG:7BBA D0 02 lda ZpF3 ; CPU:$FBBC PRG:7BBC A5 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop509 -; Global: Branch target inside NmiHandler: taken when Loop509. +; Routine: NmiHandler_Loop743 +; Global: Branch target inside NmiHandler: taken when Loop743. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop509: +NmiHandler_Loop743: and #$03 ; CPU:$FBBE PRG:7BBE 29 03 - bne NmiHandler_OnNonzero48 ; CPU:$FBC0 PRG:7BC0 D0 94 + bne NmiHandler_OnNonzero63 ; CPU:$FBC0 PRG:7BC0 D0 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_FBC2 ; Global: Branch target inside Sub: taken when FBC2. @@ -14545,215 +19673,215 @@ Sub_FBC2: sta APUPULSE2CTRL ; CPU:$FBCC PRG:7BCC 8D 04 40 rts ; CPU:$FBCF PRG:7BCF 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop510 -; Global: Branch target inside NmiHandler: taken when Loop510. +; Routine: NmiHandler_Loop744 +; Global: Branch target inside NmiHandler: taken when Loop744. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop510: +NmiHandler_Loop744: jsr Sub_FCDF ; CPU:$FBD0 PRG:7BD0 20 DF FC sta $07C0 ; CPU:$FBD3 PRG:7BD3 8D C0 07 ldy ZpF0 ; CPU:$FBD6 PRG:7BD6 A4 F0 inc ZpF0 ; CPU:$FBD8 PRG:7BD8 E6 F0 lda (ZpF9),y ; CPU:$FBDA PRG:7BDA B1 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop511 -; Global: Branch target inside NmiHandler: taken when Loop511. +; Routine: NmiHandler_Loop745 +; Global: Branch target inside NmiHandler: taken when Loop745. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop511: +NmiHandler_Loop745: ldx ZpF2 ; CPU:$FBDC PRG:7BDC A6 F2 - bne NmiHandler_Loop515 ; CPU:$FBDE PRG:7BDE D0 23 + bne NmiHandler_Loop749 ; CPU:$FBDE PRG:7BDE D0 23 jsr Sub_F879 ; CPU:$FBE0 PRG:7BE0 20 79 F8 tay ; CPU:$FBE3 PRG:7BE3 A8 - beq NmiHandler_Loop512 ; CPU:$FBE4 PRG:7BE4 F0 02 + beq NmiHandler_Loop746 ; CPU:$FBE4 PRG:7BE4 F0 02 ldy #$0F ; CPU:$FBE6 PRG:7BE6 A0 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop512 -; Global: Branch target inside NmiHandler: taken when Loop512. +; Routine: NmiHandler_Loop746 +; Global: Branch target inside NmiHandler: taken when Loop746. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop512: +NmiHandler_Loop746: sty $07DF ; CPU:$FBE8 PRG:7BE8 8C DF 07 ldx #$86 ; CPU:$FBEB PRG:7BEB A2 86 lda $07C2 ; CPU:$FBED PRG:7BED AD C2 07 cmp #$10 ; CPU:$FBF0 PRG:7BF0 C9 10 - bcs NmiHandler_Loop513 ; CPU:$FBF2 PRG:7BF2 B0 02 + bcs NmiHandler_Loop747 ; CPU:$FBF2 PRG:7BF2 B0 02 ldx #$84 ; CPU:$FBF4 PRG:7BF4 A2 84 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop513 -; Global: Branch target inside NmiHandler: taken when Loop513. +; Routine: NmiHandler_Loop747 +; Global: Branch target inside NmiHandler: taken when Loop747. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop513: +NmiHandler_Loop747: lda ZpF5 ; CPU:$FBF6 PRG:7BF6 A5 F5 cmp #$20 ; CPU:$FBF8 PRG:7BF8 C9 20 - bne NmiHandler_Loop514 ; CPU:$FBFA PRG:7BFA D0 02 + bne NmiHandler_Loop748 ; CPU:$FBFA PRG:7BFA D0 02 ldx #$87 ; CPU:$FBFC PRG:7BFC A2 87 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop514 -; Global: Branch target inside NmiHandler: taken when Loop514. +; Routine: NmiHandler_Loop748 +; Global: Branch target inside NmiHandler: taken when Loop748. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop514: +NmiHandler_Loop748: ldy #$7F ; CPU:$FBFE PRG:7BFE A0 7F jsr Sub_F86C ; CPU:$FC00 PRG:7C00 20 6C F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop515 -; Global: Branch target inside NmiHandler: taken when Loop515. +; Routine: NmiHandler_Loop749 +; Global: Branch target inside NmiHandler: taken when Loop749. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop515: +NmiHandler_Loop749: lda $07C0 ; CPU:$FC03 PRG:7C03 AD C0 07 sta $07C2 ; CPU:$FC06 PRG:7C06 8D C2 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop516 -; Global: Branch target inside NmiHandler: taken when Loop516. +; Routine: NmiHandler_Loop750 +; Global: Branch target inside NmiHandler: taken when Loop750. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop516: +NmiHandler_Loop750: lda ZpF2 ; CPU:$FC09 PRG:7C09 A5 F2 - bne NmiHandler_Loop518 ; CPU:$FC0B PRG:7C0B D0 14 + bne NmiHandler_Loop752 ; CPU:$FC0B PRG:7C0B D0 14 lda ZpF5 ; CPU:$FC0D PRG:7C0D A5 F5 and #$03 ; CPU:$FC0F PRG:7C0F 29 03 - beq NmiHandler_Loop518 ; CPU:$FC11 PRG:7C11 F0 0E + beq NmiHandler_Loop752 ; CPU:$FC11 PRG:7C11 F0 0E ldy $07DF ; CPU:$FC13 PRG:7C13 AC DF 07 - beq NmiHandler_Loop517 ; CPU:$FC16 PRG:7C16 F0 03 + beq NmiHandler_Loop751 ; CPU:$FC16 PRG:7C16 F0 03 dec $07DF ; CPU:$FC18 PRG:7C18 CE DF 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop517 -; Global: Branch target inside NmiHandler: taken when Loop517. +; Routine: NmiHandler_Loop751 +; Global: Branch target inside NmiHandler: taken when Loop751. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop517: +NmiHandler_Loop751: lda $FF7E,y ; CPU:$FC1B PRG:7C1B B9 7E FF sta APUPULSE2CTRL ; CPU:$FC1E PRG:7C1E 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop518 -; Global: Branch target inside NmiHandler: taken when Loop518. +; Routine: NmiHandler_Loop752 +; Global: Branch target inside NmiHandler: taken when Loop752. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop518: +NmiHandler_Loop752: ldy ZpF4 ; CPU:$FC21 PRG:7C21 A4 F4 - beq NmiHandler_Loop524 ; CPU:$FC23 PRG:7C23 F0 43 + beq NmiHandler_Loop758 ; CPU:$FC23 PRG:7C23 F0 43 dec $07C6 ; CPU:$FC25 PRG:7C25 CE C6 07 - bne NmiHandler_Loop522 ; CPU:$FC28 PRG:7C28 D0 2A + bne NmiHandler_Loop756 ; CPU:$FC28 PRG:7C28 D0 2A ldy ZpF4 ; CPU:$FC2A PRG:7C2A A4 F4 inc ZpF4 ; CPU:$FC2C PRG:7C2C E6 F4 lda (ZpF9),y ; CPU:$FC2E PRG:7C2E B1 F9 - bne NmiHandler_Loop519 ; CPU:$FC30 PRG:7C30 D0 04 + bne NmiHandler_Loop753 ; CPU:$FC30 PRG:7C30 D0 04 ldx #$10 ; CPU:$FC32 PRG:7C32 A2 10 - bne NmiHandler_Loop521 ; CPU:$FC34 PRG:7C34 D0 16 + bne NmiHandler_Loop755 ; CPU:$FC34 PRG:7C34 D0 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop519 -; Global: Branch target inside NmiHandler: taken when Loop519. +; Routine: NmiHandler_Loop753 +; Global: Branch target inside NmiHandler: taken when Loop753. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop519: +NmiHandler_Loop753: jsr Sub_FCD9 ; CPU:$FC36 PRG:7C36 20 D9 FC sta $07C6 ; CPU:$FC39 PRG:7C39 8D C6 07 txa ; CPU:$FC3C PRG:7C3C 8A and #$3E ; CPU:$FC3D PRG:7C3D 29 3E jsr Sub_F858 ; CPU:$FC3F PRG:7C3F 20 58 F8 tay ; CPU:$FC42 PRG:7C42 A8 - beq NmiHandler_Loop520 ; CPU:$FC43 PRG:7C43 F0 02 + beq NmiHandler_Loop754 ; CPU:$FC43 PRG:7C43 F0 02 ldy #$3F ; CPU:$FC45 PRG:7C45 A0 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop520 -; Global: Branch target inside NmiHandler: taken when Loop520. +; Routine: NmiHandler_Loop754 +; Global: Branch target inside NmiHandler: taken when Loop754. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop520: +NmiHandler_Loop754: sty $07C3 ; CPU:$FC47 PRG:7C47 8C C3 07 ldx #$06 ; CPU:$FC4A PRG:7C4A A2 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop521 -; Global: Branch target inside NmiHandler: taken when Loop521. +; Routine: NmiHandler_Loop755 +; Global: Branch target inside NmiHandler: taken when Loop755. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop521: +NmiHandler_Loop755: ldy #$7F ; CPU:$FC4C PRG:7C4C A0 7F sty APUPULSE1SWEEP ; CPU:$FC4E PRG:7C4E 8C 01 40 stx APUPULSE1CTRL ; CPU:$FC51 PRG:7C51 8E 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop522 -; Global: Branch target inside NmiHandler: taken when Loop522. +; Routine: NmiHandler_Loop756 +; Global: Branch target inside NmiHandler: taken when Loop756. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop522: +NmiHandler_Loop756: lda ZpF5 ; CPU:$FC54 PRG:7C54 A5 F5 and #$20 ; CPU:$FC56 PRG:7C56 29 20 - beq NmiHandler_Loop524 ; CPU:$FC58 PRG:7C58 F0 0E + beq NmiHandler_Loop758 ; CPU:$FC58 PRG:7C58 F0 0E ldy $07C3 ; CPU:$FC5A PRG:7C5A AC C3 07 - beq NmiHandler_Loop523 ; CPU:$FC5D PRG:7C5D F0 03 + beq NmiHandler_Loop757 ; CPU:$FC5D PRG:7C5D F0 03 dec $07C3 ; CPU:$FC5F PRG:7C5F CE C3 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop523 -; Global: Branch target inside NmiHandler: taken when Loop523. +; Routine: NmiHandler_Loop757 +; Global: Branch target inside NmiHandler: taken when Loop757. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop523: +NmiHandler_Loop757: lda $FF8E,y ; CPU:$FC62 PRG:7C62 B9 8E FF sta APUPULSE1CTRL ; CPU:$FC65 PRG:7C65 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop524 -; Global: Branch target inside NmiHandler: taken when Loop524. +; Routine: NmiHandler_Loop758 +; Global: Branch target inside NmiHandler: taken when Loop758. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop524: +NmiHandler_Loop758: lda ZpF8 ; CPU:$FC68 PRG:7C68 A5 F8 - beq NmiHandler_Loop527 ; CPU:$FC6A PRG:7C6A F0 3C + beq NmiHandler_Loop761 ; CPU:$FC6A PRG:7C6A F0 3C dec $07CA ; CPU:$FC6C PRG:7C6C CE CA 07 - bne NmiHandler_Loop528 ; CPU:$FC6F PRG:7C6F D0 3A + bne NmiHandler_Loop762 ; CPU:$FC6F PRG:7C6F D0 3A ldy ZpF8 ; CPU:$FC71 PRG:7C71 A4 F8 inc ZpF8 ; CPU:$FC73 PRG:7C73 E6 F8 lda (ZpF9),y ; CPU:$FC75 PRG:7C75 B1 F9 - beq NmiHandler_Loop527 ; CPU:$FC77 PRG:7C77 F0 2F - bpl NmiHandler_Loop526 ; CPU:$FC79 PRG:7C79 10 1C + beq NmiHandler_Loop761 ; CPU:$FC77 PRG:7C77 F0 2F + bpl NmiHandler_Loop760 ; CPU:$FC79 PRG:7C79 10 1C jsr Sub_FCDF ; CPU:$FC7B PRG:7C7B 20 DF FC sta $07C8 ; CPU:$FC7E PRG:7C7E 8D C8 07 clc ; CPU:$FC81 PRG:7C81 18 @@ -14761,62 +19889,62 @@ NmiHandler_Loop524: asl a ; CPU:$FC84 PRG:7C84 0A asl a ; CPU:$FC85 PRG:7C85 0A cmp #$38 ; CPU:$FC86 PRG:7C86 C9 38 - bcc NmiHandler_Loop525 ; CPU:$FC88 PRG:7C88 90 02 + bcc NmiHandler_Loop759 ; CPU:$FC88 PRG:7C88 90 02 lda #$7F ; CPU:$FC8A PRG:7C8A A9 7F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop525 -; Global: Branch target inside NmiHandler: taken when Loop525. +; Routine: NmiHandler_Loop759 +; Global: Branch target inside NmiHandler: taken when Loop759. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop525: +NmiHandler_Loop759: sta APUTRIANGLECTRL ; CPU:$FC8C PRG:7C8C 8D 08 40 ldy ZpF8 ; CPU:$FC8F PRG:7C8F A4 F8 inc ZpF8 ; CPU:$FC91 PRG:7C91 E6 F8 lda (ZpF9),y ; CPU:$FC93 PRG:7C93 B1 F9 - beq NmiHandler_Loop527 ; CPU:$FC95 PRG:7C95 F0 11 + beq NmiHandler_Loop761 ; CPU:$FC95 PRG:7C95 F0 11 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop526 -; Global: Branch target inside NmiHandler: taken when Loop526. +; Routine: NmiHandler_Loop760 +; Global: Branch target inside NmiHandler: taken when Loop760. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop526: +NmiHandler_Loop760: jsr Sub_F87D ; CPU:$FC97 PRG:7C97 20 7D F8 lda $07C8 ; CPU:$FC9A PRG:7C9A AD C8 07 sta $07CA ; CPU:$FC9D PRG:7C9D 8D CA 07 lda ZpF5 ; CPU:$FCA0 PRG:7CA0 A5 F5 cmp #$20 ; CPU:$FCA2 PRG:7CA2 C9 20 - bne NmiHandler_Loop528 ; CPU:$FCA4 PRG:7CA4 D0 05 + bne NmiHandler_Loop762 ; CPU:$FCA4 PRG:7CA4 D0 05 lda #$FF ; CPU:$FCA6 PRG:7CA6 A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop527 -; Global: Branch target inside NmiHandler: taken when Loop527. +; Routine: NmiHandler_Loop761 +; Global: Branch target inside NmiHandler: taken when Loop761. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop527: +NmiHandler_Loop761: sta APUTRIANGLECTRL ; CPU:$FCA8 PRG:7CA8 8D 08 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop528 -; Global: Branch target inside NmiHandler: taken when Loop528. +; Routine: NmiHandler_Loop762 +; Global: Branch target inside NmiHandler: taken when Loop762. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop528: +NmiHandler_Loop762: lda ZpF5 ; CPU:$FCAB PRG:7CAB A5 F5 and #$01 ; CPU:$FCAD PRG:7CAD 29 01 - beq NmiHandler_Loop529 ; CPU:$FCAF PRG:7CAF F0 27 + beq NmiHandler_Loop763 ; CPU:$FCAF PRG:7CAF F0 27 dec $07DD ; CPU:$FCB1 PRG:7CB1 CE DD 07 - bne NmiHandler_Loop529 ; CPU:$FCB4 PRG:7CB4 D0 22 + bne NmiHandler_Loop763 ; CPU:$FCB4 PRG:7CB4 D0 22 ldy $07DC ; CPU:$FCB6 PRG:7CB6 AC DC 07 inc $07DC ; CPU:$FCB9 PRG:7CB9 EE DC 07 lda (ZpF9),y ; CPU:$FCBC PRG:7CBC B1 F9 @@ -14824,7 +19952,7 @@ NmiHandler_Loop528: sta $07DD ; CPU:$FCC1 PRG:7CC1 8D DD 07 txa ; CPU:$FCC4 PRG:7CC4 8A and #$3E ; CPU:$FCC5 PRG:7CC5 29 3E - beq NmiHandler_Loop529 ; CPU:$FCC7 PRG:7CC7 F0 0F + beq NmiHandler_Loop763 ; CPU:$FCC7 PRG:7CC7 F0 0F lda #$14 ; CPU:$FCC9 PRG:7CC9 A9 14 ldx #$03 ; CPU:$FCCB PRG:7CCB A2 03 ldy #$18 ; CPU:$FCCD PRG:7CCD A0 18 @@ -14832,14 +19960,14 @@ NmiHandler_Loop528: stx APUNOISEPERIOD ; CPU:$FCD2 PRG:7CD2 8E 0E 40 sty APUNOISELENGTH ; CPU:$FCD5 PRG:7CD5 8C 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop529 -; Global: Branch target inside NmiHandler: taken when Loop529. +; Routine: NmiHandler_Loop763 +; Global: Branch target inside NmiHandler: taken when Loop763. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop529: +NmiHandler_Loop763: rts ; CPU:$FCD8 PRG:7CD8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCD9 diff --git a/NROM/Kung Fu (U)/routinemap.tsv b/NROM/Kung Fu (U)/routinemap.tsv index 4b9207b..9fc1eb9 100644 --- a/NROM/Kung Fu (U)/routinemap.tsv +++ b/NROM/Kung Fu (U)/routinemap.tsv @@ -1,3 +1,4 @@ # routinemap (seed) 8258 Reset 82D6 NmiHandler +FFF0 IrqHandler diff --git a/NROM/Magmax (U)/README.md b/NROM/Magmax (U)/README.md index 268dc15..1f85f81 100644 --- a/NROM/Magmax (U)/README.md +++ b/NROM/Magmax (U)/README.md @@ -2,66 +2,65 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 11,613 / 32,768 bytes (35.4%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $BD33 | | RESET vector | $BC33 | | IRQ vector | $BC33 | -| ROM file | `Magmax (U).nes` | -| SHA-256 | `b8f343d4604a159e1c4efd92ac1e275cfbe71ebaeef703c8c2e031fb6c657d85` | -### Header notes +## Power-on flow -- none +RESET enters at `$BC33`: -## Open work + lda #$00 ; CPU:$BC33 PRG:3C33 A9 00 + sta PPUCTRL ; CPU:$BC35 PRG:3C35 8D 00 20 + lda PPUSTATUS ; CPU:$BC38 PRG:3C38 AD 02 20 + bpl Reset_OnNonnegative ; CPU:$BC3B PRG:3C3B 10 FB + sei ; CPU:$BC3D PRG:3C3D 78 + cld ; CPU:$BC3E PRG:3C3E D8 + ldx #$FF ; CPU:$BC3F PRG:3C3F A2 FF + txs ; CPU:$BC41 PRG:3C41 9A + ldx #$7F ; CPU:$BC42 PRG:3C42 A2 7F + lda $057E,x ; CPU:$BC44 PRG:3C44 BD 7E 05 + cmp $BC33,x ; CPU:$BC47 PRG:3C47 DD 33 BC + bne Reset_Loop ; CPU:$BC4A PRG:3C4A D0 06 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$BD33`: -## Files + lda #$07 ; CPU:$BD33 PRG:3D33 A9 07 + sta OAMDMA ; CPU:$BD35 PRG:3D35 8D 14 40 + lda #$00 ; CPU:$BD38 PRG:3D38 A9 00 + sta PPUMASK ; CPU:$BD3A PRG:3D3A 8D 01 20 + jsr Sub_CEAB ; CPU:$BD3D PRG:3D3D 20 AB CE + lda Zp6B ; CPU:$BD40 PRG:3D40 A5 6B + sta PPUMASK ; CPU:$BD42 PRG:3D42 8D 01 20 + lda Zp6C ; CPU:$BD45 PRG:3D45 A5 6C -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$BC32` (15411 bytes) - `UnreachedRomData` +- `$BDC2-$BDF6` (53 bytes) - `ObjectHandlerPointerTable` +- `$C471-$C485` (21 bytes) - `ObjectAttributeTable` +- `$C7C3-$C860` (158 bytes) - `ObjectMovementTable` +- `$C8AD-$C9BE` (274 bytes) - `LevelGraphicData` +- `$C9E6-$CA01` (28 bytes) - `ObjectPointerTable` +- `$CA9A-$CADF` (70 bytes) - `LevelTilePatternData` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Magmax (U)/labelmap.tsv b/NROM/Magmax (U)/labelmap.tsv index 0259772..17bf77a 100644 --- a/NROM/Magmax (U)/labelmap.tsv +++ b/NROM/Magmax (U)/labelmap.tsv @@ -13,12 +13,18 @@ BC79 Reset_OnNonnegative4 BC91 Sub_BC91 BC95 Reset_OnNonzero2 BCC1 Sub_BCC1 +BCC4 Sub_BCC4 +BCC6 Reset_OnNonzero3 +BCDA Sub_BCDA +BCDC Reset_OnNonzero4 +BCF0 Sub_BCF0 +BCF2 Reset_OnNonzero5 BD01 Sub_BD01 -BD03 Reset_OnNonzero3 +BD03 Reset_OnNonzero6 BD17 Sub_BD17 -BD19 Reset_OnNonzero4 +BD19 Reset_OnNonzero7 BD2D Sub_BD2D -BD2F Reset_OnNonzero5 +BD2F Reset_OnNonzero8 BD33 NmiHandler BD4D NmiHandler_Loop BD58 NmiHandler_Loop2 @@ -27,166 +33,639 @@ BD84 NmiHandler_Loop4 BD99 NmiHandler_Loop5 BD9C Sub_BD9C BDB5 Sub_BDB5 +BEB1 NmiHandler_OnNonzero +BEBF NmiHandler_Loop6 +BEC0 NmiHandler_OnZero +BEC1 Sub_BEC1 +BEDC Sub_BEDC +BEEA NmiHandler_Loop7 +BEFB NmiHandler_Loop8 +BF0D Sub_BF0D +BF1B NmiHandler_Loop9 +BF29 Sub_BF29 +BF2D NmiHandler_OnNonzero2 +BF64 NmiHandler_Loop10 BF65 Sub_BF65 -BFA1 NmiHandler_Loop6 -BFA7 NmiHandler_Loop7 -BFBD NmiHandler_OnNonzero -BFDE NmiHandler_Loop8 +BFA1 NmiHandler_Loop11 +BFA7 NmiHandler_Loop12 +BFBD NmiHandler_OnNonzero3 +BFDE NmiHandler_Loop13 BFE6 Sub_BFE6 BFE7 NmiHandler_OnCarryClear -BFEF NmiHandler_Loop9 -C00B NmiHandler_Loop10 -C017 NmiHandler_Loop11 +BFEF NmiHandler_Loop14 +C00B NmiHandler_Loop15 +C017 NmiHandler_Loop16 C01A Sub_C01A -C028 NmiHandler_Loop12 +C028 NmiHandler_Loop17 C029 Sub_C029 -C039 NmiHandler_Loop13 +C039 NmiHandler_Loop18 C03A Sub_C03A -C04A NmiHandler_OnNonzero2 -C077 NmiHandler_Loop14 -C081 NmiHandler_Loop15 -C08A NmiHandler_Loop16 +C04A NmiHandler_OnNonzero4 +C077 NmiHandler_Loop19 +C081 NmiHandler_Loop20 +C08A NmiHandler_Loop21 C08B Sub_C08B -C0A7 NmiHandler_Loop17 +C0A7 NmiHandler_Loop22 C0AF Sub_C0AF -C0D1 NmiHandler_Loop18 -C0DB NmiHandler_Loop19 +C0D1 NmiHandler_Loop23 +C0DB NmiHandler_Loop24 C0DC Sub_C0DC -C0F8 NmiHandler_Loop20 +C0F8 NmiHandler_Loop25 C102 Sub_C102 -C124 NmiHandler_Loop21 -C12E NmiHandler_Loop22 +C124 NmiHandler_Loop26 +C12E NmiHandler_Loop27 C12F Sub_C12F -C14D NmiHandler_Loop23 -C16A NmiHandler_Loop24 -C16D NmiHandler_Loop25 -C18B NmiHandler_Loop26 +C14D NmiHandler_Loop28 +C16A NmiHandler_Loop29 +C16D NmiHandler_Loop30 +C18B NmiHandler_Loop31 C18E Sub_C18E -C190 NmiHandler_OnNonzero3 -C1A6 NmiHandler_Loop27 +C190 NmiHandler_OnNonzero5 +C1A6 NmiHandler_Loop32 C1B0 Sub_C1B0 -C1D5 NmiHandler_Loop28 +C1D5 NmiHandler_Loop33 C1E0 Sub_C1E0 -C1E8 NmiHandler_Loop29 -C200 NmiHandler_Loop30 +C1E8 NmiHandler_Loop34 +C200 NmiHandler_Loop35 C20A Sub_C20A -C23C NmiHandler_Loop31 -C241 NmiHandler_Loop32 -C25D NmiHandler_Loop33 -C26C NmiHandler_Loop34 -C278 NmiHandler_Loop35 -C27A NmiHandler_OnNonzero4 -C297 NmiHandler_Loop36 +C23C NmiHandler_Loop36 +C241 NmiHandler_Loop37 +C25D NmiHandler_Loop38 +C26C NmiHandler_Loop39 +C278 NmiHandler_Loop40 +C27A NmiHandler_OnNonzero6 +C297 NmiHandler_Loop41 C2A1 Sub_C2A1 -C2C7 NmiHandler_Loop37 -C2D6 NmiHandler_OnNonzero5 -C2DE NmiHandler_Loop38 -C2E8 NmiHandler_Loop39 -C2EA NmiHandler_OnNonzero6 -C2F2 NmiHandler_Loop40 +C2C7 NmiHandler_Loop42 +C2D6 NmiHandler_OnNonzero7 +C2DE NmiHandler_Loop43 +C2E8 NmiHandler_Loop44 +C2EA NmiHandler_OnNonzero8 +C2F2 NmiHandler_Loop45 +C2FC Sub_C2FC +C31C NmiHandler_Loop46 +C323 NmiHandler_Loop47 +C336 NmiHandler_Loop48 +C34B NmiHandler_Loop49 +C35D Sub_C35D +C366 NmiHandler_Loop50 +C370 NmiHandler_Loop51 +C385 NmiHandler_Loop52 +C398 NmiHandler_Loop53 +C39E NmiHandler_Loop54 +C3A7 NmiHandler_Loop55 +C3E8 NmiHandler_OnNonzero9 +C423 NmiHandler_Loop56 +C438 NmiHandler_Loop57 +C451 NmiHandler_Loop58 +C465 Sub_C465 +C46E NmiHandler_Loop59 +C486 Sub_C486 +C48F NmiHandler_Loop60 +C496 NmiHandler_Loop61 +C49A Sub_C49A +C4C0 NmiHandler_Loop62 +C4C5 Sub_C4C5 +C4CF Sub_C4CF +C50F NmiHandler_Loop63 +C51B NmiHandler_Loop64 +C521 Sub_C521 +C525 NmiHandler_OnNonzero10 +C583 NmiHandler_Loop65 +C58C NmiHandler_Loop66 +C592 Sub_C592 +C5B7 NmiHandler_Loop67 +C5C7 NmiHandler_Loop68 +C5D8 Sub_C5D8 +C5F2 NmiHandler_Loop69 +C5F8 NmiHandler_Loop70 +C614 NmiHandler_Loop71 +C62B NmiHandler_Loop72 +C634 NmiHandler_Loop73 +C64E NmiHandler_Loop74 +C655 NmiHandler_Loop75 +C65C NmiHandler_Loop76 +C66C NmiHandler_Loop77 +C686 NmiHandler_Loop78 +C6A8 NmiHandler_Loop79 +C6AE NmiHandler_Loop80 +C6DC Sub_C6DC +C6E3 NmiHandler_Loop81 +C6E5 NmiHandler_OnNonzero11 +C6FE NmiHandler_Loop82 +C704 NmiHandler_Loop83 +C723 NmiHandler_Loop84 +C728 NmiHandler_Loop85 +C74E NmiHandler_Loop86 +C762 Sub_C762 +C76A NmiHandler_Loop87 +C76B Sub_C76B +C76D NmiHandler_OnNonzero12 +C786 NmiHandler_Loop88 +C789 NmiHandler_Loop89 +C792 NmiHandler_Loop90 +C793 Sub_C793 +C79B NmiHandler_OnNonzero13 C861 Sub_C861 -C863 NmiHandler_OnNonzero7 +C863 NmiHandler_OnNonzero14 C86F Sub_C86F -C873 NmiHandler_OnNonzero8 +C873 NmiHandler_OnNonzero15 C87F Sub_C87F -C899 NmiHandler_OnNonzero9 +C899 NmiHandler_OnNonzero16 C9BF Sub_C9BF -C9E5 NmiHandler_Loop41 +C9C7 Sub_C9C7 +C9E5 NmiHandler_Loop91 CA02 Sub_CA02 -CA0B NmiHandler_Loop42 +CA0B NmiHandler_Loop92 CA20 Sub_CA20 -CA34 NmiHandler_Loop43 -CA36 NmiHandler_OnNonzero10 -CA4B NmiHandler_OnNonzero11 +CA34 NmiHandler_Loop93 +CA36 NmiHandler_OnNonzero17 +CA4B NmiHandler_OnNonzero18 CA6F Sub_CA6F -CA7F NmiHandler_Loop44 -CA86 NmiHandler_Loop45 +CA7F NmiHandler_Loop94 +CA86 NmiHandler_Loop95 CAE0 Sub_CAE0 -CAF8 NmiHandler_Loop46 -CB06 NmiHandler_Loop47 -CB0D NmiHandler_Loop48 -CB28 NmiHandler_Loop49 -CB2B NmiHandler_OnNonzero12 -CB46 NmiHandler_Loop50 -CB4D NmiHandler_Loop51 -CB67 NmiHandler_Loop52 -CB7C NmiHandler_Loop53 -CB81 NmiHandler_Loop54 +CAF8 NmiHandler_Loop96 +CB06 NmiHandler_Loop97 +CB0D NmiHandler_Loop98 +CB28 NmiHandler_Loop99 +CB2B NmiHandler_OnNonzero19 +CB46 NmiHandler_Loop100 +CB4D NmiHandler_Loop101 +CB7C NmiHandler_Loop102 +CB81 NmiHandler_Loop103 CB85 Sub_CB85 -CB97 NmiHandler_Loop55 -CBA2 NmiHandler_Loop56 +CB97 NmiHandler_Loop104 +CBA2 NmiHandler_Loop105 CBDB NmiHandler_OnNonnegative CBE1 Sub_CBE1 CBEC Sub_CBEC -CC01 NmiHandler_Loop57 +CBF6 Sub_CBF6 +CC01 NmiHandler_Loop106 CD78 Sub_CD78 CDB0 Sub_CDB0 -CDB2 NmiHandler_OnNonzero13 -CDC0 NmiHandler_OnNonzero14 -CDCD NmiHandler_Loop58 -CDD1 NmiHandler_Loop59 -CDDC NmiHandler_Loop60 +CDB2 NmiHandler_OnNonzero20 +CDC0 NmiHandler_OnNonzero21 +CDCD NmiHandler_Loop107 +CDD1 NmiHandler_Loop108 +CDDC NmiHandler_Loop109 CDDE NmiHandler_OnCarryClear2 -CDF0 NmiHandler_OnNonzero15 -CE0A NmiHandler_OnNonzero16 -CE1F NmiHandler_OnNonzero17 -CE24 NmiHandler_OnNonzero18 -CE48 NmiHandler_OnNonzero19 +CDF0 NmiHandler_OnNonzero22 +CE0A NmiHandler_OnNonzero23 +CE1F NmiHandler_OnNonzero24 +CE24 NmiHandler_OnNonzero25 +CE48 NmiHandler_OnNonzero26 CE5E Sub_CE5E -CE68 NmiHandler_OnNonzero20 -CE7C NmiHandler_OnNonzero21 +CE68 NmiHandler_OnNonzero27 +CE7C NmiHandler_OnNonzero28 CE87 Sub_CE87 -CE89 NmiHandler_OnNonzero22 +CE89 NmiHandler_OnNonzero29 CEAB Sub_CEAB -CEBE NmiHandler_Loop61 -CEC3 NmiHandler_Loop62 -CECC NmiHandler_Loop63 -CED3 NmiHandler_Loop64 -CED7 NmiHandler_Loop65 -CEE3 NmiHandler_Loop66 -CEF3 NmiHandler_Loop67 +CEBE NmiHandler_Loop110 +CEC3 NmiHandler_Loop111 +CECC NmiHandler_Loop112 +CED3 NmiHandler_Loop113 +CED7 NmiHandler_Loop114 +CEE3 NmiHandler_Loop115 +CEF3 NmiHandler_Loop116 CEF4 Sub_CEF4 -CF04 NmiHandler_OnNonzero23 -CF18 NmiHandler_OnNonzero24 -CF26 NmiHandler_Loop68 +CF04 NmiHandler_OnNonzero30 +CF18 NmiHandler_OnNonzero31 +CF26 NmiHandler_Loop117 CF27 Sub_CF27 -CF38 NmiHandler_OnNonzero25 +CF38 NmiHandler_OnNonzero32 CF48 Sub_CF48 CF4A Sub_CF4A -CF86 NmiHandler_Loop69 +CF86 NmiHandler_Loop118 CF87 Sub_CF87 -CF93 NmiHandler_OnNonzero26 -CF9A NmiHandler_Loop70 -CFA3 NmiHandler_Loop71 +CF93 NmiHandler_OnNonzero33 +CF9A NmiHandler_Loop119 +CFA3 NmiHandler_Loop120 +CFC1 Sub_CFC1 +CFE3 NmiHandler_Loop121 +CFF9 NmiHandler_Loop122 +D00A NmiHandler_Loop123 +D028 NmiHandler_Loop124 +D042 NmiHandler_Loop125 +D05B NmiHandler_Loop126 +D064 NmiHandler_Loop127 +D078 NmiHandler_Loop128 +D07A Sub_D07A +D08D Sub_D08D +D0C6 Sub_D0C6 +D0CA Sub_D0CA +D0ED NmiHandler_Loop129 +D0F3 NmiHandler_Loop130 +D0FD Sub_D0FD +D138 NmiHandler_OnNonzero34 +D15F NmiHandler_OnNonzero35 +D17F NmiHandler_Loop131 +D189 NmiHandler_OnNonzero36 +D1B0 NmiHandler_OnNonzero37 +D1CD Sub_D1CD +D1E0 NmiHandler_Loop132 +D203 NmiHandler_OnNonzero38 +D220 NmiHandler_Loop133 +D22A NmiHandler_Loop134 +D258 Sub_D258 +D26B NmiHandler_Loop135 +D270 Sub_D270 +D279 NmiHandler_Loop136 +D29B NmiHandler_Loop137 +D29E NmiHandler_Loop138 +D2D8 NmiHandler_OnNonzero39 +D32B NmiHandler_OnNonzero40 +D349 NmiHandler_OnNonzero41 +D367 NmiHandler_OnNonzero42 +D383 Sub_D383 +D388 Sub_D388 +D38E NmiHandler_Loop139 +D38F Sub_D38F +D395 NmiHandler_Loop140 +D396 Sub_D396 +D3A2 NmiHandler_OnNonzero43 +D3BE NmiHandler_Loop141 +D3BF Sub_D3BF +D3C8 NmiHandler_Loop142 +D3F1 NmiHandler_Loop143 +D40B NmiHandler_OnNonzero44 +D419 NmiHandler_Loop144 +D427 NmiHandler_Loop145 +D439 NmiHandler_Loop146 +D478 Sub_D478 +D483 NmiHandler_Loop147 +D4C2 NmiHandler_Loop148 +D4C9 Sub_D4C9 +D4CE NmiHandler_Loop149 +D4DA Sub_D4DA +D502 NmiHandler_Loop150 +D505 NmiHandler_Loop151 +D507 Sub_D507 +D50E NmiHandler_Loop152 +D528 NmiHandler_Loop153 +D536 NmiHandler_Loop154 +D546 NmiHandler_Loop155 +D585 Sub_D585 +D59F NmiHandler_Loop156 +D5AA NmiHandler_Loop157 +D5DA NmiHandler_Loop158 +D5F6 NmiHandler_Loop159 +D61B NmiHandler_Loop160 +D634 NmiHandler_Loop161 +D656 NmiHandler_Loop162 +D662 NmiHandler_Loop163 +D665 Sub_D665 +D668 Sub_D668 +D66A Sub_D66A +D672 NmiHandler_Loop164 +D67A NmiHandler_Loop165 +D683 NmiHandler_Loop166 +D68B NmiHandler_Loop167 +D6A7 NmiHandler_Loop168 +D6BC NmiHandler_Loop169 +D6D3 NmiHandler_Loop170 +D6E8 NmiHandler_Loop171 +D708 Sub_D708 +D71C NmiHandler_Loop172 +D729 NmiHandler_Loop173 +D746 NmiHandler_Loop174 +D74E NmiHandler_Loop175 +D756 NmiHandler_Loop176 +D776 NmiHandler_Loop177 +D7C3 NmiHandler_Loop178 +D7CF NmiHandler_Loop179 +D7D1 Sub_D7D1 +D7E2 NmiHandler_Loop180 +D7EB NmiHandler_Loop181 +D806 NmiHandler_Loop182 +D821 NmiHandler_Loop183 +D83E NmiHandler_Loop184 +D846 NmiHandler_Loop185 +D84E NmiHandler_Loop186 +D851 NmiHandler_Loop187 +D85D NmiHandler_Loop188 +D85E Sub_D85E +D865 NmiHandler_Loop189 +D87D NmiHandler_Loop190 +D891 NmiHandler_Loop191 +D8DB NmiHandler_Loop192 +D8F0 NmiHandler_Loop193 +D8F7 NmiHandler_Loop194 +D919 Sub_D919 +D920 NmiHandler_Loop195 +D92A NmiHandler_Loop196 D989 Sub_D989 -D99D NmiHandler_OnNonzero27 +D99D NmiHandler_OnNonzero45 +D9C0 Sub_D9C0 +D9F5 Sub_D9F5 +DA1C NmiHandler_OnCarryClear3 +DA1F NmiHandler_Loop197 +DA2A NmiHandler_Loop198 +DA2D Sub_DA2D +DA36 NmiHandler_Loop199 +DA38 Sub_DA38 +DA3E Sub_DA3E +DA52 NmiHandler_Loop200 +DA5B NmiHandler_OnNonzero46 +DA6D NmiHandler_Loop201 +DA7C NmiHandler_OnNonzero47 +DA8B NmiHandler_Loop202 +DA94 NmiHandler_Loop203 +DA95 NmiHandler_Loop204 +DABB Sub_DABB +DABD NmiHandler_OnNonzero48 +DACC NmiHandler_Loop205 +DAD9 NmiHandler_Loop206 +DB0C NmiHandler_Loop207 +DB11 NmiHandler_Loop208 +DB12 Sub_DB12 +DB32 NmiHandler_OnZero2 +DB61 NmiHandler_Loop209 +DBB5 NmiHandler_Loop210 +DBC0 NmiHandler_Loop211 +DBDA NmiHandler_Loop212 +DBFA NmiHandler_Loop213 +DC08 NmiHandler_OnNonzero49 +DC54 NmiHandler_Loop214 +DC5B NmiHandler_Loop215 +DC68 Sub_DC68 +DC81 NmiHandler_OnZero3 +DCA1 NmiHandler_Loop216 +DCCD NmiHandler_Loop217 +DCE2 NmiHandler_Loop218 +DCE4 NmiHandler_OnNonzero50 +DCF2 NmiHandler_Loop219 +DD25 NmiHandler_Loop220 +DD2C NmiHandler_OnNonzero51 +DD2D Sub_DD2D +DD3A NmiHandler_Loop221 +DD3F NmiHandler_Loop222 +DDBB Sub_DDBB +DDC3 NmiHandler_Loop223 +DDC5 NmiHandler_OnNonzero52 +DDD0 NmiHandler_OnNonzero53 +DDF7 NmiHandler_Loop224 +DDFA NmiHandler_Loop225 +DE03 NmiHandler_Loop226 +DE14 NmiHandler_Loop227 +DE16 NmiHandler_OnNonzero54 +DE23 NmiHandler_OnNonzero55 +DE4F Sub_DE4F +DE5C NmiHandler_Loop228 +DE65 NmiHandler_Loop229 +DE6E NmiHandler_Loop230 +DE77 NmiHandler_Loop231 +DE7E NmiHandler_Loop232 +DE80 Sub_DE80 +DE8B NmiHandler_Loop233 +DE8E NmiHandler_Loop234 +DEBB NmiHandler_Loop235 +DEBE NmiHandler_Loop236 +DECB NmiHandler_Loop237 +DEDF NmiHandler_Loop238 +DF07 NmiHandler_OnCarryClear4 +DF0A NmiHandler_Loop239 +DF15 NmiHandler_Loop240 +DF21 NmiHandler_Loop241 +DF2D NmiHandler_Loop242 +DF2E Sub_DF2E +DF30 Sub_DF30 +DF37 NmiHandler_OnCarrySet +DF3A NmiHandler_Loop243 +DF5B NmiHandler_Loop244 +DF5E NmiHandler_Loop245 +DF72 NmiHandler_Loop246 +DF9A NmiHandler_OnCarryClear5 +DFA5 NmiHandler_Loop247 +DFB0 NmiHandler_Loop248 +DFBC NmiHandler_Loop249 +DFC8 NmiHandler_Loop250 +DFC9 Sub_DFC9 +DFD1 NmiHandler_Loop251 +DFD8 Sub_DFD8 +E003 NmiHandler_Loop252 +E016 Sub_E016 +E02E NmiHandler_Loop253 +E042 Sub_E042 +E048 NmiHandler_Loop254 +E050 NmiHandler_Loop255 +E05C NmiHandler_Loop256 +E061 Sub_E061 +E07C NmiHandler_Loop257 +E08F Sub_E08F +E0A7 NmiHandler_Loop258 +E0BB Sub_E0BB +E0C1 NmiHandler_Loop259 +E0C9 NmiHandler_Loop260 +E0D5 NmiHandler_Loop261 +E0DC NmiHandler_Loop262 +E0DE Sub_E0DE +E0EF NmiHandler_Loop263 +E0F6 NmiHandler_Loop264 +E0F9 NmiHandler_Loop265 +E108 NmiHandler_Loop266 +E120 NmiHandler_Loop267 +E13A NmiHandler_Loop268 +E13D NmiHandler_Loop269 +E14A NmiHandler_Loop270 +E174 NmiHandler_OnZero4 +E177 NmiHandler_Loop271 +E1C7 NmiHandler_Loop272 +E1C8 NmiHandler_Loop273 +E1D9 NmiHandler_Loop274 +E1DC Sub_E1DC +E205 NmiHandler_Loop275 +E20C NmiHandler_Loop276 +E20F Sub_E20F +E21B Sub_E21B +E228 NmiHandler_Loop277 +E22D NmiHandler_Loop278 +E22F Sub_E22F +E23B NmiHandler_Loop279 +E248 NmiHandler_Loop280 +E25F NmiHandler_Loop281 +E262 NmiHandler_Loop282 +E27C Sub_E27C +E29B NmiHandler_Loop283 +E2A6 Sub_E2A6 +E2B7 NmiHandler_Loop284 +E2ED NmiHandler_Loop285 +E2F9 NmiHandler_Loop286 +E305 NmiHandler_Loop287 +E306 Sub_E306 +E30B Sub_E30B +E317 NmiHandler_Loop288 +E31A NmiHandler_Loop289 +E329 NmiHandler_Loop290 +E341 NmiHandler_Loop291 +E35C NmiHandler_Loop292 +E362 Sub_E362 +E369 NmiHandler_Loop293 +E36C NmiHandler_Loop294 +E380 NmiHandler_Loop295 +E398 NmiHandler_Loop296 +E399 NmiHandler_Loop297 +E3B0 NmiHandler_Loop298 +E3B2 Sub_E3B2 +E3C9 NmiHandler_Loop299 +E40D NmiHandler_Loop300 +E40E NmiHandler_Loop301 +E41F NmiHandler_Loop302 +E422 Sub_E422 +E44B NmiHandler_Loop303 +E456 NmiHandler_Loop304 +E462 NmiHandler_Loop305 +E463 Sub_E463 +E46C NmiHandler_Loop306 +E46D Sub_E46D +E47D NmiHandler_Loop307 +E495 Sub_E495 +E4B2 NmiHandler_Loop308 +E4CF NmiHandler_Loop309 +E532 Sub_E532 +E535 NmiHandler_Loop310 +E542 NmiHandler_Loop311 +E545 NmiHandler_Loop312 +E557 NmiHandler_Loop313 +E563 NmiHandler_Loop314 +E567 NmiHandler_OnNonzero56 +E574 NmiHandler_Loop315 +E5A2 NmiHandler_Loop316 +E5B0 NmiHandler_Loop317 +E5B1 Sub_E5B1 +E5C1 NmiHandler_Loop318 +E5C8 NmiHandler_Loop319 +E5C9 Sub_E5C9 +E60A NmiHandler_Loop320 +E60B Sub_E60B +E617 NmiHandler_Loop321 +E622 NmiHandler_Loop322 +E639 NmiHandler_Loop323 +E63A NmiHandler_Loop324 +E64A NmiHandler_Loop325 +E64B Sub_E64B +E654 NmiHandler_OnCarryClear6 +E657 NmiHandler_Loop326 +E66F NmiHandler_Loop327 +E67B NmiHandler_OnNonzero57 +E684 NmiHandler_Loop328 +E685 NmiHandler_Loop329 +E6A1 NmiHandler_Loop330 +E6B8 NmiHandler_OnNonzero58 +E6C3 NmiHandler_Loop331 +E6C4 NmiHandler_Loop332 +E6CA NmiHandler_Loop333 +E6CF Sub_E6CF +E6DB NmiHandler_Loop334 +E6E6 NmiHandler_OnNonzero59 +E6F6 NmiHandler_Loop335 +E6F8 NmiHandler_OnNonzero60 +E701 Sub_E701 +E703 NmiHandler_OnNonzero61 +E70D NmiHandler_Loop336 +E713 NmiHandler_OnNonzero62 +E723 NmiHandler_Loop337 +E725 NmiHandler_OnNonzero63 +E72E Sub_E72E +E730 NmiHandler_OnNonzero64 +E74D NmiHandler_Loop338 +E76A NmiHandler_Loop339 +E776 NmiHandler_Loop340 +E781 NmiHandler_Loop341 +E78A NmiHandler_Loop342 +E79A Sub_E79A +E7DC NmiHandler_Loop343 +E7DD NmiHandler_Loop344 +E81B NmiHandler_Loop345 +E81C Sub_E81C +E82D NmiHandler_Loop346 +E837 NmiHandler_Loop347 +E847 NmiHandler_Loop348 +E856 NmiHandler_Loop349 +E857 NmiHandler_Loop350 +E85C Sub_E85C +E869 NmiHandler_Loop351 +E86A Sub_E86A +E8A3 NmiHandler_Loop352 +E8B4 NmiHandler_Loop353 +E8B5 NmiHandler_Loop354 +E8C5 NmiHandler_Loop355 +E8D5 NmiHandler_Loop356 +E8DE NmiHandler_Loop357 +E8EE NmiHandler_Loop358 +E903 NmiHandler_Loop359 +E912 NmiHandler_Loop360 +E91B NmiHandler_Loop361 +E965 Sub_E965 +E978 NmiHandler_Loop362 +E97C NmiHandler_Loop363 +E991 NmiHandler_Loop364 +E9AA NmiHandler_Loop365 +E9AB NmiHandler_Loop366 +E9BC NmiHandler_Loop367 +E9BD NmiHandler_Loop368 +E9D4 NmiHandler_Loop369 +E9E2 NmiHandler_Loop370 +E9F2 NmiHandler_Loop371 +EA06 NmiHandler_Loop372 +EA28 Sub_EA28 +EA3F NmiHandler_Loop373 +EA50 NmiHandler_Loop374 +EA55 NmiHandler_Loop375 +EA5C NmiHandler_Loop376 +EA67 NmiHandler_Loop377 +EA82 NmiHandler_Loop378 +EA84 NmiHandler_OnNonzero65 +EA85 NmiHandler_Loop379 +EA98 NmiHandler_Loop380 +EAA6 NmiHandler_Loop381 +EB95 Sub_EB95 +EB9E NmiHandler_OnNonzero66 +EBAE NmiHandler_Loop382 +EBCC NmiHandler_Loop383 +EC17 NmiHandler_Loop384 +EC6B NmiHandler_Loop385 +EC9A Sub_EC9A +EC9C NmiHandler_OnNonzero67 +ECB6 NmiHandler_Loop386 +ECCF NmiHandler_Loop387 +ECE9 NmiHandler_Loop388 +ECF2 NmiHandler_Loop389 +F7E6 Sub_F7E6 +F7E8 NmiHandler_OnNonzero68 +F7FF NmiHandler_Loop390 +F9FD NmiHandler_OnNonzero69 +FA09 NmiHandler_Loop391 +FA51 Sub_FA51 +FA57 Sub_FA57 +FA63 NmiHandler_Loop392 FA89 Sub_FA89 FA8D NmiHandler_OnNonnegative2 FAA8 Sub_FAA8 -FAAE NmiHandler_Loop72 +FAAE NmiHandler_Loop393 FAAF Sub_FAAF FAC7 Sub_FAC7 -FAD2 NmiHandler_Loop73 +FAD2 NmiHandler_Loop394 FAE6 Sub_FAE6 FB1A Sub_FB1A -FB2A NmiHandler_Loop74 -FB33 NmiHandler_Loop75 -FB34 NmiHandler_Loop76 -FB3D NmiHandler_Loop77 -FB49 NmiHandler_Loop78 -FB81 NmiHandler_Loop79 -FB9E NmiHandler_Loop80 -FBAF NmiHandler_Loop81 -FBB7 NmiHandler_Loop82 +FB2A NmiHandler_Loop395 +FB33 NmiHandler_Loop396 +FB34 NmiHandler_Loop397 +FB3D NmiHandler_Loop398 +FB49 NmiHandler_Loop399 +FB81 NmiHandler_Loop400 +FB9E NmiHandler_Loop401 +FBAF NmiHandler_Loop402 +FBB7 NmiHandler_Loop403 FBC0 Sub_FBC0 -FBDA NmiHandler_Loop83 -FBF6 NmiHandler_Loop84 -FBF7 NmiHandler_Loop85 +FBDA NmiHandler_Loop404 +FBF6 NmiHandler_Loop405 +FBF7 NmiHandler_Loop406 FBF9 Sub_FBF9 -FC08 NmiHandler_Loop86 -FC09 NmiHandler_Loop87 -FC16 NmiHandler_Loop88 -FC19 NmiHandler_Loop89 -FC28 NmiHandler_Loop90 -FC37 NmiHandler_Loop91 -FC46 NmiHandler_Loop92 +FC08 NmiHandler_Loop407 +FC09 NmiHandler_Loop408 +FC16 NmiHandler_Loop409 +FC19 NmiHandler_Loop410 +FC28 NmiHandler_Loop411 +FC37 NmiHandler_Loop412 +FC46 NmiHandler_Loop413 diff --git a/NROM/Magmax (U)/locals.inc b/NROM/Magmax (U)/locals.inc index 7c9658a..53f7737 100644 --- a/NROM/Magmax (U)/locals.inc +++ b/NROM/Magmax (U)/locals.inc @@ -4,66 +4,122 @@ ; 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 ; 10 refs; reads=9 writes=1; used at $BC95, BFFD, C131, C197, +6 more -Zp0D = $0D ; 4 refs; reads=3 writes=1; used at $CAE8, CB1F, CB3A, CD96 -Zp50 = $50 ; 5 refs; reads=4 writes=1; used at $CF9A, CFAA, CFAC, CFB0 +Zp00 = $00 ; 47 refs; reads=39 writes=8; used at $BC95, BEC6, BFFD, C131, +43 more +Zp01 = $01 ; 5 refs; reads=2 writes=3; used at $BECE, D3E8, D3F9, D9CE +Zp02 = $02 ; 5 refs; reads=2 writes=3; used at $BEFF, D3EC, D51C, D9D0 +Zp03 = $03 ; 9 refs; reads=5 writes=4; used at $D05E, D06A, D076, D09C, +3 more +Zp04 = $04 ; 9 refs; reads=5 writes=4; used at $D062, D064, D072, D0A1, +3 more +Zp05 = $05 ; 5 refs; reads=2 writes=3; used at $D388, D3CA, D3D5, D9DD +Zp06 = $06 ; 4 refs; reads=1 writes=3; used at $D38C, D3DA, D9E2 +Zp07 = $07 ; 5 refs; reads=2 writes=3; used at $D38F, D3DF, D510, D9E7 +Zp08 = $08 ; 4 refs; reads=1 writes=3; used at $D393, D3E4, D9EC +Zp09 = $09 ; 5 refs; reads=2 writes=3; used at $D3BF, D3C3, D431, D9D6 +Zp0A = $0A ; 5 refs; reads=2 writes=3; used at $D507, D50B, D540, D9D8 +Zp0B = $0B ; 10 refs; reads=7 writes=3; used at $BECA, D3F7, D41F, D9D2, +6 more +Zp0C = $0C ; 4 refs; reads=1 writes=3; used at $BEFB, D51A, D52E, D9D4 +Zp0D = $0D ; 12 refs; reads=9 writes=3; used at $C375, CAE8, CB1F, CB3A, +8 more +Zp0E = $0E ; 8 refs; reads=5 writes=3; used at $C5A4, D022, D028, D048, +3 more +Zp0F = $0F ; 6 refs; reads=3 writes=3; used at $C31F, D026, D042, D055, +1 more +Zp10 = $10 ; 4 refs; reads=1 writes=3; used at $E6E8, E6F1, E6FA, E730 +Zp20 = $20 ; 4 refs; reads=1 writes=3; used at $E703, E715, E71E, E727 +Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $E4D2 +Zp30 = $30 ; 2 refs; reads=2 writes=0; used at $E67B, E6E6 +Zp40 = $40 ; 1 refs; reads=1 writes=0; used at $E713 +Zp50 = $50 ; 6 refs; reads=5 writes=1; used at $C5CA, CF9A, CFAA, CFAC, +1 more Zp51 = $51 ; 5 refs; reads=4 writes=1; used at $CFA3, CFB6, CFB8, CFBC Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $CFA8, CFB2 Zp53 = $53 ; 2 refs; reads=1 writes=1; used at $CFB4, CFBE -Zp54 = $54 ; 5 refs; reads=4 writes=1; used at $CA6F, CB85, CBB4, CBF0, +1 more +Zp54 = $54 ; 8 refs; reads=7 writes=1; used at $C5B7, C5CE, CA6F, CB85, +4 more Zp55 = $55 ; 1 refs; reads=0 writes=1; used at $CFBA -Zp58 = $58 ; 1 refs; reads=0 writes=1; used at $CBC5 +Zp56 = $56 ; 6 refs; reads=4 writes=2; used at $C5A9, C5CC, C5D2, C5F2, +2 more +Zp57 = $57 ; 3 refs; reads=1 writes=2; used at $C5A2, C5D0, C655 +Zp58 = $58 ; 7 refs; reads=4 writes=3; used at $CBC5, D8E4, E66F, E671, +1 more Zp59 = $59 ; 1 refs; reads=0 writes=1; used at $CBC7 -Zp5A = $5A ; 1 refs; reads=0 writes=1; used at $CBCB +Zp5A = $5A ; 4 refs; reads=2 writes=2; used at $CBCB, D8E0, D8E8, D8F0 Zp5B = $5B ; 1 refs; reads=0 writes=1; used at $CBCD Zp5C = $5C ; 1 refs; reads=0 writes=1; used at $CBD1 Zp5D = $5D ; 1 refs; reads=0 writes=1; used at $CBD3 -Zp5E = $5E ; 42 refs; reads=20 writes=22; used at $BC54, BC56, BC5E, BC60, +35 more -Zp5F = $5F ; 8 refs; reads=2 writes=6; used at $BC5A, BC64, BC68, BFB9, +3 more -Zp60 = $60 ; 9 refs; reads=4 writes=5; used at $BF7D, BF88, D990, D9AD, +4 more -Zp61 = $61 ; 11 refs; reads=6 writes=5; used at $BF82, BF8C, BF92, BF96, +6 more -Zp62 = $62 ; 10 refs; reads=6 writes=4; used at $BF72, BF7B, BF80, BFB2, +5 more -Zp63 = $63 ; 1 refs; reads=0 writes=1; used at $BF77 -Zp64 = $64 ; 17 refs; reads=8 writes=9; used at $BF84, BF86, BFA3, C064, +12 more -Zp65 = $65 ; 18 refs; reads=9 writes=9; used at $BF94, BFA5, BFA7, BFAB, +13 more -Zp66 = $66 ; 2 refs; reads=1 writes=1; used at $C03E, C055 -Zp67 = $67 ; 3 refs; reads=2 writes=1; used at $C03A, C05D, C155 -Zp68 = $68 ; 10 refs; reads=5 writes=5; used at $BF67, BF9E, C06E, C0C8, +6 more -Zp6A = $6A ; 13 refs; reads=8 writes=5; used at $BCAC, BCB8, BCBC, BD61, +9 more -Zp6B = $6B ; 4 refs; reads=3 writes=1; used at $BCB3, BD40, C8A7, CE58 -Zp6C = $6C ; 3 refs; reads=2 writes=1; used at $BD45, CD8E, CEBE +Zp5E = $5E ; 197 refs; reads=105 writes=92; used at $BC54, BC56, BC5E, BC60, +181 more +Zp5F = $5F ; 54 refs; reads=18 writes=36; used at $BC5A, BC64, BC68, BEDA, +40 more +Zp60 = $60 ; 72 refs; reads=40 writes=32; used at $BF7D, BF88, C310, C31C, +65 more +Zp61 = $61 ; 37 refs; reads=18 writes=19; used at $BF82, BF8C, BF92, BF96, +31 more +Zp62 = $62 ; 58 refs; reads=34 writes=24; used at $BF72, BF7B, BF80, BFB2, +50 more +Zp63 = $63 ; 16 refs; reads=6 writes=10; used at $BF77, C30A, C3B0, C3C0, +10 more +Zp64 = $64 ; 44 refs; reads=18 writes=26; used at $BF84, BF86, BFA3, C064, +37 more +Zp65 = $65 ; 41 refs; reads=17 writes=24; used at $BF94, BFA5, BFA7, BFAB, +34 more +Zp66 = $66 ; 18 refs; reads=9 writes=9; used at $C03E, C055, C3DD, C4F8, +11 more +Zp67 = $67 ; 17 refs; reads=8 writes=9; used at $C03A, C05D, C155, C407, +10 more +Zp68 = $68 ; 22 refs; reads=11 writes=11; used at $BF67, BF9E, C06E, C0C8, +18 more +Zp69 = $69 ; 11 refs; reads=6 writes=5; used at $C3AA, C3F8, C3FA, C410, +7 more +Zp6A = $6A ; 16 refs; reads=10 writes=6; used at $BCAC, BCB8, BCBC, BD61, +12 more +Zp6B = $6B ; 5 refs; reads=4 writes=1; used at $BCB3, BD40, C8A7, CE58, +1 more +Zp6C = $6C ; 13 refs; reads=10 writes=3; used at $BD45, C3B5, C486, CD8E, +8 more Zp6D = $6D ; 1 refs; reads=1 writes=0; used at $BD4B -Zp6E = $6E ; 9 refs; reads=4 writes=5; used at $BD50, C004, C01E, C029, +5 more -Zp6F = $6F ; 1 refs; reads=1 writes=0; used at $BD56 -Zp70 = $70 ; 4 refs; reads=3 writes=1; used at $BD52, C09D, C0EE, CD92 +Zp6E = $6E ; 10 refs; reads=5 writes=5; used at $BD50, C004, C01E, C029, +6 more +Zp6F = $6F ; 25 refs; reads=14 writes=11; used at $BD56, E4F5, E545, E54B, +12 more +Zp70 = $70 ; 8 refs; reads=3 writes=5; used at $BD52, C09D, C0EE, CD92, +4 more Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $BD47 -Zp72 = $72 ; 8 refs; reads=1 writes=7; used at $BF6B, C04F, C094, C0E5, +4 more -Zp73 = $73 ; 8 refs; reads=1 writes=7; used at $BFCC, C057, C0B4, C107, +4 more -Zp74 = $74 ; 8 refs; reads=2 writes=6; used at $BFD3, BFE0, C048, C0B9, +4 more -Zp75 = $75 ; 7 refs; reads=1 writes=6; used at $BFF8, C025, C037, C05F, +3 more -Zp79 = $79 ; 10 refs; reads=9 writes=1; used at $BD5B, C9BF, CA02, CA7F, +5 more -Zp7A = $7A ; 2 refs; reads=1 writes=1; used at $BD5F, CEAF -Zp7C = $7C ; 2 refs; reads=2 writes=0; used at $CEFD, CF13 -Zp7D = $7D ; 2 refs; reads=1 writes=1; used at $CEF4, CF24 -Zp85 = $85 ; 3 refs; reads=2 writes=1; used at $BD87, CA77, FB1E -Zp86 = $86 ; 6 refs; reads=3 writes=3; used at $BD70, CB46, CB5E, CBBC, +2 more -Zp87 = $87 ; 3 refs; reads=2 writes=1; used at $CB8B, CB91, CB99 -Zp88 = $88 ; 3 refs; reads=2 writes=1; used at $CA0B, CA20, CD94 -Zp89 = $89 ; 2 refs; reads=2 writes=0; used at $C03C, C15D -Zp8A = $8A ; 2 refs; reads=2 writes=0; used at $C13E, C176 -Zp8B = $8B ; 1 refs; reads=1 writes=0; used at $C042 +Zp72 = $72 ; 13 refs; reads=4 writes=9; used at $BF6B, C04F, C094, C0E5, +9 more +Zp73 = $73 ; 12 refs; reads=3 writes=9; used at $BFCC, C057, C0B4, C107, +8 more +Zp74 = $74 ; 11 refs; reads=3 writes=8; used at $BFD3, BFE0, C048, C0B9, +7 more +Zp75 = $75 ; 11 refs; reads=3 writes=8; used at $BFF8, C025, C037, C05F, +7 more +Zp79 = $79 ; 18 refs; reads=17 writes=1; used at $BD5B, C592, C59E, C9BF, +13 more +Zp7A = $7A ; 3 refs; reads=1 writes=2; used at $BD5F, CEAF, CFFB +Zp7B = $7B ; 8 refs; reads=5 writes=3; used at $D01C, D0BC, D105, D128, +4 more +Zp7C = $7C ; 14 refs; reads=10 writes=4; used at $CEFD, CF13, D018, D0B8, +9 more +Zp7D = $7D ; 3 refs; reads=1 writes=2; used at $CEF4, CF24, D385 +Zp7F = $7F ; 7 refs; reads=3 writes=4; used at $BEDC, BEE3, BEE5, BEEA, +2 more +Zp80 = $80 ; 7 refs; reads=3 writes=4; used at $BF0D, BF14, BF16, BF1B, +2 more +Zp81 = $81 ; 5 refs; reads=2 writes=3; used at $D476, D505, DB84, DBB5, +1 more +Zp82 = $82 ; 3 refs; reads=1 writes=2; used at $D583, D665, E4FD +Zp85 = $85 ; 4 refs; reads=2 writes=2; used at $BD87, C5C4, CA77, FB1E +Zp86 = $86 ; 11 refs; reads=8 writes=3; used at $BD70, C598, CB46, CB5E, +7 more +Zp87 = $87 ; 4 refs; reads=3 writes=1; used at $CB8B, CB91, CB99, E66B +Zp88 = $88 ; 18 refs; reads=15 writes=3; used at $C5C7, CA0B, CA20, CD94, +14 more +Zp89 = $89 ; 47 refs; reads=35 writes=12; used at $C03C, C15D, C61C, C620, +34 more +Zp8A = $8A ; 55 refs; reads=41 writes=14; used at $C13E, C176, C5AB, C5DD, +44 more +Zp8B = $8B ; 21 refs; reads=13 writes=8; used at $C042, C5E3, C5F8, C608, +17 more Zp8D = $8D ; 4 refs; reads=1 writes=3; used at $CB58, CB95, CBFA Zp8E = $8E ; 4 refs; reads=2 writes=2; used at $CB67, CB7C, CBF8 -Zp8F = $8F ; 1 refs; reads=0 writes=1; used at $CBE7 -Zp90 = $90 ; 2 refs; reads=1 writes=1; used at $BDA4, CBE3 +Zp8F = $8F ; 59 refs; reads=30 writes=29; used at $CBE7, D4BD, D59D, E16E, +39 more +Zp90 = $90 ; 27 refs; reads=5 writes=22; used at $BDA4, C731, CBE3, D4B9, +23 more +Zp91 = $91 ; 4 refs; reads=2 writes=2; used at $C64E, C652, C65E +Zp92 = $92 ; 4 refs; reads=2 writes=2; used at $EC9C, ECA2, ECA4 +Zp94 = $94 ; 12 refs; reads=1 writes=11; used at $C672, DA38, DB74, DBE3, +8 more +Zp95 = $95 ; 8 refs; reads=3 writes=5; used at $E1C8, E40E, E890, E921, +4 more Zp96 = $96 ; 17 refs; reads=12 writes=5; used at $FAA8, FAE6, FAEA, FAF1, +12 more Zp97 = $97 ; 9 refs; reads=4 writes=5; used at $FAAC, FAF6, FB12, FB1A, +4 more -Zp99 = $99 ; 1 refs; reads=0 writes=1; used at $BDAB -Zp9A = $9A ; 1 refs; reads=0 writes=1; used at $BDB0 -Zp9B = $9B ; 1 refs; reads=0 writes=1; used at $CBD7 -Zp9C = $9C ; 3 refs; reads=1 writes=2; used at $CB2E, CB42, CE91 -Zp9D = $9D ; 1 refs; reads=0 writes=1; used at $CB10 +Zp98 = $98 ; 9 refs; reads=5 writes=4; used at $C373, C37B, C383, C41B, +5 more +Zp99 = $99 ; 3 refs; reads=0 writes=3; used at $BDAB, ECC5, F7F5 +Zp9A = $9A ; 3 refs; reads=0 writes=3; used at $BDB0, ECCA, F7FA +Zp9B = $9B ; 4 refs; reads=2 writes=2; used at $CBD7, E6CF, E6D1 +Zp9C = $9C ; 4 refs; reads=1 writes=3; used at $CB2E, CB42, CE91, D3BA +Zp9D = $9D ; 2 refs; reads=0 writes=2; used at $CB10, DDAE +Zp9F = $9F ; 1 refs; reads=0 writes=1; used at $E4DF ZpA3 = $A3 ; 1 refs; reads=0 writes=1; used at $CAF1 +ZpA5 = $A5 ; 1 refs; reads=1 writes=0; used at $CB66 ZpA7 = $A7 ; 3 refs; reads=0 writes=3; used at $CAF6, CB7A, CB83 -ZpAC = $AC ; 1 refs; reads=0 writes=1; used at $CB44 -ZpBC = $BC ; 2 refs; reads=2 writes=0; used at $CF04, CF18 +ZpAC = $AC ; 3 refs; reads=0 writes=3; used at $CB44, D3A0, D3BC +ZpBC = $BC ; 6 refs; reads=2 writes=4; used at $CF04, CF18, D2E0, D2E6, +2 more +ZpBD = $BD ; 1 refs; reads=1 writes=0; used at $BDF7 +ZpE0 = $E0 ; 1 refs; reads=1 writes=0; used at $DBAF + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp6A +PpuMaskShadow = Zp6B +HandlerPtrLo = Zp99 +HandlerPtrHi = Zp9A +VramWritePtrLo = Zp5E +VramWritePtrHi = Zp5F +VramReadPtrLo = Zp62 +VramReadPtrHi = Zp63 +ObjectX = Zp60 +ObjectY = Zp61 +GameState = Zp8A +LevelIndex = Zp8B +PlayerIndex = Zp00 +PlayerIndex2 = Zp01 +PlayerY = Zp90 +TimerIndex = Zp64 +ObjectTimer = Zp68 +SpriteX = Zp88 diff --git a/NROM/Magmax (U)/prg.s b/NROM/Magmax (U)/prg.s index d2822c7..44b83de 100644 --- a/NROM/Magmax (U)/prg.s +++ b/NROM/Magmax (U)/prg.s @@ -9,8 +9,14 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 3 further routine entries recovered from table references elsewhere in the image: +; $BDF7, $E903, $FA03 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $BE05, $BE20, $BE32, $BE47, $BE4D, $BE62, $BE77, $BE8C, $BEA7, $BEAD, $C592, $CB63, $CB66, $CFC1, $D270, $D668, $D9F5, $DA3E, $DB12, $DDBB, $DFC9, $E306, $E4D2, $E5C9, $E64B, $E6C4, $E6CA, $E73A, $E73B, $EBAF, $EC18, $ECDC, $ECDF, $F809, $F80E ; indirect dispatch through zero page (not followed statically): ; jmp ($0099) at $BDB2 +; jmp ($0099) at $ECCC +; jmp ($0099) at $F7FC ; .setcpu "6502" @@ -20,9 +26,15 @@ .segment "PRG" ; ---- data $8000-$BC32 (15411 bytes) ---- -; referenced by `lda $AF4C,y` at $BF6F (operand $AF4C falls inside this region) -; referenced by `lda $AF4D,y` at $BF74 (operand $AF4D falls inside this region) - .byte $01, $09, $02, $94, $01, $09, $03, $D8, $01, $09, $02, $14, $01, $09, $03, $14 ; CPU:$8000 PRG:0000 01 09 02 94 01 09 03 D8 01 09 02 14 01 09 03 14 +; referenced by `asl $A216` at $BEAD (operand $A216 falls inside this region) +; referenced by `lda $AEF4,y` at $BED2 (operand $AEF4 falls inside this region) +; referenced by `lda $AEF5,y` at $BED7 (operand $AEF5 falls inside this region) +; referenced by `lda $A9CA,y` at $BEEE (operand $A9CA falls inside this region) +; referenced by `lda $A9CB,y` at $BEF3 (operand $A9CB falls inside this region) +; referenced by `lda $AF2C,y` at $BF03 (operand $AF2C falls inside this region) +; ... and 57 further references from decoded code +UnreachedRomData: + .byte $01, $09, $02, $94, $01, $09, $03, $D8, $01, $09, $02, $14, $01, $09, $03, $14 ; CPU:$8000 PRG:-4000 01 09 02 94 01 09 03 D8 01 09 02 14 01 09 03 14 .byte $01, $0A, $02, $74, $01, $0A, $03, $14, $04, $49, $50, $00, $01, $09, $01, $75 ; CPU:$8010 PRG:0010 01 0A 02 74 01 0A 03 14 04 49 50 00 01 09 01 75 .byte $01, $0A, $02, $17, $01, $09, $03, $F4, $01, $0A, $02, $15, $01, $0A, $01, $14 ; CPU:$8020 PRG:0020 01 0A 02 17 01 09 03 F4 01 0A 02 15 01 0A 01 14 .byte $01, $0A, $01, $94, $01, $0A, $01, $97, $01, $0A, $01, $14, $01, $0A, $01, $95 ; CPU:$8030 PRG:0030 01 0A 01 94 01 0A 01 97 01 0A 01 14 01 0A 01 95 @@ -1038,10 +1050,10 @@ Reset_OnNonnegative2: ; ----------------------------------------------------------------------------- Reset_Loop: ldy #$00 ; CPU:$BC52 PRG:3C52 A0 00 - sty Zp5E ; CPU:$BC54 PRG:3C54 84 5E - dec Zp5E ; CPU:$BC56 PRG:3C56 C6 5E + sty VramWritePtrLo ; CPU:$BC54 PRG:3C54 84 5E + dec VramWritePtrLo ; CPU:$BC56 PRG:3C56 C6 5E lda #$07 ; CPU:$BC58 PRG:3C58 A9 07 - sta Zp5F ; CPU:$BC5A PRG:3C5A 85 5F + sta VramWritePtrHi ; CPU:$BC5A PRG:3C5A 85 5F ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero ; Global: Branch target inside Reset: taken when the tested value is not zero. @@ -1052,10 +1064,10 @@ Reset_Loop: ; ----------------------------------------------------------------------------- Reset_OnNonzero: lda #$00 ; CPU:$BC5C PRG:3C5C A9 00 - sta (Zp5E),y ; CPU:$BC5E PRG:3C5E 91 5E - dec Zp5E ; CPU:$BC60 PRG:3C60 C6 5E + sta (VramWritePtrLo),y ; CPU:$BC5E PRG:3C5E 91 5E + dec VramWritePtrLo ; CPU:$BC60 PRG:3C60 C6 5E bne Reset_Loop2 ; CPU:$BC62 PRG:3C62 D0 02 - dec Zp5F ; CPU:$BC64 PRG:3C64 C6 5F + dec VramWritePtrHi ; CPU:$BC64 PRG:3C64 C6 5F ; ----------------------------------------------------------------------------- ; Routine: Reset_Loop2 ; Global: Branch target inside Reset: taken when Loop2. @@ -1065,8 +1077,8 @@ Reset_OnNonzero: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_Loop2: - lda Zp5E ; CPU:$BC66 PRG:3C66 A5 5E - ora Zp5F ; CPU:$BC68 PRG:3C68 05 5F + lda VramWritePtrLo ; CPU:$BC66 PRG:3C66 A5 5E + ora VramWritePtrHi ; CPU:$BC68 PRG:3C68 05 5F bne Reset_OnNonzero ; CPU:$BC6A PRG:3C6A D0 F0 ldx #$7F ; CPU:$BC6C PRG:3C6C A2 7F ; ----------------------------------------------------------------------------- @@ -1122,7 +1134,7 @@ Sub_BC91: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero2: - sta Zp00,x ; CPU:$BC95 PRG:3C95 95 00 + sta PlayerIndex,x ; CPU:$BC95 PRG:3C95 95 00 inx ; CPU:$BC97 PRG:3C97 E8 bne Reset_OnNonzero2 ; CPU:$BC98 PRG:3C98 D0 FB lda #$FF ; CPU:$BC9A PRG:3C9A A9 FF @@ -1132,14 +1144,14 @@ Reset_OnNonzero2: sta PPUSCROLL ; CPU:$BCA4 PRG:3CA4 8D 05 20 sta PPUSCROLL ; CPU:$BCA7 PRG:3CA7 8D 05 20 lda #$10 ; CPU:$BCAA PRG:3CAA A9 10 - sta Zp6A ; CPU:$BCAC PRG:3CAC 85 6A + sta PpuCtrlShadow ; CPU:$BCAC PRG:3CAC 85 6A sta PPUCTRL ; CPU:$BCAE PRG:3CAE 8D 00 20 lda #$18 ; CPU:$BCB1 PRG:3CB1 A9 18 - sta Zp6B ; CPU:$BCB3 PRG:3CB3 85 6B + sta PpuMaskShadow ; CPU:$BCB3 PRG:3CB3 85 6B jsr Sub_CD78 ; CPU:$BCB5 PRG:3CB5 20 78 CD - lda Zp6A ; CPU:$BCB8 PRG:3CB8 A5 6A + lda PpuCtrlShadow ; CPU:$BCB8 PRG:3CB8 A5 6A ora #$84 ; CPU:$BCBA PRG:3CBA 09 84 - sta Zp6A ; CPU:$BCBC PRG:3CBC 85 6A + sta PpuCtrlShadow ; CPU:$BCBC PRG:3CBC 85 6A sta PPUCTRL ; CPU:$BCBE PRG:3CBE 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_BCC1 @@ -1151,11 +1163,95 @@ Reset_OnNonzero2: ; ----------------------------------------------------------------------------- Sub_BCC1: jmp Sub_BCC1 ; CPU:$BCC1 PRG:3CC1 4C C1 BC -; ---- data $BCC4-$BD00 (61 bytes) ---- - .byte $A2, $00, $A9, $00, $9D, $00, $02, $E8, $E8, $E8, $E8, $E8, $E0, $46, $D0, $F2 ; CPU:$BCC4 PRG:3CC4 A2 00 A9 00 9D 00 02 E8 E8 E8 E8 E8 E0 46 D0 F2 - .byte $A9, $03, $8D, $01, $02, $60, $A2, $00, $A9, $00, $9D, $46, $02, $A9, $FF, $9D ; CPU:$BCD4 PRG:3CD4 A9 03 8D 01 02 60 A2 00 A9 00 9D 46 02 A9 FF 9D - .byte $53, $02, $8A, $18, $69, $10, $AA, $E0, $A0, $D0, $ED, $60, $A2, $00, $A9, $00 ; CPU:$BCE4 PRG:3CE4 53 02 8A 18 69 10 AA E0 A0 D0 ED 60 A2 00 A9 00 - .byte $9D, $E6, $02, $8A, $18, $69, $10, $AA, $E0, $80, $D0, $F2, $60 ; CPU:$BCF4 PRG:3CF4 9D E6 02 8A 18 69 10 AA E0 80 D0 F2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCC4 +; Global: Branch target inside Sub: taken when BCC4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCC4: + ldx #$00 ; CPU:$BCC4 PRG:3CC4 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero3 +; Global: Branch target inside Reset: taken when OnNonzero3. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero3: + lda #$00 ; CPU:$BCC6 PRG:3CC6 A9 00 + sta $0200,x ; CPU:$BCC8 PRG:3CC8 9D 00 02 + inx ; CPU:$BCCB PRG:3CCB E8 + inx ; CPU:$BCCC PRG:3CCC E8 + inx ; CPU:$BCCD PRG:3CCD E8 + inx ; CPU:$BCCE PRG:3CCE E8 + inx ; CPU:$BCCF PRG:3CCF E8 + cpx #$46 ; CPU:$BCD0 PRG:3CD0 E0 46 + bne Reset_OnNonzero3 ; CPU:$BCD2 PRG:3CD2 D0 F2 + lda #$03 ; CPU:$BCD4 PRG:3CD4 A9 03 + sta $0201 ; CPU:$BCD6 PRG:3CD6 8D 01 02 + rts ; CPU:$BCD9 PRG:3CD9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCDA +; Global: Branch target inside Sub: taken when BCDA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCDA: + ldx #$00 ; CPU:$BCDA PRG:3CDA A2 00 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero4 +; Global: Branch target inside Reset: taken when OnNonzero4. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero4: + lda #$00 ; CPU:$BCDC PRG:3CDC A9 00 + sta $0246,x ; CPU:$BCDE PRG:3CDE 9D 46 02 + lda #$FF ; CPU:$BCE1 PRG:3CE1 A9 FF + sta $0253,x ; CPU:$BCE3 PRG:3CE3 9D 53 02 + txa ; CPU:$BCE6 PRG:3CE6 8A + clc ; CPU:$BCE7 PRG:3CE7 18 + adc #$10 ; CPU:$BCE8 PRG:3CE8 69 10 + tax ; CPU:$BCEA PRG:3CEA AA + cpx #$A0 ; CPU:$BCEB PRG:3CEB E0 A0 + bne Reset_OnNonzero4 ; CPU:$BCED PRG:3CED D0 ED + rts ; CPU:$BCEF PRG:3CEF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCF0 +; Global: Branch target inside Sub: taken when BCF0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCF0: + ldx #$00 ; CPU:$BCF0 PRG:3CF0 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero5 +; Global: Branch target inside Reset: taken when OnNonzero5. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero5: + lda #$00 ; CPU:$BCF2 PRG:3CF2 A9 00 + sta $02E6,x ; CPU:$BCF4 PRG:3CF4 9D E6 02 + txa ; CPU:$BCF7 PRG:3CF7 8A + clc ; CPU:$BCF8 PRG:3CF8 18 + adc #$10 ; CPU:$BCF9 PRG:3CF9 69 10 + tax ; CPU:$BCFB PRG:3CFB AA + cpx #$80 ; CPU:$BCFC PRG:3CFC E0 80 + bne Reset_OnNonzero5 ; CPU:$BCFE PRG:3CFE D0 F2 + rts ; CPU:$BD00 PRG:3D00 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BD01 ; Global: Branch target inside Sub: taken when BD01. @@ -1167,14 +1263,14 @@ Sub_BCC1: Sub_BD01: ldx #$00 ; CPU:$BD01 PRG:3D01 A2 00 ; ----------------------------------------------------------------------------- -; Routine: Reset_OnNonzero3 -; Global: Branch target inside Reset: taken when OnNonzero3. +; Routine: Reset_OnNonzero6 +; Global: Branch target inside Reset: taken when OnNonzero6. ; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Reset_OnNonzero3: +Reset_OnNonzero6: lda #$00 ; CPU:$BD03 PRG:3D03 A9 00 sta $0366,x ; CPU:$BD05 PRG:3D05 9D 66 03 txa ; CPU:$BD08 PRG:3D08 8A @@ -1182,7 +1278,7 @@ Reset_OnNonzero3: adc #$08 ; CPU:$BD0A PRG:3D0A 69 08 tax ; CPU:$BD0C PRG:3D0C AA cpx #$E0 ; CPU:$BD0D PRG:3D0D E0 E0 - bne Reset_OnNonzero3 ; CPU:$BD0F PRG:3D0F D0 F2 + bne Reset_OnNonzero6 ; CPU:$BD0F PRG:3D0F D0 F2 lda #$FF ; CPU:$BD11 PRG:3D11 A9 FF sta $0506 ; CPU:$BD13 PRG:3D13 8D 06 05 rts ; CPU:$BD16 PRG:3D16 60 @@ -1197,14 +1293,14 @@ Reset_OnNonzero3: Sub_BD17: ldx #$00 ; CPU:$BD17 PRG:3D17 A2 00 ; ----------------------------------------------------------------------------- -; Routine: Reset_OnNonzero4 -; Global: Branch target inside Reset: taken when OnNonzero4. +; Routine: Reset_OnNonzero7 +; Global: Branch target inside Reset: taken when OnNonzero7. ; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Reset_OnNonzero4: +Reset_OnNonzero7: lda #$00 ; CPU:$BD19 PRG:3D19 A9 00 sta $0446,x ; CPU:$BD1B PRG:3D1B 9D 46 04 txa ; CPU:$BD1E PRG:3D1E 8A @@ -1212,7 +1308,7 @@ Reset_OnNonzero4: adc #$08 ; CPU:$BD20 PRG:3D20 69 08 tax ; CPU:$BD22 PRG:3D22 AA cpx #$C0 ; CPU:$BD23 PRG:3D23 E0 C0 - bne Reset_OnNonzero4 ; CPU:$BD25 PRG:3D25 D0 F2 + bne Reset_OnNonzero7 ; CPU:$BD25 PRG:3D25 D0 F2 lda #$FF ; CPU:$BD27 PRG:3D27 A9 FF sta $0506 ; CPU:$BD29 PRG:3D29 8D 06 05 rts ; CPU:$BD2C PRG:3D2C 60 @@ -1227,16 +1323,16 @@ Reset_OnNonzero4: Sub_BD2D: ldy #$00 ; CPU:$BD2D PRG:3D2D A0 00 ; ----------------------------------------------------------------------------- -; Routine: Reset_OnNonzero5 -; Global: Branch target inside Reset: taken when OnNonzero5. +; Routine: Reset_OnNonzero8 +; Global: Branch target inside Reset: taken when OnNonzero8. ; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Reset_OnNonzero5: +Reset_OnNonzero8: dey ; CPU:$BD2F PRG:3D2F 88 - bne Reset_OnNonzero5 ; CPU:$BD30 PRG:3D30 D0 FD + bne Reset_OnNonzero8 ; CPU:$BD30 PRG:3D30 D0 FD rts ; CPU:$BD32 PRG:3D32 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler @@ -1252,7 +1348,7 @@ NmiHandler: lda #$00 ; CPU:$BD38 PRG:3D38 A9 00 sta PPUMASK ; CPU:$BD3A PRG:3D3A 8D 01 20 jsr Sub_CEAB ; CPU:$BD3D PRG:3D3D 20 AB CE - lda Zp6B ; CPU:$BD40 PRG:3D40 A5 6B + lda PpuMaskShadow ; CPU:$BD40 PRG:3D40 A5 6B sta PPUMASK ; CPU:$BD42 PRG:3D42 8D 01 20 lda Zp6C ; CPU:$BD45 PRG:3D45 A5 6C ldx Zp71 ; CPU:$BD47 PRG:3D47 A6 71 @@ -1285,9 +1381,9 @@ NmiHandler_Loop2: inc Zp79 ; CPU:$BD5B PRG:3D5B E6 79 lda #$01 ; CPU:$BD5D PRG:3D5D A9 01 sta Zp7A ; CPU:$BD5F PRG:3D5F 85 7A - lda Zp6A ; CPU:$BD61 PRG:3D61 A5 6A + lda PpuCtrlShadow ; CPU:$BD61 PRG:3D61 A5 6A and #$3F ; CPU:$BD63 PRG:3D63 29 3F - sta Zp6A ; CPU:$BD65 PRG:3D65 85 6A + sta PpuCtrlShadow ; CPU:$BD65 PRG:3D65 85 6A sta PPUCTRL ; CPU:$BD67 PRG:3D67 8D 00 20 jsr Sub_C86F ; CPU:$BD6A PRG:3D6A 20 6F C8 jsr Sub_CF87 ; CPU:$BD6D PRG:3D6D 20 87 CF @@ -1347,14 +1443,14 @@ Sub_BD9C: ldx #$28 ; CPU:$BD9C PRG:3D9C A2 28 jsr Sub_C861 ; CPU:$BD9E PRG:3D9E 20 61 C8 jsr Sub_C12F ; CPU:$BDA1 PRG:3DA1 20 2F C1 - lda Zp90 ; CPU:$BDA4 PRG:3DA4 A5 90 + lda PlayerY ; CPU:$BDA4 PRG:3DA4 A5 90 asl a ; CPU:$BDA6 PRG:3DA6 0A tax ; CPU:$BDA7 PRG:3DA7 AA lda $BDC2,x ; CPU:$BDA8 PRG:3DA8 BD C2 BD - sta Zp99 ; CPU:$BDAB PRG:3DAB 85 99 + sta HandlerPtrLo ; CPU:$BDAB PRG:3DAB 85 99 lda $BDC3,x ; CPU:$BDAD PRG:3DAD BD C3 BD - sta Zp9A ; CPU:$BDB0 PRG:3DB0 85 9A - jmp (Zp99) ; CPU:$BDB2 PRG:3DB2 6C 99 00 + sta HandlerPtrHi ; CPU:$BDB0 PRG:3DB0 85 9A + jmp (HandlerPtrLo) ; CPU:$BDB2 PRG:3DB2 6C 99 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_BDB5 ; Global: Branch target inside Sub: taken when BDB5. @@ -1365,42 +1461,379 @@ Sub_BD9C: ; ----------------------------------------------------------------------------- Sub_BDB5: jsr Sub_CAE0 ; CPU:$BDB5 PRG:3DB5 20 E0 CA - lda Zp6A ; CPU:$BDB8 PRG:3DB8 A5 6A + lda PpuCtrlShadow ; CPU:$BDB8 PRG:3DB8 A5 6A ora #$80 ; CPU:$BDBA PRG:3DBA 09 80 - sta Zp6A ; CPU:$BDBC PRG:3DBC 85 6A + sta PpuCtrlShadow ; CPU:$BDBC PRG:3DBC 85 6A sta PPUCTRL ; CPU:$BDBE PRG:3DBE 8D 00 20 rti ; CPU:$BDC1 PRG:3DC1 40 -; ---- data $BDC2-$BF64 (419 bytes) ---- -; referenced by `lda $BEA7,x` at $BC79 (operand $BEA7 falls inside this region) +; ---- data $BDC2-$BDF6 (53 bytes) ---- ; referenced by `lda $BDC2,x` at $BDA8 (operand $BDC2 falls inside this region) ; referenced by `lda $BDC3,x` at $BDAD (operand $BDC3 falls inside this region) - .byte $D8, $BD, $F3, $BD, $F9, $BD, $05, $BE, $20, $BE, $32, $BE, $47, $BE, $4D, $BE ; CPU:$BDC2 PRG:3DC2 D8 BD F3 BD F9 BD 05 BE 20 BE 32 BE 47 BE 4D BE +ObjectHandlerPointerTable: + .byte $D8, $BD, $F3, $BD, $F9, $BD, $05, $BE, $20, $BE, $32, $BE, $47, $BE, $4D, $BE ; CPU:$BDC2 PRG:-23E D8 BD F3 BD F9 BD 05 BE 20 BE 32 BE 47 BE 4D BE .byte $62, $BE, $77, $BE, $8C, $BE, $20, $C1, $CF, $20, $92, $C5, $20, $DC, $C6, $20 ; CPU:$BDD2 PRG:3DD2 62 BE 77 BE 8C BE 20 C1 CF 20 92 C5 20 DC C6 20 .byte $BB, $DD, $20, $70, $D2, $20, $86, $C4, $20, $9A, $EC, $20, $C1, $BE, $4C, $B5 ; CPU:$BDE2 PRG:3DE2 BB DD 20 70 D2 20 86 C4 20 9A EC 20 C1 BE 4C B5 - .byte $BD, $20, $D4, $E4, $4C, $B5, $BD, $20, $9A, $EC, $20, $DC, $C6, $20, $6A, $E8 ; CPU:$BDF2 PRG:3DF2 BD 20 D4 E4 4C B5 BD 20 9A EC 20 DC C6 20 6A E8 - .byte $4C, $B5, $BD, $20, $C1, $CF, $20, $9A, $EC, $20, $C1, $BE, $20, $DC, $C6, $20 ; CPU:$BE02 PRG:3E02 4C B5 BD 20 C1 CF 20 9A EC 20 C1 BE 20 DC C6 20 - .byte $70, $D2, $20, $86, $C4, $20, $0B, $E6, $20, $BB, $DD, $4C, $B5, $BD, $20, $92 ; CPU:$BE12 PRG:3E12 70 D2 20 86 C4 20 0B E6 20 BB DD 4C B5 BD 20 92 - .byte $C5, $20, $DC, $C6, $20, $9A, $EC, $20, $1C, $E8, $20, $BB, $DD, $4C, $B5, $BD ; CPU:$BE22 PRG:3E22 C5 20 DC C6 20 9A EC 20 1C E8 20 BB DD 4C B5 BD - .byte $20, $C1, $CF, $20, $DC, $C6, $20, $9A, $EC, $20, $70, $D2, $20, $86, $C4, $20 ; CPU:$BE32 PRG:3E32 20 C1 CF 20 DC C6 20 9A EC 20 70 D2 20 86 C4 20 - .byte $4B, $E6, $4C, $B5, $BD, $20, $3C, $E7, $4C, $B5, $BD, $20, $DC, $C6, $20, $C1 ; CPU:$BE42 PRG:3E42 4B E6 4C B5 BD 20 3C E7 4C B5 BD 20 DC C6 20 C1 - .byte $CF, $20, $9A, $EC, $20, $70, $D2, $20, $86, $C4, $20, $65, $E9, $4C, $B5, $BD ; CPU:$BE52 PRG:3E52 CF 20 9A EC 20 70 D2 20 86 C4 20 65 E9 4C B5 BD - .byte $20, $C1, $CF, $20, $9A, $EC, $20, $DC, $C6, $20, $70, $D2, $20, $86, $C4, $20 ; CPU:$BE62 PRG:3E62 20 C1 CF 20 9A EC 20 DC C6 20 70 D2 20 86 C4 20 - .byte $B1, $E5, $4C, $B5, $BD, $20, $C1, $CF, $20, $9A, $EC, $20, $DC, $C6, $20, $70 ; CPU:$BE72 PRG:3E72 B1 E5 4C B5 BD 20 C1 CF 20 9A EC 20 DC C6 20 70 - .byte $D2, $20, $86, $C4, $20, $C9, $E5, $4C, $B5, $BD, $20, $C1, $CF, $20, $70, $D2 ; CPU:$BE82 PRG:3E82 D2 20 86 C4 20 C9 E5 4C B5 BD 20 C1 CF 20 70 D2 - .byte $20, $86, $C4, $20, $9A, $EC, $20, $C1, $BE, $20, $92, $C5, $20, $DC, $C6, $20 ; CPU:$BE92 PRG:3E92 20 86 C4 20 9A EC 20 C1 BE 20 92 C5 20 DC C6 20 - .byte $28, $EA, $4C, $B5, $BD, $1E, $1C, $1D, $0E, $10, $12, $0E, $16, $A2, $00, $BD ; CPU:$BEA2 PRG:3EA2 28 EA 4C B5 BD 1E 1C 1D 0E 10 12 0E 16 A2 00 BD - .byte $46, $02, $D0, $09, $8A, $18, $69, $10, $AA, $E0, $A0, $D0, $F2, $60, $60, $20 ; CPU:$BEB2 PRG:3EB2 46 02 D0 09 8A 18 69 10 AA E0 A0 D0 F2 60 60 20 - .byte $AF, $BE, $D0, $FA, $A5, $00, $D0, $31, $A5, $0B, $F0, $F2, $A5, $01, $0A, $A8 ; CPU:$BEC2 PRG:3EC2 AF BE D0 FA A5 00 D0 31 A5 0B F0 F2 A5 01 0A A8 - .byte $B9, $F4, $AE, $85, $5E, $B9, $F5, $AE, $85, $5F, $A4, $7F, $B1, $5E, $10, $08 ; CPU:$BED2 PRG:3ED2 B9 F4 AE 85 5E B9 F5 AE 85 5F A4 7F B1 5E 10 08 - .byte $18, $65, $7F, $85, $7F, $4C, $DC, $BE, $E6, $7F, $0A, $A8, $B9, $CA, $A9, $85 ; CPU:$BEE2 PRG:3EE2 18 65 7F 85 7F 4C DC BE E6 7F 0A A8 B9 CA A9 85 - .byte $5E, $B9, $CB, $A9, $85, $5F, $4C, $29, $BF, $A5, $0C, $F0, $C1, $A5, $02, $0A ; CPU:$BEF2 PRG:3EF2 5E B9 CB A9 85 5F 4C 29 BF A5 0C F0 C1 A5 02 0A - .byte $A8, $B9, $2C, $AF, $85, $5E, $B9, $2D, $AF, $85, $5F, $A4, $80, $B1, $5E, $10 ; CPU:$BF02 PRG:3F02 A8 B9 2C AF 85 5E B9 2D AF 85 5F A4 80 B1 5E 10 - .byte $08, $18, $65, $80, $85, $80, $4C, $0D, $BF, $E6, $80, $0A, $A8, $B9, $C9, $AC ; CPU:$BF12 PRG:3F12 08 18 65 80 85 80 4C 0D BF E6 80 0A A8 B9 C9 AC - .byte $85, $5E, $B9, $CA, $AC, $85, $5F, $A0, $00, $A2, $00, $B1, $5E, $F0, $33, $9D ; CPU:$BF22 PRG:3F22 85 5E B9 CA AC 85 5F A0 00 A2 00 B1 5E F0 33 9D - .byte $4F, $02, $29, $3F, $9D, $50, $02, $C8, $B1, $5E, $9D, $4D, $02, $C8, $B1, $5E ; CPU:$BF32 PRG:3F32 4F 02 29 3F 9D 50 02 C8 B1 5E 9D 4D 02 C8 B1 5E - .byte $9D, $46, $02, $C8, $A9, $02, $9D, $4A, $02, $A9, $10, $9D, $49, $02, $A9, $00 ; CPU:$BF42 PRG:3F42 9D 46 02 C8 A9 02 9D 4A 02 A9 10 9D 49 02 A9 00 - .byte $9D, $4B, $02, $9D, $4C, $02, $9D, $4E, $02, $8A, $18, $69, $10, $AA, $E0, $A0 ; CPU:$BF52 PRG:3F52 9D 4B 02 9D 4C 02 9D 4E 02 8A 18 69 10 AA E0 A0 - .byte $D0, $C9, $60 ; CPU:$BF62 PRG:3F62 D0 C9 60 + .byte $BD, $20, $D4, $E4, $4C ; CPU:$BDF2 PRG:3DF2 BD 20 D4 E4 4C +; ----------------------------------------------------------------------------- +; Routine: Label_BDF7 +; Global: Branch target inside Label: taken when BDF7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BDF7: + lda ZpBD,x ; CPU:$BDF7 PRG:3DF7 B5 BD + jsr Sub_EC9A ; CPU:$BDF9 PRG:3DF9 20 9A EC + jsr Sub_C6DC ; CPU:$BDFC PRG:3DFC 20 DC C6 + jsr Sub_E86A ; CPU:$BDFF PRG:3DFF 20 6A E8 + jmp Sub_BDB5 ; CPU:$BE02 PRG:3E02 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE05 +; Global: Branch target inside Label: taken when BE05. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE05: + jsr Sub_CFC1 ; CPU:$BE05 PRG:3E05 20 C1 CF + jsr Sub_EC9A ; CPU:$BE08 PRG:3E08 20 9A EC + jsr Sub_BEC1 ; CPU:$BE0B PRG:3E0B 20 C1 BE + jsr Sub_C6DC ; CPU:$BE0E PRG:3E0E 20 DC C6 + jsr Sub_D270 ; CPU:$BE11 PRG:3E11 20 70 D2 + jsr Sub_C486 ; CPU:$BE14 PRG:3E14 20 86 C4 + jsr Sub_E60B ; CPU:$BE17 PRG:3E17 20 0B E6 + jsr Sub_DDBB ; CPU:$BE1A PRG:3E1A 20 BB DD + jmp Sub_BDB5 ; CPU:$BE1D PRG:3E1D 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE20 +; Global: Branch target inside Label: taken when BE20. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE20: + jsr Sub_C592 ; CPU:$BE20 PRG:3E20 20 92 C5 + jsr Sub_C6DC ; CPU:$BE23 PRG:3E23 20 DC C6 + jsr Sub_EC9A ; CPU:$BE26 PRG:3E26 20 9A EC + jsr Sub_E81C ; CPU:$BE29 PRG:3E29 20 1C E8 + jsr Sub_DDBB ; CPU:$BE2C PRG:3E2C 20 BB DD + jmp Sub_BDB5 ; CPU:$BE2F PRG:3E2F 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE32 +; Global: Branch target inside Label: taken when BE32. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE32: + jsr Sub_CFC1 ; CPU:$BE32 PRG:3E32 20 C1 CF + jsr Sub_C6DC ; CPU:$BE35 PRG:3E35 20 DC C6 + jsr Sub_EC9A ; CPU:$BE38 PRG:3E38 20 9A EC + jsr Sub_D270 ; CPU:$BE3B PRG:3E3B 20 70 D2 + jsr Sub_C486 ; CPU:$BE3E PRG:3E3E 20 86 C4 + jsr Sub_E64B ; CPU:$BE41 PRG:3E41 20 4B E6 + jmp Sub_BDB5 ; CPU:$BE44 PRG:3E44 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE47 +; Global: Branch target inside Label: taken when BE47. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE47: + jsr $E73C ; CPU:$BE47 PRG:3E47 20 3C E7 + jmp Sub_BDB5 ; CPU:$BE4A PRG:3E4A 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE4D +; Global: Branch target inside Label: taken when BE4D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE4D: + jsr Sub_C6DC ; CPU:$BE4D PRG:3E4D 20 DC C6 + jsr Sub_CFC1 ; CPU:$BE50 PRG:3E50 20 C1 CF + jsr Sub_EC9A ; CPU:$BE53 PRG:3E53 20 9A EC + jsr Sub_D270 ; CPU:$BE56 PRG:3E56 20 70 D2 + jsr Sub_C486 ; CPU:$BE59 PRG:3E59 20 86 C4 + jsr Sub_E965 ; CPU:$BE5C PRG:3E5C 20 65 E9 + jmp Sub_BDB5 ; CPU:$BE5F PRG:3E5F 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE62 +; Global: Branch target inside Label: taken when BE62. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE62: + jsr Sub_CFC1 ; CPU:$BE62 PRG:3E62 20 C1 CF + jsr Sub_EC9A ; CPU:$BE65 PRG:3E65 20 9A EC + jsr Sub_C6DC ; CPU:$BE68 PRG:3E68 20 DC C6 + jsr Sub_D270 ; CPU:$BE6B PRG:3E6B 20 70 D2 + jsr Sub_C486 ; CPU:$BE6E PRG:3E6E 20 86 C4 + jsr Sub_E5B1 ; CPU:$BE71 PRG:3E71 20 B1 E5 + jmp Sub_BDB5 ; CPU:$BE74 PRG:3E74 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE77 +; Global: Branch target inside Label: taken when BE77. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE77: + jsr Sub_CFC1 ; CPU:$BE77 PRG:3E77 20 C1 CF + jsr Sub_EC9A ; CPU:$BE7A PRG:3E7A 20 9A EC + jsr Sub_C6DC ; CPU:$BE7D PRG:3E7D 20 DC C6 + jsr Sub_D270 ; CPU:$BE80 PRG:3E80 20 70 D2 + jsr Sub_C486 ; CPU:$BE83 PRG:3E83 20 86 C4 + jsr Sub_E5C9 ; CPU:$BE86 PRG:3E86 20 C9 E5 + jmp Sub_BDB5 ; CPU:$BE89 PRG:3E89 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BE8C +; Global: Branch target inside Label: taken when BE8C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE8C: + jsr Sub_CFC1 ; CPU:$BE8C PRG:3E8C 20 C1 CF + jsr Sub_D270 ; CPU:$BE8F PRG:3E8F 20 70 D2 + jsr Sub_C486 ; CPU:$BE92 PRG:3E92 20 86 C4 + jsr Sub_EC9A ; CPU:$BE95 PRG:3E95 20 9A EC + jsr Sub_BEC1 ; CPU:$BE98 PRG:3E98 20 C1 BE + jsr Sub_C592 ; CPU:$BE9B PRG:3E9B 20 92 C5 + jsr Sub_C6DC ; CPU:$BE9E PRG:3E9E 20 DC C6 + jsr Sub_EA28 ; CPU:$BEA1 PRG:3EA1 20 28 EA + jmp Sub_BDB5 ; CPU:$BEA4 PRG:3EA4 4C B5 BD +; ----------------------------------------------------------------------------- +; Routine: Label_BEA7 +; Global: Branch target inside Label: taken when BEA7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BEA7: + asl $1D1C,x ; CPU:$BEA7 PRG:3EA7 1E 1C 1D + asl $1210 ; CPU:$BEAA PRG:3EAA 0E 10 12 +; ----------------------------------------------------------------------------- +; Routine: Label_BEAD +; Global: Branch target inside Label: taken when BEAD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BEAD: + asl $A216 ; CPU:$BEAD PRG:3EAD 0E 16 A2 + brk ; CPU:$BEB0 PRG:3EB0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero +; Global: Branch target inside NmiHandler: taken when the tested value is not zero. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero: + lda $0246,x ; CPU:$BEB1 PRG:3EB1 BD 46 02 + bne NmiHandler_Loop6 ; CPU:$BEB4 PRG:3EB4 D0 09 + txa ; CPU:$BEB6 PRG:3EB6 8A + clc ; CPU:$BEB7 PRG:3EB7 18 + adc #$10 ; CPU:$BEB8 PRG:3EB8 69 10 + tax ; CPU:$BEBA PRG:3EBA AA + cpx #$A0 ; CPU:$BEBB PRG:3EBB E0 A0 + bne NmiHandler_OnNonzero ; CPU:$BEBD PRG:3EBD D0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop6 +; Global: Branch target inside NmiHandler: taken when Loop6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop6: + rts ; CPU:$BEBF PRG:3EBF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero +; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero: + rts ; CPU:$BEC0 PRG:3EC0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BEC1 +; Global: Branch target inside Sub: taken when BEC1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BEC1: + jsr $BEAF ; CPU:$BEC1 PRG:3EC1 20 AF BE + bne NmiHandler_OnZero ; CPU:$BEC4 PRG:3EC4 D0 FA + lda PlayerIndex ; CPU:$BEC6 PRG:3EC6 A5 00 + bne NmiHandler_Loop8 ; CPU:$BEC8 PRG:3EC8 D0 31 + lda Zp0B ; CPU:$BECA PRG:3ECA A5 0B + beq NmiHandler_OnZero ; CPU:$BECC PRG:3ECC F0 F2 + lda PlayerIndex2 ; CPU:$BECE PRG:3ECE A5 01 + asl a ; CPU:$BED0 PRG:3ED0 0A + tay ; CPU:$BED1 PRG:3ED1 A8 + lda $AEF4,y ; CPU:$BED2 PRG:3ED2 B9 F4 AE + sta VramWritePtrLo ; CPU:$BED5 PRG:3ED5 85 5E + lda $AEF5,y ; CPU:$BED7 PRG:3ED7 B9 F5 AE + sta VramWritePtrHi ; CPU:$BEDA PRG:3EDA 85 5F +; ----------------------------------------------------------------------------- +; Routine: Sub_BEDC +; Global: Branch target inside Sub: taken when BEDC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BEDC: + ldy Zp7F ; CPU:$BEDC PRG:3EDC A4 7F + lda (VramWritePtrLo),y ; CPU:$BEDE PRG:3EDE B1 5E + bpl NmiHandler_Loop7 ; CPU:$BEE0 PRG:3EE0 10 08 + clc ; CPU:$BEE2 PRG:3EE2 18 + adc Zp7F ; CPU:$BEE3 PRG:3EE3 65 7F + sta Zp7F ; CPU:$BEE5 PRG:3EE5 85 7F + jmp Sub_BEDC ; CPU:$BEE7 PRG:3EE7 4C DC BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop7 +; Global: Branch target inside NmiHandler: taken when Loop7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop7: + inc Zp7F ; CPU:$BEEA PRG:3EEA E6 7F + asl a ; CPU:$BEEC PRG:3EEC 0A + tay ; CPU:$BEED PRG:3EED A8 + lda $A9CA,y ; CPU:$BEEE PRG:3EEE B9 CA A9 + sta VramWritePtrLo ; CPU:$BEF1 PRG:3EF1 85 5E + lda $A9CB,y ; CPU:$BEF3 PRG:3EF3 B9 CB A9 + sta VramWritePtrHi ; CPU:$BEF6 PRG:3EF6 85 5F + jmp Sub_BF29 ; CPU:$BEF8 PRG:3EF8 4C 29 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop8 +; Global: Branch target inside NmiHandler: taken when Loop8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop8: + lda Zp0C ; CPU:$BEFB PRG:3EFB A5 0C + beq NmiHandler_OnZero ; CPU:$BEFD PRG:3EFD F0 C1 + lda Zp02 ; CPU:$BEFF PRG:3EFF A5 02 + asl a ; CPU:$BF01 PRG:3F01 0A + tay ; CPU:$BF02 PRG:3F02 A8 + lda $AF2C,y ; CPU:$BF03 PRG:3F03 B9 2C AF + sta VramWritePtrLo ; CPU:$BF06 PRG:3F06 85 5E + lda $AF2D,y ; CPU:$BF08 PRG:3F08 B9 2D AF + sta VramWritePtrHi ; CPU:$BF0B PRG:3F0B 85 5F +; ----------------------------------------------------------------------------- +; Routine: Sub_BF0D +; Global: Branch target inside Sub: taken when BF0D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF0D: + ldy Zp80 ; CPU:$BF0D PRG:3F0D A4 80 + lda (VramWritePtrLo),y ; CPU:$BF0F PRG:3F0F B1 5E + bpl NmiHandler_Loop9 ; CPU:$BF11 PRG:3F11 10 08 + clc ; CPU:$BF13 PRG:3F13 18 + adc Zp80 ; CPU:$BF14 PRG:3F14 65 80 + sta Zp80 ; CPU:$BF16 PRG:3F16 85 80 + jmp Sub_BF0D ; CPU:$BF18 PRG:3F18 4C 0D BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop9 +; Global: Branch target inside NmiHandler: taken when Loop9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop9: + inc Zp80 ; CPU:$BF1B PRG:3F1B E6 80 + asl a ; CPU:$BF1D PRG:3F1D 0A + tay ; CPU:$BF1E PRG:3F1E A8 + lda $ACC9,y ; CPU:$BF1F PRG:3F1F B9 C9 AC + sta VramWritePtrLo ; CPU:$BF22 PRG:3F22 85 5E + lda $ACCA,y ; CPU:$BF24 PRG:3F24 B9 CA AC + sta VramWritePtrHi ; CPU:$BF27 PRG:3F27 85 5F +; ----------------------------------------------------------------------------- +; Routine: Sub_BF29 +; Global: Branch target inside Sub: taken when BF29. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF29: + ldy #$00 ; CPU:$BF29 PRG:3F29 A0 00 + ldx #$00 ; CPU:$BF2B PRG:3F2B A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero2 +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero2: + lda (VramWritePtrLo),y ; CPU:$BF2D PRG:3F2D B1 5E + beq NmiHandler_Loop10 ; CPU:$BF2F PRG:3F2F F0 33 + sta $024F,x ; CPU:$BF31 PRG:3F31 9D 4F 02 + and #$3F ; CPU:$BF34 PRG:3F34 29 3F + sta $0250,x ; CPU:$BF36 PRG:3F36 9D 50 02 + iny ; CPU:$BF39 PRG:3F39 C8 + lda (VramWritePtrLo),y ; CPU:$BF3A PRG:3F3A B1 5E + sta $024D,x ; CPU:$BF3C PRG:3F3C 9D 4D 02 + iny ; CPU:$BF3F PRG:3F3F C8 + lda (VramWritePtrLo),y ; CPU:$BF40 PRG:3F40 B1 5E + sta $0246,x ; CPU:$BF42 PRG:3F42 9D 46 02 + iny ; CPU:$BF45 PRG:3F45 C8 + lda #$02 ; CPU:$BF46 PRG:3F46 A9 02 + sta $024A,x ; CPU:$BF48 PRG:3F48 9D 4A 02 + lda #$10 ; CPU:$BF4B PRG:3F4B A9 10 + sta $0249,x ; CPU:$BF4D PRG:3F4D 9D 49 02 + lda #$00 ; CPU:$BF50 PRG:3F50 A9 00 + sta $024B,x ; CPU:$BF52 PRG:3F52 9D 4B 02 + sta $024C,x ; CPU:$BF55 PRG:3F55 9D 4C 02 + sta $024E,x ; CPU:$BF58 PRG:3F58 9D 4E 02 + txa ; CPU:$BF5B PRG:3F5B 8A + clc ; CPU:$BF5C PRG:3F5C 18 + adc #$10 ; CPU:$BF5D PRG:3F5D 69 10 + tax ; CPU:$BF5F PRG:3F5F AA + cpx #$A0 ; CPU:$BF60 PRG:3F60 E0 A0 + bne NmiHandler_OnNonzero2 ; CPU:$BF62 PRG:3F62 D0 C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop10 +; Global: Branch target inside NmiHandler: taken when Loop10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop10: + rts ; CPU:$BF64 PRG:3F64 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF65 ; Global: Branch target inside Sub: taken when BF65. @@ -1411,112 +1844,112 @@ Sub_BDB5: ; ----------------------------------------------------------------------------- Sub_BF65: lda #$00 ; CPU:$BF65 PRG:3F65 A9 00 - sta Zp68 ; CPU:$BF67 PRG:3F67 85 68 + sta ObjectTimer ; CPU:$BF67 PRG:3F67 85 68 tya ; CPU:$BF69 PRG:3F69 98 pha ; CPU:$BF6A PRG:3F6A 48 lda Zp72 ; CPU:$BF6B PRG:3F6B A5 72 asl a ; CPU:$BF6D PRG:3F6D 0A tay ; CPU:$BF6E PRG:3F6E A8 lda $AF4C,y ; CPU:$BF6F PRG:3F6F B9 4C AF - sta Zp62 ; CPU:$BF72 PRG:3F72 85 62 + sta VramReadPtrLo ; CPU:$BF72 PRG:3F72 85 62 lda $AF4D,y ; CPU:$BF74 PRG:3F74 B9 4D AF - sta Zp63 ; CPU:$BF77 PRG:3F77 85 63 + sta VramReadPtrHi ; CPU:$BF77 PRG:3F77 85 63 ldy #$00 ; CPU:$BF79 PRG:3F79 A0 00 - lda (Zp62),y ; CPU:$BF7B PRG:3F7B B1 62 - sta Zp60 ; CPU:$BF7D PRG:3F7D 85 60 + lda (VramReadPtrLo),y ; CPU:$BF7B PRG:3F7B B1 62 + sta ObjectX ; CPU:$BF7D PRG:3F7D 85 60 iny ; CPU:$BF7F PRG:3F7F C8 - lda (Zp62),y ; CPU:$BF80 PRG:3F80 B1 62 - sta Zp61 ; CPU:$BF82 PRG:3F82 85 61 - inc Zp64 ; CPU:$BF84 PRG:3F84 E6 64 - lda Zp64 ; CPU:$BF86 PRG:3F86 A5 64 - cmp Zp60 ; CPU:$BF88 PRG:3F88 C5 60 - bcc NmiHandler_Loop7 ; CPU:$BF8A PRG:3F8A 90 1B - lda Zp61 ; CPU:$BF8C PRG:3F8C A5 61 - bpl NmiHandler_Loop6 ; CPU:$BF8E PRG:3F8E 10 11 + lda (VramReadPtrLo),y ; CPU:$BF80 PRG:3F80 B1 62 + sta ObjectY ; CPU:$BF82 PRG:3F82 85 61 + inc TimerIndex ; CPU:$BF84 PRG:3F84 E6 64 + lda TimerIndex ; CPU:$BF86 PRG:3F86 A5 64 + cmp ObjectX ; CPU:$BF88 PRG:3F88 C5 60 + bcc NmiHandler_Loop12 ; CPU:$BF8A PRG:3F8A 90 1B + lda ObjectY ; CPU:$BF8C PRG:3F8C A5 61 + bpl NmiHandler_Loop11 ; CPU:$BF8E PRG:3F8E 10 11 and #$0F ; CPU:$BF90 PRG:3F90 29 0F - sta Zp61 ; CPU:$BF92 PRG:3F92 85 61 + sta ObjectY ; CPU:$BF92 PRG:3F92 85 61 lda Zp65 ; CPU:$BF94 PRG:3F94 A5 65 - cmp Zp61 ; CPU:$BF96 PRG:3F96 C5 61 - bcc NmiHandler_Loop6 ; CPU:$BF98 PRG:3F98 90 07 + cmp ObjectY ; CPU:$BF96 PRG:3F96 C5 61 + bcc NmiHandler_Loop11 ; CPU:$BF98 PRG:3F98 90 07 pla ; CPU:$BF9A PRG:3F9A 68 tay ; CPU:$BF9B PRG:3F9B A8 lda #$01 ; CPU:$BF9C PRG:3F9C A9 01 - sta Zp68 ; CPU:$BF9E PRG:3F9E 85 68 + sta ObjectTimer ; CPU:$BF9E PRG:3F9E 85 68 rts ; CPU:$BFA0 PRG:3FA0 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop6 -; Global: Branch target inside NmiHandler: taken when Loop6. +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop6: +NmiHandler_Loop11: lda #$00 ; CPU:$BFA1 PRG:3FA1 A9 00 - sta Zp64 ; CPU:$BFA3 PRG:3FA3 85 64 + sta TimerIndex ; CPU:$BFA3 PRG:3FA3 85 64 inc Zp65 ; CPU:$BFA5 PRG:3FA5 E6 65 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop7 -; Global: Branch target inside NmiHandler: taken when Loop7. +; Routine: NmiHandler_Loop12 +; Global: Branch target inside NmiHandler: taken when Loop12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop7: +NmiHandler_Loop12: lda Zp65 ; CPU:$BFA7 PRG:3FA7 A5 65 - and Zp61 ; CPU:$BFA9 PRG:3FA9 25 61 + and ObjectY ; CPU:$BFA9 PRG:3FA9 25 61 sta Zp65 ; CPU:$BFAB PRG:3FAB 85 65 asl a ; CPU:$BFAD PRG:3FAD 0A clc ; CPU:$BFAE PRG:3FAE 18 adc #$02 ; CPU:$BFAF PRG:3FAF 69 02 tay ; CPU:$BFB1 PRG:3FB1 A8 - lda (Zp62),y ; CPU:$BFB2 PRG:3FB2 B1 62 - sta Zp5E ; CPU:$BFB4 PRG:3FB4 85 5E + lda (VramReadPtrLo),y ; CPU:$BFB2 PRG:3FB2 B1 62 + sta VramWritePtrLo ; CPU:$BFB4 PRG:3FB4 85 5E iny ; CPU:$BFB6 PRG:3FB6 C8 - lda (Zp62),y ; CPU:$BFB7 PRG:3FB7 B1 62 - sta Zp5F ; CPU:$BFB9 PRG:3FB9 85 5F + lda (VramReadPtrLo),y ; CPU:$BFB7 PRG:3FB7 B1 62 + sta VramWritePtrHi ; CPU:$BFB9 PRG:3FB9 85 5F ldy #$00 ; CPU:$BFBB PRG:3FBB A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero -; Global: Branch target inside NmiHandler: taken when the tested value is not zero. +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero: - lda (Zp5E),y ; CPU:$BFBD PRG:3FBD B1 5E +NmiHandler_OnNonzero3: + lda (VramWritePtrLo),y ; CPU:$BFBD PRG:3FBD B1 5E cmp #$FF ; CPU:$BFBF PRG:3FBF C9 FF - beq NmiHandler_Loop11 ; CPU:$BFC1 PRG:3FC1 F0 54 + beq NmiHandler_Loop16 ; CPU:$BFC1 PRG:3FC1 F0 54 iny ; CPU:$BFC3 PRG:3FC3 C8 sta $0702,x ; CPU:$BFC4 PRG:3FC4 9D 02 07 - lda (Zp5E),y ; CPU:$BFC7 PRG:3FC7 B1 5E + lda (VramWritePtrLo),y ; CPU:$BFC7 PRG:3FC7 B1 5E pha ; CPU:$BFC9 PRG:3FC9 48 iny ; CPU:$BFCA PRG:3FCA C8 clc ; CPU:$BFCB PRG:3FCB 18 adc Zp73 ; CPU:$BFCC PRG:3FCC 65 73 - sta Zp62 ; CPU:$BFCE PRG:3FCE 85 62 + sta VramReadPtrLo ; CPU:$BFCE PRG:3FCE 85 62 pla ; CPU:$BFD0 PRG:3FD0 68 - bpl NmiHandler_Loop8 ; CPU:$BFD1 PRG:3FD1 10 0B + bpl NmiHandler_Loop13 ; CPU:$BFD1 PRG:3FD1 10 0B lda Zp74 ; CPU:$BFD3 PRG:3FD3 A5 74 sbc #$00 ; CPU:$BFD5 PRG:3FD5 E9 00 cmp #$01 ; CPU:$BFD7 PRG:3FD7 C9 01 - beq NmiHandler_Loop9 ; CPU:$BFD9 PRG:3FD9 F0 14 + beq NmiHandler_Loop14 ; CPU:$BFD9 PRG:3FD9 F0 14 jmp Sub_BFE6 ; CPU:$BFDB PRG:3FDB 4C E6 BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop8 -; Global: Branch target inside NmiHandler: taken when Loop8. +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop8: +NmiHandler_Loop13: lda #$00 ; CPU:$BFDE PRG:3FDE A9 00 adc Zp74 ; CPU:$BFE0 PRG:3FE0 65 74 cmp #$01 ; CPU:$BFE2 PRG:3FE2 C9 01 - beq NmiHandler_Loop9 ; CPU:$BFE4 PRG:3FE4 F0 09 + beq NmiHandler_Loop14 ; CPU:$BFE4 PRG:3FE4 F0 09 ; ----------------------------------------------------------------------------- ; Routine: Sub_BFE6 ; Global: Branch target inside Sub: taken when BFE6. @@ -1538,57 +1971,57 @@ Sub_BFE6: NmiHandler_OnCarryClear: iny ; CPU:$BFE7 PRG:3FE7 C8 cpy #$50 ; CPU:$BFE8 PRG:3FE8 C0 50 - bne NmiHandler_OnNonzero ; CPU:$BFEA PRG:3FEA D0 D1 - jmp NmiHandler_Loop11 ; CPU:$BFEC PRG:3FEC 4C 17 C0 + bne NmiHandler_OnNonzero3 ; CPU:$BFEA PRG:3FEA D0 D1 + jmp NmiHandler_Loop16 ; CPU:$BFEC PRG:3FEC 4C 17 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop9 -; Global: Branch target inside NmiHandler: taken when Loop9. +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop9: - lda Zp62 ; CPU:$BFEF PRG:3FEF A5 62 +NmiHandler_Loop14: + lda VramReadPtrLo ; CPU:$BFEF PRG:3FEF A5 62 sta $0703,x ; CPU:$BFF1 PRG:3FF1 9D 03 07 - lda (Zp5E),y ; CPU:$BFF4 PRG:3FF4 B1 5E + lda (VramWritePtrLo),y ; CPU:$BFF4 PRG:3FF4 B1 5E iny ; CPU:$BFF6 PRG:3FF6 C8 clc ; CPU:$BFF7 PRG:3FF7 18 adc Zp75 ; CPU:$BFF8 PRG:3FF8 65 75 sta $0700,x ; CPU:$BFFA PRG:3FFA 9D 00 07 - lda Zp00 ; CPU:$BFFD PRG:3FFD A5 00 - bne NmiHandler_Loop10 ; CPU:$BFFF PRG:3FFF D0 0A + lda PlayerIndex ; CPU:$BFFD PRG:3FFD A5 00 + bne NmiHandler_Loop15 ; CPU:$BFFF PRG:3FFF D0 0A lda #$EF ; CPU:$C001 PRG:4001 A9 EF sec ; CPU:$C003 PRG:4003 38 sbc Zp6E ; CPU:$C004 PRG:4004 E5 6E cmp $0700,x ; CPU:$C006 PRG:4006 DD 00 07 bcc NmiHandler_OnCarryClear ; CPU:$C009 PRG:4009 90 DC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop10 -; Global: Branch target inside NmiHandler: taken when Loop10. +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop10: - lda (Zp5E),y ; CPU:$C00B PRG:400B B1 5E +NmiHandler_Loop15: + lda (VramWritePtrLo),y ; CPU:$C00B PRG:400B B1 5E iny ; CPU:$C00D PRG:400D C8 sta $0701,x ; CPU:$C00E PRG:400E 9D 01 07 inx ; CPU:$C011 PRG:4011 E8 inx ; CPU:$C012 PRG:4012 E8 inx ; CPU:$C013 PRG:4013 E8 inx ; CPU:$C014 PRG:4014 E8 - bne NmiHandler_OnNonzero ; CPU:$C015 PRG:4015 D0 A6 + bne NmiHandler_OnNonzero3 ; CPU:$C015 PRG:4015 D0 A6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop11: +NmiHandler_Loop16: pla ; CPU:$C017 PRG:4017 68 tay ; CPU:$C018 PRG:4018 A8 rts ; CPU:$C019 PRG:4019 60 @@ -1605,20 +2038,20 @@ Sub_C01A: adc #$10 ; CPU:$C01B PRG:401B 69 10 sec ; CPU:$C01D PRG:401D 38 sbc Zp6E ; CPU:$C01E PRG:401E E5 6E - bcc NmiHandler_Loop12 ; CPU:$C020 PRG:4020 90 06 + bcc NmiHandler_Loop17 ; CPU:$C020 PRG:4020 90 06 sec ; CPU:$C022 PRG:4022 38 sbc #$10 ; CPU:$C023 PRG:4023 E9 10 sta Zp75 ; CPU:$C025 PRG:4025 85 75 sec ; CPU:$C027 PRG:4027 38 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop12 -; Global: Branch target inside NmiHandler: taken when Loop12. +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop12: +NmiHandler_Loop17: rts ; CPU:$C028 PRG:4028 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C029 @@ -1634,19 +2067,19 @@ Sub_C029: adc #$10 ; CPU:$C02C PRG:402C 69 10 eor #$FF ; CPU:$C02E PRG:402E 49 FF clc ; CPU:$C030 PRG:4030 18 - adc Zp5E ; CPU:$C031 PRG:4031 65 5E - bcs NmiHandler_Loop13 ; CPU:$C033 PRG:4033 B0 04 + adc VramWritePtrLo ; CPU:$C031 PRG:4031 65 5E + bcs NmiHandler_Loop18 ; CPU:$C033 PRG:4033 B0 04 cmp #$EF ; CPU:$C035 PRG:4035 C9 EF sta Zp75 ; CPU:$C037 PRG:4037 85 75 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop13 -; Global: Branch target inside NmiHandler: taken when Loop13. +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop13: +NmiHandler_Loop18: rts ; CPU:$C039 PRG:4039 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C03A @@ -1661,21 +2094,21 @@ Sub_C03A: lda Zp89 ; CPU:$C03C PRG:403C A5 89 sta Zp66 ; CPU:$C03E PRG:403E 85 66 ldy #$00 ; CPU:$C040 PRG:4040 A0 00 - lda Zp8B ; CPU:$C042 PRG:4042 A5 8B - bmi NmiHandler_Loop16 ; CPU:$C044 PRG:4044 30 44 + lda LevelIndex ; CPU:$C042 PRG:4042 A5 8B + bmi NmiHandler_Loop21 ; CPU:$C044 PRG:4044 30 44 lda #$01 ; CPU:$C046 PRG:4046 A9 01 sta Zp74 ; CPU:$C048 PRG:4048 85 74 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero2: +NmiHandler_OnNonzero4: lda $0200,y ; CPU:$C04A PRG:404A B9 00 02 - beq NmiHandler_Loop15 ; CPU:$C04D PRG:404D F0 32 + beq NmiHandler_Loop20 ; CPU:$C04D PRG:404D F0 32 sta Zp72 ; CPU:$C04F PRG:404F 85 72 lda $0201,y ; CPU:$C051 PRG:4051 B9 01 02 clc ; CPU:$C054 PRG:4054 18 @@ -1686,52 +2119,52 @@ NmiHandler_OnNonzero2: adc Zp67 ; CPU:$C05D PRG:405D 65 67 sta Zp75 ; CPU:$C05F PRG:405F 85 75 lda $0203,y ; CPU:$C061 PRG:4061 B9 03 02 - sta Zp64 ; CPU:$C064 PRG:4064 85 64 + sta TimerIndex ; CPU:$C064 PRG:4064 85 64 lda $0204,y ; CPU:$C066 PRG:4066 B9 04 02 sta Zp65 ; CPU:$C069 PRG:4069 85 65 jsr Sub_BF65 ; CPU:$C06B PRG:406B 20 65 BF - lda Zp68 ; CPU:$C06E PRG:406E A5 68 - beq NmiHandler_Loop14 ; CPU:$C070 PRG:4070 F0 05 + lda ObjectTimer ; CPU:$C06E PRG:406E A5 68 + beq NmiHandler_Loop19 ; CPU:$C070 PRG:4070 F0 05 lda #$00 ; CPU:$C072 PRG:4072 A9 00 sta $0200,y ; CPU:$C074 PRG:4074 99 00 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop14 -; Global: Branch target inside NmiHandler: taken when Loop14. +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop14: - lda Zp64 ; CPU:$C077 PRG:4077 A5 64 +NmiHandler_Loop19: + lda TimerIndex ; CPU:$C077 PRG:4077 A5 64 sta $0203,y ; CPU:$C079 PRG:4079 99 03 02 lda Zp65 ; CPU:$C07C PRG:407C A5 65 sta $0204,y ; CPU:$C07E PRG:407E 99 04 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop15 -; Global: Branch target inside NmiHandler: taken when Loop15. +; Routine: NmiHandler_Loop20 +; Global: Branch target inside NmiHandler: taken when Loop20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop15: +NmiHandler_Loop20: iny ; CPU:$C081 PRG:4081 C8 iny ; CPU:$C082 PRG:4082 C8 iny ; CPU:$C083 PRG:4083 C8 iny ; CPU:$C084 PRG:4084 C8 iny ; CPU:$C085 PRG:4085 C8 cpy #$0F ; CPU:$C086 PRG:4086 C0 0F - bne NmiHandler_OnNonzero2 ; CPU:$C088 PRG:4088 D0 C0 + bne NmiHandler_OnNonzero4 ; CPU:$C088 PRG:4088 D0 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop16 -; Global: Branch target inside NmiHandler: taken when Loop16. +; Routine: NmiHandler_Loop21 +; Global: Branch target inside NmiHandler: taken when Loop21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop16: +NmiHandler_Loop21: rts ; CPU:$C08A PRG:408A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C08B @@ -1743,29 +2176,29 @@ NmiHandler_Loop16: ; ----------------------------------------------------------------------------- Sub_C08B: lda $0366,y ; CPU:$C08B PRG:408B B9 66 03 - beq NmiHandler_Loop19 ; CPU:$C08E PRG:408E F0 4B + beq NmiHandler_Loop24 ; CPU:$C08E PRG:408E F0 4B cmp #$80 ; CPU:$C090 PRG:4090 C9 80 - bcc NmiHandler_Loop19 ; CPU:$C092 PRG:4092 90 47 + bcc NmiHandler_Loop24 ; CPU:$C092 PRG:4092 90 47 sta Zp72 ; CPU:$C094 PRG:4094 85 72 lda $036A,y ; CPU:$C096 PRG:4096 B9 6A 03 cmp #$02 ; CPU:$C099 PRG:4099 C9 02 - bcs NmiHandler_Loop19 ; CPU:$C09B PRG:409B B0 3E + bcs NmiHandler_Loop24 ; CPU:$C09B PRG:409B B0 3E lda Zp70 ; CPU:$C09D PRG:409D A5 70 - beq NmiHandler_Loop17 ; CPU:$C09F PRG:409F F0 06 + beq NmiHandler_Loop22 ; CPU:$C09F PRG:409F F0 06 lda $0367,y ; CPU:$C0A1 PRG:40A1 B9 67 03 jmp Sub_C0AF ; CPU:$C0A4 PRG:40A4 4C AF C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop17 -; Global: Branch target inside NmiHandler: taken when Loop17. +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop17: +NmiHandler_Loop22: lda $0367,y ; CPU:$C0A7 PRG:40A7 B9 67 03 jsr Sub_C01A ; CPU:$C0AA PRG:40AA 20 1A C0 - bcc NmiHandler_Loop19 ; CPU:$C0AD PRG:40AD 90 2C + bcc NmiHandler_Loop24 ; CPU:$C0AD PRG:40AD 90 2C ; ----------------------------------------------------------------------------- ; Routine: Sub_C0AF ; Global: Branch target inside Sub: taken when C0AF. @@ -1781,36 +2214,36 @@ Sub_C0AF: lda $036A,y ; CPU:$C0B6 PRG:40B6 B9 6A 03 sta Zp74 ; CPU:$C0B9 PRG:40B9 85 74 lda $036B,y ; CPU:$C0BB PRG:40BB B9 6B 03 - sta Zp64 ; CPU:$C0BE PRG:40BE 85 64 + sta TimerIndex ; CPU:$C0BE PRG:40BE 85 64 lda $036C,y ; CPU:$C0C0 PRG:40C0 B9 6C 03 sta Zp65 ; CPU:$C0C3 PRG:40C3 85 65 jsr Sub_BF65 ; CPU:$C0C5 PRG:40C5 20 65 BF - lda Zp68 ; CPU:$C0C8 PRG:40C8 A5 68 - beq NmiHandler_Loop18 ; CPU:$C0CA PRG:40CA F0 05 + lda ObjectTimer ; CPU:$C0C8 PRG:40C8 A5 68 + beq NmiHandler_Loop23 ; CPU:$C0CA PRG:40CA F0 05 lda #$00 ; CPU:$C0CC PRG:40CC A9 00 sta $0366,y ; CPU:$C0CE PRG:40CE 99 66 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop18: - lda Zp64 ; CPU:$C0D1 PRG:40D1 A5 64 +NmiHandler_Loop23: + lda TimerIndex ; CPU:$C0D1 PRG:40D1 A5 64 sta $036B,y ; CPU:$C0D3 PRG:40D3 99 6B 03 lda Zp65 ; CPU:$C0D6 PRG:40D6 A5 65 sta $036C,y ; CPU:$C0D8 PRG:40D8 99 6C 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop19 -; Global: Branch target inside NmiHandler: taken when Loop19. +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop19: +NmiHandler_Loop24: rts ; CPU:$C0DB PRG:40DB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C0DC @@ -1822,30 +2255,30 @@ NmiHandler_Loop19: ; ----------------------------------------------------------------------------- Sub_C0DC: lda $0446,y ; CPU:$C0DC PRG:40DC B9 46 04 - beq NmiHandler_Loop22 ; CPU:$C0DF PRG:40DF F0 4D + beq NmiHandler_Loop27 ; CPU:$C0DF PRG:40DF F0 4D cmp #$80 ; CPU:$C0E1 PRG:40E1 C9 80 - bcc NmiHandler_Loop22 ; CPU:$C0E3 PRG:40E3 90 49 + bcc NmiHandler_Loop27 ; CPU:$C0E3 PRG:40E3 90 49 sta Zp72 ; CPU:$C0E5 PRG:40E5 85 72 lda $044A,y ; CPU:$C0E7 PRG:40E7 B9 4A 04 cmp #$02 ; CPU:$C0EA PRG:40EA C9 02 - bcs NmiHandler_Loop22 ; CPU:$C0EC PRG:40EC B0 40 + bcs NmiHandler_Loop27 ; CPU:$C0EC PRG:40EC B0 40 lda Zp70 ; CPU:$C0EE PRG:40EE A5 70 - beq NmiHandler_Loop20 ; CPU:$C0F0 PRG:40F0 F0 06 + beq NmiHandler_Loop25 ; CPU:$C0F0 PRG:40F0 F0 06 lda $0447,y ; CPU:$C0F2 PRG:40F2 B9 47 04 jmp Sub_C102 ; CPU:$C0F5 PRG:40F5 4C 02 C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop20 -; Global: Branch target inside NmiHandler: taken when Loop20. +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop20: +NmiHandler_Loop25: lda $0447,y ; CPU:$C0F8 PRG:40F8 B9 47 04 - sta Zp5E ; CPU:$C0FB PRG:40FB 85 5E + sta VramWritePtrLo ; CPU:$C0FB PRG:40FB 85 5E jsr Sub_C029 ; CPU:$C0FD PRG:40FD 20 29 C0 - bcs NmiHandler_Loop22 ; CPU:$C100 PRG:4100 B0 2C + bcs NmiHandler_Loop27 ; CPU:$C100 PRG:4100 B0 2C ; ----------------------------------------------------------------------------- ; Routine: Sub_C102 ; Global: Branch target inside Sub: taken when C102. @@ -1861,36 +2294,36 @@ Sub_C102: lda $044A,y ; CPU:$C109 PRG:4109 B9 4A 04 sta Zp74 ; CPU:$C10C PRG:410C 85 74 lda $044B,y ; CPU:$C10E PRG:410E B9 4B 04 - sta Zp64 ; CPU:$C111 PRG:4111 85 64 + sta TimerIndex ; CPU:$C111 PRG:4111 85 64 lda $044C,y ; CPU:$C113 PRG:4113 B9 4C 04 sta Zp65 ; CPU:$C116 PRG:4116 85 65 jsr Sub_BF65 ; CPU:$C118 PRG:4118 20 65 BF - lda Zp68 ; CPU:$C11B PRG:411B A5 68 - beq NmiHandler_Loop21 ; CPU:$C11D PRG:411D F0 05 + lda ObjectTimer ; CPU:$C11B PRG:411B A5 68 + beq NmiHandler_Loop26 ; CPU:$C11D PRG:411D F0 05 lda #$00 ; CPU:$C11F PRG:411F A9 00 sta $0446,y ; CPU:$C121 PRG:4121 99 46 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop21 -; Global: Branch target inside NmiHandler: taken when Loop21. +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop21: - lda Zp64 ; CPU:$C124 PRG:4124 A5 64 +NmiHandler_Loop26: + lda TimerIndex ; CPU:$C124 PRG:4124 A5 64 sta $044B,y ; CPU:$C126 PRG:4126 99 4B 04 lda Zp65 ; CPU:$C129 PRG:4129 A5 65 sta $044C,y ; CPU:$C12B PRG:412B 99 4C 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop22 -; Global: Branch target inside NmiHandler: taken when Loop22. +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop22: +NmiHandler_Loop27: rts ; CPU:$C12E PRG:412E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C12F @@ -1902,15 +2335,15 @@ NmiHandler_Loop22: ; ----------------------------------------------------------------------------- Sub_C12F: ldx #$28 ; CPU:$C12F PRG:412F A2 28 - lda Zp00 ; CPU:$C131 PRG:4131 A5 00 - bne NmiHandler_Loop25 ; CPU:$C133 PRG:4133 D0 38 + lda PlayerIndex ; CPU:$C131 PRG:4131 A5 00 + bne NmiHandler_Loop30 ; CPU:$C133 PRG:4133 D0 38 ldy #$00 ; CPU:$C135 PRG:4135 A0 00 jsr Sub_C08B ; CPU:$C137 PRG:4137 20 8B C0 lda #$00 ; CPU:$C13A PRG:413A A9 00 sta Zp6E ; CPU:$C13C PRG:413C 85 6E - lda Zp8A ; CPU:$C13E PRG:413E A5 8A + lda GameState ; CPU:$C13E PRG:413E A5 8A cmp #$78 ; CPU:$C140 PRG:4140 C9 78 - bcc NmiHandler_Loop23 ; CPU:$C142 PRG:4142 90 09 + bcc NmiHandler_Loop28 ; CPU:$C142 PRG:4142 90 09 sec ; CPU:$C144 PRG:4144 38 sbc #$77 ; CPU:$C145 PRG:4145 E9 77 lsr a ; CPU:$C147 PRG:4147 4A @@ -1918,17 +2351,17 @@ Sub_C12F: clc ; CPU:$C14A PRG:414A 18 adc #$78 ; CPU:$C14B PRG:414B 69 78 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop28: jsr Sub_C03A ; CPU:$C14D PRG:414D 20 3A C0 lda $0205 ; CPU:$C150 PRG:4150 AD 05 02 - beq NmiHandler_Loop24 ; CPU:$C153 PRG:4153 F0 15 + beq NmiHandler_Loop29 ; CPU:$C153 PRG:4153 F0 15 lda Zp67 ; CPU:$C155 PRG:4155 A5 67 sta Zp75 ; CPU:$C157 PRG:4157 85 75 lda #$07 ; CPU:$C159 PRG:4159 A9 07 @@ -1936,53 +2369,53 @@ NmiHandler_Loop23: lda Zp89 ; CPU:$C15D PRG:415D A5 89 sta Zp73 ; CPU:$C15F PRG:415F 85 73 lda #$00 ; CPU:$C161 PRG:4161 A9 00 - sta Zp64 ; CPU:$C163 PRG:4163 85 64 + sta TimerIndex ; CPU:$C163 PRG:4163 85 64 sta Zp65 ; CPU:$C165 PRG:4165 85 65 jsr Sub_BF65 ; CPU:$C167 PRG:4167 20 65 BF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop29: jmp Sub_C18E ; CPU:$C16A PRG:416A 4C 8E C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop30: ldy #$00 ; CPU:$C16D PRG:416D A0 00 jsr Sub_C0DC ; CPU:$C16F PRG:416F 20 DC C0 lda #$EF ; CPU:$C172 PRG:4172 A9 EF sta Zp6E ; CPU:$C174 PRG:4174 85 6E - lda Zp8A ; CPU:$C176 PRG:4176 A5 8A + lda GameState ; CPU:$C176 PRG:4176 A5 8A cmp #$77 ; CPU:$C178 PRG:4178 C9 77 - bcs NmiHandler_Loop26 ; CPU:$C17A PRG:417A B0 0F + bcs NmiHandler_Loop31 ; CPU:$C17A PRG:417A B0 0F lsr a ; CPU:$C17C PRG:417C 4A - sta Zp5E ; CPU:$C17D PRG:417D 85 5E + sta VramWritePtrLo ; CPU:$C17D PRG:417D 85 5E lda #$B4 ; CPU:$C17F PRG:417F A9 B4 clc ; CPU:$C181 PRG:4181 18 - adc Zp5E ; CPU:$C182 PRG:4182 65 5E + adc VramWritePtrLo ; CPU:$C182 PRG:4182 65 5E sta Zp6E ; CPU:$C184 PRG:4184 85 6E - lda Zp5E ; CPU:$C186 PRG:4186 A5 5E + lda VramWritePtrLo ; CPU:$C186 PRG:4186 A5 5E clc ; CPU:$C188 PRG:4188 18 adc #$3B ; CPU:$C189 PRG:4189 69 3B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: +NmiHandler_Loop31: jsr Sub_C03A ; CPU:$C18B PRG:418B 20 3A C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_C18E @@ -1995,36 +2428,36 @@ NmiHandler_Loop26: Sub_C18E: ldy #$00 ; CPU:$C18E PRG:418E A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: +NmiHandler_OnNonzero5: lda $0219,y ; CPU:$C190 PRG:4190 B9 19 02 - beq NmiHandler_Loop28 ; CPU:$C193 PRG:4193 F0 40 + beq NmiHandler_Loop33 ; CPU:$C193 PRG:4193 F0 40 sta Zp72 ; CPU:$C195 PRG:4195 85 72 - lda Zp00 ; CPU:$C197 PRG:4197 A5 00 - bne NmiHandler_Loop27 ; CPU:$C199 PRG:4199 D0 0B + lda PlayerIndex ; CPU:$C197 PRG:4197 A5 00 + bne NmiHandler_Loop32 ; CPU:$C199 PRG:4199 D0 0B lda $021A,y ; CPU:$C19B PRG:419B B9 1A 02 jsr Sub_C01A ; CPU:$C19E PRG:419E 20 1A C0 - bcc NmiHandler_Loop28 ; CPU:$C1A1 PRG:41A1 90 32 + bcc NmiHandler_Loop33 ; CPU:$C1A1 PRG:41A1 90 32 jmp Sub_C1B0 ; CPU:$C1A3 PRG:41A3 4C B0 C1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop32: lda $021A,y ; CPU:$C1A6 PRG:41A6 B9 1A 02 - sta Zp5E ; CPU:$C1A9 PRG:41A9 85 5E + sta VramWritePtrLo ; CPU:$C1A9 PRG:41A9 85 5E jsr Sub_C029 ; CPU:$C1AB PRG:41AB 20 29 C0 - bcs NmiHandler_Loop28 ; CPU:$C1AE PRG:41AE B0 25 + bcs NmiHandler_Loop33 ; CPU:$C1AE PRG:41AE B0 25 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1B0 ; Global: Branch target inside Sub: taken when C1B0. @@ -2039,33 +2472,33 @@ Sub_C1B0: lda #$01 ; CPU:$C1B5 PRG:41B5 A9 01 sta Zp74 ; CPU:$C1B7 PRG:41B7 85 74 lda $021C,y ; CPU:$C1B9 PRG:41B9 B9 1C 02 - sta Zp64 ; CPU:$C1BC PRG:41BC 85 64 + sta TimerIndex ; CPU:$C1BC PRG:41BC 85 64 lda $021D,y ; CPU:$C1BE PRG:41BE B9 1D 02 sta Zp65 ; CPU:$C1C1 PRG:41C1 85 65 jsr Sub_BF65 ; CPU:$C1C3 PRG:41C3 20 65 BF - lda Zp64 ; CPU:$C1C6 PRG:41C6 A5 64 + lda TimerIndex ; CPU:$C1C6 PRG:41C6 A5 64 sta $021C,y ; CPU:$C1C8 PRG:41C8 99 1C 02 lda Zp65 ; CPU:$C1CB PRG:41CB A5 65 sta $021D,y ; CPU:$C1CD PRG:41CD 99 1D 02 cpx #$00 ; CPU:$C1D0 PRG:41D0 E0 00 - bne NmiHandler_Loop28 ; CPU:$C1D2 PRG:41D2 D0 01 + bne NmiHandler_Loop33 ; CPU:$C1D2 PRG:41D2 D0 01 rts ; CPU:$C1D4 PRG:41D4 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside NmiHandler: taken when Loop28. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: +NmiHandler_Loop33: iny ; CPU:$C1D5 PRG:41D5 C8 iny ; CPU:$C1D6 PRG:41D6 C8 iny ; CPU:$C1D7 PRG:41D7 C8 iny ; CPU:$C1D8 PRG:41D8 C8 iny ; CPU:$C1D9 PRG:41D9 C8 cpy #$2D ; CPU:$C1DA PRG:41DA C0 2D - bne NmiHandler_OnNonzero3 ; CPU:$C1DC PRG:41DC D0 B2 + bne NmiHandler_OnNonzero5 ; CPU:$C1DC PRG:41DC D0 B2 ldy #$00 ; CPU:$C1DE PRG:41DE A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1E0 @@ -2077,40 +2510,40 @@ NmiHandler_Loop28: ; ----------------------------------------------------------------------------- Sub_C1E0: lda $0246,y ; CPU:$C1E0 PRG:41E0 B9 46 02 - bne NmiHandler_Loop29 ; CPU:$C1E3 PRG:41E3 D0 03 - jmp NmiHandler_Loop34 ; CPU:$C1E5 PRG:41E5 4C 6C C2 + bne NmiHandler_Loop34 ; CPU:$C1E3 PRG:41E3 D0 03 + jmp NmiHandler_Loop39 ; CPU:$C1E5 PRG:41E5 4C 6C C2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop34: sta Zp72 ; CPU:$C1E8 PRG:41E8 85 72 lda $024A,y ; CPU:$C1EA PRG:41EA B9 4A 02 cmp #$02 ; CPU:$C1ED PRG:41ED C9 02 - bcs NmiHandler_Loop34 ; CPU:$C1EF PRG:41EF B0 7B - lda Zp00 ; CPU:$C1F1 PRG:41F1 A5 00 - bne NmiHandler_Loop30 ; CPU:$C1F3 PRG:41F3 D0 0B + bcs NmiHandler_Loop39 ; CPU:$C1EF PRG:41EF B0 7B + lda PlayerIndex ; CPU:$C1F1 PRG:41F1 A5 00 + bne NmiHandler_Loop35 ; CPU:$C1F3 PRG:41F3 D0 0B lda $0247,y ; CPU:$C1F5 PRG:41F5 B9 47 02 jsr Sub_C01A ; CPU:$C1F8 PRG:41F8 20 1A C0 - bcc NmiHandler_Loop34 ; CPU:$C1FB PRG:41FB 90 6F + bcc NmiHandler_Loop39 ; CPU:$C1FB PRG:41FB 90 6F jmp Sub_C20A ; CPU:$C1FD PRG:41FD 4C 0A C2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop35: lda $0247,y ; CPU:$C200 PRG:4200 B9 47 02 - sta Zp5E ; CPU:$C203 PRG:4203 85 5E + sta VramWritePtrLo ; CPU:$C203 PRG:4203 85 5E jsr Sub_C029 ; CPU:$C205 PRG:4205 20 29 C0 - bcs NmiHandler_Loop34 ; CPU:$C208 PRG:4208 B0 62 + bcs NmiHandler_Loop39 ; CPU:$C208 PRG:4208 B0 62 ; ----------------------------------------------------------------------------- ; Routine: Sub_C20A ; Global: Branch target inside Sub: taken when C20A. @@ -2125,116 +2558,21 @@ Sub_C20A: lda $024A,y ; CPU:$C20F PRG:420F B9 4A 02 sta Zp74 ; CPU:$C212 PRG:4212 85 74 lda $024B,y ; CPU:$C214 PRG:4214 B9 4B 02 - sta Zp64 ; CPU:$C217 PRG:4217 85 64 + sta TimerIndex ; CPU:$C217 PRG:4217 85 64 lda $024C,y ; CPU:$C219 PRG:4219 B9 4C 02 sta Zp65 ; CPU:$C21C PRG:421C 85 65 jsr Sub_BF65 ; CPU:$C21E PRG:421E 20 65 BF - lda Zp68 ; CPU:$C221 PRG:4221 A5 68 - beq NmiHandler_Loop32 ; CPU:$C223 PRG:4223 F0 1C + lda ObjectTimer ; CPU:$C221 PRG:4221 A5 68 + beq NmiHandler_Loop37 ; CPU:$C223 PRG:4223 F0 1C lda $0253,y ; CPU:$C225 PRG:4225 B9 53 02 - bne NmiHandler_Loop31 ; CPU:$C228 PRG:4228 D0 12 + bne NmiHandler_Loop36 ; CPU:$C228 PRG:4228 D0 12 lda #$0D ; CPU:$C22A PRG:422A A9 0D sta $0246,y ; CPU:$C22C PRG:422C 99 46 02 lda #$40 ; CPU:$C22F PRG:422F A9 40 sta $0255,y ; CPU:$C231 PRG:4231 99 55 02 lda #$00 ; CPU:$C234 PRG:4234 A9 00 sta $024D,y ; CPU:$C236 PRG:4236 99 4D 02 - jmp NmiHandler_Loop33 ; CPU:$C239 PRG:4239 4C 5D C2 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop31: - lda #$00 ; CPU:$C23C PRG:423C A9 00 - sta $0246,y ; CPU:$C23E PRG:423E 99 46 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop32: - lda $0246,y ; CPU:$C241 PRG:4241 B9 46 02 - cmp #$0D ; CPU:$C244 PRG:4244 C9 0D - bne NmiHandler_Loop33 ; CPU:$C246 PRG:4246 D0 15 - lda $0255,y ; CPU:$C248 PRG:4248 B9 55 02 - sec ; CPU:$C24B PRG:424B 38 - sbc #$01 ; CPU:$C24C PRG:424C E9 01 - sta $0255,y ; CPU:$C24E PRG:424E 99 55 02 - bne NmiHandler_Loop33 ; CPU:$C251 PRG:4251 D0 0A - lda #$00 ; CPU:$C253 PRG:4253 A9 00 - sta $0246,y ; CPU:$C255 PRG:4255 99 46 02 - lda #$FF ; CPU:$C258 PRG:4258 A9 FF - sta $0253,y ; CPU:$C25A PRG:425A 99 53 02 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop33: - lda Zp64 ; CPU:$C25D PRG:425D A5 64 - sta $024B,y ; CPU:$C25F PRG:425F 99 4B 02 - lda Zp65 ; CPU:$C262 PRG:4262 A5 65 - sta $024C,y ; CPU:$C264 PRG:4264 99 4C 02 - cpx #$00 ; CPU:$C267 PRG:4267 E0 00 - bne NmiHandler_Loop34 ; CPU:$C269 PRG:4269 D0 01 - rts ; CPU:$C26B PRG:426B 60 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop34: - tya ; CPU:$C26C PRG:426C 98 - clc ; CPU:$C26D PRG:426D 18 - adc #$10 ; CPU:$C26E PRG:426E 69 10 - tay ; CPU:$C270 PRG:4270 A8 - cpy #$A0 ; CPU:$C271 PRG:4271 C0 A0 - beq NmiHandler_Loop35 ; CPU:$C273 PRG:4273 F0 03 - jmp Sub_C1E0 ; CPU:$C275 PRG:4275 4C E0 C1 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop35: - ldy #$00 ; CPU:$C278 PRG:4278 A0 00 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: - lda $02E6,y ; CPU:$C27A PRG:427A B9 E6 02 - beq NmiHandler_Loop37 ; CPU:$C27D PRG:427D F0 48 - sta Zp72 ; CPU:$C27F PRG:427F 85 72 - lda $02EA,y ; CPU:$C281 PRG:4281 B9 EA 02 - cmp #$02 ; CPU:$C284 PRG:4284 C9 02 - bcs NmiHandler_Loop37 ; CPU:$C286 PRG:4286 B0 3F - lda Zp00 ; CPU:$C288 PRG:4288 A5 00 - bne NmiHandler_Loop36 ; CPU:$C28A PRG:428A D0 0B - lda $02E7,y ; CPU:$C28C PRG:428C B9 E7 02 - jsr Sub_C01A ; CPU:$C28F PRG:428F 20 1A C0 - bcc NmiHandler_Loop37 ; CPU:$C292 PRG:4292 90 33 - jmp Sub_C2A1 ; CPU:$C294 PRG:4294 4C A1 C2 + jmp NmiHandler_Loop38 ; CPU:$C239 PRG:4239 4C 5D C2 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop36 ; Global: Branch target inside NmiHandler: taken when Loop36. @@ -2244,10 +2582,105 @@ NmiHandler_OnNonzero4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop36: + lda #$00 ; CPU:$C23C PRG:423C A9 00 + sta $0246,y ; CPU:$C23E PRG:423E 99 46 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop37: + lda $0246,y ; CPU:$C241 PRG:4241 B9 46 02 + cmp #$0D ; CPU:$C244 PRG:4244 C9 0D + bne NmiHandler_Loop38 ; CPU:$C246 PRG:4246 D0 15 + lda $0255,y ; CPU:$C248 PRG:4248 B9 55 02 + sec ; CPU:$C24B PRG:424B 38 + sbc #$01 ; CPU:$C24C PRG:424C E9 01 + sta $0255,y ; CPU:$C24E PRG:424E 99 55 02 + bne NmiHandler_Loop38 ; CPU:$C251 PRG:4251 D0 0A + lda #$00 ; CPU:$C253 PRG:4253 A9 00 + sta $0246,y ; CPU:$C255 PRG:4255 99 46 02 + lda #$FF ; CPU:$C258 PRG:4258 A9 FF + sta $0253,y ; CPU:$C25A PRG:425A 99 53 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop38: + lda TimerIndex ; CPU:$C25D PRG:425D A5 64 + sta $024B,y ; CPU:$C25F PRG:425F 99 4B 02 + lda Zp65 ; CPU:$C262 PRG:4262 A5 65 + sta $024C,y ; CPU:$C264 PRG:4264 99 4C 02 + cpx #$00 ; CPU:$C267 PRG:4267 E0 00 + bne NmiHandler_Loop39 ; CPU:$C269 PRG:4269 D0 01 + rts ; CPU:$C26B PRG:426B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + tya ; CPU:$C26C PRG:426C 98 + clc ; CPU:$C26D PRG:426D 18 + adc #$10 ; CPU:$C26E PRG:426E 69 10 + tay ; CPU:$C270 PRG:4270 A8 + cpy #$A0 ; CPU:$C271 PRG:4271 C0 A0 + beq NmiHandler_Loop40 ; CPU:$C273 PRG:4273 F0 03 + jmp Sub_C1E0 ; CPU:$C275 PRG:4275 4C E0 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + ldy #$00 ; CPU:$C278 PRG:4278 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero6: + lda $02E6,y ; CPU:$C27A PRG:427A B9 E6 02 + beq NmiHandler_Loop42 ; CPU:$C27D PRG:427D F0 48 + sta Zp72 ; CPU:$C27F PRG:427F 85 72 + lda $02EA,y ; CPU:$C281 PRG:4281 B9 EA 02 + cmp #$02 ; CPU:$C284 PRG:4284 C9 02 + bcs NmiHandler_Loop42 ; CPU:$C286 PRG:4286 B0 3F + lda PlayerIndex ; CPU:$C288 PRG:4288 A5 00 + bne NmiHandler_Loop41 ; CPU:$C28A PRG:428A D0 0B + lda $02E7,y ; CPU:$C28C PRG:428C B9 E7 02 + jsr Sub_C01A ; CPU:$C28F PRG:428F 20 1A C0 + bcc NmiHandler_Loop42 ; CPU:$C292 PRG:4292 90 33 + jmp Sub_C2A1 ; CPU:$C294 PRG:4294 4C A1 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop41: lda $02E7,y ; CPU:$C297 PRG:4297 B9 E7 02 - sta Zp5E ; CPU:$C29A PRG:429A 85 5E + sta VramWritePtrLo ; CPU:$C29A PRG:429A 85 5E jsr Sub_C029 ; CPU:$C29C PRG:429C 20 29 C0 - bcs NmiHandler_Loop37 ; CPU:$C29F PRG:429F B0 26 + bcs NmiHandler_Loop42 ; CPU:$C29F PRG:429F B0 26 ; ----------------------------------------------------------------------------- ; Routine: Sub_C2A1 ; Global: Branch target inside Sub: taken when C2A1. @@ -2262,191 +2695,1317 @@ Sub_C2A1: lda $02EA,y ; CPU:$C2A6 PRG:42A6 B9 EA 02 sta Zp74 ; CPU:$C2A9 PRG:42A9 85 74 lda $02EB,y ; CPU:$C2AB PRG:42AB B9 EB 02 - sta Zp64 ; CPU:$C2AE PRG:42AE 85 64 + sta TimerIndex ; CPU:$C2AE PRG:42AE 85 64 lda $02EC,y ; CPU:$C2B0 PRG:42B0 B9 EC 02 sta Zp65 ; CPU:$C2B3 PRG:42B3 85 65 jsr Sub_BF65 ; CPU:$C2B5 PRG:42B5 20 65 BF - lda Zp64 ; CPU:$C2B8 PRG:42B8 A5 64 + lda TimerIndex ; CPU:$C2B8 PRG:42B8 A5 64 sta $02EB,y ; CPU:$C2BA PRG:42BA 99 EB 02 lda Zp65 ; CPU:$C2BD PRG:42BD A5 65 sta $02EC,y ; CPU:$C2BF PRG:42BF 99 EC 02 cpx #$00 ; CPU:$C2C2 PRG:42C2 E0 00 - bne NmiHandler_Loop37 ; CPU:$C2C4 PRG:42C4 D0 01 + bne NmiHandler_Loop42 ; CPU:$C2C4 PRG:42C4 D0 01 rts ; CPU:$C2C6 PRG:42C6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop42: tya ; CPU:$C2C7 PRG:42C7 98 clc ; CPU:$C2C8 PRG:42C8 18 adc #$10 ; CPU:$C2C9 PRG:42C9 69 10 tay ; CPU:$C2CB PRG:42CB A8 cpy #$80 ; CPU:$C2CC PRG:42CC C0 80 - bne NmiHandler_OnNonzero4 ; CPU:$C2CE PRG:42CE D0 AA - lda Zp00 ; CPU:$C2D0 PRG:42D0 A5 00 - bne NmiHandler_Loop39 ; CPU:$C2D2 PRG:42D2 D0 14 + bne NmiHandler_OnNonzero6 ; CPU:$C2CE PRG:42CE D0 AA + lda PlayerIndex ; CPU:$C2D0 PRG:42D0 A5 00 + bne NmiHandler_Loop44 ; CPU:$C2D2 PRG:42D2 D0 14 ldy #$08 ; CPU:$C2D4 PRG:42D4 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero7 +; Global: Branch target inside NmiHandler: taken when OnNonzero7. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: +NmiHandler_OnNonzero7: jsr Sub_C08B ; CPU:$C2D6 PRG:42D6 20 8B C0 cpx #$00 ; CPU:$C2D9 PRG:42D9 E0 00 - bne NmiHandler_Loop38 ; CPU:$C2DB PRG:42DB D0 01 + bne NmiHandler_Loop43 ; CPU:$C2DB PRG:42DB D0 01 rts ; CPU:$C2DD PRG:42DD 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop43: tya ; CPU:$C2DE PRG:42DE 98 clc ; CPU:$C2DF PRG:42DF 18 adc #$08 ; CPU:$C2E0 PRG:42E0 69 08 tay ; CPU:$C2E2 PRG:42E2 A8 cpy #$E0 ; CPU:$C2E3 PRG:42E3 C0 E0 - bne NmiHandler_OnNonzero5 ; CPU:$C2E5 PRG:42E5 D0 EF + bne NmiHandler_OnNonzero7 ; CPU:$C2E5 PRG:42E5 D0 EF rts ; CPU:$C2E7 PRG:42E7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop44: ldy #$08 ; CPU:$C2E8 PRG:42E8 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: +NmiHandler_OnNonzero8: jsr Sub_C0DC ; CPU:$C2EA PRG:42EA 20 DC C0 cpx #$00 ; CPU:$C2ED PRG:42ED E0 00 - bne NmiHandler_Loop40 ; CPU:$C2EF PRG:42EF D0 01 + bne NmiHandler_Loop45 ; CPU:$C2EF PRG:42EF D0 01 rts ; CPU:$C2F1 PRG:42F1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop45: tya ; CPU:$C2F2 PRG:42F2 98 clc ; CPU:$C2F3 PRG:42F3 18 adc #$08 ; CPU:$C2F4 PRG:42F4 69 08 tay ; CPU:$C2F6 PRG:42F6 A8 cpy #$C0 ; CPU:$C2F7 PRG:42F7 C0 C0 - bne NmiHandler_OnNonzero6 ; CPU:$C2F9 PRG:42F9 D0 EF + bne NmiHandler_OnNonzero8 ; CPU:$C2F9 PRG:42F9 D0 EF rts ; CPU:$C2FB PRG:42FB 60 -; ---- data $C2FC-$C860 (1381 bytes) ---- - .byte $98, $48, $A5, $72, $0A, $A8, $B9, $4C, $AF, $85, $62, $B9, $4D, $AF, $85, $63 ; CPU:$C2FC PRG:42FC 98 48 A5 72 0A A8 B9 4C AF 85 62 B9 4D AF 85 63 - .byte $A0, $00, $B1, $62, $85, $60, $A5, $72, $C9, $1F, $F0, $04, $C9, $2D, $D0, $07 ; CPU:$C30C PRG:430C A0 00 B1 62 85 60 A5 72 C9 1F F0 04 C9 2D D0 07 - .byte $A5, $60, $38, $E5, $0F, $85, $60, $C8, $B1, $62, $85, $61, $E6, $64, $A5, $64 ; CPU:$C31C PRG:431C A5 60 38 E5 0F 85 60 C8 B1 62 85 61 E6 64 A5 64 - .byte $C5, $60, $90, $06, $A9, $00, $85, $64, $E6, $65, $A5, $65, $25, $61, $85, $65 ; CPU:$C32C PRG:432C C5 60 90 06 A9 00 85 64 E6 65 A5 65 25 61 85 65 - .byte $A5, $73, $C9, $C0, $B0, $09, $A5, $64, $C9, $01, $F0, $03, $4C, $6E, $C4, $A5 ; CPU:$C33C PRG:433C A5 73 C9 C0 B0 09 A5 64 C9 01 F0 03 4C 6E C4 A5 - .byte $65, $0A, $18, $69, $02, $A8, $B1, $62, $85, $5E, $C8, $B1, $62, $85, $5F, $A0 ; CPU:$C34C PRG:434C 65 0A 18 69 02 A8 B1 62 85 5E C8 B1 62 85 5F A0 - .byte $00, $B1, $5E, $C9, $FF, $D0, $03, $4C, $6E, $C4, $A5, $72, $C9, $1F, $F0, $04 ; CPU:$C35C PRG:435C 00 B1 5E C9 FF D0 03 4C 6E C4 A5 72 C9 1F F0 04 - .byte $C9, $2D, $D0, $15, $B1, $5E, $C8, $85, $98, $A5, $0D, $C9, $0F, $D0, $0A, $A5 ; CPU:$C36C PRG:436C C9 2D D0 15 B1 5E C8 85 98 A5 0D C9 0F D0 0A A5 - .byte $98, $C9, $01, $D0, $04, $A9, $03, $85, $98, $B1, $5E, $18, $65, $73, $85, $62 ; CPU:$C37C PRG:437C 98 C9 01 D0 04 A9 03 85 98 B1 5E 18 65 73 85 62 - .byte $B1, $5E, $30, $08, $A9, $00, $65, $74, $C9, $01, $D0, $06, $A5, $62, $C9, $FC ; CPU:$C38C PRG:438C B1 5E 30 08 A9 00 65 74 C9 01 D0 06 A5 62 C9 FC - .byte $90, $09, $C8, $C8, $C8, $C8, $C8, $C8, $4C, $5D, $C3, $C8, $B1, $5E, $85, $69 ; CPU:$C39C PRG:439C 90 09 C8 C8 C8 C8 C8 C8 4C 5D C3 C8 B1 5E 85 69 - .byte $C8, $18, $65, $75, $85, $63, $A5, $62, $18, $65, $6C, $85, $68, $4A, $4A, $4A ; CPU:$C3AC PRG:43AC C8 18 65 75 85 63 A5 62 18 65 6C 85 68 4A 4A 4A - .byte $29, $1E, $85, $60, $A5, $63, $29, $F0, $85, $62, $A9, $00, $85, $63, $06, $62 ; CPU:$C3BC PRG:43BC 29 1E 85 60 A5 63 29 F0 85 62 A9 00 85 63 06 62 - .byte $26, $63, $06, $62, $26, $63, $A5, $62, $18, $65, $60, $9D, $07, $05, $A5, $63 ; CPU:$C3CC PRG:43CC 26 63 06 62 26 63 A5 62 18 65 60 9D 07 05 A5 63 - .byte $18, $65, $66, $9D, $06, $05, $E8, $E8, $A9, $04, $85, $61, $B1, $5E, $C8, $9D ; CPU:$C3DC PRG:43DC 18 65 66 9D 06 05 E8 E8 A9 04 85 61 B1 5E C8 9D - .byte $06, $05, $E8, $C6, $61, $D0, $F5, $8A, $48, $A5, $75, $18, $65, $69, $85, $69 ; CPU:$C3EC PRG:43EC 06 05 E8 C6 61 D0 F5 8A 48 A5 75 18 65 69 85 69 - .byte $29, $E0, $4A, $4A, $46, $60, $46, $60, $18, $65, $60, $65, $67, $AA, $A5, $68 ; CPU:$C3FC PRG:43FC 29 E0 4A 4A 46 60 46 60 18 65 60 65 67 AA A5 68 - .byte $29, $10, $D0, $28, $A5, $69, $29, $10, $D0, $0D, $BD, $21, $06, $29, $FC, $05 ; CPU:$C40C PRG:440C 29 10 D0 28 A5 69 29 10 D0 0D BD 21 06 29 FC 05 - .byte $98, $9D, $21, $06, $4C, $65, $C4, $A5, $98, $0A, $0A, $0A, $0A, $85, $61, $BD ; CPU:$C41C PRG:441C 98 9D 21 06 4C 65 C4 A5 98 0A 0A 0A 0A 85 61 BD - .byte $21, $06, $29, $CF, $05, $61, $9D, $21, $06, $4C, $65, $C4, $A5, $69, $29, $10 ; CPU:$C42C PRG:442C 21 06 29 CF 05 61 9D 21 06 4C 65 C4 A5 69 29 10 - .byte $D0, $13, $A5, $98, $0A, $0A, $85, $61, $BD, $21, $06, $29, $F3, $05, $61, $9D ; CPU:$C43C PRG:443C D0 13 A5 98 0A 0A 85 61 BD 21 06 29 F3 05 61 9D - .byte $21, $06, $4C, $65, $C4, $A5, $98, $0A, $0A, $0A, $0A, $0A, $0A, $85, $61, $BD ; CPU:$C44C PRG:444C 21 06 4C 65 C4 A5 98 0A 0A 0A 0A 0A 0A 85 61 BD - .byte $21, $06, $29, $3F, $05, $61, $9D, $21, $06, $68, $AA, $E0, $60, $F0, $03, $4C ; CPU:$C45C PRG:445C 21 06 29 3F 05 61 9D 21 06 68 AA E0 60 F0 03 4C - .byte $5D, $C3, $68, $A8, $60, $00, $FF, $FF, $FF, $00, $00, $00, $02, $01, $03, $01 ; CPU:$C46C PRG:446C 5D C3 68 A8 60 00 FF FF FF 00 00 00 02 01 03 01 - .byte $FF, $00, $FF, $00, $FF, $FF, $01, $01, $01, $03, $A5, $6C, $29, $03, $C9, $02 ; CPU:$C47C PRG:447C FF 00 FF 00 FF FF 01 01 01 03 A5 6C 29 03 C9 02 - .byte $F0, $01, $60, $A5, $00, $F0, $03, $4C, $21, $C5, $A2, $00, $A0, $00, $B9, $66 ; CPU:$C48C PRG:448C F0 01 60 A5 00 F0 03 4C 21 C5 A2 00 A0 00 B9 66 - .byte $03, $F0, $70, $C9, $7F, $B0, $6C, $B9, $6A, $03, $29, $03, $C9, $02, $B0, $63 ; CPU:$C49C PRG:449C 03 F0 70 C9 7F B0 6C B9 6A 03 29 03 C9 02 B0 63 - .byte $98, $48, $B9, $66, $03, $C9, $4B, $F0, $0B, $C9, $49, $F0, $07, $C9, $4A, $F0 ; CPU:$C4AC PRG:44AC 98 48 B9 66 03 C9 4B F0 0B C9 49 F0 07 C9 4A F0 - .byte $03, $4C, $C5, $C4, $A9, $00, $4C, $CF, $C4, $B9, $66, $03, $38, $E9, $2E, $A8 ; CPU:$C4BC PRG:44BC 03 4C C5 C4 A9 00 4C CF C4 B9 66 03 38 E9 2E A8 - .byte $B9, $71, $C4, $85, $98, $68, $A8, $B9, $66, $03, $85, $72, $B9, $67, $03, $38 ; CPU:$C4CC PRG:44CC B9 71 C4 85 98 68 A8 B9 66 03 85 72 B9 67 03 38 - .byte $E9, $0F, $85, $75, $B9, $69, $03, $85, $73, $B9, $6A, $03, $29, $03, $85, $74 ; CPU:$C4DC PRG:44DC E9 0F 85 75 B9 69 03 85 73 B9 6A 03 29 03 85 74 - .byte $B9, $6B, $03, $85, $64, $B9, $6C, $03, $85, $65, $A9, $20, $85, $66, $A9, $00 ; CPU:$C4EC PRG:44EC B9 6B 03 85 64 B9 6C 03 85 65 A9 20 85 66 A9 00 - .byte $85, $67, $20, $FC, $C2, $A5, $64, $99, $6B, $03, $A5, $65, $99, $6C, $03, $E0 ; CPU:$C4FC PRG:44FC 85 67 20 FC C2 A5 64 99 6B 03 A5 65 99 6C 03 E0 - .byte $78, $F0, $0C, $98, $18, $69, $08, $A8, $C0, $E0, $F0, $03, $4C, $9A, $C4, $A9 ; CPU:$C50C PRG:450C 78 F0 0C 98 18 69 08 A8 C0 E0 F0 03 4C 9A C4 A9 - .byte $FF, $9D, $06, $05, $60, $A2, $00, $A0, $00, $B9, $46, $04, $F0, $59, $C9, $7F ; CPU:$C51C PRG:451C FF 9D 06 05 60 A2 00 A0 00 B9 46 04 F0 59 C9 7F - .byte $B0, $55, $B9, $4A, $04, $29, $03, $C9, $02, $B0, $4C, $98, $48, $B9, $46, $04 ; CPU:$C52C PRG:452C B0 55 B9 4A 04 29 03 C9 02 B0 4C 98 48 B9 46 04 - .byte $38, $E9, $3D, $A8, $B9, $7D, $C4, $85, $98, $68, $A8, $B9, $46, $04, $85, $72 ; CPU:$C53C PRG:453C 38 E9 3D A8 B9 7D C4 85 98 68 A8 B9 46 04 85 72 - .byte $B9, $47, $04, $38, $E9, $0F, $85, $75, $B9, $49, $04, $85, $73, $B9, $4A, $04 ; CPU:$C54C PRG:454C B9 47 04 38 E9 0F 85 75 B9 49 04 85 73 B9 4A 04 - .byte $29, $03, $85, $74, $B9, $4B, $04, $85, $64, $B9, $4C, $04, $85, $65, $A9, $28 ; CPU:$C55C PRG:455C 29 03 85 74 B9 4B 04 85 64 B9 4C 04 85 65 A9 28 - .byte $85, $66, $A9, $40, $85, $67, $20, $FC, $C2, $A5, $64, $99, $4B, $04, $A5, $65 ; CPU:$C56C PRG:456C 85 66 A9 40 85 67 20 FC C2 A5 64 99 4B 04 A5 65 - .byte $99, $4C, $04, $E0, $78, $F0, $09, $98, $18, $69, $08, $A8, $C0, $C0, $D0, $99 ; CPU:$C57C PRG:457C 99 4C 04 E0 78 F0 09 98 18 69 08 A8 C0 C0 D0 99 - .byte $A9, $FF, $9D, $06, $05, $60, $A5, $79, $29, $01, $85, $5E, $A5, $86, $C9, $01 ; CPU:$C58C PRG:458C A9 FF 9D 06 05 60 A5 79 29 01 85 5E A5 86 C9 01 - .byte $D0, $19, $A5, $79, $4A, $4A, $85, $57, $A4, $0E, $B9, $EE, $95, $85, $56, $A5 ; CPU:$C59C PRG:459C D0 19 A5 79 4A 4A 85 57 A4 0E B9 EE 95 85 56 A5 - .byte $8A, $CD, $BA, $06, $F0, $62, $B0, $44, $4C, $D8, $C5, $A5, $54, $29, $08, $F0 ; CPU:$C5AC PRG:45AC 8A CD BA 06 F0 62 B0 44 4C D8 C5 A5 54 29 08 F0 - .byte $0A, $A9, $05, $20, $E6, $FA, $A9, $01, $85, $85, $60, $A5, $88, $AA, $B5, $50 ; CPU:$C5BC PRG:45BC 0A A9 05 20 E6 FA A9 01 85 85 60 A5 88 AA B5 50 - .byte $85, $56, $B5, $54, $85, $57, $A5, $56, $29, $20, $F0, $1A, $A6, $00, $BD, $FF ; CPU:$C5CC PRG:45CC 85 56 B5 54 85 57 A5 56 29 20 F0 1A A6 00 BD FF - .byte $C7, $C5, $8A, $90, $33, $E6, $8A, $A5, $8B, $C9, $04, $B0, $2B, $A5, $5E, $F0 ; CPU:$C5DC PRG:45DC C7 C5 8A 90 33 E6 8A A5 8B C9 04 B0 2B A5 5E F0 - .byte $27, $E6, $8A, $4C, $14, $C6, $A5, $56, $29, $10, $F0, $1C, $A5, $8B, $0A, $18 ; CPU:$C5EC PRG:45EC 27 E6 8A 4C 14 C6 A5 56 29 10 F0 1C A5 8B 0A 18 - .byte $65, $00, $AA, $BD, $F3, $C7, $C5, $8A, $B0, $0E, $C6, $8A, $A5, $8B, $C9, $04 ; CPU:$C5FC PRG:45FC 65 00 AA BD F3 C7 C5 8A B0 0E C6 8A A5 8B C9 04 - .byte $B0, $06, $A5, $5E, $F0, $02, $C6, $8A, $A5, $56, $29, $40, $F0, $1A, $A9, $0D ; CPU:$C60C PRG:460C B0 06 A5 5E F0 02 C6 8A A5 56 29 40 F0 1A A9 0D - .byte $C5, $89, $B0, $2E, $C6, $89, $A5, $00, $D0, $05, $C6, $89, $4C, $4E, $C6, $A5 ; CPU:$C61C PRG:461C C5 89 B0 2E C6 89 A5 00 D0 05 C6 89 4C 4E C6 A5 - .byte $5E, $F0, $1F, $C6, $89, $4C, $4E, $C6, $A5, $56, $29, $80, $F0, $14, $EE, $03 ; CPU:$C62C PRG:462C 5E F0 1F C6 89 4C 4E C6 A5 56 29 80 F0 14 EE 03 - .byte $02, $EE, $0D, $02, $A9, $BA, $C5, $89, $90, $08, $E6, $89, $A5, $5E, $F0, $02 ; CPU:$C63C PRG:463C 02 EE 0D 02 A9 BA C5 89 90 08 E6 89 A5 5E F0 02 - .byte $E6, $89, $A5, $91, $F0, $03, $C6, $91, $60, $A5, $57, $29, $03, $D0, $01, $60 ; CPU:$C64C PRG:464C E6 89 A5 91 F0 03 C6 91 60 A5 57 29 03 D0 01 60 - .byte $A9, $0C, $85, $91, $AD, $20, $06, $18, $69, $05, $C9, $0F, $90, $02, $A9, $00 ; CPU:$C65C PRG:465C A9 0C 85 91 AD 20 06 18 69 05 C9 0F 90 02 A9 00 - .byte $8D, $20, $06, $A8, $A9, $00, $85, $94, $20, $51, $FA, $A5, $8B, $0A, $0A, $0A ; CPU:$C66C PRG:466C 8D 20 06 A8 A9 00 85 94 20 51 FA A5 8B 0A 0A 0A - .byte $AA, $A5, $00, $F0, $05, $8A, $18, $69, $30, $AA, $BD, $01, $C8, $99, $19, $02 ; CPU:$C67C PRG:467C AA A5 00 F0 05 8A 18 69 30 AA BD 01 C8 99 19 02 - .byte $A5, $8A, $38, $FD, $02, $C8, $99, $1A, $02, $A5, $89, $18, $69, $0E, $99, $1B ; CPU:$C68C PRG:468C A5 8A 38 FD 02 C8 99 1A 02 A5 89 18 69 0E 99 1B - .byte $02, $E8, $E8, $BD, $01, $C8, $C9, $10, $D0, $02, $A0, $00, $C9, $11, $D0, $02 ; CPU:$C69C PRG:469C 02 E8 E8 BD 01 C8 C9 10 D0 02 A0 00 C9 11 D0 02 - .byte $A0, $00, $99, $37, $02, $A5, $8A, $38, $FD, $02, $C8, $99, $38, $02, $A5, $89 ; CPU:$C6AC PRG:46AC A0 00 99 37 02 A5 8A 38 FD 02 C8 99 38 02 A5 89 - .byte $18, $69, $0E, $99, $39, $02, $E8, $E8, $BD, $01, $C8, $99, $28, $02, $A5, $8A ; CPU:$C6BC PRG:46BC 18 69 0E 99 39 02 E8 E8 BD 01 C8 99 28 02 A5 8A - .byte $38, $FD, $02, $C8, $99, $29, $02, $A5, $89, $18, $69, $04, $99, $2A, $02, $60 ; CPU:$C6CC PRG:46CC 38 FD 02 C8 99 29 02 A5 89 18 69 04 99 2A 02 60 - .byte $A5, $00, $F0, $03, $4C, $6B, $C7, $A2, $00, $BD, $19, $02, $F0, $3E, $C9, $0E ; CPU:$C6DC PRG:46DC A5 00 F0 03 4C 6B C7 A2 00 BD 19 02 F0 3E C9 0E - .byte $D0, $16, $BD, $1B, $02, $18, $69, $07, $90, $08, $A9, $00, $9D, $19, $02, $4C ; CPU:$C6EC PRG:46EC D0 16 BD 1B 02 18 69 07 90 08 A9 00 9D 19 02 4C - .byte $28, $C7, $9D, $1B, $02, $4C, $28, $C7, $C9, $13, $D0, $20, $BD, $1B, $02, $18 ; CPU:$C6FC PRG:46FC 28 C7 9D 1B 02 4C 28 C7 C9 13 D0 20 BD 1B 02 18 - .byte $69, $08, $B0, $13, $9D, $1B, $02, $BD, $1A, $02, $18, $69, $04, $9D, $1A, $02 ; CPU:$C70C PRG:470C 69 08 B0 13 9D 1B 02 BD 1A 02 18 69 04 9D 1A 02 - .byte $A5, $8A, $DD, $1A, $02, $B0, $05, $A9, $00, $9D, $19, $02, $E8, $E8, $E8, $E8 ; CPU:$C71C PRG:471C A5 8A DD 1A 02 B0 05 A9 00 9D 19 02 E8 E8 E8 E8 - .byte $E8, $E0, $2D, $D0, $B4, $A5, $90, $C9, $07, $F0, $33, $AD, $37, $02, $C9, $10 ; CPU:$C72C PRG:472C E8 E0 2D D0 B4 A5 90 C9 07 F0 33 AD 37 02 C9 10 - .byte $D0, $10, $A5, $8A, $8D, $38, $02, $A5, $89, $18, $69, $28, $8D, $39, $02, $4C ; CPU:$C73C PRG:473C D0 10 A5 8A 8D 38 02 A5 89 18 69 28 8D 39 02 4C - .byte $62, $C7, $C9, $11, $D0, $40, $A5, $8A, $38, $E9, $06, $8D, $38, $02, $A5, $89 ; CPU:$C74C PRG:474C 62 C7 C9 11 D0 40 A5 8A 38 E9 06 8D 38 02 A5 89 - .byte $18, $69, $26, $8D, $39, $02, $A9, $00, $8D, $3C, $02, $8D, $41, $02, $60, $A2 ; CPU:$C75C PRG:475C 18 69 26 8D 39 02 A9 00 8D 3C 02 8D 41 02 60 A2 - .byte $00, $BD, $19, $02, $F0, $17, $C9, $14, $B0, $13, $BD, $1B, $02, $18, $69, $07 ; CPU:$C76C PRG:476C 00 BD 19 02 F0 17 C9 14 B0 13 BD 1B 02 18 69 07 - .byte $90, $08, $A9, $00, $9D, $19, $02, $4C, $89, $C7, $9D, $1B, $02, $E8, $E8, $E8 ; CPU:$C77C PRG:477C 90 08 A9 00 9D 19 02 4C 89 C7 9D 1B 02 E8 E8 E8 - .byte $E8, $E8, $E0, $2D, $D0, $DB, $60, $A5, $8B, $0A, $0A, $0A, $AA, $A0, $05, $BD ; CPU:$C78C PRG:478C E8 E8 E0 2D D0 DB 60 A5 8B 0A 0A 0A AA A0 05 BD - .byte $C3, $C7, $99, $00, $02, $BD, $C4, $C7, $99, $01, $02, $BD, $C5, $C7, $99, $02 ; CPU:$C79C PRG:479C C3 C7 99 00 02 BD C4 C7 99 01 02 BD C5 C7 99 02 - .byte $02, $A9, $00, $99, $03, $02, $99, $04, $02, $E8, $E8, $E8, $E8, $C8, $C8, $C8 ; CPU:$C7AC PRG:47AC 02 A9 00 99 03 02 99 04 02 E8 E8 E8 E8 C8 C8 C8 - .byte $C8, $C8, $C0, $0F, $D0, $D9, $60, $01, $FC, $02, $00, $00, $00, $00, $00, $01 ; CPU:$C7BC PRG:47BC C8 C8 C0 0F D0 D9 60 01 FC 02 00 00 00 00 00 01 - .byte $FC, $EA, $00, $04, $FF, $02, $00, $03, $FE, $02, $00, $00, $00, $00, $00, $03 ; CPU:$C7CC PRG:47CC FC EA 00 04 FF 02 00 03 FE 02 00 00 00 00 00 03 - .byte $FE, $EA, $00, $04, $FF, $02, $00, $05, $FC, $00, $00, $00, $00, $00, $00, $05 ; CPU:$C7DC PRG:47DC FE EA 00 04 FF 02 00 05 FC 00 00 00 00 00 00 05 - .byte $FB, $EA, $00, $04, $FF, $02, $00, $10, $1A, $2B, $2E, $20, $26, $34, $3E, $20 ; CPU:$C7EC PRG:47EC FB EA 00 04 FF 02 00 10 1A 2B 2E 20 26 34 3E 20 - .byte $26, $34, $3E, $E8, $DC, $0E, $FF, $00, $00, $00, $00, $00, $00, $0E, $FF, $00 ; CPU:$C7FC PRG:47FC 26 34 3E E8 DC 0E FF 00 00 00 00 00 00 0E FF 00 - .byte $00, $13, $17, $00, $00, $0E, $FF, $00, $00, $13, $0D, $00, $00, $0E, $FF, $13 ; CPU:$C80C PRG:480C 00 13 17 00 00 0E FF 00 00 13 0D 00 00 0E FF 13 - .byte $14, $13, $23, $00, $00, $0E, $FF, $10, $FF, $13, $10, $00, $00, $0E, $FF, $11 ; CPU:$C81C PRG:481C 14 13 23 00 00 0E FF 10 FF 13 10 00 00 0E FF 11 - .byte $15, $13, $24, $00, $00, $0E, $00, $00, $00, $00, $00, $00, $00, $12, $1B, $0E ; CPU:$C82C PRG:482C 15 13 24 00 00 0E 00 00 00 00 00 00 00 12 1B 0E - .byte $01, $00, $00, $00, $00, $0E, $FF, $00, $00, $12, $12, $00, $00, $12, $19, $0E ; CPU:$C83C PRG:483C 01 00 00 00 00 0E FF 00 00 12 12 00 00 12 19 0E - .byte $01, $12, $2C, $00, $00, $0F, $04, $00, $00, $12, $15, $00, $00, $0F, $19, $0E ; CPU:$C84C PRG:484C 01 12 2C 00 00 0F 04 00 00 12 15 00 00 0F 19 0E - .byte $01, $12, $2C, $00, $00 ; CPU:$C85C PRG:485C 01 12 2C 00 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C2FC +; Global: Branch target inside Sub: taken when C2FC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C2FC: + tya ; CPU:$C2FC PRG:42FC 98 + pha ; CPU:$C2FD PRG:42FD 48 + lda Zp72 ; CPU:$C2FE PRG:42FE A5 72 + asl a ; CPU:$C300 PRG:4300 0A + tay ; CPU:$C301 PRG:4301 A8 + lda $AF4C,y ; CPU:$C302 PRG:4302 B9 4C AF + sta VramReadPtrLo ; CPU:$C305 PRG:4305 85 62 + lda $AF4D,y ; CPU:$C307 PRG:4307 B9 4D AF + sta VramReadPtrHi ; CPU:$C30A PRG:430A 85 63 + ldy #$00 ; CPU:$C30C PRG:430C A0 00 + lda (VramReadPtrLo),y ; CPU:$C30E PRG:430E B1 62 + sta ObjectX ; CPU:$C310 PRG:4310 85 60 + lda Zp72 ; CPU:$C312 PRG:4312 A5 72 + cmp #$1F ; CPU:$C314 PRG:4314 C9 1F + beq NmiHandler_Loop46 ; CPU:$C316 PRG:4316 F0 04 + cmp #$2D ; CPU:$C318 PRG:4318 C9 2D + bne NmiHandler_Loop47 ; CPU:$C31A PRG:431A D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop46: + lda ObjectX ; CPU:$C31C PRG:431C A5 60 + sec ; CPU:$C31E PRG:431E 38 + sbc Zp0F ; CPU:$C31F PRG:431F E5 0F + sta ObjectX ; CPU:$C321 PRG:4321 85 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop47: + iny ; CPU:$C323 PRG:4323 C8 + lda (VramReadPtrLo),y ; CPU:$C324 PRG:4324 B1 62 + sta ObjectY ; CPU:$C326 PRG:4326 85 61 + inc TimerIndex ; CPU:$C328 PRG:4328 E6 64 + lda TimerIndex ; CPU:$C32A PRG:432A A5 64 + cmp ObjectX ; CPU:$C32C PRG:432C C5 60 + bcc NmiHandler_Loop48 ; CPU:$C32E PRG:432E 90 06 + lda #$00 ; CPU:$C330 PRG:4330 A9 00 + sta TimerIndex ; CPU:$C332 PRG:4332 85 64 + inc Zp65 ; CPU:$C334 PRG:4334 E6 65 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop48: + lda Zp65 ; CPU:$C336 PRG:4336 A5 65 + and ObjectY ; CPU:$C338 PRG:4338 25 61 + sta Zp65 ; CPU:$C33A PRG:433A 85 65 + lda Zp73 ; CPU:$C33C PRG:433C A5 73 + cmp #$C0 ; CPU:$C33E PRG:433E C9 C0 + bcs NmiHandler_Loop49 ; CPU:$C340 PRG:4340 B0 09 + lda TimerIndex ; CPU:$C342 PRG:4342 A5 64 + cmp #$01 ; CPU:$C344 PRG:4344 C9 01 + beq NmiHandler_Loop49 ; CPU:$C346 PRG:4346 F0 03 + jmp NmiHandler_Loop59 ; CPU:$C348 PRG:4348 4C 6E C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop49: + lda Zp65 ; CPU:$C34B PRG:434B A5 65 + asl a ; CPU:$C34D PRG:434D 0A + clc ; CPU:$C34E PRG:434E 18 + adc #$02 ; CPU:$C34F PRG:434F 69 02 + tay ; CPU:$C351 PRG:4351 A8 + lda (VramReadPtrLo),y ; CPU:$C352 PRG:4352 B1 62 + sta VramWritePtrLo ; CPU:$C354 PRG:4354 85 5E + iny ; CPU:$C356 PRG:4356 C8 + lda (VramReadPtrLo),y ; CPU:$C357 PRG:4357 B1 62 + sta VramWritePtrHi ; CPU:$C359 PRG:4359 85 5F + ldy #$00 ; CPU:$C35B PRG:435B A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C35D +; Global: Branch target inside Sub: taken when C35D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C35D: + lda (VramWritePtrLo),y ; CPU:$C35D PRG:435D B1 5E + cmp #$FF ; CPU:$C35F PRG:435F C9 FF + bne NmiHandler_Loop50 ; CPU:$C361 PRG:4361 D0 03 + jmp NmiHandler_Loop59 ; CPU:$C363 PRG:4363 4C 6E C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop50: + lda Zp72 ; CPU:$C366 PRG:4366 A5 72 + cmp #$1F ; CPU:$C368 PRG:4368 C9 1F + beq NmiHandler_Loop51 ; CPU:$C36A PRG:436A F0 04 + cmp #$2D ; CPU:$C36C PRG:436C C9 2D + bne NmiHandler_Loop52 ; CPU:$C36E PRG:436E D0 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop51: + lda (VramWritePtrLo),y ; CPU:$C370 PRG:4370 B1 5E + iny ; CPU:$C372 PRG:4372 C8 + sta Zp98 ; CPU:$C373 PRG:4373 85 98 + lda Zp0D ; CPU:$C375 PRG:4375 A5 0D + cmp #$0F ; CPU:$C377 PRG:4377 C9 0F + bne NmiHandler_Loop52 ; CPU:$C379 PRG:4379 D0 0A + lda Zp98 ; CPU:$C37B PRG:437B A5 98 + cmp #$01 ; CPU:$C37D PRG:437D C9 01 + bne NmiHandler_Loop52 ; CPU:$C37F PRG:437F D0 04 + lda #$03 ; CPU:$C381 PRG:4381 A9 03 + sta Zp98 ; CPU:$C383 PRG:4383 85 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop52: + lda (VramWritePtrLo),y ; CPU:$C385 PRG:4385 B1 5E + clc ; CPU:$C387 PRG:4387 18 + adc Zp73 ; CPU:$C388 PRG:4388 65 73 + sta VramReadPtrLo ; CPU:$C38A PRG:438A 85 62 + lda (VramWritePtrLo),y ; CPU:$C38C PRG:438C B1 5E + bmi NmiHandler_Loop53 ; CPU:$C38E PRG:438E 30 08 + lda #$00 ; CPU:$C390 PRG:4390 A9 00 + adc Zp74 ; CPU:$C392 PRG:4392 65 74 + cmp #$01 ; CPU:$C394 PRG:4394 C9 01 + bne NmiHandler_Loop54 ; CPU:$C396 PRG:4396 D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop53: + lda VramReadPtrLo ; CPU:$C398 PRG:4398 A5 62 + cmp #$FC ; CPU:$C39A PRG:439A C9 FC + bcc NmiHandler_Loop55 ; CPU:$C39C PRG:439C 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop54: + iny ; CPU:$C39E PRG:439E C8 + iny ; CPU:$C39F PRG:439F C8 + iny ; CPU:$C3A0 PRG:43A0 C8 + iny ; CPU:$C3A1 PRG:43A1 C8 + iny ; CPU:$C3A2 PRG:43A2 C8 + iny ; CPU:$C3A3 PRG:43A3 C8 + jmp Sub_C35D ; CPU:$C3A4 PRG:43A4 4C 5D C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop55: + iny ; CPU:$C3A7 PRG:43A7 C8 + lda (VramWritePtrLo),y ; CPU:$C3A8 PRG:43A8 B1 5E + sta Zp69 ; CPU:$C3AA PRG:43AA 85 69 + iny ; CPU:$C3AC PRG:43AC C8 + clc ; CPU:$C3AD PRG:43AD 18 + adc Zp75 ; CPU:$C3AE PRG:43AE 65 75 + sta VramReadPtrHi ; CPU:$C3B0 PRG:43B0 85 63 + lda VramReadPtrLo ; CPU:$C3B2 PRG:43B2 A5 62 + clc ; CPU:$C3B4 PRG:43B4 18 + adc Zp6C ; CPU:$C3B5 PRG:43B5 65 6C + sta ObjectTimer ; CPU:$C3B7 PRG:43B7 85 68 + lsr a ; CPU:$C3B9 PRG:43B9 4A + lsr a ; CPU:$C3BA PRG:43BA 4A + lsr a ; CPU:$C3BB PRG:43BB 4A + and #$1E ; CPU:$C3BC PRG:43BC 29 1E + sta ObjectX ; CPU:$C3BE PRG:43BE 85 60 + lda VramReadPtrHi ; CPU:$C3C0 PRG:43C0 A5 63 + and #$F0 ; CPU:$C3C2 PRG:43C2 29 F0 + sta VramReadPtrLo ; CPU:$C3C4 PRG:43C4 85 62 + lda #$00 ; CPU:$C3C6 PRG:43C6 A9 00 + sta VramReadPtrHi ; CPU:$C3C8 PRG:43C8 85 63 + asl VramReadPtrLo ; CPU:$C3CA PRG:43CA 06 62 + rol VramReadPtrHi ; CPU:$C3CC PRG:43CC 26 63 + asl VramReadPtrLo ; CPU:$C3CE PRG:43CE 06 62 + rol VramReadPtrHi ; CPU:$C3D0 PRG:43D0 26 63 + lda VramReadPtrLo ; CPU:$C3D2 PRG:43D2 A5 62 + clc ; CPU:$C3D4 PRG:43D4 18 + adc ObjectX ; CPU:$C3D5 PRG:43D5 65 60 + sta $0507,x ; CPU:$C3D7 PRG:43D7 9D 07 05 + lda VramReadPtrHi ; CPU:$C3DA PRG:43DA A5 63 + clc ; CPU:$C3DC PRG:43DC 18 + adc Zp66 ; CPU:$C3DD PRG:43DD 65 66 + sta $0506,x ; CPU:$C3DF PRG:43DF 9D 06 05 + inx ; CPU:$C3E2 PRG:43E2 E8 + inx ; CPU:$C3E3 PRG:43E3 E8 + lda #$04 ; CPU:$C3E4 PRG:43E4 A9 04 + sta ObjectY ; CPU:$C3E6 PRG:43E6 85 61 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero9: + lda (VramWritePtrLo),y ; CPU:$C3E8 PRG:43E8 B1 5E + iny ; CPU:$C3EA PRG:43EA C8 + sta $0506,x ; CPU:$C3EB PRG:43EB 9D 06 05 + inx ; CPU:$C3EE PRG:43EE E8 + dec ObjectY ; CPU:$C3EF PRG:43EF C6 61 + bne NmiHandler_OnNonzero9 ; CPU:$C3F1 PRG:43F1 D0 F5 + txa ; CPU:$C3F3 PRG:43F3 8A + pha ; CPU:$C3F4 PRG:43F4 48 + lda Zp75 ; CPU:$C3F5 PRG:43F5 A5 75 + clc ; CPU:$C3F7 PRG:43F7 18 + adc Zp69 ; CPU:$C3F8 PRG:43F8 65 69 + sta Zp69 ; CPU:$C3FA PRG:43FA 85 69 + and #$E0 ; CPU:$C3FC PRG:43FC 29 E0 + lsr a ; CPU:$C3FE PRG:43FE 4A + lsr a ; CPU:$C3FF PRG:43FF 4A + lsr ObjectX ; CPU:$C400 PRG:4400 46 60 + lsr ObjectX ; CPU:$C402 PRG:4402 46 60 + clc ; CPU:$C404 PRG:4404 18 + adc ObjectX ; CPU:$C405 PRG:4405 65 60 + adc Zp67 ; CPU:$C407 PRG:4407 65 67 + tax ; CPU:$C409 PRG:4409 AA + lda ObjectTimer ; CPU:$C40A PRG:440A A5 68 + and #$10 ; CPU:$C40C PRG:440C 29 10 + bne NmiHandler_Loop57 ; CPU:$C40E PRG:440E D0 28 + lda Zp69 ; CPU:$C410 PRG:4410 A5 69 + and #$10 ; CPU:$C412 PRG:4412 29 10 + bne NmiHandler_Loop56 ; CPU:$C414 PRG:4414 D0 0D + lda $0621,x ; CPU:$C416 PRG:4416 BD 21 06 + and #$FC ; CPU:$C419 PRG:4419 29 FC + ora Zp98 ; CPU:$C41B PRG:441B 05 98 + sta $0621,x ; CPU:$C41D PRG:441D 9D 21 06 + jmp Sub_C465 ; CPU:$C420 PRG:4420 4C 65 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop56: + lda Zp98 ; CPU:$C423 PRG:4423 A5 98 + asl a ; CPU:$C425 PRG:4425 0A + asl a ; CPU:$C426 PRG:4426 0A + asl a ; CPU:$C427 PRG:4427 0A + asl a ; CPU:$C428 PRG:4428 0A + sta ObjectY ; CPU:$C429 PRG:4429 85 61 + lda $0621,x ; CPU:$C42B PRG:442B BD 21 06 + and #$CF ; CPU:$C42E PRG:442E 29 CF + ora ObjectY ; CPU:$C430 PRG:4430 05 61 + sta $0621,x ; CPU:$C432 PRG:4432 9D 21 06 + jmp Sub_C465 ; CPU:$C435 PRG:4435 4C 65 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: + lda Zp69 ; CPU:$C438 PRG:4438 A5 69 + and #$10 ; CPU:$C43A PRG:443A 29 10 + bne NmiHandler_Loop58 ; CPU:$C43C PRG:443C D0 13 + lda Zp98 ; CPU:$C43E PRG:443E A5 98 + asl a ; CPU:$C440 PRG:4440 0A + asl a ; CPU:$C441 PRG:4441 0A + sta ObjectY ; CPU:$C442 PRG:4442 85 61 + lda $0621,x ; CPU:$C444 PRG:4444 BD 21 06 + and #$F3 ; CPU:$C447 PRG:4447 29 F3 + ora ObjectY ; CPU:$C449 PRG:4449 05 61 + sta $0621,x ; CPU:$C44B PRG:444B 9D 21 06 + jmp Sub_C465 ; CPU:$C44E PRG:444E 4C 65 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop58: + lda Zp98 ; CPU:$C451 PRG:4451 A5 98 + asl a ; CPU:$C453 PRG:4453 0A + asl a ; CPU:$C454 PRG:4454 0A + asl a ; CPU:$C455 PRG:4455 0A + asl a ; CPU:$C456 PRG:4456 0A + asl a ; CPU:$C457 PRG:4457 0A + asl a ; CPU:$C458 PRG:4458 0A + sta ObjectY ; CPU:$C459 PRG:4459 85 61 + lda $0621,x ; CPU:$C45B PRG:445B BD 21 06 + and #$3F ; CPU:$C45E PRG:445E 29 3F + ora ObjectY ; CPU:$C460 PRG:4460 05 61 + sta $0621,x ; CPU:$C462 PRG:4462 9D 21 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C465 +; Global: Branch target inside Sub: taken when C465. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C465: + pla ; CPU:$C465 PRG:4465 68 + tax ; CPU:$C466 PRG:4466 AA + cpx #$60 ; CPU:$C467 PRG:4467 E0 60 + beq NmiHandler_Loop59 ; CPU:$C469 PRG:4469 F0 03 + jmp Sub_C35D ; CPU:$C46B PRG:446B 4C 5D C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop59: + pla ; CPU:$C46E PRG:446E 68 + tay ; CPU:$C46F PRG:446F A8 + rts ; CPU:$C470 PRG:4470 60 +; ---- data $C471-$C485 (21 bytes) ---- +; referenced by `lda $C471,y` at $C4CC (operand $C471 falls inside this region) +; referenced by `lda $C47D,y` at $C540 (operand $C47D falls inside this region) +ObjectAttributeTable: + .byte $00, $FF, $FF, $FF, $00, $00, $00, $02, $01, $03, $01, $FF, $00, $FF, $00, $FF ; CPU:$C471 PRG:0471 00 FF FF FF 00 00 00 02 01 03 01 FF 00 FF 00 FF + .byte $FF, $01, $01, $01, $03 ; CPU:$C481 PRG:4481 FF 01 01 01 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_C486 +; Global: Branch target inside Sub: taken when C486. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C486: + lda Zp6C ; CPU:$C486 PRG:4486 A5 6C + and #$03 ; CPU:$C488 PRG:4488 29 03 + cmp #$02 ; CPU:$C48A PRG:448A C9 02 + beq NmiHandler_Loop60 ; CPU:$C48C PRG:448C F0 01 + rts ; CPU:$C48E PRG:448E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop60: + lda PlayerIndex ; CPU:$C48F PRG:448F A5 00 + beq NmiHandler_Loop61 ; CPU:$C491 PRG:4491 F0 03 + jmp Sub_C521 ; CPU:$C493 PRG:4493 4C 21 C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop61: + ldx #$00 ; CPU:$C496 PRG:4496 A2 00 + ldy #$00 ; CPU:$C498 PRG:4498 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C49A +; Global: Branch target inside Sub: taken when C49A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C49A: + lda $0366,y ; CPU:$C49A PRG:449A B9 66 03 + beq NmiHandler_Loop63 ; CPU:$C49D PRG:449D F0 70 + cmp #$7F ; CPU:$C49F PRG:449F C9 7F + bcs NmiHandler_Loop63 ; CPU:$C4A1 PRG:44A1 B0 6C + lda $036A,y ; CPU:$C4A3 PRG:44A3 B9 6A 03 + and #$03 ; CPU:$C4A6 PRG:44A6 29 03 + cmp #$02 ; CPU:$C4A8 PRG:44A8 C9 02 + bcs NmiHandler_Loop63 ; CPU:$C4AA PRG:44AA B0 63 + tya ; CPU:$C4AC PRG:44AC 98 + pha ; CPU:$C4AD PRG:44AD 48 + lda $0366,y ; CPU:$C4AE PRG:44AE B9 66 03 + cmp #$4B ; CPU:$C4B1 PRG:44B1 C9 4B + beq NmiHandler_Loop62 ; CPU:$C4B3 PRG:44B3 F0 0B + cmp #$49 ; CPU:$C4B5 PRG:44B5 C9 49 + beq NmiHandler_Loop62 ; CPU:$C4B7 PRG:44B7 F0 07 + cmp #$4A ; CPU:$C4B9 PRG:44B9 C9 4A + beq NmiHandler_Loop62 ; CPU:$C4BB PRG:44BB F0 03 + jmp Sub_C4C5 ; CPU:$C4BD PRG:44BD 4C C5 C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + lda #$00 ; CPU:$C4C0 PRG:44C0 A9 00 + jmp Sub_C4CF ; CPU:$C4C2 PRG:44C2 4C CF C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_C4C5 +; Global: Branch target inside Sub: taken when C4C5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C4C5: + lda $0366,y ; CPU:$C4C5 PRG:44C5 B9 66 03 + sec ; CPU:$C4C8 PRG:44C8 38 + sbc #$2E ; CPU:$C4C9 PRG:44C9 E9 2E + tay ; CPU:$C4CB PRG:44CB A8 + lda $C471,y ; CPU:$C4CC PRG:44CC B9 71 C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_C4CF +; Global: Branch target inside Sub: taken when C4CF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C4CF: + sta Zp98 ; CPU:$C4CF PRG:44CF 85 98 + pla ; CPU:$C4D1 PRG:44D1 68 + tay ; CPU:$C4D2 PRG:44D2 A8 + lda $0366,y ; CPU:$C4D3 PRG:44D3 B9 66 03 + sta Zp72 ; CPU:$C4D6 PRG:44D6 85 72 + lda $0367,y ; CPU:$C4D8 PRG:44D8 B9 67 03 + sec ; CPU:$C4DB PRG:44DB 38 + sbc #$0F ; CPU:$C4DC PRG:44DC E9 0F + sta Zp75 ; CPU:$C4DE PRG:44DE 85 75 + lda $0369,y ; CPU:$C4E0 PRG:44E0 B9 69 03 + sta Zp73 ; CPU:$C4E3 PRG:44E3 85 73 + lda $036A,y ; CPU:$C4E5 PRG:44E5 B9 6A 03 + and #$03 ; CPU:$C4E8 PRG:44E8 29 03 + sta Zp74 ; CPU:$C4EA PRG:44EA 85 74 + lda $036B,y ; CPU:$C4EC PRG:44EC B9 6B 03 + sta TimerIndex ; CPU:$C4EF PRG:44EF 85 64 + lda $036C,y ; CPU:$C4F1 PRG:44F1 B9 6C 03 + sta Zp65 ; CPU:$C4F4 PRG:44F4 85 65 + lda #$20 ; CPU:$C4F6 PRG:44F6 A9 20 + sta Zp66 ; CPU:$C4F8 PRG:44F8 85 66 + lda #$00 ; CPU:$C4FA PRG:44FA A9 00 + sta Zp67 ; CPU:$C4FC PRG:44FC 85 67 + jsr Sub_C2FC ; CPU:$C4FE PRG:44FE 20 FC C2 + lda TimerIndex ; CPU:$C501 PRG:4501 A5 64 + sta $036B,y ; CPU:$C503 PRG:4503 99 6B 03 + lda Zp65 ; CPU:$C506 PRG:4506 A5 65 + sta $036C,y ; CPU:$C508 PRG:4508 99 6C 03 + cpx #$78 ; CPU:$C50B PRG:450B E0 78 + beq NmiHandler_Loop64 ; CPU:$C50D PRG:450D F0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + tya ; CPU:$C50F PRG:450F 98 + clc ; CPU:$C510 PRG:4510 18 + adc #$08 ; CPU:$C511 PRG:4511 69 08 + tay ; CPU:$C513 PRG:4513 A8 + cpy #$E0 ; CPU:$C514 PRG:4514 C0 E0 + beq NmiHandler_Loop64 ; CPU:$C516 PRG:4516 F0 03 + jmp Sub_C49A ; CPU:$C518 PRG:4518 4C 9A C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: + lda #$FF ; CPU:$C51B PRG:451B A9 FF + sta $0506,x ; CPU:$C51D PRG:451D 9D 06 05 + rts ; CPU:$C520 PRG:4520 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C521 +; Global: Branch target inside Sub: taken when C521. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C521: + ldx #$00 ; CPU:$C521 PRG:4521 A2 00 + ldy #$00 ; CPU:$C523 PRG:4523 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero10: + lda $0446,y ; CPU:$C525 PRG:4525 B9 46 04 + beq NmiHandler_Loop65 ; CPU:$C528 PRG:4528 F0 59 + cmp #$7F ; CPU:$C52A PRG:452A C9 7F + bcs NmiHandler_Loop65 ; CPU:$C52C PRG:452C B0 55 + lda $044A,y ; CPU:$C52E PRG:452E B9 4A 04 + and #$03 ; CPU:$C531 PRG:4531 29 03 + cmp #$02 ; CPU:$C533 PRG:4533 C9 02 + bcs NmiHandler_Loop65 ; CPU:$C535 PRG:4535 B0 4C + tya ; CPU:$C537 PRG:4537 98 + pha ; CPU:$C538 PRG:4538 48 + lda $0446,y ; CPU:$C539 PRG:4539 B9 46 04 + sec ; CPU:$C53C PRG:453C 38 + sbc #$3D ; CPU:$C53D PRG:453D E9 3D + tay ; CPU:$C53F PRG:453F A8 + lda $C47D,y ; CPU:$C540 PRG:4540 B9 7D C4 + sta Zp98 ; CPU:$C543 PRG:4543 85 98 + pla ; CPU:$C545 PRG:4545 68 + tay ; CPU:$C546 PRG:4546 A8 + lda $0446,y ; CPU:$C547 PRG:4547 B9 46 04 + sta Zp72 ; CPU:$C54A PRG:454A 85 72 + lda $0447,y ; CPU:$C54C PRG:454C B9 47 04 + sec ; CPU:$C54F PRG:454F 38 + sbc #$0F ; CPU:$C550 PRG:4550 E9 0F + sta Zp75 ; CPU:$C552 PRG:4552 85 75 + lda $0449,y ; CPU:$C554 PRG:4554 B9 49 04 + sta Zp73 ; CPU:$C557 PRG:4557 85 73 + lda $044A,y ; CPU:$C559 PRG:4559 B9 4A 04 + and #$03 ; CPU:$C55C PRG:455C 29 03 + sta Zp74 ; CPU:$C55E PRG:455E 85 74 + lda $044B,y ; CPU:$C560 PRG:4560 B9 4B 04 + sta TimerIndex ; CPU:$C563 PRG:4563 85 64 + lda $044C,y ; CPU:$C565 PRG:4565 B9 4C 04 + sta Zp65 ; CPU:$C568 PRG:4568 85 65 + lda #$28 ; CPU:$C56A PRG:456A A9 28 + sta Zp66 ; CPU:$C56C PRG:456C 85 66 + lda #$40 ; CPU:$C56E PRG:456E A9 40 + sta Zp67 ; CPU:$C570 PRG:4570 85 67 + jsr Sub_C2FC ; CPU:$C572 PRG:4572 20 FC C2 + lda TimerIndex ; CPU:$C575 PRG:4575 A5 64 + sta $044B,y ; CPU:$C577 PRG:4577 99 4B 04 + lda Zp65 ; CPU:$C57A PRG:457A A5 65 + sta $044C,y ; CPU:$C57C PRG:457C 99 4C 04 + cpx #$78 ; CPU:$C57F PRG:457F E0 78 + beq NmiHandler_Loop66 ; CPU:$C581 PRG:4581 F0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop65: + tya ; CPU:$C583 PRG:4583 98 + clc ; CPU:$C584 PRG:4584 18 + adc #$08 ; CPU:$C585 PRG:4585 69 08 + tay ; CPU:$C587 PRG:4587 A8 + cpy #$C0 ; CPU:$C588 PRG:4588 C0 C0 + bne NmiHandler_OnNonzero10 ; CPU:$C58A PRG:458A D0 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop66: + lda #$FF ; CPU:$C58C PRG:458C A9 FF + sta $0506,x ; CPU:$C58E PRG:458E 9D 06 05 + rts ; CPU:$C591 PRG:4591 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C592 +; Global: Branch target inside Sub: taken when C592. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C592: + lda Zp79 ; CPU:$C592 PRG:4592 A5 79 + and #$01 ; CPU:$C594 PRG:4594 29 01 + sta VramWritePtrLo ; CPU:$C596 PRG:4596 85 5E + lda Zp86 ; CPU:$C598 PRG:4598 A5 86 + cmp #$01 ; CPU:$C59A PRG:459A C9 01 + bne NmiHandler_Loop67 ; CPU:$C59C PRG:459C D0 19 + lda Zp79 ; CPU:$C59E PRG:459E A5 79 + lsr a ; CPU:$C5A0 PRG:45A0 4A + lsr a ; CPU:$C5A1 PRG:45A1 4A + sta Zp57 ; CPU:$C5A2 PRG:45A2 85 57 + ldy Zp0E ; CPU:$C5A4 PRG:45A4 A4 0E + lda $95EE,y ; CPU:$C5A6 PRG:45A6 B9 EE 95 + sta Zp56 ; CPU:$C5A9 PRG:45A9 85 56 + lda GameState ; CPU:$C5AB PRG:45AB A5 8A + cmp $06BA ; CPU:$C5AD PRG:45AD CD BA 06 + beq NmiHandler_Loop71 ; CPU:$C5B0 PRG:45B0 F0 62 + bcs NmiHandler_Loop70 ; CPU:$C5B2 PRG:45B2 B0 44 + jmp Sub_C5D8 ; CPU:$C5B4 PRG:45B4 4C D8 C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop67: + lda Zp54 ; CPU:$C5B7 PRG:45B7 A5 54 + and #$08 ; CPU:$C5B9 PRG:45B9 29 08 + beq NmiHandler_Loop68 ; CPU:$C5BB PRG:45BB F0 0A + lda #$05 ; CPU:$C5BD PRG:45BD A9 05 + jsr Sub_FAE6 ; CPU:$C5BF PRG:45BF 20 E6 FA + lda #$01 ; CPU:$C5C2 PRG:45C2 A9 01 + sta Zp85 ; CPU:$C5C4 PRG:45C4 85 85 + rts ; CPU:$C5C6 PRG:45C6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop68: + lda SpriteX ; CPU:$C5C7 PRG:45C7 A5 88 + tax ; CPU:$C5C9 PRG:45C9 AA + lda Zp50,x ; CPU:$C5CA PRG:45CA B5 50 + sta Zp56 ; CPU:$C5CC PRG:45CC 85 56 + lda Zp54,x ; CPU:$C5CE PRG:45CE B5 54 + sta Zp57 ; CPU:$C5D0 PRG:45D0 85 57 + lda Zp56 ; CPU:$C5D2 PRG:45D2 A5 56 + and #$20 ; CPU:$C5D4 PRG:45D4 29 20 + beq NmiHandler_Loop69 ; CPU:$C5D6 PRG:45D6 F0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_C5D8 +; Global: Branch target inside Sub: taken when C5D8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C5D8: + ldx PlayerIndex ; CPU:$C5D8 PRG:45D8 A6 00 + lda $C7FF,x ; CPU:$C5DA PRG:45DA BD FF C7 + cmp GameState ; CPU:$C5DD PRG:45DD C5 8A + bcc NmiHandler_Loop71 ; CPU:$C5DF PRG:45DF 90 33 + inc GameState ; CPU:$C5E1 PRG:45E1 E6 8A + lda LevelIndex ; CPU:$C5E3 PRG:45E3 A5 8B + cmp #$04 ; CPU:$C5E5 PRG:45E5 C9 04 + bcs NmiHandler_Loop71 ; CPU:$C5E7 PRG:45E7 B0 2B + lda VramWritePtrLo ; CPU:$C5E9 PRG:45E9 A5 5E + beq NmiHandler_Loop71 ; CPU:$C5EB PRG:45EB F0 27 + inc GameState ; CPU:$C5ED PRG:45ED E6 8A + jmp NmiHandler_Loop71 ; CPU:$C5EF PRG:45EF 4C 14 C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + lda Zp56 ; CPU:$C5F2 PRG:45F2 A5 56 + and #$10 ; CPU:$C5F4 PRG:45F4 29 10 + beq NmiHandler_Loop71 ; CPU:$C5F6 PRG:45F6 F0 1C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + lda LevelIndex ; CPU:$C5F8 PRG:45F8 A5 8B + asl a ; CPU:$C5FA PRG:45FA 0A + clc ; CPU:$C5FB PRG:45FB 18 + adc PlayerIndex ; CPU:$C5FC PRG:45FC 65 00 + tax ; CPU:$C5FE PRG:45FE AA + lda $C7F3,x ; CPU:$C5FF PRG:45FF BD F3 C7 + cmp GameState ; CPU:$C602 PRG:4602 C5 8A + bcs NmiHandler_Loop71 ; CPU:$C604 PRG:4604 B0 0E + dec GameState ; CPU:$C606 PRG:4606 C6 8A + lda LevelIndex ; CPU:$C608 PRG:4608 A5 8B + cmp #$04 ; CPU:$C60A PRG:460A C9 04 + bcs NmiHandler_Loop71 ; CPU:$C60C PRG:460C B0 06 + lda VramWritePtrLo ; CPU:$C60E PRG:460E A5 5E + beq NmiHandler_Loop71 ; CPU:$C610 PRG:4610 F0 02 + dec GameState ; CPU:$C612 PRG:4612 C6 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + lda Zp56 ; CPU:$C614 PRG:4614 A5 56 + and #$40 ; CPU:$C616 PRG:4616 29 40 + beq NmiHandler_Loop73 ; CPU:$C618 PRG:4618 F0 1A + lda #$0D ; CPU:$C61A PRG:461A A9 0D + cmp Zp89 ; CPU:$C61C PRG:461C C5 89 + bcs NmiHandler_Loop74 ; CPU:$C61E PRG:461E B0 2E + dec Zp89 ; CPU:$C620 PRG:4620 C6 89 + lda PlayerIndex ; CPU:$C622 PRG:4622 A5 00 + bne NmiHandler_Loop72 ; CPU:$C624 PRG:4624 D0 05 + dec Zp89 ; CPU:$C626 PRG:4626 C6 89 + jmp NmiHandler_Loop74 ; CPU:$C628 PRG:4628 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + lda VramWritePtrLo ; CPU:$C62B PRG:462B A5 5E + beq NmiHandler_Loop74 ; CPU:$C62D PRG:462D F0 1F + dec Zp89 ; CPU:$C62F PRG:462F C6 89 + jmp NmiHandler_Loop74 ; CPU:$C631 PRG:4631 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + lda Zp56 ; CPU:$C634 PRG:4634 A5 56 + and #$80 ; CPU:$C636 PRG:4636 29 80 + beq NmiHandler_Loop74 ; CPU:$C638 PRG:4638 F0 14 + inc $0203 ; CPU:$C63A PRG:463A EE 03 02 + inc $020D ; CPU:$C63D PRG:463D EE 0D 02 + lda #$BA ; CPU:$C640 PRG:4640 A9 BA + cmp Zp89 ; CPU:$C642 PRG:4642 C5 89 + bcc NmiHandler_Loop74 ; CPU:$C644 PRG:4644 90 08 + inc Zp89 ; CPU:$C646 PRG:4646 E6 89 + lda VramWritePtrLo ; CPU:$C648 PRG:4648 A5 5E + beq NmiHandler_Loop74 ; CPU:$C64A PRG:464A F0 02 + inc Zp89 ; CPU:$C64C PRG:464C E6 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + lda Zp91 ; CPU:$C64E PRG:464E A5 91 + beq NmiHandler_Loop75 ; CPU:$C650 PRG:4650 F0 03 + dec Zp91 ; CPU:$C652 PRG:4652 C6 91 + rts ; CPU:$C654 PRG:4654 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + lda Zp57 ; CPU:$C655 PRG:4655 A5 57 + and #$03 ; CPU:$C657 PRG:4657 29 03 + bne NmiHandler_Loop76 ; CPU:$C659 PRG:4659 D0 01 + rts ; CPU:$C65B PRG:465B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + lda #$0C ; CPU:$C65C PRG:465C A9 0C + sta Zp91 ; CPU:$C65E PRG:465E 85 91 + lda $0620 ; CPU:$C660 PRG:4660 AD 20 06 + clc ; CPU:$C663 PRG:4663 18 + adc #$05 ; CPU:$C664 PRG:4664 69 05 + cmp #$0F ; CPU:$C666 PRG:4666 C9 0F + bcc NmiHandler_Loop77 ; CPU:$C668 PRG:4668 90 02 + lda #$00 ; CPU:$C66A PRG:466A A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + sta $0620 ; CPU:$C66C PRG:466C 8D 20 06 + tay ; CPU:$C66F PRG:466F A8 + lda #$00 ; CPU:$C670 PRG:4670 A9 00 + sta Zp94 ; CPU:$C672 PRG:4672 85 94 + jsr Sub_FA51 ; CPU:$C674 PRG:4674 20 51 FA + lda LevelIndex ; CPU:$C677 PRG:4677 A5 8B + asl a ; CPU:$C679 PRG:4679 0A + asl a ; CPU:$C67A PRG:467A 0A + asl a ; CPU:$C67B PRG:467B 0A + tax ; CPU:$C67C PRG:467C AA + lda PlayerIndex ; CPU:$C67D PRG:467D A5 00 + beq NmiHandler_Loop78 ; CPU:$C67F PRG:467F F0 05 + txa ; CPU:$C681 PRG:4681 8A + clc ; CPU:$C682 PRG:4682 18 + adc #$30 ; CPU:$C683 PRG:4683 69 30 + tax ; CPU:$C685 PRG:4685 AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + lda $C801,x ; CPU:$C686 PRG:4686 BD 01 C8 + sta $0219,y ; CPU:$C689 PRG:4689 99 19 02 + lda GameState ; CPU:$C68C PRG:468C A5 8A + sec ; CPU:$C68E PRG:468E 38 + sbc $C802,x ; CPU:$C68F PRG:468F FD 02 C8 + sta $021A,y ; CPU:$C692 PRG:4692 99 1A 02 + lda Zp89 ; CPU:$C695 PRG:4695 A5 89 + clc ; CPU:$C697 PRG:4697 18 + adc #$0E ; CPU:$C698 PRG:4698 69 0E + sta $021B,y ; CPU:$C69A PRG:469A 99 1B 02 + inx ; CPU:$C69D PRG:469D E8 + inx ; CPU:$C69E PRG:469E E8 + lda $C801,x ; CPU:$C69F PRG:469F BD 01 C8 + cmp #$10 ; CPU:$C6A2 PRG:46A2 C9 10 + bne NmiHandler_Loop79 ; CPU:$C6A4 PRG:46A4 D0 02 + ldy #$00 ; CPU:$C6A6 PRG:46A6 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + cmp #$11 ; CPU:$C6A8 PRG:46A8 C9 11 + bne NmiHandler_Loop80 ; CPU:$C6AA PRG:46AA D0 02 + ldy #$00 ; CPU:$C6AC PRG:46AC A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + sta $0237,y ; CPU:$C6AE PRG:46AE 99 37 02 + lda GameState ; CPU:$C6B1 PRG:46B1 A5 8A + sec ; CPU:$C6B3 PRG:46B3 38 + sbc $C802,x ; CPU:$C6B4 PRG:46B4 FD 02 C8 + sta $0238,y ; CPU:$C6B7 PRG:46B7 99 38 02 + lda Zp89 ; CPU:$C6BA PRG:46BA A5 89 + clc ; CPU:$C6BC PRG:46BC 18 + adc #$0E ; CPU:$C6BD PRG:46BD 69 0E + sta $0239,y ; CPU:$C6BF PRG:46BF 99 39 02 + inx ; CPU:$C6C2 PRG:46C2 E8 + inx ; CPU:$C6C3 PRG:46C3 E8 + lda $C801,x ; CPU:$C6C4 PRG:46C4 BD 01 C8 + sta $0228,y ; CPU:$C6C7 PRG:46C7 99 28 02 + lda GameState ; CPU:$C6CA PRG:46CA A5 8A + sec ; CPU:$C6CC PRG:46CC 38 + sbc $C802,x ; CPU:$C6CD PRG:46CD FD 02 C8 + sta $0229,y ; CPU:$C6D0 PRG:46D0 99 29 02 + lda Zp89 ; CPU:$C6D3 PRG:46D3 A5 89 + clc ; CPU:$C6D5 PRG:46D5 18 + adc #$04 ; CPU:$C6D6 PRG:46D6 69 04 + sta $022A,y ; CPU:$C6D8 PRG:46D8 99 2A 02 + rts ; CPU:$C6DB PRG:46DB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C6DC +; Global: Branch target inside Sub: taken when C6DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C6DC: + lda PlayerIndex ; CPU:$C6DC PRG:46DC A5 00 + beq NmiHandler_Loop81 ; CPU:$C6DE PRG:46DE F0 03 + jmp Sub_C76B ; CPU:$C6E0 PRG:46E0 4C 6B C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + ldx #$00 ; CPU:$C6E3 PRG:46E3 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + lda $0219,x ; CPU:$C6E5 PRG:46E5 BD 19 02 + beq NmiHandler_Loop85 ; CPU:$C6E8 PRG:46E8 F0 3E + cmp #$0E ; CPU:$C6EA PRG:46EA C9 0E + bne NmiHandler_Loop83 ; CPU:$C6EC PRG:46EC D0 16 + lda $021B,x ; CPU:$C6EE PRG:46EE BD 1B 02 + clc ; CPU:$C6F1 PRG:46F1 18 + adc #$07 ; CPU:$C6F2 PRG:46F2 69 07 + bcc NmiHandler_Loop82 ; CPU:$C6F4 PRG:46F4 90 08 + lda #$00 ; CPU:$C6F6 PRG:46F6 A9 00 + sta $0219,x ; CPU:$C6F8 PRG:46F8 9D 19 02 + jmp NmiHandler_Loop85 ; CPU:$C6FB PRG:46FB 4C 28 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop82: + sta $021B,x ; CPU:$C6FE PRG:46FE 9D 1B 02 + jmp NmiHandler_Loop85 ; CPU:$C701 PRG:4701 4C 28 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + cmp #$13 ; CPU:$C704 PRG:4704 C9 13 + bne NmiHandler_Loop85 ; CPU:$C706 PRG:4706 D0 20 + lda $021B,x ; CPU:$C708 PRG:4708 BD 1B 02 + clc ; CPU:$C70B PRG:470B 18 + adc #$08 ; CPU:$C70C PRG:470C 69 08 + bcs NmiHandler_Loop84 ; CPU:$C70E PRG:470E B0 13 + sta $021B,x ; CPU:$C710 PRG:4710 9D 1B 02 + lda $021A,x ; CPU:$C713 PRG:4713 BD 1A 02 + clc ; CPU:$C716 PRG:4716 18 + adc #$04 ; CPU:$C717 PRG:4717 69 04 + sta $021A,x ; CPU:$C719 PRG:4719 9D 1A 02 + lda GameState ; CPU:$C71C PRG:471C A5 8A + cmp $021A,x ; CPU:$C71E PRG:471E DD 1A 02 + bcs NmiHandler_Loop85 ; CPU:$C721 PRG:4721 B0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + lda #$00 ; CPU:$C723 PRG:4723 A9 00 + sta $0219,x ; CPU:$C725 PRG:4725 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + inx ; CPU:$C728 PRG:4728 E8 + inx ; CPU:$C729 PRG:4729 E8 + inx ; CPU:$C72A PRG:472A E8 + inx ; CPU:$C72B PRG:472B E8 + inx ; CPU:$C72C PRG:472C E8 + cpx #$2D ; CPU:$C72D PRG:472D E0 2D + bne NmiHandler_OnNonzero11 ; CPU:$C72F PRG:472F D0 B4 + lda PlayerY ; CPU:$C731 PRG:4731 A5 90 + cmp #$07 ; CPU:$C733 PRG:4733 C9 07 + beq NmiHandler_Loop87 ; CPU:$C735 PRG:4735 F0 33 + lda $0237 ; CPU:$C737 PRG:4737 AD 37 02 + cmp #$10 ; CPU:$C73A PRG:473A C9 10 + bne NmiHandler_Loop86 ; CPU:$C73C PRG:473C D0 10 + lda GameState ; CPU:$C73E PRG:473E A5 8A + sta $0238 ; CPU:$C740 PRG:4740 8D 38 02 + lda Zp89 ; CPU:$C743 PRG:4743 A5 89 + clc ; CPU:$C745 PRG:4745 18 + adc #$28 ; CPU:$C746 PRG:4746 69 28 + sta $0239 ; CPU:$C748 PRG:4748 8D 39 02 + jmp Sub_C762 ; CPU:$C74B PRG:474B 4C 62 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + cmp #$11 ; CPU:$C74E PRG:474E C9 11 + bne NmiHandler_Loop90 ; CPU:$C750 PRG:4750 D0 40 + lda GameState ; CPU:$C752 PRG:4752 A5 8A + sec ; CPU:$C754 PRG:4754 38 + sbc #$06 ; CPU:$C755 PRG:4755 E9 06 + sta $0238 ; CPU:$C757 PRG:4757 8D 38 02 + lda Zp89 ; CPU:$C75A PRG:475A A5 89 + clc ; CPU:$C75C PRG:475C 18 + adc #$26 ; CPU:$C75D PRG:475D 69 26 + sta $0239 ; CPU:$C75F PRG:475F 8D 39 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_C762 +; Global: Branch target inside Sub: taken when C762. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C762: + lda #$00 ; CPU:$C762 PRG:4762 A9 00 + sta $023C ; CPU:$C764 PRG:4764 8D 3C 02 + sta $0241 ; CPU:$C767 PRG:4767 8D 41 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + rts ; CPU:$C76A PRG:476A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C76B +; Global: Branch target inside Sub: taken when C76B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C76B: + ldx #$00 ; CPU:$C76B PRG:476B A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + lda $0219,x ; CPU:$C76D PRG:476D BD 19 02 + beq NmiHandler_Loop89 ; CPU:$C770 PRG:4770 F0 17 + cmp #$14 ; CPU:$C772 PRG:4772 C9 14 + bcs NmiHandler_Loop89 ; CPU:$C774 PRG:4774 B0 13 + lda $021B,x ; CPU:$C776 PRG:4776 BD 1B 02 + clc ; CPU:$C779 PRG:4779 18 + adc #$07 ; CPU:$C77A PRG:477A 69 07 + bcc NmiHandler_Loop88 ; CPU:$C77C PRG:477C 90 08 + lda #$00 ; CPU:$C77E PRG:477E A9 00 + sta $0219,x ; CPU:$C780 PRG:4780 9D 19 02 + jmp NmiHandler_Loop89 ; CPU:$C783 PRG:4783 4C 89 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + sta $021B,x ; CPU:$C786 PRG:4786 9D 1B 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + inx ; CPU:$C789 PRG:4789 E8 + inx ; CPU:$C78A PRG:478A E8 + inx ; CPU:$C78B PRG:478B E8 + inx ; CPU:$C78C PRG:478C E8 + inx ; CPU:$C78D PRG:478D E8 + cpx #$2D ; CPU:$C78E PRG:478E E0 2D + bne NmiHandler_OnNonzero12 ; CPU:$C790 PRG:4790 D0 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop90: + rts ; CPU:$C792 PRG:4792 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C793 +; Global: Branch target inside Sub: taken when C793. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C793: + lda LevelIndex ; CPU:$C793 PRG:4793 A5 8B + asl a ; CPU:$C795 PRG:4795 0A + asl a ; CPU:$C796 PRG:4796 0A + asl a ; CPU:$C797 PRG:4797 0A + tax ; CPU:$C798 PRG:4798 AA + ldy #$05 ; CPU:$C799 PRG:4799 A0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + lda $C7C3,x ; CPU:$C79B PRG:479B BD C3 C7 + sta $0200,y ; CPU:$C79E PRG:479E 99 00 02 + lda $C7C4,x ; CPU:$C7A1 PRG:47A1 BD C4 C7 + sta $0201,y ; CPU:$C7A4 PRG:47A4 99 01 02 + lda $C7C5,x ; CPU:$C7A7 PRG:47A7 BD C5 C7 + sta $0202,y ; CPU:$C7AA PRG:47AA 99 02 02 + lda #$00 ; CPU:$C7AD PRG:47AD A9 00 + sta $0203,y ; CPU:$C7AF PRG:47AF 99 03 02 + sta $0204,y ; CPU:$C7B2 PRG:47B2 99 04 02 + inx ; CPU:$C7B5 PRG:47B5 E8 + inx ; CPU:$C7B6 PRG:47B6 E8 + inx ; CPU:$C7B7 PRG:47B7 E8 + inx ; CPU:$C7B8 PRG:47B8 E8 + iny ; CPU:$C7B9 PRG:47B9 C8 + iny ; CPU:$C7BA PRG:47BA C8 + iny ; CPU:$C7BB PRG:47BB C8 + iny ; CPU:$C7BC PRG:47BC C8 + iny ; CPU:$C7BD PRG:47BD C8 + cpy #$0F ; CPU:$C7BE PRG:47BE C0 0F + bne NmiHandler_OnNonzero13 ; CPU:$C7C0 PRG:47C0 D0 D9 + rts ; CPU:$C7C2 PRG:47C2 60 +; ---- data $C7C3-$C860 (158 bytes) ---- +; referenced by `lda $C7FF,x` at $C5DA (operand $C7FF falls inside this region) +; referenced by `lda $C7F3,x` at $C5FF (operand $C7F3 falls inside this region) +; referenced by `lda $C801,x` at $C686 (operand $C801 falls inside this region) +; referenced by `sbc $C802,x` at $C68F (operand $C802 falls inside this region) +; referenced by `lda $C801,x` at $C69F (operand $C801 falls inside this region) +; referenced by `sbc $C802,x` at $C6B4 (operand $C802 falls inside this region) +; ... and 5 further references from decoded code +ObjectMovementTable: + .byte $01, $FC, $02, $00, $00, $00, $00, $00, $01, $FC, $EA, $00, $04, $FF, $02, $00 ; CPU:$C7C3 PRG:07C3 01 FC 02 00 00 00 00 00 01 FC EA 00 04 FF 02 00 + .byte $03, $FE, $02, $00, $00, $00, $00, $00, $03, $FE, $EA, $00, $04, $FF, $02, $00 ; CPU:$C7D3 PRG:47D3 03 FE 02 00 00 00 00 00 03 FE EA 00 04 FF 02 00 + .byte $05, $FC, $00, $00, $00, $00, $00, $00, $05, $FB, $EA, $00, $04, $FF, $02, $00 ; CPU:$C7E3 PRG:47E3 05 FC 00 00 00 00 00 00 05 FB EA 00 04 FF 02 00 + .byte $10, $1A, $2B, $2E, $20, $26, $34, $3E, $20, $26, $34, $3E, $E8, $DC, $0E, $FF ; CPU:$C7F3 PRG:47F3 10 1A 2B 2E 20 26 34 3E 20 26 34 3E E8 DC 0E FF + .byte $00, $00, $00, $00, $00, $00, $0E, $FF, $00, $00, $13, $17, $00, $00, $0E, $FF ; CPU:$C803 PRG:4803 00 00 00 00 00 00 0E FF 00 00 13 17 00 00 0E FF + .byte $00, $00, $13, $0D, $00, $00, $0E, $FF, $13, $14, $13, $23, $00, $00, $0E, $FF ; CPU:$C813 PRG:4813 00 00 13 0D 00 00 0E FF 13 14 13 23 00 00 0E FF + .byte $10, $FF, $13, $10, $00, $00, $0E, $FF, $11, $15, $13, $24, $00, $00, $0E, $00 ; CPU:$C823 PRG:4823 10 FF 13 10 00 00 0E FF 11 15 13 24 00 00 0E 00 + .byte $00, $00, $00, $00, $00, $00, $12, $1B, $0E, $01, $00, $00, $00, $00, $0E, $FF ; CPU:$C833 PRG:4833 00 00 00 00 00 00 12 1B 0E 01 00 00 00 00 0E FF + .byte $00, $00, $12, $12, $00, $00, $12, $19, $0E, $01, $12, $2C, $00, $00, $0F, $04 ; CPU:$C843 PRG:4843 00 00 12 12 00 00 12 19 0E 01 12 2C 00 00 0F 04 + .byte $00, $00, $12, $15, $00, $00, $0F, $19, $0E, $01, $12, $2C, $00, $00 ; CPU:$C853 PRG:4853 00 00 12 15 00 00 0F 19 0E 01 12 2C 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C861 ; Global: Branch target inside Sub: taken when C861. @@ -2458,21 +4017,21 @@ NmiHandler_Loop40: Sub_C861: lda #$F0 ; CPU:$C861 PRG:4861 A9 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero7: +NmiHandler_OnNonzero14: sta $0700,x ; CPU:$C863 PRG:4863 9D 00 07 inx ; CPU:$C866 PRG:4866 E8 inx ; CPU:$C867 PRG:4867 E8 inx ; CPU:$C868 PRG:4868 E8 inx ; CPU:$C869 PRG:4869 E8 cpx #$00 ; CPU:$C86A PRG:486A E0 00 - bne NmiHandler_OnNonzero7 ; CPU:$C86C PRG:486C D0 F5 + bne NmiHandler_OnNonzero14 ; CPU:$C86C PRG:486C D0 F5 rts ; CPU:$C86E PRG:486E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C86F @@ -2486,21 +4045,21 @@ Sub_C86F: ldx #$00 ; CPU:$C86F PRG:486F A2 00 lda #$F0 ; CPU:$C871 PRG:4871 A9 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: +NmiHandler_OnNonzero15: sta $0700,x ; CPU:$C873 PRG:4873 9D 00 07 inx ; CPU:$C876 PRG:4876 E8 inx ; CPU:$C877 PRG:4877 E8 inx ; CPU:$C878 PRG:4878 E8 inx ; CPU:$C879 PRG:4879 E8 cpx #$28 ; CPU:$C87A PRG:487A E0 28 - bne NmiHandler_OnNonzero8 ; CPU:$C87C PRG:487C D0 F5 + bne NmiHandler_OnNonzero15 ; CPU:$C87C PRG:487C D0 F5 rts ; CPU:$C87E PRG:487E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C87F @@ -2513,7 +4072,7 @@ NmiHandler_OnNonzero8: Sub_C87F: lda #$00 ; CPU:$C87F PRG:487F A9 00 sta PPUMASK ; CPU:$C881 PRG:4881 8D 01 20 - lda Zp6A ; CPU:$C884 PRG:4884 A5 6A + lda PpuCtrlShadow ; CPU:$C884 PRG:4884 A5 6A and #$61 ; CPU:$C886 PRG:4886 29 61 sta PPUCTRL ; CPU:$C888 PRG:4888 8D 00 20 ldy #$04 ; CPU:$C88B PRG:488B A0 04 @@ -2523,22 +4082,22 @@ Sub_C87F: stx PPUADDR ; CPU:$C894 PRG:4894 8E 06 20 lda #$13 ; CPU:$C897 PRG:4897 A9 13 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: +NmiHandler_OnNonzero16: sta PPUDATA ; CPU:$C899 PRG:4899 8D 07 20 inx ; CPU:$C89C PRG:489C E8 - bne NmiHandler_OnNonzero9 ; CPU:$C89D PRG:489D D0 FA + bne NmiHandler_OnNonzero16 ; CPU:$C89D PRG:489D D0 FA dey ; CPU:$C89F PRG:489F 88 - bne NmiHandler_OnNonzero9 ; CPU:$C8A0 PRG:48A0 D0 F7 - lda Zp6A ; CPU:$C8A2 PRG:48A2 A5 6A + bne NmiHandler_OnNonzero16 ; CPU:$C8A0 PRG:48A0 D0 F7 + lda PpuCtrlShadow ; CPU:$C8A2 PRG:48A2 A5 6A sta PPUCTRL ; CPU:$C8A4 PRG:48A4 8D 00 20 - lda Zp6B ; CPU:$C8A7 PRG:48A7 A5 6B + lda PpuMaskShadow ; CPU:$C8A7 PRG:48A7 A5 6B sta PPUMASK ; CPU:$C8A9 PRG:48A9 8D 01 20 rts ; CPU:$C8AC PRG:48AC 60 ; ---- data $C8AD-$C9BE (274 bytes) ---- @@ -2546,7 +4105,10 @@ NmiHandler_OnNonzero9: ; referenced by `lda $C9BC` at $C9CC (operand $C9BC falls inside this region) ; referenced by `lda $C9BD` at $C9D8 (operand $C9BD falls inside this region) ; referenced by `lda $C9BE` at $C9DD (operand $C9BE falls inside this region) - .byte $19, $00, $0F, $21, $0F, $10, $0F, $00, $0F, $15, $06, $07, $0F, $07, $17, $26 ; CPU:$C8AD PRG:48AD 19 00 0F 21 0F 10 0F 00 0F 15 06 07 0F 07 17 26 +; referenced by `lda $C8AD,x` at $D39D (operand $C8AD falls inside this region) +; referenced by `lda $C8AD,x` at $D3A2 (operand $C8AD falls inside this region) +LevelGraphicData: + .byte $19, $00, $0F, $21, $0F, $10, $0F, $00, $0F, $15, $06, $07, $0F, $07, $17, $26 ; CPU:$C8AD PRG:08AD 19 00 0F 21 0F 10 0F 00 0F 15 06 07 0F 07 17 26 .byte $19, $07, $00, $10, $0F, $0F, $00, $10, $0F, $15, $06, $07, $0F, $07, $17, $26 ; CPU:$C8BD PRG:48BD 19 07 00 10 0F 0F 00 10 0F 15 06 07 0F 07 17 26 .byte $17, $07, $00, $10, $0F, $0F, $00, $10, $0F, $15, $06, $07, $0F, $07, $17, $26 ; CPU:$C8CD PRG:48CD 17 07 00 10 0F 0F 00 10 0F 15 06 07 0F 07 17 26 .byte $17, $26, $06, $0C, $0F, $0C, $01, $11, $0F, $15, $06, $07, $0F, $07, $17, $26 ; CPU:$C8DD PRG:48DD 17 26 06 0C 0F 0C 01 11 0F 15 06 07 0F 07 17 26 @@ -2575,29 +4137,38 @@ NmiHandler_OnNonzero9: Sub_C9BF: lda Zp79 ; CPU:$C9BF PRG:49BF A5 79 and #$20 ; CPU:$C9C1 PRG:49C1 29 20 - beq NmiHandler_Loop41 ; CPU:$C9C3 PRG:49C3 F0 20 + beq NmiHandler_Loop91 ; CPU:$C9C3 PRG:49C3 F0 20 ldx #$00 ; CPU:$C9C5 PRG:49C5 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9C7 +; Global: Branch target inside Sub: taken when C9C7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9C7: lda $C9BB ; CPU:$C9C7 PRG:49C7 AD BB C9 - sta Zp5E ; CPU:$C9CA PRG:49CA 85 5E + sta VramWritePtrLo ; CPU:$C9CA PRG:49CA 85 5E lda $C9BC ; CPU:$C9CC PRG:49CC AD BC C9 - sta Zp5F ; CPU:$C9CF PRG:49CF 85 5F + sta VramWritePtrHi ; CPU:$C9CF PRG:49CF 85 5F lda #$00 ; CPU:$C9D1 PRG:49D1 A9 00 - sta Zp68 ; CPU:$C9D3 PRG:49D3 85 68 + sta ObjectTimer ; CPU:$C9D3 PRG:49D3 85 68 jsr Sub_D989 ; CPU:$C9D5 PRG:49D5 20 89 D9 lda $C9BD ; CPU:$C9D8 PRG:49D8 AD BD C9 - sta Zp5E ; CPU:$C9DB PRG:49DB 85 5E + sta VramWritePtrLo ; CPU:$C9DB PRG:49DB 85 5E lda $C9BE ; CPU:$C9DD PRG:49DD AD BE C9 - sta Zp5F ; CPU:$C9E0 PRG:49E0 85 5F + sta VramWritePtrHi ; CPU:$C9E0 PRG:49E0 85 5F jsr Sub_D989 ; CPU:$C9E2 PRG:49E2 20 89 D9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: +NmiHandler_Loop91: rts ; CPU:$C9E5 PRG:49E5 60 ; ---- data $C9E6-$CA01 (28 bytes) ---- ; referenced by `lda $C9FA,y` at $CA0F (operand $C9FA falls inside this region) @@ -2606,7 +4177,8 @@ NmiHandler_Loop41: ; referenced by `lda $CA00,y` at $CA27 (operand $CA00 falls inside this region) ; referenced by `lda $C9F8` at $CA86 (operand $C9F8 falls inside this region) ; referenced by `lda $C9F9` at $CA8C (operand $C9F9 falls inside this region) - .byte $68, $70, $05, $19, $0A, $1E, $1C, $0E, $18, $10, $02, $01, $19, $B0, $10, $02 ; CPU:$C9E6 PRG:49E6 68 70 05 19 0A 1E 1C 0E 18 10 02 01 19 B0 10 02 +ObjectPointerTable: + .byte $68, $70, $05, $19, $0A, $1E, $1C, $0E, $18, $10, $02, $01, $19, $B0, $10, $02 ; CPU:$C9E6 PRG:09E6 68 70 05 19 0A 1E 1C 0E 18 10 02 01 19 B0 10 02 .byte $02, $19, $E6, $C9, $EE, $C9, $F3, $C9, $18, $B0, $07, $0F ; CPU:$C9F6 PRG:49F6 02 19 E6 C9 EE C9 F3 C9 18 B0 07 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_CA02 @@ -2619,26 +4191,26 @@ NmiHandler_Loop41: Sub_CA02: lda Zp79 ; CPU:$CA02 PRG:4A02 A5 79 and #$10 ; CPU:$CA04 PRG:4A04 29 10 - bne NmiHandler_Loop42 ; CPU:$CA06 PRG:4A06 D0 03 + bne NmiHandler_Loop92 ; CPU:$CA06 PRG:4A06 D0 03 jmp Sub_CA20 ; CPU:$CA08 PRG:4A08 4C 20 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: - lda Zp88 ; CPU:$CA0B PRG:4A0B A5 88 +NmiHandler_Loop92: + lda SpriteX ; CPU:$CA0B PRG:4A0B A5 88 asl a ; CPU:$CA0D PRG:4A0D 0A tay ; CPU:$CA0E PRG:4A0E A8 lda $C9FA,y ; CPU:$CA0F PRG:4A0F B9 FA C9 - sta Zp5E ; CPU:$CA12 PRG:4A12 85 5E + sta VramWritePtrLo ; CPU:$CA12 PRG:4A12 85 5E lda $C9FB,y ; CPU:$CA14 PRG:4A14 B9 FB C9 - sta Zp5F ; CPU:$CA17 PRG:4A17 85 5F + sta VramWritePtrHi ; CPU:$CA17 PRG:4A17 85 5F ldx #$00 ; CPU:$CA19 PRG:4A19 A2 00 - stx Zp68 ; CPU:$CA1B PRG:4A1B 86 68 + stx ObjectTimer ; CPU:$CA1B PRG:4A1B 86 68 jsr Sub_D989 ; CPU:$CA1D PRG:4A1D 20 89 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA20 @@ -2649,74 +4221,74 @@ NmiHandler_Loop42: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CA20: - ldy Zp88 ; CPU:$CA20 PRG:4A20 A4 88 + ldy SpriteX ; CPU:$CA20 PRG:4A20 A4 88 lda $C9FE,y ; CPU:$CA22 PRG:4A22 B9 FE C9 - sta Zp5E ; CPU:$CA25 PRG:4A25 85 5E + sta VramWritePtrLo ; CPU:$CA25 PRG:4A25 85 5E lda $CA00,y ; CPU:$CA27 PRG:4A27 B9 00 CA tax ; CPU:$CA2A PRG:4A2A AA lda $06B7 ; CPU:$CA2B PRG:4A2B AD B7 06 cmp #$55 ; CPU:$CA2E PRG:4A2E C9 55 - bne NmiHandler_Loop43 ; CPU:$CA30 PRG:4A30 D0 02 + bne NmiHandler_Loop93 ; CPU:$CA30 PRG:4A30 D0 02 ldx #$1F ; CPU:$CA32 PRG:4A32 A2 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop93: ldy #$08 ; CPU:$CA34 PRG:4A34 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero10: +NmiHandler_OnNonzero17: lda $05FE,x ; CPU:$CA36 PRG:4A36 BD FE 05 - bne NmiHandler_OnNonzero11 ; CPU:$CA39 PRG:4A39 D0 10 - lda Zp5E ; CPU:$CA3B PRG:4A3B A5 5E + bne NmiHandler_OnNonzero18 ; CPU:$CA39 PRG:4A39 D0 10 + lda VramWritePtrLo ; CPU:$CA3B PRG:4A3B A5 5E clc ; CPU:$CA3D PRG:4A3D 18 adc #$08 ; CPU:$CA3E PRG:4A3E 69 08 - sta Zp5E ; CPU:$CA40 PRG:4A40 85 5E + sta VramWritePtrLo ; CPU:$CA40 PRG:4A40 85 5E dex ; CPU:$CA42 PRG:4A42 CA iny ; CPU:$CA43 PRG:4A43 C8 iny ; CPU:$CA44 PRG:4A44 C8 iny ; CPU:$CA45 PRG:4A45 C8 iny ; CPU:$CA46 PRG:4A46 C8 cpy #$24 ; CPU:$CA47 PRG:4A47 C0 24 - bne NmiHandler_OnNonzero10 ; CPU:$CA49 PRG:4A49 D0 EB + bne NmiHandler_OnNonzero17 ; CPU:$CA49 PRG:4A49 D0 EB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero18: lda #$18 ; CPU:$CA4B PRG:4A4B A9 18 sta $0700,y ; CPU:$CA4D PRG:4A4D 99 00 07 lda $05FE,x ; CPU:$CA50 PRG:4A50 BD FE 05 sta $0701,y ; CPU:$CA53 PRG:4A53 99 01 07 lda #$03 ; CPU:$CA56 PRG:4A56 A9 03 sta $0702,y ; CPU:$CA58 PRG:4A58 99 02 07 - lda Zp5E ; CPU:$CA5B PRG:4A5B A5 5E + lda VramWritePtrLo ; CPU:$CA5B PRG:4A5B A5 5E sta $0703,y ; CPU:$CA5D PRG:4A5D 99 03 07 clc ; CPU:$CA60 PRG:4A60 18 adc #$08 ; CPU:$CA61 PRG:4A61 69 08 - sta Zp5E ; CPU:$CA63 PRG:4A63 85 5E + sta VramWritePtrLo ; CPU:$CA63 PRG:4A63 85 5E dex ; CPU:$CA65 PRG:4A65 CA iny ; CPU:$CA66 PRG:4A66 C8 iny ; CPU:$CA67 PRG:4A67 C8 iny ; CPU:$CA68 PRG:4A68 C8 iny ; CPU:$CA69 PRG:4A69 C8 cpy #$28 ; CPU:$CA6A PRG:4A6A C0 28 - bne NmiHandler_OnNonzero11 ; CPU:$CA6C PRG:4A6C D0 DD + bne NmiHandler_OnNonzero18 ; CPU:$CA6C PRG:4A6C D0 DD rts ; CPU:$CA6E PRG:4A6E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA6F @@ -2729,40 +4301,40 @@ NmiHandler_OnNonzero11: Sub_CA6F: lda Zp54 ; CPU:$CA6F PRG:4A6F A5 54 and #$08 ; CPU:$CA71 PRG:4A71 29 08 - beq NmiHandler_Loop44 ; CPU:$CA73 PRG:4A73 F0 0A + beq NmiHandler_Loop94 ; CPU:$CA73 PRG:4A73 F0 0A lda #$00 ; CPU:$CA75 PRG:4A75 A9 00 sta Zp85 ; CPU:$CA77 PRG:4A77 85 85 lda #$05 ; CPU:$CA79 PRG:4A79 A9 05 jsr Sub_FAE6 ; CPU:$CA7B PRG:4A7B 20 E6 FA rts ; CPU:$CA7E PRG:4A7E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop94: lda Zp79 ; CPU:$CA7F PRG:4A7F A5 79 and #$08 ; CPU:$CA81 PRG:4A81 29 08 - bne NmiHandler_Loop45 ; CPU:$CA83 PRG:4A83 D0 01 + bne NmiHandler_Loop95 ; CPU:$CA83 PRG:4A83 D0 01 rts ; CPU:$CA85 PRG:4A85 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop95: lda $C9F8 ; CPU:$CA86 PRG:4A86 AD F8 C9 - sta a:Zp5E ; CPU:$CA89 PRG:4A89 8D 5E 00 + sta a:VramWritePtrLo ; CPU:$CA89 PRG:4A89 8D 5E 00 lda $C9F9 ; CPU:$CA8C PRG:4A8C AD F9 C9 - sta a:Zp5F ; CPU:$CA8F PRG:4A8F 8D 5F 00 + sta a:VramWritePtrHi ; CPU:$CA8F PRG:4A8F 8D 5F 00 ldx #$00 ; CPU:$CA92 PRG:4A92 A2 00 - stx Zp68 ; CPU:$CA94 PRG:4A94 86 68 + stx ObjectTimer ; CPU:$CA94 PRG:4A94 86 68 jsr Sub_D989 ; CPU:$CA96 PRG:4A96 20 89 D9 rts ; CPU:$CA99 PRG:4A99 60 ; ---- data $CA9A-$CADF (70 bytes) ---- @@ -2770,7 +4342,8 @@ NmiHandler_Loop45: ; referenced by `lda $CA9C,y` at $CAF3 (operand $CA9C falls inside this region) ; referenced by `lda $CA9E,y` at $CB0D (operand $CA9E falls inside this region) ; referenced by `lda $CAA0,y` at $CB2B (operand $CAA0 falls inside this region) - .byte $16, $00, $21, $00, $16, $26, $17, $16, $0F, $00, $0F, $10, $00, $0F, $0F, $15 ; CPU:$CA9A PRG:4A9A 16 00 21 00 16 26 17 16 0F 00 0F 10 00 0F 0F 15 +LevelTilePatternData: + .byte $16, $00, $21, $00, $16, $26, $17, $16, $0F, $00, $0F, $10, $00, $0F, $0F, $15 ; CPU:$CA9A PRG:0A9A 16 00 21 00 16 26 17 16 0F 00 0F 10 00 0F 0F 15 .byte $06, $07, $0F, $07, $17, $26, $17, $16, $06, $15, $0F, $16, $15, $06, $0F, $15 ; CPU:$CAAA PRG:4AAA 06 07 0F 07 17 26 17 16 06 15 0F 16 15 06 0F 15 .byte $06, $07, $0F, $07, $17, $26, $0F, $16, $0F, $00, $0F, $10, $0F, $16, $0F, $10 ; CPU:$CABA PRG:4ABA 06 07 0F 07 17 26 0F 16 0F 00 0F 10 0F 16 0F 10 .byte $0F, $21, $0F, $10, $00, $0F, $0F, $16, $06, $15, $0F, $10, $0F, $16, $0F, $10 ; CPU:$CACA PRG:4ACA 0F 21 0F 10 00 0F 0F 16 06 15 0F 10 0F 16 0F 10 @@ -2792,143 +4365,150 @@ Sub_CAE0: tay ; CPU:$CAE7 PRG:4AE7 A8 lda Zp0D ; CPU:$CAE8 PRG:4AE8 A5 0D cmp #$08 ; CPU:$CAEA PRG:4AEA C9 08 - bne NmiHandler_Loop46 ; CPU:$CAEC PRG:4AEC D0 0A + bne NmiHandler_Loop96 ; CPU:$CAEC PRG:4AEC D0 0A lda $CA9A,y ; CPU:$CAEE PRG:4AEE B9 9A CA sta ZpA3 ; CPU:$CAF1 PRG:4AF1 85 A3 lda $CA9C,y ; CPU:$CAF3 PRG:4AF3 B9 9C CA sta ZpA7 ; CPU:$CAF6 PRG:4AF6 85 A7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: - lda Zp00 ; CPU:$CAF8 PRG:4AF8 A5 00 - bne NmiHandler_Loop47 ; CPU:$CAFA PRG:4AFA D0 0A +NmiHandler_Loop96: + lda PlayerIndex ; CPU:$CAF8 PRG:4AF8 A5 00 + bne NmiHandler_Loop97 ; CPU:$CAFA PRG:4AFA D0 0A lda $0366 ; CPU:$CAFC PRG:4AFC AD 66 03 cmp #$1F ; CPU:$CAFF PRG:4AFF C9 1F - beq NmiHandler_Loop48 ; CPU:$CB01 PRG:4B01 F0 0A - jmp NmiHandler_Loop50 ; CPU:$CB03 PRG:4B03 4C 46 CB + beq NmiHandler_Loop98 ; CPU:$CB01 PRG:4B01 F0 0A + jmp NmiHandler_Loop100 ; CPU:$CB03 PRG:4B03 4C 46 CB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop97: lda $0446 ; CPU:$CB06 PRG:4B06 AD 46 04 cmp #$2D ; CPU:$CB09 PRG:4B09 C9 2D - bne NmiHandler_Loop50 ; CPU:$CB0B PRG:4B0B D0 39 + bne NmiHandler_Loop100 ; CPU:$CB0B PRG:4B0B D0 39 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop98: lda $CA9E,y ; CPU:$CB0D PRG:4B0D B9 9E CA sta Zp9D ; CPU:$CB10 PRG:4B10 85 9D lda $06B4 ; CPU:$CB12 PRG:4B12 AD B4 06 cmp #$08 ; CPU:$CB15 PRG:4B15 C9 08 - bcs NmiHandler_Loop50 ; CPU:$CB17 PRG:4B17 B0 2D + bcs NmiHandler_Loop100 ; CPU:$CB17 PRG:4B17 B0 2D lda Zp79 ; CPU:$CB19 PRG:4B19 A5 79 asl a ; CPU:$CB1B PRG:4B1B 0A asl a ; CPU:$CB1C PRG:4B1C 0A and #$10 ; CPU:$CB1D PRG:4B1D 29 10 ldy Zp0D ; CPU:$CB1F PRG:4B1F A4 0D cpy #$0F ; CPU:$CB21 PRG:4B21 C0 0F - bne NmiHandler_Loop49 ; CPU:$CB23 PRG:4B23 D0 03 + bne NmiHandler_Loop99 ; CPU:$CB23 PRG:4B23 D0 03 clc ; CPU:$CB25 PRG:4B25 18 adc #$20 ; CPU:$CB26 PRG:4B26 69 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: +NmiHandler_Loop99: tay ; CPU:$CB28 PRG:4B28 A8 ldx #$00 ; CPU:$CB29 PRG:4B29 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: +NmiHandler_OnNonzero19: lda $CAA0,y ; CPU:$CB2B PRG:4B2B B9 A0 CA sta Zp9C,x ; CPU:$CB2E PRG:4B2E 95 9C inx ; CPU:$CB30 PRG:4B30 E8 iny ; CPU:$CB31 PRG:4B31 C8 cpx #$10 ; CPU:$CB32 PRG:4B32 E0 10 - bne NmiHandler_OnNonzero12 ; CPU:$CB34 PRG:4B34 D0 F5 - lda Zp00 ; CPU:$CB36 PRG:4B36 A5 00 - beq NmiHandler_Loop50 ; CPU:$CB38 PRG:4B38 F0 0C + bne NmiHandler_OnNonzero19 ; CPU:$CB34 PRG:4B34 D0 F5 + lda PlayerIndex ; CPU:$CB36 PRG:4B36 A5 00 + beq NmiHandler_Loop100 ; CPU:$CB38 PRG:4B38 F0 0C lda Zp0D ; CPU:$CB3A PRG:4B3A A5 0D cmp #$0E ; CPU:$CB3C PRG:4B3C C9 0E - bne NmiHandler_Loop50 ; CPU:$CB3E PRG:4B3E D0 06 + bne NmiHandler_Loop100 ; CPU:$CB3E PRG:4B3E D0 06 lda #$07 ; CPU:$CB40 PRG:4B40 A9 07 sta Zp9C ; CPU:$CB42 PRG:4B42 85 9C sta ZpAC ; CPU:$CB44 PRG:4B44 85 AC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop100: lda Zp86 ; CPU:$CB46 PRG:4B46 A5 86 - beq NmiHandler_Loop51 ; CPU:$CB48 PRG:4B48 F0 03 + beq NmiHandler_Loop101 ; CPU:$CB48 PRG:4B48 F0 03 jmp Sub_CBEC ; CPU:$CB4A PRG:4B4A 4C EC CB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop101: lda #$00 ; CPU:$CB4D PRG:4B4D A9 00 sta APUSTATUS ; CPU:$CB4F PRG:4B4F 8D 15 40 lda Zp79 ; CPU:$CB52 PRG:4B52 A5 79 and #$01 ; CPU:$CB54 PRG:4B54 29 01 - bne NmiHandler_Loop52 ; CPU:$CB56 PRG:4B56 D0 0F + .byte $D0, $0F ; CPU:$CB56 PRG:4B56 D0 0F dec Zp8D ; CPU:$CB58 PRG:4B58 C6 8D - bne NmiHandler_Loop52 ; CPU:$CB5A PRG:4B5A D0 0B + .byte $D0, $0B ; CPU:$CB5A PRG:4B5A D0 0B lda #$01 ; CPU:$CB5C PRG:4B5C A9 01 sta Zp86 ; CPU:$CB5E PRG:4B5E 85 86 jmp Sub_CBE1 ; CPU:$CB60 PRG:4B60 4C E1 CB -; ---- data $CB63-$CB66 (4 bytes) ---- -; referenced by `lda $CB63,y` at $CB77 (operand $CB63 falls inside this region) - .byte $20, $2C, $21, $11 ; CPU:$CB63 PRG:4B63 20 2C 21 11 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. -; Local: Part of NmiHandler. +; Routine: Label_CB63 +; Global: Branch target inside Label: taken when CB63. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: - lda Zp8E ; CPU:$CB67 PRG:4B67 A5 8E - cmp #$E0 ; CPU:$CB69 PRG:4B69 C9 E0 - bcs NmiHandler_Loop54 ; CPU:$CB6B PRG:4B6B B0 14 +Label_CB63: + jsr $212C ; CPU:$CB63 PRG:4B63 20 2C 21 +; ----------------------------------------------------------------------------- +; Routine: Label_CB66 +; Global: Branch target inside Label: taken when CB66. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CB66: + ora (ZpA5),y ; CPU:$CB66 PRG:4B66 11 A5 + stx $E0C9 ; CPU:$CB68 PRG:4B68 8E C9 E0 + bcs NmiHandler_Loop103 ; CPU:$CB6B PRG:4B6B B0 14 cmp #$20 ; CPU:$CB6D PRG:4B6D C9 20 - bcc NmiHandler_Loop53 ; CPU:$CB6F PRG:4B6F 90 0B + bcc NmiHandler_Loop102 ; CPU:$CB6F PRG:4B6F 90 0B lda Zp79 ; CPU:$CB71 PRG:4B71 A5 79 lsr a ; CPU:$CB73 PRG:4B73 4A and #$03 ; CPU:$CB74 PRG:4B74 29 03 @@ -2936,25 +4516,25 @@ NmiHandler_Loop52: lda $CB63,y ; CPU:$CB77 PRG:4B77 B9 63 CB sta ZpA7 ; CPU:$CB7A PRG:4B7A 85 A7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop102: inc Zp8E ; CPU:$CB7C PRG:4B7C E6 8E jmp Sub_CB85 ; CPU:$CB7E PRG:4B7E 4C 85 CB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop103: lda #$11 ; CPU:$CB81 PRG:4B81 A9 11 sta ZpA7 ; CPU:$CB83 PRG:4B83 85 A7 ; ----------------------------------------------------------------------------- @@ -2968,7 +4548,7 @@ NmiHandler_Loop54: Sub_CB85: lda Zp54 ; CPU:$CB85 PRG:4B85 A5 54 and #$04 ; CPU:$CB87 PRG:4B87 29 04 - beq NmiHandler_Loop55 ; CPU:$CB89 PRG:4B89 F0 0C + beq NmiHandler_Loop104 ; CPU:$CB89 PRG:4B89 F0 0C lda Zp87 ; CPU:$CB8B PRG:4B8B A5 87 eor #$01 ; CPU:$CB8D PRG:4B8D 49 01 and #$01 ; CPU:$CB8F PRG:4B8F 29 01 @@ -2976,30 +4556,30 @@ Sub_CB85: lda #$00 ; CPU:$CB93 PRG:4B93 A9 00 sta Zp8D ; CPU:$CB95 PRG:4B95 85 8D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop104: ldy #$9F ; CPU:$CB97 PRG:4B97 A0 9F lda Zp87 ; CPU:$CB99 PRG:4B99 A5 87 - beq NmiHandler_Loop56 ; CPU:$CB9B PRG:4B9B F0 05 + beq NmiHandler_Loop105 ; CPU:$CB9B PRG:4B9B F0 05 tya ; CPU:$CB9D PRG:4B9D 98 clc ; CPU:$CB9E PRG:4B9E 18 adc #$10 ; CPU:$CB9F PRG:4B9F 69 10 tay ; CPU:$CBA1 PRG:4BA1 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: +NmiHandler_Loop105: sty $0720 ; CPU:$CBA2 PRG:4BA2 8C 20 07 lda #$56 ; CPU:$CBA5 PRG:4BA5 A9 56 sta $0721 ; CPU:$CBA7 PRG:4BA7 8D 21 07 @@ -3009,7 +4589,7 @@ NmiHandler_Loop56: sta $0723 ; CPU:$CBB1 PRG:4BB1 8D 23 07 lda Zp54 ; CPU:$CBB4 PRG:4BB4 A5 54 and #$08 ; CPU:$CBB6 PRG:4BB6 29 08 - beq NmiHandler_Loop57 ; CPU:$CBB8 PRG:4BB8 F0 47 + beq NmiHandler_Loop106 ; CPU:$CBB8 PRG:4BB8 F0 47 lda #$02 ; CPU:$CBBA PRG:4BBA A9 02 sta Zp86 ; CPU:$CBBC PRG:4BBC 85 86 lda #$0F ; CPU:$CBBE PRG:4BBE A9 0F @@ -3048,10 +4628,10 @@ NmiHandler_OnNonnegative: ; ----------------------------------------------------------------------------- Sub_CBE1: lda #$01 ; CPU:$CBE1 PRG:4BE1 A9 01 - sta Zp90 ; CPU:$CBE3 PRG:4BE3 85 90 + sta PlayerY ; CPU:$CBE3 PRG:4BE3 85 90 lda #$00 ; CPU:$CBE5 PRG:4BE5 A9 00 sta Zp8F ; CPU:$CBE7 PRG:4BE7 85 8F - jmp NmiHandler_Loop57 ; CPU:$CBE9 PRG:4BE9 4C 01 CC + jmp NmiHandler_Loop106 ; CPU:$CBE9 PRG:4BE9 4C 01 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CBEC ; Global: Branch target inside Sub: taken when CBEC. @@ -3062,24 +4642,33 @@ Sub_CBE1: ; ----------------------------------------------------------------------------- Sub_CBEC: cmp #$01 ; CPU:$CBEC PRG:4BEC C9 01 - bne NmiHandler_Loop57 ; CPU:$CBEE PRG:4BEE D0 11 + bne NmiHandler_Loop106 ; CPU:$CBEE PRG:4BEE D0 11 lda Zp54 ; CPU:$CBF0 PRG:4BF0 A5 54 and #$0C ; CPU:$CBF2 PRG:4BF2 29 0C - beq NmiHandler_Loop57 ; CPU:$CBF4 PRG:4BF4 F0 0B + beq NmiHandler_Loop106 ; CPU:$CBF4 PRG:4BF4 F0 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_CBF6 +; Global: Branch target inside Sub: taken when CBF6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBF6: lda #$00 ; CPU:$CBF6 PRG:4BF6 A9 00 sta Zp8E ; CPU:$CBF8 PRG:4BF8 85 8E sta Zp8D ; CPU:$CBFA PRG:4BFA 85 8D sta Zp86 ; CPU:$CBFC PRG:4BFC 85 86 jsr Sub_CD78 ; CPU:$CBFE PRG:4BFE 20 78 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop106: rts ; CPU:$CC01 PRG:4C01 60 ; ---- data $CC02-$CD77 (374 bytes) ---- ; referenced by `lda $CC02,x` at $CDDE (operand $CC02 falls inside this region) @@ -3088,7 +4677,7 @@ NmiHandler_Loop57: ; referenced by `lda $CC02,x` at $CDF0 (operand $CC02 falls inside this region) ; referenced by `lda $CC8F,x` at $CE0B (operand $CC8F falls inside this region) ; referenced by `lda $CD50,y` at $CE21 (operand $CD50 falls inside this region) -; ... and 1 further references from decoded code +; ... and 2 further references from decoded code .byte $20, $62, $02, $01, $19, $20, $6C, $08, $11, $12, $14, $1C, $0C, $18, $1B, $0E ; CPU:$CC02 PRG:4C02 20 62 02 01 19 20 6C 08 11 12 14 1C 0C 18 1B 0E .byte $20, $76, $02, $02, $19, $22, $8C, $08, $01, $13, $19, $15, $0A, $22, $0E, $1B ; CPU:$CC12 PRG:4C12 20 76 02 02 19 22 8C 08 01 13 19 15 0A 22 0E 1B .byte $22, $CC, $09, $02, $13, $19, $15, $0A, $22, $0E, $1B, $1C, $23, $03, $1A, $20 ; CPU:$CC22 PRG:4C22 22 CC 09 02 13 19 15 0A 22 0E 1B 1C 23 03 1A 20 @@ -3133,18 +4722,18 @@ Sub_CD78: sta Zp6C ; CPU:$CD8E PRG:4D8E 85 6C sta Zp6E ; CPU:$CD90 PRG:4D90 85 6E sta Zp70 ; CPU:$CD92 PRG:4D92 85 70 - sta Zp88 ; CPU:$CD94 PRG:4D94 85 88 + sta SpriteX ; CPU:$CD94 PRG:4D94 85 88 sta Zp0D ; CPU:$CD96 PRG:4D96 85 0D sta $06B1 ; CPU:$CD98 PRG:4D98 8D B1 06 sta $06B2 ; CPU:$CD9B PRG:4D9B 8D B2 06 lda #$FF ; CPU:$CD9E PRG:4D9E A9 FF sta $06B4 ; CPU:$CDA0 PRG:4DA0 8D B4 06 - lda Zp6A ; CPU:$CDA3 PRG:4DA3 A5 6A + lda PpuCtrlShadow ; CPU:$CDA3 PRG:4DA3 A5 6A and #$61 ; CPU:$CDA5 PRG:4DA5 29 61 sta PPUCTRL ; CPU:$CDA7 PRG:4DA7 8D 00 20 - sta Zp6A ; CPU:$CDAA PRG:4DAA 85 6A + sta PpuCtrlShadow ; CPU:$CDAA PRG:4DAA 85 6A ldx #$10 ; CPU:$CDAC PRG:4DAC A2 10 - stx Zp5E ; CPU:$CDAE PRG:4DAE 86 5E + stx VramWritePtrLo ; CPU:$CDAE PRG:4DAE 86 5E ; ----------------------------------------------------------------------------- ; Routine: Sub_CDB0 ; Global: Branch target inside Sub: taken when CDB0. @@ -3156,70 +4745,70 @@ Sub_CD78: Sub_CDB0: ldy #$08 ; CPU:$CDB0 PRG:4DB0 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: +NmiHandler_OnNonzero20: lda $05FD,x ; CPU:$CDB2 PRG:4DB2 BD FD 05 cmp $060D,y ; CPU:$CDB5 PRG:4DB5 D9 0D 06 - beq NmiHandler_Loop58 ; CPU:$CDB8 PRG:4DB8 F0 13 - bcc NmiHandler_Loop59 ; CPU:$CDBA PRG:4DBA 90 15 - ldx Zp5E ; CPU:$CDBC PRG:4DBC A6 5E + beq NmiHandler_Loop107 ; CPU:$CDB8 PRG:4DB8 F0 13 + bcc NmiHandler_Loop108 ; CPU:$CDBA PRG:4DBA 90 15 + ldx VramWritePtrLo ; CPU:$CDBC PRG:4DBC A6 5E ldy #$08 ; CPU:$CDBE PRG:4DBE A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero14: +NmiHandler_OnNonzero21: lda $05FD,x ; CPU:$CDC0 PRG:4DC0 BD FD 05 sta $060D,y ; CPU:$CDC3 PRG:4DC3 99 0D 06 dex ; CPU:$CDC6 PRG:4DC6 CA dey ; CPU:$CDC7 PRG:4DC7 88 - bne NmiHandler_OnNonzero14 ; CPU:$CDC8 PRG:4DC8 D0 F6 - jmp NmiHandler_Loop59 ; CPU:$CDCA PRG:4DCA 4C D1 CD + bne NmiHandler_OnNonzero21 ; CPU:$CDC8 PRG:4DC8 D0 F6 + jmp NmiHandler_Loop108 ; CPU:$CDCA PRG:4DCA 4C D1 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: +NmiHandler_Loop107: dex ; CPU:$CDCD PRG:4DCD CA dey ; CPU:$CDCE PRG:4DCE 88 - bne NmiHandler_OnNonzero13 ; CPU:$CDCF PRG:4DCF D0 E1 + bne NmiHandler_OnNonzero20 ; CPU:$CDCF PRG:4DCF D0 E1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop108: cpx #$09 ; CPU:$CDD1 PRG:4DD1 E0 09 - bcc NmiHandler_Loop60 ; CPU:$CDD3 PRG:4DD3 90 07 + bcc NmiHandler_Loop109 ; CPU:$CDD3 PRG:4DD3 90 07 ldx #$08 ; CPU:$CDD5 PRG:4DD5 A2 08 - stx Zp5E ; CPU:$CDD7 PRG:4DD7 86 5E + stx VramWritePtrLo ; CPU:$CDD7 PRG:4DD7 86 5E jmp Sub_CDB0 ; CPU:$CDD9 PRG:4DD9 4C B0 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop109: ldx #$00 ; CPU:$CDDC PRG:4DDC A2 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear2 @@ -3239,19 +4828,19 @@ NmiHandler_OnCarryClear2: ldy $CC02,x ; CPU:$CDEC PRG:4DEC BC 02 CC inx ; CPU:$CDEF PRG:4DEF E8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero15: +NmiHandler_OnNonzero22: lda $CC02,x ; CPU:$CDF0 PRG:4DF0 BD 02 CC sta PPUDATA ; CPU:$CDF3 PRG:4DF3 8D 07 20 inx ; CPU:$CDF6 PRG:4DF6 E8 dey ; CPU:$CDF7 PRG:4DF7 88 - bne NmiHandler_OnNonzero15 ; CPU:$CDF8 PRG:4DF8 D0 F6 + bne NmiHandler_OnNonzero22 ; CPU:$CDF8 PRG:4DF8 D0 F6 cpx #$8D ; CPU:$CDFA PRG:4DFA E0 8D bcc NmiHandler_OnCarryClear2 ; CPU:$CDFC PRG:4DFC 90 E0 lda #$21 ; CPU:$CDFE PRG:4DFE A9 21 @@ -3260,50 +4849,50 @@ NmiHandler_OnNonzero15: sta PPUADDR ; CPU:$CE05 PRG:4E05 8D 06 20 ldx #$FF ; CPU:$CE08 PRG:4E08 A2 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero16: +NmiHandler_OnNonzero23: inx ; CPU:$CE0A PRG:4E0A E8 lda $CC8F,x ; CPU:$CE0B PRG:4E0B BD 8F CC sta PPUDATA ; CPU:$CE0E PRG:4E0E 8D 07 20 - bne NmiHandler_OnNonzero16 ; CPU:$CE11 PRG:4E11 D0 F7 + bne NmiHandler_OnNonzero23 ; CPU:$CE11 PRG:4E11 D0 F7 lda #$23 ; CPU:$CE13 PRG:4E13 A9 23 sta PPUADDR ; CPU:$CE15 PRG:4E15 8D 06 20 lda #$C0 ; CPU:$CE18 PRG:4E18 A9 C0 sta PPUADDR ; CPU:$CE1A PRG:4E1A 8D 06 20 ldy #$00 ; CPU:$CE1D PRG:4E1D A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero17 -; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero17: +NmiHandler_OnNonzero24: ldx #$00 ; CPU:$CE1F PRG:4E1F A2 00 lda $CD50,y ; CPU:$CE21 PRG:4E21 B9 50 CD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero18 -; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero18: +NmiHandler_OnNonzero25: sta PPUDATA ; CPU:$CE24 PRG:4E24 8D 07 20 inx ; CPU:$CE27 PRG:4E27 E8 cpx #$08 ; CPU:$CE28 PRG:4E28 E0 08 - bne NmiHandler_OnNonzero18 ; CPU:$CE2A PRG:4E2A D0 F8 + bne NmiHandler_OnNonzero25 ; CPU:$CE2A PRG:4E2A D0 F8 iny ; CPU:$CE2C PRG:4E2C C8 cpy #$08 ; CPU:$CE2D PRG:4E2D C0 08 - bne NmiHandler_OnNonzero17 ; CPU:$CE2F PRG:4E2F D0 EE + bne NmiHandler_OnNonzero24 ; CPU:$CE2F PRG:4E2F D0 EE ldy #$82 ; CPU:$CE31 PRG:4E31 A0 82 ldx #$07 ; CPU:$CE33 PRG:4E33 A2 07 jsr Sub_CE5E ; CPU:$CE35 PRG:4E35 20 5E CE @@ -3315,22 +4904,22 @@ NmiHandler_OnNonzero18: jsr Sub_CE5E ; CPU:$CE43 PRG:4E43 20 5E CE ldy #$00 ; CPU:$CE46 PRG:4E46 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero19 -; Global: Branch target inside NmiHandler: taken when OnNonzero19. +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero19: +NmiHandler_OnNonzero26: lda $CD58,y ; CPU:$CE48 PRG:4E48 B9 58 CD sta a:Zp9C,y ; CPU:$CE4B PRG:4E4B 99 9C 00 iny ; CPU:$CE4E PRG:4E4E C8 cpy #$20 ; CPU:$CE4F PRG:4E4F C0 20 - bne NmiHandler_OnNonzero19 ; CPU:$CE51 PRG:4E51 D0 F5 + bne NmiHandler_OnNonzero26 ; CPU:$CE51 PRG:4E51 D0 F5 ldx #$10 ; CPU:$CE53 PRG:4E53 A2 10 jsr Sub_CE87 ; CPU:$CE55 PRG:4E55 20 87 CE - lda Zp6B ; CPU:$CE58 PRG:4E58 A5 6B + lda PpuMaskShadow ; CPU:$CE58 PRG:4E58 A5 6B sta PPUMASK ; CPU:$CE5A PRG:4E5A 8D 01 20 rts ; CPU:$CE5D PRG:4E5D 60 ; ----------------------------------------------------------------------------- @@ -3347,38 +4936,38 @@ Sub_CE5E: sty PPUADDR ; CPU:$CE63 PRG:4E63 8C 06 20 ldy #$08 ; CPU:$CE66 PRG:4E66 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero20 -; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero20: +NmiHandler_OnNonzero27: lda $05FE,x ; CPU:$CE68 PRG:4E68 BD FE 05 - bne NmiHandler_OnNonzero21 ; CPU:$CE6B PRG:4E6B D0 0F + bne NmiHandler_OnNonzero28 ; CPU:$CE6B PRG:4E6B D0 0F lda #$13 ; CPU:$CE6D PRG:4E6D A9 13 sta PPUDATA ; CPU:$CE6F PRG:4E6F 8D 07 20 dex ; CPU:$CE72 PRG:4E72 CA dey ; CPU:$CE73 PRG:4E73 88 - bne NmiHandler_OnNonzero20 ; CPU:$CE74 PRG:4E74 D0 F2 + bne NmiHandler_OnNonzero27 ; CPU:$CE74 PRG:4E74 D0 F2 lda #$00 ; CPU:$CE76 PRG:4E76 A9 00 sta PPUDATA ; CPU:$CE78 PRG:4E78 8D 07 20 rts ; CPU:$CE7B PRG:4E7B 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero21 -; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero21: +NmiHandler_OnNonzero28: lda $05FE,x ; CPU:$CE7C PRG:4E7C BD FE 05 sta PPUDATA ; CPU:$CE7F PRG:4E7F 8D 07 20 dex ; CPU:$CE82 PRG:4E82 CA dey ; CPU:$CE83 PRG:4E83 88 - bne NmiHandler_OnNonzero21 ; CPU:$CE84 PRG:4E84 D0 F6 + bne NmiHandler_OnNonzero28 ; CPU:$CE84 PRG:4E84 D0 F6 rts ; CPU:$CE86 PRG:4E86 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE87 @@ -3391,14 +4980,14 @@ NmiHandler_OnNonzero21: Sub_CE87: ldy #$10 ; CPU:$CE87 PRG:4E87 A0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero22 -; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero22: +NmiHandler_OnNonzero29: lda #$3F ; CPU:$CE89 PRG:4E89 A9 3F sta PPUADDR ; CPU:$CE8B PRG:4E8B 8D 06 20 stx PPUADDR ; CPU:$CE8E PRG:4E8E 8E 06 20 @@ -3406,7 +4995,7 @@ NmiHandler_OnNonzero22: sta PPUDATA ; CPU:$CE93 PRG:4E93 8D 07 20 inx ; CPU:$CE96 PRG:4E96 E8 dey ; CPU:$CE97 PRG:4E97 88 - bne NmiHandler_OnNonzero22 ; CPU:$CE98 PRG:4E98 D0 EF + bne NmiHandler_OnNonzero29 ; CPU:$CE98 PRG:4E98 D0 EF lda #$3F ; CPU:$CE9A PRG:4E9A A9 3F sta PPUADDR ; CPU:$CE9C PRG:4E9C 8D 06 20 lda #$00 ; CPU:$CE9F PRG:4E9F A9 00 @@ -3424,101 +5013,101 @@ NmiHandler_OnNonzero22: ; ----------------------------------------------------------------------------- Sub_CEAB: lda Zp86 ; CPU:$CEAB PRG:4EAB A5 86 - beq NmiHandler_Loop65 ; CPU:$CEAD PRG:4EAD F0 28 + beq NmiHandler_Loop114 ; CPU:$CEAD PRG:4EAD F0 28 lda Zp7A ; CPU:$CEAF PRG:4EAF A5 7A - beq NmiHandler_Loop61 ; CPU:$CEB1 PRG:4EB1 F0 0B + beq NmiHandler_Loop110 ; CPU:$CEB1 PRG:4EB1 F0 0B lda Zp79 ; CPU:$CEB3 PRG:4EB3 A5 79 and #$03 ; CPU:$CEB5 PRG:4EB5 29 03 - bne NmiHandler_Loop62 ; CPU:$CEB7 PRG:4EB7 D0 0A + bne NmiHandler_Loop111 ; CPU:$CEB7 PRG:4EB7 D0 0A lda #$01 ; CPU:$CEB9 PRG:4EB9 A9 01 - jmp NmiHandler_Loop62 ; CPU:$CEBB PRG:4EBB 4C C3 CE + jmp NmiHandler_Loop111 ; CPU:$CEBB PRG:4EBB 4C C3 CE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop110: lda Zp6C ; CPU:$CEBE PRG:4EBE A5 6C sec ; CPU:$CEC0 PRG:4EC0 38 sbc #$01 ; CPU:$CEC1 PRG:4EC1 E9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: +NmiHandler_Loop111: and #$03 ; CPU:$CEC3 PRG:4EC3 29 03 cmp #$00 ; CPU:$CEC5 PRG:4EC5 C9 00 - bne NmiHandler_Loop63 ; CPU:$CEC7 PRG:4EC7 D0 03 + bne NmiHandler_Loop112 ; CPU:$CEC7 PRG:4EC7 D0 03 jmp Sub_CEF4 ; CPU:$CEC9 PRG:4EC9 4C F4 CE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop112: cmp #$01 ; CPU:$CECC PRG:4ECC C9 01 - bne NmiHandler_Loop64 ; CPU:$CECE PRG:4ECE D0 03 + bne NmiHandler_Loop113 ; CPU:$CECE PRG:4ECE D0 03 jmp Sub_CF48 ; CPU:$CED0 PRG:4ED0 4C 48 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside NmiHandler: taken when Loop64. +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: +NmiHandler_Loop113: cmp #$02 ; CPU:$CED3 PRG:4ED3 C9 02 - bne NmiHandler_Loop66 ; CPU:$CED5 PRG:4ED5 D0 0C + bne NmiHandler_Loop115 ; CPU:$CED5 PRG:4ED5 D0 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside NmiHandler: taken when Loop65. +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop65: +NmiHandler_Loop114: ldx #$00 ; CPU:$CED7 PRG:4ED7 A2 00 jsr Sub_CE87 ; CPU:$CED9 PRG:4ED9 20 87 CE ldx #$40 ; CPU:$CEDC PRG:4EDC A2 40 ldy #$2B ; CPU:$CEDE PRG:4EDE A0 2B jmp Sub_CF27 ; CPU:$CEE0 PRG:4EE0 4C 27 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside NmiHandler: taken when Loop66. +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop66: +NmiHandler_Loop115: cmp #$03 ; CPU:$CEE3 PRG:4EE3 C9 03 - bne NmiHandler_Loop67 ; CPU:$CEE5 PRG:4EE5 D0 0C + bne NmiHandler_Loop116 ; CPU:$CEE5 PRG:4EE5 D0 0C ldx #$10 ; CPU:$CEE7 PRG:4EE7 A2 10 jsr Sub_CE87 ; CPU:$CEE9 PRG:4EE9 20 87 CE ldx #$00 ; CPU:$CEEC PRG:4EEC A2 00 ldy #$23 ; CPU:$CEEE PRG:4EEE A0 23 jmp Sub_CF27 ; CPU:$CEF0 PRG:4EF0 4C 27 CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside NmiHandler: taken when Loop67. +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop67: +NmiHandler_Loop116: rts ; CPU:$CEF3 PRG:4EF3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CEF4 @@ -3530,55 +5119,55 @@ NmiHandler_Loop67: ; ----------------------------------------------------------------------------- Sub_CEF4: lda Zp7D ; CPU:$CEF4 PRG:4EF4 A5 7D - beq NmiHandler_Loop68 ; CPU:$CEF6 PRG:4EF6 F0 2E + beq NmiHandler_Loop117 ; CPU:$CEF6 PRG:4EF6 F0 2E lda #$20 ; CPU:$CEF8 PRG:4EF8 A9 20 sta PPUADDR ; CPU:$CEFA PRG:4EFA 8D 06 20 lda Zp7C ; CPU:$CEFD PRG:4EFD A5 7C sta PPUADDR ; CPU:$CEFF PRG:4EFF 8D 06 20 ldx #$00 ; CPU:$CF02 PRG:4F02 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero23 -; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero23: +NmiHandler_OnNonzero30: lda ZpBC,x ; CPU:$CF04 PRG:4F04 B5 BC sta PPUDATA ; CPU:$CF06 PRG:4F06 8D 07 20 inx ; CPU:$CF09 PRG:4F09 E8 cpx #$1E ; CPU:$CF0A PRG:4F0A E0 1E - bne NmiHandler_OnNonzero23 ; CPU:$CF0C PRG:4F0C D0 F6 + bne NmiHandler_OnNonzero30 ; CPU:$CF0C PRG:4F0C D0 F6 lda #$28 ; CPU:$CF0E PRG:4F0E A9 28 sta PPUADDR ; CPU:$CF10 PRG:4F10 8D 06 20 lda Zp7C ; CPU:$CF13 PRG:4F13 A5 7C sta PPUADDR ; CPU:$CF15 PRG:4F15 8D 06 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero24 -; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero24: +NmiHandler_OnNonzero31: lda ZpBC,x ; CPU:$CF18 PRG:4F18 B5 BC sta PPUDATA ; CPU:$CF1A PRG:4F1A 8D 07 20 inx ; CPU:$CF1D PRG:4F1D E8 cpx #$3C ; CPU:$CF1E PRG:4F1E E0 3C - bne NmiHandler_OnNonzero24 ; CPU:$CF20 PRG:4F20 D0 F6 + bne NmiHandler_OnNonzero31 ; CPU:$CF20 PRG:4F20 D0 F6 lda #$00 ; CPU:$CF22 PRG:4F22 A9 00 sta Zp7D ; CPU:$CF24 PRG:4F24 85 7D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop68 -; Global: Branch target inside NmiHandler: taken when Loop68. +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop68: +NmiHandler_Loop117: rts ; CPU:$CF26 PRG:4F26 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF27 @@ -3589,7 +5178,7 @@ NmiHandler_Loop68: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_CF27: - lda Zp6A ; CPU:$CF27 PRG:4F27 A5 6A + lda PpuCtrlShadow ; CPU:$CF27 PRG:4F27 A5 6A and #$FB ; CPU:$CF29 PRG:4F29 29 FB sta PPUCTRL ; CPU:$CF2B PRG:4F2B 8D 00 20 sty PPUADDR ; CPU:$CF2E PRG:4F2E 8C 06 20 @@ -3597,20 +5186,20 @@ Sub_CF27: sta PPUADDR ; CPU:$CF33 PRG:4F33 8D 06 20 ldy #$40 ; CPU:$CF36 PRG:4F36 A0 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero25 -; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero25: +NmiHandler_OnNonzero32: lda $0621,x ; CPU:$CF38 PRG:4F38 BD 21 06 sta PPUDATA ; CPU:$CF3B PRG:4F3B 8D 07 20 inx ; CPU:$CF3E PRG:4F3E E8 dey ; CPU:$CF3F PRG:4F3F 88 - bne NmiHandler_OnNonzero25 ; CPU:$CF40 PRG:4F40 D0 F6 - lda Zp6A ; CPU:$CF42 PRG:4F42 A5 6A + bne NmiHandler_OnNonzero32 ; CPU:$CF40 PRG:4F40 D0 F6 + lda PpuCtrlShadow ; CPU:$CF42 PRG:4F42 A5 6A sta PPUCTRL ; CPU:$CF44 PRG:4F44 8D 00 20 rts ; CPU:$CF47 PRG:4F47 60 ; ----------------------------------------------------------------------------- @@ -3635,9 +5224,9 @@ Sub_CF4A: lda $0506,x ; CPU:$CF4A PRG:4F4A BD 06 05 inx ; CPU:$CF4D PRG:4F4D E8 cmp #$FF ; CPU:$CF4E PRG:4F4E C9 FF - beq NmiHandler_Loop69 ; CPU:$CF50 PRG:4F50 F0 34 + beq NmiHandler_Loop118 ; CPU:$CF50 PRG:4F50 F0 34 sta PPUADDR ; CPU:$CF52 PRG:4F52 8D 06 20 - sta Zp5E ; CPU:$CF55 PRG:4F55 85 5E + sta VramWritePtrLo ; CPU:$CF55 PRG:4F55 85 5E ldy $0506,x ; CPU:$CF57 PRG:4F57 BC 06 05 inx ; CPU:$CF5A PRG:4F5A E8 sty PPUADDR ; CPU:$CF5B PRG:4F5B 8C 06 20 @@ -3647,7 +5236,7 @@ Sub_CF4A: lda $0506,x ; CPU:$CF65 PRG:4F65 BD 06 05 sta PPUDATA ; CPU:$CF68 PRG:4F68 8D 07 20 inx ; CPU:$CF6B PRG:4F6B E8 - lda Zp5E ; CPU:$CF6C PRG:4F6C A5 5E + lda VramWritePtrLo ; CPU:$CF6C PRG:4F6C A5 5E sta PPUADDR ; CPU:$CF6E PRG:4F6E 8D 06 20 iny ; CPU:$CF71 PRG:4F71 C8 sty PPUADDR ; CPU:$CF72 PRG:4F72 8C 06 20 @@ -3659,14 +5248,14 @@ Sub_CF4A: sta PPUDATA ; CPU:$CF80 PRG:4F80 8D 07 20 jmp Sub_CF4A ; CPU:$CF83 PRG:4F83 4C 4A CF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop69 -; Global: Branch target inside NmiHandler: taken when Loop69. +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop69: +NmiHandler_Loop118: rts ; CPU:$CF86 PRG:4F86 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF87 @@ -3683,44 +5272,44 @@ Sub_CF87: sta JOY1 ; CPU:$CF8E PRG:4F8E 8D 16 40 ldx #$08 ; CPU:$CF91 PRG:4F91 A2 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero26 -; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero26: +NmiHandler_OnNonzero33: lda JOY1 ; CPU:$CF93 PRG:4F93 AD 16 40 ror a ; CPU:$CF96 PRG:4F96 6A - bcs NmiHandler_Loop70 ; CPU:$CF97 PRG:4F97 B0 01 + bcs NmiHandler_Loop119 ; CPU:$CF97 PRG:4F97 B0 01 ror a ; CPU:$CF99 PRG:4F99 6A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop70 -; Global: Branch target inside NmiHandler: taken when Loop70. +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop70: +NmiHandler_Loop119: ror Zp50 ; CPU:$CF9A PRG:4F9A 66 50 lda JOY2 ; CPU:$CF9C PRG:4F9C AD 17 40 ror a ; CPU:$CF9F PRG:4F9F 6A - bcs NmiHandler_Loop71 ; CPU:$CFA0 PRG:4FA0 B0 01 + bcs NmiHandler_Loop120 ; CPU:$CFA0 PRG:4FA0 B0 01 ror a ; CPU:$CFA2 PRG:4FA2 6A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside NmiHandler: taken when Loop71. +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop71: +NmiHandler_Loop120: ror Zp51 ; CPU:$CFA3 PRG:4FA3 66 51 dex ; CPU:$CFA5 PRG:4FA5 CA - bne NmiHandler_OnNonzero26 ; CPU:$CFA6 PRG:4FA6 D0 EB + bne NmiHandler_OnNonzero33 ; CPU:$CFA6 PRG:4FA6 D0 EB lda Zp52 ; CPU:$CFA8 PRG:4FA8 A5 52 eor Zp50 ; CPU:$CFAA PRG:4FAA 45 50 and Zp50 ; CPU:$CFAC PRG:4FAC 25 50 @@ -3734,164 +5323,2211 @@ NmiHandler_Loop71: lda Zp51 ; CPU:$CFBC PRG:4FBC A5 51 sta Zp53 ; CPU:$CFBE PRG:4FBE 85 53 rts ; CPU:$CFC0 PRG:4FC0 60 -; ---- data $CFC1-$D988 (2504 bytes) ---- - .byte $AD, $B1, $06, $0D, $B2, $06, $F0, $30, $A5, $00, $D0, $16, $AD, $66, $03, $C9 ; CPU:$CFC1 PRG:4FC1 AD B1 06 0D B2 06 F0 30 A5 00 D0 16 AD 66 03 C9 - .byte $1F, $D0, $25, $AD, $6A, $03, $C9, $01, $D0, $1E, $AD, $69, $03, $C9, $86, $B0 ; CPU:$CFD1 PRG:4FD1 1F D0 25 AD 6A 03 C9 01 D0 1E AD 69 03 C9 86 B0 - .byte $17, $60, $AD, $46, $04, $C9, $2D, $D0, $0F, $AD, $4A, $04, $C9, $01, $D0, $08 ; CPU:$CFE1 PRG:4FE1 17 60 AD 46 04 C9 2D D0 0F AD 4A 04 C9 01 D0 08 - .byte $AD, $49, $04, $C9, $86, $B0, $01, $60, $A9, $00, $85, $7A, $A5, $00, $F0, $09 ; CPU:$CFF1 PRG:4FF1 AD 49 04 C9 86 B0 01 60 A9 00 85 7A A5 00 F0 09 - .byte $A5, $79, $29, $01, $F0, $03, $4C, $7A, $D0, $20, $68, $D6, $A5, $6C, $29, $07 ; CPU:$D001 PRG:5001 A5 79 29 01 F0 03 4C 7A D0 20 68 D6 A5 6C 29 07 - .byte $D0, $65, $A5, $6C, $4A, $4A, $4A, $85, $7C, $29, $07, $85, $7B, $C9, $00, $D0 ; CPU:$D011 PRG:5011 D0 65 A5 6C 4A 4A 4A 85 7C 29 07 85 7B C9 00 D0 - .byte $56, $E6, $0E, $D0, $02, $E6, $0F, $A5, $0E, $29, $7F, $D0, $14, $A4, $88, $B9 ; CPU:$D021 PRG:5021 56 E6 0E D0 02 E6 0F A5 0E 29 7F D0 14 A4 88 B9 - .byte $5C, $00, $18, $69, $10, $99, $5C, $00, $C9, $90, $90, $05, $A9, $80, $99, $5C ; CPU:$D031 PRG:5031 5C 00 18 69 10 99 5C 00 C9 90 90 05 A9 80 99 5C - .byte $00, $A5, $0F, $C9, $05, $D0, $13, $A5, $0E, $C9, $10, $D0, $0D, $A9, $55, $8D ; CPU:$D041 PRG:5041 00 A5 0F C9 05 D0 13 A5 0E C9 10 D0 0D A9 55 8D - .byte $B7, $06, $A9, $03, $85, $0F, $A9, $63, $85, $0E, $20, $BF, $D3, $E6, $03, $D0 ; CPU:$D051 PRG:5051 B7 06 A9 03 85 0F A9 63 85 0E 20 BF D3 E6 03 D0 - .byte $02, $E6, $04, $A5, $04, $C9, $01, $90, $0E, $A5, $03, $C9, $CD, $90, $08, $A9 ; CPU:$D061 PRG:5061 02 E6 04 A5 04 C9 01 90 0E A5 03 C9 CD 90 08 A9 - .byte $00, $85, $04, $A9, $0D, $85, $03, $E6, $6C, $60, $1A, $84, $C2, $9B, $4D, $A3 ; CPU:$D071 PRG:5071 00 85 04 A9 0D 85 03 E6 6C 60 1A 84 C2 9B 4D A3 - .byte $23, $A5, $11, $A6, $D4, $A7, $92, $9D, $A6, $9F, $C2, $97, $20, $C4, $BC, $20 ; CPU:$D081 PRG:5081 23 A5 11 A6 D4 A7 92 9D A6 9F C2 97 20 C4 BC 20 - .byte $DA, $BC, $20, $F0, $BC, $20, $01, $BD, $20, $17, $BD, $A5, $03, $8D, $AF, $06 ; CPU:$D091 PRG:5091 DA BC 20 F0 BC 20 01 BD 20 17 BD A5 03 8D AF 06 - .byte $A5, $04, $8D, $B0, $06, $A5, $6A, $29, $7F, $09, $14, $8D, $00, $20, $85, $6A ; CPU:$D0A1 PRG:50A1 A5 04 8D B0 06 A5 6A 29 7F 09 14 8D 00 20 85 6A - .byte $A9, $00, $8D, $01, $20, $A9, $1F, $85, $7C, $A9, $07, $85, $7B, $A9, $00, $85 ; CPU:$D0B1 PRG:50B1 A9 00 8D 01 20 A9 1F 85 7C A9 07 85 7B A9 00 85 - .byte $6C, $A9, $04, $85, $64, $A9, $08, $85, $65, $AD, $7D, $D0, $18, $6D, $AF, $06 ; CPU:$D0C1 PRG:50C1 6C A9 04 85 64 A9 08 85 65 AD 7D D0 18 6D AF 06 - .byte $85, $5E, $AD, $7E, $D0, $6D, $B0, $06, $85, $5F, $A0, $00, $B1, $5E, $10, $12 ; CPU:$D0D1 PRG:50D1 85 5E AD 7E D0 6D B0 06 85 5F A0 00 B1 5E 10 12 - .byte $29, $7F, $85, $0D, $AD, $AF, $06, $D0, $03, $CE, $B0, $06, $CE, $AF, $06, $4C ; CPU:$D0E1 PRG:50E1 29 7F 85 0D AD AF 06 D0 03 CE B0 06 CE AF 06 4C - .byte $CA, $D0, $85, $5F, $A9, $00, $85, $5E, $46, $5F, $66, $5E, $A5, $5E, $85, $60 ; CPU:$D0F1 PRG:50F1 CA D0 85 5F A9 00 85 5E 46 5F 66 5E A5 5E 85 60 - .byte $A5, $5F, $85, $61, $A5, $7B, $4A, $18, $65, $60, $85, $60, $A5, $61, $69, $00 ; CPU:$D101 PRG:5101 A5 5F 85 61 A5 7B 4A 18 65 60 85 60 A5 61 69 00 - .byte $85, $61, $18, $AD, $7B, $D0, $65, $60, $85, $60, $AD, $7C, $D0, $65, $61, $85 ; CPU:$D111 PRG:5111 85 61 18 AD 7B D0 65 60 85 60 AD 7C D0 65 61 85 - .byte $61, $A0, $00, $84, $62, $A2, $00, $A5, $7B, $29, $01, $D0, $51, $A9, $20, $8D ; CPU:$D121 PRG:5121 61 A0 00 84 62 A2 00 A5 7B 29 01 D0 51 A9 20 8D - .byte $06, $20, $A5, $7C, $8D, $06, $20, $A4, $62, $B1, $60, $A8, $B9, $1A, $94, $8D ; CPU:$D131 PRG:5131 06 20 A5 7C 8D 06 20 A4 62 B1 60 A8 B9 1A 94 8D - .byte $07, $20, $B9, $EE, $95, $8D, $07, $20, $A5, $62, $18, $69, $04, $85, $62, $E8 ; CPU:$D141 PRG:5141 07 20 B9 EE 95 8D 07 20 A5 62 18 69 04 85 62 E8 - .byte $E0, $0F, $D0, $E3, $A9, $28, $8D, $06, $20, $A5, $7C, $8D, $06, $20, $A4, $62 ; CPU:$D151 PRG:5151 E0 0F D0 E3 A9 28 8D 06 20 A5 7C 8D 06 20 A4 62 - .byte $B1, $60, $A8, $B9, $1A, $94, $8D, $07, $20, $B9, $EE, $95, $8D, $07, $20, $A5 ; CPU:$D161 PRG:5161 B1 60 A8 B9 1A 94 8D 07 20 B9 EE 95 8D 07 20 A5 - .byte $62, $18, $69, $04, $85, $62, $E8, $E0, $1E, $D0, $E3, $4C, $CD, $D1, $A9, $20 ; CPU:$D171 PRG:5171 62 18 69 04 85 62 E8 E0 1E D0 E3 4C CD D1 A9 20 - .byte $8D, $06, $20, $A5, $7C, $8D, $06, $20, $A4, $62, $B1, $60, $A8, $B9, $04, $95 ; CPU:$D181 PRG:5181 8D 06 20 A5 7C 8D 06 20 A4 62 B1 60 A8 B9 04 95 - .byte $8D, $07, $20, $B9, $D8, $96, $8D, $07, $20, $A5, $62, $18, $69, $04, $85, $62 ; CPU:$D191 PRG:5191 8D 07 20 B9 D8 96 8D 07 20 A5 62 18 69 04 85 62 - .byte $E8, $E0, $0F, $D0, $E3, $A9, $28, $8D, $06, $20, $A5, $7C, $8D, $06, $20, $A4 ; CPU:$D1A1 PRG:51A1 E8 E0 0F D0 E3 A9 28 8D 06 20 A5 7C 8D 06 20 A4 - .byte $62, $B1, $60, $A8, $B9, $04, $95, $8D, $07, $20, $B9, $D8, $96, $8D, $07, $20 ; CPU:$D1B1 PRG:51B1 62 B1 60 A8 B9 04 95 8D 07 20 B9 D8 96 8D 07 20 - .byte $A5, $62, $18, $69, $04, $85, $62, $E8, $E0, $1E, $D0, $E3, $C6, $7C, $A5, $7C ; CPU:$D1C1 PRG:51C1 A5 62 18 69 04 85 62 E8 E0 1E D0 E3 C6 7C A5 7C - .byte $29, $1F, $85, $7C, $29, $07, $85, $7B, $C6, $65, $F0, $03, $4C, $FD, $D0, $46 ; CPU:$D1D1 PRG:51D1 29 1F 85 7C 29 07 85 7B C6 65 F0 03 4C FD D0 46 - .byte $5F, $66, $5E, $46, $5F, $66, $5E, $A5, $5E, $18, $6D, $8B, $D0, $85, $5E, $A5 ; CPU:$D1E1 PRG:51E1 5F 66 5E 46 5F 66 5E A5 5E 18 6D 8B D0 85 5E A5 - .byte $5F, $6D, $8C, $D0, $85, $5F, $A0, $00, $A5, $7C, $18, $69, $01, $4A, $4A, $29 ; CPU:$D1F1 PRG:51F1 5F 6D 8C D0 85 5F A0 00 A5 7C 18 69 01 4A 4A 29 - .byte $06, $AA, $B1, $5E, $9D, $21, $06, $C8, $B1, $5E, $9D, $22, $06, $C8, $8A, $18 ; CPU:$D201 PRG:5201 06 AA B1 5E 9D 21 06 C8 B1 5E 9D 22 06 C8 8A 18 - .byte $69, $08, $AA, $C0, $20, $D0, $EB, $AD, $AF, $06, $D0, $03, $CE, $B0, $06, $CE ; CPU:$D211 PRG:5211 69 08 AA C0 20 D0 EB AD AF 06 D0 03 CE B0 06 CE - .byte $AF, $06, $C6, $64, $F0, $03, $4C, $C6, $D0, $A2, $00, $A0, $23, $20, $27, $CF ; CPU:$D221 PRG:5221 AF 06 C6 64 F0 03 4C C6 D0 A2 00 A0 23 20 27 CF - .byte $A2, $40, $A0, $2B, $20, $27, $CF, $A5, $0D, $20, $96, $D3, $A2, $00, $20, $87 ; CPU:$D231 PRG:5231 A2 40 A0 2B 20 27 CF A5 0D 20 96 D3 A2 00 20 87 - .byte $CE, $A5, $6B, $8D, $01, $20, $A5, $6A, $8D, $00, $20, $60, $00, $0B, $0C, $03 ; CPU:$D241 PRG:5241 CE A5 6B 8D 01 20 A5 6A 8D 00 20 60 00 0B 0C 03 - .byte $04, $0D, $06, $07, $08, $09, $0A, $A5, $0D, $85, $5E, $C9, $0B, $B0, $0B, $A5 ; CPU:$D251 PRG:5251 04 0D 06 07 08 09 0A A5 0D 85 5E C9 0B B0 0B A5 - .byte $00, $F0, $07, $A4, $0D, $B9, $4D, $D2, $85, $5E, $A5, $5E, $4C, $96, $D3, $A5 ; CPU:$D261 PRG:5261 00 F0 07 A4 0D B9 4D D2 85 5E A5 5E 4C 96 D3 A5 - .byte $6C, $29, $07, $C9, $01, $F0, $01, $60, $AD, $7D, $D0, $18, $65, $03, $85, $5E ; CPU:$D271 PRG:5271 6C 29 07 C9 01 F0 01 60 AD 7D D0 18 65 03 85 5E - .byte $AD, $7E, $D0, $65, $04, $85, $5F, $A0, $00, $B1, $5E, $10, $10, $29, $7F, $85 ; CPU:$D281 PRG:5281 AD 7E D0 65 04 85 5F A0 00 B1 5E 10 10 29 7F 85 - .byte $0D, $20, $58, $D2, $E6, $03, $D0, $02, $E6, $04, $4C, $79, $D2, $85, $5F, $85 ; CPU:$D291 PRG:5291 0D 20 58 D2 E6 03 D0 02 E6 04 4C 79 D2 85 5F 85 - .byte $67, $A9, $00, $85, $5E, $85, $66, $46, $5F, $66, $5E, $A5, $7B, $4A, $18, $65 ; CPU:$D2A1 PRG:52A1 67 A9 00 85 5E 85 66 46 5F 66 5E A5 7B 4A 18 65 - .byte $5E, $85, $5E, $A5, $5F, $69, $00, $85, $5F, $18, $AD, $7B, $D0, $65, $5E, $85 ; CPU:$D2B1 PRG:52B1 5E 85 5E A5 5F 69 00 85 5F 18 AD 7B D0 65 5E 85 - .byte $5E, $AD, $7C, $D0, $65, $5F, $85, $5F, $A0, $00, $84, $62, $A2, $00, $A5, $7B ; CPU:$D2C1 PRG:52C1 5E AD 7C D0 65 5F 85 5F A0 00 84 62 A2 00 A5 7B - .byte $29, $01, $F0, $03, $4C, $67, $D3, $A4, $62, $B1, $5E, $A8, $B9, $1A, $94, $95 ; CPU:$D2D1 PRG:52D1 29 01 F0 03 4C 67 D3 A4 62 B1 5E A8 B9 1A 94 95 - .byte $BC, $E8, $B9, $EE, $95, $95, $BC, $A5, $62, $18, $69, $04, $85, $62, $E8, $E0 ; CPU:$D2E1 PRG:52E1 BC E8 B9 EE 95 95 BC A5 62 18 69 04 85 62 E8 E0 - .byte $3C, $D0, $E4, $46, $67, $66, $66, $46, $67, $66, $66, $46, $67, $66, $66, $A5 ; CPU:$D2F1 PRG:52F1 3C D0 E4 46 67 66 66 46 67 66 66 46 67 66 66 A5 - .byte $7B, $4A, $4A, $18, $65, $66, $85, $66, $A9, $00, $65, $67, $85, $67, $A5, $66 ; CPU:$D301 PRG:5301 7B 4A 4A 18 65 66 85 66 A9 00 65 67 85 67 A5 66 - .byte $18, $6D, $8B, $D0, $85, $66, $A5, $67, $6D, $8C, $D0, $85, $67, $A0, $00, $A5 ; CPU:$D311 PRG:5311 18 6D 8B D0 85 66 A5 67 6D 8C D0 85 67 A0 00 A5 - .byte $7C, $4A, $48, $4A, $AA, $68, $29, $01, $D0, $1E, $B1, $66, $29, $33, $85, $5E ; CPU:$D321 PRG:5321 7C 4A 48 4A AA 68 29 01 D0 1E B1 66 29 33 85 5E - .byte $BD, $21, $06, $29, $CC, $05, $5E, $9D, $21, $06, $8A, $18, $69, $08, $AA, $C8 ; CPU:$D331 PRG:5331 BD 21 06 29 CC 05 5E 9D 21 06 8A 18 69 08 AA C8 - .byte $C8, $C0, $20, $D0, $E5, $4C, $83, $D3, $B1, $66, $29, $CC, $85, $5E, $BD, $21 ; CPU:$D341 PRG:5341 C8 C0 20 D0 E5 4C 83 D3 B1 66 29 CC 85 5E BD 21 - .byte $06, $29, $33, $05, $5E, $9D, $21, $06, $8A, $18, $69, $08, $AA, $C8, $C8, $C0 ; CPU:$D351 PRG:5351 06 29 33 05 5E 9D 21 06 8A 18 69 08 AA C8 C8 C0 - .byte $20, $D0, $E5, $4C, $83, $D3, $A4, $62, $B1, $5E, $A8, $B9, $04, $95, $95, $BC ; CPU:$D361 PRG:5361 20 D0 E5 4C 83 D3 A4 62 B1 5E A8 B9 04 95 95 BC - .byte $E8, $B9, $D8, $96, $95, $BC, $A5, $62, $18, $69, $04, $85, $62, $E8, $E0, $3C ; CPU:$D371 PRG:5371 E8 B9 D8 96 95 BC A5 62 18 69 04 85 62 E8 E0 3C - .byte $D0, $E4, $A9, $01, $85, $7D, $60, $E6, $05, $D0, $02, $E6, $06, $60, $E6, $07 ; CPU:$D381 PRG:5381 D0 E4 A9 01 85 7D 60 E6 05 D0 02 E6 06 60 E6 07 - .byte $D0, $02, $E6, $08, $60, $0A, $0A, $0A, $0A, $AA, $A0, $00, $BD, $AD, $C8, $85 ; CPU:$D391 PRG:5391 D0 02 E6 08 60 0A 0A 0A 0A AA A0 00 BD AD C8 85 - .byte $AC, $BD, $AD, $C8, $99, $9C, $00, $E8, $C8, $C0, $10, $D0, $F4, $A5, $00, $F0 ; CPU:$D3A1 PRG:53A1 AC BD AD C8 99 9C 00 E8 C8 C0 10 D0 F4 A5 00 F0 - .byte $0C, $A5, $0D, $C9, $0E, $D0, $06, $A9, $07, $85, $9C, $85, $AC, $60, $A5, $09 ; CPU:$D3B1 PRG:53B1 0C A5 0D C9 0E D0 06 A9 07 85 9C 85 AC 60 A5 09 - .byte $F0, $05, $C6, $09, $4C, $07, $D5, $A0, $00, $B1, $05, $85, $5E, $C9, $FF, $D0 ; CPU:$D3C1 PRG:53C1 F0 05 C6 09 4C 07 D5 A0 00 B1 05 85 5E C9 FF D0 - .byte $1F, $AD, $81, $D0, $85, $05, $AD, $82, $D0, $85, $06, $AD, $85, $D0, $85, $07 ; CPU:$D3D1 PRG:53D1 1F AD 81 D0 85 05 AD 82 D0 85 06 AD 85 D0 85 07 - .byte $AD, $86, $D0, $85, $08, $A9, $12, $85, $01, $A9, $0A, $85, $02, $4C, $C8, $D3 ; CPU:$D3E1 PRG:53E1 AD 86 D0 85 08 A9 12 85 01 A9 0A 85 02 4C C8 D3 - .byte $C9, $FE, $D0, $24, $A9, $01, $85, $0B, $E6, $01, $A9, $00, $85, $7F, $20, $88 ; CPU:$D3F1 PRG:53F1 C9 FE D0 24 A9 01 85 0B E6 01 A9 00 85 7F 20 88 - .byte $D3, $A5, $88, $0A, $0A, $0A, $0A, $A8, $A2, $00, $B5, $00, $99, $30, $00, $C8 ; CPU:$D401 PRG:5401 D3 A5 88 0A 0A 0A 0A A8 A2 00 B5 00 99 30 00 C8 - .byte $E8, $E0, $10, $D0, $F5, $4C, $C8, $D3, $C9, $FD, $D0, $0A, $A9, $00, $85, $0B ; CPU:$D411 PRG:5411 E8 E0 10 D0 F5 4C C8 D3 C9 FD D0 0A A9 00 85 0B - .byte $20, $88, $D3, $4C, $C8, $D3, $29, $C0, $C9, $C0, $D0, $0C, $A5, $5E, $29, $3F ; CPU:$D421 PRG:5421 20 88 D3 4C C8 D3 29 C0 C9 C0 D0 0C A5 5E 29 3F - .byte $85, $09, $20, $88, $D3, $4C, $07, $D5, $20, $88, $D3, $A9, $00, $85, $5F, $06 ; CPU:$D431 PRG:5431 85 09 20 88 D3 4C 07 D5 20 88 D3 A9 00 85 5F 06 - .byte $5E, $26, $5F, $06, $5E, $26, $5F, $AD, $87, $D0, $85, $62, $AD, $88, $D0, $85 ; CPU:$D441 PRG:5441 5E 26 5F 06 5E 26 5F AD 87 D0 85 62 AD 88 D0 85 - .byte $63, $18, $A5, $5E, $65, $62, $85, $5E, $A5, $5F, $65, $63, $85, $5F, $A0, $00 ; CPU:$D451 PRG:5451 63 18 A5 5E 65 62 85 5E A5 5F 65 63 85 5F A0 00 - .byte $B1, $5E, $85, $62, $C8, $B1, $5E, $85, $63, $C8, $B1, $5E, $85, $60, $C8, $B1 ; CPU:$D461 PRG:5461 B1 5E 85 62 C8 B1 5E 85 63 C8 B1 5E 85 60 C8 B1 - .byte $5E, $85, $61, $A0, $00, $A6, $81, $B1, $62, $85, $5E, $C9, $FF, $D0, $03, $4C ; CPU:$D471 PRG:5471 5E 85 61 A0 00 A6 81 B1 62 85 5E C9 FF D0 03 4C - .byte $05, $D5, $29, $0F, $85, $5F, $0A, $0A, $0A, $0A, $9D, $67, $03, $8D, $BA, $06 ; CPU:$D481 PRG:5481 05 D5 29 0F 85 5F 0A 0A 0A 0A 9D 67 03 8D BA 06 - .byte $85, $64, $A5, $5E, $29, $30, $85, $5E, $B1, $60, $C9, $FF, $F0, $66, $C9, $1F ; CPU:$D491 PRG:5491 85 64 A5 5E 29 30 85 5E B1 60 C9 FF F0 66 C9 1F - .byte $D0, $1F, $8D, $66, $03, $A5, $64, $8D, $67, $03, $A2, $00, $A9, $28, $8D, $B4 ; CPU:$D4A1 PRG:54A1 D0 1F 8D 66 03 A5 64 8D 67 03 A2 00 A9 28 8D B4 - .byte $06, $A9, $08, $8D, $B2, $06, $A9, $04, $85, $90, $A9, $00, $85, $8F, $4C, $C9 ; CPU:$D4B1 PRG:54B1 06 A9 08 8D B2 06 A9 04 85 90 A9 00 85 8F 4C C9 - .byte $D4, $9D, $66, $03, $C9, $2E, $D0, $05, $A5, $5E, $4C, $DA, $D4, $A5, $5F, $4A ; CPU:$D4C1 PRG:54C1 D4 9D 66 03 C9 2E D0 05 A5 5E 4C DA D4 A5 5F 4A - .byte $49, $07, $0A, $0A, $0A, $0A, $18, $65, $5E, $9D, $69, $03, $A9, $02, $9D, $6A ; CPU:$D4D1 PRG:54D1 49 07 0A 0A 0A 0A 18 65 5E 9D 69 03 A9 02 9D 6A - .byte $03, $A9, $00, $9D, $6B, $03, $9D, $6C, $03, $A9, $08, $9D, $68, $03, $B5, $00 ; CPU:$D4E1 PRG:54E1 03 A9 00 9D 6B 03 9D 6C 03 A9 08 9D 68 03 B5 00 - .byte $29, $7F, $9D, $6D, $03, $C8, $8A, $18, $69, $08, $AA, $E0, $E0, $D0, $02, $A2 ; CPU:$D4F1 PRG:54F1 29 7F 9D 6D 03 C8 8A 18 69 08 AA E0 E0 D0 02 A2 - .byte $00, $4C, $78, $D4, $86, $81, $A5, $0A, $F0, $03, $C6, $0A, $60, $A0, $00, $B1 ; CPU:$D501 PRG:5501 00 4C 78 D4 86 81 A5 0A F0 03 C6 0A 60 A0 00 B1 - .byte $07, $85, $5E, $C9, $FE, $D0, $10, $A9, $01, $85, $0C, $E6, $02, $A9, $00, $85 ; CPU:$D511 PRG:5511 07 85 5E C9 FE D0 10 A9 01 85 0C E6 02 A9 00 85 - .byte $80, $20, $8F, $D3, $4C, $0E, $D5, $C9, $FD, $D0, $0A, $A9, $00, $85, $0C, $20 ; CPU:$D521 PRG:5521 80 20 8F D3 4C 0E D5 C9 FD D0 0A A9 00 85 0C 20 - .byte $8F, $D3, $4C, $0E, $D5, $29, $C0, $C9, $C0, $D0, $0A, $A5, $5E, $29, $3F, $85 ; CPU:$D531 PRG:5531 8F D3 4C 0E D5 29 C0 C9 C0 D0 0A A5 5E 29 3F 85 - .byte $0A, $20, $8F, $D3, $60, $20, $8F, $D3, $A9, $00, $85, $5F, $06, $5E, $26, $5F ; CPU:$D541 PRG:5541 0A 20 8F D3 60 20 8F D3 A9 00 85 5F 06 5E 26 5F - .byte $06, $5E, $26, $5F, $AD, $89, $D0, $85, $62, $AD, $8A, $D0, $85, $63, $18, $A5 ; CPU:$D551 PRG:5551 06 5E 26 5F AD 89 D0 85 62 AD 8A D0 85 63 18 A5 - .byte $5E, $65, $62, $85, $5E, $A5, $5F, $65, $63, $85, $5F, $A0, $00, $B1, $5E, $85 ; CPU:$D561 PRG:5561 5E 65 62 85 5E A5 5F 65 63 85 5F A0 00 B1 5E 85 - .byte $62, $C8, $B1, $5E, $85, $63, $C8, $B1, $5E, $85, $60, $C8, $B1, $5E, $85, $61 ; CPU:$D571 PRG:5571 62 C8 B1 5E 85 63 C8 B1 5E 85 60 C8 B1 5E 85 61 - .byte $A0, $00, $A6, $82, $B1, $60, $C9, $2D, $D0, $14, $A2, $00, $A9, $28, $8D, $B4 ; CPU:$D581 PRG:5581 A0 00 A6 82 B1 60 C9 2D D0 14 A2 00 A9 28 8D B4 - .byte $06, $A9, $08, $8D, $B2, $06, $A9, $04, $85, $90, $A9, $00, $85, $8F, $B1, $62 ; CPU:$D591 PRG:5591 06 A9 08 8D B2 06 A9 04 85 90 A9 00 85 8F B1 62 - .byte $85, $5E, $C9, $FF, $D0, $03, $4C, $65, $D6, $29, $0F, $0A, $0A, $0A, $0A, $9D ; CPU:$D5A1 PRG:55A1 85 5E C9 FF D0 03 4C 65 D6 29 0F 0A 0A 0A 0A 9D - .byte $47, $04, $A5, $5E, $29, $30, $9D, $49, $04, $A9, $02, $9D, $4A, $04, $A9, $00 ; CPU:$D5B1 PRG:55B1 47 04 A5 5E 29 30 9D 49 04 A9 02 9D 4A 04 A9 00 - .byte $9D, $4B, $04, $9D, $4C, $04, $B1, $60, $9D, $46, $04, $C9, $C0, $D0, $0A, $BD ; CPU:$D5C1 PRG:55C1 9D 4B 04 9D 4C 04 B1 60 9D 46 04 C9 C0 D0 0A BD - .byte $47, $04, $10, $05, $A9, $C1, $9D, $46, $04, $BD, $46, $04, $C9, $42, $D0, $3A ; CPU:$D5D1 PRG:55D1 47 04 10 05 A9 C1 9D 46 04 BD 46 04 C9 42 D0 3A - .byte $BD, $47, $04, $85, $68, $BD, $49, $04, $85, $69, $8A, $18, $69, $08, $AA, $E0 ; CPU:$D5E1 PRG:55E1 BD 47 04 85 68 BD 49 04 85 69 8A 18 69 08 AA E0 - .byte $C0, $D0, $02, $A2, $00, $A9, $C3, $9D, $46, $04, $A5, $68, $18, $69, $10, $9D ; CPU:$D5F1 PRG:55F1 C0 D0 02 A2 00 A9 C3 9D 46 04 A5 68 18 69 10 9D - .byte $47, $04, $A5, $69, $18, $69, $04, $9D, $49, $04, $A9, $00, $9D, $4B, $04, $9D ; CPU:$D601 PRG:5601 47 04 A5 69 18 69 04 9D 49 04 A9 00 9D 4B 04 9D - .byte $4C, $04, $A9, $02, $9D, $4A, $04, $4C, $56, $D6, $C9, $44, $D0, $37, $BD, $47 ; CPU:$D611 PRG:5611 4C 04 A9 02 9D 4A 04 4C 56 D6 C9 44 D0 37 BD 47 - .byte $04, $85, $68, $BD, $49, $04, $85, $69, $8A, $18, $69, $08, $AA, $E0, $C0, $D0 ; CPU:$D621 PRG:5621 04 85 68 BD 49 04 85 69 8A 18 69 08 AA E0 C0 D0 - .byte $02, $A2, $00, $A9, $45, $9D, $46, $04, $A5, $68, $38, $E9, $10, $9D, $47, $04 ; CPU:$D631 PRG:5631 02 A2 00 A9 45 9D 46 04 A5 68 38 E9 10 9D 47 04 - .byte $A5, $69, $18, $69, $10, $9D, $49, $04, $A9, $00, $9D, $4B, $04, $9D, $4C, $04 ; CPU:$D641 PRG:5641 A5 69 18 69 10 9D 49 04 A9 00 9D 4B 04 9D 4C 04 - .byte $A9, $02, $9D, $4A, $04, $C8, $8A, $18, $69, $08, $AA, $E0, $C0, $D0, $02, $A2 ; CPU:$D651 PRG:5651 A9 02 9D 4A 04 C8 8A 18 69 08 AA E0 C0 D0 02 A2 - .byte $00, $4C, $85, $D5, $86, $82, $60, $A2, $00, $BD, $66, $03, $D0, $03, $4C, $C3 ; CPU:$D661 PRG:5661 00 4C 85 D5 86 82 60 A2 00 BD 66 03 D0 03 4C C3 - .byte $D7, $C9, $2E, $F0, $04, $C9, $BA, $90, $09, $BD, $67, $03, $8D, $BA, $06, $BD ; CPU:$D671 PRG:5671 D7 C9 2E F0 04 C9 BA 90 09 BD 67 03 8D BA 06 BD - .byte $66, $03, $C9, $AF, $F0, $04, $C9, $B9, $D0, $5D, $BD, $68, $03, $D0, $2C, $A5 ; CPU:$D681 PRG:5681 66 03 C9 AF F0 04 C9 B9 D0 5D BD 68 03 D0 2C A5 - .byte $6C, $29, $01, $D0, $11, $BD, $69, $03, $38, $E9, $01, $9D, $69, $03, $BD, $6A ; CPU:$D691 PRG:5691 6C 29 01 D0 11 BD 69 03 38 E9 01 9D 69 03 BD 6A - .byte $03, $E9, $00, $9D, $6A, $03, $BD, $67, $03, $18, $69, $01, $9D, $67, $03, $C9 ; CPU:$D6A1 PRG:56A1 03 E9 00 9D 6A 03 BD 67 03 18 69 01 9D 67 03 C9 - .byte $F0, $90, $34, $A9, $01, $9D, $68, $03, $4C, $E8, $D6, $A5, $6C, $29, $01, $D0 ; CPU:$D6B1 PRG:56B1 F0 90 34 A9 01 9D 68 03 4C E8 D6 A5 6C 29 01 D0 - .byte $11, $BD, $69, $03, $18, $69, $01, $9D, $69, $03, $BD, $6A, $03, $69, $00, $9D ; CPU:$D6C1 PRG:56C1 11 BD 69 03 18 69 01 9D 69 03 BD 6A 03 69 00 9D - .byte $6A, $03, $BD, $67, $03, $38, $E9, $01, $9D, $67, $03, $C9, $10, $B0, $08, $A9 ; CPU:$D6D1 PRG:56D1 6A 03 BD 67 03 38 E9 01 9D 67 03 C9 10 B0 08 A9 - .byte $00, $9D, $68, $03, $4C, $29, $D7, $C9, $36, $D0, $3D, $BD, $69, $03, $C9, $C0 ; CPU:$D6E1 PRG:56E1 00 9D 68 03 4C 29 D7 C9 36 D0 3D BD 69 03 C9 C0 - .byte $B0, $36, $38, $E5, $89, $90, $31, $C9, $50, $B0, $2D, $BD, $67, $03, $38, $E5 ; CPU:$D6F1 PRG:56F1 B0 36 38 E5 89 90 31 C9 50 B0 2D BD 67 03 38 E5 - .byte $8A, $90, $18, $C9, $40, $B0, $21, $BD, $6C, $03, $C9, $01, $D0, $1A, $A9, $00 ; CPU:$D701 PRG:5701 8A 90 18 C9 40 B0 21 BD 6C 03 C9 01 D0 1A A9 00 - .byte $9D, $6C, $03, $A9, $20, $9D, $6D, $03, $4C, $29, $D7, $A5, $8A, $38, $FD, $67 ; CPU:$D711 PRG:5711 9D 6C 03 A9 20 9D 6D 03 4C 29 D7 A5 8A 38 FD 67 - .byte $03, $C9, $40, $B0, $03, $4C, $08, $D7, $BD, $6A, $03, $D0, $20, $BD, $69, $03 ; CPU:$D721 PRG:5721 03 C9 40 B0 03 4C 08 D7 BD 6A 03 D0 20 BD 69 03 - .byte $C9, $E0, $B0, $19, $BD, $66, $03, $C9, $1F, $D0, $0A, $BD, $69, $03, $C9, $80 ; CPU:$D731 PRG:5731 C9 E0 B0 19 BD 66 03 C9 1F D0 0A BD 69 03 C9 80 - .byte $B0, $0B, $20, $57, $E8, $A9, $00, $9D, $66, $03, $4C, $C3, $D7, $BD, $69, $03 ; CPU:$D741 PRG:5741 B0 0B 20 57 E8 A9 00 9D 66 03 4C C3 D7 BD 69 03 - .byte $D0, $03, $DE, $6A, $03, $DE, $69, $03, $A5, $00, $D0, $66, $BD, $6A, $03, $C9 ; CPU:$D751 PRG:5751 D0 03 DE 6A 03 DE 69 03 A5 00 D0 66 BD 6A 03 C9 - .byte $01, $D0, $5F, $BD, $69, $03, $C9, $E0, $B0, $58, $BD, $6D, $03, $F0, $06, $DE ; CPU:$D761 PRG:5761 01 D0 5F BD 69 03 C9 E0 B0 58 BD 6D 03 F0 06 DE - .byte $6D, $03, $4C, $C3, $D7, $A9, $80, $9D, $6D, $03, $BD, $66, $03, $38, $E9, $19 ; CPU:$D771 PRG:5771 6D 03 4C C3 D7 A9 80 9D 6D 03 BD 66 03 38 E9 19 - .byte $0A, $0A, $A8, $B9, $03, $80, $F0, $3A, $85, $5E, $20, $95, $EB, $D0, $33, $A5 ; CPU:$D781 PRG:5781 0A 0A A8 B9 03 80 F0 3A 85 5E 20 95 EB D0 33 A5 - .byte $5E, $29, $1F, $99, $E6, $02, $A5, $5E, $4A, $4A, $4A, $4A, $4A, $29, $03, $99 ; CPU:$D791 PRG:5791 5E 29 1F 99 E6 02 A5 5E 4A 4A 4A 4A 4A 29 03 99 - .byte $ED, $02, $A9, $00, $99, $EE, $02, $BD, $67, $03, $E9, $0C, $99, $E7, $02, $BD ; CPU:$D7A1 PRG:57A1 ED 02 A9 00 99 EE 02 BD 67 03 E9 0C 99 E7 02 BD - .byte $69, $03, $69, $02, $99, $E9, $02, $BD, $6A, $03, $99, $EA, $02, $A9, $02, $99 ; CPU:$D7B1 PRG:57B1 69 03 69 02 99 E9 02 BD 6A 03 99 EA 02 A9 02 99 - .byte $F1, $02, $8A, $18, $69, $08, $AA, $E0, $E0, $F0, $03, $4C, $6A, $D6, $A2, $00 ; CPU:$D7C1 PRG:57C1 F1 02 8A 18 69 08 AA E0 E0 F0 03 4C 6A D6 A2 00 - .byte $BD, $46, $04, $F0, $7B, $A4, $00, $F0, $11, $C9, $3D, $F0, $04, $C9, $C6, $90 ; CPU:$D7D1 PRG:57D1 BD 46 04 F0 7B A4 00 F0 11 C9 3D F0 04 C9 C6 90 - .byte $09, $BD, $47, $04, $8D, $BA, $06, $BD, $46, $04, $C9, $C0, $D0, $17, $BD, $4A ; CPU:$D7E1 PRG:57E1 09 BD 47 04 8D BA 06 BD 46 04 C9 C0 D0 17 BD 4A - .byte $04, $C9, $01, $D0, $10, $BD, $49, $04, $C9, $90, $B0, $09, $BD, $47, $04, $18 ; CPU:$D7F1 PRG:57F1 04 C9 01 D0 10 BD 49 04 C9 90 B0 09 BD 47 04 18 - .byte $69, $01, $9D, $47, $04, $C9, $C1, $D0, $17, $BD, $4A, $04, $C9, $01, $D0, $10 ; CPU:$D801 PRG:5801 69 01 9D 47 04 C9 C1 D0 17 BD 4A 04 C9 01 D0 10 - .byte $BD, $49, $04, $C9, $B0, $B0, $09, $BD, $47, $04, $38, $E9, $01, $9D, $47, $04 ; CPU:$D811 PRG:5811 BD 49 04 C9 B0 B0 09 BD 47 04 38 E9 01 9D 47 04 - .byte $BD, $4A, $04, $D0, $20, $BD, $49, $04, $C9, $E0, $B0, $19, $BD, $46, $04, $C9 ; CPU:$D821 PRG:5821 BD 4A 04 D0 20 BD 49 04 C9 E0 B0 19 BD 46 04 C9 - .byte $2D, $D0, $0A, $BD, $49, $04, $C9, $80, $B0, $0B, $20, $57, $E8, $A9, $00, $9D ; CPU:$D831 PRG:5831 2D D0 0A BD 49 04 C9 80 B0 0B 20 57 E8 A9 00 9D - .byte $46, $04, $4C, $51, $D8, $BD, $49, $04, $D0, $03, $DE, $4A, $04, $DE, $49, $04 ; CPU:$D841 PRG:5841 46 04 4C 51 D8 BD 49 04 D0 03 DE 4A 04 DE 49 04 - .byte $8A, $18, $69, $08, $AA, $E0, $C0, $F0, $03, $4C, $D1, $D7, $60, $A5, $86, $C9 ; CPU:$D851 PRG:5851 8A 18 69 08 AA E0 C0 F0 03 4C D1 D7 60 A5 86 C9 - .byte $02, $F0, $01, $60, $98, $48, $A5, $5E, $29, $0F, $85, $68, $A5, $5E, $4A, $4A ; CPU:$D861 PRG:5861 02 F0 01 60 98 48 A5 5E 29 0F 85 68 A5 5E 4A 4A - .byte $4A, $4A, $85, $69, $A2, $00, $A5, $88, $F0, $02, $A2, $08, $BD, $00, $06, $18 ; CPU:$D871 PRG:5871 4A 4A 85 69 A2 00 A5 88 F0 02 A2 08 BD 00 06 18 - .byte $65, $68, $9D, $00, $06, $C9, $0A, $90, $07, $38, $E9, $0A, $9D, $00, $06, $38 ; CPU:$D881 PRG:5881 65 68 9D 00 06 C9 0A 90 07 38 E9 0A 9D 00 06 38 - .byte $BD, $01, $06, $65, $69, $9D, $01, $06, $C9, $0A, $90, $3E, $38, $E9, $0A, $9D ; CPU:$D891 PRG:5891 BD 01 06 65 69 9D 01 06 C9 0A 90 3E 38 E9 0A 9D - .byte $01, $06, $A9, $00, $8D, $B7, $06, $FE, $02, $06, $BD, $02, $06, $C9, $0A, $90 ; CPU:$D8A1 PRG:58A1 01 06 A9 00 8D B7 06 FE 02 06 BD 02 06 C9 0A 90 - .byte $29, $38, $E9, $0A, $9D, $02, $06, $FE, $03, $06, $BD, $03, $06, $C9, $0A, $90 ; CPU:$D8B1 PRG:58B1 29 38 E9 0A 9D 02 06 FE 03 06 BD 03 06 C9 0A 90 - .byte $19, $38, $E9, $0A, $9D, $03, $06, $FE, $04, $06, $BD, $04, $06, $C9, $0A, $90 ; CPU:$D8C1 PRG:58C1 19 38 E9 0A 9D 03 06 FE 04 06 BD 04 06 C9 0A 90 - .byte $09, $38, $E9, $0A, $9D, $04, $06, $FE, $05, $06, $BD, $02, $06, $A6, $88, $D5 ; CPU:$D8D1 PRG:58D1 09 38 E9 0A 9D 04 06 FE 05 06 BD 02 06 A6 88 D5 - .byte $5A, $D0, $13, $F6, $58, $A0, $03, $B5, $5A, $C9, $03, $D0, $02, $A0, $08, $94 ; CPU:$D8E1 PRG:58E1 5A D0 13 F6 58 A0 03 B5 5A C9 03 D0 02 A0 08 94 - .byte $5A, $A9, $07, $20, $E6, $FA, $68, $A8, $60, $68, $58, $06, $19, $15, $0A, $22 ; CPU:$D8F1 PRG:58F1 5A A9 07 20 E6 FA 68 A8 60 68 58 06 19 15 0A 22 - .byte $0E, $1B, $68, $78, $06, $16, $0A, $10, $16, $0A, $21, $70, $88, $04, $15, $0E ; CPU:$D901 PRG:5901 0E 1B 68 78 06 16 0A 10 16 0A 21 70 88 04 15 0E - .byte $0F, $1D, $FA, $D8, $03, $D9, $0C, $D9, $A5, $86, $C9, $02, $F0, $01, $60, $A0 ; CPU:$D911 PRG:5911 0F 1D FA D8 03 D9 0C D9 A5 86 C9 02 F0 01 60 A0 - .byte $00, $A5, $90, $C9, $01, $D0, $02, $A0, $10, $84, $68, $AD, $13, $D9, $85, $5E ; CPU:$D921 PRG:5921 00 A5 90 C9 01 D0 02 A0 10 84 68 AD 13 D9 85 5E - .byte $AD, $14, $D9, $85, $5F, $A2, $80, $20, $89, $D9, $AD, $15, $D9, $85, $5E, $AD ; CPU:$D931 PRG:5931 AD 14 D9 85 5F A2 80 20 89 D9 AD 15 D9 85 5E AD - .byte $16, $D9, $85, $5F, $20, $89, $D9, $AD, $17, $D9, $85, $5E, $AD, $18, $D9, $85 ; CPU:$D941 PRG:5941 16 D9 85 5F 20 89 D9 AD 17 D9 85 5E AD 18 D9 85 - .byte $5F, $20, $89, $D9, $A9, $48, $8D, $F0, $07, $A5, $88, $A8, $18, $69, $01, $8D ; CPU:$D951 PRG:5951 5F 20 89 D9 A9 48 8D F0 07 A5 88 A8 18 69 01 8D - .byte $F1, $07, $A9, $03, $8D, $F2, $07, $A9, $7B, $18, $65, $68, $8D, $F3, $07, $A9 ; CPU:$D961 PRG:5961 F1 07 A9 03 8D F2 07 A9 7B 18 65 68 8D F3 07 A9 - .byte $68, $8D, $F4, $07, $B9, $58, $00, $8D, $F5, $07, $A9, $03, $8D, $F6, $07, $A9 ; CPU:$D971 PRG:5971 68 8D F4 07 B9 58 00 8D F5 07 A9 03 8D F6 07 A9 - .byte $7B, $18, $65, $68, $8D, $F7, $07, $60 ; CPU:$D981 PRG:5981 7B 18 65 68 8D F7 07 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFC1 +; Global: Branch target inside Sub: taken when CFC1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFC1: + lda $06B1 ; CPU:$CFC1 PRG:4FC1 AD B1 06 + ora $06B2 ; CPU:$CFC4 PRG:4FC4 0D B2 06 + beq NmiHandler_Loop122 ; CPU:$CFC7 PRG:4FC7 F0 30 + lda PlayerIndex ; CPU:$CFC9 PRG:4FC9 A5 00 + bne NmiHandler_Loop121 ; CPU:$CFCB PRG:4FCB D0 16 + lda $0366 ; CPU:$CFCD PRG:4FCD AD 66 03 + cmp #$1F ; CPU:$CFD0 PRG:4FD0 C9 1F + bne NmiHandler_Loop122 ; CPU:$CFD2 PRG:4FD2 D0 25 + lda $036A ; CPU:$CFD4 PRG:4FD4 AD 6A 03 + cmp #$01 ; CPU:$CFD7 PRG:4FD7 C9 01 + bne NmiHandler_Loop122 ; CPU:$CFD9 PRG:4FD9 D0 1E + lda $0369 ; CPU:$CFDB PRG:4FDB AD 69 03 + cmp #$86 ; CPU:$CFDE PRG:4FDE C9 86 + bcs NmiHandler_Loop122 ; CPU:$CFE0 PRG:4FE0 B0 17 + rts ; CPU:$CFE2 PRG:4FE2 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop121: + lda $0446 ; CPU:$CFE3 PRG:4FE3 AD 46 04 + cmp #$2D ; CPU:$CFE6 PRG:4FE6 C9 2D + bne NmiHandler_Loop122 ; CPU:$CFE8 PRG:4FE8 D0 0F + lda $044A ; CPU:$CFEA PRG:4FEA AD 4A 04 + cmp #$01 ; CPU:$CFED PRG:4FED C9 01 + bne NmiHandler_Loop122 ; CPU:$CFEF PRG:4FEF D0 08 + lda $0449 ; CPU:$CFF1 PRG:4FF1 AD 49 04 + cmp #$86 ; CPU:$CFF4 PRG:4FF4 C9 86 + bcs NmiHandler_Loop122 ; CPU:$CFF6 PRG:4FF6 B0 01 + rts ; CPU:$CFF8 PRG:4FF8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + lda #$00 ; CPU:$CFF9 PRG:4FF9 A9 00 + sta Zp7A ; CPU:$CFFB PRG:4FFB 85 7A + lda PlayerIndex ; CPU:$CFFD PRG:4FFD A5 00 + beq NmiHandler_Loop123 ; CPU:$CFFF PRG:4FFF F0 09 + lda Zp79 ; CPU:$D001 PRG:5001 A5 79 + and #$01 ; CPU:$D003 PRG:5003 29 01 + beq NmiHandler_Loop123 ; CPU:$D005 PRG:5005 F0 03 + jmp Sub_D07A ; CPU:$D007 PRG:5007 4C 7A D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + jsr Sub_D668 ; CPU:$D00A PRG:500A 20 68 D6 + lda Zp6C ; CPU:$D00D PRG:500D A5 6C + and #$07 ; CPU:$D00F PRG:500F 29 07 + bne NmiHandler_Loop128 ; CPU:$D011 PRG:5011 D0 65 + lda Zp6C ; CPU:$D013 PRG:5013 A5 6C + lsr a ; CPU:$D015 PRG:5015 4A + lsr a ; CPU:$D016 PRG:5016 4A + lsr a ; CPU:$D017 PRG:5017 4A + sta Zp7C ; CPU:$D018 PRG:5018 85 7C + and #$07 ; CPU:$D01A PRG:501A 29 07 + sta Zp7B ; CPU:$D01C PRG:501C 85 7B + cmp #$00 ; CPU:$D01E PRG:501E C9 00 + bne NmiHandler_Loop128 ; CPU:$D020 PRG:5020 D0 56 + inc Zp0E ; CPU:$D022 PRG:5022 E6 0E + bne NmiHandler_Loop124 ; CPU:$D024 PRG:5024 D0 02 + inc Zp0F ; CPU:$D026 PRG:5026 E6 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: + lda Zp0E ; CPU:$D028 PRG:5028 A5 0E + and #$7F ; CPU:$D02A PRG:502A 29 7F + bne NmiHandler_Loop125 ; CPU:$D02C PRG:502C D0 14 + ldy SpriteX ; CPU:$D02E PRG:502E A4 88 + lda a:Zp5C,y ; CPU:$D030 PRG:5030 B9 5C 00 + clc ; CPU:$D033 PRG:5033 18 + adc #$10 ; CPU:$D034 PRG:5034 69 10 + sta a:Zp5C,y ; CPU:$D036 PRG:5036 99 5C 00 + cmp #$90 ; CPU:$D039 PRG:5039 C9 90 + bcc NmiHandler_Loop125 ; CPU:$D03B PRG:503B 90 05 + lda #$80 ; CPU:$D03D PRG:503D A9 80 + sta a:Zp5C,y ; CPU:$D03F PRG:503F 99 5C 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop125: + lda Zp0F ; CPU:$D042 PRG:5042 A5 0F + cmp #$05 ; CPU:$D044 PRG:5044 C9 05 + bne NmiHandler_Loop126 ; CPU:$D046 PRG:5046 D0 13 + lda Zp0E ; CPU:$D048 PRG:5048 A5 0E + cmp #$10 ; CPU:$D04A PRG:504A C9 10 + bne NmiHandler_Loop126 ; CPU:$D04C PRG:504C D0 0D + lda #$55 ; CPU:$D04E PRG:504E A9 55 + sta $06B7 ; CPU:$D050 PRG:5050 8D B7 06 + lda #$03 ; CPU:$D053 PRG:5053 A9 03 + sta Zp0F ; CPU:$D055 PRG:5055 85 0F + lda #$63 ; CPU:$D057 PRG:5057 A9 63 + sta Zp0E ; CPU:$D059 PRG:5059 85 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop126: + jsr Sub_D3BF ; CPU:$D05B PRG:505B 20 BF D3 + inc Zp03 ; CPU:$D05E PRG:505E E6 03 + bne NmiHandler_Loop127 ; CPU:$D060 PRG:5060 D0 02 + inc Zp04 ; CPU:$D062 PRG:5062 E6 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop127: + lda Zp04 ; CPU:$D064 PRG:5064 A5 04 + cmp #$01 ; CPU:$D066 PRG:5066 C9 01 + bcc NmiHandler_Loop128 ; CPU:$D068 PRG:5068 90 0E + lda Zp03 ; CPU:$D06A PRG:506A A5 03 + cmp #$CD ; CPU:$D06C PRG:506C C9 CD + bcc NmiHandler_Loop128 ; CPU:$D06E PRG:506E 90 08 + lda #$00 ; CPU:$D070 PRG:5070 A9 00 + sta Zp04 ; CPU:$D072 PRG:5072 85 04 + lda #$0D ; CPU:$D074 PRG:5074 A9 0D + sta Zp03 ; CPU:$D076 PRG:5076 85 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop128: + inc Zp6C ; CPU:$D078 PRG:5078 E6 6C +; ----------------------------------------------------------------------------- +; Routine: Sub_D07A +; Global: Branch target inside Sub: taken when D07A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D07A: + rts ; CPU:$D07A PRG:507A 60 +; ---- data $D07B-$D08C (18 bytes) ---- +; referenced by `lda $D07D` at $D0CA (operand $D07D falls inside this region) +; referenced by `lda $D07E` at $D0D3 (operand $D07E falls inside this region) +; referenced by `lda $D07B` at $D114 (operand $D07B falls inside this region) +; referenced by `lda $D07C` at $D11B (operand $D07C falls inside this region) +; referenced by `adc $D08B` at $D1EB (operand $D08B falls inside this region) +; referenced by `adc $D08C` at $D1F2 (operand $D08C falls inside this region) +; ... and 18 further references from decoded code + .byte $1A, $84, $C2, $9B, $4D, $A3, $23, $A5, $11, $A6, $D4, $A7, $92, $9D, $A6, $9F ; CPU:$D07B PRG:507B 1A 84 C2 9B 4D A3 23 A5 11 A6 D4 A7 92 9D A6 9F + .byte $C2, $97 ; CPU:$D08B PRG:508B C2 97 +; ----------------------------------------------------------------------------- +; Routine: Sub_D08D +; Global: Branch target inside Sub: taken when D08D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D08D: + jsr Sub_BCC4 ; CPU:$D08D PRG:508D 20 C4 BC + jsr Sub_BCDA ; CPU:$D090 PRG:5090 20 DA BC + jsr Sub_BCF0 ; CPU:$D093 PRG:5093 20 F0 BC + jsr Sub_BD01 ; CPU:$D096 PRG:5096 20 01 BD + jsr Sub_BD17 ; CPU:$D099 PRG:5099 20 17 BD + lda Zp03 ; CPU:$D09C PRG:509C A5 03 + sta $06AF ; CPU:$D09E PRG:509E 8D AF 06 + lda Zp04 ; CPU:$D0A1 PRG:50A1 A5 04 + sta $06B0 ; CPU:$D0A3 PRG:50A3 8D B0 06 + lda PpuCtrlShadow ; CPU:$D0A6 PRG:50A6 A5 6A + and #$7F ; CPU:$D0A8 PRG:50A8 29 7F + ora #$14 ; CPU:$D0AA PRG:50AA 09 14 + sta PPUCTRL ; CPU:$D0AC PRG:50AC 8D 00 20 + sta PpuCtrlShadow ; CPU:$D0AF PRG:50AF 85 6A + lda #$00 ; CPU:$D0B1 PRG:50B1 A9 00 + sta PPUMASK ; CPU:$D0B3 PRG:50B3 8D 01 20 + lda #$1F ; CPU:$D0B6 PRG:50B6 A9 1F + sta Zp7C ; CPU:$D0B8 PRG:50B8 85 7C + lda #$07 ; CPU:$D0BA PRG:50BA A9 07 + sta Zp7B ; CPU:$D0BC PRG:50BC 85 7B + lda #$00 ; CPU:$D0BE PRG:50BE A9 00 + sta Zp6C ; CPU:$D0C0 PRG:50C0 85 6C + lda #$04 ; CPU:$D0C2 PRG:50C2 A9 04 + sta TimerIndex ; CPU:$D0C4 PRG:50C4 85 64 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0C6 +; Global: Branch target inside Sub: taken when D0C6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0C6: + lda #$08 ; CPU:$D0C6 PRG:50C6 A9 08 + sta Zp65 ; CPU:$D0C8 PRG:50C8 85 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0CA +; Global: Branch target inside Sub: taken when D0CA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0CA: + lda $D07D ; CPU:$D0CA PRG:50CA AD 7D D0 + clc ; CPU:$D0CD PRG:50CD 18 + adc $06AF ; CPU:$D0CE PRG:50CE 6D AF 06 + sta VramWritePtrLo ; CPU:$D0D1 PRG:50D1 85 5E + lda $D07E ; CPU:$D0D3 PRG:50D3 AD 7E D0 + adc $06B0 ; CPU:$D0D6 PRG:50D6 6D B0 06 + sta VramWritePtrHi ; CPU:$D0D9 PRG:50D9 85 5F + ldy #$00 ; CPU:$D0DB PRG:50DB A0 00 + lda (VramWritePtrLo),y ; CPU:$D0DD PRG:50DD B1 5E + bpl NmiHandler_Loop130 ; CPU:$D0DF PRG:50DF 10 12 + and #$7F ; CPU:$D0E1 PRG:50E1 29 7F + sta Zp0D ; CPU:$D0E3 PRG:50E3 85 0D + lda $06AF ; CPU:$D0E5 PRG:50E5 AD AF 06 + bne NmiHandler_Loop129 ; CPU:$D0E8 PRG:50E8 D0 03 + dec $06B0 ; CPU:$D0EA PRG:50EA CE B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop129: + dec $06AF ; CPU:$D0ED PRG:50ED CE AF 06 + jmp Sub_D0CA ; CPU:$D0F0 PRG:50F0 4C CA D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop130: + sta VramWritePtrHi ; CPU:$D0F3 PRG:50F3 85 5F + lda #$00 ; CPU:$D0F5 PRG:50F5 A9 00 + sta VramWritePtrLo ; CPU:$D0F7 PRG:50F7 85 5E + lsr VramWritePtrHi ; CPU:$D0F9 PRG:50F9 46 5F + ror VramWritePtrLo ; CPU:$D0FB PRG:50FB 66 5E +; ----------------------------------------------------------------------------- +; Routine: Sub_D0FD +; Global: Branch target inside Sub: taken when D0FD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0FD: + lda VramWritePtrLo ; CPU:$D0FD PRG:50FD A5 5E + sta ObjectX ; CPU:$D0FF PRG:50FF 85 60 + lda VramWritePtrHi ; CPU:$D101 PRG:5101 A5 5F + sta ObjectY ; CPU:$D103 PRG:5103 85 61 + lda Zp7B ; CPU:$D105 PRG:5105 A5 7B + lsr a ; CPU:$D107 PRG:5107 4A + clc ; CPU:$D108 PRG:5108 18 + adc ObjectX ; CPU:$D109 PRG:5109 65 60 + sta ObjectX ; CPU:$D10B PRG:510B 85 60 + lda ObjectY ; CPU:$D10D PRG:510D A5 61 + adc #$00 ; CPU:$D10F PRG:510F 69 00 + sta ObjectY ; CPU:$D111 PRG:5111 85 61 + clc ; CPU:$D113 PRG:5113 18 + lda $D07B ; CPU:$D114 PRG:5114 AD 7B D0 + adc ObjectX ; CPU:$D117 PRG:5117 65 60 + sta ObjectX ; CPU:$D119 PRG:5119 85 60 + lda $D07C ; CPU:$D11B PRG:511B AD 7C D0 + adc ObjectY ; CPU:$D11E PRG:511E 65 61 + sta ObjectY ; CPU:$D120 PRG:5120 85 61 + ldy #$00 ; CPU:$D122 PRG:5122 A0 00 + sty VramReadPtrLo ; CPU:$D124 PRG:5124 84 62 + ldx #$00 ; CPU:$D126 PRG:5126 A2 00 + lda Zp7B ; CPU:$D128 PRG:5128 A5 7B + and #$01 ; CPU:$D12A PRG:512A 29 01 + bne NmiHandler_Loop131 ; CPU:$D12C PRG:512C D0 51 + lda #$20 ; CPU:$D12E PRG:512E A9 20 + sta PPUADDR ; CPU:$D130 PRG:5130 8D 06 20 + lda Zp7C ; CPU:$D133 PRG:5133 A5 7C + sta PPUADDR ; CPU:$D135 PRG:5135 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero34: + ldy VramReadPtrLo ; CPU:$D138 PRG:5138 A4 62 + lda (ObjectX),y ; CPU:$D13A PRG:513A B1 60 + tay ; CPU:$D13C PRG:513C A8 + lda $941A,y ; CPU:$D13D PRG:513D B9 1A 94 + sta PPUDATA ; CPU:$D140 PRG:5140 8D 07 20 + lda $95EE,y ; CPU:$D143 PRG:5143 B9 EE 95 + sta PPUDATA ; CPU:$D146 PRG:5146 8D 07 20 + lda VramReadPtrLo ; CPU:$D149 PRG:5149 A5 62 + clc ; CPU:$D14B PRG:514B 18 + adc #$04 ; CPU:$D14C PRG:514C 69 04 + sta VramReadPtrLo ; CPU:$D14E PRG:514E 85 62 + inx ; CPU:$D150 PRG:5150 E8 + cpx #$0F ; CPU:$D151 PRG:5151 E0 0F + bne NmiHandler_OnNonzero34 ; CPU:$D153 PRG:5153 D0 E3 + lda #$28 ; CPU:$D155 PRG:5155 A9 28 + sta PPUADDR ; CPU:$D157 PRG:5157 8D 06 20 + lda Zp7C ; CPU:$D15A PRG:515A A5 7C + sta PPUADDR ; CPU:$D15C PRG:515C 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero35: + ldy VramReadPtrLo ; CPU:$D15F PRG:515F A4 62 + lda (ObjectX),y ; CPU:$D161 PRG:5161 B1 60 + tay ; CPU:$D163 PRG:5163 A8 + lda $941A,y ; CPU:$D164 PRG:5164 B9 1A 94 + sta PPUDATA ; CPU:$D167 PRG:5167 8D 07 20 + lda $95EE,y ; CPU:$D16A PRG:516A B9 EE 95 + sta PPUDATA ; CPU:$D16D PRG:516D 8D 07 20 + lda VramReadPtrLo ; CPU:$D170 PRG:5170 A5 62 + clc ; CPU:$D172 PRG:5172 18 + adc #$04 ; CPU:$D173 PRG:5173 69 04 + sta VramReadPtrLo ; CPU:$D175 PRG:5175 85 62 + inx ; CPU:$D177 PRG:5177 E8 + cpx #$1E ; CPU:$D178 PRG:5178 E0 1E + bne NmiHandler_OnNonzero35 ; CPU:$D17A PRG:517A D0 E3 + jmp Sub_D1CD ; CPU:$D17C PRG:517C 4C CD D1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop131: + lda #$20 ; CPU:$D17F PRG:517F A9 20 + sta PPUADDR ; CPU:$D181 PRG:5181 8D 06 20 + lda Zp7C ; CPU:$D184 PRG:5184 A5 7C + sta PPUADDR ; CPU:$D186 PRG:5186 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero36: + ldy VramReadPtrLo ; CPU:$D189 PRG:5189 A4 62 + lda (ObjectX),y ; CPU:$D18B PRG:518B B1 60 + tay ; CPU:$D18D PRG:518D A8 + lda $9504,y ; CPU:$D18E PRG:518E B9 04 95 + sta PPUDATA ; CPU:$D191 PRG:5191 8D 07 20 + lda $96D8,y ; CPU:$D194 PRG:5194 B9 D8 96 + sta PPUDATA ; CPU:$D197 PRG:5197 8D 07 20 + lda VramReadPtrLo ; CPU:$D19A PRG:519A A5 62 + clc ; CPU:$D19C PRG:519C 18 + adc #$04 ; CPU:$D19D PRG:519D 69 04 + sta VramReadPtrLo ; CPU:$D19F PRG:519F 85 62 + inx ; CPU:$D1A1 PRG:51A1 E8 + cpx #$0F ; CPU:$D1A2 PRG:51A2 E0 0F + bne NmiHandler_OnNonzero36 ; CPU:$D1A4 PRG:51A4 D0 E3 + lda #$28 ; CPU:$D1A6 PRG:51A6 A9 28 + sta PPUADDR ; CPU:$D1A8 PRG:51A8 8D 06 20 + lda Zp7C ; CPU:$D1AB PRG:51AB A5 7C + sta PPUADDR ; CPU:$D1AD PRG:51AD 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero37: + ldy VramReadPtrLo ; CPU:$D1B0 PRG:51B0 A4 62 + lda (ObjectX),y ; CPU:$D1B2 PRG:51B2 B1 60 + tay ; CPU:$D1B4 PRG:51B4 A8 + lda $9504,y ; CPU:$D1B5 PRG:51B5 B9 04 95 + sta PPUDATA ; CPU:$D1B8 PRG:51B8 8D 07 20 + lda $96D8,y ; CPU:$D1BB PRG:51BB B9 D8 96 + sta PPUDATA ; CPU:$D1BE PRG:51BE 8D 07 20 + lda VramReadPtrLo ; CPU:$D1C1 PRG:51C1 A5 62 + clc ; CPU:$D1C3 PRG:51C3 18 + adc #$04 ; CPU:$D1C4 PRG:51C4 69 04 + sta VramReadPtrLo ; CPU:$D1C6 PRG:51C6 85 62 + inx ; CPU:$D1C8 PRG:51C8 E8 + cpx #$1E ; CPU:$D1C9 PRG:51C9 E0 1E + bne NmiHandler_OnNonzero37 ; CPU:$D1CB PRG:51CB D0 E3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D1CD +; Global: Branch target inside Sub: taken when D1CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1CD: + dec Zp7C ; CPU:$D1CD PRG:51CD C6 7C + lda Zp7C ; CPU:$D1CF PRG:51CF A5 7C + and #$1F ; CPU:$D1D1 PRG:51D1 29 1F + sta Zp7C ; CPU:$D1D3 PRG:51D3 85 7C + and #$07 ; CPU:$D1D5 PRG:51D5 29 07 + sta Zp7B ; CPU:$D1D7 PRG:51D7 85 7B + dec Zp65 ; CPU:$D1D9 PRG:51D9 C6 65 + beq NmiHandler_Loop132 ; CPU:$D1DB PRG:51DB F0 03 + jmp Sub_D0FD ; CPU:$D1DD PRG:51DD 4C FD D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop132: + lsr VramWritePtrHi ; CPU:$D1E0 PRG:51E0 46 5F + ror VramWritePtrLo ; CPU:$D1E2 PRG:51E2 66 5E + lsr VramWritePtrHi ; CPU:$D1E4 PRG:51E4 46 5F + ror VramWritePtrLo ; CPU:$D1E6 PRG:51E6 66 5E + lda VramWritePtrLo ; CPU:$D1E8 PRG:51E8 A5 5E + clc ; CPU:$D1EA PRG:51EA 18 + adc $D08B ; CPU:$D1EB PRG:51EB 6D 8B D0 + sta VramWritePtrLo ; CPU:$D1EE PRG:51EE 85 5E + lda VramWritePtrHi ; CPU:$D1F0 PRG:51F0 A5 5F + adc $D08C ; CPU:$D1F2 PRG:51F2 6D 8C D0 + sta VramWritePtrHi ; CPU:$D1F5 PRG:51F5 85 5F + ldy #$00 ; CPU:$D1F7 PRG:51F7 A0 00 + lda Zp7C ; CPU:$D1F9 PRG:51F9 A5 7C + clc ; CPU:$D1FB PRG:51FB 18 + adc #$01 ; CPU:$D1FC PRG:51FC 69 01 + lsr a ; CPU:$D1FE PRG:51FE 4A + lsr a ; CPU:$D1FF PRG:51FF 4A + and #$06 ; CPU:$D200 PRG:5200 29 06 + tax ; CPU:$D202 PRG:5202 AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero38: + lda (VramWritePtrLo),y ; CPU:$D203 PRG:5203 B1 5E + sta $0621,x ; CPU:$D205 PRG:5205 9D 21 06 + iny ; CPU:$D208 PRG:5208 C8 + lda (VramWritePtrLo),y ; CPU:$D209 PRG:5209 B1 5E + sta $0622,x ; CPU:$D20B PRG:520B 9D 22 06 + iny ; CPU:$D20E PRG:520E C8 + txa ; CPU:$D20F PRG:520F 8A + clc ; CPU:$D210 PRG:5210 18 + adc #$08 ; CPU:$D211 PRG:5211 69 08 + tax ; CPU:$D213 PRG:5213 AA + cpy #$20 ; CPU:$D214 PRG:5214 C0 20 + bne NmiHandler_OnNonzero38 ; CPU:$D216 PRG:5216 D0 EB + lda $06AF ; CPU:$D218 PRG:5218 AD AF 06 + bne NmiHandler_Loop133 ; CPU:$D21B PRG:521B D0 03 + dec $06B0 ; CPU:$D21D PRG:521D CE B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop133: + dec $06AF ; CPU:$D220 PRG:5220 CE AF 06 + dec TimerIndex ; CPU:$D223 PRG:5223 C6 64 + beq NmiHandler_Loop134 ; CPU:$D225 PRG:5225 F0 03 + jmp Sub_D0C6 ; CPU:$D227 PRG:5227 4C C6 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + ldx #$00 ; CPU:$D22A PRG:522A A2 00 + ldy #$23 ; CPU:$D22C PRG:522C A0 23 + jsr Sub_CF27 ; CPU:$D22E PRG:522E 20 27 CF + ldx #$40 ; CPU:$D231 PRG:5231 A2 40 + ldy #$2B ; CPU:$D233 PRG:5233 A0 2B + jsr Sub_CF27 ; CPU:$D235 PRG:5235 20 27 CF + lda Zp0D ; CPU:$D238 PRG:5238 A5 0D + jsr Sub_D396 ; CPU:$D23A PRG:523A 20 96 D3 + ldx #$00 ; CPU:$D23D PRG:523D A2 00 + jsr Sub_CE87 ; CPU:$D23F PRG:523F 20 87 CE + lda PpuMaskShadow ; CPU:$D242 PRG:5242 A5 6B + sta PPUMASK ; CPU:$D244 PRG:5244 8D 01 20 + lda PpuCtrlShadow ; CPU:$D247 PRG:5247 A5 6A + sta PPUCTRL ; CPU:$D249 PRG:5249 8D 00 20 + rts ; CPU:$D24C PRG:524C 60 +; ---- data $D24D-$D257 (11 bytes) ---- +; referenced by `lda $D24D,y` at $D266 (operand $D24D falls inside this region) + .byte $00, $0B, $0C, $03, $04, $0D, $06, $07, $08, $09, $0A ; CPU:$D24D PRG:524D 00 0B 0C 03 04 0D 06 07 08 09 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_D258 +; Global: Branch target inside Sub: taken when D258. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D258: + lda Zp0D ; CPU:$D258 PRG:5258 A5 0D + sta VramWritePtrLo ; CPU:$D25A PRG:525A 85 5E + cmp #$0B ; CPU:$D25C PRG:525C C9 0B + bcs NmiHandler_Loop135 ; CPU:$D25E PRG:525E B0 0B + lda PlayerIndex ; CPU:$D260 PRG:5260 A5 00 + beq NmiHandler_Loop135 ; CPU:$D262 PRG:5262 F0 07 + ldy Zp0D ; CPU:$D264 PRG:5264 A4 0D + lda $D24D,y ; CPU:$D266 PRG:5266 B9 4D D2 + sta VramWritePtrLo ; CPU:$D269 PRG:5269 85 5E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + lda VramWritePtrLo ; CPU:$D26B PRG:526B A5 5E + jmp Sub_D396 ; CPU:$D26D PRG:526D 4C 96 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D270 +; Global: Branch target inside Sub: taken when D270. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D270: + lda Zp6C ; CPU:$D270 PRG:5270 A5 6C + and #$07 ; CPU:$D272 PRG:5272 29 07 + cmp #$01 ; CPU:$D274 PRG:5274 C9 01 + beq NmiHandler_Loop136 ; CPU:$D276 PRG:5276 F0 01 + rts ; CPU:$D278 PRG:5278 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + lda $D07D ; CPU:$D279 PRG:5279 AD 7D D0 + clc ; CPU:$D27C PRG:527C 18 + adc Zp03 ; CPU:$D27D PRG:527D 65 03 + sta VramWritePtrLo ; CPU:$D27F PRG:527F 85 5E + lda $D07E ; CPU:$D281 PRG:5281 AD 7E D0 + adc Zp04 ; CPU:$D284 PRG:5284 65 04 + sta VramWritePtrHi ; CPU:$D286 PRG:5286 85 5F + ldy #$00 ; CPU:$D288 PRG:5288 A0 00 + lda (VramWritePtrLo),y ; CPU:$D28A PRG:528A B1 5E + bpl NmiHandler_Loop138 ; CPU:$D28C PRG:528C 10 10 + and #$7F ; CPU:$D28E PRG:528E 29 7F + sta Zp0D ; CPU:$D290 PRG:5290 85 0D + jsr Sub_D258 ; CPU:$D292 PRG:5292 20 58 D2 + inc Zp03 ; CPU:$D295 PRG:5295 E6 03 + bne NmiHandler_Loop137 ; CPU:$D297 PRG:5297 D0 02 + inc Zp04 ; CPU:$D299 PRG:5299 E6 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + jmp NmiHandler_Loop136 ; CPU:$D29B PRG:529B 4C 79 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: + sta VramWritePtrHi ; CPU:$D29E PRG:529E 85 5F + sta Zp67 ; CPU:$D2A0 PRG:52A0 85 67 + lda #$00 ; CPU:$D2A2 PRG:52A2 A9 00 + sta VramWritePtrLo ; CPU:$D2A4 PRG:52A4 85 5E + sta Zp66 ; CPU:$D2A6 PRG:52A6 85 66 + lsr VramWritePtrHi ; CPU:$D2A8 PRG:52A8 46 5F + ror VramWritePtrLo ; CPU:$D2AA PRG:52AA 66 5E + lda Zp7B ; CPU:$D2AC PRG:52AC A5 7B + lsr a ; CPU:$D2AE PRG:52AE 4A + clc ; CPU:$D2AF PRG:52AF 18 + adc VramWritePtrLo ; CPU:$D2B0 PRG:52B0 65 5E + sta VramWritePtrLo ; CPU:$D2B2 PRG:52B2 85 5E + lda VramWritePtrHi ; CPU:$D2B4 PRG:52B4 A5 5F + adc #$00 ; CPU:$D2B6 PRG:52B6 69 00 + sta VramWritePtrHi ; CPU:$D2B8 PRG:52B8 85 5F + clc ; CPU:$D2BA PRG:52BA 18 + lda $D07B ; CPU:$D2BB PRG:52BB AD 7B D0 + adc VramWritePtrLo ; CPU:$D2BE PRG:52BE 65 5E + sta VramWritePtrLo ; CPU:$D2C0 PRG:52C0 85 5E + lda $D07C ; CPU:$D2C2 PRG:52C2 AD 7C D0 + adc VramWritePtrHi ; CPU:$D2C5 PRG:52C5 65 5F + sta VramWritePtrHi ; CPU:$D2C7 PRG:52C7 85 5F + ldy #$00 ; CPU:$D2C9 PRG:52C9 A0 00 + sty VramReadPtrLo ; CPU:$D2CB PRG:52CB 84 62 + ldx #$00 ; CPU:$D2CD PRG:52CD A2 00 + lda Zp7B ; CPU:$D2CF PRG:52CF A5 7B + and #$01 ; CPU:$D2D1 PRG:52D1 29 01 + beq NmiHandler_OnNonzero39 ; CPU:$D2D3 PRG:52D3 F0 03 + jmp NmiHandler_OnNonzero42 ; CPU:$D2D5 PRG:52D5 4C 67 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero39: + ldy VramReadPtrLo ; CPU:$D2D8 PRG:52D8 A4 62 + lda (VramWritePtrLo),y ; CPU:$D2DA PRG:52DA B1 5E + tay ; CPU:$D2DC PRG:52DC A8 + lda $941A,y ; CPU:$D2DD PRG:52DD B9 1A 94 + sta ZpBC,x ; CPU:$D2E0 PRG:52E0 95 BC + inx ; CPU:$D2E2 PRG:52E2 E8 + lda $95EE,y ; CPU:$D2E3 PRG:52E3 B9 EE 95 + sta ZpBC,x ; CPU:$D2E6 PRG:52E6 95 BC + lda VramReadPtrLo ; CPU:$D2E8 PRG:52E8 A5 62 + clc ; CPU:$D2EA PRG:52EA 18 + adc #$04 ; CPU:$D2EB PRG:52EB 69 04 + sta VramReadPtrLo ; CPU:$D2ED PRG:52ED 85 62 + inx ; CPU:$D2EF PRG:52EF E8 + cpx #$3C ; CPU:$D2F0 PRG:52F0 E0 3C + bne NmiHandler_OnNonzero39 ; CPU:$D2F2 PRG:52F2 D0 E4 + lsr Zp67 ; CPU:$D2F4 PRG:52F4 46 67 + ror Zp66 ; CPU:$D2F6 PRG:52F6 66 66 + lsr Zp67 ; CPU:$D2F8 PRG:52F8 46 67 + ror Zp66 ; CPU:$D2FA PRG:52FA 66 66 + lsr Zp67 ; CPU:$D2FC PRG:52FC 46 67 + ror Zp66 ; CPU:$D2FE PRG:52FE 66 66 + lda Zp7B ; CPU:$D300 PRG:5300 A5 7B + lsr a ; CPU:$D302 PRG:5302 4A + lsr a ; CPU:$D303 PRG:5303 4A + clc ; CPU:$D304 PRG:5304 18 + adc Zp66 ; CPU:$D305 PRG:5305 65 66 + sta Zp66 ; CPU:$D307 PRG:5307 85 66 + lda #$00 ; CPU:$D309 PRG:5309 A9 00 + adc Zp67 ; CPU:$D30B PRG:530B 65 67 + sta Zp67 ; CPU:$D30D PRG:530D 85 67 + lda Zp66 ; CPU:$D30F PRG:530F A5 66 + clc ; CPU:$D311 PRG:5311 18 + adc $D08B ; CPU:$D312 PRG:5312 6D 8B D0 + sta Zp66 ; CPU:$D315 PRG:5315 85 66 + lda Zp67 ; CPU:$D317 PRG:5317 A5 67 + adc $D08C ; CPU:$D319 PRG:5319 6D 8C D0 + sta Zp67 ; CPU:$D31C PRG:531C 85 67 + ldy #$00 ; CPU:$D31E PRG:531E A0 00 + lda Zp7C ; CPU:$D320 PRG:5320 A5 7C + lsr a ; CPU:$D322 PRG:5322 4A + pha ; CPU:$D323 PRG:5323 48 + lsr a ; CPU:$D324 PRG:5324 4A + tax ; CPU:$D325 PRG:5325 AA + pla ; CPU:$D326 PRG:5326 68 + and #$01 ; CPU:$D327 PRG:5327 29 01 + bne NmiHandler_OnNonzero41 ; CPU:$D329 PRG:5329 D0 1E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero40: + lda (Zp66),y ; CPU:$D32B PRG:532B B1 66 + and #$33 ; CPU:$D32D PRG:532D 29 33 + sta VramWritePtrLo ; CPU:$D32F PRG:532F 85 5E + lda $0621,x ; CPU:$D331 PRG:5331 BD 21 06 + and #$CC ; CPU:$D334 PRG:5334 29 CC + ora VramWritePtrLo ; CPU:$D336 PRG:5336 05 5E + sta $0621,x ; CPU:$D338 PRG:5338 9D 21 06 + txa ; CPU:$D33B PRG:533B 8A + clc ; CPU:$D33C PRG:533C 18 + adc #$08 ; CPU:$D33D PRG:533D 69 08 + tax ; CPU:$D33F PRG:533F AA + iny ; CPU:$D340 PRG:5340 C8 + iny ; CPU:$D341 PRG:5341 C8 + cpy #$20 ; CPU:$D342 PRG:5342 C0 20 + bne NmiHandler_OnNonzero40 ; CPU:$D344 PRG:5344 D0 E5 + jmp Sub_D383 ; CPU:$D346 PRG:5346 4C 83 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero41: + lda (Zp66),y ; CPU:$D349 PRG:5349 B1 66 + and #$CC ; CPU:$D34B PRG:534B 29 CC + sta VramWritePtrLo ; CPU:$D34D PRG:534D 85 5E + lda $0621,x ; CPU:$D34F PRG:534F BD 21 06 + and #$33 ; CPU:$D352 PRG:5352 29 33 + ora VramWritePtrLo ; CPU:$D354 PRG:5354 05 5E + sta $0621,x ; CPU:$D356 PRG:5356 9D 21 06 + txa ; CPU:$D359 PRG:5359 8A + clc ; CPU:$D35A PRG:535A 18 + adc #$08 ; CPU:$D35B PRG:535B 69 08 + tax ; CPU:$D35D PRG:535D AA + iny ; CPU:$D35E PRG:535E C8 + iny ; CPU:$D35F PRG:535F C8 + cpy #$20 ; CPU:$D360 PRG:5360 C0 20 + bne NmiHandler_OnNonzero41 ; CPU:$D362 PRG:5362 D0 E5 + jmp Sub_D383 ; CPU:$D364 PRG:5364 4C 83 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero42: + ldy VramReadPtrLo ; CPU:$D367 PRG:5367 A4 62 + lda (VramWritePtrLo),y ; CPU:$D369 PRG:5369 B1 5E + tay ; CPU:$D36B PRG:536B A8 + lda $9504,y ; CPU:$D36C PRG:536C B9 04 95 + sta ZpBC,x ; CPU:$D36F PRG:536F 95 BC + inx ; CPU:$D371 PRG:5371 E8 + lda $96D8,y ; CPU:$D372 PRG:5372 B9 D8 96 + sta ZpBC,x ; CPU:$D375 PRG:5375 95 BC + lda VramReadPtrLo ; CPU:$D377 PRG:5377 A5 62 + clc ; CPU:$D379 PRG:5379 18 + adc #$04 ; CPU:$D37A PRG:537A 69 04 + sta VramReadPtrLo ; CPU:$D37C PRG:537C 85 62 + inx ; CPU:$D37E PRG:537E E8 + cpx #$3C ; CPU:$D37F PRG:537F E0 3C + bne NmiHandler_OnNonzero42 ; CPU:$D381 PRG:5381 D0 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_D383 +; Global: Branch target inside Sub: taken when D383. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D383: + lda #$01 ; CPU:$D383 PRG:5383 A9 01 + sta Zp7D ; CPU:$D385 PRG:5385 85 7D + rts ; CPU:$D387 PRG:5387 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D388 +; Global: Branch target inside Sub: taken when D388. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D388: + inc Zp05 ; CPU:$D388 PRG:5388 E6 05 + bne NmiHandler_Loop139 ; CPU:$D38A PRG:538A D0 02 + inc Zp06 ; CPU:$D38C PRG:538C E6 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + rts ; CPU:$D38E PRG:538E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D38F +; Global: Branch target inside Sub: taken when D38F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D38F: + inc Zp07 ; CPU:$D38F PRG:538F E6 07 + bne NmiHandler_Loop140 ; CPU:$D391 PRG:5391 D0 02 + inc Zp08 ; CPU:$D393 PRG:5393 E6 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + rts ; CPU:$D395 PRG:5395 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D396 +; Global: Branch target inside Sub: taken when D396. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D396: + asl a ; CPU:$D396 PRG:5396 0A + asl a ; CPU:$D397 PRG:5397 0A + asl a ; CPU:$D398 PRG:5398 0A + asl a ; CPU:$D399 PRG:5399 0A + tax ; CPU:$D39A PRG:539A AA + ldy #$00 ; CPU:$D39B PRG:539B A0 00 + lda $C8AD,x ; CPU:$D39D PRG:539D BD AD C8 + sta ZpAC ; CPU:$D3A0 PRG:53A0 85 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero43: + lda $C8AD,x ; CPU:$D3A2 PRG:53A2 BD AD C8 + sta a:Zp9C,y ; CPU:$D3A5 PRG:53A5 99 9C 00 + inx ; CPU:$D3A8 PRG:53A8 E8 + iny ; CPU:$D3A9 PRG:53A9 C8 + cpy #$10 ; CPU:$D3AA PRG:53AA C0 10 + bne NmiHandler_OnNonzero43 ; CPU:$D3AC PRG:53AC D0 F4 + lda PlayerIndex ; CPU:$D3AE PRG:53AE A5 00 + beq NmiHandler_Loop141 ; CPU:$D3B0 PRG:53B0 F0 0C + lda Zp0D ; CPU:$D3B2 PRG:53B2 A5 0D + cmp #$0E ; CPU:$D3B4 PRG:53B4 C9 0E + bne NmiHandler_Loop141 ; CPU:$D3B6 PRG:53B6 D0 06 + lda #$07 ; CPU:$D3B8 PRG:53B8 A9 07 + sta Zp9C ; CPU:$D3BA PRG:53BA 85 9C + sta ZpAC ; CPU:$D3BC PRG:53BC 85 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop141: + rts ; CPU:$D3BE PRG:53BE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3BF +; Global: Branch target inside Sub: taken when D3BF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3BF: + lda Zp09 ; CPU:$D3BF PRG:53BF A5 09 + beq NmiHandler_Loop142 ; CPU:$D3C1 PRG:53C1 F0 05 + dec Zp09 ; CPU:$D3C3 PRG:53C3 C6 09 + jmp Sub_D507 ; CPU:$D3C5 PRG:53C5 4C 07 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + ldy #$00 ; CPU:$D3C8 PRG:53C8 A0 00 + lda (Zp05),y ; CPU:$D3CA PRG:53CA B1 05 + sta VramWritePtrLo ; CPU:$D3CC PRG:53CC 85 5E + cmp #$FF ; CPU:$D3CE PRG:53CE C9 FF + bne NmiHandler_Loop143 ; CPU:$D3D0 PRG:53D0 D0 1F + lda $D081 ; CPU:$D3D2 PRG:53D2 AD 81 D0 + sta Zp05 ; CPU:$D3D5 PRG:53D5 85 05 + lda $D082 ; CPU:$D3D7 PRG:53D7 AD 82 D0 + sta Zp06 ; CPU:$D3DA PRG:53DA 85 06 + lda $D085 ; CPU:$D3DC PRG:53DC AD 85 D0 + sta Zp07 ; CPU:$D3DF PRG:53DF 85 07 + lda $D086 ; CPU:$D3E1 PRG:53E1 AD 86 D0 + sta Zp08 ; CPU:$D3E4 PRG:53E4 85 08 + lda #$12 ; CPU:$D3E6 PRG:53E6 A9 12 + sta PlayerIndex2 ; CPU:$D3E8 PRG:53E8 85 01 + lda #$0A ; CPU:$D3EA PRG:53EA A9 0A + sta Zp02 ; CPU:$D3EC PRG:53EC 85 02 + jmp NmiHandler_Loop142 ; CPU:$D3EE PRG:53EE 4C C8 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop143: + cmp #$FE ; CPU:$D3F1 PRG:53F1 C9 FE + bne NmiHandler_Loop144 ; CPU:$D3F3 PRG:53F3 D0 24 + lda #$01 ; CPU:$D3F5 PRG:53F5 A9 01 + sta Zp0B ; CPU:$D3F7 PRG:53F7 85 0B + inc PlayerIndex2 ; CPU:$D3F9 PRG:53F9 E6 01 + lda #$00 ; CPU:$D3FB PRG:53FB A9 00 + sta Zp7F ; CPU:$D3FD PRG:53FD 85 7F + jsr Sub_D388 ; CPU:$D3FF PRG:53FF 20 88 D3 + lda SpriteX ; CPU:$D402 PRG:5402 A5 88 + asl a ; CPU:$D404 PRG:5404 0A + asl a ; CPU:$D405 PRG:5405 0A + asl a ; CPU:$D406 PRG:5406 0A + asl a ; CPU:$D407 PRG:5407 0A + tay ; CPU:$D408 PRG:5408 A8 + ldx #$00 ; CPU:$D409 PRG:5409 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero44: + lda PlayerIndex,x ; CPU:$D40B PRG:540B B5 00 + sta a:Zp30,y ; CPU:$D40D PRG:540D 99 30 00 + iny ; CPU:$D410 PRG:5410 C8 + inx ; CPU:$D411 PRG:5411 E8 + cpx #$10 ; CPU:$D412 PRG:5412 E0 10 + bne NmiHandler_OnNonzero44 ; CPU:$D414 PRG:5414 D0 F5 + jmp NmiHandler_Loop142 ; CPU:$D416 PRG:5416 4C C8 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop144: + cmp #$FD ; CPU:$D419 PRG:5419 C9 FD + bne NmiHandler_Loop145 ; CPU:$D41B PRG:541B D0 0A + lda #$00 ; CPU:$D41D PRG:541D A9 00 + sta Zp0B ; CPU:$D41F PRG:541F 85 0B + jsr Sub_D388 ; CPU:$D421 PRG:5421 20 88 D3 + jmp NmiHandler_Loop142 ; CPU:$D424 PRG:5424 4C C8 D3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop145: + and #$C0 ; CPU:$D427 PRG:5427 29 C0 + cmp #$C0 ; CPU:$D429 PRG:5429 C9 C0 + bne NmiHandler_Loop146 ; CPU:$D42B PRG:542B D0 0C + lda VramWritePtrLo ; CPU:$D42D PRG:542D A5 5E + and #$3F ; CPU:$D42F PRG:542F 29 3F + sta Zp09 ; CPU:$D431 PRG:5431 85 09 + jsr Sub_D388 ; CPU:$D433 PRG:5433 20 88 D3 + jmp Sub_D507 ; CPU:$D436 PRG:5436 4C 07 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + jsr Sub_D388 ; CPU:$D439 PRG:5439 20 88 D3 + lda #$00 ; CPU:$D43C PRG:543C A9 00 + sta VramWritePtrHi ; CPU:$D43E PRG:543E 85 5F + asl VramWritePtrLo ; CPU:$D440 PRG:5440 06 5E + rol VramWritePtrHi ; CPU:$D442 PRG:5442 26 5F + asl VramWritePtrLo ; CPU:$D444 PRG:5444 06 5E + rol VramWritePtrHi ; CPU:$D446 PRG:5446 26 5F + lda $D087 ; CPU:$D448 PRG:5448 AD 87 D0 + sta VramReadPtrLo ; CPU:$D44B PRG:544B 85 62 + lda $D088 ; CPU:$D44D PRG:544D AD 88 D0 + sta VramReadPtrHi ; CPU:$D450 PRG:5450 85 63 + clc ; CPU:$D452 PRG:5452 18 + lda VramWritePtrLo ; CPU:$D453 PRG:5453 A5 5E + adc VramReadPtrLo ; CPU:$D455 PRG:5455 65 62 + sta VramWritePtrLo ; CPU:$D457 PRG:5457 85 5E + lda VramWritePtrHi ; CPU:$D459 PRG:5459 A5 5F + adc VramReadPtrHi ; CPU:$D45B PRG:545B 65 63 + sta VramWritePtrHi ; CPU:$D45D PRG:545D 85 5F + ldy #$00 ; CPU:$D45F PRG:545F A0 00 + lda (VramWritePtrLo),y ; CPU:$D461 PRG:5461 B1 5E + sta VramReadPtrLo ; CPU:$D463 PRG:5463 85 62 + iny ; CPU:$D465 PRG:5465 C8 + lda (VramWritePtrLo),y ; CPU:$D466 PRG:5466 B1 5E + sta VramReadPtrHi ; CPU:$D468 PRG:5468 85 63 + iny ; CPU:$D46A PRG:546A C8 + lda (VramWritePtrLo),y ; CPU:$D46B PRG:546B B1 5E + sta ObjectX ; CPU:$D46D PRG:546D 85 60 + iny ; CPU:$D46F PRG:546F C8 + lda (VramWritePtrLo),y ; CPU:$D470 PRG:5470 B1 5E + sta ObjectY ; CPU:$D472 PRG:5472 85 61 + ldy #$00 ; CPU:$D474 PRG:5474 A0 00 + ldx Zp81 ; CPU:$D476 PRG:5476 A6 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_D478 +; Global: Branch target inside Sub: taken when D478. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D478: + lda (VramReadPtrLo),y ; CPU:$D478 PRG:5478 B1 62 + sta VramWritePtrLo ; CPU:$D47A PRG:547A 85 5E + cmp #$FF ; CPU:$D47C PRG:547C C9 FF + bne NmiHandler_Loop147 ; CPU:$D47E PRG:547E D0 03 + jmp NmiHandler_Loop151 ; CPU:$D480 PRG:5480 4C 05 D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + and #$0F ; CPU:$D483 PRG:5483 29 0F + sta VramWritePtrHi ; CPU:$D485 PRG:5485 85 5F + asl a ; CPU:$D487 PRG:5487 0A + asl a ; CPU:$D488 PRG:5488 0A + asl a ; CPU:$D489 PRG:5489 0A + asl a ; CPU:$D48A PRG:548A 0A + sta $0367,x ; CPU:$D48B PRG:548B 9D 67 03 + sta $06BA ; CPU:$D48E PRG:548E 8D BA 06 + sta TimerIndex ; CPU:$D491 PRG:5491 85 64 + lda VramWritePtrLo ; CPU:$D493 PRG:5493 A5 5E + and #$30 ; CPU:$D495 PRG:5495 29 30 + sta VramWritePtrLo ; CPU:$D497 PRG:5497 85 5E + lda (ObjectX),y ; CPU:$D499 PRG:5499 B1 60 + cmp #$FF ; CPU:$D49B PRG:549B C9 FF + beq NmiHandler_Loop151 ; CPU:$D49D PRG:549D F0 66 + cmp #$1F ; CPU:$D49F PRG:549F C9 1F + bne NmiHandler_Loop148 ; CPU:$D4A1 PRG:54A1 D0 1F + sta $0366 ; CPU:$D4A3 PRG:54A3 8D 66 03 + lda TimerIndex ; CPU:$D4A6 PRG:54A6 A5 64 + sta $0367 ; CPU:$D4A8 PRG:54A8 8D 67 03 + ldx #$00 ; CPU:$D4AB PRG:54AB A2 00 + lda #$28 ; CPU:$D4AD PRG:54AD A9 28 + sta $06B4 ; CPU:$D4AF PRG:54AF 8D B4 06 + lda #$08 ; CPU:$D4B2 PRG:54B2 A9 08 + sta $06B2 ; CPU:$D4B4 PRG:54B4 8D B2 06 + lda #$04 ; CPU:$D4B7 PRG:54B7 A9 04 + sta PlayerY ; CPU:$D4B9 PRG:54B9 85 90 + lda #$00 ; CPU:$D4BB PRG:54BB A9 00 + sta Zp8F ; CPU:$D4BD PRG:54BD 85 8F + jmp Sub_D4C9 ; CPU:$D4BF PRG:54BF 4C C9 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: + sta $0366,x ; CPU:$D4C2 PRG:54C2 9D 66 03 + cmp #$2E ; CPU:$D4C5 PRG:54C5 C9 2E + bne NmiHandler_Loop149 ; CPU:$D4C7 PRG:54C7 D0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4C9 +; Global: Branch target inside Sub: taken when D4C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4C9: + lda VramWritePtrLo ; CPU:$D4C9 PRG:54C9 A5 5E + jmp Sub_D4DA ; CPU:$D4CB PRG:54CB 4C DA D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop149: + lda VramWritePtrHi ; CPU:$D4CE PRG:54CE A5 5F + lsr a ; CPU:$D4D0 PRG:54D0 4A + eor #$07 ; CPU:$D4D1 PRG:54D1 49 07 + asl a ; CPU:$D4D3 PRG:54D3 0A + asl a ; CPU:$D4D4 PRG:54D4 0A + asl a ; CPU:$D4D5 PRG:54D5 0A + asl a ; CPU:$D4D6 PRG:54D6 0A + clc ; CPU:$D4D7 PRG:54D7 18 + adc VramWritePtrLo ; CPU:$D4D8 PRG:54D8 65 5E +; ----------------------------------------------------------------------------- +; Routine: Sub_D4DA +; Global: Branch target inside Sub: taken when D4DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4DA: + sta $0369,x ; CPU:$D4DA PRG:54DA 9D 69 03 + lda #$02 ; CPU:$D4DD PRG:54DD A9 02 + sta $036A,x ; CPU:$D4DF PRG:54DF 9D 6A 03 + lda #$00 ; CPU:$D4E2 PRG:54E2 A9 00 + sta $036B,x ; CPU:$D4E4 PRG:54E4 9D 6B 03 + sta $036C,x ; CPU:$D4E7 PRG:54E7 9D 6C 03 + lda #$08 ; CPU:$D4EA PRG:54EA A9 08 + sta $0368,x ; CPU:$D4EC PRG:54EC 9D 68 03 + lda PlayerIndex,x ; CPU:$D4EF PRG:54EF B5 00 + and #$7F ; CPU:$D4F1 PRG:54F1 29 7F + sta $036D,x ; CPU:$D4F3 PRG:54F3 9D 6D 03 + iny ; CPU:$D4F6 PRG:54F6 C8 + txa ; CPU:$D4F7 PRG:54F7 8A + clc ; CPU:$D4F8 PRG:54F8 18 + adc #$08 ; CPU:$D4F9 PRG:54F9 69 08 + tax ; CPU:$D4FB PRG:54FB AA + cpx #$E0 ; CPU:$D4FC PRG:54FC E0 E0 + bne NmiHandler_Loop150 ; CPU:$D4FE PRG:54FE D0 02 + ldx #$00 ; CPU:$D500 PRG:5500 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop150: + jmp Sub_D478 ; CPU:$D502 PRG:5502 4C 78 D4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop151: + stx Zp81 ; CPU:$D505 PRG:5505 86 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_D507 +; Global: Branch target inside Sub: taken when D507. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D507: + lda Zp0A ; CPU:$D507 PRG:5507 A5 0A + beq NmiHandler_Loop152 ; CPU:$D509 PRG:5509 F0 03 + dec Zp0A ; CPU:$D50B PRG:550B C6 0A + rts ; CPU:$D50D PRG:550D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop152: + ldy #$00 ; CPU:$D50E PRG:550E A0 00 + lda (Zp07),y ; CPU:$D510 PRG:5510 B1 07 + sta VramWritePtrLo ; CPU:$D512 PRG:5512 85 5E + cmp #$FE ; CPU:$D514 PRG:5514 C9 FE + bne NmiHandler_Loop153 ; CPU:$D516 PRG:5516 D0 10 + lda #$01 ; CPU:$D518 PRG:5518 A9 01 + sta Zp0C ; CPU:$D51A PRG:551A 85 0C + inc Zp02 ; CPU:$D51C PRG:551C E6 02 + lda #$00 ; CPU:$D51E PRG:551E A9 00 + sta Zp80 ; CPU:$D520 PRG:5520 85 80 + jsr Sub_D38F ; CPU:$D522 PRG:5522 20 8F D3 + jmp NmiHandler_Loop152 ; CPU:$D525 PRG:5525 4C 0E D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop153: + cmp #$FD ; CPU:$D528 PRG:5528 C9 FD + bne NmiHandler_Loop154 ; CPU:$D52A PRG:552A D0 0A + lda #$00 ; CPU:$D52C PRG:552C A9 00 + sta Zp0C ; CPU:$D52E PRG:552E 85 0C + jsr Sub_D38F ; CPU:$D530 PRG:5530 20 8F D3 + jmp NmiHandler_Loop152 ; CPU:$D533 PRG:5533 4C 0E D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop154: + and #$C0 ; CPU:$D536 PRG:5536 29 C0 + cmp #$C0 ; CPU:$D538 PRG:5538 C9 C0 + bne NmiHandler_Loop155 ; CPU:$D53A PRG:553A D0 0A + lda VramWritePtrLo ; CPU:$D53C PRG:553C A5 5E + and #$3F ; CPU:$D53E PRG:553E 29 3F + sta Zp0A ; CPU:$D540 PRG:5540 85 0A + jsr Sub_D38F ; CPU:$D542 PRG:5542 20 8F D3 + rts ; CPU:$D545 PRG:5545 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop155: + jsr Sub_D38F ; CPU:$D546 PRG:5546 20 8F D3 + lda #$00 ; CPU:$D549 PRG:5549 A9 00 + sta VramWritePtrHi ; CPU:$D54B PRG:554B 85 5F + asl VramWritePtrLo ; CPU:$D54D PRG:554D 06 5E + rol VramWritePtrHi ; CPU:$D54F PRG:554F 26 5F + asl VramWritePtrLo ; CPU:$D551 PRG:5551 06 5E + rol VramWritePtrHi ; CPU:$D553 PRG:5553 26 5F + lda $D089 ; CPU:$D555 PRG:5555 AD 89 D0 + sta VramReadPtrLo ; CPU:$D558 PRG:5558 85 62 + lda $D08A ; CPU:$D55A PRG:555A AD 8A D0 + sta VramReadPtrHi ; CPU:$D55D PRG:555D 85 63 + clc ; CPU:$D55F PRG:555F 18 + lda VramWritePtrLo ; CPU:$D560 PRG:5560 A5 5E + adc VramReadPtrLo ; CPU:$D562 PRG:5562 65 62 + sta VramWritePtrLo ; CPU:$D564 PRG:5564 85 5E + lda VramWritePtrHi ; CPU:$D566 PRG:5566 A5 5F + adc VramReadPtrHi ; CPU:$D568 PRG:5568 65 63 + sta VramWritePtrHi ; CPU:$D56A PRG:556A 85 5F + ldy #$00 ; CPU:$D56C PRG:556C A0 00 + lda (VramWritePtrLo),y ; CPU:$D56E PRG:556E B1 5E + sta VramReadPtrLo ; CPU:$D570 PRG:5570 85 62 + iny ; CPU:$D572 PRG:5572 C8 + lda (VramWritePtrLo),y ; CPU:$D573 PRG:5573 B1 5E + sta VramReadPtrHi ; CPU:$D575 PRG:5575 85 63 + iny ; CPU:$D577 PRG:5577 C8 + lda (VramWritePtrLo),y ; CPU:$D578 PRG:5578 B1 5E + sta ObjectX ; CPU:$D57A PRG:557A 85 60 + iny ; CPU:$D57C PRG:557C C8 + lda (VramWritePtrLo),y ; CPU:$D57D PRG:557D B1 5E + sta ObjectY ; CPU:$D57F PRG:557F 85 61 + ldy #$00 ; CPU:$D581 PRG:5581 A0 00 + ldx Zp82 ; CPU:$D583 PRG:5583 A6 82 +; ----------------------------------------------------------------------------- +; Routine: Sub_D585 +; Global: Branch target inside Sub: taken when D585. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D585: + lda (ObjectX),y ; CPU:$D585 PRG:5585 B1 60 + cmp #$2D ; CPU:$D587 PRG:5587 C9 2D + bne NmiHandler_Loop156 ; CPU:$D589 PRG:5589 D0 14 + ldx #$00 ; CPU:$D58B PRG:558B A2 00 + lda #$28 ; CPU:$D58D PRG:558D A9 28 + sta $06B4 ; CPU:$D58F PRG:558F 8D B4 06 + lda #$08 ; CPU:$D592 PRG:5592 A9 08 + sta $06B2 ; CPU:$D594 PRG:5594 8D B2 06 + lda #$04 ; CPU:$D597 PRG:5597 A9 04 + sta PlayerY ; CPU:$D599 PRG:5599 85 90 + lda #$00 ; CPU:$D59B PRG:559B A9 00 + sta Zp8F ; CPU:$D59D PRG:559D 85 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + lda (VramReadPtrLo),y ; CPU:$D59F PRG:559F B1 62 + sta VramWritePtrLo ; CPU:$D5A1 PRG:55A1 85 5E + cmp #$FF ; CPU:$D5A3 PRG:55A3 C9 FF + bne NmiHandler_Loop157 ; CPU:$D5A5 PRG:55A5 D0 03 + jmp Sub_D665 ; CPU:$D5A7 PRG:55A7 4C 65 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + and #$0F ; CPU:$D5AA PRG:55AA 29 0F + asl a ; CPU:$D5AC PRG:55AC 0A + asl a ; CPU:$D5AD PRG:55AD 0A + asl a ; CPU:$D5AE PRG:55AE 0A + asl a ; CPU:$D5AF PRG:55AF 0A + sta $0447,x ; CPU:$D5B0 PRG:55B0 9D 47 04 + lda VramWritePtrLo ; CPU:$D5B3 PRG:55B3 A5 5E + and #$30 ; CPU:$D5B5 PRG:55B5 29 30 + sta $0449,x ; CPU:$D5B7 PRG:55B7 9D 49 04 + lda #$02 ; CPU:$D5BA PRG:55BA A9 02 + sta $044A,x ; CPU:$D5BC PRG:55BC 9D 4A 04 + lda #$00 ; CPU:$D5BF PRG:55BF A9 00 + sta $044B,x ; CPU:$D5C1 PRG:55C1 9D 4B 04 + sta $044C,x ; CPU:$D5C4 PRG:55C4 9D 4C 04 + lda (ObjectX),y ; CPU:$D5C7 PRG:55C7 B1 60 + sta $0446,x ; CPU:$D5C9 PRG:55C9 9D 46 04 + cmp #$C0 ; CPU:$D5CC PRG:55CC C9 C0 + bne NmiHandler_Loop158 ; CPU:$D5CE PRG:55CE D0 0A + lda $0447,x ; CPU:$D5D0 PRG:55D0 BD 47 04 + bpl NmiHandler_Loop158 ; CPU:$D5D3 PRG:55D3 10 05 + lda #$C1 ; CPU:$D5D5 PRG:55D5 A9 C1 + sta $0446,x ; CPU:$D5D7 PRG:55D7 9D 46 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + lda $0446,x ; CPU:$D5DA PRG:55DA BD 46 04 + cmp #$42 ; CPU:$D5DD PRG:55DD C9 42 + bne NmiHandler_Loop160 ; CPU:$D5DF PRG:55DF D0 3A + lda $0447,x ; CPU:$D5E1 PRG:55E1 BD 47 04 + sta ObjectTimer ; CPU:$D5E4 PRG:55E4 85 68 + lda $0449,x ; CPU:$D5E6 PRG:55E6 BD 49 04 + sta Zp69 ; CPU:$D5E9 PRG:55E9 85 69 + txa ; CPU:$D5EB PRG:55EB 8A + clc ; CPU:$D5EC PRG:55EC 18 + adc #$08 ; CPU:$D5ED PRG:55ED 69 08 + tax ; CPU:$D5EF PRG:55EF AA + cpx #$C0 ; CPU:$D5F0 PRG:55F0 E0 C0 + bne NmiHandler_Loop159 ; CPU:$D5F2 PRG:55F2 D0 02 + ldx #$00 ; CPU:$D5F4 PRG:55F4 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop159: + lda #$C3 ; CPU:$D5F6 PRG:55F6 A9 C3 + sta $0446,x ; CPU:$D5F8 PRG:55F8 9D 46 04 + lda ObjectTimer ; CPU:$D5FB PRG:55FB A5 68 + clc ; CPU:$D5FD PRG:55FD 18 + adc #$10 ; CPU:$D5FE PRG:55FE 69 10 + sta $0447,x ; CPU:$D600 PRG:5600 9D 47 04 + lda Zp69 ; CPU:$D603 PRG:5603 A5 69 + clc ; CPU:$D605 PRG:5605 18 + adc #$04 ; CPU:$D606 PRG:5606 69 04 + sta $0449,x ; CPU:$D608 PRG:5608 9D 49 04 + lda #$00 ; CPU:$D60B PRG:560B A9 00 + sta $044B,x ; CPU:$D60D PRG:560D 9D 4B 04 + sta $044C,x ; CPU:$D610 PRG:5610 9D 4C 04 + lda #$02 ; CPU:$D613 PRG:5613 A9 02 + sta $044A,x ; CPU:$D615 PRG:5615 9D 4A 04 + jmp NmiHandler_Loop162 ; CPU:$D618 PRG:5618 4C 56 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop160: + cmp #$44 ; CPU:$D61B PRG:561B C9 44 + bne NmiHandler_Loop162 ; CPU:$D61D PRG:561D D0 37 + lda $0447,x ; CPU:$D61F PRG:561F BD 47 04 + sta ObjectTimer ; CPU:$D622 PRG:5622 85 68 + lda $0449,x ; CPU:$D624 PRG:5624 BD 49 04 + sta Zp69 ; CPU:$D627 PRG:5627 85 69 + txa ; CPU:$D629 PRG:5629 8A + clc ; CPU:$D62A PRG:562A 18 + adc #$08 ; CPU:$D62B PRG:562B 69 08 + tax ; CPU:$D62D PRG:562D AA + cpx #$C0 ; CPU:$D62E PRG:562E E0 C0 + bne NmiHandler_Loop161 ; CPU:$D630 PRG:5630 D0 02 + ldx #$00 ; CPU:$D632 PRG:5632 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop161: + lda #$45 ; CPU:$D634 PRG:5634 A9 45 + sta $0446,x ; CPU:$D636 PRG:5636 9D 46 04 + lda ObjectTimer ; CPU:$D639 PRG:5639 A5 68 + sec ; CPU:$D63B PRG:563B 38 + sbc #$10 ; CPU:$D63C PRG:563C E9 10 + sta $0447,x ; CPU:$D63E PRG:563E 9D 47 04 + lda Zp69 ; CPU:$D641 PRG:5641 A5 69 + clc ; CPU:$D643 PRG:5643 18 + adc #$10 ; CPU:$D644 PRG:5644 69 10 + sta $0449,x ; CPU:$D646 PRG:5646 9D 49 04 + lda #$00 ; CPU:$D649 PRG:5649 A9 00 + sta $044B,x ; CPU:$D64B PRG:564B 9D 4B 04 + sta $044C,x ; CPU:$D64E PRG:564E 9D 4C 04 + lda #$02 ; CPU:$D651 PRG:5651 A9 02 + sta $044A,x ; CPU:$D653 PRG:5653 9D 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop162: + iny ; CPU:$D656 PRG:5656 C8 + txa ; CPU:$D657 PRG:5657 8A + clc ; CPU:$D658 PRG:5658 18 + adc #$08 ; CPU:$D659 PRG:5659 69 08 + tax ; CPU:$D65B PRG:565B AA + cpx #$C0 ; CPU:$D65C PRG:565C E0 C0 + bne NmiHandler_Loop163 ; CPU:$D65E PRG:565E D0 02 + ldx #$00 ; CPU:$D660 PRG:5660 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: + jmp Sub_D585 ; CPU:$D662 PRG:5662 4C 85 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D665 +; Global: Branch target inside Sub: taken when D665. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D665: + stx Zp82 ; CPU:$D665 PRG:5665 86 82 + rts ; CPU:$D667 PRG:5667 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D668 +; Global: Branch target inside Sub: taken when D668. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D668: + ldx #$00 ; CPU:$D668 PRG:5668 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D66A +; Global: Branch target inside Sub: taken when D66A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D66A: + lda $0366,x ; CPU:$D66A PRG:566A BD 66 03 + bne NmiHandler_Loop164 ; CPU:$D66D PRG:566D D0 03 + jmp NmiHandler_Loop178 ; CPU:$D66F PRG:566F 4C C3 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop164: + cmp #$2E ; CPU:$D672 PRG:5672 C9 2E + beq NmiHandler_Loop165 ; CPU:$D674 PRG:5674 F0 04 + cmp #$BA ; CPU:$D676 PRG:5676 C9 BA + bcc NmiHandler_Loop166 ; CPU:$D678 PRG:5678 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop165: + lda $0367,x ; CPU:$D67A PRG:567A BD 67 03 + sta $06BA ; CPU:$D67D PRG:567D 8D BA 06 + lda $0366,x ; CPU:$D680 PRG:5680 BD 66 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop166: + cmp #$AF ; CPU:$D683 PRG:5683 C9 AF + beq NmiHandler_Loop167 ; CPU:$D685 PRG:5685 F0 04 + cmp #$B9 ; CPU:$D687 PRG:5687 C9 B9 + bne NmiHandler_Loop171 ; CPU:$D689 PRG:5689 D0 5D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop167: + lda $0368,x ; CPU:$D68B PRG:568B BD 68 03 + bne NmiHandler_Loop169 ; CPU:$D68E PRG:568E D0 2C + lda Zp6C ; CPU:$D690 PRG:5690 A5 6C + and #$01 ; CPU:$D692 PRG:5692 29 01 + bne NmiHandler_Loop168 ; CPU:$D694 PRG:5694 D0 11 + lda $0369,x ; CPU:$D696 PRG:5696 BD 69 03 + sec ; CPU:$D699 PRG:5699 38 + sbc #$01 ; CPU:$D69A PRG:569A E9 01 + sta $0369,x ; CPU:$D69C PRG:569C 9D 69 03 + lda $036A,x ; CPU:$D69F PRG:569F BD 6A 03 + sbc #$00 ; CPU:$D6A2 PRG:56A2 E9 00 + sta $036A,x ; CPU:$D6A4 PRG:56A4 9D 6A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + lda $0367,x ; CPU:$D6A7 PRG:56A7 BD 67 03 + clc ; CPU:$D6AA PRG:56AA 18 + adc #$01 ; CPU:$D6AB PRG:56AB 69 01 + sta $0367,x ; CPU:$D6AD PRG:56AD 9D 67 03 + cmp #$F0 ; CPU:$D6B0 PRG:56B0 C9 F0 + bcc NmiHandler_Loop171 ; CPU:$D6B2 PRG:56B2 90 34 + lda #$01 ; CPU:$D6B4 PRG:56B4 A9 01 + sta $0368,x ; CPU:$D6B6 PRG:56B6 9D 68 03 + jmp NmiHandler_Loop171 ; CPU:$D6B9 PRG:56B9 4C E8 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + lda Zp6C ; CPU:$D6BC PRG:56BC A5 6C + and #$01 ; CPU:$D6BE PRG:56BE 29 01 + bne NmiHandler_Loop170 ; CPU:$D6C0 PRG:56C0 D0 11 + lda $0369,x ; CPU:$D6C2 PRG:56C2 BD 69 03 + clc ; CPU:$D6C5 PRG:56C5 18 + adc #$01 ; CPU:$D6C6 PRG:56C6 69 01 + sta $0369,x ; CPU:$D6C8 PRG:56C8 9D 69 03 + lda $036A,x ; CPU:$D6CB PRG:56CB BD 6A 03 + adc #$00 ; CPU:$D6CE PRG:56CE 69 00 + sta $036A,x ; CPU:$D6D0 PRG:56D0 9D 6A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + lda $0367,x ; CPU:$D6D3 PRG:56D3 BD 67 03 + sec ; CPU:$D6D6 PRG:56D6 38 + sbc #$01 ; CPU:$D6D7 PRG:56D7 E9 01 + sta $0367,x ; CPU:$D6D9 PRG:56D9 9D 67 03 + cmp #$10 ; CPU:$D6DC PRG:56DC C9 10 + bcs NmiHandler_Loop171 ; CPU:$D6DE PRG:56DE B0 08 + lda #$00 ; CPU:$D6E0 PRG:56E0 A9 00 + sta $0368,x ; CPU:$D6E2 PRG:56E2 9D 68 03 + jmp NmiHandler_Loop173 ; CPU:$D6E5 PRG:56E5 4C 29 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop171: + cmp #$36 ; CPU:$D6E8 PRG:56E8 C9 36 + bne NmiHandler_Loop173 ; CPU:$D6EA PRG:56EA D0 3D + lda $0369,x ; CPU:$D6EC PRG:56EC BD 69 03 + cmp #$C0 ; CPU:$D6EF PRG:56EF C9 C0 + bcs NmiHandler_Loop173 ; CPU:$D6F1 PRG:56F1 B0 36 + sec ; CPU:$D6F3 PRG:56F3 38 + sbc Zp89 ; CPU:$D6F4 PRG:56F4 E5 89 + bcc NmiHandler_Loop173 ; CPU:$D6F6 PRG:56F6 90 31 + cmp #$50 ; CPU:$D6F8 PRG:56F8 C9 50 + bcs NmiHandler_Loop173 ; CPU:$D6FA PRG:56FA B0 2D + lda $0367,x ; CPU:$D6FC PRG:56FC BD 67 03 + sec ; CPU:$D6FF PRG:56FF 38 + sbc GameState ; CPU:$D700 PRG:5700 E5 8A + bcc NmiHandler_Loop172 ; CPU:$D702 PRG:5702 90 18 + cmp #$40 ; CPU:$D704 PRG:5704 C9 40 + bcs NmiHandler_Loop173 ; CPU:$D706 PRG:5706 B0 21 +; ----------------------------------------------------------------------------- +; Routine: Sub_D708 +; Global: Branch target inside Sub: taken when D708. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D708: + lda $036C,x ; CPU:$D708 PRG:5708 BD 6C 03 + cmp #$01 ; CPU:$D70B PRG:570B C9 01 + bne NmiHandler_Loop173 ; CPU:$D70D PRG:570D D0 1A + lda #$00 ; CPU:$D70F PRG:570F A9 00 + sta $036C,x ; CPU:$D711 PRG:5711 9D 6C 03 + lda #$20 ; CPU:$D714 PRG:5714 A9 20 + sta $036D,x ; CPU:$D716 PRG:5716 9D 6D 03 + jmp NmiHandler_Loop173 ; CPU:$D719 PRG:5719 4C 29 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + lda GameState ; CPU:$D71C PRG:571C A5 8A + sec ; CPU:$D71E PRG:571E 38 + sbc $0367,x ; CPU:$D71F PRG:571F FD 67 03 + cmp #$40 ; CPU:$D722 PRG:5722 C9 40 + bcs NmiHandler_Loop173 ; CPU:$D724 PRG:5724 B0 03 + jmp Sub_D708 ; CPU:$D726 PRG:5726 4C 08 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop173: + lda $036A,x ; CPU:$D729 PRG:5729 BD 6A 03 + bne NmiHandler_Loop175 ; CPU:$D72C PRG:572C D0 20 + lda $0369,x ; CPU:$D72E PRG:572E BD 69 03 + cmp #$E0 ; CPU:$D731 PRG:5731 C9 E0 + bcs NmiHandler_Loop175 ; CPU:$D733 PRG:5733 B0 19 + lda $0366,x ; CPU:$D735 PRG:5735 BD 66 03 + cmp #$1F ; CPU:$D738 PRG:5738 C9 1F + bne NmiHandler_Loop174 ; CPU:$D73A PRG:573A D0 0A + lda $0369,x ; CPU:$D73C PRG:573C BD 69 03 + cmp #$80 ; CPU:$D73F PRG:573F C9 80 + bcs NmiHandler_Loop175 ; CPU:$D741 PRG:5741 B0 0B + jsr NmiHandler_Loop350 ; CPU:$D743 PRG:5743 20 57 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + lda #$00 ; CPU:$D746 PRG:5746 A9 00 + sta $0366,x ; CPU:$D748 PRG:5748 9D 66 03 + jmp NmiHandler_Loop178 ; CPU:$D74B PRG:574B 4C C3 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: + lda $0369,x ; CPU:$D74E PRG:574E BD 69 03 + bne NmiHandler_Loop176 ; CPU:$D751 PRG:5751 D0 03 + dec $036A,x ; CPU:$D753 PRG:5753 DE 6A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop176: + dec $0369,x ; CPU:$D756 PRG:5756 DE 69 03 + lda PlayerIndex ; CPU:$D759 PRG:5759 A5 00 + bne NmiHandler_Loop178 ; CPU:$D75B PRG:575B D0 66 + lda $036A,x ; CPU:$D75D PRG:575D BD 6A 03 + cmp #$01 ; CPU:$D760 PRG:5760 C9 01 + bne NmiHandler_Loop178 ; CPU:$D762 PRG:5762 D0 5F + lda $0369,x ; CPU:$D764 PRG:5764 BD 69 03 + cmp #$E0 ; CPU:$D767 PRG:5767 C9 E0 + bcs NmiHandler_Loop178 ; CPU:$D769 PRG:5769 B0 58 + lda $036D,x ; CPU:$D76B PRG:576B BD 6D 03 + beq NmiHandler_Loop177 ; CPU:$D76E PRG:576E F0 06 + dec $036D,x ; CPU:$D770 PRG:5770 DE 6D 03 + jmp NmiHandler_Loop178 ; CPU:$D773 PRG:5773 4C C3 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop177: + lda #$80 ; CPU:$D776 PRG:5776 A9 80 + sta $036D,x ; CPU:$D778 PRG:5778 9D 6D 03 + lda $0366,x ; CPU:$D77B PRG:577B BD 66 03 + sec ; CPU:$D77E PRG:577E 38 + sbc #$19 ; CPU:$D77F PRG:577F E9 19 + asl a ; CPU:$D781 PRG:5781 0A + asl a ; CPU:$D782 PRG:5782 0A + tay ; CPU:$D783 PRG:5783 A8 + lda $8003,y ; CPU:$D784 PRG:5784 B9 03 80 + beq NmiHandler_Loop178 ; CPU:$D787 PRG:5787 F0 3A + sta VramWritePtrLo ; CPU:$D789 PRG:5789 85 5E + jsr Sub_EB95 ; CPU:$D78B PRG:578B 20 95 EB + bne NmiHandler_Loop178 ; CPU:$D78E PRG:578E D0 33 + lda VramWritePtrLo ; CPU:$D790 PRG:5790 A5 5E + and #$1F ; CPU:$D792 PRG:5792 29 1F + sta $02E6,y ; CPU:$D794 PRG:5794 99 E6 02 + lda VramWritePtrLo ; CPU:$D797 PRG:5797 A5 5E + lsr a ; CPU:$D799 PRG:5799 4A + lsr a ; CPU:$D79A PRG:579A 4A + lsr a ; CPU:$D79B PRG:579B 4A + lsr a ; CPU:$D79C PRG:579C 4A + lsr a ; CPU:$D79D PRG:579D 4A + and #$03 ; CPU:$D79E PRG:579E 29 03 + sta $02ED,y ; CPU:$D7A0 PRG:57A0 99 ED 02 + lda #$00 ; CPU:$D7A3 PRG:57A3 A9 00 + sta $02EE,y ; CPU:$D7A5 PRG:57A5 99 EE 02 + lda $0367,x ; CPU:$D7A8 PRG:57A8 BD 67 03 + sbc #$0C ; CPU:$D7AB PRG:57AB E9 0C + sta $02E7,y ; CPU:$D7AD PRG:57AD 99 E7 02 + lda $0369,x ; CPU:$D7B0 PRG:57B0 BD 69 03 + adc #$02 ; CPU:$D7B3 PRG:57B3 69 02 + sta $02E9,y ; CPU:$D7B5 PRG:57B5 99 E9 02 + lda $036A,x ; CPU:$D7B8 PRG:57B8 BD 6A 03 + sta $02EA,y ; CPU:$D7BB PRG:57BB 99 EA 02 + lda #$02 ; CPU:$D7BE PRG:57BE A9 02 + sta $02F1,y ; CPU:$D7C0 PRG:57C0 99 F1 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + txa ; CPU:$D7C3 PRG:57C3 8A + clc ; CPU:$D7C4 PRG:57C4 18 + adc #$08 ; CPU:$D7C5 PRG:57C5 69 08 + tax ; CPU:$D7C7 PRG:57C7 AA + cpx #$E0 ; CPU:$D7C8 PRG:57C8 E0 E0 + beq NmiHandler_Loop179 ; CPU:$D7CA PRG:57CA F0 03 + jmp Sub_D66A ; CPU:$D7CC PRG:57CC 4C 6A D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop179: + ldx #$00 ; CPU:$D7CF PRG:57CF A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7D1 +; Global: Branch target inside Sub: taken when D7D1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7D1: + lda $0446,x ; CPU:$D7D1 PRG:57D1 BD 46 04 + beq NmiHandler_Loop187 ; CPU:$D7D4 PRG:57D4 F0 7B + ldy PlayerIndex ; CPU:$D7D6 PRG:57D6 A4 00 + beq NmiHandler_Loop181 ; CPU:$D7D8 PRG:57D8 F0 11 + cmp #$3D ; CPU:$D7DA PRG:57DA C9 3D + beq NmiHandler_Loop180 ; CPU:$D7DC PRG:57DC F0 04 + cmp #$C6 ; CPU:$D7DE PRG:57DE C9 C6 + bcc NmiHandler_Loop181 ; CPU:$D7E0 PRG:57E0 90 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop180: + lda $0447,x ; CPU:$D7E2 PRG:57E2 BD 47 04 + sta $06BA ; CPU:$D7E5 PRG:57E5 8D BA 06 + lda $0446,x ; CPU:$D7E8 PRG:57E8 BD 46 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop181: + cmp #$C0 ; CPU:$D7EB PRG:57EB C9 C0 + bne NmiHandler_Loop182 ; CPU:$D7ED PRG:57ED D0 17 + lda $044A,x ; CPU:$D7EF PRG:57EF BD 4A 04 + cmp #$01 ; CPU:$D7F2 PRG:57F2 C9 01 + bne NmiHandler_Loop182 ; CPU:$D7F4 PRG:57F4 D0 10 + lda $0449,x ; CPU:$D7F6 PRG:57F6 BD 49 04 + cmp #$90 ; CPU:$D7F9 PRG:57F9 C9 90 + bcs NmiHandler_Loop182 ; CPU:$D7FB PRG:57FB B0 09 + lda $0447,x ; CPU:$D7FD PRG:57FD BD 47 04 + clc ; CPU:$D800 PRG:5800 18 + adc #$01 ; CPU:$D801 PRG:5801 69 01 + sta $0447,x ; CPU:$D803 PRG:5803 9D 47 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + cmp #$C1 ; CPU:$D806 PRG:5806 C9 C1 + bne NmiHandler_Loop183 ; CPU:$D808 PRG:5808 D0 17 + lda $044A,x ; CPU:$D80A PRG:580A BD 4A 04 + cmp #$01 ; CPU:$D80D PRG:580D C9 01 + bne NmiHandler_Loop183 ; CPU:$D80F PRG:580F D0 10 + lda $0449,x ; CPU:$D811 PRG:5811 BD 49 04 + cmp #$B0 ; CPU:$D814 PRG:5814 C9 B0 + bcs NmiHandler_Loop183 ; CPU:$D816 PRG:5816 B0 09 + lda $0447,x ; CPU:$D818 PRG:5818 BD 47 04 + sec ; CPU:$D81B PRG:581B 38 + sbc #$01 ; CPU:$D81C PRG:581C E9 01 + sta $0447,x ; CPU:$D81E PRG:581E 9D 47 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + lda $044A,x ; CPU:$D821 PRG:5821 BD 4A 04 + bne NmiHandler_Loop185 ; CPU:$D824 PRG:5824 D0 20 + lda $0449,x ; CPU:$D826 PRG:5826 BD 49 04 + cmp #$E0 ; CPU:$D829 PRG:5829 C9 E0 + bcs NmiHandler_Loop185 ; CPU:$D82B PRG:582B B0 19 + lda $0446,x ; CPU:$D82D PRG:582D BD 46 04 + cmp #$2D ; CPU:$D830 PRG:5830 C9 2D + bne NmiHandler_Loop184 ; CPU:$D832 PRG:5832 D0 0A + lda $0449,x ; CPU:$D834 PRG:5834 BD 49 04 + cmp #$80 ; CPU:$D837 PRG:5837 C9 80 + bcs NmiHandler_Loop185 ; CPU:$D839 PRG:5839 B0 0B + jsr NmiHandler_Loop350 ; CPU:$D83B PRG:583B 20 57 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: + lda #$00 ; CPU:$D83E PRG:583E A9 00 + sta $0446,x ; CPU:$D840 PRG:5840 9D 46 04 + jmp NmiHandler_Loop187 ; CPU:$D843 PRG:5843 4C 51 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop185: + lda $0449,x ; CPU:$D846 PRG:5846 BD 49 04 + bne NmiHandler_Loop186 ; CPU:$D849 PRG:5849 D0 03 + dec $044A,x ; CPU:$D84B PRG:584B DE 4A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop186: + dec $0449,x ; CPU:$D84E PRG:584E DE 49 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + txa ; CPU:$D851 PRG:5851 8A + clc ; CPU:$D852 PRG:5852 18 + adc #$08 ; CPU:$D853 PRG:5853 69 08 + tax ; CPU:$D855 PRG:5855 AA + cpx #$C0 ; CPU:$D856 PRG:5856 E0 C0 + beq NmiHandler_Loop188 ; CPU:$D858 PRG:5858 F0 03 + jmp Sub_D7D1 ; CPU:$D85A PRG:585A 4C D1 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + rts ; CPU:$D85D PRG:585D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D85E +; Global: Branch target inside Sub: taken when D85E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D85E: + lda Zp86 ; CPU:$D85E PRG:585E A5 86 + cmp #$02 ; CPU:$D860 PRG:5860 C9 02 + beq NmiHandler_Loop189 ; CPU:$D862 PRG:5862 F0 01 + rts ; CPU:$D864 PRG:5864 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: + tya ; CPU:$D865 PRG:5865 98 + pha ; CPU:$D866 PRG:5866 48 + lda VramWritePtrLo ; CPU:$D867 PRG:5867 A5 5E + and #$0F ; CPU:$D869 PRG:5869 29 0F + sta ObjectTimer ; CPU:$D86B PRG:586B 85 68 + lda VramWritePtrLo ; CPU:$D86D PRG:586D A5 5E + lsr a ; CPU:$D86F PRG:586F 4A + lsr a ; CPU:$D870 PRG:5870 4A + lsr a ; CPU:$D871 PRG:5871 4A + lsr a ; CPU:$D872 PRG:5872 4A + sta Zp69 ; CPU:$D873 PRG:5873 85 69 + ldx #$00 ; CPU:$D875 PRG:5875 A2 00 + lda SpriteX ; CPU:$D877 PRG:5877 A5 88 + beq NmiHandler_Loop190 ; CPU:$D879 PRG:5879 F0 02 + ldx #$08 ; CPU:$D87B PRG:587B A2 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop190: + lda $0600,x ; CPU:$D87D PRG:587D BD 00 06 + clc ; CPU:$D880 PRG:5880 18 + adc ObjectTimer ; CPU:$D881 PRG:5881 65 68 + sta $0600,x ; CPU:$D883 PRG:5883 9D 00 06 + cmp #$0A ; CPU:$D886 PRG:5886 C9 0A + bcc NmiHandler_Loop191 ; CPU:$D888 PRG:5888 90 07 + sec ; CPU:$D88A PRG:588A 38 + sbc #$0A ; CPU:$D88B PRG:588B E9 0A + sta $0600,x ; CPU:$D88D PRG:588D 9D 00 06 + sec ; CPU:$D890 PRG:5890 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop191: + lda $0601,x ; CPU:$D891 PRG:5891 BD 01 06 + adc Zp69 ; CPU:$D894 PRG:5894 65 69 + sta $0601,x ; CPU:$D896 PRG:5896 9D 01 06 + cmp #$0A ; CPU:$D899 PRG:5899 C9 0A + bcc NmiHandler_Loop192 ; CPU:$D89B PRG:589B 90 3E + sec ; CPU:$D89D PRG:589D 38 + sbc #$0A ; CPU:$D89E PRG:589E E9 0A + sta $0601,x ; CPU:$D8A0 PRG:58A0 9D 01 06 + lda #$00 ; CPU:$D8A3 PRG:58A3 A9 00 + sta $06B7 ; CPU:$D8A5 PRG:58A5 8D B7 06 + inc $0602,x ; CPU:$D8A8 PRG:58A8 FE 02 06 + lda $0602,x ; CPU:$D8AB PRG:58AB BD 02 06 + cmp #$0A ; CPU:$D8AE PRG:58AE C9 0A + bcc NmiHandler_Loop192 ; CPU:$D8B0 PRG:58B0 90 29 + sec ; CPU:$D8B2 PRG:58B2 38 + sbc #$0A ; CPU:$D8B3 PRG:58B3 E9 0A + sta $0602,x ; CPU:$D8B5 PRG:58B5 9D 02 06 + inc $0603,x ; CPU:$D8B8 PRG:58B8 FE 03 06 + lda $0603,x ; CPU:$D8BB PRG:58BB BD 03 06 + cmp #$0A ; CPU:$D8BE PRG:58BE C9 0A + bcc NmiHandler_Loop192 ; CPU:$D8C0 PRG:58C0 90 19 + sec ; CPU:$D8C2 PRG:58C2 38 + sbc #$0A ; CPU:$D8C3 PRG:58C3 E9 0A + sta $0603,x ; CPU:$D8C5 PRG:58C5 9D 03 06 + inc $0604,x ; CPU:$D8C8 PRG:58C8 FE 04 06 + lda $0604,x ; CPU:$D8CB PRG:58CB BD 04 06 + cmp #$0A ; CPU:$D8CE PRG:58CE C9 0A + bcc NmiHandler_Loop192 ; CPU:$D8D0 PRG:58D0 90 09 + sec ; CPU:$D8D2 PRG:58D2 38 + sbc #$0A ; CPU:$D8D3 PRG:58D3 E9 0A + sta $0604,x ; CPU:$D8D5 PRG:58D5 9D 04 06 + inc $0605,x ; CPU:$D8D8 PRG:58D8 FE 05 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop192: + lda $0602,x ; CPU:$D8DB PRG:58DB BD 02 06 + ldx SpriteX ; CPU:$D8DE PRG:58DE A6 88 + cmp Zp5A,x ; CPU:$D8E0 PRG:58E0 D5 5A + bne NmiHandler_Loop194 ; CPU:$D8E2 PRG:58E2 D0 13 + inc Zp58,x ; CPU:$D8E4 PRG:58E4 F6 58 + ldy #$03 ; CPU:$D8E6 PRG:58E6 A0 03 + lda Zp5A,x ; CPU:$D8E8 PRG:58E8 B5 5A + cmp #$03 ; CPU:$D8EA PRG:58EA C9 03 + bne NmiHandler_Loop193 ; CPU:$D8EC PRG:58EC D0 02 + ldy #$08 ; CPU:$D8EE PRG:58EE A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop193: + sty Zp5A,x ; CPU:$D8F0 PRG:58F0 94 5A + lda #$07 ; CPU:$D8F2 PRG:58F2 A9 07 + jsr Sub_FAE6 ; CPU:$D8F4 PRG:58F4 20 E6 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + pla ; CPU:$D8F7 PRG:58F7 68 + tay ; CPU:$D8F8 PRG:58F8 A8 + rts ; CPU:$D8F9 PRG:58F9 60 +; ---- data $D8FA-$D918 (31 bytes) ---- +; referenced by `lda $D913` at $D92C (operand $D913 falls inside this region) +; referenced by `lda $D914` at $D931 (operand $D914 falls inside this region) +; referenced by `lda $D915` at $D93B (operand $D915 falls inside this region) +; referenced by `lda $D916` at $D940 (operand $D916 falls inside this region) +; referenced by `lda $D917` at $D948 (operand $D917 falls inside this region) +; referenced by `lda $D918` at $D94D (operand $D918 falls inside this region) +; ... and 2 further references from decoded code + .byte $68, $58, $06, $19, $15, $0A, $22, $0E, $1B, $68, $78, $06, $16, $0A, $10, $16 ; CPU:$D8FA PRG:58FA 68 58 06 19 15 0A 22 0E 1B 68 78 06 16 0A 10 16 + .byte $0A, $21, $70, $88, $04, $15, $0E, $0F, $1D, $FA, $D8, $03, $D9, $0C, $D9 ; CPU:$D90A PRG:590A 0A 21 70 88 04 15 0E 0F 1D FA D8 03 D9 0C D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_D919 +; Global: Branch target inside Sub: taken when D919. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D919: + lda Zp86 ; CPU:$D919 PRG:5919 A5 86 + cmp #$02 ; CPU:$D91B PRG:591B C9 02 + beq NmiHandler_Loop195 ; CPU:$D91D PRG:591D F0 01 + rts ; CPU:$D91F PRG:591F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + ldy #$00 ; CPU:$D920 PRG:5920 A0 00 + lda PlayerY ; CPU:$D922 PRG:5922 A5 90 + cmp #$01 ; CPU:$D924 PRG:5924 C9 01 + bne NmiHandler_Loop196 ; CPU:$D926 PRG:5926 D0 02 + ldy #$10 ; CPU:$D928 PRG:5928 A0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + sty ObjectTimer ; CPU:$D92A PRG:592A 84 68 + lda $D913 ; CPU:$D92C PRG:592C AD 13 D9 + sta VramWritePtrLo ; CPU:$D92F PRG:592F 85 5E + lda $D914 ; CPU:$D931 PRG:5931 AD 14 D9 + sta VramWritePtrHi ; CPU:$D934 PRG:5934 85 5F + ldx #$80 ; CPU:$D936 PRG:5936 A2 80 + jsr Sub_D989 ; CPU:$D938 PRG:5938 20 89 D9 + lda $D915 ; CPU:$D93B PRG:593B AD 15 D9 + sta VramWritePtrLo ; CPU:$D93E PRG:593E 85 5E + lda $D916 ; CPU:$D940 PRG:5940 AD 16 D9 + sta VramWritePtrHi ; CPU:$D943 PRG:5943 85 5F + jsr Sub_D989 ; CPU:$D945 PRG:5945 20 89 D9 + lda $D917 ; CPU:$D948 PRG:5948 AD 17 D9 + sta VramWritePtrLo ; CPU:$D94B PRG:594B 85 5E + lda $D918 ; CPU:$D94D PRG:594D AD 18 D9 + sta VramWritePtrHi ; CPU:$D950 PRG:5950 85 5F + jsr Sub_D989 ; CPU:$D952 PRG:5952 20 89 D9 + lda #$48 ; CPU:$D955 PRG:5955 A9 48 + sta $07F0 ; CPU:$D957 PRG:5957 8D F0 07 + lda SpriteX ; CPU:$D95A PRG:595A A5 88 + tay ; CPU:$D95C PRG:595C A8 + clc ; CPU:$D95D PRG:595D 18 + adc #$01 ; CPU:$D95E PRG:595E 69 01 + sta $07F1 ; CPU:$D960 PRG:5960 8D F1 07 + lda #$03 ; CPU:$D963 PRG:5963 A9 03 + sta $07F2 ; CPU:$D965 PRG:5965 8D F2 07 + lda #$7B ; CPU:$D968 PRG:5968 A9 7B + clc ; CPU:$D96A PRG:596A 18 + adc ObjectTimer ; CPU:$D96B PRG:596B 65 68 + sta $07F3 ; CPU:$D96D PRG:596D 8D F3 07 + lda #$68 ; CPU:$D970 PRG:5970 A9 68 + sta $07F4 ; CPU:$D972 PRG:5972 8D F4 07 + lda a:Zp58,y ; CPU:$D975 PRG:5975 B9 58 00 + sta $07F5 ; CPU:$D978 PRG:5978 8D F5 07 + lda #$03 ; CPU:$D97B PRG:597B A9 03 + sta $07F6 ; CPU:$D97D PRG:597D 8D F6 07 + lda #$7B ; CPU:$D980 PRG:5980 A9 7B + clc ; CPU:$D982 PRG:5982 18 + adc ObjectTimer ; CPU:$D983 PRG:5983 65 68 + sta $07F7 ; CPU:$D985 PRG:5985 8D F7 07 + rts ; CPU:$D988 PRG:5988 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D989 ; Global: Branch target inside Sub: taken when D989. @@ -3902,573 +7538,5147 @@ NmiHandler_Loop71: ; ----------------------------------------------------------------------------- Sub_D989: ldy #$00 ; CPU:$D989 PRG:5989 A0 00 - lda (Zp5E),y ; CPU:$D98B PRG:598B B1 5E + lda (VramWritePtrLo),y ; CPU:$D98B PRG:598B B1 5E clc ; CPU:$D98D PRG:598D 18 - adc Zp68 ; CPU:$D98E PRG:598E 65 68 - sta Zp60 ; CPU:$D990 PRG:5990 85 60 + adc ObjectTimer ; CPU:$D98E PRG:598E 65 68 + sta ObjectX ; CPU:$D990 PRG:5990 85 60 iny ; CPU:$D992 PRG:5992 C8 - lda (Zp5E),y ; CPU:$D993 PRG:5993 B1 5E - sta Zp61 ; CPU:$D995 PRG:5995 85 61 + lda (VramWritePtrLo),y ; CPU:$D993 PRG:5993 B1 5E + sta ObjectY ; CPU:$D995 PRG:5995 85 61 iny ; CPU:$D997 PRG:5997 C8 - lda (Zp5E),y ; CPU:$D998 PRG:5998 B1 5E - sta Zp62 ; CPU:$D99A PRG:599A 85 62 + lda (VramWritePtrLo),y ; CPU:$D998 PRG:5998 B1 5E + sta VramReadPtrLo ; CPU:$D99A PRG:599A 85 62 iny ; CPU:$D99C PRG:599C C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero27 -; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero27: - lda Zp61 ; CPU:$D99D PRG:599D A5 61 +NmiHandler_OnNonzero45: + lda ObjectY ; CPU:$D99D PRG:599D A5 61 sta $0700,x ; CPU:$D99F PRG:599F 9D 00 07 - lda (Zp5E),y ; CPU:$D9A2 PRG:59A2 B1 5E + lda (VramWritePtrLo),y ; CPU:$D9A2 PRG:59A2 B1 5E iny ; CPU:$D9A4 PRG:59A4 C8 sta $0701,x ; CPU:$D9A5 PRG:59A5 9D 01 07 lda #$03 ; CPU:$D9A8 PRG:59A8 A9 03 sta $0702,x ; CPU:$D9AA PRG:59AA 9D 02 07 - lda Zp60 ; CPU:$D9AD PRG:59AD A5 60 + lda ObjectX ; CPU:$D9AD PRG:59AD A5 60 sta $0703,x ; CPU:$D9AF PRG:59AF 9D 03 07 clc ; CPU:$D9B2 PRG:59B2 18 adc #$08 ; CPU:$D9B3 PRG:59B3 69 08 - sta Zp60 ; CPU:$D9B5 PRG:59B5 85 60 + sta ObjectX ; CPU:$D9B5 PRG:59B5 85 60 inx ; CPU:$D9B7 PRG:59B7 E8 inx ; CPU:$D9B8 PRG:59B8 E8 inx ; CPU:$D9B9 PRG:59B9 E8 inx ; CPU:$D9BA PRG:59BA E8 - dec Zp62 ; CPU:$D9BB PRG:59BB C6 62 - bne NmiHandler_OnNonzero27 ; CPU:$D9BD PRG:59BD D0 DE + dec VramReadPtrLo ; CPU:$D9BB PRG:59BB C6 62 + bne NmiHandler_OnNonzero45 ; CPU:$D9BD PRG:59BD D0 DE rts ; CPU:$D9BF PRG:59BF 60 -; ---- data $D9C0-$FA88 (8393 bytes) ---- +; ----------------------------------------------------------------------------- +; Routine: Sub_D9C0 +; Global: Branch target inside Sub: taken when D9C0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9C0: + lda #$07 ; CPU:$D9C0 PRG:59C0 A9 07 + sta Zp03 ; CPU:$D9C2 PRG:59C2 85 03 + lda #$06 ; CPU:$D9C4 PRG:59C4 A9 06 + sta Zp0E ; CPU:$D9C6 PRG:59C6 85 0E + lda #$00 ; CPU:$D9C8 PRG:59C8 A9 00 + sta Zp0F ; CPU:$D9CA PRG:59CA 85 0F + sta Zp04 ; CPU:$D9CC PRG:59CC 85 04 + sta PlayerIndex2 ; CPU:$D9CE PRG:59CE 85 01 + sta Zp02 ; CPU:$D9D0 PRG:59D0 85 02 + sta Zp0B ; CPU:$D9D2 PRG:59D2 85 0B + sta Zp0C ; CPU:$D9D4 PRG:59D4 85 0C + sta Zp09 ; CPU:$D9D6 PRG:59D6 85 09 + sta Zp0A ; CPU:$D9D8 PRG:59D8 85 0A + lda $D07F ; CPU:$D9DA PRG:59DA AD 7F D0 + sta Zp05 ; CPU:$D9DD PRG:59DD 85 05 + lda $D080 ; CPU:$D9DF PRG:59DF AD 80 D0 + sta Zp06 ; CPU:$D9E2 PRG:59E2 85 06 + lda $D083 ; CPU:$D9E4 PRG:59E4 AD 83 D0 + sta Zp07 ; CPU:$D9E7 PRG:59E7 85 07 + lda $D084 ; CPU:$D9E9 PRG:59E9 AD 84 D0 + sta Zp08 ; CPU:$D9EC PRG:59EC 85 08 + jsr Sub_D08D ; CPU:$D9EE PRG:59EE 20 8D D0 + jsr Sub_C793 ; CPU:$D9F1 PRG:59F1 20 93 C7 + rts ; CPU:$D9F4 PRG:59F4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D9F5 +; Global: Branch target inside Sub: taken when D9F5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9F5: + lda $0249,y ; CPU:$D9F5 PRG:59F5 B9 49 02 + sec ; CPU:$D9F8 PRG:59F8 38 + sbc $021B,x ; CPU:$D9F9 PRG:59F9 FD 1B 02 + bcc NmiHandler_Loop198 ; CPU:$D9FC PRG:59FC 90 2C + cmp #$10 ; CPU:$D9FE PRG:59FE C9 10 + bcs NmiHandler_Loop198 ; CPU:$DA00 PRG:5A00 B0 28 + lda $0247,y ; CPU:$DA02 PRG:5A02 B9 47 02 + sec ; CPU:$DA05 PRG:5A05 38 + sbc $021A,x ; CPU:$DA06 PRG:5A06 FD 1A 02 + bcc NmiHandler_Loop197 ; CPU:$DA09 PRG:5A09 90 14 + sta VramWritePtrLo ; CPU:$DA0B PRG:5A0B 85 5E + txa ; CPU:$DA0D PRG:5A0D 8A + pha ; CPU:$DA0E PRG:5A0E 48 + lda $0246,y ; CPU:$DA0F PRG:5A0F B9 46 02 + tax ; CPU:$DA12 PRG:5A12 AA + lda $8115,x ; CPU:$DA13 PRG:5A13 BD 15 81 + cmp VramWritePtrLo ; CPU:$DA16 PRG:5A16 C5 5E + pla ; CPU:$DA18 PRG:5A18 68 + tax ; CPU:$DA19 PRG:5A19 AA + bcc NmiHandler_Loop198 ; CPU:$DA1A PRG:5A1A 90 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + lda #$01 ; CPU:$DA1C PRG:5A1C A9 01 + rts ; CPU:$DA1E PRG:5A1E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + lda $021A,x ; CPU:$DA1F PRG:5A1F BD 1A 02 + sec ; CPU:$DA22 PRG:5A22 38 + sbc $0247,y ; CPU:$DA23 PRG:5A23 F9 47 02 + cmp #$0B ; CPU:$DA26 PRG:5A26 C9 0B + bcc NmiHandler_OnCarryClear3 ; CPU:$DA28 PRG:5A28 90 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop198: + lda #$00 ; CPU:$DA2A PRG:5A2A A9 00 + rts ; CPU:$DA2C PRG:5A2C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA2D +; Global: Branch target inside Sub: taken when DA2D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA2D: + cmp #$09 ; CPU:$DA2D PRG:5A2D C9 09 + bne NmiHandler_Loop199 ; CPU:$DA2F PRG:5A2F D0 05 + lda #$0B ; CPU:$DA31 PRG:5A31 A9 0B + jmp Sub_DA38 ; CPU:$DA33 PRG:5A33 4C 38 DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop199: + lda #$14 ; CPU:$DA36 PRG:5A36 A9 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA38 +; Global: Branch target inside Sub: taken when DA38. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA38: + sta Zp94 ; CPU:$DA38 PRG:5A38 85 94 + jsr Sub_FA51 ; CPU:$DA3A PRG:5A3A 20 51 FA + rts ; CPU:$DA3D PRG:5A3D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA3E +; Global: Branch target inside Sub: taken when DA3E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA3E: + lda $0219,x ; CPU:$DA3E PRG:5A3E BD 19 02 + cmp #$10 ; CPU:$DA41 PRG:5A41 C9 10 + beq NmiHandler_Loop200 ; CPU:$DA43 PRG:5A43 F0 0D + cmp #$11 ; CPU:$DA45 PRG:5A45 C9 11 + beq NmiHandler_Loop200 ; CPU:$DA47 PRG:5A47 F0 09 + cmp #$0F ; CPU:$DA49 PRG:5A49 C9 0F + beq NmiHandler_Loop200 ; CPU:$DA4B PRG:5A4B F0 05 + lda #$00 ; CPU:$DA4D PRG:5A4D A9 00 + sta $0219,x ; CPU:$DA4F PRG:5A4F 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop200: + lda $0246,y ; CPU:$DA52 PRG:5A52 B9 46 02 + cmp #$31 ; CPU:$DA55 PRG:5A55 C9 31 + bne NmiHandler_Loop204 ; CPU:$DA57 PRG:5A57 D0 3C + ldy #$00 ; CPU:$DA59 PRG:5A59 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero46: + lda $0246,y ; CPU:$DA5B PRG:5A5B B9 46 02 + beq NmiHandler_Loop201 ; CPU:$DA5E PRG:5A5E F0 0D + lda $024A,y ; CPU:$DA60 PRG:5A60 B9 4A 02 + cmp #$01 ; CPU:$DA63 PRG:5A63 C9 01 + bne NmiHandler_Loop201 ; CPU:$DA65 PRG:5A65 D0 06 + jsr NmiHandler_Loop204 ; CPU:$DA67 PRG:5A67 20 95 DA + jsr Sub_DE4F ; CPU:$DA6A PRG:5A6A 20 4F DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + tya ; CPU:$DA6D PRG:5A6D 98 + clc ; CPU:$DA6E PRG:5A6E 18 + adc #$10 ; CPU:$DA6F PRG:5A6F 69 10 + tay ; CPU:$DA71 PRG:5A71 A8 + cpy #$A0 ; CPU:$DA72 PRG:5A72 C0 A0 + bne NmiHandler_OnNonzero46 ; CPU:$DA74 PRG:5A74 D0 E5 + lda PlayerIndex ; CPU:$DA76 PRG:5A76 A5 00 + bne NmiHandler_Loop203 ; CPU:$DA78 PRG:5A78 D0 1A + ldy #$00 ; CPU:$DA7A PRG:5A7A A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero47: + lda $0366,y ; CPU:$DA7C PRG:5A7C B9 66 03 + beq NmiHandler_Loop202 ; CPU:$DA7F PRG:5A7F F0 0A + lda $036A,y ; CPU:$DA81 PRG:5A81 B9 6A 03 + cmp #$01 ; CPU:$DA84 PRG:5A84 C9 01 + bne NmiHandler_Loop202 ; CPU:$DA86 PRG:5A86 D0 03 + jsr Sub_E2A6 ; CPU:$DA88 PRG:5A88 20 A6 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop202: + tya ; CPU:$DA8B PRG:5A8B 98 + clc ; CPU:$DA8C PRG:5A8C 18 + adc #$08 ; CPU:$DA8D PRG:5A8D 69 08 + tay ; CPU:$DA8F PRG:5A8F A8 + cpy #$E0 ; CPU:$DA90 PRG:5A90 C0 E0 + bne NmiHandler_OnNonzero47 ; CPU:$DA92 PRG:5A92 D0 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop203: + rts ; CPU:$DA94 PRG:5A94 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop204: + lda $0246,y ; CPU:$DA95 PRG:5A95 B9 46 02 + sec ; CPU:$DA98 PRG:5A98 38 + sbc #$19 ; CPU:$DA99 PRG:5A99 E9 19 + asl a ; CPU:$DA9B PRG:5A9B 0A + asl a ; CPU:$DA9C PRG:5A9C 0A + tax ; CPU:$DA9D PRG:5A9D AA + lda $8001,x ; CPU:$DA9E PRG:5A9E BD 01 80 + sta $0246,y ; CPU:$DAA1 PRG:5AA1 99 46 02 + jsr Sub_DA2D ; CPU:$DAA4 PRG:5AA4 20 2D DA + lda $8002,x ; CPU:$DAA7 PRG:5AA7 BD 02 80 + sta VramWritePtrLo ; CPU:$DAAA PRG:5AAA 85 5E + jsr Sub_D85E ; CPU:$DAAC PRG:5AAC 20 5E D8 + lda #$00 ; CPU:$DAAF PRG:5AAF A9 00 + sta $024B,y ; CPU:$DAB1 PRG:5AB1 99 4B 02 + sta $024C,y ; CPU:$DAB4 PRG:5AB4 99 4C 02 + sta $024D,y ; CPU:$DAB7 PRG:5AB7 99 4D 02 + rts ; CPU:$DABA PRG:5ABA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DABB +; Global: Branch target inside Sub: taken when DABB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DABB: + ldx #$00 ; CPU:$DABB PRG:5ABB A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero48: + lda $0246,x ; CPU:$DABD PRG:5ABD BD 46 02 + beq NmiHandler_Loop205 ; CPU:$DAC0 PRG:5AC0 F0 0A + txa ; CPU:$DAC2 PRG:5AC2 8A + clc ; CPU:$DAC3 PRG:5AC3 18 + adc #$10 ; CPU:$DAC4 PRG:5AC4 69 10 + tax ; CPU:$DAC6 PRG:5AC6 AA + cpx #$A0 ; CPU:$DAC7 PRG:5AC7 E0 A0 + bne NmiHandler_OnNonzero48 ; CPU:$DAC9 PRG:5AC9 D0 F2 + rts ; CPU:$DACB PRG:5ACB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop205: + lda ObjectX ; CPU:$DACC PRG:5ACC A5 60 + sta $0246,x ; CPU:$DACE PRG:5ACE 9D 46 02 + lda Zp65 ; CPU:$DAD1 PRG:5AD1 A5 65 + cmp #$F0 ; CPU:$DAD3 PRG:5AD3 C9 F0 + bcc NmiHandler_Loop206 ; CPU:$DAD5 PRG:5AD5 90 02 + lda #$EF ; CPU:$DAD7 PRG:5AD7 A9 EF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop206: + sta $0247,x ; CPU:$DAD9 PRG:5AD9 9D 47 02 + lda TimerIndex ; CPU:$DADC PRG:5ADC A5 64 + sta $0249,x ; CPU:$DADE PRG:5ADE 9D 49 02 + lda #$01 ; CPU:$DAE1 PRG:5AE1 A9 01 + sta $024A,x ; CPU:$DAE3 PRG:5AE3 9D 4A 02 + lda #$00 ; CPU:$DAE6 PRG:5AE6 A9 00 + sta $024B,x ; CPU:$DAE8 PRG:5AE8 9D 4B 02 + sta $024C,x ; CPU:$DAEB PRG:5AEB 9D 4C 02 + sta $024E,x ; CPU:$DAEE PRG:5AEE 9D 4E 02 + sta $024F,x ; CPU:$DAF1 PRG:5AF1 9D 4F 02 + lda #$02 ; CPU:$DAF4 PRG:5AF4 A9 02 + sta $024D,x ; CPU:$DAF6 PRG:5AF6 9D 4D 02 + lda PlayerY ; CPU:$DAF9 PRG:5AF9 A5 90 + cmp #$04 ; CPU:$DAFB PRG:5AFB C9 04 + bne NmiHandler_Loop208 ; CPU:$DAFD PRG:5AFD D0 12 + lda ObjectX ; CPU:$DAFF PRG:5AFF A5 60 + cmp #$09 ; CPU:$DB01 PRG:5B01 C9 09 + beq NmiHandler_Loop207 ; CPU:$DB03 PRG:5B03 F0 07 + lda $0369 ; CPU:$DB05 PRG:5B05 AD 69 03 + cmp #$85 ; CPU:$DB08 PRG:5B08 C9 85 + bne NmiHandler_Loop208 ; CPU:$DB0A PRG:5B0A D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop207: + lda #$00 ; CPU:$DB0C PRG:5B0C A9 00 + sta $024D,x ; CPU:$DB0E PRG:5B0E 9D 4D 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + rts ; CPU:$DB11 PRG:5B11 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB12 +; Global: Branch target inside Sub: taken when DB12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB12: + stx ObjectX ; CPU:$DB12 PRG:5B12 86 60 + lda $0366,y ; CPU:$DB14 PRG:5B14 B9 66 03 + ldx ObjectY ; CPU:$DB17 PRG:5B17 A6 61 + lda $8000,x ; CPU:$DB19 PRG:5B19 BD 00 80 + cmp #$01 ; CPU:$DB1C PRG:5B1C C9 01 + bne NmiHandler_Loop209 ; CPU:$DB1E PRG:5B1E D0 41 + ldx ObjectX ; CPU:$DB20 PRG:5B20 A6 60 + lda $0219,x ; CPU:$DB22 PRG:5B22 BD 19 02 + cmp #$10 ; CPU:$DB25 PRG:5B25 C9 10 + beq NmiHandler_OnZero2 ; CPU:$DB27 PRG:5B27 F0 09 + cmp #$11 ; CPU:$DB29 PRG:5B29 C9 11 + beq NmiHandler_OnZero2 ; CPU:$DB2B PRG:5B2B F0 05 + lda #$00 ; CPU:$DB2D PRG:5B2D A9 00 + sta $0219,x ; CPU:$DB2F PRG:5B2F 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero2 +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero2: + ldx ObjectY ; CPU:$DB32 PRG:5B32 A6 61 + lda $8001,x ; CPU:$DB34 PRG:5B34 BD 01 80 + sta $0366,y ; CPU:$DB37 PRG:5B37 99 66 03 + jsr Sub_DA2D ; CPU:$DB3A PRG:5B3A 20 2D DA + lda $8002,x ; CPU:$DB3D PRG:5B3D BD 02 80 + sta VramWritePtrLo ; CPU:$DB40 PRG:5B40 85 5E + jsr Sub_D85E ; CPU:$DB42 PRG:5B42 20 5E D8 + lda #$00 ; CPU:$DB45 PRG:5B45 A9 00 + sta $036B,y ; CPU:$DB47 PRG:5B47 99 6B 03 + sta $036C,y ; CPU:$DB4A PRG:5B4A 99 6C 03 + lda $0369,y ; CPU:$DB4D PRG:5B4D B9 69 03 + clc ; CPU:$DB50 PRG:5B50 18 + adc #$02 ; CPU:$DB51 PRG:5B51 69 02 + sta TimerIndex ; CPU:$DB53 PRG:5B53 85 64 + lda $0367,y ; CPU:$DB55 PRG:5B55 B9 67 03 + sta Zp65 ; CPU:$DB58 PRG:5B58 85 65 + lda #$09 ; CPU:$DB5A PRG:5B5A A9 09 + sta ObjectX ; CPU:$DB5C PRG:5B5C 85 60 + jmp Sub_DABB ; CPU:$DB5E PRG:5B5E 4C BB DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + cmp #$02 ; CPU:$DB61 PRG:5B61 C9 02 + bne NmiHandler_Loop212 ; CPU:$DB63 PRG:5B63 D0 75 + ldx ObjectX ; CPU:$DB65 PRG:5B65 A6 60 + lda $0219,x ; CPU:$DB67 PRG:5B67 BD 19 02 + cmp #$10 ; CPU:$DB6A PRG:5B6A C9 10 + beq NmiHandler_OnZero2 ; CPU:$DB6C PRG:5B6C F0 C4 + cmp #$11 ; CPU:$DB6E PRG:5B6E C9 11 + beq NmiHandler_OnZero2 ; CPU:$DB70 PRG:5B70 F0 C0 + lda #$2E ; CPU:$DB72 PRG:5B72 A9 2E + sta Zp94 ; CPU:$DB74 PRG:5B74 85 94 + jsr Sub_FA51 ; CPU:$DB76 PRG:5B76 20 51 FA + lda $0368,y ; CPU:$DB79 PRG:5B79 B9 68 03 + sec ; CPU:$DB7C PRG:5B7C 38 + sbc #$01 ; CPU:$DB7D PRG:5B7D E9 01 + sta $0368,y ; CPU:$DB7F PRG:5B7F 99 68 03 + bne NmiHandler_Loop211 ; CPU:$DB82 PRG:5B82 D0 3C + ldx Zp81 ; CPU:$DB84 PRG:5B84 A6 81 + lda $0367,y ; CPU:$DB86 PRG:5B86 B9 67 03 + sta $0367,x ; CPU:$DB89 PRG:5B89 9D 67 03 + lda $0369,y ; CPU:$DB8C PRG:5B8C B9 69 03 + sta $0369,x ; CPU:$DB8F PRG:5B8F 9D 69 03 + lda #$01 ; CPU:$DB92 PRG:5B92 A9 01 + sta $036A,x ; CPU:$DB94 PRG:5B94 9D 6A 03 + lda #$00 ; CPU:$DB97 PRG:5B97 A9 00 + sta $036B,x ; CPU:$DB99 PRG:5B99 9D 6B 03 + sta $036C,x ; CPU:$DB9C PRG:5B9C 9D 6C 03 + tya ; CPU:$DB9F PRG:5B9F 98 + pha ; CPU:$DBA0 PRG:5BA0 48 + ldy LevelIndex ; CPU:$DBA1 PRG:5BA1 A4 8B + lda $DBBA,y ; CPU:$DBA3 PRG:5BA3 B9 BA DB + sta $0366,x ; CPU:$DBA6 PRG:5BA6 9D 66 03 + pla ; CPU:$DBA9 PRG:5BA9 68 + tay ; CPU:$DBAA PRG:5BAA A8 + txa ; CPU:$DBAB PRG:5BAB 8A + clc ; CPU:$DBAC PRG:5BAC 18 + adc #$08 ; CPU:$DBAD PRG:5BAD 69 08 + cmp ZpE0 ; CPU:$DBAF PRG:5BAF C5 E0 + bne NmiHandler_Loop210 ; CPU:$DBB1 PRG:5BB1 D0 02 + lda #$00 ; CPU:$DBB3 PRG:5BB3 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + sta Zp81 ; CPU:$DBB5 PRG:5BB5 85 81 + jmp Sub_E2A6 ; CPU:$DBB7 PRG:5BB7 4C A6 E2 +; ---- data $DBBA-$DBBF (6 bytes) ---- +; referenced by `lda $DBBA,y` at $DBA3 (operand $DBBA falls inside this region) + .byte $BA, $BA, $BC, $BC, $32, $32 ; CPU:$DBBA PRG:5BBA BA BA BC BC 32 32 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + ldx ObjectX ; CPU:$DBC0 PRG:5BC0 A6 60 + lda #$00 ; CPU:$DBC2 PRG:5BC2 A9 00 + sta $0219,x ; CPU:$DBC4 PRG:5BC4 9D 19 02 + lda $021B,x ; CPU:$DBC7 PRG:5BC7 BD 1B 02 + adc #$06 ; CPU:$DBCA PRG:5BCA 69 06 + sta TimerIndex ; CPU:$DBCC PRG:5BCC 85 64 + lda $021A,x ; CPU:$DBCE PRG:5BCE BD 1A 02 + sta Zp65 ; CPU:$DBD1 PRG:5BD1 85 65 + lda #$0B ; CPU:$DBD3 PRG:5BD3 A9 0B + sta ObjectX ; CPU:$DBD5 PRG:5BD5 85 60 + jmp Sub_DABB ; CPU:$DBD7 PRG:5BD7 4C BB DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + cmp #$03 ; CPU:$DBDA PRG:5BDA C9 03 + bne NmiHandler_Loop214 ; CPU:$DBDC PRG:5BDC D0 76 + jsr NmiHandler_OnZero2 ; CPU:$DBDE PRG:5BDE 20 32 DB + lda #$37 ; CPU:$DBE1 PRG:5BE1 A9 37 + sta Zp94 ; CPU:$DBE3 PRG:5BE3 85 94 + jsr Sub_FA51 ; CPU:$DBE5 PRG:5BE5 20 51 FA + ldx ObjectX ; CPU:$DBE8 PRG:5BE8 A6 60 + lda $0219,x ; CPU:$DBEA PRG:5BEA BD 19 02 + cmp #$10 ; CPU:$DBED PRG:5BED C9 10 + beq NmiHandler_Loop213 ; CPU:$DBEF PRG:5BEF F0 09 + cmp #$11 ; CPU:$DBF1 PRG:5BF1 C9 11 + beq NmiHandler_Loop213 ; CPU:$DBF3 PRG:5BF3 F0 05 + lda #$00 ; CPU:$DBF5 PRG:5BF5 A9 00 + sta $0219,x ; CPU:$DBF7 PRG:5BF7 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + lda $0367,y ; CPU:$DBFA PRG:5BFA B9 67 03 + sta ObjectX ; CPU:$DBFD PRG:5BFD 85 60 + lda $0369,y ; CPU:$DBFF PRG:5BFF B9 69 03 + sta ObjectY ; CPU:$DC02 PRG:5C02 85 61 + ldx #$00 ; CPU:$DC04 PRG:5C04 A2 00 + ldy #$00 ; CPU:$DC06 PRG:5C06 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero49: + lda #$30 ; CPU:$DC08 PRG:5C08 A9 30 + sta $02E6,x ; CPU:$DC0A PRG:5C0A 9D E6 02 + lda ObjectX ; CPU:$DC0D PRG:5C0D A5 60 + sta $02E7,x ; CPU:$DC0F PRG:5C0F 9D E7 02 + lda ObjectY ; CPU:$DC12 PRG:5C12 A5 61 + sta $02E9,x ; CPU:$DC14 PRG:5C14 9D E9 02 + lda #$00 ; CPU:$DC17 PRG:5C17 A9 00 + sta $02EC,x ; CPU:$DC19 PRG:5C19 9D EC 02 + sta $02ED,x ; CPU:$DC1C PRG:5C1C 9D ED 02 + lda #$01 ; CPU:$DC1F PRG:5C1F A9 01 + sta $02EE,x ; CPU:$DC21 PRG:5C21 9D EE 02 + sta $02EA,x ; CPU:$DC24 PRG:5C24 9D EA 02 + sta $02F1,x ; CPU:$DC27 PRG:5C27 9D F1 02 + lda $DC5C,y ; CPU:$DC2A PRG:5C2A B9 5C DC + sta $02F4,x ; CPU:$DC2D PRG:5C2D 9D F4 02 + iny ; CPU:$DC30 PRG:5C30 C8 + lda $DC5C,y ; CPU:$DC31 PRG:5C31 B9 5C DC + sta VramReadPtrLo ; CPU:$DC34 PRG:5C34 85 62 + iny ; CPU:$DC36 PRG:5C36 C8 + tya ; CPU:$DC37 PRG:5C37 98 + pha ; CPU:$DC38 PRG:5C38 48 + lda VramReadPtrLo ; CPU:$DC39 PRG:5C39 A5 62 + asl a ; CPU:$DC3B PRG:5C3B 0A + tay ; CPU:$DC3C PRG:5C3C A8 + lda $815E,y ; CPU:$DC3D PRG:5C3D B9 5E 81 + sta $02F2,x ; CPU:$DC40 PRG:5C40 9D F2 02 + lda $815F,y ; CPU:$DC43 PRG:5C43 B9 5F 81 + sta $02F3,x ; CPU:$DC46 PRG:5C46 9D F3 02 + pla ; CPU:$DC49 PRG:5C49 68 + tay ; CPU:$DC4A PRG:5C4A A8 + txa ; CPU:$DC4B PRG:5C4B 8A + clc ; CPU:$DC4C PRG:5C4C 18 + adc #$10 ; CPU:$DC4D PRG:5C4D 69 10 + tax ; CPU:$DC4F PRG:5C4F AA + cpx #$60 ; CPU:$DC50 PRG:5C50 E0 60 + bne NmiHandler_OnNonzero49 ; CPU:$DC52 PRG:5C52 D0 B4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + cmp #$04 ; CPU:$DC54 PRG:5C54 C9 04 + bne NmiHandler_Loop215 ; CPU:$DC56 PRG:5C56 D0 03 + jmp Sub_DD2D ; CPU:$DC58 PRG:5C58 4C 2D DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + rts ; CPU:$DC5B PRG:5C5B 60 +; ---- data $DC5C-$DC67 (12 bytes) ---- +; referenced by `lda $DC5C,y` at $DC2A (operand $DC5C falls inside this region) +; referenced by `lda $DC5C,y` at $DC31 (operand $DC5C falls inside this region) + .byte $01, $09, $01, $00, $02, $09, $05, $09, $06, $00, $06, $09 ; CPU:$DC5C PRG:5C5C 01 09 01 00 02 09 05 09 06 00 06 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC68 +; Global: Branch target inside Sub: taken when DC68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC68: + stx ObjectX ; CPU:$DC68 PRG:5C68 86 60 + ldx ObjectY ; CPU:$DC6A PRG:5C6A A6 61 + lda $8000,x ; CPU:$DC6C PRG:5C6C BD 00 80 + cmp #$01 ; CPU:$DC6F PRG:5C6F C9 01 + bne NmiHandler_Loop216 ; CPU:$DC71 PRG:5C71 D0 2E + ldx ObjectX ; CPU:$DC73 PRG:5C73 A6 60 + lda $0219,x ; CPU:$DC75 PRG:5C75 BD 19 02 + cmp #$0F ; CPU:$DC78 PRG:5C78 C9 0F + beq NmiHandler_OnZero3 ; CPU:$DC7A PRG:5C7A F0 05 + lda #$00 ; CPU:$DC7C PRG:5C7C A9 00 + sta $0219,x ; CPU:$DC7E PRG:5C7E 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero3: + ldx ObjectY ; CPU:$DC81 PRG:5C81 A6 61 + lda $8001,x ; CPU:$DC83 PRG:5C83 BD 01 80 + ora #$80 ; CPU:$DC86 PRG:5C86 09 80 + sta $0446,y ; CPU:$DC88 PRG:5C88 99 46 04 + and #$7F ; CPU:$DC8B PRG:5C8B 29 7F + jsr Sub_DA2D ; CPU:$DC8D PRG:5C8D 20 2D DA + lda $8002,x ; CPU:$DC90 PRG:5C90 BD 02 80 + sta VramWritePtrLo ; CPU:$DC93 PRG:5C93 85 5E + jsr Sub_D85E ; CPU:$DC95 PRG:5C95 20 5E D8 + lda #$00 ; CPU:$DC98 PRG:5C98 A9 00 + sta $044B,y ; CPU:$DC9A PRG:5C9A 99 4B 04 + sta $044C,y ; CPU:$DC9D PRG:5C9D 99 4C 04 + rts ; CPU:$DCA0 PRG:5CA0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + cmp #$02 ; CPU:$DCA1 PRG:5CA1 C9 02 + bne NmiHandler_Loop217 ; CPU:$DCA3 PRG:5CA3 D0 28 + ldx ObjectX ; CPU:$DCA5 PRG:5CA5 A6 60 + lda $0219,x ; CPU:$DCA7 PRG:5CA7 BD 19 02 + cmp #$0F ; CPU:$DCAA PRG:5CAA C9 0F + beq NmiHandler_OnZero3 ; CPU:$DCAC PRG:5CAC F0 D3 + lda #$2E ; CPU:$DCAE PRG:5CAE A9 2E + sta Zp94 ; CPU:$DCB0 PRG:5CB0 85 94 + jsr Sub_FA51 ; CPU:$DCB2 PRG:5CB2 20 51 FA + lda #$00 ; CPU:$DCB5 PRG:5CB5 A9 00 + sta $0219,x ; CPU:$DCB7 PRG:5CB7 9D 19 02 + lda $021B,x ; CPU:$DCBA PRG:5CBA BD 1B 02 + adc #$06 ; CPU:$DCBD PRG:5CBD 69 06 + sta TimerIndex ; CPU:$DCBF PRG:5CBF 85 64 + lda $021A,x ; CPU:$DCC1 PRG:5CC1 BD 1A 02 + sta Zp65 ; CPU:$DCC4 PRG:5CC4 85 65 + lda #$0B ; CPU:$DCC6 PRG:5CC6 A9 0B + sta ObjectX ; CPU:$DCC8 PRG:5CC8 85 60 + jmp Sub_DABB ; CPU:$DCCA PRG:5CCA 4C BB DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + cmp #$03 ; CPU:$DCCD PRG:5CCD C9 03 + bne NmiHandler_Loop220 ; CPU:$DCCF PRG:5CCF D0 54 + jsr NmiHandler_OnZero3 ; CPU:$DCD1 PRG:5CD1 20 81 DC + ldx ObjectX ; CPU:$DCD4 PRG:5CD4 A6 60 + lda $0219,x ; CPU:$DCD6 PRG:5CD6 BD 19 02 + cmp #$0F ; CPU:$DCD9 PRG:5CD9 C9 0F + beq NmiHandler_Loop218 ; CPU:$DCDB PRG:5CDB F0 05 + lda #$00 ; CPU:$DCDD PRG:5CDD A9 00 + sta $0219,x ; CPU:$DCDF PRG:5CDF 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + ldx #$00 ; CPU:$DCE2 PRG:5CE2 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero50: + lda $02E6,x ; CPU:$DCE4 PRG:5CE4 BD E6 02 + beq NmiHandler_Loop219 ; CPU:$DCE7 PRG:5CE7 F0 09 + txa ; CPU:$DCE9 PRG:5CE9 8A + clc ; CPU:$DCEA PRG:5CEA 18 + adc #$10 ; CPU:$DCEB PRG:5CEB 69 10 + tax ; CPU:$DCED PRG:5CED AA + cpx #$60 ; CPU:$DCEE PRG:5CEE E0 60 + bne NmiHandler_OnNonzero50 ; CPU:$DCF0 PRG:5CF0 D0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: + lda #$C3 ; CPU:$DCF2 PRG:5CF2 A9 C3 + sta $02E6,x ; CPU:$DCF4 PRG:5CF4 9D E6 02 + lda $0447,y ; CPU:$DCF7 PRG:5CF7 B9 47 04 + sta $02E7,x ; CPU:$DCFA PRG:5CFA 9D E7 02 + lda $0449,y ; CPU:$DCFD PRG:5CFD B9 49 04 + sta $02E9,x ; CPU:$DD00 PRG:5D00 9D E9 02 + lda #$00 ; CPU:$DD03 PRG:5D03 A9 00 + sta $02ED,x ; CPU:$DD05 PRG:5D05 9D ED 02 + lda #$01 ; CPU:$DD08 PRG:5D08 A9 01 + sta $02EE,x ; CPU:$DD0A PRG:5D0A 9D EE 02 + sta $02EA,x ; CPU:$DD0D PRG:5D0D 9D EA 02 + lda #$02 ; CPU:$DD10 PRG:5D10 A9 02 + sta $02F1,x ; CPU:$DD12 PRG:5D12 9D F1 02 + lda #$06 ; CPU:$DD15 PRG:5D15 A9 06 + sta $02F4,x ; CPU:$DD17 PRG:5D17 9D F4 02 + lda #$85 ; CPU:$DD1A PRG:5D1A A9 85 + sta $02F2,x ; CPU:$DD1C PRG:5D1C 9D F2 02 + lda #$81 ; CPU:$DD1F PRG:5D1F A9 81 + sta $02F3,x ; CPU:$DD21 PRG:5D21 9D F3 02 + rts ; CPU:$DD24 PRG:5D24 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop220: + cmp #$04 ; CPU:$DD25 PRG:5D25 C9 04 + bne NmiHandler_OnNonzero51 ; CPU:$DD27 PRG:5D27 D0 03 + jmp Sub_DD2D ; CPU:$DD29 PRG:5D29 4C 2D DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero51: + rts ; CPU:$DD2C PRG:5D2C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DD2D +; Global: Branch target inside Sub: taken when DD2D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD2D: + ldx ObjectX ; CPU:$DD2D PRG:5D2D A6 60 + lda $0219,x ; CPU:$DD2F PRG:5D2F BD 19 02 + cmp #$0F ; CPU:$DD32 PRG:5D32 C9 0F + bcc NmiHandler_Loop221 ; CPU:$DD34 PRG:5D34 90 04 + cmp #$12 ; CPU:$DD36 PRG:5D36 C9 12 + bcc NmiHandler_Loop222 ; CPU:$DD38 PRG:5D38 90 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop221: + lda #$00 ; CPU:$DD3A PRG:5D3A A9 00 + sta $0219,x ; CPU:$DD3C PRG:5D3C 9D 19 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop222: + lda $021B,x ; CPU:$DD3F PRG:5D3F BD 1B 02 + sta TimerIndex ; CPU:$DD42 PRG:5D42 85 64 + lda $021A,x ; CPU:$DD44 PRG:5D44 BD 1A 02 + sta Zp65 ; CPU:$DD47 PRG:5D47 85 65 + lda #$0A ; CPU:$DD49 PRG:5D49 A9 0A + sta ObjectX ; CPU:$DD4B PRG:5D4B 85 60 + jsr Sub_DABB ; CPU:$DD4D PRG:5D4D 20 BB DA + lda #$14 ; CPU:$DD50 PRG:5D50 A9 14 + sta Zp94 ; CPU:$DD52 PRG:5D52 85 94 + jsr Sub_FA51 ; CPU:$DD54 PRG:5D54 20 51 FA + lda #$01 ; CPU:$DD57 PRG:5D57 A9 01 + sta VramWritePtrLo ; CPU:$DD59 PRG:5D59 85 5E + jsr Sub_D85E ; CPU:$DD5B PRG:5D5B 20 5E D8 + dec $06B4 ; CPU:$DD5E PRG:5D5E CE B4 06 + bne NmiHandler_OnNonzero51 ; CPU:$DD61 PRG:5D61 D0 C9 + lda $0369 ; CPU:$DD63 PRG:5D63 AD 69 03 + adc #$24 ; CPU:$DD66 PRG:5D66 69 24 + sta TimerIndex ; CPU:$DD68 PRG:5D68 85 64 + lda $0367 ; CPU:$DD6A PRG:5D6A AD 67 03 + adc #$10 ; CPU:$DD6D PRG:5D6D 69 10 + sta Zp65 ; CPU:$DD6F PRG:5D6F 85 65 + lda #$08 ; CPU:$DD71 PRG:5D71 A9 08 + sta ObjectX ; CPU:$DD73 PRG:5D73 85 60 + jsr Sub_DABB ; CPU:$DD75 PRG:5D75 20 BB DA + lda TimerIndex ; CPU:$DD78 PRG:5D78 A5 64 + adc #$20 ; CPU:$DD7A PRG:5D7A 69 20 + sta TimerIndex ; CPU:$DD7C PRG:5D7C 85 64 + jsr Sub_DABB ; CPU:$DD7E PRG:5D7E 20 BB DA + lda TimerIndex ; CPU:$DD81 PRG:5D81 A5 64 + sbc #$10 ; CPU:$DD83 PRG:5D83 E9 10 + sta TimerIndex ; CPU:$DD85 PRG:5D85 85 64 + lda Zp65 ; CPU:$DD87 PRG:5D87 A5 65 + sbc #$20 ; CPU:$DD89 PRG:5D89 E9 20 + sta Zp65 ; CPU:$DD8B PRG:5D8B 85 65 + jsr Sub_DABB ; CPU:$DD8D PRG:5D8D 20 BB DA + lda #$0B ; CPU:$DD90 PRG:5D90 A9 0B + sta Zp94 ; CPU:$DD92 PRG:5D92 85 94 + jsr Sub_FA51 ; CPU:$DD94 PRG:5D94 20 51 FA + lda #$50 ; CPU:$DD97 PRG:5D97 A9 50 + sta VramWritePtrLo ; CPU:$DD99 PRG:5D99 85 5E + jsr Sub_D85E ; CPU:$DD9B PRG:5D9B 20 5E D8 + lda Zp0D ; CPU:$DD9E PRG:5D9E A5 0D + jsr Sub_D396 ; CPU:$DDA0 PRG:5DA0 20 96 D3 + lda #$00 ; CPU:$DDA3 PRG:5DA3 A9 00 + sta $06B2 ; CPU:$DDA5 PRG:5DA5 8D B2 06 + sta $0366 ; CPU:$DDA8 PRG:5DA8 8D 66 03 + sta $0446 ; CPU:$DDAB PRG:5DAB 8D 46 04 + sta Zp9D ; CPU:$DDAE PRG:5DAE 85 9D + lda #$80 ; CPU:$DDB0 PRG:5DB0 A9 80 + sta $06B1 ; CPU:$DDB2 PRG:5DB2 8D B1 06 + lda #$FF ; CPU:$DDB5 PRG:5DB5 A9 FF + sta $06B4 ; CPU:$DDB7 PRG:5DB7 8D B4 06 + rts ; CPU:$DDBA PRG:5DBA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DDBB +; Global: Branch target inside Sub: taken when DDBB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DDBB: + lda $06AC ; CPU:$DDBB PRG:5DBB AD AC 06 + beq NmiHandler_Loop223 ; CPU:$DDBE PRG:5DBE F0 03 + dec $06AC ; CPU:$DDC0 PRG:5DC0 CE AC 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop223: + ldx #$00 ; CPU:$DDC3 PRG:5DC3 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero52: + ldy #$00 ; CPU:$DDC5 PRG:5DC5 A0 00 + lda $0219,x ; CPU:$DDC7 PRG:5DC7 BD 19 02 + beq NmiHandler_Loop226 ; CPU:$DDCA PRG:5DCA F0 37 + cmp #$13 ; CPU:$DDCC PRG:5DCC C9 13 + beq NmiHandler_Loop226 ; CPU:$DDCE PRG:5DCE F0 33 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: + lda $0246,y ; CPU:$DDD0 PRG:5DD0 B9 46 02 + beq NmiHandler_Loop225 ; CPU:$DDD3 PRG:5DD3 F0 25 + cmp #$19 ; CPU:$DDD5 PRG:5DD5 C9 19 + bcc NmiHandler_Loop225 ; CPU:$DDD7 PRG:5DD7 90 21 + lda $024A,y ; CPU:$DDD9 PRG:5DD9 B9 4A 02 + cmp #$01 ; CPU:$DDDC PRG:5DDC C9 01 + bne NmiHandler_Loop225 ; CPU:$DDDE PRG:5DDE D0 1A + jsr Sub_D9F5 ; CPU:$DDE0 PRG:5DE0 20 F5 D9 + beq NmiHandler_Loop225 ; CPU:$DDE3 PRG:5DE3 F0 15 + lda $0246,y ; CPU:$DDE5 PRG:5DE5 B9 46 02 + cmp #$31 ; CPU:$DDE8 PRG:5DE8 C9 31 + bne NmiHandler_Loop224 ; CPU:$DDEA PRG:5DEA D0 0B + lda $0219,x ; CPU:$DDEC PRG:5DEC BD 19 02 + cmp #$10 ; CPU:$DDEF PRG:5DEF C9 10 + beq NmiHandler_Loop225 ; CPU:$DDF1 PRG:5DF1 F0 07 + cmp #$11 ; CPU:$DDF3 PRG:5DF3 C9 11 + beq NmiHandler_Loop225 ; CPU:$DDF5 PRG:5DF5 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop224: + jmp Sub_DA3E ; CPU:$DDF7 PRG:5DF7 4C 3E DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop225: + tya ; CPU:$DDFA PRG:5DFA 98 + clc ; CPU:$DDFB PRG:5DFB 18 + adc #$10 ; CPU:$DDFC PRG:5DFC 69 10 + tay ; CPU:$DDFE PRG:5DFE A8 + cpy #$A0 ; CPU:$DDFF PRG:5DFF C0 A0 + bne NmiHandler_OnNonzero53 ; CPU:$DE01 PRG:5E01 D0 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop226: + inx ; CPU:$DE03 PRG:5E03 E8 + inx ; CPU:$DE04 PRG:5E04 E8 + inx ; CPU:$DE05 PRG:5E05 E8 + inx ; CPU:$DE06 PRG:5E06 E8 + inx ; CPU:$DE07 PRG:5E07 E8 + cpx #$2D ; CPU:$DE08 PRG:5E08 E0 2D + bne NmiHandler_OnNonzero52 ; CPU:$DE0A PRG:5E0A D0 B9 + lda PlayerIndex ; CPU:$DE0C PRG:5E0C A5 00 + bne NmiHandler_Loop227 ; CPU:$DE0E PRG:5E0E D0 04 + lda Zp0B ; CPU:$DE10 PRG:5E10 A5 0B + beq NmiHandler_Loop230 ; CPU:$DE12 PRG:5E12 F0 5A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop227: + ldx #$00 ; CPU:$DE14 PRG:5E14 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + ldy #$00 ; CPU:$DE16 PRG:5E16 A0 00 + lda $02E6,x ; CPU:$DE18 PRG:5E18 BD E6 02 + cmp #$C3 ; CPU:$DE1B PRG:5E1B C9 C3 + beq NmiHandler_OnNonzero55 ; CPU:$DE1D PRG:5E1D F0 04 + cmp #$30 ; CPU:$DE1F PRG:5E1F C9 30 + bne NmiHandler_Loop229 ; CPU:$DE21 PRG:5E21 D0 42 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero55: + lda $0246,y ; CPU:$DE23 PRG:5E23 B9 46 02 + beq NmiHandler_Loop228 ; CPU:$DE26 PRG:5E26 F0 34 + cmp #$19 ; CPU:$DE28 PRG:5E28 C9 19 + bcc NmiHandler_Loop228 ; CPU:$DE2A PRG:5E2A 90 30 + lda $024A,y ; CPU:$DE2C PRG:5E2C B9 4A 02 + cmp #$01 ; CPU:$DE2F PRG:5E2F C9 01 + bne NmiHandler_Loop228 ; CPU:$DE31 PRG:5E31 D0 29 + jsr Sub_E46D ; CPU:$DE33 PRG:5E33 20 6D E4 + beq NmiHandler_Loop228 ; CPU:$DE36 PRG:5E36 F0 24 + lda #$09 ; CPU:$DE38 PRG:5E38 A9 09 + sta $0246,y ; CPU:$DE3A PRG:5E3A 99 46 02 + lda #$14 ; CPU:$DE3D PRG:5E3D A9 14 + sta Zp94 ; CPU:$DE3F PRG:5E3F 85 94 + jsr Sub_FA51 ; CPU:$DE41 PRG:5E41 20 51 FA + lda #$00 ; CPU:$DE44 PRG:5E44 A9 00 + sta $024B,y ; CPU:$DE46 PRG:5E46 99 4B 02 + sta $024C,y ; CPU:$DE49 PRG:5E49 99 4C 02 + sta $024D,y ; CPU:$DE4C PRG:5E4C 99 4D 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE4F +; Global: Branch target inside Sub: taken when DE4F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE4F: + lda #$10 ; CPU:$DE4F PRG:5E4F A9 10 + sta VramWritePtrLo ; CPU:$DE51 PRG:5E51 85 5E + jsr Sub_D85E ; CPU:$DE53 PRG:5E53 20 5E D8 + lda #$00 ; CPU:$DE56 PRG:5E56 A9 00 + sta $0253,y ; CPU:$DE58 PRG:5E58 99 53 02 + rts ; CPU:$DE5B PRG:5E5B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop228: + tya ; CPU:$DE5C PRG:5E5C 98 + clc ; CPU:$DE5D PRG:5E5D 18 + adc #$10 ; CPU:$DE5E PRG:5E5E 69 10 + tay ; CPU:$DE60 PRG:5E60 A8 + cpy #$A0 ; CPU:$DE61 PRG:5E61 C0 A0 + bne NmiHandler_OnNonzero55 ; CPU:$DE63 PRG:5E63 D0 BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + txa ; CPU:$DE65 PRG:5E65 8A + clc ; CPU:$DE66 PRG:5E66 18 + adc #$10 ; CPU:$DE67 PRG:5E67 69 10 + tax ; CPU:$DE69 PRG:5E69 AA + cpx #$60 ; CPU:$DE6A PRG:5E6A E0 60 + bne NmiHandler_OnNonzero54 ; CPU:$DE6C PRG:5E6C D0 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + lda Zp79 ; CPU:$DE6E PRG:5E6E A5 79 + and #$01 ; CPU:$DE70 PRG:5E70 29 01 + beq NmiHandler_Loop231 ; CPU:$DE72 PRG:5E72 F0 03 + jmp Sub_DFC9 ; CPU:$DE74 PRG:5E74 4C C9 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + lda PlayerIndex ; CPU:$DE77 PRG:5E77 A5 00 + beq NmiHandler_Loop232 ; CPU:$DE79 PRG:5E79 F0 03 + jmp Sub_DF2E ; CPU:$DE7B PRG:5E7B 4C 2E DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop232: + ldx #$00 ; CPU:$DE7E PRG:5E7E A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE80 +; Global: Branch target inside Sub: taken when DE80. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE80: + ldy #$00 ; CPU:$DE80 PRG:5E80 A0 00 + lda $0219,x ; CPU:$DE82 PRG:5E82 BD 19 02 + beq NmiHandler_Loop233 ; CPU:$DE85 PRG:5E85 F0 04 + cmp #$13 ; CPU:$DE87 PRG:5E87 C9 13 + bne NmiHandler_Loop234 ; CPU:$DE89 PRG:5E89 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop233: + jmp NmiHandler_Loop241 ; CPU:$DE8B PRG:5E8B 4C 21 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop234: + lda $036A,y ; CPU:$DE8E PRG:5E8E B9 6A 03 + cmp #$01 ; CPU:$DE91 PRG:5E91 C9 01 + bne NmiHandler_Loop235 ; CPU:$DE93 PRG:5E93 D0 26 + lda $0366,y ; CPU:$DE95 PRG:5E95 B9 66 03 + beq NmiHandler_Loop235 ; CPU:$DE98 PRG:5E98 F0 21 + stx VramWritePtrLo ; CPU:$DE9A PRG:5E9A 86 5E + and #$7F ; CPU:$DE9C PRG:5E9C 29 7F + sec ; CPU:$DE9E PRG:5E9E 38 + sbc #$19 ; CPU:$DE9F PRG:5E9F E9 19 + asl a ; CPU:$DEA1 PRG:5EA1 0A + asl a ; CPU:$DEA2 PRG:5EA2 0A + tax ; CPU:$DEA3 PRG:5EA3 AA + stx ObjectY ; CPU:$DEA4 PRG:5EA4 86 61 + lda $8000,x ; CPU:$DEA6 PRG:5EA6 BD 00 80 + pha ; CPU:$DEA9 PRG:5EA9 48 + ldx VramWritePtrLo ; CPU:$DEAA PRG:5EAA A6 5E + pla ; CPU:$DEAC PRG:5EAC 68 + beq NmiHandler_Loop235 ; CPU:$DEAD PRG:5EAD F0 0C + lda $0366,y ; CPU:$DEAF PRG:5EAF B9 66 03 + cmp #$36 ; CPU:$DEB2 PRG:5EB2 C9 36 + bne NmiHandler_Loop236 ; CPU:$DEB4 PRG:5EB4 D0 08 + lda $036C,y ; CPU:$DEB6 PRG:5EB6 B9 6C 03 + bne NmiHandler_Loop237 ; CPU:$DEB9 PRG:5EB9 D0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop235: + jmp NmiHandler_Loop240 ; CPU:$DEBB PRG:5EBB 4C 15 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + cmp #$37 ; CPU:$DEBE PRG:5EBE C9 37 + bne NmiHandler_Loop237 ; CPU:$DEC0 PRG:5EC0 D0 09 + lda $036C,y ; CPU:$DEC2 PRG:5EC2 B9 6C 03 + and #$0C ; CPU:$DEC5 PRG:5EC5 29 0C + cmp #$0C ; CPU:$DEC7 PRG:5EC7 C9 0C + beq NmiHandler_Loop235 ; CPU:$DEC9 PRG:5EC9 F0 F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + lda $0369,y ; CPU:$DECB PRG:5ECB B9 69 03 + sta ObjectX ; CPU:$DECE PRG:5ECE 85 60 + lda $0366 ; CPU:$DED0 PRG:5ED0 AD 66 03 + cmp #$1F ; CPU:$DED3 PRG:5ED3 C9 1F + bne NmiHandler_Loop238 ; CPU:$DED5 PRG:5ED5 D0 08 + lda ObjectX ; CPU:$DED7 PRG:5ED7 A5 60 + adc #$20 ; CPU:$DED9 PRG:5ED9 69 20 + bcs NmiHandler_Loop235 ; CPU:$DEDB PRG:5EDB B0 DE + sta ObjectX ; CPU:$DEDD PRG:5EDD 85 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + lda ObjectX ; CPU:$DEDF PRG:5EDF A5 60 + sec ; CPU:$DEE1 PRG:5EE1 38 + sbc $021B,x ; CPU:$DEE2 PRG:5EE2 FD 1B 02 + bcc NmiHandler_Loop240 ; CPU:$DEE5 PRG:5EE5 90 2E + cmp #$10 ; CPU:$DEE7 PRG:5EE7 C9 10 + bcs NmiHandler_Loop240 ; CPU:$DEE9 PRG:5EE9 B0 2A + lda $0367,y ; CPU:$DEEB PRG:5EEB B9 67 03 + sec ; CPU:$DEEE PRG:5EEE 38 + sbc $021A,x ; CPU:$DEEF PRG:5EEF FD 1A 02 + bcc NmiHandler_Loop239 ; CPU:$DEF2 PRG:5EF2 90 16 + sta VramWritePtrLo ; CPU:$DEF4 PRG:5EF4 85 5E + txa ; CPU:$DEF6 PRG:5EF6 8A + pha ; CPU:$DEF7 PRG:5EF7 48 + lda $0366,y ; CPU:$DEF8 PRG:5EF8 B9 66 03 + and #$7F ; CPU:$DEFB PRG:5EFB 29 7F + tax ; CPU:$DEFD PRG:5EFD AA + lda $8115,x ; CPU:$DEFE PRG:5EFE BD 15 81 + cmp VramWritePtrLo ; CPU:$DF01 PRG:5F01 C5 5E + pla ; CPU:$DF03 PRG:5F03 68 + tax ; CPU:$DF04 PRG:5F04 AA + bcc NmiHandler_Loop240 ; CPU:$DF05 PRG:5F05 90 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + jmp Sub_DB12 ; CPU:$DF07 PRG:5F07 4C 12 DB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + lda $021A,x ; CPU:$DF0A PRG:5F0A BD 1A 02 + sec ; CPU:$DF0D PRG:5F0D 38 + sbc $0367,y ; CPU:$DF0E PRG:5F0E F9 67 03 + cmp #$0B ; CPU:$DF11 PRG:5F11 C9 0B + bcc NmiHandler_OnCarryClear4 ; CPU:$DF13 PRG:5F13 90 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: + tya ; CPU:$DF15 PRG:5F15 98 + clc ; CPU:$DF16 PRG:5F16 18 + adc #$08 ; CPU:$DF17 PRG:5F17 69 08 + tay ; CPU:$DF19 PRG:5F19 A8 + cpy #$E0 ; CPU:$DF1A PRG:5F1A C0 E0 + beq NmiHandler_Loop241 ; CPU:$DF1C PRG:5F1C F0 03 + jmp NmiHandler_Loop234 ; CPU:$DF1E PRG:5F1E 4C 8E DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + inx ; CPU:$DF21 PRG:5F21 E8 + inx ; CPU:$DF22 PRG:5F22 E8 + inx ; CPU:$DF23 PRG:5F23 E8 + inx ; CPU:$DF24 PRG:5F24 E8 + inx ; CPU:$DF25 PRG:5F25 E8 + cpx #$2D ; CPU:$DF26 PRG:5F26 E0 2D + beq NmiHandler_Loop242 ; CPU:$DF28 PRG:5F28 F0 03 + jmp Sub_DE80 ; CPU:$DF2A PRG:5F2A 4C 80 DE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + rts ; CPU:$DF2D PRG:5F2D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DF2E +; Global: Branch target inside Sub: taken when DF2E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF2E: + ldx #$00 ; CPU:$DF2E PRG:5F2E A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DF30 +; Global: Branch target inside Sub: taken when DF30. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF30: + ldy #$00 ; CPU:$DF30 PRG:5F30 A0 00 + lda $0219,x ; CPU:$DF32 PRG:5F32 BD 19 02 + bne NmiHandler_Loop243 ; CPU:$DF35 PRG:5F35 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + jmp NmiHandler_Loop249 ; CPU:$DF37 PRG:5F37 4C BC DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + lda $044A,y ; CPU:$DF3A PRG:5F3A B9 4A 04 + cmp #$01 ; CPU:$DF3D PRG:5F3D C9 01 + bne NmiHandler_Loop244 ; CPU:$DF3F PRG:5F3F D0 1A + lda $0446,y ; CPU:$DF41 PRG:5F41 B9 46 04 + beq NmiHandler_Loop244 ; CPU:$DF44 PRG:5F44 F0 15 + stx VramWritePtrLo ; CPU:$DF46 PRG:5F46 86 5E + and #$7F ; CPU:$DF48 PRG:5F48 29 7F + sec ; CPU:$DF4A PRG:5F4A 38 + sbc #$19 ; CPU:$DF4B PRG:5F4B E9 19 + asl a ; CPU:$DF4D PRG:5F4D 0A + asl a ; CPU:$DF4E PRG:5F4E 0A + tax ; CPU:$DF4F PRG:5F4F AA + stx ObjectY ; CPU:$DF50 PRG:5F50 86 61 + lda $8000,x ; CPU:$DF52 PRG:5F52 BD 00 80 + pha ; CPU:$DF55 PRG:5F55 48 + ldx VramWritePtrLo ; CPU:$DF56 PRG:5F56 A6 5E + pla ; CPU:$DF58 PRG:5F58 68 + bne NmiHandler_Loop245 ; CPU:$DF59 PRG:5F59 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop244: + jmp NmiHandler_Loop248 ; CPU:$DF5B PRG:5F5B 4C B0 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + lda $0449,y ; CPU:$DF5E PRG:5F5E B9 49 04 + sta ObjectX ; CPU:$DF61 PRG:5F61 85 60 + lda $0446 ; CPU:$DF63 PRG:5F63 AD 46 04 + cmp #$2D ; CPU:$DF66 PRG:5F66 C9 2D + bne NmiHandler_Loop246 ; CPU:$DF68 PRG:5F68 D0 08 + lda ObjectX ; CPU:$DF6A PRG:5F6A A5 60 + adc #$20 ; CPU:$DF6C PRG:5F6C 69 20 + bcs NmiHandler_OnCarrySet ; CPU:$DF6E PRG:5F6E B0 C7 + sta ObjectX ; CPU:$DF70 PRG:5F70 85 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + lda ObjectX ; CPU:$DF72 PRG:5F72 A5 60 + sec ; CPU:$DF74 PRG:5F74 38 + sbc $021B,x ; CPU:$DF75 PRG:5F75 FD 1B 02 + bcc NmiHandler_Loop248 ; CPU:$DF78 PRG:5F78 90 36 + cmp #$10 ; CPU:$DF7A PRG:5F7A C9 10 + bcs NmiHandler_Loop248 ; CPU:$DF7C PRG:5F7C B0 32 + lda $0447,y ; CPU:$DF7E PRG:5F7E B9 47 04 + sec ; CPU:$DF81 PRG:5F81 38 + sbc $021A,x ; CPU:$DF82 PRG:5F82 FD 1A 02 + bcc NmiHandler_Loop247 ; CPU:$DF85 PRG:5F85 90 1E + sta VramWritePtrLo ; CPU:$DF87 PRG:5F87 85 5E + txa ; CPU:$DF89 PRG:5F89 8A + pha ; CPU:$DF8A PRG:5F8A 48 + lda $0446,y ; CPU:$DF8B PRG:5F8B B9 46 04 + and #$7F ; CPU:$DF8E PRG:5F8E 29 7F + tax ; CPU:$DF90 PRG:5F90 AA + lda $8115,x ; CPU:$DF91 PRG:5F91 BD 15 81 + cmp VramWritePtrLo ; CPU:$DF94 PRG:5F94 C5 5E + pla ; CPU:$DF96 PRG:5F96 68 + tax ; CPU:$DF97 PRG:5F97 AA + bcc NmiHandler_Loop248 ; CPU:$DF98 PRG:5F98 90 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear5: + jmp Sub_DC68 ; CPU:$DF9A PRG:5F9A 4C 68 DC +; ---- data $DF9D-$DFA4 (8 bytes) ---- +; referenced by `lda $DF9D,x` at $E356 (operand $DF9D falls inside this region) + .byte $00, $0C, $2C, $4C, $2C, $0C, $00, $00 ; CPU:$DF9D PRG:5F9D 00 0C 2C 4C 2C 0C 00 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + lda $021A,x ; CPU:$DFA5 PRG:5FA5 BD 1A 02 + sec ; CPU:$DFA8 PRG:5FA8 38 + sbc $0447,y ; CPU:$DFA9 PRG:5FA9 F9 47 04 + cmp #$0B ; CPU:$DFAC PRG:5FAC C9 0B + bcc NmiHandler_OnCarryClear5 ; CPU:$DFAE PRG:5FAE 90 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + tya ; CPU:$DFB0 PRG:5FB0 98 + clc ; CPU:$DFB1 PRG:5FB1 18 + adc #$08 ; CPU:$DFB2 PRG:5FB2 69 08 + tay ; CPU:$DFB4 PRG:5FB4 A8 + cpy #$C0 ; CPU:$DFB5 PRG:5FB5 C0 C0 + beq NmiHandler_Loop249 ; CPU:$DFB7 PRG:5FB7 F0 03 + jmp NmiHandler_Loop243 ; CPU:$DFB9 PRG:5FB9 4C 3A DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + inx ; CPU:$DFBC PRG:5FBC E8 + inx ; CPU:$DFBD PRG:5FBD E8 + inx ; CPU:$DFBE PRG:5FBE E8 + inx ; CPU:$DFBF PRG:5FBF E8 + inx ; CPU:$DFC0 PRG:5FC0 E8 + cpx #$2D ; CPU:$DFC1 PRG:5FC1 E0 2D + beq NmiHandler_Loop250 ; CPU:$DFC3 PRG:5FC3 F0 03 + jmp Sub_DF30 ; CPU:$DFC5 PRG:5FC5 4C 30 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop250: + rts ; CPU:$DFC8 PRG:5FC8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFC9 +; Global: Branch target inside Sub: taken when DFC9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFC9: + ldy #$06 ; CPU:$DFC9 PRG:5FC9 A0 06 + lda PlayerIndex ; CPU:$DFCB PRG:5FCB A5 00 + beq NmiHandler_Loop251 ; CPU:$DFCD PRG:5FCD F0 02 + ldy LevelIndex ; CPU:$DFCF PRG:5FCF A4 8B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + sty ObjectX ; CPU:$DFD1 PRG:5FD1 84 60 + ldy #$00 ; CPU:$DFD3 PRG:5FD3 A0 00 + sty $06AE ; CPU:$DFD5 PRG:5FD5 8C AE 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFD8 +; Global: Branch target inside Sub: taken when DFD8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFD8: + lda $0246,y ; CPU:$DFD8 PRG:5FD8 B9 46 02 + beq NmiHandler_Loop255 ; CPU:$DFDB PRG:5FDB F0 73 + cmp #$0D ; CPU:$DFDD PRG:5FDD C9 0D + beq NmiHandler_Loop255 ; CPU:$DFDF PRG:5FDF F0 6F + cmp #$09 ; CPU:$DFE1 PRG:5FE1 C9 09 + beq NmiHandler_Loop255 ; CPU:$DFE3 PRG:5FE3 F0 6B + cmp #$0A ; CPU:$DFE5 PRG:5FE5 C9 0A + beq NmiHandler_Loop255 ; CPU:$DFE7 PRG:5FE7 F0 67 + cmp #$31 ; CPU:$DFE9 PRG:5FE9 C9 31 + beq NmiHandler_Loop255 ; CPU:$DFEB PRG:5FEB F0 63 + lda $024A,y ; CPU:$DFED PRG:5FED B9 4A 02 + cmp #$01 ; CPU:$DFF0 PRG:5FF0 C9 01 + bne NmiHandler_Loop255 ; CPU:$DFF2 PRG:5FF2 D0 5C + lda $0249,y ; CPU:$DFF4 PRG:5FF4 B9 49 02 + sec ; CPU:$DFF7 PRG:5FF7 38 + sbc Zp89 ; CPU:$DFF8 PRG:5FF8 E5 89 + bcc NmiHandler_Loop252 ; CPU:$DFFA PRG:5FFA 90 07 + cmp #$10 ; CPU:$DFFC PRG:5FFC C9 10 + bcs NmiHandler_Loop255 ; CPU:$DFFE PRG:5FFE B0 50 + jmp Sub_E016 ; CPU:$E000 PRG:6000 4C 16 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop252: + lda Zp89 ; CPU:$E003 PRG:6003 A5 89 + sec ; CPU:$E005 PRG:6005 38 + sbc $0249,y ; CPU:$E006 PRG:6006 F9 49 02 + sta VramWritePtrLo ; CPU:$E009 PRG:6009 85 5E + lda $0246,y ; CPU:$E00B PRG:600B B9 46 02 + tax ; CPU:$E00E PRG:600E AA + lda $80CC,x ; CPU:$E00F PRG:600F BD CC 80 + cmp VramWritePtrLo ; CPU:$E012 PRG:6012 C5 5E + bcc NmiHandler_Loop255 ; CPU:$E014 PRG:6014 90 3A +; ----------------------------------------------------------------------------- +; Routine: Sub_E016 +; Global: Branch target inside Sub: taken when E016. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E016: + lda $0247,y ; CPU:$E016 PRG:6016 B9 47 02 + sec ; CPU:$E019 PRG:6019 38 + sbc GameState ; CPU:$E01A PRG:601A E5 8A + bcc NmiHandler_Loop253 ; CPU:$E01C PRG:601C 90 10 + sta VramWritePtrLo ; CPU:$E01E PRG:601E 85 5E + lda $0246,y ; CPU:$E020 PRG:6020 B9 46 02 + tax ; CPU:$E023 PRG:6023 AA + lda $8115,x ; CPU:$E024 PRG:6024 BD 15 81 + cmp VramWritePtrLo ; CPU:$E027 PRG:6027 C5 5E + bcc NmiHandler_Loop255 ; CPU:$E029 PRG:6029 90 25 + jmp Sub_E042 ; CPU:$E02B PRG:602B 4C 42 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + lda GameState ; CPU:$E02E PRG:602E A5 8A + sec ; CPU:$E030 PRG:6030 38 + sbc $0247,y ; CPU:$E031 PRG:6031 F9 47 02 + sta VramWritePtrLo ; CPU:$E034 PRG:6034 85 5E + ldx ObjectX ; CPU:$E036 PRG:6036 A6 60 + lda $8115,x ; CPU:$E038 PRG:6038 BD 15 81 + cmp VramWritePtrLo ; CPU:$E03B PRG:603B C5 5E + bcc NmiHandler_Loop255 ; CPU:$E03D PRG:603D 90 11 + jsr Sub_E463 ; CPU:$E03F PRG:603F 20 63 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_E042 +; Global: Branch target inside Sub: taken when E042. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E042: + lda $06AC ; CPU:$E042 PRG:6042 AD AC 06 + beq NmiHandler_Loop254 ; CPU:$E045 PRG:6045 F0 01 + rts ; CPU:$E047 PRG:6047 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + lda #$00 ; CPU:$E048 PRG:6048 A9 00 + sta $0246,y ; CPU:$E04A PRG:604A 99 46 02 + jmp Sub_E85C ; CPU:$E04D PRG:604D 4C 5C E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + tya ; CPU:$E050 PRG:6050 98 + clc ; CPU:$E051 PRG:6051 18 + adc #$10 ; CPU:$E052 PRG:6052 69 10 + tay ; CPU:$E054 PRG:6054 A8 + cpy #$A0 ; CPU:$E055 PRG:6055 C0 A0 + beq NmiHandler_Loop256 ; CPU:$E057 PRG:6057 F0 03 + jmp Sub_DFD8 ; CPU:$E059 PRG:6059 4C D8 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + ldy #$00 ; CPU:$E05C PRG:605C A0 00 + sty $06AE ; CPU:$E05E PRG:605E 8C AE 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_E061 +; Global: Branch target inside Sub: taken when E061. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E061: + lda $02E6,y ; CPU:$E061 PRG:6061 B9 E6 02 + beq NmiHandler_Loop260 ; CPU:$E064 PRG:6064 F0 63 + lda $02EA,y ; CPU:$E066 PRG:6066 B9 EA 02 + cmp #$01 ; CPU:$E069 PRG:6069 C9 01 + bne NmiHandler_Loop260 ; CPU:$E06B PRG:606B D0 5C + lda $02E9,y ; CPU:$E06D PRG:606D B9 E9 02 + sec ; CPU:$E070 PRG:6070 38 + sbc Zp89 ; CPU:$E071 PRG:6071 E5 89 + bcc NmiHandler_Loop257 ; CPU:$E073 PRG:6073 90 07 + cmp #$10 ; CPU:$E075 PRG:6075 C9 10 + bcs NmiHandler_Loop260 ; CPU:$E077 PRG:6077 B0 50 + jmp Sub_E08F ; CPU:$E079 PRG:6079 4C 8F E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + lda Zp89 ; CPU:$E07C PRG:607C A5 89 + sec ; CPU:$E07E PRG:607E 38 + sbc $02E9,y ; CPU:$E07F PRG:607F F9 E9 02 + sta VramWritePtrLo ; CPU:$E082 PRG:6082 85 5E + lda $02E6,y ; CPU:$E084 PRG:6084 B9 E6 02 + tax ; CPU:$E087 PRG:6087 AA + lda $80CC,x ; CPU:$E088 PRG:6088 BD CC 80 + cmp VramWritePtrLo ; CPU:$E08B PRG:608B C5 5E + bcc NmiHandler_Loop260 ; CPU:$E08D PRG:608D 90 3A +; ----------------------------------------------------------------------------- +; Routine: Sub_E08F +; Global: Branch target inside Sub: taken when E08F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E08F: + lda $02E7,y ; CPU:$E08F PRG:608F B9 E7 02 + sec ; CPU:$E092 PRG:6092 38 + sbc GameState ; CPU:$E093 PRG:6093 E5 8A + bcc NmiHandler_Loop258 ; CPU:$E095 PRG:6095 90 10 + sta VramWritePtrLo ; CPU:$E097 PRG:6097 85 5E + lda $02E6,y ; CPU:$E099 PRG:6099 B9 E6 02 + tax ; CPU:$E09C PRG:609C AA + lda $8115,x ; CPU:$E09D PRG:609D BD 15 81 + cmp VramWritePtrLo ; CPU:$E0A0 PRG:60A0 C5 5E + bcc NmiHandler_Loop260 ; CPU:$E0A2 PRG:60A2 90 25 + jmp Sub_E0BB ; CPU:$E0A4 PRG:60A4 4C BB E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + lda GameState ; CPU:$E0A7 PRG:60A7 A5 8A + sec ; CPU:$E0A9 PRG:60A9 38 + sbc $02E7,y ; CPU:$E0AA PRG:60AA F9 E7 02 + sta VramWritePtrLo ; CPU:$E0AD PRG:60AD 85 5E + ldx ObjectX ; CPU:$E0AF PRG:60AF A6 60 + lda $8115,x ; CPU:$E0B1 PRG:60B1 BD 15 81 + cmp VramWritePtrLo ; CPU:$E0B4 PRG:60B4 C5 5E + bcc NmiHandler_Loop260 ; CPU:$E0B6 PRG:60B6 90 11 + jsr Sub_E463 ; CPU:$E0B8 PRG:60B8 20 63 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0BB +; Global: Branch target inside Sub: taken when E0BB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0BB: + lda $06AC ; CPU:$E0BB PRG:60BB AD AC 06 + beq NmiHandler_Loop259 ; CPU:$E0BE PRG:60BE F0 01 + rts ; CPU:$E0C0 PRG:60C0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + lda #$00 ; CPU:$E0C1 PRG:60C1 A9 00 + sta $02E6,y ; CPU:$E0C3 PRG:60C3 99 E6 02 + jmp Sub_E85C ; CPU:$E0C6 PRG:60C6 4C 5C E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + tya ; CPU:$E0C9 PRG:60C9 98 + clc ; CPU:$E0CA PRG:60CA 18 + adc #$10 ; CPU:$E0CB PRG:60CB 69 10 + tay ; CPU:$E0CD PRG:60CD A8 + cpy #$80 ; CPU:$E0CE PRG:60CE C0 80 + beq NmiHandler_Loop261 ; CPU:$E0D0 PRG:60D0 F0 03 + jmp Sub_E061 ; CPU:$E0D2 PRG:60D2 4C 61 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + lda PlayerIndex ; CPU:$E0D5 PRG:60D5 A5 00 + beq NmiHandler_Loop262 ; CPU:$E0D7 PRG:60D7 F0 03 + jmp Sub_E306 ; CPU:$E0D9 PRG:60D9 4C 06 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + ldy #$00 ; CPU:$E0DC PRG:60DC A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0DE +; Global: Branch target inside Sub: taken when E0DE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0DE: + lda $0366,y ; CPU:$E0DE PRG:60DE B9 66 03 + beq NmiHandler_Loop264 ; CPU:$E0E1 PRG:60E1 F0 13 + cmp #$36 ; CPU:$E0E3 PRG:60E3 C9 36 + bne NmiHandler_Loop263 ; CPU:$E0E5 PRG:60E5 D0 08 + lda $036C,y ; CPU:$E0E7 PRG:60E7 B9 6C 03 + bne NmiHandler_Loop263 ; CPU:$E0EA PRG:60EA D0 03 + jmp Sub_E20F ; CPU:$E0EC PRG:60EC 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + lda $036A,y ; CPU:$E0EF PRG:60EF B9 6A 03 + cmp #$01 ; CPU:$E0F2 PRG:60F2 C9 01 + beq NmiHandler_Loop265 ; CPU:$E0F4 PRG:60F4 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + jmp Sub_E20F ; CPU:$E0F6 PRG:60F6 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + lda $0369,y ; CPU:$E0F9 PRG:60F9 B9 69 03 + sec ; CPU:$E0FC PRG:60FC 38 + sbc Zp89 ; CPU:$E0FD PRG:60FD E5 89 + bcc NmiHandler_Loop266 ; CPU:$E0FF PRG:60FF 90 07 + cmp #$10 ; CPU:$E101 PRG:6101 C9 10 + bcc NmiHandler_Loop267 ; CPU:$E103 PRG:6103 90 1B + jmp Sub_E20F ; CPU:$E105 PRG:6105 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + lda Zp89 ; CPU:$E108 PRG:6108 A5 89 + sec ; CPU:$E10A PRG:610A 38 + sbc $0369,y ; CPU:$E10B PRG:610B F9 69 03 + sta VramWritePtrLo ; CPU:$E10E PRG:610E 85 5E + lda $0366,y ; CPU:$E110 PRG:6110 B9 66 03 + and #$7F ; CPU:$E113 PRG:6113 29 7F + tax ; CPU:$E115 PRG:6115 AA + lda $80CC,x ; CPU:$E116 PRG:6116 BD CC 80 + cmp VramWritePtrLo ; CPU:$E119 PRG:6119 C5 5E + bcs NmiHandler_Loop267 ; CPU:$E11B PRG:611B B0 03 + jmp Sub_E20F ; CPU:$E11D PRG:611D 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + lda $0367,y ; CPU:$E120 PRG:6120 B9 67 03 + sec ; CPU:$E123 PRG:6123 38 + sbc GameState ; CPU:$E124 PRG:6124 E5 8A + bcc NmiHandler_Loop269 ; CPU:$E126 PRG:6126 90 15 + sta VramWritePtrLo ; CPU:$E128 PRG:6128 85 5E + lda $0366,y ; CPU:$E12A PRG:612A B9 66 03 + and #$7F ; CPU:$E12D PRG:612D 29 7F + tax ; CPU:$E12F PRG:612F AA + lda $8115,x ; CPU:$E130 PRG:6130 BD 15 81 + cmp VramWritePtrLo ; CPU:$E133 PRG:6133 C5 5E + bcs NmiHandler_Loop268 ; CPU:$E135 PRG:6135 B0 03 + jmp Sub_E20F ; CPU:$E137 PRG:6137 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + jmp NmiHandler_Loop270 ; CPU:$E13A PRG:613A 4C 4A E1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + lda GameState ; CPU:$E13D PRG:613D A5 8A + sec ; CPU:$E13F PRG:613F 38 + sbc $0367,y ; CPU:$E140 PRG:6140 F9 67 03 + cmp #$07 ; CPU:$E143 PRG:6143 C9 07 + bcc NmiHandler_Loop270 ; CPU:$E145 PRG:6145 90 03 + jmp Sub_E20F ; CPU:$E147 PRG:6147 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + lda $0366,y ; CPU:$E14A PRG:614A B9 66 03 + cmp #$2E ; CPU:$E14D PRG:614D C9 2E + bne NmiHandler_Loop271 ; CPU:$E14F PRG:614F D0 26 + lda $0369,y ; CPU:$E151 PRG:6151 B9 69 03 + cmp #$C0 ; CPU:$E154 PRG:6154 C9 C0 + bcs NmiHandler_Loop272 ; CPU:$E156 PRG:6156 B0 6F + lda $0367,y ; CPU:$E158 PRG:6158 B9 67 03 + sbc #$0A ; CPU:$E15B PRG:615B E9 0A + sta $06AE ; CPU:$E15D PRG:615D 8D AE 06 + lda $0369,y ; CPU:$E160 PRG:6160 B9 69 03 + adc #$0F ; CPU:$E163 PRG:6163 69 0F + sta $06AD ; CPU:$E165 PRG:6165 8D AD 06 + lda #$02 ; CPU:$E168 PRG:6168 A9 02 + sta PlayerY ; CPU:$E16A PRG:616A 85 90 + lda #$00 ; CPU:$E16C PRG:616C A9 00 + sta Zp8F ; CPU:$E16E PRG:616E 85 8F + sta $0366,y ; CPU:$E170 PRG:6170 99 66 03 + rts ; CPU:$E173 PRG:6173 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: + jmp Sub_E20F ; CPU:$E174 PRG:6174 4C 0F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + cmp #$4B ; CPU:$E177 PRG:6177 C9 4B + beq NmiHandler_OnZero4 ; CPU:$E179 PRG:6179 F0 F9 + cmp #$49 ; CPU:$E17B PRG:617B C9 49 + beq NmiHandler_OnZero4 ; CPU:$E17D PRG:617D F0 F5 + cmp #$4A ; CPU:$E17F PRG:617F C9 4A + beq NmiHandler_OnZero4 ; CPU:$E181 PRG:6181 F0 F1 + cmp #$BA ; CPU:$E183 PRG:6183 C9 BA + bcc NmiHandler_Loop275 ; CPU:$E185 PRG:6185 90 7E + cmp #$BD ; CPU:$E187 PRG:6187 C9 BD + bcs NmiHandler_Loop275 ; CPU:$E189 PRG:6189 B0 7A + sec ; CPU:$E18B PRG:618B 38 + sbc #$BA ; CPU:$E18C PRG:618C E9 BA + sta VramWritePtrLo ; CPU:$E18E PRG:618E 85 5E + sta $061F ; CPU:$E190 PRG:6190 8D 1F 06 + lda LevelIndex ; CPU:$E193 PRG:6193 A5 8B + asl a ; CPU:$E195 PRG:6195 0A + asl a ; CPU:$E196 PRG:6196 0A + clc ; CPU:$E197 PRG:6197 18 + adc VramWritePtrLo ; CPU:$E198 PRG:6198 65 5E + tax ; CPU:$E19A PRG:619A AA + lda $E939,x ; CPU:$E19B PRG:619B BD 39 E9 + beq NmiHandler_Loop272 ; CPU:$E19E PRG:619E F0 27 + bpl NmiHandler_Loop273 ; CPU:$E1A0 PRG:61A0 10 26 + jsr Sub_E21B ; CPU:$E1A2 PRG:61A2 20 1B E2 + bne NmiHandler_Loop272 ; CPU:$E1A5 PRG:61A5 D0 20 + lda #$00 ; CPU:$E1A7 PRG:61A7 A9 00 + sta $0366,y ; CPU:$E1A9 PRG:61A9 99 66 03 + lda $0369,y ; CPU:$E1AC PRG:61AC B9 69 03 + sta TimerIndex ; CPU:$E1AF PRG:61AF 85 64 + lda $0367,y ; CPU:$E1B1 PRG:61B1 B9 67 03 + sta Zp65 ; CPU:$E1B4 PRG:61B4 85 65 + lda #$31 ; CPU:$E1B6 PRG:61B6 A9 31 + sta ObjectX ; CPU:$E1B8 PRG:61B8 85 60 + jsr Sub_DABB ; CPU:$E1BA PRG:61BA 20 BB DA + lda #$14 ; CPU:$E1BD PRG:61BD A9 14 + sta $024D,x ; CPU:$E1BF PRG:61BF 9D 4D 02 + lda #$FF ; CPU:$E1C2 PRG:61C2 A9 FF + sta $0248,x ; CPU:$E1C4 PRG:61C4 9D 48 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + rts ; CPU:$E1C7 PRG:61C7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + sta Zp95 ; CPU:$E1C8 PRG:61C8 85 95 + lda $E951,x ; CPU:$E1CA PRG:61CA BD 51 E9 + ldx $061F ; CPU:$E1CD PRG:61CD AE 1F 06 + cpx #$01 ; CPU:$E1D0 PRG:61D0 E0 01 + beq NmiHandler_Loop274 ; CPU:$E1D2 PRG:61D2 F0 05 + adc GameState ; CPU:$E1D4 PRG:61D4 65 8A + jmp Sub_E1DC ; CPU:$E1D6 PRG:61D6 4C DC E1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + adc $0367,y ; CPU:$E1D9 PRG:61D9 79 67 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_E1DC +; Global: Branch target inside Sub: taken when E1DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1DC: + sta $06AE ; CPU:$E1DC PRG:61DC 8D AE 06 + lda $0369,y ; CPU:$E1DF PRG:61DF B9 69 03 + sta $0239 ; CPU:$E1E2 PRG:61E2 8D 39 02 + lda $0367,y ; CPU:$E1E5 PRG:61E5 B9 67 03 + sta $0238 ; CPU:$E1E8 PRG:61E8 8D 38 02 + lda $0366,y ; CPU:$E1EB PRG:61EB B9 66 03 + and #$7F ; CPU:$E1EE PRG:61EE 29 7F + sta $0237 ; CPU:$E1F0 PRG:61F0 8D 37 02 + lda #$07 ; CPU:$E1F3 PRG:61F3 A9 07 + sta PlayerY ; CPU:$E1F5 PRG:61F5 85 90 + lda #$00 ; CPU:$E1F7 PRG:61F7 A9 00 + sta Zp8F ; CPU:$E1F9 PRG:61F9 85 8F + sta $0366,y ; CPU:$E1FB PRG:61FB 99 66 03 + sta $023B ; CPU:$E1FE PRG:61FE 8D 3B 02 + sta $023A ; CPU:$E201 PRG:6201 8D 3A 02 + rts ; CPU:$E204 PRG:6204 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + cmp #$32 ; CPU:$E205 PRG:6205 C9 32 + bne NmiHandler_Loop276 ; CPU:$E207 PRG:6207 D0 03 + jmp Sub_E2A6 ; CPU:$E209 PRG:6209 4C A6 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + jmp Sub_E85C ; CPU:$E20C PRG:620C 4C 5C E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_E20F +; Global: Branch target inside Sub: taken when E20F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E20F: + tya ; CPU:$E20F PRG:620F 98 + clc ; CPU:$E210 PRG:6210 18 + adc #$08 ; CPU:$E211 PRG:6211 69 08 + tay ; CPU:$E213 PRG:6213 A8 + cpy #$E0 ; CPU:$E214 PRG:6214 C0 E0 + beq NmiHandler_Loop277 ; CPU:$E216 PRG:6216 F0 10 + jmp Sub_E0DE ; CPU:$E218 PRG:6218 4C DE E0 +; ----------------------------------------------------------------------------- +; Routine: Sub_E21B +; Global: Branch target inside Sub: taken when E21B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E21B: + lda SpriteX ; CPU:$E21B PRG:621B A5 88 + asl a ; CPU:$E21D PRG:621D 0A + asl a ; CPU:$E21E PRG:621E 0A + asl a ; CPU:$E21F PRG:621F 0A + tax ; CPU:$E220 PRG:6220 AA + lda $0600,x ; CPU:$E221 PRG:6221 BD 00 06 + cmp $0601,x ; CPU:$E224 PRG:6224 DD 01 06 + rts ; CPU:$E227 PRG:6227 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + lda Zp0B ; CPU:$E228 PRG:6228 A5 0B + beq NmiHandler_Loop278 ; CPU:$E22A PRG:622A F0 01 + rts ; CPU:$E22C PRG:622C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + ldx #$00 ; CPU:$E22D PRG:622D A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E22F +; Global: Branch target inside Sub: taken when E22F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E22F: + ldy #$00 ; CPU:$E22F PRG:622F A0 00 + lda $02E6,x ; CPU:$E231 PRG:6231 BD E6 02 + cmp #$30 ; CPU:$E234 PRG:6234 C9 30 + beq NmiHandler_Loop279 ; CPU:$E236 PRG:6236 F0 03 + jmp NmiHandler_Loop286 ; CPU:$E238 PRG:6238 4C F9 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + lda $0366,y ; CPU:$E23B PRG:623B B9 66 03 + beq NmiHandler_Loop281 ; CPU:$E23E PRG:623E F0 1F + cmp #$08 ; CPU:$E240 PRG:6240 C9 08 + bcc NmiHandler_Loop280 ; CPU:$E242 PRG:6242 90 04 + cmp #$0E ; CPU:$E244 PRG:6244 C9 0E + bcc NmiHandler_Loop281 ; CPU:$E246 PRG:6246 90 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + lda $036A,y ; CPU:$E248 PRG:6248 B9 6A 03 + cmp #$01 ; CPU:$E24B PRG:624B C9 01 + bne NmiHandler_Loop281 ; CPU:$E24D PRG:624D D0 10 + lda $0369,y ; CPU:$E24F PRG:624F B9 69 03 + sec ; CPU:$E252 PRG:6252 38 + sbc $02E9,x ; CPU:$E253 PRG:6253 FD E9 02 + bcc NmiHandler_Loop282 ; CPU:$E256 PRG:6256 90 0A + cmp #$0B ; CPU:$E258 PRG:6258 C9 0B + bcs NmiHandler_Loop281 ; CPU:$E25A PRG:625A B0 03 + jmp Sub_E27C ; CPU:$E25C PRG:625C 4C 7C E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + jmp NmiHandler_Loop285 ; CPU:$E25F PRG:625F 4C ED E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + lda $02E9,x ; CPU:$E262 PRG:6262 BD E9 02 + sec ; CPU:$E265 PRG:6265 38 + sbc $0369,y ; CPU:$E266 PRG:6266 F9 69 03 + sta VramWritePtrLo ; CPU:$E269 PRG:6269 85 5E + txa ; CPU:$E26B PRG:626B 8A + pha ; CPU:$E26C PRG:626C 48 + lda $0366,y ; CPU:$E26D PRG:626D B9 66 03 + and #$7F ; CPU:$E270 PRG:6270 29 7F + tax ; CPU:$E272 PRG:6272 AA + lda $80CC,x ; CPU:$E273 PRG:6273 BD CC 80 + cmp VramWritePtrLo ; CPU:$E276 PRG:6276 C5 5E + pla ; CPU:$E278 PRG:6278 68 + tax ; CPU:$E279 PRG:6279 AA + bcc NmiHandler_Loop285 ; CPU:$E27A PRG:627A 90 71 +; ----------------------------------------------------------------------------- +; Routine: Sub_E27C +; Global: Branch target inside Sub: taken when E27C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E27C: + lda $0367,y ; CPU:$E27C PRG:627C B9 67 03 + sec ; CPU:$E27F PRG:627F 38 + sbc $02E7,x ; CPU:$E280 PRG:6280 FD E7 02 + bcc NmiHandler_Loop283 ; CPU:$E283 PRG:6283 90 16 + sta VramWritePtrLo ; CPU:$E285 PRG:6285 85 5E + txa ; CPU:$E287 PRG:6287 8A + pha ; CPU:$E288 PRG:6288 48 + lda $0366,y ; CPU:$E289 PRG:6289 B9 66 03 + and #$7F ; CPU:$E28C PRG:628C 29 7F + tax ; CPU:$E28E PRG:628E AA + lda $8115,x ; CPU:$E28F PRG:628F BD 15 81 + cmp VramWritePtrLo ; CPU:$E292 PRG:6292 C5 5E + pla ; CPU:$E294 PRG:6294 68 + tax ; CPU:$E295 PRG:6295 AA + bcc NmiHandler_Loop285 ; CPU:$E296 PRG:6296 90 55 + jmp Sub_E2A6 ; CPU:$E298 PRG:6298 4C A6 E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + lda $02E7,x ; CPU:$E29B PRG:629B BD E7 02 + sec ; CPU:$E29E PRG:629E 38 + sbc $0367,y ; CPU:$E29F PRG:629F F9 67 03 + cmp #$0B ; CPU:$E2A2 PRG:62A2 C9 0B + bcs NmiHandler_Loop285 ; CPU:$E2A4 PRG:62A4 B0 47 +; ----------------------------------------------------------------------------- +; Routine: Sub_E2A6 +; Global: Branch target inside Sub: taken when E2A6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E2A6: + lda $0366,y ; CPU:$E2A6 PRG:62A6 B9 66 03 + and #$7F ; CPU:$E2A9 PRG:62A9 29 7F + sec ; CPU:$E2AB PRG:62AB 38 + sbc #$19 ; CPU:$E2AC PRG:62AC E9 19 + asl a ; CPU:$E2AE PRG:62AE 0A + asl a ; CPU:$E2AF PRG:62AF 0A + tax ; CPU:$E2B0 PRG:62B0 AA + lda $8000,x ; CPU:$E2B1 PRG:62B1 BD 00 80 + bne NmiHandler_Loop284 ; CPU:$E2B4 PRG:62B4 D0 01 + rts ; CPU:$E2B6 PRG:62B6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + lda $8001,x ; CPU:$E2B7 PRG:62B7 BD 01 80 + sta $0366,y ; CPU:$E2BA PRG:62BA 99 66 03 + lda #$10 ; CPU:$E2BD PRG:62BD A9 10 + sta VramWritePtrLo ; CPU:$E2BF PRG:62BF 85 5E + jsr Sub_D85E ; CPU:$E2C1 PRG:62C1 20 5E D8 + lda #$14 ; CPU:$E2C4 PRG:62C4 A9 14 + sta Zp94 ; CPU:$E2C6 PRG:62C6 85 94 + jsr Sub_FA51 ; CPU:$E2C8 PRG:62C8 20 51 FA + lda #$00 ; CPU:$E2CB PRG:62CB A9 00 + sta $036B,y ; CPU:$E2CD PRG:62CD 99 6B 03 + sta $036C,y ; CPU:$E2D0 PRG:62D0 99 6C 03 + lda $0369,y ; CPU:$E2D3 PRG:62D3 B9 69 03 + clc ; CPU:$E2D6 PRG:62D6 18 + adc #$02 ; CPU:$E2D7 PRG:62D7 69 02 + sta TimerIndex ; CPU:$E2D9 PRG:62D9 85 64 + lda $0367,y ; CPU:$E2DB PRG:62DB B9 67 03 + sta Zp65 ; CPU:$E2DE PRG:62DE 85 65 + lda #$09 ; CPU:$E2E0 PRG:62E0 A9 09 + sta ObjectX ; CPU:$E2E2 PRG:62E2 85 60 + jsr Sub_DABB ; CPU:$E2E4 PRG:62E4 20 BB DA + lda #$00 ; CPU:$E2E7 PRG:62E7 A9 00 + sta $0253,x ; CPU:$E2E9 PRG:62E9 9D 53 02 + rts ; CPU:$E2EC PRG:62EC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + tya ; CPU:$E2ED PRG:62ED 98 + clc ; CPU:$E2EE PRG:62EE 18 + adc #$08 ; CPU:$E2EF PRG:62EF 69 08 + tay ; CPU:$E2F1 PRG:62F1 A8 + cpy #$E0 ; CPU:$E2F2 PRG:62F2 C0 E0 + beq NmiHandler_Loop286 ; CPU:$E2F4 PRG:62F4 F0 03 + jmp NmiHandler_Loop279 ; CPU:$E2F6 PRG:62F6 4C 3B E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + txa ; CPU:$E2F9 PRG:62F9 8A + clc ; CPU:$E2FA PRG:62FA 18 + adc #$10 ; CPU:$E2FB PRG:62FB 69 10 + tax ; CPU:$E2FD PRG:62FD AA + cpx #$60 ; CPU:$E2FE PRG:62FE E0 60 + beq NmiHandler_Loop287 ; CPU:$E300 PRG:6300 F0 03 + jmp Sub_E22F ; CPU:$E302 PRG:6302 4C 2F E2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + rts ; CPU:$E305 PRG:6305 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E306 +; Global: Branch target inside Sub: taken when E306. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E306: + ldy #$00 ; CPU:$E306 PRG:6306 A0 00 + sty $06AE ; CPU:$E308 PRG:6308 8C AE 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_E30B +; Global: Branch target inside Sub: taken when E30B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E30B: + lda $0446,y ; CPU:$E30B PRG:630B B9 46 04 + beq NmiHandler_Loop288 ; CPU:$E30E PRG:630E F0 07 + lda $044A,y ; CPU:$E310 PRG:6310 B9 4A 04 + cmp #$01 ; CPU:$E313 PRG:6313 C9 01 + beq NmiHandler_Loop289 ; CPU:$E315 PRG:6315 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + jmp NmiHandler_Loop304 ; CPU:$E317 PRG:6317 4C 56 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + lda $0449,y ; CPU:$E31A PRG:631A B9 49 04 + sec ; CPU:$E31D PRG:631D 38 + sbc Zp89 ; CPU:$E31E PRG:631E E5 89 + bcc NmiHandler_Loop290 ; CPU:$E320 PRG:6320 90 07 + cmp #$10 ; CPU:$E322 PRG:6322 C9 10 + bcc NmiHandler_Loop291 ; CPU:$E324 PRG:6324 90 1B + jmp NmiHandler_Loop304 ; CPU:$E326 PRG:6326 4C 56 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + lda Zp89 ; CPU:$E329 PRG:6329 A5 89 + sec ; CPU:$E32B PRG:632B 38 + sbc $0449,y ; CPU:$E32C PRG:632C F9 49 04 + sta VramWritePtrLo ; CPU:$E32F PRG:632F 85 5E + lda $0446,y ; CPU:$E331 PRG:6331 B9 46 04 + and #$7F ; CPU:$E334 PRG:6334 29 7F + tax ; CPU:$E336 PRG:6336 AA + lda $80CC,x ; CPU:$E337 PRG:6337 BD CC 80 + cmp VramWritePtrLo ; CPU:$E33A PRG:633A C5 5E + bcs NmiHandler_Loop291 ; CPU:$E33C PRG:633C B0 03 + jmp NmiHandler_Loop304 ; CPU:$E33E PRG:633E 4C 56 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + lda $0447,y ; CPU:$E341 PRG:6341 B9 47 04 + sec ; CPU:$E344 PRG:6344 38 + sbc GameState ; CPU:$E345 PRG:6345 E5 8A + bcc NmiHandler_Loop294 ; CPU:$E347 PRG:6347 90 23 + sta VramWritePtrLo ; CPU:$E349 PRG:6349 85 5E + lda $0446,y ; CPU:$E34B PRG:634B B9 46 04 + cmp #$45 ; CPU:$E34E PRG:634E C9 45 + bne NmiHandler_Loop292 ; CPU:$E350 PRG:6350 D0 0A + lda $044C,y ; CPU:$E352 PRG:6352 B9 4C 04 + tax ; CPU:$E355 PRG:6355 AA + lda $DF9D,x ; CPU:$E356 PRG:6356 BD 9D DF + jmp Sub_E362 ; CPU:$E359 PRG:6359 4C 62 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + and #$7F ; CPU:$E35C PRG:635C 29 7F + tax ; CPU:$E35E PRG:635E AA + lda $8115,x ; CPU:$E35F PRG:635F BD 15 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_E362 +; Global: Branch target inside Sub: taken when E362. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E362: + cmp VramWritePtrLo ; CPU:$E362 PRG:6362 C5 5E + bcs NmiHandler_Loop293 ; CPU:$E364 PRG:6364 B0 03 + jmp NmiHandler_Loop304 ; CPU:$E366 PRG:6366 4C 56 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop293: + jmp NmiHandler_Loop295 ; CPU:$E369 PRG:6369 4C 80 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop294: + lda GameState ; CPU:$E36C PRG:636C A5 8A + sec ; CPU:$E36E PRG:636E 38 + sbc $0447,y ; CPU:$E36F PRG:636F F9 47 04 + sta VramWritePtrLo ; CPU:$E372 PRG:6372 85 5E + ldx ObjectX ; CPU:$E374 PRG:6374 A6 60 + lda $8115,x ; CPU:$E376 PRG:6376 BD 15 81 + cmp VramWritePtrLo ; CPU:$E379 PRG:6379 C5 5E + bcs NmiHandler_Loop295 ; CPU:$E37B PRG:637B B0 03 + jmp NmiHandler_Loop304 ; CPU:$E37D PRG:637D 4C 56 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + jsr Sub_E463 ; CPU:$E380 PRG:6380 20 63 E4 + lda $0446,y ; CPU:$E383 PRG:6383 B9 46 04 + cmp #$3F ; CPU:$E386 PRG:6386 C9 3F + bne NmiHandler_Loop297 ; CPU:$E388 PRG:6388 D0 0F + lda PlayerY ; CPU:$E38A PRG:638A A5 90 + cmp #$03 ; CPU:$E38C PRG:638C C9 03 + beq NmiHandler_Loop296 ; CPU:$E38E PRG:638E F0 08 + lda #$03 ; CPU:$E390 PRG:6390 A9 03 + sta PlayerY ; CPU:$E392 PRG:6392 85 90 + lda #$00 ; CPU:$E394 PRG:6394 A9 00 + sta Zp8F ; CPU:$E396 PRG:6396 85 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + rts ; CPU:$E398 PRG:6398 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + cmp #$3D ; CPU:$E399 PRG:6399 C9 3D + bne NmiHandler_Loop299 ; CPU:$E39B PRG:639B D0 2C + lda $0449,y ; CPU:$E39D PRG:639D B9 49 04 + cmp #$C0 ; CPU:$E3A0 PRG:63A0 C9 C0 + bcs NmiHandler_Loop300 ; CPU:$E3A2 PRG:63A2 B0 69 + lda $0447,y ; CPU:$E3A4 PRG:63A4 B9 47 04 + cmp #$80 ; CPU:$E3A7 PRG:63A7 C9 80 + bcc NmiHandler_Loop298 ; CPU:$E3A9 PRG:63A9 90 05 + sbc #$08 ; CPU:$E3AB PRG:63AB E9 08 + jmp Sub_E3B2 ; CPU:$E3AD PRG:63AD 4C B2 E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + lda GameState ; CPU:$E3B0 PRG:63B0 A5 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_E3B2 +; Global: Branch target inside Sub: taken when E3B2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E3B2: + sta $06AE ; CPU:$E3B2 PRG:63B2 8D AE 06 + lda $0449,y ; CPU:$E3B5 PRG:63B5 B9 49 04 + adc #$0F ; CPU:$E3B8 PRG:63B8 69 0F + sta $06AD ; CPU:$E3BA PRG:63BA 8D AD 06 + lda #$02 ; CPU:$E3BD PRG:63BD A9 02 + sta PlayerY ; CPU:$E3BF PRG:63BF 85 90 + lda #$00 ; CPU:$E3C1 PRG:63C1 A9 00 + sta Zp8F ; CPU:$E3C3 PRG:63C3 85 8F + sta $0446,y ; CPU:$E3C5 PRG:63C5 99 46 04 + rts ; CPU:$E3C8 PRG:63C8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + cmp #$C6 ; CPU:$E3C9 PRG:63C9 C9 C6 + bcc NmiHandler_Loop303 ; CPU:$E3CB PRG:63CB 90 7E + cmp #$C9 ; CPU:$E3CD PRG:63CD C9 C9 + bcs NmiHandler_Loop303 ; CPU:$E3CF PRG:63CF B0 7A + sec ; CPU:$E3D1 PRG:63D1 38 + sbc #$C6 ; CPU:$E3D2 PRG:63D2 E9 C6 + sta VramWritePtrLo ; CPU:$E3D4 PRG:63D4 85 5E + sta $061F ; CPU:$E3D6 PRG:63D6 8D 1F 06 + lda LevelIndex ; CPU:$E3D9 PRG:63D9 A5 8B + asl a ; CPU:$E3DB PRG:63DB 0A + asl a ; CPU:$E3DC PRG:63DC 0A + clc ; CPU:$E3DD PRG:63DD 18 + adc VramWritePtrLo ; CPU:$E3DE PRG:63DE 65 5E + tax ; CPU:$E3E0 PRG:63E0 AA + lda $E939,x ; CPU:$E3E1 PRG:63E1 BD 39 E9 + beq NmiHandler_Loop300 ; CPU:$E3E4 PRG:63E4 F0 27 + bpl NmiHandler_Loop301 ; CPU:$E3E6 PRG:63E6 10 26 + jsr Sub_E21B ; CPU:$E3E8 PRG:63E8 20 1B E2 + bne NmiHandler_Loop300 ; CPU:$E3EB PRG:63EB D0 20 + lda #$00 ; CPU:$E3ED PRG:63ED A9 00 + sta $0446,y ; CPU:$E3EF PRG:63EF 99 46 04 + lda $0449,y ; CPU:$E3F2 PRG:63F2 B9 49 04 + sta TimerIndex ; CPU:$E3F5 PRG:63F5 85 64 + lda $0447,y ; CPU:$E3F7 PRG:63F7 B9 47 04 + sta Zp65 ; CPU:$E3FA PRG:63FA 85 65 + lda #$31 ; CPU:$E3FC PRG:63FC A9 31 + sta ObjectX ; CPU:$E3FE PRG:63FE 85 60 + jsr Sub_DABB ; CPU:$E400 PRG:6400 20 BB DA + lda #$14 ; CPU:$E403 PRG:6403 A9 14 + sta $024D,x ; CPU:$E405 PRG:6405 9D 4D 02 + lda #$02 ; CPU:$E408 PRG:6408 A9 02 + sta $0248,x ; CPU:$E40A PRG:640A 9D 48 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop300: + rts ; CPU:$E40D PRG:640D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop301: + sta Zp95 ; CPU:$E40E PRG:640E 85 95 + lda $E951,x ; CPU:$E410 PRG:6410 BD 51 E9 + ldx $061F ; CPU:$E413 PRG:6413 AE 1F 06 + cpx #$01 ; CPU:$E416 PRG:6416 E0 01 + beq NmiHandler_Loop302 ; CPU:$E418 PRG:6418 F0 05 + adc GameState ; CPU:$E41A PRG:641A 65 8A + jmp Sub_E422 ; CPU:$E41C PRG:641C 4C 22 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop302: + adc $0447,y ; CPU:$E41F PRG:641F 79 47 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_E422 +; Global: Branch target inside Sub: taken when E422. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E422: + sta $06AE ; CPU:$E422 PRG:6422 8D AE 06 + lda $0449,y ; CPU:$E425 PRG:6425 B9 49 04 + sta $0239 ; CPU:$E428 PRG:6428 8D 39 02 + lda $0447,y ; CPU:$E42B PRG:642B B9 47 04 + sta $0238 ; CPU:$E42E PRG:642E 8D 38 02 + lda $0446,y ; CPU:$E431 PRG:6431 B9 46 04 + and #$7F ; CPU:$E434 PRG:6434 29 7F + sta $0237 ; CPU:$E436 PRG:6436 8D 37 02 + lda #$07 ; CPU:$E439 PRG:6439 A9 07 + sta PlayerY ; CPU:$E43B PRG:643B 85 90 + lda #$00 ; CPU:$E43D PRG:643D A9 00 + sta Zp8F ; CPU:$E43F PRG:643F 85 8F + sta $0446,y ; CPU:$E441 PRG:6441 99 46 04 + sta $023B ; CPU:$E444 PRG:6444 8D 3B 02 + sta $023A ; CPU:$E447 PRG:6447 8D 3A 02 + rts ; CPU:$E44A PRG:644A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop303: + cmp #$42 ; CPU:$E44B PRG:644B C9 42 + beq NmiHandler_Loop304 ; CPU:$E44D PRG:644D F0 07 + cmp #$32 ; CPU:$E44F PRG:644F C9 32 + beq NmiHandler_Loop304 ; CPU:$E451 PRG:6451 F0 03 + jmp Sub_E85C ; CPU:$E453 PRG:6453 4C 5C E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: + tya ; CPU:$E456 PRG:6456 98 + clc ; CPU:$E457 PRG:6457 18 + adc #$08 ; CPU:$E458 PRG:6458 69 08 + tay ; CPU:$E45A PRG:645A A8 + cpy #$C0 ; CPU:$E45B PRG:645B C0 C0 + beq NmiHandler_Loop305 ; CPU:$E45D PRG:645D F0 03 + jmp Sub_E30B ; CPU:$E45F PRG:645F 4C 0B E3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop305: + rts ; CPU:$E462 PRG:6462 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E463 +; Global: Branch target inside Sub: taken when E463. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E463: + lda VramWritePtrLo ; CPU:$E463 PRG:6463 A5 5E + cmp #$10 ; CPU:$E465 PRG:6465 C9 10 + bcc NmiHandler_Loop306 ; CPU:$E467 PRG:6467 90 03 + inc $06AE ; CPU:$E469 PRG:6469 EE AE 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop306: + rts ; CPU:$E46C PRG:646C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E46D +; Global: Branch target inside Sub: taken when E46D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E46D: + lda $0249,y ; CPU:$E46D PRG:646D B9 49 02 + sec ; CPU:$E470 PRG:6470 38 + sbc $02E9,x ; CPU:$E471 PRG:6471 FD E9 02 + bcc NmiHandler_Loop307 ; CPU:$E474 PRG:6474 90 07 + cmp #$0B ; CPU:$E476 PRG:6476 C9 0B + bcs NmiHandler_Loop309 ; CPU:$E478 PRG:6478 B0 55 + jmp Sub_E495 ; CPU:$E47A PRG:647A 4C 95 E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop307: + lda $02E9,x ; CPU:$E47D PRG:647D BD E9 02 + sec ; CPU:$E480 PRG:6480 38 + sbc $0249,y ; CPU:$E481 PRG:6481 F9 49 02 + sta VramWritePtrLo ; CPU:$E484 PRG:6484 85 5E + txa ; CPU:$E486 PRG:6486 8A + pha ; CPU:$E487 PRG:6487 48 + lda $0246,y ; CPU:$E488 PRG:6488 B9 46 02 + tax ; CPU:$E48B PRG:648B AA + lda $80CC,x ; CPU:$E48C PRG:648C BD CC 80 + cmp VramWritePtrLo ; CPU:$E48F PRG:648F C5 5E + pla ; CPU:$E491 PRG:6491 68 + tax ; CPU:$E492 PRG:6492 AA + bcc NmiHandler_Loop309 ; CPU:$E493 PRG:6493 90 3A +; ----------------------------------------------------------------------------- +; Routine: Sub_E495 +; Global: Branch target inside Sub: taken when E495. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E495: + lda $0247,y ; CPU:$E495 PRG:6495 B9 47 02 + sec ; CPU:$E498 PRG:6498 38 + sbc $02E7,x ; CPU:$E499 PRG:6499 FD E7 02 + bcc NmiHandler_Loop308 ; CPU:$E49C PRG:649C 90 14 + sta VramWritePtrLo ; CPU:$E49E PRG:649E 85 5E + txa ; CPU:$E4A0 PRG:64A0 8A + pha ; CPU:$E4A1 PRG:64A1 48 + lda $0246,y ; CPU:$E4A2 PRG:64A2 B9 46 02 + tax ; CPU:$E4A5 PRG:64A5 AA + lda $8115,x ; CPU:$E4A6 PRG:64A6 BD 15 81 + cmp VramWritePtrLo ; CPU:$E4A9 PRG:64A9 C5 5E + pla ; CPU:$E4AB PRG:64AB 68 + tax ; CPU:$E4AC PRG:64AC AA + bcc NmiHandler_Loop309 ; CPU:$E4AD PRG:64AD 90 20 + lda #$01 ; CPU:$E4AF PRG:64AF A9 01 + rts ; CPU:$E4B1 PRG:64B1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop308: + lda $02E7,x ; CPU:$E4B2 PRG:64B2 BD E7 02 + sec ; CPU:$E4B5 PRG:64B5 38 + sbc $0247,y ; CPU:$E4B6 PRG:64B6 F9 47 02 + sta VramWritePtrLo ; CPU:$E4B9 PRG:64B9 85 5E + tya ; CPU:$E4BB PRG:64BB 98 + pha ; CPU:$E4BC PRG:64BC 48 + lda $02E6,x ; CPU:$E4BD PRG:64BD BD E6 02 + and #$7F ; CPU:$E4C0 PRG:64C0 29 7F + tay ; CPU:$E4C2 PRG:64C2 A8 + lda $8115,y ; CPU:$E4C3 PRG:64C3 B9 15 81 + cmp VramWritePtrLo ; CPU:$E4C6 PRG:64C6 C5 5E + pla ; CPU:$E4C8 PRG:64C8 68 + tay ; CPU:$E4C9 PRG:64C9 A8 + bcc NmiHandler_Loop309 ; CPU:$E4CA PRG:64CA 90 03 + lda #$01 ; CPU:$E4CC PRG:64CC A9 01 + rts ; CPU:$E4CE PRG:64CE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop309: + lda #$00 ; CPU:$E4CF PRG:64CF A9 00 + rts ; CPU:$E4D1 PRG:64D1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E4D2 +; Global: Branch target inside Label: taken when E4D2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E4D2: + asl Zp26,x ; CPU:$E4D2 PRG:64D2 16 26 + lda Zp79 ; CPU:$E4D4 PRG:64D4 A5 79 + lsr a ; CPU:$E4D6 PRG:64D6 4A + lsr a ; CPU:$E4D7 PRG:64D7 4A + lsr a ; CPU:$E4D8 PRG:64D8 4A + and #$01 ; CPU:$E4D9 PRG:64D9 29 01 + tax ; CPU:$E4DB PRG:64DB AA + lda $E4D2,x ; CPU:$E4DC PRG:64DC BD D2 E4 + sta Zp9F ; CPU:$E4DF PRG:64DF 85 9F + lda Zp8F ; CPU:$E4E1 PRG:64E1 A5 8F + bne NmiHandler_Loop310 ; CPU:$E4E3 PRG:64E3 D0 50 + lda #$04 ; CPU:$E4E5 PRG:64E5 A9 04 + jsr Sub_FAE6 ; CPU:$E4E7 PRG:64E7 20 E6 FA + jsr Sub_D9C0 ; CPU:$E4EA PRG:64EA 20 C0 D9 + lda #$01 ; CPU:$E4ED PRG:64ED A9 01 + sta Zp70 ; CPU:$E4EF PRG:64EF 85 70 + sta PlayerIndex ; CPU:$E4F1 PRG:64F1 85 00 + lda #$EF ; CPU:$E4F3 PRG:64F3 A9 EF + sta Zp6F ; CPU:$E4F5 PRG:64F5 85 6F + lda #$00 ; CPU:$E4F7 PRG:64F7 A9 00 + sta LevelIndex ; CPU:$E4F9 PRG:64F9 85 8B + sta Zp81 ; CPU:$E4FB PRG:64FB 85 81 + sta Zp82 ; CPU:$E4FD PRG:64FD 85 82 + jsr Sub_C793 ; CPU:$E4FF PRG:64FF 20 93 C7 + lda #$56 ; CPU:$E502 PRG:6502 A9 56 + sta GameState ; CPU:$E504 PRG:6504 85 8A + lda #$59 ; CPU:$E506 PRG:6506 A9 59 + sta Zp89 ; CPU:$E508 PRG:6508 85 89 + lda #$CC ; CPU:$E50A PRG:650A A9 CC + sta $0446 ; CPU:$E50C PRG:650C 8D 46 04 + lda #$01 ; CPU:$E50F PRG:650F A9 01 + sta $0447 ; CPU:$E511 PRG:6511 8D 47 04 + lda #$51 ; CPU:$E514 PRG:6514 A9 51 + sta $0449 ; CPU:$E516 PRG:6516 8D 49 04 + lda #$01 ; CPU:$E519 PRG:6519 A9 01 + sta $044A ; CPU:$E51B PRG:651B 8D 4A 04 + lda #$3E ; CPU:$E51E PRG:651E A9 3E + sta $0246 ; CPU:$E520 PRG:6520 8D 46 02 + lda #$58 ; CPU:$E523 PRG:6523 A9 58 + sta $0247 ; CPU:$E525 PRG:6525 8D 47 02 + lda #$51 ; CPU:$E528 PRG:6528 A9 51 + sta $0249 ; CPU:$E52A PRG:652A 8D 49 02 + lda #$01 ; CPU:$E52D PRG:652D A9 01 + sta $024A ; CPU:$E52F PRG:652F 8D 4A 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_E532 +; Global: Branch target inside Sub: taken when E532. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E532: + inc Zp8F ; CPU:$E532 PRG:6532 E6 8F + rts ; CPU:$E534 PRG:6534 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop310: + cmp #$80 ; CPU:$E535 PRG:6535 C9 80 + bcs NmiHandler_Loop312 ; CPU:$E537 PRG:6537 B0 0C + lda Zp86 ; CPU:$E539 PRG:6539 A5 86 + cmp #$01 ; CPU:$E53B PRG:653B C9 01 + beq NmiHandler_Loop311 ; CPU:$E53D PRG:653D F0 03 + jsr Sub_D919 ; CPU:$E53F PRG:653F 20 19 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop311: + jmp Sub_E532 ; CPU:$E542 PRG:6542 4C 32 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop312: + lda Zp6F ; CPU:$E545 PRG:6545 A5 6F + cmp #$07 ; CPU:$E547 PRG:6547 C9 07 + bcc NmiHandler_Loop315 ; CPU:$E549 PRG:6549 90 29 + dec Zp6F ; CPU:$E54B PRG:654B C6 6F + inc $0447 ; CPU:$E54D PRG:654D EE 47 04 + lda Zp6F ; CPU:$E550 PRG:6550 A5 6F + cmp #$A6 ; CPU:$E552 PRG:6552 C9 A6 + bcc NmiHandler_Loop313 ; CPU:$E554 PRG:6554 90 01 + rts ; CPU:$E556 PRG:6556 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop313 +; Global: Branch target inside NmiHandler: taken when Loop313. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop313: + inc $0247 ; CPU:$E557 PRG:6557 EE 47 02 + inc GameState ; CPU:$E55A PRG:655A E6 8A + lda GameState ; CPU:$E55C PRG:655C A5 8A + cmp #$C0 ; CPU:$E55E PRG:655E C9 C0 + bcs NmiHandler_Loop314 ; CPU:$E560 PRG:6560 B0 01 + rts ; CPU:$E562 PRG:6562 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop314 +; Global: Branch target inside NmiHandler: taken when Loop314. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop314: + ldy #$14 ; CPU:$E563 PRG:6563 A0 14 + lda #$00 ; CPU:$E565 PRG:6565 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero56: + sta a:Zp9C,y ; CPU:$E567 PRG:6567 99 9C 00 + iny ; CPU:$E56A PRG:656A C8 + cpy #$1C ; CPU:$E56B PRG:656B C0 1C + bne NmiHandler_OnNonzero56 ; CPU:$E56D PRG:656D D0 F8 + lda #$FF ; CPU:$E56F PRG:656F A9 FF + sta LevelIndex ; CPU:$E571 PRG:6571 85 8B + rts ; CPU:$E573 PRG:6573 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop315 +; Global: Branch target inside NmiHandler: taken when Loop315. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop315: + lda Zp8F ; CPU:$E574 PRG:6574 A5 8F + cmp #$E0 ; CPU:$E576 PRG:6576 C9 E0 + bcs NmiHandler_Loop316 ; CPU:$E578 PRG:6578 B0 28 + sec ; CPU:$E57A PRG:657A 38 + sbc #$80 ; CPU:$E57B PRG:657B E9 80 + lsr a ; CPU:$E57D PRG:657D 4A + lsr a ; CPU:$E57E PRG:657E 4A + and #$07 ; CPU:$E57F PRG:657F 29 07 + eor #$07 ; CPU:$E581 PRG:6581 49 07 + clc ; CPU:$E583 PRG:6583 18 + adc #$14 ; CPU:$E584 PRG:6584 69 14 + tay ; CPU:$E586 PRG:6586 A8 + lda $CD58,y ; CPU:$E587 PRG:6587 B9 58 CD + sta a:Zp9C,y ; CPU:$E58A PRG:658A 99 9C 00 + inc Zp8F ; CPU:$E58D PRG:658D E6 8F + lda #$00 ; CPU:$E58F PRG:658F A9 00 + sta $0246 ; CPU:$E591 PRG:6591 8D 46 02 + sta LevelIndex ; CPU:$E594 PRG:6594 85 8B + sta PlayerIndex ; CPU:$E596 PRG:6596 85 00 + sta Zp70 ; CPU:$E598 PRG:6598 85 70 + lda #$84 ; CPU:$E59A PRG:659A A9 84 + sta GameState ; CPU:$E59C PRG:659C 85 8A + jsr Sub_C12F ; CPU:$E59E PRG:659E 20 2F C1 + rts ; CPU:$E5A1 PRG:65A1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop316 +; Global: Branch target inside NmiHandler: taken when Loop316. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop316: + inc Zp89 ; CPU:$E5A2 PRG:65A2 E6 89 + inc Zp89 ; CPU:$E5A4 PRG:65A4 E6 89 + lda Zp89 ; CPU:$E5A6 PRG:65A6 A5 89 + cmp #$80 ; CPU:$E5A8 PRG:65A8 C9 80 + bcc NmiHandler_Loop317 ; CPU:$E5AA PRG:65AA 90 04 + lda #$00 ; CPU:$E5AC PRG:65AC A9 00 + sta PlayerY ; CPU:$E5AE PRG:65AE 85 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop317 +; Global: Branch target inside NmiHandler: taken when Loop317. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop317: + rts ; CPU:$E5B0 PRG:65B0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E5B1 +; Global: Branch target inside Sub: taken when E5B1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E5B1: + ldx #$80 ; CPU:$E5B1 PRG:65B1 A2 80 + jsr Sub_C9C7 ; CPU:$E5B3 PRG:65B3 20 C7 C9 + lda Zp54 ; CPU:$E5B6 PRG:65B6 A5 54 + and #$0C ; CPU:$E5B8 PRG:65B8 29 0C + beq NmiHandler_Loop318 ; CPU:$E5BA PRG:65BA F0 05 + lda #$FF ; CPU:$E5BC PRG:65BC A9 FF + sta Zp8F ; CPU:$E5BE PRG:65BE 85 8F + rts ; CPU:$E5C0 PRG:65C0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop318 +; Global: Branch target inside NmiHandler: taken when Loop318. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop318: + inc Zp8F ; CPU:$E5C1 PRG:65C1 E6 8F + bne NmiHandler_Loop319 ; CPU:$E5C3 PRG:65C3 D0 03 + jmp Sub_CBF6 ; CPU:$E5C5 PRG:65C5 4C F6 CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop319 +; Global: Branch target inside NmiHandler: taken when Loop319. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop319: + rts ; CPU:$E5C8 PRG:65C8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E5C9 +; Global: Branch target inside Sub: taken when E5C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E5C9: + ldx #$5C ; CPU:$E5C9 PRG:65C9 A2 5C + jsr Sub_C9C7 ; CPU:$E5CB PRG:65CB 20 C7 C9 + lda $D913 ; CPU:$E5CE PRG:65CE AD 13 D9 + sta VramWritePtrLo ; CPU:$E5D1 PRG:65D1 85 5E + lda $D914 ; CPU:$E5D3 PRG:65D3 AD 14 D9 + sta VramWritePtrHi ; CPU:$E5D6 PRG:65D6 85 5F + ldx #$80 ; CPU:$E5D8 PRG:65D8 A2 80 + lda #$00 ; CPU:$E5DA PRG:65DA A9 00 + sta ObjectTimer ; CPU:$E5DC PRG:65DC 85 68 + jsr Sub_D989 ; CPU:$E5DE PRG:65DE 20 89 D9 + lda #$58 ; CPU:$E5E1 PRG:65E1 A9 58 + sta $07F0 ; CPU:$E5E3 PRG:65E3 8D F0 07 + lda SpriteX ; CPU:$E5E6 PRG:65E6 A5 88 + clc ; CPU:$E5E8 PRG:65E8 18 + adc #$01 ; CPU:$E5E9 PRG:65E9 69 01 + sta $07F1 ; CPU:$E5EB PRG:65EB 8D F1 07 + lda #$03 ; CPU:$E5EE PRG:65EE A9 03 + sta $07F2 ; CPU:$E5F0 PRG:65F0 8D F2 07 + lda #$60 ; CPU:$E5F3 PRG:65F3 A9 60 + sta $07F3 ; CPU:$E5F5 PRG:65F5 8D F3 07 + inc Zp8F ; CPU:$E5F8 PRG:65F8 E6 8F + bne NmiHandler_Loop320 ; CPU:$E5FA PRG:65FA D0 0E + lda SpriteX ; CPU:$E5FC PRG:65FC A5 88 + eor #$01 ; CPU:$E5FE PRG:65FE 49 01 + sta SpriteX ; CPU:$E600 PRG:6600 85 88 + tay ; CPU:$E602 PRG:6602 A8 + jsr Sub_E6CF ; CPU:$E603 PRG:6603 20 CF E6 + lda #$06 ; CPU:$E606 PRG:6606 A9 06 + sta PlayerY ; CPU:$E608 PRG:6608 85 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop320 +; Global: Branch target inside NmiHandler: taken when Loop320. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop320: + rts ; CPU:$E60A PRG:660A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E60B +; Global: Branch target inside Sub: taken when E60B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E60B: + lda Zp8F ; CPU:$E60B PRG:660B A5 8F + bne NmiHandler_Loop321 ; CPU:$E60D PRG:660D D0 08 + inc Zp8F ; CPU:$E60F PRG:660F E6 8F + lda GameState ; CPU:$E611 PRG:6611 A5 8A + sta $061E ; CPU:$E613 PRG:6613 8D 1E 06 + rts ; CPU:$E616 PRG:6616 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop321: + lda Zp8F ; CPU:$E617 PRG:6617 A5 8F + cmp #$80 ; CPU:$E619 PRG:6619 C9 80 + bne NmiHandler_Loop322 ; CPU:$E61B PRG:661B D0 05 + lda #$00 ; CPU:$E61D PRG:661D A9 00 + sta PlayerY ; CPU:$E61F PRG:661F 85 90 + rts ; CPU:$E621 PRG:6621 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop322: + inc Zp8F ; CPU:$E622 PRG:6622 E6 8F + lda $061F ; CPU:$E624 PRG:6624 AD 1F 06 + bne NmiHandler_Loop324 ; CPU:$E627 PRG:6627 D0 11 + dec GameState ; CPU:$E629 PRG:6629 C6 8A + lda $061E ; CPU:$E62B PRG:662B AD 1E 06 + sbc #$03 ; CPU:$E62E PRG:662E E9 03 + cmp GameState ; CPU:$E630 PRG:6630 C5 8A + bcc NmiHandler_Loop323 ; CPU:$E632 PRG:6632 90 05 + lda #$01 ; CPU:$E634 PRG:6634 A9 01 + sta $061F ; CPU:$E636 PRG:6636 8D 1F 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop323: + rts ; CPU:$E639 PRG:6639 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop324: + inc GameState ; CPU:$E63A PRG:663A E6 8A + lda $061E ; CPU:$E63C PRG:663C AD 1E 06 + adc #$03 ; CPU:$E63F PRG:663F 69 03 + cmp GameState ; CPU:$E641 PRG:6641 C5 8A + bcs NmiHandler_Loop325 ; CPU:$E643 PRG:6643 B0 05 + lda #$00 ; CPU:$E645 PRG:6645 A9 00 + sta $061F ; CPU:$E647 PRG:6647 8D 1F 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop325: + rts ; CPU:$E64A PRG:664A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E64B +; Global: Branch target inside Sub: taken when E64B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E64B: + lda Zp8F ; CPU:$E64B PRG:664B A5 8F + bne NmiHandler_Loop326 ; CPU:$E64D PRG:664D D0 08 + lda #$00 ; CPU:$E64F PRG:664F A9 00 + sta $0205 ; CPU:$E651 PRG:6651 8D 05 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear6 +; Global: Branch target inside NmiHandler: taken when OnCarryClear6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear6: + inc Zp8F ; CPU:$E654 PRG:6654 E6 8F + rts ; CPU:$E656 PRG:6656 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop326 +; Global: Branch target inside NmiHandler: taken when Loop326. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop326: + lda Zp8F ; CPU:$E657 PRG:6657 A5 8F + cmp #$80 ; CPU:$E659 PRG:6659 C9 80 + bcc NmiHandler_OnCarryClear6 ; CPU:$E65B PRG:665B 90 F7 + lda #$00 ; CPU:$E65D PRG:665D A9 00 + sta Zp8F ; CPU:$E65F PRG:665F 85 8F + lda #$06 ; CPU:$E661 PRG:6661 A9 06 + sta PlayerY ; CPU:$E663 PRG:6663 85 90 + lda Zp86 ; CPU:$E665 PRG:6665 A5 86 + cmp #$02 ; CPU:$E667 PRG:6667 C9 02 + bne NmiHandler_Loop327 ; CPU:$E669 PRG:6669 D0 04 + lda Zp87 ; CPU:$E66B PRG:666B A5 87 + bne NmiHandler_Loop329 ; CPU:$E66D PRG:666D D0 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop327 +; Global: Branch target inside NmiHandler: taken when Loop327. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop327: + dec Zp58 ; CPU:$E66F PRG:666F C6 58 + lda Zp58 ; CPU:$E671 PRG:6671 A5 58 + bmi NmiHandler_Loop333 ; CPU:$E673 PRG:6673 30 55 + lda Zp0B ; CPU:$E675 PRG:6675 A5 0B + beq NmiHandler_Loop328 ; CPU:$E677 PRG:6677 F0 0B + ldx #$01 ; CPU:$E679 PRG:6679 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero57: + lda Zp30,x ; CPU:$E67B PRG:667B B5 30 + sta PlayerIndex,x ; CPU:$E67D PRG:667D 95 00 + inx ; CPU:$E67F PRG:667F E8 + cpx #$10 ; CPU:$E680 PRG:6680 E0 10 + bne NmiHandler_OnNonzero57 ; CPU:$E682 PRG:6682 D0 F7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop328 +; Global: Branch target inside NmiHandler: taken when Loop328. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop328: + rts ; CPU:$E684 PRG:6684 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop329: + lda SpriteX ; CPU:$E685 PRG:6685 A5 88 + tay ; CPU:$E687 PRG:6687 A8 + lda a:Zp58,y ; CPU:$E688 PRG:6688 B9 58 00 + sec ; CPU:$E68B PRG:668B 38 + sbc #$01 ; CPU:$E68C PRG:668C E9 01 + sta a:Zp58,y ; CPU:$E68E PRG:668E 99 58 00 + bpl NmiHandler_Loop330 ; CPU:$E691 PRG:6691 10 0E + lda #$09 ; CPU:$E693 PRG:6693 A9 09 + sta PlayerY ; CPU:$E695 PRG:6695 85 90 + tya ; CPU:$E697 PRG:6697 98 + eor #$01 ; CPU:$E698 PRG:6698 49 01 + tay ; CPU:$E69A PRG:669A A8 + lda a:Zp58,y ; CPU:$E69B PRG:669B B9 58 00 + bmi NmiHandler_Loop333 ; CPU:$E69E PRG:669E 30 2A + rts ; CPU:$E6A0 PRG:66A0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop330: + tya ; CPU:$E6A1 PRG:66A1 98 + eor #$01 ; CPU:$E6A2 PRG:66A2 49 01 + tay ; CPU:$E6A4 PRG:66A4 A8 + lda a:Zp58,y ; CPU:$E6A5 PRG:66A5 B9 58 00 + bpl NmiHandler_Loop332 ; CPU:$E6A8 PRG:66A8 10 1A + lda Zp0B ; CPU:$E6AA PRG:66AA A5 0B + beq NmiHandler_Loop331 ; CPU:$E6AC PRG:66AC F0 15 + lda SpriteX ; CPU:$E6AE PRG:66AE A5 88 + asl a ; CPU:$E6B0 PRG:66B0 0A + asl a ; CPU:$E6B1 PRG:66B1 0A + asl a ; CPU:$E6B2 PRG:66B2 0A + asl a ; CPU:$E6B3 PRG:66B3 0A + tay ; CPU:$E6B4 PRG:66B4 A8 + iny ; CPU:$E6B5 PRG:66B5 C8 + ldx #$01 ; CPU:$E6B6 PRG:66B6 A2 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero58: + lda a:Zp30,y ; CPU:$E6B8 PRG:66B8 B9 30 00 + sta PlayerIndex,x ; CPU:$E6BB PRG:66BB 95 00 + inx ; CPU:$E6BD PRG:66BD E8 + iny ; CPU:$E6BE PRG:66BE C8 + cpx #$10 ; CPU:$E6BF PRG:66BF E0 10 + bne NmiHandler_OnNonzero58 ; CPU:$E6C1 PRG:66C1 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop331: + rts ; CPU:$E6C3 PRG:66C3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop332: + sty SpriteX ; CPU:$E6C4 PRG:66C4 84 88 + jsr Sub_E6CF ; CPU:$E6C6 PRG:66C6 20 CF E6 + rts ; CPU:$E6C9 PRG:66C9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop333: + lda #$08 ; CPU:$E6CA PRG:66CA A9 08 + sta PlayerY ; CPU:$E6CC PRG:66CC 85 90 + rts ; CPU:$E6CE PRG:66CE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E6CF +; Global: Branch target inside Sub: taken when E6CF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E6CF: + inc Zp9B ; CPU:$E6CF PRG:66CF E6 9B + lda Zp9B ; CPU:$E6D1 PRG:66D1 A5 9B + cmp #$01 ; CPU:$E6D3 PRG:66D3 C9 01 + bne NmiHandler_Loop334 ; CPU:$E6D5 PRG:66D5 D0 04 + lda #$01 ; CPU:$E6D7 PRG:66D7 A9 01 + sta PlayerY ; CPU:$E6D9 PRG:66D9 85 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop334 +; Global: Branch target inside NmiHandler: taken when Loop334. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop334: + tya ; CPU:$E6DB PRG:66DB 98 + eor #$01 ; CPU:$E6DC PRG:66DC 49 01 + bne NmiHandler_Loop336 ; CPU:$E6DE PRG:66DE D0 2D + lda Zp0B ; CPU:$E6E0 PRG:66E0 A5 0B + beq NmiHandler_Loop335 ; CPU:$E6E2 PRG:66E2 F0 12 + ldx #$00 ; CPU:$E6E4 PRG:66E4 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero59: + lda Zp30,x ; CPU:$E6E6 PRG:66E6 B5 30 + sta Zp10,x ; CPU:$E6E8 PRG:66E8 95 10 + inx ; CPU:$E6EA PRG:66EA E8 + cpx #$10 ; CPU:$E6EB PRG:66EB E0 10 + bne NmiHandler_OnNonzero59 ; CPU:$E6ED PRG:66ED D0 F7 + lda PlayerIndex ; CPU:$E6EF PRG:66EF A5 00 + sta Zp10 ; CPU:$E6F1 PRG:66F1 85 10 + jmp Sub_E701 ; CPU:$E6F3 PRG:66F3 4C 01 E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop335 +; Global: Branch target inside NmiHandler: taken when Loop335. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop335: + ldx #$00 ; CPU:$E6F6 PRG:66F6 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero60: + lda PlayerIndex,x ; CPU:$E6F8 PRG:66F8 B5 00 + sta Zp10,x ; CPU:$E6FA PRG:66FA 95 10 + inx ; CPU:$E6FC PRG:66FC E8 + cpx #$10 ; CPU:$E6FD PRG:66FD E0 10 + bne NmiHandler_OnNonzero60 ; CPU:$E6FF PRG:66FF D0 F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_E701 +; Global: Branch target inside Sub: taken when E701. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E701: + ldx #$00 ; CPU:$E701 PRG:6701 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero61: + lda Zp20,x ; CPU:$E703 PRG:6703 B5 20 + sta PlayerIndex,x ; CPU:$E705 PRG:6705 95 00 + inx ; CPU:$E707 PRG:6707 E8 + cpx #$10 ; CPU:$E708 PRG:6708 E0 10 + bne NmiHandler_OnNonzero61 ; CPU:$E70A PRG:670A D0 F7 + rts ; CPU:$E70C PRG:670C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop336 +; Global: Branch target inside NmiHandler: taken when Loop336. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop336: + lda Zp0B ; CPU:$E70D PRG:670D A5 0B + beq NmiHandler_Loop337 ; CPU:$E70F PRG:670F F0 12 + ldx #$00 ; CPU:$E711 PRG:6711 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero62: + lda Zp40,x ; CPU:$E713 PRG:6713 B5 40 + sta Zp20,x ; CPU:$E715 PRG:6715 95 20 + inx ; CPU:$E717 PRG:6717 E8 + cpx #$10 ; CPU:$E718 PRG:6718 E0 10 + bne NmiHandler_OnNonzero62 ; CPU:$E71A PRG:671A D0 F7 + lda PlayerIndex ; CPU:$E71C PRG:671C A5 00 + sta Zp20 ; CPU:$E71E PRG:671E 85 20 + jmp Sub_E72E ; CPU:$E720 PRG:6720 4C 2E E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop337 +; Global: Branch target inside NmiHandler: taken when Loop337. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop337: + ldx #$00 ; CPU:$E723 PRG:6723 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero63: + lda PlayerIndex,x ; CPU:$E725 PRG:6725 B5 00 + sta Zp20,x ; CPU:$E727 PRG:6727 95 20 + inx ; CPU:$E729 PRG:6729 E8 + cpx #$10 ; CPU:$E72A PRG:672A E0 10 + bne NmiHandler_OnNonzero63 ; CPU:$E72C PRG:672C D0 F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_E72E +; Global: Branch target inside Sub: taken when E72E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E72E: + ldx #$00 ; CPU:$E72E PRG:672E A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero64 +; Global: Branch target inside NmiHandler: taken when OnNonzero64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero64: + lda Zp10,x ; CPU:$E730 PRG:6730 B5 10 + sta PlayerIndex,x ; CPU:$E732 PRG:6732 95 00 + inx ; CPU:$E734 PRG:6734 E8 + cpx #$10 ; CPU:$E735 PRG:6735 E0 10 + bne NmiHandler_OnNonzero64 ; CPU:$E737 PRG:6737 D0 F7 + rts ; CPU:$E739 PRG:6739 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E73A +; Global: Branch target inside Label: taken when E73A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E73A: + cld ; CPU:$E73A PRG:673A D8 +; ----------------------------------------------------------------------------- +; Routine: Label_E73B +; Global: Branch target inside Label: taken when E73B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E73B: + ldy $8FA5 ; CPU:$E73B PRG:673B AC A5 8F + bne NmiHandler_Loop339 ; CPU:$E73E PRG:673E D0 2A + jsr Sub_D08D ; CPU:$E740 PRG:6740 20 8D D0 + ldx SpriteX ; CPU:$E743 PRG:6743 A6 88 + ldy #$02 ; CPU:$E745 PRG:6745 A0 02 + lda Zp58,x ; CPU:$E747 PRG:6747 B5 58 + beq NmiHandler_Loop338 ; CPU:$E749 PRG:6749 F0 02 + ldy #$03 ; CPU:$E74B PRG:674B A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop338 +; Global: Branch target inside NmiHandler: taken when Loop338. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop338: + tya ; CPU:$E74D PRG:674D 98 + jsr Sub_FAE6 ; CPU:$E74E PRG:674E 20 E6 FA + inc Zp8F ; CPU:$E751 PRG:6751 E6 8F + lda #$00 ; CPU:$E753 PRG:6753 A9 00 + sta LevelIndex ; CPU:$E755 PRG:6755 85 8B + sta Zp7F ; CPU:$E757 PRG:6757 85 7F + sta Zp80 ; CPU:$E759 PRG:6759 85 80 + jsr Sub_C793 ; CPU:$E75B PRG:675B 20 93 C7 + ldy PlayerIndex ; CPU:$E75E PRG:675E A4 00 + lda $E73A,y ; CPU:$E760 PRG:6760 B9 3A E7 + sta GameState ; CPU:$E763 PRG:6763 85 8A + lda #$10 ; CPU:$E765 PRG:6765 A9 10 + sta Zp89 ; CPU:$E767 PRG:6767 85 89 + rts ; CPU:$E769 PRG:6769 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop339 +; Global: Branch target inside NmiHandler: taken when Loop339. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop339: + jsr Sub_D919 ; CPU:$E76A PRG:676A 20 19 D9 + lda Zp8F ; CPU:$E76D PRG:676D A5 8F + cmp #$40 ; CPU:$E76F PRG:676F C9 40 + bcs NmiHandler_Loop340 ; CPU:$E771 PRG:6771 B0 03 + inc Zp8F ; CPU:$E773 PRG:6773 E6 8F + rts ; CPU:$E775 PRG:6775 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop340 +; Global: Branch target inside NmiHandler: taken when Loop340. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop340: + lda Zp89 ; CPU:$E776 PRG:6776 A5 89 + cmp #$76 ; CPU:$E778 PRG:6778 C9 76 + beq NmiHandler_Loop341 ; CPU:$E77A PRG:677A F0 05 + inc Zp89 ; CPU:$E77C PRG:677C E6 89 + inc Zp89 ; CPU:$E77E PRG:677E E6 89 + rts ; CPU:$E780 PRG:6780 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop341 +; Global: Branch target inside NmiHandler: taken when Loop341. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop341: + lda Zp8F ; CPU:$E781 PRG:6781 A5 8F + cmp #$60 ; CPU:$E783 PRG:6783 C9 60 + bcs NmiHandler_Loop342 ; CPU:$E785 PRG:6785 B0 03 + inc Zp8F ; CPU:$E787 PRG:6787 E6 8F + rts ; CPU:$E789 PRG:6789 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop342 +; Global: Branch target inside NmiHandler: taken when Loop342. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop342: + jsr Sub_D258 ; CPU:$E78A PRG:678A 20 58 D2 + lda #$00 ; CPU:$E78D PRG:678D A9 00 + sta PlayerY ; CPU:$E78F PRG:678F 85 90 + rts ; CPU:$E791 PRG:6791 60 +; ---- data $E792-$E799 (8 bytes) ---- +; referenced by `lda $E792,x` at $E7BE (operand $E792 falls inside this region) +; referenced by `lda $E796,x` at $E7C9 (operand $E796 falls inside this region) +; referenced by `lda $E792,x` at $E7FD (operand $E792 falls inside this region) +; referenced by `lda $E796,x` at $E808 (operand $E796 falls inside this region) + .byte $3E, $12, $12, $12, $EE, $DD, $F5, $DD ; CPU:$E792 PRG:6792 3E 12 12 12 EE DD F5 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_E79A +; Global: Branch target inside Sub: taken when E79A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E79A: + lda PlayerIndex ; CPU:$E79A PRG:679A A5 00 + bne NmiHandler_Loop344 ; CPU:$E79C PRG:679C D0 3F + lda $036C ; CPU:$E79E PRG:679E AD 6C 03 + cmp $06B5 ; CPU:$E7A1 PRG:67A1 CD B5 06 + beq NmiHandler_Loop343 ; CPU:$E7A4 PRG:67A4 F0 36 + sta $06B5 ; CPU:$E7A6 PRG:67A6 8D B5 06 + jsr Sub_EB95 ; CPU:$E7A9 PRG:67A9 20 95 EB + bne NmiHandler_Loop343 ; CPU:$E7AC PRG:67AC D0 2E + lda #$00 ; CPU:$E7AE PRG:67AE A9 00 + sta $02ED,y ; CPU:$E7B0 PRG:67B0 99 ED 02 + sta $02EE,y ; CPU:$E7B3 PRG:67B3 99 EE 02 + lda #$02 ; CPU:$E7B6 PRG:67B6 A9 02 + sta $02F1,y ; CPU:$E7B8 PRG:67B8 99 F1 02 + ldx $036C ; CPU:$E7BB PRG:67BB AE 6C 03 + lda $E792,x ; CPU:$E7BE PRG:67BE BD 92 E7 + adc $0369 ; CPU:$E7C1 PRG:67C1 6D 69 03 + bcs NmiHandler_Loop343 ; CPU:$E7C4 PRG:67C4 B0 16 + sta $02E9,y ; CPU:$E7C6 PRG:67C6 99 E9 02 + lda $E796,x ; CPU:$E7C9 PRG:67C9 BD 96 E7 + adc $0367 ; CPU:$E7CC PRG:67CC 6D 67 03 + sta $02E7,y ; CPU:$E7CF PRG:67CF 99 E7 02 + lda #$01 ; CPU:$E7D2 PRG:67D2 A9 01 + sta $02EA,y ; CPU:$E7D4 PRG:67D4 99 EA 02 + lda #$15 ; CPU:$E7D7 PRG:67D7 A9 15 + sta $02E6,y ; CPU:$E7D9 PRG:67D9 99 E6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop343 +; Global: Branch target inside NmiHandler: taken when Loop343. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop343: + rts ; CPU:$E7DC PRG:67DC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop344 +; Global: Branch target inside NmiHandler: taken when Loop344. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop344: + lda $044C ; CPU:$E7DD PRG:67DD AD 4C 04 + cmp $06B5 ; CPU:$E7E0 PRG:67E0 CD B5 06 + beq NmiHandler_Loop345 ; CPU:$E7E3 PRG:67E3 F0 36 + sta $06B5 ; CPU:$E7E5 PRG:67E5 8D B5 06 + jsr Sub_EB95 ; CPU:$E7E8 PRG:67E8 20 95 EB + bne NmiHandler_Loop345 ; CPU:$E7EB PRG:67EB D0 2E + lda #$00 ; CPU:$E7ED PRG:67ED A9 00 + sta $02ED,y ; CPU:$E7EF PRG:67EF 99 ED 02 + sta $02EE,y ; CPU:$E7F2 PRG:67F2 99 EE 02 + lda #$02 ; CPU:$E7F5 PRG:67F5 A9 02 + sta $02F1,y ; CPU:$E7F7 PRG:67F7 99 F1 02 + ldx $044C ; CPU:$E7FA PRG:67FA AE 4C 04 + lda $E792,x ; CPU:$E7FD PRG:67FD BD 92 E7 + adc $0449 ; CPU:$E800 PRG:6800 6D 49 04 + bcs NmiHandler_Loop345 ; CPU:$E803 PRG:6803 B0 16 + sta $02E9,y ; CPU:$E805 PRG:6805 99 E9 02 + lda $E796,x ; CPU:$E808 PRG:6808 BD 96 E7 + adc $0447 ; CPU:$E80B PRG:680B 6D 47 04 + sta $02E7,y ; CPU:$E80E PRG:680E 99 E7 02 + lda #$01 ; CPU:$E811 PRG:6811 A9 01 + sta $02EA,y ; CPU:$E813 PRG:6813 99 EA 02 + lda #$15 ; CPU:$E816 PRG:6816 A9 15 + sta $02E6,y ; CPU:$E818 PRG:6818 99 E6 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop345 +; Global: Branch target inside NmiHandler: taken when Loop345. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop345: + rts ; CPU:$E81B PRG:681B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E81C +; Global: Branch target inside Sub: taken when E81C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E81C: + lda $036A ; CPU:$E81C PRG:681C AD 6A 03 + cmp #$01 ; CPU:$E81F PRG:681F C9 01 + bne NmiHandler_Loop346 ; CPU:$E821 PRG:6821 D0 0A + lda $0369 ; CPU:$E823 PRG:6823 AD 69 03 + cmp #$85 ; CPU:$E826 PRG:6826 C9 85 + beq NmiHandler_Loop347 ; CPU:$E828 PRG:6828 F0 0D + jsr Sub_E79A ; CPU:$E82A PRG:682A 20 9A E7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop346 +; Global: Branch target inside NmiHandler: taken when Loop346. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop346: + jsr Sub_CFC1 ; CPU:$E82D PRG:682D 20 C1 CF + jsr Sub_D270 ; CPU:$E830 PRG:6830 20 70 D2 + jsr Sub_C486 ; CPU:$E833 PRG:6833 20 86 C4 + rts ; CPU:$E836 PRG:6836 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop347 +; Global: Branch target inside NmiHandler: taken when Loop347. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop347: + lda $06B2 ; CPU:$E837 PRG:6837 AD B2 06 + ora $06B1 ; CPU:$E83A PRG:683A 0D B1 06 + beq NmiHandler_Loop350 ; CPU:$E83D PRG:683D F0 18 + lda $06B1 ; CPU:$E83F PRG:683F AD B1 06 + bne NmiHandler_Loop348 ; CPU:$E842 PRG:6842 D0 03 + dec $06B2 ; CPU:$E844 PRG:6844 CE B2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop348 +; Global: Branch target inside NmiHandler: taken when Loop348. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop348: + dec $06B1 ; CPU:$E847 PRG:6847 CE B1 06 + jsr Sub_E79A ; CPU:$E84A PRG:684A 20 9A E7 + lda Zp79 ; CPU:$E84D PRG:684D A5 79 + and #$03 ; CPU:$E84F PRG:684F 29 03 + bne NmiHandler_Loop349 ; CPU:$E851 PRG:6851 D0 03 + jsr NmiHandler_Loop60 ; CPU:$E853 PRG:6853 20 8F C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop349: + rts ; CPU:$E856 PRG:6856 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop350: + lda #$00 ; CPU:$E857 PRG:6857 A9 00 + sta PlayerY ; CPU:$E859 PRG:6859 85 90 + rts ; CPU:$E85B PRG:685B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E85C +; Global: Branch target inside Sub: taken when E85C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E85C: + lda $06AC ; CPU:$E85C PRG:685C AD AC 06 + bne NmiHandler_Loop351 ; CPU:$E85F PRG:685F D0 08 + lda #$0A ; CPU:$E861 PRG:6861 A9 0A + sta PlayerY ; CPU:$E863 PRG:6863 85 90 + lda #$00 ; CPU:$E865 PRG:6865 A9 00 + sta Zp8F ; CPU:$E867 PRG:6867 85 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop351: + rts ; CPU:$E869 PRG:6869 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E86A +; Global: Branch target inside Sub: taken when E86A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E86A: + lda Zp8F ; CPU:$E86A PRG:686A A5 8F + bne NmiHandler_Loop354 ; CPU:$E86C PRG:686C D0 47 + lda #$06 ; CPU:$E86E PRG:686E A9 06 + jsr Sub_FAE6 ; CPU:$E870 PRG:6870 20 E6 FA + lda #$00 ; CPU:$E873 PRG:6873 A9 00 + sta $0237 ; CPU:$E875 PRG:6875 8D 37 02 + jsr Sub_BCDA ; CPU:$E878 PRG:6878 20 DA BC + jsr Sub_BCF0 ; CPU:$E87B PRG:687B 20 F0 BC + jsr Sub_BD01 ; CPU:$E87E PRG:687E 20 01 BD + jsr Sub_BD17 ; CPU:$E881 PRG:6881 20 17 BD + inc Zp8F ; CPU:$E884 PRG:6884 E6 8F + lda Zp6E ; CPU:$E886 PRG:6886 A5 6E + sta Zp6F ; CPU:$E888 PRG:6888 85 6F + lda #$01 ; CPU:$E88A PRG:688A A9 01 + sta Zp70 ; CPU:$E88C PRG:688C 85 70 + lda LevelIndex ; CPU:$E88E PRG:688E A5 8B + sta Zp95 ; CPU:$E890 PRG:6890 85 95 + lda #$01 ; CPU:$E892 PRG:6892 A9 01 + sta $06B8 ; CPU:$E894 PRG:6894 8D B8 06 + lda Zp89 ; CPU:$E897 PRG:6897 A5 89 + cmp $06AD ; CPU:$E899 PRG:6899 CD AD 06 + bcc NmiHandler_Loop352 ; CPU:$E89C PRG:689C 90 05 + lda #$FF ; CPU:$E89E PRG:689E A9 FF + sta $06B8 ; CPU:$E8A0 PRG:68A0 8D B8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop352: + lda #$01 ; CPU:$E8A3 PRG:68A3 A9 01 + sta $06B9 ; CPU:$E8A5 PRG:68A5 8D B9 06 + lda GameState ; CPU:$E8A8 PRG:68A8 A5 8A + cmp $06AE ; CPU:$E8AA PRG:68AA CD AE 06 + bcc NmiHandler_Loop353 ; CPU:$E8AD PRG:68AD 90 05 + lda #$FF ; CPU:$E8AF PRG:68AF A9 FF + sta $06B9 ; CPU:$E8B1 PRG:68B1 8D B9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop353: + rts ; CPU:$E8B4 PRG:68B4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop354: + lda GameState ; CPU:$E8B5 PRG:68B5 A5 8A + cmp $06AE ; CPU:$E8B7 PRG:68B7 CD AE 06 + beq NmiHandler_Loop355 ; CPU:$E8BA PRG:68BA F0 09 + lda GameState ; CPU:$E8BC PRG:68BC A5 8A + clc ; CPU:$E8BE PRG:68BE 18 + adc $06B9 ; CPU:$E8BF PRG:68BF 6D B9 06 + sta GameState ; CPU:$E8C2 PRG:68C2 85 8A + rts ; CPU:$E8C4 PRG:68C4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop355 +; Global: Branch target inside NmiHandler: taken when Loop355. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop355: + lda Zp89 ; CPU:$E8C5 PRG:68C5 A5 89 + cmp $06AD ; CPU:$E8C7 PRG:68C7 CD AD 06 + beq NmiHandler_Loop356 ; CPU:$E8CA PRG:68CA F0 09 + lda Zp89 ; CPU:$E8CC PRG:68CC A5 89 + clc ; CPU:$E8CE PRG:68CE 18 + adc $06B8 ; CPU:$E8CF PRG:68CF 6D B8 06 + sta Zp89 ; CPU:$E8D2 PRG:68D2 85 89 + rts ; CPU:$E8D4 PRG:68D4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop356 +; Global: Branch target inside NmiHandler: taken when Loop356. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop356: + lda Zp8F ; CPU:$E8D5 PRG:68D5 A5 8F + cmp #$20 ; CPU:$E8D7 PRG:68D7 C9 20 + bcs NmiHandler_Loop357 ; CPU:$E8D9 PRG:68D9 B0 03 + inc Zp8F ; CPU:$E8DB PRG:68DB E6 8F + rts ; CPU:$E8DD PRG:68DD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop357 +; Global: Branch target inside NmiHandler: taken when Loop357. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop357: + cmp #$40 ; CPU:$E8DE PRG:68DE C9 40 + bcs NmiHandler_Loop358 ; CPU:$E8E0 PRG:68E0 B0 0C + inc Zp8F ; CPU:$E8E2 PRG:68E2 E6 8F + lda #$00 ; CPU:$E8E4 PRG:68E4 A9 00 + sta $0205 ; CPU:$E8E6 PRG:68E6 8D 05 02 + lda #$FF ; CPU:$E8E9 PRG:68E9 A9 FF + sta LevelIndex ; CPU:$E8EB PRG:68EB 85 8B + rts ; CPU:$E8ED PRG:68ED 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop358 +; Global: Branch target inside NmiHandler: taken when Loop358. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop358: + bne NmiHandler_Loop360 ; CPU:$E8EE PRG:68EE D0 22 + lda PlayerIndex ; CPU:$E8F0 PRG:68F0 A5 00 + bne NmiHandler_Loop359 ; CPU:$E8F2 PRG:68F2 D0 0F + lda Zp6F ; CPU:$E8F4 PRG:68F4 A5 6F + cmp #$EB ; CPU:$E8F6 PRG:68F6 C9 EB + bcs NmiHandler_Loop360 ; CPU:$E8F8 PRG:68F8 B0 18 + inc Zp6F ; CPU:$E8FA PRG:68FA E6 6F + inc Zp6F ; CPU:$E8FC PRG:68FC E6 6F + inc Zp6F ; CPU:$E8FE PRG:68FE E6 6F + inc Zp6F ; CPU:$E900 PRG:6900 E6 6F + rts ; CPU:$E902 PRG:6902 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop359 +; Global: Branch target inside NmiHandler: taken when Loop359. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop359: + lda Zp6F ; CPU:$E903 PRG:6903 A5 6F + cmp #$04 ; CPU:$E905 PRG:6905 C9 04 + bcc NmiHandler_Loop360 ; CPU:$E907 PRG:6907 90 09 + dec Zp6F ; CPU:$E909 PRG:6909 C6 6F + dec Zp6F ; CPU:$E90B PRG:690B C6 6F + dec Zp6F ; CPU:$E90D PRG:690D C6 6F + dec Zp6F ; CPU:$E90F PRG:690F C6 6F + rts ; CPU:$E911 PRG:6911 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop360 +; Global: Branch target inside NmiHandler: taken when Loop360. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop360: + lda Zp8F ; CPU:$E912 PRG:6912 A5 8F + cmp #$60 ; CPU:$E914 PRG:6914 C9 60 + bcs NmiHandler_Loop361 ; CPU:$E916 PRG:6916 B0 03 + inc Zp8F ; CPU:$E918 PRG:6918 E6 8F + rts ; CPU:$E91A PRG:691A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop361 +; Global: Branch target inside NmiHandler: taken when Loop361. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop361: + lda PlayerIndex ; CPU:$E91B PRG:691B A5 00 + eor #$01 ; CPU:$E91D PRG:691D 49 01 + sta PlayerIndex ; CPU:$E91F PRG:691F 85 00 + lda Zp95 ; CPU:$E921 PRG:6921 A5 95 + sta LevelIndex ; CPU:$E923 PRG:6923 85 8B + jsr Sub_C793 ; CPU:$E925 PRG:6925 20 93 C7 + lda #$80 ; CPU:$E928 PRG:6928 A9 80 + sta GameState ; CPU:$E92A PRG:692A 85 8A + jsr Sub_C12F ; CPU:$E92C PRG:692C 20 2F C1 + lda #$00 ; CPU:$E92F PRG:692F A9 00 + sta PlayerY ; CPU:$E931 PRG:6931 85 90 + sta Zp70 ; CPU:$E933 PRG:6933 85 70 + jsr Sub_D258 ; CPU:$E935 PRG:6935 20 58 D2 + rts ; CPU:$E938 PRG:6938 60 +; ---- data $E939-$E964 (44 bytes) ---- +; referenced by `lda $E939,x` at $E19B (operand $E939 falls inside this region) +; referenced by `lda $E951,x` at $E1CA (operand $E951 falls inside this region) +; referenced by `lda $E939,x` at $E3E1 (operand $E939 falls inside this region) +; referenced by `lda $E951,x` at $E410 (operand $E951 falls inside this region) + .byte $02, $01, $00, $00, $03, $FF, $00, $00, $FF, $03, $04, $00, $FF, $FF, $05, $00 ; CPU:$E939 PRG:6939 02 01 00 00 03 FF 00 00 FF 03 04 00 FF FF 05 00 + .byte $FF, $05, $FF, $00, $FF, $FF, $FF, $00, $02, $E4, $03, $00, $E9, $00, $00, $00 ; CPU:$E949 PRG:6949 FF 05 FF 00 FF FF FF 00 02 E4 03 00 E9 00 00 00 + .byte $00, $E4, $00, $00, $00, $00, $E9, $00, $00, $E4, $00, $00 ; CPU:$E959 PRG:6959 00 E4 00 00 00 00 E9 00 00 E4 00 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E965 +; Global: Branch target inside Sub: taken when E965. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E965: + lda Zp8F ; CPU:$E965 PRG:6965 A5 8F + bne NmiHandler_Loop368 ; CPU:$E967 PRG:6967 D0 54 + inc Zp8F ; CPU:$E969 PRG:6969 E6 8F + ldy Zp89 ; CPU:$E96B PRG:696B A4 89 + lda $0237 ; CPU:$E96D PRG:696D AD 37 02 + cmp #$BC ; CPU:$E970 PRG:6970 C9 BC + beq NmiHandler_Loop362 ; CPU:$E972 PRG:6972 F0 04 + cmp #$C8 ; CPU:$E974 PRG:6974 C9 C8 + bne NmiHandler_Loop363 ; CPU:$E976 PRG:6976 D0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop362 +; Global: Branch target inside NmiHandler: taken when Loop362. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop362: + tya ; CPU:$E978 PRG:6978 98 + adc #$0E ; CPU:$E979 PRG:6979 69 0E + tay ; CPU:$E97B PRG:697B A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop363 +; Global: Branch target inside NmiHandler: taken when Loop363. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop363: + sty $06AD ; CPU:$E97C PRG:697C 8C AD 06 + lda #$FF ; CPU:$E97F PRG:697F A9 FF + sta $06B8 ; CPU:$E981 PRG:6981 8D B8 06 + lda $06AD ; CPU:$E984 PRG:6984 AD AD 06 + cmp $0239 ; CPU:$E987 PRG:6987 CD 39 02 + bcc NmiHandler_Loop364 ; CPU:$E98A PRG:698A 90 05 + lda #$01 ; CPU:$E98C PRG:698C A9 01 + sta $06B8 ; CPU:$E98E PRG:698E 8D B8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop364 +; Global: Branch target inside NmiHandler: taken when Loop364. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop364: + lda $061F ; CPU:$E991 PRG:6991 AD 1F 06 + cmp #$01 ; CPU:$E994 PRG:6994 C9 01 + beq NmiHandler_Loop366 ; CPU:$E996 PRG:6996 F0 13 + lda #$FF ; CPU:$E998 PRG:6998 A9 FF + sta $06B9 ; CPU:$E99A PRG:699A 8D B9 06 + lda $06AE ; CPU:$E99D PRG:699D AD AE 06 + cmp $0238 ; CPU:$E9A0 PRG:69A0 CD 38 02 + bcc NmiHandler_Loop365 ; CPU:$E9A3 PRG:69A3 90 05 + lda #$01 ; CPU:$E9A5 PRG:69A5 A9 01 + sta $06B9 ; CPU:$E9A7 PRG:69A7 8D B9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop365 +; Global: Branch target inside NmiHandler: taken when Loop365. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop365: + rts ; CPU:$E9AA PRG:69AA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop366 +; Global: Branch target inside NmiHandler: taken when Loop366. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop366: + lda #$01 ; CPU:$E9AB PRG:69AB A9 01 + sta $06B9 ; CPU:$E9AD PRG:69AD 8D B9 06 + lda GameState ; CPU:$E9B0 PRG:69B0 A5 8A + cmp $06AE ; CPU:$E9B2 PRG:69B2 CD AE 06 + bcc NmiHandler_Loop367 ; CPU:$E9B5 PRG:69B5 90 05 + lda #$FF ; CPU:$E9B7 PRG:69B7 A9 FF + sta $06B9 ; CPU:$E9B9 PRG:69B9 8D B9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop367 +; Global: Branch target inside NmiHandler: taken when Loop367. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop367: + rts ; CPU:$E9BC PRG:69BC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop368 +; Global: Branch target inside NmiHandler: taken when Loop368. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop368: + lda $061F ; CPU:$E9BD PRG:69BD AD 1F 06 + cmp #$01 ; CPU:$E9C0 PRG:69C0 C9 01 + beq NmiHandler_Loop369 ; CPU:$E9C2 PRG:69C2 F0 10 + lda $0238 ; CPU:$E9C4 PRG:69C4 AD 38 02 + cmp $06AE ; CPU:$E9C7 PRG:69C7 CD AE 06 + beq NmiHandler_Loop370 ; CPU:$E9CA PRG:69CA F0 16 + clc ; CPU:$E9CC PRG:69CC 18 + adc $06B9 ; CPU:$E9CD PRG:69CD 6D B9 06 + sta $0238 ; CPU:$E9D0 PRG:69D0 8D 38 02 + rts ; CPU:$E9D3 PRG:69D3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop369 +; Global: Branch target inside NmiHandler: taken when Loop369. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop369: + lda GameState ; CPU:$E9D4 PRG:69D4 A5 8A + cmp $06AE ; CPU:$E9D6 PRG:69D6 CD AE 06 + beq NmiHandler_Loop370 ; CPU:$E9D9 PRG:69D9 F0 07 + clc ; CPU:$E9DB PRG:69DB 18 + adc $06B9 ; CPU:$E9DC PRG:69DC 6D B9 06 + sta GameState ; CPU:$E9DF PRG:69DF 85 8A + rts ; CPU:$E9E1 PRG:69E1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop370 +; Global: Branch target inside NmiHandler: taken when Loop370. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop370: + lda $0239 ; CPU:$E9E2 PRG:69E2 AD 39 02 + cmp $06AD ; CPU:$E9E5 PRG:69E5 CD AD 06 + beq NmiHandler_Loop371 ; CPU:$E9E8 PRG:69E8 F0 08 + clc ; CPU:$E9EA PRG:69EA 18 + adc $06B8 ; CPU:$E9EB PRG:69EB 6D B8 06 + sta $0239 ; CPU:$E9EE PRG:69EE 8D 39 02 + rts ; CPU:$E9F1 PRG:69F1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop371 +; Global: Branch target inside NmiHandler: taken when Loop371. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop371: + lda #$1D ; CPU:$E9F2 PRG:69F2 A9 1D + sta Zp94 ; CPU:$E9F4 PRG:69F4 85 94 + jsr Sub_FA51 ; CPU:$E9F6 PRG:69F6 20 51 FA + lda GameState ; CPU:$E9F9 PRG:69F9 A5 8A + ldy $061F ; CPU:$E9FB PRG:69FB AC 1F 06 + cpy #$01 ; CPU:$E9FE PRG:69FE C0 01 + bne NmiHandler_Loop372 ; CPU:$EA00 PRG:6A00 D0 04 + adc #$17 ; CPU:$EA02 PRG:6A02 69 17 + sta GameState ; CPU:$EA04 PRG:6A04 85 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop372 +; Global: Branch target inside NmiHandler: taken when Loop372. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop372: + lda Zp95 ; CPU:$EA06 PRG:6A06 A5 95 + sta LevelIndex ; CPU:$EA08 PRG:6A08 85 8B + jsr Sub_C793 ; CPU:$EA0A PRG:6A0A 20 93 C7 + lda #$00 ; CPU:$EA0D PRG:6A0D A9 00 + sta $0237 ; CPU:$EA0F PRG:6A0F 8D 37 02 + lda #$40 ; CPU:$EA12 PRG:6A12 A9 40 + sta $06AC ; CPU:$EA14 PRG:6A14 8D AC 06 + lda #$00 ; CPU:$EA17 PRG:6A17 A9 00 + sta PlayerY ; CPU:$EA19 PRG:6A19 85 90 + rts ; CPU:$EA1B PRG:6A1B 60 +; ---- data $EA1C-$EA27 (12 bytes) ---- +; referenced by `lda $EA1C,x` at $EA74 (operand $EA1C falls inside this region) + .byte $FF, $00, $00, $02, $00, $04, $FF, $00, $00, $01, $00, $01 ; CPU:$EA1C PRG:6A1C FF 00 00 02 00 04 FF 00 00 01 00 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_EA28 +; Global: Branch target inside Sub: taken when EA28. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EA28: + lda Zp8F ; CPU:$EA28 PRG:6A28 A5 8F + bne NmiHandler_Loop379 ; CPU:$EA2A PRG:6A2A D0 59 + inc Zp8F ; CPU:$EA2C PRG:6A2C E6 8F + lda #$0B ; CPU:$EA2E PRG:6A2E A9 0B + sta Zp94 ; CPU:$EA30 PRG:6A30 85 94 + jsr Sub_FA51 ; CPU:$EA32 PRG:6A32 20 51 FA + ldy #$00 ; CPU:$EA35 PRG:6A35 A0 00 + sty Zp95 ; CPU:$EA37 PRG:6A37 84 95 + ldx LevelIndex ; CPU:$EA39 PRG:6A39 A6 8B + beq NmiHandler_Loop373 ; CPU:$EA3B PRG:6A3B F0 02 + ldy #$F8 ; CPU:$EA3D PRG:6A3D A0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop373 +; Global: Branch target inside NmiHandler: taken when Loop373. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop373: + sty $0202 ; CPU:$EA3F PRG:6A3F 8C 02 02 + lda PlayerIndex ; CPU:$EA42 PRG:6A42 A5 00 + beq NmiHandler_Loop377 ; CPU:$EA44 PRG:6A44 F0 21 + lda LevelIndex ; CPU:$EA46 PRG:6A46 A5 8B + cmp #$03 ; CPU:$EA48 PRG:6A48 C9 03 + beq NmiHandler_Loop374 ; CPU:$EA4A PRG:6A4A F0 04 + cmp #$05 ; CPU:$EA4C PRG:6A4C C9 05 + bne NmiHandler_Loop375 ; CPU:$EA4E PRG:6A4E D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop374 +; Global: Branch target inside NmiHandler: taken when Loop374. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop374: + lda $06AE ; CPU:$EA50 PRG:6A50 AD AE 06 + bne NmiHandler_Loop376 ; CPU:$EA53 PRG:6A53 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop375 +; Global: Branch target inside NmiHandler: taken when Loop375. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop375: + lda #$01 ; CPU:$EA55 PRG:6A55 A9 01 + sta Zp95 ; CPU:$EA57 PRG:6A57 85 95 + jmp NmiHandler_Loop377 ; CPU:$EA59 PRG:6A59 4C 67 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop376 +; Global: Branch target inside NmiHandler: taken when Loop376. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop376: + inx ; CPU:$EA5C PRG:6A5C E8 + inx ; CPU:$EA5D PRG:6A5D E8 + inx ; CPU:$EA5E PRG:6A5E E8 + inx ; CPU:$EA5F PRG:6A5F E8 + inx ; CPU:$EA60 PRG:6A60 E8 + inx ; CPU:$EA61 PRG:6A61 E8 + lda #$E0 ; CPU:$EA62 PRG:6A62 A9 E0 + sta $0202 ; CPU:$EA64 PRG:6A64 8D 02 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop377 +; Global: Branch target inside NmiHandler: taken when Loop377. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop377: + lda #$08 ; CPU:$EA67 PRG:6A67 A9 08 + sta $0200 ; CPU:$EA69 PRG:6A69 8D 00 02 + lda #$00 ; CPU:$EA6C PRG:6A6C A9 00 + sta $0203 ; CPU:$EA6E PRG:6A6E 8D 03 02 + sta $0204 ; CPU:$EA71 PRG:6A71 8D 04 02 + lda $EA1C,x ; CPU:$EA74 PRG:6A74 BD 1C EA + bpl NmiHandler_Loop378 ; CPU:$EA77 PRG:6A77 10 09 + lda #$05 ; CPU:$EA79 PRG:6A79 A9 05 + sta PlayerY ; CPU:$EA7B PRG:6A7B 85 90 + lda #$00 ; CPU:$EA7D PRG:6A7D A9 00 + sta Zp8F ; CPU:$EA7F PRG:6A7F 85 8F + rts ; CPU:$EA81 PRG:6A81 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop378 +; Global: Branch target inside NmiHandler: taken when Loop378. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop378: + sta LevelIndex ; CPU:$EA82 PRG:6A82 85 8B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero65 +; Global: Branch target inside NmiHandler: taken when OnNonzero65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero65: + rts ; CPU:$EA84 PRG:6A84 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop379 +; Global: Branch target inside NmiHandler: taken when Loop379. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop379: + lda #$40 ; CPU:$EA85 PRG:6A85 A9 40 + sta $06AC ; CPU:$EA87 PRG:6A87 8D AC 06 + lda #$00 ; CPU:$EA8A PRG:6A8A A9 00 + sta $0237 ; CPU:$EA8C PRG:6A8C 8D 37 02 + lda $0200 ; CPU:$EA8F PRG:6A8F AD 00 02 + bne NmiHandler_OnNonzero65 ; CPU:$EA92 PRG:6A92 D0 F0 + lda Zp95 ; CPU:$EA94 PRG:6A94 A5 95 + beq NmiHandler_Loop380 ; CPU:$EA96 PRG:6A96 F0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop380 +; Global: Branch target inside NmiHandler: taken when Loop380. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop380: + jsr Sub_C793 ; CPU:$EA98 PRG:6A98 20 93 C7 + ldy #$04 ; CPU:$EA9B PRG:6A9B A0 04 + lda $0366 ; CPU:$EA9D PRG:6A9D AD 66 03 + cmp #$1F ; CPU:$EAA0 PRG:6AA0 C9 1F + beq NmiHandler_Loop381 ; CPU:$EAA2 PRG:6AA2 F0 02 + ldy #$00 ; CPU:$EAA4 PRG:6AA4 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop381 +; Global: Branch target inside NmiHandler: taken when Loop381. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop381: + sty PlayerY ; CPU:$EAA6 PRG:6AA6 84 90 + lda #$00 ; CPU:$EAA8 PRG:6AA8 A9 00 + sta Zp8F ; CPU:$EAAA PRG:6AAA 85 8F + rts ; CPU:$EAAC PRG:6AAC 60 +; ---- data $EAAD-$EB94 (232 bytes) ---- + .byte $0A, $A8, $B9, $AA, $81, $9D, $52, $02, $B9, $AB, $81, $9D, $53, $02, $60, $07 ; CPU:$EAAD PRG:6AAD 0A A8 B9 AA 81 9D 52 02 B9 AB 81 9D 53 02 60 07 + .byte $06, $05, $00, $05, $04, $03, $00, $03, $02, $01, $00, $01, $08, $07, $00, $03 ; CPU:$EABD PRG:6ABD 06 05 00 05 04 03 00 03 02 01 00 01 08 07 00 03 + .byte $04, $05, $00, $05, $06, $07, $00, $07, $08, $01, $00, $01, $02, $03, $00, $A9 ; CPU:$EACD PRG:6ACD 04 05 00 05 06 07 00 07 08 01 00 01 02 03 00 A9 + .byte $00, $85, $64, $BD, $52, $02, $85, $5E, $BD, $53, $02, $85, $5F, $BD, $51, $02 ; CPU:$EADD PRG:6ADD 00 85 64 BD 52 02 85 5E BD 53 02 85 5F BD 51 02 + .byte $85, $60, $A0, $00, $B1, $5E, $85, $61, $10, $08, $29, $03, $85, $61, $A9, $FF ; CPU:$EAED PRG:6AED 85 60 A0 00 B1 5E 85 61 10 08 29 03 85 61 A9 FF + .byte $85, $64, $BD, $54, $02, $0A, $0A, $18, $65, $61, $A8, $B9, $BC, $EA, $0A, $A8 ; CPU:$EAFD PRG:6AFD 85 64 BD 54 02 0A 0A 18 65 61 A8 B9 BC EA 0A A8 + .byte $B9, $0D, $F8, $85, $66, $30, $14, $BD, $49, $02, $18, $65, $66, $9D, $49, $02 ; CPU:$EB0D PRG:6B0D B9 0D F8 85 66 30 14 BD 49 02 18 65 66 9D 49 02 + .byte $BD, $4A, $02, $69, $00, $9D, $4A, $02, $4C, $3D, $EB, $29, $7F, $85, $66, $BD ; CPU:$EB1D PRG:6B1D BD 4A 02 69 00 9D 4A 02 4C 3D EB 29 7F 85 66 BD + .byte $49, $02, $38, $E5, $66, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02 ; CPU:$EB2D PRG:6B2D 49 02 38 E5 66 9D 49 02 BD 4A 02 E9 00 9D 4A 02 + .byte $B9, $0E, $F8, $85, $66, $30, $1C, $A9, $F0, $85, $68, $A5, $00, $F0, $04, $A9 ; CPU:$EB3D PRG:6B3D B9 0E F8 85 66 30 1C A9 F0 85 68 A5 00 F0 04 A9 + .byte $DC, $85, $68, $BD, $47, $02, $18, $65, $66, $9D, $47, $02, $C5, $68, $90, $17 ; CPU:$EB4D PRG:6B4D DC 85 68 BD 47 02 18 65 66 9D 47 02 C5 68 90 17 + .byte $A9, $02, $60, $29, $7F, $85, $66, $BD, $47, $02, $38, $E5, $66, $9D, $47, $02 ; CPU:$EB5D PRG:6B5D A9 02 60 29 7F 85 66 BD 47 02 38 E5 66 9D 47 02 + .byte $C9, $1C, $B0, $03, $A9, $01, $60, $E6, $5E, $D0, $02, $E6, $5F, $FE, $48, $02 ; CPU:$EB6D PRG:6B6D C9 1C B0 03 A9 01 60 E6 5E D0 02 E6 5F FE 48 02 + .byte $A5, $64, $30, $13, $C6, $60, $F0, $03, $4C, $EF, $EA, $A5, $5E, $9D, $52, $02 ; CPU:$EB7D PRG:6B7D A5 64 30 13 C6 60 F0 03 4C EF EA A5 5E 9D 52 02 + .byte $A5, $5F, $9D, $53, $02, $A9, $00, $60 ; CPU:$EB8D PRG:6B8D A5 5F 9D 53 02 A9 00 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EB95 +; Global: Branch target inside Sub: taken when EB95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EB95: + ldy SpriteX ; CPU:$EB95 PRG:6B95 A4 88 + lda a:Zp5C,y ; CPU:$EB97 PRG:6B97 B9 5C 00 + sta ObjectX ; CPU:$EB9A PRG:6B9A 85 60 + ldy #$00 ; CPU:$EB9C PRG:6B9C A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero66 +; Global: Branch target inside NmiHandler: taken when OnNonzero66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero66: + lda $02E6,y ; CPU:$EB9E PRG:6B9E B9 E6 02 + beq NmiHandler_Loop382 ; CPU:$EBA1 PRG:6BA1 F0 0B + tya ; CPU:$EBA3 PRG:6BA3 98 + clc ; CPU:$EBA4 PRG:6BA4 18 + adc #$10 ; CPU:$EBA5 PRG:6BA5 69 10 + tay ; CPU:$EBA7 PRG:6BA7 A8 + cpy ObjectX ; CPU:$EBA8 PRG:6BA8 C4 60 + bne NmiHandler_OnNonzero66 ; CPU:$EBAA PRG:6BAA D0 F2 + lda #$01 ; CPU:$EBAC PRG:6BAC A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop382 +; Global: Branch target inside NmiHandler: taken when Loop382. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop382: + rts ; CPU:$EBAE PRG:6BAE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_EBAF +; Global: Branch target inside Label: taken when EBAF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EBAF: + lda $024A,x ; CPU:$EBAF PRG:6BAF BD 4A 02 + cmp #$01 ; CPU:$EBB2 PRG:6BB2 C9 01 + bne NmiHandler_Loop384 ; CPU:$EBB4 PRG:6BB4 D0 61 + lda $0249,x ; CPU:$EBB6 PRG:6BB6 BD 49 02 + cmp #$E0 ; CPU:$EBB9 PRG:6BB9 C9 E0 + bcs NmiHandler_Loop384 ; CPU:$EBBB PRG:6BBB B0 5A + cmp Zp89 ; CPU:$EBBD PRG:6BBD C5 89 + bcc NmiHandler_Loop384 ; CPU:$EBBF PRG:6BBF 90 56 + lda $0250,x ; CPU:$EBC1 PRG:6BC1 BD 50 02 + beq NmiHandler_Loop383 ; CPU:$EBC4 PRG:6BC4 F0 06 + dec $0250,x ; CPU:$EBC6 PRG:6BC6 DE 50 02 + jmp NmiHandler_Loop384 ; CPU:$EBC9 PRG:6BC9 4C 17 EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop383 +; Global: Branch target inside NmiHandler: taken when Loop383. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop383: + lda #$40 ; CPU:$EBCC PRG:6BCC A9 40 + sta $0250,x ; CPU:$EBCE PRG:6BCE 9D 50 02 + lda $0246,x ; CPU:$EBD1 PRG:6BD1 BD 46 02 + sec ; CPU:$EBD4 PRG:6BD4 38 + sbc #$19 ; CPU:$EBD5 PRG:6BD5 E9 19 + asl a ; CPU:$EBD7 PRG:6BD7 0A + asl a ; CPU:$EBD8 PRG:6BD8 0A + tay ; CPU:$EBD9 PRG:6BD9 A8 + lda $8003,y ; CPU:$EBDA PRG:6BDA B9 03 80 + beq NmiHandler_Loop384 ; CPU:$EBDD PRG:6BDD F0 38 + sta VramWritePtrLo ; CPU:$EBDF PRG:6BDF 85 5E + jsr Sub_EB95 ; CPU:$EBE1 PRG:6BE1 20 95 EB + bne NmiHandler_Loop384 ; CPU:$EBE4 PRG:6BE4 D0 31 + lda VramWritePtrLo ; CPU:$EBE6 PRG:6BE6 A5 5E + and #$1F ; CPU:$EBE8 PRG:6BE8 29 1F + sta $02E6,y ; CPU:$EBEA PRG:6BEA 99 E6 02 + lda VramWritePtrLo ; CPU:$EBED PRG:6BED A5 5E + lsr a ; CPU:$EBEF PRG:6BEF 4A + lsr a ; CPU:$EBF0 PRG:6BF0 4A + lsr a ; CPU:$EBF1 PRG:6BF1 4A + lsr a ; CPU:$EBF2 PRG:6BF2 4A + lsr a ; CPU:$EBF3 PRG:6BF3 4A + and #$03 ; CPU:$EBF4 PRG:6BF4 29 03 + sta $02ED,y ; CPU:$EBF6 PRG:6BF6 99 ED 02 + lda #$00 ; CPU:$EBF9 PRG:6BF9 A9 00 + sta $02EE,y ; CPU:$EBFB PRG:6BFB 99 EE 02 + lda $0247,x ; CPU:$EBFE PRG:6BFE BD 47 02 + sbc #$03 ; CPU:$EC01 PRG:6C01 E9 03 + sta $02E7,y ; CPU:$EC03 PRG:6C03 99 E7 02 + lda $0249,x ; CPU:$EC06 PRG:6C06 BD 49 02 + sta $02E9,y ; CPU:$EC09 PRG:6C09 99 E9 02 + lda $024A,x ; CPU:$EC0C PRG:6C0C BD 4A 02 + sta $02EA,y ; CPU:$EC0F PRG:6C0F 99 EA 02 + lda #$02 ; CPU:$EC12 PRG:6C12 A9 02 + sta $02F1,y ; CPU:$EC14 PRG:6C14 99 F1 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop384 +; Global: Branch target inside NmiHandler: taken when Loop384. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop384: + rts ; CPU:$EC17 PRG:6C17 60 +; ----------------------------------------------------------------------------- +; Routine: Label_EC18 +; Global: Branch target inside Label: taken when EC18. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EC18: + lda $0249,x ; CPU:$EC18 PRG:6C18 BD 49 02 + cmp Zp89 ; CPU:$EC1B PRG:6C1B C5 89 + bcc NmiHandler_Loop385 ; CPU:$EC1D PRG:6C1D 90 4C + lda $0246,x ; CPU:$EC1F PRG:6C1F BD 46 02 + sec ; CPU:$EC22 PRG:6C22 38 + sbc #$19 ; CPU:$EC23 PRG:6C23 E9 19 + asl a ; CPU:$EC25 PRG:6C25 0A + asl a ; CPU:$EC26 PRG:6C26 0A + tay ; CPU:$EC27 PRG:6C27 A8 + lda $8003,y ; CPU:$EC28 PRG:6C28 B9 03 80 + sta VramWritePtrLo ; CPU:$EC2B PRG:6C2B 85 5E + jsr Sub_EB95 ; CPU:$EC2D PRG:6C2D 20 95 EB + bne NmiHandler_Loop385 ; CPU:$EC30 PRG:6C30 D0 39 + lda VramWritePtrLo ; CPU:$EC32 PRG:6C32 A5 5E + and #$1F ; CPU:$EC34 PRG:6C34 29 1F + sta $02E6,y ; CPU:$EC36 PRG:6C36 99 E6 02 + lda VramWritePtrLo ; CPU:$EC39 PRG:6C39 A5 5E + lsr a ; CPU:$EC3B PRG:6C3B 4A + lsr a ; CPU:$EC3C PRG:6C3C 4A + lsr a ; CPU:$EC3D PRG:6C3D 4A + lsr a ; CPU:$EC3E PRG:6C3E 4A + lsr a ; CPU:$EC3F PRG:6C3F 4A + and #$03 ; CPU:$EC40 PRG:6C40 29 03 + sta $02ED,y ; CPU:$EC42 PRG:6C42 99 ED 02 + lda #$00 ; CPU:$EC45 PRG:6C45 A9 00 + sta $02EE,y ; CPU:$EC47 PRG:6C47 99 EE 02 + sta $02EB,y ; CPU:$EC4A PRG:6C4A 99 EB 02 + sta $02EC,y ; CPU:$EC4D PRG:6C4D 99 EC 02 + lda $0247,x ; CPU:$EC50 PRG:6C50 BD 47 02 + sbc #$03 ; CPU:$EC53 PRG:6C53 E9 03 + sta $02E7,y ; CPU:$EC55 PRG:6C55 99 E7 02 + lda $0249,x ; CPU:$EC58 PRG:6C58 BD 49 02 + sta $02E9,y ; CPU:$EC5B PRG:6C5B 99 E9 02 + lda $024A,x ; CPU:$EC5E PRG:6C5E BD 4A 02 + sta $02EA,y ; CPU:$EC61 PRG:6C61 99 EA 02 + lda #$02 ; CPU:$EC64 PRG:6C64 A9 02 + sta $02F1,y ; CPU:$EC66 PRG:6C66 99 F1 02 + lda #$00 ; CPU:$EC69 PRG:6C69 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop385 +; Global: Branch target inside NmiHandler: taken when Loop385. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop385: + rts ; CPU:$EC6B PRG:6C6B 60 +; ---- data $EC6C-$EC99 (46 bytes) ---- +; referenced by `lda $EC6C,y` at $ECC2 (operand $EC6C falls inside this region) +; referenced by `lda $EC6D,y` at $ECC7 (operand $EC6D falls inside this region) + .byte $DC, $EC, $DF, $EC, $F5, $EC, $82, $F5, $E1, $F3, $AF, $ED, $D8, $ED, $8A, $EE ; CPU:$EC6C PRG:6C6C DC EC DF EC F5 EC 82 F5 E1 F3 AF ED D8 ED 8A EE + .byte $82, $F5, $46, $EF, $8F, $EF, $BD, $EF, $5F, $F0, $5E, $F1, $E1, $F3, $9A, $F2 ; CPU:$EC7C PRG:6C7C 82 F5 46 EF 8F EF BD EF 5F F0 5E F1 E1 F3 9A F2 + .byte $C1, $F3, $E1, $F3, $90, $F4, $82, $F5, $12, $F6, $15, $F7, $3A, $F7 ; CPU:$EC8C PRG:6C8C C1 F3 E1 F3 90 F4 82 F5 12 F6 15 F7 3A F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_EC9A +; Global: Branch target inside Sub: taken when EC9A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC9A: + ldx #$00 ; CPU:$EC9A PRG:6C9A A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero67 +; Global: Branch target inside NmiHandler: taken when OnNonzero67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero67: + lda Zp92 ; CPU:$EC9C PRG:6C9C A5 92 + adc Zp0E ; CPU:$EC9E PRG:6C9E 65 0E + adc Zp79 ; CPU:$ECA0 PRG:6CA0 65 79 + sta Zp92 ; CPU:$ECA2 PRG:6CA2 85 92 + inc Zp92 ; CPU:$ECA4 PRG:6CA4 E6 92 + lda $0246,x ; CPU:$ECA6 PRG:6CA6 BD 46 02 + beq NmiHandler_Loop387 ; CPU:$ECA9 PRG:6CA9 F0 24 + lda $024F,x ; CPU:$ECAB PRG:6CAB BD 4F 02 + beq NmiHandler_Loop386 ; CPU:$ECAE PRG:6CAE F0 06 + dec $024F,x ; CPU:$ECB0 PRG:6CB0 DE 4F 02 + jmp NmiHandler_Loop387 ; CPU:$ECB3 PRG:6CB3 4C CF EC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop386 +; Global: Branch target inside NmiHandler: taken when Loop386. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop386: + lda $024A,x ; CPU:$ECB6 PRG:6CB6 BD 4A 02 + and #$03 ; CPU:$ECB9 PRG:6CB9 29 03 + sta $024A,x ; CPU:$ECBB PRG:6CBB 9D 4A 02 + lda $024D,x ; CPU:$ECBE PRG:6CBE BD 4D 02 + tay ; CPU:$ECC1 PRG:6CC1 A8 + lda $EC6C,y ; CPU:$ECC2 PRG:6CC2 B9 6C EC + sta HandlerPtrLo ; CPU:$ECC5 PRG:6CC5 85 99 + lda $EC6D,y ; CPU:$ECC7 PRG:6CC7 B9 6D EC + sta HandlerPtrHi ; CPU:$ECCA PRG:6CCA 85 9A + jmp (HandlerPtrLo) ; CPU:$ECCC PRG:6CCC 6C 99 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop387 +; Global: Branch target inside NmiHandler: taken when Loop387. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop387: + txa ; CPU:$ECCF PRG:6CCF 8A + clc ; CPU:$ECD0 PRG:6CD0 18 + adc #$10 ; CPU:$ECD1 PRG:6CD1 69 10 + tax ; CPU:$ECD3 PRG:6CD3 AA + cpx #$A0 ; CPU:$ECD4 PRG:6CD4 E0 A0 + bne NmiHandler_OnNonzero67 ; CPU:$ECD6 PRG:6CD6 D0 C4 + jsr Sub_F7E6 ; CPU:$ECD8 PRG:6CD8 20 E6 F7 + rts ; CPU:$ECDB PRG:6CDB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_ECDC +; Global: Branch target inside Label: taken when ECDC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECDC: + jmp NmiHandler_Loop387 ; CPU:$ECDC PRG:6CDC 4C CF EC +; ----------------------------------------------------------------------------- +; Routine: Label_ECDF +; Global: Branch target inside Label: taken when ECDF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ECDF: + lda PlayerIndex ; CPU:$ECDF PRG:6CDF A5 00 + beq NmiHandler_Loop388 ; CPU:$ECE1 PRG:6CE1 F0 06 + lda Zp79 ; CPU:$ECE3 PRG:6CE3 A5 79 + and #$01 ; CPU:$ECE5 PRG:6CE5 29 01 + bne NmiHandler_Loop389 ; CPU:$ECE7 PRG:6CE7 D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop388 +; Global: Branch target inside NmiHandler: taken when Loop388. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop388: + lda $0249,x ; CPU:$ECE9 PRG:6CE9 BD 49 02 + sec ; CPU:$ECEC PRG:6CEC 38 + sbc #$01 ; CPU:$ECED PRG:6CED E9 01 + sta $0249,x ; CPU:$ECEF PRG:6CEF 9D 49 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop389 +; Global: Branch target inside NmiHandler: taken when Loop389. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop389: + jmp NmiHandler_Loop387 ; CPU:$ECF2 PRG:6CF2 4C CF EC +; ---- data $ECF5-$F7E5 (2801 bytes) ---- +; referenced by `lda $F7DE,y` at $F7F2 (operand $F7DE falls inside this region) +; referenced by `lda $F7DF,y` at $F7F7 (operand $F7DF falls inside this region) + .byte $BD, $4E, $02, $0A, $A8, $B9, $07, $ED, $85, $99, $B9, $08, $ED, $85, $9A, $6C ; CPU:$ECF5 PRG:6CF5 BD 4E 02 0A A8 B9 07 ED 85 99 B9 08 ED 85 9A 6C + .byte $99, $00, $21, $ED, $4B, $ED, $78, $ED, $8B, $ED, $9B, $ED, $27, $37, $47, $57 ; CPU:$ED05 PRG:6D05 99 00 21 ED 4B ED 78 ED 8B ED 9B ED 27 37 47 57 + .byte $63, $73, $97, $A7, $B3, $C3, $D3, $E3, $27, $57, $B3, $E3, $A5, $92, $29, $0F ; CPU:$ED15 PRG:6D15 63 73 97 A7 B3 C3 D3 E3 27 57 B3 E3 A5 92 29 0F + .byte $A8, $B9, $11, $ED, $48, $29, $F0, $9D, $47, $02, $68, $29, $0F, $9D, $54, $02 ; CPU:$ED25 PRG:6D25 A8 B9 11 ED 48 29 F0 9D 47 02 68 29 0F 9D 54 02 + .byte $A5, $89, $C9, $B9, $B0, $05, $69, $46, $4C, $42, $ED, $A9, $FF, $9D, $55, $02 ; CPU:$ED35 PRG:6D35 A5 89 C9 B9 B0 05 69 46 4C 42 ED A9 FF 9D 55 02 + .byte $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $E9, $02, $9D, $49, $02, $BD ; CPU:$ED45 PRG:6D45 FE 4E 02 4C CF EC BD 49 02 38 E9 02 9D 49 02 BD + .byte $4A, $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $15, $BD, $49, $02, $DD, $55 ; CPU:$ED55 PRG:6D55 4A 02 E9 00 9D 4A 02 C9 01 D0 15 BD 49 02 DD 55 + .byte $02, $B0, $0D, $A9, $02, $9D, $51, $02, $A9, $08, $20, $AD, $EA, $FE, $4E, $02 ; CPU:$ED65 PRG:6D65 02 B0 0D A9 02 9D 51 02 A9 08 20 AD EA FE 4E 02 + .byte $4C, $CF, $EC, $20, $DC, $EA, $10, $0B, $20, $18, $EC, $A9, $1F, $9D, $55, $02 ; CPU:$ED75 PRG:6D75 4C CF EC 20 DC EA 10 0B 20 18 EC A9 1F 9D 55 02 + .byte $FE, $4E, $02, $4C, $CF, $EC, $DE, $55, $02, $D0, $08, $A9, $03, $9D, $51, $02 ; CPU:$ED85 PRG:6D85 FE 4E 02 4C CF EC DE 55 02 D0 08 A9 03 9D 51 02 + .byte $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $18, $7D, $51, $02, $9D, $49, $02 ; CPU:$ED95 PRG:6D95 FE 4E 02 4C CF EC BD 49 02 18 7D 51 02 9D 49 02 + .byte $90, $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $20, $AF, $EB, $BD, $4E, $02 ; CPU:$EDA5 PRG:6DA5 90 05 A9 00 9D 46 02 4C CF EC 20 AF EB BD 4E 02 + .byte $0A, $A8, $B9, $C4, $ED, $85, $99, $B9, $C5, $ED, $85, $9A, $6C, $99, $00, $3F ; CPU:$EDB5 PRG:6DB5 0A A8 B9 C4 ED 85 99 B9 C5 ED 85 9A 6C 99 00 3F + .byte $F6, $70, $F6, $98, $F6, $B8, $F6, $D7, $F6, $EC, $F0, $D7, $F0, $17, $F1, $D7 ; CPU:$EDC5 PRG:6DC5 F6 70 F6 98 F6 B8 F6 D7 F6 EC F0 D7 F0 17 F1 D7 + .byte $F0, $4B, $F1, $BD, $4E, $02, $0A, $A8, $B9, $EA, $ED, $85, $99, $B9, $EB, $ED ; CPU:$EDD5 PRG:6DD5 F0 4B F1 BD 4E 02 0A A8 B9 EA ED 85 99 B9 EB ED + .byte $85, $9A, $6C, $99, $00, $2D, $F7, $F2, $ED, $72, $EE, $4B, $F1, $BD, $49, $02 ; CPU:$EDE5 PRG:6DE5 85 9A 6C 99 00 2D F7 F2 ED 72 EE 4B F1 BD 49 02 + .byte $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $D0 ; CPU:$EDF5 PRG:6DF5 38 FD 51 02 9D 49 02 BD 4A 02 E9 00 9D 4A 02 D0 + .byte $03, $4C, $56, $F1, $BD, $47, $02, $29, $FC, $85, $68, $A5, $8A, $29, $FC, $C5 ; CPU:$EE05 PRG:6E05 03 4C 56 F1 BD 47 02 29 FC 85 68 A5 8A 29 FC C5 + .byte $68, $D0, $57, $A9, $20, $9D, $55, $02, $A0, $02, $BD, $47, $02, $10, $02, $A0 ; CPU:$EE15 PRG:6E15 68 D0 57 A9 20 9D 55 02 A0 02 BD 47 02 10 02 A0 + .byte $FE, $98, $9D, $51, $02, $FE, $4E, $02, $20, $18, $EC, $C9, $00, $D0, $3B, $A9 ; CPU:$EE25 PRG:6E25 FE 98 9D 51 02 FE 4E 02 20 18 EC C9 00 D0 3B A9 + .byte $07, $99, $F4, $02, $A9, $7F, $99, $F2, $02, $A9, $81, $99, $F3, $02, $20, $18 ; CPU:$EE35 PRG:6E35 07 99 F4 02 A9 7F 99 F2 02 A9 81 99 F3 02 20 18 + .byte $EC, $C9, $00, $D0, $25, $A9, $00, $99, $F4, $02, $A9, $72, $99, $F2, $02, $A9 ; CPU:$EE45 PRG:6E45 EC C9 00 D0 25 A9 00 99 F4 02 A9 72 99 F2 02 A9 + .byte $81, $99, $F3, $02, $20, $18, $EC, $C9, $00, $D0, $0F, $A9, $00, $99, $F4, $02 ; CPU:$EE55 PRG:6E55 81 99 F3 02 20 18 EC C9 00 D0 0F A9 00 99 F4 02 + .byte $A9, $7F, $99, $F2, $02, $A9, $81, $99, $F3, $02, $4C, $CF, $EC, $DE, $49, $02 ; CPU:$EE65 PRG:6E65 A9 7F 99 F2 02 A9 81 99 F3 02 4C CF EC DE 49 02 + .byte $BD, $47, $02, $18, $7D, $51, $02, $9D, $47, $02, $DE, $55, $02, $D0, $03, $FE ; CPU:$EE75 PRG:6E75 BD 47 02 18 7D 51 02 9D 47 02 DE 55 02 D0 03 FE + .byte $4E, $02, $4C, $CF, $EC, $20, $AF, $EB, $BD, $4E, $02, $0A, $A8, $B9, $9F, $EE ; CPU:$EE85 PRG:6E85 4E 02 4C CF EC 20 AF EB BD 4E 02 0A A8 B9 9F EE + .byte $85, $99, $B9, $A0, $EE, $85, $9A, $6C, $99, $00, $AD, $EE, $EB, $EE, $05, $EF ; CPU:$EE95 PRG:6E95 85 99 B9 A0 EE 85 9A 6C 99 00 AD EE EB EE 05 EF + .byte $1F, $EF, $39, $EF, $28, $3C, $50, $50, $FE, $4E, $02, $A9, $10, $20, $AD, $EA ; CPU:$EEA5 PRG:6EA5 1F EF 39 EF 28 3C 50 50 FE 4E 02 A9 10 20 AD EA + .byte $A9, $02, $9D, $51, $02, $A5, $92, $29, $03, $A8, $A5, $8A, $10, $10, $A9, $02 ; CPU:$EEB5 PRG:6EB5 A9 02 9D 51 02 A5 92 29 03 A8 A5 8A 10 10 A9 02 + .byte $9D, $54, $02, $A9, $80, $F9, $A9, $EE, $9D, $47, $02, $4C, $E0, $EE, $A9, $06 ; CPU:$EEC5 PRG:6EC5 9D 54 02 A9 80 F9 A9 EE 9D 47 02 4C E0 EE A9 06 + .byte $9D, $54, $02, $A9, $80, $79, $A9, $EE, $9D, $47, $02, $4C, $CF, $EC, $01, $FF ; CPU:$EED5 PRG:6ED5 9D 54 02 A9 80 79 A9 EE 9D 47 02 4C CF EC 01 FF + .byte $03, $00, $05, $FF, $07, $04, $20, $DC, $EA, $10, $12, $FE, $4E, $02, $BD, $54 ; CPU:$EEE5 PRG:6EE5 03 00 05 FF 07 04 20 DC EA 10 12 FE 4E 02 BD 54 + .byte $02, $A8, $B9, $E3, $EE, $9D, $54, $02, $A9, $08, $20, $AD, $EA, $4C, $CF, $EC ; CPU:$EEF5 PRG:6EF5 02 A8 B9 E3 EE 9D 54 02 A9 08 20 AD EA 4C CF EC + .byte $20, $DC, $EA, $10, $12, $FE, $4E, $02, $BD, $54, $02, $A8, $B9, $E3, $EE, $9D ; CPU:$EF05 PRG:6F05 20 DC EA 10 12 FE 4E 02 BD 54 02 A8 B9 E3 EE 9D + .byte $54, $02, $A9, $08, $20, $AD, $EA, $4C, $CF, $EC, $20, $DC, $EA, $10, $12, $FE ; CPU:$EF15 PRG:6F15 54 02 A9 08 20 AD EA 4C CF EC 20 DC EA 10 12 FE + .byte $4E, $02, $A9, $10, $20, $AD, $EA, $BD, $54, $02, $A8, $B9, $E3, $EE, $9D, $54 ; CPU:$EF25 PRG:6F25 4E 02 A9 10 20 AD EA BD 54 02 A8 B9 E3 EE 9D 54 + .byte $02, $4C, $CF, $EC, $20, $DC, $EA, $10, $05, $A9, $00, $9D, $46, $02, $4C, $CF ; CPU:$EF35 PRG:6F35 02 4C CF EC 20 DC EA 10 05 A9 00 9D 46 02 4C CF + .byte $EC, $BD, $4E, $02, $0A, $A8, $B9, $58, $EF, $85, $99, $B9, $59, $EF, $85, $9A ; CPU:$EF45 PRG:6F45 EC BD 4E 02 0A A8 B9 58 EF 85 99 B9 59 EF 85 9A + .byte $6C, $99, $00, $5C, $EF, $67, $EF, $A9, $00, $9D, $55, $02, $FE, $4E, $02, $4C ; CPU:$EF55 PRG:6F55 6C 99 00 5C EF 67 EF A9 00 9D 55 02 FE 4E 02 4C + .byte $CF, $EC, $AD, $66, $03, $C9, $1F, $D0, $08, $A9, $00, $9D, $55, $02, $4C, $CF ; CPU:$EF65 PRG:6F65 CF EC AD 66 03 C9 1F D0 08 A9 00 9D 55 02 4C CF + .byte $EC, $A5, $79, $29, $01, $D0, $10, $BD, $55, $02, $38, $E9, $01, $9D, $55, $02 ; CPU:$EF75 PRG:6F75 EC A5 79 29 01 D0 10 BD 55 02 38 E9 01 9D 55 02 + .byte $D0, $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $BD, $47, $02, $18, $7D, $48 ; CPU:$EF85 PRG:6F85 D0 05 A9 00 9D 46 02 4C CF EC BD 47 02 18 7D 48 + .byte $02, $9D, $47, $02, $C9, $20, $90, $12, $C9, $E0, $B0, $0E, $A9, $01, $9D, $51 ; CPU:$EF95 PRG:6F95 02 9D 47 02 C9 20 90 12 C9 E0 B0 0E A9 01 9D 51 + .byte $02, $A5, $79, $29, $01, $D0, $E0, $4C, $9B, $ED, $BD, $48, $02, $49, $FF, $18 ; CPU:$EFA5 PRG:6FA5 02 A5 79 29 01 D0 E0 4C 9B ED BD 48 02 49 FF 18 + .byte $69, $01, $9D, $48, $02, $4C, $CF, $EC, $20, $AF, $EB, $BD, $4E, $02, $0A, $A8 ; CPU:$EFB5 PRG:6FB5 69 01 9D 48 02 4C CF EC 20 AF EB BD 4E 02 0A A8 + .byte $B9, $D2, $EF, $85, $99, $B9, $D3, $EF, $85, $9A, $6C, $99, $00, $E4, $EF, $21 ; CPU:$EFC5 PRG:6FC5 B9 D2 EF 85 99 B9 D3 EF 85 9A 6C 99 00 E4 EF 21 + .byte $F0, $40, $F0, $3C, $67, $99, $BC, $00, $00, $03, $06, $00, $00, $07, $02, $A5 ; CPU:$EFD5 PRG:6FD5 F0 40 F0 3C 67 99 BC 00 00 03 06 00 00 07 02 A5 + .byte $92, $29, $03, $A8, $B9, $D8, $EF, $9D, $47, $02, $A9, $07, $9D, $54, $02, $A9 ; CPU:$EFE5 PRG:6FE5 92 29 03 A8 B9 D8 EF 9D 47 02 A9 07 9D 54 02 A9 + .byte $02, $9D, $51, $02, $A9, $0C, $20, $AD, $EA, $BD, $52, $02, $18, $69, $4C, $9D ; CPU:$EFF5 PRG:6FF5 02 9D 51 02 A9 0C 20 AD EA BD 52 02 18 69 4C 9D + .byte $52, $02, $BD, $53, $02, $69, $00, $9D, $53, $02, $BD, $54, $02, $A8, $B9, $DC ; CPU:$F005 PRG:7005 52 02 BD 53 02 69 00 9D 53 02 BD 54 02 A8 B9 DC + .byte $EF, $9D, $54, $02, $A9, $01, $9D, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $10 ; CPU:$F015 PRG:7015 EF 9D 54 02 A9 01 9D 4E 02 4C CF EC 20 DC EA 10 + .byte $17, $A9, $00, $9D, $48, $02, $BD, $54, $02, $A8, $B9, $DC, $EF, $9D, $54, $02 ; CPU:$F025 PRG:7025 17 A9 00 9D 48 02 BD 54 02 A8 B9 DC EF 9D 54 02 + .byte $A9, $0C, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $BD, $4A ; CPU:$F035 PRG:7035 A9 0C 20 AD EA FE 4E 02 4C CF EC 20 DC EA BD 4A + .byte $02, $D0, $0A, $BD, $49, $02, $C9, $C0, $B0, $03, $4C, $56, $F1, $BD, $48, $02 ; CPU:$F045 PRG:7045 02 D0 0A BD 49 02 C9 C0 B0 03 4C 56 F1 BD 48 02 + .byte $C9, $40, $90, $03, $4C, $F9, $EF, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9 ; CPU:$F055 PRG:7055 C9 40 90 03 4C F9 EF 4C CF EC BD 4E 02 0A A8 B9 + .byte $71, $F0, $85, $99, $B9, $72, $F0, $85, $9A, $6C, $99, $00, $81, $F0, $B8, $F0 ; CPU:$F065 PRG:7065 71 F0 85 99 B9 72 F0 85 9A 6C 99 00 81 F0 B8 F0 + .byte $D7, $F0, $EC, $F0, $D7, $F0, $17, $F1, $D7, $F0, $4B, $F1, $A9, $03, $9D, $54 ; CPU:$F075 PRG:7075 D7 F0 EC F0 D7 F0 17 F1 D7 F0 4B F1 A9 03 9D 54 + .byte $02, $A0, $C0, $A5, $8A, $10, $07, $A9, $07, $9D, $54, $02, $A0, $40, $98, $9D ; CPU:$F085 PRG:7085 02 A0 C0 A5 8A 10 07 A9 07 9D 54 02 A0 40 98 9D + .byte $47, $02, $A9, $03, $9D, $51, $02, $A5, $89, $30, $02, $A9, $80, $49, $FF, $4A ; CPU:$F095 PRG:7095 47 02 A9 03 9D 51 02 A5 89 30 02 A9 80 49 FF 4A + .byte $4A, $4A, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC, $00, $00, $03, $06, $00 ; CPU:$F0A5 PRG:70A5 4A 4A 20 AD EA FE 4E 02 4C CF EC 00 00 03 06 00 + .byte $00, $07, $02, $20, $DC, $EA, $10, $17, $A9, $02, $9D, $51, $02, $FE, $4E, $02 ; CPU:$F0B5 PRG:70B5 00 07 02 20 DC EA 10 17 A9 02 9D 51 02 FE 4E 02 + .byte $BD, $54, $02, $A8, $B9, $B0, $F0, $9D, $54, $02, $A9, $03, $20, $AD, $EA, $4C ; CPU:$F0C5 PRG:70C5 BD 54 02 A8 B9 B0 F0 9D 54 02 A9 03 20 AD EA 4C + .byte $CF, $EC, $20, $DC, $EA, $10, $06, $FE, $4E, $02, $4C, $CF, $EC, $F0, $05, $A9 ; CPU:$F0D5 PRG:70D5 CF EC 20 DC EA 10 06 FE 4E 02 4C CF EC F0 05 A9 + .byte $07, $9D, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $E9, $02, $9D, $49, $02 ; CPU:$F0E5 PRG:70E5 07 9D 4E 02 4C CF EC BD 49 02 38 E9 02 9D 49 02 + .byte $E9, $18, $C5, $89, $B0, $19, $A5, $8A, $9D, $55, $02, $DD, $47, $02, $A9, $07 ; CPU:$F0F5 PRG:70F5 E9 18 C5 89 B0 19 A5 8A 9D 55 02 DD 47 02 A9 07 + .byte $B0, $02, $A9, $03, $9D, $54, $02, $A9, $03, $20, $AD, $EA, $FE, $4E, $02, $4C ; CPU:$F105 PRG:7105 B0 02 A9 03 9D 54 02 A9 03 20 AD EA FE 4E 02 4C + .byte $CF, $EC, $BD, $54, $02, $C9, $03, $D0, $18, $BD, $47, $02, $38, $E9, $02, $9D ; CPU:$F115 PRG:7115 CF EC BD 54 02 C9 03 D0 18 BD 47 02 38 E9 02 9D + .byte $47, $02, $DD, $55, $02, $90, $07, $C9, $3C, $90, $03, $4C, $CF, $EC, $4C, $BD ; CPU:$F125 PRG:7125 47 02 DD 55 02 90 07 C9 3C 90 03 4C CF EC 4C BD + .byte $F0, $BD, $47, $02, $18, $69, $02, $9D, $47, $02, $DD, $55, $02, $B0, $EF, $C9 ; CPU:$F135 PRG:7135 F0 BD 47 02 18 69 02 9D 47 02 DD 55 02 B0 EF C9 + .byte $C3, $B0, $EB, $4C, $CF, $EC, $BD, $49, $02, $38, $E9, $02, $9D, $49, $02, $B0 ; CPU:$F145 PRG:7145 C3 B0 EB 4C CF EC BD 49 02 38 E9 02 9D 49 02 B0 + .byte $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9, $70 ; CPU:$F155 PRG:7155 05 A9 00 9D 46 02 4C CF EC BD 4E 02 0A A8 B9 70 + .byte $F1, $85, $99, $B9, $71, $F1, $85, $9A, $6C, $99, $00, $7C, $F1, $A8, $F1, $22 ; CPU:$F165 PRG:7165 F1 85 99 B9 71 F1 85 9A 6C 99 00 7C F1 A8 F1 22 + .byte $F2, $47, $F2, $57, $F2, $8A, $F2, $A9, $DA, $9D, $47, $02, $A5, $92, $29, $4F ; CPU:$F175 PRG:7175 F2 47 F2 57 F2 8A F2 A9 DA 9D 47 02 A5 92 29 4F + .byte $69, $20, $9D, $49, $02, $A9, $02, $9D, $4A, $02, $A5, $8A, $29, $FC, $C9, $36 ; CPU:$F185 PRG:7185 69 20 9D 49 02 A9 02 9D 4A 02 A5 8A 29 FC C9 36 + .byte $B0, $02, $A9, $36, $C9, $92, $90, $02, $A9, $92, $9D, $55, $02, $FE, $4E, $02 ; CPU:$F195 PRG:7195 B0 02 A9 36 C9 92 90 02 A9 92 9D 55 02 FE 4E 02 + .byte $4C, $CF, $EC, $BD, $47, $02, $4A, $4A, $4A, $4A, $4A, $4A, $9D, $51, $02, $FE ; CPU:$F1A5 PRG:71A5 4C CF EC BD 47 02 4A 4A 4A 4A 4A 4A 9D 51 02 FE + .byte $51, $02, $BD, $49, $02, $D0, $03, $DE, $4A, $02, $DE, $49, $02, $BD, $47, $02 ; CPU:$F1B5 PRG:71B5 51 02 BD 49 02 D0 03 DE 4A 02 DE 49 02 BD 47 02 + .byte $38, $FD, $51, $02, $9D, $47, $02, $29, $FC, $DD, $55, $02, $B0, $1E, $FE, $4E ; CPU:$F1C5 PRG:71C5 38 FD 51 02 9D 47 02 29 FC DD 55 02 B0 1E FE 4E + .byte $02, $A9, $06, $20, $AD, $EA, $A9, $06, $9D, $54, $02, $BD, $52, $02, $18, $69 ; CPU:$F1D5 PRG:71D5 02 A9 06 20 AD EA A9 06 9D 54 02 BD 52 02 18 69 + .byte $1E, $9D, $52, $02, $BD, $53, $02, $69, $00, $9D, $53, $02, $BD, $50, $02, $D0 ; CPU:$F1E5 PRG:71E5 1E 9D 52 02 BD 53 02 69 00 9D 53 02 BD 50 02 D0 + .byte $11, $BD, $47, $02, $E5, $8A, $C9, $03, $B0, $08, $20, $18, $EC, $A9, $01, $9D ; CPU:$F1F5 PRG:71F5 11 BD 47 02 E5 8A C9 03 B0 08 20 18 EC A9 01 9D + .byte $50, $02, $A0, $00, $BD, $47, $02, $C9, $B2, $B0, $06, $C8, $C9, $92, $B0, $01 ; CPU:$F205 PRG:7205 50 02 A0 00 BD 47 02 C9 B2 B0 06 C8 C9 92 B0 01 + .byte $C8, $98, $9D, $4C, $02, $A9, $00, $9D, $4B, $02, $4C, $CF, $EC, $A9, $02, $9D ; CPU:$F215 PRG:7215 C8 98 9D 4C 02 A9 00 9D 4B 02 4C CF EC A9 02 9D + .byte $51, $02, $20, $DC, $EA, $10, $18, $FE, $4E, $02, $A9, $06, $20, $AD, $EA, $A9 ; CPU:$F225 PRG:7225 51 02 20 DC EA 10 18 FE 4E 02 A9 06 20 AD EA A9 + .byte $00, $9D, $48, $02, $9D, $50, $02, $A9, $07, $9D, $54, $02, $20, $18, $EC, $4C ; CPU:$F235 PRG:7235 00 9D 48 02 9D 50 02 A9 07 9D 54 02 20 18 EC 4C + .byte $CF, $EC, $20, $DC, $EA, $BD, $48, $02, $C9, $25, $90, $03, $FE, $4E, $02, $4C ; CPU:$F245 PRG:7245 CF EC 20 DC EA BD 48 02 C9 25 90 03 FE 4E 02 4C + .byte $CF, $EC, $BD, $49, $02, $D0, $03, $DE, $4A, $02, $DE, $49, $02, $BD, $47, $02 ; CPU:$F255 PRG:7255 CF EC BD 49 02 D0 03 DE 4A 02 DE 49 02 BD 47 02 + .byte $18, $7D, $51, $02, $9D, $47, $02, $C9, $DA, $90, $81, $A9, $08, $9D, $55, $02 ; CPU:$F265 PRG:7265 18 7D 51 02 9D 47 02 C9 DA 90 81 A9 08 9D 55 02 + .byte $FE, $4E, $02, $BD, $4A, $02, $D0, $0A, $BD, $49, $02, $C9, $E0, $B0, $03, $4C ; CPU:$F275 PRG:7275 FE 4E 02 BD 4A 02 D0 0A BD 49 02 C9 E0 B0 03 4C + .byte $56, $F1, $4C, $CF, $EC, $DE, $55, $02, $D0, $F8, $A9, $00, $9D, $4E, $02, $9D ; CPU:$F285 PRG:7285 56 F1 4C CF EC DE 55 02 D0 F8 A9 00 9D 4E 02 9D + .byte $50, $02, $4C, $8F, $F1, $20, $AF, $EB, $BD, $4E, $02, $0A, $A8, $B9, $AF, $F2 ; CPU:$F295 PRG:7295 50 02 4C 8F F1 20 AF EB BD 4E 02 0A A8 B9 AF F2 + .byte $85, $99, $B9, $B0, $F2, $85, $9A, $6C, $99, $00, $BD, $F2, $D9, $F2, $01, $F3 ; CPU:$F2A5 PRG:72A5 85 99 B9 B0 F2 85 9A 6C 99 00 BD F2 D9 F2 01 F3 + .byte $11, $F3, $5E, $F3, $91, $F3, $9B, $ED, $A0, $03, $A5, $8A, $30, $02, $A0, $07 ; CPU:$F2B5 PRG:72B5 11 F3 5E F3 91 F3 9B ED A0 03 A5 8A 30 02 A0 07 + .byte $98, $9D, $54, $02, $A9, $78, $9D, $47, $02, $A9, $02, $9D, $51, $02, $FE, $4E ; CPU:$F2C5 PRG:72C5 98 9D 54 02 A9 78 9D 47 02 A9 02 9D 51 02 FE 4E + .byte $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A ; CPU:$F2D5 PRG:72D5 02 4C CF EC BD 49 02 38 FD 51 02 9D 49 02 BD 4A + .byte $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $0F, $BD, $49, $02, $C9, $E0, $B0 ; CPU:$F2E5 PRG:72E5 02 E9 00 9D 4A 02 C9 01 D0 0F BD 49 02 C9 E0 B0 + .byte $08, $A9, $01, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $10 ; CPU:$F2F5 PRG:72F5 08 A9 01 20 AD EA FE 4E 02 4C CF EC 20 DC EA 10 + .byte $08, $FE, $4E, $02, $A9, $00, $9D, $55, $02, $4C, $CF, $EC, $BD, $54, $02, $C9 ; CPU:$F305 PRG:7305 08 FE 4E 02 A9 00 9D 55 02 4C CF EC BD 54 02 C9 + .byte $03, $D0, $19, $BD, $47, $02, $38, $E9, $02, $9D, $47, $02, $BD, $55, $02, $18 ; CPU:$F315 PRG:7315 03 D0 19 BD 47 02 38 E9 02 9D 47 02 BD 55 02 18 + .byte $69, $02, $9D, $55, $02, $C9, $40, $90, $21, $4C, $47, $F3, $BD, $47, $02, $18 ; CPU:$F325 PRG:7325 69 02 9D 55 02 C9 40 90 21 4C 47 F3 BD 47 02 18 + .byte $69, $02, $9D, $47, $02, $BD, $55, $02, $18, $69, $02, $9D, $55, $02, $C9, $40 ; CPU:$F335 PRG:7335 69 02 9D 47 02 BD 55 02 18 69 02 9D 55 02 C9 40 + .byte $90, $08, $A9, $1F, $9D, $55, $02, $FE, $4E, $02, $4C, $CF, $EC, $C2, $E8, $88 ; CPU:$F345 PRG:7345 90 08 A9 1F 9D 55 02 FE 4E 02 4C CF EC C2 E8 88 + .byte $A2, $10, $FF, $42, $68, $08, $22, $90, $FF, $DE, $55, $02, $D0, $2B, $FE, $4E ; CPU:$F355 PRG:7355 A2 10 FF 42 68 08 22 90 FF DE 55 02 D0 2B FE 4E + .byte $02, $A9, $03, $9D, $51, $02, $A9, $10, $20, $AD, $EA, $BD, $54, $02, $C9, $07 ; CPU:$F365 PRG:7365 02 A9 03 9D 51 02 A9 10 20 AD EA BD 54 02 C9 07 + .byte $D0, $0D, $A9, $00, $9D, $55, $02, $A9, $03, $9D, $54, $02, $4C, $CF, $EC, $A9 ; CPU:$F375 PRG:7375 D0 0D A9 00 9D 55 02 A9 03 9D 54 02 4C CF EC A9 + .byte $06, $9D, $55, $02, $A9, $07, $9D, $54, $02, $4C, $CF, $EC, $20, $DC, $EA, $10 ; CPU:$F385 PRG:7385 06 9D 55 02 A9 07 9D 54 02 4C CF EC 20 DC EA 10 + .byte $28, $A9, $02, $9D, $51, $02, $BD, $55, $02, $FE, $55, $02, $A8, $B9, $52, $F3 ; CPU:$F395 PRG:7395 28 A9 02 9D 51 02 BD 55 02 FE 55 02 A8 B9 52 F3 + .byte $C9, $FF, $D0, $06, $FE, $4E, $02, $4C, $CF, $EC, $48, $4A, $4A, $4A, $4A, $4A ; CPU:$F3A5 PRG:73A5 C9 FF D0 06 FE 4E 02 4C CF EC 48 4A 4A 4A 4A 4A + .byte $9D, $54, $02, $68, $29, $1F, $20, $AD, $EA, $4C, $CF, $EC, $BD, $4E, $02, $0A ; CPU:$F3B5 PRG:73B5 9D 54 02 68 29 1F 20 AD EA 4C CF EC BD 4E 02 0A + .byte $A8, $B9, $D3, $F3, $85, $99, $B9, $D4, $F3, $85, $9A, $6C, $99, $00, $AD, $EE ; CPU:$F3C5 PRG:73C5 A8 B9 D3 F3 85 99 B9 D4 F3 85 9A 6C 99 00 AD EE + .byte $EB, $EE, $2A, $EE, $05, $EF, $1F, $EF, $2A, $EE, $39, $EF, $20, $AF, $EB, $BD ; CPU:$F3D5 PRG:73D5 EB EE 2A EE 05 EF 1F EF 2A EE 39 EF 20 AF EB BD + .byte $4E, $02, $0A, $A8, $B9, $F6, $F3, $85, $99, $B9, $F7, $F3, $85, $9A, $6C, $99 ; CPU:$F3E5 PRG:73E5 4E 02 0A A8 B9 F6 F3 85 99 B9 F7 F3 85 9A 6C 99 + .byte $00, $FA, $F3, $63, $F4, $A0, $91, $A5, $8A, $10, $02, $A0, $73, $98, $9D, $47 ; CPU:$F3F5 PRG:73F5 00 FA F3 63 F4 A0 91 A5 8A 10 02 A0 73 98 9D 47 + .byte $02, $A9, $02, $9D, $51, $02, $A9, $08, $20, $AD, $EA, $FE, $4E, $02, $A0, $10 ; CPU:$F405 PRG:7405 02 A9 02 9D 51 02 A9 08 20 AD EA FE 4E 02 A0 10 + .byte $BD, $46, $02, $9D, $56, $02, $E8, $88, $D0, $F6, $A9, $00, $9D, $45, $02, $A9 ; CPU:$F415 PRG:7415 BD 46 02 9D 56 02 E8 88 D0 F6 A9 00 9D 45 02 A9 + .byte $14, $9D, $55, $02, $A9, $06, $9D, $44, $02, $A9, $02, $9D, $54, $02, $A9, $20 ; CPU:$F425 PRG:7425 14 9D 55 02 A9 06 9D 44 02 A9 02 9D 54 02 A9 20 + .byte $9D, $50, $02, $4C, $CF, $EC, $E8, $84, $A4, $C8, $E8, $84, $A4, $C8, $E8, $88 ; CPU:$F435 PRG:7435 9D 50 02 4C CF EC E8 84 A4 C8 E8 84 A4 C8 E8 88 + .byte $A8, $C4, $E4, $88, $A8, $C4, $E4, $88, $A8, $FF, $68, $04, $24, $48, $68, $04 ; CPU:$F445 PRG:7445 A8 C4 E4 88 A8 C4 E4 88 A8 FF 68 04 24 48 68 04 + .byte $24, $48, $68, $08, $28, $44, $64, $08, $28, $44, $64, $08, $28, $FF, $20, $DC ; CPU:$F455 PRG:7455 24 48 68 08 28 44 64 08 28 44 64 08 28 FF 20 DC + .byte $EA, $10, $25, $BD, $55, $02, $FE, $55, $02, $A8, $B9, $3B, $F4, $C9, $FF, $D0 ; CPU:$F465 PRG:7465 EA 10 25 BD 55 02 FE 55 02 A8 B9 3B F4 C9 FF D0 + .byte $08, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $48, $4A, $4A, $4A, $4A, $4A, $9D ; CPU:$F475 PRG:7475 08 A9 00 9D 46 02 4C CF EC 48 4A 4A 4A 4A 4A 9D + .byte $54, $02, $68, $29, $1F, $20, $AD, $EA, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8 ; CPU:$F485 PRG:7485 54 02 68 29 1F 20 AD EA 4C CF EC BD 4E 02 0A A8 + .byte $B9, $A2, $F4, $85, $99, $B9, $A3, $F4, $85, $9A, $6C, $99, $00, $B2, $F4, $D9 ; CPU:$F495 PRG:7495 B9 A2 F4 85 99 B9 A3 F4 85 9A 6C 99 00 B2 F4 D9 + .byte $F4, $31, $F5, $64, $F5, $40, $60, $80, $A0, $40, $60, $80, $A0, $A5, $8A, $4A ; CPU:$F4A5 PRG:74A5 F4 31 F5 64 F5 40 60 80 A0 40 60 80 A0 A5 8A 4A + .byte $4A, $4A, $4A, $4A, $A8, $B9, $AA, $F4, $9D, $47, $02, $A5, $89, $30, $05, $69 ; CPU:$F4B5 PRG:74B5 4A 4A 4A 4A A8 B9 AA F4 9D 47 02 A5 89 30 05 69 + .byte $46, $4C, $CB, $F4, $A9, $B9, $9D, $55, $02, $A9, $04, $9D, $51, $02, $FE, $4E ; CPU:$F4C5 PRG:74C5 46 4C CB F4 A9 B9 9D 55 02 A9 04 9D 51 02 FE 4E + .byte $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A ; CPU:$F4D5 PRG:74D5 02 4C CF EC BD 49 02 38 FD 51 02 9D 49 02 BD 4A + .byte $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $72, $BD, $49, $02, $FD, $55, $02 ; CPU:$F4E5 PRG:74E5 02 E9 00 9D 4A 02 C9 01 D0 72 BD 49 02 FD 55 02 + .byte $B0, $1F, $20, $18, $EC, $A0, $04, $BD, $47, $02, $C5, $8A, $B0, $02, $A0, $00 ; CPU:$F4F5 PRG:74F5 B0 1F 20 18 EC A0 04 BD 47 02 C5 8A B0 02 A0 00 + .byte $98, $9D, $54, $02, $A9, $00, $9D, $48, $02, $A9, $08, $20, $AD, $EA, $4C, $D3 ; CPU:$F505 PRG:7505 98 9D 54 02 A9 00 9D 48 02 A9 08 20 AD EA 4C D3 + .byte $F4, $A0, $04, $C9, $40, $B0, $0E, $A0, $03, $C9, $20, $B0, $08, $A0, $02, $C9 ; CPU:$F515 PRG:7515 F4 A0 04 C9 40 B0 0E A0 03 C9 20 B0 08 A0 02 C9 + .byte $10, $B0, $02, $A0, $01, $98, $9D, $51, $02, $4C, $CF, $EC, $20, $DC, $EA, $10 ; CPU:$F525 PRG:7525 10 B0 02 A0 01 98 9D 51 02 4C CF EC 20 DC EA 10 + .byte $11, $A9, $03, $9D, $51, $02, $BD, $49, $02, $9D, $55, $02, $FE, $4E, $02, $4C ; CPU:$F535 PRG:7535 11 A9 03 9D 51 02 BD 49 02 9D 55 02 FE 4E 02 4C + .byte $CF, $EC, $F0, $0C, $BD, $49, $02, $9D, $55, $02, $FE, $4E, $02, $4C, $CF, $EC ; CPU:$F545 PRG:7545 CF EC F0 0C BD 49 02 9D 55 02 FE 4E 02 4C CF EC + .byte $BD, $48, $02, $C9, $2D, $90, $05, $A9, $02, $9D, $51, $02, $4C, $CF, $EC, $BD ; CPU:$F555 PRG:7555 BD 48 02 C9 2D 90 05 A9 02 9D 51 02 4C CF EC BD + .byte $49, $02, $18, $7D, $51, $02, $9D, $49, $02, $90, $03, $4C, $56, $F1, $FD, $55 ; CPU:$F565 PRG:7565 49 02 18 7D 51 02 9D 49 02 90 03 4C 56 F1 FD 55 + .byte $02, $C9, $20, $90, $05, $A9, $04, $9D, $51, $02, $4C, $CF, $EC, $BD, $4E, $02 ; CPU:$F575 PRG:7575 02 C9 20 90 05 A9 04 9D 51 02 4C CF EC BD 4E 02 + .byte $0A, $A8, $B9, $94, $F5, $85, $99, $B9, $95, $F5, $85, $9A, $6C, $99, $00, $21 ; CPU:$F585 PRG:7585 0A A8 B9 94 F5 85 99 B9 95 F5 85 9A 6C 99 00 21 + .byte $ED, $3F, $F6, $70, $F6, $7D, $ED, $8B, $ED, $A6, $F5, $E2, $F5, $DC, $F6, $E8 ; CPU:$F595 PRG:7595 ED 3F F6 70 F6 7D ED 8B ED A6 F5 E2 F5 DC F6 E8 + .byte $F6, $FE, $4E, $02, $A0, $FE, $A5, $8A, $69, $10, $29, $FE, $9D, $55, $02, $BD ; CPU:$F5A5 PRG:75A5 F6 FE 4E 02 A0 FE A5 8A 69 10 29 FE 9D 55 02 BD + .byte $47, $02, $E5, $8A, $B0, $12, $C9, $EC, $B0, $12, $A0, $02, $A5, $8A, $E9, $10 ; CPU:$F5B5 PRG:75B5 47 02 E5 8A B0 12 C9 EC B0 12 A0 02 A5 8A E9 10 + .byte $29, $FE, $9D, $55, $02, $4C, $DB, $F5, $C9, $14, $B0, $0A, $BD, $47, $02, $29 ; CPU:$F5C5 PRG:75C5 29 FE 9D 55 02 4C DB F5 C9 14 B0 0A BD 47 02 29 + .byte $FE, $9D, $55, $02, $A0, $00, $98, $9D, $48, $02, $4C, $CF, $EC, $BD, $49, $02 ; CPU:$F5D5 PRG:75D5 FE 9D 55 02 A0 00 98 9D 48 02 4C CF EC BD 49 02 + .byte $38, $E9, $01, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $BD, $47 ; CPU:$F5E5 PRG:75E5 38 E9 01 9D 49 02 BD 4A 02 E9 00 9D 4A 02 BD 47 + .byte $02, $18, $7D, $48, $02, $9D, $47, $02, $29, $FE, $DD, $55, $02, $D0, $0B, $20 ; CPU:$F5F5 PRG:75F5 02 18 7D 48 02 9D 47 02 29 FE DD 55 02 D0 0B 20 + .byte $18, $EC, $FE, $4E, $02, $A9, $01, $9D, $51, $02, $4C, $CF, $EC, $20, $AF, $EB ; CPU:$F605 PRG:7605 18 EC FE 4E 02 A9 01 9D 51 02 4C CF EC 20 AF EB + .byte $BD, $4E, $02, $0A, $A8, $B9, $27, $F6, $85, $99, $B9, $28, $F6, $85, $9A, $6C ; CPU:$F615 PRG:7615 BD 4E 02 0A A8 B9 27 F6 85 99 B9 28 F6 85 9A 6C + .byte $99, $00, $3F, $F6, $70, $F6, $98, $F6, $B8, $F6, $D7, $F6, $E8, $F6, $3C, $28 ; CPU:$F625 PRG:7625 99 00 3F F6 70 F6 98 F6 B8 F6 D7 F6 E8 F6 3C 28 + .byte $3C, $50, $05, $02, $03, $00, $01, $06, $07, $04, $A5, $92, $29, $03, $A8, $A5 ; CPU:$F635 PRG:7635 3C 50 05 02 03 00 01 06 07 04 A5 92 29 03 A8 A5 + .byte $8A, $10, $10, $A9, $07, $9D, $54, $02, $A9, $80, $F9, $33, $F6, $9D, $47, $02 ; CPU:$F645 PRG:7645 8A 10 10 A9 07 9D 54 02 A9 80 F9 33 F6 9D 47 02 + .byte $4C, $65, $F6, $A9, $03, $9D, $54, $02, $A9, $80, $79, $33, $F6, $9D, $47, $02 ; CPU:$F655 PRG:7655 4C 65 F6 A9 03 9D 54 02 A9 80 79 33 F6 9D 47 02 + .byte $A9, $02, $9D, $51, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD ; CPU:$F665 PRG:7665 A9 02 9D 51 02 FE 4E 02 4C CF EC BD 49 02 38 FD + .byte $51, $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0 ; CPU:$F675 PRG:7675 51 02 9D 49 02 BD 4A 02 E9 00 9D 4A 02 C9 01 D0 + .byte $0F, $BD, $49, $02, $C9, $C0, $B0, $08, $A9, $04, $20, $AD, $EA, $FE, $4E, $02 ; CPU:$F685 PRG:7685 0F BD 49 02 C9 C0 B0 08 A9 04 20 AD EA FE 4E 02 + .byte $4C, $CF, $EC, $20, $DC, $EA, $10, $18, $BD, $54, $02, $A8, $B9, $37, $F6, $9D ; CPU:$F695 PRG:7695 4C CF EC 20 DC EA 10 18 BD 54 02 A8 B9 37 F6 9D + .byte $54, $02, $29, $03, $C9, $03, $D0, $03, $FE, $4E, $02, $A9, $04, $20, $AD, $EA ; CPU:$F6A5 PRG:76A5 54 02 29 03 C9 03 D0 03 FE 4E 02 A9 04 20 AD EA + .byte $4C, $CF, $EC, $20, $DC, $EA, $10, $17, $A0, $06, $BD, $54, $02, $C9, $03, $F0 ; CPU:$F6B5 PRG:76B5 4C CF EC 20 DC EA 10 17 A0 06 BD 54 02 C9 03 F0 + .byte $02, $A0, $02, $98, $9D, $54, $02, $A9, $04, $20, $AD, $EA, $FE, $4E, $02, $4C ; CPU:$F6C5 PRG:76C5 02 A0 02 98 9D 54 02 A9 04 20 AD EA FE 4E 02 4C + .byte $CF, $EC, $20, $DC, $EA, $10, $09, $BD, $49, $02, $9D, $55, $02, $FE, $4E, $02 ; CPU:$F6D5 PRG:76D5 CF EC 20 DC EA 10 09 BD 49 02 9D 55 02 FE 4E 02 + .byte $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $B0, $03, $4C ; CPU:$F6E5 PRG:76E5 4C CF EC BD 49 02 38 FD 51 02 9D 49 02 B0 03 4C + .byte $56, $F1, $BD, $55, $02, $38, $FD, $49, $02, $C9, $14, $90, $10, $48, $A9, $03 ; CPU:$F6F5 PRG:76F5 56 F1 BD 55 02 38 FD 49 02 C9 14 90 10 48 A9 03 + .byte $9D, $51, $02, $68, $C9, $30, $90, $05, $A9, $04, $9D, $51, $02, $4C, $CF, $EC ; CPU:$F705 PRG:7705 9D 51 02 68 C9 30 90 05 A9 04 9D 51 02 4C CF EC + .byte $BD, $4E, $02, $0A, $A8, $B9, $27, $F7, $85, $99, $B9, $28, $F7, $85, $9A, $6C ; CPU:$F715 PRG:7715 BD 4E 02 0A A8 B9 27 F7 85 99 B9 28 F7 85 9A 6C + .byte $99, $00, $2D, $F7, $86, $F7, $B5, $F7, $A9, $02, $9D, $51, $02, $A9, $60, $9D ; CPU:$F725 PRG:7725 99 00 2D F7 86 F7 B5 F7 A9 02 9D 51 02 A9 60 9D + .byte $55, $02, $4C, $75, $F7, $BD, $4E, $02, $0A, $A8, $B9, $4C, $F7, $85, $99, $B9 ; CPU:$F735 PRG:7735 55 02 4C 75 F7 BD 4E 02 0A A8 B9 4C F7 85 99 B9 + .byte $4D, $F7, $85, $9A, $6C, $99, $00, $5A, $F7, $86, $F7, $B5, $F7, $48, $58, $68 ; CPU:$F745 PRG:7745 4D F7 85 9A 6C 99 00 5A F7 86 F7 B5 F7 48 58 68 + .byte $78, $88, $90, $A8, $B8, $A9, $01, $9D, $51, $02, $A9, $AA, $9D, $55, $02, $8A ; CPU:$F755 PRG:7755 78 88 90 A8 B8 A9 01 9D 51 02 A9 AA 9D 55 02 8A + .byte $29, $10, $F0, $0C, $BD, $37, $02, $18, $69, $20, $9D, $47, $02, $4C, $80, $F7 ; CPU:$F765 PRG:7765 29 10 F0 0C BD 37 02 18 69 20 9D 47 02 4C 80 F7 + .byte $A5, $92, $29, $07, $A8, $B9, $52, $F7, $9D, $47, $02, $FE, $4E, $02, $4C, $CF ; CPU:$F775 PRG:7775 A5 92 29 07 A8 B9 52 F7 9D 47 02 FE 4E 02 4C CF + .byte $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00 ; CPU:$F785 PRG:7785 EC BD 49 02 38 FD 51 02 9D 49 02 BD 4A 02 E9 00 + .byte $9D, $4A, $02, $DE, $55, $02, $D0, $15, $A9, $40, $9D, $55, $02, $A0, $02, $BD ; CPU:$F795 PRG:7795 9D 4A 02 DE 55 02 D0 15 A9 40 9D 55 02 A0 02 BD + .byte $47, $02, $10, $02, $A0, $FE, $98, $9D, $48, $02, $FE, $4E, $02, $4C, $CF, $EC ; CPU:$F7A5 PRG:77A5 47 02 10 02 A0 FE 98 9D 48 02 FE 4E 02 4C CF EC + .byte $BD, $49, $02, $38, $E9, $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A ; CPU:$F7B5 PRG:77B5 BD 49 02 38 E9 02 9D 49 02 BD 4A 02 E9 00 9D 4A + .byte $02, $BD, $47, $02, $18, $7D, $48, $02, $9D, $47, $02, $FE, $4B, $02, $DE, $55 ; CPU:$F7C5 PRG:77C5 02 BD 47 02 18 7D 48 02 9D 47 02 FE 4B 02 DE 55 + .byte $02, $D0, $03, $4C, $56, $F1, $4C, $CF, $EC, $37, $F8, $37, $F8, $81, $F9, $8C ; CPU:$F7D5 PRG:77D5 02 D0 03 4C 56 F1 4C CF EC 37 F8 37 F8 81 F9 8C + .byte $F9 ; CPU:$F7E5 PRG:77E5 F9 +; ----------------------------------------------------------------------------- +; Routine: Sub_F7E6 +; Global: Branch target inside Sub: taken when F7E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F7E6: + ldx #$00 ; CPU:$F7E6 PRG:77E6 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero68 +; Global: Branch target inside NmiHandler: taken when OnNonzero68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero68: + lda $02E6,x ; CPU:$F7E8 PRG:77E8 BD E6 02 + beq NmiHandler_Loop390 ; CPU:$F7EB PRG:77EB F0 12 + lda $02ED,x ; CPU:$F7ED PRG:77ED BD ED 02 + asl a ; CPU:$F7F0 PRG:77F0 0A + tay ; CPU:$F7F1 PRG:77F1 A8 + lda $F7DE,y ; CPU:$F7F2 PRG:77F2 B9 DE F7 + sta HandlerPtrLo ; CPU:$F7F5 PRG:77F5 85 99 + lda $F7DF,y ; CPU:$F7F7 PRG:77F7 B9 DF F7 + sta HandlerPtrHi ; CPU:$F7FA PRG:77FA 85 9A + jmp (HandlerPtrLo) ; CPU:$F7FC PRG:77FC 6C 99 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop390 +; Global: Branch target inside NmiHandler: taken when Loop390. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop390: + txa ; CPU:$F7FF PRG:77FF 8A + clc ; CPU:$F800 PRG:7800 18 + adc #$10 ; CPU:$F801 PRG:7801 69 10 + tax ; CPU:$F803 PRG:7803 AA + cpx #$80 ; CPU:$F804 PRG:7804 E0 80 + bne NmiHandler_OnNonzero68 ; CPU:$F806 PRG:7806 D0 E0 + rts ; CPU:$F808 PRG:7808 60 +; ----------------------------------------------------------------------------- +; Routine: Label_F809 +; Global: Branch target inside Label: taken when F809. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F809: + eor #$F8 ; CPU:$F809 PRG:7809 49 F8 + cld ; CPU:$F80B PRG:780B D8 + sed ; CPU:$F80C PRG:780C F8 + brk ; CPU:$F80D PRG:780D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_F80E +; Global: Branch target inside Label: taken when F80E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F80E: + brk ; CPU:$F80E PRG:780E 00 +; ---- data $F80F-$F9FC (494 bytes) ---- + .byte $81, $00, $81, $01, $00, $01, $01, $01, $01, $00, $01, $81, $00, $81, $81, $81 ; CPU:$F80F PRG:780F 81 00 81 01 00 01 01 01 01 00 01 81 00 81 81 81 + .byte $01, $08, $07, $08, $07, $06, $05, $06, $05, $04, $03, $04, $03, $02, $01, $02 ; CPU:$F81F PRG:781F 01 08 07 08 07 06 05 06 05 04 03 04 03 02 01 02 + .byte $00, $03, $07, $04, $01, $02, $06, $05, $BD, $EE, $02, $0A, $A8, $B9, $09, $F8 ; CPU:$F82F PRG:782F 00 03 07 04 01 02 06 05 BD EE 02 0A A8 B9 09 F8 + .byte $85, $99, $B9, $0A, $F8, $85, $9A, $6C, $99, $00, $A5, $89, $18, $69, $06, $85 ; CPU:$F83F PRG:783F 85 99 B9 0A F8 85 9A 6C 99 00 A5 89 18 69 06 85 + .byte $5E, $A9, $00, $85, $64, $BD, $E9, $02, $38, $E5, $5E, $B0, $08, $E6, $64, $A5 ; CPU:$F84F PRG:784F 5E A9 00 85 64 BD E9 02 38 E5 5E B0 08 E6 64 A5 + .byte $5E, $38, $FD, $E9, $02, $4A, $85, $66, $BD, $E7, $02, $38, $E5, $8A, $B0, $0A ; CPU:$F85F PRG:785F 5E 38 FD E9 02 4A 85 66 BD E7 02 38 E5 8A B0 0A + .byte $E6, $64, $E6, $64, $A5, $8A, $38, $FD, $E7, $02, $4A, $85, $67, $A4, $64, $A5 ; CPU:$F86F PRG:786F E6 64 E6 64 A5 8A 38 FD E7 02 4A 85 67 A4 64 A5 + .byte $66, $C5, $67, $B0, $09, $B9, $33, $F8, $9D, $F4, $02, $4C, $CD, $F8, $B9, $2F ; CPU:$F87F PRG:787F 66 C5 67 B0 09 B9 33 F8 9D F4 02 4C CD F8 B9 2F + .byte $F8, $9D, $F4, $02, $A5, $66, $C5, $67, $D0, $05, $A0, $12, $4C, $BB, $F8, $85 ; CPU:$F88F PRG:788F F8 9D F4 02 A5 66 C5 67 D0 05 A0 12 4C BB F8 85 + .byte $60, $A5, $67, $85, $5F, $A9, $00, $85, $5E, $20, $F3, $F9, $46, $5E, $46, $5E ; CPU:$F89F PRG:789F 60 A5 67 85 5F A9 00 85 5E 20 F3 F9 46 5E 46 5E + .byte $46, $5E, $46, $5E, $46, $5E, $E6, $5E, $06, $5E, $A4, $5E, $B9, $5E, $81, $9D ; CPU:$F8AF PRG:78AF 46 5E 46 5E 46 5E E6 5E 06 5E A4 5E B9 5E 81 9D + .byte $F2, $02, $B9, $5F, $81, $9D, $F3, $02, $FE, $EE, $02, $4C, $FF, $F7, $A5, $67 ; CPU:$F8BF PRG:78BF F2 02 B9 5F 81 9D F3 02 FE EE 02 4C FF F7 A5 67 + .byte $85, $60, $A5, $66, $85, $5F, $4C, $A4, $F8, $BD, $F1, $02, $85, $60, $BD, $F2 ; CPU:$F8CF PRG:78CF 85 60 A5 66 85 5F 4C A4 F8 BD F1 02 85 60 BD F2 + .byte $02, $85, $5E, $BD, $F3, $02, $85, $5F, $A0, $00, $B1, $5E, $10, $14, $29, $7F ; CPU:$F8DF PRG:78DF 02 85 5E BD F3 02 85 5F A0 00 B1 5E 10 14 29 7F + .byte $85, $68, $38, $A5, $5E, $E5, $68, $85, $5E, $A5, $5F, $E9, $00, $85, $5F, $4C ; CPU:$F8EF PRG:78EF 85 68 38 A5 5E E5 68 85 5E A5 5F E9 00 85 5F 4C + .byte $E7, $F8, $85, $62, $BD, $F4, $02, $0A, $18, $65, $62, $A8, $B9, $1F, $F8, $0A ; CPU:$F8FF PRG:78FF E7 F8 85 62 BD F4 02 0A 18 65 62 A8 B9 1F F8 0A + .byte $A8, $B9, $0D, $F8, $85, $66, $30, $13, $BD, $E9, $02, $18, $65, $66, $9D, $E9 ; CPU:$F90F PRG:790F A8 B9 0D F8 85 66 30 13 BD E9 02 18 65 66 9D E9 + .byte $02, $90, $1A, $A9, $00, $9D, $E6, $02, $4C, $FF, $F7, $29, $7F, $85, $66, $BD ; CPU:$F91F PRG:791F 02 90 1A A9 00 9D E6 02 4C FF F7 29 7F 85 66 BD + .byte $E9, $02, $38, $E5, $66, $9D, $E9, $02, $B0, $03, $4C, $22, $F9, $B9, $0E, $F8 ; CPU:$F92F PRG:792F E9 02 38 E5 66 9D E9 02 B0 03 4C 22 F9 B9 0E F8 + .byte $85, $66, $30, $10, $BD, $E7, $02, $18, $65, $66, $9D, $E7, $02, $C9, $F0, $90 ; CPU:$F93F PRG:793F 85 66 30 10 BD E7 02 18 65 66 9D E7 02 C9 F0 90 + .byte $17, $4C, $22, $F9, $29, $7F, $85, $66, $BD, $E7, $02, $38, $E5, $66, $9D, $E7 ; CPU:$F94F PRG:794F 17 4C 22 F9 29 7F 85 66 BD E7 02 38 E5 66 9D E7 + .byte $02, $C9, $08, $B0, $03, $4C, $22, $F9, $E6, $5E, $D0, $02, $E6, $5F, $C6, $60 ; CPU:$F95F PRG:795F 02 C9 08 B0 03 4C 22 F9 E6 5E D0 02 E6 5F C6 60 + .byte $F0, $03, $4C, $E7, $F8, $A5, $5E, $9D, $F2, $02, $A5, $5F, $9D, $F3, $02, $4C ; CPU:$F96F PRG:796F F0 03 4C E7 F8 A5 5E 9D F2 02 A5 5F 9D F3 02 4C + .byte $FF, $F7, $4C, $D8, $F8, $9E, $F9, $AA, $F9, $C5, $F9, $E0, $F9, $BD, $EE, $02 ; CPU:$F97F PRG:797F FF F7 4C D8 F8 9E F9 AA F9 C5 F9 E0 F9 BD EE 02 + .byte $0A, $A8, $B9, $84, $F9, $85, $99, $B9, $85, $F9, $85, $9A, $6C, $99, $00, $BD ; CPU:$F98F PRG:798F 0A A8 B9 84 F9 85 99 B9 85 F9 85 9A 6C 99 00 BD + .byte $E9, $02, $9D, $F5, $02, $FE, $EE, $02, $4C, $FF, $F7, $BD, $E9, $02, $38, $E9 ; CPU:$F99F PRG:799F E9 02 9D F5 02 FE EE 02 4C FF F7 BD E9 02 38 E9 + .byte $02, $90, $39, $9D, $E9, $02, $BD, $F5, $02, $FD, $E9, $02, $C9, $20, $90, $03 ; CPU:$F9AF PRG:79AF 02 90 39 9D E9 02 BD F5 02 FD E9 02 C9 20 90 03 + .byte $FE, $EE, $02, $4C, $FF, $F7, $BD, $E9, $02, $38, $E9, $03, $90, $1E, $9D, $E9 ; CPU:$F9BF PRG:79BF FE EE 02 4C FF F7 BD E9 02 38 E9 03 90 1E 9D E9 + .byte $02, $BD, $F5, $02, $FD, $E9, $02, $C9, $40, $90, $03, $FE, $EE, $02, $4C, $FF ; CPU:$F9CF PRG:79CF 02 BD F5 02 FD E9 02 C9 40 90 03 FE EE 02 4C FF + .byte $F7, $BD, $E9, $02, $38, $E9, $04, $9D, $E9, $02, $B0, $05, $A9, $00, $9D, $E6 ; CPU:$F9DF PRG:79DF F7 BD E9 02 38 E9 04 9D E9 02 B0 05 A9 00 9D E6 + .byte $02, $4C, $FF, $F7, $A9, $00, $85, $62, $A0, $10, $26, $5E, $26, $5F ; CPU:$F9EF PRG:79EF 02 4C FF F7 A9 00 85 62 A0 10 26 5E 26 5F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero69 +; Global: Branch target inside NmiHandler: taken when OnNonzero69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero69: + rol VramReadPtrLo ; CPU:$F9FD PRG:79FD 26 62 + lda VramReadPtrLo ; CPU:$F9FF PRG:79FF A5 62 + cmp ObjectX ; CPU:$FA01 PRG:7A01 C5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_FA03 +; Global: Branch target inside Label: taken when FA03. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FA03: + bcc NmiHandler_Loop391 ; CPU:$FA03 PRG:7A03 90 04 + sbc ObjectX ; CPU:$FA05 PRG:7A05 E5 60 + sta VramReadPtrLo ; CPU:$FA07 PRG:7A07 85 62 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop391 +; Global: Branch target inside NmiHandler: taken when Loop391. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop391: + rol VramWritePtrLo ; CPU:$FA09 PRG:7A09 26 5E + rol VramWritePtrHi ; CPU:$FA0B PRG:7A0B 26 5F + dey ; CPU:$FA0D PRG:7A0D 88 + bne NmiHandler_OnNonzero69 ; CPU:$FA0E PRG:7A0E D0 ED + rts ; CPU:$FA10 PRG:7A10 60 +; ---- data $FA11-$FA50 (64 bytes) ---- +; referenced by `lda $FA11,x` at $FA57 (operand $FA11 falls inside this region) +; referenced by `lda $FA11,x` at $FA65 (operand $FA11 falls inside this region) + .byte $04, $88, $05, $08, $06, $20, $07, $08, $05, $82, $FF, $0C, $0F, $0D, $00, $0E ; CPU:$FA11 PRG:7A11 04 88 05 08 06 20 07 08 05 82 FF 0C 0F 0D 00 0E + .byte $0C, $0F, $08, $FF, $0C, $07, $0D, $00, $0E, $08, $0F, $08, $FF, $04, $8F, $05 ; CPU:$FA21 PRG:7A21 0C 0F 08 FF 0C 07 0D 00 0E 08 0F 08 FF 04 8F 05 + .byte $8C, $06, $30, $07, $08, $0C, $08, $0D, $00, $0E, $08, $0F, $08, $FF, $04, $81 ; CPU:$FA31 PRG:7A31 8C 06 30 07 08 0C 08 0D 00 0E 08 0F 08 FF 04 81 + .byte $05, $08, $06, $38, $07, $08, $FF, $0C, $20, $0D, $00, $0E, $0C, $0F, $20, $FF ; CPU:$FA41 PRG:7A41 05 08 06 38 07 08 FF 0C 20 0D 00 0E 0C 0F 20 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FA51 +; Global: Branch target inside Sub: taken when FA51. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FA51: + txa ; CPU:$FA51 PRG:7A51 8A + pha ; CPU:$FA52 PRG:7A52 48 + tya ; CPU:$FA53 PRG:7A53 98 + pha ; CPU:$FA54 PRG:7A54 48 + ldx Zp94 ; CPU:$FA55 PRG:7A55 A6 94 +; ----------------------------------------------------------------------------- +; Routine: Sub_FA57 +; Global: Branch target inside Sub: taken when FA57. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FA57: + lda $FA11,x ; CPU:$FA57 PRG:7A57 BD 11 FA + cmp #$FF ; CPU:$FA5A PRG:7A5A C9 FF + bne NmiHandler_Loop392 ; CPU:$FA5C PRG:7A5C D0 05 + pla ; CPU:$FA5E PRG:7A5E 68 + tay ; CPU:$FA5F PRG:7A5F A8 + pla ; CPU:$FA60 PRG:7A60 68 + tax ; CPU:$FA61 PRG:7A61 AA + rts ; CPU:$FA62 PRG:7A62 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop392 +; Global: Branch target inside NmiHandler: taken when Loop392. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop392: + tay ; CPU:$FA63 PRG:7A63 A8 + inx ; CPU:$FA64 PRG:7A64 E8 + lda $FA11,x ; CPU:$FA65 PRG:7A65 BD 11 FA + inx ; CPU:$FA68 PRG:7A68 E8 + sta APUPULSE1CTRL,y ; CPU:$FA69 PRG:7A69 99 00 40 + jmp Sub_FA57 ; CPU:$FA6C PRG:7A6C 4C 57 FA +; ---- data $FA6F-$FA88 (26 bytes) ---- ; referenced by `lda $FA6F,y` at $FABD (operand $FA6F falls inside this region) ; referenced by `lda $FA70,y` at $FAC2 (operand $FA70 falls inside this region) - .byte $A9, $07, $85, $03, $A9, $06, $85, $0E, $A9, $00, $85, $0F, $85, $04, $85, $01 ; CPU:$D9C0 PRG:59C0 A9 07 85 03 A9 06 85 0E A9 00 85 0F 85 04 85 01 - .byte $85, $02, $85, $0B, $85, $0C, $85, $09, $85, $0A, $AD, $7F, $D0, $85, $05, $AD ; CPU:$D9D0 PRG:59D0 85 02 85 0B 85 0C 85 09 85 0A AD 7F D0 85 05 AD - .byte $80, $D0, $85, $06, $AD, $83, $D0, $85, $07, $AD, $84, $D0, $85, $08, $20, $8D ; CPU:$D9E0 PRG:59E0 80 D0 85 06 AD 83 D0 85 07 AD 84 D0 85 08 20 8D - .byte $D0, $20, $93, $C7, $60, $B9, $49, $02, $38, $FD, $1B, $02, $90, $2C, $C9, $10 ; CPU:$D9F0 PRG:59F0 D0 20 93 C7 60 B9 49 02 38 FD 1B 02 90 2C C9 10 - .byte $B0, $28, $B9, $47, $02, $38, $FD, $1A, $02, $90, $14, $85, $5E, $8A, $48, $B9 ; CPU:$DA00 PRG:5A00 B0 28 B9 47 02 38 FD 1A 02 90 14 85 5E 8A 48 B9 - .byte $46, $02, $AA, $BD, $15, $81, $C5, $5E, $68, $AA, $90, $0E, $A9, $01, $60, $BD ; CPU:$DA10 PRG:5A10 46 02 AA BD 15 81 C5 5E 68 AA 90 0E A9 01 60 BD - .byte $1A, $02, $38, $F9, $47, $02, $C9, $0B, $90, $F2, $A9, $00, $60, $C9, $09, $D0 ; CPU:$DA20 PRG:5A20 1A 02 38 F9 47 02 C9 0B 90 F2 A9 00 60 C9 09 D0 - .byte $05, $A9, $0B, $4C, $38, $DA, $A9, $14, $85, $94, $20, $51, $FA, $60, $BD, $19 ; CPU:$DA30 PRG:5A30 05 A9 0B 4C 38 DA A9 14 85 94 20 51 FA 60 BD 19 - .byte $02, $C9, $10, $F0, $0D, $C9, $11, $F0, $09, $C9, $0F, $F0, $05, $A9, $00, $9D ; CPU:$DA40 PRG:5A40 02 C9 10 F0 0D C9 11 F0 09 C9 0F F0 05 A9 00 9D - .byte $19, $02, $B9, $46, $02, $C9, $31, $D0, $3C, $A0, $00, $B9, $46, $02, $F0, $0D ; CPU:$DA50 PRG:5A50 19 02 B9 46 02 C9 31 D0 3C A0 00 B9 46 02 F0 0D - .byte $B9, $4A, $02, $C9, $01, $D0, $06, $20, $95, $DA, $20, $4F, $DE, $98, $18, $69 ; CPU:$DA60 PRG:5A60 B9 4A 02 C9 01 D0 06 20 95 DA 20 4F DE 98 18 69 - .byte $10, $A8, $C0, $A0, $D0, $E5, $A5, $00, $D0, $1A, $A0, $00, $B9, $66, $03, $F0 ; CPU:$DA70 PRG:5A70 10 A8 C0 A0 D0 E5 A5 00 D0 1A A0 00 B9 66 03 F0 - .byte $0A, $B9, $6A, $03, $C9, $01, $D0, $03, $20, $A6, $E2, $98, $18, $69, $08, $A8 ; CPU:$DA80 PRG:5A80 0A B9 6A 03 C9 01 D0 03 20 A6 E2 98 18 69 08 A8 - .byte $C0, $E0, $D0, $E8, $60, $B9, $46, $02, $38, $E9, $19, $0A, $0A, $AA, $BD, $01 ; CPU:$DA90 PRG:5A90 C0 E0 D0 E8 60 B9 46 02 38 E9 19 0A 0A AA BD 01 - .byte $80, $99, $46, $02, $20, $2D, $DA, $BD, $02, $80, $85, $5E, $20, $5E, $D8, $A9 ; CPU:$DAA0 PRG:5AA0 80 99 46 02 20 2D DA BD 02 80 85 5E 20 5E D8 A9 - .byte $00, $99, $4B, $02, $99, $4C, $02, $99, $4D, $02, $60, $A2, $00, $BD, $46, $02 ; CPU:$DAB0 PRG:5AB0 00 99 4B 02 99 4C 02 99 4D 02 60 A2 00 BD 46 02 - .byte $F0, $0A, $8A, $18, $69, $10, $AA, $E0, $A0, $D0, $F2, $60, $A5, $60, $9D, $46 ; CPU:$DAC0 PRG:5AC0 F0 0A 8A 18 69 10 AA E0 A0 D0 F2 60 A5 60 9D 46 - .byte $02, $A5, $65, $C9, $F0, $90, $02, $A9, $EF, $9D, $47, $02, $A5, $64, $9D, $49 ; CPU:$DAD0 PRG:5AD0 02 A5 65 C9 F0 90 02 A9 EF 9D 47 02 A5 64 9D 49 - .byte $02, $A9, $01, $9D, $4A, $02, $A9, $00, $9D, $4B, $02, $9D, $4C, $02, $9D, $4E ; CPU:$DAE0 PRG:5AE0 02 A9 01 9D 4A 02 A9 00 9D 4B 02 9D 4C 02 9D 4E - .byte $02, $9D, $4F, $02, $A9, $02, $9D, $4D, $02, $A5, $90, $C9, $04, $D0, $12, $A5 ; CPU:$DAF0 PRG:5AF0 02 9D 4F 02 A9 02 9D 4D 02 A5 90 C9 04 D0 12 A5 - .byte $60, $C9, $09, $F0, $07, $AD, $69, $03, $C9, $85, $D0, $05, $A9, $00, $9D, $4D ; CPU:$DB00 PRG:5B00 60 C9 09 F0 07 AD 69 03 C9 85 D0 05 A9 00 9D 4D - .byte $02, $60, $86, $60, $B9, $66, $03, $A6, $61, $BD, $00, $80, $C9, $01, $D0, $41 ; CPU:$DB10 PRG:5B10 02 60 86 60 B9 66 03 A6 61 BD 00 80 C9 01 D0 41 - .byte $A6, $60, $BD, $19, $02, $C9, $10, $F0, $09, $C9, $11, $F0, $05, $A9, $00, $9D ; CPU:$DB20 PRG:5B20 A6 60 BD 19 02 C9 10 F0 09 C9 11 F0 05 A9 00 9D - .byte $19, $02, $A6, $61, $BD, $01, $80, $99, $66, $03, $20, $2D, $DA, $BD, $02, $80 ; CPU:$DB30 PRG:5B30 19 02 A6 61 BD 01 80 99 66 03 20 2D DA BD 02 80 - .byte $85, $5E, $20, $5E, $D8, $A9, $00, $99, $6B, $03, $99, $6C, $03, $B9, $69, $03 ; CPU:$DB40 PRG:5B40 85 5E 20 5E D8 A9 00 99 6B 03 99 6C 03 B9 69 03 - .byte $18, $69, $02, $85, $64, $B9, $67, $03, $85, $65, $A9, $09, $85, $60, $4C, $BB ; CPU:$DB50 PRG:5B50 18 69 02 85 64 B9 67 03 85 65 A9 09 85 60 4C BB - .byte $DA, $C9, $02, $D0, $75, $A6, $60, $BD, $19, $02, $C9, $10, $F0, $C4, $C9, $11 ; CPU:$DB60 PRG:5B60 DA C9 02 D0 75 A6 60 BD 19 02 C9 10 F0 C4 C9 11 - .byte $F0, $C0, $A9, $2E, $85, $94, $20, $51, $FA, $B9, $68, $03, $38, $E9, $01, $99 ; CPU:$DB70 PRG:5B70 F0 C0 A9 2E 85 94 20 51 FA B9 68 03 38 E9 01 99 - .byte $68, $03, $D0, $3C, $A6, $81, $B9, $67, $03, $9D, $67, $03, $B9, $69, $03, $9D ; CPU:$DB80 PRG:5B80 68 03 D0 3C A6 81 B9 67 03 9D 67 03 B9 69 03 9D - .byte $69, $03, $A9, $01, $9D, $6A, $03, $A9, $00, $9D, $6B, $03, $9D, $6C, $03, $98 ; CPU:$DB90 PRG:5B90 69 03 A9 01 9D 6A 03 A9 00 9D 6B 03 9D 6C 03 98 - .byte $48, $A4, $8B, $B9, $BA, $DB, $9D, $66, $03, $68, $A8, $8A, $18, $69, $08, $C5 ; CPU:$DBA0 PRG:5BA0 48 A4 8B B9 BA DB 9D 66 03 68 A8 8A 18 69 08 C5 - .byte $E0, $D0, $02, $A9, $00, $85, $81, $4C, $A6, $E2, $BA, $BA, $BC, $BC, $32, $32 ; CPU:$DBB0 PRG:5BB0 E0 D0 02 A9 00 85 81 4C A6 E2 BA BA BC BC 32 32 - .byte $A6, $60, $A9, $00, $9D, $19, $02, $BD, $1B, $02, $69, $06, $85, $64, $BD, $1A ; CPU:$DBC0 PRG:5BC0 A6 60 A9 00 9D 19 02 BD 1B 02 69 06 85 64 BD 1A - .byte $02, $85, $65, $A9, $0B, $85, $60, $4C, $BB, $DA, $C9, $03, $D0, $76, $20, $32 ; CPU:$DBD0 PRG:5BD0 02 85 65 A9 0B 85 60 4C BB DA C9 03 D0 76 20 32 - .byte $DB, $A9, $37, $85, $94, $20, $51, $FA, $A6, $60, $BD, $19, $02, $C9, $10, $F0 ; CPU:$DBE0 PRG:5BE0 DB A9 37 85 94 20 51 FA A6 60 BD 19 02 C9 10 F0 - .byte $09, $C9, $11, $F0, $05, $A9, $00, $9D, $19, $02, $B9, $67, $03, $85, $60, $B9 ; CPU:$DBF0 PRG:5BF0 09 C9 11 F0 05 A9 00 9D 19 02 B9 67 03 85 60 B9 - .byte $69, $03, $85, $61, $A2, $00, $A0, $00, $A9, $30, $9D, $E6, $02, $A5, $60, $9D ; CPU:$DC00 PRG:5C00 69 03 85 61 A2 00 A0 00 A9 30 9D E6 02 A5 60 9D - .byte $E7, $02, $A5, $61, $9D, $E9, $02, $A9, $00, $9D, $EC, $02, $9D, $ED, $02, $A9 ; CPU:$DC10 PRG:5C10 E7 02 A5 61 9D E9 02 A9 00 9D EC 02 9D ED 02 A9 - .byte $01, $9D, $EE, $02, $9D, $EA, $02, $9D, $F1, $02, $B9, $5C, $DC, $9D, $F4, $02 ; CPU:$DC20 PRG:5C20 01 9D EE 02 9D EA 02 9D F1 02 B9 5C DC 9D F4 02 - .byte $C8, $B9, $5C, $DC, $85, $62, $C8, $98, $48, $A5, $62, $0A, $A8, $B9, $5E, $81 ; CPU:$DC30 PRG:5C30 C8 B9 5C DC 85 62 C8 98 48 A5 62 0A A8 B9 5E 81 - .byte $9D, $F2, $02, $B9, $5F, $81, $9D, $F3, $02, $68, $A8, $8A, $18, $69, $10, $AA ; CPU:$DC40 PRG:5C40 9D F2 02 B9 5F 81 9D F3 02 68 A8 8A 18 69 10 AA - .byte $E0, $60, $D0, $B4, $C9, $04, $D0, $03, $4C, $2D, $DD, $60, $01, $09, $01, $00 ; CPU:$DC50 PRG:5C50 E0 60 D0 B4 C9 04 D0 03 4C 2D DD 60 01 09 01 00 - .byte $02, $09, $05, $09, $06, $00, $06, $09, $86, $60, $A6, $61, $BD, $00, $80, $C9 ; CPU:$DC60 PRG:5C60 02 09 05 09 06 00 06 09 86 60 A6 61 BD 00 80 C9 - .byte $01, $D0, $2E, $A6, $60, $BD, $19, $02, $C9, $0F, $F0, $05, $A9, $00, $9D, $19 ; CPU:$DC70 PRG:5C70 01 D0 2E A6 60 BD 19 02 C9 0F F0 05 A9 00 9D 19 - .byte $02, $A6, $61, $BD, $01, $80, $09, $80, $99, $46, $04, $29, $7F, $20, $2D, $DA ; CPU:$DC80 PRG:5C80 02 A6 61 BD 01 80 09 80 99 46 04 29 7F 20 2D DA - .byte $BD, $02, $80, $85, $5E, $20, $5E, $D8, $A9, $00, $99, $4B, $04, $99, $4C, $04 ; CPU:$DC90 PRG:5C90 BD 02 80 85 5E 20 5E D8 A9 00 99 4B 04 99 4C 04 - .byte $60, $C9, $02, $D0, $28, $A6, $60, $BD, $19, $02, $C9, $0F, $F0, $D3, $A9, $2E ; CPU:$DCA0 PRG:5CA0 60 C9 02 D0 28 A6 60 BD 19 02 C9 0F F0 D3 A9 2E - .byte $85, $94, $20, $51, $FA, $A9, $00, $9D, $19, $02, $BD, $1B, $02, $69, $06, $85 ; CPU:$DCB0 PRG:5CB0 85 94 20 51 FA A9 00 9D 19 02 BD 1B 02 69 06 85 - .byte $64, $BD, $1A, $02, $85, $65, $A9, $0B, $85, $60, $4C, $BB, $DA, $C9, $03, $D0 ; CPU:$DCC0 PRG:5CC0 64 BD 1A 02 85 65 A9 0B 85 60 4C BB DA C9 03 D0 - .byte $54, $20, $81, $DC, $A6, $60, $BD, $19, $02, $C9, $0F, $F0, $05, $A9, $00, $9D ; CPU:$DCD0 PRG:5CD0 54 20 81 DC A6 60 BD 19 02 C9 0F F0 05 A9 00 9D - .byte $19, $02, $A2, $00, $BD, $E6, $02, $F0, $09, $8A, $18, $69, $10, $AA, $E0, $60 ; CPU:$DCE0 PRG:5CE0 19 02 A2 00 BD E6 02 F0 09 8A 18 69 10 AA E0 60 - .byte $D0, $F2, $A9, $C3, $9D, $E6, $02, $B9, $47, $04, $9D, $E7, $02, $B9, $49, $04 ; CPU:$DCF0 PRG:5CF0 D0 F2 A9 C3 9D E6 02 B9 47 04 9D E7 02 B9 49 04 - .byte $9D, $E9, $02, $A9, $00, $9D, $ED, $02, $A9, $01, $9D, $EE, $02, $9D, $EA, $02 ; CPU:$DD00 PRG:5D00 9D E9 02 A9 00 9D ED 02 A9 01 9D EE 02 9D EA 02 - .byte $A9, $02, $9D, $F1, $02, $A9, $06, $9D, $F4, $02, $A9, $85, $9D, $F2, $02, $A9 ; CPU:$DD10 PRG:5D10 A9 02 9D F1 02 A9 06 9D F4 02 A9 85 9D F2 02 A9 - .byte $81, $9D, $F3, $02, $60, $C9, $04, $D0, $03, $4C, $2D, $DD, $60, $A6, $60, $BD ; CPU:$DD20 PRG:5D20 81 9D F3 02 60 C9 04 D0 03 4C 2D DD 60 A6 60 BD - .byte $19, $02, $C9, $0F, $90, $04, $C9, $12, $90, $05, $A9, $00, $9D, $19, $02, $BD ; CPU:$DD30 PRG:5D30 19 02 C9 0F 90 04 C9 12 90 05 A9 00 9D 19 02 BD - .byte $1B, $02, $85, $64, $BD, $1A, $02, $85, $65, $A9, $0A, $85, $60, $20, $BB, $DA ; CPU:$DD40 PRG:5D40 1B 02 85 64 BD 1A 02 85 65 A9 0A 85 60 20 BB DA - .byte $A9, $14, $85, $94, $20, $51, $FA, $A9, $01, $85, $5E, $20, $5E, $D8, $CE, $B4 ; CPU:$DD50 PRG:5D50 A9 14 85 94 20 51 FA A9 01 85 5E 20 5E D8 CE B4 - .byte $06, $D0, $C9, $AD, $69, $03, $69, $24, $85, $64, $AD, $67, $03, $69, $10, $85 ; CPU:$DD60 PRG:5D60 06 D0 C9 AD 69 03 69 24 85 64 AD 67 03 69 10 85 - .byte $65, $A9, $08, $85, $60, $20, $BB, $DA, $A5, $64, $69, $20, $85, $64, $20, $BB ; CPU:$DD70 PRG:5D70 65 A9 08 85 60 20 BB DA A5 64 69 20 85 64 20 BB - .byte $DA, $A5, $64, $E9, $10, $85, $64, $A5, $65, $E9, $20, $85, $65, $20, $BB, $DA ; CPU:$DD80 PRG:5D80 DA A5 64 E9 10 85 64 A5 65 E9 20 85 65 20 BB DA - .byte $A9, $0B, $85, $94, $20, $51, $FA, $A9, $50, $85, $5E, $20, $5E, $D8, $A5, $0D ; CPU:$DD90 PRG:5D90 A9 0B 85 94 20 51 FA A9 50 85 5E 20 5E D8 A5 0D - .byte $20, $96, $D3, $A9, $00, $8D, $B2, $06, $8D, $66, $03, $8D, $46, $04, $85, $9D ; CPU:$DDA0 PRG:5DA0 20 96 D3 A9 00 8D B2 06 8D 66 03 8D 46 04 85 9D - .byte $A9, $80, $8D, $B1, $06, $A9, $FF, $8D, $B4, $06, $60, $AD, $AC, $06, $F0, $03 ; CPU:$DDB0 PRG:5DB0 A9 80 8D B1 06 A9 FF 8D B4 06 60 AD AC 06 F0 03 - .byte $CE, $AC, $06, $A2, $00, $A0, $00, $BD, $19, $02, $F0, $37, $C9, $13, $F0, $33 ; CPU:$DDC0 PRG:5DC0 CE AC 06 A2 00 A0 00 BD 19 02 F0 37 C9 13 F0 33 - .byte $B9, $46, $02, $F0, $25, $C9, $19, $90, $21, $B9, $4A, $02, $C9, $01, $D0, $1A ; CPU:$DDD0 PRG:5DD0 B9 46 02 F0 25 C9 19 90 21 B9 4A 02 C9 01 D0 1A - .byte $20, $F5, $D9, $F0, $15, $B9, $46, $02, $C9, $31, $D0, $0B, $BD, $19, $02, $C9 ; CPU:$DDE0 PRG:5DE0 20 F5 D9 F0 15 B9 46 02 C9 31 D0 0B BD 19 02 C9 - .byte $10, $F0, $07, $C9, $11, $F0, $03, $4C, $3E, $DA, $98, $18, $69, $10, $A8, $C0 ; CPU:$DDF0 PRG:5DF0 10 F0 07 C9 11 F0 03 4C 3E DA 98 18 69 10 A8 C0 - .byte $A0, $D0, $CD, $E8, $E8, $E8, $E8, $E8, $E0, $2D, $D0, $B9, $A5, $00, $D0, $04 ; CPU:$DE00 PRG:5E00 A0 D0 CD E8 E8 E8 E8 E8 E0 2D D0 B9 A5 00 D0 04 - .byte $A5, $0B, $F0, $5A, $A2, $00, $A0, $00, $BD, $E6, $02, $C9, $C3, $F0, $04, $C9 ; CPU:$DE10 PRG:5E10 A5 0B F0 5A A2 00 A0 00 BD E6 02 C9 C3 F0 04 C9 - .byte $30, $D0, $42, $B9, $46, $02, $F0, $34, $C9, $19, $90, $30, $B9, $4A, $02, $C9 ; CPU:$DE20 PRG:5E20 30 D0 42 B9 46 02 F0 34 C9 19 90 30 B9 4A 02 C9 - .byte $01, $D0, $29, $20, $6D, $E4, $F0, $24, $A9, $09, $99, $46, $02, $A9, $14, $85 ; CPU:$DE30 PRG:5E30 01 D0 29 20 6D E4 F0 24 A9 09 99 46 02 A9 14 85 - .byte $94, $20, $51, $FA, $A9, $00, $99, $4B, $02, $99, $4C, $02, $99, $4D, $02, $A9 ; CPU:$DE40 PRG:5E40 94 20 51 FA A9 00 99 4B 02 99 4C 02 99 4D 02 A9 - .byte $10, $85, $5E, $20, $5E, $D8, $A9, $00, $99, $53, $02, $60, $98, $18, $69, $10 ; CPU:$DE50 PRG:5E50 10 85 5E 20 5E D8 A9 00 99 53 02 60 98 18 69 10 - .byte $A8, $C0, $A0, $D0, $BE, $8A, $18, $69, $10, $AA, $E0, $60, $D0, $A8, $A5, $79 ; CPU:$DE60 PRG:5E60 A8 C0 A0 D0 BE 8A 18 69 10 AA E0 60 D0 A8 A5 79 - .byte $29, $01, $F0, $03, $4C, $C9, $DF, $A5, $00, $F0, $03, $4C, $2E, $DF, $A2, $00 ; CPU:$DE70 PRG:5E70 29 01 F0 03 4C C9 DF A5 00 F0 03 4C 2E DF A2 00 - .byte $A0, $00, $BD, $19, $02, $F0, $04, $C9, $13, $D0, $03, $4C, $21, $DF, $B9, $6A ; CPU:$DE80 PRG:5E80 A0 00 BD 19 02 F0 04 C9 13 D0 03 4C 21 DF B9 6A - .byte $03, $C9, $01, $D0, $26, $B9, $66, $03, $F0, $21, $86, $5E, $29, $7F, $38, $E9 ; CPU:$DE90 PRG:5E90 03 C9 01 D0 26 B9 66 03 F0 21 86 5E 29 7F 38 E9 - .byte $19, $0A, $0A, $AA, $86, $61, $BD, $00, $80, $48, $A6, $5E, $68, $F0, $0C, $B9 ; CPU:$DEA0 PRG:5EA0 19 0A 0A AA 86 61 BD 00 80 48 A6 5E 68 F0 0C B9 - .byte $66, $03, $C9, $36, $D0, $08, $B9, $6C, $03, $D0, $10, $4C, $15, $DF, $C9, $37 ; CPU:$DEB0 PRG:5EB0 66 03 C9 36 D0 08 B9 6C 03 D0 10 4C 15 DF C9 37 - .byte $D0, $09, $B9, $6C, $03, $29, $0C, $C9, $0C, $F0, $F0, $B9, $69, $03, $85, $60 ; CPU:$DEC0 PRG:5EC0 D0 09 B9 6C 03 29 0C C9 0C F0 F0 B9 69 03 85 60 - .byte $AD, $66, $03, $C9, $1F, $D0, $08, $A5, $60, $69, $20, $B0, $DE, $85, $60, $A5 ; CPU:$DED0 PRG:5ED0 AD 66 03 C9 1F D0 08 A5 60 69 20 B0 DE 85 60 A5 - .byte $60, $38, $FD, $1B, $02, $90, $2E, $C9, $10, $B0, $2A, $B9, $67, $03, $38, $FD ; CPU:$DEE0 PRG:5EE0 60 38 FD 1B 02 90 2E C9 10 B0 2A B9 67 03 38 FD - .byte $1A, $02, $90, $16, $85, $5E, $8A, $48, $B9, $66, $03, $29, $7F, $AA, $BD, $15 ; CPU:$DEF0 PRG:5EF0 1A 02 90 16 85 5E 8A 48 B9 66 03 29 7F AA BD 15 - .byte $81, $C5, $5E, $68, $AA, $90, $0E, $4C, $12, $DB, $BD, $1A, $02, $38, $F9, $67 ; CPU:$DF00 PRG:5F00 81 C5 5E 68 AA 90 0E 4C 12 DB BD 1A 02 38 F9 67 - .byte $03, $C9, $0B, $90, $F2, $98, $18, $69, $08, $A8, $C0, $E0, $F0, $03, $4C, $8E ; CPU:$DF10 PRG:5F10 03 C9 0B 90 F2 98 18 69 08 A8 C0 E0 F0 03 4C 8E - .byte $DE, $E8, $E8, $E8, $E8, $E8, $E0, $2D, $F0, $03, $4C, $80, $DE, $60, $A2, $00 ; CPU:$DF20 PRG:5F20 DE E8 E8 E8 E8 E8 E0 2D F0 03 4C 80 DE 60 A2 00 - .byte $A0, $00, $BD, $19, $02, $D0, $03, $4C, $BC, $DF, $B9, $4A, $04, $C9, $01, $D0 ; CPU:$DF30 PRG:5F30 A0 00 BD 19 02 D0 03 4C BC DF B9 4A 04 C9 01 D0 - .byte $1A, $B9, $46, $04, $F0, $15, $86, $5E, $29, $7F, $38, $E9, $19, $0A, $0A, $AA ; CPU:$DF40 PRG:5F40 1A B9 46 04 F0 15 86 5E 29 7F 38 E9 19 0A 0A AA - .byte $86, $61, $BD, $00, $80, $48, $A6, $5E, $68, $D0, $03, $4C, $B0, $DF, $B9, $49 ; CPU:$DF50 PRG:5F50 86 61 BD 00 80 48 A6 5E 68 D0 03 4C B0 DF B9 49 - .byte $04, $85, $60, $AD, $46, $04, $C9, $2D, $D0, $08, $A5, $60, $69, $20, $B0, $C7 ; CPU:$DF60 PRG:5F60 04 85 60 AD 46 04 C9 2D D0 08 A5 60 69 20 B0 C7 - .byte $85, $60, $A5, $60, $38, $FD, $1B, $02, $90, $36, $C9, $10, $B0, $32, $B9, $47 ; CPU:$DF70 PRG:5F70 85 60 A5 60 38 FD 1B 02 90 36 C9 10 B0 32 B9 47 - .byte $04, $38, $FD, $1A, $02, $90, $1E, $85, $5E, $8A, $48, $B9, $46, $04, $29, $7F ; CPU:$DF80 PRG:5F80 04 38 FD 1A 02 90 1E 85 5E 8A 48 B9 46 04 29 7F - .byte $AA, $BD, $15, $81, $C5, $5E, $68, $AA, $90, $16, $4C, $68, $DC, $00, $0C, $2C ; CPU:$DF90 PRG:5F90 AA BD 15 81 C5 5E 68 AA 90 16 4C 68 DC 00 0C 2C - .byte $4C, $2C, $0C, $00, $00, $BD, $1A, $02, $38, $F9, $47, $04, $C9, $0B, $90, $EA ; CPU:$DFA0 PRG:5FA0 4C 2C 0C 00 00 BD 1A 02 38 F9 47 04 C9 0B 90 EA - .byte $98, $18, $69, $08, $A8, $C0, $C0, $F0, $03, $4C, $3A, $DF, $E8, $E8, $E8, $E8 ; CPU:$DFB0 PRG:5FB0 98 18 69 08 A8 C0 C0 F0 03 4C 3A DF E8 E8 E8 E8 - .byte $E8, $E0, $2D, $F0, $03, $4C, $30, $DF, $60, $A0, $06, $A5, $00, $F0, $02, $A4 ; CPU:$DFC0 PRG:5FC0 E8 E0 2D F0 03 4C 30 DF 60 A0 06 A5 00 F0 02 A4 - .byte $8B, $84, $60, $A0, $00, $8C, $AE, $06, $B9, $46, $02, $F0, $73, $C9, $0D, $F0 ; CPU:$DFD0 PRG:5FD0 8B 84 60 A0 00 8C AE 06 B9 46 02 F0 73 C9 0D F0 - .byte $6F, $C9, $09, $F0, $6B, $C9, $0A, $F0, $67, $C9, $31, $F0, $63, $B9, $4A, $02 ; CPU:$DFE0 PRG:5FE0 6F C9 09 F0 6B C9 0A F0 67 C9 31 F0 63 B9 4A 02 - .byte $C9, $01, $D0, $5C, $B9, $49, $02, $38, $E5, $89, $90, $07, $C9, $10, $B0, $50 ; CPU:$DFF0 PRG:5FF0 C9 01 D0 5C B9 49 02 38 E5 89 90 07 C9 10 B0 50 - .byte $4C, $16, $E0, $A5, $89, $38, $F9, $49, $02, $85, $5E, $B9, $46, $02, $AA, $BD ; CPU:$E000 PRG:6000 4C 16 E0 A5 89 38 F9 49 02 85 5E B9 46 02 AA BD - .byte $CC, $80, $C5, $5E, $90, $3A, $B9, $47, $02, $38, $E5, $8A, $90, $10, $85, $5E ; CPU:$E010 PRG:6010 CC 80 C5 5E 90 3A B9 47 02 38 E5 8A 90 10 85 5E - .byte $B9, $46, $02, $AA, $BD, $15, $81, $C5, $5E, $90, $25, $4C, $42, $E0, $A5, $8A ; CPU:$E020 PRG:6020 B9 46 02 AA BD 15 81 C5 5E 90 25 4C 42 E0 A5 8A - .byte $38, $F9, $47, $02, $85, $5E, $A6, $60, $BD, $15, $81, $C5, $5E, $90, $11, $20 ; CPU:$E030 PRG:6030 38 F9 47 02 85 5E A6 60 BD 15 81 C5 5E 90 11 20 - .byte $63, $E4, $AD, $AC, $06, $F0, $01, $60, $A9, $00, $99, $46, $02, $4C, $5C, $E8 ; CPU:$E040 PRG:6040 63 E4 AD AC 06 F0 01 60 A9 00 99 46 02 4C 5C E8 - .byte $98, $18, $69, $10, $A8, $C0, $A0, $F0, $03, $4C, $D8, $DF, $A0, $00, $8C, $AE ; CPU:$E050 PRG:6050 98 18 69 10 A8 C0 A0 F0 03 4C D8 DF A0 00 8C AE - .byte $06, $B9, $E6, $02, $F0, $63, $B9, $EA, $02, $C9, $01, $D0, $5C, $B9, $E9, $02 ; CPU:$E060 PRG:6060 06 B9 E6 02 F0 63 B9 EA 02 C9 01 D0 5C B9 E9 02 - .byte $38, $E5, $89, $90, $07, $C9, $10, $B0, $50, $4C, $8F, $E0, $A5, $89, $38, $F9 ; CPU:$E070 PRG:6070 38 E5 89 90 07 C9 10 B0 50 4C 8F E0 A5 89 38 F9 - .byte $E9, $02, $85, $5E, $B9, $E6, $02, $AA, $BD, $CC, $80, $C5, $5E, $90, $3A, $B9 ; CPU:$E080 PRG:6080 E9 02 85 5E B9 E6 02 AA BD CC 80 C5 5E 90 3A B9 - .byte $E7, $02, $38, $E5, $8A, $90, $10, $85, $5E, $B9, $E6, $02, $AA, $BD, $15, $81 ; CPU:$E090 PRG:6090 E7 02 38 E5 8A 90 10 85 5E B9 E6 02 AA BD 15 81 - .byte $C5, $5E, $90, $25, $4C, $BB, $E0, $A5, $8A, $38, $F9, $E7, $02, $85, $5E, $A6 ; CPU:$E0A0 PRG:60A0 C5 5E 90 25 4C BB E0 A5 8A 38 F9 E7 02 85 5E A6 - .byte $60, $BD, $15, $81, $C5, $5E, $90, $11, $20, $63, $E4, $AD, $AC, $06, $F0, $01 ; CPU:$E0B0 PRG:60B0 60 BD 15 81 C5 5E 90 11 20 63 E4 AD AC 06 F0 01 - .byte $60, $A9, $00, $99, $E6, $02, $4C, $5C, $E8, $98, $18, $69, $10, $A8, $C0, $80 ; CPU:$E0C0 PRG:60C0 60 A9 00 99 E6 02 4C 5C E8 98 18 69 10 A8 C0 80 - .byte $F0, $03, $4C, $61, $E0, $A5, $00, $F0, $03, $4C, $06, $E3, $A0, $00, $B9, $66 ; CPU:$E0D0 PRG:60D0 F0 03 4C 61 E0 A5 00 F0 03 4C 06 E3 A0 00 B9 66 - .byte $03, $F0, $13, $C9, $36, $D0, $08, $B9, $6C, $03, $D0, $03, $4C, $0F, $E2, $B9 ; CPU:$E0E0 PRG:60E0 03 F0 13 C9 36 D0 08 B9 6C 03 D0 03 4C 0F E2 B9 - .byte $6A, $03, $C9, $01, $F0, $03, $4C, $0F, $E2, $B9, $69, $03, $38, $E5, $89, $90 ; CPU:$E0F0 PRG:60F0 6A 03 C9 01 F0 03 4C 0F E2 B9 69 03 38 E5 89 90 - .byte $07, $C9, $10, $90, $1B, $4C, $0F, $E2, $A5, $89, $38, $F9, $69, $03, $85, $5E ; CPU:$E100 PRG:6100 07 C9 10 90 1B 4C 0F E2 A5 89 38 F9 69 03 85 5E - .byte $B9, $66, $03, $29, $7F, $AA, $BD, $CC, $80, $C5, $5E, $B0, $03, $4C, $0F, $E2 ; CPU:$E110 PRG:6110 B9 66 03 29 7F AA BD CC 80 C5 5E B0 03 4C 0F E2 - .byte $B9, $67, $03, $38, $E5, $8A, $90, $15, $85, $5E, $B9, $66, $03, $29, $7F, $AA ; CPU:$E120 PRG:6120 B9 67 03 38 E5 8A 90 15 85 5E B9 66 03 29 7F AA - .byte $BD, $15, $81, $C5, $5E, $B0, $03, $4C, $0F, $E2, $4C, $4A, $E1, $A5, $8A, $38 ; CPU:$E130 PRG:6130 BD 15 81 C5 5E B0 03 4C 0F E2 4C 4A E1 A5 8A 38 - .byte $F9, $67, $03, $C9, $07, $90, $03, $4C, $0F, $E2, $B9, $66, $03, $C9, $2E, $D0 ; CPU:$E140 PRG:6140 F9 67 03 C9 07 90 03 4C 0F E2 B9 66 03 C9 2E D0 - .byte $26, $B9, $69, $03, $C9, $C0, $B0, $6F, $B9, $67, $03, $E9, $0A, $8D, $AE, $06 ; CPU:$E150 PRG:6150 26 B9 69 03 C9 C0 B0 6F B9 67 03 E9 0A 8D AE 06 - .byte $B9, $69, $03, $69, $0F, $8D, $AD, $06, $A9, $02, $85, $90, $A9, $00, $85, $8F ; CPU:$E160 PRG:6160 B9 69 03 69 0F 8D AD 06 A9 02 85 90 A9 00 85 8F - .byte $99, $66, $03, $60, $4C, $0F, $E2, $C9, $4B, $F0, $F9, $C9, $49, $F0, $F5, $C9 ; CPU:$E170 PRG:6170 99 66 03 60 4C 0F E2 C9 4B F0 F9 C9 49 F0 F5 C9 - .byte $4A, $F0, $F1, $C9, $BA, $90, $7E, $C9, $BD, $B0, $7A, $38, $E9, $BA, $85, $5E ; CPU:$E180 PRG:6180 4A F0 F1 C9 BA 90 7E C9 BD B0 7A 38 E9 BA 85 5E - .byte $8D, $1F, $06, $A5, $8B, $0A, $0A, $18, $65, $5E, $AA, $BD, $39, $E9, $F0, $27 ; CPU:$E190 PRG:6190 8D 1F 06 A5 8B 0A 0A 18 65 5E AA BD 39 E9 F0 27 - .byte $10, $26, $20, $1B, $E2, $D0, $20, $A9, $00, $99, $66, $03, $B9, $69, $03, $85 ; CPU:$E1A0 PRG:61A0 10 26 20 1B E2 D0 20 A9 00 99 66 03 B9 69 03 85 - .byte $64, $B9, $67, $03, $85, $65, $A9, $31, $85, $60, $20, $BB, $DA, $A9, $14, $9D ; CPU:$E1B0 PRG:61B0 64 B9 67 03 85 65 A9 31 85 60 20 BB DA A9 14 9D - .byte $4D, $02, $A9, $FF, $9D, $48, $02, $60, $85, $95, $BD, $51, $E9, $AE, $1F, $06 ; CPU:$E1C0 PRG:61C0 4D 02 A9 FF 9D 48 02 60 85 95 BD 51 E9 AE 1F 06 - .byte $E0, $01, $F0, $05, $65, $8A, $4C, $DC, $E1, $79, $67, $03, $8D, $AE, $06, $B9 ; CPU:$E1D0 PRG:61D0 E0 01 F0 05 65 8A 4C DC E1 79 67 03 8D AE 06 B9 - .byte $69, $03, $8D, $39, $02, $B9, $67, $03, $8D, $38, $02, $B9, $66, $03, $29, $7F ; CPU:$E1E0 PRG:61E0 69 03 8D 39 02 B9 67 03 8D 38 02 B9 66 03 29 7F - .byte $8D, $37, $02, $A9, $07, $85, $90, $A9, $00, $85, $8F, $99, $66, $03, $8D, $3B ; CPU:$E1F0 PRG:61F0 8D 37 02 A9 07 85 90 A9 00 85 8F 99 66 03 8D 3B - .byte $02, $8D, $3A, $02, $60, $C9, $32, $D0, $03, $4C, $A6, $E2, $4C, $5C, $E8, $98 ; CPU:$E200 PRG:6200 02 8D 3A 02 60 C9 32 D0 03 4C A6 E2 4C 5C E8 98 - .byte $18, $69, $08, $A8, $C0, $E0, $F0, $10, $4C, $DE, $E0, $A5, $88, $0A, $0A, $0A ; CPU:$E210 PRG:6210 18 69 08 A8 C0 E0 F0 10 4C DE E0 A5 88 0A 0A 0A - .byte $AA, $BD, $00, $06, $DD, $01, $06, $60, $A5, $0B, $F0, $01, $60, $A2, $00, $A0 ; CPU:$E220 PRG:6220 AA BD 00 06 DD 01 06 60 A5 0B F0 01 60 A2 00 A0 - .byte $00, $BD, $E6, $02, $C9, $30, $F0, $03, $4C, $F9, $E2, $B9, $66, $03, $F0, $1F ; CPU:$E230 PRG:6230 00 BD E6 02 C9 30 F0 03 4C F9 E2 B9 66 03 F0 1F - .byte $C9, $08, $90, $04, $C9, $0E, $90, $17, $B9, $6A, $03, $C9, $01, $D0, $10, $B9 ; CPU:$E240 PRG:6240 C9 08 90 04 C9 0E 90 17 B9 6A 03 C9 01 D0 10 B9 - .byte $69, $03, $38, $FD, $E9, $02, $90, $0A, $C9, $0B, $B0, $03, $4C, $7C, $E2, $4C ; CPU:$E250 PRG:6250 69 03 38 FD E9 02 90 0A C9 0B B0 03 4C 7C E2 4C - .byte $ED, $E2, $BD, $E9, $02, $38, $F9, $69, $03, $85, $5E, $8A, $48, $B9, $66, $03 ; CPU:$E260 PRG:6260 ED E2 BD E9 02 38 F9 69 03 85 5E 8A 48 B9 66 03 - .byte $29, $7F, $AA, $BD, $CC, $80, $C5, $5E, $68, $AA, $90, $71, $B9, $67, $03, $38 ; CPU:$E270 PRG:6270 29 7F AA BD CC 80 C5 5E 68 AA 90 71 B9 67 03 38 - .byte $FD, $E7, $02, $90, $16, $85, $5E, $8A, $48, $B9, $66, $03, $29, $7F, $AA, $BD ; CPU:$E280 PRG:6280 FD E7 02 90 16 85 5E 8A 48 B9 66 03 29 7F AA BD - .byte $15, $81, $C5, $5E, $68, $AA, $90, $55, $4C, $A6, $E2, $BD, $E7, $02, $38, $F9 ; CPU:$E290 PRG:6290 15 81 C5 5E 68 AA 90 55 4C A6 E2 BD E7 02 38 F9 - .byte $67, $03, $C9, $0B, $B0, $47, $B9, $66, $03, $29, $7F, $38, $E9, $19, $0A, $0A ; CPU:$E2A0 PRG:62A0 67 03 C9 0B B0 47 B9 66 03 29 7F 38 E9 19 0A 0A - .byte $AA, $BD, $00, $80, $D0, $01, $60, $BD, $01, $80, $99, $66, $03, $A9, $10, $85 ; CPU:$E2B0 PRG:62B0 AA BD 00 80 D0 01 60 BD 01 80 99 66 03 A9 10 85 - .byte $5E, $20, $5E, $D8, $A9, $14, $85, $94, $20, $51, $FA, $A9, $00, $99, $6B, $03 ; CPU:$E2C0 PRG:62C0 5E 20 5E D8 A9 14 85 94 20 51 FA A9 00 99 6B 03 - .byte $99, $6C, $03, $B9, $69, $03, $18, $69, $02, $85, $64, $B9, $67, $03, $85, $65 ; CPU:$E2D0 PRG:62D0 99 6C 03 B9 69 03 18 69 02 85 64 B9 67 03 85 65 - .byte $A9, $09, $85, $60, $20, $BB, $DA, $A9, $00, $9D, $53, $02, $60, $98, $18, $69 ; CPU:$E2E0 PRG:62E0 A9 09 85 60 20 BB DA A9 00 9D 53 02 60 98 18 69 - .byte $08, $A8, $C0, $E0, $F0, $03, $4C, $3B, $E2, $8A, $18, $69, $10, $AA, $E0, $60 ; CPU:$E2F0 PRG:62F0 08 A8 C0 E0 F0 03 4C 3B E2 8A 18 69 10 AA E0 60 - .byte $F0, $03, $4C, $2F, $E2, $60, $A0, $00, $8C, $AE, $06, $B9, $46, $04, $F0, $07 ; CPU:$E300 PRG:6300 F0 03 4C 2F E2 60 A0 00 8C AE 06 B9 46 04 F0 07 - .byte $B9, $4A, $04, $C9, $01, $F0, $03, $4C, $56, $E4, $B9, $49, $04, $38, $E5, $89 ; CPU:$E310 PRG:6310 B9 4A 04 C9 01 F0 03 4C 56 E4 B9 49 04 38 E5 89 - .byte $90, $07, $C9, $10, $90, $1B, $4C, $56, $E4, $A5, $89, $38, $F9, $49, $04, $85 ; CPU:$E320 PRG:6320 90 07 C9 10 90 1B 4C 56 E4 A5 89 38 F9 49 04 85 - .byte $5E, $B9, $46, $04, $29, $7F, $AA, $BD, $CC, $80, $C5, $5E, $B0, $03, $4C, $56 ; CPU:$E330 PRG:6330 5E B9 46 04 29 7F AA BD CC 80 C5 5E B0 03 4C 56 - .byte $E4, $B9, $47, $04, $38, $E5, $8A, $90, $23, $85, $5E, $B9, $46, $04, $C9, $45 ; CPU:$E340 PRG:6340 E4 B9 47 04 38 E5 8A 90 23 85 5E B9 46 04 C9 45 - .byte $D0, $0A, $B9, $4C, $04, $AA, $BD, $9D, $DF, $4C, $62, $E3, $29, $7F, $AA, $BD ; CPU:$E350 PRG:6350 D0 0A B9 4C 04 AA BD 9D DF 4C 62 E3 29 7F AA BD - .byte $15, $81, $C5, $5E, $B0, $03, $4C, $56, $E4, $4C, $80, $E3, $A5, $8A, $38, $F9 ; CPU:$E360 PRG:6360 15 81 C5 5E B0 03 4C 56 E4 4C 80 E3 A5 8A 38 F9 - .byte $47, $04, $85, $5E, $A6, $60, $BD, $15, $81, $C5, $5E, $B0, $03, $4C, $56, $E4 ; CPU:$E370 PRG:6370 47 04 85 5E A6 60 BD 15 81 C5 5E B0 03 4C 56 E4 - .byte $20, $63, $E4, $B9, $46, $04, $C9, $3F, $D0, $0F, $A5, $90, $C9, $03, $F0, $08 ; CPU:$E380 PRG:6380 20 63 E4 B9 46 04 C9 3F D0 0F A5 90 C9 03 F0 08 - .byte $A9, $03, $85, $90, $A9, $00, $85, $8F, $60, $C9, $3D, $D0, $2C, $B9, $49, $04 ; CPU:$E390 PRG:6390 A9 03 85 90 A9 00 85 8F 60 C9 3D D0 2C B9 49 04 - .byte $C9, $C0, $B0, $69, $B9, $47, $04, $C9, $80, $90, $05, $E9, $08, $4C, $B2, $E3 ; CPU:$E3A0 PRG:63A0 C9 C0 B0 69 B9 47 04 C9 80 90 05 E9 08 4C B2 E3 - .byte $A5, $8A, $8D, $AE, $06, $B9, $49, $04, $69, $0F, $8D, $AD, $06, $A9, $02, $85 ; CPU:$E3B0 PRG:63B0 A5 8A 8D AE 06 B9 49 04 69 0F 8D AD 06 A9 02 85 - .byte $90, $A9, $00, $85, $8F, $99, $46, $04, $60, $C9, $C6, $90, $7E, $C9, $C9, $B0 ; CPU:$E3C0 PRG:63C0 90 A9 00 85 8F 99 46 04 60 C9 C6 90 7E C9 C9 B0 - .byte $7A, $38, $E9, $C6, $85, $5E, $8D, $1F, $06, $A5, $8B, $0A, $0A, $18, $65, $5E ; CPU:$E3D0 PRG:63D0 7A 38 E9 C6 85 5E 8D 1F 06 A5 8B 0A 0A 18 65 5E - .byte $AA, $BD, $39, $E9, $F0, $27, $10, $26, $20, $1B, $E2, $D0, $20, $A9, $00, $99 ; CPU:$E3E0 PRG:63E0 AA BD 39 E9 F0 27 10 26 20 1B E2 D0 20 A9 00 99 - .byte $46, $04, $B9, $49, $04, $85, $64, $B9, $47, $04, $85, $65, $A9, $31, $85, $60 ; CPU:$E3F0 PRG:63F0 46 04 B9 49 04 85 64 B9 47 04 85 65 A9 31 85 60 - .byte $20, $BB, $DA, $A9, $14, $9D, $4D, $02, $A9, $02, $9D, $48, $02, $60, $85, $95 ; CPU:$E400 PRG:6400 20 BB DA A9 14 9D 4D 02 A9 02 9D 48 02 60 85 95 - .byte $BD, $51, $E9, $AE, $1F, $06, $E0, $01, $F0, $05, $65, $8A, $4C, $22, $E4, $79 ; CPU:$E410 PRG:6410 BD 51 E9 AE 1F 06 E0 01 F0 05 65 8A 4C 22 E4 79 - .byte $47, $04, $8D, $AE, $06, $B9, $49, $04, $8D, $39, $02, $B9, $47, $04, $8D, $38 ; CPU:$E420 PRG:6420 47 04 8D AE 06 B9 49 04 8D 39 02 B9 47 04 8D 38 - .byte $02, $B9, $46, $04, $29, $7F, $8D, $37, $02, $A9, $07, $85, $90, $A9, $00, $85 ; CPU:$E430 PRG:6430 02 B9 46 04 29 7F 8D 37 02 A9 07 85 90 A9 00 85 - .byte $8F, $99, $46, $04, $8D, $3B, $02, $8D, $3A, $02, $60, $C9, $42, $F0, $07, $C9 ; CPU:$E440 PRG:6440 8F 99 46 04 8D 3B 02 8D 3A 02 60 C9 42 F0 07 C9 - .byte $32, $F0, $03, $4C, $5C, $E8, $98, $18, $69, $08, $A8, $C0, $C0, $F0, $03, $4C ; CPU:$E450 PRG:6450 32 F0 03 4C 5C E8 98 18 69 08 A8 C0 C0 F0 03 4C - .byte $0B, $E3, $60, $A5, $5E, $C9, $10, $90, $03, $EE, $AE, $06, $60, $B9, $49, $02 ; CPU:$E460 PRG:6460 0B E3 60 A5 5E C9 10 90 03 EE AE 06 60 B9 49 02 - .byte $38, $FD, $E9, $02, $90, $07, $C9, $0B, $B0, $55, $4C, $95, $E4, $BD, $E9, $02 ; CPU:$E470 PRG:6470 38 FD E9 02 90 07 C9 0B B0 55 4C 95 E4 BD E9 02 - .byte $38, $F9, $49, $02, $85, $5E, $8A, $48, $B9, $46, $02, $AA, $BD, $CC, $80, $C5 ; CPU:$E480 PRG:6480 38 F9 49 02 85 5E 8A 48 B9 46 02 AA BD CC 80 C5 - .byte $5E, $68, $AA, $90, $3A, $B9, $47, $02, $38, $FD, $E7, $02, $90, $14, $85, $5E ; CPU:$E490 PRG:6490 5E 68 AA 90 3A B9 47 02 38 FD E7 02 90 14 85 5E - .byte $8A, $48, $B9, $46, $02, $AA, $BD, $15, $81, $C5, $5E, $68, $AA, $90, $20, $A9 ; CPU:$E4A0 PRG:64A0 8A 48 B9 46 02 AA BD 15 81 C5 5E 68 AA 90 20 A9 - .byte $01, $60, $BD, $E7, $02, $38, $F9, $47, $02, $85, $5E, $98, $48, $BD, $E6, $02 ; CPU:$E4B0 PRG:64B0 01 60 BD E7 02 38 F9 47 02 85 5E 98 48 BD E6 02 - .byte $29, $7F, $A8, $B9, $15, $81, $C5, $5E, $68, $A8, $90, $03, $A9, $01, $60, $A9 ; CPU:$E4C0 PRG:64C0 29 7F A8 B9 15 81 C5 5E 68 A8 90 03 A9 01 60 A9 - .byte $00, $60, $16, $26, $A5, $79, $4A, $4A, $4A, $29, $01, $AA, $BD, $D2, $E4, $85 ; CPU:$E4D0 PRG:64D0 00 60 16 26 A5 79 4A 4A 4A 29 01 AA BD D2 E4 85 - .byte $9F, $A5, $8F, $D0, $50, $A9, $04, $20, $E6, $FA, $20, $C0, $D9, $A9, $01, $85 ; CPU:$E4E0 PRG:64E0 9F A5 8F D0 50 A9 04 20 E6 FA 20 C0 D9 A9 01 85 - .byte $70, $85, $00, $A9, $EF, $85, $6F, $A9, $00, $85, $8B, $85, $81, $85, $82, $20 ; CPU:$E4F0 PRG:64F0 70 85 00 A9 EF 85 6F A9 00 85 8B 85 81 85 82 20 - .byte $93, $C7, $A9, $56, $85, $8A, $A9, $59, $85, $89, $A9, $CC, $8D, $46, $04, $A9 ; CPU:$E500 PRG:6500 93 C7 A9 56 85 8A A9 59 85 89 A9 CC 8D 46 04 A9 - .byte $01, $8D, $47, $04, $A9, $51, $8D, $49, $04, $A9, $01, $8D, $4A, $04, $A9, $3E ; CPU:$E510 PRG:6510 01 8D 47 04 A9 51 8D 49 04 A9 01 8D 4A 04 A9 3E - .byte $8D, $46, $02, $A9, $58, $8D, $47, $02, $A9, $51, $8D, $49, $02, $A9, $01, $8D ; CPU:$E520 PRG:6520 8D 46 02 A9 58 8D 47 02 A9 51 8D 49 02 A9 01 8D - .byte $4A, $02, $E6, $8F, $60, $C9, $80, $B0, $0C, $A5, $86, $C9, $01, $F0, $03, $20 ; CPU:$E530 PRG:6530 4A 02 E6 8F 60 C9 80 B0 0C A5 86 C9 01 F0 03 20 - .byte $19, $D9, $4C, $32, $E5, $A5, $6F, $C9, $07, $90, $29, $C6, $6F, $EE, $47, $04 ; CPU:$E540 PRG:6540 19 D9 4C 32 E5 A5 6F C9 07 90 29 C6 6F EE 47 04 - .byte $A5, $6F, $C9, $A6, $90, $01, $60, $EE, $47, $02, $E6, $8A, $A5, $8A, $C9, $C0 ; CPU:$E550 PRG:6550 A5 6F C9 A6 90 01 60 EE 47 02 E6 8A A5 8A C9 C0 - .byte $B0, $01, $60, $A0, $14, $A9, $00, $99, $9C, $00, $C8, $C0, $1C, $D0, $F8, $A9 ; CPU:$E560 PRG:6560 B0 01 60 A0 14 A9 00 99 9C 00 C8 C0 1C D0 F8 A9 - .byte $FF, $85, $8B, $60, $A5, $8F, $C9, $E0, $B0, $28, $38, $E9, $80, $4A, $4A, $29 ; CPU:$E570 PRG:6570 FF 85 8B 60 A5 8F C9 E0 B0 28 38 E9 80 4A 4A 29 - .byte $07, $49, $07, $18, $69, $14, $A8, $B9, $58, $CD, $99, $9C, $00, $E6, $8F, $A9 ; CPU:$E580 PRG:6580 07 49 07 18 69 14 A8 B9 58 CD 99 9C 00 E6 8F A9 - .byte $00, $8D, $46, $02, $85, $8B, $85, $00, $85, $70, $A9, $84, $85, $8A, $20, $2F ; CPU:$E590 PRG:6590 00 8D 46 02 85 8B 85 00 85 70 A9 84 85 8A 20 2F - .byte $C1, $60, $E6, $89, $E6, $89, $A5, $89, $C9, $80, $90, $04, $A9, $00, $85, $90 ; CPU:$E5A0 PRG:65A0 C1 60 E6 89 E6 89 A5 89 C9 80 90 04 A9 00 85 90 - .byte $60, $A2, $80, $20, $C7, $C9, $A5, $54, $29, $0C, $F0, $05, $A9, $FF, $85, $8F ; CPU:$E5B0 PRG:65B0 60 A2 80 20 C7 C9 A5 54 29 0C F0 05 A9 FF 85 8F - .byte $60, $E6, $8F, $D0, $03, $4C, $F6, $CB, $60, $A2, $5C, $20, $C7, $C9, $AD, $13 ; CPU:$E5C0 PRG:65C0 60 E6 8F D0 03 4C F6 CB 60 A2 5C 20 C7 C9 AD 13 - .byte $D9, $85, $5E, $AD, $14, $D9, $85, $5F, $A2, $80, $A9, $00, $85, $68, $20, $89 ; CPU:$E5D0 PRG:65D0 D9 85 5E AD 14 D9 85 5F A2 80 A9 00 85 68 20 89 - .byte $D9, $A9, $58, $8D, $F0, $07, $A5, $88, $18, $69, $01, $8D, $F1, $07, $A9, $03 ; CPU:$E5E0 PRG:65E0 D9 A9 58 8D F0 07 A5 88 18 69 01 8D F1 07 A9 03 - .byte $8D, $F2, $07, $A9, $60, $8D, $F3, $07, $E6, $8F, $D0, $0E, $A5, $88, $49, $01 ; CPU:$E5F0 PRG:65F0 8D F2 07 A9 60 8D F3 07 E6 8F D0 0E A5 88 49 01 - .byte $85, $88, $A8, $20, $CF, $E6, $A9, $06, $85, $90, $60, $A5, $8F, $D0, $08, $E6 ; CPU:$E600 PRG:6600 85 88 A8 20 CF E6 A9 06 85 90 60 A5 8F D0 08 E6 - .byte $8F, $A5, $8A, $8D, $1E, $06, $60, $A5, $8F, $C9, $80, $D0, $05, $A9, $00, $85 ; CPU:$E610 PRG:6610 8F A5 8A 8D 1E 06 60 A5 8F C9 80 D0 05 A9 00 85 - .byte $90, $60, $E6, $8F, $AD, $1F, $06, $D0, $11, $C6, $8A, $AD, $1E, $06, $E9, $03 ; CPU:$E620 PRG:6620 90 60 E6 8F AD 1F 06 D0 11 C6 8A AD 1E 06 E9 03 - .byte $C5, $8A, $90, $05, $A9, $01, $8D, $1F, $06, $60, $E6, $8A, $AD, $1E, $06, $69 ; CPU:$E630 PRG:6630 C5 8A 90 05 A9 01 8D 1F 06 60 E6 8A AD 1E 06 69 - .byte $03, $C5, $8A, $B0, $05, $A9, $00, $8D, $1F, $06, $60, $A5, $8F, $D0, $08, $A9 ; CPU:$E640 PRG:6640 03 C5 8A B0 05 A9 00 8D 1F 06 60 A5 8F D0 08 A9 - .byte $00, $8D, $05, $02, $E6, $8F, $60, $A5, $8F, $C9, $80, $90, $F7, $A9, $00, $85 ; CPU:$E650 PRG:6650 00 8D 05 02 E6 8F 60 A5 8F C9 80 90 F7 A9 00 85 - .byte $8F, $A9, $06, $85, $90, $A5, $86, $C9, $02, $D0, $04, $A5, $87, $D0, $16, $C6 ; CPU:$E660 PRG:6660 8F A9 06 85 90 A5 86 C9 02 D0 04 A5 87 D0 16 C6 - .byte $58, $A5, $58, $30, $55, $A5, $0B, $F0, $0B, $A2, $01, $B5, $30, $95, $00, $E8 ; CPU:$E670 PRG:6670 58 A5 58 30 55 A5 0B F0 0B A2 01 B5 30 95 00 E8 - .byte $E0, $10, $D0, $F7, $60, $A5, $88, $A8, $B9, $58, $00, $38, $E9, $01, $99, $58 ; CPU:$E680 PRG:6680 E0 10 D0 F7 60 A5 88 A8 B9 58 00 38 E9 01 99 58 - .byte $00, $10, $0E, $A9, $09, $85, $90, $98, $49, $01, $A8, $B9, $58, $00, $30, $2A ; CPU:$E690 PRG:6690 00 10 0E A9 09 85 90 98 49 01 A8 B9 58 00 30 2A - .byte $60, $98, $49, $01, $A8, $B9, $58, $00, $10, $1A, $A5, $0B, $F0, $15, $A5, $88 ; CPU:$E6A0 PRG:66A0 60 98 49 01 A8 B9 58 00 10 1A A5 0B F0 15 A5 88 - .byte $0A, $0A, $0A, $0A, $A8, $C8, $A2, $01, $B9, $30, $00, $95, $00, $E8, $C8, $E0 ; CPU:$E6B0 PRG:66B0 0A 0A 0A 0A A8 C8 A2 01 B9 30 00 95 00 E8 C8 E0 - .byte $10, $D0, $F5, $60, $84, $88, $20, $CF, $E6, $60, $A9, $08, $85, $90, $60, $E6 ; CPU:$E6C0 PRG:66C0 10 D0 F5 60 84 88 20 CF E6 60 A9 08 85 90 60 E6 - .byte $9B, $A5, $9B, $C9, $01, $D0, $04, $A9, $01, $85, $90, $98, $49, $01, $D0, $2D ; CPU:$E6D0 PRG:66D0 9B A5 9B C9 01 D0 04 A9 01 85 90 98 49 01 D0 2D - .byte $A5, $0B, $F0, $12, $A2, $00, $B5, $30, $95, $10, $E8, $E0, $10, $D0, $F7, $A5 ; CPU:$E6E0 PRG:66E0 A5 0B F0 12 A2 00 B5 30 95 10 E8 E0 10 D0 F7 A5 - .byte $00, $85, $10, $4C, $01, $E7, $A2, $00, $B5, $00, $95, $10, $E8, $E0, $10, $D0 ; CPU:$E6F0 PRG:66F0 00 85 10 4C 01 E7 A2 00 B5 00 95 10 E8 E0 10 D0 - .byte $F7, $A2, $00, $B5, $20, $95, $00, $E8, $E0, $10, $D0, $F7, $60, $A5, $0B, $F0 ; CPU:$E700 PRG:6700 F7 A2 00 B5 20 95 00 E8 E0 10 D0 F7 60 A5 0B F0 - .byte $12, $A2, $00, $B5, $40, $95, $20, $E8, $E0, $10, $D0, $F7, $A5, $00, $85, $20 ; CPU:$E710 PRG:6710 12 A2 00 B5 40 95 20 E8 E0 10 D0 F7 A5 00 85 20 - .byte $4C, $2E, $E7, $A2, $00, $B5, $00, $95, $20, $E8, $E0, $10, $D0, $F7, $A2, $00 ; CPU:$E720 PRG:6720 4C 2E E7 A2 00 B5 00 95 20 E8 E0 10 D0 F7 A2 00 - .byte $B5, $10, $95, $00, $E8, $E0, $10, $D0, $F7, $60, $D8, $AC, $A5, $8F, $D0, $2A ; CPU:$E730 PRG:6730 B5 10 95 00 E8 E0 10 D0 F7 60 D8 AC A5 8F D0 2A - .byte $20, $8D, $D0, $A6, $88, $A0, $02, $B5, $58, $F0, $02, $A0, $03, $98, $20, $E6 ; CPU:$E740 PRG:6740 20 8D D0 A6 88 A0 02 B5 58 F0 02 A0 03 98 20 E6 - .byte $FA, $E6, $8F, $A9, $00, $85, $8B, $85, $7F, $85, $80, $20, $93, $C7, $A4, $00 ; CPU:$E750 PRG:6750 FA E6 8F A9 00 85 8B 85 7F 85 80 20 93 C7 A4 00 - .byte $B9, $3A, $E7, $85, $8A, $A9, $10, $85, $89, $60, $20, $19, $D9, $A5, $8F, $C9 ; CPU:$E760 PRG:6760 B9 3A E7 85 8A A9 10 85 89 60 20 19 D9 A5 8F C9 - .byte $40, $B0, $03, $E6, $8F, $60, $A5, $89, $C9, $76, $F0, $05, $E6, $89, $E6, $89 ; CPU:$E770 PRG:6770 40 B0 03 E6 8F 60 A5 89 C9 76 F0 05 E6 89 E6 89 - .byte $60, $A5, $8F, $C9, $60, $B0, $03, $E6, $8F, $60, $20, $58, $D2, $A9, $00, $85 ; CPU:$E780 PRG:6780 60 A5 8F C9 60 B0 03 E6 8F 60 20 58 D2 A9 00 85 - .byte $90, $60, $3E, $12, $12, $12, $EE, $DD, $F5, $DD, $A5, $00, $D0, $3F, $AD, $6C ; CPU:$E790 PRG:6790 90 60 3E 12 12 12 EE DD F5 DD A5 00 D0 3F AD 6C - .byte $03, $CD, $B5, $06, $F0, $36, $8D, $B5, $06, $20, $95, $EB, $D0, $2E, $A9, $00 ; CPU:$E7A0 PRG:67A0 03 CD B5 06 F0 36 8D B5 06 20 95 EB D0 2E A9 00 - .byte $99, $ED, $02, $99, $EE, $02, $A9, $02, $99, $F1, $02, $AE, $6C, $03, $BD, $92 ; CPU:$E7B0 PRG:67B0 99 ED 02 99 EE 02 A9 02 99 F1 02 AE 6C 03 BD 92 - .byte $E7, $6D, $69, $03, $B0, $16, $99, $E9, $02, $BD, $96, $E7, $6D, $67, $03, $99 ; CPU:$E7C0 PRG:67C0 E7 6D 69 03 B0 16 99 E9 02 BD 96 E7 6D 67 03 99 - .byte $E7, $02, $A9, $01, $99, $EA, $02, $A9, $15, $99, $E6, $02, $60, $AD, $4C, $04 ; CPU:$E7D0 PRG:67D0 E7 02 A9 01 99 EA 02 A9 15 99 E6 02 60 AD 4C 04 - .byte $CD, $B5, $06, $F0, $36, $8D, $B5, $06, $20, $95, $EB, $D0, $2E, $A9, $00, $99 ; CPU:$E7E0 PRG:67E0 CD B5 06 F0 36 8D B5 06 20 95 EB D0 2E A9 00 99 - .byte $ED, $02, $99, $EE, $02, $A9, $02, $99, $F1, $02, $AE, $4C, $04, $BD, $92, $E7 ; CPU:$E7F0 PRG:67F0 ED 02 99 EE 02 A9 02 99 F1 02 AE 4C 04 BD 92 E7 - .byte $6D, $49, $04, $B0, $16, $99, $E9, $02, $BD, $96, $E7, $6D, $47, $04, $99, $E7 ; CPU:$E800 PRG:6800 6D 49 04 B0 16 99 E9 02 BD 96 E7 6D 47 04 99 E7 - .byte $02, $A9, $01, $99, $EA, $02, $A9, $15, $99, $E6, $02, $60, $AD, $6A, $03, $C9 ; CPU:$E810 PRG:6810 02 A9 01 99 EA 02 A9 15 99 E6 02 60 AD 6A 03 C9 - .byte $01, $D0, $0A, $AD, $69, $03, $C9, $85, $F0, $0D, $20, $9A, $E7, $20, $C1, $CF ; CPU:$E820 PRG:6820 01 D0 0A AD 69 03 C9 85 F0 0D 20 9A E7 20 C1 CF - .byte $20, $70, $D2, $20, $86, $C4, $60, $AD, $B2, $06, $0D, $B1, $06, $F0, $18, $AD ; CPU:$E830 PRG:6830 20 70 D2 20 86 C4 60 AD B2 06 0D B1 06 F0 18 AD - .byte $B1, $06, $D0, $03, $CE, $B2, $06, $CE, $B1, $06, $20, $9A, $E7, $A5, $79, $29 ; CPU:$E840 PRG:6840 B1 06 D0 03 CE B2 06 CE B1 06 20 9A E7 A5 79 29 - .byte $03, $D0, $03, $20, $8F, $C4, $60, $A9, $00, $85, $90, $60, $AD, $AC, $06, $D0 ; CPU:$E850 PRG:6850 03 D0 03 20 8F C4 60 A9 00 85 90 60 AD AC 06 D0 - .byte $08, $A9, $0A, $85, $90, $A9, $00, $85, $8F, $60, $A5, $8F, $D0, $47, $A9, $06 ; CPU:$E860 PRG:6860 08 A9 0A 85 90 A9 00 85 8F 60 A5 8F D0 47 A9 06 - .byte $20, $E6, $FA, $A9, $00, $8D, $37, $02, $20, $DA, $BC, $20, $F0, $BC, $20, $01 ; CPU:$E870 PRG:6870 20 E6 FA A9 00 8D 37 02 20 DA BC 20 F0 BC 20 01 - .byte $BD, $20, $17, $BD, $E6, $8F, $A5, $6E, $85, $6F, $A9, $01, $85, $70, $A5, $8B ; CPU:$E880 PRG:6880 BD 20 17 BD E6 8F A5 6E 85 6F A9 01 85 70 A5 8B - .byte $85, $95, $A9, $01, $8D, $B8, $06, $A5, $89, $CD, $AD, $06, $90, $05, $A9, $FF ; CPU:$E890 PRG:6890 85 95 A9 01 8D B8 06 A5 89 CD AD 06 90 05 A9 FF - .byte $8D, $B8, $06, $A9, $01, $8D, $B9, $06, $A5, $8A, $CD, $AE, $06, $90, $05, $A9 ; CPU:$E8A0 PRG:68A0 8D B8 06 A9 01 8D B9 06 A5 8A CD AE 06 90 05 A9 - .byte $FF, $8D, $B9, $06, $60, $A5, $8A, $CD, $AE, $06, $F0, $09, $A5, $8A, $18, $6D ; CPU:$E8B0 PRG:68B0 FF 8D B9 06 60 A5 8A CD AE 06 F0 09 A5 8A 18 6D - .byte $B9, $06, $85, $8A, $60, $A5, $89, $CD, $AD, $06, $F0, $09, $A5, $89, $18, $6D ; CPU:$E8C0 PRG:68C0 B9 06 85 8A 60 A5 89 CD AD 06 F0 09 A5 89 18 6D - .byte $B8, $06, $85, $89, $60, $A5, $8F, $C9, $20, $B0, $03, $E6, $8F, $60, $C9, $40 ; CPU:$E8D0 PRG:68D0 B8 06 85 89 60 A5 8F C9 20 B0 03 E6 8F 60 C9 40 - .byte $B0, $0C, $E6, $8F, $A9, $00, $8D, $05, $02, $A9, $FF, $85, $8B, $60, $D0, $22 ; CPU:$E8E0 PRG:68E0 B0 0C E6 8F A9 00 8D 05 02 A9 FF 85 8B 60 D0 22 - .byte $A5, $00, $D0, $0F, $A5, $6F, $C9, $EB, $B0, $18, $E6, $6F, $E6, $6F, $E6, $6F ; CPU:$E8F0 PRG:68F0 A5 00 D0 0F A5 6F C9 EB B0 18 E6 6F E6 6F E6 6F - .byte $E6, $6F, $60, $A5, $6F, $C9, $04, $90, $09, $C6, $6F, $C6, $6F, $C6, $6F, $C6 ; CPU:$E900 PRG:6900 E6 6F 60 A5 6F C9 04 90 09 C6 6F C6 6F C6 6F C6 - .byte $6F, $60, $A5, $8F, $C9, $60, $B0, $03, $E6, $8F, $60, $A5, $00, $49, $01, $85 ; CPU:$E910 PRG:6910 6F 60 A5 8F C9 60 B0 03 E6 8F 60 A5 00 49 01 85 - .byte $00, $A5, $95, $85, $8B, $20, $93, $C7, $A9, $80, $85, $8A, $20, $2F, $C1, $A9 ; CPU:$E920 PRG:6920 00 A5 95 85 8B 20 93 C7 A9 80 85 8A 20 2F C1 A9 - .byte $00, $85, $90, $85, $70, $20, $58, $D2, $60, $02, $01, $00, $00, $03, $FF, $00 ; CPU:$E930 PRG:6930 00 85 90 85 70 20 58 D2 60 02 01 00 00 03 FF 00 - .byte $00, $FF, $03, $04, $00, $FF, $FF, $05, $00, $FF, $05, $FF, $00, $FF, $FF, $FF ; CPU:$E940 PRG:6940 00 FF 03 04 00 FF FF 05 00 FF 05 FF 00 FF FF FF - .byte $00, $02, $E4, $03, $00, $E9, $00, $00, $00, $00, $E4, $00, $00, $00, $00, $E9 ; CPU:$E950 PRG:6950 00 02 E4 03 00 E9 00 00 00 00 E4 00 00 00 00 E9 - .byte $00, $00, $E4, $00, $00, $A5, $8F, $D0, $54, $E6, $8F, $A4, $89, $AD, $37, $02 ; CPU:$E960 PRG:6960 00 00 E4 00 00 A5 8F D0 54 E6 8F A4 89 AD 37 02 - .byte $C9, $BC, $F0, $04, $C9, $C8, $D0, $04, $98, $69, $0E, $A8, $8C, $AD, $06, $A9 ; CPU:$E970 PRG:6970 C9 BC F0 04 C9 C8 D0 04 98 69 0E A8 8C AD 06 A9 - .byte $FF, $8D, $B8, $06, $AD, $AD, $06, $CD, $39, $02, $90, $05, $A9, $01, $8D, $B8 ; CPU:$E980 PRG:6980 FF 8D B8 06 AD AD 06 CD 39 02 90 05 A9 01 8D B8 - .byte $06, $AD, $1F, $06, $C9, $01, $F0, $13, $A9, $FF, $8D, $B9, $06, $AD, $AE, $06 ; CPU:$E990 PRG:6990 06 AD 1F 06 C9 01 F0 13 A9 FF 8D B9 06 AD AE 06 - .byte $CD, $38, $02, $90, $05, $A9, $01, $8D, $B9, $06, $60, $A9, $01, $8D, $B9, $06 ; CPU:$E9A0 PRG:69A0 CD 38 02 90 05 A9 01 8D B9 06 60 A9 01 8D B9 06 - .byte $A5, $8A, $CD, $AE, $06, $90, $05, $A9, $FF, $8D, $B9, $06, $60, $AD, $1F, $06 ; CPU:$E9B0 PRG:69B0 A5 8A CD AE 06 90 05 A9 FF 8D B9 06 60 AD 1F 06 - .byte $C9, $01, $F0, $10, $AD, $38, $02, $CD, $AE, $06, $F0, $16, $18, $6D, $B9, $06 ; CPU:$E9C0 PRG:69C0 C9 01 F0 10 AD 38 02 CD AE 06 F0 16 18 6D B9 06 - .byte $8D, $38, $02, $60, $A5, $8A, $CD, $AE, $06, $F0, $07, $18, $6D, $B9, $06, $85 ; CPU:$E9D0 PRG:69D0 8D 38 02 60 A5 8A CD AE 06 F0 07 18 6D B9 06 85 - .byte $8A, $60, $AD, $39, $02, $CD, $AD, $06, $F0, $08, $18, $6D, $B8, $06, $8D, $39 ; CPU:$E9E0 PRG:69E0 8A 60 AD 39 02 CD AD 06 F0 08 18 6D B8 06 8D 39 - .byte $02, $60, $A9, $1D, $85, $94, $20, $51, $FA, $A5, $8A, $AC, $1F, $06, $C0, $01 ; CPU:$E9F0 PRG:69F0 02 60 A9 1D 85 94 20 51 FA A5 8A AC 1F 06 C0 01 - .byte $D0, $04, $69, $17, $85, $8A, $A5, $95, $85, $8B, $20, $93, $C7, $A9, $00, $8D ; CPU:$EA00 PRG:6A00 D0 04 69 17 85 8A A5 95 85 8B 20 93 C7 A9 00 8D - .byte $37, $02, $A9, $40, $8D, $AC, $06, $A9, $00, $85, $90, $60, $FF, $00, $00, $02 ; CPU:$EA10 PRG:6A10 37 02 A9 40 8D AC 06 A9 00 85 90 60 FF 00 00 02 - .byte $00, $04, $FF, $00, $00, $01, $00, $01, $A5, $8F, $D0, $59, $E6, $8F, $A9, $0B ; CPU:$EA20 PRG:6A20 00 04 FF 00 00 01 00 01 A5 8F D0 59 E6 8F A9 0B - .byte $85, $94, $20, $51, $FA, $A0, $00, $84, $95, $A6, $8B, $F0, $02, $A0, $F8, $8C ; CPU:$EA30 PRG:6A30 85 94 20 51 FA A0 00 84 95 A6 8B F0 02 A0 F8 8C - .byte $02, $02, $A5, $00, $F0, $21, $A5, $8B, $C9, $03, $F0, $04, $C9, $05, $D0, $05 ; CPU:$EA40 PRG:6A40 02 02 A5 00 F0 21 A5 8B C9 03 F0 04 C9 05 D0 05 - .byte $AD, $AE, $06, $D0, $07, $A9, $01, $85, $95, $4C, $67, $EA, $E8, $E8, $E8, $E8 ; CPU:$EA50 PRG:6A50 AD AE 06 D0 07 A9 01 85 95 4C 67 EA E8 E8 E8 E8 - .byte $E8, $E8, $A9, $E0, $8D, $02, $02, $A9, $08, $8D, $00, $02, $A9, $00, $8D, $03 ; CPU:$EA60 PRG:6A60 E8 E8 A9 E0 8D 02 02 A9 08 8D 00 02 A9 00 8D 03 - .byte $02, $8D, $04, $02, $BD, $1C, $EA, $10, $09, $A9, $05, $85, $90, $A9, $00, $85 ; CPU:$EA70 PRG:6A70 02 8D 04 02 BD 1C EA 10 09 A9 05 85 90 A9 00 85 - .byte $8F, $60, $85, $8B, $60, $A9, $40, $8D, $AC, $06, $A9, $00, $8D, $37, $02, $AD ; CPU:$EA80 PRG:6A80 8F 60 85 8B 60 A9 40 8D AC 06 A9 00 8D 37 02 AD - .byte $00, $02, $D0, $F0, $A5, $95, $F0, $00, $20, $93, $C7, $A0, $04, $AD, $66, $03 ; CPU:$EA90 PRG:6A90 00 02 D0 F0 A5 95 F0 00 20 93 C7 A0 04 AD 66 03 - .byte $C9, $1F, $F0, $02, $A0, $00, $84, $90, $A9, $00, $85, $8F, $60, $0A, $A8, $B9 ; CPU:$EAA0 PRG:6AA0 C9 1F F0 02 A0 00 84 90 A9 00 85 8F 60 0A A8 B9 - .byte $AA, $81, $9D, $52, $02, $B9, $AB, $81, $9D, $53, $02, $60, $07, $06, $05, $00 ; CPU:$EAB0 PRG:6AB0 AA 81 9D 52 02 B9 AB 81 9D 53 02 60 07 06 05 00 - .byte $05, $04, $03, $00, $03, $02, $01, $00, $01, $08, $07, $00, $03, $04, $05, $00 ; CPU:$EAC0 PRG:6AC0 05 04 03 00 03 02 01 00 01 08 07 00 03 04 05 00 - .byte $05, $06, $07, $00, $07, $08, $01, $00, $01, $02, $03, $00, $A9, $00, $85, $64 ; CPU:$EAD0 PRG:6AD0 05 06 07 00 07 08 01 00 01 02 03 00 A9 00 85 64 - .byte $BD, $52, $02, $85, $5E, $BD, $53, $02, $85, $5F, $BD, $51, $02, $85, $60, $A0 ; CPU:$EAE0 PRG:6AE0 BD 52 02 85 5E BD 53 02 85 5F BD 51 02 85 60 A0 - .byte $00, $B1, $5E, $85, $61, $10, $08, $29, $03, $85, $61, $A9, $FF, $85, $64, $BD ; CPU:$EAF0 PRG:6AF0 00 B1 5E 85 61 10 08 29 03 85 61 A9 FF 85 64 BD - .byte $54, $02, $0A, $0A, $18, $65, $61, $A8, $B9, $BC, $EA, $0A, $A8, $B9, $0D, $F8 ; CPU:$EB00 PRG:6B00 54 02 0A 0A 18 65 61 A8 B9 BC EA 0A A8 B9 0D F8 - .byte $85, $66, $30, $14, $BD, $49, $02, $18, $65, $66, $9D, $49, $02, $BD, $4A, $02 ; CPU:$EB10 PRG:6B10 85 66 30 14 BD 49 02 18 65 66 9D 49 02 BD 4A 02 - .byte $69, $00, $9D, $4A, $02, $4C, $3D, $EB, $29, $7F, $85, $66, $BD, $49, $02, $38 ; CPU:$EB20 PRG:6B20 69 00 9D 4A 02 4C 3D EB 29 7F 85 66 BD 49 02 38 - .byte $E5, $66, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $B9, $0E, $F8 ; CPU:$EB30 PRG:6B30 E5 66 9D 49 02 BD 4A 02 E9 00 9D 4A 02 B9 0E F8 - .byte $85, $66, $30, $1C, $A9, $F0, $85, $68, $A5, $00, $F0, $04, $A9, $DC, $85, $68 ; CPU:$EB40 PRG:6B40 85 66 30 1C A9 F0 85 68 A5 00 F0 04 A9 DC 85 68 - .byte $BD, $47, $02, $18, $65, $66, $9D, $47, $02, $C5, $68, $90, $17, $A9, $02, $60 ; CPU:$EB50 PRG:6B50 BD 47 02 18 65 66 9D 47 02 C5 68 90 17 A9 02 60 - .byte $29, $7F, $85, $66, $BD, $47, $02, $38, $E5, $66, $9D, $47, $02, $C9, $1C, $B0 ; CPU:$EB60 PRG:6B60 29 7F 85 66 BD 47 02 38 E5 66 9D 47 02 C9 1C B0 - .byte $03, $A9, $01, $60, $E6, $5E, $D0, $02, $E6, $5F, $FE, $48, $02, $A5, $64, $30 ; CPU:$EB70 PRG:6B70 03 A9 01 60 E6 5E D0 02 E6 5F FE 48 02 A5 64 30 - .byte $13, $C6, $60, $F0, $03, $4C, $EF, $EA, $A5, $5E, $9D, $52, $02, $A5, $5F, $9D ; CPU:$EB80 PRG:6B80 13 C6 60 F0 03 4C EF EA A5 5E 9D 52 02 A5 5F 9D - .byte $53, $02, $A9, $00, $60, $A4, $88, $B9, $5C, $00, $85, $60, $A0, $00, $B9, $E6 ; CPU:$EB90 PRG:6B90 53 02 A9 00 60 A4 88 B9 5C 00 85 60 A0 00 B9 E6 - .byte $02, $F0, $0B, $98, $18, $69, $10, $A8, $C4, $60, $D0, $F2, $A9, $01, $60, $BD ; CPU:$EBA0 PRG:6BA0 02 F0 0B 98 18 69 10 A8 C4 60 D0 F2 A9 01 60 BD - .byte $4A, $02, $C9, $01, $D0, $61, $BD, $49, $02, $C9, $E0, $B0, $5A, $C5, $89, $90 ; CPU:$EBB0 PRG:6BB0 4A 02 C9 01 D0 61 BD 49 02 C9 E0 B0 5A C5 89 90 - .byte $56, $BD, $50, $02, $F0, $06, $DE, $50, $02, $4C, $17, $EC, $A9, $40, $9D, $50 ; CPU:$EBC0 PRG:6BC0 56 BD 50 02 F0 06 DE 50 02 4C 17 EC A9 40 9D 50 - .byte $02, $BD, $46, $02, $38, $E9, $19, $0A, $0A, $A8, $B9, $03, $80, $F0, $38, $85 ; CPU:$EBD0 PRG:6BD0 02 BD 46 02 38 E9 19 0A 0A A8 B9 03 80 F0 38 85 - .byte $5E, $20, $95, $EB, $D0, $31, $A5, $5E, $29, $1F, $99, $E6, $02, $A5, $5E, $4A ; CPU:$EBE0 PRG:6BE0 5E 20 95 EB D0 31 A5 5E 29 1F 99 E6 02 A5 5E 4A - .byte $4A, $4A, $4A, $4A, $29, $03, $99, $ED, $02, $A9, $00, $99, $EE, $02, $BD, $47 ; CPU:$EBF0 PRG:6BF0 4A 4A 4A 4A 29 03 99 ED 02 A9 00 99 EE 02 BD 47 - .byte $02, $E9, $03, $99, $E7, $02, $BD, $49, $02, $99, $E9, $02, $BD, $4A, $02, $99 ; CPU:$EC00 PRG:6C00 02 E9 03 99 E7 02 BD 49 02 99 E9 02 BD 4A 02 99 - .byte $EA, $02, $A9, $02, $99, $F1, $02, $60, $BD, $49, $02, $C5, $89, $90, $4C, $BD ; CPU:$EC10 PRG:6C10 EA 02 A9 02 99 F1 02 60 BD 49 02 C5 89 90 4C BD - .byte $46, $02, $38, $E9, $19, $0A, $0A, $A8, $B9, $03, $80, $85, $5E, $20, $95, $EB ; CPU:$EC20 PRG:6C20 46 02 38 E9 19 0A 0A A8 B9 03 80 85 5E 20 95 EB - .byte $D0, $39, $A5, $5E, $29, $1F, $99, $E6, $02, $A5, $5E, $4A, $4A, $4A, $4A, $4A ; CPU:$EC30 PRG:6C30 D0 39 A5 5E 29 1F 99 E6 02 A5 5E 4A 4A 4A 4A 4A - .byte $29, $03, $99, $ED, $02, $A9, $00, $99, $EE, $02, $99, $EB, $02, $99, $EC, $02 ; CPU:$EC40 PRG:6C40 29 03 99 ED 02 A9 00 99 EE 02 99 EB 02 99 EC 02 - .byte $BD, $47, $02, $E9, $03, $99, $E7, $02, $BD, $49, $02, $99, $E9, $02, $BD, $4A ; CPU:$EC50 PRG:6C50 BD 47 02 E9 03 99 E7 02 BD 49 02 99 E9 02 BD 4A - .byte $02, $99, $EA, $02, $A9, $02, $99, $F1, $02, $A9, $00, $60, $DC, $EC, $DF, $EC ; CPU:$EC60 PRG:6C60 02 99 EA 02 A9 02 99 F1 02 A9 00 60 DC EC DF EC - .byte $F5, $EC, $82, $F5, $E1, $F3, $AF, $ED, $D8, $ED, $8A, $EE, $82, $F5, $46, $EF ; CPU:$EC70 PRG:6C70 F5 EC 82 F5 E1 F3 AF ED D8 ED 8A EE 82 F5 46 EF - .byte $8F, $EF, $BD, $EF, $5F, $F0, $5E, $F1, $E1, $F3, $9A, $F2, $C1, $F3, $E1, $F3 ; CPU:$EC80 PRG:6C80 8F EF BD EF 5F F0 5E F1 E1 F3 9A F2 C1 F3 E1 F3 - .byte $90, $F4, $82, $F5, $12, $F6, $15, $F7, $3A, $F7, $A2, $00, $A5, $92, $65, $0E ; CPU:$EC90 PRG:6C90 90 F4 82 F5 12 F6 15 F7 3A F7 A2 00 A5 92 65 0E - .byte $65, $79, $85, $92, $E6, $92, $BD, $46, $02, $F0, $24, $BD, $4F, $02, $F0, $06 ; CPU:$ECA0 PRG:6CA0 65 79 85 92 E6 92 BD 46 02 F0 24 BD 4F 02 F0 06 - .byte $DE, $4F, $02, $4C, $CF, $EC, $BD, $4A, $02, $29, $03, $9D, $4A, $02, $BD, $4D ; CPU:$ECB0 PRG:6CB0 DE 4F 02 4C CF EC BD 4A 02 29 03 9D 4A 02 BD 4D - .byte $02, $A8, $B9, $6C, $EC, $85, $99, $B9, $6D, $EC, $85, $9A, $6C, $99, $00, $8A ; CPU:$ECC0 PRG:6CC0 02 A8 B9 6C EC 85 99 B9 6D EC 85 9A 6C 99 00 8A - .byte $18, $69, $10, $AA, $E0, $A0, $D0, $C4, $20, $E6, $F7, $60, $4C, $CF, $EC, $A5 ; CPU:$ECD0 PRG:6CD0 18 69 10 AA E0 A0 D0 C4 20 E6 F7 60 4C CF EC A5 - .byte $00, $F0, $06, $A5, $79, $29, $01, $D0, $09, $BD, $49, $02, $38, $E9, $01, $9D ; CPU:$ECE0 PRG:6CE0 00 F0 06 A5 79 29 01 D0 09 BD 49 02 38 E9 01 9D - .byte $49, $02, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9, $07, $ED, $85, $99, $B9 ; CPU:$ECF0 PRG:6CF0 49 02 4C CF EC BD 4E 02 0A A8 B9 07 ED 85 99 B9 - .byte $08, $ED, $85, $9A, $6C, $99, $00, $21, $ED, $4B, $ED, $78, $ED, $8B, $ED, $9B ; CPU:$ED00 PRG:6D00 08 ED 85 9A 6C 99 00 21 ED 4B ED 78 ED 8B ED 9B - .byte $ED, $27, $37, $47, $57, $63, $73, $97, $A7, $B3, $C3, $D3, $E3, $27, $57, $B3 ; CPU:$ED10 PRG:6D10 ED 27 37 47 57 63 73 97 A7 B3 C3 D3 E3 27 57 B3 - .byte $E3, $A5, $92, $29, $0F, $A8, $B9, $11, $ED, $48, $29, $F0, $9D, $47, $02, $68 ; CPU:$ED20 PRG:6D20 E3 A5 92 29 0F A8 B9 11 ED 48 29 F0 9D 47 02 68 - .byte $29, $0F, $9D, $54, $02, $A5, $89, $C9, $B9, $B0, $05, $69, $46, $4C, $42, $ED ; CPU:$ED30 PRG:6D30 29 0F 9D 54 02 A5 89 C9 B9 B0 05 69 46 4C 42 ED - .byte $A9, $FF, $9D, $55, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $E9 ; CPU:$ED40 PRG:6D40 A9 FF 9D 55 02 FE 4E 02 4C CF EC BD 49 02 38 E9 - .byte $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $15 ; CPU:$ED50 PRG:6D50 02 9D 49 02 BD 4A 02 E9 00 9D 4A 02 C9 01 D0 15 - .byte $BD, $49, $02, $DD, $55, $02, $B0, $0D, $A9, $02, $9D, $51, $02, $A9, $08, $20 ; CPU:$ED60 PRG:6D60 BD 49 02 DD 55 02 B0 0D A9 02 9D 51 02 A9 08 20 - .byte $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $10, $0B, $20, $18, $EC ; CPU:$ED70 PRG:6D70 AD EA FE 4E 02 4C CF EC 20 DC EA 10 0B 20 18 EC - .byte $A9, $1F, $9D, $55, $02, $FE, $4E, $02, $4C, $CF, $EC, $DE, $55, $02, $D0, $08 ; CPU:$ED80 PRG:6D80 A9 1F 9D 55 02 FE 4E 02 4C CF EC DE 55 02 D0 08 - .byte $A9, $03, $9D, $51, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $18, $7D ; CPU:$ED90 PRG:6D90 A9 03 9D 51 02 FE 4E 02 4C CF EC BD 49 02 18 7D - .byte $51, $02, $9D, $49, $02, $90, $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $20 ; CPU:$EDA0 PRG:6DA0 51 02 9D 49 02 90 05 A9 00 9D 46 02 4C CF EC 20 - .byte $AF, $EB, $BD, $4E, $02, $0A, $A8, $B9, $C4, $ED, $85, $99, $B9, $C5, $ED, $85 ; CPU:$EDB0 PRG:6DB0 AF EB BD 4E 02 0A A8 B9 C4 ED 85 99 B9 C5 ED 85 - .byte $9A, $6C, $99, $00, $3F, $F6, $70, $F6, $98, $F6, $B8, $F6, $D7, $F6, $EC, $F0 ; CPU:$EDC0 PRG:6DC0 9A 6C 99 00 3F F6 70 F6 98 F6 B8 F6 D7 F6 EC F0 - .byte $D7, $F0, $17, $F1, $D7, $F0, $4B, $F1, $BD, $4E, $02, $0A, $A8, $B9, $EA, $ED ; CPU:$EDD0 PRG:6DD0 D7 F0 17 F1 D7 F0 4B F1 BD 4E 02 0A A8 B9 EA ED - .byte $85, $99, $B9, $EB, $ED, $85, $9A, $6C, $99, $00, $2D, $F7, $F2, $ED, $72, $EE ; CPU:$EDE0 PRG:6DE0 85 99 B9 EB ED 85 9A 6C 99 00 2D F7 F2 ED 72 EE - .byte $4B, $F1, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A, $02, $E9 ; CPU:$EDF0 PRG:6DF0 4B F1 BD 49 02 38 FD 51 02 9D 49 02 BD 4A 02 E9 - .byte $00, $9D, $4A, $02, $D0, $03, $4C, $56, $F1, $BD, $47, $02, $29, $FC, $85, $68 ; CPU:$EE00 PRG:6E00 00 9D 4A 02 D0 03 4C 56 F1 BD 47 02 29 FC 85 68 - .byte $A5, $8A, $29, $FC, $C5, $68, $D0, $57, $A9, $20, $9D, $55, $02, $A0, $02, $BD ; CPU:$EE10 PRG:6E10 A5 8A 29 FC C5 68 D0 57 A9 20 9D 55 02 A0 02 BD - .byte $47, $02, $10, $02, $A0, $FE, $98, $9D, $51, $02, $FE, $4E, $02, $20, $18, $EC ; CPU:$EE20 PRG:6E20 47 02 10 02 A0 FE 98 9D 51 02 FE 4E 02 20 18 EC - .byte $C9, $00, $D0, $3B, $A9, $07, $99, $F4, $02, $A9, $7F, $99, $F2, $02, $A9, $81 ; CPU:$EE30 PRG:6E30 C9 00 D0 3B A9 07 99 F4 02 A9 7F 99 F2 02 A9 81 - .byte $99, $F3, $02, $20, $18, $EC, $C9, $00, $D0, $25, $A9, $00, $99, $F4, $02, $A9 ; CPU:$EE40 PRG:6E40 99 F3 02 20 18 EC C9 00 D0 25 A9 00 99 F4 02 A9 - .byte $72, $99, $F2, $02, $A9, $81, $99, $F3, $02, $20, $18, $EC, $C9, $00, $D0, $0F ; CPU:$EE50 PRG:6E50 72 99 F2 02 A9 81 99 F3 02 20 18 EC C9 00 D0 0F - .byte $A9, $00, $99, $F4, $02, $A9, $7F, $99, $F2, $02, $A9, $81, $99, $F3, $02, $4C ; CPU:$EE60 PRG:6E60 A9 00 99 F4 02 A9 7F 99 F2 02 A9 81 99 F3 02 4C - .byte $CF, $EC, $DE, $49, $02, $BD, $47, $02, $18, $7D, $51, $02, $9D, $47, $02, $DE ; CPU:$EE70 PRG:6E70 CF EC DE 49 02 BD 47 02 18 7D 51 02 9D 47 02 DE - .byte $55, $02, $D0, $03, $FE, $4E, $02, $4C, $CF, $EC, $20, $AF, $EB, $BD, $4E, $02 ; CPU:$EE80 PRG:6E80 55 02 D0 03 FE 4E 02 4C CF EC 20 AF EB BD 4E 02 - .byte $0A, $A8, $B9, $9F, $EE, $85, $99, $B9, $A0, $EE, $85, $9A, $6C, $99, $00, $AD ; CPU:$EE90 PRG:6E90 0A A8 B9 9F EE 85 99 B9 A0 EE 85 9A 6C 99 00 AD - .byte $EE, $EB, $EE, $05, $EF, $1F, $EF, $39, $EF, $28, $3C, $50, $50, $FE, $4E, $02 ; CPU:$EEA0 PRG:6EA0 EE EB EE 05 EF 1F EF 39 EF 28 3C 50 50 FE 4E 02 - .byte $A9, $10, $20, $AD, $EA, $A9, $02, $9D, $51, $02, $A5, $92, $29, $03, $A8, $A5 ; CPU:$EEB0 PRG:6EB0 A9 10 20 AD EA A9 02 9D 51 02 A5 92 29 03 A8 A5 - .byte $8A, $10, $10, $A9, $02, $9D, $54, $02, $A9, $80, $F9, $A9, $EE, $9D, $47, $02 ; CPU:$EEC0 PRG:6EC0 8A 10 10 A9 02 9D 54 02 A9 80 F9 A9 EE 9D 47 02 - .byte $4C, $E0, $EE, $A9, $06, $9D, $54, $02, $A9, $80, $79, $A9, $EE, $9D, $47, $02 ; CPU:$EED0 PRG:6ED0 4C E0 EE A9 06 9D 54 02 A9 80 79 A9 EE 9D 47 02 - .byte $4C, $CF, $EC, $01, $FF, $03, $00, $05, $FF, $07, $04, $20, $DC, $EA, $10, $12 ; CPU:$EEE0 PRG:6EE0 4C CF EC 01 FF 03 00 05 FF 07 04 20 DC EA 10 12 - .byte $FE, $4E, $02, $BD, $54, $02, $A8, $B9, $E3, $EE, $9D, $54, $02, $A9, $08, $20 ; CPU:$EEF0 PRG:6EF0 FE 4E 02 BD 54 02 A8 B9 E3 EE 9D 54 02 A9 08 20 - .byte $AD, $EA, $4C, $CF, $EC, $20, $DC, $EA, $10, $12, $FE, $4E, $02, $BD, $54, $02 ; CPU:$EF00 PRG:6F00 AD EA 4C CF EC 20 DC EA 10 12 FE 4E 02 BD 54 02 - .byte $A8, $B9, $E3, $EE, $9D, $54, $02, $A9, $08, $20, $AD, $EA, $4C, $CF, $EC, $20 ; CPU:$EF10 PRG:6F10 A8 B9 E3 EE 9D 54 02 A9 08 20 AD EA 4C CF EC 20 - .byte $DC, $EA, $10, $12, $FE, $4E, $02, $A9, $10, $20, $AD, $EA, $BD, $54, $02, $A8 ; CPU:$EF20 PRG:6F20 DC EA 10 12 FE 4E 02 A9 10 20 AD EA BD 54 02 A8 - .byte $B9, $E3, $EE, $9D, $54, $02, $4C, $CF, $EC, $20, $DC, $EA, $10, $05, $A9, $00 ; CPU:$EF30 PRG:6F30 B9 E3 EE 9D 54 02 4C CF EC 20 DC EA 10 05 A9 00 - .byte $9D, $46, $02, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9, $58, $EF, $85, $99 ; CPU:$EF40 PRG:6F40 9D 46 02 4C CF EC BD 4E 02 0A A8 B9 58 EF 85 99 - .byte $B9, $59, $EF, $85, $9A, $6C, $99, $00, $5C, $EF, $67, $EF, $A9, $00, $9D, $55 ; CPU:$EF50 PRG:6F50 B9 59 EF 85 9A 6C 99 00 5C EF 67 EF A9 00 9D 55 - .byte $02, $FE, $4E, $02, $4C, $CF, $EC, $AD, $66, $03, $C9, $1F, $D0, $08, $A9, $00 ; CPU:$EF60 PRG:6F60 02 FE 4E 02 4C CF EC AD 66 03 C9 1F D0 08 A9 00 - .byte $9D, $55, $02, $4C, $CF, $EC, $A5, $79, $29, $01, $D0, $10, $BD, $55, $02, $38 ; CPU:$EF70 PRG:6F70 9D 55 02 4C CF EC A5 79 29 01 D0 10 BD 55 02 38 - .byte $E9, $01, $9D, $55, $02, $D0, $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $BD ; CPU:$EF80 PRG:6F80 E9 01 9D 55 02 D0 05 A9 00 9D 46 02 4C CF EC BD - .byte $47, $02, $18, $7D, $48, $02, $9D, $47, $02, $C9, $20, $90, $12, $C9, $E0, $B0 ; CPU:$EF90 PRG:6F90 47 02 18 7D 48 02 9D 47 02 C9 20 90 12 C9 E0 B0 - .byte $0E, $A9, $01, $9D, $51, $02, $A5, $79, $29, $01, $D0, $E0, $4C, $9B, $ED, $BD ; CPU:$EFA0 PRG:6FA0 0E A9 01 9D 51 02 A5 79 29 01 D0 E0 4C 9B ED BD - .byte $48, $02, $49, $FF, $18, $69, $01, $9D, $48, $02, $4C, $CF, $EC, $20, $AF, $EB ; CPU:$EFB0 PRG:6FB0 48 02 49 FF 18 69 01 9D 48 02 4C CF EC 20 AF EB - .byte $BD, $4E, $02, $0A, $A8, $B9, $D2, $EF, $85, $99, $B9, $D3, $EF, $85, $9A, $6C ; CPU:$EFC0 PRG:6FC0 BD 4E 02 0A A8 B9 D2 EF 85 99 B9 D3 EF 85 9A 6C - .byte $99, $00, $E4, $EF, $21, $F0, $40, $F0, $3C, $67, $99, $BC, $00, $00, $03, $06 ; CPU:$EFD0 PRG:6FD0 99 00 E4 EF 21 F0 40 F0 3C 67 99 BC 00 00 03 06 - .byte $00, $00, $07, $02, $A5, $92, $29, $03, $A8, $B9, $D8, $EF, $9D, $47, $02, $A9 ; CPU:$EFE0 PRG:6FE0 00 00 07 02 A5 92 29 03 A8 B9 D8 EF 9D 47 02 A9 - .byte $07, $9D, $54, $02, $A9, $02, $9D, $51, $02, $A9, $0C, $20, $AD, $EA, $BD, $52 ; CPU:$EFF0 PRG:6FF0 07 9D 54 02 A9 02 9D 51 02 A9 0C 20 AD EA BD 52 - .byte $02, $18, $69, $4C, $9D, $52, $02, $BD, $53, $02, $69, $00, $9D, $53, $02, $BD ; CPU:$F000 PRG:7000 02 18 69 4C 9D 52 02 BD 53 02 69 00 9D 53 02 BD - .byte $54, $02, $A8, $B9, $DC, $EF, $9D, $54, $02, $A9, $01, $9D, $4E, $02, $4C, $CF ; CPU:$F010 PRG:7010 54 02 A8 B9 DC EF 9D 54 02 A9 01 9D 4E 02 4C CF - .byte $EC, $20, $DC, $EA, $10, $17, $A9, $00, $9D, $48, $02, $BD, $54, $02, $A8, $B9 ; CPU:$F020 PRG:7020 EC 20 DC EA 10 17 A9 00 9D 48 02 BD 54 02 A8 B9 - .byte $DC, $EF, $9D, $54, $02, $A9, $0C, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC ; CPU:$F030 PRG:7030 DC EF 9D 54 02 A9 0C 20 AD EA FE 4E 02 4C CF EC - .byte $20, $DC, $EA, $BD, $4A, $02, $D0, $0A, $BD, $49, $02, $C9, $C0, $B0, $03, $4C ; CPU:$F040 PRG:7040 20 DC EA BD 4A 02 D0 0A BD 49 02 C9 C0 B0 03 4C - .byte $56, $F1, $BD, $48, $02, $C9, $40, $90, $03, $4C, $F9, $EF, $4C, $CF, $EC, $BD ; CPU:$F050 PRG:7050 56 F1 BD 48 02 C9 40 90 03 4C F9 EF 4C CF EC BD - .byte $4E, $02, $0A, $A8, $B9, $71, $F0, $85, $99, $B9, $72, $F0, $85, $9A, $6C, $99 ; CPU:$F060 PRG:7060 4E 02 0A A8 B9 71 F0 85 99 B9 72 F0 85 9A 6C 99 - .byte $00, $81, $F0, $B8, $F0, $D7, $F0, $EC, $F0, $D7, $F0, $17, $F1, $D7, $F0, $4B ; CPU:$F070 PRG:7070 00 81 F0 B8 F0 D7 F0 EC F0 D7 F0 17 F1 D7 F0 4B - .byte $F1, $A9, $03, $9D, $54, $02, $A0, $C0, $A5, $8A, $10, $07, $A9, $07, $9D, $54 ; CPU:$F080 PRG:7080 F1 A9 03 9D 54 02 A0 C0 A5 8A 10 07 A9 07 9D 54 - .byte $02, $A0, $40, $98, $9D, $47, $02, $A9, $03, $9D, $51, $02, $A5, $89, $30, $02 ; CPU:$F090 PRG:7090 02 A0 40 98 9D 47 02 A9 03 9D 51 02 A5 89 30 02 - .byte $A9, $80, $49, $FF, $4A, $4A, $4A, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC ; CPU:$F0A0 PRG:70A0 A9 80 49 FF 4A 4A 4A 20 AD EA FE 4E 02 4C CF EC - .byte $00, $00, $03, $06, $00, $00, $07, $02, $20, $DC, $EA, $10, $17, $A9, $02, $9D ; CPU:$F0B0 PRG:70B0 00 00 03 06 00 00 07 02 20 DC EA 10 17 A9 02 9D - .byte $51, $02, $FE, $4E, $02, $BD, $54, $02, $A8, $B9, $B0, $F0, $9D, $54, $02, $A9 ; CPU:$F0C0 PRG:70C0 51 02 FE 4E 02 BD 54 02 A8 B9 B0 F0 9D 54 02 A9 - .byte $03, $20, $AD, $EA, $4C, $CF, $EC, $20, $DC, $EA, $10, $06, $FE, $4E, $02, $4C ; CPU:$F0D0 PRG:70D0 03 20 AD EA 4C CF EC 20 DC EA 10 06 FE 4E 02 4C - .byte $CF, $EC, $F0, $05, $A9, $07, $9D, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38 ; CPU:$F0E0 PRG:70E0 CF EC F0 05 A9 07 9D 4E 02 4C CF EC BD 49 02 38 - .byte $E9, $02, $9D, $49, $02, $E9, $18, $C5, $89, $B0, $19, $A5, $8A, $9D, $55, $02 ; CPU:$F0F0 PRG:70F0 E9 02 9D 49 02 E9 18 C5 89 B0 19 A5 8A 9D 55 02 - .byte $DD, $47, $02, $A9, $07, $B0, $02, $A9, $03, $9D, $54, $02, $A9, $03, $20, $AD ; CPU:$F100 PRG:7100 DD 47 02 A9 07 B0 02 A9 03 9D 54 02 A9 03 20 AD - .byte $EA, $FE, $4E, $02, $4C, $CF, $EC, $BD, $54, $02, $C9, $03, $D0, $18, $BD, $47 ; CPU:$F110 PRG:7110 EA FE 4E 02 4C CF EC BD 54 02 C9 03 D0 18 BD 47 - .byte $02, $38, $E9, $02, $9D, $47, $02, $DD, $55, $02, $90, $07, $C9, $3C, $90, $03 ; CPU:$F120 PRG:7120 02 38 E9 02 9D 47 02 DD 55 02 90 07 C9 3C 90 03 - .byte $4C, $CF, $EC, $4C, $BD, $F0, $BD, $47, $02, $18, $69, $02, $9D, $47, $02, $DD ; CPU:$F130 PRG:7130 4C CF EC 4C BD F0 BD 47 02 18 69 02 9D 47 02 DD - .byte $55, $02, $B0, $EF, $C9, $C3, $B0, $EB, $4C, $CF, $EC, $BD, $49, $02, $38, $E9 ; CPU:$F140 PRG:7140 55 02 B0 EF C9 C3 B0 EB 4C CF EC BD 49 02 38 E9 - .byte $02, $9D, $49, $02, $B0, $05, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $BD, $4E ; CPU:$F150 PRG:7150 02 9D 49 02 B0 05 A9 00 9D 46 02 4C CF EC BD 4E - .byte $02, $0A, $A8, $B9, $70, $F1, $85, $99, $B9, $71, $F1, $85, $9A, $6C, $99, $00 ; CPU:$F160 PRG:7160 02 0A A8 B9 70 F1 85 99 B9 71 F1 85 9A 6C 99 00 - .byte $7C, $F1, $A8, $F1, $22, $F2, $47, $F2, $57, $F2, $8A, $F2, $A9, $DA, $9D, $47 ; CPU:$F170 PRG:7170 7C F1 A8 F1 22 F2 47 F2 57 F2 8A F2 A9 DA 9D 47 - .byte $02, $A5, $92, $29, $4F, $69, $20, $9D, $49, $02, $A9, $02, $9D, $4A, $02, $A5 ; CPU:$F180 PRG:7180 02 A5 92 29 4F 69 20 9D 49 02 A9 02 9D 4A 02 A5 - .byte $8A, $29, $FC, $C9, $36, $B0, $02, $A9, $36, $C9, $92, $90, $02, $A9, $92, $9D ; CPU:$F190 PRG:7190 8A 29 FC C9 36 B0 02 A9 36 C9 92 90 02 A9 92 9D - .byte $55, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $47, $02, $4A, $4A, $4A, $4A, $4A ; CPU:$F1A0 PRG:71A0 55 02 FE 4E 02 4C CF EC BD 47 02 4A 4A 4A 4A 4A - .byte $4A, $9D, $51, $02, $FE, $51, $02, $BD, $49, $02, $D0, $03, $DE, $4A, $02, $DE ; CPU:$F1B0 PRG:71B0 4A 9D 51 02 FE 51 02 BD 49 02 D0 03 DE 4A 02 DE - .byte $49, $02, $BD, $47, $02, $38, $FD, $51, $02, $9D, $47, $02, $29, $FC, $DD, $55 ; CPU:$F1C0 PRG:71C0 49 02 BD 47 02 38 FD 51 02 9D 47 02 29 FC DD 55 - .byte $02, $B0, $1E, $FE, $4E, $02, $A9, $06, $20, $AD, $EA, $A9, $06, $9D, $54, $02 ; CPU:$F1D0 PRG:71D0 02 B0 1E FE 4E 02 A9 06 20 AD EA A9 06 9D 54 02 - .byte $BD, $52, $02, $18, $69, $1E, $9D, $52, $02, $BD, $53, $02, $69, $00, $9D, $53 ; CPU:$F1E0 PRG:71E0 BD 52 02 18 69 1E 9D 52 02 BD 53 02 69 00 9D 53 - .byte $02, $BD, $50, $02, $D0, $11, $BD, $47, $02, $E5, $8A, $C9, $03, $B0, $08, $20 ; CPU:$F1F0 PRG:71F0 02 BD 50 02 D0 11 BD 47 02 E5 8A C9 03 B0 08 20 - .byte $18, $EC, $A9, $01, $9D, $50, $02, $A0, $00, $BD, $47, $02, $C9, $B2, $B0, $06 ; CPU:$F200 PRG:7200 18 EC A9 01 9D 50 02 A0 00 BD 47 02 C9 B2 B0 06 - .byte $C8, $C9, $92, $B0, $01, $C8, $98, $9D, $4C, $02, $A9, $00, $9D, $4B, $02, $4C ; CPU:$F210 PRG:7210 C8 C9 92 B0 01 C8 98 9D 4C 02 A9 00 9D 4B 02 4C - .byte $CF, $EC, $A9, $02, $9D, $51, $02, $20, $DC, $EA, $10, $18, $FE, $4E, $02, $A9 ; CPU:$F220 PRG:7220 CF EC A9 02 9D 51 02 20 DC EA 10 18 FE 4E 02 A9 - .byte $06, $20, $AD, $EA, $A9, $00, $9D, $48, $02, $9D, $50, $02, $A9, $07, $9D, $54 ; CPU:$F230 PRG:7230 06 20 AD EA A9 00 9D 48 02 9D 50 02 A9 07 9D 54 - .byte $02, $20, $18, $EC, $4C, $CF, $EC, $20, $DC, $EA, $BD, $48, $02, $C9, $25, $90 ; CPU:$F240 PRG:7240 02 20 18 EC 4C CF EC 20 DC EA BD 48 02 C9 25 90 - .byte $03, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $D0, $03, $DE, $4A, $02, $DE ; CPU:$F250 PRG:7250 03 FE 4E 02 4C CF EC BD 49 02 D0 03 DE 4A 02 DE - .byte $49, $02, $BD, $47, $02, $18, $7D, $51, $02, $9D, $47, $02, $C9, $DA, $90, $81 ; CPU:$F260 PRG:7260 49 02 BD 47 02 18 7D 51 02 9D 47 02 C9 DA 90 81 - .byte $A9, $08, $9D, $55, $02, $FE, $4E, $02, $BD, $4A, $02, $D0, $0A, $BD, $49, $02 ; CPU:$F270 PRG:7270 A9 08 9D 55 02 FE 4E 02 BD 4A 02 D0 0A BD 49 02 - .byte $C9, $E0, $B0, $03, $4C, $56, $F1, $4C, $CF, $EC, $DE, $55, $02, $D0, $F8, $A9 ; CPU:$F280 PRG:7280 C9 E0 B0 03 4C 56 F1 4C CF EC DE 55 02 D0 F8 A9 - .byte $00, $9D, $4E, $02, $9D, $50, $02, $4C, $8F, $F1, $20, $AF, $EB, $BD, $4E, $02 ; CPU:$F290 PRG:7290 00 9D 4E 02 9D 50 02 4C 8F F1 20 AF EB BD 4E 02 - .byte $0A, $A8, $B9, $AF, $F2, $85, $99, $B9, $B0, $F2, $85, $9A, $6C, $99, $00, $BD ; CPU:$F2A0 PRG:72A0 0A A8 B9 AF F2 85 99 B9 B0 F2 85 9A 6C 99 00 BD - .byte $F2, $D9, $F2, $01, $F3, $11, $F3, $5E, $F3, $91, $F3, $9B, $ED, $A0, $03, $A5 ; CPU:$F2B0 PRG:72B0 F2 D9 F2 01 F3 11 F3 5E F3 91 F3 9B ED A0 03 A5 - .byte $8A, $30, $02, $A0, $07, $98, $9D, $54, $02, $A9, $78, $9D, $47, $02, $A9, $02 ; CPU:$F2C0 PRG:72C0 8A 30 02 A0 07 98 9D 54 02 A9 78 9D 47 02 A9 02 - .byte $9D, $51, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02 ; CPU:$F2D0 PRG:72D0 9D 51 02 FE 4E 02 4C CF EC BD 49 02 38 FD 51 02 - .byte $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $0F, $BD ; CPU:$F2E0 PRG:72E0 9D 49 02 BD 4A 02 E9 00 9D 4A 02 C9 01 D0 0F BD - .byte $49, $02, $C9, $E0, $B0, $08, $A9, $01, $20, $AD, $EA, $FE, $4E, $02, $4C, $CF ; CPU:$F2F0 PRG:72F0 49 02 C9 E0 B0 08 A9 01 20 AD EA FE 4E 02 4C CF - .byte $EC, $20, $DC, $EA, $10, $08, $FE, $4E, $02, $A9, $00, $9D, $55, $02, $4C, $CF ; CPU:$F300 PRG:7300 EC 20 DC EA 10 08 FE 4E 02 A9 00 9D 55 02 4C CF - .byte $EC, $BD, $54, $02, $C9, $03, $D0, $19, $BD, $47, $02, $38, $E9, $02, $9D, $47 ; CPU:$F310 PRG:7310 EC BD 54 02 C9 03 D0 19 BD 47 02 38 E9 02 9D 47 - .byte $02, $BD, $55, $02, $18, $69, $02, $9D, $55, $02, $C9, $40, $90, $21, $4C, $47 ; CPU:$F320 PRG:7320 02 BD 55 02 18 69 02 9D 55 02 C9 40 90 21 4C 47 - .byte $F3, $BD, $47, $02, $18, $69, $02, $9D, $47, $02, $BD, $55, $02, $18, $69, $02 ; CPU:$F330 PRG:7330 F3 BD 47 02 18 69 02 9D 47 02 BD 55 02 18 69 02 - .byte $9D, $55, $02, $C9, $40, $90, $08, $A9, $1F, $9D, $55, $02, $FE, $4E, $02, $4C ; CPU:$F340 PRG:7340 9D 55 02 C9 40 90 08 A9 1F 9D 55 02 FE 4E 02 4C - .byte $CF, $EC, $C2, $E8, $88, $A2, $10, $FF, $42, $68, $08, $22, $90, $FF, $DE, $55 ; CPU:$F350 PRG:7350 CF EC C2 E8 88 A2 10 FF 42 68 08 22 90 FF DE 55 - .byte $02, $D0, $2B, $FE, $4E, $02, $A9, $03, $9D, $51, $02, $A9, $10, $20, $AD, $EA ; CPU:$F360 PRG:7360 02 D0 2B FE 4E 02 A9 03 9D 51 02 A9 10 20 AD EA - .byte $BD, $54, $02, $C9, $07, $D0, $0D, $A9, $00, $9D, $55, $02, $A9, $03, $9D, $54 ; CPU:$F370 PRG:7370 BD 54 02 C9 07 D0 0D A9 00 9D 55 02 A9 03 9D 54 - .byte $02, $4C, $CF, $EC, $A9, $06, $9D, $55, $02, $A9, $07, $9D, $54, $02, $4C, $CF ; CPU:$F380 PRG:7380 02 4C CF EC A9 06 9D 55 02 A9 07 9D 54 02 4C CF - .byte $EC, $20, $DC, $EA, $10, $28, $A9, $02, $9D, $51, $02, $BD, $55, $02, $FE, $55 ; CPU:$F390 PRG:7390 EC 20 DC EA 10 28 A9 02 9D 51 02 BD 55 02 FE 55 - .byte $02, $A8, $B9, $52, $F3, $C9, $FF, $D0, $06, $FE, $4E, $02, $4C, $CF, $EC, $48 ; CPU:$F3A0 PRG:73A0 02 A8 B9 52 F3 C9 FF D0 06 FE 4E 02 4C CF EC 48 - .byte $4A, $4A, $4A, $4A, $4A, $9D, $54, $02, $68, $29, $1F, $20, $AD, $EA, $4C, $CF ; CPU:$F3B0 PRG:73B0 4A 4A 4A 4A 4A 9D 54 02 68 29 1F 20 AD EA 4C CF - .byte $EC, $BD, $4E, $02, $0A, $A8, $B9, $D3, $F3, $85, $99, $B9, $D4, $F3, $85, $9A ; CPU:$F3C0 PRG:73C0 EC BD 4E 02 0A A8 B9 D3 F3 85 99 B9 D4 F3 85 9A - .byte $6C, $99, $00, $AD, $EE, $EB, $EE, $2A, $EE, $05, $EF, $1F, $EF, $2A, $EE, $39 ; CPU:$F3D0 PRG:73D0 6C 99 00 AD EE EB EE 2A EE 05 EF 1F EF 2A EE 39 - .byte $EF, $20, $AF, $EB, $BD, $4E, $02, $0A, $A8, $B9, $F6, $F3, $85, $99, $B9, $F7 ; CPU:$F3E0 PRG:73E0 EF 20 AF EB BD 4E 02 0A A8 B9 F6 F3 85 99 B9 F7 - .byte $F3, $85, $9A, $6C, $99, $00, $FA, $F3, $63, $F4, $A0, $91, $A5, $8A, $10, $02 ; CPU:$F3F0 PRG:73F0 F3 85 9A 6C 99 00 FA F3 63 F4 A0 91 A5 8A 10 02 - .byte $A0, $73, $98, $9D, $47, $02, $A9, $02, $9D, $51, $02, $A9, $08, $20, $AD, $EA ; CPU:$F400 PRG:7400 A0 73 98 9D 47 02 A9 02 9D 51 02 A9 08 20 AD EA - .byte $FE, $4E, $02, $A0, $10, $BD, $46, $02, $9D, $56, $02, $E8, $88, $D0, $F6, $A9 ; CPU:$F410 PRG:7410 FE 4E 02 A0 10 BD 46 02 9D 56 02 E8 88 D0 F6 A9 - .byte $00, $9D, $45, $02, $A9, $14, $9D, $55, $02, $A9, $06, $9D, $44, $02, $A9, $02 ; CPU:$F420 PRG:7420 00 9D 45 02 A9 14 9D 55 02 A9 06 9D 44 02 A9 02 - .byte $9D, $54, $02, $A9, $20, $9D, $50, $02, $4C, $CF, $EC, $E8, $84, $A4, $C8, $E8 ; CPU:$F430 PRG:7430 9D 54 02 A9 20 9D 50 02 4C CF EC E8 84 A4 C8 E8 - .byte $84, $A4, $C8, $E8, $88, $A8, $C4, $E4, $88, $A8, $C4, $E4, $88, $A8, $FF, $68 ; CPU:$F440 PRG:7440 84 A4 C8 E8 88 A8 C4 E4 88 A8 C4 E4 88 A8 FF 68 - .byte $04, $24, $48, $68, $04, $24, $48, $68, $08, $28, $44, $64, $08, $28, $44, $64 ; CPU:$F450 PRG:7450 04 24 48 68 04 24 48 68 08 28 44 64 08 28 44 64 - .byte $08, $28, $FF, $20, $DC, $EA, $10, $25, $BD, $55, $02, $FE, $55, $02, $A8, $B9 ; CPU:$F460 PRG:7460 08 28 FF 20 DC EA 10 25 BD 55 02 FE 55 02 A8 B9 - .byte $3B, $F4, $C9, $FF, $D0, $08, $A9, $00, $9D, $46, $02, $4C, $CF, $EC, $48, $4A ; CPU:$F470 PRG:7470 3B F4 C9 FF D0 08 A9 00 9D 46 02 4C CF EC 48 4A - .byte $4A, $4A, $4A, $4A, $9D, $54, $02, $68, $29, $1F, $20, $AD, $EA, $4C, $CF, $EC ; CPU:$F480 PRG:7480 4A 4A 4A 4A 9D 54 02 68 29 1F 20 AD EA 4C CF EC - .byte $BD, $4E, $02, $0A, $A8, $B9, $A2, $F4, $85, $99, $B9, $A3, $F4, $85, $9A, $6C ; CPU:$F490 PRG:7490 BD 4E 02 0A A8 B9 A2 F4 85 99 B9 A3 F4 85 9A 6C - .byte $99, $00, $B2, $F4, $D9, $F4, $31, $F5, $64, $F5, $40, $60, $80, $A0, $40, $60 ; CPU:$F4A0 PRG:74A0 99 00 B2 F4 D9 F4 31 F5 64 F5 40 60 80 A0 40 60 - .byte $80, $A0, $A5, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $B9, $AA, $F4, $9D, $47, $02 ; CPU:$F4B0 PRG:74B0 80 A0 A5 8A 4A 4A 4A 4A 4A A8 B9 AA F4 9D 47 02 - .byte $A5, $89, $30, $05, $69, $46, $4C, $CB, $F4, $A9, $B9, $9D, $55, $02, $A9, $04 ; CPU:$F4C0 PRG:74C0 A5 89 30 05 69 46 4C CB F4 A9 B9 9D 55 02 A9 04 - .byte $9D, $51, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02 ; CPU:$F4D0 PRG:74D0 9D 51 02 FE 4E 02 4C CF EC BD 49 02 38 FD 51 02 - .byte $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $C9, $01, $D0, $72, $BD ; CPU:$F4E0 PRG:74E0 9D 49 02 BD 4A 02 E9 00 9D 4A 02 C9 01 D0 72 BD - .byte $49, $02, $FD, $55, $02, $B0, $1F, $20, $18, $EC, $A0, $04, $BD, $47, $02, $C5 ; CPU:$F4F0 PRG:74F0 49 02 FD 55 02 B0 1F 20 18 EC A0 04 BD 47 02 C5 - .byte $8A, $B0, $02, $A0, $00, $98, $9D, $54, $02, $A9, $00, $9D, $48, $02, $A9, $08 ; CPU:$F500 PRG:7500 8A B0 02 A0 00 98 9D 54 02 A9 00 9D 48 02 A9 08 - .byte $20, $AD, $EA, $4C, $D3, $F4, $A0, $04, $C9, $40, $B0, $0E, $A0, $03, $C9, $20 ; CPU:$F510 PRG:7510 20 AD EA 4C D3 F4 A0 04 C9 40 B0 0E A0 03 C9 20 - .byte $B0, $08, $A0, $02, $C9, $10, $B0, $02, $A0, $01, $98, $9D, $51, $02, $4C, $CF ; CPU:$F520 PRG:7520 B0 08 A0 02 C9 10 B0 02 A0 01 98 9D 51 02 4C CF - .byte $EC, $20, $DC, $EA, $10, $11, $A9, $03, $9D, $51, $02, $BD, $49, $02, $9D, $55 ; CPU:$F530 PRG:7530 EC 20 DC EA 10 11 A9 03 9D 51 02 BD 49 02 9D 55 - .byte $02, $FE, $4E, $02, $4C, $CF, $EC, $F0, $0C, $BD, $49, $02, $9D, $55, $02, $FE ; CPU:$F540 PRG:7540 02 FE 4E 02 4C CF EC F0 0C BD 49 02 9D 55 02 FE - .byte $4E, $02, $4C, $CF, $EC, $BD, $48, $02, $C9, $2D, $90, $05, $A9, $02, $9D, $51 ; CPU:$F550 PRG:7550 4E 02 4C CF EC BD 48 02 C9 2D 90 05 A9 02 9D 51 - .byte $02, $4C, $CF, $EC, $BD, $49, $02, $18, $7D, $51, $02, $9D, $49, $02, $90, $03 ; CPU:$F560 PRG:7560 02 4C CF EC BD 49 02 18 7D 51 02 9D 49 02 90 03 - .byte $4C, $56, $F1, $FD, $55, $02, $C9, $20, $90, $05, $A9, $04, $9D, $51, $02, $4C ; CPU:$F570 PRG:7570 4C 56 F1 FD 55 02 C9 20 90 05 A9 04 9D 51 02 4C - .byte $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9, $94, $F5, $85, $99, $B9, $95, $F5, $85 ; CPU:$F580 PRG:7580 CF EC BD 4E 02 0A A8 B9 94 F5 85 99 B9 95 F5 85 - .byte $9A, $6C, $99, $00, $21, $ED, $3F, $F6, $70, $F6, $7D, $ED, $8B, $ED, $A6, $F5 ; CPU:$F590 PRG:7590 9A 6C 99 00 21 ED 3F F6 70 F6 7D ED 8B ED A6 F5 - .byte $E2, $F5, $DC, $F6, $E8, $F6, $FE, $4E, $02, $A0, $FE, $A5, $8A, $69, $10, $29 ; CPU:$F5A0 PRG:75A0 E2 F5 DC F6 E8 F6 FE 4E 02 A0 FE A5 8A 69 10 29 - .byte $FE, $9D, $55, $02, $BD, $47, $02, $E5, $8A, $B0, $12, $C9, $EC, $B0, $12, $A0 ; CPU:$F5B0 PRG:75B0 FE 9D 55 02 BD 47 02 E5 8A B0 12 C9 EC B0 12 A0 - .byte $02, $A5, $8A, $E9, $10, $29, $FE, $9D, $55, $02, $4C, $DB, $F5, $C9, $14, $B0 ; CPU:$F5C0 PRG:75C0 02 A5 8A E9 10 29 FE 9D 55 02 4C DB F5 C9 14 B0 - .byte $0A, $BD, $47, $02, $29, $FE, $9D, $55, $02, $A0, $00, $98, $9D, $48, $02, $4C ; CPU:$F5D0 PRG:75D0 0A BD 47 02 29 FE 9D 55 02 A0 00 98 9D 48 02 4C - .byte $CF, $EC, $BD, $49, $02, $38, $E9, $01, $9D, $49, $02, $BD, $4A, $02, $E9, $00 ; CPU:$F5E0 PRG:75E0 CF EC BD 49 02 38 E9 01 9D 49 02 BD 4A 02 E9 00 - .byte $9D, $4A, $02, $BD, $47, $02, $18, $7D, $48, $02, $9D, $47, $02, $29, $FE, $DD ; CPU:$F5F0 PRG:75F0 9D 4A 02 BD 47 02 18 7D 48 02 9D 47 02 29 FE DD - .byte $55, $02, $D0, $0B, $20, $18, $EC, $FE, $4E, $02, $A9, $01, $9D, $51, $02, $4C ; CPU:$F600 PRG:7600 55 02 D0 0B 20 18 EC FE 4E 02 A9 01 9D 51 02 4C - .byte $CF, $EC, $20, $AF, $EB, $BD, $4E, $02, $0A, $A8, $B9, $27, $F6, $85, $99, $B9 ; CPU:$F610 PRG:7610 CF EC 20 AF EB BD 4E 02 0A A8 B9 27 F6 85 99 B9 - .byte $28, $F6, $85, $9A, $6C, $99, $00, $3F, $F6, $70, $F6, $98, $F6, $B8, $F6, $D7 ; CPU:$F620 PRG:7620 28 F6 85 9A 6C 99 00 3F F6 70 F6 98 F6 B8 F6 D7 - .byte $F6, $E8, $F6, $3C, $28, $3C, $50, $05, $02, $03, $00, $01, $06, $07, $04, $A5 ; CPU:$F630 PRG:7630 F6 E8 F6 3C 28 3C 50 05 02 03 00 01 06 07 04 A5 - .byte $92, $29, $03, $A8, $A5, $8A, $10, $10, $A9, $07, $9D, $54, $02, $A9, $80, $F9 ; CPU:$F640 PRG:7640 92 29 03 A8 A5 8A 10 10 A9 07 9D 54 02 A9 80 F9 - .byte $33, $F6, $9D, $47, $02, $4C, $65, $F6, $A9, $03, $9D, $54, $02, $A9, $80, $79 ; CPU:$F650 PRG:7650 33 F6 9D 47 02 4C 65 F6 A9 03 9D 54 02 A9 80 79 - .byte $33, $F6, $9D, $47, $02, $A9, $02, $9D, $51, $02, $FE, $4E, $02, $4C, $CF, $EC ; CPU:$F660 PRG:7660 33 F6 9D 47 02 A9 02 9D 51 02 FE 4E 02 4C CF EC - .byte $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02, $BD, $4A, $02, $E9, $00, $9D ; CPU:$F670 PRG:7670 BD 49 02 38 FD 51 02 9D 49 02 BD 4A 02 E9 00 9D - .byte $4A, $02, $C9, $01, $D0, $0F, $BD, $49, $02, $C9, $C0, $B0, $08, $A9, $04, $20 ; CPU:$F680 PRG:7680 4A 02 C9 01 D0 0F BD 49 02 C9 C0 B0 08 A9 04 20 - .byte $AD, $EA, $FE, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $10, $18, $BD, $54, $02 ; CPU:$F690 PRG:7690 AD EA FE 4E 02 4C CF EC 20 DC EA 10 18 BD 54 02 - .byte $A8, $B9, $37, $F6, $9D, $54, $02, $29, $03, $C9, $03, $D0, $03, $FE, $4E, $02 ; CPU:$F6A0 PRG:76A0 A8 B9 37 F6 9D 54 02 29 03 C9 03 D0 03 FE 4E 02 - .byte $A9, $04, $20, $AD, $EA, $4C, $CF, $EC, $20, $DC, $EA, $10, $17, $A0, $06, $BD ; CPU:$F6B0 PRG:76B0 A9 04 20 AD EA 4C CF EC 20 DC EA 10 17 A0 06 BD - .byte $54, $02, $C9, $03, $F0, $02, $A0, $02, $98, $9D, $54, $02, $A9, $04, $20, $AD ; CPU:$F6C0 PRG:76C0 54 02 C9 03 F0 02 A0 02 98 9D 54 02 A9 04 20 AD - .byte $EA, $FE, $4E, $02, $4C, $CF, $EC, $20, $DC, $EA, $10, $09, $BD, $49, $02, $9D ; CPU:$F6D0 PRG:76D0 EA FE 4E 02 4C CF EC 20 DC EA 10 09 BD 49 02 9D - .byte $55, $02, $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D ; CPU:$F6E0 PRG:76E0 55 02 FE 4E 02 4C CF EC BD 49 02 38 FD 51 02 9D - .byte $49, $02, $B0, $03, $4C, $56, $F1, $BD, $55, $02, $38, $FD, $49, $02, $C9, $14 ; CPU:$F6F0 PRG:76F0 49 02 B0 03 4C 56 F1 BD 55 02 38 FD 49 02 C9 14 - .byte $90, $10, $48, $A9, $03, $9D, $51, $02, $68, $C9, $30, $90, $05, $A9, $04, $9D ; CPU:$F700 PRG:7700 90 10 48 A9 03 9D 51 02 68 C9 30 90 05 A9 04 9D - .byte $51, $02, $4C, $CF, $EC, $BD, $4E, $02, $0A, $A8, $B9, $27, $F7, $85, $99, $B9 ; CPU:$F710 PRG:7710 51 02 4C CF EC BD 4E 02 0A A8 B9 27 F7 85 99 B9 - .byte $28, $F7, $85, $9A, $6C, $99, $00, $2D, $F7, $86, $F7, $B5, $F7, $A9, $02, $9D ; CPU:$F720 PRG:7720 28 F7 85 9A 6C 99 00 2D F7 86 F7 B5 F7 A9 02 9D - .byte $51, $02, $A9, $60, $9D, $55, $02, $4C, $75, $F7, $BD, $4E, $02, $0A, $A8, $B9 ; CPU:$F730 PRG:7730 51 02 A9 60 9D 55 02 4C 75 F7 BD 4E 02 0A A8 B9 - .byte $4C, $F7, $85, $99, $B9, $4D, $F7, $85, $9A, $6C, $99, $00, $5A, $F7, $86, $F7 ; CPU:$F740 PRG:7740 4C F7 85 99 B9 4D F7 85 9A 6C 99 00 5A F7 86 F7 - .byte $B5, $F7, $48, $58, $68, $78, $88, $90, $A8, $B8, $A9, $01, $9D, $51, $02, $A9 ; CPU:$F750 PRG:7750 B5 F7 48 58 68 78 88 90 A8 B8 A9 01 9D 51 02 A9 - .byte $AA, $9D, $55, $02, $8A, $29, $10, $F0, $0C, $BD, $37, $02, $18, $69, $20, $9D ; CPU:$F760 PRG:7760 AA 9D 55 02 8A 29 10 F0 0C BD 37 02 18 69 20 9D - .byte $47, $02, $4C, $80, $F7, $A5, $92, $29, $07, $A8, $B9, $52, $F7, $9D, $47, $02 ; CPU:$F770 PRG:7770 47 02 4C 80 F7 A5 92 29 07 A8 B9 52 F7 9D 47 02 - .byte $FE, $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $FD, $51, $02, $9D, $49, $02 ; CPU:$F780 PRG:7780 FE 4E 02 4C CF EC BD 49 02 38 FD 51 02 9D 49 02 - .byte $BD, $4A, $02, $E9, $00, $9D, $4A, $02, $DE, $55, $02, $D0, $15, $A9, $40, $9D ; CPU:$F790 PRG:7790 BD 4A 02 E9 00 9D 4A 02 DE 55 02 D0 15 A9 40 9D - .byte $55, $02, $A0, $02, $BD, $47, $02, $10, $02, $A0, $FE, $98, $9D, $48, $02, $FE ; CPU:$F7A0 PRG:77A0 55 02 A0 02 BD 47 02 10 02 A0 FE 98 9D 48 02 FE - .byte $4E, $02, $4C, $CF, $EC, $BD, $49, $02, $38, $E9, $02, $9D, $49, $02, $BD, $4A ; CPU:$F7B0 PRG:77B0 4E 02 4C CF EC BD 49 02 38 E9 02 9D 49 02 BD 4A - .byte $02, $E9, $00, $9D, $4A, $02, $BD, $47, $02, $18, $7D, $48, $02, $9D, $47, $02 ; CPU:$F7C0 PRG:77C0 02 E9 00 9D 4A 02 BD 47 02 18 7D 48 02 9D 47 02 - .byte $FE, $4B, $02, $DE, $55, $02, $D0, $03, $4C, $56, $F1, $4C, $CF, $EC, $37, $F8 ; CPU:$F7D0 PRG:77D0 FE 4B 02 DE 55 02 D0 03 4C 56 F1 4C CF EC 37 F8 - .byte $37, $F8, $81, $F9, $8C, $F9, $A2, $00, $BD, $E6, $02, $F0, $12, $BD, $ED, $02 ; CPU:$F7E0 PRG:77E0 37 F8 81 F9 8C F9 A2 00 BD E6 02 F0 12 BD ED 02 - .byte $0A, $A8, $B9, $DE, $F7, $85, $99, $B9, $DF, $F7, $85, $9A, $6C, $99, $00, $8A ; CPU:$F7F0 PRG:77F0 0A A8 B9 DE F7 85 99 B9 DF F7 85 9A 6C 99 00 8A - .byte $18, $69, $10, $AA, $E0, $80, $D0, $E0, $60, $49, $F8, $D8, $F8, $00, $00, $81 ; CPU:$F800 PRG:7800 18 69 10 AA E0 80 D0 E0 60 49 F8 D8 F8 00 00 81 - .byte $00, $81, $01, $00, $01, $01, $01, $01, $00, $01, $81, $00, $81, $81, $81, $01 ; CPU:$F810 PRG:7810 00 81 01 00 01 01 01 01 00 01 81 00 81 81 81 01 - .byte $08, $07, $08, $07, $06, $05, $06, $05, $04, $03, $04, $03, $02, $01, $02, $00 ; CPU:$F820 PRG:7820 08 07 08 07 06 05 06 05 04 03 04 03 02 01 02 00 - .byte $03, $07, $04, $01, $02, $06, $05, $BD, $EE, $02, $0A, $A8, $B9, $09, $F8, $85 ; CPU:$F830 PRG:7830 03 07 04 01 02 06 05 BD EE 02 0A A8 B9 09 F8 85 - .byte $99, $B9, $0A, $F8, $85, $9A, $6C, $99, $00, $A5, $89, $18, $69, $06, $85, $5E ; CPU:$F840 PRG:7840 99 B9 0A F8 85 9A 6C 99 00 A5 89 18 69 06 85 5E - .byte $A9, $00, $85, $64, $BD, $E9, $02, $38, $E5, $5E, $B0, $08, $E6, $64, $A5, $5E ; CPU:$F850 PRG:7850 A9 00 85 64 BD E9 02 38 E5 5E B0 08 E6 64 A5 5E - .byte $38, $FD, $E9, $02, $4A, $85, $66, $BD, $E7, $02, $38, $E5, $8A, $B0, $0A, $E6 ; CPU:$F860 PRG:7860 38 FD E9 02 4A 85 66 BD E7 02 38 E5 8A B0 0A E6 - .byte $64, $E6, $64, $A5, $8A, $38, $FD, $E7, $02, $4A, $85, $67, $A4, $64, $A5, $66 ; CPU:$F870 PRG:7870 64 E6 64 A5 8A 38 FD E7 02 4A 85 67 A4 64 A5 66 - .byte $C5, $67, $B0, $09, $B9, $33, $F8, $9D, $F4, $02, $4C, $CD, $F8, $B9, $2F, $F8 ; CPU:$F880 PRG:7880 C5 67 B0 09 B9 33 F8 9D F4 02 4C CD F8 B9 2F F8 - .byte $9D, $F4, $02, $A5, $66, $C5, $67, $D0, $05, $A0, $12, $4C, $BB, $F8, $85, $60 ; CPU:$F890 PRG:7890 9D F4 02 A5 66 C5 67 D0 05 A0 12 4C BB F8 85 60 - .byte $A5, $67, $85, $5F, $A9, $00, $85, $5E, $20, $F3, $F9, $46, $5E, $46, $5E, $46 ; CPU:$F8A0 PRG:78A0 A5 67 85 5F A9 00 85 5E 20 F3 F9 46 5E 46 5E 46 - .byte $5E, $46, $5E, $46, $5E, $E6, $5E, $06, $5E, $A4, $5E, $B9, $5E, $81, $9D, $F2 ; CPU:$F8B0 PRG:78B0 5E 46 5E 46 5E E6 5E 06 5E A4 5E B9 5E 81 9D F2 - .byte $02, $B9, $5F, $81, $9D, $F3, $02, $FE, $EE, $02, $4C, $FF, $F7, $A5, $67, $85 ; CPU:$F8C0 PRG:78C0 02 B9 5F 81 9D F3 02 FE EE 02 4C FF F7 A5 67 85 - .byte $60, $A5, $66, $85, $5F, $4C, $A4, $F8, $BD, $F1, $02, $85, $60, $BD, $F2, $02 ; CPU:$F8D0 PRG:78D0 60 A5 66 85 5F 4C A4 F8 BD F1 02 85 60 BD F2 02 - .byte $85, $5E, $BD, $F3, $02, $85, $5F, $A0, $00, $B1, $5E, $10, $14, $29, $7F, $85 ; CPU:$F8E0 PRG:78E0 85 5E BD F3 02 85 5F A0 00 B1 5E 10 14 29 7F 85 - .byte $68, $38, $A5, $5E, $E5, $68, $85, $5E, $A5, $5F, $E9, $00, $85, $5F, $4C, $E7 ; CPU:$F8F0 PRG:78F0 68 38 A5 5E E5 68 85 5E A5 5F E9 00 85 5F 4C E7 - .byte $F8, $85, $62, $BD, $F4, $02, $0A, $18, $65, $62, $A8, $B9, $1F, $F8, $0A, $A8 ; CPU:$F900 PRG:7900 F8 85 62 BD F4 02 0A 18 65 62 A8 B9 1F F8 0A A8 - .byte $B9, $0D, $F8, $85, $66, $30, $13, $BD, $E9, $02, $18, $65, $66, $9D, $E9, $02 ; CPU:$F910 PRG:7910 B9 0D F8 85 66 30 13 BD E9 02 18 65 66 9D E9 02 - .byte $90, $1A, $A9, $00, $9D, $E6, $02, $4C, $FF, $F7, $29, $7F, $85, $66, $BD, $E9 ; CPU:$F920 PRG:7920 90 1A A9 00 9D E6 02 4C FF F7 29 7F 85 66 BD E9 - .byte $02, $38, $E5, $66, $9D, $E9, $02, $B0, $03, $4C, $22, $F9, $B9, $0E, $F8, $85 ; CPU:$F930 PRG:7930 02 38 E5 66 9D E9 02 B0 03 4C 22 F9 B9 0E F8 85 - .byte $66, $30, $10, $BD, $E7, $02, $18, $65, $66, $9D, $E7, $02, $C9, $F0, $90, $17 ; CPU:$F940 PRG:7940 66 30 10 BD E7 02 18 65 66 9D E7 02 C9 F0 90 17 - .byte $4C, $22, $F9, $29, $7F, $85, $66, $BD, $E7, $02, $38, $E5, $66, $9D, $E7, $02 ; CPU:$F950 PRG:7950 4C 22 F9 29 7F 85 66 BD E7 02 38 E5 66 9D E7 02 - .byte $C9, $08, $B0, $03, $4C, $22, $F9, $E6, $5E, $D0, $02, $E6, $5F, $C6, $60, $F0 ; CPU:$F960 PRG:7960 C9 08 B0 03 4C 22 F9 E6 5E D0 02 E6 5F C6 60 F0 - .byte $03, $4C, $E7, $F8, $A5, $5E, $9D, $F2, $02, $A5, $5F, $9D, $F3, $02, $4C, $FF ; CPU:$F970 PRG:7970 03 4C E7 F8 A5 5E 9D F2 02 A5 5F 9D F3 02 4C FF - .byte $F7, $4C, $D8, $F8, $9E, $F9, $AA, $F9, $C5, $F9, $E0, $F9, $BD, $EE, $02, $0A ; CPU:$F980 PRG:7980 F7 4C D8 F8 9E F9 AA F9 C5 F9 E0 F9 BD EE 02 0A - .byte $A8, $B9, $84, $F9, $85, $99, $B9, $85, $F9, $85, $9A, $6C, $99, $00, $BD, $E9 ; CPU:$F990 PRG:7990 A8 B9 84 F9 85 99 B9 85 F9 85 9A 6C 99 00 BD E9 - .byte $02, $9D, $F5, $02, $FE, $EE, $02, $4C, $FF, $F7, $BD, $E9, $02, $38, $E9, $02 ; CPU:$F9A0 PRG:79A0 02 9D F5 02 FE EE 02 4C FF F7 BD E9 02 38 E9 02 - .byte $90, $39, $9D, $E9, $02, $BD, $F5, $02, $FD, $E9, $02, $C9, $20, $90, $03, $FE ; CPU:$F9B0 PRG:79B0 90 39 9D E9 02 BD F5 02 FD E9 02 C9 20 90 03 FE - .byte $EE, $02, $4C, $FF, $F7, $BD, $E9, $02, $38, $E9, $03, $90, $1E, $9D, $E9, $02 ; CPU:$F9C0 PRG:79C0 EE 02 4C FF F7 BD E9 02 38 E9 03 90 1E 9D E9 02 - .byte $BD, $F5, $02, $FD, $E9, $02, $C9, $40, $90, $03, $FE, $EE, $02, $4C, $FF, $F7 ; CPU:$F9D0 PRG:79D0 BD F5 02 FD E9 02 C9 40 90 03 FE EE 02 4C FF F7 - .byte $BD, $E9, $02, $38, $E9, $04, $9D, $E9, $02, $B0, $05, $A9, $00, $9D, $E6, $02 ; CPU:$F9E0 PRG:79E0 BD E9 02 38 E9 04 9D E9 02 B0 05 A9 00 9D E6 02 - .byte $4C, $FF, $F7, $A9, $00, $85, $62, $A0, $10, $26, $5E, $26, $5F, $26, $62, $A5 ; CPU:$F9F0 PRG:79F0 4C FF F7 A9 00 85 62 A0 10 26 5E 26 5F 26 62 A5 - .byte $62, $C5, $60, $90, $04, $E5, $60, $85, $62, $26, $5E, $26, $5F, $88, $D0, $ED ; CPU:$FA00 PRG:7A00 62 C5 60 90 04 E5 60 85 62 26 5E 26 5F 88 D0 ED - .byte $60, $04, $88, $05, $08, $06, $20, $07, $08, $05, $82, $FF, $0C, $0F, $0D, $00 ; CPU:$FA10 PRG:7A10 60 04 88 05 08 06 20 07 08 05 82 FF 0C 0F 0D 00 - .byte $0E, $0C, $0F, $08, $FF, $0C, $07, $0D, $00, $0E, $08, $0F, $08, $FF, $04, $8F ; CPU:$FA20 PRG:7A20 0E 0C 0F 08 FF 0C 07 0D 00 0E 08 0F 08 FF 04 8F - .byte $05, $8C, $06, $30, $07, $08, $0C, $08, $0D, $00, $0E, $08, $0F, $08, $FF, $04 ; CPU:$FA30 PRG:7A30 05 8C 06 30 07 08 0C 08 0D 00 0E 08 0F 08 FF 04 - .byte $81, $05, $08, $06, $38, $07, $08, $FF, $0C, $20, $0D, $00, $0E, $0C, $0F, $20 ; CPU:$FA40 PRG:7A40 81 05 08 06 38 07 08 FF 0C 20 0D 00 0E 0C 0F 20 - .byte $FF, $8A, $48, $98, $48, $A6, $94, $BD, $11, $FA, $C9, $FF, $D0, $05, $68, $A8 ; CPU:$FA50 PRG:7A50 FF 8A 48 98 48 A6 94 BD 11 FA C9 FF D0 05 68 A8 - .byte $68, $AA, $60, $A8, $E8, $BD, $11, $FA, $E8, $99, $00, $40, $4C, $57, $FA, $00 ; CPU:$FA60 PRG:7A60 68 AA 60 A8 E8 BD 11 FA E8 99 00 40 4C 57 FA 00 - .byte $00, $AF, $06, $4E, $06, $F4, $05, $9E, $05, $4E, $05, $01, $05, $BA, $04, $76 ; CPU:$FA70 PRG:7A70 00 AF 06 4E 06 F4 05 9E 05 4E 05 01 05 BA 04 76 - .byte $04, $36, $04, $F9, $03, $C0, $03, $8A, $03 ; CPU:$FA80 PRG:7A80 04 36 04 F9 03 C0 03 8A 03 + .byte $00, $00, $AF, $06, $4E, $06, $F4, $05, $9E, $05, $4E, $05, $01, $05, $BA, $04 ; CPU:$FA6F PRG:7A6F 00 00 AF 06 4E 06 F4 05 9E 05 4E 05 01 05 BA 04 + .byte $76, $04, $36, $04, $F9, $03, $C0, $03, $8A, $03 ; CPU:$FA7F PRG:7A7F 76 04 36 04 F9 03 C0 03 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA89 ; Global: Branch target inside Sub: taken when FA89. @@ -4511,17 +12721,17 @@ NmiHandler_OnNonnegative2: ; ----------------------------------------------------------------------------- Sub_FAA8: inc Zp96 ; CPU:$FAA8 PRG:7AA8 E6 96 - bne NmiHandler_Loop72 ; CPU:$FAAA PRG:7AAA D0 02 + bne NmiHandler_Loop393 ; CPU:$FAAA PRG:7AAA D0 02 inc Zp97 ; CPU:$FAAC PRG:7AAC E6 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside NmiHandler: taken when Loop72. +; Routine: NmiHandler_Loop393 +; Global: Branch target inside NmiHandler: taken when Loop393. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop72: +NmiHandler_Loop393: rts ; CPU:$FAAE PRG:7AAE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FAAF @@ -4542,11 +12752,11 @@ Sub_FAAF: lsr a ; CPU:$FAB8 PRG:7AB8 4A lsr a ; CPU:$FAB9 PRG:7AB9 4A lsr a ; CPU:$FABA PRG:7ABA 4A - sta Zp5E ; CPU:$FABB PRG:7ABB 85 5E + sta VramWritePtrLo ; CPU:$FABB PRG:7ABB 85 5E lda $FA6F,y ; CPU:$FABD PRG:7ABD B9 6F FA - sta Zp60 ; CPU:$FAC0 PRG:7AC0 85 60 + sta ObjectX ; CPU:$FAC0 PRG:7AC0 85 60 lda $FA70,y ; CPU:$FAC2 PRG:7AC2 B9 70 FA - sta Zp61 ; CPU:$FAC5 PRG:7AC5 85 61 + sta ObjectY ; CPU:$FAC5 PRG:7AC5 85 61 ; ----------------------------------------------------------------------------- ; Routine: Sub_FAC7 ; Global: Branch target inside Sub: taken when FAC7. @@ -4556,25 +12766,25 @@ Sub_FAAF: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_FAC7: - dec Zp5E ; CPU:$FAC7 PRG:7AC7 C6 5E - beq NmiHandler_Loop73 ; CPU:$FAC9 PRG:7AC9 F0 07 - lsr Zp61 ; CPU:$FACB PRG:7ACB 46 61 - ror Zp60 ; CPU:$FACD PRG:7ACD 66 60 + dec VramWritePtrLo ; CPU:$FAC7 PRG:7AC7 C6 5E + beq NmiHandler_Loop394 ; CPU:$FAC9 PRG:7AC9 F0 07 + lsr ObjectY ; CPU:$FACB PRG:7ACB 46 61 + ror ObjectX ; CPU:$FACD PRG:7ACD 66 60 jmp Sub_FAC7 ; CPU:$FACF PRG:7ACF 4C C7 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside NmiHandler: taken when Loop73. +; Routine: NmiHandler_Loop394 +; Global: Branch target inside NmiHandler: taken when Loop394. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop73: +NmiHandler_Loop394: lda #$08 ; CPU:$FAD2 PRG:7AD2 A9 08 sta APUPULSE1SWEEP,x ; CPU:$FAD4 PRG:7AD4 9D 01 40 - lda Zp60 ; CPU:$FAD7 PRG:7AD7 A5 60 + lda ObjectX ; CPU:$FAD7 PRG:7AD7 A5 60 sta APUPULSE1TIMERLO,x ; CPU:$FAD9 PRG:7AD9 9D 02 40 - lda Zp61 ; CPU:$FADC PRG:7ADC A5 61 + lda ObjectY ; CPU:$FADC PRG:7ADC A5 61 ora #$08 ; CPU:$FADE PRG:7ADE 09 08 sta APUPULSE1TIMERHI,x ; CPU:$FAE0 PRG:7AE0 9D 03 40 ldy #$00 ; CPU:$FAE3 PRG:7AE3 A0 00 @@ -4623,72 +12833,72 @@ Sub_FAE6: ; ----------------------------------------------------------------------------- Sub_FB1A: lda Zp97 ; CPU:$FB1A PRG:7B1A A5 97 - bne NmiHandler_Loop76 ; CPU:$FB1C PRG:7B1C D0 16 + bne NmiHandler_Loop397 ; CPU:$FB1C PRG:7B1C D0 16 lda Zp85 ; CPU:$FB1E PRG:7B1E A5 85 - bne NmiHandler_Loop75 ; CPU:$FB20 PRG:7B20 D0 11 + bne NmiHandler_Loop396 ; CPU:$FB20 PRG:7B20 D0 11 ldy #$00 ; CPU:$FB22 PRG:7B22 A0 00 - lda Zp00 ; CPU:$FB24 PRG:7B24 A5 00 - beq NmiHandler_Loop74 ; CPU:$FB26 PRG:7B26 F0 02 + lda PlayerIndex ; CPU:$FB24 PRG:7B24 A5 00 + beq NmiHandler_Loop395 ; CPU:$FB26 PRG:7B26 F0 02 ldy #$01 ; CPU:$FB28 PRG:7B28 A0 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop74 -; Global: Branch target inside NmiHandler: taken when Loop74. +; Routine: NmiHandler_Loop395 +; Global: Branch target inside NmiHandler: taken when Loop395. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop74: +NmiHandler_Loop395: tya ; CPU:$FB2A PRG:7B2A 98 jsr Sub_FAE6 ; CPU:$FB2B PRG:7B2B 20 E6 FA lda #$02 ; CPU:$FB2E PRG:7B2E A9 02 sta $06A3 ; CPU:$FB30 PRG:7B30 8D A3 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop75 -; Global: Branch target inside NmiHandler: taken when Loop75. +; Routine: NmiHandler_Loop396 +; Global: Branch target inside NmiHandler: taken when Loop396. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop75: +NmiHandler_Loop396: rts ; CPU:$FB33 PRG:7B33 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop76 -; Global: Branch target inside NmiHandler: taken when Loop76. +; Routine: NmiHandler_Loop397 +; Global: Branch target inside NmiHandler: taken when Loop397. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop76: +NmiHandler_Loop397: lda $06A2 ; CPU:$FB34 PRG:7B34 AD A2 06 - beq NmiHandler_Loop77 ; CPU:$FB37 PRG:7B37 F0 04 + beq NmiHandler_Loop398 ; CPU:$FB37 PRG:7B37 F0 04 dec $06A2 ; CPU:$FB39 PRG:7B39 CE A2 06 rts ; CPU:$FB3C PRG:7B3C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside NmiHandler: taken when Loop77. +; Routine: NmiHandler_Loop398 +; Global: Branch target inside NmiHandler: taken when Loop398. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop398: lda $06A1 ; CPU:$FB3D PRG:7B3D AD A1 06 sta $06A2 ; CPU:$FB40 PRG:7B40 8D A2 06 dec $06A3 ; CPU:$FB43 PRG:7B43 CE A3 06 - beq NmiHandler_Loop78 ; CPU:$FB46 PRG:7B46 F0 01 + beq NmiHandler_Loop399 ; CPU:$FB46 PRG:7B46 F0 01 rts ; CPU:$FB48 PRG:7B48 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside NmiHandler: taken when Loop78. +; Routine: NmiHandler_Loop399 +; Global: Branch target inside NmiHandler: taken when Loop399. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop399: lda Zp96 ; CPU:$FB49 PRG:7B49 A5 96 sta $06A8 ; CPU:$FB4B PRG:7B4B 8D A8 06 lda Zp97 ; CPU:$FB4E PRG:7B4E A5 97 @@ -4704,81 +12914,81 @@ NmiHandler_Loop78: jsr Sub_FAA8 ; CPU:$FB61 PRG:7B61 20 A8 FA lda $06AB ; CPU:$FB64 PRG:7B64 AD AB 06 and #$01 ; CPU:$FB67 PRG:7B67 29 01 - beq NmiHandler_Loop79 ; CPU:$FB69 PRG:7B69 F0 16 + beq NmiHandler_Loop400 ; CPU:$FB69 PRG:7B69 F0 16 lda (Zp96),y ; CPU:$FB6B PRG:7B6B B1 96 pha ; CPU:$FB6D PRG:7B6D 48 jsr Sub_FAA8 ; CPU:$FB6E PRG:7B6E 20 A8 FA ldx #$00 ; CPU:$FB71 PRG:7B71 A2 00 jsr Sub_FAAF ; CPU:$FB73 PRG:7B73 20 AF FA pla ; CPU:$FB76 PRG:7B76 68 - bpl NmiHandler_Loop79 ; CPU:$FB77 PRG:7B77 10 08 + bpl NmiHandler_Loop400 ; CPU:$FB77 PRG:7B77 10 08 lda (Zp96),y ; CPU:$FB79 PRG:7B79 B1 96 sta APUPULSE1SWEEP ; CPU:$FB7B PRG:7B7B 8D 01 40 jsr Sub_FAA8 ; CPU:$FB7E PRG:7B7E 20 A8 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside NmiHandler: taken when Loop79. +; Routine: NmiHandler_Loop400 +; Global: Branch target inside NmiHandler: taken when Loop400. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: +NmiHandler_Loop400: lda $06AB ; CPU:$FB81 PRG:7B81 AD AB 06 and #$02 ; CPU:$FB84 PRG:7B84 29 02 - beq NmiHandler_Loop80 ; CPU:$FB86 PRG:7B86 F0 16 + beq NmiHandler_Loop401 ; CPU:$FB86 PRG:7B86 F0 16 lda (Zp96),y ; CPU:$FB88 PRG:7B88 B1 96 pha ; CPU:$FB8A PRG:7B8A 48 jsr Sub_FAA8 ; CPU:$FB8B PRG:7B8B 20 A8 FA ldx #$04 ; CPU:$FB8E PRG:7B8E A2 04 jsr Sub_FAAF ; CPU:$FB90 PRG:7B90 20 AF FA pla ; CPU:$FB93 PRG:7B93 68 - bpl NmiHandler_Loop80 ; CPU:$FB94 PRG:7B94 10 08 + bpl NmiHandler_Loop401 ; CPU:$FB94 PRG:7B94 10 08 lda (Zp96),y ; CPU:$FB96 PRG:7B96 B1 96 sta APUPULSE2SWEEP ; CPU:$FB98 PRG:7B98 8D 05 40 jsr Sub_FAA8 ; CPU:$FB9B PRG:7B9B 20 A8 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside NmiHandler: taken when Loop80. +; Routine: NmiHandler_Loop401 +; Global: Branch target inside NmiHandler: taken when Loop401. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop401: lda $06AB ; CPU:$FB9E PRG:7B9E AD AB 06 and #$04 ; CPU:$FBA1 PRG:7BA1 29 04 - beq NmiHandler_Loop81 ; CPU:$FBA3 PRG:7BA3 F0 0A + beq NmiHandler_Loop402 ; CPU:$FBA3 PRG:7BA3 F0 0A lda (Zp96),y ; CPU:$FBA5 PRG:7BA5 B1 96 jsr Sub_FAA8 ; CPU:$FBA7 PRG:7BA7 20 A8 FA ldx #$08 ; CPU:$FBAA PRG:7BAA A2 08 jsr Sub_FAAF ; CPU:$FBAC PRG:7BAC 20 AF FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside NmiHandler: taken when Loop81. +; Routine: NmiHandler_Loop402 +; Global: Branch target inside NmiHandler: taken when Loop402. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: +NmiHandler_Loop402: lda $06AB ; CPU:$FBAF PRG:7BAF AD AB 06 and #$08 ; CPU:$FBB2 PRG:7BB2 29 08 - bne NmiHandler_Loop82 ; CPU:$FBB4 PRG:7BB4 D0 01 + bne NmiHandler_Loop403 ; CPU:$FBB4 PRG:7BB4 D0 01 rts ; CPU:$FBB6 PRG:7BB6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside NmiHandler: taken when Loop82. +; Routine: NmiHandler_Loop403 +; Global: Branch target inside NmiHandler: taken when Loop403. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop403: lda (Zp96),y ; CPU:$FBB7 PRG:7BB7 B1 96 jsr Sub_FAA8 ; CPU:$FBB9 PRG:7BB9 20 A8 FA cmp #$01 ; CPU:$FBBC PRG:7BBC C9 01 - bne NmiHandler_Loop83 ; CPU:$FBBE PRG:7BBE D0 1A + bne NmiHandler_Loop404 ; CPU:$FBBE PRG:7BBE D0 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_FBC0 ; Global: Branch target inside Sub: taken when FBC0. @@ -4800,45 +13010,45 @@ Sub_FBC0: sta APUTRIANGLECTRL ; CPU:$FBD6 PRG:7BD6 8D 08 40 rts ; CPU:$FBD9 PRG:7BD9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside NmiHandler: taken when Loop83. +; Routine: NmiHandler_Loop404 +; Global: Branch target inside NmiHandler: taken when Loop404. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: +NmiHandler_Loop404: cmp #$05 ; CPU:$FBDA PRG:7BDA C9 05 - bcs NmiHandler_Loop85 ; CPU:$FBDC PRG:7BDC B0 19 - sta Zp5E ; CPU:$FBDE PRG:7BDE 85 5E + bcs NmiHandler_Loop406 ; CPU:$FBDC PRG:7BDC B0 19 + sta VramWritePtrLo ; CPU:$FBDE PRG:7BDE 85 5E lda $06AA ; CPU:$FBE0 PRG:7BE0 AD AA 06 - bne NmiHandler_Loop84 ; CPU:$FBE3 PRG:7BE3 D0 11 - lda Zp5E ; CPU:$FBE5 PRG:7BE5 A5 5E + bne NmiHandler_Loop405 ; CPU:$FBE3 PRG:7BE3 D0 11 + lda VramWritePtrLo ; CPU:$FBE5 PRG:7BE5 A5 5E sta $06AA ; CPU:$FBE7 PRG:7BE7 8D AA 06 lda $06A8 ; CPU:$FBEA PRG:7BEA AD A8 06 sta $06A6 ; CPU:$FBED PRG:7BED 8D A6 06 lda $06A9 ; CPU:$FBF0 PRG:7BF0 AD A9 06 sta $06A7 ; CPU:$FBF3 PRG:7BF3 8D A7 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside NmiHandler: taken when Loop84. +; Routine: NmiHandler_Loop405 +; Global: Branch target inside NmiHandler: taken when Loop405. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop405: rts ; CPU:$FBF6 PRG:7BF6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside NmiHandler: taken when Loop85. +; Routine: NmiHandler_Loop406 +; Global: Branch target inside NmiHandler: taken when Loop406. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: - bne NmiHandler_Loop87 ; CPU:$FBF7 PRG:7BF7 D0 10 +NmiHandler_Loop406: + bne NmiHandler_Loop408 ; CPU:$FBF7 PRG:7BF7 D0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_FBF9 ; Global: Branch target inside Sub: taken when FBF9. @@ -4849,57 +13059,57 @@ NmiHandler_Loop85: ; ----------------------------------------------------------------------------- Sub_FBF9: dec $06AA ; CPU:$FBF9 PRG:7BF9 CE AA 06 - beq NmiHandler_Loop86 ; CPU:$FBFC PRG:7BFC F0 0A + beq NmiHandler_Loop407 ; CPU:$FBFC PRG:7BFC F0 0A lda $06A6 ; CPU:$FBFE PRG:7BFE AD A6 06 sta Zp96 ; CPU:$FC01 PRG:7C01 85 96 lda $06A7 ; CPU:$FC03 PRG:7C03 AD A7 06 sta Zp97 ; CPU:$FC06 PRG:7C06 85 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop86 -; Global: Branch target inside NmiHandler: taken when Loop86. +; Routine: NmiHandler_Loop407 +; Global: Branch target inside NmiHandler: taken when Loop407. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop86: +NmiHandler_Loop407: rts ; CPU:$FC08 PRG:7C08 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop87 -; Global: Branch target inside NmiHandler: taken when Loop87. +; Routine: NmiHandler_Loop408 +; Global: Branch target inside NmiHandler: taken when Loop408. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop87: +NmiHandler_Loop408: cmp #$06 ; CPU:$FC09 PRG:7C09 C9 06 - bne NmiHandler_Loop89 ; CPU:$FC0B PRG:7C0B D0 0C + bne NmiHandler_Loop410 ; CPU:$FC0B PRG:7C0B D0 0C jsr Sub_FBF9 ; CPU:$FC0D PRG:7C0D 20 F9 FB lda $06AA ; CPU:$FC10 PRG:7C10 AD AA 06 - beq NmiHandler_Loop88 ; CPU:$FC13 PRG:7C13 F0 01 + beq NmiHandler_Loop409 ; CPU:$FC13 PRG:7C13 F0 01 rts ; CPU:$FC15 PRG:7C15 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop88 -; Global: Branch target inside NmiHandler: taken when Loop88. +; Routine: NmiHandler_Loop409 +; Global: Branch target inside NmiHandler: taken when Loop409. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop88: +NmiHandler_Loop409: jmp Sub_FBC0 ; CPU:$FC16 PRG:7C16 4C C0 FB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop89 -; Global: Branch target inside NmiHandler: taken when Loop89. +; Routine: NmiHandler_Loop410 +; Global: Branch target inside NmiHandler: taken when Loop410. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop89: +NmiHandler_Loop410: cmp #$21 ; CPU:$FC19 PRG:7C19 C9 21 - bcs NmiHandler_Loop90 ; CPU:$FC1B PRG:7C1B B0 0B + bcs NmiHandler_Loop411 ; CPU:$FC1B PRG:7C1B B0 0B sec ; CPU:$FC1D PRG:7C1D 38 sbc #$11 ; CPU:$FC1E PRG:7C1E E9 11 tax ; CPU:$FC20 PRG:7C20 AA @@ -4907,16 +13117,16 @@ NmiHandler_Loop89: sta APUPULSE1CTRL ; CPU:$FC24 PRG:7C24 8D 00 40 rts ; CPU:$FC27 PRG:7C27 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop90 -; Global: Branch target inside NmiHandler: taken when Loop90. +; Routine: NmiHandler_Loop411 +; Global: Branch target inside NmiHandler: taken when Loop411. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop90: +NmiHandler_Loop411: cmp #$31 ; CPU:$FC28 PRG:7C28 C9 31 - bcs NmiHandler_Loop91 ; CPU:$FC2A PRG:7C2A B0 0B + bcs NmiHandler_Loop412 ; CPU:$FC2A PRG:7C2A B0 0B sec ; CPU:$FC2C PRG:7C2C 38 sbc #$21 ; CPU:$FC2D PRG:7C2D E9 21 tax ; CPU:$FC2F PRG:7C2F AA @@ -4924,16 +13134,16 @@ NmiHandler_Loop90: sta APUPULSE2CTRL ; CPU:$FC33 PRG:7C33 8D 04 40 rts ; CPU:$FC36 PRG:7C36 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop91 -; Global: Branch target inside NmiHandler: taken when Loop91. +; Routine: NmiHandler_Loop412 +; Global: Branch target inside NmiHandler: taken when Loop412. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop91: +NmiHandler_Loop412: cmp #$FF ; CPU:$FC37 PRG:7C37 C9 FF - beq NmiHandler_Loop92 ; CPU:$FC39 PRG:7C39 F0 0B + beq NmiHandler_Loop413 ; CPU:$FC39 PRG:7C39 F0 0B sec ; CPU:$FC3B PRG:7C3B 38 sbc #$31 ; CPU:$FC3C PRG:7C3C E9 31 tax ; CPU:$FC3E PRG:7C3E AA @@ -4941,14 +13151,14 @@ NmiHandler_Loop91: sta APUTRIANGLECTRL ; CPU:$FC42 PRG:7C42 8D 08 40 rts ; CPU:$FC45 PRG:7C45 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop92 -; Global: Branch target inside NmiHandler: taken when Loop92. +; Routine: NmiHandler_Loop413 +; Global: Branch target inside NmiHandler: taken when Loop413. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop92: +NmiHandler_Loop413: lda #$00 ; CPU:$FC46 PRG:7C46 A9 00 sta Zp97 ; CPU:$FC48 PRG:7C48 85 97 rts ; CPU:$FC4A PRG:7C4A 60 diff --git a/NROM/Ms Pac-Man (Namco) (U)/README.md b/NROM/Ms Pac-Man (Namco) (U)/README.md index 362e2cf..a35f3b2 100644 --- a/NROM/Ms Pac-Man (Namco) (U)/README.md +++ b/NROM/Ms Pac-Man (Namco) (U)/README.md @@ -2,66 +2,56 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 10,136 / 32,768 bytes (30.9%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $C107 | | RESET vector | $FFF7 | | IRQ vector | $C198 | -| ROM file | `Ms Pac-Man (Namco) (U).nes` | -| SHA-256 | `c47ffe87736f5bc98049d9ff955077d4443acb516dbe24e5c9612b615eebcfe2` | -### Header notes +## Power-on flow -- none +RESET enters at `$FFF7`: -## Open work + jmp Sub_C004 ; CPU:$FFF7 PRG:7FF7 4C 04 C0 + .byte $07, $C1, $F7, $FF, $98, $C1 ; CPU:$FFFA PRG:7FFA 07 C1 F7 FF 98 C1 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$C107`: -## Files + pha ; CPU:$C107 PRG:4107 48 + txa ; CPU:$C108 PRG:4108 8A + pha ; CPU:$C109 PRG:4109 48 + tya ; CPU:$C10A PRG:410A 98 + pha ; CPU:$C10B PRG:410B 48 + lda PPUSTATUS ; CPU:$C10C PRG:410C AD 02 20 + lda Zp27 ; CPU:$C10F PRG:410F A5 27 + beq NmiHandler_Loop ; CPU:$C111 PRG:4111 F0 07 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$C003` (16388 bytes) - `CopyrightText` +- `$C0D7-$C106` (48 bytes) - `LevelTileData` +- `$C20D-$C212` (6 bytes) - `LevelStartParameterTable` +- `$C69B-$C6E7` (77 bytes) - `LevelNameText` +- `$CA24-$CB31` (270 bytes) - `LevelObjectDefinitionTable` +- `$CEE6-$D01F` (314 bytes) - `SpriteOamEntryTable` +- `$D03D-$D0D5` (153 bytes) - `SpriteOamAttributeTable` +- `$D1C2-$D349` (392 bytes) - `LevelObjectPointerTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Ms Pac-Man (Namco) (U)/labelmap.tsv b/NROM/Ms Pac-Man (Namco) (U)/labelmap.tsv index d724346..64bf6f9 100644 --- a/NROM/Ms Pac-Man (Namco) (U)/labelmap.tsv +++ b/NROM/Ms Pac-Man (Namco) (U)/labelmap.tsv @@ -30,13 +30,14 @@ C183 Sub_C183 C198 IrqHandler C199 Sub_C199 C1A3 Sub_C1A3 +C1C4 IrqHandler_OnNonnegative C1C9 Sub_C1C9 C1D4 IrqHandler_OnNonzero C1F5 Sub_C1F5 C201 Sub_C201 -C203 IrqHandler_OnNonnegative +C203 IrqHandler_OnNonnegative2 C213 Sub_C213 -C215 IrqHandler_OnNonnegative2 +C215 IrqHandler_OnNonnegative3 C222 Sub_C222 C246 IrqHandler_Loop C24E IrqHandler_OnCarryClear @@ -69,129 +70,630 @@ C37D IrqHandler_Loop18 C393 IrqHandler_OnCarryClear3 C39A Sub_C39A C3A2 IrqHandler_Loop19 +C3A5 Sub_C3A5 +C3B2 IrqHandler_Loop20 C3C3 Sub_C3C3 C3C8 IrqHandler_OnZero2 -C3D6 IrqHandler_Loop20 -C3DA IrqHandler_Loop21 -C3F8 IrqHandler_Loop22 +C3D6 IrqHandler_Loop21 +C3DA IrqHandler_Loop22 +C3F8 IrqHandler_Loop23 C406 IrqHandler_OnNonzero3 C410 Sub_C410 C412 Sub_C412 C419 IrqHandler_OnCarryClear4 C436 Sub_C436 -C443 IrqHandler_Loop23 +C443 IrqHandler_Loop24 C450 Sub_C450 -C45A IrqHandler_Loop24 +C45A IrqHandler_Loop25 C460 IrqHandler_OnOverflowSet3 C468 IrqHandler_OnCarryClear5 -C486 IrqHandler_Loop25 +C486 IrqHandler_Loop26 C48A Sub_C48A +C4AB Sub_C4AB +C4BE IrqHandler_OnNonzero4 +C4DA IrqHandler_Loop27 C4DB Sub_C4DB +C503 IrqHandler_OnCarryClear6 +C52D IrqHandler_Loop28 +C546 IrqHandler_Loop29 +C554 Sub_C554 +C573 Sub_C573 +C57A IrqHandler_Loop30 +C58C IrqHandler_Loop31 +C59F IrqHandler_Loop32 +C5AD IrqHandler_Loop33 +C5B9 IrqHandler_Loop34 +C5BC IrqHandler_Loop35 +C5CE IrqHandler_OnCarryClear7 +C5E8 IrqHandler_Loop36 +C5EA Sub_C5EA +C5F8 IrqHandler_Loop37 +C5FF IrqHandler_Loop38 +C60D IrqHandler_Loop39 +C61D IrqHandler_Loop40 +C620 IrqHandler_Loop41 +C625 IrqHandler_Loop42 +C637 IrqHandler_Loop43 +C645 IrqHandler_Loop44 +C647 Sub_C647 +C64F IrqHandler_Loop45 +C654 IrqHandler_Loop46 +C659 Sub_C659 +C664 IrqHandler_Loop47 +C68C IrqHandler_Loop48 +C692 IrqHandler_Loop49 +C69A IrqHandler_Loop50 +C6F8 IrqHandler_Loop51 +C70B IrqHandler_Loop52 +C710 IrqHandler_Loop53 +C720 IrqHandler_Loop54 +C723 IrqHandler_Loop55 +C73E IrqHandler_Loop56 +C74D IrqHandler_OnCarryClear8 +C766 Sub_C766 +C770 IrqHandler_Loop57 +C77B IrqHandler_Loop58 +C786 IrqHandler_Loop59 +C794 IrqHandler_OnCarryClear9 +C7AC IrqHandler_Loop60 +C7AD IrqHandler_Loop61 +C7C0 IrqHandler_Loop62 +C7C3 IrqHandler_Loop63 +C7C8 IrqHandler_Loop64 +C7FA IrqHandler_Loop65 +C81C IrqHandler_Loop66 +C81F IrqHandler_Loop67 +C82F IrqHandler_Loop68 +C838 IrqHandler_Loop69 +C843 IrqHandler_Loop70 +C845 Sub_C845 +C84F IrqHandler_Loop71 +C85D IrqHandler_Loop72 +C866 IrqHandler_Loop73 +C86F IrqHandler_Loop74 +C878 IrqHandler_Loop75 +C87A Sub_C87A +C882 Sub_C882 +C889 IrqHandler_Loop76 +C88A Sub_C88A +C89A IrqHandler_Loop77 +C8A2 IrqHandler_Loop78 +C8AA IrqHandler_Loop79 +C8B4 IrqHandler_Loop80 +C8B7 IrqHandler_Loop81 +C8C1 IrqHandler_Loop82 +C8E2 IrqHandler_Loop83 +C8F2 IrqHandler_Loop84 +C8F3 IrqHandler_Loop85 +C8F9 IrqHandler_Loop86 +C8FF IrqHandler_Loop87 +C90A IrqHandler_Loop88 +C911 IrqHandler_Loop89 +C916 IrqHandler_Loop90 +C91E IrqHandler_Loop91 +C924 IrqHandler_Loop92 +C92A IrqHandler_Loop93 +C930 IrqHandler_Loop94 +C960 IrqHandler_Loop95 +C96A IrqHandler_OnCarrySet +C975 IrqHandler_Loop96 +C978 IrqHandler_Loop97 +C97D IrqHandler_Loop98 +C982 IrqHandler_OnNonzero5 +C98C IrqHandler_Loop99 +C99C IrqHandler_Loop100 +C9AB IrqHandler_Loop101 +C9B4 IrqHandler_Loop102 +C9BC IrqHandler_Loop103 +C9BE IrqHandler_Loop104 +C9E5 IrqHandler_Loop105 +C9E9 Sub_C9E9 +CA12 IrqHandler_Loop106 +CA23 IrqHandler_Loop107 +CB32 Sub_CB32 +CB39 IrqHandler_Loop108 +CB4C IrqHandler_Loop109 +CB55 IrqHandler_Loop110 +CB58 Sub_CB58 +CB72 IrqHandler_Loop111 +CB77 IrqHandler_Loop112 +CB92 IrqHandler_Loop113 +CBA9 IrqHandler_Loop114 +CBB1 Sub_CBB1 +CBC0 Sub_CBC0 +CBC7 IrqHandler_Loop115 +CBD3 IrqHandler_OnNonzero6 +CBF0 IrqHandler_Loop116 +CBFE IrqHandler_Loop117 +CBFF Sub_CBFF +CC0A IrqHandler_Loop118 +CC15 IrqHandler_Loop119 +CC21 IrqHandler_Loop120 +CC27 IrqHandler_Loop121 +CC29 Sub_CC29 +CC9A IrqHandler_Loop122 +CC9B Sub_CC9B +CCA1 IrqHandler_Loop123 +CCB0 IrqHandler_Loop124 +CCBD IrqHandler_Loop125 +CCC3 IrqHandler_OnNonnegative4 +CCD4 IrqHandler_Loop126 +CCEF IrqHandler_Loop127 +CCF3 IrqHandler_OnCarryClear10 +CCFC IrqHandler_OnCarryClear11 +CD0C IrqHandler_Loop128 +CD11 IrqHandler_Loop129 +CD28 IrqHandler_OnNonzero7 +CD30 IrqHandler_Loop130 +CD3A IrqHandler_Loop131 +CD52 IrqHandler_Loop132 +CD7A IrqHandler_Loop133 +CD81 IrqHandler_Loop134 +CD87 IrqHandler_Loop135 +CD96 IrqHandler_Loop136 +CD99 Sub_CD99 +CDA0 IrqHandler_Loop137 +CDBA IrqHandler_OnNonzero8 +CDC1 IrqHandler_Loop138 +CDC6 IrqHandler_Loop139 +CDE7 IrqHandler_Loop140 +CDE8 Sub_CDE8 +CDF0 IrqHandler_Loop141 +CDF8 Sub_CDF8 +CDFE IrqHandler_OnCarryClear12 +CE0C IrqHandler_OnNonzero9 +CE1D IrqHandler_OnCarryClear13 +CE2A IrqHandler_Loop142 +CE2F Sub_CE2F +CE55 IrqHandler_OnCarryClear14 +CE62 IrqHandler_Loop143 +CE6E IrqHandler_OnNonzero10 +CE70 Sub_CE70 +CE7B IrqHandler_Loop144 +CE84 IrqHandler_Loop145 +CE87 Sub_CE87 +CE9E IrqHandler_Loop146 +CEC2 IrqHandler_OnCarryClear15 +CEDA Sub_CEDA +CEE2 IrqHandler_Loop147 +CEE5 IrqHandler_Loop148 +D020 IrqHandler_OnNonzero11 +D02B IrqHandler_Loop149 +D031 IrqHandler_Loop150 +D0D6 IrqHandler_OnCarrySet2 +D0EB IrqHandler_Loop151 +D0F7 IrqHandler_Loop152 +D0FD Sub_D0FD +D104 Sub_D104 +D116 IrqHandler_Loop153 +D12D IrqHandler_Loop154 +D154 IrqHandler_Loop155 +D155 Sub_D155 +D15B Sub_D15B +D15F IrqHandler_OnZero3 +D189 IrqHandler_Loop156 +D1B3 IrqHandler_Loop157 +D1B5 IrqHandler_Loop158 +D35B IrqHandler_Loop159 +D35D IrqHandler_Loop160 +D36B IrqHandler_Loop161 +D373 IrqHandler_Loop162 +D38D IrqHandler_Loop163 +D39B IrqHandler_Loop164 +D415 IrqHandler_Loop165 +D418 Sub_D418 +D425 IrqHandler_Loop166 +D429 IrqHandler_Loop167 +D430 IrqHandler_Loop168 +D43D IrqHandler_Loop169 +D447 IrqHandler_OnCarryClear16 +D466 IrqHandler_Loop170 +D46A IrqHandler_Loop171 +D47D IrqHandler_Loop172 +D47F Sub_D47F +D498 IrqHandler_OnCarryClear17 +D4A8 IrqHandler_Loop173 +D4AB IrqHandler_Loop174 +D4B2 IrqHandler_Loop175 +D4CC IrqHandler_OnCarryClear18 +D4E8 IrqHandler_Loop176 +D4EC IrqHandler_OnCarryClear19 +D4FC IrqHandler_Loop177 +D4FF IrqHandler_Loop178 +D506 IrqHandler_Loop179 +D527 IrqHandler_OnCarryClear20 +D53E IrqHandler_OnCarryClear21 +D5C2 Sub_D5C2 +D5CF IrqHandler_Loop180 +D5D4 Sub_D5D4 +D5DA IrqHandler_OnCarryClear22 +D5F9 IrqHandler_Loop181 +D60C IrqHandler_Loop182 +D615 Sub_D615 +D618 IrqHandler_Loop183 +D620 IrqHandler_Loop184 +D62E IrqHandler_Loop185 +D630 Sub_D630 +D632 IrqHandler_OnZero4 +D634 Sub_D634 +D641 IrqHandler_Loop186 +D664 IrqHandler_Loop187 +D668 IrqHandler_Loop188 +D66D Sub_D66D +D707 IrqHandler_Loop189 +D709 Sub_D709 +D71D IrqHandler_Loop190 +D73E IrqHandler_Loop191 +D753 Sub_D753 +D760 IrqHandler_Loop192 +D76F IrqHandler_Loop193 +D780 IrqHandler_Loop194 +D78F IrqHandler_Loop195 +D79E IrqHandler_Loop196 +D7A6 Sub_D7A6 +D7DD Sub_D7DD +D7E2 IrqHandler_Loop197 +D879 IrqHandler_Loop198 +D89B IrqHandler_Loop199 +D8A0 IrqHandler_Loop200 +D8AA IrqHandler_Loop201 +D8B3 IrqHandler_Loop202 +D8C6 IrqHandler_Loop203 +D8D0 Sub_D8D0 +D8DB IrqHandler_Loop204 +D8E0 IrqHandler_Loop205 +D8F3 IrqHandler_Loop206 +D8F6 IrqHandler_Loop207 +D910 IrqHandler_Loop208 +D926 IrqHandler_Loop209 +D930 IrqHandler_Loop210 +D936 IrqHandler_OnNonzero12 +D93D IrqHandler_OnCarryClear23 +D942 IrqHandler_OnZero5 +D945 IrqHandler_Loop211 +D961 IrqHandler_Loop212 +D976 IrqHandler_Loop213 +D97A IrqHandler_OnCarryClear24 +D984 IrqHandler_Loop214 +D98D IrqHandler_OnCarryClear25 +D997 IrqHandler_Loop215 +D9A0 IrqHandler_OnCarryClear26 +D9AE IrqHandler_OnCarryClear27 +D9C1 IrqHandler_OnCarryClear28 +D9C9 IrqHandler_Loop216 +D9CF Sub_D9CF +D9D8 IrqHandler_Loop217 +D9E6 IrqHandler_OnCarryClear29 +D9EC IrqHandler_OnCarryClear30 +D9F3 IrqHandler_Loop218 +D9FB IrqHandler_Loop219 +DA11 IrqHandler_OnNonzero13 +DA13 IrqHandler_OnCarryClear31 +DA25 IrqHandler_Loop220 +DA2F Sub_DA2F +DA43 IrqHandler_OnZero6 +DA4C IrqHandler_Loop221 +DA68 Sub_DA68 +DA6A IrqHandler_Loop222 +DA97 IrqHandler_Loop223 +DAA9 IrqHandler_Loop224 +DB7F IrqHandler_Loop225 +DB82 IrqHandler_Loop226 +DB94 IrqHandler_Loop227 +DB99 IrqHandler_Loop228 +DB9B Sub_DB9B +DBA2 IrqHandler_Loop229 +DBCD IrqHandler_Loop230 +DBD4 Sub_DBD4 +DBDC IrqHandler_Loop231 +DBEE IrqHandler_Loop232 +DC06 IrqHandler_Loop233 +DC23 IrqHandler_Loop234 +DC24 Sub_DC24 +DC26 IrqHandler_OnNonzero14 +DC33 IrqHandler_Loop235 +DC37 Sub_DC37 +DC38 Sub_DC38 +DC52 IrqHandler_OnCarryClear32 +DC75 IrqHandler_Loop236 +DC79 IrqHandler_Loop237 +DC96 IrqHandler_OnCarryClear33 +DCAC IrqHandler_Loop238 +DCB3 IrqHandler_Loop239 +DCC2 IrqHandler_Loop240 +DCC6 IrqHandler_Loop241 +DCD3 IrqHandler_Loop242 +DD04 IrqHandler_Loop243 +DD0F IrqHandler_Loop244 +DD29 IrqHandler_Loop245 +DD2C IrqHandler_Loop246 +DD32 IrqHandler_Loop247 +DD53 IrqHandler_Loop248 +DD87 IrqHandler_Loop249 +DD8A Sub_DD8A +DD8F Sub_DD8F +DE32 Sub_DE32 +DE3B IrqHandler_Loop250 +DE58 IrqHandler_Loop251 +DE6E IrqHandler_Loop252 +DE75 IrqHandler_OnCarryClear34 +DE84 IrqHandler_Loop253 +DE86 Sub_DE86 +DE87 IrqHandler_Loop254 +DE9D IrqHandler_OnNonzero15 +DEA2 IrqHandler_OnCarryClear35 +DEBE IrqHandler_Loop255 +DEE9 IrqHandler_OnCarryClear36 +DEF7 IrqHandler_Loop256 +DEFD IrqHandler_OnNonzero16 +DF0E IrqHandler_Loop257 +DF13 Sub_DF13 +DF1E IrqHandler_Loop258 +DF29 IrqHandler_Loop259 +DF2B Sub_DF2B +DF3C IrqHandler_Loop260 +DF3E IrqHandler_OnCarryClear37 +DF53 IrqHandler_Loop261 +DF75 IrqHandler_OnCarryClear38 +DF93 IrqHandler_Loop262 +DF9B IrqHandler_Loop263 +DFBA Sub_DFBA +DFCE IrqHandler_Loop264 +DFCF IrqHandler_Loop265 +DFE9 Sub_DFE9 +DFF3 IrqHandler_OnCarryClear39 +E00D IrqHandler_Loop266 +E01B IrqHandler_OnCarryClear40 +E02F IrqHandler_OnCarryClear41 +E052 IrqHandler_Loop267 +E057 Sub_E057 +E081 IrqHandler_OnCarryClear42 +E097 Sub_E097 +E09F IrqHandler_Loop268 +E0A8 IrqHandler_OnNonzero17 +E0B4 IrqHandler_Loop269 +E0B5 Sub_E0B5 +E0C8 IrqHandler_Loop270 +E118 Sub_E118 +E125 IrqHandler_Loop271 +E129 Sub_E129 +E12F Sub_E12F +E141 Sub_E141 +E145 IrqHandler_Loop272 +E150 IrqHandler_Loop273 +E158 Sub_E158 +E162 Sub_E162 +E171 IrqHandler_Loop274 +E179 Sub_E179 +E181 IrqHandler_Loop275 +E18B IrqHandler_Loop276 +E1A1 IrqHandler_OnCarryClear43 +E1AF IrqHandler_OnNonzero18 +E1C0 IrqHandler_OnCarryClear44 +E1CD IrqHandler_Loop277 +E1D3 Sub_E1D3 +E1DB Sub_E1DB +E1E3 IrqHandler_Loop278 +E1EB Sub_E1EB +E1ED IrqHandler_OnCarryClear45 +E1F6 IrqHandler_Loop279 +E209 IrqHandler_Loop280 +E214 IrqHandler_Loop281 +E232 Sub_E232 +E242 IrqHandler_Loop282 +E269 Sub_E269 +E27B IrqHandler_Loop283 +E28D IrqHandler_OnCarryClear46 +E29A IrqHandler_Loop284 +E2A0 IrqHandler_OnCarryClear47 +E2AE IrqHandler_OnNonnegative5 +E2BA IrqHandler_Loop285 +E2BC IrqHandler_Loop286 +E2C5 IrqHandler_Loop287 +E2CC IrqHandler_OnCarryClear48 +E2DB IrqHandler_Loop288 +E2E1 IrqHandler_OnNonnegative6 +E2EE IrqHandler_Loop289 +E2F2 Sub_E2F2 +E2F4 Sub_E2F4 +E30F IrqHandler_Loop290 +E311 IrqHandler_Loop291 +E313 IrqHandler_OnCarryClear49 +E331 IrqHandler_Loop292 +E351 IrqHandler_Loop293 +E367 IrqHandler_Loop294 +E36A Sub_E36A +E36D Sub_E36D +E37D IrqHandler_Loop295 +E383 IrqHandler_OnCarryClear50 +E39A IrqHandler_Loop296 +E39F Sub_E39F +E3A6 IrqHandler_OnCarryClear51 +E3CC IrqHandler_Loop297 +E3DD IrqHandler_Loop298 +E415 Sub_E415 +E426 IrqHandler_Loop299 +E42F IrqHandler_Loop300 +E435 IrqHandler_OnCarryClear52 +E446 IrqHandler_Loop301 +E44A Sub_E44A +E455 IrqHandler_Loop302 +E493 IrqHandler_Loop303 +E49F Sub_E49F +E4A1 Sub_E4A1 +E4AB IrqHandler_OnCarryClear53 +E4BC IrqHandler_OnCarryClear54 +E4DB IrqHandler_Loop304 +E4EE IrqHandler_Loop305 +E4EF Sub_E4EF +E4F7 IrqHandler_Loop306 +E50C IrqHandler_OnNonnegative7 +E51C IrqHandler_Loop307 +E70C IrqHandler_Loop308 +E715 Sub_E715 +E722 Sub_E722 +E73C IrqHandler_Loop309 +E746 Sub_E746 +E753 Sub_E753 +E75E IrqHandler_Loop310 +E76B IrqHandler_Loop311 +E786 IrqHandler_OnNonzero19 +E795 IrqHandler_OnZero7 +E79A IrqHandler_Loop312 +E7A2 IrqHandler_OnNonzero20 +E7AD IrqHandler_Loop313 +E7B5 IrqHandler_Loop314 +E7BB IrqHandler_Loop315 +E7CA IrqHandler_OnNonzero21 +E7DC Sub_E7DC +E7E6 Sub_E7E6 +E7F4 Sub_E7F4 +E7FE IrqHandler_Loop316 +E804 IrqHandler_Loop317 +E806 IrqHandler_Loop318 +E80D IrqHandler_OnNonnegative8 E82F Sub_E82F -E867 IrqHandler_Loop26 -E86F IrqHandler_Loop27 -E878 IrqHandler_Loop28 -E87F IrqHandler_Loop29 -E888 IrqHandler_OnNonzero4 -E890 IrqHandler_Loop30 +E867 IrqHandler_Loop319 +E86F IrqHandler_Loop320 +E878 IrqHandler_Loop321 +E87F IrqHandler_Loop322 +E888 IrqHandler_OnNonzero22 +E890 IrqHandler_Loop323 E898 Sub_E898 -E8AA IrqHandler_Loop31 -E8AD IrqHandler_Loop32 -E8C9 IrqHandler_Loop33 -E8F4 IrqHandler_Loop34 -E8FB IrqHandler_Loop35 +E8AA IrqHandler_Loop324 +E8AD IrqHandler_Loop325 +E8C3 Sub_E8C3 +E8C9 IrqHandler_Loop326 +E8F4 IrqHandler_Loop327 +E8FB IrqHandler_Loop328 E8FE Sub_E8FE -E937 IrqHandler_Loop36 -E93E IrqHandler_OnNonnegative3 -E958 IrqHandler_Loop37 +E937 IrqHandler_Loop329 +E93E IrqHandler_OnNonnegative9 +E958 IrqHandler_Loop330 E981 Sub_E981 -E98E IrqHandler_Loop38 -E996 IrqHandler_Loop39 +E98E IrqHandler_Loop331 +E996 IrqHandler_Loop332 E9B7 Sub_E9B7 -E9BF IrqHandler_Loop40 +E9BF IrqHandler_Loop333 E9C9 Sub_E9C9 -E9D3 IrqHandler_Loop41 +E9D3 IrqHandler_Loop334 +EA04 IrqHandler_Loop335 +EA15 IrqHandler_Loop336 +EA2B IrqHandler_Loop337 +EA36 IrqHandler_Loop338 +EA44 Sub_EA44 EA4E Sub_EA4E -EA5B IrqHandler_Loop42 -EA86 IrqHandler_Loop43 -EA8B IrqHandler_Loop44 -EAA2 IrqHandler_Loop45 -EACA IrqHandler_Loop46 -EAD5 IrqHandler_Loop47 -EAE8 IrqHandler_Loop48 +EA5B IrqHandler_Loop339 +EA86 IrqHandler_Loop340 +EA8B IrqHandler_Loop341 +EA9A Sub_EA9A +EAA2 IrqHandler_Loop342 +EACA IrqHandler_Loop343 +EAD5 IrqHandler_Loop344 +EAE8 IrqHandler_Loop345 EAF1 Sub_EAF1 EAF3 Sub_EAF3 +EB0E IrqHandler_Loop346 +EB1C IrqHandler_Loop347 +EB27 IrqHandler_Loop348 +EB35 IrqHandler_Loop349 +EB49 IrqHandler_Loop350 +EB52 IrqHandler_Loop351 EB65 Sub_EB65 -EB8C IrqHandler_Loop49 -EB97 IrqHandler_Loop50 +EB8C IrqHandler_Loop352 +EB97 IrqHandler_Loop353 EBA1 Sub_EBA1 -EBB2 IrqHandler_Loop51 -EBBF IrqHandler_Loop52 -EBD3 IrqHandler_Loop53 -EBFA IrqHandler_Loop54 -EC05 IrqHandler_Loop55 +EBB2 IrqHandler_Loop354 +EBBF IrqHandler_Loop355 +EBD3 IrqHandler_Loop356 +EBFA IrqHandler_Loop357 +EC05 IrqHandler_Loop358 EC0F Sub_EC0F -EC25 IrqHandler_Loop56 -EC32 IrqHandler_Loop57 -EC46 IrqHandler_Loop58 -EC60 IrqHandler_Loop59 -EC67 IrqHandler_Loop60 -EC69 IrqHandler_Loop61 -EC71 IrqHandler_Loop62 -EC7B IrqHandler_Loop63 -EC9F IrqHandler_Loop64 -ECAE IrqHandler_Loop65 -ECB5 IrqHandler_Loop66 -ECBA IrqHandler_Loop67 -ECCF IrqHandler_Loop68 -ECF9 IrqHandler_Loop69 -ED04 IrqHandler_Loop70 -ED17 IrqHandler_Loop71 -ED28 IrqHandler_Loop72 -ED2F IrqHandler_Loop73 +EC25 IrqHandler_Loop359 +EC32 IrqHandler_Loop360 +EC46 IrqHandler_Loop361 +EC60 IrqHandler_Loop362 +EC67 IrqHandler_Loop363 +EC69 IrqHandler_Loop364 +EC71 IrqHandler_Loop365 +EC7B IrqHandler_Loop366 +EC9F IrqHandler_Loop367 +ECAE IrqHandler_Loop368 +ECB5 IrqHandler_Loop369 +ECBA IrqHandler_Loop370 +ECC9 Sub_ECC9 +ECCF IrqHandler_Loop371 +ECF9 IrqHandler_Loop372 +ED04 IrqHandler_Loop373 +ED17 IrqHandler_Loop374 +ED28 IrqHandler_Loop375 +ED2F IrqHandler_Loop376 ED31 Sub_ED31 ED3B Sub_ED3B +ED4F IrqHandler_Loop377 +ED5A IrqHandler_Loop378 +ED68 IrqHandler_Loop379 +ED7C IrqHandler_Loop380 +ED85 IrqHandler_Loop381 +EDB8 Sub_EDB8 +EDE8 IrqHandler_Loop382 +EDF9 IrqHandler_Loop383 +EE0A IrqHandler_Loop384 +EE1B IrqHandler_Loop385 +EE2C IrqHandler_Loop386 +F02A IrqHandler_Loop387 +F035 IrqHandler_Loop388 +F046 IrqHandler_Loop389 +F051 IrqHandler_Loop390 +F06A IrqHandler_Loop391 +F07A IrqHandler_Loop392 +F084 IrqHandler_Loop393 F087 Sub_F087 -F0B7 IrqHandler_Loop74 -F0D1 IrqHandler_Loop75 +F0B7 IrqHandler_Loop394 +F0BE IrqHandler_OnNonzero23 +F0D1 IrqHandler_Loop395 F0D6 Sub_F0D6 -F0DC IrqHandler_Loop76 -F0E4 IrqHandler_Loop77 -F0F7 IrqHandler_Loop78 -F0FC IrqHandler_Loop79 -F105 IrqHandler_Loop80 -F10A IrqHandler_Loop81 -F113 IrqHandler_Loop82 +F0DC IrqHandler_Loop396 +F0E4 IrqHandler_Loop397 +F0F7 IrqHandler_Loop398 +F0FC IrqHandler_Loop399 +F105 IrqHandler_Loop400 +F10A IrqHandler_Loop401 +F113 IrqHandler_Loop402 F115 Sub_F115 F121 Sub_F121 -F139 IrqHandler_Loop83 -F140 IrqHandler_Loop84 -F150 IrqHandler_Loop85 -F157 IrqHandler_Loop86 -F162 IrqHandler_Loop87 -F18B IrqHandler_Loop88 -F192 IrqHandler_Loop89 -F19E IrqHandler_Loop90 -F1A2 IrqHandler_Loop91 +F139 IrqHandler_Loop403 +F140 IrqHandler_Loop404 +F150 IrqHandler_Loop405 +F157 IrqHandler_Loop406 +F162 IrqHandler_Loop407 +F18B IrqHandler_Loop408 +F192 IrqHandler_Loop409 +F19E IrqHandler_Loop410 +F1A2 IrqHandler_Loop411 F1A5 Sub_F1A5 F297 Sub_F297 F2B8 Sub_F2B8 F2D1 Sub_F2D1 -F2D5 IrqHandler_OnNonzero5 -F2F1 IrqHandler_Loop92 -F2F9 IrqHandler_Loop93 -F30B IrqHandler_Loop94 +F2D5 IrqHandler_OnNonzero24 +F2F1 IrqHandler_Loop412 +F2F9 IrqHandler_Loop413 +F30B IrqHandler_Loop414 +F31A IrqHandler_OnCarryClear55 +F33C IrqHandler_Loop415 +F34F IrqHandler_Loop416 +F369 IrqHandler_Loop417 F36C Sub_F36C -F3C9 IrqHandler_OnNonzero6 +F3C9 IrqHandler_OnNonzero25 F3D1 Sub_F3D1 F42B Sub_F42B -F44E IrqHandler_Loop95 -F450 IrqHandler_Loop96 -F45E IrqHandler_Loop97 -F468 IrqHandler_Loop98 -F472 IrqHandler_Loop99 -F47F IrqHandler_Loop100 -F481 IrqHandler_Loop101 -F48E IrqHandler_Loop102 -F490 IrqHandler_Loop103 +F44E IrqHandler_Loop418 +F450 IrqHandler_Loop419 +F45E IrqHandler_Loop420 +F468 IrqHandler_Loop421 +F472 IrqHandler_Loop422 +F47F IrqHandler_Loop423 +F481 IrqHandler_Loop424 +F48E IrqHandler_Loop425 +F490 IrqHandler_Loop426 FFF7 Reset diff --git a/NROM/Ms Pac-Man (Namco) (U)/locals.inc b/NROM/Ms Pac-Man (Namco) (U)/locals.inc index 1a44988..a969cda 100644 --- a/NROM/Ms Pac-Man (Namco) (U)/locals.inc +++ b/NROM/Ms Pac-Man (Namco) (U)/locals.inc @@ -4,56 +4,184 @@ ; 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 ; 17 refs; reads=9 writes=8; used at $C02E, C030, C04A, C04F, +12 more -Zp01 = $01 ; 16 refs; reads=7 writes=9; used at $C02A, C035, C1E8, C295, +8 more -Zp02 = $02 ; 8 refs; reads=4 writes=4; used at $C1D7, C1DA, C1E2, C1E5, +4 more -Zp03 = $03 ; 3 refs; reads=2 writes=1; used at $C29A, C35E, C371 -Zp04 = $04 ; 4 refs; reads=2 writes=2; used at $C224, C24A, C389 -Zp05 = $05 ; 3 refs; reads=2 writes=1; used at $C2BE, C329, C344 -Zp06 = $06 ; 4 refs; reads=2 writes=2; used at $C32B, C33C, C346, C34D -Zp07 = $07 ; 4 refs; reads=2 writes=2; used at $C226, C259, C25B -Zp08 = $08 ; 10 refs; reads=7 writes=3; used at $C2B4, C2C2, C2C9, C2E9, +6 more -Zp09 = $09 ; 4 refs; reads=1 writes=3; used at $C2B9, C2ED, C2FD, C308 -Zp0A = $0A ; 7 refs; reads=5 writes=2; used at $C29E, C2B2, C2B7, C2E7, +3 more -Zp0B = $0B ; 5 refs; reads=2 writes=3; used at $C2A2, C2B0, C2EB, C2FF -Zp0E = $0E ; 2 refs; reads=1 writes=1; used at $C2EF, C30B -Zp0F = $0F ; 5 refs; reads=2 writes=3; used at $C22A, C257, C261, C2C6, +1 more +Zp00 = $00 ; 39 refs; reads=23 writes=16; used at $C02E, C030, C04A, C04F, +32 more +Zp01 = $01 ; 99 refs; reads=50 writes=49; used at $C02A, C035, C1E8, C295, +83 more +Zp02 = $02 ; 87 refs; reads=51 writes=36; used at $C1D7, C1DA, C1E2, C1E5, +74 more +Zp03 = $03 ; 35 refs; reads=15 writes=20; used at $C29A, C35E, C371, C3B4, +22 more +Zp04 = $04 ; 35 refs; reads=17 writes=18; used at $C224, C24A, C389, C4A5, +27 more +Zp05 = $05 ; 45 refs; reads=26 writes=19; used at $C2BE, C329, C344, D6F2, +30 more +Zp06 = $06 ; 27 refs; reads=14 writes=13; used at $C32B, C33C, C346, C34D, +18 more +Zp07 = $07 ; 25 refs; reads=12 writes=13; used at $C226, C259, C25B, D43D, +19 more +Zp08 = $08 ; 49 refs; reads=22 writes=27; used at $C2B4, C2C2, C2C9, C2E9, +44 more +Zp09 = $09 ; 26 refs; reads=2 writes=24; used at $C2B9, C2ED, C2FD, C308, +21 more +Zp0A = $0A ; 22 refs; reads=16 writes=6; used at $C29E, C2B2, C2B7, C2E7, +18 more +Zp0B = $0B ; 14 refs; reads=5 writes=9; used at $C2A2, C2B0, C2EB, C2FF, +6 more +Zp0C = $0C ; 3 refs; reads=2 writes=1; used at $D8E5, D8F1, D9DC +Zp0D = $0D ; 2 refs; reads=1 writes=1; used at $D8EB, D9DE +Zp0E = $0E ; 3 refs; reads=1 writes=2; used at $C2EF, C30B, D9E0 +Zp0F = $0F ; 6 refs; reads=2 writes=4; used at $C22A, C257, C261, C2C6, +2 more +Zp10 = $10 ; 3 refs; reads=2 writes=1; used at $C4B2, C4BE, C4CC +Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $C4B7, C4D5 +Zp12 = $12 ; 2 refs; reads=1 writes=1; used at $C4B9, C4CA Zp13 = $13 ; 4 refs; reads=2 writes=2; used at $C228, C246, C37D, C382 Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $C248, C251, C270, C396 -Zp16 = $16 ; 3 refs; reads=1 writes=2; used at $C2C4, C39B -Zp17 = $17 ; 4 refs; reads=2 writes=2; used at $C22E, C263, C384 -Zp18 = $18 ; 49 refs; reads=26 writes=23; used at $E8B5, E8C3, E8C9, E981, +37 more -Zp19 = $19 ; 36 refs; reads=14 writes=22; used at $E8BA, E8C7, E986, E99C, +24 more +Zp16 = $16 ; 7 refs; reads=3 writes=4; used at $C2C4, C39B, E25D, E26E, +2 more +Zp17 = $17 ; 12 refs; reads=6 writes=6; used at $C22E, C263, C384, E25F, +6 more +Zp18 = $18 ; 124 refs; reads=75 writes=49; used at $E8B5, E8C3, E8C9, E981, +88 more +Zp19 = $19 ; 87 refs; reads=39 writes=48; used at $E8BA, E8C7, E986, E99C, +51 more Zp1A = $1A ; 33 refs; reads=19 writes=14; used at $EA51, EAEB, EAF1, EAFD, +28 more Zp1B = $1B ; 30 refs; reads=14 writes=16; used at $EC4E, EC5C, EC65, ECAA, +15 more Zp1C = $1C ; 27 refs; reads=15 writes=12; used at $E84B, E853, E855, E85F, +23 more Zp1D = $1D ; 16 refs; reads=5 writes=11; used at $E84F, E859, E85B, E8DC, +12 more -Zp1E = $1E ; 7 refs; reads=3 writes=4; used at $F09E, F0A0, F0AE, F18C, +2 more -Zp1F = $1F ; 5 refs; reads=2 writes=3; used at $F091, F093, F09C, F3AE -Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $C147, C1BB +Zp1E = $1E ; 8 refs; reads=3 writes=5; used at $F09E, F0A0, F0AE, F18C, +3 more +Zp1F = $1F ; 6 refs; reads=2 writes=4; used at $F091, F093, F09C, F33A, +1 more +Zp20 = $20 ; 4 refs; reads=2 writes=2; used at $C147, C1BB, C88A, C8C1 Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $C149, C183 -Zp22 = $22 ; 2 refs; reads=1 writes=1; used at $C14B, C1BD +Zp22 = $22 ; 4 refs; reads=2 writes=2; used at $C14B, C1BD, C88C, C8C3 Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $C14D, C185 -Zp24 = $24 ; 3 refs; reads=2 writes=1; used at $C14F, C1B4, C3C8 +Zp24 = $24 ; 15 refs; reads=8 writes=7; used at $C14F, C1B4, C3C8, C50F, +11 more Zp25 = $25 ; 2 refs; reads=1 writes=1; used at $C151, C190 -Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $C084, C136 -Zp27 = $27 ; 8 refs; reads=3 writes=5; used at $C097, C0D2, C10F, C115, +2 more -Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $C0A6, C1FC -Zp2A = $2A ; 3 refs; reads=2 writes=1; used at $C0A0, C1F8, C1FE +Zp26 = $26 ; 6 refs; reads=3 writes=3; used at $C084, C136, DE49, DE4D, +2 more +Zp27 = $27 ; 12 refs; reads=6 writes=6; used at $C097, C0D2, C10F, C115, +6 more +Zp28 = $28 ; 23 refs; reads=22 writes=1; used at $C0A6, C1FC, C56D, C581, +19 more +Zp2A = $2A ; 13 refs; reads=12 writes=1; used at $C0A0, C1F8, C1FE, C567, +9 more +Zp2B = $2B ; 2 refs; reads=2 writes=0; used at $D354, D35B Zp2C = $2C ; 4 refs; reads=2 writes=2; used at $C093, C0D0, C159 -Zp2D = $2D ; 4 refs; reads=2 writes=2; used at $C138, C13C, C1C1 -Zp2E = $2E ; 3 refs; reads=1 writes=2; used at $C125, C19B, C3C5 +Zp2D = $2D ; 6 refs; reads=3 writes=3; used at $C138, C13C, C1C1, E712, +1 more +Zp2E = $2E ; 37 refs; reads=19 writes=18; used at $C125, C19B, C3C5, C687, +28 more Zp2F = $2F ; 1 refs; reads=0 writes=1; used at $C1A0 -Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $C4DD -Zp32 = $32 ; 2 refs; reads=1 writes=1; used at $C4DB +Zp30 = $30 ; 7 refs; reads=2 writes=5; used at $C4DD, C573, CC8F, CE70, +3 more +Zp31 = $31 ; 17 refs; reads=7 writes=10; used at $C4EE, C577, C766, C7AA, +11 more +Zp32 = $32 ; 17 refs; reads=15 writes=2; used at $C4DB, C6F1, C9D7, CC16, +12 more +Zp33 = $33 ; 13 refs; reads=8 writes=5; used at $C6E8, C733, C749, C75D, +9 more +Zp34 = $34 ; 9 refs; reads=3 writes=6; used at $C6EC, C76E, C7AD, C7C8, +5 more +Zp36 = $36 ; 9 refs; reads=6 writes=3; used at $C515, C519, C9CA, C9CE, +5 more Zp37 = $37 ; 1 refs; reads=0 writes=1; used at $C169 Zp38 = $38 ; 1 refs; reads=1 writes=0; used at $C165 -Zp39 = $39 ; 4 refs; reads=3 writes=1; used at $C129, C454, C45A, C48C -Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $C0BA, C0C0 +Zp39 = $39 ; 10 refs; reads=3 writes=7; used at $C129, C454, C45A, C48C, +6 more +Zp3A = $3A ; 7 refs; reads=1 writes=6; used at $C0BA, C0C0, C9BC, CB4A, +3 more Zp3B = $3B ; 2 refs; reads=1 writes=1; used at $C24C, C255 -Zp86 = $86 ; 2 refs; reads=2 writes=0; used at $C230, C279 -Zp8B = $8B ; 2 refs; reads=1 writes=1; used at $C0B6, C0C2 -Zp8D = $8D ; 2 refs; reads=1 writes=1; used at $C091, C09C +Zp3C = $3C ; 32 refs; reads=29 writes=3; used at $C3AC, C51D, C5EA, CB4F, +28 more +Zp3D = $3D ; 7 refs; reads=4 writes=3; used at $CC85, CE57, CE5B, DBE3, +2 more +Zp3E = $3E ; 10 refs; reads=7 writes=3; used at $C506, C625, C654, CD49, +6 more +Zp3F = $3F ; 9 refs; reads=6 writes=3; used at $CB3D, CB42, CCD9, CE3E, +3 more +Zp40 = $40 ; 6 refs; reads=4 writes=2; used at $CCC3, CCCF, CCD7, CCDF, +2 more +Zp41 = $41 ; 1 refs; reads=1 writes=0; used at $CCE3 +Zp42 = $42 ; 1 refs; reads=1 writes=0; used at $CCE7 +Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $CCB9, CCBB +Zp44 = $44 ; 2 refs; reads=1 writes=1; used at $CCAC, CCAE +Zp45 = $45 ; 8 refs; reads=4 writes=4; used at $CBA9, CBAE, CC9F, E706, +1 more +Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $DBE5, E355 +Zp47 = $47 ; 5 refs; reads=3 writes=2; used at $CD43, CD47, CE38, CE3C, +1 more +Zp48 = $48 ; 5 refs; reads=2 writes=3; used at $E265, E306, E30A, E357, +1 more +Zp49 = $49 ; 4 refs; reads=1 writes=3; used at $E267, E30F, E35F, E36A +Zp4A = $4A ; 1 refs; reads=0 writes=1; used at $E234 +Zp4B = $4B ; 3 refs; reads=2 writes=1; used at $C5C4, E046, E052 +Zp4D = $4D ; 2 refs; reads=1 writes=1; used at $CE55, CE59 +Zp4E = $4E ; 2 refs; reads=1 writes=1; used at $C508, E702 +Zp4F = $4F ; 5 refs; reads=3 writes=2; used at $C5E8, CE4B, CE92, E700 +Zp50 = $50 ; 1 refs; reads=1 writes=0; used at $E70C +Zp54 = $54 ; 2 refs; reads=1 writes=1; used at $E708 +Zp55 = $55 ; 1 refs; reads=1 writes=0; used at $E70E +Zp5B = $5B ; 1 refs; reads=0 writes=1; used at $C5C6 +Zp5E = $5E ; 4 refs; reads=2 writes=2; used at $D44E, D45D, D466, DFAA +Zp5F = $5F ; 7 refs; reads=5 writes=2; used at $D38D, D39D, D455, D468, +3 more +Zp60 = $60 ; 13 refs; reads=11 writes=2; used at $D41A, D434, D486, D527, +9 more +Zp62 = $62 ; 11 refs; reads=11 writes=0; used at $D436, D47F, D52C, DA89, +7 more +Zp64 = $64 ; 5 refs; reads=5 writes=0; used at $D4D3, DACE, DC9F, DCBC, +1 more +Zp66 = $66 ; 5 refs; reads=5 writes=0; used at $D4CC, DAD8, DCA6, DCB5, +1 more +Zp72 = $72 ; 1 refs; reads=1 writes=0; used at $DA8C +Zp78 = $78 ; 6 refs; reads=3 writes=3; used at $D364, D368, D37B, D39B, +2 more +Zp79 = $79 ; 3 refs; reads=1 writes=2; used at $D415, D543, DF91 +Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $D634 +Zp7B = $7B ; 8 refs; reads=3 writes=5; used at $CB7C, D60C, D610, D771, +4 more +Zp7D = $7D ; 2 refs; reads=0 writes=2; used at $CB7E, DB6F +Zp7F = $7F ; 2 refs; reads=0 writes=2; used at $CB80, DB73 +Zp81 = $81 ; 2 refs; reads=0 writes=2; used at $CB82, DB77 +Zp82 = $82 ; 3 refs; reads=2 writes=1; used at $D646, DCEC, DD82 +Zp84 = $84 ; 4 refs; reads=3 writes=1; used at $DE3B, DECB, E246, E4EF +Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $D5F2, DD60 +Zp86 = $86 ; 6 refs; reads=4 writes=2; used at $C230, C279, CDBA, CDCD, +2 more +Zp87 = $87 ; 1 refs; reads=0 writes=1; used at $DFA2 +Zp88 = $88 ; 3 refs; reads=2 writes=1; used at $CD7A, CED3, DE66 +Zp89 = $89 ; 4 refs; reads=3 writes=1; used at $C5F8, D40F, DD0A, DF8B +Zp8A = $8A ; 4 refs; reads=2 writes=2; used at $D35D, D429, D42D, D43F +Zp8B = $8B ; 10 refs; reads=1 writes=9; used at $C0B6, C0C2, CA1E, CBA7, +6 more +Zp8C = $8C ; 5 refs; reads=3 writes=2; used at $C5CA, C9DA, CA16, CA1A, +1 more +Zp8D = $8D ; 7 refs; reads=6 writes=1; used at $C091, C09C, C524, C563, +3 more +Zp8E = $8E ; 5 refs; reads=3 writes=2; used at $C51F, C592, C5A5, C5AD, +1 more Zp8F = $8F ; 2 refs; reads=1 writes=1; used at $C0B2, C0C9 Zp90 = $90 ; 1 refs; reads=0 writes=1; used at $C078 Zp9F = $9F ; 2 refs; reads=1 writes=1; used at $C4E5 +ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $CBB8, CBC7 +ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $E244, E322, E32F +ZpA4 = $A4 ; 4 refs; reads=2 writes=2; used at $CB39, CB46, CCED +ZpA5 = $A5 ; 8 refs; reads=5 writes=3; used at $CB32, CC7F, CC83, CC9B, +4 more +ZpA7 = $A7 ; 1 refs; reads=1 writes=0; used at $DA9E +ZpA8 = $A8 ; 1 refs; reads=1 writes=0; used at $DAA2 +ZpA9 = $A9 ; 4 refs; reads=1 writes=3; used at $DBFA, DC01, E062 +ZpAA = $AA ; 3 refs; reads=1 writes=2; used at $DBF2, DBF8 +ZpAB = $AB ; 6 refs; reads=3 writes=3; used at $CBA1, DB55, DB61, DB82, +1 more +ZpAC = $AC ; 6 refs; reads=3 writes=3; used at $CB9C, DB59, DB5F, DB88, +1 more +ZpAD = $AD ; 4 refs; reads=2 writes=2; used at $CB94, DD66, DD68 +ZpAE = $AE ; 2 refs; reads=1 writes=1; used at $DC0C, DFEB +ZpAF = $AF ; 1 refs; reads=0 writes=1; used at $DFEF +ZpB0 = $B0 ; 2 refs; reads=1 writes=1; used at $DBD8, E01E +ZpB8 = $B8 ; 2 refs; reads=1 writes=1; used at $DBDE, E032 +ZpBC = $BC ; 3 refs; reads=2 writes=1; used at $DBC8, DC16, DC4E +ZpBD = $BD ; 4 refs; reads=2 writes=2; used at $DBDC, DBE9, E02D +ZpBE = $BE ; 5 refs; reads=2 writes=3; used at $DBA6, DBB8, DBDA, E017 +ZpBF = $BF ; 3 refs; reads=2 writes=1; used at $DC06, DC12 +ZpC0 = $C0 ; 12 refs; reads=8 writes=4; used at $D5C2, D5CA, D5FD, D66D, +8 more +ZpC1 = $C1 ; 18 refs; reads=11 writes=7; used at $D605, D628, D709, D71F, +14 more +ZpC2 = $C2 ; 2 refs; reads=1 writes=1; used at $DC26, DC35 +ZpC5 = $C5 ; 1 refs; reads=1 writes=0; used at $C4F3 +ZpC6 = $C6 ; 1 refs; reads=1 writes=0; used at $DBEE +ZpCA = $CA ; 4 refs; reads=3 writes=1; used at $D8B5, DBC4, DBD0, DBD4 +ZpCB = $CB ; 6 refs; reads=1 writes=5; used at $D8C9, D8FA, DAA0, DAAB, +2 more +ZpCC = $CC ; 6 refs; reads=1 writes=5; used at $D8CE, D914, DAA4, DAAF, +2 more +ZpCD = $CD ; 5 refs; reads=3 writes=2; used at $C4EA, C4EC, D7DD +ZpCE = $CE ; 32 refs; reads=17 writes=15; used at $C53D, C53F, C627, C647, +21 more +ZpCF = $CF ; 16 refs; reads=11 writes=5; used at $CB98, CEA8, D36D, D624, +12 more +ZpD0 = $D0 ; 1 refs; reads=0 writes=1; used at $D375 +ZpD1 = $D1 ; 1 refs; reads=0 writes=1; used at $D379 +ZpD2 = $D2 ; 5 refs; reads=0 writes=5; used at $D768, D779, D788, D795, +1 more +ZpD3 = $D3 ; 5 refs; reads=0 writes=5; used at $D76C, D77D, D78C, D799, +1 more +ZpDA = $DA ; 1 refs; reads=0 writes=1; used at $D759 +ZpDB = $DB ; 1 refs; reads=0 writes=1; used at $D75D +ZpDC = $DC ; 2 refs; reads=1 writes=1; used at $D373, E084 +ZpDD = $DD ; 1 refs; reads=1 writes=0; used at $D377 +ZpE0 = $E0 ; 2 refs; reads=1 writes=1; used at $D793, DC1D +ZpE1 = $E1 ; 2 refs; reads=1 writes=1; used at $D797, DC21 +ZpE2 = $E2 ; 1 refs; reads=1 writes=0; used at $DC1B +ZpE3 = $E3 ; 1 refs; reads=1 writes=0; used at $DC1F +ZpE6 = $E6 ; 1 refs; reads=1 writes=0; used at $D79E +ZpE7 = $E7 ; 1 refs; reads=1 writes=0; used at $D7A2 +ZpE8 = $E8 ; 3 refs; reads=2 writes=1; used at $D786, F017 +ZpE9 = $E9 ; 1 refs; reads=1 writes=0; used at $D78A +ZpEA = $EA ; 1 refs; reads=1 writes=0; used at $D777 +ZpEB = $EB ; 1 refs; reads=1 writes=0; used at $D77B +ZpEC = $EC ; 2 refs; reads=1 writes=1; used at $D1A1, D1B3 +ZpEE = $EE ; 6 refs; reads=4 writes=2; used at $CECF, D1A3, DBBC, DBBE, +1 more +ZpEF = $EF ; 6 refs; reads=3 writes=3; used at $CED1, D1AA, DBAC, DBAE, +1 more +ZpFF = $FF ; 1 refs; reads=0 writes=1; used at $DD34 + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp24 +PpuMaskShadow = Zp26 +VramWritePtrLo = Zp00 +VramWritePtrHi = Zp01 +VramReadPtrLo = Zp08 +VramReadPtrHi = Zp09 +DispatchPtrLo = Zp0A +DispatchPtrHi = Zp0B +GameMode = Zp2E +LevelIndex = Zp0F +PlayerX = Zp18 +PlayerY = Zp19 +SpriteX = Zp05 +SpriteY = Zp16 +PlayerSpriteIndex = Zp01 +ControllerState = Zp02 +SpriteTile = Zp8B +SpriteIndex = Zp88 diff --git a/NROM/Ms Pac-Man (Namco) (U)/prg.s b/NROM/Ms Pac-Man (Namco) (U)/prg.s index badd017..5a66143 100644 --- a/NROM/Ms Pac-Man (Namco) (U)/prg.s +++ b/NROM/Ms Pac-Man (Namco) (U)/prg.s @@ -9,8 +9,20 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 32 further routine entries recovered from table references elsewhere in the image: +; $C3A5, $C501, $C503, $C53D, $C563, $C647, $C659, $C6E8, $C8C6, $C9BF, $C9CE, $C9DA, $CD3B, $CE30, $CE88, $CE9F, $D037, $D34A, $D34C, $D40F, $D418, $D5C2, $D6F0, $D860, $DA2F, $DA82, $DB55, $DC24, $E097, $E700, $E70C, $F017 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $C1C4, $C2F4, $C48F, $C4FD, $C4FE, $C4FF, $C500, $C6EF, $C724, $C771, $C84C, $C8D7, $C931, $C950, $CB4D, $CBB8, $CC0F, $CC5C, $CD14, $CD84, $CDA1, $CEB6, $D0DC, $D0DF, $D117, $D18A, $D73F, $DA9E, $DAB4, $DACB, $DAE2, $DAE3, $DAE6, $DC8E, $DD7C, $E732, $E80D, $E829, $E82C, $E9F9, $EA0A, $EA1D, $EA3E, $EB05, $EB13, $EB40, $EB5C, $ED46, $ED73, $ED8F, $ED98, $ED9D, $EDA2, $EDA7, $EDAC, $EDB1, $EDB6, $EDC1, $EDD0, $EDDF, $EDF0, $EE01, $EE12, $EE23, $F021, $F03D, $F059, $F118, $F313, $F326, $F32E, $F33F, $F352 ; indirect dispatch through zero page (not followed statically): +; jmp ($0008) at $D1BF +; jmp ($0008) at $D750 ; jmp ($0000) at $C44D +; jmp ($0008) at $DD01 +; jmp ($0008) at $D3AB +; jmp ($0008) at $D679 +; jmp ($0008) at $D7F3 +; jmp ($0008) at $DD79 +; jmp ($0008) at $D8C3 ; .setcpu "6502" @@ -27,7 +39,8 @@ ; referenced by `sta $8001` at $C21B (operand $8001 falls inside this region) ; referenced by `inc $9BC4` at $C4E2 (operand $9BC4 falls inside this region) ; ... and 20 further references from decoded code - .byte $77, $77, $77, $80, $B8, $80, $C6, $80, $D4, $80, $C6, $80, $E2, $80, $F0, $80 ; CPU:$8000 PRG:0000 77 77 77 80 B8 80 C6 80 D4 80 C6 80 E2 80 F0 80 +CopyrightText: + .byte $77, $77, $77, $80, $B8, $80, $C6, $80, $D4, $80, $C6, $80, $E2, $80, $F0, $80 ; CPU:$8000 PRG:-4000 77 77 77 80 B8 80 C6 80 D4 80 C6 80 E2 80 F0 80 .byte $FE, $80, $F0, $80, $0C, $81, $1A, $81, $28, $81, $1A, $81, $36, $81, $44, $81 ; CPU:$8010 PRG:0010 FE 80 F0 80 0C 81 1A 81 28 81 1A 81 36 81 44 81 .byte $52, $81, $44, $81, $60, $81, $6F, $81, $7E, $81, $8D, $81, $9C, $81, $AB, $81 ; CPU:$8020 PRG:0020 52 81 44 81 60 81 6F 81 7E 81 8D 81 9C 81 AB 81 .byte $BA, $81, $CA, $81, $F6, $81, $FE, $81, $06, $82, $0E, $82, $DA, $81, $E8, $81 ; CPU:$8030 PRG:0030 BA 81 CA 81 F6 81 FE 81 06 82 0E 82 DA 81 E8 81 @@ -1098,10 +1111,10 @@ Sub_OnNonnegative: txs ; CPU:$C026 PRG:4026 9A inx ; CPU:$C027 PRG:4027 E8 lda #$06 ; CPU:$C028 PRG:4028 A9 06 - sta Zp01 ; CPU:$C02A PRG:402A 85 01 + sta VramWritePtrHi ; CPU:$C02A PRG:402A 85 01 txa ; CPU:$C02C PRG:402C 8A tay ; CPU:$C02D PRG:402D A8 - stx Zp00 ; CPU:$C02E PRG:402E 86 00 + stx VramWritePtrLo ; CPU:$C02E PRG:402E 86 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_OnNonzero2 ; Global: Branch target inside Sub: taken when OnNonzero2. @@ -1111,10 +1124,10 @@ Sub_OnNonnegative: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonzero2: - sta (Zp00),y ; CPU:$C030 PRG:4030 91 00 + sta (VramWritePtrLo),y ; CPU:$C030 PRG:4030 91 00 iny ; CPU:$C032 PRG:4032 C8 bne Sub_OnNonzero2 ; CPU:$C033 PRG:4033 D0 FB - dec Zp01 ; CPU:$C035 PRG:4035 C6 01 + dec VramWritePtrHi ; CPU:$C035 PRG:4035 C6 01 bpl Sub_OnNonzero2 ; CPU:$C037 PRG:4037 10 F7 lda PPUSTATUS ; CPU:$C039 PRG:4039 AD 02 20 lda #$10 ; CPU:$C03C PRG:403C A9 10 @@ -1142,9 +1155,9 @@ Sub_OnNonzero3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonzero4: - stx Zp00 ; CPU:$C04A PRG:404A 86 00 + stx VramWritePtrLo ; CPU:$C04A PRG:404A 86 00 lda $07F0,x ; CPU:$C04C PRG:404C BD F0 07 - cmp Zp00 ; CPU:$C04F PRG:404F C5 00 + cmp VramWritePtrLo ; CPU:$C04F PRG:404F C5 00 bne Sub_OnNonzero5 ; CPU:$C051 PRG:4051 D0 07 inx ; CPU:$C053 PRG:4053 E8 cpx #$10 ; CPU:$C054 PRG:4054 E0 10 @@ -1206,7 +1219,7 @@ Sub_OnCarryClear2: bcc Sub_OnCarryClear2 ; CPU:$C07D PRG:407D 90 F6 jsr Sub_C199 ; CPU:$C07F PRG:407F 20 99 C1 lda #$1E ; CPU:$C082 PRG:4082 A9 1E - sta Zp26 ; CPU:$C084 PRG:4084 85 26 + sta PpuMaskShadow ; CPU:$C084 PRG:4084 85 26 jsr Sub_C1A3 ; CPU:$C086 PRG:4086 20 A3 C1 jsr Sub_C201 ; CPU:$C089 PRG:4089 20 01 C2 jsr Sub_F36C ; CPU:$C08C PRG:408C 20 6C F3 @@ -1246,7 +1259,7 @@ Sub_Loop2: jsr Sub_C4DB ; CPU:$C0AF PRG:40AF 20 DB C4 lda Zp8F ; CPU:$C0B2 PRG:40B2 A5 8F bne Sub_Loop4 ; CPU:$C0B4 PRG:40B4 D0 0E - lda Zp8B ; CPU:$C0B6 PRG:40B6 A5 8B + lda SpriteTile ; CPU:$C0B6 PRG:40B6 A5 8B bne Sub_Loop3 ; CPU:$C0B8 PRG:40B8 D0 04 lda Zp3A ; CPU:$C0BA PRG:40BA A5 3A beq Sub_Loop5 ; CPU:$C0BC PRG:40BC F0 0D @@ -1261,7 +1274,7 @@ Sub_Loop2: Sub_Loop3: ldx #$00 ; CPU:$C0BE PRG:40BE A2 00 stx Zp3A ; CPU:$C0C0 PRG:40C0 86 3A - stx Zp8B ; CPU:$C0C2 PRG:40C2 86 8B + stx SpriteTile ; CPU:$C0C2 PRG:40C2 86 8B ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop4 ; Global: Branch target inside Sub: taken when Loop4. @@ -1300,7 +1313,8 @@ Sub_Loop6: ; ---- data $C0D7-$C106 (48 bytes) ---- ; referenced by `lda $C0D7,x` at $C068 (operand $C0D7 falls inside this region) ; referenced by `lda $C0F7,x` at $C075 (operand $C0F7 falls inside this region) - .byte $00, $00, $01, $00, $00, $00, $77, $77, $07, $2D, $2D, $31, $30, $30, $30, $30 ; CPU:$C0D7 PRG:40D7 00 00 01 00 00 00 77 77 07 2D 2D 31 30 30 30 30 +LevelTileData: + .byte $00, $00, $01, $00, $00, $00, $77, $77, $07, $2D, $2D, $31, $30, $30, $30, $30 ; CPU:$C0D7 PRG:00D7 00 00 01 00 00 00 77 77 07 2D 2D 31 30 30 30 30 .byte $07, $2D, $2D, $2D, $2D, $2D, $2D, $30, $07, $2D, $2D, $2D, $2D, $2D, $2D, $30 ; CPU:$C0E7 PRG:40E7 07 2D 2D 2D 2D 2D 2D 30 07 2D 2D 2D 2D 2D 2D 30 .byte $20, $4E, $41, $4F, $4B, $49, $20, $48, $49, $47, $41, $53, $48, $49, $4F, $20 ; CPU:$C0F7 PRG:40F7 20 4E 41 4F 4B 49 20 48 49 47 41 53 48 49 4F 20 ; ----------------------------------------------------------------------------- @@ -1336,7 +1350,7 @@ NmiHandler_Loop: sta PPUMASK ; CPU:$C11D PRG:411D 8D 01 20 ldy #$02 ; CPU:$C120 PRG:4120 A0 02 sty OAMDMA ; CPU:$C122 PRG:4122 8C 14 40 - lda Zp2E ; CPU:$C125 PRG:4125 A5 2E + lda GameMode ; CPU:$C125 PRG:4125 A5 2E bne NmiHandler_Loop2 ; CPU:$C127 PRG:4127 D0 07 lda Zp39 ; CPU:$C129 PRG:4129 A5 39 beq NmiHandler_Loop2 ; CPU:$C12B PRG:412B F0 03 @@ -1352,7 +1366,7 @@ NmiHandler_Loop: NmiHandler_Loop2: jsr Sub_C3C3 ; CPU:$C130 PRG:4130 20 C3 C3 jsr Sub_C412 ; CPU:$C133 PRG:4133 20 12 C4 - lda Zp26 ; CPU:$C136 PRG:4136 A5 26 + lda PpuMaskShadow ; CPU:$C136 PRG:4136 A5 26 ldx Zp2D ; CPU:$C138 PRG:4138 A6 2D beq NmiHandler_Loop3 ; CPU:$C13A PRG:413A F0 06 dec Zp2D ; CPU:$C13C PRG:413C C6 2D @@ -1373,7 +1387,7 @@ NmiHandler_Loop3: sta Zp21 ; CPU:$C149 PRG:4149 85 21 lda Zp22 ; CPU:$C14B PRG:414B A5 22 sta Zp23 ; CPU:$C14D PRG:414D 85 23 - lda Zp24 ; CPU:$C14F PRG:414F A5 24 + lda PpuCtrlShadow ; CPU:$C14F PRG:414F A5 24 sta Zp25 ; CPU:$C151 PRG:4151 85 25 jsr Sub_C165 ; CPU:$C153 PRG:4153 20 65 C1 jsr Sub_E82F ; CPU:$C156 PRG:4156 20 2F E8 @@ -1462,7 +1476,7 @@ IrqHandler: ; ----------------------------------------------------------------------------- Sub_C199: lda #$00 ; CPU:$C199 PRG:4199 A9 00 - sta Zp2E ; CPU:$C19B PRG:419B 85 2E + sta GameMode ; CPU:$C19B PRG:419B 85 2E sta $0300 ; CPU:$C19D PRG:419D 8D 00 03 sta Zp2F ; CPU:$C1A0 PRG:41A0 85 2F rts ; CPU:$C1A2 PRG:41A2 60 @@ -1482,7 +1496,7 @@ Sub_C1A3: lda #$C0 ; CPU:$C1AD PRG:41AD A9 C0 sta JOY2 ; CPU:$C1AF PRG:41AF 8D 17 40 lda #$88 ; CPU:$C1B2 PRG:41B2 A9 88 - sta Zp24 ; CPU:$C1B4 PRG:41B4 85 24 + sta PpuCtrlShadow ; CPU:$C1B4 PRG:41B4 85 24 sta PPUCTRL ; CPU:$C1B6 PRG:41B6 8D 00 20 lda #$00 ; CPU:$C1B9 PRG:41B9 A9 00 sta Zp20 ; CPU:$C1BB PRG:41BB 85 20 @@ -1490,8 +1504,18 @@ Sub_C1A3: lda #$02 ; CPU:$C1BF PRG:41BF A9 02 sta Zp2D ; CPU:$C1C1 PRG:41C1 85 2D rts ; CPU:$C1C3 PRG:41C3 60 -; ---- data $C1C4-$C1C8 (5 bytes) ---- - .byte $A5, $27, $10, $FC, $60 ; CPU:$C1C4 PRG:41C4 A5 27 10 FC 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative +; Global: Branch target inside IrqHandler: taken when the tested value is not negative. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative: + lda Zp27 ; CPU:$C1C4 PRG:41C4 A5 27 + bpl IrqHandler_OnNonnegative ; CPU:$C1C6 PRG:41C6 10 FC + rts ; CPU:$C1C8 PRG:41C8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C1C9 ; Global: Branch target inside Sub: taken when C1C9. @@ -1516,17 +1540,17 @@ Sub_C1C9: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero: lda JOY1 ; CPU:$C1D4 PRG:41D4 AD 16 40 - sta Zp02 ; CPU:$C1D7 PRG:41D7 85 02 + sta ControllerState ; CPU:$C1D7 PRG:41D7 85 02 lsr a ; CPU:$C1D9 PRG:41D9 4A - ora Zp02 ; CPU:$C1DA PRG:41DA 05 02 + ora ControllerState ; CPU:$C1DA PRG:41DA 05 02 lsr a ; CPU:$C1DC PRG:41DC 4A - rol Zp00 ; CPU:$C1DD PRG:41DD 26 00 + rol VramWritePtrLo ; CPU:$C1DD PRG:41DD 26 00 lda JOY2 ; CPU:$C1DF PRG:41DF AD 17 40 - sta Zp02 ; CPU:$C1E2 PRG:41E2 85 02 + sta ControllerState ; CPU:$C1E2 PRG:41E2 85 02 lsr a ; CPU:$C1E4 PRG:41E4 4A - ora Zp02 ; CPU:$C1E5 PRG:41E5 05 02 + ora ControllerState ; CPU:$C1E5 PRG:41E5 05 02 lsr a ; CPU:$C1E7 PRG:41E7 4A - rol Zp01 ; CPU:$C1E8 PRG:41E8 26 01 + rol VramWritePtrHi ; CPU:$C1E8 PRG:41E8 26 01 dey ; CPU:$C1EA PRG:41EA 88 bne IrqHandler_OnNonzero ; CPU:$C1EB PRG:41EB D0 E7 jsr Sub_C1F5 ; CPU:$C1ED PRG:41ED 20 F5 C1 @@ -1542,10 +1566,10 @@ IrqHandler_OnNonzero: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C1F5: - lda Zp00,x ; CPU:$C1F5 PRG:41F5 B5 00 + lda VramWritePtrLo,x ; CPU:$C1F5 PRG:41F5 B5 00 tay ; CPU:$C1F7 PRG:41F7 A8 eor Zp2A,x ; CPU:$C1F8 PRG:41F8 55 2A - and Zp00,x ; CPU:$C1FA PRG:41FA 35 00 + and VramWritePtrLo,x ; CPU:$C1FA PRG:41FA 35 00 sta Zp28,x ; CPU:$C1FC PRG:41FC 95 28 sty Zp2A,x ; CPU:$C1FE PRG:41FE 94 2A rts ; CPU:$C200 PRG:4200 60 @@ -1560,22 +1584,23 @@ Sub_C1F5: Sub_C201: ldx #$05 ; CPU:$C201 PRG:4201 A2 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative -; Global: Branch target inside IrqHandler: taken when the tested value is not negative. +; Routine: IrqHandler_OnNonnegative2 +; Global: Branch target inside IrqHandler: taken when OnNonnegative2. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative: +IrqHandler_OnNonnegative2: lda $C20D,x ; CPU:$C203 PRG:4203 BD 0D C2 sta $07E0,x ; CPU:$C206 PRG:4206 9D E0 07 dex ; CPU:$C209 PRG:4209 CA - bpl IrqHandler_OnNonnegative ; CPU:$C20A PRG:420A 10 F7 + bpl IrqHandler_OnNonnegative2 ; CPU:$C20A PRG:420A 10 F7 rts ; CPU:$C20C PRG:420C 60 ; ---- data $C20D-$C212 (6 bytes) ---- ; referenced by `lda $C20D,x` at $C203 (operand $C20D falls inside this region) - .byte $00, $02, $04, $05, $06, $07 ; CPU:$C20D PRG:420D 00 02 04 05 06 07 +LevelStartParameterTable: + .byte $00, $02, $04, $05, $06, $07 ; CPU:$C20D PRG:020D 00 02 04 05 06 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_C213 ; Global: Branch target inside Sub: taken when C213. @@ -1587,19 +1612,19 @@ IrqHandler_OnNonnegative: Sub_C213: ldx #$05 ; CPU:$C213 PRG:4213 A2 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative2 -; Global: Branch target inside IrqHandler: taken when OnNonnegative2. +; Routine: IrqHandler_OnNonnegative3 +; Global: Branch target inside IrqHandler: taken when OnNonnegative3. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative2: +IrqHandler_OnNonnegative3: stx $8000 ; CPU:$C215 PRG:4215 8E 00 80 lda $07E0,x ; CPU:$C218 PRG:4218 BD E0 07 sta $8001 ; CPU:$C21B PRG:421B 8D 01 80 dex ; CPU:$C21E PRG:421E CA - bpl IrqHandler_OnNonnegative2 ; CPU:$C21F PRG:421F 10 F4 + bpl IrqHandler_OnNonnegative3 ; CPU:$C21F PRG:421F 10 F4 rts ; CPU:$C221 PRG:4221 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C222 @@ -1614,16 +1639,16 @@ Sub_C222: sta Zp04 ; CPU:$C224 PRG:4224 85 04 sta Zp07 ; CPU:$C226 PRG:4226 85 07 sta Zp13 ; CPU:$C228 PRG:4228 85 13 - sta Zp0F ; CPU:$C22A PRG:422A 85 0F + sta LevelIndex ; CPU:$C22A PRG:422A 85 0F lda #$40 ; CPU:$C22C PRG:422C A9 40 sta Zp17 ; CPU:$C22E PRG:422E 85 17 ldx Zp86 ; CPU:$C230 PRG:4230 A6 86 bmi IrqHandler_Loop ; CPU:$C232 PRG:4232 30 12 lda $0400,x ; CPU:$C234 PRG:4234 BD 00 04 - sta Zp02 ; CPU:$C237 PRG:4237 85 02 + sta ControllerState ; CPU:$C237 PRG:4237 85 02 asl a ; CPU:$C239 PRG:4239 0A asl a ; CPU:$C23A PRG:423A 0A - sta Zp00 ; CPU:$C23B PRG:423B 85 00 + sta VramWritePtrLo ; CPU:$C23B PRG:423B 85 00 and #$0C ; CPU:$C23D PRG:423D 29 0C cmp #$0C ; CPU:$C23F PRG:423F C9 0C bne IrqHandler_Loop ; CPU:$C241 PRG:4241 D0 03 @@ -1655,7 +1680,7 @@ IrqHandler_OnCarryClear: cmp Zp14 ; CPU:$C251 PRG:4251 C5 14 bcc IrqHandler_OnCarryClear ; CPU:$C253 PRG:4253 90 F9 sta Zp3B ; CPU:$C255 PRG:4255 85 3B - sta Zp0F ; CPU:$C257 PRG:4257 85 0F + sta LevelIndex ; CPU:$C257 PRG:4257 85 0F ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero ; Global: Branch target inside IrqHandler: taken when the tested value is zero. @@ -1669,7 +1694,7 @@ IrqHandler_OnZero: inc Zp07 ; CPU:$C25B PRG:425B E6 07 cpx #$10 ; CPU:$C25D PRG:425D E0 10 bne IrqHandler_Loop3 ; CPU:$C25F PRG:425F D0 18 - ldx Zp0F ; CPU:$C261 PRG:4261 A6 0F + ldx LevelIndex ; CPU:$C261 PRG:4261 A6 0F ldy Zp17 ; CPU:$C263 PRG:4263 A4 17 beq IrqHandler_Loop2 ; CPU:$C265 PRG:4265 F0 11 ; ----------------------------------------------------------------------------- @@ -1722,10 +1747,10 @@ IrqHandler_Loop3: cpx Zp86 ; CPU:$C279 PRG:4279 E4 86 beq IrqHandler_OnZero ; CPU:$C27B PRG:427B F0 DC lda $0400,x ; CPU:$C27D PRG:427D BD 00 04 - sta Zp02 ; CPU:$C280 PRG:4280 85 02 + sta ControllerState ; CPU:$C280 PRG:4280 85 02 asl a ; CPU:$C282 PRG:4282 0A asl a ; CPU:$C283 PRG:4283 0A - sta Zp00 ; CPU:$C284 PRG:4284 85 00 + sta VramWritePtrLo ; CPU:$C284 PRG:4284 85 00 and #$0C ; CPU:$C286 PRG:4286 29 0C cmp #$0C ; CPU:$C288 PRG:4288 C9 0C bne IrqHandler_Loop4 ; CPU:$C28A PRG:428A D0 03 @@ -1750,13 +1775,13 @@ IrqHandler_Loop4: ; ----------------------------------------------------------------------------- Sub_C292: lda $0420,x ; CPU:$C292 PRG:4292 BD 20 04 - sta Zp01 ; CPU:$C295 PRG:4295 85 01 + sta VramWritePtrHi ; CPU:$C295 PRG:4295 85 01 lda $0410,x ; CPU:$C297 PRG:4297 BD 10 04 sta Zp03 ; CPU:$C29A PRG:429A 85 03 lda #$04 ; CPU:$C29C PRG:429C A9 04 - sta Zp0A ; CPU:$C29E PRG:429E 85 0A + sta DispatchPtrLo ; CPU:$C29E PRG:429E 85 0A lda #$80 ; CPU:$C2A0 PRG:42A0 A9 80 - sta Zp0B ; CPU:$C2A2 PRG:42A2 85 0B + sta DispatchPtrHi ; CPU:$C2A2 PRG:42A2 85 0B lda $0430,x ; CPU:$C2A4 PRG:42A4 BD 30 04 cmp #$FE ; CPU:$C2A7 PRG:42A7 C9 FE bne IrqHandler_Loop5 ; CPU:$C2A9 PRG:42A9 D0 01 @@ -1773,7 +1798,7 @@ IrqHandler_Loop5: asl a ; CPU:$C2AC PRG:42AC 0A tay ; CPU:$C2AD PRG:42AD A8 bcc IrqHandler_Loop6 ; CPU:$C2AE PRG:42AE 90 02 - inc Zp0B ; CPU:$C2B0 PRG:42B0 E6 0B + inc DispatchPtrHi ; CPU:$C2B0 PRG:42B0 E6 0B ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop6 ; Global: Branch target inside IrqHandler: taken when Loop6. @@ -1783,17 +1808,17 @@ IrqHandler_Loop5: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop6: - lda (Zp0A),y ; CPU:$C2B2 PRG:42B2 B1 0A - sta Zp08 ; CPU:$C2B4 PRG:42B4 85 08 + lda (DispatchPtrLo),y ; CPU:$C2B2 PRG:42B2 B1 0A + sta VramReadPtrLo ; CPU:$C2B4 PRG:42B4 85 08 iny ; CPU:$C2B6 PRG:42B6 C8 - lda (Zp0A),y ; CPU:$C2B7 PRG:42B7 B1 0A - sta Zp09 ; CPU:$C2B9 PRG:42B9 85 09 + lda (DispatchPtrLo),y ; CPU:$C2B7 PRG:42B7 B1 0A + sta VramReadPtrHi ; CPU:$C2B9 PRG:42B9 85 09 lda $0440,x ; CPU:$C2BB PRG:42BB BD 40 04 - sta Zp05 ; CPU:$C2BE PRG:42BE 85 05 + sta SpriteX ; CPU:$C2BE PRG:42BE 85 05 ldy #$00 ; CPU:$C2C0 PRG:42C0 A0 00 - lda (Zp08),y ; CPU:$C2C2 PRG:42C2 B1 08 - sta Zp16 ; CPU:$C2C4 PRG:42C4 85 16 - ldx Zp0F ; CPU:$C2C6 PRG:42C6 A6 0F + lda (VramReadPtrLo),y ; CPU:$C2C2 PRG:42C2 B1 08 + sta SpriteY ; CPU:$C2C4 PRG:42C4 85 16 + ldx LevelIndex ; CPU:$C2C6 PRG:42C6 A6 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_C2C8 ; Global: Branch target inside Sub: taken when C2C8. @@ -1804,12 +1829,12 @@ IrqHandler_Loop6: ; ----------------------------------------------------------------------------- Sub_C2C8: iny ; CPU:$C2C8 PRG:42C8 C8 - lda (Zp08),y ; CPU:$C2C9 PRG:42C9 B1 08 + lda (VramReadPtrLo),y ; CPU:$C2C9 PRG:42C9 B1 08 bmi IrqHandler_Loop7 ; CPU:$C2CB PRG:42CB 30 15 iny ; CPU:$C2CD PRG:42CD C8 lsr a ; CPU:$C2CE PRG:42CE 4A php ; CPU:$C2CF PRG:42CF 08 - bit Zp00 ; CPU:$C2D0 PRG:42D0 24 00 + bit VramWritePtrLo ; CPU:$C2D0 PRG:42D0 24 00 bvs IrqHandler_Loop11 ; CPU:$C2D2 PRG:42D2 70 4A bmi IrqHandler_Loop10 ; CPU:$C2D4 PRG:42D4 30 43 ; ----------------------------------------------------------------------------- @@ -1822,7 +1847,7 @@ Sub_C2C8: ; ----------------------------------------------------------------------------- IrqHandler_OnOverflowSet: clc ; CPU:$C2D6 PRG:42D6 18 - adc Zp01 ; CPU:$C2D7 PRG:42D7 65 01 + adc VramWritePtrHi ; CPU:$C2D7 PRG:42D7 65 01 bcs IrqHandler_Loop11 ; CPU:$C2D9 PRG:42D9 B0 43 cmp #$E8 ; CPU:$C2DB PRG:42DB C9 E8 bcs IrqHandler_Loop11 ; CPU:$C2DD PRG:42DD B0 3F @@ -1839,14 +1864,22 @@ IrqHandler_Loop7: iny ; CPU:$C2E2 PRG:42E2 C8 cmp #$81 ; CPU:$C2E3 PRG:42E3 C9 81 bne IrqHandler_Loop8 ; CPU:$C2E5 PRG:42E5 D0 10 - lda Zp0A ; CPU:$C2E7 PRG:42E7 A5 0A - sta Zp08 ; CPU:$C2E9 PRG:42E9 85 08 - lda Zp0B ; CPU:$C2EB PRG:42EB A5 0B - sta Zp09 ; CPU:$C2ED PRG:42ED 85 09 + lda DispatchPtrLo ; CPU:$C2E7 PRG:42E7 A5 0A + sta VramReadPtrLo ; CPU:$C2E9 PRG:42E9 85 08 + lda DispatchPtrHi ; CPU:$C2EB PRG:42EB A5 0B + sta VramReadPtrHi ; CPU:$C2ED PRG:42ED 85 09 ldy Zp0E ; CPU:$C2EF PRG:42EF A4 0E jmp Sub_C2C8 ; CPU:$C2F1 PRG:42F1 4C C8 C2 -; ---- data $C2F4-$C2F6 (3 bytes) ---- - .byte $4C, $10, $C3 ; CPU:$C2F4 PRG:42F4 4C 10 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C2F4 +; Global: Branch target inside Label: taken when C2F4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C2F4: + jmp IrqHandler_Loop9 ; CPU:$C2F4 PRG:42F4 4C 10 C3 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop8 ; Global: Branch target inside IrqHandler: taken when Loop8. @@ -1857,15 +1890,15 @@ IrqHandler_Loop7: ; ----------------------------------------------------------------------------- IrqHandler_Loop8: bcs IrqHandler_Loop9 ; CPU:$C2F7 PRG:42F7 B0 17 - lda Zp08 ; CPU:$C2F9 PRG:42F9 A5 08 - sta Zp0A ; CPU:$C2FB PRG:42FB 85 0A - lda Zp09 ; CPU:$C2FD PRG:42FD A5 09 - sta Zp0B ; CPU:$C2FF PRG:42FF 85 0B - lda (Zp0A),y ; CPU:$C301 PRG:4301 B1 0A - sta Zp08 ; CPU:$C303 PRG:4303 85 08 + lda VramReadPtrLo ; CPU:$C2F9 PRG:42F9 A5 08 + sta DispatchPtrLo ; CPU:$C2FB PRG:42FB 85 0A + lda VramReadPtrHi ; CPU:$C2FD PRG:42FD A5 09 + sta DispatchPtrHi ; CPU:$C2FF PRG:42FF 85 0B + lda (DispatchPtrLo),y ; CPU:$C301 PRG:4301 B1 0A + sta VramReadPtrLo ; CPU:$C303 PRG:4303 85 08 iny ; CPU:$C305 PRG:4305 C8 - lda (Zp0A),y ; CPU:$C306 PRG:4306 B1 0A - sta Zp09 ; CPU:$C308 PRG:4308 85 09 + lda (DispatchPtrLo),y ; CPU:$C306 PRG:4306 B1 0A + sta VramReadPtrHi ; CPU:$C308 PRG:4308 85 09 iny ; CPU:$C30A PRG:430A C8 sty Zp0E ; CPU:$C30B PRG:430B 84 0E jmp Sub_C2C8 ; CPU:$C30D PRG:430D 4C C8 C2 @@ -1881,7 +1914,7 @@ IrqHandler_Loop9: sec ; CPU:$C310 PRG:4310 38 ror a ; CPU:$C311 PRG:4311 6A php ; CPU:$C312 PRG:4312 08 - bit Zp00 ; CPU:$C313 PRG:4313 24 00 + bit VramWritePtrLo ; CPU:$C313 PRG:4313 24 00 bvs IrqHandler_OnOverflowSet ; CPU:$C315 PRG:4315 70 BF bmi IrqHandler_Loop11 ; CPU:$C317 PRG:4317 30 05 ; ----------------------------------------------------------------------------- @@ -1894,7 +1927,7 @@ IrqHandler_Loop9: ; ----------------------------------------------------------------------------- IrqHandler_Loop10: clc ; CPU:$C319 PRG:4319 18 - adc Zp01 ; CPU:$C31A PRG:431A 65 01 + adc VramWritePtrHi ; CPU:$C31A PRG:431A 65 01 bcs IrqHandler_Loop13 ; CPU:$C31C PRG:431C B0 13 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop11 @@ -1910,8 +1943,8 @@ IrqHandler_Loop11: plp ; CPU:$C323 PRG:4323 28 bcs IrqHandler_Loop12 ; CPU:$C324 PRG:4324 B0 07 iny ; CPU:$C326 PRG:4326 C8 - lda (Zp08),y ; CPU:$C327 PRG:4327 B1 08 - ora Zp05 ; CPU:$C329 PRG:4329 05 05 + lda (VramReadPtrLo),y ; CPU:$C327 PRG:4327 B1 08 + ora SpriteX ; CPU:$C329 PRG:4329 05 05 sta Zp06 ; CPU:$C32B PRG:432B 85 06 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop12 @@ -1934,7 +1967,7 @@ IrqHandler_Loop12: ; ----------------------------------------------------------------------------- IrqHandler_Loop13: sta $0200,x ; CPU:$C331 PRG:4331 9D 00 02 - lda (Zp08),y ; CPU:$C334 PRG:4334 B1 08 + lda (VramReadPtrLo),y ; CPU:$C334 PRG:4334 B1 08 sta $0201,x ; CPU:$C336 PRG:4336 9D 01 02 plp ; CPU:$C339 PRG:4339 28 bcc IrqHandler_Loop14 ; CPU:$C33A PRG:433A 90 05 @@ -1950,8 +1983,8 @@ IrqHandler_Loop13: ; ----------------------------------------------------------------------------- IrqHandler_Loop14: iny ; CPU:$C341 PRG:4341 C8 - lda (Zp08),y ; CPU:$C342 PRG:4342 B1 08 - ora Zp05 ; CPU:$C344 PRG:4344 05 05 + lda (VramReadPtrLo),y ; CPU:$C342 PRG:4342 B1 08 + ora SpriteX ; CPU:$C344 PRG:4344 05 05 sta Zp06 ; CPU:$C346 PRG:4346 85 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_C348 @@ -1962,15 +1995,15 @@ IrqHandler_Loop14: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_C348: - lda Zp00 ; CPU:$C348 PRG:4348 A5 00 + lda VramWritePtrLo ; CPU:$C348 PRG:4348 A5 00 and #$10 ; CPU:$C34A PRG:434A 29 10 asl a ; CPU:$C34C PRG:434C 0A ora Zp06 ; CPU:$C34D PRG:434D 05 06 sta $0202,x ; CPU:$C34F PRG:434F 9D 02 02 iny ; CPU:$C352 PRG:4352 C8 - lda (Zp08),y ; CPU:$C353 PRG:4353 B1 08 + lda (VramReadPtrLo),y ; CPU:$C353 PRG:4353 B1 08 bmi IrqHandler_Loop15 ; CPU:$C355 PRG:4355 30 13 - bit Zp02 ; CPU:$C357 PRG:4357 24 02 + bit ControllerState ; CPU:$C357 PRG:4357 24 02 bvs IrqHandler_Loop17 ; CPU:$C359 PRG:4359 70 1D bmi IrqHandler_Loop16 ; CPU:$C35B PRG:435B 30 13 ; ----------------------------------------------------------------------------- @@ -1998,7 +2031,7 @@ IrqHandler_OnOverflowSet2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop15: - bit Zp02 ; CPU:$C36A PRG:436A 24 02 + bit ControllerState ; CPU:$C36A PRG:436A 24 02 bvs IrqHandler_OnOverflowSet2 ; CPU:$C36C PRG:436C 70 EF bmi IrqHandler_Loop17 ; CPU:$C36E PRG:436E 30 08 ; ----------------------------------------------------------------------------- @@ -2078,7 +2111,7 @@ IrqHandler_OnCarryClear3: ; ----------------------------------------------------------------------------- Sub_C39A: tax ; CPU:$C39A PRG:439A AA - dec Zp16 ; CPU:$C39B PRG:439B C6 16 + dec SpriteY ; CPU:$C39B PRG:439B C6 16 beq IrqHandler_Loop19 ; CPU:$C39D PRG:439D F0 03 jmp Sub_C2C8 ; CPU:$C39F PRG:439F 4C C8 C2 ; ----------------------------------------------------------------------------- @@ -2090,11 +2123,44 @@ Sub_C39A: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop19: - stx Zp0F ; CPU:$C3A2 PRG:43A2 86 0F + stx LevelIndex ; CPU:$C3A2 PRG:43A2 86 0F rts ; CPU:$C3A4 PRG:43A4 60 -; ---- data $C3A5-$C3C2 (30 bytes) ---- - .byte $4A, $4A, $4A, $85, $01, $A9, $08, $24, $3C, $50, $02, $A9, $09, $85, $02, $A5 ; CPU:$C3A5 PRG:43A5 4A 4A 4A 85 01 A9 08 24 3C 50 02 A9 09 85 02 A5 - .byte $03, $0A, $26, $02, $0A, $26, $02, $29, $E0, $05, $01, $85, $01, $60 ; CPU:$C3B5 PRG:43B5 03 0A 26 02 0A 26 02 29 E0 05 01 85 01 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3A5 +; Global: Branch target inside Sub: taken when C3A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3A5: + lsr a ; CPU:$C3A5 PRG:43A5 4A + lsr a ; CPU:$C3A6 PRG:43A6 4A + lsr a ; CPU:$C3A7 PRG:43A7 4A + sta VramWritePtrHi ; CPU:$C3A8 PRG:43A8 85 01 + lda #$08 ; CPU:$C3AA PRG:43AA A9 08 + bit Zp3C ; CPU:$C3AC PRG:43AC 24 3C + bvc IrqHandler_Loop20 ; CPU:$C3AE PRG:43AE 50 02 + lda #$09 ; CPU:$C3B0 PRG:43B0 A9 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop20 +; Global: Branch target inside IrqHandler: taken when Loop20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop20: + sta ControllerState ; CPU:$C3B2 PRG:43B2 85 02 + lda Zp03 ; CPU:$C3B4 PRG:43B4 A5 03 + asl a ; CPU:$C3B6 PRG:43B6 0A + rol ControllerState ; CPU:$C3B7 PRG:43B7 26 02 + asl a ; CPU:$C3B9 PRG:43B9 0A + rol ControllerState ; CPU:$C3BA PRG:43BA 26 02 + and #$E0 ; CPU:$C3BC PRG:43BC 29 E0 + ora VramWritePtrHi ; CPU:$C3BE PRG:43BE 05 01 + sta VramWritePtrHi ; CPU:$C3C0 PRG:43C0 85 01 + rts ; CPU:$C3C2 PRG:43C2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C3C3 ; Global: Branch target inside Sub: taken when C3C3. @@ -2105,7 +2171,7 @@ IrqHandler_Loop19: ; ----------------------------------------------------------------------------- Sub_C3C3: lda #$00 ; CPU:$C3C3 PRG:43C3 A9 00 - sta Zp2E ; CPU:$C3C5 PRG:43C5 85 2E + sta GameMode ; CPU:$C3C5 PRG:43C5 85 2E tay ; CPU:$C3C7 PRG:43C7 A8 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero2 @@ -2116,24 +2182,13 @@ Sub_C3C3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero2: - lda Zp24 ; CPU:$C3C8 PRG:43C8 A5 24 + lda PpuCtrlShadow ; CPU:$C3C8 PRG:43C8 A5 24 ldx $0300,y ; CPU:$C3CA PRG:43CA BE 00 03 - bne IrqHandler_Loop20 ; CPU:$C3CD PRG:43CD D0 07 + bne IrqHandler_Loop21 ; CPU:$C3CD PRG:43CD D0 07 stx $0300 ; CPU:$C3CF PRG:43CF 8E 00 03 sta PPUCTRL ; CPU:$C3D2 PRG:43D2 8D 00 20 rts ; CPU:$C3D5 PRG:43D5 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop20 -; Global: Branch target inside IrqHandler: taken when Loop20. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop20: - bpl IrqHandler_Loop21 ; CPU:$C3D6 PRG:43D6 10 02 - ora #$04 ; CPU:$C3D8 PRG:43D8 09 04 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop21 ; Global: Branch target inside IrqHandler: taken when Loop21. ; Local: Part of IrqHandler. @@ -2142,18 +2197,8 @@ IrqHandler_Loop20: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop21: - sta PPUCTRL ; CPU:$C3DA PRG:43DA 8D 00 20 - lda $0300,y ; CPU:$C3DD PRG:43DD B9 00 03 - iny ; CPU:$C3E0 PRG:43E0 C8 - cmp #$7F ; CPU:$C3E1 PRG:43E1 C9 7F - bne IrqHandler_Loop22 ; CPU:$C3E3 PRG:43E3 D0 13 - lda #$3F ; CPU:$C3E5 PRG:43E5 A9 3F - sta PPUADDR ; CPU:$C3E7 PRG:43E7 8D 06 20 - lda #$00 ; CPU:$C3EA PRG:43EA A9 00 - sta PPUADDR ; CPU:$C3EC PRG:43EC 8D 06 20 - sta PPUADDR ; CPU:$C3EF PRG:43EF 8D 06 20 - sta PPUADDR ; CPU:$C3F2 PRG:43F2 8D 06 20 - jmp Sub_C410 ; CPU:$C3F5 PRG:43F5 4C 10 C4 + bpl IrqHandler_Loop22 ; CPU:$C3D6 PRG:43D6 10 02 + ora #$04 ; CPU:$C3D8 PRG:43D8 09 04 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop22 ; Global: Branch target inside IrqHandler: taken when Loop22. @@ -2163,6 +2208,27 @@ IrqHandler_Loop21: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop22: + sta PPUCTRL ; CPU:$C3DA PRG:43DA 8D 00 20 + lda $0300,y ; CPU:$C3DD PRG:43DD B9 00 03 + iny ; CPU:$C3E0 PRG:43E0 C8 + cmp #$7F ; CPU:$C3E1 PRG:43E1 C9 7F + bne IrqHandler_Loop23 ; CPU:$C3E3 PRG:43E3 D0 13 + lda #$3F ; CPU:$C3E5 PRG:43E5 A9 3F + sta PPUADDR ; CPU:$C3E7 PRG:43E7 8D 06 20 + lda #$00 ; CPU:$C3EA PRG:43EA A9 00 + sta PPUADDR ; CPU:$C3EC PRG:43EC 8D 06 20 + sta PPUADDR ; CPU:$C3EF PRG:43EF 8D 06 20 + sta PPUADDR ; CPU:$C3F2 PRG:43F2 8D 06 20 + jmp Sub_C410 ; CPU:$C3F5 PRG:43F5 4C 10 C4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop23 +; Global: Branch target inside IrqHandler: taken when Loop23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop23: sta PPUADDR ; CPU:$C3F8 PRG:43F8 8D 06 20 lda $0300,y ; CPU:$C3FB PRG:43FB B9 00 03 sta PPUADDR ; CPU:$C3FE PRG:43FE 8D 06 20 @@ -2240,27 +2306,27 @@ Sub_C436: tay ; CPU:$C437 PRG:4437 A8 iny ; CPU:$C438 PRG:4438 C8 pla ; CPU:$C439 PRG:4439 68 - sta Zp00 ; CPU:$C43A PRG:443A 85 00 + sta VramWritePtrLo ; CPU:$C43A PRG:443A 85 00 pla ; CPU:$C43C PRG:443C 68 - sta Zp01 ; CPU:$C43D PRG:443D 85 01 - bcc IrqHandler_Loop23 ; CPU:$C43F PRG:443F 90 02 - inc Zp01 ; CPU:$C441 PRG:4441 E6 01 + sta VramWritePtrHi ; CPU:$C43D PRG:443D 85 01 + bcc IrqHandler_Loop24 ; CPU:$C43F PRG:443F 90 02 + inc VramWritePtrHi ; CPU:$C441 PRG:4441 E6 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop23 -; Global: Branch target inside IrqHandler: taken when Loop23. +; Routine: IrqHandler_Loop24 +; Global: Branch target inside IrqHandler: taken when Loop24. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop23: - lda (Zp00),y ; CPU:$C443 PRG:4443 B1 00 +IrqHandler_Loop24: + lda (VramWritePtrLo),y ; CPU:$C443 PRG:4443 B1 00 tax ; CPU:$C445 PRG:4445 AA iny ; CPU:$C446 PRG:4446 C8 - lda (Zp00),y ; CPU:$C447 PRG:4447 B1 00 - sta Zp01 ; CPU:$C449 PRG:4449 85 01 - stx Zp00 ; CPU:$C44B PRG:444B 86 00 - jmp (Zp00) ; CPU:$C44D PRG:444D 6C 00 00 + lda (VramWritePtrLo),y ; CPU:$C447 PRG:4447 B1 00 + sta VramWritePtrHi ; CPU:$C449 PRG:4449 85 01 + stx VramWritePtrLo ; CPU:$C44B PRG:444B 86 00 + jmp (VramWritePtrLo) ; CPU:$C44D PRG:444D 6C 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C450 ; Global: Branch target inside Sub: taken when C450. @@ -2271,21 +2337,21 @@ IrqHandler_Loop23: ; ----------------------------------------------------------------------------- Sub_C450: lda #$10 ; CPU:$C450 PRG:4450 A9 10 - sta Zp01 ; CPU:$C452 PRG:4452 85 01 + sta VramWritePtrHi ; CPU:$C452 PRG:4452 85 01 bit Zp39 ; CPU:$C454 PRG:4454 24 39 - bvc IrqHandler_Loop24 ; CPU:$C456 PRG:4456 50 02 - asl Zp01 ; CPU:$C458 PRG:4458 06 01 + bvc IrqHandler_Loop25 ; CPU:$C456 PRG:4456 50 02 + asl VramWritePtrHi ; CPU:$C458 PRG:4458 06 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop24 -; Global: Branch target inside IrqHandler: taken when Loop24. +; Routine: IrqHandler_Loop25 +; Global: Branch target inside IrqHandler: taken when Loop25. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop24: +IrqHandler_Loop25: bit Zp39 ; CPU:$C45A PRG:445A 24 39 - bpl IrqHandler_Loop25 ; CPU:$C45C PRG:445C 10 28 + bpl IrqHandler_Loop26 ; CPU:$C45C PRG:445C 10 28 ldx #$00 ; CPU:$C45E PRG:445E A2 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnOverflowSet3 @@ -2311,7 +2377,7 @@ IrqHandler_OnCarryClear5: lda $0180,x ; CPU:$C468 PRG:4468 BD 80 01 sta PPUDATA ; CPU:$C46B PRG:446B 8D 07 20 inx ; CPU:$C46E PRG:446E E8 - cpx Zp01 ; CPU:$C46F PRG:446F E4 01 + cpx VramWritePtrHi ; CPU:$C46F PRG:446F E4 01 bcc IrqHandler_OnCarryClear5 ; CPU:$C471 PRG:4471 90 F5 lda #$3F ; CPU:$C473 PRG:4473 A9 3F sta PPUADDR ; CPU:$C475 PRG:4475 8D 06 20 @@ -2321,14 +2387,14 @@ IrqHandler_OnCarryClear5: sta PPUADDR ; CPU:$C480 PRG:4480 8D 06 20 jmp Sub_C48A ; CPU:$C483 PRG:4483 4C 8A C4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop25 -; Global: Branch target inside IrqHandler: taken when Loop25. +; Routine: IrqHandler_Loop26 +; Global: Branch target inside IrqHandler: taken when Loop26. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop25: +IrqHandler_Loop26: ldx #$10 ; CPU:$C486 PRG:4486 A2 10 bvs IrqHandler_OnOverflowSet3 ; CPU:$C488 PRG:4488 70 D6 ; ----------------------------------------------------------------------------- @@ -2343,12 +2409,81 @@ Sub_C48A: lda #$00 ; CPU:$C48A PRG:448A A9 00 sta Zp39 ; CPU:$C48C PRG:448C 85 39 rts ; CPU:$C48E PRG:448E 60 -; ---- data $C48F-$C4DA (76 bytes) ---- - .byte $A9, $05, $20, $AB, $C4, $A6, $00, $A5, $01, $9D, $10, $04, $A5, $02, $9D, $20 ; CPU:$C48F PRG:448F A9 05 20 AB C4 A6 00 A5 01 9D 10 04 A5 02 9D 20 - .byte $04, $A5, $03, $9D, $30, $04, $A5, $04, $9D, $00, $04, $60, $BA, $E8, $E8, $E8 ; CPU:$C49F PRG:449F 04 A5 03 9D 30 04 A5 04 9D 00 04 60 BA E8 E8 E8 - .byte $BC, $00, $01, $84, $10, $BC, $01, $01, $84, $11, $86, $12, $AA, $A0, $01, $B1 ; CPU:$C4AF PRG:44AF BC 00 01 84 10 BC 01 01 84 11 86 12 AA A0 01 B1 - .byte $10, $99, $FF, $FF, $C8, $CA, $D0, $F7, $88, $18, $98, $A6, $12, $65, $10, $9D ; CPU:$C4BF PRG:44BF 10 99 FF FF C8 CA D0 F7 88 18 98 A6 12 65 10 9D - .byte $00, $01, $90, $07, $A9, $00, $65, $11, $9D, $01, $01, $60 ; CPU:$C4CF PRG:44CF 00 01 90 07 A9 00 65 11 9D 01 01 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C48F +; Global: Branch target inside Label: taken when C48F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C48F: + lda #$05 ; CPU:$C48F PRG:448F A9 05 + jsr Sub_C4AB ; CPU:$C491 PRG:4491 20 AB C4 + ldx VramWritePtrLo ; CPU:$C494 PRG:4494 A6 00 + lda VramWritePtrHi ; CPU:$C496 PRG:4496 A5 01 + sta $0410,x ; CPU:$C498 PRG:4498 9D 10 04 + lda ControllerState ; CPU:$C49B PRG:449B A5 02 + sta $0420,x ; CPU:$C49D PRG:449D 9D 20 04 + lda Zp03 ; CPU:$C4A0 PRG:44A0 A5 03 + sta $0430,x ; CPU:$C4A2 PRG:44A2 9D 30 04 + lda Zp04 ; CPU:$C4A5 PRG:44A5 A5 04 + sta $0400,x ; CPU:$C4A7 PRG:44A7 9D 00 04 + rts ; CPU:$C4AA PRG:44AA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C4AB +; Global: Branch target inside Sub: taken when C4AB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C4AB: + tsx ; CPU:$C4AB PRG:44AB BA + inx ; CPU:$C4AC PRG:44AC E8 + inx ; CPU:$C4AD PRG:44AD E8 + inx ; CPU:$C4AE PRG:44AE E8 + ldy $0100,x ; CPU:$C4AF PRG:44AF BC 00 01 + sty Zp10 ; CPU:$C4B2 PRG:44B2 84 10 + ldy $0101,x ; CPU:$C4B4 PRG:44B4 BC 01 01 + sty Zp11 ; CPU:$C4B7 PRG:44B7 84 11 + stx Zp12 ; CPU:$C4B9 PRG:44B9 86 12 + tax ; CPU:$C4BB PRG:44BB AA + ldy #$01 ; CPU:$C4BC PRG:44BC A0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero4 +; Global: Branch target inside IrqHandler: taken when OnNonzero4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero4: + lda (Zp10),y ; CPU:$C4BE PRG:44BE B1 10 + sta $FFFF,y ; CPU:$C4C0 PRG:44C0 99 FF FF + iny ; CPU:$C4C3 PRG:44C3 C8 + dex ; CPU:$C4C4 PRG:44C4 CA + bne IrqHandler_OnNonzero4 ; CPU:$C4C5 PRG:44C5 D0 F7 + dey ; CPU:$C4C7 PRG:44C7 88 + clc ; CPU:$C4C8 PRG:44C8 18 + tya ; CPU:$C4C9 PRG:44C9 98 + ldx Zp12 ; CPU:$C4CA PRG:44CA A6 12 + adc Zp10 ; CPU:$C4CC PRG:44CC 65 10 + sta $0100,x ; CPU:$C4CE PRG:44CE 9D 00 01 + bcc IrqHandler_Loop27 ; CPU:$C4D1 PRG:44D1 90 07 + lda #$00 ; CPU:$C4D3 PRG:44D3 A9 00 + adc Zp11 ; CPU:$C4D5 PRG:44D5 65 11 + sta $0101,x ; CPU:$C4D7 PRG:44D7 9D 01 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop27 +; Global: Branch target inside IrqHandler: taken when Loop27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop27: + rts ; CPU:$C4DA PRG:44DA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4DB ; Global: Branch target inside Sub: taken when C4DB. @@ -2364,579 +2499,8101 @@ Sub_C4DB: inc $9BC4 ; CPU:$C4E2 PRG:44E2 EE C4 9B dec Zp9F ; CPU:$C4E5 PRG:44E5 C6 9F dec $C9BF ; CPU:$C4E7 PRG:44E7 CE BF C9 -; ---- data $C4EA-$E82E (9029 bytes) ---- -; referenced by `lda $E000` at $C010 (operand $E000 falls inside this region) -; referenced by `sta $E000` at $C013 (operand $E000 falls inside this region) -; referenced by `lda $E001` at $C174 (operand $E001 falls inside this region) -; referenced by `sta $E001` at $C177 (operand $E001 falls inside this region) -; referenced by `lda $E000` at $C17D (operand $E000 falls inside this region) -; referenced by `sta $E000` at $C180 (operand $E000 falls inside this region) -; ... and 1 further references from decoded code - .byte $14, $CD, $A1, $CD, $A5, $31, $20, $36, $C4, $01, $C5, $3D, $C5, $63, $C5, $01 ; CPU:$C4EA PRG:44EA 14 CD A1 CD A5 31 20 36 C4 01 C5 3D C5 63 C5 01 - .byte $03, $00, $00, $00, $00, $00, $00, $A2, $00, $BD, $F9, $C4, $95, $3E, $95, $4E ; CPU:$C4FA PRG:44FA 03 00 00 00 00 00 00 A2 00 BD F9 C4 95 3E 95 4E - .byte $E8, $E0, $10, $90, $F4, $A5, $24, $29, $FE, $85, $24, $A5, $36, $29, $BF, $85 ; CPU:$C50A PRG:450A E8 E0 10 90 F4 A5 24 29 FE 85 24 A5 36 29 BF 85 - .byte $36, $A9, $00, $85, $3C, $85, $8E, $20, $32, $DE, $24, $8D, $10, $05, $A2, $01 ; CPU:$C51A PRG:451A 36 A9 00 85 3C 85 8E 20 32 DE 24 8D 10 05 A2 01 - .byte $20, $54, $C6, $A9, $0A, $20, $46, $E7, $A9, $0B, $20, $46, $E7, $A9, $0C, $20 ; CPU:$C52A PRG:452A 20 54 C6 A9 0A 20 46 E7 A9 0B 20 46 E7 A9 0C 20 - .byte $46, $E7, $60, $E6, $CE, $A5, $CE, $C9, $3C, $B0, $01, $60, $20, $66, $C7, $A9 ; CPU:$C53A PRG:453A 46 E7 60 E6 CE A5 CE C9 3C B0 01 60 20 66 C7 A9 - .byte $0D, $20, $46, $E7, $A2, $58, $A0, $77, $A9, $3B, $8E, $10, $04, $8C, $20, $04 ; CPU:$C54A PRG:454A 0D 20 46 E7 A2 58 A0 77 A9 3B 8E 10 04 8C 20 04 - .byte $8D, $30, $04, $A9, $03, $8D, $00, $04, $60, $24, $8D, $10, $13, $A5, $2A, $29 ; CPU:$C55A PRG:455A 8D 30 04 A9 03 8D 00 04 60 24 8D 10 13 A5 2A 29 - .byte $20, $F0, $0D, $24, $28, $10, $09, $A2, $01, $86, $30, $A9, $00, $85, $31, $60 ; CPU:$C56A PRG:456A 20 F0 0D 24 28 10 09 A2 01 86 30 A9 00 85 31 60 - .byte $AE, $20, $04, $E0, $97, $D0, $3B, $A5, $28, $29, $30, $F0, $05, $A9, $77, $4C ; CPU:$C57A PRG:457A AE 20 04 E0 97 D0 3B A5 28 29 30 F0 05 A9 77 4C - .byte $1D, $C6, $A5, $28, $29, $42, $F0, $0D, $A5, $8E, $29, $7F, $A2, $0C, $A0, $20 ; CPU:$C58A PRG:458A 1D C6 A5 28 29 42 F0 0D A5 8E 29 7F A2 0C A0 20 - .byte $D0, $11, $4C, $B9, $C5, $A5, $28, $29, $81, $F0, $14, $A5, $8E, $09, $80, $A2 ; CPU:$C59A PRG:459A D0 11 4C B9 C5 A5 28 29 81 F0 14 A5 8E 09 80 A2 - .byte $20, $A0, $0C, $85, $8E, $8E, $8A, $01, $8C, $8B, $01, $A9, $80, $85, $39, $4C ; CPU:$C5AA PRG:45AA 20 A0 0C 85 8E 8E 8A 01 8C 8B 01 A9 80 85 39 4C - .byte $0D, $C6, $A5, $28, $29, $10, $F0, $3D, $A9, $01, $85, $4B, $85, $5B, $A9, $00 ; CPU:$C5BA PRG:45BA 0D C6 A5 28 29 10 F0 3D A9 01 85 4B 85 5B A9 00 - .byte $85, $8C, $A0, $01, $A9, $2D, $99, $18, $07, $C8, $C0, $07, $90, $F6, $A9, $30 ; CPU:$C5CA PRG:45CA 85 8C A0 01 A9 2D 99 18 07 C8 C0 07 90 F6 A9 30 - .byte $99, $18, $07, $A9, $00, $E0, $87, $D0, $05, $09, $80, $4C, $EA, $C5, $85, $4F ; CPU:$C5DA PRG:45DA 99 18 07 A9 00 E0 87 D0 05 09 80 4C EA C5 85 4F - .byte $85, $3C, $A2, $00, $24, $8D, $10, $06, $24, $2A, $50, $02, $A2, $80, $86, $89 ; CPU:$C5EA PRG:45EA 85 3C A2 00 24 8D 10 06 24 2A 50 02 A2 80 86 89 - .byte $A2, $03, $4C, $73, $C5, $A5, $28, $29, $24, $F0, $08, $AD, $20, $04, $18, $69 ; CPU:$C5FA PRG:45FA A2 03 4C 73 C5 A5 28 29 24 F0 08 AD 20 04 18 69 - .byte $10, $D0, $10, $A5, $28, $29, $08, $F0, $0D, $AD, $20, $04, $C9, $77, $F0, $06 ; CPU:$C60A PRG:460A 10 D0 10 A5 28 29 08 F0 0D AD 20 04 C9 77 F0 06 - .byte $38, $E9, $10, $8D, $20, $04, $24, $8D, $30, $01, $60, $A6, $3E, $A4, $CE, $A5 ; CPU:$C61A PRG:461A 38 E9 10 8D 20 04 24 8D 30 01 60 A6 3E A4 CE A5 - .byte $2A, $29, $02, $F0, $08, $C8, $C0, $10, $B0, $1B, $4C, $47, $C6, $A5, $2A, $29 ; CPU:$C62A PRG:462A 2A 29 02 F0 08 C8 C0 10 B0 1B 4C 47 C6 A5 2A 29 - .byte $01, $F0, $08, $C8, $C0, $10, $B0, $50, $4C, $47, $C6, $A0, $00, $84, $CE, $A5 ; CPU:$C63A PRG:463A 01 F0 08 C8 C0 10 B0 50 4C 47 C6 A0 00 84 CE A5 - .byte $28, $29, $02, $F0, $3D, $E0, $20, $B0, $01, $E8, $86, $3E, $8A, $A0, $00, $C9 ; CPU:$C64A PRG:464A 28 29 02 F0 3D E0 20 B0 01 E8 86 3E 8A A0 00 C9 - .byte $0A, $90, $07, $38, $E9, $0A, $C8, $4C, $59, $C6, $AA, $A9, $22, $8D, $00, $03 ; CPU:$C65A PRG:465A 0A 90 07 38 E9 0A C8 4C 59 C6 AA A9 22 8D 00 03 - .byte $A9, $90, $8D, $01, $03, $A9, $02, $8D, $02, $03, $98, $09, $30, $8D, $03, $03 ; CPU:$C66A PRG:466A A9 90 8D 01 03 A9 02 8D 02 03 98 09 30 8D 03 03 - .byte $8A, $09, $30, $8D, $04, $03, $A9, $00, $8D, $05, $03, $A9, $05, $85, $2E, $4C ; CPU:$C67A PRG:467A 8A 09 30 8D 04 03 A9 00 8D 05 03 A9 05 85 2E 4C - .byte $9A, $C6, $A5, $28, $29, $01, $F0, $08, $E0, $02, $90, $04, $CA, $4C, $54, $C6 ; CPU:$C68A PRG:468A 9A C6 A5 28 29 01 F0 08 E0 02 90 04 CA 4C 54 C6 - .byte $60, $A5, $31, $20, $36, $C4, $B0, $C6, $CD, $C6, $24, $C7, $71, $C7, $C6, $C8 ; CPU:$C69A PRG:469A 60 A5 31 20 36 C4 B0 C6 CD C6 24 C7 71 C7 C6 C8 - .byte $D7, $C8, $31, $C9, $50, $C9, $A9, $01, $20, $32, $DE, $A5, $24, $29, $FE, $85 ; CPU:$C6AA PRG:46AA D7 C8 31 C9 50 C9 A9 01 20 32 DE A5 24 29 FE 85 - .byte $24, $A9, $00, $85, $20, $A9, $00, $85, $22, $20, $46, $E7, $A2, $50, $A0, $67 ; CPU:$C6BA PRG:46BA 24 A9 00 85 20 A9 00 85 22 20 46 E7 A2 50 A0 67 - .byte $4C, $52, $C5, $A5, $28, $29, $10, $F0, $1C, $A2, $02, $AD, $20, $04, $C9, $7F ; CPU:$C6CA PRG:46CA 4C 52 C5 A5 28 29 10 F0 1C A2 02 AD 20 04 C9 7F - .byte $D0, $02, $A2, $04, $C9, $97, $D0, $02, $A2, $06, $86, $31, $A9, $00, $85, $33 ; CPU:$C6DA PRG:46DA D0 02 A2 04 C9 97 D0 02 A2 06 86 31 A9 00 85 33 - .byte $A9, $00, $85, $34, $60, $A2, $03, $A5, $32, $29, $0C, $D0, $01, $AA, $8E, $00 ; CPU:$C6EA PRG:46EA A9 00 85 34 60 A2 03 A5 32 29 0C D0 01 AA 8E 00 - .byte $04, $A5, $28, $29, $08, $F0, $0F, $AD, $20, $04, $C9, $67, $F0, $03, $38, $E9 ; CPU:$C6FA PRG:46FA 04 A5 28 29 08 F0 0F AD 20 04 C9 67 F0 03 38 E9 - .byte $18, $D0, $13, $4C, $23, $C7, $A5, $28, $29, $04, $F0, $0D, $AD, $20, $04, $C9 ; CPU:$C70A PRG:470A 18 D0 13 4C 23 C7 A5 28 29 04 F0 0D AD 20 04 C9 - .byte $97, $F0, $03, $18, $69, $18, $8D, $20, $04, $60, $A9, $00, $8D, $E0, $07, $A9 ; CPU:$C71A PRG:471A 97 F0 03 18 69 18 8D 20 04 60 A9 00 8D E0 07 A9 - .byte $02, $8D, $E1, $07, $A9, $00, $8D, $00, $04, $A5, $33, $18, $69, $04, $0A, $A0 ; CPU:$C72A PRG:472A 02 8D E1 07 A9 00 8D 00 04 A5 33 18 69 04 0A A0 - .byte $21, $90, $01, $C8, $8C, $00, $03, $8D, $01, $03, $A9, $10, $8D, $02, $03, $A5 ; CPU:$C73A PRG:473A 21 90 01 C8 8C 00 03 8D 01 03 A9 10 8D 02 03 A5 - .byte $33, $A2, $00, $9D, $03, $03, $18, $69, $01, $E8, $E0, $10, $90, $F5, $A9, $00 ; CPU:$C74A PRG:474A 33 A2 00 9D 03 03 18 69 01 E8 E0 10 90 F5 A9 00 - .byte $9D, $03, $03, $A5, $33, $18, $69, $10, $85, $33, $D0, $0A, $E6, $31, $A9, $00 ; CPU:$C75A PRG:475A 9D 03 03 A5 33 18 69 10 85 33 D0 0A E6 31 A9 00 - .byte $85, $CE, $85, $33, $85, $34, $60, $A5, $33, $D0, $06, $A5, $28, $29, $10, $F0 ; CPU:$C76A PRG:476A 85 CE 85 33 85 34 60 A5 33 D0 06 A5 28 29 10 F0 - .byte $32, $A5, $33, $18, $69, $04, $0A, $A0, $21, $90, $01, $C8, $8C, $00, $03, $8D ; CPU:$C77A PRG:477A 32 A5 33 18 69 04 0A A0 21 90 01 C8 8C 00 03 8D - .byte $01, $03, $A9, $10, $8D, $02, $03, $A9, $00, $AA, $9D, $03, $03, $E8, $E0, $10 ; CPU:$C78A PRG:478A 01 03 A9 10 8D 02 03 A9 00 AA 9D 03 03 E8 E0 10 - .byte $90, $F8, $9D, $03, $03, $A5, $33, $18, $69, $10, $85, $33, $D0, $04, $A9, $00 ; CPU:$C79A PRG:479A 90 F8 9D 03 03 A5 33 18 69 10 85 33 D0 04 A9 00 - .byte $85, $31, $60, $A6, $34, $A5, $28, $29, $0C, $F0, $13, $C9, $08, $90, $0A, $E8 ; CPU:$C7AA PRG:47AA 85 31 60 A6 34 A5 28 29 0C F0 13 C9 08 90 0A E8 - .byte $E0, $10, $90, $02, $A2, $00, $4C, $C8, $C7, $CA, $10, $02, $A2, $0F, $86, $34 ; CPU:$C7BA PRG:47BA E0 10 90 02 A2 00 4C C8 C7 CA 10 02 A2 0F 86 34 - .byte $A5, $2A, $29, $20, $D0, $4F, $20, $8A, $C8, $24, $28, $10, $23, $AC, $E0, $07 ; CPU:$C7CA PRG:47CA A5 2A 29 20 D0 4F 20 8A C8 24 28 10 23 AC E0 07 - .byte $C8, $C8, $C8, $C8, $8C, $E0, $07, $AC, $E1, $07, $C8, $C8, $C8, $C8, $8C, $E1 ; CPU:$C7DA PRG:47DA C8 C8 C8 C8 8C E0 07 AC E1 07 C8 C8 C8 C8 8C E1 - .byte $07, $EE, $E2, $07, $EE, $E3, $07, $EE, $E4, $07, $EE, $E5, $07, $4C, $1C, $C8 ; CPU:$C7EA PRG:47EA 07 EE E2 07 EE E3 07 EE E4 07 EE E5 07 4C 1C C8 - .byte $50, $20, $AC, $E0, $07, $88, $88, $88, $88, $8C, $E0, $07, $AC, $E1, $07, $88 ; CPU:$C7FA PRG:47FA 50 20 AC E0 07 88 88 88 88 8C E0 07 AC E1 07 88 - .byte $88, $88, $88, $8C, $E1, $07, $CE, $E2, $07, $CE, $E3, $07, $CE, $E4, $07, $CE ; CPU:$C80A PRG:480A 88 88 88 8C E1 07 CE E2 07 CE E3 07 CE E4 07 CE - .byte $E5, $07, $4C, $89, $C8, $24, $28, $10, $2C, $BD, $80, $01, $C9, $0C, $D0, $05 ; CPU:$C81A PRG:481A E5 07 4C 89 C8 24 28 10 2C BD 80 01 C9 0C D0 05 - .byte $A9, $0F, $4C, $82, $C8, $C9, $3C, $D0, $05, $A9, $00, $4C, $82, $C8, $29, $0F ; CPU:$C82A PRG:482A A9 0F 4C 82 C8 C9 3C D0 05 A9 00 4C 82 C8 29 0F - .byte $C9, $0C, $D0, $05, $A9, $04, $4C, $45, $C8, $A9, $01, $18, $7D, $80, $01, $4C ; CPU:$C83A PRG:483A C9 0C D0 05 A9 04 4C 45 C8 A9 01 18 7D 80 01 4C - .byte $82, $C8, $4C, $89, $C8, $50, $38, $BD, $80, $01, $C9, $00, $D0, $05, $A9, $3C ; CPU:$C84A PRG:484A 82 C8 4C 89 C8 50 38 BD 80 01 C9 00 D0 05 A9 3C - .byte $4C, $82, $C8, $C9, $10, $D0, $05, $A9, $0F, $4C, $82, $C8, $C9, $0F, $D0, $05 ; CPU:$C85A PRG:485A 4C 82 C8 C9 10 D0 05 A9 0F 4C 82 C8 C9 0F D0 05 - .byte $A9, $0C, $4C, $82, $C8, $29, $0F, $D0, $05, $A9, $04, $4C, $7A, $C8, $A9, $01 ; CPU:$C86A PRG:486A A9 0C 4C 82 C8 29 0F D0 05 A9 04 4C 7A C8 A9 01 - .byte $85, $01, $BD, $80, $01, $38, $E5, $01, $9D, $80, $01, $A9, $C0, $85, $39, $60 ; CPU:$C87A PRG:487A 85 01 BD 80 01 38 E5 01 9D 80 01 A9 C0 85 39 60 - .byte $A6, $20, $A4, $22, $A5, $2A, $4A, $90, $07, $4A, $E8, $F0, $0B, $4C, $AA, $C8 ; CPU:$C88A PRG:488A A6 20 A4 22 A5 2A 4A 90 07 4A E8 F0 0B 4C AA C8 - .byte $4A, $90, $0D, $CA, $E0, $FF, $D0, $08, $48, $A5, $24, $49, $01, $85, $24, $68 ; CPU:$C89A PRG:489A 4A 90 0D CA E0 FF D0 08 48 A5 24 49 01 85 24 68 - .byte $4A, $90, $0A, $C8, $C0, $F0, $90, $02, $A0, $00, $4C, $C1, $C8, $4A, $90, $07 ; CPU:$C8AA PRG:48AA 4A 90 0A C8 C0 F0 90 02 A0 00 4C C1 C8 4A 90 07 - .byte $88, $C0, $FF, $D0, $02, $A0, $EF, $86, $20, $84, $22, $60, $A9, $01, $20, $46 ; CPU:$C8BA PRG:48BA 88 C0 FF D0 02 A0 EF 86 20 84 22 60 A9 01 20 46 - .byte $E7, $20, $66, $C7, $A2, $80, $A0, $80, $A9, $00, $4C, $54, $C5, $A5, $28, $29 ; CPU:$C8CA PRG:48CA E7 20 66 C7 A2 80 A0 80 A9 00 4C 54 C5 A5 28 29 - .byte $10, $F0, $05, $A9, $00, $85, $31, $60, $A6, $34, $A5, $28, $29, $0C, $F0, $09 ; CPU:$C8DA PRG:48DA 10 F0 05 A9 00 85 31 60 A6 34 A5 28 29 0C F0 09 - .byte $C9, $08, $90, $04, $E8, $4C, $F3, $C8, $CA, $E0, $20, $90, $02, $A2, $10, $E0 ; CPU:$C8EA PRG:48EA C9 08 90 04 E8 4C F3 C8 CA E0 20 90 02 A2 10 E0 - .byte $10, $B0, $02, $A2, $1F, $86, $34, $A5, $2A, $29, $20, $F0, $03, $4C, $1F, $C8 ; CPU:$C8FA PRG:48FA 10 B0 02 A2 1F 86 34 A5 2A 29 20 F0 03 4C 1F C8 - .byte $24, $28, $10, $03, $EE, $30, $04, $50, $03, $CE, $30, $04, $A5, $2A, $4A, $90 ; CPU:$C90A PRG:490A 24 28 10 03 EE 30 04 50 03 CE 30 04 A5 2A 4A 90 - .byte $03, $EE, $10, $04, $4A, $90, $03, $CE, $10, $04, $4A, $90, $03, $EE, $20, $04 ; CPU:$C91A PRG:491A 03 EE 10 04 4A 90 03 CE 10 04 4A 90 03 EE 20 04 - .byte $4A, $90, $03, $CE, $20, $04, $60, $A9, $00, $8D, $00, $04, $A9, $02, $8D, $50 ; CPU:$C92A PRG:492A 4A 90 03 CE 20 04 60 A9 00 8D 00 04 A9 02 8D 50 - .byte $04, $A9, $30, $8D, $51, $04, $8D, $52, $04, $A9, $01, $20, $46, $E7, $A9, $02 ; CPU:$C93A PRG:493A 04 A9 30 8D 51 04 8D 52 04 A9 01 20 46 E7 A9 02 - .byte $20, $46, $E7, $4C, $66, $C7, $A5, $28, $29, $10, $F0, $0A, $A9, $01, $20, $46 ; CPU:$C94A PRG:494A 20 46 E7 4C 66 C7 A5 28 29 10 F0 0A A9 01 20 46 - .byte $E7, $A9, $00, $85, $31, $60, $A5, $28, $29, $0C, $F0, $36, $A0, $00, $84, $34 ; CPU:$C95A PRG:495A E7 A9 00 85 31 60 A5 28 29 0C F0 36 A0 00 84 34 - .byte $A6, $33, $C9, $08, $90, $08, $E0, $32, $B0, $01, $E8, $4C, $7D, $C9, $E0, $00 ; CPU:$C96A PRG:496A A6 33 C9 08 90 08 E0 32 B0 01 E8 4C 7D C9 E0 00 - .byte $F0, $01, $CA, $86, $33, $8A, $A0, $30, $C9, $0A, $90, $06, $38, $E9, $0A, $C8 ; CPU:$C97A PRG:497A F0 01 CA 86 33 8A A0 30 C9 0A 90 06 38 E9 0A C8 - .byte $D0, $F6, $8C, $51, $04, $09, $30, $8D, $52, $04, $A9, $02, $20, $46, $E7, $4C ; CPU:$C98A PRG:498A D0 F6 8C 51 04 09 30 8D 52 04 A9 02 20 46 E7 4C - .byte $AB, $C9, $A5, $2A, $29, $0C, $F0, $09, $A4, $34, $C8, $C0, $10, $B0, $C1, $84 ; CPU:$C99A PRG:499A AB C9 A5 2A 29 0C F0 09 A4 34 C8 C0 10 B0 C1 84 - .byte $34, $A5, $33, $C9, $0A, $90, $03, $18, $69, $36, $24, $28, $30, $04, $50, $04 ; CPU:$C9AA PRG:49AA 34 A5 33 C9 0A 90 03 18 69 36 24 28 30 04 50 04 - .byte $A9, $76, $85, $3A, $60, $A5, $31, $20, $36, $C4, $CA, $C9, $DA, $C9, $31, $CA ; CPU:$C9BA PRG:49BA A9 76 85 3A 60 A5 31 20 36 C4 CA C9 DA C9 31 CA - .byte $A5, $36, $09, $40, $85, $36, $A9, $FF, $20, $32, $DE, $A9, $00, $85, $32, $60 ; CPU:$C9CA PRG:49CA A5 36 09 40 85 36 A9 FF 20 32 DE A9 00 85 32 60 - .byte $24, $8C, $70, $07, $A2, $C0, $A9, $FF, $4C, $E9, $C9, $A2, $50, $A9, $60, $85 ; CPU:$C9DA PRG:49DA 24 8C 70 07 A2 C0 A9 FF 4C E9 C9 A2 50 A9 60 85 - .byte $01, $86, $02, $A6, $CE, $E8, $86, $CE, $E4, $02, $D0, $1C, $A9, $03, $8D, $00 ; CPU:$C9EA PRG:49EA 01 86 02 A6 CE E8 86 CE E4 02 D0 1C A9 03 8D 00 - .byte $04, $A9, $03, $8D, $01, $04, $A9, $03, $8D, $02, $04, $A9, $03, $8D, $03, $04 ; CPU:$C9FA PRG:49FA 04 A9 03 8D 01 04 A9 03 8D 02 04 A9 03 8D 03 04 - .byte $A9, $03, $8D, $04, $04, $4C, $7F, $D4, $E4, $01, $90, $0D, $A5, $8C, $09, $40 ; CPU:$CA0A PRG:4A0A A9 03 8D 04 04 4C 7F D4 E4 01 90 0D A5 8C 09 40 - .byte $85, $8C, $A9, $43, $85, $8B, $4C, $66, $C7, $60, $20, $F7, $25, $77, $31, $55 ; CPU:$CA1A PRG:4A1A 85 8C A9 43 85 8B 4C 66 C7 60 20 F7 25 77 31 55 - .byte $50, $32, $55, $50, $20, $20, $20, $A5, $28, $29, $10, $F0, $1C, $A5, $36, $49 ; CPU:$CA2A PRG:4A2A 50 32 55 50 20 20 20 A5 28 29 10 F0 1C A5 36 49 - .byte $80, $85, $36, $10, $0B, $20, $FF, $CB, $20, $B1, $CB, $A9, $72, $4C, $51, $CA ; CPU:$CA3A PRG:4A3A 80 85 36 10 0B 20 FF CB 20 B1 CB A9 72 4C 51 CA - .byte $A9, $06, $20, $68, $CA, $A9, $71, $85, $8F, $24, $36, $10, $5F, $A5, $32, $29 ; CPU:$CA4A PRG:4A4A A9 06 20 68 CA A9 71 85 8F 24 36 10 5F A5 32 29 - .byte $03, $D0, $14, $A2, $04, $A5, $32, $29, $07, $D0, $02, $E8, $E8, $8A, $24, $3C ; CPU:$CA5A PRG:4A5A 03 D0 14 A2 04 A5 32 29 07 D0 02 E8 E8 8A 24 3C - .byte $50, $02, $09, $01, $20, $46, $E7, $24, $8D, $30, $01, $60, $A6, $4B, $AD, $82 ; CPU:$CA6A PRG:4A6A 50 02 09 01 20 46 E7 24 8D 30 01 60 A6 4B AD 82 - .byte $01, $24, $28, $10, $18, $E0, $03, $F0, $11, $E6, $4B, $C9, $0F, $D0, $05, $A9 ; CPU:$CA7A PRG:4A7A 01 24 28 10 18 E0 03 F0 11 E6 4B C9 0F D0 05 A9 - .byte $00, $4C, $91, $CA, $18, $69, $10, $4C, $AB, $CA, $4C, $B2, $CA, $50, $19, $E0 ; CPU:$CA8A PRG:4A8A 00 4C 91 CA 18 69 10 4C AB CA 4C B2 CA 50 19 E0 - .byte $00, $F0, $15, $C6, $4B, $C9, $00, $D0, $05, $A9, $0F, $4C, $AB, $CA, $38, $E9 ; CPU:$CA9A PRG:4A9A 00 F0 15 C6 4B C9 00 D0 05 A9 0F 4C AB CA 38 E9 - .byte $10, $8D, $82, $01, $A9, $80, $85, $39, $60, $4C, $D1, $CA, $24, $8D, $10, $17 ; CPU:$CAAA PRG:4AAA 10 8D 82 01 A9 80 85 39 60 4C D1 CA 24 8D 10 17 - .byte $24, $28, $10, $13, $A5, $2A, $29, $20, $F0, $04, $A9, $03, $85, $3D, $A5, $2A ; CPU:$CABA PRG:4ABA 24 28 10 13 A5 2A 29 20 F0 04 A9 03 85 3D A5 2A - .byte $29, $40, $F0, $03, $20, $38, $DC, $A5, $32, $29, $07, $D0, $03, $20, $0F, $CC ; CPU:$CACA PRG:4ACA 29 40 F0 03 20 38 DC A5 32 29 07 D0 03 20 0F CC - .byte $A2, $02, $24, $8C, $10, $02, $A2, $06, $A5, $32, $29, $07, $D0, $06, $A5, $A2 ; CPU:$CADA PRG:4ADA A2 02 24 8C 10 02 A2 06 A5 32 29 07 D0 06 A5 A2 - .byte $09, $80, $85, $A2, $AD, $80, $04, $F0, $24, $C9, $03, $F0, $05, $B0, $1E, $20 ; CPU:$CAEA PRG:4AEA 09 80 85 A2 AD 80 04 F0 24 C9 03 F0 05 B0 1E 20 - .byte $4D, $CB, $A5, $3A, $D0, $0B, $CD, $05, $04, $D0, $06, $C5, $CF, $D0, $02, $86 ; CPU:$CAFA PRG:4AFA 4D CB A5 3A D0 0B CD 05 04 D0 06 C5 CF D0 02 86 - .byte $3A, $A5, $8C, $49, $80, $85, $8C, $20, $5C, $CC, $4C, $1A, $CB, $20, $B8, $CB ; CPU:$CB0A PRG:4B0A 3A A5 8C 49 80 85 8C 20 5C CC 4C 1A CB 20 B8 CB - .byte $A9, $66, $85, $FF, $20, $5A, $D5, $A5, $85, $D0, $0A, $20, $8E, $DC, $A5, $85 ; CPU:$CB1A PRG:4B1A A9 66 85 FF 20 5A D5 A5 85 D0 0A 20 8E DC A5 85 - .byte $D0, $03, $20, $4A, $D3, $20, $7F, $D4, $A5, $A5, $F0, $03, $20, $9B, $CC, $24 ; CPU:$CB2A PRG:4B2A D0 03 20 4A D3 20 7F D4 A5 A5 F0 03 20 9B CC 24 - .byte $A4, $10, $0F, $A5, $3F, $20, $B5, $E0, $E6, $3F, $A9, $00, $85, $A4, $A9, $03 ; CPU:$CB3A PRG:4B3A A4 10 0F A5 3F 20 B5 E0 E6 3F A9 00 85 A4 A9 03 - .byte $85, $3A, $60, $A2, $00, $24, $3C, $50, $02, $A2, $08, $AC, $A0, $04, $98, $DD ; CPU:$CB4A PRG:4B4A 85 3A 60 A2 00 24 3C 50 02 A2 08 AC A0 04 98 DD - .byte $E0, $04, $D0, $14, $AD, $A1, $04, $DD, $E1, $04, $D0, $0C, $A9, $FF, $9D, $E0 ; CPU:$CB5A PRG:4B5A E0 04 D0 14 AD A1 04 DD E1 04 D0 0C A9 FF 9D E0 - .byte $04, $A9, $FF, $9D, $E1, $04, $D0, $05, $E8, $E8, $4C, $58, $CB, $20, $38, $DC ; CPU:$CB6A PRG:4B6A 04 A9 FF 9D E1 04 D0 05 E8 E8 4C 58 CB 20 38 DC - .byte $A9, $01, $85, $7B, $85, $7D, $85, $7F, $85, $81, $A9, $03, $CD, $95, $01, $F0 ; CPU:$CB7A PRG:4B7A A9 01 85 7B 85 7D 85 7F 85 81 A9 03 CD 95 01 F0 - .byte $07, $8D, $95, $01, $A9, $40, $85, $39, $A9, $00, $85, $AD, $A9, $0F, $85, $CF ; CPU:$CB8A PRG:4B8A 07 8D 95 01 A9 40 85 39 A9 00 85 AD A9 0F 85 CF - .byte $A9, $00, $85, $AC, $AD, $7C, $04, $85, $AB, $F0, $04, $A9, $44, $85, $8B, $A5 ; CPU:$CB9A PRG:4B9A A9 00 85 AC AD 7C 04 85 AB F0 04 A9 44 85 8B A5 - .byte $45, $18, $69, $04, $85, $45, $60, $A6, $2E, $A9, $00, $4C, $C0, $CB, $A5, $A2 ; CPU:$CBAA PRG:4BAA 45 18 69 04 85 45 60 A6 2E A9 00 4C C0 CB A5 A2 - .byte $10, $42, $A6, $2E, $D0, $3E, $0A, $29, $03, $D0, $02, $A9, $01, $85, $A2, $85 ; CPU:$CBBA PRG:4BBA 10 42 A6 2E D0 3E 0A 29 03 D0 02 A9 01 85 A2 85 - .byte $01, $A0, $00, $24, $3C, $50, $02, $A0, $08, $B9, $E0, $04, $30, $18, $9D, $00 ; CPU:$CBCA PRG:4BCA 01 A0 00 24 3C 50 02 A0 08 B9 E0 04 30 18 9D 00 - .byte $03, $B9, $E1, $04, $9D, $01, $03, $A9, $01, $9D, $02, $03, $A5, $01, $9D, $03 ; CPU:$CBDA PRG:4BDA 03 B9 E1 04 9D 01 03 A9 01 9D 02 03 A5 01 9D 03 - .byte $03, $8A, $18, $69, $04, $AA, $C8, $C8, $98, $29, $07, $D0, $DC, $A9, $00, $9D ; CPU:$CBEA PRG:4BEA 03 8A 18 69 04 AA C8 C8 98 29 07 D0 DC A9 00 9D - .byte $00, $03, $86, $2E, $60, $A0, $00, $98, $24, $3C, $50, $04, $A0, $02, $A9, $03 ; CPU:$CBFA PRG:4BFA 00 03 86 2E 60 A0 00 98 24 3C 50 04 A0 02 A9 03 - .byte $85, $01, $4C, $29, $CC, $24, $3C, $50, $02, $A9, $02, $A8, $A5, $32, $29, $08 ; CPU:$CC0A PRG:4C0A 85 01 4C 29 CC 24 3C 50 02 A9 02 A8 A5 32 29 08 - .byte $F0, $05, $A9, $06, $4C, $27, $CC, $C0, $00, $F0, $02, $A9, $03, $85, $01, $A6 ; CPU:$CC1A PRG:4C1A F0 05 A9 06 4C 27 CC C0 00 F0 02 A9 03 85 01 A6 - .byte $2E, $B9, $24, $CA, $9D, $00, $03, $B9, $25, $CA, $9D, $01, $03, $A9, $03, $9D ; CPU:$CC2A PRG:4C2A 2E B9 24 CA 9D 00 03 B9 25 CA 9D 01 03 A9 03 9D - .byte $02, $03, $A4, $01, $B9, $28, $CA, $9D, $03, $03, $B9, $29, $CA, $9D, $04, $03 ; CPU:$CC3A PRG:4C3A 02 03 A4 01 B9 28 CA 9D 03 03 B9 29 CA 9D 04 03 - .byte $B9, $2A, $CA, $9D, $05, $03, $A9, $00, $9D, $06, $03, $8A, $18, $69, $06, $85 ; CPU:$CC4A PRG:4C4A B9 2A CA 9D 05 03 A9 00 9D 06 03 8A 18 69 06 85 - .byte $2E, $60, $A6, $2E, $AD, $A0, $04, $9D, $00, $03, $AD, $A1, $04, $9D, $01, $03 ; CPU:$CC5A PRG:4C5A 2E 60 A6 2E AD A0 04 9D 00 03 AD A1 04 9D 01 03 - .byte $A9, $01, $9D, $02, $03, $A9, $00, $9D, $03, $03, $A9, $00, $9D, $04, $03, $8A ; CPU:$CC6A PRG:4C6A A9 01 9D 02 03 A9 00 9D 03 03 A9 00 9D 04 03 8A - .byte $18, $69, $04, $85, $2E, $A5, $A5, $09, $80, $85, $A5, $C6, $3D, $D0, $11, $A9 ; CPU:$CC7A PRG:4C7A 18 69 04 85 2E A5 A5 09 80 85 A5 C6 3D D0 11 A9 - .byte $76, $85, $8B, $A9, $04, $85, $30, $A9, $00, $85, $31, $68, $68, $4C, $32, $CB ; CPU:$CC8A PRG:4C8A 76 85 8B A9 04 85 30 A9 00 85 31 68 68 4C 32 CB - .byte $60, $A5, $A5, $10, $02, $E6, $45, $29, $7F, $F0, $18, $85, $01, $29, $0F, $F0 ; CPU:$CC9A PRG:4C9A 60 A5 A5 10 02 E6 45 29 7F F0 18 85 01 29 0F F0 - .byte $05, $18, $65, $44, $85, $44, $A5, $01, $4A, $4A, $4A, $4A, $F0, $05, $18, $65 ; CPU:$CCAA PRG:4CAA 05 18 65 44 85 44 A5 01 4A 4A 4A 4A F0 05 18 65 - .byte $43, $85, $43, $A9, $00, $85, $A5, $A2, $05, $B5, $40, $C9, $0A, $90, $26, $E0 ; CPU:$CCBA PRG:4CBA 43 85 43 A9 00 85 A5 A2 05 B5 40 C9 0A 90 26 E0 - .byte $00, $D0, $07, $A9, $80, $85, $40, $4C, $EF, $CC, $38, $E9, $0A, $95, $40, $F6 ; CPU:$CCCA PRG:4CCA 00 D0 07 A9 80 85 40 4C EF CC 38 E9 0A 95 40 F6 - .byte $3F, $E0, $03, $D0, $10, $A5, $40, $D0, $0C, $C5, $41, $D0, $08, $A5, $42, $C9 ; CPU:$CCDA PRG:4CDA 3F E0 03 D0 10 A5 40 D0 0C C5 41 D0 08 A5 42 C9 - .byte $01, $D0, $02, $C6, $A4, $CA, $10, $D1, $E8, $B5, $40, $DD, $00, $07, $90, $17 ; CPU:$CCEA PRG:4CEA 01 D0 02 C6 A4 CA 10 D1 E8 B5 40 DD 00 07 90 17 - .byte $F0, $10, $B5, $40, $9D, $00, $07, $E8, $E0, $06, $90, $F6, $20, $2F, $E1, $4C ; CPU:$CCFA PRG:4CFA F0 10 B5 40 9D 00 07 E8 E0 06 90 F6 20 2F E1 4C - .byte $11, $CD, $E8, $E0, $06, $90, $E2, $4C, $29, $E1, $A5, $31, $20, $36, $C4, $1D ; CPU:$CD0A PRG:4D0A 11 CD E8 E0 06 90 E2 4C 29 E1 A5 31 20 36 C4 1D - .byte $CD, $3B, $CD, $A6, $CE, $D0, $0F, $20, $FF, $CB, $A2, $05, $A9, $00, $9D, $00 ; CPU:$CD1A PRG:4D1A CD 3B CD A6 CE D0 0F 20 FF CB A2 05 A9 00 9D 00 - .byte $04, $CA, $E0, $00, $D0, $F8, $E8, $86, $CE, $E0, $40, $90, $03, $4C, $66, $C7 ; CPU:$CD2A PRG:4D2A 04 CA E0 00 D0 F8 E8 86 CE E0 40 90 03 4C 66 C7 - .byte $60, $E6, $CE, $A5, $CE, $C9, $60, $90, $44, $A5, $47, $29, $7F, $85, $47, $A6 ; CPU:$CD3A PRG:4D3A 60 E6 CE A5 CE C9 60 90 44 A5 47 29 7F 85 47 A6 - .byte $3E, $E8, $E0, $21, $90, $02, $A2, $19, $86, $3E, $A0, $00, $E0, $03, $F0, $20 ; CPU:$CD4A PRG:4D4A 3E E8 E0 21 90 02 A2 19 86 3E A0 00 E0 03 F0 20 - .byte $C8, $E0, $06, $F0, $1B, $E0, $0E, $F0, $17, $E0, $16, $F0, $13, $E0, $1E, $F0 ; CPU:$CD5A PRG:4D5A C8 E0 06 F0 1B E0 0E F0 17 E0 16 F0 13 E0 1E F0 - .byte $0F, $C8, $E0, $0A, $F0, $0A, $C8, $E0, $12, $F0, $05, $C8, $E0, $1A, $D0, $07 ; CPU:$CD6A PRG:4D6A 0F C8 E0 0A F0 0A C8 E0 12 F0 05 C8 E0 1A D0 07 - .byte $84, $88, $A9, $02, $4C, $70, $CE, $4C, $6E, $CE, $4C, $A0, $CD, $29, $07, $D0 ; CPU:$CD7A PRG:4D7A 84 88 A9 02 4C 70 CE 4C 6E CE 4C A0 CD 29 07 D0 - .byte $15, $A5, $CE, $29, $08, $D0, $05, $A9, $20, $4C, $99, $CD, $AD, $77, $04, $8D ; CPU:$CD8A PRG:4D8A 15 A5 CE 29 08 D0 05 A9 20 4C 99 CD AD 77 04 8D - .byte $82, $01, $A9, $80, $85, $39, $60, $A5, $31, $20, $36, $C4, $AC, $CD, $30, $CE ; CPU:$CD9A PRG:4D9A 82 01 A9 80 85 39 60 A5 31 20 36 C4 AC CD 30 CE - .byte $88, $CE, $A6, $CE, $D0, $16, $20, $FF, $CB, $20, $B1, $CB, $A2, $05, $A9, $00 ; CPU:$CDAA PRG:4DAA 88 CE A6 CE D0 16 20 FF CB 20 B1 CB A2 05 A9 00 - .byte $E4, $86, $F0, $03, $9D, $00, $04, $CA, $E0, $00, $D0, $F4, $E8, $86, $CE, $E0 ; CPU:$CDBA PRG:4DBA E4 86 F0 03 9D 00 04 CA E0 00 D0 F4 E8 86 CE E0 - .byte $40, $90, $1A, $A6, $86, $A9, $00, $9D, $00, $04, $20, $E8, $CD, $A2, $01, $A9 ; CPU:$CDCA PRG:4DCA 40 90 1A A6 86 A9 00 9D 00 04 20 E8 CD A2 01 A9 - .byte $00, $85, $08, $A9, $07, $85, $09, $20, $F8, $CD, $4C, $66, $C7, $60, $A2, $09 ; CPU:$CDDA PRG:4DDA 00 85 08 A9 07 85 09 20 F8 CD 4C 66 C7 60 A2 09 - .byte $24, $3C, $50, $02, $A2, $11, $A9, $40, $85, $08, $A9, $00, $85, $09, $A0, $00 ; CPU:$CDEA PRG:4DEA 24 3C 50 02 A2 11 A9 40 85 08 A9 00 85 09 A0 00 - .byte $B1, $08, $10, $0E, $A9, $39, $9D, $08, $07, $E8, $C8, $C0, $07, $90, $F5, $4C ; CPU:$CDFA PRG:4DFA B1 08 10 0E A9 39 9D 08 07 E8 C8 C0 07 90 F5 4C - .byte $2F, $CE, $B1, $08, $D0, $0D, $A9, $2D, $9D, $08, $07, $E8, $C8, $C0, $06, $D0 ; CPU:$CE0A PRG:4E0A 2F CE B1 08 D0 0D A9 2D 9D 08 07 E8 C8 C0 06 D0 - .byte $F1, $F0, $0D, $B1, $08, $09, $30, $9D, $08, $07, $E8, $C8, $C0, $06, $90, $F3 ; CPU:$CE1A PRG:4E1A F1 F0 0D B1 08 09 30 9D 08 07 E8 C8 C0 06 90 F3 - .byte $A9, $30, $9D, $08, $07, $60, $E6, $CE, $A5, $CE, $C9, $60, $90, $43, $A5, $47 ; CPU:$CE2A PRG:4E2A A9 30 9D 08 07 60 E6 CE A5 CE C9 60 90 43 A5 47 - .byte $09, $80, $85, $47, $A4, $3F, $88, $84, $3F, $84, $02, $A5, $3C, $85, $01, $10 ; CPU:$CE3A PRG:4E3A 09 80 85 47 A4 3F 88 84 3F 84 02 A5 3C 85 01 10 - .byte $17, $A6, $4F, $F0, $13, $49, $40, $85, $3C, $A2, $00, $B4, $4D, $B5, $3D, $95 ; CPU:$CE4A PRG:4E4A 17 A6 4F F0 13 49 40 85 3C A2 00 B4 4D B5 3D 95 - .byte $4D, $94, $3D, $E8, $E0, $10, $90, $F3, $A5, $02, $D0, $08, $A9, $3A, $20, $BA ; CPU:$CE5A PRG:4E5A 4D 94 3D E8 E0 10 90 F3 A5 02 D0 08 A9 3A 20 BA - .byte $DF, $4C, $66, $C7, $A9, $03, $85, $30, $A9, $00, $85, $31, $85, $CE, $4C, $87 ; CPU:$CE6A PRG:4E6A DF 4C 66 C7 A9 03 85 30 A9 00 85 31 85 CE 4C 87 - .byte $CE, $4A, $29, $0C, $24, $3C, $50, $02, $09, $40, $8D, $30, $04, $60, $E6, $CE ; CPU:$CE7A PRG:4E7A CE 4A 29 0C 24 3C 50 02 09 40 8D 30 04 60 E6 CE - .byte $A5, $CE, $C9, $60, $90, $0E, $A5, $3F, $05, $4F, $D0, $D8, $A9, $00, $85, $30 ; CPU:$CE8A PRG:4E8A A5 CE C9 60 90 0E A5 3F 05 4F D0 D8 A9 00 85 30 - .byte $85, $31, $85, $CE, $60, $A5, $31, $20, $36, $C4, $AA, $CE, $B6, $CE, $41, $CF ; CPU:$CE9A PRG:4E9A 85 31 85 CE 60 A5 31 20 36 C4 AA CE B6 CE 41 CF - .byte $A5, $36, $29, $BF, $85, $36, $A9, $02, $20, $32, $DE, $60, $E6, $CE, $A5, $CE ; CPU:$CEAA PRG:4EAA A5 36 29 BF 85 36 A9 02 20 32 DE 60 E6 CE A5 CE - .byte $C9, $80, $90, $27, $A9, $00, $A2, $01, $9D, $50, $04, $E8, $E0, $11, $90, $F8 ; CPU:$CEBA PRG:4EBA C9 80 90 27 A9 00 A2 01 9D 50 04 E8 E0 11 90 F8 - .byte $20, $66, $C7, $A9, $00, $85, $EE, $85, $EF, $A6, $88, $BD, $E6, $CE, $85, $8B ; CPU:$CECA PRG:4ECA 20 66 C7 A9 00 85 EE 85 EF A6 88 BD E6 CE 85 8B - .byte $A9, $08, $24, $3C, $50, $02, $A9, $09, $20, $46, $E7, $60, $42, $49, $48, $48 ; CPU:$CEDA PRG:4EDA A9 08 24 3C 50 02 A9 09 20 46 E7 60 42 49 48 48 - .byte $48, $48, $03, $03, $03, $03, $00, $FC, $FC, $FC, $FC, $80, $50, $50, $A0, $A0 ; CPU:$CEEA PRG:4EEA 48 48 03 03 03 03 00 FC FC FC FC 80 50 50 A0 A0 - .byte $34, $04, $12, $16, $4C, $50, $20, $20, $22, $20, $20, $03, $03, $03, $03, $FC ; CPU:$CEFA PRG:4EFA 34 04 12 16 4C 50 20 20 22 20 20 03 03 03 03 FC - .byte $FC, $FC, $FC, $80, $80, $80, $80, $0C, $16, $12, $44, $20, $20, $22, $20, $03 ; CPU:$CF0A PRG:4F0A FC FC FC 80 80 80 80 0C 16 12 44 20 20 22 20 03 - .byte $03, $FC, $FC, $40, $40, $0C, $4C, $20, $20, $03, $03, $FC, $FC, $B0, $B0, $04 ; CPU:$CF1A PRG:4F1A 03 FC FC 40 40 0C 4C 20 20 03 03 FC FC B0 B0 04 - .byte $44, $20, $20, $03, $00, $00, $00, $FF, $88, $12, $08, $30, $30, $C4, $C4, $54 ; CPU:$CF2A PRG:4F2A 44 20 20 03 00 00 00 FF 88 12 08 30 30 C4 C4 54 - .byte $52, $58, $58, $20, $20, $20, $20, $24, $8D, $10, $11, $A5, $28, $29, $10, $F0 ; CPU:$CF3A PRG:4F3A 52 58 58 20 20 20 20 24 8D 10 11 A5 28 29 10 F0 - .byte $06, $A5, $36, $49, $80, $85, $36, $24, $36, $10, $01, $60, $A6, $EF, $E8, $E0 ; CPU:$CF4A PRG:4F4A 06 A5 36 49 80 85 36 24 36 10 01 60 A6 EF E8 E0 - .byte $3C, $90, $04, $E6, $EE, $A2, $00, $86, $EF, $A5, $88, $0A, $A8, $B9, $74, $CF ; CPU:$CF5A PRG:4F5A 3C 90 04 E6 EE A2 00 86 EF A5 88 0A A8 B9 74 CF - .byte $85, $08, $B9, $75, $CF, $85, $09, $6C, $08, $00, $81, $CF, $9C, $D1, $82, $D2 ; CPU:$CF6A PRG:4F6A 85 08 B9 75 CF 85 09 6C 08 00 81 CF 9C D1 82 D2 - .byte $82, $D2, $82, $D2, $4C, $6E, $CE, $A2, $03, $20, $17, $D1, $A4, $EC, $A5, $EE ; CPU:$CF7A PRG:4F7A 82 D2 82 D2 4C 6E CE A2 03 20 17 D1 A4 EC A5 EE - .byte $D9, $A7, $CF, $D0, $0B, $A5, $EF, $D9, $A8, $CF, $D0, $02, $C8, $C8, $84, $EC ; CPU:$CF8A PRG:4F8A D9 A7 CF D0 0B A5 EF D9 A8 CF D0 02 C8 C8 84 EC - .byte $B9, $BF, $CF, $85, $08, $B9, $C0, $CF, $85, $09, $6C, $08, $00, $00, $02, $00 ; CPU:$CF9A PRG:4F9A B9 BF CF 85 08 B9 C0 CF 85 09 6C 08 00 00 02 00 - .byte $24, $02, $34, $03, $1B, $03, $1C, $03, $33, $04, $2F, $05, $0B, $05, $16, $05 ; CPU:$CFAA PRG:4FAA 24 02 34 03 1B 03 1C 03 33 04 2F 05 0B 05 16 05 - .byte $20, $05, $21, $09, $00, $64, $D0, $96, $D1, $93, $D1, $5B, $D1, $5C, $D0, $8D ; CPU:$CFBA PRG:4FBA 20 05 21 09 00 64 D0 96 D1 93 D1 5B D1 5C D0 8D - .byte $D1, $8A, $D1, $8A, $D0, $CD, $D0, $FD, $D0, $A4, $D0, $BC, $D0, $7E, $CF, $20 ; CPU:$CFCA PRG:4FCA D1 8A D1 8A D0 CD D0 FD D0 A4 D0 BC D0 7E CF 20 - .byte $54, $D0, $A9, $C0, $8D, $20, $04, $8D, $21, $04, $60, $20, $4C, $D0, $A9, $50 ; CPU:$CFDA PRG:4FDA 54 D0 A9 C0 8D 20 04 8D 21 04 60 20 4C D0 A9 50 - .byte $8D, $20, $04, $8D, $21, $04, $60, $20, $54, $D0, $A9, $70, $8D, $20, $04, $8D ; CPU:$CFEA PRG:4FEA 8D 20 04 8D 21 04 60 20 54 D0 A9 70 8D 20 04 8D - .byte $21, $04, $60, $A9, $04, $85, $01, $A0, $41, $20, $6A, $D0, $A9, $03, $A6, $88 ; CPU:$CFFA PRG:4FFA 21 04 60 A9 04 85 01 A0 41 20 6A D0 A9 03 A6 88 - .byte $E0, $03, $90, $10, $F0, $06, $8D, $03, $04, $4C, $1B, $D0, $A2, $10, $8E, $12 ; CPU:$D00A PRG:500A E0 03 90 10 F0 06 8D 03 04 4C 1B D0 A2 10 8E 12 - .byte $04, $8D, $02, $04, $A2, $00, $BD, $3D, $D0, $E0, $00, $F0, $04, $E0, $07, $D0 ; CPU:$D01A PRG:501A 04 8D 02 04 A2 00 BD 3D D0 E0 00 F0 04 E0 07 D0 - .byte $06, $24, $3C, $50, $02, $09, $04, $9D, $00, $03, $E8, $C9, $00, $D0, $E7, $CA ; CPU:$D02A PRG:502A 06 24 3C 50 02 09 04 9D 00 03 E8 C9 00 D0 E7 CA - .byte $86, $2E, $60, $23, $03, $04, $5C, $5D, $3C, $3D, $23, $23, $04, $5E, $5F, $3E ; CPU:$D03A PRG:503A 86 2E 60 23 03 04 5C 5D 3C 3D 23 23 04 5E 5F 3E - .byte $3F, $00, $A9, $02, $85, $01, $A0, $37, $D0, $16, $A9, $02, $85, $01, $A0, $2D ; CPU:$D04A PRG:504A 3F 00 A9 02 85 01 A0 37 D0 16 A9 02 85 01 A0 2D - .byte $D0, $0E, $A9, $04, $85, $01, $A0, $19, $D0, $06, $A9, $05, $85, $01, $A0, $00 ; CPU:$D05A PRG:505A D0 0E A9 04 85 01 A0 19 D0 06 A9 05 85 01 A0 00 - .byte $A2, $00, $B9, $EC, $CE, $C8, $9D, $00, $04, $E8, $8A, $29, $0F, $C5, $01, $90 ; CPU:$D06A PRG:506A A2 00 B9 EC CE C8 9D 00 04 E8 8A 29 0F C5 01 90 - .byte $0B, $8A, $29, $F0, $18, $69, $10, $C9, $50, $B0, $04, $AA, $4C, $6C, $D0, $60 ; CPU:$D07A PRG:507A 0B 8A 29 F0 18 69 10 C9 50 B0 04 AA 4C 6C D0 60 - .byte $A9, $00, $85, $ED, $AD, $30, $04, $29, $F3, $8D, $30, $04, $AD, $33, $04, $29 ; CPU:$D08A PRG:508A A9 00 85 ED AD 30 04 29 F3 8D 30 04 AD 33 04 29 - .byte $F3, $8D, $33, $04, $20, $04, $D1, $4C, $55, $D1, $A9, $00, $8D, $01, $04, $8D ; CPU:$D09A PRG:509A F3 8D 33 04 20 04 D1 4C 55 D1 A9 00 8D 01 04 8D - .byte $02, $04, $A9, $03, $8D, $04, $04, $A9, $0C, $8D, $30, $04, $A9, $44, $8D, $33 ; CPU:$D0AA PRG:50AA 02 04 A9 03 8D 04 04 A9 0C 8D 30 04 A9 44 8D 33 - .byte $04, $60, $A5, $32, $29, $07, $D0, $08, $AD, $34, $04, $49, $01, $8D, $34, $04 ; CPU:$D0BA PRG:50BA 04 60 A5 32 29 07 D0 08 AD 34 04 49 01 8D 34 04 - .byte $4C, $B1, $D0, $A6, $ED, $E8, $86, $ED, $E0, $04, $B0, $09, $CE, $21, $04, $CE ; CPU:$D0CA PRG:50CA 4C B1 D0 A6 ED E8 86 ED E0 04 B0 09 CE 21 04 CE - .byte $22, $04, $4C, $FD, $D0, $E0, $08, $B0, $08, $A5, $32, $4A, $B0, $EE, $4C, $FD ; CPU:$D0DA PRG:50DA 22 04 4C FD D0 E0 08 B0 08 A5 32 4A B0 EE 4C FD - .byte $D0, $E0, $0C, $B0, $08, $A5, $32, $4A, $B0, $03, $4C, $FD, $D0, $EE, $21, $04 ; CPU:$D0EA PRG:50EA D0 E0 0C B0 08 A5 32 4A B0 03 4C FD D0 EE 21 04 - .byte $EE, $22, $04, $20, $04, $D1, $20, $5B, $D1, $60, $CE, $20, $04, $CE, $23, $04 ; CPU:$D0FA PRG:50FA EE 22 04 20 04 D1 20 5B D1 60 CE 20 04 CE 23 04 - .byte $A5, $32, $29, $01, $D0, $06, $CE, $20, $04, $CE, $23, $04, $60, $A5, $32, $29 ; CPU:$D10A PRG:510A A5 32 29 01 D0 06 CE 20 04 CE 23 04 60 A5 32 29 - .byte $07, $D0, $10, $AD, $31, $04, $49, $01, $8D, $31, $04, $AD, $32, $04, $49, $01 ; CPU:$D11A PRG:511A 07 D0 10 AD 31 04 49 01 8D 31 04 AD 32 04 49 01 - .byte $8D, $32, $04, $A5, $32, $29, $01, $D0, $21, $AD, $30, $04, $85, $01, $E6, $01 ; CPU:$D12A PRG:512A 8D 32 04 A5 32 29 01 D0 21 AD 30 04 85 01 E6 01 - .byte $A5, $01, $29, $03, $85, $01, $AD, $30, $04, $29, $FC, $05, $01, $8D, $30, $04 ; CPU:$D13A PRG:513A A5 01 29 03 85 01 AD 30 04 29 FC 05 01 8D 30 04 - .byte $BD, $30, $04, $29, $FC, $05, $01, $9D, $30, $04, $60, $A2, $02, $A0, $01, $D0 ; CPU:$D14A PRG:514A BD 30 04 29 FC 05 01 9D 30 04 60 A2 02 A0 01 D0 - .byte $04, $A2, $01, $A0, $02, $BD, $10, $04, $38, $E9, $01, $9D, $10, $04, $B9, $10 ; CPU:$D15A PRG:515A 04 A2 01 A0 02 BD 10 04 38 E9 01 9D 10 04 B9 10 - .byte $04, $18, $69, $01, $99, $10, $04, $A5, $32, $29, $01, $D0, $12, $BD, $10, $04 ; CPU:$D16A PRG:516A 04 18 69 01 99 10 04 A5 32 29 01 D0 12 BD 10 04 - .byte $38, $E9, $01, $9D, $10, $04, $B9, $10, $04, $18, $69, $01, $99, $10, $04, $60 ; CPU:$D17A PRG:517A 38 E9 01 9D 10 04 B9 10 04 18 69 01 99 10 04 60 - .byte $20, $55, $D1, $A2, $03, $A0, $00, $F0, $CC, $20, $5B, $D1, $A2, $00, $A0, $03 ; CPU:$D18A PRG:518A 20 55 D1 A2 03 A0 00 F0 CC 20 5B D1 A2 00 A0 03 - .byte $D0, $C3, $A2, $01, $20, $2D, $D1, $A4, $EC, $A5, $EE, $D9, $C2, $D1, $D0, $0B ; CPU:$D19A PRG:519A D0 C3 A2 01 20 2D D1 A4 EC A5 EE D9 C2 D1 D0 0B - .byte $A5, $EF, $D9, $C3, $D1, $D0, $02, $C8, $C8, $84, $EC, $B9, $EC, $D1, $85, $08 ; CPU:$D1AA PRG:51AA A5 EF D9 C3 D1 D0 02 C8 C8 84 EC B9 EC D1 85 08 - .byte $B9, $ED, $D1, $85, $09, $6C, $08, $00, $02, $02, $02, $25, $04, $34, $05, $1C ; CPU:$D1BA PRG:51BA B9 ED D1 85 09 6C 08 00 02 02 02 25 04 34 05 1C - .byte $07, $1D, $08, $06, $0A, $13, $0A, $37, $0C, $38, $0D, $21, $0F, $2E, $10, $18 ; CPU:$D1CA PRG:51CA 07 1D 08 06 0A 13 0A 37 0C 38 0D 21 0F 2E 10 18 - .byte $11, $19, $11, $2E, $12, $1D, $12, $31, $13, $34, $14, $0D, $14, $38, $15, $10 ; CPU:$D1DA PRG:51DA 11 19 11 2E 12 1D 12 31 13 34 14 0D 14 38 15 10 - .byte $15, $38, $54, $D0, $1B, $D2, $18, $D2, $1F, $D2, $4C, $D0, $41, $D2, $3A, $D2 ; CPU:$D1EA PRG:51EA 15 38 54 D0 1B D2 18 D2 1F D2 4C D0 41 D2 3A D2 - .byte $3D, $D2, $F1, $CF, $1B, $D2, $18, $D2, $1F, $D2, $E5, $CF, $76, $D2, $6F, $D2 ; CPU:$D1FA PRG:51FA 3D D2 F1 CF 1B D2 18 D2 1F D2 E5 CF 76 D2 6F D2 - .byte $72, $D2, $D9, $CF, $5F, $D2, $5C, $D2, $63, $D2, $39, $D2, $7E, $CF, $20, $1F ; CPU:$D20A PRG:520A 72 D2 D9 CF 5F D2 5C D2 63 D2 39 D2 7E CF 20 1F - .byte $D2, $A2, $00, $F0, $02, $A2, $01, $BD, $10, $04, $18, $69, $01, $9D, $10, $04 ; CPU:$D21A PRG:521A D2 A2 00 F0 02 A2 01 BD 10 04 18 69 01 9D 10 04 - .byte $A5, $32, $29, $01, $D0, $09, $BD, $10, $04, $18, $69, $01, $9D, $10, $04, $60 ; CPU:$D22A PRG:522A A5 32 29 01 D0 09 BD 10 04 18 69 01 9D 10 04 60 - .byte $20, $41, $D2, $A2, $00, $F0, $02, $A2, $01, $BD, $10, $04, $38, $E9, $01, $9D ; CPU:$D23A PRG:523A 20 41 D2 A2 00 F0 02 A2 01 BD 10 04 38 E9 01 9D - .byte $10, $04, $A5, $32, $29, $01, $D0, $09, $BD, $10, $04, $38, $E9, $01, $9D, $10 ; CPU:$D24A PRG:524A 10 04 A5 32 29 01 D0 09 BD 10 04 38 E9 01 9D 10 - .byte $04, $60, $20, $63, $D2, $A2, $00, $F0, $02, $A2, $01, $BD, $10, $04, $18, $69 ; CPU:$D25A PRG:525A 04 60 20 63 D2 A2 00 F0 02 A2 01 BD 10 04 18 69 - .byte $04, $9D, $10, $04, $60, $20, $76, $D2, $A2, $00, $F0, $02, $A2, $01, $BD, $10 ; CPU:$D26A PRG:526A 04 9D 10 04 60 20 76 D2 A2 00 F0 02 A2 01 BD 10 - .byte $04, $38, $E9, $04, $9D, $10, $04, $60, $A4, $EC, $A5, $EE, $D9, $A3, $D2, $D0 ; CPU:$D27A PRG:527A 04 38 E9 04 9D 10 04 60 A4 EC A5 EE D9 A3 D2 D0 - .byte $0B, $A5, $EF, $D9, $A4, $D2, $D0, $02, $C8, $C8, $84, $EC, $B9, $B3, $D2, $85 ; CPU:$D28A PRG:528A 0B A5 EF D9 A4 D2 D0 02 C8 C8 84 EC B9 B3 D2 85 - .byte $08, $B9, $B4, $D2, $85, $09, $6C, $08, $00, $00, $02, $02, $04, $03, $2C, $03 ; CPU:$D29A PRG:529A 08 B9 B4 D2 85 09 6C 08 00 00 02 02 04 03 2C 03 - .byte $38, $04, $25, $04, $38, $05, $20, $07, $20, $FD, $CF, $0A, $D3, $D3, $D2, $28 ; CPU:$D2AA PRG:52AA 38 04 25 04 38 05 20 07 20 FD CF 0A D3 D3 D2 28 - .byte $D3, $0A, $D3, $C5, $D2, $CC, $D2, $0A, $D3, $7E, $CF, $A9, $53, $8D, $31, $04 ; CPU:$D2BA PRG:52BA D3 0A D3 C5 D2 CC D2 0A D3 7E CF A9 53 8D 31 04 - .byte $D0, $3E, $A9, $53, $8D, $31, $04, $D0, $37, $A9, $00, $85, $ED, $AD, $30, $04 ; CPU:$D2CA PRG:52CA D0 3E A9 53 8D 31 04 D0 37 A9 00 85 ED AD 30 04 - .byte $09, $02, $8D, $30, $04, $A9, $03, $8D, $01, $04, $EE, $21, $04, $A5, $32, $29 ; CPU:$D2DA PRG:52DA 09 02 8D 30 04 A9 03 8D 01 04 EE 21 04 A5 32 29 - .byte $01, $D0, $1D, $EE, $21, $04, $CE, $11, $04, $AE, $11, $04, $EC, $12, $04, $B0 ; CPU:$D2EA PRG:52EA 01 D0 1D EE 21 04 CE 11 04 AE 11 04 EC 12 04 B0 - .byte $05, $A9, $59, $8D, $32, $04, $EC, $13, $04, $B0, $05, $A9, $59, $8D, $33, $04 ; CPU:$D2FA PRG:52FA 05 A9 59 8D 32 04 EC 13 04 B0 05 A9 59 8D 33 04 - .byte $CE, $10, $04, $AE, $10, $04, $E0, $FF, $D0, $05, $A9, $00, $8D, $00, $04, $A5 ; CPU:$D30A PRG:530A CE 10 04 AE 10 04 E0 FF D0 05 A9 00 8D 00 04 A5 - .byte $32, $29, $07, $D0, $08, $AD, $30, $04, $49, $01, $8D, $30, $04, $60, $A5, $32 ; CPU:$D31A PRG:531A 32 29 07 D0 08 AD 30 04 49 01 8D 30 04 60 A5 32 - .byte $29, $01, $D0, $03, $CE, $11, $04, $A6, $ED, $E8, $86, $ED, $E0, $06, $B0, $06 ; CPU:$D32A PRG:532A 29 01 D0 03 CE 11 04 A6 ED E8 86 ED E0 06 B0 06 - .byte $CE, $21, $04, $4C, $43, $D3, $EE, $21, $04, $4C, $0A, $D3, $03, $01, $02, $00 ; CPU:$D33A PRG:533A CE 21 04 4C 43 D3 EE 21 04 4C 0A D3 03 01 02 00 - .byte $A5, $2A, $24, $3C, $50, $0D, $24, $8D, $10, $07, $A6, $2B, $D0, $03, $4C, $5D ; CPU:$D34A PRG:534A A5 2A 24 3C 50 0D 24 8D 10 07 A6 2B D0 03 4C 5D - .byte $D3, $A5, $2B, $85, $8A, $20, $18, $D4, $90, $07, $A5, $78, $29, $FC, $85, $78 ; CPU:$D35A PRG:535A D3 A5 2B 85 8A 20 18 D4 90 07 A5 78 29 FC 85 78 - .byte $60, $A2, $00, $A5, $CF, $F0, $02, $A2, $02, $B5, $DC, $85, $D0, $B5, $DD, $85 ; CPU:$D36A PRG:536A 60 A2 00 A5 CF F0 02 A2 02 B5 DC 85 D0 B5 DD 85 - .byte $D1, $A5, $78, $85, $01, $A5, $32, $29, $01, $D0, $08, $E6, $01, $A5, $01, $29 ; CPU:$D37A PRG:537A D1 A5 78 85 01 A5 32 29 01 D0 08 E6 01 A5 01 29 - .byte $03, $85, $01, $A5, $5F, $0A, $0A, $29, $FC, $05, $01, $24, $3C, $50, $02, $09 ; CPU:$D38A PRG:538A 03 85 01 A5 5F 0A 0A 29 FC 05 01 24 3C 50 02 09 - .byte $40, $85, $78, $A5, $5F, $0A, $AA, $BD, $AE, $D3, $85, $08, $BD, $AF, $D3, $85 ; CPU:$D39A PRG:539A 40 85 78 A5 5F 0A AA BD AE D3 85 08 BD AF D3 85 - .byte $09, $6C, $08, $00, $B6, $D3, $BB, $D3, $D2, $D3, $D7, $D3, $A0, $02, $4C, $BD ; CPU:$D3AA PRG:53AA 09 6C 08 00 B6 D3 BB D3 D2 D3 D7 D3 A0 02 4C BD - .byte $D3, $A0, $00, $B9, $61, $00, $38, $E5, $D0, $99, $61, $00, $B9, $60, $00, $85 ; CPU:$D3BA PRG:53BA D3 A0 00 B9 61 00 38 E5 D0 99 61 00 B9 60 00 85 - .byte $01, $E5, $D1, $99, $60, $00, $D0, $1A, $A0, $02, $4C, $D9, $D3, $A0, $00, $B9 ; CPU:$D3CA PRG:53CA 01 E5 D1 99 60 00 D0 1A A0 02 4C D9 D3 A0 00 B9 - .byte $61, $00, $18, $65, $D0, $99, $61, $00, $B9, $60, $00, $85, $01, $65, $D1, $99 ; CPU:$D3DA PRG:53DA 61 00 18 65 D0 99 61 00 B9 60 00 85 01 65 D1 99 - .byte $60, $00, $A5, $60, $C9, $A2, $90, $0A, $C9, $AF, $90, $04, $A9, $02, $85, $60 ; CPU:$D3EA PRG:53EA 60 00 A5 60 C9 A2 90 0A C9 AF 90 04 A9 02 85 60 - .byte $D0, $0C, $C9, $0D, $B0, $0D, $C9, $02, $B0, $04, $A9, $AE, $85, $60, $A9, $20 ; CPU:$D3FA PRG:53FA D0 0C C9 0D B0 0D C9 02 B0 04 A9 AE 85 60 A9 20 - .byte $4C, $0F, $D4, $A9, $00, $24, $89, $10, $02, $09, $03, $85, $79, $60, $A2, $00 ; CPU:$D40A PRG:540A 4C 0F D4 A9 00 24 89 10 02 09 03 85 79 60 A2 00 - .byte $A5, $60, $30, $07, $C9, $10, $90, $07, $4C, $30, $D4, $C9, $A1, $90, $07, $A5 ; CPU:$D41A PRG:541A A5 60 30 07 C9 10 90 07 4C 30 D4 C9 A1 90 07 A5 - .byte $8A, $29, $F3, $85, $8A, $CA, $86, $06, $A2, $00, $A5, $60, $05, $62, $29, $07 ; CPU:$D42A PRG:542A 8A 29 F3 85 8A CA 86 06 A2 00 A5 60 05 62 29 07 - .byte $D0, $01, $CA, $86, $07, $A5, $8A, $29, $0F, $F0, $25, $A2, $FF, $E8, $4A, $90 ; CPU:$D43A PRG:543A D0 01 CA 86 07 A5 8A 29 0F F0 25 A2 FF E8 4A 90 - .byte $FC, $BD, $46, $D3, $85, $5E, $18, $69, $02, $29, $03, $C5, $5F, $F0, $0D, $24 ; CPU:$D44A PRG:544A FC BD 46 D3 85 5E 18 69 02 29 03 C5 5F F0 0D 24 - .byte $07, $10, $0D, $A6, $5E, $BD, $81, $04, $C9, $09, $B0, $04, $A5, $5E, $85, $5F ; CPU:$D45A PRG:545A 07 10 0D A6 5E BD 81 04 C9 09 B0 04 A5 5E 85 5F - .byte $24, $06, $30, $0F, $24, $07, $10, $0B, $A6, $5F, $BD, $81, $04, $C9, $09, $90 ; CPU:$D46A PRG:546A 24 06 30 0F 24 07 10 0B A6 5F BD 81 04 C9 09 90 - .byte $02, $38, $60, $18, $60, $A5, $62, $18, $69, $04, $85, $03, $A5, $60, $18, $69 ; CPU:$D47A PRG:547A 02 38 60 18 60 A5 62 18 69 04 85 03 A5 60 18 69 - .byte $04, $20, $A5, $C3, $8D, $A1, $04, $A5, $02, $8D, $A0, $04, $A0, $00, $A5, $02 ; CPU:$D48A PRG:548A 04 20 A5 C3 8D A1 04 A5 02 8D A0 04 A0 00 A5 02 - .byte $85, $03, $B9, $50, $D5, $30, $0A, $18, $65, $01, $90, $02, $E6, $03, $4C, $B2 ; CPU:$D49A PRG:549A 85 03 B9 50 D5 30 0A 18 65 01 90 02 E6 03 4C B2 - .byte $D4, $18, $65, $01, $B0, $02, $C6, $03, $99, $A3, $04, $A5, $03, $99, $A2, $04 ; CPU:$D4AA PRG:54AA D4 18 65 01 B0 02 C6 03 99 A3 04 A5 03 99 A2 04 - .byte $C8, $C8, $C0, $08, $90, $D8, $A9, $C1, $85, $08, $A9, $00, $85, $09, $A2, $00 ; CPU:$D4BA PRG:54BA C8 C8 C0 08 90 D8 A9 C1 85 08 A9 00 85 09 A2 00 - .byte $86, $04, $B5, $66, $18, $69, $04, $85, $03, $B5, $64, $18, $69, $04, $20, $A5 ; CPU:$D4CA PRG:54CA 86 04 B5 66 18 69 04 85 03 B5 64 18 69 04 20 A5 - .byte $C3, $A9, $04, $85, $09, $A9, $AA, $18, $65, $04, $90, $02, $E6, $09, $85, $08 ; CPU:$D4DA PRG:54DA C3 A9 04 85 09 A9 AA 18 65 04 90 02 E6 09 85 08 - .byte $A0, $00, $A5, $02, $85, $03, $B9, $50, $D5, $30, $0A, $18, $65, $01, $90, $02 ; CPU:$D4EA PRG:54EA A0 00 A5 02 85 03 B9 50 D5 30 0A 18 65 01 90 02 - .byte $E6, $03, $4C, $06, $D5, $18, $65, $01, $B0, $02, $C6, $03, $C8, $91, $08, $88 ; CPU:$D4FA PRG:54FA E6 03 4C 06 D5 18 65 01 B0 02 C6 03 C8 91 08 88 - .byte $A5, $03, $91, $08, $C8, $C8, $C0, $08, $90, $D8, $A5, $04, $18, $69, $08, $85 ; CPU:$D50A PRG:550A A5 03 91 08 C8 C8 C0 08 90 D8 A5 04 18 69 08 85 - .byte $04, $E8, $E8, $E8, $E8, $E0, $14, $90, $A9, $A2, $00, $A0, $00, $B5, $60, $99 ; CPU:$D51A PRG:551A 04 E8 E8 E8 E8 E0 14 90 A9 A2 00 A0 00 B5 60 99 - .byte $10, $04, $B5, $62, $99, $20, $04, $E8, $E8, $E8, $E8, $C8, $C0, $06, $90, $ED ; CPU:$D52A PRG:552A 10 04 B5 62 99 20 04 E8 E8 E8 E8 C8 C0 06 90 ED - .byte $A2, $00, $A0, $00, $B5, $78, $99, $30, $04, $B5, $79, $99, $40, $04, $E8, $E8 ; CPU:$D53A PRG:553A A2 00 A0 00 B5 78 99 30 04 B5 79 99 40 04 E8 E8 - .byte $C8, $C0, $06, $90, $EF, $60, $E0, $E0, $FF, $FF, $20, $20, $01, $01, $90, $38 ; CPU:$D54A PRG:554A C8 C0 06 90 EF 60 E0 E0 FF FF 20 20 01 01 90 38 - .byte $AD, $05, $04, $D0, $0F, $A4, $4A, $B9, $58, $D5, $C5, $3D, $D0, $03, $20, $04 ; CPU:$D55A PRG:555A AD 05 04 D0 0F A4 4A B9 58 D5 C5 3D D0 03 20 04 - .byte $DB, $4C, $8F, $D5, $A5, $74, $C9, $58, $D0, $1B, $A5, $76, $C9, $60, $F0, $04 ; CPU:$D56A PRG:556A DB 4C 8F D5 A5 74 C9 58 D0 1B A5 76 C9 60 F0 04 - .byte $C9, $88, $D0, $11, $C5, $A6, $F0, $0D, $85, $A6, $CE, $7A, $04, $D0, $06, $A5 ; CPU:$D57A PRG:557A C9 88 D0 11 C5 A6 F0 0D 85 A6 CE 7A 04 D0 06 A5 - .byte $CA, $09, $10, $85, $CA, $C6, $FE, $10, $16, $A9, $14, $85, $FE, $A2, $00, $B5 ; CPU:$D58A PRG:558A CA 09 10 85 CA C6 FE 10 16 A9 14 85 FE A2 00 B5 - .byte $C0, $C9, $06, $D0, $04, $A9, $07, $85, $3A, $E8, $E8, $E0, $08, $90, $F0, $A5 ; CPU:$D59A PRG:559A C0 C9 06 D0 04 A9 07 85 3A E8 E8 E0 08 90 F0 A5 - .byte $85, $D0, $06, $20, $55, $DB, $4C, $D4, $D5, $C6, $85, $D0, $1D, $A9, $FF, $85 ; CPU:$D5AA PRG:55AA 85 D0 06 20 55 DB 4C D4 D5 C6 85 D0 1D A9 FF 85 - .byte $86, $A9, $03, $8D, $00, $04, $A2, $00, $B5, $C0, $C9, $08, $D0, $07, $A9, $06 ; CPU:$D5BA PRG:55BA 86 A9 03 8D 00 04 A2 00 B5 C0 C9 08 D0 07 A9 06 - .byte $95, $C0, $4C, $D4, $D5, $E8, $E8, $4C, $C2, $D5, $A2, $00, $A9, $01, $85, $04 ; CPU:$D5CA PRG:55CA 95 C0 4C D4 D5 E8 E8 4C C2 D5 A2 00 A9 01 85 04 - .byte $86, $0A, $8A, $0A, $18, $69, $64, $85, $02, $A9, $00, $85, $03, $8A, $0A, $18 ; CPU:$D5DA PRG:55DA 86 0A 8A 0A 18 69 64 85 02 A9 00 85 03 8A 0A 18 - .byte $69, $85, $85, $00, $A9, $04, $85, $01, $A5, $85, $D0, $03, $20, $6D, $D6, $E0 ; CPU:$D5EA PRG:55EA 69 85 85 00 A9 04 85 01 A5 85 D0 03 20 6D D6 E0 - .byte $08, $F0, $44, $B5, $C0, $C9, $06, $90, $15, $D0, $07, $B5, $C1, $09, $18, $4C ; CPU:$D5FA PRG:55FA 08 F0 44 B5 C0 C9 06 90 15 D0 07 B5 C1 09 18 4C - .byte $15, $D6, $B5, $7B, $29, $DF, $95, $7B, $AD, $7E, $04, $4C, $34, $D6, $A5, $32 ; CPU:$D60A PRG:560A 15 D6 B5 7B 29 DF 95 7B AD 7E 04 4C 34 D6 A5 32 - .byte $29, $08, $F0, $02, $A9, $01, $85, $07, $A5, $04, $25, $CF, $D0, $06, $B5, $C1 ; CPU:$D61A PRG:561A 29 08 F0 02 A9 01 85 07 A5 04 25 CF D0 06 B5 C1 - .byte $0A, $4C, $30, $D6, $A9, $0C, $09, $10, $05, $07, $95, $7A, $06, $04, $A6, $0A ; CPU:$D62A PRG:562A 0A 4C 30 D6 A9 0C 09 10 05 07 95 7A 06 04 A6 0A - .byte $E8, $E8, $E0, $0A, $90, $9A, $60, $AD, $05, $04, $F0, $22, $A5, $82, $C9, $2C ; CPU:$D63A PRG:563A E8 E8 E0 0A 90 9A 60 AD 05 04 F0 22 A5 82 C9 2C - .byte $B0, $1C, $29, $FE, $85, $07, $A5, $32, $29, $08, $F0, $DC, $A5, $CF, $D0, $0A ; CPU:$D64A PRG:564A B0 1C 29 FE 85 07 A5 32 29 08 F0 DC A5 CF D0 0A - .byte $A5, $32, $29, $07, $D0, $04, $A9, $05, $85, $3A, $A9, $01, $D0, $CA, $60, $2D ; CPU:$D65A PRG:565A A5 32 29 07 D0 04 A9 05 85 3A A9 01 D0 CA 60 2D - .byte $2E, $31, $33, $B4, $C0, $B9, $7C, $D6, $85, $08, $B9, $7D, $D6, $85, $09, $6C ; CPU:$D66A PRG:566A 2E 31 33 B4 C0 B9 7C D6 85 08 B9 7D D6 85 09 6C - .byte $08, $00, $AD, $D6, $F0, $D6, $3F, $D7, $3F, $D7, $86, $D6, $E0, $08, $D0, $22 ; CPU:$D67A PRG:567A 08 00 AD D6 F0 D6 3F D7 3F D7 86 D6 E0 08 D0 22 - .byte $CE, $79, $04, $D0, $03, $4C, $2F, $D8, $A4, $76, $AD, $79, $04, $C9, $20, $90 ; CPU:$D68A PRG:568A CE 79 04 D0 03 4C 2F D8 A4 76 AD 79 04 C9 20 90 - .byte $01, $88, $C9, $18, $B0, $09, $C9, $10, $90, $06, $A5, $32, $4A, $90, $01, $88 ; CPU:$D69A PRG:569A 01 88 C9 18 B0 09 C9 10 90 06 A5 32 4A 90 01 88 - .byte $84, $76, $60, $A9, $00, $85, $05, $A9, $80, $85, $06, $B4, $C1, $B9, $C4, $D6 ; CPU:$D6AA PRG:56AA 84 76 60 A9 00 85 05 A9 80 85 06 B4 C1 B9 C4 D6 - .byte $85, $08, $B9, $C5, $D6, $85, $09, $6C, $08, $00, $C8, $D6, $CA, $D6, $C6, $05 ; CPU:$D6BA PRG:56BA 85 08 B9 C5 D6 85 09 6C 08 00 C8 D6 CA D6 C6 05 - .byte $A0, $03, $B1, $02, $18, $65, $06, $91, $02, $A0, $02, $B1, $02, $65, $05, $91 ; CPU:$D6CA PRG:56CA A0 03 B1 02 18 65 06 91 02 A0 02 B1 02 65 05 91 - .byte $02, $C9, $70, $B0, $07, $A9, $02, $95, $C1, $4C, $EF, $D6, $C9, $78, $90, $05 ; CPU:$D6DA PRG:56DA 02 C9 70 B0 07 A9 02 95 C1 4C EF D6 C9 78 90 05 - .byte $A9, $00, $4C, $E1, $D6, $60, $A0, $00, $84, $05, $A9, $80, $85, $06, $B1, $02 ; CPU:$D6EA PRG:56EA A9 00 4C E1 D6 60 A0 00 84 05 A9 80 85 06 B1 02 - .byte $C9, $58, $F0, $1F, $90, $07, $C6, $05, $A9, $01, $4C, $09, $D7, $A9, $03, $95 ; CPU:$D6FA PRG:56FA C9 58 F0 1F 90 07 C6 05 A9 01 4C 09 D7 A9 03 95 - .byte $C1, $A0, $01, $B1, $02, $18, $65, $06, $91, $02, $A0, $00, $B1, $02, $65, $05 ; CPU:$D70A PRG:570A C1 A0 01 B1 02 18 65 06 91 02 A0 00 B1 02 65 05 - .byte $91, $02, $60, $A9, $00, $95, $C1, $A0, $03, $B1, $02, $38, $E5, $06, $91, $02 ; CPU:$D71A PRG:571A 91 02 60 A9 00 95 C1 A0 03 B1 02 38 E5 06 91 02 - .byte $A0, $02, $B1, $02, $E9, $00, $91, $02, $C9, $60, $D0, $08, $A9, $01, $95, $C1 ; CPU:$D72A PRG:572A A0 02 B1 02 E9 00 91 02 C9 60 D0 08 A9 01 95 C1 - .byte $A9, $04, $95, $C0, $60, $20, $53, $D7, $B5, $C1, $0A, $A8, $B9, $A7, $D7, $85 ; CPU:$D73A PRG:573A A9 04 95 C0 60 20 53 D7 B5 C1 0A A8 B9 A7 D7 85 - .byte $08, $B9, $A8, $D7, $85, $09, $6C, $08, $00, $E0, $08, $D0, $09, $A9, $60, $85 ; CPU:$D74A PRG:574A 08 B9 A8 D7 85 09 6C 08 00 E0 08 D0 09 A9 60 85 - .byte $DA, $A9, $00, $85, $DB, $60, $B5, $C0, $C9, $06, $D0, $09, $A9, $00, $95, $D2 ; CPU:$D75A PRG:575A DA A9 00 85 DB 60 B5 C0 C9 06 D0 09 A9 00 95 D2 - .byte $A9, $02, $95, $D3, $60, $A0, $02, $B5, $7B, $29, $20, $F0, $09, $A5, $EA, $95 ; CPU:$D76A PRG:576A A9 02 95 D3 60 A0 02 B5 7B 29 20 F0 09 A5 EA 95 - .byte $D2, $A5, $EB, $95, $D3, $60, $A5, $04, $25, $CF, $F0, $09, $A5, $E8, $95, $D2 ; CPU:$D77A PRG:577A D2 A5 EB 95 D3 60 A5 04 25 CF F0 09 A5 E8 95 D2 - .byte $A5, $E9, $95, $D3, $60, $E0, $00, $D0, $0B, $A5, $E0, $85, $D2, $A5, $E1, $85 ; CPU:$D78A PRG:578A A5 E9 95 D3 60 E0 00 D0 0B A5 E0 85 D2 A5 E1 85 - .byte $D3, $4C, $A6, $D7, $A5, $E6, $95, $D2, $A5, $E7, $95, $D3, $60, $C5, $D7, $C9 ; CPU:$D79A PRG:579A D3 4C A6 D7 A5 E6 95 D2 A5 E7 95 D3 60 C5 D7 C9 - .byte $D7, $AF, $D7, $B3, $D7, $A0, $03, $D0, $02, $A0, $01, $B1, $02, $18, $75, $D2 ; CPU:$D7AA PRG:57AA D7 AF D7 B3 D7 A0 03 D0 02 A0 01 B1 02 18 75 D2 - .byte $91, $02, $A9, $00, $75, $D3, $85, $CD, $4C, $DD, $D7, $A0, $03, $D0, $02, $A0 ; CPU:$D7BA PRG:57BA 91 02 A9 00 75 D3 85 CD 4C DD D7 A0 03 D0 02 A0 - .byte $01, $B1, $02, $38, $F5, $D2, $91, $02, $A9, $00, $B0, $02, $A9, $01, $18, $75 ; CPU:$D7CA PRG:57CA 01 B1 02 38 F5 D2 91 02 A9 00 B0 02 A9 01 18 75 - .byte $D3, $85, $CD, $C6, $CD, $10, $01, $60, $A4, $0A, $B9, $C1, $00, $0A, $A8, $B9 ; CPU:$D7DA PRG:57DA D3 85 CD C6 CD 10 01 60 A4 0A B9 C1 00 0A A8 B9 - .byte $F6, $D7, $85, $08, $B9, $F7, $D7, $85, $09, $6C, $08, $00, $FE, $D7, $12, $D8 ; CPU:$D7EA PRG:57EA F6 D7 85 08 B9 F7 D7 85 09 6C 08 00 FE D7 12 D8 - .byte $04, $D8, $0C, $D8, $A9, $FF, $85, $05, $D0, $04, $A9, $01, $85, $05, $A0, $02 ; CPU:$D7FA PRG:57FA 04 D8 0C D8 A9 FF 85 05 D0 04 A9 01 85 05 A0 02 - .byte $D0, $0C, $A9, $01, $85, $05, $D0, $04, $A9, $FF, $85, $05, $A0, $00, $B1, $02 ; CPU:$D80A PRG:580A D0 0C A9 01 85 05 D0 04 A9 FF 85 05 A0 00 B1 02 - .byte $18, $65, $05, $91, $02, $A0, $00, $B1, $02, $C9, $A2, $90, $22, $C9, $AF, $90 ; CPU:$D81A PRG:581A 18 65 05 91 02 A0 00 B1 02 C9 A2 90 22 C9 AF 90 - .byte $1C, $E0, $08, $D0, $14, $A5, $86, $C9, $05, $D0, $04, $A9, $FF, $85, $86, $A9 ; CPU:$D82A PRG:582A 1C E0 08 D0 14 A5 86 C9 05 D0 04 A9 FF 85 86 A9 - .byte $00, $8D, $05, $04, $85, $74, $85, $76, $60, $A9, $02, $91, $02, $D0, $10, $C9 ; CPU:$D83A PRG:583A 00 8D 05 04 85 74 85 76 60 A9 02 91 02 D0 10 C9 - .byte $0D, $B0, $11, $C9, $02, $B0, $08, $E0, $08, $F0, $DA, $A9, $AE, $91, $02, $A9 ; CPU:$D84A PRG:584A 0D B0 11 C9 02 B0 08 E0 08 F0 DA A9 AE 91 02 A9 - .byte $20, $4C, $60, $D8, $A9, $00, $85, $05, $B5, $7B, $29, $DF, $05, $05, $95, $7B ; CPU:$D85A PRG:585A 20 4C 60 D8 A9 00 85 05 B5 7B 29 DF 05 05 95 7B - .byte $A0, $00, $B1, $02, $A0, $02, $11, $02, $29, $07, $F0, $03, $4C, $DD, $D7, $A0 ; CPU:$D86A PRG:586A A0 00 B1 02 A0 02 11 02 29 07 F0 03 4C DD D7 A0 - .byte $00, $B1, $02, $C9, $58, $D0, $1F, $A0, $02, $B1, $02, $C9, $78, $D0, $17, $A9 ; CPU:$D87A PRG:587A 00 B1 02 C9 58 D0 1F A0 02 B1 02 C9 78 D0 17 A9 - .byte $02, $95, $C0, $A5, $04, $49, $FF, $25, $CF, $85, $CF, $D0, $04, $A9, $43, $85 ; CPU:$D88A PRG:588A 02 95 C0 A5 04 49 FF 25 CF 85 CF D0 04 A9 43 85 - .byte $8B, $8A, $4A, $95, $7B, $60, $B5, $C0, $C9, $06, $D0, $04, $A2, $08, $D0, $1C ; CPU:$D89A PRG:589A 8B 8A 4A 95 7B 60 B5 C0 C9 06 D0 04 A2 08 D0 1C - .byte $A5, $04, $25, $CF, $F0, $03, $4C, $2F, $DA, $A5, $04, $25, $CA, $F0, $0D, $BD ; CPU:$D8AA PRG:58AA A5 04 25 CF F0 03 4C 2F DA A5 04 25 CA F0 0D BD - .byte $6D, $DA, $85, $08, $BD, $6E, $DA, $85, $09, $6C, $08, $00, $BD, $EA, $DA, $85 ; CPU:$D8BA PRG:58BA 6D DA 85 08 BD 6E DA 85 09 6C 08 00 BD EA DA 85 - .byte $CB, $BD, $EB, $DA, $85, $CC, $A6, $0A, $A0, $00, $B1, $02, $C9, $10, $B0, $01 ; CPU:$D8CA PRG:58CA CB BD EB DA 85 CC A6 0A A0 00 B1 02 C9 10 B0 01 - .byte $60, $C9, $A1, $90, $01, $60, $20, $CF, $D9, $A9, $02, $A4, $0C, $C0, $FF, $F0 ; CPU:$D8DA PRG:58DA 60 C9 A1 90 01 60 20 CF D9 A9 02 A4 0C C0 FF F0 - .byte $08, $A5, $0D, $C9, $FF, $D0, $05, $A5, $0C, $95, $C1, $60, $A0, $00, $84, $05 ; CPU:$D8EA PRG:58EA 08 A5 0D C9 FF D0 05 A5 0C 95 C1 60 A0 00 84 05 - .byte $A5, $CB, $38, $F1, $02, $B0, $0F, $85, $07, $A9, $00, $38, $E5, $07, $E6, $05 ; CPU:$D8FA PRG:58FA A5 CB 38 F1 02 B0 0F 85 07 A9 00 38 E5 07 E6 05 - .byte $E6, $05, $E6, $05, $E6, $05, $85, $06, $A0, $02, $A5, $CC, $38, $F1, $02, $B0 ; CPU:$D90A PRG:590A E6 05 E6 05 E6 05 85 06 A0 02 A5 CC 38 F1 02 B0 - .byte $0B, $85, $07, $A9, $00, $38, $E5, $07, $E6, $05, $E6, $05, $85, $07, $A5, $06 ; CPU:$D91A PRG:591A 0B 85 07 A9 00 38 E5 07 E6 05 E6 05 85 07 A5 06 - .byte $C5, $07, $B0, $02, $E6, $05, $06, $05, $A9, $02, $85, $06, $A4, $05, $B9, $F4 ; CPU:$D92A PRG:592A C5 07 B0 02 E6 05 06 05 A9 02 85 06 A4 05 B9 F4 - .byte $DA, $A0, $00, $D9, $0C, $00, $D0, $03, $95, $C1, $60, $C8, $C0, $04, $90, $F3 ; CPU:$D93A PRG:593A DA A0 00 D9 0C 00 D0 03 95 C1 60 C8 C0 04 90 F3 - .byte $E6, $05, $C6, $06, $D0, $E6, $B5, $C0, $C9, $04, $D0, $0B, $E0, $04, $F0, $2A ; CPU:$D94A PRG:594A E6 05 C6 06 D0 E6 B5 C0 C9 04 D0 0B E0 04 F0 2A - .byte $E0, $06, $F0, $39, $4C, $76, $D9, $A5, $32, $29, $C0, $C9, $C0, $D0, $0D, $BD ; CPU:$D95A PRG:595A E0 06 F0 39 4C 76 D9 A5 32 29 C0 C9 C0 D0 0D BD - .byte $70, $04, $49, $80, $9D, $70, $04, $30, $11, $4C, $97, $D9, $B5, $C1, $A0, $00 ; CPU:$D96A PRG:596A 70 04 49 80 9D 70 04 30 11 4C 97 D9 B5 C1 A0 00 - .byte $D9, $0C, $00, $F0, $C3, $C8, $C0, $04, $90, $F6, $B5, $C1, $38, $E9, $01, $29 ; CPU:$D97A PRG:597A D9 0C 00 F0 C3 C8 C0 04 90 F6 B5 C1 38 E9 01 29 - .byte $03, $A0, $00, $D9, $0C, $00, $F0, $B0, $C8, $C0, $04, $90, $F6, $B5, $C1, $18 ; CPU:$D98A PRG:598A 03 A0 00 D9 0C 00 F0 B0 C8 C0 04 90 F6 B5 C1 18 - .byte $69, $01, $29, $03, $A0, $00, $D9, $0C, $00, $F0, $9D, $C8, $C0, $04, $90, $F6 ; CPU:$D99A PRG:599A 69 01 29 03 A0 00 D9 0C 00 F0 9D C8 C0 04 90 F6 - .byte $B5, $C1, $A0, $00, $D9, $0C, $00, $F0, $8F, $C8, $C0, $04, $90, $F6, $B5, $C1 ; CPU:$D9AA PRG:59AA B5 C1 A0 00 D9 0C 00 F0 8F C8 C0 04 90 F6 B5 C1 - .byte $38, $E9, $01, $29, $03, $A0, $00, $D9, $0C, $00, $D0, $03, $4C, $42, $D9, $C8 ; CPU:$D9BA PRG:59BA 38 E9 01 29 03 A0 00 D9 0C 00 D0 03 4C 42 D9 C8 - .byte $C0, $04, $90, $F3, $60, $A0, $00, $B5, $C0, $C9, $06, $D0, $01, $88, $84, $07 ; CPU:$D9CA PRG:59CA C0 04 90 F3 60 A0 00 B5 C0 C9 06 D0 01 88 84 07 - .byte $A9, $FF, $85, $0C, $85, $0D, $85, $0E, $85, $0F, $A0, $00, $B1, $00, $29, $F8 ; CPU:$D9DA PRG:59DA A9 FF 85 0C 85 0D 85 0E 85 0F A0 00 B1 00 29 F8 - .byte $D0, $07, $98, $99, $0C, $00, $4C, $FB, $D9, $24, $07, $10, $04, $C9, $0A, $90 ; CPU:$D9EA PRG:59EA D0 07 98 99 0C 00 4C FB D9 24 07 10 04 C9 0A 90 - .byte $F1, $C8, $C0, $04, $90, $E6, $B5, $C1, $18, $69, $02, $29, $03, $A8, $A9, $FF ; CPU:$D9FA PRG:59FA F1 C8 C0 04 90 E6 B5 C1 18 69 02 29 03 A8 A9 FF - .byte $99, $0C, $00, $A9, $03, $85, $07, $A0, $00, $B9, $0C, $00, $C9, $FF, $D0, $0B ; CPU:$DA0A PRG:5A0A 99 0C 00 A9 03 85 07 A0 00 B9 0C 00 C9 FF D0 0B - .byte $B9, $0D, $00, $99, $0C, $00, $A9, $FF, $99, $0D, $00, $C8, $C0, $03, $90, $E9 ; CPU:$DA1A PRG:5A1A B9 0D 00 99 0C 00 A9 FF 99 0D 00 C8 C0 03 90 E9 - .byte $C6, $07, $D0, $E3, $60, $A0, $00, $B1, $02, $C9, $10, $90, $33, $C9, $A1, $B0 ; CPU:$DA2A PRG:5A2A C6 07 D0 E3 60 A0 00 B1 02 C9 10 90 33 C9 A1 B0 - .byte $2F, $A5, $32, $85, $05, $A9, $05, $85, $06, $C6, $06, $D0, $05, $A9, $02, $4C ; CPU:$DA3A PRG:5A3A 2F A5 32 85 05 A9 05 85 06 C6 06 D0 05 A9 02 4C - .byte $68, $DA, $E6, $05, $A5, $05, $29, $03, $A8, $B1, $00, $29, $F8, $D0, $EA, $A5 ; CPU:$DA4A PRG:5A4A 68 DA E6 05 A5 05 29 03 A8 B1 00 29 F8 D0 EA A5 - .byte $05, $18, $69, $02, $29, $03, $D5, $C1, $F0, $DF, $A5, $05, $29, $03, $95, $C1 ; CPU:$DA5A PRG:5A5A 05 18 69 02 29 03 D5 C1 F0 DF A5 05 29 03 95 C1 - .byte $4C, $DD, $D7, $A9, $DA, $B4, $DA, $CB, $DA, $77, $DA, $9E, $DA, $A5, $60, $38 ; CPU:$DA6A PRG:5A6A 4C DD D7 A9 DA B4 DA CB DA 77 DA 9E DA A5 60 38 - .byte $E5, $70, $B0, $07, $85, $05, $A9, $00, $38, $E5, $05, $C9, $20, $B0, $20, $A5 ; CPU:$DA7A PRG:5A7A E5 70 B0 07 85 05 A9 00 38 E5 05 C9 20 B0 20 A5 - .byte $62, $38, $E5, $72, $B0, $07, $85, $05, $A9, $00, $38, $E5, $05, $C9, $20, $B0 ; CPU:$DA8A PRG:5A8A 62 38 E5 72 B0 07 85 05 A9 00 38 E5 05 C9 20 B0 - .byte $0E, $4C, $2F, $DA, $A5, $A7, $85, $CB, $A5, $A8, $85, $CC, $4C, $D0, $D8, $A5 ; CPU:$DA9A PRG:5A9A 0E 4C 2F DA A5 A7 85 CB A5 A8 85 CC 4C D0 D8 A5 - .byte $60, $85, $CB, $A5, $62, $85, $CC, $4C, $D0, $D8, $A5, $5F, $0A, $A8, $B9, $E2 ; CPU:$DAAA PRG:5AAA 60 85 CB A5 62 85 CC 4C D0 D8 A5 5F 0A A8 B9 E2 - .byte $DA, $18, $65, $60, $85, $CB, $B9, $E3, $DA, $18, $65, $62, $85, $CC, $4C, $D0 ; CPU:$DABA PRG:5ABA DA 18 65 60 85 CB B9 E3 DA 18 65 62 85 CC 4C D0 - .byte $D8, $A5, $60, $38, $E5, $64, $18, $65, $60, $85, $CB, $A5, $62, $38, $E5, $66 ; CPU:$DACA PRG:5ACA D8 A5 60 38 E5 64 18 65 60 85 CB A5 62 38 E5 66 - .byte $18, $65, $62, $85, $CC, $4C, $D0, $D8, $00, $E8, $E8, $00, $00, $18, $18, $00 ; CPU:$DADA PRG:5ADA 18 65 62 85 CC 4C D0 D8 00 E8 E8 00 00 18 18 00 - .byte $A8, $08, $18, $08, $A8, $D0, $18, $D0, $58, $78, $03, $02, $02, $03, $03, $00 ; CPU:$DAEA PRG:5AEA A8 08 18 08 A8 D0 18 D0 58 78 03 02 02 03 03 00 - .byte $00, $03, $01, $02, $02, $01, $01, $00, $00, $01, $E6, $4A, $A9, $03, $8D, $05 ; CPU:$DAFA PRG:5AFA 00 03 01 02 02 01 01 00 00 01 E6 4A A9 03 8D 05 - .byte $04, $A2, $00, $86, $A6, $A5, $32, $4A, $90, $01, $E8, $B4, $48, $84, $76, $84 ; CPU:$DB0A PRG:5B0A 04 A2 00 86 A6 A5 32 4A 90 01 E8 B4 48 84 76 84 - .byte $A8, $A2, $08, $A0, $03, $4A, $90, $04, $A2, $A8, $A0, $01, $86, $74, $86, $A7 ; CPU:$DB1A PRG:5B1A A8 A2 08 A0 03 4A 90 04 A2 A8 A0 01 86 74 86 A7 - .byte $84, $C9, $A9, $04, $85, $C8, $A5, $3E, $C9, $08, $90, $0D, $A2, $05, $B5, $40 ; CPU:$DB2A PRG:5B2A 84 C9 A9 04 85 C8 A5 3E C9 08 90 0D A2 05 B5 40 - .byte $29, $07, $D0, $05, $CA, $10, $F7, $A9, $01, $0A, $18, $69, $1C, $85, $82, $A9 ; CPU:$DB3A PRG:5B3A 29 07 D0 05 CA 10 F7 A9 01 0A 18 69 1C 85 82 A9 - .byte $04, $8D, $7A, $04, $A5, $CA, $29, $EF, $85, $CA, $60, $24, $AB, $30, $49, $C6 ; CPU:$DB4A PRG:5B4A 04 8D 7A 04 A5 CA 29 EF 85 CA 60 24 AB 30 49 C6 - .byte $AC, $10, $25, $A9, $3C, $85, $AC, $C6, $AB, $10, $1A, $A9, $43, $85, $8B, $A9 ; CPU:$DB5A PRG:5B5A AC 10 25 A9 3C 85 AC C6 AB 10 1A A9 43 85 8B A9 - .byte $00, $85, $7B, $A9, $01, $85, $7D, $A9, $02, $85, $7F, $A9, $03, $85, $81, $A9 ; CPU:$DB6A PRG:5B6A 00 85 7B A9 01 85 7D A9 02 85 7F A9 03 85 81 A9 - .byte $00, $85, $CF, $F0, $15, $4C, $A2, $DB, $A5, $AB, $C9, $02, $B0, $1A, $A5, $AC ; CPU:$DB7A PRG:5B7A 00 85 CF F0 15 4C A2 DB A5 AB C9 02 B0 1A A5 AC - .byte $29, $07, $D0, $14, $A5, $AC, $29, $08, $D0, $05, $A9, $03, $4C, $9B, $DB, $A9 ; CPU:$DB8A PRG:5B8A 29 07 D0 14 A5 AC 29 08 D0 05 A9 03 4C 9B DB A9 - .byte $20, $8D, $95, $01, $A9, $40, $85, $39, $A5, $CF, $D0, $36, $A5, $BE, $C9, $FF ; CPU:$DB9A PRG:5B9A 20 8D 95 01 A9 40 85 39 A5 CF D0 36 A5 BE C9 FF - .byte $F0, $30, $E6, $EF, $A5, $EF, $C9, $3C, $D0, $28, $A9, $00, $85, $EF, $C6, $BE ; CPU:$DBAA PRG:5BAA F0 30 E6 EF A5 EF C9 3C D0 28 A9 00 85 EF C6 BE - .byte $10, $20, $E6, $EE, $A5, $EE, $29, $01, $D0, $09, $A5, $CA, $29, $10, $05, $BC ; CPU:$DBBA PRG:5BBA 10 20 E6 EE A5 EE 29 01 D0 09 A5 CA 29 10 05 BC - .byte $4C, $D4, $DB, $20, $38, $DC, $A5, $CA, $09, $0F, $85, $CA, $A6, $EE, $B5, $B0 ; CPU:$DBCA PRG:5BCA 4C D4 DB 20 38 DC A5 CA 09 0F 85 CA A6 EE B5 B0 - .byte $85, $BE, $A6, $BD, $B5, $B8, $30, $0C, $18, $65, $3D, $C5, $46, $D0, $05, $E6 ; CPU:$DBDA PRG:5BDA 85 BE A6 BD B5 B8 30 0C 18 65 3D C5 46 D0 05 E6 - .byte $BD, $20, $24, $DC, $A5, $C6, $D0, $14, $C6, $AA, $10, $10, $A9, $3C, $85, $AA ; CPU:$DBEA PRG:5BEA BD 20 24 DC A5 C6 D0 14 C6 AA 10 10 A9 3C 85 AA - .byte $C6, $A9, $10, $08, $AD, $7B, $04, $85, $A9, $20, $24, $DC, $A6, $BF, $E0, $02 ; CPU:$DBFA PRG:5BFA C6 A9 10 08 AD 7B 04 85 A9 20 24 DC A6 BF E0 02 - .byte $F0, $17, $B5, $AE, $C5, $3D, $D0, $11, $E6, $BF, $A9, $01, $85, $BC, $8A, $0A ; CPU:$DC0A PRG:5C0A F0 17 B5 AE C5 3D D0 11 E6 BF A9 01 85 BC 8A 0A - .byte $AA, $B5, $E2, $85, $E0, $B5, $E3, $85, $E1, $60, $A2, $00, $B5, $C2, $F0, $09 ; CPU:$DC1A PRG:5C1A AA B5 E2 85 E0 B5 E3 85 E1 60 A2 00 B5 C2 F0 09 - .byte $E8, $E8, $E0, $06, $D0, $F6, $4C, $37, $DC, $A9, $02, $95, $C2, $60, $A2, $00 ; CPU:$DC2A PRG:5C2A E8 E8 E0 06 D0 F6 4C 37 DC A9 02 95 C2 60 A2 00 - .byte $A9, $85, $85, $00, $A9, $04, $85, $01, $A9, $64, $85, $02, $86, $03, $A9, $0F ; CPU:$DC3A PRG:5C3A A9 85 85 00 A9 04 85 01 A9 64 85 02 86 03 A9 0F - .byte $C5, $CF, $F0, $04, $A5, $BC, $D0, $27, $B5, $C0, $C9, $04, $D0, $21, $B5, $C1 ; CPU:$DC4A PRG:5C4A C5 CF F0 04 A5 BC D0 27 B5 C0 C9 04 D0 21 B5 C1 - .byte $18, $69, $02, $29, $03, $85, $04, $A0, $00, $B1, $02, $A0, $02, $11, $02, $29 ; CPU:$DC5A PRG:5C5A 18 69 02 29 03 85 04 A0 00 B1 02 A0 02 11 02 29 - .byte $07, $D0, $08, $A4, $04, $B1, $00, $29, $F8, $D0, $04, $A5, $04, $95, $C1, $A5 ; CPU:$DC6A PRG:5C6A 07 D0 08 A4 04 B1 00 29 F8 D0 04 A5 04 95 C1 A5 - .byte $02, $18, $69, $04, $85, $02, $A5, $00, $18, $69, $04, $85, $00, $E8, $E8, $E0 ; CPU:$DC7A PRG:5C7A 02 18 69 04 85 02 A5 00 18 69 04 85 00 E8 E8 E0 - .byte $08, $90, $C5, $60, $A9, $01, $85, $04, $A2, $00, $A0, $00, $B9, $C0, $00, $C9 ; CPU:$DC8A PRG:5C8A 08 90 C5 60 A9 01 85 04 A2 00 A0 00 B9 C0 00 C9 - .byte $04, $D0, $29, $A5, $60, $D5, $64, $D0, $10, $A5, $62, $38, $F5, $66, $10, $02 ; CPU:$DC9A PRG:5C9A 04 D0 29 A5 60 D5 64 D0 10 A5 62 38 F5 66 10 02 - .byte $49, $FF, $C9, $06, $90, $23, $4C, $C6, $DC, $A5, $62, $D5, $66, $D0, $0D, $A5 ; CPU:$DCAA PRG:5CAA 49 FF C9 06 90 23 4C C6 DC A5 62 D5 66 D0 0D A5 - .byte $60, $38, $F5, $64, $10, $02, $49, $FF, $C9, $06, $90, $0D, $06, $04, $C8, $C8 ; CPU:$DCBA PRG:5CBA 60 38 F5 64 10 02 49 FF C9 06 90 0D 06 04 C8 C8 - .byte $E8, $E8, $E8, $E8, $E0, $14, $90, $C4, $60, $98, $4A, $18, $69, $01, $85, $86 ; CPU:$DCCA PRG:5CCA E8 E8 E8 E8 E0 14 90 C4 60 98 4A 18 69 01 85 86 - .byte $C0, $08, $D0, $26, $A9, $04, $85, $3A, $AD, $05, $04, $F0, $DF, $A9, $28, $8D ; CPU:$DCDA PRG:5CDA C0 08 D0 26 A9 04 85 3A AD 05 04 F0 DF A9 28 8D - .byte $79, $04, $A5, $82, $38, $E9, $1E, $29, $FE, $AA, $BD, $98, $DD, $85, $08, $BD ; CPU:$DCEA PRG:5CEA 79 04 A5 82 38 E9 1E 29 FE AA BD 98 DD 85 08 BD - .byte $99, $DD, $85, $09, $A5, $A5, $18, $6C, $08, $00, $A5, $04, $25, $CF, $D0, $49 ; CPU:$DCFA PRG:5CFA 99 DD 85 09 A5 A5 18 6C 08 00 A5 04 25 CF D0 49 - .byte $24, $89, $10, $01, $60, $A9, $45, $85, $8B, $A9, $00, $85, $01, $A5, $62, $D5 ; CPU:$DD0A PRG:5D0A 24 89 10 01 60 A9 45 85 8B A9 00 85 01 A5 62 D5 - .byte $66, $D0, $0F, $E6, $01, $A5, $60, $D5, $64, $90, $04, $A9, $03, $85, $01, $4C ; CPU:$DD1A PRG:5D1A 66 D0 0F E6 01 A5 60 D5 64 90 04 A9 03 85 01 4C - .byte $32, $DD, $90, $04, $A9, $02, $85, $01, $A9, $50, $85, $FF, $98, $4A, $AA, $E8 ; CPU:$DD2A PRG:5D2A 32 DD 90 04 A9 02 85 01 A9 50 85 FF 98 4A AA E8 - .byte $06, $01, $B9, $7A, $00, $29, $F8, $05, $01, $9D, $30, $04, $A9, $05, $85, $30 ; CPU:$DD3A PRG:5D3A 06 01 B9 7A 00 29 F8 05 01 9D 30 04 A9 05 85 30 - .byte $A9, $00, $85, $31, $68, $68, $4C, $8F, $DD, $49, $FF, $25, $CF, $85, $CF, $A9 ; CPU:$DD4A PRG:5D4A A9 00 85 31 68 68 4C 8F DD 49 FF 25 CF 85 CF A9 - .byte $00, $8D, $00, $04, $A9, $30, $85, $85, $A9, $08, $85, $3A, $A5, $AD, $E6, $AD ; CPU:$DD5A PRG:5D5A 00 8D 00 04 A9 30 85 85 A9 08 85 3A A5 AD E6 AD - .byte $0A, $AA, $BD, $90, $DD, $85, $08, $BD, $91, $DD, $85, $09, $A5, $A5, $18, $6C ; CPU:$DD6A PRG:5D6A 0A AA BD 90 DD 85 08 BD 91 DD 85 09 A5 A5 18 6C - .byte $08, $00, $85, $A5, $C0, $08, $D0, $05, $86, $82, $4C, $8A, $DD, $8E, $7E, $04 ; CPU:$DD7A PRG:5D7A 08 00 85 A5 C0 08 D0 05 86 82 4C 8A DD 8E 7E 04 - .byte $A9, $08, $99, $C0, $00, $60, $A6, $DD, $AC, $DD, $B2, $DD, $B8, $DD, $BE, $DD ; CPU:$DD8A PRG:5D8A A9 08 99 C0 00 60 A6 DD AC DD B2 DD B8 DD BE DD - .byte $A6, $DD, $C4, $DD, $CA, $DD, $D0, $DD, $D6, $DD, $DC, $DD, $69, $02, $A2, $2D ; CPU:$DD9A PRG:5D9A A6 DD C4 DD CA DD D0 DD D6 DD DC DD 69 02 A2 2D - .byte $D0, $D0, $69, $04, $A2, $2E, $D0, $CA, $69, $08, $A2, $31, $D0, $C4, $69, $16 ; CPU:$DDAA PRG:5DAA D0 D0 69 04 A2 2E D0 CA 69 08 A2 31 D0 C4 69 16 - .byte $A2, $33, $D0, $BE, $69, $01, $A2, $2C, $D0, $B8, $69, $05, $A2, $2F, $D0, $B2 ; CPU:$DDBA PRG:5DBA A2 33 D0 BE 69 01 A2 2C D0 B8 69 05 A2 2F D0 B2 - .byte $69, $07, $A2, $30, $D0, $AC, $69, $10, $A2, $32, $D0, $A6, $69, $20, $A2, $34 ; CPU:$DDCA PRG:5DCA 69 07 A2 30 D0 AC 69 10 A2 32 D0 A6 69 20 A2 34 - .byte $D0, $A0, $69, $50, $A2, $35, $D0, $9A, $20, $20, $20, $20, $20, $20, $54, $48 ; CPU:$DDDA PRG:5DDA D0 A0 69 50 A2 35 D0 9A 20 20 20 20 20 20 54 48 - .byte $45, $59, $20, $4D, $45, $45, $54, $20, $20, $20, $20, $20, $20, $20, $54, $48 ; CPU:$DDEA PRG:5DEA 45 59 20 4D 45 45 54 20 20 20 20 20 20 20 54 48 - .byte $45, $20, $43, $48, $41, $53, $45, $20, $20, $20, $20, $20, $20, $20, $4A, $55 ; CPU:$DDFA PRG:5DFA 45 20 43 48 41 53 45 20 20 20 20 20 20 20 4A 55 - .byte $4E, $49, $4F, $52, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4A, $55 ; CPU:$DE0A PRG:5E0A 4E 49 4F 52 20 20 20 20 20 20 20 20 20 20 4A 55 - .byte $4E, $49, $4F, $52, $32, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4A, $55 ; CPU:$DE1A PRG:5E1A 4E 49 4F 52 32 20 20 20 20 20 20 20 20 20 4A 55 - .byte $4E, $49, $4F, $52, $33, $20, $20, $20, $C9, $80, $90, $05, $A5, $3E, $18, $69 ; CPU:$DE2A PRG:5E2A 4E 49 4F 52 33 20 20 20 C9 80 90 05 A5 3E 18 69 - .byte $10, $85, $84, $A5, $CE, $C9, $01, $90, $44, $F0, $13, $C9, $08, $B0, $3B, $A5 ; CPU:$DE3A PRG:5E3A 10 85 84 A5 CE C9 01 90 44 F0 13 C9 08 B0 3B A5 - .byte $26, $09, $18, $85, $26, $E6, $31, $A9, $00, $85, $CE, $4C, $86, $DE, $20, $50 ; CPU:$DE4A PRG:5E4A 26 09 18 85 26 E6 31 A9 00 85 CE 4C 86 DE 20 50 - .byte $C4, $A5, $30, $C9, $02, $D0, $23, $A9, $10, $8D, $50, $04, $A5, $88, $C9, $05 ; CPU:$DE5A PRG:5E5A C4 A5 30 C9 02 D0 23 A9 10 8D 50 04 A5 88 C9 05 - .byte $90, $02, $A9, $05, $0A, $0A, $0A, $0A, $A8, $A2, $00, $B9, $E2, $DD, $9D, $51 ; CPU:$DE6A PRG:5E6A 90 02 A9 05 0A 0A 0A 0A A8 A2 00 B9 E2 DD 9D 51 - .byte $04, $C8, $E8, $E0, $10, $90, $F4, $20, $DA, $CE, $E6, $CE, $60, $A5, $24, $29 ; CPU:$DE7A PRG:5E7A 04 C8 E8 E0 10 90 F4 20 DA CE E6 CE 60 A5 24 29 - .byte $7F, $85, $24, $8D, $00, $20, $A5, $26, $29, $E7, $85, $26, $8D, $01, $20, $A9 ; CPU:$DE8A PRG:5E8A 7F 85 24 8D 00 20 A5 26 29 E7 85 26 8D 01 20 A9 - .byte $00, $A2, $A0, $95, $00, $E8, $D0, $FB, $9D, $00, $04, $E8, $E0, $60, $90, $F8 ; CPU:$DE9A PRG:5E9A 00 A2 A0 95 00 E8 D0 FB 9D 00 04 E8 E0 60 90 F8 - .byte $24, $36, $70, $70, $A9, $FF, $8D, $7F, $04, $20, $32, $E2, $A9, $23, $24, $3C ; CPU:$DEAA PRG:5EAA 24 36 70 70 A9 FF 8D 7F 04 20 32 E2 A9 23 24 3C - .byte $50, $02, $09, $04, $8D, $00, $03, $A9, $C0, $8D, $01, $03, $A9, $40, $8D, $02 ; CPU:$DEBA PRG:5EBA 50 02 09 04 8D 00 03 A9 C0 8D 01 03 A9 40 8D 02 - .byte $03, $A5, $84, $0A, $A8, $A9, $AA, $85, $08, $A9, $89, $85, $09, $B1, $08, $85 ; CPU:$DECA PRG:5ECA 03 A5 84 0A A8 A9 AA 85 08 A9 89 85 09 B1 08 85 - .byte $0A, $C8, $B1, $08, $85, $0B, $A0, $00, $A2, $00, $B1, $0A, $10, $0F, $C8, $B1 ; CPU:$DEDA PRG:5EDA 0A C8 B1 08 85 0B A0 00 A2 00 B1 0A 10 0F C8 B1 - .byte $0A, $9D, $03, $03, $C8, $E8, $E0, $40, $90, $F5, $4C, $13, $DF, $85, $01, $C8 ; CPU:$DEEA PRG:5EEA 0A 9D 03 03 C8 E8 E0 40 90 F5 4C 13 DF 85 01 C8 - .byte $B1, $0A, $C8, $9D, $03, $03, $E8, $C6, $01, $D0, $F8, $E0, $40, $90, $05, $A2 ; CPU:$DEFA PRG:5EFA B1 0A C8 9D 03 03 E8 C6 01 D0 F8 E0 40 90 05 A2 - .byte $40, $4C, $13, $DF, $B1, $0A, $4C, $F7, $DE, $A9, $00, $9D, $03, $03, $20, $C3 ; CPU:$DF0A PRG:5F0A 40 4C 13 DF B1 0A 4C F7 DE A9 00 9D 03 03 20 C3 - .byte $C3, $4C, $9B, $DF, $A5, $24, $24, $3C, $70, $05, $29, $FE, $4C, $2B, $DF, $09 ; CPU:$DF1A PRG:5F1A C3 4C 9B DF A5 24 24 3C 70 05 29 FE 4C 2B DF 09 - .byte $01, $85, $24, $24, $47, $30, $22, $A2, $00, $A9, $08, $24, $3C, $50, $03, $AA ; CPU:$DF2A PRG:5F2A 01 85 24 24 47 30 22 A2 00 A9 08 24 3C 50 03 AA - .byte $A9, $10, $85, $01, $A9, $FF, $9D, $E0, $04, $E8, $E4, $01, $90, $F6, $20, $32 ; CPU:$DF3A PRG:5F3A A9 10 85 01 A9 FF 9D E0 04 E8 E4 01 90 F6 20 32 - .byte $E2, $24, $8C, $70, $04, $A9, $41, $85, $8B, $20, $9F, $E4, $20, $15, $E4, $20 ; CPU:$DF4A PRG:5F4A E2 24 8C 70 04 A9 41 85 8B 20 9F E4 20 15 E4 20 - .byte $6D, $E3, $20, $DB, $E1, $20, $18, $E1, $20, $97, $E0, $20, $E9, $DF, $A5, $3C ; CPU:$DF5A PRG:5F5A 6D E3 20 DB E1 20 18 E1 20 97 E0 20 E9 DF A5 3C - .byte $85, $01, $A9, $36, $20, $BA, $DF, $A2, $00, $A0, $00, $B9, $D1, $E5, $95, $60 ; CPU:$DF6A PRG:5F6A 85 01 A9 36 20 BA DF A2 00 A0 00 B9 D1 E5 95 60 - .byte $E8, $A9, $00, $95, $60, $E8, $B9, $DD, $E5, $99, $78, $00, $C8, $C0, $0C, $90 ; CPU:$DF7A PRG:5F7A E8 A9 00 95 60 E8 B9 DD E5 99 78 00 C8 C0 0C 90 - .byte $EA, $24, $89, $10, $04, $A9, $03, $85, $79, $24, $3C, $50, $04, $A9, $44, $85 ; CPU:$DF8A PRG:5F8A EA 24 89 10 04 A9 03 85 79 24 3C 50 04 A9 44 85 - .byte $78, $20, $EF, $E4, $A9, $FF, $85, $86, $85, $87, $A9, $00, $85, $CF, $A9, $01 ; CPU:$DF9A PRG:5F9A 78 20 EF E4 A9 FF 85 86 85 87 A9 00 85 CF A9 01 - .byte $85, $5E, $85, $5F, $A5, $24, $09, $80, $85, $24, $8D, $00, $20, $E6, $CE, $60 ; CPU:$DFAA PRG:5FAA 85 5E 85 5F A5 24 09 80 85 24 8D 00 20 E6 CE 60 - .byte $8D, $30, $04, $A9, $03, $8D, $00, $04, $8D, $01, $04, $A2, $37, $24, $01, $10 ; CPU:$DFBA PRG:5FBA 8D 30 04 A9 03 8D 00 04 8D 01 04 A2 37 24 01 10 - .byte $04, $50, $01, $E8, $E8, $8E, $31, $04, $A9, $5C, $8D, $10, $04, $8D, $11, $04 ; CPU:$DFCA PRG:5FCA 04 50 01 E8 E8 8E 31 04 A9 5C 8D 10 04 8D 11 04 - .byte $A9, $88, $8D, $20, $04, $A9, $60, $8D, $21, $04, $60, $0F, $00, $10, $20, $A9 ; CPU:$DFDA PRG:5FDA A9 88 8D 20 04 A9 60 8D 21 04 60 0F 00 10 20 A9 - .byte $28, $85, $AE, $A9, $0A, $85, $AF, $A2, $00, $BD, $8D, $E0, $95, $C0, $E8, $E0 ; CPU:$DFEA PRG:5FEA 28 85 AE A9 0A 85 AF A2 00 BD 8D E0 95 C0 E8 E0 - .byte $0A, $90, $F6, $A6, $3E, $CA, $24, $8E, $10, $09, $8A, $18, $69, $08, $C9, $20 ; CPU:$DFFA PRG:5FFA 0A 90 F6 A6 3E CA 24 8E 10 09 8A 18 69 08 C9 20 - .byte $B0, $01, $AA, $86, $01, $A5, $01, $29, $18, $A8, $B9, $E9, $E5, $85, $BE, $A2 ; CPU:$E00A PRG:600A B0 01 AA 86 01 A5 01 29 18 A8 B9 E9 E5 85 BE A2 - .byte $00, $B9, $E9, $E5, $95, $B0, $C8, $E8, $E0, $08, $90, $F5, $A5, $01, $29, $1C ; CPU:$E01A PRG:601A 00 B9 E9 E5 95 B0 C8 E8 E0 08 90 F5 A5 01 29 1C - .byte $A8, $A2, $00, $86, $BD, $B9, $09, $E6, $95, $B8, $C8, $E8, $E0, $04, $90, $F5 ; CPU:$E02A PRG:602A A8 A2 00 86 BD B9 09 E6 95 B8 C8 E8 E0 04 90 F5 - .byte $A6, $01, $BD, $31, $E5, $8D, $77, $04, $C9, $0F, $F0, $0C, $A5, $4B, $0A, $0A ; CPU:$E03A PRG:603A A6 01 BD 31 E5 8D 77 04 C9 0F F0 0C A5 4B 0A 0A - .byte $0A, $0A, $0D, $77, $04, $4C, $57, $E0, $A6, $4B, $BD, $E5, $DF, $8D, $7F, $04 ; CPU:$E04A PRG:604A 0A 0A 0D 77 04 4C 57 E0 A6 4B BD E5 DF 8D 7F 04 - .byte $A5, $01, $4A, $4A, $A8, $B9, $29, $E5, $85, $A9, $8D, $7B, $04, $A5, $01, $29 ; CPU:$E05A PRG:605A A5 01 4A 4A A8 B9 29 E5 85 A9 8D 7B 04 A5 01 29 - .byte $03, $49, $03, $18, $79, $21, $E5, $8D, $7C, $04, $A9, $FF, $85, $AB, $A5, $01 ; CPU:$E06A PRG:606A 03 49 03 18 79 21 E5 8D 7C 04 A9 FF 85 AB A5 01 - .byte $0A, $0A, $29, $F0, $A8, $A2, $00, $B9, $51, $E5, $95, $DC, $C8, $E8, $E0, $10 ; CPU:$E07A PRG:607A 0A 0A 29 F0 A8 A2 00 B9 51 E5 95 DC C8 E8 E0 10 - .byte $90, $F5, $60, $04, $01, $00, $00, $00, $00, $00, $00, $08, $00, $A5, $3F, $C9 ; CPU:$E08A PRG:608A 90 F5 60 04 01 00 00 00 00 00 00 08 00 A5 3F C9 - .byte $07, $90, $02, $A9, $07, $85, $01, $C6, $01, $F0, $0F, $10, $01, $60, $A5, $01 ; CPU:$E09A PRG:609A 07 90 02 A9 07 85 01 C6 01 F0 0F 10 01 60 A5 01 - .byte $20, $B5, $E0, $C6, $01, $D0, $F7, $20, $C3, $C3, $60, $A8, $A6, $2E, $A9, $3C ; CPU:$E0AA PRG:60AA 20 B5 E0 C6 01 D0 F7 20 C3 C3 60 A8 A6 2E A9 3C - .byte $85, $02, $A9, $23, $24, $3C, $50, $06, $A9, $5C, $85, $02, $A9, $27, $9D, $00 ; CPU:$E0BA PRG:60BA 85 02 A9 23 24 3C 50 06 A9 5C 85 02 A9 27 9D 00 - .byte $03, $9D, $05, $03, $B9, $08, $E1, $9D, $01, $03, $18, $69, $20, $9D, $06, $03 ; CPU:$E0CA PRG:60CA 03 9D 05 03 B9 08 E1 9D 01 03 18 69 20 9D 06 03 - .byte $A9, $02, $9D, $02, $03, $9D, $07, $03, $A5, $02, $9D, $03, $03, $E6, $02, $A5 ; CPU:$E0DA PRG:60DA A9 02 9D 02 03 9D 07 03 A5 02 9D 03 03 E6 02 A5 - .byte $02, $9D, $04, $03, $E6, $02, $A5, $02, $9D, $08, $03, $E6, $02, $A5, $02, $9D ; CPU:$E0EA PRG:60EA 02 9D 04 03 E6 02 A5 02 9D 08 03 E6 02 A5 02 9D - .byte $09, $03, $A9, $00, $9D, $0A, $03, $8A, $18, $69, $0A, $85, $2E, $60, $00, $18 ; CPU:$E0FA PRG:60FA 09 03 A9 00 9D 0A 03 8A 18 69 0A 85 2E 60 00 18 - .byte $1A, $1C, $58, $5A, $5C, $58, $5A, $5C, $98, $9A, $9C, $D8, $DA, $DC, $20, $2F ; CPU:$E10A PRG:610A 1A 1C 58 5A 5C 58 5A 5C 98 9A 9C D8 DA DC 20 2F - .byte $E1, $20, $41, $E1, $24, $3C, $10, $03, $20, $62, $E1, $20, $C3, $C3, $60, $24 ; CPU:$E11A PRG:611A E1 20 41 E1 24 3C 10 03 20 62 E1 20 C3 C3 60 24 - .byte $3C, $50, $18, $70, $42, $A9, $00, $85, $08, $A9, $07, $85, $09, $A9, $20, $85 ; CPU:$E12A PRG:612A 3C 50 18 70 42 A9 00 85 08 A9 07 85 09 A9 20 85 - .byte $01, $A9, $B6, $85, $02, $D0, $40, $24, $3C, $70, $0B, $A9, $40, $85, $08, $A9 ; CPU:$E13A PRG:613A 01 A9 B6 85 02 D0 40 24 3C 70 0B A9 40 85 08 A9 - .byte $00, $85, $09, $4C, $58, $E1, $A9, $50, $85, $08, $A9, $00, $85, $09, $A9, $21 ; CPU:$E14A PRG:614A 00 85 09 4C 58 E1 A9 50 85 08 A9 00 85 09 A9 21 - .byte $85, $01, $A9, $36, $85, $02, $D0, $1F, $24, $3C, $70, $0B, $A9, $50, $85, $08 ; CPU:$E15A PRG:615A 85 01 A9 36 85 02 D0 1F 24 3C 70 0B A9 50 85 08 - .byte $A9, $00, $85, $09, $4C, $79, $E1, $A9, $40, $85, $08, $A9, $00, $85, $09, $A9 ; CPU:$E16A PRG:616A A9 00 85 09 4C 79 E1 A9 40 85 08 A9 00 85 09 A9 - .byte $21, $85, $01, $A9, $B6, $85, $02, $A6, $2E, $A5, $01, $24, $3C, $50, $02, $09 ; CPU:$E17A PRG:617A 21 85 01 A9 B6 85 02 A6 2E A5 01 24 3C 50 02 09 - .byte $04, $9D, $00, $03, $E8, $A5, $02, $9D, $00, $03, $E8, $A9, $07, $9D, $00, $03 ; CPU:$E18A PRG:618A 04 9D 00 03 E8 A5 02 9D 00 03 E8 A9 07 9D 00 03 - .byte $E8, $A0, $00, $B1, $08, $10, $0E, $A9, $39, $9D, $00, $03, $E8, $C8, $C0, $07 ; CPU:$E19A PRG:619A E8 A0 00 B1 08 10 0E A9 39 9D 00 03 E8 C8 C0 07 - .byte $90, $F5, $4C, $D3, $E1, $B1, $08, $D0, $0D, $A9, $2D, $9D, $00, $03, $E8, $C8 ; CPU:$E1AA PRG:61AA 90 F5 4C D3 E1 B1 08 D0 0D A9 2D 9D 00 03 E8 C8 - .byte $C0, $06, $D0, $F1, $F0, $0D, $B1, $08, $09, $30, $9D, $00, $03, $E8, $C8, $C0 ; CPU:$E1BA PRG:61BA C0 06 D0 F1 F0 0D B1 08 09 30 9D 00 03 E8 C8 C0 - .byte $06, $90, $F3, $A9, $30, $9D, $00, $03, $E8, $A9, $00, $9D, $00, $03, $86, $2E ; CPU:$E1CA PRG:61CA 06 90 F3 A9 30 9D 00 03 E8 A9 00 9D 00 03 86 2E - .byte $60, $A9, $11, $24, $3C, $10, $02, $A9, $17, $85, $01, $A2, $00, $A0, $00, $A9 ; CPU:$E1DA PRG:61DA 60 A9 11 24 3C 10 02 A9 17 85 01 A2 00 A0 00 A9 - .byte $20, $85, $02, $B9, $1B, $E2, $C9, $02, $B0, $02, $05, $02, $9D, $00, $03, $E8 ; CPU:$E1EA PRG:61EA 20 85 02 B9 1B E2 C9 02 B0 02 05 02 9D 00 03 E8 - .byte $C8, $C4, $01, $90, $EE, $24, $3C, $10, $06, $A5, $02, $C9, $24, $90, $0B, $A9 ; CPU:$E1FA PRG:61FA C8 C4 01 90 EE 24 3C 10 06 A5 02 C9 24 90 0B A9 - .byte $00, $9D, $00, $03, $86, $2E, $20, $C3, $C3, $60, $09, $04, $A0, $00, $4C, $EB ; CPU:$E20A PRG:620A 00 9D 00 03 86 2E 20 C3 C3 60 09 04 A0 00 4C EB - .byte $E1, $00, $76, $08, $48, $49, $3A, $53, $43, $4F, $52, $45, $00, $F7, $03, $31 ; CPU:$E21A PRG:621A E1 00 76 08 48 49 3A 53 43 4F 52 45 00 F7 03 31 - .byte $55, $50, $01, $77, $03, $32, $55, $50, $A9, $00, $85, $4A, $A9, $20, $A2, $00 ; CPU:$E22A PRG:622A 55 50 01 77 03 32 55 50 A9 00 85 4A A9 20 A2 00 - .byte $24, $3C, $50, $04, $09, $04, $A2, $08, $85, $01, $86, $A3, $A5, $84, $0A, $A8 ; CPU:$E23A PRG:623A 24 3C 50 04 09 04 A2 08 85 01 86 A3 A5 84 0A A8 - .byte $A9, $48, $85, $08, $A9, $89, $85, $09, $B1, $08, $85, $0A, $C8, $B1, $08, $85 ; CPU:$E24A PRG:624A A9 48 85 08 A9 89 85 09 B1 08 85 0A C8 B1 08 85 - .byte $0B, $A0, $00, $84, $16, $84, $17, $84, $02, $84, $04, $84, $48, $84, $49, $A5 ; CPU:$E25A PRG:625A 0B A0 00 84 16 84 17 84 02 84 04 84 48 84 49 A5 - .byte $01, $8D, $00, $03, $A5, $16, $8D, $01, $03, $A9, $16, $24, $36, $70, $02, $A9 ; CPU:$E26A PRG:626A 01 8D 00 03 A5 16 8D 01 03 A9 16 24 36 70 02 A9 - .byte $20, $8D, $02, $03, $18, $69, $03, $85, $05, $A2, $03, $C0, $1D, $F0, $04, $C0 ; CPU:$E27A PRG:627A 20 8D 02 03 18 69 03 85 05 A2 03 C0 1D F0 04 C0 - .byte $02, $B0, $0D, $A9, $2D, $9D, $00, $03, $E8, $E4, $05, $90, $F6, $4C, $F4, $E2 ; CPU:$E28A PRG:628A 02 B0 0D A9 2D 9D 00 03 E8 E4 05 90 F6 4C F4 E2 - .byte $A4, $02, $24, $36, $50, $2C, $A9, $00, $85, $03, $B1, $0A, $0A, $26, $03, $0A ; CPU:$E29A PRG:629A A4 02 24 36 50 2C A9 00 85 03 B1 0A 0A 26 03 0A - .byte $26, $03, $4A, $4A, $9D, $00, $03, $E8, $C9, $01, $F0, $04, $C9, $03, $D0, $02 ; CPU:$E2AA PRG:62AA 26 03 4A 4A 9D 00 03 E8 C9 01 F0 04 C9 03 D0 02 - .byte $E6, $04, $C6, $03, $10, $EE, $C8, $D0, $02, $E6, $0B, $E4, $05, $90, $D7, $4C ; CPU:$E2BA PRG:62BA E6 04 C6 03 10 EE C8 D0 02 E6 0B E4 05 90 D7 4C - .byte $F2, $E2, $A9, $00, $85, $03, $B1, $0A, $C9, $10, $B0, $0B, $C8, $D0, $02, $E6 ; CPU:$E2CA PRG:62CA F2 E2 A9 00 85 03 B1 0A C9 10 B0 0B C8 D0 02 E6 - .byte $0B, $85, $03, $B1, $0A, $C6, $03, $9D, $00, $03, $E8, $C6, $03, $10, $F8, $C8 ; CPU:$E2DA PRG:62DA 0B 85 03 B1 0A C6 03 9D 00 03 E8 C6 03 10 F8 C8 - .byte $D0, $02, $E6, $0B, $E4, $05, $90, $DA, $84, $02, $A6, $05, $A9, $00, $9D, $00 ; CPU:$E2EA PRG:62EA D0 02 E6 0B E4 05 90 DA 84 02 A6 05 A9 00 9D 00 - .byte $03, $86, $2E, $AD, $04, $03, $C9, $06, $D0, $0D, $A6, $17, $A5, $48, $D0, $05 ; CPU:$E2FA PRG:62FA 03 86 2E AD 04 03 C9 06 D0 0D A6 17 A5 48 D0 05 - .byte $86, $48, $4C, $11, $E3, $86, $49, $A2, $04, $BD, $00, $03, $C9, $01, $D0, $17 ; CPU:$E30A PRG:630A 86 48 4C 11 E3 86 49 A2 04 BD 00 03 C9 01 D0 17 - .byte $8A, $38, $E9, $03, $18, $6D, $01, $03, $A4, $A3, $99, $E1, $04, $AD, $00, $03 ; CPU:$E31A PRG:631A 8A 38 E9 03 18 6D 01 03 A4 A3 99 E1 04 AD 00 03 - .byte $99, $E0, $04, $C8, $C8, $84, $A3, $E8, $E4, $05, $90, $DD, $20, $C3, $C3, $A5 ; CPU:$E32A PRG:632A 99 E0 04 C8 C8 84 A3 E8 E4 05 90 DD 20 C3 C3 A5 - .byte $16, $18, $69, $20, $85, $16, $A9, $00, $65, $01, $85, $01, $E6, $17, $A4, $17 ; CPU:$E33A PRG:633A 16 18 69 20 85 16 A9 00 65 01 85 01 E6 17 A4 17 - .byte $C0, $1E, $B0, $03, $4C, $69, $E2, $A5, $04, $85, $3D, $85, $46, $A5, $48, $0A ; CPU:$E34A PRG:634A C0 1E B0 03 4C 69 E2 A5 04 85 3D 85 46 A5 48 0A - .byte $0A, $0A, $85, $48, $AA, $A5, $49, $D0, $04, $8A, $4C, $6A, $E3, $0A, $0A, $0A ; CPU:$E35A PRG:635A 0A 0A 85 48 AA A5 49 D0 04 8A 4C 6A E3 0A 0A 0A - .byte $85, $49, $60, $A2, $00, $A0, $00, $A5, $3E, $C9, $0A, $90, $0C, $C9, $0E, $90 ; CPU:$E36A PRG:636A 85 49 60 A2 00 A0 00 A5 3E C9 0A 90 0C C9 0E 90 - .byte $02, $A9, $0E, $38, $E9, $09, $0A, $0A, $A8, $B9, $FD, $E3, $95, $00, $C8, $E8 ; CPU:$E37A PRG:637A 02 A9 0E 38 E9 09 0A 0A A8 B9 FD E3 95 00 C8 E8 - .byte $E0, $04, $90, $F5, $24, $3C, $70, $08, $A9, $23, $8D, $06, $20, $4C, $9F, $E3 ; CPU:$E38A PRG:638A E0 04 90 F5 24 3C 70 08 A9 23 8D 06 20 4C 9F E3 - .byte $A9, $27, $8D, $06, $20, $A9, $C0, $8D, $06, $20, $A0, $00, $A9, $00, $8D, $07 ; CPU:$E39A PRG:639A A9 27 8D 06 20 A9 C0 8D 06 20 A0 00 A9 00 8D 07 - .byte $20, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $B9, $E5, $E3 ; CPU:$E3AA PRG:63AA 20 8D 07 20 8D 07 20 8D 07 20 8D 07 20 B9 E5 E3 - .byte $8D, $07, $20, $C8, $B9, $E5, $E3, $C8, $C9, $F0, $90, $06, $38, $E9, $F0, $AA ; CPU:$E3BA PRG:63BA 8D 07 20 C8 B9 E5 E3 C8 C9 F0 90 06 38 E9 F0 AA - .byte $B5, $00, $8D, $07, $20, $B9, $E5, $E3, $C8, $C9, $F0, $90, $06, $38, $E9, $F0 ; CPU:$E3CA PRG:63CA B5 00 8D 07 20 B9 E5 E3 C8 C9 F0 90 06 38 E9 F0 - .byte $AA, $B5, $00, $8D, $07, $20, $C0, $18, $90, $C2, $60, $04, $05, $05, $04, $05 ; CPU:$E3DA PRG:63DA AA B5 00 8D 07 20 C0 18 90 C2 60 04 05 05 04 05 - .byte $05, $04, $05, $05, $04, $55, $55, $00, $F0, $F1, $00, $F2, $F3, $00, $AA, $AA ; CPU:$E3EA PRG:63EA 05 04 05 05 04 55 55 00 F0 F1 00 F2 F3 00 AA AA - .byte $00, $00, $00, $F0, $20, $5E, $51, $B0, $20, $57, $51, $A0, $30, $55, $51, $E0 ; CPU:$E3FA PRG:63FA 00 00 00 F0 20 5E 51 B0 20 57 51 A0 30 55 51 E0 - .byte $10, $55, $51, $70, $10, $55, $51, $50, $10, $55, $51, $A2, $60, $A5, $3E, $C9 ; CPU:$E40A PRG:640A 10 55 51 70 10 55 51 50 10 55 51 A2 60 A5 3E C9 - .byte $0A, $90, $12, $C9, $0F, $90, $05, $A2, $78, $4C, $2F, $E4, $38, $E9, $09, $0A ; CPU:$E41A PRG:641A 0A 90 12 C9 0F 90 05 A2 78 4C 2F E4 38 E9 09 0A - .byte $0A, $18, $69, $60, $AA, $86, $02, $A9, $00, $85, $01, $A5, $01, $20, $4A, $E4 ; CPU:$E42A PRG:642A 0A 18 69 60 AA 86 02 A9 00 85 01 A5 01 20 4A E4 - .byte $E6, $01, $A5, $01, $C9, $09, $B0, $04, $C5, $3E, $90, $EF, $20, $C3, $C3, $60 ; CPU:$E43A PRG:643A E6 01 A5 01 C9 09 B0 04 C5 3E 90 EF 20 C3 C3 60 - .byte $A8, $A6, $2E, $A9, $22, $24, $3C, $50, $02, $09, $04, $9D, $00, $03, $9D, $05 ; CPU:$E44A PRG:644A A8 A6 2E A9 22 24 3C 50 02 09 04 9D 00 03 9D 05 - .byte $03, $B9, $0F, $E1, $9D, $01, $03, $18, $69, $20, $9D, $06, $03, $A9, $02, $9D ; CPU:$E45A PRG:645A 03 B9 0F E1 9D 01 03 18 69 20 9D 06 03 A9 02 9D - .byte $02, $03, $9D, $07, $03, $A5, $02, $9D, $03, $03, $E6, $02, $A5, $02, $9D, $04 ; CPU:$E46A PRG:646A 02 03 9D 07 03 A5 02 9D 03 03 E6 02 A5 02 9D 04 - .byte $03, $E6, $02, $A5, $02, $9D, $08, $03, $E6, $02, $A5, $02, $9D, $09, $03, $E6 ; CPU:$E47A PRG:647A 03 E6 02 A5 02 9D 08 03 E6 02 A5 02 9D 09 03 E6 - .byte $02, $C9, $7B, $90, $04, $A9, $78, $85, $02, $A9, $00, $9D, $0A, $03, $8A, $18 ; CPU:$E48A PRG:648A 02 C9 7B 90 04 A9 78 85 02 A9 00 9D 0A 03 8A 18 - .byte $69, $0A, $85, $2E, $60, $A9, $A0, $85, $01, $A9, $2D, $85, $02, $A0, $16, $84 ; CPU:$E49A PRG:649A 69 0A 85 2E 60 A9 A0 85 01 A9 2D 85 02 A0 16 84 - .byte $17, $A5, $01, $8D, $00, $03, $8C, $01, $03, $A9, $1E, $8D, $02, $03, $A5, $02 ; CPU:$E4AA PRG:64AA 17 A5 01 8D 00 03 8C 01 03 A9 1E 8D 02 03 A5 02 - .byte $A2, $03, $9D, $00, $03, $E8, $E0, $21, $90, $F8, $A9, $00, $9D, $00, $03, $86 ; CPU:$E4BA PRG:64BA A2 03 9D 00 03 E8 E0 21 90 F8 A9 00 9D 00 03 86 - .byte $2E, $20, $C3, $C3, $A4, $17, $C8, $84, $17, $C0, $18, $90, $04, $A9, $00, $85 ; CPU:$E4CA PRG:64CA 2E 20 C3 C3 A4 17 C8 84 17 C0 18 90 04 A9 00 85 - .byte $02, $C0, $20, $90, $CC, $24, $3C, $10, $0B, $A5, $01, $C9, $A0, $D0, $05, $09 ; CPU:$E4DA PRG:64DA 02 C0 20 90 CC 24 3C 10 0B A5 01 C9 A0 D0 05 09 - .byte $04, $4C, $A1, $E4, $60, $A5, $84, $C9, $10, $90, $02, $A9, $10, $0A, $A8, $A9 ; CPU:$E4EA PRG:64EA 04 4C A1 E4 60 A5 84 C9 10 90 02 A9 10 0A A8 A9 - .byte $A6, $85, $08, $A9, $88, $85, $09, $B1, $08, $85, $0A, $C8, $B1, $08, $85, $0B ; CPU:$E4FA PRG:64FA A6 85 08 A9 88 85 09 B1 08 85 0A C8 B1 08 85 0B - .byte $A0, $1F, $B1, $0A, $99, $80, $01, $88, $10, $F8, $AD, $7F, $04, $30, $03, $8D ; CPU:$E50A PRG:650A A0 1F B1 0A 99 80 01 88 10 F8 AD 7F 04 30 03 8D - .byte $82, $01, $A9, $C0, $85, $39, $60, $05, $04, $03, $02, $02, $01, $01, $00, $06 ; CPU:$E51A PRG:651A 82 01 A9 C0 85 39 60 05 04 03 02 02 01 01 00 06 - .byte $04, $03, $02, $01, $01, $00, $00, $0A, $06, $08, $01, $04, $0C, $03, $0F, $0B ; CPU:$E52A PRG:652A 04 03 02 01 01 00 00 0A 06 08 01 04 0C 03 0F 0B - .byte $07, $09, $02, $05, $0A, $06, $08, $01, $04, $0C, $03, $0F, $0B, $07, $09, $02 ; CPU:$E53A PRG:653A 07 09 02 05 0A 06 08 01 04 0C 03 0F 0B 07 09 02 - .byte $05, $0A, $06, $01, $08, $04, $0C, $B0, $00, $B0, $00, $A0, $00, $B0, $00, $B0 ; CPU:$E54A PRG:654A 05 0A 06 01 08 04 0C B0 00 B0 00 A0 00 B0 00 B0 - .byte $00, $A0, $00, $50, $00, $50, $00, $B0, $00, $C0, $00, $A0, $00, $B0, $00, $C0 ; CPU:$E55A PRG:655A 00 A0 00 50 00 50 00 B0 00 C0 00 A0 00 B0 00 C0 - .byte $00, $A0, $00, $60, $00, $50, $00, $C0, $00, $C0, $00, $B0, $00, $C0, $00, $C0 ; CPU:$E56A PRG:656A 00 A0 00 60 00 50 00 C0 00 C0 00 B0 00 C0 00 C0 - .byte $00, $B0, $00, $60, $00, $50, $00, $C0, $00, $D0, $00, $B0, $00, $C0, $00, $D0 ; CPU:$E57A PRG:657A 00 B0 00 60 00 50 00 C0 00 D0 00 B0 00 C0 00 D0 - .byte $00, $B0, $00, $60, $00, $60, $00, $D0, $00, $D0, $00, $C0, $00, $D0, $00, $D0 ; CPU:$E58A PRG:658A 00 B0 00 60 00 60 00 D0 00 D0 00 C0 00 D0 00 D0 - .byte $00, $C0, $00, $60, $00, $60, $00, $D0, $00, $E0, $00, $C0, $00, $D0, $00, $E0 ; CPU:$E59A PRG:659A 00 C0 00 60 00 60 00 D0 00 E0 00 C0 00 D0 00 E0 - .byte $00, $C0, $00, $70, $00, $60, $00, $E0, $00, $E0, $00, $D0, $00, $E0, $00, $F0 ; CPU:$E5AA PRG:65AA 00 C0 00 70 00 60 00 E0 00 E0 00 D0 00 E0 00 F0 - .byte $00, $D0, $00, $70, $00, $70, $00, $E0, $00, $F0, $00, $E0, $00, $F0, $00, $00 ; CPU:$E5BA PRG:65BA 00 D0 00 70 00 70 00 E0 00 F0 00 E0 00 F0 00 00 - .byte $01, $E0, $00, $70, $00, $70, $00, $58, $B0, $50, $60, $50, $78, $58, $78, $60 ; CPU:$E5CA PRG:65CA 01 E0 00 70 00 70 00 58 B0 50 60 50 78 58 78 60 - .byte $78, $60, $A0, $04, $00, $12, $00, $10, $01, $10, $02, $10, $03, $00, $00, $07 ; CPU:$E5DA PRG:65DA 78 60 A0 04 00 12 00 10 01 10 02 10 03 00 00 07 - .byte $10, $07, $12, $07, $14, $06, $FF, $06, $12, $07, $14, $05, $14, $06, $FF, $05 ; CPU:$E5EA PRG:65EA 10 07 12 07 14 06 FF 06 12 07 14 05 14 06 FF 05 - .byte $14, $06, $14, $03, $14, $06, $FF, $04, $14, $06, $14, $01, $14, $06, $FF, $00 ; CPU:$E5FA PRG:65FA 14 06 14 03 14 06 FF 04 14 06 14 01 14 06 FF 00 - .byte $0C, $16, $FF, $00, $0A, $12, $FF, $00, $08, $0F, $FF, $00, $04, $0C, $FF, $00 ; CPU:$E60A PRG:660A 0C 16 FF 00 0A 12 FF 00 08 0F FF 00 04 0C FF 00 - .byte $05, $09, $FF, $00, $02, $05, $FF, $00, $01, $03, $FF, $00, $00, $00, $FF, $45 ; CPU:$E61A PRG:661A 05 09 FF 00 02 05 FF 00 01 03 FF 00 00 00 FF 45 - .byte $E6, $56, $E6, $67, $E6, $00, $00, $70, $E6, $75, $E6, $7A, $E6, $7F, $E6, $84 ; CPU:$E62A PRG:662A E6 56 E6 67 E6 00 00 70 E6 75 E6 7A E6 7F E6 84 - .byte $E6, $89, $E6, $8E, $E6, $93, $E6, $98, $E6, $9D, $E6, $01, $21, $0E, $00, $01 ; CPU:$E63A PRG:663A E6 89 E6 8E E6 93 E6 98 E6 9D E6 01 21 0E 00 01 - .byte $21, $8B, $01, $01, $21, $EB, $02, $01, $22, $4B, $03, $00, $02, $21, $0A, $04 ; CPU:$E64A PRG:664A 21 8B 01 01 21 EB 02 01 22 4B 03 00 02 21 0A 04 - .byte $02, $21, $8A, $04, $02, $21, $EA, $04, $02, $22, $4A, $04, $00, $01, $21, $EF ; CPU:$E65A PRG:665A 02 21 8A 04 02 21 EA 04 02 22 4A 04 00 01 21 EF - .byte $05, $01, $22, $4B, $03, $00, $01, $21, $F8, $06, $00, $01, $25, $F8, $06, $00 ; CPU:$E66A PRG:666A 05 01 22 4B 03 00 01 21 F8 06 00 01 25 F8 06 00 - .byte $02, $21, $F8, $07, $00, $02, $25, $F8, $07, $00, $01, $21, $04, $05, $00, $01 ; CPU:$E67A PRG:667A 02 21 F8 07 00 02 25 F8 07 00 01 21 04 05 00 01 - .byte $25, $04, $05, $00, $01, $20, $8C, $08, $00, $01, $20, $82, $09, $00, $01, $20 ; CPU:$E68A PRG:668A 25 04 05 00 01 20 8C 08 00 01 20 82 09 00 01 20 - .byte $97, $0A, $00, $01, $21, $CC, $0B, $01, $22, $0C, $0C, $01, $22, $4C, $0D, $00 ; CPU:$E69A PRG:669A 97 0A 00 01 21 CC 0B 01 22 0C 0C 01 22 4C 0D 00 - .byte $E7, $E6, $EC, $E6, $F6, $E6, $FF, $E6, $0A, $E7, $50, $04, $0C, $E7, $12, $E7 ; CPU:$E6AA PRG:66AA E7 E6 EC E6 F6 E6 FF E6 0A E7 50 04 0C E7 12 E7 - .byte $08, $07, $10, $07, $18, $07, $C6, $E6, $CF, $E6, $D9, $E6, $08, $31, $2D, $50 ; CPU:$E6BA PRG:66BA 08 07 10 07 18 07 C6 E6 CF E6 D9 E6 08 31 2D 50 - .byte $4C, $41, $59, $45, $52, $09, $32, $2D, $50, $4C, $41, $59, $45, $52, $53, $0D ; CPU:$E6CA PRG:66CA 4C 41 59 45 52 09 32 2D 50 4C 41 59 45 52 53 0D - .byte $EA, $EB, $EC, $ED, $EE, $EF, $2D, $FA, $2D, $FB, $FC, $FD, $FE, $04, $4D, $45 ; CPU:$E6DA PRG:66DA EA EB EC ED EE EF 2D FA 2D FB FC FD FE 04 4D 45 - .byte $4E, $55, $09, $43, $48, $41, $52, $00, $54, $45, $53, $54, $08, $4F, $42, $4A ; CPU:$E6EA PRG:66EA 4E 55 09 43 48 41 52 00 54 45 53 54 08 4F 42 4A - .byte $00, $54, $45, $53, $54, $0A, $53, $4F, $55, $4E, $44, $00, $54, $45, $53, $54 ; CPU:$E6FA PRG:66FA 00 54 45 53 54 0A 53 4F 55 4E 44 00 54 45 53 54 - .byte $10, $00, $05, $50, $41, $55, $53, $45, $05, $2D, $60, $0A, $AA, $BD, $29, $E6 ; CPU:$E70A PRG:670A 10 00 05 50 41 55 53 45 05 2D 60 0A AA BD 29 E6 - .byte $85, $02, $BD, $2A, $E6, $85, $03, $60, $B1, $02, $C8, $0A, $AA, $BD, $AA, $E6 ; CPU:$E71A PRG:671A 85 02 BD 2A E6 85 03 60 B1 02 C8 0A AA BD AA E6 - .byte $85, $00, $BD, $AB, $E6, $85, $01, $60, $0A, $AA, $A5, $24, $09, $04, $B0, $02 ; CPU:$E72A PRG:672A 85 00 BD AB E6 85 01 60 0A AA A5 24 09 04 B0 02 - .byte $29, $FB, $85, $24, $29, $7F, $8D, $00, $20, $8A, $4A, $60, $A2, $00, $86, $04 ; CPU:$E73A PRG:673A 29 FB 85 24 29 7F 8D 00 20 8A 4A 60 A2 00 86 04 - .byte $A2, $03, $86, $05, $20, $15, $E7, $A0, $00, $B1, $02, $D0, $07, $A9, $00, $A4 ; CPU:$E74A PRG:674A A2 03 86 05 20 15 E7 A0 00 B1 02 D0 07 A9 00 A4 - .byte $2E, $91, $04, $60, $48, $C8, $20, $E6, $E7, $C9, $7F, $D0, $04, $68, $4C, $53 ; CPU:$E75A PRG:675A 2E 91 04 60 48 C8 20 E6 E7 C9 7F D0 04 68 4C 53 - .byte $E7, $20, $E6, $E7, $20, $22, $E7, $84, $07, $A0, $00, $B1, $00, $C8, $84, $06 ; CPU:$E76A PRG:676A E7 20 E6 E7 20 22 E7 84 07 A0 00 B1 00 C8 84 06 - .byte $A4, $2E, $91, $04, $E6, $2E, $AA, $68, $C9, $01, $D0, $14, $A4, $06, $B1, $00 ; CPU:$E77A PRG:677A A4 2E 91 04 E6 2E AA 68 C9 01 D0 14 A4 06 B1 00 - .byte $E6, $06, $A4, $2E, $91, $04, $E6, $2E, $CA, $D0, $F1, $A4, $07, $4C, $53, $E7 ; CPU:$E78A PRG:678A E6 06 A4 2E 91 04 E6 2E CA D0 F1 A4 07 4C 53 E7 - .byte $C9, $02, $D0, $0F, $A4, $06, $B1, $00, $A4, $2E, $91, $04, $E6, $2E, $CA, $D0 ; CPU:$E79A PRG:679A C9 02 D0 0F A4 06 B1 00 A4 2E 91 04 E6 2E CA D0 - .byte $F7, $F0, $E8, $C9, $03, $D0, $04, $A9, $FF, $D0, $06, $C9, $04, $D0, $DC, $A9 ; CPU:$E7AA PRG:67AA F7 F0 E8 C9 03 D0 04 A9 FF D0 06 C9 04 D0 DC A9 - .byte $00, $85, $08, $8A, $A4, $06, $4A, $90, $07, $B1, $00, $E6, $06, $4C, $DC, $E7 ; CPU:$E7BA PRG:67BA 00 85 08 8A A4 06 4A 90 07 B1 00 E6 06 4C DC E7 - .byte $B1, $00, $E6, $06, $48, $29, $F0, $4A, $4A, $4A, $4A, $20, $F4, $E7, $68, $CA ; CPU:$E7CA PRG:67CA B1 00 E6 06 48 29 F0 4A 4A 4A 4A 20 F4 E7 68 CA - .byte $F0, $B9, $29, $0F, $20, $F4, $E7, $CA, $D0, $E6, $F0, $AF, $B1, $02, $C8, $84 ; CPU:$E7DA PRG:67DA F0 B9 29 0F 20 F4 E7 CA D0 E6 F0 AF B1 02 C8 84 - .byte $07, $A4, $2E, $91, $04, $E6, $2E, $A4, $07, $60, $D0, $08, $24, $08, $30, $0A ; CPU:$E7EA PRG:67EA 07 A4 2E 91 04 E6 2E A4 07 60 D0 08 24 08 30 0A - .byte $E0, $01, $D0, $08, $24, $08, $30, $02, $C6, $08, $09, $30, $A4, $2E, $91, $04 ; CPU:$E7FA PRG:67FA E0 01 D0 08 24 08 30 02 C6 08 09 30 A4 2E 91 04 - .byte $E6, $2E, $60, $A5, $27, $10, $FC, $A5, $27, $09, $40, $85, $27, $A9, $88, $8D ; CPU:$E80A PRG:680A E6 2E 60 A5 27 10 FC A5 27 09 40 85 27 A9 88 8D - .byte $00, $20, $A9, $00, $8D, $01, $20, $AD, $02, $20, $A9, $02, $85, $2D, $60, $4C ; CPU:$E81A PRG:681A 00 20 A9 00 8D 01 20 AD 02 20 A9 02 85 2D 60 4C - .byte $2B, $F4, $4C, $2F, $E8 ; CPU:$E82A PRG:682A 2B F4 4C 2F E8 + .byte $14, $CD ; CPU:$C4EA PRG:44EA 14 CD -- nop ZpCD,x (undocumented; ca65 cannot encode) + lda (ZpCD,x) ; CPU:$C4EC PRG:44EC A1 CD + lda Zp31 ; CPU:$C4EE PRG:44EE A5 31 + jsr Sub_C436 ; CPU:$C4F0 PRG:44F0 20 36 C4 + ora (ZpC5,x) ; CPU:$C4F3 PRG:44F3 01 C5 + and $63C5,x ; CPU:$C4F5 PRG:44F5 3D C5 63 + cmp VramWritePtrHi ; CPU:$C4F8 PRG:44F8 C5 01 + .byte $03, $00 ; CPU:$C4FA PRG:44FA 03 00 -- slo (Zp00,x) (undocumented; ca65 cannot encode) + brk ; CPU:$C4FC PRG:44FC 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C4FD +; Global: Branch target inside Label: taken when C4FD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C4FD: + brk ; CPU:$C4FD PRG:44FD 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C4FE +; Global: Branch target inside Label: taken when C4FE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C4FE: + brk ; CPU:$C4FE PRG:44FE 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C4FF +; Global: Branch target inside Label: taken when C4FF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C4FF: + brk ; CPU:$C4FF PRG:44FF 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C500 +; Global: Branch target inside Label: taken when C500. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C500: + brk ; CPU:$C500 PRG:4500 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C501 +; Global: Branch target inside Label: taken when C501. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C501: + ldx #$00 ; CPU:$C501 PRG:4501 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear6 +; Global: Branch target inside IrqHandler: taken when OnCarryClear6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear6: + lda $C4F9,x ; CPU:$C503 PRG:4503 BD F9 C4 + sta Zp3E,x ; CPU:$C506 PRG:4506 95 3E + sta Zp4E,x ; CPU:$C508 PRG:4508 95 4E + inx ; CPU:$C50A PRG:450A E8 + cpx #$10 ; CPU:$C50B PRG:450B E0 10 + bcc IrqHandler_OnCarryClear6 ; CPU:$C50D PRG:450D 90 F4 + lda PpuCtrlShadow ; CPU:$C50F PRG:450F A5 24 + and #$FE ; CPU:$C511 PRG:4511 29 FE + sta PpuCtrlShadow ; CPU:$C513 PRG:4513 85 24 + lda Zp36 ; CPU:$C515 PRG:4515 A5 36 + and #$BF ; CPU:$C517 PRG:4517 29 BF + sta Zp36 ; CPU:$C519 PRG:4519 85 36 + lda #$00 ; CPU:$C51B PRG:451B A9 00 + sta Zp3C ; CPU:$C51D PRG:451D 85 3C + sta Zp8E ; CPU:$C51F PRG:451F 85 8E + jsr Sub_DE32 ; CPU:$C521 PRG:4521 20 32 DE + bit Zp8D ; CPU:$C524 PRG:4524 24 8D + bpl IrqHandler_Loop28 ; CPU:$C526 PRG:4526 10 05 + ldx #$01 ; CPU:$C528 PRG:4528 A2 01 + jsr IrqHandler_Loop46 ; CPU:$C52A PRG:452A 20 54 C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop28 +; Global: Branch target inside IrqHandler: taken when Loop28. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop28: + lda #$0A ; CPU:$C52D PRG:452D A9 0A + jsr Sub_E746 ; CPU:$C52F PRG:452F 20 46 E7 + lda #$0B ; CPU:$C532 PRG:4532 A9 0B + jsr Sub_E746 ; CPU:$C534 PRG:4534 20 46 E7 + lda #$0C ; CPU:$C537 PRG:4537 A9 0C + jsr Sub_E746 ; CPU:$C539 PRG:4539 20 46 E7 + rts ; CPU:$C53C PRG:453C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C53D +; Global: Branch target inside Label: taken when C53D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C53D: + inc ZpCE ; CPU:$C53D PRG:453D E6 CE + lda ZpCE ; CPU:$C53F PRG:453F A5 CE + cmp #$3C ; CPU:$C541 PRG:4541 C9 3C + bcs IrqHandler_Loop29 ; CPU:$C543 PRG:4543 B0 01 + rts ; CPU:$C545 PRG:4545 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop29 +; Global: Branch target inside IrqHandler: taken when Loop29. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop29: + jsr Sub_C766 ; CPU:$C546 PRG:4546 20 66 C7 + lda #$0D ; CPU:$C549 PRG:4549 A9 0D + jsr Sub_E746 ; CPU:$C54B PRG:454B 20 46 E7 + ldx #$58 ; CPU:$C54E PRG:454E A2 58 + ldy #$77 ; CPU:$C550 PRG:4550 A0 77 + lda #$3B ; CPU:$C552 PRG:4552 A9 3B +; ----------------------------------------------------------------------------- +; Routine: Sub_C554 +; Global: Branch target inside Sub: taken when C554. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C554: + stx $0410 ; CPU:$C554 PRG:4554 8E 10 04 + sty $0420 ; CPU:$C557 PRG:4557 8C 20 04 + sta $0430 ; CPU:$C55A PRG:455A 8D 30 04 + lda #$03 ; CPU:$C55D PRG:455D A9 03 + sta $0400 ; CPU:$C55F PRG:455F 8D 00 04 + rts ; CPU:$C562 PRG:4562 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C563 +; Global: Branch target inside Label: taken when C563. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C563: + bit Zp8D ; CPU:$C563 PRG:4563 24 8D + bpl IrqHandler_Loop30 ; CPU:$C565 PRG:4565 10 13 + lda Zp2A ; CPU:$C567 PRG:4567 A5 2A + and #$20 ; CPU:$C569 PRG:4569 29 20 + beq IrqHandler_Loop30 ; CPU:$C56B PRG:456B F0 0D + bit Zp28 ; CPU:$C56D PRG:456D 24 28 + bpl IrqHandler_Loop30 ; CPU:$C56F PRG:456F 10 09 + ldx #$01 ; CPU:$C571 PRG:4571 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_C573 +; Global: Branch target inside Sub: taken when C573. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C573: + stx Zp30 ; CPU:$C573 PRG:4573 86 30 + lda #$00 ; CPU:$C575 PRG:4575 A9 00 + sta Zp31 ; CPU:$C577 PRG:4577 85 31 + rts ; CPU:$C579 PRG:4579 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop30 +; Global: Branch target inside IrqHandler: taken when Loop30. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop30: + ldx $0420 ; CPU:$C57A PRG:457A AE 20 04 + cpx #$97 ; CPU:$C57D PRG:457D E0 97 + bne IrqHandler_Loop35 ; CPU:$C57F PRG:457F D0 3B + lda Zp28 ; CPU:$C581 PRG:4581 A5 28 + and #$30 ; CPU:$C583 PRG:4583 29 30 + beq IrqHandler_Loop31 ; CPU:$C585 PRG:4585 F0 05 + lda #$77 ; CPU:$C587 PRG:4587 A9 77 + jmp IrqHandler_Loop40 ; CPU:$C589 PRG:4589 4C 1D C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop31 +; Global: Branch target inside IrqHandler: taken when Loop31. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop31: + lda Zp28 ; CPU:$C58C PRG:458C A5 28 + and #$42 ; CPU:$C58E PRG:458E 29 42 + beq IrqHandler_Loop32 ; CPU:$C590 PRG:4590 F0 0D + lda Zp8E ; CPU:$C592 PRG:4592 A5 8E + and #$7F ; CPU:$C594 PRG:4594 29 7F + ldx #$0C ; CPU:$C596 PRG:4596 A2 0C + ldy #$20 ; CPU:$C598 PRG:4598 A0 20 + bne IrqHandler_Loop33 ; CPU:$C59A PRG:459A D0 11 + jmp IrqHandler_Loop34 ; CPU:$C59C PRG:459C 4C B9 C5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop32 +; Global: Branch target inside IrqHandler: taken when Loop32. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop32: + lda Zp28 ; CPU:$C59F PRG:459F A5 28 + and #$81 ; CPU:$C5A1 PRG:45A1 29 81 + beq IrqHandler_Loop34 ; CPU:$C5A3 PRG:45A3 F0 14 + lda Zp8E ; CPU:$C5A5 PRG:45A5 A5 8E + ora #$80 ; CPU:$C5A7 PRG:45A7 09 80 + ldx #$20 ; CPU:$C5A9 PRG:45A9 A2 20 + ldy #$0C ; CPU:$C5AB PRG:45AB A0 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop33 +; Global: Branch target inside IrqHandler: taken when Loop33. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop33: + sta Zp8E ; CPU:$C5AD PRG:45AD 85 8E + stx $018A ; CPU:$C5AF PRG:45AF 8E 8A 01 + sty $018B ; CPU:$C5B2 PRG:45B2 8C 8B 01 + lda #$80 ; CPU:$C5B5 PRG:45B5 A9 80 + sta Zp39 ; CPU:$C5B7 PRG:45B7 85 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop34 +; Global: Branch target inside IrqHandler: taken when Loop34. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop34: + jmp IrqHandler_Loop39 ; CPU:$C5B9 PRG:45B9 4C 0D C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop35 +; Global: Branch target inside IrqHandler: taken when Loop35. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop35: + lda Zp28 ; CPU:$C5BC PRG:45BC A5 28 + and #$10 ; CPU:$C5BE PRG:45BE 29 10 + beq IrqHandler_Loop38 ; CPU:$C5C0 PRG:45C0 F0 3D + lda #$01 ; CPU:$C5C2 PRG:45C2 A9 01 + sta Zp4B ; CPU:$C5C4 PRG:45C4 85 4B + sta Zp5B ; CPU:$C5C6 PRG:45C6 85 5B + lda #$00 ; CPU:$C5C8 PRG:45C8 A9 00 + sta Zp8C ; CPU:$C5CA PRG:45CA 85 8C + ldy #$01 ; CPU:$C5CC PRG:45CC A0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear7 +; Global: Branch target inside IrqHandler: taken when OnCarryClear7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear7: + lda #$2D ; CPU:$C5CE PRG:45CE A9 2D + sta $0718,y ; CPU:$C5D0 PRG:45D0 99 18 07 + iny ; CPU:$C5D3 PRG:45D3 C8 + cpy #$07 ; CPU:$C5D4 PRG:45D4 C0 07 + bcc IrqHandler_OnCarryClear7 ; CPU:$C5D6 PRG:45D6 90 F6 + lda #$30 ; CPU:$C5D8 PRG:45D8 A9 30 + sta $0718,y ; CPU:$C5DA PRG:45DA 99 18 07 + lda #$00 ; CPU:$C5DD PRG:45DD A9 00 + cpx #$87 ; CPU:$C5DF PRG:45DF E0 87 + bne IrqHandler_Loop36 ; CPU:$C5E1 PRG:45E1 D0 05 + ora #$80 ; CPU:$C5E3 PRG:45E3 09 80 + jmp Sub_C5EA ; CPU:$C5E5 PRG:45E5 4C EA C5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop36 +; Global: Branch target inside IrqHandler: taken when Loop36. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop36: + sta Zp4F ; CPU:$C5E8 PRG:45E8 85 4F +; ----------------------------------------------------------------------------- +; Routine: Sub_C5EA +; Global: Branch target inside Sub: taken when C5EA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C5EA: + sta Zp3C ; CPU:$C5EA PRG:45EA 85 3C + ldx #$00 ; CPU:$C5EC PRG:45EC A2 00 + bit Zp8D ; CPU:$C5EE PRG:45EE 24 8D + bpl IrqHandler_Loop37 ; CPU:$C5F0 PRG:45F0 10 06 + bit Zp2A ; CPU:$C5F2 PRG:45F2 24 2A + bvc IrqHandler_Loop37 ; CPU:$C5F4 PRG:45F4 50 02 + ldx #$80 ; CPU:$C5F6 PRG:45F6 A2 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop37 +; Global: Branch target inside IrqHandler: taken when Loop37. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop37: + stx Zp89 ; CPU:$C5F8 PRG:45F8 86 89 + ldx #$03 ; CPU:$C5FA PRG:45FA A2 03 + jmp Sub_C573 ; CPU:$C5FC PRG:45FC 4C 73 C5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop38 +; Global: Branch target inside IrqHandler: taken when Loop38. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop38: + lda Zp28 ; CPU:$C5FF PRG:45FF A5 28 + and #$24 ; CPU:$C601 PRG:4601 29 24 + beq IrqHandler_Loop39 ; CPU:$C603 PRG:4603 F0 08 + lda $0420 ; CPU:$C605 PRG:4605 AD 20 04 + clc ; CPU:$C608 PRG:4608 18 + adc #$10 ; CPU:$C609 PRG:4609 69 10 + bne IrqHandler_Loop40 ; CPU:$C60B PRG:460B D0 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop39 +; Global: Branch target inside IrqHandler: taken when Loop39. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop39: + lda Zp28 ; CPU:$C60D PRG:460D A5 28 + and #$08 ; CPU:$C60F PRG:460F 29 08 + beq IrqHandler_Loop41 ; CPU:$C611 PRG:4611 F0 0D + lda $0420 ; CPU:$C613 PRG:4613 AD 20 04 + cmp #$77 ; CPU:$C616 PRG:4616 C9 77 + beq IrqHandler_Loop41 ; CPU:$C618 PRG:4618 F0 06 + sec ; CPU:$C61A PRG:461A 38 + sbc #$10 ; CPU:$C61B PRG:461B E9 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop40 +; Global: Branch target inside IrqHandler: taken when Loop40. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop40: + sta $0420 ; CPU:$C61D PRG:461D 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop41 +; Global: Branch target inside IrqHandler: taken when Loop41. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop41: + bit Zp8D ; CPU:$C620 PRG:4620 24 8D + bmi IrqHandler_Loop42 ; CPU:$C622 PRG:4622 30 01 + rts ; CPU:$C624 PRG:4624 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop42 +; Global: Branch target inside IrqHandler: taken when Loop42. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop42: + ldx Zp3E ; CPU:$C625 PRG:4625 A6 3E + ldy ZpCE ; CPU:$C627 PRG:4627 A4 CE + lda Zp2A ; CPU:$C629 PRG:4629 A5 2A + and #$02 ; CPU:$C62B PRG:462B 29 02 + beq IrqHandler_Loop43 ; CPU:$C62D PRG:462D F0 08 + iny ; CPU:$C62F PRG:462F C8 + cpy #$10 ; CPU:$C630 PRG:4630 C0 10 + bcs IrqHandler_Loop45 ; CPU:$C632 PRG:4632 B0 1B + jmp Sub_C647 ; CPU:$C634 PRG:4634 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop43 +; Global: Branch target inside IrqHandler: taken when Loop43. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop43: + lda Zp2A ; CPU:$C637 PRG:4637 A5 2A + and #$01 ; CPU:$C639 PRG:4639 29 01 + beq IrqHandler_Loop44 ; CPU:$C63B PRG:463B F0 08 + iny ; CPU:$C63D PRG:463D C8 + cpy #$10 ; CPU:$C63E PRG:463E C0 10 + bcs IrqHandler_Loop49 ; CPU:$C640 PRG:4640 B0 50 + jmp Sub_C647 ; CPU:$C642 PRG:4642 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop44 +; Global: Branch target inside IrqHandler: taken when Loop44. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop44: + ldy #$00 ; CPU:$C645 PRG:4645 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C647 +; Global: Branch target inside Sub: taken when C647. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C647: + sty ZpCE ; CPU:$C647 PRG:4647 84 CE + lda Zp28 ; CPU:$C649 PRG:4649 A5 28 + and #$02 ; CPU:$C64B PRG:464B 29 02 + beq IrqHandler_Loop48 ; CPU:$C64D PRG:464D F0 3D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop45 +; Global: Branch target inside IrqHandler: taken when Loop45. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop45: + cpx #$20 ; CPU:$C64F PRG:464F E0 20 + bcs IrqHandler_Loop46 ; CPU:$C651 PRG:4651 B0 01 + inx ; CPU:$C653 PRG:4653 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop46 +; Global: Branch target inside IrqHandler: taken when Loop46. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop46: + stx Zp3E ; CPU:$C654 PRG:4654 86 3E + txa ; CPU:$C656 PRG:4656 8A + ldy #$00 ; CPU:$C657 PRG:4657 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C659 +; Global: Branch target inside Sub: taken when C659. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C659: + cmp #$0A ; CPU:$C659 PRG:4659 C9 0A + bcc IrqHandler_Loop47 ; CPU:$C65B PRG:465B 90 07 + sec ; CPU:$C65D PRG:465D 38 + sbc #$0A ; CPU:$C65E PRG:465E E9 0A + iny ; CPU:$C660 PRG:4660 C8 + jmp Sub_C659 ; CPU:$C661 PRG:4661 4C 59 C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop47 +; Global: Branch target inside IrqHandler: taken when Loop47. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop47: + tax ; CPU:$C664 PRG:4664 AA + lda #$22 ; CPU:$C665 PRG:4665 A9 22 + sta $0300 ; CPU:$C667 PRG:4667 8D 00 03 + lda #$90 ; CPU:$C66A PRG:466A A9 90 + sta $0301 ; CPU:$C66C PRG:466C 8D 01 03 + lda #$02 ; CPU:$C66F PRG:466F A9 02 + sta $0302 ; CPU:$C671 PRG:4671 8D 02 03 + tya ; CPU:$C674 PRG:4674 98 + ora #$30 ; CPU:$C675 PRG:4675 09 30 + sta $0303 ; CPU:$C677 PRG:4677 8D 03 03 + txa ; CPU:$C67A PRG:467A 8A + ora #$30 ; CPU:$C67B PRG:467B 09 30 + sta $0304 ; CPU:$C67D PRG:467D 8D 04 03 + lda #$00 ; CPU:$C680 PRG:4680 A9 00 + sta $0305 ; CPU:$C682 PRG:4682 8D 05 03 + lda #$05 ; CPU:$C685 PRG:4685 A9 05 + sta GameMode ; CPU:$C687 PRG:4687 85 2E + jmp IrqHandler_Loop50 ; CPU:$C689 PRG:4689 4C 9A C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop48 +; Global: Branch target inside IrqHandler: taken when Loop48. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop48: + lda Zp28 ; CPU:$C68C PRG:468C A5 28 + and #$01 ; CPU:$C68E PRG:468E 29 01 + beq IrqHandler_Loop50 ; CPU:$C690 PRG:4690 F0 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop49 +; Global: Branch target inside IrqHandler: taken when Loop49. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop49: + cpx #$02 ; CPU:$C692 PRG:4692 E0 02 + bcc IrqHandler_Loop50 ; CPU:$C694 PRG:4694 90 04 + dex ; CPU:$C696 PRG:4696 CA + jmp IrqHandler_Loop46 ; CPU:$C697 PRG:4697 4C 54 C6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop50 +; Global: Branch target inside IrqHandler: taken when Loop50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop50: + rts ; CPU:$C69A PRG:469A 60 +; ---- data $C69B-$C6E7 (77 bytes) ---- +LevelNameText: + .byte $A5, $31, $20, $36, $C4, $B0, $C6, $CD, $C6, $24, $C7, $71, $C7, $C6, $C8, $D7 ; CPU:$C69B PRG:069B A5 31 20 36 C4 B0 C6 CD C6 24 C7 71 C7 C6 C8 D7 + .byte $C8, $31, $C9, $50, $C9, $A9, $01, $20, $32, $DE, $A5, $24, $29, $FE, $85, $24 ; CPU:$C6AB PRG:46AB C8 31 C9 50 C9 A9 01 20 32 DE A5 24 29 FE 85 24 + .byte $A9, $00, $85, $20, $A9, $00, $85, $22, $20, $46, $E7, $A2, $50, $A0, $67, $4C ; CPU:$C6BB PRG:46BB A9 00 85 20 A9 00 85 22 20 46 E7 A2 50 A0 67 4C + .byte $52, $C5, $A5, $28, $29, $10, $F0, $1C, $A2, $02, $AD, $20, $04, $C9, $7F, $D0 ; CPU:$C6CB PRG:46CB 52 C5 A5 28 29 10 F0 1C A2 02 AD 20 04 C9 7F D0 + .byte $02, $A2, $04, $C9, $97, $D0, $02, $A2, $06, $86, $31, $A9, $00 ; CPU:$C6DB PRG:46DB 02 A2 04 C9 97 D0 02 A2 06 86 31 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C6E8 +; Global: Branch target inside Label: taken when C6E8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C6E8: + sta Zp33 ; CPU:$C6E8 PRG:46E8 85 33 + lda #$00 ; CPU:$C6EA PRG:46EA A9 00 + sta Zp34 ; CPU:$C6EC PRG:46EC 85 34 + rts ; CPU:$C6EE PRG:46EE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C6EF +; Global: Branch target inside Label: taken when C6EF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C6EF: + ldx #$03 ; CPU:$C6EF PRG:46EF A2 03 + lda Zp32 ; CPU:$C6F1 PRG:46F1 A5 32 + and #$0C ; CPU:$C6F3 PRG:46F3 29 0C + bne IrqHandler_Loop51 ; CPU:$C6F5 PRG:46F5 D0 01 + tax ; CPU:$C6F7 PRG:46F7 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop51 +; Global: Branch target inside IrqHandler: taken when Loop51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop51: + stx $0400 ; CPU:$C6F8 PRG:46F8 8E 00 04 + lda Zp28 ; CPU:$C6FB PRG:46FB A5 28 + and #$08 ; CPU:$C6FD PRG:46FD 29 08 + beq IrqHandler_Loop53 ; CPU:$C6FF PRG:46FF F0 0F + lda $0420 ; CPU:$C701 PRG:4701 AD 20 04 + cmp #$67 ; CPU:$C704 PRG:4704 C9 67 + beq IrqHandler_Loop52 ; CPU:$C706 PRG:4706 F0 03 + sec ; CPU:$C708 PRG:4708 38 + sbc #$18 ; CPU:$C709 PRG:4709 E9 18 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop52 +; Global: Branch target inside IrqHandler: taken when Loop52. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop52: + bne IrqHandler_Loop54 ; CPU:$C70B PRG:470B D0 13 + jmp IrqHandler_Loop55 ; CPU:$C70D PRG:470D 4C 23 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop53 +; Global: Branch target inside IrqHandler: taken when Loop53. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop53: + lda Zp28 ; CPU:$C710 PRG:4710 A5 28 + and #$04 ; CPU:$C712 PRG:4712 29 04 + beq IrqHandler_Loop55 ; CPU:$C714 PRG:4714 F0 0D + lda $0420 ; CPU:$C716 PRG:4716 AD 20 04 + cmp #$97 ; CPU:$C719 PRG:4719 C9 97 + beq IrqHandler_Loop54 ; CPU:$C71B PRG:471B F0 03 + clc ; CPU:$C71D PRG:471D 18 + adc #$18 ; CPU:$C71E PRG:471E 69 18 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop54 +; Global: Branch target inside IrqHandler: taken when Loop54. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop54: + sta $0420 ; CPU:$C720 PRG:4720 8D 20 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop55 +; Global: Branch target inside IrqHandler: taken when Loop55. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop55: + rts ; CPU:$C723 PRG:4723 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C724 +; Global: Branch target inside Label: taken when C724. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C724: + lda #$00 ; CPU:$C724 PRG:4724 A9 00 + sta $07E0 ; CPU:$C726 PRG:4726 8D E0 07 + lda #$02 ; CPU:$C729 PRG:4729 A9 02 + sta $07E1 ; CPU:$C72B PRG:472B 8D E1 07 + lda #$00 ; CPU:$C72E PRG:472E A9 00 + sta $0400 ; CPU:$C730 PRG:4730 8D 00 04 + lda Zp33 ; CPU:$C733 PRG:4733 A5 33 + clc ; CPU:$C735 PRG:4735 18 + adc #$04 ; CPU:$C736 PRG:4736 69 04 + asl a ; CPU:$C738 PRG:4738 0A + ldy #$21 ; CPU:$C739 PRG:4739 A0 21 + bcc IrqHandler_Loop56 ; CPU:$C73B PRG:473B 90 01 + iny ; CPU:$C73D PRG:473D C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop56 +; Global: Branch target inside IrqHandler: taken when Loop56. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop56: + sty $0300 ; CPU:$C73E PRG:473E 8C 00 03 + sta $0301 ; CPU:$C741 PRG:4741 8D 01 03 + lda #$10 ; CPU:$C744 PRG:4744 A9 10 + sta $0302 ; CPU:$C746 PRG:4746 8D 02 03 + lda Zp33 ; CPU:$C749 PRG:4749 A5 33 + ldx #$00 ; CPU:$C74B PRG:474B A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear8 +; Global: Branch target inside IrqHandler: taken when OnCarryClear8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear8: + sta $0303,x ; CPU:$C74D PRG:474D 9D 03 03 + clc ; CPU:$C750 PRG:4750 18 + adc #$01 ; CPU:$C751 PRG:4751 69 01 + inx ; CPU:$C753 PRG:4753 E8 + cpx #$10 ; CPU:$C754 PRG:4754 E0 10 + bcc IrqHandler_OnCarryClear8 ; CPU:$C756 PRG:4756 90 F5 + lda #$00 ; CPU:$C758 PRG:4758 A9 00 + sta $0303,x ; CPU:$C75A PRG:475A 9D 03 03 + lda Zp33 ; CPU:$C75D PRG:475D A5 33 + clc ; CPU:$C75F PRG:475F 18 + adc #$10 ; CPU:$C760 PRG:4760 69 10 + sta Zp33 ; CPU:$C762 PRG:4762 85 33 + bne IrqHandler_Loop57 ; CPU:$C764 PRG:4764 D0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_C766 +; Global: Branch target inside Sub: taken when C766. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C766: + inc Zp31 ; CPU:$C766 PRG:4766 E6 31 + lda #$00 ; CPU:$C768 PRG:4768 A9 00 + sta ZpCE ; CPU:$C76A PRG:476A 85 CE + sta Zp33 ; CPU:$C76C PRG:476C 85 33 + sta Zp34 ; CPU:$C76E PRG:476E 85 34 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop57 +; Global: Branch target inside IrqHandler: taken when Loop57. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop57: + rts ; CPU:$C770 PRG:4770 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C771 +; Global: Branch target inside Label: taken when C771. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C771: + lda Zp33 ; CPU:$C771 PRG:4771 A5 33 + bne IrqHandler_Loop58 ; CPU:$C773 PRG:4773 D0 06 + lda Zp28 ; CPU:$C775 PRG:4775 A5 28 + and #$10 ; CPU:$C777 PRG:4777 29 10 + beq IrqHandler_Loop61 ; CPU:$C779 PRG:4779 F0 32 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop58 +; Global: Branch target inside IrqHandler: taken when Loop58. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop58: + lda Zp33 ; CPU:$C77B PRG:477B A5 33 + clc ; CPU:$C77D PRG:477D 18 + adc #$04 ; CPU:$C77E PRG:477E 69 04 + asl a ; CPU:$C780 PRG:4780 0A + ldy #$21 ; CPU:$C781 PRG:4781 A0 21 + bcc IrqHandler_Loop59 ; CPU:$C783 PRG:4783 90 01 + iny ; CPU:$C785 PRG:4785 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop59 +; Global: Branch target inside IrqHandler: taken when Loop59. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop59: + sty $0300 ; CPU:$C786 PRG:4786 8C 00 03 + sta $0301 ; CPU:$C789 PRG:4789 8D 01 03 + lda #$10 ; CPU:$C78C PRG:478C A9 10 + sta $0302 ; CPU:$C78E PRG:478E 8D 02 03 + lda #$00 ; CPU:$C791 PRG:4791 A9 00 + tax ; CPU:$C793 PRG:4793 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear9 +; Global: Branch target inside IrqHandler: taken when OnCarryClear9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear9: + sta $0303,x ; CPU:$C794 PRG:4794 9D 03 03 + inx ; CPU:$C797 PRG:4797 E8 + cpx #$10 ; CPU:$C798 PRG:4798 E0 10 + bcc IrqHandler_OnCarryClear9 ; CPU:$C79A PRG:479A 90 F8 + sta $0303,x ; CPU:$C79C PRG:479C 9D 03 03 + lda Zp33 ; CPU:$C79F PRG:479F A5 33 + clc ; CPU:$C7A1 PRG:47A1 18 + adc #$10 ; CPU:$C7A2 PRG:47A2 69 10 + sta Zp33 ; CPU:$C7A4 PRG:47A4 85 33 + bne IrqHandler_Loop60 ; CPU:$C7A6 PRG:47A6 D0 04 + lda #$00 ; CPU:$C7A8 PRG:47A8 A9 00 + sta Zp31 ; CPU:$C7AA PRG:47AA 85 31 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop60 +; Global: Branch target inside IrqHandler: taken when Loop60. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop60: + rts ; CPU:$C7AC PRG:47AC 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop61 +; Global: Branch target inside IrqHandler: taken when Loop61. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop61: + ldx Zp34 ; CPU:$C7AD PRG:47AD A6 34 + lda Zp28 ; CPU:$C7AF PRG:47AF A5 28 + and #$0C ; CPU:$C7B1 PRG:47B1 29 0C + beq IrqHandler_Loop64 ; CPU:$C7B3 PRG:47B3 F0 13 + cmp #$08 ; CPU:$C7B5 PRG:47B5 C9 08 + bcc IrqHandler_Loop63 ; CPU:$C7B7 PRG:47B7 90 0A + inx ; CPU:$C7B9 PRG:47B9 E8 + cpx #$10 ; CPU:$C7BA PRG:47BA E0 10 + bcc IrqHandler_Loop62 ; CPU:$C7BC PRG:47BC 90 02 + ldx #$00 ; CPU:$C7BE PRG:47BE A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop62 +; Global: Branch target inside IrqHandler: taken when Loop62. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop62: + jmp IrqHandler_Loop64 ; CPU:$C7C0 PRG:47C0 4C C8 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop63 +; Global: Branch target inside IrqHandler: taken when Loop63. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop63: + dex ; CPU:$C7C3 PRG:47C3 CA + bpl IrqHandler_Loop64 ; CPU:$C7C4 PRG:47C4 10 02 + ldx #$0F ; CPU:$C7C6 PRG:47C6 A2 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop64 +; Global: Branch target inside IrqHandler: taken when Loop64. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop64: + stx Zp34 ; CPU:$C7C8 PRG:47C8 86 34 + lda Zp2A ; CPU:$C7CA PRG:47CA A5 2A + and #$20 ; CPU:$C7CC PRG:47CC 29 20 + bne IrqHandler_Loop67 ; CPU:$C7CE PRG:47CE D0 4F + jsr Sub_C88A ; CPU:$C7D0 PRG:47D0 20 8A C8 + bit Zp28 ; CPU:$C7D3 PRG:47D3 24 28 + bpl IrqHandler_Loop65 ; CPU:$C7D5 PRG:47D5 10 23 + ldy $07E0 ; CPU:$C7D7 PRG:47D7 AC E0 07 + iny ; CPU:$C7DA PRG:47DA C8 + iny ; CPU:$C7DB PRG:47DB C8 + iny ; CPU:$C7DC PRG:47DC C8 + iny ; CPU:$C7DD PRG:47DD C8 + sty $07E0 ; CPU:$C7DE PRG:47DE 8C E0 07 + ldy $07E1 ; CPU:$C7E1 PRG:47E1 AC E1 07 + iny ; CPU:$C7E4 PRG:47E4 C8 + iny ; CPU:$C7E5 PRG:47E5 C8 + iny ; CPU:$C7E6 PRG:47E6 C8 + iny ; CPU:$C7E7 PRG:47E7 C8 + sty $07E1 ; CPU:$C7E8 PRG:47E8 8C E1 07 + inc $07E2 ; CPU:$C7EB PRG:47EB EE E2 07 + inc $07E3 ; CPU:$C7EE PRG:47EE EE E3 07 + inc $07E4 ; CPU:$C7F1 PRG:47F1 EE E4 07 + inc $07E5 ; CPU:$C7F4 PRG:47F4 EE E5 07 + jmp IrqHandler_Loop66 ; CPU:$C7F7 PRG:47F7 4C 1C C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop65 +; Global: Branch target inside IrqHandler: taken when Loop65. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop65: + bvc IrqHandler_Loop66 ; CPU:$C7FA PRG:47FA 50 20 + ldy $07E0 ; CPU:$C7FC PRG:47FC AC E0 07 + dey ; CPU:$C7FF PRG:47FF 88 + dey ; CPU:$C800 PRG:4800 88 + dey ; CPU:$C801 PRG:4801 88 + dey ; CPU:$C802 PRG:4802 88 + sty $07E0 ; CPU:$C803 PRG:4803 8C E0 07 + ldy $07E1 ; CPU:$C806 PRG:4806 AC E1 07 + dey ; CPU:$C809 PRG:4809 88 + dey ; CPU:$C80A PRG:480A 88 + dey ; CPU:$C80B PRG:480B 88 + dey ; CPU:$C80C PRG:480C 88 + sty $07E1 ; CPU:$C80D PRG:480D 8C E1 07 + dec $07E2 ; CPU:$C810 PRG:4810 CE E2 07 + dec $07E3 ; CPU:$C813 PRG:4813 CE E3 07 + dec $07E4 ; CPU:$C816 PRG:4816 CE E4 07 + dec $07E5 ; CPU:$C819 PRG:4819 CE E5 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop66 +; Global: Branch target inside IrqHandler: taken when Loop66. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop66: + jmp IrqHandler_Loop76 ; CPU:$C81C PRG:481C 4C 89 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop67 +; Global: Branch target inside IrqHandler: taken when Loop67. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop67: + bit Zp28 ; CPU:$C81F PRG:481F 24 28 + bpl IrqHandler_Loop71 ; CPU:$C821 PRG:4821 10 2C + lda $0180,x ; CPU:$C823 PRG:4823 BD 80 01 + cmp #$0C ; CPU:$C826 PRG:4826 C9 0C + bne IrqHandler_Loop68 ; CPU:$C828 PRG:4828 D0 05 + lda #$0F ; CPU:$C82A PRG:482A A9 0F + jmp Sub_C882 ; CPU:$C82C PRG:482C 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop68 +; Global: Branch target inside IrqHandler: taken when Loop68. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop68: + cmp #$3C ; CPU:$C82F PRG:482F C9 3C + bne IrqHandler_Loop69 ; CPU:$C831 PRG:4831 D0 05 + lda #$00 ; CPU:$C833 PRG:4833 A9 00 + jmp Sub_C882 ; CPU:$C835 PRG:4835 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop69 +; Global: Branch target inside IrqHandler: taken when Loop69. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop69: + and #$0F ; CPU:$C838 PRG:4838 29 0F + cmp #$0C ; CPU:$C83A PRG:483A C9 0C + bne IrqHandler_Loop70 ; CPU:$C83C PRG:483C D0 05 + lda #$04 ; CPU:$C83E PRG:483E A9 04 + jmp Sub_C845 ; CPU:$C840 PRG:4840 4C 45 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop70 +; Global: Branch target inside IrqHandler: taken when Loop70. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop70: + lda #$01 ; CPU:$C843 PRG:4843 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_C845 +; Global: Branch target inside Sub: taken when C845. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C845: + clc ; CPU:$C845 PRG:4845 18 + adc $0180,x ; CPU:$C846 PRG:4846 7D 80 01 + jmp Sub_C882 ; CPU:$C849 PRG:4849 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_C84C +; Global: Branch target inside Label: taken when C84C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C84C: + jmp IrqHandler_Loop76 ; CPU:$C84C PRG:484C 4C 89 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop71 +; Global: Branch target inside IrqHandler: taken when Loop71. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop71: + bvc IrqHandler_Loop76 ; CPU:$C84F PRG:484F 50 38 + lda $0180,x ; CPU:$C851 PRG:4851 BD 80 01 + cmp #$00 ; CPU:$C854 PRG:4854 C9 00 + bne IrqHandler_Loop72 ; CPU:$C856 PRG:4856 D0 05 + lda #$3C ; CPU:$C858 PRG:4858 A9 3C + jmp Sub_C882 ; CPU:$C85A PRG:485A 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop72 +; Global: Branch target inside IrqHandler: taken when Loop72. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop72: + cmp #$10 ; CPU:$C85D PRG:485D C9 10 + bne IrqHandler_Loop73 ; CPU:$C85F PRG:485F D0 05 + lda #$0F ; CPU:$C861 PRG:4861 A9 0F + jmp Sub_C882 ; CPU:$C863 PRG:4863 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop73 +; Global: Branch target inside IrqHandler: taken when Loop73. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop73: + cmp #$0F ; CPU:$C866 PRG:4866 C9 0F + bne IrqHandler_Loop74 ; CPU:$C868 PRG:4868 D0 05 + lda #$0C ; CPU:$C86A PRG:486A A9 0C + jmp Sub_C882 ; CPU:$C86C PRG:486C 4C 82 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop74 +; Global: Branch target inside IrqHandler: taken when Loop74. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop74: + and #$0F ; CPU:$C86F PRG:486F 29 0F + bne IrqHandler_Loop75 ; CPU:$C871 PRG:4871 D0 05 + lda #$04 ; CPU:$C873 PRG:4873 A9 04 + jmp Sub_C87A ; CPU:$C875 PRG:4875 4C 7A C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop75 +; Global: Branch target inside IrqHandler: taken when Loop75. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop75: + lda #$01 ; CPU:$C878 PRG:4878 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_C87A +; Global: Branch target inside Sub: taken when C87A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C87A: + sta VramWritePtrHi ; CPU:$C87A PRG:487A 85 01 + lda $0180,x ; CPU:$C87C PRG:487C BD 80 01 + sec ; CPU:$C87F PRG:487F 38 + sbc VramWritePtrHi ; CPU:$C880 PRG:4880 E5 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_C882 +; Global: Branch target inside Sub: taken when C882. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C882: + sta $0180,x ; CPU:$C882 PRG:4882 9D 80 01 + lda #$C0 ; CPU:$C885 PRG:4885 A9 C0 + sta Zp39 ; CPU:$C887 PRG:4887 85 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop76 +; Global: Branch target inside IrqHandler: taken when Loop76. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop76: + rts ; CPU:$C889 PRG:4889 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C88A +; Global: Branch target inside Sub: taken when C88A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C88A: + ldx Zp20 ; CPU:$C88A PRG:488A A6 20 + ldy Zp22 ; CPU:$C88C PRG:488C A4 22 + lda Zp2A ; CPU:$C88E PRG:488E A5 2A + lsr a ; CPU:$C890 PRG:4890 4A + bcc IrqHandler_Loop77 ; CPU:$C891 PRG:4891 90 07 + lsr a ; CPU:$C893 PRG:4893 4A + inx ; CPU:$C894 PRG:4894 E8 + beq IrqHandler_Loop78 ; CPU:$C895 PRG:4895 F0 0B + jmp IrqHandler_Loop79 ; CPU:$C897 PRG:4897 4C AA C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop77 +; Global: Branch target inside IrqHandler: taken when Loop77. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop77: + lsr a ; CPU:$C89A PRG:489A 4A + bcc IrqHandler_Loop79 ; CPU:$C89B PRG:489B 90 0D + dex ; CPU:$C89D PRG:489D CA + cpx #$FF ; CPU:$C89E PRG:489E E0 FF + bne IrqHandler_Loop79 ; CPU:$C8A0 PRG:48A0 D0 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop78 +; Global: Branch target inside IrqHandler: taken when Loop78. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop78: + pha ; CPU:$C8A2 PRG:48A2 48 + lda PpuCtrlShadow ; CPU:$C8A3 PRG:48A3 A5 24 + eor #$01 ; CPU:$C8A5 PRG:48A5 49 01 + sta PpuCtrlShadow ; CPU:$C8A7 PRG:48A7 85 24 + pla ; CPU:$C8A9 PRG:48A9 68 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop79 +; Global: Branch target inside IrqHandler: taken when Loop79. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop79: + lsr a ; CPU:$C8AA PRG:48AA 4A + bcc IrqHandler_Loop81 ; CPU:$C8AB PRG:48AB 90 0A + iny ; CPU:$C8AD PRG:48AD C8 + cpy #$F0 ; CPU:$C8AE PRG:48AE C0 F0 + bcc IrqHandler_Loop80 ; CPU:$C8B0 PRG:48B0 90 02 + ldy #$00 ; CPU:$C8B2 PRG:48B2 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop80 +; Global: Branch target inside IrqHandler: taken when Loop80. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop80: + jmp IrqHandler_Loop82 ; CPU:$C8B4 PRG:48B4 4C C1 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop81 +; Global: Branch target inside IrqHandler: taken when Loop81. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop81: + lsr a ; CPU:$C8B7 PRG:48B7 4A + bcc IrqHandler_Loop82 ; CPU:$C8B8 PRG:48B8 90 07 + dey ; CPU:$C8BA PRG:48BA 88 + cpy #$FF ; CPU:$C8BB PRG:48BB C0 FF + bne IrqHandler_Loop82 ; CPU:$C8BD PRG:48BD D0 02 + ldy #$EF ; CPU:$C8BF PRG:48BF A0 EF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop82 +; Global: Branch target inside IrqHandler: taken when Loop82. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop82: + stx Zp20 ; CPU:$C8C1 PRG:48C1 86 20 + sty Zp22 ; CPU:$C8C3 PRG:48C3 84 22 + rts ; CPU:$C8C5 PRG:48C5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C8C6 +; Global: Branch target inside Label: taken when C8C6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C8C6: + lda #$01 ; CPU:$C8C6 PRG:48C6 A9 01 + jsr Sub_E746 ; CPU:$C8C8 PRG:48C8 20 46 E7 + jsr Sub_C766 ; CPU:$C8CB PRG:48CB 20 66 C7 + ldx #$80 ; CPU:$C8CE PRG:48CE A2 80 + ldy #$80 ; CPU:$C8D0 PRG:48D0 A0 80 + lda #$00 ; CPU:$C8D2 PRG:48D2 A9 00 + jmp Sub_C554 ; CPU:$C8D4 PRG:48D4 4C 54 C5 +; ----------------------------------------------------------------------------- +; Routine: Label_C8D7 +; Global: Branch target inside Label: taken when C8D7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C8D7: + lda Zp28 ; CPU:$C8D7 PRG:48D7 A5 28 + and #$10 ; CPU:$C8D9 PRG:48D9 29 10 + beq IrqHandler_Loop83 ; CPU:$C8DB PRG:48DB F0 05 + lda #$00 ; CPU:$C8DD PRG:48DD A9 00 + sta Zp31 ; CPU:$C8DF PRG:48DF 85 31 + rts ; CPU:$C8E1 PRG:48E1 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop83 +; Global: Branch target inside IrqHandler: taken when Loop83. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop83: + ldx Zp34 ; CPU:$C8E2 PRG:48E2 A6 34 + lda Zp28 ; CPU:$C8E4 PRG:48E4 A5 28 + and #$0C ; CPU:$C8E6 PRG:48E6 29 0C + beq IrqHandler_Loop85 ; CPU:$C8E8 PRG:48E8 F0 09 + cmp #$08 ; CPU:$C8EA PRG:48EA C9 08 + bcc IrqHandler_Loop84 ; CPU:$C8EC PRG:48EC 90 04 + inx ; CPU:$C8EE PRG:48EE E8 + jmp IrqHandler_Loop85 ; CPU:$C8EF PRG:48EF 4C F3 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop84 +; Global: Branch target inside IrqHandler: taken when Loop84. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop84: + dex ; CPU:$C8F2 PRG:48F2 CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop85 +; Global: Branch target inside IrqHandler: taken when Loop85. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop85: + cpx #$20 ; CPU:$C8F3 PRG:48F3 E0 20 + bcc IrqHandler_Loop86 ; CPU:$C8F5 PRG:48F5 90 02 + ldx #$10 ; CPU:$C8F7 PRG:48F7 A2 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop86 +; Global: Branch target inside IrqHandler: taken when Loop86. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop86: + cpx #$10 ; CPU:$C8F9 PRG:48F9 E0 10 + bcs IrqHandler_Loop87 ; CPU:$C8FB PRG:48FB B0 02 + ldx #$1F ; CPU:$C8FD PRG:48FD A2 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop87 +; Global: Branch target inside IrqHandler: taken when Loop87. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop87: + stx Zp34 ; CPU:$C8FF PRG:48FF 86 34 + lda Zp2A ; CPU:$C901 PRG:4901 A5 2A + and #$20 ; CPU:$C903 PRG:4903 29 20 + beq IrqHandler_Loop88 ; CPU:$C905 PRG:4905 F0 03 + jmp IrqHandler_Loop67 ; CPU:$C907 PRG:4907 4C 1F C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop88 +; Global: Branch target inside IrqHandler: taken when Loop88. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop88: + bit Zp28 ; CPU:$C90A PRG:490A 24 28 + bpl IrqHandler_Loop89 ; CPU:$C90C PRG:490C 10 03 + inc $0430 ; CPU:$C90E PRG:490E EE 30 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop89 +; Global: Branch target inside IrqHandler: taken when Loop89. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop89: + bvc IrqHandler_Loop90 ; CPU:$C911 PRG:4911 50 03 + dec $0430 ; CPU:$C913 PRG:4913 CE 30 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop90 +; Global: Branch target inside IrqHandler: taken when Loop90. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop90: + lda Zp2A ; CPU:$C916 PRG:4916 A5 2A + lsr a ; CPU:$C918 PRG:4918 4A + bcc IrqHandler_Loop91 ; CPU:$C919 PRG:4919 90 03 + inc $0410 ; CPU:$C91B PRG:491B EE 10 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop91 +; Global: Branch target inside IrqHandler: taken when Loop91. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop91: + lsr a ; CPU:$C91E PRG:491E 4A + bcc IrqHandler_Loop92 ; CPU:$C91F PRG:491F 90 03 + dec $0410 ; CPU:$C921 PRG:4921 CE 10 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop92 +; Global: Branch target inside IrqHandler: taken when Loop92. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop92: + lsr a ; CPU:$C924 PRG:4924 4A + bcc IrqHandler_Loop93 ; CPU:$C925 PRG:4925 90 03 + inc $0420 ; CPU:$C927 PRG:4927 EE 20 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop93 +; Global: Branch target inside IrqHandler: taken when Loop93. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop93: + lsr a ; CPU:$C92A PRG:492A 4A + bcc IrqHandler_Loop94 ; CPU:$C92B PRG:492B 90 03 + dec $0420 ; CPU:$C92D PRG:492D CE 20 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop94 +; Global: Branch target inside IrqHandler: taken when Loop94. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop94: + rts ; CPU:$C930 PRG:4930 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C931 +; Global: Branch target inside Label: taken when C931. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C931: + lda #$00 ; CPU:$C931 PRG:4931 A9 00 + sta $0400 ; CPU:$C933 PRG:4933 8D 00 04 + lda #$02 ; CPU:$C936 PRG:4936 A9 02 + sta $0450 ; CPU:$C938 PRG:4938 8D 50 04 + lda #$30 ; CPU:$C93B PRG:493B A9 30 + sta $0451 ; CPU:$C93D PRG:493D 8D 51 04 + sta $0452 ; CPU:$C940 PRG:4940 8D 52 04 + lda #$01 ; CPU:$C943 PRG:4943 A9 01 + jsr Sub_E746 ; CPU:$C945 PRG:4945 20 46 E7 + lda #$02 ; CPU:$C948 PRG:4948 A9 02 + jsr Sub_E746 ; CPU:$C94A PRG:494A 20 46 E7 + jmp Sub_C766 ; CPU:$C94D PRG:494D 4C 66 C7 +; ----------------------------------------------------------------------------- +; Routine: Label_C950 +; Global: Branch target inside Label: taken when C950. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C950: + lda Zp28 ; CPU:$C950 PRG:4950 A5 28 + and #$10 ; CPU:$C952 PRG:4952 29 10 + beq IrqHandler_Loop95 ; CPU:$C954 PRG:4954 F0 0A + lda #$01 ; CPU:$C956 PRG:4956 A9 01 + jsr Sub_E746 ; CPU:$C958 PRG:4958 20 46 E7 + lda #$00 ; CPU:$C95B PRG:495B A9 00 + sta Zp31 ; CPU:$C95D PRG:495D 85 31 + rts ; CPU:$C95F PRG:495F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop95 +; Global: Branch target inside IrqHandler: taken when Loop95. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop95: + lda Zp28 ; CPU:$C960 PRG:4960 A5 28 + and #$0C ; CPU:$C962 PRG:4962 29 0C + beq IrqHandler_Loop100 ; CPU:$C964 PRG:4964 F0 36 + ldy #$00 ; CPU:$C966 PRG:4966 A0 00 + sty Zp34 ; CPU:$C968 PRG:4968 84 34 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet +; Global: Branch target inside IrqHandler: taken when the addition or subtraction carried. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet: + ldx Zp33 ; CPU:$C96A PRG:496A A6 33 + cmp #$08 ; CPU:$C96C PRG:496C C9 08 + bcc IrqHandler_Loop97 ; CPU:$C96E PRG:496E 90 08 + cpx #$32 ; CPU:$C970 PRG:4970 E0 32 + bcs IrqHandler_Loop96 ; CPU:$C972 PRG:4972 B0 01 + inx ; CPU:$C974 PRG:4974 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop96 +; Global: Branch target inside IrqHandler: taken when Loop96. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop96: + jmp IrqHandler_Loop98 ; CPU:$C975 PRG:4975 4C 7D C9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop97 +; Global: Branch target inside IrqHandler: taken when Loop97. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop97: + cpx #$00 ; CPU:$C978 PRG:4978 E0 00 + beq IrqHandler_Loop98 ; CPU:$C97A PRG:497A F0 01 + dex ; CPU:$C97C PRG:497C CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop98 +; Global: Branch target inside IrqHandler: taken when Loop98. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop98: + stx Zp33 ; CPU:$C97D PRG:497D 86 33 + txa ; CPU:$C97F PRG:497F 8A + ldy #$30 ; CPU:$C980 PRG:4980 A0 30 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero5 +; Global: Branch target inside IrqHandler: taken when OnNonzero5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero5: + cmp #$0A ; CPU:$C982 PRG:4982 C9 0A + bcc IrqHandler_Loop99 ; CPU:$C984 PRG:4984 90 06 + sec ; CPU:$C986 PRG:4986 38 + sbc #$0A ; CPU:$C987 PRG:4987 E9 0A + iny ; CPU:$C989 PRG:4989 C8 + bne IrqHandler_OnNonzero5 ; CPU:$C98A PRG:498A D0 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop99 +; Global: Branch target inside IrqHandler: taken when Loop99. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop99: + sty $0451 ; CPU:$C98C PRG:498C 8C 51 04 + ora #$30 ; CPU:$C98F PRG:498F 09 30 + sta $0452 ; CPU:$C991 PRG:4991 8D 52 04 + lda #$02 ; CPU:$C994 PRG:4994 A9 02 + jsr Sub_E746 ; CPU:$C996 PRG:4996 20 46 E7 + jmp IrqHandler_Loop101 ; CPU:$C999 PRG:4999 4C AB C9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop100 +; Global: Branch target inside IrqHandler: taken when Loop100. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop100: + lda Zp2A ; CPU:$C99C PRG:499C A5 2A + and #$0C ; CPU:$C99E PRG:499E 29 0C + beq IrqHandler_Loop101 ; CPU:$C9A0 PRG:49A0 F0 09 + ldy Zp34 ; CPU:$C9A2 PRG:49A2 A4 34 + iny ; CPU:$C9A4 PRG:49A4 C8 + cpy #$10 ; CPU:$C9A5 PRG:49A5 C0 10 + bcs IrqHandler_OnCarrySet ; CPU:$C9A7 PRG:49A7 B0 C1 + sty Zp34 ; CPU:$C9A9 PRG:49A9 84 34 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop101 +; Global: Branch target inside IrqHandler: taken when Loop101. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop101: + lda Zp33 ; CPU:$C9AB PRG:49AB A5 33 + cmp #$0A ; CPU:$C9AD PRG:49AD C9 0A + bcc IrqHandler_Loop102 ; CPU:$C9AF PRG:49AF 90 03 + clc ; CPU:$C9B1 PRG:49B1 18 + adc #$36 ; CPU:$C9B2 PRG:49B2 69 36 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop102 +; Global: Branch target inside IrqHandler: taken when Loop102. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop102: + bit Zp28 ; CPU:$C9B4 PRG:49B4 24 28 + bmi IrqHandler_Loop103 ; CPU:$C9B6 PRG:49B6 30 04 + bvc IrqHandler_Loop104 ; CPU:$C9B8 PRG:49B8 50 04 + lda #$76 ; CPU:$C9BA PRG:49BA A9 76 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop103 +; Global: Branch target inside IrqHandler: taken when Loop103. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop103: + sta Zp3A ; CPU:$C9BC PRG:49BC 85 3A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop104 +; Global: Branch target inside IrqHandler: taken when Loop104. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop104: + rts ; CPU:$C9BE PRG:49BE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C9BF +; Global: Branch target inside Label: taken when C9BF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C9BF: + lda Zp31 ; CPU:$C9BF PRG:49BF A5 31 + jsr Sub_C436 ; CPU:$C9C1 PRG:49C1 20 36 C4 + dex ; CPU:$C9C4 PRG:49C4 CA + cmp #$DA ; CPU:$C9C5 PRG:49C5 C9 DA + cmp #$31 ; CPU:$C9C7 PRG:49C7 C9 31 + dex ; CPU:$C9C9 PRG:49C9 CA + lda Zp36 ; CPU:$C9CA PRG:49CA A5 36 + ora #$40 ; CPU:$C9CC PRG:49CC 09 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C9CE +; Global: Branch target inside Label: taken when C9CE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C9CE: + sta Zp36 ; CPU:$C9CE PRG:49CE 85 36 + lda #$FF ; CPU:$C9D0 PRG:49D0 A9 FF + jsr Sub_DE32 ; CPU:$C9D2 PRG:49D2 20 32 DE + lda #$00 ; CPU:$C9D5 PRG:49D5 A9 00 + sta Zp32 ; CPU:$C9D7 PRG:49D7 85 32 + rts ; CPU:$C9D9 PRG:49D9 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C9DA +; Global: Branch target inside Label: taken when C9DA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C9DA: + bit Zp8C ; CPU:$C9DA PRG:49DA 24 8C + bvs IrqHandler_Loop105 ; CPU:$C9DC PRG:49DC 70 07 + ldx #$C0 ; CPU:$C9DE PRG:49DE A2 C0 + lda #$FF ; CPU:$C9E0 PRG:49E0 A9 FF + jmp Sub_C9E9 ; CPU:$C9E2 PRG:49E2 4C E9 C9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop105 +; Global: Branch target inside IrqHandler: taken when Loop105. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop105: + ldx #$50 ; CPU:$C9E5 PRG:49E5 A2 50 + lda #$60 ; CPU:$C9E7 PRG:49E7 A9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9E9 +; Global: Branch target inside Sub: taken when C9E9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9E9: + sta VramWritePtrHi ; CPU:$C9E9 PRG:49E9 85 01 + stx ControllerState ; CPU:$C9EB PRG:49EB 86 02 + ldx ZpCE ; CPU:$C9ED PRG:49ED A6 CE + inx ; CPU:$C9EF PRG:49EF E8 + stx ZpCE ; CPU:$C9F0 PRG:49F0 86 CE + cpx ControllerState ; CPU:$C9F2 PRG:49F2 E4 02 + bne IrqHandler_Loop106 ; CPU:$C9F4 PRG:49F4 D0 1C + lda #$03 ; CPU:$C9F6 PRG:49F6 A9 03 + sta $0400 ; CPU:$C9F8 PRG:49F8 8D 00 04 + lda #$03 ; CPU:$C9FB PRG:49FB A9 03 + sta $0401 ; CPU:$C9FD PRG:49FD 8D 01 04 + lda #$03 ; CPU:$CA00 PRG:4A00 A9 03 + sta $0402 ; CPU:$CA02 PRG:4A02 8D 02 04 + lda #$03 ; CPU:$CA05 PRG:4A05 A9 03 + sta $0403 ; CPU:$CA07 PRG:4A07 8D 03 04 + lda #$03 ; CPU:$CA0A PRG:4A0A A9 03 + sta $0404 ; CPU:$CA0C PRG:4A0C 8D 04 04 + jmp Sub_D47F ; CPU:$CA0F PRG:4A0F 4C 7F D4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop106 +; Global: Branch target inside IrqHandler: taken when Loop106. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop106: + cpx VramWritePtrHi ; CPU:$CA12 PRG:4A12 E4 01 + bcc IrqHandler_Loop107 ; CPU:$CA14 PRG:4A14 90 0D + lda Zp8C ; CPU:$CA16 PRG:4A16 A5 8C + ora #$40 ; CPU:$CA18 PRG:4A18 09 40 + sta Zp8C ; CPU:$CA1A PRG:4A1A 85 8C + lda #$43 ; CPU:$CA1C PRG:4A1C A9 43 + sta SpriteTile ; CPU:$CA1E PRG:4A1E 85 8B + jmp Sub_C766 ; CPU:$CA20 PRG:4A20 4C 66 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop107 +; Global: Branch target inside IrqHandler: taken when Loop107. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop107: + rts ; CPU:$CA23 PRG:4A23 60 +; ---- data $CA24-$CB31 (270 bytes) ---- +; referenced by `lda $CA24,y` at $CC2B (operand $CA24 falls inside this region) +; referenced by `lda $CA25,y` at $CC31 (operand $CA25 falls inside this region) +; referenced by `lda $CA28,y` at $CC3E (operand $CA28 falls inside this region) +; referenced by `lda $CA29,y` at $CC44 (operand $CA29 falls inside this region) +; referenced by `lda $CA2A,y` at $CC4A (operand $CA2A falls inside this region) +LevelObjectDefinitionTable: + .byte $20, $F7, $25, $77, $31, $55, $50, $32, $55, $50, $20, $20, $20, $A5, $28, $29 ; CPU:$CA24 PRG:0A24 20 F7 25 77 31 55 50 32 55 50 20 20 20 A5 28 29 + .byte $10, $F0, $1C, $A5, $36, $49, $80, $85, $36, $10, $0B, $20, $FF, $CB, $20, $B1 ; CPU:$CA34 PRG:4A34 10 F0 1C A5 36 49 80 85 36 10 0B 20 FF CB 20 B1 + .byte $CB, $A9, $72, $4C, $51, $CA, $A9, $06, $20, $68, $CA, $A9, $71, $85, $8F, $24 ; CPU:$CA44 PRG:4A44 CB A9 72 4C 51 CA A9 06 20 68 CA A9 71 85 8F 24 + .byte $36, $10, $5F, $A5, $32, $29, $03, $D0, $14, $A2, $04, $A5, $32, $29, $07, $D0 ; CPU:$CA54 PRG:4A54 36 10 5F A5 32 29 03 D0 14 A2 04 A5 32 29 07 D0 + .byte $02, $E8, $E8, $8A, $24, $3C, $50, $02, $09, $01, $20, $46, $E7, $24, $8D, $30 ; CPU:$CA64 PRG:4A64 02 E8 E8 8A 24 3C 50 02 09 01 20 46 E7 24 8D 30 + .byte $01, $60, $A6, $4B, $AD, $82, $01, $24, $28, $10, $18, $E0, $03, $F0, $11, $E6 ; CPU:$CA74 PRG:4A74 01 60 A6 4B AD 82 01 24 28 10 18 E0 03 F0 11 E6 + .byte $4B, $C9, $0F, $D0, $05, $A9, $00, $4C, $91, $CA, $18, $69, $10, $4C, $AB, $CA ; CPU:$CA84 PRG:4A84 4B C9 0F D0 05 A9 00 4C 91 CA 18 69 10 4C AB CA + .byte $4C, $B2, $CA, $50, $19, $E0, $00, $F0, $15, $C6, $4B, $C9, $00, $D0, $05, $A9 ; CPU:$CA94 PRG:4A94 4C B2 CA 50 19 E0 00 F0 15 C6 4B C9 00 D0 05 A9 + .byte $0F, $4C, $AB, $CA, $38, $E9, $10, $8D, $82, $01, $A9, $80, $85, $39, $60, $4C ; CPU:$CAA4 PRG:4AA4 0F 4C AB CA 38 E9 10 8D 82 01 A9 80 85 39 60 4C + .byte $D1, $CA, $24, $8D, $10, $17, $24, $28, $10, $13, $A5, $2A, $29, $20, $F0, $04 ; CPU:$CAB4 PRG:4AB4 D1 CA 24 8D 10 17 24 28 10 13 A5 2A 29 20 F0 04 + .byte $A9, $03, $85, $3D, $A5, $2A, $29, $40, $F0, $03, $20, $38, $DC, $A5, $32, $29 ; CPU:$CAC4 PRG:4AC4 A9 03 85 3D A5 2A 29 40 F0 03 20 38 DC A5 32 29 + .byte $07, $D0, $03, $20, $0F, $CC, $A2, $02, $24, $8C, $10, $02, $A2, $06, $A5, $32 ; CPU:$CAD4 PRG:4AD4 07 D0 03 20 0F CC A2 02 24 8C 10 02 A2 06 A5 32 + .byte $29, $07, $D0, $06, $A5, $A2, $09, $80, $85, $A2, $AD, $80, $04, $F0, $24, $C9 ; CPU:$CAE4 PRG:4AE4 29 07 D0 06 A5 A2 09 80 85 A2 AD 80 04 F0 24 C9 + .byte $03, $F0, $05, $B0, $1E, $20, $4D, $CB, $A5, $3A, $D0, $0B, $CD, $05, $04, $D0 ; CPU:$CAF4 PRG:4AF4 03 F0 05 B0 1E 20 4D CB A5 3A D0 0B CD 05 04 D0 + .byte $06, $C5, $CF, $D0, $02, $86, $3A, $A5, $8C, $49, $80, $85, $8C, $20, $5C, $CC ; CPU:$CB04 PRG:4B04 06 C5 CF D0 02 86 3A A5 8C 49 80 85 8C 20 5C CC + .byte $4C, $1A, $CB, $20, $B8, $CB, $A9, $66, $85, $FF, $20, $5A, $D5, $A5, $85, $D0 ; CPU:$CB14 PRG:4B14 4C 1A CB 20 B8 CB A9 66 85 FF 20 5A D5 A5 85 D0 + .byte $0A, $20, $8E, $DC, $A5, $85, $D0, $03, $20, $4A, $D3, $20, $7F, $D4 ; CPU:$CB24 PRG:4B24 0A 20 8E DC A5 85 D0 03 20 4A D3 20 7F D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB32 +; Global: Branch target inside Sub: taken when CB32. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB32: + lda ZpA5 ; CPU:$CB32 PRG:4B32 A5 A5 + beq IrqHandler_Loop108 ; CPU:$CB34 PRG:4B34 F0 03 + jsr Sub_CC9B ; CPU:$CB36 PRG:4B36 20 9B CC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop108 +; Global: Branch target inside IrqHandler: taken when Loop108. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop108: + bit ZpA4 ; CPU:$CB39 PRG:4B39 24 A4 + bpl IrqHandler_Loop109 ; CPU:$CB3B PRG:4B3B 10 0F + lda Zp3F ; CPU:$CB3D PRG:4B3D A5 3F + jsr Sub_E0B5 ; CPU:$CB3F PRG:4B3F 20 B5 E0 + inc Zp3F ; CPU:$CB42 PRG:4B42 E6 3F + lda #$00 ; CPU:$CB44 PRG:4B44 A9 00 + sta ZpA4 ; CPU:$CB46 PRG:4B46 85 A4 + lda #$03 ; CPU:$CB48 PRG:4B48 A9 03 + sta Zp3A ; CPU:$CB4A PRG:4B4A 85 3A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop109 +; Global: Branch target inside IrqHandler: taken when Loop109. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop109: + rts ; CPU:$CB4C PRG:4B4C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CB4D +; Global: Branch target inside Label: taken when CB4D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CB4D: + ldx #$00 ; CPU:$CB4D PRG:4B4D A2 00 + bit Zp3C ; CPU:$CB4F PRG:4B4F 24 3C + bvc IrqHandler_Loop110 ; CPU:$CB51 PRG:4B51 50 02 + ldx #$08 ; CPU:$CB53 PRG:4B53 A2 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop110 +; Global: Branch target inside IrqHandler: taken when Loop110. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop110: + ldy $04A0 ; CPU:$CB55 PRG:4B55 AC A0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB58 +; Global: Branch target inside Sub: taken when CB58. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB58: + tya ; CPU:$CB58 PRG:4B58 98 + cmp $04E0,x ; CPU:$CB59 PRG:4B59 DD E0 04 + bne IrqHandler_Loop111 ; CPU:$CB5C PRG:4B5C D0 14 + lda $04A1 ; CPU:$CB5E PRG:4B5E AD A1 04 + cmp $04E1,x ; CPU:$CB61 PRG:4B61 DD E1 04 + bne IrqHandler_Loop111 ; CPU:$CB64 PRG:4B64 D0 0C + lda #$FF ; CPU:$CB66 PRG:4B66 A9 FF + sta $04E0,x ; CPU:$CB68 PRG:4B68 9D E0 04 + lda #$FF ; CPU:$CB6B PRG:4B6B A9 FF + sta $04E1,x ; CPU:$CB6D PRG:4B6D 9D E1 04 + bne IrqHandler_Loop112 ; CPU:$CB70 PRG:4B70 D0 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop111 +; Global: Branch target inside IrqHandler: taken when Loop111. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop111: + inx ; CPU:$CB72 PRG:4B72 E8 + inx ; CPU:$CB73 PRG:4B73 E8 + jmp Sub_CB58 ; CPU:$CB74 PRG:4B74 4C 58 CB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop112 +; Global: Branch target inside IrqHandler: taken when Loop112. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop112: + jsr Sub_DC38 ; CPU:$CB77 PRG:4B77 20 38 DC + lda #$01 ; CPU:$CB7A PRG:4B7A A9 01 + sta Zp7B ; CPU:$CB7C PRG:4B7C 85 7B + sta Zp7D ; CPU:$CB7E PRG:4B7E 85 7D + sta Zp7F ; CPU:$CB80 PRG:4B80 85 7F + sta Zp81 ; CPU:$CB82 PRG:4B82 85 81 + lda #$03 ; CPU:$CB84 PRG:4B84 A9 03 + cmp $0195 ; CPU:$CB86 PRG:4B86 CD 95 01 + beq IrqHandler_Loop113 ; CPU:$CB89 PRG:4B89 F0 07 + sta $0195 ; CPU:$CB8B PRG:4B8B 8D 95 01 + lda #$40 ; CPU:$CB8E PRG:4B8E A9 40 + sta Zp39 ; CPU:$CB90 PRG:4B90 85 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop113 +; Global: Branch target inside IrqHandler: taken when Loop113. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop113: + lda #$00 ; CPU:$CB92 PRG:4B92 A9 00 + sta ZpAD ; CPU:$CB94 PRG:4B94 85 AD + lda #$0F ; CPU:$CB96 PRG:4B96 A9 0F + sta ZpCF ; CPU:$CB98 PRG:4B98 85 CF + lda #$00 ; CPU:$CB9A PRG:4B9A A9 00 + sta ZpAC ; CPU:$CB9C PRG:4B9C 85 AC + lda $047C ; CPU:$CB9E PRG:4B9E AD 7C 04 + sta ZpAB ; CPU:$CBA1 PRG:4BA1 85 AB + beq IrqHandler_Loop114 ; CPU:$CBA3 PRG:4BA3 F0 04 + lda #$44 ; CPU:$CBA5 PRG:4BA5 A9 44 + sta SpriteTile ; CPU:$CBA7 PRG:4BA7 85 8B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop114 +; Global: Branch target inside IrqHandler: taken when Loop114. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop114: + lda Zp45 ; CPU:$CBA9 PRG:4BA9 A5 45 + clc ; CPU:$CBAB PRG:4BAB 18 + adc #$04 ; CPU:$CBAC PRG:4BAC 69 04 + sta Zp45 ; CPU:$CBAE PRG:4BAE 85 45 + rts ; CPU:$CBB0 PRG:4BB0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBB1 +; Global: Branch target inside Sub: taken when CBB1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBB1: + ldx GameMode ; CPU:$CBB1 PRG:4BB1 A6 2E + lda #$00 ; CPU:$CBB3 PRG:4BB3 A9 00 + jmp Sub_CBC0 ; CPU:$CBB5 PRG:4BB5 4C C0 CB +; ----------------------------------------------------------------------------- +; Routine: Label_CBB8 +; Global: Branch target inside Label: taken when CBB8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CBB8: + lda ZpA2 ; CPU:$CBB8 PRG:4BB8 A5 A2 + bpl IrqHandler_Loop117 ; CPU:$CBBA PRG:4BBA 10 42 + ldx GameMode ; CPU:$CBBC PRG:4BBC A6 2E + bne IrqHandler_Loop117 ; CPU:$CBBE PRG:4BBE D0 3E +; ----------------------------------------------------------------------------- +; Routine: Sub_CBC0 +; Global: Branch target inside Sub: taken when CBC0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBC0: + asl a ; CPU:$CBC0 PRG:4BC0 0A + and #$03 ; CPU:$CBC1 PRG:4BC1 29 03 + bne IrqHandler_Loop115 ; CPU:$CBC3 PRG:4BC3 D0 02 + lda #$01 ; CPU:$CBC5 PRG:4BC5 A9 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop115 +; Global: Branch target inside IrqHandler: taken when Loop115. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop115: + sta ZpA2 ; CPU:$CBC7 PRG:4BC7 85 A2 + sta VramWritePtrHi ; CPU:$CBC9 PRG:4BC9 85 01 + ldy #$00 ; CPU:$CBCB PRG:4BCB A0 00 + bit Zp3C ; CPU:$CBCD PRG:4BCD 24 3C + bvc IrqHandler_OnNonzero6 ; CPU:$CBCF PRG:4BCF 50 02 + ldy #$08 ; CPU:$CBD1 PRG:4BD1 A0 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero6 +; Global: Branch target inside IrqHandler: taken when OnNonzero6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero6: + lda $04E0,y ; CPU:$CBD3 PRG:4BD3 B9 E0 04 + bmi IrqHandler_Loop116 ; CPU:$CBD6 PRG:4BD6 30 18 + sta $0300,x ; CPU:$CBD8 PRG:4BD8 9D 00 03 + lda $04E1,y ; CPU:$CBDB PRG:4BDB B9 E1 04 + sta $0301,x ; CPU:$CBDE PRG:4BDE 9D 01 03 + lda #$01 ; CPU:$CBE1 PRG:4BE1 A9 01 + sta $0302,x ; CPU:$CBE3 PRG:4BE3 9D 02 03 + lda VramWritePtrHi ; CPU:$CBE6 PRG:4BE6 A5 01 + sta $0303,x ; CPU:$CBE8 PRG:4BE8 9D 03 03 + txa ; CPU:$CBEB PRG:4BEB 8A + clc ; CPU:$CBEC PRG:4BEC 18 + adc #$04 ; CPU:$CBED PRG:4BED 69 04 + tax ; CPU:$CBEF PRG:4BEF AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop116 +; Global: Branch target inside IrqHandler: taken when Loop116. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop116: + iny ; CPU:$CBF0 PRG:4BF0 C8 + iny ; CPU:$CBF1 PRG:4BF1 C8 + tya ; CPU:$CBF2 PRG:4BF2 98 + and #$07 ; CPU:$CBF3 PRG:4BF3 29 07 + bne IrqHandler_OnNonzero6 ; CPU:$CBF5 PRG:4BF5 D0 DC + lda #$00 ; CPU:$CBF7 PRG:4BF7 A9 00 + sta $0300,x ; CPU:$CBF9 PRG:4BF9 9D 00 03 + stx GameMode ; CPU:$CBFC PRG:4BFC 86 2E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop117 +; Global: Branch target inside IrqHandler: taken when Loop117. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop117: + rts ; CPU:$CBFE PRG:4BFE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBFF +; Global: Branch target inside Sub: taken when CBFF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBFF: + ldy #$00 ; CPU:$CBFF PRG:4BFF A0 00 + tya ; CPU:$CC01 PRG:4C01 98 + bit Zp3C ; CPU:$CC02 PRG:4C02 24 3C + bvc IrqHandler_Loop118 ; CPU:$CC04 PRG:4C04 50 04 + ldy #$02 ; CPU:$CC06 PRG:4C06 A0 02 + lda #$03 ; CPU:$CC08 PRG:4C08 A9 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop118 +; Global: Branch target inside IrqHandler: taken when Loop118. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop118: + sta VramWritePtrHi ; CPU:$CC0A PRG:4C0A 85 01 + jmp Sub_CC29 ; CPU:$CC0C PRG:4C0C 4C 29 CC +; ----------------------------------------------------------------------------- +; Routine: Label_CC0F +; Global: Branch target inside Label: taken when CC0F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CC0F: + bit Zp3C ; CPU:$CC0F PRG:4C0F 24 3C + bvc IrqHandler_Loop119 ; CPU:$CC11 PRG:4C11 50 02 + lda #$02 ; CPU:$CC13 PRG:4C13 A9 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop119 +; Global: Branch target inside IrqHandler: taken when Loop119. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop119: + tay ; CPU:$CC15 PRG:4C15 A8 + lda Zp32 ; CPU:$CC16 PRG:4C16 A5 32 + and #$08 ; CPU:$CC18 PRG:4C18 29 08 + beq IrqHandler_Loop120 ; CPU:$CC1A PRG:4C1A F0 05 + lda #$06 ; CPU:$CC1C PRG:4C1C A9 06 + jmp IrqHandler_Loop121 ; CPU:$CC1E PRG:4C1E 4C 27 CC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop120 +; Global: Branch target inside IrqHandler: taken when Loop120. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop120: + cpy #$00 ; CPU:$CC21 PRG:4C21 C0 00 + beq IrqHandler_Loop121 ; CPU:$CC23 PRG:4C23 F0 02 + lda #$03 ; CPU:$CC25 PRG:4C25 A9 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop121 +; Global: Branch target inside IrqHandler: taken when Loop121. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop121: + sta VramWritePtrHi ; CPU:$CC27 PRG:4C27 85 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC29 +; Global: Branch target inside Sub: taken when CC29. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC29: + ldx GameMode ; CPU:$CC29 PRG:4C29 A6 2E + lda $CA24,y ; CPU:$CC2B PRG:4C2B B9 24 CA + sta $0300,x ; CPU:$CC2E PRG:4C2E 9D 00 03 + lda $CA25,y ; CPU:$CC31 PRG:4C31 B9 25 CA + sta $0301,x ; CPU:$CC34 PRG:4C34 9D 01 03 + lda #$03 ; CPU:$CC37 PRG:4C37 A9 03 + sta $0302,x ; CPU:$CC39 PRG:4C39 9D 02 03 + ldy VramWritePtrHi ; CPU:$CC3C PRG:4C3C A4 01 + lda $CA28,y ; CPU:$CC3E PRG:4C3E B9 28 CA + sta $0303,x ; CPU:$CC41 PRG:4C41 9D 03 03 + lda $CA29,y ; CPU:$CC44 PRG:4C44 B9 29 CA + sta $0304,x ; CPU:$CC47 PRG:4C47 9D 04 03 + lda $CA2A,y ; CPU:$CC4A PRG:4C4A B9 2A CA + sta $0305,x ; CPU:$CC4D PRG:4C4D 9D 05 03 + lda #$00 ; CPU:$CC50 PRG:4C50 A9 00 + sta $0306,x ; CPU:$CC52 PRG:4C52 9D 06 03 + txa ; CPU:$CC55 PRG:4C55 8A + clc ; CPU:$CC56 PRG:4C56 18 + adc #$06 ; CPU:$CC57 PRG:4C57 69 06 + sta GameMode ; CPU:$CC59 PRG:4C59 85 2E + rts ; CPU:$CC5B PRG:4C5B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CC5C +; Global: Branch target inside Label: taken when CC5C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CC5C: + ldx GameMode ; CPU:$CC5C PRG:4C5C A6 2E + lda $04A0 ; CPU:$CC5E PRG:4C5E AD A0 04 + sta $0300,x ; CPU:$CC61 PRG:4C61 9D 00 03 + lda $04A1 ; CPU:$CC64 PRG:4C64 AD A1 04 + sta $0301,x ; CPU:$CC67 PRG:4C67 9D 01 03 + lda #$01 ; CPU:$CC6A PRG:4C6A A9 01 + sta $0302,x ; CPU:$CC6C PRG:4C6C 9D 02 03 + lda #$00 ; CPU:$CC6F PRG:4C6F A9 00 + sta $0303,x ; CPU:$CC71 PRG:4C71 9D 03 03 + lda #$00 ; CPU:$CC74 PRG:4C74 A9 00 + sta $0304,x ; CPU:$CC76 PRG:4C76 9D 04 03 + txa ; CPU:$CC79 PRG:4C79 8A + clc ; CPU:$CC7A PRG:4C7A 18 + adc #$04 ; CPU:$CC7B PRG:4C7B 69 04 + sta GameMode ; CPU:$CC7D PRG:4C7D 85 2E + lda ZpA5 ; CPU:$CC7F PRG:4C7F A5 A5 + ora #$80 ; CPU:$CC81 PRG:4C81 09 80 + sta ZpA5 ; CPU:$CC83 PRG:4C83 85 A5 + dec Zp3D ; CPU:$CC85 PRG:4C85 C6 3D + bne IrqHandler_Loop122 ; CPU:$CC87 PRG:4C87 D0 11 + lda #$76 ; CPU:$CC89 PRG:4C89 A9 76 + sta SpriteTile ; CPU:$CC8B PRG:4C8B 85 8B + lda #$04 ; CPU:$CC8D PRG:4C8D A9 04 + sta Zp30 ; CPU:$CC8F PRG:4C8F 85 30 + lda #$00 ; CPU:$CC91 PRG:4C91 A9 00 + sta Zp31 ; CPU:$CC93 PRG:4C93 85 31 + pla ; CPU:$CC95 PRG:4C95 68 + pla ; CPU:$CC96 PRG:4C96 68 + jmp Sub_CB32 ; CPU:$CC97 PRG:4C97 4C 32 CB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop122 +; Global: Branch target inside IrqHandler: taken when Loop122. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop122: + rts ; CPU:$CC9A PRG:4C9A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC9B +; Global: Branch target inside Sub: taken when CC9B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC9B: + lda ZpA5 ; CPU:$CC9B PRG:4C9B A5 A5 + bpl IrqHandler_Loop123 ; CPU:$CC9D PRG:4C9D 10 02 + inc Zp45 ; CPU:$CC9F PRG:4C9F E6 45 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop123 +; Global: Branch target inside IrqHandler: taken when Loop123. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop123: + and #$7F ; CPU:$CCA1 PRG:4CA1 29 7F + beq IrqHandler_Loop125 ; CPU:$CCA3 PRG:4CA3 F0 18 + sta VramWritePtrHi ; CPU:$CCA5 PRG:4CA5 85 01 + and #$0F ; CPU:$CCA7 PRG:4CA7 29 0F + beq IrqHandler_Loop124 ; CPU:$CCA9 PRG:4CA9 F0 05 + clc ; CPU:$CCAB PRG:4CAB 18 + adc Zp44 ; CPU:$CCAC PRG:4CAC 65 44 + sta Zp44 ; CPU:$CCAE PRG:4CAE 85 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop124 +; Global: Branch target inside IrqHandler: taken when Loop124. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop124: + lda VramWritePtrHi ; CPU:$CCB0 PRG:4CB0 A5 01 + lsr a ; CPU:$CCB2 PRG:4CB2 4A + lsr a ; CPU:$CCB3 PRG:4CB3 4A + lsr a ; CPU:$CCB4 PRG:4CB4 4A + lsr a ; CPU:$CCB5 PRG:4CB5 4A + beq IrqHandler_Loop125 ; CPU:$CCB6 PRG:4CB6 F0 05 + clc ; CPU:$CCB8 PRG:4CB8 18 + adc Zp43 ; CPU:$CCB9 PRG:4CB9 65 43 + sta Zp43 ; CPU:$CCBB PRG:4CBB 85 43 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop125 +; Global: Branch target inside IrqHandler: taken when Loop125. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop125: + lda #$00 ; CPU:$CCBD PRG:4CBD A9 00 + sta ZpA5 ; CPU:$CCBF PRG:4CBF 85 A5 + ldx #$05 ; CPU:$CCC1 PRG:4CC1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative4 +; Global: Branch target inside IrqHandler: taken when OnNonnegative4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative4: + lda Zp40,x ; CPU:$CCC3 PRG:4CC3 B5 40 + cmp #$0A ; CPU:$CCC5 PRG:4CC5 C9 0A + bcc IrqHandler_Loop127 ; CPU:$CCC7 PRG:4CC7 90 26 + cpx #$00 ; CPU:$CCC9 PRG:4CC9 E0 00 + bne IrqHandler_Loop126 ; CPU:$CCCB PRG:4CCB D0 07 + lda #$80 ; CPU:$CCCD PRG:4CCD A9 80 + sta Zp40 ; CPU:$CCCF PRG:4CCF 85 40 + jmp IrqHandler_Loop127 ; CPU:$CCD1 PRG:4CD1 4C EF CC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop126 +; Global: Branch target inside IrqHandler: taken when Loop126. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop126: + sec ; CPU:$CCD4 PRG:4CD4 38 + sbc #$0A ; CPU:$CCD5 PRG:4CD5 E9 0A + sta Zp40,x ; CPU:$CCD7 PRG:4CD7 95 40 + inc Zp3F,x ; CPU:$CCD9 PRG:4CD9 F6 3F + cpx #$03 ; CPU:$CCDB PRG:4CDB E0 03 + bne IrqHandler_Loop127 ; CPU:$CCDD PRG:4CDD D0 10 + lda Zp40 ; CPU:$CCDF PRG:4CDF A5 40 + bne IrqHandler_Loop127 ; CPU:$CCE1 PRG:4CE1 D0 0C + cmp Zp41 ; CPU:$CCE3 PRG:4CE3 C5 41 + bne IrqHandler_Loop127 ; CPU:$CCE5 PRG:4CE5 D0 08 + lda Zp42 ; CPU:$CCE7 PRG:4CE7 A5 42 + cmp #$01 ; CPU:$CCE9 PRG:4CE9 C9 01 + bne IrqHandler_Loop127 ; CPU:$CCEB PRG:4CEB D0 02 + dec ZpA4 ; CPU:$CCED PRG:4CED C6 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop127 +; Global: Branch target inside IrqHandler: taken when Loop127. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop127: + dex ; CPU:$CCEF PRG:4CEF CA + bpl IrqHandler_OnNonnegative4 ; CPU:$CCF0 PRG:4CF0 10 D1 + inx ; CPU:$CCF2 PRG:4CF2 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear10 +; Global: Branch target inside IrqHandler: taken when OnCarryClear10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear10: + lda Zp40,x ; CPU:$CCF3 PRG:4CF3 B5 40 + cmp $0700,x ; CPU:$CCF5 PRG:4CF5 DD 00 07 + bcc IrqHandler_Loop129 ; CPU:$CCF8 PRG:4CF8 90 17 + beq IrqHandler_Loop128 ; CPU:$CCFA PRG:4CFA F0 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear11 +; Global: Branch target inside IrqHandler: taken when OnCarryClear11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear11: + lda Zp40,x ; CPU:$CCFC PRG:4CFC B5 40 + sta $0700,x ; CPU:$CCFE PRG:4CFE 9D 00 07 + inx ; CPU:$CD01 PRG:4D01 E8 + cpx #$06 ; CPU:$CD02 PRG:4D02 E0 06 + bcc IrqHandler_OnCarryClear11 ; CPU:$CD04 PRG:4D04 90 F6 + jsr Sub_E12F ; CPU:$CD06 PRG:4D06 20 2F E1 + jmp IrqHandler_Loop129 ; CPU:$CD09 PRG:4D09 4C 11 CD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop128 +; Global: Branch target inside IrqHandler: taken when Loop128. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop128: + inx ; CPU:$CD0C PRG:4D0C E8 + cpx #$06 ; CPU:$CD0D PRG:4D0D E0 06 + bcc IrqHandler_OnCarryClear10 ; CPU:$CD0F PRG:4D0F 90 E2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop129 +; Global: Branch target inside IrqHandler: taken when Loop129. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop129: + jmp Sub_E129 ; CPU:$CD11 PRG:4D11 4C 29 E1 +; ----------------------------------------------------------------------------- +; Routine: Label_CD14 +; Global: Branch target inside Label: taken when CD14. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD14: + lda Zp31 ; CPU:$CD14 PRG:4D14 A5 31 + jsr Sub_C436 ; CPU:$CD16 PRG:4D16 20 36 C4 + ora $3BCD,x ; CPU:$CD19 PRG:4D19 1D CD 3B + cmp $CEA6 ; CPU:$CD1C PRG:4D1C CD A6 CE + bne IrqHandler_Loop130 ; CPU:$CD1F PRG:4D1F D0 0F + jsr Sub_CBFF ; CPU:$CD21 PRG:4D21 20 FF CB + ldx #$05 ; CPU:$CD24 PRG:4D24 A2 05 + lda #$00 ; CPU:$CD26 PRG:4D26 A9 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero7 +; Global: Branch target inside IrqHandler: taken when OnNonzero7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero7: + sta $0400,x ; CPU:$CD28 PRG:4D28 9D 00 04 + dex ; CPU:$CD2B PRG:4D2B CA + cpx #$00 ; CPU:$CD2C PRG:4D2C E0 00 + bne IrqHandler_OnNonzero7 ; CPU:$CD2E PRG:4D2E D0 F8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop130 +; Global: Branch target inside IrqHandler: taken when Loop130. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop130: + inx ; CPU:$CD30 PRG:4D30 E8 + stx ZpCE ; CPU:$CD31 PRG:4D31 86 CE + cpx #$40 ; CPU:$CD33 PRG:4D33 E0 40 + bcc IrqHandler_Loop131 ; CPU:$CD35 PRG:4D35 90 03 + jmp Sub_C766 ; CPU:$CD37 PRG:4D37 4C 66 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop131 +; Global: Branch target inside IrqHandler: taken when Loop131. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop131: + rts ; CPU:$CD3A PRG:4D3A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD3B +; Global: Branch target inside Label: taken when CD3B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD3B: + inc ZpCE ; CPU:$CD3B PRG:4D3B E6 CE + lda ZpCE ; CPU:$CD3D PRG:4D3D A5 CE + cmp #$60 ; CPU:$CD3F PRG:4D3F C9 60 + bcc IrqHandler_Loop135 ; CPU:$CD41 PRG:4D41 90 44 + lda Zp47 ; CPU:$CD43 PRG:4D43 A5 47 + and #$7F ; CPU:$CD45 PRG:4D45 29 7F + sta Zp47 ; CPU:$CD47 PRG:4D47 85 47 + ldx Zp3E ; CPU:$CD49 PRG:4D49 A6 3E + inx ; CPU:$CD4B PRG:4D4B E8 + cpx #$21 ; CPU:$CD4C PRG:4D4C E0 21 + bcc IrqHandler_Loop132 ; CPU:$CD4E PRG:4D4E 90 02 + ldx #$19 ; CPU:$CD50 PRG:4D50 A2 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop132 +; Global: Branch target inside IrqHandler: taken when Loop132. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop132: + stx Zp3E ; CPU:$CD52 PRG:4D52 86 3E + ldy #$00 ; CPU:$CD54 PRG:4D54 A0 00 + cpx #$03 ; CPU:$CD56 PRG:4D56 E0 03 + beq IrqHandler_Loop133 ; CPU:$CD58 PRG:4D58 F0 20 + iny ; CPU:$CD5A PRG:4D5A C8 + cpx #$06 ; CPU:$CD5B PRG:4D5B E0 06 + beq IrqHandler_Loop133 ; CPU:$CD5D PRG:4D5D F0 1B + cpx #$0E ; CPU:$CD5F PRG:4D5F E0 0E + beq IrqHandler_Loop133 ; CPU:$CD61 PRG:4D61 F0 17 + cpx #$16 ; CPU:$CD63 PRG:4D63 E0 16 + beq IrqHandler_Loop133 ; CPU:$CD65 PRG:4D65 F0 13 + cpx #$1E ; CPU:$CD67 PRG:4D67 E0 1E + beq IrqHandler_Loop133 ; CPU:$CD69 PRG:4D69 F0 0F + iny ; CPU:$CD6B PRG:4D6B C8 + cpx #$0A ; CPU:$CD6C PRG:4D6C E0 0A + beq IrqHandler_Loop133 ; CPU:$CD6E PRG:4D6E F0 0A + iny ; CPU:$CD70 PRG:4D70 C8 + cpx #$12 ; CPU:$CD71 PRG:4D71 E0 12 + beq IrqHandler_Loop133 ; CPU:$CD73 PRG:4D73 F0 05 + iny ; CPU:$CD75 PRG:4D75 C8 + cpx #$1A ; CPU:$CD76 PRG:4D76 E0 1A + bne IrqHandler_Loop134 ; CPU:$CD78 PRG:4D78 D0 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop133 +; Global: Branch target inside IrqHandler: taken when Loop133. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop133: + sty SpriteIndex ; CPU:$CD7A PRG:4D7A 84 88 + lda #$02 ; CPU:$CD7C PRG:4D7C A9 02 + jmp Sub_CE70 ; CPU:$CD7E PRG:4D7E 4C 70 CE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop134 +; Global: Branch target inside IrqHandler: taken when Loop134. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop134: + jmp IrqHandler_OnNonzero10 ; CPU:$CD81 PRG:4D81 4C 6E CE +; ----------------------------------------------------------------------------- +; Routine: Label_CD84 +; Global: Branch target inside Label: taken when CD84. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD84: + jmp IrqHandler_Loop137 ; CPU:$CD84 PRG:4D84 4C A0 CD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop135 +; Global: Branch target inside IrqHandler: taken when Loop135. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop135: + and #$07 ; CPU:$CD87 PRG:4D87 29 07 + bne IrqHandler_Loop137 ; CPU:$CD89 PRG:4D89 D0 15 + lda ZpCE ; CPU:$CD8B PRG:4D8B A5 CE + and #$08 ; CPU:$CD8D PRG:4D8D 29 08 + bne IrqHandler_Loop136 ; CPU:$CD8F PRG:4D8F D0 05 + lda #$20 ; CPU:$CD91 PRG:4D91 A9 20 + jmp Sub_CD99 ; CPU:$CD93 PRG:4D93 4C 99 CD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop136 +; Global: Branch target inside IrqHandler: taken when Loop136. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop136: + lda $0477 ; CPU:$CD96 PRG:4D96 AD 77 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD99 +; Global: Branch target inside Sub: taken when CD99. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD99: + sta $0182 ; CPU:$CD99 PRG:4D99 8D 82 01 + lda #$80 ; CPU:$CD9C PRG:4D9C A9 80 + sta Zp39 ; CPU:$CD9E PRG:4D9E 85 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop137 +; Global: Branch target inside IrqHandler: taken when Loop137. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop137: + rts ; CPU:$CDA0 PRG:4DA0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDA1 +; Global: Branch target inside Label: taken when CDA1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CDA1: + lda Zp31 ; CPU:$CDA1 PRG:4DA1 A5 31 + jsr Sub_C436 ; CPU:$CDA3 PRG:4DA3 20 36 C4 + ldy $30CD ; CPU:$CDA6 PRG:4DA6 AC CD 30 + dec $CE88 ; CPU:$CDA9 PRG:4DA9 CE 88 CE + ldx ZpCE ; CPU:$CDAC PRG:4DAC A6 CE + bne IrqHandler_Loop139 ; CPU:$CDAE PRG:4DAE D0 16 + jsr Sub_CBFF ; CPU:$CDB0 PRG:4DB0 20 FF CB + jsr Sub_CBB1 ; CPU:$CDB3 PRG:4DB3 20 B1 CB + ldx #$05 ; CPU:$CDB6 PRG:4DB6 A2 05 + lda #$00 ; CPU:$CDB8 PRG:4DB8 A9 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero8 +; Global: Branch target inside IrqHandler: taken when OnNonzero8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero8: + cpx Zp86 ; CPU:$CDBA PRG:4DBA E4 86 + beq IrqHandler_Loop138 ; CPU:$CDBC PRG:4DBC F0 03 + sta $0400,x ; CPU:$CDBE PRG:4DBE 9D 00 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop138 +; Global: Branch target inside IrqHandler: taken when Loop138. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop138: + dex ; CPU:$CDC1 PRG:4DC1 CA + cpx #$00 ; CPU:$CDC2 PRG:4DC2 E0 00 + bne IrqHandler_OnNonzero8 ; CPU:$CDC4 PRG:4DC4 D0 F4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop139 +; Global: Branch target inside IrqHandler: taken when Loop139. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop139: + inx ; CPU:$CDC6 PRG:4DC6 E8 + stx ZpCE ; CPU:$CDC7 PRG:4DC7 86 CE + cpx #$40 ; CPU:$CDC9 PRG:4DC9 E0 40 + bcc IrqHandler_Loop140 ; CPU:$CDCB PRG:4DCB 90 1A + ldx Zp86 ; CPU:$CDCD PRG:4DCD A6 86 + lda #$00 ; CPU:$CDCF PRG:4DCF A9 00 + sta $0400,x ; CPU:$CDD1 PRG:4DD1 9D 00 04 + jsr Sub_CDE8 ; CPU:$CDD4 PRG:4DD4 20 E8 CD + ldx #$01 ; CPU:$CDD7 PRG:4DD7 A2 01 + lda #$00 ; CPU:$CDD9 PRG:4DD9 A9 00 + sta VramReadPtrLo ; CPU:$CDDB PRG:4DDB 85 08 + lda #$07 ; CPU:$CDDD PRG:4DDD A9 07 + sta VramReadPtrHi ; CPU:$CDDF PRG:4DDF 85 09 + jsr Sub_CDF8 ; CPU:$CDE1 PRG:4DE1 20 F8 CD + jmp Sub_C766 ; CPU:$CDE4 PRG:4DE4 4C 66 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop140 +; Global: Branch target inside IrqHandler: taken when Loop140. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop140: + rts ; CPU:$CDE7 PRG:4DE7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDE8 +; Global: Branch target inside Sub: taken when CDE8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDE8: + ldx #$09 ; CPU:$CDE8 PRG:4DE8 A2 09 + bit Zp3C ; CPU:$CDEA PRG:4DEA 24 3C + bvc IrqHandler_Loop141 ; CPU:$CDEC PRG:4DEC 50 02 + ldx #$11 ; CPU:$CDEE PRG:4DEE A2 11 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop141 +; Global: Branch target inside IrqHandler: taken when Loop141. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop141: + lda #$40 ; CPU:$CDF0 PRG:4DF0 A9 40 + sta VramReadPtrLo ; CPU:$CDF2 PRG:4DF2 85 08 + lda #$00 ; CPU:$CDF4 PRG:4DF4 A9 00 + sta VramReadPtrHi ; CPU:$CDF6 PRG:4DF6 85 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDF8 +; Global: Branch target inside Sub: taken when CDF8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDF8: + ldy #$00 ; CPU:$CDF8 PRG:4DF8 A0 00 + lda (VramReadPtrLo),y ; CPU:$CDFA PRG:4DFA B1 08 + bpl IrqHandler_OnNonzero9 ; CPU:$CDFC PRG:4DFC 10 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear12 +; Global: Branch target inside IrqHandler: taken when OnCarryClear12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear12: + lda #$39 ; CPU:$CDFE PRG:4DFE A9 39 + sta $0708,x ; CPU:$CE00 PRG:4E00 9D 08 07 + inx ; CPU:$CE03 PRG:4E03 E8 + iny ; CPU:$CE04 PRG:4E04 C8 + cpy #$07 ; CPU:$CE05 PRG:4E05 C0 07 + bcc IrqHandler_OnCarryClear12 ; CPU:$CE07 PRG:4E07 90 F5 + jmp Sub_CE2F ; CPU:$CE09 PRG:4E09 4C 2F CE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero9 +; Global: Branch target inside IrqHandler: taken when OnNonzero9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero9: + lda (VramReadPtrLo),y ; CPU:$CE0C PRG:4E0C B1 08 + bne IrqHandler_OnCarryClear13 ; CPU:$CE0E PRG:4E0E D0 0D + lda #$2D ; CPU:$CE10 PRG:4E10 A9 2D + sta $0708,x ; CPU:$CE12 PRG:4E12 9D 08 07 + inx ; CPU:$CE15 PRG:4E15 E8 + iny ; CPU:$CE16 PRG:4E16 C8 + cpy #$06 ; CPU:$CE17 PRG:4E17 C0 06 + bne IrqHandler_OnNonzero9 ; CPU:$CE19 PRG:4E19 D0 F1 + beq IrqHandler_Loop142 ; CPU:$CE1B PRG:4E1B F0 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear13 +; Global: Branch target inside IrqHandler: taken when OnCarryClear13. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear13: + lda (VramReadPtrLo),y ; CPU:$CE1D PRG:4E1D B1 08 + ora #$30 ; CPU:$CE1F PRG:4E1F 09 30 + sta $0708,x ; CPU:$CE21 PRG:4E21 9D 08 07 + inx ; CPU:$CE24 PRG:4E24 E8 + iny ; CPU:$CE25 PRG:4E25 C8 + cpy #$06 ; CPU:$CE26 PRG:4E26 C0 06 + bcc IrqHandler_OnCarryClear13 ; CPU:$CE28 PRG:4E28 90 F3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop142 +; Global: Branch target inside IrqHandler: taken when Loop142. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop142: + lda #$30 ; CPU:$CE2A PRG:4E2A A9 30 + sta $0708,x ; CPU:$CE2C PRG:4E2C 9D 08 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE2F +; Global: Branch target inside Sub: taken when CE2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE2F: + rts ; CPU:$CE2F PRG:4E2F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CE30 +; Global: Branch target inside Label: taken when CE30. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CE30: + inc ZpCE ; CPU:$CE30 PRG:4E30 E6 CE + lda ZpCE ; CPU:$CE32 PRG:4E32 A5 CE + cmp #$60 ; CPU:$CE34 PRG:4E34 C9 60 + bcc IrqHandler_Loop144 ; CPU:$CE36 PRG:4E36 90 43 + lda Zp47 ; CPU:$CE38 PRG:4E38 A5 47 + ora #$80 ; CPU:$CE3A PRG:4E3A 09 80 + sta Zp47 ; CPU:$CE3C PRG:4E3C 85 47 + ldy Zp3F ; CPU:$CE3E PRG:4E3E A4 3F + dey ; CPU:$CE40 PRG:4E40 88 + sty Zp3F ; CPU:$CE41 PRG:4E41 84 3F + sty ControllerState ; CPU:$CE43 PRG:4E43 84 02 + lda Zp3C ; CPU:$CE45 PRG:4E45 A5 3C + sta VramWritePtrHi ; CPU:$CE47 PRG:4E47 85 01 + bpl IrqHandler_Loop143 ; CPU:$CE49 PRG:4E49 10 17 + ldx Zp4F ; CPU:$CE4B PRG:4E4B A6 4F + beq IrqHandler_Loop143 ; CPU:$CE4D PRG:4E4D F0 13 + eor #$40 ; CPU:$CE4F PRG:4E4F 49 40 + sta Zp3C ; CPU:$CE51 PRG:4E51 85 3C + ldx #$00 ; CPU:$CE53 PRG:4E53 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear14 +; Global: Branch target inside IrqHandler: taken when OnCarryClear14. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear14: + ldy Zp4D,x ; CPU:$CE55 PRG:4E55 B4 4D + lda Zp3D,x ; CPU:$CE57 PRG:4E57 B5 3D + sta Zp4D,x ; CPU:$CE59 PRG:4E59 95 4D + sty Zp3D,x ; CPU:$CE5B PRG:4E5B 94 3D + inx ; CPU:$CE5D PRG:4E5D E8 + cpx #$10 ; CPU:$CE5E PRG:4E5E E0 10 + bcc IrqHandler_OnCarryClear14 ; CPU:$CE60 PRG:4E60 90 F3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop143 +; Global: Branch target inside IrqHandler: taken when Loop143. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop143: + lda ControllerState ; CPU:$CE62 PRG:4E62 A5 02 + bne IrqHandler_OnNonzero10 ; CPU:$CE64 PRG:4E64 D0 08 + lda #$3A ; CPU:$CE66 PRG:4E66 A9 3A + jsr Sub_DFBA ; CPU:$CE68 PRG:4E68 20 BA DF + jmp Sub_C766 ; CPU:$CE6B PRG:4E6B 4C 66 C7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero10 +; Global: Branch target inside IrqHandler: taken when OnNonzero10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero10: + lda #$03 ; CPU:$CE6E PRG:4E6E A9 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE70 +; Global: Branch target inside Sub: taken when CE70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE70: + sta Zp30 ; CPU:$CE70 PRG:4E70 85 30 + lda #$00 ; CPU:$CE72 PRG:4E72 A9 00 + sta Zp31 ; CPU:$CE74 PRG:4E74 85 31 + sta ZpCE ; CPU:$CE76 PRG:4E76 85 CE + jmp Sub_CE87 ; CPU:$CE78 PRG:4E78 4C 87 CE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop144 +; Global: Branch target inside IrqHandler: taken when Loop144. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop144: + lsr a ; CPU:$CE7B PRG:4E7B 4A + and #$0C ; CPU:$CE7C PRG:4E7C 29 0C + bit Zp3C ; CPU:$CE7E PRG:4E7E 24 3C + bvc IrqHandler_Loop145 ; CPU:$CE80 PRG:4E80 50 02 + ora #$40 ; CPU:$CE82 PRG:4E82 09 40 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop145 +; Global: Branch target inside IrqHandler: taken when Loop145. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop145: + sta $0430 ; CPU:$CE84 PRG:4E84 8D 30 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE87 +; Global: Branch target inside Sub: taken when CE87. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE87: + rts ; CPU:$CE87 PRG:4E87 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CE88 +; Global: Branch target inside Label: taken when CE88. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CE88: + inc ZpCE ; CPU:$CE88 PRG:4E88 E6 CE + lda ZpCE ; CPU:$CE8A PRG:4E8A A5 CE + cmp #$60 ; CPU:$CE8C PRG:4E8C C9 60 + bcc IrqHandler_Loop146 ; CPU:$CE8E PRG:4E8E 90 0E + lda Zp3F ; CPU:$CE90 PRG:4E90 A5 3F + ora Zp4F ; CPU:$CE92 PRG:4E92 05 4F + bne IrqHandler_OnNonzero10 ; CPU:$CE94 PRG:4E94 D0 D8 + lda #$00 ; CPU:$CE96 PRG:4E96 A9 00 + sta Zp30 ; CPU:$CE98 PRG:4E98 85 30 + sta Zp31 ; CPU:$CE9A PRG:4E9A 85 31 + sta ZpCE ; CPU:$CE9C PRG:4E9C 85 CE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop146 +; Global: Branch target inside IrqHandler: taken when Loop146. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop146: + rts ; CPU:$CE9E PRG:4E9E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CE9F +; Global: Branch target inside Label: taken when CE9F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CE9F: + lda Zp31 ; CPU:$CE9F PRG:4E9F A5 31 + jsr Sub_C436 ; CPU:$CEA1 PRG:4EA1 20 36 C4 + tax ; CPU:$CEA4 PRG:4EA4 AA + dec $CEB6 ; CPU:$CEA5 PRG:4EA5 CE B6 CE + eor (ZpCF,x) ; CPU:$CEA8 PRG:4EA8 41 CF + lda Zp36 ; CPU:$CEAA PRG:4EAA A5 36 + and #$BF ; CPU:$CEAC PRG:4EAC 29 BF + sta Zp36 ; CPU:$CEAE PRG:4EAE 85 36 + lda #$02 ; CPU:$CEB0 PRG:4EB0 A9 02 + jsr Sub_DE32 ; CPU:$CEB2 PRG:4EB2 20 32 DE + rts ; CPU:$CEB5 PRG:4EB5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEB6 +; Global: Branch target inside Label: taken when CEB6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CEB6: + inc ZpCE ; CPU:$CEB6 PRG:4EB6 E6 CE + lda ZpCE ; CPU:$CEB8 PRG:4EB8 A5 CE + cmp #$80 ; CPU:$CEBA PRG:4EBA C9 80 + bcc IrqHandler_Loop148 ; CPU:$CEBC PRG:4EBC 90 27 + lda #$00 ; CPU:$CEBE PRG:4EBE A9 00 + ldx #$01 ; CPU:$CEC0 PRG:4EC0 A2 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear15 +; Global: Branch target inside IrqHandler: taken when OnCarryClear15. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear15: + sta $0450,x ; CPU:$CEC2 PRG:4EC2 9D 50 04 + inx ; CPU:$CEC5 PRG:4EC5 E8 + cpx #$11 ; CPU:$CEC6 PRG:4EC6 E0 11 + bcc IrqHandler_OnCarryClear15 ; CPU:$CEC8 PRG:4EC8 90 F8 + jsr Sub_C766 ; CPU:$CECA PRG:4ECA 20 66 C7 + lda #$00 ; CPU:$CECD PRG:4ECD A9 00 + sta ZpEE ; CPU:$CECF PRG:4ECF 85 EE + sta ZpEF ; CPU:$CED1 PRG:4ED1 85 EF + ldx SpriteIndex ; CPU:$CED3 PRG:4ED3 A6 88 + lda $CEE6,x ; CPU:$CED5 PRG:4ED5 BD E6 CE + sta SpriteTile ; CPU:$CED8 PRG:4ED8 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_CEDA +; Global: Branch target inside Sub: taken when CEDA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CEDA: + lda #$08 ; CPU:$CEDA PRG:4EDA A9 08 + bit Zp3C ; CPU:$CEDC PRG:4EDC 24 3C + bvc IrqHandler_Loop147 ; CPU:$CEDE PRG:4EDE 50 02 + lda #$09 ; CPU:$CEE0 PRG:4EE0 A9 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop147 +; Global: Branch target inside IrqHandler: taken when Loop147. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop147: + jsr Sub_E746 ; CPU:$CEE2 PRG:4EE2 20 46 E7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop148 +; Global: Branch target inside IrqHandler: taken when Loop148. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop148: + rts ; CPU:$CEE5 PRG:4EE5 60 +; ---- data $CEE6-$D01F (314 bytes) ---- +; referenced by `lda $CEE6,x` at $CED5 (operand $CEE6 falls inside this region) +SpriteOamEntryTable: + .byte $42, $49, $48, $48, $48, $48, $03, $03, $03, $03, $00, $FC, $FC, $FC, $FC, $80 ; CPU:$CEE6 PRG:0EE6 42 49 48 48 48 48 03 03 03 03 00 FC FC FC FC 80 + .byte $50, $50, $A0, $A0, $34, $04, $12, $16, $4C, $50, $20, $20, $22, $20, $20, $03 ; CPU:$CEF6 PRG:4EF6 50 50 A0 A0 34 04 12 16 4C 50 20 20 22 20 20 03 + .byte $03, $03, $03, $FC, $FC, $FC, $FC, $80, $80, $80, $80, $0C, $16, $12, $44, $20 ; CPU:$CF06 PRG:4F06 03 03 03 FC FC FC FC 80 80 80 80 0C 16 12 44 20 + .byte $20, $22, $20, $03, $03, $FC, $FC, $40, $40, $0C, $4C, $20, $20, $03, $03, $FC ; CPU:$CF16 PRG:4F16 20 22 20 03 03 FC FC 40 40 0C 4C 20 20 03 03 FC + .byte $FC, $B0, $B0, $04, $44, $20, $20, $03, $00, $00, $00, $FF, $88, $12, $08, $30 ; CPU:$CF26 PRG:4F26 FC B0 B0 04 44 20 20 03 00 00 00 FF 88 12 08 30 + .byte $30, $C4, $C4, $54, $52, $58, $58, $20, $20, $20, $20, $24, $8D, $10, $11, $A5 ; CPU:$CF36 PRG:4F36 30 C4 C4 54 52 58 58 20 20 20 20 24 8D 10 11 A5 + .byte $28, $29, $10, $F0, $06, $A5, $36, $49, $80, $85, $36, $24, $36, $10, $01, $60 ; CPU:$CF46 PRG:4F46 28 29 10 F0 06 A5 36 49 80 85 36 24 36 10 01 60 + .byte $A6, $EF, $E8, $E0, $3C, $90, $04, $E6, $EE, $A2, $00, $86, $EF, $A5, $88, $0A ; CPU:$CF56 PRG:4F56 A6 EF E8 E0 3C 90 04 E6 EE A2 00 86 EF A5 88 0A + .byte $A8, $B9, $74, $CF, $85, $08, $B9, $75, $CF, $85, $09, $6C, $08, $00, $81, $CF ; CPU:$CF66 PRG:4F66 A8 B9 74 CF 85 08 B9 75 CF 85 09 6C 08 00 81 CF + .byte $9C, $D1, $82, $D2, $82, $D2, $82, $D2, $4C, $6E, $CE, $A2, $03, $20, $17, $D1 ; CPU:$CF76 PRG:4F76 9C D1 82 D2 82 D2 82 D2 4C 6E CE A2 03 20 17 D1 + .byte $A4, $EC, $A5, $EE, $D9, $A7, $CF, $D0, $0B, $A5, $EF, $D9, $A8, $CF, $D0, $02 ; CPU:$CF86 PRG:4F86 A4 EC A5 EE D9 A7 CF D0 0B A5 EF D9 A8 CF D0 02 + .byte $C8, $C8, $84, $EC, $B9, $BF, $CF, $85, $08, $B9, $C0, $CF, $85, $09, $6C, $08 ; CPU:$CF96 PRG:4F96 C8 C8 84 EC B9 BF CF 85 08 B9 C0 CF 85 09 6C 08 + .byte $00, $00, $02, $00, $24, $02, $34, $03, $1B, $03, $1C, $03, $33, $04, $2F, $05 ; CPU:$CFA6 PRG:4FA6 00 00 02 00 24 02 34 03 1B 03 1C 03 33 04 2F 05 + .byte $0B, $05, $16, $05, $20, $05, $21, $09, $00, $64, $D0, $96, $D1, $93, $D1, $5B ; CPU:$CFB6 PRG:4FB6 0B 05 16 05 20 05 21 09 00 64 D0 96 D1 93 D1 5B + .byte $D1, $5C, $D0, $8D, $D1, $8A, $D1, $8A, $D0, $CD, $D0, $FD, $D0, $A4, $D0, $BC ; CPU:$CFC6 PRG:4FC6 D1 5C D0 8D D1 8A D1 8A D0 CD D0 FD D0 A4 D0 BC + .byte $D0, $7E, $CF, $20, $54, $D0, $A9, $C0, $8D, $20, $04, $8D, $21, $04, $60, $20 ; CPU:$CFD6 PRG:4FD6 D0 7E CF 20 54 D0 A9 C0 8D 20 04 8D 21 04 60 20 + .byte $4C, $D0, $A9, $50, $8D, $20, $04, $8D, $21, $04, $60, $20, $54, $D0, $A9, $70 ; CPU:$CFE6 PRG:4FE6 4C D0 A9 50 8D 20 04 8D 21 04 60 20 54 D0 A9 70 + .byte $8D, $20, $04, $8D, $21, $04, $60, $A9, $04, $85, $01, $A0, $41, $20, $6A, $D0 ; CPU:$CFF6 PRG:4FF6 8D 20 04 8D 21 04 60 A9 04 85 01 A0 41 20 6A D0 + .byte $A9, $03, $A6, $88, $E0, $03, $90, $10, $F0, $06, $8D, $03, $04, $4C, $1B, $D0 ; CPU:$D006 PRG:5006 A9 03 A6 88 E0 03 90 10 F0 06 8D 03 04 4C 1B D0 + .byte $A2, $10, $8E, $12, $04, $8D, $02, $04, $A2, $00 ; CPU:$D016 PRG:5016 A2 10 8E 12 04 8D 02 04 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero11 +; Global: Branch target inside IrqHandler: taken when OnNonzero11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero11: + lda $D03D,x ; CPU:$D020 PRG:5020 BD 3D D0 + cpx #$00 ; CPU:$D023 PRG:5023 E0 00 + beq IrqHandler_Loop149 ; CPU:$D025 PRG:5025 F0 04 + cpx #$07 ; CPU:$D027 PRG:5027 E0 07 + bne IrqHandler_Loop150 ; CPU:$D029 PRG:5029 D0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop149 +; Global: Branch target inside IrqHandler: taken when Loop149. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop149: + bit Zp3C ; CPU:$D02B PRG:502B 24 3C + bvc IrqHandler_Loop150 ; CPU:$D02D PRG:502D 50 02 + ora #$04 ; CPU:$D02F PRG:502F 09 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop150 +; Global: Branch target inside IrqHandler: taken when Loop150. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop150: + sta $0300,x ; CPU:$D031 PRG:5031 9D 00 03 + inx ; CPU:$D034 PRG:5034 E8 + cmp #$00 ; CPU:$D035 PRG:5035 C9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D037 +; Global: Branch target inside Label: taken when D037. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D037: + bne IrqHandler_OnNonzero11 ; CPU:$D037 PRG:5037 D0 E7 + dex ; CPU:$D039 PRG:5039 CA + stx GameMode ; CPU:$D03A PRG:503A 86 2E + rts ; CPU:$D03C PRG:503C 60 +; ---- data $D03D-$D0D5 (153 bytes) ---- +; referenced by `lda $D03D,x` at $D020 (operand $D03D falls inside this region) +SpriteOamAttributeTable: + .byte $23, $03, $04, $5C, $5D, $3C, $3D, $23, $23, $04, $5E, $5F, $3E, $3F, $00, $A9 ; CPU:$D03D PRG:103D 23 03 04 5C 5D 3C 3D 23 23 04 5E 5F 3E 3F 00 A9 + .byte $02, $85, $01, $A0, $37, $D0, $16, $A9, $02, $85, $01, $A0, $2D, $D0, $0E, $A9 ; CPU:$D04D PRG:504D 02 85 01 A0 37 D0 16 A9 02 85 01 A0 2D D0 0E A9 + .byte $04, $85, $01, $A0, $19, $D0, $06, $A9, $05, $85, $01, $A0, $00, $A2, $00, $B9 ; CPU:$D05D PRG:505D 04 85 01 A0 19 D0 06 A9 05 85 01 A0 00 A2 00 B9 + .byte $EC, $CE, $C8, $9D, $00, $04, $E8, $8A, $29, $0F, $C5, $01, $90, $0B, $8A, $29 ; CPU:$D06D PRG:506D EC CE C8 9D 00 04 E8 8A 29 0F C5 01 90 0B 8A 29 + .byte $F0, $18, $69, $10, $C9, $50, $B0, $04, $AA, $4C, $6C, $D0, $60, $A9, $00, $85 ; CPU:$D07D PRG:507D F0 18 69 10 C9 50 B0 04 AA 4C 6C D0 60 A9 00 85 + .byte $ED, $AD, $30, $04, $29, $F3, $8D, $30, $04, $AD, $33, $04, $29, $F3, $8D, $33 ; CPU:$D08D PRG:508D ED AD 30 04 29 F3 8D 30 04 AD 33 04 29 F3 8D 33 + .byte $04, $20, $04, $D1, $4C, $55, $D1, $A9, $00, $8D, $01, $04, $8D, $02, $04, $A9 ; CPU:$D09D PRG:509D 04 20 04 D1 4C 55 D1 A9 00 8D 01 04 8D 02 04 A9 + .byte $03, $8D, $04, $04, $A9, $0C, $8D, $30, $04, $A9, $44, $8D, $33, $04, $60, $A5 ; CPU:$D0AD PRG:50AD 03 8D 04 04 A9 0C 8D 30 04 A9 44 8D 33 04 60 A5 + .byte $32, $29, $07, $D0, $08, $AD, $34, $04, $49, $01, $8D, $34, $04, $4C, $B1, $D0 ; CPU:$D0BD PRG:50BD 32 29 07 D0 08 AD 34 04 49 01 8D 34 04 4C B1 D0 + .byte $A6, $ED, $E8, $86, $ED, $E0, $04, $B0, $09 ; CPU:$D0CD PRG:50CD A6 ED E8 86 ED E0 04 B0 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet2 +; Global: Branch target inside IrqHandler: taken when OnCarrySet2. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet2: + dec $0421 ; CPU:$D0D6 PRG:50D6 CE 21 04 + dec $0422 ; CPU:$D0D9 PRG:50D9 CE 22 04 +; ----------------------------------------------------------------------------- +; Routine: Label_D0DC +; Global: Branch target inside Label: taken when D0DC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D0DC: + jmp Sub_D0FD ; CPU:$D0DC PRG:50DC 4C FD D0 +; ----------------------------------------------------------------------------- +; Routine: Label_D0DF +; Global: Branch target inside Label: taken when D0DF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D0DF: + cpx #$08 ; CPU:$D0DF PRG:50DF E0 08 + bcs IrqHandler_Loop151 ; CPU:$D0E1 PRG:50E1 B0 08 + lda Zp32 ; CPU:$D0E3 PRG:50E3 A5 32 + lsr a ; CPU:$D0E5 PRG:50E5 4A + bcs IrqHandler_OnCarrySet2 ; CPU:$D0E6 PRG:50E6 B0 EE + jmp Sub_D0FD ; CPU:$D0E8 PRG:50E8 4C FD D0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop151 +; Global: Branch target inside IrqHandler: taken when Loop151. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop151: + cpx #$0C ; CPU:$D0EB PRG:50EB E0 0C + bcs IrqHandler_Loop152 ; CPU:$D0ED PRG:50ED B0 08 + lda Zp32 ; CPU:$D0EF PRG:50EF A5 32 + lsr a ; CPU:$D0F1 PRG:50F1 4A + bcs IrqHandler_Loop152 ; CPU:$D0F2 PRG:50F2 B0 03 + jmp Sub_D0FD ; CPU:$D0F4 PRG:50F4 4C FD D0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop152 +; Global: Branch target inside IrqHandler: taken when Loop152. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop152: + inc $0421 ; CPU:$D0F7 PRG:50F7 EE 21 04 + inc $0422 ; CPU:$D0FA PRG:50FA EE 22 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0FD +; Global: Branch target inside Sub: taken when D0FD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0FD: + jsr Sub_D104 ; CPU:$D0FD PRG:50FD 20 04 D1 + jsr Sub_D15B ; CPU:$D100 PRG:5100 20 5B D1 + rts ; CPU:$D103 PRG:5103 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D104 +; Global: Branch target inside Sub: taken when D104. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D104: + dec $0420 ; CPU:$D104 PRG:5104 CE 20 04 + dec $0423 ; CPU:$D107 PRG:5107 CE 23 04 + lda Zp32 ; CPU:$D10A PRG:510A A5 32 + and #$01 ; CPU:$D10C PRG:510C 29 01 + bne IrqHandler_Loop153 ; CPU:$D10E PRG:510E D0 06 + dec $0420 ; CPU:$D110 PRG:5110 CE 20 04 + dec $0423 ; CPU:$D113 PRG:5113 CE 23 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop153 +; Global: Branch target inside IrqHandler: taken when Loop153. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop153: + rts ; CPU:$D116 PRG:5116 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D117 +; Global: Branch target inside Label: taken when D117. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D117: + lda Zp32 ; CPU:$D117 PRG:5117 A5 32 + and #$07 ; CPU:$D119 PRG:5119 29 07 + bne IrqHandler_Loop154 ; CPU:$D11B PRG:511B D0 10 + lda $0431 ; CPU:$D11D PRG:511D AD 31 04 + eor #$01 ; CPU:$D120 PRG:5120 49 01 + sta $0431 ; CPU:$D122 PRG:5122 8D 31 04 + lda $0432 ; CPU:$D125 PRG:5125 AD 32 04 + eor #$01 ; CPU:$D128 PRG:5128 49 01 + sta $0432 ; CPU:$D12A PRG:512A 8D 32 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop154 +; Global: Branch target inside IrqHandler: taken when Loop154. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop154: + lda Zp32 ; CPU:$D12D PRG:512D A5 32 + and #$01 ; CPU:$D12F PRG:512F 29 01 + bne IrqHandler_Loop155 ; CPU:$D131 PRG:5131 D0 21 + lda $0430 ; CPU:$D133 PRG:5133 AD 30 04 + sta VramWritePtrHi ; CPU:$D136 PRG:5136 85 01 + inc VramWritePtrHi ; CPU:$D138 PRG:5138 E6 01 + lda VramWritePtrHi ; CPU:$D13A PRG:513A A5 01 + and #$03 ; CPU:$D13C PRG:513C 29 03 + sta VramWritePtrHi ; CPU:$D13E PRG:513E 85 01 + lda $0430 ; CPU:$D140 PRG:5140 AD 30 04 + and #$FC ; CPU:$D143 PRG:5143 29 FC + ora VramWritePtrHi ; CPU:$D145 PRG:5145 05 01 + sta $0430 ; CPU:$D147 PRG:5147 8D 30 04 + lda $0430,x ; CPU:$D14A PRG:514A BD 30 04 + and #$FC ; CPU:$D14D PRG:514D 29 FC + ora VramWritePtrHi ; CPU:$D14F PRG:514F 05 01 + sta $0430,x ; CPU:$D151 PRG:5151 9D 30 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop155 +; Global: Branch target inside IrqHandler: taken when Loop155. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop155: + rts ; CPU:$D154 PRG:5154 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D155 +; Global: Branch target inside Sub: taken when D155. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D155: + ldx #$02 ; CPU:$D155 PRG:5155 A2 02 + ldy #$01 ; CPU:$D157 PRG:5157 A0 01 + bne IrqHandler_OnZero3 ; CPU:$D159 PRG:5159 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D15B +; Global: Branch target inside Sub: taken when D15B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D15B: + ldx #$01 ; CPU:$D15B PRG:515B A2 01 + ldy #$02 ; CPU:$D15D PRG:515D A0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero3 +; Global: Branch target inside IrqHandler: taken when OnZero3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero3: + lda $0410,x ; CPU:$D15F PRG:515F BD 10 04 + sec ; CPU:$D162 PRG:5162 38 + sbc #$01 ; CPU:$D163 PRG:5163 E9 01 + sta $0410,x ; CPU:$D165 PRG:5165 9D 10 04 + lda $0410,y ; CPU:$D168 PRG:5168 B9 10 04 + clc ; CPU:$D16B PRG:516B 18 + adc #$01 ; CPU:$D16C PRG:516C 69 01 + sta $0410,y ; CPU:$D16E PRG:516E 99 10 04 + lda Zp32 ; CPU:$D171 PRG:5171 A5 32 + and #$01 ; CPU:$D173 PRG:5173 29 01 + bne IrqHandler_Loop156 ; CPU:$D175 PRG:5175 D0 12 + lda $0410,x ; CPU:$D177 PRG:5177 BD 10 04 + sec ; CPU:$D17A PRG:517A 38 + sbc #$01 ; CPU:$D17B PRG:517B E9 01 + sta $0410,x ; CPU:$D17D PRG:517D 9D 10 04 + lda $0410,y ; CPU:$D180 PRG:5180 B9 10 04 + clc ; CPU:$D183 PRG:5183 18 + adc #$01 ; CPU:$D184 PRG:5184 69 01 + sta $0410,y ; CPU:$D186 PRG:5186 99 10 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop156 +; Global: Branch target inside IrqHandler: taken when Loop156. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop156: + rts ; CPU:$D189 PRG:5189 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D18A +; Global: Branch target inside Label: taken when D18A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D18A: + jsr Sub_D155 ; CPU:$D18A PRG:518A 20 55 D1 + ldx #$03 ; CPU:$D18D PRG:518D A2 03 + ldy #$00 ; CPU:$D18F PRG:518F A0 00 + beq IrqHandler_OnZero3 ; CPU:$D191 PRG:5191 F0 CC + jsr Sub_D15B ; CPU:$D193 PRG:5193 20 5B D1 + ldx #$00 ; CPU:$D196 PRG:5196 A2 00 + ldy #$03 ; CPU:$D198 PRG:5198 A0 03 + bne IrqHandler_OnZero3 ; CPU:$D19A PRG:519A D0 C3 + ldx #$01 ; CPU:$D19C PRG:519C A2 01 + jsr IrqHandler_Loop154 ; CPU:$D19E PRG:519E 20 2D D1 + ldy ZpEC ; CPU:$D1A1 PRG:51A1 A4 EC + lda ZpEE ; CPU:$D1A3 PRG:51A3 A5 EE + cmp $D1C2,y ; CPU:$D1A5 PRG:51A5 D9 C2 D1 + bne IrqHandler_Loop158 ; CPU:$D1A8 PRG:51A8 D0 0B + lda ZpEF ; CPU:$D1AA PRG:51AA A5 EF + cmp $D1C3,y ; CPU:$D1AC PRG:51AC D9 C3 D1 + bne IrqHandler_Loop157 ; CPU:$D1AF PRG:51AF D0 02 + iny ; CPU:$D1B1 PRG:51B1 C8 + iny ; CPU:$D1B2 PRG:51B2 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop157 +; Global: Branch target inside IrqHandler: taken when Loop157. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop157: + sty ZpEC ; CPU:$D1B3 PRG:51B3 84 EC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop158 +; Global: Branch target inside IrqHandler: taken when Loop158. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop158: + lda $D1EC,y ; CPU:$D1B5 PRG:51B5 B9 EC D1 + sta VramReadPtrLo ; CPU:$D1B8 PRG:51B8 85 08 + lda $D1ED,y ; CPU:$D1BA PRG:51BA B9 ED D1 + sta VramReadPtrHi ; CPU:$D1BD PRG:51BD 85 09 + jmp (VramReadPtrLo) ; CPU:$D1BF PRG:51BF 6C 08 00 +; ---- data $D1C2-$D349 (392 bytes) ---- +; referenced by `cmp $D1C2,y` at $D1A5 (operand $D1C2 falls inside this region) +; referenced by `cmp $D1C3,y` at $D1AC (operand $D1C3 falls inside this region) +; referenced by `lda $D1EC,y` at $D1B5 (operand $D1EC falls inside this region) +; referenced by `lda $D1ED,y` at $D1BA (operand $D1ED falls inside this region) +; referenced by `lda $D346,x` at $D44B (operand $D346 falls inside this region) +LevelObjectPointerTable: + .byte $02, $02, $02, $25, $04, $34, $05, $1C, $07, $1D, $08, $06, $0A, $13, $0A, $37 ; CPU:$D1C2 PRG:11C2 02 02 02 25 04 34 05 1C 07 1D 08 06 0A 13 0A 37 + .byte $0C, $38, $0D, $21, $0F, $2E, $10, $18, $11, $19, $11, $2E, $12, $1D, $12, $31 ; CPU:$D1D2 PRG:51D2 0C 38 0D 21 0F 2E 10 18 11 19 11 2E 12 1D 12 31 + .byte $13, $34, $14, $0D, $14, $38, $15, $10, $15, $38, $54, $D0, $1B, $D2, $18, $D2 ; CPU:$D1E2 PRG:51E2 13 34 14 0D 14 38 15 10 15 38 54 D0 1B D2 18 D2 + .byte $1F, $D2, $4C, $D0, $41, $D2, $3A, $D2, $3D, $D2, $F1, $CF, $1B, $D2, $18, $D2 ; CPU:$D1F2 PRG:51F2 1F D2 4C D0 41 D2 3A D2 3D D2 F1 CF 1B D2 18 D2 + .byte $1F, $D2, $E5, $CF, $76, $D2, $6F, $D2, $72, $D2, $D9, $CF, $5F, $D2, $5C, $D2 ; CPU:$D202 PRG:5202 1F D2 E5 CF 76 D2 6F D2 72 D2 D9 CF 5F D2 5C D2 + .byte $63, $D2, $39, $D2, $7E, $CF, $20, $1F, $D2, $A2, $00, $F0, $02, $A2, $01, $BD ; CPU:$D212 PRG:5212 63 D2 39 D2 7E CF 20 1F D2 A2 00 F0 02 A2 01 BD + .byte $10, $04, $18, $69, $01, $9D, $10, $04, $A5, $32, $29, $01, $D0, $09, $BD, $10 ; CPU:$D222 PRG:5222 10 04 18 69 01 9D 10 04 A5 32 29 01 D0 09 BD 10 + .byte $04, $18, $69, $01, $9D, $10, $04, $60, $20, $41, $D2, $A2, $00, $F0, $02, $A2 ; CPU:$D232 PRG:5232 04 18 69 01 9D 10 04 60 20 41 D2 A2 00 F0 02 A2 + .byte $01, $BD, $10, $04, $38, $E9, $01, $9D, $10, $04, $A5, $32, $29, $01, $D0, $09 ; CPU:$D242 PRG:5242 01 BD 10 04 38 E9 01 9D 10 04 A5 32 29 01 D0 09 + .byte $BD, $10, $04, $38, $E9, $01, $9D, $10, $04, $60, $20, $63, $D2, $A2, $00, $F0 ; CPU:$D252 PRG:5252 BD 10 04 38 E9 01 9D 10 04 60 20 63 D2 A2 00 F0 + .byte $02, $A2, $01, $BD, $10, $04, $18, $69, $04, $9D, $10, $04, $60, $20, $76, $D2 ; CPU:$D262 PRG:5262 02 A2 01 BD 10 04 18 69 04 9D 10 04 60 20 76 D2 + .byte $A2, $00, $F0, $02, $A2, $01, $BD, $10, $04, $38, $E9, $04, $9D, $10, $04, $60 ; CPU:$D272 PRG:5272 A2 00 F0 02 A2 01 BD 10 04 38 E9 04 9D 10 04 60 + .byte $A4, $EC, $A5, $EE, $D9, $A3, $D2, $D0, $0B, $A5, $EF, $D9, $A4, $D2, $D0, $02 ; CPU:$D282 PRG:5282 A4 EC A5 EE D9 A3 D2 D0 0B A5 EF D9 A4 D2 D0 02 + .byte $C8, $C8, $84, $EC, $B9, $B3, $D2, $85, $08, $B9, $B4, $D2, $85, $09, $6C, $08 ; CPU:$D292 PRG:5292 C8 C8 84 EC B9 B3 D2 85 08 B9 B4 D2 85 09 6C 08 + .byte $00, $00, $02, $02, $04, $03, $2C, $03, $38, $04, $25, $04, $38, $05, $20, $07 ; CPU:$D2A2 PRG:52A2 00 00 02 02 04 03 2C 03 38 04 25 04 38 05 20 07 + .byte $20, $FD, $CF, $0A, $D3, $D3, $D2, $28, $D3, $0A, $D3, $C5, $D2, $CC, $D2, $0A ; CPU:$D2B2 PRG:52B2 20 FD CF 0A D3 D3 D2 28 D3 0A D3 C5 D2 CC D2 0A + .byte $D3, $7E, $CF, $A9, $53, $8D, $31, $04, $D0, $3E, $A9, $53, $8D, $31, $04, $D0 ; CPU:$D2C2 PRG:52C2 D3 7E CF A9 53 8D 31 04 D0 3E A9 53 8D 31 04 D0 + .byte $37, $A9, $00, $85, $ED, $AD, $30, $04, $09, $02, $8D, $30, $04, $A9, $03, $8D ; CPU:$D2D2 PRG:52D2 37 A9 00 85 ED AD 30 04 09 02 8D 30 04 A9 03 8D + .byte $01, $04, $EE, $21, $04, $A5, $32, $29, $01, $D0, $1D, $EE, $21, $04, $CE, $11 ; CPU:$D2E2 PRG:52E2 01 04 EE 21 04 A5 32 29 01 D0 1D EE 21 04 CE 11 + .byte $04, $AE, $11, $04, $EC, $12, $04, $B0, $05, $A9, $59, $8D, $32, $04, $EC, $13 ; CPU:$D2F2 PRG:52F2 04 AE 11 04 EC 12 04 B0 05 A9 59 8D 32 04 EC 13 + .byte $04, $B0, $05, $A9, $59, $8D, $33, $04, $CE, $10, $04, $AE, $10, $04, $E0, $FF ; CPU:$D302 PRG:5302 04 B0 05 A9 59 8D 33 04 CE 10 04 AE 10 04 E0 FF + .byte $D0, $05, $A9, $00, $8D, $00, $04, $A5, $32, $29, $07, $D0, $08, $AD, $30, $04 ; CPU:$D312 PRG:5312 D0 05 A9 00 8D 00 04 A5 32 29 07 D0 08 AD 30 04 + .byte $49, $01, $8D, $30, $04, $60, $A5, $32, $29, $01, $D0, $03, $CE, $11, $04, $A6 ; CPU:$D322 PRG:5322 49 01 8D 30 04 60 A5 32 29 01 D0 03 CE 11 04 A6 + .byte $ED, $E8, $86, $ED, $E0, $06, $B0, $06, $CE, $21, $04, $4C, $43, $D3, $EE, $21 ; CPU:$D332 PRG:5332 ED E8 86 ED E0 06 B0 06 CE 21 04 4C 43 D3 EE 21 + .byte $04, $4C, $0A, $D3, $03, $01, $02, $00 ; CPU:$D342 PRG:5342 04 4C 0A D3 03 01 02 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D34A +; Global: Branch target inside Label: taken when D34A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D34A: + lda Zp2A ; CPU:$D34A PRG:534A A5 2A +; ----------------------------------------------------------------------------- +; Routine: Label_D34C +; Global: Branch target inside Label: taken when D34C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D34C: + bit Zp3C ; CPU:$D34C PRG:534C 24 3C + bvc IrqHandler_Loop160 ; CPU:$D34E PRG:534E 50 0D + bit Zp8D ; CPU:$D350 PRG:5350 24 8D + bpl IrqHandler_Loop159 ; CPU:$D352 PRG:5352 10 07 + ldx Zp2B ; CPU:$D354 PRG:5354 A6 2B + bne IrqHandler_Loop159 ; CPU:$D356 PRG:5356 D0 03 + jmp IrqHandler_Loop160 ; CPU:$D358 PRG:5358 4C 5D D3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop159 +; Global: Branch target inside IrqHandler: taken when Loop159. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop159: + lda Zp2B ; CPU:$D35B PRG:535B A5 2B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop160 +; Global: Branch target inside IrqHandler: taken when Loop160. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop160: + sta Zp8A ; CPU:$D35D PRG:535D 85 8A + jsr Sub_D418 ; CPU:$D35F PRG:535F 20 18 D4 + bcc IrqHandler_Loop161 ; CPU:$D362 PRG:5362 90 07 + lda Zp78 ; CPU:$D364 PRG:5364 A5 78 + and #$FC ; CPU:$D366 PRG:5366 29 FC + sta Zp78 ; CPU:$D368 PRG:5368 85 78 + rts ; CPU:$D36A PRG:536A 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop161 +; Global: Branch target inside IrqHandler: taken when Loop161. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop161: + ldx #$00 ; CPU:$D36B PRG:536B A2 00 + lda ZpCF ; CPU:$D36D PRG:536D A5 CF + beq IrqHandler_Loop162 ; CPU:$D36F PRG:536F F0 02 + ldx #$02 ; CPU:$D371 PRG:5371 A2 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop162 +; Global: Branch target inside IrqHandler: taken when Loop162. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop162: + lda ZpDC,x ; CPU:$D373 PRG:5373 B5 DC + sta ZpD0 ; CPU:$D375 PRG:5375 85 D0 + lda ZpDD,x ; CPU:$D377 PRG:5377 B5 DD + sta ZpD1 ; CPU:$D379 PRG:5379 85 D1 + lda Zp78 ; CPU:$D37B PRG:537B A5 78 + sta VramWritePtrHi ; CPU:$D37D PRG:537D 85 01 + lda Zp32 ; CPU:$D37F PRG:537F A5 32 + and #$01 ; CPU:$D381 PRG:5381 29 01 + bne IrqHandler_Loop163 ; CPU:$D383 PRG:5383 D0 08 + inc VramWritePtrHi ; CPU:$D385 PRG:5385 E6 01 + lda VramWritePtrHi ; CPU:$D387 PRG:5387 A5 01 + and #$03 ; CPU:$D389 PRG:5389 29 03 + sta VramWritePtrHi ; CPU:$D38B PRG:538B 85 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop163 +; Global: Branch target inside IrqHandler: taken when Loop163. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop163: + lda Zp5F ; CPU:$D38D PRG:538D A5 5F + asl a ; CPU:$D38F PRG:538F 0A + asl a ; CPU:$D390 PRG:5390 0A + and #$FC ; CPU:$D391 PRG:5391 29 FC + ora VramWritePtrHi ; CPU:$D393 PRG:5393 05 01 + bit Zp3C ; CPU:$D395 PRG:5395 24 3C + bvc IrqHandler_Loop164 ; CPU:$D397 PRG:5397 50 02 + ora #$40 ; CPU:$D399 PRG:5399 09 40 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop164 +; Global: Branch target inside IrqHandler: taken when Loop164. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop164: + sta Zp78 ; CPU:$D39B PRG:539B 85 78 + lda Zp5F ; CPU:$D39D PRG:539D A5 5F + asl a ; CPU:$D39F PRG:539F 0A + tax ; CPU:$D3A0 PRG:53A0 AA + lda $D3AE,x ; CPU:$D3A1 PRG:53A1 BD AE D3 + sta VramReadPtrLo ; CPU:$D3A4 PRG:53A4 85 08 + lda $D3AF,x ; CPU:$D3A6 PRG:53A6 BD AF D3 + sta VramReadPtrHi ; CPU:$D3A9 PRG:53A9 85 09 + jmp (VramReadPtrLo) ; CPU:$D3AB PRG:53AB 6C 08 00 +; ---- data $D3AE-$D40E (97 bytes) ---- +; referenced by `lda $D3AE,x` at $D3A1 (operand $D3AE falls inside this region) +; referenced by `lda $D3AF,x` at $D3A6 (operand $D3AF falls inside this region) + .byte $B6, $D3, $BB, $D3, $D2, $D3, $D7, $D3, $A0, $02, $4C, $BD, $D3, $A0, $00, $B9 ; CPU:$D3AE PRG:53AE B6 D3 BB D3 D2 D3 D7 D3 A0 02 4C BD D3 A0 00 B9 + .byte $61, $00, $38, $E5, $D0, $99, $61, $00, $B9, $60, $00, $85, $01, $E5, $D1, $99 ; CPU:$D3BE PRG:53BE 61 00 38 E5 D0 99 61 00 B9 60 00 85 01 E5 D1 99 + .byte $60, $00, $D0, $1A, $A0, $02, $4C, $D9, $D3, $A0, $00, $B9, $61, $00, $18, $65 ; CPU:$D3CE PRG:53CE 60 00 D0 1A A0 02 4C D9 D3 A0 00 B9 61 00 18 65 + .byte $D0, $99, $61, $00, $B9, $60, $00, $85, $01, $65, $D1, $99, $60, $00, $A5, $60 ; CPU:$D3DE PRG:53DE D0 99 61 00 B9 60 00 85 01 65 D1 99 60 00 A5 60 + .byte $C9, $A2, $90, $0A, $C9, $AF, $90, $04, $A9, $02, $85, $60, $D0, $0C, $C9, $0D ; CPU:$D3EE PRG:53EE C9 A2 90 0A C9 AF 90 04 A9 02 85 60 D0 0C C9 0D + .byte $B0, $0D, $C9, $02, $B0, $04, $A9, $AE, $85, $60, $A9, $20, $4C, $0F, $D4, $A9 ; CPU:$D3FE PRG:53FE B0 0D C9 02 B0 04 A9 AE 85 60 A9 20 4C 0F D4 A9 + .byte $00 ; CPU:$D40E PRG:540E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D40F +; Global: Branch target inside Label: taken when D40F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D40F: + bit Zp89 ; CPU:$D40F PRG:540F 24 89 + bpl IrqHandler_Loop165 ; CPU:$D411 PRG:5411 10 02 + ora #$03 ; CPU:$D413 PRG:5413 09 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop165 +; Global: Branch target inside IrqHandler: taken when Loop165. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop165: + sta Zp79 ; CPU:$D415 PRG:5415 85 79 + rts ; CPU:$D417 PRG:5417 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D418 +; Global: Branch target inside Sub: taken when D418. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D418: + ldx #$00 ; CPU:$D418 PRG:5418 A2 00 + lda Zp60 ; CPU:$D41A PRG:541A A5 60 + bmi IrqHandler_Loop166 ; CPU:$D41C PRG:541C 30 07 + cmp #$10 ; CPU:$D41E PRG:541E C9 10 + bcc IrqHandler_Loop167 ; CPU:$D420 PRG:5420 90 07 + jmp IrqHandler_Loop168 ; CPU:$D422 PRG:5422 4C 30 D4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop166 +; Global: Branch target inside IrqHandler: taken when Loop166. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop166: + cmp #$A1 ; CPU:$D425 PRG:5425 C9 A1 + bcc IrqHandler_Loop168 ; CPU:$D427 PRG:5427 90 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop167 +; Global: Branch target inside IrqHandler: taken when Loop167. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop167: + lda Zp8A ; CPU:$D429 PRG:5429 A5 8A + and #$F3 ; CPU:$D42B PRG:542B 29 F3 + sta Zp8A ; CPU:$D42D PRG:542D 85 8A + dex ; CPU:$D42F PRG:542F CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop168 +; Global: Branch target inside IrqHandler: taken when Loop168. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop168: + stx Zp06 ; CPU:$D430 PRG:5430 86 06 + ldx #$00 ; CPU:$D432 PRG:5432 A2 00 + lda Zp60 ; CPU:$D434 PRG:5434 A5 60 + ora Zp62 ; CPU:$D436 PRG:5436 05 62 + and #$07 ; CPU:$D438 PRG:5438 29 07 + bne IrqHandler_Loop169 ; CPU:$D43A PRG:543A D0 01 + dex ; CPU:$D43C PRG:543C CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop169 +; Global: Branch target inside IrqHandler: taken when Loop169. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop169: + stx Zp07 ; CPU:$D43D PRG:543D 86 07 + lda Zp8A ; CPU:$D43F PRG:543F A5 8A + and #$0F ; CPU:$D441 PRG:5441 29 0F + beq IrqHandler_Loop171 ; CPU:$D443 PRG:5443 F0 25 + ldx #$FF ; CPU:$D445 PRG:5445 A2 FF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear16 +; Global: Branch target inside IrqHandler: taken when OnCarryClear16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear16: + inx ; CPU:$D447 PRG:5447 E8 + lsr a ; CPU:$D448 PRG:5448 4A + bcc IrqHandler_OnCarryClear16 ; CPU:$D449 PRG:5449 90 FC + lda $D346,x ; CPU:$D44B PRG:544B BD 46 D3 + sta Zp5E ; CPU:$D44E PRG:544E 85 5E + clc ; CPU:$D450 PRG:5450 18 + adc #$02 ; CPU:$D451 PRG:5451 69 02 + and #$03 ; CPU:$D453 PRG:5453 29 03 + cmp Zp5F ; CPU:$D455 PRG:5455 C5 5F + beq IrqHandler_Loop170 ; CPU:$D457 PRG:5457 F0 0D + bit Zp07 ; CPU:$D459 PRG:5459 24 07 + bpl IrqHandler_Loop171 ; CPU:$D45B PRG:545B 10 0D + ldx Zp5E ; CPU:$D45D PRG:545D A6 5E + lda $0481,x ; CPU:$D45F PRG:545F BD 81 04 + cmp #$09 ; CPU:$D462 PRG:5462 C9 09 + bcs IrqHandler_Loop171 ; CPU:$D464 PRG:5464 B0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop170 +; Global: Branch target inside IrqHandler: taken when Loop170. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop170: + lda Zp5E ; CPU:$D466 PRG:5466 A5 5E + sta Zp5F ; CPU:$D468 PRG:5468 85 5F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop171 +; Global: Branch target inside IrqHandler: taken when Loop171. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop171: + bit Zp06 ; CPU:$D46A PRG:546A 24 06 + bmi IrqHandler_Loop172 ; CPU:$D46C PRG:546C 30 0F + bit Zp07 ; CPU:$D46E PRG:546E 24 07 + bpl IrqHandler_Loop172 ; CPU:$D470 PRG:5470 10 0B + ldx Zp5F ; CPU:$D472 PRG:5472 A6 5F + lda $0481,x ; CPU:$D474 PRG:5474 BD 81 04 + cmp #$09 ; CPU:$D477 PRG:5477 C9 09 + bcc IrqHandler_Loop172 ; CPU:$D479 PRG:5479 90 02 + sec ; CPU:$D47B PRG:547B 38 + rts ; CPU:$D47C PRG:547C 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop172 +; Global: Branch target inside IrqHandler: taken when Loop172. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop172: + clc ; CPU:$D47D PRG:547D 18 + rts ; CPU:$D47E PRG:547E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D47F +; Global: Branch target inside Sub: taken when D47F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D47F: + lda Zp62 ; CPU:$D47F PRG:547F A5 62 + clc ; CPU:$D481 PRG:5481 18 + adc #$04 ; CPU:$D482 PRG:5482 69 04 + sta Zp03 ; CPU:$D484 PRG:5484 85 03 + lda Zp60 ; CPU:$D486 PRG:5486 A5 60 + clc ; CPU:$D488 PRG:5488 18 + adc #$04 ; CPU:$D489 PRG:5489 69 04 + jsr Sub_C3A5 ; CPU:$D48B PRG:548B 20 A5 C3 + sta $04A1 ; CPU:$D48E PRG:548E 8D A1 04 + lda ControllerState ; CPU:$D491 PRG:5491 A5 02 + sta $04A0 ; CPU:$D493 PRG:5493 8D A0 04 + ldy #$00 ; CPU:$D496 PRG:5496 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear17 +; Global: Branch target inside IrqHandler: taken when OnCarryClear17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear17: + lda ControllerState ; CPU:$D498 PRG:5498 A5 02 + sta Zp03 ; CPU:$D49A PRG:549A 85 03 + lda $D550,y ; CPU:$D49C PRG:549C B9 50 D5 + bmi IrqHandler_Loop174 ; CPU:$D49F PRG:549F 30 0A + clc ; CPU:$D4A1 PRG:54A1 18 + adc VramWritePtrHi ; CPU:$D4A2 PRG:54A2 65 01 + bcc IrqHandler_Loop173 ; CPU:$D4A4 PRG:54A4 90 02 + inc Zp03 ; CPU:$D4A6 PRG:54A6 E6 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop173 +; Global: Branch target inside IrqHandler: taken when Loop173. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop173: + jmp IrqHandler_Loop175 ; CPU:$D4A8 PRG:54A8 4C B2 D4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop174 +; Global: Branch target inside IrqHandler: taken when Loop174. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop174: + clc ; CPU:$D4AB PRG:54AB 18 + adc VramWritePtrHi ; CPU:$D4AC PRG:54AC 65 01 + bcs IrqHandler_Loop175 ; CPU:$D4AE PRG:54AE B0 02 + dec Zp03 ; CPU:$D4B0 PRG:54B0 C6 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop175 +; Global: Branch target inside IrqHandler: taken when Loop175. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop175: + sta $04A3,y ; CPU:$D4B2 PRG:54B2 99 A3 04 + lda Zp03 ; CPU:$D4B5 PRG:54B5 A5 03 + sta $04A2,y ; CPU:$D4B7 PRG:54B7 99 A2 04 + iny ; CPU:$D4BA PRG:54BA C8 + iny ; CPU:$D4BB PRG:54BB C8 + cpy #$08 ; CPU:$D4BC PRG:54BC C0 08 + bcc IrqHandler_OnCarryClear17 ; CPU:$D4BE PRG:54BE 90 D8 + lda #$C1 ; CPU:$D4C0 PRG:54C0 A9 C1 + sta VramReadPtrLo ; CPU:$D4C2 PRG:54C2 85 08 + lda #$00 ; CPU:$D4C4 PRG:54C4 A9 00 + sta VramReadPtrHi ; CPU:$D4C6 PRG:54C6 85 09 + ldx #$00 ; CPU:$D4C8 PRG:54C8 A2 00 + stx Zp04 ; CPU:$D4CA PRG:54CA 86 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear18 +; Global: Branch target inside IrqHandler: taken when OnCarryClear18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear18: + lda Zp66,x ; CPU:$D4CC PRG:54CC B5 66 + clc ; CPU:$D4CE PRG:54CE 18 + adc #$04 ; CPU:$D4CF PRG:54CF 69 04 + sta Zp03 ; CPU:$D4D1 PRG:54D1 85 03 + lda Zp64,x ; CPU:$D4D3 PRG:54D3 B5 64 + clc ; CPU:$D4D5 PRG:54D5 18 + adc #$04 ; CPU:$D4D6 PRG:54D6 69 04 + jsr Sub_C3A5 ; CPU:$D4D8 PRG:54D8 20 A5 C3 + lda #$04 ; CPU:$D4DB PRG:54DB A9 04 + sta VramReadPtrHi ; CPU:$D4DD PRG:54DD 85 09 + lda #$AA ; CPU:$D4DF PRG:54DF A9 AA + clc ; CPU:$D4E1 PRG:54E1 18 + adc Zp04 ; CPU:$D4E2 PRG:54E2 65 04 + bcc IrqHandler_Loop176 ; CPU:$D4E4 PRG:54E4 90 02 + inc VramReadPtrHi ; CPU:$D4E6 PRG:54E6 E6 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop176 +; Global: Branch target inside IrqHandler: taken when Loop176. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop176: + sta VramReadPtrLo ; CPU:$D4E8 PRG:54E8 85 08 + ldy #$00 ; CPU:$D4EA PRG:54EA A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear19 +; Global: Branch target inside IrqHandler: taken when OnCarryClear19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear19: + lda ControllerState ; CPU:$D4EC PRG:54EC A5 02 + sta Zp03 ; CPU:$D4EE PRG:54EE 85 03 + lda $D550,y ; CPU:$D4F0 PRG:54F0 B9 50 D5 + bmi IrqHandler_Loop178 ; CPU:$D4F3 PRG:54F3 30 0A + clc ; CPU:$D4F5 PRG:54F5 18 + adc VramWritePtrHi ; CPU:$D4F6 PRG:54F6 65 01 + bcc IrqHandler_Loop177 ; CPU:$D4F8 PRG:54F8 90 02 + inc Zp03 ; CPU:$D4FA PRG:54FA E6 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop177 +; Global: Branch target inside IrqHandler: taken when Loop177. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop177: + jmp IrqHandler_Loop179 ; CPU:$D4FC PRG:54FC 4C 06 D5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop178 +; Global: Branch target inside IrqHandler: taken when Loop178. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop178: + clc ; CPU:$D4FF PRG:54FF 18 + adc VramWritePtrHi ; CPU:$D500 PRG:5500 65 01 + bcs IrqHandler_Loop179 ; CPU:$D502 PRG:5502 B0 02 + dec Zp03 ; CPU:$D504 PRG:5504 C6 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop179 +; Global: Branch target inside IrqHandler: taken when Loop179. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop179: + iny ; CPU:$D506 PRG:5506 C8 + sta (VramReadPtrLo),y ; CPU:$D507 PRG:5507 91 08 + dey ; CPU:$D509 PRG:5509 88 + lda Zp03 ; CPU:$D50A PRG:550A A5 03 + sta (VramReadPtrLo),y ; CPU:$D50C PRG:550C 91 08 + iny ; CPU:$D50E PRG:550E C8 + iny ; CPU:$D50F PRG:550F C8 + cpy #$08 ; CPU:$D510 PRG:5510 C0 08 + bcc IrqHandler_OnCarryClear19 ; CPU:$D512 PRG:5512 90 D8 + lda Zp04 ; CPU:$D514 PRG:5514 A5 04 + clc ; CPU:$D516 PRG:5516 18 + adc #$08 ; CPU:$D517 PRG:5517 69 08 + sta Zp04 ; CPU:$D519 PRG:5519 85 04 + inx ; CPU:$D51B PRG:551B E8 + inx ; CPU:$D51C PRG:551C E8 + inx ; CPU:$D51D PRG:551D E8 + inx ; CPU:$D51E PRG:551E E8 + cpx #$14 ; CPU:$D51F PRG:551F E0 14 + bcc IrqHandler_OnCarryClear18 ; CPU:$D521 PRG:5521 90 A9 + ldx #$00 ; CPU:$D523 PRG:5523 A2 00 + ldy #$00 ; CPU:$D525 PRG:5525 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear20 +; Global: Branch target inside IrqHandler: taken when OnCarryClear20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear20: + lda Zp60,x ; CPU:$D527 PRG:5527 B5 60 + sta $0410,y ; CPU:$D529 PRG:5529 99 10 04 + lda Zp62,x ; CPU:$D52C PRG:552C B5 62 + sta $0420,y ; CPU:$D52E PRG:552E 99 20 04 + inx ; CPU:$D531 PRG:5531 E8 + inx ; CPU:$D532 PRG:5532 E8 + inx ; CPU:$D533 PRG:5533 E8 + inx ; CPU:$D534 PRG:5534 E8 + iny ; CPU:$D535 PRG:5535 C8 + cpy #$06 ; CPU:$D536 PRG:5536 C0 06 + bcc IrqHandler_OnCarryClear20 ; CPU:$D538 PRG:5538 90 ED + ldx #$00 ; CPU:$D53A PRG:553A A2 00 + ldy #$00 ; CPU:$D53C PRG:553C A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear21 +; Global: Branch target inside IrqHandler: taken when OnCarryClear21. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear21: + lda Zp78,x ; CPU:$D53E PRG:553E B5 78 + sta $0430,y ; CPU:$D540 PRG:5540 99 30 04 + lda Zp79,x ; CPU:$D543 PRG:5543 B5 79 + sta $0440,y ; CPU:$D545 PRG:5545 99 40 04 + inx ; CPU:$D548 PRG:5548 E8 + inx ; CPU:$D549 PRG:5549 E8 + iny ; CPU:$D54A PRG:554A C8 + cpy #$06 ; CPU:$D54B PRG:554B C0 06 + bcc IrqHandler_OnCarryClear21 ; CPU:$D54D PRG:554D 90 EF + rts ; CPU:$D54F PRG:554F 60 +; ---- data $D550-$D5C1 (114 bytes) ---- +; referenced by `lda $D550,y` at $D49C (operand $D550 falls inside this region) +; referenced by `lda $D550,y` at $D4F0 (operand $D550 falls inside this region) + .byte $E0, $E0, $FF, $FF, $20, $20, $01, $01, $90, $38, $AD, $05, $04, $D0, $0F, $A4 ; CPU:$D550 PRG:5550 E0 E0 FF FF 20 20 01 01 90 38 AD 05 04 D0 0F A4 + .byte $4A, $B9, $58, $D5, $C5, $3D, $D0, $03, $20, $04, $DB, $4C, $8F, $D5, $A5, $74 ; CPU:$D560 PRG:5560 4A B9 58 D5 C5 3D D0 03 20 04 DB 4C 8F D5 A5 74 + .byte $C9, $58, $D0, $1B, $A5, $76, $C9, $60, $F0, $04, $C9, $88, $D0, $11, $C5, $A6 ; CPU:$D570 PRG:5570 C9 58 D0 1B A5 76 C9 60 F0 04 C9 88 D0 11 C5 A6 + .byte $F0, $0D, $85, $A6, $CE, $7A, $04, $D0, $06, $A5, $CA, $09, $10, $85, $CA, $C6 ; CPU:$D580 PRG:5580 F0 0D 85 A6 CE 7A 04 D0 06 A5 CA 09 10 85 CA C6 + .byte $FE, $10, $16, $A9, $14, $85, $FE, $A2, $00, $B5, $C0, $C9, $06, $D0, $04, $A9 ; CPU:$D590 PRG:5590 FE 10 16 A9 14 85 FE A2 00 B5 C0 C9 06 D0 04 A9 + .byte $07, $85, $3A, $E8, $E8, $E0, $08, $90, $F0, $A5, $85, $D0, $06, $20, $55, $DB ; CPU:$D5A0 PRG:55A0 07 85 3A E8 E8 E0 08 90 F0 A5 85 D0 06 20 55 DB + .byte $4C, $D4, $D5, $C6, $85, $D0, $1D, $A9, $FF, $85, $86, $A9, $03, $8D, $00, $04 ; CPU:$D5B0 PRG:55B0 4C D4 D5 C6 85 D0 1D A9 FF 85 86 A9 03 8D 00 04 + .byte $A2, $00 ; CPU:$D5C0 PRG:55C0 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5C2 +; Global: Branch target inside Sub: taken when D5C2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5C2: + lda ZpC0,x ; CPU:$D5C2 PRG:55C2 B5 C0 + cmp #$08 ; CPU:$D5C4 PRG:55C4 C9 08 + bne IrqHandler_Loop180 ; CPU:$D5C6 PRG:55C6 D0 07 + lda #$06 ; CPU:$D5C8 PRG:55C8 A9 06 + sta ZpC0,x ; CPU:$D5CA PRG:55CA 95 C0 + jmp Sub_D5D4 ; CPU:$D5CC PRG:55CC 4C D4 D5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop180 +; Global: Branch target inside IrqHandler: taken when Loop180. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop180: + inx ; CPU:$D5CF PRG:55CF E8 + inx ; CPU:$D5D0 PRG:55D0 E8 + jmp Sub_D5C2 ; CPU:$D5D1 PRG:55D1 4C C2 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5D4 +; Global: Branch target inside Sub: taken when D5D4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5D4: + ldx #$00 ; CPU:$D5D4 PRG:55D4 A2 00 + lda #$01 ; CPU:$D5D6 PRG:55D6 A9 01 + sta Zp04 ; CPU:$D5D8 PRG:55D8 85 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear22 +; Global: Branch target inside IrqHandler: taken when OnCarryClear22. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear22: + stx DispatchPtrLo ; CPU:$D5DA PRG:55DA 86 0A + txa ; CPU:$D5DC PRG:55DC 8A + asl a ; CPU:$D5DD PRG:55DD 0A + clc ; CPU:$D5DE PRG:55DE 18 + adc #$64 ; CPU:$D5DF PRG:55DF 69 64 + sta ControllerState ; CPU:$D5E1 PRG:55E1 85 02 + lda #$00 ; CPU:$D5E3 PRG:55E3 A9 00 + sta Zp03 ; CPU:$D5E5 PRG:55E5 85 03 + txa ; CPU:$D5E7 PRG:55E7 8A + asl a ; CPU:$D5E8 PRG:55E8 0A + clc ; CPU:$D5E9 PRG:55E9 18 + adc #$85 ; CPU:$D5EA PRG:55EA 69 85 + sta VramWritePtrLo ; CPU:$D5EC PRG:55EC 85 00 + lda #$04 ; CPU:$D5EE PRG:55EE A9 04 + sta VramWritePtrHi ; CPU:$D5F0 PRG:55F0 85 01 + lda Zp85 ; CPU:$D5F2 PRG:55F2 A5 85 + bne IrqHandler_Loop181 ; CPU:$D5F4 PRG:55F4 D0 03 + jsr Sub_D66D ; CPU:$D5F6 PRG:55F6 20 6D D6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop181 +; Global: Branch target inside IrqHandler: taken when Loop181. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop181: + cpx #$08 ; CPU:$D5F9 PRG:55F9 E0 08 + beq IrqHandler_Loop186 ; CPU:$D5FB PRG:55FB F0 44 + lda ZpC0,x ; CPU:$D5FD PRG:55FD B5 C0 + cmp #$06 ; CPU:$D5FF PRG:55FF C9 06 + bcc IrqHandler_Loop183 ; CPU:$D601 PRG:5601 90 15 + bne IrqHandler_Loop182 ; CPU:$D603 PRG:5603 D0 07 + lda ZpC1,x ; CPU:$D605 PRG:5605 B5 C1 + ora #$18 ; CPU:$D607 PRG:5607 09 18 + jmp Sub_D615 ; CPU:$D609 PRG:5609 4C 15 D6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop182 +; Global: Branch target inside IrqHandler: taken when Loop182. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop182: + lda Zp7B,x ; CPU:$D60C PRG:560C B5 7B + and #$DF ; CPU:$D60E PRG:560E 29 DF + sta Zp7B,x ; CPU:$D610 PRG:5610 95 7B + lda $047E ; CPU:$D612 PRG:5612 AD 7E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D615 +; Global: Branch target inside Sub: taken when D615. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D615: + jmp Sub_D634 ; CPU:$D615 PRG:5615 4C 34 D6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop183 +; Global: Branch target inside IrqHandler: taken when Loop183. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop183: + lda Zp32 ; CPU:$D618 PRG:5618 A5 32 + and #$08 ; CPU:$D61A PRG:561A 29 08 + beq IrqHandler_Loop184 ; CPU:$D61C PRG:561C F0 02 + lda #$01 ; CPU:$D61E PRG:561E A9 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop184 +; Global: Branch target inside IrqHandler: taken when Loop184. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop184: + sta Zp07 ; CPU:$D620 PRG:5620 85 07 + lda Zp04 ; CPU:$D622 PRG:5622 A5 04 + and ZpCF ; CPU:$D624 PRG:5624 25 CF + bne IrqHandler_Loop185 ; CPU:$D626 PRG:5626 D0 06 + lda ZpC1,x ; CPU:$D628 PRG:5628 B5 C1 + asl a ; CPU:$D62A PRG:562A 0A + jmp Sub_D630 ; CPU:$D62B PRG:562B 4C 30 D6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop185 +; Global: Branch target inside IrqHandler: taken when Loop185. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop185: + lda #$0C ; CPU:$D62E PRG:562E A9 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_D630 +; Global: Branch target inside Sub: taken when D630. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D630: + ora #$10 ; CPU:$D630 PRG:5630 09 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero4 +; Global: Branch target inside IrqHandler: taken when OnZero4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero4: + ora Zp07 ; CPU:$D632 PRG:5632 05 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_D634 +; Global: Branch target inside Sub: taken when D634. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D634: + sta Zp7A,x ; CPU:$D634 PRG:5634 95 7A + asl Zp04 ; CPU:$D636 PRG:5636 06 04 + ldx DispatchPtrLo ; CPU:$D638 PRG:5638 A6 0A + inx ; CPU:$D63A PRG:563A E8 + inx ; CPU:$D63B PRG:563B E8 + cpx #$0A ; CPU:$D63C PRG:563C E0 0A + bcc IrqHandler_OnCarryClear22 ; CPU:$D63E PRG:563E 90 9A + rts ; CPU:$D640 PRG:5640 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop186 +; Global: Branch target inside IrqHandler: taken when Loop186. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop186: + lda $0405 ; CPU:$D641 PRG:5641 AD 05 04 + beq IrqHandler_Loop188 ; CPU:$D644 PRG:5644 F0 22 + lda Zp82 ; CPU:$D646 PRG:5646 A5 82 + cmp #$2C ; CPU:$D648 PRG:5648 C9 2C + bcs IrqHandler_Loop188 ; CPU:$D64A PRG:564A B0 1C + and #$FE ; CPU:$D64C PRG:564C 29 FE + sta Zp07 ; CPU:$D64E PRG:564E 85 07 + lda Zp32 ; CPU:$D650 PRG:5650 A5 32 + and #$08 ; CPU:$D652 PRG:5652 29 08 + beq IrqHandler_OnZero4 ; CPU:$D654 PRG:5654 F0 DC + lda ZpCF ; CPU:$D656 PRG:5656 A5 CF + bne IrqHandler_Loop187 ; CPU:$D658 PRG:5658 D0 0A + lda Zp32 ; CPU:$D65A PRG:565A A5 32 + and #$07 ; CPU:$D65C PRG:565C 29 07 + bne IrqHandler_Loop187 ; CPU:$D65E PRG:565E D0 04 + lda #$05 ; CPU:$D660 PRG:5660 A9 05 + sta Zp3A ; CPU:$D662 PRG:5662 85 3A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop187 +; Global: Branch target inside IrqHandler: taken when Loop187. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop187: + lda #$01 ; CPU:$D664 PRG:5664 A9 01 + bne IrqHandler_OnZero4 ; CPU:$D666 PRG:5666 D0 CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop188 +; Global: Branch target inside IrqHandler: taken when Loop188. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop188: + rts ; CPU:$D668 PRG:5668 60 +; ---- data $D669-$D66C (4 bytes) ---- + .byte $2D, $2E, $31, $33 ; CPU:$D669 PRG:5669 2D 2E 31 33 +; ----------------------------------------------------------------------------- +; Routine: Sub_D66D +; Global: Branch target inside Sub: taken when D66D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D66D: + ldy ZpC0,x ; CPU:$D66D PRG:566D B4 C0 + lda $D67C,y ; CPU:$D66F PRG:566F B9 7C D6 + sta VramReadPtrLo ; CPU:$D672 PRG:5672 85 08 + lda $D67D,y ; CPU:$D674 PRG:5674 B9 7D D6 + sta VramReadPtrHi ; CPU:$D677 PRG:5677 85 09 + jmp (VramReadPtrLo) ; CPU:$D679 PRG:5679 6C 08 00 +; ---- data $D67C-$D6EF (116 bytes) ---- +; referenced by `lda $D67C,y` at $D66F (operand $D67C falls inside this region) +; referenced by `lda $D67D,y` at $D674 (operand $D67D falls inside this region) + .byte $AD, $D6, $F0, $D6, $3F, $D7, $3F, $D7, $86, $D6, $E0, $08, $D0, $22, $CE, $79 ; CPU:$D67C PRG:567C AD D6 F0 D6 3F D7 3F D7 86 D6 E0 08 D0 22 CE 79 + .byte $04, $D0, $03, $4C, $2F, $D8, $A4, $76, $AD, $79, $04, $C9, $20, $90, $01, $88 ; CPU:$D68C PRG:568C 04 D0 03 4C 2F D8 A4 76 AD 79 04 C9 20 90 01 88 + .byte $C9, $18, $B0, $09, $C9, $10, $90, $06, $A5, $32, $4A, $90, $01, $88, $84, $76 ; CPU:$D69C PRG:569C C9 18 B0 09 C9 10 90 06 A5 32 4A 90 01 88 84 76 + .byte $60, $A9, $00, $85, $05, $A9, $80, $85, $06, $B4, $C1, $B9, $C4, $D6, $85, $08 ; CPU:$D6AC PRG:56AC 60 A9 00 85 05 A9 80 85 06 B4 C1 B9 C4 D6 85 08 + .byte $B9, $C5, $D6, $85, $09, $6C, $08, $00, $C8, $D6, $CA, $D6, $C6, $05, $A0, $03 ; CPU:$D6BC PRG:56BC B9 C5 D6 85 09 6C 08 00 C8 D6 CA D6 C6 05 A0 03 + .byte $B1, $02, $18, $65, $06, $91, $02, $A0, $02, $B1, $02, $65, $05, $91, $02, $C9 ; CPU:$D6CC PRG:56CC B1 02 18 65 06 91 02 A0 02 B1 02 65 05 91 02 C9 + .byte $70, $B0, $07, $A9, $02, $95, $C1, $4C, $EF, $D6, $C9, $78, $90, $05, $A9, $00 ; CPU:$D6DC PRG:56DC 70 B0 07 A9 02 95 C1 4C EF D6 C9 78 90 05 A9 00 + .byte $4C, $E1, $D6, $60 ; CPU:$D6EC PRG:56EC 4C E1 D6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D6F0 +; Global: Branch target inside Label: taken when D6F0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D6F0: + ldy #$00 ; CPU:$D6F0 PRG:56F0 A0 00 + sty SpriteX ; CPU:$D6F2 PRG:56F2 84 05 + lda #$80 ; CPU:$D6F4 PRG:56F4 A9 80 + sta Zp06 ; CPU:$D6F6 PRG:56F6 85 06 + lda (ControllerState),y ; CPU:$D6F8 PRG:56F8 B1 02 + cmp #$58 ; CPU:$D6FA PRG:56FA C9 58 + beq IrqHandler_Loop190 ; CPU:$D6FC PRG:56FC F0 1F + bcc IrqHandler_Loop189 ; CPU:$D6FE PRG:56FE 90 07 + dec SpriteX ; CPU:$D700 PRG:5700 C6 05 + lda #$01 ; CPU:$D702 PRG:5702 A9 01 + jmp Sub_D709 ; CPU:$D704 PRG:5704 4C 09 D7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop189 +; Global: Branch target inside IrqHandler: taken when Loop189. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop189: + lda #$03 ; CPU:$D707 PRG:5707 A9 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_D709 +; Global: Branch target inside Sub: taken when D709. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D709: + sta ZpC1,x ; CPU:$D709 PRG:5709 95 C1 + ldy #$01 ; CPU:$D70B PRG:570B A0 01 + lda (ControllerState),y ; CPU:$D70D PRG:570D B1 02 + clc ; CPU:$D70F PRG:570F 18 + adc Zp06 ; CPU:$D710 PRG:5710 65 06 + sta (ControllerState),y ; CPU:$D712 PRG:5712 91 02 + ldy #$00 ; CPU:$D714 PRG:5714 A0 00 + lda (ControllerState),y ; CPU:$D716 PRG:5716 B1 02 + adc SpriteX ; CPU:$D718 PRG:5718 65 05 + sta (ControllerState),y ; CPU:$D71A PRG:571A 91 02 + rts ; CPU:$D71C PRG:571C 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop190 +; Global: Branch target inside IrqHandler: taken when Loop190. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop190: + lda #$00 ; CPU:$D71D PRG:571D A9 00 + sta ZpC1,x ; CPU:$D71F PRG:571F 95 C1 + ldy #$03 ; CPU:$D721 PRG:5721 A0 03 + lda (ControllerState),y ; CPU:$D723 PRG:5723 B1 02 + sec ; CPU:$D725 PRG:5725 38 + sbc Zp06 ; CPU:$D726 PRG:5726 E5 06 + sta (ControllerState),y ; CPU:$D728 PRG:5728 91 02 + ldy #$02 ; CPU:$D72A PRG:572A A0 02 + lda (ControllerState),y ; CPU:$D72C PRG:572C B1 02 + sbc #$00 ; CPU:$D72E PRG:572E E9 00 + sta (ControllerState),y ; CPU:$D730 PRG:5730 91 02 + cmp #$60 ; CPU:$D732 PRG:5732 C9 60 + bne IrqHandler_Loop191 ; CPU:$D734 PRG:5734 D0 08 + lda #$01 ; CPU:$D736 PRG:5736 A9 01 + sta ZpC1,x ; CPU:$D738 PRG:5738 95 C1 + lda #$04 ; CPU:$D73A PRG:573A A9 04 + sta ZpC0,x ; CPU:$D73C PRG:573C 95 C0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop191 +; Global: Branch target inside IrqHandler: taken when Loop191. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop191: + rts ; CPU:$D73E PRG:573E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D73F +; Global: Branch target inside Label: taken when D73F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D73F: + jsr Sub_D753 ; CPU:$D73F PRG:573F 20 53 D7 + lda ZpC1,x ; CPU:$D742 PRG:5742 B5 C1 + asl a ; CPU:$D744 PRG:5744 0A + tay ; CPU:$D745 PRG:5745 A8 + lda $D7A7,y ; CPU:$D746 PRG:5746 B9 A7 D7 + sta VramReadPtrLo ; CPU:$D749 PRG:5749 85 08 + lda $D7A8,y ; CPU:$D74B PRG:574B B9 A8 D7 + sta VramReadPtrHi ; CPU:$D74E PRG:574E 85 09 + jmp (VramReadPtrLo) ; CPU:$D750 PRG:5750 6C 08 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D753 +; Global: Branch target inside Sub: taken when D753. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D753: + cpx #$08 ; CPU:$D753 PRG:5753 E0 08 + bne IrqHandler_Loop192 ; CPU:$D755 PRG:5755 D0 09 + lda #$60 ; CPU:$D757 PRG:5757 A9 60 + sta ZpDA ; CPU:$D759 PRG:5759 85 DA + lda #$00 ; CPU:$D75B PRG:575B A9 00 + sta ZpDB ; CPU:$D75D PRG:575D 85 DB + rts ; CPU:$D75F PRG:575F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop192 +; Global: Branch target inside IrqHandler: taken when Loop192. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop192: + lda ZpC0,x ; CPU:$D760 PRG:5760 B5 C0 + cmp #$06 ; CPU:$D762 PRG:5762 C9 06 + bne IrqHandler_Loop193 ; CPU:$D764 PRG:5764 D0 09 + lda #$00 ; CPU:$D766 PRG:5766 A9 00 + sta ZpD2,x ; CPU:$D768 PRG:5768 95 D2 + lda #$02 ; CPU:$D76A PRG:576A A9 02 + sta ZpD3,x ; CPU:$D76C PRG:576C 95 D3 + rts ; CPU:$D76E PRG:576E 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop193 +; Global: Branch target inside IrqHandler: taken when Loop193. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop193: + ldy #$02 ; CPU:$D76F PRG:576F A0 02 + lda Zp7B,x ; CPU:$D771 PRG:5771 B5 7B + and #$20 ; CPU:$D773 PRG:5773 29 20 + beq IrqHandler_Loop194 ; CPU:$D775 PRG:5775 F0 09 + lda ZpEA ; CPU:$D777 PRG:5777 A5 EA + sta ZpD2,x ; CPU:$D779 PRG:5779 95 D2 + lda ZpEB ; CPU:$D77B PRG:577B A5 EB + sta ZpD3,x ; CPU:$D77D PRG:577D 95 D3 + rts ; CPU:$D77F PRG:577F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop194 +; Global: Branch target inside IrqHandler: taken when Loop194. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop194: + lda Zp04 ; CPU:$D780 PRG:5780 A5 04 + and ZpCF ; CPU:$D782 PRG:5782 25 CF + beq IrqHandler_Loop195 ; CPU:$D784 PRG:5784 F0 09 + lda ZpE8 ; CPU:$D786 PRG:5786 A5 E8 + sta ZpD2,x ; CPU:$D788 PRG:5788 95 D2 + lda ZpE9 ; CPU:$D78A PRG:578A A5 E9 + sta ZpD3,x ; CPU:$D78C PRG:578C 95 D3 + rts ; CPU:$D78E PRG:578E 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop195 +; Global: Branch target inside IrqHandler: taken when Loop195. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop195: + cpx #$00 ; CPU:$D78F PRG:578F E0 00 + bne IrqHandler_Loop196 ; CPU:$D791 PRG:5791 D0 0B + lda ZpE0 ; CPU:$D793 PRG:5793 A5 E0 + sta ZpD2 ; CPU:$D795 PRG:5795 85 D2 + lda ZpE1 ; CPU:$D797 PRG:5797 A5 E1 + sta ZpD3 ; CPU:$D799 PRG:5799 85 D3 + jmp Sub_D7A6 ; CPU:$D79B PRG:579B 4C A6 D7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop196 +; Global: Branch target inside IrqHandler: taken when Loop196. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop196: + lda ZpE6 ; CPU:$D79E PRG:579E A5 E6 + sta ZpD2,x ; CPU:$D7A0 PRG:57A0 95 D2 + lda ZpE7 ; CPU:$D7A2 PRG:57A2 A5 E7 + sta ZpD3,x ; CPU:$D7A4 PRG:57A4 95 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7A6 +; Global: Branch target inside Sub: taken when D7A6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7A6: + rts ; CPU:$D7A6 PRG:57A6 60 +; ---- data $D7A7-$D7DC (54 bytes) ---- +; referenced by `lda $D7A7,y` at $D746 (operand $D7A7 falls inside this region) +; referenced by `lda $D7A8,y` at $D74B (operand $D7A8 falls inside this region) + .byte $C5, $D7, $C9, $D7, $AF, $D7, $B3, $D7, $A0, $03, $D0, $02, $A0, $01, $B1, $02 ; CPU:$D7A7 PRG:57A7 C5 D7 C9 D7 AF D7 B3 D7 A0 03 D0 02 A0 01 B1 02 + .byte $18, $75, $D2, $91, $02, $A9, $00, $75, $D3, $85, $CD, $4C, $DD, $D7, $A0, $03 ; CPU:$D7B7 PRG:57B7 18 75 D2 91 02 A9 00 75 D3 85 CD 4C DD D7 A0 03 + .byte $D0, $02, $A0, $01, $B1, $02, $38, $F5, $D2, $91, $02, $A9, $00, $B0, $02, $A9 ; CPU:$D7C7 PRG:57C7 D0 02 A0 01 B1 02 38 F5 D2 91 02 A9 00 B0 02 A9 + .byte $01, $18, $75, $D3, $85, $CD ; CPU:$D7D7 PRG:57D7 01 18 75 D3 85 CD +; ----------------------------------------------------------------------------- +; Routine: Sub_D7DD +; Global: Branch target inside Sub: taken when D7DD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7DD: + dec ZpCD ; CPU:$D7DD PRG:57DD C6 CD + bpl IrqHandler_Loop197 ; CPU:$D7DF PRG:57DF 10 01 + rts ; CPU:$D7E1 PRG:57E1 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop197 +; Global: Branch target inside IrqHandler: taken when Loop197. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop197: + ldy DispatchPtrLo ; CPU:$D7E2 PRG:57E2 A4 0A + lda a:ZpC1,y ; CPU:$D7E4 PRG:57E4 B9 C1 00 + asl a ; CPU:$D7E7 PRG:57E7 0A + tay ; CPU:$D7E8 PRG:57E8 A8 + lda $D7F6,y ; CPU:$D7E9 PRG:57E9 B9 F6 D7 + sta VramReadPtrLo ; CPU:$D7EC PRG:57EC 85 08 + lda $D7F7,y ; CPU:$D7EE PRG:57EE B9 F7 D7 + sta VramReadPtrHi ; CPU:$D7F1 PRG:57F1 85 09 + jmp (VramReadPtrLo) ; CPU:$D7F3 PRG:57F3 6C 08 00 +; ---- data $D7F6-$D85F (106 bytes) ---- +; referenced by `lda $D7F6,y` at $D7E9 (operand $D7F6 falls inside this region) +; referenced by `lda $D7F7,y` at $D7EE (operand $D7F7 falls inside this region) + .byte $FE, $D7, $12, $D8, $04, $D8, $0C, $D8, $A9, $FF, $85, $05, $D0, $04, $A9, $01 ; CPU:$D7F6 PRG:57F6 FE D7 12 D8 04 D8 0C D8 A9 FF 85 05 D0 04 A9 01 + .byte $85, $05, $A0, $02, $D0, $0C, $A9, $01, $85, $05, $D0, $04, $A9, $FF, $85, $05 ; CPU:$D806 PRG:5806 85 05 A0 02 D0 0C A9 01 85 05 D0 04 A9 FF 85 05 + .byte $A0, $00, $B1, $02, $18, $65, $05, $91, $02, $A0, $00, $B1, $02, $C9, $A2, $90 ; CPU:$D816 PRG:5816 A0 00 B1 02 18 65 05 91 02 A0 00 B1 02 C9 A2 90 + .byte $22, $C9, $AF, $90, $1C, $E0, $08, $D0, $14, $A5, $86, $C9, $05, $D0, $04, $A9 ; CPU:$D826 PRG:5826 22 C9 AF 90 1C E0 08 D0 14 A5 86 C9 05 D0 04 A9 + .byte $FF, $85, $86, $A9, $00, $8D, $05, $04, $85, $74, $85, $76, $60, $A9, $02, $91 ; CPU:$D836 PRG:5836 FF 85 86 A9 00 8D 05 04 85 74 85 76 60 A9 02 91 + .byte $02, $D0, $10, $C9, $0D, $B0, $11, $C9, $02, $B0, $08, $E0, $08, $F0, $DA, $A9 ; CPU:$D846 PRG:5846 02 D0 10 C9 0D B0 11 C9 02 B0 08 E0 08 F0 DA A9 + .byte $AE, $91, $02, $A9, $20, $4C, $60, $D8, $A9, $00 ; CPU:$D856 PRG:5856 AE 91 02 A9 20 4C 60 D8 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D860 +; Global: Branch target inside Label: taken when D860. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D860: + sta SpriteX ; CPU:$D860 PRG:5860 85 05 + lda Zp7B,x ; CPU:$D862 PRG:5862 B5 7B + and #$DF ; CPU:$D864 PRG:5864 29 DF + ora SpriteX ; CPU:$D866 PRG:5866 05 05 + sta Zp7B,x ; CPU:$D868 PRG:5868 95 7B + ldy #$00 ; CPU:$D86A PRG:586A A0 00 + lda (ControllerState),y ; CPU:$D86C PRG:586C B1 02 + ldy #$02 ; CPU:$D86E PRG:586E A0 02 + ora (ControllerState),y ; CPU:$D870 PRG:5870 11 02 + and #$07 ; CPU:$D872 PRG:5872 29 07 + beq IrqHandler_Loop198 ; CPU:$D874 PRG:5874 F0 03 + jmp Sub_D7DD ; CPU:$D876 PRG:5876 4C DD D7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop198 +; Global: Branch target inside IrqHandler: taken when Loop198. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop198: + ldy #$00 ; CPU:$D879 PRG:5879 A0 00 + lda (ControllerState),y ; CPU:$D87B PRG:587B B1 02 + cmp #$58 ; CPU:$D87D PRG:587D C9 58 + bne IrqHandler_Loop200 ; CPU:$D87F PRG:587F D0 1F + ldy #$02 ; CPU:$D881 PRG:5881 A0 02 + lda (ControllerState),y ; CPU:$D883 PRG:5883 B1 02 + cmp #$78 ; CPU:$D885 PRG:5885 C9 78 + bne IrqHandler_Loop200 ; CPU:$D887 PRG:5887 D0 17 + lda #$02 ; CPU:$D889 PRG:5889 A9 02 + sta ZpC0,x ; CPU:$D88B PRG:588B 95 C0 + lda Zp04 ; CPU:$D88D PRG:588D A5 04 + eor #$FF ; CPU:$D88F PRG:588F 49 FF + and ZpCF ; CPU:$D891 PRG:5891 25 CF + sta ZpCF ; CPU:$D893 PRG:5893 85 CF + bne IrqHandler_Loop199 ; CPU:$D895 PRG:5895 D0 04 + lda #$43 ; CPU:$D897 PRG:5897 A9 43 + sta SpriteTile ; CPU:$D899 PRG:5899 85 8B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop199 +; Global: Branch target inside IrqHandler: taken when Loop199. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop199: + txa ; CPU:$D89B PRG:589B 8A + lsr a ; CPU:$D89C PRG:589C 4A + sta Zp7B,x ; CPU:$D89D PRG:589D 95 7B + rts ; CPU:$D89F PRG:589F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop200 +; Global: Branch target inside IrqHandler: taken when Loop200. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop200: + lda ZpC0,x ; CPU:$D8A0 PRG:58A0 B5 C0 + cmp #$06 ; CPU:$D8A2 PRG:58A2 C9 06 + bne IrqHandler_Loop201 ; CPU:$D8A4 PRG:58A4 D0 04 + ldx #$08 ; CPU:$D8A6 PRG:58A6 A2 08 + bne IrqHandler_Loop203 ; CPU:$D8A8 PRG:58A8 D0 1C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop201 +; Global: Branch target inside IrqHandler: taken when Loop201. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop201: + lda Zp04 ; CPU:$D8AA PRG:58AA A5 04 + and ZpCF ; CPU:$D8AC PRG:58AC 25 CF + beq IrqHandler_Loop202 ; CPU:$D8AE PRG:58AE F0 03 + jmp Sub_DA2F ; CPU:$D8B0 PRG:58B0 4C 2F DA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop202 +; Global: Branch target inside IrqHandler: taken when Loop202. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop202: + lda Zp04 ; CPU:$D8B3 PRG:58B3 A5 04 + and ZpCA ; CPU:$D8B5 PRG:58B5 25 CA + beq IrqHandler_Loop203 ; CPU:$D8B7 PRG:58B7 F0 0D + lda $DA6D,x ; CPU:$D8B9 PRG:58B9 BD 6D DA + sta VramReadPtrLo ; CPU:$D8BC PRG:58BC 85 08 + lda $DA6E,x ; CPU:$D8BE PRG:58BE BD 6E DA + sta VramReadPtrHi ; CPU:$D8C1 PRG:58C1 85 09 + jmp (VramReadPtrLo) ; CPU:$D8C3 PRG:58C3 6C 08 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop203 +; Global: Branch target inside IrqHandler: taken when Loop203. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop203: + lda $DAEA,x ; CPU:$D8C6 PRG:58C6 BD EA DA + sta ZpCB ; CPU:$D8C9 PRG:58C9 85 CB + lda $DAEB,x ; CPU:$D8CB PRG:58CB BD EB DA + sta ZpCC ; CPU:$D8CE PRG:58CE 85 CC +; ----------------------------------------------------------------------------- +; Routine: Sub_D8D0 +; Global: Branch target inside Sub: taken when D8D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8D0: + ldx DispatchPtrLo ; CPU:$D8D0 PRG:58D0 A6 0A + ldy #$00 ; CPU:$D8D2 PRG:58D2 A0 00 + lda (ControllerState),y ; CPU:$D8D4 PRG:58D4 B1 02 + cmp #$10 ; CPU:$D8D6 PRG:58D6 C9 10 + bcs IrqHandler_Loop204 ; CPU:$D8D8 PRG:58D8 B0 01 + rts ; CPU:$D8DA PRG:58DA 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop204 +; Global: Branch target inside IrqHandler: taken when Loop204. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop204: + cmp #$A1 ; CPU:$D8DB PRG:58DB C9 A1 + bcc IrqHandler_Loop205 ; CPU:$D8DD PRG:58DD 90 01 + rts ; CPU:$D8DF PRG:58DF 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop205 +; Global: Branch target inside IrqHandler: taken when Loop205. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop205: + jsr Sub_D9CF ; CPU:$D8E0 PRG:58E0 20 CF D9 + lda #$02 ; CPU:$D8E3 PRG:58E3 A9 02 + ldy Zp0C ; CPU:$D8E5 PRG:58E5 A4 0C + cpy #$FF ; CPU:$D8E7 PRG:58E7 C0 FF + beq IrqHandler_Loop206 ; CPU:$D8E9 PRG:58E9 F0 08 + lda Zp0D ; CPU:$D8EB PRG:58EB A5 0D + cmp #$FF ; CPU:$D8ED PRG:58ED C9 FF + bne IrqHandler_Loop207 ; CPU:$D8EF PRG:58EF D0 05 + lda Zp0C ; CPU:$D8F1 PRG:58F1 A5 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop206 +; Global: Branch target inside IrqHandler: taken when Loop206. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop206: + sta ZpC1,x ; CPU:$D8F3 PRG:58F3 95 C1 + rts ; CPU:$D8F5 PRG:58F5 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop207 +; Global: Branch target inside IrqHandler: taken when Loop207. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop207: + ldy #$00 ; CPU:$D8F6 PRG:58F6 A0 00 + sty SpriteX ; CPU:$D8F8 PRG:58F8 84 05 + lda ZpCB ; CPU:$D8FA PRG:58FA A5 CB + sec ; CPU:$D8FC PRG:58FC 38 + sbc (ControllerState),y ; CPU:$D8FD PRG:58FD F1 02 + bcs IrqHandler_Loop208 ; CPU:$D8FF PRG:58FF B0 0F + sta Zp07 ; CPU:$D901 PRG:5901 85 07 + lda #$00 ; CPU:$D903 PRG:5903 A9 00 + sec ; CPU:$D905 PRG:5905 38 + sbc Zp07 ; CPU:$D906 PRG:5906 E5 07 + inc SpriteX ; CPU:$D908 PRG:5908 E6 05 + inc SpriteX ; CPU:$D90A PRG:590A E6 05 + inc SpriteX ; CPU:$D90C PRG:590C E6 05 + inc SpriteX ; CPU:$D90E PRG:590E E6 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop208 +; Global: Branch target inside IrqHandler: taken when Loop208. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop208: + sta Zp06 ; CPU:$D910 PRG:5910 85 06 + ldy #$02 ; CPU:$D912 PRG:5912 A0 02 + lda ZpCC ; CPU:$D914 PRG:5914 A5 CC + sec ; CPU:$D916 PRG:5916 38 + sbc (ControllerState),y ; CPU:$D917 PRG:5917 F1 02 + bcs IrqHandler_Loop209 ; CPU:$D919 PRG:5919 B0 0B + sta Zp07 ; CPU:$D91B PRG:591B 85 07 + lda #$00 ; CPU:$D91D PRG:591D A9 00 + sec ; CPU:$D91F PRG:591F 38 + sbc Zp07 ; CPU:$D920 PRG:5920 E5 07 + inc SpriteX ; CPU:$D922 PRG:5922 E6 05 + inc SpriteX ; CPU:$D924 PRG:5924 E6 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop209 +; Global: Branch target inside IrqHandler: taken when Loop209. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop209: + sta Zp07 ; CPU:$D926 PRG:5926 85 07 + lda Zp06 ; CPU:$D928 PRG:5928 A5 06 + cmp Zp07 ; CPU:$D92A PRG:592A C5 07 + bcs IrqHandler_Loop210 ; CPU:$D92C PRG:592C B0 02 + inc SpriteX ; CPU:$D92E PRG:592E E6 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop210 +; Global: Branch target inside IrqHandler: taken when Loop210. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop210: + asl SpriteX ; CPU:$D930 PRG:5930 06 05 + lda #$02 ; CPU:$D932 PRG:5932 A9 02 + sta Zp06 ; CPU:$D934 PRG:5934 85 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero12 +; Global: Branch target inside IrqHandler: taken when OnNonzero12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero12: + ldy SpriteX ; CPU:$D936 PRG:5936 A4 05 + lda $DAF4,y ; CPU:$D938 PRG:5938 B9 F4 DA + ldy #$00 ; CPU:$D93B PRG:593B A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear23 +; Global: Branch target inside IrqHandler: taken when OnCarryClear23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear23: + cmp a:Zp0C,y ; CPU:$D93D PRG:593D D9 0C 00 + bne IrqHandler_Loop211 ; CPU:$D940 PRG:5940 D0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero5 +; Global: Branch target inside IrqHandler: taken when OnZero5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero5: + sta ZpC1,x ; CPU:$D942 PRG:5942 95 C1 + rts ; CPU:$D944 PRG:5944 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop211 +; Global: Branch target inside IrqHandler: taken when Loop211. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop211: + iny ; CPU:$D945 PRG:5945 C8 + cpy #$04 ; CPU:$D946 PRG:5946 C0 04 + bcc IrqHandler_OnCarryClear23 ; CPU:$D948 PRG:5948 90 F3 + inc SpriteX ; CPU:$D94A PRG:594A E6 05 + dec Zp06 ; CPU:$D94C PRG:594C C6 06 + bne IrqHandler_OnNonzero12 ; CPU:$D94E PRG:594E D0 E6 + lda ZpC0,x ; CPU:$D950 PRG:5950 B5 C0 + cmp #$04 ; CPU:$D952 PRG:5952 C9 04 + bne IrqHandler_Loop212 ; CPU:$D954 PRG:5954 D0 0B + cpx #$04 ; CPU:$D956 PRG:5956 E0 04 + beq IrqHandler_Loop214 ; CPU:$D958 PRG:5958 F0 2A + cpx #$06 ; CPU:$D95A PRG:595A E0 06 + beq IrqHandler_Loop215 ; CPU:$D95C PRG:595C F0 39 + jmp IrqHandler_Loop213 ; CPU:$D95E PRG:595E 4C 76 D9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop212 +; Global: Branch target inside IrqHandler: taken when Loop212. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop212: + lda Zp32 ; CPU:$D961 PRG:5961 A5 32 + and #$C0 ; CPU:$D963 PRG:5963 29 C0 + cmp #$C0 ; CPU:$D965 PRG:5965 C9 C0 + bne IrqHandler_Loop213 ; CPU:$D967 PRG:5967 D0 0D + lda $0470,x ; CPU:$D969 PRG:5969 BD 70 04 + eor #$80 ; CPU:$D96C PRG:596C 49 80 + sta $0470,x ; CPU:$D96E PRG:596E 9D 70 04 + bmi IrqHandler_Loop214 ; CPU:$D971 PRG:5971 30 11 + jmp IrqHandler_Loop215 ; CPU:$D973 PRG:5973 4C 97 D9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop213 +; Global: Branch target inside IrqHandler: taken when Loop213. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop213: + lda ZpC1,x ; CPU:$D976 PRG:5976 B5 C1 + ldy #$00 ; CPU:$D978 PRG:5978 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear24 +; Global: Branch target inside IrqHandler: taken when OnCarryClear24. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear24: + cmp a:Zp0C,y ; CPU:$D97A PRG:597A D9 0C 00 + beq IrqHandler_OnZero5 ; CPU:$D97D PRG:597D F0 C3 + iny ; CPU:$D97F PRG:597F C8 + cpy #$04 ; CPU:$D980 PRG:5980 C0 04 + bcc IrqHandler_OnCarryClear24 ; CPU:$D982 PRG:5982 90 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop214 +; Global: Branch target inside IrqHandler: taken when Loop214. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop214: + lda ZpC1,x ; CPU:$D984 PRG:5984 B5 C1 + sec ; CPU:$D986 PRG:5986 38 + sbc #$01 ; CPU:$D987 PRG:5987 E9 01 + and #$03 ; CPU:$D989 PRG:5989 29 03 + ldy #$00 ; CPU:$D98B PRG:598B A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear25 +; Global: Branch target inside IrqHandler: taken when OnCarryClear25. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear25: + cmp a:Zp0C,y ; CPU:$D98D PRG:598D D9 0C 00 + beq IrqHandler_OnZero5 ; CPU:$D990 PRG:5990 F0 B0 + iny ; CPU:$D992 PRG:5992 C8 + cpy #$04 ; CPU:$D993 PRG:5993 C0 04 + bcc IrqHandler_OnCarryClear25 ; CPU:$D995 PRG:5995 90 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop215 +; Global: Branch target inside IrqHandler: taken when Loop215. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop215: + lda ZpC1,x ; CPU:$D997 PRG:5997 B5 C1 + clc ; CPU:$D999 PRG:5999 18 + adc #$01 ; CPU:$D99A PRG:599A 69 01 + and #$03 ; CPU:$D99C PRG:599C 29 03 + ldy #$00 ; CPU:$D99E PRG:599E A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear26 +; Global: Branch target inside IrqHandler: taken when OnCarryClear26. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear26: + cmp a:Zp0C,y ; CPU:$D9A0 PRG:59A0 D9 0C 00 + beq IrqHandler_OnZero5 ; CPU:$D9A3 PRG:59A3 F0 9D + iny ; CPU:$D9A5 PRG:59A5 C8 + cpy #$04 ; CPU:$D9A6 PRG:59A6 C0 04 + bcc IrqHandler_OnCarryClear26 ; CPU:$D9A8 PRG:59A8 90 F6 + lda ZpC1,x ; CPU:$D9AA PRG:59AA B5 C1 + ldy #$00 ; CPU:$D9AC PRG:59AC A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear27 +; Global: Branch target inside IrqHandler: taken when OnCarryClear27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear27: + cmp a:Zp0C,y ; CPU:$D9AE PRG:59AE D9 0C 00 + beq IrqHandler_OnZero5 ; CPU:$D9B1 PRG:59B1 F0 8F + iny ; CPU:$D9B3 PRG:59B3 C8 + cpy #$04 ; CPU:$D9B4 PRG:59B4 C0 04 + bcc IrqHandler_OnCarryClear27 ; CPU:$D9B6 PRG:59B6 90 F6 + lda ZpC1,x ; CPU:$D9B8 PRG:59B8 B5 C1 + sec ; CPU:$D9BA PRG:59BA 38 + sbc #$01 ; CPU:$D9BB PRG:59BB E9 01 + and #$03 ; CPU:$D9BD PRG:59BD 29 03 + ldy #$00 ; CPU:$D9BF PRG:59BF A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear28 +; Global: Branch target inside IrqHandler: taken when OnCarryClear28. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear28: + cmp a:Zp0C,y ; CPU:$D9C1 PRG:59C1 D9 0C 00 + bne IrqHandler_Loop216 ; CPU:$D9C4 PRG:59C4 D0 03 + jmp IrqHandler_OnZero5 ; CPU:$D9C6 PRG:59C6 4C 42 D9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop216 +; Global: Branch target inside IrqHandler: taken when Loop216. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop216: + iny ; CPU:$D9C9 PRG:59C9 C8 + cpy #$04 ; CPU:$D9CA PRG:59CA C0 04 + bcc IrqHandler_OnCarryClear28 ; CPU:$D9CC PRG:59CC 90 F3 + rts ; CPU:$D9CE PRG:59CE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D9CF +; Global: Branch target inside Sub: taken when D9CF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9CF: + ldy #$00 ; CPU:$D9CF PRG:59CF A0 00 + lda ZpC0,x ; CPU:$D9D1 PRG:59D1 B5 C0 + cmp #$06 ; CPU:$D9D3 PRG:59D3 C9 06 + bne IrqHandler_Loop217 ; CPU:$D9D5 PRG:59D5 D0 01 + dey ; CPU:$D9D7 PRG:59D7 88 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop217 +; Global: Branch target inside IrqHandler: taken when Loop217. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop217: + sty Zp07 ; CPU:$D9D8 PRG:59D8 84 07 + lda #$FF ; CPU:$D9DA PRG:59DA A9 FF + sta Zp0C ; CPU:$D9DC PRG:59DC 85 0C + sta Zp0D ; CPU:$D9DE PRG:59DE 85 0D + sta Zp0E ; CPU:$D9E0 PRG:59E0 85 0E + sta LevelIndex ; CPU:$D9E2 PRG:59E2 85 0F + ldy #$00 ; CPU:$D9E4 PRG:59E4 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear29 +; Global: Branch target inside IrqHandler: taken when OnCarryClear29. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear29: + lda (VramWritePtrLo),y ; CPU:$D9E6 PRG:59E6 B1 00 + and #$F8 ; CPU:$D9E8 PRG:59E8 29 F8 + bne IrqHandler_Loop218 ; CPU:$D9EA PRG:59EA D0 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear30 +; Global: Branch target inside IrqHandler: taken when OnCarryClear30. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear30: + tya ; CPU:$D9EC PRG:59EC 98 + sta a:Zp0C,y ; CPU:$D9ED PRG:59ED 99 0C 00 + jmp IrqHandler_Loop219 ; CPU:$D9F0 PRG:59F0 4C FB D9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop218 +; Global: Branch target inside IrqHandler: taken when Loop218. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop218: + bit Zp07 ; CPU:$D9F3 PRG:59F3 24 07 + bpl IrqHandler_Loop219 ; CPU:$D9F5 PRG:59F5 10 04 + cmp #$0A ; CPU:$D9F7 PRG:59F7 C9 0A + bcc IrqHandler_OnCarryClear30 ; CPU:$D9F9 PRG:59F9 90 F1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop219 +; Global: Branch target inside IrqHandler: taken when Loop219. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop219: + iny ; CPU:$D9FB PRG:59FB C8 + cpy #$04 ; CPU:$D9FC PRG:59FC C0 04 + bcc IrqHandler_OnCarryClear29 ; CPU:$D9FE PRG:59FE 90 E6 + lda ZpC1,x ; CPU:$DA00 PRG:5A00 B5 C1 + clc ; CPU:$DA02 PRG:5A02 18 + adc #$02 ; CPU:$DA03 PRG:5A03 69 02 + and #$03 ; CPU:$DA05 PRG:5A05 29 03 + tay ; CPU:$DA07 PRG:5A07 A8 + lda #$FF ; CPU:$DA08 PRG:5A08 A9 FF + sta a:Zp0C,y ; CPU:$DA0A PRG:5A0A 99 0C 00 + lda #$03 ; CPU:$DA0D PRG:5A0D A9 03 + sta Zp07 ; CPU:$DA0F PRG:5A0F 85 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero13 +; Global: Branch target inside IrqHandler: taken when OnNonzero13. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero13: + ldy #$00 ; CPU:$DA11 PRG:5A11 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear31 +; Global: Branch target inside IrqHandler: taken when OnCarryClear31. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear31: + lda a:Zp0C,y ; CPU:$DA13 PRG:5A13 B9 0C 00 + cmp #$FF ; CPU:$DA16 PRG:5A16 C9 FF + bne IrqHandler_Loop220 ; CPU:$DA18 PRG:5A18 D0 0B + lda a:Zp0D,y ; CPU:$DA1A PRG:5A1A B9 0D 00 + sta a:Zp0C,y ; CPU:$DA1D PRG:5A1D 99 0C 00 + lda #$FF ; CPU:$DA20 PRG:5A20 A9 FF + sta a:Zp0D,y ; CPU:$DA22 PRG:5A22 99 0D 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop220 +; Global: Branch target inside IrqHandler: taken when Loop220. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop220: + iny ; CPU:$DA25 PRG:5A25 C8 + cpy #$03 ; CPU:$DA26 PRG:5A26 C0 03 + bcc IrqHandler_OnCarryClear31 ; CPU:$DA28 PRG:5A28 90 E9 + dec Zp07 ; CPU:$DA2A PRG:5A2A C6 07 + bne IrqHandler_OnNonzero13 ; CPU:$DA2C PRG:5A2C D0 E3 + rts ; CPU:$DA2E PRG:5A2E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA2F +; Global: Branch target inside Sub: taken when DA2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA2F: + ldy #$00 ; CPU:$DA2F PRG:5A2F A0 00 + lda (ControllerState),y ; CPU:$DA31 PRG:5A31 B1 02 + cmp #$10 ; CPU:$DA33 PRG:5A33 C9 10 + bcc IrqHandler_Loop222 ; CPU:$DA35 PRG:5A35 90 33 + cmp #$A1 ; CPU:$DA37 PRG:5A37 C9 A1 + bcs IrqHandler_Loop222 ; CPU:$DA39 PRG:5A39 B0 2F + lda Zp32 ; CPU:$DA3B PRG:5A3B A5 32 + sta SpriteX ; CPU:$DA3D PRG:5A3D 85 05 + lda #$05 ; CPU:$DA3F PRG:5A3F A9 05 + sta Zp06 ; CPU:$DA41 PRG:5A41 85 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero6 +; Global: Branch target inside IrqHandler: taken when OnZero6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero6: + dec Zp06 ; CPU:$DA43 PRG:5A43 C6 06 + bne IrqHandler_Loop221 ; CPU:$DA45 PRG:5A45 D0 05 + lda #$02 ; CPU:$DA47 PRG:5A47 A9 02 + jmp Sub_DA68 ; CPU:$DA49 PRG:5A49 4C 68 DA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop221 +; Global: Branch target inside IrqHandler: taken when Loop221. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop221: + inc SpriteX ; CPU:$DA4C PRG:5A4C E6 05 + lda SpriteX ; CPU:$DA4E PRG:5A4E A5 05 + and #$03 ; CPU:$DA50 PRG:5A50 29 03 + tay ; CPU:$DA52 PRG:5A52 A8 + lda (VramWritePtrLo),y ; CPU:$DA53 PRG:5A53 B1 00 + and #$F8 ; CPU:$DA55 PRG:5A55 29 F8 + bne IrqHandler_OnZero6 ; CPU:$DA57 PRG:5A57 D0 EA + lda SpriteX ; CPU:$DA59 PRG:5A59 A5 05 + clc ; CPU:$DA5B PRG:5A5B 18 + adc #$02 ; CPU:$DA5C PRG:5A5C 69 02 + and #$03 ; CPU:$DA5E PRG:5A5E 29 03 + cmp ZpC1,x ; CPU:$DA60 PRG:5A60 D5 C1 + beq IrqHandler_OnZero6 ; CPU:$DA62 PRG:5A62 F0 DF + lda SpriteX ; CPU:$DA64 PRG:5A64 A5 05 + and #$03 ; CPU:$DA66 PRG:5A66 29 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA68 +; Global: Branch target inside Sub: taken when DA68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA68: + sta ZpC1,x ; CPU:$DA68 PRG:5A68 95 C1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop222 +; Global: Branch target inside IrqHandler: taken when Loop222. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop222: + jmp Sub_D7DD ; CPU:$DA6A PRG:5A6A 4C DD D7 +; ---- data $DA6D-$DA81 (21 bytes) ---- +; referenced by `lda $DA6D,x` at $D8B9 (operand $DA6D falls inside this region) +; referenced by `lda $DA6E,x` at $D8BE (operand $DA6E falls inside this region) + .byte $A9, $DA, $B4, $DA, $CB, $DA, $77, $DA, $9E, $DA, $A5, $60, $38, $E5, $70, $B0 ; CPU:$DA6D PRG:5A6D A9 DA B4 DA CB DA 77 DA 9E DA A5 60 38 E5 70 B0 + .byte $07, $85, $05, $A9, $00 ; CPU:$DA7D PRG:5A7D 07 85 05 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DA82 +; Global: Branch target inside Label: taken when DA82. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA82: + sec ; CPU:$DA82 PRG:5A82 38 + sbc SpriteX ; CPU:$DA83 PRG:5A83 E5 05 + cmp #$20 ; CPU:$DA85 PRG:5A85 C9 20 + bcs IrqHandler_Loop224 ; CPU:$DA87 PRG:5A87 B0 20 + lda Zp62 ; CPU:$DA89 PRG:5A89 A5 62 + sec ; CPU:$DA8B PRG:5A8B 38 + sbc Zp72 ; CPU:$DA8C PRG:5A8C E5 72 + bcs IrqHandler_Loop223 ; CPU:$DA8E PRG:5A8E B0 07 + sta SpriteX ; CPU:$DA90 PRG:5A90 85 05 + lda #$00 ; CPU:$DA92 PRG:5A92 A9 00 + sec ; CPU:$DA94 PRG:5A94 38 + sbc SpriteX ; CPU:$DA95 PRG:5A95 E5 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop223 +; Global: Branch target inside IrqHandler: taken when Loop223. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop223: + cmp #$20 ; CPU:$DA97 PRG:5A97 C9 20 + bcs IrqHandler_Loop224 ; CPU:$DA99 PRG:5A99 B0 0E + jmp Sub_DA2F ; CPU:$DA9B PRG:5A9B 4C 2F DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA9E +; Global: Branch target inside Label: taken when DA9E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA9E: + lda ZpA7 ; CPU:$DA9E PRG:5A9E A5 A7 + sta ZpCB ; CPU:$DAA0 PRG:5AA0 85 CB + lda ZpA8 ; CPU:$DAA2 PRG:5AA2 A5 A8 + sta ZpCC ; CPU:$DAA4 PRG:5AA4 85 CC + jmp Sub_D8D0 ; CPU:$DAA6 PRG:5AA6 4C D0 D8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop224 +; Global: Branch target inside IrqHandler: taken when Loop224. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop224: + lda Zp60 ; CPU:$DAA9 PRG:5AA9 A5 60 + sta ZpCB ; CPU:$DAAB PRG:5AAB 85 CB + lda Zp62 ; CPU:$DAAD PRG:5AAD A5 62 + sta ZpCC ; CPU:$DAAF PRG:5AAF 85 CC + jmp Sub_D8D0 ; CPU:$DAB1 PRG:5AB1 4C D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_DAB4 +; Global: Branch target inside Label: taken when DAB4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAB4: + lda Zp5F ; CPU:$DAB4 PRG:5AB4 A5 5F + asl a ; CPU:$DAB6 PRG:5AB6 0A + tay ; CPU:$DAB7 PRG:5AB7 A8 + lda $DAE2,y ; CPU:$DAB8 PRG:5AB8 B9 E2 DA + clc ; CPU:$DABB PRG:5ABB 18 + adc Zp60 ; CPU:$DABC PRG:5ABC 65 60 + sta ZpCB ; CPU:$DABE PRG:5ABE 85 CB + lda $DAE3,y ; CPU:$DAC0 PRG:5AC0 B9 E3 DA + clc ; CPU:$DAC3 PRG:5AC3 18 + adc Zp62 ; CPU:$DAC4 PRG:5AC4 65 62 + sta ZpCC ; CPU:$DAC6 PRG:5AC6 85 CC + jmp Sub_D8D0 ; CPU:$DAC8 PRG:5AC8 4C D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_DACB +; Global: Branch target inside Label: taken when DACB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DACB: + lda Zp60 ; CPU:$DACB PRG:5ACB A5 60 + sec ; CPU:$DACD PRG:5ACD 38 + sbc Zp64 ; CPU:$DACE PRG:5ACE E5 64 + clc ; CPU:$DAD0 PRG:5AD0 18 + adc Zp60 ; CPU:$DAD1 PRG:5AD1 65 60 + sta ZpCB ; CPU:$DAD3 PRG:5AD3 85 CB + lda Zp62 ; CPU:$DAD5 PRG:5AD5 A5 62 + sec ; CPU:$DAD7 PRG:5AD7 38 + sbc Zp66 ; CPU:$DAD8 PRG:5AD8 E5 66 + clc ; CPU:$DADA PRG:5ADA 18 + adc Zp62 ; CPU:$DADB PRG:5ADB 65 62 + sta ZpCC ; CPU:$DADD PRG:5ADD 85 CC + jmp Sub_D8D0 ; CPU:$DADF PRG:5ADF 4C D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_DAE2 +; Global: Branch target inside Label: taken when DAE2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAE2: + brk ; CPU:$DAE2 PRG:5AE2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DAE3 +; Global: Branch target inside Label: taken when DAE3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAE3: + inx ; CPU:$DAE3 PRG:5AE3 E8 + inx ; CPU:$DAE4 PRG:5AE4 E8 + brk ; CPU:$DAE5 PRG:5AE5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DAE6 +; Global: Branch target inside Label: taken when DAE6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAE6: + brk ; CPU:$DAE6 PRG:5AE6 00 +; ---- data $DAE7-$DB54 (110 bytes) ---- +; referenced by `lda $DAEA,x` at $D8C6 (operand $DAEA falls inside this region) +; referenced by `lda $DAEB,x` at $D8CB (operand $DAEB falls inside this region) +; referenced by `lda $DAF4,y` at $D938 (operand $DAF4 falls inside this region) + .byte $18, $18, $00, $A8, $08, $18, $08, $A8, $D0, $18, $D0, $58, $78, $03, $02, $02 ; CPU:$DAE7 PRG:5AE7 18 18 00 A8 08 18 08 A8 D0 18 D0 58 78 03 02 02 + .byte $03, $03, $00, $00, $03, $01, $02, $02, $01, $01, $00, $00, $01, $E6, $4A, $A9 ; CPU:$DAF7 PRG:5AF7 03 03 00 00 03 01 02 02 01 01 00 00 01 E6 4A A9 + .byte $03, $8D, $05, $04, $A2, $00, $86, $A6, $A5, $32, $4A, $90, $01, $E8, $B4, $48 ; CPU:$DB07 PRG:5B07 03 8D 05 04 A2 00 86 A6 A5 32 4A 90 01 E8 B4 48 + .byte $84, $76, $84, $A8, $A2, $08, $A0, $03, $4A, $90, $04, $A2, $A8, $A0, $01, $86 ; CPU:$DB17 PRG:5B17 84 76 84 A8 A2 08 A0 03 4A 90 04 A2 A8 A0 01 86 + .byte $74, $86, $A7, $84, $C9, $A9, $04, $85, $C8, $A5, $3E, $C9, $08, $90, $0D, $A2 ; CPU:$DB27 PRG:5B27 74 86 A7 84 C9 A9 04 85 C8 A5 3E C9 08 90 0D A2 + .byte $05, $B5, $40, $29, $07, $D0, $05, $CA, $10, $F7, $A9, $01, $0A, $18, $69, $1C ; CPU:$DB37 PRG:5B37 05 B5 40 29 07 D0 05 CA 10 F7 A9 01 0A 18 69 1C + .byte $85, $82, $A9, $04, $8D, $7A, $04, $A5, $CA, $29, $EF, $85, $CA, $60 ; CPU:$DB47 PRG:5B47 85 82 A9 04 8D 7A 04 A5 CA 29 EF 85 CA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB55 +; Global: Branch target inside Label: taken when DB55. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB55: + bit ZpAB ; CPU:$DB55 PRG:5B55 24 AB + bmi IrqHandler_Loop229 ; CPU:$DB57 PRG:5B57 30 49 + dec ZpAC ; CPU:$DB59 PRG:5B59 C6 AC + bpl IrqHandler_Loop226 ; CPU:$DB5B PRG:5B5B 10 25 + lda #$3C ; CPU:$DB5D PRG:5B5D A9 3C + sta ZpAC ; CPU:$DB5F PRG:5B5F 85 AC + dec ZpAB ; CPU:$DB61 PRG:5B61 C6 AB + bpl IrqHandler_Loop225 ; CPU:$DB63 PRG:5B63 10 1A + lda #$43 ; CPU:$DB65 PRG:5B65 A9 43 + sta SpriteTile ; CPU:$DB67 PRG:5B67 85 8B + lda #$00 ; CPU:$DB69 PRG:5B69 A9 00 + sta Zp7B ; CPU:$DB6B PRG:5B6B 85 7B + lda #$01 ; CPU:$DB6D PRG:5B6D A9 01 + sta Zp7D ; CPU:$DB6F PRG:5B6F 85 7D + lda #$02 ; CPU:$DB71 PRG:5B71 A9 02 + sta Zp7F ; CPU:$DB73 PRG:5B73 85 7F + lda #$03 ; CPU:$DB75 PRG:5B75 A9 03 + sta Zp81 ; CPU:$DB77 PRG:5B77 85 81 + lda #$00 ; CPU:$DB79 PRG:5B79 A9 00 + sta ZpCF ; CPU:$DB7B PRG:5B7B 85 CF + beq IrqHandler_Loop227 ; CPU:$DB7D PRG:5B7D F0 15 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop225 +; Global: Branch target inside IrqHandler: taken when Loop225. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop225: + jmp IrqHandler_Loop229 ; CPU:$DB7F PRG:5B7F 4C A2 DB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop226 +; Global: Branch target inside IrqHandler: taken when Loop226. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop226: + lda ZpAB ; CPU:$DB82 PRG:5B82 A5 AB + cmp #$02 ; CPU:$DB84 PRG:5B84 C9 02 + bcs IrqHandler_Loop229 ; CPU:$DB86 PRG:5B86 B0 1A + lda ZpAC ; CPU:$DB88 PRG:5B88 A5 AC + and #$07 ; CPU:$DB8A PRG:5B8A 29 07 + bne IrqHandler_Loop229 ; CPU:$DB8C PRG:5B8C D0 14 + lda ZpAC ; CPU:$DB8E PRG:5B8E A5 AC + and #$08 ; CPU:$DB90 PRG:5B90 29 08 + bne IrqHandler_Loop228 ; CPU:$DB92 PRG:5B92 D0 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop227 +; Global: Branch target inside IrqHandler: taken when Loop227. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop227: + lda #$03 ; CPU:$DB94 PRG:5B94 A9 03 + jmp Sub_DB9B ; CPU:$DB96 PRG:5B96 4C 9B DB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop228 +; Global: Branch target inside IrqHandler: taken when Loop228. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop228: + lda #$20 ; CPU:$DB99 PRG:5B99 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB9B +; Global: Branch target inside Sub: taken when DB9B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB9B: + sta $0195 ; CPU:$DB9B PRG:5B9B 8D 95 01 + lda #$40 ; CPU:$DB9E PRG:5B9E A9 40 + sta Zp39 ; CPU:$DBA0 PRG:5BA0 85 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop229 +; Global: Branch target inside IrqHandler: taken when Loop229. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop229: + lda ZpCF ; CPU:$DBA2 PRG:5BA2 A5 CF + bne IrqHandler_Loop231 ; CPU:$DBA4 PRG:5BA4 D0 36 + lda ZpBE ; CPU:$DBA6 PRG:5BA6 A5 BE + cmp #$FF ; CPU:$DBA8 PRG:5BA8 C9 FF + beq IrqHandler_Loop231 ; CPU:$DBAA PRG:5BAA F0 30 + inc ZpEF ; CPU:$DBAC PRG:5BAC E6 EF + lda ZpEF ; CPU:$DBAE PRG:5BAE A5 EF + cmp #$3C ; CPU:$DBB0 PRG:5BB0 C9 3C + bne IrqHandler_Loop231 ; CPU:$DBB2 PRG:5BB2 D0 28 + lda #$00 ; CPU:$DBB4 PRG:5BB4 A9 00 + sta ZpEF ; CPU:$DBB6 PRG:5BB6 85 EF + dec ZpBE ; CPU:$DBB8 PRG:5BB8 C6 BE + bpl IrqHandler_Loop231 ; CPU:$DBBA PRG:5BBA 10 20 + inc ZpEE ; CPU:$DBBC PRG:5BBC E6 EE + lda ZpEE ; CPU:$DBBE PRG:5BBE A5 EE + and #$01 ; CPU:$DBC0 PRG:5BC0 29 01 + bne IrqHandler_Loop230 ; CPU:$DBC2 PRG:5BC2 D0 09 + lda ZpCA ; CPU:$DBC4 PRG:5BC4 A5 CA + and #$10 ; CPU:$DBC6 PRG:5BC6 29 10 + ora ZpBC ; CPU:$DBC8 PRG:5BC8 05 BC + jmp Sub_DBD4 ; CPU:$DBCA PRG:5BCA 4C D4 DB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop230 +; Global: Branch target inside IrqHandler: taken when Loop230. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop230: + jsr Sub_DC38 ; CPU:$DBCD PRG:5BCD 20 38 DC + lda ZpCA ; CPU:$DBD0 PRG:5BD0 A5 CA + ora #$0F ; CPU:$DBD2 PRG:5BD2 09 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_DBD4 +; Global: Branch target inside Sub: taken when DBD4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DBD4: + sta ZpCA ; CPU:$DBD4 PRG:5BD4 85 CA + ldx ZpEE ; CPU:$DBD6 PRG:5BD6 A6 EE + lda ZpB0,x ; CPU:$DBD8 PRG:5BD8 B5 B0 + sta ZpBE ; CPU:$DBDA PRG:5BDA 85 BE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop231 +; Global: Branch target inside IrqHandler: taken when Loop231. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop231: + ldx ZpBD ; CPU:$DBDC PRG:5BDC A6 BD + lda ZpB8,x ; CPU:$DBDE PRG:5BDE B5 B8 + bmi IrqHandler_Loop232 ; CPU:$DBE0 PRG:5BE0 30 0C + clc ; CPU:$DBE2 PRG:5BE2 18 + adc Zp3D ; CPU:$DBE3 PRG:5BE3 65 3D + cmp Zp46 ; CPU:$DBE5 PRG:5BE5 C5 46 + bne IrqHandler_Loop232 ; CPU:$DBE7 PRG:5BE7 D0 05 + inc ZpBD ; CPU:$DBE9 PRG:5BE9 E6 BD + jsr Sub_DC24 ; CPU:$DBEB PRG:5BEB 20 24 DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop232 +; Global: Branch target inside IrqHandler: taken when Loop232. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop232: + lda ZpC6 ; CPU:$DBEE PRG:5BEE A5 C6 + bne IrqHandler_Loop233 ; CPU:$DBF0 PRG:5BF0 D0 14 + dec ZpAA ; CPU:$DBF2 PRG:5BF2 C6 AA + bpl IrqHandler_Loop233 ; CPU:$DBF4 PRG:5BF4 10 10 + lda #$3C ; CPU:$DBF6 PRG:5BF6 A9 3C + sta ZpAA ; CPU:$DBF8 PRG:5BF8 85 AA + dec ZpA9 ; CPU:$DBFA PRG:5BFA C6 A9 + bpl IrqHandler_Loop233 ; CPU:$DBFC PRG:5BFC 10 08 + lda $047B ; CPU:$DBFE PRG:5BFE AD 7B 04 + sta ZpA9 ; CPU:$DC01 PRG:5C01 85 A9 + jsr Sub_DC24 ; CPU:$DC03 PRG:5C03 20 24 DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop233 +; Global: Branch target inside IrqHandler: taken when Loop233. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop233: + ldx ZpBF ; CPU:$DC06 PRG:5C06 A6 BF + cpx #$02 ; CPU:$DC08 PRG:5C08 E0 02 + beq IrqHandler_Loop234 ; CPU:$DC0A PRG:5C0A F0 17 + lda ZpAE,x ; CPU:$DC0C PRG:5C0C B5 AE + cmp Zp3D ; CPU:$DC0E PRG:5C0E C5 3D + bne IrqHandler_Loop234 ; CPU:$DC10 PRG:5C10 D0 11 + inc ZpBF ; CPU:$DC12 PRG:5C12 E6 BF + lda #$01 ; CPU:$DC14 PRG:5C14 A9 01 + sta ZpBC ; CPU:$DC16 PRG:5C16 85 BC + txa ; CPU:$DC18 PRG:5C18 8A + asl a ; CPU:$DC19 PRG:5C19 0A + tax ; CPU:$DC1A PRG:5C1A AA + lda ZpE2,x ; CPU:$DC1B PRG:5C1B B5 E2 + sta ZpE0 ; CPU:$DC1D PRG:5C1D 85 E0 + lda ZpE3,x ; CPU:$DC1F PRG:5C1F B5 E3 + sta ZpE1 ; CPU:$DC21 PRG:5C21 85 E1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop234 +; Global: Branch target inside IrqHandler: taken when Loop234. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop234: + rts ; CPU:$DC23 PRG:5C23 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC24 +; Global: Branch target inside Sub: taken when DC24. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC24: + ldx #$00 ; CPU:$DC24 PRG:5C24 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero14 +; Global: Branch target inside IrqHandler: taken when OnNonzero14. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero14: + lda ZpC2,x ; CPU:$DC26 PRG:5C26 B5 C2 + beq IrqHandler_Loop235 ; CPU:$DC28 PRG:5C28 F0 09 + inx ; CPU:$DC2A PRG:5C2A E8 + inx ; CPU:$DC2B PRG:5C2B E8 + cpx #$06 ; CPU:$DC2C PRG:5C2C E0 06 + bne IrqHandler_OnNonzero14 ; CPU:$DC2E PRG:5C2E D0 F6 + jmp Sub_DC37 ; CPU:$DC30 PRG:5C30 4C 37 DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop235 +; Global: Branch target inside IrqHandler: taken when Loop235. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop235: + lda #$02 ; CPU:$DC33 PRG:5C33 A9 02 + sta ZpC2,x ; CPU:$DC35 PRG:5C35 95 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC37 +; Global: Branch target inside Sub: taken when DC37. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC37: + rts ; CPU:$DC37 PRG:5C37 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC38 +; Global: Branch target inside Sub: taken when DC38. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC38: + ldx #$00 ; CPU:$DC38 PRG:5C38 A2 00 + lda #$85 ; CPU:$DC3A PRG:5C3A A9 85 + sta VramWritePtrLo ; CPU:$DC3C PRG:5C3C 85 00 + lda #$04 ; CPU:$DC3E PRG:5C3E A9 04 + sta VramWritePtrHi ; CPU:$DC40 PRG:5C40 85 01 + lda #$64 ; CPU:$DC42 PRG:5C42 A9 64 + sta ControllerState ; CPU:$DC44 PRG:5C44 85 02 + stx Zp03 ; CPU:$DC46 PRG:5C46 86 03 + lda #$0F ; CPU:$DC48 PRG:5C48 A9 0F + cmp ZpCF ; CPU:$DC4A PRG:5C4A C5 CF + beq IrqHandler_OnCarryClear32 ; CPU:$DC4C PRG:5C4C F0 04 + lda ZpBC ; CPU:$DC4E PRG:5C4E A5 BC + bne IrqHandler_Loop237 ; CPU:$DC50 PRG:5C50 D0 27 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear32 +; Global: Branch target inside IrqHandler: taken when OnCarryClear32. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear32: + lda ZpC0,x ; CPU:$DC52 PRG:5C52 B5 C0 + cmp #$04 ; CPU:$DC54 PRG:5C54 C9 04 + bne IrqHandler_Loop237 ; CPU:$DC56 PRG:5C56 D0 21 + lda ZpC1,x ; CPU:$DC58 PRG:5C58 B5 C1 + clc ; CPU:$DC5A PRG:5C5A 18 + adc #$02 ; CPU:$DC5B PRG:5C5B 69 02 + and #$03 ; CPU:$DC5D PRG:5C5D 29 03 + sta Zp04 ; CPU:$DC5F PRG:5C5F 85 04 + ldy #$00 ; CPU:$DC61 PRG:5C61 A0 00 + lda (ControllerState),y ; CPU:$DC63 PRG:5C63 B1 02 + ldy #$02 ; CPU:$DC65 PRG:5C65 A0 02 + ora (ControllerState),y ; CPU:$DC67 PRG:5C67 11 02 + and #$07 ; CPU:$DC69 PRG:5C69 29 07 + bne IrqHandler_Loop236 ; CPU:$DC6B PRG:5C6B D0 08 + ldy Zp04 ; CPU:$DC6D PRG:5C6D A4 04 + lda (VramWritePtrLo),y ; CPU:$DC6F PRG:5C6F B1 00 + and #$F8 ; CPU:$DC71 PRG:5C71 29 F8 + bne IrqHandler_Loop237 ; CPU:$DC73 PRG:5C73 D0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop236 +; Global: Branch target inside IrqHandler: taken when Loop236. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop236: + lda Zp04 ; CPU:$DC75 PRG:5C75 A5 04 + sta ZpC1,x ; CPU:$DC77 PRG:5C77 95 C1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop237 +; Global: Branch target inside IrqHandler: taken when Loop237. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop237: + lda ControllerState ; CPU:$DC79 PRG:5C79 A5 02 + clc ; CPU:$DC7B PRG:5C7B 18 + adc #$04 ; CPU:$DC7C PRG:5C7C 69 04 + sta ControllerState ; CPU:$DC7E PRG:5C7E 85 02 + lda VramWritePtrLo ; CPU:$DC80 PRG:5C80 A5 00 + clc ; CPU:$DC82 PRG:5C82 18 + adc #$04 ; CPU:$DC83 PRG:5C83 69 04 + sta VramWritePtrLo ; CPU:$DC85 PRG:5C85 85 00 + inx ; CPU:$DC87 PRG:5C87 E8 + inx ; CPU:$DC88 PRG:5C88 E8 + cpx #$08 ; CPU:$DC89 PRG:5C89 E0 08 + bcc IrqHandler_OnCarryClear32 ; CPU:$DC8B PRG:5C8B 90 C5 + rts ; CPU:$DC8D PRG:5C8D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DC8E +; Global: Branch target inside Label: taken when DC8E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC8E: + lda #$01 ; CPU:$DC8E PRG:5C8E A9 01 + sta Zp04 ; CPU:$DC90 PRG:5C90 85 04 + ldx #$00 ; CPU:$DC92 PRG:5C92 A2 00 + ldy #$00 ; CPU:$DC94 PRG:5C94 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear33 +; Global: Branch target inside IrqHandler: taken when OnCarryClear33. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear33: + lda a:ZpC0,y ; CPU:$DC96 PRG:5C96 B9 C0 00 + cmp #$04 ; CPU:$DC99 PRG:5C99 C9 04 + bne IrqHandler_Loop241 ; CPU:$DC9B PRG:5C9B D0 29 + lda Zp60 ; CPU:$DC9D PRG:5C9D A5 60 + cmp Zp64,x ; CPU:$DC9F PRG:5C9F D5 64 + bne IrqHandler_Loop239 ; CPU:$DCA1 PRG:5CA1 D0 10 + lda Zp62 ; CPU:$DCA3 PRG:5CA3 A5 62 + sec ; CPU:$DCA5 PRG:5CA5 38 + sbc Zp66,x ; CPU:$DCA6 PRG:5CA6 F5 66 + bpl IrqHandler_Loop238 ; CPU:$DCA8 PRG:5CA8 10 02 + eor #$FF ; CPU:$DCAA PRG:5CAA 49 FF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop238 +; Global: Branch target inside IrqHandler: taken when Loop238. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop238: + cmp #$06 ; CPU:$DCAC PRG:5CAC C9 06 + bcc IrqHandler_Loop242 ; CPU:$DCAE PRG:5CAE 90 23 + jmp IrqHandler_Loop241 ; CPU:$DCB0 PRG:5CB0 4C C6 DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop239 +; Global: Branch target inside IrqHandler: taken when Loop239. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop239: + lda Zp62 ; CPU:$DCB3 PRG:5CB3 A5 62 + cmp Zp66,x ; CPU:$DCB5 PRG:5CB5 D5 66 + bne IrqHandler_Loop241 ; CPU:$DCB7 PRG:5CB7 D0 0D + lda Zp60 ; CPU:$DCB9 PRG:5CB9 A5 60 + sec ; CPU:$DCBB PRG:5CBB 38 + sbc Zp64,x ; CPU:$DCBC PRG:5CBC F5 64 + bpl IrqHandler_Loop240 ; CPU:$DCBE PRG:5CBE 10 02 + eor #$FF ; CPU:$DCC0 PRG:5CC0 49 FF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop240 +; Global: Branch target inside IrqHandler: taken when Loop240. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop240: + cmp #$06 ; CPU:$DCC2 PRG:5CC2 C9 06 + bcc IrqHandler_Loop242 ; CPU:$DCC4 PRG:5CC4 90 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop241 +; Global: Branch target inside IrqHandler: taken when Loop241. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop241: + asl Zp04 ; CPU:$DCC6 PRG:5CC6 06 04 + iny ; CPU:$DCC8 PRG:5CC8 C8 + iny ; CPU:$DCC9 PRG:5CC9 C8 + inx ; CPU:$DCCA PRG:5CCA E8 + inx ; CPU:$DCCB PRG:5CCB E8 + inx ; CPU:$DCCC PRG:5CCC E8 + inx ; CPU:$DCCD PRG:5CCD E8 + cpx #$14 ; CPU:$DCCE PRG:5CCE E0 14 + bcc IrqHandler_OnCarryClear33 ; CPU:$DCD0 PRG:5CD0 90 C4 + rts ; CPU:$DCD2 PRG:5CD2 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop242 +; Global: Branch target inside IrqHandler: taken when Loop242. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop242: + tya ; CPU:$DCD3 PRG:5CD3 98 + lsr a ; CPU:$DCD4 PRG:5CD4 4A + clc ; CPU:$DCD5 PRG:5CD5 18 + adc #$01 ; CPU:$DCD6 PRG:5CD6 69 01 + sta Zp86 ; CPU:$DCD8 PRG:5CD8 85 86 + cpy #$08 ; CPU:$DCDA PRG:5CDA C0 08 + bne IrqHandler_Loop243 ; CPU:$DCDC PRG:5CDC D0 26 + lda #$04 ; CPU:$DCDE PRG:5CDE A9 04 + sta Zp3A ; CPU:$DCE0 PRG:5CE0 85 3A + lda $0405 ; CPU:$DCE2 PRG:5CE2 AD 05 04 + beq IrqHandler_Loop241 ; CPU:$DCE5 PRG:5CE5 F0 DF + lda #$28 ; CPU:$DCE7 PRG:5CE7 A9 28 + sta $0479 ; CPU:$DCE9 PRG:5CE9 8D 79 04 + lda Zp82 ; CPU:$DCEC PRG:5CEC A5 82 + sec ; CPU:$DCEE PRG:5CEE 38 + sbc #$1E ; CPU:$DCEF PRG:5CEF E9 1E + and #$FE ; CPU:$DCF1 PRG:5CF1 29 FE + tax ; CPU:$DCF3 PRG:5CF3 AA + lda $DD98,x ; CPU:$DCF4 PRG:5CF4 BD 98 DD + sta VramReadPtrLo ; CPU:$DCF7 PRG:5CF7 85 08 + lda $DD99,x ; CPU:$DCF9 PRG:5CF9 BD 99 DD + sta VramReadPtrHi ; CPU:$DCFC PRG:5CFC 85 09 + lda ZpA5 ; CPU:$DCFE PRG:5CFE A5 A5 + clc ; CPU:$DD00 PRG:5D00 18 + jmp (VramReadPtrLo) ; CPU:$DD01 PRG:5D01 6C 08 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop243 +; Global: Branch target inside IrqHandler: taken when Loop243. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop243: + lda Zp04 ; CPU:$DD04 PRG:5D04 A5 04 + and ZpCF ; CPU:$DD06 PRG:5D06 25 CF + bne IrqHandler_Loop248 ; CPU:$DD08 PRG:5D08 D0 49 + bit Zp89 ; CPU:$DD0A PRG:5D0A 24 89 + bpl IrqHandler_Loop244 ; CPU:$DD0C PRG:5D0C 10 01 + rts ; CPU:$DD0E PRG:5D0E 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop244 +; Global: Branch target inside IrqHandler: taken when Loop244. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop244: + lda #$45 ; CPU:$DD0F PRG:5D0F A9 45 + sta SpriteTile ; CPU:$DD11 PRG:5D11 85 8B + lda #$00 ; CPU:$DD13 PRG:5D13 A9 00 + sta VramWritePtrHi ; CPU:$DD15 PRG:5D15 85 01 + lda Zp62 ; CPU:$DD17 PRG:5D17 A5 62 + cmp Zp66,x ; CPU:$DD19 PRG:5D19 D5 66 + bne IrqHandler_Loop246 ; CPU:$DD1B PRG:5D1B D0 0F + inc VramWritePtrHi ; CPU:$DD1D PRG:5D1D E6 01 + lda Zp60 ; CPU:$DD1F PRG:5D1F A5 60 + cmp Zp64,x ; CPU:$DD21 PRG:5D21 D5 64 + bcc IrqHandler_Loop245 ; CPU:$DD23 PRG:5D23 90 04 + lda #$03 ; CPU:$DD25 PRG:5D25 A9 03 + sta VramWritePtrHi ; CPU:$DD27 PRG:5D27 85 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop245 +; Global: Branch target inside IrqHandler: taken when Loop245. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop245: + jmp IrqHandler_Loop247 ; CPU:$DD29 PRG:5D29 4C 32 DD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop246 +; Global: Branch target inside IrqHandler: taken when Loop246. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop246: + bcc IrqHandler_Loop247 ; CPU:$DD2C PRG:5D2C 90 04 + lda #$02 ; CPU:$DD2E PRG:5D2E A9 02 + sta VramWritePtrHi ; CPU:$DD30 PRG:5D30 85 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop247 +; Global: Branch target inside IrqHandler: taken when Loop247. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop247: + lda #$50 ; CPU:$DD32 PRG:5D32 A9 50 + sta ZpFF ; CPU:$DD34 PRG:5D34 85 FF + tya ; CPU:$DD36 PRG:5D36 98 + lsr a ; CPU:$DD37 PRG:5D37 4A + tax ; CPU:$DD38 PRG:5D38 AA + inx ; CPU:$DD39 PRG:5D39 E8 + asl VramWritePtrHi ; CPU:$DD3A PRG:5D3A 06 01 + lda a:Zp7A,y ; CPU:$DD3C PRG:5D3C B9 7A 00 + and #$F8 ; CPU:$DD3F PRG:5D3F 29 F8 + ora VramWritePtrHi ; CPU:$DD41 PRG:5D41 05 01 + sta $0430,x ; CPU:$DD43 PRG:5D43 9D 30 04 + lda #$05 ; CPU:$DD46 PRG:5D46 A9 05 + sta Zp30 ; CPU:$DD48 PRG:5D48 85 30 + lda #$00 ; CPU:$DD4A PRG:5D4A A9 00 + sta Zp31 ; CPU:$DD4C PRG:5D4C 85 31 + pla ; CPU:$DD4E PRG:5D4E 68 + pla ; CPU:$DD4F PRG:5D4F 68 + jmp Sub_DD8F ; CPU:$DD50 PRG:5D50 4C 8F DD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop248 +; Global: Branch target inside IrqHandler: taken when Loop248. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop248: + eor #$FF ; CPU:$DD53 PRG:5D53 49 FF + and ZpCF ; CPU:$DD55 PRG:5D55 25 CF + sta ZpCF ; CPU:$DD57 PRG:5D57 85 CF + lda #$00 ; CPU:$DD59 PRG:5D59 A9 00 + sta $0400 ; CPU:$DD5B PRG:5D5B 8D 00 04 + lda #$30 ; CPU:$DD5E PRG:5D5E A9 30 + sta Zp85 ; CPU:$DD60 PRG:5D60 85 85 + lda #$08 ; CPU:$DD62 PRG:5D62 A9 08 + sta Zp3A ; CPU:$DD64 PRG:5D64 85 3A + lda ZpAD ; CPU:$DD66 PRG:5D66 A5 AD + inc ZpAD ; CPU:$DD68 PRG:5D68 E6 AD + asl a ; CPU:$DD6A PRG:5D6A 0A + tax ; CPU:$DD6B PRG:5D6B AA + lda $DD90,x ; CPU:$DD6C PRG:5D6C BD 90 DD + sta VramReadPtrLo ; CPU:$DD6F PRG:5D6F 85 08 + lda $DD91,x ; CPU:$DD71 PRG:5D71 BD 91 DD + sta VramReadPtrHi ; CPU:$DD74 PRG:5D74 85 09 + lda ZpA5 ; CPU:$DD76 PRG:5D76 A5 A5 + clc ; CPU:$DD78 PRG:5D78 18 + jmp (VramReadPtrLo) ; CPU:$DD79 PRG:5D79 6C 08 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DD7C +; Global: Branch target inside Label: taken when DD7C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DD7C: + sta ZpA5 ; CPU:$DD7C PRG:5D7C 85 A5 + cpy #$08 ; CPU:$DD7E PRG:5D7E C0 08 + bne IrqHandler_Loop249 ; CPU:$DD80 PRG:5D80 D0 05 + stx Zp82 ; CPU:$DD82 PRG:5D82 86 82 + jmp Sub_DD8A ; CPU:$DD84 PRG:5D84 4C 8A DD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop249 +; Global: Branch target inside IrqHandler: taken when Loop249. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop249: + stx $047E ; CPU:$DD87 PRG:5D87 8E 7E 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_DD8A +; Global: Branch target inside Sub: taken when DD8A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD8A: + lda #$08 ; CPU:$DD8A PRG:5D8A A9 08 + sta a:ZpC0,y ; CPU:$DD8C PRG:5D8C 99 C0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DD8F +; Global: Branch target inside Sub: taken when DD8F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD8F: + rts ; CPU:$DD8F PRG:5D8F 60 +; ---- data $DD90-$DE31 (162 bytes) ---- +; referenced by `lda $DD98,x` at $DCF4 (operand $DD98 falls inside this region) +; referenced by `lda $DD99,x` at $DCF9 (operand $DD99 falls inside this region) +; referenced by `lda $DD90,x` at $DD6C (operand $DD90 falls inside this region) +; referenced by `lda $DD91,x` at $DD71 (operand $DD91 falls inside this region) +; referenced by `lda $DDE2,y` at $DE75 (operand $DDE2 falls inside this region) + .byte $A6, $DD, $AC, $DD, $B2, $DD, $B8, $DD, $BE, $DD, $A6, $DD, $C4, $DD, $CA, $DD ; CPU:$DD90 PRG:5D90 A6 DD AC DD B2 DD B8 DD BE DD A6 DD C4 DD CA DD + .byte $D0, $DD, $D6, $DD, $DC, $DD, $69, $02, $A2, $2D, $D0, $D0, $69, $04, $A2, $2E ; CPU:$DDA0 PRG:5DA0 D0 DD D6 DD DC DD 69 02 A2 2D D0 D0 69 04 A2 2E + .byte $D0, $CA, $69, $08, $A2, $31, $D0, $C4, $69, $16, $A2, $33, $D0, $BE, $69, $01 ; CPU:$DDB0 PRG:5DB0 D0 CA 69 08 A2 31 D0 C4 69 16 A2 33 D0 BE 69 01 + .byte $A2, $2C, $D0, $B8, $69, $05, $A2, $2F, $D0, $B2, $69, $07, $A2, $30, $D0, $AC ; CPU:$DDC0 PRG:5DC0 A2 2C D0 B8 69 05 A2 2F D0 B2 69 07 A2 30 D0 AC + .byte $69, $10, $A2, $32, $D0, $A6, $69, $20, $A2, $34, $D0, $A0, $69, $50, $A2, $35 ; CPU:$DDD0 PRG:5DD0 69 10 A2 32 D0 A6 69 20 A2 34 D0 A0 69 50 A2 35 + .byte $D0, $9A, $20, $20, $20, $20, $20, $20, $54, $48, $45, $59, $20, $4D, $45, $45 ; CPU:$DDE0 PRG:5DE0 D0 9A 20 20 20 20 20 20 54 48 45 59 20 4D 45 45 + .byte $54, $20, $20, $20, $20, $20, $20, $20, $54, $48, $45, $20, $43, $48, $41, $53 ; CPU:$DDF0 PRG:5DF0 54 20 20 20 20 20 20 20 54 48 45 20 43 48 41 53 + .byte $45, $20, $20, $20, $20, $20, $20, $20, $4A, $55, $4E, $49, $4F, $52, $20, $20 ; CPU:$DE00 PRG:5E00 45 20 20 20 20 20 20 20 4A 55 4E 49 4F 52 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $4A, $55, $4E, $49, $4F, $52, $32, $20 ; CPU:$DE10 PRG:5E10 20 20 20 20 20 20 20 20 4A 55 4E 49 4F 52 32 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $4A, $55, $4E, $49, $4F, $52, $33, $20 ; CPU:$DE20 PRG:5E20 20 20 20 20 20 20 20 20 4A 55 4E 49 4F 52 33 20 + .byte $20, $20 ; CPU:$DE30 PRG:5E30 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_DE32 +; Global: Branch target inside Sub: taken when DE32. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE32: + cmp #$80 ; CPU:$DE32 PRG:5E32 C9 80 + bcc IrqHandler_Loop250 ; CPU:$DE34 PRG:5E34 90 05 + lda Zp3E ; CPU:$DE36 PRG:5E36 A5 3E + clc ; CPU:$DE38 PRG:5E38 18 + adc #$10 ; CPU:$DE39 PRG:5E39 69 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop250 +; Global: Branch target inside IrqHandler: taken when Loop250. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop250: + sta Zp84 ; CPU:$DE3B PRG:5E3B 85 84 + lda ZpCE ; CPU:$DE3D PRG:5E3D A5 CE + cmp #$01 ; CPU:$DE3F PRG:5E3F C9 01 + bcc IrqHandler_Loop254 ; CPU:$DE41 PRG:5E41 90 44 + beq IrqHandler_Loop251 ; CPU:$DE43 PRG:5E43 F0 13 + cmp #$08 ; CPU:$DE45 PRG:5E45 C9 08 + bcs IrqHandler_Loop253 ; CPU:$DE47 PRG:5E47 B0 3B + lda PpuMaskShadow ; CPU:$DE49 PRG:5E49 A5 26 + ora #$18 ; CPU:$DE4B PRG:5E4B 09 18 + sta PpuMaskShadow ; CPU:$DE4D PRG:5E4D 85 26 + inc Zp31 ; CPU:$DE4F PRG:5E4F E6 31 + lda #$00 ; CPU:$DE51 PRG:5E51 A9 00 + sta ZpCE ; CPU:$DE53 PRG:5E53 85 CE + jmp Sub_DE86 ; CPU:$DE55 PRG:5E55 4C 86 DE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop251 +; Global: Branch target inside IrqHandler: taken when Loop251. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop251: + jsr Sub_C450 ; CPU:$DE58 PRG:5E58 20 50 C4 + lda Zp30 ; CPU:$DE5B PRG:5E5B A5 30 + cmp #$02 ; CPU:$DE5D PRG:5E5D C9 02 + bne IrqHandler_Loop253 ; CPU:$DE5F PRG:5E5F D0 23 + lda #$10 ; CPU:$DE61 PRG:5E61 A9 10 + sta $0450 ; CPU:$DE63 PRG:5E63 8D 50 04 + lda SpriteIndex ; CPU:$DE66 PRG:5E66 A5 88 + cmp #$05 ; CPU:$DE68 PRG:5E68 C9 05 + bcc IrqHandler_Loop252 ; CPU:$DE6A PRG:5E6A 90 02 + lda #$05 ; CPU:$DE6C PRG:5E6C A9 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop252 +; Global: Branch target inside IrqHandler: taken when Loop252. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop252: + asl a ; CPU:$DE6E PRG:5E6E 0A + asl a ; CPU:$DE6F PRG:5E6F 0A + asl a ; CPU:$DE70 PRG:5E70 0A + asl a ; CPU:$DE71 PRG:5E71 0A + tay ; CPU:$DE72 PRG:5E72 A8 + ldx #$00 ; CPU:$DE73 PRG:5E73 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear34 +; Global: Branch target inside IrqHandler: taken when OnCarryClear34. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear34: + lda $DDE2,y ; CPU:$DE75 PRG:5E75 B9 E2 DD + sta $0451,x ; CPU:$DE78 PRG:5E78 9D 51 04 + iny ; CPU:$DE7B PRG:5E7B C8 + inx ; CPU:$DE7C PRG:5E7C E8 + cpx #$10 ; CPU:$DE7D PRG:5E7D E0 10 + bcc IrqHandler_OnCarryClear34 ; CPU:$DE7F PRG:5E7F 90 F4 + jsr Sub_CEDA ; CPU:$DE81 PRG:5E81 20 DA CE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop253 +; Global: Branch target inside IrqHandler: taken when Loop253. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop253: + inc ZpCE ; CPU:$DE84 PRG:5E84 E6 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_DE86 +; Global: Branch target inside Sub: taken when DE86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DE86: + rts ; CPU:$DE86 PRG:5E86 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop254 +; Global: Branch target inside IrqHandler: taken when Loop254. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop254: + lda PpuCtrlShadow ; CPU:$DE87 PRG:5E87 A5 24 + and #$7F ; CPU:$DE89 PRG:5E89 29 7F + sta PpuCtrlShadow ; CPU:$DE8B PRG:5E8B 85 24 + sta PPUCTRL ; CPU:$DE8D PRG:5E8D 8D 00 20 + lda PpuMaskShadow ; CPU:$DE90 PRG:5E90 A5 26 + and #$E7 ; CPU:$DE92 PRG:5E92 29 E7 + sta PpuMaskShadow ; CPU:$DE94 PRG:5E94 85 26 + sta PPUMASK ; CPU:$DE96 PRG:5E96 8D 01 20 + lda #$00 ; CPU:$DE99 PRG:5E99 A9 00 + ldx #$A0 ; CPU:$DE9B PRG:5E9B A2 A0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero15 +; Global: Branch target inside IrqHandler: taken when OnNonzero15. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero15: + sta VramWritePtrLo,x ; CPU:$DE9D PRG:5E9D 95 00 + inx ; CPU:$DE9F PRG:5E9F E8 + bne IrqHandler_OnNonzero15 ; CPU:$DEA0 PRG:5EA0 D0 FB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear35 +; Global: Branch target inside IrqHandler: taken when OnCarryClear35. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear35: + sta $0400,x ; CPU:$DEA2 PRG:5EA2 9D 00 04 + inx ; CPU:$DEA5 PRG:5EA5 E8 + cpx #$60 ; CPU:$DEA6 PRG:5EA6 E0 60 + bcc IrqHandler_OnCarryClear35 ; CPU:$DEA8 PRG:5EA8 90 F8 + bit Zp36 ; CPU:$DEAA PRG:5EAA 24 36 + bvs IrqHandler_Loop258 ; CPU:$DEAC PRG:5EAC 70 70 + lda #$FF ; CPU:$DEAE PRG:5EAE A9 FF + sta $047F ; CPU:$DEB0 PRG:5EB0 8D 7F 04 + jsr Sub_E232 ; CPU:$DEB3 PRG:5EB3 20 32 E2 + lda #$23 ; CPU:$DEB6 PRG:5EB6 A9 23 + bit Zp3C ; CPU:$DEB8 PRG:5EB8 24 3C + bvc IrqHandler_Loop255 ; CPU:$DEBA PRG:5EBA 50 02 + ora #$04 ; CPU:$DEBC PRG:5EBC 09 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop255 +; Global: Branch target inside IrqHandler: taken when Loop255. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop255: + sta $0300 ; CPU:$DEBE PRG:5EBE 8D 00 03 + lda #$C0 ; CPU:$DEC1 PRG:5EC1 A9 C0 + sta $0301 ; CPU:$DEC3 PRG:5EC3 8D 01 03 + lda #$40 ; CPU:$DEC6 PRG:5EC6 A9 40 + sta $0302 ; CPU:$DEC8 PRG:5EC8 8D 02 03 + lda Zp84 ; CPU:$DECB PRG:5ECB A5 84 + asl a ; CPU:$DECD PRG:5ECD 0A + tay ; CPU:$DECE PRG:5ECE A8 + lda #$AA ; CPU:$DECF PRG:5ECF A9 AA + sta VramReadPtrLo ; CPU:$DED1 PRG:5ED1 85 08 + lda #$89 ; CPU:$DED3 PRG:5ED3 A9 89 + sta VramReadPtrHi ; CPU:$DED5 PRG:5ED5 85 09 + lda (VramReadPtrLo),y ; CPU:$DED7 PRG:5ED7 B1 08 + sta DispatchPtrLo ; CPU:$DED9 PRG:5ED9 85 0A + iny ; CPU:$DEDB PRG:5EDB C8 + lda (VramReadPtrLo),y ; CPU:$DEDC PRG:5EDC B1 08 + sta DispatchPtrHi ; CPU:$DEDE PRG:5EDE 85 0B + ldy #$00 ; CPU:$DEE0 PRG:5EE0 A0 00 + ldx #$00 ; CPU:$DEE2 PRG:5EE2 A2 00 + lda (DispatchPtrLo),y ; CPU:$DEE4 PRG:5EE4 B1 0A + bpl IrqHandler_Loop256 ; CPU:$DEE6 PRG:5EE6 10 0F + iny ; CPU:$DEE8 PRG:5EE8 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear36 +; Global: Branch target inside IrqHandler: taken when OnCarryClear36. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear36: + lda (DispatchPtrLo),y ; CPU:$DEE9 PRG:5EE9 B1 0A + sta $0303,x ; CPU:$DEEB PRG:5EEB 9D 03 03 + iny ; CPU:$DEEE PRG:5EEE C8 + inx ; CPU:$DEEF PRG:5EEF E8 + cpx #$40 ; CPU:$DEF0 PRG:5EF0 E0 40 + bcc IrqHandler_OnCarryClear36 ; CPU:$DEF2 PRG:5EF2 90 F5 + jmp Sub_DF13 ; CPU:$DEF4 PRG:5EF4 4C 13 DF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop256 +; Global: Branch target inside IrqHandler: taken when Loop256. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop256: + sta VramWritePtrHi ; CPU:$DEF7 PRG:5EF7 85 01 + iny ; CPU:$DEF9 PRG:5EF9 C8 + lda (DispatchPtrLo),y ; CPU:$DEFA PRG:5EFA B1 0A + iny ; CPU:$DEFC PRG:5EFC C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero16 +; Global: Branch target inside IrqHandler: taken when OnNonzero16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero16: + sta $0303,x ; CPU:$DEFD PRG:5EFD 9D 03 03 + inx ; CPU:$DF00 PRG:5F00 E8 + dec VramWritePtrHi ; CPU:$DF01 PRG:5F01 C6 01 + bne IrqHandler_OnNonzero16 ; CPU:$DF03 PRG:5F03 D0 F8 + cpx #$40 ; CPU:$DF05 PRG:5F05 E0 40 + bcc IrqHandler_Loop257 ; CPU:$DF07 PRG:5F07 90 05 + ldx #$40 ; CPU:$DF09 PRG:5F09 A2 40 + jmp Sub_DF13 ; CPU:$DF0B PRG:5F0B 4C 13 DF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop257 +; Global: Branch target inside IrqHandler: taken when Loop257. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop257: + lda (DispatchPtrLo),y ; CPU:$DF0E PRG:5F0E B1 0A + jmp IrqHandler_Loop256 ; CPU:$DF10 PRG:5F10 4C F7 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_DF13 +; Global: Branch target inside Sub: taken when DF13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF13: + lda #$00 ; CPU:$DF13 PRG:5F13 A9 00 + sta $0303,x ; CPU:$DF15 PRG:5F15 9D 03 03 + jsr Sub_C3C3 ; CPU:$DF18 PRG:5F18 20 C3 C3 + jmp IrqHandler_Loop263 ; CPU:$DF1B PRG:5F1B 4C 9B DF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop258 +; Global: Branch target inside IrqHandler: taken when Loop258. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop258: + lda PpuCtrlShadow ; CPU:$DF1E PRG:5F1E A5 24 + bit Zp3C ; CPU:$DF20 PRG:5F20 24 3C + bvs IrqHandler_Loop259 ; CPU:$DF22 PRG:5F22 70 05 + and #$FE ; CPU:$DF24 PRG:5F24 29 FE + jmp Sub_DF2B ; CPU:$DF26 PRG:5F26 4C 2B DF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop259 +; Global: Branch target inside IrqHandler: taken when Loop259. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop259: + ora #$01 ; CPU:$DF29 PRG:5F29 09 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_DF2B +; Global: Branch target inside Sub: taken when DF2B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DF2B: + sta PpuCtrlShadow ; CPU:$DF2B PRG:5F2B 85 24 + bit Zp47 ; CPU:$DF2D PRG:5F2D 24 47 + bmi IrqHandler_Loop261 ; CPU:$DF2F PRG:5F2F 30 22 + ldx #$00 ; CPU:$DF31 PRG:5F31 A2 00 + lda #$08 ; CPU:$DF33 PRG:5F33 A9 08 + bit Zp3C ; CPU:$DF35 PRG:5F35 24 3C + bvc IrqHandler_Loop260 ; CPU:$DF37 PRG:5F37 50 03 + tax ; CPU:$DF39 PRG:5F39 AA + lda #$10 ; CPU:$DF3A PRG:5F3A A9 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop260 +; Global: Branch target inside IrqHandler: taken when Loop260. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop260: + sta VramWritePtrHi ; CPU:$DF3C PRG:5F3C 85 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear37 +; Global: Branch target inside IrqHandler: taken when OnCarryClear37. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear37: + lda #$FF ; CPU:$DF3E PRG:5F3E A9 FF + sta $04E0,x ; CPU:$DF40 PRG:5F40 9D E0 04 + inx ; CPU:$DF43 PRG:5F43 E8 + cpx VramWritePtrHi ; CPU:$DF44 PRG:5F44 E4 01 + bcc IrqHandler_OnCarryClear37 ; CPU:$DF46 PRG:5F46 90 F6 + jsr Sub_E232 ; CPU:$DF48 PRG:5F48 20 32 E2 + bit Zp8C ; CPU:$DF4B PRG:5F4B 24 8C + bvs IrqHandler_Loop261 ; CPU:$DF4D PRG:5F4D 70 04 + lda #$41 ; CPU:$DF4F PRG:5F4F A9 41 + sta SpriteTile ; CPU:$DF51 PRG:5F51 85 8B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop261 +; Global: Branch target inside IrqHandler: taken when Loop261. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop261: + jsr Sub_E49F ; CPU:$DF53 PRG:5F53 20 9F E4 + jsr Sub_E415 ; CPU:$DF56 PRG:5F56 20 15 E4 + jsr Sub_E36D ; CPU:$DF59 PRG:5F59 20 6D E3 + jsr Sub_E1DB ; CPU:$DF5C PRG:5F5C 20 DB E1 + jsr Sub_E118 ; CPU:$DF5F PRG:5F5F 20 18 E1 + jsr Sub_E097 ; CPU:$DF62 PRG:5F62 20 97 E0 + jsr Sub_DFE9 ; CPU:$DF65 PRG:5F65 20 E9 DF + lda Zp3C ; CPU:$DF68 PRG:5F68 A5 3C + sta VramWritePtrHi ; CPU:$DF6A PRG:5F6A 85 01 + lda #$36 ; CPU:$DF6C PRG:5F6C A9 36 + jsr Sub_DFBA ; CPU:$DF6E PRG:5F6E 20 BA DF + ldx #$00 ; CPU:$DF71 PRG:5F71 A2 00 + ldy #$00 ; CPU:$DF73 PRG:5F73 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear38 +; Global: Branch target inside IrqHandler: taken when OnCarryClear38. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear38: + lda $E5D1,y ; CPU:$DF75 PRG:5F75 B9 D1 E5 + sta Zp60,x ; CPU:$DF78 PRG:5F78 95 60 + inx ; CPU:$DF7A PRG:5F7A E8 + lda #$00 ; CPU:$DF7B PRG:5F7B A9 00 + sta Zp60,x ; CPU:$DF7D PRG:5F7D 95 60 + inx ; CPU:$DF7F PRG:5F7F E8 + lda $E5DD,y ; CPU:$DF80 PRG:5F80 B9 DD E5 + sta a:Zp78,y ; CPU:$DF83 PRG:5F83 99 78 00 + iny ; CPU:$DF86 PRG:5F86 C8 + cpy #$0C ; CPU:$DF87 PRG:5F87 C0 0C + bcc IrqHandler_OnCarryClear38 ; CPU:$DF89 PRG:5F89 90 EA + bit Zp89 ; CPU:$DF8B PRG:5F8B 24 89 + bpl IrqHandler_Loop262 ; CPU:$DF8D PRG:5F8D 10 04 + lda #$03 ; CPU:$DF8F PRG:5F8F A9 03 + sta Zp79 ; CPU:$DF91 PRG:5F91 85 79 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop262 +; Global: Branch target inside IrqHandler: taken when Loop262. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop262: + bit Zp3C ; CPU:$DF93 PRG:5F93 24 3C + bvc IrqHandler_Loop263 ; CPU:$DF95 PRG:5F95 50 04 + lda #$44 ; CPU:$DF97 PRG:5F97 A9 44 + sta Zp78 ; CPU:$DF99 PRG:5F99 85 78 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop263 +; Global: Branch target inside IrqHandler: taken when Loop263. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop263: + jsr Sub_E4EF ; CPU:$DF9B PRG:5F9B 20 EF E4 + lda #$FF ; CPU:$DF9E PRG:5F9E A9 FF + sta Zp86 ; CPU:$DFA0 PRG:5FA0 85 86 + sta Zp87 ; CPU:$DFA2 PRG:5FA2 85 87 + lda #$00 ; CPU:$DFA4 PRG:5FA4 A9 00 + sta ZpCF ; CPU:$DFA6 PRG:5FA6 85 CF + lda #$01 ; CPU:$DFA8 PRG:5FA8 A9 01 + sta Zp5E ; CPU:$DFAA PRG:5FAA 85 5E + sta Zp5F ; CPU:$DFAC PRG:5FAC 85 5F + lda PpuCtrlShadow ; CPU:$DFAE PRG:5FAE A5 24 + ora #$80 ; CPU:$DFB0 PRG:5FB0 09 80 + sta PpuCtrlShadow ; CPU:$DFB2 PRG:5FB2 85 24 + sta PPUCTRL ; CPU:$DFB4 PRG:5FB4 8D 00 20 + inc ZpCE ; CPU:$DFB7 PRG:5FB7 E6 CE + rts ; CPU:$DFB9 PRG:5FB9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFBA +; Global: Branch target inside Sub: taken when DFBA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFBA: + sta $0430 ; CPU:$DFBA PRG:5FBA 8D 30 04 + lda #$03 ; CPU:$DFBD PRG:5FBD A9 03 + sta $0400 ; CPU:$DFBF PRG:5FBF 8D 00 04 + sta $0401 ; CPU:$DFC2 PRG:5FC2 8D 01 04 + ldx #$37 ; CPU:$DFC5 PRG:5FC5 A2 37 + bit VramWritePtrHi ; CPU:$DFC7 PRG:5FC7 24 01 + bpl IrqHandler_Loop265 ; CPU:$DFC9 PRG:5FC9 10 04 + bvc IrqHandler_Loop264 ; CPU:$DFCB PRG:5FCB 50 01 + inx ; CPU:$DFCD PRG:5FCD E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop264 +; Global: Branch target inside IrqHandler: taken when Loop264. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop264: + inx ; CPU:$DFCE PRG:5FCE E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop265 +; Global: Branch target inside IrqHandler: taken when Loop265. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop265: + stx $0431 ; CPU:$DFCF PRG:5FCF 8E 31 04 + lda #$5C ; CPU:$DFD2 PRG:5FD2 A9 5C + sta $0410 ; CPU:$DFD4 PRG:5FD4 8D 10 04 + sta $0411 ; CPU:$DFD7 PRG:5FD7 8D 11 04 + lda #$88 ; CPU:$DFDA PRG:5FDA A9 88 + sta $0420 ; CPU:$DFDC PRG:5FDC 8D 20 04 + lda #$60 ; CPU:$DFDF PRG:5FDF A9 60 + sta $0421 ; CPU:$DFE1 PRG:5FE1 8D 21 04 + rts ; CPU:$DFE4 PRG:5FE4 60 +; ---- data $DFE5-$DFE8 (4 bytes) ---- +; referenced by `lda $DFE5,x` at $E054 (operand $DFE5 falls inside this region) + .byte $0F, $00, $10, $20 ; CPU:$DFE5 PRG:5FE5 0F 00 10 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFE9 +; Global: Branch target inside Sub: taken when DFE9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFE9: + lda #$28 ; CPU:$DFE9 PRG:5FE9 A9 28 + sta ZpAE ; CPU:$DFEB PRG:5FEB 85 AE + lda #$0A ; CPU:$DFED PRG:5FED A9 0A + sta ZpAF ; CPU:$DFEF PRG:5FEF 85 AF + ldx #$00 ; CPU:$DFF1 PRG:5FF1 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear39 +; Global: Branch target inside IrqHandler: taken when OnCarryClear39. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear39: + lda $E08D,x ; CPU:$DFF3 PRG:5FF3 BD 8D E0 + sta ZpC0,x ; CPU:$DFF6 PRG:5FF6 95 C0 + inx ; CPU:$DFF8 PRG:5FF8 E8 + cpx #$0A ; CPU:$DFF9 PRG:5FF9 E0 0A + bcc IrqHandler_OnCarryClear39 ; CPU:$DFFB PRG:5FFB 90 F6 + ldx Zp3E ; CPU:$DFFD PRG:5FFD A6 3E + dex ; CPU:$DFFF PRG:5FFF CA + bit Zp8E ; CPU:$E000 PRG:6000 24 8E + bpl IrqHandler_Loop266 ; CPU:$E002 PRG:6002 10 09 + txa ; CPU:$E004 PRG:6004 8A + clc ; CPU:$E005 PRG:6005 18 + adc #$08 ; CPU:$E006 PRG:6006 69 08 + cmp #$20 ; CPU:$E008 PRG:6008 C9 20 + bcs IrqHandler_Loop266 ; CPU:$E00A PRG:600A B0 01 + tax ; CPU:$E00C PRG:600C AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop266 +; Global: Branch target inside IrqHandler: taken when Loop266. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop266: + stx VramWritePtrHi ; CPU:$E00D PRG:600D 86 01 + lda VramWritePtrHi ; CPU:$E00F PRG:600F A5 01 + and #$18 ; CPU:$E011 PRG:6011 29 18 + tay ; CPU:$E013 PRG:6013 A8 + lda $E5E9,y ; CPU:$E014 PRG:6014 B9 E9 E5 + sta ZpBE ; CPU:$E017 PRG:6017 85 BE + ldx #$00 ; CPU:$E019 PRG:6019 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear40 +; Global: Branch target inside IrqHandler: taken when OnCarryClear40. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear40: + lda $E5E9,y ; CPU:$E01B PRG:601B B9 E9 E5 + sta ZpB0,x ; CPU:$E01E PRG:601E 95 B0 + iny ; CPU:$E020 PRG:6020 C8 + inx ; CPU:$E021 PRG:6021 E8 + cpx #$08 ; CPU:$E022 PRG:6022 E0 08 + bcc IrqHandler_OnCarryClear40 ; CPU:$E024 PRG:6024 90 F5 + lda VramWritePtrHi ; CPU:$E026 PRG:6026 A5 01 + and #$1C ; CPU:$E028 PRG:6028 29 1C + tay ; CPU:$E02A PRG:602A A8 + ldx #$00 ; CPU:$E02B PRG:602B A2 00 + stx ZpBD ; CPU:$E02D PRG:602D 86 BD +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear41 +; Global: Branch target inside IrqHandler: taken when OnCarryClear41. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear41: + lda $E609,y ; CPU:$E02F PRG:602F B9 09 E6 + sta ZpB8,x ; CPU:$E032 PRG:6032 95 B8 + iny ; CPU:$E034 PRG:6034 C8 + inx ; CPU:$E035 PRG:6035 E8 + cpx #$04 ; CPU:$E036 PRG:6036 E0 04 + bcc IrqHandler_OnCarryClear41 ; CPU:$E038 PRG:6038 90 F5 + ldx VramWritePtrHi ; CPU:$E03A PRG:603A A6 01 + lda $E531,x ; CPU:$E03C PRG:603C BD 31 E5 + sta $0477 ; CPU:$E03F PRG:603F 8D 77 04 + cmp #$0F ; CPU:$E042 PRG:6042 C9 0F + beq IrqHandler_Loop267 ; CPU:$E044 PRG:6044 F0 0C + lda Zp4B ; CPU:$E046 PRG:6046 A5 4B + asl a ; CPU:$E048 PRG:6048 0A + asl a ; CPU:$E049 PRG:6049 0A + asl a ; CPU:$E04A PRG:604A 0A + asl a ; CPU:$E04B PRG:604B 0A + ora $0477 ; CPU:$E04C PRG:604C 0D 77 04 + jmp Sub_E057 ; CPU:$E04F PRG:604F 4C 57 E0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop267 +; Global: Branch target inside IrqHandler: taken when Loop267. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop267: + ldx Zp4B ; CPU:$E052 PRG:6052 A6 4B + lda $DFE5,x ; CPU:$E054 PRG:6054 BD E5 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_E057 +; Global: Branch target inside Sub: taken when E057. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E057: + sta $047F ; CPU:$E057 PRG:6057 8D 7F 04 + lda VramWritePtrHi ; CPU:$E05A PRG:605A A5 01 + lsr a ; CPU:$E05C PRG:605C 4A + lsr a ; CPU:$E05D PRG:605D 4A + tay ; CPU:$E05E PRG:605E A8 + lda $E529,y ; CPU:$E05F PRG:605F B9 29 E5 + sta ZpA9 ; CPU:$E062 PRG:6062 85 A9 + sta $047B ; CPU:$E064 PRG:6064 8D 7B 04 + lda VramWritePtrHi ; CPU:$E067 PRG:6067 A5 01 + and #$03 ; CPU:$E069 PRG:6069 29 03 + eor #$03 ; CPU:$E06B PRG:606B 49 03 + clc ; CPU:$E06D PRG:606D 18 + adc $E521,y ; CPU:$E06E PRG:606E 79 21 E5 + sta $047C ; CPU:$E071 PRG:6071 8D 7C 04 + lda #$FF ; CPU:$E074 PRG:6074 A9 FF + sta ZpAB ; CPU:$E076 PRG:6076 85 AB + lda VramWritePtrHi ; CPU:$E078 PRG:6078 A5 01 + asl a ; CPU:$E07A PRG:607A 0A + asl a ; CPU:$E07B PRG:607B 0A + and #$F0 ; CPU:$E07C PRG:607C 29 F0 + tay ; CPU:$E07E PRG:607E A8 + ldx #$00 ; CPU:$E07F PRG:607F A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear42 +; Global: Branch target inside IrqHandler: taken when OnCarryClear42. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear42: + lda $E551,y ; CPU:$E081 PRG:6081 B9 51 E5 + sta ZpDC,x ; CPU:$E084 PRG:6084 95 DC + iny ; CPU:$E086 PRG:6086 C8 + inx ; CPU:$E087 PRG:6087 E8 + cpx #$10 ; CPU:$E088 PRG:6088 E0 10 + bcc IrqHandler_OnCarryClear42 ; CPU:$E08A PRG:608A 90 F5 + rts ; CPU:$E08C PRG:608C 60 +; ---- data $E08D-$E096 (10 bytes) ---- +; referenced by `lda $E08D,x` at $DFF3 (operand $E08D falls inside this region) + .byte $04, $01, $00, $00, $00, $00, $00, $00, $08, $00 ; CPU:$E08D PRG:608D 04 01 00 00 00 00 00 00 08 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E097 +; Global: Branch target inside Sub: taken when E097. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E097: + lda Zp3F ; CPU:$E097 PRG:6097 A5 3F + cmp #$07 ; CPU:$E099 PRG:6099 C9 07 + bcc IrqHandler_Loop268 ; CPU:$E09B PRG:609B 90 02 + lda #$07 ; CPU:$E09D PRG:609D A9 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop268 +; Global: Branch target inside IrqHandler: taken when Loop268. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop268: + sta VramWritePtrHi ; CPU:$E09F PRG:609F 85 01 + dec VramWritePtrHi ; CPU:$E0A1 PRG:60A1 C6 01 + beq IrqHandler_Loop269 ; CPU:$E0A3 PRG:60A3 F0 0F + bpl IrqHandler_OnNonzero17 ; CPU:$E0A5 PRG:60A5 10 01 + rts ; CPU:$E0A7 PRG:60A7 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero17 +; Global: Branch target inside IrqHandler: taken when OnNonzero17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero17: + lda VramWritePtrHi ; CPU:$E0A8 PRG:60A8 A5 01 + jsr Sub_E0B5 ; CPU:$E0AA PRG:60AA 20 B5 E0 + dec VramWritePtrHi ; CPU:$E0AD PRG:60AD C6 01 + bne IrqHandler_OnNonzero17 ; CPU:$E0AF PRG:60AF D0 F7 + jsr Sub_C3C3 ; CPU:$E0B1 PRG:60B1 20 C3 C3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop269 +; Global: Branch target inside IrqHandler: taken when Loop269. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop269: + rts ; CPU:$E0B4 PRG:60B4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0B5 +; Global: Branch target inside Sub: taken when E0B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0B5: + tay ; CPU:$E0B5 PRG:60B5 A8 + ldx GameMode ; CPU:$E0B6 PRG:60B6 A6 2E + lda #$3C ; CPU:$E0B8 PRG:60B8 A9 3C + sta ControllerState ; CPU:$E0BA PRG:60BA 85 02 + lda #$23 ; CPU:$E0BC PRG:60BC A9 23 + bit Zp3C ; CPU:$E0BE PRG:60BE 24 3C + bvc IrqHandler_Loop270 ; CPU:$E0C0 PRG:60C0 50 06 + lda #$5C ; CPU:$E0C2 PRG:60C2 A9 5C + sta ControllerState ; CPU:$E0C4 PRG:60C4 85 02 + lda #$27 ; CPU:$E0C6 PRG:60C6 A9 27 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop270 +; Global: Branch target inside IrqHandler: taken when Loop270. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop270: + sta $0300,x ; CPU:$E0C8 PRG:60C8 9D 00 03 + sta $0305,x ; CPU:$E0CB PRG:60CB 9D 05 03 + lda $E108,y ; CPU:$E0CE PRG:60CE B9 08 E1 + sta $0301,x ; CPU:$E0D1 PRG:60D1 9D 01 03 + clc ; CPU:$E0D4 PRG:60D4 18 + adc #$20 ; CPU:$E0D5 PRG:60D5 69 20 + sta $0306,x ; CPU:$E0D7 PRG:60D7 9D 06 03 + lda #$02 ; CPU:$E0DA PRG:60DA A9 02 + sta $0302,x ; CPU:$E0DC PRG:60DC 9D 02 03 + sta $0307,x ; CPU:$E0DF PRG:60DF 9D 07 03 + lda ControllerState ; CPU:$E0E2 PRG:60E2 A5 02 + sta $0303,x ; CPU:$E0E4 PRG:60E4 9D 03 03 + inc ControllerState ; CPU:$E0E7 PRG:60E7 E6 02 + lda ControllerState ; CPU:$E0E9 PRG:60E9 A5 02 + sta $0304,x ; CPU:$E0EB PRG:60EB 9D 04 03 + inc ControllerState ; CPU:$E0EE PRG:60EE E6 02 + lda ControllerState ; CPU:$E0F0 PRG:60F0 A5 02 + sta $0308,x ; CPU:$E0F2 PRG:60F2 9D 08 03 + inc ControllerState ; CPU:$E0F5 PRG:60F5 E6 02 + lda ControllerState ; CPU:$E0F7 PRG:60F7 A5 02 + sta $0309,x ; CPU:$E0F9 PRG:60F9 9D 09 03 + lda #$00 ; CPU:$E0FC PRG:60FC A9 00 + sta $030A,x ; CPU:$E0FE PRG:60FE 9D 0A 03 + txa ; CPU:$E101 PRG:6101 8A + clc ; CPU:$E102 PRG:6102 18 + adc #$0A ; CPU:$E103 PRG:6103 69 0A + sta GameMode ; CPU:$E105 PRG:6105 85 2E + rts ; CPU:$E107 PRG:6107 60 +; ---- data $E108-$E117 (16 bytes) ---- +; referenced by `lda $E108,y` at $E0CE (operand $E108 falls inside this region) +; referenced by `lda $E10F,y` at $E45B (operand $E10F falls inside this region) + .byte $00, $18, $1A, $1C, $58, $5A, $5C, $58, $5A, $5C, $98, $9A, $9C, $D8, $DA, $DC ; CPU:$E108 PRG:6108 00 18 1A 1C 58 5A 5C 58 5A 5C 98 9A 9C D8 DA DC +; ----------------------------------------------------------------------------- +; Routine: Sub_E118 +; Global: Branch target inside Sub: taken when E118. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E118: + jsr Sub_E12F ; CPU:$E118 PRG:6118 20 2F E1 + jsr Sub_E141 ; CPU:$E11B PRG:611B 20 41 E1 + bit Zp3C ; CPU:$E11E PRG:611E 24 3C + bpl IrqHandler_Loop271 ; CPU:$E120 PRG:6120 10 03 + jsr Sub_E162 ; CPU:$E122 PRG:6122 20 62 E1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop271 +; Global: Branch target inside IrqHandler: taken when Loop271. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop271: + jsr Sub_C3C3 ; CPU:$E125 PRG:6125 20 C3 C3 + rts ; CPU:$E128 PRG:6128 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E129 +; Global: Branch target inside Sub: taken when E129. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E129: + bit Zp3C ; CPU:$E129 PRG:6129 24 3C + bvc IrqHandler_Loop272 ; CPU:$E12B PRG:612B 50 18 + bvs IrqHandler_Loop274 ; CPU:$E12D PRG:612D 70 42 +; ----------------------------------------------------------------------------- +; Routine: Sub_E12F +; Global: Branch target inside Sub: taken when E12F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E12F: + lda #$00 ; CPU:$E12F PRG:612F A9 00 + sta VramReadPtrLo ; CPU:$E131 PRG:6131 85 08 + lda #$07 ; CPU:$E133 PRG:6133 A9 07 + sta VramReadPtrHi ; CPU:$E135 PRG:6135 85 09 + lda #$20 ; CPU:$E137 PRG:6137 A9 20 + sta VramWritePtrHi ; CPU:$E139 PRG:6139 85 01 + lda #$B6 ; CPU:$E13B PRG:613B A9 B6 + sta ControllerState ; CPU:$E13D PRG:613D 85 02 + bne IrqHandler_Loop275 ; CPU:$E13F PRG:613F D0 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_E141 +; Global: Branch target inside Sub: taken when E141. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E141: + bit Zp3C ; CPU:$E141 PRG:6141 24 3C + bvs IrqHandler_Loop273 ; CPU:$E143 PRG:6143 70 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop272 +; Global: Branch target inside IrqHandler: taken when Loop272. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop272: + lda #$40 ; CPU:$E145 PRG:6145 A9 40 + sta VramReadPtrLo ; CPU:$E147 PRG:6147 85 08 + lda #$00 ; CPU:$E149 PRG:6149 A9 00 + sta VramReadPtrHi ; CPU:$E14B PRG:614B 85 09 + jmp Sub_E158 ; CPU:$E14D PRG:614D 4C 58 E1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop273 +; Global: Branch target inside IrqHandler: taken when Loop273. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop273: + lda #$50 ; CPU:$E150 PRG:6150 A9 50 + sta VramReadPtrLo ; CPU:$E152 PRG:6152 85 08 + lda #$00 ; CPU:$E154 PRG:6154 A9 00 + sta VramReadPtrHi ; CPU:$E156 PRG:6156 85 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_E158 +; Global: Branch target inside Sub: taken when E158. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E158: + lda #$21 ; CPU:$E158 PRG:6158 A9 21 + sta VramWritePtrHi ; CPU:$E15A PRG:615A 85 01 + lda #$36 ; CPU:$E15C PRG:615C A9 36 + sta ControllerState ; CPU:$E15E PRG:615E 85 02 + bne IrqHandler_Loop275 ; CPU:$E160 PRG:6160 D0 1F +; ----------------------------------------------------------------------------- +; Routine: Sub_E162 +; Global: Branch target inside Sub: taken when E162. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E162: + bit Zp3C ; CPU:$E162 PRG:6162 24 3C + bvs IrqHandler_Loop274 ; CPU:$E164 PRG:6164 70 0B + lda #$50 ; CPU:$E166 PRG:6166 A9 50 + sta VramReadPtrLo ; CPU:$E168 PRG:6168 85 08 + lda #$00 ; CPU:$E16A PRG:616A A9 00 + sta VramReadPtrHi ; CPU:$E16C PRG:616C 85 09 + jmp Sub_E179 ; CPU:$E16E PRG:616E 4C 79 E1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop274 +; Global: Branch target inside IrqHandler: taken when Loop274. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop274: + lda #$40 ; CPU:$E171 PRG:6171 A9 40 + sta VramReadPtrLo ; CPU:$E173 PRG:6173 85 08 + lda #$00 ; CPU:$E175 PRG:6175 A9 00 + sta VramReadPtrHi ; CPU:$E177 PRG:6177 85 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_E179 +; Global: Branch target inside Sub: taken when E179. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E179: + lda #$21 ; CPU:$E179 PRG:6179 A9 21 + sta VramWritePtrHi ; CPU:$E17B PRG:617B 85 01 + lda #$B6 ; CPU:$E17D PRG:617D A9 B6 + sta ControllerState ; CPU:$E17F PRG:617F 85 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop275 +; Global: Branch target inside IrqHandler: taken when Loop275. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop275: + ldx GameMode ; CPU:$E181 PRG:6181 A6 2E + lda VramWritePtrHi ; CPU:$E183 PRG:6183 A5 01 + bit Zp3C ; CPU:$E185 PRG:6185 24 3C + bvc IrqHandler_Loop276 ; CPU:$E187 PRG:6187 50 02 + ora #$04 ; CPU:$E189 PRG:6189 09 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop276 +; Global: Branch target inside IrqHandler: taken when Loop276. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop276: + sta $0300,x ; CPU:$E18B PRG:618B 9D 00 03 + inx ; CPU:$E18E PRG:618E E8 + lda ControllerState ; CPU:$E18F PRG:618F A5 02 + sta $0300,x ; CPU:$E191 PRG:6191 9D 00 03 + inx ; CPU:$E194 PRG:6194 E8 + lda #$07 ; CPU:$E195 PRG:6195 A9 07 + sta $0300,x ; CPU:$E197 PRG:6197 9D 00 03 + inx ; CPU:$E19A PRG:619A E8 + ldy #$00 ; CPU:$E19B PRG:619B A0 00 + lda (VramReadPtrLo),y ; CPU:$E19D PRG:619D B1 08 + bpl IrqHandler_OnNonzero18 ; CPU:$E19F PRG:619F 10 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear43 +; Global: Branch target inside IrqHandler: taken when OnCarryClear43. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear43: + lda #$39 ; CPU:$E1A1 PRG:61A1 A9 39 + sta $0300,x ; CPU:$E1A3 PRG:61A3 9D 00 03 + inx ; CPU:$E1A6 PRG:61A6 E8 + iny ; CPU:$E1A7 PRG:61A7 C8 + cpy #$07 ; CPU:$E1A8 PRG:61A8 C0 07 + bcc IrqHandler_OnCarryClear43 ; CPU:$E1AA PRG:61AA 90 F5 + jmp Sub_E1D3 ; CPU:$E1AC PRG:61AC 4C D3 E1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero18 +; Global: Branch target inside IrqHandler: taken when OnNonzero18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero18: + lda (VramReadPtrLo),y ; CPU:$E1AF PRG:61AF B1 08 + bne IrqHandler_OnCarryClear44 ; CPU:$E1B1 PRG:61B1 D0 0D + lda #$2D ; CPU:$E1B3 PRG:61B3 A9 2D + sta $0300,x ; CPU:$E1B5 PRG:61B5 9D 00 03 + inx ; CPU:$E1B8 PRG:61B8 E8 + iny ; CPU:$E1B9 PRG:61B9 C8 + cpy #$06 ; CPU:$E1BA PRG:61BA C0 06 + bne IrqHandler_OnNonzero18 ; CPU:$E1BC PRG:61BC D0 F1 + beq IrqHandler_Loop277 ; CPU:$E1BE PRG:61BE F0 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear44 +; Global: Branch target inside IrqHandler: taken when OnCarryClear44. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear44: + lda (VramReadPtrLo),y ; CPU:$E1C0 PRG:61C0 B1 08 + ora #$30 ; CPU:$E1C2 PRG:61C2 09 30 + sta $0300,x ; CPU:$E1C4 PRG:61C4 9D 00 03 + inx ; CPU:$E1C7 PRG:61C7 E8 + iny ; CPU:$E1C8 PRG:61C8 C8 + cpy #$06 ; CPU:$E1C9 PRG:61C9 C0 06 + bcc IrqHandler_OnCarryClear44 ; CPU:$E1CB PRG:61CB 90 F3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop277 +; Global: Branch target inside IrqHandler: taken when Loop277. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop277: + lda #$30 ; CPU:$E1CD PRG:61CD A9 30 + sta $0300,x ; CPU:$E1CF PRG:61CF 9D 00 03 + inx ; CPU:$E1D2 PRG:61D2 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_E1D3 +; Global: Branch target inside Sub: taken when E1D3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1D3: + lda #$00 ; CPU:$E1D3 PRG:61D3 A9 00 + sta $0300,x ; CPU:$E1D5 PRG:61D5 9D 00 03 + stx GameMode ; CPU:$E1D8 PRG:61D8 86 2E + rts ; CPU:$E1DA PRG:61DA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E1DB +; Global: Branch target inside Sub: taken when E1DB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1DB: + lda #$11 ; CPU:$E1DB PRG:61DB A9 11 + bit Zp3C ; CPU:$E1DD PRG:61DD 24 3C + bpl IrqHandler_Loop278 ; CPU:$E1DF PRG:61DF 10 02 + lda #$17 ; CPU:$E1E1 PRG:61E1 A9 17 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop278 +; Global: Branch target inside IrqHandler: taken when Loop278. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop278: + sta VramWritePtrHi ; CPU:$E1E3 PRG:61E3 85 01 + ldx #$00 ; CPU:$E1E5 PRG:61E5 A2 00 + ldy #$00 ; CPU:$E1E7 PRG:61E7 A0 00 + lda #$20 ; CPU:$E1E9 PRG:61E9 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_E1EB +; Global: Branch target inside Sub: taken when E1EB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1EB: + sta ControllerState ; CPU:$E1EB PRG:61EB 85 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear45 +; Global: Branch target inside IrqHandler: taken when OnCarryClear45. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear45: + lda $E21B,y ; CPU:$E1ED PRG:61ED B9 1B E2 + cmp #$02 ; CPU:$E1F0 PRG:61F0 C9 02 + bcs IrqHandler_Loop279 ; CPU:$E1F2 PRG:61F2 B0 02 + ora ControllerState ; CPU:$E1F4 PRG:61F4 05 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop279 +; Global: Branch target inside IrqHandler: taken when Loop279. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop279: + sta $0300,x ; CPU:$E1F6 PRG:61F6 9D 00 03 + inx ; CPU:$E1F9 PRG:61F9 E8 + iny ; CPU:$E1FA PRG:61FA C8 + cpy VramWritePtrHi ; CPU:$E1FB PRG:61FB C4 01 + bcc IrqHandler_OnCarryClear45 ; CPU:$E1FD PRG:61FD 90 EE + bit Zp3C ; CPU:$E1FF PRG:61FF 24 3C + bpl IrqHandler_Loop280 ; CPU:$E201 PRG:6201 10 06 + lda ControllerState ; CPU:$E203 PRG:6203 A5 02 + cmp #$24 ; CPU:$E205 PRG:6205 C9 24 + bcc IrqHandler_Loop281 ; CPU:$E207 PRG:6207 90 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop280 +; Global: Branch target inside IrqHandler: taken when Loop280. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop280: + lda #$00 ; CPU:$E209 PRG:6209 A9 00 + sta $0300,x ; CPU:$E20B PRG:620B 9D 00 03 + stx GameMode ; CPU:$E20E PRG:620E 86 2E + jsr Sub_C3C3 ; CPU:$E210 PRG:6210 20 C3 C3 + rts ; CPU:$E213 PRG:6213 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop281 +; Global: Branch target inside IrqHandler: taken when Loop281. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop281: + ora #$04 ; CPU:$E214 PRG:6214 09 04 + ldy #$00 ; CPU:$E216 PRG:6216 A0 00 + jmp Sub_E1EB ; CPU:$E218 PRG:6218 4C EB E1 +; ---- data $E21B-$E231 (23 bytes) ---- +; referenced by `lda $E21B,y` at $E1ED (operand $E21B falls inside this region) + .byte $00, $76, $08, $48, $49, $3A, $53, $43, $4F, $52, $45, $00, $F7, $03, $31, $55 ; CPU:$E21B PRG:621B 00 76 08 48 49 3A 53 43 4F 52 45 00 F7 03 31 55 + .byte $50, $01, $77, $03, $32, $55, $50 ; CPU:$E22B PRG:622B 50 01 77 03 32 55 50 +; ----------------------------------------------------------------------------- +; Routine: Sub_E232 +; Global: Branch target inside Sub: taken when E232. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E232: + lda #$00 ; CPU:$E232 PRG:6232 A9 00 + sta Zp4A ; CPU:$E234 PRG:6234 85 4A + lda #$20 ; CPU:$E236 PRG:6236 A9 20 + ldx #$00 ; CPU:$E238 PRG:6238 A2 00 + bit Zp3C ; CPU:$E23A PRG:623A 24 3C + bvc IrqHandler_Loop282 ; CPU:$E23C PRG:623C 50 04 + ora #$04 ; CPU:$E23E PRG:623E 09 04 + ldx #$08 ; CPU:$E240 PRG:6240 A2 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop282 +; Global: Branch target inside IrqHandler: taken when Loop282. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop282: + sta VramWritePtrHi ; CPU:$E242 PRG:6242 85 01 + stx ZpA3 ; CPU:$E244 PRG:6244 86 A3 + lda Zp84 ; CPU:$E246 PRG:6246 A5 84 + asl a ; CPU:$E248 PRG:6248 0A + tay ; CPU:$E249 PRG:6249 A8 + lda #$48 ; CPU:$E24A PRG:624A A9 48 + sta VramReadPtrLo ; CPU:$E24C PRG:624C 85 08 + lda #$89 ; CPU:$E24E PRG:624E A9 89 + sta VramReadPtrHi ; CPU:$E250 PRG:6250 85 09 + lda (VramReadPtrLo),y ; CPU:$E252 PRG:6252 B1 08 + sta DispatchPtrLo ; CPU:$E254 PRG:6254 85 0A + iny ; CPU:$E256 PRG:6256 C8 + lda (VramReadPtrLo),y ; CPU:$E257 PRG:6257 B1 08 + sta DispatchPtrHi ; CPU:$E259 PRG:6259 85 0B + ldy #$00 ; CPU:$E25B PRG:625B A0 00 + sty SpriteY ; CPU:$E25D PRG:625D 84 16 + sty Zp17 ; CPU:$E25F PRG:625F 84 17 + sty ControllerState ; CPU:$E261 PRG:6261 84 02 + sty Zp04 ; CPU:$E263 PRG:6263 84 04 + sty Zp48 ; CPU:$E265 PRG:6265 84 48 + sty Zp49 ; CPU:$E267 PRG:6267 84 49 +; ----------------------------------------------------------------------------- +; Routine: Sub_E269 +; Global: Branch target inside Sub: taken when E269. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E269: + lda VramWritePtrHi ; CPU:$E269 PRG:6269 A5 01 + sta $0300 ; CPU:$E26B PRG:626B 8D 00 03 + lda SpriteY ; CPU:$E26E PRG:626E A5 16 + sta $0301 ; CPU:$E270 PRG:6270 8D 01 03 + lda #$16 ; CPU:$E273 PRG:6273 A9 16 + bit Zp36 ; CPU:$E275 PRG:6275 24 36 + bvs IrqHandler_Loop283 ; CPU:$E277 PRG:6277 70 02 + lda #$20 ; CPU:$E279 PRG:6279 A9 20 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop283 +; Global: Branch target inside IrqHandler: taken when Loop283. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop283: + sta $0302 ; CPU:$E27B PRG:627B 8D 02 03 + clc ; CPU:$E27E PRG:627E 18 + adc #$03 ; CPU:$E27F PRG:627F 69 03 + sta SpriteX ; CPU:$E281 PRG:6281 85 05 + ldx #$03 ; CPU:$E283 PRG:6283 A2 03 + cpy #$1D ; CPU:$E285 PRG:6285 C0 1D + beq IrqHandler_OnCarryClear46 ; CPU:$E287 PRG:6287 F0 04 + cpy #$02 ; CPU:$E289 PRG:6289 C0 02 + bcs IrqHandler_Loop284 ; CPU:$E28B PRG:628B B0 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear46 +; Global: Branch target inside IrqHandler: taken when OnCarryClear46. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear46: + lda #$2D ; CPU:$E28D PRG:628D A9 2D + sta $0300,x ; CPU:$E28F PRG:628F 9D 00 03 + inx ; CPU:$E292 PRG:6292 E8 + cpx SpriteX ; CPU:$E293 PRG:6293 E4 05 + bcc IrqHandler_OnCarryClear46 ; CPU:$E295 PRG:6295 90 F6 + jmp Sub_E2F4 ; CPU:$E297 PRG:6297 4C F4 E2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop284 +; Global: Branch target inside IrqHandler: taken when Loop284. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop284: + ldy ControllerState ; CPU:$E29A PRG:629A A4 02 + bit Zp36 ; CPU:$E29C PRG:629C 24 36 + bvc IrqHandler_OnCarryClear48 ; CPU:$E29E PRG:629E 50 2C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear47 +; Global: Branch target inside IrqHandler: taken when OnCarryClear47. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear47: + lda #$00 ; CPU:$E2A0 PRG:62A0 A9 00 + sta Zp03 ; CPU:$E2A2 PRG:62A2 85 03 + lda (DispatchPtrLo),y ; CPU:$E2A4 PRG:62A4 B1 0A + asl a ; CPU:$E2A6 PRG:62A6 0A + rol Zp03 ; CPU:$E2A7 PRG:62A7 26 03 + asl a ; CPU:$E2A9 PRG:62A9 0A + rol Zp03 ; CPU:$E2AA PRG:62AA 26 03 + lsr a ; CPU:$E2AC PRG:62AC 4A + lsr a ; CPU:$E2AD PRG:62AD 4A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative5 +; Global: Branch target inside IrqHandler: taken when OnNonnegative5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative5: + sta $0300,x ; CPU:$E2AE PRG:62AE 9D 00 03 + inx ; CPU:$E2B1 PRG:62B1 E8 + cmp #$01 ; CPU:$E2B2 PRG:62B2 C9 01 + beq IrqHandler_Loop285 ; CPU:$E2B4 PRG:62B4 F0 04 + cmp #$03 ; CPU:$E2B6 PRG:62B6 C9 03 + bne IrqHandler_Loop286 ; CPU:$E2B8 PRG:62B8 D0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop285 +; Global: Branch target inside IrqHandler: taken when Loop285. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop285: + inc Zp04 ; CPU:$E2BA PRG:62BA E6 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop286 +; Global: Branch target inside IrqHandler: taken when Loop286. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop286: + dec Zp03 ; CPU:$E2BC PRG:62BC C6 03 + bpl IrqHandler_OnNonnegative5 ; CPU:$E2BE PRG:62BE 10 EE + iny ; CPU:$E2C0 PRG:62C0 C8 + bne IrqHandler_Loop287 ; CPU:$E2C1 PRG:62C1 D0 02 + inc DispatchPtrHi ; CPU:$E2C3 PRG:62C3 E6 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop287 +; Global: Branch target inside IrqHandler: taken when Loop287. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop287: + cpx SpriteX ; CPU:$E2C5 PRG:62C5 E4 05 + bcc IrqHandler_OnCarryClear47 ; CPU:$E2C7 PRG:62C7 90 D7 + jmp Sub_E2F2 ; CPU:$E2C9 PRG:62C9 4C F2 E2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear48 +; Global: Branch target inside IrqHandler: taken when OnCarryClear48. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear48: + lda #$00 ; CPU:$E2CC PRG:62CC A9 00 + sta Zp03 ; CPU:$E2CE PRG:62CE 85 03 + lda (DispatchPtrLo),y ; CPU:$E2D0 PRG:62D0 B1 0A + cmp #$10 ; CPU:$E2D2 PRG:62D2 C9 10 + bcs IrqHandler_OnNonnegative6 ; CPU:$E2D4 PRG:62D4 B0 0B + iny ; CPU:$E2D6 PRG:62D6 C8 + bne IrqHandler_Loop288 ; CPU:$E2D7 PRG:62D7 D0 02 + inc DispatchPtrHi ; CPU:$E2D9 PRG:62D9 E6 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop288 +; Global: Branch target inside IrqHandler: taken when Loop288. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop288: + sta Zp03 ; CPU:$E2DB PRG:62DB 85 03 + lda (DispatchPtrLo),y ; CPU:$E2DD PRG:62DD B1 0A + dec Zp03 ; CPU:$E2DF PRG:62DF C6 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative6 +; Global: Branch target inside IrqHandler: taken when OnNonnegative6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative6: + sta $0300,x ; CPU:$E2E1 PRG:62E1 9D 00 03 + inx ; CPU:$E2E4 PRG:62E4 E8 + dec Zp03 ; CPU:$E2E5 PRG:62E5 C6 03 + bpl IrqHandler_OnNonnegative6 ; CPU:$E2E7 PRG:62E7 10 F8 + iny ; CPU:$E2E9 PRG:62E9 C8 + bne IrqHandler_Loop289 ; CPU:$E2EA PRG:62EA D0 02 + inc DispatchPtrHi ; CPU:$E2EC PRG:62EC E6 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop289 +; Global: Branch target inside IrqHandler: taken when Loop289. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop289: + cpx SpriteX ; CPU:$E2EE PRG:62EE E4 05 + bcc IrqHandler_OnCarryClear48 ; CPU:$E2F0 PRG:62F0 90 DA +; ----------------------------------------------------------------------------- +; Routine: Sub_E2F2 +; Global: Branch target inside Sub: taken when E2F2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E2F2: + sty ControllerState ; CPU:$E2F2 PRG:62F2 84 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_E2F4 +; Global: Branch target inside Sub: taken when E2F4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E2F4: + ldx SpriteX ; CPU:$E2F4 PRG:62F4 A6 05 + lda #$00 ; CPU:$E2F6 PRG:62F6 A9 00 + sta $0300,x ; CPU:$E2F8 PRG:62F8 9D 00 03 + stx GameMode ; CPU:$E2FB PRG:62FB 86 2E + lda $0304 ; CPU:$E2FD PRG:62FD AD 04 03 + cmp #$06 ; CPU:$E300 PRG:6300 C9 06 + bne IrqHandler_Loop291 ; CPU:$E302 PRG:6302 D0 0D + ldx Zp17 ; CPU:$E304 PRG:6304 A6 17 + lda Zp48 ; CPU:$E306 PRG:6306 A5 48 + bne IrqHandler_Loop290 ; CPU:$E308 PRG:6308 D0 05 + stx Zp48 ; CPU:$E30A PRG:630A 86 48 + jmp IrqHandler_Loop291 ; CPU:$E30C PRG:630C 4C 11 E3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop290 +; Global: Branch target inside IrqHandler: taken when Loop290. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop290: + stx Zp49 ; CPU:$E30F PRG:630F 86 49 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop291 +; Global: Branch target inside IrqHandler: taken when Loop291. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop291: + ldx #$04 ; CPU:$E311 PRG:6311 A2 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear49 +; Global: Branch target inside IrqHandler: taken when OnCarryClear49. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear49: + lda $0300,x ; CPU:$E313 PRG:6313 BD 00 03 + cmp #$01 ; CPU:$E316 PRG:6316 C9 01 + bne IrqHandler_Loop292 ; CPU:$E318 PRG:6318 D0 17 + txa ; CPU:$E31A PRG:631A 8A + sec ; CPU:$E31B PRG:631B 38 + sbc #$03 ; CPU:$E31C PRG:631C E9 03 + clc ; CPU:$E31E PRG:631E 18 + adc $0301 ; CPU:$E31F PRG:631F 6D 01 03 + ldy ZpA3 ; CPU:$E322 PRG:6322 A4 A3 + sta $04E1,y ; CPU:$E324 PRG:6324 99 E1 04 + lda $0300 ; CPU:$E327 PRG:6327 AD 00 03 + sta $04E0,y ; CPU:$E32A PRG:632A 99 E0 04 + iny ; CPU:$E32D PRG:632D C8 + iny ; CPU:$E32E PRG:632E C8 + sty ZpA3 ; CPU:$E32F PRG:632F 84 A3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop292 +; Global: Branch target inside IrqHandler: taken when Loop292. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop292: + inx ; CPU:$E331 PRG:6331 E8 + cpx SpriteX ; CPU:$E332 PRG:6332 E4 05 + bcc IrqHandler_OnCarryClear49 ; CPU:$E334 PRG:6334 90 DD + jsr Sub_C3C3 ; CPU:$E336 PRG:6336 20 C3 C3 + lda SpriteY ; CPU:$E339 PRG:6339 A5 16 + clc ; CPU:$E33B PRG:633B 18 + adc #$20 ; CPU:$E33C PRG:633C 69 20 + sta SpriteY ; CPU:$E33E PRG:633E 85 16 + lda #$00 ; CPU:$E340 PRG:6340 A9 00 + adc VramWritePtrHi ; CPU:$E342 PRG:6342 65 01 + sta VramWritePtrHi ; CPU:$E344 PRG:6344 85 01 + inc Zp17 ; CPU:$E346 PRG:6346 E6 17 + ldy Zp17 ; CPU:$E348 PRG:6348 A4 17 + cpy #$1E ; CPU:$E34A PRG:634A C0 1E + bcs IrqHandler_Loop293 ; CPU:$E34C PRG:634C B0 03 + jmp Sub_E269 ; CPU:$E34E PRG:634E 4C 69 E2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop293 +; Global: Branch target inside IrqHandler: taken when Loop293. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop293: + lda Zp04 ; CPU:$E351 PRG:6351 A5 04 + sta Zp3D ; CPU:$E353 PRG:6353 85 3D + sta Zp46 ; CPU:$E355 PRG:6355 85 46 + lda Zp48 ; CPU:$E357 PRG:6357 A5 48 + asl a ; CPU:$E359 PRG:6359 0A + asl a ; CPU:$E35A PRG:635A 0A + asl a ; CPU:$E35B PRG:635B 0A + sta Zp48 ; CPU:$E35C PRG:635C 85 48 + tax ; CPU:$E35E PRG:635E AA + lda Zp49 ; CPU:$E35F PRG:635F A5 49 + bne IrqHandler_Loop294 ; CPU:$E361 PRG:6361 D0 04 + txa ; CPU:$E363 PRG:6363 8A + jmp Sub_E36A ; CPU:$E364 PRG:6364 4C 6A E3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop294 +; Global: Branch target inside IrqHandler: taken when Loop294. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop294: + asl a ; CPU:$E367 PRG:6367 0A + asl a ; CPU:$E368 PRG:6368 0A + asl a ; CPU:$E369 PRG:6369 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_E36A +; Global: Branch target inside Sub: taken when E36A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E36A: + sta Zp49 ; CPU:$E36A PRG:636A 85 49 + rts ; CPU:$E36C PRG:636C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E36D +; Global: Branch target inside Sub: taken when E36D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E36D: + ldx #$00 ; CPU:$E36D PRG:636D A2 00 + ldy #$00 ; CPU:$E36F PRG:636F A0 00 + lda Zp3E ; CPU:$E371 PRG:6371 A5 3E + cmp #$0A ; CPU:$E373 PRG:6373 C9 0A + bcc IrqHandler_OnCarryClear50 ; CPU:$E375 PRG:6375 90 0C + cmp #$0E ; CPU:$E377 PRG:6377 C9 0E + bcc IrqHandler_Loop295 ; CPU:$E379 PRG:6379 90 02 + lda #$0E ; CPU:$E37B PRG:637B A9 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop295 +; Global: Branch target inside IrqHandler: taken when Loop295. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop295: + sec ; CPU:$E37D PRG:637D 38 + sbc #$09 ; CPU:$E37E PRG:637E E9 09 + asl a ; CPU:$E380 PRG:6380 0A + asl a ; CPU:$E381 PRG:6381 0A + tay ; CPU:$E382 PRG:6382 A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear50 +; Global: Branch target inside IrqHandler: taken when OnCarryClear50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear50: + lda $E3FD,y ; CPU:$E383 PRG:6383 B9 FD E3 + sta VramWritePtrLo,x ; CPU:$E386 PRG:6386 95 00 + iny ; CPU:$E388 PRG:6388 C8 + inx ; CPU:$E389 PRG:6389 E8 + cpx #$04 ; CPU:$E38A PRG:638A E0 04 + bcc IrqHandler_OnCarryClear50 ; CPU:$E38C PRG:638C 90 F5 + bit Zp3C ; CPU:$E38E PRG:638E 24 3C + bvs IrqHandler_Loop296 ; CPU:$E390 PRG:6390 70 08 + lda #$23 ; CPU:$E392 PRG:6392 A9 23 + sta PPUADDR ; CPU:$E394 PRG:6394 8D 06 20 + jmp Sub_E39F ; CPU:$E397 PRG:6397 4C 9F E3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop296 +; Global: Branch target inside IrqHandler: taken when Loop296. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop296: + lda #$27 ; CPU:$E39A PRG:639A A9 27 + sta PPUADDR ; CPU:$E39C PRG:639C 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_E39F +; Global: Branch target inside Sub: taken when E39F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E39F: + lda #$C0 ; CPU:$E39F PRG:639F A9 C0 + sta PPUADDR ; CPU:$E3A1 PRG:63A1 8D 06 20 + ldy #$00 ; CPU:$E3A4 PRG:63A4 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear51 +; Global: Branch target inside IrqHandler: taken when OnCarryClear51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear51: + lda #$00 ; CPU:$E3A6 PRG:63A6 A9 00 + sta PPUDATA ; CPU:$E3A8 PRG:63A8 8D 07 20 + sta PPUDATA ; CPU:$E3AB PRG:63AB 8D 07 20 + sta PPUDATA ; CPU:$E3AE PRG:63AE 8D 07 20 + sta PPUDATA ; CPU:$E3B1 PRG:63B1 8D 07 20 + sta PPUDATA ; CPU:$E3B4 PRG:63B4 8D 07 20 + lda $E3E5,y ; CPU:$E3B7 PRG:63B7 B9 E5 E3 + sta PPUDATA ; CPU:$E3BA PRG:63BA 8D 07 20 + iny ; CPU:$E3BD PRG:63BD C8 + lda $E3E5,y ; CPU:$E3BE PRG:63BE B9 E5 E3 + iny ; CPU:$E3C1 PRG:63C1 C8 + cmp #$F0 ; CPU:$E3C2 PRG:63C2 C9 F0 + bcc IrqHandler_Loop297 ; CPU:$E3C4 PRG:63C4 90 06 + sec ; CPU:$E3C6 PRG:63C6 38 + sbc #$F0 ; CPU:$E3C7 PRG:63C7 E9 F0 + tax ; CPU:$E3C9 PRG:63C9 AA + lda VramWritePtrLo,x ; CPU:$E3CA PRG:63CA B5 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop297 +; Global: Branch target inside IrqHandler: taken when Loop297. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop297: + sta PPUDATA ; CPU:$E3CC PRG:63CC 8D 07 20 + lda $E3E5,y ; CPU:$E3CF PRG:63CF B9 E5 E3 + iny ; CPU:$E3D2 PRG:63D2 C8 + cmp #$F0 ; CPU:$E3D3 PRG:63D3 C9 F0 + bcc IrqHandler_Loop298 ; CPU:$E3D5 PRG:63D5 90 06 + sec ; CPU:$E3D7 PRG:63D7 38 + sbc #$F0 ; CPU:$E3D8 PRG:63D8 E9 F0 + tax ; CPU:$E3DA PRG:63DA AA + lda VramWritePtrLo,x ; CPU:$E3DB PRG:63DB B5 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop298 +; Global: Branch target inside IrqHandler: taken when Loop298. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop298: + sta PPUDATA ; CPU:$E3DD PRG:63DD 8D 07 20 + cpy #$18 ; CPU:$E3E0 PRG:63E0 C0 18 + bcc IrqHandler_OnCarryClear51 ; CPU:$E3E2 PRG:63E2 90 C2 + rts ; CPU:$E3E4 PRG:63E4 60 +; ---- data $E3E5-$E414 (48 bytes) ---- +; referenced by `lda $E3FD,y` at $E383 (operand $E3FD falls inside this region) +; referenced by `lda $E3E5,y` at $E3B7 (operand $E3E5 falls inside this region) +; referenced by `lda $E3E5,y` at $E3BE (operand $E3E5 falls inside this region) +; referenced by `lda $E3E5,y` at $E3CF (operand $E3E5 falls inside this region) + .byte $04, $05, $05, $04, $05, $05, $04, $05, $05, $04, $55, $55, $00, $F0, $F1, $00 ; CPU:$E3E5 PRG:63E5 04 05 05 04 05 05 04 05 05 04 55 55 00 F0 F1 00 + .byte $F2, $F3, $00, $AA, $AA, $00, $00, $00, $F0, $20, $5E, $51, $B0, $20, $57, $51 ; CPU:$E3F5 PRG:63F5 F2 F3 00 AA AA 00 00 00 F0 20 5E 51 B0 20 57 51 + .byte $A0, $30, $55, $51, $E0, $10, $55, $51, $70, $10, $55, $51, $50, $10, $55, $51 ; CPU:$E405 PRG:6405 A0 30 55 51 E0 10 55 51 70 10 55 51 50 10 55 51 +; ----------------------------------------------------------------------------- +; Routine: Sub_E415 +; Global: Branch target inside Sub: taken when E415. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E415: + ldx #$60 ; CPU:$E415 PRG:6415 A2 60 + lda Zp3E ; CPU:$E417 PRG:6417 A5 3E + cmp #$0A ; CPU:$E419 PRG:6419 C9 0A + bcc IrqHandler_Loop300 ; CPU:$E41B PRG:641B 90 12 + cmp #$0F ; CPU:$E41D PRG:641D C9 0F + bcc IrqHandler_Loop299 ; CPU:$E41F PRG:641F 90 05 + ldx #$78 ; CPU:$E421 PRG:6421 A2 78 + jmp IrqHandler_Loop300 ; CPU:$E423 PRG:6423 4C 2F E4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop299 +; Global: Branch target inside IrqHandler: taken when Loop299. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop299: + sec ; CPU:$E426 PRG:6426 38 + sbc #$09 ; CPU:$E427 PRG:6427 E9 09 + asl a ; CPU:$E429 PRG:6429 0A + asl a ; CPU:$E42A PRG:642A 0A + clc ; CPU:$E42B PRG:642B 18 + adc #$60 ; CPU:$E42C PRG:642C 69 60 + tax ; CPU:$E42E PRG:642E AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop300 +; Global: Branch target inside IrqHandler: taken when Loop300. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop300: + stx ControllerState ; CPU:$E42F PRG:642F 86 02 + lda #$00 ; CPU:$E431 PRG:6431 A9 00 + sta VramWritePtrHi ; CPU:$E433 PRG:6433 85 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear52 +; Global: Branch target inside IrqHandler: taken when OnCarryClear52. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear52: + lda VramWritePtrHi ; CPU:$E435 PRG:6435 A5 01 + jsr Sub_E44A ; CPU:$E437 PRG:6437 20 4A E4 + inc VramWritePtrHi ; CPU:$E43A PRG:643A E6 01 + lda VramWritePtrHi ; CPU:$E43C PRG:643C A5 01 + cmp #$09 ; CPU:$E43E PRG:643E C9 09 + bcs IrqHandler_Loop301 ; CPU:$E440 PRG:6440 B0 04 + cmp Zp3E ; CPU:$E442 PRG:6442 C5 3E + bcc IrqHandler_OnCarryClear52 ; CPU:$E444 PRG:6444 90 EF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop301 +; Global: Branch target inside IrqHandler: taken when Loop301. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop301: + jsr Sub_C3C3 ; CPU:$E446 PRG:6446 20 C3 C3 + rts ; CPU:$E449 PRG:6449 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E44A +; Global: Branch target inside Sub: taken when E44A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E44A: + tay ; CPU:$E44A PRG:644A A8 + ldx GameMode ; CPU:$E44B PRG:644B A6 2E + lda #$22 ; CPU:$E44D PRG:644D A9 22 + bit Zp3C ; CPU:$E44F PRG:644F 24 3C + bvc IrqHandler_Loop302 ; CPU:$E451 PRG:6451 50 02 + ora #$04 ; CPU:$E453 PRG:6453 09 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop302 +; Global: Branch target inside IrqHandler: taken when Loop302. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop302: + sta $0300,x ; CPU:$E455 PRG:6455 9D 00 03 + sta $0305,x ; CPU:$E458 PRG:6458 9D 05 03 + lda $E10F,y ; CPU:$E45B PRG:645B B9 0F E1 + sta $0301,x ; CPU:$E45E PRG:645E 9D 01 03 + clc ; CPU:$E461 PRG:6461 18 + adc #$20 ; CPU:$E462 PRG:6462 69 20 + sta $0306,x ; CPU:$E464 PRG:6464 9D 06 03 + lda #$02 ; CPU:$E467 PRG:6467 A9 02 + sta $0302,x ; CPU:$E469 PRG:6469 9D 02 03 + sta $0307,x ; CPU:$E46C PRG:646C 9D 07 03 + lda ControllerState ; CPU:$E46F PRG:646F A5 02 + sta $0303,x ; CPU:$E471 PRG:6471 9D 03 03 + inc ControllerState ; CPU:$E474 PRG:6474 E6 02 + lda ControllerState ; CPU:$E476 PRG:6476 A5 02 + sta $0304,x ; CPU:$E478 PRG:6478 9D 04 03 + inc ControllerState ; CPU:$E47B PRG:647B E6 02 + lda ControllerState ; CPU:$E47D PRG:647D A5 02 + sta $0308,x ; CPU:$E47F PRG:647F 9D 08 03 + inc ControllerState ; CPU:$E482 PRG:6482 E6 02 + lda ControllerState ; CPU:$E484 PRG:6484 A5 02 + sta $0309,x ; CPU:$E486 PRG:6486 9D 09 03 + inc ControllerState ; CPU:$E489 PRG:6489 E6 02 + cmp #$7B ; CPU:$E48B PRG:648B C9 7B + bcc IrqHandler_Loop303 ; CPU:$E48D PRG:648D 90 04 + lda #$78 ; CPU:$E48F PRG:648F A9 78 + sta ControllerState ; CPU:$E491 PRG:6491 85 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop303 +; Global: Branch target inside IrqHandler: taken when Loop303. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop303: + lda #$00 ; CPU:$E493 PRG:6493 A9 00 + sta $030A,x ; CPU:$E495 PRG:6495 9D 0A 03 + txa ; CPU:$E498 PRG:6498 8A + clc ; CPU:$E499 PRG:6499 18 + adc #$0A ; CPU:$E49A PRG:649A 69 0A + sta GameMode ; CPU:$E49C PRG:649C 85 2E + rts ; CPU:$E49E PRG:649E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E49F +; Global: Branch target inside Sub: taken when E49F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E49F: + lda #$A0 ; CPU:$E49F PRG:649F A9 A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4A1 +; Global: Branch target inside Sub: taken when E4A1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4A1: + sta VramWritePtrHi ; CPU:$E4A1 PRG:64A1 85 01 + lda #$2D ; CPU:$E4A3 PRG:64A3 A9 2D + sta ControllerState ; CPU:$E4A5 PRG:64A5 85 02 + ldy #$16 ; CPU:$E4A7 PRG:64A7 A0 16 + sty Zp17 ; CPU:$E4A9 PRG:64A9 84 17 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear53 +; Global: Branch target inside IrqHandler: taken when OnCarryClear53. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear53: + lda VramWritePtrHi ; CPU:$E4AB PRG:64AB A5 01 + sta $0300 ; CPU:$E4AD PRG:64AD 8D 00 03 + sty $0301 ; CPU:$E4B0 PRG:64B0 8C 01 03 + lda #$1E ; CPU:$E4B3 PRG:64B3 A9 1E + sta $0302 ; CPU:$E4B5 PRG:64B5 8D 02 03 + lda ControllerState ; CPU:$E4B8 PRG:64B8 A5 02 + ldx #$03 ; CPU:$E4BA PRG:64BA A2 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear54 +; Global: Branch target inside IrqHandler: taken when OnCarryClear54. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear54: + sta $0300,x ; CPU:$E4BC PRG:64BC 9D 00 03 + inx ; CPU:$E4BF PRG:64BF E8 + cpx #$21 ; CPU:$E4C0 PRG:64C0 E0 21 + bcc IrqHandler_OnCarryClear54 ; CPU:$E4C2 PRG:64C2 90 F8 + lda #$00 ; CPU:$E4C4 PRG:64C4 A9 00 + sta $0300,x ; CPU:$E4C6 PRG:64C6 9D 00 03 + stx GameMode ; CPU:$E4C9 PRG:64C9 86 2E + jsr Sub_C3C3 ; CPU:$E4CB PRG:64CB 20 C3 C3 + ldy Zp17 ; CPU:$E4CE PRG:64CE A4 17 + iny ; CPU:$E4D0 PRG:64D0 C8 + sty Zp17 ; CPU:$E4D1 PRG:64D1 84 17 + cpy #$18 ; CPU:$E4D3 PRG:64D3 C0 18 + bcc IrqHandler_Loop304 ; CPU:$E4D5 PRG:64D5 90 04 + lda #$00 ; CPU:$E4D7 PRG:64D7 A9 00 + sta ControllerState ; CPU:$E4D9 PRG:64D9 85 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop304 +; Global: Branch target inside IrqHandler: taken when Loop304. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop304: + cpy #$20 ; CPU:$E4DB PRG:64DB C0 20 + bcc IrqHandler_OnCarryClear53 ; CPU:$E4DD PRG:64DD 90 CC + bit Zp3C ; CPU:$E4DF PRG:64DF 24 3C + bpl IrqHandler_Loop305 ; CPU:$E4E1 PRG:64E1 10 0B + lda VramWritePtrHi ; CPU:$E4E3 PRG:64E3 A5 01 + cmp #$A0 ; CPU:$E4E5 PRG:64E5 C9 A0 + bne IrqHandler_Loop305 ; CPU:$E4E7 PRG:64E7 D0 05 + ora #$04 ; CPU:$E4E9 PRG:64E9 09 04 + jmp Sub_E4A1 ; CPU:$E4EB PRG:64EB 4C A1 E4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop305 +; Global: Branch target inside IrqHandler: taken when Loop305. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop305: + rts ; CPU:$E4EE PRG:64EE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4EF +; Global: Branch target inside Sub: taken when E4EF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4EF: + lda Zp84 ; CPU:$E4EF PRG:64EF A5 84 + cmp #$10 ; CPU:$E4F1 PRG:64F1 C9 10 + bcc IrqHandler_Loop306 ; CPU:$E4F3 PRG:64F3 90 02 + lda #$10 ; CPU:$E4F5 PRG:64F5 A9 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop306 +; Global: Branch target inside IrqHandler: taken when Loop306. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop306: + asl a ; CPU:$E4F7 PRG:64F7 0A + tay ; CPU:$E4F8 PRG:64F8 A8 + lda #$A6 ; CPU:$E4F9 PRG:64F9 A9 A6 + sta VramReadPtrLo ; CPU:$E4FB PRG:64FB 85 08 + lda #$88 ; CPU:$E4FD PRG:64FD A9 88 + sta VramReadPtrHi ; CPU:$E4FF PRG:64FF 85 09 + lda (VramReadPtrLo),y ; CPU:$E501 PRG:6501 B1 08 + sta DispatchPtrLo ; CPU:$E503 PRG:6503 85 0A + iny ; CPU:$E505 PRG:6505 C8 + lda (VramReadPtrLo),y ; CPU:$E506 PRG:6506 B1 08 + sta DispatchPtrHi ; CPU:$E508 PRG:6508 85 0B + ldy #$1F ; CPU:$E50A PRG:650A A0 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative7 +; Global: Branch target inside IrqHandler: taken when OnNonnegative7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative7: + lda (DispatchPtrLo),y ; CPU:$E50C PRG:650C B1 0A + sta $0180,y ; CPU:$E50E PRG:650E 99 80 01 + dey ; CPU:$E511 PRG:6511 88 + bpl IrqHandler_OnNonnegative7 ; CPU:$E512 PRG:6512 10 F8 + lda $047F ; CPU:$E514 PRG:6514 AD 7F 04 + bmi IrqHandler_Loop307 ; CPU:$E517 PRG:6517 30 03 + sta $0182 ; CPU:$E519 PRG:6519 8D 82 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop307 +; Global: Branch target inside IrqHandler: taken when Loop307. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop307: + lda #$C0 ; CPU:$E51C PRG:651C A9 C0 + sta Zp39 ; CPU:$E51E PRG:651E 85 39 + rts ; CPU:$E520 PRG:6520 60 +; ---- data $E521-$E6FF (479 bytes) ---- +; referenced by `lda $E5D1,y` at $DF75 (operand $E5D1 falls inside this region) +; referenced by `lda $E5DD,y` at $DF80 (operand $E5DD falls inside this region) +; referenced by `lda $E5E9,y` at $E014 (operand $E5E9 falls inside this region) +; referenced by `lda $E5E9,y` at $E01B (operand $E5E9 falls inside this region) +; referenced by `lda $E609,y` at $E02F (operand $E609 falls inside this region) +; referenced by `lda $E531,x` at $E03C (operand $E531 falls inside this region) +; ... and 7 further references from decoded code + .byte $05, $04, $03, $02, $02, $01, $01, $00, $06, $04, $03, $02, $01, $01, $00, $00 ; CPU:$E521 PRG:6521 05 04 03 02 02 01 01 00 06 04 03 02 01 01 00 00 + .byte $0A, $06, $08, $01, $04, $0C, $03, $0F, $0B, $07, $09, $02, $05, $0A, $06, $08 ; CPU:$E531 PRG:6531 0A 06 08 01 04 0C 03 0F 0B 07 09 02 05 0A 06 08 + .byte $01, $04, $0C, $03, $0F, $0B, $07, $09, $02, $05, $0A, $06, $01, $08, $04, $0C ; CPU:$E541 PRG:6541 01 04 0C 03 0F 0B 07 09 02 05 0A 06 01 08 04 0C + .byte $B0, $00, $B0, $00, $A0, $00, $B0, $00, $B0, $00, $A0, $00, $50, $00, $50, $00 ; CPU:$E551 PRG:6551 B0 00 B0 00 A0 00 B0 00 B0 00 A0 00 50 00 50 00 + .byte $B0, $00, $C0, $00, $A0, $00, $B0, $00, $C0, $00, $A0, $00, $60, $00, $50, $00 ; CPU:$E561 PRG:6561 B0 00 C0 00 A0 00 B0 00 C0 00 A0 00 60 00 50 00 + .byte $C0, $00, $C0, $00, $B0, $00, $C0, $00, $C0, $00, $B0, $00, $60, $00, $50, $00 ; CPU:$E571 PRG:6571 C0 00 C0 00 B0 00 C0 00 C0 00 B0 00 60 00 50 00 + .byte $C0, $00, $D0, $00, $B0, $00, $C0, $00, $D0, $00, $B0, $00, $60, $00, $60, $00 ; CPU:$E581 PRG:6581 C0 00 D0 00 B0 00 C0 00 D0 00 B0 00 60 00 60 00 + .byte $D0, $00, $D0, $00, $C0, $00, $D0, $00, $D0, $00, $C0, $00, $60, $00, $60, $00 ; CPU:$E591 PRG:6591 D0 00 D0 00 C0 00 D0 00 D0 00 C0 00 60 00 60 00 + .byte $D0, $00, $E0, $00, $C0, $00, $D0, $00, $E0, $00, $C0, $00, $70, $00, $60, $00 ; CPU:$E5A1 PRG:65A1 D0 00 E0 00 C0 00 D0 00 E0 00 C0 00 70 00 60 00 + .byte $E0, $00, $E0, $00, $D0, $00, $E0, $00, $F0, $00, $D0, $00, $70, $00, $70, $00 ; CPU:$E5B1 PRG:65B1 E0 00 E0 00 D0 00 E0 00 F0 00 D0 00 70 00 70 00 + .byte $E0, $00, $F0, $00, $E0, $00, $F0, $00, $00, $01, $E0, $00, $70, $00, $70, $00 ; CPU:$E5C1 PRG:65C1 E0 00 F0 00 E0 00 F0 00 00 01 E0 00 70 00 70 00 + .byte $58, $B0, $50, $60, $50, $78, $58, $78, $60, $78, $60, $A0, $04, $00, $12, $00 ; CPU:$E5D1 PRG:65D1 58 B0 50 60 50 78 58 78 60 78 60 A0 04 00 12 00 + .byte $10, $01, $10, $02, $10, $03, $00, $00, $07, $10, $07, $12, $07, $14, $06, $FF ; CPU:$E5E1 PRG:65E1 10 01 10 02 10 03 00 00 07 10 07 12 07 14 06 FF + .byte $06, $12, $07, $14, $05, $14, $06, $FF, $05, $14, $06, $14, $03, $14, $06, $FF ; CPU:$E5F1 PRG:65F1 06 12 07 14 05 14 06 FF 05 14 06 14 03 14 06 FF + .byte $04, $14, $06, $14, $01, $14, $06, $FF, $00, $0C, $16, $FF, $00, $0A, $12, $FF ; CPU:$E601 PRG:6601 04 14 06 14 01 14 06 FF 00 0C 16 FF 00 0A 12 FF + .byte $00, $08, $0F, $FF, $00, $04, $0C, $FF, $00, $05, $09, $FF, $00, $02, $05, $FF ; CPU:$E611 PRG:6611 00 08 0F FF 00 04 0C FF 00 05 09 FF 00 02 05 FF + .byte $00, $01, $03, $FF, $00, $00, $00, $FF, $45, $E6, $56, $E6, $67, $E6, $00, $00 ; CPU:$E621 PRG:6621 00 01 03 FF 00 00 00 FF 45 E6 56 E6 67 E6 00 00 + .byte $70, $E6, $75, $E6, $7A, $E6, $7F, $E6, $84, $E6, $89, $E6, $8E, $E6, $93, $E6 ; CPU:$E631 PRG:6631 70 E6 75 E6 7A E6 7F E6 84 E6 89 E6 8E E6 93 E6 + .byte $98, $E6, $9D, $E6, $01, $21, $0E, $00, $01, $21, $8B, $01, $01, $21, $EB, $02 ; CPU:$E641 PRG:6641 98 E6 9D E6 01 21 0E 00 01 21 8B 01 01 21 EB 02 + .byte $01, $22, $4B, $03, $00, $02, $21, $0A, $04, $02, $21, $8A, $04, $02, $21, $EA ; CPU:$E651 PRG:6651 01 22 4B 03 00 02 21 0A 04 02 21 8A 04 02 21 EA + .byte $04, $02, $22, $4A, $04, $00, $01, $21, $EF, $05, $01, $22, $4B, $03, $00, $01 ; CPU:$E661 PRG:6661 04 02 22 4A 04 00 01 21 EF 05 01 22 4B 03 00 01 + .byte $21, $F8, $06, $00, $01, $25, $F8, $06, $00, $02, $21, $F8, $07, $00, $02, $25 ; CPU:$E671 PRG:6671 21 F8 06 00 01 25 F8 06 00 02 21 F8 07 00 02 25 + .byte $F8, $07, $00, $01, $21, $04, $05, $00, $01, $25, $04, $05, $00, $01, $20, $8C ; CPU:$E681 PRG:6681 F8 07 00 01 21 04 05 00 01 25 04 05 00 01 20 8C + .byte $08, $00, $01, $20, $82, $09, $00, $01, $20, $97, $0A, $00, $01, $21, $CC, $0B ; CPU:$E691 PRG:6691 08 00 01 20 82 09 00 01 20 97 0A 00 01 21 CC 0B + .byte $01, $22, $0C, $0C, $01, $22, $4C, $0D, $00, $E7, $E6, $EC, $E6, $F6, $E6, $FF ; CPU:$E6A1 PRG:66A1 01 22 0C 0C 01 22 4C 0D 00 E7 E6 EC E6 F6 E6 FF + .byte $E6, $0A, $E7, $50, $04, $0C, $E7, $12, $E7, $08, $07, $10, $07, $18, $07, $C6 ; CPU:$E6B1 PRG:66B1 E6 0A E7 50 04 0C E7 12 E7 08 07 10 07 18 07 C6 + .byte $E6, $CF, $E6, $D9, $E6, $08, $31, $2D, $50, $4C, $41, $59, $45, $52, $09, $32 ; CPU:$E6C1 PRG:66C1 E6 CF E6 D9 E6 08 31 2D 50 4C 41 59 45 52 09 32 + .byte $2D, $50, $4C, $41, $59, $45, $52, $53, $0D, $EA, $EB, $EC, $ED, $EE, $EF, $2D ; CPU:$E6D1 PRG:66D1 2D 50 4C 41 59 45 52 53 0D EA EB EC ED EE EF 2D + .byte $FA, $2D, $FB, $FC, $FD, $FE, $04, $4D, $45, $4E, $55, $09, $43, $48, $41, $52 ; CPU:$E6E1 PRG:66E1 FA 2D FB FC FD FE 04 4D 45 4E 55 09 43 48 41 52 + .byte $00, $54, $45, $53, $54, $08, $4F, $42, $4A, $00, $54, $45, $53, $54, $0A ; CPU:$E6F1 PRG:66F1 00 54 45 53 54 08 4F 42 4A 00 54 45 53 54 0A +; ----------------------------------------------------------------------------- +; Routine: Label_E700 +; Global: Branch target inside Label: taken when E700. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E700: + .byte $53, $4F ; CPU:$E700 PRG:6700 53 4F -- sre (Zp4F),y (undocumented; ca65 cannot encode) + eor Zp4E,x ; CPU:$E702 PRG:6702 55 4E + .byte $44, $00 ; CPU:$E704 PRG:6704 44 00 -- nop Zp00 (undocumented; ca65 cannot encode) + .byte $54, $45 ; CPU:$E706 PRG:6706 54 45 -- nop Zp45,x (undocumented; ca65 cannot encode) + .byte $53, $54 ; CPU:$E708 PRG:6708 53 54 -- sre (Zp54),y (undocumented; ca65 cannot encode) + bpl IrqHandler_Loop308 ; CPU:$E70A PRG:670A 10 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop308 +; Global: Branch target inside IrqHandler: taken when Loop308. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop308: + ora Zp50 ; CPU:$E70C PRG:670C 05 50 + eor (Zp55,x) ; CPU:$E70E PRG:670E 41 55 + .byte $53, $45 ; CPU:$E710 PRG:6710 53 45 -- sre (Zp45),y (undocumented; ca65 cannot encode) + ora Zp2D ; CPU:$E712 PRG:6712 05 2D + rts ; CPU:$E714 PRG:6714 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E715 +; Global: Branch target inside Sub: taken when E715. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E715: + asl a ; CPU:$E715 PRG:6715 0A + tax ; CPU:$E716 PRG:6716 AA + lda $E629,x ; CPU:$E717 PRG:6717 BD 29 E6 + sta ControllerState ; CPU:$E71A PRG:671A 85 02 + lda $E62A,x ; CPU:$E71C PRG:671C BD 2A E6 + sta Zp03 ; CPU:$E71F PRG:671F 85 03 + rts ; CPU:$E721 PRG:6721 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E722 +; Global: Branch target inside Sub: taken when E722. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E722: + lda (ControllerState),y ; CPU:$E722 PRG:6722 B1 02 + iny ; CPU:$E724 PRG:6724 C8 + asl a ; CPU:$E725 PRG:6725 0A + tax ; CPU:$E726 PRG:6726 AA + lda $E6AA,x ; CPU:$E727 PRG:6727 BD AA E6 + sta VramWritePtrLo ; CPU:$E72A PRG:672A 85 00 + lda $E6AB,x ; CPU:$E72C PRG:672C BD AB E6 + sta VramWritePtrHi ; CPU:$E72F PRG:672F 85 01 + rts ; CPU:$E731 PRG:6731 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E732 +; Global: Branch target inside Label: taken when E732. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E732: + asl a ; CPU:$E732 PRG:6732 0A + tax ; CPU:$E733 PRG:6733 AA + lda PpuCtrlShadow ; CPU:$E734 PRG:6734 A5 24 + ora #$04 ; CPU:$E736 PRG:6736 09 04 + bcs IrqHandler_Loop309 ; CPU:$E738 PRG:6738 B0 02 + and #$FB ; CPU:$E73A PRG:673A 29 FB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop309 +; Global: Branch target inside IrqHandler: taken when Loop309. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop309: + sta PpuCtrlShadow ; CPU:$E73C PRG:673C 85 24 + and #$7F ; CPU:$E73E PRG:673E 29 7F + sta PPUCTRL ; CPU:$E740 PRG:6740 8D 00 20 + txa ; CPU:$E743 PRG:6743 8A + lsr a ; CPU:$E744 PRG:6744 4A + rts ; CPU:$E745 PRG:6745 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E746 +; Global: Branch target inside Sub: taken when E746. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E746: + ldx #$00 ; CPU:$E746 PRG:6746 A2 00 + stx Zp04 ; CPU:$E748 PRG:6748 86 04 + ldx #$03 ; CPU:$E74A PRG:674A A2 03 + stx SpriteX ; CPU:$E74C PRG:674C 86 05 + jsr Sub_E715 ; CPU:$E74E PRG:674E 20 15 E7 + ldy #$00 ; CPU:$E751 PRG:6751 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E753 +; Global: Branch target inside Sub: taken when E753. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E753: + lda (ControllerState),y ; CPU:$E753 PRG:6753 B1 02 + bne IrqHandler_Loop310 ; CPU:$E755 PRG:6755 D0 07 + lda #$00 ; CPU:$E757 PRG:6757 A9 00 + ldy GameMode ; CPU:$E759 PRG:6759 A4 2E + sta (Zp04),y ; CPU:$E75B PRG:675B 91 04 + rts ; CPU:$E75D PRG:675D 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop310 +; Global: Branch target inside IrqHandler: taken when Loop310. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop310: + pha ; CPU:$E75E PRG:675E 48 + iny ; CPU:$E75F PRG:675F C8 + jsr Sub_E7E6 ; CPU:$E760 PRG:6760 20 E6 E7 + cmp #$7F ; CPU:$E763 PRG:6763 C9 7F + bne IrqHandler_Loop311 ; CPU:$E765 PRG:6765 D0 04 + pla ; CPU:$E767 PRG:6767 68 + jmp Sub_E753 ; CPU:$E768 PRG:6768 4C 53 E7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop311 +; Global: Branch target inside IrqHandler: taken when Loop311. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop311: + jsr Sub_E7E6 ; CPU:$E76B PRG:676B 20 E6 E7 + jsr Sub_E722 ; CPU:$E76E PRG:676E 20 22 E7 + sty Zp07 ; CPU:$E771 PRG:6771 84 07 + ldy #$00 ; CPU:$E773 PRG:6773 A0 00 + lda (VramWritePtrLo),y ; CPU:$E775 PRG:6775 B1 00 + iny ; CPU:$E777 PRG:6777 C8 + sty Zp06 ; CPU:$E778 PRG:6778 84 06 + ldy GameMode ; CPU:$E77A PRG:677A A4 2E + sta (Zp04),y ; CPU:$E77C PRG:677C 91 04 + inc GameMode ; CPU:$E77E PRG:677E E6 2E + tax ; CPU:$E780 PRG:6780 AA + pla ; CPU:$E781 PRG:6781 68 + cmp #$01 ; CPU:$E782 PRG:6782 C9 01 + bne IrqHandler_Loop312 ; CPU:$E784 PRG:6784 D0 14 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero19 +; Global: Branch target inside IrqHandler: taken when OnNonzero19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero19: + ldy Zp06 ; CPU:$E786 PRG:6786 A4 06 + lda (VramWritePtrLo),y ; CPU:$E788 PRG:6788 B1 00 + inc Zp06 ; CPU:$E78A PRG:678A E6 06 + ldy GameMode ; CPU:$E78C PRG:678C A4 2E + sta (Zp04),y ; CPU:$E78E PRG:678E 91 04 + inc GameMode ; CPU:$E790 PRG:6790 E6 2E + dex ; CPU:$E792 PRG:6792 CA + bne IrqHandler_OnNonzero19 ; CPU:$E793 PRG:6793 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero7 +; Global: Branch target inside IrqHandler: taken when OnZero7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero7: + ldy Zp07 ; CPU:$E795 PRG:6795 A4 07 + jmp Sub_E753 ; CPU:$E797 PRG:6797 4C 53 E7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop312 +; Global: Branch target inside IrqHandler: taken when Loop312. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop312: + cmp #$02 ; CPU:$E79A PRG:679A C9 02 + bne IrqHandler_Loop313 ; CPU:$E79C PRG:679C D0 0F + ldy Zp06 ; CPU:$E79E PRG:679E A4 06 + lda (VramWritePtrLo),y ; CPU:$E7A0 PRG:67A0 B1 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero20 +; Global: Branch target inside IrqHandler: taken when OnNonzero20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero20: + ldy GameMode ; CPU:$E7A2 PRG:67A2 A4 2E + sta (Zp04),y ; CPU:$E7A4 PRG:67A4 91 04 + inc GameMode ; CPU:$E7A6 PRG:67A6 E6 2E + dex ; CPU:$E7A8 PRG:67A8 CA + bne IrqHandler_OnNonzero20 ; CPU:$E7A9 PRG:67A9 D0 F7 + beq IrqHandler_OnZero7 ; CPU:$E7AB PRG:67AB F0 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop313 +; Global: Branch target inside IrqHandler: taken when Loop313. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop313: + cmp #$03 ; CPU:$E7AD PRG:67AD C9 03 + bne IrqHandler_Loop314 ; CPU:$E7AF PRG:67AF D0 04 + lda #$FF ; CPU:$E7B1 PRG:67B1 A9 FF + bne IrqHandler_Loop315 ; CPU:$E7B3 PRG:67B3 D0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop314 +; Global: Branch target inside IrqHandler: taken when Loop314. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop314: + cmp #$04 ; CPU:$E7B5 PRG:67B5 C9 04 + bne IrqHandler_OnZero7 ; CPU:$E7B7 PRG:67B7 D0 DC + lda #$00 ; CPU:$E7B9 PRG:67B9 A9 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop315 +; Global: Branch target inside IrqHandler: taken when Loop315. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop315: + sta VramReadPtrLo ; CPU:$E7BB PRG:67BB 85 08 + txa ; CPU:$E7BD PRG:67BD 8A + ldy Zp06 ; CPU:$E7BE PRG:67BE A4 06 + lsr a ; CPU:$E7C0 PRG:67C0 4A + bcc IrqHandler_OnNonzero21 ; CPU:$E7C1 PRG:67C1 90 07 + lda (VramWritePtrLo),y ; CPU:$E7C3 PRG:67C3 B1 00 + inc Zp06 ; CPU:$E7C5 PRG:67C5 E6 06 + jmp Sub_E7DC ; CPU:$E7C7 PRG:67C7 4C DC E7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero21 +; Global: Branch target inside IrqHandler: taken when OnNonzero21. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero21: + lda (VramWritePtrLo),y ; CPU:$E7CA PRG:67CA B1 00 + inc Zp06 ; CPU:$E7CC PRG:67CC E6 06 + pha ; CPU:$E7CE PRG:67CE 48 + and #$F0 ; CPU:$E7CF PRG:67CF 29 F0 + lsr a ; CPU:$E7D1 PRG:67D1 4A + lsr a ; CPU:$E7D2 PRG:67D2 4A + lsr a ; CPU:$E7D3 PRG:67D3 4A + lsr a ; CPU:$E7D4 PRG:67D4 4A + jsr Sub_E7F4 ; CPU:$E7D5 PRG:67D5 20 F4 E7 + pla ; CPU:$E7D8 PRG:67D8 68 + dex ; CPU:$E7D9 PRG:67D9 CA + beq IrqHandler_OnZero7 ; CPU:$E7DA PRG:67DA F0 B9 +; ----------------------------------------------------------------------------- +; Routine: Sub_E7DC +; Global: Branch target inside Sub: taken when E7DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E7DC: + and #$0F ; CPU:$E7DC PRG:67DC 29 0F + jsr Sub_E7F4 ; CPU:$E7DE PRG:67DE 20 F4 E7 + dex ; CPU:$E7E1 PRG:67E1 CA + bne IrqHandler_OnNonzero21 ; CPU:$E7E2 PRG:67E2 D0 E6 + beq IrqHandler_OnZero7 ; CPU:$E7E4 PRG:67E4 F0 AF +; ----------------------------------------------------------------------------- +; Routine: Sub_E7E6 +; Global: Branch target inside Sub: taken when E7E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E7E6: + lda (ControllerState),y ; CPU:$E7E6 PRG:67E6 B1 02 + iny ; CPU:$E7E8 PRG:67E8 C8 + sty Zp07 ; CPU:$E7E9 PRG:67E9 84 07 + ldy GameMode ; CPU:$E7EB PRG:67EB A4 2E + sta (Zp04),y ; CPU:$E7ED PRG:67ED 91 04 + inc GameMode ; CPU:$E7EF PRG:67EF E6 2E + ldy Zp07 ; CPU:$E7F1 PRG:67F1 A4 07 + rts ; CPU:$E7F3 PRG:67F3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E7F4 +; Global: Branch target inside Sub: taken when E7F4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E7F4: + bne IrqHandler_Loop316 ; CPU:$E7F4 PRG:67F4 D0 08 + bit VramReadPtrLo ; CPU:$E7F6 PRG:67F6 24 08 + bmi IrqHandler_Loop317 ; CPU:$E7F8 PRG:67F8 30 0A + cpx #$01 ; CPU:$E7FA PRG:67FA E0 01 + bne IrqHandler_Loop318 ; CPU:$E7FC PRG:67FC D0 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop316 +; Global: Branch target inside IrqHandler: taken when Loop316. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop316: + bit VramReadPtrLo ; CPU:$E7FE PRG:67FE 24 08 + bmi IrqHandler_Loop317 ; CPU:$E800 PRG:6800 30 02 + dec VramReadPtrLo ; CPU:$E802 PRG:6802 C6 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop317 +; Global: Branch target inside IrqHandler: taken when Loop317. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop317: + ora #$30 ; CPU:$E804 PRG:6804 09 30 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop318 +; Global: Branch target inside IrqHandler: taken when Loop318. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop318: + ldy GameMode ; CPU:$E806 PRG:6806 A4 2E + sta (Zp04),y ; CPU:$E808 PRG:6808 91 04 + inc GameMode ; CPU:$E80A PRG:680A E6 2E + rts ; CPU:$E80C PRG:680C 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative8 +; Global: Branch target inside IrqHandler: taken when OnNonnegative8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative8: + lda Zp27 ; CPU:$E80D PRG:680D A5 27 + bpl IrqHandler_OnNonnegative8 ; CPU:$E80F PRG:680F 10 FC + lda Zp27 ; CPU:$E811 PRG:6811 A5 27 + ora #$40 ; CPU:$E813 PRG:6813 09 40 + sta Zp27 ; CPU:$E815 PRG:6815 85 27 + lda #$88 ; CPU:$E817 PRG:6817 A9 88 + sta PPUCTRL ; CPU:$E819 PRG:6819 8D 00 20 + lda #$00 ; CPU:$E81C PRG:681C A9 00 + sta PPUMASK ; CPU:$E81E PRG:681E 8D 01 20 + lda PPUSTATUS ; CPU:$E821 PRG:6821 AD 02 20 + lda #$02 ; CPU:$E824 PRG:6824 A9 02 + sta Zp2D ; CPU:$E826 PRG:6826 85 2D + rts ; CPU:$E828 PRG:6828 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E829 +; Global: Branch target inside Label: taken when E829. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E829: + jmp Sub_F42B ; CPU:$E829 PRG:6829 4C 2B F4 +; ----------------------------------------------------------------------------- +; Routine: Label_E82C +; Global: Branch target inside Label: taken when E82C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E82C: + jmp Sub_E82F ; CPU:$E82C PRG:682C 4C 2F E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E82F ; Global: Branch target inside Sub: taken when E82F. @@ -2947,7 +10604,7 @@ Sub_C4DB: ; ----------------------------------------------------------------------------- Sub_E82F: lda $0503 ; CPU:$E82F PRG:682F AD 03 05 - beq IrqHandler_Loop26 ; CPU:$E832 PRG:6832 F0 33 + beq IrqHandler_Loop319 ; CPU:$E832 PRG:6832 F0 33 ldx $0504 ; CPU:$E834 PRG:6834 AE 04 05 stx $0503 ; CPU:$E837 PRG:6837 8E 03 05 ldx $0505 ; CPU:$E83A PRG:683A AE 05 05 @@ -2977,80 +10634,80 @@ Sub_E82F: pha ; CPU:$E865 PRG:6865 48 rts ; CPU:$E866 PRG:6866 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop26 -; Global: Branch target inside IrqHandler: taken when Loop26. +; Routine: IrqHandler_Loop319 +; Global: Branch target inside IrqHandler: taken when Loop319. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop26: +IrqHandler_Loop319: lda $0501 ; CPU:$E867 PRG:6867 AD 01 05 - bpl IrqHandler_Loop27 ; CPU:$E86A PRG:686A 10 03 + bpl IrqHandler_Loop320 ; CPU:$E86A PRG:686A 10 03 jmp Sub_F297 ; CPU:$E86C PRG:686C 4C 97 F2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop27 -; Global: Branch target inside IrqHandler: taken when Loop27. +; Routine: IrqHandler_Loop320 +; Global: Branch target inside IrqHandler: taken when Loop320. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop27: +IrqHandler_Loop320: ldx $0502 ; CPU:$E86F PRG:686F AE 02 05 - bpl IrqHandler_Loop28 ; CPU:$E872 PRG:6872 10 04 + bpl IrqHandler_Loop321 ; CPU:$E872 PRG:6872 10 04 txa ; CPU:$E874 PRG:6874 8A jmp Sub_F2B8 ; CPU:$E875 PRG:6875 4C B8 F2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop28 -; Global: Branch target inside IrqHandler: taken when Loop28. +; Routine: IrqHandler_Loop321 +; Global: Branch target inside IrqHandler: taken when Loop321. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop28: - bne IrqHandler_Loop29 ; CPU:$E878 PRG:6878 D0 05 +IrqHandler_Loop321: + bne IrqHandler_Loop322 ; CPU:$E878 PRG:6878 D0 05 cmp #$00 ; CPU:$E87A PRG:687A C9 00 - bne IrqHandler_Loop29 ; CPU:$E87C PRG:687C D0 01 + bne IrqHandler_Loop322 ; CPU:$E87C PRG:687C D0 01 rts ; CPU:$E87E PRG:687E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop29 -; Global: Branch target inside IrqHandler: taken when Loop29. +; Routine: IrqHandler_Loop322 +; Global: Branch target inside IrqHandler: taken when Loop322. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop29: +IrqHandler_Loop322: ldx #$00 ; CPU:$E87F PRG:687F A2 00 lda $0507 ; CPU:$E881 PRG:6881 AD 07 05 - beq IrqHandler_OnNonzero4 ; CPU:$E884 PRG:6884 F0 02 + beq IrqHandler_OnNonzero22 ; CPU:$E884 PRG:6884 F0 02 ldx #$04 ; CPU:$E886 PRG:6886 A2 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero4 -; Global: Branch target inside IrqHandler: taken when OnNonzero4. +; Routine: IrqHandler_OnNonzero22 +; Global: Branch target inside IrqHandler: taken when OnNonzero22. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero4: +IrqHandler_OnNonzero22: lda $052C,x ; CPU:$E888 PRG:6888 BD 2C 05 - beq IrqHandler_Loop30 ; CPU:$E88B PRG:688B F0 03 + beq IrqHandler_Loop323 ; CPU:$E88B PRG:688B F0 03 jsr Sub_E898 ; CPU:$E88D PRG:688D 20 98 E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop30 -; Global: Branch target inside IrqHandler: taken when Loop30. +; Routine: IrqHandler_Loop323 +; Global: Branch target inside IrqHandler: taken when Loop323. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop30: +IrqHandler_Loop323: inx ; CPU:$E890 PRG:6890 E8 cpx #$06 ; CPU:$E891 PRG:6891 E0 06 - bne IrqHandler_OnNonzero4 ; CPU:$E893 PRG:6893 D0 F3 + bne IrqHandler_OnNonzero22 ; CPU:$E893 PRG:6893 D0 F3 jmp Sub_F087 ; CPU:$E895 PRG:6895 4C 87 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E898 @@ -3062,55 +10719,64 @@ IrqHandler_Loop30: ; ----------------------------------------------------------------------------- Sub_E898: lda $0534,x ; CPU:$E898 PRG:6898 BD 34 05 - beq IrqHandler_Loop32 ; CPU:$E89B PRG:689B F0 10 + beq IrqHandler_Loop325 ; CPU:$E89B PRG:689B F0 10 dec $0534,x ; CPU:$E89D PRG:689D DE 34 05 lda $0540,x ; CPU:$E8A0 PRG:68A0 BD 40 05 cmp #$01 ; CPU:$E8A3 PRG:68A3 C9 01 - beq IrqHandler_Loop31 ; CPU:$E8A5 PRG:68A5 F0 03 + beq IrqHandler_Loop324 ; CPU:$E8A5 PRG:68A5 F0 03 jmp Sub_EA4E ; CPU:$E8A7 PRG:68A7 4C 4E EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop31 -; Global: Branch target inside IrqHandler: taken when Loop31. +; Routine: IrqHandler_Loop324 +; Global: Branch target inside IrqHandler: taken when Loop324. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop31: +IrqHandler_Loop324: jmp Sub_E9B7 ; CPU:$E8AA PRG:68AA 4C B7 E9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop32 -; Global: Branch target inside IrqHandler: taken when Loop32. +; Routine: IrqHandler_Loop325 +; Global: Branch target inside IrqHandler: taken when Loop325. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop32: +IrqHandler_Loop325: lda #$80 ; CPU:$E8AD PRG:68AD A9 80 sta $065A,x ; CPU:$E8AF PRG:68AF 9D 5A 06 lda $0674,x ; CPU:$E8B2 PRG:68B2 BD 74 06 - sta Zp18 ; CPU:$E8B5 PRG:68B5 85 18 + sta PlayerX ; CPU:$E8B5 PRG:68B5 85 18 lda $067A,x ; CPU:$E8B7 PRG:68B7 BD 7A 06 - sta Zp19 ; CPU:$E8BA PRG:68BA 85 19 + sta PlayerY ; CPU:$E8BA PRG:68BA 85 19 lda #$00 ; CPU:$E8BC PRG:68BC A9 00 sta $0576,x ; CPU:$E8BE PRG:68BE 9D 76 05 ldy #$00 ; CPU:$E8C1 PRG:68C1 A0 00 - inc Zp18 ; CPU:$E8C3 PRG:68C3 E6 18 - bne IrqHandler_Loop33 ; CPU:$E8C5 PRG:68C5 D0 02 - inc Zp19 ; CPU:$E8C7 PRG:68C7 E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop33 -; Global: Branch target inside IrqHandler: taken when Loop33. +; Routine: Sub_E8C3 +; Global: Branch target inside Sub: taken when E8C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E8C3: + inc PlayerX ; CPU:$E8C3 PRG:68C3 E6 18 + bne IrqHandler_Loop326 ; CPU:$E8C5 PRG:68C5 D0 02 + inc PlayerY ; CPU:$E8C7 PRG:68C7 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop326 +; Global: Branch target inside IrqHandler: taken when Loop326. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop33: - lda (Zp18),y ; CPU:$E8C9 PRG:68C9 B1 18 +IrqHandler_Loop326: + lda (PlayerX),y ; CPU:$E8C9 PRG:68C9 B1 18 cmp #$D0 ; CPU:$E8CB PRG:68CB C9 D0 - bcc IrqHandler_Loop34 ; CPU:$E8CD PRG:68CD 90 25 + bcc IrqHandler_Loop327 ; CPU:$E8CD PRG:68CD 90 25 sbc #$D0 ; CPU:$E8CF PRG:68CF E9 D0 asl a ; CPU:$E8D1 PRG:68D1 0A stx $0506 ; CPU:$E8D2 PRG:68D2 8E 06 05 @@ -3134,26 +10800,26 @@ IrqHandler_Loop33: pha ; CPU:$E8F2 PRG:68F2 48 rts ; CPU:$E8F3 PRG:68F3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop34 -; Global: Branch target inside IrqHandler: taken when Loop34. +; Routine: IrqHandler_Loop327 +; Global: Branch target inside IrqHandler: taken when Loop327. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop34: +IrqHandler_Loop327: cpx #$00 ; CPU:$E8F4 PRG:68F4 E0 00 - beq IrqHandler_Loop35 ; CPU:$E8F6 PRG:68F6 F0 03 + beq IrqHandler_Loop328 ; CPU:$E8F6 PRG:68F6 F0 03 jmp Sub_E8FE ; CPU:$E8F8 PRG:68F8 4C FE E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop35 -; Global: Branch target inside IrqHandler: taken when Loop35. +; Routine: IrqHandler_Loop328 +; Global: Branch target inside IrqHandler: taken when Loop328. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop35: +IrqHandler_Loop328: nop ; CPU:$E8FB PRG:68FB EA nop ; CPU:$E8FC PRG:68FC EA nop ; CPU:$E8FD PRG:68FD EA @@ -3170,7 +10836,7 @@ Sub_E8FE: lda #$00 ; CPU:$E8FF PRG:68FF A9 00 sta $053A,x ; CPU:$E901 PRG:6901 9D 3A 05 lda $0576,x ; CPU:$E904 PRG:6904 BD 76 05 - bne IrqHandler_Loop36 ; CPU:$E907 PRG:6907 D0 2E + bne IrqHandler_Loop329 ; CPU:$E907 PRG:6907 D0 2E lda $055E,x ; CPU:$E909 PRG:6909 BD 5E 05 and #$7F ; CPU:$E90C PRG:690C 29 7F sta $055E,x ; CPU:$E90E PRG:690E 9D 5E 05 @@ -3189,62 +10855,62 @@ Sub_E8FE: sta $0618,x ; CPU:$E931 PRG:6931 9D 18 06 sta $061E,x ; CPU:$E934 PRG:6934 9D 1E 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop36 -; Global: Branch target inside IrqHandler: taken when Loop36. +; Routine: IrqHandler_Loop329 +; Global: Branch target inside IrqHandler: taken when Loop329. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop36: +IrqHandler_Loop329: tya ; CPU:$E937 PRG:6937 98 pha ; CPU:$E938 PRG:6938 48 and #$0F ; CPU:$E939 PRG:6939 29 0F tay ; CPU:$E93B PRG:693B A8 lda #$00 ; CPU:$E93C PRG:693C A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative3 -; Global: Branch target inside IrqHandler: taken when OnNonnegative3. +; Routine: IrqHandler_OnNonnegative9 +; Global: Branch target inside IrqHandler: taken when OnNonnegative9. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative3: +IrqHandler_OnNonnegative9: clc ; CPU:$E93E PRG:693E 18 adc $0546,x ; CPU:$E93F PRG:693F 7D 46 05 dey ; CPU:$E942 PRG:6942 88 - bpl IrqHandler_OnNonnegative3 ; CPU:$E943 PRG:6943 10 F9 + bpl IrqHandler_OnNonnegative9 ; CPU:$E943 PRG:6943 10 F9 sec ; CPU:$E945 PRG:6945 38 sbc #$01 ; CPU:$E946 PRG:6946 E9 01 sta $0534,x ; CPU:$E948 PRG:6948 9D 34 05 pla ; CPU:$E94B PRG:694B 68 and #$F0 ; CPU:$E94C PRG:694C 29 F0 cmp #$C0 ; CPU:$E94E PRG:694E C9 C0 - bcc IrqHandler_Loop37 ; CPU:$E950 PRG:6950 90 06 + bcc IrqHandler_Loop330 ; CPU:$E950 PRG:6950 90 06 inc $053A,x ; CPU:$E952 PRG:6952 FE 3A 05 jmp Sub_E981 ; CPU:$E955 PRG:6955 4C 81 E9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop37 -; Global: Branch target inside IrqHandler: taken when Loop37. +; Routine: IrqHandler_Loop330 +; Global: Branch target inside IrqHandler: taken when Loop330. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop37: +IrqHandler_Loop330: lsr a ; CPU:$E958 PRG:6958 4A lsr a ; CPU:$E959 PRG:6959 4A lsr a ; CPU:$E95A PRG:695A 4A lsr a ; CPU:$E95B PRG:695B 4A ldy $0540,x ; CPU:$E95C PRG:695C BC 40 05 cpy #$01 ; CPU:$E95F PRG:695F C0 01 - beq IrqHandler_Loop39 ; CPU:$E961 PRG:6961 F0 33 + beq IrqHandler_Loop332 ; CPU:$E961 PRG:6961 F0 33 clc ; CPU:$E963 PRG:6963 18 adc $054C,x ; CPU:$E964 PRG:6964 7D 4C 05 adc $0552,x ; CPU:$E967 PRG:6967 7D 52 05 cpy #$02 ; CPU:$E96A PRG:696A C0 02 - beq IrqHandler_Loop38 ; CPU:$E96C PRG:696C F0 20 + beq IrqHandler_Loop331 ; CPU:$E96C PRG:696C F0 20 asl a ; CPU:$E96E PRG:696E 0A tay ; CPU:$E96F PRG:696F A8 lda $F524,y ; CPU:$E970 PRG:6970 B9 24 F5 @@ -3262,46 +10928,46 @@ IrqHandler_Loop37: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E981: - lda Zp18 ; CPU:$E981 PRG:6981 A5 18 + lda PlayerX ; CPU:$E981 PRG:6981 A5 18 sta $0674,x ; CPU:$E983 PRG:6983 9D 74 06 - lda Zp19 ; CPU:$E986 PRG:6986 A5 19 + lda PlayerY ; CPU:$E986 PRG:6986 A5 19 sta $067A,x ; CPU:$E988 PRG:6988 9D 7A 06 jmp Sub_EA4E ; CPU:$E98B PRG:698B 4C 4E EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop38 -; Global: Branch target inside IrqHandler: taken when Loop38. +; Routine: IrqHandler_Loop331 +; Global: Branch target inside IrqHandler: taken when Loop331. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop38: +IrqHandler_Loop331: and #$0F ; CPU:$E98E PRG:698E 29 0F sta $0526,x ; CPU:$E990 PRG:6990 9D 26 05 jmp Sub_E981 ; CPU:$E993 PRG:6993 4C 81 E9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop39 -; Global: Branch target inside IrqHandler: taken when Loop39. +; Routine: IrqHandler_Loop332 +; Global: Branch target inside IrqHandler: taken when Loop332. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop39: +IrqHandler_Loop332: tay ; CPU:$E996 PRG:6996 A8 - lda Zp18 ; CPU:$E997 PRG:6997 A5 18 + lda PlayerX ; CPU:$E997 PRG:6997 A5 18 sta $0674,x ; CPU:$E999 PRG:6999 9D 74 06 - lda Zp19 ; CPU:$E99C PRG:699C A5 19 + lda PlayerY ; CPU:$E99C PRG:699C A5 19 sta $067A,x ; CPU:$E99E PRG:699E 9D 7A 06 tya ; CPU:$E9A1 PRG:69A1 98 asl a ; CPU:$E9A2 PRG:69A2 0A tay ; CPU:$E9A3 PRG:69A3 A8 lda $88A6,y ; CPU:$E9A4 PRG:69A4 B9 A6 88 sta $0680,x ; CPU:$E9A7 PRG:69A7 9D 80 06 - sta Zp18 ; CPU:$E9AA PRG:69AA 85 18 + sta PlayerX ; CPU:$E9AA PRG:69AA 85 18 lda $88A7,y ; CPU:$E9AC PRG:69AC B9 A7 88 sta $0686,x ; CPU:$E9AF PRG:69AF 9D 86 06 - sta Zp19 ; CPU:$E9B2 PRG:69B2 85 19 + sta PlayerY ; CPU:$E9B2 PRG:69B2 85 19 jmp Sub_E9C9 ; CPU:$E9B4 PRG:69B4 4C C9 E9 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9B7 @@ -3313,21 +10979,21 @@ IrqHandler_Loop39: ; ----------------------------------------------------------------------------- Sub_E9B7: lda $053A,x ; CPU:$E9B7 PRG:69B7 BD 3A 05 - beq IrqHandler_Loop40 ; CPU:$E9BA PRG:69BA F0 03 + beq IrqHandler_Loop333 ; CPU:$E9BA PRG:69BA F0 03 jmp Sub_EA4E ; CPU:$E9BC PRG:69BC 4C 4E EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop40 -; Global: Branch target inside IrqHandler: taken when Loop40. +; Routine: IrqHandler_Loop333 +; Global: Branch target inside IrqHandler: taken when Loop333. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop40: +IrqHandler_Loop333: lda $0680,x ; CPU:$E9BF PRG:69BF BD 80 06 - sta Zp18 ; CPU:$E9C2 PRG:69C2 85 18 + sta PlayerX ; CPU:$E9C2 PRG:69C2 85 18 lda $0686,x ; CPU:$E9C4 PRG:69C4 BD 86 06 - sta Zp19 ; CPU:$E9C7 PRG:69C7 85 19 + sta PlayerY ; CPU:$E9C7 PRG:69C7 85 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9C9 ; Global: Branch target inside Sub: taken when E9C9. @@ -3338,19 +11004,19 @@ IrqHandler_Loop40: ; ----------------------------------------------------------------------------- Sub_E9C9: ldy #$00 ; CPU:$E9C9 PRG:69C9 A0 00 - lda (Zp18),y ; CPU:$E9CB PRG:69CB B1 18 - inc Zp18 ; CPU:$E9CD PRG:69CD E6 18 - bne IrqHandler_Loop41 ; CPU:$E9CF PRG:69CF D0 02 - inc Zp19 ; CPU:$E9D1 PRG:69D1 E6 19 + lda (PlayerX),y ; CPU:$E9CB PRG:69CB B1 18 + inc PlayerX ; CPU:$E9CD PRG:69CD E6 18 + bne IrqHandler_Loop334 ; CPU:$E9CF PRG:69CF D0 02 + inc PlayerY ; CPU:$E9D1 PRG:69D1 E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop41 -; Global: Branch target inside IrqHandler: taken when Loop41. +; Routine: IrqHandler_Loop334 +; Global: Branch target inside IrqHandler: taken when Loop334. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop41: +IrqHandler_Loop334: sec ; CPU:$E9D3 PRG:69D3 38 sbc #$FA ; CPU:$E9D4 PRG:69D4 E9 FA asl a ; CPU:$E9D6 PRG:69D6 0A @@ -3374,13 +11040,122 @@ IrqHandler_Loop41: lda (Zp1C),y ; CPU:$E9F5 PRG:69F5 B1 1C pha ; CPU:$E9F7 PRG:69F7 48 rts ; CPU:$E9F8 PRG:69F8 60 -; ---- data $E9F9-$EA4D (85 bytes) ---- - .byte $AE, $06, $05, $B1, $18, $E6, $18, $D0, $02, $E6, $19, $9D, $5E, $05, $4C, $C9 ; CPU:$E9F9 PRG:69F9 AE 06 05 B1 18 E6 18 D0 02 E6 19 9D 5E 05 4C C9 - .byte $E9, $AE, $06, $05, $B1, $18, $E6, $18, $D0, $02, $E6, $19, $29, $0F, $9D, $26 ; CPU:$EA09 PRG:6A09 E9 AE 06 05 B1 18 E6 18 D0 02 E6 19 29 0F 9D 26 - .byte $05, $4C, $44, $EA, $AE, $06, $05, $B1, $18, $9D, $1A, $05, $E6, $18, $D0, $02 ; CPU:$EA19 PRG:6A19 05 4C 44 EA AE 06 05 B1 18 9D 1A 05 E6 18 D0 02 - .byte $E6, $19, $B1, $18, $9D, $20, $05, $E6, $18, $D0, $02, $E6, $19, $A9, $00, $9D ; CPU:$EA29 PRG:6A29 E6 19 B1 18 9D 20 05 E6 18 D0 02 E6 19 A9 00 9D - .byte $26, $05, $4C, $44, $EA, $AE, $06, $05, $FE, $3A, $05, $A5, $18, $9D, $80, $06 ; CPU:$EA39 PRG:6A39 26 05 4C 44 EA AE 06 05 FE 3A 05 A5 18 9D 80 06 - .byte $A5, $19, $9D, $86, $06 ; CPU:$EA49 PRG:6A49 A5 19 9D 86 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E9F9 +; Global: Branch target inside Label: taken when E9F9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E9F9: + ldx $0506 ; CPU:$E9F9 PRG:69F9 AE 06 05 + lda (PlayerX),y ; CPU:$E9FC PRG:69FC B1 18 + inc PlayerX ; CPU:$E9FE PRG:69FE E6 18 + bne IrqHandler_Loop335 ; CPU:$EA00 PRG:6A00 D0 02 + inc PlayerY ; CPU:$EA02 PRG:6A02 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop335 +; Global: Branch target inside IrqHandler: taken when Loop335. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop335: + sta $055E,x ; CPU:$EA04 PRG:6A04 9D 5E 05 + jmp Sub_E9C9 ; CPU:$EA07 PRG:6A07 4C C9 E9 +; ----------------------------------------------------------------------------- +; Routine: Label_EA0A +; Global: Branch target inside Label: taken when EA0A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EA0A: + ldx $0506 ; CPU:$EA0A PRG:6A0A AE 06 05 + lda (PlayerX),y ; CPU:$EA0D PRG:6A0D B1 18 + inc PlayerX ; CPU:$EA0F PRG:6A0F E6 18 + bne IrqHandler_Loop336 ; CPU:$EA11 PRG:6A11 D0 02 + inc PlayerY ; CPU:$EA13 PRG:6A13 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop336 +; Global: Branch target inside IrqHandler: taken when Loop336. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop336: + and #$0F ; CPU:$EA15 PRG:6A15 29 0F + sta $0526,x ; CPU:$EA17 PRG:6A17 9D 26 05 + jmp Sub_EA44 ; CPU:$EA1A PRG:6A1A 4C 44 EA +; ----------------------------------------------------------------------------- +; Routine: Label_EA1D +; Global: Branch target inside Label: taken when EA1D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EA1D: + ldx $0506 ; CPU:$EA1D PRG:6A1D AE 06 05 + lda (PlayerX),y ; CPU:$EA20 PRG:6A20 B1 18 + sta $051A,x ; CPU:$EA22 PRG:6A22 9D 1A 05 + inc PlayerX ; CPU:$EA25 PRG:6A25 E6 18 + bne IrqHandler_Loop337 ; CPU:$EA27 PRG:6A27 D0 02 + inc PlayerY ; CPU:$EA29 PRG:6A29 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop337 +; Global: Branch target inside IrqHandler: taken when Loop337. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop337: + lda (PlayerX),y ; CPU:$EA2B PRG:6A2B B1 18 + sta $0520,x ; CPU:$EA2D PRG:6A2D 9D 20 05 + inc PlayerX ; CPU:$EA30 PRG:6A30 E6 18 + bne IrqHandler_Loop338 ; CPU:$EA32 PRG:6A32 D0 02 + inc PlayerY ; CPU:$EA34 PRG:6A34 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop338 +; Global: Branch target inside IrqHandler: taken when Loop338. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop338: + lda #$00 ; CPU:$EA36 PRG:6A36 A9 00 + sta $0526,x ; CPU:$EA38 PRG:6A38 9D 26 05 + jmp Sub_EA44 ; CPU:$EA3B PRG:6A3B 4C 44 EA +; ----------------------------------------------------------------------------- +; Routine: Label_EA3E +; Global: Branch target inside Label: taken when EA3E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EA3E: + ldx $0506 ; CPU:$EA3E PRG:6A3E AE 06 05 + inc $053A,x ; CPU:$EA41 PRG:6A41 FE 3A 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_EA44 +; Global: Branch target inside Sub: taken when EA44. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EA44: + lda PlayerX ; CPU:$EA44 PRG:6A44 A5 18 + sta $0680,x ; CPU:$EA46 PRG:6A46 9D 80 06 + lda PlayerY ; CPU:$EA49 PRG:6A49 A5 19 + sta $0686,x ; CPU:$EA4B PRG:6A4B 9D 86 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_EA4E ; Global: Branch target inside Sub: taken when EA4E. @@ -3393,19 +11168,19 @@ Sub_EA4E: lda $050E,x ; CPU:$EA4E PRG:6A4E BD 0E 05 sta Zp1A ; CPU:$EA51 PRG:6A51 85 1A lda $0588,x ; CPU:$EA53 PRG:6A53 BD 88 05 - beq IrqHandler_Loop42 ; CPU:$EA56 PRG:6A56 F0 03 + beq IrqHandler_Loop339 ; CPU:$EA56 PRG:6A56 F0 03 jmp Sub_EB65 ; CPU:$EA58 PRG:6A58 4C 65 EB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop42 -; Global: Branch target inside IrqHandler: taken when Loop42. +; Routine: IrqHandler_Loop339 +; Global: Branch target inside IrqHandler: taken when Loop339. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop42: +IrqHandler_Loop339: lda $055E,x ; CPU:$EA5B PRG:6A5B BD 5E 05 - bmi IrqHandler_Loop44 ; CPU:$EA5E PRG:6A5E 30 2B + bmi IrqHandler_Loop341 ; CPU:$EA5E PRG:6A5E 30 2B tay ; CPU:$EA60 PRG:6A60 A8 ora #$80 ; CPU:$EA61 PRG:6A61 09 80 sta $055E,x ; CPU:$EA63 PRG:6A63 9D 5E 05 @@ -3414,56 +11189,65 @@ IrqHandler_Loop42: tay ; CPU:$EA68 PRG:6A68 A8 lda $8869,y ; CPU:$EA69 PRG:6A69 B9 69 88 sta $0600,x ; CPU:$EA6C PRG:6A6C 9D 00 06 - sta Zp18 ; CPU:$EA6F PRG:6A6F 85 18 + sta PlayerX ; CPU:$EA6F PRG:6A6F 85 18 lda $886A,y ; CPU:$EA71 PRG:6A71 B9 6A 88 sta $0606,x ; CPU:$EA74 PRG:6A74 9D 06 06 - sta Zp19 ; CPU:$EA77 PRG:6A77 85 19 + sta PlayerY ; CPU:$EA77 PRG:6A77 85 19 lda #$00 ; CPU:$EA79 PRG:6A79 A9 00 sta $057C,x ; CPU:$EA7B PRG:6A7B 9D 7C 05 ldy #$00 ; CPU:$EA7E PRG:6A7E A0 00 - inc Zp18 ; CPU:$EA80 PRG:6A80 E6 18 - bne IrqHandler_Loop43 ; CPU:$EA82 PRG:6A82 D0 02 - inc Zp19 ; CPU:$EA84 PRG:6A84 E6 19 + inc PlayerX ; CPU:$EA80 PRG:6A80 E6 18 + bne IrqHandler_Loop340 ; CPU:$EA82 PRG:6A82 D0 02 + inc PlayerY ; CPU:$EA84 PRG:6A84 E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop43 -; Global: Branch target inside IrqHandler: taken when Loop43. +; Routine: IrqHandler_Loop340 +; Global: Branch target inside IrqHandler: taken when Loop340. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop43: - lda (Zp18),y ; CPU:$EA86 PRG:6A86 B1 18 +IrqHandler_Loop340: + lda (PlayerX),y ; CPU:$EA86 PRG:6A86 B1 18 jmp Sub_EAF1 ; CPU:$EA88 PRG:6A88 4C F1 EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop44 -; Global: Branch target inside IrqHandler: taken when Loop44. +; Routine: IrqHandler_Loop341 +; Global: Branch target inside IrqHandler: taken when Loop341. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop44: +IrqHandler_Loop341: lda $0600,x ; CPU:$EA8B PRG:6A8B BD 00 06 - sta Zp18 ; CPU:$EA8E PRG:6A8E 85 18 + sta PlayerX ; CPU:$EA8E PRG:6A8E 85 18 lda $0606,x ; CPU:$EA90 PRG:6A90 BD 06 06 - sta Zp19 ; CPU:$EA93 PRG:6A93 85 19 + sta PlayerY ; CPU:$EA93 PRG:6A93 85 19 lda $057C,x ; CPU:$EA95 PRG:6A95 BD 7C 05 - bne IrqHandler_Loop46 ; CPU:$EA98 PRG:6A98 D0 30 - ldy #$00 ; CPU:$EA9A PRG:6A9A A0 00 - inc Zp18 ; CPU:$EA9C PRG:6A9C E6 18 - bne IrqHandler_Loop45 ; CPU:$EA9E PRG:6A9E D0 02 - inc Zp19 ; CPU:$EAA0 PRG:6AA0 E6 19 + bne IrqHandler_Loop343 ; CPU:$EA98 PRG:6A98 D0 30 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop45 -; Global: Branch target inside IrqHandler: taken when Loop45. +; Routine: Sub_EA9A +; Global: Branch target inside Sub: taken when EA9A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EA9A: + ldy #$00 ; CPU:$EA9A PRG:6A9A A0 00 + inc PlayerX ; CPU:$EA9C PRG:6A9C E6 18 + bne IrqHandler_Loop342 ; CPU:$EA9E PRG:6A9E D0 02 + inc PlayerY ; CPU:$EAA0 PRG:6AA0 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop342 +; Global: Branch target inside IrqHandler: taken when Loop342. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop45: - lda (Zp18),y ; CPU:$EAA2 PRG:6AA2 B1 18 +IrqHandler_Loop342: + lda (PlayerX),y ; CPU:$EAA2 PRG:6AA2 B1 18 sec ; CPU:$EAA4 PRG:6AA4 38 sbc #$FA ; CPU:$EAA5 PRG:6AA5 E9 FA asl a ; CPU:$EAA7 PRG:6AA7 0A @@ -3488,43 +11272,43 @@ IrqHandler_Loop45: pha ; CPU:$EAC8 PRG:6AC8 48 rts ; CPU:$EAC9 PRG:6AC9 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop46 -; Global: Branch target inside IrqHandler: taken when Loop46. +; Routine: IrqHandler_Loop343 +; Global: Branch target inside IrqHandler: taken when Loop343. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop46: +IrqHandler_Loop343: lda $05C4,x ; CPU:$EACA PRG:6ACA BD C4 05 - beq IrqHandler_Loop47 ; CPU:$EACD PRG:6ACD F0 06 + beq IrqHandler_Loop344 ; CPU:$EACD PRG:6ACD F0 06 dec $05C4,x ; CPU:$EACF PRG:6ACF DE C4 05 jmp Sub_EAF3 ; CPU:$EAD2 PRG:6AD2 4C F3 EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop47 -; Global: Branch target inside IrqHandler: taken when Loop47. +; Routine: IrqHandler_Loop344 +; Global: Branch target inside IrqHandler: taken when Loop344. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop47: +IrqHandler_Loop344: lda $05BE,x ; CPU:$EAD5 PRG:6AD5 BD BE 05 sta $05C4,x ; CPU:$EAD8 PRG:6AD8 9D C4 05 lda $05CA,x ; CPU:$EADB PRG:6ADB BD CA 05 - bne IrqHandler_Loop48 ; CPU:$EADE PRG:6ADE D0 08 + bne IrqHandler_Loop345 ; CPU:$EADE PRG:6ADE D0 08 lda #$00 ; CPU:$EAE0 PRG:6AE0 A9 00 sta $057C,x ; CPU:$EAE2 PRG:6AE2 9D 7C 05 jmp Sub_EAF3 ; CPU:$EAE5 PRG:6AE5 4C F3 EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop48 -; Global: Branch target inside IrqHandler: taken when Loop48. +; Routine: IrqHandler_Loop345 +; Global: Branch target inside IrqHandler: taken when Loop345. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop48: +IrqHandler_Loop345: dec $05CA,x ; CPU:$EAE8 PRG:6AE8 DE CA 05 lda Zp1A ; CPU:$EAEB PRG:6AEB A5 1A clc ; CPU:$EAED PRG:6AED 18 @@ -3548,20 +11332,145 @@ Sub_EAF1: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_EAF3: - lda Zp18 ; CPU:$EAF3 PRG:6AF3 A5 18 + lda PlayerX ; CPU:$EAF3 PRG:6AF3 A5 18 sta $0600,x ; CPU:$EAF5 PRG:6AF5 9D 00 06 - lda Zp19 ; CPU:$EAF8 PRG:6AF8 A5 19 + lda PlayerY ; CPU:$EAF8 PRG:6AF8 A5 19 sta $0606,x ; CPU:$EAFA PRG:6AFA 9D 06 06 lda Zp1A ; CPU:$EAFD PRG:6AFD A5 1A sta $050E,x ; CPU:$EAFF PRG:6AFF 9D 0E 05 jmp Sub_EB65 ; CPU:$EB02 PRG:6B02 4C 65 EB -; ---- data $EB05-$EB64 (96 bytes) ---- - .byte $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $4C, $F1, $EA, $AE, $06 ; CPU:$EB05 PRG:6B05 AE 06 05 E6 18 D0 02 E6 19 B1 18 4C F1 EA AE 06 - .byte $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $B8, $05, $E6, $18, $D0, $02 ; CPU:$EB15 PRG:6B15 05 E6 18 D0 02 E6 19 B1 18 9D B8 05 E6 18 D0 02 - .byte $E6, $19, $B1, $18, $9D, $BE, $05, $9D, $C4, $05, $E6, $18, $D0, $02, $E6, $19 ; CPU:$EB25 PRG:6B25 E6 19 B1 18 9D BE 05 9D C4 05 E6 18 D0 02 E6 19 - .byte $B1, $18, $9D, $CA, $05, $FE, $7C, $05, $4C, $CA, $EA, $AE, $06, $05, $E6, $18 ; CPU:$EB35 PRG:6B35 B1 18 9D CA 05 FE 7C 05 4C CA EA AE 06 05 E6 18 - .byte $D0, $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $85 ; CPU:$EB45 PRG:6B45 D0 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 85 - .byte $19, $68, $85, $18, $4C, $9A, $EA, $AE, $06, $05, $FE, $88, $05, $4C, $F3, $EA ; CPU:$EB55 PRG:6B55 19 68 85 18 4C 9A EA AE 06 05 FE 88 05 4C F3 EA +; ----------------------------------------------------------------------------- +; Routine: Label_EB05 +; Global: Branch target inside Label: taken when EB05. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EB05: + ldx $0506 ; CPU:$EB05 PRG:6B05 AE 06 05 + inc PlayerX ; CPU:$EB08 PRG:6B08 E6 18 + bne IrqHandler_Loop346 ; CPU:$EB0A PRG:6B0A D0 02 + inc PlayerY ; CPU:$EB0C PRG:6B0C E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop346 +; Global: Branch target inside IrqHandler: taken when Loop346. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop346: + lda (PlayerX),y ; CPU:$EB0E PRG:6B0E B1 18 + jmp Sub_EAF1 ; CPU:$EB10 PRG:6B10 4C F1 EA +; ----------------------------------------------------------------------------- +; Routine: Label_EB13 +; Global: Branch target inside Label: taken when EB13. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EB13: + ldx $0506 ; CPU:$EB13 PRG:6B13 AE 06 05 + inc PlayerX ; CPU:$EB16 PRG:6B16 E6 18 + bne IrqHandler_Loop347 ; CPU:$EB18 PRG:6B18 D0 02 + inc PlayerY ; CPU:$EB1A PRG:6B1A E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop347 +; Global: Branch target inside IrqHandler: taken when Loop347. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop347: + lda (PlayerX),y ; CPU:$EB1C PRG:6B1C B1 18 + sta $05B8,x ; CPU:$EB1E PRG:6B1E 9D B8 05 + inc PlayerX ; CPU:$EB21 PRG:6B21 E6 18 + bne IrqHandler_Loop348 ; CPU:$EB23 PRG:6B23 D0 02 + inc PlayerY ; CPU:$EB25 PRG:6B25 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop348 +; Global: Branch target inside IrqHandler: taken when Loop348. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop348: + lda (PlayerX),y ; CPU:$EB27 PRG:6B27 B1 18 + sta $05BE,x ; CPU:$EB29 PRG:6B29 9D BE 05 + sta $05C4,x ; CPU:$EB2C PRG:6B2C 9D C4 05 + inc PlayerX ; CPU:$EB2F PRG:6B2F E6 18 + bne IrqHandler_Loop349 ; CPU:$EB31 PRG:6B31 D0 02 + inc PlayerY ; CPU:$EB33 PRG:6B33 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop349 +; Global: Branch target inside IrqHandler: taken when Loop349. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop349: + lda (PlayerX),y ; CPU:$EB35 PRG:6B35 B1 18 + sta $05CA,x ; CPU:$EB37 PRG:6B37 9D CA 05 + inc $057C,x ; CPU:$EB3A PRG:6B3A FE 7C 05 + jmp IrqHandler_Loop343 ; CPU:$EB3D PRG:6B3D 4C CA EA +; ----------------------------------------------------------------------------- +; Routine: Label_EB40 +; Global: Branch target inside Label: taken when EB40. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EB40: + ldx $0506 ; CPU:$EB40 PRG:6B40 AE 06 05 + inc PlayerX ; CPU:$EB43 PRG:6B43 E6 18 + bne IrqHandler_Loop350 ; CPU:$EB45 PRG:6B45 D0 02 + inc PlayerY ; CPU:$EB47 PRG:6B47 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop350 +; Global: Branch target inside IrqHandler: taken when Loop350. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop350: + lda (PlayerX),y ; CPU:$EB49 PRG:6B49 B1 18 + pha ; CPU:$EB4B PRG:6B4B 48 + inc PlayerX ; CPU:$EB4C PRG:6B4C E6 18 + bne IrqHandler_Loop351 ; CPU:$EB4E PRG:6B4E D0 02 + inc PlayerY ; CPU:$EB50 PRG:6B50 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop351 +; Global: Branch target inside IrqHandler: taken when Loop351. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop351: + lda (PlayerX),y ; CPU:$EB52 PRG:6B52 B1 18 + sta PlayerY ; CPU:$EB54 PRG:6B54 85 19 + pla ; CPU:$EB56 PRG:6B56 68 + sta PlayerX ; CPU:$EB57 PRG:6B57 85 18 + jmp Sub_EA9A ; CPU:$EB59 PRG:6B59 4C 9A EA +; ----------------------------------------------------------------------------- +; Routine: Label_EB5C +; Global: Branch target inside Label: taken when EB5C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EB5C: + ldx $0506 ; CPU:$EB5C PRG:6B5C AE 06 05 + inc $0588,x ; CPU:$EB5F PRG:6B5F FE 88 05 + jmp Sub_EAF3 ; CPU:$EB62 PRG:6B62 4C F3 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_EB65 ; Global: Branch target inside Sub: taken when EB65. @@ -3574,8 +11483,8 @@ Sub_EB65: lda #$00 ; CPU:$EB65 PRG:6B65 A9 00 sta $062A,x ; CPU:$EB67 PRG:6B67 9D 2A 06 lda $05A6,x ; CPU:$EB6A PRG:6B6A BD A6 05 - beq IrqHandler_Loop53 ; CPU:$EB6D PRG:6B6D F0 64 - bmi IrqHandler_Loop49 ; CPU:$EB6F PRG:6B6F 30 1B + beq IrqHandler_Loop356 ; CPU:$EB6D PRG:6B6D F0 64 + bmi IrqHandler_Loop352 ; CPU:$EB6F PRG:6B6F 30 1B tay ; CPU:$EB71 PRG:6B71 A8 ora #$80 ; CPU:$EB72 PRG:6B72 09 80 sta $05A6,x ; CPU:$EB74 PRG:6B74 9D A6 05 @@ -3589,31 +11498,31 @@ Sub_EB65: lda $05B2,x ; CPU:$EB86 PRG:6B86 BD B2 05 sta $05FA,x ; CPU:$EB89 PRG:6B89 9D FA 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop49 -; Global: Branch target inside IrqHandler: taken when Loop49. +; Routine: IrqHandler_Loop352 +; Global: Branch target inside IrqHandler: taken when Loop352. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop49: +IrqHandler_Loop352: lda $05FA,x ; CPU:$EB8C PRG:6B8C BD FA 05 - beq IrqHandler_Loop50 ; CPU:$EB8F PRG:6B8F F0 06 + beq IrqHandler_Loop353 ; CPU:$EB8F PRG:6B8F F0 06 dec $05FA,x ; CPU:$EB91 PRG:6B91 DE FA 05 - jmp IrqHandler_Loop53 ; CPU:$EB94 PRG:6B94 4C D3 EB + jmp IrqHandler_Loop356 ; CPU:$EB94 PRG:6B94 4C D3 EB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop50 -; Global: Branch target inside IrqHandler: taken when Loop50. +; Routine: IrqHandler_Loop353 +; Global: Branch target inside IrqHandler: taken when Loop353. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop50: +IrqHandler_Loop353: lda $063C,x ; CPU:$EB97 PRG:6B97 BD 3C 06 - sta Zp18 ; CPU:$EB9A PRG:6B9A 85 18 + sta PlayerX ; CPU:$EB9A PRG:6B9A 85 18 lda $0642,x ; CPU:$EB9C PRG:6B9C BD 42 06 - sta Zp19 ; CPU:$EB9F PRG:6B9F 85 19 + sta PlayerY ; CPU:$EB9F PRG:6B9F 85 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_EBA1 ; Global: Branch target inside Sub: taken when EBA1. @@ -3624,59 +11533,59 @@ IrqHandler_Loop50: ; ----------------------------------------------------------------------------- Sub_EBA1: ldy #$00 ; CPU:$EBA1 PRG:6BA1 A0 00 - lda (Zp18),y ; CPU:$EBA3 PRG:6BA3 B1 18 + lda (PlayerX),y ; CPU:$EBA3 PRG:6BA3 B1 18 cmp #$80 ; CPU:$EBA5 PRG:6BA5 C9 80 - beq IrqHandler_Loop52 ; CPU:$EBA7 PRG:6BA7 F0 16 + beq IrqHandler_Loop355 ; CPU:$EBA7 PRG:6BA7 F0 16 sta $062A,x ; CPU:$EBA9 PRG:6BA9 9D 2A 06 - inc Zp18 ; CPU:$EBAC PRG:6BAC E6 18 - bne IrqHandler_Loop51 ; CPU:$EBAE PRG:6BAE D0 02 - inc Zp19 ; CPU:$EBB0 PRG:6BB0 E6 19 + inc PlayerX ; CPU:$EBAC PRG:6BAC E6 18 + bne IrqHandler_Loop354 ; CPU:$EBAE PRG:6BAE D0 02 + inc PlayerY ; CPU:$EBB0 PRG:6BB0 E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop51 -; Global: Branch target inside IrqHandler: taken when Loop51. +; Routine: IrqHandler_Loop354 +; Global: Branch target inside IrqHandler: taken when Loop354. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop51: - lda Zp18 ; CPU:$EBB2 PRG:6BB2 A5 18 +IrqHandler_Loop354: + lda PlayerX ; CPU:$EBB2 PRG:6BB2 A5 18 sta $063C,x ; CPU:$EBB4 PRG:6BB4 9D 3C 06 - lda Zp19 ; CPU:$EBB7 PRG:6BB7 A5 19 + lda PlayerY ; CPU:$EBB7 PRG:6BB7 A5 19 sta $0642,x ; CPU:$EBB9 PRG:6BB9 9D 42 06 - jmp IrqHandler_Loop53 ; CPU:$EBBC PRG:6BBC 4C D3 EB + jmp IrqHandler_Loop356 ; CPU:$EBBC PRG:6BBC 4C D3 EB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop52 -; Global: Branch target inside IrqHandler: taken when Loop52. +; Routine: IrqHandler_Loop355 +; Global: Branch target inside IrqHandler: taken when Loop355. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop52: +IrqHandler_Loop355: lda $05A6,x ; CPU:$EBBF PRG:6BBF BD A6 05 and #$7F ; CPU:$EBC2 PRG:6BC2 29 7F asl a ; CPU:$EBC4 PRG:6BC4 0A tay ; CPU:$EBC5 PRG:6BC5 A8 lda $88A4,y ; CPU:$EBC6 PRG:6BC6 B9 A4 88 - sta Zp18 ; CPU:$EBC9 PRG:6BC9 85 18 + sta PlayerX ; CPU:$EBC9 PRG:6BC9 85 18 lda $88A5,y ; CPU:$EBCB PRG:6BCB B9 A5 88 - sta Zp19 ; CPU:$EBCE PRG:6BCE 85 19 + sta PlayerY ; CPU:$EBCE PRG:6BCE 85 19 jmp Sub_EBA1 ; CPU:$EBD0 PRG:6BD0 4C A1 EB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop53 -; Global: Branch target inside IrqHandler: taken when Loop53. +; Routine: IrqHandler_Loop356 +; Global: Branch target inside IrqHandler: taken when Loop356. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop53: +IrqHandler_Loop356: lda #$00 ; CPU:$EBD3 PRG:6BD3 A9 00 sta $0624,x ; CPU:$EBD5 PRG:6BD5 9D 24 06 lda $05A0,x ; CPU:$EBD8 PRG:6BD8 BD A0 05 - beq IrqHandler_Loop58 ; CPU:$EBDB PRG:6BDB F0 69 - bmi IrqHandler_Loop54 ; CPU:$EBDD PRG:6BDD 30 1B + beq IrqHandler_Loop361 ; CPU:$EBDB PRG:6BDB F0 69 + bmi IrqHandler_Loop357 ; CPU:$EBDD PRG:6BDD 30 1B tay ; CPU:$EBDF PRG:6BDF A8 ora #$80 ; CPU:$EBE0 PRG:6BE0 09 80 sta $05A0,x ; CPU:$EBE2 PRG:6BE2 9D A0 05 @@ -3690,31 +11599,31 @@ IrqHandler_Loop53: lda $05AC,x ; CPU:$EBF4 PRG:6BF4 BD AC 05 sta $05F4,x ; CPU:$EBF7 PRG:6BF7 9D F4 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop54 -; Global: Branch target inside IrqHandler: taken when Loop54. +; Routine: IrqHandler_Loop357 +; Global: Branch target inside IrqHandler: taken when Loop357. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop54: +IrqHandler_Loop357: lda $05F4,x ; CPU:$EBFA PRG:6BFA BD F4 05 - beq IrqHandler_Loop55 ; CPU:$EBFD PRG:6BFD F0 06 + beq IrqHandler_Loop358 ; CPU:$EBFD PRG:6BFD F0 06 dec $05F4,x ; CPU:$EBFF PRG:6BFF DE F4 05 - jmp IrqHandler_Loop58 ; CPU:$EC02 PRG:6C02 4C 46 EC + jmp IrqHandler_Loop361 ; CPU:$EC02 PRG:6C02 4C 46 EC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop55 -; Global: Branch target inside IrqHandler: taken when Loop55. +; Routine: IrqHandler_Loop358 +; Global: Branch target inside IrqHandler: taken when Loop358. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop55: +IrqHandler_Loop358: lda $0630,x ; CPU:$EC05 PRG:6C05 BD 30 06 - sta Zp18 ; CPU:$EC08 PRG:6C08 85 18 + sta PlayerX ; CPU:$EC08 PRG:6C08 85 18 lda $0636,x ; CPU:$EC0A PRG:6C0A BD 36 06 - sta Zp19 ; CPU:$EC0D PRG:6C0D 85 19 + sta PlayerY ; CPU:$EC0D PRG:6C0D 85 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC0F ; Global: Branch target inside Sub: taken when EC0F. @@ -3725,126 +11634,126 @@ IrqHandler_Loop55: ; ----------------------------------------------------------------------------- Sub_EC0F: ldy #$00 ; CPU:$EC0F PRG:6C0F A0 00 - lda (Zp18),y ; CPU:$EC11 PRG:6C11 B1 18 + lda (PlayerX),y ; CPU:$EC11 PRG:6C11 B1 18 cmp #$80 ; CPU:$EC13 PRG:6C13 C9 80 - beq IrqHandler_Loop57 ; CPU:$EC15 PRG:6C15 F0 1B + beq IrqHandler_Loop360 ; CPU:$EC15 PRG:6C15 F0 1B eor #$FF ; CPU:$EC17 PRG:6C17 49 FF clc ; CPU:$EC19 PRG:6C19 18 adc #$01 ; CPU:$EC1A PRG:6C1A 69 01 sta $0624,x ; CPU:$EC1C PRG:6C1C 9D 24 06 - inc Zp18 ; CPU:$EC1F PRG:6C1F E6 18 - bne IrqHandler_Loop56 ; CPU:$EC21 PRG:6C21 D0 02 - inc Zp19 ; CPU:$EC23 PRG:6C23 E6 19 + inc PlayerX ; CPU:$EC1F PRG:6C1F E6 18 + bne IrqHandler_Loop359 ; CPU:$EC21 PRG:6C21 D0 02 + inc PlayerY ; CPU:$EC23 PRG:6C23 E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop56 -; Global: Branch target inside IrqHandler: taken when Loop56. +; Routine: IrqHandler_Loop359 +; Global: Branch target inside IrqHandler: taken when Loop359. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop56: - lda Zp18 ; CPU:$EC25 PRG:6C25 A5 18 +IrqHandler_Loop359: + lda PlayerX ; CPU:$EC25 PRG:6C25 A5 18 sta $0630,x ; CPU:$EC27 PRG:6C27 9D 30 06 - lda Zp19 ; CPU:$EC2A PRG:6C2A A5 19 + lda PlayerY ; CPU:$EC2A PRG:6C2A A5 19 sta $0636,x ; CPU:$EC2C PRG:6C2C 9D 36 06 - jmp IrqHandler_Loop58 ; CPU:$EC2F PRG:6C2F 4C 46 EC + jmp IrqHandler_Loop361 ; CPU:$EC2F PRG:6C2F 4C 46 EC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop57 -; Global: Branch target inside IrqHandler: taken when Loop57. +; Routine: IrqHandler_Loop360 +; Global: Branch target inside IrqHandler: taken when Loop360. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop57: +IrqHandler_Loop360: lda $05A0,x ; CPU:$EC32 PRG:6C32 BD A0 05 and #$7F ; CPU:$EC35 PRG:6C35 29 7F asl a ; CPU:$EC37 PRG:6C37 0A tay ; CPU:$EC38 PRG:6C38 A8 lda $8884,y ; CPU:$EC39 PRG:6C39 B9 84 88 - sta Zp18 ; CPU:$EC3C PRG:6C3C 85 18 + sta PlayerX ; CPU:$EC3C PRG:6C3C 85 18 lda $8885,y ; CPU:$EC3E PRG:6C3E B9 85 88 - sta Zp19 ; CPU:$EC41 PRG:6C41 85 19 + sta PlayerY ; CPU:$EC41 PRG:6C41 85 19 jmp Sub_EC0F ; CPU:$EC43 PRG:6C43 4C 0F EC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop58 -; Global: Branch target inside IrqHandler: taken when Loop58. +; Routine: IrqHandler_Loop361 +; Global: Branch target inside IrqHandler: taken when Loop361. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop58: +IrqHandler_Loop361: lda $0618,x ; CPU:$EC46 PRG:6C46 BD 18 06 sta Zp1A ; CPU:$EC49 PRG:6C49 85 1A lda $061E,x ; CPU:$EC4B PRG:6C4B BD 1E 06 sta Zp1B ; CPU:$EC4E PRG:6C4E 85 1B lda $0594,x ; CPU:$EC50 PRG:6C50 BD 94 05 - beq IrqHandler_Loop61 ; CPU:$EC53 PRG:6C53 F0 14 - bmi IrqHandler_Loop59 ; CPU:$EC55 PRG:6C55 30 09 + beq IrqHandler_Loop364 ; CPU:$EC53 PRG:6C53 F0 14 + bmi IrqHandler_Loop362 ; CPU:$EC55 PRG:6C55 30 09 clc ; CPU:$EC57 PRG:6C57 18 adc Zp1A ; CPU:$EC58 PRG:6C58 65 1A - bcc IrqHandler_Loop60 ; CPU:$EC5A PRG:6C5A 90 0B + bcc IrqHandler_Loop363 ; CPU:$EC5A PRG:6C5A 90 0B inc Zp1B ; CPU:$EC5C PRG:6C5C E6 1B - bcs IrqHandler_Loop60 ; CPU:$EC5E PRG:6C5E B0 07 + bcs IrqHandler_Loop363 ; CPU:$EC5E PRG:6C5E B0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop59 -; Global: Branch target inside IrqHandler: taken when Loop59. +; Routine: IrqHandler_Loop362 +; Global: Branch target inside IrqHandler: taken when Loop362. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop59: +IrqHandler_Loop362: clc ; CPU:$EC60 PRG:6C60 18 adc Zp1A ; CPU:$EC61 PRG:6C61 65 1A - bcs IrqHandler_Loop60 ; CPU:$EC63 PRG:6C63 B0 02 + bcs IrqHandler_Loop363 ; CPU:$EC63 PRG:6C63 B0 02 dec Zp1B ; CPU:$EC65 PRG:6C65 C6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop60 -; Global: Branch target inside IrqHandler: taken when Loop60. +; Routine: IrqHandler_Loop363 +; Global: Branch target inside IrqHandler: taken when Loop363. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop60: +IrqHandler_Loop363: sta Zp1A ; CPU:$EC67 PRG:6C67 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop61 -; Global: Branch target inside IrqHandler: taken when Loop61. +; Routine: IrqHandler_Loop364 +; Global: Branch target inside IrqHandler: taken when Loop364. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop61: +IrqHandler_Loop364: lda $058E,x ; CPU:$EC69 PRG:6C69 BD 8E 05 - beq IrqHandler_Loop62 ; CPU:$EC6C PRG:6C6C F0 03 + beq IrqHandler_Loop365 ; CPU:$EC6C PRG:6C6C F0 03 jmp Sub_ED3B ; CPU:$EC6E PRG:6C6E 4C 3B ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop62 -; Global: Branch target inside IrqHandler: taken when Loop62. +; Routine: IrqHandler_Loop365 +; Global: Branch target inside IrqHandler: taken when Loop365. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop62: +IrqHandler_Loop365: lda $059A,x ; CPU:$EC71 PRG:6C71 BD 9A 05 - bmi IrqHandler_Loop67 ; CPU:$EC74 PRG:6C74 30 44 - bne IrqHandler_Loop63 ; CPU:$EC76 PRG:6C76 D0 03 + bmi IrqHandler_Loop370 ; CPU:$EC74 PRG:6C74 30 44 + bne IrqHandler_Loop366 ; CPU:$EC76 PRG:6C76 D0 03 jmp Sub_ED3B ; CPU:$EC78 PRG:6C78 4C 3B ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop63 -; Global: Branch target inside IrqHandler: taken when Loop63. +; Routine: IrqHandler_Loop366 +; Global: Branch target inside IrqHandler: taken when Loop366. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop63: +IrqHandler_Loop366: tay ; CPU:$EC7B PRG:6C7B A8 ora #$80 ; CPU:$EC7C PRG:6C7C 09 80 sta $059A,x ; CPU:$EC7E PRG:6C7E 9D 9A 05 @@ -3853,85 +11762,94 @@ IrqHandler_Loop63: tay ; CPU:$EC83 PRG:6C83 A8 lda $8882,y ; CPU:$EC84 PRG:6C84 B9 82 88 sta $060C,x ; CPU:$EC87 PRG:6C87 9D 0C 06 - sta Zp18 ; CPU:$EC8A PRG:6C8A 85 18 + sta PlayerX ; CPU:$EC8A PRG:6C8A 85 18 lda $8883,y ; CPU:$EC8C PRG:6C8C B9 83 88 sta $0612,x ; CPU:$EC8F PRG:6C8F 9D 12 06 - sta Zp19 ; CPU:$EC92 PRG:6C92 85 19 + sta PlayerY ; CPU:$EC92 PRG:6C92 85 19 lda #$00 ; CPU:$EC94 PRG:6C94 A9 00 sta $0582,x ; CPU:$EC96 PRG:6C96 9D 82 05 - inc Zp18 ; CPU:$EC99 PRG:6C99 E6 18 - bne IrqHandler_Loop64 ; CPU:$EC9B PRG:6C9B D0 02 - inc Zp19 ; CPU:$EC9D PRG:6C9D E6 19 + inc PlayerX ; CPU:$EC99 PRG:6C99 E6 18 + bne IrqHandler_Loop367 ; CPU:$EC9B PRG:6C9B D0 02 + inc PlayerY ; CPU:$EC9D PRG:6C9D E6 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop64 -; Global: Branch target inside IrqHandler: taken when Loop64. +; Routine: IrqHandler_Loop367 +; Global: Branch target inside IrqHandler: taken when Loop367. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop64: +IrqHandler_Loop367: ldy #$00 ; CPU:$EC9F PRG:6C9F A0 00 - lda (Zp18),y ; CPU:$ECA1 PRG:6CA1 B1 18 - bmi IrqHandler_Loop65 ; CPU:$ECA3 PRG:6CA3 30 09 + lda (PlayerX),y ; CPU:$ECA1 PRG:6CA1 B1 18 + bmi IrqHandler_Loop368 ; CPU:$ECA3 PRG:6CA3 30 09 clc ; CPU:$ECA5 PRG:6CA5 18 adc Zp1A ; CPU:$ECA6 PRG:6CA6 65 1A - bcc IrqHandler_Loop66 ; CPU:$ECA8 PRG:6CA8 90 0B + bcc IrqHandler_Loop369 ; CPU:$ECA8 PRG:6CA8 90 0B inc Zp1B ; CPU:$ECAA PRG:6CAA E6 1B - bcs IrqHandler_Loop66 ; CPU:$ECAC PRG:6CAC B0 07 + bcs IrqHandler_Loop369 ; CPU:$ECAC PRG:6CAC B0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop65 -; Global: Branch target inside IrqHandler: taken when Loop65. +; Routine: IrqHandler_Loop368 +; Global: Branch target inside IrqHandler: taken when Loop368. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop65: +IrqHandler_Loop368: clc ; CPU:$ECAE PRG:6CAE 18 adc Zp1A ; CPU:$ECAF PRG:6CAF 65 1A - bcs IrqHandler_Loop66 ; CPU:$ECB1 PRG:6CB1 B0 02 + bcs IrqHandler_Loop369 ; CPU:$ECB1 PRG:6CB1 B0 02 dec Zp1B ; CPU:$ECB3 PRG:6CB3 C6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop66 -; Global: Branch target inside IrqHandler: taken when Loop66. +; Routine: IrqHandler_Loop369 +; Global: Branch target inside IrqHandler: taken when Loop369. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop66: +IrqHandler_Loop369: sta Zp1A ; CPU:$ECB5 PRG:6CB5 85 1A jmp Sub_ED31 ; CPU:$ECB7 PRG:6CB7 4C 31 ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop67 -; Global: Branch target inside IrqHandler: taken when Loop67. +; Routine: IrqHandler_Loop370 +; Global: Branch target inside IrqHandler: taken when Loop370. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop67: +IrqHandler_Loop370: lda $060C,x ; CPU:$ECBA PRG:6CBA BD 0C 06 - sta Zp18 ; CPU:$ECBD PRG:6CBD 85 18 + sta PlayerX ; CPU:$ECBD PRG:6CBD 85 18 lda $0612,x ; CPU:$ECBF PRG:6CBF BD 12 06 - sta Zp19 ; CPU:$ECC2 PRG:6CC2 85 19 + sta PlayerY ; CPU:$ECC2 PRG:6CC2 85 19 lda $0582,x ; CPU:$ECC4 PRG:6CC4 BD 82 05 - bne IrqHandler_Loop69 ; CPU:$ECC7 PRG:6CC7 D0 30 - inc Zp18 ; CPU:$ECC9 PRG:6CC9 E6 18 - bne IrqHandler_Loop68 ; CPU:$ECCB PRG:6CCB D0 02 - inc Zp19 ; CPU:$ECCD PRG:6CCD E6 19 + bne IrqHandler_Loop372 ; CPU:$ECC7 PRG:6CC7 D0 30 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop68 -; Global: Branch target inside IrqHandler: taken when Loop68. +; Routine: Sub_ECC9 +; Global: Branch target inside Sub: taken when ECC9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ECC9: + inc PlayerX ; CPU:$ECC9 PRG:6CC9 E6 18 + bne IrqHandler_Loop371 ; CPU:$ECCB PRG:6CCB D0 02 + inc PlayerY ; CPU:$ECCD PRG:6CCD E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop371 +; Global: Branch target inside IrqHandler: taken when Loop371. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop68: +IrqHandler_Loop371: ldy #$00 ; CPU:$ECCF PRG:6CCF A0 00 - lda (Zp18),y ; CPU:$ECD1 PRG:6CD1 B1 18 + lda (PlayerX),y ; CPU:$ECD1 PRG:6CD1 B1 18 sec ; CPU:$ECD3 PRG:6CD3 38 sbc #$FA ; CPU:$ECD4 PRG:6CD4 E9 FA asl a ; CPU:$ECD6 PRG:6CD6 0A @@ -3956,73 +11874,73 @@ IrqHandler_Loop68: pha ; CPU:$ECF7 PRG:6CF7 48 rts ; CPU:$ECF8 PRG:6CF8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop69 -; Global: Branch target inside IrqHandler: taken when Loop69. +; Routine: IrqHandler_Loop372 +; Global: Branch target inside IrqHandler: taken when Loop372. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop69: +IrqHandler_Loop372: lda $05E2,x ; CPU:$ECF9 PRG:6CF9 BD E2 05 - beq IrqHandler_Loop70 ; CPU:$ECFC PRG:6CFC F0 06 + beq IrqHandler_Loop373 ; CPU:$ECFC PRG:6CFC F0 06 dec $05E2,x ; CPU:$ECFE PRG:6CFE DE E2 05 jmp Sub_ED31 ; CPU:$ED01 PRG:6D01 4C 31 ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop70 -; Global: Branch target inside IrqHandler: taken when Loop70. +; Routine: IrqHandler_Loop373 +; Global: Branch target inside IrqHandler: taken when Loop373. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop70: +IrqHandler_Loop373: lda $05DC,x ; CPU:$ED04 PRG:6D04 BD DC 05 sta $05E2,x ; CPU:$ED07 PRG:6D07 9D E2 05 lda $05E8,x ; CPU:$ED0A PRG:6D0A BD E8 05 - bne IrqHandler_Loop71 ; CPU:$ED0D PRG:6D0D D0 08 + bne IrqHandler_Loop374 ; CPU:$ED0D PRG:6D0D D0 08 lda #$00 ; CPU:$ED0F PRG:6D0F A9 00 sta $0582,x ; CPU:$ED11 PRG:6D11 9D 82 05 jmp Sub_ED31 ; CPU:$ED14 PRG:6D14 4C 31 ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop71 -; Global: Branch target inside IrqHandler: taken when Loop71. +; Routine: IrqHandler_Loop374 +; Global: Branch target inside IrqHandler: taken when Loop374. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop71: +IrqHandler_Loop374: dec $05E8,x ; CPU:$ED17 PRG:6D17 DE E8 05 lda $05D6,x ; CPU:$ED1A PRG:6D1A BD D6 05 - bmi IrqHandler_Loop72 ; CPU:$ED1D PRG:6D1D 30 09 + bmi IrqHandler_Loop375 ; CPU:$ED1D PRG:6D1D 30 09 clc ; CPU:$ED1F PRG:6D1F 18 adc Zp1A ; CPU:$ED20 PRG:6D20 65 1A - bcc IrqHandler_Loop73 ; CPU:$ED22 PRG:6D22 90 0B + bcc IrqHandler_Loop376 ; CPU:$ED22 PRG:6D22 90 0B inc Zp1B ; CPU:$ED24 PRG:6D24 E6 1B - bcs IrqHandler_Loop73 ; CPU:$ED26 PRG:6D26 B0 07 + bcs IrqHandler_Loop376 ; CPU:$ED26 PRG:6D26 B0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop72 -; Global: Branch target inside IrqHandler: taken when Loop72. +; Routine: IrqHandler_Loop375 +; Global: Branch target inside IrqHandler: taken when Loop375. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop72: +IrqHandler_Loop375: clc ; CPU:$ED28 PRG:6D28 18 adc Zp1A ; CPU:$ED29 PRG:6D29 65 1A - bcs IrqHandler_Loop73 ; CPU:$ED2B PRG:6D2B B0 02 + bcs IrqHandler_Loop376 ; CPU:$ED2B PRG:6D2B B0 02 dec Zp1B ; CPU:$ED2D PRG:6D2D C6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop73 -; Global: Branch target inside IrqHandler: taken when Loop73. +; Routine: IrqHandler_Loop376 +; Global: Branch target inside IrqHandler: taken when Loop376. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop73: +IrqHandler_Loop376: sta Zp1A ; CPU:$ED2F PRG:6D2F 85 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_ED31 @@ -4033,9 +11951,9 @@ IrqHandler_Loop73: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_ED31: - lda Zp18 ; CPU:$ED31 PRG:6D31 A5 18 + lda PlayerX ; CPU:$ED31 PRG:6D31 A5 18 sta $060C,x ; CPU:$ED33 PRG:6D33 9D 0C 06 - lda Zp19 ; CPU:$ED36 PRG:6D36 A5 19 + lda PlayerY ; CPU:$ED36 PRG:6D36 A5 19 sta $0612,x ; CPU:$ED38 PRG:6D38 9D 12 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED3B @@ -4051,60 +11969,535 @@ Sub_ED3B: lda Zp1B ; CPU:$ED40 PRG:6D40 A5 1B sta $061E,x ; CPU:$ED42 PRG:6D42 9D 1E 06 rts ; CPU:$ED45 PRG:6D45 60 -; ---- data $ED46-$F086 (833 bytes) ---- - .byte $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $D6, $05, $E6, $18 ; CPU:$ED46 PRG:6D46 AE 06 05 E6 18 D0 02 E6 19 B1 18 9D D6 05 E6 18 - .byte $D0, $02, $E6, $19, $B1, $18, $9D, $DC, $05, $9D, $E2, $05, $E6, $18, $D0, $02 ; CPU:$ED56 PRG:6D56 D0 02 E6 19 B1 18 9D DC 05 9D E2 05 E6 18 D0 02 - .byte $E6, $19, $B1, $18, $9D, $E8, $05, $FE, $82, $05, $4C, $F9, $EC, $AE, $06, $05 ; CPU:$ED66 PRG:6D66 E6 19 B1 18 9D E8 05 FE 82 05 4C F9 EC AE 06 05 - .byte $E6, $18, $D0, $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$ED76 PRG:6D76 E6 18 D0 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 - .byte $18, $85, $19, $68, $85, $18, $4C, $C9, $EC, $AE, $06, $05, $FE, $8E, $05, $4C ; CPU:$ED86 PRG:6D86 18 85 19 68 85 18 4C C9 EC AE 06 05 FE 8E 05 4C - .byte $3B, $ED, $A9, $00, $4C, $B8, $ED, $A9, $0C, $4C, $B8, $ED, $A9, $18, $4C, $B8 ; CPU:$ED96 PRG:6D96 3B ED A9 00 4C B8 ED A9 0C 4C B8 ED A9 18 4C B8 - .byte $ED, $A9, $24, $4C, $B8, $ED, $A9, $30, $4C, $B8, $ED, $A9, $3C, $4C, $B8, $ED ; CPU:$EDA6 PRG:6DA6 ED A9 24 4C B8 ED A9 30 4C B8 ED A9 3C 4C B8 ED - .byte $A9, $48, $AE, $06, $05, $9D, $4C, $05, $4C, $C3, $E8, $AE, $06, $05, $BD, $4C ; CPU:$EDB6 PRG:6DB6 A9 48 AE 06 05 9D 4C 05 4C C3 E8 AE 06 05 BD 4C - .byte $05, $18, $69, $0C, $9D, $4C, $05, $4C, $C3, $E8, $AE, $06, $05, $BD, $4C, $05 ; CPU:$EDC6 PRG:6DC6 05 18 69 0C 9D 4C 05 4C C3 E8 AE 06 05 BD 4C 05 - .byte $38, $E9, $0C, $9D, $4C, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02 ; CPU:$EDD6 PRG:6DD6 38 E9 0C 9D 4C 05 4C C3 E8 AE 06 05 E6 18 D0 02 - .byte $E6, $19, $B1, $18, $9D, $5E, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0 ; CPU:$EDE6 PRG:6DE6 E6 19 B1 18 9D 5E 05 4C C3 E8 AE 06 05 E6 18 D0 - .byte $02, $E6, $19, $B1, $18, $9D, $64, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18 ; CPU:$EDF6 PRG:6DF6 02 E6 19 B1 18 9D 64 05 4C C3 E8 AE 06 05 E6 18 - .byte $D0, $02, $E6, $19, $B1, $18, $9D, $46, $05, $4C, $C3, $E8, $AE, $06, $05, $E6 ; CPU:$EE06 PRG:6E06 D0 02 E6 19 B1 18 9D 46 05 4C C3 E8 AE 06 05 E6 - .byte $18, $D0, $02, $E6, $19, $B1, $18, $9D, $40, $05, $4C, $C3, $E8, $AE, $06, $05 ; CPU:$EE16 PRG:6E16 18 D0 02 E6 19 B1 18 9D 40 05 4C C3 E8 AE 06 05 - .byte $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $6A, $05, $4C, $C3, $E8, $AE, $06 ; CPU:$EE26 PRG:6E26 E6 18 D0 02 E6 19 B1 18 9D 6A 05 4C C3 E8 AE 06 - .byte $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $18, $7D, $6A, $05, $9D, $6A, $05 ; CPU:$EE36 PRG:6E36 05 E6 18 D0 02 E6 19 B1 18 18 7D 6A 05 9D 6A 05 - .byte $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $58 ; CPU:$EE46 PRG:6E46 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 9D 58 - .byte $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $18 ; CPU:$EE56 PRG:6E56 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 18 - .byte $7D, $58, $05, $9D, $58, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02 ; CPU:$EE66 PRG:6E66 7D 58 05 9D 58 05 4C C3 E8 AE 06 05 E6 18 D0 02 - .byte $E6, $19, $B1, $18, $48, $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC ; CPU:$EE76 PRG:6E76 E6 19 B1 18 48 BD CC F5 85 1A BD D2 F5 85 1B BC - .byte $70, $05, $A5, $18, $91, $1A, $C8, $A5, $19, $91, $1A, $C8, $68, $91, $1A, $C8 ; CPU:$EE86 PRG:6E86 70 05 A5 18 91 1A C8 A5 19 91 1A C8 68 91 1A C8 - .byte $98, $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $BD, $CC, $F5, $85 ; CPU:$EE96 PRG:6E96 98 9D 70 05 A0 00 4C C3 E8 AE 06 05 BD CC F5 85 - .byte $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $88, $B1, $1A, $F0, $12, $38, $E9 ; CPU:$EEA6 PRG:6EA6 1A BD D2 F5 85 1B BC 70 05 88 B1 1A F0 12 38 E9 - .byte $01, $91, $1A, $88, $B1, $1A, $85, $19, $88, $B1, $1A, $85, $18, $4C, $C3, $E8 ; CPU:$EEB6 PRG:6EB6 01 91 1A 88 B1 1A 85 19 88 B1 1A 85 18 4C C3 E8 - .byte $88, $88, $98, $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $E6, $18 ; CPU:$EEC6 PRG:6EC6 88 88 98 9D 70 05 A0 00 4C C3 E8 AE 06 05 E6 18 - .byte $D0, $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $48 ; CPU:$EED6 PRG:6ED6 D0 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 48 - .byte $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $88, $B1, $1A ; CPU:$EEE6 PRG:6EE6 BD CC F5 85 1A BD D2 F5 85 1B BC 70 05 88 B1 1A - .byte $D0, $11, $88, $88, $98, $9D, $70, $05, $68, $85, $19, $68, $85, $18, $A0, $00 ; CPU:$EEF6 PRG:6EF6 D0 11 88 88 98 9D 70 05 68 85 19 68 85 18 A0 00 - .byte $4C, $C3, $E8, $68, $68, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0 ; CPU:$EF06 PRG:6F06 4C C3 E8 68 68 A0 00 4C C3 E8 AE 06 05 E6 18 D0 - .byte $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $48, $BD ; CPU:$EF16 PRG:6F16 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 48 BD - .byte $CC, $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $A5, $18, $91, $1A ; CPU:$EF26 PRG:6F26 CC F5 85 1A BD D2 F5 85 1B BC 70 05 A5 18 91 1A - .byte $C8, $A5, $19, $91, $1A, $C8, $98, $9D, $70, $05, $68, $85, $19, $68, $85, $18 ; CPU:$EF36 PRG:6F36 C8 A5 19 91 1A C8 98 9D 70 05 68 85 19 68 85 18 - .byte $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5 ; CPU:$EF46 PRG:6F46 A0 00 4C C3 E8 AE 06 05 BD CC F5 85 1A BD D2 F5 - .byte $85, $1B, $BC, $70, $05, $88, $B1, $1A, $85, $19, $88, $B1, $1A, $85, $18, $98 ; CPU:$EF56 PRG:6F56 85 1B BC 70 05 88 B1 1A 85 19 88 B1 1A 85 18 98 - .byte $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6 ; CPU:$EF66 PRG:6F66 9D 70 05 A0 00 4C C3 E8 AE 06 05 E6 18 D0 02 E6 - .byte $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $85, $19, $68, $85 ; CPU:$EF76 PRG:6F76 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 85 19 68 85 - .byte $18, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $8D ; CPU:$EF86 PRG:6F86 18 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 8D - .byte $09, $05, $EE, $08, $05, $A9, $00, $85, $1E, $85, $1F, $4C, $C3, $E8, $AE, $06 ; CPU:$EF96 PRG:6F96 09 05 EE 08 05 A9 00 85 1E 85 1F 4C C3 E8 AE 06 - .byte $05, $FE, $76, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19 ; CPU:$EFA6 PRG:6FA6 05 FE 76 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 - .byte $B1, $18, $9D, $52, $05, $4C, $C3, $E8, $AE, $06, $05, $4C, $C3, $E8, $AE, $06 ; CPU:$EFB6 PRG:6FB6 B1 18 9D 52 05 4C C3 E8 AE 06 05 4C C3 E8 AE 06 - .byte $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $18, $7D, $52, $05, $9D, $52, $05 ; CPU:$EFC6 PRG:6FC6 05 E6 18 D0 02 E6 19 B1 18 18 7D 52 05 9D 52 05 - .byte $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $94 ; CPU:$EFD6 PRG:6FD6 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 9D 94 - .byte $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D ; CPU:$EFE6 PRG:6FE6 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 9D - .byte $9A, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $8A, $48 ; CPU:$EFF6 PRG:6FF6 9A 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 8A 48 - .byte $B1, $18, $C9, $40, $B0, $0D, $20, $2B, $F4, $D0, $03, $EE, $0D, $05, $68, $AA ; CPU:$F006 PRG:7006 B1 18 C9 40 B0 0D 20 2B F4 D0 03 EE 0D 05 68 AA - .byte $4C, $C3, $E8, $20, $2B, $F4, $68, $AA, $4C, $C3, $E8, $AE, $06, $05, $E6, $18 ; CPU:$F016 PRG:7016 4C C3 E8 20 2B F4 68 AA 4C C3 E8 AE 06 05 E6 18 - .byte $D0, $02, $E6, $19, $B1, $18, $9D, $A0, $05, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$F026 PRG:7026 D0 02 E6 19 B1 18 9D A0 05 E6 18 D0 02 E6 19 B1 - .byte $18, $9D, $AC, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19 ; CPU:$F036 PRG:7036 18 9D AC 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 - .byte $B1, $18, $9D, $A6, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $9D, $B2, $05 ; CPU:$F046 PRG:7046 B1 18 9D A6 05 E6 18 D0 02 E6 19 B1 18 9D B2 05 - .byte $4C, $C3, $E8, $AE, $06, $05, $E0, $04, $90, $1A, $CE, $0B, $05, $D0, $05, $A9 ; CPU:$F056 PRG:7056 4C C3 E8 AE 06 05 E0 04 90 1A CE 0B 05 D0 05 A9 - .byte $00, $8D, $02, $05, $8E, $06, $05, $A2, $01, $A9, $80, $9D, $5A, $06, $AE, $06 ; CPU:$F066 PRG:7066 00 8D 02 05 8E 06 05 A2 01 A9 80 9D 5A 06 AE 06 - .byte $05, $4C, $D1, $F3, $CE, $0C, $05, $D0, $05, $A9, $00, $8D, $01, $05, $4C, $D1 ; CPU:$F076 PRG:7076 05 4C D1 F3 CE 0C 05 D0 05 A9 00 8D 01 05 4C D1 - .byte $F3 ; CPU:$F086 PRG:7086 F3 +; ----------------------------------------------------------------------------- +; Routine: Label_ED46 +; Global: Branch target inside Label: taken when ED46. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED46: + ldx $0506 ; CPU:$ED46 PRG:6D46 AE 06 05 + inc PlayerX ; CPU:$ED49 PRG:6D49 E6 18 + bne IrqHandler_Loop377 ; CPU:$ED4B PRG:6D4B D0 02 + inc PlayerY ; CPU:$ED4D PRG:6D4D E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop377 +; Global: Branch target inside IrqHandler: taken when Loop377. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop377: + lda (PlayerX),y ; CPU:$ED4F PRG:6D4F B1 18 + sta $05D6,x ; CPU:$ED51 PRG:6D51 9D D6 05 + inc PlayerX ; CPU:$ED54 PRG:6D54 E6 18 + bne IrqHandler_Loop378 ; CPU:$ED56 PRG:6D56 D0 02 + inc PlayerY ; CPU:$ED58 PRG:6D58 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop378 +; Global: Branch target inside IrqHandler: taken when Loop378. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop378: + lda (PlayerX),y ; CPU:$ED5A PRG:6D5A B1 18 + sta $05DC,x ; CPU:$ED5C PRG:6D5C 9D DC 05 + sta $05E2,x ; CPU:$ED5F PRG:6D5F 9D E2 05 + inc PlayerX ; CPU:$ED62 PRG:6D62 E6 18 + bne IrqHandler_Loop379 ; CPU:$ED64 PRG:6D64 D0 02 + inc PlayerY ; CPU:$ED66 PRG:6D66 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop379 +; Global: Branch target inside IrqHandler: taken when Loop379. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop379: + lda (PlayerX),y ; CPU:$ED68 PRG:6D68 B1 18 + sta $05E8,x ; CPU:$ED6A PRG:6D6A 9D E8 05 + inc $0582,x ; CPU:$ED6D PRG:6D6D FE 82 05 + jmp IrqHandler_Loop372 ; CPU:$ED70 PRG:6D70 4C F9 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ED73 +; Global: Branch target inside Label: taken when ED73. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED73: + ldx $0506 ; CPU:$ED73 PRG:6D73 AE 06 05 + inc PlayerX ; CPU:$ED76 PRG:6D76 E6 18 + bne IrqHandler_Loop380 ; CPU:$ED78 PRG:6D78 D0 02 + inc PlayerY ; CPU:$ED7A PRG:6D7A E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop380 +; Global: Branch target inside IrqHandler: taken when Loop380. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop380: + lda (PlayerX),y ; CPU:$ED7C PRG:6D7C B1 18 + pha ; CPU:$ED7E PRG:6D7E 48 + inc PlayerX ; CPU:$ED7F PRG:6D7F E6 18 + bne IrqHandler_Loop381 ; CPU:$ED81 PRG:6D81 D0 02 + inc PlayerY ; CPU:$ED83 PRG:6D83 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop381 +; Global: Branch target inside IrqHandler: taken when Loop381. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop381: + lda (PlayerX),y ; CPU:$ED85 PRG:6D85 B1 18 + sta PlayerY ; CPU:$ED87 PRG:6D87 85 19 + pla ; CPU:$ED89 PRG:6D89 68 + sta PlayerX ; CPU:$ED8A PRG:6D8A 85 18 + jmp Sub_ECC9 ; CPU:$ED8C PRG:6D8C 4C C9 EC +; ----------------------------------------------------------------------------- +; Routine: Label_ED8F +; Global: Branch target inside Label: taken when ED8F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED8F: + ldx $0506 ; CPU:$ED8F PRG:6D8F AE 06 05 + inc $058E,x ; CPU:$ED92 PRG:6D92 FE 8E 05 + jmp Sub_ED3B ; CPU:$ED95 PRG:6D95 4C 3B ED +; ----------------------------------------------------------------------------- +; Routine: Label_ED98 +; Global: Branch target inside Label: taken when ED98. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED98: + lda #$00 ; CPU:$ED98 PRG:6D98 A9 00 + jmp Sub_EDB8 ; CPU:$ED9A PRG:6D9A 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_ED9D +; Global: Branch target inside Label: taken when ED9D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED9D: + lda #$0C ; CPU:$ED9D PRG:6D9D A9 0C + jmp Sub_EDB8 ; CPU:$ED9F PRG:6D9F 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EDA2 +; Global: Branch target inside Label: taken when EDA2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDA2: + lda #$18 ; CPU:$EDA2 PRG:6DA2 A9 18 + jmp Sub_EDB8 ; CPU:$EDA4 PRG:6DA4 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EDA7 +; Global: Branch target inside Label: taken when EDA7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDA7: + lda #$24 ; CPU:$EDA7 PRG:6DA7 A9 24 + jmp Sub_EDB8 ; CPU:$EDA9 PRG:6DA9 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EDAC +; Global: Branch target inside Label: taken when EDAC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDAC: + lda #$30 ; CPU:$EDAC PRG:6DAC A9 30 + jmp Sub_EDB8 ; CPU:$EDAE PRG:6DAE 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EDB1 +; Global: Branch target inside Label: taken when EDB1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDB1: + lda #$3C ; CPU:$EDB1 PRG:6DB1 A9 3C + jmp Sub_EDB8 ; CPU:$EDB3 PRG:6DB3 4C B8 ED +; ----------------------------------------------------------------------------- +; Routine: Label_EDB6 +; Global: Branch target inside Label: taken when EDB6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDB6: + lda #$48 ; CPU:$EDB6 PRG:6DB6 A9 48 +; ----------------------------------------------------------------------------- +; Routine: Sub_EDB8 +; Global: Branch target inside Sub: taken when EDB8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EDB8: + ldx $0506 ; CPU:$EDB8 PRG:6DB8 AE 06 05 + sta $054C,x ; CPU:$EDBB PRG:6DBB 9D 4C 05 + jmp Sub_E8C3 ; CPU:$EDBE PRG:6DBE 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EDC1 +; Global: Branch target inside Label: taken when EDC1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDC1: + ldx $0506 ; CPU:$EDC1 PRG:6DC1 AE 06 05 + lda $054C,x ; CPU:$EDC4 PRG:6DC4 BD 4C 05 + clc ; CPU:$EDC7 PRG:6DC7 18 + adc #$0C ; CPU:$EDC8 PRG:6DC8 69 0C + sta $054C,x ; CPU:$EDCA PRG:6DCA 9D 4C 05 + jmp Sub_E8C3 ; CPU:$EDCD PRG:6DCD 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EDD0 +; Global: Branch target inside Label: taken when EDD0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDD0: + ldx $0506 ; CPU:$EDD0 PRG:6DD0 AE 06 05 + lda $054C,x ; CPU:$EDD3 PRG:6DD3 BD 4C 05 + sec ; CPU:$EDD6 PRG:6DD6 38 + sbc #$0C ; CPU:$EDD7 PRG:6DD7 E9 0C + sta $054C,x ; CPU:$EDD9 PRG:6DD9 9D 4C 05 + jmp Sub_E8C3 ; CPU:$EDDC PRG:6DDC 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EDDF +; Global: Branch target inside Label: taken when EDDF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDDF: + ldx $0506 ; CPU:$EDDF PRG:6DDF AE 06 05 + inc PlayerX ; CPU:$EDE2 PRG:6DE2 E6 18 + bne IrqHandler_Loop382 ; CPU:$EDE4 PRG:6DE4 D0 02 + inc PlayerY ; CPU:$EDE6 PRG:6DE6 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop382 +; Global: Branch target inside IrqHandler: taken when Loop382. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop382: + lda (PlayerX),y ; CPU:$EDE8 PRG:6DE8 B1 18 + sta $055E,x ; CPU:$EDEA PRG:6DEA 9D 5E 05 + jmp Sub_E8C3 ; CPU:$EDED PRG:6DED 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EDF0 +; Global: Branch target inside Label: taken when EDF0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDF0: + ldx $0506 ; CPU:$EDF0 PRG:6DF0 AE 06 05 + inc PlayerX ; CPU:$EDF3 PRG:6DF3 E6 18 + bne IrqHandler_Loop383 ; CPU:$EDF5 PRG:6DF5 D0 02 + inc PlayerY ; CPU:$EDF7 PRG:6DF7 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop383 +; Global: Branch target inside IrqHandler: taken when Loop383. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop383: + lda (PlayerX),y ; CPU:$EDF9 PRG:6DF9 B1 18 + sta $0564,x ; CPU:$EDFB PRG:6DFB 9D 64 05 + jmp Sub_E8C3 ; CPU:$EDFE PRG:6DFE 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EE01 +; Global: Branch target inside Label: taken when EE01. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EE01: + ldx $0506 ; CPU:$EE01 PRG:6E01 AE 06 05 + inc PlayerX ; CPU:$EE04 PRG:6E04 E6 18 + bne IrqHandler_Loop384 ; CPU:$EE06 PRG:6E06 D0 02 + inc PlayerY ; CPU:$EE08 PRG:6E08 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop384 +; Global: Branch target inside IrqHandler: taken when Loop384. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop384: + lda (PlayerX),y ; CPU:$EE0A PRG:6E0A B1 18 + sta $0546,x ; CPU:$EE0C PRG:6E0C 9D 46 05 + jmp Sub_E8C3 ; CPU:$EE0F PRG:6E0F 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EE12 +; Global: Branch target inside Label: taken when EE12. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EE12: + ldx $0506 ; CPU:$EE12 PRG:6E12 AE 06 05 + inc PlayerX ; CPU:$EE15 PRG:6E15 E6 18 + bne IrqHandler_Loop385 ; CPU:$EE17 PRG:6E17 D0 02 + inc PlayerY ; CPU:$EE19 PRG:6E19 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop385 +; Global: Branch target inside IrqHandler: taken when Loop385. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop385: + lda (PlayerX),y ; CPU:$EE1B PRG:6E1B B1 18 + sta $0540,x ; CPU:$EE1D PRG:6E1D 9D 40 05 + jmp Sub_E8C3 ; CPU:$EE20 PRG:6E20 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_EE23 +; Global: Branch target inside Label: taken when EE23. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EE23: + ldx $0506 ; CPU:$EE23 PRG:6E23 AE 06 05 + inc PlayerX ; CPU:$EE26 PRG:6E26 E6 18 + bne IrqHandler_Loop386 ; CPU:$EE28 PRG:6E28 D0 02 + inc PlayerY ; CPU:$EE2A PRG:6E2A E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop386 +; Global: Branch target inside IrqHandler: taken when Loop386. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop386: + lda (PlayerX),y ; CPU:$EE2C PRG:6E2C B1 18 + sta $056A,x ; CPU:$EE2E PRG:6E2E 9D 6A 05 + jmp Sub_E8C3 ; CPU:$EE31 PRG:6E31 4C C3 E8 +; ---- data $EE34-$F016 (483 bytes) ---- + .byte $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $18, $7D, $6A, $05, $9D ; CPU:$EE34 PRG:6E34 AE 06 05 E6 18 D0 02 E6 19 B1 18 18 7D 6A 05 9D + .byte $6A, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18 ; CPU:$EE44 PRG:6E44 6A 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 + .byte $9D, $58, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$EE54 PRG:6E54 9D 58 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 + .byte $18, $18, $7D, $58, $05, $9D, $58, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18 ; CPU:$EE64 PRG:6E64 18 18 7D 58 05 9D 58 05 4C C3 E8 AE 06 05 E6 18 + .byte $D0, $02, $E6, $19, $B1, $18, $48, $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5, $85 ; CPU:$EE74 PRG:6E74 D0 02 E6 19 B1 18 48 BD CC F5 85 1A BD D2 F5 85 + .byte $1B, $BC, $70, $05, $A5, $18, $91, $1A, $C8, $A5, $19, $91, $1A, $C8, $68, $91 ; CPU:$EE84 PRG:6E84 1B BC 70 05 A5 18 91 1A C8 A5 19 91 1A C8 68 91 + .byte $1A, $C8, $98, $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $BD, $CC ; CPU:$EE94 PRG:6E94 1A C8 98 9D 70 05 A0 00 4C C3 E8 AE 06 05 BD CC + .byte $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $88, $B1, $1A, $F0, $12 ; CPU:$EEA4 PRG:6EA4 F5 85 1A BD D2 F5 85 1B BC 70 05 88 B1 1A F0 12 + .byte $38, $E9, $01, $91, $1A, $88, $B1, $1A, $85, $19, $88, $B1, $1A, $85, $18, $4C ; CPU:$EEB4 PRG:6EB4 38 E9 01 91 1A 88 B1 1A 85 19 88 B1 1A 85 18 4C + .byte $C3, $E8, $88, $88, $98, $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05 ; CPU:$EEC4 PRG:6EC4 C3 E8 88 88 98 9D 70 05 A0 00 4C C3 E8 AE 06 05 + .byte $E6, $18, $D0, $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$EED4 PRG:6ED4 E6 18 D0 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 + .byte $18, $48, $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $88 ; CPU:$EEE4 PRG:6EE4 18 48 BD CC F5 85 1A BD D2 F5 85 1B BC 70 05 88 + .byte $B1, $1A, $D0, $11, $88, $88, $98, $9D, $70, $05, $68, $85, $19, $68, $85, $18 ; CPU:$EEF4 PRG:6EF4 B1 1A D0 11 88 88 98 9D 70 05 68 85 19 68 85 18 + .byte $A0, $00, $4C, $C3, $E8, $68, $68, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $E6 ; CPU:$EF04 PRG:6F04 A0 00 4C C3 E8 68 68 A0 00 4C C3 E8 AE 06 05 E6 + .byte $18, $D0, $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18 ; CPU:$EF14 PRG:6F14 18 D0 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 + .byte $48, $BD, $CC, $F5, $85, $1A, $BD, $D2, $F5, $85, $1B, $BC, $70, $05, $A5, $18 ; CPU:$EF24 PRG:6F24 48 BD CC F5 85 1A BD D2 F5 85 1B BC 70 05 A5 18 + .byte $91, $1A, $C8, $A5, $19, $91, $1A, $C8, $98, $9D, $70, $05, $68, $85, $19, $68 ; CPU:$EF34 PRG:6F34 91 1A C8 A5 19 91 1A C8 98 9D 70 05 68 85 19 68 + .byte $85, $18, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $BD, $CC, $F5, $85, $1A, $BD ; CPU:$EF44 PRG:6F44 85 18 A0 00 4C C3 E8 AE 06 05 BD CC F5 85 1A BD + .byte $D2, $F5, $85, $1B, $BC, $70, $05, $88, $B1, $1A, $85, $19, $88, $B1, $1A, $85 ; CPU:$EF54 PRG:6F54 D2 F5 85 1B BC 70 05 88 B1 1A 85 19 88 B1 1A 85 + .byte $18, $98, $9D, $70, $05, $A0, $00, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0 ; CPU:$EF64 PRG:6F64 18 98 9D 70 05 A0 00 4C C3 E8 AE 06 05 E6 18 D0 + .byte $02, $E6, $19, $B1, $18, $48, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $85, $19 ; CPU:$EF74 PRG:6F74 02 E6 19 B1 18 48 E6 18 D0 02 E6 19 B1 18 85 19 + .byte $68, $85, $18, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$EF84 PRG:6F84 68 85 18 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 + .byte $18, $8D, $09, $05, $EE, $08, $05, $A9, $00, $85, $1E, $85, $1F, $4C, $C3, $E8 ; CPU:$EF94 PRG:6F94 18 8D 09 05 EE 08 05 A9 00 85 1E 85 1F 4C C3 E8 + .byte $AE, $06, $05, $FE, $76, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02 ; CPU:$EFA4 PRG:6FA4 AE 06 05 FE 76 05 4C C3 E8 AE 06 05 E6 18 D0 02 + .byte $E6, $19, $B1, $18, $9D, $52, $05, $4C, $C3, $E8, $AE, $06, $05, $4C, $C3, $E8 ; CPU:$EFB4 PRG:6FB4 E6 19 B1 18 9D 52 05 4C C3 E8 AE 06 05 4C C3 E8 + .byte $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18, $18, $7D, $52, $05, $9D ; CPU:$EFC4 PRG:6FC4 AE 06 05 E6 18 D0 02 E6 19 B1 18 18 7D 52 05 9D + .byte $52, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1, $18 ; CPU:$EFD4 PRG:6FD4 52 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 18 + .byte $9D, $94, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19, $B1 ; CPU:$EFE4 PRG:6FE4 9D 94 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 B1 + .byte $18, $9D, $9A, $05, $4C, $C3, $E8, $AE, $06, $05, $E6, $18, $D0, $02, $E6, $19 ; CPU:$EFF4 PRG:6FF4 18 9D 9A 05 4C C3 E8 AE 06 05 E6 18 D0 02 E6 19 + .byte $8A, $48, $B1, $18, $C9, $40, $B0, $0D, $20, $2B, $F4, $D0, $03, $EE, $0D, $05 ; CPU:$F004 PRG:7004 8A 48 B1 18 C9 40 B0 0D 20 2B F4 D0 03 EE 0D 05 + .byte $68, $AA, $4C ; CPU:$F014 PRG:7014 68 AA 4C +; ----------------------------------------------------------------------------- +; Routine: Label_F017 +; Global: Branch target inside Label: taken when F017. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F017: + .byte $C3, $E8 ; CPU:$F017 PRG:7017 C3 E8 -- dcp (ZpE8,x) (undocumented; ca65 cannot encode) + jsr Sub_F42B ; CPU:$F019 PRG:7019 20 2B F4 + pla ; CPU:$F01C PRG:701C 68 + tax ; CPU:$F01D PRG:701D AA + jmp Sub_E8C3 ; CPU:$F01E PRG:701E 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_F021 +; Global: Branch target inside Label: taken when F021. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F021: + ldx $0506 ; CPU:$F021 PRG:7021 AE 06 05 + inc PlayerX ; CPU:$F024 PRG:7024 E6 18 + bne IrqHandler_Loop387 ; CPU:$F026 PRG:7026 D0 02 + inc PlayerY ; CPU:$F028 PRG:7028 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop387 +; Global: Branch target inside IrqHandler: taken when Loop387. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop387: + lda (PlayerX),y ; CPU:$F02A PRG:702A B1 18 + sta $05A0,x ; CPU:$F02C PRG:702C 9D A0 05 + inc PlayerX ; CPU:$F02F PRG:702F E6 18 + bne IrqHandler_Loop388 ; CPU:$F031 PRG:7031 D0 02 + inc PlayerY ; CPU:$F033 PRG:7033 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop388 +; Global: Branch target inside IrqHandler: taken when Loop388. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop388: + lda (PlayerX),y ; CPU:$F035 PRG:7035 B1 18 + sta $05AC,x ; CPU:$F037 PRG:7037 9D AC 05 + jmp Sub_E8C3 ; CPU:$F03A PRG:703A 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_F03D +; Global: Branch target inside Label: taken when F03D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F03D: + ldx $0506 ; CPU:$F03D PRG:703D AE 06 05 + inc PlayerX ; CPU:$F040 PRG:7040 E6 18 + bne IrqHandler_Loop389 ; CPU:$F042 PRG:7042 D0 02 + inc PlayerY ; CPU:$F044 PRG:7044 E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop389 +; Global: Branch target inside IrqHandler: taken when Loop389. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop389: + lda (PlayerX),y ; CPU:$F046 PRG:7046 B1 18 + sta $05A6,x ; CPU:$F048 PRG:7048 9D A6 05 + inc PlayerX ; CPU:$F04B PRG:704B E6 18 + bne IrqHandler_Loop390 ; CPU:$F04D PRG:704D D0 02 + inc PlayerY ; CPU:$F04F PRG:704F E6 19 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop390 +; Global: Branch target inside IrqHandler: taken when Loop390. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop390: + lda (PlayerX),y ; CPU:$F051 PRG:7051 B1 18 + sta $05B2,x ; CPU:$F053 PRG:7053 9D B2 05 + jmp Sub_E8C3 ; CPU:$F056 PRG:7056 4C C3 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_F059 +; Global: Branch target inside Label: taken when F059. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F059: + ldx $0506 ; CPU:$F059 PRG:7059 AE 06 05 + cpx #$04 ; CPU:$F05C PRG:705C E0 04 + bcc IrqHandler_Loop392 ; CPU:$F05E PRG:705E 90 1A + dec $050B ; CPU:$F060 PRG:7060 CE 0B 05 + bne IrqHandler_Loop391 ; CPU:$F063 PRG:7063 D0 05 + lda #$00 ; CPU:$F065 PRG:7065 A9 00 + sta $0502 ; CPU:$F067 PRG:7067 8D 02 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop391 +; Global: Branch target inside IrqHandler: taken when Loop391. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop391: + stx $0506 ; CPU:$F06A PRG:706A 8E 06 05 + ldx #$01 ; CPU:$F06D PRG:706D A2 01 + lda #$80 ; CPU:$F06F PRG:706F A9 80 + sta $065A,x ; CPU:$F071 PRG:7071 9D 5A 06 + ldx $0506 ; CPU:$F074 PRG:7074 AE 06 05 + jmp Sub_F3D1 ; CPU:$F077 PRG:7077 4C D1 F3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop392 +; Global: Branch target inside IrqHandler: taken when Loop392. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop392: + dec $050C ; CPU:$F07A PRG:707A CE 0C 05 + bne IrqHandler_Loop393 ; CPU:$F07D PRG:707D D0 05 + lda #$00 ; CPU:$F07F PRG:707F A9 00 + sta $0501 ; CPU:$F081 PRG:7081 8D 01 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop393 +; Global: Branch target inside IrqHandler: taken when Loop393. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop393: + jmp Sub_F3D1 ; CPU:$F084 PRG:7084 4C D1 F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_F087 ; Global: Branch target inside Sub: taken when F087. @@ -4115,56 +12508,65 @@ Sub_ED3B: ; ----------------------------------------------------------------------------- Sub_F087: lda $0508 ; CPU:$F087 PRG:7087 AD 08 05 - beq IrqHandler_Loop74 ; CPU:$F08A PRG:708A F0 2B + beq IrqHandler_Loop394 ; CPU:$F08A PRG:708A F0 2B lda $0507 ; CPU:$F08C PRG:708C AD 07 05 - bne IrqHandler_Loop74 ; CPU:$F08F PRG:708F D0 26 + bne IrqHandler_Loop394 ; CPU:$F08F PRG:708F D0 26 inc Zp1F ; CPU:$F091 PRG:7091 E6 1F lda Zp1F ; CPU:$F093 PRG:7093 A5 1F cmp $0509 ; CPU:$F095 PRG:7095 CD 09 05 - bcc IrqHandler_Loop74 ; CPU:$F098 PRG:7098 90 1D + bcc IrqHandler_Loop394 ; CPU:$F098 PRG:7098 90 1D lda #$00 ; CPU:$F09A PRG:709A A9 00 sta Zp1F ; CPU:$F09C PRG:709C 85 1F inc Zp1E ; CPU:$F09E PRG:709E E6 1E lda Zp1E ; CPU:$F0A0 PRG:70A0 A5 1E cmp #$10 ; CPU:$F0A2 PRG:70A2 C9 10 - bne IrqHandler_Loop74 ; CPU:$F0A4 PRG:70A4 D0 11 + bne IrqHandler_Loop394 ; CPU:$F0A4 PRG:70A4 D0 11 lda #$00 ; CPU:$F0A6 PRG:70A6 A9 00 sta $0501 ; CPU:$F0A8 PRG:70A8 8D 01 05 sta $0508 ; CPU:$F0AB PRG:70AB 8D 08 05 sta Zp1E ; CPU:$F0AE PRG:70AE 85 1E ldx #$00 ; CPU:$F0B0 PRG:70B0 A2 00 ldy #$04 ; CPU:$F0B2 PRG:70B2 A0 04 - jsr IrqHandler_OnNonzero6 ; CPU:$F0B4 PRG:70B4 20 C9 F3 + jsr IrqHandler_OnNonzero25 ; CPU:$F0B4 PRG:70B4 20 C9 F3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop74 -; Global: Branch target inside IrqHandler: taken when Loop74. +; Routine: IrqHandler_Loop394 +; Global: Branch target inside IrqHandler: taken when Loop394. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop74: +IrqHandler_Loop394: ldx #$04 ; CPU:$F0B7 PRG:70B7 A2 04 ldy #$00 ; CPU:$F0B9 PRG:70B9 A0 00 sty $050A ; CPU:$F0BB PRG:70BB 8C 0A 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero23 +; Global: Branch target inside IrqHandler: taken when OnNonzero23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero23: txa ; CPU:$F0BE PRG:70BE 8A pha ; CPU:$F0BF PRG:70BF 48 lda $052C,x ; CPU:$F0C0 PRG:70C0 BD 2C 05 - beq IrqHandler_Loop76 ; CPU:$F0C3 PRG:70C3 F0 17 + beq IrqHandler_Loop396 ; CPU:$F0C3 PRG:70C3 F0 17 cpx #$04 ; CPU:$F0C5 PRG:70C5 E0 04 - beq IrqHandler_Loop75 ; CPU:$F0C7 PRG:70C7 F0 08 + beq IrqHandler_Loop395 ; CPU:$F0C7 PRG:70C7 F0 08 lda $050A ; CPU:$F0C9 PRG:70C9 AD 0A 05 ora #$40 ; CPU:$F0CC PRG:70CC 09 40 jmp Sub_F0D6 ; CPU:$F0CE PRG:70CE 4C D6 F0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop75 -; Global: Branch target inside IrqHandler: taken when Loop75. +; Routine: IrqHandler_Loop395 +; Global: Branch target inside IrqHandler: taken when Loop395. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop75: +IrqHandler_Loop395: lda $050A ; CPU:$F0D1 PRG:70D1 AD 0A 05 ora #$80 ; CPU:$F0D4 PRG:70D4 09 80 ; ----------------------------------------------------------------------------- @@ -4179,92 +12581,92 @@ Sub_F0D6: sta $050A ; CPU:$F0D6 PRG:70D6 8D 0A 05 jmp Sub_F121 ; CPU:$F0D9 PRG:70D9 4C 21 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop76 -; Global: Branch target inside IrqHandler: taken when Loop76. +; Routine: IrqHandler_Loop396 +; Global: Branch target inside IrqHandler: taken when Loop396. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop76: +IrqHandler_Loop396: lda $0507 ; CPU:$F0DC PRG:70DC AD 07 05 - beq IrqHandler_Loop77 ; CPU:$F0DF PRG:70DF F0 03 + beq IrqHandler_Loop397 ; CPU:$F0DF PRG:70DF F0 03 jmp Sub_F1A5 ; CPU:$F0E1 PRG:70E1 4C A5 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop77 -; Global: Branch target inside IrqHandler: taken when Loop77. +; Routine: IrqHandler_Loop397 +; Global: Branch target inside IrqHandler: taken when Loop397. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop77: +IrqHandler_Loop397: lda $050A ; CPU:$F0E4 PRG:70E4 AD 0A 05 - beq IrqHandler_Loop82 ; CPU:$F0E7 PRG:70E7 F0 2A - bpl IrqHandler_Loop79 ; CPU:$F0E9 PRG:70E9 10 11 + beq IrqHandler_Loop402 ; CPU:$F0E7 PRG:70E7 F0 2A + bpl IrqHandler_Loop399 ; CPU:$F0E9 PRG:70E9 10 11 asl a ; CPU:$F0EB PRG:70EB 0A - bpl IrqHandler_Loop81 ; CPU:$F0EC PRG:70EC 10 1C + bpl IrqHandler_Loop401 ; CPU:$F0EC PRG:70EC 10 1C cpy #$02 ; CPU:$F0EE PRG:70EE C0 02 - bne IrqHandler_Loop78 ; CPU:$F0F0 PRG:70F0 D0 05 + bne IrqHandler_Loop398 ; CPU:$F0F0 PRG:70F0 D0 05 ldx #$00 ; CPU:$F0F2 PRG:70F2 A2 00 jmp Sub_F115 ; CPU:$F0F4 PRG:70F4 4C 15 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop78 -; Global: Branch target inside IrqHandler: taken when Loop78. +; Routine: IrqHandler_Loop398 +; Global: Branch target inside IrqHandler: taken when Loop398. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop78: +IrqHandler_Loop398: ldx #$02 ; CPU:$F0F7 PRG:70F7 A2 02 jmp Sub_F115 ; CPU:$F0F9 PRG:70F9 4C 15 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop79 -; Global: Branch target inside IrqHandler: taken when Loop79. +; Routine: IrqHandler_Loop399 +; Global: Branch target inside IrqHandler: taken when Loop399. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop79: +IrqHandler_Loop399: cpy #$02 ; CPU:$F0FC PRG:70FC C0 02 - beq IrqHandler_Loop80 ; CPU:$F0FE PRG:70FE F0 05 + beq IrqHandler_Loop400 ; CPU:$F0FE PRG:70FE F0 05 ldx #$02 ; CPU:$F100 PRG:7100 A2 02 jmp Sub_F115 ; CPU:$F102 PRG:7102 4C 15 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop80 -; Global: Branch target inside IrqHandler: taken when Loop80. +; Routine: IrqHandler_Loop400 +; Global: Branch target inside IrqHandler: taken when Loop400. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop80: +IrqHandler_Loop400: ldx #$01 ; CPU:$F105 PRG:7105 A2 01 jmp Sub_F115 ; CPU:$F107 PRG:7107 4C 15 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop81 -; Global: Branch target inside IrqHandler: taken when Loop81. +; Routine: IrqHandler_Loop401 +; Global: Branch target inside IrqHandler: taken when Loop401. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop81: +IrqHandler_Loop401: cpy #$01 ; CPU:$F10A PRG:710A C0 01 - bne IrqHandler_Loop82 ; CPU:$F10C PRG:710C D0 05 + bne IrqHandler_Loop402 ; CPU:$F10C PRG:710C D0 05 ldx #$00 ; CPU:$F10E PRG:710E A2 00 jmp Sub_F115 ; CPU:$F110 PRG:7110 4C 15 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop82 -; Global: Branch target inside IrqHandler: taken when Loop82. +; Routine: IrqHandler_Loop402 +; Global: Branch target inside IrqHandler: taken when Loop402. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop82: +IrqHandler_Loop402: tya ; CPU:$F113 PRG:7113 98 tax ; CPU:$F114 PRG:7114 AA ; ----------------------------------------------------------------------------- @@ -4277,8 +12679,22 @@ IrqHandler_Loop82: ; ----------------------------------------------------------------------------- Sub_F115: jmp Sub_F121 ; CPU:$F115 PRG:7115 4C 21 F1 -; ---- data $F118-$F120 (9 bytes) ---- - .byte $68, $AA, $E8, $C8, $C0, $04, $D0, $9E, $60 ; CPU:$F118 PRG:7118 68 AA E8 C8 C0 04 D0 9E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_F118 +; Global: Branch target inside Label: taken when F118. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F118: + pla ; CPU:$F118 PRG:7118 68 + tax ; CPU:$F119 PRG:7119 AA + inx ; CPU:$F11A PRG:711A E8 + iny ; CPU:$F11B PRG:711B C8 + cpy #$04 ; CPU:$F11C PRG:711C C0 04 + bne IrqHandler_OnNonzero23 ; CPU:$F11E PRG:711E D0 9E + rts ; CPU:$F120 PRG:7120 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F121 ; Global: Branch target inside Sub: taken when F121. @@ -4293,144 +12709,144 @@ Sub_F121: lda $0520,x ; CPU:$F126 PRG:7126 BD 20 05 sta Zp1B ; CPU:$F129 PRG:7129 85 1B lda $0624,x ; CPU:$F12B PRG:712B BD 24 06 - bmi IrqHandler_Loop83 ; CPU:$F12E PRG:712E 30 09 + bmi IrqHandler_Loop403 ; CPU:$F12E PRG:712E 30 09 clc ; CPU:$F130 PRG:7130 18 adc Zp1A ; CPU:$F131 PRG:7131 65 1A - bcc IrqHandler_Loop84 ; CPU:$F133 PRG:7133 90 0B + bcc IrqHandler_Loop404 ; CPU:$F133 PRG:7133 90 0B inc Zp1B ; CPU:$F135 PRG:7135 E6 1B - bcs IrqHandler_Loop84 ; CPU:$F137 PRG:7137 B0 07 + bcs IrqHandler_Loop404 ; CPU:$F137 PRG:7137 B0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop83 -; Global: Branch target inside IrqHandler: taken when Loop83. +; Routine: IrqHandler_Loop403 +; Global: Branch target inside IrqHandler: taken when Loop403. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop83: +IrqHandler_Loop403: clc ; CPU:$F139 PRG:7139 18 adc Zp1A ; CPU:$F13A PRG:713A 65 1A - bcs IrqHandler_Loop84 ; CPU:$F13C PRG:713C B0 02 + bcs IrqHandler_Loop404 ; CPU:$F13C PRG:713C B0 02 dec Zp1B ; CPU:$F13E PRG:713E C6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop84 -; Global: Branch target inside IrqHandler: taken when Loop84. +; Routine: IrqHandler_Loop404 +; Global: Branch target inside IrqHandler: taken when Loop404. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop84: +IrqHandler_Loop404: sta Zp1A ; CPU:$F140 PRG:7140 85 1A lda $0558,x ; CPU:$F142 PRG:7142 BD 58 05 - bmi IrqHandler_Loop85 ; CPU:$F145 PRG:7145 30 09 + bmi IrqHandler_Loop405 ; CPU:$F145 PRG:7145 30 09 clc ; CPU:$F147 PRG:7147 18 adc Zp1A ; CPU:$F148 PRG:7148 65 1A - bcc IrqHandler_Loop86 ; CPU:$F14A PRG:714A 90 0B + bcc IrqHandler_Loop406 ; CPU:$F14A PRG:714A 90 0B inc Zp1B ; CPU:$F14C PRG:714C E6 1B - bcs IrqHandler_Loop86 ; CPU:$F14E PRG:714E B0 07 + bcs IrqHandler_Loop406 ; CPU:$F14E PRG:714E B0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop85 -; Global: Branch target inside IrqHandler: taken when Loop85. +; Routine: IrqHandler_Loop405 +; Global: Branch target inside IrqHandler: taken when Loop405. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop85: +IrqHandler_Loop405: clc ; CPU:$F150 PRG:7150 18 adc Zp1A ; CPU:$F151 PRG:7151 65 1A - bcs IrqHandler_Loop86 ; CPU:$F153 PRG:7153 B0 02 + bcs IrqHandler_Loop406 ; CPU:$F153 PRG:7153 B0 02 dec Zp1B ; CPU:$F155 PRG:7155 C6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop86 -; Global: Branch target inside IrqHandler: taken when Loop86. +; Routine: IrqHandler_Loop406 +; Global: Branch target inside IrqHandler: taken when Loop406. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop86: +IrqHandler_Loop406: clc ; CPU:$F157 PRG:7157 18 adc $0618,x ; CPU:$F158 PRG:7158 7D 18 06 sta $064E ; CPU:$F15B PRG:715B 8D 4E 06 - bcc IrqHandler_Loop87 ; CPU:$F15E PRG:715E 90 02 + bcc IrqHandler_Loop407 ; CPU:$F15E PRG:715E 90 02 inc Zp1B ; CPU:$F160 PRG:7160 E6 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop87 -; Global: Branch target inside IrqHandler: taken when Loop87. +; Routine: IrqHandler_Loop407 +; Global: Branch target inside IrqHandler: taken when Loop407. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop87: +IrqHandler_Loop407: lda Zp1B ; CPU:$F162 PRG:7162 A5 1B clc ; CPU:$F164 PRG:7164 18 adc $061E,x ; CPU:$F165 PRG:7165 7D 1E 06 sta $0654 ; CPU:$F168 PRG:7168 8D 54 06 sta Zp1C ; CPU:$F16B PRG:716B 85 1C lda $053A,x ; CPU:$F16D PRG:716D BD 3A 05 - bne IrqHandler_Loop90 ; CPU:$F170 PRG:7170 D0 2C + bne IrqHandler_Loop410 ; CPU:$F170 PRG:7170 D0 2C lda $052C,x ; CPU:$F172 PRG:7172 BD 2C 05 - beq IrqHandler_Loop89 ; CPU:$F175 PRG:7175 F0 1B + beq IrqHandler_Loop409 ; CPU:$F175 PRG:7175 F0 1B lda $050E,x ; CPU:$F177 PRG:7177 BD 0E 05 clc ; CPU:$F17A PRG:717A 18 adc $062A,x ; CPU:$F17B PRG:717B 7D 2A 06 and #$0F ; CPU:$F17E PRG:717E 29 0F sec ; CPU:$F180 PRG:7180 38 sbc $056A,x ; CPU:$F181 PRG:7181 FD 6A 05 - bcs IrqHandler_Loop88 ; CPU:$F184 PRG:7184 B0 05 + bcs IrqHandler_Loop408 ; CPU:$F184 PRG:7184 B0 05 lda #$00 ; CPU:$F186 PRG:7186 A9 00 - jmp IrqHandler_Loop89 ; CPU:$F188 PRG:7188 4C 92 F1 + jmp IrqHandler_Loop409 ; CPU:$F188 PRG:7188 4C 92 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop88 -; Global: Branch target inside IrqHandler: taken when Loop88. +; Routine: IrqHandler_Loop408 +; Global: Branch target inside IrqHandler: taken when Loop408. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop88: +IrqHandler_Loop408: sec ; CPU:$F18B PRG:718B 38 sbc Zp1E ; CPU:$F18C PRG:718C E5 1E - bcs IrqHandler_Loop89 ; CPU:$F18E PRG:718E B0 02 + bcs IrqHandler_Loop409 ; CPU:$F18E PRG:718E B0 02 lda #$00 ; CPU:$F190 PRG:7190 A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop89 -; Global: Branch target inside IrqHandler: taken when Loop89. +; Routine: IrqHandler_Loop409 +; Global: Branch target inside IrqHandler: taken when Loop409. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop89: +IrqHandler_Loop409: cpx #$02 ; CPU:$F192 PRG:7192 E0 02 - beq IrqHandler_Loop91 ; CPU:$F194 PRG:7194 F0 0C + beq IrqHandler_Loop411 ; CPU:$F194 PRG:7194 F0 0C ora #$30 ; CPU:$F196 PRG:7196 09 30 clc ; CPU:$F198 PRG:7198 18 adc $0564,x ; CPU:$F199 PRG:7199 7D 64 05 - bne IrqHandler_Loop91 ; CPU:$F19C PRG:719C D0 04 + bne IrqHandler_Loop411 ; CPU:$F19C PRG:719C D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop90 -; Global: Branch target inside IrqHandler: taken when Loop90. +; Routine: IrqHandler_Loop410 +; Global: Branch target inside IrqHandler: taken when Loop410. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop90: +IrqHandler_Loop410: lda #$00 ; CPU:$F19E PRG:719E A9 00 - beq IrqHandler_Loop89 ; CPU:$F1A0 PRG:71A0 F0 F0 + beq IrqHandler_Loop409 ; CPU:$F1A0 PRG:71A0 F0 F0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop91 -; Global: Branch target inside IrqHandler: taken when Loop91. +; Routine: IrqHandler_Loop411 +; Global: Branch target inside IrqHandler: taken when Loop411. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop91: +IrqHandler_Loop411: sta $0648 ; CPU:$F1A2 PRG:71A2 8D 48 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_F1A5 @@ -4444,7 +12860,7 @@ Sub_F1A5: stx $0506 ; CPU:$F1A5 PRG:71A5 8E 06 05 txa ; CPU:$F1A8 PRG:71A8 8A asl a ; CPU:$F1A9 PRG:71A9 0A - sty Zp18 ; CPU:$F1AA PRG:71AA 84 18 + sty PlayerX ; CPU:$F1AA PRG:71AA 84 18 tax ; CPU:$F1AC PRG:71AC AA lda #$D1 ; CPU:$F1AD PRG:71AD A9 D1 sta Zp1A ; CPU:$F1AF PRG:71AF 85 1A @@ -4463,7 +12879,7 @@ Sub_F1A5: dey ; CPU:$F1C6 PRG:71C6 88 lda (Zp1A),y ; CPU:$F1C7 PRG:71C7 B1 1A pha ; CPU:$F1C9 PRG:71C9 48 - lda Zp18 ; CPU:$F1CA PRG:71CA A5 18 + lda PlayerX ; CPU:$F1CA PRG:71CA A5 18 tay ; CPU:$F1CC PRG:71CC A8 ldx $0506 ; CPU:$F1CD PRG:71CD AE 06 05 rts ; CPU:$F1D0 PRG:71D0 60 @@ -4501,9 +12917,9 @@ Sub_F297: asl a ; CPU:$F2A7 PRG:72A7 0A tax ; CPU:$F2A8 PRG:72A8 AA lda $8513,x ; CPU:$F2A9 PRG:72A9 BD 13 85 - sta Zp18 ; CPU:$F2AC PRG:72AC 85 18 + sta PlayerX ; CPU:$F2AC PRG:72AC 85 18 lda $8514,x ; CPU:$F2AE PRG:72AE BD 14 85 - sta Zp19 ; CPU:$F2B1 PRG:72B1 85 19 + sta PlayerY ; CPU:$F2B1 PRG:72B1 85 19 ldx #$00 ; CPU:$F2B3 PRG:72B3 A2 00 jmp Sub_F2D1 ; CPU:$F2B5 PRG:72B5 4C D1 F2 ; ----------------------------------------------------------------------------- @@ -4524,9 +12940,9 @@ Sub_F2B8: asl a ; CPU:$F2C3 PRG:72C3 0A tax ; CPU:$F2C4 PRG:72C4 AA lda $8501,x ; CPU:$F2C5 PRG:72C5 BD 01 85 - sta Zp18 ; CPU:$F2C8 PRG:72C8 85 18 + sta PlayerX ; CPU:$F2C8 PRG:72C8 85 18 lda $8502,x ; CPU:$F2CA PRG:72CA BD 02 85 - sta Zp19 ; CPU:$F2CD PRG:72CD 85 19 + sta PlayerY ; CPU:$F2CD PRG:72CD 85 19 ldx #$04 ; CPU:$F2CF PRG:72CF A2 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_F2D1 @@ -4538,82 +12954,194 @@ Sub_F2B8: ; ----------------------------------------------------------------------------- Sub_F2D1: ldy #$00 ; CPU:$F2D1 PRG:72D1 A0 00 - lda (Zp18),y ; CPU:$F2D3 PRG:72D3 B1 18 + lda (PlayerX),y ; CPU:$F2D3 PRG:72D3 B1 18 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero5 -; Global: Branch target inside IrqHandler: taken when OnNonzero5. +; Routine: IrqHandler_OnNonzero24 +; Global: Branch target inside IrqHandler: taken when OnNonzero24. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero5: +IrqHandler_OnNonzero24: lsr a ; CPU:$F2D5 PRG:72D5 4A pha ; CPU:$F2D6 PRG:72D6 48 jsr Sub_F3D1 ; CPU:$F2D7 PRG:72D7 20 D1 F3 - bcc IrqHandler_Loop93 ; CPU:$F2DA PRG:72DA 90 1D + bcc IrqHandler_Loop413 ; CPU:$F2DA PRG:72DA 90 1D inc Zp1A ; CPU:$F2DC PRG:72DC E6 1A iny ; CPU:$F2DE PRG:72DE C8 - lda (Zp18),y ; CPU:$F2DF PRG:72DF B1 18 + lda (PlayerX),y ; CPU:$F2DF PRG:72DF B1 18 php ; CPU:$F2E1 PRG:72E1 08 sec ; CPU:$F2E2 PRG:72E2 38 sbc #$01 ; CPU:$F2E3 PRG:72E3 E9 01 sta $0674,x ; CPU:$F2E5 PRG:72E5 9D 74 06 iny ; CPU:$F2E8 PRG:72E8 C8 - lda (Zp18),y ; CPU:$F2E9 PRG:72E9 B1 18 + lda (PlayerX),y ; CPU:$F2E9 PRG:72E9 B1 18 plp ; CPU:$F2EB PRG:72EB 28 - bne IrqHandler_Loop92 ; CPU:$F2EC PRG:72EC D0 03 + bne IrqHandler_Loop412 ; CPU:$F2EC PRG:72EC D0 03 sec ; CPU:$F2EE PRG:72EE 38 sbc #$01 ; CPU:$F2EF PRG:72EF E9 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop92 -; Global: Branch target inside IrqHandler: taken when Loop92. +; Routine: IrqHandler_Loop412 +; Global: Branch target inside IrqHandler: taken when Loop412. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop92: +IrqHandler_Loop412: sta $067A,x ; CPU:$F2F1 PRG:72F1 9D 7A 06 lda #$01 ; CPU:$F2F4 PRG:72F4 A9 01 sta $052C,x ; CPU:$F2F6 PRG:72F6 9D 2C 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop93 -; Global: Branch target inside IrqHandler: taken when Loop93. +; Routine: IrqHandler_Loop413 +; Global: Branch target inside IrqHandler: taken when Loop413. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop93: +IrqHandler_Loop413: pla ; CPU:$F2F9 PRG:72F9 68 inx ; CPU:$F2FA PRG:72FA E8 cpx #$04 ; CPU:$F2FB PRG:72FB E0 04 - beq IrqHandler_Loop94 ; CPU:$F2FD PRG:72FD F0 0C + beq IrqHandler_Loop414 ; CPU:$F2FD PRG:72FD F0 0C cpx #$06 ; CPU:$F2FF PRG:72FF E0 06 - bne IrqHandler_OnNonzero5 ; CPU:$F301 PRG:7301 D0 D2 + bne IrqHandler_OnNonzero24 ; CPU:$F301 PRG:7301 D0 D2 lda Zp1A ; CPU:$F303 PRG:7303 A5 1A sta $050B ; CPU:$F305 PRG:7305 8D 0B 05 - jmp IrqHandler_Loop29 ; CPU:$F308 PRG:7308 4C 7F E8 + jmp IrqHandler_Loop322 ; CPU:$F308 PRG:7308 4C 7F E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop94 -; Global: Branch target inside IrqHandler: taken when Loop94. +; Routine: IrqHandler_Loop414 +; Global: Branch target inside IrqHandler: taken when Loop414. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop94: +IrqHandler_Loop414: lda Zp1A ; CPU:$F30B PRG:730B A5 1A sta $050C ; CPU:$F30D PRG:730D 8D 0C 05 - jmp IrqHandler_Loop29 ; CPU:$F310 PRG:7310 4C 7F E8 -; ---- data $F313-$F36B (89 bytes) ---- - .byte $A9, $00, $8D, $07, $05, $AA, $A8, $A9, $80, $9D, $5A, $06, $E8, $C8, $C0, $03 ; CPU:$F313 PRG:7313 A9 00 8D 07 05 AA A8 A9 80 9D 5A 06 E8 C8 C0 03 - .byte $90, $F5, $60, $A9, $01, $8D, $07, $05, $4C, $B8, $F2, $AD, $08, $05, $D0, $09 ; CPU:$F323 PRG:7323 90 F5 60 A9 01 8D 07 05 4C B8 F2 AD 08 05 D0 09 - .byte $EE, $08, $05, $A9, $00, $85, $1E, $85, $1F, $4C, $67, $E8, $A9, $00, $8D, $02 ; CPU:$F333 PRG:7333 EE 08 05 A9 00 85 1E 85 1F 4C 67 E8 A9 00 8D 02 - .byte $05, $8D, $0B, $05, $AD, $01, $05, $30, $03, $4C, $7F, $E8, $4C, $97, $F2, $A9 ; CPU:$F343 PRG:7343 05 8D 0B 05 AD 01 05 30 03 4C 7F E8 4C 97 F2 A9 - .byte $00, $8D, $01, $05, $8D, $0C, $05, $A2, $00, $A0, $06, $20, $C9, $F3, $AD, $02 ; CPU:$F353 PRG:7353 00 8D 01 05 8D 0C 05 A2 00 A0 06 20 C9 F3 AD 02 - .byte $05, $30, $03, $4C, $7F, $E8, $4C, $B8, $F2 ; CPU:$F363 PRG:7363 05 30 03 4C 7F E8 4C B8 F2 + jmp IrqHandler_Loop322 ; CPU:$F310 PRG:7310 4C 7F E8 +; ----------------------------------------------------------------------------- +; Routine: Label_F313 +; Global: Branch target inside Label: taken when F313. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F313: + lda #$00 ; CPU:$F313 PRG:7313 A9 00 + sta $0507 ; CPU:$F315 PRG:7315 8D 07 05 + tax ; CPU:$F318 PRG:7318 AA + tay ; CPU:$F319 PRG:7319 A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear55 +; Global: Branch target inside IrqHandler: taken when OnCarryClear55. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear55: + lda #$80 ; CPU:$F31A PRG:731A A9 80 + sta $065A,x ; CPU:$F31C PRG:731C 9D 5A 06 + inx ; CPU:$F31F PRG:731F E8 + iny ; CPU:$F320 PRG:7320 C8 + cpy #$03 ; CPU:$F321 PRG:7321 C0 03 + bcc IrqHandler_OnCarryClear55 ; CPU:$F323 PRG:7323 90 F5 + rts ; CPU:$F325 PRG:7325 60 +; ----------------------------------------------------------------------------- +; Routine: Label_F326 +; Global: Branch target inside Label: taken when F326. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F326: + lda #$01 ; CPU:$F326 PRG:7326 A9 01 + sta $0507 ; CPU:$F328 PRG:7328 8D 07 05 + jmp Sub_F2B8 ; CPU:$F32B PRG:732B 4C B8 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F32E +; Global: Branch target inside Label: taken when F32E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F32E: + lda $0508 ; CPU:$F32E PRG:732E AD 08 05 + bne IrqHandler_Loop415 ; CPU:$F331 PRG:7331 D0 09 + inc $0508 ; CPU:$F333 PRG:7333 EE 08 05 + lda #$00 ; CPU:$F336 PRG:7336 A9 00 + sta Zp1E ; CPU:$F338 PRG:7338 85 1E + sta Zp1F ; CPU:$F33A PRG:733A 85 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop415 +; Global: Branch target inside IrqHandler: taken when Loop415. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop415: + jmp IrqHandler_Loop319 ; CPU:$F33C PRG:733C 4C 67 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_F33F +; Global: Branch target inside Label: taken when F33F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F33F: + lda #$00 ; CPU:$F33F PRG:733F A9 00 + sta $0502 ; CPU:$F341 PRG:7341 8D 02 05 + sta $050B ; CPU:$F344 PRG:7344 8D 0B 05 + lda $0501 ; CPU:$F347 PRG:7347 AD 01 05 + bmi IrqHandler_Loop416 ; CPU:$F34A PRG:734A 30 03 + jmp IrqHandler_Loop322 ; CPU:$F34C PRG:734C 4C 7F E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop416 +; Global: Branch target inside IrqHandler: taken when Loop416. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop416: + jmp Sub_F297 ; CPU:$F34F PRG:734F 4C 97 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F352 +; Global: Branch target inside Label: taken when F352. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F352: + lda #$00 ; CPU:$F352 PRG:7352 A9 00 + sta $0501 ; CPU:$F354 PRG:7354 8D 01 05 + sta $050C ; CPU:$F357 PRG:7357 8D 0C 05 + ldx #$00 ; CPU:$F35A PRG:735A A2 00 + ldy #$06 ; CPU:$F35C PRG:735C A0 06 + jsr IrqHandler_OnNonzero25 ; CPU:$F35E PRG:735E 20 C9 F3 + lda $0502 ; CPU:$F361 PRG:7361 AD 02 05 + bmi IrqHandler_Loop417 ; CPU:$F364 PRG:7364 30 03 + jmp IrqHandler_Loop322 ; CPU:$F366 PRG:7366 4C 7F E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop417 +; Global: Branch target inside IrqHandler: taken when Loop417. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop417: + jmp Sub_F2B8 ; CPU:$F369 PRG:7369 4C B8 F2 ; ----------------------------------------------------------------------------- ; Routine: Sub_F36C ; Global: Branch target inside Sub: taken when F36C. @@ -4645,8 +13173,8 @@ Sub_F36C: sta Zp1B ; CPU:$F3A2 PRG:73A2 85 1B sta Zp1C ; CPU:$F3A4 PRG:73A4 85 1C sta Zp1D ; CPU:$F3A6 PRG:73A6 85 1D - sta Zp18 ; CPU:$F3A8 PRG:73A8 85 18 - sta Zp19 ; CPU:$F3AA PRG:73AA 85 19 + sta PlayerX ; CPU:$F3A8 PRG:73A8 85 18 + sta PlayerY ; CPU:$F3AA PRG:73AA 85 19 sta Zp1E ; CPU:$F3AC PRG:73AC 85 1E sta Zp1F ; CPU:$F3AE PRG:73AE 85 1F sta $0501 ; CPU:$F3B0 PRG:73B0 8D 01 05 @@ -4659,18 +13187,18 @@ Sub_F36C: ldx #$00 ; CPU:$F3C5 PRG:73C5 A2 00 ldy #$06 ; CPU:$F3C7 PRG:73C7 A0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero6 -; Global: Branch target inside IrqHandler: taken when OnNonzero6. +; Routine: IrqHandler_OnNonzero25 +; Global: Branch target inside IrqHandler: taken when OnNonzero25. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero6: +IrqHandler_OnNonzero25: jsr Sub_F3D1 ; CPU:$F3C9 PRG:73C9 20 D1 F3 inx ; CPU:$F3CC PRG:73CC E8 dey ; CPU:$F3CD PRG:73CD 88 - bne IrqHandler_OnNonzero6 ; CPU:$F3CE PRG:73CE D0 F9 + bne IrqHandler_OnNonzero25 ; CPU:$F3CE PRG:73CE D0 F9 rts ; CPU:$F3D0 PRG:73D0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3D1 @@ -4726,40 +13254,40 @@ Sub_F42B: sta $050D ; CPU:$F42E PRG:742E 8D 0D 05 pla ; CPU:$F431 PRG:7431 68 cmp #$40 ; CPU:$F432 PRG:7432 C9 40 - bcs IrqHandler_Loop96 ; CPU:$F434 PRG:7434 B0 1A + bcs IrqHandler_Loop419 ; CPU:$F434 PRG:7434 B0 1A tax ; CPU:$F436 PRG:7436 AA lda $0502 ; CPU:$F437 PRG:7437 AD 02 05 and #$7F ; CPU:$F43A PRG:743A 29 7F tay ; CPU:$F43C PRG:743C A8 lda $84F8,x ; CPU:$F43D PRG:743D BD F8 84 cmp $84F8,y ; CPU:$F440 PRG:7440 D9 F8 84 - bcc IrqHandler_Loop95 ; CPU:$F443 PRG:7443 90 09 + bcc IrqHandler_Loop418 ; CPU:$F443 PRG:7443 90 09 txa ; CPU:$F445 PRG:7445 8A ora #$80 ; CPU:$F446 PRG:7446 09 80 sta $0502 ; CPU:$F448 PRG:7448 8D 02 05 eor $0502 ; CPU:$F44B PRG:744B 4D 02 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop95 -; Global: Branch target inside IrqHandler: taken when Loop95. +; Routine: IrqHandler_Loop418 +; Global: Branch target inside IrqHandler: taken when Loop418. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop95: +IrqHandler_Loop418: clc ; CPU:$F44E PRG:744E 18 rts ; CPU:$F44F PRG:744F 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop96 -; Global: Branch target inside IrqHandler: taken when Loop96. +; Routine: IrqHandler_Loop419 +; Global: Branch target inside IrqHandler: taken when Loop419. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop96: +IrqHandler_Loop419: cmp #$70 ; CPU:$F450 PRG:7450 C9 70 - bcs IrqHandler_Loop97 ; CPU:$F452 PRG:7452 B0 0A + bcs IrqHandler_Loop420 ; CPU:$F452 PRG:7452 B0 0A sec ; CPU:$F454 PRG:7454 38 sbc #$40 ; CPU:$F455 PRG:7455 E9 40 ora #$80 ; CPU:$F457 PRG:7457 09 80 @@ -4767,92 +13295,92 @@ IrqHandler_Loop96: clc ; CPU:$F45C PRG:745C 18 rts ; CPU:$F45D PRG:745D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop97 -; Global: Branch target inside IrqHandler: taken when Loop97. +; Routine: IrqHandler_Loop420 +; Global: Branch target inside IrqHandler: taken when Loop420. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop97: +IrqHandler_Loop420: sec ; CPU:$F45E PRG:745E 38 sbc #$70 ; CPU:$F45F PRG:745F E9 70 cmp #$03 ; CPU:$F461 PRG:7461 C9 03 - bne IrqHandler_Loop98 ; CPU:$F463 PRG:7463 D0 03 + bne IrqHandler_Loop421 ; CPU:$F463 PRG:7463 D0 03 stx $0509 ; CPU:$F465 PRG:7465 8E 09 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop98 -; Global: Branch target inside IrqHandler: taken when Loop98. +; Routine: IrqHandler_Loop421 +; Global: Branch target inside IrqHandler: taken when Loop421. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop98: +IrqHandler_Loop421: ldx $0503 ; CPU:$F468 PRG:7468 AE 03 05 - bne IrqHandler_Loop99 ; CPU:$F46B PRG:746B D0 05 + bne IrqHandler_Loop422 ; CPU:$F46B PRG:746B D0 05 sta $0503 ; CPU:$F46D PRG:746D 8D 03 05 clc ; CPU:$F470 PRG:7470 18 rts ; CPU:$F471 PRG:7471 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop99 -; Global: Branch target inside IrqHandler: taken when Loop99. +; Routine: IrqHandler_Loop422 +; Global: Branch target inside IrqHandler: taken when Loop422. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop99: +IrqHandler_Loop422: ldx $0504 ; CPU:$F472 PRG:7472 AE 04 05 - bne IrqHandler_Loop101 ; CPU:$F475 PRG:7475 D0 0A + bne IrqHandler_Loop424 ; CPU:$F475 PRG:7475 D0 0A cmp $0503 ; CPU:$F477 PRG:7477 CD 03 05 - beq IrqHandler_Loop100 ; CPU:$F47A PRG:747A F0 03 + beq IrqHandler_Loop423 ; CPU:$F47A PRG:747A F0 03 sta $0504 ; CPU:$F47C PRG:747C 8D 04 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop100 -; Global: Branch target inside IrqHandler: taken when Loop100. +; Routine: IrqHandler_Loop423 +; Global: Branch target inside IrqHandler: taken when Loop423. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop100: +IrqHandler_Loop423: clc ; CPU:$F47F PRG:747F 18 rts ; CPU:$F480 PRG:7480 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop101 -; Global: Branch target inside IrqHandler: taken when Loop101. +; Routine: IrqHandler_Loop424 +; Global: Branch target inside IrqHandler: taken when Loop424. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop101: +IrqHandler_Loop424: ldx $0505 ; CPU:$F481 PRG:7481 AE 05 05 - bne IrqHandler_Loop103 ; CPU:$F484 PRG:7484 D0 0A + bne IrqHandler_Loop426 ; CPU:$F484 PRG:7484 D0 0A cmp $0504 ; CPU:$F486 PRG:7486 CD 04 05 - beq IrqHandler_Loop102 ; CPU:$F489 PRG:7489 F0 03 + beq IrqHandler_Loop425 ; CPU:$F489 PRG:7489 F0 03 sta $0505 ; CPU:$F48B PRG:748B 8D 05 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop102 -; Global: Branch target inside IrqHandler: taken when Loop102. +; Routine: IrqHandler_Loop425 +; Global: Branch target inside IrqHandler: taken when Loop425. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop102: +IrqHandler_Loop425: clc ; CPU:$F48E PRG:748E 18 rts ; CPU:$F48F PRG:748F 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop103 -; Global: Branch target inside IrqHandler: taken when Loop103. +; Routine: IrqHandler_Loop426 +; Global: Branch target inside IrqHandler: taken when Loop426. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop103: +IrqHandler_Loop426: sec ; CPU:$F490 PRG:7490 38 rts ; CPU:$F491 PRG:7491 60 ; ---- data $F492-$FFF6 (2917 bytes) ---- @@ -5052,4 +13580,5 @@ IrqHandler_Loop103: Reset: jmp Sub_C004 ; CPU:$FFF7 PRG:7FF7 4C 04 C0 ; ---- data $FFFA-$FFFF (6 bytes) ---- +; referenced by `sta $FFFF,y` at $C4C0 (operand $FFFF falls inside this region) .byte $07, $C1, $F7, $FF, $98, $C1 ; CPU:$FFFA PRG:7FFA 07 C1 F7 FF 98 C1 diff --git a/NROM/Othello (U)/README.md b/NROM/Othello (U)/README.md index be6ee3d..42f435c 100644 --- a/NROM/Othello (U)/README.md +++ b/NROM/Othello (U)/README.md @@ -2,66 +2,85 @@ ## Status -**Pass 3.** Hardware-register operands use `symbols.inc` names -(`apply_symbols.py`: 0 unexplained residue); zero-page slots keep their -documented `ZpXX` names with ref counts in `locals.inc`; data tables remain -classified with ROM provenance. `make` stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 14,220 / 32,768 bytes (43.4%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $D6B4 | | RESET vector | $8000 | | IRQ vector | $804E | -| ROM file | `Othello (U).nes` | -| SHA-256 | `5b580ee1be7ae8a4b6a47088390912b3139162b138a2ceea5201b70f6afbc3c9` | -### Header notes +## Power-on flow -- none +RESET enters at `$8000`: -## Open work + sei ; CPU:$8000 PRG:0000 78 + lda #$00 ; CPU:$8001 PRG:0001 A9 00 + sta PPUCTRL ; CPU:$8003 PRG:0003 8D 00 20 + sta PPUMASK ; CPU:$8006 PRG:0006 8D 01 20 + lda PPUSTATUS ; CPU:$8009 PRG:0009 AD 02 20 + bpl Reset_OnNonnegative ; CPU:$800C PRG:000C 10 FB + lda PPUSTATUS ; CPU:$800E PRG:000E AD 02 20 + bmi Reset_OnNegative ; CPU:$8011 PRG:0011 30 FB + lda PPUSTATUS ; CPU:$8013 PRG:0013 AD 02 20 + bpl Reset_OnNonnegative2 ; CPU:$8016 PRG:0016 10 FB + lda PPUSTATUS ; CPU:$8018 PRG:0018 AD 02 20 + bmi Reset_OnNegative2 ; CPU:$801B PRG:001B 30 FB -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$D6B4`: -## Files + pha ; CPU:$D6B4 PRG:56B4 48 + txa ; CPU:$D6B5 PRG:56B5 8A + pha ; CPU:$D6B6 PRG:56B6 48 + tya ; CPU:$D6B7 PRG:56B7 98 + pha ; CPU:$D6B8 PRG:56B8 48 + lda #$00 ; CPU:$D6B9 PRG:56B9 A9 00 + sta OAMADDR ; CPU:$D6BB PRG:56BB 8D 03 20 + lda #$02 ; CPU:$D6BE PRG:56BE A9 02 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8350-$8367` (24 bytes) - `BoardCellParameterTable` +- `$851E-$854D` (48 bytes) - `PlayerColorNameTable` +- `$8661-$8699` (57 bytes) - `GameModeNameTable` +- `$884A-$888A` (65 bytes) - `BoardCellNameTable` +- `$8B57-$8B66` (16 bytes) - `SlotGameText` +- `$8C80-$8C8B` (12 bytes) - `PushBButtonText` +- `$9003-$9012` (16 bytes) - `BoardMoveOffsetTable` +- `$92BF-$9336` (120 bytes) - `BoardCellCharsetTable` +- `$9555-$9561` (13 bytes) - `VsScreenLayoutTable` +- `$95AD-$95D6` (42 bytes) - `VsScreenLayoutTable2` +- `$9784-$97C3` (64 bytes) - `VsScreenLayoutTable3` +- `$98E0-$98F0` (17 bytes) - `PushAButtonText` +- `$9967-$997D` (23 bytes) - `CannotCancelText` +- `$999B-$99AB` (17 bytes) - `AgainstLevelText` +- `$99C7-$99D9` (19 bytes) - `TryAgainText` +- `$99E6-$99FF` (26 bytes) - `WinsDrawText` +- `$9A09-$9A34` (44 bytes) - `StopPushText` +- `$9AD7-$9BAF` (217 bytes) - `HurryGameEndText` +- `$9FA6-$9FAD` (8 bytes) - `BoardEdgeGraphic` +- `$A263-$A29F` (61 bytes) - `PlayerStartPositionTable` +- `$A3E9-$A3F8` (16 bytes) - `BoardFlipMaskTable` +- `$ABDB-$ABE2` (8 bytes) - `BoardStateBitsTable` +- `$AD3E-$AD53` (22 bytes) - `BoardCellWeightTable` +- `$AF00-$AF97` (152 bytes) - `RandomSeedTable` +- `$BCCE-$D6A3` (6614 bytes) - `BoardTilemapData` +- `$DA49-$DA60` (24 bytes) - `ControllerButtonNames` +- `$DD5F-$FFFF` (8865 bytes) - `LevelGraphicData` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Othello (U)/labelmap.tsv b/NROM/Othello (U)/labelmap.tsv index ad5750d..512c180 100644 --- a/NROM/Othello (U)/labelmap.tsv +++ b/NROM/Othello (U)/labelmap.tsv @@ -4,889 +4,5 @@ D6B4 NmiHandler # ---- derived internal branch-target names ---- 8000 Reset -8009 Reset_OnNonnegative -800E Reset_OnNegative -8013 Reset_OnNonnegative2 -8018 Reset_OnNegative2 -801D Reset_OnNonnegative3 -8022 Reset_OnNegative3 804E IrqHandler -804F Sub_804F -809D IrqHandler_OnNonzero -80A7 IrqHandler_Loop -80D8 Sub_80D8 -80DD Sub_80DD -80E5 IrqHandler_Loop2 -8126 IrqHandler_Loop3 -8199 IrqHandler_Loop4 -819D Sub_819D -81B2 IrqHandler_Loop5 -81B5 IrqHandler_Loop6 -81BE IrqHandler_Loop7 -81C3 IrqHandler_Loop8 -81EA IrqHandler_Loop9 -8209 IrqHandler_Loop10 -820C Sub_820C -8219 IrqHandler_Loop11 -821C Sub_821C -8225 Sub_8225 -82B9 Sub_82B9 -82C5 IrqHandler_OnNonnegative -82D9 Sub_82D9 -82FC Sub_82FC -8328 Sub_8328 -8338 Sub_8338 -8368 Sub_8368 -8372 IrqHandler_OnNonzero2 -8377 IrqHandler_OnNonzero3 -8393 IrqHandler_Loop12 -8394 Sub_8394 -83A8 IrqHandler_Loop13 -83C1 IrqHandler_Loop14 -83C3 Sub_83C3 -83C8 Sub_83C8 -83FA IrqHandler_OnNegative -840E IrqHandler_Loop15 -8415 IrqHandler_Loop16 -8421 Sub_8421 -8474 IrqHandler_Loop17 -847B IrqHandler_Loop18 -8488 IrqHandler_Loop19 -848A Sub_848A -84B3 IrqHandler_Loop20 -84F7 IrqHandler_Loop21 -854E Sub_854E -8573 Sub_8573 -85BC Sub_85BC -85DE IrqHandler_Loop22 -85E3 Sub_85E3 -85F0 Sub_85F0 -8623 IrqHandler_Loop23 -862E IrqHandler_Loop24 -869A Sub_869A -86AB IrqHandler_Loop25 -86DF Sub_86DF -86FB IrqHandler_Loop26 -8702 IrqHandler_OnNonnegative2 -871D IrqHandler_Loop27 -8723 IrqHandler_Loop28 -872A IrqHandler_OnNonnegative3 -8745 IrqHandler_Loop29 -8746 Sub_8746 -8761 IrqHandler_Loop30 -876A IrqHandler_OnZero -877F IrqHandler_Loop31 -87A0 IrqHandler_Loop32 -87BE IrqHandler_Loop33 -87D5 IrqHandler_Loop34 -87DB Sub_87DB -87DE IrqHandler_Loop35 -87EB Sub_87EB -87F6 Sub_87F6 -8808 IrqHandler_Loop36 -8811 Sub_8811 -8812 Sub_8812 -882E IrqHandler_OnNonnegative4 -8838 Sub_8838 -883A IrqHandler_OnNonnegative5 -888B Sub_888B -889C IrqHandler_Loop37 -889E Sub_889E -88A0 Sub_88A0 -88C2 IrqHandler_Loop38 -88CA IrqHandler_OnNonzero4 -88D5 IrqHandler_Loop39 -88D8 IrqHandler_Loop40 -88E6 Sub_88E6 -88F0 IrqHandler_Loop41 -88FB IrqHandler_Loop42 -890B IrqHandler_Loop43 -891D IrqHandler_OnZero2 -8920 IrqHandler_Loop44 -892E IrqHandler_Loop45 -8933 Sub_8933 -8961 IrqHandler_Loop46 -896C IrqHandler_Loop47 -897F IrqHandler_Loop48 -89A0 Sub_89A0 -89C3 Sub_89C3 -89D3 Sub_89D3 -89F9 Sub_89F9 -89FE Sub_89FE -8A1A IrqHandler_Loop49 -8A25 IrqHandler_Loop50 -8A34 IrqHandler_OnNonzero5 -8A45 IrqHandler_Loop51 -8A4C Sub_8A4C -8A5A Sub_8A5A -8A71 IrqHandler_Loop52 -8A88 IrqHandler_Loop53 -8A98 IrqHandler_Loop54 -8AA0 IrqHandler_Loop55 -8AAB IrqHandler_Loop56 -8AB8 IrqHandler_Loop57 -8AC0 Sub_8AC0 -8AD8 IrqHandler_Loop58 -8ADB Sub_8ADB -8AE0 IrqHandler_OnNonzero6 -8AEA IrqHandler_Loop59 -8B0E IrqHandler_Loop60 -8B13 IrqHandler_OnNonzero7 -8B20 IrqHandler_Loop61 -8B3A IrqHandler_Loop62 -8B45 Sub_8B45 -8B51 IrqHandler_Loop63 -8B67 Sub_8B67 -8B72 IrqHandler_Loop64 -8B87 IrqHandler_Loop65 -8B9C Sub_8B9C -8BD9 Sub_8BD9 -8BE7 IrqHandler_OnNonzero8 -8BF7 Sub_8BF7 -8C12 IrqHandler_Loop66 -8C16 Sub_8C16 -8C2B IrqHandler_Loop67 -8C2D IrqHandler_Loop68 -8C8C Sub_8C8C -8CA2 IrqHandler_Loop69 -8CBA IrqHandler_Loop70 -8CBD Sub_8CBD -8CC3 IrqHandler_Loop71 -8CD4 IrqHandler_Loop72 -8CDC Sub_8CDC -8CDF Sub_8CDF -8CEC IrqHandler_Loop73 -8CEE IrqHandler_Loop74 -8CEF Sub_8CEF -8CFE IrqHandler_Loop75 -8D03 Sub_8D03 -8D22 IrqHandler_OnNonnegative6 -8D26 IrqHandler_OnNonnegative7 -8D42 IrqHandler_Loop76 -8D4A IrqHandler_Loop77 -8D6B IrqHandler_Loop78 -8D71 IrqHandler_Loop79 -8D75 Sub_8D75 -8D90 IrqHandler_Loop80 -8D98 Sub_8D98 -8DA3 Sub_8DA3 -8DD6 Sub_8DD6 -8DDA IrqHandler_OnCarrySet -8DE3 IrqHandler_OnCarrySet2 -8DEC IrqHandler_OnNonnegative8 -8DF3 IrqHandler_OnCarrySet3 -8E01 Sub_8E01 -8E03 IrqHandler_OnNonnegative9 -8E0D Sub_8E0D -8E11 IrqHandler_OnNonnegative10 -8E15 IrqHandler_OnNonnegative11 -8E27 Sub_8E27 -8E2F Sub_8E2F -8E3F Sub_8E3F -8E61 IrqHandler_Loop81 -8E81 IrqHandler_Loop82 -8E8C Sub_8E8C -8E93 Sub_8E93 -8E97 Sub_8E97 -8EA4 Sub_8EA4 -8EB2 Sub_8EB2 -8EB8 IrqHandler_Loop83 -8EBE Sub_8EBE -8EC8 IrqHandler_OnNonnegative12 -8ECE IrqHandler_Loop84 -8ED4 Sub_8ED4 -8EEC IrqHandler_Loop85 -8EFF Sub_8EFF -8F13 IrqHandler_Loop86 -8F22 Sub_8F22 -8F24 Sub_8F24 -8F2E IrqHandler_Loop87 -8F2F Sub_8F2F -8F48 IrqHandler_Loop88 -8F4A Sub_8F4A -8F60 IrqHandler_Loop89 -8F65 Sub_8F65 -8F75 IrqHandler_Loop90 -8F77 Sub_8F77 -8F95 Sub_8F95 -8F9B Sub_8F9B -8FAF Sub_8FAF -8FF1 IrqHandler_Loop91 -8FF7 IrqHandler_Loop92 -9002 IrqHandler_Loop93 -9013 Sub_9013 -901B IrqHandler_OnNonzero9 -904A Sub_904A -9050 Sub_9050 -9064 Sub_9064 -90A6 IrqHandler_Loop94 -90B2 IrqHandler_Loop95 -90C3 IrqHandler_Loop96 -90C4 Sub_90C4 -90CC IrqHandler_OnNonzero10 -9100 IrqHandler_Loop97 -9101 Sub_9101 -9105 IrqHandler_OnNonnegative13 -910C Sub_910C -9110 IrqHandler_OnNonnegative14 -911F Sub_911F -9121 IrqHandler_OnNonnegative15 -912B Sub_912B -912D IrqHandler_OnNonnegative16 -91CE Sub_91CE -9210 Sub_9210 -9273 IrqHandler_Loop98 -927C Sub_927C -9291 IrqHandler_Loop99 -9296 IrqHandler_Loop100 -9299 IrqHandler_Loop101 -92A0 Sub_92A0 -92A9 IrqHandler_OnNonnegative17 -92B3 IrqHandler_Loop102 -92B5 IrqHandler_OnNonnegative18 -9337 Sub_9337 -934A IrqHandler_Loop103 -9353 Sub_9353 -9359 Sub_9359 -9369 Sub_9369 -93A1 IrqHandler_Loop104 -93A6 IrqHandler_Loop105 -93F6 IrqHandler_Loop106 -9404 Sub_9404 -9432 IrqHandler_OnZero3 -9479 Sub_9479 -9486 Sub_9486 -948F Sub_948F -9497 Sub_9497 -94A3 IrqHandler_Loop107 -94A6 Sub_94A6 -94B2 Sub_94B2 -94C8 Sub_94C8 -94D6 Sub_94D6 -94E0 Sub_94E0 -94EB Sub_94EB -94FD Sub_94FD -9511 Sub_9511 -9519 IrqHandler_OnCarryClear -952A IrqHandler_Loop108 -9535 IrqHandler_Loop109 -956B IrqHandler_Loop110 -957B IrqHandler_Loop111 -957F IrqHandler_Loop112 -958A IrqHandler_Loop113 -95DF IrqHandler_Loop114 -95F0 IrqHandler_Loop115 -9617 Sub_9617 -96BC Sub_96BC -96BD IrqHandler_Loop116 -9755 Sub_9755 -97CE IrqHandler_OnNonnegative19 -97D2 IrqHandler_OnNonnegative20 -97E6 IrqHandler_Loop117 -97E8 IrqHandler_Loop118 -97F1 Sub_97F1 -97F8 Sub_97F8 -97FE Sub_97FE -9814 IrqHandler_Loop119 -982A IrqHandler_Loop120 -9836 IrqHandler_OnZero4 -983E IrqHandler_OnNonzero11 -9843 Sub_9843 -9844 IrqHandler_Loop121 -9852 IrqHandler_Loop122 -9862 IrqHandler_Loop123 -988A Sub_988A -989B Sub_989B -98A3 Sub_98A3 -98AE IrqHandler_Loop124 -98AF IrqHandler_Loop125 -98B5 Sub_98B5 -98CD Sub_98CD -98F9 Sub_98F9 -991A IrqHandler_Loop126 -9925 Sub_9925 -997E IrqHandler_OnZero5 -99AC Sub_99AC -99DA Sub_99DA -99E0 Sub_99E0 -9A35 Sub_9A35 -9A42 IrqHandler_OnNegative2 -9A43 Sub_9A43 -9A50 Sub_9A50 -9A8E Sub_9A8E -9A9F Sub_9A9F -9AAA Sub_9AAA -9BB0 Sub_9BB0 -9BB8 IrqHandler_Loop127 -9BCF IrqHandler_OnNonzero12 -9BE6 IrqHandler_Loop128 -9BFD IrqHandler_OnNonzero13 -9C14 IrqHandler_Loop129 -9C15 Sub_9C15 -9C1D IrqHandler_Loop130 -9C2E IrqHandler_OnNonzero14 -9C3C Sub_9C3C -9C44 IrqHandler_Loop131 -9C55 IrqHandler_OnNonzero15 -9C66 Sub_9C66 -9C70 IrqHandler_OnCarryClear2 -9C8E IrqHandler_OnNonzero16 -9C8F Sub_9C8F -9C99 IrqHandler_OnCarryClear3 -9CB8 Sub_9CB8 -9CC2 IrqHandler_OnCarryClear4 -9CE1 Sub_9CE1 -9CEB IrqHandler_OnCarryClear5 -9D0A Sub_9D0A -9D15 Sub_9D15 -9D2C IrqHandler_Loop132 -9D34 IrqHandler_Loop133 -9D3B Sub_9D3B -9D4B IrqHandler_Loop134 -9D4E Sub_9D4E -9D56 Sub_9D56 -9D86 IrqHandler_Loop135 -9D8E Sub_9D8E -9DB6 Sub_9DB6 -9DC1 Sub_9DC1 -9DE8 IrqHandler_Loop136 -9E02 IrqHandler_Loop137 -9E05 Sub_9E05 -9E0D IrqHandler_OnCarryClear6 -9E28 IrqHandler_Loop138 -9E2A Sub_9E2A -9E2F IrqHandler_Loop139 -9E47 Sub_9E47 -9E72 IrqHandler_OnCarryClear7 -9E91 IrqHandler_Loop140 -9E93 Sub_9E93 -9EA6 IrqHandler_Loop141 -9ED3 IrqHandler_OnCarryClear8 -9EF2 IrqHandler_Loop142 -9EF4 Sub_9EF4 -9F07 IrqHandler_Loop143 -9F19 Sub_9F19 -9F38 IrqHandler_OnZero6 -9F51 IrqHandler_Loop144 -9F5A Sub_9F5A -9F67 IrqHandler_Loop145 -9F69 Sub_9F69 -9F77 Sub_9F77 -9F86 IrqHandler_OnCarryClear9 -9FAE Sub_9FAE -9FD0 Sub_9FD0 -9FD9 Sub_9FD9 -A00A Sub_A00A -A013 Sub_A013 -A03A Sub_A03A -A040 Sub_A040 -A05C IrqHandler_Loop146 -A05D Sub_A05D -A0A7 IrqHandler_Loop147 -A0AF IrqHandler_Loop148 -A0B5 Sub_A0B5 -A0BA IrqHandler_OnNonnegative21 -A0C3 Sub_A0C3 -A0CD IrqHandler_OnNonzero17 -A0D8 Sub_A0D8 -A0E4 Sub_A0E4 -A0EE Sub_A0EE -A0F8 Sub_A0F8 -A102 Sub_A102 -A10C Sub_A10C -A118 IrqHandler_OnNonnegative22 -A11C IrqHandler_OnNonnegative23 -A136 Sub_A136 -A148 IrqHandler_OnNonnegative24 -A14C IrqHandler_OnNonnegative25 -A157 IrqHandler_Loop149 -A15F IrqHandler_Loop150 -A168 Sub_A168 -A170 IrqHandler_OnCarryClear10 -A184 Sub_A184 -A19F IrqHandler_Loop151 -A1AF IrqHandler_Loop152 -A1BF Sub_A1BF -A1D6 Sub_A1D6 -A1F3 IrqHandler_Loop153 -A201 IrqHandler_Loop154 -A212 IrqHandler_Loop155 -A22E IrqHandler_Loop156 -A234 IrqHandler_Loop157 -A239 Sub_A239 -A25A IrqHandler_Loop158 -A2A0 IrqHandler_OnNonzero18 -A2AD IrqHandler_OnZero7 -A2AE Sub_A2AE -A2C1 IrqHandler_Loop159 -A2EE IrqHandler_Loop160 -A312 IrqHandler_Loop161 -A315 IrqHandler_Loop162 -A33C IrqHandler_Loop163 -A34A IrqHandler_Loop164 -A350 IrqHandler_Loop165 -A353 IrqHandler_OnZero8 -A354 IrqHandler_Loop166 -A372 IrqHandler_Loop167 -A375 Sub_A375 -A378 Sub_A378 -A37C Sub_A37C -A38F IrqHandler_Loop168 -A396 Sub_A396 -A3A4 IrqHandler_Loop169 -A3A7 Sub_A3A7 -A3B7 Sub_A3B7 -A3B9 Sub_A3B9 -A3C4 IrqHandler_Loop170 -A3CF IrqHandler_Loop171 -A3F9 Sub_A3F9 -A40C IrqHandler_Loop172 -A413 Sub_A413 -A423 IrqHandler_Loop173 -A426 Sub_A426 -A430 IrqHandler_Loop174 -A43B IrqHandler_Loop175 -A446 IrqHandler_Loop176 -A474 Sub_A474 -A484 IrqHandler_Loop177 -A4E9 Sub_A4E9 -A4F0 Sub_A4F0 -A4F7 Sub_A4F7 -A4FE Sub_A4FE -A569 IrqHandler_OnOverflowSet -A56F Sub_A56F -A57A IrqHandler_Loop178 -A581 IrqHandler_Loop179 -A582 Sub_A582 -A67D IrqHandler_OnCarryClear11 -A68B IrqHandler_Loop180 -A68D Sub_A68D -A69A IrqHandler_Loop181 -A69C IrqHandler_Loop182 -A6B7 IrqHandler_OnCarryClear12 -A6D3 IrqHandler_OnOverflowSet2 -A6D5 IrqHandler_OnNonzero19 -A6EC Sub_A6EC -ABD0 Sub_ABD0 -ABE3 Sub_ABE3 -ABF5 IrqHandler_Loop183 -AC03 IrqHandler_Loop184 -AC0B IrqHandler_Loop185 -AC10 Sub_AC10 -AC18 Sub_AC18 -AC20 IrqHandler_OnNonnegative26 -AC2C IrqHandler_Loop186 -AC2E IrqHandler_OnNonnegative27 -AC37 Sub_AC37 -AC3F IrqHandler_Loop187 -AC64 Sub_AC64 -AC86 IrqHandler_OnZero9 -AC98 IrqHandler_Loop188 -AC9B IrqHandler_Loop189 -AC9E IrqHandler_Loop190 -ACA1 IrqHandler_Loop191 -ACA4 IrqHandler_Loop192 -ACB6 IrqHandler_Loop193 -ACC8 IrqHandler_Loop194 -ACCE IrqHandler_Loop195 -ACD1 IrqHandler_Loop196 -ACEC IrqHandler_Loop197 -ACEF IrqHandler_Loop198 -AD05 IrqHandler_Loop199 -AD15 Sub_AD15 -AD1B Sub_AD1B -AD21 Sub_AD21 -AD27 Sub_AD27 -AD35 Sub_AD35 -AD54 Sub_AD54 -AD60 IrqHandler_Loop200 -AD63 Sub_AD63 -AD88 IrqHandler_Loop201 -AD91 IrqHandler_Loop202 -AD9A IrqHandler_Loop203 -ADA3 IrqHandler_Loop204 -ADB0 IrqHandler_Loop205 -ADDA IrqHandler_Loop206 -ADDB IrqHandler_Loop207 -ADE4 IrqHandler_Loop208 -ADED IrqHandler_Loop209 -AE0B IrqHandler_Loop210 -AE14 IrqHandler_Loop211 -AE25 IrqHandler_Loop212 -AE60 IrqHandler_Loop213 -AE69 IrqHandler_Loop214 -AE72 IrqHandler_Loop215 -AE7B IrqHandler_Loop216 -AE84 IrqHandler_Loop217 -AE8D IrqHandler_Loop218 -AE96 IrqHandler_Loop219 -AE9F Sub_AE9F -AEB9 IrqHandler_Loop220 -AEBA Sub_AEBA -AECC IrqHandler_OnCarryClear13 -AEE6 IrqHandler_Loop221 -AEEB IrqHandler_Loop222 -AEFA IrqHandler_Loop223 -AF98 Sub_AF98 -AFA6 IrqHandler_Loop224 -AFAE IrqHandler_OnNonzero20 -AFB9 IrqHandler_OnNonzero21 -AFC5 IrqHandler_OnZero10 -AFDB IrqHandler_OnNonzero22 -AFDC IrqHandler_Loop225 -AFE4 IrqHandler_Loop226 -AFED IrqHandler_Loop227 -AFF1 IrqHandler_Loop228 -AFFC IrqHandler_Loop229 -B003 IrqHandler_Loop230 -B006 IrqHandler_OnNonzero23 -B038 IrqHandler_OnNonzero24 -B03E IrqHandler_OnNonzero25 -B04D IrqHandler_Loop231 -B061 IrqHandler_Loop232 -B063 IrqHandler_OnNonzero26 -B069 IrqHandler_OnNonzero27 -B078 IrqHandler_Loop233 -B08C IrqHandler_Loop234 -B097 IrqHandler_Loop235 -B099 Sub_B099 -B09E IrqHandler_Loop236 -B0A5 IrqHandler_OnNonzero28 -B0AE IrqHandler_Loop237 -B0B7 IrqHandler_OnZero11 -B0CD Sub_B0CD -B0D8 IrqHandler_OnNonzero29 -B0E5 IrqHandler_OnNonzero30 -B0F0 IrqHandler_OnZero12 -B10E IrqHandler_OnZero13 -B11E IrqHandler_Loop238 -B128 IrqHandler_Loop239 -B140 IrqHandler_Loop240 -B142 IrqHandler_Loop241 -B144 IrqHandler_Loop242 -B14C IrqHandler_Loop243 -B14D Sub_B14D -B156 IrqHandler_OnNonzero31 -B15F IrqHandler_OnNonzero32 -B16A IrqHandler_OnZero14 -B18C IrqHandler_Loop244 -B18E IrqHandler_Loop245 -B198 IrqHandler_OnNonzero33 -B199 IrqHandler_Loop246 -B1A1 IrqHandler_Loop247 -B1AA IrqHandler_Loop248 -B1AE IrqHandler_Loop249 -B1AF Sub_B1AF -B1B8 IrqHandler_OnNonzero34 -B1C1 IrqHandler_OnNonzero35 -B1CC IrqHandler_OnZero15 -B1EE IrqHandler_Loop250 -B1F0 IrqHandler_Loop251 -B1FA IrqHandler_OnNonzero36 -B1FB IrqHandler_Loop252 -B203 IrqHandler_Loop253 -B20C IrqHandler_Loop254 -B210 IrqHandler_Loop255 -B211 Sub_B211 -B21F Sub_B21F -B222 IrqHandler_Loop256 -B238 IrqHandler_OnNonzero37 -B244 IrqHandler_OnZero16 -B26A IrqHandler_OnNonzero38 -B283 IrqHandler_Loop257 -B28D IrqHandler_Loop258 -B2B8 IrqHandler_Loop259 -B2C7 Sub_B2C7 -B2E3 IrqHandler_OnNonzero39 -B2EF IrqHandler_OnZero17 -B315 IrqHandler_OnNonzero40 -B32E IrqHandler_Loop260 -B338 IrqHandler_Loop261 -B34D IrqHandler_OnNonzero41 -B350 IrqHandler_OnZero18 -B35B IrqHandler_Loop262 -B372 IrqHandler_Loop263 -B37D Sub_B37D -B37F IrqHandler_OnNonzero42 -B3B5 IrqHandler_Loop264 -B3C5 IrqHandler_Loop265 -B3C8 IrqHandler_Loop266 -B3CE IrqHandler_Loop267 -B3D3 IrqHandler_Loop268 -B3D8 Sub_B3D8 -B3E5 IrqHandler_OnNonzero43 -B3F2 IrqHandler_OnNonzero44 -B3FD IrqHandler_OnNonzero45 -B40F IrqHandler_OnNonzero46 -B418 IrqHandler_OnNonzero47 -B425 IrqHandler_OnNonzero48 -B430 IrqHandler_OnNonzero49 -B440 IrqHandler_Loop269 -B443 IrqHandler_Loop270 -B446 IrqHandler_Loop271 -B449 IrqHandler_Loop272 -B44C IrqHandler_Loop273 -B452 IrqHandler_OnNonzero50 -B467 Sub_B467 -B46F IrqHandler_OnNonzero51 -B489 Sub_B489 -B48F IrqHandler_OnNonzero52 -B4A4 Sub_B4A4 -B4AC IrqHandler_OnNonzero53 -B4C6 IrqHandler_Loop274 -B4C7 IrqHandler_Loop275 -B4CA IrqHandler_Loop276 -B4CD Sub_B4CD -B4CF IrqHandler_OnNonzero54 -B4DC IrqHandler_Loop277 -B4DE IrqHandler_Loop278 -B4E2 Sub_B4E2 -B4F0 IrqHandler_Loop279 -B4FA IrqHandler_Loop280 -B4FD IrqHandler_Loop281 -B500 Sub_B500 -B50E Sub_B50E -B526 IrqHandler_Loop282 -B53A IrqHandler_Loop283 -B551 IrqHandler_Loop284 -B566 IrqHandler_OnNonzero55 -B569 IrqHandler_OnZero19 -B574 IrqHandler_Loop285 -B58B IrqHandler_Loop286 -B596 Sub_B596 -B598 IrqHandler_OnNonzero56 -B5D6 IrqHandler_Loop287 -B5DA IrqHandler_OnZero20 -B5EA IrqHandler_Loop288 -B5EF IrqHandler_Loop289 -B5F2 IrqHandler_Loop290 -B5F4 IrqHandler_OnZero21 -B604 IrqHandler_Loop291 -B609 IrqHandler_Loop292 -B60D IrqHandler_Loop293 -B612 IrqHandler_Loop294 -B617 IrqHandler_OnNonzero57 -B61A IrqHandler_OnNonzero58 -B625 IrqHandler_Loop295 -B656 IrqHandler_Loop296 -B664 Sub_B664 -B671 IrqHandler_Loop297 -B67E IrqHandler_Loop298 -B689 IrqHandler_Loop299 -B693 IrqHandler_OnNonzero59 -B6B4 IrqHandler_Loop300 -B6C5 Sub_B6C5 -B6D2 IrqHandler_Loop301 -B6DF IrqHandler_Loop302 -B6EA IrqHandler_Loop303 -B6F4 IrqHandler_OnNonzero60 -B701 Sub_B701 -B728 IrqHandler_Loop304 -B733 IrqHandler_OnCarrySet4 -B736 IrqHandler_OnCarrySet5 -B750 IrqHandler_Loop305 -B75B IrqHandler_OnCarrySet6 -B76D IrqHandler_Loop306 -B777 IrqHandler_Loop307 -B77D IrqHandler_Loop308 -B788 IrqHandler_Loop309 -B7AA IrqHandler_Loop310 -B7AB Sub_B7AB -B7D2 IrqHandler_Loop311 -B7DD IrqHandler_OnCarrySet7 -B7E0 IrqHandler_OnCarrySet8 -B7FA IrqHandler_Loop312 -B805 IrqHandler_OnCarrySet9 -B817 IrqHandler_Loop313 -B821 IrqHandler_Loop314 -B827 IrqHandler_Loop315 -B832 IrqHandler_Loop316 -B854 IrqHandler_Loop317 -B855 Sub_B855 -B882 IrqHandler_Loop318 -B88D IrqHandler_OnCarrySet10 -B890 IrqHandler_OnCarrySet11 -B8AA IrqHandler_Loop319 -B8B5 IrqHandler_OnCarrySet12 -B8C7 IrqHandler_Loop320 -B8D1 IrqHandler_Loop321 -B8D7 IrqHandler_Loop322 -B8E2 IrqHandler_Loop323 -B904 IrqHandler_Loop324 -B905 Sub_B905 -B932 IrqHandler_Loop325 -B93D IrqHandler_OnCarrySet13 -B940 IrqHandler_OnCarrySet14 -B95A IrqHandler_Loop326 -B96F IrqHandler_OnCarrySet15 -B981 IrqHandler_Loop327 -B98B IrqHandler_Loop328 -B991 IrqHandler_Loop329 -B9A1 IrqHandler_Loop330 -B9CB IrqHandler_Loop331 -B9CC Sub_B9CC -B9F9 IrqHandler_Loop332 -BA04 IrqHandler_OnCarrySet16 -BA07 IrqHandler_OnCarrySet17 -BA21 IrqHandler_Loop333 -BA36 IrqHandler_OnCarrySet18 -BA48 IrqHandler_Loop334 -BA52 IrqHandler_Loop335 -BA58 IrqHandler_Loop336 -BA68 IrqHandler_Loop337 -BA92 IrqHandler_Loop338 -BA93 Sub_BA93 -BA9E IrqHandler_Loop339 -BABA IrqHandler_OnCarryClear14 -BAC8 IrqHandler_Loop340 -BAE1 IrqHandler_Loop341 -BAFA IrqHandler_Loop342 -BB19 IrqHandler_OnCarrySet19 -BB21 IrqHandler_Loop343 -BB2C IrqHandler_Loop344 -BB3B IrqHandler_Loop345 -BB3C Sub_BB3C -BB40 IrqHandler_OnNonzero61 -BB47 Sub_BB47 -BB5F IrqHandler_Loop346 -BB61 IrqHandler_OnNonzero62 -BB6C Sub_BB6C -BB7B IrqHandler_OnNonzero63 -BB85 IrqHandler_Loop347 -BB88 IrqHandler_OnNonzero64 -BB90 IrqHandler_Loop348 -BB98 IrqHandler_Loop349 -BBA5 IrqHandler_Loop350 -BBA8 Sub_BBA8 -BBB2 IrqHandler_OnNonzero65 -BBC2 IrqHandler_Loop351 -BBCA IrqHandler_Loop352 -BBD2 IrqHandler_Loop353 -BC03 Sub_BC03 -BC11 IrqHandler_OnNonzero66 -BC20 IrqHandler_OnNonzero67 -BC4B Sub_BC4B -BC5E IrqHandler_Loop354 -BC66 IrqHandler_Loop355 -BC6E IrqHandler_Loop356 -BC70 IrqHandler_Loop357 -BC7D IrqHandler_Loop358 -BC85 IrqHandler_Loop359 -BCAE IrqHandler_Loop360 -BCB9 IrqHandler_OnNonzero68 -BCBE Sub_BCBE -BCC6 IrqHandler_Loop361 -BCCD Sub_BCCD -D6A4 Sub_D6A4 -D6A8 IrqHandler_OnNonzero69 -D6AE Sub_D6AE D6B4 NmiHandler -D6DC NmiHandler_Loop -D6E2 Sub_D6E2 -D6EB NmiHandler_OnZero -D6F1 NmiHandler_OnNonnegative -D6FD Sub_D6FD -D6FF Sub_D6FF -D708 Sub_D708 -D70D Sub_D70D -D736 Sub_D736 -D742 NmiHandler_Loop2 -D74A NmiHandler_OnNonzero -D763 NmiHandler_Loop3 -D76B NmiHandler_Loop4 -D770 Sub_D770 -D776 Sub_D776 -D77C Sub_D77C -D780 NmiHandler_Loop5 -D7A2 NmiHandler_Loop6 -D7BA NmiHandler_Loop7 -D7CC NmiHandler_OnNonzero2 -D7E9 NmiHandler_OnNonzero3 -D7FA NmiHandler_Loop8 -D804 NmiHandler_Loop9 -D80D NmiHandler_OnNonzero4 -D81E NmiHandler_Loop10 -D824 Sub_D824 -D82F NmiHandler_Loop11 -D83B NmiHandler_Loop12 -D843 Sub_D843 -D86A NmiHandler_OnNonzero5 -D880 NmiHandler_Loop13 -D88A NmiHandler_Loop14 -D893 NmiHandler_OnNonzero6 -D8A9 NmiHandler_Loop15 -D8AF Sub_D8AF -D8B5 NmiHandler_Loop16 -D8C1 NmiHandler_Loop17 -D8C9 NmiHandler_Loop18 -D8D5 Sub_D8D5 -D8E4 NmiHandler_Loop19 -D8F9 Sub_D8F9 -D905 Sub_D905 -D90A Sub_D90A -D913 NmiHandler_OnNonzero7 -D938 NmiHandler_Loop20 -D93F NmiHandler_OnNonzero8 -D95F NmiHandler_Loop21 -D965 NmiHandler_Loop22 -D966 Sub_D966 -D973 Sub_D973 -D975 NmiHandler_OnNonzero9 -D9EA Sub_D9EA -DA02 NmiHandler_Loop23 -DA04 NmiHandler_Loop24 -DA09 Sub_DA09 -DA18 NmiHandler_Loop25 -DA1A NmiHandler_OnNonnegative2 -DA27 NmiHandler_Loop26 -DA2A NmiHandler_Loop27 -DA36 NmiHandler_Loop28 -DA38 NmiHandler_OnNonnegative3 -DA45 NmiHandler_Loop29 -DA48 NmiHandler_Loop30 -DA61 Sub_DA61 -DA6D NmiHandler_Loop31 -DA79 Sub_DA79 -DA89 NmiHandler_OnNonzero10 -DA96 NmiHandler_Loop32 -DAA3 NmiHandler_Loop33 -DAAD NmiHandler_Loop34 -DABA NmiHandler_Loop35 -DAF8 Sub_DAF8 -DB04 NmiHandler_OnNonnegative4 -DB0F Sub_DB0F -DB1B NmiHandler_Loop36 -DB27 NmiHandler_Loop37 -DB45 NmiHandler_Loop38 -DB70 Sub_DB70 -DB85 NmiHandler_Loop39 -DB96 NmiHandler_Loop40 -DB98 NmiHandler_OnNonnegative5 -DBA6 NmiHandler_Loop41 -DBAB NmiHandler_OnNonnegative6 -DBB9 NmiHandler_Loop42 -DBBE NmiHandler_OnNonnegative7 -DBCC NmiHandler_Loop43 -DBD1 NmiHandler_OnNonnegative8 -DBDF NmiHandler_Loop44 -DBE3 Sub_DBE3 -DBE9 Sub_DBE9 -DBEF NmiHandler_Loop45 -DC1C NmiHandler_Loop46 -DC2B NmiHandler_Loop47 -DC32 Sub_DC32 -DC38 NmiHandler_Loop48 -DC39 NmiHandler_Loop49 -DC4F NmiHandler_Loop50 -DC57 NmiHandler_OnNonnegative9 -DC6D NmiHandler_Loop51 -DC7F NmiHandler_Loop52 -DCAA NmiHandler_Loop53 -DCC1 NmiHandler_Loop54 -DCE5 NmiHandler_Loop55 -DD02 NmiHandler_Loop56 -DD0E NmiHandler_Loop57 -DD22 NmiHandler_Loop58 -DD36 NmiHandler_Loop59 -DD42 NmiHandler_Loop60 -DD4E NmiHandler_Loop61 diff --git a/NROM/Othello (U)/locals.inc b/NROM/Othello (U)/locals.inc index a56ed5a..b788e20 100644 --- a/NROM/Othello (U)/locals.inc +++ b/NROM/Othello (U)/locals.inc @@ -5,81 +5,84 @@ ; Pass 2 replaces them with names derived from observed usage. Zp00 = $00 ; 18 refs; reads=11 writes=7; used at $8035, 806B, 806F, 80CF, +14 more -Zp01 = $01 ; 11 refs; reads=6 writes=5; used at $8031, 8E55, 8E6D, 8EBB, +3 more +Zp01 = $01 ; 11 refs; reads=6 writes=5; used at $8031, 8E55, 8EBB, 9872, +3 more Zp02 = $02 ; 9 refs; reads=3 writes=6; used at $8043, 80F6, 84BF, 998A, +4 more Zp03 = $03 ; 5 refs; reads=1 writes=4; used at $8041, 80FA, 8133, 91D3, +1 more -Zp04 = $04 ; 8 refs; reads=6 writes=2; used at $8E6C, 8ED5, 8F00, 9369, +3 more +Zp04 = $04 ; 10 refs; reads=7 writes=3; used at $8E6C, 8ED5, 8F00, 9369, +4 more Zp05 = $05 ; 6 refs; reads=2 writes=4; used at $8465, 8642, D6CC, D6E9, +1 more -Zp06 = $06 ; 27 refs; reads=23 writes=4; used at $844B, 847D, 869A, 8A3C, +22 more +Zp06 = $06 ; 28 refs; reads=24 writes=4; used at $844B, 8475, 847D, 869A, +23 more Zp07 = $07 ; 8 refs; reads=6 writes=2; used at $8648, 86A0, 8B6B, 9599, +4 more -Zp08 = $08 ; 8 refs; reads=5 writes=3; used at $80A0, 9888, 9981, 9AB5, +2 more +Zp08 = $08 ; 10 refs; reads=6 writes=4; used at $80A0, 9888, 9981, 9AB5, +3 more Zp09 = $09 ; 1 refs; reads=1 writes=0; used at $DA38 Zp0A = $0A ; 2 refs; reads=2 writes=0; used at $DA12, DA30 Zp0D = $0D ; 6 refs; reads=4 writes=2; used at $D787, D78E, D793, D797, +2 more Zp0E = $0E ; 4 refs; reads=2 writes=2; used at $D78A, D7A0, D7A2 -Zp0F = $0F ; 59 refs; reads=24 writes=35; used at $84E6, 85AA, 85FF, 8C94, +47 more -Zp10 = $10 ; 42 refs; reads=15 writes=27; used at $84EA, 85AE, 8C98, 8E48, +34 more +Zp0F = $0F ; 61 refs; reads=24 writes=37; used at $84E6, 85AA, 85FF, 8C94, +49 more +Zp10 = $10 ; 44 refs; reads=15 writes=29; used at $84EA, 85AE, 8C98, 8E48, +36 more Zp11 = $11 ; 24 refs; reads=15 writes=9; used at $D790, D7B0, D7B5, D7BA, +17 more Zp12 = $12 ; 16 refs; reads=7 writes=9; used at $D795, D7F8, D81C, D848, +7 more Zp13 = $13 ; 9 refs; reads=4 writes=5; used at $D719, D71E, D726, D728, +3 more -Zp14 = $14 ; 12 refs; reads=9 writes=3; used at $B638, D736, D751, D75B, +8 more -Zp15 = $15 ; 9 refs; reads=6 writes=3; used at $D738, D73A, D763, D7C1, +5 more -Zp16 = $16 ; 7 refs; reads=5 writes=2; used at $D780, D7AA, D7EE, D812, +3 more +Zp14 = $14 ; 17 refs; reads=12 writes=5; used at $B638, D736, D751, D75B, +13 more +Zp15 = $15 ; 15 refs; reads=10 writes=5; used at $D738, D73A, D763, D7C1, +11 more +Zp16 = $16 ; 11 refs; reads=9 writes=2; used at $D780, D7AA, D7EE, D812, +7 more Zp17 = $17 ; 4 refs; reads=2 writes=2; used at $D8E4, D8F6, D8F9, D902 Zp18 = $18 ; 7 refs; reads=3 writes=4; used at $D770, D776, D77C, D834, +3 more Zp19 = $19 ; 11 refs; reads=5 writes=6; used at $A10E, A12D, A13E, A17B, +7 more -Zp1A = $1A ; 11 refs; reads=5 writes=6; used at $A112, A131, A142, A182, +7 more +Zp1A = $1A ; 13 refs; reads=6 writes=7; used at $972D, 973A, A112, A131, +9 more Zp1E = $1E ; 9 refs; reads=5 writes=4; used at $8502, D922, D932, D949, +5 more -Zp20 = $20 ; 14 refs; reads=8 writes=6; used at $803B, 80BE, 80C8, A58E, +6 more -Zp21 = $21 ; 7 refs; reads=5 writes=2; used at $8039, 98DB, D8D8, D90A, +3 more -Zp22 = $22 ; 10 refs; reads=7 writes=3; used at $98D3, 98DD, 9988, 9AB2, +4 more +Zp20 = $20 ; 18 refs; reads=10 writes=8; used at $803B, 80AE, 80BE, 80C8, +9 more +Zp21 = $21 ; 8 refs; reads=6 writes=2; used at $8039, 98DB, D8D0, D8D8, +4 more +Zp22 = $22 ; 12 refs; reads=8 writes=4; used at $98D3, 98DD, 993B, 995B, +6 more Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $D90C, D916 -Zp24 = $24 ; 6 refs; reads=4 writes=2; used at $803F, D9F2, DA0C, DA2A, +2 more -Zp25 = $25 ; 5 refs; reads=3 writes=2; used at $803D, D9F0, DA02, DA0E, +1 more +Zp24 = $24 ; 7 refs; reads=5 writes=2; used at $803F, D9F2, DA0C, DA2A, +3 more +Zp25 = $25 ; 6 refs; reads=3 writes=3; used at $803D, D9F0, DA02, DA0E, +2 more Zp26 = $26 ; 3 refs; reads=1 writes=2; used at $D6D1, DA71 +Zp27 = $27 ; 7 refs; reads=5 writes=2; used at $DACF, DAD5, DAD8, DAE0, +2 more +Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $DAD1 +Zp29 = $29 ; 3 refs; reads=3 writes=0; used at $DAC8, DAEE, DAF2 Zp2A = $2A ; 25 refs; reads=18 writes=7; used at $DB2D, DBE9, DBF1, DBFF, +19 more Zp2B = $2B ; 11 refs; reads=4 writes=7; used at $DB32, DBED, DC36, DC7A, +5 more Zp2C = $2C ; 12 refs; reads=5 writes=7; used at $DB7C, DC98, DC9D, DCB1, +8 more Zp2D = $2D ; 1 refs; reads=0 writes=1; used at $DB80 -Zp2E = $2E ; 83 refs; reads=57 writes=26; used at $80ED, 8225, 8229, 82CD, +79 more -Zp2F = $2F ; 42 refs; reads=38 writes=4; used at $8108, 818C, 81A7, 845A, +38 more -Zp30 = $30 ; 25 refs; reads=13 writes=12; used at $8213, 8217, 82BF, 84DE, +20 more -Zp31 = $31 ; 69 refs; reads=34 writes=35; used at $8302, 8309, 831B, 83B1, +57 more -Zp32 = $32 ; 76 refs; reads=39 writes=37; used at $8304, 830B, 8310, 8319, +62 more +Zp2E = $2E ; 86 refs; reads=60 writes=26; used at $80ED, 8225, 8229, 82CD, +82 more +Zp2F = $2F ; 45 refs; reads=41 writes=4; used at $8108, 818C, 81A7, 845A, +41 more +Zp30 = $30 ; 36 refs; reads=20 writes=16; used at $8213, 8217, 82BF, 83A0, +31 more +Zp31 = $31 ; 70 refs; reads=34 writes=36; used at $8302, 8309, 831B, 83B1, +58 more +Zp32 = $32 ; 77 refs; reads=39 writes=38; used at $8304, 830B, 8310, 8319, +63 more Zp33 = $33 ; 24 refs; reads=8 writes=16; used at $8608, 94F1, 9505, 9C77, +19 more -Zp34 = $34 ; 29 refs; reads=9 writes=20; used at $94FA, 950E, 9CC9, 9CCB, +25 more -Zp35 = $35 ; 36 refs; reads=22 writes=14; used at $8E1A, 8F77, 8F7D, 8FAD, +29 more -Zp36 = $36 ; 50 refs; reads=22 writes=28; used at $82BB, 82EB, 83AF, 8564, +41 more -Zp37 = $37 ; 71 refs; reads=37 writes=34; used at $82BD, 82ED, 83C3, 83FB, +58 more +Zp34 = $34 ; 30 refs; reads=9 writes=21; used at $94FA, 950E, 9CC9, 9CCB, +26 more +Zp35 = $35 ; 38 refs; reads=22 writes=16; used at $8DD1, 8E1A, 8F77, 8F7D, +31 more +Zp36 = $36 ; 58 refs; reads=27 writes=31; used at $82BB, 82EB, 83AF, 8564, +49 more +Zp37 = $37 ; 91 refs; reads=48 writes=43; used at $82BD, 82ED, 83C3, 83EF, +76 more Zp38 = $38 ; 15 refs; reads=5 writes=10; used at $8D16, 8F97, 903A, 904C, +8 more -Zp39 = $39 ; 16 refs; reads=11 writes=5; used at $8F99, 8FAF, 8FE3, 8FF7, +10 more +Zp39 = $39 ; 21 refs; reads=14 writes=7; used at $8F99, 8FAF, 8FE3, 8FF7, +14 more Zp3A = $3A ; 4 refs; reads=2 writes=2; used at $8897, A138, A15D -Zp3B = $3B ; 29 refs; reads=18 writes=11; used at $82E2, 88A0, 893B, 89B9, +19 more +Zp3B = $3B ; 30 refs; reads=19 writes=11; used at $82E2, 88A0, 893B, 89B9, +20 more Zp3C = $3C ; 4 refs; reads=2 writes=2; used at $889C, A13A, A155 -Zp3D = $3D ; 24 refs; reads=16 writes=8; used at $82E4, 88A3, 8938, 89B6, +17 more +Zp3D = $3D ; 26 refs; reads=18 writes=8; used at $82E4, 88A3, 8938, 89B6, +19 more Zp3E = $3E ; 49 refs; reads=26 writes=23; used at $AFD9, AFF5, B01F, B029, +45 more Zp3F = $3F ; 17 refs; reads=6 writes=11; used at $B359, B572, B623, B64A, +8 more Zp40 = $40 ; 31 refs; reads=14 writes=17; used at $B228, B260, B277, B292, +27 more -Zp41 = $41 ; 13 refs; reads=4 writes=9; used at $B29B, B29F, B346, B34A, +7 more +Zp41 = $41 ; 15 refs; reads=5 writes=10; used at $995F, B29B, B29F, B346, +8 more Zp42 = $42 ; 41 refs; reads=29 writes=12; used at $83E7, AF9C, AFFE, B08C, +32 more -Zp43 = $43 ; 18 refs; reads=9 writes=9; used at $8348, 9876, ACD4, ACEF, +10 more -Zp44 = $44 ; 32 refs; reads=8 writes=24; used at $83DE, 8584, 8601, 8951, +26 more -Zp45 = $45 ; 44 refs; reads=30 writes=14; used at $AF9E, AFC1, AFD0, B009, +40 more +Zp43 = $43 ; 21 refs; reads=11 writes=10; used at $8348, 9876, 993F, A56A, +12 more +Zp44 = $44 ; 33 refs; reads=8 writes=25; used at $83DE, 8584, 8601, 8951, +27 more +Zp45 = $45 ; 46 refs; reads=31 writes=15; used at $9941, AF9E, AFC1, AFD0, +41 more Zp46 = $46 ; 18 refs; reads=10 writes=8; used at $B2A9, B2AE, B2BF, B2C4, +12 more Zp47 = $47 ; 18 refs; reads=10 writes=8; used at $998C, B2B0, B2B5, B2B8, +12 more Zp48 = $48 ; 13 refs; reads=7 writes=6; used at $B0CF, B12C, B14F, B178, +6 more Zp49 = $49 ; 16 refs; reads=9 writes=7; used at $9983, 998E, B0D1, B140, +8 more Zp4A = $4A ; 34 refs; reads=17 writes=17; used at $B03A, B041, B045, B065, +27 more Zp4B = $4B ; 65 refs; reads=45 writes=20; used at $83E5, AF9A, AFD4, AFD6, +51 more -Zp4C = $4C ; 3 refs; reads=2 writes=1; used at $BB6E, BB98, BC70 -Zp4D = $4D ; 1 refs; reads=0 writes=1; used at $BC1E +Zp4C = $4C ; 4 refs; reads=3 writes=1; used at $9996, BB6E, BB98, BC70 +Zp4D = $4D ; 7 refs; reads=5 writes=2; used at $BBD9, BBE1, BBE5, BBF1, +2 more Zp4E = $4E ; 5 refs; reads=3 writes=2; used at $8194, 819B, BC03, BC25, +1 more Zp4F = $4F ; 7 refs; reads=2 writes=5; used at $BA93, BAF2, BC38, BC7A, +3 more Zp50 = $50 ; 8 refs; reads=2 writes=6; used at $834D, ADAD, ADBA, AE1E, +4 more Zp51 = $51 ; 10 refs; reads=1 writes=9; used at $8343, AE0D, AE22, AE2F, +6 more Zp52 = $52 ; 18 refs; reads=3 writes=15; used at $833E, ADA9, ADB6, AE11, +14 more Zp53 = $53 ; 43 refs; reads=23 writes=20; used at $858A, 98D9, B022, B375, +32 more -Zp54 = $54 ; 7 refs; reads=5 writes=2; used at $912D, BAAD, BAFC, BAFF, +3 more +Zp54 = $54 ; 8 refs; reads=5 writes=3; used at $912D, 916C, BAAD, BAFC, +4 more Zp55 = $55 ; 5 refs; reads=3 writes=2; used at $BAB4, BB03, BB07, BB11, +1 more Zp56 = $56 ; 9 refs; reads=5 writes=4; used at $BA96, BA98, BAA0, BADD, +5 more Zp57 = $57 ; 8 refs; reads=4 writes=4; used at $987A, BA9C, BAD5, BB15, +2 more @@ -87,26 +90,31 @@ Zp58 = $58 ; 10 refs; reads=5 writes=5; used at $BAA9, BAC0, Zp59 = $59 ; 10 refs; reads=5 writes=5; used at $BAAB, BAC6, BAE9, BAED, +4 more Zp5A = $5A ; 21 refs; reads=11 writes=10; used at $B047, B050, B072, B07B, +16 more Zp5B = $5B ; 23 refs; reads=10 writes=13; used at $8500, 8640, B04B, B057, +17 more +Zp60 = $60 ; 1 refs; reads=1 writes=0; used at $8E6E Zp64 = $64 ; 1 refs; reads=0 writes=1; used at $95A6 Zp67 = $67 ; 2 refs; reads=1 writes=1; used at $8646 Zp68 = $68 ; 1 refs; reads=1 writes=0; used at $987F Zp6C = $6C ; 2 refs; reads=1 writes=1; used at $AC5A +Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $9922 Zp84 = $84 ; 5 refs; reads=4 writes=1; used at $83E9, 8467, 84C1, 8586 Zp85 = $85 ; 4 refs; reads=2 writes=2; used at $8494, 8E67 -Zp86 = $86 ; 7 refs; reads=5 writes=2; used at $8504, 8507, 8606, 8644, +1 more +Zp86 = $86 ; 8 refs; reads=6 writes=2; used at $8504, 8507, 8606, 8644, +2 more Zp88 = $88 ; 2 refs; reads=1 writes=1; used at $814A Zp8B = $8B ; 2 refs; reads=1 writes=1; used at $8BA5 -Zp8E = $8E ; 1 refs; reads=1 writes=0; used at $874F +Zp8C = $8C ; 2 refs; reads=1 writes=1; used at $A55C +Zp8E = $8E ; 2 refs; reads=2 writes=0; used at $874F, A55F Zp92 = $92 ; 1 refs; reads=1 writes=0; used at $8588 Zp95 = $95 ; 3 refs; reads=3 writes=0; used at $9550, 95A8, 977F Zp98 = $98 ; 11 refs; reads=5 writes=6; used at $9812, 9828, 9841, 9860, +2 more Zp99 = $99 ; 6 refs; reads=3 writes=3; used at $992D, 99B7, 99DD -Zp9A = $9A ; 4 refs; reads=2 writes=2; used at $9A40, 9A91 +Zp9A = $9A ; 6 refs; reads=3 writes=3; used at $9917, 9A40, 9A91 Zp9B = $9B ; 8 refs; reads=4 writes=4; used at $8397, 8463, 84C3, 8556 ZpA1 = $A1 ; 1 refs; reads=1 writes=0; used at $84BD +ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $809A ZpA4 = $A4 ; 1 refs; reads=0 writes=1; used at $BC20 -ZpA5 = $A5 ; 40 refs; reads=27 writes=13; used at $8916, 8C1C, 8DDA, 8DE3, +36 more +ZpA5 = $A5 ; 42 refs; reads=28 writes=14; used at $8916, 8C1C, 8DDA, 8DE3, +38 more ZpA7 = $A7 ; 6 refs; reads=5 writes=1; used at $8469, A592, A597, A6FC, +1 more +ZpA9 = $A9 ; 2 refs; reads=1 writes=1; used at $80C6 ZpAE = $AE ; 4 refs; reads=3 writes=1; used at $B37F, B598, B5F7, BB63 ZpAF = $AF ; 8 refs; reads=8 writes=0; used at $AE9F, B3D8, B3E5, B428, +4 more ZpB6 = $B6 ; 6 refs; reads=6 writes=0; used at $AEA5, B3DF, B3F0, B3FD, +2 more @@ -114,9 +122,28 @@ ZpC8 = $C8 ; 2 refs; reads=2 writes=0; used at $8140, 91E0 ZpCC = $CC ; 1 refs; reads=1 writes=0; used at $815A ZpCD = $CD ; 1 refs; reads=0 writes=1; used at $BC2D ZpCE = $CE ; 13 refs; reads=6 writes=7; used at $8167, 855B, 8560, 85C9, +3 more -ZpD6 = $D6 ; 5 refs; reads=2 writes=3; used at $8077, 80C5, BC29 +ZpD6 = $D6 ; 5 refs; reads=2 writes=3; used at $8077, 9999, BC29 ZpD7 = $D7 ; 4 refs; reads=3 writes=1; used at $954C, 95A4, 977B, BC2F ZpEE = $EE ; 6 refs; reads=6 writes=0; used at $AEAB, B412, B418, B423, +2 more ZpEF = $EF ; 1 refs; reads=1 writes=0; used at $8582 ZpF5 = $F5 ; 4 refs; reads=4 writes=0; used at $AEB1, B3F5, B40D, B467 ZpFB = $FB ; 1 refs; reads=1 writes=0; used at $83DC + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp00 +BoardCursorX = Zp31 +BoardCursorY = Zp32 +CursorMoved = Zp2E +BoardState = Zp37 +BoardState2 = Zp36 +PlayerSide = Zp2F +CellPatternIndex= ZpA5 +BoardDataPtrLo = Zp3E +BoardColumnCount= Zp45 +BoardColumn = Zp4B +CellCharset = Zp52 +CellType = Zp51 +CellOwner = Zp43 +CellValid = Zp50 +MoveDeltaX = Zp0F +MoveDeltaY = Zp10 diff --git a/NROM/Othello (U)/prg.s b/NROM/Othello (U)/prg.s index 6d8bad7..94d482a 100644 --- a/NROM/Othello (U)/prg.s +++ b/NROM/Othello (U)/prg.s @@ -9,10 +9,10 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): -; 13 further routine entries recovered from table references elsewhere in the image: -; $850A, $8E37, $97C4, $A679, $A6AF, $AD6C, $AD91, $AD9A, $ADA3, $ADBD, $ADDB, $AE32, $D9DD +; 11 further routine entries recovered from table references elsewhere in the image: +; $850A, $97C4, $A679, $A6AF, $AD6C, $AD91, $AD9A, $ADA3, $ADBD, $ADDB, $AE32 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: -; $8000, $804F, $8079, $807E, $808B, $8093, $809B, $80AF, $80B7, $80BF, $80C7, $810F, $811A, $813A, $8142, $814C, $8151, $815C, $8164, $8169, $8171, $819D, $81C3, $81D6, $820C, $8219, $82B9, $8368, $8393, $8399, $839E, $83A8, $83C1, $83EC, $83FB, $840E, $8421, $844B, $846D, $84A1, $84A6, $854E, $8558, $855D, $8562, $858F, $85C6, $85CB, $85DB, $85E3, $860C, $8619, $8633, $864D, $865A, $869A, $86AB, $86C2, $86C7, $86DF, $8746, $874E, $876A, $877F, $87A0, $87BE, $87D5, $8808, $888B, $88D8, $88F0, $890B, $8933, $897F, $8A25, $8A45, $8AC0, $8C8C, $8CA2, $8CC3, $8CEF, $8D4A, $8D71, $8D90, $8DD6, $8E2C, $8E3F, $8E61, $8E66, $8E6F, $8E93, $8EA4, $8EB8, $8EBD, $8EEC, $8F13, $8F4A, $8F65, $8F95, $9013, $9101, $92A0, $9337, $9404, $94B2, $94C8, $9535, $9562, $956B, $95D7, $964D, $96B9, $97F1, $9811, $9827, $983E, $9843, $988A, $989B, $98AE, $98B4, $99AC, $99B9, $99DA, $99DF, $9A35, $9A3D, $9A42, $9AAA, $9AAF, $9C15, $9C1D, $9C66, $9DC1, $9F77, $9FD9, $A2A0, $A315, $A350, $A354, $A372, $A3F9, $A430, $A43B, $A446, $A4E9, $ABE3, $ABF5, $AC03, $AC0B, $AC18, $AC2C, $AC3F, $AC64, $AC98, $ACA1, $ACB6, $AD15, $AD21, $AE9F, $AEEB, $AEFA, $AF98, $B097, $B222, $B35B, $B372, $B3CE, $B446, $B4FD, $B574, $B58B, $B617, $B625, $B671, $B689, $B6D2, $B6DF, $B6EA, $B728, $B733, $B75B, $B7D2, $B7DD, $B805, $B882, $B88D, $B932, $B93D, $B95A, $B9CB, $BA93, $BA9E, $BAC8, $BB98, $BBA5, $BC03, $BC70, $BC7D, $BCAE, $BCCD, $D6A4, $D6FD, $D742, $D763, $D76B, $D7A2, $D8D5, $D938, $D9EA, $DA45, $DA61, $DA79, $DAF8, $DB1B, $DB70, $DC2B, $DCAA, $DCC1 +; $8000, $804F, $8079, $807E, $808B, $8091, $8093, $809A, $809B, $809C, $80AE, $80AF, $80B5, $80B7, $80BF, $80C6, $80C7, $810F, $8118, $811A, $8138, $813A, $813D, $8142, $814C, $814F, $8151, $815C, $8162, $8164, $8169, $816F, $8171, $819D, $81C3, $81D4, $81D6, $820C, $8219, $82B9, $8368, $8393, $8399, $839C, $839E, $83A0, $83A7, $83A8, $83C1, $83EC, $83EF, $83FB, $840E, $8421, $842C, $844B, $846D, $8475, $84A1, $84A6, $854E, $8558, $855D, $8562, $858F, $8592, $85C6, $85CB, $85DB, $85E3, $860C, $860F, $8619, $8633, $864D, $8655, $8658, $865A, $869A, $86AB, $86C2, $86C5, $86C7, $86DF, $8746, $874E, $876A, $877F, $87A0, $87BE, $87D5, $8808, $888B, $88D8, $88F0, $890B, $8933, $897F, $89DC, $8A25, $8A45, $8AC0, $8C48, $8C8C, $8CA2, $8CC3, $8CEF, $8D4A, $8D71, $8D90, $8DBF, $8DD6, $8E2C, $8E3F, $8E61, $8E64, $8E66, $8E6E, $8E6F, $8E93, $8EA4, $8EB8, $8EBD, $8EEC, $8F13, $8F4A, $8F65, $8F84, $8F95, $9013, $9101, $9136, $92A0, $9337, $9404, $94B2, $94BF, $94C8, $9535, $9562, $956B, $95D7, $95F1, $9626, $9647, $964D, $9656, $96B9, $96D3, $9746, $97F1, $9811, $9825, $9827, $983E, $9843, $988A, $989B, $98AE, $98B2, $98B4, $9911, $9919, $991C, $991D, $9924, $9996, $99AC, $99B9, $99DA, $99DF, $9A35, $9A3D, $9A42, $9AAA, $9AAF, $9C15, $9C1D, $9C66, $9DC1, $9F77, $9FD9, $A2A0, $A315, $A350, $A354, $A372, $A3F9, $A430, $A43B, $A446, $A485, $A4E9, $A505, $A6D1, $ABE3, $ABF5, $AC03, $AC0B, $AC18, $AC2C, $AC3F, $AC62, $AC64, $AC98, $ACA1, $ACB6, $AD15, $AD21, $ADF9, $AE02, $AE9F, $AEEB, $AEFA, $AF98, $B097, $B222, $B35B, $B372, $B3CE, $B446, $B4FD, $B574, $B58B, $B617, $B625, $B671, $B689, $B6D2, $B6DF, $B6EA, $B728, $B733, $B75B, $B7D2, $B7DD, $B805, $B882, $B88D, $B932, $B93D, $B95A, $B9CB, $BA93, $BA9E, $BAC8, $BB98, $BBA5, $BBD9, $BC03, $BC70, $BC7D, $BCAE, $BCCD, $D6A4, $D6FD, $D742, $D763, $D76B, $D7A2, $D8D0, $D8D5, $D938, $D993, $D9B7, $D9EA, $DA45, $DA61, $DA74, $DA79, $DABD, $DAC8, $DAF8, $DB1B, $DB66, $DB6C, $DB70, $DC2B, $DCAA, $DCC1 ; indirect dispatch through zero page (not followed statically): ; jmp ($20CE) at $8118 ; jmp ($0011) at $DABA @@ -40,8 +40,8 @@ Reset: sta PPUMASK ; CPU:$8006 PRG:0006 8D 01 20 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonnegative -; Global: Branch target inside Label: taken when 8009. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when the tested value is not negative. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -51,8 +51,8 @@ Reset_OnNonnegative: bpl Reset_OnNonnegative ; CPU:$800C PRG:000C 10 FB ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNegative -; Global: Branch target inside Label: taken when 800E. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when the tested value is negative. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -62,8 +62,8 @@ Reset_OnNegative: bmi Reset_OnNegative ; CPU:$8011 PRG:0011 30 FB ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonnegative2 -; Global: Branch target inside Label: taken when 8013. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNonnegative2. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -73,8 +73,8 @@ Reset_OnNonnegative2: bpl Reset_OnNonnegative2 ; CPU:$8016 PRG:0016 10 FB ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNegative2 -; Global: Branch target inside Label: taken when 8018. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNegative2. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -84,8 +84,8 @@ Reset_OnNegative2: bmi Reset_OnNegative2 ; CPU:$801B PRG:001B 30 FB ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonnegative3 -; Global: Branch target inside Label: taken when 801D. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNonnegative3. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -95,8 +95,8 @@ Reset_OnNonnegative3: bpl Reset_OnNonnegative3 ; CPU:$8020 PRG:0020 10 FB ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNegative3 -; Global: Branch target inside Label: taken when 8022. -; Local: Part of Label. +; Global: Branch target inside Reset: taken when OnNegative3. +; Local: Part of Reset. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -112,7 +112,7 @@ Reset_OnNegative3: lda #$1E ; CPU:$802F PRG:002F A9 1E sta Zp01 ; CPU:$8031 PRG:0031 85 01 lda #$10 ; CPU:$8033 PRG:0033 A9 10 - sta Zp00 ; CPU:$8035 PRG:0035 85 00 + sta PpuCtrlShadow ; CPU:$8035 PRG:0035 85 00 lda #$00 ; CPU:$8037 PRG:0037 A9 00 sta Zp21 ; CPU:$8039 PRG:0039 85 21 sta Zp20 ; CPU:$803B PRG:003B 85 20 @@ -135,8 +135,8 @@ IrqHandler: rti ; CPU:$804E PRG:004E 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_804F -; Global: Branch target inside Label: taken when 804F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 804F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -152,9 +152,9 @@ Sub_804F: jsr Sub_8838 ; CPU:$8062 PRG:0062 20 38 88 jsr Sub_D6FD ; CPU:$8065 PRG:0065 20 FD D6 jsr Sub_A0B5 ; CPU:$8068 PRG:0068 20 B5 A0 - lda Zp00 ; CPU:$806B PRG:006B A5 00 + lda PpuCtrlShadow ; CPU:$806B PRG:006B A5 00 and #$EF ; CPU:$806D PRG:006D 29 EF - sta Zp00 ; CPU:$806F PRG:006F 85 00 + sta PpuCtrlShadow ; CPU:$806F PRG:006F 85 00 jsr Sub_D6E2 ; CPU:$8071 PRG:0071 20 E2 D6 jsr Sub_D77C ; CPU:$8074 PRG:0074 20 7C D7 .byte $74, $D6 ; CPU:$8077 PRG:0077 74 D6 -- nop ZpD6,x (undocumented; ca65 cannot encode) @@ -180,7 +180,7 @@ Label_8079: Label_807E: jsr Sub_D708 ; CPU:$807E PRG:007E 20 08 D7 lda #$14 ; CPU:$8081 PRG:0081 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8083 PRG:0083 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8083 PRG:0083 20 A0 A2 jsr Sub_D77C ; CPU:$8086 PRG:0086 20 7C D7 .byte $80, $D6 ; CPU:$8089 PRG:0089 80 D6 -- nop #$D6 (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- @@ -194,50 +194,39 @@ Label_807E: Label_808B: jsr Sub_80D8 ; CPU:$808B PRG:008B 20 D8 80 jsr Sub_D77C ; CPU:$808E PRG:008E 20 7C D7 -; ---- data $8091-$8092 (2 bytes) ---- - .byte $8C, $D6 ; CPU:$8091 PRG:0091 8C D6 ; ----------------------------------------------------------------------------- -; Routine: Label_8093 -; Global: Branch target inside Label: taken when 8093. +; Routine: Label_8091 +; Global: Branch target inside Label: taken when 8091. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8093: - jsr Sub_80D8 ; CPU:$8093 PRG:0093 20 D8 80 - jsr Sub_D77C ; CPU:$8096 PRG:0096 20 7C D7 - tya ; CPU:$8099 PRG:0099 98 -; ---- data $809A-$809A (1 bytes) ---- - .byte $D6 ; CPU:$809A PRG:009A D6 +Label_8091: + sty $20D6 ; CPU:$8091 PRG:0091 8C D6 20 + cld ; CPU:$8094 PRG:0094 D8 + .byte $80, $20 ; CPU:$8095 PRG:0095 80 20 -- nop #$20 (undocumented; ca65 cannot encode) + .byte $7C, $D7, $98 ; CPU:$8097 PRG:0097 7C D7 98 -- nop $98D7,x (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: Label_809B -; Global: Branch target inside Label: taken when 809B. +; Routine: Label_809A +; Global: Branch target inside Label: taken when 809A. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_809B: - ldx #$F0 ; CPU:$809B PRG:009B A2 F0 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero -; Global: Branch target inside Label: taken when 809D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero: - jsr Sub_D6E2 ; CPU:$809D PRG:009D 20 E2 D6 +Label_809A: + dec ZpA2,x ; CPU:$809A PRG:009A D6 A2 + beq IrqHandler_Loop2 ; CPU:$809C PRG:009C F0 20 + .byte $E2, $D6 ; CPU:$809E PRG:009E E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) lda Zp08 ; CPU:$80A0 PRG:00A0 A5 08 bne IrqHandler_Loop ; CPU:$80A2 PRG:00A2 D0 03 dex ; CPU:$80A4 PRG:00A4 CA - bne IrqHandler_OnNonzero ; CPU:$80A5 PRG:00A5 D0 F6 + .byte $D0, $F6 ; CPU:$80A5 PRG:00A5 D0 F6 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop -; Global: Branch target inside Label: taken when 80A7. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when the loop repeats. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -246,101 +235,99 @@ IrqHandler_Loop: jsr Sub_80D8 ; CPU:$80A7 PRG:00A7 20 D8 80 jsr Sub_D77C ; CPU:$80AA PRG:00AA 20 7C D7 tya ; CPU:$80AD PRG:00AD 98 -; ---- data $80AE-$80AE (1 bytes) ---- - .byte $D6 ; CPU:$80AE PRG:00AE D6 ; ----------------------------------------------------------------------------- -; Routine: Label_80AF -; Global: Branch target inside Label: taken when 80AF. +; Routine: Label_80AE +; Global: Branch target inside Label: taken when 80AE. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_80AF: - jsr Sub_80D8 ; CPU:$80AF PRG:00AF 20 D8 80 - jsr Sub_D77C ; CPU:$80B2 PRG:00B2 20 7C D7 -; ---- data $80B5-$80B6 (2 bytes) ---- - .byte $8C, $D6 ; CPU:$80B5 PRG:00B5 8C D6 +Label_80AE: + dec Zp20,x ; CPU:$80AE PRG:00AE D6 20 + cld ; CPU:$80B0 PRG:00B0 D8 + .byte $80, $20 ; CPU:$80B1 PRG:00B1 80 20 -- nop #$20 (undocumented; ca65 cannot encode) +; ---- data $80B3-$80B4 (2 bytes) ---- + .byte $7C, $D7 ; CPU:$80B3 PRG:00B3 7C D7 ; ----------------------------------------------------------------------------- -; Routine: Label_80B7 -; Global: Branch target inside Label: taken when 80B7. +; Routine: Label_80B5 +; Global: Branch target inside Label: taken when 80B5. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_80B7: - jsr Sub_80D8 ; CPU:$80B7 PRG:00B7 20 D8 80 - jsr Sub_D77C ; CPU:$80BA PRG:00BA 20 7C D7 -; ---- data $80BD-$80BD (1 bytes) ---- - .byte $80 ; CPU:$80BD PRG:00BD 80 +Label_80B5: + sty $20D6 ; CPU:$80B5 PRG:00B5 8C D6 20 + cld ; CPU:$80B8 PRG:00B8 D8 + .byte $80, $20 ; CPU:$80B9 PRG:00B9 80 20 -- nop #$20 (undocumented; ca65 cannot encode) + .byte $7C, $D7, $80 ; CPU:$80BB PRG:00BB 7C D7 80 -- nop $80D7,x (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: Label_80BE -; Global: Branch target inside Label: taken when 80BE. -; Local: Part of Label. +; Routine: IrqHandler_Loop2 +; Global: Branch target inside IrqHandler: taken when Loop2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_80BE: +IrqHandler_Loop2: dec Zp20,x ; CPU:$80BE PRG:00BE D6 20 cld ; CPU:$80C0 PRG:00C0 D8 .byte $80, $20 ; CPU:$80C1 PRG:00C1 80 20 -- nop #$20 (undocumented; ca65 cannot encode) .byte $7C, $D7, $74 ; CPU:$80C3 PRG:00C3 7C D7 74 -- nop $74D7,x (undocumented; ca65 cannot encode) -; ---- data $80C6-$80C6 (1 bytes) ---- - .byte $D6 ; CPU:$80C6 PRG:00C6 D6 ; ----------------------------------------------------------------------------- -; Routine: Label_80C7 -; Global: Branch target inside Label: taken when 80C7. +; Routine: Label_80C6 +; Global: Branch target inside Label: taken when 80C6. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_80C7: - lda #$14 ; CPU:$80C7 PRG:00C7 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$80C9 PRG:00C9 20 A0 A2 +Label_80C6: + dec ZpA9,x ; CPU:$80C6 PRG:00C6 D6 A9 + .byte $14, $20 ; CPU:$80C8 PRG:00C8 14 20 -- nop Zp20,x (undocumented; ca65 cannot encode) + ldy #$A2 ; CPU:$80CA PRG:00CA A0 A2 jsr Sub_D6FD ; CPU:$80CC PRG:00CC 20 FD D6 - lda Zp00 ; CPU:$80CF PRG:00CF A5 00 + lda PpuCtrlShadow ; CPU:$80CF PRG:00CF A5 00 ora #$10 ; CPU:$80D1 PRG:00D1 09 10 - sta Zp00 ; CPU:$80D3 PRG:00D3 85 00 + sta PpuCtrlShadow ; CPU:$80D3 PRG:00D3 85 00 jmp Sub_80DD ; CPU:$80D5 PRG:00D5 4C DD 80 ; ----------------------------------------------------------------------------- ; Routine: Sub_80D8 -; Global: Branch target inside Label: taken when 80D8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 80D8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_80D8: lda #$04 ; CPU:$80D8 PRG:00D8 A9 04 - jmp IrqHandler_OnNonzero18 ; CPU:$80DA PRG:00DA 4C A0 A2 + jmp IrqHandler_OnNonzero20 ; CPU:$80DA PRG:00DA 4C A0 A2 ; ----------------------------------------------------------------------------- ; Routine: Sub_80DD -; Global: Branch target inside Label: taken when 80DD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 80DD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_80DD: lda $0101 ; CPU:$80DD PRG:00DD AD 01 01 - bne IrqHandler_Loop2 ; CPU:$80E0 PRG:00E0 D0 03 + bne IrqHandler_Loop3 ; CPU:$80E0 PRG:00E0 D0 03 jsr Sub_92A0 ; CPU:$80E2 PRG:00E2 20 A0 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop2 -; Global: Branch target inside Label: taken when 80E5. -; Local: Part of Label. +; Routine: IrqHandler_Loop3 +; Global: Branch target inside IrqHandler: taken when Loop3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop2: +IrqHandler_Loop3: jsr Sub_D6FD ; CPU:$80E5 PRG:00E5 20 FD D6 jsr Sub_A0B5 ; CPU:$80E8 PRG:00E8 20 B5 A0 lda #$00 ; CPU:$80EB PRG:00EB A9 00 - sta Zp2E ; CPU:$80ED PRG:00ED 85 2E + sta CursorMoved ; CPU:$80ED PRG:00ED 85 2E lda #$07 ; CPU:$80EF PRG:00EF A9 07 sta $0101 ; CPU:$80F1 PRG:00F1 8D 01 01 lda #$00 ; CPU:$80F4 PRG:00F4 A9 00 @@ -350,9 +337,9 @@ IrqHandler_Loop2: jsr Sub_D6E2 ; CPU:$80FC PRG:00FC 20 E2 D6 lda $0122 ; CPU:$80FF PRG:00FF AD 22 01 cmp #$05 ; CPU:$8102 PRG:0102 C9 05 - beq IrqHandler_Loop3 ; CPU:$8104 PRG:0104 F0 20 + beq IrqHandler_Loop4 ; CPU:$8104 PRG:0104 F0 20 lda #$03 ; CPU:$8106 PRG:0106 A9 03 - sta Zp2F ; CPU:$8108 PRG:0108 85 2F + sta PlayerSide ; CPU:$8108 PRG:0108 85 2F jsr Sub_D77C ; CPU:$810A PRG:010A 20 7C D7 lsr a ; CPU:$810D PRG:010D 4A ; ---- data $810E-$810E (1 bytes) ---- @@ -369,30 +356,30 @@ Label_810F: jsr Sub_D6E2 ; CPU:$810F PRG:010F 20 E2 D6 jsr Sub_D6E2 ; CPU:$8112 PRG:0112 20 E2 D6 jsr Sub_D77C ; CPU:$8115 PRG:0115 20 7C D7 -; ---- data $8118-$8119 (2 bytes) ---- - .byte $6C, $CE ; CPU:$8118 PRG:0118 6C CE ; ----------------------------------------------------------------------------- -; Routine: Label_811A -; Global: Branch target inside Label: taken when 811A. +; Routine: Label_8118 +; Global: Branch target inside Label: taken when 8118. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_811A: - jsr Sub_D6E2 ; CPU:$811A PRG:011A 20 E2 D6 +Label_8118: + jmp ($20CE) ; CPU:$8118 PRG:0118 6C CE 20 +; ---- data $811B-$811C (2 bytes) ---- + .byte $E2, $D6 ; CPU:$811B PRG:011B E2 D6 jsr Sub_D708 ; CPU:$811D PRG:011D 20 08 D7 jsr Sub_D6E2 ; CPU:$8120 PRG:0120 20 E2 D6 jsr Sub_8368 ; CPU:$8123 PRG:0123 20 68 83 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop3 -; Global: Branch target inside Label: taken when 8126. -; Local: Part of Label. +; Routine: IrqHandler_Loop4 +; Global: Branch target inside IrqHandler: taken when Loop4. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop3: +IrqHandler_Loop4: lda #$FF ; CPU:$8126 PRG:0126 A9 FF jsr Sub_DB0F ; CPU:$8128 PRG:0128 20 0F DB jsr Sub_D6FD ; CPU:$812B PRG:012B 20 FD D6 @@ -400,31 +387,28 @@ IrqHandler_Loop3: lda #$00 ; CPU:$8131 PRG:0131 A9 00 sta Zp03 ; CPU:$8133 PRG:0133 85 03 jsr Sub_D77C ; CPU:$8135 PRG:0135 20 7C D7 -; ---- data $8138-$8139 (2 bytes) ---- - .byte $7D, $C8 ; CPU:$8138 PRG:0138 7D C8 ; ----------------------------------------------------------------------------- -; Routine: Label_813A -; Global: Branch target inside Label: taken when 813A. +; Routine: Label_8138 +; Global: Branch target inside Label: taken when 8138. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_813A: - jsr Sub_D6E2 ; CPU:$813A PRG:013A 20 E2 D6 -; ---- data $813D-$813D (1 bytes) ---- - .byte $20 ; CPU:$813D PRG:013D 20 +Label_8138: + adc $20C8,x ; CPU:$8138 PRG:0138 7D C8 20 + .byte $E2, $D6 ; CPU:$813B PRG:013B E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: Label_813E -; Global: Branch target inside Label: taken when 813E. +; Routine: Label_813D +; Global: Branch target inside Label: taken when 813D. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_813E: - .byte $7C, $D7, $A1 ; CPU:$813E PRG:013E 7C D7 A1 -- nop $A1D7,x (undocumented; ca65 cannot encode) - iny ; CPU:$8141 PRG:0141 C8 +Label_813D: + jsr Sub_D77C ; CPU:$813D PRG:013D 20 7C D7 + lda (ZpC8,x) ; CPU:$8140 PRG:0140 A1 C8 ; ----------------------------------------------------------------------------- ; Routine: Label_8142 ; Global: Branch target inside Label: taken when 8142. @@ -435,7 +419,7 @@ Label_813E: ; ----------------------------------------------------------------------------- Label_8142: lda #$03 ; CPU:$8142 PRG:0142 A9 03 - jsr IrqHandler_OnNonzero18 ; CPU:$8144 PRG:0144 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8144 PRG:0144 20 A0 A2 jsr Sub_D77C ; CPU:$8147 PRG:0147 20 7C D7 .byte $77, $88 ; CPU:$814A PRG:014A 77 88 -- rra Zp88,y (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- @@ -448,18 +432,17 @@ Label_8142: ; ----------------------------------------------------------------------------- Label_814C: jsr Sub_D770 ; CPU:$814C PRG:014C 20 70 D7 -; ---- data $814F-$8150 (2 bytes) ---- - .byte $5E, $82 ; CPU:$814F PRG:014F 5E 82 ; ----------------------------------------------------------------------------- -; Routine: Label_8151 -; Global: Branch target inside Label: taken when 8151. +; Routine: Label_814F +; Global: Branch target inside Label: taken when 814F. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8151: - jsr Sub_D6E2 ; CPU:$8151 PRG:0151 20 E2 D6 +Label_814F: + lsr $2082,x ; CPU:$814F PRG:014F 5E 82 20 + .byte $E2, $D6 ; CPU:$8152 PRG:0152 E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) jsr Sub_D6E2 ; CPU:$8154 PRG:0154 20 E2 D6 jsr Sub_D77C ; CPU:$8157 PRG:0157 20 7C D7 lda ZpCC ; CPU:$815A PRG:015A A5 CC @@ -474,18 +457,17 @@ Label_8151: Label_815C: jsr Sub_D6E2 ; CPU:$815C PRG:015C 20 E2 D6 jsr Sub_D77C ; CPU:$815F PRG:015F 20 7C D7 -; ---- data $8162-$8163 (2 bytes) ---- - .byte $19, $CD ; CPU:$8162 PRG:0162 19 CD ; ----------------------------------------------------------------------------- -; Routine: Label_8164 -; Global: Branch target inside Label: taken when 8164. +; Routine: Label_8162 +; Global: Branch target inside Label: taken when 8162. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8164: - jsr Sub_D770 ; CPU:$8164 PRG:0164 20 70 D7 +Label_8162: + ora $20CD,y ; CPU:$8162 PRG:0162 19 CD 20 + .byte $70, $D7 ; CPU:$8165 PRG:0165 70 D7 .byte $67, $CE ; CPU:$8167 PRG:0167 67 CE -- rra ZpCE (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- ; Routine: Label_8169 @@ -498,162 +480,160 @@ Label_8164: Label_8169: jsr Sub_D6E2 ; CPU:$8169 PRG:0169 20 E2 D6 jsr Sub_D77C ; CPU:$816C PRG:016C 20 7C D7 -; ---- data $816F-$8170 (2 bytes) ---- - .byte $AD, $CD ; CPU:$816F PRG:016F AD CD ; ----------------------------------------------------------------------------- -; Routine: Label_8171 -; Global: Branch target inside Label: taken when 8171. +; Routine: Label_816F +; Global: Branch target inside Label: taken when 816F. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8171: - jsr Sub_D6E2 ; CPU:$8171 PRG:0171 20 E2 D6 +Label_816F: + lda $20CD ; CPU:$816F PRG:016F AD CD 20 + .byte $E2, $D6 ; CPU:$8172 PRG:0172 E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) jsr Sub_82B9 ; CPU:$8174 PRG:0174 20 B9 82 jsr Sub_8E27 ; CPU:$8177 PRG:0177 20 27 8E lda $0122 ; CPU:$817A PRG:017A AD 22 01 cmp #$05 ; CPU:$817D PRG:017D C9 05 - beq IrqHandler_Loop8 ; CPU:$817F PRG:017F F0 42 + beq IrqHandler_Loop9 ; CPU:$817F PRG:017F F0 42 jsr Sub_D708 ; CPU:$8181 PRG:0181 20 08 D7 lda #$00 ; CPU:$8184 PRG:0184 A9 00 sta $0103 ; CPU:$8186 PRG:0186 8D 03 01 jsr Sub_8394 ; CPU:$8189 PRG:0189 20 94 83 - lda Zp2F ; CPU:$818C PRG:018C A5 2F + lda PlayerSide ; CPU:$818C PRG:018C A5 2F and #$02 ; CPU:$818E PRG:018E 29 02 - bne IrqHandler_Loop4 ; CPU:$8190 PRG:0190 D0 07 + bne IrqHandler_Loop5 ; CPU:$8190 PRG:0190 D0 07 lda #$02 ; CPU:$8192 PRG:0192 A9 02 sta Zp4E ; CPU:$8194 PRG:0194 85 4E jmp Sub_819D ; CPU:$8196 PRG:0196 4C 9D 81 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop4 -; Global: Branch target inside Label: taken when 8199. -; Local: Part of Label. +; Routine: IrqHandler_Loop5 +; Global: Branch target inside IrqHandler: taken when Loop5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop4: +IrqHandler_Loop5: lda #$01 ; CPU:$8199 PRG:0199 A9 01 sta Zp4E ; CPU:$819B PRG:019B 85 4E ; ----------------------------------------------------------------------------- ; Routine: Sub_819D -; Global: Branch target inside Label: taken when 819D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 819D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_819D: lda $0103 ; CPU:$819D PRG:019D AD 03 01 - bne IrqHandler_Loop6 ; CPU:$81A0 PRG:01A0 D0 13 + bne IrqHandler_Loop7 ; CPU:$81A0 PRG:01A0 D0 13 lda #$01 ; CPU:$81A2 PRG:01A2 A9 01 sta $0122 ; CPU:$81A4 PRG:01A4 8D 22 01 - lda Zp2F ; CPU:$81A7 PRG:01A7 A5 2F - beq IrqHandler_Loop7 ; CPU:$81A9 PRG:01A9 F0 13 + lda PlayerSide ; CPU:$81A7 PRG:01A7 A5 2F + beq IrqHandler_Loop8 ; CPU:$81A9 PRG:01A9 F0 13 cmp #$02 ; CPU:$81AB PRG:01AB C9 02 - beq IrqHandler_Loop5 ; CPU:$81AD PRG:01AD F0 03 + beq IrqHandler_Loop6 ; CPU:$81AD PRG:01AD F0 03 jsr Sub_854E ; CPU:$81AF PRG:01AF 20 4E 85 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop5 -; Global: Branch target inside Label: taken when 81B2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop5: - jsr Sub_85BC ; CPU:$81B2 PRG:01B2 20 BC 85 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop6 -; Global: Branch target inside Label: taken when 81B5. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop6: - jsr Sub_8E27 ; CPU:$81B5 PRG:01B5 20 27 8E - jsr Sub_869A ; CPU:$81B8 PRG:01B8 20 9A 86 - jmp IrqHandler_Loop8 ; CPU:$81BB PRG:01BB 4C C3 81 + jsr Sub_85BC ; CPU:$81B2 PRG:01B2 20 BC 85 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop7 -; Global: Branch target inside Label: taken when 81BE. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop7. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop7: - lda #$00 ; CPU:$81BE PRG:01BE A9 00 - sta $0122 ; CPU:$81C0 PRG:01C0 8D 22 01 + jsr Sub_8E27 ; CPU:$81B5 PRG:01B5 20 27 8E + jsr Sub_869A ; CPU:$81B8 PRG:01B8 20 9A 86 + jmp IrqHandler_Loop9 ; CPU:$81BB PRG:01BB 4C C3 81 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop8 -; Global: Branch target inside Label: taken when 81C3. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop8: + lda #$00 ; CPU:$81BE PRG:01BE A9 00 + sta $0122 ; CPU:$81C0 PRG:01C0 8D 22 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop9 +; Global: Branch target inside IrqHandler: taken when Loop9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop9: jsr Sub_9D4E ; CPU:$81C3 PRG:01C3 20 4E 9D jsr Sub_D6FD ; CPU:$81C6 PRG:01C6 20 FD D6 lda #$FF ; CPU:$81C9 PRG:01C9 A9 FF jsr Sub_DB0F ; CPU:$81CB PRG:01CB 20 0F DB jsr Sub_9F77 ; CPU:$81CE PRG:01CE 20 77 9F jsr Sub_D77C ; CPU:$81D1 PRG:01D1 20 7C D7 -; ---- data $81D4-$81D5 (2 bytes) ---- - .byte $7D, $C8 ; CPU:$81D4 PRG:01D4 7D C8 ; ----------------------------------------------------------------------------- -; Routine: Label_81D6 -; Global: Branch target inside Label: taken when 81D6. +; Routine: Label_81D4 +; Global: Branch target inside Label: taken when 81D4. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_81D6: - jsr Sub_D6E2 ; CPU:$81D6 PRG:01D6 20 E2 D6 +Label_81D4: + adc $20C8,x ; CPU:$81D4 PRG:01D4 7D C8 20 + .byte $E2, $D6 ; CPU:$81D7 PRG:01D7 E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) jsr Sub_BC03 ; CPU:$81D9 PRG:01D9 20 03 BC jsr Sub_8338 ; CPU:$81DC PRG:01DC 20 38 83 jsr Sub_82D9 ; CPU:$81DF PRG:01DF 20 D9 82 lda $0103 ; CPU:$81E2 PRG:01E2 AD 03 01 - bne IrqHandler_Loop9 ; CPU:$81E5 PRG:01E5 D0 03 + bne IrqHandler_Loop10 ; CPU:$81E5 PRG:01E5 D0 03 jsr Sub_9101 ; CPU:$81E7 PRG:01E7 20 01 91 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop9 -; Global: Branch target inside Label: taken when 81EA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop9: - jsr Sub_97FE ; CPU:$81EA PRG:01EA 20 FE 97 - jsr IrqHandler_Loop119 ; CPU:$81ED PRG:01ED 20 14 98 - jsr Sub_8E3F ; CPU:$81F0 PRG:01F0 20 3F 8E - jsr Sub_8E0D ; CPU:$81F3 PRG:01F3 20 0D 8E - jsr Sub_D708 ; CPU:$81F6 PRG:01F6 20 08 D7 - lda #$20 ; CPU:$81F9 PRG:01F9 A9 20 - jsr IrqHandler_OnNonzero18 ; CPU:$81FB PRG:01FB 20 A0 A2 - lda $0101 ; CPU:$81FE PRG:01FE AD 01 01 - beq IrqHandler_Loop10 ; CPU:$8201 PRG:0201 F0 06 - jsr Sub_82FC ; CPU:$8203 PRG:0203 20 FC 82 - jmp Sub_820C ; CPU:$8206 PRG:0206 4C 0C 82 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop10 -; Global: Branch target inside Label: taken when 8209. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop10. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop10: + jsr Sub_97FE ; CPU:$81EA PRG:01EA 20 FE 97 + jsr IrqHandler_Loop144 ; CPU:$81ED PRG:01ED 20 14 98 + jsr Sub_8E3F ; CPU:$81F0 PRG:01F0 20 3F 8E + jsr Sub_8E0D ; CPU:$81F3 PRG:01F3 20 0D 8E + jsr Sub_D708 ; CPU:$81F6 PRG:01F6 20 08 D7 + lda #$20 ; CPU:$81F9 PRG:01F9 A9 20 + jsr IrqHandler_OnNonzero20 ; CPU:$81FB PRG:01FB 20 A0 A2 + lda $0101 ; CPU:$81FE PRG:01FE AD 01 01 + beq IrqHandler_Loop11 ; CPU:$8201 PRG:0201 F0 06 + jsr Sub_82FC ; CPU:$8203 PRG:0203 20 FC 82 + jmp Sub_820C ; CPU:$8206 PRG:0206 4C 0C 82 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop11 +; Global: Branch target inside IrqHandler: taken when Loop11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop11: jsr Sub_9755 ; CPU:$8209 PRG:0209 20 55 97 ; ----------------------------------------------------------------------------- ; Routine: Sub_820C -; Global: Branch target inside Label: taken when 820C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 820C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -661,24 +641,24 @@ IrqHandler_Loop10: Sub_820C: lda $0122 ; CPU:$820C PRG:020C AD 22 01 cmp #$05 ; CPU:$820F PRG:020F C9 05 - bne IrqHandler_Loop11 ; CPU:$8211 PRG:0211 D0 06 + bne IrqHandler_Loop12 ; CPU:$8211 PRG:0211 D0 06 lda Zp30 ; CPU:$8213 PRG:0213 A5 30 ora #$3C ; CPU:$8215 PRG:0215 09 3C sta Zp30 ; CPU:$8217 PRG:0217 85 30 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop11 -; Global: Branch target inside Label: taken when 8219. -; Local: Part of Label. +; Routine: IrqHandler_Loop12 +; Global: Branch target inside IrqHandler: taken when Loop12. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop11: +IrqHandler_Loop12: lda $0103 ; CPU:$8219 PRG:0219 AD 03 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_821C -; Global: Branch target inside Label: taken when 821C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 821C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -689,16 +669,16 @@ Sub_821C: jmp Sub_821C ; CPU:$8222 PRG:0222 4C 1C 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_8225 -; Global: Branch target inside Label: taken when 8225. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8225. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8225: - lda Zp2E ; CPU:$8225 PRG:0225 A5 2E + lda CursorMoved ; CPU:$8225 PRG:0225 A5 2E eor #$03 ; CPU:$8227 PRG:0227 49 03 - sta Zp2E ; CPU:$8229 PRG:0229 85 2E + sta CursorMoved ; CPU:$8229 PRG:0229 85 2E rts ; CPU:$822B PRG:022B 60 ; ---- data $822C-$82B8 (141 bytes) ---- .byte $20, $7C, $D7, $42, $82, $20, $E2, $D6, $A9, $00, $8D, $02, $01, $20, $48, $8C ; CPU:$822C PRG:022C 20 7C D7 42 82 20 E2 D6 A9 00 8D 02 01 20 48 8C @@ -712,23 +692,23 @@ Sub_8225: .byte $A5, $4C, $AD, $82, $20, $55, $97, $20, $E2, $D6, $4C, $B6, $82 ; CPU:$82AC PRG:02AC A5 4C AD 82 20 55 97 20 E2 D6 4C B6 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_82B9 -; Global: Branch target inside Label: taken when 82B9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82B9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_82B9: lda #$00 ; CPU:$82B9 PRG:02B9 A9 00 - sta Zp36 ; CPU:$82BB PRG:02BB 85 36 - sta Zp37 ; CPU:$82BD PRG:02BD 85 37 + sta BoardState2 ; CPU:$82BB PRG:02BB 85 36 + sta BoardState ; CPU:$82BD PRG:02BD 85 37 sta Zp30 ; CPU:$82BF PRG:02BF 85 30 lda #$00 ; CPU:$82C1 PRG:02C1 A9 00 ldx #$05 ; CPU:$82C3 PRG:02C3 A2 05 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative -; Global: Branch target inside Label: taken when 82C5. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when the tested value is not negative. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -738,30 +718,30 @@ IrqHandler_OnNonnegative: dex ; CPU:$82C8 PRG:02C8 CA bpl IrqHandler_OnNonnegative ; CPU:$82C9 PRG:02C9 10 FA lda #$02 ; CPU:$82CB PRG:02CB A9 02 - sta Zp2E ; CPU:$82CD PRG:02CD 85 2E + sta CursorMoved ; CPU:$82CD PRG:02CD 85 2E jsr Sub_A375 ; CPU:$82CF PRG:02CF 20 75 A3 lda #$00 ; CPU:$82D2 PRG:02D2 A9 00 - sta Zp2E ; CPU:$82D4 PRG:02D4 85 2E + sta CursorMoved ; CPU:$82D4 PRG:02D4 85 2E jmp Sub_A375 ; CPU:$82D6 PRG:02D6 4C 75 A3 ; ----------------------------------------------------------------------------- ; Routine: Sub_82D9 -; Global: Branch target inside Label: taken when 82D9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82D9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_82D9: lda #$02 ; CPU:$82D9 PRG:02D9 A9 02 - sta Zp2E ; CPU:$82DB PRG:02DB 85 2E + sta CursorMoved ; CPU:$82DB PRG:02DB 85 2E jsr Sub_8DD6 ; CPU:$82DD PRG:02DD 20 D6 8D lda #$00 ; CPU:$82E0 PRG:02E0 A9 00 sta Zp3B ; CPU:$82E2 PRG:02E2 85 3B sta Zp3D ; CPU:$82E4 PRG:02E4 85 3D jsr Sub_8E0D ; CPU:$82E6 PRG:02E6 20 0D 8E lda #$00 ; CPU:$82E9 PRG:02E9 A9 00 - sta Zp36 ; CPU:$82EB PRG:02EB 85 36 - sta Zp37 ; CPU:$82ED PRG:02ED 85 37 + sta BoardState2 ; CPU:$82EB PRG:02EB 85 36 + sta BoardState ; CPU:$82ED PRG:02ED 85 37 sta $0124 ; CPU:$82EF PRG:02EF 8D 24 01 jsr Sub_910C ; CPU:$82F2 PRG:02F2 20 0C 91 jsr Sub_911F ; CPU:$82F5 PRG:02F5 20 1F 91 @@ -769,36 +749,36 @@ Sub_82D9: rts ; CPU:$82FB PRG:02FB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_82FC -; Global: Branch target inside Label: taken when 82FC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 82FC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_82FC: lda #$00 ; CPU:$82FC PRG:02FC A9 00 - sta Zp2E ; CPU:$82FE PRG:02FE 85 2E + sta CursorMoved ; CPU:$82FE PRG:02FE 85 2E lda #$03 ; CPU:$8300 PRG:0300 A9 03 - sta Zp31 ; CPU:$8302 PRG:0302 85 31 - sta Zp32 ; CPU:$8304 PRG:0304 85 32 + sta BoardCursorX ; CPU:$8302 PRG:0302 85 31 + sta BoardCursorY ; CPU:$8304 PRG:0304 85 32 jsr Sub_8328 ; CPU:$8306 PRG:0306 20 28 83 - inc Zp31 ; CPU:$8309 PRG:0309 E6 31 - inc Zp32 ; CPU:$830B PRG:030B E6 32 + inc BoardCursorX ; CPU:$8309 PRG:0309 E6 31 + inc BoardCursorY ; CPU:$830B PRG:030B E6 32 jsr Sub_8328 ; CPU:$830D PRG:030D 20 28 83 - dec Zp32 ; CPU:$8310 PRG:0310 C6 32 + dec BoardCursorY ; CPU:$8310 PRG:0310 C6 32 lda #$02 ; CPU:$8312 PRG:0312 A9 02 - sta Zp2E ; CPU:$8314 PRG:0314 85 2E + sta CursorMoved ; CPU:$8314 PRG:0314 85 2E jsr Sub_8328 ; CPU:$8316 PRG:0316 20 28 83 - inc Zp32 ; CPU:$8319 PRG:0319 E6 32 - dec Zp31 ; CPU:$831B PRG:031B C6 31 + inc BoardCursorY ; CPU:$8319 PRG:0319 E6 32 + dec BoardCursorX ; CPU:$831B PRG:031B C6 31 jsr Sub_8328 ; CPU:$831D PRG:031D 20 28 83 lda #$FF ; CPU:$8320 PRG:0320 A9 FF jsr Sub_DB0F ; CPU:$8322 PRG:0322 20 0F DB jmp Sub_8E0D ; CPU:$8325 PRG:0325 4C 0D 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8328 -; Global: Branch target inside Label: taken when 8328. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8328. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -809,11 +789,11 @@ Sub_8328: jsr Sub_8F65 ; CPU:$832D PRG:032D 20 65 8F jsr Sub_8E2F ; CPU:$8330 PRG:0330 20 2F 8E lda #$1A ; CPU:$8333 PRG:0333 A9 1A - jmp IrqHandler_OnNonzero18 ; CPU:$8335 PRG:0335 4C A0 A2 + jmp IrqHandler_OnNonzero20 ; CPU:$8335 PRG:0335 4C A0 A2 ; ----------------------------------------------------------------------------- ; Routine: Sub_8338 -; Global: Branch target inside Label: taken when 8338. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8338. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -821,25 +801,26 @@ Sub_8328: Sub_8338: ldx $0122 ; CPU:$8338 PRG:0338 AE 22 01 lda $8350,x ; CPU:$833B PRG:033B BD 50 83 - sta Zp52 ; CPU:$833E PRG:033E 85 52 + sta CellCharset ; CPU:$833E PRG:033E 85 52 lda $8356,x ; CPU:$8340 PRG:0340 BD 56 83 - sta Zp51 ; CPU:$8343 PRG:0343 85 51 + sta CellType ; CPU:$8343 PRG:0343 85 51 lda $835C,x ; CPU:$8345 PRG:0345 BD 5C 83 - sta Zp43 ; CPU:$8348 PRG:0348 85 43 + sta CellOwner ; CPU:$8348 PRG:0348 85 43 lda $8362,x ; CPU:$834A PRG:034A BD 62 83 - sta Zp50 ; CPU:$834D PRG:034D 85 50 + sta CellValid ; CPU:$834D PRG:034D 85 50 rts ; CPU:$834F PRG:034F 60 ; ---- data $8350-$8367 (24 bytes) ---- ; referenced by `lda $8350,x` at $833B (operand $8350 falls inside this region) ; referenced by `lda $8356,x` at $8340 (operand $8356 falls inside this region) ; referenced by `lda $835C,x` at $8345 (operand $835C falls inside this region) ; referenced by `lda $8362,x` at $834A (operand $8362 falls inside this region) - .byte $03, $03, $05, $06, $07, $08, $02, $02, $03, $03, $03, $04, $03, $03, $04, $05 ; CPU:$8350 PRG:0350 03 03 05 06 07 08 02 02 03 03 03 04 03 03 04 05 +BoardCellParameterTable: + .byte $03, $03, $05, $06, $07, $08, $02, $02, $03, $03, $03, $04, $03, $03, $04, $05 ; CPU:$8350 PRG:-3CB0 03 03 05 06 07 08 02 02 03 03 03 04 03 03 04 05 .byte $06, $06, $01, $02, $03, $03, $04, $04 ; CPU:$8360 PRG:0360 06 06 01 02 03 03 04 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_8368 -; Global: Branch target inside Label: taken when 8368. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8368. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -851,8 +832,8 @@ Sub_8368: sta $01B0 ; CPU:$836F PRG:036F 8D B0 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero2 -; Global: Branch target inside Label: taken when 8372. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -862,8 +843,8 @@ IrqHandler_OnNonzero2: sta $01AF ; CPU:$8374 PRG:0374 8D AF 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero3 -; Global: Branch target inside Label: taken when 8377. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -872,7 +853,7 @@ IrqHandler_OnNonzero3: jsr Sub_D6E2 ; CPU:$8377 PRG:0377 20 E2 D6 jsr Sub_D9EA ; CPU:$837A PRG:037A 20 EA D9 cmp #$53 ; CPU:$837D PRG:037D C9 53 - beq IrqHandler_Loop12 ; CPU:$837F PRG:037F F0 12 + beq IrqHandler_Loop13 ; CPU:$837F PRG:037F F0 12 dec $01AF ; CPU:$8381 PRG:0381 CE AF 01 bne IrqHandler_OnNonzero3 ; CPU:$8384 PRG:0384 D0 F1 dec $01B0 ; CPU:$8386 PRG:0386 CE B0 01 @@ -882,19 +863,19 @@ IrqHandler_OnNonzero3: pla ; CPU:$838F PRG:038F 68 jmp Sub_80DD ; CPU:$8390 PRG:0390 4C DD 80 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop12 -; Global: Branch target inside Label: taken when 8393. -; Local: Part of Label. +; Routine: IrqHandler_Loop13 +; Global: Branch target inside IrqHandler: taken when Loop13. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop12: +IrqHandler_Loop13: rts ; CPU:$8393 PRG:0393 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8394 -; Global: Branch target inside Label: taken when 8394. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8394. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -912,46 +893,44 @@ Sub_8394: ; ----------------------------------------------------------------------------- Label_8399: jsr Sub_D77C ; CPU:$8399 PRG:0399 20 7C D7 -; ---- data $839C-$839D (2 bytes) ---- - .byte $AD, $CD ; CPU:$839C PRG:039C AD CD ; ----------------------------------------------------------------------------- -; Routine: Label_839E -; Global: Branch target inside Label: taken when 839E. +; Routine: Label_839C +; Global: Branch target inside Label: taken when 839C. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_839E: - lda $0100 ; CPU:$839E PRG:039E AD 00 01 - bmi IrqHandler_Loop13 ; CPU:$83A1 PRG:03A1 30 05 - jsr Sub_D77C ; CPU:$83A3 PRG:03A3 20 7C D7 -; ---- data $83A6-$83A7 (2 bytes) ---- - .byte $F2, $CD ; CPU:$83A6 PRG:03A6 F2 CD +Label_839C: + lda $ADCD ; CPU:$839C PRG:039C AD CD AD + brk ; CPU:$839F PRG:039F 00 + ora (Zp30,x) ; CPU:$83A0 PRG:03A0 01 30 + ora Zp20 ; CPU:$83A2 PRG:03A2 05 20 + .byte $7C, $D7, $F2 ; CPU:$83A4 PRG:03A4 7C D7 F2 -- nop $F2D7,x (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop13 -; Global: Branch target inside Label: taken when 83A8. +; Routine: Label_83A7 +; Global: Branch target inside Label: taken when 83A7. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop13: - lda #$01 ; CPU:$83A8 PRG:03A8 A9 01 +Label_83A7: + cmp $01A9 ; CPU:$83A7 PRG:03A7 CD A9 01 sta $0124 ; CPU:$83AA PRG:03AA 8D 24 01 lda #$00 ; CPU:$83AD PRG:03AD A9 00 - sta Zp36 ; CPU:$83AF PRG:03AF 85 36 - sta Zp31 ; CPU:$83B1 PRG:03B1 85 31 + sta BoardState2 ; CPU:$83AF PRG:03AF 85 36 + sta BoardCursorX ; CPU:$83B1 PRG:03B1 85 31 lda #$01 ; CPU:$83B3 PRG:03B3 A9 01 - sta Zp32 ; CPU:$83B5 PRG:03B5 85 32 + sta BoardCursorY ; CPU:$83B5 PRG:03B5 85 32 lda $0100 ; CPU:$83B7 PRG:03B7 AD 00 01 bmi IrqHandler_Loop14 ; CPU:$83BA PRG:03BA 30 05 lda #$01 ; CPU:$83BC PRG:03BC A9 01 jmp Sub_83C3 ; CPU:$83BE PRG:03BE 4C C3 83 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop14 -; Global: Branch target inside Label: taken when 83C1. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -960,19 +939,19 @@ IrqHandler_Loop14: lda #$04 ; CPU:$83C1 PRG:03C1 A9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_83C3 -; Global: Branch target inside Label: taken when 83C3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 83C3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_83C3: - sta Zp37 ; CPU:$83C3 PRG:03C3 85 37 + sta BoardState ; CPU:$83C3 PRG:03C3 85 37 jsr Sub_9D0A ; CPU:$83C5 PRG:03C5 20 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_83C8 -; Global: Branch target inside Label: taken when 83C8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 83C8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1003,12 +982,24 @@ Sub_83C8: ; ----------------------------------------------------------------------------- Label_83EC: jmp Sub_83C8 ; CPU:$83EC PRG:03EC 4C C8 83 -; ---- data $83EF-$83F9 (11 bytes) ---- - .byte $A5, $37, $C9, $05, $90, $05, $C6, $37, $4C, $0A, $9D ; CPU:$83EF PRG:03EF A5 37 C9 05 90 05 C6 37 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: Sub_83EF +; Global: Branch target inside Sub: taken when 83EF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_83EF: + lda BoardState ; CPU:$83EF PRG:03EF A5 37 + cmp #$05 ; CPU:$83F1 PRG:03F1 C9 05 + bcc IrqHandler_OnNegative ; CPU:$83F3 PRG:03F3 90 05 + dec BoardState ; CPU:$83F5 PRG:03F5 C6 37 + jmp Sub_9D0A ; CPU:$83F7 PRG:03F7 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNegative -; Global: Branch target inside Label: taken when 83FA. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when the tested value is negative. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1024,31 +1015,31 @@ IrqHandler_OnNegative: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_83FB: - lda Zp37 ; CPU:$83FB PRG:03FB A5 37 + lda BoardState ; CPU:$83FB PRG:03FB A5 37 cmp #$04 ; CPU:$83FD PRG:03FD C9 04 beq IrqHandler_Loop16 ; CPU:$83FF PRG:03FF F0 14 cmp #$07 ; CPU:$8401 PRG:0401 C9 07 beq IrqHandler_Loop15 ; CPU:$8403 PRG:0403 F0 09 cmp #$05 ; CPU:$8405 PRG:0405 C9 05 - bcc IrqHandler_Loop17 ; CPU:$8407 PRG:0407 90 6B - dec Zp37 ; CPU:$8409 PRG:0409 C6 37 + bcc IrqHandler_Loop19 ; CPU:$8407 PRG:0407 90 6B + dec BoardState ; CPU:$8409 PRG:0409 C6 37 jmp Sub_9D0A ; CPU:$840B PRG:040B 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop15 -; Global: Branch target inside Label: taken when 840E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop15. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop15: lda #$05 ; CPU:$840E PRG:040E A9 05 - sta Zp37 ; CPU:$8410 PRG:0410 85 37 + sta BoardState ; CPU:$8410 PRG:0410 85 37 jmp Sub_9D0A ; CPU:$8412 PRG:0412 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop16 -; Global: Branch target inside Label: taken when 8415. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop16. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1057,25 +1048,63 @@ IrqHandler_Loop16: lda $0100 ; CPU:$8415 PRG:0415 AD 00 01 bmi IrqHandler_OnNegative ; CPU:$8418 PRG:0418 30 E0 lda #$01 ; CPU:$841A PRG:041A A9 01 - sta Zp37 ; CPU:$841C PRG:041C 85 37 + sta BoardState ; CPU:$841C PRG:041C 85 37 jmp Sub_9D0A ; CPU:$841E PRG:041E 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_8421 -; Global: Branch target inside Label: taken when 8421. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8421. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8421: - lda Zp37 ; CPU:$8421 PRG:0421 A5 37 + lda BoardState ; CPU:$8421 PRG:0421 A5 37 cmp #$07 ; CPU:$8423 PRG:0423 C9 07 - bcs IrqHandler_Loop17 ; CPU:$8425 PRG:0425 B0 4D - inc Zp37 ; CPU:$8427 PRG:0427 E6 37 + bcs IrqHandler_Loop19 ; CPU:$8425 PRG:0425 B0 4D + inc BoardState ; CPU:$8427 PRG:0427 E6 37 jmp Sub_9D0A ; CPU:$8429 PRG:0429 4C 0A 9D -; ---- data $842C-$844A (31 bytes) ---- - .byte $A5, $37, $C9, $01, $F0, $12, $C9, $05, $F0, $07, $B0, $3C, $E6, $37, $4C, $0A ; CPU:$842C PRG:042C A5 37 C9 01 F0 12 C9 05 F0 07 B0 3C E6 37 4C 0A - .byte $9D, $A9, $07, $85, $37, $4C, $0A, $9D, $A9, $04, $85, $37, $4C, $0A, $9D ; CPU:$843C PRG:043C 9D A9 07 85 37 4C 0A 9D A9 04 85 37 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: Label_842C +; Global: Branch target inside Label: taken when 842C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_842C: + lda BoardState ; CPU:$842C PRG:042C A5 37 + cmp #$01 ; CPU:$842E PRG:042E C9 01 + beq IrqHandler_Loop18 ; CPU:$8430 PRG:0430 F0 12 + cmp #$05 ; CPU:$8432 PRG:0432 C9 05 + beq IrqHandler_Loop17 ; CPU:$8434 PRG:0434 F0 07 + bcs IrqHandler_Loop19 ; CPU:$8436 PRG:0436 B0 3C + inc BoardState ; CPU:$8438 PRG:0438 E6 37 + jmp Sub_9D0A ; CPU:$843A PRG:043A 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop17 +; Global: Branch target inside IrqHandler: taken when Loop17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop17: + lda #$07 ; CPU:$843D PRG:043D A9 07 + sta BoardState ; CPU:$843F PRG:043F 85 37 + jmp Sub_9D0A ; CPU:$8441 PRG:0441 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop18 +; Global: Branch target inside IrqHandler: taken when Loop18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop18: + lda #$04 ; CPU:$8444 PRG:0444 A9 04 + sta BoardState ; CPU:$8446 PRG:0446 85 37 + jmp Sub_9D0A ; CPU:$8448 PRG:0448 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Label_844B ; Global: Branch target inside Label: taken when 844B. @@ -1087,12 +1116,12 @@ Sub_8421: Label_844B: lda Zp06 ; CPU:$844B PRG:044B A5 06 and #$20 ; CPU:$844D PRG:044D 29 20 - bne IrqHandler_Loop18 ; CPU:$844F PRG:044F D0 2A - ldx Zp37 ; CPU:$8451 PRG:0451 A6 37 + bne IrqHandler_Loop20 ; CPU:$844F PRG:044F D0 2A + ldx BoardState ; CPU:$8451 PRG:0451 A6 37 cpx #$01 ; CPU:$8453 PRG:0453 E0 01 - beq IrqHandler_Loop20 ; CPU:$8455 PRG:0455 F0 5C + beq IrqHandler_Loop22 ; CPU:$8455 PRG:0455 F0 5C lda $851A,x ; CPU:$8457 PRG:0457 BD 1A 85 - sta Zp2F ; CPU:$845A PRG:045A 85 2F + sta PlayerSide ; CPU:$845A PRG:045A 85 2F sta $0100 ; CPU:$845C PRG:045C 8D 00 01 txa ; CPU:$845F PRG:045F 8A jsr Sub_DA79 ; CPU:$8460 PRG:0460 20 79 DA @@ -1100,7 +1129,7 @@ Label_844B: sty Zp05 ; CPU:$8465 PRG:0465 84 05 lda (Zp84,x) ; CPU:$8467 PRG:0467 A1 84 .byte $07, $A7 ; CPU:$8469 PRG:0469 07 A7 -- slo ZpA7 (undocumented; ca65 cannot encode) - sty Zp00 ; CPU:$846B PRG:046B 84 00 + sty PpuCtrlShadow ; CPU:$846B PRG:046B 84 00 ; ----------------------------------------------------------------------------- ; Routine: Label_846D ; Global: Branch target inside Label: taken when 846D. @@ -1113,49 +1142,59 @@ Label_846D: pla ; CPU:$846D PRG:046D 68 pla ; CPU:$846E PRG:046E 68 lda #$14 ; CPU:$846F PRG:046F A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8471 PRG:0471 20 A0 A2 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop17 -; Global: Branch target inside Label: taken when 8474. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop17: - rts ; CPU:$8474 PRG:0474 60 -; ---- data $8475-$847A (6 bytes) ---- - .byte $A5, $06, $29, $20, $F0, $F9 ; CPU:$8475 PRG:0475 A5 06 29 20 F0 F9 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop18 -; Global: Branch target inside Label: taken when 847B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop18: - pla ; CPU:$847B PRG:047B 68 - pla ; CPU:$847C PRG:047C 68 - lda Zp06 ; CPU:$847D PRG:047D A5 06 - and #$40 ; CPU:$847F PRG:047F 29 40 - beq IrqHandler_Loop19 ; CPU:$8481 PRG:0481 F0 05 - lda #$02 ; CPU:$8483 PRG:0483 A9 02 - jmp Sub_848A ; CPU:$8485 PRG:0485 4C 8A 84 + jsr IrqHandler_OnNonzero20 ; CPU:$8471 PRG:0471 20 A0 A2 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop19 -; Global: Branch target inside Label: taken when 8488. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop19. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop19: + rts ; CPU:$8474 PRG:0474 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8475 +; Global: Branch target inside Label: taken when 8475. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8475: + lda Zp06 ; CPU:$8475 PRG:0475 A5 06 + and #$20 ; CPU:$8477 PRG:0477 29 20 + beq IrqHandler_Loop19 ; CPU:$8479 PRG:0479 F0 F9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop20 +; Global: Branch target inside IrqHandler: taken when Loop20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop20: + pla ; CPU:$847B PRG:047B 68 + pla ; CPU:$847C PRG:047C 68 + lda Zp06 ; CPU:$847D PRG:047D A5 06 + and #$40 ; CPU:$847F PRG:047F 29 40 + beq IrqHandler_Loop21 ; CPU:$8481 PRG:0481 F0 05 + lda #$02 ; CPU:$8483 PRG:0483 A9 02 + jmp Sub_848A ; CPU:$8485 PRG:0485 4C 8A 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop21 +; Global: Branch target inside IrqHandler: taken when Loop21. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop21: lda #$01 ; CPU:$8488 PRG:0488 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_848A -; Global: Branch target inside Label: taken when 848A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 848A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1163,11 +1202,11 @@ IrqHandler_Loop19: Sub_848A: sta $0103 ; CPU:$848A PRG:048A 8D 03 01 lda #$02 ; CPU:$848D PRG:048D A9 02 - sta Zp2F ; CPU:$848F PRG:048F 85 2F + sta PlayerSide ; CPU:$848F PRG:048F 85 2F jsr Sub_D77C ; CPU:$8491 PRG:0491 20 7C D7 lsr Zp85 ; CPU:$8494 PRG:0494 46 85 lda #$14 ; CPU:$8496 PRG:0496 A9 14 - jmp IrqHandler_OnNonzero18 ; CPU:$8498 PRG:0498 4C A0 A2 + jmp IrqHandler_OnNonzero20 ; CPU:$8498 PRG:0498 4C A0 A2 ; ---- data $849B-$84A0 (6 bytes) ---- .byte $20, $7C, $D7, $22, $85, $60 ; CPU:$849B PRG:049B 20 7C D7 22 85 60 ; ----------------------------------------------------------------------------- @@ -1194,29 +1233,29 @@ Label_84A6: ; ---- data $84A7-$84B2 (12 bytes) ---- .byte $20, $7C, $D7, $34, $85, $60, $20, $7C, $D7, $3E, $85, $60 ; CPU:$84A7 PRG:04A7 20 7C D7 34 85 60 20 7C D7 3E 85 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop20 -; Global: Branch target inside Label: taken when 84B3. -; Local: Part of Label. +; Routine: IrqHandler_Loop22 +; Global: Branch target inside IrqHandler: taken when Loop22. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop20: +IrqHandler_Loop22: lda $0100 ; CPU:$84B3 PRG:04B3 AD 00 01 - sta Zp2F ; CPU:$84B6 PRG:04B6 85 2F + sta PlayerSide ; CPU:$84B6 PRG:04B6 85 2F and #$03 ; CPU:$84B8 PRG:04B8 29 03 jsr Sub_DA79 ; CPU:$84BA PRG:04BA 20 79 DA ora (ZpA1,x) ; CPU:$84BD PRG:04BD 01 A1 sty Zp02 ; CPU:$84BF PRG:04BF 84 02 .byte $A7, $84 ; CPU:$84C1 PRG:04C1 A7 84 -- lax Zp84 (undocumented; ca65 cannot encode) .byte $03, $9B ; CPU:$84C3 PRG:04C3 03 9B -- slo (Zp9B,x) (undocumented; ca65 cannot encode) - sty Zp00 ; CPU:$84C5 PRG:04C5 84 00 + sty PpuCtrlShadow ; CPU:$84C5 PRG:04C5 84 00 lda #$14 ; CPU:$84C7 PRG:04C7 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$84C9 PRG:04C9 20 A0 A2 - lda Zp2F ; CPU:$84CC PRG:04CC A5 2F + jsr IrqHandler_OnNonzero20 ; CPU:$84C9 PRG:04C9 20 A0 A2 + lda PlayerSide ; CPU:$84CC PRG:04CC A5 2F and #$03 ; CPU:$84CE PRG:04CE 29 03 cmp #$02 ; CPU:$84D0 PRG:04D0 C9 02 - beq IrqHandler_Loop21 ; CPU:$84D2 PRG:04D2 F0 23 + beq IrqHandler_Loop23 ; CPU:$84D2 PRG:04D2 F0 23 lda $0122 ; CPU:$84D4 PRG:04D4 AD 22 01 and #$04 ; CPU:$84D7 PRG:04D7 29 04 asl a ; CPU:$84D9 PRG:04D9 0A @@ -1227,22 +1266,22 @@ IrqHandler_Loop20: ora #$80 ; CPU:$84E0 PRG:04E0 09 80 sta Zp30 ; CPU:$84E2 PRG:04E2 85 30 lda #$09 ; CPU:$84E4 PRG:04E4 A9 09 - sta Zp0F ; CPU:$84E6 PRG:04E6 85 0F + sta MoveDeltaX ; CPU:$84E6 PRG:04E6 85 0F lda #$21 ; CPU:$84E8 PRG:04E8 A9 21 - sta Zp10 ; CPU:$84EA PRG:04EA 85 10 + sta MoveDeltaY ; CPU:$84EA PRG:04EA 85 10 lda $0122 ; CPU:$84EC PRG:04EC AD 22 01 jsr Sub_8EBE ; CPU:$84EF PRG:04EF 20 BE 8E lda #$14 ; CPU:$84F2 PRG:04F2 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$84F4 PRG:04F4 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$84F4 PRG:04F4 20 A0 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop21 -; Global: Branch target inside Label: taken when 84F7. -; Local: Part of Label. +; Routine: IrqHandler_Loop23 +; Global: Branch target inside IrqHandler: taken when Loop23. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop21: +IrqHandler_Loop23: lda $0123 ; CPU:$84F7 PRG:04F7 AD 23 01 jsr Sub_DA79 ; CPU:$84FA PRG:04FA 20 79 DA .byte $FF, $55, $86 ; CPU:$84FD PRG:04FD FF 55 86 -- isc $8655,x (undocumented; ca65 cannot encode) @@ -1262,23 +1301,24 @@ IrqHandler_Loop21: ; ----------------------------------------------------------------------------- Label_850A: lda #$14 ; CPU:$850A PRG:050A A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$850C PRG:050C 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$850C PRG:050C 20 A0 A2 jsr Sub_8E3F ; CPU:$850F PRG:050F 20 3F 8E lda #$C8 ; CPU:$8512 PRG:0512 A9 C8 - jsr IrqHandler_OnNonzero18 ; CPU:$8514 PRG:0514 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8514 PRG:0514 20 A0 A2 pla ; CPU:$8517 PRG:0517 68 pla ; CPU:$8518 PRG:0518 68 pla ; CPU:$8519 PRG:0519 68 pla ; CPU:$851A PRG:051A 68 - jmp IrqHandler_Loop8 ; CPU:$851B PRG:051B 4C C3 81 + jmp IrqHandler_Loop9 ; CPU:$851B PRG:051B 4C C3 81 ; ---- data $851E-$854D (48 bytes) ---- - .byte $03, $01, $00, $02, $EA, $20, $05, $01, $42, $4C, $41, $43, $4B, $EA, $20, $05 ; CPU:$851E PRG:051E 03 01 00 02 EA 20 05 01 42 4C 41 43 4B EA 20 05 +PlayerColorNameTable: + .byte $03, $01, $00, $02, $EA, $20, $05, $01, $42, $4C, $41, $43, $4B, $EA, $20, $05 ; CPU:$851E PRG:-3AE2 03 01 00 02 EA 20 05 01 42 4C 41 43 4B EA 20 05 .byte $01, $57, $48, $49, $54, $45, $EA, $20, $06, $01, $4D, $41, $4E, $55, $41, $4C ; CPU:$852E PRG:052E 01 57 48 49 54 45 EA 20 06 01 4D 41 4E 55 41 4C .byte $EA, $20, $04, $01, $44, $45, $4D, $4F, $EA, $20, $04, $01, $53, $4C, $4F, $54 ; CPU:$853E PRG:053E EA 20 04 01 44 45 4D 4F EA 20 04 01 53 4C 4F 54 ; ----------------------------------------------------------------------------- ; Routine: Sub_854E -; Global: Branch target inside Label: taken when 854E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 854E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1320,17 +1360,17 @@ Label_855D: ; ----------------------------------------------------------------------------- Label_8562: lda #$00 ; CPU:$8562 PRG:0562 A9 00 - sta Zp36 ; CPU:$8564 PRG:0564 85 36 - sta Zp31 ; CPU:$8566 PRG:0566 85 31 + sta BoardState2 ; CPU:$8564 PRG:0564 85 36 + sta BoardCursorX ; CPU:$8566 PRG:0566 85 31 lda #$02 ; CPU:$8568 PRG:0568 A9 02 - sta Zp32 ; CPU:$856A PRG:056A 85 32 + sta BoardCursorY ; CPU:$856A PRG:056A 85 32 lda #$04 ; CPU:$856C PRG:056C A9 04 - sta Zp37 ; CPU:$856E PRG:056E 85 37 + sta BoardState ; CPU:$856E PRG:056E 85 37 jsr Sub_9D0A ; CPU:$8570 PRG:0570 20 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_8573 -; Global: Branch target inside Label: taken when 8573. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8573. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1358,8 +1398,24 @@ Sub_8573: ; ----------------------------------------------------------------------------- Label_858F: jmp Sub_8573 ; CPU:$858F PRG:058F 4C 73 85 -; ---- data $8592-$859F (14 bytes) ---- - .byte $A5, $37, $38, $E9, $03, $8D, $22, $01, $48, $29, $04, $0A, $0A, $0A ; CPU:$8592 PRG:0592 A5 37 38 E9 03 8D 22 01 48 29 04 0A 0A 0A +; ----------------------------------------------------------------------------- +; Routine: Label_8592 +; Global: Branch target inside Label: taken when 8592. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8592: + lda BoardState ; CPU:$8592 PRG:0592 A5 37 + sec ; CPU:$8594 PRG:0594 38 + sbc #$03 ; CPU:$8595 PRG:0595 E9 03 + sta $0122 ; CPU:$8597 PRG:0597 8D 22 01 + pha ; CPU:$859A PRG:059A 48 + and #$04 ; CPU:$859B PRG:059B 29 04 + asl a ; CPU:$859D PRG:059D 0A + asl a ; CPU:$859E PRG:059E 0A + asl a ; CPU:$859F PRG:059F 0A ; ----------------------------------------------------------------------------- ; Routine: Label_85A0 ; Global: Branch target inside Label: taken when 85A0. @@ -1374,20 +1430,20 @@ Label_85A0: ora #$80 ; CPU:$85A4 PRG:05A4 09 80 sta Zp30 ; CPU:$85A6 PRG:05A6 85 30 lda #$09 ; CPU:$85A8 PRG:05A8 A9 09 - sta Zp0F ; CPU:$85AA PRG:05AA 85 0F + sta MoveDeltaX ; CPU:$85AA PRG:05AA 85 0F lda #$21 ; CPU:$85AC PRG:05AC A9 21 - sta Zp10 ; CPU:$85AE PRG:05AE 85 10 + sta MoveDeltaY ; CPU:$85AE PRG:05AE 85 10 pla ; CPU:$85B0 PRG:05B0 68 jsr Sub_8EBE ; CPU:$85B1 PRG:05B1 20 BE 8E pla ; CPU:$85B4 PRG:05B4 68 pla ; CPU:$85B5 PRG:05B5 68 lda #$14 ; CPU:$85B6 PRG:05B6 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$85B8 PRG:05B8 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$85B8 PRG:05B8 20 A0 A2 rts ; CPU:$85BB PRG:05BB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_85BC -; Global: Branch target inside Label: taken when 85BC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 85BC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1419,10 +1475,10 @@ Label_85C6: ; ----------------------------------------------------------------------------- Label_85CB: lda #$04 ; CPU:$85CB PRG:05CB A9 04 - sta Zp37 ; CPU:$85CD PRG:05CD 85 37 + sta BoardState ; CPU:$85CD PRG:05CD 85 37 lda $0122 ; CPU:$85CF PRG:05CF AD 22 01 cmp #$04 ; CPU:$85D2 PRG:05D2 C9 04 - beq IrqHandler_Loop22 ; CPU:$85D4 PRG:05D4 F0 08 + beq IrqHandler_Loop24 ; CPU:$85D4 PRG:05D4 F0 08 jsr Sub_D77C ; CPU:$85D6 PRG:05D6 20 7C D7 .byte $23, $CE ; CPU:$85D9 PRG:05D9 23 CE -- rla (ZpCE,x) (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- @@ -1436,36 +1492,36 @@ Label_85CB: Label_85DB: jmp Sub_85E3 ; CPU:$85DB PRG:05DB 4C E3 85 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop22 -; Global: Branch target inside Label: taken when 85DE. -; Local: Part of Label. +; Routine: IrqHandler_Loop24 +; Global: Branch target inside IrqHandler: taken when Loop24. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop22: +IrqHandler_Loop24: jsr Sub_D77C ; CPU:$85DE PRG:05DE 20 7C D7 ; ---- data $85E1-$85E2 (2 bytes) ---- .byte $4F, $CE ; CPU:$85E1 PRG:05E1 4F CE ; ----------------------------------------------------------------------------- ; Routine: Sub_85E3 -; Global: Branch target inside Label: taken when 85E3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 85E3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_85E3: lda #$00 ; CPU:$85E3 PRG:05E3 A9 00 - sta Zp36 ; CPU:$85E5 PRG:05E5 85 36 - sta Zp31 ; CPU:$85E7 PRG:05E7 85 31 + sta BoardState2 ; CPU:$85E5 PRG:05E5 85 36 + sta BoardCursorX ; CPU:$85E7 PRG:05E7 85 31 lda #$03 ; CPU:$85E9 PRG:05E9 A9 03 - sta Zp32 ; CPU:$85EB PRG:05EB 85 32 + sta BoardCursorY ; CPU:$85EB PRG:05EB 85 32 jsr Sub_9D0A ; CPU:$85ED PRG:05ED 20 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_85F0 -; Global: Branch target inside Label: taken when 85F0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 85F0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1476,12 +1532,12 @@ Sub_85F0: jsr Sub_DA09 ; CPU:$85F6 PRG:05F6 20 09 DA jsr Sub_D9EA ; CPU:$85F9 PRG:05F9 20 EA D9 jsr Sub_DA79 ; CPU:$85FC PRG:05FC 20 79 DA - eor Zp0F,x ; CPU:$85FF PRG:05FF 55 0F + eor MoveDeltaX,x ; CPU:$85FF PRG:05FF 55 0F stx Zp44 ; CPU:$8601 PRG:0601 86 44 ora $4186,y ; CPU:$8603 PRG:0603 19 86 41 .byte $33, $86 ; CPU:$8606 PRG:0606 33 86 -- rla (Zp86),y (undocumented; ca65 cannot encode) .byte $53, $33 ; CPU:$8608 PRG:0608 53 33 -- sre (Zp33),y (undocumented; ca65 cannot encode) - stx Zp00 ; CPU:$860A PRG:060A 86 00 + stx PpuCtrlShadow ; CPU:$860A PRG:060A 86 00 ; ----------------------------------------------------------------------------- ; Routine: Label_860C ; Global: Branch target inside Label: taken when 860C. @@ -1492,8 +1548,19 @@ Sub_85F0: ; ----------------------------------------------------------------------------- Label_860C: jmp Sub_85F0 ; CPU:$860C PRG:060C 4C F0 85 -; ---- data $860F-$8618 (10 bytes) ---- - .byte $AD, $22, $01, $C9, $04, $F0, $0D, $4C, $EF, $83 ; CPU:$860F PRG:060F AD 22 01 C9 04 F0 0D 4C EF 83 +; ----------------------------------------------------------------------------- +; Routine: Label_860F +; Global: Branch target inside Label: taken when 860F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_860F: + lda $0122 ; CPU:$860F PRG:060F AD 22 01 + cmp #$04 ; CPU:$8612 PRG:0612 C9 04 + beq IrqHandler_Loop25 ; CPU:$8614 PRG:0614 F0 0D + jmp Sub_83EF ; CPU:$8616 PRG:0616 4C EF 83 ; ----------------------------------------------------------------------------- ; Routine: Label_8619 ; Global: Branch target inside Label: taken when 8619. @@ -1505,32 +1572,32 @@ Label_860C: Label_8619: lda $0122 ; CPU:$8619 PRG:0619 AD 22 01 cmp #$04 ; CPU:$861C PRG:061C C9 04 - beq IrqHandler_Loop23 ; CPU:$861E PRG:061E F0 03 + beq IrqHandler_Loop25 ; CPU:$861E PRG:061E F0 03 jmp Sub_8421 ; CPU:$8620 PRG:0620 4C 21 84 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop23 -; Global: Branch target inside Label: taken when 8623. -; Local: Part of Label. +; Routine: IrqHandler_Loop25 +; Global: Branch target inside IrqHandler: taken when Loop25. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop23: - lda Zp37 ; CPU:$8623 PRG:0623 A5 37 +IrqHandler_Loop25: + lda BoardState ; CPU:$8623 PRG:0623 A5 37 cmp #$05 ; CPU:$8625 PRG:0625 C9 05 - bcc IrqHandler_Loop24 ; CPU:$8627 PRG:0627 90 05 - dec Zp37 ; CPU:$8629 PRG:0629 C6 37 + bcc IrqHandler_Loop26 ; CPU:$8627 PRG:0627 90 05 + dec BoardState ; CPU:$8629 PRG:0629 C6 37 jmp Sub_9D0A ; CPU:$862B PRG:062B 4C 0A 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop24 -; Global: Branch target inside Label: taken when 862E. -; Local: Part of Label. +; Routine: IrqHandler_Loop26 +; Global: Branch target inside IrqHandler: taken when Loop26. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop24: - inc Zp37 ; CPU:$862E PRG:062E E6 37 +IrqHandler_Loop26: + inc BoardState ; CPU:$862E PRG:062E E6 37 jmp Sub_9D0A ; CPU:$8630 PRG:0630 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Label_8633 @@ -1541,10 +1608,10 @@ IrqHandler_Loop24: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_8633: - ldx Zp37 ; CPU:$8633 PRG:0633 A6 37 + ldx BoardState ; CPU:$8633 PRG:0633 A6 37 lda $8692,x ; CPU:$8635 PRG:0635 BD 92 86 sta $0123 ; CPU:$8638 PRG:0638 8D 23 01 - lda Zp37 ; CPU:$863B PRG:063B A5 37 + lda BoardState ; CPU:$863B PRG:063B A5 37 jsr Sub_DA79 ; CPU:$863D PRG:063D 20 79 DA .byte $04, $5B ; CPU:$8640 PRG:0640 04 5B -- nop Zp5B (undocumented; ca65 cannot encode) stx Zp05 ; CPU:$8642 PRG:0642 86 05 @@ -1565,31 +1632,42 @@ Label_864D: pla ; CPU:$864D PRG:064D 68 pla ; CPU:$864E PRG:064E 68 lda #$14 ; CPU:$864F PRG:064F A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8651 PRG:0651 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8651 PRG:0651 20 A0 A2 rts ; CPU:$8654 PRG:0654 60 -; ---- data $8655-$8659 (5 bytes) ---- -; referenced by `isc $8655,x` at $84FD (operand $8655 falls inside this region) - .byte $20, $7C, $D7, $6D, $86 ; CPU:$8655 PRG:0655 20 7C D7 6D 86 ; ----------------------------------------------------------------------------- -; Routine: Label_865A -; Global: Branch target inside Label: taken when 865A. +; Routine: Label_8655 +; Global: Branch target inside Label: taken when 8655. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_865A: - rts ; CPU:$865A PRG:065A 60 -; ---- data $865B-$8699 (63 bytes) ---- +Label_8655: + jsr Sub_D77C ; CPU:$8655 PRG:0655 20 7C D7 +; ----------------------------------------------------------------------------- +; Routine: Label_8658 +; Global: Branch target inside Label: taken when 8658. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8658: + adc $6086 ; CPU:$8658 PRG:0658 6D 86 60 + jsr Sub_D77C ; CPU:$865B PRG:065B 20 7C D7 + adc Zp86,x ; CPU:$865E PRG:065E 75 86 + rts ; CPU:$8660 PRG:0660 60 +; ---- data $8661-$8699 (57 bytes) ---- ; referenced by `lda $8692,x` at $8635 (operand $8692 falls inside this region) - .byte $20, $7C, $D7, $75, $86, $60, $20, $7C, $D7, $80, $86, $60, $20, $7C, $D7, $8B ; CPU:$865B PRG:065B 20 7C D7 75 86 60 20 7C D7 80 86 60 20 7C D7 8B - .byte $86, $60, $2A, $21, $04, $01, $4E, $4F, $4E, $45, $2A, $21, $07, $01, $32, $30 ; CPU:$866B PRG:066B 86 60 2A 21 04 01 4E 4F 4E 45 2A 21 07 01 32 30 - .byte $08, $4D, $49, $4E, $53, $2A, $21, $07, $01, $33, $30, $08, $4D, $49, $4E, $53 ; CPU:$867B PRG:067B 08 4D 49 4E 53 2A 21 07 01 33 30 08 4D 49 4E 53 - .byte $2A, $21, $07, $01, $34, $30, $08, $4D, $49, $4E, $53, $14, $1E, $28, $FF ; CPU:$868B PRG:068B 2A 21 07 01 34 30 08 4D 49 4E 53 14 1E 28 FF +GameModeNameTable: + .byte $20, $7C, $D7, $80, $86, $60, $20, $7C, $D7, $8B, $86, $60, $2A, $21, $04, $01 ; CPU:$8661 PRG:-399F 20 7C D7 80 86 60 20 7C D7 8B 86 60 2A 21 04 01 + .byte $4E, $4F, $4E, $45, $2A, $21, $07, $01, $32, $30, $08, $4D, $49, $4E, $53, $2A ; CPU:$8671 PRG:0671 4E 4F 4E 45 2A 21 07 01 32 30 08 4D 49 4E 53 2A + .byte $21, $07, $01, $33, $30, $08, $4D, $49, $4E, $53, $2A, $21, $07, $01, $34, $30 ; CPU:$8681 PRG:0681 21 07 01 33 30 08 4D 49 4E 53 2A 21 07 01 34 30 + .byte $08, $4D, $49, $4E, $53, $14, $1E, $28, $FF ; CPU:$8691 PRG:0691 08 4D 49 4E 53 14 1E 28 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_869A -; Global: Branch target inside Label: taken when 869A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 869A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1597,28 +1675,28 @@ Label_865A: Sub_869A: lda Zp06 ; CPU:$869A PRG:069A A5 06 cmp #$E0 ; CPU:$869C PRG:069C C9 E0 - bne IrqHandler_Loop25 ; CPU:$869E PRG:069E D0 0B + bne IrqHandler_Loop27 ; CPU:$869E PRG:069E D0 0B lda Zp07 ; CPU:$86A0 PRG:06A0 A5 07 cmp #$81 ; CPU:$86A2 PRG:06A2 C9 81 - bne IrqHandler_Loop25 ; CPU:$86A4 PRG:06A4 D0 05 + bne IrqHandler_Loop27 ; CPU:$86A4 PRG:06A4 D0 05 lda #$00 ; CPU:$86A6 PRG:06A6 A9 00 sta $0101 ; CPU:$86A8 PRG:06A8 8D 01 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop25 -; Global: Branch target inside Label: taken when 86AB. -; Local: Part of Label. +; Routine: IrqHandler_Loop27 +; Global: Branch target inside IrqHandler: taken when Loop27. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop25: +IrqHandler_Loop27: jsr Sub_8812 ; CPU:$86AB PRG:06AB 20 12 88 lda #$00 ; CPU:$86AE PRG:06AE A9 00 - sta Zp36 ; CPU:$86B0 PRG:06B0 85 36 - sta Zp37 ; CPU:$86B2 PRG:06B2 85 37 + sta BoardState2 ; CPU:$86B0 PRG:06B0 85 36 + sta BoardState ; CPU:$86B2 PRG:06B2 85 37 jsr Sub_8E3F ; CPU:$86B4 PRG:06B4 20 3F 8E jsr Sub_97FE ; CPU:$86B7 PRG:06B7 20 FE 97 - jsr IrqHandler_Loop119 ; CPU:$86BA PRG:06BA 20 14 98 + jsr IrqHandler_Loop144 ; CPU:$86BA PRG:06BA 20 14 98 jsr Sub_D770 ; CPU:$86BD PRG:06BD 20 70 D7 .byte $67, $CE ; CPU:$86C0 PRG:06C0 67 CE -- rra ZpCE (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- @@ -1631,64 +1709,62 @@ IrqHandler_Loop25: ; ----------------------------------------------------------------------------- Label_86C2: jsr Sub_D77C ; CPU:$86C2 PRG:06C2 20 7C D7 -; ---- data $86C5-$86C6 (2 bytes) ---- - .byte $19, $CD ; CPU:$86C5 PRG:06C5 19 CD ; ----------------------------------------------------------------------------- -; Routine: Label_86C7 -; Global: Branch target inside Label: taken when 86C7. +; Routine: Label_86C5 +; Global: Branch target inside Label: taken when 86C5. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_86C7: - lda Zp2F ; CPU:$86C7 PRG:06C7 A5 2F - and #$02 ; CPU:$86C9 PRG:06C9 29 02 - beq IrqHandler_Loop26 ; CPU:$86CB PRG:06CB F0 2E - lda Zp2E ; CPU:$86CD PRG:06CD A5 2E +Label_86C5: + ora $A5CD,y ; CPU:$86C5 PRG:06C5 19 CD A5 + .byte $2F, $29, $02 ; CPU:$86C8 PRG:06C8 2F 29 02 -- rla $0229 (undocumented; ca65 cannot encode) + beq IrqHandler_Loop28 ; CPU:$86CB PRG:06CB F0 2E + lda CursorMoved ; CPU:$86CD PRG:06CD A5 2E ora #$02 ; CPU:$86CF PRG:06CF 09 02 - sta Zp2E ; CPU:$86D1 PRG:06D1 85 2E + sta CursorMoved ; CPU:$86D1 PRG:06D1 85 2E lda $0117 ; CPU:$86D3 PRG:06D3 AD 17 01 sta $01B1 ; CPU:$86D6 PRG:06D6 8D B1 01 jsr Sub_988A ; CPU:$86D9 PRG:06D9 20 8A 98 jsr Sub_8746 ; CPU:$86DC PRG:06DC 20 46 87 ; ----------------------------------------------------------------------------- ; Routine: Sub_86DF -; Global: Branch target inside Label: taken when 86DF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 86DF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_86DF: - lda Zp2F ; CPU:$86DF PRG:06DF A5 2F + lda PlayerSide ; CPU:$86DF PRG:06DF A5 2F and #$03 ; CPU:$86E1 PRG:06E1 29 03 - beq IrqHandler_Loop28 ; CPU:$86E3 PRG:06E3 F0 3E + beq IrqHandler_Loop30 ; CPU:$86E3 PRG:06E3 F0 3E cmp #$03 ; CPU:$86E5 PRG:06E5 C9 03 - beq IrqHandler_Loop28 ; CPU:$86E7 PRG:06E7 F0 3A + beq IrqHandler_Loop30 ; CPU:$86E7 PRG:06E7 F0 3A lda $010D ; CPU:$86E9 PRG:06E9 AD 0D 01 sta $01B1 ; CPU:$86EC PRG:06EC 8D B1 01 - lda Zp2E ; CPU:$86EF PRG:06EF A5 2E + lda CursorMoved ; CPU:$86EF PRG:06EF A5 2E and #$FD ; CPU:$86F1 PRG:06F1 29 FD - sta Zp2E ; CPU:$86F3 PRG:06F3 85 2E + sta CursorMoved ; CPU:$86F3 PRG:06F3 85 2E jsr Sub_988A ; CPU:$86F5 PRG:06F5 20 8A 98 jmp Sub_8746 ; CPU:$86F8 PRG:06F8 4C 46 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop26 -; Global: Branch target inside Label: taken when 86FB. -; Local: Part of Label. +; Routine: IrqHandler_Loop28 +; Global: Branch target inside IrqHandler: taken when Loop28. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop26: +IrqHandler_Loop28: lda #$03 ; CPU:$86FB PRG:06FB A9 03 sta $0117 ; CPU:$86FD PRG:06FD 8D 17 01 ldx #$05 ; CPU:$8700 PRG:0700 A2 05 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative2 -; Global: Branch target inside Label: taken when 8702. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1698,8 +1774,8 @@ IrqHandler_OnNonnegative2: sta $0110,x ; CPU:$8705 PRG:0705 9D 10 01 dex ; CPU:$8708 PRG:0708 CA bpl IrqHandler_OnNonnegative2 ; CPU:$8709 PRG:0709 10 F7 - lda Zp2F ; CPU:$870B PRG:070B A5 2F - beq IrqHandler_Loop27 ; CPU:$870D PRG:070D F0 0E + lda PlayerSide ; CPU:$870B PRG:070B A5 2F + beq IrqHandler_Loop29 ; CPU:$870D PRG:070D F0 0E lda #$2D ; CPU:$870F PRG:070F A9 2D sta $0113 ; CPU:$8711 PRG:0711 8D 13 01 lda $0122 ; CPU:$8714 PRG:0714 AD 22 01 @@ -1707,32 +1783,32 @@ IrqHandler_OnNonnegative2: adc #$30 ; CPU:$8718 PRG:0718 69 30 sta $0114 ; CPU:$871A PRG:071A 8D 14 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop27 -; Global: Branch target inside Label: taken when 871D. -; Local: Part of Label. +; Routine: IrqHandler_Loop29 +; Global: Branch target inside IrqHandler: taken when Loop29. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop27: +IrqHandler_Loop29: jsr Sub_8E3F ; CPU:$871D PRG:071D 20 3F 8E jmp Sub_86DF ; CPU:$8720 PRG:0720 4C DF 86 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop28 -; Global: Branch target inside Label: taken when 8723. -; Local: Part of Label. +; Routine: IrqHandler_Loop30 +; Global: Branch target inside IrqHandler: taken when Loop30. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop28: +IrqHandler_Loop30: lda #$03 ; CPU:$8723 PRG:0723 A9 03 sta $010D ; CPU:$8725 PRG:0725 8D 0D 01 ldx #$05 ; CPU:$8728 PRG:0728 A2 05 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative3 -; Global: Branch target inside Label: taken when 872A. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1742,8 +1818,8 @@ IrqHandler_OnNonnegative3: sta $0106,x ; CPU:$872D PRG:072D 9D 06 01 dex ; CPU:$8730 PRG:0730 CA bpl IrqHandler_OnNonnegative3 ; CPU:$8731 PRG:0731 10 F7 - lda Zp2F ; CPU:$8733 PRG:0733 A5 2F - beq IrqHandler_Loop29 ; CPU:$8735 PRG:0735 F0 0E + lda PlayerSide ; CPU:$8733 PRG:0733 A5 2F + beq IrqHandler_Loop31 ; CPU:$8735 PRG:0735 F0 0E lda #$2D ; CPU:$8737 PRG:0737 A9 2D sta $0109 ; CPU:$8739 PRG:0739 8D 09 01 lda $0122 ; CPU:$873C PRG:073C AD 22 01 @@ -1751,19 +1827,19 @@ IrqHandler_OnNonnegative3: adc #$30 ; CPU:$8740 PRG:0740 69 30 sta $010A ; CPU:$8742 PRG:0742 8D 0A 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop29 -; Global: Branch target inside Label: taken when 8745. -; Local: Part of Label. +; Routine: IrqHandler_Loop31 +; Global: Branch target inside IrqHandler: taken when Loop31. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop29: +IrqHandler_Loop31: rts ; CPU:$8745 PRG:0745 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8746 -; Global: Branch target inside Label: taken when 8746. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8746. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1785,28 +1861,28 @@ Label_874E: jsr Sub_8EA4 ; CPU:$874E PRG:074E 20 A4 8E lda $01B1 ; CPU:$8751 PRG:0751 AD B1 01 cmp #$06 ; CPU:$8754 PRG:0754 C9 06 - bcs IrqHandler_Loop30 ; CPU:$8756 PRG:0756 B0 09 + bcs IrqHandler_Loop32 ; CPU:$8756 PRG:0756 B0 09 lda #$00 ; CPU:$8758 PRG:0758 A9 00 - sta Zp36 ; CPU:$875A PRG:075A 85 36 - sta Zp37 ; CPU:$875C PRG:075C 85 37 + sta BoardState2 ; CPU:$875A PRG:075A 85 36 + sta BoardState ; CPU:$875C PRG:075C 85 37 jmp Sub_87EB ; CPU:$875E PRG:075E 4C EB 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop30 -; Global: Branch target inside Label: taken when 8761. -; Local: Part of Label. +; Routine: IrqHandler_Loop32 +; Global: Branch target inside IrqHandler: taken when Loop32. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop30: +IrqHandler_Loop32: lda #$06 ; CPU:$8761 PRG:0761 A9 06 - sta Zp36 ; CPU:$8763 PRG:0763 85 36 - sta Zp37 ; CPU:$8765 PRG:0765 85 37 + sta BoardState2 ; CPU:$8763 PRG:0763 85 36 + sta BoardState ; CPU:$8765 PRG:0765 85 37 jmp Sub_87EB ; CPU:$8767 PRG:0767 4C EB 87 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero -; Global: Branch target inside Label: taken when 876A. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when the tested value is zero. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1814,45 +1890,45 @@ IrqHandler_Loop30: IrqHandler_OnZero: jsr Sub_D6E2 ; CPU:$876A PRG:076A 20 E2 D6 lda #$04 ; CPU:$876D PRG:076D A9 04 - sta Zp32 ; CPU:$876F PRG:076F 85 32 + sta BoardCursorY ; CPU:$876F PRG:076F 85 32 lda #$01 ; CPU:$8771 PRG:0771 A9 01 sta $0124 ; CPU:$8773 PRG:0773 8D 24 01 lda $01B1 ; CPU:$8776 PRG:0776 AD B1 01 cmp #$06 ; CPU:$8779 PRG:0779 C9 06 - bne IrqHandler_Loop31 ; CPU:$877B PRG:077B D0 02 + bne IrqHandler_Loop33 ; CPU:$877B PRG:077B D0 02 lda #$05 ; CPU:$877D PRG:077D A9 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop31 -; Global: Branch target inside Label: taken when 877F. -; Local: Part of Label. +; Routine: IrqHandler_Loop33 +; Global: Branch target inside IrqHandler: taken when Loop33. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop31: - sta Zp31 ; CPU:$877F PRG:077F 85 31 +IrqHandler_Loop33: + sta BoardCursorX ; CPU:$877F PRG:077F 85 31 lda #$0C ; CPU:$8781 PRG:0781 A9 0C jsr Sub_DB0F ; CPU:$8783 PRG:0783 20 0F DB jsr Sub_9D56 ; CPU:$8786 PRG:0786 20 56 9D jsr Sub_9511 ; CPU:$8789 PRG:0789 20 11 95 - bcs IrqHandler_Loop35 ; CPU:$878C PRG:078C B0 50 + bcs IrqHandler_Loop37 ; CPU:$878C PRG:078C B0 50 jsr Sub_94C8 ; CPU:$878E PRG:078E 20 C8 94 txa ; CPU:$8791 PRG:0791 8A cmp #$1B ; CPU:$8792 PRG:0792 C9 1B - beq IrqHandler_Loop33 ; CPU:$8794 PRG:0794 F0 28 + beq IrqHandler_Loop35 ; CPU:$8794 PRG:0794 F0 28 lda $01B1 ; CPU:$8796 PRG:0796 AD B1 01 cmp #$06 ; CPU:$8799 PRG:0799 C9 06 - bcc IrqHandler_Loop32 ; CPU:$879B PRG:079B 90 03 + bcc IrqHandler_Loop34 ; CPU:$879B PRG:079B 90 03 dec $01B1 ; CPU:$879D PRG:079D CE B1 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop32 -; Global: Branch target inside Label: taken when 87A0. -; Local: Part of Label. +; Routine: IrqHandler_Loop34 +; Global: Branch target inside IrqHandler: taken when Loop34. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop32: +IrqHandler_Loop34: jsr Sub_87F6 ; CPU:$87A0 PRG:07A0 20 F6 87 inc $01B1 ; CPU:$87A3 PRG:07A3 EE B1 01 ldx #$1A ; CPU:$87A6 PRG:07A6 A2 1A @@ -1862,42 +1938,42 @@ IrqHandler_Loop32: cmp #$06 ; CPU:$87B1 PRG:07B1 C9 06 bcc IrqHandler_OnZero ; CPU:$87B3 PRG:07B3 90 B5 lda #$06 ; CPU:$87B5 PRG:07B5 A9 06 - sta Zp36 ; CPU:$87B7 PRG:07B7 85 36 - sta Zp37 ; CPU:$87B9 PRG:07B9 85 37 + sta BoardState2 ; CPU:$87B7 PRG:07B7 85 36 + sta BoardState ; CPU:$87B9 PRG:07B9 85 37 jmp IrqHandler_OnZero ; CPU:$87BB PRG:07BB 4C 6A 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop33 -; Global: Branch target inside Label: taken when 87BE. -; Local: Part of Label. +; Routine: IrqHandler_Loop35 +; Global: Branch target inside IrqHandler: taken when Loop35. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop33: - jsr IrqHandler_Loop135 ; CPU:$87BE PRG:07BE 20 86 9D +IrqHandler_Loop35: + jsr IrqHandler_Loop161 ; CPU:$87BE PRG:07BE 20 86 9D ldx #$1A ; CPU:$87C1 PRG:07C1 A2 1A jsr Sub_87F6 ; CPU:$87C3 PRG:07C3 20 F6 87 - lda Zp2E ; CPU:$87C6 PRG:07C6 A5 2E + lda CursorMoved ; CPU:$87C6 PRG:07C6 A5 2E and #$02 ; CPU:$87C8 PRG:07C8 29 02 - beq IrqHandler_Loop34 ; CPU:$87CA PRG:07CA F0 09 + beq IrqHandler_Loop36 ; CPU:$87CA PRG:07CA F0 09 lda $01B1 ; CPU:$87CC PRG:07CC AD B1 01 sta $0117 ; CPU:$87CF PRG:07CF 8D 17 01 jmp Sub_87DB ; CPU:$87D2 PRG:07D2 4C DB 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop34 -; Global: Branch target inside Label: taken when 87D5. -; Local: Part of Label. +; Routine: IrqHandler_Loop36 +; Global: Branch target inside IrqHandler: taken when Loop36. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop34: +IrqHandler_Loop36: lda $01B1 ; CPU:$87D5 PRG:07D5 AD B1 01 sta $010D ; CPU:$87D8 PRG:07D8 8D 0D 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_87DB -; Global: Branch target inside Label: taken when 87DB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 87DB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1905,14 +1981,14 @@ IrqHandler_Loop34: Sub_87DB: jmp Sub_8E3F ; CPU:$87DB PRG:07DB 4C 3F 8E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop35 -; Global: Branch target inside Label: taken when 87DE. -; Local: Part of Label. +; Routine: IrqHandler_Loop37 +; Global: Branch target inside IrqHandler: taken when Loop37. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop35: +IrqHandler_Loop37: lda $01B1 ; CPU:$87DE PRG:07DE AD B1 01 beq IrqHandler_OnZero ; CPU:$87E1 PRG:07E1 F0 87 ldx #$1A ; CPU:$87E3 PRG:07E3 A2 1A @@ -1920,8 +1996,8 @@ IrqHandler_Loop35: dec $01B1 ; CPU:$87E8 PRG:07E8 CE B1 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_87EB -; Global: Branch target inside Label: taken when 87EB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 87EB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1933,36 +2009,36 @@ Sub_87EB: jmp IrqHandler_OnZero ; CPU:$87F3 PRG:07F3 4C 6A 87 ; ----------------------------------------------------------------------------- ; Routine: Sub_87F6 -; Global: Branch target inside Label: taken when 87F6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 87F6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_87F6: - lda Zp2E ; CPU:$87F6 PRG:07F6 A5 2E + lda CursorMoved ; CPU:$87F6 PRG:07F6 A5 2E and #$02 ; CPU:$87F8 PRG:07F8 29 02 - beq IrqHandler_Loop36 ; CPU:$87FA PRG:07FA F0 0C + beq IrqHandler_Loop38 ; CPU:$87FA PRG:07FA F0 0C lda $8856,x ; CPU:$87FC PRG:07FC BD 56 88 ldx $01B1 ; CPU:$87FF PRG:07FF AE B1 01 sta $0110,x ; CPU:$8802 PRG:0802 9D 10 01 jmp Sub_8811 ; CPU:$8805 PRG:0805 4C 11 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop36 -; Global: Branch target inside Label: taken when 8808. -; Local: Part of Label. +; Routine: IrqHandler_Loop38 +; Global: Branch target inside IrqHandler: taken when Loop38. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop36: +IrqHandler_Loop38: lda $8856,x ; CPU:$8808 PRG:0808 BD 56 88 ldx $01B1 ; CPU:$880B PRG:080B AE B1 01 sta $0106,x ; CPU:$880E PRG:080E 9D 06 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_8811 -; Global: Branch target inside Label: taken when 8811. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8811. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1971,8 +2047,8 @@ Sub_8811: rts ; CPU:$8811 PRG:0811 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8812 -; Global: Branch target inside Label: taken when 8812. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8812. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -1991,8 +2067,8 @@ Sub_8812: lda #$08 ; CPU:$882C PRG:082C A9 08 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative4 -; Global: Branch target inside Label: taken when 882E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative4. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2005,8 +2081,8 @@ IrqHandler_OnNonnegative4: rts ; CPU:$8837 PRG:0837 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8838 -; Global: Branch target inside Label: taken when 8838. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8838. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2015,8 +2091,8 @@ Sub_8838: ldx #$05 ; CPU:$8838 PRG:0838 A2 05 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative5 -; Global: Branch target inside Label: taken when 883A. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2036,15 +2112,16 @@ IrqHandler_OnNonnegative5: ; referenced by `lda $8856,x` at $8808 (operand $8856 falls inside this region) ; referenced by `lda $884A,x` at $883A (operand $884A falls inside this region) ; referenced by `lda $8850,x` at $8840 (operand $8850 falls inside this region) - .byte $42, $4C, $41, $43, $4B, $08, $57, $48, $49, $54, $45, $08, $41, $42, $43, $44 ; CPU:$884A PRG:084A 42 4C 41 43 4B 08 57 48 49 54 45 08 41 42 43 44 +BoardCellNameTable: + .byte $42, $4C, $41, $43, $4B, $08, $57, $48, $49, $54, $45, $08, $41, $42, $43, $44 ; CPU:$884A PRG:-37B6 42 4C 41 43 4B 08 57 48 49 54 45 08 41 42 43 44 .byte $45, $46, $47, $48, $49, $4A, $4B, $4C, $4D, $4E, $4F, $50, $51, $52, $53, $54 ; CPU:$885A PRG:085A 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 .byte $55, $56, $57, $58, $59, $5A, $08, $09, $C2, $20, $10, $10, $08, $00, $3F, $04 ; CPU:$886A PRG:086A 55 56 57 58 59 5A 08 09 C2 20 10 10 08 00 3F 04 .byte $01, $00, $02, $36, $39, $43, $4F, $4D, $08, $08, $08, $43, $4F, $4D, $08, $08 ; CPU:$887A PRG:087A 01 00 02 36 39 43 4F 4D 08 08 08 43 4F 4D 08 08 .byte $08 ; CPU:$888A PRG:088A 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_888B -; Global: Branch target inside Label: taken when 888B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 888B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2052,35 +2129,35 @@ IrqHandler_OnNonnegative5: Sub_888B: jsr Sub_A168 ; CPU:$888B PRG:088B 20 68 A1 jsr Sub_8E27 ; CPU:$888E PRG:088E 20 27 8E - lda Zp2E ; CPU:$8891 PRG:0891 A5 2E + lda CursorMoved ; CPU:$8891 PRG:0891 A5 2E and #$02 ; CPU:$8893 PRG:0893 29 02 - bne IrqHandler_Loop37 ; CPU:$8895 PRG:0895 D0 05 + bne IrqHandler_Loop39 ; CPU:$8895 PRG:0895 D0 05 lda Zp3A ; CPU:$8897 PRG:0897 A5 3A jmp Sub_889E ; CPU:$8899 PRG:0899 4C 9E 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop37 -; Global: Branch target inside Label: taken when 889C. -; Local: Part of Label. +; Routine: IrqHandler_Loop39 +; Global: Branch target inside IrqHandler: taken when Loop39. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop37: +IrqHandler_Loop39: lda Zp3C ; CPU:$889C PRG:089C A5 3C ; ----------------------------------------------------------------------------- ; Routine: Sub_889E -; Global: Branch target inside Label: taken when 889E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 889E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_889E: - bne IrqHandler_Loop40 ; CPU:$889E PRG:089E D0 38 + bne IrqHandler_Loop42 ; CPU:$889E PRG:089E D0 38 ; ----------------------------------------------------------------------------- ; Routine: Sub_88A0 -; Global: Branch target inside Label: taken when 88A0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 88A0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2099,24 +2176,24 @@ Sub_88A0: inc Zp30 ; CPU:$88B7 PRG:08B7 E6 30 lda Zp30 ; CPU:$88B9 PRG:08B9 A5 30 and #$02 ; CPU:$88BB PRG:08BB 29 02 - beq IrqHandler_Loop38 ; CPU:$88BD PRG:08BD F0 03 - jmp IrqHandler_Loop50 ; CPU:$88BF PRG:08BF 4C 25 8A + beq IrqHandler_Loop40 ; CPU:$88BD PRG:08BD F0 03 + jmp IrqHandler_Loop54 ; CPU:$88BF PRG:08BF 4C 25 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop38 -; Global: Branch target inside Label: taken when 88C2. -; Local: Part of Label. +; Routine: IrqHandler_Loop40 +; Global: Branch target inside IrqHandler: taken when Loop40. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop38: +IrqHandler_Loop40: jsr Sub_8CDF ; CPU:$88C2 PRG:08C2 20 DF 8C - bne IrqHandler_Loop39 ; CPU:$88C5 PRG:08C5 D0 0E + bne IrqHandler_Loop41 ; CPU:$88C5 PRG:08C5 D0 0E jsr Sub_98CD ; CPU:$88C7 PRG:08C7 20 CD 98 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero4 -; Global: Branch target inside Label: taken when 88CA. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero4. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2124,28 +2201,28 @@ IrqHandler_Loop38: IrqHandler_OnNonzero4: jsr Sub_D9EA ; CPU:$88CA PRG:08CA 20 EA D9 cmp #$41 ; CPU:$88CD PRG:08CD C9 41 - beq IrqHandler_Loop39 ; CPU:$88CF PRG:08CF F0 04 + beq IrqHandler_Loop41 ; CPU:$88CF PRG:08CF F0 04 cmp #$61 ; CPU:$88D1 PRG:08D1 C9 61 bne IrqHandler_OnNonzero4 ; CPU:$88D3 PRG:08D3 D0 F5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop39 -; Global: Branch target inside Label: taken when 88D5. -; Local: Part of Label. +; Routine: IrqHandler_Loop41 +; Global: Branch target inside IrqHandler: taken when Loop41. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop39: +IrqHandler_Loop41: jmp Sub_89C3 ; CPU:$88D5 PRG:08D5 4C C3 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop40 -; Global: Branch target inside Label: taken when 88D8. -; Local: Part of Label. +; Routine: IrqHandler_Loop42 +; Global: Branch target inside IrqHandler: taken when Loop42. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop40: +IrqHandler_Loop42: lda #$00 ; CPU:$88D8 PRG:08D8 A9 00 sta $0124 ; CPU:$88DA PRG:08DA 8D 24 01 lda Zp30 ; CPU:$88DD PRG:08DD A5 30 @@ -2154,70 +2231,70 @@ IrqHandler_Loop40: jsr Sub_8CBD ; CPU:$88E3 PRG:08E3 20 BD 8C ; ----------------------------------------------------------------------------- ; Routine: Sub_88E6 -; Global: Branch target inside Label: taken when 88E6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 88E6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_88E6: - ldx Zp2F ; CPU:$88E6 PRG:08E6 A6 2F + ldx PlayerSide ; CPU:$88E6 PRG:08E6 A6 2F txa ; CPU:$88E8 PRG:08E8 8A and #$03 ; CPU:$88E9 PRG:08E9 29 03 - bne IrqHandler_Loop41 ; CPU:$88EB PRG:08EB D0 03 - jmp IrqHandler_Loop47 ; CPU:$88ED PRG:08ED 4C 6C 89 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop41 -; Global: Branch target inside Label: taken when 88F0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop41: - and #$01 ; CPU:$88F0 PRG:08F0 29 01 - beq IrqHandler_Loop42 ; CPU:$88F2 PRG:08F2 F0 07 - txa ; CPU:$88F4 PRG:08F4 8A - eor Zp2E ; CPU:$88F5 PRG:08F5 45 2E - and #$02 ; CPU:$88F7 PRG:08F7 29 02 - bne IrqHandler_Loop47 ; CPU:$88F9 PRG:08F9 D0 71 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop42 -; Global: Branch target inside Label: taken when 88FB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop42: - jsr Sub_A4E9 ; CPU:$88FB PRG:08FB 20 E9 A4 - jsr Sub_9511 ; CPU:$88FE PRG:08FE 20 11 95 - jsr Sub_A4F0 ; CPU:$8901 PRG:0901 20 F0 A4 - lda Zp2E ; CPU:$8904 PRG:0904 A5 2E - bpl IrqHandler_Loop43 ; CPU:$8906 PRG:0906 10 03 - jmp Sub_89FE ; CPU:$8908 PRG:0908 4C FE 89 + bne IrqHandler_Loop43 ; CPU:$88EB PRG:08EB D0 03 + jmp IrqHandler_Loop49 ; CPU:$88ED PRG:08ED 4C 6C 89 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop43 -; Global: Branch target inside Label: taken when 890B. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop43. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop43: - lda Zp36 ; CPU:$890B PRG:090B A5 36 - sta Zp31 ; CPU:$890D PRG:090D 85 31 - lda Zp37 ; CPU:$890F PRG:090F A5 37 - sta Zp32 ; CPU:$8911 PRG:0911 85 32 + and #$01 ; CPU:$88F0 PRG:08F0 29 01 + beq IrqHandler_Loop44 ; CPU:$88F2 PRG:08F2 F0 07 + txa ; CPU:$88F4 PRG:08F4 8A + eor CursorMoved ; CPU:$88F5 PRG:08F5 45 2E + and #$02 ; CPU:$88F7 PRG:08F7 29 02 + bne IrqHandler_Loop49 ; CPU:$88F9 PRG:08F9 D0 71 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop44 +; Global: Branch target inside IrqHandler: taken when Loop44. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop44: + jsr Sub_A4E9 ; CPU:$88FB PRG:08FB 20 E9 A4 + jsr Sub_9511 ; CPU:$88FE PRG:08FE 20 11 95 + jsr Sub_A4F0 ; CPU:$8901 PRG:0901 20 F0 A4 + lda CursorMoved ; CPU:$8904 PRG:0904 A5 2E + bpl IrqHandler_Loop45 ; CPU:$8906 PRG:0906 10 03 + jmp Sub_89FE ; CPU:$8908 PRG:0908 4C FE 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop45 +; Global: Branch target inside IrqHandler: taken when Loop45. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop45: + lda BoardState2 ; CPU:$890B PRG:090B A5 36 + sta BoardCursorX ; CPU:$890D PRG:090D 85 31 + lda BoardState ; CPU:$890F PRG:090F A5 37 + sta BoardCursorY ; CPU:$8911 PRG:0911 85 32 jsr Sub_94B2 ; CPU:$8913 PRG:0913 20 B2 94 - lda ZpA5,x ; CPU:$8916 PRG:0916 B5 A5 + lda CellPatternIndex,x ; CPU:$8916 PRG:0916 B5 A5 tay ; CPU:$8918 PRG:0918 A8 and #$03 ; CPU:$8919 PRG:0919 29 03 - beq IrqHandler_Loop44 ; CPU:$891B PRG:091B F0 03 + beq IrqHandler_Loop46 ; CPU:$891B PRG:091B F0 03 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero2 -; Global: Branch target inside Label: taken when 891D. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2225,37 +2302,37 @@ IrqHandler_Loop43: IrqHandler_OnZero2: jmp Sub_89D3 ; CPU:$891D PRG:091D 4C D3 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop44 -; Global: Branch target inside Label: taken when 8920. -; Local: Part of Label. +; Routine: IrqHandler_Loop46 +; Global: Branch target inside IrqHandler: taken when Loop46. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop44: - lda Zp2E ; CPU:$8920 PRG:0920 A5 2E +IrqHandler_Loop46: + lda CursorMoved ; CPU:$8920 PRG:0920 A5 2E and #$02 ; CPU:$8922 PRG:0922 29 02 - bne IrqHandler_Loop45 ; CPU:$8924 PRG:0924 D0 08 + bne IrqHandler_Loop47 ; CPU:$8924 PRG:0924 D0 08 tya ; CPU:$8926 PRG:0926 98 and #$04 ; CPU:$8927 PRG:0927 29 04 beq IrqHandler_OnZero2 ; CPU:$8929 PRG:0929 F0 F2 jmp Sub_8933 ; CPU:$892B PRG:092B 4C 33 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop45 -; Global: Branch target inside Label: taken when 892E. -; Local: Part of Label. +; Routine: IrqHandler_Loop47 +; Global: Branch target inside IrqHandler: taken when Loop47. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop45: +IrqHandler_Loop47: tya ; CPU:$892E PRG:092E 98 and #$08 ; CPU:$892F PRG:092F 29 08 beq IrqHandler_OnZero2 ; CPU:$8931 PRG:0931 F0 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_8933 -; Global: Branch target inside Label: taken when 8933. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8933. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2267,75 +2344,75 @@ Sub_8933: clc ; CPU:$893A PRG:093A 18 adc Zp3B ; CPU:$893B PRG:093B 65 3B cmp #$10 ; CPU:$893D PRG:093D C9 10 - bcs IrqHandler_Loop46 ; CPU:$893F PRG:093F B0 20 - lda Zp2F ; CPU:$8941 PRG:0941 A5 2F + bcs IrqHandler_Loop48 ; CPU:$893F PRG:093F B0 20 + lda PlayerSide ; CPU:$8941 PRG:0941 A5 2F and #$03 ; CPU:$8943 PRG:0943 29 03 cmp #$02 ; CPU:$8945 PRG:0945 C9 02 - beq IrqHandler_Loop46 ; CPU:$8947 PRG:0947 F0 18 + beq IrqHandler_Loop48 ; CPU:$8947 PRG:0947 F0 18 lda $0101 ; CPU:$8949 PRG:0949 AD 01 01 - beq IrqHandler_Loop46 ; CPU:$894C PRG:094C F0 13 + beq IrqHandler_Loop48 ; CPU:$894C PRG:094C F0 13 jsr Sub_9479 ; CPU:$894E PRG:094E 20 79 94 stx Zp44 ; CPU:$8951 PRG:0951 86 44 jsr Sub_8E01 ; CPU:$8953 PRG:0953 20 01 8E lda #$04 ; CPU:$8956 PRG:0956 A9 04 - jsr IrqHandler_OnNonzero18 ; CPU:$8958 PRG:0958 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8958 PRG:0958 20 A0 A2 jsr Sub_BC4B ; CPU:$895B PRG:095B 20 4B BC jsr Sub_912B ; CPU:$895E PRG:095E 20 2B 91 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop46 -; Global: Branch target inside Label: taken when 8961. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop46: - jsr Sub_8F65 ; CPU:$8961 PRG:0961 20 65 8F - lda #$14 ; CPU:$8964 PRG:0964 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8966 PRG:0966 20 A0 A2 - jmp Sub_89A0 ; CPU:$8969 PRG:0969 4C A0 89 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop47 -; Global: Branch target inside Label: taken when 896C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop47: - jsr Sub_9AAA ; CPU:$896C PRG:096C 20 AA 9A - jsr Sub_A4E9 ; CPU:$896F PRG:096F 20 E9 A4 - jsr Sub_ABE3 ; CPU:$8972 PRG:0972 20 E3 AB - jsr Sub_A4F0 ; CPU:$8975 PRG:0975 20 F0 A4 - lda Zp2E ; CPU:$8978 PRG:0978 A5 2E - bpl IrqHandler_Loop48 ; CPU:$897A PRG:097A 10 03 - jmp Sub_89FE ; CPU:$897C PRG:097C 4C FE 89 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop48 -; Global: Branch target inside Label: taken when 897F. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop48. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop48: + jsr Sub_8F65 ; CPU:$8961 PRG:0961 20 65 8F + lda #$14 ; CPU:$8964 PRG:0964 A9 14 + jsr IrqHandler_OnNonzero20 ; CPU:$8966 PRG:0966 20 A0 A2 + jmp Sub_89A0 ; CPU:$8969 PRG:0969 4C A0 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop49 +; Global: Branch target inside IrqHandler: taken when Loop49. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop49: + jsr Sub_9AAA ; CPU:$896C PRG:096C 20 AA 9A + jsr Sub_A4E9 ; CPU:$896F PRG:096F 20 E9 A4 + jsr Sub_ABE3 ; CPU:$8972 PRG:0972 20 E3 AB + jsr Sub_A4F0 ; CPU:$8975 PRG:0975 20 F0 A4 + lda CursorMoved ; CPU:$8978 PRG:0978 A5 2E + bpl IrqHandler_Loop50 ; CPU:$897A PRG:097A 10 03 + jmp Sub_89FE ; CPU:$897C PRG:097C 4C FE 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop50 +; Global: Branch target inside IrqHandler: taken when Loop50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop50: jsr Sub_8E27 ; CPU:$897F PRG:097F 20 27 8E jsr Sub_9C15 ; CPU:$8982 PRG:0982 20 15 9C - lda Zp31 ; CPU:$8985 PRG:0985 A5 31 - sta Zp36 ; CPU:$8987 PRG:0987 85 36 - lda Zp32 ; CPU:$8989 PRG:0989 A5 32 - sta Zp37 ; CPU:$898B PRG:098B 85 37 + lda BoardCursorX ; CPU:$8985 PRG:0985 A5 31 + sta BoardState2 ; CPU:$8987 PRG:0987 85 36 + lda BoardCursorY ; CPU:$8989 PRG:0989 A5 32 + sta BoardState ; CPU:$898B PRG:098B 85 37 jsr Sub_9D0A ; CPU:$898D PRG:098D 20 0A 9D lda #$07 ; CPU:$8990 PRG:0990 A9 07 jsr Sub_DB0F ; CPU:$8992 PRG:0992 20 0F DB jsr Sub_8F65 ; CPU:$8995 PRG:0995 20 65 8F lda #$14 ; CPU:$8998 PRG:0998 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$899A PRG:099A 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$899A PRG:099A 20 A0 A2 jsr Sub_9D4E ; CPU:$899D PRG:099D 20 4E 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_89A0 -; Global: Branch target inside Label: taken when 89A0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 89A0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2344,9 +2421,9 @@ Sub_89A0: jsr Sub_8E2F ; CPU:$89A0 PRG:09A0 20 2F 8E jsr Sub_911F ; CPU:$89A3 PRG:09A3 20 1F 91 jsr Sub_910C ; CPU:$89A6 PRG:09A6 20 0C 91 - lda Zp31 ; CPU:$89A9 PRG:09A9 A5 31 + lda BoardCursorX ; CPU:$89A9 PRG:09A9 A5 31 sta $07EB ; CPU:$89AB PRG:09AB 8D EB 07 - lda Zp32 ; CPU:$89AE PRG:09AE A5 32 + lda BoardCursorY ; CPU:$89AE PRG:09AE A5 32 sta $07EC ; CPU:$89B0 PRG:09B0 8D EC 07 jsr Sub_9486 ; CPU:$89B3 PRG:09B3 20 86 94 lda Zp3D ; CPU:$89B6 PRG:09B6 A5 3D @@ -2358,26 +2435,26 @@ Sub_89A0: jsr Sub_8F95 ; CPU:$89C0 PRG:09C0 20 95 8F ; ----------------------------------------------------------------------------- ; Routine: Sub_89C3 -; Global: Branch target inside Label: taken when 89C3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 89C3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_89C3: lda Zp3D ; CPU:$89C3 PRG:09C3 A5 3D - beq IrqHandler_Loop50 ; CPU:$89C5 PRG:09C5 F0 5E + beq IrqHandler_Loop54 ; CPU:$89C5 PRG:09C5 F0 5E lda Zp3B ; CPU:$89C7 PRG:09C7 A5 3B - beq IrqHandler_Loop50 ; CPU:$89C9 PRG:09C9 F0 5A + beq IrqHandler_Loop54 ; CPU:$89C9 PRG:09C9 F0 5A clc ; CPU:$89CB PRG:09CB 18 adc Zp3D ; CPU:$89CC PRG:09CC 65 3D cmp #$40 ; CPU:$89CE PRG:09CE C9 40 - bcs IrqHandler_Loop50 ; CPU:$89D0 PRG:09D0 B0 53 + bcs IrqHandler_Loop54 ; CPU:$89D0 PRG:09D0 B0 53 rts ; CPU:$89D2 PRG:09D2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_89D3 -; Global: Branch target inside Label: taken when 89D3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 89D3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2386,25 +2463,61 @@ Sub_89D3: jsr Sub_99AC ; CPU:$89D3 PRG:09D3 20 AC 99 jsr Sub_A168 ; CPU:$89D6 PRG:09D6 20 68 A1 jmp Sub_88E6 ; CPU:$89D9 PRG:09D9 4C E6 88 -; ---- data $89DC-$89F8 (29 bytes) ---- - .byte $20, $00, $9A, $20, $EA, $D9, $C9, $58, $F0, $07, $C9, $53, $F0, $0F, $4C, $DF ; CPU:$89DC PRG:09DC 20 00 9A 20 EA D9 C9 58 F0 07 C9 53 F0 0F 4C DF - .byte $89, $20, $0D, $8E, $A5, $30, $29, $FC, $85, $30, $4C, $8B, $88 ; CPU:$89EC PRG:09EC 89 20 0D 8E A5 30 29 FC 85 30 4C 8B 88 ; ----------------------------------------------------------------------------- -; Routine: Sub_89F9 -; Global: Branch target inside Label: taken when 89F9. +; Routine: Label_89DC +; Global: Branch target inside Label: taken when 89DC. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_89F9: +Label_89DC: + jsr Sub_9A00 ; CPU:$89DC PRG:09DC 20 00 9A +; ----------------------------------------------------------------------------- +; Routine: Sub_89DF +; Global: Branch target inside Sub: taken when 89DF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_89DF: + jsr Sub_D9EA ; CPU:$89DF PRG:09DF 20 EA D9 + cmp #$58 ; CPU:$89E2 PRG:09E2 C9 58 + beq IrqHandler_Loop51 ; CPU:$89E4 PRG:09E4 F0 07 + cmp #$53 ; CPU:$89E6 PRG:09E6 C9 53 + beq IrqHandler_Loop52 ; CPU:$89E8 PRG:09E8 F0 0F + jmp Sub_89DF ; CPU:$89EA PRG:09EA 4C DF 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop51 +; Global: Branch target inside IrqHandler: taken when Loop51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop51: + jsr Sub_8E0D ; CPU:$89ED PRG:09ED 20 0D 8E + lda Zp30 ; CPU:$89F0 PRG:09F0 A5 30 + and #$FC ; CPU:$89F2 PRG:09F2 29 FC + sta Zp30 ; CPU:$89F4 PRG:09F4 85 30 + jmp Sub_888B ; CPU:$89F6 PRG:09F6 4C 8B 88 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop52 +; Global: Branch target inside IrqHandler: taken when Loop52. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop52: pla ; CPU:$89F9 PRG:09F9 68 pla ; CPU:$89FA PRG:09FA 68 jmp Sub_80DD ; CPU:$89FB PRG:09FB 4C DD 80 ; ----------------------------------------------------------------------------- ; Routine: Sub_89FE -; Global: Branch target inside Label: taken when 89FE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 89FE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2414,76 +2527,76 @@ Sub_89FE: jsr Sub_DB0F ; CPU:$8A00 PRG:0A00 20 0F DB jsr Sub_8E27 ; CPU:$8A03 PRG:0A03 20 27 8E jsr Sub_9A9F ; CPU:$8A06 PRG:0A06 20 9F 9A - lda Zp2E ; CPU:$8A09 PRG:0A09 A5 2E + lda CursorMoved ; CPU:$8A09 PRG:0A09 A5 2E and #$02 ; CPU:$8A0B PRG:0A0B 29 02 - beq IrqHandler_Loop49 ; CPU:$8A0D PRG:0A0D F0 0B + beq IrqHandler_Loop53 ; CPU:$8A0D PRG:0A0D F0 0B lda #$00 ; CPU:$8A0F PRG:0A0F A9 00 sta Zp3D ; CPU:$8A11 PRG:0A11 85 3D lda #$40 ; CPU:$8A13 PRG:0A13 A9 40 sta Zp3B ; CPU:$8A15 PRG:0A15 85 3B jmp Sub_8A5A ; CPU:$8A17 PRG:0A17 4C 5A 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop49 -; Global: Branch target inside Label: taken when 8A1A. -; Local: Part of Label. +; Routine: IrqHandler_Loop53 +; Global: Branch target inside IrqHandler: taken when Loop53. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop49: +IrqHandler_Loop53: lda #$00 ; CPU:$8A1A PRG:0A1A A9 00 sta Zp3B ; CPU:$8A1C PRG:0A1C 85 3B lda #$40 ; CPU:$8A1E PRG:0A1E A9 40 sta Zp3D ; CPU:$8A20 PRG:0A20 85 3D - jmp IrqHandler_Loop52 ; CPU:$8A22 PRG:0A22 4C 71 8A + jmp IrqHandler_Loop56 ; CPU:$8A22 PRG:0A22 4C 71 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop50 -; Global: Branch target inside Label: taken when 8A25. -; Local: Part of Label. +; Routine: IrqHandler_Loop54 +; Global: Branch target inside IrqHandler: taken when Loop54. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop50: +IrqHandler_Loop54: jsr Sub_8E27 ; CPU:$8A25 PRG:0A25 20 27 8E lda #$0E ; CPU:$8A28 PRG:0A28 A9 0E jsr Sub_DB0F ; CPU:$8A2A PRG:0A2A 20 0F DB jsr Sub_9A35 ; CPU:$8A2D PRG:0A2D 20 35 9A - lda Zp2F ; CPU:$8A30 PRG:0A30 A5 2F - beq IrqHandler_Loop53 ; CPU:$8A32 PRG:0A32 F0 54 + lda PlayerSide ; CPU:$8A30 PRG:0A30 A5 2F + beq IrqHandler_Loop57 ; CPU:$8A32 PRG:0A32 F0 54 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero5 -; Global: Branch target inside Label: taken when 8A34. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero5: - lda Zp2F ; CPU:$8A34 PRG:0A34 A5 2F + lda PlayerSide ; CPU:$8A34 PRG:0A34 A5 2F and #$03 ; CPU:$8A36 PRG:0A36 29 03 cmp #$02 ; CPU:$8A38 PRG:0A38 C9 02 - bne IrqHandler_Loop51 ; CPU:$8A3A PRG:0A3A D0 09 + bne IrqHandler_Loop55 ; CPU:$8A3A PRG:0A3A D0 09 lda Zp06 ; CPU:$8A3C PRG:0A3C A5 06 and #$20 ; CPU:$8A3E PRG:0A3E 29 20 - beq IrqHandler_Loop51 ; CPU:$8A40 PRG:0A40 F0 03 + beq IrqHandler_Loop55 ; CPU:$8A40 PRG:0A40 F0 03 jmp Sub_8B67 ; CPU:$8A42 PRG:0A42 4C 67 8B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop51 -; Global: Branch target inside Label: taken when 8A45. -; Local: Part of Label. +; Routine: IrqHandler_Loop55 +; Global: Branch target inside IrqHandler: taken when Loop55. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop51: +IrqHandler_Loop55: jsr Sub_D9EA ; CPU:$8A45 PRG:0A45 20 EA D9 cmp #$53 ; CPU:$8A48 PRG:0A48 C9 53 bne IrqHandler_OnNonzero5 ; CPU:$8A4A PRG:0A4A D0 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A4C -; Global: Branch target inside Label: taken when 8A4C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8A4C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2493,116 +2606,116 @@ Sub_8A4C: jsr Sub_8C8C ; CPU:$8A4F PRG:0A4F 20 8C 8C lda Zp3B ; CPU:$8A52 PRG:0A52 A5 3B cmp Zp3D ; CPU:$8A54 PRG:0A54 C5 3D - beq IrqHandler_Loop55 ; CPU:$8A56 PRG:0A56 F0 48 - bcc IrqHandler_Loop52 ; CPU:$8A58 PRG:0A58 90 17 + beq IrqHandler_Loop59 ; CPU:$8A56 PRG:0A56 F0 48 + bcc IrqHandler_Loop56 ; CPU:$8A58 PRG:0A58 90 17 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A5A -; Global: Branch target inside Label: taken when 8A5A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8A5A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8A5A: - lda Zp2E ; CPU:$8A5A PRG:0A5A A5 2E + lda CursorMoved ; CPU:$8A5A PRG:0A5A A5 2E and #$FD ; CPU:$8A5C PRG:0A5C 29 FD - sta Zp2E ; CPU:$8A5E PRG:0A5E 85 2E + sta CursorMoved ; CPU:$8A5E PRG:0A5E 85 2E jsr Sub_8E93 ; CPU:$8A60 PRG:0A60 20 93 8E jsr Sub_99DA ; CPU:$8A63 PRG:0A63 20 DA 99 - lda Zp2F ; CPU:$8A66 PRG:0A66 A5 2F + lda PlayerSide ; CPU:$8A66 PRG:0A66 A5 2F cmp #$02 ; CPU:$8A68 PRG:0A68 C9 02 - beq IrqHandler_Loop54 ; CPU:$8A6A PRG:0A6A F0 2C - bcs IrqHandler_Loop56 ; CPU:$8A6C PRG:0A6C B0 3D + beq IrqHandler_Loop58 ; CPU:$8A6A PRG:0A6A F0 2C + bcs IrqHandler_Loop60 ; CPU:$8A6C PRG:0A6C B0 3D jmp Sub_8AC0 ; CPU:$8A6E PRG:0A6E 4C C0 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop52 -; Global: Branch target inside Label: taken when 8A71. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop52: - lda Zp2E ; CPU:$8A71 PRG:0A71 A5 2E - ora #$02 ; CPU:$8A73 PRG:0A73 09 02 - sta Zp2E ; CPU:$8A75 PRG:0A75 85 2E - jsr Sub_8E93 ; CPU:$8A77 PRG:0A77 20 93 8E - jsr Sub_99DA ; CPU:$8A7A PRG:0A7A 20 DA 99 - lda Zp2F ; CPU:$8A7D PRG:0A7D A5 2F - cmp #$02 ; CPU:$8A7F PRG:0A7F C9 02 - beq IrqHandler_Loop54 ; CPU:$8A81 PRG:0A81 F0 15 - bcc IrqHandler_Loop56 ; CPU:$8A83 PRG:0A83 90 26 - jmp Sub_8AC0 ; CPU:$8A85 PRG:0A85 4C C0 8A -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop53 -; Global: Branch target inside Label: taken when 8A88. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop53: - lda #$40 ; CPU:$8A88 PRG:0A88 A9 40 - jsr IrqHandler_OnNonzero18 ; CPU:$8A8A PRG:0A8A 20 A0 A2 - jsr Sub_8D03 ; CPU:$8A8D PRG:0A8D 20 03 8D - lda #$60 ; CPU:$8A90 PRG:0A90 A9 60 - jsr IrqHandler_OnNonzero18 ; CPU:$8A92 PRG:0A92 20 A0 A2 - jmp Sub_89F9 ; CPU:$8A95 PRG:0A95 4C F9 89 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop54 -; Global: Branch target inside Label: taken when 8A98. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop54: - lda #$03 ; CPU:$8A98 PRG:0A98 A9 03 - jsr Sub_DB0F ; CPU:$8A9A PRG:0A9A 20 0F DB - jmp Sub_8ADB ; CPU:$8A9D PRG:0A9D 4C DB 8A -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop55 -; Global: Branch target inside Label: taken when 8AA0. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop55: - lda #$0D ; CPU:$8AA0 PRG:0AA0 A9 0D - jsr Sub_DB0F ; CPU:$8AA2 PRG:0AA2 20 0F DB - jsr Sub_99E0 ; CPU:$8AA5 PRG:0AA5 20 E0 99 - jmp Sub_8ADB ; CPU:$8AA8 PRG:0AA8 4C DB 8A -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop56 -; Global: Branch target inside Label: taken when 8AAB. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop56. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop56: - lda $0122 ; CPU:$8AAB PRG:0AAB AD 22 01 - cmp #$05 ; CPU:$8AAE PRG:0AAE C9 05 - bne IrqHandler_Loop57 ; CPU:$8AB0 PRG:0AB0 D0 06 - dec $0122 ; CPU:$8AB2 PRG:0AB2 CE 22 01 - jsr Sub_8B45 ; CPU:$8AB5 PRG:0AB5 20 45 8B + lda CursorMoved ; CPU:$8A71 PRG:0A71 A5 2E + ora #$02 ; CPU:$8A73 PRG:0A73 09 02 + sta CursorMoved ; CPU:$8A75 PRG:0A75 85 2E + jsr Sub_8E93 ; CPU:$8A77 PRG:0A77 20 93 8E + jsr Sub_99DA ; CPU:$8A7A PRG:0A7A 20 DA 99 + lda PlayerSide ; CPU:$8A7D PRG:0A7D A5 2F + cmp #$02 ; CPU:$8A7F PRG:0A7F C9 02 + beq IrqHandler_Loop58 ; CPU:$8A81 PRG:0A81 F0 15 + bcc IrqHandler_Loop60 ; CPU:$8A83 PRG:0A83 90 26 + jmp Sub_8AC0 ; CPU:$8A85 PRG:0A85 4C C0 8A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop57 -; Global: Branch target inside Label: taken when 8AB8. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when Loop57. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop57: + lda #$40 ; CPU:$8A88 PRG:0A88 A9 40 + jsr IrqHandler_OnNonzero20 ; CPU:$8A8A PRG:0A8A 20 A0 A2 + jsr Sub_8D03 ; CPU:$8A8D PRG:0A8D 20 03 8D + lda #$60 ; CPU:$8A90 PRG:0A90 A9 60 + jsr IrqHandler_OnNonzero20 ; CPU:$8A92 PRG:0A92 20 A0 A2 + jmp IrqHandler_Loop52 ; CPU:$8A95 PRG:0A95 4C F9 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop58 +; Global: Branch target inside IrqHandler: taken when Loop58. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop58: + lda #$03 ; CPU:$8A98 PRG:0A98 A9 03 + jsr Sub_DB0F ; CPU:$8A9A PRG:0A9A 20 0F DB + jmp Sub_8ADB ; CPU:$8A9D PRG:0A9D 4C DB 8A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop59 +; Global: Branch target inside IrqHandler: taken when Loop59. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop59: + lda #$0D ; CPU:$8AA0 PRG:0AA0 A9 0D + jsr Sub_DB0F ; CPU:$8AA2 PRG:0AA2 20 0F DB + jsr Sub_99E0 ; CPU:$8AA5 PRG:0AA5 20 E0 99 + jmp Sub_8ADB ; CPU:$8AA8 PRG:0AA8 4C DB 8A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop60 +; Global: Branch target inside IrqHandler: taken when Loop60. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop60: + lda $0122 ; CPU:$8AAB PRG:0AAB AD 22 01 + cmp #$05 ; CPU:$8AAE PRG:0AAE C9 05 + bne IrqHandler_Loop61 ; CPU:$8AB0 PRG:0AB0 D0 06 + dec $0122 ; CPU:$8AB2 PRG:0AB2 CE 22 01 + jsr Sub_8B45 ; CPU:$8AB5 PRG:0AB5 20 45 8B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop61 +; Global: Branch target inside IrqHandler: taken when Loop61. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop61: lda #$04 ; CPU:$8AB8 PRG:0AB8 A9 04 jsr Sub_DB0F ; CPU:$8ABA PRG:0ABA 20 0F DB jmp Sub_8ADB ; CPU:$8ABD PRG:0ABD 4C DB 8A ; ----------------------------------------------------------------------------- ; Routine: Sub_8AC0 -; Global: Branch target inside Label: taken when 8AC0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8AC0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2612,37 +2725,37 @@ Sub_8AC0: jsr Sub_DB0F ; CPU:$8AC2 PRG:0AC2 20 0F DB lda $0122 ; CPU:$8AC5 PRG:0AC5 AD 22 01 cmp #$05 ; CPU:$8AC8 PRG:0AC8 C9 05 - beq IrqHandler_Loop61 ; CPU:$8ACA PRG:0ACA F0 54 + beq IrqHandler_Loop65 ; CPU:$8ACA PRG:0ACA F0 54 lda $0101 ; CPU:$8ACC PRG:0ACC AD 01 01 - beq IrqHandler_Loop58 ; CPU:$8ACF PRG:0ACF F0 07 + beq IrqHandler_Loop62 ; CPU:$8ACF PRG:0ACF F0 07 lda $0122 ; CPU:$8AD1 PRG:0AD1 AD 22 01 cmp #$04 ; CPU:$8AD4 PRG:0AD4 C9 04 - beq IrqHandler_Loop59 ; CPU:$8AD6 PRG:0AD6 F0 12 + beq IrqHandler_Loop63 ; CPU:$8AD6 PRG:0AD6 F0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop58 -; Global: Branch target inside Label: taken when 8AD8. -; Local: Part of Label. +; Routine: IrqHandler_Loop62 +; Global: Branch target inside IrqHandler: taken when Loop62. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop58: +IrqHandler_Loop62: jmp Sub_8ADB ; CPU:$8AD8 PRG:0AD8 4C DB 8A ; ----------------------------------------------------------------------------- ; Routine: Sub_8ADB -; Global: Branch target inside Label: taken when 8ADB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8ADB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8ADB: lda #$80 ; CPU:$8ADB PRG:0ADB A9 80 - jsr IrqHandler_OnNonzero18 ; CPU:$8ADD PRG:0ADD 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8ADD PRG:0ADD 20 A0 A2 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero6 -; Global: Branch target inside Label: taken when 8AE0. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2651,18 +2764,18 @@ IrqHandler_OnNonzero6: jsr Sub_D9EA ; CPU:$8AE0 PRG:0AE0 20 EA D9 cmp #$53 ; CPU:$8AE3 PRG:0AE3 C9 53 bne IrqHandler_OnNonzero6 ; CPU:$8AE5 PRG:0AE5 D0 F9 - jmp Sub_89F9 ; CPU:$8AE7 PRG:0AE7 4C F9 89 + jmp IrqHandler_Loop52 ; CPU:$8AE7 PRG:0AE7 4C F9 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop59 -; Global: Branch target inside Label: taken when 8AEA. -; Local: Part of Label. +; Routine: IrqHandler_Loop63 +; Global: Branch target inside IrqHandler: taken when Loop63. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop59: +IrqHandler_Loop63: lda #$B8 ; CPU:$8AEA PRG:0AEA A9 B8 - jsr IrqHandler_OnNonzero18 ; CPU:$8AEC PRG:0AEC 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8AEC PRG:0AEC 20 A0 A2 jsr Sub_A582 ; CPU:$8AEF PRG:0AEF 20 82 A5 lda #$05 ; CPU:$8AF2 PRG:0AF2 A9 05 sta $0122 ; CPU:$8AF4 PRG:0AF4 8D 22 01 @@ -2670,27 +2783,27 @@ IrqHandler_Loop59: sta $0123 ; CPU:$8AF9 PRG:0AF9 8D 23 01 lda #$3C ; CPU:$8AFC PRG:0AFC A9 3C sta Zp30 ; CPU:$8AFE PRG:0AFE 85 30 - lda Zp2F ; CPU:$8B00 PRG:0B00 A5 2F + lda PlayerSide ; CPU:$8B00 PRG:0B00 A5 2F and #$02 ; CPU:$8B02 PRG:0B02 29 02 - bne IrqHandler_Loop60 ; CPU:$8B04 PRG:0B04 D0 08 + bne IrqHandler_Loop64 ; CPU:$8B04 PRG:0B04 D0 08 lda #$35 ; CPU:$8B06 PRG:0B06 A9 35 sta $0114 ; CPU:$8B08 PRG:0B08 8D 14 01 jmp IrqHandler_OnNonzero7 ; CPU:$8B0B PRG:0B0B 4C 13 8B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop60 -; Global: Branch target inside Label: taken when 8B0E. -; Local: Part of Label. +; Routine: IrqHandler_Loop64 +; Global: Branch target inside IrqHandler: taken when Loop64. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop60: +IrqHandler_Loop64: lda #$35 ; CPU:$8B0E PRG:0B0E A9 35 sta $010A ; CPU:$8B10 PRG:0B10 8D 0A 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero7 -; Global: Branch target inside Label: taken when 8B13. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero7. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2700,122 +2813,123 @@ IrqHandler_OnNonzero7: cmp #$53 ; CPU:$8B16 PRG:0B16 C9 53 bne IrqHandler_OnNonzero7 ; CPU:$8B18 PRG:0B18 D0 F9 jsr Sub_D6FD ; CPU:$8B1A PRG:0B1A 20 FD D6 - jmp Sub_89F9 ; CPU:$8B1D PRG:0B1D 4C F9 89 + jmp IrqHandler_Loop52 ; CPU:$8B1D PRG:0B1D 4C F9 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop61 -; Global: Branch target inside Label: taken when 8B20. -; Local: Part of Label. +; Routine: IrqHandler_Loop65 +; Global: Branch target inside IrqHandler: taken when Loop65. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop61: +IrqHandler_Loop65: lda $0101 ; CPU:$8B20 PRG:0B20 AD 01 01 - beq IrqHandler_Loop62 ; CPU:$8B23 PRG:0B23 F0 15 + beq IrqHandler_Loop66 ; CPU:$8B23 PRG:0B23 F0 15 lda #$B8 ; CPU:$8B25 PRG:0B25 A9 B8 - jsr IrqHandler_OnNonzero18 ; CPU:$8B27 PRG:0B27 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8B27 PRG:0B27 20 A0 A2 jsr Sub_A6EC ; CPU:$8B2A PRG:0B2A 20 EC A6 lda #$04 ; CPU:$8B2D PRG:0B2D A9 04 sta $0122 ; CPU:$8B2F PRG:0B2F 8D 22 01 lda #$80 ; CPU:$8B32 PRG:0B32 A9 80 sta $0100 ; CPU:$8B34 PRG:0B34 8D 00 01 - jmp Sub_89F9 ; CPU:$8B37 PRG:0B37 4C F9 89 + jmp IrqHandler_Loop52 ; CPU:$8B37 PRG:0B37 4C F9 89 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop62 -; Global: Branch target inside Label: taken when 8B3A. -; Local: Part of Label. +; Routine: IrqHandler_Loop66 +; Global: Branch target inside IrqHandler: taken when Loop66. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop62: +IrqHandler_Loop66: lda #$04 ; CPU:$8B3A PRG:0B3A A9 04 sta $0122 ; CPU:$8B3C PRG:0B3C 8D 22 01 jsr Sub_8B45 ; CPU:$8B3F PRG:0B3F 20 45 8B jmp Sub_8ADB ; CPU:$8B42 PRG:0B42 4C DB 8A ; ----------------------------------------------------------------------------- ; Routine: Sub_8B45 -; Global: Branch target inside Label: taken when 8B45. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8B45. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8B45: - lda Zp2F ; CPU:$8B45 PRG:0B45 A5 2F + lda PlayerSide ; CPU:$8B45 PRG:0B45 A5 2F and #$02 ; CPU:$8B47 PRG:0B47 29 02 - bne IrqHandler_Loop63 ; CPU:$8B49 PRG:0B49 D0 06 + bne IrqHandler_Loop67 ; CPU:$8B49 PRG:0B49 D0 06 lda #$34 ; CPU:$8B4B PRG:0B4B A9 34 sta $0114 ; CPU:$8B4D PRG:0B4D 8D 14 01 rts ; CPU:$8B50 PRG:0B50 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop63 -; Global: Branch target inside Label: taken when 8B51. -; Local: Part of Label. +; Routine: IrqHandler_Loop67 +; Global: Branch target inside IrqHandler: taken when Loop67. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop63: +IrqHandler_Loop67: lda #$34 ; CPU:$8B51 PRG:0B51 A9 34 sta $010A ; CPU:$8B53 PRG:0B53 8D 0A 01 rts ; CPU:$8B56 PRG:0B56 60 ; ---- data $8B57-$8B66 (16 bytes) ---- - .byte $D7, $22, $04, $03, $53, $4C, $4F, $54, $20, $20, $20, $20, $47, $41, $4D, $45 ; CPU:$8B57 PRG:0B57 D7 22 04 03 53 4C 4F 54 20 20 20 20 47 41 4D 45 +SlotGameText: + .byte $D7, $22, $04, $03, $53, $4C, $4F, $54, $20, $20, $20, $20, $47, $41, $4D, $45 ; CPU:$8B57 PRG:-34A9 D7 22 04 03 53 4C 4F 54 20 20 20 20 47 41 4D 45 ; ----------------------------------------------------------------------------- ; Routine: Sub_8B67 -; Global: Branch target inside Label: taken when 8B67. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8B67. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8B67: lda Zp06 ; CPU:$8B67 PRG:0B67 A5 06 - bmi IrqHandler_Loop64 ; CPU:$8B69 PRG:0B69 30 07 + bmi IrqHandler_Loop68 ; CPU:$8B69 PRG:0B69 30 07 lda Zp07 ; CPU:$8B6B PRG:0B6B A5 07 - bmi IrqHandler_Loop65 ; CPU:$8B6D PRG:0B6D 30 18 - jmp IrqHandler_Loop51 ; CPU:$8B6F PRG:0B6F 4C 45 8A + bmi IrqHandler_Loop69 ; CPU:$8B6D PRG:0B6D 30 18 + jmp IrqHandler_Loop55 ; CPU:$8B6F PRG:0B6F 4C 45 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop64 -; Global: Branch target inside Label: taken when 8B72. -; Local: Part of Label. +; Routine: IrqHandler_Loop68 +; Global: Branch target inside IrqHandler: taken when Loop68. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop64: - lda Zp2E ; CPU:$8B72 PRG:0B72 A5 2E +IrqHandler_Loop68: + lda CursorMoved ; CPU:$8B72 PRG:0B72 A5 2E ora #$02 ; CPU:$8B74 PRG:0B74 09 02 - sta Zp2E ; CPU:$8B76 PRG:0B76 85 2E + sta CursorMoved ; CPU:$8B76 PRG:0B76 85 2E jsr Sub_8B9C ; CPU:$8B78 PRG:0B78 20 9C 8B - lda Zp2E ; CPU:$8B7B PRG:0B7B A5 2E + lda CursorMoved ; CPU:$8B7B PRG:0B7B A5 2E and #$FD ; CPU:$8B7D PRG:0B7D 29 FD - sta Zp2E ; CPU:$8B7F PRG:0B7F 85 2E + sta CursorMoved ; CPU:$8B7F PRG:0B7F 85 2E jsr Sub_8B9C ; CPU:$8B81 PRG:0B81 20 9C 8B jmp Sub_8BD9 ; CPU:$8B84 PRG:0B84 4C D9 8B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop65 -; Global: Branch target inside Label: taken when 8B87. -; Local: Part of Label. +; Routine: IrqHandler_Loop69 +; Global: Branch target inside IrqHandler: taken when Loop69. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop65: - lda Zp2E ; CPU:$8B87 PRG:0B87 A5 2E +IrqHandler_Loop69: + lda CursorMoved ; CPU:$8B87 PRG:0B87 A5 2E and #$FD ; CPU:$8B89 PRG:0B89 29 FD - sta Zp2E ; CPU:$8B8B PRG:0B8B 85 2E + sta CursorMoved ; CPU:$8B8B PRG:0B8B 85 2E jsr Sub_8B9C ; CPU:$8B8D PRG:0B8D 20 9C 8B - lda Zp2E ; CPU:$8B90 PRG:0B90 A5 2E + lda CursorMoved ; CPU:$8B90 PRG:0B90 A5 2E ora #$02 ; CPU:$8B92 PRG:0B92 09 02 - sta Zp2E ; CPU:$8B94 PRG:0B94 85 2E + sta CursorMoved ; CPU:$8B94 PRG:0B94 85 2E jsr Sub_8B9C ; CPU:$8B96 PRG:0B96 20 9C 8B jmp Sub_8BD9 ; CPU:$8B99 PRG:0B99 4C D9 8B ; ----------------------------------------------------------------------------- ; Routine: Sub_8B9C -; Global: Branch target inside Label: taken when 8B9C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8B9C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2827,13 +2941,13 @@ Sub_8B9C: .byte $57, $8B ; CPU:$8BA5 PRG:0BA5 57 8B -- sre Zp8B,y (undocumented; ca65 cannot encode) jsr Sub_8E8C ; CPU:$8BA7 PRG:0BA7 20 8C 8E lda #$50 ; CPU:$8BAA PRG:0BAA A9 50 - jsr IrqHandler_OnNonzero18 ; CPU:$8BAC PRG:0BAC 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8BAC PRG:0BAC 20 A0 A2 jsr Sub_8BF7 ; CPU:$8BAF PRG:0BAF 20 F7 8B jsr Sub_97F8 ; CPU:$8BB2 PRG:0BB2 20 F8 97 jsr Sub_9F19 ; CPU:$8BB5 PRG:0BB5 20 19 9F jsr Sub_8C16 ; CPU:$8BB8 PRG:0BB8 20 16 8C lda #$1E ; CPU:$8BBB PRG:0BBB A9 1E - jsr IrqHandler_OnNonzero18 ; CPU:$8BBD PRG:0BBD 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8BBD PRG:0BBD 20 A0 A2 lda #$30 ; CPU:$8BC0 PRG:0BC0 A9 30 sta $0119 ; CPU:$8BC2 PRG:0BC2 8D 19 01 jsr Sub_A0C3 ; CPU:$8BC5 PRG:0BC5 20 C3 A0 @@ -2846,8 +2960,8 @@ Sub_8B9C: rts ; CPU:$8BD8 PRG:0BD8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8BD9 -; Global: Branch target inside Label: taken when 8BD9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8BD9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2860,8 +2974,8 @@ Sub_8BD9: jsr Sub_D6E2 ; CPU:$8BE4 PRG:0BE4 20 E2 D6 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero8 -; Global: Branch target inside Label: taken when 8BE7. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2875,8 +2989,8 @@ IrqHandler_OnNonzero8: jmp Sub_8A4C ; CPU:$8BF4 PRG:0BF4 4C 4C 8A ; ----------------------------------------------------------------------------- ; Routine: Sub_8BF7 -; Global: Branch target inside Label: taken when 8BF7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8BF7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2890,24 +3004,24 @@ Sub_8BF7: sta $0124 ; CPU:$8C04 PRG:0C04 8D 24 01 lda $0103 ; CPU:$8C07 PRG:0C07 AD 03 01 cmp #$02 ; CPU:$8C0A PRG:0C0A C9 02 - bne IrqHandler_Loop66 ; CPU:$8C0C PRG:0C0C D0 04 + bne IrqHandler_Loop70 ; CPU:$8C0C PRG:0C0C D0 04 jsr Sub_9E05 ; CPU:$8C0E PRG:0C0E 20 05 9E rts ; CPU:$8C11 PRG:0C11 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop66 -; Global: Branch target inside Label: taken when 8C12. -; Local: Part of Label. +; Routine: IrqHandler_Loop70 +; Global: Branch target inside IrqHandler: taken when Loop70. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop66: +IrqHandler_Loop70: jsr Sub_9E47 ; CPU:$8C12 PRG:0C12 20 47 9E rts ; CPU:$8C15 PRG:0C15 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8C16 -; Global: Branch target inside Label: taken when 8C16. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8C16. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2915,52 +3029,91 @@ IrqHandler_Loop66: Sub_8C16: jsr Sub_97F8 ; CPU:$8C16 PRG:0C16 20 F8 97 jsr Sub_9479 ; CPU:$8C19 PRG:0C19 20 79 94 - lda ZpA5,x ; CPU:$8C1C PRG:0C1C B5 A5 + lda CellPatternIndex,x ; CPU:$8C1C PRG:0C1C B5 A5 and #$03 ; CPU:$8C1E PRG:0C1E 29 03 - beq IrqHandler_Loop68 ; CPU:$8C20 PRG:0C20 F0 0B + beq IrqHandler_Loop72 ; CPU:$8C20 PRG:0C20 F0 0B cmp #$01 ; CPU:$8C22 PRG:0C22 C9 01 - beq IrqHandler_Loop67 ; CPU:$8C24 PRG:0C24 F0 05 + beq IrqHandler_Loop71 ; CPU:$8C24 PRG:0C24 F0 05 dec Zp3B ; CPU:$8C26 PRG:0C26 C6 3B - jmp IrqHandler_Loop68 ; CPU:$8C28 PRG:0C28 4C 2D 8C + jmp IrqHandler_Loop72 ; CPU:$8C28 PRG:0C28 4C 2D 8C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop67 -; Global: Branch target inside Label: taken when 8C2B. -; Local: Part of Label. +; Routine: IrqHandler_Loop71 +; Global: Branch target inside IrqHandler: taken when Loop71. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop67: +IrqHandler_Loop71: dec Zp3D ; CPU:$8C2B PRG:0C2B C6 3D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop68 -; Global: Branch target inside Label: taken when 8C2D. -; Local: Part of Label. +; Routine: IrqHandler_Loop72 +; Global: Branch target inside IrqHandler: taken when Loop72. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop68: +IrqHandler_Loop72: lda #$14 ; CPU:$8C2D PRG:0C2D A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8C2F PRG:0C2F 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8C2F PRG:0C2F 20 A0 A2 lda #$07 ; CPU:$8C32 PRG:0C32 A9 07 jsr Sub_DB0F ; CPU:$8C34 PRG:0C34 20 0F DB jsr Sub_8F65 ; CPU:$8C37 PRG:0C37 20 65 8F lda #$14 ; CPU:$8C3A PRG:0C3A A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$8C3C PRG:0C3C 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8C3C PRG:0C3C 20 A0 A2 jsr Sub_9DB6 ; CPU:$8C3F PRG:0C3F 20 B6 9D jsr Sub_8E2F ; CPU:$8C42 PRG:0C42 20 2F 8E jmp Sub_8F95 ; CPU:$8C45 PRG:0C45 4C 95 8F -; ---- data $8C48-$8C8B (68 bytes) ---- - .byte $20, $F7, $8B, $20, $16, $8C, $A5, $3D, $F0, $16, $A5, $3B, $F0, $12, $18, $65 ; CPU:$8C48 PRG:0C48 20 F7 8B 20 16 8C A5 3D F0 16 A5 3B F0 12 18 65 - .byte $3D, $C9, $40, $B0, $0B, $EE, $02, $01, $AD, $02, $01, $C9, $A0, $B0, $01, $60 ; CPU:$8C58 PRG:0C58 3D C9 40 B0 0B EE 02 01 AD 02 01 C9 A0 B0 01 60 - .byte $A9, $30, $8D, $19, $01, $20, $C3, $A0, $A9, $34, $8D, $19, $01, $20, $C3, $A0 ; CPU:$8C68 PRG:0C68 A9 30 8D 19 01 20 C3 A0 A9 34 8D 19 01 20 C3 A0 - .byte $A9, $80, $8D, $00, $01, $4C, $25, $8A, $15, $23, $08, $01, $50, $55, $53, $48 ; CPU:$8C78 PRG:0C78 A9 80 8D 00 01 4C 25 8A 15 23 08 01 50 55 53 48 - .byte $20, $27, $42, $27 ; CPU:$8C88 PRG:0C88 20 27 42 27 +; ----------------------------------------------------------------------------- +; Routine: Label_8C48 +; Global: Branch target inside Label: taken when 8C48. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C48: + jsr Sub_8BF7 ; CPU:$8C48 PRG:0C48 20 F7 8B + jsr Sub_8C16 ; CPU:$8C4B PRG:0C4B 20 16 8C + lda Zp3D ; CPU:$8C4E PRG:0C4E A5 3D + beq IrqHandler_Loop73 ; CPU:$8C50 PRG:0C50 F0 16 + lda Zp3B ; CPU:$8C52 PRG:0C52 A5 3B + beq IrqHandler_Loop73 ; CPU:$8C54 PRG:0C54 F0 12 + clc ; CPU:$8C56 PRG:0C56 18 + adc Zp3D ; CPU:$8C57 PRG:0C57 65 3D + cmp #$40 ; CPU:$8C59 PRG:0C59 C9 40 + bcs IrqHandler_Loop73 ; CPU:$8C5B PRG:0C5B B0 0B + inc $0102 ; CPU:$8C5D PRG:0C5D EE 02 01 + lda $0102 ; CPU:$8C60 PRG:0C60 AD 02 01 + cmp #$A0 ; CPU:$8C63 PRG:0C63 C9 A0 + bcs IrqHandler_Loop73 ; CPU:$8C65 PRG:0C65 B0 01 + rts ; CPU:$8C67 PRG:0C67 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop73 +; Global: Branch target inside IrqHandler: taken when Loop73. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop73: + lda #$30 ; CPU:$8C68 PRG:0C68 A9 30 + sta $0119 ; CPU:$8C6A PRG:0C6A 8D 19 01 + jsr Sub_A0C3 ; CPU:$8C6D PRG:0C6D 20 C3 A0 + lda #$34 ; CPU:$8C70 PRG:0C70 A9 34 + sta $0119 ; CPU:$8C72 PRG:0C72 8D 19 01 + jsr Sub_A0C3 ; CPU:$8C75 PRG:0C75 20 C3 A0 + lda #$80 ; CPU:$8C78 PRG:0C78 A9 80 + sta $0100 ; CPU:$8C7A PRG:0C7A 8D 00 01 + jmp IrqHandler_Loop54 ; CPU:$8C7D PRG:0C7D 4C 25 8A +; ---- data $8C80-$8C8B (12 bytes) ---- +PushBButtonText: + .byte $15, $23, $08, $01, $50, $55, $53, $48, $20, $27, $42, $27 ; CPU:$8C80 PRG:-3380 15 23 08 01 50 55 53 48 20 27 42 27 ; ----------------------------------------------------------------------------- ; Routine: Sub_8C8C -; Global: Branch target inside Label: taken when 8C8C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8C8C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -2970,89 +3123,89 @@ Sub_8C8C: ora #$80 ; CPU:$8C8E PRG:0C8E 09 80 sta Zp30 ; CPU:$8C90 PRG:0C90 85 30 lda #$96 ; CPU:$8C92 PRG:0C92 A9 96 - sta Zp0F ; CPU:$8C94 PRG:0C94 85 0F + sta MoveDeltaX ; CPU:$8C94 PRG:0C94 85 0F lda #$22 ; CPU:$8C96 PRG:0C96 A9 22 - sta Zp10 ; CPU:$8C98 PRG:0C98 85 10 + sta MoveDeltaY ; CPU:$8C98 PRG:0C98 85 10 lda Zp3D ; CPU:$8C9A PRG:0C9A A5 3D cmp #$0A ; CPU:$8C9C PRG:0C9C C9 0A - bcs IrqHandler_Loop69 ; CPU:$8C9E PRG:0C9E B0 02 - dec Zp0F ; CPU:$8CA0 PRG:0CA0 C6 0F + bcs IrqHandler_Loop74 ; CPU:$8C9E PRG:0C9E B0 02 + dec MoveDeltaX ; CPU:$8CA0 PRG:0CA0 C6 0F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop69 -; Global: Branch target inside Label: taken when 8CA2. -; Local: Part of Label. +; Routine: IrqHandler_Loop74 +; Global: Branch target inside IrqHandler: taken when Loop74. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop69: +IrqHandler_Loop74: jsr Sub_8EBE ; CPU:$8CA2 PRG:0CA2 20 BE 8E - inc Zp0F ; CPU:$8CA5 PRG:0CA5 E6 0F - inc Zp0F ; CPU:$8CA7 PRG:0CA7 E6 0F - inc Zp0F ; CPU:$8CA9 PRG:0CA9 E6 0F + inc MoveDeltaX ; CPU:$8CA5 PRG:0CA5 E6 0F + inc MoveDeltaX ; CPU:$8CA7 PRG:0CA7 E6 0F + inc MoveDeltaX ; CPU:$8CA9 PRG:0CA9 E6 0F lda #$2D ; CPU:$8CAB PRG:0CAB A9 2D jsr Sub_8EFF ; CPU:$8CAD PRG:0CAD 20 FF 8E - inc Zp0F ; CPU:$8CB0 PRG:0CB0 E6 0F + inc MoveDeltaX ; CPU:$8CB0 PRG:0CB0 E6 0F lda Zp3B ; CPU:$8CB2 PRG:0CB2 A5 3B cmp #$0A ; CPU:$8CB4 PRG:0CB4 C9 0A - bcc IrqHandler_Loop70 ; CPU:$8CB6 PRG:0CB6 90 02 - inc Zp0F ; CPU:$8CB8 PRG:0CB8 E6 0F + bcc IrqHandler_Loop75 ; CPU:$8CB6 PRG:0CB6 90 02 + inc MoveDeltaX ; CPU:$8CB8 PRG:0CB8 E6 0F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop70 -; Global: Branch target inside Label: taken when 8CBA. -; Local: Part of Label. +; Routine: IrqHandler_Loop75 +; Global: Branch target inside IrqHandler: taken when Loop75. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop70: +IrqHandler_Loop75: jmp Sub_8EBE ; CPU:$8CBA PRG:0CBA 4C BE 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8CBD -; Global: Branch target inside Label: taken when 8CBD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8CBD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8CBD: - lda Zp2F ; CPU:$8CBD PRG:0CBD A5 2F - bne IrqHandler_Loop71 ; CPU:$8CBF PRG:0CBF D0 02 + lda PlayerSide ; CPU:$8CBD PRG:0CBD A5 2F + bne IrqHandler_Loop76 ; CPU:$8CBF PRG:0CBF D0 02 eor #$FF ; CPU:$8CC1 PRG:0CC1 49 FF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop71 -; Global: Branch target inside Label: taken when 8CC3. -; Local: Part of Label. +; Routine: IrqHandler_Loop76 +; Global: Branch target inside IrqHandler: taken when Loop76. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop71: - eor Zp2E ; CPU:$8CC3 PRG:0CC3 45 2E +IrqHandler_Loop76: + eor CursorMoved ; CPU:$8CC3 PRG:0CC3 45 2E and #$02 ; CPU:$8CC5 PRG:0CC5 29 02 - beq IrqHandler_Loop72 ; CPU:$8CC7 PRG:0CC7 F0 0B + beq IrqHandler_Loop77 ; CPU:$8CC7 PRG:0CC7 F0 0B lda #$00 ; CPU:$8CC9 PRG:0CC9 A9 00 - sta Zp36 ; CPU:$8CCB PRG:0CCB 85 36 + sta BoardState2 ; CPU:$8CCB PRG:0CCB 85 36 lda #$FF ; CPU:$8CCD PRG:0CCD A9 FF - sta Zp37 ; CPU:$8CCF PRG:0CCF 85 37 + sta BoardState ; CPU:$8CCF PRG:0CCF 85 37 jmp Sub_8CDC ; CPU:$8CD1 PRG:0CD1 4C DC 8C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop72 -; Global: Branch target inside Label: taken when 8CD4. -; Local: Part of Label. +; Routine: IrqHandler_Loop77 +; Global: Branch target inside IrqHandler: taken when Loop77. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop72: +IrqHandler_Loop77: lda #$07 ; CPU:$8CD4 PRG:0CD4 A9 07 - sta Zp36 ; CPU:$8CD6 PRG:0CD6 85 36 + sta BoardState2 ; CPU:$8CD6 PRG:0CD6 85 36 lda #$08 ; CPU:$8CD8 PRG:0CD8 A9 08 - sta Zp37 ; CPU:$8CDA PRG:0CDA 85 37 + sta BoardState ; CPU:$8CDA PRG:0CDA 85 37 ; ----------------------------------------------------------------------------- ; Routine: Sub_8CDC -; Global: Branch target inside Label: taken when 8CDC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8CDC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3061,73 +3214,73 @@ Sub_8CDC: jmp Sub_9D0A ; CPU:$8CDC PRG:0CDC 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_8CDF -; Global: Branch target inside Label: taken when 8CDF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8CDF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8CDF: - lda Zp2F ; CPU:$8CDF PRG:0CDF A5 2F - beq IrqHandler_Loop73 ; CPU:$8CE1 PRG:0CE1 F0 09 + lda PlayerSide ; CPU:$8CDF PRG:0CDF A5 2F + beq IrqHandler_Loop78 ; CPU:$8CE1 PRG:0CE1 F0 09 cmp #$02 ; CPU:$8CE3 PRG:0CE3 C9 02 - beq IrqHandler_Loop74 ; CPU:$8CE5 PRG:0CE5 F0 07 - eor Zp2E ; CPU:$8CE7 PRG:0CE7 45 2E + beq IrqHandler_Loop79 ; CPU:$8CE5 PRG:0CE5 F0 07 + eor CursorMoved ; CPU:$8CE7 PRG:0CE7 45 2E and #$02 ; CPU:$8CE9 PRG:0CE9 29 02 rts ; CPU:$8CEB PRG:0CEB 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop73 -; Global: Branch target inside Label: taken when 8CEC. -; Local: Part of Label. +; Routine: IrqHandler_Loop78 +; Global: Branch target inside IrqHandler: taken when Loop78. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop73: +IrqHandler_Loop78: lda #$01 ; CPU:$8CEC PRG:0CEC A9 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop74 -; Global: Branch target inside Label: taken when 8CEE. -; Local: Part of Label. +; Routine: IrqHandler_Loop79 +; Global: Branch target inside IrqHandler: taken when Loop79. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop74: +IrqHandler_Loop79: rts ; CPU:$8CEE PRG:0CEE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8CEF -; Global: Branch target inside Label: taken when 8CEF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8CEF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8CEF: - lda Zp2F ; CPU:$8CEF PRG:0CEF A5 2F + lda PlayerSide ; CPU:$8CEF PRG:0CEF A5 2F and #$03 ; CPU:$8CF1 PRG:0CF1 29 03 cmp #$01 ; CPU:$8CF3 PRG:0CF3 C9 01 - beq IrqHandler_Loop75 ; CPU:$8CF5 PRG:0CF5 F0 07 - lda Zp2E ; CPU:$8CF7 PRG:0CF7 A5 2E + beq IrqHandler_Loop80 ; CPU:$8CF5 PRG:0CF5 F0 07 + lda CursorMoved ; CPU:$8CF7 PRG:0CF7 A5 2E and #$02 ; CPU:$8CF9 PRG:0CF9 29 02 eor #$02 ; CPU:$8CFB PRG:0CFB 49 02 rts ; CPU:$8CFD PRG:0CFD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop75 -; Global: Branch target inside Label: taken when 8CFE. -; Local: Part of Label. +; Routine: IrqHandler_Loop80 +; Global: Branch target inside IrqHandler: taken when Loop80. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop75: - lda Zp2E ; CPU:$8CFE PRG:0CFE A5 2E +IrqHandler_Loop80: + lda CursorMoved ; CPU:$8CFE PRG:0CFE A5 2E and #$02 ; CPU:$8D00 PRG:0D00 29 02 rts ; CPU:$8D02 PRG:0D02 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8D03 -; Global: Branch target inside Label: taken when 8D03. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8D03. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3136,9 +3289,9 @@ Sub_8D03: lda #$00 ; CPU:$8D03 PRG:0D03 A9 00 sta $0124 ; CPU:$8D05 PRG:0D05 8D 24 01 lda Zp3B ; CPU:$8D08 PRG:0D08 A5 3B - sta Zp36 ; CPU:$8D0A PRG:0D0A 85 36 + sta BoardState2 ; CPU:$8D0A PRG:0D0A 85 36 lda Zp3D ; CPU:$8D0C PRG:0D0C A5 3D - sta Zp37 ; CPU:$8D0E PRG:0D0E 85 37 + sta BoardState ; CPU:$8D0E PRG:0D0E 85 37 lda #$00 ; CPU:$8D10 PRG:0D10 A9 00 sta Zp3B ; CPU:$8D12 PRG:0D12 85 3B sta Zp3D ; CPU:$8D14 PRG:0D14 85 3D @@ -3146,102 +3299,102 @@ Sub_8D03: jsr Sub_8DD6 ; CPU:$8D18 PRG:0D18 20 D6 8D jsr Sub_8E0D ; CPU:$8D1B PRG:0D1B 20 0D 8E lda #$07 ; CPU:$8D1E PRG:0D1E A9 07 - sta Zp32 ; CPU:$8D20 PRG:0D20 85 32 + sta BoardCursorY ; CPU:$8D20 PRG:0D20 85 32 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative6 -; Global: Branch target inside Label: taken when 8D22. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative6: lda #$07 ; CPU:$8D22 PRG:0D22 A9 07 - sta Zp31 ; CPU:$8D24 PRG:0D24 85 31 + sta BoardCursorX ; CPU:$8D24 PRG:0D24 85 31 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative7 -; Global: Branch target inside Label: taken when 8D26. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative7. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative7: - lda Zp2E ; CPU:$8D26 PRG:0D26 A5 2E + lda CursorMoved ; CPU:$8D26 PRG:0D26 A5 2E ora #$02 ; CPU:$8D28 PRG:0D28 09 02 - sta Zp2E ; CPU:$8D2A PRG:0D2A 85 2E - lda Zp37 ; CPU:$8D2C PRG:0D2C A5 37 - beq IrqHandler_Loop77 ; CPU:$8D2E PRG:0D2E F0 1A - dec Zp37 ; CPU:$8D30 PRG:0D30 C6 37 + sta CursorMoved ; CPU:$8D2A PRG:0D2A 85 2E + lda BoardState ; CPU:$8D2C PRG:0D2C A5 37 + beq IrqHandler_Loop82 ; CPU:$8D2E PRG:0D2E F0 1A + dec BoardState ; CPU:$8D30 PRG:0D30 C6 37 inc Zp3D ; CPU:$8D32 PRG:0D32 E6 3D - lda Zp2F ; CPU:$8D34 PRG:0D34 A5 2F + lda PlayerSide ; CPU:$8D34 PRG:0D34 A5 2F and #$03 ; CPU:$8D36 PRG:0D36 29 03 cmp #$01 ; CPU:$8D38 PRG:0D38 C9 01 - bne IrqHandler_Loop76 ; CPU:$8D3A PRG:0D3A D0 06 + bne IrqHandler_Loop81 ; CPU:$8D3A PRG:0D3A D0 06 jsr Sub_8DA3 ; CPU:$8D3C PRG:0D3C 20 A3 8D - jmp IrqHandler_Loop77 ; CPU:$8D3F PRG:0D3F 4C 4A 8D + jmp IrqHandler_Loop82 ; CPU:$8D3F PRG:0D3F 4C 4A 8D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop76 -; Global: Branch target inside Label: taken when 8D42. -; Local: Part of Label. +; Routine: IrqHandler_Loop81 +; Global: Branch target inside IrqHandler: taken when Loop81. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop76: +IrqHandler_Loop81: lda #$01 ; CPU:$8D42 PRG:0D42 A9 01 jsr Sub_DB0F ; CPU:$8D44 PRG:0D44 20 0F DB jsr Sub_8F65 ; CPU:$8D47 PRG:0D47 20 65 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop77 -; Global: Branch target inside Label: taken when 8D4A. -; Local: Part of Label. +; Routine: IrqHandler_Loop82 +; Global: Branch target inside IrqHandler: taken when Loop82. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop77: - lda Zp2E ; CPU:$8D4A PRG:0D4A A5 2E +IrqHandler_Loop82: + lda CursorMoved ; CPU:$8D4A PRG:0D4A A5 2E and #$FD ; CPU:$8D4C PRG:0D4C 29 FD - sta Zp2E ; CPU:$8D4E PRG:0D4E 85 2E - lda Zp36 ; CPU:$8D50 PRG:0D50 A5 36 - beq IrqHandler_Loop79 ; CPU:$8D52 PRG:0D52 F0 1D - dec Zp36 ; CPU:$8D54 PRG:0D54 C6 36 + sta CursorMoved ; CPU:$8D4E PRG:0D4E 85 2E + lda BoardState2 ; CPU:$8D50 PRG:0D50 A5 36 + beq IrqHandler_Loop84 ; CPU:$8D52 PRG:0D52 F0 1D + dec BoardState2 ; CPU:$8D54 PRG:0D54 C6 36 inc Zp3B ; CPU:$8D56 PRG:0D56 E6 3B - lda Zp2F ; CPU:$8D58 PRG:0D58 A5 2F + lda PlayerSide ; CPU:$8D58 PRG:0D58 A5 2F and #$03 ; CPU:$8D5A PRG:0D5A 29 03 cmp #$01 ; CPU:$8D5C PRG:0D5C C9 01 - bne IrqHandler_Loop78 ; CPU:$8D5E PRG:0D5E D0 0B + bne IrqHandler_Loop83 ; CPU:$8D5E PRG:0D5E D0 0B lda #$01 ; CPU:$8D60 PRG:0D60 A9 01 jsr Sub_DB0F ; CPU:$8D62 PRG:0D62 20 0F DB jsr Sub_8F65 ; CPU:$8D65 PRG:0D65 20 65 8F jmp Sub_8D75 ; CPU:$8D68 PRG:0D68 4C 75 8D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop78 -; Global: Branch target inside Label: taken when 8D6B. -; Local: Part of Label. +; Routine: IrqHandler_Loop83 +; Global: Branch target inside IrqHandler: taken when Loop83. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop78: +IrqHandler_Loop83: jsr Sub_8DA3 ; CPU:$8D6B PRG:0D6B 20 A3 8D jmp Sub_8D75 ; CPU:$8D6E PRG:0D6E 4C 75 8D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop79 -; Global: Branch target inside Label: taken when 8D71. -; Local: Part of Label. +; Routine: IrqHandler_Loop84 +; Global: Branch target inside IrqHandler: taken when Loop84. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop79: - lda Zp37 ; CPU:$8D71 PRG:0D71 A5 37 - beq IrqHandler_Loop80 ; CPU:$8D73 PRG:0D73 F0 1B +IrqHandler_Loop84: + lda BoardState ; CPU:$8D71 PRG:0D71 A5 37 + beq IrqHandler_Loop85 ; CPU:$8D73 PRG:0D73 F0 1B ; ----------------------------------------------------------------------------- ; Routine: Sub_8D75 -; Global: Branch target inside Label: taken when 8D75. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8D75. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3251,29 +3404,29 @@ Sub_8D75: lda #$01 ; CPU:$8D78 PRG:0D78 A9 01 jsr Sub_DB0F ; CPU:$8D7A PRG:0D7A 20 0F DB lda #$0C ; CPU:$8D7D PRG:0D7D A9 0C - jsr IrqHandler_OnNonzero18 ; CPU:$8D7F PRG:0D7F 20 A0 A2 - dec Zp31 ; CPU:$8D82 PRG:0D82 C6 31 + jsr IrqHandler_OnNonzero20 ; CPU:$8D7F PRG:0D7F 20 A0 A2 + dec BoardCursorX ; CPU:$8D82 PRG:0D82 C6 31 bpl IrqHandler_OnNonnegative7 ; CPU:$8D84 PRG:0D84 10 A0 - dec Zp32 ; CPU:$8D86 PRG:0D86 C6 32 + dec BoardCursorY ; CPU:$8D86 PRG:0D86 C6 32 bpl IrqHandler_OnNonnegative6 ; CPU:$8D88 PRG:0D88 10 98 jsr Sub_8F2F ; CPU:$8D8A PRG:0D8A 20 2F 8F jmp Sub_8D98 ; CPU:$8D8D PRG:0D8D 4C 98 8D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop80 -; Global: Branch target inside Label: taken when 8D90. -; Local: Part of Label. +; Routine: IrqHandler_Loop85 +; Global: Branch target inside IrqHandler: taken when Loop85. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop80: +IrqHandler_Loop85: jsr Sub_8F2F ; CPU:$8D90 PRG:0D90 20 2F 8F lda #$0C ; CPU:$8D93 PRG:0D93 A9 0C - jsr IrqHandler_OnNonzero18 ; CPU:$8D95 PRG:0D95 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8D95 PRG:0D95 20 A0 A2 ; ----------------------------------------------------------------------------- ; Routine: Sub_8D98 -; Global: Branch target inside Label: taken when 8D98. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8D98. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3282,38 +3435,72 @@ Sub_8D98: lda #$FF ; CPU:$8D98 PRG:0D98 A9 FF jsr Sub_DB0F ; CPU:$8D9A PRG:0D9A 20 0F DB lda #$0C ; CPU:$8D9D PRG:0D9D A9 0C - jsr IrqHandler_OnNonzero18 ; CPU:$8D9F PRG:0D9F 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$8D9F PRG:0D9F 20 A0 A2 rts ; CPU:$8DA2 PRG:0DA2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8DA3 -; Global: Branch target inside Label: taken when 8DA3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8DA3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8DA3: - lda Zp31 ; CPU:$8DA3 PRG:0DA3 A5 31 + lda BoardCursorX ; CPU:$8DA3 PRG:0DA3 A5 31 eor #$07 ; CPU:$8DA5 PRG:0DA5 49 07 - sta Zp31 ; CPU:$8DA7 PRG:0DA7 85 31 - lda Zp32 ; CPU:$8DA9 PRG:0DA9 A5 32 + sta BoardCursorX ; CPU:$8DA7 PRG:0DA7 85 31 + lda BoardCursorY ; CPU:$8DA9 PRG:0DA9 A5 32 eor #$07 ; CPU:$8DAB PRG:0DAB 49 07 - sta Zp32 ; CPU:$8DAD PRG:0DAD 85 32 + sta BoardCursorY ; CPU:$8DAD PRG:0DAD 85 32 jsr Sub_8F65 ; CPU:$8DAF PRG:0DAF 20 65 8F - lda Zp31 ; CPU:$8DB2 PRG:0DB2 A5 31 + lda BoardCursorX ; CPU:$8DB2 PRG:0DB2 A5 31 eor #$07 ; CPU:$8DB4 PRG:0DB4 49 07 - sta Zp31 ; CPU:$8DB6 PRG:0DB6 85 31 - lda Zp32 ; CPU:$8DB8 PRG:0DB8 A5 32 + sta BoardCursorX ; CPU:$8DB6 PRG:0DB6 85 31 + lda BoardCursorY ; CPU:$8DB8 PRG:0DB8 A5 32 eor #$07 ; CPU:$8DBA PRG:0DBA 49 07 - sta Zp32 ; CPU:$8DBC PRG:0DBC 85 32 + sta BoardCursorY ; CPU:$8DBC PRG:0DBC 85 32 rts ; CPU:$8DBE PRG:0DBE 60 -; ---- data $8DBF-$8DD5 (23 bytes) ---- - .byte $20, $79, $94, $A5, $2E, $45, $2F, $29, $02, $F0, $05, $A9, $02, $4C, $D1, $8D ; CPU:$8DBF PRG:0DBF 20 79 94 A5 2E 45 2F 29 02 F0 05 A9 02 4C D1 8D - .byte $A9, $01, $85, $35, $4C, $37, $93 ; CPU:$8DCF PRG:0DCF A9 01 85 35 4C 37 93 +; ----------------------------------------------------------------------------- +; Routine: Label_8DBF +; Global: Branch target inside Label: taken when 8DBF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DBF: + jsr Sub_9479 ; CPU:$8DBF PRG:0DBF 20 79 94 + lda CursorMoved ; CPU:$8DC2 PRG:0DC2 A5 2E + eor PlayerSide ; CPU:$8DC4 PRG:0DC4 45 2F + and #$02 ; CPU:$8DC6 PRG:0DC6 29 02 + beq IrqHandler_Loop86 ; CPU:$8DC8 PRG:0DC8 F0 05 + lda #$02 ; CPU:$8DCA PRG:0DCA A9 02 + jmp Sub_8DD1 ; CPU:$8DCC PRG:0DCC 4C D1 8D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop86 +; Global: Branch target inside IrqHandler: taken when Loop86. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop86: + lda #$01 ; CPU:$8DCF PRG:0DCF A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_8DD1 +; Global: Branch target inside Sub: taken when 8DD1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8DD1: + sta Zp35 ; CPU:$8DD1 PRG:0DD1 85 35 + jmp Sub_9337 ; CPU:$8DD3 PRG:0DD3 4C 37 93 ; ----------------------------------------------------------------------------- ; Routine: Sub_8DD6 -; Global: Branch target inside Label: taken when 8DD6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8DD6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3323,56 +3510,56 @@ Sub_8DD6: lda #$00 ; CPU:$8DD8 PRG:0DD8 A9 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet -; Global: Branch target inside Label: taken when 8DDA. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when the addition or subtraction carried. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet: - sta ZpA5,x ; CPU:$8DDA PRG:0DDA 95 A5 + sta CellPatternIndex,x ; CPU:$8DDA PRG:0DDA 95 A5 dex ; CPU:$8DDC PRG:0DDC CA cpx #$51 ; CPU:$8DDD PRG:0DDD E0 51 bcs IrqHandler_OnCarrySet ; CPU:$8DDF PRG:0DDF B0 F9 lda #$00 ; CPU:$8DE1 PRG:0DE1 A9 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet2 -; Global: Branch target inside Label: taken when 8DE3. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet2: - sta ZpA5,x ; CPU:$8DE3 PRG:0DE3 95 A5 + sta CellPatternIndex,x ; CPU:$8DE3 PRG:0DE3 95 A5 dex ; CPU:$8DE5 PRG:0DE5 CA cpx #$0A ; CPU:$8DE6 PRG:0DE6 E0 0A bcs IrqHandler_OnCarrySet2 ; CPU:$8DE8 PRG:0DE8 B0 F9 lda #$00 ; CPU:$8DEA PRG:0DEA A9 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative8 -; Global: Branch target inside Label: taken when 8DEC. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative8: - sta ZpA5,x ; CPU:$8DEC PRG:0DEC 95 A5 + sta CellPatternIndex,x ; CPU:$8DEC PRG:0DEC 95 A5 dex ; CPU:$8DEE PRG:0DEE CA bpl IrqHandler_OnNonnegative8 ; CPU:$8DEF PRG:0DEF 10 FB ldx #$48 ; CPU:$8DF1 PRG:0DF1 A2 48 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet3 -; Global: Branch target inside Label: taken when 8DF3. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet3: lda #$00 ; CPU:$8DF3 PRG:0DF3 A9 00 - sta ZpA5,x ; CPU:$8DF5 PRG:0DF5 95 A5 + sta CellPatternIndex,x ; CPU:$8DF5 PRG:0DF5 95 A5 txa ; CPU:$8DF7 PRG:0DF7 8A sec ; CPU:$8DF8 PRG:0DF8 38 sbc #$09 ; CPU:$8DF9 PRG:0DF9 E9 09 @@ -3382,8 +3569,8 @@ IrqHandler_OnCarrySet3: rts ; CPU:$8E00 PRG:0E00 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E01 -; Global: Branch target inside Label: taken when 8E01. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E01. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3392,62 +3579,62 @@ Sub_8E01: ldx #$59 ; CPU:$8E01 PRG:0E01 A2 59 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative9 -; Global: Branch target inside Label: taken when 8E03. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative9. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative9: - lda ZpA5,x ; CPU:$8E03 PRG:0E03 B5 A5 + lda CellPatternIndex,x ; CPU:$8E03 PRG:0E03 B5 A5 and #$03 ; CPU:$8E05 PRG:0E05 29 03 - sta ZpA5,x ; CPU:$8E07 PRG:0E07 95 A5 + sta CellPatternIndex,x ; CPU:$8E07 PRG:0E07 95 A5 dex ; CPU:$8E09 PRG:0E09 CA bpl IrqHandler_OnNonnegative9 ; CPU:$8E0A PRG:0E0A 10 F7 rts ; CPU:$8E0C PRG:0E0C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E0D -; Global: Branch target inside Label: taken when 8E0D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E0D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8E0D: lda #$07 ; CPU:$8E0D PRG:0E0D A9 07 - sta Zp32 ; CPU:$8E0F PRG:0E0F 85 32 + sta BoardCursorY ; CPU:$8E0F PRG:0E0F 85 32 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative10 -; Global: Branch target inside Label: taken when 8E11. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative10. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative10: lda #$07 ; CPU:$8E11 PRG:0E11 A9 07 - sta Zp31 ; CPU:$8E13 PRG:0E13 85 31 + sta BoardCursorX ; CPU:$8E13 PRG:0E13 85 31 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative11 -; Global: Branch target inside Label: taken when 8E15. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative11. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative11: jsr Sub_9479 ; CPU:$8E15 PRG:0E15 20 79 94 - lda ZpA5,x ; CPU:$8E18 PRG:0E18 B5 A5 + lda CellPatternIndex,x ; CPU:$8E18 PRG:0E18 B5 A5 sta Zp35 ; CPU:$8E1A PRG:0E1A 85 35 jsr Sub_9337 ; CPU:$8E1C PRG:0E1C 20 37 93 - dec Zp31 ; CPU:$8E1F PRG:0E1F C6 31 + dec BoardCursorX ; CPU:$8E1F PRG:0E1F C6 31 bpl IrqHandler_OnNonnegative11 ; CPU:$8E21 PRG:0E21 10 F2 - dec Zp32 ; CPU:$8E23 PRG:0E23 C6 32 + dec BoardCursorY ; CPU:$8E23 PRG:0E23 C6 32 bpl IrqHandler_OnNonnegative10 ; CPU:$8E25 PRG:0E25 10 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_8E27 -; Global: Branch target inside Label: taken when 8E27. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E27. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3467,36 +3654,36 @@ Label_8E2C: jmp Sub_D6E2 ; CPU:$8E2C PRG:0E2C 4C E2 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E2F -; Global: Branch target inside Label: taken when 8E2F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E2F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8E2F: - lda Zp2E ; CPU:$8E2F PRG:0E2F A5 2E + lda CursorMoved ; CPU:$8E2F PRG:0E2F A5 2E and #$02 ; CPU:$8E31 PRG:0E31 29 02 tax ; CPU:$8E33 PRG:0E33 AA inc Zp3B,x ; CPU:$8E34 PRG:0E34 F6 3B rts ; CPU:$8E36 PRG:0E36 60 ; ----------------------------------------------------------------------------- -; Routine: Label_8E37 -; Global: Branch target inside Label: taken when 8E37. -; Local: Part of Label. +; Routine: Sub_8E37 +; Global: Branch target inside Sub: taken when 8E37. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8E37: - lda Zp2E ; CPU:$8E37 PRG:0E37 A5 2E +Sub_8E37: + lda CursorMoved ; CPU:$8E37 PRG:0E37 A5 2E and #$02 ; CPU:$8E39 PRG:0E39 29 02 tax ; CPU:$8E3B PRG:0E3B AA dec Zp3B,x ; CPU:$8E3C PRG:0E3C D6 3B rts ; CPU:$8E3E PRG:0E3E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E3F -; Global: Branch target inside Label: taken when 8E3F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E3F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3504,134 +3691,132 @@ Label_8E37: Sub_8E3F: jsr Sub_9DC1 ; CPU:$8E3F PRG:0E3F 20 C1 9D lda #$17 ; CPU:$8E42 PRG:0E42 A9 17 - sta Zp0F ; CPU:$8E44 PRG:0E44 85 0F + sta MoveDeltaX ; CPU:$8E44 PRG:0E44 85 0F lda #$21 ; CPU:$8E46 PRG:0E46 A9 21 - sta Zp10 ; CPU:$8E48 PRG:0E48 85 10 - lda Zp2F ; CPU:$8E4A PRG:0E4A A5 2F + sta MoveDeltaY ; CPU:$8E48 PRG:0E48 85 10 + lda PlayerSide ; CPU:$8E4A PRG:0E4A A5 2F and #$03 ; CPU:$8E4C PRG:0E4C 29 03 cmp #$01 ; CPU:$8E4E PRG:0E4E C9 01 - beq IrqHandler_Loop81 ; CPU:$8E50 PRG:0E50 F0 0F + beq IrqHandler_Loop87 ; CPU:$8E50 PRG:0E50 F0 0F jsr Sub_D776 ; CPU:$8E52 PRG:0E52 20 76 D7 .byte $04, $01 ; CPU:$8E55 PRG:0E55 04 01 -- nop Zp01 (undocumented; ca65 cannot encode) lda #$B7 ; CPU:$8E57 PRG:0E57 A9 B7 - sta Zp0F ; CPU:$8E59 PRG:0E59 85 0F + sta MoveDeltaX ; CPU:$8E59 PRG:0E59 85 0F jsr Sub_D776 ; CPU:$8E5B PRG:0E5B 20 76 D7 asl $6001 ; CPU:$8E5E PRG:0E5E 0E 01 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop81 -; Global: Branch target inside Label: taken when 8E61. -; Local: Part of Label. +; Routine: IrqHandler_Loop87 +; Global: Branch target inside IrqHandler: taken when Loop87. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop81: +IrqHandler_Loop87: jsr Sub_D776 ; CPU:$8E61 PRG:0E61 20 76 D7 -; ---- data $8E64-$8E65 (2 bytes) ---- - .byte $0E, $01 ; CPU:$8E64 PRG:0E64 0E 01 ; ----------------------------------------------------------------------------- -; Routine: Label_8E66 -; Global: Branch target inside Label: taken when 8E66. +; Routine: Label_8E64 +; Global: Branch target inside Label: taken when 8E64. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8E66: - lda #$B7 ; CPU:$8E66 PRG:0E66 A9 B7 - sta Zp0F ; CPU:$8E68 PRG:0E68 85 0F - jsr Sub_D776 ; CPU:$8E6A PRG:0E6A 20 76 D7 - .byte $04, $01 ; CPU:$8E6D PRG:0E6D 04 01 -- nop Zp01 (undocumented; ca65 cannot encode) +Label_8E64: + asl $A901 ; CPU:$8E64 PRG:0E64 0E 01 A9 + .byte $B7, $85 ; CPU:$8E67 PRG:0E67 B7 85 -- lax Zp85,y (undocumented; ca65 cannot encode) + .byte $0F, $20, $76 ; CPU:$8E69 PRG:0E69 0F 20 76 -- slo $7620 (undocumented; ca65 cannot encode) + .byte $D7, $04 ; CPU:$8E6C PRG:0E6C D7 04 -- dcp Zp04,y (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: Label_8E6F -; Global: Branch target inside Label: taken when 8E6F. +; Routine: Label_8E6E +; Global: Branch target inside Label: taken when 8E6E. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8E6F: - rts ; CPU:$8E6F PRG:0E6F 60 - lda Zp2E ; CPU:$8E70 PRG:0E70 A5 2E +Label_8E6E: + ora (Zp60,x) ; CPU:$8E6E PRG:0E6E 01 60 + lda CursorMoved ; CPU:$8E70 PRG:0E70 A5 2E and #$02 ; CPU:$8E72 PRG:0E72 29 02 - beq IrqHandler_Loop82 ; CPU:$8E74 PRG:0E74 F0 0B + beq IrqHandler_Loop88 ; CPU:$8E74 PRG:0E74 F0 0B lda #$68 ; CPU:$8E76 PRG:0E76 A9 68 - sta Zp0F ; CPU:$8E78 PRG:0E78 85 0F + sta MoveDeltaX ; CPU:$8E78 PRG:0E78 85 0F lda #$20 ; CPU:$8E7A PRG:0E7A A9 20 - sta Zp10 ; CPU:$8E7C PRG:0E7C 85 10 + sta MoveDeltaY ; CPU:$8E7C PRG:0E7C 85 10 jmp Sub_8EB2 ; CPU:$8E7E PRG:0E7E 4C B2 8E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop82 -; Global: Branch target inside Label: taken when 8E81. -; Local: Part of Label. +; Routine: IrqHandler_Loop88 +; Global: Branch target inside IrqHandler: taken when Loop88. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop82: +IrqHandler_Loop88: lda #$08 ; CPU:$8E81 PRG:0E81 A9 08 - sta Zp0F ; CPU:$8E83 PRG:0E83 85 0F + sta MoveDeltaX ; CPU:$8E83 PRG:0E83 85 0F lda #$23 ; CPU:$8E85 PRG:0E85 A9 23 - sta Zp10 ; CPU:$8E87 PRG:0E87 85 10 - jmp IrqHandler_Loop83 ; CPU:$8E89 PRG:0E89 4C B8 8E + sta MoveDeltaY ; CPU:$8E87 PRG:0E87 85 10 + jmp IrqHandler_Loop89 ; CPU:$8E89 PRG:0E89 4C B8 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8E8C -; Global: Branch target inside Label: taken when 8E8C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E8C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8E8C: lda #$96 ; CPU:$8E8C PRG:0E8C A9 96 - sta Zp0F ; CPU:$8E8E PRG:0E8E 85 0F + sta MoveDeltaX ; CPU:$8E8E PRG:0E8E 85 0F jmp Sub_8E97 ; CPU:$8E90 PRG:0E90 4C 97 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8E93 -; Global: Branch target inside Label: taken when 8E93. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E93. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8E93: lda #$D6 ; CPU:$8E93 PRG:0E93 A9 D6 - sta Zp0F ; CPU:$8E95 PRG:0E95 85 0F + sta MoveDeltaX ; CPU:$8E95 PRG:0E95 85 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_8E97 -; Global: Branch target inside Label: taken when 8E97. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8E97. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8E97: lda #$22 ; CPU:$8E97 PRG:0E97 A9 22 - sta Zp10 ; CPU:$8E99 PRG:0E99 85 10 - lda Zp2E ; CPU:$8E9B PRG:0E9B A5 2E + sta MoveDeltaY ; CPU:$8E99 PRG:0E99 85 10 + lda CursorMoved ; CPU:$8E9B PRG:0E9B A5 2E and #$02 ; CPU:$8E9D PRG:0E9D 29 02 - beq IrqHandler_Loop83 ; CPU:$8E9F PRG:0E9F F0 17 + beq IrqHandler_Loop89 ; CPU:$8E9F PRG:0E9F F0 17 jmp Sub_8EB2 ; CPU:$8EA1 PRG:0EA1 4C B2 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8EA4 -; Global: Branch target inside Label: taken when 8EA4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8EA4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8EA4: lda #$4A ; CPU:$8EA4 PRG:0EA4 A9 4A - sta Zp0F ; CPU:$8EA6 PRG:0EA6 85 0F + sta MoveDeltaX ; CPU:$8EA6 PRG:0EA6 85 0F lda #$21 ; CPU:$8EA8 PRG:0EA8 A9 21 - sta Zp10 ; CPU:$8EAA PRG:0EAA 85 10 - lda Zp2E ; CPU:$8EAC PRG:0EAC A5 2E + sta MoveDeltaY ; CPU:$8EAA PRG:0EAA 85 10 + lda CursorMoved ; CPU:$8EAC PRG:0EAC A5 2E and #$02 ; CPU:$8EAE PRG:0EAE 29 02 - beq IrqHandler_Loop83 ; CPU:$8EB0 PRG:0EB0 F0 06 + beq IrqHandler_Loop89 ; CPU:$8EB0 PRG:0EB0 F0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_8EB2 -; Global: Branch target inside Label: taken when 8EB2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8EB2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3640,14 +3825,14 @@ Sub_8EB2: jsr Sub_D776 ; CPU:$8EB2 PRG:0EB2 20 76 D7 asl $6001 ; CPU:$8EB5 PRG:0EB5 0E 01 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop83 -; Global: Branch target inside Label: taken when 8EB8. -; Local: Part of Label. +; Routine: IrqHandler_Loop89 +; Global: Branch target inside IrqHandler: taken when Loop89. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop83: +IrqHandler_Loop89: jsr Sub_D776 ; CPU:$8EB8 PRG:0EB8 20 76 D7 .byte $04, $01 ; CPU:$8EBB PRG:0EBB 04 01 -- nop Zp01 (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- @@ -3662,8 +3847,8 @@ Label_8EBD: rts ; CPU:$8EBD PRG:0EBD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8EBE -; Global: Branch target inside Label: taken when 8EBE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8EBE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3674,11 +3859,11 @@ Sub_8EBE: adc #$30 ; CPU:$8EC2 PRG:0EC2 69 30 pha ; CPU:$8EC4 PRG:0EC4 48 txa ; CPU:$8EC5 PRG:0EC5 8A - beq IrqHandler_Loop84 ; CPU:$8EC6 PRG:0EC6 F0 06 + beq IrqHandler_Loop90 ; CPU:$8EC6 PRG:0EC6 F0 06 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative12 -; Global: Branch target inside Label: taken when 8EC8. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative12. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3688,21 +3873,21 @@ IrqHandler_OnNonnegative12: adc #$30 ; CPU:$8EC9 PRG:0EC9 69 30 jmp Sub_8ED4 ; CPU:$8ECB PRG:0ECB 4C D4 8E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop84 -; Global: Branch target inside Label: taken when 8ECE. -; Local: Part of Label. +; Routine: IrqHandler_Loop90 +; Global: Branch target inside IrqHandler: taken when Loop90. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop84: +IrqHandler_Loop90: ldx Zp30 ; CPU:$8ECE PRG:0ECE A6 30 bpl IrqHandler_OnNonnegative12 ; CPU:$8ED0 PRG:0ED0 10 F6 lda #$08 ; CPU:$8ED2 PRG:0ED2 A9 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_8ED4 -; Global: Branch target inside Label: taken when 8ED4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8ED4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3710,10 +3895,10 @@ IrqHandler_Loop84: Sub_8ED4: pha ; CPU:$8ED4 PRG:0ED4 48 lda Zp04 ; CPU:$8ED5 PRG:0ED5 A5 04 - bne IrqHandler_Loop85 ; CPU:$8ED7 PRG:0ED7 D0 13 - lda Zp10 ; CPU:$8ED9 PRG:0ED9 A5 10 + bne IrqHandler_Loop91 ; CPU:$8ED7 PRG:0ED7 D0 13 + lda MoveDeltaY ; CPU:$8ED9 PRG:0ED9 A5 10 sta PPUADDR ; CPU:$8EDB PRG:0EDB 8D 06 20 - lda Zp0F ; CPU:$8EDE PRG:0EDE A5 0F + lda MoveDeltaX ; CPU:$8EDE PRG:0EDE A5 0F sta PPUADDR ; CPU:$8EE0 PRG:0EE0 8D 06 20 pla ; CPU:$8EE3 PRG:0EE3 68 sta PPUDATA ; CPU:$8EE4 PRG:0EE4 8D 07 20 @@ -3721,14 +3906,14 @@ Sub_8ED4: sta PPUDATA ; CPU:$8EE8 PRG:0EE8 8D 07 20 rts ; CPU:$8EEB PRG:0EEB 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop85 -; Global: Branch target inside Label: taken when 8EEC. -; Local: Part of Label. +; Routine: IrqHandler_Loop91 +; Global: Branch target inside IrqHandler: taken when Loop91. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop85: +IrqHandler_Loop91: jsr Sub_D8D5 ; CPU:$8EEC PRG:0EEC 20 D5 D8 lda #$02 ; CPU:$8EEF PRG:0EEF A9 02 jsr Sub_D8F9 ; CPU:$8EF1 PRG:0EF1 20 F9 D8 @@ -3739,8 +3924,8 @@ IrqHandler_Loop85: jmp Sub_D905 ; CPU:$8EFC PRG:0EFC 4C 05 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_8EFF -; Global: Branch target inside Label: taken when 8EFF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8EFF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3748,23 +3933,23 @@ IrqHandler_Loop85: Sub_8EFF: pha ; CPU:$8EFF PRG:0EFF 48 lda Zp04 ; CPU:$8F00 PRG:0F00 A5 04 - bne IrqHandler_Loop86 ; CPU:$8F02 PRG:0F02 D0 0F - lda Zp10 ; CPU:$8F04 PRG:0F04 A5 10 + bne IrqHandler_Loop92 ; CPU:$8F02 PRG:0F02 D0 0F + lda MoveDeltaY ; CPU:$8F04 PRG:0F04 A5 10 sta PPUADDR ; CPU:$8F06 PRG:0F06 8D 06 20 - lda Zp0F ; CPU:$8F09 PRG:0F09 A5 0F + lda MoveDeltaX ; CPU:$8F09 PRG:0F09 A5 0F sta PPUADDR ; CPU:$8F0B PRG:0F0B 8D 06 20 pla ; CPU:$8F0E PRG:0F0E 68 sta PPUDATA ; CPU:$8F0F PRG:0F0F 8D 07 20 rts ; CPU:$8F12 PRG:0F12 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop86 -; Global: Branch target inside Label: taken when 8F13. -; Local: Part of Label. +; Routine: IrqHandler_Loop92 +; Global: Branch target inside IrqHandler: taken when Loop92. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop86: +IrqHandler_Loop92: jsr Sub_D8D5 ; CPU:$8F13 PRG:0F13 20 D5 D8 lda #$01 ; CPU:$8F16 PRG:0F16 A9 01 jsr Sub_D8F9 ; CPU:$8F18 PRG:0F18 20 F9 D8 @@ -3773,8 +3958,8 @@ IrqHandler_Loop86: jmp Sub_D905 ; CPU:$8F1F PRG:0F1F 4C 05 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F22 -; Global: Branch target inside Label: taken when 8F22. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F22. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3783,32 +3968,32 @@ Sub_8F22: ldx #$00 ; CPU:$8F22 PRG:0F22 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F24 -; Global: Branch target inside Label: taken when 8F24. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F24. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F24: cmp #$0A ; CPU:$8F24 PRG:0F24 C9 0A - bcc IrqHandler_Loop87 ; CPU:$8F26 PRG:0F26 90 06 + bcc IrqHandler_Loop93 ; CPU:$8F26 PRG:0F26 90 06 sbc #$0A ; CPU:$8F28 PRG:0F28 E9 0A inx ; CPU:$8F2A PRG:0F2A E8 jmp Sub_8F24 ; CPU:$8F2B PRG:0F2B 4C 24 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop87 -; Global: Branch target inside Label: taken when 8F2E. -; Local: Part of Label. +; Routine: IrqHandler_Loop93 +; Global: Branch target inside IrqHandler: taken when Loop93. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop87: +IrqHandler_Loop93: rts ; CPU:$8F2E PRG:0F2E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F2F -; Global: Branch target inside Label: taken when 8F2F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F2F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3818,28 +4003,28 @@ Sub_8F2F: ora #$80 ; CPU:$8F31 PRG:0F31 09 80 sta Zp30 ; CPU:$8F33 PRG:0F33 85 30 lda #$70 ; CPU:$8F35 PRG:0F35 A9 70 - sta Zp0F ; CPU:$8F37 PRG:0F37 85 0F + sta MoveDeltaX ; CPU:$8F37 PRG:0F37 85 0F lda #$20 ; CPU:$8F39 PRG:0F39 A9 20 - sta Zp10 ; CPU:$8F3B PRG:0F3B 85 10 - lda Zp2F ; CPU:$8F3D PRG:0F3D A5 2F + sta MoveDeltaY ; CPU:$8F3B PRG:0F3B 85 10 + lda PlayerSide ; CPU:$8F3D PRG:0F3D A5 2F cmp #$01 ; CPU:$8F3F PRG:0F3F C9 01 - bne IrqHandler_Loop88 ; CPU:$8F41 PRG:0F41 D0 05 + bne IrqHandler_Loop94 ; CPU:$8F41 PRG:0F41 D0 05 lda Zp3D ; CPU:$8F43 PRG:0F43 A5 3D jmp Sub_8F4A ; CPU:$8F45 PRG:0F45 4C 4A 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop88 -; Global: Branch target inside Label: taken when 8F48. -; Local: Part of Label. +; Routine: IrqHandler_Loop94 +; Global: Branch target inside IrqHandler: taken when Loop94. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop88: +IrqHandler_Loop94: lda Zp3B ; CPU:$8F48 PRG:0F48 A5 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_8F4A -; Global: Branch target inside Label: taken when 8F4A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F4A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3847,73 +4032,86 @@ IrqHandler_Loop88: Sub_8F4A: jsr Sub_8EBE ; CPU:$8F4A PRG:0F4A 20 BE 8E lda #$02 ; CPU:$8F4D PRG:0F4D A9 02 - sta Zp0F ; CPU:$8F4F PRG:0F4F 85 0F + sta MoveDeltaX ; CPU:$8F4F PRG:0F4F 85 0F lda #$23 ; CPU:$8F51 PRG:0F51 A9 23 - sta Zp10 ; CPU:$8F53 PRG:0F53 85 10 - lda Zp2F ; CPU:$8F55 PRG:0F55 A5 2F + sta MoveDeltaY ; CPU:$8F53 PRG:0F53 85 10 + lda PlayerSide ; CPU:$8F55 PRG:0F55 A5 2F cmp #$01 ; CPU:$8F57 PRG:0F57 C9 01 - bne IrqHandler_Loop89 ; CPU:$8F59 PRG:0F59 D0 05 + bne IrqHandler_Loop95 ; CPU:$8F59 PRG:0F59 D0 05 lda Zp3B ; CPU:$8F5B PRG:0F5B A5 3B jmp Sub_8EBE ; CPU:$8F5D PRG:0F5D 4C BE 8E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop89 -; Global: Branch target inside Label: taken when 8F60. -; Local: Part of Label. +; Routine: IrqHandler_Loop95 +; Global: Branch target inside IrqHandler: taken when Loop95. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop89: +IrqHandler_Loop95: lda Zp3D ; CPU:$8F60 PRG:0F60 A5 3D jmp Sub_8EBE ; CPU:$8F62 PRG:0F62 4C BE 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_8F65 -; Global: Branch target inside Label: taken when 8F65. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F65. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F65: jsr Sub_9479 ; CPU:$8F65 PRG:0F65 20 79 94 - lda Zp2E ; CPU:$8F68 PRG:0F68 A5 2E - eor Zp2F ; CPU:$8F6A PRG:0F6A 45 2F + lda CursorMoved ; CPU:$8F68 PRG:0F68 A5 2E + eor PlayerSide ; CPU:$8F6A PRG:0F6A 45 2F and #$02 ; CPU:$8F6C PRG:0F6C 29 02 - beq IrqHandler_Loop90 ; CPU:$8F6E PRG:0F6E F0 05 + beq IrqHandler_Loop96 ; CPU:$8F6E PRG:0F6E F0 05 lda #$02 ; CPU:$8F70 PRG:0F70 A9 02 jmp Sub_8F77 ; CPU:$8F72 PRG:0F72 4C 77 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop90 -; Global: Branch target inside Label: taken when 8F75. -; Local: Part of Label. +; Routine: IrqHandler_Loop96 +; Global: Branch target inside IrqHandler: taken when Loop96. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop90: +IrqHandler_Loop96: lda #$01 ; CPU:$8F75 PRG:0F75 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F77 -; Global: Branch target inside Label: taken when 8F77. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F77. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F77: sta Zp35 ; CPU:$8F77 PRG:0F77 85 35 - lda ZpA5,x ; CPU:$8F79 PRG:0F79 B5 A5 + lda CellPatternIndex,x ; CPU:$8F79 PRG:0F79 B5 A5 and #$FC ; CPU:$8F7B PRG:0F7B 29 FC ora Zp35 ; CPU:$8F7D PRG:0F7D 05 35 - sta ZpA5,x ; CPU:$8F7F PRG:0F7F 95 A5 + sta CellPatternIndex,x ; CPU:$8F7F PRG:0F7F 95 A5 jmp Sub_9337 ; CPU:$8F81 PRG:0F81 4C 37 93 -; ---- data $8F84-$8F94 (17 bytes) ---- - .byte $20, $37, $8E, $20, $79, $94, $B5, $A5, $29, $FC, $95, $A5, $85, $35, $4C, $37 ; CPU:$8F84 PRG:0F84 20 37 8E 20 79 94 B5 A5 29 FC 95 A5 85 35 4C 37 - .byte $93 ; CPU:$8F94 PRG:0F94 93 +; ----------------------------------------------------------------------------- +; Routine: Sub_8F84 +; Global: Branch target inside Sub: taken when 8F84. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8F84: + jsr Sub_8E37 ; CPU:$8F84 PRG:0F84 20 37 8E + jsr Sub_9479 ; CPU:$8F87 PRG:0F87 20 79 94 + lda CellPatternIndex,x ; CPU:$8F8A PRG:0F8A B5 A5 + and #$FC ; CPU:$8F8C PRG:0F8C 29 FC + sta CellPatternIndex,x ; CPU:$8F8E PRG:0F8E 95 A5 + sta Zp35 ; CPU:$8F90 PRG:0F90 85 35 + jmp Sub_9337 ; CPU:$8F92 PRG:0F92 4C 37 93 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F95 -; Global: Branch target inside Label: taken when 8F95. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F95. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -3924,95 +4122,95 @@ Sub_8F95: sta Zp39 ; CPU:$8F99 PRG:0F99 85 39 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F9B -; Global: Branch target inside Label: taken when 8F9B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8F9B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F9B: - lda Zp31 ; CPU:$8F9B PRG:0F9B A5 31 - sta Zp36 ; CPU:$8F9D PRG:0F9D 85 36 - lda Zp32 ; CPU:$8F9F PRG:0F9F A5 32 - sta Zp37 ; CPU:$8FA1 PRG:0FA1 85 37 + lda BoardCursorX ; CPU:$8F9B PRG:0F9B A5 31 + sta BoardState2 ; CPU:$8F9D PRG:0F9D 85 36 + lda BoardCursorY ; CPU:$8F9F PRG:0F9F A5 32 + sta BoardState ; CPU:$8FA1 PRG:0FA1 85 37 lda #$00 ; CPU:$8FA3 PRG:0FA3 A9 00 sta $01B1 ; CPU:$8FA5 PRG:0FA5 8D B1 01 jsr Sub_94B2 ; CPU:$8FA8 PRG:0FA8 20 B2 94 - lda ZpA5,x ; CPU:$8FAB PRG:0FAB B5 A5 + lda CellPatternIndex,x ; CPU:$8FAB PRG:0FAB B5 A5 sta Zp35 ; CPU:$8FAD PRG:0FAD 85 35 ; ----------------------------------------------------------------------------- ; Routine: Sub_8FAF -; Global: Branch target inside Label: taken when 8FAF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 8FAF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8FAF: ldx Zp39 ; CPU:$8FAF PRG:0FAF A6 39 - lda Zp36 ; CPU:$8FB1 PRG:0FB1 A5 36 + lda BoardState2 ; CPU:$8FB1 PRG:0FB1 A5 36 clc ; CPU:$8FB3 PRG:0FB3 18 adc $9003,x ; CPU:$8FB4 PRG:0FB4 7D 03 90 - bmi IrqHandler_Loop92 ; CPU:$8FB7 PRG:0FB7 30 3E + bmi IrqHandler_Loop98 ; CPU:$8FB7 PRG:0FB7 30 3E cmp #$08 ; CPU:$8FB9 PRG:0FB9 C9 08 - bcs IrqHandler_Loop92 ; CPU:$8FBB PRG:0FBB B0 3A - sta Zp36 ; CPU:$8FBD PRG:0FBD 85 36 - lda Zp37 ; CPU:$8FBF PRG:0FBF A5 37 + bcs IrqHandler_Loop98 ; CPU:$8FBB PRG:0FBB B0 3A + sta BoardState2 ; CPU:$8FBD PRG:0FBD 85 36 + lda BoardState ; CPU:$8FBF PRG:0FBF A5 37 clc ; CPU:$8FC1 PRG:0FC1 18 adc $900B,x ; CPU:$8FC2 PRG:0FC2 7D 0B 90 - bmi IrqHandler_Loop92 ; CPU:$8FC5 PRG:0FC5 30 30 + bmi IrqHandler_Loop98 ; CPU:$8FC5 PRG:0FC5 30 30 cmp #$08 ; CPU:$8FC7 PRG:0FC7 C9 08 - bcs IrqHandler_Loop92 ; CPU:$8FC9 PRG:0FC9 B0 2C - sta Zp37 ; CPU:$8FCB PRG:0FCB 85 37 + bcs IrqHandler_Loop98 ; CPU:$8FC9 PRG:0FC9 B0 2C + sta BoardState ; CPU:$8FCB PRG:0FCB 85 37 jsr Sub_94B2 ; CPU:$8FCD PRG:0FCD 20 B2 94 - lda ZpA5,x ; CPU:$8FD0 PRG:0FD0 B5 A5 + lda CellPatternIndex,x ; CPU:$8FD0 PRG:0FD0 B5 A5 and #$03 ; CPU:$8FD2 PRG:0FD2 29 03 - beq IrqHandler_Loop92 ; CPU:$8FD4 PRG:0FD4 F0 21 - lda ZpA5,x ; CPU:$8FD6 PRG:0FD6 B5 A5 + beq IrqHandler_Loop98 ; CPU:$8FD4 PRG:0FD4 F0 21 + lda CellPatternIndex,x ; CPU:$8FD6 PRG:0FD6 B5 A5 eor Zp35 ; CPU:$8FD8 PRG:0FD8 45 35 and #$03 ; CPU:$8FDA PRG:0FDA 29 03 - bne IrqHandler_Loop91 ; CPU:$8FDC PRG:0FDC D0 13 + bne IrqHandler_Loop97 ; CPU:$8FDC PRG:0FDC D0 13 lda $01B1 ; CPU:$8FDE PRG:0FDE AD B1 01 - beq IrqHandler_Loop92 ; CPU:$8FE1 PRG:0FE1 F0 14 + beq IrqHandler_Loop98 ; CPU:$8FE1 PRG:0FE1 F0 14 ldx Zp39 ; CPU:$8FE3 PRG:0FE3 A6 39 lda $01B1 ; CPU:$8FE5 PRG:0FE5 AD B1 01 sta $07ED,x ; CPU:$8FE8 PRG:0FE8 9D ED 07 jsr Sub_9013 ; CPU:$8FEB PRG:0FEB 20 13 90 - jmp IrqHandler_Loop92 ; CPU:$8FEE PRG:0FEE 4C F7 8F + jmp IrqHandler_Loop98 ; CPU:$8FEE PRG:0FEE 4C F7 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop91 -; Global: Branch target inside Label: taken when 8FF1. -; Local: Part of Label. +; Routine: IrqHandler_Loop97 +; Global: Branch target inside IrqHandler: taken when Loop97. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop91: +IrqHandler_Loop97: inc $01B1 ; CPU:$8FF1 PRG:0FF1 EE B1 01 jmp Sub_8FAF ; CPU:$8FF4 PRG:0FF4 4C AF 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop92 -; Global: Branch target inside Label: taken when 8FF7. -; Local: Part of Label. +; Routine: IrqHandler_Loop98 +; Global: Branch target inside IrqHandler: taken when Loop98. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop92: +IrqHandler_Loop98: inc Zp39 ; CPU:$8FF7 PRG:0FF7 E6 39 lda Zp39 ; CPU:$8FF9 PRG:0FF9 A5 39 cmp #$08 ; CPU:$8FFB PRG:0FFB C9 08 - bcs IrqHandler_Loop93 ; CPU:$8FFD PRG:0FFD B0 03 + bcs IrqHandler_Loop99 ; CPU:$8FFD PRG:0FFD B0 03 jmp Sub_8F9B ; CPU:$8FFF PRG:0FFF 4C 9B 8F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop93 -; Global: Branch target inside Label: taken when 9002. -; Local: Part of Label. +; Routine: IrqHandler_Loop99 +; Global: Branch target inside IrqHandler: taken when Loop99. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop93: +IrqHandler_Loop99: rts ; CPU:$9002 PRG:1002 60 ; ---- data $9003-$9012 (16 bytes) ---- ; referenced by `adc $9003,x` at $8FB4 (operand $9003 falls inside this region) @@ -4022,39 +4220,40 @@ IrqHandler_Loop93: ; referenced by `adc $9003,x` at $9069 (operand $9003 falls inside this region) ; referenced by `adc $900B,x` at $9077 (operand $900B falls inside this region) ; ... and 4 further references from decoded code - .byte $01, $00, $FF, $00, $01, $FF, $FF, $01, $00, $01, $00, $FF, $01, $01, $FF, $FF ; CPU:$9003 PRG:1003 01 00 FF 00 01 FF FF 01 00 01 00 FF 01 01 FF FF +BoardMoveOffsetTable: + .byte $01, $00, $FF, $00, $01, $FF, $FF, $01, $00, $01, $00, $FF, $01, $01, $FF, $FF ; CPU:$9003 PRG:-2FFD 01 00 FF 00 01 FF FF 01 00 01 00 FF 01 01 FF FF ; ----------------------------------------------------------------------------- ; Routine: Sub_9013 -; Global: Branch target inside Label: taken when 9013. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9013. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9013: - lda Zp31 ; CPU:$9013 PRG:1013 A5 31 - sta Zp36 ; CPU:$9015 PRG:1015 85 36 - lda Zp32 ; CPU:$9017 PRG:1017 A5 32 - sta Zp37 ; CPU:$9019 PRG:1019 85 37 + lda BoardCursorX ; CPU:$9013 PRG:1013 A5 31 + sta BoardState2 ; CPU:$9015 PRG:1015 85 36 + lda BoardCursorY ; CPU:$9017 PRG:1017 A5 32 + sta BoardState ; CPU:$9019 PRG:1019 85 37 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero9 -; Global: Branch target inside Label: taken when 901B. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero9. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero9: ldx Zp39 ; CPU:$901B PRG:101B A6 39 - lda Zp31 ; CPU:$901D PRG:101D A5 31 + lda BoardCursorX ; CPU:$901D PRG:101D A5 31 clc ; CPU:$901F PRG:101F 18 adc $9003,x ; CPU:$9020 PRG:1020 7D 03 90 - sta Zp31 ; CPU:$9023 PRG:1023 85 31 - lda Zp32 ; CPU:$9025 PRG:1025 A5 32 + sta BoardCursorX ; CPU:$9023 PRG:1023 85 31 + lda BoardCursorY ; CPU:$9025 PRG:1025 A5 32 clc ; CPU:$9027 PRG:1027 18 adc $900B,x ; CPU:$9028 PRG:1028 7D 0B 90 - sta Zp32 ; CPU:$902B PRG:102B 85 32 - lda Zp2E ; CPU:$902D PRG:102D A5 2E + sta BoardCursorY ; CPU:$902B PRG:102B 85 32 + lda CursorMoved ; CPU:$902D PRG:102D A5 2E and #$02 ; CPU:$902F PRG:102F 29 02 lsr a ; CPU:$9031 PRG:1031 4A adc #$08 ; CPU:$9032 PRG:1032 69 08 @@ -4063,15 +4262,15 @@ IrqHandler_OnNonzero9: inc Zp38 ; CPU:$903A PRG:103A E6 38 dec $01B1 ; CPU:$903C PRG:103C CE B1 01 bne IrqHandler_OnNonzero9 ; CPU:$903F PRG:103F D0 DA - lda Zp36 ; CPU:$9041 PRG:1041 A5 36 - sta Zp31 ; CPU:$9043 PRG:1043 85 31 - lda Zp37 ; CPU:$9045 PRG:1045 A5 37 - sta Zp32 ; CPU:$9047 PRG:1047 85 32 + lda BoardState2 ; CPU:$9041 PRG:1041 A5 36 + sta BoardCursorX ; CPU:$9043 PRG:1043 85 31 + lda BoardState ; CPU:$9045 PRG:1045 A5 37 + sta BoardCursorY ; CPU:$9047 PRG:1047 85 32 rts ; CPU:$9049 PRG:1049 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_904A -; Global: Branch target inside Label: taken when 904A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 904A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4082,137 +4281,137 @@ Sub_904A: sta Zp39 ; CPU:$904E PRG:104E 85 39 ; ----------------------------------------------------------------------------- ; Routine: Sub_9050 -; Global: Branch target inside Label: taken when 9050. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9050. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9050: - lda Zp31 ; CPU:$9050 PRG:1050 A5 31 - sta Zp36 ; CPU:$9052 PRG:1052 85 36 - lda Zp32 ; CPU:$9054 PRG:1054 A5 32 - sta Zp37 ; CPU:$9056 PRG:1056 85 37 + lda BoardCursorX ; CPU:$9050 PRG:1050 A5 31 + sta BoardState2 ; CPU:$9052 PRG:1052 85 36 + lda BoardCursorY ; CPU:$9054 PRG:1054 A5 32 + sta BoardState ; CPU:$9056 PRG:1056 85 37 lda #$00 ; CPU:$9058 PRG:1058 A9 00 sta $01B1 ; CPU:$905A PRG:105A 8D B1 01 jsr Sub_94B2 ; CPU:$905D PRG:105D 20 B2 94 - lda ZpA5,x ; CPU:$9060 PRG:1060 B5 A5 + lda CellPatternIndex,x ; CPU:$9060 PRG:1060 B5 A5 sta Zp35 ; CPU:$9062 PRG:1062 85 35 ; ----------------------------------------------------------------------------- ; Routine: Sub_9064 -; Global: Branch target inside Label: taken when 9064. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9064. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9064: ldx Zp39 ; CPU:$9064 PRG:1064 A6 39 - lda Zp36 ; CPU:$9066 PRG:1066 A5 36 + lda BoardState2 ; CPU:$9066 PRG:1066 A5 36 clc ; CPU:$9068 PRG:1068 18 adc $9003,x ; CPU:$9069 PRG:1069 7D 03 90 - bmi IrqHandler_Loop95 ; CPU:$906C PRG:106C 30 44 + bmi IrqHandler_Loop101 ; CPU:$906C PRG:106C 30 44 cmp #$08 ; CPU:$906E PRG:106E C9 08 - bcs IrqHandler_Loop95 ; CPU:$9070 PRG:1070 B0 40 - sta Zp36 ; CPU:$9072 PRG:1072 85 36 - lda Zp37 ; CPU:$9074 PRG:1074 A5 37 + bcs IrqHandler_Loop101 ; CPU:$9070 PRG:1070 B0 40 + sta BoardState2 ; CPU:$9072 PRG:1072 85 36 + lda BoardState ; CPU:$9074 PRG:1074 A5 37 clc ; CPU:$9076 PRG:1076 18 adc $900B,x ; CPU:$9077 PRG:1077 7D 0B 90 - bmi IrqHandler_Loop95 ; CPU:$907A PRG:107A 30 36 + bmi IrqHandler_Loop101 ; CPU:$907A PRG:107A 30 36 cmp #$08 ; CPU:$907C PRG:107C C9 08 - bcs IrqHandler_Loop95 ; CPU:$907E PRG:107E B0 32 - sta Zp37 ; CPU:$9080 PRG:1080 85 37 + bcs IrqHandler_Loop101 ; CPU:$907E PRG:107E B0 32 + sta BoardState ; CPU:$9080 PRG:1080 85 37 jsr Sub_94B2 ; CPU:$9082 PRG:1082 20 B2 94 - lda ZpA5,x ; CPU:$9085 PRG:1085 B5 A5 + lda CellPatternIndex,x ; CPU:$9085 PRG:1085 B5 A5 and #$03 ; CPU:$9087 PRG:1087 29 03 - beq IrqHandler_Loop95 ; CPU:$9089 PRG:1089 F0 27 - lda ZpA5,x ; CPU:$908B PRG:108B B5 A5 + beq IrqHandler_Loop101 ; CPU:$9089 PRG:1089 F0 27 + lda CellPatternIndex,x ; CPU:$908B PRG:108B B5 A5 eor Zp35 ; CPU:$908D PRG:108D 45 35 and #$03 ; CPU:$908F PRG:108F 29 03 - bne IrqHandler_Loop94 ; CPU:$9091 PRG:1091 D0 13 + bne IrqHandler_Loop100 ; CPU:$9091 PRG:1091 D0 13 lda $01B1 ; CPU:$9093 PRG:1093 AD B1 01 - beq IrqHandler_Loop95 ; CPU:$9096 PRG:1096 F0 1A + beq IrqHandler_Loop101 ; CPU:$9096 PRG:1096 F0 1A ldx Zp39 ; CPU:$9098 PRG:1098 A6 39 lda $01B1 ; CPU:$909A PRG:109A AD B1 01 sta $07ED,x ; CPU:$909D PRG:109D 9D ED 07 jsr Sub_90C4 ; CPU:$90A0 PRG:10A0 20 C4 90 - jmp IrqHandler_Loop95 ; CPU:$90A3 PRG:10A3 4C B2 90 + jmp IrqHandler_Loop101 ; CPU:$90A3 PRG:10A3 4C B2 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop94 -; Global: Branch target inside Label: taken when 90A6. -; Local: Part of Label. +; Routine: IrqHandler_Loop100 +; Global: Branch target inside IrqHandler: taken when Loop100. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop94: +IrqHandler_Loop100: lda Zp06 ; CPU:$90A6 PRG:10A6 A5 06 and #$30 ; CPU:$90A8 PRG:10A8 29 30 - bne IrqHandler_Loop96 ; CPU:$90AA PRG:10AA D0 17 + bne IrqHandler_Loop102 ; CPU:$90AA PRG:10AA D0 17 inc $01B1 ; CPU:$90AC PRG:10AC EE B1 01 jmp Sub_9064 ; CPU:$90AF PRG:10AF 4C 64 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop95 -; Global: Branch target inside Label: taken when 90B2. -; Local: Part of Label. +; Routine: IrqHandler_Loop101 +; Global: Branch target inside IrqHandler: taken when Loop101. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop95: +IrqHandler_Loop101: lda Zp06 ; CPU:$90B2 PRG:10B2 A5 06 and #$30 ; CPU:$90B4 PRG:10B4 29 30 - bne IrqHandler_Loop96 ; CPU:$90B6 PRG:10B6 D0 0B + bne IrqHandler_Loop102 ; CPU:$90B6 PRG:10B6 D0 0B inc Zp39 ; CPU:$90B8 PRG:10B8 E6 39 lda Zp39 ; CPU:$90BA PRG:10BA A5 39 cmp #$08 ; CPU:$90BC PRG:10BC C9 08 - bcs IrqHandler_Loop96 ; CPU:$90BE PRG:10BE B0 03 + bcs IrqHandler_Loop102 ; CPU:$90BE PRG:10BE B0 03 jmp Sub_9050 ; CPU:$90C0 PRG:10C0 4C 50 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop96 -; Global: Branch target inside Label: taken when 90C3. -; Local: Part of Label. +; Routine: IrqHandler_Loop102 +; Global: Branch target inside IrqHandler: taken when Loop102. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop96: +IrqHandler_Loop102: rts ; CPU:$90C3 PRG:10C3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_90C4 -; Global: Branch target inside Label: taken when 90C4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 90C4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_90C4: - lda Zp31 ; CPU:$90C4 PRG:10C4 A5 31 - sta Zp36 ; CPU:$90C6 PRG:10C6 85 36 - lda Zp32 ; CPU:$90C8 PRG:10C8 A5 32 - sta Zp37 ; CPU:$90CA PRG:10CA 85 37 + lda BoardCursorX ; CPU:$90C4 PRG:10C4 A5 31 + sta BoardState2 ; CPU:$90C6 PRG:10C6 85 36 + lda BoardCursorY ; CPU:$90C8 PRG:10C8 A5 32 + sta BoardState ; CPU:$90CA PRG:10CA 85 37 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero10 -; Global: Branch target inside Label: taken when 90CC. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero10. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero10: ldx Zp39 ; CPU:$90CC PRG:10CC A6 39 - lda Zp31 ; CPU:$90CE PRG:10CE A5 31 + lda BoardCursorX ; CPU:$90CE PRG:10CE A5 31 clc ; CPU:$90D0 PRG:10D0 18 adc $9003,x ; CPU:$90D1 PRG:10D1 7D 03 90 - sta Zp31 ; CPU:$90D4 PRG:10D4 85 31 - lda Zp32 ; CPU:$90D6 PRG:10D6 A5 32 + sta BoardCursorX ; CPU:$90D4 PRG:10D4 85 31 + lda BoardCursorY ; CPU:$90D6 PRG:10D6 A5 32 clc ; CPU:$90D8 PRG:10D8 18 adc $900B,x ; CPU:$90D9 PRG:10D9 7D 0B 90 - sta Zp32 ; CPU:$90DC PRG:10DC 85 32 + sta BoardCursorY ; CPU:$90DC PRG:10DC 85 32 lda Zp06 ; CPU:$90DE PRG:10DE A5 06 and #$30 ; CPU:$90E0 PRG:10E0 29 30 - bne IrqHandler_Loop97 ; CPU:$90E2 PRG:10E2 D0 1C - lda Zp2E ; CPU:$90E4 PRG:10E4 A5 2E + bne IrqHandler_Loop103 ; CPU:$90E2 PRG:10E2 D0 1C + lda CursorMoved ; CPU:$90E4 PRG:10E4 A5 2E and #$02 ; CPU:$90E6 PRG:10E6 29 02 lsr a ; CPU:$90E8 PRG:10E8 4A adc #$08 ; CPU:$90E9 PRG:10E9 69 08 @@ -4221,24 +4420,24 @@ IrqHandler_OnNonzero10: inc Zp38 ; CPU:$90F1 PRG:10F1 E6 38 dec $01B1 ; CPU:$90F3 PRG:10F3 CE B1 01 bne IrqHandler_OnNonzero10 ; CPU:$90F6 PRG:10F6 D0 D4 - lda Zp36 ; CPU:$90F8 PRG:10F8 A5 36 - sta Zp31 ; CPU:$90FA PRG:10FA 85 31 - lda Zp37 ; CPU:$90FC PRG:10FC A5 37 - sta Zp32 ; CPU:$90FE PRG:10FE 85 32 + lda BoardState2 ; CPU:$90F8 PRG:10F8 A5 36 + sta BoardCursorX ; CPU:$90FA PRG:10FA 85 31 + lda BoardState ; CPU:$90FC PRG:10FC A5 37 + sta BoardCursorY ; CPU:$90FE PRG:10FE 85 32 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop97 -; Global: Branch target inside Label: taken when 9100. -; Local: Part of Label. +; Routine: IrqHandler_Loop103 +; Global: Branch target inside IrqHandler: taken when Loop103. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop97: +IrqHandler_Loop103: rts ; CPU:$9100 PRG:1100 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9101 -; Global: Branch target inside Label: taken when 9101. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9101. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4248,8 +4447,8 @@ Sub_9101: lda #$FF ; CPU:$9103 PRG:1103 A9 FF ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative13 -; Global: Branch target inside Label: taken when 9105. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative13. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4261,8 +4460,8 @@ IrqHandler_OnNonnegative13: rts ; CPU:$910B PRG:110B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_910C -; Global: Branch target inside Label: taken when 910C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 910C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4272,8 +4471,8 @@ Sub_910C: lda #$00 ; CPU:$910E PRG:110E A9 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative14 -; Global: Branch target inside Label: taken when 9110. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4288,8 +4487,8 @@ IrqHandler_OnNonnegative14: rts ; CPU:$911E PRG:111E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_911F -; Global: Branch target inside Label: taken when 911F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 911F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4298,8 +4497,8 @@ Sub_911F: ldx #$09 ; CPU:$911F PRG:111F A2 09 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative15 -; Global: Branch target inside Label: taken when 9121. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative15. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4312,8 +4511,8 @@ IrqHandler_OnNonnegative15: rts ; CPU:$912A PRG:112A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_912B -; Global: Branch target inside Label: taken when 912B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 912B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4322,8 +4521,8 @@ Sub_912B: ldx #$03 ; CPU:$912B PRG:112B A2 03 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative16 -; Global: Branch target inside Label: taken when 912D. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonnegative16. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4334,21 +4533,200 @@ IrqHandler_OnNonnegative16: dex ; CPU:$9132 PRG:1132 CA bpl IrqHandler_OnNonnegative16 ; CPU:$9133 PRG:1133 10 F8 rts ; CPU:$9135 PRG:1135 60 -; ---- data $9136-$91CD (152 bytes) ---- - .byte $A2, $09, $BD, $F5, $07, $9D, $EB, $07, $CA, $10, $F7, $60, $AD, $EB, $07, $30 ; CPU:$9136 PRG:1136 A2 09 BD F5 07 9D EB 07 CA 10 F7 60 AD EB 07 30 - .byte $03, $20, $A1, $91, $20, $25, $82, $20, $36, $91, $AD, $EB, $07, $30, $06, $20 ; CPU:$9146 PRG:1146 03 20 A1 91 20 25 82 20 36 91 AD EB 07 30 06 20 - .byte $A1, $91, $20, $25, $82, $20, $0C, $91, $20, $1F, $91, $20, $0C, $91, $20, $68 ; CPU:$9156 PRG:1156 A1 91 20 25 82 20 0C 91 20 1F 91 20 0C 91 20 68 - .byte $A1, $A2, $03, $BD, $C9, $01, $95, $54, $CA, $10, $F8, $A5, $2F, $C9, $02, $F0 ; CPU:$9166 PRG:1166 A1 A2 03 BD C9 01 95 54 CA 10 F8 A5 2F C9 02 F0 - .byte $29, $29, $02, $F0, $0E, $A2, $02, $BD, $C6, $01, $9D, $1C, $01, $CA, $10, $F7 ; CPU:$9176 PRG:1176 29 29 02 F0 0E A2 02 BD C6 01 9D 1C 01 CA 10 F7 - .byte $4C, $94, $91, $A2, $02, $BD, $C6, $01, $9D, $1F, $01, $CA, $10, $F7, $20, $25 ; CPU:$9186 PRG:1186 4C 94 91 A2 02 BD C6 01 9D 1F 01 CA 10 F7 20 25 - .byte $82, $20, $75, $A3, $20, $25, $82, $20, $75, $A3, $60, $20, $25, $82, $AD, $EB ; CPU:$9196 PRG:1196 82 20 75 A3 20 25 82 20 75 A3 60 20 25 82 AD EB - .byte $07, $85, $31, $AD, $EC, $07, $85, $32, $20, $84, $8F, $20, $25, $82, $A2, $00 ; CPU:$91A6 PRG:11A6 07 85 31 AD EC 07 85 32 20 84 8F 20 25 82 A2 00 - .byte $86, $39, $A6, $39, $BD, $ED, $07, $8D, $B1, $01, $F0, $03, $20, $13, $90, $E6 ; CPU:$91B6 PRG:11B6 86 39 A6 39 BD ED 07 8D B1 01 F0 03 20 13 90 E6 - .byte $39, $A5, $39, $C9, $08, $90, $EB, $60 ; CPU:$91C6 PRG:11C6 39 A5 39 C9 08 90 EB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9136 +; Global: Branch target inside Sub: taken when 9136. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9136: + ldx #$09 ; CPU:$9136 PRG:1136 A2 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative17 +; Global: Branch target inside IrqHandler: taken when OnNonnegative17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative17: + lda $07F5,x ; CPU:$9138 PRG:1138 BD F5 07 + sta $07EB,x ; CPU:$913B PRG:113B 9D EB 07 + dex ; CPU:$913E PRG:113E CA + bpl IrqHandler_OnNonnegative17 ; CPU:$913F PRG:113F 10 F7 + rts ; CPU:$9141 PRG:1141 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9142 +; Global: Branch target inside Sub: taken when 9142. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9142: + lda $07EB ; CPU:$9142 PRG:1142 AD EB 07 + bmi IrqHandler_Loop104 ; CPU:$9145 PRG:1145 30 03 + jsr Sub_91A1 ; CPU:$9147 PRG:1147 20 A1 91 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop104 +; Global: Branch target inside IrqHandler: taken when Loop104. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop104: + jsr Sub_8225 ; CPU:$914A PRG:114A 20 25 82 + jsr Sub_9136 ; CPU:$914D PRG:114D 20 36 91 + lda $07EB ; CPU:$9150 PRG:1150 AD EB 07 + bmi IrqHandler_Loop105 ; CPU:$9153 PRG:1153 30 06 + jsr Sub_91A1 ; CPU:$9155 PRG:1155 20 A1 91 + jsr Sub_8225 ; CPU:$9158 PRG:1158 20 25 82 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop105 +; Global: Branch target inside IrqHandler: taken when Loop105. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop105: + jsr Sub_910C ; CPU:$915B PRG:115B 20 0C 91 + jsr Sub_911F ; CPU:$915E PRG:115E 20 1F 91 + jsr Sub_910C ; CPU:$9161 PRG:1161 20 0C 91 + jsr Sub_A168 ; CPU:$9164 PRG:1164 20 68 A1 + ldx #$03 ; CPU:$9167 PRG:1167 A2 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative18 +; Global: Branch target inside IrqHandler: taken when OnNonnegative18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative18: + lda $01C9,x ; CPU:$9169 PRG:1169 BD C9 01 + sta Zp54,x ; CPU:$916C PRG:116C 95 54 + dex ; CPU:$916E PRG:116E CA + bpl IrqHandler_OnNonnegative18 ; CPU:$916F PRG:116F 10 F8 + lda PlayerSide ; CPU:$9171 PRG:1171 A5 2F + cmp #$02 ; CPU:$9173 PRG:1173 C9 02 + beq IrqHandler_Loop107 ; CPU:$9175 PRG:1175 F0 29 + and #$02 ; CPU:$9177 PRG:1177 29 02 + beq IrqHandler_Loop106 ; CPU:$9179 PRG:1179 F0 0E + ldx #$02 ; CPU:$917B PRG:117B A2 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative19 +; Global: Branch target inside IrqHandler: taken when OnNonnegative19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative19: + lda $01C6,x ; CPU:$917D PRG:117D BD C6 01 + sta $011C,x ; CPU:$9180 PRG:1180 9D 1C 01 + dex ; CPU:$9183 PRG:1183 CA + bpl IrqHandler_OnNonnegative19 ; CPU:$9184 PRG:1184 10 F7 + jmp Sub_9194 ; CPU:$9186 PRG:1186 4C 94 91 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop106 +; Global: Branch target inside IrqHandler: taken when Loop106. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop106: + ldx #$02 ; CPU:$9189 PRG:1189 A2 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative20 +; Global: Branch target inside IrqHandler: taken when OnNonnegative20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative20: + lda $01C6,x ; CPU:$918B PRG:118B BD C6 01 + sta $011F,x ; CPU:$918E PRG:118E 9D 1F 01 + dex ; CPU:$9191 PRG:1191 CA + bpl IrqHandler_OnNonnegative20 ; CPU:$9192 PRG:1192 10 F7 +; ----------------------------------------------------------------------------- +; Routine: Sub_9194 +; Global: Branch target inside Sub: taken when 9194. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9194: + jsr Sub_8225 ; CPU:$9194 PRG:1194 20 25 82 + jsr Sub_A375 ; CPU:$9197 PRG:1197 20 75 A3 + jsr Sub_8225 ; CPU:$919A PRG:119A 20 25 82 + jsr Sub_A375 ; CPU:$919D PRG:119D 20 75 A3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop107 +; Global: Branch target inside IrqHandler: taken when Loop107. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop107: + rts ; CPU:$91A0 PRG:11A0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_91A1 +; Global: Branch target inside Sub: taken when 91A1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_91A1: + jsr Sub_8225 ; CPU:$91A1 PRG:11A1 20 25 82 + lda $07EB ; CPU:$91A4 PRG:11A4 AD EB 07 + sta BoardCursorX ; CPU:$91A7 PRG:11A7 85 31 + lda $07EC ; CPU:$91A9 PRG:11A9 AD EC 07 + sta BoardCursorY ; CPU:$91AC PRG:11AC 85 32 + jsr Sub_8F84 ; CPU:$91AE PRG:11AE 20 84 8F + jsr Sub_8225 ; CPU:$91B1 PRG:11B1 20 25 82 + ldx #$00 ; CPU:$91B4 PRG:11B4 A2 00 + stx Zp39 ; CPU:$91B6 PRG:11B6 86 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear +; Global: Branch target inside IrqHandler: taken when the addition or subtraction did not carry. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear: + ldx Zp39 ; CPU:$91B8 PRG:11B8 A6 39 + lda $07ED,x ; CPU:$91BA PRG:11BA BD ED 07 + sta $01B1 ; CPU:$91BD PRG:11BD 8D B1 01 + beq IrqHandler_Loop108 ; CPU:$91C0 PRG:11C0 F0 03 + jsr Sub_9013 ; CPU:$91C2 PRG:11C2 20 13 90 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop108 +; Global: Branch target inside IrqHandler: taken when Loop108. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop108: + inc Zp39 ; CPU:$91C5 PRG:11C5 E6 39 + lda Zp39 ; CPU:$91C7 PRG:11C7 A5 39 + cmp #$08 ; CPU:$91C9 PRG:11C9 C9 08 + bcc IrqHandler_OnCarryClear ; CPU:$91CB PRG:11CB 90 EB + rts ; CPU:$91CD PRG:11CD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_91CE -; Global: Branch target inside Label: taken when 91CE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 91CE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4380,8 +4758,8 @@ Sub_91CE: jsr Sub_9A43 ; CPU:$920D PRG:120D 20 43 9A ; ----------------------------------------------------------------------------- ; Routine: Sub_9210 -; Global: Branch target inside Label: taken when 9210. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9210. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4393,7 +4771,7 @@ Sub_9210: ldx $0102 ; CPU:$9219 PRG:1219 AE 02 01 lda $0126,x ; CPU:$921C PRG:121C BD 26 01 cmp #$FF ; CPU:$921F PRG:121F C9 FF - beq IrqHandler_Loop99 ; CPU:$9221 PRG:1221 F0 6E + beq IrqHandler_Loop110 ; CPU:$9221 PRG:1221 F0 6E pha ; CPU:$9223 PRG:1223 48 and #$7F ; CPU:$9224 PRG:1224 29 7F tax ; CPU:$9226 PRG:1226 AA @@ -4401,51 +4779,51 @@ Sub_9210: jsr Sub_9BB0 ; CPU:$922A PRG:122A 20 B0 9B lda Zp06 ; CPU:$922D PRG:122D A5 06 and #$30 ; CPU:$922F PRG:122F 29 30 - bne IrqHandler_Loop101 ; CPU:$9231 PRG:1231 D0 66 - lda Zp31 ; CPU:$9233 PRG:1233 A5 31 - sta Zp36 ; CPU:$9235 PRG:1235 85 36 - lda Zp32 ; CPU:$9237 PRG:1237 A5 32 - sta Zp37 ; CPU:$9239 PRG:1239 85 37 + bne IrqHandler_Loop112 ; CPU:$9231 PRG:1231 D0 66 + lda BoardCursorX ; CPU:$9233 PRG:1233 A5 31 + sta BoardState2 ; CPU:$9235 PRG:1235 85 36 + lda BoardCursorY ; CPU:$9237 PRG:1237 A5 32 + sta BoardState ; CPU:$9239 PRG:1239 85 37 jsr Sub_8F65 ; CPU:$923B PRG:123B 20 65 8F lda #$07 ; CPU:$923E PRG:123E A9 07 jsr Sub_DB0F ; CPU:$9240 PRG:1240 20 0F DB lda #$0A ; CPU:$9243 PRG:1243 A9 0A - jsr IrqHandler_OnNonzero18 ; CPU:$9245 PRG:1245 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9245 PRG:1245 20 A0 A2 lda Zp06 ; CPU:$9248 PRG:1248 A5 06 and #$30 ; CPU:$924A PRG:124A 29 30 - bne IrqHandler_Loop101 ; CPU:$924C PRG:124C D0 4B + bne IrqHandler_Loop112 ; CPU:$924C PRG:124C D0 4B jsr Sub_8E2F ; CPU:$924E PRG:124E 20 2F 8E jsr Sub_904A ; CPU:$9251 PRG:1251 20 4A 90 lda Zp06 ; CPU:$9254 PRG:1254 A5 06 and #$30 ; CPU:$9256 PRG:1256 29 30 - bne IrqHandler_Loop101 ; CPU:$9258 PRG:1258 D0 3F + bne IrqHandler_Loop112 ; CPU:$9258 PRG:1258 D0 3F jsr Sub_9D4E ; CPU:$925A PRG:125A 20 4E 9D pla ; CPU:$925D PRG:125D 68 and #$80 ; CPU:$925E PRG:125E 29 80 - bne IrqHandler_Loop98 ; CPU:$9260 PRG:1260 D0 11 + bne IrqHandler_Loop109 ; CPU:$9260 PRG:1260 D0 11 jsr Sub_8225 ; CPU:$9262 PRG:1262 20 25 82 lda Zp06 ; CPU:$9265 PRG:1265 A5 06 and #$30 ; CPU:$9267 PRG:1267 29 30 - bne IrqHandler_Loop100 ; CPU:$9269 PRG:1269 D0 2B + bne IrqHandler_Loop111 ; CPU:$9269 PRG:1269 D0 2B lda #$14 ; CPU:$926B PRG:126B A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$926D PRG:126D 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$926D PRG:126D 20 A0 A2 jmp Sub_927C ; CPU:$9270 PRG:1270 4C 7C 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop98 -; Global: Branch target inside Label: taken when 9273. -; Local: Part of Label. +; Routine: IrqHandler_Loop109 +; Global: Branch target inside IrqHandler: taken when Loop109. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop98: +IrqHandler_Loop109: jsr Sub_98B5 ; CPU:$9273 PRG:1273 20 B5 98 jsr Sub_8E27 ; CPU:$9276 PRG:1276 20 27 8E jsr Sub_9A43 ; CPU:$9279 PRG:1279 20 43 9A ; ----------------------------------------------------------------------------- ; Routine: Sub_927C -; Global: Branch target inside Label: taken when 927C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 927C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4454,49 +4832,49 @@ Sub_927C: ldx #$00 ; CPU:$927C PRG:127C A2 00 lda Zp06 ; CPU:$927E PRG:127E A5 06 and #$30 ; CPU:$9280 PRG:1280 29 30 - bne IrqHandler_Loop100 ; CPU:$9282 PRG:1282 D0 12 + bne IrqHandler_Loop111 ; CPU:$9282 PRG:1282 D0 12 inc $0102 ; CPU:$9284 PRG:1284 EE 02 01 lda $0102 ; CPU:$9287 PRG:1287 AD 02 01 cmp #$3C ; CPU:$928A PRG:128A C9 3C - bcs IrqHandler_Loop99 ; CPU:$928C PRG:128C B0 03 + bcs IrqHandler_Loop110 ; CPU:$928C PRG:128C B0 03 jmp Sub_9210 ; CPU:$928E PRG:128E 4C 10 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop99 -; Global: Branch target inside Label: taken when 9291. -; Local: Part of Label. +; Routine: IrqHandler_Loop110 +; Global: Branch target inside IrqHandler: taken when Loop110. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop99: +IrqHandler_Loop110: lda #$3C ; CPU:$9291 PRG:1291 A9 3C - jsr IrqHandler_OnNonzero18 ; CPU:$9293 PRG:1293 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9293 PRG:1293 20 A0 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop100 -; Global: Branch target inside Label: taken when 9296. -; Local: Part of Label. +; Routine: IrqHandler_Loop111 +; Global: Branch target inside IrqHandler: taken when Loop111. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop100: +IrqHandler_Loop111: jmp Sub_D9EA ; CPU:$9296 PRG:1296 4C EA D9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop101 -; Global: Branch target inside Label: taken when 9299. -; Local: Part of Label. +; Routine: IrqHandler_Loop112 +; Global: Branch target inside IrqHandler: taken when Loop112. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop101: +IrqHandler_Loop112: jsr Sub_9D4E ; CPU:$9299 PRG:1299 20 4E 9D pla ; CPU:$929C PRG:129C 68 jmp Sub_D9EA ; CPU:$929D PRG:129D 4C EA D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_92A0 -; Global: Branch target inside Label: taken when 92A0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 92A0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4504,50 +4882,51 @@ IrqHandler_Loop101: Sub_92A0: lda $0125 ; CPU:$92A0 PRG:12A0 AD 25 01 and #$01 ; CPU:$92A3 PRG:12A3 29 01 - beq IrqHandler_Loop102 ; CPU:$92A5 PRG:12A5 F0 0C + beq IrqHandler_Loop113 ; CPU:$92A5 PRG:12A5 F0 0C ldx #$3B ; CPU:$92A7 PRG:12A7 A2 3B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative17 -; Global: Branch target inside Label: taken when 92A9. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative21 +; Global: Branch target inside IrqHandler: taken when OnNonnegative21. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative17: +IrqHandler_OnNonnegative21: lda $92BF,x ; CPU:$92A9 PRG:12A9 BD BF 92 sta $0126,x ; CPU:$92AC PRG:12AC 9D 26 01 dex ; CPU:$92AF PRG:12AF CA - bpl IrqHandler_OnNonnegative17 ; CPU:$92B0 PRG:12B0 10 F7 + bpl IrqHandler_OnNonnegative21 ; CPU:$92B0 PRG:12B0 10 F7 rts ; CPU:$92B2 PRG:12B2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop102 -; Global: Branch target inside Label: taken when 92B3. -; Local: Part of Label. +; Routine: IrqHandler_Loop113 +; Global: Branch target inside IrqHandler: taken when Loop113. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop102: +IrqHandler_Loop113: ldx #$3B ; CPU:$92B3 PRG:12B3 A2 3B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative18 -; Global: Branch target inside Label: taken when 92B5. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative22 +; Global: Branch target inside IrqHandler: taken when OnNonnegative22. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative18: +IrqHandler_OnNonnegative22: lda $92FB,x ; CPU:$92B5 PRG:12B5 BD FB 92 sta $0126,x ; CPU:$92B8 PRG:12B8 9D 26 01 dex ; CPU:$92BB PRG:12BB CA - bpl IrqHandler_OnNonnegative18 ; CPU:$92BC PRG:12BC 10 F7 + bpl IrqHandler_OnNonnegative22 ; CPU:$92BC PRG:12BC 10 F7 rts ; CPU:$92BE PRG:12BE 60 ; ---- data $92BF-$9336 (120 bytes) ---- ; referenced by `lda $92BF,x` at $92A9 (operand $92BF falls inside this region) ; referenced by `lda $92FB,x` at $92B5 (operand $92FB falls inside this region) - .byte $25, $2B, $2A, $1D, $2C, $26, $13, $1A, $15, $22, $2D, $33, $32, $35, $2F, $14 ; CPU:$92BF PRG:12BF 25 2B 2A 1D 2C 26 13 1A 15 22 2D 33 32 35 2F 14 +BoardCellCharsetTable: + .byte $25, $2B, $2A, $1D, $2C, $26, $13, $1A, $15, $22, $2D, $33, $32, $35, $2F, $14 ; CPU:$92BF PRG:-2D41 25 2B 2A 1D 2C 26 13 1A 15 22 2D 33 32 35 2F 14 .byte $3A, $34, $3B, $3D, $0B, $0A, $29, $12, $3C, $03, $19, $11, $04, $05, $10, $27 ; CPU:$92CF PRG:12CF 3A 34 3B 3D 0B 0A 29 12 3C 03 19 11 04 05 10 27 .byte $1F, $2E, $02, $09, $37, $01, $3E, $0C, $0D, $18, $20, $21, $08, $28, $30, $00 ; CPU:$92DF PRG:12DF 1F 2E 02 09 37 01 3E 0C 0D 18 20 21 08 28 30 00 .byte $31, $38, $39, $3F, $36, $1E, $0E, $07, $16, $06, $0F, $17, $2C, $2D, $25, $2B ; CPU:$92EF PRG:12EF 31 38 39 3F 36 1E 0E 07 16 06 0F 17 2C 2D 25 2B @@ -4557,8 +4936,8 @@ IrqHandler_OnNonnegative18: .byte $10, $11, $37, $36, $BF, $30, $20, $18 ; CPU:$932F PRG:132F 10 11 37 36 BF 30 20 18 ; ----------------------------------------------------------------------------- ; Routine: Sub_9337 -; Global: Branch target inside Label: taken when 9337. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9337. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4569,27 +4948,27 @@ Sub_9337: jsr Sub_9359 ; CPU:$933C PRG:133C 20 59 93 lda Zp35 ; CPU:$933F PRG:133F A5 35 and #$03 ; CPU:$9341 PRG:1341 29 03 - bne IrqHandler_Loop103 ; CPU:$9343 PRG:1343 D0 05 + bne IrqHandler_Loop114 ; CPU:$9343 PRG:1343 D0 05 lda #$00 ; CPU:$9345 PRG:1345 A9 00 jmp Sub_9353 ; CPU:$9347 PRG:1347 4C 53 93 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop103 -; Global: Branch target inside Label: taken when 934A. -; Local: Part of Label. +; Routine: IrqHandler_Loop114 +; Global: Branch target inside IrqHandler: taken when Loop114. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop103: +IrqHandler_Loop114: lda Zp35 ; CPU:$934A PRG:134A A5 35 - eor Zp2F ; CPU:$934C PRG:134C 45 2F + eor PlayerSide ; CPU:$934C PRG:134C 45 2F and #$02 ; CPU:$934E PRG:134E 29 02 asl a ; CPU:$9350 PRG:1350 0A adc #$10 ; CPU:$9351 PRG:1351 69 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_9353 -; Global: Branch target inside Label: taken when 9353. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9353. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4599,19 +4978,19 @@ Sub_9353: jmp Sub_9369 ; CPU:$9356 PRG:1356 4C 69 93 ; ----------------------------------------------------------------------------- ; Routine: Sub_9359 -; Global: Branch target inside Label: taken when 9359. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9359. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9359: - lda Zp32 ; CPU:$9359 PRG:1359 A5 32 + lda BoardCursorY ; CPU:$9359 PRG:1359 A5 32 asl a ; CPU:$935B PRG:135B 0A clc ; CPU:$935C PRG:135C 18 adc #$06 ; CPU:$935D PRG:135D 69 06 tay ; CPU:$935F PRG:135F A8 - lda Zp31 ; CPU:$9360 PRG:1360 A5 31 + lda BoardCursorX ; CPU:$9360 PRG:1360 A5 31 asl a ; CPU:$9362 PRG:1362 0A tax ; CPU:$9363 PRG:1363 AA inx ; CPU:$9364 PRG:1364 E8 @@ -4619,22 +4998,22 @@ Sub_9359: jmp Sub_D736 ; CPU:$9366 PRG:1366 4C 36 D7 ; ----------------------------------------------------------------------------- ; Routine: Sub_9369 -; Global: Branch target inside Label: taken when 9369. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9369. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9369: lda Zp04 ; CPU:$9369 PRG:1369 A5 04 - bne IrqHandler_Loop105 ; CPU:$936B PRG:136B D0 39 + bne IrqHandler_Loop116 ; CPU:$936B PRG:136B D0 39 ldx $0118 ; CPU:$936D PRG:136D AE 18 01 - lda Zp10 ; CPU:$9370 PRG:1370 A5 10 + lda MoveDeltaY ; CPU:$9370 PRG:1370 A5 10 sta PPUADDR ; CPU:$9372 PRG:1372 8D 06 20 - lda Zp0F ; CPU:$9375 PRG:1375 A5 0F + lda MoveDeltaX ; CPU:$9375 PRG:1375 A5 0F sta PPUADDR ; CPU:$9377 PRG:1377 8D 06 20 lda $0124 ; CPU:$937A PRG:137A AD 24 01 - bne IrqHandler_Loop104 ; CPU:$937D PRG:137D D0 22 + bne IrqHandler_Loop115 ; CPU:$937D PRG:137D D0 22 txa ; CPU:$937F PRG:137F 8A sta PPUDATA ; CPU:$9380 PRG:1380 8D 07 20 inx ; CPU:$9383 PRG:1383 E8 @@ -4643,10 +5022,10 @@ Sub_9369: sta PPUDATA ; CPU:$9386 PRG:1386 8D 07 20 lda #$20 ; CPU:$9389 PRG:1389 A9 20 clc ; CPU:$938B PRG:138B 18 - adc Zp0F ; CPU:$938C PRG:138C 65 0F + adc MoveDeltaX ; CPU:$938C PRG:138C 65 0F tay ; CPU:$938E PRG:138E A8 lda #$00 ; CPU:$938F PRG:138F A9 00 - adc Zp10 ; CPU:$9391 PRG:1391 65 10 + adc MoveDeltaY ; CPU:$9391 PRG:1391 65 10 sta PPUADDR ; CPU:$9393 PRG:1393 8D 06 20 tya ; CPU:$9396 PRG:1396 98 sta PPUADDR ; CPU:$9397 PRG:1397 8D 06 20 @@ -4656,29 +5035,29 @@ Sub_9369: inx ; CPU:$939F PRG:139F E8 inx ; CPU:$93A0 PRG:13A0 E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop104 -; Global: Branch target inside Label: taken when 93A1. -; Local: Part of Label. +; Routine: IrqHandler_Loop115 +; Global: Branch target inside IrqHandler: taken when Loop115. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop104: +IrqHandler_Loop115: txa ; CPU:$93A1 PRG:13A1 8A sta PPUDATA ; CPU:$93A2 PRG:13A2 8D 07 20 rts ; CPU:$93A5 PRG:13A5 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop105 -; Global: Branch target inside Label: taken when 93A6. -; Local: Part of Label. +; Routine: IrqHandler_Loop116 +; Global: Branch target inside IrqHandler: taken when Loop116. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop105: +IrqHandler_Loop116: jsr Sub_D8D5 ; CPU:$93A6 PRG:13A6 20 D5 D8 lda $0124 ; CPU:$93A9 PRG:13A9 AD 24 01 - bne IrqHandler_Loop106 ; CPU:$93AC PRG:13AC D0 48 + bne IrqHandler_Loop117 ; CPU:$93AC PRG:13AC D0 48 lda #$02 ; CPU:$93AE PRG:13AE A9 02 jsr Sub_D8F9 ; CPU:$93B0 PRG:13B0 20 F9 D8 lda $0118 ; CPU:$93B3 PRG:13B3 AD 18 01 @@ -4691,12 +5070,12 @@ IrqHandler_Loop105: jsr Sub_D905 ; CPU:$93C8 PRG:13C8 20 05 D9 lda #$20 ; CPU:$93CB PRG:13CB A9 20 clc ; CPU:$93CD PRG:13CD 18 - adc Zp0F ; CPU:$93CE PRG:13CE 65 0F - sta Zp0F ; CPU:$93D0 PRG:13D0 85 0F + adc MoveDeltaX ; CPU:$93CE PRG:13CE 65 0F + sta MoveDeltaX ; CPU:$93D0 PRG:13D0 85 0F tay ; CPU:$93D2 PRG:13D2 A8 lda #$00 ; CPU:$93D3 PRG:13D3 A9 00 - adc Zp10 ; CPU:$93D5 PRG:13D5 65 10 - sta Zp10 ; CPU:$93D7 PRG:13D7 85 10 + adc MoveDeltaY ; CPU:$93D5 PRG:13D5 65 10 + sta MoveDeltaY ; CPU:$93D7 PRG:13D7 85 10 jsr Sub_D8D5 ; CPU:$93D9 PRG:13D9 20 D5 D8 lda #$02 ; CPU:$93DC PRG:13DC A9 02 jsr Sub_D8F9 ; CPU:$93DE PRG:13DE 20 F9 D8 @@ -4710,14 +5089,14 @@ IrqHandler_Loop105: dec $0118 ; CPU:$93F0 PRG:13F0 CE 18 01 jmp Sub_D905 ; CPU:$93F3 PRG:13F3 4C 05 D9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop106 -; Global: Branch target inside Label: taken when 93F6. -; Local: Part of Label. +; Routine: IrqHandler_Loop117 +; Global: Branch target inside IrqHandler: taken when Loop117. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop106: +IrqHandler_Loop117: lda #$01 ; CPU:$93F6 PRG:13F6 A9 01 jsr Sub_D8F9 ; CPU:$93F8 PRG:13F8 20 F9 D8 lda $0118 ; CPU:$93FB PRG:13FB AD 18 01 @@ -4725,8 +5104,8 @@ IrqHandler_Loop106: jmp Sub_D905 ; CPU:$9401 PRG:1401 4C 05 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_9404 -; Global: Branch target inside Label: taken when 9404. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9404. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4737,7 +5116,7 @@ Sub_9404: sta $0119 ; CPU:$9409 PRG:1409 8D 19 01 lda #$00 ; CPU:$940C PRG:140C A9 00 sta $011A ; CPU:$940E PRG:140E 8D 1A 01 - lda Zp2E ; CPU:$9411 PRG:1411 A5 2E + lda CursorMoved ; CPU:$9411 PRG:1411 A5 2E eor #$FF ; CPU:$9413 PRG:1413 49 FF and #$02 ; CPU:$9415 PRG:1415 29 02 tax ; CPU:$9417 PRG:1417 AA @@ -4754,8 +5133,8 @@ Sub_9404: sta $011B ; CPU:$942F PRG:142F 8D 1B 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero3 -; Global: Branch target inside Label: taken when 9432. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4767,14 +5146,14 @@ IrqHandler_OnZero3: asl a ; CPU:$9437 PRG:1437 0A asl a ; CPU:$9438 PRG:1438 0A sta $0118 ; CPU:$9439 PRG:1439 8D 18 01 - lda Zp2E ; CPU:$943C PRG:143C A5 2E + lda CursorMoved ; CPU:$943C PRG:143C A5 2E eor #$FF ; CPU:$943E PRG:143E 49 FF and #$02 ; CPU:$9440 PRG:1440 29 02 asl a ; CPU:$9442 PRG:1442 0A adc $0118 ; CPU:$9443 PRG:1443 6D 18 01 sta $0118 ; CPU:$9446 PRG:1446 8D 18 01 lda #$07 ; CPU:$9449 PRG:1449 A9 07 - jsr IrqHandler_OnNonzero18 ; CPU:$944B PRG:144B 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$944B PRG:144B 20 A0 A2 lda #$00 ; CPU:$944E PRG:144E A9 00 sta $0124 ; CPU:$9450 PRG:1450 8D 24 01 jsr Sub_A013 ; CPU:$9453 PRG:1453 20 13 A0 @@ -4784,91 +5163,91 @@ IrqHandler_OnZero3: and #$04 ; CPU:$945F PRG:145F 29 04 beq IrqHandler_OnZero3 ; CPU:$9461 PRG:1461 F0 CF lda #$07 ; CPU:$9463 PRG:1463 A9 07 - jsr IrqHandler_OnNonzero18 ; CPU:$9465 PRG:1465 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9465 PRG:1465 20 A0 A2 jsr Sub_8F65 ; CPU:$9468 PRG:1468 20 65 8F jsr Sub_8E2F ; CPU:$946B PRG:146B 20 2F 8E - jsr IrqHandler_Loop147 ; CPU:$946E PRG:146E 20 A7 A0 + jsr IrqHandler_Loop173 ; CPU:$946E PRG:146E 20 A7 A0 lda #$04 ; CPU:$9471 PRG:1471 A9 04 sta $0119 ; CPU:$9473 PRG:1473 8D 19 01 jmp Sub_A0C3 ; CPU:$9476 PRG:1476 4C C3 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9479 -; Global: Branch target inside Label: taken when 9479. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9479. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9479: - lda Zp32 ; CPU:$9479 PRG:1479 A5 32 + lda BoardCursorY ; CPU:$9479 PRG:1479 A5 32 asl a ; CPU:$947B PRG:147B 0A asl a ; CPU:$947C PRG:147C 0A asl a ; CPU:$947D PRG:147D 0A - adc Zp32 ; CPU:$947E PRG:147E 65 32 - adc Zp31 ; CPU:$9480 PRG:1480 65 31 + adc BoardCursorY ; CPU:$947E PRG:147E 65 32 + adc BoardCursorX ; CPU:$9480 PRG:1480 65 31 adc #$0A ; CPU:$9482 PRG:1482 69 0A tax ; CPU:$9484 PRG:1484 AA rts ; CPU:$9485 PRG:1485 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9486 -; Global: Branch target inside Label: taken when 9486. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9486. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9486: - lda Zp32 ; CPU:$9486 PRG:1486 A5 32 + lda BoardCursorY ; CPU:$9486 PRG:1486 A5 32 asl a ; CPU:$9488 PRG:1488 0A asl a ; CPU:$9489 PRG:1489 0A asl a ; CPU:$948A PRG:148A 0A - adc Zp31 ; CPU:$948B PRG:148B 65 31 + adc BoardCursorX ; CPU:$948B PRG:148B 65 31 tax ; CPU:$948D PRG:148D AA rts ; CPU:$948E PRG:148E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_948F -; Global: Branch target inside Label: taken when 948F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 948F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_948F: lda #$00 ; CPU:$948F PRG:148F A9 00 - sta Zp32 ; CPU:$9491 PRG:1491 85 32 + sta BoardCursorY ; CPU:$9491 PRG:1491 85 32 txa ; CPU:$9493 PRG:1493 8A sec ; CPU:$9494 PRG:1494 38 sbc #$0A ; CPU:$9495 PRG:1495 E9 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_9497 -; Global: Branch target inside Label: taken when 9497. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9497. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9497: cmp #$09 ; CPU:$9497 PRG:1497 C9 09 - bcc IrqHandler_Loop107 ; CPU:$9499 PRG:1499 90 08 - inc Zp32 ; CPU:$949B PRG:149B E6 32 + bcc IrqHandler_Loop118 ; CPU:$9499 PRG:1499 90 08 + inc BoardCursorY ; CPU:$949B PRG:149B E6 32 sec ; CPU:$949D PRG:149D 38 sbc #$09 ; CPU:$949E PRG:149E E9 09 jmp Sub_9497 ; CPU:$94A0 PRG:14A0 4C 97 94 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop107 -; Global: Branch target inside Label: taken when 94A3. -; Local: Part of Label. +; Routine: IrqHandler_Loop118 +; Global: Branch target inside IrqHandler: taken when Loop118. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop107: - sta Zp31 ; CPU:$94A3 PRG:14A3 85 31 +IrqHandler_Loop118: + sta BoardCursorX ; CPU:$94A3 PRG:14A3 85 31 rts ; CPU:$94A5 PRG:14A5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94A6 -; Global: Branch target inside Label: taken when 94A6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94A6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4876,89 +5255,103 @@ IrqHandler_Loop107: Sub_94A6: txa ; CPU:$94A6 PRG:14A6 8A and #$07 ; CPU:$94A7 PRG:14A7 29 07 - sta Zp31 ; CPU:$94A9 PRG:14A9 85 31 + sta BoardCursorX ; CPU:$94A9 PRG:14A9 85 31 txa ; CPU:$94AB PRG:14AB 8A lsr a ; CPU:$94AC PRG:14AC 4A lsr a ; CPU:$94AD PRG:14AD 4A lsr a ; CPU:$94AE PRG:14AE 4A - sta Zp32 ; CPU:$94AF PRG:14AF 85 32 + sta BoardCursorY ; CPU:$94AF PRG:14AF 85 32 rts ; CPU:$94B1 PRG:14B1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94B2 -; Global: Branch target inside Label: taken when 94B2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94B2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_94B2: - lda Zp37 ; CPU:$94B2 PRG:14B2 A5 37 + lda BoardState ; CPU:$94B2 PRG:14B2 A5 37 asl a ; CPU:$94B4 PRG:14B4 0A asl a ; CPU:$94B5 PRG:14B5 0A asl a ; CPU:$94B6 PRG:14B6 0A - adc Zp37 ; CPU:$94B7 PRG:14B7 65 37 - adc Zp36 ; CPU:$94B9 PRG:14B9 65 36 + adc BoardState ; CPU:$94B7 PRG:14B7 65 37 + adc BoardState2 ; CPU:$94B9 PRG:14B9 65 36 adc #$0A ; CPU:$94BB PRG:14BB 69 0A tax ; CPU:$94BD PRG:14BD AA rts ; CPU:$94BE PRG:14BE 60 -; ---- data $94BF-$94C7 (9 bytes) ---- - .byte $A5, $37, $0A, $0A, $0A, $65, $36, $AA, $60 ; CPU:$94BF PRG:14BF A5 37 0A 0A 0A 65 36 AA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_94BF +; Global: Branch target inside Label: taken when 94BF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_94BF: + lda BoardState ; CPU:$94BF PRG:14BF A5 37 + asl a ; CPU:$94C1 PRG:14C1 0A + asl a ; CPU:$94C2 PRG:14C2 0A + asl a ; CPU:$94C3 PRG:14C3 0A + adc BoardState2 ; CPU:$94C4 PRG:14C4 65 36 + tax ; CPU:$94C6 PRG:14C6 AA + rts ; CPU:$94C7 PRG:14C7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94C8 -; Global: Branch target inside Label: taken when 94C8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94C8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_94C8: - lda Zp37 ; CPU:$94C8 PRG:14C8 A5 37 + lda BoardState ; CPU:$94C8 PRG:14C8 A5 37 asl a ; CPU:$94CA PRG:14CA 0A asl a ; CPU:$94CB PRG:14CB 0A asl a ; CPU:$94CC PRG:14CC 0A sec ; CPU:$94CD PRG:14CD 38 - sbc Zp37 ; CPU:$94CE PRG:14CE E5 37 + sbc BoardState ; CPU:$94CE PRG:14CE E5 37 lsr a ; CPU:$94D0 PRG:14D0 4A clc ; CPU:$94D1 PRG:14D1 18 - adc Zp36 ; CPU:$94D2 PRG:14D2 65 36 + adc BoardState2 ; CPU:$94D2 PRG:14D2 65 36 tax ; CPU:$94D4 PRG:14D4 AA rts ; CPU:$94D5 PRG:14D5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94D6 -; Global: Branch target inside Label: taken when 94D6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94D6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_94D6: - lda Zp32 ; CPU:$94D6 PRG:14D6 A5 32 + lda BoardCursorY ; CPU:$94D6 PRG:14D6 A5 32 asl a ; CPU:$94D8 PRG:14D8 0A tay ; CPU:$94D9 PRG:14D9 A8 - lda Zp31 ; CPU:$94DA PRG:14DA A5 31 + lda BoardCursorX ; CPU:$94DA PRG:14DA A5 31 asl a ; CPU:$94DC PRG:14DC 0A jmp Sub_94EB ; CPU:$94DD PRG:14DD 4C EB 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_94E0 -; Global: Branch target inside Label: taken when 94E0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94E0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_94E0: - lda Zp37 ; CPU:$94E0 PRG:14E0 A5 37 + lda BoardState ; CPU:$94E0 PRG:14E0 A5 37 asl a ; CPU:$94E2 PRG:14E2 0A tay ; CPU:$94E3 PRG:14E3 A8 iny ; CPU:$94E4 PRG:14E4 C8 - lda Zp36 ; CPU:$94E5 PRG:14E5 A5 36 + lda BoardState2 ; CPU:$94E5 PRG:14E5 A5 36 asl a ; CPU:$94E7 PRG:14E7 0A clc ; CPU:$94E8 PRG:14E8 18 adc #$01 ; CPU:$94E9 PRG:14E9 69 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_94EB -; Global: Branch target inside Label: taken when 94EB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94EB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -4980,21 +5373,21 @@ Sub_94EB: rts ; CPU:$94FC PRG:14FC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94FD -; Global: Branch target inside Label: taken when 94FD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 94FD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_94FD: - lda Zp36 ; CPU:$94FD PRG:14FD A5 36 + lda BoardState2 ; CPU:$94FD PRG:14FD A5 36 asl a ; CPU:$94FF PRG:14FF 0A asl a ; CPU:$9500 PRG:1500 0A asl a ; CPU:$9501 PRG:1501 0A asl a ; CPU:$9502 PRG:1502 0A adc #$18 ; CPU:$9503 PRG:1503 69 18 sta Zp33 ; CPU:$9505 PRG:1505 85 33 - lda Zp37 ; CPU:$9507 PRG:1507 A5 37 + lda BoardState ; CPU:$9507 PRG:1507 A5 37 asl a ; CPU:$9509 PRG:1509 0A asl a ; CPU:$950A PRG:150A 0A asl a ; CPU:$950B PRG:150B 0A @@ -5003,8 +5396,8 @@ Sub_94FD: rts ; CPU:$9510 PRG:1510 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9511 -; Global: Branch target inside Label: taken when 9511. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9511. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5012,50 +5405,50 @@ Sub_94FD: Sub_9511: jsr Sub_9D0A ; CPU:$9511 PRG:1511 20 0A 9D jsr Sub_8CEF ; CPU:$9514 PRG:1514 20 EF 8C - bne IrqHandler_Loop112 ; CPU:$9517 PRG:1517 D0 66 + bne IrqHandler_Loop123 ; CPU:$9517 PRG:1517 D0 66 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear -; Global: Branch target inside Label: taken when 9519. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear2 +; Global: Branch target inside IrqHandler: taken when OnCarryClear2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear: +IrqHandler_OnCarryClear2: lda $0124 ; CPU:$9519 PRG:1519 AD 24 01 - beq IrqHandler_Loop108 ; CPU:$951C PRG:151C F0 0C + beq IrqHandler_Loop119 ; CPU:$951C PRG:151C F0 0C jsr Sub_9D3B ; CPU:$951E PRG:151E 20 3B 9D jsr Sub_9D56 ; CPU:$9521 PRG:1521 20 56 9D jsr Sub_97F1 ; CPU:$9524 PRG:1524 20 F1 97 - jmp IrqHandler_Loop109 ; CPU:$9527 PRG:1527 4C 35 95 + jmp IrqHandler_Loop120 ; CPU:$9527 PRG:1527 4C 35 95 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop108 -; Global: Branch target inside Label: taken when 952A. -; Local: Part of Label. +; Routine: IrqHandler_Loop119 +; Global: Branch target inside IrqHandler: taken when Loop119. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop108: - lda Zp2F ; CPU:$952A PRG:152A A5 2F +IrqHandler_Loop119: + lda PlayerSide ; CPU:$952A PRG:152A A5 2F and #$03 ; CPU:$952C PRG:152C 29 03 cmp #$02 ; CPU:$952E PRG:152E C9 02 - bne IrqHandler_Loop109 ; CPU:$9530 PRG:1530 D0 03 + bne IrqHandler_Loop120 ; CPU:$9530 PRG:1530 D0 03 jsr Sub_97F1 ; CPU:$9532 PRG:1532 20 F1 97 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop109 -; Global: Branch target inside Label: taken when 9535. -; Local: Part of Label. +; Routine: IrqHandler_Loop120 +; Global: Branch target inside IrqHandler: taken when Loop120. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop109: +IrqHandler_Loop120: lda $0124 ; CPU:$9535 PRG:1535 AD 24 01 asl a ; CPU:$9538 PRG:1538 0A asl a ; CPU:$9539 PRG:1539 0A adc #$03 ; CPU:$953A PRG:153A 69 03 - jsr IrqHandler_OnNonzero18 ; CPU:$953C PRG:153C 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$953C PRG:153C 20 A0 A2 lda #$00 ; CPU:$953F PRG:153F A9 00 sta Zp06 ; CPU:$9541 PRG:1541 85 06 jsr Sub_DA09 ; CPU:$9543 PRG:1543 20 09 DA @@ -5066,7 +5459,8 @@ IrqHandler_Loop109: sbc (Zp95),y ; CPU:$9550 PRG:1550 F1 95 jmp Sub_9617 ; CPU:$9552 PRG:1552 4C 17 96 ; ---- data $9555-$9561 (13 bytes) ---- - .byte $52, $26, $96, $41, $BC, $96, $53, $47, $96, $42, $56, $96, $00 ; CPU:$9555 PRG:1555 52 26 96 41 BC 96 53 47 96 42 56 96 00 +VsScreenLayoutTable: + .byte $52, $26, $96, $41, $BC, $96, $53, $47, $96, $42, $56, $96, $00 ; CPU:$9555 PRG:-2AAB 52 26 96 41 BC 96 53 47 96 42 56 96 00 ; ----------------------------------------------------------------------------- ; Routine: Label_9562 ; Global: Branch target inside Label: taken when 9562. @@ -5076,65 +5470,65 @@ IrqHandler_Loop109: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_9562: - lda Zp2E ; CPU:$9562 PRG:1562 A5 2E + lda CursorMoved ; CPU:$9562 PRG:1562 A5 2E and #$20 ; CPU:$9564 PRG:1564 29 20 - beq IrqHandler_Loop110 ; CPU:$9566 PRG:1566 F0 03 + beq IrqHandler_Loop121 ; CPU:$9566 PRG:1566 F0 03 jsr Sub_9A50 ; CPU:$9568 PRG:1568 20 50 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop110 -; Global: Branch target inside Label: taken when 956B. -; Local: Part of Label. +; Routine: IrqHandler_Loop121 +; Global: Branch target inside IrqHandler: taken when Loop121. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop110: - lda Zp2E ; CPU:$956B PRG:156B A5 2E +IrqHandler_Loop121: + lda CursorMoved ; CPU:$956B PRG:156B A5 2E cmp #$40 ; CPU:$956D PRG:156D C9 40 - bcc IrqHandler_OnCarryClear ; CPU:$956F PRG:156F 90 A8 + bcc IrqHandler_OnCarryClear2 ; CPU:$956F PRG:156F 90 A8 cmp #$80 ; CPU:$9571 PRG:1571 C9 80 - bcs IrqHandler_Loop111 ; CPU:$9573 PRG:1573 B0 06 + bcs IrqHandler_Loop122 ; CPU:$9573 PRG:1573 B0 06 jsr Sub_9A8E ; CPU:$9575 PRG:1575 20 8E 9A - jmp IrqHandler_OnCarryClear ; CPU:$9578 PRG:1578 4C 19 95 + jmp IrqHandler_OnCarryClear2 ; CPU:$9578 PRG:1578 4C 19 95 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop111 -; Global: Branch target inside Label: taken when 957B. -; Local: Part of Label. +; Routine: IrqHandler_Loop122 +; Global: Branch target inside IrqHandler: taken when Loop122. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop111: +IrqHandler_Loop122: jsr Sub_96BC ; CPU:$957B PRG:157B 20 BC 96 rts ; CPU:$957E PRG:157E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop112 -; Global: Branch target inside Label: taken when 957F. -; Local: Part of Label. +; Routine: IrqHandler_Loop123 +; Global: Branch target inside IrqHandler: taken when Loop123. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop112: +IrqHandler_Loop123: lda $0124 ; CPU:$957F PRG:157F AD 24 01 - beq IrqHandler_Loop113 ; CPU:$9582 PRG:1582 F0 06 + beq IrqHandler_Loop124 ; CPU:$9582 PRG:1582 F0 06 jsr Sub_9D3B ; CPU:$9584 PRG:1584 20 3B 9D jsr Sub_9D56 ; CPU:$9587 PRG:1587 20 56 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop113 -; Global: Branch target inside Label: taken when 958A. -; Local: Part of Label. +; Routine: IrqHandler_Loop124 +; Global: Branch target inside IrqHandler: taken when Loop124. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop113: +IrqHandler_Loop124: jsr Sub_97F1 ; CPU:$958A PRG:158A 20 F1 97 lda $0124 ; CPU:$958D PRG:158D AD 24 01 asl a ; CPU:$9590 PRG:1590 0A asl a ; CPU:$9591 PRG:1591 0A adc #$03 ; CPU:$9592 PRG:1592 69 03 - jsr IrqHandler_OnNonzero18 ; CPU:$9594 PRG:1594 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9594 PRG:1594 20 A0 A2 lda #$00 ; CPU:$9597 PRG:1597 A9 00 sta Zp07 ; CPU:$9599 PRG:1599 85 07 jsr Sub_DA09 ; CPU:$959B PRG:159B 20 09 DA @@ -5145,7 +5539,8 @@ IrqHandler_Loop113: sbc (Zp95),y ; CPU:$95A8 PRG:15A8 F1 95 jmp ($9617) ; CPU:$95AA PRG:15AA 6C 17 96 ; ---- data $95AD-$95D6 (42 bytes) ---- - .byte $72, $26, $96, $61, $BC, $96, $62, $56, $96, $53, $47, $96, $00, $A5, $2E, $29 ; CPU:$95AD PRG:15AD 72 26 96 61 BC 96 62 56 96 53 47 96 00 A5 2E 29 +VsScreenLayoutTable2: + .byte $72, $26, $96, $61, $BC, $96, $62, $56, $96, $53, $47, $96, $00, $A5, $2E, $29 ; CPU:$95AD PRG:-2A53 72 26 96 61 BC 96 62 56 96 53 47 96 00 A5 2E 29 .byte $20, $F0, $03, $20, $50, $9A, $A5, $2E, $C9, $40, $90, $B6, $C9, $80, $B0, $06 ; CPU:$95BD PRG:15BD 20 F0 03 20 50 9A A5 2E C9 40 90 B6 C9 80 B0 06 .byte $20, $8E, $9A, $4C, $7F, $95, $20, $BC, $96, $60 ; CPU:$95CD PRG:15CD 20 8E 9A 4C 7F 95 20 BC 96 60 ; ----------------------------------------------------------------------------- @@ -5158,95 +5553,300 @@ IrqHandler_Loop113: ; ----------------------------------------------------------------------------- Label_95D7: lda $0124 ; CPU:$95D7 PRG:15D7 AD 24 01 - beq IrqHandler_Loop114 ; CPU:$95DA PRG:15DA F0 03 - jsr IrqHandler_Loop114 ; CPU:$95DC PRG:15DC 20 DF 95 + beq IrqHandler_Loop125 ; CPU:$95DA PRG:15DA F0 03 + jsr IrqHandler_Loop125 ; CPU:$95DC PRG:15DC 20 DF 95 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop114 -; Global: Branch target inside Label: taken when 95DF. -; Local: Part of Label. +; Routine: IrqHandler_Loop125 +; Global: Branch target inside IrqHandler: taken when Loop125. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop114: - ldx Zp37 ; CPU:$95DF PRG:15DF A6 37 - bmi IrqHandler_Loop115 ; CPU:$95E1 PRG:15E1 30 0D - beq IrqHandler_Loop115 ; CPU:$95E3 PRG:15E3 F0 0B +IrqHandler_Loop125: + ldx BoardState ; CPU:$95DF PRG:15DF A6 37 + bmi IrqHandler_OnCarrySet4 ; CPU:$95E1 PRG:15E1 30 0D + beq IrqHandler_OnCarrySet4 ; CPU:$95E3 PRG:15E3 F0 0B jsr Sub_9CE1 ; CPU:$95E5 PRG:15E5 20 E1 9C - ldx Zp37 ; CPU:$95E8 PRG:15E8 A6 37 + ldx BoardState ; CPU:$95E8 PRG:15E8 A6 37 dex ; CPU:$95EA PRG:15EA CA - stx Zp37 ; CPU:$95EB PRG:15EB 86 37 + stx BoardState ; CPU:$95EB PRG:15EB 86 37 jmp Sub_9D0A ; CPU:$95ED PRG:15ED 4C 0A 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop115 -; Global: Branch target inside Label: taken when 95F0. +; Routine: IrqHandler_OnCarrySet4 +; Global: Branch target inside IrqHandler: taken when OnCarrySet4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet4: + rts ; CPU:$95F0 PRG:15F0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_95F1 +; Global: Branch target inside Label: taken when 95F1. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop115: - rts ; CPU:$95F0 PRG:15F0 60 -; ---- data $95F1-$9616 (38 bytes) ---- - .byte $AD, $24, $01, $F0, $0C, $A5, $37, $C9, $06, $B0, $F4, $20, $0A, $96, $4C, $0A ; CPU:$95F1 PRG:15F1 AD 24 01 F0 0C A5 37 C9 06 B0 F4 20 0A 96 4C 0A - .byte $96, $A5, $37, $30, $04, $C9, $07, $B0, $E6, $20, $B8, $9C, $A5, $37, $18, $69 ; CPU:$9601 PRG:1601 96 A5 37 30 04 C9 07 B0 E6 20 B8 9C A5 37 18 69 - .byte $01, $85, $37, $4C, $0A, $9D ; CPU:$9611 PRG:1611 01 85 37 4C 0A 9D +Label_95F1: + lda $0124 ; CPU:$95F1 PRG:15F1 AD 24 01 + beq IrqHandler_Loop126 ; CPU:$95F4 PRG:15F4 F0 0C + lda BoardState ; CPU:$95F6 PRG:15F6 A5 37 + cmp #$06 ; CPU:$95F8 PRG:15F8 C9 06 + bcs IrqHandler_OnCarrySet4 ; CPU:$95FA PRG:15FA B0 F4 + jsr IrqHandler_Loop127 ; CPU:$95FC PRG:15FC 20 0A 96 + jmp IrqHandler_Loop127 ; CPU:$95FF PRG:15FF 4C 0A 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop126 +; Global: Branch target inside IrqHandler: taken when Loop126. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop126: + lda BoardState ; CPU:$9602 PRG:1602 A5 37 + bmi IrqHandler_Loop127 ; CPU:$9604 PRG:1604 30 04 + cmp #$07 ; CPU:$9606 PRG:1606 C9 07 + bcs IrqHandler_OnCarrySet4 ; CPU:$9608 PRG:1608 B0 E6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop127 +; Global: Branch target inside IrqHandler: taken when Loop127. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop127: + jsr Sub_9CB8 ; CPU:$960A PRG:160A 20 B8 9C + lda BoardState ; CPU:$960D PRG:160D A5 37 + clc ; CPU:$960F PRG:160F 18 + adc #$01 ; CPU:$9610 PRG:1610 69 01 + sta BoardState ; CPU:$9612 PRG:1612 85 37 + jmp Sub_9D0A ; CPU:$9614 PRG:1614 4C 0A 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_9617 -; Global: Branch target inside Label: taken when 9617. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9617. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9617: - ldx Zp36 ; CPU:$9617 PRG:1617 A6 36 - beq IrqHandler_Loop115 ; CPU:$9619 PRG:1619 F0 D5 + ldx BoardState2 ; CPU:$9617 PRG:1617 A6 36 + beq IrqHandler_OnCarrySet4 ; CPU:$9619 PRG:1619 F0 D5 jsr Sub_9C8F ; CPU:$961B PRG:161B 20 8F 9C - ldx Zp36 ; CPU:$961E PRG:161E A6 36 + ldx BoardState2 ; CPU:$961E PRG:161E A6 36 dex ; CPU:$9620 PRG:1620 CA - stx Zp36 ; CPU:$9621 PRG:1621 86 36 +; ----------------------------------------------------------------------------- +; Routine: Sub_9621 +; Global: Branch target inside Sub: taken when 9621. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9621: + stx BoardState2 ; CPU:$9621 PRG:1621 86 36 jmp Sub_9D0A ; CPU:$9623 PRG:1623 4C 0A 9D -; ---- data $9626-$964C (39 bytes) ---- - .byte $AD, $24, $01, $F0, $09, $A5, $36, $C9, $06, $B0, $BF, $4C, $3A, $96, $A5, $36 ; CPU:$9626 PRG:1626 AD 24 01 F0 09 A5 36 C9 06 B0 BF 4C 3A 96 A5 36 - .byte $C9, $07, $B0, $B6, $20, $66, $9C, $A5, $36, $18, $69, $01, $85, $36, $4C, $0A ; CPU:$9636 PRG:1636 C9 07 B0 B6 20 66 9C A5 36 18 69 01 85 36 4C 0A - .byte $9D, $AD, $24, $01, $D0, $01, $60 ; CPU:$9646 PRG:1646 9D AD 24 01 D0 01 60 ; ----------------------------------------------------------------------------- -; Routine: Label_964D -; Global: Branch target inside Label: taken when 964D. +; Routine: Label_9626 +; Global: Branch target inside Label: taken when 9626. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_964D: +Label_9626: + lda $0124 ; CPU:$9626 PRG:1626 AD 24 01 + beq IrqHandler_Loop128 ; CPU:$9629 PRG:1629 F0 09 + lda BoardState2 ; CPU:$962B PRG:162B A5 36 + cmp #$06 ; CPU:$962D PRG:162D C9 06 + bcs IrqHandler_OnCarrySet4 ; CPU:$962F PRG:162F B0 BF + jmp Sub_963A ; CPU:$9631 PRG:1631 4C 3A 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop128 +; Global: Branch target inside IrqHandler: taken when Loop128. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop128: + lda BoardState2 ; CPU:$9634 PRG:1634 A5 36 + cmp #$07 ; CPU:$9636 PRG:1636 C9 07 + bcs IrqHandler_OnCarrySet4 ; CPU:$9638 PRG:1638 B0 B6 +; ----------------------------------------------------------------------------- +; Routine: Sub_963A +; Global: Branch target inside Sub: taken when 963A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_963A: + jsr Sub_9C66 ; CPU:$963A PRG:163A 20 66 9C + lda BoardState2 ; CPU:$963D PRG:163D A5 36 + clc ; CPU:$963F PRG:163F 18 + adc #$01 ; CPU:$9640 PRG:1640 69 01 + sta BoardState2 ; CPU:$9642 PRG:1642 85 36 + jmp Sub_9D0A ; CPU:$9644 PRG:1644 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: Label_9647 +; Global: Branch target inside Label: taken when 9647. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9647: + lda $0124 ; CPU:$9647 PRG:1647 AD 24 01 + bne IrqHandler_Loop129 ; CPU:$964A PRG:164A D0 01 + rts ; CPU:$964C PRG:164C 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop129 +; Global: Branch target inside IrqHandler: taken when Loop129. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop129: lda #$06 ; CPU:$964D PRG:164D A9 06 - sta Zp36 ; CPU:$964F PRG:164F 85 36 - sta Zp37 ; CPU:$9651 PRG:1651 85 37 + sta BoardState2 ; CPU:$964F PRG:164F 85 36 + sta BoardState ; CPU:$9651 PRG:1651 85 37 jmp Sub_9D0A ; CPU:$9653 PRG:1653 4C 0A 9D -; ---- data $9656-$96B8 (99 bytes) ---- - .byte $AD, $24, $01, $D0, $5E, $20, $F0, $A4, $AD, $22, $01, $C9, $05, $F0, $51, $A5 ; CPU:$9656 PRG:1656 AD 24 01 D0 5E 20 F0 A4 AD 22 01 C9 05 F0 51 A5 - .byte $30, $29, $20, $D0, $48, $A5, $30, $29, $10, $D0, $3F, $AD, $EB, $07, $30, $37 ; CPU:$9666 PRG:1666 30 29 20 D0 48 A5 30 29 10 D0 3F AD EB 07 30 37 - .byte $AD, $F5, $07, $30, $32, $A9, $0B, $20, $0F, $DB, $20, $F1, $98, $20, $4E, $9D ; CPU:$9676 PRG:1676 AD F5 07 30 32 A9 0B 20 0F DB 20 F1 98 20 4E 9D - .byte $A5, $2F, $29, $03, $C9, $02, $F0, $45, $20, $42, $91, $20, $27, $8E, $20, $0A ; CPU:$9686 PRG:1686 A5 2F 29 03 C9 02 F0 45 20 42 91 20 27 8E 20 0A - .byte $9D, $68, $68, $AD, $22, $01, $C9, $01, $F0, $07, $A5, $30, $18, $69, $04, $85 ; CPU:$9696 PRG:1696 9D 68 68 AD 22 01 C9 01 F0 07 A5 30 18 69 04 85 - .byte $30, $20, $E9, $A4, $4C, $11, $95, $4C, $25, $99, $4C, $1D, $99, $4C, $07, $99 ; CPU:$96A6 PRG:16A6 30 20 E9 A4 4C 11 95 4C 25 99 4C 1D 99 4C 07 99 - .byte $4C, $12, $99 ; CPU:$96B6 PRG:16B6 4C 12 99 ; ----------------------------------------------------------------------------- -; Routine: Label_96B9 -; Global: Branch target inside Label: taken when 96B9. +; Routine: Label_9656 +; Global: Branch target inside Label: taken when 9656. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_96B9: +Label_9656: + lda $0124 ; CPU:$9656 PRG:1656 AD 24 01 + bne IrqHandler_Loop135 ; CPU:$9659 PRG:1659 D0 5E + jsr Sub_A4F0 ; CPU:$965B PRG:165B 20 F0 A4 + lda $0122 ; CPU:$965E PRG:165E AD 22 01 + cmp #$05 ; CPU:$9661 PRG:1661 C9 05 + beq IrqHandler_Loop134 ; CPU:$9663 PRG:1663 F0 51 + lda Zp30 ; CPU:$9665 PRG:1665 A5 30 + and #$20 ; CPU:$9667 PRG:1667 29 20 + bne IrqHandler_Loop133 ; CPU:$9669 PRG:1669 D0 48 + lda Zp30 ; CPU:$966B PRG:166B A5 30 + and #$10 ; CPU:$966D PRG:166D 29 10 + bne IrqHandler_Loop132 ; CPU:$966F PRG:166F D0 3F + lda $07EB ; CPU:$9671 PRG:1671 AD EB 07 + bmi IrqHandler_Loop131 ; CPU:$9674 PRG:1674 30 37 + lda $07F5 ; CPU:$9676 PRG:1676 AD F5 07 + bmi IrqHandler_Loop131 ; CPU:$9679 PRG:1679 30 32 + lda #$0B ; CPU:$967B PRG:167B A9 0B + jsr Sub_DB0F ; CPU:$967D PRG:167D 20 0F DB + jsr Sub_98F1 ; CPU:$9680 PRG:1680 20 F1 98 + jsr Sub_9D4E ; CPU:$9683 PRG:1683 20 4E 9D + lda PlayerSide ; CPU:$9686 PRG:1686 A5 2F + and #$03 ; CPU:$9688 PRG:1688 29 03 + cmp #$02 ; CPU:$968A PRG:168A C9 02 + beq IrqHandler_Loop137 ; CPU:$968C PRG:168C F0 45 +; ----------------------------------------------------------------------------- +; Routine: Sub_968E +; Global: Branch target inside Sub: taken when 968E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_968E: + jsr Sub_9142 ; CPU:$968E PRG:168E 20 42 91 +; ----------------------------------------------------------------------------- +; Routine: Sub_9691 +; Global: Branch target inside Sub: taken when 9691. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9691: + jsr Sub_8E27 ; CPU:$9691 PRG:1691 20 27 8E + jsr Sub_9D0A ; CPU:$9694 PRG:1694 20 0A 9D + pla ; CPU:$9697 PRG:1697 68 + pla ; CPU:$9698 PRG:1698 68 + lda $0122 ; CPU:$9699 PRG:1699 AD 22 01 + cmp #$01 ; CPU:$969C PRG:169C C9 01 + beq IrqHandler_Loop130 ; CPU:$969E PRG:169E F0 07 + lda Zp30 ; CPU:$96A0 PRG:16A0 A5 30 + clc ; CPU:$96A2 PRG:16A2 18 + adc #$04 ; CPU:$96A3 PRG:16A3 69 04 + sta Zp30 ; CPU:$96A5 PRG:16A5 85 30 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop130 +; Global: Branch target inside IrqHandler: taken when Loop130. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop130: + jsr Sub_A4E9 ; CPU:$96A7 PRG:16A7 20 E9 A4 + jmp Sub_9511 ; CPU:$96AA PRG:16AA 4C 11 95 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop131 +; Global: Branch target inside IrqHandler: taken when Loop131. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop131: + jmp $9925 ; CPU:$96AD PRG:16AD 4C 25 99 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop132 +; Global: Branch target inside IrqHandler: taken when Loop132. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop132: + jmp $991D ; CPU:$96B0 PRG:16B0 4C 1D 99 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop133 +; Global: Branch target inside IrqHandler: taken when Loop133. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop133: + jmp Sub_9907 ; CPU:$96B3 PRG:16B3 4C 07 99 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop134 +; Global: Branch target inside IrqHandler: taken when Loop134. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop134: + jmp $9912 ; CPU:$96B6 PRG:16B6 4C 12 99 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop135 +; Global: Branch target inside IrqHandler: taken when Loop135. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop135: sec ; CPU:$96B9 PRG:16B9 38 - bcs IrqHandler_Loop116 ; CPU:$96BA PRG:16BA B0 01 + bcs IrqHandler_Loop136 ; CPU:$96BA PRG:16BA B0 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_96BC -; Global: Branch target inside Label: taken when 96BC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 96BC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5254,17 +5854,17 @@ Label_96B9: Sub_96BC: clc ; CPU:$96BC PRG:16BC 18 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop116 -; Global: Branch target inside Label: taken when 96BD. -; Local: Part of Label. +; Routine: IrqHandler_Loop136 +; Global: Branch target inside IrqHandler: taken when Loop136. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop116: +IrqHandler_Loop136: php ; CPU:$96BD PRG:16BD 08 lda #$06 ; CPU:$96BE PRG:16BE A9 06 - jsr IrqHandler_OnNonzero18 ; CPU:$96C0 PRG:16C0 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$96C0 PRG:16C0 20 A0 A2 jsr Sub_9D4E ; CPU:$96C3 PRG:16C3 20 4E 9D jsr Sub_97F8 ; CPU:$96C6 PRG:16C6 20 F8 97 lda Zp30 ; CPU:$96C9 PRG:16C9 A5 30 @@ -5274,38 +5874,170 @@ IrqHandler_Loop116: pla ; CPU:$96D0 PRG:16D0 68 pla ; CPU:$96D1 PRG:16D1 68 rts ; CPU:$96D2 PRG:16D2 60 -; ---- data $96D3-$9754 (130 bytes) ---- - .byte $20, $35, $99, $A9, $01, $8D, $24, $01, $A5, $36, $48, $A5, $37, $48, $A9, $0A ; CPU:$96D3 PRG:16D3 20 35 99 A9 01 8D 24 01 A5 36 48 A5 37 48 A9 0A - .byte $85, $36, $A9, $09, $85, $37, $A5, $2E, $29, $02, $D0, $17, $20, $0A, $9D, $20 ; CPU:$96E3 PRG:16E3 85 36 A9 09 85 37 A5 2E 29 02 D0 17 20 0A 9D 20 - .byte $E2, $D6, $20, $EA, $D9, $C9, $41, $F0, $2F, $C9, $55, $F0, $1D, $C9, $44, $F0 ; CPU:$96F3 PRG:16F3 E2 D6 20 EA D9 C9 41 F0 2F C9 55 F0 1D C9 44 F0 - .byte $20, $D0, $E9, $20, $0A, $9D, $20, $E2, $D6, $20, $EA, $D9, $C9, $61, $F0, $18 ; CPU:$9703 PRG:1703 20 D0 E9 20 0A 9D 20 E2 D6 20 EA D9 C9 61 F0 18 - .byte $C9, $75, $F0, $06, $C9, $64, $F0, $09, $D0, $E9, $A9, $09, $85, $37, $4C, $E9 ; CPU:$9713 PRG:1713 C9 75 F0 06 C9 64 F0 09 D0 E9 A9 09 85 37 4C E9 - .byte $96, $A9, $0A, $85, $37, $4C, $E9, $96, $A5, $37, $85, $1A, $68, $85, $37, $68 ; CPU:$9723 PRG:1723 96 A9 0A 85 37 4C E9 96 A5 37 85 1A 68 85 37 68 - .byte $85, $36, $A9, $00, $8D, $24, $01, $A5, $1A, $C9, $09, $F0, $03, $4C, $91, $96 ; CPU:$9733 PRG:1733 85 36 A9 00 8D 24 01 A5 1A C9 09 F0 03 4C 91 96 - .byte $4C, $8E, $96, $20, $4E, $9D, $20, $F8, $97, $A5, $30, $09, $02, $85, $30, $68 ; CPU:$9743 PRG:1743 4C 8E 96 20 4E 9D 20 F8 97 A5 30 09 02 85 30 68 - .byte $68, $60 ; CPU:$9753 PRG:1753 68 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop137 +; Global: Branch target inside IrqHandler: taken when Loop137. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop137: + jsr Sub_9935 ; CPU:$96D3 PRG:16D3 20 35 99 + lda #$01 ; CPU:$96D6 PRG:16D6 A9 01 + sta $0124 ; CPU:$96D8 PRG:16D8 8D 24 01 + lda BoardState2 ; CPU:$96DB PRG:16DB A5 36 + pha ; CPU:$96DD PRG:16DD 48 + lda BoardState ; CPU:$96DE PRG:16DE A5 37 + pha ; CPU:$96E0 PRG:16E0 48 + lda #$0A ; CPU:$96E1 PRG:16E1 A9 0A + sta BoardState2 ; CPU:$96E3 PRG:16E3 85 36 + lda #$09 ; CPU:$96E5 PRG:16E5 A9 09 + sta BoardState ; CPU:$96E7 PRG:16E7 85 37 +; ----------------------------------------------------------------------------- +; Routine: Sub_96E9 +; Global: Branch target inside Sub: taken when 96E9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_96E9: + lda CursorMoved ; CPU:$96E9 PRG:16E9 A5 2E + and #$02 ; CPU:$96EB PRG:16EB 29 02 + bne IrqHandler_OnNonzero12 ; CPU:$96ED PRG:16ED D0 17 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero11 +; Global: Branch target inside IrqHandler: taken when OnNonzero11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero11: + jsr Sub_9D0A ; CPU:$96EF PRG:16EF 20 0A 9D + jsr Sub_D6E2 ; CPU:$96F2 PRG:16F2 20 E2 D6 + jsr Sub_D9EA ; CPU:$96F5 PRG:16F5 20 EA D9 + cmp #$41 ; CPU:$96F8 PRG:16F8 C9 41 + beq IrqHandler_Loop140 ; CPU:$96FA PRG:16FA F0 2F + cmp #$55 ; CPU:$96FC PRG:16FC C9 55 + beq IrqHandler_Loop138 ; CPU:$96FE PRG:16FE F0 1D + cmp #$44 ; CPU:$9700 PRG:1700 C9 44 + beq IrqHandler_Loop139 ; CPU:$9702 PRG:1702 F0 20 + bne IrqHandler_OnNonzero11 ; CPU:$9704 PRG:1704 D0 E9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero12 +; Global: Branch target inside IrqHandler: taken when OnNonzero12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero12: + jsr Sub_9D0A ; CPU:$9706 PRG:1706 20 0A 9D + jsr Sub_D6E2 ; CPU:$9709 PRG:1709 20 E2 D6 + jsr Sub_D9EA ; CPU:$970C PRG:170C 20 EA D9 + cmp #$61 ; CPU:$970F PRG:170F C9 61 + beq IrqHandler_Loop140 ; CPU:$9711 PRG:1711 F0 18 + cmp #$75 ; CPU:$9713 PRG:1713 C9 75 + beq IrqHandler_Loop138 ; CPU:$9715 PRG:1715 F0 06 + cmp #$64 ; CPU:$9717 PRG:1717 C9 64 + beq IrqHandler_Loop139 ; CPU:$9719 PRG:1719 F0 09 + bne IrqHandler_OnNonzero12 ; CPU:$971B PRG:171B D0 E9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop138 +; Global: Branch target inside IrqHandler: taken when Loop138. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop138: + lda #$09 ; CPU:$971D PRG:171D A9 09 + sta BoardState ; CPU:$971F PRG:171F 85 37 + jmp Sub_96E9 ; CPU:$9721 PRG:1721 4C E9 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop139 +; Global: Branch target inside IrqHandler: taken when Loop139. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop139: + lda #$0A ; CPU:$9724 PRG:1724 A9 0A + sta BoardState ; CPU:$9726 PRG:1726 85 37 + jmp Sub_96E9 ; CPU:$9728 PRG:1728 4C E9 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop140 +; Global: Branch target inside IrqHandler: taken when Loop140. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop140: + lda BoardState ; CPU:$972B PRG:172B A5 37 + sta Zp1A ; CPU:$972D PRG:172D 85 1A + pla ; CPU:$972F PRG:172F 68 + sta BoardState ; CPU:$9730 PRG:1730 85 37 + pla ; CPU:$9732 PRG:1732 68 + sta BoardState2 ; CPU:$9733 PRG:1733 85 36 + lda #$00 ; CPU:$9735 PRG:1735 A9 00 + sta $0124 ; CPU:$9737 PRG:1737 8D 24 01 + lda Zp1A ; CPU:$973A PRG:173A A5 1A + cmp #$09 ; CPU:$973C PRG:173C C9 09 + beq IrqHandler_Loop141 ; CPU:$973E PRG:173E F0 03 + jmp Sub_9691 ; CPU:$9740 PRG:1740 4C 91 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop141 +; Global: Branch target inside IrqHandler: taken when Loop141. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop141: + jmp Sub_968E ; CPU:$9743 PRG:1743 4C 8E 96 +; ----------------------------------------------------------------------------- +; Routine: Label_9746 +; Global: Branch target inside Label: taken when 9746. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9746: + jsr Sub_9D4E ; CPU:$9746 PRG:1746 20 4E 9D + jsr Sub_97F8 ; CPU:$9749 PRG:1749 20 F8 97 + lda Zp30 ; CPU:$974C PRG:174C A5 30 + ora #$02 ; CPU:$974E PRG:174E 09 02 + sta Zp30 ; CPU:$9750 PRG:1750 85 30 + pla ; CPU:$9752 PRG:1752 68 + pla ; CPU:$9753 PRG:1753 68 + rts ; CPU:$9754 PRG:1754 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9755 -; Global: Branch target inside Label: taken when 9755. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9755. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9755: lda #$00 ; CPU:$9755 PRG:1755 A9 00 - sta Zp36 ; CPU:$9757 PRG:1757 85 36 - sta Zp37 ; CPU:$9759 PRG:1759 85 37 + sta BoardState2 ; CPU:$9757 PRG:1757 85 36 + sta BoardState ; CPU:$9759 PRG:1759 85 37 sta $0124 ; CPU:$975B PRG:175B 8D 24 01 jsr Sub_9D0A ; CPU:$975E PRG:175E 20 0A 9D lda #$03 ; CPU:$9761 PRG:1761 A9 03 - jsr IrqHandler_OnNonzero18 ; CPU:$9763 PRG:1763 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9763 PRG:1763 20 A0 A2 lda #$00 ; CPU:$9766 PRG:1766 A9 00 sta Zp06 ; CPU:$9768 PRG:1768 85 06 - lda Zp36 ; CPU:$976A PRG:176A A5 36 - sta Zp31 ; CPU:$976C PRG:176C 85 31 - lda Zp37 ; CPU:$976E PRG:176E A5 37 - sta Zp32 ; CPU:$9770 PRG:1770 85 32 + lda BoardState2 ; CPU:$976A PRG:176A A5 36 + sta BoardCursorX ; CPU:$976C PRG:176C 85 31 + lda BoardState ; CPU:$976E PRG:176E A5 37 + sta BoardCursorY ; CPU:$9770 PRG:1770 85 32 jsr Sub_DA09 ; CPU:$9772 PRG:1772 20 09 DA jsr Sub_D9EA ; CPU:$9775 PRG:1775 20 EA D9 jsr Sub_DA79 ; CPU:$9778 PRG:1778 20 79 DA @@ -5314,7 +6046,8 @@ Sub_9755: sbc (Zp95),y ; CPU:$977F PRG:177F F1 95 jmp Sub_9617 ; CPU:$9781 PRG:1781 4C 17 96 ; ---- data $9784-$97C3 (64 bytes) ---- - .byte $52, $26, $96, $41, $94, $97, $42, $B4, $97, $53, $BE, $97, $00, $4C, $61, $97 ; CPU:$9784 PRG:1784 52 26 96 41 94 97 42 B4 97 53 BE 97 00 4C 61 97 +VsScreenLayoutTable3: + .byte $52, $26, $96, $41, $94, $97, $42, $B4, $97, $53, $BE, $97, $00, $4C, $61, $97 ; CPU:$9784 PRG:-287C 52 26 96 41 94 97 42 B4 97 53 BE 97 00 4C 61 97 .byte $A5, $2E, $48, $09, $02, $85, $2E, $20, $B2, $94, $B5, $A5, $29, $03, $D0, $0A ; CPU:$9794 PRG:1794 A5 2E 48 09 02 85 2E 20 B2 94 B5 A5 29 03 D0 0A .byte $20, $65, $8F, $20, $0D, $8E, $68, $85, $2E, $60, $20, $84, $8F, $4C, $A7, $97 ; CPU:$97A4 PRG:17A4 20 65 8F 20 0D 8E 68 85 2E 60 20 84 8F 4C A7 97 .byte $A5, $2E, $48, $29, $FD, $85, $2E, $4C, $9B, $97, $20, $C4, $97, $68, $68, $60 ; CPU:$97B4 PRG:17B4 A5 2E 48 29 FD 85 2E 4C 9B 97 20 C4 97 68 68 60 @@ -5331,64 +6064,64 @@ Label_97C4: sta Zp3D ; CPU:$97C6 PRG:17C6 85 3D sta Zp3B ; CPU:$97C8 PRG:17C8 85 3B lda #$07 ; CPU:$97CA PRG:17CA A9 07 - sta Zp32 ; CPU:$97CC PRG:17CC 85 32 + sta BoardCursorY ; CPU:$97CC PRG:17CC 85 32 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative19 -; Global: Branch target inside Label: taken when 97CE. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative23 +; Global: Branch target inside IrqHandler: taken when OnNonnegative23. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative19: +IrqHandler_OnNonnegative23: lda #$07 ; CPU:$97CE PRG:17CE A9 07 - sta Zp31 ; CPU:$97D0 PRG:17D0 85 31 + sta BoardCursorX ; CPU:$97D0 PRG:17D0 85 31 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative20 -; Global: Branch target inside Label: taken when 97D2. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative24 +; Global: Branch target inside IrqHandler: taken when OnNonnegative24. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative20: +IrqHandler_OnNonnegative24: jsr Sub_9479 ; CPU:$97D2 PRG:17D2 20 79 94 - lda ZpA5,x ; CPU:$97D5 PRG:17D5 B5 A5 + lda CellPatternIndex,x ; CPU:$97D5 PRG:17D5 B5 A5 and #$03 ; CPU:$97D7 PRG:17D7 29 03 - beq IrqHandler_Loop118 ; CPU:$97D9 PRG:17D9 F0 0D - eor Zp2F ; CPU:$97DB PRG:17DB 45 2F + beq IrqHandler_Loop143 ; CPU:$97D9 PRG:17D9 F0 0D + eor PlayerSide ; CPU:$97DB PRG:17DB 45 2F and #$02 ; CPU:$97DD PRG:17DD 29 02 - beq IrqHandler_Loop117 ; CPU:$97DF PRG:17DF F0 05 + beq IrqHandler_Loop142 ; CPU:$97DF PRG:17DF F0 05 inc Zp3D ; CPU:$97E1 PRG:17E1 E6 3D - jmp IrqHandler_Loop118 ; CPU:$97E3 PRG:17E3 4C E8 97 + jmp IrqHandler_Loop143 ; CPU:$97E3 PRG:17E3 4C E8 97 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop117 -; Global: Branch target inside Label: taken when 97E6. -; Local: Part of Label. +; Routine: IrqHandler_Loop142 +; Global: Branch target inside IrqHandler: taken when Loop142. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop117: +IrqHandler_Loop142: inc Zp3B ; CPU:$97E6 PRG:17E6 E6 3B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop118 -; Global: Branch target inside Label: taken when 97E8. -; Local: Part of Label. +; Routine: IrqHandler_Loop143 +; Global: Branch target inside IrqHandler: taken when Loop143. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop118: - dec Zp31 ; CPU:$97E8 PRG:17E8 C6 31 - bpl IrqHandler_OnNonnegative20 ; CPU:$97EA PRG:17EA 10 E6 - dec Zp32 ; CPU:$97EC PRG:17EC C6 32 - bpl IrqHandler_OnNonnegative19 ; CPU:$97EE PRG:17EE 10 DE +IrqHandler_Loop143: + dec BoardCursorX ; CPU:$97E8 PRG:17E8 C6 31 + bpl IrqHandler_OnNonnegative24 ; CPU:$97EA PRG:17EA 10 E6 + dec BoardCursorY ; CPU:$97EC PRG:17EC C6 32 + bpl IrqHandler_OnNonnegative23 ; CPU:$97EE PRG:17EE 10 DE rts ; CPU:$97F0 PRG:17F0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_97F1 -; Global: Branch target inside Label: taken when 97F1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 97F1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5396,35 +6129,35 @@ IrqHandler_Loop118: Sub_97F1: lda $0125 ; CPU:$97F1 PRG:17F1 AD 25 01 and #$10 ; CPU:$97F4 PRG:17F4 29 10 - bne IrqHandler_Loop120 ; CPU:$97F6 PRG:17F6 D0 32 + bne IrqHandler_Loop145 ; CPU:$97F6 PRG:17F6 D0 32 ; ----------------------------------------------------------------------------- ; Routine: Sub_97F8 -; Global: Branch target inside Label: taken when 97F8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 97F8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_97F8: - lda Zp2E ; CPU:$97F8 PRG:17F8 A5 2E + lda CursorMoved ; CPU:$97F8 PRG:17F8 A5 2E and #$02 ; CPU:$97FA PRG:17FA 29 02 - beq IrqHandler_Loop119 ; CPU:$97FC PRG:17FC F0 16 + beq IrqHandler_Loop144 ; CPU:$97FC PRG:17FC F0 16 ; ----------------------------------------------------------------------------- ; Routine: Sub_97FE -; Global: Branch target inside Label: taken when 97FE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 97FE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_97FE: - lda Zp2F ; CPU:$97FE PRG:17FE A5 2F + lda PlayerSide ; CPU:$97FE PRG:17FE A5 2F cmp #$01 ; CPU:$9800 PRG:1800 C9 01 - bne IrqHandler_Loop122 ; CPU:$9802 PRG:1802 D0 4E + bne IrqHandler_Loop147 ; CPU:$9802 PRG:1802 D0 4E lda #$68 ; CPU:$9804 PRG:1804 A9 68 - sta Zp0F ; CPU:$9806 PRG:1806 85 0F + sta MoveDeltaX ; CPU:$9806 PRG:1806 85 0F lda #$20 ; CPU:$9808 PRG:1808 A9 20 - sta Zp10 ; CPU:$980A PRG:180A 85 10 + sta MoveDeltaY ; CPU:$980A PRG:180A 85 10 jsr Sub_D776 ; CPU:$980C PRG:180C 20 76 D7 ; ---- data $980F-$9810 (2 bytes) ---- .byte $72, $98 ; CPU:$980F PRG:180F 72 98 @@ -5439,53 +6172,52 @@ Sub_97FE: Label_9811: jmp Sub_9843 ; CPU:$9811 PRG:1811 4C 43 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop119 -; Global: Branch target inside Label: taken when 9814. -; Local: Part of Label. +; Routine: IrqHandler_Loop144 +; Global: Branch target inside IrqHandler: taken when Loop144. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop119: - lda Zp2F ; CPU:$9814 PRG:1814 A5 2F +IrqHandler_Loop144: + lda PlayerSide ; CPU:$9814 PRG:1814 A5 2F cmp #$01 ; CPU:$9816 PRG:1816 C9 01 - bne IrqHandler_Loop123 ; CPU:$9818 PRG:1818 D0 48 + bne IrqHandler_Loop148 ; CPU:$9818 PRG:1818 D0 48 lda #$08 ; CPU:$981A PRG:181A A9 08 - sta Zp0F ; CPU:$981C PRG:181C 85 0F + sta MoveDeltaX ; CPU:$981C PRG:181C 85 0F lda #$23 ; CPU:$981E PRG:181E A9 23 - sta Zp10 ; CPU:$9820 PRG:1820 85 10 + sta MoveDeltaY ; CPU:$9820 PRG:1820 85 10 jsr Sub_D776 ; CPU:$9822 PRG:1822 20 76 D7 -; ---- data $9825-$9826 (2 bytes) ---- - .byte $79, $98 ; CPU:$9825 PRG:1825 79 98 ; ----------------------------------------------------------------------------- -; Routine: Label_9827 -; Global: Branch target inside Label: taken when 9827. +; Routine: Label_9825 +; Global: Branch target inside Label: taken when 9825. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_9827: - jmp Sub_9843 ; CPU:$9827 PRG:1827 4C 43 98 +Label_9825: + adc $4C98,y ; CPU:$9825 PRG:1825 79 98 4C + .byte $43, $98 ; CPU:$9828 PRG:1828 43 98 -- sre (Zp98,x) (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop120 -; Global: Branch target inside Label: taken when 982A. -; Local: Part of Label. +; Routine: IrqHandler_Loop145 +; Global: Branch target inside IrqHandler: taken when Loop145. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop120: - lda Zp2F ; CPU:$982A PRG:182A A5 2F +IrqHandler_Loop145: + lda PlayerSide ; CPU:$982A PRG:182A A5 2F cmp #$01 ; CPU:$982C PRG:182C C9 01 - bne IrqHandler_Loop121 ; CPU:$982E PRG:182E D0 14 - lda Zp2E ; CPU:$9830 PRG:1830 A5 2E + bne IrqHandler_Loop146 ; CPU:$982E PRG:182E D0 14 + lda CursorMoved ; CPU:$9830 PRG:1830 A5 2E and #$02 ; CPU:$9832 PRG:1832 29 02 - beq IrqHandler_OnNonzero11 ; CPU:$9834 PRG:1834 F0 08 + beq IrqHandler_OnNonzero13 ; CPU:$9834 PRG:1834 F0 08 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero4 -; Global: Branch target inside Label: taken when 9836. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero4. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5495,20 +6227,20 @@ IrqHandler_OnZero4: .byte $80, $98 ; CPU:$9839 PRG:1839 80 98 -- nop #$98 (undocumented; ca65 cannot encode) jmp Sub_9843 ; CPU:$983B PRG:183B 4C 43 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero11 -; Global: Branch target inside Label: taken when 983E. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero13 +; Global: Branch target inside IrqHandler: taken when OnNonzero13. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero11: +IrqHandler_OnNonzero13: jsr Sub_D770 ; CPU:$983E PRG:183E 20 70 D7 sta Zp98 ; CPU:$9841 PRG:1841 85 98 ; ----------------------------------------------------------------------------- ; Routine: Sub_9843 -; Global: Branch target inside Label: taken when 9843. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9843. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5516,56 +6248,56 @@ IrqHandler_OnNonzero11: Sub_9843: rts ; CPU:$9843 PRG:1843 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop121 -; Global: Branch target inside Label: taken when 9844. -; Local: Part of Label. +; Routine: IrqHandler_Loop146 +; Global: Branch target inside IrqHandler: taken when Loop146. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop121: - lda Zp2E ; CPU:$9844 PRG:1844 A5 2E +IrqHandler_Loop146: + lda CursorMoved ; CPU:$9844 PRG:1844 A5 2E and #$02 ; CPU:$9846 PRG:1846 29 02 beq IrqHandler_OnZero4 ; CPU:$9848 PRG:1848 F0 EC - bne IrqHandler_OnNonzero11 ; CPU:$984A PRG:184A D0 F2 - lda Zp2E ; CPU:$984C PRG:184C A5 2E + bne IrqHandler_OnNonzero13 ; CPU:$984A PRG:184A D0 F2 + lda CursorMoved ; CPU:$984C PRG:184C A5 2E and #$02 ; CPU:$984E PRG:184E 29 02 - beq IrqHandler_Loop123 ; CPU:$9850 PRG:1850 F0 10 + beq IrqHandler_Loop148 ; CPU:$9850 PRG:1850 F0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop122 -; Global: Branch target inside Label: taken when 9852. -; Local: Part of Label. +; Routine: IrqHandler_Loop147 +; Global: Branch target inside IrqHandler: taken when Loop147. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop122: +IrqHandler_Loop147: lda #$08 ; CPU:$9852 PRG:1852 A9 08 - sta Zp0F ; CPU:$9854 PRG:1854 85 0F + sta MoveDeltaX ; CPU:$9854 PRG:1854 85 0F lda #$23 ; CPU:$9856 PRG:1856 A9 23 - sta Zp10 ; CPU:$9858 PRG:1858 85 10 + sta MoveDeltaY ; CPU:$9858 PRG:1858 85 10 jsr Sub_D776 ; CPU:$985A PRG:185A 20 76 D7 .byte $72, $98, $4C ; CPU:$985D PRG:185D 72 98 4C -- rra $4C98 (undocumented; ca65 cannot encode) .byte $43, $98 ; CPU:$9860 PRG:1860 43 98 -- sre (Zp98,x) (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop123 -; Global: Branch target inside Label: taken when 9862. -; Local: Part of Label. +; Routine: IrqHandler_Loop148 +; Global: Branch target inside IrqHandler: taken when Loop148. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop123: +IrqHandler_Loop148: lda #$68 ; CPU:$9862 PRG:1862 A9 68 - sta Zp0F ; CPU:$9864 PRG:1864 85 0F + sta MoveDeltaX ; CPU:$9864 PRG:1864 85 0F lda #$20 ; CPU:$9866 PRG:1866 A9 20 - sta Zp10 ; CPU:$9868 PRG:1868 85 10 + sta MoveDeltaY ; CPU:$9868 PRG:1868 85 10 jsr Sub_D776 ; CPU:$986A PRG:186A 20 76 D7 adc $4C98,y ; CPU:$986D PRG:186D 79 98 4C .byte $43, $98 ; CPU:$9870 PRG:1870 43 98 -- sre (Zp98,x) (undocumented; ca65 cannot encode) ora Zp01 ; CPU:$9872 PRG:1872 05 01 .byte $42, $4C ; CPU:$9874 PRG:1874 42 4C -- nop #$4C (undocumented; ca65 cannot encode) - eor (Zp43,x) ; CPU:$9876 PRG:1876 41 43 + eor (CellOwner,x) ; CPU:$9876 PRG:1876 41 43 .byte $4B, $05 ; CPU:$9878 PRG:1878 4B 05 -- alr #$05 (undocumented; ca65 cannot encode) ora (Zp57,x) ; CPU:$987A PRG:187A 01 57 pha ; CPU:$987C PRG:187C 48 @@ -5578,85 +6310,83 @@ IrqHandler_Loop123: ora (Zp08,x) ; CPU:$9888 PRG:1888 01 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_988A -; Global: Branch target inside Label: taken when 988A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 988A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_988A: - lda Zp2F ; CPU:$988A PRG:188A A5 2F + lda PlayerSide ; CPU:$988A PRG:188A A5 2F cmp #$02 ; CPU:$988C PRG:188C C9 02 - bne IrqHandler_Loop124 ; CPU:$988E PRG:188E D0 1E + bne IrqHandler_Loop149 ; CPU:$988E PRG:188E D0 1E lda #$21 ; CPU:$9890 PRG:1890 A9 21 - sta Zp10 ; CPU:$9892 PRG:1892 85 10 + sta MoveDeltaY ; CPU:$9892 PRG:1892 85 10 lda #$43 ; CPU:$9894 PRG:1894 A9 43 - sta Zp0F ; CPU:$9896 PRG:1896 85 0F + sta MoveDeltaX ; CPU:$9896 PRG:1896 85 0F jmp Sub_98A3 ; CPU:$9898 PRG:1898 4C A3 98 ; ----------------------------------------------------------------------------- ; Routine: Sub_989B -; Global: Branch target inside Label: taken when 989B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 989B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_989B: lda #$96 ; CPU:$989B PRG:189B A9 96 - sta Zp0F ; CPU:$989D PRG:189D 85 0F + sta MoveDeltaX ; CPU:$989D PRG:189D 85 0F lda #$22 ; CPU:$989F PRG:189F A9 22 - sta Zp10 ; CPU:$98A1 PRG:18A1 85 10 + sta MoveDeltaY ; CPU:$98A1 PRG:18A1 85 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_98A3 -; Global: Branch target inside Label: taken when 98A3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 98A3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_98A3: - lda Zp2E ; CPU:$98A3 PRG:18A3 A5 2E + lda CursorMoved ; CPU:$98A3 PRG:18A3 A5 2E and #$02 ; CPU:$98A5 PRG:18A5 29 02 - beq IrqHandler_Loop125 ; CPU:$98A7 PRG:18A7 F0 06 + beq IrqHandler_Loop150 ; CPU:$98A7 PRG:18A7 F0 06 jsr Sub_D776 ; CPU:$98A9 PRG:18A9 20 76 D7 ; ---- data $98AC-$98AD (2 bytes) ---- .byte $72, $98 ; CPU:$98AC PRG:18AC 72 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop124 -; Global: Branch target inside Label: taken when 98AE. -; Local: Part of Label. +; Routine: IrqHandler_Loop149 +; Global: Branch target inside IrqHandler: taken when Loop149. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop124: +IrqHandler_Loop149: rts ; CPU:$98AE PRG:18AE 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop125 -; Global: Branch target inside Label: taken when 98AF. -; Local: Part of Label. +; Routine: IrqHandler_Loop150 +; Global: Branch target inside IrqHandler: taken when Loop150. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop125: +IrqHandler_Loop150: jsr Sub_D776 ; CPU:$98AF PRG:18AF 20 76 D7 -; ---- data $98B2-$98B3 (2 bytes) ---- - .byte $79, $98 ; CPU:$98B2 PRG:18B2 79 98 ; ----------------------------------------------------------------------------- -; Routine: Label_98B4 -; Global: Branch target inside Label: taken when 98B4. +; Routine: Label_98B2 +; Global: Branch target inside Label: taken when 98B2. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_98B4: - rts ; CPU:$98B4 PRG:18B4 60 +Label_98B2: + adc $6098,y ; CPU:$98B2 PRG:18B2 79 98 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_98B5 -; Global: Branch target inside Label: taken when 98B5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 98B5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5668,14 +6398,14 @@ Sub_98B5: jsr Sub_D77C ; CPU:$98BD PRG:18BD 20 7C D7 .byte $D3, $98 ; CPU:$98C0 PRG:18C0 D3 98 -- dcp (Zp98),y (undocumented; ca65 cannot encode) lda #$1E ; CPU:$98C2 PRG:18C2 A9 1E - jsr IrqHandler_OnNonzero18 ; CPU:$98C4 PRG:18C4 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$98C4 PRG:18C4 20 A0 A2 lda #$FF ; CPU:$98C7 PRG:18C7 A9 FF jsr Sub_DB0F ; CPU:$98C9 PRG:18C9 20 0F DB rts ; CPU:$98CC PRG:18CC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_98CD -; Global: Branch target inside Label: taken when 98CD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 98CD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5685,18 +6415,32 @@ Sub_98CD: cmp $6098,x ; CPU:$98D0 PRG:18D0 DD 98 60 ldx Zp22,y ; CPU:$98D3 PRG:18D3 B6 22 asl Zp01 ; CPU:$98D5 PRG:18D5 06 01 - bvc IrqHandler_Loop126 ; CPU:$98D7 PRG:18D7 50 41 + .byte $50, $41 ; CPU:$98D7 PRG:18D7 50 41 .byte $53, $53 ; CPU:$98D9 PRG:18D9 53 53 -- sre (Zp53),y (undocumented; ca65 cannot encode) and (Zp21,x) ; CPU:$98DB PRG:18DB 21 21 sbc Zp22,x ; CPU:$98DD PRG:18DD F5 22 php ; CPU:$98DF PRG:18DF 08 -; ---- data $98E0-$98F8 (25 bytes) ---- - .byte $02, $50, $55, $53, $48, $08, $27, $41, $27, $08, $42, $55, $54, $54, $4F, $4E ; CPU:$98E0 PRG:18E0 02 50 55 53 48 08 27 41 27 08 42 55 54 54 4F 4E - .byte $08, $20, $27, $8E, $20, $7C, $D7, $5B, $99 ; CPU:$98F0 PRG:18F0 08 20 27 8E 20 7C D7 5B 99 +; ---- data $98E0-$98F0 (17 bytes) ---- +PushAButtonText: + .byte $02, $50, $55, $53, $48, $08, $27, $41, $27, $08, $42, $55, $54, $54, $4F, $4E ; CPU:$98E0 PRG:-2720 02 50 55 53 48 08 27 41 27 08 42 55 54 54 4F 4E + .byte $08 ; CPU:$98F0 PRG:18F0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_98F1 +; Global: Branch target inside Sub: taken when 98F1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_98F1: + jsr Sub_8E27 ; CPU:$98F1 PRG:18F1 20 27 8E + jsr Sub_D77C ; CPU:$98F4 PRG:18F4 20 7C D7 +; ---- data $98F7-$98F8 (2 bytes) ---- + .byte $5B, $99 ; CPU:$98F7 PRG:18F7 5B 99 ; ----------------------------------------------------------------------------- ; Routine: Sub_98F9 -; Global: Branch target inside Label: taken when 98F9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 98F9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5704,49 +6448,107 @@ Sub_98CD: Sub_98F9: jsr Sub_A4E9 ; CPU:$98F9 PRG:18F9 20 E9 A4 lda #$3C ; CPU:$98FC PRG:18FC A9 3C - jsr IrqHandler_OnNonzero18 ; CPU:$98FE PRG:18FE 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$98FE PRG:18FE 20 A0 A2 jsr Sub_A4F0 ; CPU:$9901 PRG:1901 20 F0 A4 jmp Sub_8E27 ; CPU:$9904 PRG:1904 4C 27 8E -; ---- data $9907-$9919 (19 bytes) ---- - .byte $20, $27, $8E, $20, $7C, $D7, $88, $99, $4C, $25, $99, $20, $27, $8E, $20, $7C ; CPU:$9907 PRG:1907 20 27 8E 20 7C D7 88 99 4C 25 99 20 27 8E 20 7C - .byte $D7, $9A, $99 ; CPU:$9917 PRG:1917 D7 9A 99 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop126 -; Global: Branch target inside Label: taken when 991A. +; Routine: Sub_9907 +; Global: Branch target inside Sub: taken when 9907. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9907: + jsr Sub_8E27 ; CPU:$9907 PRG:1907 20 27 8E + jsr Sub_D77C ; CPU:$990A PRG:190A 20 7C D7 + dey ; CPU:$990D PRG:190D 88 + sta $254C,y ; CPU:$990E PRG:190E 99 4C 25 +; ----------------------------------------------------------------------------- +; Routine: Label_9911 +; Global: Branch target inside Label: taken when 9911. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop126: - jmp Sub_9925 ; CPU:$991A PRG:191A 4C 25 99 -; ---- data $991D-$9924 (8 bytes) ---- - .byte $20, $27, $8E, $20, $7C, $D7, $76, $99 ; CPU:$991D PRG:191D 20 27 8E 20 7C D7 76 99 +Label_9911: + sta $2720,y ; CPU:$9911 PRG:1911 99 20 27 + stx $7C20 ; CPU:$9914 PRG:1914 8E 20 7C + .byte $D7, $9A ; CPU:$9917 PRG:1917 D7 9A -- dcp Zp9A,y (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- -; Routine: Sub_9925 -; Global: Branch target inside Label: taken when 9925. +; Routine: Label_9919 +; Global: Branch target inside Label: taken when 9919. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_9925: - lda #$05 ; CPU:$9925 PRG:1925 A9 05 +Label_9919: + sta $254C,y ; CPU:$9919 PRG:1919 99 4C 25 + sta $2720,y ; CPU:$991C PRG:191C 99 20 27 + stx $7C20 ; CPU:$991F PRG:191F 8E 20 7C + .byte $D7, $76 ; CPU:$9922 PRG:1922 D7 76 -- dcp Zp76,y (undocumented; ca65 cannot encode) +; ----------------------------------------------------------------------------- +; Routine: Label_9924 +; Global: Branch target inside Label: taken when 9924. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9924: + sta $05A9,y ; CPU:$9924 PRG:1924 99 A9 05 jsr Sub_DB0F ; CPU:$9927 PRG:1927 20 0F DB jsr Sub_D77C ; CPU:$992A PRG:192A 20 7C D7 ror Zp99 ; CPU:$992D PRG:192D 66 99 jsr Sub_98F9 ; CPU:$992F PRG:192F 20 F9 98 jmp Sub_A4E9 ; CPU:$9932 PRG:1932 4C E9 A4 -; ---- data $9935-$997D (73 bytes) ---- - .byte $20, $7C, $D7, $3B, $99, $60, $95, $22, $07, $04, $41, $43, $43, $45, $50, $54 ; CPU:$9935 PRG:1935 20 7C D7 3B 99 60 95 22 07 04 41 43 43 45 50 54 - .byte $3F, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $59, $45, $53, $08, $08 ; CPU:$9945 PRG:1945 3F 08 08 08 08 08 08 08 08 08 08 59 45 53 08 08 - .byte $08, $08, $4E, $4F, $08, $08, $B5, $22, $07, $01, $43, $41, $4E, $43, $45, $4C ; CPU:$9955 PRG:1955 08 08 4E 4F 08 08 B5 22 07 01 43 41 4E 43 45 4C - .byte $21, $96, $22, $06, $02, $43, $41, $4E, $4E, $4F, $54, $43, $41, $4E, $43, $45 ; CPU:$9965 PRG:1965 21 96 22 06 02 43 41 4E 4E 4F 54 43 41 4E 43 45 - .byte $4C, $D6, $22, $07, $02, $4F, $56, $45, $52 ; CPU:$9975 PRG:1975 4C D6 22 07 02 4F 56 45 52 +; ----------------------------------------------------------------------------- +; Routine: Sub_9935 +; Global: Branch target inside Sub: taken when 9935. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9935: + jsr Sub_D77C ; CPU:$9935 PRG:1935 20 7C D7 + .byte $3B, $99, $60 ; CPU:$9938 PRG:1938 3B 99 60 -- rla $6099,y (undocumented; ca65 cannot encode) + sta Zp22,x ; CPU:$993B PRG:193B 95 22 + .byte $07, $04 ; CPU:$993D PRG:193D 07 04 -- slo Zp04 (undocumented; ca65 cannot encode) + eor (CellOwner,x) ; CPU:$993F PRG:193F 41 43 + .byte $43, $45 ; CPU:$9941 PRG:1941 43 45 -- sre (Zp45,x) (undocumented; ca65 cannot encode) + bvc IrqHandler_Loop152 ; CPU:$9943 PRG:1943 50 54 + .byte $3F, $08, $08 ; CPU:$9945 PRG:1945 3F 08 08 -- rla $0808,x (undocumented; ca65 cannot encode) + php ; CPU:$9948 PRG:1948 08 + php ; CPU:$9949 PRG:1949 08 + php ; CPU:$994A PRG:194A 08 + php ; CPU:$994B PRG:194B 08 + php ; CPU:$994C PRG:194C 08 + php ; CPU:$994D PRG:194D 08 + php ; CPU:$994E PRG:194E 08 + php ; CPU:$994F PRG:194F 08 + eor $5345,y ; CPU:$9950 PRG:1950 59 45 53 + php ; CPU:$9953 PRG:1953 08 + php ; CPU:$9954 PRG:1954 08 + php ; CPU:$9955 PRG:1955 08 + php ; CPU:$9956 PRG:1956 08 + lsr $084F ; CPU:$9957 PRG:1957 4E 4F 08 + php ; CPU:$995A PRG:195A 08 + lda Zp22,x ; CPU:$995B PRG:195B B5 22 + .byte $07, $01 ; CPU:$995D PRG:195D 07 01 -- slo Zp01 (undocumented; ca65 cannot encode) + .byte $43, $41 ; CPU:$995F PRG:195F 43 41 -- sre (Zp41,x) (undocumented; ca65 cannot encode) + lsr $4543 ; CPU:$9961 PRG:1961 4E 43 45 + jmp Sub_9621 ; CPU:$9964 PRG:1964 4C 21 96 +; ---- data $9967-$997D (23 bytes) ---- +CannotCancelText: + .byte $22, $06, $02, $43, $41, $4E, $4E, $4F, $54, $43, $41, $4E, $43, $45, $4C, $D6 ; CPU:$9967 PRG:-2699 22 06 02 43 41 4E 4E 4F 54 43 41 4E 43 45 4C D6 + .byte $22, $07, $02, $4F, $56, $45, $52 ; CPU:$9977 PRG:1977 22 07 02 4F 56 45 52 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero5 -; Global: Branch target inside Label: taken when 997E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5764,13 +6566,35 @@ IrqHandler_OnZero5: eor (Zp49,x) ; CPU:$998E PRG:198E 41 49 lsr $5453 ; CPU:$9990 PRG:1990 4E 53 54 jmp $5645 ; CPU:$9993 PRG:1993 4C 45 56 -; ---- data $9996-$99AB (22 bytes) ---- - .byte $45, $4C, $08, $34, $D6, $22, $07, $02, $41, $47, $41, $49, $4E, $53, $54, $4C ; CPU:$9996 PRG:1996 45 4C 08 34 D6 22 07 02 41 47 41 49 4E 53 54 4C - .byte $45, $56, $45, $4C, $08, $35 ; CPU:$99A6 PRG:19A6 45 56 45 4C 08 35 +; ----------------------------------------------------------------------------- +; Routine: Label_9996 +; Global: Branch target inside Label: taken when 9996. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9996: + eor Zp4C ; CPU:$9996 PRG:1996 45 4C + php ; CPU:$9998 PRG:1998 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop152 +; Global: Branch target inside IrqHandler: taken when Loop152. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop152: + .byte $34, $D6 ; CPU:$9999 PRG:1999 34 D6 -- nop ZpD6,x (undocumented; ca65 cannot encode) +; ---- data $999B-$99AB (17 bytes) ---- +AgainstLevelText: + .byte $22, $07, $02, $41, $47, $41, $49, $4E, $53, $54, $4C, $45, $56, $45, $4C, $08 ; CPU:$999B PRG:-2665 22 07 02 41 47 41 49 4E 53 54 4C 45 56 45 4C 08 + .byte $35 ; CPU:$99AB PRG:19AB 35 ; ----------------------------------------------------------------------------- ; Routine: Sub_99AC -; Global: Branch target inside Label: taken when 99AC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99AC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5792,16 +6616,17 @@ Sub_99AC: Label_99B9: jsr Sub_A4E9 ; CPU:$99B9 PRG:19B9 20 E9 A4 lda #$3C ; CPU:$99BC PRG:19BC A9 3C - jsr IrqHandler_OnNonzero18 ; CPU:$99BE PRG:19BE 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$99BE PRG:19BE 20 A0 A2 jsr Sub_A4F0 ; CPU:$99C1 PRG:19C1 20 F0 A4 jmp Sub_8E0D ; CPU:$99C4 PRG:19C4 4C 0D 8E ; ---- data $99C7-$99D9 (19 bytes) ---- - .byte $B6, $22, $05, $03, $08, $54, $52, $59, $08, $08, $08, $08, $08, $08, $41, $47 ; CPU:$99C7 PRG:19C7 B6 22 05 03 08 54 52 59 08 08 08 08 08 08 41 47 +TryAgainText: + .byte $B6, $22, $05, $03, $08, $54, $52, $59, $08, $08, $08, $08, $08, $08, $41, $47 ; CPU:$99C7 PRG:-2639 B6 22 05 03 08 54 52 59 08 08 08 08 08 08 41 47 .byte $41, $49, $4E ; CPU:$99D7 PRG:19D7 41 49 4E ; ----------------------------------------------------------------------------- ; Routine: Sub_99DA -; Global: Branch target inside Label: taken when 99DA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99DA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5821,8 +6646,8 @@ Label_99DF: rts ; CPU:$99DF PRG:19DF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_99E0 -; Global: Branch target inside Label: taken when 99E0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 99E0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5831,16 +6656,32 @@ Sub_99E0: jsr Sub_D77C ; CPU:$99E0 PRG:19E0 20 7C D7 beq IrqHandler_OnZero5 ; CPU:$99E3 PRG:19E3 F0 99 rts ; CPU:$99E5 PRG:19E5 60 -; ---- data $99E6-$9A34 (79 bytes) ---- - .byte $16, $23, $06, $01, $57, $49, $4E, $53, $08, $21, $D7, $22, $04, $03, $44, $52 ; CPU:$99E6 PRG:19E6 16 23 06 01 57 49 4E 53 08 21 D7 22 04 03 44 52 - .byte $41, $57, $08, $08, $08, $08, $47, $41, $4D, $45, $20, $27, $8E, $20, $7C, $D7 ; CPU:$99F6 PRG:19F6 41 57 08 08 08 08 47 41 4D 45 20 27 8E 20 7C D7 - .byte $09, $9A, $60, $95, $22, $08, $05, $21, $21, $53, $54, $4F, $50, $21, $21, $50 ; CPU:$9A06 PRG:1A06 09 9A 60 95 22 08 05 21 21 53 54 4F 50 21 21 50 - .byte $55, $53, $48, $08, $08, $08, $08, $08, $08, $53, $45, $4C, $45, $43, $54, $4F ; CPU:$9A16 PRG:1A16 55 53 48 08 08 08 08 08 08 53 45 4C 45 43 54 4F - .byte $52, $08, $53, $54, $41, $52, $54, $42, $55, $54, $54, $4F, $4E, $08, $08 ; CPU:$9A26 PRG:1A26 52 08 53 54 41 52 54 42 55 54 54 4F 4E 08 08 +; ---- data $99E6-$99FF (26 bytes) ---- +WinsDrawText: + .byte $16, $23, $06, $01, $57, $49, $4E, $53, $08, $21, $D7, $22, $04, $03, $44, $52 ; CPU:$99E6 PRG:-261A 16 23 06 01 57 49 4E 53 08 21 D7 22 04 03 44 52 + .byte $41, $57, $08, $08, $08, $08, $47, $41, $4D, $45 ; CPU:$99F6 PRG:19F6 41 57 08 08 08 08 47 41 4D 45 +; ----------------------------------------------------------------------------- +; Routine: Sub_9A00 +; Global: Branch target inside Sub: taken when 9A00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9A00: + jsr Sub_8E27 ; CPU:$9A00 PRG:1A00 20 27 8E + jsr Sub_D77C ; CPU:$9A03 PRG:1A03 20 7C D7 + ora #$9A ; CPU:$9A06 PRG:1A06 09 9A + rts ; CPU:$9A08 PRG:1A08 60 +; ---- data $9A09-$9A34 (44 bytes) ---- +StopPushText: + .byte $95, $22, $08, $05, $21, $21, $53, $54, $4F, $50, $21, $21, $50, $55, $53, $48 ; CPU:$9A09 PRG:-25F7 95 22 08 05 21 21 53 54 4F 50 21 21 50 55 53 48 + .byte $08, $08, $08, $08, $08, $08, $53, $45, $4C, $45, $43, $54, $4F, $52, $08, $53 ; CPU:$9A19 PRG:1A19 08 08 08 08 08 08 53 45 4C 45 43 54 4F 52 08 53 + .byte $54, $41, $52, $54, $42, $55, $54, $54, $4F, $4E, $08, $08 ; CPU:$9A29 PRG:1A29 54 41 52 54 42 55 54 54 4F 4E 08 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A35 -; Global: Branch target inside Label: taken when 9A35. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A35. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5862,8 +6703,8 @@ Label_9A3D: inc Zp9A,x ; CPU:$9A40 PRG:1A40 F6 9A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNegative2 -; Global: Branch target inside Label: taken when 9A42. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNegative2. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5872,8 +6713,8 @@ IrqHandler_OnNegative2: rts ; CPU:$9A42 PRG:1A42 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A43 -; Global: Branch target inside Label: taken when 9A43. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A43. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5886,16 +6727,16 @@ Sub_9A43: jmp Sub_D6E2 ; CPU:$9A4D PRG:1A4D 4C E2 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A50 -; Global: Branch target inside Label: taken when 9A50. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A50. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9A50: - lda Zp2E ; CPU:$9A50 PRG:1A50 A5 2E + lda CursorMoved ; CPU:$9A50 PRG:1A50 A5 2E and #$DF ; CPU:$9A52 PRG:1A52 29 DF - sta Zp2E ; CPU:$9A54 PRG:1A54 85 2E + sta CursorMoved ; CPU:$9A54 PRG:1A54 85 2E lda $0123 ; CPU:$9A56 PRG:1A56 AD 23 01 bmi IrqHandler_OnNegative2 ; CPU:$9A59 PRG:1A59 30 E7 jsr Sub_D77C ; CPU:$9A5B PRG:1A5B 20 7C D7 @@ -5905,8 +6746,8 @@ Sub_9A50: .byte $BE, $8E, $A9, $23, $85, $10, $A9, $18, $85, $0F, $AD, $23, $01, $4C, $BE, $8E ; CPU:$9A7E PRG:1A7E BE 8E A9 23 85 10 A9 18 85 0F AD 23 01 4C BE 8E ; ----------------------------------------------------------------------------- ; Routine: Sub_9A8E -; Global: Branch target inside Label: taken when 9A8E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A8E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5916,14 +6757,14 @@ Sub_9A8E: dec Zp9A,x ; CPU:$9A91 PRG:1A91 D6 9A lda #$06 ; CPU:$9A93 PRG:1A93 A9 06 jsr Sub_DB0F ; CPU:$9A95 PRG:1A95 20 0F DB - lda Zp2E ; CPU:$9A98 PRG:1A98 A5 2E + lda CursorMoved ; CPU:$9A98 PRG:1A98 A5 2E and #$BF ; CPU:$9A9A PRG:1A9A 29 BF - sta Zp2E ; CPU:$9A9C PRG:1A9C 85 2E + sta CursorMoved ; CPU:$9A9C PRG:1A9C 85 2E rts ; CPU:$9A9E PRG:1A9E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A9F -; Global: Branch target inside Label: taken when 9A9F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9A9F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5934,8 +6775,8 @@ Sub_9A9F: .byte $12, $9B, $A9, $3C, $20, $A0, $A2, $60 ; CPU:$9AA2 PRG:1AA2 12 9B A9 3C 20 A0 A2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9AAA -; Global: Branch target inside Label: taken when 9AAA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9AAA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -5984,7 +6825,8 @@ Label_9AAF: php ; CPU:$9AD3 PRG:1AD3 08 .byte $1C, $1D, $B6 ; CPU:$9AD4 PRG:1AD4 1C 1D B6 -- nop $B61D,x (undocumented; ca65 cannot encode) ; ---- data $9AD7-$9BAF (217 bytes) ---- - .byte $22, $06, $01, $48, $55, $52, $52, $59, $21, $95, $22, $08, $01, $47, $41, $4D ; CPU:$9AD7 PRG:1AD7 22 06 01 48 55 52 52 59 21 95 22 08 01 47 41 4D +HurryGameEndText: + .byte $22, $06, $01, $48, $55, $52, $52, $59, $21, $95, $22, $08, $01, $47, $41, $4D ; CPU:$9AD7 PRG:-2529 22 06 01 48 55 52 52 59 21 95 22 08 01 47 41 4D .byte $45, $08, $45, $4E, $44, $96, $22, $06, $01, $3D, $44, $45, $4D, $4F, $3D, $D5 ; CPU:$9AE7 PRG:1AE7 45 08 45 4E 44 96 22 06 01 3D 44 45 4D 4F 3D D5 .byte $22, $08, $03, $50, $55, $53, $48, $08, $08, $08, $08, $08, $53, $54, $41, $52 ; CPU:$9AF7 PRG:1AF7 22 08 03 50 55 53 48 08 08 08 08 08 53 54 41 52 .byte $54, $08, $08, $08, $08, $42, $55, $54, $54, $4F, $4E, $95, $22, $08, $01, $54 ; CPU:$9B07 PRG:1B07 54 08 08 08 08 42 55 54 54 4F 4E 95 22 08 01 54 @@ -6000,151 +6842,151 @@ Label_9AAF: .byte $49, $4D, $49, $54, $95, $22, $08, $05, $08 ; CPU:$9BA7 PRG:1BA7 49 4D 49 54 95 22 08 05 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_9BB0 -; Global: Branch target inside Label: taken when 9BB0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9BB0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9BB0: - lda Zp37 ; CPU:$9BB0 PRG:1BB0 A5 37 - bmi IrqHandler_Loop127 ; CPU:$9BB2 PRG:1BB2 30 04 - cmp Zp32 ; CPU:$9BB4 PRG:1BB4 C5 32 - bcs IrqHandler_Loop128 ; CPU:$9BB6 PRG:1BB6 B0 2E + lda BoardState ; CPU:$9BB0 PRG:1BB0 A5 37 + bmi IrqHandler_Loop153 ; CPU:$9BB2 PRG:1BB2 30 04 + cmp BoardCursorY ; CPU:$9BB4 PRG:1BB4 C5 32 + bcs IrqHandler_Loop154 ; CPU:$9BB6 PRG:1BB6 B0 2E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop127 -; Global: Branch target inside Label: taken when 9BB8. -; Local: Part of Label. +; Routine: IrqHandler_Loop153 +; Global: Branch target inside IrqHandler: taken when Loop153. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop127: +IrqHandler_Loop153: lda Zp06 ; CPU:$9BB8 PRG:1BB8 A5 06 and #$30 ; CPU:$9BBA PRG:1BBA 29 30 - bne IrqHandler_Loop129 ; CPU:$9BBC PRG:1BBC D0 56 - lda Zp36 ; CPU:$9BBE PRG:1BBE A5 36 - cmp Zp31 ; CPU:$9BC0 PRG:1BC0 C5 31 - beq IrqHandler_OnNonzero12 ; CPU:$9BC2 PRG:1BC2 F0 0B + bne IrqHandler_Loop155 ; CPU:$9BBC PRG:1BBC D0 56 + lda BoardState2 ; CPU:$9BBE PRG:1BBE A5 36 + cmp BoardCursorX ; CPU:$9BC0 PRG:1BC0 C5 31 + beq IrqHandler_OnNonzero14 ; CPU:$9BC2 PRG:1BC2 F0 0B jsr Sub_9C66 ; CPU:$9BC4 PRG:1BC4 20 66 9C - inc Zp36 ; CPU:$9BC7 PRG:1BC7 E6 36 + inc BoardState2 ; CPU:$9BC7 PRG:1BC7 E6 36 jsr Sub_D6E2 ; CPU:$9BC9 PRG:1BC9 20 E2 D6 - jmp IrqHandler_Loop127 ; CPU:$9BCC PRG:1BCC 4C B8 9B -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero12 -; Global: Branch target inside Label: taken when 9BCF. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero12: - lda Zp06 ; CPU:$9BCF PRG:1BCF A5 06 - and #$30 ; CPU:$9BD1 PRG:1BD1 29 30 - bne IrqHandler_Loop129 ; CPU:$9BD3 PRG:1BD3 D0 3F - jsr Sub_9CB8 ; CPU:$9BD5 PRG:1BD5 20 B8 9C - inc Zp37 ; CPU:$9BD8 PRG:1BD8 E6 37 - jsr Sub_D6E2 ; CPU:$9BDA PRG:1BDA 20 E2 D6 - lda Zp37 ; CPU:$9BDD PRG:1BDD A5 37 - cmp Zp32 ; CPU:$9BDF PRG:1BDF C5 32 - bne IrqHandler_OnNonzero12 ; CPU:$9BE1 PRG:1BE1 D0 EC - jmp Sub_9D0A ; CPU:$9BE3 PRG:1BE3 4C 0A 9D -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop128 -; Global: Branch target inside Label: taken when 9BE6. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop128: - lda Zp06 ; CPU:$9BE6 PRG:1BE6 A5 06 - and #$30 ; CPU:$9BE8 PRG:1BE8 29 30 - bne IrqHandler_Loop129 ; CPU:$9BEA PRG:1BEA D0 28 - lda Zp36 ; CPU:$9BEC PRG:1BEC A5 36 - cmp Zp31 ; CPU:$9BEE PRG:1BEE C5 31 - beq IrqHandler_OnNonzero13 ; CPU:$9BF0 PRG:1BF0 F0 0B - jsr Sub_9C8F ; CPU:$9BF2 PRG:1BF2 20 8F 9C - dec Zp36 ; CPU:$9BF5 PRG:1BF5 C6 36 - jsr Sub_D6E2 ; CPU:$9BF7 PRG:1BF7 20 E2 D6 - jmp IrqHandler_Loop128 ; CPU:$9BFA PRG:1BFA 4C E6 9B -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero13 -; Global: Branch target inside Label: taken when 9BFD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero13: - lda Zp06 ; CPU:$9BFD PRG:1BFD A5 06 - and #$30 ; CPU:$9BFF PRG:1BFF 29 30 - bne IrqHandler_Loop129 ; CPU:$9C01 PRG:1C01 D0 11 - jsr Sub_9CE1 ; CPU:$9C03 PRG:1C03 20 E1 9C - dec Zp37 ; CPU:$9C06 PRG:1C06 C6 37 - jsr Sub_D6E2 ; CPU:$9C08 PRG:1C08 20 E2 D6 - lda Zp37 ; CPU:$9C0B PRG:1C0B A5 37 - cmp Zp32 ; CPU:$9C0D PRG:1C0D C5 32 - bne IrqHandler_OnNonzero13 ; CPU:$9C0F PRG:1C0F D0 EC - jmp Sub_9D0A ; CPU:$9C11 PRG:1C11 4C 0A 9D -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop129 -; Global: Branch target inside Label: taken when 9C14. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop129: - rts ; CPU:$9C14 PRG:1C14 60 -; ----------------------------------------------------------------------------- -; Routine: Sub_9C15 -; Global: Branch target inside Label: taken when 9C15. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_9C15: - lda Zp37 ; CPU:$9C15 PRG:1C15 A5 37 - bmi IrqHandler_Loop130 ; CPU:$9C17 PRG:1C17 30 04 - cmp Zp32 ; CPU:$9C19 PRG:1C19 C5 32 - bcs IrqHandler_Loop131 ; CPU:$9C1B PRG:1C1B B0 27 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop130 -; Global: Branch target inside Label: taken when 9C1D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop130: - lda Zp36 ; CPU:$9C1D PRG:1C1D A5 36 - cmp Zp31 ; CPU:$9C1F PRG:1C1F C5 31 - beq IrqHandler_OnNonzero14 ; CPU:$9C21 PRG:1C21 F0 0B - jsr Sub_9C66 ; CPU:$9C23 PRG:1C23 20 66 9C - inc Zp36 ; CPU:$9C26 PRG:1C26 E6 36 - jsr Sub_D6E2 ; CPU:$9C28 PRG:1C28 20 E2 D6 - jmp IrqHandler_Loop130 ; CPU:$9C2B PRG:1C2B 4C 1D 9C + jmp IrqHandler_Loop153 ; CPU:$9BCC PRG:1BCC 4C B8 9B ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero14 -; Global: Branch target inside Label: taken when 9C2E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero14: + lda Zp06 ; CPU:$9BCF PRG:1BCF A5 06 + and #$30 ; CPU:$9BD1 PRG:1BD1 29 30 + bne IrqHandler_Loop155 ; CPU:$9BD3 PRG:1BD3 D0 3F + jsr Sub_9CB8 ; CPU:$9BD5 PRG:1BD5 20 B8 9C + inc BoardState ; CPU:$9BD8 PRG:1BD8 E6 37 + jsr Sub_D6E2 ; CPU:$9BDA PRG:1BDA 20 E2 D6 + lda BoardState ; CPU:$9BDD PRG:1BDD A5 37 + cmp BoardCursorY ; CPU:$9BDF PRG:1BDF C5 32 + bne IrqHandler_OnNonzero14 ; CPU:$9BE1 PRG:1BE1 D0 EC + jmp Sub_9D0A ; CPU:$9BE3 PRG:1BE3 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop154 +; Global: Branch target inside IrqHandler: taken when Loop154. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop154: + lda Zp06 ; CPU:$9BE6 PRG:1BE6 A5 06 + and #$30 ; CPU:$9BE8 PRG:1BE8 29 30 + bne IrqHandler_Loop155 ; CPU:$9BEA PRG:1BEA D0 28 + lda BoardState2 ; CPU:$9BEC PRG:1BEC A5 36 + cmp BoardCursorX ; CPU:$9BEE PRG:1BEE C5 31 + beq IrqHandler_OnNonzero15 ; CPU:$9BF0 PRG:1BF0 F0 0B + jsr Sub_9C8F ; CPU:$9BF2 PRG:1BF2 20 8F 9C + dec BoardState2 ; CPU:$9BF5 PRG:1BF5 C6 36 + jsr Sub_D6E2 ; CPU:$9BF7 PRG:1BF7 20 E2 D6 + jmp IrqHandler_Loop154 ; CPU:$9BFA PRG:1BFA 4C E6 9B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero15 +; Global: Branch target inside IrqHandler: taken when OnNonzero15. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero15: + lda Zp06 ; CPU:$9BFD PRG:1BFD A5 06 + and #$30 ; CPU:$9BFF PRG:1BFF 29 30 + bne IrqHandler_Loop155 ; CPU:$9C01 PRG:1C01 D0 11 + jsr Sub_9CE1 ; CPU:$9C03 PRG:1C03 20 E1 9C + dec BoardState ; CPU:$9C06 PRG:1C06 C6 37 + jsr Sub_D6E2 ; CPU:$9C08 PRG:1C08 20 E2 D6 + lda BoardState ; CPU:$9C0B PRG:1C0B A5 37 + cmp BoardCursorY ; CPU:$9C0D PRG:1C0D C5 32 + bne IrqHandler_OnNonzero15 ; CPU:$9C0F PRG:1C0F D0 EC + jmp Sub_9D0A ; CPU:$9C11 PRG:1C11 4C 0A 9D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop155 +; Global: Branch target inside IrqHandler: taken when Loop155. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop155: + rts ; CPU:$9C14 PRG:1C14 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9C15 +; Global: Branch target inside Sub: taken when 9C15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9C15: + lda BoardState ; CPU:$9C15 PRG:1C15 A5 37 + bmi IrqHandler_Loop156 ; CPU:$9C17 PRG:1C17 30 04 + cmp BoardCursorY ; CPU:$9C19 PRG:1C19 C5 32 + bcs IrqHandler_Loop157 ; CPU:$9C1B PRG:1C1B B0 27 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop156 +; Global: Branch target inside IrqHandler: taken when Loop156. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop156: + lda BoardState2 ; CPU:$9C1D PRG:1C1D A5 36 + cmp BoardCursorX ; CPU:$9C1F PRG:1C1F C5 31 + beq IrqHandler_OnNonzero16 ; CPU:$9C21 PRG:1C21 F0 0B + jsr Sub_9C66 ; CPU:$9C23 PRG:1C23 20 66 9C + inc BoardState2 ; CPU:$9C26 PRG:1C26 E6 36 + jsr Sub_D6E2 ; CPU:$9C28 PRG:1C28 20 E2 D6 + jmp IrqHandler_Loop156 ; CPU:$9C2B PRG:1C2B 4C 1D 9C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero16 +; Global: Branch target inside IrqHandler: taken when OnNonzero16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero16: jsr Sub_9CB8 ; CPU:$9C2E PRG:1C2E 20 B8 9C - inc Zp37 ; CPU:$9C31 PRG:1C31 E6 37 + inc BoardState ; CPU:$9C31 PRG:1C31 E6 37 jsr Sub_D6E2 ; CPU:$9C33 PRG:1C33 20 E2 D6 - lda Zp37 ; CPU:$9C36 PRG:1C36 A5 37 - cmp Zp32 ; CPU:$9C38 PRG:1C38 C5 32 - bne IrqHandler_OnNonzero14 ; CPU:$9C3A PRG:1C3A D0 F2 + lda BoardState ; CPU:$9C36 PRG:1C36 A5 37 + cmp BoardCursorY ; CPU:$9C38 PRG:1C38 C5 32 + bne IrqHandler_OnNonzero16 ; CPU:$9C3A PRG:1C3A D0 F2 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C3C -; Global: Branch target inside Label: taken when 9C3C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C3C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6152,61 +6994,61 @@ IrqHandler_OnNonzero14: Sub_9C3C: jsr Sub_9D0A ; CPU:$9C3C PRG:1C3C 20 0A 9D lda #$06 ; CPU:$9C3F PRG:1C3F A9 06 - jmp IrqHandler_OnNonzero18 ; CPU:$9C41 PRG:1C41 4C A0 A2 + jmp IrqHandler_OnNonzero20 ; CPU:$9C41 PRG:1C41 4C A0 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop131 -; Global: Branch target inside Label: taken when 9C44. -; Local: Part of Label. +; Routine: IrqHandler_Loop157 +; Global: Branch target inside IrqHandler: taken when Loop157. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop131: - lda Zp36 ; CPU:$9C44 PRG:1C44 A5 36 - cmp Zp31 ; CPU:$9C46 PRG:1C46 C5 31 - beq IrqHandler_OnNonzero15 ; CPU:$9C48 PRG:1C48 F0 0B +IrqHandler_Loop157: + lda BoardState2 ; CPU:$9C44 PRG:1C44 A5 36 + cmp BoardCursorX ; CPU:$9C46 PRG:1C46 C5 31 + beq IrqHandler_OnNonzero17 ; CPU:$9C48 PRG:1C48 F0 0B jsr Sub_9C8F ; CPU:$9C4A PRG:1C4A 20 8F 9C - dec Zp36 ; CPU:$9C4D PRG:1C4D C6 36 + dec BoardState2 ; CPU:$9C4D PRG:1C4D C6 36 jsr Sub_D6E2 ; CPU:$9C4F PRG:1C4F 20 E2 D6 - jmp IrqHandler_Loop131 ; CPU:$9C52 PRG:1C52 4C 44 9C + jmp IrqHandler_Loop157 ; CPU:$9C52 PRG:1C52 4C 44 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero15 -; Global: Branch target inside Label: taken when 9C55. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero17 +; Global: Branch target inside IrqHandler: taken when OnNonzero17. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero15: +IrqHandler_OnNonzero17: jsr Sub_9CE1 ; CPU:$9C55 PRG:1C55 20 E1 9C - dec Zp37 ; CPU:$9C58 PRG:1C58 C6 37 + dec BoardState ; CPU:$9C58 PRG:1C58 C6 37 jsr Sub_D6E2 ; CPU:$9C5A PRG:1C5A 20 E2 D6 - lda Zp37 ; CPU:$9C5D PRG:1C5D A5 37 - cmp Zp32 ; CPU:$9C5F PRG:1C5F C5 32 - bne IrqHandler_OnNonzero15 ; CPU:$9C61 PRG:1C61 D0 F2 + lda BoardState ; CPU:$9C5D PRG:1C5D A5 37 + cmp BoardCursorY ; CPU:$9C5F PRG:1C5F C5 32 + bne IrqHandler_OnNonzero17 ; CPU:$9C61 PRG:1C61 D0 F2 jmp Sub_9C3C ; CPU:$9C63 PRG:1C63 4C 3C 9C ; ----------------------------------------------------------------------------- ; Routine: Sub_9C66 -; Global: Branch target inside Label: taken when 9C66. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C66. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C66: lda $0124 ; CPU:$9C66 PRG:1C66 AD 24 01 - bne IrqHandler_OnNonzero16 ; CPU:$9C69 PRG:1C69 D0 23 + bne IrqHandler_OnNonzero18 ; CPU:$9C69 PRG:1C69 D0 23 lda #$00 ; CPU:$9C6B PRG:1C6B A9 00 sta $01B2 ; CPU:$9C6D PRG:1C6D 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear2 -; Global: Branch target inside Label: taken when 9C70. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear3 +; Global: Branch target inside IrqHandler: taken when OnCarryClear3. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear2: +IrqHandler_OnCarryClear3: jsr Sub_94E0 ; CPU:$9C70 PRG:1C70 20 E0 94 lda $01B2 ; CPU:$9C73 PRG:1C73 AD B2 01 clc ; CPU:$9C76 PRG:1C76 18 @@ -6219,39 +7061,39 @@ IrqHandler_OnCarryClear2: adc $01B2 ; CPU:$9C84 PRG:1C84 6D B2 01 sta $01B2 ; CPU:$9C87 PRG:1C87 8D B2 01 cmp #$10 ; CPU:$9C8A PRG:1C8A C9 10 - bcc IrqHandler_OnCarryClear2 ; CPU:$9C8C PRG:1C8C 90 E2 + bcc IrqHandler_OnCarryClear3 ; CPU:$9C8C PRG:1C8C 90 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero16 -; Global: Branch target inside Label: taken when 9C8E. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero18 +; Global: Branch target inside IrqHandler: taken when OnNonzero18. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero16: +IrqHandler_OnNonzero18: rts ; CPU:$9C8E PRG:1C8E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C8F -; Global: Branch target inside Label: taken when 9C8F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9C8F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9C8F: lda $0124 ; CPU:$9C8F PRG:1C8F AD 24 01 - bne IrqHandler_OnNonzero16 ; CPU:$9C92 PRG:1C92 D0 FA + bne IrqHandler_OnNonzero18 ; CPU:$9C92 PRG:1C92 D0 FA lda #$00 ; CPU:$9C94 PRG:1C94 A9 00 sta $01B2 ; CPU:$9C96 PRG:1C96 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear3 -; Global: Branch target inside Label: taken when 9C99. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear4 +; Global: Branch target inside IrqHandler: taken when OnCarryClear4. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear3: +IrqHandler_OnCarryClear4: jsr Sub_94E0 ; CPU:$9C99 PRG:1C99 20 E0 94 lda Zp33 ; CPU:$9C9C PRG:1C9C A5 33 sec ; CPU:$9C9E PRG:1C9E 38 @@ -6264,30 +7106,30 @@ IrqHandler_OnCarryClear3: adc $01B2 ; CPU:$9CAD PRG:1CAD 6D B2 01 sta $01B2 ; CPU:$9CB0 PRG:1CB0 8D B2 01 cmp #$10 ; CPU:$9CB3 PRG:1CB3 C9 10 - bcc IrqHandler_OnCarryClear3 ; CPU:$9CB5 PRG:1CB5 90 E2 + bcc IrqHandler_OnCarryClear4 ; CPU:$9CB5 PRG:1CB5 90 E2 rts ; CPU:$9CB7 PRG:1CB7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9CB8 -; Global: Branch target inside Label: taken when 9CB8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9CB8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9CB8: lda $0124 ; CPU:$9CB8 PRG:1CB8 AD 24 01 - bne IrqHandler_OnNonzero16 ; CPU:$9CBB PRG:1CBB D0 D1 + bne IrqHandler_OnNonzero18 ; CPU:$9CBB PRG:1CBB D0 D1 lda #$00 ; CPU:$9CBD PRG:1CBD A9 00 sta $01B2 ; CPU:$9CBF PRG:1CBF 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear4 -; Global: Branch target inside Label: taken when 9CC2. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear5 +; Global: Branch target inside IrqHandler: taken when OnCarryClear5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear4: +IrqHandler_OnCarryClear5: jsr Sub_94E0 ; CPU:$9CC2 PRG:1CC2 20 E0 94 lda $01B2 ; CPU:$9CC5 PRG:1CC5 AD B2 01 clc ; CPU:$9CC8 PRG:1CC8 18 @@ -6300,30 +7142,30 @@ IrqHandler_OnCarryClear4: adc $01B2 ; CPU:$9CD6 PRG:1CD6 6D B2 01 sta $01B2 ; CPU:$9CD9 PRG:1CD9 8D B2 01 cmp #$10 ; CPU:$9CDC PRG:1CDC C9 10 - bcc IrqHandler_OnCarryClear4 ; CPU:$9CDE PRG:1CDE 90 E2 + bcc IrqHandler_OnCarryClear5 ; CPU:$9CDE PRG:1CDE 90 E2 rts ; CPU:$9CE0 PRG:1CE0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9CE1 -; Global: Branch target inside Label: taken when 9CE1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9CE1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9CE1: lda $0124 ; CPU:$9CE1 PRG:1CE1 AD 24 01 - bne IrqHandler_OnNonzero16 ; CPU:$9CE4 PRG:1CE4 D0 A8 + bne IrqHandler_OnNonzero18 ; CPU:$9CE4 PRG:1CE4 D0 A8 lda #$00 ; CPU:$9CE6 PRG:1CE6 A9 00 sta $01B2 ; CPU:$9CE8 PRG:1CE8 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear5 -; Global: Branch target inside Label: taken when 9CEB. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear6 +; Global: Branch target inside IrqHandler: taken when OnCarryClear6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear5: +IrqHandler_OnCarryClear6: jsr Sub_94E0 ; CPU:$9CEB PRG:1CEB 20 E0 94 lda Zp34 ; CPU:$9CEE PRG:1CEE A5 34 sec ; CPU:$9CF0 PRG:1CF0 38 @@ -6336,12 +7178,12 @@ IrqHandler_OnCarryClear5: adc $01B2 ; CPU:$9CFF PRG:1CFF 6D B2 01 sta $01B2 ; CPU:$9D02 PRG:1D02 8D B2 01 cmp #$10 ; CPU:$9D05 PRG:1D05 C9 10 - bcc IrqHandler_OnCarryClear5 ; CPU:$9D07 PRG:1D07 90 E2 + bcc IrqHandler_OnCarryClear6 ; CPU:$9D07 PRG:1D07 90 E2 rts ; CPU:$9D09 PRG:1D09 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D0A -; Global: Branch target inside Label: taken when 9D0A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D0A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6349,12 +7191,12 @@ IrqHandler_OnCarryClear5: Sub_9D0A: jsr Sub_9D4E ; CPU:$9D0A PRG:1D0A 20 4E 9D lda $0124 ; CPU:$9D0D PRG:1D0D AD 24 01 - bne IrqHandler_Loop133 ; CPU:$9D10 PRG:1D10 D0 22 + bne IrqHandler_Loop159 ; CPU:$9D10 PRG:1D10 D0 22 jsr Sub_94E0 ; CPU:$9D12 PRG:1D12 20 E0 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D15 -; Global: Branch target inside Label: taken when 9D15. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D15. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6365,38 +7207,38 @@ Sub_9D15: lda #$00 ; CPU:$9D1A PRG:1D1A A9 00 sta $0119 ; CPU:$9D1C PRG:1D1C 8D 19 01 jsr Sub_8CEF ; CPU:$9D1F PRG:1D1F 20 EF 8C - bne IrqHandler_Loop132 ; CPU:$9D22 PRG:1D22 D0 08 + bne IrqHandler_Loop158 ; CPU:$9D22 PRG:1D22 D0 08 lda #$01 ; CPU:$9D24 PRG:1D24 A9 01 sta $011A ; CPU:$9D26 PRG:1D26 8D 1A 01 jmp Sub_A013 ; CPU:$9D29 PRG:1D29 4C 13 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop132 -; Global: Branch target inside Label: taken when 9D2C. -; Local: Part of Label. +; Routine: IrqHandler_Loop158 +; Global: Branch target inside IrqHandler: taken when Loop158. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop132: +IrqHandler_Loop158: lda #$C1 ; CPU:$9D2C PRG:1D2C A9 C1 sta $011A ; CPU:$9D2E PRG:1D2E 8D 1A 01 jmp Sub_9FD9 ; CPU:$9D31 PRG:1D31 4C D9 9F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop133 -; Global: Branch target inside Label: taken when 9D34. -; Local: Part of Label. +; Routine: IrqHandler_Loop159 +; Global: Branch target inside IrqHandler: taken when Loop159. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop133: +IrqHandler_Loop159: lda $0125 ; CPU:$9D34 PRG:1D34 AD 25 01 and #$10 ; CPU:$9D37 PRG:1D37 29 10 - beq IrqHandler_Loop134 ; CPU:$9D39 PRG:1D39 F0 10 + beq IrqHandler_Loop160 ; CPU:$9D39 PRG:1D39 F0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D3B -; Global: Branch target inside Label: taken when 9D3B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D3B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6409,19 +7251,19 @@ Sub_9D3B: sta $011A ; CPU:$9D45 PRG:1D45 8D 1A 01 jmp Sub_A013 ; CPU:$9D48 PRG:1D48 4C 13 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop134 -; Global: Branch target inside Label: taken when 9D4B. -; Local: Part of Label. +; Routine: IrqHandler_Loop160 +; Global: Branch target inside IrqHandler: taken when Loop160. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop134: +IrqHandler_Loop160: jmp Sub_A0C3 ; CPU:$9D4B PRG:1D4B 4C C3 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D4E -; Global: Branch target inside Label: taken when 9D4E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D4E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6432,8 +7274,8 @@ Sub_9D4E: jmp Sub_A0C3 ; CPU:$9D53 PRG:1D53 4C C3 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D56 -; Global: Branch target inside Label: taken when 9D56. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D56. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6441,7 +7283,7 @@ Sub_9D4E: Sub_9D56: lda $0125 ; CPU:$9D56 PRG:1D56 AD 25 01 and #$08 ; CPU:$9D59 PRG:1D59 29 08 - bne IrqHandler_Loop135 ; CPU:$9D5B PRG:1D5B D0 29 + bne IrqHandler_Loop161 ; CPU:$9D5B PRG:1D5B D0 29 lda #$01 ; CPU:$9D5D PRG:1D5D A9 01 sta $0124 ; CPU:$9D5F PRG:1D5F 8D 24 01 lda #$4A ; CPU:$9D62 PRG:1D62 A9 4A @@ -6450,13 +7292,13 @@ Sub_9D56: sta $011A ; CPU:$9D69 PRG:1D69 8D 1A 01 lda #$30 ; CPU:$9D6C PRG:1D6C A9 30 sta $0119 ; CPU:$9D6E PRG:1D6E 8D 19 01 - lda Zp31 ; CPU:$9D71 PRG:1D71 A5 31 + lda BoardCursorX ; CPU:$9D71 PRG:1D71 A5 31 asl a ; CPU:$9D73 PRG:1D73 0A asl a ; CPU:$9D74 PRG:1D74 0A asl a ; CPU:$9D75 PRG:1D75 0A adc #$4F ; CPU:$9D76 PRG:1D76 69 4F sta Zp33 ; CPU:$9D78 PRG:1D78 85 33 - lda Zp32 ; CPU:$9D7A PRG:1D7A A5 32 + lda BoardCursorY ; CPU:$9D7A PRG:1D7A A5 32 asl a ; CPU:$9D7C PRG:1D7C 0A asl a ; CPU:$9D7D PRG:1D7D 0A asl a ; CPU:$9D7E PRG:1D7E 0A @@ -6464,21 +7306,21 @@ Sub_9D56: sta Zp34 ; CPU:$9D81 PRG:1D81 85 34 jmp Sub_A013 ; CPU:$9D83 PRG:1D83 4C 13 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop135 -; Global: Branch target inside Label: taken when 9D86. -; Local: Part of Label. +; Routine: IrqHandler_Loop161 +; Global: Branch target inside IrqHandler: taken when Loop161. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop135: +IrqHandler_Loop161: lda #$30 ; CPU:$9D86 PRG:1D86 A9 30 sta $0119 ; CPU:$9D88 PRG:1D88 8D 19 01 jmp Sub_A0C3 ; CPU:$9D8B PRG:1D8B 4C C3 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D8E -; Global: Branch target inside Label: taken when 9D8E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9D8E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6504,8 +7346,8 @@ Sub_9D8E: jmp Sub_A013 ; CPU:$9DB3 PRG:1DB3 4C 13 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9DB6 -; Global: Branch target inside Label: taken when 9DB6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9DB6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6520,8 +7362,8 @@ Sub_9DB6: rts ; CPU:$9DC0 PRG:1DC0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9DC1 -; Global: Branch target inside Label: taken when 9DC1. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9DC1. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6539,45 +7381,45 @@ Sub_9DC1: sta $0119 ; CPU:$9DD5 PRG:1DD5 8D 19 01 lda #$38 ; CPU:$9DD8 PRG:1DD8 A9 38 sta $0118 ; CPU:$9DDA PRG:1DDA 8D 18 01 - lda Zp2F ; CPU:$9DDD PRG:1DDD A5 2F + lda PlayerSide ; CPU:$9DDD PRG:1DDD A5 2F and #$03 ; CPU:$9DDF PRG:1DDF 29 03 cmp #$01 ; CPU:$9DE1 PRG:1DE1 C9 01 - bne IrqHandler_Loop136 ; CPU:$9DE3 PRG:1DE3 D0 03 + bne IrqHandler_Loop162 ; CPU:$9DE3 PRG:1DE3 D0 03 inc $0118 ; CPU:$9DE5 PRG:1DE5 EE 18 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop136 -; Global: Branch target inside Label: taken when 9DE8. -; Local: Part of Label. +; Routine: IrqHandler_Loop162 +; Global: Branch target inside IrqHandler: taken when Loop162. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop136: +IrqHandler_Loop162: jsr Sub_A013 ; CPU:$9DE8 PRG:1DE8 20 13 A0 lda #$66 ; CPU:$9DEB PRG:1DEB A9 66 sta Zp34 ; CPU:$9DED PRG:1DED 85 34 inc $0119 ; CPU:$9DEF PRG:1DEF EE 19 01 lda #$39 ; CPU:$9DF2 PRG:1DF2 A9 39 sta $0118 ; CPU:$9DF4 PRG:1DF4 8D 18 01 - lda Zp2F ; CPU:$9DF7 PRG:1DF7 A5 2F + lda PlayerSide ; CPU:$9DF7 PRG:1DF7 A5 2F and #$03 ; CPU:$9DF9 PRG:1DF9 29 03 cmp #$01 ; CPU:$9DFB PRG:1DFB C9 01 - bne IrqHandler_Loop137 ; CPU:$9DFD PRG:1DFD D0 03 + bne IrqHandler_Loop163 ; CPU:$9DFD PRG:1DFD D0 03 dec $0118 ; CPU:$9DFF PRG:1DFF CE 18 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop137 -; Global: Branch target inside Label: taken when 9E02. -; Local: Part of Label. +; Routine: IrqHandler_Loop163 +; Global: Branch target inside IrqHandler: taken when Loop163. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop137: +IrqHandler_Loop163: jmp Sub_A013 ; CPU:$9E02 PRG:1E02 4C 13 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E05 -; Global: Branch target inside Label: taken when 9E05. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E05. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6587,85 +7429,85 @@ Sub_9E05: and #$3F ; CPU:$9E08 PRG:1E08 29 3F sta $01B2 ; CPU:$9E0A PRG:1E0A 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear6 -; Global: Branch target inside Label: taken when 9E0D. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear7 +; Global: Branch target inside IrqHandler: taken when OnCarryClear7. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear6: +IrqHandler_OnCarryClear7: ldx $01B2 ; CPU:$9E0D PRG:1E0D AE B2 01 jsr Sub_94A6 ; CPU:$9E10 PRG:1E10 20 A6 94 jsr Sub_9D8E ; CPU:$9E13 PRG:1E13 20 8E 9D jsr Sub_97F1 ; CPU:$9E16 PRG:1E16 20 F1 97 lda #$02 ; CPU:$9E19 PRG:1E19 A9 02 - jsr IrqHandler_OnNonzero18 ; CPU:$9E1B PRG:1E1B 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9E1B PRG:1E1B 20 A0 A2 jsr Sub_8CEF ; CPU:$9E1E PRG:1E1E 20 EF 8C - bne IrqHandler_Loop138 ; CPU:$9E21 PRG:1E21 D0 05 + bne IrqHandler_Loop164 ; CPU:$9E21 PRG:1E21 D0 05 lda Zp06 ; CPU:$9E23 PRG:1E23 A5 06 jmp Sub_9E2A ; CPU:$9E25 PRG:1E25 4C 2A 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop138 -; Global: Branch target inside Label: taken when 9E28. -; Local: Part of Label. +; Routine: IrqHandler_Loop164 +; Global: Branch target inside IrqHandler: taken when Loop164. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop138: +IrqHandler_Loop164: lda Zp07 ; CPU:$9E28 PRG:1E28 A5 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E2A -; Global: Branch target inside Label: taken when 9E2A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E2A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9E2A: and #$40 ; CPU:$9E2A PRG:1E2A 29 40 - beq IrqHandler_Loop139 ; CPU:$9E2C PRG:1E2C F0 01 + beq IrqHandler_Loop165 ; CPU:$9E2C PRG:1E2C F0 01 rts ; CPU:$9E2E PRG:1E2E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop139 -; Global: Branch target inside Label: taken when 9E2F. -; Local: Part of Label. +; Routine: IrqHandler_Loop165 +; Global: Branch target inside IrqHandler: taken when Loop165. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop139: +IrqHandler_Loop165: lda $01B2 ; CPU:$9E2F PRG:1E2F AD B2 01 clc ; CPU:$9E32 PRG:1E32 18 adc #$05 ; CPU:$9E33 PRG:1E33 69 05 sta $01B2 ; CPU:$9E35 PRG:1E35 8D B2 01 lda $01B2 ; CPU:$9E38 PRG:1E38 AD B2 01 cmp #$40 ; CPU:$9E3B PRG:1E3B C9 40 - bcc IrqHandler_OnCarryClear6 ; CPU:$9E3D PRG:1E3D 90 CE + bcc IrqHandler_OnCarryClear7 ; CPU:$9E3D PRG:1E3D 90 CE and #$3F ; CPU:$9E3F PRG:1E3F 29 3F sta $01B2 ; CPU:$9E41 PRG:1E41 8D B2 01 - jmp IrqHandler_OnCarryClear6 ; CPU:$9E44 PRG:1E44 4C 0D 9E + jmp IrqHandler_OnCarryClear7 ; CPU:$9E44 PRG:1E44 4C 0D 9E ; ----------------------------------------------------------------------------- ; Routine: Sub_9E47 -; Global: Branch target inside Label: taken when 9E47. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E47. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9E47: lda #$08 ; CPU:$9E47 PRG:1E47 A9 08 - jsr IrqHandler_OnNonzero18 ; CPU:$9E49 PRG:1E49 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9E49 PRG:1E49 20 A0 A2 lda #$B8 ; CPU:$9E4C PRG:1E4C A9 B8 - sta Zp0F ; CPU:$9E4E PRG:1E4E 85 0F + sta MoveDeltaX ; CPU:$9E4E PRG:1E4E 85 0F lda #$22 ; CPU:$9E50 PRG:1E50 A9 22 - sta Zp10 ; CPU:$9E52 PRG:1E52 85 10 + sta MoveDeltaY ; CPU:$9E52 PRG:1E52 85 10 lda #$3D ; CPU:$9E54 PRG:1E54 A9 3D jsr Sub_8EFF ; CPU:$9E56 PRG:1E56 20 FF 8E lda $0125 ; CPU:$9E59 PRG:1E59 AD 25 01 and #$07 ; CPU:$9E5C PRG:1E5C 29 07 - sta Zp31 ; CPU:$9E5E PRG:1E5E 85 31 + sta BoardCursorX ; CPU:$9E5E PRG:1E5E 85 31 lda #$AC ; CPU:$9E60 PRG:1E60 A9 AC sta Zp33 ; CPU:$9E62 PRG:1E62 85 33 lda #$A3 ; CPU:$9E64 PRG:1E64 A9 A3 @@ -6675,15 +7517,15 @@ Sub_9E47: lda #$03 ; CPU:$9E6D PRG:1E6D A9 03 sta $011A ; CPU:$9E6F PRG:1E6F 8D 1A 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear7 -; Global: Branch target inside Label: taken when 9E72. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear8 +; Global: Branch target inside IrqHandler: taken when OnCarryClear8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear7: - lda Zp31 ; CPU:$9E72 PRG:1E72 A5 31 +IrqHandler_OnCarryClear8: + lda BoardCursorX ; CPU:$9E72 PRG:1E72 A5 31 asl a ; CPU:$9E74 PRG:1E74 0A asl a ; CPU:$9E75 PRG:1E75 0A clc ; CPU:$9E76 PRG:1E76 18 @@ -6692,59 +7534,59 @@ IrqHandler_OnCarryClear7: jsr Sub_9FAE ; CPU:$9E7C PRG:1E7C 20 AE 9F jsr Sub_97F1 ; CPU:$9E7F PRG:1E7F 20 F1 97 lda #$03 ; CPU:$9E82 PRG:1E82 A9 03 - jsr IrqHandler_OnNonzero18 ; CPU:$9E84 PRG:1E84 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9E84 PRG:1E84 20 A0 A2 jsr Sub_8CEF ; CPU:$9E87 PRG:1E87 20 EF 8C - bne IrqHandler_Loop140 ; CPU:$9E8A PRG:1E8A D0 05 + bne IrqHandler_Loop166 ; CPU:$9E8A PRG:1E8A D0 05 lda Zp06 ; CPU:$9E8C PRG:1E8C A5 06 jmp Sub_9E93 ; CPU:$9E8E PRG:1E8E 4C 93 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop140 -; Global: Branch target inside Label: taken when 9E91. -; Local: Part of Label. +; Routine: IrqHandler_Loop166 +; Global: Branch target inside IrqHandler: taken when Loop166. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop140: +IrqHandler_Loop166: lda Zp07 ; CPU:$9E91 PRG:1E91 A5 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E93 -; Global: Branch target inside Label: taken when 9E93. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9E93. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9E93: and #$40 ; CPU:$9E93 PRG:1E93 29 40 - bne IrqHandler_Loop141 ; CPU:$9E95 PRG:1E95 D0 0F - inc Zp31 ; CPU:$9E97 PRG:1E97 E6 31 - lda Zp31 ; CPU:$9E99 PRG:1E99 A5 31 + bne IrqHandler_Loop167 ; CPU:$9E95 PRG:1E95 D0 0F + inc BoardCursorX ; CPU:$9E97 PRG:1E97 E6 31 + lda BoardCursorX ; CPU:$9E99 PRG:1E99 A5 31 cmp #$08 ; CPU:$9E9B PRG:1E9B C9 08 - bcc IrqHandler_OnCarryClear7 ; CPU:$9E9D PRG:1E9D 90 D3 + bcc IrqHandler_OnCarryClear8 ; CPU:$9E9D PRG:1E9D 90 D3 lda #$00 ; CPU:$9E9F PRG:1E9F A9 00 - sta Zp31 ; CPU:$9EA1 PRG:1EA1 85 31 - jmp IrqHandler_OnCarryClear7 ; CPU:$9EA3 PRG:1EA3 4C 72 9E + sta BoardCursorX ; CPU:$9EA1 PRG:1EA1 85 31 + jmp IrqHandler_OnCarryClear8 ; CPU:$9EA3 PRG:1EA3 4C 72 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop141 -; Global: Branch target inside Label: taken when 9EA6. -; Local: Part of Label. +; Routine: IrqHandler_Loop167 +; Global: Branch target inside IrqHandler: taken when Loop167. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop141: +IrqHandler_Loop167: lda #$01 ; CPU:$9EA6 PRG:1EA6 A9 01 jsr Sub_DB0F ; CPU:$9EA8 PRG:1EA8 20 0F DB lda #$08 ; CPU:$9EAB PRG:1EAB A9 08 - jsr IrqHandler_OnNonzero18 ; CPU:$9EAD PRG:1EAD 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9EAD PRG:1EAD 20 A0 A2 lda #$FF ; CPU:$9EB0 PRG:1EB0 A9 FF jsr Sub_DB0F ; CPU:$9EB2 PRG:1EB2 20 0F DB lda #$08 ; CPU:$9EB5 PRG:1EB5 A9 08 - jsr IrqHandler_OnNonzero18 ; CPU:$9EB7 PRG:1EB7 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9EB7 PRG:1EB7 20 A0 A2 lda $0125 ; CPU:$9EBA PRG:1EBA AD 25 01 and #$07 ; CPU:$9EBD PRG:1EBD 29 07 - sta Zp32 ; CPU:$9EBF PRG:1EBF 85 32 + sta BoardCursorY ; CPU:$9EBF PRG:1EBF 85 32 lda #$CC ; CPU:$9EC1 PRG:1EC1 A9 CC sta Zp33 ; CPU:$9EC3 PRG:1EC3 85 33 lda #$A3 ; CPU:$9EC5 PRG:1EC5 A9 A3 @@ -6754,15 +7596,15 @@ IrqHandler_Loop141: lda #$34 ; CPU:$9ECE PRG:1ECE A9 34 sta $0119 ; CPU:$9ED0 PRG:1ED0 8D 19 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear8 -; Global: Branch target inside Label: taken when 9ED3. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear9 +; Global: Branch target inside IrqHandler: taken when OnCarryClear9. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear8: - lda Zp32 ; CPU:$9ED3 PRG:1ED3 A5 32 +IrqHandler_OnCarryClear9: + lda BoardCursorY ; CPU:$9ED3 PRG:1ED3 A5 32 asl a ; CPU:$9ED5 PRG:1ED5 0A asl a ; CPU:$9ED6 PRG:1ED6 0A clc ; CPU:$9ED7 PRG:1ED7 18 @@ -6771,66 +7613,66 @@ IrqHandler_OnCarryClear8: jsr Sub_9FAE ; CPU:$9EDD PRG:1EDD 20 AE 9F jsr Sub_97F1 ; CPU:$9EE0 PRG:1EE0 20 F1 97 lda #$03 ; CPU:$9EE3 PRG:1EE3 A9 03 - jsr IrqHandler_OnNonzero18 ; CPU:$9EE5 PRG:1EE5 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9EE5 PRG:1EE5 20 A0 A2 jsr Sub_8CEF ; CPU:$9EE8 PRG:1EE8 20 EF 8C - bne IrqHandler_Loop142 ; CPU:$9EEB PRG:1EEB D0 05 + bne IrqHandler_Loop168 ; CPU:$9EEB PRG:1EEB D0 05 lda Zp06 ; CPU:$9EED PRG:1EED A5 06 jmp Sub_9EF4 ; CPU:$9EEF PRG:1EEF 4C F4 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop142 -; Global: Branch target inside Label: taken when 9EF2. -; Local: Part of Label. +; Routine: IrqHandler_Loop168 +; Global: Branch target inside IrqHandler: taken when Loop168. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop142: +IrqHandler_Loop168: lda Zp07 ; CPU:$9EF2 PRG:1EF2 A5 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_9EF4 -; Global: Branch target inside Label: taken when 9EF4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9EF4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9EF4: and #$40 ; CPU:$9EF4 PRG:1EF4 29 40 - bne IrqHandler_Loop143 ; CPU:$9EF6 PRG:1EF6 D0 0F - inc Zp32 ; CPU:$9EF8 PRG:1EF8 E6 32 - lda Zp32 ; CPU:$9EFA PRG:1EFA A5 32 + bne IrqHandler_Loop169 ; CPU:$9EF6 PRG:1EF6 D0 0F + inc BoardCursorY ; CPU:$9EF8 PRG:1EF8 E6 32 + lda BoardCursorY ; CPU:$9EFA PRG:1EFA A5 32 cmp #$08 ; CPU:$9EFC PRG:1EFC C9 08 - bcc IrqHandler_OnCarryClear8 ; CPU:$9EFE PRG:1EFE 90 D3 + bcc IrqHandler_OnCarryClear9 ; CPU:$9EFE PRG:1EFE 90 D3 lda #$00 ; CPU:$9F00 PRG:1F00 A9 00 - sta Zp32 ; CPU:$9F02 PRG:1F02 85 32 - jmp IrqHandler_OnCarryClear8 ; CPU:$9F04 PRG:1F04 4C D3 9E + sta BoardCursorY ; CPU:$9F02 PRG:1F02 85 32 + jmp IrqHandler_OnCarryClear9 ; CPU:$9F04 PRG:1F04 4C D3 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop143 -; Global: Branch target inside Label: taken when 9F07. -; Local: Part of Label. +; Routine: IrqHandler_Loop169 +; Global: Branch target inside IrqHandler: taken when Loop169. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop143: +IrqHandler_Loop169: lda #$01 ; CPU:$9F07 PRG:1F07 A9 01 jsr Sub_DB0F ; CPU:$9F09 PRG:1F09 20 0F DB lda #$08 ; CPU:$9F0C PRG:1F0C A9 08 - jsr IrqHandler_OnNonzero18 ; CPU:$9F0E PRG:1F0E 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9F0E PRG:1F0E 20 A0 A2 lda #$FF ; CPU:$9F11 PRG:1F11 A9 FF jsr Sub_DB0F ; CPU:$9F13 PRG:1F13 20 0F DB jmp Sub_D6E2 ; CPU:$9F16 PRG:1F16 4C E2 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F19 -; Global: Branch target inside Label: taken when 9F19. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F19. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9F19: lda #$14 ; CPU:$9F19 PRG:1F19 A9 14 - jsr IrqHandler_OnNonzero18 ; CPU:$9F1B PRG:1F1B 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9F1B PRG:1F1B 20 A0 A2 lda $0125 ; CPU:$9F1E PRG:1F1E AD 25 01 and #$02 ; CPU:$9F21 PRG:1F21 29 02 sta Zp35 ; CPU:$9F23 PRG:1F23 85 35 @@ -6844,41 +7686,41 @@ Sub_9F19: sta $0124 ; CPU:$9F35 PRG:1F35 8D 24 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero6 -; Global: Branch target inside Label: taken when 9F38. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero6: lda #$03 ; CPU:$9F38 PRG:1F38 A9 03 - jsr IrqHandler_OnNonzero18 ; CPU:$9F3A PRG:1F3A 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$9F3A PRG:1F3A 20 A0 A2 lda Zp35 ; CPU:$9F3D PRG:1F3D A5 35 eor #$02 ; CPU:$9F3F PRG:1F3F 49 02 sta Zp35 ; CPU:$9F41 PRG:1F41 85 35 - beq IrqHandler_Loop144 ; CPU:$9F43 PRG:1F43 F0 0C + beq IrqHandler_Loop170 ; CPU:$9F43 PRG:1F43 F0 0C lda #$9D ; CPU:$9F45 PRG:1F45 A9 9D sta Zp34 ; CPU:$9F47 PRG:1F47 85 34 lda #$39 ; CPU:$9F49 PRG:1F49 A9 39 sta $0118 ; CPU:$9F4B PRG:1F4B 8D 18 01 jmp Sub_9F5A ; CPU:$9F4E PRG:1F4E 4C 5A 9F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop144 -; Global: Branch target inside Label: taken when 9F51. -; Local: Part of Label. +; Routine: IrqHandler_Loop170 +; Global: Branch target inside IrqHandler: taken when Loop170. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop144: +IrqHandler_Loop170: lda #$AD ; CPU:$9F51 PRG:1F51 A9 AD sta Zp34 ; CPU:$9F53 PRG:1F53 85 34 lda #$38 ; CPU:$9F55 PRG:1F55 A9 38 sta $0118 ; CPU:$9F57 PRG:1F57 8D 18 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F5A -; Global: Branch target inside Label: taken when 9F5A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F5A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6886,23 +7728,23 @@ IrqHandler_Loop144: Sub_9F5A: jsr Sub_A013 ; CPU:$9F5A PRG:1F5A 20 13 A0 jsr Sub_8CEF ; CPU:$9F5D PRG:1F5D 20 EF 8C - beq IrqHandler_Loop145 ; CPU:$9F60 PRG:1F60 F0 05 + beq IrqHandler_Loop171 ; CPU:$9F60 PRG:1F60 F0 05 lda Zp07 ; CPU:$9F62 PRG:1F62 A5 07 jmp Sub_9F69 ; CPU:$9F64 PRG:1F64 4C 69 9F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop145 -; Global: Branch target inside Label: taken when 9F67. -; Local: Part of Label. +; Routine: IrqHandler_Loop171 +; Global: Branch target inside IrqHandler: taken when Loop171. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop145: +IrqHandler_Loop171: lda Zp06 ; CPU:$9F67 PRG:1F67 A5 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F69 -; Global: Branch target inside Label: taken when 9F69. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F69. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6910,16 +7752,16 @@ IrqHandler_Loop145: Sub_9F69: and #$40 ; CPU:$9F69 PRG:1F69 29 40 beq IrqHandler_OnZero6 ; CPU:$9F6B PRG:1F6B F0 CB - lda Zp2E ; CPU:$9F6D PRG:1F6D A5 2E + lda CursorMoved ; CPU:$9F6D PRG:1F6D A5 2E and #$FD ; CPU:$9F6F PRG:1F6F 29 FD clc ; CPU:$9F71 PRG:1F71 18 adc Zp35 ; CPU:$9F72 PRG:1F72 65 35 - sta Zp2E ; CPU:$9F74 PRG:1F74 85 2E + sta CursorMoved ; CPU:$9F74 PRG:1F74 85 2E rts ; CPU:$9F76 PRG:1F76 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F77 -; Global: Branch target inside Label: taken when 9F77. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9F77. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6932,14 +7774,14 @@ Sub_9F77: lda #$2C ; CPU:$9F81 PRG:1F81 A9 2C sta $0119 ; CPU:$9F83 PRG:1F83 8D 19 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear9 -; Global: Branch target inside Label: taken when 9F86. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear10 +; Global: Branch target inside IrqHandler: taken when OnCarryClear10. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear9: +IrqHandler_OnCarryClear10: lda #$1B ; CPU:$9F86 PRG:1F86 A9 1B sta $0118 ; CPU:$9F88 PRG:1F88 8D 18 01 ldx $0119 ; CPU:$9F8B PRG:1F8B AE 19 01 @@ -6951,14 +7793,15 @@ IrqHandler_OnCarryClear9: inc $0119 ; CPU:$9F9B PRG:1F9B EE 19 01 lda $0119 ; CPU:$9F9E PRG:1F9E AD 19 01 cmp #$30 ; CPU:$9FA1 PRG:1FA1 C9 30 - bcc IrqHandler_OnCarryClear9 ; CPU:$9FA3 PRG:1FA3 90 E1 + bcc IrqHandler_OnCarryClear10 ; CPU:$9FA3 PRG:1FA3 90 E1 rts ; CPU:$9FA5 PRG:1FA5 60 ; ---- data $9FA6-$9FAD (8 bytes) ---- - .byte $2C, $6C, $2C, $6C, $4B, $4B, $8B, $8B ; CPU:$9FA6 PRG:1FA6 2C 6C 2C 6C 4B 4B 8B 8B +BoardEdgeGraphic: + .byte $2C, $6C, $2C, $6C, $4B, $4B, $8B, $8B ; CPU:$9FA6 PRG:-205A 2C 6C 2C 6C 4B 4B 8B 8B ; ----------------------------------------------------------------------------- ; Routine: Sub_9FAE -; Global: Branch target inside Label: taken when 9FAE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FAE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6980,8 +7823,8 @@ Sub_9FAE: jsr Sub_A040 ; CPU:$9FCD PRG:1FCD 20 40 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FD0 -; Global: Branch target inside Label: taken when 9FD0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FD0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -6992,8 +7835,8 @@ Sub_9FD0: jmp Sub_A040 ; CPU:$9FD6 PRG:1FD6 4C 40 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FD9 -; Global: Branch target inside Label: taken when 9FD9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when 9FD9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7023,8 +7866,8 @@ Sub_9FD9: jsr Sub_A040 ; CPU:$A007 PRG:2007 20 40 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A00A -; Global: Branch target inside Label: taken when A00A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A00A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7035,8 +7878,8 @@ Sub_A00A: jmp Sub_A040 ; CPU:$A010 PRG:2010 4C 40 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A013 -; Global: Branch target inside Label: taken when A013. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A013. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7052,7 +7895,7 @@ Sub_A013: sta $01B0 ; CPU:$A020 PRG:2020 8D B0 01 jsr Sub_A040 ; CPU:$A023 PRG:2023 20 40 A0 lda $0124 ; CPU:$A026 PRG:2026 AD 24 01 - bne IrqHandler_Loop146 ; CPU:$A029 PRG:2029 D0 31 + bne IrqHandler_Loop172 ; CPU:$A029 PRG:2029 D0 31 jsr Sub_A03A ; CPU:$A02B PRG:202B 20 3A A0 jsr Sub_A102 ; CPU:$A02E PRG:202E 20 02 A1 jsr Sub_A0E4 ; CPU:$A031 PRG:2031 20 E4 A0 @@ -7060,8 +7903,8 @@ Sub_A013: jsr Sub_A040 ; CPU:$A037 PRG:2037 20 40 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A03A -; Global: Branch target inside Label: taken when A03A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A03A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7071,8 +7914,8 @@ Sub_A03A: inc $0118 ; CPU:$A03D PRG:203D EE 18 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A040 -; Global: Branch target inside Label: taken when A040. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A040. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7091,28 +7934,28 @@ Sub_A040: sta $0200,x ; CPU:$A058 PRG:2058 9D 00 02 inx ; CPU:$A05B PRG:205B E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop146 -; Global: Branch target inside Label: taken when A05C. -; Local: Part of Label. +; Routine: IrqHandler_Loop172 +; Global: Branch target inside IrqHandler: taken when Loop172. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop146: +IrqHandler_Loop172: rts ; CPU:$A05C PRG:205C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A05D -; Global: Branch target inside Label: taken when A05D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A05D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A05D: lda $011B ; CPU:$A05D PRG:205D AD 1B 01 - beq IrqHandler_Loop147 ; CPU:$A060 PRG:2060 F0 45 + beq IrqHandler_Loop173 ; CPU:$A060 PRG:2060 F0 45 cmp #$03 ; CPU:$A062 PRG:2062 C9 03 - bcs IrqHandler_Loop147 ; CPU:$A064 PRG:2064 B0 41 + bcs IrqHandler_Loop173 ; CPU:$A064 PRG:2064 B0 41 asl a ; CPU:$A066 PRG:2066 0A asl a ; CPU:$A067 PRG:2067 0A asl a ; CPU:$A068 PRG:2068 0A @@ -7135,39 +7978,39 @@ Sub_A05D: jsr Sub_A040 ; CPU:$A092 PRG:2092 20 40 A0 lda $011B ; CPU:$A095 PRG:2095 AD 1B 01 cmp #$01 ; CPU:$A098 PRG:2098 C9 01 - bne IrqHandler_Loop148 ; CPU:$A09A PRG:209A D0 13 + bne IrqHandler_Loop174 ; CPU:$A09A PRG:209A D0 13 jsr Sub_A0E4 ; CPU:$A09C PRG:209C 20 E4 A0 inc $0118 ; CPU:$A09F PRG:209F EE 18 01 ldx #$28 ; CPU:$A0A2 PRG:20A2 A2 28 jmp Sub_A040 ; CPU:$A0A4 PRG:20A4 4C 40 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop147 -; Global: Branch target inside Label: taken when A0A7. -; Local: Part of Label. +; Routine: IrqHandler_Loop173 +; Global: Branch target inside IrqHandler: taken when Loop173. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop147: +IrqHandler_Loop173: lda #$F0 ; CPU:$A0A7 PRG:20A7 A9 F0 sta $0220 ; CPU:$A0A9 PRG:20A9 8D 20 02 sta $0224 ; CPU:$A0AC PRG:20AC 8D 24 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop148 -; Global: Branch target inside Label: taken when A0AF. -; Local: Part of Label. +; Routine: IrqHandler_Loop174 +; Global: Branch target inside IrqHandler: taken when Loop174. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop148: +IrqHandler_Loop174: lda #$F0 ; CPU:$A0AF PRG:20AF A9 F0 sta $0228 ; CPU:$A0B1 PRG:20B1 8D 28 02 rts ; CPU:$A0B4 PRG:20B4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0B5 -; Global: Branch target inside Label: taken when A0B5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0B5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7176,22 +8019,22 @@ Sub_A0B5: lda #$3F ; CPU:$A0B5 PRG:20B5 A9 3F sta $0119 ; CPU:$A0B7 PRG:20B7 8D 19 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative21 -; Global: Branch target inside Label: taken when A0BA. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative25 +; Global: Branch target inside IrqHandler: taken when OnNonnegative25. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative21: +IrqHandler_OnNonnegative25: jsr Sub_A0D8 ; CPU:$A0BA PRG:20BA 20 D8 A0 dec $0119 ; CPU:$A0BD PRG:20BD CE 19 01 - bpl IrqHandler_OnNonnegative21 ; CPU:$A0C0 PRG:20C0 10 F8 + bpl IrqHandler_OnNonnegative25 ; CPU:$A0C0 PRG:20C0 10 F8 rts ; CPU:$A0C2 PRG:20C2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0C3 -; Global: Branch target inside Label: taken when A0C3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0C3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7204,26 +8047,26 @@ Sub_A0C3: tax ; CPU:$A0CA PRG:20CA AA lda #$F1 ; CPU:$A0CB PRG:20CB A9 F1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero17 -; Global: Branch target inside Label: taken when A0CD. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero19 +; Global: Branch target inside IrqHandler: taken when OnNonzero19. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero17: +IrqHandler_OnNonzero19: sta $0200,x ; CPU:$A0CD PRG:20CD 9D 00 02 inx ; CPU:$A0D0 PRG:20D0 E8 inx ; CPU:$A0D1 PRG:20D1 E8 inx ; CPU:$A0D2 PRG:20D2 E8 inx ; CPU:$A0D3 PRG:20D3 E8 dey ; CPU:$A0D4 PRG:20D4 88 - bne IrqHandler_OnNonzero17 ; CPU:$A0D5 PRG:20D5 D0 F6 + bne IrqHandler_OnNonzero19 ; CPU:$A0D5 PRG:20D5 D0 F6 rts ; CPU:$A0D7 PRG:20D7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0D8 -; Global: Branch target inside Label: taken when A0D8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0D8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7238,8 +8081,8 @@ Sub_A0D8: rts ; CPU:$A0E3 PRG:20E3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0E4 -; Global: Branch target inside Label: taken when A0E4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0E4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7252,8 +8095,8 @@ Sub_A0E4: rts ; CPU:$A0ED PRG:20ED 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0EE -; Global: Branch target inside Label: taken when A0EE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0EE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7266,8 +8109,8 @@ Sub_A0EE: rts ; CPU:$A0F7 PRG:20F7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0F8 -; Global: Branch target inside Label: taken when A0F8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A0F8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7280,8 +8123,8 @@ Sub_A0F8: rts ; CPU:$A101 PRG:2101 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A102 -; Global: Branch target inside Label: taken when A102. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A102. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7294,56 +8137,56 @@ Sub_A102: rts ; CPU:$A10B PRG:210B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A10C -; Global: Branch target inside Label: taken when A10C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A10C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A10C: - lda Zp31 ; CPU:$A10C PRG:210C A5 31 + lda BoardCursorX ; CPU:$A10C PRG:210C A5 31 sta Zp19 ; CPU:$A10E PRG:210E 85 19 - lda Zp32 ; CPU:$A110 PRG:2110 A5 32 + lda BoardCursorY ; CPU:$A110 PRG:2110 A5 32 sta Zp1A ; CPU:$A112 PRG:2112 85 1A lda #$07 ; CPU:$A114 PRG:2114 A9 07 - sta Zp32 ; CPU:$A116 PRG:2116 85 32 + sta BoardCursorY ; CPU:$A116 PRG:2116 85 32 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative22 -; Global: Branch target inside Label: taken when A118. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative26 +; Global: Branch target inside IrqHandler: taken when OnNonnegative26. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative22: +IrqHandler_OnNonnegative26: lda #$07 ; CPU:$A118 PRG:2118 A9 07 - sta Zp31 ; CPU:$A11A PRG:211A 85 31 + sta BoardCursorX ; CPU:$A11A PRG:211A 85 31 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative23 -; Global: Branch target inside Label: taken when A11C. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative27 +; Global: Branch target inside IrqHandler: taken when OnNonnegative27. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative23: +IrqHandler_OnNonnegative27: jsr Sub_9479 ; CPU:$A11C PRG:211C 20 79 94 - lda ZpA5,x ; CPU:$A11F PRG:211F B5 A5 + lda CellPatternIndex,x ; CPU:$A11F PRG:211F B5 A5 and #$F3 ; CPU:$A121 PRG:2121 29 F3 - sta ZpA5,x ; CPU:$A123 PRG:2123 95 A5 - dec Zp31 ; CPU:$A125 PRG:2125 C6 31 - bpl IrqHandler_OnNonnegative23 ; CPU:$A127 PRG:2127 10 F3 - dec Zp32 ; CPU:$A129 PRG:2129 C6 32 - bpl IrqHandler_OnNonnegative22 ; CPU:$A12B PRG:212B 10 EB + sta CellPatternIndex,x ; CPU:$A123 PRG:2123 95 A5 + dec BoardCursorX ; CPU:$A125 PRG:2125 C6 31 + bpl IrqHandler_OnNonnegative27 ; CPU:$A127 PRG:2127 10 F3 + dec BoardCursorY ; CPU:$A129 PRG:2129 C6 32 + bpl IrqHandler_OnNonnegative26 ; CPU:$A12B PRG:212B 10 EB lda Zp19 ; CPU:$A12D PRG:212D A5 19 - sta Zp31 ; CPU:$A12F PRG:212F 85 31 + sta BoardCursorX ; CPU:$A12F PRG:212F 85 31 lda Zp1A ; CPU:$A131 PRG:2131 A5 1A - sta Zp32 ; CPU:$A133 PRG:2133 85 32 + sta BoardCursorY ; CPU:$A133 PRG:2133 85 32 rts ; CPU:$A135 PRG:2135 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A136 -; Global: Branch target inside Label: taken when A136. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A136. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7352,68 +8195,68 @@ Sub_A136: lda #$00 ; CPU:$A136 PRG:2136 A9 00 sta Zp3A ; CPU:$A138 PRG:2138 85 3A sta Zp3C ; CPU:$A13A PRG:213A 85 3C - lda Zp31 ; CPU:$A13C PRG:213C A5 31 + lda BoardCursorX ; CPU:$A13C PRG:213C A5 31 sta Zp19 ; CPU:$A13E PRG:213E 85 19 - lda Zp32 ; CPU:$A140 PRG:2140 A5 32 + lda BoardCursorY ; CPU:$A140 PRG:2140 A5 32 sta Zp1A ; CPU:$A142 PRG:2142 85 1A lda #$07 ; CPU:$A144 PRG:2144 A9 07 - sta Zp32 ; CPU:$A146 PRG:2146 85 32 + sta BoardCursorY ; CPU:$A146 PRG:2146 85 32 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative24 -; Global: Branch target inside Label: taken when A148. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative28 +; Global: Branch target inside IrqHandler: taken when OnNonnegative28. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative24: +IrqHandler_OnNonnegative28: lda #$07 ; CPU:$A148 PRG:2148 A9 07 - sta Zp31 ; CPU:$A14A PRG:214A 85 31 + sta BoardCursorX ; CPU:$A14A PRG:214A 85 31 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative25 -; Global: Branch target inside Label: taken when A14C. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative29 +; Global: Branch target inside IrqHandler: taken when OnNonnegative29. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative25: +IrqHandler_OnNonnegative29: jsr Sub_9479 ; CPU:$A14C PRG:214C 20 79 94 - lda ZpA5,x ; CPU:$A14F PRG:214F B5 A5 + lda CellPatternIndex,x ; CPU:$A14F PRG:214F B5 A5 and #$08 ; CPU:$A151 PRG:2151 29 08 - beq IrqHandler_Loop149 ; CPU:$A153 PRG:2153 F0 02 + beq IrqHandler_Loop175 ; CPU:$A153 PRG:2153 F0 02 inc Zp3C ; CPU:$A155 PRG:2155 E6 3C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop149 -; Global: Branch target inside Label: taken when A157. -; Local: Part of Label. +; Routine: IrqHandler_Loop175 +; Global: Branch target inside IrqHandler: taken when Loop175. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop149: - lda ZpA5,x ; CPU:$A157 PRG:2157 B5 A5 +IrqHandler_Loop175: + lda CellPatternIndex,x ; CPU:$A157 PRG:2157 B5 A5 and #$04 ; CPU:$A159 PRG:2159 29 04 - beq IrqHandler_Loop150 ; CPU:$A15B PRG:215B F0 02 + beq IrqHandler_Loop176 ; CPU:$A15B PRG:215B F0 02 inc Zp3A ; CPU:$A15D PRG:215D E6 3A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop150 -; Global: Branch target inside Label: taken when A15F. -; Local: Part of Label. +; Routine: IrqHandler_Loop176 +; Global: Branch target inside IrqHandler: taken when Loop176. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop150: - dec Zp31 ; CPU:$A15F PRG:215F C6 31 - bpl IrqHandler_OnNonnegative25 ; CPU:$A161 PRG:2161 10 E9 - dec Zp32 ; CPU:$A163 PRG:2163 C6 32 - bpl IrqHandler_OnNonnegative24 ; CPU:$A165 PRG:2165 10 E1 +IrqHandler_Loop176: + dec BoardCursorX ; CPU:$A15F PRG:215F C6 31 + bpl IrqHandler_OnNonnegative29 ; CPU:$A161 PRG:2161 10 E9 + dec BoardCursorY ; CPU:$A163 PRG:2163 C6 32 + bpl IrqHandler_OnNonnegative28 ; CPU:$A165 PRG:2165 10 E1 rts ; CPU:$A167 PRG:2167 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A168 -; Global: Branch target inside Label: taken when A168. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A168. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7423,27 +8266,27 @@ Sub_A168: lda #$00 ; CPU:$A16B PRG:216B A9 00 sta $01B1 ; CPU:$A16D PRG:216D 8D B1 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear10 -; Global: Branch target inside Label: taken when A170. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear11 +; Global: Branch target inside IrqHandler: taken when OnCarryClear11. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear10: +IrqHandler_OnCarryClear11: lda $01B1 ; CPU:$A170 PRG:2170 AD B1 01 and #$03 ; CPU:$A173 PRG:2173 29 03 tax ; CPU:$A175 PRG:2175 AA lda $A263,x ; CPU:$A176 PRG:2176 BD 63 A2 - sta Zp31 ; CPU:$A179 PRG:2179 85 31 + sta BoardCursorX ; CPU:$A179 PRG:2179 85 31 sta Zp19 ; CPU:$A17B PRG:217B 85 19 lda $A267,x ; CPU:$A17D PRG:217D BD 67 A2 - sta Zp32 ; CPU:$A180 PRG:2180 85 32 + sta BoardCursorY ; CPU:$A180 PRG:2180 85 32 sta Zp1A ; CPU:$A182 PRG:2182 85 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_A184 -; Global: Branch target inside Label: taken when A184. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A184. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7454,59 +8297,59 @@ Sub_A184: and #$03 ; CPU:$A18A PRG:218A 29 03 tax ; CPU:$A18C PRG:218C AA and #$01 ; CPU:$A18D PRG:218D 29 01 - beq IrqHandler_Loop151 ; CPU:$A18F PRG:218F F0 0E + beq IrqHandler_Loop177 ; CPU:$A18F PRG:218F F0 0E clc ; CPU:$A191 PRG:2191 18 adc Zp19 ; CPU:$A192 PRG:2192 65 19 cmp #$08 ; CPU:$A194 PRG:2194 C9 08 - bcs IrqHandler_Loop152 ; CPU:$A196 PRG:2196 B0 17 + bcs IrqHandler_Loop178 ; CPU:$A196 PRG:2196 B0 17 sta Zp19 ; CPU:$A198 PRG:2198 85 19 - sta Zp31 ; CPU:$A19A PRG:219A 85 31 + sta BoardCursorX ; CPU:$A19A PRG:219A 85 31 jmp Sub_A184 ; CPU:$A19C PRG:219C 4C 84 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop151 -; Global: Branch target inside Label: taken when A19F. -; Local: Part of Label. +; Routine: IrqHandler_Loop177 +; Global: Branch target inside IrqHandler: taken when Loop177. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop151: +IrqHandler_Loop177: lda Zp1A ; CPU:$A19F PRG:219F A5 1A clc ; CPU:$A1A1 PRG:21A1 18 adc #$01 ; CPU:$A1A2 PRG:21A2 69 01 cmp #$08 ; CPU:$A1A4 PRG:21A4 C9 08 - bcs IrqHandler_Loop152 ; CPU:$A1A6 PRG:21A6 B0 07 + bcs IrqHandler_Loop178 ; CPU:$A1A6 PRG:21A6 B0 07 sta Zp1A ; CPU:$A1A8 PRG:21A8 85 1A - sta Zp32 ; CPU:$A1AA PRG:21AA 85 32 + sta BoardCursorY ; CPU:$A1AA PRG:21AA 85 32 jmp Sub_A184 ; CPU:$A1AC PRG:21AC 4C 84 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop152 -; Global: Branch target inside Label: taken when A1AF. -; Local: Part of Label. +; Routine: IrqHandler_Loop178 +; Global: Branch target inside IrqHandler: taken when Loop178. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop152: +IrqHandler_Loop178: lda $01B1 ; CPU:$A1AF PRG:21AF AD B1 01 clc ; CPU:$A1B2 PRG:21B2 18 adc #$01 ; CPU:$A1B3 PRG:21B3 69 01 sta $01B1 ; CPU:$A1B5 PRG:21B5 8D B1 01 cmp #$0C ; CPU:$A1B8 PRG:21B8 C9 0C - bcc IrqHandler_OnCarryClear10 ; CPU:$A1BA PRG:21BA 90 B4 + bcc IrqHandler_OnCarryClear11 ; CPU:$A1BA PRG:21BA 90 B4 jmp Sub_A136 ; CPU:$A1BC PRG:21BC 4C 36 A1 ; ----------------------------------------------------------------------------- ; Routine: Sub_A1BF -; Global: Branch target inside Label: taken when A1BF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A1BF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A1BF: - lda Zp31 ; CPU:$A1BF PRG:21BF A5 31 + lda BoardCursorX ; CPU:$A1BF PRG:21BF A5 31 sta Zp19 ; CPU:$A1C1 PRG:21C1 85 19 - lda Zp32 ; CPU:$A1C3 PRG:21C3 A5 32 + lda BoardCursorY ; CPU:$A1C3 PRG:21C3 A5 32 sta Zp1A ; CPU:$A1C5 PRG:21C5 85 1A ldx $01B1 ; CPU:$A1C7 PRG:21C7 AE B1 01 lda $A26B,x ; CPU:$A1CA PRG:21CA BD 6B A2 @@ -7516,35 +8359,35 @@ Sub_A1BF: sta $011B ; CPU:$A1D3 PRG:21D3 8D 1B 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A1D6 -; Global: Branch target inside Label: taken when A1D6. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A1D6. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A1D6: jsr Sub_9479 ; CPU:$A1D6 PRG:21D6 20 79 94 - lda ZpA5,x ; CPU:$A1D9 PRG:21D9 B5 A5 + lda CellPatternIndex,x ; CPU:$A1D9 PRG:21D9 B5 A5 sta Zp35 ; CPU:$A1DB PRG:21DB 85 35 and #$03 ; CPU:$A1DD PRG:21DD 29 03 - beq IrqHandler_Loop155 ; CPU:$A1DF PRG:21DF F0 31 + beq IrqHandler_Loop181 ; CPU:$A1DF PRG:21DF F0 31 lda Zp38 ; CPU:$A1E1 PRG:21E1 A5 38 - beq IrqHandler_Loop154 ; CPU:$A1E3 PRG:21E3 F0 1C + beq IrqHandler_Loop180 ; CPU:$A1E3 PRG:21E3 F0 1C lda Zp35 ; CPU:$A1E5 PRG:21E5 A5 35 eor $011B ; CPU:$A1E7 PRG:21E7 4D 1B 01 and #$03 ; CPU:$A1EA PRG:21EA 29 03 - bne IrqHandler_Loop153 ; CPU:$A1EC PRG:21EC D0 05 + bne IrqHandler_Loop179 ; CPU:$A1EC PRG:21EC D0 05 inc Zp38 ; CPU:$A1EE PRG:21EE E6 38 jmp Sub_A239 ; CPU:$A1F0 PRG:21F0 4C 39 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop153 -; Global: Branch target inside Label: taken when A1F3. -; Local: Part of Label. +; Routine: IrqHandler_Loop179 +; Global: Branch target inside IrqHandler: taken when Loop179. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop153: +IrqHandler_Loop179: lda #$01 ; CPU:$A1F3 PRG:21F3 A9 01 sta Zp38 ; CPU:$A1F5 PRG:21F5 85 38 lda Zp35 ; CPU:$A1F7 PRG:21F7 A5 35 @@ -7552,14 +8395,14 @@ IrqHandler_Loop153: sta $011B ; CPU:$A1FB PRG:21FB 8D 1B 01 jmp Sub_A239 ; CPU:$A1FE PRG:21FE 4C 39 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop154 -; Global: Branch target inside Label: taken when A201. -; Local: Part of Label. +; Routine: IrqHandler_Loop180 +; Global: Branch target inside IrqHandler: taken when Loop180. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop154: +IrqHandler_Loop180: lda #$01 ; CPU:$A201 PRG:2201 A9 01 sta Zp38 ; CPU:$A203 PRG:2203 85 38 lda Zp35 ; CPU:$A205 PRG:2205 A5 35 @@ -7569,54 +8412,54 @@ IrqHandler_Loop154: sta $011B ; CPU:$A20C PRG:220C 8D 1B 01 jmp Sub_A239 ; CPU:$A20F PRG:220F 4C 39 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop155 -; Global: Branch target inside Label: taken when A212. -; Local: Part of Label. +; Routine: IrqHandler_Loop181 +; Global: Branch target inside IrqHandler: taken when Loop181. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop155: +IrqHandler_Loop181: lda Zp38 ; CPU:$A212 PRG:2212 A5 38 - beq IrqHandler_Loop157 ; CPU:$A214 PRG:2214 F0 1E + beq IrqHandler_Loop183 ; CPU:$A214 PRG:2214 F0 1E lda #$00 ; CPU:$A216 PRG:2216 A9 00 sta Zp38 ; CPU:$A218 PRG:2218 85 38 lda $011B ; CPU:$A21A PRG:221A AD 1B 01 - bmi IrqHandler_Loop157 ; CPU:$A21D PRG:221D 30 15 - eor Zp2F ; CPU:$A21F PRG:221F 45 2F + bmi IrqHandler_Loop183 ; CPU:$A21D PRG:221D 30 15 + eor PlayerSide ; CPU:$A21F PRG:221F 45 2F and #$02 ; CPU:$A221 PRG:2221 29 02 - beq IrqHandler_Loop156 ; CPU:$A223 PRG:2223 F0 09 + beq IrqHandler_Loop182 ; CPU:$A223 PRG:2223 F0 09 lda Zp35 ; CPU:$A225 PRG:2225 A5 35 ora #$04 ; CPU:$A227 PRG:2227 09 04 - sta ZpA5,x ; CPU:$A229 PRG:2229 95 A5 - jmp IrqHandler_Loop157 ; CPU:$A22B PRG:222B 4C 34 A2 + sta CellPatternIndex,x ; CPU:$A229 PRG:2229 95 A5 + jmp IrqHandler_Loop183 ; CPU:$A22B PRG:222B 4C 34 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop156 -; Global: Branch target inside Label: taken when A22E. -; Local: Part of Label. +; Routine: IrqHandler_Loop182 +; Global: Branch target inside IrqHandler: taken when Loop182. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop156: +IrqHandler_Loop182: lda Zp35 ; CPU:$A22E PRG:222E A5 35 ora #$08 ; CPU:$A230 PRG:2230 09 08 - sta ZpA5,x ; CPU:$A232 PRG:2232 95 A5 + sta CellPatternIndex,x ; CPU:$A232 PRG:2232 95 A5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop157 -; Global: Branch target inside Label: taken when A234. -; Local: Part of Label. +; Routine: IrqHandler_Loop183 +; Global: Branch target inside IrqHandler: taken when Loop183. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop157: +IrqHandler_Loop183: lda #$00 ; CPU:$A234 PRG:2234 A9 00 sta $011B ; CPU:$A236 PRG:2236 8D 1B 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A239 -; Global: Branch target inside Label: taken when A239. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A239. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7625,61 +8468,62 @@ Sub_A239: ldx Zp39 ; CPU:$A239 PRG:2239 A6 39 lda $9003,x ; CPU:$A23B PRG:223B BD 03 90 clc ; CPU:$A23E PRG:223E 18 - adc Zp31 ; CPU:$A23F PRG:223F 65 31 - bmi IrqHandler_Loop158 ; CPU:$A241 PRG:2241 30 17 + adc BoardCursorX ; CPU:$A23F PRG:223F 65 31 + bmi IrqHandler_Loop184 ; CPU:$A241 PRG:2241 30 17 cmp #$08 ; CPU:$A243 PRG:2243 C9 08 - bcs IrqHandler_Loop158 ; CPU:$A245 PRG:2245 B0 13 - sta Zp31 ; CPU:$A247 PRG:2247 85 31 + bcs IrqHandler_Loop184 ; CPU:$A245 PRG:2245 B0 13 + sta BoardCursorX ; CPU:$A247 PRG:2247 85 31 lda $900B,x ; CPU:$A249 PRG:2249 BD 0B 90 clc ; CPU:$A24C PRG:224C 18 - adc Zp32 ; CPU:$A24D PRG:224D 65 32 - bmi IrqHandler_Loop158 ; CPU:$A24F PRG:224F 30 09 + adc BoardCursorY ; CPU:$A24D PRG:224D 65 32 + bmi IrqHandler_Loop184 ; CPU:$A24F PRG:224F 30 09 cmp #$08 ; CPU:$A251 PRG:2251 C9 08 - bcs IrqHandler_Loop158 ; CPU:$A253 PRG:2253 B0 05 - sta Zp32 ; CPU:$A255 PRG:2255 85 32 + bcs IrqHandler_Loop184 ; CPU:$A253 PRG:2253 B0 05 + sta BoardCursorY ; CPU:$A255 PRG:2255 85 32 jmp Sub_A1D6 ; CPU:$A257 PRG:2257 4C D6 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop158 -; Global: Branch target inside Label: taken when A25A. -; Local: Part of Label. +; Routine: IrqHandler_Loop184 +; Global: Branch target inside IrqHandler: taken when Loop184. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop158: +IrqHandler_Loop184: lda Zp19 ; CPU:$A25A PRG:225A A5 19 - sta Zp31 ; CPU:$A25C PRG:225C 85 31 + sta BoardCursorX ; CPU:$A25C PRG:225C 85 31 lda Zp1A ; CPU:$A25E PRG:225E A5 1A - sta Zp32 ; CPU:$A260 PRG:2260 85 32 + sta BoardCursorY ; CPU:$A260 PRG:2260 85 32 rts ; CPU:$A262 PRG:2262 60 ; ---- data $A263-$A29F (61 bytes) ---- ; referenced by `lda $A263,x` at $A176 (operand $A263 falls inside this region) ; referenced by `lda $A267,x` at $A17D (operand $A267 falls inside this region) ; referenced by `lda $A26B,x` at $A1CA (operand $A26B falls inside this region) - .byte $00, $00, $07, $00, $00, $00, $00, $07, $00, $01, $02, $03, $04, $04, $05, $06 ; CPU:$A263 PRG:2263 00 00 07 00 00 00 00 07 00 01 02 03 04 04 05 06 +PlayerStartPositionTable: + .byte $00, $00, $07, $00, $00, $00, $00, $07, $00, $01, $02, $03, $04, $04, $05, $06 ; CPU:$A263 PRG:-1D9D 00 00 07 00 00 00 00 07 00 01 02 03 04 04 05 06 .byte $07, $05, $06, $07, $48, $AD, $AF, $01, $4A, $4A, $85, $19, $AD, $B0, $01, $29 ; CPU:$A273 PRG:2273 07 05 06 07 48 AD AF 01 4A 4A 85 19 AD B0 01 29 .byte $FC, $0A, $18, $65, $19, $18, $69, $C0, $85, $10, $A9, $23, $85, $0F, $20, $D5 ; CPU:$A283 PRG:2283 FC 0A 18 65 19 18 69 C0 85 10 A9 23 85 0F 20 D5 .byte $D8, $A9, $01, $20, $F9, $D8, $68, $20, $F9, $D8, $4C, $05, $D9 ; CPU:$A293 PRG:2293 D8 A9 01 20 F9 D8 68 20 F9 D8 4C 05 D9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero18 -; Global: Branch target inside Label: taken when A2A0. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero20 +; Global: Branch target inside IrqHandler: taken when OnNonzero20. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero18: +IrqHandler_OnNonzero20: pha ; CPU:$A2A0 PRG:22A0 48 jsr Sub_D9EA ; CPU:$A2A1 PRG:22A1 20 EA D9 jsr Sub_D6E2 ; CPU:$A2A4 PRG:22A4 20 E2 D6 pla ; CPU:$A2A7 PRG:22A7 68 sec ; CPU:$A2A8 PRG:22A8 38 sbc #$01 ; CPU:$A2A9 PRG:22A9 E9 01 - bne IrqHandler_OnNonzero18 ; CPU:$A2AB PRG:22AB D0 F3 + bne IrqHandler_OnNonzero20 ; CPU:$A2AB PRG:22AB D0 F3 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero7 -; Global: Branch target inside Label: taken when A2AD. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero7. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7688,8 +8532,8 @@ IrqHandler_OnZero7: rts ; CPU:$A2AD PRG:22AD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A2AE -; Global: Branch target inside Label: taken when A2AE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A2AE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7700,19 +8544,19 @@ Sub_A2AE: and #$40 ; CPU:$A2B3 PRG:22B3 29 40 beq IrqHandler_OnZero7 ; CPU:$A2B5 PRG:22B5 F0 F6 ldx #$00 ; CPU:$A2B7 PRG:22B7 A2 00 - lda Zp2E ; CPU:$A2B9 PRG:22B9 A5 2E + lda CursorMoved ; CPU:$A2B9 PRG:22B9 A5 2E and #$02 ; CPU:$A2BB PRG:22BB 29 02 - beq IrqHandler_Loop159 ; CPU:$A2BD PRG:22BD F0 02 + beq IrqHandler_Loop185 ; CPU:$A2BD PRG:22BD F0 02 ldx #$03 ; CPU:$A2BF PRG:22BF A2 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop159 -; Global: Branch target inside Label: taken when A2C1. -; Local: Part of Label. +; Routine: IrqHandler_Loop185 +; Global: Branch target inside IrqHandler: taken when Loop185. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop159: +IrqHandler_Loop185: inc $011C,x ; CPU:$A2C1 PRG:22C1 FE 1C 01 lda $011C,x ; CPU:$A2C4 PRG:22C4 BD 1C 01 cmp #$3C ; CPU:$A2C7 PRG:22C7 C9 3C @@ -7723,28 +8567,28 @@ IrqHandler_Loop159: inc $011C,x ; CPU:$A2D1 PRG:22D1 FE 1C 01 lda $011C,x ; CPU:$A2D4 PRG:22D4 BD 1C 01 cmp #$3C ; CPU:$A2D7 PRG:22D7 C9 3C - bcc IrqHandler_Loop162 ; CPU:$A2D9 PRG:22D9 90 3A + bcc IrqHandler_Loop188 ; CPU:$A2D9 PRG:22D9 90 3A lda $0123 ; CPU:$A2DB PRG:22DB AD 23 01 - bmi IrqHandler_Loop166 ; CPU:$A2DE PRG:22DE 30 74 - lda Zp2F ; CPU:$A2E0 PRG:22E0 A5 2F - beq IrqHandler_Loop166 ; CPU:$A2E2 PRG:22E2 F0 70 + bmi IrqHandler_Loop192 ; CPU:$A2DE PRG:22DE 30 74 + lda PlayerSide ; CPU:$A2E0 PRG:22E0 A5 2F + beq IrqHandler_Loop192 ; CPU:$A2E2 PRG:22E2 F0 70 cmp #$02 ; CPU:$A2E4 PRG:22E4 C9 02 - beq IrqHandler_Loop160 ; CPU:$A2E6 PRG:22E6 F0 06 - eor Zp2E ; CPU:$A2E8 PRG:22E8 45 2E + beq IrqHandler_Loop186 ; CPU:$A2E6 PRG:22E6 F0 06 + eor CursorMoved ; CPU:$A2E8 PRG:22E8 45 2E and #$02 ; CPU:$A2EA PRG:22EA 29 02 - bne IrqHandler_Loop166 ; CPU:$A2EC PRG:22EC D0 66 + bne IrqHandler_Loop192 ; CPU:$A2EC PRG:22EC D0 66 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop160 -; Global: Branch target inside Label: taken when A2EE. -; Local: Part of Label. +; Routine: IrqHandler_Loop186 +; Global: Branch target inside IrqHandler: taken when Loop186. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop160: - lda Zp2E ; CPU:$A2EE PRG:22EE A5 2E +IrqHandler_Loop186: + lda CursorMoved ; CPU:$A2EE PRG:22EE A5 2E ora #$20 ; CPU:$A2F0 PRG:22F0 09 20 - sta Zp2E ; CPU:$A2F2 PRG:22F2 85 2E + sta CursorMoved ; CPU:$A2F2 PRG:22F2 85 2E lda #$00 ; CPU:$A2F4 PRG:22F4 A9 00 sta $011C,x ; CPU:$A2F6 PRG:22F6 9D 1C 01 inx ; CPU:$A2F9 PRG:22F9 E8 @@ -7754,90 +8598,90 @@ IrqHandler_Loop160: inc $011C,x ; CPU:$A301 PRG:2301 FE 1C 01 lda $011C,x ; CPU:$A304 PRG:2304 BD 1C 01 cmp $0123 ; CPU:$A307 PRG:2307 CD 23 01 - bne IrqHandler_Loop161 ; CPU:$A30A PRG:230A D0 06 - lda Zp2E ; CPU:$A30C PRG:230C A5 2E + bne IrqHandler_Loop187 ; CPU:$A30A PRG:230A D0 06 + lda CursorMoved ; CPU:$A30C PRG:230C A5 2E ora #$80 ; CPU:$A30E PRG:230E 09 80 - sta Zp2E ; CPU:$A310 PRG:2310 85 2E + sta CursorMoved ; CPU:$A310 PRG:2310 85 2E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop161 -; Global: Branch target inside Label: taken when A312. -; Local: Part of Label. +; Routine: IrqHandler_Loop187 +; Global: Branch target inside IrqHandler: taken when Loop187. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop161: +IrqHandler_Loop187: jmp Sub_A375 ; CPU:$A312 PRG:2312 4C 75 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop162 -; Global: Branch target inside Label: taken when A315. -; Local: Part of Label. +; Routine: IrqHandler_Loop188 +; Global: Branch target inside IrqHandler: taken when Loop188. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop162: +IrqHandler_Loop188: inx ; CPU:$A315 PRG:2315 E8 lda $011C,x ; CPU:$A316 PRG:2316 BD 1C 01 clc ; CPU:$A319 PRG:2319 18 adc #$01 ; CPU:$A31A PRG:231A 69 01 cmp $0123 ; CPU:$A31C PRG:231C CD 23 01 - bne IrqHandler_Loop165 ; CPU:$A31F PRG:231F D0 2F + bne IrqHandler_Loop191 ; CPU:$A31F PRG:231F D0 2F dex ; CPU:$A321 PRG:2321 CA lda $011C,x ; CPU:$A322 PRG:2322 BD 1C 01 cmp #$01 ; CPU:$A325 PRG:2325 C9 01 - beq IrqHandler_Loop163 ; CPU:$A327 PRG:2327 F0 13 + beq IrqHandler_Loop189 ; CPU:$A327 PRG:2327 F0 13 cmp #$37 ; CPU:$A329 PRG:2329 C9 37 - bcs IrqHandler_Loop163 ; CPU:$A32B PRG:232B B0 0F + bcs IrqHandler_Loop189 ; CPU:$A32B PRG:232B B0 0F cmp #$32 ; CPU:$A32D PRG:232D C9 32 - beq IrqHandler_Loop163 ; CPU:$A32F PRG:232F F0 0B + beq IrqHandler_Loop189 ; CPU:$A32F PRG:232F F0 0B cmp #$28 ; CPU:$A331 PRG:2331 C9 28 - beq IrqHandler_Loop163 ; CPU:$A333 PRG:2333 F0 07 + beq IrqHandler_Loop189 ; CPU:$A333 PRG:2333 F0 07 cmp #$1E ; CPU:$A335 PRG:2335 C9 1E - beq IrqHandler_Loop163 ; CPU:$A337 PRG:2337 F0 03 - jmp IrqHandler_Loop165 ; CPU:$A339 PRG:2339 4C 50 A3 + beq IrqHandler_Loop189 ; CPU:$A337 PRG:2337 F0 03 + jmp IrqHandler_Loop191 ; CPU:$A339 PRG:2339 4C 50 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop163 -; Global: Branch target inside Label: taken when A33C. -; Local: Part of Label. +; Routine: IrqHandler_Loop189 +; Global: Branch target inside IrqHandler: taken when Loop189. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop163: - lda Zp2F ; CPU:$A33C PRG:233C A5 2F - beq IrqHandler_Loop165 ; CPU:$A33E PRG:233E F0 10 +IrqHandler_Loop189: + lda PlayerSide ; CPU:$A33C PRG:233C A5 2F + beq IrqHandler_Loop191 ; CPU:$A33E PRG:233E F0 10 cmp #$02 ; CPU:$A340 PRG:2340 C9 02 - beq IrqHandler_Loop164 ; CPU:$A342 PRG:2342 F0 06 - eor Zp2E ; CPU:$A344 PRG:2344 45 2E + beq IrqHandler_Loop190 ; CPU:$A342 PRG:2342 F0 06 + eor CursorMoved ; CPU:$A344 PRG:2344 45 2E and #$02 ; CPU:$A346 PRG:2346 29 02 - bne IrqHandler_Loop165 ; CPU:$A348 PRG:2348 D0 06 + bne IrqHandler_Loop191 ; CPU:$A348 PRG:2348 D0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop164 -; Global: Branch target inside Label: taken when A34A. -; Local: Part of Label. +; Routine: IrqHandler_Loop190 +; Global: Branch target inside IrqHandler: taken when Loop190. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop164: - lda Zp2E ; CPU:$A34A PRG:234A A5 2E +IrqHandler_Loop190: + lda CursorMoved ; CPU:$A34A PRG:234A A5 2E ora #$40 ; CPU:$A34C PRG:234C 09 40 - sta Zp2E ; CPU:$A34E PRG:234E 85 2E + sta CursorMoved ; CPU:$A34E PRG:234E 85 2E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop165 -; Global: Branch target inside Label: taken when A350. -; Local: Part of Label. +; Routine: IrqHandler_Loop191 +; Global: Branch target inside IrqHandler: taken when Loop191. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop165: +IrqHandler_Loop191: jmp Sub_A378 ; CPU:$A350 PRG:2350 4C 78 A3 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero8 -; Global: Branch target inside Label: taken when A353. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7845,14 +8689,14 @@ IrqHandler_Loop165: IrqHandler_OnZero8: rts ; CPU:$A353 PRG:2353 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop166 -; Global: Branch target inside Label: taken when A354. -; Local: Part of Label. +; Routine: IrqHandler_Loop192 +; Global: Branch target inside IrqHandler: taken when Loop192. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop166: +IrqHandler_Loop192: lda #$00 ; CPU:$A354 PRG:2354 A9 00 sta $011C,x ; CPU:$A356 PRG:2356 9D 1C 01 inx ; CPU:$A359 PRG:2359 E8 @@ -7862,24 +8706,24 @@ IrqHandler_Loop166: inc $011C,x ; CPU:$A361 PRG:2361 FE 1C 01 lda $011C,x ; CPU:$A364 PRG:2364 BD 1C 01 cmp $0123 ; CPU:$A367 PRG:2367 CD 23 01 - bne IrqHandler_Loop167 ; CPU:$A36A PRG:236A D0 06 - lda Zp2E ; CPU:$A36C PRG:236C A5 2E + bne IrqHandler_Loop193 ; CPU:$A36A PRG:236A D0 06 + lda CursorMoved ; CPU:$A36C PRG:236C A5 2E ora #$80 ; CPU:$A36E PRG:236E 09 80 - sta Zp2E ; CPU:$A370 PRG:2370 85 2E + sta CursorMoved ; CPU:$A370 PRG:2370 85 2E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop167 -; Global: Branch target inside Label: taken when A372. -; Local: Part of Label. +; Routine: IrqHandler_Loop193 +; Global: Branch target inside IrqHandler: taken when Loop193. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop167: +IrqHandler_Loop193: jmp Sub_A375 ; CPU:$A372 PRG:2372 4C 75 A3 ; ----------------------------------------------------------------------------- ; Routine: Sub_A375 -; Global: Branch target inside Label: taken when A375. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A375. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7888,8 +8732,8 @@ Sub_A375: jsr Sub_A3F9 ; CPU:$A375 PRG:2375 20 F9 A3 ; ----------------------------------------------------------------------------- ; Routine: Sub_A378 -; Global: Branch target inside Label: taken when A378. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A378. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7899,8 +8743,8 @@ Sub_A378: rts ; CPU:$A37B PRG:237B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A37C -; Global: Branch target inside Label: taken when A37C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A37C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7909,52 +8753,52 @@ Sub_A37C: lda $0124 ; CPU:$A37C PRG:237C AD 24 01 pha ; CPU:$A37F PRG:237F 48 jsr Sub_8CEF ; CPU:$A380 PRG:2380 20 EF 8C - beq IrqHandler_Loop168 ; CPU:$A383 PRG:2383 F0 0A + beq IrqHandler_Loop194 ; CPU:$A383 PRG:2383 F0 0A lda #$20 ; CPU:$A385 PRG:2385 A9 20 sta $0119 ; CPU:$A387 PRG:2387 8D 19 01 lda #$4F ; CPU:$A38A PRG:238A A9 4F jmp Sub_A396 ; CPU:$A38C PRG:238C 4C 96 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop168 -; Global: Branch target inside Label: taken when A38F. -; Local: Part of Label. +; Routine: IrqHandler_Loop194 +; Global: Branch target inside IrqHandler: taken when Loop194. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop168: +IrqHandler_Loop194: lda #$21 ; CPU:$A38F PRG:238F A9 21 sta $0119 ; CPU:$A391 PRG:2391 8D 19 01 lda #$77 ; CPU:$A394 PRG:2394 A9 77 ; ----------------------------------------------------------------------------- ; Routine: Sub_A396 -; Global: Branch target inside Label: taken when A396. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A396. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A396: sta Zp34 ; CPU:$A396 PRG:2396 85 34 - lda Zp2E ; CPU:$A398 PRG:2398 A5 2E + lda CursorMoved ; CPU:$A398 PRG:2398 A5 2E and #$02 ; CPU:$A39A PRG:239A 29 02 - beq IrqHandler_Loop169 ; CPU:$A39C PRG:239C F0 06 + beq IrqHandler_Loop195 ; CPU:$A39C PRG:239C F0 06 lda $0120 ; CPU:$A39E PRG:239E AD 20 01 jmp Sub_A3A7 ; CPU:$A3A1 PRG:23A1 4C A7 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop169 -; Global: Branch target inside Label: taken when A3A4. -; Local: Part of Label. +; Routine: IrqHandler_Loop195 +; Global: Branch target inside IrqHandler: taken when Loop195. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop169: +IrqHandler_Loop195: lda $011D ; CPU:$A3A4 PRG:23A4 AD 1D 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A3A7 -; Global: Branch target inside Label: taken when A3A7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A3A7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7969,8 +8813,8 @@ Sub_A3A7: rts ; CPU:$A3B6 PRG:23B6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A3B7 -; Global: Branch target inside Label: taken when A3B7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A3B7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -7979,45 +8823,45 @@ Sub_A3B7: ldx #$00 ; CPU:$A3B7 PRG:23B7 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A3B9 -; Global: Branch target inside Label: taken when A3B9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A3B9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A3B9: cmp #$0F ; CPU:$A3B9 PRG:23B9 C9 0F - bcc IrqHandler_Loop170 ; CPU:$A3BB PRG:23BB 90 07 + bcc IrqHandler_Loop196 ; CPU:$A3BB PRG:23BB 90 07 inx ; CPU:$A3BD PRG:23BD E8 sec ; CPU:$A3BE PRG:23BE 38 sbc #$0F ; CPU:$A3BF PRG:23BF E9 0F jmp Sub_A3B9 ; CPU:$A3C1 PRG:23C1 4C B9 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop170 -; Global: Branch target inside Label: taken when A3C4. -; Local: Part of Label. +; Routine: IrqHandler_Loop196 +; Global: Branch target inside IrqHandler: taken when Loop196. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop170: +IrqHandler_Loop196: tay ; CPU:$A3C4 PRG:23C4 A8 txa ; CPU:$A3C5 PRG:23C5 8A and #$01 ; CPU:$A3C6 PRG:23C6 29 01 - beq IrqHandler_Loop171 ; CPU:$A3C8 PRG:23C8 F0 05 + beq IrqHandler_Loop197 ; CPU:$A3C8 PRG:23C8 F0 05 tya ; CPU:$A3CA PRG:23CA 98 eor #$0F ; CPU:$A3CB PRG:23CB 49 0F tay ; CPU:$A3CD PRG:23CD A8 dey ; CPU:$A3CE PRG:23CE 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop171 -; Global: Branch target inside Label: taken when A3CF. -; Local: Part of Label. +; Routine: IrqHandler_Loop197 +; Global: Branch target inside IrqHandler: taken when Loop197. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop171: +IrqHandler_Loop197: tya ; CPU:$A3CF PRG:23CF 98 adc #$60 ; CPU:$A3D0 PRG:23D0 69 60 sta $0118 ; CPU:$A3D2 PRG:23D2 8D 18 01 @@ -8037,11 +8881,12 @@ IrqHandler_Loop171: ; referenced by `lda $A3ED,x` at $A455 (operand $A3ED falls inside this region) ; referenced by `lda $A3F1,x` at $A45B (operand $A3F1 falls inside this region) ; referenced by `adc $A3F5,x` at $A463 (operand $A3F5 falls inside this region) - .byte $02, $82, $C2, $42, $02, $02, $C2, $C2, $D8, $D8, $D0, $D0, $00, $08, $08, $00 ; CPU:$A3E9 PRG:23E9 02 82 C2 42 02 02 C2 C2 D8 D8 D0 D0 00 08 08 00 +BoardFlipMaskTable: + .byte $02, $82, $C2, $42, $02, $02, $C2, $C2, $D8, $D8, $D0, $D0, $00, $08, $08, $00 ; CPU:$A3E9 PRG:-1C17 02 82 C2 42 02 02 C2 C2 D8 D8 D0 D0 00 08 08 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A3F9 -; Global: Branch target inside Label: taken when A3F9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A3F9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8050,27 +8895,27 @@ Sub_A3F9: lda $0124 ; CPU:$A3F9 PRG:23F9 AD 24 01 pha ; CPU:$A3FC PRG:23FC 48 jsr Sub_8CEF ; CPU:$A3FD PRG:23FD 20 EF 8C - beq IrqHandler_Loop172 ; CPU:$A400 PRG:2400 F0 0A + beq IrqHandler_Loop198 ; CPU:$A400 PRG:2400 F0 0A lda #$24 ; CPU:$A402 PRG:2402 A9 24 sta $0119 ; CPU:$A404 PRG:2404 8D 19 01 lda #$4F ; CPU:$A407 PRG:2407 A9 4F jmp Sub_A413 ; CPU:$A409 PRG:2409 4C 13 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop172 -; Global: Branch target inside Label: taken when A40C. -; Local: Part of Label. +; Routine: IrqHandler_Loop198 +; Global: Branch target inside IrqHandler: taken when Loop198. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop172: +IrqHandler_Loop198: lda #$28 ; CPU:$A40C PRG:240C A9 28 sta $0119 ; CPU:$A40E PRG:240E 8D 19 01 lda #$77 ; CPU:$A411 PRG:2411 A9 77 ; ----------------------------------------------------------------------------- ; Routine: Sub_A413 -; Global: Branch target inside Label: taken when A413. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A413. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8078,76 +8923,76 @@ IrqHandler_Loop172: Sub_A413: sta Zp34 ; CPU:$A413 PRG:2413 85 34 ldx #$00 ; CPU:$A415 PRG:2415 A2 00 - lda Zp2E ; CPU:$A417 PRG:2417 A5 2E + lda CursorMoved ; CPU:$A417 PRG:2417 A5 2E and #$02 ; CPU:$A419 PRG:2419 29 02 - beq IrqHandler_Loop173 ; CPU:$A41B PRG:241B F0 06 + beq IrqHandler_Loop199 ; CPU:$A41B PRG:241B F0 06 lda $0121 ; CPU:$A41D PRG:241D AD 21 01 jmp Sub_A426 ; CPU:$A420 PRG:2420 4C 26 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop173 -; Global: Branch target inside Label: taken when A423. -; Local: Part of Label. +; Routine: IrqHandler_Loop199 +; Global: Branch target inside IrqHandler: taken when Loop199. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop173: +IrqHandler_Loop199: lda $011E ; CPU:$A423 PRG:2423 AD 1E 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A426 -; Global: Branch target inside Label: taken when A426. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A426. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A426: cmp #$3C ; CPU:$A426 PRG:2426 C9 3C - bcc IrqHandler_Loop174 ; CPU:$A428 PRG:2428 90 06 + bcc IrqHandler_Loop200 ; CPU:$A428 PRG:2428 90 06 sec ; CPU:$A42A PRG:242A 38 sbc #$3C ; CPU:$A42B PRG:242B E9 3C jmp Sub_A426 ; CPU:$A42D PRG:242D 4C 26 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop174 -; Global: Branch target inside Label: taken when A430. -; Local: Part of Label. +; Routine: IrqHandler_Loop200 +; Global: Branch target inside IrqHandler: taken when Loop200. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop174: +IrqHandler_Loop200: cmp #$0F ; CPU:$A430 PRG:2430 C9 0F - bcc IrqHandler_Loop175 ; CPU:$A432 PRG:2432 90 07 + bcc IrqHandler_Loop201 ; CPU:$A432 PRG:2432 90 07 inx ; CPU:$A434 PRG:2434 E8 sec ; CPU:$A435 PRG:2435 38 sbc #$0F ; CPU:$A436 PRG:2436 E9 0F - jmp IrqHandler_Loop174 ; CPU:$A438 PRG:2438 4C 30 A4 + jmp IrqHandler_Loop200 ; CPU:$A438 PRG:2438 4C 30 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop175 -; Global: Branch target inside Label: taken when A43B. -; Local: Part of Label. +; Routine: IrqHandler_Loop201 +; Global: Branch target inside IrqHandler: taken when Loop201. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop175: +IrqHandler_Loop201: tay ; CPU:$A43B PRG:243B A8 txa ; CPU:$A43C PRG:243C 8A and #$01 ; CPU:$A43D PRG:243D 29 01 - beq IrqHandler_Loop176 ; CPU:$A43F PRG:243F F0 05 + beq IrqHandler_Loop202 ; CPU:$A43F PRG:243F F0 05 tya ; CPU:$A441 PRG:2441 98 clc ; CPU:$A442 PRG:2442 18 adc #$20 ; CPU:$A443 PRG:2443 69 20 tay ; CPU:$A445 PRG:2445 A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop176 -; Global: Branch target inside Label: taken when A446. -; Local: Part of Label. +; Routine: IrqHandler_Loop202 +; Global: Branch target inside IrqHandler: taken when Loop202. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop176: +IrqHandler_Loop202: txa ; CPU:$A446 PRG:2446 8A clc ; CPU:$A447 PRG:2447 18 adc $0119 ; CPU:$A448 PRG:2448 6D 19 01 @@ -8171,8 +9016,8 @@ IrqHandler_Loop176: sta $0124 ; CPU:$A471 PRG:2471 8D 24 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_A474 -; Global: Branch target inside Label: taken when A474. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A474. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8181,31 +9026,64 @@ Sub_A474: inc $0119 ; CPU:$A474 PRG:2474 EE 19 01 lda $0119 ; CPU:$A477 PRG:2477 AD 19 01 and #$03 ; CPU:$A47A PRG:247A 29 03 - beq IrqHandler_Loop177 ; CPU:$A47C PRG:247C F0 06 + beq IrqHandler_Loop203 ; CPU:$A47C PRG:247C F0 06 jsr Sub_A0D8 ; CPU:$A47E PRG:247E 20 D8 A0 jmp Sub_A474 ; CPU:$A481 PRG:2481 4C 74 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop177 -; Global: Branch target inside Label: taken when A484. +; Routine: IrqHandler_Loop203 +; Global: Branch target inside IrqHandler: taken when Loop203. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop203: + rts ; CPU:$A484 PRG:2484 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A485 +; Global: Branch target inside Label: taken when A485. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop177: - rts ; CPU:$A484 PRG:2484 60 -; ---- data $A485-$A4E8 (100 bytes) ---- - .byte $A5, $30, $29, $7F, $85, $30, $A5, $2E, $29, $02, $F0, $0E, $A9, $77, $85, $0F ; CPU:$A485 PRG:2485 A5 30 29 7F 85 30 A5 2E 29 02 F0 0E A9 77 85 0F - .byte $A9, $21, $85, $10, $AD, $20, $01, $4C, $BE, $8E, $A9, $17, $85, $0F, $A9, $22 ; CPU:$A495 PRG:2495 A9 21 85 10 AD 20 01 4C BE 8E A9 17 85 0F A9 22 - .byte $85, $10, $AD, $1D, $01, $4C, $BE, $8E, $A5, $30, $29, $7F, $85, $30, $A5, $2E ; CPU:$A4A5 PRG:24A5 85 10 AD 1D 01 4C BE 8E A5 30 29 7F 85 30 A5 2E - .byte $29, $02, $F0, $13, $20, $7C, $D7, $DF, $A4, $A9, $21, $85, $10, $A9, $55, $85 ; CPU:$A4B5 PRG:24B5 29 02 F0 13 20 7C D7 DF A4 A9 21 85 10 A9 55 85 - .byte $0F, $AD, $21, $01, $4C, $BE, $8E, $20, $7C, $D7, $E4, $A4, $A9, $21, $85, $10 ; CPU:$A4C5 PRG:24C5 0F AD 21 01 4C BE 8E 20 7C D7 E4 A4 A9 21 85 10 - .byte $A9, $F5, $85, $0F, $AD, $1E, $01, $4C, $BE, $8E, $57, $21, $01, $01, $3A, $F7 ; CPU:$A4D5 PRG:24D5 A9 F5 85 0F AD 1E 01 4C BE 8E 57 21 01 01 3A F7 - .byte $21, $01, $01, $3A ; CPU:$A4E5 PRG:24E5 21 01 01 3A +Label_A485: + lda Zp30 ; CPU:$A485 PRG:2485 A5 30 + and #$7F ; CPU:$A487 PRG:2487 29 7F + sta Zp30 ; CPU:$A489 PRG:2489 85 30 + lda CursorMoved ; CPU:$A48B PRG:248B A5 2E + and #$02 ; CPU:$A48D PRG:248D 29 02 + beq IrqHandler_Loop204 ; CPU:$A48F PRG:248F F0 0E + lda #$77 ; CPU:$A491 PRG:2491 A9 77 + sta MoveDeltaX ; CPU:$A493 PRG:2493 85 0F + lda #$21 ; CPU:$A495 PRG:2495 A9 21 + sta MoveDeltaY ; CPU:$A497 PRG:2497 85 10 + lda $0120 ; CPU:$A499 PRG:2499 AD 20 01 + jmp Sub_8EBE ; CPU:$A49C PRG:249C 4C BE 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop204 +; Global: Branch target inside IrqHandler: taken when Loop204. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop204: + lda #$17 ; CPU:$A49F PRG:249F A9 17 + sta MoveDeltaX ; CPU:$A4A1 PRG:24A1 85 0F + lda #$22 ; CPU:$A4A3 PRG:24A3 A9 22 + sta MoveDeltaY ; CPU:$A4A5 PRG:24A5 85 10 + lda $011D ; CPU:$A4A7 PRG:24A7 AD 1D 01 + jmp Sub_8EBE ; CPU:$A4AA PRG:24AA 4C BE 8E +; ---- data $A4AD-$A4E8 (60 bytes) ---- + .byte $A5, $30, $29, $7F, $85, $30, $A5, $2E, $29, $02, $F0, $13, $20, $7C, $D7, $DF ; CPU:$A4AD PRG:24AD A5 30 29 7F 85 30 A5 2E 29 02 F0 13 20 7C D7 DF + .byte $A4, $A9, $21, $85, $10, $A9, $55, $85, $0F, $AD, $21, $01, $4C, $BE, $8E, $20 ; CPU:$A4BD PRG:24BD A4 A9 21 85 10 A9 55 85 0F AD 21 01 4C BE 8E 20 + .byte $7C, $D7, $E4, $A4, $A9, $21, $85, $10, $A9, $F5, $85, $0F, $AD, $1E, $01, $4C ; CPU:$A4CD PRG:24CD 7C D7 E4 A4 A9 21 85 10 A9 F5 85 0F AD 1E 01 4C + .byte $BE, $8E, $57, $21, $01, $01, $3A, $F7, $21, $01, $01, $3A ; CPU:$A4DD PRG:24DD BE 8E 57 21 01 01 3A F7 21 01 01 3A ; ----------------------------------------------------------------------------- ; Routine: Sub_A4E9 -; Global: Branch target inside Label: taken when A4E9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A4E9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8217,8 +9095,8 @@ Sub_A4E9: rts ; CPU:$A4EF PRG:24EF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4F0 -; Global: Branch target inside Label: taken when A4F0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A4F0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8230,91 +9108,193 @@ Sub_A4F0: rts ; CPU:$A4F6 PRG:24F6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4F7 -; Global: Branch target inside Label: taken when A4F7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A4F7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4F7: - lda Zp2E ; CPU:$A4F7 PRG:24F7 A5 2E + lda CursorMoved ; CPU:$A4F7 PRG:24F7 A5 2E and #$F7 ; CPU:$A4F9 PRG:24F9 29 F7 - sta Zp2E ; CPU:$A4FB PRG:24FB 85 2E + sta CursorMoved ; CPU:$A4FB PRG:24FB 85 2E rts ; CPU:$A4FD PRG:24FD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4FE -; Global: Branch target inside Label: taken when A4FE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A4FE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4FE: - lda Zp2E ; CPU:$A4FE PRG:24FE A5 2E + lda CursorMoved ; CPU:$A4FE PRG:24FE A5 2E ora #$08 ; CPU:$A500 PRG:2500 09 08 - sta Zp2E ; CPU:$A502 PRG:2502 85 2E + sta CursorMoved ; CPU:$A502 PRG:2502 85 2E rts ; CPU:$A504 PRG:2504 60 -; ---- data $A505-$A568 (100 bytes) ---- - .byte $20, $53, $A5, $A9, $05, $20, $A0, $A2, $20, $17, $A5, $AD, $B2, $01, $20, $6D ; CPU:$A505 PRG:2505 20 53 A5 A9 05 20 A0 A2 20 17 A5 AD B2 01 20 6D - .byte $A5, $60, $A9, $32, $8D, $19, $01, $A9, $01, $8D, $24, $01, $A9, $00, $8D, $B2 ; CPU:$A515 PRG:2515 A5 60 A9 32 8D 19 01 A9 01 8D 24 01 A9 00 8D B2 - .byte $01, $20, $EA, $D9, $C9, $41, $F0, $25, $20, $C3, $A0, $A9, $A7, $85, $34, $AD ; CPU:$A525 PRG:2525 01 20 EA D9 C9 41 F0 25 20 C3 A0 A9 A7 85 34 AD - .byte $B2, $01, $20, $B7, $A3, $20, $13, $A0, $20, $E2, $D6, $AD, $B2, $01, $18, $69 ; CPU:$A535 PRG:2535 B2 01 20 B7 A3 20 13 A0 20 E2 D6 AD B2 01 18 69 - .byte $0B, $C9, $3C, $90, $02, $E9, $3C, $8D, $B2, $01, $4C, $26, $A5, $60, $20, $7C ; CPU:$A545 PRG:2545 0B C9 3C 90 02 E9 3C 8D B2 01 4C 26 A5 60 20 7C - .byte $D7, $59, $A5, $60, $99, $22, $04, $04, $8C, $48, $41, $8E, $47, $08, $08, $42 ; CPU:$A555 PRG:2555 D7 59 A5 60 99 22 04 04 8C 48 41 8E 47 08 08 42 - .byte $46, $08, $08, $42 ; CPU:$A565 PRG:2565 46 08 08 42 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnOverflowSet -; Global: Branch target inside Label: taken when A569. +; Routine: Label_A505 +; Global: Branch target inside Label: taken when A505. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnOverflowSet: +Label_A505: + jsr Sub_A553 ; CPU:$A505 PRG:2505 20 53 A5 + lda #$05 ; CPU:$A508 PRG:2508 A9 05 + jsr IrqHandler_OnNonzero20 ; CPU:$A50A PRG:250A 20 A0 A2 + jsr Sub_A517 ; CPU:$A50D PRG:250D 20 17 A5 + lda $01B2 ; CPU:$A510 PRG:2510 AD B2 01 + jsr Sub_A56D ; CPU:$A513 PRG:2513 20 6D A5 + rts ; CPU:$A516 PRG:2516 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A517 +; Global: Branch target inside Sub: taken when A517. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A517: + lda #$32 ; CPU:$A517 PRG:2517 A9 32 + sta $0119 ; CPU:$A519 PRG:2519 8D 19 01 + lda #$01 ; CPU:$A51C PRG:251C A9 01 + sta $0124 ; CPU:$A51E PRG:251E 8D 24 01 + lda #$00 ; CPU:$A521 PRG:2521 A9 00 + sta $01B2 ; CPU:$A523 PRG:2523 8D B2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_A526 +; Global: Branch target inside Sub: taken when A526. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A526: + jsr Sub_D9EA ; CPU:$A526 PRG:2526 20 EA D9 + cmp #$41 ; CPU:$A529 PRG:2529 C9 41 + beq IrqHandler_Loop206 ; CPU:$A52B PRG:252B F0 25 + jsr Sub_A0C3 ; CPU:$A52D PRG:252D 20 C3 A0 + lda #$A7 ; CPU:$A530 PRG:2530 A9 A7 + sta Zp34 ; CPU:$A532 PRG:2532 85 34 + lda $01B2 ; CPU:$A534 PRG:2534 AD B2 01 + jsr Sub_A3B7 ; CPU:$A537 PRG:2537 20 B7 A3 + jsr Sub_A013 ; CPU:$A53A PRG:253A 20 13 A0 + jsr Sub_D6E2 ; CPU:$A53D PRG:253D 20 E2 D6 + lda $01B2 ; CPU:$A540 PRG:2540 AD B2 01 + clc ; CPU:$A543 PRG:2543 18 + adc #$0B ; CPU:$A544 PRG:2544 69 0B + cmp #$3C ; CPU:$A546 PRG:2546 C9 3C + bcc IrqHandler_Loop205 ; CPU:$A548 PRG:2548 90 02 + sbc #$3C ; CPU:$A54A PRG:254A E9 3C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop205 +; Global: Branch target inside IrqHandler: taken when Loop205. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop205: + sta $01B2 ; CPU:$A54C PRG:254C 8D B2 01 + jmp Sub_A526 ; CPU:$A54F PRG:254F 4C 26 A5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop206 +; Global: Branch target inside IrqHandler: taken when Loop206. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop206: + rts ; CPU:$A552 PRG:2552 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A553 +; Global: Branch target inside Sub: taken when A553. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A553: + jsr Sub_D77C ; CPU:$A553 PRG:2553 20 7C D7 + eor $60A5,y ; CPU:$A556 PRG:2556 59 A5 60 + sta $0422,y ; CPU:$A559 PRG:2559 99 22 04 + .byte $04, $8C ; CPU:$A55C PRG:255C 04 8C -- nop Zp8C (undocumented; ca65 cannot encode) + pha ; CPU:$A55E PRG:255E 48 + eor (Zp8E,x) ; CPU:$A55F PRG:255F 41 8E + .byte $47, $08 ; CPU:$A561 PRG:2561 47 08 -- sre Zp08 (undocumented; ca65 cannot encode) + php ; CPU:$A563 PRG:2563 08 + .byte $42, $46 ; CPU:$A564 PRG:2564 42 46 -- nop #$46 (undocumented; ca65 cannot encode) + php ; CPU:$A566 PRG:2566 08 + php ; CPU:$A567 PRG:2567 08 +; ---- data $A568-$A568 (1 bytes) ---- + .byte $42 ; CPU:$A568 PRG:2568 42 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnOverflowSet3 +; Global: Branch target inside IrqHandler: taken when OnOverflowSet3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnOverflowSet3: sta $4344 ; CPU:$A569 PRG:2569 8D 44 43 - .byte $8F, $A2, $00 ; CPU:$A56C PRG:256C 8F A2 00 -- sax a:$00A2 (undocumented; ca65 cannot encode) +; ---- data $A56C-$A56C (1 bytes) ---- + .byte $8F ; CPU:$A56C PRG:256C 8F +; ----------------------------------------------------------------------------- +; Routine: Sub_A56D +; Global: Branch target inside Sub: taken when A56D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A56D: + ldx #$00 ; CPU:$A56D PRG:256D A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A56F -; Global: Branch target inside Label: taken when A56F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A56F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A56F: cmp #$0F ; CPU:$A56F PRG:256F C9 0F - bcc IrqHandler_Loop178 ; CPU:$A571 PRG:2571 90 07 + bcc IrqHandler_Loop207 ; CPU:$A571 PRG:2571 90 07 sbc #$0F ; CPU:$A573 PRG:2573 E9 0F inx ; CPU:$A575 PRG:2575 E8 inx ; CPU:$A576 PRG:2576 E8 jmp Sub_A56F ; CPU:$A577 PRG:2577 4C 6F A5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop178 -; Global: Branch target inside Label: taken when A57A. -; Local: Part of Label. +; Routine: IrqHandler_Loop207 +; Global: Branch target inside IrqHandler: taken when Loop207. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop178: +IrqHandler_Loop207: cmp #$07 ; CPU:$A57A PRG:257A C9 07 - bcc IrqHandler_Loop179 ; CPU:$A57C PRG:257C 90 03 + bcc IrqHandler_Loop208 ; CPU:$A57C PRG:257C 90 03 sbc #$07 ; CPU:$A57E PRG:257E E9 07 inx ; CPU:$A580 PRG:2580 E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop179 -; Global: Branch target inside Label: taken when A581. -; Local: Part of Label. +; Routine: IrqHandler_Loop208 +; Global: Branch target inside IrqHandler: taken when Loop208. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop179: +IrqHandler_Loop208: rts ; CPU:$A581 PRG:2581 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A582 -; Global: Branch target inside Label: taken when A582. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A582. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8326,7 +9306,7 @@ Sub_A582: jsr Sub_D770 ; CPU:$A58A PRG:258A 20 70 D7 tsx ; CPU:$A58D PRG:258D BA .byte $A7, $20 ; CPU:$A58E PRG:258E A7 20 -- lax Zp20 (undocumented; ca65 cannot encode) - bvs IrqHandler_OnOverflowSet ; CPU:$A590 PRG:2590 70 D7 + bvs IrqHandler_OnOverflowSet3 ; CPU:$A590 PRG:2590 70 D7 cpy ZpA7 ; CPU:$A592 PRG:2592 C4 A7 jsr Sub_D77C ; CPU:$A594 PRG:2594 20 7C D7 cmp (ZpA7),y ; CPU:$A597 PRG:2597 D1 A7 @@ -8359,35 +9339,35 @@ Label_A679: lda #$00 ; CPU:$A679 PRG:2679 A9 00 sta Zp35 ; CPU:$A67B PRG:267B 85 35 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear11 -; Global: Branch target inside Label: taken when A67D. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear12 +; Global: Branch target inside IrqHandler: taken when OnCarryClear12. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear11: +IrqHandler_OnCarryClear12: lda Zp35 ; CPU:$A67D PRG:267D A5 35 sta Zp02 ; CPU:$A67F PRG:267F 85 02 cmp #$50 ; CPU:$A681 PRG:2681 C9 50 - bcs IrqHandler_Loop180 ; CPU:$A683 PRG:2683 B0 06 + bcs IrqHandler_Loop209 ; CPU:$A683 PRG:2683 B0 06 clc ; CPU:$A685 PRG:2685 18 adc #$68 ; CPU:$A686 PRG:2686 69 68 jmp Sub_A68D ; CPU:$A688 PRG:2688 4C 8D A6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop180 -; Global: Branch target inside Label: taken when A68B. -; Local: Part of Label. +; Routine: IrqHandler_Loop209 +; Global: Branch target inside IrqHandler: taken when Loop209. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop180: +IrqHandler_Loop209: lda #$B8 ; CPU:$A68B PRG:268B A9 B8 ; ----------------------------------------------------------------------------- ; Routine: Sub_A68D -; Global: Branch target inside Label: taken when A68D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A68D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8397,36 +9377,36 @@ Sub_A68D: lda #$68 ; CPU:$A68F PRG:268F A9 68 sec ; CPU:$A691 PRG:2691 38 sbc Zp35 ; CPU:$A692 PRG:2692 E5 35 - bmi IrqHandler_Loop181 ; CPU:$A694 PRG:2694 30 04 + bmi IrqHandler_Loop210 ; CPU:$A694 PRG:2694 30 04 cmp #$14 ; CPU:$A696 PRG:2696 C9 14 - bcs IrqHandler_Loop182 ; CPU:$A698 PRG:2698 B0 02 + bcs IrqHandler_Loop211 ; CPU:$A698 PRG:2698 B0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop181 -; Global: Branch target inside Label: taken when A69A. -; Local: Part of Label. +; Routine: IrqHandler_Loop210 +; Global: Branch target inside IrqHandler: taken when Loop210. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop181: +IrqHandler_Loop210: lda #$14 ; CPU:$A69A PRG:269A A9 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop182 -; Global: Branch target inside Label: taken when A69C. -; Local: Part of Label. +; Routine: IrqHandler_Loop211 +; Global: Branch target inside IrqHandler: taken when Loop211. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop182: +IrqHandler_Loop211: sta Zp34 ; CPU:$A69C PRG:269C 85 34 jsr Sub_ABD0 ; CPU:$A69E PRG:269E 20 D0 AB lda #$01 ; CPU:$A6A1 PRG:26A1 A9 01 - jsr IrqHandler_OnNonzero18 ; CPU:$A6A3 PRG:26A3 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$A6A3 PRG:26A3 20 A0 A2 inc Zp35 ; CPU:$A6A6 PRG:26A6 E6 35 lda Zp35 ; CPU:$A6A8 PRG:26A8 A5 35 cmp #$78 ; CPU:$A6AA PRG:26AA C9 78 - bcc IrqHandler_OnCarryClear11 ; CPU:$A6AC PRG:26AC 90 CF + bcc IrqHandler_OnCarryClear12 ; CPU:$A6AC PRG:26AC 90 CF rts ; CPU:$A6AE PRG:26AE 60 ; ----------------------------------------------------------------------------- ; Routine: Label_A6AF @@ -8442,14 +9422,14 @@ Label_A6AF: lda #$68 ; CPU:$A6B3 PRG:26B3 A9 68 sta Zp33 ; CPU:$A6B5 PRG:26B5 85 33 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear12 -; Global: Branch target inside Label: taken when A6B7. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear13 +; Global: Branch target inside IrqHandler: taken when OnCarryClear13. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear12: +IrqHandler_OnCarryClear13: lda Zp35 ; CPU:$A6B7 PRG:26B7 A5 35 sta Zp02 ; CPU:$A6B9 PRG:26B9 85 02 sec ; CPU:$A6BB PRG:26BB 38 @@ -8457,47 +9437,55 @@ IrqHandler_OnCarryClear12: sta Zp34 ; CPU:$A6BE PRG:26BE 85 34 jsr Sub_ABD0 ; CPU:$A6C0 PRG:26C0 20 D0 AB lda #$01 ; CPU:$A6C3 PRG:26C3 A9 01 - jsr IrqHandler_OnNonzero18 ; CPU:$A6C5 PRG:26C5 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$A6C5 PRG:26C5 20 A0 A2 inc Zp35 ; CPU:$A6C8 PRG:26C8 E6 35 lda Zp35 ; CPU:$A6CA PRG:26CA A5 35 cmp #$F8 ; CPU:$A6CC PRG:26CC C9 F8 - bcc IrqHandler_OnCarryClear12 ; CPU:$A6CE PRG:26CE 90 E7 + bcc IrqHandler_OnCarryClear13 ; CPU:$A6CE PRG:26CE 90 E7 rts ; CPU:$A6D0 PRG:26D0 60 -; ---- data $A6D1-$A6D2 (2 bytes) ---- - .byte $A9, $14 ; CPU:$A6D1 PRG:26D1 A9 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnOverflowSet2 -; Global: Branch target inside Label: taken when A6D3. +; Routine: Label_A6D1 +; Global: Branch target inside Label: taken when A6D1. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnOverflowSet2: +Label_A6D1: + lda #$14 ; CPU:$A6D1 PRG:26D1 A9 14 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnOverflowSet4 +; Global: Branch target inside IrqHandler: taken when OnOverflowSet4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnOverflowSet4: sta Zp35 ; CPU:$A6D3 PRG:26D3 85 35 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero19 -; Global: Branch target inside Label: taken when A6D5. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero21 +; Global: Branch target inside IrqHandler: taken when OnNonzero21. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero19: +IrqHandler_OnNonzero21: lda Zp35 ; CPU:$A6D5 PRG:26D5 A5 35 sta Zp34 ; CPU:$A6D7 PRG:26D7 85 34 jsr Sub_ABD0 ; CPU:$A6D9 PRG:26D9 20 D0 AB lda #$01 ; CPU:$A6DC PRG:26DC A9 01 - jsr IrqHandler_OnNonzero18 ; CPU:$A6DE PRG:26DE 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$A6DE PRG:26DE 20 A0 A2 dec Zp35 ; CPU:$A6E1 PRG:26E1 C6 35 lda Zp35 ; CPU:$A6E3 PRG:26E3 A5 35 cmp #$F0 ; CPU:$A6E5 PRG:26E5 C9 F0 - bne IrqHandler_OnNonzero19 ; CPU:$A6E7 PRG:26E7 D0 EC + bne IrqHandler_OnNonzero21 ; CPU:$A6E7 PRG:26E7 D0 EC jmp Sub_A0B5 ; CPU:$A6E9 PRG:26E9 4C B5 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6EC -; Global: Branch target inside Label: taken when A6EC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when A6EC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8509,7 +9497,7 @@ Sub_A6EC: jsr Sub_D770 ; CPU:$A6F4 PRG:26F4 20 70 D7 tsx ; CPU:$A6F7 PRG:26F7 BA .byte $A7, $20 ; CPU:$A6F8 PRG:26F8 A7 20 -- lax Zp20 (undocumented; ca65 cannot encode) - bvs IrqHandler_OnOverflowSet2 ; CPU:$A6FA PRG:26FA 70 D7 + bvs IrqHandler_OnOverflowSet4 ; CPU:$A6FA PRG:26FA 70 D7 cpy ZpA7 ; CPU:$A6FC PRG:26FC C4 A7 jsr Sub_D77C ; CPU:$A6FE PRG:26FE 20 7C D7 cmp (ZpA7),y ; CPU:$A701 PRG:2701 D1 A7 @@ -8597,8 +9585,8 @@ Sub_A6EC: .byte $45, $57, $20, $47, $41, $4D, $45, $20, $20, $20 ; CPU:$ABC6 PRG:2BC6 45 57 20 47 41 4D 45 20 20 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_ABD0 -; Global: Branch target inside Label: taken when ABD0. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when ABD0. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8609,11 +9597,12 @@ Sub_ABD0: .byte $E2, $D6 ; CPU:$ABD6 PRG:2BD6 E2 D6 -- nop #$D6 (undocumented; ca65 cannot encode) jmp Sub_A0B5 ; CPU:$ABD8 PRG:2BD8 4C B5 A0 ; ---- data $ABDB-$ABE2 (8 bytes) ---- - .byte $18, $3F, $04, $01, $00, $0F, $10, $30 ; CPU:$ABDB PRG:2BDB 18 3F 04 01 00 0F 10 30 +BoardStateBitsTable: + .byte $18, $3F, $04, $01, $00, $0F, $10, $30 ; CPU:$ABDB PRG:-1425 18 3F 04 01 00 0F 10 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_ABE3 -; Global: Branch target inside Label: taken when ABE3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when ABE3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8622,55 +9611,55 @@ Sub_ABE3: jsr Sub_AC18 ; CPU:$ABE3 PRG:2BE3 20 18 AC jsr Sub_A168 ; CPU:$ABE6 PRG:2BE6 20 68 A1 ldx Zp44 ; CPU:$ABE9 PRG:2BE9 A6 44 - lda ZpA5,x ; CPU:$ABEB PRG:2BEB B5 A5 + lda CellPatternIndex,x ; CPU:$ABEB PRG:2BEB B5 A5 tay ; CPU:$ABED PRG:2BED A8 and #$03 ; CPU:$ABEE PRG:2BEE 29 03 - beq IrqHandler_Loop183 ; CPU:$ABF0 PRG:2BF0 F0 03 + beq IrqHandler_Loop212 ; CPU:$ABF0 PRG:2BF0 F0 03 jmp Sub_AC10 ; CPU:$ABF2 PRG:2BF2 4C 10 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop183 -; Global: Branch target inside Label: taken when ABF5. -; Local: Part of Label. +; Routine: IrqHandler_Loop212 +; Global: Branch target inside IrqHandler: taken when Loop212. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop183: - lda Zp2E ; CPU:$ABF5 PRG:2BF5 A5 2E +IrqHandler_Loop212: + lda CursorMoved ; CPU:$ABF5 PRG:2BF5 A5 2E and #$02 ; CPU:$ABF7 PRG:2BF7 29 02 - bne IrqHandler_Loop184 ; CPU:$ABF9 PRG:2BF9 D0 08 + bne IrqHandler_Loop213 ; CPU:$ABF9 PRG:2BF9 D0 08 tya ; CPU:$ABFB PRG:2BFB 98 and #$04 ; CPU:$ABFC PRG:2BFC 29 04 - bne IrqHandler_Loop185 ; CPU:$ABFE PRG:2BFE D0 0B + bne IrqHandler_Loop214 ; CPU:$ABFE PRG:2BFE D0 0B jmp Sub_AC10 ; CPU:$AC00 PRG:2C00 4C 10 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop184 -; Global: Branch target inside Label: taken when AC03. -; Local: Part of Label. +; Routine: IrqHandler_Loop213 +; Global: Branch target inside IrqHandler: taken when Loop213. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop184: +IrqHandler_Loop213: tya ; CPU:$AC03 PRG:2C03 98 and #$08 ; CPU:$AC04 PRG:2C04 29 08 - bne IrqHandler_Loop185 ; CPU:$AC06 PRG:2C06 D0 03 + bne IrqHandler_Loop214 ; CPU:$AC06 PRG:2C06 D0 03 jmp Sub_AC10 ; CPU:$AC08 PRG:2C08 4C 10 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop185 -; Global: Branch target inside Label: taken when AC0B. -; Local: Part of Label. +; Routine: IrqHandler_Loop214 +; Global: Branch target inside IrqHandler: taken when Loop214. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop185: +IrqHandler_Loop214: ldx Zp44 ; CPU:$AC0B PRG:2C0B A6 44 jmp Sub_948F ; CPU:$AC0D PRG:2C0D 4C 8F 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_AC10 -; Global: Branch target inside Label: taken when AC10. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AC10. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8681,75 +9670,75 @@ Sub_AC10: jmp Sub_948F ; CPU:$AC15 PRG:2C15 4C 8F 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_AC18 -; Global: Branch target inside Label: taken when AC18. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AC18. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AC18: - lda Zp2F ; CPU:$AC18 PRG:2C18 A5 2F + lda PlayerSide ; CPU:$AC18 PRG:2C18 A5 2F and #$02 ; CPU:$AC1A PRG:2C1A 29 02 - beq IrqHandler_Loop186 ; CPU:$AC1C PRG:2C1C F0 0E + beq IrqHandler_Loop215 ; CPU:$AC1C PRG:2C1C F0 0E ldx #$02 ; CPU:$AC1E PRG:2C1E A2 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative26 -; Global: Branch target inside Label: taken when AC20. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative30 +; Global: Branch target inside IrqHandler: taken when OnNonnegative30. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative26: +IrqHandler_OnNonnegative30: lda $011C,x ; CPU:$AC20 PRG:2C20 BD 1C 01 sta $01C6,x ; CPU:$AC23 PRG:2C23 9D C6 01 dex ; CPU:$AC26 PRG:2C26 CA - bpl IrqHandler_OnNonnegative26 ; CPU:$AC27 PRG:2C27 10 F7 + bpl IrqHandler_OnNonnegative30 ; CPU:$AC27 PRG:2C27 10 F7 jmp Sub_AC37 ; CPU:$AC29 PRG:2C29 4C 37 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop186 -; Global: Branch target inside Label: taken when AC2C. -; Local: Part of Label. +; Routine: IrqHandler_Loop215 +; Global: Branch target inside IrqHandler: taken when Loop215. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop186: +IrqHandler_Loop215: ldx #$02 ; CPU:$AC2C PRG:2C2C A2 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative27 -; Global: Branch target inside Label: taken when AC2E. -; Local: Part of Label. +; Routine: IrqHandler_OnNonnegative31 +; Global: Branch target inside IrqHandler: taken when OnNonnegative31. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative27: +IrqHandler_OnNonnegative31: lda $011F,x ; CPU:$AC2E PRG:2C2E BD 1F 01 sta $01C6,x ; CPU:$AC31 PRG:2C31 9D C6 01 dex ; CPU:$AC34 PRG:2C34 CA - bpl IrqHandler_OnNonnegative27 ; CPU:$AC35 PRG:2C35 10 F7 + bpl IrqHandler_OnNonnegative31 ; CPU:$AC35 PRG:2C35 10 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_AC37 -; Global: Branch target inside Label: taken when AC37. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AC37. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AC37: lda $0122 ; CPU:$AC37 PRG:2C37 AD 22 01 - bne IrqHandler_Loop187 ; CPU:$AC3A PRG:2C3A D0 03 + bne IrqHandler_Loop216 ; CPU:$AC3A PRG:2C3A D0 03 jmp Sub_AEBA ; CPU:$AC3C PRG:2C3C 4C BA AE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop187 -; Global: Branch target inside Label: taken when AC3F. -; Local: Part of Label. +; Routine: IrqHandler_Loop216 +; Global: Branch target inside IrqHandler: taken when Loop216. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop187: +IrqHandler_Loop216: jsr Sub_D6E2 ; CPU:$AC3F PRG:2C3F 20 E2 D6 jsr Sub_D6E2 ; CPU:$AC42 PRG:2C42 20 E2 D6 jsr Sub_D6E2 ; CPU:$AC45 PRG:2C45 20 E2 D6 @@ -8762,37 +9751,36 @@ IrqHandler_Loop187: .byte $03, $6C ; CPU:$AC5A PRG:2C5A 03 6C -- slo (Zp6C,x) (undocumented; ca65 cannot encode) lda $3204 ; CPU:$AC5C PRG:2C5C AD 04 32 ldx $BD05 ; CPU:$AC5F PRG:2C5F AE 05 BD -; ---- data $AC62-$AC63 (2 bytes) ---- - .byte $AD, $00 ; CPU:$AC62 PRG:2C62 AD 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_AC64 -; Global: Branch target inside Label: taken when AC64. +; Routine: Label_AC62 +; Global: Branch target inside Label: taken when AC62. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_AC64: - lda #$40 ; CPU:$AC64 PRG:2C64 A9 40 +Label_AC62: + lda $A900 ; CPU:$AC62 PRG:2C62 AD 00 A9 + rti ; CPU:$AC65 PRG:2C65 40 sec ; CPU:$AC66 PRG:2C66 38 sbc Zp3B ; CPU:$AC67 PRG:2C67 E5 3B sec ; CPU:$AC69 PRG:2C69 38 sbc Zp3D ; CPU:$AC6A PRG:2C6A E5 3D cmp #$3C ; CPU:$AC6C PRG:2C6C C9 3C - beq IrqHandler_Loop188 ; CPU:$AC6E PRG:2C6E F0 28 + beq IrqHandler_Loop217 ; CPU:$AC6E PRG:2C6E F0 28 ldx $0122 ; CPU:$AC70 PRG:2C70 AE 22 01 cmp $AD3E,x ; CPU:$AC73 PRG:2C73 DD 3E AD - bcc IrqHandler_Loop189 ; CPU:$AC76 PRG:2C76 90 23 + bcc IrqHandler_Loop218 ; CPU:$AC76 PRG:2C76 90 23 cmp $AD44,x ; CPU:$AC78 PRG:2C78 DD 44 AD - bcc IrqHandler_Loop190 ; CPU:$AC7B PRG:2C7B 90 21 + bcc IrqHandler_Loop219 ; CPU:$AC7B PRG:2C7B 90 21 cmp $AD4A,x ; CPU:$AC7D PRG:2C7D DD 4A AD - bcc IrqHandler_Loop191 ; CPU:$AC80 PRG:2C80 90 1F + bcc IrqHandler_Loop220 ; CPU:$AC80 PRG:2C80 90 1F cmp #$33 ; CPU:$AC82 PRG:2C82 C9 33 - bcs IrqHandler_Loop192 ; CPU:$AC84 PRG:2C84 B0 1E + bcs IrqHandler_Loop221 ; CPU:$AC84 PRG:2C84 B0 1E ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero9 -; Global: Branch target inside Label: taken when AC86. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero9. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8800,60 +9788,60 @@ Sub_AC64: IrqHandler_OnZero9: lda $0122 ; CPU:$AC86 PRG:2C86 AD 22 01 cmp #$01 ; CPU:$AC89 PRG:2C89 C9 01 - beq IrqHandler_Loop193 ; CPU:$AC8B PRG:2C8B F0 29 + beq IrqHandler_Loop222 ; CPU:$AC8B PRG:2C8B F0 29 jsr Sub_AE9F ; CPU:$AC8D PRG:2C8D 20 9F AE - beq IrqHandler_Loop196 ; CPU:$AC90 PRG:2C90 F0 3F + beq IrqHandler_Loop225 ; CPU:$AC90 PRG:2C90 F0 3F jsr Sub_B7AB ; CPU:$AC92 PRG:2C92 20 AB B7 jmp Sub_AD35 ; CPU:$AC95 PRG:2C95 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop188 -; Global: Branch target inside Label: taken when AC98. -; Local: Part of Label. +; Routine: IrqHandler_Loop217 +; Global: Branch target inside IrqHandler: taken when Loop217. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop188: +IrqHandler_Loop217: jmp Sub_AD27 ; CPU:$AC98 PRG:2C98 4C 27 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop189 -; Global: Branch target inside Label: taken when AC9B. -; Local: Part of Label. +; Routine: IrqHandler_Loop218 +; Global: Branch target inside IrqHandler: taken when Loop218. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop189: +IrqHandler_Loop218: jmp Sub_AD21 ; CPU:$AC9B PRG:2C9B 4C 21 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop190 -; Global: Branch target inside Label: taken when AC9E. -; Local: Part of Label. +; Routine: IrqHandler_Loop219 +; Global: Branch target inside IrqHandler: taken when Loop219. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop190: +IrqHandler_Loop219: jmp Sub_AD1B ; CPU:$AC9E PRG:2C9E 4C 1B AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop191 -; Global: Branch target inside Label: taken when ACA1. -; Local: Part of Label. +; Routine: IrqHandler_Loop220 +; Global: Branch target inside IrqHandler: taken when Loop220. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop191: +IrqHandler_Loop220: jmp Sub_AD15 ; CPU:$ACA1 PRG:2CA1 4C 15 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop192 -; Global: Branch target inside Label: taken when ACA4. -; Local: Part of Label. +; Routine: IrqHandler_Loop221 +; Global: Branch target inside IrqHandler: taken when Loop221. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop192: +IrqHandler_Loop221: lda $0122 ; CPU:$ACA4 PRG:2CA4 AD 22 01 cmp #$01 ; CPU:$ACA7 PRG:2CA7 C9 01 beq IrqHandler_OnZero9 ; CPU:$ACA9 PRG:2CA9 F0 DB @@ -8862,111 +9850,111 @@ IrqHandler_Loop192: jsr Sub_BA93 ; CPU:$ACB0 PRG:2CB0 20 93 BA jmp Sub_AD35 ; CPU:$ACB3 PRG:2CB3 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop193 -; Global: Branch target inside Label: taken when ACB6. -; Local: Part of Label. +; Routine: IrqHandler_Loop222 +; Global: Branch target inside IrqHandler: taken when Loop222. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop193: +IrqHandler_Loop222: lda $0125 ; CPU:$ACB6 PRG:2CB6 AD 25 01 and #$01 ; CPU:$ACB9 PRG:2CB9 29 01 - beq IrqHandler_Loop195 ; CPU:$ACBB PRG:2CBB F0 11 + beq IrqHandler_Loop224 ; CPU:$ACBB PRG:2CBB F0 11 jsr Sub_AE9F ; CPU:$ACBD PRG:2CBD 20 9F AE - beq IrqHandler_Loop194 ; CPU:$ACC0 PRG:2CC0 F0 06 + beq IrqHandler_Loop223 ; CPU:$ACC0 PRG:2CC0 F0 06 jsr Sub_B7AB ; CPU:$ACC2 PRG:2CC2 20 AB B7 jmp Sub_AD35 ; CPU:$ACC5 PRG:2CC5 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop194 -; Global: Branch target inside Label: taken when ACC8. -; Local: Part of Label. +; Routine: IrqHandler_Loop223 +; Global: Branch target inside IrqHandler: taken when Loop223. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop194: +IrqHandler_Loop223: jsr Sub_B701 ; CPU:$ACC8 PRG:2CC8 20 01 B7 jmp Sub_AD35 ; CPU:$ACCB PRG:2CCB 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop195 -; Global: Branch target inside Label: taken when ACCE. -; Local: Part of Label. +; Routine: IrqHandler_Loop224 +; Global: Branch target inside IrqHandler: taken when Loop224. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop195: +IrqHandler_Loop224: jmp Sub_AEBA ; CPU:$ACCE PRG:2CCE 4C BA AE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop196 -; Global: Branch target inside Label: taken when ACD1. -; Local: Part of Label. +; Routine: IrqHandler_Loop225 +; Global: Branch target inside IrqHandler: taken when Loop225. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop196: +IrqHandler_Loop225: jsr Sub_B701 ; CPU:$ACD1 PRG:2CD1 20 01 B7 - lda Zp43 ; CPU:$ACD4 PRG:2CD4 A5 43 + lda CellOwner ; CPU:$ACD4 PRG:2CD4 A5 43 and #$01 ; CPU:$ACD6 PRG:2CD6 29 01 - bne IrqHandler_Loop197 ; CPU:$ACD8 PRG:2CD8 D0 12 + bne IrqHandler_Loop226 ; CPU:$ACD8 PRG:2CD8 D0 12 lda Zp44 ; CPU:$ACDA PRG:2CDA A5 44 cmp #$14 ; CPU:$ACDC PRG:2CDC C9 14 - beq IrqHandler_Loop198 ; CPU:$ACDE PRG:2CDE F0 0F + beq IrqHandler_Loop227 ; CPU:$ACDE PRG:2CDE F0 0F cmp #$19 ; CPU:$ACE0 PRG:2CE0 C9 19 - beq IrqHandler_Loop198 ; CPU:$ACE2 PRG:2CE2 F0 0B + beq IrqHandler_Loop227 ; CPU:$ACE2 PRG:2CE2 F0 0B cmp #$41 ; CPU:$ACE4 PRG:2CE4 C9 41 - beq IrqHandler_Loop198 ; CPU:$ACE6 PRG:2CE6 F0 07 + beq IrqHandler_Loop227 ; CPU:$ACE6 PRG:2CE6 F0 07 cmp #$46 ; CPU:$ACE8 PRG:2CE8 C9 46 - beq IrqHandler_Loop198 ; CPU:$ACEA PRG:2CEA F0 03 + beq IrqHandler_Loop227 ; CPU:$ACEA PRG:2CEA F0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop197 -; Global: Branch target inside Label: taken when ACEC. -; Local: Part of Label. +; Routine: IrqHandler_Loop226 +; Global: Branch target inside IrqHandler: taken when Loop226. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop197: +IrqHandler_Loop226: jmp Sub_AD35 ; CPU:$ACEC PRG:2CEC 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop198 -; Global: Branch target inside Label: taken when ACEF. -; Local: Part of Label. +; Routine: IrqHandler_Loop227 +; Global: Branch target inside IrqHandler: taken when Loop227. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop198: - lda Zp43 ; CPU:$ACEF PRG:2CEF A5 43 +IrqHandler_Loop227: + lda CellOwner ; CPU:$ACEF PRG:2CEF A5 43 cmp #$06 ; CPU:$ACF1 PRG:2CF1 C9 06 - bcs IrqHandler_Loop199 ; CPU:$ACF3 PRG:2CF3 B0 10 - inc Zp43 ; CPU:$ACF5 PRG:2CF5 E6 43 + bcs IrqHandler_Loop228 ; CPU:$ACF3 PRG:2CF3 B0 10 + inc CellOwner ; CPU:$ACF5 PRG:2CF5 E6 43 jsr Sub_8E01 ; CPU:$ACF7 PRG:2CF7 20 01 8E jsr Sub_BBA8 ; CPU:$ACFA PRG:2CFA 20 A8 BB - jsr Sub_AC64 ; CPU:$ACFD PRG:2CFD 20 64 AC - dec Zp43 ; CPU:$AD00 PRG:2D00 C6 43 + jsr $AC64 ; CPU:$ACFD PRG:2CFD 20 64 AC + dec CellOwner ; CPU:$AD00 PRG:2D00 C6 43 jmp Sub_AD35 ; CPU:$AD02 PRG:2D02 4C 35 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop199 -; Global: Branch target inside Label: taken when AD05. -; Local: Part of Label. +; Routine: IrqHandler_Loop228 +; Global: Branch target inside IrqHandler: taken when Loop228. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop199: - dec Zp43 ; CPU:$AD05 PRG:2D05 C6 43 +IrqHandler_Loop228: + dec CellOwner ; CPU:$AD05 PRG:2D05 C6 43 jsr Sub_8E01 ; CPU:$AD07 PRG:2D07 20 01 8E jsr Sub_BBA8 ; CPU:$AD0A PRG:2D0A 20 A8 BB - jsr Sub_AC64 ; CPU:$AD0D PRG:2D0D 20 64 AC - inc Zp43 ; CPU:$AD10 PRG:2D10 E6 43 + jsr $AC64 ; CPU:$AD0D PRG:2D0D 20 64 AC + inc CellOwner ; CPU:$AD10 PRG:2D10 E6 43 jmp Sub_AD35 ; CPU:$AD12 PRG:2D12 4C 35 AD ; ----------------------------------------------------------------------------- ; Routine: Sub_AD15 -; Global: Branch target inside Label: taken when AD15. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD15. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8976,8 +9964,8 @@ Sub_AD15: jmp Sub_AD35 ; CPU:$AD18 PRG:2D18 4C 35 AD ; ----------------------------------------------------------------------------- ; Routine: Sub_AD1B -; Global: Branch target inside Label: taken when AD1B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD1B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8987,8 +9975,8 @@ Sub_AD1B: jmp Sub_AD35 ; CPU:$AD1E PRG:2D1E 4C 35 AD ; ----------------------------------------------------------------------------- ; Routine: Sub_AD21 -; Global: Branch target inside Label: taken when AD21. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD21. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -8998,8 +9986,8 @@ Sub_AD21: jmp Sub_AD35 ; CPU:$AD24 PRG:2D24 4C 35 AD ; ----------------------------------------------------------------------------- ; Routine: Sub_AD27 -; Global: Branch target inside Label: taken when AD27. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD27. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9013,8 +10001,8 @@ Sub_AD27: jsr Sub_BC4B ; CPU:$AD32 PRG:2D32 20 4B BC ; ----------------------------------------------------------------------------- ; Routine: Sub_AD35 -; Global: Branch target inside Label: taken when AD35. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD35. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9028,36 +10016,37 @@ Sub_AD35: ; referenced by `cmp $AD44,x` at $AC78 (operand $AD44 falls inside this region) ; referenced by `cmp $AD4A,x` at $AC7D (operand $AD4A falls inside this region) ; referenced by `lda $AD50,x` at $AD2D (operand $AD50 falls inside this region) - .byte $06, $05, $08, $0B, $0C, $0E, $08, $06, $0A, $0C, $10, $10, $0A, $07, $0B, $0D ; CPU:$AD3E PRG:2D3E 06 05 08 0B 0C 0E 08 06 0A 0C 10 10 0A 07 0B 0D +BoardCellWeightTable: + .byte $06, $05, $08, $0B, $0C, $0E, $08, $06, $0A, $0C, $10, $10, $0A, $07, $0B, $0D ; CPU:$AD3E PRG:-12C2 06 05 08 0B 0C 0E 08 06 0A 0C 10 10 0A 07 0B 0D .byte $10, $10, $33, $3B, $1F, $27 ; CPU:$AD4E PRG:2D4E 10 10 33 3B 1F 27 ; ----------------------------------------------------------------------------- ; Routine: Sub_AD54 -; Global: Branch target inside Label: taken when AD54. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD54. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AD54: - lda Zp2F ; CPU:$AD54 PRG:2D54 A5 2F + lda PlayerSide ; CPU:$AD54 PRG:2D54 A5 2F and #$02 ; CPU:$AD56 PRG:2D56 29 02 - beq IrqHandler_Loop200 ; CPU:$AD58 PRG:2D58 F0 06 + beq IrqHandler_Loop229 ; CPU:$AD58 PRG:2D58 F0 06 ldx $011E ; CPU:$AD5A PRG:2D5A AE 1E 01 jmp Sub_AD63 ; CPU:$AD5D PRG:2D5D 4C 63 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop200 -; Global: Branch target inside Label: taken when AD60. -; Local: Part of Label. +; Routine: IrqHandler_Loop229 +; Global: Branch target inside IrqHandler: taken when Loop229. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop200: +IrqHandler_Loop229: ldx $0121 ; CPU:$AD60 PRG:2D60 AE 21 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_AD63 -; Global: Branch target inside Label: taken when AD63. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AD63. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9080,91 +10069,91 @@ Sub_AD63: Label_AD6C: jsr Sub_AD54 ; CPU:$AD6C PRG:2D6C 20 54 AD cmp #$28 ; CPU:$AD6F PRG:2D6F C9 28 - beq IrqHandler_Loop201 ; CPU:$AD71 PRG:2D71 F0 15 + beq IrqHandler_Loop230 ; CPU:$AD71 PRG:2D71 F0 15 cmp #$27 ; CPU:$AD73 PRG:2D73 C9 27 - beq IrqHandler_Loop201 ; CPU:$AD75 PRG:2D75 F0 11 + beq IrqHandler_Loop230 ; CPU:$AD75 PRG:2D75 F0 11 cmp #$1E ; CPU:$AD77 PRG:2D77 C9 1E - beq IrqHandler_Loop202 ; CPU:$AD79 PRG:2D79 F0 16 + beq IrqHandler_Loop231 ; CPU:$AD79 PRG:2D79 F0 16 cmp #$1D ; CPU:$AD7B PRG:2D7B C9 1D - beq IrqHandler_Loop202 ; CPU:$AD7D PRG:2D7D F0 12 + beq IrqHandler_Loop231 ; CPU:$AD7D PRG:2D7D F0 12 cmp #$14 ; CPU:$AD7F PRG:2D7F C9 14 - beq IrqHandler_Loop203 ; CPU:$AD81 PRG:2D81 F0 17 + beq IrqHandler_Loop232 ; CPU:$AD81 PRG:2D81 F0 17 cmp #$13 ; CPU:$AD83 PRG:2D83 C9 13 - beq IrqHandler_Loop203 ; CPU:$AD85 PRG:2D85 F0 13 + beq IrqHandler_Loop232 ; CPU:$AD85 PRG:2D85 F0 13 rts ; CPU:$AD87 PRG:2D87 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop201 -; Global: Branch target inside Label: taken when AD88. -; Local: Part of Label. +; Routine: IrqHandler_Loop230 +; Global: Branch target inside IrqHandler: taken when Loop230. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop201: +IrqHandler_Loop230: cpx #$05 ; CPU:$AD88 PRG:2D88 E0 05 - bcc IrqHandler_Loop204 ; CPU:$AD8A PRG:2D8A 90 17 + bcc IrqHandler_Loop233 ; CPU:$AD8A PRG:2D8A 90 17 cpx #$0A ; CPU:$AD8C PRG:2D8C E0 0A - bcs IrqHandler_Loop205 ; CPU:$AD8E PRG:2D8E B0 20 + bcs IrqHandler_Loop234 ; CPU:$AD8E PRG:2D8E B0 20 rts ; CPU:$AD90 PRG:2D90 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop202 -; Global: Branch target inside Label: taken when AD91. -; Local: Part of Label. +; Routine: IrqHandler_Loop231 +; Global: Branch target inside IrqHandler: taken when Loop231. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop202: +IrqHandler_Loop231: cpx #$07 ; CPU:$AD91 PRG:2D91 E0 07 - bcc IrqHandler_Loop204 ; CPU:$AD93 PRG:2D93 90 0E + bcc IrqHandler_Loop233 ; CPU:$AD93 PRG:2D93 90 0E cpx #$0C ; CPU:$AD95 PRG:2D95 E0 0C - bcs IrqHandler_Loop205 ; CPU:$AD97 PRG:2D97 B0 17 + bcs IrqHandler_Loop234 ; CPU:$AD97 PRG:2D97 B0 17 rts ; CPU:$AD99 PRG:2D99 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop203 -; Global: Branch target inside Label: taken when AD9A. -; Local: Part of Label. +; Routine: IrqHandler_Loop232 +; Global: Branch target inside IrqHandler: taken when Loop232. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop203: +IrqHandler_Loop232: cpx #$09 ; CPU:$AD9A PRG:2D9A E0 09 - bcc IrqHandler_Loop204 ; CPU:$AD9C PRG:2D9C 90 05 + bcc IrqHandler_Loop233 ; CPU:$AD9C PRG:2D9C 90 05 cpx #$0E ; CPU:$AD9E PRG:2D9E E0 0E - bcs IrqHandler_Loop205 ; CPU:$ADA0 PRG:2DA0 B0 0E + bcs IrqHandler_Loop234 ; CPU:$ADA0 PRG:2DA0 B0 0E rts ; CPU:$ADA2 PRG:2DA2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop204 -; Global: Branch target inside Label: taken when ADA3. -; Local: Part of Label. +; Routine: IrqHandler_Loop233 +; Global: Branch target inside IrqHandler: taken when Loop233. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop204: +IrqHandler_Loop233: lda #$06 ; CPU:$ADA3 PRG:2DA3 A9 06 - sta Zp43 ; CPU:$ADA5 PRG:2DA5 85 43 + sta CellOwner ; CPU:$ADA5 PRG:2DA5 85 43 lda #$07 ; CPU:$ADA7 PRG:2DA7 A9 07 - sta Zp52 ; CPU:$ADA9 PRG:2DA9 85 52 + sta CellCharset ; CPU:$ADA9 PRG:2DA9 85 52 lda #$04 ; CPU:$ADAB PRG:2DAB A9 04 - sta Zp50 ; CPU:$ADAD PRG:2DAD 85 50 + sta CellValid ; CPU:$ADAD PRG:2DAD 85 50 rts ; CPU:$ADAF PRG:2DAF 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop205 -; Global: Branch target inside Label: taken when ADB0. -; Local: Part of Label. +; Routine: IrqHandler_Loop234 +; Global: Branch target inside IrqHandler: taken when Loop234. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop205: +IrqHandler_Loop234: lda #$05 ; CPU:$ADB0 PRG:2DB0 A9 05 - sta Zp43 ; CPU:$ADB2 PRG:2DB2 85 43 + sta CellOwner ; CPU:$ADB2 PRG:2DB2 85 43 lda #$06 ; CPU:$ADB4 PRG:2DB4 A9 06 - sta Zp52 ; CPU:$ADB6 PRG:2DB6 85 52 + sta CellCharset ; CPU:$ADB6 PRG:2DB6 85 52 lda #$04 ; CPU:$ADB8 PRG:2DB8 A9 04 - sta Zp50 ; CPU:$ADBA PRG:2DBA 85 50 + sta CellValid ; CPU:$ADBA PRG:2DBA 85 50 rts ; CPU:$ADBC PRG:2DBC 60 ; ----------------------------------------------------------------------------- ; Routine: Label_ADBD @@ -9178,120 +10167,145 @@ Label_ADBD: jsr Sub_AD54 ; CPU:$ADBD PRG:2DBD 20 54 AD and #$FE ; CPU:$ADC0 PRG:2DC0 29 FE cmp #$2B ; CPU:$ADC2 PRG:2DC2 C9 2B - beq IrqHandler_Loop207 ; CPU:$ADC4 PRG:2DC4 F0 15 + beq IrqHandler_Loop236 ; CPU:$ADC4 PRG:2DC4 F0 15 cmp #$2A ; CPU:$ADC6 PRG:2DC6 C9 2A - beq IrqHandler_Loop207 ; CPU:$ADC8 PRG:2DC8 F0 11 + beq IrqHandler_Loop236 ; CPU:$ADC8 PRG:2DC8 F0 11 cmp #$24 ; CPU:$ADCA PRG:2DCA C9 24 - beq IrqHandler_Loop208 ; CPU:$ADCC PRG:2DCC F0 16 + beq IrqHandler_Loop237 ; CPU:$ADCC PRG:2DCC F0 16 cmp #$23 ; CPU:$ADCE PRG:2DCE C9 23 - beq IrqHandler_Loop208 ; CPU:$ADD0 PRG:2DD0 F0 12 + beq IrqHandler_Loop237 ; CPU:$ADD0 PRG:2DD0 F0 12 cmp #$20 ; CPU:$ADD2 PRG:2DD2 C9 20 - bcs IrqHandler_Loop206 ; CPU:$ADD4 PRG:2DD4 B0 04 + bcs IrqHandler_Loop235 ; CPU:$ADD4 PRG:2DD4 B0 04 cmp #$12 ; CPU:$ADD6 PRG:2DD6 C9 12 - bcs IrqHandler_Loop209 ; CPU:$ADD8 PRG:2DD8 B0 13 + bcs IrqHandler_Loop238 ; CPU:$ADD8 PRG:2DD8 B0 13 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop206 -; Global: Branch target inside Label: taken when ADDA. -; Local: Part of Label. +; Routine: IrqHandler_Loop235 +; Global: Branch target inside IrqHandler: taken when Loop235. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop206: +IrqHandler_Loop235: rts ; CPU:$ADDA PRG:2DDA 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop207 -; Global: Branch target inside Label: taken when ADDB. -; Local: Part of Label. +; Routine: IrqHandler_Loop236 +; Global: Branch target inside IrqHandler: taken when Loop236. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop207: +IrqHandler_Loop236: cpx #$04 ; CPU:$ADDB PRG:2DDB E0 04 - bcc IrqHandler_Loop210 ; CPU:$ADDD PRG:2DDD 90 2C + bcc IrqHandler_Loop239 ; CPU:$ADDD PRG:2DDD 90 2C cpx #$07 ; CPU:$ADDF PRG:2DDF E0 07 - bcs IrqHandler_Loop211 ; CPU:$ADE1 PRG:2DE1 B0 31 + bcs IrqHandler_Loop240 ; CPU:$ADE1 PRG:2DE1 B0 31 rts ; CPU:$ADE3 PRG:2DE3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop208 -; Global: Branch target inside Label: taken when ADE4. -; Local: Part of Label. +; Routine: IrqHandler_Loop237 +; Global: Branch target inside IrqHandler: taken when Loop237. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop208: +IrqHandler_Loop237: cpx #$06 ; CPU:$ADE4 PRG:2DE4 E0 06 - bcc IrqHandler_Loop210 ; CPU:$ADE6 PRG:2DE6 90 23 + bcc IrqHandler_Loop239 ; CPU:$ADE6 PRG:2DE6 90 23 cpx #$09 ; CPU:$ADE8 PRG:2DE8 E0 09 - bcs IrqHandler_Loop211 ; CPU:$ADEA PRG:2DEA B0 28 + bcs IrqHandler_Loop240 ; CPU:$ADEA PRG:2DEA B0 28 rts ; CPU:$ADEC PRG:2DEC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop209 -; Global: Branch target inside Label: taken when ADED. -; Local: Part of Label. +; Routine: IrqHandler_Loop238 +; Global: Branch target inside IrqHandler: taken when Loop238. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop209: +IrqHandler_Loop238: cpx #$0F ; CPU:$ADED PRG:2DED E0 0F - bcs IrqHandler_Loop211 ; CPU:$ADEF PRG:2DEF B0 23 + bcs IrqHandler_Loop240 ; CPU:$ADEF PRG:2DEF B0 23 lda $0125 ; CPU:$ADF1 PRG:2DF1 AD 25 01 and #$01 ; CPU:$ADF4 PRG:2DF4 29 01 - beq IrqHandler_Loop212 ; CPU:$ADF6 PRG:2DF6 F0 2D + beq IrqHandler_Loop241 ; CPU:$ADF6 PRG:2DF6 F0 2D rts ; CPU:$ADF8 PRG:2DF8 60 -; ---- data $ADF9-$AE0A (18 bytes) ---- - .byte $E0, $07, $90, $28, $E0, $0F, $B0, $0A, $60, $E0, $08, $90, $1F, $E0, $14, $B0 ; CPU:$ADF9 PRG:2DF9 E0 07 90 28 E0 0F B0 0A 60 E0 08 90 1F E0 14 B0 - .byte $01, $60 ; CPU:$AE09 PRG:2E09 01 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop210 -; Global: Branch target inside Label: taken when AE0B. +; Routine: Label_ADF9 +; Global: Branch target inside Label: taken when ADF9. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop210: +Label_ADF9: + cpx #$07 ; CPU:$ADF9 PRG:2DF9 E0 07 + bcc IrqHandler_Loop241 ; CPU:$ADFB PRG:2DFB 90 28 + cpx #$0F ; CPU:$ADFD PRG:2DFD E0 0F + bcs IrqHandler_Loop239 ; CPU:$ADFF PRG:2DFF B0 0A + rts ; CPU:$AE01 PRG:2E01 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AE02 +; Global: Branch target inside Label: taken when AE02. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AE02: + cpx #$08 ; CPU:$AE02 PRG:2E02 E0 08 + bcc IrqHandler_Loop241 ; CPU:$AE04 PRG:2E04 90 1F + cpx #$14 ; CPU:$AE06 PRG:2E06 E0 14 + bcs IrqHandler_Loop239 ; CPU:$AE08 PRG:2E08 B0 01 + rts ; CPU:$AE0A PRG:2E0A 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop239 +; Global: Branch target inside IrqHandler: taken when Loop239. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop239: lda #$04 ; CPU:$AE0B PRG:2E0B A9 04 - sta Zp51 ; CPU:$AE0D PRG:2E0D 85 51 + sta CellType ; CPU:$AE0D PRG:2E0D 85 51 lda #$0A ; CPU:$AE0F PRG:2E0F A9 0A - sta Zp52 ; CPU:$AE11 PRG:2E11 85 52 + sta CellCharset ; CPU:$AE11 PRG:2E11 85 52 rts ; CPU:$AE13 PRG:2E13 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop211 -; Global: Branch target inside Label: taken when AE14. -; Local: Part of Label. +; Routine: IrqHandler_Loop240 +; Global: Branch target inside IrqHandler: taken when Loop240. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop211: +IrqHandler_Loop240: lda #$06 ; CPU:$AE14 PRG:2E14 A9 06 - sta Zp43 ; CPU:$AE16 PRG:2E16 85 43 + sta CellOwner ; CPU:$AE16 PRG:2E16 85 43 lda #$08 ; CPU:$AE18 PRG:2E18 A9 08 - sta Zp52 ; CPU:$AE1A PRG:2E1A 85 52 + sta CellCharset ; CPU:$AE1A PRG:2E1A 85 52 lda #$04 ; CPU:$AE1C PRG:2E1C A9 04 - sta Zp50 ; CPU:$AE1E PRG:2E1E 85 50 + sta CellValid ; CPU:$AE1E PRG:2E1E 85 50 lda #$03 ; CPU:$AE20 PRG:2E20 A9 03 - sta Zp51 ; CPU:$AE22 PRG:2E22 85 51 + sta CellType ; CPU:$AE22 PRG:2E22 85 51 rts ; CPU:$AE24 PRG:2E24 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop212 -; Global: Branch target inside Label: taken when AE25. -; Local: Part of Label. +; Routine: IrqHandler_Loop241 +; Global: Branch target inside IrqHandler: taken when Loop241. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop212: +IrqHandler_Loop241: lda #$07 ; CPU:$AE25 PRG:2E25 A9 07 - sta Zp43 ; CPU:$AE27 PRG:2E27 85 43 + sta CellOwner ; CPU:$AE27 PRG:2E27 85 43 lda #$08 ; CPU:$AE29 PRG:2E29 A9 08 - sta Zp52 ; CPU:$AE2B PRG:2E2B 85 52 + sta CellCharset ; CPU:$AE2B PRG:2E2B 85 52 lda #$04 ; CPU:$AE2D PRG:2E2D A9 04 - sta Zp51 ; CPU:$AE2F PRG:2E2F 85 51 + sta CellType ; CPU:$AE2F PRG:2E2F 85 51 rts ; CPU:$AE31 PRG:2E31 60 ; ----------------------------------------------------------------------------- ; Routine: Label_AE32 @@ -9305,128 +10319,128 @@ Label_AE32: jsr Sub_AD54 ; CPU:$AE32 PRG:2E32 20 54 AD and #$FE ; CPU:$AE35 PRG:2E35 29 FE cmp #$28 ; CPU:$AE37 PRG:2E37 C9 28 - beq IrqHandler_Loop213 ; CPU:$AE39 PRG:2E39 F0 25 + beq IrqHandler_Loop242 ; CPU:$AE39 PRG:2E39 F0 25 cmp #$27 ; CPU:$AE3B PRG:2E3B C9 27 - beq IrqHandler_Loop213 ; CPU:$AE3D PRG:2E3D F0 21 + beq IrqHandler_Loop242 ; CPU:$AE3D PRG:2E3D F0 21 cmp #$24 ; CPU:$AE3F PRG:2E3F C9 24 - beq IrqHandler_Loop214 ; CPU:$AE41 PRG:2E41 F0 26 + beq IrqHandler_Loop243 ; CPU:$AE41 PRG:2E41 F0 26 cmp #$23 ; CPU:$AE43 PRG:2E43 C9 23 - beq IrqHandler_Loop214 ; CPU:$AE45 PRG:2E45 F0 22 + beq IrqHandler_Loop243 ; CPU:$AE45 PRG:2E45 F0 22 cmp #$1E ; CPU:$AE47 PRG:2E47 C9 1E - beq IrqHandler_Loop215 ; CPU:$AE49 PRG:2E49 F0 27 + beq IrqHandler_Loop244 ; CPU:$AE49 PRG:2E49 F0 27 cmp #$1D ; CPU:$AE4B PRG:2E4B C9 1D - beq IrqHandler_Loop215 ; CPU:$AE4D PRG:2E4D F0 23 + beq IrqHandler_Loop244 ; CPU:$AE4D PRG:2E4D F0 23 cmp #$1A ; CPU:$AE4F PRG:2E4F C9 1A - beq IrqHandler_Loop216 ; CPU:$AE51 PRG:2E51 F0 28 + beq IrqHandler_Loop245 ; CPU:$AE51 PRG:2E51 F0 28 cmp #$19 ; CPU:$AE53 PRG:2E53 C9 19 - beq IrqHandler_Loop216 ; CPU:$AE55 PRG:2E55 F0 24 + beq IrqHandler_Loop245 ; CPU:$AE55 PRG:2E55 F0 24 cmp #$14 ; CPU:$AE57 PRG:2E57 C9 14 - beq IrqHandler_Loop217 ; CPU:$AE59 PRG:2E59 F0 29 + beq IrqHandler_Loop246 ; CPU:$AE59 PRG:2E59 F0 29 cmp #$13 ; CPU:$AE5B PRG:2E5B C9 13 - beq IrqHandler_Loop217 ; CPU:$AE5D PRG:2E5D F0 25 + beq IrqHandler_Loop246 ; CPU:$AE5D PRG:2E5D F0 25 rts ; CPU:$AE5F PRG:2E5F 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop213 -; Global: Branch target inside Label: taken when AE60. -; Local: Part of Label. +; Routine: IrqHandler_Loop242 +; Global: Branch target inside IrqHandler: taken when Loop242. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop213: +IrqHandler_Loop242: cpx #$04 ; CPU:$AE60 PRG:2E60 E0 04 - bcc IrqHandler_Loop218 ; CPU:$AE62 PRG:2E62 90 29 + bcc IrqHandler_Loop247 ; CPU:$AE62 PRG:2E62 90 29 cpx #$07 ; CPU:$AE64 PRG:2E64 E0 07 - bcs IrqHandler_Loop219 ; CPU:$AE66 PRG:2E66 B0 2E + bcs IrqHandler_Loop248 ; CPU:$AE66 PRG:2E66 B0 2E rts ; CPU:$AE68 PRG:2E68 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop214 -; Global: Branch target inside Label: taken when AE69. -; Local: Part of Label. +; Routine: IrqHandler_Loop243 +; Global: Branch target inside IrqHandler: taken when Loop243. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop214: +IrqHandler_Loop243: cpx #$06 ; CPU:$AE69 PRG:2E69 E0 06 - bcc IrqHandler_Loop218 ; CPU:$AE6B PRG:2E6B 90 20 + bcc IrqHandler_Loop247 ; CPU:$AE6B PRG:2E6B 90 20 cpx #$09 ; CPU:$AE6D PRG:2E6D E0 09 - bcs IrqHandler_Loop219 ; CPU:$AE6F PRG:2E6F B0 25 + bcs IrqHandler_Loop248 ; CPU:$AE6F PRG:2E6F B0 25 rts ; CPU:$AE71 PRG:2E71 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop215 -; Global: Branch target inside Label: taken when AE72. -; Local: Part of Label. +; Routine: IrqHandler_Loop244 +; Global: Branch target inside IrqHandler: taken when Loop244. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop215: +IrqHandler_Loop244: cpx #$07 ; CPU:$AE72 PRG:2E72 E0 07 - bcc IrqHandler_Loop218 ; CPU:$AE74 PRG:2E74 90 17 + bcc IrqHandler_Loop247 ; CPU:$AE74 PRG:2E74 90 17 cpx #$0B ; CPU:$AE76 PRG:2E76 E0 0B - bcs IrqHandler_Loop219 ; CPU:$AE78 PRG:2E78 B0 1C + bcs IrqHandler_Loop248 ; CPU:$AE78 PRG:2E78 B0 1C rts ; CPU:$AE7A PRG:2E7A 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop216 -; Global: Branch target inside Label: taken when AE7B. -; Local: Part of Label. +; Routine: IrqHandler_Loop245 +; Global: Branch target inside IrqHandler: taken when Loop245. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop216: +IrqHandler_Loop245: cpx #$08 ; CPU:$AE7B PRG:2E7B E0 08 - bcc IrqHandler_Loop218 ; CPU:$AE7D PRG:2E7D 90 0E + bcc IrqHandler_Loop247 ; CPU:$AE7D PRG:2E7D 90 0E cpx #$0C ; CPU:$AE7F PRG:2E7F E0 0C - bcs IrqHandler_Loop219 ; CPU:$AE81 PRG:2E81 B0 13 + bcs IrqHandler_Loop248 ; CPU:$AE81 PRG:2E81 B0 13 rts ; CPU:$AE83 PRG:2E83 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop217 -; Global: Branch target inside Label: taken when AE84. -; Local: Part of Label. +; Routine: IrqHandler_Loop246 +; Global: Branch target inside IrqHandler: taken when Loop246. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop217: +IrqHandler_Loop246: cpx #$09 ; CPU:$AE84 PRG:2E84 E0 09 - bcc IrqHandler_Loop218 ; CPU:$AE86 PRG:2E86 90 05 + bcc IrqHandler_Loop247 ; CPU:$AE86 PRG:2E86 90 05 cpx #$0D ; CPU:$AE88 PRG:2E88 E0 0D - bcs IrqHandler_Loop219 ; CPU:$AE8A PRG:2E8A B0 0A + bcs IrqHandler_Loop248 ; CPU:$AE8A PRG:2E8A B0 0A rts ; CPU:$AE8C PRG:2E8C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop218 -; Global: Branch target inside Label: taken when AE8D. -; Local: Part of Label. +; Routine: IrqHandler_Loop247 +; Global: Branch target inside IrqHandler: taken when Loop247. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop218: +IrqHandler_Loop247: lda #$08 ; CPU:$AE8D PRG:2E8D A9 08 - sta Zp52 ; CPU:$AE8F PRG:2E8F 85 52 + sta CellCharset ; CPU:$AE8F PRG:2E8F 85 52 lda #$04 ; CPU:$AE91 PRG:2E91 A9 04 - sta Zp51 ; CPU:$AE93 PRG:2E93 85 51 + sta CellType ; CPU:$AE93 PRG:2E93 85 51 rts ; CPU:$AE95 PRG:2E95 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop219 -; Global: Branch target inside Label: taken when AE96. -; Local: Part of Label. +; Routine: IrqHandler_Loop248 +; Global: Branch target inside IrqHandler: taken when Loop248. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop219: +IrqHandler_Loop248: lda #$07 ; CPU:$AE96 PRG:2E96 A9 07 - sta Zp52 ; CPU:$AE98 PRG:2E98 85 52 + sta CellCharset ; CPU:$AE98 PRG:2E98 85 52 lda #$03 ; CPU:$AE9A PRG:2E9A A9 03 - sta Zp51 ; CPU:$AE9C PRG:2E9C 85 51 + sta CellType ; CPU:$AE9C PRG:2E9C 85 51 rts ; CPU:$AE9E PRG:2E9E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_AE9F -; Global: Branch target inside Label: taken when AE9F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AE9F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9434,31 +10448,31 @@ IrqHandler_Loop219: Sub_AE9F: lda ZpAF ; CPU:$AE9F PRG:2E9F A5 AF and #$02 ; CPU:$AEA1 PRG:2EA1 29 02 - bne IrqHandler_Loop220 ; CPU:$AEA3 PRG:2EA3 D0 14 + bne IrqHandler_Loop249 ; CPU:$AEA3 PRG:2EA3 D0 14 lda ZpB6 ; CPU:$AEA5 PRG:2EA5 A5 B6 and #$02 ; CPU:$AEA7 PRG:2EA7 29 02 - bne IrqHandler_Loop220 ; CPU:$AEA9 PRG:2EA9 D0 0E + bne IrqHandler_Loop249 ; CPU:$AEA9 PRG:2EA9 D0 0E lda ZpEE ; CPU:$AEAB PRG:2EAB A5 EE and #$02 ; CPU:$AEAD PRG:2EAD 29 02 - bne IrqHandler_Loop220 ; CPU:$AEAF PRG:2EAF D0 08 + bne IrqHandler_Loop249 ; CPU:$AEAF PRG:2EAF D0 08 lda ZpF5 ; CPU:$AEB1 PRG:2EB1 A5 F5 and #$02 ; CPU:$AEB3 PRG:2EB3 29 02 - bne IrqHandler_Loop220 ; CPU:$AEB5 PRG:2EB5 D0 02 + bne IrqHandler_Loop249 ; CPU:$AEB5 PRG:2EB5 D0 02 lda #$00 ; CPU:$AEB7 PRG:2EB7 A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop220 -; Global: Branch target inside Label: taken when AEB9. -; Local: Part of Label. +; Routine: IrqHandler_Loop249 +; Global: Branch target inside IrqHandler: taken when Loop249. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop220: +IrqHandler_Loop249: rts ; CPU:$AEB9 PRG:2EB9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_AEBA -; Global: Branch target inside Label: taken when AEBA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AEBA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9468,74 +10482,75 @@ Sub_AEBA: lda $0125 ; CPU:$AEBD PRG:2EBD AD 25 01 and #$07 ; CPU:$AEC0 PRG:2EC0 29 07 adc #$0A ; CPU:$AEC2 PRG:2EC2 69 0A - jsr IrqHandler_OnNonzero18 ; CPU:$AEC4 PRG:2EC4 20 A0 A2 + jsr IrqHandler_OnNonzero20 ; CPU:$AEC4 PRG:2EC4 20 A0 A2 lda #$00 ; CPU:$AEC7 PRG:2EC7 A9 00 sta $01B2 ; CPU:$AEC9 PRG:2EC9 8D B2 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear13 -; Global: Branch target inside Label: taken when AECC. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear14 +; Global: Branch target inside IrqHandler: taken when OnCarryClear14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear13: +IrqHandler_OnCarryClear14: jsr Sub_D9EA ; CPU:$AECC PRG:2ECC 20 EA D9 ldy $01B2 ; CPU:$AECF PRG:2ECF AC B2 01 lda $AF00,y ; CPU:$AED2 PRG:2ED2 B9 00 AF tax ; CPU:$AED5 PRG:2ED5 AA - lda ZpA5,x ; CPU:$AED6 PRG:2ED6 B5 A5 + lda CellPatternIndex,x ; CPU:$AED6 PRG:2ED6 B5 A5 tay ; CPU:$AED8 PRG:2ED8 A8 - lda Zp2E ; CPU:$AED9 PRG:2ED9 A5 2E + lda CursorMoved ; CPU:$AED9 PRG:2ED9 A5 2E and #$02 ; CPU:$AEDB PRG:2EDB 29 02 - beq IrqHandler_Loop221 ; CPU:$AEDD PRG:2EDD F0 07 + beq IrqHandler_Loop250 ; CPU:$AEDD PRG:2EDD F0 07 tya ; CPU:$AEDF PRG:2EDF 98 and #$08 ; CPU:$AEE0 PRG:2EE0 29 08 - bne IrqHandler_Loop223 ; CPU:$AEE2 PRG:2EE2 D0 16 - beq IrqHandler_Loop222 ; CPU:$AEE4 PRG:2EE4 F0 05 + bne IrqHandler_Loop252 ; CPU:$AEE2 PRG:2EE2 D0 16 + beq IrqHandler_Loop251 ; CPU:$AEE4 PRG:2EE4 F0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop221 -; Global: Branch target inside Label: taken when AEE6. -; Local: Part of Label. +; Routine: IrqHandler_Loop250 +; Global: Branch target inside IrqHandler: taken when Loop250. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop221: +IrqHandler_Loop250: tya ; CPU:$AEE6 PRG:2EE6 98 and #$04 ; CPU:$AEE7 PRG:2EE7 29 04 - bne IrqHandler_Loop223 ; CPU:$AEE9 PRG:2EE9 D0 0F + bne IrqHandler_Loop252 ; CPU:$AEE9 PRG:2EE9 D0 0F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop222 -; Global: Branch target inside Label: taken when AEEB. -; Local: Part of Label. +; Routine: IrqHandler_Loop251 +; Global: Branch target inside IrqHandler: taken when Loop251. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop222: +IrqHandler_Loop251: inc $01B2 ; CPU:$AEEB PRG:2EEB EE B2 01 cmp #$3C ; CPU:$AEEE PRG:2EEE C9 3C - bcc IrqHandler_OnCarryClear13 ; CPU:$AEF0 PRG:2EF0 90 DA + bcc IrqHandler_OnCarryClear14 ; CPU:$AEF0 PRG:2EF0 90 DA pla ; CPU:$AEF2 PRG:2EF2 68 pla ; CPU:$AEF3 PRG:2EF3 68 jsr Sub_A4F7 ; CPU:$AEF4 PRG:2EF4 20 F7 A4 jmp Sub_88A0 ; CPU:$AEF7 PRG:2EF7 4C A0 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop223 -; Global: Branch target inside Label: taken when AEFA. -; Local: Part of Label. +; Routine: IrqHandler_Loop252 +; Global: Branch target inside IrqHandler: taken when Loop252. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop223: +IrqHandler_Loop252: stx Zp44 ; CPU:$AEFA PRG:2EFA 86 44 jsr Sub_A4F7 ; CPU:$AEFC PRG:2EFC 20 F7 A4 rts ; CPU:$AEFF PRG:2EFF 60 ; ---- data $AF00-$AF97 (152 bytes) ---- ; referenced by `lda $AF00,y` at $AED2 (operand $AF00 falls inside this region) - .byte $0A, $11, $49, $50, $33, $27, $3A, $30, $2A, $3B, $1F, $20, $4E, $21, $39, $3E ; CPU:$AF00 PRG:2F00 0A 11 49 50 33 27 3A 30 2A 3B 1F 20 4E 21 39 3E +RandomSeedTable: + .byte $0A, $11, $49, $50, $33, $27, $3A, $30, $2A, $3B, $1F, $20, $4E, $21, $39, $3E ; CPU:$AF00 PRG:-1100 0A 11 49 50 33 27 3A 30 2A 3B 1F 20 4E 21 39 3E .byte $1E, $0F, $1D, $18, $4C, $3C, $43, $0C, $4B, $4D, $1C, $37, $2C, $3D, $23, $15 ; CPU:$AF10 PRG:2F10 1E 0F 1D 18 4C 3C 43 0C 4B 4D 1C 37 2C 3D 23 15 .byte $2F, $16, $26, $38, $42, $22, $44, $34, $17, $2E, $25, $45, $0D, $0E, $2B, $35 ; CPU:$AF20 PRG:2F20 2F 16 26 38 42 22 44 34 17 2E 25 45 0D 0E 2B 35 .byte $4F, $47, $4A, $40, $10, $1A, $13, $0B, $46, $41, $19, $14, $20, $AE, $D6, $AD ; CPU:$AF30 PRG:2F30 4F 47 4A 40 10 1A 13 0B 46 41 19 14 20 AE D6 AD @@ -9547,66 +10562,66 @@ IrqHandler_Loop223: .byte $42, $4F, $52, $41, $54, $4F, $52, $59 ; CPU:$AF90 PRG:2F90 42 4F 52 41 54 4F 52 59 ; ----------------------------------------------------------------------------- ; Routine: Sub_AF98 -; Global: Branch target inside Label: taken when AF98. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when AF98. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AF98: lda #$00 ; CPU:$AF98 PRG:2F98 A9 00 - sta Zp4B ; CPU:$AF9A PRG:2F9A 85 4B + sta BoardColumn ; CPU:$AF9A PRG:2F9A 85 4B ldy Zp42 ; CPU:$AF9C PRG:2F9C A4 42 - ldx Zp45 ; CPU:$AF9E PRG:2F9E A6 45 + ldx BoardColumnCount ; CPU:$AF9E PRG:2F9E A6 45 cpx #$01 ; CPU:$AFA0 PRG:2FA0 E0 01 - beq IrqHandler_Loop224 ; CPU:$AFA2 PRG:2FA2 F0 02 + beq IrqHandler_Loop253 ; CPU:$AFA2 PRG:2FA2 F0 02 lda #$FF ; CPU:$AFA4 PRG:2FA4 A9 FF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop224 -; Global: Branch target inside Label: taken when AFA6. -; Local: Part of Label. +; Routine: IrqHandler_Loop253 +; Global: Branch target inside IrqHandler: taken when Loop253. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop224: +IrqHandler_Loop253: sta $0162,y ; CPU:$AFA6 PRG:2FA6 99 62 01 ldy $0789 ; CPU:$AFA9 PRG:2FA9 AC 89 07 - beq IrqHandler_Loop228 ; CPU:$AFAC PRG:2FAC F0 43 + beq IrqHandler_Loop257 ; CPU:$AFAC PRG:2FAC F0 43 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero20 -; Global: Branch target inside Label: taken when AFAE. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero22 +; Global: Branch target inside IrqHandler: taken when OnNonzero22. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero20: - lda a:ZpA5,y ; CPU:$AFAE PRG:2FAE B9 A5 00 - bne IrqHandler_Loop225 ; CPU:$AFB1 PRG:2FB1 D0 29 +IrqHandler_OnNonzero22: + lda a:CellPatternIndex,y ; CPU:$AFAE PRG:2FAE B9 A5 00 + bne IrqHandler_Loop254 ; CPU:$AFB1 PRG:2FB1 D0 29 lda $BCCE,y ; CPU:$AFB3 PRG:2FB3 B9 CE BC tax ; CPU:$AFB6 PRG:2FB6 AA tya ; CPU:$AFB7 PRG:2FB7 98 pha ; CPU:$AFB8 PRG:2FB8 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero21 -; Global: Branch target inside Label: taken when AFB9. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero23 +; Global: Branch target inside IrqHandler: taken when OnNonzero23. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero21: +IrqHandler_OnNonzero23: clc ; CPU:$AFB9 PRG:2FB9 18 adc $BCCE,x ; CPU:$AFBA PRG:2FBA 7D CE BC tay ; CPU:$AFBD PRG:2FBD A8 - lda a:ZpA5,y ; CPU:$AFBE PRG:2FBE B9 A5 00 - cmp Zp45 ; CPU:$AFC1 PRG:2FC1 C5 45 - bne IrqHandler_Loop226 ; CPU:$AFC3 PRG:2FC3 D0 1F + lda a:CellPatternIndex,y ; CPU:$AFBE PRG:2FBE B9 A5 00 + cmp BoardColumnCount ; CPU:$AFC1 PRG:2FC1 C5 45 + bne IrqHandler_Loop255 ; CPU:$AFC3 PRG:2FC3 D0 1F ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero10 -; Global: Branch target inside Label: taken when AFC5. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero10. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9616,312 +10631,312 @@ IrqHandler_OnZero10: clc ; CPU:$AFC6 PRG:2FC6 18 adc $BCCE,x ; CPU:$AFC7 PRG:2FC7 7D CE BC tay ; CPU:$AFCA PRG:2FCA A8 - lda a:ZpA5,y ; CPU:$AFCB PRG:2FCB B9 A5 00 - beq IrqHandler_Loop226 ; CPU:$AFCE PRG:2FCE F0 14 - cmp Zp45 ; CPU:$AFD0 PRG:2FD0 C5 45 + lda a:CellPatternIndex,y ; CPU:$AFCB PRG:2FCB B9 A5 00 + beq IrqHandler_Loop255 ; CPU:$AFCE PRG:2FCE F0 14 + cmp BoardColumnCount ; CPU:$AFD0 PRG:2FD0 C5 45 beq IrqHandler_OnZero10 ; CPU:$AFD2 PRG:2FD2 F0 F1 - inc Zp4B ; CPU:$AFD4 PRG:2FD4 E6 4B - ldy Zp4B ; CPU:$AFD6 PRG:2FD6 A4 4B + inc BoardColumn ; CPU:$AFD4 PRG:2FD4 E6 4B + ldy BoardColumn ; CPU:$AFD6 PRG:2FD6 A4 4B pla ; CPU:$AFD8 PRG:2FD8 68 - sta (Zp3E),y ; CPU:$AFD9 PRG:2FD9 91 3E -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero22 -; Global: Branch target inside Label: taken when AFDB. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero22: - tay ; CPU:$AFDB PRG:2FDB A8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop225 -; Global: Branch target inside Label: taken when AFDC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop225: - lda $0777,y ; CPU:$AFDC PRG:2FDC B9 77 07 - beq IrqHandler_Loop228 ; CPU:$AFDF PRG:2FDF F0 10 - tay ; CPU:$AFE1 PRG:2FE1 A8 - bne IrqHandler_OnNonzero20 ; CPU:$AFE2 PRG:2FE2 D0 CA -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop226 -; Global: Branch target inside Label: taken when AFE4. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop226: - inx ; CPU:$AFE4 PRG:2FE4 E8 - lda $BCCE,x ; CPU:$AFE5 PRG:2FE5 BD CE BC - bne IrqHandler_Loop227 ; CPU:$AFE8 PRG:2FE8 D0 03 - pla ; CPU:$AFEA PRG:2FEA 68 - bne IrqHandler_OnNonzero22 ; CPU:$AFEB PRG:2FEB D0 EE -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop227 -; Global: Branch target inside Label: taken when AFED. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop227: - pla ; CPU:$AFED PRG:2FED 68 - pha ; CPU:$AFEE PRG:2FEE 48 - bne IrqHandler_OnNonzero21 ; CPU:$AFEF PRG:2FEF D0 C8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop228 -; Global: Branch target inside Label: taken when AFF1. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop228: - ldy #$00 ; CPU:$AFF1 PRG:2FF1 A0 00 - lda Zp4B ; CPU:$AFF3 PRG:2FF3 A5 4B - sta (Zp3E),y ; CPU:$AFF5 PRG:2FF5 91 3E - cmp #$02 ; CPU:$AFF7 PRG:2FF7 C9 02 - bcs IrqHandler_Loop229 ; CPU:$AFF9 PRG:2FF9 B0 01 - rts ; CPU:$AFFB PRG:2FFB 60 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop229 -; Global: Branch target inside Label: taken when AFFC. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop229: - lda Zp50 ; CPU:$AFFC PRG:2FFC A5 50 - cmp Zp42 ; CPU:$AFFE PRG:2FFE C5 42 - bcs IrqHandler_Loop230 ; CPU:$B000 PRG:3000 B0 01 - rts ; CPU:$B002 PRG:3002 60 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop230 -; Global: Branch target inside Label: taken when B003. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop230: - lda Zp4B ; CPU:$B003 PRG:3003 A5 4B - pha ; CPU:$B005 PRG:3005 48 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero23 -; Global: Branch target inside Label: taken when B006. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero23: - jsr Sub_B2C7 ; CPU:$B006 PRG:3006 20 C7 B2 - lda Zp45 ; CPU:$B009 PRG:3009 A5 45 - eor #$03 ; CPU:$B00B PRG:300B 49 03 - sta Zp45 ; CPU:$B00D PRG:300D 85 45 - jsr Sub_B37D ; CPU:$B00F PRG:300F 20 7D B3 - lda Zp45 ; CPU:$B012 PRG:3012 A5 45 - eor #$03 ; CPU:$B014 PRG:3014 49 03 - sta Zp45 ; CPU:$B016 PRG:3016 85 45 - ldy #$00 ; CPU:$B018 PRG:3018 A0 00 - jsr IrqHandler_Loop302 ; CPU:$B01A PRG:301A 20 DF B6 - ldy #$00 ; CPU:$B01D PRG:301D A0 00 - lda (Zp3E),y ; CPU:$B01F PRG:301F B1 3E - tax ; CPU:$B021 PRG:3021 AA - lda Zp53 ; CPU:$B022 PRG:3022 A5 53 - sta $0740,x ; CPU:$B024 PRG:3024 9D 40 07 - dex ; CPU:$B027 PRG:3027 CA - txa ; CPU:$B028 PRG:3028 8A - sta (Zp3E),y ; CPU:$B029 PRG:3029 91 3E - bne IrqHandler_OnNonzero23 ; CPU:$B02B PRG:302B D0 D9 - pla ; CPU:$B02D PRG:302D 68 - sta Zp4B ; CPU:$B02E PRG:302E 85 4B - lda Zp45 ; CPU:$B030 PRG:3030 A5 45 - cmp #$02 ; CPU:$B032 PRG:3032 C9 02 - beq IrqHandler_Loop232 ; CPU:$B034 PRG:3034 F0 2B - ldx Zp4B ; CPU:$B036 PRG:3036 A6 4B + sta (BoardDataPtrLo),y ; CPU:$AFD9 PRG:2FD9 91 3E ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero24 -; Global: Branch target inside Label: taken when B038. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero24. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero24: - lda #$01 ; CPU:$B038 PRG:3038 A9 01 - sta Zp4A ; CPU:$B03A PRG:303A 85 4A - ldy Zp4B ; CPU:$B03C PRG:303C A4 4B + tay ; CPU:$AFDB PRG:2FDB A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop254 +; Global: Branch target inside IrqHandler: taken when Loop254. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop254: + lda $0777,y ; CPU:$AFDC PRG:2FDC B9 77 07 + beq IrqHandler_Loop257 ; CPU:$AFDF PRG:2FDF F0 10 + tay ; CPU:$AFE1 PRG:2FE1 A8 + bne IrqHandler_OnNonzero22 ; CPU:$AFE2 PRG:2FE2 D0 CA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop255 +; Global: Branch target inside IrqHandler: taken when Loop255. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop255: + inx ; CPU:$AFE4 PRG:2FE4 E8 + lda $BCCE,x ; CPU:$AFE5 PRG:2FE5 BD CE BC + bne IrqHandler_Loop256 ; CPU:$AFE8 PRG:2FE8 D0 03 + pla ; CPU:$AFEA PRG:2FEA 68 + bne IrqHandler_OnNonzero24 ; CPU:$AFEB PRG:2FEB D0 EE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop256 +; Global: Branch target inside IrqHandler: taken when Loop256. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop256: + pla ; CPU:$AFED PRG:2FED 68 + pha ; CPU:$AFEE PRG:2FEE 48 + bne IrqHandler_OnNonzero23 ; CPU:$AFEF PRG:2FEF D0 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop257 +; Global: Branch target inside IrqHandler: taken when Loop257. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop257: + ldy #$00 ; CPU:$AFF1 PRG:2FF1 A0 00 + lda BoardColumn ; CPU:$AFF3 PRG:2FF3 A5 4B + sta (BoardDataPtrLo),y ; CPU:$AFF5 PRG:2FF5 91 3E + cmp #$02 ; CPU:$AFF7 PRG:2FF7 C9 02 + bcs IrqHandler_Loop258 ; CPU:$AFF9 PRG:2FF9 B0 01 + rts ; CPU:$AFFB PRG:2FFB 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop258 +; Global: Branch target inside IrqHandler: taken when Loop258. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop258: + lda CellValid ; CPU:$AFFC PRG:2FFC A5 50 + cmp Zp42 ; CPU:$AFFE PRG:2FFE C5 42 + bcs IrqHandler_Loop259 ; CPU:$B000 PRG:3000 B0 01 + rts ; CPU:$B002 PRG:3002 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop259 +; Global: Branch target inside IrqHandler: taken when Loop259. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop259: + lda BoardColumn ; CPU:$B003 PRG:3003 A5 4B + pha ; CPU:$B005 PRG:3005 48 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero25 -; Global: Branch target inside Label: taken when B03E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero25. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero25: - lda $0740,y ; CPU:$B03E PRG:303E B9 40 07 - cmp Zp4A ; CPU:$B041 PRG:3041 C5 4A - bcc IrqHandler_Loop231 ; CPU:$B043 PRG:3043 90 08 - sta Zp4A ; CPU:$B045 PRG:3045 85 4A - sty Zp5A ; CPU:$B047 PRG:3047 84 5A - lda (Zp3E),y ; CPU:$B049 PRG:3049 B1 3E - sta Zp5B ; CPU:$B04B PRG:304B 85 5B + jsr Sub_B2C7 ; CPU:$B006 PRG:3006 20 C7 B2 + lda BoardColumnCount ; CPU:$B009 PRG:3009 A5 45 + eor #$03 ; CPU:$B00B PRG:300B 49 03 + sta BoardColumnCount ; CPU:$B00D PRG:300D 85 45 + jsr Sub_B37D ; CPU:$B00F PRG:300F 20 7D B3 + lda BoardColumnCount ; CPU:$B012 PRG:3012 A5 45 + eor #$03 ; CPU:$B014 PRG:3014 49 03 + sta BoardColumnCount ; CPU:$B016 PRG:3016 85 45 + ldy #$00 ; CPU:$B018 PRG:3018 A0 00 + jsr IrqHandler_Loop331 ; CPU:$B01A PRG:301A 20 DF B6 + ldy #$00 ; CPU:$B01D PRG:301D A0 00 + lda (BoardDataPtrLo),y ; CPU:$B01F PRG:301F B1 3E + tax ; CPU:$B021 PRG:3021 AA + lda Zp53 ; CPU:$B022 PRG:3022 A5 53 + sta $0740,x ; CPU:$B024 PRG:3024 9D 40 07 + dex ; CPU:$B027 PRG:3027 CA + txa ; CPU:$B028 PRG:3028 8A + sta (BoardDataPtrLo),y ; CPU:$B029 PRG:3029 91 3E + bne IrqHandler_OnNonzero25 ; CPU:$B02B PRG:302B D0 D9 + pla ; CPU:$B02D PRG:302D 68 + sta BoardColumn ; CPU:$B02E PRG:302E 85 4B + lda BoardColumnCount ; CPU:$B030 PRG:3030 A5 45 + cmp #$02 ; CPU:$B032 PRG:3032 C9 02 + beq IrqHandler_Loop261 ; CPU:$B034 PRG:3034 F0 2B + ldx BoardColumn ; CPU:$B036 PRG:3036 A6 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop231 -; Global: Branch target inside Label: taken when B04D. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero26 +; Global: Branch target inside IrqHandler: taken when OnNonzero26. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop231: +IrqHandler_OnNonzero26: + lda #$01 ; CPU:$B038 PRG:3038 A9 01 + sta Zp4A ; CPU:$B03A PRG:303A 85 4A + ldy BoardColumn ; CPU:$B03C PRG:303C A4 4B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero27 +; Global: Branch target inside IrqHandler: taken when OnNonzero27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero27: + lda $0740,y ; CPU:$B03E PRG:303E B9 40 07 + cmp Zp4A ; CPU:$B041 PRG:3041 C5 4A + bcc IrqHandler_Loop260 ; CPU:$B043 PRG:3043 90 08 + sta Zp4A ; CPU:$B045 PRG:3045 85 4A + sty Zp5A ; CPU:$B047 PRG:3047 84 5A + lda (BoardDataPtrLo),y ; CPU:$B049 PRG:3049 B1 3E + sta Zp5B ; CPU:$B04B PRG:304B 85 5B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop260 +; Global: Branch target inside IrqHandler: taken when Loop260. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop260: dey ; CPU:$B04D PRG:304D 88 - bne IrqHandler_OnNonzero25 ; CPU:$B04E PRG:304E D0 EE + bne IrqHandler_OnNonzero27 ; CPU:$B04E PRG:304E D0 EE ldy Zp5A ; CPU:$B050 PRG:3050 A4 5A lda #$00 ; CPU:$B052 PRG:3052 A9 00 sta $0740,y ; CPU:$B054 PRG:3054 99 40 07 lda Zp5B ; CPU:$B057 PRG:3057 A5 5B sta $0760,x ; CPU:$B059 PRG:3059 9D 60 07 dex ; CPU:$B05C PRG:305C CA - bne IrqHandler_OnNonzero24 ; CPU:$B05D PRG:305D D0 D9 - beq IrqHandler_Loop234 ; CPU:$B05F PRG:305F F0 2B + bne IrqHandler_OnNonzero26 ; CPU:$B05D PRG:305D D0 D9 + beq IrqHandler_Loop263 ; CPU:$B05F PRG:305F F0 2B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop232 -; Global: Branch target inside Label: taken when B061. -; Local: Part of Label. +; Routine: IrqHandler_Loop261 +; Global: Branch target inside IrqHandler: taken when Loop261. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop232: - ldx Zp4B ; CPU:$B061 PRG:3061 A6 4B +IrqHandler_Loop261: + ldx BoardColumn ; CPU:$B061 PRG:3061 A6 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero26 -; Global: Branch target inside Label: taken when B063. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero28 +; Global: Branch target inside IrqHandler: taken when OnNonzero28. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero26: +IrqHandler_OnNonzero28: lda #$FE ; CPU:$B063 PRG:3063 A9 FE sta Zp4A ; CPU:$B065 PRG:3065 85 4A - ldy Zp4B ; CPU:$B067 PRG:3067 A4 4B + ldy BoardColumn ; CPU:$B067 PRG:3067 A4 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero27 -; Global: Branch target inside Label: taken when B069. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero29 +; Global: Branch target inside IrqHandler: taken when OnNonzero29. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero27: +IrqHandler_OnNonzero29: lda $0740,y ; CPU:$B069 PRG:3069 B9 40 07 cmp Zp4A ; CPU:$B06C PRG:306C C5 4A - bcs IrqHandler_Loop233 ; CPU:$B06E PRG:306E B0 08 + bcs IrqHandler_Loop262 ; CPU:$B06E PRG:306E B0 08 sta Zp4A ; CPU:$B070 PRG:3070 85 4A sty Zp5A ; CPU:$B072 PRG:3072 84 5A - lda (Zp3E),y ; CPU:$B074 PRG:3074 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B074 PRG:3074 B1 3E sta Zp5B ; CPU:$B076 PRG:3076 85 5B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop233 -; Global: Branch target inside Label: taken when B078. -; Local: Part of Label. +; Routine: IrqHandler_Loop262 +; Global: Branch target inside IrqHandler: taken when Loop262. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop233: +IrqHandler_Loop262: dey ; CPU:$B078 PRG:3078 88 - bne IrqHandler_OnNonzero27 ; CPU:$B079 PRG:3079 D0 EE + bne IrqHandler_OnNonzero29 ; CPU:$B079 PRG:3079 D0 EE ldy Zp5A ; CPU:$B07B PRG:307B A4 5A lda #$FF ; CPU:$B07D PRG:307D A9 FF sta $0740,y ; CPU:$B07F PRG:307F 99 40 07 lda Zp5B ; CPU:$B082 PRG:3082 A5 5B sta $0760,x ; CPU:$B084 PRG:3084 9D 60 07 dex ; CPU:$B087 PRG:3087 CA - bne IrqHandler_OnNonzero26 ; CPU:$B088 PRG:3088 D0 D9 - beq IrqHandler_Loop236 ; CPU:$B08A PRG:308A F0 12 + bne IrqHandler_OnNonzero28 ; CPU:$B088 PRG:3088 D0 D9 + beq IrqHandler_Loop265 ; CPU:$B08A PRG:308A F0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop234 -; Global: Branch target inside Label: taken when B08C. -; Local: Part of Label. +; Routine: IrqHandler_Loop263 +; Global: Branch target inside IrqHandler: taken when Loop263. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop234: +IrqHandler_Loop263: lda Zp42 ; CPU:$B08C PRG:308C A5 42 cmp #$01 ; CPU:$B08E PRG:308E C9 01 - beq IrqHandler_Loop235 ; CPU:$B090 PRG:3090 F0 05 - lda Zp51 ; CPU:$B092 PRG:3092 A5 51 + beq IrqHandler_Loop264 ; CPU:$B090 PRG:3090 F0 05 + lda CellType ; CPU:$B092 PRG:3092 A5 51 jmp Sub_B099 ; CPU:$B094 PRG:3094 4C 99 B0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop235 -; Global: Branch target inside Label: taken when B097. -; Local: Part of Label. +; Routine: IrqHandler_Loop264 +; Global: Branch target inside IrqHandler: taken when Loop264. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop235: - lda Zp52 ; CPU:$B097 PRG:3097 A5 52 +IrqHandler_Loop264: + lda CellCharset ; CPU:$B097 PRG:3097 A5 52 ; ----------------------------------------------------------------------------- ; Routine: Sub_B099 -; Global: Branch target inside Label: taken when B099. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B099. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B099: sec ; CPU:$B099 PRG:3099 38 - sbc Zp4B ; CPU:$B09A PRG:309A E5 4B - bcc IrqHandler_Loop237 ; CPU:$B09C PRG:309C 90 10 + sbc BoardColumn ; CPU:$B09A PRG:309A E5 4B + bcc IrqHandler_Loop266 ; CPU:$B09C PRG:309C 90 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop236 -; Global: Branch target inside Label: taken when B09E. -; Local: Part of Label. +; Routine: IrqHandler_Loop265 +; Global: Branch target inside IrqHandler: taken when Loop265. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop236: +IrqHandler_Loop265: ldy #$00 ; CPU:$B09E PRG:309E A0 00 - lda Zp4B ; CPU:$B0A0 PRG:30A0 A5 4B - sta (Zp3E),y ; CPU:$B0A2 PRG:30A2 91 3E + lda BoardColumn ; CPU:$B0A0 PRG:30A0 A5 4B + sta (BoardDataPtrLo),y ; CPU:$B0A2 PRG:30A2 91 3E tay ; CPU:$B0A4 PRG:30A4 A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero28 -; Global: Branch target inside Label: taken when B0A5. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero30 +; Global: Branch target inside IrqHandler: taken when OnNonzero30. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero28: +IrqHandler_OnNonzero30: lda $0760,y ; CPU:$B0A5 PRG:30A5 B9 60 07 - sta (Zp3E),y ; CPU:$B0A8 PRG:30A8 91 3E + sta (BoardDataPtrLo),y ; CPU:$B0A8 PRG:30A8 91 3E dey ; CPU:$B0AA PRG:30AA 88 - bne IrqHandler_OnNonzero28 ; CPU:$B0AB PRG:30AB D0 F8 + bne IrqHandler_OnNonzero30 ; CPU:$B0AB PRG:30AB D0 F8 rts ; CPU:$B0AD PRG:30AD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop237 -; Global: Branch target inside Label: taken when B0AE. -; Local: Part of Label. +; Routine: IrqHandler_Loop266 +; Global: Branch target inside IrqHandler: taken when Loop266. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop237: +IrqHandler_Loop266: eor #$FF ; CPU:$B0AE PRG:30AE 49 FF clc ; CPU:$B0B0 PRG:30B0 18 adc #$01 ; CPU:$B0B1 PRG:30B1 69 01 @@ -9930,30 +10945,30 @@ IrqHandler_Loop237: ldy #$01 ; CPU:$B0B5 PRG:30B5 A0 01 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero11 -; Global: Branch target inside Label: taken when B0B7. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero11. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero11: lda $0760,x ; CPU:$B0B7 PRG:30B7 BD 60 07 - sta (Zp3E),y ; CPU:$B0BA PRG:30BA 91 3E + sta (BoardDataPtrLo),y ; CPU:$B0BA PRG:30BA 91 3E iny ; CPU:$B0BC PRG:30BC C8 inx ; CPU:$B0BD PRG:30BD E8 - cpx Zp4B ; CPU:$B0BE PRG:30BE E4 4B + cpx BoardColumn ; CPU:$B0BE PRG:30BE E4 4B bcc IrqHandler_OnZero11 ; CPU:$B0C0 PRG:30C0 90 F5 beq IrqHandler_OnZero11 ; CPU:$B0C2 PRG:30C2 F0 F3 dey ; CPU:$B0C4 PRG:30C4 88 tya ; CPU:$B0C5 PRG:30C5 98 ldy #$00 ; CPU:$B0C6 PRG:30C6 A0 00 - sta (Zp3E),y ; CPU:$B0C8 PRG:30C8 91 3E - sta Zp4B ; CPU:$B0CA PRG:30CA 85 4B + sta (BoardDataPtrLo),y ; CPU:$B0C8 PRG:30C8 91 3E + sta BoardColumn ; CPU:$B0CA PRG:30CA 85 4B rts ; CPU:$B0CC PRG:30CC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B0CD -; Global: Branch target inside Label: taken when B0CD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B0CD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -9963,42 +10978,42 @@ Sub_B0CD: sta Zp48 ; CPU:$B0CF PRG:30CF 85 48 sta Zp49 ; CPU:$B0D1 PRG:30D1 85 49 ldx $0789 ; CPU:$B0D3 PRG:30D3 AE 89 07 - beq IrqHandler_Loop243 ; CPU:$B0D6 PRG:30D6 F0 74 + beq IrqHandler_Loop272 ; CPU:$B0D6 PRG:30D6 F0 74 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero29 -; Global: Branch target inside Label: taken when B0D8. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero31 +; Global: Branch target inside IrqHandler: taken when OnNonzero31. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero29: - lda ZpA5,x ; CPU:$B0D8 PRG:30D8 B5 A5 - bne IrqHandler_Loop242 ; CPU:$B0DA PRG:30DA D0 68 +IrqHandler_OnNonzero31: + lda CellPatternIndex,x ; CPU:$B0D8 PRG:30D8 B5 A5 + bne IrqHandler_Loop271 ; CPU:$B0DA PRG:30DA D0 68 ldy $BCCE,x ; CPU:$B0DC PRG:30DC BC CE BC lda #$00 ; CPU:$B0DF PRG:30DF A9 00 sta Zp5A ; CPU:$B0E1 PRG:30E1 85 5A txa ; CPU:$B0E3 PRG:30E3 8A pha ; CPU:$B0E4 PRG:30E4 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero30 -; Global: Branch target inside Label: taken when B0E5. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero32 +; Global: Branch target inside IrqHandler: taken when OnNonzero32. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero30: +IrqHandler_OnNonzero32: clc ; CPU:$B0E5 PRG:30E5 18 adc $BCCE,y ; CPU:$B0E6 PRG:30E6 79 CE BC tax ; CPU:$B0E9 PRG:30E9 AA - lda ZpA5,x ; CPU:$B0EA PRG:30EA B5 A5 - cmp Zp4B ; CPU:$B0EC PRG:30EC C5 4B - bne IrqHandler_Loop238 ; CPU:$B0EE PRG:30EE D0 2E + lda CellPatternIndex,x ; CPU:$B0EA PRG:30EA B5 A5 + cmp BoardColumn ; CPU:$B0EC PRG:30EC C5 4B + bne IrqHandler_Loop267 ; CPU:$B0EE PRG:30EE D0 2E ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero12 -; Global: Branch target inside Label: taken when B0F0. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero12. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10008,9 +11023,9 @@ IrqHandler_OnZero12: clc ; CPU:$B0F1 PRG:30F1 18 adc $BCCE,y ; CPU:$B0F2 PRG:30F2 79 CE BC tax ; CPU:$B0F5 PRG:30F5 AA - lda ZpA5,x ; CPU:$B0F6 PRG:30F6 B5 A5 - beq IrqHandler_Loop238 ; CPU:$B0F8 PRG:30F8 F0 24 - cmp Zp4B ; CPU:$B0FA PRG:30FA C5 4B + lda CellPatternIndex,x ; CPU:$B0F6 PRG:30F6 B5 A5 + beq IrqHandler_Loop267 ; CPU:$B0F8 PRG:30F8 F0 24 + cmp BoardColumn ; CPU:$B0FA PRG:30FA C5 4B beq IrqHandler_OnZero12 ; CPU:$B0FC PRG:30FC F0 F2 inc Zp5A ; CPU:$B0FE PRG:30FE E6 5A pla ; CPU:$B100 PRG:3100 68 @@ -10021,11 +11036,11 @@ IrqHandler_OnZero12: sbc $BCCE,y ; CPU:$B106 PRG:3106 F9 CE BC tax ; CPU:$B109 PRG:3109 AA lda #$00 ; CPU:$B10A PRG:310A A9 00 - sta Zp52,x ; CPU:$B10C PRG:310C 95 52 + sta CellCharset,x ; CPU:$B10C PRG:310C 95 52 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero13 -; Global: Branch target inside Label: taken when B10E. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero13. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10035,96 +11050,96 @@ IrqHandler_OnZero13: sec ; CPU:$B10F PRG:310F 38 sbc $BCCE,y ; CPU:$B110 PRG:3110 F9 CE BC cmp Zp4A ; CPU:$B113 PRG:3113 C5 4A - beq IrqHandler_Loop238 ; CPU:$B115 PRG:3115 F0 07 + beq IrqHandler_Loop267 ; CPU:$B115 PRG:3115 F0 07 tax ; CPU:$B117 PRG:3117 AA lda #$00 ; CPU:$B118 PRG:3118 A9 00 - sta Zp52,x ; CPU:$B11A PRG:311A 95 52 + sta CellCharset,x ; CPU:$B11A PRG:311A 95 52 beq IrqHandler_OnZero13 ; CPU:$B11C PRG:311C F0 F0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop238 -; Global: Branch target inside Label: taken when B11E. -; Local: Part of Label. +; Routine: IrqHandler_Loop267 +; Global: Branch target inside IrqHandler: taken when Loop267. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop238: +IrqHandler_Loop267: iny ; CPU:$B11E PRG:311E C8 lda $BCCE,y ; CPU:$B11F PRG:311F B9 CE BC - beq IrqHandler_Loop239 ; CPU:$B122 PRG:3122 F0 04 + beq IrqHandler_Loop268 ; CPU:$B122 PRG:3122 F0 04 pla ; CPU:$B124 PRG:3124 68 pha ; CPU:$B125 PRG:3125 48 - bne IrqHandler_OnNonzero30 ; CPU:$B126 PRG:3126 D0 BD + bne IrqHandler_OnNonzero32 ; CPU:$B126 PRG:3126 D0 BD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop239 -; Global: Branch target inside Label: taken when B128. -; Local: Part of Label. +; Routine: IrqHandler_Loop268 +; Global: Branch target inside IrqHandler: taken when Loop268. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop239: +IrqHandler_Loop268: lda Zp5A ; CPU:$B128 PRG:3128 A5 5A - beq IrqHandler_Loop241 ; CPU:$B12A PRG:312A F0 16 + beq IrqHandler_Loop270 ; CPU:$B12A PRG:312A F0 16 inc Zp48 ; CPU:$B12C PRG:312C E6 48 pla ; CPU:$B12E PRG:312E 68 pha ; CPU:$B12F PRG:312F 48 cmp #$0A ; CPU:$B130 PRG:3130 C9 0A - beq IrqHandler_Loop240 ; CPU:$B132 PRG:3132 F0 0C + beq IrqHandler_Loop269 ; CPU:$B132 PRG:3132 F0 0C cmp #$11 ; CPU:$B134 PRG:3134 C9 11 - beq IrqHandler_Loop240 ; CPU:$B136 PRG:3136 F0 08 + beq IrqHandler_Loop269 ; CPU:$B136 PRG:3136 F0 08 cmp #$49 ; CPU:$B138 PRG:3138 C9 49 - beq IrqHandler_Loop240 ; CPU:$B13A PRG:313A F0 04 + beq IrqHandler_Loop269 ; CPU:$B13A PRG:313A F0 04 cmp #$50 ; CPU:$B13C PRG:313C C9 50 - bne IrqHandler_Loop241 ; CPU:$B13E PRG:313E D0 02 + bne IrqHandler_Loop270 ; CPU:$B13E PRG:313E D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop240 -; Global: Branch target inside Label: taken when B140. -; Local: Part of Label. +; Routine: IrqHandler_Loop269 +; Global: Branch target inside IrqHandler: taken when Loop269. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop240: +IrqHandler_Loop269: inc Zp49 ; CPU:$B140 PRG:3140 E6 49 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop241 -; Global: Branch target inside Label: taken when B142. -; Local: Part of Label. +; Routine: IrqHandler_Loop270 +; Global: Branch target inside IrqHandler: taken when Loop270. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop241: +IrqHandler_Loop270: pla ; CPU:$B142 PRG:3142 68 tax ; CPU:$B143 PRG:3143 AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop242 -; Global: Branch target inside Label: taken when B144. -; Local: Part of Label. +; Routine: IrqHandler_Loop271 +; Global: Branch target inside IrqHandler: taken when Loop271. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop242: +IrqHandler_Loop271: lda $0777,x ; CPU:$B144 PRG:3144 BD 77 07 - beq IrqHandler_Loop243 ; CPU:$B147 PRG:3147 F0 03 + beq IrqHandler_Loop272 ; CPU:$B147 PRG:3147 F0 03 tax ; CPU:$B149 PRG:3149 AA - bne IrqHandler_OnNonzero29 ; CPU:$B14A PRG:314A D0 8C + bne IrqHandler_OnNonzero31 ; CPU:$B14A PRG:314A D0 8C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop243 -; Global: Branch target inside Label: taken when B14C. -; Local: Part of Label. +; Routine: IrqHandler_Loop272 +; Global: Branch target inside IrqHandler: taken when Loop272. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop243: +IrqHandler_Loop272: rts ; CPU:$B14C PRG:314C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B14D -; Global: Branch target inside Label: taken when B14D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B14D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10135,38 +11150,38 @@ Sub_B14D: sta Zp49 ; CPU:$B151 PRG:3151 85 49 ldx $BDB4 ; CPU:$B153 PRG:3153 AE B4 BD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero31 -; Global: Branch target inside Label: taken when B156. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero33 +; Global: Branch target inside IrqHandler: taken when OnNonzero33. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero31: - lda ZpA5,x ; CPU:$B156 PRG:3156 B5 A5 - bne IrqHandler_Loop246 ; CPU:$B158 PRG:3158 D0 3F +IrqHandler_OnNonzero33: + lda CellPatternIndex,x ; CPU:$B156 PRG:3156 B5 A5 + bne IrqHandler_Loop275 ; CPU:$B158 PRG:3158 D0 3F ldy $BCCE,x ; CPU:$B15A PRG:315A BC CE BC txa ; CPU:$B15D PRG:315D 8A pha ; CPU:$B15E PRG:315E 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero32 -; Global: Branch target inside Label: taken when B15F. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero34 +; Global: Branch target inside IrqHandler: taken when OnNonzero34. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero32: +IrqHandler_OnNonzero34: clc ; CPU:$B15F PRG:315F 18 adc $BCCE,y ; CPU:$B160 PRG:3160 79 CE BC tax ; CPU:$B163 PRG:3163 AA - lda Zp52,x ; CPU:$B164 PRG:3164 B5 52 + lda CellCharset,x ; CPU:$B164 PRG:3164 B5 52 cmp #$02 ; CPU:$B166 PRG:3166 C9 02 - bne IrqHandler_Loop247 ; CPU:$B168 PRG:3168 D0 37 + bne IrqHandler_Loop276 ; CPU:$B168 PRG:3168 D0 37 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero14 -; Global: Branch target inside Label: taken when B16A. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10176,109 +11191,109 @@ IrqHandler_OnZero14: clc ; CPU:$B16B PRG:316B 18 adc $BCCE,y ; CPU:$B16C PRG:316C 79 CE BC tax ; CPU:$B16F PRG:316F AA - lda ZpA5,x ; CPU:$B170 PRG:3170 B5 A5 - beq IrqHandler_Loop247 ; CPU:$B172 PRG:3172 F0 2D + lda CellPatternIndex,x ; CPU:$B170 PRG:3170 B5 A5 + beq IrqHandler_Loop276 ; CPU:$B172 PRG:3172 F0 2D cmp #$02 ; CPU:$B174 PRG:3174 C9 02 beq IrqHandler_OnZero14 ; CPU:$B176 PRG:3176 F0 F2 inc Zp48 ; CPU:$B178 PRG:3178 E6 48 pla ; CPU:$B17A PRG:317A 68 pha ; CPU:$B17B PRG:317B 48 cmp #$0A ; CPU:$B17C PRG:317C C9 0A - beq IrqHandler_Loop244 ; CPU:$B17E PRG:317E F0 0C + beq IrqHandler_Loop273 ; CPU:$B17E PRG:317E F0 0C cmp #$11 ; CPU:$B180 PRG:3180 C9 11 - beq IrqHandler_Loop244 ; CPU:$B182 PRG:3182 F0 08 + beq IrqHandler_Loop273 ; CPU:$B182 PRG:3182 F0 08 cmp #$49 ; CPU:$B184 PRG:3184 C9 49 - beq IrqHandler_Loop244 ; CPU:$B186 PRG:3186 F0 04 + beq IrqHandler_Loop273 ; CPU:$B186 PRG:3186 F0 04 cmp #$50 ; CPU:$B188 PRG:3188 C9 50 - bne IrqHandler_Loop245 ; CPU:$B18A PRG:318A D0 02 + bne IrqHandler_Loop274 ; CPU:$B18A PRG:318A D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop244 -; Global: Branch target inside Label: taken when B18C. -; Local: Part of Label. +; Routine: IrqHandler_Loop273 +; Global: Branch target inside IrqHandler: taken when Loop273. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop244: +IrqHandler_Loop273: inc Zp49 ; CPU:$B18C PRG:318C E6 49 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop245 -; Global: Branch target inside Label: taken when B18E. -; Local: Part of Label. +; Routine: IrqHandler_Loop274 +; Global: Branch target inside IrqHandler: taken when Loop274. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop245: +IrqHandler_Loop274: clc ; CPU:$B18E PRG:318E 18 adc $BCCE,y ; CPU:$B18F PRG:318F 79 CE BC tax ; CPU:$B192 PRG:3192 AA lda #$FF ; CPU:$B193 PRG:3193 A9 FF - sta Zp52,x ; CPU:$B195 PRG:3195 95 52 + sta CellCharset,x ; CPU:$B195 PRG:3195 95 52 pla ; CPU:$B197 PRG:3197 68 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero33 -; Global: Branch target inside Label: taken when B198. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero35 +; Global: Branch target inside IrqHandler: taken when OnNonzero35. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero33: +IrqHandler_OnNonzero35: tax ; CPU:$B198 PRG:3198 AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop246 -; Global: Branch target inside Label: taken when B199. -; Local: Part of Label. +; Routine: IrqHandler_Loop275 +; Global: Branch target inside IrqHandler: taken when Loop275. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop246: +IrqHandler_Loop275: lda $BDA2,x ; CPU:$B199 PRG:3199 BD A2 BD - beq IrqHandler_Loop249 ; CPU:$B19C PRG:319C F0 10 + beq IrqHandler_Loop278 ; CPU:$B19C PRG:319C F0 10 tax ; CPU:$B19E PRG:319E AA - bne IrqHandler_OnNonzero31 ; CPU:$B19F PRG:319F D0 B5 + bne IrqHandler_OnNonzero33 ; CPU:$B19F PRG:319F D0 B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop247 -; Global: Branch target inside Label: taken when B1A1. -; Local: Part of Label. +; Routine: IrqHandler_Loop276 +; Global: Branch target inside IrqHandler: taken when Loop276. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop247: +IrqHandler_Loop276: iny ; CPU:$B1A1 PRG:31A1 C8 lda $BCCE,y ; CPU:$B1A2 PRG:31A2 B9 CE BC - bne IrqHandler_Loop248 ; CPU:$B1A5 PRG:31A5 D0 03 + bne IrqHandler_Loop277 ; CPU:$B1A5 PRG:31A5 D0 03 pla ; CPU:$B1A7 PRG:31A7 68 - bne IrqHandler_OnNonzero33 ; CPU:$B1A8 PRG:31A8 D0 EE + bne IrqHandler_OnNonzero35 ; CPU:$B1A8 PRG:31A8 D0 EE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop248 -; Global: Branch target inside Label: taken when B1AA. -; Local: Part of Label. +; Routine: IrqHandler_Loop277 +; Global: Branch target inside IrqHandler: taken when Loop277. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop248: +IrqHandler_Loop277: pla ; CPU:$B1AA PRG:31AA 68 pha ; CPU:$B1AB PRG:31AB 48 - bne IrqHandler_OnNonzero32 ; CPU:$B1AC PRG:31AC D0 B1 + bne IrqHandler_OnNonzero34 ; CPU:$B1AC PRG:31AC D0 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop249 -; Global: Branch target inside Label: taken when B1AE. -; Local: Part of Label. +; Routine: IrqHandler_Loop278 +; Global: Branch target inside IrqHandler: taken when Loop278. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop249: +IrqHandler_Loop278: rts ; CPU:$B1AE PRG:31AE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B1AF -; Global: Branch target inside Label: taken when B1AF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B1AF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10289,38 +11304,38 @@ Sub_B1AF: sta Zp49 ; CPU:$B1B3 PRG:31B3 85 49 ldx $BDB4 ; CPU:$B1B5 PRG:31B5 AE B4 BD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero34 -; Global: Branch target inside Label: taken when B1B8. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero36 +; Global: Branch target inside IrqHandler: taken when OnNonzero36. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero34: - lda ZpA5,x ; CPU:$B1B8 PRG:31B8 B5 A5 - bne IrqHandler_Loop252 ; CPU:$B1BA PRG:31BA D0 3F +IrqHandler_OnNonzero36: + lda CellPatternIndex,x ; CPU:$B1B8 PRG:31B8 B5 A5 + bne IrqHandler_Loop281 ; CPU:$B1BA PRG:31BA D0 3F ldy $BCCE,x ; CPU:$B1BC PRG:31BC BC CE BC txa ; CPU:$B1BF PRG:31BF 8A pha ; CPU:$B1C0 PRG:31C0 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero35 -; Global: Branch target inside Label: taken when B1C1. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero37 +; Global: Branch target inside IrqHandler: taken when OnNonzero37. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero35: +IrqHandler_OnNonzero37: clc ; CPU:$B1C1 PRG:31C1 18 adc $BCCE,y ; CPU:$B1C2 PRG:31C2 79 CE BC tax ; CPU:$B1C5 PRG:31C5 AA - lda Zp52,x ; CPU:$B1C6 PRG:31C6 B5 52 + lda CellCharset,x ; CPU:$B1C6 PRG:31C6 B5 52 cmp #$01 ; CPU:$B1C8 PRG:31C8 C9 01 - bne IrqHandler_Loop253 ; CPU:$B1CA PRG:31CA D0 37 + bne IrqHandler_Loop282 ; CPU:$B1CA PRG:31CA D0 37 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero15 -; Global: Branch target inside Label: taken when B1CC. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero15. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10330,126 +11345,126 @@ IrqHandler_OnZero15: clc ; CPU:$B1CD PRG:31CD 18 adc $BCCE,y ; CPU:$B1CE PRG:31CE 79 CE BC tax ; CPU:$B1D1 PRG:31D1 AA - lda ZpA5,x ; CPU:$B1D2 PRG:31D2 B5 A5 - beq IrqHandler_Loop253 ; CPU:$B1D4 PRG:31D4 F0 2D + lda CellPatternIndex,x ; CPU:$B1D2 PRG:31D2 B5 A5 + beq IrqHandler_Loop282 ; CPU:$B1D4 PRG:31D4 F0 2D cmp #$01 ; CPU:$B1D6 PRG:31D6 C9 01 beq IrqHandler_OnZero15 ; CPU:$B1D8 PRG:31D8 F0 F2 inc Zp48 ; CPU:$B1DA PRG:31DA E6 48 pla ; CPU:$B1DC PRG:31DC 68 pha ; CPU:$B1DD PRG:31DD 48 cmp #$0A ; CPU:$B1DE PRG:31DE C9 0A - beq IrqHandler_Loop250 ; CPU:$B1E0 PRG:31E0 F0 0C + beq IrqHandler_Loop279 ; CPU:$B1E0 PRG:31E0 F0 0C cmp #$11 ; CPU:$B1E2 PRG:31E2 C9 11 - beq IrqHandler_Loop250 ; CPU:$B1E4 PRG:31E4 F0 08 + beq IrqHandler_Loop279 ; CPU:$B1E4 PRG:31E4 F0 08 cmp #$49 ; CPU:$B1E6 PRG:31E6 C9 49 - beq IrqHandler_Loop250 ; CPU:$B1E8 PRG:31E8 F0 04 + beq IrqHandler_Loop279 ; CPU:$B1E8 PRG:31E8 F0 04 cmp #$50 ; CPU:$B1EA PRG:31EA C9 50 - bne IrqHandler_Loop251 ; CPU:$B1EC PRG:31EC D0 02 + bne IrqHandler_Loop280 ; CPU:$B1EC PRG:31EC D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop250 -; Global: Branch target inside Label: taken when B1EE. -; Local: Part of Label. +; Routine: IrqHandler_Loop279 +; Global: Branch target inside IrqHandler: taken when Loop279. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop250: +IrqHandler_Loop279: inc Zp49 ; CPU:$B1EE PRG:31EE E6 49 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop251 -; Global: Branch target inside Label: taken when B1F0. -; Local: Part of Label. +; Routine: IrqHandler_Loop280 +; Global: Branch target inside IrqHandler: taken when Loop280. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop251: +IrqHandler_Loop280: clc ; CPU:$B1F0 PRG:31F0 18 adc $BCCE,y ; CPU:$B1F1 PRG:31F1 79 CE BC tax ; CPU:$B1F4 PRG:31F4 AA lda #$7F ; CPU:$B1F5 PRG:31F5 A9 7F - sta Zp52,x ; CPU:$B1F7 PRG:31F7 95 52 + sta CellCharset,x ; CPU:$B1F7 PRG:31F7 95 52 pla ; CPU:$B1F9 PRG:31F9 68 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero36 -; Global: Branch target inside Label: taken when B1FA. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero38 +; Global: Branch target inside IrqHandler: taken when OnNonzero38. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero36: +IrqHandler_OnNonzero38: tax ; CPU:$B1FA PRG:31FA AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop252 -; Global: Branch target inside Label: taken when B1FB. -; Local: Part of Label. +; Routine: IrqHandler_Loop281 +; Global: Branch target inside IrqHandler: taken when Loop281. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop252: +IrqHandler_Loop281: lda $BDA2,x ; CPU:$B1FB PRG:31FB BD A2 BD - beq IrqHandler_Loop255 ; CPU:$B1FE PRG:31FE F0 10 + beq IrqHandler_Loop284 ; CPU:$B1FE PRG:31FE F0 10 tax ; CPU:$B200 PRG:3200 AA - bne IrqHandler_OnNonzero34 ; CPU:$B201 PRG:3201 D0 B5 + bne IrqHandler_OnNonzero36 ; CPU:$B201 PRG:3201 D0 B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop253 -; Global: Branch target inside Label: taken when B203. -; Local: Part of Label. +; Routine: IrqHandler_Loop282 +; Global: Branch target inside IrqHandler: taken when Loop282. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop253: +IrqHandler_Loop282: iny ; CPU:$B203 PRG:3203 C8 lda $BCCE,y ; CPU:$B204 PRG:3204 B9 CE BC - bne IrqHandler_Loop254 ; CPU:$B207 PRG:3207 D0 03 + bne IrqHandler_Loop283 ; CPU:$B207 PRG:3207 D0 03 pla ; CPU:$B209 PRG:3209 68 - bne IrqHandler_OnNonzero36 ; CPU:$B20A PRG:320A D0 EE + bne IrqHandler_OnNonzero38 ; CPU:$B20A PRG:320A D0 EE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop254 -; Global: Branch target inside Label: taken when B20C. -; Local: Part of Label. +; Routine: IrqHandler_Loop283 +; Global: Branch target inside IrqHandler: taken when Loop283. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop254: +IrqHandler_Loop283: pla ; CPU:$B20C PRG:320C 68 pha ; CPU:$B20D PRG:320D 48 - bne IrqHandler_OnNonzero35 ; CPU:$B20E PRG:320E D0 B1 + bne IrqHandler_OnNonzero37 ; CPU:$B20E PRG:320E D0 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop255 -; Global: Branch target inside Label: taken when B210. -; Local: Part of Label. +; Routine: IrqHandler_Loop284 +; Global: Branch target inside IrqHandler: taken when Loop284. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop255: +IrqHandler_Loop284: rts ; CPU:$B210 PRG:3210 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B211 -; Global: Branch target inside Label: taken when B211. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B211. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B211: ldy #$00 ; CPU:$B211 PRG:3211 A0 00 - lda (Zp3E),y ; CPU:$B213 PRG:3213 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B213 PRG:3213 B1 3E tay ; CPU:$B215 PRG:3215 A8 - lda (Zp3E),y ; CPU:$B216 PRG:3216 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B216 PRG:3216 B1 3E pha ; CPU:$B218 PRG:3218 48 tay ; CPU:$B219 PRG:3219 A8 - lda a:ZpA5,y ; CPU:$B21A PRG:321A B9 A5 00 - beq IrqHandler_Loop256 ; CPU:$B21D PRG:321D F0 03 + lda a:CellPatternIndex,y ; CPU:$B21A PRG:321A B9 A5 00 + beq IrqHandler_Loop285 ; CPU:$B21D PRG:321D F0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_B21F -; Global: Branch target inside Label: taken when B21F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B21F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10457,46 +11472,46 @@ Sub_B211: Sub_B21F: jmp Sub_B21F ; CPU:$B21F PRG:321F 4C 1F B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop256 -; Global: Branch target inside Label: taken when B222. -; Local: Part of Label. +; Routine: IrqHandler_Loop285 +; Global: Branch target inside IrqHandler: taken when Loop285. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop256: +IrqHandler_Loop285: pla ; CPU:$B222 PRG:3222 68 ldy #$01 ; CPU:$B223 PRG:3223 A0 01 - sty Zp4B ; CPU:$B225 PRG:3225 84 4B + sty BoardColumn ; CPU:$B225 PRG:3225 84 4B dey ; CPU:$B227 PRG:3227 88 sta (Zp40),y ; CPU:$B228 PRG:3228 91 40 tay ; CPU:$B22A PRG:322A A8 lda $BCCE,y ; CPU:$B22B PRG:322B B9 CE BC tax ; CPU:$B22E PRG:322E AA - lda Zp45 ; CPU:$B22F PRG:322F A5 45 + lda BoardColumnCount ; CPU:$B22F PRG:322F A5 45 eor #$03 ; CPU:$B231 PRG:3231 49 03 - sta a:ZpA5,y ; CPU:$B233 PRG:3233 99 A5 00 + sta a:CellPatternIndex,y ; CPU:$B233 PRG:3233 99 A5 00 tya ; CPU:$B236 PRG:3236 98 pha ; CPU:$B237 PRG:3237 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero37 -; Global: Branch target inside Label: taken when B238. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero39 +; Global: Branch target inside IrqHandler: taken when OnNonzero39. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero37: +IrqHandler_OnNonzero39: clc ; CPU:$B238 PRG:3238 18 adc $BCCE,x ; CPU:$B239 PRG:3239 7D CE BC tay ; CPU:$B23C PRG:323C A8 - lda a:ZpA5,y ; CPU:$B23D PRG:323D B9 A5 00 - cmp Zp45 ; CPU:$B240 PRG:3240 C5 45 - bne IrqHandler_Loop257 ; CPU:$B242 PRG:3242 D0 3F + lda a:CellPatternIndex,y ; CPU:$B23D PRG:323D B9 A5 00 + cmp BoardColumnCount ; CPU:$B240 PRG:3240 C5 45 + bne IrqHandler_Loop286 ; CPU:$B242 PRG:3242 D0 3F ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero16 -; Global: Branch target inside Label: taken when B244. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero16. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10506,9 +11521,9 @@ IrqHandler_OnZero16: clc ; CPU:$B245 PRG:3245 18 adc $BCCE,x ; CPU:$B246 PRG:3246 7D CE BC tay ; CPU:$B249 PRG:3249 A8 - lda a:ZpA5,y ; CPU:$B24A PRG:324A B9 A5 00 - beq IrqHandler_Loop257 ; CPU:$B24D PRG:324D F0 34 - cmp Zp45 ; CPU:$B24F PRG:324F C5 45 + lda a:CellPatternIndex,y ; CPU:$B24A PRG:324A B9 A5 00 + beq IrqHandler_Loop286 ; CPU:$B24D PRG:324D F0 34 + cmp BoardColumnCount ; CPU:$B24F PRG:324F C5 45 beq IrqHandler_OnZero16 ; CPU:$B251 PRG:3251 F0 F1 pla ; CPU:$B253 PRG:3253 68 pha ; CPU:$B254 PRG:3254 48 @@ -10516,62 +11531,62 @@ IrqHandler_OnZero16: tya ; CPU:$B257 PRG:3257 98 sec ; CPU:$B258 PRG:3258 38 sbc $BCCE,x ; CPU:$B259 PRG:3259 FD CE BC - inc Zp4B ; CPU:$B25C PRG:325C E6 4B - ldy Zp4B ; CPU:$B25E PRG:325E A4 4B + inc BoardColumn ; CPU:$B25C PRG:325C E6 4B + ldy BoardColumn ; CPU:$B25E PRG:325E A4 4B sta (Zp40),y ; CPU:$B260 PRG:3260 91 40 tay ; CPU:$B262 PRG:3262 A8 - lda Zp45 ; CPU:$B263 PRG:3263 A5 45 + lda BoardColumnCount ; CPU:$B263 PRG:3263 A5 45 eor #$03 ; CPU:$B265 PRG:3265 49 03 - sta a:ZpA5,y ; CPU:$B267 PRG:3267 99 A5 00 + sta a:CellPatternIndex,y ; CPU:$B267 PRG:3267 99 A5 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero38 -; Global: Branch target inside Label: taken when B26A. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero40 +; Global: Branch target inside IrqHandler: taken when OnNonzero40. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero38: +IrqHandler_OnNonzero40: tya ; CPU:$B26A PRG:326A 98 sec ; CPU:$B26B PRG:326B 38 sbc $BCCE,x ; CPU:$B26C PRG:326C FD CE BC cmp Zp4A ; CPU:$B26F PRG:326F C5 4A - beq IrqHandler_Loop257 ; CPU:$B271 PRG:3271 F0 10 - inc Zp4B ; CPU:$B273 PRG:3273 E6 4B - ldy Zp4B ; CPU:$B275 PRG:3275 A4 4B + beq IrqHandler_Loop286 ; CPU:$B271 PRG:3271 F0 10 + inc BoardColumn ; CPU:$B273 PRG:3273 E6 4B + ldy BoardColumn ; CPU:$B275 PRG:3275 A4 4B sta (Zp40),y ; CPU:$B277 PRG:3277 91 40 tay ; CPU:$B279 PRG:3279 A8 - lda Zp45 ; CPU:$B27A PRG:327A A5 45 + lda BoardColumnCount ; CPU:$B27A PRG:327A A5 45 eor #$03 ; CPU:$B27C PRG:327C 49 03 - sta a:ZpA5,y ; CPU:$B27E PRG:327E 99 A5 00 - bne IrqHandler_OnNonzero38 ; CPU:$B281 PRG:3281 D0 E7 + sta a:CellPatternIndex,y ; CPU:$B27E PRG:327E 99 A5 00 + bne IrqHandler_OnNonzero40 ; CPU:$B281 PRG:3281 D0 E7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop257 -; Global: Branch target inside Label: taken when B283. -; Local: Part of Label. +; Routine: IrqHandler_Loop286 +; Global: Branch target inside IrqHandler: taken when Loop286. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop257: +IrqHandler_Loop286: inx ; CPU:$B283 PRG:3283 E8 lda $BCCE,x ; CPU:$B284 PRG:3284 BD CE BC - beq IrqHandler_Loop258 ; CPU:$B287 PRG:3287 F0 04 + beq IrqHandler_Loop287 ; CPU:$B287 PRG:3287 F0 04 pla ; CPU:$B289 PRG:3289 68 pha ; CPU:$B28A PRG:328A 48 - bne IrqHandler_OnNonzero37 ; CPU:$B28B PRG:328B D0 AB + bne IrqHandler_OnNonzero39 ; CPU:$B28B PRG:328B D0 AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop258 -; Global: Branch target inside Label: taken when B28D. -; Local: Part of Label. +; Routine: IrqHandler_Loop287 +; Global: Branch target inside IrqHandler: taken when Loop287. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop258: +IrqHandler_Loop287: pla ; CPU:$B28D PRG:328D 68 ldy #$01 ; CPU:$B28E PRG:328E A0 01 - lda Zp4B ; CPU:$B290 PRG:3290 A5 4B + lda BoardColumn ; CPU:$B290 PRG:3290 A5 4B sta (Zp40),y ; CPU:$B292 PRG:3292 91 40 lda Zp40 ; CPU:$B294 PRG:3294 A5 40 clc ; CPU:$B296 PRG:3296 18 @@ -10580,81 +11595,81 @@ IrqHandler_Loop258: lda Zp41 ; CPU:$B29B PRG:329B A5 41 adc #$00 ; CPU:$B29D PRG:329D 69 00 sta Zp41 ; CPU:$B29F PRG:329F 85 41 - dec Zp4B ; CPU:$B2A1 PRG:32A1 C6 4B - lda Zp45 ; CPU:$B2A3 PRG:32A3 A5 45 + dec BoardColumn ; CPU:$B2A1 PRG:32A1 C6 4B + lda BoardColumnCount ; CPU:$B2A3 PRG:32A3 A5 45 cmp #$02 ; CPU:$B2A5 PRG:32A5 C9 02 - beq IrqHandler_Loop259 ; CPU:$B2A7 PRG:32A7 F0 0F + beq IrqHandler_Loop288 ; CPU:$B2A7 PRG:32A7 F0 0F lda Zp46 ; CPU:$B2A9 PRG:32A9 A5 46 sec ; CPU:$B2AB PRG:32AB 38 - adc Zp4B ; CPU:$B2AC PRG:32AC 65 4B + adc BoardColumn ; CPU:$B2AC PRG:32AC 65 4B sta Zp46 ; CPU:$B2AE PRG:32AE 85 46 lda Zp47 ; CPU:$B2B0 PRG:32B0 A5 47 sec ; CPU:$B2B2 PRG:32B2 38 - sbc Zp4B ; CPU:$B2B3 PRG:32B3 E5 4B + sbc BoardColumn ; CPU:$B2B3 PRG:32B3 E5 4B sta Zp47 ; CPU:$B2B5 PRG:32B5 85 47 rts ; CPU:$B2B7 PRG:32B7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop259 -; Global: Branch target inside Label: taken when B2B8. -; Local: Part of Label. +; Routine: IrqHandler_Loop288 +; Global: Branch target inside IrqHandler: taken when Loop288. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop259: +IrqHandler_Loop288: lda Zp47 ; CPU:$B2B8 PRG:32B8 A5 47 sec ; CPU:$B2BA PRG:32BA 38 - adc Zp4B ; CPU:$B2BB PRG:32BB 65 4B + adc BoardColumn ; CPU:$B2BB PRG:32BB 65 4B sta Zp47 ; CPU:$B2BD PRG:32BD 85 47 lda Zp46 ; CPU:$B2BF PRG:32BF A5 46 sec ; CPU:$B2C1 PRG:32C1 38 - sbc Zp4B ; CPU:$B2C2 PRG:32C2 E5 4B + sbc BoardColumn ; CPU:$B2C2 PRG:32C2 E5 4B sta Zp46 ; CPU:$B2C4 PRG:32C4 85 46 rts ; CPU:$B2C6 PRG:32C6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2C7 -; Global: Branch target inside Label: taken when B2C7. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B2C7. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B2C7: ldy #$00 ; CPU:$B2C7 PRG:32C7 A0 00 - lda (Zp3E),y ; CPU:$B2C9 PRG:32C9 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B2C9 PRG:32C9 B1 3E tay ; CPU:$B2CB PRG:32CB A8 - lda (Zp3E),y ; CPU:$B2CC PRG:32CC B1 3E + lda (BoardDataPtrLo),y ; CPU:$B2CC PRG:32CC B1 3E ldy #$01 ; CPU:$B2CE PRG:32CE A0 01 - sty Zp4B ; CPU:$B2D0 PRG:32D0 84 4B + sty BoardColumn ; CPU:$B2D0 PRG:32D0 84 4B dey ; CPU:$B2D2 PRG:32D2 88 sta (Zp40),y ; CPU:$B2D3 PRG:32D3 91 40 tay ; CPU:$B2D5 PRG:32D5 A8 lda $BCCE,y ; CPU:$B2D6 PRG:32D6 B9 CE BC tax ; CPU:$B2D9 PRG:32D9 AA - lda Zp45 ; CPU:$B2DA PRG:32DA A5 45 + lda BoardColumnCount ; CPU:$B2DA PRG:32DA A5 45 eor #$03 ; CPU:$B2DC PRG:32DC 49 03 - sta a:ZpA5,y ; CPU:$B2DE PRG:32DE 99 A5 00 + sta a:CellPatternIndex,y ; CPU:$B2DE PRG:32DE 99 A5 00 tya ; CPU:$B2E1 PRG:32E1 98 pha ; CPU:$B2E2 PRG:32E2 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero39 -; Global: Branch target inside Label: taken when B2E3. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero41 +; Global: Branch target inside IrqHandler: taken when OnNonzero41. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero39: +IrqHandler_OnNonzero41: clc ; CPU:$B2E3 PRG:32E3 18 adc $BCCE,x ; CPU:$B2E4 PRG:32E4 7D CE BC tay ; CPU:$B2E7 PRG:32E7 A8 - lda a:ZpA5,y ; CPU:$B2E8 PRG:32E8 B9 A5 00 - cmp Zp45 ; CPU:$B2EB PRG:32EB C5 45 - bne IrqHandler_Loop260 ; CPU:$B2ED PRG:32ED D0 3F + lda a:CellPatternIndex,y ; CPU:$B2E8 PRG:32E8 B9 A5 00 + cmp BoardColumnCount ; CPU:$B2EB PRG:32EB C5 45 + bne IrqHandler_Loop289 ; CPU:$B2ED PRG:32ED D0 3F ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero17 -; Global: Branch target inside Label: taken when B2EF. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero17. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10664,9 +11679,9 @@ IrqHandler_OnZero17: clc ; CPU:$B2F0 PRG:32F0 18 adc $BCCE,x ; CPU:$B2F1 PRG:32F1 7D CE BC tay ; CPU:$B2F4 PRG:32F4 A8 - lda a:ZpA5,y ; CPU:$B2F5 PRG:32F5 B9 A5 00 - beq IrqHandler_Loop260 ; CPU:$B2F8 PRG:32F8 F0 34 - cmp Zp45 ; CPU:$B2FA PRG:32FA C5 45 + lda a:CellPatternIndex,y ; CPU:$B2F5 PRG:32F5 B9 A5 00 + beq IrqHandler_Loop289 ; CPU:$B2F8 PRG:32F8 F0 34 + cmp BoardColumnCount ; CPU:$B2FA PRG:32FA C5 45 beq IrqHandler_OnZero17 ; CPU:$B2FC PRG:32FC F0 F1 pla ; CPU:$B2FE PRG:32FE 68 pha ; CPU:$B2FF PRG:32FF 48 @@ -10674,62 +11689,62 @@ IrqHandler_OnZero17: tya ; CPU:$B302 PRG:3302 98 sec ; CPU:$B303 PRG:3303 38 sbc $BCCE,x ; CPU:$B304 PRG:3304 FD CE BC - inc Zp4B ; CPU:$B307 PRG:3307 E6 4B - ldy Zp4B ; CPU:$B309 PRG:3309 A4 4B + inc BoardColumn ; CPU:$B307 PRG:3307 E6 4B + ldy BoardColumn ; CPU:$B309 PRG:3309 A4 4B sta (Zp40),y ; CPU:$B30B PRG:330B 91 40 tay ; CPU:$B30D PRG:330D A8 - lda Zp45 ; CPU:$B30E PRG:330E A5 45 + lda BoardColumnCount ; CPU:$B30E PRG:330E A5 45 eor #$03 ; CPU:$B310 PRG:3310 49 03 - sta a:ZpA5,y ; CPU:$B312 PRG:3312 99 A5 00 + sta a:CellPatternIndex,y ; CPU:$B312 PRG:3312 99 A5 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero40 -; Global: Branch target inside Label: taken when B315. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero42 +; Global: Branch target inside IrqHandler: taken when OnNonzero42. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero40: +IrqHandler_OnNonzero42: tya ; CPU:$B315 PRG:3315 98 sec ; CPU:$B316 PRG:3316 38 sbc $BCCE,x ; CPU:$B317 PRG:3317 FD CE BC cmp Zp4A ; CPU:$B31A PRG:331A C5 4A - beq IrqHandler_Loop260 ; CPU:$B31C PRG:331C F0 10 - inc Zp4B ; CPU:$B31E PRG:331E E6 4B - ldy Zp4B ; CPU:$B320 PRG:3320 A4 4B + beq IrqHandler_Loop289 ; CPU:$B31C PRG:331C F0 10 + inc BoardColumn ; CPU:$B31E PRG:331E E6 4B + ldy BoardColumn ; CPU:$B320 PRG:3320 A4 4B sta (Zp40),y ; CPU:$B322 PRG:3322 91 40 tay ; CPU:$B324 PRG:3324 A8 - lda Zp45 ; CPU:$B325 PRG:3325 A5 45 + lda BoardColumnCount ; CPU:$B325 PRG:3325 A5 45 eor #$03 ; CPU:$B327 PRG:3327 49 03 - sta a:ZpA5,y ; CPU:$B329 PRG:3329 99 A5 00 - bne IrqHandler_OnNonzero40 ; CPU:$B32C PRG:332C D0 E7 + sta a:CellPatternIndex,y ; CPU:$B329 PRG:3329 99 A5 00 + bne IrqHandler_OnNonzero42 ; CPU:$B32C PRG:332C D0 E7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop260 -; Global: Branch target inside Label: taken when B32E. -; Local: Part of Label. +; Routine: IrqHandler_Loop289 +; Global: Branch target inside IrqHandler: taken when Loop289. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop260: +IrqHandler_Loop289: inx ; CPU:$B32E PRG:332E E8 lda $BCCE,x ; CPU:$B32F PRG:332F BD CE BC - beq IrqHandler_Loop261 ; CPU:$B332 PRG:3332 F0 04 + beq IrqHandler_Loop290 ; CPU:$B332 PRG:3332 F0 04 pla ; CPU:$B334 PRG:3334 68 pha ; CPU:$B335 PRG:3335 48 - bne IrqHandler_OnNonzero39 ; CPU:$B336 PRG:3336 D0 AB + bne IrqHandler_OnNonzero41 ; CPU:$B336 PRG:3336 D0 AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop261 -; Global: Branch target inside Label: taken when B338. -; Local: Part of Label. +; Routine: IrqHandler_Loop290 +; Global: Branch target inside IrqHandler: taken when Loop290. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop261: +IrqHandler_Loop290: pla ; CPU:$B338 PRG:3338 68 ldy #$01 ; CPU:$B339 PRG:3339 A0 01 - lda Zp4B ; CPU:$B33B PRG:333B A5 4B + lda BoardColumn ; CPU:$B33B PRG:333B A5 4B sta (Zp40),y ; CPU:$B33D PRG:333D 91 40 lda Zp40 ; CPU:$B33F PRG:333F A5 40 clc ; CPU:$B341 PRG:3341 18 @@ -10740,59 +11755,59 @@ IrqHandler_Loop261: sta Zp41 ; CPU:$B34A PRG:334A 85 41 rts ; CPU:$B34C PRG:334C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero41 -; Global: Branch target inside Label: taken when B34D. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero43 +; Global: Branch target inside IrqHandler: taken when OnNonzero43. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero41: +IrqHandler_OnNonzero43: jsr Sub_B211 ; CPU:$B34D PRG:334D 20 11 B2 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero18 -; Global: Branch target inside Label: taken when B350. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero18. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero18: - lda Zp3E ; CPU:$B350 PRG:3350 A5 3E + lda BoardDataPtrLo ; CPU:$B350 PRG:3350 A5 3E clc ; CPU:$B352 PRG:3352 18 adc #$20 ; CPU:$B353 PRG:3353 69 20 - sta Zp3E ; CPU:$B355 PRG:3355 85 3E - bcc IrqHandler_Loop262 ; CPU:$B357 PRG:3357 90 02 + sta BoardDataPtrLo ; CPU:$B355 PRG:3355 85 3E + bcc IrqHandler_Loop291 ; CPU:$B357 PRG:3357 90 02 inc Zp3F ; CPU:$B359 PRG:3359 E6 3F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop262 -; Global: Branch target inside Label: taken when B35B. -; Local: Part of Label. +; Routine: IrqHandler_Loop291 +; Global: Branch target inside IrqHandler: taken when Loop291. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop262: - lda Zp45 ; CPU:$B35B PRG:335B A5 45 +IrqHandler_Loop291: + lda BoardColumnCount ; CPU:$B35B PRG:335B A5 45 eor #$03 ; CPU:$B35D PRG:335D 49 03 - sta Zp45 ; CPU:$B35F PRG:335F 85 45 + sta BoardColumnCount ; CPU:$B35F PRG:335F 85 45 inc Zp42 ; CPU:$B361 PRG:3361 E6 42 ldx Zp42 ; CPU:$B363 PRG:3363 A6 42 - cpx Zp43 ; CPU:$B365 PRG:3365 E4 43 - bcs IrqHandler_Loop263 ; CPU:$B367 PRG:3367 B0 09 + cpx CellOwner ; CPU:$B365 PRG:3365 E4 43 + bcs IrqHandler_Loop292 ; CPU:$B367 PRG:3367 B0 09 jsr Sub_AF98 ; CPU:$B369 PRG:3369 20 98 AF - lda Zp4B ; CPU:$B36C PRG:336C A5 4B - bne IrqHandler_OnNonzero41 ; CPU:$B36E PRG:336E D0 DD + lda BoardColumn ; CPU:$B36C PRG:336C A5 4B + bne IrqHandler_OnNonzero43 ; CPU:$B36E PRG:336E D0 DD beq IrqHandler_OnZero18 ; CPU:$B370 PRG:3370 F0 DE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop263 -; Global: Branch target inside Label: taken when B372. -; Local: Part of Label. +; Routine: IrqHandler_Loop292 +; Global: Branch target inside IrqHandler: taken when Loop292. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop263: +IrqHandler_Loop292: jsr Sub_B37D ; CPU:$B372 PRG:3372 20 7D B3 lda Zp53 ; CPU:$B375 PRG:3375 A5 53 ldx Zp42 ; CPU:$B377 PRG:3377 A6 42 @@ -10800,8 +11815,8 @@ IrqHandler_Loop263: rts ; CPU:$B37C PRG:337C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B37D -; Global: Branch target inside Label: taken when B37D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B37D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -10809,18 +11824,18 @@ IrqHandler_Loop263: Sub_B37D: ldx #$47 ; CPU:$B37D PRG:337D A2 47 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero42 -; Global: Branch target inside Label: taken when B37F. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero44 +; Global: Branch target inside IrqHandler: taken when OnNonzero44. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero42: +IrqHandler_OnNonzero44: lda ZpAE,x ; CPU:$B37F PRG:337F B5 AE sta Zp5B,x ; CPU:$B381 PRG:3381 95 5B dex ; CPU:$B383 PRG:3383 CA - bne IrqHandler_OnNonzero42 ; CPU:$B384 PRG:3384 D0 F9 + bne IrqHandler_OnNonzero44 ; CPU:$B384 PRG:3384 D0 F9 jsr Sub_B14D ; CPU:$B386 PRG:3386 20 4D B1 lda Zp49 ; CPU:$B389 PRG:3389 A5 49 asl a ; CPU:$B38B PRG:338B 0A @@ -10828,7 +11843,7 @@ IrqHandler_OnNonzero42: adc Zp48 ; CPU:$B38D PRG:338D 65 48 asl a ; CPU:$B38F PRG:338F 0A asl a ; CPU:$B390 PRG:3390 0A - bcs IrqHandler_Loop268 ; CPU:$B391 PRG:3391 B0 40 + bcs IrqHandler_Loop297 ; CPU:$B391 PRG:3391 B0 40 sta Zp53 ; CPU:$B393 PRG:3393 85 53 jsr Sub_B1AF ; CPU:$B395 PRG:3395 20 AF B1 lda Zp49 ; CPU:$B398 PRG:3398 A5 49 @@ -10837,133 +11852,133 @@ IrqHandler_OnNonzero42: adc Zp48 ; CPU:$B39C PRG:339C 65 48 asl a ; CPU:$B39E PRG:339E 0A asl a ; CPU:$B39F PRG:339F 0A - bcs IrqHandler_Loop267 ; CPU:$B3A0 PRG:33A0 B0 2C + bcs IrqHandler_Loop296 ; CPU:$B3A0 PRG:33A0 B0 2C adc #$46 ; CPU:$B3A2 PRG:33A2 69 46 - bcs IrqHandler_Loop267 ; CPU:$B3A4 PRG:33A4 B0 28 + bcs IrqHandler_Loop296 ; CPU:$B3A4 PRG:33A4 B0 28 sec ; CPU:$B3A6 PRG:33A6 38 sbc Zp53 ; CPU:$B3A7 PRG:33A7 E5 53 - bcc IrqHandler_Loop268 ; CPU:$B3A9 PRG:33A9 90 28 + bcc IrqHandler_Loop297 ; CPU:$B3A9 PRG:33A9 90 28 cmp #$46 ; CPU:$B3AB PRG:33AB C9 46 - bne IrqHandler_Loop264 ; CPU:$B3AD PRG:33AD D0 06 + bne IrqHandler_Loop293 ; CPU:$B3AD PRG:33AD D0 06 lda Zp53 ; CPU:$B3AF PRG:33AF A5 53 - beq IrqHandler_Loop266 ; CPU:$B3B1 PRG:33B1 F0 15 + beq IrqHandler_Loop295 ; CPU:$B3B1 PRG:33B1 F0 15 lda #$00 ; CPU:$B3B3 PRG:33B3 A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop264 -; Global: Branch target inside Label: taken when B3B5. -; Local: Part of Label. +; Routine: IrqHandler_Loop293 +; Global: Branch target inside IrqHandler: taken when Loop293. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop264: +IrqHandler_Loop293: sta Zp53 ; CPU:$B3B5 PRG:33B5 85 53 lda Zp46 ; CPU:$B3B7 PRG:33B7 A5 46 cmp #$04 ; CPU:$B3B9 PRG:33B9 C9 04 - bcs IrqHandler_Loop265 ; CPU:$B3BB PRG:33BB B0 08 + bcs IrqHandler_Loop294 ; CPU:$B3BB PRG:33BB B0 08 lda Zp53 ; CPU:$B3BD PRG:33BD A5 53 sbc #$20 ; CPU:$B3BF PRG:33BF E9 20 - bcc IrqHandler_Loop268 ; CPU:$B3C1 PRG:33C1 90 10 + bcc IrqHandler_Loop297 ; CPU:$B3C1 PRG:33C1 90 10 sta Zp53 ; CPU:$B3C3 PRG:33C3 85 53 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop265 -; Global: Branch target inside Label: taken when B3C5. -; Local: Part of Label. +; Routine: IrqHandler_Loop294 +; Global: Branch target inside IrqHandler: taken when Loop294. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop265: +IrqHandler_Loop294: jmp Sub_B3D8 ; CPU:$B3C5 PRG:33C5 4C D8 B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop266 -; Global: Branch target inside Label: taken when B3C8. -; Local: Part of Label. +; Routine: IrqHandler_Loop295 +; Global: Branch target inside IrqHandler: taken when Loop295. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop266: +IrqHandler_Loop295: lda Zp47 ; CPU:$B3C8 PRG:33C8 A5 47 cmp Zp46 ; CPU:$B3CA PRG:33CA C5 46 - bcs IrqHandler_Loop268 ; CPU:$B3CC PRG:33CC B0 05 + bcs IrqHandler_Loop297 ; CPU:$B3CC PRG:33CC B0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop267 -; Global: Branch target inside Label: taken when B3CE. -; Local: Part of Label. +; Routine: IrqHandler_Loop296 +; Global: Branch target inside IrqHandler: taken when Loop296. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop267: +IrqHandler_Loop296: lda #$FE ; CPU:$B3CE PRG:33CE A9 FE sta Zp53 ; CPU:$B3D0 PRG:33D0 85 53 rts ; CPU:$B3D2 PRG:33D2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop268 -; Global: Branch target inside Label: taken when B3D3. -; Local: Part of Label. +; Routine: IrqHandler_Loop297 +; Global: Branch target inside IrqHandler: taken when Loop297. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop268: +IrqHandler_Loop297: lda #$01 ; CPU:$B3D3 PRG:33D3 A9 01 sta Zp53 ; CPU:$B3D5 PRG:33D5 85 53 rts ; CPU:$B3D7 PRG:33D7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B3D8 -; Global: Branch target inside Label: taken when B3D8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B3D8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B3D8: lda ZpAF ; CPU:$B3D8 PRG:33D8 A5 AF - beq IrqHandler_Loop273 ; CPU:$B3DA PRG:33DA F0 70 + beq IrqHandler_Loop302 ; CPU:$B3DA PRG:33DA F0 70 jsr Sub_B4E2 ; CPU:$B3DC PRG:33DC 20 E2 B4 lda ZpB6 ; CPU:$B3DF PRG:33DF A5 B6 - beq IrqHandler_Loop269 ; CPU:$B3E1 PRG:33E1 F0 5D + beq IrqHandler_Loop298 ; CPU:$B3E1 PRG:33E1 F0 5D ldx #$06 ; CPU:$B3E3 PRG:33E3 A2 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero43 -; Global: Branch target inside Label: taken when B3E5. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero43: - lda ZpAF,x ; CPU:$B3E5 PRG:33E5 B5 AF - sta $01A8,x ; CPU:$B3E7 PRG:33E7 9D A8 01 - dex ; CPU:$B3EA PRG:33EA CA - bne IrqHandler_OnNonzero43 ; CPU:$B3EB PRG:33EB D0 F8 - jsr Sub_B4CD ; CPU:$B3ED PRG:33ED 20 CD B4 - lda ZpB6 ; CPU:$B3F0 PRG:33F0 A5 B6 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero44 -; Global: Branch target inside Label: taken when B3F2. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero44: - jsr Sub_B4E2 ; CPU:$B3F2 PRG:33F2 20 E2 B4 - lda ZpF5 ; CPU:$B3F5 PRG:33F5 A5 F5 - beq IrqHandler_Loop270 ; CPU:$B3F7 PRG:33F7 F0 4A - ldx #$36 ; CPU:$B3F9 PRG:33F9 A2 36 - ldy #$06 ; CPU:$B3FB PRG:33FB A0 06 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero45 -; Global: Branch target inside Label: taken when B3FD. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero45. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero45: + lda ZpAF,x ; CPU:$B3E5 PRG:33E5 B5 AF + sta $01A8,x ; CPU:$B3E7 PRG:33E7 9D A8 01 + dex ; CPU:$B3EA PRG:33EA CA + bne IrqHandler_OnNonzero45 ; CPU:$B3EB PRG:33EB D0 F8 + jsr Sub_B4CD ; CPU:$B3ED PRG:33ED 20 CD B4 + lda ZpB6 ; CPU:$B3F0 PRG:33F0 A5 B6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero46 +; Global: Branch target inside IrqHandler: taken when OnNonzero46. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero46: + jsr Sub_B4E2 ; CPU:$B3F2 PRG:33F2 20 E2 B4 + lda ZpF5 ; CPU:$B3F5 PRG:33F5 A5 F5 + beq IrqHandler_Loop299 ; CPU:$B3F7 PRG:33F7 F0 4A + ldx #$36 ; CPU:$B3F9 PRG:33F9 A2 36 + ldy #$06 ; CPU:$B3FB PRG:33FB A0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero47 +; Global: Branch target inside IrqHandler: taken when OnNonzero47. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero47: lda ZpB6,x ; CPU:$B3FD PRG:33FD B5 B6 sta $01A8,y ; CPU:$B3FF PRG:33FF 99 A8 01 txa ; CPU:$B402 PRG:3402 8A @@ -10971,60 +11986,60 @@ IrqHandler_OnNonzero45: sbc #$09 ; CPU:$B404 PRG:3404 E9 09 tax ; CPU:$B406 PRG:3406 AA dey ; CPU:$B407 PRG:3407 88 - bne IrqHandler_OnNonzero45 ; CPU:$B408 PRG:3408 D0 F3 + bne IrqHandler_OnNonzero47 ; CPU:$B408 PRG:3408 D0 F3 jsr Sub_B4CD ; CPU:$B40A PRG:340A 20 CD B4 lda ZpF5 ; CPU:$B40D PRG:340D A5 F5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero46 -; Global: Branch target inside Label: taken when B40F. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero46: - jsr Sub_B4E2 ; CPU:$B40F PRG:340F 20 E2 B4 - lda ZpEE ; CPU:$B412 PRG:3412 A5 EE - beq IrqHandler_Loop271 ; CPU:$B414 PRG:3414 F0 30 - ldx #$06 ; CPU:$B416 PRG:3416 A2 06 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero47 -; Global: Branch target inside Label: taken when B418. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero47: - lda ZpEE,x ; CPU:$B418 PRG:3418 B5 EE - sta $01A8,x ; CPU:$B41A PRG:341A 9D A8 01 - dex ; CPU:$B41D PRG:341D CA - bne IrqHandler_OnNonzero47 ; CPU:$B41E PRG:341E D0 F8 - jsr Sub_B4CD ; CPU:$B420 PRG:3420 20 CD B4 - lda ZpEE ; CPU:$B423 PRG:3423 A5 EE -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero48 -; Global: Branch target inside Label: taken when B425. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero48. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero48: - jsr Sub_B4E2 ; CPU:$B425 PRG:3425 20 E2 B4 - lda ZpAF ; CPU:$B428 PRG:3428 A5 AF - beq IrqHandler_Loop272 ; CPU:$B42A PRG:342A F0 1D - ldx #$36 ; CPU:$B42C PRG:342C A2 36 - ldy #$06 ; CPU:$B42E PRG:342E A0 06 + jsr Sub_B4E2 ; CPU:$B40F PRG:340F 20 E2 B4 + lda ZpEE ; CPU:$B412 PRG:3412 A5 EE + beq IrqHandler_Loop300 ; CPU:$B414 PRG:3414 F0 30 + ldx #$06 ; CPU:$B416 PRG:3416 A2 06 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero49 -; Global: Branch target inside Label: taken when B430. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnNonzero49. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero49: + lda ZpEE,x ; CPU:$B418 PRG:3418 B5 EE + sta $01A8,x ; CPU:$B41A PRG:341A 9D A8 01 + dex ; CPU:$B41D PRG:341D CA + bne IrqHandler_OnNonzero49 ; CPU:$B41E PRG:341E D0 F8 + jsr Sub_B4CD ; CPU:$B420 PRG:3420 20 CD B4 + lda ZpEE ; CPU:$B423 PRG:3423 A5 EE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero50 +; Global: Branch target inside IrqHandler: taken when OnNonzero50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero50: + jsr Sub_B4E2 ; CPU:$B425 PRG:3425 20 E2 B4 + lda ZpAF ; CPU:$B428 PRG:3428 A5 AF + beq IrqHandler_Loop301 ; CPU:$B42A PRG:342A F0 1D + ldx #$36 ; CPU:$B42C PRG:342C A2 36 + ldy #$06 ; CPU:$B42E PRG:342E A0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero51 +; Global: Branch target inside IrqHandler: taken when OnNonzero51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero51: lda ZpAF,x ; CPU:$B430 PRG:3430 B5 AF sta $01A8,y ; CPU:$B432 PRG:3432 99 A8 01 txa ; CPU:$B435 PRG:3435 8A @@ -11032,106 +12047,106 @@ IrqHandler_OnNonzero49: sbc #$09 ; CPU:$B437 PRG:3437 E9 09 tax ; CPU:$B439 PRG:3439 AA dey ; CPU:$B43A PRG:343A 88 - bne IrqHandler_OnNonzero49 ; CPU:$B43B PRG:343B D0 F3 + bne IrqHandler_OnNonzero51 ; CPU:$B43B PRG:343B D0 F3 jmp Sub_B4CD ; CPU:$B43D PRG:343D 4C CD B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop269 -; Global: Branch target inside Label: taken when B440. -; Local: Part of Label. +; Routine: IrqHandler_Loop298 +; Global: Branch target inside IrqHandler: taken when Loop298. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop269: +IrqHandler_Loop298: jmp Sub_B467 ; CPU:$B440 PRG:3440 4C 67 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop270 -; Global: Branch target inside Label: taken when B443. -; Local: Part of Label. +; Routine: IrqHandler_Loop299 +; Global: Branch target inside IrqHandler: taken when Loop299. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop270: +IrqHandler_Loop299: jmp Sub_B489 ; CPU:$B443 PRG:3443 4C 89 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop271 -; Global: Branch target inside Label: taken when B446. -; Local: Part of Label. +; Routine: IrqHandler_Loop300 +; Global: Branch target inside IrqHandler: taken when Loop300. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop271: +IrqHandler_Loop300: jmp Sub_B4A4 ; CPU:$B446 PRG:3446 4C A4 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop272 -; Global: Branch target inside Label: taken when B449. -; Local: Part of Label. +; Routine: IrqHandler_Loop301 +; Global: Branch target inside IrqHandler: taken when Loop301. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop272: - jmp IrqHandler_Loop274 ; CPU:$B449 PRG:3449 4C C6 B4 +IrqHandler_Loop301: + jmp IrqHandler_Loop303 ; CPU:$B449 PRG:3449 4C C6 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop273 -; Global: Branch target inside Label: taken when B44C. -; Local: Part of Label. +; Routine: IrqHandler_Loop302 +; Global: Branch target inside IrqHandler: taken when Loop302. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop273: +IrqHandler_Loop302: lda ZpB6 ; CPU:$B44C PRG:344C A5 B6 - bne IrqHandler_OnNonzero44 ; CPU:$B44E PRG:344E D0 A2 + bne IrqHandler_OnNonzero46 ; CPU:$B44E PRG:344E D0 A2 ldx #$06 ; CPU:$B450 PRG:3450 A2 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero50 -; Global: Branch target inside Label: taken when B452. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero52 +; Global: Branch target inside IrqHandler: taken when OnNonzero52. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero50: +IrqHandler_OnNonzero52: lda Zp53 ; CPU:$B452 PRG:3452 A5 53 cmp #$F4 ; CPU:$B454 PRG:3454 C9 F4 - bcs IrqHandler_Loop276 ; CPU:$B456 PRG:3456 B0 72 + bcs IrqHandler_Loop305 ; CPU:$B456 PRG:3456 B0 72 cmp #$0D ; CPU:$B458 PRG:3458 C9 0D - bcc IrqHandler_Loop275 ; CPU:$B45A PRG:345A 90 6B + bcc IrqHandler_Loop304 ; CPU:$B45A PRG:345A 90 6B lda ZpAF,x ; CPU:$B45C PRG:345C B5 AF sta $01A8,x ; CPU:$B45E PRG:345E 9D A8 01 dex ; CPU:$B461 PRG:3461 CA - bne IrqHandler_OnNonzero50 ; CPU:$B462 PRG:3462 D0 EE + bne IrqHandler_OnNonzero52 ; CPU:$B462 PRG:3462 D0 EE jsr Sub_B500 ; CPU:$B464 PRG:3464 20 00 B5 ; ----------------------------------------------------------------------------- ; Routine: Sub_B467 -; Global: Branch target inside Label: taken when B467. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B467. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B467: lda ZpF5 ; CPU:$B467 PRG:3467 A5 F5 - bne IrqHandler_OnNonzero46 ; CPU:$B469 PRG:3469 D0 A4 + bne IrqHandler_OnNonzero48 ; CPU:$B469 PRG:3469 D0 A4 ldx #$36 ; CPU:$B46B PRG:346B A2 36 ldy #$06 ; CPU:$B46D PRG:346D A0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero51 -; Global: Branch target inside Label: taken when B46F. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero53 +; Global: Branch target inside IrqHandler: taken when OnNonzero53. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero51: +IrqHandler_OnNonzero53: lda Zp53 ; CPU:$B46F PRG:346F A5 53 cmp #$F4 ; CPU:$B471 PRG:3471 C9 F4 - bcs IrqHandler_Loop276 ; CPU:$B473 PRG:3473 B0 55 + bcs IrqHandler_Loop305 ; CPU:$B473 PRG:3473 B0 55 cmp #$0D ; CPU:$B475 PRG:3475 C9 0D - bcc IrqHandler_Loop275 ; CPU:$B477 PRG:3477 90 4E + bcc IrqHandler_Loop304 ; CPU:$B477 PRG:3477 90 4E lda ZpB6,x ; CPU:$B479 PRG:3479 B5 B6 sta $01A8,y ; CPU:$B47B PRG:347B 99 A8 01 txa ; CPU:$B47E PRG:347E 8A @@ -11139,66 +12154,66 @@ IrqHandler_OnNonzero51: sbc #$09 ; CPU:$B480 PRG:3480 E9 09 tax ; CPU:$B482 PRG:3482 AA dey ; CPU:$B483 PRG:3483 88 - bne IrqHandler_OnNonzero51 ; CPU:$B484 PRG:3484 D0 E9 + bne IrqHandler_OnNonzero53 ; CPU:$B484 PRG:3484 D0 E9 jsr Sub_B500 ; CPU:$B486 PRG:3486 20 00 B5 ; ----------------------------------------------------------------------------- ; Routine: Sub_B489 -; Global: Branch target inside Label: taken when B489. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B489. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B489: lda ZpEE ; CPU:$B489 PRG:3489 A5 EE - bne IrqHandler_OnNonzero48 ; CPU:$B48B PRG:348B D0 98 + bne IrqHandler_OnNonzero50 ; CPU:$B48B PRG:348B D0 98 ldx #$06 ; CPU:$B48D PRG:348D A2 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero52 -; Global: Branch target inside Label: taken when B48F. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero54 +; Global: Branch target inside IrqHandler: taken when OnNonzero54. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero52: +IrqHandler_OnNonzero54: lda Zp53 ; CPU:$B48F PRG:348F A5 53 cmp #$F4 ; CPU:$B491 PRG:3491 C9 F4 - bcs IrqHandler_Loop276 ; CPU:$B493 PRG:3493 B0 35 + bcs IrqHandler_Loop305 ; CPU:$B493 PRG:3493 B0 35 cmp #$0D ; CPU:$B495 PRG:3495 C9 0D - bcc IrqHandler_Loop275 ; CPU:$B497 PRG:3497 90 2E + bcc IrqHandler_Loop304 ; CPU:$B497 PRG:3497 90 2E lda ZpEE,x ; CPU:$B499 PRG:3499 B5 EE sta $01A8,x ; CPU:$B49B PRG:349B 9D A8 01 dex ; CPU:$B49E PRG:349E CA - bne IrqHandler_OnNonzero52 ; CPU:$B49F PRG:349F D0 EE + bne IrqHandler_OnNonzero54 ; CPU:$B49F PRG:349F D0 EE jsr Sub_B500 ; CPU:$B4A1 PRG:34A1 20 00 B5 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4A4 -; Global: Branch target inside Label: taken when B4A4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B4A4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B4A4: lda ZpAF ; CPU:$B4A4 PRG:34A4 A5 AF - bne IrqHandler_Loop274 ; CPU:$B4A6 PRG:34A6 D0 1E + bne IrqHandler_Loop303 ; CPU:$B4A6 PRG:34A6 D0 1E ldx #$36 ; CPU:$B4A8 PRG:34A8 A2 36 ldy #$06 ; CPU:$B4AA PRG:34AA A0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero53 -; Global: Branch target inside Label: taken when B4AC. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero55 +; Global: Branch target inside IrqHandler: taken when OnNonzero55. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero53: +IrqHandler_OnNonzero55: lda Zp53 ; CPU:$B4AC PRG:34AC A5 53 cmp #$F4 ; CPU:$B4AE PRG:34AE C9 F4 - bcs IrqHandler_Loop276 ; CPU:$B4B0 PRG:34B0 B0 18 + bcs IrqHandler_Loop305 ; CPU:$B4B0 PRG:34B0 B0 18 cmp #$0D ; CPU:$B4B2 PRG:34B2 C9 0D - bcc IrqHandler_Loop275 ; CPU:$B4B4 PRG:34B4 90 11 + bcc IrqHandler_Loop304 ; CPU:$B4B4 PRG:34B4 90 11 lda ZpAF,x ; CPU:$B4B6 PRG:34B6 B5 AF sta $01A8,y ; CPU:$B4B8 PRG:34B8 99 A8 01 txa ; CPU:$B4BB PRG:34BB 8A @@ -11206,42 +12221,42 @@ IrqHandler_OnNonzero53: sbc #$09 ; CPU:$B4BD PRG:34BD E9 09 tax ; CPU:$B4BF PRG:34BF AA dey ; CPU:$B4C0 PRG:34C0 88 - bne IrqHandler_OnNonzero53 ; CPU:$B4C1 PRG:34C1 D0 E9 + bne IrqHandler_OnNonzero55 ; CPU:$B4C1 PRG:34C1 D0 E9 jsr Sub_B500 ; CPU:$B4C3 PRG:34C3 20 00 B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop274 -; Global: Branch target inside Label: taken when B4C6. -; Local: Part of Label. +; Routine: IrqHandler_Loop303 +; Global: Branch target inside IrqHandler: taken when Loop303. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop274: +IrqHandler_Loop303: rts ; CPU:$B4C6 PRG:34C6 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop275 -; Global: Branch target inside Label: taken when B4C7. -; Local: Part of Label. +; Routine: IrqHandler_Loop304 +; Global: Branch target inside IrqHandler: taken when Loop304. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop275: - jmp IrqHandler_Loop268 ; CPU:$B4C7 PRG:34C7 4C D3 B3 +IrqHandler_Loop304: + jmp IrqHandler_Loop297 ; CPU:$B4C7 PRG:34C7 4C D3 B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop276 -; Global: Branch target inside Label: taken when B4CA. -; Local: Part of Label. +; Routine: IrqHandler_Loop305 +; Global: Branch target inside IrqHandler: taken when Loop305. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop276: - jmp IrqHandler_Loop267 ; CPU:$B4CA PRG:34CA 4C CE B3 +IrqHandler_Loop305: + jmp IrqHandler_Loop296 ; CPU:$B4CA PRG:34CA 4C CE B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4CD -; Global: Branch target inside Label: taken when B4CD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B4CD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11249,98 +12264,98 @@ IrqHandler_Loop276: Sub_B4CD: ldx #$06 ; CPU:$B4CD PRG:34CD A2 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero54 -; Global: Branch target inside Label: taken when B4CF. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero56 +; Global: Branch target inside IrqHandler: taken when OnNonzero56. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero54: +IrqHandler_OnNonzero56: lda $01A8,x ; CPU:$B4CF PRG:34CF BD A8 01 - beq IrqHandler_Loop278 ; CPU:$B4D2 PRG:34D2 F0 0A + beq IrqHandler_Loop307 ; CPU:$B4D2 PRG:34D2 F0 0A cmp #$02 ; CPU:$B4D4 PRG:34D4 C9 02 - beq IrqHandler_Loop277 ; CPU:$B4D6 PRG:34D6 F0 04 + beq IrqHandler_Loop306 ; CPU:$B4D6 PRG:34D6 F0 04 dec Zp53 ; CPU:$B4D8 PRG:34D8 C6 53 - bne IrqHandler_Loop278 ; CPU:$B4DA PRG:34DA D0 02 + bne IrqHandler_Loop307 ; CPU:$B4DA PRG:34DA D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop277 -; Global: Branch target inside Label: taken when B4DC. -; Local: Part of Label. +; Routine: IrqHandler_Loop306 +; Global: Branch target inside IrqHandler: taken when Loop306. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop277: +IrqHandler_Loop306: inc Zp53 ; CPU:$B4DC PRG:34DC E6 53 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop278 -; Global: Branch target inside Label: taken when B4DE. -; Local: Part of Label. +; Routine: IrqHandler_Loop307 +; Global: Branch target inside IrqHandler: taken when Loop307. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop278: +IrqHandler_Loop307: dex ; CPU:$B4DE PRG:34DE CA - bne IrqHandler_OnNonzero54 ; CPU:$B4DF PRG:34DF D0 EE + bne IrqHandler_OnNonzero56 ; CPU:$B4DF PRG:34DF D0 EE rts ; CPU:$B4E1 PRG:34E1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4E2 -; Global: Branch target inside Label: taken when B4E2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B4E2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B4E2: cmp #$01 ; CPU:$B4E2 PRG:34E2 C9 01 - beq IrqHandler_Loop279 ; CPU:$B4E4 PRG:34E4 F0 0A + beq IrqHandler_Loop308 ; CPU:$B4E4 PRG:34E4 F0 0A lda Zp53 ; CPU:$B4E6 PRG:34E6 A5 53 clc ; CPU:$B4E8 PRG:34E8 18 adc #$18 ; CPU:$B4E9 PRG:34E9 69 18 - bcs IrqHandler_Loop281 ; CPU:$B4EB PRG:34EB B0 10 + bcs IrqHandler_Loop310 ; CPU:$B4EB PRG:34EB B0 10 sta Zp53 ; CPU:$B4ED PRG:34ED 85 53 rts ; CPU:$B4EF PRG:34EF 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop279 -; Global: Branch target inside Label: taken when B4F0. -; Local: Part of Label. +; Routine: IrqHandler_Loop308 +; Global: Branch target inside IrqHandler: taken when Loop308. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop279: +IrqHandler_Loop308: lda Zp53 ; CPU:$B4F0 PRG:34F0 A5 53 sec ; CPU:$B4F2 PRG:34F2 38 sbc #$18 ; CPU:$B4F3 PRG:34F3 E9 18 - bcc IrqHandler_Loop280 ; CPU:$B4F5 PRG:34F5 90 03 + bcc IrqHandler_Loop309 ; CPU:$B4F5 PRG:34F5 90 03 sta Zp53 ; CPU:$B4F7 PRG:34F7 85 53 rts ; CPU:$B4F9 PRG:34F9 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop280 -; Global: Branch target inside Label: taken when B4FA. -; Local: Part of Label. +; Routine: IrqHandler_Loop309 +; Global: Branch target inside IrqHandler: taken when Loop309. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop280: - jmp IrqHandler_Loop268 ; CPU:$B4FA PRG:34FA 4C D3 B3 +IrqHandler_Loop309: + jmp IrqHandler_Loop297 ; CPU:$B4FA PRG:34FA 4C D3 B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop281 -; Global: Branch target inside Label: taken when B4FD. -; Local: Part of Label. +; Routine: IrqHandler_Loop310 +; Global: Branch target inside IrqHandler: taken when Loop310. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop281: - jmp IrqHandler_Loop267 ; CPU:$B4FD PRG:34FD 4C CE B3 +IrqHandler_Loop310: + jmp IrqHandler_Loop296 ; CPU:$B4FD PRG:34FD 4C CE B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_B500 -; Global: Branch target inside Label: taken when B500. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B500. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11348,81 +12363,81 @@ IrqHandler_Loop281: Sub_B500: ldx #$06 ; CPU:$B500 PRG:3500 A2 06 lda #$00 ; CPU:$B502 PRG:3502 A9 00 - sta Zp4B ; CPU:$B504 PRG:3504 85 4B + sta BoardColumn ; CPU:$B504 PRG:3504 85 4B sta Zp5A ; CPU:$B506 PRG:3506 85 5A sta Zp5B ; CPU:$B508 PRG:3508 85 5B lda #$01 ; CPU:$B50A PRG:350A A9 01 sta Zp4A ; CPU:$B50C PRG:350C 85 4A ; ----------------------------------------------------------------------------- ; Routine: Sub_B50E -; Global: Branch target inside Label: taken when B50E. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B50E. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B50E: lda $01A8,x ; CPU:$B50E PRG:350E BD A8 01 - beq IrqHandler_Loop283 ; CPU:$B511 PRG:3511 F0 27 + beq IrqHandler_Loop312 ; CPU:$B511 PRG:3511 F0 27 cmp #$02 ; CPU:$B513 PRG:3513 C9 02 - beq IrqHandler_Loop282 ; CPU:$B515 PRG:3515 F0 0F + beq IrqHandler_Loop311 ; CPU:$B515 PRG:3515 F0 0F lda Zp5A ; CPU:$B517 PRG:3517 A5 5A clc ; CPU:$B519 PRG:3519 18 adc Zp4A ; CPU:$B51A PRG:351A 65 4A sta Zp5A ; CPU:$B51C PRG:351C 85 5A lda Zp5B ; CPU:$B51E PRG:351E A5 5B - adc Zp4B ; CPU:$B520 PRG:3520 65 4B + adc BoardColumn ; CPU:$B520 PRG:3520 65 4B sta Zp5B ; CPU:$B522 PRG:3522 85 5B - bcc IrqHandler_Loop283 ; CPU:$B524 PRG:3524 90 14 + bcc IrqHandler_Loop312 ; CPU:$B524 PRG:3524 90 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop282 -; Global: Branch target inside Label: taken when B526. -; Local: Part of Label. +; Routine: IrqHandler_Loop311 +; Global: Branch target inside IrqHandler: taken when Loop311. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop282: +IrqHandler_Loop311: asl Zp4A ; CPU:$B526 PRG:3526 06 4A - rol Zp4B ; CPU:$B528 PRG:3528 26 4B + rol BoardColumn ; CPU:$B528 PRG:3528 26 4B lda Zp5A ; CPU:$B52A PRG:352A A5 5A adc Zp4A ; CPU:$B52C PRG:352C 65 4A sta Zp5A ; CPU:$B52E PRG:352E 85 5A lda Zp5B ; CPU:$B530 PRG:3530 A5 5B - adc Zp4B ; CPU:$B532 PRG:3532 65 4B + adc BoardColumn ; CPU:$B532 PRG:3532 65 4B sta Zp5B ; CPU:$B534 PRG:3534 85 5B - lsr Zp4B ; CPU:$B536 PRG:3536 46 4B + lsr BoardColumn ; CPU:$B536 PRG:3536 46 4B ror Zp4A ; CPU:$B538 PRG:3538 66 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop283 -; Global: Branch target inside Label: taken when B53A. -; Local: Part of Label. +; Routine: IrqHandler_Loop312 +; Global: Branch target inside IrqHandler: taken when Loop312. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop283: +IrqHandler_Loop312: dex ; CPU:$B53A PRG:353A CA - beq IrqHandler_Loop284 ; CPU:$B53B PRG:353B F0 14 + beq IrqHandler_Loop313 ; CPU:$B53B PRG:353B F0 14 lda Zp4A ; CPU:$B53D PRG:353D A5 4A - ldy Zp4B ; CPU:$B53F PRG:353F A4 4B + ldy BoardColumn ; CPU:$B53F PRG:353F A4 4B asl Zp4A ; CPU:$B541 PRG:3541 06 4A - rol Zp4B ; CPU:$B543 PRG:3543 26 4B + rol BoardColumn ; CPU:$B543 PRG:3543 26 4B adc Zp4A ; CPU:$B545 PRG:3545 65 4A sta Zp4A ; CPU:$B547 PRG:3547 85 4A tya ; CPU:$B549 PRG:3549 98 - adc Zp4B ; CPU:$B54A PRG:354A 65 4B - sta Zp4B ; CPU:$B54C PRG:354C 85 4B + adc BoardColumn ; CPU:$B54A PRG:354A 65 4B + sta BoardColumn ; CPU:$B54C PRG:354C 85 4B jmp Sub_B50E ; CPU:$B54E PRG:354E 4C 0E B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop284 -; Global: Branch target inside Label: taken when B551. -; Local: Part of Label. +; Routine: IrqHandler_Loop313 +; Global: Branch target inside IrqHandler: taken when Loop313. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop284: +IrqHandler_Loop313: lda Zp5A ; CPU:$B551 PRG:3551 A5 5A clc ; CPU:$B553 PRG:3553 18 adc #$A3 ; CPU:$B554 PRG:3554 69 A3 @@ -11436,59 +12451,59 @@ IrqHandler_Loop284: sta Zp53 ; CPU:$B563 PRG:3563 85 53 rts ; CPU:$B565 PRG:3565 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero55 -; Global: Branch target inside Label: taken when B566. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero57 +; Global: Branch target inside IrqHandler: taken when OnNonzero57. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero55: +IrqHandler_OnNonzero57: jsr Sub_B2C7 ; CPU:$B566 PRG:3566 20 C7 B2 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero19 -; Global: Branch target inside Label: taken when B569. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero19. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero19: - lda Zp3E ; CPU:$B569 PRG:3569 A5 3E + lda BoardDataPtrLo ; CPU:$B569 PRG:3569 A5 3E clc ; CPU:$B56B PRG:356B 18 adc #$20 ; CPU:$B56C PRG:356C 69 20 - sta Zp3E ; CPU:$B56E PRG:356E 85 3E - bcc IrqHandler_Loop285 ; CPU:$B570 PRG:3570 90 02 + sta BoardDataPtrLo ; CPU:$B56E PRG:356E 85 3E + bcc IrqHandler_Loop314 ; CPU:$B570 PRG:3570 90 02 inc Zp3F ; CPU:$B572 PRG:3572 E6 3F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop285 -; Global: Branch target inside Label: taken when B574. -; Local: Part of Label. +; Routine: IrqHandler_Loop314 +; Global: Branch target inside IrqHandler: taken when Loop314. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop285: - lda Zp45 ; CPU:$B574 PRG:3574 A5 45 +IrqHandler_Loop314: + lda BoardColumnCount ; CPU:$B574 PRG:3574 A5 45 eor #$03 ; CPU:$B576 PRG:3576 49 03 - sta Zp45 ; CPU:$B578 PRG:3578 85 45 + sta BoardColumnCount ; CPU:$B578 PRG:3578 85 45 inc Zp42 ; CPU:$B57A PRG:357A E6 42 ldx Zp42 ; CPU:$B57C PRG:357C A6 42 - cpx Zp43 ; CPU:$B57E PRG:357E E4 43 - bcs IrqHandler_Loop286 ; CPU:$B580 PRG:3580 B0 09 + cpx CellOwner ; CPU:$B57E PRG:357E E4 43 + bcs IrqHandler_Loop315 ; CPU:$B580 PRG:3580 B0 09 jsr Sub_AF98 ; CPU:$B582 PRG:3582 20 98 AF - lda Zp4B ; CPU:$B585 PRG:3585 A5 4B - bne IrqHandler_OnNonzero55 ; CPU:$B587 PRG:3587 D0 DD + lda BoardColumn ; CPU:$B585 PRG:3585 A5 4B + bne IrqHandler_OnNonzero57 ; CPU:$B587 PRG:3587 D0 DD beq IrqHandler_OnZero19 ; CPU:$B589 PRG:3589 F0 DE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop286 -; Global: Branch target inside Label: taken when B58B. -; Local: Part of Label. +; Routine: IrqHandler_Loop315 +; Global: Branch target inside IrqHandler: taken when Loop315. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop286: +IrqHandler_Loop315: jsr Sub_B596 ; CPU:$B58B PRG:358B 20 96 B5 lda Zp53 ; CPU:$B58E PRG:358E A5 53 ldx Zp42 ; CPU:$B590 PRG:3590 A6 42 @@ -11496,8 +12511,8 @@ IrqHandler_Loop286: rts ; CPU:$B595 PRG:3595 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B596 -; Global: Branch target inside Label: taken when B596. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B596. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -11505,20 +12520,20 @@ IrqHandler_Loop286: Sub_B596: ldx #$47 ; CPU:$B596 PRG:3596 A2 47 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero56 -; Global: Branch target inside Label: taken when B598. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero58 +; Global: Branch target inside IrqHandler: taken when OnNonzero58. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero56: +IrqHandler_OnNonzero58: lda ZpAE,x ; CPU:$B598 PRG:3598 B5 AE sta Zp5B,x ; CPU:$B59A PRG:359A 95 5B dex ; CPU:$B59C PRG:359C CA - bne IrqHandler_OnNonzero56 ; CPU:$B59D PRG:359D D0 F9 + bne IrqHandler_OnNonzero58 ; CPU:$B59D PRG:359D D0 F9 lda #$02 ; CPU:$B59F PRG:359F A9 02 - sta Zp4B ; CPU:$B5A1 PRG:35A1 85 4B + sta BoardColumn ; CPU:$B5A1 PRG:35A1 85 4B jsr Sub_B0CD ; CPU:$B5A3 PRG:35A3 20 CD B0 lda Zp49 ; CPU:$B5A6 PRG:35A6 A5 49 asl a ; CPU:$B5A8 PRG:35A8 0A @@ -11526,10 +12541,10 @@ IrqHandler_OnNonzero56: adc Zp48 ; CPU:$B5AA PRG:35AA 65 48 asl a ; CPU:$B5AC PRG:35AC 0A asl a ; CPU:$B5AD PRG:35AD 0A - bcs IrqHandler_Loop293 ; CPU:$B5AE PRG:35AE B0 5D + bcs IrqHandler_Loop322 ; CPU:$B5AE PRG:35AE B0 5D sta Zp53 ; CPU:$B5B0 PRG:35B0 85 53 lda #$01 ; CPU:$B5B2 PRG:35B2 A9 01 - sta Zp4B ; CPU:$B5B4 PRG:35B4 85 4B + sta BoardColumn ; CPU:$B5B4 PRG:35B4 85 4B jsr Sub_B0CD ; CPU:$B5B6 PRG:35B6 20 CD B0 lda Zp49 ; CPU:$B5B9 PRG:35B9 A5 49 asl a ; CPU:$B5BB PRG:35BB 0A @@ -11537,207 +12552,207 @@ IrqHandler_OnNonzero56: adc Zp48 ; CPU:$B5BD PRG:35BD 65 48 asl a ; CPU:$B5BF PRG:35BF 0A asl a ; CPU:$B5C0 PRG:35C0 0A - bcs IrqHandler_Loop294 ; CPU:$B5C1 PRG:35C1 B0 4F + bcs IrqHandler_Loop323 ; CPU:$B5C1 PRG:35C1 B0 4F adc #$46 ; CPU:$B5C3 PRG:35C3 69 46 - bcs IrqHandler_Loop294 ; CPU:$B5C5 PRG:35C5 B0 4B + bcs IrqHandler_Loop323 ; CPU:$B5C5 PRG:35C5 B0 4B sec ; CPU:$B5C7 PRG:35C7 38 sbc Zp53 ; CPU:$B5C8 PRG:35C8 E5 53 - bcc IrqHandler_Loop293 ; CPU:$B5CA PRG:35CA 90 41 + bcc IrqHandler_Loop322 ; CPU:$B5CA PRG:35CA 90 41 cmp #$46 ; CPU:$B5CC PRG:35CC C9 46 - bne IrqHandler_Loop287 ; CPU:$B5CE PRG:35CE D0 06 + bne IrqHandler_Loop316 ; CPU:$B5CE PRG:35CE D0 06 lda Zp53 ; CPU:$B5D0 PRG:35D0 A5 53 - beq IrqHandler_Loop290 ; CPU:$B5D2 PRG:35D2 F0 1E + beq IrqHandler_Loop319 ; CPU:$B5D2 PRG:35D2 F0 1E lda #$00 ; CPU:$B5D4 PRG:35D4 A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop287 -; Global: Branch target inside Label: taken when B5D6. -; Local: Part of Label. +; Routine: IrqHandler_Loop316 +; Global: Branch target inside IrqHandler: taken when Loop316. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop287: +IrqHandler_Loop316: sta Zp53 ; CPU:$B5D6 PRG:35D6 85 53 ldx #$48 ; CPU:$B5D8 PRG:35D8 A2 48 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero20 -; Global: Branch target inside Label: taken when B5DA. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero20. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero20: dex ; CPU:$B5DA PRG:35DA CA - beq IrqHandler_Loop289 ; CPU:$B5DB PRG:35DB F0 12 + beq IrqHandler_Loop318 ; CPU:$B5DB PRG:35DB F0 12 lda Zp5B,x ; CPU:$B5DD PRG:35DD B5 5B beq IrqHandler_OnZero20 ; CPU:$B5DF PRG:35DF F0 F9 cmp #$02 ; CPU:$B5E1 PRG:35E1 C9 02 - bne IrqHandler_Loop288 ; CPU:$B5E3 PRG:35E3 D0 05 + bne IrqHandler_Loop317 ; CPU:$B5E3 PRG:35E3 D0 05 inc Zp53 ; CPU:$B5E5 PRG:35E5 E6 53 jmp IrqHandler_OnZero20 ; CPU:$B5E7 PRG:35E7 4C DA B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop288 -; Global: Branch target inside Label: taken when B5EA. -; Local: Part of Label. +; Routine: IrqHandler_Loop317 +; Global: Branch target inside IrqHandler: taken when Loop317. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop288: +IrqHandler_Loop317: dec Zp53 ; CPU:$B5EA PRG:35EA C6 53 jmp IrqHandler_OnZero20 ; CPU:$B5EC PRG:35EC 4C DA B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop289 -; Global: Branch target inside Label: taken when B5EF. -; Local: Part of Label. +; Routine: IrqHandler_Loop318 +; Global: Branch target inside IrqHandler: taken when Loop318. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop289: +IrqHandler_Loop318: jmp Sub_B3D8 ; CPU:$B5EF PRG:35EF 4C D8 B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop290 -; Global: Branch target inside Label: taken when B5F2. -; Local: Part of Label. +; Routine: IrqHandler_Loop319 +; Global: Branch target inside IrqHandler: taken when Loop319. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop290: +IrqHandler_Loop319: ldx #$48 ; CPU:$B5F2 PRG:35F2 A2 48 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero21 -; Global: Branch target inside Label: taken when B5F4. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnZero21. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnZero21: dex ; CPU:$B5F4 PRG:35F4 CA - bne IrqHandler_Loop292 ; CPU:$B5F5 PRG:35F5 D0 12 + bne IrqHandler_Loop321 ; CPU:$B5F5 PRG:35F5 D0 12 lda ZpAE,x ; CPU:$B5F7 PRG:35F7 B5 AE beq IrqHandler_OnZero21 ; CPU:$B5F9 PRG:35F9 F0 F9 cmp #$02 ; CPU:$B5FB PRG:35FB C9 02 - bne IrqHandler_Loop291 ; CPU:$B5FD PRG:35FD D0 05 + bne IrqHandler_Loop320 ; CPU:$B5FD PRG:35FD D0 05 dec Zp53 ; CPU:$B5FF PRG:35FF C6 53 jmp IrqHandler_OnZero21 ; CPU:$B601 PRG:3601 4C F4 B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop291 -; Global: Branch target inside Label: taken when B604. -; Local: Part of Label. +; Routine: IrqHandler_Loop320 +; Global: Branch target inside IrqHandler: taken when Loop320. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop291: +IrqHandler_Loop320: inc Zp53 ; CPU:$B604 PRG:3604 E6 53 jmp IrqHandler_OnZero21 ; CPU:$B606 PRG:3606 4C F4 B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop292 -; Global: Branch target inside Label: taken when B609. -; Local: Part of Label. +; Routine: IrqHandler_Loop321 +; Global: Branch target inside IrqHandler: taken when Loop321. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop292: +IrqHandler_Loop321: lda Zp53 ; CPU:$B609 PRG:3609 A5 53 - bmi IrqHandler_Loop294 ; CPU:$B60B PRG:360B 30 05 + bmi IrqHandler_Loop323 ; CPU:$B60B PRG:360B 30 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop293 -; Global: Branch target inside Label: taken when B60D. -; Local: Part of Label. +; Routine: IrqHandler_Loop322 +; Global: Branch target inside IrqHandler: taken when Loop322. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop293: +IrqHandler_Loop322: lda #$01 ; CPU:$B60D PRG:360D A9 01 sta Zp53 ; CPU:$B60F PRG:360F 85 53 rts ; CPU:$B611 PRG:3611 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop294 -; Global: Branch target inside Label: taken when B612. -; Local: Part of Label. +; Routine: IrqHandler_Loop323 +; Global: Branch target inside IrqHandler: taken when Loop323. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop294: +IrqHandler_Loop323: lda #$FE ; CPU:$B612 PRG:3612 A9 FE sta Zp53 ; CPU:$B614 PRG:3614 85 53 rts ; CPU:$B616 PRG:3616 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero57 -; Global: Branch target inside Label: taken when B617. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero59 +; Global: Branch target inside IrqHandler: taken when OnNonzero59. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero57: +IrqHandler_OnNonzero59: jsr Sub_B211 ; CPU:$B617 PRG:3617 20 11 B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero58 -; Global: Branch target inside Label: taken when B61A. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero60 +; Global: Branch target inside IrqHandler: taken when OnNonzero60. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero58: - lda Zp3E ; CPU:$B61A PRG:361A A5 3E +IrqHandler_OnNonzero60: + lda BoardDataPtrLo ; CPU:$B61A PRG:361A A5 3E clc ; CPU:$B61C PRG:361C 18 adc #$20 ; CPU:$B61D PRG:361D 69 20 - sta Zp3E ; CPU:$B61F PRG:361F 85 3E - bcc IrqHandler_Loop295 ; CPU:$B621 PRG:3621 90 02 + sta BoardDataPtrLo ; CPU:$B61F PRG:361F 85 3E + bcc IrqHandler_Loop324 ; CPU:$B621 PRG:3621 90 02 inc Zp3F ; CPU:$B623 PRG:3623 E6 3F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop295 -; Global: Branch target inside Label: taken when B625. -; Local: Part of Label. +; Routine: IrqHandler_Loop324 +; Global: Branch target inside IrqHandler: taken when Loop324. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop295: - lda Zp45 ; CPU:$B625 PRG:3625 A5 45 +IrqHandler_Loop324: + lda BoardColumnCount ; CPU:$B625 PRG:3625 A5 45 eor #$03 ; CPU:$B627 PRG:3627 49 03 - sta Zp45 ; CPU:$B629 PRG:3629 85 45 + sta BoardColumnCount ; CPU:$B629 PRG:3629 85 45 inc Zp42 ; CPU:$B62B PRG:362B E6 42 lda Zp47 ; CPU:$B62D PRG:362D A5 47 clc ; CPU:$B62F PRG:362F 18 adc Zp46 ; CPU:$B630 PRG:3630 65 46 cmp #$40 ; CPU:$B632 PRG:3632 C9 40 - beq IrqHandler_Loop296 ; CPU:$B634 PRG:3634 F0 20 + beq IrqHandler_Loop325 ; CPU:$B634 PRG:3634 F0 20 lda Zp42 ; CPU:$B636 PRG:3636 A5 42 cmp Zp14 ; CPU:$B638 PRG:3638 C5 14 - bcs IrqHandler_Loop296 ; CPU:$B63A PRG:363A B0 1A + bcs IrqHandler_Loop325 ; CPU:$B63A PRG:363A B0 1A jsr Sub_AF98 ; CPU:$B63C PRG:363C 20 98 AF - lda Zp4B ; CPU:$B63F PRG:363F A5 4B - bne IrqHandler_OnNonzero57 ; CPU:$B641 PRG:3641 D0 D4 - lda Zp3E ; CPU:$B643 PRG:3643 A5 3E + lda BoardColumn ; CPU:$B63F PRG:363F A5 4B + bne IrqHandler_OnNonzero59 ; CPU:$B641 PRG:3641 D0 D4 + lda BoardDataPtrLo ; CPU:$B643 PRG:3643 A5 3E sec ; CPU:$B645 PRG:3645 38 sbc #$20 ; CPU:$B646 PRG:3646 E9 20 sta Zp4A ; CPU:$B648 PRG:3648 85 4A lda Zp3F ; CPU:$B64A PRG:364A A5 3F sbc #$00 ; CPU:$B64C PRG:364C E9 00 - sta Zp4B ; CPU:$B64E PRG:364E 85 4B + sta BoardColumn ; CPU:$B64E PRG:364E 85 4B ldy #$00 ; CPU:$B650 PRG:3650 A0 00 lda (Zp4A),y ; CPU:$B652 PRG:3652 B1 4A - bne IrqHandler_OnNonzero58 ; CPU:$B654 PRG:3654 D0 C4 + bne IrqHandler_OnNonzero60 ; CPU:$B654 PRG:3654 D0 C4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop296 -; Global: Branch target inside Label: taken when B656. -; Local: Part of Label. +; Routine: IrqHandler_Loop325 +; Global: Branch target inside IrqHandler: taken when Loop325. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop296: +IrqHandler_Loop325: lda Zp46 ; CPU:$B656 PRG:3656 A5 46 clc ; CPU:$B658 PRG:3658 18 adc #$46 ; CPU:$B659 PRG:3659 69 46 @@ -11748,85 +12763,85 @@ IrqHandler_Loop296: rts ; CPU:$B663 PRG:3663 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B664 -; Global: Branch target inside Label: taken when B664. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B664. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B664: dec Zp42 ; CPU:$B664 PRG:3664 C6 42 - lda Zp3E ; CPU:$B666 PRG:3666 A5 3E + lda BoardDataPtrLo ; CPU:$B666 PRG:3666 A5 3E sec ; CPU:$B668 PRG:3668 38 sbc #$20 ; CPU:$B669 PRG:3669 E9 20 - sta Zp3E ; CPU:$B66B PRG:366B 85 3E - bcs IrqHandler_Loop297 ; CPU:$B66D PRG:366D B0 02 + sta BoardDataPtrLo ; CPU:$B66B PRG:366B 85 3E + bcs IrqHandler_Loop326 ; CPU:$B66D PRG:366D B0 02 dec Zp3F ; CPU:$B66F PRG:366F C6 3F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop297 -; Global: Branch target inside Label: taken when B671. -; Local: Part of Label. +; Routine: IrqHandler_Loop326 +; Global: Branch target inside IrqHandler: taken when Loop326. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop297: - lda Zp45 ; CPU:$B671 PRG:3671 A5 45 +IrqHandler_Loop326: + lda BoardColumnCount ; CPU:$B671 PRG:3671 A5 45 eor #$03 ; CPU:$B673 PRG:3673 49 03 - sta Zp45 ; CPU:$B675 PRG:3675 85 45 + sta BoardColumnCount ; CPU:$B675 PRG:3675 85 45 ldy #$00 ; CPU:$B677 PRG:3677 A0 00 - lda (Zp3E),y ; CPU:$B679 PRG:3679 B1 3E - bne IrqHandler_Loop298 ; CPU:$B67B PRG:367B D0 01 + lda (BoardDataPtrLo),y ; CPU:$B679 PRG:3679 B1 3E + bne IrqHandler_Loop327 ; CPU:$B67B PRG:367B D0 01 rts ; CPU:$B67D PRG:367D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop298 -; Global: Branch target inside Label: taken when B67E. -; Local: Part of Label. +; Routine: IrqHandler_Loop327 +; Global: Branch target inside IrqHandler: taken when Loop327. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop298: +IrqHandler_Loop327: lda Zp40 ; CPU:$B67E PRG:367E A5 40 sec ; CPU:$B680 PRG:3680 38 sbc #$20 ; CPU:$B681 PRG:3681 E9 20 sta Zp40 ; CPU:$B683 PRG:3683 85 40 - bcs IrqHandler_Loop299 ; CPU:$B685 PRG:3685 B0 02 + bcs IrqHandler_Loop328 ; CPU:$B685 PRG:3685 B0 02 dec Zp41 ; CPU:$B687 PRG:3687 C6 41 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop299 -; Global: Branch target inside Label: taken when B689. -; Local: Part of Label. +; Routine: IrqHandler_Loop328 +; Global: Branch target inside IrqHandler: taken when Loop328. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop299: +IrqHandler_Loop328: lda (Zp40),y ; CPU:$B689 PRG:3689 B1 40 tax ; CPU:$B68B PRG:368B AA tya ; CPU:$B68C PRG:368C 98 - sta ZpA5,x ; CPU:$B68D PRG:368D 95 A5 + sta CellPatternIndex,x ; CPU:$B68D PRG:368D 95 A5 iny ; CPU:$B68F PRG:368F C8 lda (Zp40),y ; CPU:$B690 PRG:3690 B1 40 tay ; CPU:$B692 PRG:3692 A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero59 -; Global: Branch target inside Label: taken when B693. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero61 +; Global: Branch target inside IrqHandler: taken when OnNonzero61. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero59: +IrqHandler_OnNonzero61: lda (Zp40),y ; CPU:$B693 PRG:3693 B1 40 tax ; CPU:$B695 PRG:3695 AA - lda Zp45 ; CPU:$B696 PRG:3696 A5 45 - sta ZpA5,x ; CPU:$B698 PRG:3698 95 A5 + lda BoardColumnCount ; CPU:$B696 PRG:3696 A5 45 + sta CellPatternIndex,x ; CPU:$B698 PRG:3698 95 A5 dey ; CPU:$B69A PRG:369A 88 cpy #$01 ; CPU:$B69B PRG:369B C0 01 - bne IrqHandler_OnNonzero59 ; CPU:$B69D PRG:369D D0 F4 + bne IrqHandler_OnNonzero61 ; CPU:$B69D PRG:369D D0 F4 cmp #$02 ; CPU:$B69F PRG:369F C9 02 - beq IrqHandler_Loop300 ; CPU:$B6A1 PRG:36A1 F0 11 + beq IrqHandler_Loop329 ; CPU:$B6A1 PRG:36A1 F0 11 lda Zp47 ; CPU:$B6A3 PRG:36A3 A5 47 clc ; CPU:$B6A5 PRG:36A5 18 adc (Zp40),y ; CPU:$B6A6 PRG:36A6 71 40 @@ -11838,14 +12853,14 @@ IrqHandler_OnNonzero59: sta Zp46 ; CPU:$B6B1 PRG:36B1 85 46 rts ; CPU:$B6B3 PRG:36B3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop300 -; Global: Branch target inside Label: taken when B6B4. -; Local: Part of Label. +; Routine: IrqHandler_Loop329 +; Global: Branch target inside IrqHandler: taken when Loop329. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop300: +IrqHandler_Loop329: lda Zp46 ; CPU:$B6B4 PRG:36B4 A5 46 clc ; CPU:$B6B6 PRG:36B6 18 adc (Zp40),y ; CPU:$B6B7 PRG:36B7 71 40 @@ -11858,95 +12873,95 @@ IrqHandler_Loop300: rts ; CPU:$B6C4 PRG:36C4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B6C5 -; Global: Branch target inside Label: taken when B6C5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B6C5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B6C5: dec Zp42 ; CPU:$B6C5 PRG:36C5 C6 42 - lda Zp3E ; CPU:$B6C7 PRG:36C7 A5 3E + lda BoardDataPtrLo ; CPU:$B6C7 PRG:36C7 A5 3E sec ; CPU:$B6C9 PRG:36C9 38 sbc #$20 ; CPU:$B6CA PRG:36CA E9 20 - sta Zp3E ; CPU:$B6CC PRG:36CC 85 3E - bcs IrqHandler_Loop301 ; CPU:$B6CE PRG:36CE B0 02 + sta BoardDataPtrLo ; CPU:$B6CC PRG:36CC 85 3E + bcs IrqHandler_Loop330 ; CPU:$B6CE PRG:36CE B0 02 dec Zp3F ; CPU:$B6D0 PRG:36D0 C6 3F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop301 -; Global: Branch target inside Label: taken when B6D2. -; Local: Part of Label. +; Routine: IrqHandler_Loop330 +; Global: Branch target inside IrqHandler: taken when Loop330. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop301: - lda Zp45 ; CPU:$B6D2 PRG:36D2 A5 45 +IrqHandler_Loop330: + lda BoardColumnCount ; CPU:$B6D2 PRG:36D2 A5 45 eor #$03 ; CPU:$B6D4 PRG:36D4 49 03 - sta Zp45 ; CPU:$B6D6 PRG:36D6 85 45 + sta BoardColumnCount ; CPU:$B6D6 PRG:36D6 85 45 ldy #$00 ; CPU:$B6D8 PRG:36D8 A0 00 - lda (Zp3E),y ; CPU:$B6DA PRG:36DA B1 3E - bne IrqHandler_Loop302 ; CPU:$B6DC PRG:36DC D0 01 + lda (BoardDataPtrLo),y ; CPU:$B6DA PRG:36DA B1 3E + bne IrqHandler_Loop331 ; CPU:$B6DC PRG:36DC D0 01 rts ; CPU:$B6DE PRG:36DE 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop302 -; Global: Branch target inside Label: taken when B6DF. -; Local: Part of Label. +; Routine: IrqHandler_Loop331 +; Global: Branch target inside IrqHandler: taken when Loop331. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop302: +IrqHandler_Loop331: lda Zp40 ; CPU:$B6DF PRG:36DF A5 40 sec ; CPU:$B6E1 PRG:36E1 38 sbc #$20 ; CPU:$B6E2 PRG:36E2 E9 20 sta Zp40 ; CPU:$B6E4 PRG:36E4 85 40 - bcs IrqHandler_Loop303 ; CPU:$B6E6 PRG:36E6 B0 02 + bcs IrqHandler_Loop332 ; CPU:$B6E6 PRG:36E6 B0 02 dec Zp41 ; CPU:$B6E8 PRG:36E8 C6 41 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop303 -; Global: Branch target inside Label: taken when B6EA. -; Local: Part of Label. +; Routine: IrqHandler_Loop332 +; Global: Branch target inside IrqHandler: taken when Loop332. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop303: +IrqHandler_Loop332: lda (Zp40),y ; CPU:$B6EA PRG:36EA B1 40 tax ; CPU:$B6EC PRG:36EC AA tya ; CPU:$B6ED PRG:36ED 98 - sta ZpA5,x ; CPU:$B6EE PRG:36EE 95 A5 + sta CellPatternIndex,x ; CPU:$B6EE PRG:36EE 95 A5 iny ; CPU:$B6F0 PRG:36F0 C8 lda (Zp40),y ; CPU:$B6F1 PRG:36F1 B1 40 tay ; CPU:$B6F3 PRG:36F3 A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero60 -; Global: Branch target inside Label: taken when B6F4. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero62 +; Global: Branch target inside IrqHandler: taken when OnNonzero62. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero60: +IrqHandler_OnNonzero62: lda (Zp40),y ; CPU:$B6F4 PRG:36F4 B1 40 tax ; CPU:$B6F6 PRG:36F6 AA - lda Zp45 ; CPU:$B6F7 PRG:36F7 A5 45 - sta ZpA5,x ; CPU:$B6F9 PRG:36F9 95 A5 + lda BoardColumnCount ; CPU:$B6F7 PRG:36F7 A5 45 + sta CellPatternIndex,x ; CPU:$B6F9 PRG:36F9 95 A5 dey ; CPU:$B6FB PRG:36FB 88 cpy #$01 ; CPU:$B6FC PRG:36FC C0 01 - bne IrqHandler_OnNonzero60 ; CPU:$B6FE PRG:36FE D0 F4 + bne IrqHandler_OnNonzero62 ; CPU:$B6FE PRG:36FE D0 F4 rts ; CPU:$B700 PRG:3700 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B701 -; Global: Branch target inside Label: taken when B701. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B701. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B701: lda #$00 ; CPU:$B701 PRG:3701 A9 00 - sta Zp3E ; CPU:$B703 PRG:3703 85 3E + sta BoardDataPtrLo ; CPU:$B703 PRG:3703 85 3E lda #$05 ; CPU:$B705 PRG:3705 A9 05 sta Zp3F ; CPU:$B707 PRG:3707 85 3F lda #$00 ; CPU:$B709 PRG:3709 A9 00 @@ -11958,172 +12973,172 @@ Sub_B701: lda #$FF ; CPU:$B715 PRG:3715 A9 FF sta $0162 ; CPU:$B717 PRG:3717 8D 62 01 lda #$01 ; CPU:$B71A PRG:371A A9 01 - sta Zp45 ; CPU:$B71C PRG:371C 85 45 + sta BoardColumnCount ; CPU:$B71C PRG:371C 85 45 jsr Sub_AF98 ; CPU:$B71E PRG:371E 20 98 AF - lda Zp4B ; CPU:$B721 PRG:3721 A5 4B - bne IrqHandler_Loop304 ; CPU:$B723 PRG:3723 D0 03 + lda BoardColumn ; CPU:$B721 PRG:3721 A5 4B + bne IrqHandler_Loop333 ; CPU:$B723 PRG:3723 D0 03 sta Zp44 ; CPU:$B725 PRG:3725 85 44 rts ; CPU:$B727 PRG:3727 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop304 -; Global: Branch target inside Label: taken when B728. -; Local: Part of Label. +; Routine: IrqHandler_Loop333 +; Global: Branch target inside IrqHandler: taken when Loop333. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop304: +IrqHandler_Loop333: cmp #$01 ; CPU:$B728 PRG:3728 C9 01 - bne IrqHandler_OnCarrySet4 ; CPU:$B72A PRG:372A D0 07 + bne IrqHandler_OnCarrySet5 ; CPU:$B72A PRG:372A D0 07 ldy #$01 ; CPU:$B72C PRG:372C A0 01 - lda (Zp3E),y ; CPU:$B72E PRG:372E B1 3E + lda (BoardDataPtrLo),y ; CPU:$B72E PRG:372E B1 3E sta Zp44 ; CPU:$B730 PRG:3730 85 44 rts ; CPU:$B732 PRG:3732 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet4 -; Global: Branch target inside Label: taken when B733. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet4: - jsr IrqHandler_OnNonzero41 ; CPU:$B733 PRG:3733 20 4D B3 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet5 -; Global: Branch target inside Label: taken when B736. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet5. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet5: - ldx Zp42 ; CPU:$B736 PRG:3736 A6 42 - ldy Zp42 ; CPU:$B738 PRG:3738 A4 42 - dey ; CPU:$B73A PRG:373A 88 - dey ; CPU:$B73B PRG:373B 88 - lda Zp45 ; CPU:$B73C PRG:373C A5 45 - cmp #$01 ; CPU:$B73E PRG:373E C9 01 - beq IrqHandler_Loop306 ; CPU:$B740 PRG:3740 F0 2B - lda $0162,x ; CPU:$B742 PRG:3742 BD 62 01 - cmp $0162,y ; CPU:$B745 PRG:3745 D9 62 01 - bcc IrqHandler_Loop305 ; CPU:$B748 PRG:3748 90 06 - jsr Sub_B664 ; CPU:$B74A PRG:374A 20 64 B6 - jmp IrqHandler_OnCarrySet6 ; CPU:$B74D PRG:374D 4C 5B B7 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop305 -; Global: Branch target inside Label: taken when B750. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop305: - iny ; CPU:$B750 PRG:3750 C8 - cmp $0162,y ; CPU:$B751 PRG:3751 D9 62 01 - bcc IrqHandler_OnCarrySet6 ; CPU:$B754 PRG:3754 90 05 - beq IrqHandler_OnCarrySet6 ; CPU:$B756 PRG:3756 F0 03 - sta $0162,y ; CPU:$B758 PRG:3758 99 62 01 + jsr IrqHandler_OnNonzero43 ; CPU:$B733 PRG:3733 20 4D B3 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet6 -; Global: Branch target inside Label: taken when B75B. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet6. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet6: + ldx Zp42 ; CPU:$B736 PRG:3736 A6 42 + ldy Zp42 ; CPU:$B738 PRG:3738 A4 42 + dey ; CPU:$B73A PRG:373A 88 + dey ; CPU:$B73B PRG:373B 88 + lda BoardColumnCount ; CPU:$B73C PRG:373C A5 45 + cmp #$01 ; CPU:$B73E PRG:373E C9 01 + beq IrqHandler_Loop335 ; CPU:$B740 PRG:3740 F0 2B + lda $0162,x ; CPU:$B742 PRG:3742 BD 62 01 + cmp $0162,y ; CPU:$B745 PRG:3745 D9 62 01 + bcc IrqHandler_Loop334 ; CPU:$B748 PRG:3748 90 06 + jsr Sub_B664 ; CPU:$B74A PRG:374A 20 64 B6 + jmp IrqHandler_OnCarrySet7 ; CPU:$B74D PRG:374D 4C 5B B7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop334 +; Global: Branch target inside IrqHandler: taken when Loop334. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop334: + iny ; CPU:$B750 PRG:3750 C8 + cmp $0162,y ; CPU:$B751 PRG:3751 D9 62 01 + bcc IrqHandler_OnCarrySet7 ; CPU:$B754 PRG:3754 90 05 + beq IrqHandler_OnCarrySet7 ; CPU:$B756 PRG:3756 F0 03 + sta $0162,y ; CPU:$B758 PRG:3758 99 62 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet7 +; Global: Branch target inside IrqHandler: taken when OnCarrySet7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet7: jsr Sub_B664 ; CPU:$B75B PRG:375B 20 64 B6 ldy #$00 ; CPU:$B75E PRG:375E A0 00 - lda (Zp3E),y ; CPU:$B760 PRG:3760 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B760 PRG:3760 B1 3E cmp #$02 ; CPU:$B762 PRG:3762 C9 02 - bcc IrqHandler_Loop309 ; CPU:$B764 PRG:3764 90 22 + bcc IrqHandler_Loop338 ; CPU:$B764 PRG:3764 90 22 sec ; CPU:$B766 PRG:3766 38 sbc #$01 ; CPU:$B767 PRG:3767 E9 01 - sta (Zp3E),y ; CPU:$B769 PRG:3769 91 3E - bcs IrqHandler_OnCarrySet4 ; CPU:$B76B PRG:376B B0 C6 + sta (BoardDataPtrLo),y ; CPU:$B769 PRG:3769 91 3E + bcs IrqHandler_OnCarrySet5 ; CPU:$B76B PRG:376B B0 C6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop306 -; Global: Branch target inside Label: taken when B76D. -; Local: Part of Label. +; Routine: IrqHandler_Loop335 +; Global: Branch target inside IrqHandler: taken when Loop335. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop306: +IrqHandler_Loop335: lda $0162,x ; CPU:$B76D PRG:376D BD 62 01 cmp $0162,y ; CPU:$B770 PRG:3770 D9 62 01 - beq IrqHandler_Loop307 ; CPU:$B773 PRG:3773 F0 02 - bcs IrqHandler_Loop308 ; CPU:$B775 PRG:3775 B0 06 + beq IrqHandler_Loop336 ; CPU:$B773 PRG:3773 F0 02 + bcs IrqHandler_Loop337 ; CPU:$B775 PRG:3775 B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop307 -; Global: Branch target inside Label: taken when B777. -; Local: Part of Label. +; Routine: IrqHandler_Loop336 +; Global: Branch target inside IrqHandler: taken when Loop336. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop307: +IrqHandler_Loop336: jsr Sub_B664 ; CPU:$B777 PRG:3777 20 64 B6 - jmp IrqHandler_OnCarrySet6 ; CPU:$B77A PRG:377A 4C 5B B7 + jmp IrqHandler_OnCarrySet7 ; CPU:$B77A PRG:377A 4C 5B B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop308 -; Global: Branch target inside Label: taken when B77D. -; Local: Part of Label. +; Routine: IrqHandler_Loop337 +; Global: Branch target inside IrqHandler: taken when Loop337. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop308: +IrqHandler_Loop337: iny ; CPU:$B77D PRG:377D C8 cmp $0162,y ; CPU:$B77E PRG:377E D9 62 01 - bcs IrqHandler_OnCarrySet6 ; CPU:$B781 PRG:3781 B0 D8 + bcs IrqHandler_OnCarrySet7 ; CPU:$B781 PRG:3781 B0 D8 sta $0162,y ; CPU:$B783 PRG:3783 99 62 01 - bcc IrqHandler_OnCarrySet6 ; CPU:$B786 PRG:3786 90 D3 + bcc IrqHandler_OnCarrySet7 ; CPU:$B786 PRG:3786 90 D3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop309 -; Global: Branch target inside Label: taken when B788. -; Local: Part of Label. +; Routine: IrqHandler_Loop338 +; Global: Branch target inside IrqHandler: taken when Loop338. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop309: +IrqHandler_Loop338: lda Zp42 ; CPU:$B788 PRG:3788 A5 42 cmp #$03 ; CPU:$B78A PRG:378A C9 03 - bcs IrqHandler_OnCarrySet5 ; CPU:$B78C PRG:378C B0 A8 + bcs IrqHandler_OnCarrySet6 ; CPU:$B78C PRG:378C B0 A8 cmp #$01 ; CPU:$B78E PRG:378E C9 01 - beq IrqHandler_Loop310 ; CPU:$B790 PRG:3790 F0 18 + beq IrqHandler_Loop339 ; CPU:$B790 PRG:3790 F0 18 lda $0163 ; CPU:$B792 PRG:3792 AD 63 01 cmp $0164 ; CPU:$B795 PRG:3795 CD 64 01 - bcs IrqHandler_OnCarrySet6 ; CPU:$B798 PRG:3798 B0 C1 + bcs IrqHandler_OnCarrySet7 ; CPU:$B798 PRG:3798 B0 C1 ldx $0500 ; CPU:$B79A PRG:379A AE 00 05 lda $0500,x ; CPU:$B79D PRG:379D BD 00 05 sta Zp44 ; CPU:$B7A0 PRG:37A0 85 44 lda $0164 ; CPU:$B7A2 PRG:37A2 AD 64 01 sta $0163 ; CPU:$B7A5 PRG:37A5 8D 63 01 - bne IrqHandler_OnCarrySet6 ; CPU:$B7A8 PRG:37A8 D0 B1 + bne IrqHandler_OnCarrySet7 ; CPU:$B7A8 PRG:37A8 D0 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop310 -; Global: Branch target inside Label: taken when B7AA. -; Local: Part of Label. +; Routine: IrqHandler_Loop339 +; Global: Branch target inside IrqHandler: taken when Loop339. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop310: +IrqHandler_Loop339: rts ; CPU:$B7AA PRG:37AA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B7AB -; Global: Branch target inside Label: taken when B7AB. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B7AB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B7AB: lda #$00 ; CPU:$B7AB PRG:37AB A9 00 - sta Zp3E ; CPU:$B7AD PRG:37AD 85 3E + sta BoardDataPtrLo ; CPU:$B7AD PRG:37AD 85 3E lda #$05 ; CPU:$B7AF PRG:37AF A9 05 sta Zp3F ; CPU:$B7B1 PRG:37B1 85 3F lda #$00 ; CPU:$B7B3 PRG:37B3 A9 00 @@ -12135,172 +13150,172 @@ Sub_B7AB: lda #$FF ; CPU:$B7BF PRG:37BF A9 FF sta $0162 ; CPU:$B7C1 PRG:37C1 8D 62 01 lda #$01 ; CPU:$B7C4 PRG:37C4 A9 01 - sta Zp45 ; CPU:$B7C6 PRG:37C6 85 45 + sta BoardColumnCount ; CPU:$B7C6 PRG:37C6 85 45 jsr Sub_AF98 ; CPU:$B7C8 PRG:37C8 20 98 AF - lda Zp4B ; CPU:$B7CB PRG:37CB A5 4B - bne IrqHandler_Loop311 ; CPU:$B7CD PRG:37CD D0 03 + lda BoardColumn ; CPU:$B7CB PRG:37CB A5 4B + bne IrqHandler_Loop340 ; CPU:$B7CD PRG:37CD D0 03 sta Zp44 ; CPU:$B7CF PRG:37CF 85 44 rts ; CPU:$B7D1 PRG:37D1 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop311 -; Global: Branch target inside Label: taken when B7D2. -; Local: Part of Label. +; Routine: IrqHandler_Loop340 +; Global: Branch target inside IrqHandler: taken when Loop340. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop311: +IrqHandler_Loop340: cmp #$01 ; CPU:$B7D2 PRG:37D2 C9 01 - bne IrqHandler_OnCarrySet7 ; CPU:$B7D4 PRG:37D4 D0 07 + bne IrqHandler_OnCarrySet8 ; CPU:$B7D4 PRG:37D4 D0 07 ldy #$01 ; CPU:$B7D6 PRG:37D6 A0 01 - lda (Zp3E),y ; CPU:$B7D8 PRG:37D8 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B7D8 PRG:37D8 B1 3E sta Zp44 ; CPU:$B7DA PRG:37DA 85 44 rts ; CPU:$B7DC PRG:37DC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet7 -; Global: Branch target inside Label: taken when B7DD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet7: - jsr IrqHandler_OnNonzero55 ; CPU:$B7DD PRG:37DD 20 66 B5 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet8 -; Global: Branch target inside Label: taken when B7E0. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet8. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet8: - ldx Zp42 ; CPU:$B7E0 PRG:37E0 A6 42 - ldy Zp42 ; CPU:$B7E2 PRG:37E2 A4 42 - dey ; CPU:$B7E4 PRG:37E4 88 - dey ; CPU:$B7E5 PRG:37E5 88 - lda Zp45 ; CPU:$B7E6 PRG:37E6 A5 45 - cmp #$01 ; CPU:$B7E8 PRG:37E8 C9 01 - beq IrqHandler_Loop313 ; CPU:$B7EA PRG:37EA F0 2B - lda $0162,x ; CPU:$B7EC PRG:37EC BD 62 01 - cmp $0162,y ; CPU:$B7EF PRG:37EF D9 62 01 - bcc IrqHandler_Loop312 ; CPU:$B7F2 PRG:37F2 90 06 - jsr Sub_B6C5 ; CPU:$B7F4 PRG:37F4 20 C5 B6 - jmp IrqHandler_OnCarrySet9 ; CPU:$B7F7 PRG:37F7 4C 05 B8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop312 -; Global: Branch target inside Label: taken when B7FA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop312: - iny ; CPU:$B7FA PRG:37FA C8 - cmp $0162,y ; CPU:$B7FB PRG:37FB D9 62 01 - bcc IrqHandler_OnCarrySet9 ; CPU:$B7FE PRG:37FE 90 05 - beq IrqHandler_OnCarrySet9 ; CPU:$B800 PRG:3800 F0 03 - sta $0162,y ; CPU:$B802 PRG:3802 99 62 01 + jsr IrqHandler_OnNonzero57 ; CPU:$B7DD PRG:37DD 20 66 B5 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet9 -; Global: Branch target inside Label: taken when B805. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet9. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet9: + ldx Zp42 ; CPU:$B7E0 PRG:37E0 A6 42 + ldy Zp42 ; CPU:$B7E2 PRG:37E2 A4 42 + dey ; CPU:$B7E4 PRG:37E4 88 + dey ; CPU:$B7E5 PRG:37E5 88 + lda BoardColumnCount ; CPU:$B7E6 PRG:37E6 A5 45 + cmp #$01 ; CPU:$B7E8 PRG:37E8 C9 01 + beq IrqHandler_Loop342 ; CPU:$B7EA PRG:37EA F0 2B + lda $0162,x ; CPU:$B7EC PRG:37EC BD 62 01 + cmp $0162,y ; CPU:$B7EF PRG:37EF D9 62 01 + bcc IrqHandler_Loop341 ; CPU:$B7F2 PRG:37F2 90 06 + jsr Sub_B6C5 ; CPU:$B7F4 PRG:37F4 20 C5 B6 + jmp IrqHandler_OnCarrySet10 ; CPU:$B7F7 PRG:37F7 4C 05 B8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop341 +; Global: Branch target inside IrqHandler: taken when Loop341. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop341: + iny ; CPU:$B7FA PRG:37FA C8 + cmp $0162,y ; CPU:$B7FB PRG:37FB D9 62 01 + bcc IrqHandler_OnCarrySet10 ; CPU:$B7FE PRG:37FE 90 05 + beq IrqHandler_OnCarrySet10 ; CPU:$B800 PRG:3800 F0 03 + sta $0162,y ; CPU:$B802 PRG:3802 99 62 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet10 +; Global: Branch target inside IrqHandler: taken when OnCarrySet10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet10: jsr Sub_B6C5 ; CPU:$B805 PRG:3805 20 C5 B6 ldy #$00 ; CPU:$B808 PRG:3808 A0 00 - lda (Zp3E),y ; CPU:$B80A PRG:380A B1 3E + lda (BoardDataPtrLo),y ; CPU:$B80A PRG:380A B1 3E cmp #$02 ; CPU:$B80C PRG:380C C9 02 - bcc IrqHandler_Loop316 ; CPU:$B80E PRG:380E 90 22 + bcc IrqHandler_Loop345 ; CPU:$B80E PRG:380E 90 22 sec ; CPU:$B810 PRG:3810 38 sbc #$01 ; CPU:$B811 PRG:3811 E9 01 - sta (Zp3E),y ; CPU:$B813 PRG:3813 91 3E - bcs IrqHandler_OnCarrySet7 ; CPU:$B815 PRG:3815 B0 C6 + sta (BoardDataPtrLo),y ; CPU:$B813 PRG:3813 91 3E + bcs IrqHandler_OnCarrySet8 ; CPU:$B815 PRG:3815 B0 C6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop313 -; Global: Branch target inside Label: taken when B817. -; Local: Part of Label. +; Routine: IrqHandler_Loop342 +; Global: Branch target inside IrqHandler: taken when Loop342. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop313: +IrqHandler_Loop342: lda $0162,x ; CPU:$B817 PRG:3817 BD 62 01 cmp $0162,y ; CPU:$B81A PRG:381A D9 62 01 - beq IrqHandler_Loop314 ; CPU:$B81D PRG:381D F0 02 - bcs IrqHandler_Loop315 ; CPU:$B81F PRG:381F B0 06 + beq IrqHandler_Loop343 ; CPU:$B81D PRG:381D F0 02 + bcs IrqHandler_Loop344 ; CPU:$B81F PRG:381F B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop314 -; Global: Branch target inside Label: taken when B821. -; Local: Part of Label. +; Routine: IrqHandler_Loop343 +; Global: Branch target inside IrqHandler: taken when Loop343. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop314: +IrqHandler_Loop343: jsr Sub_B6C5 ; CPU:$B821 PRG:3821 20 C5 B6 - jmp IrqHandler_OnCarrySet9 ; CPU:$B824 PRG:3824 4C 05 B8 + jmp IrqHandler_OnCarrySet10 ; CPU:$B824 PRG:3824 4C 05 B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop315 -; Global: Branch target inside Label: taken when B827. -; Local: Part of Label. +; Routine: IrqHandler_Loop344 +; Global: Branch target inside IrqHandler: taken when Loop344. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop315: +IrqHandler_Loop344: iny ; CPU:$B827 PRG:3827 C8 cmp $0162,y ; CPU:$B828 PRG:3828 D9 62 01 - bcs IrqHandler_OnCarrySet9 ; CPU:$B82B PRG:382B B0 D8 + bcs IrqHandler_OnCarrySet10 ; CPU:$B82B PRG:382B B0 D8 sta $0162,y ; CPU:$B82D PRG:382D 99 62 01 - bcc IrqHandler_OnCarrySet9 ; CPU:$B830 PRG:3830 90 D3 + bcc IrqHandler_OnCarrySet10 ; CPU:$B830 PRG:3830 90 D3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop316 -; Global: Branch target inside Label: taken when B832. -; Local: Part of Label. +; Routine: IrqHandler_Loop345 +; Global: Branch target inside IrqHandler: taken when Loop345. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop316: +IrqHandler_Loop345: lda Zp42 ; CPU:$B832 PRG:3832 A5 42 cmp #$03 ; CPU:$B834 PRG:3834 C9 03 - bcs IrqHandler_OnCarrySet8 ; CPU:$B836 PRG:3836 B0 A8 + bcs IrqHandler_OnCarrySet9 ; CPU:$B836 PRG:3836 B0 A8 cmp #$01 ; CPU:$B838 PRG:3838 C9 01 - beq IrqHandler_Loop317 ; CPU:$B83A PRG:383A F0 18 + beq IrqHandler_Loop346 ; CPU:$B83A PRG:383A F0 18 lda $0163 ; CPU:$B83C PRG:383C AD 63 01 cmp $0164 ; CPU:$B83F PRG:383F CD 64 01 - bcs IrqHandler_OnCarrySet9 ; CPU:$B842 PRG:3842 B0 C1 + bcs IrqHandler_OnCarrySet10 ; CPU:$B842 PRG:3842 B0 C1 ldx $0500 ; CPU:$B844 PRG:3844 AE 00 05 lda $0500,x ; CPU:$B847 PRG:3847 BD 00 05 sta Zp44 ; CPU:$B84A PRG:384A 85 44 lda $0164 ; CPU:$B84C PRG:384C AD 64 01 sta $0163 ; CPU:$B84F PRG:384F 8D 63 01 - bne IrqHandler_OnCarrySet9 ; CPU:$B852 PRG:3852 D0 B1 + bne IrqHandler_OnCarrySet10 ; CPU:$B852 PRG:3852 D0 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop317 -; Global: Branch target inside Label: taken when B854. -; Local: Part of Label. +; Routine: IrqHandler_Loop346 +; Global: Branch target inside IrqHandler: taken when Loop346. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop317: +IrqHandler_Loop346: rts ; CPU:$B854 PRG:3854 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B855 -; Global: Branch target inside Label: taken when B855. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B855. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B855: lda #$00 ; CPU:$B855 PRG:3855 A9 00 - sta Zp3E ; CPU:$B857 PRG:3857 85 3E + sta BoardDataPtrLo ; CPU:$B857 PRG:3857 85 3E lda #$05 ; CPU:$B859 PRG:3859 A9 05 sta Zp3F ; CPU:$B85B PRG:385B 85 3F lda #$00 ; CPU:$B85D PRG:385D A9 00 @@ -12308,179 +13323,179 @@ Sub_B855: lda #$03 ; CPU:$B861 PRG:3861 A9 03 sta Zp41 ; CPU:$B863 PRG:3863 85 41 lda #$FF ; CPU:$B865 PRG:3865 A9 FF - sta Zp52 ; CPU:$B867 PRG:3867 85 52 - sta Zp51 ; CPU:$B869 PRG:3869 85 51 + sta CellCharset ; CPU:$B867 PRG:3867 85 52 + sta CellType ; CPU:$B869 PRG:3869 85 51 lda #$01 ; CPU:$B86B PRG:386B A9 01 sta Zp42 ; CPU:$B86D PRG:386D 85 42 lda #$FF ; CPU:$B86F PRG:386F A9 FF sta $0162 ; CPU:$B871 PRG:3871 8D 62 01 lda #$01 ; CPU:$B874 PRG:3874 A9 01 - sta Zp45 ; CPU:$B876 PRG:3876 85 45 + sta BoardColumnCount ; CPU:$B876 PRG:3876 85 45 jsr Sub_AF98 ; CPU:$B878 PRG:3878 20 98 AF - lda Zp4B ; CPU:$B87B PRG:387B A5 4B - bne IrqHandler_Loop318 ; CPU:$B87D PRG:387D D0 03 + lda BoardColumn ; CPU:$B87B PRG:387B A5 4B + bne IrqHandler_Loop347 ; CPU:$B87D PRG:387D D0 03 sta Zp44 ; CPU:$B87F PRG:387F 85 44 rts ; CPU:$B881 PRG:3881 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop318 -; Global: Branch target inside Label: taken when B882. -; Local: Part of Label. +; Routine: IrqHandler_Loop347 +; Global: Branch target inside IrqHandler: taken when Loop347. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop318: +IrqHandler_Loop347: cmp #$01 ; CPU:$B882 PRG:3882 C9 01 - bne IrqHandler_OnCarrySet10 ; CPU:$B884 PRG:3884 D0 07 + bne IrqHandler_OnCarrySet11 ; CPU:$B884 PRG:3884 D0 07 ldy #$01 ; CPU:$B886 PRG:3886 A0 01 - lda (Zp3E),y ; CPU:$B888 PRG:3888 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B888 PRG:3888 B1 3E sta Zp44 ; CPU:$B88A PRG:388A 85 44 rts ; CPU:$B88C PRG:388C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet10 -; Global: Branch target inside Label: taken when B88D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet10: - jsr IrqHandler_OnNonzero57 ; CPU:$B88D PRG:388D 20 17 B6 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet11 -; Global: Branch target inside Label: taken when B890. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet11. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet11: - ldx Zp42 ; CPU:$B890 PRG:3890 A6 42 - ldy Zp42 ; CPU:$B892 PRG:3892 A4 42 - dey ; CPU:$B894 PRG:3894 88 - dey ; CPU:$B895 PRG:3895 88 - lda Zp45 ; CPU:$B896 PRG:3896 A5 45 - cmp #$01 ; CPU:$B898 PRG:3898 C9 01 - beq IrqHandler_Loop320 ; CPU:$B89A PRG:389A F0 2B - lda $0162,x ; CPU:$B89C PRG:389C BD 62 01 - cmp $0162,y ; CPU:$B89F PRG:389F D9 62 01 - bcc IrqHandler_Loop319 ; CPU:$B8A2 PRG:38A2 90 06 - jsr Sub_B664 ; CPU:$B8A4 PRG:38A4 20 64 B6 - jmp IrqHandler_OnCarrySet12 ; CPU:$B8A7 PRG:38A7 4C B5 B8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop319 -; Global: Branch target inside Label: taken when B8AA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop319: - iny ; CPU:$B8AA PRG:38AA C8 - cmp $0162,y ; CPU:$B8AB PRG:38AB D9 62 01 - bcc IrqHandler_OnCarrySet12 ; CPU:$B8AE PRG:38AE 90 05 - beq IrqHandler_OnCarrySet12 ; CPU:$B8B0 PRG:38B0 F0 03 - sta $0162,y ; CPU:$B8B2 PRG:38B2 99 62 01 + jsr IrqHandler_OnNonzero59 ; CPU:$B88D PRG:388D 20 17 B6 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet12 -; Global: Branch target inside Label: taken when B8B5. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet12. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet12: + ldx Zp42 ; CPU:$B890 PRG:3890 A6 42 + ldy Zp42 ; CPU:$B892 PRG:3892 A4 42 + dey ; CPU:$B894 PRG:3894 88 + dey ; CPU:$B895 PRG:3895 88 + lda BoardColumnCount ; CPU:$B896 PRG:3896 A5 45 + cmp #$01 ; CPU:$B898 PRG:3898 C9 01 + beq IrqHandler_Loop349 ; CPU:$B89A PRG:389A F0 2B + lda $0162,x ; CPU:$B89C PRG:389C BD 62 01 + cmp $0162,y ; CPU:$B89F PRG:389F D9 62 01 + bcc IrqHandler_Loop348 ; CPU:$B8A2 PRG:38A2 90 06 + jsr Sub_B664 ; CPU:$B8A4 PRG:38A4 20 64 B6 + jmp IrqHandler_OnCarrySet13 ; CPU:$B8A7 PRG:38A7 4C B5 B8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop348 +; Global: Branch target inside IrqHandler: taken when Loop348. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop348: + iny ; CPU:$B8AA PRG:38AA C8 + cmp $0162,y ; CPU:$B8AB PRG:38AB D9 62 01 + bcc IrqHandler_OnCarrySet13 ; CPU:$B8AE PRG:38AE 90 05 + beq IrqHandler_OnCarrySet13 ; CPU:$B8B0 PRG:38B0 F0 03 + sta $0162,y ; CPU:$B8B2 PRG:38B2 99 62 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet13 +; Global: Branch target inside IrqHandler: taken when OnCarrySet13. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet13: jsr Sub_B664 ; CPU:$B8B5 PRG:38B5 20 64 B6 ldy #$00 ; CPU:$B8B8 PRG:38B8 A0 00 - lda (Zp3E),y ; CPU:$B8BA PRG:38BA B1 3E + lda (BoardDataPtrLo),y ; CPU:$B8BA PRG:38BA B1 3E cmp #$02 ; CPU:$B8BC PRG:38BC C9 02 - bcc IrqHandler_Loop323 ; CPU:$B8BE PRG:38BE 90 22 + bcc IrqHandler_Loop352 ; CPU:$B8BE PRG:38BE 90 22 sec ; CPU:$B8C0 PRG:38C0 38 sbc #$01 ; CPU:$B8C1 PRG:38C1 E9 01 - sta (Zp3E),y ; CPU:$B8C3 PRG:38C3 91 3E - bcs IrqHandler_OnCarrySet10 ; CPU:$B8C5 PRG:38C5 B0 C6 + sta (BoardDataPtrLo),y ; CPU:$B8C3 PRG:38C3 91 3E + bcs IrqHandler_OnCarrySet11 ; CPU:$B8C5 PRG:38C5 B0 C6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop320 -; Global: Branch target inside Label: taken when B8C7. -; Local: Part of Label. +; Routine: IrqHandler_Loop349 +; Global: Branch target inside IrqHandler: taken when Loop349. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop320: +IrqHandler_Loop349: lda $0162,x ; CPU:$B8C7 PRG:38C7 BD 62 01 cmp $0162,y ; CPU:$B8CA PRG:38CA D9 62 01 - beq IrqHandler_Loop321 ; CPU:$B8CD PRG:38CD F0 02 - bcs IrqHandler_Loop322 ; CPU:$B8CF PRG:38CF B0 06 + beq IrqHandler_Loop350 ; CPU:$B8CD PRG:38CD F0 02 + bcs IrqHandler_Loop351 ; CPU:$B8CF PRG:38CF B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop321 -; Global: Branch target inside Label: taken when B8D1. -; Local: Part of Label. +; Routine: IrqHandler_Loop350 +; Global: Branch target inside IrqHandler: taken when Loop350. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop321: +IrqHandler_Loop350: jsr Sub_B664 ; CPU:$B8D1 PRG:38D1 20 64 B6 - jmp IrqHandler_OnCarrySet12 ; CPU:$B8D4 PRG:38D4 4C B5 B8 + jmp IrqHandler_OnCarrySet13 ; CPU:$B8D4 PRG:38D4 4C B5 B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop322 -; Global: Branch target inside Label: taken when B8D7. -; Local: Part of Label. +; Routine: IrqHandler_Loop351 +; Global: Branch target inside IrqHandler: taken when Loop351. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop322: +IrqHandler_Loop351: iny ; CPU:$B8D7 PRG:38D7 C8 cmp $0162,y ; CPU:$B8D8 PRG:38D8 D9 62 01 - bcs IrqHandler_OnCarrySet12 ; CPU:$B8DB PRG:38DB B0 D8 + bcs IrqHandler_OnCarrySet13 ; CPU:$B8DB PRG:38DB B0 D8 sta $0162,y ; CPU:$B8DD PRG:38DD 99 62 01 - bcc IrqHandler_OnCarrySet12 ; CPU:$B8E0 PRG:38E0 90 D3 + bcc IrqHandler_OnCarrySet13 ; CPU:$B8E0 PRG:38E0 90 D3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop323 -; Global: Branch target inside Label: taken when B8E2. -; Local: Part of Label. +; Routine: IrqHandler_Loop352 +; Global: Branch target inside IrqHandler: taken when Loop352. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop323: +IrqHandler_Loop352: lda Zp42 ; CPU:$B8E2 PRG:38E2 A5 42 cmp #$03 ; CPU:$B8E4 PRG:38E4 C9 03 - bcs IrqHandler_OnCarrySet11 ; CPU:$B8E6 PRG:38E6 B0 A8 + bcs IrqHandler_OnCarrySet12 ; CPU:$B8E6 PRG:38E6 B0 A8 cmp #$01 ; CPU:$B8E8 PRG:38E8 C9 01 - beq IrqHandler_Loop324 ; CPU:$B8EA PRG:38EA F0 18 + beq IrqHandler_Loop353 ; CPU:$B8EA PRG:38EA F0 18 lda $0163 ; CPU:$B8EC PRG:38EC AD 63 01 cmp $0164 ; CPU:$B8EF PRG:38EF CD 64 01 - bcs IrqHandler_OnCarrySet12 ; CPU:$B8F2 PRG:38F2 B0 C1 + bcs IrqHandler_OnCarrySet13 ; CPU:$B8F2 PRG:38F2 B0 C1 ldx $0500 ; CPU:$B8F4 PRG:38F4 AE 00 05 lda $0500,x ; CPU:$B8F7 PRG:38F7 BD 00 05 sta Zp44 ; CPU:$B8FA PRG:38FA 85 44 lda $0164 ; CPU:$B8FC PRG:38FC AD 64 01 sta $0163 ; CPU:$B8FF PRG:38FF 8D 63 01 - bne IrqHandler_OnCarrySet12 ; CPU:$B902 PRG:3902 D0 B1 + bne IrqHandler_OnCarrySet13 ; CPU:$B902 PRG:3902 D0 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop324 -; Global: Branch target inside Label: taken when B904. -; Local: Part of Label. +; Routine: IrqHandler_Loop353 +; Global: Branch target inside IrqHandler: taken when Loop353. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop324: +IrqHandler_Loop353: rts ; CPU:$B904 PRG:3904 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B905 -; Global: Branch target inside Label: taken when B905. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B905. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B905: lda #$00 ; CPU:$B905 PRG:3905 A9 00 - sta Zp3E ; CPU:$B907 PRG:3907 85 3E + sta BoardDataPtrLo ; CPU:$B907 PRG:3907 85 3E lda #$05 ; CPU:$B909 PRG:3909 A9 05 sta Zp3F ; CPU:$B90B PRG:390B 85 3F lda #$00 ; CPU:$B90D PRG:390D A9 00 @@ -12488,188 +13503,188 @@ Sub_B905: lda #$03 ; CPU:$B911 PRG:3911 A9 03 sta Zp41 ; CPU:$B913 PRG:3913 85 41 lda #$FF ; CPU:$B915 PRG:3915 A9 FF - sta Zp52 ; CPU:$B917 PRG:3917 85 52 - sta Zp51 ; CPU:$B919 PRG:3919 85 51 + sta CellCharset ; CPU:$B917 PRG:3917 85 52 + sta CellType ; CPU:$B919 PRG:3919 85 51 lda #$01 ; CPU:$B91B PRG:391B A9 01 sta Zp42 ; CPU:$B91D PRG:391D 85 42 lda #$FF ; CPU:$B91F PRG:391F A9 FF sta $0162 ; CPU:$B921 PRG:3921 8D 62 01 lda #$01 ; CPU:$B924 PRG:3924 A9 01 - sta Zp45 ; CPU:$B926 PRG:3926 85 45 + sta BoardColumnCount ; CPU:$B926 PRG:3926 85 45 jsr Sub_AF98 ; CPU:$B928 PRG:3928 20 98 AF - lda Zp4B ; CPU:$B92B PRG:392B A5 4B - bne IrqHandler_Loop325 ; CPU:$B92D PRG:392D D0 03 + lda BoardColumn ; CPU:$B92B PRG:392B A5 4B + bne IrqHandler_Loop354 ; CPU:$B92D PRG:392D D0 03 sta Zp44 ; CPU:$B92F PRG:392F 85 44 rts ; CPU:$B931 PRG:3931 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop325 -; Global: Branch target inside Label: taken when B932. -; Local: Part of Label. +; Routine: IrqHandler_Loop354 +; Global: Branch target inside IrqHandler: taken when Loop354. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop325: +IrqHandler_Loop354: cmp #$01 ; CPU:$B932 PRG:3932 C9 01 - bne IrqHandler_OnCarrySet13 ; CPU:$B934 PRG:3934 D0 07 + bne IrqHandler_OnCarrySet14 ; CPU:$B934 PRG:3934 D0 07 ldy #$01 ; CPU:$B936 PRG:3936 A0 01 - lda (Zp3E),y ; CPU:$B938 PRG:3938 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B938 PRG:3938 B1 3E sta Zp44 ; CPU:$B93A PRG:393A 85 44 rts ; CPU:$B93C PRG:393C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet13 -; Global: Branch target inside Label: taken when B93D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet13: - jsr IrqHandler_OnNonzero57 ; CPU:$B93D PRG:393D 20 17 B6 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet14 -; Global: Branch target inside Label: taken when B940. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet14. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet14: - ldx Zp42 ; CPU:$B940 PRG:3940 A6 42 - ldy Zp42 ; CPU:$B942 PRG:3942 A4 42 - dey ; CPU:$B944 PRG:3944 88 - dey ; CPU:$B945 PRG:3945 88 - lda Zp45 ; CPU:$B946 PRG:3946 A5 45 - cmp #$01 ; CPU:$B948 PRG:3948 C9 01 - beq IrqHandler_Loop327 ; CPU:$B94A PRG:394A F0 35 - lda $0162,x ; CPU:$B94C PRG:394C BD 62 01 - cmp $0162,y ; CPU:$B94F PRG:394F D9 62 01 - bcc IrqHandler_Loop326 ; CPU:$B952 PRG:3952 90 06 - jsr Sub_B664 ; CPU:$B954 PRG:3954 20 64 B6 - jmp IrqHandler_OnCarrySet15 ; CPU:$B957 PRG:3957 4C 6F B9 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop326 -; Global: Branch target inside Label: taken when B95A. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop326: - iny ; CPU:$B95A PRG:395A C8 - cmp $0162,y ; CPU:$B95B PRG:395B D9 62 01 - bcc IrqHandler_OnCarrySet15 ; CPU:$B95E PRG:395E 90 0F - beq IrqHandler_OnCarrySet15 ; CPU:$B960 PRG:3960 F0 0D - sta $0162,y ; CPU:$B962 PRG:3962 99 62 01 - cmp #$46 ; CPU:$B965 PRG:3965 C9 46 - bcc IrqHandler_OnCarrySet15 ; CPU:$B967 PRG:3967 90 06 - jsr Sub_B664 ; CPU:$B969 PRG:3969 20 64 B6 - jmp IrqHandler_Loop330 ; CPU:$B96C PRG:396C 4C A1 B9 + jsr IrqHandler_OnNonzero59 ; CPU:$B93D PRG:393D 20 17 B6 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet15 -; Global: Branch target inside Label: taken when B96F. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet15. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet15: + ldx Zp42 ; CPU:$B940 PRG:3940 A6 42 + ldy Zp42 ; CPU:$B942 PRG:3942 A4 42 + dey ; CPU:$B944 PRG:3944 88 + dey ; CPU:$B945 PRG:3945 88 + lda BoardColumnCount ; CPU:$B946 PRG:3946 A5 45 + cmp #$01 ; CPU:$B948 PRG:3948 C9 01 + beq IrqHandler_Loop356 ; CPU:$B94A PRG:394A F0 35 + lda $0162,x ; CPU:$B94C PRG:394C BD 62 01 + cmp $0162,y ; CPU:$B94F PRG:394F D9 62 01 + bcc IrqHandler_Loop355 ; CPU:$B952 PRG:3952 90 06 + jsr Sub_B664 ; CPU:$B954 PRG:3954 20 64 B6 + jmp IrqHandler_OnCarrySet16 ; CPU:$B957 PRG:3957 4C 6F B9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop355 +; Global: Branch target inside IrqHandler: taken when Loop355. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop355: + iny ; CPU:$B95A PRG:395A C8 + cmp $0162,y ; CPU:$B95B PRG:395B D9 62 01 + bcc IrqHandler_OnCarrySet16 ; CPU:$B95E PRG:395E 90 0F + beq IrqHandler_OnCarrySet16 ; CPU:$B960 PRG:3960 F0 0D + sta $0162,y ; CPU:$B962 PRG:3962 99 62 01 + cmp #$46 ; CPU:$B965 PRG:3965 C9 46 + bcc IrqHandler_OnCarrySet16 ; CPU:$B967 PRG:3967 90 06 + jsr Sub_B664 ; CPU:$B969 PRG:3969 20 64 B6 + jmp IrqHandler_Loop359 ; CPU:$B96C PRG:396C 4C A1 B9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet16 +; Global: Branch target inside IrqHandler: taken when OnCarrySet16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet16: jsr Sub_B664 ; CPU:$B96F PRG:396F 20 64 B6 ldy #$00 ; CPU:$B972 PRG:3972 A0 00 - lda (Zp3E),y ; CPU:$B974 PRG:3974 B1 3E + lda (BoardDataPtrLo),y ; CPU:$B974 PRG:3974 B1 3E cmp #$02 ; CPU:$B976 PRG:3976 C9 02 - bcc IrqHandler_Loop330 ; CPU:$B978 PRG:3978 90 27 + bcc IrqHandler_Loop359 ; CPU:$B978 PRG:3978 90 27 sec ; CPU:$B97A PRG:397A 38 sbc #$01 ; CPU:$B97B PRG:397B E9 01 - sta (Zp3E),y ; CPU:$B97D PRG:397D 91 3E - bcs IrqHandler_OnCarrySet13 ; CPU:$B97F PRG:397F B0 BC + sta (BoardDataPtrLo),y ; CPU:$B97D PRG:397D 91 3E + bcs IrqHandler_OnCarrySet14 ; CPU:$B97F PRG:397F B0 BC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop327 -; Global: Branch target inside Label: taken when B981. -; Local: Part of Label. +; Routine: IrqHandler_Loop356 +; Global: Branch target inside IrqHandler: taken when Loop356. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop327: +IrqHandler_Loop356: lda $0162,x ; CPU:$B981 PRG:3981 BD 62 01 cmp $0162,y ; CPU:$B984 PRG:3984 D9 62 01 - beq IrqHandler_Loop328 ; CPU:$B987 PRG:3987 F0 02 - bcs IrqHandler_Loop329 ; CPU:$B989 PRG:3989 B0 06 + beq IrqHandler_Loop357 ; CPU:$B987 PRG:3987 F0 02 + bcs IrqHandler_Loop358 ; CPU:$B989 PRG:3989 B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop328 -; Global: Branch target inside Label: taken when B98B. -; Local: Part of Label. +; Routine: IrqHandler_Loop357 +; Global: Branch target inside IrqHandler: taken when Loop357. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop328: +IrqHandler_Loop357: jsr Sub_B664 ; CPU:$B98B PRG:398B 20 64 B6 - jmp IrqHandler_OnCarrySet15 ; CPU:$B98E PRG:398E 4C 6F B9 + jmp IrqHandler_OnCarrySet16 ; CPU:$B98E PRG:398E 4C 6F B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop329 -; Global: Branch target inside Label: taken when B991. -; Local: Part of Label. +; Routine: IrqHandler_Loop358 +; Global: Branch target inside IrqHandler: taken when Loop358. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop329: +IrqHandler_Loop358: iny ; CPU:$B991 PRG:3991 C8 cmp $0162,y ; CPU:$B992 PRG:3992 D9 62 01 - bcs IrqHandler_OnCarrySet15 ; CPU:$B995 PRG:3995 B0 D8 + bcs IrqHandler_OnCarrySet16 ; CPU:$B995 PRG:3995 B0 D8 sta $0162,y ; CPU:$B997 PRG:3997 99 62 01 cmp #$46 ; CPU:$B99A PRG:399A C9 46 - bcs IrqHandler_OnCarrySet15 ; CPU:$B99C PRG:399C B0 D1 + bcs IrqHandler_OnCarrySet16 ; CPU:$B99C PRG:399C B0 D1 jsr Sub_B664 ; CPU:$B99E PRG:399E 20 64 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop330 -; Global: Branch target inside Label: taken when B9A1. -; Local: Part of Label. +; Routine: IrqHandler_Loop359 +; Global: Branch target inside IrqHandler: taken when Loop359. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop330: +IrqHandler_Loop359: lda Zp42 ; CPU:$B9A1 PRG:39A1 A5 42 cmp #$03 ; CPU:$B9A3 PRG:39A3 C9 03 - bcs IrqHandler_OnCarrySet14 ; CPU:$B9A5 PRG:39A5 B0 99 + bcs IrqHandler_OnCarrySet15 ; CPU:$B9A5 PRG:39A5 B0 99 cmp #$01 ; CPU:$B9A7 PRG:39A7 C9 01 - beq IrqHandler_Loop331 ; CPU:$B9A9 PRG:39A9 F0 20 + beq IrqHandler_Loop360 ; CPU:$B9A9 PRG:39A9 F0 20 lda $0163 ; CPU:$B9AB PRG:39AB AD 63 01 cmp $0164 ; CPU:$B9AE PRG:39AE CD 64 01 - bcs IrqHandler_OnCarrySet15 ; CPU:$B9B1 PRG:39B1 B0 BC + bcs IrqHandler_OnCarrySet16 ; CPU:$B9B1 PRG:39B1 B0 BC ldx $0500 ; CPU:$B9B3 PRG:39B3 AE 00 05 lda $0500,x ; CPU:$B9B6 PRG:39B6 BD 00 05 sta Zp44 ; CPU:$B9B9 PRG:39B9 85 44 lda $0164 ; CPU:$B9BB PRG:39BB AD 64 01 sta $0163 ; CPU:$B9BE PRG:39BE 8D 63 01 cmp #$46 ; CPU:$B9C1 PRG:39C1 C9 46 - bcc IrqHandler_OnCarrySet15 ; CPU:$B9C3 PRG:39C3 90 AA + bcc IrqHandler_OnCarrySet16 ; CPU:$B9C3 PRG:39C3 90 AA jsr Sub_B664 ; CPU:$B9C5 PRG:39C5 20 64 B6 - jmp IrqHandler_Loop330 ; CPU:$B9C8 PRG:39C8 4C A1 B9 + jmp IrqHandler_Loop359 ; CPU:$B9C8 PRG:39C8 4C A1 B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop331 -; Global: Branch target inside Label: taken when B9CB. -; Local: Part of Label. +; Routine: IrqHandler_Loop360 +; Global: Branch target inside IrqHandler: taken when Loop360. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop331: +IrqHandler_Loop360: rts ; CPU:$B9CB PRG:39CB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B9CC -; Global: Branch target inside Label: taken when B9CC. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when B9CC. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B9CC: lda #$00 ; CPU:$B9CC PRG:39CC A9 00 - sta Zp3E ; CPU:$B9CE PRG:39CE 85 3E + sta BoardDataPtrLo ; CPU:$B9CE PRG:39CE 85 3E lda #$05 ; CPU:$B9D0 PRG:39D0 A9 05 sta Zp3F ; CPU:$B9D2 PRG:39D2 85 3F lda #$00 ; CPU:$B9D4 PRG:39D4 A9 00 @@ -12677,181 +13692,181 @@ Sub_B9CC: lda #$03 ; CPU:$B9D8 PRG:39D8 A9 03 sta Zp41 ; CPU:$B9DA PRG:39DA 85 41 lda #$FF ; CPU:$B9DC PRG:39DC A9 FF - sta Zp52 ; CPU:$B9DE PRG:39DE 85 52 - sta Zp51 ; CPU:$B9E0 PRG:39E0 85 51 + sta CellCharset ; CPU:$B9DE PRG:39DE 85 52 + sta CellType ; CPU:$B9E0 PRG:39E0 85 51 lda #$01 ; CPU:$B9E2 PRG:39E2 A9 01 sta Zp42 ; CPU:$B9E4 PRG:39E4 85 42 lda #$FF ; CPU:$B9E6 PRG:39E6 A9 FF sta $0162 ; CPU:$B9E8 PRG:39E8 8D 62 01 lda #$01 ; CPU:$B9EB PRG:39EB A9 01 - sta Zp45 ; CPU:$B9ED PRG:39ED 85 45 + sta BoardColumnCount ; CPU:$B9ED PRG:39ED 85 45 jsr Sub_AF98 ; CPU:$B9EF PRG:39EF 20 98 AF - lda Zp4B ; CPU:$B9F2 PRG:39F2 A5 4B - bne IrqHandler_Loop332 ; CPU:$B9F4 PRG:39F4 D0 03 + lda BoardColumn ; CPU:$B9F2 PRG:39F2 A5 4B + bne IrqHandler_Loop361 ; CPU:$B9F4 PRG:39F4 D0 03 sta Zp44 ; CPU:$B9F6 PRG:39F6 85 44 rts ; CPU:$B9F8 PRG:39F8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop332 -; Global: Branch target inside Label: taken when B9F9. -; Local: Part of Label. +; Routine: IrqHandler_Loop361 +; Global: Branch target inside IrqHandler: taken when Loop361. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop332: +IrqHandler_Loop361: cmp #$01 ; CPU:$B9F9 PRG:39F9 C9 01 - bne IrqHandler_OnCarrySet16 ; CPU:$B9FB PRG:39FB D0 07 + bne IrqHandler_OnCarrySet17 ; CPU:$B9FB PRG:39FB D0 07 ldy #$01 ; CPU:$B9FD PRG:39FD A0 01 - lda (Zp3E),y ; CPU:$B9FF PRG:39FF B1 3E + lda (BoardDataPtrLo),y ; CPU:$B9FF PRG:39FF B1 3E sta Zp44 ; CPU:$BA01 PRG:3A01 85 44 rts ; CPU:$BA03 PRG:3A03 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet16 -; Global: Branch target inside Label: taken when BA04. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet16: - jsr IrqHandler_OnNonzero57 ; CPU:$BA04 PRG:3A04 20 17 B6 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet17 -; Global: Branch target inside Label: taken when BA07. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet17. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet17: - ldx Zp42 ; CPU:$BA07 PRG:3A07 A6 42 - ldy Zp42 ; CPU:$BA09 PRG:3A09 A4 42 - dey ; CPU:$BA0B PRG:3A0B 88 - dey ; CPU:$BA0C PRG:3A0C 88 - lda Zp45 ; CPU:$BA0D PRG:3A0D A5 45 - cmp #$01 ; CPU:$BA0F PRG:3A0F C9 01 - beq IrqHandler_Loop334 ; CPU:$BA11 PRG:3A11 F0 35 - lda $0162,x ; CPU:$BA13 PRG:3A13 BD 62 01 - cmp $0162,y ; CPU:$BA16 PRG:3A16 D9 62 01 - bcc IrqHandler_Loop333 ; CPU:$BA19 PRG:3A19 90 06 - jsr Sub_B664 ; CPU:$BA1B PRG:3A1B 20 64 B6 - jmp IrqHandler_OnCarrySet18 ; CPU:$BA1E PRG:3A1E 4C 36 BA -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop333 -; Global: Branch target inside Label: taken when BA21. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop333: - iny ; CPU:$BA21 PRG:3A21 C8 - cmp $0162,y ; CPU:$BA22 PRG:3A22 D9 62 01 - bcc IrqHandler_OnCarrySet18 ; CPU:$BA25 PRG:3A25 90 0F - beq IrqHandler_OnCarrySet18 ; CPU:$BA27 PRG:3A27 F0 0D - sta $0162,y ; CPU:$BA29 PRG:3A29 99 62 01 - cmp #$47 ; CPU:$BA2C PRG:3A2C C9 47 - bcc IrqHandler_OnCarrySet18 ; CPU:$BA2E PRG:3A2E 90 06 - jsr Sub_B664 ; CPU:$BA30 PRG:3A30 20 64 B6 - jmp IrqHandler_Loop337 ; CPU:$BA33 PRG:3A33 4C 68 BA + jsr IrqHandler_OnNonzero59 ; CPU:$BA04 PRG:3A04 20 17 B6 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet18 -; Global: Branch target inside Label: taken when BA36. -; Local: Part of Label. +; Global: Branch target inside IrqHandler: taken when OnCarrySet18. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnCarrySet18: + ldx Zp42 ; CPU:$BA07 PRG:3A07 A6 42 + ldy Zp42 ; CPU:$BA09 PRG:3A09 A4 42 + dey ; CPU:$BA0B PRG:3A0B 88 + dey ; CPU:$BA0C PRG:3A0C 88 + lda BoardColumnCount ; CPU:$BA0D PRG:3A0D A5 45 + cmp #$01 ; CPU:$BA0F PRG:3A0F C9 01 + beq IrqHandler_Loop363 ; CPU:$BA11 PRG:3A11 F0 35 + lda $0162,x ; CPU:$BA13 PRG:3A13 BD 62 01 + cmp $0162,y ; CPU:$BA16 PRG:3A16 D9 62 01 + bcc IrqHandler_Loop362 ; CPU:$BA19 PRG:3A19 90 06 + jsr Sub_B664 ; CPU:$BA1B PRG:3A1B 20 64 B6 + jmp IrqHandler_OnCarrySet19 ; CPU:$BA1E PRG:3A1E 4C 36 BA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop362 +; Global: Branch target inside IrqHandler: taken when Loop362. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop362: + iny ; CPU:$BA21 PRG:3A21 C8 + cmp $0162,y ; CPU:$BA22 PRG:3A22 D9 62 01 + bcc IrqHandler_OnCarrySet19 ; CPU:$BA25 PRG:3A25 90 0F + beq IrqHandler_OnCarrySet19 ; CPU:$BA27 PRG:3A27 F0 0D + sta $0162,y ; CPU:$BA29 PRG:3A29 99 62 01 + cmp #$47 ; CPU:$BA2C PRG:3A2C C9 47 + bcc IrqHandler_OnCarrySet19 ; CPU:$BA2E PRG:3A2E 90 06 + jsr Sub_B664 ; CPU:$BA30 PRG:3A30 20 64 B6 + jmp IrqHandler_Loop366 ; CPU:$BA33 PRG:3A33 4C 68 BA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet19 +; Global: Branch target inside IrqHandler: taken when OnCarrySet19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet19: jsr Sub_B664 ; CPU:$BA36 PRG:3A36 20 64 B6 ldy #$00 ; CPU:$BA39 PRG:3A39 A0 00 - lda (Zp3E),y ; CPU:$BA3B PRG:3A3B B1 3E + lda (BoardDataPtrLo),y ; CPU:$BA3B PRG:3A3B B1 3E cmp #$02 ; CPU:$BA3D PRG:3A3D C9 02 - bcc IrqHandler_Loop337 ; CPU:$BA3F PRG:3A3F 90 27 + bcc IrqHandler_Loop366 ; CPU:$BA3F PRG:3A3F 90 27 sec ; CPU:$BA41 PRG:3A41 38 sbc #$01 ; CPU:$BA42 PRG:3A42 E9 01 - sta (Zp3E),y ; CPU:$BA44 PRG:3A44 91 3E - bcs IrqHandler_OnCarrySet16 ; CPU:$BA46 PRG:3A46 B0 BC + sta (BoardDataPtrLo),y ; CPU:$BA44 PRG:3A44 91 3E + bcs IrqHandler_OnCarrySet17 ; CPU:$BA46 PRG:3A46 B0 BC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop334 -; Global: Branch target inside Label: taken when BA48. -; Local: Part of Label. +; Routine: IrqHandler_Loop363 +; Global: Branch target inside IrqHandler: taken when Loop363. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop334: +IrqHandler_Loop363: lda $0162,x ; CPU:$BA48 PRG:3A48 BD 62 01 cmp $0162,y ; CPU:$BA4B PRG:3A4B D9 62 01 - beq IrqHandler_Loop335 ; CPU:$BA4E PRG:3A4E F0 02 - bcs IrqHandler_Loop336 ; CPU:$BA50 PRG:3A50 B0 06 + beq IrqHandler_Loop364 ; CPU:$BA4E PRG:3A4E F0 02 + bcs IrqHandler_Loop365 ; CPU:$BA50 PRG:3A50 B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop335 -; Global: Branch target inside Label: taken when BA52. -; Local: Part of Label. +; Routine: IrqHandler_Loop364 +; Global: Branch target inside IrqHandler: taken when Loop364. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop335: +IrqHandler_Loop364: jsr Sub_B664 ; CPU:$BA52 PRG:3A52 20 64 B6 - jmp IrqHandler_OnCarrySet18 ; CPU:$BA55 PRG:3A55 4C 36 BA + jmp IrqHandler_OnCarrySet19 ; CPU:$BA55 PRG:3A55 4C 36 BA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop336 -; Global: Branch target inside Label: taken when BA58. -; Local: Part of Label. +; Routine: IrqHandler_Loop365 +; Global: Branch target inside IrqHandler: taken when Loop365. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop336: +IrqHandler_Loop365: iny ; CPU:$BA58 PRG:3A58 C8 cmp $0162,y ; CPU:$BA59 PRG:3A59 D9 62 01 - bcs IrqHandler_OnCarrySet18 ; CPU:$BA5C PRG:3A5C B0 D8 + bcs IrqHandler_OnCarrySet19 ; CPU:$BA5C PRG:3A5C B0 D8 sta $0162,y ; CPU:$BA5E PRG:3A5E 99 62 01 cmp #$46 ; CPU:$BA61 PRG:3A61 C9 46 - bcs IrqHandler_OnCarrySet18 ; CPU:$BA63 PRG:3A63 B0 D1 + bcs IrqHandler_OnCarrySet19 ; CPU:$BA63 PRG:3A63 B0 D1 jsr Sub_B664 ; CPU:$BA65 PRG:3A65 20 64 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop337 -; Global: Branch target inside Label: taken when BA68. -; Local: Part of Label. +; Routine: IrqHandler_Loop366 +; Global: Branch target inside IrqHandler: taken when Loop366. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop337: +IrqHandler_Loop366: lda Zp42 ; CPU:$BA68 PRG:3A68 A5 42 cmp #$03 ; CPU:$BA6A PRG:3A6A C9 03 - bcs IrqHandler_OnCarrySet17 ; CPU:$BA6C PRG:3A6C B0 99 + bcs IrqHandler_OnCarrySet18 ; CPU:$BA6C PRG:3A6C B0 99 cmp #$01 ; CPU:$BA6E PRG:3A6E C9 01 - beq IrqHandler_Loop338 ; CPU:$BA70 PRG:3A70 F0 20 + beq IrqHandler_Loop367 ; CPU:$BA70 PRG:3A70 F0 20 lda $0163 ; CPU:$BA72 PRG:3A72 AD 63 01 cmp $0164 ; CPU:$BA75 PRG:3A75 CD 64 01 - bcs IrqHandler_OnCarrySet18 ; CPU:$BA78 PRG:3A78 B0 BC + bcs IrqHandler_OnCarrySet19 ; CPU:$BA78 PRG:3A78 B0 BC ldx $0500 ; CPU:$BA7A PRG:3A7A AE 00 05 lda $0500,x ; CPU:$BA7D PRG:3A7D BD 00 05 sta Zp44 ; CPU:$BA80 PRG:3A80 85 44 lda $0164 ; CPU:$BA82 PRG:3A82 AD 64 01 sta $0163 ; CPU:$BA85 PRG:3A85 8D 63 01 cmp #$47 ; CPU:$BA88 PRG:3A88 C9 47 - bcc IrqHandler_OnCarrySet18 ; CPU:$BA8A PRG:3A8A 90 AA + bcc IrqHandler_OnCarrySet19 ; CPU:$BA8A PRG:3A8A 90 AA jsr Sub_B664 ; CPU:$BA8C PRG:3A8C 20 64 B6 - jmp IrqHandler_Loop337 ; CPU:$BA8F PRG:3A8F 4C 68 BA + jmp IrqHandler_Loop366 ; CPU:$BA8F PRG:3A8F 4C 68 BA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop338 -; Global: Branch target inside Label: taken when BA92. -; Local: Part of Label. +; Routine: IrqHandler_Loop367 +; Global: Branch target inside IrqHandler: taken when Loop367. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop338: +IrqHandler_Loop367: rts ; CPU:$BA92 PRG:3A92 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA93 -; Global: Branch target inside Label: taken when BA93. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BA93. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -12861,17 +13876,17 @@ Sub_BA93: clc ; CPU:$BA95 PRG:3A95 18 adc Zp56 ; CPU:$BA96 PRG:3A96 65 56 sta Zp56 ; CPU:$BA98 PRG:3A98 85 56 - bcc IrqHandler_Loop339 ; CPU:$BA9A PRG:3A9A 90 02 + bcc IrqHandler_Loop368 ; CPU:$BA9A PRG:3A9A 90 02 inc Zp57 ; CPU:$BA9C PRG:3A9C E6 57 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop339 -; Global: Branch target inside Label: taken when BA9E. -; Local: Part of Label. +; Routine: IrqHandler_Loop368 +; Global: Branch target inside IrqHandler: taken when Loop368. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop339: +IrqHandler_Loop368: ldy #$00 ; CPU:$BA9E PRG:3A9E A0 00 lda (Zp56),y ; CPU:$BAA0 PRG:3AA0 B1 56 jsr Sub_BB6C ; CPU:$BAA2 PRG:3AA2 20 6C BB @@ -12887,14 +13902,14 @@ IrqHandler_Loop339: adc #$00 ; CPU:$BAB6 PRG:3AB6 69 00 sta Zp5B ; CPU:$BAB8 PRG:3AB8 85 5B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarryClear14 -; Global: Branch target inside Label: taken when BABA. -; Local: Part of Label. +; Routine: IrqHandler_OnCarryClear15 +; Global: Branch target inside IrqHandler: taken when OnCarryClear15. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarryClear14: +IrqHandler_OnCarryClear15: lda (Zp5A),y ; CPU:$BABA PRG:3ABA B1 5A tax ; CPU:$BABC PRG:3ABC AA dex ; CPU:$BABD PRG:3ABD CA @@ -12902,17 +13917,17 @@ IrqHandler_OnCarryClear14: clc ; CPU:$BABF PRG:3ABF 18 adc Zp58 ; CPU:$BAC0 PRG:3AC0 65 58 sta Zp58 ; CPU:$BAC2 PRG:3AC2 85 58 - bcc IrqHandler_Loop340 ; CPU:$BAC4 PRG:3AC4 90 02 + bcc IrqHandler_Loop369 ; CPU:$BAC4 PRG:3AC4 90 02 inc Zp59 ; CPU:$BAC6 PRG:3AC6 E6 59 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop340 -; Global: Branch target inside Label: taken when BAC8. -; Local: Part of Label. +; Routine: IrqHandler_Loop369 +; Global: Branch target inside IrqHandler: taken when Loop369. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop340: +IrqHandler_Loop369: inx ; CPU:$BAC8 PRG:3AC8 E8 txa ; CPU:$BAC9 PRG:3AC9 8A clc ; CPU:$BACA PRG:3ACA 18 @@ -12922,20 +13937,20 @@ IrqHandler_Loop340: adc #$00 ; CPU:$BAD1 PRG:3AD1 69 00 sta Zp5B ; CPU:$BAD3 PRG:3AD3 85 5B cmp Zp57 ; CPU:$BAD5 PRG:3AD5 C5 57 - bcc IrqHandler_OnCarryClear14 ; CPU:$BAD7 PRG:3AD7 90 E1 - bne IrqHandler_Loop341 ; CPU:$BAD9 PRG:3AD9 D0 06 + bcc IrqHandler_OnCarryClear15 ; CPU:$BAD7 PRG:3AD7 90 E1 + bne IrqHandler_Loop370 ; CPU:$BAD9 PRG:3AD9 D0 06 lda Zp5A ; CPU:$BADB PRG:3ADB A5 5A cmp Zp56 ; CPU:$BADD PRG:3ADD C5 56 - bcc IrqHandler_OnCarryClear14 ; CPU:$BADF PRG:3ADF 90 D9 + bcc IrqHandler_OnCarryClear15 ; CPU:$BADF PRG:3ADF 90 D9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop341 -; Global: Branch target inside Label: taken when BAE1. -; Local: Part of Label. +; Routine: IrqHandler_Loop370 +; Global: Branch target inside IrqHandler: taken when Loop370. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop341: +IrqHandler_Loop370: txa ; CPU:$BAE1 PRG:3AE1 8A eor #$FF ; CPU:$BAE2 PRG:3AE2 49 FF sec ; CPU:$BAE4 PRG:3AE4 38 @@ -12948,17 +13963,17 @@ IrqHandler_Loop341: clc ; CPU:$BAF1 PRG:3AF1 18 adc Zp4F ; CPU:$BAF2 PRG:3AF2 65 4F sta Zp58 ; CPU:$BAF4 PRG:3AF4 85 58 - bcc IrqHandler_Loop342 ; CPU:$BAF6 PRG:3AF6 90 02 + bcc IrqHandler_Loop371 ; CPU:$BAF6 PRG:3AF6 90 02 inc Zp59 ; CPU:$BAF8 PRG:3AF8 E6 59 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop342 -; Global: Branch target inside Label: taken when BAFA. -; Local: Part of Label. +; Routine: IrqHandler_Loop371 +; Global: Branch target inside IrqHandler: taken when Loop371. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop342: +IrqHandler_Loop371: ldy #$00 ; CPU:$BAFA PRG:3AFA A0 00 lda Zp54 ; CPU:$BAFC PRG:3AFC A5 54 clc ; CPU:$BAFE PRG:3AFE 18 @@ -12978,42 +13993,42 @@ IrqHandler_Loop342: sta Zp57 ; CPU:$BB15 PRG:3B15 85 57 ldy #$00 ; CPU:$BB17 PRG:3B17 A0 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet19 -; Global: Branch target inside Label: taken when BB19. -; Local: Part of Label. +; Routine: IrqHandler_OnCarrySet20 +; Global: Branch target inside IrqHandler: taken when OnCarrySet20. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet19: +IrqHandler_OnCarrySet20: cpy Zp58 ; CPU:$BB19 PRG:3B19 C4 58 - bne IrqHandler_Loop343 ; CPU:$BB1B PRG:3B1B D0 04 + bne IrqHandler_Loop372 ; CPU:$BB1B PRG:3B1B D0 04 cpy Zp59 ; CPU:$BB1D PRG:3B1D C4 59 - beq IrqHandler_Loop345 ; CPU:$BB1F PRG:3B1F F0 1A + beq IrqHandler_Loop374 ; CPU:$BB1F PRG:3B1F F0 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop343 -; Global: Branch target inside Label: taken when BB21. -; Local: Part of Label. +; Routine: IrqHandler_Loop372 +; Global: Branch target inside IrqHandler: taken when Loop372. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop343: +IrqHandler_Loop372: lda (Zp56),y ; CPU:$BB21 PRG:3B21 B1 56 clc ; CPU:$BB23 PRG:3B23 18 adc Zp56 ; CPU:$BB24 PRG:3B24 65 56 sta Zp56 ; CPU:$BB26 PRG:3B26 85 56 - bcc IrqHandler_Loop344 ; CPU:$BB28 PRG:3B28 90 02 + bcc IrqHandler_Loop373 ; CPU:$BB28 PRG:3B28 90 02 inc Zp57 ; CPU:$BB2A PRG:3B2A E6 57 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop344 -; Global: Branch target inside Label: taken when BB2C. -; Local: Part of Label. +; Routine: IrqHandler_Loop373 +; Global: Branch target inside IrqHandler: taken when Loop373. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop344: +IrqHandler_Loop373: lda Zp58 ; CPU:$BB2C PRG:3B2C A5 58 sec ; CPU:$BB2E PRG:3B2E 38 sbc #$01 ; CPU:$BB2F PRG:3B2F E9 01 @@ -13021,21 +14036,21 @@ IrqHandler_Loop344: lda Zp59 ; CPU:$BB33 PRG:3B33 A5 59 sbc #$00 ; CPU:$BB35 PRG:3B35 E9 00 sta Zp59 ; CPU:$BB37 PRG:3B37 85 59 - bcs IrqHandler_OnCarrySet19 ; CPU:$BB39 PRG:3B39 B0 DE + bcs IrqHandler_OnCarrySet20 ; CPU:$BB39 PRG:3B39 B0 DE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop345 -; Global: Branch target inside Label: taken when BB3B. -; Local: Part of Label. +; Routine: IrqHandler_Loop374 +; Global: Branch target inside IrqHandler: taken when Loop374. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop345: +IrqHandler_Loop374: rts ; CPU:$BB3B PRG:3B3B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BB3C -; Global: Branch target inside Label: taken when BB3C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BB3C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13044,31 +14059,31 @@ Sub_BB3C: ldx #$47 ; CPU:$BB3C PRG:3B3C A2 47 lda #$00 ; CPU:$BB3E PRG:3B3E A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero61 -; Global: Branch target inside Label: taken when BB40. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero63 +; Global: Branch target inside IrqHandler: taken when OnNonzero63. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero61: +IrqHandler_OnNonzero63: sta Zp5B,x ; CPU:$BB40 PRG:3B40 95 5B dex ; CPU:$BB42 PRG:3B42 CA - bne IrqHandler_OnNonzero61 ; CPU:$BB43 PRG:3B43 D0 FB + bne IrqHandler_OnNonzero63 ; CPU:$BB43 PRG:3B43 D0 FB ldx #$12 ; CPU:$BB45 PRG:3B45 A2 12 ; ----------------------------------------------------------------------------- ; Routine: Sub_BB47 -; Global: Branch target inside Label: taken when BB47. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BB47. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_BB47: lda $BD51,x ; CPU:$BB47 PRG:3B47 BD 51 BD - beq IrqHandler_Loop346 ; CPU:$BB4A PRG:3B4A F0 13 + beq IrqHandler_Loop375 ; CPU:$BB4A PRG:3B4A F0 13 tax ; CPU:$BB4C PRG:3B4C AA - lda ZpA5,x ; CPU:$BB4D PRG:3B4D B5 A5 + lda CellPatternIndex,x ; CPU:$BB4D PRG:3B4D B5 A5 pha ; CPU:$BB4F PRG:3B4F 48 txa ; CPU:$BB50 PRG:3B50 8A pha ; CPU:$BB51 PRG:3B51 48 @@ -13077,37 +14092,37 @@ Sub_BB47: pla ; CPU:$BB56 PRG:3B56 68 tax ; CPU:$BB57 PRG:3B57 AA pla ; CPU:$BB58 PRG:3B58 68 - sta a:Zp52,y ; CPU:$BB59 PRG:3B59 99 52 00 + sta a:CellCharset,y ; CPU:$BB59 PRG:3B59 99 52 00 jmp Sub_BB47 ; CPU:$BB5C PRG:3B5C 4C 47 BB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop346 -; Global: Branch target inside Label: taken when BB5F. -; Local: Part of Label. +; Routine: IrqHandler_Loop375 +; Global: Branch target inside IrqHandler: taken when Loop375. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop346: +IrqHandler_Loop375: ldx #$47 ; CPU:$BB5F PRG:3B5F A2 47 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero62 -; Global: Branch target inside Label: taken when BB61. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero64 +; Global: Branch target inside IrqHandler: taken when OnNonzero64. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero62: +IrqHandler_OnNonzero64: lda Zp5B,x ; CPU:$BB61 PRG:3B61 B5 5B sta ZpAE,x ; CPU:$BB63 PRG:3B63 95 AE dex ; CPU:$BB65 PRG:3B65 CA - bne IrqHandler_OnNonzero62 ; CPU:$BB66 PRG:3B66 D0 F9 + bne IrqHandler_OnNonzero64 ; CPU:$BB66 PRG:3B66 D0 F9 jsr Sub_BBA8 ; CPU:$BB68 PRG:3B68 20 A8 BB rts ; CPU:$BB6B PRG:3B6B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BB6C -; Global: Branch target inside Label: taken when BB6C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BB6C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13116,96 +14131,96 @@ Sub_BB6C: sta Zp4A ; CPU:$BB6C PRG:3B6C 85 4A lda Zp4C ; CPU:$BB6E PRG:3B6E A5 4C and #$01 ; CPU:$BB70 PRG:3B70 29 01 - beq IrqHandler_Loop349 ; CPU:$BB72 PRG:3B72 F0 24 + beq IrqHandler_Loop378 ; CPU:$BB72 PRG:3B72 F0 24 lda Zp4A ; CPU:$BB74 PRG:3B74 A5 4A sec ; CPU:$BB76 PRG:3B76 38 sbc #$09 ; CPU:$BB77 PRG:3B77 E9 09 ldy #$01 ; CPU:$BB79 PRG:3B79 A0 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero63 -; Global: Branch target inside Label: taken when BB7B. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero65 +; Global: Branch target inside IrqHandler: taken when OnNonzero65. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero63: +IrqHandler_OnNonzero65: cmp #$09 ; CPU:$BB7B PRG:3B7B C9 09 - bcc IrqHandler_Loop347 ; CPU:$BB7D PRG:3B7D 90 06 + bcc IrqHandler_Loop376 ; CPU:$BB7D PRG:3B7D 90 06 sec ; CPU:$BB7F PRG:3B7F 38 sbc #$09 ; CPU:$BB80 PRG:3B80 E9 09 iny ; CPU:$BB82 PRG:3B82 C8 - bne IrqHandler_OnNonzero63 ; CPU:$BB83 PRG:3B83 D0 F6 + bne IrqHandler_OnNonzero65 ; CPU:$BB83 PRG:3B83 D0 F6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop347 -; Global: Branch target inside Label: taken when BB85. -; Local: Part of Label. +; Routine: IrqHandler_Loop376 +; Global: Branch target inside IrqHandler: taken when Loop376. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop347: +IrqHandler_Loop376: tax ; CPU:$BB85 PRG:3B85 AA lda #$09 ; CPU:$BB86 PRG:3B86 A9 09 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero64 -; Global: Branch target inside Label: taken when BB88. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero66 +; Global: Branch target inside IrqHandler: taken when OnNonzero66. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero64: +IrqHandler_OnNonzero66: dex ; CPU:$BB88 PRG:3B88 CA - beq IrqHandler_Loop348 ; CPU:$BB89 PRG:3B89 F0 05 + beq IrqHandler_Loop377 ; CPU:$BB89 PRG:3B89 F0 05 clc ; CPU:$BB8B PRG:3B8B 18 adc #$09 ; CPU:$BB8C PRG:3B8C 69 09 - bne IrqHandler_OnNonzero64 ; CPU:$BB8E PRG:3B8E D0 F8 + bne IrqHandler_OnNonzero66 ; CPU:$BB8E PRG:3B8E D0 F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop348 -; Global: Branch target inside Label: taken when BB90. -; Local: Part of Label. +; Routine: IrqHandler_Loop377 +; Global: Branch target inside IrqHandler: taken when Loop377. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop348: +IrqHandler_Loop377: sta Zp4A ; CPU:$BB90 PRG:3B90 85 4A tya ; CPU:$BB92 PRG:3B92 98 clc ; CPU:$BB93 PRG:3B93 18 adc Zp4A ; CPU:$BB94 PRG:3B94 65 4A sta Zp4A ; CPU:$BB96 PRG:3B96 85 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop349 -; Global: Branch target inside Label: taken when BB98. -; Local: Part of Label. +; Routine: IrqHandler_Loop378 +; Global: Branch target inside IrqHandler: taken when Loop378. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop349: +IrqHandler_Loop378: lda Zp4C ; CPU:$BB98 PRG:3B98 A5 4C and #$02 ; CPU:$BB9A PRG:3B9A 29 02 - beq IrqHandler_Loop350 ; CPU:$BB9C PRG:3B9C F0 07 + beq IrqHandler_Loop379 ; CPU:$BB9C PRG:3B9C F0 07 lda #$5A ; CPU:$BB9E PRG:3B9E A9 5A sec ; CPU:$BBA0 PRG:3BA0 38 sbc Zp4A ; CPU:$BBA1 PRG:3BA1 E5 4A sta Zp4A ; CPU:$BBA3 PRG:3BA3 85 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop350 -; Global: Branch target inside Label: taken when BBA5. -; Local: Part of Label. +; Routine: IrqHandler_Loop379 +; Global: Branch target inside IrqHandler: taken when Loop379. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop350: +IrqHandler_Loop379: lda Zp4A ; CPU:$BBA5 PRG:3BA5 A5 4A rts ; CPU:$BBA7 PRG:3BA7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BBA8 -; Global: Branch target inside Label: taken when BBA8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BBA8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13217,68 +14232,113 @@ Sub_BBA8: ldx #$12 ; CPU:$BBAE PRG:3BAE A2 12 ldy #$12 ; CPU:$BBB0 PRG:3BB0 A0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero65 -; Global: Branch target inside Label: taken when BBB2. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero67 +; Global: Branch target inside IrqHandler: taken when OnNonzero67. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero65: +IrqHandler_OnNonzero67: lda $BD51,x ; CPU:$BBB2 PRG:3BB2 BD 51 BD - beq IrqHandler_Loop353 ; CPU:$BBB5 PRG:3BB5 F0 1B + beq IrqHandler_Loop382 ; CPU:$BBB5 PRG:3BB5 F0 1B tax ; CPU:$BBB7 PRG:3BB7 AA - lda ZpA5,x ; CPU:$BBB8 PRG:3BB8 B5 A5 + lda CellPatternIndex,x ; CPU:$BBB8 PRG:3BB8 B5 A5 cmp #$01 ; CPU:$BBBA PRG:3BBA C9 01 - bne IrqHandler_Loop351 ; CPU:$BBBC PRG:3BBC D0 04 + bne IrqHandler_Loop380 ; CPU:$BBBC PRG:3BBC D0 04 inc Zp47 ; CPU:$BBBE PRG:3BBE E6 47 - bne IrqHandler_OnNonzero65 ; CPU:$BBC0 PRG:3BC0 D0 F0 + bne IrqHandler_OnNonzero67 ; CPU:$BBC0 PRG:3BC0 D0 F0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop351 -; Global: Branch target inside Label: taken when BBC2. -; Local: Part of Label. +; Routine: IrqHandler_Loop380 +; Global: Branch target inside IrqHandler: taken when Loop380. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop351: +IrqHandler_Loop380: cmp #$02 ; CPU:$BBC2 PRG:3BC2 C9 02 - bne IrqHandler_Loop352 ; CPU:$BBC4 PRG:3BC4 D0 04 + bne IrqHandler_Loop381 ; CPU:$BBC4 PRG:3BC4 D0 04 inc Zp46 ; CPU:$BBC6 PRG:3BC6 E6 46 - bne IrqHandler_OnNonzero65 ; CPU:$BBC8 PRG:3BC8 D0 E8 + bne IrqHandler_OnNonzero67 ; CPU:$BBC8 PRG:3BC8 D0 E8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop352 -; Global: Branch target inside Label: taken when BBCA. -; Local: Part of Label. +; Routine: IrqHandler_Loop381 +; Global: Branch target inside IrqHandler: taken when Loop381. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop352: +IrqHandler_Loop381: txa ; CPU:$BBCA PRG:3BCA 8A sta $0777,y ; CPU:$BBCB PRG:3BCB 99 77 07 tay ; CPU:$BBCE PRG:3BCE A8 - jmp IrqHandler_OnNonzero65 ; CPU:$BBCF PRG:3BCF 4C B2 BB + jmp IrqHandler_OnNonzero67 ; CPU:$BBCF PRG:3BCF 4C B2 BB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop353 -; Global: Branch target inside Label: taken when BBD2. +; Routine: IrqHandler_Loop382 +; Global: Branch target inside IrqHandler: taken when Loop382. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop382: + sta $0777,y ; CPU:$BBD2 PRG:3BD2 99 77 07 + sty $0792 ; CPU:$BBD5 PRG:3BD5 8C 92 07 + rts ; CPU:$BBD8 PRG:3BD8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BBD9 +; Global: Branch target inside Label: taken when BBD9. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop353: - sta $0777,y ; CPU:$BBD2 PRG:3BD2 99 77 07 - sty $0792 ; CPU:$BBD5 PRG:3BD5 8C 92 07 - rts ; CPU:$BBD8 PRG:3BD8 60 -; ---- data $BBD9-$BC02 (42 bytes) ---- - .byte $A5, $4D, $48, $20, $03, $BC, $68, $AA, $E4, $4D, $F0, $15, $A4, $4D, $B9, $26 ; CPU:$BBD9 PRG:3BD9 A5 4D 48 20 03 BC 68 AA E4 4D F0 15 A4 4D B9 26 - .byte $01, $85, $44, $8A, $48, $20, $4B, $BC, $A5, $4D, $C9, $0D, $B0, $03, $20, $93 ; CPU:$BBE9 PRG:3BE9 01 85 44 8A 48 20 4B BC A5 4D C9 0D B0 03 20 93 - .byte $BA, $68, $AA, $E6, $4D, $D0, $E1, $4C, $A8, $BB ; CPU:$BBF9 PRG:3BF9 BA 68 AA E6 4D D0 E1 4C A8 BB +Label_BBD9: + lda Zp4D ; CPU:$BBD9 PRG:3BD9 A5 4D + pha ; CPU:$BBDB PRG:3BDB 48 + jsr Sub_BC03 ; CPU:$BBDC PRG:3BDC 20 03 BC + pla ; CPU:$BBDF PRG:3BDF 68 + tax ; CPU:$BBE0 PRG:3BE0 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero68 +; Global: Branch target inside IrqHandler: taken when OnNonzero68. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero68: + cpx Zp4D ; CPU:$BBE1 PRG:3BE1 E4 4D + beq IrqHandler_Loop383 ; CPU:$BBE3 PRG:3BE3 F0 15 + ldy Zp4D ; CPU:$BBE5 PRG:3BE5 A4 4D + lda $0126,y ; CPU:$BBE7 PRG:3BE7 B9 26 01 + sta Zp44 ; CPU:$BBEA PRG:3BEA 85 44 + txa ; CPU:$BBEC PRG:3BEC 8A + pha ; CPU:$BBED PRG:3BED 48 + jsr Sub_BC4B ; CPU:$BBEE PRG:3BEE 20 4B BC + lda Zp4D ; CPU:$BBF1 PRG:3BF1 A5 4D + cmp #$0D ; CPU:$BBF3 PRG:3BF3 C9 0D + bcs IrqHandler_Loop383 ; CPU:$BBF5 PRG:3BF5 B0 03 + jsr Sub_BA93 ; CPU:$BBF7 PRG:3BF7 20 93 BA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop383 +; Global: Branch target inside IrqHandler: taken when Loop383. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop383: + pla ; CPU:$BBFA PRG:3BFA 68 + tax ; CPU:$BBFB PRG:3BFB AA + inc Zp4D ; CPU:$BBFC PRG:3BFC E6 4D + bne IrqHandler_OnNonzero68 ; CPU:$BBFE PRG:3BFE D0 E1 + jmp Sub_BBA8 ; CPU:$BC00 PRG:3C00 4C A8 BB ; ----------------------------------------------------------------------------- ; Routine: Sub_BC03 -; Global: Branch target inside Label: taken when BC03. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BC03. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13286,43 +14346,43 @@ IrqHandler_Loop353: Sub_BC03: lda Zp4E ; CPU:$BC03 PRG:3C03 A5 4E eor #$03 ; CPU:$BC05 PRG:3C05 49 03 - sta Zp45 ; CPU:$BC07 PRG:3C07 85 45 + sta BoardColumnCount ; CPU:$BC07 PRG:3C07 85 45 lda #$02 ; CPU:$BC09 PRG:3C09 A9 02 sta Zp46 ; CPU:$BC0B PRG:3C0B 85 46 sta Zp47 ; CPU:$BC0D PRG:3C0D 85 47 ldx #$47 ; CPU:$BC0F PRG:3C0F A2 47 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero66 -; Global: Branch target inside Label: taken when BC11. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero69 +; Global: Branch target inside IrqHandler: taken when OnNonzero69. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero66: +IrqHandler_OnNonzero69: lda $BD5A,x ; CPU:$BC11 PRG:3C11 BD 5A BD sta $0780,x ; CPU:$BC14 PRG:3C14 9D 80 07 dex ; CPU:$BC17 PRG:3C17 CA - bne IrqHandler_OnNonzero66 ; CPU:$BC18 PRG:3C18 D0 F7 + bne IrqHandler_OnNonzero69 ; CPU:$BC18 PRG:3C18 D0 F7 ldx #$5B ; CPU:$BC1A PRG:3C1A A2 5B lda #$00 ; CPU:$BC1C PRG:3C1C A9 00 sta Zp4D ; CPU:$BC1E PRG:3C1E 85 4D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero67 -; Global: Branch target inside Label: taken when BC20. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero70 +; Global: Branch target inside IrqHandler: taken when OnNonzero70. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero67: +IrqHandler_OnNonzero70: sta ZpA4,x ; CPU:$BC20 PRG:3C20 95 A4 dex ; CPU:$BC22 PRG:3C22 CA - bne IrqHandler_OnNonzero67 ; CPU:$BC23 PRG:3C23 D0 FB + bne IrqHandler_OnNonzero70 ; CPU:$BC23 PRG:3C23 D0 FB lda Zp4E ; CPU:$BC25 PRG:3C25 A5 4E sta ZpCE ; CPU:$BC27 PRG:3C27 85 CE sta ZpD6 ; CPU:$BC29 PRG:3C29 85 D6 - lda Zp45 ; CPU:$BC2B PRG:3C2B A5 45 + lda BoardColumnCount ; CPU:$BC2B PRG:3C2B A5 45 sta ZpCD ; CPU:$BC2D PRG:3C2D 85 CD sta ZpD7 ; CPU:$BC2F PRG:3C2F 85 D7 lda #$FF ; CPU:$BC31 PRG:3C31 A9 FF @@ -13340,8 +14400,8 @@ IrqHandler_OnNonzero67: rts ; CPU:$BC4A PRG:3C4A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BC4B -; Global: Branch target inside Label: taken when BC4B. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BC4B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13351,136 +14411,136 @@ Sub_BC4B: clc ; CPU:$BC4D PRG:3C4D 18 adc Zp3B ; CPU:$BC4E PRG:3C4E 65 3B cmp #$04 ; CPU:$BC50 PRG:3C50 C9 04 - bne IrqHandler_Loop359 ; CPU:$BC52 PRG:3C52 D0 31 + bne IrqHandler_Loop389 ; CPU:$BC52 PRG:3C52 D0 31 lda Zp44 ; CPU:$BC54 PRG:3C54 A5 44 cmp #$33 ; CPU:$BC56 PRG:3C56 C9 33 - bne IrqHandler_Loop354 ; CPU:$BC58 PRG:3C58 D0 04 + bne IrqHandler_Loop384 ; CPU:$BC58 PRG:3C58 D0 04 lda #$00 ; CPU:$BC5A PRG:3C5A A9 00 - beq IrqHandler_Loop357 ; CPU:$BC5C PRG:3C5C F0 12 + beq IrqHandler_Loop387 ; CPU:$BC5C PRG:3C5C F0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop354 -; Global: Branch target inside Label: taken when BC5E. -; Local: Part of Label. +; Routine: IrqHandler_Loop384 +; Global: Branch target inside IrqHandler: taken when Loop384. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop354: +IrqHandler_Loop384: cmp #$3B ; CPU:$BC5E PRG:3C5E C9 3B - bne IrqHandler_Loop355 ; CPU:$BC60 PRG:3C60 D0 04 + bne IrqHandler_Loop385 ; CPU:$BC60 PRG:3C60 D0 04 lda #$01 ; CPU:$BC62 PRG:3C62 A9 01 - bne IrqHandler_Loop357 ; CPU:$BC64 PRG:3C64 D0 0A + bne IrqHandler_Loop387 ; CPU:$BC64 PRG:3C64 D0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop355 -; Global: Branch target inside Label: taken when BC66. -; Local: Part of Label. +; Routine: IrqHandler_Loop385 +; Global: Branch target inside IrqHandler: taken when Loop385. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop355: +IrqHandler_Loop385: cmp #$27 ; CPU:$BC66 PRG:3C66 C9 27 - bne IrqHandler_Loop356 ; CPU:$BC68 PRG:3C68 D0 04 + bne IrqHandler_Loop386 ; CPU:$BC68 PRG:3C68 D0 04 lda #$02 ; CPU:$BC6A PRG:3C6A A9 02 - bne IrqHandler_Loop357 ; CPU:$BC6C PRG:3C6C D0 02 + bne IrqHandler_Loop387 ; CPU:$BC6C PRG:3C6C D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop356 -; Global: Branch target inside Label: taken when BC6E. -; Local: Part of Label. +; Routine: IrqHandler_Loop386 +; Global: Branch target inside IrqHandler: taken when Loop386. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop356: +IrqHandler_Loop386: lda #$03 ; CPU:$BC6E PRG:3C6E A9 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop357 -; Global: Branch target inside Label: taken when BC70. -; Local: Part of Label. +; Routine: IrqHandler_Loop387 +; Global: Branch target inside IrqHandler: taken when Loop387. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop357: +IrqHandler_Loop387: sta Zp4C ; CPU:$BC70 PRG:3C70 85 4C lda Zp4E ; CPU:$BC72 PRG:3C72 A5 4E cmp #$01 ; CPU:$BC74 PRG:3C74 C9 01 - bne IrqHandler_Loop358 ; CPU:$BC76 PRG:3C76 D0 05 + bne IrqHandler_Loop388 ; CPU:$BC76 PRG:3C76 D0 05 lda #$01 ; CPU:$BC78 PRG:3C78 A9 01 sta Zp4F ; CPU:$BC7A PRG:3C7A 85 4F rts ; CPU:$BC7C PRG:3C7C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop358 -; Global: Branch target inside Label: taken when BC7D. -; Local: Part of Label. +; Routine: IrqHandler_Loop388 +; Global: Branch target inside IrqHandler: taken when Loop388. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop358: +IrqHandler_Loop388: lda #$02 ; CPU:$BC7D PRG:3C7D A9 02 sta Zp4F ; CPU:$BC7F PRG:3C7F 85 4F jsr Sub_BA93 ; CPU:$BC81 PRG:3C81 20 93 BA rts ; CPU:$BC84 PRG:3C84 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop359 -; Global: Branch target inside Label: taken when BC85. -; Local: Part of Label. +; Routine: IrqHandler_Loop389 +; Global: Branch target inside IrqHandler: taken when Loop389. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop359: +IrqHandler_Loop389: jsr Sub_BB3C ; CPU:$BC85 PRG:3C85 20 3C BB - lda Zp50 ; CPU:$BC88 PRG:3C88 A5 50 + lda CellValid ; CPU:$BC88 PRG:3C88 A5 50 pha ; CPU:$BC8A PRG:3C8A 48 lda #$00 ; CPU:$BC8B PRG:3C8B A9 00 - sta Zp50 ; CPU:$BC8D PRG:3C8D 85 50 + sta CellValid ; CPU:$BC8D PRG:3C8D 85 50 lda #$02 ; CPU:$BC8F PRG:3C8F A9 02 - sta Zp45 ; CPU:$BC91 PRG:3C91 85 45 + sta BoardColumnCount ; CPU:$BC91 PRG:3C91 85 45 lda #$00 ; CPU:$BC93 PRG:3C93 A9 00 - sta Zp3E ; CPU:$BC95 PRG:3C95 85 3E + sta BoardDataPtrLo ; CPU:$BC95 PRG:3C95 85 3E lda #$05 ; CPU:$BC97 PRG:3C97 A9 05 sta Zp3F ; CPU:$BC99 PRG:3C99 85 3F lda #$02 ; CPU:$BC9B PRG:3C9B A9 02 sta Zp42 ; CPU:$BC9D PRG:3C9D 85 42 jsr Sub_AF98 ; CPU:$BC9F PRG:3C9F 20 98 AF pla ; CPU:$BCA2 PRG:3CA2 68 - sta Zp50 ; CPU:$BCA3 PRG:3CA3 85 50 - lda Zp4B ; CPU:$BCA5 PRG:3CA5 A5 4B - bne IrqHandler_Loop360 ; CPU:$BCA7 PRG:3CA7 D0 05 + sta CellValid ; CPU:$BCA3 PRG:3CA3 85 50 + lda BoardColumn ; CPU:$BCA5 PRG:3CA5 A5 4B + bne IrqHandler_Loop390 ; CPU:$BCA7 PRG:3CA7 D0 05 ldy #$01 ; CPU:$BCA9 PRG:3CA9 A0 01 jmp Sub_BCBE ; CPU:$BCAB PRG:3CAB 4C BE BC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop360 -; Global: Branch target inside Label: taken when BCAE. -; Local: Part of Label. +; Routine: IrqHandler_Loop390 +; Global: Branch target inside IrqHandler: taken when Loop390. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop360: +IrqHandler_Loop390: lda Zp44 ; CPU:$BCAE PRG:3CAE A5 44 jsr Sub_BB6C ; CPU:$BCB0 PRG:3CB0 20 6C BB cmp #$33 ; CPU:$BCB3 PRG:3CB3 C9 33 - beq IrqHandler_Loop361 ; CPU:$BCB5 PRG:3CB5 F0 0F + beq IrqHandler_Loop391 ; CPU:$BCB5 PRG:3CB5 F0 0F ldy #$00 ; CPU:$BCB7 PRG:3CB7 A0 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero68 -; Global: Branch target inside Label: taken when BCB9. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero71 +; Global: Branch target inside IrqHandler: taken when OnNonzero71. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero68: +IrqHandler_OnNonzero71: iny ; CPU:$BCB9 PRG:3CB9 C8 - cmp (Zp3E),y ; CPU:$BCBA PRG:3CBA D1 3E - bne IrqHandler_OnNonzero68 ; CPU:$BCBC PRG:3CBC D0 FB + cmp (BoardDataPtrLo),y ; CPU:$BCBA PRG:3CBA D1 3E + bne IrqHandler_OnNonzero71 ; CPU:$BCBC PRG:3CBC D0 FB ; ----------------------------------------------------------------------------- ; Routine: Sub_BCBE -; Global: Branch target inside Label: taken when BCBE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BCBE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13490,21 +14550,21 @@ Sub_BCBE: jsr Sub_BB3C ; CPU:$BCC0 PRG:3CC0 20 3C BB jmp Sub_BCCD ; CPU:$BCC3 PRG:3CC3 4C CD BC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop361 -; Global: Branch target inside Label: taken when BCC6. -; Local: Part of Label. +; Routine: IrqHandler_Loop391 +; Global: Branch target inside IrqHandler: taken when Loop391. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop361: +IrqHandler_Loop391: lda #$01 ; CPU:$BCC6 PRG:3CC6 A9 01 sta Zp4F ; CPU:$BCC8 PRG:3CC8 85 4F jsr Sub_BB3C ; CPU:$BCCA PRG:3CCA 20 3C BB ; ----------------------------------------------------------------------------- ; Routine: Sub_BCCD -; Global: Branch target inside Label: taken when BCCD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when BCCD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -13519,7 +14579,8 @@ Sub_BCCD: ; referenced by `lda $BCCE,x` at $AFE5 (operand $BCCE falls inside this region) ; referenced by `ldy $BCCE,x` at $B0DC (operand $BCCE falls inside this region) ; ... and 34 further references from decoded code - .byte $51, $51, $51, $51, $51, $51, $51, $51, $51, $51, $52, $52, $62, $62, $62, $62 ; CPU:$BCCE PRG:3CCE 51 51 51 51 51 51 51 51 51 51 52 52 62 62 62 62 +BoardTilemapData: + .byte $51, $51, $51, $51, $51, $51, $51, $51, $51, $51, $52, $52, $62, $62, $62, $62 ; CPU:$BCCE PRG:-332 51 51 51 51 51 51 51 51 51 51 52 52 62 62 62 62 .byte $56, $56, $51, $52, $52, $62, $62, $62, $62, $56, $56, $51, $74, $74, $7A, $7A ; CPU:$BCDE PRG:3CDE 56 56 51 52 52 62 62 62 62 56 56 51 74 74 7A 7A .byte $7A, $7A, $68, $68, $51, $74, $74, $7A, $51, $51, $7A, $68, $68, $51, $74, $74 ; CPU:$BCEE PRG:3CEE 7A 7A 68 68 51 74 74 7A 51 51 7A 68 68 51 74 74 .byte $7A, $51, $51, $7A, $68, $68, $51, $74, $74, $7A, $7A, $7A, $7A, $68, $68, $51 ; CPU:$BCFE PRG:3CFE 7A 51 51 7A 68 68 51 74 74 7A 7A 7A 7A 68 68 51 @@ -13935,39 +14996,39 @@ Sub_BCCD: .byte $16, $38, $0F, $0F, $0F, $30 ; CPU:$D69E PRG:569E 16 38 0F 0F 0F 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6A4 -; Global: Branch target inside Label: taken when D6A4. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D6A4. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D6A4: - lda Zp00 ; CPU:$D6A4 PRG:56A4 A5 00 + lda PpuCtrlShadow ; CPU:$D6A4 PRG:56A4 A5 00 and #$7F ; CPU:$D6A6 PRG:56A6 29 7F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero69 -; Global: Branch target inside Label: taken when D6A8. -; Local: Part of Label. +; Routine: IrqHandler_OnNonzero72 +; Global: Branch target inside IrqHandler: taken when OnNonzero72. +; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero69: +IrqHandler_OnNonzero72: sta PPUCTRL ; CPU:$D6A8 PRG:56A8 8D 00 20 - sta Zp00 ; CPU:$D6AB PRG:56AB 85 00 + sta PpuCtrlShadow ; CPU:$D6AB PRG:56AB 85 00 rts ; CPU:$D6AD PRG:56AD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6AE -; Global: Branch target inside Label: taken when D6AE. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D6AE. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D6AE: - lda Zp00 ; CPU:$D6AE PRG:56AE A5 00 + lda PpuCtrlShadow ; CPU:$D6AE PRG:56AE A5 00 ora #$80 ; CPU:$D6B0 PRG:56B0 09 80 - bne IrqHandler_OnNonzero69 ; CPU:$D6B2 PRG:56B2 D0 F4 + bne IrqHandler_OnNonzero72 ; CPU:$D6B2 PRG:56B2 D0 F4 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Routine NmiHandler. @@ -13992,14 +15053,14 @@ NmiHandler: inc Zp05 ; CPU:$D6CC PRG:56CC E6 05 jsr Sub_DA09 ; CPU:$D6CE PRG:56CE 20 09 DA inc Zp26 ; CPU:$D6D1 PRG:56D1 E6 26 - lda Zp2E ; CPU:$D6D3 PRG:56D3 A5 2E + lda CursorMoved ; CPU:$D6D3 PRG:56D3 A5 2E and #$08 ; CPU:$D6D5 PRG:56D5 29 08 bne NmiHandler_Loop ; CPU:$D6D7 PRG:56D7 D0 03 jsr Sub_DB70 ; CPU:$D6D9 PRG:56D9 20 70 DB ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop -; Global: Branch target inside Label: taken when D6DC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the loop repeats. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14013,22 +15074,22 @@ NmiHandler_Loop: rti ; CPU:$D6E1 PRG:56E1 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6E2 -; Global: Branch target inside Label: taken when D6E2. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D6E2. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D6E2: pha ; CPU:$D6E2 PRG:56E2 48 - lda Zp00 ; CPU:$D6E3 PRG:56E3 A5 00 + lda PpuCtrlShadow ; CPU:$D6E3 PRG:56E3 A5 00 bpl NmiHandler_OnNonnegative ; CPU:$D6E5 PRG:56E5 10 0A lda #$00 ; CPU:$D6E7 PRG:56E7 A9 00 sta Zp05 ; CPU:$D6E9 PRG:56E9 85 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero -; Global: Branch target inside Label: taken when D6EB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is zero. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14040,8 +15101,8 @@ NmiHandler_OnZero: rts ; CPU:$D6F0 PRG:56F0 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative -; Global: Branch target inside Label: taken when D6F1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is not negative. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14055,8 +15116,8 @@ NmiHandler_OnNonnegative: rts ; CPU:$D6FC PRG:56FC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6FD -; Global: Branch target inside Label: taken when D6FD. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D6FD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14065,8 +15126,8 @@ Sub_D6FD: lda #$00 ; CPU:$D6FD PRG:56FD A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6FF -; Global: Branch target inside Label: taken when D6FF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D6FF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14078,8 +15139,8 @@ Sub_D6FF: rts ; CPU:$D707 PRG:5707 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D708 -; Global: Branch target inside Label: taken when D708. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D708. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14089,8 +15150,8 @@ Sub_D708: jsr Sub_D6FF ; CPU:$D70A PRG:570A 20 FF D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_D70D -; Global: Branch target inside Label: taken when D70D. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D70D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14110,7 +15171,7 @@ Sub_D70D: sta PPUSCROLL ; CPU:$D723 PRG:5723 8D 05 20 rol Zp13 ; CPU:$D726 PRG:5726 26 13 lda Zp13 ; CPU:$D728 PRG:5728 A5 13 - ora Zp00 ; CPU:$D72A PRG:572A 05 00 + ora PpuCtrlShadow ; CPU:$D72A PRG:572A 05 00 sta PPUCTRL ; CPU:$D72C PRG:572C 8D 00 20 lda Zp02 ; CPU:$D72F PRG:572F A5 02 asl a ; CPU:$D731 PRG:5731 0A @@ -14118,8 +15179,8 @@ Sub_D70D: rts ; CPU:$D735 PRG:5735 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D736 -; Global: Branch target inside Label: taken when D736. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D736. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14133,34 +15194,34 @@ Sub_D736: sbc #$1E ; CPU:$D740 PRG:5740 E9 1E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop2 -; Global: Branch target inside Label: taken when D742. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop2: - sta Zp0F ; CPU:$D742 PRG:5742 85 0F + sta MoveDeltaX ; CPU:$D742 PRG:5742 85 0F lda #$00 ; CPU:$D744 PRG:5744 A9 00 - sta Zp10 ; CPU:$D746 PRG:5746 85 10 + sta MoveDeltaY ; CPU:$D746 PRG:5746 85 10 ldx #$05 ; CPU:$D748 PRG:5748 A2 05 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero -; Global: Branch target inside Label: taken when D74A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when the tested value is not zero. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero: - asl Zp0F ; CPU:$D74A PRG:574A 06 0F - rol Zp10 ; CPU:$D74C PRG:574C 26 10 + asl MoveDeltaX ; CPU:$D74A PRG:574A 06 0F + rol MoveDeltaY ; CPU:$D74C PRG:574C 26 10 dex ; CPU:$D74E PRG:574E CA bne NmiHandler_OnNonzero ; CPU:$D74F PRG:574F D0 F9 lda Zp14 ; CPU:$D751 PRG:5751 A5 14 and #$1F ; CPU:$D753 PRG:5753 29 1F - ora Zp0F ; CPU:$D755 PRG:5755 05 0F - sta Zp0F ; CPU:$D757 PRG:5757 85 0F + ora MoveDeltaX ; CPU:$D755 PRG:5755 05 0F + sta MoveDeltaX ; CPU:$D757 PRG:5757 85 0F lda #$20 ; CPU:$D759 PRG:5759 A9 20 ldx Zp14 ; CPU:$D75B PRG:575B A6 14 cpx #$20 ; CPU:$D75D PRG:575D E0 20 @@ -14168,8 +15229,8 @@ NmiHandler_OnNonzero: ora #$04 ; CPU:$D761 PRG:5761 09 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop3 -; Global: Branch target inside Label: taken when D763. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14181,20 +15242,20 @@ NmiHandler_Loop3: ora #$08 ; CPU:$D769 PRG:5769 09 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop4 -; Global: Branch target inside Label: taken when D76B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop4: - ora Zp10 ; CPU:$D76B PRG:576B 05 10 - sta Zp10 ; CPU:$D76D PRG:576D 85 10 + ora MoveDeltaY ; CPU:$D76B PRG:576B 05 10 + sta MoveDeltaY ; CPU:$D76D PRG:576D 85 10 rts ; CPU:$D76F PRG:576F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D770 -; Global: Branch target inside Label: taken when D770. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D770. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14205,8 +15266,8 @@ Sub_D770: bne NmiHandler_Loop5 ; CPU:$D774 PRG:5774 D0 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_D776 -; Global: Branch target inside Label: taken when D776. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D776. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14217,8 +15278,8 @@ Sub_D776: bne NmiHandler_Loop5 ; CPU:$D77A PRG:577A D0 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_D77C -; Global: Branch target inside Label: taken when D77C. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D77C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14228,8 +15289,8 @@ Sub_D77C: lda #$00 ; CPU:$D77E PRG:577E A9 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop5 -; Global: Branch target inside Label: taken when D780. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14256,8 +15317,8 @@ NmiHandler_Loop5: inc Zp0E ; CPU:$D7A0 PRG:57A0 E6 0E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop6 -; Global: Branch target inside Label: taken when D7A2. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14272,15 +15333,15 @@ NmiHandler_Loop6: cmp #$02 ; CPU:$D7AC PRG:57AC C9 02 beq NmiHandler_Loop7 ; CPU:$D7AE PRG:57AE F0 0A lda (Zp11),y ; CPU:$D7B0 PRG:57B0 B1 11 - sta Zp0F ; CPU:$D7B2 PRG:57B2 85 0F + sta MoveDeltaX ; CPU:$D7B2 PRG:57B2 85 0F iny ; CPU:$D7B4 PRG:57B4 C8 lda (Zp11),y ; CPU:$D7B5 PRG:57B5 B1 11 - sta Zp10 ; CPU:$D7B7 PRG:57B7 85 10 + sta MoveDeltaY ; CPU:$D7B7 PRG:57B7 85 10 iny ; CPU:$D7B9 PRG:57B9 C8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop7 -; Global: Branch target inside Label: taken when D7BA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14298,8 +15359,8 @@ NmiHandler_Loop7: ldx Zp15 ; CPU:$D7CA PRG:57CA A6 15 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside Label: taken when D7CC. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14309,20 +15370,20 @@ NmiHandler_OnNonzero2: pha ; CPU:$D7CD PRG:57CD 48 lda Zp04 ; CPU:$D7CE PRG:57CE A5 04 bne NmiHandler_Loop9 ; CPU:$D7D0 PRG:57D0 D0 32 - lda Zp00 ; CPU:$D7D2 PRG:57D2 A5 00 + lda PpuCtrlShadow ; CPU:$D7D2 PRG:57D2 A5 00 pha ; CPU:$D7D4 PRG:57D4 48 jsr Sub_D6A4 ; CPU:$D7D5 PRG:57D5 20 A4 D6 - lda Zp00 ; CPU:$D7D8 PRG:57D8 A5 00 + lda PpuCtrlShadow ; CPU:$D7D8 PRG:57D8 A5 00 sta PPUCTRL ; CPU:$D7DA PRG:57DA 8D 00 20 - lda Zp10 ; CPU:$D7DD PRG:57DD A5 10 + lda MoveDeltaY ; CPU:$D7DD PRG:57DD A5 10 sta PPUADDR ; CPU:$D7DF PRG:57DF 8D 06 20 - lda Zp0F ; CPU:$D7E2 PRG:57E2 A5 0F + lda MoveDeltaX ; CPU:$D7E2 PRG:57E2 A5 0F sta PPUADDR ; CPU:$D7E4 PRG:57E4 8D 06 20 ldx Zp14 ; CPU:$D7E7 PRG:57E7 A6 14 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside Label: taken when D7E9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14338,8 +15399,8 @@ NmiHandler_OnNonzero3: inc Zp12 ; CPU:$D7F8 PRG:57F8 E6 12 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop8 -; Global: Branch target inside Label: taken when D7FA. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14348,12 +15409,12 @@ NmiHandler_Loop8: dex ; CPU:$D7FA PRG:57FA CA bne NmiHandler_OnNonzero3 ; CPU:$D7FB PRG:57FB D0 EC pla ; CPU:$D7FD PRG:57FD 68 - jsr IrqHandler_OnNonzero69 ; CPU:$D7FE PRG:57FE 20 A8 D6 + jsr IrqHandler_OnNonzero72 ; CPU:$D7FE PRG:57FE 20 A8 D6 jmp Sub_D824 ; CPU:$D801 PRG:5801 4C 24 D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop9 -; Global: Branch target inside Label: taken when D804. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14365,8 +15426,8 @@ NmiHandler_Loop9: jsr Sub_D8F9 ; CPU:$D80A PRG:580A 20 F9 D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside Label: taken when D80D. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14382,8 +15443,8 @@ NmiHandler_OnNonzero4: inc Zp12 ; CPU:$D81C PRG:581C E6 12 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop10 -; Global: Branch target inside Label: taken when D81E. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14394,23 +15455,23 @@ NmiHandler_Loop10: jsr Sub_D905 ; CPU:$D821 PRG:5821 20 05 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_D824 -; Global: Branch target inside Label: taken when D824. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D824. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D824: - lda Zp0F ; CPU:$D824 PRG:5824 A5 0F + lda MoveDeltaX ; CPU:$D824 PRG:5824 A5 0F clc ; CPU:$D826 PRG:5826 18 adc #$20 ; CPU:$D827 PRG:5827 69 20 - sta Zp0F ; CPU:$D829 PRG:5829 85 0F + sta MoveDeltaX ; CPU:$D829 PRG:5829 85 0F bcc NmiHandler_Loop11 ; CPU:$D82B PRG:582B 90 02 - inc Zp10 ; CPU:$D82D PRG:582D E6 10 + inc MoveDeltaY ; CPU:$D82D PRG:582D E6 10 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop11 -; Global: Branch target inside Label: taken when D82F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop11. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14426,21 +15487,21 @@ NmiHandler_Loop11: rts ; CPU:$D83A PRG:583A 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop12 -; Global: Branch target inside Label: taken when D83B. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop12. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop12: - lda Zp10 ; CPU:$D83B PRG:583B A5 10 + lda MoveDeltaY ; CPU:$D83B PRG:583B A5 10 ora #$80 ; CPU:$D83D PRG:583D 09 80 - sta Zp10 ; CPU:$D83F PRG:583F 85 10 + sta MoveDeltaY ; CPU:$D83F PRG:583F 85 10 ldx Zp14 ; CPU:$D841 PRG:5841 A6 14 ; ----------------------------------------------------------------------------- ; Routine: Sub_D843 -; Global: Branch target inside Label: taken when D843. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D843. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14454,22 +15515,22 @@ Sub_D843: pha ; CPU:$D84A PRG:584A 48 lda Zp04 ; CPU:$D84B PRG:584B A5 04 bne NmiHandler_Loop14 ; CPU:$D84D PRG:584D D0 3B - lda Zp00 ; CPU:$D84F PRG:584F A5 00 + lda PpuCtrlShadow ; CPU:$D84F PRG:584F A5 00 pha ; CPU:$D851 PRG:5851 48 jsr Sub_D6A4 ; CPU:$D852 PRG:5852 20 A4 D6 - lda Zp00 ; CPU:$D855 PRG:5855 A5 00 + lda PpuCtrlShadow ; CPU:$D855 PRG:5855 A5 00 ora #$04 ; CPU:$D857 PRG:5857 09 04 sta PPUCTRL ; CPU:$D859 PRG:5859 8D 00 20 - lda Zp10 ; CPU:$D85C PRG:585C A5 10 + lda MoveDeltaY ; CPU:$D85C PRG:585C A5 10 and #$7F ; CPU:$D85E PRG:585E 29 7F sta PPUADDR ; CPU:$D860 PRG:5860 8D 06 20 - lda Zp0F ; CPU:$D863 PRG:5863 A5 0F + lda MoveDeltaX ; CPU:$D863 PRG:5863 A5 0F sta PPUADDR ; CPU:$D865 PRG:5865 8D 06 20 ldx Zp15 ; CPU:$D868 PRG:5868 A6 15 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside Label: taken when D86A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14488,8 +15549,8 @@ NmiHandler_OnNonzero5: inc Zp12 ; CPU:$D87E PRG:587E E6 12 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop13 -; Global: Branch target inside Label: taken when D880. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop13. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14498,12 +15559,12 @@ NmiHandler_Loop13: dex ; CPU:$D880 PRG:5880 CA bne NmiHandler_OnNonzero5 ; CPU:$D881 PRG:5881 D0 E7 pla ; CPU:$D883 PRG:5883 68 - jsr IrqHandler_OnNonzero69 ; CPU:$D884 PRG:5884 20 A8 D6 + jsr IrqHandler_OnNonzero72 ; CPU:$D884 PRG:5884 20 A8 D6 jmp Sub_D8AF ; CPU:$D887 PRG:5887 4C AF D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop14 -; Global: Branch target inside Label: taken when D88A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop14. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14515,8 +15576,8 @@ NmiHandler_Loop14: jsr Sub_D8F9 ; CPU:$D890 PRG:5890 20 F9 D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside Label: taken when D893. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14535,8 +15596,8 @@ NmiHandler_OnNonzero6: inc Zp12 ; CPU:$D8A7 PRG:58A7 E6 12 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop15 -; Global: Branch target inside Label: taken when D8A9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop15. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14547,20 +15608,20 @@ NmiHandler_Loop15: jsr Sub_D905 ; CPU:$D8AC PRG:58AC 20 05 D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_D8AF -; Global: Branch target inside Label: taken when D8AF. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D8AF. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_D8AF: - inc Zp0F ; CPU:$D8AF PRG:58AF E6 0F + inc MoveDeltaX ; CPU:$D8AF PRG:58AF E6 0F bne NmiHandler_Loop16 ; CPU:$D8B1 PRG:58B1 D0 02 - inc Zp10 ; CPU:$D8B3 PRG:58B3 E6 10 + inc MoveDeltaY ; CPU:$D8B3 PRG:58B3 E6 10 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop16 -; Global: Branch target inside Label: taken when D8B5. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop16. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14575,8 +15636,8 @@ NmiHandler_Loop16: inc Zp12 ; CPU:$D8BF PRG:58BF E6 12 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop17 -; Global: Branch target inside Label: taken when D8C1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop17. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14589,8 +15650,8 @@ NmiHandler_Loop17: jmp Sub_D843 ; CPU:$D8C6 PRG:58C6 4C 43 D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop18 -; Global: Branch target inside Label: taken when D8C9. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14600,12 +15661,22 @@ NmiHandler_Loop18: ldx Zp19 ; CPU:$D8CB PRG:58CB A6 19 ldy Zp1A ; CPU:$D8CD PRG:58CD A4 1A rts ; CPU:$D8CF PRG:58CF 60 -; ---- data $D8D0-$D8D4 (5 bytes) ---- - .byte $A5, $21, $85, $20, $60 ; CPU:$D8D0 PRG:58D0 A5 21 85 20 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D8D0 +; Global: Branch target inside Label: taken when D8D0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D8D0: + lda Zp21 ; CPU:$D8D0 PRG:58D0 A5 21 + sta Zp20 ; CPU:$D8D2 PRG:58D2 85 20 + rts ; CPU:$D8D4 PRG:58D4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D8D5 -; Global: Branch target inside Label: taken when D8D5. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D8D5. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14620,8 +15691,8 @@ Sub_D8D5: jmp Sub_D8D5 ; CPU:$D8E1 PRG:58E1 4C D5 D8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop19 -; Global: Branch target inside Label: taken when D8E4. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14629,10 +15700,10 @@ Sub_D8D5: NmiHandler_Loop19: stx Zp17 ; CPU:$D8E4 PRG:58E4 86 17 ldx Zp20 ; CPU:$D8E6 PRG:58E6 A6 20 - lda Zp10 ; CPU:$D8E8 PRG:58E8 A5 10 + lda MoveDeltaY ; CPU:$D8E8 PRG:58E8 A5 10 sta $0300,x ; CPU:$D8EA PRG:58EA 9D 00 03 inx ; CPU:$D8ED PRG:58ED E8 - lda Zp0F ; CPU:$D8EE PRG:58EE A5 0F + lda MoveDeltaX ; CPU:$D8EE PRG:58EE A5 0F sta $0300,x ; CPU:$D8F0 PRG:58F0 9D 00 03 inx ; CPU:$D8F3 PRG:58F3 E8 stx Zp22 ; CPU:$D8F4 PRG:58F4 86 22 @@ -14640,8 +15711,8 @@ NmiHandler_Loop19: rts ; CPU:$D8F8 PRG:58F8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D8F9 -; Global: Branch target inside Label: taken when D8F9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D8F9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14655,8 +15726,8 @@ Sub_D8F9: rts ; CPU:$D904 PRG:5904 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D905 -; Global: Branch target inside Label: taken when D905. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D905. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14667,8 +15738,8 @@ Sub_D905: rts ; CPU:$D909 PRG:5909 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D90A -; Global: Branch target inside Label: taken when D90A. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D90A. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14681,8 +15752,8 @@ Sub_D90A: rts ; CPU:$D912 PRG:5912 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside Label: taken when D913. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14702,14 +15773,14 @@ NmiHandler_OnNonzero7: lda $0300,x ; CPU:$D929 PRG:5929 BD 00 03 inx ; CPU:$D92C PRG:592C E8 sta PPUADDR ; CPU:$D92D PRG:592D 8D 06 20 - lda Zp00 ; CPU:$D930 PRG:5930 A5 00 + lda PpuCtrlShadow ; CPU:$D930 PRG:5930 A5 00 ldy Zp1E ; CPU:$D932 PRG:5932 A4 1E bpl NmiHandler_Loop20 ; CPU:$D934 PRG:5934 10 02 ora #$04 ; CPU:$D936 PRG:5936 09 04 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop20 -; Global: Branch target inside Label: taken when D938. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop20. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14720,8 +15791,8 @@ NmiHandler_Loop20: inx ; CPU:$D93E PRG:593E E8 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside Label: taken when D93F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14743,8 +15814,8 @@ NmiHandler_OnNonzero8: sta PPUADDR ; CPU:$D95C PRG:595C 8D 06 20 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop21 -; Global: Branch target inside Label: taken when D95F. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop21. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14755,8 +15826,8 @@ NmiHandler_Loop21: bne NmiHandler_OnNonzero7 ; CPU:$D963 PRG:5963 D0 AE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop22 -; Global: Branch target inside Label: taken when D965. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when Loop22. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14765,8 +15836,8 @@ NmiHandler_Loop22: rts ; CPU:$D965 PRG:5965 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D966 -; Global: Branch target inside Label: taken when D966. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D966. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14780,8 +15851,8 @@ Sub_D966: inx ; CPU:$D972 PRG:5972 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_D973 -; Global: Branch target inside Label: taken when D973. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D973. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14790,8 +15861,8 @@ Sub_D973: ldy #$08 ; CPU:$D973 PRG:5973 A0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside Label: taken when D975. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14815,21 +15886,117 @@ NmiHandler_OnNonzero9: lda Zp1E ; CPU:$D98E PRG:598E A5 1E sta Zp06,x ; CPU:$D990 PRG:5990 95 06 rts ; CPU:$D992 PRG:5992 60 -; ---- data $D993-$D9DC (74 bytes) ---- - .byte $20, $DD, $D9, $A5, $16, $29, $0F, $65, $14, $C9, $0A, $90, $02, $69, $05, $65 ; CPU:$D993 PRG:5993 20 DD D9 A5 16 29 0F 65 14 C9 0A 90 02 69 05 65 - .byte $15, $85, $15, $A5, $16, $29, $F0, $65, $15, $90, $04, $69, $5F, $38, $60, $C9 ; CPU:$D9A3 PRG:59A3 15 85 15 A5 16 29 F0 65 15 90 04 69 5F 38 60 C9 - .byte $A0, $B0, $F8, $60, $20, $DD, $D9, $A5, $16, $29, $0F, $E5, $14, $85, $14, $B0 ; CPU:$D9B3 PRG:59B3 A0 B0 F8 60 20 DD D9 A5 16 29 0F E5 14 85 14 B0 - .byte $0A, $69, $0A, $85, $14, $A5, $15, $69, $0F, $85, $15, $A5, $16, $29, $F0, $38 ; CPU:$D9C3 PRG:59C3 0A 69 0A 85 14 A5 15 69 0F 85 15 A5 16 29 F0 38 - .byte $E5, $15, $B0, $03, $69, $A0, $18, $05, $14, $60 ; CPU:$D9D3 PRG:59D3 E5 15 B0 03 69 A0 18 05 14 60 ; ----------------------------------------------------------------------------- -; Routine: Label_D9DD -; Global: Branch target inside Label: taken when D9DD. +; Routine: Label_D993 +; Global: Branch target inside Label: taken when D993. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_D9DD: +Label_D993: + jsr Sub_D9DD ; CPU:$D993 PRG:5993 20 DD D9 + lda Zp16 ; CPU:$D996 PRG:5996 A5 16 + and #$0F ; CPU:$D998 PRG:5998 29 0F + adc Zp14 ; CPU:$D99A PRG:599A 65 14 + cmp #$0A ; CPU:$D99C PRG:599C C9 0A + bcc NmiHandler_Loop23 ; CPU:$D99E PRG:599E 90 02 + adc #$05 ; CPU:$D9A0 PRG:59A0 69 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: + adc Zp15 ; CPU:$D9A2 PRG:59A2 65 15 + sta Zp15 ; CPU:$D9A4 PRG:59A4 85 15 + lda Zp16 ; CPU:$D9A6 PRG:59A6 A5 16 + and #$F0 ; CPU:$D9A8 PRG:59A8 29 F0 + adc Zp15 ; CPU:$D9AA PRG:59AA 65 15 + bcc NmiHandler_Loop24 ; CPU:$D9AC PRG:59AC 90 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + adc #$5F ; CPU:$D9AE PRG:59AE 69 5F + sec ; CPU:$D9B0 PRG:59B0 38 + rts ; CPU:$D9B1 PRG:59B1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: + cmp #$A0 ; CPU:$D9B2 PRG:59B2 C9 A0 + bcs NmiHandler_OnCarrySet ; CPU:$D9B4 PRG:59B4 B0 F8 + rts ; CPU:$D9B6 PRG:59B6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D9B7 +; Global: Branch target inside Label: taken when D9B7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D9B7: + jsr Sub_D9DD ; CPU:$D9B7 PRG:59B7 20 DD D9 + lda Zp16 ; CPU:$D9BA PRG:59BA A5 16 + and #$0F ; CPU:$D9BC PRG:59BC 29 0F + sbc Zp14 ; CPU:$D9BE PRG:59BE E5 14 + sta Zp14 ; CPU:$D9C0 PRG:59C0 85 14 + bcs NmiHandler_Loop25 ; CPU:$D9C2 PRG:59C2 B0 0A + adc #$0A ; CPU:$D9C4 PRG:59C4 69 0A + sta Zp14 ; CPU:$D9C6 PRG:59C6 85 14 + lda Zp15 ; CPU:$D9C8 PRG:59C8 A5 15 + adc #$0F ; CPU:$D9CA PRG:59CA 69 0F + sta Zp15 ; CPU:$D9CC PRG:59CC 85 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + lda Zp16 ; CPU:$D9CE PRG:59CE A5 16 + and #$F0 ; CPU:$D9D0 PRG:59D0 29 F0 + sec ; CPU:$D9D2 PRG:59D2 38 + sbc Zp15 ; CPU:$D9D3 PRG:59D3 E5 15 + bcs NmiHandler_Loop26 ; CPU:$D9D5 PRG:59D5 B0 03 + adc #$A0 ; CPU:$D9D7 PRG:59D7 69 A0 + clc ; CPU:$D9D9 PRG:59D9 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop26: + ora Zp14 ; CPU:$D9DA PRG:59DA 05 14 + rts ; CPU:$D9DC PRG:59DC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D9DD +; Global: Branch target inside Sub: taken when D9DD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9DD: sty Zp16 ; CPU:$D9DD PRG:59DD 84 16 pha ; CPU:$D9DF PRG:59DF 48 and #$0F ; CPU:$D9E0 PRG:59E0 29 0F @@ -14840,8 +16007,8 @@ Label_D9DD: rts ; CPU:$D9E9 PRG:59E9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D9EA -; Global: Branch target inside Label: taken when D9EA. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when D9EA. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14853,40 +16020,40 @@ Sub_D9EA: sta Zp13 ; CPU:$D9EE PRG:59EE 85 13 ldx Zp25 ; CPU:$D9F0 PRG:59F0 A6 25 cpx Zp24 ; CPU:$D9F2 PRG:59F2 E4 24 - beq NmiHandler_Loop24 ; CPU:$D9F4 PRG:59F4 F0 0E + beq NmiHandler_Loop28 ; CPU:$D9F4 PRG:59F4 F0 0E lda $0400,x ; CPU:$D9F6 PRG:59F6 BD 00 04 sta Zp13 ; CPU:$D9F9 PRG:59F9 85 13 inx ; CPU:$D9FB PRG:59FB E8 cpx #$10 ; CPU:$D9FC PRG:59FC E0 10 - bcc NmiHandler_Loop23 ; CPU:$D9FE PRG:59FE 90 02 + bcc NmiHandler_Loop27 ; CPU:$D9FE PRG:59FE 90 02 ldx #$00 ; CPU:$DA00 PRG:5A00 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside Label: taken when DA02. -; Local: Part of Label. +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop27: stx Zp25 ; CPU:$DA02 PRG:5A02 86 25 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside Label: taken when DA04. -; Local: Part of Label. +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop28: pla ; CPU:$DA04 PRG:5A04 68 tax ; CPU:$DA05 PRG:5A05 AA lda Zp13 ; CPU:$DA06 PRG:5A06 A5 13 rts ; CPU:$DA08 PRG:5A08 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA09 -; Global: Branch target inside Label: taken when DA09. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA09. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14895,24 +16062,24 @@ Sub_DA09: jsr Sub_D966 ; CPU:$DA09 PRG:5A09 20 66 D9 ldy Zp24 ; CPU:$DA0C PRG:5A0C A4 24 cpy Zp25 ; CPU:$DA0E PRG:5A0E C4 25 - beq NmiHandler_Loop25 ; CPU:$DA10 PRG:5A10 F0 06 + beq NmiHandler_Loop29 ; CPU:$DA10 PRG:5A10 F0 06 lda Zp0A ; CPU:$DA12 PRG:5A12 A5 0A cmp #$0A ; CPU:$DA14 PRG:5A14 C9 0A - bne NmiHandler_Loop27 ; CPU:$DA16 PRG:5A16 D0 12 + bne NmiHandler_Loop31 ; CPU:$DA16 PRG:5A16 D0 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside Label: taken when DA18. -; Local: Part of Label. +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop29: ldx #$07 ; CPU:$DA18 PRG:5A18 A2 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative2 -; Global: Branch target inside Label: taken when DA1A. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative2. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14920,49 +16087,49 @@ NmiHandler_Loop25: NmiHandler_OnNonnegative2: lda Zp08 ; CPU:$DA1A PRG:5A1A A5 08 and $DA49,x ; CPU:$DA1C PRG:5A1C 3D 49 DA - beq NmiHandler_Loop26 ; CPU:$DA1F PRG:5A1F F0 06 + beq NmiHandler_Loop30 ; CPU:$DA1F PRG:5A1F F0 06 lda $DA51,x ; CPU:$DA21 PRG:5A21 BD 51 DA jsr Sub_DA61 ; CPU:$DA24 PRG:5A24 20 61 DA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside Label: taken when DA27. -; Local: Part of Label. +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: +NmiHandler_Loop30: dex ; CPU:$DA27 PRG:5A27 CA bpl NmiHandler_OnNonnegative2 ; CPU:$DA28 PRG:5A28 10 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside Label: taken when DA2A. -; Local: Part of Label. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop31: ldy Zp24 ; CPU:$DA2A PRG:5A2A A4 24 cpy Zp25 ; CPU:$DA2C PRG:5A2C C4 25 - beq NmiHandler_Loop28 ; CPU:$DA2E PRG:5A2E F0 06 + beq NmiHandler_Loop32 ; CPU:$DA2E PRG:5A2E F0 06 lda Zp0A ; CPU:$DA30 PRG:5A30 A5 0A cmp #$0A ; CPU:$DA32 PRG:5A32 C9 0A - bne NmiHandler_Loop30 ; CPU:$DA34 PRG:5A34 D0 12 + bne NmiHandler_Loop34 ; CPU:$DA34 PRG:5A34 D0 12 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside Label: taken when DA36. -; Local: Part of Label. +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: +NmiHandler_Loop32: ldx #$07 ; CPU:$DA36 PRG:5A36 A2 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative3 -; Global: Branch target inside Label: taken when DA38. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -14970,41 +16137,42 @@ NmiHandler_Loop28: NmiHandler_OnNonnegative3: lda Zp09 ; CPU:$DA38 PRG:5A38 A5 09 and $DA49,x ; CPU:$DA3A PRG:5A3A 3D 49 DA - beq NmiHandler_Loop29 ; CPU:$DA3D PRG:5A3D F0 06 + beq NmiHandler_Loop33 ; CPU:$DA3D PRG:5A3D F0 06 lda $DA59,x ; CPU:$DA3F PRG:5A3F BD 59 DA jsr Sub_DA61 ; CPU:$DA42 PRG:5A42 20 61 DA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside Label: taken when DA45. -; Local: Part of Label. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop33: dex ; CPU:$DA45 PRG:5A45 CA bpl NmiHandler_OnNonnegative3 ; CPU:$DA46 PRG:5A46 10 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside Label: taken when DA48. -; Local: Part of Label. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop34: rts ; CPU:$DA48 PRG:5A48 60 ; ---- data $DA49-$DA60 (24 bytes) ---- ; referenced by `and $DA49,x` at $DA1C (operand $DA49 falls inside this region) ; referenced by `lda $DA51,x` at $DA21 (operand $DA51 falls inside this region) ; referenced by `and $DA49,x` at $DA3A (operand $DA49 falls inside this region) ; referenced by `lda $DA59,x` at $DA3F (operand $DA59 falls inside this region) - .byte $80, $40, $10, $20, $08, $04, $02, $01, $41, $42, $53, $58, $55, $44, $4C, $52 ; CPU:$DA49 PRG:5A49 80 40 10 20 08 04 02 01 41 42 53 58 55 44 4C 52 +ControllerButtonNames: + .byte $80, $40, $10, $20, $08, $04, $02, $01, $41, $42, $53, $58, $55, $44, $4C, $52 ; CPU:$DA49 PRG:1A49 80 40 10 20 08 04 02 01 41 42 53 58 55 44 4C 52 .byte $61, $62, $73, $78, $75, $64, $6C, $72 ; CPU:$DA59 PRG:5A59 61 62 73 78 75 64 6C 72 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA61 -; Global: Branch target inside Label: taken when DA61. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA61. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15014,27 +16182,37 @@ Sub_DA61: sta $0400,y ; CPU:$DA63 PRG:5A63 99 00 04 iny ; CPU:$DA66 PRG:5A66 C8 cpy #$10 ; CPU:$DA67 PRG:5A67 C0 10 - bcc NmiHandler_Loop31 ; CPU:$DA69 PRG:5A69 90 02 + bcc NmiHandler_Loop35 ; CPU:$DA69 PRG:5A69 90 02 ldy #$00 ; CPU:$DA6B PRG:5A6B A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside Label: taken when DA6D. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop35: + sty Zp24 ; CPU:$DA6D PRG:5A6D 84 24 + ldy #$00 ; CPU:$DA6F PRG:5A6F A0 00 + sty Zp26 ; CPU:$DA71 PRG:5A71 84 26 + rts ; CPU:$DA73 PRG:5A73 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DA74 +; Global: Branch target inside Label: taken when DA74. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: - sty Zp24 ; CPU:$DA6D PRG:5A6D 84 24 - ldy #$00 ; CPU:$DA6F PRG:5A6F A0 00 - sty Zp26 ; CPU:$DA71 PRG:5A71 84 26 - rts ; CPU:$DA73 PRG:5A73 60 -; ---- data $DA74-$DA78 (5 bytes) ---- - .byte $A5, $24, $85, $25, $60 ; CPU:$DA74 PRG:5A74 A5 24 85 25 60 +Label_DA74: + lda Zp24 ; CPU:$DA74 PRG:5A74 A5 24 + sta Zp25 ; CPU:$DA76 PRG:5A76 85 25 + rts ; CPU:$DA78 PRG:5A78 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA79 -; Global: Branch target inside Label: taken when DA79. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DA79. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15042,98 +16220,183 @@ NmiHandler_Loop31: Sub_DA79: sta Zp18 ; CPU:$DA79 PRG:5A79 85 18 pla ; CPU:$DA7B PRG:5A7B 68 - sta Zp0F ; CPU:$DA7C PRG:5A7C 85 0F + sta MoveDeltaX ; CPU:$DA7C PRG:5A7C 85 0F pla ; CPU:$DA7E PRG:5A7E 68 - sta Zp10 ; CPU:$DA7F PRG:5A7F 85 10 + sta MoveDeltaY ; CPU:$DA7F PRG:5A7F 85 10 lda #$00 ; CPU:$DA81 PRG:5A81 A9 00 sta Zp11 ; CPU:$DA83 PRG:5A83 85 11 sta Zp12 ; CPU:$DA85 PRG:5A85 85 12 ldy #$01 ; CPU:$DA87 PRG:5A87 A0 01 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside Label: taken when DA89. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero10: - lda (Zp0F),y ; CPU:$DA89 PRG:5A89 B1 0F - beq NmiHandler_Loop33 ; CPU:$DA8B PRG:5A8B F0 16 + lda (MoveDeltaX),y ; CPU:$DA89 PRG:5A89 B1 0F + beq NmiHandler_Loop37 ; CPU:$DA8B PRG:5A8B F0 16 cmp Zp18 ; CPU:$DA8D PRG:5A8D C5 18 - beq NmiHandler_Loop32 ; CPU:$DA8F PRG:5A8F F0 05 + beq NmiHandler_Loop36 ; CPU:$DA8F PRG:5A8F F0 05 iny ; CPU:$DA91 PRG:5A91 C8 iny ; CPU:$DA92 PRG:5A92 C8 iny ; CPU:$DA93 PRG:5A93 C8 bne NmiHandler_OnNonzero10 ; CPU:$DA94 PRG:5A94 D0 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside Label: taken when DA96. -; Local: Part of Label. +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: +NmiHandler_Loop36: iny ; CPU:$DA96 PRG:5A96 C8 - lda (Zp0F),y ; CPU:$DA97 PRG:5A97 B1 0F + lda (MoveDeltaX),y ; CPU:$DA97 PRG:5A97 B1 0F sta Zp11 ; CPU:$DA99 PRG:5A99 85 11 iny ; CPU:$DA9B PRG:5A9B C8 - lda (Zp0F),y ; CPU:$DA9C PRG:5A9C B1 0F + lda (MoveDeltaX),y ; CPU:$DA9C PRG:5A9C B1 0F sta Zp12 ; CPU:$DA9E PRG:5A9E 85 12 iny ; CPU:$DAA0 PRG:5AA0 C8 bne NmiHandler_OnNonzero10 ; CPU:$DAA1 PRG:5AA1 D0 E6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside Label: taken when DAA3. -; Local: Part of Label. +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: +NmiHandler_Loop37: tya ; CPU:$DAA3 PRG:5AA3 98 clc ; CPU:$DAA4 PRG:5AA4 18 - adc Zp0F ; CPU:$DAA5 PRG:5AA5 65 0F - sta Zp0F ; CPU:$DAA7 PRG:5AA7 85 0F - bcc NmiHandler_Loop34 ; CPU:$DAA9 PRG:5AA9 90 02 - inc Zp10 ; CPU:$DAAB PRG:5AAB E6 10 + adc MoveDeltaX ; CPU:$DAA5 PRG:5AA5 65 0F + sta MoveDeltaX ; CPU:$DAA7 PRG:5AA7 85 0F + bcc NmiHandler_Loop38 ; CPU:$DAA9 PRG:5AA9 90 02 + inc MoveDeltaY ; CPU:$DAAB PRG:5AAB E6 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside Label: taken when DAAD. -; Local: Part of Label. +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: - lda Zp10 ; CPU:$DAAD PRG:5AAD A5 10 +NmiHandler_Loop38: + lda MoveDeltaY ; CPU:$DAAD PRG:5AAD A5 10 pha ; CPU:$DAAF PRG:5AAF 48 - lda Zp0F ; CPU:$DAB0 PRG:5AB0 A5 0F + lda MoveDeltaX ; CPU:$DAB0 PRG:5AB0 A5 0F pha ; CPU:$DAB2 PRG:5AB2 48 lda Zp11 ; CPU:$DAB3 PRG:5AB3 A5 11 ora Zp12 ; CPU:$DAB5 PRG:5AB5 05 12 - bne NmiHandler_Loop35 ; CPU:$DAB7 PRG:5AB7 D0 01 + bne NmiHandler_Loop39 ; CPU:$DAB7 PRG:5AB7 D0 01 rts ; CPU:$DAB9 PRG:5AB9 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside Label: taken when DABA. +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + jmp (Zp11) ; CPU:$DABA PRG:5ABA 6C 11 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DABD +; Global: Branch target inside Label: taken when DABD. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: - jmp (Zp11) ; CPU:$DABA PRG:5ABA 6C 11 00 -; ---- data $DABD-$DAF7 (59 bytes) ---- - .byte $A2, $00, $A9, $F0, $9D, $00, $02, $E8, $D0, $FA, $60, $A5, $29, $08, $8A, $48 ; CPU:$DABD PRG:5ABD A2 00 A9 F0 9D 00 02 E8 D0 FA 60 A5 29 08 8A 48 - .byte $A2, $0B, $06, $27, $26, $28, $2A, $2A, $45, $27, $2A, $45, $27, $4A, $4A, $49 ; CPU:$DACD PRG:5ACD A2 0B 06 27 26 28 2A 2A 45 27 2A 45 27 4A 4A 49 - .byte $FF, $29, $01, $05, $27, $85, $27, $CA, $D0, $E8, $68, $AA, $A5, $27, $28, $F0 ; CPU:$DADD PRG:5ADD FF 29 01 05 27 85 27 CA D0 E8 68 AA A5 27 28 F0 - .byte $09, $C5, $29, $90, $05, $E5, $29, $4C, $EE, $DA, $60 ; CPU:$DAED PRG:5AED 09 C5 29 90 05 E5 29 4C EE DA 60 +Label_DABD: + ldx #$00 ; CPU:$DABD PRG:5ABD A2 00 + lda #$F0 ; CPU:$DABF PRG:5ABF A9 F0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + sta $0200,x ; CPU:$DAC1 PRG:5AC1 9D 00 02 + inx ; CPU:$DAC4 PRG:5AC4 E8 + bne NmiHandler_OnNonzero11 ; CPU:$DAC5 PRG:5AC5 D0 FA + rts ; CPU:$DAC7 PRG:5AC7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DAC8 +; Global: Branch target inside Label: taken when DAC8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAC8: + lda Zp29 ; CPU:$DAC8 PRG:5AC8 A5 29 + php ; CPU:$DACA PRG:5ACA 08 + txa ; CPU:$DACB PRG:5ACB 8A + pha ; CPU:$DACC PRG:5ACC 48 + ldx #$0B ; CPU:$DACD PRG:5ACD A2 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + asl Zp27 ; CPU:$DACF PRG:5ACF 06 27 + rol Zp28 ; CPU:$DAD1 PRG:5AD1 26 28 + rol a ; CPU:$DAD3 PRG:5AD3 2A + rol a ; CPU:$DAD4 PRG:5AD4 2A + eor Zp27 ; CPU:$DAD5 PRG:5AD5 45 27 + rol a ; CPU:$DAD7 PRG:5AD7 2A + eor Zp27 ; CPU:$DAD8 PRG:5AD8 45 27 + lsr a ; CPU:$DADA PRG:5ADA 4A + lsr a ; CPU:$DADB PRG:5ADB 4A + eor #$FF ; CPU:$DADC PRG:5ADC 49 FF + and #$01 ; CPU:$DADE PRG:5ADE 29 01 + ora Zp27 ; CPU:$DAE0 PRG:5AE0 05 27 + sta Zp27 ; CPU:$DAE2 PRG:5AE2 85 27 + dex ; CPU:$DAE4 PRG:5AE4 CA + bne NmiHandler_OnNonzero12 ; CPU:$DAE5 PRG:5AE5 D0 E8 + pla ; CPU:$DAE7 PRG:5AE7 68 + tax ; CPU:$DAE8 PRG:5AE8 AA + lda Zp27 ; CPU:$DAE9 PRG:5AE9 A5 27 + plp ; CPU:$DAEB PRG:5AEB 28 + beq NmiHandler_Loop40 ; CPU:$DAEC PRG:5AEC F0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_DAEE +; Global: Branch target inside Sub: taken when DAEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DAEE: + cmp Zp29 ; CPU:$DAEE PRG:5AEE C5 29 + bcc NmiHandler_Loop40 ; CPU:$DAF0 PRG:5AF0 90 05 + sbc Zp29 ; CPU:$DAF2 PRG:5AF2 E5 29 + jmp Sub_DAEE ; CPU:$DAF4 PRG:5AF4 4C EE DA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + rts ; CPU:$DAF7 PRG:5AF7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DAF8 -; Global: Branch target inside Label: taken when DAF8. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DAF8. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15146,8 +16409,8 @@ Sub_DAF8: lda #$FE ; CPU:$DB02 PRG:5B02 A9 FE ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative4 -; Global: Branch target inside Label: taken when DB04. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15160,42 +16423,42 @@ NmiHandler_OnNonnegative4: jmp Sub_DB0F ; CPU:$DB0C PRG:5B0C 4C 0F DB ; ----------------------------------------------------------------------------- ; Routine: Sub_DB0F -; Global: Branch target inside Label: taken when DB0F. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DB0F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DB0F: tax ; CPU:$DB0F PRG:5B0F AA - bmi NmiHandler_Loop38 ; CPU:$DB10 PRG:5B10 30 33 + bmi NmiHandler_Loop43 ; CPU:$DB10 PRG:5B10 30 33 lda $01B3 ; CPU:$DB12 PRG:5B12 AD B3 01 cmp $DDD9,x ; CPU:$DB15 PRG:5B15 DD D9 DD - bcs NmiHandler_Loop36 ; CPU:$DB18 PRG:5B18 B0 01 + bcs NmiHandler_Loop41 ; CPU:$DB18 PRG:5B18 B0 01 rts ; CPU:$DB1A PRG:5B1A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside Label: taken when DB1B. -; Local: Part of Label. +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: +NmiHandler_Loop41: lda $DDD9,x ; CPU:$DB1B PRG:5B1B BD D9 DD sta $01B3 ; CPU:$DB1E PRG:5B1E 8D B3 01 cpx $07C8 ; CPU:$DB21 PRG:5B21 EC C8 07 - bne NmiHandler_Loop37 ; CPU:$DB24 PRG:5B24 D0 01 + bne NmiHandler_Loop42 ; CPU:$DB24 PRG:5B24 D0 01 rts ; CPU:$DB26 PRG:5B26 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside Label: taken when DB27. -; Local: Part of Label. +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop42: stx $07C8 ; CPU:$DB27 PRG:5B27 8E C8 07 lda $DE57,x ; CPU:$DB2A PRG:5B2A BD 57 DE sta Zp2A ; CPU:$DB2D PRG:5B2D 85 2A @@ -15209,14 +16472,14 @@ NmiHandler_Loop37: sta $07CA ; CPU:$DB41 PRG:5B41 8D CA 07 rts ; CPU:$DB44 PRG:5B44 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside Label: taken when DB45. -; Local: Part of Label. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop43: stx $07C8 ; CPU:$DB45 PRG:5B45 8E C8 07 inx ; CPU:$DB48 PRG:5B48 E8 stx $07CA ; CPU:$DB49 PRG:5B49 8E CA 07 @@ -15230,12 +16493,33 @@ NmiHandler_Loop38: sta $07D5 ; CPU:$DB5F PRG:5B5F 8D D5 07 sta $07D6 ; CPU:$DB62 PRG:5B62 8D D6 07 rts ; CPU:$DB65 PRG:5B65 60 -; ---- data $DB66-$DB6F (10 bytes) ---- - .byte $AD, $CA, $07, $D0, $FB, $60, $AD, $CA, $07, $60 ; CPU:$DB66 PRG:5B66 AD CA 07 D0 FB 60 AD CA 07 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + lda $07CA ; CPU:$DB66 PRG:5B66 AD CA 07 + bne NmiHandler_OnNonzero13 ; CPU:$DB69 PRG:5B69 D0 FB + rts ; CPU:$DB6B PRG:5B6B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB6C +; Global: Branch target inside Label: taken when DB6C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB6C: + lda $07CA ; CPU:$DB6C PRG:5B6C AD CA 07 + rts ; CPU:$DB6F PRG:5B6F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB70 -; Global: Branch target inside Label: taken when DB70. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DB70. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15244,42 +16528,42 @@ Sub_DB70: lda #$C0 ; CPU:$DB70 PRG:5B70 A9 C0 sta JOY2 ; CPU:$DB72 PRG:5B72 8D 17 40 lda $07CA ; CPU:$DB75 PRG:5B75 AD CA 07 - beq NmiHandler_Loop39 ; CPU:$DB78 PRG:5B78 F0 0B + beq NmiHandler_Loop44 ; CPU:$DB78 PRG:5B78 F0 0B lda #$DB ; CPU:$DB7A PRG:5B7A A9 DB sta Zp2C ; CPU:$DB7C PRG:5B7C 85 2C lda #$07 ; CPU:$DB7E PRG:5B7E A9 07 sta Zp2D ; CPU:$DB80 PRG:5B80 85 2D jsr Sub_DBE3 ; CPU:$DB82 PRG:5B82 20 E3 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside Label: taken when DB85. -; Local: Part of Label. +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop44: ldx $07CA ; CPU:$DB85 PRG:5B85 AE CA 07 - bne NmiHandler_Loop40 ; CPU:$DB88 PRG:5B88 D0 0C + bne NmiHandler_Loop45 ; CPU:$DB88 PRG:5B88 D0 0C ldx #$FF ; CPU:$DB8A PRG:5B8A A2 FF stx $01B3 ; CPU:$DB8C PRG:5B8C 8E B3 01 stx $07C8 ; CPU:$DB8F PRG:5B8F 8E C8 07 inx ; CPU:$DB92 PRG:5B92 E8 stx $01B4 ; CPU:$DB93 PRG:5B93 8E B4 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside Label: taken when DB96. -; Local: Part of Label. +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop45: ldx #$03 ; CPU:$DB96 PRG:5B96 A2 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative5 -; Global: Branch target inside Label: taken when DB98. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15287,25 +16571,25 @@ NmiHandler_Loop40: NmiHandler_OnNonnegative5: lda $07D7,x ; CPU:$DB98 PRG:5B98 BD D7 07 cmp $01C2,x ; CPU:$DB9B PRG:5B9B DD C2 01 - beq NmiHandler_Loop41 ; CPU:$DB9E PRG:5B9E F0 06 + beq NmiHandler_Loop46 ; CPU:$DB9E PRG:5B9E F0 06 sta APUNOISECTRL,x ; CPU:$DBA0 PRG:5BA0 9D 0C 40 sta $01C2,x ; CPU:$DBA3 PRG:5BA3 9D C2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside Label: taken when DBA6. -; Local: Part of Label. +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: +NmiHandler_Loop46: dex ; CPU:$DBA6 PRG:5BA6 CA bpl NmiHandler_OnNonnegative5 ; CPU:$DBA7 PRG:5BA7 10 EF ldx #$03 ; CPU:$DBA9 PRG:5BA9 A2 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative6 -; Global: Branch target inside Label: taken when DBAB. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15313,25 +16597,25 @@ NmiHandler_Loop41: NmiHandler_OnNonnegative6: lda $07D3,x ; CPU:$DBAB PRG:5BAB BD D3 07 cmp $01BE,x ; CPU:$DBAE PRG:5BAE DD BE 01 - beq NmiHandler_Loop42 ; CPU:$DBB1 PRG:5BB1 F0 06 + beq NmiHandler_Loop47 ; CPU:$DBB1 PRG:5BB1 F0 06 sta APUTRIANGLECTRL,x ; CPU:$DBB3 PRG:5BB3 9D 08 40 sta $01BE,x ; CPU:$DBB6 PRG:5BB6 9D BE 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside Label: taken when DBB9. -; Local: Part of Label. +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: +NmiHandler_Loop47: dex ; CPU:$DBB9 PRG:5BB9 CA bpl NmiHandler_OnNonnegative6 ; CPU:$DBBA PRG:5BBA 10 EF ldx #$03 ; CPU:$DBBC PRG:5BBC A2 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative7 -; Global: Branch target inside Label: taken when DBBE. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15339,25 +16623,25 @@ NmiHandler_Loop42: NmiHandler_OnNonnegative7: lda $07CF,x ; CPU:$DBBE PRG:5BBE BD CF 07 cmp $01BA,x ; CPU:$DBC1 PRG:5BC1 DD BA 01 - beq NmiHandler_Loop43 ; CPU:$DBC4 PRG:5BC4 F0 06 + beq NmiHandler_Loop48 ; CPU:$DBC4 PRG:5BC4 F0 06 sta APUPULSE2CTRL,x ; CPU:$DBC6 PRG:5BC6 9D 04 40 sta $01BA,x ; CPU:$DBC9 PRG:5BC9 9D BA 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside Label: taken when DBCC. -; Local: Part of Label. +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop48: dex ; CPU:$DBCC PRG:5BCC CA bpl NmiHandler_OnNonnegative7 ; CPU:$DBCD PRG:5BCD 10 EF ldx #$03 ; CPU:$DBCF PRG:5BCF A2 03 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative8 -; Global: Branch target inside Label: taken when DBD1. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15365,58 +16649,58 @@ NmiHandler_Loop43: NmiHandler_OnNonnegative8: lda $07CB,x ; CPU:$DBD1 PRG:5BD1 BD CB 07 cmp $01B6,x ; CPU:$DBD4 PRG:5BD4 DD B6 01 - beq NmiHandler_Loop44 ; CPU:$DBD7 PRG:5BD7 F0 06 + beq NmiHandler_Loop49 ; CPU:$DBD7 PRG:5BD7 F0 06 sta APUPULSE1CTRL,x ; CPU:$DBD9 PRG:5BD9 9D 00 40 sta $01B6,x ; CPU:$DBDC PRG:5BDC 9D B6 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside Label: taken when DBDF. -; Local: Part of Label. +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop49: dex ; CPU:$DBDF PRG:5BDF CA bpl NmiHandler_OnNonnegative8 ; CPU:$DBE0 PRG:5BE0 10 EF rts ; CPU:$DBE2 PRG:5BE2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBE3 -; Global: Branch target inside Label: taken when DBE3. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DBE3. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DBE3: dec $07CA ; CPU:$DBE3 PRG:5BE3 CE CA 07 - beq NmiHandler_Loop45 ; CPU:$DBE6 PRG:5BE6 F0 07 + beq NmiHandler_Loop50 ; CPU:$DBE6 PRG:5BE6 F0 07 rts ; CPU:$DBE8 PRG:5BE8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBE9 -; Global: Branch target inside Label: taken when DBE9. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DBE9. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DBE9: inc Zp2A ; CPU:$DBE9 PRG:5BE9 E6 2A - bne NmiHandler_Loop45 ; CPU:$DBEB PRG:5BEB D0 02 + bne NmiHandler_Loop50 ; CPU:$DBEB PRG:5BEB D0 02 inc Zp2B ; CPU:$DBED PRG:5BED E6 2B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside Label: taken when DBEF. -; Local: Part of Label. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop50: ldy #$00 ; CPU:$DBEF PRG:5BEF A0 00 lda (Zp2A),y ; CPU:$DBF1 PRG:5BF1 B1 2A and #$C0 ; CPU:$DBF3 PRG:5BF3 29 C0 - beq NmiHandler_Loop46 ; CPU:$DBF5 PRG:5BF5 F0 25 + beq NmiHandler_Loop51 ; CPU:$DBF5 PRG:5BF5 F0 25 sec ; CPU:$DBF7 PRG:5BF7 38 sbc #$40 ; CPU:$DBF8 PRG:5BF8 E9 40 lsr a ; CPU:$DBFA PRG:5BFA 4A @@ -15438,67 +16722,67 @@ NmiHandler_Loop45: sta $07CE,x ; CPU:$DC16 PRG:5C16 9D CE 07 jmp Sub_DBE9 ; CPU:$DC19 PRG:5C19 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside Label: taken when DC1C. -; Local: Part of Label. +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop51: lda (Zp2A),y ; CPU:$DC1C PRG:5C1C B1 2A and #$20 ; CPU:$DC1E PRG:5C1E 29 20 - bne NmiHandler_Loop49 ; CPU:$DC20 PRG:5C20 D0 17 + bne NmiHandler_Loop54 ; CPU:$DC20 PRG:5C20 D0 17 lda (Zp2A),y ; CPU:$DC22 PRG:5C22 B1 2A cmp #$1F ; CPU:$DC24 PRG:5C24 C9 1F - bne NmiHandler_Loop47 ; CPU:$DC26 PRG:5C26 D0 03 + bne NmiHandler_Loop52 ; CPU:$DC26 PRG:5C26 D0 03 lda $01B5 ; CPU:$DC28 PRG:5C28 AD B5 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside Label: taken when DC2B. -; Local: Part of Label. +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop52: sta $07CA ; CPU:$DC2B PRG:5C2B 8D CA 07 jsr Sub_DC32 ; CPU:$DC2E PRG:5C2E 20 32 DC rts ; CPU:$DC31 PRG:5C31 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC32 -; Global: Branch target inside Label: taken when DC32. -; Local: Part of Label. +; Global: Branch target inside Sub: taken when DC32. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DC32: inc Zp2A ; CPU:$DC32 PRG:5C32 E6 2A - bne NmiHandler_Loop48 ; CPU:$DC34 PRG:5C34 D0 02 + bne NmiHandler_Loop53 ; CPU:$DC34 PRG:5C34 D0 02 inc Zp2B ; CPU:$DC36 PRG:5C36 E6 2B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside Label: taken when DC38. -; Local: Part of Label. +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop53: rts ; CPU:$DC38 PRG:5C38 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside Label: taken when DC39. -; Local: Part of Label. +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: +NmiHandler_Loop54: lda (Zp2A),y ; CPU:$DC39 PRG:5C39 B1 2A and #$10 ; CPU:$DC3B PRG:5C3B 29 10 - bne NmiHandler_Loop50 ; CPU:$DC3D PRG:5C3D D0 10 + bne NmiHandler_Loop55 ; CPU:$DC3D PRG:5C3D D0 10 lda (Zp2A),y ; CPU:$DC3F PRG:5C3F B1 2A and #$0F ; CPU:$DC41 PRG:5C41 29 0F tax ; CPU:$DC43 PRG:5C43 AA @@ -15507,22 +16791,22 @@ NmiHandler_Loop49: sta $07CB,x ; CPU:$DC49 PRG:5C49 9D CB 07 jmp Sub_DBE9 ; CPU:$DC4C PRG:5C4C 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside Label: taken when DC4F. -; Local: Part of Label. +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop55: lda (Zp2A),y ; CPU:$DC4F PRG:5C4F B1 2A cmp #$3F ; CPU:$DC51 PRG:5C51 C9 3F - bne NmiHandler_Loop51 ; CPU:$DC53 PRG:5C53 D0 18 + bne NmiHandler_Loop56 ; CPU:$DC53 PRG:5C53 D0 18 ldx #$08 ; CPU:$DC55 PRG:5C55 A2 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative9 -; Global: Branch target inside Label: taken when DC57. -; Local: Part of Label. +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. @@ -15540,16 +16824,16 @@ NmiHandler_OnNonnegative9: sta $07D7 ; CPU:$DC67 PRG:5C67 8D D7 07 jmp Sub_DBE9 ; CPU:$DC6A PRG:5C6A 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside Label: taken when DC6D. -; Local: Part of Label. +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop56: cmp #$33 ; CPU:$DC6D PRG:5C6D C9 33 - bne NmiHandler_Loop52 ; CPU:$DC6F PRG:5C6F D0 0E + bne NmiHandler_Loop57 ; CPU:$DC6F PRG:5C6F D0 0E iny ; CPU:$DC71 PRG:5C71 C8 lda (Zp2A),y ; CPU:$DC72 PRG:5C72 B1 2A tax ; CPU:$DC74 PRG:5C74 AA @@ -15557,18 +16841,18 @@ NmiHandler_Loop51: lda (Zp2A),y ; CPU:$DC76 PRG:5C76 B1 2A stx Zp2A ; CPU:$DC78 PRG:5C78 86 2A sta Zp2B ; CPU:$DC7A PRG:5C7A 85 2B - jmp NmiHandler_Loop45 ; CPU:$DC7C PRG:5C7C 4C EF DB + jmp NmiHandler_Loop50 ; CPU:$DC7C PRG:5C7C 4C EF DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside Label: taken when DC7F. -; Local: Part of Label. +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: +NmiHandler_Loop57: cmp #$34 ; CPU:$DC7F PRG:5C7F C9 34 - bne NmiHandler_Loop53 ; CPU:$DC81 PRG:5C81 D0 27 + bne NmiHandler_Loop58 ; CPU:$DC81 PRG:5C81 D0 27 jsr Sub_DC32 ; CPU:$DC83 PRG:5C83 20 32 DC lda (Zp2A),y ; CPU:$DC86 PRG:5C86 B1 2A tax ; CPU:$DC88 PRG:5C88 AA @@ -15587,18 +16871,18 @@ NmiHandler_Loop52: pla ; CPU:$DCA2 PRG:5CA2 68 stx Zp2A ; CPU:$DCA3 PRG:5CA3 86 2A sta Zp2B ; CPU:$DCA5 PRG:5CA5 85 2B - jmp NmiHandler_Loop45 ; CPU:$DCA7 PRG:5CA7 4C EF DB + jmp NmiHandler_Loop50 ; CPU:$DCA7 PRG:5CA7 4C EF DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside Label: taken when DCAA. -; Local: Part of Label. +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop58: cmp #$35 ; CPU:$DCAA PRG:5CAA C9 35 - bne NmiHandler_Loop54 ; CPU:$DCAC PRG:5CAC D0 13 + bne NmiHandler_Loop59 ; CPU:$DCAC PRG:5CAC D0 13 ldy $07C9 ; CPU:$DCAE PRG:5CAE AC C9 07 lda (Zp2C),y ; CPU:$DCB1 PRG:5CB1 B1 2C sta Zp2A ; CPU:$DCB3 PRG:5CB3 85 2A @@ -15607,18 +16891,18 @@ NmiHandler_Loop53: sta Zp2B ; CPU:$DCB8 PRG:5CB8 85 2B iny ; CPU:$DCBA PRG:5CBA C8 sty $07C9 ; CPU:$DCBB PRG:5CBB 8C C9 07 - jmp NmiHandler_Loop45 ; CPU:$DCBE PRG:5CBE 4C EF DB + jmp NmiHandler_Loop50 ; CPU:$DCBE PRG:5CBE 4C EF DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside Label: taken when DCC1. -; Local: Part of Label. +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop59: cmp #$36 ; CPU:$DCC1 PRG:5CC1 C9 36 - bne NmiHandler_Loop55 ; CPU:$DCC3 PRG:5CC3 D0 20 + bne NmiHandler_Loop60 ; CPU:$DCC3 PRG:5CC3 D0 20 jsr Sub_DC32 ; CPU:$DCC5 PRG:5CC5 20 32 DC lda (Zp2A),y ; CPU:$DCC8 PRG:5CC8 B1 2A pha ; CPU:$DCCA PRG:5CCA 48 @@ -15634,55 +16918,55 @@ NmiHandler_Loop54: dey ; CPU:$DCDC PRG:5CDC 88 sta (Zp2C),y ; CPU:$DCDD PRG:5CDD 91 2C sty $07C9 ; CPU:$DCDF PRG:5CDF 8C C9 07 - jmp NmiHandler_Loop45 ; CPU:$DCE2 PRG:5CE2 4C EF DB + jmp NmiHandler_Loop50 ; CPU:$DCE2 PRG:5CE2 4C EF DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside Label: taken when DCE5. -; Local: Part of Label. +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: +NmiHandler_Loop60: cmp #$37 ; CPU:$DCE5 PRG:5CE5 C9 37 - bne NmiHandler_Loop57 ; CPU:$DCE7 PRG:5CE7 D0 25 + bne NmiHandler_Loop62 ; CPU:$DCE7 PRG:5CE7 D0 25 ldy $07C9 ; CPU:$DCE9 PRG:5CE9 AC C9 07 lda (Zp2C),y ; CPU:$DCEC PRG:5CEC B1 2C sec ; CPU:$DCEE PRG:5CEE 38 sbc #$01 ; CPU:$DCEF PRG:5CEF E9 01 sta (Zp2C),y ; CPU:$DCF1 PRG:5CF1 91 2C - beq NmiHandler_Loop56 ; CPU:$DCF3 PRG:5CF3 F0 0D + beq NmiHandler_Loop61 ; CPU:$DCF3 PRG:5CF3 F0 0D iny ; CPU:$DCF5 PRG:5CF5 C8 lda (Zp2C),y ; CPU:$DCF6 PRG:5CF6 B1 2C sta Zp2A ; CPU:$DCF8 PRG:5CF8 85 2A iny ; CPU:$DCFA PRG:5CFA C8 lda (Zp2C),y ; CPU:$DCFB PRG:5CFB B1 2C sta Zp2B ; CPU:$DCFD PRG:5CFD 85 2B - jmp NmiHandler_Loop45 ; CPU:$DCFF PRG:5CFF 4C EF DB + jmp NmiHandler_Loop50 ; CPU:$DCFF PRG:5CFF 4C EF DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside Label: taken when DD02. -; Local: Part of Label. +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: +NmiHandler_Loop61: inc $07C9 ; CPU:$DD02 PRG:5D02 EE C9 07 inc $07C9 ; CPU:$DD05 PRG:5D05 EE C9 07 inc $07C9 ; CPU:$DD08 PRG:5D08 EE C9 07 jmp Sub_DBE9 ; CPU:$DD0B PRG:5D0B 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside Label: taken when DD0E. -; Local: Part of Label. +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop62: cmp #$3D ; CPU:$DD0E PRG:5D0E C9 3D - bne NmiHandler_Loop58 ; CPU:$DD10 PRG:5D10 D0 10 + bne NmiHandler_Loop63 ; CPU:$DD10 PRG:5D10 D0 10 lda #$28 ; CPU:$DD12 PRG:5D12 A9 28 sta $07D7 ; CPU:$DD14 PRG:5D14 8D D7 07 lda #$02 ; CPU:$DD17 PRG:5D17 A9 02 @@ -15690,16 +16974,16 @@ NmiHandler_Loop57: inc $07DA ; CPU:$DD1C PRG:5D1C EE DA 07 jmp Sub_DBE9 ; CPU:$DD1F PRG:5D1F 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside Label: taken when DD22. -; Local: Part of Label. +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: +NmiHandler_Loop63: cmp #$39 ; CPU:$DD22 PRG:5D22 C9 39 - bne NmiHandler_Loop59 ; CPU:$DD24 PRG:5D24 D0 10 + bne NmiHandler_Loop64 ; CPU:$DD24 PRG:5D24 D0 10 lda #$28 ; CPU:$DD26 PRG:5D26 A9 28 sta $07D7 ; CPU:$DD28 PRG:5D28 8D D7 07 lda #$08 ; CPU:$DD2B PRG:5D2B A9 08 @@ -15707,44 +16991,44 @@ NmiHandler_Loop58: inc $07DA ; CPU:$DD30 PRG:5D30 EE DA 07 jmp Sub_DBE9 ; CPU:$DD33 PRG:5D33 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside Label: taken when DD36. -; Local: Part of Label. +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop64: cmp #$3E ; CPU:$DD36 PRG:5D36 C9 3E - bne NmiHandler_Loop60 ; CPU:$DD38 PRG:5D38 D0 08 + bne NmiHandler_Loop65 ; CPU:$DD38 PRG:5D38 D0 08 lda #$30 ; CPU:$DD3A PRG:5D3A A9 30 sta $07D7 ; CPU:$DD3C PRG:5D3C 8D D7 07 jmp Sub_DBE9 ; CPU:$DD3F PRG:5D3F 4C E9 DB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside Label: taken when DD42. -; Local: Part of Label. +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop65: and #$06 ; CPU:$DD42 PRG:5D42 29 06 asl a ; CPU:$DD44 PRG:5D44 0A tax ; CPU:$DD45 PRG:5D45 AA jsr Sub_DC32 ; CPU:$DD46 PRG:5D46 20 32 DC lda (Zp2A),y ; CPU:$DD49 PRG:5D49 B1 2A - bpl NmiHandler_Loop61 ; CPU:$DD4B PRG:5D4B 10 01 + bpl NmiHandler_Loop66 ; CPU:$DD4B PRG:5D4B 10 01 dey ; CPU:$DD4D PRG:5D4D 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside Label: taken when DD4E. -; Local: Part of Label. +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop66: clc ; CPU:$DD4E PRG:5D4E 18 adc $07CD,x ; CPU:$DD4F PRG:5D4F 7D CD 07 sta $07CD,x ; CPU:$DD52 PRG:5D52 9D CD 07 @@ -15753,14 +17037,15 @@ NmiHandler_Loop61: sta $07CE,x ; CPU:$DD59 PRG:5D59 9D CE 07 jmp Sub_DBE9 ; CPU:$DD5C PRG:5D5C 4C E9 DB ; ---- data $DD5F-$FFFF (8865 bytes) ---- +; referenced by `nop $F2D7,x` at $83A4 (operand $F2D7 falls inside this region) ; referenced by `nop $F6D7,x` at $9A49 (operand $F6D7 falls inside this region) ; referenced by `cmp $DDD9,x` at $DB15 (operand $DDD9 falls inside this region) ; referenced by `lda $DDD9,x` at $DB1B (operand $DDD9 falls inside this region) ; referenced by `lda $DE57,x` at $DB2A (operand $DE57 falls inside this region) ; referenced by `lda $DE66,x` at $DB2F (operand $DE66 falls inside this region) -; referenced by `lda $DE18,x` at $DB34 (operand $DE18 falls inside this region) -; ... and 2 further references from decoded code - .byte $06, $AE, $06, $4E, $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75 ; CPU:$DD5F PRG:5D5F 06 AE 06 4E 05 F3 05 9E 05 4D 05 01 04 B9 04 75 +; ... and 3 further references from decoded code +LevelGraphicData: + .byte $06, $AE, $06, $4E, $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75 ; CPU:$DD5F PRG:1D5F 06 AE 06 4E 05 F3 05 9E 05 4D 05 01 04 B9 04 75 .byte $04, $35, $03, $F8, $03, $BF, $03, $89, $03, $57, $03, $27, $02, $F9, $02, $CF ; CPU:$DD6F PRG:5D6F 04 35 03 F8 03 BF 03 89 03 57 03 27 02 F9 02 CF .byte $02, $A6, $02, $80, $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4 ; CPU:$DD7F PRG:5D7F 02 A6 02 80 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 .byte $01, $AB, $01, $93, $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C ; CPU:$DD8F PRG:5D8F 01 AB 01 93 01 7C 01 67 01 52 01 3F 01 2D 01 1C diff --git a/NROM/Slalom (U)/README.md b/NROM/Slalom (U)/README.md index e7781bf..6bf54e0 100644 --- a/NROM/Slalom (U)/README.md +++ b/NROM/Slalom (U)/README.md @@ -2,66 +2,74 @@ ## Status -**Pass 3.** Hardware-register operands use `symbols.inc` names -(`apply_symbols.py`: 0 unexplained residue); zero-page slots keep their -documented `ZpXX` names with ref counts in `locals.inc`; data tables remain -classified with ROM provenance. `make` stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 10,537 / 32,768 bytes (32.2%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Vertical | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $8123 | | RESET vector | $8050 | | IRQ vector | $FEDF | -| ROM file | `Slalom (U).nes` | -| SHA-256 | `fc365a1a89f7aaf6f0c0e52705e0a5ba72e310626b475640f3b0a80093905ae4` | -### Header notes +## Power-on flow -- none +RESET enters at `$8050`: -## Open work + sei ; CPU:$8050 PRG:0050 78 + cld ; CPU:$8051 PRG:0051 D8 + lda #$18 ; CPU:$8052 PRG:0052 A9 18 + sta PPUCTRL ; CPU:$8054 PRG:0054 8D 00 20 + lda PPUSTATUS ; CPU:$8057 PRG:0057 AD 02 20 + bpl Reset_OnNonnegative ; CPU:$805A PRG:005A 10 FB + lda PPUSTATUS ; CPU:$805C PRG:005C AD 02 20 + bpl Reset_OnNonnegative2 ; CPU:$805F PRG:005F 10 FB + jsr Sub_B476 ; CPU:$8061 PRG:0061 20 76 B4 + jsr Sub_8A6D ; CPU:$8064 PRG:0064 20 6D 8A + lda #$FF ; CPU:$8067 PRG:0067 A9 FF + sta $0731 ; CPU:$8069 PRG:0069 8D 31 07 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$8123`: -## Files + lda PPUSTATUS ; CPU:$8123 PRG:0123 AD 02 20 + lda #$00 ; CPU:$8126 PRG:0126 A9 00 + sta OAMADDR ; CPU:$8128 PRG:0128 8D 03 20 + lda #$04 ; CPU:$812B PRG:012B A9 04 + sta OAMDMA ; CPU:$812D PRG:012D 8D 14 40 + jsr Sub_B438 ; CPU:$8130 PRG:0130 20 38 B4 + ldx Zp02 ; CPU:$8133 PRG:0133 A6 02 + lda $8142,x ; CPU:$8135 PRG:0135 BD 42 81 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$804F` (80 bytes) - `CopyrightText` +- `$8142-$8165` (36 bytes) - `GameStateHandlerPointerTable` +- `$8287-$829A` (20 bytes) - `ObjectHandlerPointerTable` +- `$8347-$8372` (44 bytes) - `ObjectActionPointerTable` +- `$84C6-$84EB` (38 bytes) - `SkiRecordNameTable` +- `$85C5-$87F7` (563 bytes) - `PlayerNameText` +- `$8828-$8876` (79 bytes) - `WorldRecordText` +- `$8AD8-$8B25` (78 bytes) - `CourseNameTable` +- `$8B59-$8B7B` (35 bytes) - `CourseRecordTable` +- `$8CA1-$8CA6` (6 bytes) - `CharacterCharsetTable` +- `$8CE4-$8CF7` (20 bytes) - `GameOverText` +- `$8FB3-$9032` (128 bytes) - `SkierXPositionTable` +- `$9067-$9086` (32 bytes) - `SkierMovementTable` +- `$9125-$9130` (12 bytes) - `KeyboardInputMap` +- `$9205-$925C` (88 bytes) - `SlalomPathTable` +- `$9648-$966F` (40 bytes) - `SkierSpeedTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Slalom (U)/labelmap.tsv b/NROM/Slalom (U)/labelmap.tsv index 3c3e176..191c330 100644 --- a/NROM/Slalom (U)/labelmap.tsv +++ b/NROM/Slalom (U)/labelmap.tsv @@ -4,479 +4,5 @@ FEDF IrqHandler # ---- derived internal branch-target names ---- 8050 Reset -8057 Reset_OnNonnegative -805C Reset_OnNonnegative2 -8067 Sub_8067 -8069 Sub_8069 -80AE Reset_Loop -80B1 Reset_Loop2 -80B4 Sub_80B4 8123 NmiHandler -81AD NmiHandler_Loop -81B1 NmiHandler_Loop2 -81BA NmiHandler_OnNonzero -81D2 Sub_81D2 -81D9 Sub_81D9 -81FD Sub_81FD -8203 Sub_8203 -8206 Sub_8206 -8224 NmiHandler_Loop3 -8229 NmiHandler_Loop4 -822A NmiHandler_Loop5 -8273 NmiHandler_OnNonzero2 -82E7 Sub_82E7 -830E Sub_830E -833B Sub_833B -8343 NmiHandler_Loop6 -8373 Sub_8373 -837E Sub_837E -839E NmiHandler_OnNonzero3 -83F2 NmiHandler_OnNonzero4 -8439 NmiHandler_OnZero -845E NmiHandler_Loop7 -8486 Sub_8486 -848C NmiHandler_OnNonzero5 -8496 Sub_8496 -84A5 NmiHandler_Loop8 -84AA NmiHandler_Loop9 -84FB NmiHandler_Loop10 -84FE NmiHandler_Loop11 -850C Sub_850C -850F NmiHandler_Loop12 -8517 NmiHandler_Loop13 -851A Sub_851A -851C NmiHandler_OnNonzero6 -852D NmiHandler_OnNonzero7 -8536 Sub_8536 -87F8 Sub_87F8 -8819 Sub_8819 -8877 NmiHandler_Loop14 -888A Sub_888A -88B3 Sub_88B3 -88FC Sub_88FC -8912 NmiHandler_OnNonnegative -8948 NmiHandler_OnNonzero8 -8973 Sub_8973 -899B Sub_899B -89A8 Sub_89A8 -89B6 NmiHandler_Loop15 -89B7 Sub_89B7 -89C9 Sub_89C9 -8A04 NmiHandler_OnNonzero9 -8A21 NmiHandler_OnNonzero10 -8A6D Sub_8A6D -8A6F NmiHandler_OnNonzero11 -8A7D NmiHandler_Loop16 -8A7F NmiHandler_OnNonzero12 -8A90 NmiHandler_OnNonzero13 -8A9A NmiHandler_OnNonzero14 -8AB9 NmiHandler_OnNonzero15 -8B26 Sub_8B26 -8B32 NmiHandler_OnNonzero16 -8B3E NmiHandler_OnNonzero17 -8B7C NmiHandler_OnZero2 -8B7F Sub_8B7F -8B89 NmiHandler_OnNonzero18 -8BA3 Sub_8BA3 -8BA5 Sub_8BA5 -8BCE NmiHandler_Loop17 -8BD7 NmiHandler_Loop18 -8BF2 Sub_8BF2 -8C05 NmiHandler_Loop19 -8C53 NmiHandler_Loop20 -8CA7 Sub_8CA7 -8CB4 NmiHandler_OnCarryClear -8CB7 NmiHandler_Loop21 -8D09 NmiHandler_Loop22 -8D0C Sub_8D0C -8D15 Sub_8D15 -8D1F Sub_8D1F -8D25 NmiHandler_Loop23 -8D35 Sub_8D35 -8D3B NmiHandler_Loop24 -8D4A NmiHandler_OnNonzero19 -8D51 NmiHandler_Loop25 -8D62 NmiHandler_OnNonzero20 -8D72 NmiHandler_Loop26 -8D85 NmiHandler_Loop27 -8D91 NmiHandler_Loop28 -8D9E Sub_8D9E -8DA9 NmiHandler_Loop29 -8DB1 NmiHandler_Loop30 -8DB6 Sub_8DB6 -8DDC NmiHandler_Loop31 -8E65 Sub_8E65 -8EB7 NmiHandler_Loop32 -8EC0 NmiHandler_Loop33 -8ED9 Sub_8ED9 -8EED NmiHandler_Loop34 -8EF9 NmiHandler_Loop35 -8F01 NmiHandler_Loop36 -8F0F Sub_8F0F -8F14 NmiHandler_Loop37 -8F17 NmiHandler_Loop38 -8F22 NmiHandler_Loop39 -8F41 NmiHandler_Loop40 -8F4A NmiHandler_Loop41 -8F87 NmiHandler_Loop42 -8FB2 NmiHandler_Loop43 -9033 Sub_9033 -904E Sub_904E -9050 NmiHandler_OnCarryClear2 -9052 NmiHandler_Loop44 -9053 NmiHandler_Loop45 -9087 Sub_9087 -90A7 NmiHandler_Loop46 -90B0 Sub_90B0 -90B8 Sub_90B8 -90D1 NmiHandler_Loop47 -90D2 NmiHandler_Loop48 -90E2 NmiHandler_Loop49 -9105 Sub_9105 -910D NmiHandler_Loop50 -910E NmiHandler_Loop51 -9118 NmiHandler_Loop52 -9131 NmiHandler_OnNonzero21 -9143 Sub_9143 -9154 Sub_9154 -91AD Sub_91AD -91C4 NmiHandler_Loop53 -91E7 Sub_91E7 -91F1 NmiHandler_Loop54 -91F2 NmiHandler_Loop55 -926B NmiHandler_OnNonzero22 -9283 NmiHandler_Loop56 -928A NmiHandler_Loop57 -928B NmiHandler_Loop58 -9298 NmiHandler_Loop59 -92AA NmiHandler_OnCarryClear3 -92AF Sub_92AF -92B2 NmiHandler_Loop60 -92BC NmiHandler_Loop61 -92C6 Sub_92C6 -92E7 NmiHandler_Loop62 -92F7 NmiHandler_OnNonzero23 -9313 NmiHandler_Loop63 -9320 NmiHandler_Loop64 -9331 NmiHandler_Loop65 -933F NmiHandler_OnZero3 -9344 NmiHandler_Loop66 -9369 Sub_9369 -937B NmiHandler_Loop67 -9387 NmiHandler_Loop68 -9397 NmiHandler_Loop69 -93B9 Sub_93B9 -93D1 NmiHandler_Loop70 -93DF NmiHandler_Loop71 -93F4 NmiHandler_Loop72 -9402 NmiHandler_Loop73 -940F NmiHandler_OnNegative -9414 NmiHandler_Loop74 -9417 NmiHandler_OnNonzero24 -9447 NmiHandler_Loop75 -9455 NmiHandler_Loop76 -9466 NmiHandler_Loop77 -9474 NmiHandler_OnNegative2 -9479 NmiHandler_Loop78 -947C NmiHandler_OnNonzero25 -94A8 NmiHandler_Loop79 -94B6 NmiHandler_Loop80 -94C7 NmiHandler_Loop81 -94D5 Sub_94D5 -94EF NmiHandler_OnNonnegative2 -94FA NmiHandler_Loop82 -94FB NmiHandler_Loop83 -9528 NmiHandler_Loop84 -952B Sub_952B -954B Sub_954B -9569 NmiHandler_Loop85 -95B5 NmiHandler_OnCarrySet -95BA NmiHandler_Loop86 -95BB NmiHandler_Loop87 -9613 Sub_9613 -9620 Sub_9620 -963F NmiHandler_Loop88 -9670 Sub_9670 -967D Sub_967D -969A NmiHandler_Loop89 -96A5 NmiHandler_Loop90 -96C6 NmiHandler_Loop91 -96D2 NmiHandler_OnNonzero26 -96E1 NmiHandler_Loop92 -9707 NmiHandler_Loop93 -9723 NmiHandler_Loop94 -972A NmiHandler_Loop95 -972C NmiHandler_Loop96 -9748 NmiHandler_Loop97 -9750 NmiHandler_Loop98 -975A NmiHandler_Loop99 -9760 Sub_9760 -979E NmiHandler_Loop100 -97C1 NmiHandler_Loop101 -97CB NmiHandler_Loop102 -97CD NmiHandler_Loop103 -97CF NmiHandler_Loop104 -97E4 NmiHandler_Loop105 -97EE NmiHandler_Loop106 -97F0 NmiHandler_Loop107 -9807 Sub_9807 -9827 NmiHandler_Loop108 -9848 NmiHandler_Loop109 -9849 Sub_9849 -985D Sub_985D -9864 NmiHandler_Loop110 -9866 NmiHandler_Loop111 -98CF Sub_98CF -98F6 NmiHandler_Loop112 -98F7 NmiHandler_OnNonnegative3 -9902 NmiHandler_Loop113 -9903 NmiHandler_Loop114 -9917 Sub_9917 -993A NmiHandler_Loop115 -9A64 Sub_9A64 -9A79 NmiHandler_Loop116 -9AC3 Sub_9AC3 -9AE2 NmiHandler_Loop117 -9B15 Sub_9B15 -9B27 NmiHandler_Loop118 -9B2E NmiHandler_Loop119 -9B59 NmiHandler_Loop120 -9B6E NmiHandler_Loop121 -9B8A NmiHandler_Loop122 -9B8C NmiHandler_Loop123 -9B9D Sub_9B9D -9BA7 NmiHandler_Loop124 -9BB4 NmiHandler_Loop125 -9BBB Sub_9BBB -9BE3 Sub_9BE3 -9BE7 NmiHandler_OnNonzero27 -9BF3 NmiHandler_Loop126 -9BF7 Sub_9BF7 -9C00 Sub_9C00 -9C09 Sub_9C09 -9C0B Sub_9C0B -9C0D NmiHandler_OnNonzero28 -9C0F NmiHandler_OnNonzero29 -9C1E NmiHandler_Loop127 -9C23 Sub_9C23 -9C2A NmiHandler_Loop128 -9C3F NmiHandler_OnNonzero30 -9CDA Sub_9CDA -9CE8 NmiHandler_Loop129 -9D0B Sub_9D0B -9D6E Sub_9D6E -9DAC NmiHandler_OnNonzero31 -9DC2 NmiHandler_OnNonzero32 -9DF1 NmiHandler_Loop130 -9E11 Sub_9E11 -9E25 Sub_9E25 -9E2C Sub_9E2C -9E43 Sub_9E43 -9EAE Sub_9EAE -9EBC Sub_9EBC -9ECA Sub_9ECA -9ED5 Sub_9ED5 -9F4E NmiHandler_Loop131 -9F63 NmiHandler_Loop132 -9F6D NmiHandler_Loop133 -9FA9 NmiHandler_Loop134 -9FB1 Sub_9FB1 -9FBD Sub_9FBD -A350 Sub_A350 -A37D NmiHandler_Loop135 -A38C Sub_A38C -A3B5 NmiHandler_Loop136 -A3DB NmiHandler_Loop137 -A3EA NmiHandler_Loop138 -A3F0 Sub_A3F0 -A4DF Sub_A4DF -A4E8 Sub_A4E8 -A4EE Sub_A4EE -A4FC Sub_A4FC -A50A NmiHandler_Loop139 -A50E Sub_A50E -A51D NmiHandler_Loop140 -A51E NmiHandler_Loop141 -A520 NmiHandler_Loop142 -A521 Sub_A521 -A52A NmiHandler_Loop143 -A579 NmiHandler_OnNonzero33 -A5A4 NmiHandler_OnNonzero34 -A5BB NmiHandler_OnNonzero35 -A5C7 NmiHandler_OnNonzero36 -A5E0 Sub_A5E0 -A5E7 NmiHandler_OnNonnegative4 -A5FE Sub_A5FE -A674 NmiHandler_Loop144 -A697 Sub_A697 -A69A NmiHandler_Loop145 -A69E Sub_A69E -A6A5 NmiHandler_Loop146 -A6CB Sub_A6CB -A6D7 Sub_A6D7 -A6D9 NmiHandler_OnNonzero37 -A819 Sub_A819 -A853 NmiHandler_OnNonzero38 -A85C NmiHandler_OnNonzero39 -A87E Sub_A87E -A88B Sub_A88B -A88D NmiHandler_OnNonzero40 -A8E9 NmiHandler_OnNonzero41 -A952 Sub_A952 -A962 NmiHandler_Loop147 -A965 NmiHandler_Loop148 -A96C NmiHandler_Loop149 -A97B NmiHandler_Loop150 -A98F Sub_A98F -A99A Sub_A99A -A9A5 NmiHandler_Loop151 -A9A8 NmiHandler_Loop152 -A9B3 NmiHandler_Loop153 -A9B7 Sub_A9B7 -A9C5 Sub_A9C5 -AB76 Sub_AB76 -AB7A Sub_AB7A -AB85 Sub_AB85 -AB8F NmiHandler_OnNonzero42 -AD71 Sub_AD71 -AD73 NmiHandler_OnNonzero43 -AE8E Sub_AE8E -AEA8 Sub_AEA8 -AEB7 Sub_AEB7 -AEC8 NmiHandler_OnNonzero44 -AEF3 NmiHandler_Loop154 -AF08 NmiHandler_OnZero4 -AF36 NmiHandler_OnNonnegative5 -AF58 NmiHandler_Loop155 -AF6C Sub_AF6C -AF79 NmiHandler_Loop156 -AF89 NmiHandler_Loop157 -AF9A NmiHandler_Loop158 -AF9F NmiHandler_Loop159 -AFA8 NmiHandler_Loop160 -AFAB NmiHandler_OnNonzero45 -AFB6 Sub_AFB6 -AFC1 NmiHandler_Loop161 -AFC8 Sub_AFC8 -AFCC NmiHandler_Loop162 -AFDE NmiHandler_Loop163 -AFF9 Sub_AFF9 -B00F NmiHandler_Loop164 -B047 NmiHandler_OnNegative3 -B04F Sub_B04F -B06A Sub_B06A -B084 NmiHandler_OnNonzero46 -B095 NmiHandler_OnCarrySet2 -B09A NmiHandler_Loop165 -B09B NmiHandler_Loop166 -B0B0 NmiHandler_Loop167 -B0B5 NmiHandler_Loop168 -B0BD NmiHandler_Loop169 -B0BF Sub_B0BF -B0C3 Sub_B0C3 -B0D1 Sub_B0D1 -B0DF Sub_B0DF -B0E9 Sub_B0E9 -B0F2 NmiHandler_Loop170 -B0FA NmiHandler_Loop171 -B106 Sub_B106 -B116 NmiHandler_Loop172 -B11B NmiHandler_Loop173 -B120 NmiHandler_Loop174 -B122 Sub_B122 -B128 NmiHandler_Loop175 -B12D Sub_B12D -B147 NmiHandler_OnZero5 -B165 NmiHandler_Loop176 -B166 NmiHandler_Loop177 -B178 NmiHandler_Loop178 -B185 NmiHandler_Loop179 -B18C Sub_B18C -B1A0 NmiHandler_Loop180 -B1AF NmiHandler_Loop181 -B1CC NmiHandler_Loop182 -B1D3 Sub_B1D3 -B1F5 NmiHandler_Loop183 -B204 NmiHandler_Loop184 -B215 NmiHandler_Loop185 -B216 Sub_B216 -B257 NmiHandler_Loop186 -B258 NmiHandler_OnNegative4 -B261 Sub_B261 -B27E NmiHandler_Loop187 -B280 NmiHandler_Loop188 -B297 NmiHandler_Loop189 -B2B4 Sub_B2B4 -B2B6 NmiHandler_OnCarryClear4 -B2B8 NmiHandler_Loop190 -B2B9 NmiHandler_Loop191 -B2C1 NmiHandler_Loop192 -B2CE NmiHandler_OnCarrySet3 -B2D1 NmiHandler_Loop193 -B2D6 NmiHandler_Loop194 -B2E6 NmiHandler_Loop195 -B3C4 NmiHandler_OnNonzero47 -B3C8 NmiHandler_OnNonzero48 -B3DB NmiHandler_OnNonzero49 -B3F6 NmiHandler_OnNonzero50 -B3FA NmiHandler_OnNonzero51 -B40D NmiHandler_OnNonzero52 -B426 Sub_B426 -B42C Sub_B42C -B437 NmiHandler_Loop196 -B438 Sub_B438 -B444 NmiHandler_OnNonzero53 -B475 NmiHandler_Loop197 -B476 Sub_B476 -B480 Sub_B480 -B482 NmiHandler_OnNonzero54 -B48E Sub_B48E -B49B Sub_B49B -B49D NmiHandler_OnNonzero55 -B4A3 Sub_B4A3 -B4A5 NmiHandler_OnNonzero56 -B4AC Sub_B4AC -B4B1 NmiHandler_OnNonzero57 -B4B8 Sub_B4B8 -B4BC Sub_B4BC -B4CB NmiHandler_OnNonzero58 -B5D6 Sub_B5D6 -B5D8 Sub_B5D8 -B5DB NmiHandler_OnNonzero59 -B5EE NmiHandler_OnNonzero60 -B5FF Sub_B5FF -B605 NmiHandler_Loop198 -B6B4 Sub_B6B4 -B6C0 NmiHandler_OnCarrySet4 -B70A Sub_B70A -B716 NmiHandler_Loop199 -B7D1 Sub_B7D1 -B7FC Sub_B7FC -B854 NmiHandler_Loop200 -B859 NmiHandler_Loop201 -B85C NmiHandler_Loop202 -B890 NmiHandler_Loop203 -C44E Sub_C44E -C456 NmiHandler_Loop204 -C463 NmiHandler_Loop205 -C46B NmiHandler_OnNonzero61 -C483 NmiHandler_Loop206 -C48B NmiHandler_Loop207 -C48D Sub_C48D -C49F Sub_C49F -C4A9 NmiHandler_Loop208 -C607 Sub_C607 -C61F NmiHandler_Loop209 -C62D Sub_C62D -C633 NmiHandler_Loop210 -FE0C NmiHandler_OnNonnegative6 -FE15 Sub_FE15 -FE2A NmiHandler_Loop211 -FE40 NmiHandler_Loop212 -FE45 Sub_FE45 -FE5C Sub_FE5C -FE70 NmiHandler_OnZero6 -FE77 NmiHandler_OnNonzero62 -FE81 NmiHandler_Loop213 FEDF IrqHandler -FFA0 IrqHandler_OnNonzero diff --git a/NROM/Slalom (U)/locals.inc b/NROM/Slalom (U)/locals.inc index b5e036c..c68c8a9 100644 --- a/NROM/Slalom (U)/locals.inc +++ b/NROM/Slalom (U)/locals.inc @@ -4,37 +4,37 @@ ; 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 ; 12 refs; reads=2 writes=10; used at $8071, 80B9, 8383, 853B, +8 more -Zp01 = $01 ; 9 refs; reads=1 writes=8; used at $8075, 8387, 8542, 8804, +5 more -Zp02 = $02 ; 7 refs; reads=2 writes=5; used at $8133, 81AF, 821B, 8227, +3 more +Zp00 = $00 ; 18 refs; reads=5 writes=13; used at $8071, 80B9, 80DC, 80E3, +14 more +Zp01 = $01 ; 10 refs; reads=1 writes=9; used at $8075, 80E7, 8387, 8542, +6 more +Zp02 = $02 ; 14 refs; reads=4 writes=10; used at $8133, 81AF, 821B, 8227, +10 more Zp03 = $03 ; 12 refs; reads=4 writes=8; used at $85A8, 8D40, 8D44, 9E05, +8 more Zp04 = $04 ; 7 refs; reads=3 writes=4; used at $8D56, 8D5A, A68D, A695, +3 more Zp05 = $05 ; 5 refs; reads=1 writes=4; used at $809E, 8D4C, A6A0, A967, +1 more -Zp06 = $06 ; 18 refs; reads=17 writes=1; used at $8373, 8D1F, 8D25, 8D2E, +13 more +Zp06 = $06 ; 20 refs; reads=19 writes=1; used at $8373, 8D1F, 8D25, 8D2E, +15 more Zp07 = $07 ; 4 refs; reads=3 writes=1; used at $8D23, 8D30, 9147 -Zp08 = $08 ; 7 refs; reads=6 writes=1; used at $8D27, 8D2C, 96E9, 9907, +3 more +Zp08 = $08 ; 8 refs; reads=7 writes=1; used at $8D27, 8D2C, 96E9, 9907, +4 more Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $8D32 -Zp0A = $0A ; 14 refs; reads=11 writes=3; used at $807F, 8BAB, 8BAF, 8CA7, +10 more +Zp0A = $0A ; 15 refs; reads=11 writes=4; used at $807F, 8BAB, 8BAF, 8CA7, +11 more Zp0B = $0B ; 3 refs; reads=1 writes=2; used at $8081, 8BAD, 8BB1 -Zp0C = $0C ; 11 refs; reads=10 writes=1; used at $8410, 88CF, 88FC, 8929, +7 more -Zp0D = $0D ; 18 refs; reads=12 writes=6; used at $8083, 83BD, 83DE, 8569, +14 more +Zp0C = $0C ; 12 refs; reads=11 writes=1; used at $8410, 88CF, 88FC, 8929, +8 more +Zp0D = $0D ; 19 refs; reads=13 writes=6; used at $8083, 83BD, 83DE, 8569, +15 more Zp0E = $0E ; 4 refs; reads=3 writes=1; used at $A8E0, A97B, A982, A9A8 -Zp0F = $0F ; 30 refs; reads=16 writes=14; used at $81BC, 82E9, 8DBF, 908B, +25 more -Zp10 = $10 ; 22 refs; reads=20 writes=2; used at $8183, 9274, 94FF, 9537, +18 more -Zp11 = $11 ; 17 refs; reads=15 writes=2; used at $916B, 927D, 94E7, 958B, +13 more -Zp12 = $12 ; 10 refs; reads=8 writes=2; used at $916F, 9584, 9589, 9678, +6 more -Zp13 = $13 ; 24 refs; reads=20 writes=4; used at $8D69, 8D9E, 8E7D, 928F, +20 more +Zp0F = $0F ; 33 refs; reads=17 writes=16; used at $81BC, 82E9, 8325, 8DBF, +28 more +Zp10 = $10 ; 28 refs; reads=24 writes=4; used at $8183, 9274, 94FF, 9537, +24 more +Zp11 = $11 ; 23 refs; reads=19 writes=4; used at $916B, 927D, 94E7, 958B, +19 more +Zp12 = $12 ; 12 refs; reads=10 writes=2; used at $916F, 9584, 9589, 9678, +8 more +Zp13 = $13 ; 35 refs; reads=28 writes=7; used at $8D69, 8D9E, 8E09, 8E11, +31 more Zp14 = $14 ; 33 refs; reads=27 writes=6; used at $8DC3, 90E2, 9561, 9564, +28 more Zp15 = $15 ; 9 refs; reads=3 writes=6; used at $8DC5, 961B, 961D, B14A, +5 more -Zp16 = $16 ; 18 refs; reads=12 writes=6; used at $90FB, 9118, 9BC1, B063, +14 more -Zp17 = $17 ; 5 refs; reads=3 writes=2; used at $8DC7, 8E6A, 929C, 92AF, +1 more -Zp18 = $18 ; 8 refs; reads=5 writes=3; used at $8DC9, 8EAD, 8EB9, 8ECC, +4 more +Zp16 = $16 ; 23 refs; reads=16 writes=7; used at $8DF4, 8E18, 8E23, 8E25, +19 more +Zp17 = $17 ; 11 refs; reads=6 writes=5; used at $8DC7, 8E3D, 8E46, 8E6A, +7 more +Zp18 = $18 ; 9 refs; reads=6 writes=3; used at $8DC9, 8E97, 8EAD, 8EB9, +5 more Zp19 = $19 ; 7 refs; reads=4 writes=3; used at $8DCB, 8EB5, 8EC2, 9579, +2 more Zp1A = $1A ; 3 refs; reads=2 writes=1; used at $9575, 9577, 9587 Zp1B = $1B ; 2 refs; reads=1 writes=1; used at $98F7, 9905 Zp1C = $1C ; 1 refs; reads=0 writes=1; used at $9921 Zp1D = $1D ; 1 refs; reads=0 writes=1; used at $9925 -Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $9929 +Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $96D0, 9929 Zp1F = $1F ; 1 refs; reads=0 writes=1; used at $9935 Zp20 = $20 ; 1 refs; reads=0 writes=1; used at $990F Zp23 = $23 ; 1 refs; reads=0 writes=1; used at $9937 @@ -48,84 +48,108 @@ Zp36 = $36 ; 1 refs; reads=0 writes=1; used at $950C Zp37 = $37 ; 2 refs; reads=1 writes=1; used at $8D66, 951B Zp38 = $38 ; 1 refs; reads=0 writes=1; used at $950E Zp39 = $39 ; 1 refs; reads=0 writes=1; used at $9510 -Zp63 = $63 ; 11 refs; reads=4 writes=7; used at $90B4, 9105, 9110, 917F, +7 more -Zp64 = $64 ; 18 refs; reads=9 writes=9; used at $90BD, 913A, 91A7, 91C5, +14 more -Zp65 = $65 ; 12 refs; reads=7 writes=5; used at $90C2, 91AD, 91CA, 935D, +8 more -Zp66 = $66 ; 14 refs; reads=7 writes=7; used at $90C6, 90CC, 9179, 91AF, +10 more +Zp4C = $4C ; 1 refs; reads=0 writes=1; used at $AEEF +Zp63 = $63 ; 13 refs; reads=5 writes=8; used at $8C61, 8C73, 90B4, 9105, +9 more +Zp64 = $64 ; 19 refs; reads=9 writes=10; used at $8C6D, 90BD, 913A, 91A7, +15 more +Zp65 = $65 ; 13 refs; reads=7 writes=6; used at $8C71, 90C2, 91AD, 91CA, +9 more +Zp66 = $66 ; 15 refs; reads=7 writes=8; used at $8C69, 90C6, 90CC, 9179, +11 more Zp67 = $67 ; 4 refs; reads=2 writes=2; used at $90B8, 9362, 93C5, 9403 -Zp68 = $68 ; 6 refs; reads=2 writes=4; used at $96E3, 9B4D, AF53, AF67, +2 more -Zp69 = $69 ; 2 refs; reads=1 writes=1; used at $A391, A39F +Zp68 = $68 ; 7 refs; reads=2 writes=5; used at $8329, 96E3, 9B4D, AF53, +3 more +Zp69 = $69 ; 3 refs; reads=1 writes=2; used at $80EC, A391, A39F Zp6A = $6A ; 2 refs; reads=1 writes=1; used at $9714, 9718 Zp6B = $6B ; 4 refs; reads=2 writes=2; used at $B0D7, B154, B18E, B1F2 Zp6C = $6C ; 4 refs; reads=3 writes=1; used at $90F4, B271, B27E, B843 -Zp6D = $6D ; 8 refs; reads=8 writes=0; used at $81EF, 82A9, 8D1A, 91BF, +4 more -Zp6E = $6E ; 4 refs; reads=1 writes=3; used at $808F, 80CA, FE49, FE4D -Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $96DC, 96E5, 9B25 -Zp70 = $70 ; 3 refs; reads=1 writes=2; used at $9B78, B28D, B29B +Zp6D = $6D ; 9 refs; reads=9 writes=0; used at $81EF, 8242, 82A9, 8D1A, +5 more +Zp6E = $6E ; 5 refs; reads=1 writes=4; used at $808F, 80CA, A667, FE49, +1 more +Zp6F = $6F ; 4 refs; reads=1 writes=3; used at $96DC, 96E5, 99F7, 9B25 +Zp70 = $70 ; 4 refs; reads=1 writes=3; used at $99CF, 9B78, B28D, B29B Zp71 = $71 ; 6 refs; reads=3 writes=3; used at $AF0C, AF79, AF7B, AF81, +1 more Zp72 = $72 ; 2 refs; reads=1 writes=1; used at $92D2, B002 -Zp73 = $73 ; 2 refs; reads=2 writes=0; used at $AEC2, B06F -Zp75 = $75 ; 15 refs; reads=11 writes=4; used at $8175, 8E78, 90CA, 92C6, +11 more -Zp76 = $76 ; 4 refs; reads=2 writes=2; used at $94E3, 94EB, 9506, B242 +Zp73 = $73 ; 3 refs; reads=2 writes=1; used at $95D7, AEC2, B06F +Zp74 = $74 ; 1 refs; reads=0 writes=1; used at $95DC +Zp75 = $75 ; 17 refs; reads=13 writes=4; used at $8175, 8E3B, 8E78, 90CA, +13 more +Zp76 = $76 ; 5 refs; reads=2 writes=3; used at $94E3, 94EB, 9506, 95F6, +1 more Zp77 = $77 ; 6 refs; reads=4 writes=2; used at $94D7, 94DC, 9512, 951D, +2 more Zp78 = $78 ; 3 refs; reads=1 writes=2; used at $9526, 9548 -Zp79 = $79 ; 7 refs; reads=6 writes=1; used at $8177, 8F4A, 952B, 9620, +3 more +Zp79 = $79 ; 10 refs; reads=9 writes=1; used at $8177, 8F4A, 952B, 95D1, +6 more Zp7A = $7A ; 4 refs; reads=2 writes=2; used at $9672, AE83, AE8E, AEB0 Zp7B = $7B ; 5 refs; reads=3 writes=2; used at $9676, AE88, AE91, AEA9, +1 more Zp7C = $7C ; 2 refs; reads=1 writes=1; used at $967A, B052 -Zp7D = $7D ; 6 refs; reads=4 writes=2; used at $8198, 8F34, 9834, 9839, +2 more -Zp7E = $7E ; 8 refs; reads=5 writes=3; used at $819A, 8F01, 8F2E, 9827, +4 more -Zp7F = $7F ; 7 refs; reads=4 writes=3; used at $819C, 8F28, 9812, 9817, +3 more -Zp80 = $80 ; 7 refs; reads=6 writes=1; used at $8BE5, 990D, B1BF, B1CC, +2 more -Zp81 = $81 ; 4 refs; reads=1 writes=3; used at $B140, B1DC, B1F0, B207 -Zp82 = $82 ; 5 refs; reads=2 writes=3; used at $B088, B08D, B09B, B0A0, +1 more +Zp7D = $7D ; 8 refs; reads=5 writes=3; used at $8198, 8EA2, 8F34, 9605, +4 more +Zp7E = $7E ; 10 refs; reads=6 writes=4; used at $819A, 8EA0, 8F01, 8F2E, +6 more +Zp7F = $7F ; 9 refs; reads=5 writes=4; used at $819C, 8E9E, 8F28, 95FD, +5 more +Zp80 = $80 ; 6 refs; reads=5 writes=1; used at $960E, 990D, B1BF, B1CC, +2 more +Zp81 = $81 ; 6 refs; reads=2 writes=4; used at $B140, B1DC, B1DF, B1E7, +2 more +Zp82 = $82 ; 6 refs; reads=2 writes=4; used at $95E2, B088, B08D, B09B, +2 more Zp83 = $83 ; 7 refs; reads=4 writes=3; used at $8194, 984B, 9864, 9866, +1 more Zp84 = $84 ; 5 refs; reads=4 writes=1; used at $8196, 9861, A3D0, A3E8, +1 more -Zp85 = $85 ; 5 refs; reads=2 writes=3; used at $969E, 96B3, 9BCE, AF4A -Zp86 = $86 ; 24 refs; reads=18 writes=6; used at $820B, 8501, 8D3B, 8D8C, +19 more +Zp85 = $85 ; 6 refs; reads=3 writes=3; used at $969E, 96B3, 982B, 9BCE, +1 more +Zp86 = $86 ; 27 refs; reads=21 writes=6; used at $820B, 82F3, 82FC, 8501, +22 more Zp87 = $87 ; 11 refs; reads=8 writes=3; used at $8503, 8D51, A687, A933, +6 more Zp88 = $88 ; 3 refs; reads=1 writes=2; used at $AFE3, B0E3, B213 Zp89 = $89 ; 5 refs; reads=2 writes=3; used at $9762, 97B2, 97D5, 9B97, +1 more Zp8A = $8A ; 4 refs; reads=2 writes=2; used at $9BA5, AFB6, AFBA -Zp8B = $8B ; 19 refs; reads=7 writes=12; used at $8192, 9087, 93B2, 93BD, +15 more +Zp8B = $8B ; 24 refs; reads=9 writes=15; used at $8192, 8237, 82DF, 9087, +20 more Zp8D = $8D ; 8 refs; reads=6 writes=2; used at $8173, 81BA, 81D9, 81DE, +4 more -Zp8F = $8F ; 81 refs; reads=50 writes=31; used at $817C, 8185, 83C8, 83E7, +75 more -Zp90 = $90 ; 30 refs; reads=6 writes=24; used at $8181, 83CD, 83EB, 857B, +23 more -Zp91 = $91 ; 53 refs; reads=26 writes=27; used at $8138, 81C3, 8477, 848C, +46 more -Zp92 = $92 ; 25 refs; reads=8 writes=17; used at $813D, 81C8, 847C, 857F, +21 more -Zp93 = $93 ; 31 refs; reads=15 writes=16; used at $8910, 891C, 8931, 896E, +21 more +Zp8F = $8F ; 85 refs; reads=51 writes=34; used at $817C, 8185, 83C8, 83E7, +79 more +Zp90 = $90 ; 31 refs; reads=6 writes=25; used at $8181, 83CD, 83EB, 857B, +24 more +Zp91 = $91 ; 54 refs; reads=26 writes=28; used at $8138, 81C3, 8477, 848C, +47 more +Zp92 = $92 ; 26 refs; reads=8 writes=18; used at $813D, 81C8, 847C, 857F, +22 more +Zp93 = $93 ; 37 refs; reads=18 writes=19; used at $8910, 891C, 8931, 896E, +24 more Zp94 = $94 ; 9 refs; reads=4 writes=5; used at $8B2F, 8B54, A49B, A4C3, +3 more -Zp95 = $95 ; 137 refs; reads=77 writes=60; used at $8416, 841D, 8486, 848E, +123 more -Zp96 = $96 ; 36 refs; reads=20 writes=16; used at $8F2C, 8F30, 8F41, 8F48, +31 more -Zp97 = $97 ; 12 refs; reads=7 writes=5; used at $8F2A, 8F38, 8F3F, 8F6B, +8 more +Zp95 = $95 ; 160 refs; reads=90 writes=70; used at $8300, 8305, 8309, 831B, +146 more +Zp96 = $96 ; 42 refs; reads=23 writes=19; used at $8F2C, 8F30, 8F41, 8F48, +37 more +Zp97 = $97 ; 13 refs; reads=8 writes=5; used at $8F2A, 8F38, 8F3F, 8F6B, +9 more Zp99 = $99 ; 29 refs; reads=19 writes=10; used at $8DD3, 8E8C, 8EDE, 9037, +24 more Zp9A = $9A ; 27 refs; reads=13 writes=14; used at $9689, 9690, 969C, 96C9, +20 more -Zp9B = $9B ; 5 refs; reads=3 writes=2; used at $B612, C470, C622, C62D -Zp9C = $9C ; 3 refs; reads=1 writes=2; used at $B617, C631 -Zp9D = $9D ; 1 refs; reads=0 writes=1; used at $B647 -Zp9E = $9E ; 1 refs; reads=0 writes=1; used at $B649 +Zp9B = $9B ; 18 refs; reads=13 writes=5; used at $B612, C470, C622, C62D, +13 more +Zp9C = $9C ; 7 refs; reads=2 writes=5; used at $B617, C631, C688, C694, +2 more +Zp9D = $9D ; 6 refs; reads=3 writes=3; used at $B647, C67E, C686, C699, +2 more +Zp9E = $9E ; 6 refs; reads=3 writes=3; used at $B649, C680, C68A, C69B, +2 more Zp9F = $9F ; 1 refs; reads=0 writes=1; used at $B61C ZpA0 = $A0 ; 1 refs; reads=0 writes=1; used at $B621 ZpA1 = $A1 ; 1 refs; reads=0 writes=1; used at $B64B ZpA2 = $A2 ; 1 refs; reads=0 writes=1; used at $B64D ZpA3 = $A3 ; 1 refs; reads=0 writes=1; used at $B626 ZpA4 = $A4 ; 1 refs; reads=0 writes=1; used at $B62B -ZpA5 = $A5 ; 1 refs; reads=0 writes=1; used at $B64F +ZpA5 = $A5 ; 3 refs; reads=1 writes=2; used at $9826, B64F ZpA6 = $A6 ; 1 refs; reads=0 writes=1; used at $B651 ZpA7 = $A7 ; 1 refs; reads=0 writes=1; used at $B630 ZpA8 = $A8 ; 1 refs; reads=0 writes=1; used at $B635 ZpA9 = $A9 ; 1 refs; reads=0 writes=1; used at $B653 ZpAA = $AA ; 1 refs; reads=0 writes=1; used at $B655 -ZpAE = $AE ; 1 refs; reads=0 writes=1; used at $FE0F +ZpAE = $AE ; 3 refs; reads=1 writes=2; used at $AEF1, FE0F ZpB0 = $B0 ; 1 refs; reads=0 writes=1; used at $FE5C -ZpB7 = $B7 ; 1 refs; reads=0 writes=1; used at $FE5E -ZpC5 = $C5 ; 1 refs; reads=0 writes=1; used at $FE2B -ZpCF = $CF ; 1 refs; reads=0 writes=1; used at $FE6A -ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $FE2F -ZpD7 = $D7 ; 1 refs; reads=0 writes=1; used at $FE6C +ZpB5 = $B5 ; 1 refs; reads=1 writes=0; used at $B829 +ZpB7 = $B7 ; 3 refs; reads=2 writes=1; used at $B7F2, B82B, FE5E +ZpBB = $BB ; 1 refs; reads=0 writes=1; used at $FE92 +ZpC5 = $C5 ; 3 refs; reads=1 writes=2; used at $FE2B, FED9 +ZpCF = $CF ; 3 refs; reads=1 writes=2; used at $FE6A, FEA7, FEA9 +ZpD3 = $D3 ; 4 refs; reads=1 writes=3; used at $FE2F, FEB3, FEBE, FEC3 +ZpD7 = $D7 ; 2 refs; reads=0 writes=2; used at $FE6C, FEAB ZpDB = $DB ; 1 refs; reads=0 writes=1; used at $FE60 +ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $B7ED ZpDE = $DE ; 1 refs; reads=0 writes=1; used at $FE62 ZpE3 = $E3 ; 2 refs; reads=0 writes=2; used at $FE39, FE41 -ZpE8 = $E8 ; 3 refs; reads=1 writes=2; used at $8278, FE64 +ZpE8 = $E8 ; 1 refs; reads=0 writes=1; used at $FE64 ZpEA = $EA ; 1 refs; reads=0 writes=1; used at $FE47 ZpED = $ED ; 1 refs; reads=0 writes=1; used at $FE66 +ZpF0 = $F0 ; 2 refs; reads=1 writes=1; used at $AF00 + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp00 +PpuMaskShadow = Zp01 +PlayerX = Zp95 +PlayerY = Zp96 +PlayerZ = Zp97 +DispatchPtrLo = Zp91 +DispatchPtrHi = Zp92 +VramWritePtrLo = Zp8F +VramWritePtrHi = Zp90 +ObjectIndex = Zp0F +SkierX = Zp7D +SkierY = Zp7E +SkierZ = Zp7F +GameState = Zp14 +PpuAddrLow = Zp8D +CourseIndex = Zp79 diff --git a/NROM/Slalom (U)/prg.s b/NROM/Slalom (U)/prg.s index 6e07a55..4c33dec 100644 --- a/NROM/Slalom (U)/prg.s +++ b/NROM/Slalom (U)/prg.s @@ -9,13 +9,14 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): -; 8 further routine entries recovered from table references elsewhere in the image: -; $8BE5, $955F, $959B, $959C, $959D, $959E, $B843, $C49F +; 1 further routine entries recovered from table references elsewhere in the image: +; $B843 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: -; $8050, $80B1, $8166, $81AD, $829B, $8373, $8439, $84AA, $84EC, $84FB, $87F8, $8877, $8A04, $8A21, $8A6D, $8A7D, $8B7F, $8BD7, $8C86, $8CA7, $8CC2, $8CF8, $8DBD, $8DDC, $8EAD, $8EF9, $8F01, $8F14, $8F1C, $8F22, $8F4A, $9033, $9052, $9087, $9131, $925D, $92C6, $940F, $9447, $9455, $9466, $9474, $94A8, $94B6, $94C7, $94D5, $963F, $9670, $969A, $96D2, $972A, $975A, $9807, $9866, $98CF, $98F6, $99F9, $9A59, $9AB7, $9B8C, $9BE3, $9D0B, $9DF1, $9EAE, $9F46, $9F9D, $9FA9, $A338, $A38C, $A4DF, $A52A, $A66C, $A6CB, $A819, $A8E0, $A96C, $A99A, $A9B3, $AB76, $AD5A, $AE7D, $AEF3, $AF08, $AF2B, $AF58, $AF79, $AF9A, $B047, $B116, $B12D, $B1A0, $B1CC, $B1F0, $B216, $B3B4, $B475, $B5D6, $B605, $B6B4, $B766, $B793, $B7BC, $B7C4, $B7F1, $B81B, $B834, $B879, $B8A1, $B8B6, $B8EF, $B914, $B91E, $C44E, $C456, $C5D6, $FE0A, $FFA0 +; $8050, $80B1, $80DC, $8166, $81AD, $81CD, $8230, $8262, $8276, $829B, $82AE, $82CD, $82F3, $82FC, $831B, $8373, $8439, $84AA, $84EC, $84FB, $87F8, $8877, $89D2, $8A04, $8A0E, $8A21, $8A33, $8A6D, $8A7D, $8B7F, $8BD7, $8BDD, $8BE7, $8BEE, $8C54, $8C86, $8CA7, $8CC2, $8CF8, $8DBD, $8DDC, $8DF4, $8E11, $8E97, $8EAD, $8EE3, $8EF9, $8F01, $8F14, $8F1C, $8F22, $8F4A, $9033, $9052, $9087, $9131, $925D, $92C5, $92C6, $940F, $9447, $9455, $9466, $9474, $94A8, $94B6, $94C7, $94D5, $95D1, $963F, $9670, $969A, $96D0, $96D2, $972A, $975A, $97F2, $97F3, $97F4, $97FB, $97FC, $97FD, $9807, $9824, $9866, $98CF, $98F6, $993F, $99F9, $99FC, $9A59, $9A69, $9A82, $9AA8, $9AAD, $9AB2, $9AB7, $9ABC, $9AC1, $9B8C, $9BE3, $9D0B, $9D1D, $9DF1, $9EAE, $9F20, $9F46, $9F70, $9F8C, $9F9D, $9FA9, $A338, $A38C, $A4DF, $A52A, $A601, $A66C, $A6AC, $A6CB, $A819, $A899, $A8E0, $A96C, $A99A, $A9B3, $AB76, $AB9A, $AB9B, $AB9C, $AB9D, $AB9E, $AB9F, $ABA0, $ABA1, $ABA2, $ABA3, $ABA4, $ABA5, $ABA6, $AD5A, $AE7D, $AEE9, $AEEE, $AEF3, $AEF4, $AF00, $AF07, $AF08, $AF2B, $AF58, $AF79, $AF9A, $B047, $B116, $B12D, $B1A0, $B1CC, $B1D1, $B1DF, $B1F0, $B216, $B2EB, $B3B4, $B419, $B475, $B5D6, $B605, $B6B4, $B766, $B767, $B793, $B796, $B7BC, $B7C4, $B7C5, $B7EA, $B7EC, $B7ED, $B7EF, $B7F1, $B7F4, $B81B, $B829, $B82F, $B830, $B831, $B832, $B833, $B834, $B879, $B8A1, $B8B6, $B8EF, $B914, $B91E, $B921, $C44E, $C456, $C5D6, $C5EF, $C634, $C63F, $C64A, $C655, $C663, $C699, $C6B5, $C6C8, $FE0A, $FE8D, $FFA0 ; indirect dispatch through zero page (not followed statically): ; jmp ($0091) at $813F ; jmp ($0091) at $81CA +; jmp ($0091) at $9F39 ; jmp ($0091) at $B1C1 ; jmp ($0091) at $B707 ; jmp ($0091) at $C49C @@ -29,7 +30,8 @@ .segment "PRG" ; ---- data $8000-$804F (80 bytes) ---- - .byte $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39, $38, $36, $20, $52 ; CPU:$8000 PRG:0000 43 4F 50 59 52 49 47 48 54 20 31 39 38 36 20 52 +CopyrightText: + .byte $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39, $38, $36, $20, $52 ; CPU:$8000 PRG:-4000 43 4F 50 59 52 49 47 48 54 20 31 39 38 36 20 52 .byte $41, $52, $45, $20, $4C, $54, $44, $2E, $20, $54, $48, $45, $20, $47, $52, $45 ; CPU:$8010 PRG:0010 41 52 45 20 4C 54 44 2E 20 54 48 45 20 47 52 45 .byte $45, $4E, $2C, $20, $41, $53, $48, $42, $59, $2D, $44, $45, $2D, $4C, $41, $2D ; CPU:$8020 PRG:0020 45 4E 2C 20 41 53 48 42 59 2D 44 45 2D 4C 41 2D .byte $5A, $4F, $55, $43, $48, $2C, $20, $4C, $45, $49, $43, $45, $53, $54, $45, $52 ; CPU:$8030 PRG:0030 5A 4F 55 43 48 2C 20 4C 45 49 43 45 53 54 45 52 @@ -93,9 +95,9 @@ Sub_8069: sta $0731 ; CPU:$8069 PRG:0069 8D 31 07 lda #$18 ; CPU:$806C PRG:006C A9 18 sta PPUCTRL ; CPU:$806E PRG:006E 8D 00 20 - sta Zp00 ; CPU:$8071 PRG:0071 85 00 + sta PpuCtrlShadow ; CPU:$8071 PRG:0071 85 00 lda #$00 ; CPU:$8073 PRG:0073 A9 00 - sta Zp01 ; CPU:$8075 PRG:0075 85 01 + sta PpuMaskShadow ; CPU:$8075 PRG:0075 85 01 sta PPUMASK ; CPU:$8077 PRG:0077 8D 01 20 jsr Sub_B48E ; CPU:$807A PRG:007A 20 8E B4 lda #$00 ; CPU:$807D PRG:007D A9 00 @@ -150,7 +152,7 @@ Reset_Loop2: Sub_80B4: lda #$18 ; CPU:$80B4 PRG:00B4 A9 18 sta PPUCTRL ; CPU:$80B6 PRG:00B6 8D 00 20 - sta Zp00 ; CPU:$80B9 PRG:00B9 85 00 + sta PpuCtrlShadow ; CPU:$80B9 PRG:00B9 85 00 jsr Sub_B48E ; CPU:$80BB PRG:00BB 20 8E B4 lda #$00 ; CPU:$80BE PRG:00BE A9 00 jsr Sub_B4AC ; CPU:$80C0 PRG:00C0 20 AC B4 @@ -164,12 +166,43 @@ Sub_80B4: lda #$0F ; CPU:$80D4 PRG:00D4 A9 0F sta APUSTATUS ; CPU:$80D6 PRG:00D6 8D 15 40 jmp Sub_9C23 ; CPU:$80D9 PRG:00D9 4C 23 9C -; ---- data $80DC-$8122 (71 bytes) ---- - .byte $A5, $00, $29, $77, $8D, $00, $20, $85, $00, $A9, $00, $85, $01, $8D, $01, $20 ; CPU:$80DC PRG:00DC A5 00 29 77 8D 00 20 85 00 A9 00 85 01 8D 01 20 - .byte $85, $69, $8D, $35, $07, $A2, $5A, $A0, $AC, $20, $7A, $AB, $A9, $03, $20, $D8 ; CPU:$80EC PRG:00EC 85 69 8D 35 07 A2 5A A0 AC 20 7A AB A9 03 20 D8 - .byte $B5, $A2, $56, $A0, $B5, $20, $BC, $B4, $20, $86, $8C, $20, $EB, $B2, $20, $5A ; CPU:$80FC PRG:00FC B5 A2 56 A0 B5 20 BC B4 20 86 8C 20 EB B2 20 5A - .byte $AD, $20, $B4, $B3, $20, $0A, $FE, $20, $F4, $AE, $20, $D1, $95, $A9, $02, $20 ; CPU:$810C PRG:010C AD 20 B4 B3 20 0A FE 20 F4 AE 20 D1 95 A9 02 20 - .byte $FF, $B5, $A9, $04, $4C, $E0, $A5 ; CPU:$811C PRG:011C FF B5 A9 04 4C E0 A5 +; ----------------------------------------------------------------------------- +; Routine: Label_80DC +; Global: Branch target inside Label: taken when 80DC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_80DC: + lda PpuCtrlShadow ; CPU:$80DC PRG:00DC A5 00 + and #$77 ; CPU:$80DE PRG:00DE 29 77 + sta PPUCTRL ; CPU:$80E0 PRG:00E0 8D 00 20 + sta PpuCtrlShadow ; CPU:$80E3 PRG:00E3 85 00 + lda #$00 ; CPU:$80E5 PRG:00E5 A9 00 + sta PpuMaskShadow ; CPU:$80E7 PRG:00E7 85 01 + sta PPUMASK ; CPU:$80E9 PRG:00E9 8D 01 20 + sta Zp69 ; CPU:$80EC PRG:00EC 85 69 + sta $0735 ; CPU:$80EE PRG:00EE 8D 35 07 + ldx #$5A ; CPU:$80F1 PRG:00F1 A2 5A + ldy #$AC ; CPU:$80F3 PRG:00F3 A0 AC + jsr Sub_AB7A ; CPU:$80F5 PRG:00F5 20 7A AB + lda #$03 ; CPU:$80F8 PRG:00F8 A9 03 + jsr Sub_B5D8 ; CPU:$80FA PRG:00FA 20 D8 B5 + ldx #$56 ; CPU:$80FD PRG:00FD A2 56 + ldy #$B5 ; CPU:$80FF PRG:00FF A0 B5 + jsr Sub_B4BC ; CPU:$8101 PRG:0101 20 BC B4 + jsr Sub_8C86 ; CPU:$8104 PRG:0104 20 86 8C + jsr Sub_B2EB ; CPU:$8107 PRG:0107 20 EB B2 + jsr Sub_AD5A ; CPU:$810A PRG:010A 20 5A AD + jsr Sub_B3B4 ; CPU:$810D PRG:010D 20 B4 B3 + jsr Sub_FE0A ; CPU:$8110 PRG:0110 20 0A FE + jsr Sub_AEF4 ; CPU:$8113 PRG:0113 20 F4 AE + jsr Sub_95D1 ; CPU:$8116 PRG:0116 20 D1 95 + lda #$02 ; CPU:$8119 PRG:0119 A9 02 + jsr Sub_B5FF ; CPU:$811B PRG:011B 20 FF B5 + lda #$04 ; CPU:$811E PRG:011E A9 04 + jmp Sub_A5E0 ; CPU:$8120 PRG:0120 4C E0 A5 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Routine NmiHandler. @@ -187,14 +220,15 @@ NmiHandler: jsr Sub_B438 ; CPU:$8130 PRG:0130 20 38 B4 ldx Zp02 ; CPU:$8133 PRG:0133 A6 02 lda $8142,x ; CPU:$8135 PRG:0135 BD 42 81 - sta Zp91 ; CPU:$8138 PRG:0138 85 91 + sta DispatchPtrLo ; CPU:$8138 PRG:0138 85 91 lda $8143,x ; CPU:$813A PRG:013A BD 43 81 - sta Zp92 ; CPU:$813D PRG:013D 85 92 - jmp (Zp91) ; CPU:$813F PRG:013F 6C 91 00 + sta DispatchPtrHi ; CPU:$813D PRG:013D 85 92 + jmp (DispatchPtrLo) ; CPU:$813F PRG:013F 6C 91 00 ; ---- data $8142-$8165 (36 bytes) ---- ; referenced by `lda $8142,x` at $8135 (operand $8142 falls inside this region) ; referenced by `lda $8143,x` at $813A (operand $8143 falls inside this region) - .byte $01, $A6, $1D, $9D, $66, $81, $23, $9C, $DC, $80, $99, $A8, $C2, $8C, $F8, $8C ; CPU:$8142 PRG:0142 01 A6 1D 9D 66 81 23 9C DC 80 99 A8 C2 8C F8 8C +GameStateHandlerPointerTable: + .byte $01, $A6, $1D, $9D, $66, $81, $23, $9C, $DC, $80, $99, $A8, $C2, $8C, $F8, $8C ; CPU:$8142 PRG:-3EBE 01 A6 1D 9D 66 81 23 9C DC 80 99 A8 C2 8C F8 8C .byte $03, $82, $03, $82, $50, $A6, $25, $86, $EC, $84, $20, $9F, $30, $82, $62, $82 ; CPU:$8152 PRG:0152 03 82 03 82 50 A6 25 86 EC 84 20 9F 30 82 62 82 .byte $AE, $82, $CD, $82 ; CPU:$8162 PRG:0162 AE 82 CD 82 ; ----------------------------------------------------------------------------- @@ -211,15 +245,15 @@ Label_8166: jsr Sub_9BF7 ; CPU:$816B PRG:016B 20 F7 9B jsr Sub_8D35 ; CPU:$816E PRG:016E 20 35 8D lda #$00 ; CPU:$8171 PRG:0171 A9 00 - sta Zp8D ; CPU:$8173 PRG:0173 85 8D + sta PpuAddrLow ; CPU:$8173 PRG:0173 85 8D sta Zp75 ; CPU:$8175 PRG:0175 85 75 - ldx Zp79 ; CPU:$8177 PRG:0177 A6 79 + ldx CourseIndex ; CPU:$8177 PRG:0177 A6 79 lda $C6FA,x ; CPU:$8179 PRG:0179 BD FA C6 - sta Zp8F ; CPU:$817C PRG:017C 85 8F + sta VramWritePtrLo ; CPU:$817C PRG:017C 85 8F lda $C6FB,x ; CPU:$817E PRG:017E BD FB C6 - sta Zp90 ; CPU:$8181 PRG:0181 85 90 + sta VramWritePtrHi ; CPU:$8181 PRG:0181 85 90 ldy Zp10 ; CPU:$8183 PRG:0183 A4 10 - lda (Zp8F),y ; CPU:$8185 PRG:0185 B1 8F + lda (VramWritePtrLo),y ; CPU:$8185 PRG:0185 B1 8F clc ; CPU:$8187 PRG:0187 18 adc #$2C ; CPU:$8188 PRG:0188 69 2C sta $0407 ; CPU:$818A PRG:018A 8D 07 04 @@ -228,9 +262,9 @@ Label_8166: sta Zp8B ; CPU:$8192 PRG:0192 85 8B lda Zp83 ; CPU:$8194 PRG:0194 A5 83 ora Zp84 ; CPU:$8196 PRG:0196 05 84 - ora Zp7D ; CPU:$8198 PRG:0198 05 7D - ora Zp7E ; CPU:$819A PRG:019A 05 7E - ora Zp7F ; CPU:$819C PRG:019C 05 7F + ora SkierX ; CPU:$8198 PRG:0198 05 7D + ora SkierY ; CPU:$819A PRG:019A 05 7E + ora SkierZ ; CPU:$819C PRG:019C 05 7F ora $0793 ; CPU:$819E PRG:019E 0D 93 07 bne NmiHandler_Loop2 ; CPU:$81A1 PRG:01A1 D0 0E lda $0795 ; CPU:$81A3 PRG:01A3 AD 95 07 @@ -269,17 +303,26 @@ NmiHandler_Loop2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero: - ldx Zp8D ; CPU:$81BA PRG:01BA A6 8D - lda Zp0F,x ; CPU:$81BC PRG:01BC B5 0F + ldx PpuAddrLow ; CPU:$81BA PRG:01BA A6 8D + lda ObjectIndex,x ; CPU:$81BC PRG:01BC B5 0F asl a ; CPU:$81BE PRG:01BE 0A tay ; CPU:$81BF PRG:01BF A8 lda $8347,y ; CPU:$81C0 PRG:01C0 B9 47 83 - sta Zp91 ; CPU:$81C3 PRG:01C3 85 91 + sta DispatchPtrLo ; CPU:$81C3 PRG:01C3 85 91 lda $8348,y ; CPU:$81C5 PRG:01C5 B9 48 83 - sta Zp92 ; CPU:$81C8 PRG:01C8 85 92 - jmp (Zp91) ; CPU:$81CA PRG:01CA 6C 91 00 -; ---- data $81CD-$81D1 (5 bytes) ---- - .byte $A2, $40, $4C, $D4, $81 ; CPU:$81CD PRG:01CD A2 40 4C D4 81 + sta DispatchPtrHi ; CPU:$81C8 PRG:01C8 85 92 + jmp (DispatchPtrLo) ; CPU:$81CA PRG:01CA 6C 91 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_81CD +; Global: Branch target inside Sub: taken when 81CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_81CD: + ldx #$40 ; CPU:$81CD PRG:01CD A2 40 + jmp Sub_81D4 ; CPU:$81CF PRG:01CF 4C D4 81 ; ----------------------------------------------------------------------------- ; Routine: Sub_81D2 ; Global: Branch target inside Sub: taken when 81D2. @@ -290,6 +333,15 @@ NmiHandler_OnNonzero: ; ----------------------------------------------------------------------------- Sub_81D2: ldx #$B0 ; CPU:$81D2 PRG:01D2 A2 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_81D4 +; Global: Branch target inside Sub: taken when 81D4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_81D4: ldy #$00 ; CPU:$81D4 PRG:01D4 A0 00 jsr IrqHandler_OnNonzero ; CPU:$81D6 PRG:01D6 20 A0 FF ; ----------------------------------------------------------------------------- @@ -301,10 +353,10 @@ Sub_81D2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_81D9: - lda Zp8D ; CPU:$81D9 PRG:01D9 A5 8D + lda PpuAddrLow ; CPU:$81D9 PRG:01D9 A5 8D clc ; CPU:$81DB PRG:01DB 18 adc #$0C ; CPU:$81DC PRG:01DC 69 0C - sta Zp8D ; CPU:$81DE PRG:01DE 85 8D + sta PpuAddrLow ; CPU:$81DE PRG:01DE 85 8D cmp #$54 ; CPU:$81E0 PRG:01E0 C9 54 bne NmiHandler_OnNonzero ; CPU:$81E2 PRG:01E2 D0 D6 jsr Sub_9807 ; CPU:$81E4 PRG:01E4 20 07 98 @@ -394,12 +446,52 @@ NmiHandler_Loop5: lda #$00 ; CPU:$822A PRG:022A A9 00 sta $0792 ; CPU:$822C PRG:022C 8D 92 07 rts ; CPU:$822F PRG:022F 60 -; ---- data $8230-$8272 (67 bytes) ---- - .byte $A9, $00, $20, $F7, $9B, $A9, $08, $85, $8B, $A2, $00, $A0, $04, $20, $A0, $FF ; CPU:$8230 PRG:0230 A9 00 20 F7 9B A9 08 85 8B A2 00 A0 04 20 A0 FF - .byte $A0, $78, $B1, $6D, $20, $F7, $9B, $20, $19, $B4, $A5, $02, $18, $69, $02, $85 ; CPU:$8240 PRG:0240 A0 78 B1 6D 20 F7 9B 20 19 B4 A5 02 18 69 02 85 - .byte $02, $AD, $90, $07, $8D, $91, $07, $20, $CB, $C6, $A9, $0F, $20, $B4, $B6, $4C ; CPU:$8250 PRG:0250 02 AD 90 07 8D 91 07 20 CB C6 A9 0F 20 B4 B6 4C - .byte $FD, $81, $20, $9B, $82, $20, $06, $82, $A5, $00, $09, $08, $85, $00, $8D, $00 ; CPU:$8260 PRG:0260 FD 81 20 9B 82 20 06 82 A5 00 09 08 85 00 8D 00 - .byte $20, $A2, $08 ; CPU:$8270 PRG:0270 20 A2 08 +; ----------------------------------------------------------------------------- +; Routine: Label_8230 +; Global: Branch target inside Label: taken when 8230. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8230: + lda #$00 ; CPU:$8230 PRG:0230 A9 00 + jsr Sub_9BF7 ; CPU:$8232 PRG:0232 20 F7 9B + lda #$08 ; CPU:$8235 PRG:0235 A9 08 + sta Zp8B ; CPU:$8237 PRG:0237 85 8B + ldx #$00 ; CPU:$8239 PRG:0239 A2 00 + ldy #$04 ; CPU:$823B PRG:023B A0 04 + jsr IrqHandler_OnNonzero ; CPU:$823D PRG:023D 20 A0 FF + ldy #$78 ; CPU:$8240 PRG:0240 A0 78 + lda (Zp6D),y ; CPU:$8242 PRG:0242 B1 6D + jsr Sub_9BF7 ; CPU:$8244 PRG:0244 20 F7 9B + jsr Sub_B419 ; CPU:$8247 PRG:0247 20 19 B4 + lda Zp02 ; CPU:$824A PRG:024A A5 02 + clc ; CPU:$824C PRG:024C 18 + adc #$02 ; CPU:$824D PRG:024D 69 02 + sta Zp02 ; CPU:$824F PRG:024F 85 02 + lda $0790 ; CPU:$8251 PRG:0251 AD 90 07 + sta $0791 ; CPU:$8254 PRG:0254 8D 91 07 + jsr Sub_C6CB ; CPU:$8257 PRG:0257 20 CB C6 + lda #$0F ; CPU:$825A PRG:025A A9 0F + jsr Sub_B6B4 ; CPU:$825C PRG:025C 20 B4 B6 + jmp Sub_81FD ; CPU:$825F PRG:025F 4C FD 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8262 +; Global: Branch target inside Label: taken when 8262. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8262: + jsr Sub_829B ; CPU:$8262 PRG:0262 20 9B 82 + jsr Sub_8206 ; CPU:$8265 PRG:0265 20 06 82 + lda PpuCtrlShadow ; CPU:$8268 PRG:0268 A5 00 + ora #$08 ; CPU:$826A PRG:026A 09 08 + sta PpuCtrlShadow ; CPU:$826C PRG:026C 85 00 + sta PPUCTRL ; CPU:$826E PRG:026E 8D 00 20 + ldx #$08 ; CPU:$8271 PRG:0271 A2 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero2 ; Global: Branch target inside NmiHandler: taken when OnNonzero2. @@ -410,18 +502,17 @@ NmiHandler_Loop5: ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero2: lda $827F,x ; CPU:$8273 PRG:0273 BD 7F 82 -; ---- data $8276-$8277 (2 bytes) ---- - .byte $9D, $00 ; CPU:$8276 PRG:0276 9D 00 ; ----------------------------------------------------------------------------- -; Routine: Label_8278 -; Global: Branch target inside Label: taken when 8278. +; Routine: Label_8276 +; Global: Branch target inside Label: taken when 8276. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8278: - .byte $04, $E8 ; CPU:$8278 PRG:0278 04 E8 -- nop ZpE8 (undocumented; ca65 cannot encode) +Label_8276: + sta $0400,x ; CPU:$8276 PRG:0276 9D 00 04 + inx ; CPU:$8279 PRG:0279 E8 cpx #$1C ; CPU:$827A PRG:027A E0 1C bne NmiHandler_OnNonzero2 ; CPU:$827C PRG:027C D0 F5 txa ; CPU:$827E PRG:027E 8A @@ -429,17 +520,18 @@ Label_8278: jsr Sub_B4AC ; CPU:$8281 PRG:0281 20 AC B4 jmp Sub_81FD ; CPU:$8284 PRG:0284 4C FD 81 ; ---- data $8287-$829A (20 bytes) ---- - .byte $80, $1D, $01, $6C, $80, $0E, $01, $74, $80, $22, $01, $7C, $80, $20, $01, $84 ; CPU:$8287 PRG:0287 80 1D 01 6C 80 0E 01 74 80 22 01 7C 80 20 01 84 +ObjectHandlerPointerTable: + .byte $80, $1D, $01, $6C, $80, $0E, $01, $74, $80, $22, $01, $7C, $80, $20, $01, $84 ; CPU:$8287 PRG:-3D79 80 1D 01 6C 80 0E 01 74 80 22 01 7C 80 20 01 84 .byte $80, $12, $01, $8C ; CPU:$8297 PRG:0297 80 12 01 8C ; ----------------------------------------------------------------------------- -; Routine: Label_829B -; Global: Branch target inside Label: taken when 829B. -; Local: Part of Label. +; Routine: Sub_829B +; Global: Branch target inside Sub: taken when 829B. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_829B: +Sub_829B: lda #$00 ; CPU:$829B PRG:029B A9 00 jsr Sub_9BF7 ; CPU:$829D PRG:029D 20 F7 9B ldx #$00 ; CPU:$82A0 PRG:02A0 A2 00 @@ -448,11 +540,48 @@ Label_829B: ldy #$78 ; CPU:$82A7 PRG:02A7 A0 78 lda (Zp6D),y ; CPU:$82A9 PRG:02A9 B1 6D jmp Sub_9BF7 ; CPU:$82AB PRG:02AB 4C F7 9B -; ---- data $82AE-$82E6 (57 bytes) ---- - .byte $20, $9B, $82, $A9, $08, $A0, $25, $20, $AC, $B4, $A5, $02, $18, $69, $02, $85 ; CPU:$82AE PRG:02AE 20 9B 82 A9 08 A0 25 20 AC B4 A5 02 18 69 02 85 - .byte $02, $AD, $91, $07, $8D, $90, $07, $A9, $0F, $20, $B4, $B6, $4C, $FD, $81, $20 ; CPU:$82BE PRG:02BE 02 AD 91 07 8D 90 07 A9 0F 20 B4 B6 4C FD 81 20 - .byte $9B, $82, $A5, $00, $29, $F7, $85, $00, $8D, $00, $20, $A9, $04, $85, $02, $A9 ; CPU:$82CE PRG:02CE 9B 82 A5 00 29 F7 85 00 8D 00 20 A9 04 85 02 A9 - .byte $08, $85, $8B, $20, $19, $B4, $4C, $FD, $81 ; CPU:$82DE PRG:02DE 08 85 8B 20 19 B4 4C FD 81 +; ----------------------------------------------------------------------------- +; Routine: Label_82AE +; Global: Branch target inside Label: taken when 82AE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_82AE: + jsr Sub_829B ; CPU:$82AE PRG:02AE 20 9B 82 + lda #$08 ; CPU:$82B1 PRG:02B1 A9 08 + ldy #$25 ; CPU:$82B3 PRG:02B3 A0 25 + jsr Sub_B4AC ; CPU:$82B5 PRG:02B5 20 AC B4 + lda Zp02 ; CPU:$82B8 PRG:02B8 A5 02 + clc ; CPU:$82BA PRG:02BA 18 + adc #$02 ; CPU:$82BB PRG:02BB 69 02 + sta Zp02 ; CPU:$82BD PRG:02BD 85 02 + lda $0791 ; CPU:$82BF PRG:02BF AD 91 07 + sta $0790 ; CPU:$82C2 PRG:02C2 8D 90 07 + lda #$0F ; CPU:$82C5 PRG:02C5 A9 0F + jsr Sub_B6B4 ; CPU:$82C7 PRG:02C7 20 B4 B6 + jmp Sub_81FD ; CPU:$82CA PRG:02CA 4C FD 81 +; ----------------------------------------------------------------------------- +; Routine: Label_82CD +; Global: Branch target inside Label: taken when 82CD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_82CD: + jsr Sub_829B ; CPU:$82CD PRG:02CD 20 9B 82 + lda PpuCtrlShadow ; CPU:$82D0 PRG:02D0 A5 00 + and #$F7 ; CPU:$82D2 PRG:02D2 29 F7 + sta PpuCtrlShadow ; CPU:$82D4 PRG:02D4 85 00 + sta PPUCTRL ; CPU:$82D6 PRG:02D6 8D 00 20 + lda #$04 ; CPU:$82D9 PRG:02D9 A9 04 + sta Zp02 ; CPU:$82DB PRG:02DB 85 02 + lda #$08 ; CPU:$82DD PRG:02DD A9 08 + sta Zp8B ; CPU:$82DF PRG:02DF 85 8B + jsr Sub_B419 ; CPU:$82E1 PRG:02E1 20 19 B4 + jmp Sub_81FD ; CPU:$82E4 PRG:02E4 4C FD 81 ; ----------------------------------------------------------------------------- ; Routine: Sub_82E7 ; Global: Branch target inside Sub: taken when 82E7. @@ -463,13 +592,40 @@ Label_829B: ; ----------------------------------------------------------------------------- Sub_82E7: lda #$15 ; CPU:$82E7 PRG:02E7 A9 15 - sta Zp0F ; CPU:$82E9 PRG:02E9 85 0F + sta ObjectIndex ; CPU:$82E9 PRG:02E9 85 0F lda #$00 ; CPU:$82EB PRG:02EB A9 00 sta $0737 ; CPU:$82ED PRG:02ED 8D 37 07 jmp Sub_830E ; CPU:$82F0 PRG:02F0 4C 0E 83 -; ---- data $82F3-$830D (27 bytes) ---- - .byte $A5, $86, $29, $04, $F0, $2A, $4C, $2E, $83, $A5, $86, $29, $03, $85, $95, $4D ; CPU:$82F3 PRG:02F3 A5 86 29 04 F0 2A 4C 2E 83 A5 86 29 03 85 95 4D - .byte $38, $07, $25, $95, $F0, $12, $A5, $95, $8D, $38, $07 ; CPU:$8303 PRG:0303 38 07 25 95 F0 12 A5 95 8D 38 07 +; ----------------------------------------------------------------------------- +; Routine: Label_82F3 +; Global: Branch target inside Label: taken when 82F3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_82F3: + lda Zp86 ; CPU:$82F3 PRG:02F3 A5 86 + and #$04 ; CPU:$82F5 PRG:02F5 29 04 + beq NmiHandler_Loop7 ; CPU:$82F7 PRG:02F7 F0 2A + jmp Sub_832E ; CPU:$82F9 PRG:02F9 4C 2E 83 +; ----------------------------------------------------------------------------- +; Routine: Label_82FC +; Global: Branch target inside Label: taken when 82FC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_82FC: + lda Zp86 ; CPU:$82FC PRG:02FC A5 86 + and #$03 ; CPU:$82FE PRG:02FE 29 03 + sta PlayerX ; CPU:$8300 PRG:0300 85 95 + eor $0738 ; CPU:$8302 PRG:0302 4D 38 07 + and PlayerX ; CPU:$8305 PRG:0305 25 95 + beq NmiHandler_Loop6 ; CPU:$8307 PRG:0307 F0 12 + lda PlayerX ; CPU:$8309 PRG:0309 A5 95 + sta $0738 ; CPU:$830B PRG:030B 8D 38 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_830E ; Global: Branch target inside Sub: taken when 830E. @@ -483,10 +639,56 @@ Sub_830E: jsr Sub_833B ; CPU:$8310 PRG:0310 20 3B 83 lda #$01 ; CPU:$8313 PRG:0313 A9 01 jsr Sub_B6B4 ; CPU:$8315 PRG:0315 20 B4 B6 - jmp NmiHandler_Loop156 ; CPU:$8318 PRG:0318 4C 79 AF -; ---- data $831B-$833A (32 bytes) ---- - .byte $A5, $95, $8D, $38, $07, $4C, $79, $AF, $A9, $0A, $85, $0F, $A9, $00, $85, $68 ; CPU:$831B PRG:031B A5 95 8D 38 07 4C 79 AF A9 0A 85 0F A9 00 85 68 - .byte $4C, $79, $AF, $EE, $37, $07, $AD, $37, $07, $29, $07, $D0, $E0, $4C, $0E, $83 ; CPU:$832B PRG:032B 4C 79 AF EE 37 07 AD 37 07 29 07 D0 E0 4C 0E 83 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero3: + jmp NmiHandler_Loop189 ; CPU:$8318 PRG:0318 4C 79 AF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop6 +; Global: Branch target inside NmiHandler: taken when Loop6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop6: + lda PlayerX ; CPU:$831B PRG:031B A5 95 + sta $0738 ; CPU:$831D PRG:031D 8D 38 07 + jmp NmiHandler_Loop189 ; CPU:$8320 PRG:0320 4C 79 AF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop7 +; Global: Branch target inside NmiHandler: taken when Loop7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop7: + lda #$0A ; CPU:$8323 PRG:0323 A9 0A + sta ObjectIndex ; CPU:$8325 PRG:0325 85 0F + lda #$00 ; CPU:$8327 PRG:0327 A9 00 + sta Zp68 ; CPU:$8329 PRG:0329 85 68 + jmp NmiHandler_Loop189 ; CPU:$832B PRG:032B 4C 79 AF +; ----------------------------------------------------------------------------- +; Routine: Sub_832E +; Global: Branch target inside Sub: taken when 832E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_832E: + inc $0737 ; CPU:$832E PRG:032E EE 37 07 + lda $0737 ; CPU:$8331 PRG:0331 AD 37 07 + and #$07 ; CPU:$8334 PRG:0334 29 07 + bne NmiHandler_OnNonzero3 ; CPU:$8336 PRG:0336 D0 E0 + jmp Sub_830E ; CPU:$8338 PRG:0338 4C 0E 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_833B ; Global: Branch target inside Sub: taken when 833B. @@ -498,23 +700,24 @@ Sub_830E: Sub_833B: clc ; CPU:$833B PRG:033B 18 adc $0735 ; CPU:$833C PRG:033C 6D 35 07 - bcc NmiHandler_Loop6 ; CPU:$833F PRG:033F 90 02 + bcc NmiHandler_Loop8 ; CPU:$833F PRG:033F 90 02 lda #$FF ; CPU:$8341 PRG:0341 A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop6 -; Global: Branch target inside NmiHandler: taken when Loop6. +; Routine: NmiHandler_Loop8 +; Global: Branch target inside NmiHandler: taken when Loop8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop6: +NmiHandler_Loop8: sta $0735 ; CPU:$8343 PRG:0343 8D 35 07 rts ; CPU:$8346 PRG:0346 60 ; ---- data $8347-$8372 (44 bytes) ---- ; referenced by `lda $8347,y` at $81C0 (operand $8347 falls inside this region) ; referenced by `lda $8348,y` at $81C5 (operand $8348 falls inside this region) - .byte $D2, $81, $B6, $AF, $C1, $9A, $BC, $9A, $B7, $9A, $B7, $9A, $AD, $9A, $09, $97 ; CPU:$8347 PRG:0347 D2 81 B6 AF C1 9A BC 9A B7 9A B7 9A AD 9A 09 97 +ObjectActionPointerTable: + .byte $D2, $81, $B6, $AF, $C1, $9A, $BC, $9A, $B7, $9A, $B7, $9A, $AD, $9A, $09, $97 ; CPU:$8347 PRG:-3CB9 D2 81 B6 AF C1 9A BC 9A B7 9A B7 9A AD 9A 09 97 .byte $7D, $96, $2B, $AF, $6C, $AF, $3F, $99, $B2, $9A, $B2, $9A, $82, $9A, $D2, $81 ; CPU:$8357 PRG:0357 7D 96 2B AF 6C AF 3F 99 B2 9A B2 9A 82 9A D2 81 .byte $59, $9A, $69, $9A, $A8, $9A, $A8, $9A, $11, $8E, $F3, $82 ; CPU:$8367 PRG:0367 59 9A 69 9A A8 9A A8 9A 11 8E F3 82 ; ----------------------------------------------------------------------------- @@ -544,9 +747,9 @@ Sub_8373: Sub_837E: lda #$18 ; CPU:$837E PRG:037E A9 18 sta PPUCTRL ; CPU:$8380 PRG:0380 8D 00 20 - sta Zp00 ; CPU:$8383 PRG:0383 85 00 + sta PpuCtrlShadow ; CPU:$8383 PRG:0383 85 00 lda #$00 ; CPU:$8385 PRG:0385 A9 00 - sta Zp01 ; CPU:$8387 PRG:0387 85 01 + sta PpuMaskShadow ; CPU:$8387 PRG:0387 85 01 sta PPUMASK ; CPU:$8389 PRG:0389 8D 01 20 sta $073A ; CPU:$838C PRG:038C 8D 3A 07 sta $073B ; CPU:$838F PRG:038F 8D 3B 07 @@ -556,19 +759,19 @@ Sub_837E: jsr Sub_B4BC ; CPU:$8399 PRG:0399 20 BC B4 ldx #$00 ; CPU:$839C PRG:039C A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: +NmiHandler_OnNonzero4: lda $ACDA,x ; CPU:$839E PRG:039E BD DA AC sta $0797,x ; CPU:$83A1 PRG:03A1 9D 97 07 inx ; CPU:$83A4 PRG:03A4 E8 cpx #$40 ; CPU:$83A5 PRG:03A5 E0 40 - bne NmiHandler_OnNonzero3 ; CPU:$83A7 PRG:03A7 D0 F5 + bne NmiHandler_OnNonzero4 ; CPU:$83A7 PRG:03A7 D0 F5 lda #$00 ; CPU:$83A9 PRG:03A9 A9 00 jsr Sub_B4AC ; CPU:$83AB PRG:03AB 20 AC B4 jsr Sub_88B3 ; CPU:$83AE PRG:03AE 20 B3 88 @@ -576,7 +779,7 @@ NmiHandler_OnNonzero3: sta PPUDATA ; CPU:$83B3 PRG:03B3 8D 07 20 lda #$00 ; CPU:$83B6 PRG:03B6 A9 00 ldx #$05 ; CPU:$83B8 PRG:03B8 A2 05 - jsr NmiHandler_OnNonzero37 ; CPU:$83BA PRG:03BA 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$83BA PRG:03BA 20 D9 A6 lda Zp0D ; CPU:$83BD PRG:03BD A5 0D rol a ; CPU:$83BF PRG:03BF 2A rol a ; CPU:$83C0 PRG:03C0 2A @@ -584,9 +787,9 @@ NmiHandler_OnNonzero3: and #$02 ; CPU:$83C2 PRG:03C2 29 02 tax ; CPU:$83C4 PRG:03C4 AA lda $9CEF,x ; CPU:$83C5 PRG:03C5 BD EF 9C - sta Zp8F ; CPU:$83C8 PRG:03C8 85 8F + sta VramWritePtrLo ; CPU:$83C8 PRG:03C8 85 8F lda $9CF0,x ; CPU:$83CA PRG:03CA BD F0 9C - sta Zp90 ; CPU:$83CD PRG:03CD 85 90 + sta VramWritePtrHi ; CPU:$83CD PRG:03CD 85 90 ldy #$02 ; CPU:$83CF PRG:03CF A0 02 jsr Sub_A4FC ; CPU:$83D1 PRG:03D1 20 FC A4 ldx #$D0 ; CPU:$83D4 PRG:03D4 A2 D0 @@ -599,25 +802,25 @@ NmiHandler_OnNonzero3: and #$20 ; CPU:$83E2 PRG:03E2 29 20 clc ; CPU:$83E4 PRG:03E4 18 adc #$C0 ; CPU:$83E5 PRG:03E5 69 C0 - sta Zp8F ; CPU:$83E7 PRG:03E7 85 8F + sta VramWritePtrLo ; CPU:$83E7 PRG:03E7 85 8F lda #$06 ; CPU:$83E9 PRG:03E9 A9 06 - sta Zp90 ; CPU:$83EB PRG:03EB 85 90 + sta VramWritePtrHi ; CPU:$83EB PRG:03EB 85 90 lda #$00 ; CPU:$83ED PRG:03ED A9 00 sta $0794 ; CPU:$83EF PRG:03EF 8D 94 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: +NmiHandler_OnNonzero5: lda #$37 ; CPU:$83F2 PRG:03F2 A9 37 sta PPUDATA ; CPU:$83F4 PRG:03F4 8D 07 20 ldx #$00 ; CPU:$83F7 PRG:03F7 A2 00 stx PPUDATA ; CPU:$83F9 PRG:03F9 8E 07 20 - lda Zp8F ; CPU:$83FC PRG:03FC A5 8F + lda VramWritePtrLo ; CPU:$83FC PRG:03FC A5 8F lsr a ; CPU:$83FE PRG:03FE 4A lsr a ; CPU:$83FF PRG:03FF 4A and #$07 ; CPU:$8400 PRG:0400 29 07 @@ -632,23 +835,23 @@ NmiHandler_OnNonzero4: asl a ; CPU:$8413 PRG:0413 0A asl a ; CPU:$8414 PRG:0414 0A asl a ; CPU:$8415 PRG:0415 0A - sta Zp95 ; CPU:$8416 PRG:0416 85 95 - lda Zp8F ; CPU:$8418 PRG:0418 A5 8F + sta PlayerX ; CPU:$8416 PRG:0416 85 95 + lda VramWritePtrLo ; CPU:$8418 PRG:0418 A5 8F lsr a ; CPU:$841A PRG:041A 4A and #$0E ; CPU:$841B PRG:041B 29 0E - ora Zp95 ; CPU:$841D PRG:041D 05 95 + ora PlayerX ; CPU:$841D PRG:041D 05 95 tax ; CPU:$841F PRG:041F AA jsr Sub_899B ; CPU:$8420 PRG:0420 20 9B 89 lda #$00 ; CPU:$8423 PRG:0423 A9 00 ldx #$02 ; CPU:$8425 PRG:0425 A2 02 - jsr NmiHandler_OnNonzero37 ; CPU:$8427 PRG:0427 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$8427 PRG:0427 20 D9 A6 ldy #$00 ; CPU:$842A PRG:042A A0 00 - lda (Zp8F),y ; CPU:$842C PRG:042C B1 8F + lda (VramWritePtrLo),y ; CPU:$842C PRG:042C B1 8F iny ; CPU:$842E PRG:042E C8 - ora (Zp8F),y ; CPU:$842F PRG:042F 11 8F + ora (VramWritePtrLo),y ; CPU:$842F PRG:042F 11 8F iny ; CPU:$8431 PRG:0431 C8 - ora (Zp8F),y ; CPU:$8432 PRG:0432 11 8F - beq NmiHandler_Loop7 ; CPU:$8434 PRG:0434 F0 28 + ora (VramWritePtrLo),y ; CPU:$8432 PRG:0432 11 8F + beq NmiHandler_Loop9 ; CPU:$8434 PRG:0434 F0 28 jsr Sub_8973 ; CPU:$8436 PRG:0436 20 73 89 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero @@ -661,34 +864,34 @@ NmiHandler_OnNonzero4: NmiHandler_OnZero: lda #$00 ; CPU:$8439 PRG:0439 A9 00 ldx #$03 ; CPU:$843B PRG:043B A2 03 - jsr NmiHandler_OnNonzero37 ; CPU:$843D PRG:043D 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$843D PRG:043D 20 D9 A6 lda #$37 ; CPU:$8440 PRG:0440 A9 37 sta PPUDATA ; CPU:$8442 PRG:0442 8D 07 20 jsr Sub_89B7 ; CPU:$8445 PRG:0445 20 B7 89 - lda Zp8F ; CPU:$8448 PRG:0448 A5 8F + lda VramWritePtrLo ; CPU:$8448 PRG:0448 A5 8F clc ; CPU:$844A PRG:044A 18 adc #$04 ; CPU:$844B PRG:044B 69 04 - sta Zp8F ; CPU:$844D PRG:044D 85 8F + sta VramWritePtrLo ; CPU:$844D PRG:044D 85 8F and #$1C ; CPU:$844F PRG:044F 29 1C - bne NmiHandler_OnNonzero4 ; CPU:$8451 PRG:0451 D0 9F + bne NmiHandler_OnNonzero5 ; CPU:$8451 PRG:0451 D0 9F jsr Sub_888A ; CPU:$8453 PRG:0453 20 8A 88 jsr Sub_AB76 ; CPU:$8456 PRG:0456 20 76 AB lda #$18 ; CPU:$8459 PRG:0459 A9 18 jmp Sub_A5E0 ; CPU:$845B PRG:045B 4C E0 A5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop7 -; Global: Branch target inside NmiHandler: taken when Loop7. +; Routine: NmiHandler_Loop9 +; Global: Branch target inside NmiHandler: taken when Loop9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop7: +NmiHandler_Loop9: lda $0794 ; CPU:$845E PRG:045E AD 94 07 - bne NmiHandler_Loop9 ; CPU:$8461 PRG:0461 D0 47 + bne NmiHandler_Loop11 ; CPU:$8461 PRG:0461 D0 47 ora #$01 ; CPU:$8463 PRG:0463 09 01 sta $0794 ; CPU:$8465 PRG:0465 8D 94 07 - lda Zp8F ; CPU:$8468 PRG:0468 A5 8F + lda VramWritePtrLo ; CPU:$8468 PRG:0468 A5 8F and #$1F ; CPU:$846A PRG:046A 29 1F clc ; CPU:$846C PRG:046C 18 adc #$04 ; CPU:$846D PRG:046D 69 04 @@ -697,12 +900,12 @@ NmiHandler_Loop7: and #$0E ; CPU:$8471 PRG:0471 29 0E tax ; CPU:$8473 PRG:0473 AA lda $84C6,x ; CPU:$8474 PRG:0474 BD C6 84 - sta Zp91 ; CPU:$8477 PRG:0477 85 91 + sta DispatchPtrLo ; CPU:$8477 PRG:0477 85 91 lda $84C7,x ; CPU:$8479 PRG:0479 BD C7 84 - sta Zp92 ; CPU:$847C PRG:047C 85 92 - lda Zp8F ; CPU:$847E PRG:047E A5 8F + sta DispatchPtrHi ; CPU:$847C PRG:047C 85 92 + lda VramWritePtrLo ; CPU:$847E PRG:047E A5 8F and #$04 ; CPU:$8480 PRG:0480 29 04 - bne NmiHandler_Loop8 ; CPU:$8482 PRG:0482 D0 21 + bne NmiHandler_Loop10 ; CPU:$8482 PRG:0482 D0 21 lda #$50 ; CPU:$8484 PRG:0484 A9 50 ; ----------------------------------------------------------------------------- ; Routine: Sub_8486 @@ -713,24 +916,24 @@ NmiHandler_Loop7: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8486: - sta Zp95 ; CPU:$8486 PRG:0486 85 95 + sta PlayerX ; CPU:$8486 PRG:0486 85 95 ldx #$02 ; CPU:$8488 PRG:0488 A2 02 ldy #$00 ; CPU:$848A PRG:048A A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: - lda (Zp91),y ; CPU:$848C PRG:048C B1 91 - ora Zp95 ; CPU:$848E PRG:048E 05 95 - sta (Zp91),y ; CPU:$8490 PRG:0490 91 91 +NmiHandler_OnNonzero6: + lda (DispatchPtrLo),y ; CPU:$848C PRG:048C B1 91 + ora PlayerX ; CPU:$848E PRG:048E 05 95 + sta (DispatchPtrLo),y ; CPU:$8490 PRG:0490 91 91 iny ; CPU:$8492 PRG:0492 C8 dex ; CPU:$8493 PRG:0493 CA - bne NmiHandler_OnNonzero5 ; CPU:$8494 PRG:0494 D0 F6 + bne NmiHandler_OnNonzero6 ; CPU:$8494 PRG:0494 D0 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_8496 ; Global: Branch target inside Sub: taken when 8496. @@ -747,25 +950,25 @@ Sub_8496: sta PPUDATA ; CPU:$849F PRG:049F 8D 07 20 jmp Sub_8496 ; CPU:$84A2 PRG:04A2 4C 96 84 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop8 -; Global: Branch target inside NmiHandler: taken when Loop8. +; Routine: NmiHandler_Loop10 +; Global: Branch target inside NmiHandler: taken when Loop10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop8: +NmiHandler_Loop10: lda #$05 ; CPU:$84A5 PRG:04A5 A9 05 jmp Sub_8486 ; CPU:$84A7 PRG:04A7 4C 86 84 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop9 -; Global: Branch target inside NmiHandler: taken when Loop9. +; Routine: NmiHandler_Loop11 +; Global: Branch target inside NmiHandler: taken when Loop11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop9: +NmiHandler_Loop11: lda #$3B ; CPU:$84AA PRG:04AA A9 3B ldx #$3B ; CPU:$84AC PRG:04AC A2 3B stx PPUDATA ; CPU:$84AE PRG:04AE 8E 07 20 @@ -780,7 +983,8 @@ NmiHandler_Loop9: ; referenced by `lda $84C6,x` at $8474 (operand $84C6 falls inside this region) ; referenced by `lda $84C7,x` at $8479 (operand $84C7 falls inside this region) ; referenced by `lda $84E4,x` at $8496 (operand $84E4 falls inside this region) - .byte $AC, $07, $B4, $07, $BC, $07, $C4, $07, $CC, $07, $20, $53, $4B, $49, $20, $52 ; CPU:$84C6 PRG:04C6 AC 07 B4 07 BC 07 C4 07 CC 07 20 53 4B 49 20 52 +SkiRecordNameTable: + .byte $AC, $07, $B4, $07, $BC, $07, $C4, $07, $CC, $07, $20, $53, $4B, $49, $20, $52 ; CPU:$84C6 PRG:-3B3A AC 07 B4 07 BC 07 C4 07 CC 07 20 53 4B 49 20 52 .byte $45, $43, $4F, $52, $44, $20, $20, $20, $20, $20, $20, $6A, $00, $00, $20, $46 ; CPU:$84D6 PRG:04D6 45 43 4F 52 44 20 20 20 20 20 20 6A 00 00 20 46 .byte $41, $49, $4C, $45, $44, $00 ; CPU:$84E6 PRG:04E6 41 49 4C 45 44 00 ; ----------------------------------------------------------------------------- @@ -793,35 +997,35 @@ NmiHandler_Loop9: ; ----------------------------------------------------------------------------- Label_84EC: lda $073B ; CPU:$84EC PRG:04EC AD 3B 07 - bne NmiHandler_Loop10 ; CPU:$84EF PRG:04EF D0 0A + bne NmiHandler_Loop12 ; CPU:$84EF PRG:04EF D0 0A dec $0794 ; CPU:$84F1 PRG:04F1 CE 94 07 - bne NmiHandler_Loop11 ; CPU:$84F4 PRG:04F4 D0 08 + bne NmiHandler_Loop13 ; CPU:$84F4 PRG:04F4 D0 08 dec $0795 ; CPU:$84F6 PRG:04F6 CE 95 07 - bpl NmiHandler_Loop11 ; CPU:$84F9 PRG:04F9 10 03 + bpl NmiHandler_Loop13 ; CPU:$84F9 PRG:04F9 10 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop10 -; Global: Branch target inside NmiHandler: taken when Loop10. +; Routine: NmiHandler_Loop12 +; Global: Branch target inside NmiHandler: taken when Loop12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop10: +NmiHandler_Loop12: jmp Sub_8B7F ; CPU:$84FB PRG:04FB 4C 7F 8B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop11 -; Global: Branch target inside NmiHandler: taken when Loop11. +; Routine: NmiHandler_Loop13 +; Global: Branch target inside NmiHandler: taken when Loop13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop11: +NmiHandler_Loop13: jsr Sub_C44E ; CPU:$84FE PRG:04FE 20 4E C4 lda Zp86 ; CPU:$8501 PRG:0501 A5 86 ora Zp87 ; CPU:$8503 PRG:0503 05 87 and #$20 ; CPU:$8505 PRG:0505 29 20 - beq NmiHandler_Loop12 ; CPU:$8507 PRG:0507 F0 06 + beq NmiHandler_Loop14 ; CPU:$8507 PRG:0507 F0 06 sta $073A ; CPU:$8509 PRG:0509 8D 3A 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_850C @@ -834,26 +1038,26 @@ NmiHandler_Loop11: Sub_850C: jmp Sub_850C ; CPU:$850C PRG:050C 4C 0C 85 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop12 -; Global: Branch target inside NmiHandler: taken when Loop12. +; Routine: NmiHandler_Loop14 +; Global: Branch target inside NmiHandler: taken when Loop14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop12: +NmiHandler_Loop14: lda $073A ; CPU:$850F PRG:050F AD 3A 07 - beq NmiHandler_Loop13 ; CPU:$8512 PRG:0512 F0 03 + beq NmiHandler_Loop15 ; CPU:$8512 PRG:0512 F0 03 sta $073B ; CPU:$8514 PRG:0514 8D 3B 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop13 -; Global: Branch target inside NmiHandler: taken when Loop13. +; Routine: NmiHandler_Loop15 +; Global: Branch target inside NmiHandler: taken when Loop15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop13: +NmiHandler_Loop15: jmp Sub_850C ; CPU:$8517 PRG:0517 4C 0C 85 ; ----------------------------------------------------------------------------- ; Routine: Sub_851A @@ -866,25 +1070,6 @@ NmiHandler_Loop13: Sub_851A: ldx #$00 ; CPU:$851A PRG:051A A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: - lda #$00 ; CPU:$851C PRG:051C A9 00 - sta $0606,x ; CPU:$851E PRG:051E 9D 06 06 - txa ; CPU:$8521 PRG:0521 8A - clc ; CPU:$8522 PRG:0522 18 - adc #$08 ; CPU:$8523 PRG:0523 69 08 - tax ; CPU:$8525 PRG:0525 AA - cpx #$C0 ; CPU:$8526 PRG:0526 E0 C0 - bne NmiHandler_OnNonzero6 ; CPU:$8528 PRG:0528 D0 F2 - lda #$00 ; CPU:$852A PRG:052A A9 00 - tax ; CPU:$852C PRG:052C AA -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero7 ; Global: Branch target inside NmiHandler: taken when OnNonzero7. ; Local: Part of NmiHandler. @@ -893,10 +1078,29 @@ NmiHandler_OnNonzero6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero7: + lda #$00 ; CPU:$851C PRG:051C A9 00 + sta $0606,x ; CPU:$851E PRG:051E 9D 06 06 + txa ; CPU:$8521 PRG:0521 8A + clc ; CPU:$8522 PRG:0522 18 + adc #$08 ; CPU:$8523 PRG:0523 69 08 + tax ; CPU:$8525 PRG:0525 AA + cpx #$C0 ; CPU:$8526 PRG:0526 E0 C0 + bne NmiHandler_OnNonzero7 ; CPU:$8528 PRG:0528 D0 F2 + lda #$00 ; CPU:$852A PRG:052A A9 00 + tax ; CPU:$852C PRG:052C AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero8: sta $06C0,x ; CPU:$852D PRG:052D 9D C0 06 inx ; CPU:$8530 PRG:0530 E8 cpx #$40 ; CPU:$8531 PRG:0531 E0 40 - bne NmiHandler_OnNonzero7 ; CPU:$8533 PRG:0533 D0 F8 + bne NmiHandler_OnNonzero8 ; CPU:$8533 PRG:0533 D0 F8 rts ; CPU:$8535 PRG:0535 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8536 @@ -909,10 +1113,10 @@ NmiHandler_OnNonzero7: Sub_8536: lda #$18 ; CPU:$8536 PRG:0536 A9 18 sta PPUCTRL ; CPU:$8538 PRG:0538 8D 00 20 - sta Zp00 ; CPU:$853B PRG:053B 85 00 + sta PpuCtrlShadow ; CPU:$853B PRG:053B 85 00 lda #$00 ; CPU:$853D PRG:053D A9 00 sta PPUMASK ; CPU:$853F PRG:053F 8D 01 20 - sta Zp01 ; CPU:$8542 PRG:0542 85 01 + sta PpuMaskShadow ; CPU:$8542 PRG:0542 85 01 jsr Sub_B5D6 ; CPU:$8544 PRG:0544 20 D6 B5 ldx #$B6 ; CPU:$8547 PRG:0547 A2 B6 ldy #$B5 ; CPU:$8549 PRG:0549 A0 B5 @@ -936,22 +1140,22 @@ Sub_8536: adc #$05 ; CPU:$8570 PRG:0570 69 05 sta PPUDATA ; CPU:$8572 PRG:0572 8D 07 20 lda #$59 ; CPU:$8575 PRG:0575 A9 59 - sta Zp8F ; CPU:$8577 PRG:0577 85 8F + sta VramWritePtrLo ; CPU:$8577 PRG:0577 85 8F lda #$8B ; CPU:$8579 PRG:0579 A9 8B - sta Zp90 ; CPU:$857B PRG:057B 85 90 + sta VramWritePtrHi ; CPU:$857B PRG:057B 85 90 lda #$22 ; CPU:$857D PRG:057D A9 22 - sta Zp92 ; CPU:$857F PRG:057F 85 92 + sta DispatchPtrHi ; CPU:$857F PRG:057F 85 92 lda #$A6 ; CPU:$8581 PRG:0581 A9 A6 - sta Zp91 ; CPU:$8583 PRG:0583 85 91 + sta DispatchPtrLo ; CPU:$8583 PRG:0583 85 91 jsr Sub_8B26 ; CPU:$8585 PRG:0585 20 26 8B lda #$6B ; CPU:$8588 PRG:0588 A9 6B - sta Zp8F ; CPU:$858A PRG:058A 85 8F + sta VramWritePtrLo ; CPU:$858A PRG:058A 85 8F lda #$8B ; CPU:$858C PRG:058C A9 8B - sta Zp90 ; CPU:$858E PRG:058E 85 90 + sta VramWritePtrHi ; CPU:$858E PRG:058E 85 90 lda #$22 ; CPU:$8590 PRG:0590 A9 22 - sta Zp92 ; CPU:$8592 PRG:0592 85 92 + sta DispatchPtrHi ; CPU:$8592 PRG:0592 85 92 lda #$D4 ; CPU:$8594 PRG:0594 A9 D4 - sta Zp91 ; CPU:$8596 PRG:0596 85 91 + sta DispatchPtrLo ; CPU:$8596 PRG:0596 85 91 jsr Sub_8B26 ; CPU:$8598 PRG:0598 20 26 8B lda #$16 ; CPU:$859B PRG:059B A9 16 sta $0744 ; CPU:$859D PRG:059D 8D 44 07 @@ -970,7 +1174,8 @@ Sub_8536: lda #$16 ; CPU:$85C0 PRG:05C0 A9 16 jmp Sub_A5E0 ; CPU:$85C2 PRG:05C2 4C E0 A5 ; ---- data $85C5-$87F7 (563 bytes) ---- - .byte $20, $CC, $50, $4C, $41, $59, $45, $52, $00, $21, $07, $4E, $41, $4D, $45, $20 ; CPU:$85C5 PRG:05C5 20 CC 50 4C 41 59 45 52 00 21 07 4E 41 4D 45 20 +PlayerNameText: + .byte $20, $CC, $50, $4C, $41, $59, $45, $52, $00, $21, $07, $4E, $41, $4D, $45, $20 ; CPU:$85C5 PRG:-3A3B 20 CC 50 4C 41 59 45 52 00 21 07 4E 41 4D 45 20 .byte $52, $45, $47, $49, $53, $54, $52, $41, $54, $49, $4F, $4E, $00, $21, $66, $41 ; CPU:$85D5 PRG:05D5 52 45 47 49 53 54 52 41 54 49 4F 4E 00 21 66 41 .byte $20, $42, $20, $43, $20, $44, $20, $45, $20, $46, $20, $47, $20, $48, $20, $49 ; CPU:$85E5 PRG:05E5 20 42 20 43 20 44 20 45 20 46 20 47 20 48 20 49 .byte $20, $4A, $00, $21, $C6, $4B, $20, $4C, $20, $4D, $20, $4E, $20, $4F, $20, $50 ; CPU:$85F5 PRG:05F5 20 4A 00 21 C6 4B 20 4C 20 4D 20 4E 20 4F 20 50 @@ -1017,10 +1222,10 @@ Sub_8536: Sub_87F8: lda #$18 ; CPU:$87F8 PRG:07F8 A9 18 sta PPUCTRL ; CPU:$87FA PRG:07FA 8D 00 20 - sta Zp00 ; CPU:$87FD PRG:07FD 85 00 + sta PpuCtrlShadow ; CPU:$87FD PRG:07FD 85 00 lda #$00 ; CPU:$87FF PRG:07FF A9 00 sta PPUMASK ; CPU:$8801 PRG:0801 8D 01 20 - sta Zp01 ; CPU:$8804 PRG:0804 85 01 + sta PpuMaskShadow ; CPU:$8804 PRG:0804 85 01 ldx #$76 ; CPU:$8806 PRG:0806 A2 76 ldy #$B5 ; CPU:$8808 PRG:0808 A0 B5 jsr Sub_B4BC ; CPU:$880A PRG:080A 20 BC B4 @@ -1039,7 +1244,7 @@ Sub_87F8: ; ----------------------------------------------------------------------------- Sub_8819: lda $8828,x ; CPU:$8819 PRG:0819 BD 28 88 - beq NmiHandler_Loop14 ; CPU:$881C PRG:081C F0 59 + beq NmiHandler_Loop16 ; CPU:$881C PRG:081C F0 59 jsr Sub_A50E ; CPU:$881E PRG:081E 20 0E A5 sta PPUDATA ; CPU:$8821 PRG:0821 8D 07 20 inx ; CPU:$8824 PRG:0824 E8 @@ -1050,20 +1255,21 @@ Sub_8819: ; referenced by `lda $884A,x` at $88D8 (operand $884A falls inside this region) ; referenced by `lda $8849,x` at $9CC6 (operand $8849 falls inside this region) ; referenced by `lda $884A,x` at $9CCB (operand $884A falls inside this region) - .byte $6A, $20, $20, $20, $20, $20, $20, $57, $4F, $52, $4C, $44, $20, $52, $45, $43 ; CPU:$8828 PRG:0828 6A 20 20 20 20 20 20 57 4F 52 4C 44 20 52 45 43 +WorldRecordText: + .byte $6A, $20, $20, $20, $20, $20, $20, $57, $4F, $52, $4C, $44, $20, $52, $45, $43 ; CPU:$8828 PRG:-37D8 6A 20 20 20 20 20 20 57 4F 52 4C 44 20 52 45 43 .byte $4F, $52, $44, $20, $54, $49, $4D, $45, $53, $20, $20, $20, $20, $20, $20, $6A ; CPU:$8838 PRG:0838 4F 52 44 20 54 49 4D 45 53 20 20 20 20 20 20 6A .byte $00, $4F, $88, $5D, $88, $6B, $88, $0A, $53, $4E, $4F, $57, $59, $20, $48, $49 ; CPU:$8848 PRG:0848 00 4F 88 5D 88 6B 88 0A 53 4E 4F 57 59 20 48 49 .byte $4C, $4C, $00, $00, $0A, $0A, $53, $54, $45, $45, $50, $20, $50, $45, $41, $4B ; CPU:$8858 PRG:0858 4C 4C 00 00 0A 0A 53 54 45 45 50 20 50 45 41 4B .byte $00, $00, $0A, $0B, $4D, $9D, $20, $4E, $41, $53, $54, $59, $00, $00, $0B ; CPU:$8868 PRG:0868 00 00 0A 0B 4D 9D 20 4E 41 53 54 59 00 00 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop14 -; Global: Branch target inside NmiHandler: taken when Loop14. +; Routine: NmiHandler_Loop16 +; Global: Branch target inside NmiHandler: taken when Loop16. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop14: +NmiHandler_Loop16: jsr Sub_89B7 ; CPU:$8877 PRG:0877 20 B7 89 jsr Sub_88FC ; CPU:$887A PRG:087A 20 FC 88 jsr Sub_888A ; CPU:$887D PRG:087D 20 8A 88 @@ -1084,7 +1290,7 @@ Sub_888A: sta PPUDATA ; CPU:$888C PRG:088C 8D 07 20 lda #$35 ; CPU:$888F PRG:088F A9 35 ldx #$1E ; CPU:$8891 PRG:0891 A2 1E - jsr NmiHandler_OnNonzero37 ; CPU:$8893 PRG:0893 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$8893 PRG:0893 20 D9 A6 lda #$3A ; CPU:$8896 PRG:0896 A9 3A sta PPUDATA ; CPU:$8898 PRG:0898 8D 07 20 lda #$23 ; CPU:$889B PRG:089B A9 23 @@ -1111,7 +1317,7 @@ Sub_88B3: sta PPUDATA ; CPU:$88B8 PRG:08B8 8D 07 20 lda #$35 ; CPU:$88BB PRG:08BB A9 35 ldx #$1E ; CPU:$88BD PRG:08BD A2 1E - jsr NmiHandler_OnNonzero37 ; CPU:$88BF PRG:08BF 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$88BF PRG:08BF 20 D9 A6 lda #$36 ; CPU:$88C2 PRG:08C2 A9 36 sta PPUDATA ; CPU:$88C4 PRG:08C4 8D 07 20 jsr Sub_89B7 ; CPU:$88C7 PRG:08C7 20 B7 89 @@ -1121,21 +1327,21 @@ Sub_88B3: asl a ; CPU:$88D1 PRG:08D1 0A tax ; CPU:$88D2 PRG:08D2 AA lda $8849,x ; CPU:$88D3 PRG:08D3 BD 49 88 - sta Zp8F ; CPU:$88D6 PRG:08D6 85 8F + sta VramWritePtrLo ; CPU:$88D6 PRG:08D6 85 8F lda $884A,x ; CPU:$88D8 PRG:08D8 BD 4A 88 - sta Zp90 ; CPU:$88DB PRG:08DB 85 90 + sta VramWritePtrHi ; CPU:$88DB PRG:08DB 85 90 ldy #$00 ; CPU:$88DD PRG:08DD A0 00 - lda (Zp8F),y ; CPU:$88DF PRG:08DF B1 8F + lda (VramWritePtrLo),y ; CPU:$88DF PRG:08DF B1 8F iny ; CPU:$88E1 PRG:08E1 C8 tax ; CPU:$88E2 PRG:08E2 AA lda #$00 ; CPU:$88E3 PRG:08E3 A9 00 - jsr NmiHandler_OnNonzero37 ; CPU:$88E5 PRG:08E5 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$88E5 PRG:08E5 20 D9 A6 jsr Sub_A4FC ; CPU:$88E8 PRG:08E8 20 FC A4 iny ; CPU:$88EB PRG:08EB C8 - lda (Zp8F),y ; CPU:$88EC PRG:08EC B1 8F + lda (VramWritePtrLo),y ; CPU:$88EC PRG:08EC B1 8F tax ; CPU:$88EE PRG:08EE AA lda #$00 ; CPU:$88EF PRG:08EF A9 00 - jsr NmiHandler_OnNonzero37 ; CPU:$88F1 PRG:08F1 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$88F1 PRG:08F1 20 D9 A6 lda #$37 ; CPU:$88F4 PRG:08F4 A9 37 sta PPUDATA ; CPU:$88F6 PRG:08F6 8D 07 20 jmp Sub_89B7 ; CPU:$88F9 PRG:08F9 4C B7 89 @@ -1156,9 +1362,9 @@ Sub_88FC: clc ; CPU:$8903 PRG:0903 18 adc #$00 ; CPU:$8904 PRG:0904 69 00 adc #$38 ; CPU:$8906 PRG:0906 69 38 - sta Zp8F ; CPU:$8908 PRG:0908 85 8F + sta VramWritePtrLo ; CPU:$8908 PRG:0908 85 8F lda #$06 ; CPU:$890A PRG:090A A9 06 - sta Zp90 ; CPU:$890C PRG:090C 85 90 + sta VramWritePtrHi ; CPU:$890C PRG:090C 85 90 lda #$07 ; CPU:$890E PRG:090E A9 07 sta Zp93 ; CPU:$8910 PRG:0910 85 93 ; ----------------------------------------------------------------------------- @@ -1185,10 +1391,10 @@ NmiHandler_OnNonnegative: asl a ; CPU:$892C PRG:092C 0A asl a ; CPU:$892D PRG:092D 0A asl a ; CPU:$892E PRG:092E 0A - sta Zp95 ; CPU:$892F PRG:092F 85 95 + sta PlayerX ; CPU:$892F PRG:092F 85 95 lda Zp93 ; CPU:$8931 PRG:0931 A5 93 asl a ; CPU:$8933 PRG:0933 0A - ora Zp95 ; CPU:$8934 PRG:0934 05 95 + ora PlayerX ; CPU:$8934 PRG:0934 05 95 jsr Sub_899B ; CPU:$8936 PRG:0936 20 9B 89 lda #$00 ; CPU:$8939 PRG:0939 A9 00 sta PPUDATA ; CPU:$893B PRG:093B 8D 07 20 @@ -1197,32 +1403,32 @@ NmiHandler_OnNonnegative: sta PPUDATA ; CPU:$8943 PRG:0943 8D 07 20 ldx #$03 ; CPU:$8946 PRG:0946 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: - lda (Zp8F),y ; CPU:$8948 PRG:0948 B1 8F +NmiHandler_OnNonzero9: + lda (VramWritePtrLo),y ; CPU:$8948 PRG:0948 B1 8F jsr Sub_A50E ; CPU:$894A PRG:094A 20 0E A5 sta PPUDATA ; CPU:$894D PRG:094D 8D 07 20 iny ; CPU:$8950 PRG:0950 C8 dex ; CPU:$8951 PRG:0951 CA - bne NmiHandler_OnNonzero8 ; CPU:$8952 PRG:0952 D0 F4 + bne NmiHandler_OnNonzero9 ; CPU:$8952 PRG:0952 D0 F4 lda #$00 ; CPU:$8954 PRG:0954 A9 00 sta PPUDATA ; CPU:$8956 PRG:0956 8D 07 20 lda #$37 ; CPU:$8959 PRG:0959 A9 37 sta PPUDATA ; CPU:$895B PRG:095B 8D 07 20 jsr Sub_89B7 ; CPU:$895E PRG:095E 20 B7 89 - lda Zp8F ; CPU:$8961 PRG:0961 A5 8F + lda VramWritePtrLo ; CPU:$8961 PRG:0961 A5 8F sec ; CPU:$8963 PRG:0963 38 sbc #$08 ; CPU:$8964 PRG:0964 E9 08 - sta Zp8F ; CPU:$8966 PRG:0966 85 8F - lda Zp90 ; CPU:$8968 PRG:0968 A5 90 + sta VramWritePtrLo ; CPU:$8966 PRG:0966 85 8F + lda VramWritePtrHi ; CPU:$8968 PRG:0968 A5 90 sbc #$00 ; CPU:$896A PRG:096A E9 00 - sta Zp90 ; CPU:$896C PRG:096C 85 90 + sta VramWritePtrHi ; CPU:$896C PRG:096C 85 90 dec Zp93 ; CPU:$896E PRG:096E C6 93 bpl NmiHandler_OnNonnegative ; CPU:$8970 PRG:0970 10 A0 rts ; CPU:$8972 PRG:0972 60 @@ -1236,20 +1442,20 @@ NmiHandler_OnNonzero8: ; ----------------------------------------------------------------------------- Sub_8973: ldy #$00 ; CPU:$8973 PRG:0973 A0 00 - lda (Zp8F),y ; CPU:$8975 PRG:0975 B1 8F + lda (VramWritePtrLo),y ; CPU:$8975 PRG:0975 B1 8F iny ; CPU:$8977 PRG:0977 C8 - sta Zp95 ; CPU:$8978 PRG:0978 85 95 + sta PlayerX ; CPU:$8978 PRG:0978 85 95 jsr Sub_9FBD ; CPU:$897A PRG:097A 20 BD 9F lda #$3B ; CPU:$897D PRG:097D A9 3B sta PPUDATA ; CPU:$897F PRG:097F 8D 07 20 - lda (Zp8F),y ; CPU:$8982 PRG:0982 B1 8F + lda (VramWritePtrLo),y ; CPU:$8982 PRG:0982 B1 8F iny ; CPU:$8984 PRG:0984 C8 tax ; CPU:$8985 PRG:0985 AA lda $986B,x ; CPU:$8986 PRG:0986 BD 6B 98 jsr Sub_9FB1 ; CPU:$8989 PRG:0989 20 B1 9F lda #$3B ; CPU:$898C PRG:098C A9 3B sta PPUDATA ; CPU:$898E PRG:098E 8D 07 20 - lda (Zp8F),y ; CPU:$8991 PRG:0991 B1 8F + lda (VramWritePtrLo),y ; CPU:$8991 PRG:0991 B1 8F iny ; CPU:$8993 PRG:0993 C8 tax ; CPU:$8994 PRG:0994 AA lda $986B,x ; CPU:$8995 PRG:0995 BD 6B 98 @@ -1264,10 +1470,19 @@ Sub_8973: ; ----------------------------------------------------------------------------- Sub_899B: tax ; CPU:$899B PRG:099B AA +; ----------------------------------------------------------------------------- +; Routine: Sub_899C +; Global: Branch target inside Sub: taken when 899C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_899C: lda $C852,x ; CPU:$899C PRG:099C BD 52 C8 - sta Zp91 ; CPU:$899F PRG:099F 85 91 + sta DispatchPtrLo ; CPU:$899F PRG:099F 85 91 lda $C853,x ; CPU:$89A1 PRG:09A1 BD 53 C8 - sta Zp92 ; CPU:$89A4 PRG:09A4 85 92 + sta DispatchPtrHi ; CPU:$89A4 PRG:09A4 85 92 ldy #$00 ; CPU:$89A6 PRG:09A6 A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_89A8 @@ -1278,21 +1493,21 @@ Sub_899B: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_89A8: - lda (Zp91),y ; CPU:$89A8 PRG:09A8 B1 91 - beq NmiHandler_Loop15 ; CPU:$89AA PRG:09AA F0 0A + lda (DispatchPtrLo),y ; CPU:$89A8 PRG:09A8 B1 91 + beq NmiHandler_Loop17 ; CPU:$89AA PRG:09AA F0 0A iny ; CPU:$89AC PRG:09AC C8 jsr Sub_A50E ; CPU:$89AD PRG:09AD 20 0E A5 sta PPUDATA ; CPU:$89B0 PRG:09B0 8D 07 20 jmp Sub_89A8 ; CPU:$89B3 PRG:09B3 4C A8 89 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop15 -; Global: Branch target inside NmiHandler: taken when Loop15. +; Routine: NmiHandler_Loop17 +; Global: Branch target inside NmiHandler: taken when Loop17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop15: +NmiHandler_Loop17: rts ; CPU:$89B6 PRG:09B6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_89B7 @@ -1307,7 +1522,7 @@ Sub_89B7: sta PPUDATA ; CPU:$89B9 PRG:09B9 8D 07 20 lda #$00 ; CPU:$89BC PRG:09BC A9 00 ldx #$1E ; CPU:$89BE PRG:09BE A2 1E - jsr NmiHandler_OnNonzero37 ; CPU:$89C0 PRG:09C0 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$89C0 PRG:09C0 20 D9 A6 lda #$37 ; CPU:$89C3 PRG:09C3 A9 37 sta PPUDATA ; CPU:$89C5 PRG:09C5 8D 07 20 rts ; CPU:$89C8 PRG:09C8 60 @@ -1323,29 +1538,22 @@ Sub_89C9: ldx #$00 ; CPU:$89C9 PRG:09C9 A2 00 lda #$03 ; CPU:$89CB PRG:09CB A9 03 sta Zp93 ; CPU:$89CD PRG:09CD 85 93 - jmp NmiHandler_OnNonzero9 ; CPU:$89CF PRG:09CF 4C 04 8A -; ---- data $89D2-$8A03 (50 bytes) ---- - .byte $29, $30, $F0, $1B, $C9, $10, $F0, $2A, $C9, $20, $F0, $30, $A0, $02, $20, $21 ; CPU:$89D2 PRG:09D2 29 30 F0 1B C9 10 F0 2A C9 20 F0 30 A0 02 20 21 - .byte $8A, $A9, $05, $85, $95, $A0, $06, $20, $33, $8A, $C6, $93, $D0, $EE, $60, $A0 ; CPU:$89E2 PRG:09E2 8A A9 05 85 95 A0 06 20 33 8A C6 93 D0 EE 60 A0 - .byte $03, $A9, $0A, $85, $95, $20, $4F, $8A, $A0, $05, $20, $21, $8A, $C6, $93, $D0 ; CPU:$89F2 PRG:09F2 03 A9 0A 85 95 20 4F 8A A0 05 20 21 8A C6 93 D0 - .byte $EE, $60 ; CPU:$8A02 PRG:0A02 EE 60 + jmp NmiHandler_OnNonzero12 ; CPU:$89CF PRG:09CF 4C 04 8A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. -; Local: Part of NmiHandler. +; Routine: Label_89D2 +; Global: Branch target inside Label: taken when 89D2. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: - ldy #$08 ; CPU:$8A04 PRG:0A04 A0 08 - jsr NmiHandler_OnNonzero10 ; CPU:$8A06 PRG:0A06 20 21 8A - dec Zp93 ; CPU:$8A09 PRG:0A09 C6 93 - bne NmiHandler_OnNonzero9 ; CPU:$8A0B PRG:0A0B D0 F7 - rts ; CPU:$8A0D PRG:0A0D 60 -; ---- data $8A0E-$8A20 (19 bytes) ---- - .byte $A0, $04, $20, $21, $8A, $A9, $05, $85, $95, $A0, $04, $20, $33, $8A, $C6, $93 ; CPU:$8A0E PRG:0A0E A0 04 20 21 8A A9 05 85 95 A0 04 20 33 8A C6 93 - .byte $D0, $EE, $60 ; CPU:$8A1E PRG:0A1E D0 EE 60 +Label_89D2: + and #$30 ; CPU:$89D2 PRG:09D2 29 30 + beq NmiHandler_OnNonzero11 ; CPU:$89D4 PRG:09D4 F0 1B + cmp #$10 ; CPU:$89D6 PRG:09D6 C9 10 + beq NmiHandler_OnNonzero12 ; CPU:$89D8 PRG:09D8 F0 2A + cmp #$20 ; CPU:$89DA PRG:09DA C9 20 + beq NmiHandler_OnNonzero13 ; CPU:$89DC PRG:09DC F0 30 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonzero10 ; Global: Branch target inside NmiHandler: taken when OnNonzero10. @@ -1355,6 +1563,74 @@ NmiHandler_OnNonzero9: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero10: + ldy #$02 ; CPU:$89DE PRG:09DE A0 02 + jsr NmiHandler_OnNonzero14 ; CPU:$89E0 PRG:09E0 20 21 8A + lda #$05 ; CPU:$89E3 PRG:09E3 A9 05 + sta PlayerX ; CPU:$89E5 PRG:09E5 85 95 + ldy #$06 ; CPU:$89E7 PRG:09E7 A0 06 + jsr NmiHandler_OnNonzero15 ; CPU:$89E9 PRG:09E9 20 33 8A + dec Zp93 ; CPU:$89EC PRG:09EC C6 93 + bne NmiHandler_OnNonzero10 ; CPU:$89EE PRG:09EE D0 EE + rts ; CPU:$89F0 PRG:09F0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero11: + ldy #$03 ; CPU:$89F1 PRG:09F1 A0 03 + lda #$0A ; CPU:$89F3 PRG:09F3 A9 0A + sta PlayerX ; CPU:$89F5 PRG:09F5 85 95 + jsr NmiHandler_OnNonzero16 ; CPU:$89F7 PRG:09F7 20 4F 8A + ldy #$05 ; CPU:$89FA PRG:09FA A0 05 + jsr NmiHandler_OnNonzero14 ; CPU:$89FC PRG:09FC 20 21 8A + dec Zp93 ; CPU:$89FF PRG:09FF C6 93 + bne NmiHandler_OnNonzero11 ; CPU:$8A01 PRG:0A01 D0 EE + rts ; CPU:$8A03 PRG:0A03 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero12: + ldy #$08 ; CPU:$8A04 PRG:0A04 A0 08 + jsr NmiHandler_OnNonzero14 ; CPU:$8A06 PRG:0A06 20 21 8A + dec Zp93 ; CPU:$8A09 PRG:0A09 C6 93 + bne NmiHandler_OnNonzero12 ; CPU:$8A0B PRG:0A0B D0 F7 + rts ; CPU:$8A0D PRG:0A0D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero13: + ldy #$04 ; CPU:$8A0E PRG:0A0E A0 04 + jsr NmiHandler_OnNonzero14 ; CPU:$8A10 PRG:0A10 20 21 8A + lda #$05 ; CPU:$8A13 PRG:0A13 A9 05 + sta PlayerX ; CPU:$8A15 PRG:0A15 85 95 + ldy #$04 ; CPU:$8A17 PRG:0A17 A0 04 + jsr NmiHandler_OnNonzero15 ; CPU:$8A19 PRG:0A19 20 33 8A + dec Zp93 ; CPU:$8A1C PRG:0A1C C6 93 + bne NmiHandler_OnNonzero13 ; CPU:$8A1E PRG:0A1E D0 EE + rts ; CPU:$8A20 PRG:0A20 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero14: lda $9FC8,x ; CPU:$8A21 PRG:0A21 BD C8 9F sta $02C0,x ; CPU:$8A24 PRG:0A24 9D C0 02 lda $9FC9,x ; CPU:$8A27 PRG:0A27 BD C9 9F @@ -1362,13 +1638,75 @@ NmiHandler_OnNonzero10: inx ; CPU:$8A2D PRG:0A2D E8 inx ; CPU:$8A2E PRG:0A2E E8 dey ; CPU:$8A2F PRG:0A2F 88 - bne NmiHandler_OnNonzero10 ; CPU:$8A30 PRG:0A30 D0 EF + bne NmiHandler_OnNonzero14 ; CPU:$8A30 PRG:0A30 D0 EF rts ; CPU:$8A32 PRG:0A32 60 -; ---- data $8A33-$8A6C (58 bytes) ---- - .byte $BD, $C9, $9F, $38, $E5, $95, $B0, $03, $69, $3C, $18, $9D, $C1, $02, $BD, $C8 ; CPU:$8A33 PRG:0A33 BD C9 9F 38 E5 95 B0 03 69 3C 18 9D C1 02 BD C8 - .byte $9F, $E9, $00, $9D, $C0, $02, $E8, $E8, $88, $D0, $E5, $60, $BD, $C9, $9F, $18 ; CPU:$8A43 PRG:0A43 9F E9 00 9D C0 02 E8 E8 88 D0 E5 60 BD C9 9F 18 - .byte $65, $95, $C9, $3C, $90, $03, $E9, $3C, $38, $9D, $C1, $02, $BD, $C8, $9F, $69 ; CPU:$8A53 PRG:0A53 65 95 C9 3C 90 03 E9 3C 38 9D C1 02 BD C8 9F 69 - .byte $00, $9D, $C0, $02, $E8, $E8, $88, $D0, $E3, $60 ; CPU:$8A63 PRG:0A63 00 9D C0 02 E8 E8 88 D0 E3 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero15: + lda $9FC9,x ; CPU:$8A33 PRG:0A33 BD C9 9F + sec ; CPU:$8A36 PRG:0A36 38 + sbc PlayerX ; CPU:$8A37 PRG:0A37 E5 95 + bcs NmiHandler_Loop18 ; CPU:$8A39 PRG:0A39 B0 03 + adc #$3C ; CPU:$8A3B PRG:0A3B 69 3C + clc ; CPU:$8A3D PRG:0A3D 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop18: + sta $02C1,x ; CPU:$8A3E PRG:0A3E 9D C1 02 + lda $9FC8,x ; CPU:$8A41 PRG:0A41 BD C8 9F + sbc #$00 ; CPU:$8A44 PRG:0A44 E9 00 + sta $02C0,x ; CPU:$8A46 PRG:0A46 9D C0 02 + inx ; CPU:$8A49 PRG:0A49 E8 + inx ; CPU:$8A4A PRG:0A4A E8 + dey ; CPU:$8A4B PRG:0A4B 88 + bne NmiHandler_OnNonzero15 ; CPU:$8A4C PRG:0A4C D0 E5 + rts ; CPU:$8A4E PRG:0A4E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero16: + lda $9FC9,x ; CPU:$8A4F PRG:0A4F BD C9 9F + clc ; CPU:$8A52 PRG:0A52 18 + adc PlayerX ; CPU:$8A53 PRG:0A53 65 95 + cmp #$3C ; CPU:$8A55 PRG:0A55 C9 3C + bcc NmiHandler_Loop19 ; CPU:$8A57 PRG:0A57 90 03 + sbc #$3C ; CPU:$8A59 PRG:0A59 E9 3C + sec ; CPU:$8A5B PRG:0A5B 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop19 +; Global: Branch target inside NmiHandler: taken when Loop19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop19: + sta $02C1,x ; CPU:$8A5C PRG:0A5C 9D C1 02 + lda $9FC8,x ; CPU:$8A5F PRG:0A5F BD C8 9F + adc #$00 ; CPU:$8A62 PRG:0A62 69 00 + sta $02C0,x ; CPU:$8A64 PRG:0A64 9D C0 02 + inx ; CPU:$8A67 PRG:0A67 E8 + inx ; CPU:$8A68 PRG:0A68 E8 + dey ; CPU:$8A69 PRG:0A69 88 + bne NmiHandler_OnNonzero16 ; CPU:$8A6A PRG:0A6A D0 E3 + rts ; CPU:$8A6C PRG:0A6C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A6D ; Global: Branch target inside Sub: taken when 8A6D. @@ -1380,71 +1718,71 @@ NmiHandler_OnNonzero10: Sub_8A6D: ldx #$00 ; CPU:$8A6D PRG:0A6D A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero17: lda $8AD8,x ; CPU:$8A6F PRG:0A6F BD D8 8A cmp $03C0,x ; CPU:$8A72 PRG:0A72 DD C0 03 - bne NmiHandler_Loop16 ; CPU:$8A75 PRG:0A75 D0 06 + bne NmiHandler_Loop20 ; CPU:$8A75 PRG:0A75 D0 06 inx ; CPU:$8A77 PRG:0A77 E8 cpx #$07 ; CPU:$8A78 PRG:0A78 E0 07 - bne NmiHandler_OnNonzero11 ; CPU:$8A7A PRG:0A7A D0 F3 + bne NmiHandler_OnNonzero17 ; CPU:$8A7A PRG:0A7A D0 F3 rts ; CPU:$8A7C PRG:0A7C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop16 -; Global: Branch target inside NmiHandler: taken when Loop16. +; Routine: NmiHandler_Loop20 +; Global: Branch target inside NmiHandler: taken when Loop20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop16: +NmiHandler_Loop20: ldx #$00 ; CPU:$8A7D PRG:0A7D A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: +NmiHandler_OnNonzero18: lda $8AD8,x ; CPU:$8A7F PRG:0A7F BD D8 8A sta $03C0,x ; CPU:$8A82 PRG:0A82 9D C0 03 inx ; CPU:$8A85 PRG:0A85 E8 cpx #$07 ; CPU:$8A86 PRG:0A86 E0 07 - bne NmiHandler_OnNonzero12 ; CPU:$8A88 PRG:0A88 D0 F5 + bne NmiHandler_OnNonzero18 ; CPU:$8A88 PRG:0A88 D0 F5 jsr Sub_89C9 ; CPU:$8A8A PRG:0A8A 20 C9 89 lda #$00 ; CPU:$8A8D PRG:0A8D A9 00 tax ; CPU:$8A8F PRG:0A8F AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: +NmiHandler_OnNonzero19: sta $0600,x ; CPU:$8A90 PRG:0A90 9D 00 06 inx ; CPU:$8A93 PRG:0A93 E8 cpx #$C0 ; CPU:$8A94 PRG:0A94 E0 C0 - bne NmiHandler_OnNonzero13 ; CPU:$8A96 PRG:0A96 D0 F8 + bne NmiHandler_OnNonzero19 ; CPU:$8A96 PRG:0A96 D0 F8 ldy #$00 ; CPU:$8A98 PRG:0A98 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero14: +NmiHandler_OnNonzero20: tya ; CPU:$8A9A PRG:0A9A 98 asl a ; CPU:$8A9B PRG:0A9B 0A asl a ; CPU:$8A9C PRG:0A9C 0A @@ -1458,18 +1796,18 @@ NmiHandler_OnNonzero14: iny ; CPU:$8AAF PRG:0AAF C8 iny ; CPU:$8AB0 PRG:0AB0 C8 cpy #$30 ; CPU:$8AB1 PRG:0AB1 C0 30 - bne NmiHandler_OnNonzero14 ; CPU:$8AB3 PRG:0AB3 D0 E5 + bne NmiHandler_OnNonzero20 ; CPU:$8AB3 PRG:0AB3 D0 E5 ldy #$00 ; CPU:$8AB5 PRG:0AB5 A0 00 ldx #$00 ; CPU:$8AB7 PRG:0AB7 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero15: +NmiHandler_OnNonzero21: lda $8ADE,y ; CPU:$8AB9 PRG:0AB9 B9 DE 8A sta $0603,x ; CPU:$8ABC PRG:0ABC 9D 03 06 lda $8ADF,y ; CPU:$8ABF PRG:0ABF B9 DF 8A @@ -1484,7 +1822,7 @@ NmiHandler_OnNonzero15: adc #$08 ; CPU:$8AD0 PRG:0AD0 69 08 tax ; CPU:$8AD2 PRG:0AD2 AA cpx #$C0 ; CPU:$8AD3 PRG:0AD3 E0 C0 - bne NmiHandler_OnNonzero15 ; CPU:$8AD5 PRG:0AD5 D0 E2 + bne NmiHandler_OnNonzero21 ; CPU:$8AD5 PRG:0AD5 D0 E2 rts ; CPU:$8AD7 PRG:0AD7 60 ; ---- data $8AD8-$8B25 (78 bytes) ---- ; referenced by `lda $8AD8,x` at $8A6F (operand $8AD8 falls inside this region) @@ -1492,7 +1830,8 @@ NmiHandler_OnNonzero15: ; referenced by `lda $8ADE,y` at $8AB9 (operand $8ADE falls inside this region) ; referenced by `lda $8ADF,y` at $8ABF (operand $8ADF falls inside this region) ; referenced by `lda $8AE0,y` at $8AC5 (operand $8AE0 falls inside this region) - .byte $53, $4C, $41, $4C, $4F, $4D, $43, $54, $4A, $41, $53, $44, $4D, $41, $20, $4A ; CPU:$8AD8 PRG:0AD8 53 4C 41 4C 4F 4D 43 54 4A 41 53 44 4D 41 20 4A +CourseNameTable: + .byte $53, $4C, $41, $4C, $4F, $4D, $43, $54, $4A, $41, $53, $44, $4D, $41, $20, $4A ; CPU:$8AD8 PRG:-3528 53 4C 41 4C 4F 4D 43 54 4A 41 53 44 4D 41 20 4A .byte $42, $4E, $43, $53, $53, $43, $4C, $57, $51, $57, $45, $52, $54, $59, $54, $44 ; CPU:$8AE8 PRG:0AE8 42 4E 43 53 53 43 4C 57 51 57 45 52 54 59 54 44 .byte $4A, $54, $53, $44, $41, $44, $57, $46, $42, $20, $42, $4D, $53, $4C, $43, $53 ; CPU:$8AF8 PRG:0AF8 4A 54 53 44 41 44 57 46 42 20 42 4D 53 4C 43 53 .byte $41, $41, $41, $42, $42, $42, $41, $44, $57, $48, $57, $50, $4B, $43, $53, $44 ; CPU:$8B08 PRG:0B08 41 41 41 42 42 42 41 44 57 48 57 50 4B 43 53 44 @@ -1507,52 +1846,53 @@ NmiHandler_OnNonzero15: ; ----------------------------------------------------------------------------- Sub_8B26: ldy #$00 ; CPU:$8B26 PRG:0B26 A0 00 - lda (Zp8F),y ; CPU:$8B28 PRG:0B28 B1 8F + lda (VramWritePtrLo),y ; CPU:$8B28 PRG:0B28 B1 8F sta Zp93 ; CPU:$8B2A PRG:0B2A 85 93 iny ; CPU:$8B2C PRG:0B2C C8 - lda (Zp8F),y ; CPU:$8B2D PRG:0B2D B1 8F + lda (VramWritePtrLo),y ; CPU:$8B2D PRG:0B2D B1 8F sta Zp94 ; CPU:$8B2F PRG:0B2F 85 94 iny ; CPU:$8B31 PRG:0B31 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero16: - lda Zp92 ; CPU:$8B32 PRG:0B32 A5 92 +NmiHandler_OnNonzero22: + lda DispatchPtrHi ; CPU:$8B32 PRG:0B32 A5 92 sta PPUADDR ; CPU:$8B34 PRG:0B34 8D 06 20 - lda Zp91 ; CPU:$8B37 PRG:0B37 A5 91 + lda DispatchPtrLo ; CPU:$8B37 PRG:0B37 A5 91 sta PPUADDR ; CPU:$8B39 PRG:0B39 8D 06 20 ldx Zp93 ; CPU:$8B3C PRG:0B3C A6 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero17 -; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero17: - lda (Zp8F),y ; CPU:$8B3E PRG:0B3E B1 8F +NmiHandler_OnNonzero23: + lda (VramWritePtrLo),y ; CPU:$8B3E PRG:0B3E B1 8F iny ; CPU:$8B40 PRG:0B40 C8 sta PPUDATA ; CPU:$8B41 PRG:0B41 8D 07 20 dex ; CPU:$8B44 PRG:0B44 CA - bne NmiHandler_OnNonzero17 ; CPU:$8B45 PRG:0B45 D0 F7 - lda Zp91 ; CPU:$8B47 PRG:0B47 A5 91 + bne NmiHandler_OnNonzero23 ; CPU:$8B45 PRG:0B45 D0 F7 + lda DispatchPtrLo ; CPU:$8B47 PRG:0B47 A5 91 clc ; CPU:$8B49 PRG:0B49 18 adc #$20 ; CPU:$8B4A PRG:0B4A 69 20 - sta Zp91 ; CPU:$8B4C PRG:0B4C 85 91 - lda Zp92 ; CPU:$8B4E PRG:0B4E A5 92 + sta DispatchPtrLo ; CPU:$8B4C PRG:0B4C 85 91 + lda DispatchPtrHi ; CPU:$8B4E PRG:0B4E A5 92 adc #$00 ; CPU:$8B50 PRG:0B50 69 00 - sta Zp92 ; CPU:$8B52 PRG:0B52 85 92 + sta DispatchPtrHi ; CPU:$8B52 PRG:0B52 85 92 dec Zp94 ; CPU:$8B54 PRG:0B54 C6 94 - bne NmiHandler_OnNonzero16 ; CPU:$8B56 PRG:0B56 D0 DA + bne NmiHandler_OnNonzero22 ; CPU:$8B56 PRG:0B56 D0 DA rts ; CPU:$8B58 PRG:0B58 60 ; ---- data $8B59-$8B7B (35 bytes) ---- - .byte $04, $04, $38, $35, $35, $36, $37, $00, $00, $37, $37, $00, $00, $37, $39, $35 ; CPU:$8B59 PRG:0B59 04 04 38 35 35 36 37 00 00 37 37 00 00 37 39 35 +CourseRecordTable: + .byte $04, $04, $38, $35, $35, $36, $37, $00, $00, $37, $37, $00, $00, $37, $39, $35 ; CPU:$8B59 PRG:-34A7 04 04 38 35 35 36 37 00 00 37 37 00 00 37 39 35 .byte $35, $3A, $05, $03, $38, $35, $35, $35, $36, $37, $00, $00, $00, $37, $39, $35 ; CPU:$8B69 PRG:0B69 35 3A 05 03 38 35 35 35 36 37 00 00 00 37 39 35 .byte $35, $35, $3A ; CPU:$8B79 PRG:0B79 35 35 3A ; ----------------------------------------------------------------------------- @@ -1578,27 +1918,27 @@ Sub_8B7F: lda Zp0D ; CPU:$8B81 PRG:0B81 A5 0D and #$80 ; CPU:$8B83 PRG:0B83 29 80 ora #$01 ; CPU:$8B85 PRG:0B85 09 01 - sta Zp95 ; CPU:$8B87 PRG:0B87 85 95 + sta PlayerX ; CPU:$8B87 PRG:0B87 85 95 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero18 -; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero18: +NmiHandler_OnNonzero24: lda $0606,x ; CPU:$8B89 PRG:0B89 BD 06 06 - cmp Zp95 ; CPU:$8B8C PRG:0B8C C5 95 + cmp PlayerX ; CPU:$8B8C PRG:0B8C C5 95 beq NmiHandler_OnZero2 ; CPU:$8B8E PRG:0B8E F0 EC txa ; CPU:$8B90 PRG:0B90 8A clc ; CPU:$8B91 PRG:0B91 18 adc #$08 ; CPU:$8B92 PRG:0B92 69 08 tax ; CPU:$8B94 PRG:0B94 AA cpx #$A8 ; CPU:$8B95 PRG:0B95 E0 A8 - bne NmiHandler_OnNonzero18 ; CPU:$8B97 PRG:0B97 D0 F0 + bne NmiHandler_OnNonzero24 ; CPU:$8B97 PRG:0B97 D0 F0 lda Zp0D ; CPU:$8B99 PRG:0B99 A5 0D - bmi NmiHandler_Loop17 ; CPU:$8B9B PRG:0B9B 30 31 + bmi NmiHandler_Loop21 ; CPU:$8B9B PRG:0B9B 30 31 and #$FE ; CPU:$8B9D PRG:0B9D 29 FE sta Zp0D ; CPU:$8B9F PRG:0B9F 85 0D and #$02 ; CPU:$8BA1 PRG:0BA1 29 02 @@ -1611,7 +1951,7 @@ NmiHandler_OnNonzero18: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8BA3: - beq NmiHandler_Loop18 ; CPU:$8BA3 PRG:0BA3 F0 32 + beq NmiHandler_Loop22 ; CPU:$8BA3 PRG:0BA3 F0 32 ; ----------------------------------------------------------------------------- ; Routine: Sub_8BA5 ; Global: Branch target inside Sub: taken when 8BA5. @@ -1638,46 +1978,65 @@ Sub_8BA5: sta $0736 ; CPU:$8BC8 PRG:0BC8 8D 36 07 jmp Sub_80B4 ; CPU:$8BCB PRG:0BCB 4C B4 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop17 -; Global: Branch target inside NmiHandler: taken when Loop17. +; Routine: NmiHandler_Loop21 +; Global: Branch target inside NmiHandler: taken when Loop21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop17: +NmiHandler_Loop21: and #$FD ; CPU:$8BCE PRG:0BCE 29 FD sta Zp0D ; CPU:$8BD0 PRG:0BD0 85 0D and #$01 ; CPU:$8BD2 PRG:0BD2 29 01 jmp Sub_8BA3 ; CPU:$8BD4 PRG:0BD4 4C A3 8B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. +; Routine: NmiHandler_Loop22 +; Global: Branch target inside NmiHandler: taken when Loop22. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop18: +NmiHandler_Loop22: lda $0732 ; CPU:$8BD7 PRG:0BD7 AD 32 07 jmp Sub_87F8 ; CPU:$8BDA PRG:0BDA 4C F8 87 -; ---- data $8BDD-$8BE4 (8 bytes) ---- - .byte $29, $FE, $09, $01, $8D, $32, $07, $4C ; CPU:$8BDD PRG:0BDD 29 FE 09 01 8D 32 07 4C ; ----------------------------------------------------------------------------- -; Routine: Label_8BE5 -; Global: Branch target inside Label: taken when 8BE5. +; Routine: Label_8BDD +; Global: Branch target inside Label: taken when 8BDD. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8BE5: - .byte $67, $80 ; CPU:$8BE5 PRG:0BE5 67 80 -- rra Zp80 (undocumented; ca65 cannot encode) +Label_8BDD: + and #$FE ; CPU:$8BDD PRG:0BDD 29 FE + ora #$01 ; CPU:$8BDF PRG:0BDF 09 01 + sta $0732 ; CPU:$8BE1 PRG:0BE1 8D 32 07 + jmp Sub_8067 ; CPU:$8BE4 PRG:0BE4 4C 67 80 +; ----------------------------------------------------------------------------- +; Routine: Label_8BE7 +; Global: Branch target inside Label: taken when 8BE7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8BE7: ldy #$22 ; CPU:$8BE7 PRG:0BE7 A0 22 ldx #$C7 ; CPU:$8BE9 PRG:0BE9 A2 C7 jmp Sub_8BF2 ; CPU:$8BEB PRG:0BEB 4C F2 8B -; ---- data $8BEE-$8BF1 (4 bytes) ---- - .byte $A0, $22, $A2, $B1 ; CPU:$8BEE PRG:0BEE A0 22 A2 B1 +; ----------------------------------------------------------------------------- +; Routine: Label_8BEE +; Global: Branch target inside Label: taken when 8BEE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8BEE: + ldy #$22 ; CPU:$8BEE PRG:0BEE A0 22 + ldx #$B1 ; CPU:$8BF0 PRG:0BF0 A2 B1 ; ----------------------------------------------------------------------------- ; Routine: Sub_8BF2 ; Global: Branch target inside Sub: taken when 8BF2. @@ -1687,26 +2046,26 @@ Label_8BE5: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8BF2: - stx Zp91 ; CPU:$8BF2 PRG:0BF2 86 91 - sty Zp92 ; CPU:$8BF4 PRG:0BF4 84 92 + stx DispatchPtrLo ; CPU:$8BF2 PRG:0BF2 86 91 + sty DispatchPtrHi ; CPU:$8BF4 PRG:0BF4 84 92 dec $0745 ; CPU:$8BF6 PRG:0BF6 CE 45 07 - bpl NmiHandler_Loop19 ; CPU:$8BF9 PRG:0BF9 10 0A + bpl NmiHandler_Loop23 ; CPU:$8BF9 PRG:0BF9 10 0A lda #$3C ; CPU:$8BFB PRG:0BFB A9 3C sta $0745 ; CPU:$8BFD PRG:0BFD 8D 45 07 dec $0744 ; CPU:$8C00 PRG:0C00 CE 44 07 - bmi NmiHandler_Loop20 ; CPU:$8C03 PRG:0C03 30 4E + bmi NmiHandler_Loop24 ; CPU:$8C03 PRG:0C03 30 4E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop19 -; Global: Branch target inside NmiHandler: taken when Loop19. +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop19: - lda Zp92 ; CPU:$8C05 PRG:0C05 A5 92 +NmiHandler_Loop23: + lda DispatchPtrHi ; CPU:$8C05 PRG:0C05 A5 92 sta PPUADDR ; CPU:$8C07 PRG:0C07 8D 06 20 - lda Zp91 ; CPU:$8C0A PRG:0C0A A5 91 + lda DispatchPtrLo ; CPU:$8C0A PRG:0C0A A5 91 sta PPUADDR ; CPU:$8C0C PRG:0C0C 8D 06 20 ldy $0744 ; CPU:$8C0F PRG:0C0F AC 44 07 lda $986B,y ; CPU:$8C12 PRG:0C12 B9 6B 98 @@ -1718,51 +2077,79 @@ NmiHandler_Loop19: lda $A4C9,x ; CPU:$8C1B PRG:0C1B BD C9 A4 sta PPUDATA ; CPU:$8C1E PRG:0C1E 8D 07 20 lda $A4CA,x ; CPU:$8C21 PRG:0C21 BD CA A4 - sta Zp95 ; CPU:$8C24 PRG:0C24 85 95 + sta PlayerX ; CPU:$8C24 PRG:0C24 85 95 lda $986B,y ; CPU:$8C26 PRG:0C26 B9 6B 98 asl a ; CPU:$8C29 PRG:0C29 0A and #$1E ; CPU:$8C2A PRG:0C2A 29 1E tax ; CPU:$8C2C PRG:0C2C AA lda $A4C9,x ; CPU:$8C2D PRG:0C2D BD C9 A4 sta PPUDATA ; CPU:$8C30 PRG:0C30 8D 07 20 - lda Zp91 ; CPU:$8C33 PRG:0C33 A5 91 + lda DispatchPtrLo ; CPU:$8C33 PRG:0C33 A5 91 clc ; CPU:$8C35 PRG:0C35 18 adc #$20 ; CPU:$8C36 PRG:0C36 69 20 - sta Zp91 ; CPU:$8C38 PRG:0C38 85 91 - lda Zp92 ; CPU:$8C3A PRG:0C3A A5 92 + sta DispatchPtrLo ; CPU:$8C38 PRG:0C38 85 91 + lda DispatchPtrHi ; CPU:$8C3A PRG:0C3A A5 92 adc #$00 ; CPU:$8C3C PRG:0C3C 69 00 sta PPUADDR ; CPU:$8C3E PRG:0C3E 8D 06 20 - lda Zp91 ; CPU:$8C41 PRG:0C41 A5 91 + lda DispatchPtrLo ; CPU:$8C41 PRG:0C41 A5 91 sta PPUADDR ; CPU:$8C43 PRG:0C43 8D 06 20 - lda Zp95 ; CPU:$8C46 PRG:0C46 A5 95 + lda PlayerX ; CPU:$8C46 PRG:0C46 A5 95 sta PPUDATA ; CPU:$8C48 PRG:0C48 8D 07 20 lda $A4CA,x ; CPU:$8C4B PRG:0C4B BD CA A4 sta PPUDATA ; CPU:$8C4E PRG:0C4E 8D 07 20 lda #$00 ; CPU:$8C51 PRG:0C51 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop20 -; Global: Branch target inside NmiHandler: taken when Loop20. +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop20: +NmiHandler_Loop24: rts ; CPU:$8C53 PRG:0C53 60 -; ---- data $8C54-$8C85 (50 bytes) ---- - .byte $EE, $43, $07, $AD, $43, $07, $4A, $29, $3E, $AA, $BD, $B3, $8F, $85, $63, $A9 ; CPU:$8C54 PRG:0C54 EE 43 07 AD 43 07 4A 29 3E AA BD B3 8F 85 63 A9 - .byte $68, $38, $FD, $B4, $8F, $85, $66, $A9, $80, $85, $64, $A9, $00, $85, $65, $A5 ; CPU:$8C64 PRG:0C64 68 38 FD B4 8F 85 66 A9 80 85 64 A9 00 85 65 A5 - .byte $63, $0A, $AA, $BD, $B2, $E3, $85, $8F, $BD, $B3, $E3, $85, $90, $A0, $00, $4C ; CPU:$8C74 PRG:0C74 63 0A AA BD B2 E3 85 8F BD B3 E3 85 90 A0 00 4C - .byte $17, $94 ; CPU:$8C84 PRG:0C84 17 94 ; ----------------------------------------------------------------------------- -; Routine: Label_8C86 -; Global: Branch target inside Label: taken when 8C86. +; Routine: Label_8C54 +; Global: Branch target inside Label: taken when 8C54. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8C86: +Label_8C54: + inc $0743 ; CPU:$8C54 PRG:0C54 EE 43 07 + lda $0743 ; CPU:$8C57 PRG:0C57 AD 43 07 + lsr a ; CPU:$8C5A PRG:0C5A 4A + and #$3E ; CPU:$8C5B PRG:0C5B 29 3E + tax ; CPU:$8C5D PRG:0C5D AA + lda $8FB3,x ; CPU:$8C5E PRG:0C5E BD B3 8F + sta Zp63 ; CPU:$8C61 PRG:0C61 85 63 + lda #$68 ; CPU:$8C63 PRG:0C63 A9 68 + sec ; CPU:$8C65 PRG:0C65 38 + sbc $8FB4,x ; CPU:$8C66 PRG:0C66 FD B4 8F + sta Zp66 ; CPU:$8C69 PRG:0C69 85 66 + lda #$80 ; CPU:$8C6B PRG:0C6B A9 80 + sta Zp64 ; CPU:$8C6D PRG:0C6D 85 64 + lda #$00 ; CPU:$8C6F PRG:0C6F A9 00 + sta Zp65 ; CPU:$8C71 PRG:0C71 85 65 + lda Zp63 ; CPU:$8C73 PRG:0C73 A5 63 + asl a ; CPU:$8C75 PRG:0C75 0A + tax ; CPU:$8C76 PRG:0C76 AA + lda $E3B2,x ; CPU:$8C77 PRG:0C77 BD B2 E3 + sta VramWritePtrLo ; CPU:$8C7A PRG:0C7A 85 8F + lda $E3B3,x ; CPU:$8C7C PRG:0C7C BD B3 E3 + sta VramWritePtrHi ; CPU:$8C7F PRG:0C7F 85 90 + ldy #$00 ; CPU:$8C81 PRG:0C81 A0 00 + jmp NmiHandler_OnNonzero30 ; CPU:$8C83 PRG:0C83 4C 17 94 +; ----------------------------------------------------------------------------- +; Routine: Sub_8C86 +; Global: Branch target inside Sub: taken when 8C86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8C86: lda #$3F ; CPU:$8C86 PRG:0C86 A9 3F sta PPUADDR ; CPU:$8C88 PRG:0C88 8D 06 20 lda #$05 ; CPU:$8C8B PRG:0C8B A9 05 @@ -1778,7 +2165,8 @@ Label_8C86: ; ---- data $8CA1-$8CA6 (6 bytes) ---- ; referenced by `lda $8CA1,x` at $8C94 (operand $8CA1 falls inside this region) ; referenced by `lda $8CA2,x` at $8C9A (operand $8CA2 falls inside this region) - .byte $27, $2C, $34, $3B, $3C, $37 ; CPU:$8CA1 PRG:0CA1 27 2C 34 3B 3C 37 +CharacterCharsetTable: + .byte $27, $2C, $34, $3B, $3C, $37 ; CPU:$8CA1 PRG:-335F 27 2C 34 3B 3C 37 ; ----------------------------------------------------------------------------- ; Routine: Sub_8CA7 ; Global: Branch target inside Sub: taken when 8CA7. @@ -1791,7 +2179,7 @@ Sub_8CA7: lda Zp0A ; CPU:$8CA7 PRG:0CA7 A5 0A and #$07 ; CPU:$8CA9 PRG:0CA9 29 07 cmp #$07 ; CPU:$8CAB PRG:0CAB C9 07 - beq NmiHandler_Loop21 ; CPU:$8CAD PRG:0CAD F0 08 + beq NmiHandler_Loop25 ; CPU:$8CAD PRG:0CAD F0 08 lda Zp0A ; CPU:$8CAF PRG:0CAF A5 0A clc ; CPU:$8CB1 PRG:0CB1 18 adc #$01 ; CPU:$8CB2 PRG:0CB2 69 01 @@ -1807,14 +2195,14 @@ NmiHandler_OnCarryClear: sta Zp0A ; CPU:$8CB4 PRG:0CB4 85 0A rts ; CPU:$8CB6 PRG:0CB6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop21 -; Global: Branch target inside NmiHandler: taken when Loop21. +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop21: +NmiHandler_Loop25: jsr Sub_A99A ; CPU:$8CB7 PRG:0CB7 20 9A A9 lda Zp0A ; CPU:$8CBA PRG:0CBA A5 0A clc ; CPU:$8CBC PRG:0CBC 18 @@ -1845,7 +2233,8 @@ Label_8CC2: jsr Sub_B5FF ; CPU:$8CDE PRG:0CDE 20 FF B5 jmp Sub_81FD ; CPU:$8CE1 PRG:0CE1 4C FD 81 ; ---- data $8CE4-$8CF7 (20 bytes) ---- - .byte $20, $A8, $47, $20, $41, $20, $4D, $20, $45, $20, $20, $4F, $20, $56, $20, $45 ; CPU:$8CE4 PRG:0CE4 20 A8 47 20 41 20 4D 20 45 20 20 4F 20 56 20 45 +GameOverText: + .byte $20, $A8, $47, $20, $41, $20, $4D, $20, $45, $20, $20, $4F, $20, $56, $20, $45 ; CPU:$8CE4 PRG:-331C 20 A8 47 20 41 20 4D 20 45 20 20 4F 20 56 20 45 .byte $20, $52, $00, $00 ; CPU:$8CF4 PRG:0CF4 20 52 00 00 ; ----------------------------------------------------------------------------- ; Routine: Label_8CF8 @@ -1858,19 +2247,19 @@ Label_8CC2: Label_8CF8: jsr Sub_8D0C ; CPU:$8CF8 PRG:0CF8 20 0C 8D lda $0790 ; CPU:$8CFB PRG:0CFB AD 90 07 - beq NmiHandler_Loop22 ; CPU:$8CFE PRG:0CFE F0 09 + beq NmiHandler_Loop26 ; CPU:$8CFE PRG:0CFE F0 09 jsr Sub_8D1F ; CPU:$8D00 PRG:0D00 20 1F 8D jsr Sub_8373 ; CPU:$8D03 PRG:0D03 20 73 83 jmp Sub_81FD ; CPU:$8D06 PRG:0D06 4C FD 81 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop22 -; Global: Branch target inside NmiHandler: taken when Loop22. +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop22: +NmiHandler_Loop26: jmp Sub_837E ; CPU:$8D09 PRG:0D09 4C 7E 83 ; ----------------------------------------------------------------------------- ; Routine: Sub_8D0C @@ -1908,17 +2297,17 @@ Sub_8D15: ; ----------------------------------------------------------------------------- Sub_8D1F: inc Zp06 ; CPU:$8D1F PRG:0D1F E6 06 - bne NmiHandler_Loop23 ; CPU:$8D21 PRG:0D21 D0 02 + bne NmiHandler_Loop27 ; CPU:$8D21 PRG:0D21 D0 02 inc Zp07 ; CPU:$8D23 PRG:0D23 E6 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop27: ldx Zp06 ; CPU:$8D25 PRG:0D25 A6 06 lda Zp08 ; CPU:$8D27 PRG:0D27 A5 08 adc $8050,x ; CPU:$8D29 PRG:0D29 7D 50 80 @@ -1937,107 +2326,9 @@ NmiHandler_Loop23: ; ----------------------------------------------------------------------------- Sub_8D35: lda $0795 ; CPU:$8D35 PRG:0D35 AD 95 07 - bmi NmiHandler_Loop24 ; CPU:$8D38 PRG:0D38 30 01 + bmi NmiHandler_Loop28 ; CPU:$8D38 PRG:0D38 30 01 rts ; CPU:$8D3A PRG:0D3A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop24: - lda Zp86 ; CPU:$8D3B PRG:0D3B A5 86 - tax ; CPU:$8D3D PRG:0D3D AA - sta Zp95 ; CPU:$8D3E PRG:0D3E 85 95 - eor Zp03 ; CPU:$8D40 PRG:0D40 45 03 - and Zp95 ; CPU:$8D42 PRG:0D42 25 95 - stx Zp03 ; CPU:$8D44 PRG:0D44 86 03 - and #$30 ; CPU:$8D46 PRG:0D46 29 30 - beq NmiHandler_Loop25 ; CPU:$8D48 PRG:0D48 F0 07 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero19 -; Global: Branch target inside NmiHandler: taken when OnNonzero19. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero19: - lda #$01 ; CPU:$8D4A PRG:0D4A A9 01 - sta Zp05 ; CPU:$8D4C PRG:0D4C 85 05 - jmp Sub_8067 ; CPU:$8D4E PRG:0D4E 4C 67 80 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop25: - lda Zp87 ; CPU:$8D51 PRG:0D51 A5 87 - tax ; CPU:$8D53 PRG:0D53 AA - sta Zp95 ; CPU:$8D54 PRG:0D54 85 95 - eor Zp04 ; CPU:$8D56 PRG:0D56 45 04 - and Zp95 ; CPU:$8D58 PRG:0D58 25 95 - stx Zp04 ; CPU:$8D5A PRG:0D5A 86 04 - and #$30 ; CPU:$8D5C PRG:0D5C 29 30 - bne NmiHandler_OnNonzero19 ; CPU:$8D5E PRG:0D5E D0 EA - ldx #$00 ; CPU:$8D60 PRG:0D60 A2 00 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero20 -; Global: Branch target inside NmiHandler: taken when OnNonzero20. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero20: - lda Zp33,x ; CPU:$8D62 PRG:0D62 B5 33 - beq NmiHandler_Loop28 ; CPU:$8D64 PRG:0D64 F0 2B - lda Zp37,x ; CPU:$8D66 PRG:0D66 B5 37 - sec ; CPU:$8D68 PRG:0D68 38 - sbc Zp13 ; CPU:$8D69 PRG:0D69 E5 13 - bcs NmiHandler_Loop26 ; CPU:$8D6B PRG:0D6B B0 05 - eor #$FF ; CPU:$8D6D PRG:0D6D 49 FF - clc ; CPU:$8D6F PRG:0D6F 18 - adc #$01 ; CPU:$8D70 PRG:0D70 69 01 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop26: - cmp #$18 ; CPU:$8D72 PRG:0D72 C9 18 - bcs NmiHandler_Loop28 ; CPU:$8D74 PRG:0D74 B0 1B - lda Zp33,x ; CPU:$8D76 PRG:0D76 B5 33 - cmp #$04 ; CPU:$8D78 PRG:0D78 C9 04 - bcs NmiHandler_Loop27 ; CPU:$8D7A PRG:0D7A B0 09 - lda Zp33,x ; CPU:$8D7C PRG:0D7C B5 33 - cmp #$02 ; CPU:$8D7E PRG:0D7E C9 02 - beq NmiHandler_Loop29 ; CPU:$8D80 PRG:0D80 F0 27 - jmp NmiHandler_Loop30 ; CPU:$8D82 PRG:0D82 4C B1 8D -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop27: - ldx $0796 ; CPU:$8D85 PRG:0D85 AE 96 07 - inx ; CPU:$8D88 PRG:0D88 E8 - txa ; CPU:$8D89 PRG:0D89 8A - ora #$08 ; CPU:$8D8A PRG:0D8A 09 08 - sta Zp86 ; CPU:$8D8C PRG:0D8C 85 86 - jmp Sub_8D9E ; CPU:$8D8E PRG:0D8E 4C 9E 8D -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop28 ; Global: Branch target inside NmiHandler: taken when Loop28. ; Local: Part of NmiHandler. @@ -2046,12 +2337,110 @@ NmiHandler_Loop27: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop28: + lda Zp86 ; CPU:$8D3B PRG:0D3B A5 86 + tax ; CPU:$8D3D PRG:0D3D AA + sta PlayerX ; CPU:$8D3E PRG:0D3E 85 95 + eor Zp03 ; CPU:$8D40 PRG:0D40 45 03 + and PlayerX ; CPU:$8D42 PRG:0D42 25 95 + stx Zp03 ; CPU:$8D44 PRG:0D44 86 03 + and #$30 ; CPU:$8D46 PRG:0D46 29 30 + beq NmiHandler_Loop29 ; CPU:$8D48 PRG:0D48 F0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero25: + lda #$01 ; CPU:$8D4A PRG:0D4A A9 01 + sta Zp05 ; CPU:$8D4C PRG:0D4C 85 05 + jmp Sub_8067 ; CPU:$8D4E PRG:0D4E 4C 67 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop29: + lda Zp87 ; CPU:$8D51 PRG:0D51 A5 87 + tax ; CPU:$8D53 PRG:0D53 AA + sta PlayerX ; CPU:$8D54 PRG:0D54 85 95 + eor Zp04 ; CPU:$8D56 PRG:0D56 45 04 + and PlayerX ; CPU:$8D58 PRG:0D58 25 95 + stx Zp04 ; CPU:$8D5A PRG:0D5A 86 04 + and #$30 ; CPU:$8D5C PRG:0D5C 29 30 + bne NmiHandler_OnNonzero25 ; CPU:$8D5E PRG:0D5E D0 EA + ldx #$00 ; CPU:$8D60 PRG:0D60 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero26: + lda Zp33,x ; CPU:$8D62 PRG:0D62 B5 33 + beq NmiHandler_Loop32 ; CPU:$8D64 PRG:0D64 F0 2B + lda Zp37,x ; CPU:$8D66 PRG:0D66 B5 37 + sec ; CPU:$8D68 PRG:0D68 38 + sbc Zp13 ; CPU:$8D69 PRG:0D69 E5 13 + bcs NmiHandler_Loop30 ; CPU:$8D6B PRG:0D6B B0 05 + eor #$FF ; CPU:$8D6D PRG:0D6D 49 FF + clc ; CPU:$8D6F PRG:0D6F 18 + adc #$01 ; CPU:$8D70 PRG:0D70 69 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop30: + cmp #$18 ; CPU:$8D72 PRG:0D72 C9 18 + bcs NmiHandler_Loop32 ; CPU:$8D74 PRG:0D74 B0 1B + lda Zp33,x ; CPU:$8D76 PRG:0D76 B5 33 + cmp #$04 ; CPU:$8D78 PRG:0D78 C9 04 + bcs NmiHandler_Loop31 ; CPU:$8D7A PRG:0D7A B0 09 + lda Zp33,x ; CPU:$8D7C PRG:0D7C B5 33 + cmp #$02 ; CPU:$8D7E PRG:0D7E C9 02 + beq NmiHandler_Loop33 ; CPU:$8D80 PRG:0D80 F0 27 + jmp NmiHandler_Loop34 ; CPU:$8D82 PRG:0D82 4C B1 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop31: + ldx $0796 ; CPU:$8D85 PRG:0D85 AE 96 07 + inx ; CPU:$8D88 PRG:0D88 E8 + txa ; CPU:$8D89 PRG:0D89 8A + ora #$08 ; CPU:$8D8A PRG:0D8A 09 08 + sta Zp86 ; CPU:$8D8C PRG:0D8C 85 86 + jmp Sub_8D9E ; CPU:$8D8E PRG:0D8E 4C 9E 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop32: txa ; CPU:$8D91 PRG:0D91 8A clc ; CPU:$8D92 PRG:0D92 18 adc #$0C ; CPU:$8D93 PRG:0D93 69 0C tax ; CPU:$8D95 PRG:0D95 AA cpx #$30 ; CPU:$8D96 PRG:0D96 E0 30 - bne NmiHandler_OnNonzero20 ; CPU:$8D98 PRG:0D98 D0 C8 + bne NmiHandler_OnNonzero26 ; CPU:$8D98 PRG:0D98 D0 C8 lda #$08 ; CPU:$8D9A PRG:0D9A A9 08 sta Zp86 ; CPU:$8D9C PRG:0D9C 85 86 ; ----------------------------------------------------------------------------- @@ -2065,31 +2454,31 @@ NmiHandler_Loop28: Sub_8D9E: lda Zp13 ; CPU:$8D9E PRG:0D9E A5 13 cmp #$10 ; CPU:$8DA0 PRG:0DA0 C9 10 - bcc NmiHandler_Loop29 ; CPU:$8DA2 PRG:0DA2 90 05 + bcc NmiHandler_Loop33 ; CPU:$8DA2 PRG:0DA2 90 05 cmp #$F0 ; CPU:$8DA4 PRG:0DA4 C9 F0 - bcs NmiHandler_Loop30 ; CPU:$8DA6 PRG:0DA6 B0 09 + bcs NmiHandler_Loop34 ; CPU:$8DA6 PRG:0DA6 B0 09 rts ; CPU:$8DA8 PRG:0DA8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop33: ldx #$00 ; CPU:$8DA9 PRG:0DA9 A2 00 stx $0796 ; CPU:$8DAB PRG:0DAB 8E 96 07 jmp Sub_8DB6 ; CPU:$8DAE PRG:0DAE 4C B6 8D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop34: ldx #$01 ; CPU:$8DB1 PRG:0DB1 A2 01 stx $0796 ; CPU:$8DB3 PRG:0DB3 8E 96 07 ; ----------------------------------------------------------------------------- @@ -2107,18 +2496,18 @@ Sub_8DB6: sta Zp86 ; CPU:$8DBA PRG:0DBA 85 86 rts ; CPU:$8DBC PRG:0DBC 60 ; ----------------------------------------------------------------------------- -; Routine: Label_8DBD -; Global: Branch target inside Label: taken when 8DBD. -; Local: Part of Label. +; Routine: Sub_8DBD +; Global: Branch target inside Sub: taken when 8DBD. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8DBD: +Sub_8DBD: lda #$14 ; CPU:$8DBD PRG:0DBD A9 14 - sta Zp0F ; CPU:$8DBF PRG:0DBF 85 0F + sta ObjectIndex ; CPU:$8DBF PRG:0DBF 85 0F lda #$00 ; CPU:$8DC1 PRG:0DC1 A9 00 - sta Zp14 ; CPU:$8DC3 PRG:0DC3 85 14 + sta GameState ; CPU:$8DC3 PRG:0DC3 85 14 sta Zp15 ; CPU:$8DC5 PRG:0DC5 85 15 sta Zp17 ; CPU:$8DC7 PRG:0DC7 85 17 sta Zp18 ; CPU:$8DC9 PRG:0DC9 85 18 @@ -2126,19 +2515,19 @@ Label_8DBD: sta $0747 ; CPU:$8DCD PRG:0DCD 8D 47 07 sta $0748 ; CPU:$8DD0 PRG:0DD0 8D 48 07 lda Zp99 ; CPU:$8DD3 PRG:0DD3 A5 99 - bpl NmiHandler_Loop31 ; CPU:$8DD5 PRG:0DD5 10 05 + bpl NmiHandler_Loop35 ; CPU:$8DD5 PRG:0DD5 10 05 eor #$FF ; CPU:$8DD7 PRG:0DD7 49 FF clc ; CPU:$8DD9 PRG:0DD9 18 adc #$01 ; CPU:$8DDA PRG:0DDA 69 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: +NmiHandler_Loop35: lsr a ; CPU:$8DDC PRG:0DDC 4A ror $0748 ; CPU:$8DDD PRG:0DDD 6E 48 07 lsr a ; CPU:$8DE0 PRG:0DE0 4A @@ -2151,15 +2540,176 @@ NmiHandler_Loop31: ror $0748 ; CPU:$8DED PRG:0DED 6E 48 07 sta $0749 ; CPU:$8DF0 PRG:0DF0 8D 49 07 rts ; CPU:$8DF3 PRG:0DF3 60 -; ---- data $8DF4-$8E64 (113 bytes) ---- - .byte $A5, $16, $10, $04, $C9, $D1, $90, $2B, $A9, $FC, $4C, $22, $8E, $C9, $04, $90 ; CPU:$8DF4 PRG:0DF4 A5 16 10 04 C9 D1 90 2B A9 FC 4C 22 8E C9 04 90 - .byte $02, $A9, $04, $85, $95, $A5, $13, $38, $E5, $95, $4C, $39, $8E, $A5, $13, $38 ; CPU:$8E04 PRG:0E04 02 A9 04 85 95 A5 13 38 E5 95 4C 39 8E A5 13 38 - .byte $E9, $80, $B0, $DC, $A5, $16, $30, $04, $C9, $30, $B0, $07, $A9, $04, $18, $65 ; CPU:$8E14 PRG:0E14 E9 80 B0 DC A5 16 30 04 C9 30 B0 07 A9 04 18 65 - .byte $16, $85, $16, $A5, $13, $38, $E9, $80, $F0, $0D, $B0, $D1, $C9, $04, $90, $02 ; CPU:$8E24 PRG:0E24 16 85 16 A5 13 38 E9 80 F0 0D B0 D1 C9 04 90 02 - .byte $A9, $04, $18, $65, $13, $85, $13, $A4, $75, $A5, $17, $C9, $30, $B0, $54, $18 ; CPU:$8E34 PRG:0E34 A9 04 18 65 13 85 13 A4 75 A5 17 C9 30 B0 54 18 - .byte $69, $02, $85, $17, $4A, $4A, $29, $0C, $85, $95, $A5, $16, $18, $10, $05, $49 ; CPU:$8E44 PRG:0E44 69 02 85 17 4A 4A 29 0C 85 95 A5 16 18 10 05 49 - .byte $FF, $69, $41, $38, $6A, $4A, $4A, $4A, $05, $95, $AA, $BD, $67, $90, $99, $00 ; CPU:$8E54 PRG:0E54 FF 69 41 38 6A 4A 4A 4A 05 95 AA BD 67 90 99 00 - .byte $07 ; CPU:$8E64 PRG:0E64 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + lda Zp16 ; CPU:$8DF4 PRG:0DF4 A5 16 + bpl NmiHandler_Loop36 ; CPU:$8DF6 PRG:0DF6 10 04 + cmp #$D1 ; CPU:$8DF8 PRG:0DF8 C9 D1 + bcc NmiHandler_Loop39 ; CPU:$8DFA PRG:0DFA 90 2B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop36: + lda #$FC ; CPU:$8DFC PRG:0DFC A9 FC + jmp Sub_8E22 ; CPU:$8DFE PRG:0DFE 4C 22 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + cmp #$04 ; CPU:$8E01 PRG:0E01 C9 04 + bcc NmiHandler_Loop37 ; CPU:$8E03 PRG:0E03 90 02 + lda #$04 ; CPU:$8E05 PRG:0E05 A9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop37: + sta PlayerX ; CPU:$8E07 PRG:0E07 85 95 + lda Zp13 ; CPU:$8E09 PRG:0E09 A5 13 + sec ; CPU:$8E0B PRG:0E0B 38 + sbc PlayerX ; CPU:$8E0C PRG:0E0C E5 95 + jmp Sub_8E39 ; CPU:$8E0E PRG:0E0E 4C 39 8E +; ----------------------------------------------------------------------------- +; Routine: Label_8E11 +; Global: Branch target inside Label: taken when 8E11. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8E11: + lda Zp13 ; CPU:$8E11 PRG:0E11 A5 13 + sec ; CPU:$8E13 PRG:0E13 38 + sbc #$80 ; CPU:$8E14 PRG:0E14 E9 80 + bcs NmiHandler_OnCarrySet ; CPU:$8E16 PRG:0E16 B0 DC + lda Zp16 ; CPU:$8E18 PRG:0E18 A5 16 + bmi NmiHandler_Loop38 ; CPU:$8E1A PRG:0E1A 30 04 + cmp #$30 ; CPU:$8E1C PRG:0E1C C9 30 + bcs NmiHandler_Loop39 ; CPU:$8E1E PRG:0E1E B0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop38: + lda #$04 ; CPU:$8E20 PRG:0E20 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E22 +; Global: Branch target inside Sub: taken when 8E22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E22: + clc ; CPU:$8E22 PRG:0E22 18 + adc Zp16 ; CPU:$8E23 PRG:0E23 65 16 + sta Zp16 ; CPU:$8E25 PRG:0E25 85 16 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + lda Zp13 ; CPU:$8E27 PRG:0E27 A5 13 + sec ; CPU:$8E29 PRG:0E29 38 + sbc #$80 ; CPU:$8E2A PRG:0E2A E9 80 + beq NmiHandler_Loop41 ; CPU:$8E2C PRG:0E2C F0 0D + bcs NmiHandler_OnCarrySet2 ; CPU:$8E2E PRG:0E2E B0 D1 + cmp #$04 ; CPU:$8E30 PRG:0E30 C9 04 + bcc NmiHandler_Loop40 ; CPU:$8E32 PRG:0E32 90 02 + lda #$04 ; CPU:$8E34 PRG:0E34 A9 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + clc ; CPU:$8E36 PRG:0E36 18 + adc Zp13 ; CPU:$8E37 PRG:0E37 65 13 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E39 +; Global: Branch target inside Sub: taken when 8E39. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E39: + sta Zp13 ; CPU:$8E39 PRG:0E39 85 13 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop41: + ldy Zp75 ; CPU:$8E3B PRG:0E3B A4 75 + lda Zp17 ; CPU:$8E3D PRG:0E3D A5 17 + cmp #$30 ; CPU:$8E3F PRG:0E3F C9 30 + bcs NmiHandler_Loop43 ; CPU:$8E41 PRG:0E41 B0 54 + clc ; CPU:$8E43 PRG:0E43 18 + adc #$02 ; CPU:$8E44 PRG:0E44 69 02 + sta Zp17 ; CPU:$8E46 PRG:0E46 85 17 + lsr a ; CPU:$8E48 PRG:0E48 4A + lsr a ; CPU:$8E49 PRG:0E49 4A + and #$0C ; CPU:$8E4A PRG:0E4A 29 0C + sta PlayerX ; CPU:$8E4C PRG:0E4C 85 95 + lda Zp16 ; CPU:$8E4E PRG:0E4E A5 16 + clc ; CPU:$8E50 PRG:0E50 18 + bpl NmiHandler_Loop42 ; CPU:$8E51 PRG:0E51 10 05 + eor #$FF ; CPU:$8E53 PRG:0E53 49 FF + adc #$41 ; CPU:$8E55 PRG:0E55 69 41 + sec ; CPU:$8E57 PRG:0E57 38 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop42: + ror a ; CPU:$8E58 PRG:0E58 6A + lsr a ; CPU:$8E59 PRG:0E59 4A + lsr a ; CPU:$8E5A PRG:0E5A 4A + lsr a ; CPU:$8E5B PRG:0E5B 4A + ora PlayerX ; CPU:$8E5C PRG:0E5C 05 95 + tax ; CPU:$8E5E PRG:0E5E AA + lda $9067,x ; CPU:$8E5F PRG:0E5F BD 67 90 + sta $0700,y ; CPU:$8E62 PRG:0E62 99 00 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E65 ; Global: Branch target inside Sub: taken when 8E65. @@ -2175,7 +2725,7 @@ Sub_8E65: clc ; CPU:$8E6C PRG:0E6C 18 adc #$18 ; CPU:$8E6D PRG:0E6D 69 18 eor #$FF ; CPU:$8E6F PRG:0E6F 49 FF - sta Zp8F ; CPU:$8E71 PRG:0E71 85 8F + sta VramWritePtrLo ; CPU:$8E71 PRG:0E71 85 8F ldy #$00 ; CPU:$8E73 PRG:0E73 A0 00 jsr Sub_954B ; CPU:$8E75 PRG:0E75 20 4B 95 ldy Zp75 ; CPU:$8E78 PRG:0E78 A4 75 @@ -2190,56 +2740,81 @@ Sub_8E65: clc ; CPU:$8E8E PRG:0E8E 18 adc #$70 ; CPU:$8E8F PRG:0E8F 69 70 sta $0705,y ; CPU:$8E91 PRG:0E91 99 05 07 - jmp NmiHandler_Loop63 ; CPU:$8E94 PRG:0E94 4C 13 93 -; ---- data $8E97-$8EAC (22 bytes) ---- - .byte $A5, $18, $D0, $14, $20, $1C, $8F, $A5, $7F, $05, $7E, $05, $7D, $D0, $3D, $A9 ; CPU:$8E97 PRG:0E97 A5 18 D0 14 20 1C 8F A5 7F 05 7E 05 7D D0 3D A9 - .byte $01, $20, $FF, $B5, $A9, $80 ; CPU:$8EA7 PRG:0EA7 01 20 FF B5 A9 80 + jmp NmiHandler_Loop77 ; CPU:$8E94 PRG:0E94 4C 13 93 ; ----------------------------------------------------------------------------- -; Routine: Label_8EAD -; Global: Branch target inside Label: taken when 8EAD. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_8EAD: - sta Zp18 ; CPU:$8EAD PRG:0EAD 85 18 - lda Zp06 ; CPU:$8EAF PRG:0EAF A5 06 - and #$03 ; CPU:$8EB1 PRG:0EB1 29 03 - bne NmiHandler_Loop32 ; CPU:$8EB3 PRG:0EB3 D0 02 - inc Zp19 ; CPU:$8EB5 PRG:0EB5 E6 19 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: +NmiHandler_Loop43: + lda Zp18 ; CPU:$8E97 PRG:0E97 A5 18 + bne NmiHandler_Loop44 ; CPU:$8E99 PRG:0E99 D0 14 + jsr Sub_8F1C ; CPU:$8E9B PRG:0E9B 20 1C 8F + lda SkierZ ; CPU:$8E9E PRG:0E9E A5 7F + ora SkierY ; CPU:$8EA0 PRG:0EA0 05 7E + ora SkierX ; CPU:$8EA2 PRG:0EA2 05 7D + bne NmiHandler_Loop47 ; CPU:$8EA4 PRG:0EA4 D0 3D + lda #$01 ; CPU:$8EA6 PRG:0EA6 A9 01 + jsr Sub_B5FF ; CPU:$8EA8 PRG:0EA8 20 FF B5 + lda #$80 ; CPU:$8EAB PRG:0EAB A9 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_8EAD +; Global: Branch target inside Sub: taken when 8EAD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8EAD: + sta Zp18 ; CPU:$8EAD PRG:0EAD 85 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop44: + lda Zp06 ; CPU:$8EAF PRG:0EAF A5 06 + and #$03 ; CPU:$8EB1 PRG:0EB1 29 03 + bne NmiHandler_Loop45 ; CPU:$8EB3 PRG:0EB3 D0 02 + inc Zp19 ; CPU:$8EB5 PRG:0EB5 E6 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop45: lda #$60 ; CPU:$8EB7 PRG:0EB7 A9 60 ldx Zp18 ; CPU:$8EB9 PRG:0EB9 A6 18 - bmi NmiHandler_Loop33 ; CPU:$8EBB PRG:0EBB 30 03 + bmi NmiHandler_Loop46 ; CPU:$8EBB PRG:0EBB 30 03 clc ; CPU:$8EBD PRG:0EBD 18 adc #$28 ; CPU:$8EBE PRG:0EBE 69 28 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: - sta Zp95 ; CPU:$8EC0 PRG:0EC0 85 95 +NmiHandler_Loop46: + sta PlayerX ; CPU:$8EC0 PRG:0EC0 85 95 lda Zp19 ; CPU:$8EC2 PRG:0EC2 A5 19 - cmp Zp95 ; CPU:$8EC4 PRG:0EC4 C5 95 - beq NmiHandler_Loop35 ; CPU:$8EC6 PRG:0EC6 F0 31 + cmp PlayerX ; CPU:$8EC4 PRG:0EC4 C5 95 + beq NmiHandler_Loop49 ; CPU:$8EC6 PRG:0EC6 F0 31 asl a ; CPU:$8EC8 PRG:0EC8 0A and #$3E ; CPU:$8EC9 PRG:0EC9 29 3E tax ; CPU:$8ECB PRG:0ECB AA lda Zp18 ; CPU:$8ECC PRG:0ECC A5 18 - bmi NmiHandler_Loop34 ; CPU:$8ECE PRG:0ECE 30 1D + bmi NmiHandler_Loop48 ; CPU:$8ECE PRG:0ECE 30 1D lda $8FB3,x ; CPU:$8ED0 PRG:0ED0 BD B3 8F sta $0700,y ; CPU:$8ED3 PRG:0ED3 99 00 07 lda $8FB4,x ; CPU:$8ED6 PRG:0ED6 BD B4 8F @@ -2257,47 +2832,58 @@ Sub_8ED9: adc #$01 ; CPU:$8EDC PRG:0EDC 69 01 sta Zp99 ; CPU:$8EDE PRG:0EDE 85 99 jmp Sub_8E65 ; CPU:$8EE0 PRG:0EE0 4C 65 8E -; ---- data $8EE3-$8EEC (10 bytes) ---- - .byte $A9, $03, $20, $FF, $B5, $A9, $01, $4C, $AD, $8E ; CPU:$8EE3 PRG:0EE3 A9 03 20 FF B5 A9 01 4C AD 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: +NmiHandler_Loop47: + lda #$03 ; CPU:$8EE3 PRG:0EE3 A9 03 + jsr Sub_B5FF ; CPU:$8EE5 PRG:0EE5 20 FF B5 + lda #$01 ; CPU:$8EE8 PRG:0EE8 A9 01 + jmp Sub_8EAD ; CPU:$8EEA PRG:0EEA 4C AD 8E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop48: lda $8FF3,x ; CPU:$8EED PRG:0EED BD F3 8F sta $0700,y ; CPU:$8EF0 PRG:0EF0 99 00 07 lda $8FF4,x ; CPU:$8EF3 PRG:0EF3 BD F4 8F jmp Sub_8ED9 ; CPU:$8EF6 PRG:0EF6 4C D9 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: +NmiHandler_Loop49: lda $0795 ; CPU:$8EF9 PRG:0EF9 AD 95 07 - bpl NmiHandler_Loop36 ; CPU:$8EFC PRG:0EFC 10 03 + bpl NmiHandler_Loop50 ; CPU:$8EFC PRG:0EFC 10 03 jmp Sub_8067 ; CPU:$8EFE PRG:0EFE 4C 67 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside NmiHandler: taken when Loop36. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: - lda Zp7E ; CPU:$8F01 PRG:0F01 A5 7E +NmiHandler_Loop50: + lda SkierY ; CPU:$8F01 PRG:0F01 A5 7E sta $0733 ; CPU:$8F03 PRG:0F03 8D 33 07 jsr Sub_8CA7 ; CPU:$8F06 PRG:0F06 20 A7 8C lda Zp0D ; CPU:$8F09 PRG:0F09 A5 0D - bmi NmiHandler_Loop38 ; CPU:$8F0B PRG:0F0B 30 0A + bmi NmiHandler_Loop52 ; CPU:$8F0B PRG:0F0B 30 0A and #$02 ; CPU:$8F0D PRG:0F0D 29 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_8F0F @@ -2308,90 +2894,90 @@ NmiHandler_Loop36: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8F0F: - beq NmiHandler_Loop37 ; CPU:$8F0F PRG:0F0F F0 03 + beq NmiHandler_Loop51 ; CPU:$8F0F PRG:0F0F F0 03 jmp Sub_8BA5 ; CPU:$8F11 PRG:0F11 4C A5 8B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop51: jmp Sub_80B4 ; CPU:$8F14 PRG:0F14 4C B4 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop52: and #$01 ; CPU:$8F17 PRG:0F17 29 01 jmp Sub_8F0F ; CPU:$8F19 PRG:0F19 4C 0F 8F ; ----------------------------------------------------------------------------- -; Routine: Label_8F1C -; Global: Branch target inside Label: taken when 8F1C. -; Local: Part of Label. +; Routine: Sub_8F1C +; Global: Branch target inside Sub: taken when 8F1C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8F1C: +Sub_8F1C: lda $0795 ; CPU:$8F1C PRG:0F1C AD 95 07 - bpl NmiHandler_Loop39 ; CPU:$8F1F PRG:0F1F 10 01 + bpl NmiHandler_Loop53 ; CPU:$8F1F PRG:0F1F 10 01 rts ; CPU:$8F21 PRG:0F21 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop53: jsr Sub_9620 ; CPU:$8F22 PRG:0F22 20 20 96 lda #$00 ; CPU:$8F25 PRG:0F25 A9 00 sec ; CPU:$8F27 PRG:0F27 38 - sbc Zp7F ; CPU:$8F28 PRG:0F28 E5 7F - sta Zp97 ; CPU:$8F2A PRG:0F2A 85 97 - lda Zp96 ; CPU:$8F2C PRG:0F2C A5 96 - sbc Zp7E ; CPU:$8F2E PRG:0F2E E5 7E - sta Zp96 ; CPU:$8F30 PRG:0F30 85 96 - lda Zp95 ; CPU:$8F32 PRG:0F32 A5 95 - sbc Zp7D ; CPU:$8F34 PRG:0F34 E5 7D - sta Zp95 ; CPU:$8F36 PRG:0F36 85 95 - lda Zp97 ; CPU:$8F38 PRG:0F38 A5 97 - bpl NmiHandler_Loop40 ; CPU:$8F3A PRG:0F3A 10 05 + sbc SkierZ ; CPU:$8F28 PRG:0F28 E5 7F + sta PlayerZ ; CPU:$8F2A PRG:0F2A 85 97 + lda PlayerY ; CPU:$8F2C PRG:0F2C A5 96 + sbc SkierY ; CPU:$8F2E PRG:0F2E E5 7E + sta PlayerY ; CPU:$8F30 PRG:0F30 85 96 + lda PlayerX ; CPU:$8F32 PRG:0F32 A5 95 + sbc SkierX ; CPU:$8F34 PRG:0F34 E5 7D + sta PlayerX ; CPU:$8F36 PRG:0F36 85 95 + lda PlayerZ ; CPU:$8F38 PRG:0F38 A5 97 + bpl NmiHandler_Loop54 ; CPU:$8F3A PRG:0F3A 10 05 clc ; CPU:$8F3C PRG:0F3C 18 adc #$64 ; CPU:$8F3D PRG:0F3D 69 64 - sta Zp97 ; CPU:$8F3F PRG:0F3F 85 97 + sta PlayerZ ; CPU:$8F3F PRG:0F3F 85 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: - lda Zp96 ; CPU:$8F41 PRG:0F41 A5 96 - bpl NmiHandler_Loop41 ; CPU:$8F43 PRG:0F43 10 05 +NmiHandler_Loop54: + lda PlayerY ; CPU:$8F41 PRG:0F41 A5 96 + bpl NmiHandler_Loop55 ; CPU:$8F43 PRG:0F43 10 05 clc ; CPU:$8F45 PRG:0F45 18 adc #$3C ; CPU:$8F46 PRG:0F46 69 3C - sta Zp96 ; CPU:$8F48 PRG:0F48 85 96 + sta PlayerY ; CPU:$8F48 PRG:0F48 85 96 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: - lda Zp79 ; CPU:$8F4A PRG:0F4A A5 79 +NmiHandler_Loop55: + lda CourseIndex ; CPU:$8F4A PRG:0F4A A5 79 asl a ; CPU:$8F4C PRG:0F4C 0A asl a ; CPU:$8F4D PRG:0F4D 0A tax ; CPU:$8F4E PRG:0F4E AA @@ -2407,36 +2993,36 @@ NmiHandler_Loop41: clc ; CPU:$8F5D PRG:0F5D 18 adc Zp93 ; CPU:$8F5E PRG:0F5E 65 93 tay ; CPU:$8F60 PRG:0F60 A8 - lda Zp95 ; CPU:$8F61 PRG:0F61 A5 95 + lda PlayerX ; CPU:$8F61 PRG:0F61 A5 95 sta $06C0,y ; CPU:$8F63 PRG:0F63 99 C0 06 - lda Zp96 ; CPU:$8F66 PRG:0F66 A5 96 + lda PlayerY ; CPU:$8F66 PRG:0F66 A5 96 sta $06C1,y ; CPU:$8F68 PRG:0F68 99 C1 06 - lda Zp97 ; CPU:$8F6B PRG:0F6B A5 97 + lda PlayerZ ; CPU:$8F6B PRG:0F6B A5 97 sta $06C2,y ; CPU:$8F6D PRG:0F6D 99 C2 06 lda $0603,x ; CPU:$8F70 PRG:0F70 BD 03 06 - beq NmiHandler_Loop42 ; CPU:$8F73 PRG:0F73 F0 12 - lda Zp97 ; CPU:$8F75 PRG:0F75 A5 97 + beq NmiHandler_Loop56 ; CPU:$8F73 PRG:0F73 F0 12 + lda PlayerZ ; CPU:$8F75 PRG:0F75 A5 97 sec ; CPU:$8F77 PRG:0F77 38 sbc $0602,x ; CPU:$8F78 PRG:0F78 FD 02 06 - lda Zp96 ; CPU:$8F7B PRG:0F7B A5 96 + lda PlayerY ; CPU:$8F7B PRG:0F7B A5 96 sbc $0601,x ; CPU:$8F7D PRG:0F7D FD 01 06 - lda Zp95 ; CPU:$8F80 PRG:0F80 A5 95 + lda PlayerX ; CPU:$8F80 PRG:0F80 A5 95 sbc $0600,x ; CPU:$8F82 PRG:0F82 FD 00 06 - bcs NmiHandler_Loop43 ; CPU:$8F85 PRG:0F85 B0 2B + bcs NmiHandler_Loop57 ; CPU:$8F85 PRG:0F85 B0 2B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: - lda Zp95 ; CPU:$8F87 PRG:0F87 A5 95 +NmiHandler_Loop56: + lda PlayerX ; CPU:$8F87 PRG:0F87 A5 95 sta $0600,x ; CPU:$8F89 PRG:0F89 9D 00 06 - lda Zp96 ; CPU:$8F8C PRG:0F8C A5 96 + lda PlayerY ; CPU:$8F8C PRG:0F8C A5 96 sta $0601,x ; CPU:$8F8E PRG:0F8E 9D 01 06 - lda Zp97 ; CPU:$8F91 PRG:0F91 A5 97 + lda PlayerZ ; CPU:$8F91 PRG:0F91 A5 97 sta $0602,x ; CPU:$8F93 PRG:0F93 9D 02 06 lda Zp0D ; CPU:$8F96 PRG:0F96 A5 0D and #$80 ; CPU:$8F98 PRG:0F98 29 80 @@ -2450,21 +3036,24 @@ NmiHandler_Loop42: ora #$01 ; CPU:$8FAD PRG:0FAD 09 01 sta $06C3,y ; CPU:$8FAF PRG:0FAF 99 C3 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop57: rts ; CPU:$8FB2 PRG:0FB2 60 ; ---- data $8FB3-$9032 (128 bytes) ---- +; referenced by `lda $8FB3,x` at $8C5E (operand $8FB3 falls inside this region) +; referenced by `sbc $8FB4,x` at $8C66 (operand $8FB4 falls inside this region) ; referenced by `lda $8FB3,x` at $8ED0 (operand $8FB3 falls inside this region) ; referenced by `lda $8FB4,x` at $8ED6 (operand $8FB4 falls inside this region) ; referenced by `lda $8FF3,x` at $8EED (operand $8FF3 falls inside this region) ; referenced by `lda $8FF4,x` at $8EF3 (operand $8FF4 falls inside this region) - .byte $6B, $00, $6B, $00, $73, $00, $73, $00, $6B, $00, $6B, $00, $73, $00, $73, $00 ; CPU:$8FB3 PRG:0FB3 6B 00 6B 00 73 00 73 00 6B 00 6B 00 73 00 73 00 +SkierXPositionTable: + .byte $6B, $00, $6B, $00, $73, $00, $73, $00, $6B, $00, $6B, $00, $73, $00, $73, $00 ; CPU:$8FB3 PRG:-304D 6B 00 6B 00 73 00 73 00 6B 00 6B 00 73 00 73 00 .byte $68, $00, $6A, $00, $69, $00, $69, $05, $69, $09, $69, $0C, $69, $09, $69, $05 ; CPU:$8FC3 PRG:0FC3 68 00 6A 00 69 00 69 05 69 09 69 0C 69 09 69 05 .byte $68, $00, $6A, $00, $69, $00, $69, $05, $69, $09, $69, $0C, $69, $09, $69, $05 ; CPU:$8FD3 PRG:0FD3 68 00 6A 00 69 00 69 05 69 09 69 0C 69 09 69 05 .byte $68, $00, $6A, $00, $69, $00, $69, $05, $69, $09, $69, $0C, $69, $09, $69, $05 ; CPU:$8FE3 PRG:0FE3 68 00 6A 00 69 00 69 05 69 09 69 0C 69 09 69 05 @@ -2482,10 +3071,10 @@ NmiHandler_Loop43: ; ----------------------------------------------------------------------------- Sub_9033: lda Zp18 ; CPU:$9033 PRG:1033 A5 18 - bne NmiHandler_Loop44 ; CPU:$9035 PRG:1035 D0 1B + bne NmiHandler_Loop58 ; CPU:$9035 PRG:1035 D0 1B lda Zp99 ; CPU:$9037 PRG:1037 A5 99 - beq NmiHandler_Loop44 ; CPU:$9039 PRG:1039 F0 17 - bmi NmiHandler_Loop45 ; CPU:$903B PRG:103B 30 16 + beq NmiHandler_Loop58 ; CPU:$9039 PRG:1039 F0 17 + bmi NmiHandler_Loop59 ; CPU:$903B PRG:103B 30 16 lda $0747 ; CPU:$903D PRG:103D AD 47 07 sec ; CPU:$9040 PRG:1040 38 sbc $0748 ; CPU:$9041 PRG:1041 ED 48 07 @@ -2514,24 +3103,24 @@ Sub_904E: NmiHandler_OnCarryClear2: sta Zp99 ; CPU:$9050 PRG:1050 85 99 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop58: rts ; CPU:$9052 PRG:1052 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop59: lda $0747 ; CPU:$9053 PRG:1053 AD 47 07 clc ; CPU:$9056 PRG:1056 18 adc $0748 ; CPU:$9057 PRG:1057 6D 48 07 @@ -2541,7 +3130,9 @@ NmiHandler_Loop45: bcc NmiHandler_OnCarryClear2 ; CPU:$9062 PRG:1062 90 EC jmp Sub_904E ; CPU:$9064 PRG:1064 4C 4E 90 ; ---- data $9067-$9086 (32 bytes) ---- - .byte $01, $02, $03, $03, $01, $02, $03, $03, $01, $02, $03, $03, $68, $68, $68, $68 ; CPU:$9067 PRG:1067 01 02 03 03 01 02 03 03 01 02 03 03 68 68 68 68 +; referenced by `lda $9067,x` at $8E5F (operand $9067 falls inside this region) +SkierMovementTable: + .byte $01, $02, $03, $03, $01, $02, $03, $03, $01, $02, $03, $03, $68, $68, $68, $68 ; CPU:$9067 PRG:-2F99 01 02 03 03 01 02 03 03 01 02 03 03 68 68 68 68 .byte $01, $6E, $6F, $6F, $01, $6E, $6F, $6F, $01, $6E, $6F, $6F, $68, $68, $68, $68 ; CPU:$9077 PRG:1077 01 6E 6F 6F 01 6E 6F 6F 01 6E 6F 6F 68 68 68 68 ; ----------------------------------------------------------------------------- ; Routine: Sub_9087 @@ -2553,37 +3144,37 @@ NmiHandler_Loop45: ; ----------------------------------------------------------------------------- Sub_9087: lda Zp8B ; CPU:$9087 PRG:1087 A5 8B - beq NmiHandler_Loop47 ; CPU:$9089 PRG:1089 F0 46 - lda Zp0F ; CPU:$908B PRG:108B A5 0F + beq NmiHandler_Loop61 ; CPU:$9089 PRG:1089 F0 46 + lda ObjectIndex ; CPU:$908B PRG:108B A5 0F cmp #$07 ; CPU:$908D PRG:108D C9 07 - beq NmiHandler_Loop47 ; CPU:$908F PRG:108F F0 40 + beq NmiHandler_Loop61 ; CPU:$908F PRG:108F F0 40 cmp #$01 ; CPU:$9091 PRG:1091 C9 01 - beq NmiHandler_Loop49 ; CPU:$9093 PRG:1093 F0 4D + beq NmiHandler_Loop63 ; CPU:$9093 PRG:1093 F0 4D cmp #$14 ; CPU:$9095 PRG:1095 C9 14 - beq NmiHandler_Loop47 ; CPU:$9097 PRG:1097 F0 38 + beq NmiHandler_Loop61 ; CPU:$9097 PRG:1097 F0 38 tax ; CPU:$9099 PRG:1099 AA lda Zp99 ; CPU:$909A PRG:109A A5 99 eor #$FF ; CPU:$909C PRG:109C 49 FF clc ; CPU:$909E PRG:109E 18 adc #$01 ; CPU:$909F PRG:109F 69 01 cmp #$1F ; CPU:$90A1 PRG:10A1 C9 1F - bcc NmiHandler_Loop46 ; CPU:$90A3 PRG:10A3 90 02 + bcc NmiHandler_Loop60 ; CPU:$90A3 PRG:10A3 90 02 lda #$1F ; CPU:$90A5 PRG:10A5 A9 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop60: lsr a ; CPU:$90A7 PRG:10A7 4A lsr a ; CPU:$90A8 PRG:10A8 4A lsr a ; CPU:$90A9 PRG:10A9 4A and #$03 ; CPU:$90AA PRG:10AA 29 03 cpx #$08 ; CPU:$90AC PRG:10AC E0 08 - beq NmiHandler_Loop48 ; CPU:$90AE PRG:10AE F0 22 + beq NmiHandler_Loop62 ; CPU:$90AE PRG:10AE F0 22 ; ----------------------------------------------------------------------------- ; Routine: Sub_90B0 ; Global: Branch target inside Sub: taken when 90B0. @@ -2618,58 +3209,58 @@ Sub_90B8: lda Zp66 ; CPU:$90CC PRG:10CC A5 66 jsr Sub_9369 ; CPU:$90CE PRG:10CE 20 69 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop61: rts ; CPU:$90D1 PRG:10D1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop62: clc ; CPU:$90D2 PRG:10D2 18 adc #$04 ; CPU:$90D3 PRG:10D3 69 04 - sta Zp95 ; CPU:$90D5 PRG:10D5 85 95 + sta PlayerX ; CPU:$90D5 PRG:10D5 85 95 lda Zp06 ; CPU:$90D7 PRG:10D7 A5 06 asl a ; CPU:$90D9 PRG:10D9 0A and #$04 ; CPU:$90DA PRG:10DA 29 04 clc ; CPU:$90DC PRG:10DC 18 - adc Zp95 ; CPU:$90DD PRG:10DD 65 95 + adc PlayerX ; CPU:$90DD PRG:10DD 65 95 jmp Sub_90B0 ; CPU:$90DF PRG:10DF 4C B0 90 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: - lda Zp14 ; CPU:$90E2 PRG:10E2 A5 14 - beq NmiHandler_Loop50 ; CPU:$90E4 PRG:10E4 F0 27 +NmiHandler_Loop63: + lda GameState ; CPU:$90E2 PRG:10E2 A5 14 + beq NmiHandler_Loop64 ; CPU:$90E4 PRG:10E4 F0 27 lda $0700 ; CPU:$90E6 PRG:10E6 AD 00 07 cmp #$1D ; CPU:$90E9 PRG:10E9 C9 1D - beq NmiHandler_Loop51 ; CPU:$90EB PRG:10EB F0 21 + beq NmiHandler_Loop65 ; CPU:$90EB PRG:10EB F0 21 lda $077A ; CPU:$90ED PRG:10ED AD 7A 07 cmp #$05 ; CPU:$90F0 PRG:10F0 C9 05 - bne NmiHandler_Loop50 ; CPU:$90F2 PRG:10F2 D0 19 + bne NmiHandler_Loop64 ; CPU:$90F2 PRG:10F2 D0 19 lda Zp6C ; CPU:$90F4 PRG:10F4 A5 6C - beq NmiHandler_Loop50 ; CPU:$90F6 PRG:10F6 F0 15 + beq NmiHandler_Loop64 ; CPU:$90F6 PRG:10F6 F0 15 ror a ; CPU:$90F8 PRG:10F8 6A - bcs NmiHandler_Loop52 ; CPU:$90F9 PRG:10F9 B0 1D + bcs NmiHandler_Loop66 ; CPU:$90F9 PRG:10F9 B0 1D lda Zp16 ; CPU:$90FB PRG:10FB A5 16 - bpl NmiHandler_Loop50 ; CPU:$90FD PRG:10FD 10 0E + bpl NmiHandler_Loop64 ; CPU:$90FD PRG:10FD 10 0E cmp #$F1 ; CPU:$90FF PRG:10FF C9 F1 - bcs NmiHandler_Loop50 ; CPU:$9101 PRG:1101 B0 0A + bcs NmiHandler_Loop64 ; CPU:$9101 PRG:1101 B0 0A lda #$70 ; CPU:$9103 PRG:1103 A9 70 ; ----------------------------------------------------------------------------- ; Routine: Sub_9105 @@ -2684,60 +3275,61 @@ Sub_9105: lda $0705 ; CPU:$9107 PRG:1107 AD 05 07 jmp Sub_90B8 ; CPU:$910A PRG:110A 4C B8 90 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop64: rts ; CPU:$910D PRG:110D 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop65: lda #$6C ; CPU:$910E PRG:110E A9 6C sta Zp63 ; CPU:$9110 PRG:1110 85 63 lda $0705 ; CPU:$9112 PRG:1112 AD 05 07 jmp Sub_90B8 ; CPU:$9115 PRG:1115 4C B8 90 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: +NmiHandler_Loop66: lda Zp16 ; CPU:$9118 PRG:1118 A5 16 - bmi NmiHandler_Loop50 ; CPU:$911A PRG:111A 30 F1 + bmi NmiHandler_Loop64 ; CPU:$911A PRG:111A 30 F1 cmp #$10 ; CPU:$911C PRG:111C C9 10 - bcc NmiHandler_Loop50 ; CPU:$911E PRG:111E 90 ED + bcc NmiHandler_Loop64 ; CPU:$911E PRG:111E 90 ED lda #$6D ; CPU:$9120 PRG:1120 A9 6D jmp Sub_9105 ; CPU:$9122 PRG:1122 4C 05 91 ; ---- data $9125-$9130 (12 bytes) ---- ; referenced by `lda $9125,x` at $90B1 (operand $9125 falls inside this region) - .byte $4D, $85, $86, $87, $2C, $2D, $71, $72, $88, $89, $8A, $8B ; CPU:$9125 PRG:1125 4D 85 86 87 2C 2D 71 72 88 89 8A 8B +KeyboardInputMap: + .byte $4D, $85, $86, $87, $2C, $2D, $71, $72, $88, $89, $8A, $8B ; CPU:$9125 PRG:-2EDB 4D 85 86 87 2C 2D 71 72 88 89 8A 8B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero21 -; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero21: +NmiHandler_OnNonzero27: lda #$70 ; CPU:$9131 PRG:1131 A9 70 sec ; CPU:$9133 PRG:1133 38 - sbc Zp95 ; CPU:$9134 PRG:1134 E5 95 - stx Zp95 ; CPU:$9136 PRG:1136 86 95 - sbc Zp95 ; CPU:$9138 PRG:1138 E5 95 + sbc PlayerX ; CPU:$9134 PRG:1134 E5 95 + stx PlayerX ; CPU:$9136 PRG:1136 86 95 + sbc PlayerX ; CPU:$9138 PRG:1138 E5 95 sta Zp64 ; CPU:$913A PRG:113A 85 64 lda #$00 ; CPU:$913C PRG:113C A9 00 sbc #$00 ; CPU:$913E PRG:113E E9 00 @@ -2752,14 +3344,14 @@ NmiHandler_OnNonzero21: ; ----------------------------------------------------------------------------- Sub_9143: lda Zp06 ; CPU:$9143 PRG:1143 A5 06 - sta Zp91 ; CPU:$9145 PRG:1145 85 91 + sta DispatchPtrLo ; CPU:$9145 PRG:1145 85 91 lda Zp07 ; CPU:$9147 PRG:1147 A5 07 lsr a ; CPU:$9149 PRG:1149 4A - ror Zp91 ; CPU:$914A PRG:114A 66 91 + ror DispatchPtrLo ; CPU:$914A PRG:114A 66 91 lsr a ; CPU:$914C PRG:114C 4A - ror Zp91 ; CPU:$914D PRG:114D 66 91 + ror DispatchPtrLo ; CPU:$914D PRG:114D 66 91 lsr a ; CPU:$914F PRG:114F 4A - ror Zp91 ; CPU:$9150 PRG:1150 66 91 + ror DispatchPtrLo ; CPU:$9150 PRG:1150 66 91 ldy #$F4 ; CPU:$9152 PRG:1152 A0 F4 ; ----------------------------------------------------------------------------- ; Routine: Sub_9154 @@ -2770,30 +3362,30 @@ Sub_9143: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9154: - sty Zp96 ; CPU:$9154 PRG:1154 84 96 - lda Zp91 ; CPU:$9156 PRG:1156 A5 91 + sty PlayerY ; CPU:$9154 PRG:1154 84 96 + lda DispatchPtrLo ; CPU:$9156 PRG:1156 A5 91 clc ; CPU:$9158 PRG:1158 18 adc #$02 ; CPU:$9159 PRG:1159 69 02 - sta Zp91 ; CPU:$915B PRG:115B 85 91 + sta DispatchPtrLo ; CPU:$915B PRG:115B 85 91 and #$3E ; CPU:$915D PRG:115D 29 3E tax ; CPU:$915F PRG:115F AA lda $921D,x ; CPU:$9160 PRG:1160 BD 1D 92 and #$1F ; CPU:$9163 PRG:1163 29 1F - sta Zp95 ; CPU:$9165 PRG:1165 85 95 + sta PlayerX ; CPU:$9165 PRG:1165 85 95 lda $921E,x ; CPU:$9167 PRG:1167 BD 1E 92 clc ; CPU:$916A PRG:116A 18 adc Zp11 ; CPU:$916B PRG:116B 65 11 - sta Zp8F ; CPU:$916D PRG:116D 85 8F + sta VramWritePtrLo ; CPU:$916D PRG:116D 85 8F ldy Zp12 ; CPU:$916F PRG:116F A4 12 jsr Sub_954B ; CPU:$9171 PRG:1171 20 4B 95 cmp #$78 ; CPU:$9174 PRG:1174 C9 78 - bcs NmiHandler_Loop55 ; CPU:$9176 PRG:1176 B0 7A + bcs NmiHandler_Loop69 ; CPU:$9176 PRG:1176 B0 7A tax ; CPU:$9178 PRG:1178 AA sta Zp66 ; CPU:$9179 PRG:1179 85 66 lda $FF00,x ; CPU:$917B PRG:117B BD 00 FF asl a ; CPU:$917E PRG:117E 0A sta Zp63 ; CPU:$917F PRG:117F 85 63 - lda Zp96 ; CPU:$9181 PRG:1181 A5 96 + lda PlayerY ; CPU:$9181 PRG:1181 A5 96 lsr a ; CPU:$9183 PRG:1183 4A lsr a ; CPU:$9184 PRG:1184 4A and #$01 ; CPU:$9185 PRG:1185 29 01 @@ -2801,21 +3393,21 @@ Sub_9154: tay ; CPU:$9189 PRG:1189 A8 lda $9205,y ; CPU:$918A PRG:118A B9 05 92 sta Zp63 ; CPU:$918D PRG:118D 85 63 - stx Zp8F ; CPU:$918F PRG:118F 86 8F + stx VramWritePtrLo ; CPU:$918F PRG:118F 86 8F txa ; CPU:$9191 PRG:1191 8A lsr a ; CPU:$9192 PRG:1192 4A clc ; CPU:$9193 PRG:1193 18 - adc Zp8F ; CPU:$9194 PRG:1194 65 8F + adc VramWritePtrLo ; CPU:$9194 PRG:1194 65 8F tax ; CPU:$9196 PRG:1196 AA lda #$01 ; CPU:$9197 PRG:1197 A9 01 - bit Zp95 ; CPU:$9199 PRG:1199 24 95 - bne NmiHandler_OnNonzero21 ; CPU:$919B PRG:119B D0 94 + bit PlayerX ; CPU:$9199 PRG:1199 24 95 + bne NmiHandler_OnNonzero27 ; CPU:$919B PRG:119B D0 94 lda #$8C ; CPU:$919D PRG:119D A9 8C clc ; CPU:$919F PRG:119F 18 - adc Zp95 ; CPU:$91A0 PRG:11A0 65 95 - sta Zp95 ; CPU:$91A2 PRG:11A2 85 95 + adc PlayerX ; CPU:$91A0 PRG:11A0 65 95 + sta PlayerX ; CPU:$91A2 PRG:11A2 85 95 txa ; CPU:$91A4 PRG:11A4 8A - adc Zp95 ; CPU:$91A5 PRG:11A5 65 95 + adc PlayerX ; CPU:$91A5 PRG:11A5 65 95 sta Zp64 ; CPU:$91A7 PRG:11A7 85 64 lda #$00 ; CPU:$91A9 PRG:11A9 A9 00 adc #$00 ; CPU:$91AB PRG:11AB 69 00 @@ -2840,25 +3432,25 @@ Sub_91AD: lda #$7F ; CPU:$91BC PRG:11BC A9 7F sec ; CPU:$91BE PRG:11BE 38 sbc (Zp6D),y ; CPU:$91BF PRG:11BF F1 6D - bpl NmiHandler_Loop53 ; CPU:$91C1 PRG:11C1 10 01 + bpl NmiHandler_Loop67 ; CPU:$91C1 PRG:11C1 10 01 dex ; CPU:$91C3 PRG:11C3 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop67: clc ; CPU:$91C4 PRG:11C4 18 adc Zp64 ; CPU:$91C5 PRG:11C5 65 64 sta Zp64 ; CPU:$91C7 PRG:11C7 85 64 txa ; CPU:$91C9 PRG:11C9 8A adc Zp65 ; CPU:$91CA PRG:11CA 65 65 - bne NmiHandler_Loop55 ; CPU:$91CC PRG:11CC D0 24 + bne NmiHandler_Loop69 ; CPU:$91CC PRG:11CC D0 24 lda Zp64 ; CPU:$91CE PRG:11CE A5 64 - ldy Zp96 ; CPU:$91D0 PRG:11D0 A4 96 + ldy PlayerY ; CPU:$91D0 PRG:11D0 A4 96 sta $0403,y ; CPU:$91D2 PRG:11D2 99 03 04 lda Zp66 ; CPU:$91D5 PRG:11D5 A5 66 clc ; CPU:$91D7 PRG:11D7 18 @@ -2881,28 +3473,28 @@ Sub_91E7: clc ; CPU:$91E8 PRG:11E8 18 adc #$04 ; CPU:$91E9 PRG:11E9 69 04 tay ; CPU:$91EB PRG:11EB A8 - beq NmiHandler_Loop54 ; CPU:$91EC PRG:11EC F0 03 + beq NmiHandler_Loop68 ; CPU:$91EC PRG:11EC F0 03 jmp Sub_9154 ; CPU:$91EE PRG:11EE 4C 54 91 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop54: +NmiHandler_Loop68: rts ; CPU:$91F1 PRG:11F1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop55: - ldy Zp96 ; CPU:$91F2 PRG:11F2 A4 96 +NmiHandler_Loop69: + ldy PlayerY ; CPU:$91F2 PRG:11F2 A4 96 lda #$00 ; CPU:$91F4 PRG:11F4 A9 00 sta $0400,y ; CPU:$91F6 PRG:11F6 99 00 04 sta $0401,y ; CPU:$91F9 PRG:11F9 99 01 04 @@ -2913,21 +3505,22 @@ NmiHandler_Loop55: ; referenced by `lda $921D,x` at $9160 (operand $921D falls inside this region) ; referenced by `lda $921E,x` at $9167 (operand $921E falls inside this region) ; referenced by `lda $9205,y` at $918A (operand $9205 falls inside this region) - .byte $00, $00, $FE, $FD, $FD, $D2, $FD, $CC, $D2, $CC, $CC, $FF, $CB, $FF, $CB, $CC ; CPU:$9205 PRG:1205 00 00 FE FD FD D2 FD CC D2 CC CC FF CB FF CB CC +SlalomPathTable: + .byte $00, $00, $FE, $FD, $FD, $D2, $FD, $CC, $D2, $CC, $CC, $FF, $CB, $FF, $CB, $CC ; CPU:$9205 PRG:-2DFB 00 00 FE FD FD D2 FD CC D2 CC CC FF CB FF CB CC .byte $CB, $FF, $CB, $C9, $C9, $C8, $C8, $EF, $1F, $01, $0C, $1D, $1D, $09, $0B, $7D ; CPU:$9215 PRG:1215 CB FF CB C9 C9 C8 C8 EF 1F 01 0C 1D 1D 09 0B 7D .byte $1B, $AF, $00, $B7, $09, $99, $1D, $25, $1C, $37, $17, $B4, $02, $F8, $1F, $57 ; CPU:$9225 PRG:1225 1B AF 00 B7 09 99 1D 25 1C 37 17 B4 02 F8 1F 57 .byte $04, $23, $15, $A6, $0A, $DE, $1D, $10, $08, $05, $1A, $2F, $0D, $88, $04, $C4 ; CPU:$9235 PRG:1235 04 23 15 A6 0A DE 1D 10 08 05 1A 2F 0D 88 04 C4 .byte $1C, $33, $06, $3F, $13, $DB, $0E, $E2, $1E, $70, $03, $DD, $19, $6D, $02, $56 ; CPU:$9245 PRG:1245 1C 33 06 3F 13 DB 0E E2 1E 70 03 DD 19 6D 02 56 .byte $05, $EE, $00, $65, $0F, $3A, $16, $F6 ; CPU:$9255 PRG:1255 05 EE 00 65 0F 3A 16 F6 ; ----------------------------------------------------------------------------- -; Routine: Label_925D -; Global: Branch target inside Label: taken when 925D. -; Local: Part of Label. +; Routine: Sub_925D +; Global: Branch target inside Sub: taken when 925D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_925D: +Sub_925D: txa ; CPU:$925D PRG:125D 8A lsr a ; CPU:$925E PRG:125E 4A lsr a ; CPU:$925F PRG:125F 4A @@ -2936,86 +3529,86 @@ Label_925D: clc ; CPU:$9262 PRG:1262 18 adc Zp06 ; CPU:$9263 PRG:1263 65 06 and #$01 ; CPU:$9265 PRG:1265 29 01 - bne NmiHandler_Loop57 ; CPU:$9267 PRG:1267 D0 21 + bne NmiHandler_Loop71 ; CPU:$9267 PRG:1267 D0 21 ldy #$48 ; CPU:$9269 PRG:1269 A0 48 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero22 -; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero22: - sty Zp95 ; CPU:$926B PRG:126B 84 95 - cpx Zp95 ; CPU:$926D PRG:126D E4 95 - beq NmiHandler_Loop56 ; CPU:$926F PRG:126F F0 12 +NmiHandler_OnNonzero28: + sty PlayerX ; CPU:$926B PRG:126B 84 95 + cpx PlayerX ; CPU:$926D PRG:126D E4 95 + beq NmiHandler_Loop70 ; CPU:$926F PRG:126F F0 12 lda a:Zp10,y ; CPU:$9271 PRG:1271 B9 10 00 cmp Zp10,x ; CPU:$9274 PRG:1274 D5 10 - bcc NmiHandler_Loop56 ; CPU:$9276 PRG:1276 90 0B - bne NmiHandler_Loop58 ; CPU:$9278 PRG:1278 D0 11 + bcc NmiHandler_Loop70 ; CPU:$9276 PRG:1276 90 0B + bne NmiHandler_Loop72 ; CPU:$9278 PRG:1278 D0 11 lda a:Zp11,y ; CPU:$927A PRG:127A B9 11 00 cmp Zp11,x ; CPU:$927D PRG:127D D5 11 - bcc NmiHandler_Loop56 ; CPU:$927F PRG:127F 90 02 - bne NmiHandler_Loop58 ; CPU:$9281 PRG:1281 D0 08 + bcc NmiHandler_Loop70 ; CPU:$927F PRG:127F 90 02 + bne NmiHandler_Loop72 ; CPU:$9281 PRG:1281 D0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop56: +NmiHandler_Loop70: tya ; CPU:$9283 PRG:1283 98 sec ; CPU:$9284 PRG:1284 38 sbc #$0C ; CPU:$9285 PRG:1285 E9 0C tay ; CPU:$9287 PRG:1287 A8 - bne NmiHandler_OnNonzero22 ; CPU:$9288 PRG:1288 D0 E1 + bne NmiHandler_OnNonzero28 ; CPU:$9288 PRG:1288 D0 E1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop57: +NmiHandler_Loop71: rts ; CPU:$928A PRG:128A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop58: +NmiHandler_Loop72: lda a:Zp13,y ; CPU:$928B PRG:128B B9 13 00 sec ; CPU:$928E PRG:128E 38 sbc Zp13,x ; CPU:$928F PRG:128F F5 13 - bcs NmiHandler_Loop59 ; CPU:$9291 PRG:1291 B0 05 + bcs NmiHandler_Loop73 ; CPU:$9291 PRG:1291 B0 05 eor #$FF ; CPU:$9293 PRG:1293 49 FF clc ; CPU:$9295 PRG:1295 18 adc #$01 ; CPU:$9296 PRG:1296 69 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop59: +NmiHandler_Loop73: cmp #$18 ; CPU:$9298 PRG:1298 C9 18 - bcs NmiHandler_Loop56 ; CPU:$929A PRG:129A B0 E7 + bcs NmiHandler_Loop70 ; CPU:$929A PRG:129A B0 E7 lda Zp17,x ; CPU:$929C PRG:129C B5 17 - sta Zp95 ; CPU:$929E PRG:129E 85 95 + sta PlayerX ; CPU:$929E PRG:129E 85 95 and #$01 ; CPU:$92A0 PRG:12A0 29 01 - bne NmiHandler_Loop61 ; CPU:$92A2 PRG:12A2 D0 18 - lda Zp95 ; CPU:$92A4 PRG:12A4 A5 95 + bne NmiHandler_Loop75 ; CPU:$92A2 PRG:12A2 D0 18 + lda PlayerX ; CPU:$92A4 PRG:12A4 A5 95 cmp #$F0 ; CPU:$92A6 PRG:12A6 C9 F0 - bcs NmiHandler_Loop60 ; CPU:$92A8 PRG:12A8 B0 08 + bcs NmiHandler_Loop74 ; CPU:$92A8 PRG:12A8 B0 08 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarryClear3 ; Global: Branch target inside NmiHandler: taken when OnCarryClear3. @@ -3040,34 +3633,42 @@ Sub_92AF: sta Zp17,x ; CPU:$92AF PRG:12AF 95 17 rts ; CPU:$92B1 PRG:12B1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop74: sec ; CPU:$92B2 PRG:12B2 38 sbc #$10 ; CPU:$92B3 PRG:12B3 E9 10 and #$F8 ; CPU:$92B5 PRG:12B5 29 F8 ora #$01 ; CPU:$92B7 PRG:12B7 09 01 jmp Sub_92AF ; CPU:$92B9 PRG:12B9 4C AF 92 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: - lda Zp95 ; CPU:$92BC PRG:12BC A5 95 +NmiHandler_Loop75: + lda PlayerX ; CPU:$92BC PRG:12BC A5 95 cmp #$10 ; CPU:$92BE PRG:12BE C9 10 bcc NmiHandler_OnCarryClear3 ; CPU:$92C0 PRG:12C0 90 E8 - jmp NmiHandler_Loop60 ; CPU:$92C2 PRG:12C2 4C B2 92 -; ---- data $92C5-$92C5 (1 bytes) ---- - .byte $60 ; CPU:$92C5 PRG:12C5 60 + jmp NmiHandler_Loop74 ; CPU:$92C2 PRG:12C2 4C B2 92 +; ----------------------------------------------------------------------------- +; Routine: Label_92C5 +; Global: Branch target inside Label: taken when 92C5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_92C5: + rts ; CPU:$92C5 PRG:12C5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_92C6 ; Global: Branch target inside Sub: taken when 92C6. @@ -3079,67 +3680,67 @@ NmiHandler_Loop61: Sub_92C6: ldy Zp75 ; CPU:$92C6 PRG:12C6 A4 75 lda $0704,y ; CPU:$92C8 PRG:12C8 B9 04 07 - sta Zp97 ; CPU:$92CB PRG:12CB 85 97 + sta PlayerZ ; CPU:$92CB PRG:12CB 85 97 cmp #$68 ; CPU:$92CD PRG:12CD C9 68 - bcc NmiHandler_Loop64 ; CPU:$92CF PRG:12CF 90 4F + bcc NmiHandler_Loop78 ; CPU:$92CF PRG:12CF 90 4F sec ; CPU:$92D1 PRG:12D1 38 lda Zp72 ; CPU:$92D2 PRG:12D2 A5 72 sbc $0702,y ; CPU:$92D4 PRG:12D4 F9 02 07 - sta Zp95 ; CPU:$92D7 PRG:12D7 85 95 + sta PlayerX ; CPU:$92D7 PRG:12D7 85 95 lda #$00 ; CPU:$92D9 PRG:12D9 A9 00 sbc $0703,y ; CPU:$92DB PRG:12DB F9 03 07 - sta Zp96 ; CPU:$92DE PRG:12DE 85 96 - bcs NmiHandler_Loop62 ; CPU:$92E0 PRG:12E0 B0 05 + sta PlayerY ; CPU:$92DE PRG:12DE 85 96 + bcs NmiHandler_Loop76 ; CPU:$92E0 PRG:12E0 B0 05 jsr Sub_B0C3 ; CPU:$92E2 PRG:12E2 20 C3 B0 - bne NmiHandler_Loop64 ; CPU:$92E5 PRG:12E5 D0 39 + bne NmiHandler_Loop78 ; CPU:$92E5 PRG:12E5 D0 39 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: - bne NmiHandler_Loop64 ; CPU:$92E7 PRG:12E7 D0 37 - lda Zp95 ; CPU:$92E9 PRG:12E9 A5 95 +NmiHandler_Loop76: + bne NmiHandler_Loop78 ; CPU:$92E7 PRG:12E7 D0 37 + lda PlayerX ; CPU:$92E9 PRG:12E9 A5 95 cmp #$20 ; CPU:$92EB PRG:12EB C9 20 - bcs NmiHandler_Loop64 ; CPU:$92ED PRG:12ED B0 31 + bcs NmiHandler_Loop78 ; CPU:$92ED PRG:12ED B0 31 lda $0701,y ; CPU:$92EF PRG:12EF B9 01 07 ora #$01 ; CPU:$92F2 PRG:12F2 09 01 sta $0701,y ; CPU:$92F4 PRG:12F4 99 01 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero23 -; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero23: +NmiHandler_OnNonzero29: ldx $06FF,y ; CPU:$92F7 PRG:12F7 BE FF 06 lda $0701,x ; CPU:$92FA PRG:12FA BD 01 07 and #$01 ; CPU:$92FD PRG:12FD 29 01 - beq NmiHandler_Loop63 ; CPU:$92FF PRG:12FF F0 12 - lda Zp97 ; CPU:$9301 PRG:1301 A5 97 + beq NmiHandler_Loop77 ; CPU:$92FF PRG:12FF F0 12 + lda PlayerZ ; CPU:$9301 PRG:1301 A5 97 cmp $0704,x ; CPU:$9303 PRG:1303 DD 04 07 - bcs NmiHandler_Loop63 ; CPU:$9306 PRG:1306 B0 0B + bcs NmiHandler_Loop77 ; CPU:$9306 PRG:1306 B0 0B txa ; CPU:$9308 PRG:1308 8A sta $0706,y ; CPU:$9309 PRG:1309 99 06 07 tya ; CPU:$930C PRG:130C 98 sec ; CPU:$930D PRG:130D 38 sbc #$07 ; CPU:$930E PRG:130E E9 07 tay ; CPU:$9310 PRG:1310 A8 - bne NmiHandler_OnNonzero23 ; CPU:$9311 PRG:1311 D0 E4 + bne NmiHandler_OnNonzero29 ; CPU:$9311 PRG:1311 D0 E4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop77: lda Zp75 ; CPU:$9313 PRG:1313 A5 75 sta $0706,y ; CPU:$9315 PRG:1315 99 06 07 clc ; CPU:$9318 PRG:1318 18 @@ -3147,38 +3748,38 @@ NmiHandler_Loop63: sta Zp75 ; CPU:$931B PRG:131B 85 75 jmp Sub_81D9 ; CPU:$931D PRG:131D 4C D9 81 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside NmiHandler: taken when Loop64. +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: +NmiHandler_Loop78: ldx $06FF,y ; CPU:$9320 PRG:1320 BE FF 06 lda $0701,x ; CPU:$9323 PRG:1323 BD 01 07 and #$01 ; CPU:$9326 PRG:1326 29 01 - bne NmiHandler_Loop65 ; CPU:$9328 PRG:1328 D0 07 - lda Zp97 ; CPU:$932A PRG:132A A5 97 + bne NmiHandler_Loop79 ; CPU:$9328 PRG:1328 D0 07 + lda PlayerZ ; CPU:$932A PRG:132A A5 97 cmp $0704,x ; CPU:$932C PRG:132C DD 04 07 - bcs NmiHandler_Loop63 ; CPU:$932F PRG:132F B0 E2 + bcs NmiHandler_Loop77 ; CPU:$932F PRG:132F B0 E2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside NmiHandler: taken when Loop65. +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop65: +NmiHandler_Loop79: txa ; CPU:$9331 PRG:1331 8A sta $0706,y ; CPU:$9332 PRG:1332 99 06 07 tya ; CPU:$9335 PRG:1335 98 sec ; CPU:$9336 PRG:1336 38 sbc #$07 ; CPU:$9337 PRG:1337 E9 07 tay ; CPU:$9339 PRG:1339 A8 - bne NmiHandler_Loop64 ; CPU:$933A PRG:133A D0 E4 - jmp NmiHandler_Loop63 ; CPU:$933C PRG:133C 4C 13 93 + bne NmiHandler_Loop78 ; CPU:$933A PRG:133A D0 E4 + jmp NmiHandler_Loop77 ; CPU:$933C PRG:133C 4C 13 93 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnZero3 ; Global: Branch target inside NmiHandler: taken when OnZero3. @@ -3189,17 +3790,17 @@ NmiHandler_Loop65: ; ----------------------------------------------------------------------------- NmiHandler_OnZero3: lda Zp75 ; CPU:$933F PRG:133F A5 75 - bne NmiHandler_Loop66 ; CPU:$9341 PRG:1341 D0 01 + bne NmiHandler_Loop80 ; CPU:$9341 PRG:1341 D0 01 rts ; CPU:$9343 PRG:1343 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside NmiHandler: taken when Loop66. +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop66: +NmiHandler_Loop80: sec ; CPU:$9344 PRG:1344 38 sbc #$07 ; CPU:$9345 PRG:1345 E9 07 sta Zp75 ; CPU:$9347 PRG:1347 85 75 @@ -3228,24 +3829,24 @@ NmiHandler_Loop66: Sub_9369: sec ; CPU:$9369 PRG:1369 38 sbc #$78 ; CPU:$936A PRG:136A E9 78 - bcc NmiHandler_Loop68 ; CPU:$936C PRG:136C 90 19 + bcc NmiHandler_Loop82 ; CPU:$936C PRG:136C 90 19 tay ; CPU:$936E PRG:136E A8 lda (Zp6D),y ; CPU:$936F PRG:136F B1 6D ldx #$00 ; CPU:$9371 PRG:1371 A2 00 ldy #$00 ; CPU:$9373 PRG:1373 A0 00 sec ; CPU:$9375 PRG:1375 38 sbc (Zp6D),y ; CPU:$9376 PRG:1376 F1 6D - bpl NmiHandler_Loop67 ; CPU:$9378 PRG:1378 10 01 + bpl NmiHandler_Loop81 ; CPU:$9378 PRG:1378 10 01 dex ; CPU:$937A PRG:137A CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside NmiHandler: taken when Loop67. +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop67: +NmiHandler_Loop81: clc ; CPU:$937B PRG:137B 18 adc Zp64 ; CPU:$937C PRG:137C 65 64 sta Zp64 ; CPU:$937E PRG:137E 85 64 @@ -3254,14 +3855,14 @@ NmiHandler_Loop67: sta Zp65 ; CPU:$9383 PRG:1383 85 65 lda #$00 ; CPU:$9385 PRG:1385 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop68 -; Global: Branch target inside NmiHandler: taken when Loop68. +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop68: +NmiHandler_Loop82: eor #$FF ; CPU:$9387 PRG:1387 49 FF clc ; CPU:$9389 PRG:1389 18 adc #$01 ; CPU:$938A PRG:138A 69 01 @@ -3270,17 +3871,17 @@ NmiHandler_Loop68: lda #$7F ; CPU:$938F PRG:138F A9 7F sec ; CPU:$9391 PRG:1391 38 sbc (Zp6D),y ; CPU:$9392 PRG:1392 F1 6D - bpl NmiHandler_Loop69 ; CPU:$9394 PRG:1394 10 01 + bpl NmiHandler_Loop83 ; CPU:$9394 PRG:1394 10 01 dex ; CPU:$9396 PRG:1396 CA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop69 -; Global: Branch target inside NmiHandler: taken when Loop69. +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop69: +NmiHandler_Loop83: clc ; CPU:$9397 PRG:1397 18 adc Zp64 ; CPU:$9398 PRG:1398 65 64 sta Zp64 ; CPU:$939A PRG:139A 85 64 @@ -3290,15 +3891,15 @@ NmiHandler_Loop69: lda Zp63 ; CPU:$93A1 PRG:13A1 A5 63 clc ; CPU:$93A3 PRG:13A3 18 rol a ; CPU:$93A4 PRG:13A4 2A - bcs NmiHandler_Loop71 ; CPU:$93A5 PRG:13A5 B0 38 + bcs NmiHandler_Loop85 ; CPU:$93A5 PRG:13A5 B0 38 tax ; CPU:$93A7 PRG:13A7 AA lda Zp06 ; CPU:$93A8 PRG:13A8 A5 06 and #$01 ; CPU:$93AA PRG:13AA 29 01 - beq NmiHandler_Loop70 ; CPU:$93AC PRG:13AC F0 23 + beq NmiHandler_Loop84 ; CPU:$93AC PRG:13AC F0 23 lda $E3B2,x ; CPU:$93AE PRG:13AE BD B2 E3 sec ; CPU:$93B1 PRG:13B1 38 sbc Zp8B ; CPU:$93B2 PRG:13B2 E5 8B - sta Zp8F ; CPU:$93B4 PRG:13B4 85 8F + sta VramWritePtrLo ; CPU:$93B4 PRG:13B4 85 8F lda $E3B3,x ; CPU:$93B6 PRG:13B6 BD B3 E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_93B9 @@ -3310,82 +3911,82 @@ NmiHandler_Loop69: ; ----------------------------------------------------------------------------- Sub_93B9: sbc #$00 ; CPU:$93B9 PRG:13B9 E9 00 - sta Zp90 ; CPU:$93BB PRG:13BB 85 90 + sta VramWritePtrHi ; CPU:$93BB PRG:13BB 85 90 ldy Zp8B ; CPU:$93BD PRG:13BD A4 8B dey ; CPU:$93BF PRG:13BF 88 lda Zp66 ; CPU:$93C0 PRG:13C0 A5 66 - bpl NmiHandler_Loop73 ; CPU:$93C2 PRG:13C2 10 3E + bpl NmiHandler_Loop87 ; CPU:$93C2 PRG:13C2 10 3E clc ; CPU:$93C4 PRG:13C4 18 adc Zp67 ; CPU:$93C5 PRG:13C5 65 67 clc ; CPU:$93C7 PRG:13C7 18 - adc (Zp8F),y ; CPU:$93C8 PRG:13C8 71 8F + adc (VramWritePtrLo),y ; CPU:$93C8 PRG:13C8 71 8F cmp #$40 ; CPU:$93CA PRG:13CA C9 40 - bcs NmiHandler_Loop74 ; CPU:$93CC PRG:13CC B0 46 + bcs NmiHandler_Loop88 ; CPU:$93CC PRG:13CC B0 46 jmp NmiHandler_OnZero3 ; CPU:$93CE PRG:13CE 4C 3F 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop70 -; Global: Branch target inside NmiHandler: taken when Loop70. +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop70: +NmiHandler_Loop84: lda $E4EA,x ; CPU:$93D1 PRG:13D1 BD EA E4 sec ; CPU:$93D4 PRG:13D4 38 sbc Zp8B ; CPU:$93D5 PRG:13D5 E5 8B - sta Zp8F ; CPU:$93D7 PRG:13D7 85 8F + sta VramWritePtrLo ; CPU:$93D7 PRG:13D7 85 8F lda $E4EB,x ; CPU:$93D9 PRG:13D9 BD EB E4 jmp Sub_93B9 ; CPU:$93DC PRG:13DC 4C B9 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside NmiHandler: taken when Loop71. +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop71: +NmiHandler_Loop85: tax ; CPU:$93DF PRG:13DF AA lda Zp06 ; CPU:$93E0 PRG:13E0 A5 06 and #$01 ; CPU:$93E2 PRG:13E2 29 01 - beq NmiHandler_Loop72 ; CPU:$93E4 PRG:13E4 F0 0E + beq NmiHandler_Loop86 ; CPU:$93E4 PRG:13E4 F0 0E lda $E4B2,x ; CPU:$93E6 PRG:13E6 BD B2 E4 sec ; CPU:$93E9 PRG:13E9 38 sbc Zp8B ; CPU:$93EA PRG:13EA E5 8B - sta Zp8F ; CPU:$93EC PRG:13EC 85 8F + sta VramWritePtrLo ; CPU:$93EC PRG:13EC 85 8F lda $E4B3,x ; CPU:$93EE PRG:13EE BD B3 E4 jmp Sub_93B9 ; CPU:$93F1 PRG:13F1 4C B9 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside NmiHandler: taken when Loop72. +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop72: +NmiHandler_Loop86: lda $E5EA,x ; CPU:$93F4 PRG:13F4 BD EA E5 sec ; CPU:$93F7 PRG:13F7 38 sbc Zp8B ; CPU:$93F8 PRG:13F8 E5 8B - sta Zp8F ; CPU:$93FA PRG:13FA 85 8F + sta VramWritePtrLo ; CPU:$93FA PRG:13FA 85 8F lda $E5EB,x ; CPU:$93FC PRG:13FC BD EB E5 jmp Sub_93B9 ; CPU:$93FF PRG:13FF 4C B9 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside NmiHandler: taken when Loop73. +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop73: +NmiHandler_Loop87: clc ; CPU:$9402 PRG:1402 18 adc Zp67 ; CPU:$9403 PRG:1403 65 67 clc ; CPU:$9405 PRG:1405 18 - adc (Zp8F),y ; CPU:$9406 PRG:1406 71 8F + adc (VramWritePtrLo),y ; CPU:$9406 PRG:1406 71 8F cmp #$40 ; CPU:$9408 PRG:1408 C9 40 - bcs NmiHandler_Loop78 ; CPU:$940A PRG:140A B0 6D + bcs NmiHandler_Loop92 ; CPU:$940A PRG:140A B0 6D jmp NmiHandler_OnZero3 ; CPU:$940C PRG:140C 4C 3F 93 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNegative @@ -3399,26 +4000,26 @@ NmiHandler_OnNegative: sty Zp8B ; CPU:$940F PRG:140F 84 8B jmp NmiHandler_OnZero3 ; CPU:$9411 PRG:1411 4C 3F 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop74 -; Global: Branch target inside NmiHandler: taken when Loop74. +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop74: +NmiHandler_Loop88: sta Zp66 ; CPU:$9414 PRG:1414 85 66 iny ; CPU:$9416 PRG:1416 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero24 -; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero24: - lda (Zp8F),y ; CPU:$9417 PRG:1417 B1 8F +NmiHandler_OnNonzero30: + lda (VramWritePtrLo),y ; CPU:$9417 PRG:1417 B1 8F bmi NmiHandler_OnNegative ; CPU:$9419 PRG:1419 30 F4 clc ; CPU:$941B PRG:141B 18 adc Zp66 ; CPU:$941C PRG:141C 65 66 @@ -3426,71 +4027,71 @@ NmiHandler_OnNonzero24: bcs NmiHandler_OnNegative ; CPU:$9420 PRG:1420 B0 ED sta $0400,y ; CPU:$9422 PRG:1422 99 00 04 iny ; CPU:$9425 PRG:1425 C8 - lda (Zp8F),y ; CPU:$9426 PRG:1426 B1 8F + lda (VramWritePtrLo),y ; CPU:$9426 PRG:1426 B1 8F sta $0400,y ; CPU:$9428 PRG:1428 99 00 04 iny ; CPU:$942B PRG:142B C8 - lda (Zp8F),y ; CPU:$942C PRG:142C B1 8F + lda (VramWritePtrLo),y ; CPU:$942C PRG:142C B1 8F sta $0400,y ; CPU:$942E PRG:142E 99 00 04 iny ; CPU:$9431 PRG:1431 C8 - lda (Zp8F),y ; CPU:$9432 PRG:1432 B1 8F - bmi NmiHandler_Loop76 ; CPU:$9434 PRG:1434 30 1F + lda (VramWritePtrLo),y ; CPU:$9432 PRG:1432 B1 8F + bmi NmiHandler_Loop90 ; CPU:$9434 PRG:1434 30 1F adc Zp64 ; CPU:$9436 PRG:1436 65 64 sta $0400,y ; CPU:$9438 PRG:1438 99 00 04 lda Zp65 ; CPU:$943B PRG:143B A5 65 adc #$00 ; CPU:$943D PRG:143D 69 00 - bne NmiHandler_Loop75 ; CPU:$943F PRG:143F D0 06 + bne NmiHandler_Loop89 ; CPU:$943F PRG:143F D0 06 iny ; CPU:$9441 PRG:1441 C8 - bne NmiHandler_OnNonzero24 ; CPU:$9442 PRG:1442 D0 D3 + bne NmiHandler_OnNonzero30 ; CPU:$9442 PRG:1442 D0 D3 sty Zp8B ; CPU:$9444 PRG:1444 84 8B rts ; CPU:$9446 PRG:1446 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop75 -; Global: Branch target inside NmiHandler: taken when Loop75. +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop75: +NmiHandler_Loop89: lda #$00 ; CPU:$9447 PRG:1447 A9 00 sta $03FE,y ; CPU:$9449 PRG:1449 99 FE 03 sta $03FD,y ; CPU:$944C PRG:144C 99 FD 03 iny ; CPU:$944F PRG:144F C8 - bne NmiHandler_OnNonzero24 ; CPU:$9450 PRG:1450 D0 C5 + bne NmiHandler_OnNonzero30 ; CPU:$9450 PRG:1450 D0 C5 sty Zp8B ; CPU:$9452 PRG:1452 84 8B rts ; CPU:$9454 PRG:1454 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop76 -; Global: Branch target inside NmiHandler: taken when Loop76. +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop76: +NmiHandler_Loop90: adc Zp64 ; CPU:$9455 PRG:1455 65 64 sta $0400,y ; CPU:$9457 PRG:1457 99 00 04 lda Zp65 ; CPU:$945A PRG:145A A5 65 adc #$FF ; CPU:$945C PRG:145C 69 FF - bne NmiHandler_Loop77 ; CPU:$945E PRG:145E D0 06 + bne NmiHandler_Loop91 ; CPU:$945E PRG:145E D0 06 iny ; CPU:$9460 PRG:1460 C8 - bne NmiHandler_OnNonzero24 ; CPU:$9461 PRG:1461 D0 B4 + bne NmiHandler_OnNonzero30 ; CPU:$9461 PRG:1461 D0 B4 sty Zp8B ; CPU:$9463 PRG:1463 84 8B rts ; CPU:$9465 PRG:1465 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside NmiHandler: taken when Loop77. +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop91: lda #$00 ; CPU:$9466 PRG:1466 A9 00 sta $03FE,y ; CPU:$9468 PRG:1468 99 FE 03 sta $03FD,y ; CPU:$946B PRG:146B 99 FD 03 iny ; CPU:$946E PRG:146E C8 - bne NmiHandler_OnNonzero24 ; CPU:$946F PRG:146F D0 A6 + bne NmiHandler_OnNonzero30 ; CPU:$946F PRG:146F D0 A6 sty Zp8B ; CPU:$9471 PRG:1471 84 8B rts ; CPU:$9473 PRG:1473 60 ; ----------------------------------------------------------------------------- @@ -3505,96 +4106,96 @@ NmiHandler_OnNegative2: sty Zp8B ; CPU:$9474 PRG:1474 84 8B jmp NmiHandler_OnZero3 ; CPU:$9476 PRG:1476 4C 3F 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside NmiHandler: taken when Loop78. +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop92: sta Zp66 ; CPU:$9479 PRG:1479 85 66 iny ; CPU:$947B PRG:147B C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero25 -; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero25: - lda (Zp8F),y ; CPU:$947C PRG:147C B1 8F +NmiHandler_OnNonzero31: + lda (VramWritePtrLo),y ; CPU:$947C PRG:147C B1 8F bmi NmiHandler_OnNegative2 ; CPU:$947E PRG:147E 30 F4 clc ; CPU:$9480 PRG:1480 18 adc Zp66 ; CPU:$9481 PRG:1481 65 66 sta $0400,y ; CPU:$9483 PRG:1483 99 00 04 iny ; CPU:$9486 PRG:1486 C8 - lda (Zp8F),y ; CPU:$9487 PRG:1487 B1 8F + lda (VramWritePtrLo),y ; CPU:$9487 PRG:1487 B1 8F sta $0400,y ; CPU:$9489 PRG:1489 99 00 04 iny ; CPU:$948C PRG:148C C8 - lda (Zp8F),y ; CPU:$948D PRG:148D B1 8F + lda (VramWritePtrLo),y ; CPU:$948D PRG:148D B1 8F sta $0400,y ; CPU:$948F PRG:148F 99 00 04 iny ; CPU:$9492 PRG:1492 C8 - lda (Zp8F),y ; CPU:$9493 PRG:1493 B1 8F - bmi NmiHandler_Loop80 ; CPU:$9495 PRG:1495 30 1F + lda (VramWritePtrLo),y ; CPU:$9493 PRG:1493 B1 8F + bmi NmiHandler_Loop94 ; CPU:$9495 PRG:1495 30 1F adc Zp64 ; CPU:$9497 PRG:1497 65 64 sta $0400,y ; CPU:$9499 PRG:1499 99 00 04 lda Zp65 ; CPU:$949C PRG:149C A5 65 adc #$00 ; CPU:$949E PRG:149E 69 00 - bne NmiHandler_Loop79 ; CPU:$94A0 PRG:14A0 D0 06 + bne NmiHandler_Loop93 ; CPU:$94A0 PRG:14A0 D0 06 iny ; CPU:$94A2 PRG:14A2 C8 - bne NmiHandler_OnNonzero25 ; CPU:$94A3 PRG:14A3 D0 D7 + bne NmiHandler_OnNonzero31 ; CPU:$94A3 PRG:14A3 D0 D7 sty Zp8B ; CPU:$94A5 PRG:14A5 84 8B rts ; CPU:$94A7 PRG:14A7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside NmiHandler: taken when Loop79. +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: +NmiHandler_Loop93: lda #$00 ; CPU:$94A8 PRG:14A8 A9 00 sta $03FE,y ; CPU:$94AA PRG:14AA 99 FE 03 sta $03FD,y ; CPU:$94AD PRG:14AD 99 FD 03 iny ; CPU:$94B0 PRG:14B0 C8 - bne NmiHandler_OnNonzero25 ; CPU:$94B1 PRG:14B1 D0 C9 + bne NmiHandler_OnNonzero31 ; CPU:$94B1 PRG:14B1 D0 C9 sty Zp8B ; CPU:$94B3 PRG:14B3 84 8B rts ; CPU:$94B5 PRG:14B5 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside NmiHandler: taken when Loop80. +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop94: adc Zp64 ; CPU:$94B6 PRG:14B6 65 64 sta $0400,y ; CPU:$94B8 PRG:14B8 99 00 04 lda Zp65 ; CPU:$94BB PRG:14BB A5 65 adc #$FF ; CPU:$94BD PRG:14BD 69 FF - bne NmiHandler_Loop81 ; CPU:$94BF PRG:14BF D0 06 + bne NmiHandler_Loop95 ; CPU:$94BF PRG:14BF D0 06 iny ; CPU:$94C1 PRG:14C1 C8 - bne NmiHandler_OnNonzero25 ; CPU:$94C2 PRG:14C2 D0 B8 + bne NmiHandler_OnNonzero31 ; CPU:$94C2 PRG:14C2 D0 B8 sty Zp8B ; CPU:$94C4 PRG:14C4 84 8B rts ; CPU:$94C6 PRG:14C6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside NmiHandler: taken when Loop81. +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: +NmiHandler_Loop95: lda #$00 ; CPU:$94C7 PRG:14C7 A9 00 sta $03FE,y ; CPU:$94C9 PRG:14C9 99 FE 03 sta $03FD,y ; CPU:$94CC PRG:14CC 99 FD 03 iny ; CPU:$94CF PRG:14CF C8 - bne NmiHandler_OnNonzero25 ; CPU:$94D0 PRG:14D0 D0 AA + bne NmiHandler_OnNonzero31 ; CPU:$94D0 PRG:14D0 D0 AA sty Zp8B ; CPU:$94D2 PRG:14D2 84 8B rts ; CPU:$94D4 PRG:14D4 60 ; ----------------------------------------------------------------------------- @@ -3608,16 +4209,16 @@ NmiHandler_Loop81: Sub_94D5: ldy #$00 ; CPU:$94D5 PRG:14D5 A0 00 lda (Zp77),y ; CPU:$94D7 PRG:14D7 B1 77 - sta Zp95 ; CPU:$94D9 PRG:14D9 85 95 + sta PlayerX ; CPU:$94D9 PRG:14D9 85 95 iny ; CPU:$94DB PRG:14DB C8 lda (Zp77),y ; CPU:$94DC PRG:14DC B1 77 and #$F0 ; CPU:$94DE PRG:14DE 29 F0 clc ; CPU:$94E0 PRG:14E0 18 adc #$08 ; CPU:$94E1 PRG:14E1 69 08 cmp Zp76 ; CPU:$94E3 PRG:14E3 C5 76 - bcc NmiHandler_Loop82 ; CPU:$94E5 PRG:14E5 90 13 + bcc NmiHandler_Loop96 ; CPU:$94E5 PRG:14E5 90 13 cmp Zp11 ; CPU:$94E7 PRG:14E7 C5 11 - bcs NmiHandler_Loop82 ; CPU:$94E9 PRG:14E9 B0 0F + bcs NmiHandler_Loop96 ; CPU:$94E9 PRG:14E9 B0 0F sta Zp76 ; CPU:$94EB PRG:14EB 85 76 ldx #$24 ; CPU:$94ED PRG:14ED A2 24 ; ----------------------------------------------------------------------------- @@ -3630,32 +4231,32 @@ Sub_94D5: ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative2: lda Zp33,x ; CPU:$94EF PRG:14EF B5 33 - beq NmiHandler_Loop83 ; CPU:$94F1 PRG:14F1 F0 08 + beq NmiHandler_Loop97 ; CPU:$94F1 PRG:14F1 F0 08 txa ; CPU:$94F3 PRG:14F3 8A sec ; CPU:$94F4 PRG:14F4 38 sbc #$0C ; CPU:$94F5 PRG:14F5 E9 0C tax ; CPU:$94F7 PRG:14F7 AA bpl NmiHandler_OnNonnegative2 ; CPU:$94F8 PRG:14F8 10 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside NmiHandler: taken when Loop82. +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop96: rts ; CPU:$94FA PRG:14FA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside NmiHandler: taken when Loop83. +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: - lda Zp95 ; CPU:$94FB PRG:14FB A5 95 +NmiHandler_Loop97: + lda PlayerX ; CPU:$94FB PRG:14FB A5 95 sta Zp33,x ; CPU:$94FD PRG:14FD 95 33 lda Zp10 ; CPU:$94FF PRG:14FF A5 10 clc ; CPU:$9501 PRG:1501 18 @@ -3679,17 +4280,17 @@ NmiHandler_Loop83: clc ; CPU:$951F PRG:151F 18 adc #$02 ; CPU:$9520 PRG:1520 69 02 sta Zp77 ; CPU:$9522 PRG:1522 85 77 - bcc NmiHandler_Loop84 ; CPU:$9524 PRG:1524 90 02 + bcc NmiHandler_Loop98 ; CPU:$9524 PRG:1524 90 02 inc Zp78 ; CPU:$9526 PRG:1526 E6 78 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside NmiHandler: taken when Loop84. +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop98: jmp Sub_94D5 ; CPU:$9528 PRG:1528 4C D5 94 ; ----------------------------------------------------------------------------- ; Routine: Sub_952B @@ -3700,11 +4301,11 @@ NmiHandler_Loop84: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_952B: - ldx Zp79 ; CPU:$952B PRG:152B A6 79 + ldx CourseIndex ; CPU:$952B PRG:152B A6 79 lda $C9CC,x ; CPU:$952D PRG:152D BD CC C9 - sta Zp8F ; CPU:$9530 PRG:1530 85 8F + sta VramWritePtrLo ; CPU:$9530 PRG:1530 85 8F lda $C9CD,x ; CPU:$9532 PRG:1532 BD CD C9 - sta Zp90 ; CPU:$9535 PRG:1535 85 90 + sta VramWritePtrHi ; CPU:$9535 PRG:1535 85 90 lda Zp10 ; CPU:$9537 PRG:1537 A5 10 clc ; CPU:$9539 PRG:1539 18 adc #$01 ; CPU:$953A PRG:153A 69 01 @@ -3712,10 +4313,10 @@ Sub_952B: lsr a ; CPU:$953D PRG:153D 4A and #$3E ; CPU:$953E PRG:153E 29 3E tay ; CPU:$9540 PRG:1540 A8 - lda (Zp8F),y ; CPU:$9541 PRG:1541 B1 8F + lda (VramWritePtrLo),y ; CPU:$9541 PRG:1541 B1 8F sta Zp77 ; CPU:$9543 PRG:1543 85 77 iny ; CPU:$9545 PRG:1545 C8 - lda (Zp8F),y ; CPU:$9546 PRG:1546 B1 8F + lda (VramWritePtrLo),y ; CPU:$9546 PRG:1546 B1 8F sta Zp78 ; CPU:$9548 PRG:1548 85 78 rts ; CPU:$954A PRG:154A 60 ; ----------------------------------------------------------------------------- @@ -3728,53 +4329,53 @@ Sub_952B: ; ----------------------------------------------------------------------------- Sub_954B: lda #$3E ; CPU:$954B PRG:154B A9 3E - sta Zp90 ; CPU:$954D PRG:154D 85 90 + sta VramWritePtrHi ; CPU:$954D PRG:154D 85 90 tya ; CPU:$954F PRG:154F 98 asl a ; CPU:$9550 PRG:1550 0A - rol Zp8F ; CPU:$9551 PRG:1551 26 8F - rol Zp90 ; CPU:$9553 PRG:1553 26 90 + rol VramWritePtrLo ; CPU:$9551 PRG:1551 26 8F + rol VramWritePtrHi ; CPU:$9553 PRG:1553 26 90 asl a ; CPU:$9555 PRG:1555 0A - rol Zp8F ; CPU:$9556 PRG:1556 26 8F - rol Zp90 ; CPU:$9558 PRG:1558 26 90 + rol VramWritePtrLo ; CPU:$9556 PRG:1556 26 8F + rol VramWritePtrHi ; CPU:$9558 PRG:1558 26 90 ldy #$00 ; CPU:$955A PRG:155A A0 00 - lda (Zp8F),y ; CPU:$955C PRG:155C B1 8F + lda (VramWritePtrLo),y ; CPU:$955C PRG:155C B1 8F rts ; CPU:$955E PRG:155E 60 ; ----------------------------------------------------------------------------- -; Routine: Label_955F -; Global: Branch target inside Label: taken when 955F. -; Local: Part of Label. +; Routine: Sub_955F +; Global: Branch target inside Sub: taken when 955F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_955F: +Sub_955F: ldy #$00 ; CPU:$955F PRG:155F A0 00 - lda Zp14,x ; CPU:$9561 PRG:1561 B5 14 + lda GameState,x ; CPU:$9561 PRG:1561 B5 14 sec ; CPU:$9563 PRG:1563 38 - sbc Zp14 ; CPU:$9564 PRG:1564 E5 14 - bcs NmiHandler_Loop85 ; CPU:$9566 PRG:1566 B0 01 + sbc GameState ; CPU:$9564 PRG:1564 E5 14 + bcs NmiHandler_Loop99 ; CPU:$9566 PRG:1566 B0 01 dey ; CPU:$9568 PRG:1568 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside NmiHandler: taken when Loop85. +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: - sty Zp95 ; CPU:$9569 PRG:1569 84 95 +NmiHandler_Loop99: + sty PlayerX ; CPU:$9569 PRG:1569 84 95 asl a ; CPU:$956B PRG:156B 0A - rol Zp95 ; CPU:$956C PRG:156C 26 95 + rol PlayerX ; CPU:$956C PRG:156C 26 95 asl a ; CPU:$956E PRG:156E 0A - rol Zp95 ; CPU:$956F PRG:156F 26 95 + rol PlayerX ; CPU:$956F PRG:156F 26 95 asl a ; CPU:$9571 PRG:1571 0A - rol Zp95 ; CPU:$9572 PRG:1572 26 95 + rol PlayerX ; CPU:$9572 PRG:1572 26 95 clc ; CPU:$9574 PRG:1574 18 adc Zp1A,x ; CPU:$9575 PRG:1575 75 1A sta Zp1A,x ; CPU:$9577 PRG:1577 95 1A lda Zp19,x ; CPU:$9579 PRG:1579 B5 19 - adc Zp95 ; CPU:$957B PRG:157B 65 95 + adc PlayerX ; CPU:$957B PRG:157B 65 95 sta Zp19,x ; CPU:$957D PRG:157D 95 19 tya ; CPU:$957F PRG:157F 98 adc Zp18,x ; CPU:$9580 PRG:1580 75 18 @@ -3789,109 +4390,107 @@ NmiHandler_Loop85: lda Zp10 ; CPU:$9591 PRG:1591 A5 10 adc Zp18,x ; CPU:$9593 PRG:1593 75 18 sta Zp10,x ; CPU:$9595 PRG:1595 95 10 - lda Zp14,x ; CPU:$9597 PRG:1597 B5 14 + lda GameState,x ; CPU:$9597 PRG:1597 B5 14 lsr a ; CPU:$9599 PRG:1599 4A lsr a ; CPU:$959A PRG:159A 4A -; ----------------------------------------------------------------------------- -; Routine: Label_959B -; Global: Branch target inside Label: taken when 959B. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_959B: lsr a ; CPU:$959B PRG:159B 4A -; ----------------------------------------------------------------------------- -; Routine: Label_959C -; Global: Branch target inside Label: taken when 959C. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_959C: lsr a ; CPU:$959C PRG:159C 4A -; ----------------------------------------------------------------------------- -; Routine: Label_959D -; Global: Branch target inside Label: taken when 959D. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_959D: lsr a ; CPU:$959D PRG:159D 4A -; ----------------------------------------------------------------------------- -; Routine: Label_959E -; Global: Branch target inside Label: taken when 959E. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_959E: lsr a ; CPU:$959E PRG:159E 4A clc ; CPU:$959F PRG:159F 18 adc #$02 ; CPU:$95A0 PRG:15A0 69 02 - sta Zp95 ; CPU:$95A2 PRG:15A2 85 95 + sta PlayerX ; CPU:$95A2 PRG:15A2 85 95 lda Zp17,x ; CPU:$95A4 PRG:15A4 B5 17 and #$FE ; CPU:$95A6 PRG:15A6 29 FE sec ; CPU:$95A8 PRG:15A8 38 sbc Zp13,x ; CPU:$95A9 PRG:15A9 F5 13 - beq NmiHandler_Loop86 ; CPU:$95AB PRG:15AB F0 0D - bcc NmiHandler_Loop87 ; CPU:$95AD PRG:15AD 90 0C - cmp Zp95 ; CPU:$95AF PRG:15AF C5 95 - bcc NmiHandler_OnCarrySet ; CPU:$95B1 PRG:15B1 90 02 - lda Zp95 ; CPU:$95B3 PRG:15B3 A5 95 + beq NmiHandler_Loop100 ; CPU:$95AB PRG:15AB F0 0D + bcc NmiHandler_Loop101 ; CPU:$95AD PRG:15AD 90 0C + cmp PlayerX ; CPU:$95AF PRG:15AF C5 95 + bcc NmiHandler_OnCarrySet3 ; CPU:$95B1 PRG:15B1 90 02 + lda PlayerX ; CPU:$95B3 PRG:15B3 A5 95 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet -; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet: +NmiHandler_OnCarrySet3: clc ; CPU:$95B5 PRG:15B5 18 adc Zp13,x ; CPU:$95B6 PRG:15B6 75 13 sta Zp13,x ; CPU:$95B8 PRG:15B8 95 13 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop86 -; Global: Branch target inside NmiHandler: taken when Loop86. +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop86: +NmiHandler_Loop100: rts ; CPU:$95BA PRG:15BA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop87 -; Global: Branch target inside NmiHandler: taken when Loop87. +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop87: - sta Zp96 ; CPU:$95BB PRG:15BB 85 96 - lda Zp95 ; CPU:$95BD PRG:15BD A5 95 +NmiHandler_Loop101: + sta PlayerY ; CPU:$95BB PRG:15BB 85 96 + lda PlayerX ; CPU:$95BD PRG:15BD A5 95 eor #$FF ; CPU:$95BF PRG:15BF 49 FF clc ; CPU:$95C1 PRG:15C1 18 adc #$01 ; CPU:$95C2 PRG:15C2 69 01 - sta Zp95 ; CPU:$95C4 PRG:15C4 85 95 - lda Zp96 ; CPU:$95C6 PRG:15C6 A5 96 - cmp Zp95 ; CPU:$95C8 PRG:15C8 C5 95 - bcs NmiHandler_OnCarrySet ; CPU:$95CA PRG:15CA B0 E9 - lda Zp95 ; CPU:$95CC PRG:15CC A5 95 - jmp NmiHandler_OnCarrySet ; CPU:$95CE PRG:15CE 4C B5 95 -; ---- data $95D1-$9612 (66 bytes) ---- - .byte $A5, $79, $AA, $BD, $D6, $DE, $85, $73, $BD, $D7, $DE, $85, $74, $A9, $80, $85 ; CPU:$95D1 PRG:15D1 A5 79 AA BD D6 DE 85 73 BD D7 DE 85 74 A9 80 85 - .byte $13, $85, $82, $20, $2B, $95, $A9, $FF, $85, $10, $85, $11, $20, $D5, $94, $A9 ; CPU:$95E1 PRG:15E1 13 85 82 20 2B 95 A9 FF 85 10 85 11 20 D5 94 A9 - .byte $00, $85, $10, $85, $11, $85, $76, $20, $20, $96, $A9, $00, $85, $7F, $A5, $96 ; CPU:$95F1 PRG:15F1 00 85 10 85 11 85 76 20 20 96 A9 00 85 7F A5 96 - .byte $85, $7E, $A5, $95, $85, $7D, $A5, $79, $4A, $AA, $BD, $58, $96, $85, $80, $20 ; CPU:$9601 PRG:1601 85 7E A5 95 85 7D A5 79 4A AA BD 58 96 85 80 20 - .byte $7D, $AE ; CPU:$9611 PRG:1611 7D AE + sta PlayerX ; CPU:$95C4 PRG:15C4 85 95 + lda PlayerY ; CPU:$95C6 PRG:15C6 A5 96 + cmp PlayerX ; CPU:$95C8 PRG:15C8 C5 95 + bcs NmiHandler_OnCarrySet3 ; CPU:$95CA PRG:15CA B0 E9 + lda PlayerX ; CPU:$95CC PRG:15CC A5 95 + jmp NmiHandler_OnCarrySet3 ; CPU:$95CE PRG:15CE 4C B5 95 +; ----------------------------------------------------------------------------- +; Routine: Sub_95D1 +; Global: Branch target inside Sub: taken when 95D1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_95D1: + lda CourseIndex ; CPU:$95D1 PRG:15D1 A5 79 + tax ; CPU:$95D3 PRG:15D3 AA + lda $DED6,x ; CPU:$95D4 PRG:15D4 BD D6 DE + sta Zp73 ; CPU:$95D7 PRG:15D7 85 73 + lda $DED7,x ; CPU:$95D9 PRG:15D9 BD D7 DE + sta Zp74 ; CPU:$95DC PRG:15DC 85 74 + lda #$80 ; CPU:$95DE PRG:15DE A9 80 + sta Zp13 ; CPU:$95E0 PRG:15E0 85 13 + sta Zp82 ; CPU:$95E2 PRG:15E2 85 82 + jsr Sub_952B ; CPU:$95E4 PRG:15E4 20 2B 95 + lda #$FF ; CPU:$95E7 PRG:15E7 A9 FF + sta Zp10 ; CPU:$95E9 PRG:15E9 85 10 + sta Zp11 ; CPU:$95EB PRG:15EB 85 11 + jsr Sub_94D5 ; CPU:$95ED PRG:15ED 20 D5 94 + lda #$00 ; CPU:$95F0 PRG:15F0 A9 00 + sta Zp10 ; CPU:$95F2 PRG:15F2 85 10 + sta Zp11 ; CPU:$95F4 PRG:15F4 85 11 + sta Zp76 ; CPU:$95F6 PRG:15F6 85 76 + jsr Sub_9620 ; CPU:$95F8 PRG:15F8 20 20 96 + lda #$00 ; CPU:$95FB PRG:15FB A9 00 + sta SkierZ ; CPU:$95FD PRG:15FD 85 7F + lda PlayerY ; CPU:$95FF PRG:15FF A5 96 + sta SkierY ; CPU:$9601 PRG:1601 85 7E + lda PlayerX ; CPU:$9603 PRG:1603 A5 95 + sta SkierX ; CPU:$9605 PRG:1605 85 7D + lda CourseIndex ; CPU:$9607 PRG:1607 A5 79 + lsr a ; CPU:$9609 PRG:1609 4A + tax ; CPU:$960A PRG:160A AA + lda $9658,x ; CPU:$960B PRG:160B BD 58 96 + sta Zp80 ; CPU:$960E PRG:160E 85 80 + jsr Sub_AE7D ; CPU:$9610 PRG:1610 20 7D AE ; ----------------------------------------------------------------------------- ; Routine: Sub_9613 ; Global: Branch target inside Sub: taken when 9613. @@ -3902,9 +4501,9 @@ NmiHandler_Loop87: ; ----------------------------------------------------------------------------- Sub_9613: lda #$01 ; CPU:$9613 PRG:1613 A9 01 - sta Zp0F ; CPU:$9615 PRG:1615 85 0F + sta ObjectIndex ; CPU:$9615 PRG:1615 85 0F lda #$00 ; CPU:$9617 PRG:1617 A9 00 - sta Zp14 ; CPU:$9619 PRG:1619 85 14 + sta GameState ; CPU:$9619 PRG:1619 85 14 sta Zp15 ; CPU:$961B PRG:161B 85 15 sta Zp15 ; CPU:$961D PRG:161D 85 15 rts ; CPU:$961F PRG:161F 60 @@ -3917,40 +4516,42 @@ Sub_9613: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9620: - ldx Zp79 ; CPU:$9620 PRG:1620 A6 79 + ldx CourseIndex ; CPU:$9620 PRG:1620 A6 79 lda $02C0,x ; CPU:$9622 PRG:1622 BD C0 02 - sta Zp95 ; CPU:$9625 PRG:1625 85 95 + sta PlayerX ; CPU:$9625 PRG:1625 85 95 lda $02C1,x ; CPU:$9627 PRG:1627 BD C1 02 - sta Zp96 ; CPU:$962A PRG:162A 85 96 + sta PlayerY ; CPU:$962A PRG:162A 85 96 lda Zp0A ; CPU:$962C PRG:162C A5 0A lsr a ; CPU:$962E PRG:162E 4A lsr a ; CPU:$962F PRG:162F 4A lsr a ; CPU:$9630 PRG:1630 4A and #$0F ; CPU:$9631 PRG:1631 29 0F tax ; CPU:$9633 PRG:1633 AA - lda Zp96 ; CPU:$9634 PRG:1634 A5 96 + lda PlayerY ; CPU:$9634 PRG:1634 A5 96 sec ; CPU:$9636 PRG:1636 38 sbc $9648,x ; CPU:$9637 PRG:1637 FD 48 96 - bcs NmiHandler_Loop88 ; CPU:$963A PRG:163A B0 03 + bcs NmiHandler_Loop102 ; CPU:$963A PRG:163A B0 03 adc #$3C ; CPU:$963C PRG:163C 69 3C clc ; CPU:$963E PRG:163E 18 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop88 -; Global: Branch target inside NmiHandler: taken when Loop88. +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop88: - sta Zp96 ; CPU:$963F PRG:163F 85 96 - lda Zp95 ; CPU:$9641 PRG:1641 A5 95 +NmiHandler_Loop102: + sta PlayerY ; CPU:$963F PRG:163F 85 96 + lda PlayerX ; CPU:$9641 PRG:1641 A5 95 sbc #$00 ; CPU:$9643 PRG:1643 E9 00 - sta Zp95 ; CPU:$9645 PRG:1645 85 95 + sta PlayerX ; CPU:$9645 PRG:1645 85 95 rts ; CPU:$9647 PRG:1647 60 ; ---- data $9648-$966F (40 bytes) ---- +; referenced by `lda $9658,x` at $960B (operand $9658 falls inside this region) ; referenced by `sbc $9648,x` at $9637 (operand $9648 falls inside this region) - .byte $00, $05, $0A, $0F, $14, $19, $1E, $23, $28, $2D, $32, $37, $3C, $3C, $3C, $3C ; CPU:$9648 PRG:1648 00 05 0A 0F 14 19 1E 23 28 2D 32 37 3C 3C 3C 3C +SkierSpeedTable: + .byte $00, $05, $0A, $0F, $14, $19, $1E, $23, $28, $2D, $32, $37, $3C, $3C, $3C, $3C ; CPU:$9648 PRG:-29B8 00 05 0A 0F 14 19 1E 23 28 2D 32 37 3C 3C 3C 3C .byte $58, $60, $70, $A0, $80, $90, $A0, $B0, $70, $70, $78, $A8, $90, $98, $A0, $B0 ; CPU:$9658 PRG:1658 58 60 70 A0 80 90 A0 B0 70 70 78 A8 90 98 A0 B0 .byte $80, $80, $88, $B0, $A0, $A8, $B0, $B8 ; CPU:$9668 PRG:1668 80 80 88 B0 A0 A8 B0 B8 ; ----------------------------------------------------------------------------- @@ -3983,39 +4584,39 @@ Sub_967D: clc ; CPU:$9682 PRG:1682 18 adc #$01 ; CPU:$9683 PRG:1683 69 01 and #$03 ; CPU:$9685 PRG:1685 29 03 - bne NmiHandler_Loop90 ; CPU:$9687 PRG:1687 D0 1C + bne NmiHandler_Loop104 ; CPU:$9687 PRG:1687 D0 1C lda Zp9A ; CPU:$9689 PRG:1689 A5 9A - bmi NmiHandler_Loop91 ; CPU:$968B PRG:168B 30 39 + bmi NmiHandler_Loop105 ; CPU:$968B PRG:168B 30 39 lda Zp99 ; CPU:$968D PRG:168D A5 99 sec ; CPU:$968F PRG:168F 38 sbc Zp9A ; CPU:$9690 PRG:1690 E5 9A - beq NmiHandler_Loop89 ; CPU:$9692 PRG:1692 F0 06 + beq NmiHandler_Loop103 ; CPU:$9692 PRG:1692 F0 06 cmp #$80 ; CPU:$9694 PRG:1694 C9 80 - bcs NmiHandler_Loop89 ; CPU:$9696 PRG:1696 B0 02 + bcs NmiHandler_Loop103 ; CPU:$9696 PRG:1696 B0 02 lda #$80 ; CPU:$9698 PRG:1698 A9 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop89 -; Global: Branch target inside NmiHandler: taken when Loop89. +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop89: +NmiHandler_Loop103: sta Zp99 ; CPU:$969A PRG:169A 85 99 dec Zp9A ; CPU:$969C PRG:169C C6 9A dec Zp85 ; CPU:$969E PRG:169E C6 85 lda #$03 ; CPU:$96A0 PRG:16A0 A9 03 jsr Sub_B6B4 ; CPU:$96A2 PRG:16A2 20 B4 B6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop90 -; Global: Branch target inside NmiHandler: taken when Loop90. +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop90: +NmiHandler_Loop104: jsr Sub_B216 ; CPU:$96A5 PRG:16A5 20 16 B2 jsr Sub_B04F ; CPU:$96A8 PRG:16A8 20 4F B0 jsr Sub_B12D ; CPU:$96AB PRG:16AB 20 2D B1 @@ -4030,119 +4631,126 @@ NmiHandler_Loop90: sta $0701,y ; CPU:$96C0 PRG:16C0 99 01 07 jmp Sub_AFF9 ; CPU:$96C3 PRG:16C3 4C F9 AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop91 -; Global: Branch target inside NmiHandler: taken when Loop91. +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop91: +NmiHandler_Loop105: lda Zp99 ; CPU:$96C6 PRG:16C6 A5 99 sec ; CPU:$96C8 PRG:16C8 38 sbc Zp9A ; CPU:$96C9 PRG:16C9 E5 9A - bpl NmiHandler_Loop92 ; CPU:$96CB PRG:16CB 10 14 - jmp NmiHandler_Loop89 ; CPU:$96CD PRG:16CD 4C 9A 96 -; ---- data $96D0-$96D1 (2 bytes) ---- -; referenced by `lda $96D0,x` at $96B8 (operand $96D0 falls inside this region) - .byte $01, $1E ; CPU:$96D0 PRG:16D0 01 1E + bpl NmiHandler_Loop106 ; CPU:$96CB PRG:16CB 10 14 + jmp NmiHandler_Loop103 ; CPU:$96CD PRG:16CD 4C 9A 96 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero26 -; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Routine: Label_96D0 +; Global: Branch target inside Label: taken when 96D0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_96D0: + ora (Zp1E,x) ; CPU:$96D0 PRG:16D0 01 1E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero26: +NmiHandler_OnNonzero32: lda #$01 ; CPU:$96D2 PRG:16D2 A9 01 - sta Zp0F ; CPU:$96D4 PRG:16D4 85 0F + sta ObjectIndex ; CPU:$96D4 PRG:16D4 85 0F lda #$02 ; CPU:$96D6 PRG:16D6 A9 02 sta Zp9A ; CPU:$96D8 PRG:16D8 85 9A lda #$00 ; CPU:$96DA PRG:16DA A9 00 sta Zp6F ; CPU:$96DC PRG:16DC 85 6F jmp Sub_AFB6 ; CPU:$96DE PRG:16DE 4C B6 AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop92 -; Global: Branch target inside NmiHandler: taken when Loop92. +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop92: +NmiHandler_Loop106: lda #$00 ; CPU:$96E1 PRG:16E1 A9 00 sta Zp68 ; CPU:$96E3 PRG:16E3 85 68 lda Zp6F ; CPU:$96E5 PRG:16E5 A5 6F - bne NmiHandler_OnNonzero26 ; CPU:$96E7 PRG:16E7 D0 E9 + bne NmiHandler_OnNonzero32 ; CPU:$96E7 PRG:16E7 D0 E9 lda Zp08 ; CPU:$96E9 PRG:16E9 A5 08 cmp #$80 ; CPU:$96EB PRG:16EB C9 80 - bcc NmiHandler_OnNonzero26 ; CPU:$96ED PRG:16ED 90 E3 + bcc NmiHandler_OnNonzero32 ; CPU:$96ED PRG:16ED 90 E3 lda #$0A ; CPU:$96EF PRG:16EF A9 0A jsr Sub_B6B4 ; CPU:$96F1 PRG:16F1 20 B4 B6 lda #$05 ; CPU:$96F4 PRG:16F4 A9 05 jsr Sub_B5FF ; CPU:$96F6 PRG:16F6 20 FF B5 lda #$07 ; CPU:$96F9 PRG:16F9 A9 07 - sta Zp0F ; CPU:$96FB PRG:16FB 85 0F + sta ObjectIndex ; CPU:$96FB PRG:16FB 85 0F lda $0795 ; CPU:$96FD PRG:16FD AD 95 07 - bmi NmiHandler_Loop93 ; CPU:$9700 PRG:1700 30 05 - lda Zp14 ; CPU:$9702 PRG:1702 A5 14 + bmi NmiHandler_Loop107 ; CPU:$9700 PRG:1700 30 05 + lda GameState ; CPU:$9702 PRG:1702 A5 14 lsr a ; CPU:$9704 PRG:1704 4A ora #$10 ; CPU:$9705 PRG:1705 09 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop93 -; Global: Branch target inside NmiHandler: taken when Loop93. +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop93: +NmiHandler_Loop107: sta Zp9A ; CPU:$9707 PRG:1707 85 9A jsr Sub_9670 ; CPU:$9709 PRG:1709 20 70 96 dec Zp9A ; CPU:$970C PRG:170C C6 9A - beq NmiHandler_Loop98 ; CPU:$970E PRG:170E F0 40 + beq NmiHandler_Loop112 ; CPU:$970E PRG:170E F0 40 lda Zp86 ; CPU:$9710 PRG:1710 A5 86 and #$C3 ; CPU:$9712 PRG:1712 29 C3 cmp Zp6A ; CPU:$9714 PRG:1714 C5 6A - beq NmiHandler_Loop96 ; CPU:$9716 PRG:1716 F0 14 + beq NmiHandler_Loop110 ; CPU:$9716 PRG:1716 F0 14 sta Zp6A ; CPU:$9718 PRG:1718 85 6A lda Zp9A ; CPU:$971A PRG:171A A5 9A sec ; CPU:$971C PRG:171C 38 sbc #$07 ; CPU:$971D PRG:171D E9 07 - beq NmiHandler_Loop94 ; CPU:$971F PRG:171F F0 02 - bcs NmiHandler_Loop95 ; CPU:$9721 PRG:1721 B0 07 + beq NmiHandler_Loop108 ; CPU:$971F PRG:171F F0 02 + bcs NmiHandler_Loop109 ; CPU:$9721 PRG:1721 B0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop94 -; Global: Branch target inside NmiHandler: taken when Loop94. +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop94: +NmiHandler_Loop108: lda #$00 ; CPU:$9723 PRG:1723 A9 00 sta Zp9A ; CPU:$9725 PRG:1725 85 9A - jmp NmiHandler_Loop98 ; CPU:$9727 PRG:1727 4C 50 97 + jmp NmiHandler_Loop112 ; CPU:$9727 PRG:1727 4C 50 97 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop95 -; Global: Branch target inside NmiHandler: taken when Loop95. +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop95: +NmiHandler_Loop109: sta Zp9A ; CPU:$972A PRG:172A 85 9A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop96 -; Global: Branch target inside NmiHandler: taken when Loop96. +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop96: +NmiHandler_Loop110: lda #$00 ; CPU:$972C PRG:172C A9 00 sta Zp99 ; CPU:$972E PRG:172E 85 99 jsr Sub_B216 ; CPU:$9730 PRG:1730 20 16 B2 @@ -4153,42 +4761,42 @@ NmiHandler_Loop96: sta $0700,y ; CPU:$973D PRG:173D 99 00 07 lda Zp06 ; CPU:$9740 PRG:1740 A5 06 and #$03 ; CPU:$9742 PRG:1742 29 03 - bne NmiHandler_Loop97 ; CPU:$9744 PRG:1744 D0 02 - lsr Zp14 ; CPU:$9746 PRG:1746 46 14 + bne NmiHandler_Loop111 ; CPU:$9744 PRG:1744 D0 02 + lsr GameState ; CPU:$9746 PRG:1746 46 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop97 -; Global: Branch target inside NmiHandler: taken when Loop97. +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop97: +NmiHandler_Loop111: lda #$01 ; CPU:$9748 PRG:1748 A9 01 sta $0701,y ; CPU:$974A PRG:174A 99 01 07 jmp Sub_AFF9 ; CPU:$974D PRG:174D 4C F9 AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop98 -; Global: Branch target inside NmiHandler: taken when Loop98. +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop98: +NmiHandler_Loop112: lda $0795 ; CPU:$9750 PRG:1750 AD 95 07 - bpl NmiHandler_Loop99 ; CPU:$9753 PRG:1753 10 05 + bpl NmiHandler_Loop113 ; CPU:$9753 PRG:1753 10 05 lda #$00 ; CPU:$9755 PRG:1755 A9 00 jmp Sub_8069 ; CPU:$9757 PRG:1757 4C 69 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop99 -; Global: Branch target inside NmiHandler: taken when Loop99. +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop99: +NmiHandler_Loop113: jsr Sub_9613 ; CPU:$975A PRG:175A 20 13 96 jmp Sub_AFB6 ; CPU:$975D PRG:175D 4C B6 AF ; ----------------------------------------------------------------------------- @@ -4202,163 +4810,246 @@ NmiHandler_Loop99: Sub_9760: lda #$00 ; CPU:$9760 PRG:1760 A9 00 sta Zp89 ; CPU:$9762 PRG:1762 85 89 - lda Zp0F ; CPU:$9764 PRG:1764 A5 0F + lda ObjectIndex ; CPU:$9764 PRG:1764 A5 0F cmp #$08 ; CPU:$9766 PRG:1766 C9 08 - beq NmiHandler_Loop102 ; CPU:$9768 PRG:1768 F0 61 - ldx Zp8D ; CPU:$976A PRG:176A A6 8D - lda Zp0F,x ; CPU:$976C PRG:176C B5 0F + beq NmiHandler_Loop116 ; CPU:$9768 PRG:1768 F0 61 + ldx PpuAddrLow ; CPU:$976A PRG:176A A6 8D + lda ObjectIndex,x ; CPU:$976C PRG:176C B5 0F cmp #$0E ; CPU:$976E PRG:176E C9 0E - beq NmiHandler_Loop102 ; CPU:$9770 PRG:1770 F0 59 + beq NmiHandler_Loop116 ; CPU:$9770 PRG:1770 F0 59 tax ; CPU:$9772 PRG:1772 AA lda $97F2,x ; CPU:$9773 PRG:1773 BD F2 97 clc ; CPU:$9776 PRG:1776 18 adc Zp99 ; CPU:$9777 PRG:1777 65 99 - bmi NmiHandler_Loop102 ; CPU:$9779 PRG:1779 30 50 - ldx Zp8D ; CPU:$977B PRG:177B A6 8D + bmi NmiHandler_Loop116 ; CPU:$9779 PRG:1779 30 50 + ldx PpuAddrLow ; CPU:$977B PRG:177B A6 8D lda Zp11 ; CPU:$977D PRG:177D A5 11 clc ; CPU:$977F PRG:177F 18 adc #$14 ; CPU:$9780 PRG:1780 69 14 - sta Zp95 ; CPU:$9782 PRG:1782 85 95 + sta PlayerX ; CPU:$9782 PRG:1782 85 95 lda Zp10 ; CPU:$9784 PRG:1784 A5 10 adc #$00 ; CPU:$9786 PRG:1786 69 00 - sta Zp96 ; CPU:$9788 PRG:1788 85 96 - lda Zp95 ; CPU:$978A PRG:178A A5 95 + sta PlayerY ; CPU:$9788 PRG:1788 85 96 + lda PlayerX ; CPU:$978A PRG:178A A5 95 sec ; CPU:$978C PRG:178C 38 sbc Zp11,x ; CPU:$978D PRG:178D F5 11 - sta Zp95 ; CPU:$978F PRG:178F 85 95 - lda Zp96 ; CPU:$9791 PRG:1791 A5 96 + sta PlayerX ; CPU:$978F PRG:178F 85 95 + lda PlayerY ; CPU:$9791 PRG:1791 A5 96 sbc Zp10,x ; CPU:$9793 PRG:1793 F5 10 - sta Zp96 ; CPU:$9795 PRG:1795 85 96 - sta Zp97 ; CPU:$9797 PRG:1797 85 97 - bpl NmiHandler_Loop100 ; CPU:$9799 PRG:1799 10 03 + sta PlayerY ; CPU:$9795 PRG:1795 85 96 + sta PlayerZ ; CPU:$9797 PRG:1797 85 97 + bpl NmiHandler_Loop114 ; CPU:$9799 PRG:1799 10 03 jsr Sub_B0C3 ; CPU:$979B PRG:179B 20 C3 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop100 -; Global: Branch target inside NmiHandler: taken when Loop100. +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop100: - bne NmiHandler_Loop102 ; CPU:$979E PRG:179E D0 2B - lda Zp95 ; CPU:$97A0 PRG:17A0 A5 95 +NmiHandler_Loop114: + bne NmiHandler_Loop116 ; CPU:$979E PRG:179E D0 2B + lda PlayerX ; CPU:$97A0 PRG:17A0 A5 95 cmp #$06 ; CPU:$97A2 PRG:17A2 C9 06 - bcs NmiHandler_Loop102 ; CPU:$97A4 PRG:17A4 B0 25 - lda Zp0F,x ; CPU:$97A6 PRG:17A6 B5 0F + bcs NmiHandler_Loop116 ; CPU:$97A4 PRG:17A4 B0 25 + lda ObjectIndex,x ; CPU:$97A6 PRG:17A6 B5 0F cmp #$04 ; CPU:$97A8 PRG:17A8 C9 04 - bcc NmiHandler_Loop104 ; CPU:$97AA PRG:17AA 90 23 + bcc NmiHandler_Loop118 ; CPU:$97AA PRG:17AA 90 23 lda Zp13 ; CPU:$97AC PRG:17AC A5 13 sec ; CPU:$97AE PRG:17AE 38 sbc Zp13,x ; CPU:$97AF PRG:17AF F5 13 ror a ; CPU:$97B1 PRG:17B1 6A sta Zp89 ; CPU:$97B2 PRG:17B2 85 89 rol a ; CPU:$97B4 PRG:17B4 2A - bcc NmiHandler_Loop101 ; CPU:$97B5 PRG:17B5 90 0A + bcc NmiHandler_Loop115 ; CPU:$97B5 PRG:17B5 90 0A cmp #$18 ; CPU:$97B7 PRG:17B7 C9 18 - bcs NmiHandler_Loop102 ; CPU:$97B9 PRG:17B9 B0 10 + bcs NmiHandler_Loop116 ; CPU:$97B9 PRG:17B9 B0 10 cmp #$0C ; CPU:$97BB PRG:17BB C9 0C - bcs NmiHandler_Loop103 ; CPU:$97BD PRG:17BD B0 0E + bcs NmiHandler_Loop117 ; CPU:$97BD PRG:17BD B0 0E sec ; CPU:$97BF PRG:17BF 38 rts ; CPU:$97C0 PRG:17C0 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop101 -; Global: Branch target inside NmiHandler: taken when Loop101. +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop101: +NmiHandler_Loop115: cmp #$E9 ; CPU:$97C1 PRG:17C1 C9 E9 - bcc NmiHandler_Loop102 ; CPU:$97C3 PRG:17C3 90 06 + bcc NmiHandler_Loop116 ; CPU:$97C3 PRG:17C3 90 06 cmp #$F5 ; CPU:$97C5 PRG:17C5 C9 F5 - bcc NmiHandler_Loop103 ; CPU:$97C7 PRG:17C7 90 04 + bcc NmiHandler_Loop117 ; CPU:$97C7 PRG:17C7 90 04 sec ; CPU:$97C9 PRG:17C9 38 rts ; CPU:$97CA PRG:17CA 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop102 -; Global: Branch target inside NmiHandler: taken when Loop102. +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop102: +NmiHandler_Loop116: lda #$00 ; CPU:$97CB PRG:17CB A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop103 -; Global: Branch target inside NmiHandler: taken when Loop103. +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop103: +NmiHandler_Loop117: clc ; CPU:$97CD PRG:17CD 18 rts ; CPU:$97CE PRG:17CE 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop104 -; Global: Branch target inside NmiHandler: taken when Loop104. +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop104: +NmiHandler_Loop118: lda Zp13 ; CPU:$97CF PRG:17CF A5 13 sec ; CPU:$97D1 PRG:17D1 38 sbc Zp13,x ; CPU:$97D2 PRG:17D2 F5 13 ror a ; CPU:$97D4 PRG:17D4 6A sta Zp89 ; CPU:$97D5 PRG:17D5 85 89 rol a ; CPU:$97D7 PRG:17D7 2A - bcc NmiHandler_Loop105 ; CPU:$97D8 PRG:17D8 90 0A + bcc NmiHandler_Loop119 ; CPU:$97D8 PRG:17D8 90 0A cmp #$18 ; CPU:$97DA PRG:17DA C9 18 - bcs NmiHandler_Loop106 ; CPU:$97DC PRG:17DC B0 10 + bcs NmiHandler_Loop120 ; CPU:$97DC PRG:17DC B0 10 cmp #$06 ; CPU:$97DE PRG:17DE C9 06 - bcs NmiHandler_Loop107 ; CPU:$97E0 PRG:17E0 B0 0E + bcs NmiHandler_Loop121 ; CPU:$97E0 PRG:17E0 B0 0E sec ; CPU:$97E2 PRG:17E2 38 rts ; CPU:$97E3 PRG:17E3 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop105 -; Global: Branch target inside NmiHandler: taken when Loop105. +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop105: +NmiHandler_Loop119: cmp #$E9 ; CPU:$97E4 PRG:17E4 C9 E9 - bcc NmiHandler_Loop106 ; CPU:$97E6 PRG:17E6 90 06 + bcc NmiHandler_Loop120 ; CPU:$97E6 PRG:17E6 90 06 cmp #$FB ; CPU:$97E8 PRG:17E8 C9 FB - bcc NmiHandler_Loop107 ; CPU:$97EA PRG:17EA 90 04 + bcc NmiHandler_Loop121 ; CPU:$97EA PRG:17EA 90 04 sec ; CPU:$97EC PRG:17EC 38 rts ; CPU:$97ED PRG:17ED 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop106 -; Global: Branch target inside NmiHandler: taken when Loop106. +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop106: +NmiHandler_Loop120: lda #$00 ; CPU:$97EE PRG:17EE A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop107 -; Global: Branch target inside NmiHandler: taken when Loop107. +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop107: +NmiHandler_Loop121: clc ; CPU:$97F0 PRG:17F0 18 rts ; CPU:$97F1 PRG:17F1 60 -; ---- data $97F2-$9806 (21 bytes) ---- -; referenced by `lda $97F2,x` at $9773 (operand $97F2 falls inside this region) - .byte $00, $00, $30, $30, $28, $28, $30, $00, $00, $00, $00, $20, $18, $18, $30, $00 ; CPU:$97F2 PRG:17F2 00 00 30 30 28 28 30 00 00 00 00 20 18 18 30 00 - .byte $10, $10, $08, $08, $00 ; CPU:$9802 PRG:1802 10 10 08 08 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97F2 +; Global: Branch target inside Label: taken when 97F2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97F2: + brk ; CPU:$97F2 PRG:17F2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97F3 +; Global: Branch target inside Label: taken when 97F3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97F3: + brk ; CPU:$97F3 PRG:17F3 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97F4 +; Global: Branch target inside Label: taken when 97F4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97F4: + .byte $30, $30 ; CPU:$97F4 PRG:17F4 30 30 + plp ; CPU:$97F6 PRG:17F6 28 + plp ; CPU:$97F7 PRG:17F7 28 + bmi NmiHandler_Loop122 ; CPU:$97F8 PRG:17F8 30 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + brk ; CPU:$97FA PRG:17FA 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97FB +; Global: Branch target inside Label: taken when 97FB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97FB: + brk ; CPU:$97FB PRG:17FB 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97FC +; Global: Branch target inside Label: taken when 97FC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97FC: + brk ; CPU:$97FC PRG:17FC 00 +; ----------------------------------------------------------------------------- +; Routine: Label_97FD +; Global: Branch target inside Label: taken when 97FD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_97FD: + jsr $1818 ; CPU:$97FD PRG:17FD 20 18 18 + bmi NmiHandler_Loop123 ; CPU:$9800 PRG:1800 30 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + bpl NmiHandler_Loop124 ; CPU:$9802 PRG:1802 10 10 + php ; CPU:$9804 PRG:1804 08 + php ; CPU:$9805 PRG:1805 08 + brk ; CPU:$9806 PRG:1806 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_9807 ; Global: Branch target inside Sub: taken when 9807. @@ -4368,56 +5059,66 @@ NmiHandler_Loop107: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9807: - lda Zp0F ; CPU:$9807 PRG:1807 A5 0F + lda ObjectIndex ; CPU:$9807 PRG:1807 A5 0F cmp #$14 ; CPU:$9809 PRG:1809 C9 14 - beq NmiHandler_Loop109 ; CPU:$980B PRG:180B F0 3B + beq NmiHandler_Loop127 ; CPU:$980B PRG:180B F0 3B lda $0793 ; CPU:$980D PRG:180D AD 93 07 - beq NmiHandler_Loop109 ; CPU:$9810 PRG:1810 F0 36 - lda Zp7F ; CPU:$9812 PRG:1812 A5 7F + beq NmiHandler_Loop127 ; CPU:$9810 PRG:1810 F0 36 + lda SkierZ ; CPU:$9812 PRG:1812 A5 7F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: sec ; CPU:$9814 PRG:1814 38 sbc #$02 ; CPU:$9815 PRG:1815 E9 02 - sta Zp7F ; CPU:$9817 PRG:1817 85 7F - bcs NmiHandler_Loop109 ; CPU:$9819 PRG:1819 B0 2D + sta SkierZ ; CPU:$9817 PRG:1817 85 7F + bcs NmiHandler_Loop127 ; CPU:$9819 PRG:1819 B0 2D adc #$64 ; CPU:$981B PRG:181B 69 64 - sta Zp7F ; CPU:$981D PRG:181D 85 7F + sta SkierZ ; CPU:$981D PRG:181D 85 7F lda $0739 ; CPU:$981F PRG:181F AD 39 07 - beq NmiHandler_Loop108 ; CPU:$9822 PRG:1822 F0 03 - dec $0739 ; CPU:$9824 PRG:1824 CE 39 07 + beq NmiHandler_Loop126 ; CPU:$9822 PRG:1822 F0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop108 -; Global: Branch target inside NmiHandler: taken when Loop108. -; Local: Part of NmiHandler. +; Routine: Label_9824 +; Global: Branch target inside Label: taken when 9824. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop108: - lda Zp7E ; CPU:$9827 PRG:1827 A5 7E +Label_9824: + dec $0739 ; CPU:$9824 PRG:1824 CE 39 07 +NmiHandler_Loop126: + lda SkierY ; CPU:$9827 PRG:1827 A5 7E sec ; CPU:$9829 PRG:1829 38 sbc #$01 ; CPU:$982A PRG:182A E9 01 - sta Zp7E ; CPU:$982C PRG:182C 85 7E - bcs NmiHandler_Loop109 ; CPU:$982E PRG:182E B0 18 + sta SkierY ; CPU:$982C PRG:182C 85 7E + bcs NmiHandler_Loop127 ; CPU:$982E PRG:182E B0 18 adc #$3C ; CPU:$9830 PRG:1830 69 3C - sta Zp7E ; CPU:$9832 PRG:1832 85 7E - lda Zp7D ; CPU:$9834 PRG:1834 A5 7D + sta SkierY ; CPU:$9832 PRG:1832 85 7E + lda SkierX ; CPU:$9834 PRG:1834 A5 7D sec ; CPU:$9836 PRG:1836 38 sbc #$01 ; CPU:$9837 PRG:1837 E9 01 - sta Zp7D ; CPU:$9839 PRG:1839 85 7D - bcs NmiHandler_Loop109 ; CPU:$983B PRG:183B B0 0B + sta SkierX ; CPU:$9839 PRG:1839 85 7D + bcs NmiHandler_Loop127 ; CPU:$983B PRG:183B B0 0B lda #$00 ; CPU:$983D PRG:183D A9 00 - sta Zp7D ; CPU:$983F PRG:183F 85 7D - sta Zp7E ; CPU:$9841 PRG:1841 85 7E - sta Zp7F ; CPU:$9843 PRG:1843 85 7F + sta SkierX ; CPU:$983F PRG:183F 85 7D + sta SkierY ; CPU:$9841 PRG:1841 85 7E + sta SkierZ ; CPU:$9843 PRG:1843 85 7F sta $0793 ; CPU:$9845 PRG:1845 8D 93 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop109 -; Global: Branch target inside NmiHandler: taken when Loop109. +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop109: +NmiHandler_Loop127: rts ; CPU:$9848 PRG:1848 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9849 @@ -4430,15 +5131,15 @@ NmiHandler_Loop109: Sub_9849: lda #$00 ; CPU:$9849 PRG:1849 A9 00 sta Zp83 ; CPU:$984B PRG:184B 85 83 - lda Zp14 ; CPU:$984D PRG:184D A5 14 + lda GameState ; CPU:$984D PRG:184D A5 14 sec ; CPU:$984F PRG:184F 38 sbc #$C8 ; CPU:$9850 PRG:1850 E9 C8 - bcs NmiHandler_Loop110 ; CPU:$9852 PRG:1852 B0 10 - lda Zp14 ; CPU:$9854 PRG:1854 A5 14 + bcs NmiHandler_Loop128 ; CPU:$9852 PRG:1852 B0 10 + lda GameState ; CPU:$9854 PRG:1854 A5 14 sec ; CPU:$9856 PRG:1856 38 sbc #$64 ; CPU:$9857 PRG:1857 E9 64 - bcs NmiHandler_Loop111 ; CPU:$9859 PRG:1859 B0 0B - lda Zp14 ; CPU:$985B PRG:185B A5 14 + bcs NmiHandler_Loop129 ; CPU:$9859 PRG:1859 B0 0B + lda GameState ; CPU:$985B PRG:185B A5 14 ; ----------------------------------------------------------------------------- ; Routine: Sub_985D ; Global: Branch target inside Sub: taken when 985D. @@ -4453,24 +5154,24 @@ Sub_985D: sta Zp84 ; CPU:$9861 PRG:1861 85 84 rts ; CPU:$9863 PRG:1863 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop110 -; Global: Branch target inside NmiHandler: taken when Loop110. +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop110: +NmiHandler_Loop128: inc Zp83 ; CPU:$9864 PRG:1864 E6 83 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop111 -; Global: Branch target inside NmiHandler: taken when Loop111. +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop111: +NmiHandler_Loop129: inc Zp83 ; CPU:$9866 PRG:1866 E6 83 jmp Sub_985D ; CPU:$9868 PRG:1868 4C 5D 98 ; ---- data $986B-$98CE (100 bytes) ---- @@ -4497,34 +5198,34 @@ NmiHandler_Loop111: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_98CF: - lda Zp0F ; CPU:$98CF PRG:18CF A5 0F + lda ObjectIndex ; CPU:$98CF PRG:18CF A5 0F cmp #$14 ; CPU:$98D1 PRG:18D1 C9 14 - beq NmiHandler_Loop113 ; CPU:$98D3 PRG:18D3 F0 2D + beq NmiHandler_Loop131 ; CPU:$98D3 PRG:18D3 F0 2D lda $0793 ; CPU:$98D5 PRG:18D5 AD 93 07 - beq NmiHandler_Loop113 ; CPU:$98D8 PRG:18D8 F0 28 + beq NmiHandler_Loop131 ; CPU:$98D8 PRG:18D8 F0 28 lda Zp10 ; CPU:$98DA PRG:18DA A5 10 - beq NmiHandler_Loop113 ; CPU:$98DC PRG:18DC F0 24 + beq NmiHandler_Loop131 ; CPU:$98DC PRG:18DC F0 24 lda $0739 ; CPU:$98DE PRG:18DE AD 39 07 - bne NmiHandler_Loop113 ; CPU:$98E1 PRG:18E1 D0 1F + bne NmiHandler_Loop131 ; CPU:$98E1 PRG:18E1 D0 1F lda Zp06 ; CPU:$98E3 PRG:18E3 A5 06 eor #$FF ; CPU:$98E5 PRG:18E5 49 FF and #$07 ; CPU:$98E7 PRG:18E7 29 07 - bne NmiHandler_Loop113 ; CPU:$98E9 PRG:18E9 D0 17 + bne NmiHandler_Loop131 ; CPU:$98E9 PRG:18E9 D0 17 lda #$00 ; CPU:$98EB PRG:18EB A9 00 ldx Zp0A ; CPU:$98ED PRG:18ED A6 0A cpx #$02 ; CPU:$98EF PRG:18EF E0 02 - bcc NmiHandler_Loop112 ; CPU:$98F1 PRG:18F1 90 03 + bcc NmiHandler_Loop130 ; CPU:$98F1 PRG:18F1 90 03 clc ; CPU:$98F3 PRG:18F3 18 adc #$0C ; CPU:$98F4 PRG:18F4 69 0C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop112 -; Global: Branch target inside NmiHandler: taken when Loop112. +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop112: +NmiHandler_Loop130: tax ; CPU:$98F6 PRG:18F6 AA ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnNonnegative3 @@ -4536,31 +5237,31 @@ NmiHandler_Loop112: ; ----------------------------------------------------------------------------- NmiHandler_OnNonnegative3: lda Zp1B,x ; CPU:$98F7 PRG:18F7 B5 1B - beq NmiHandler_Loop114 ; CPU:$98F9 PRG:18F9 F0 08 + beq NmiHandler_Loop132 ; CPU:$98F9 PRG:18F9 F0 08 txa ; CPU:$98FB PRG:18FB 8A sec ; CPU:$98FC PRG:18FC 38 sbc #$0C ; CPU:$98FD PRG:18FD E9 0C tax ; CPU:$98FF PRG:18FF AA bpl NmiHandler_OnNonnegative3 ; CPU:$9900 PRG:1900 10 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop113 -; Global: Branch target inside NmiHandler: taken when Loop113. +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop113: +NmiHandler_Loop131: rts ; CPU:$9902 PRG:1902 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop114 -; Global: Branch target inside NmiHandler: taken when Loop114. +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop114: +NmiHandler_Loop132: lda #$0B ; CPU:$9903 PRG:1903 A9 0B sta Zp1B,x ; CPU:$9905 PRG:1905 95 1B lda Zp08 ; CPU:$9907 PRG:1907 A5 08 @@ -4568,8 +5269,8 @@ NmiHandler_Loop114: adc #$B4 ; CPU:$990B PRG:190B 69 B4 adc Zp80 ; CPU:$990D PRG:190D 65 80 sta Zp20,x ; CPU:$990F PRG:190F 95 20 - cmp Zp14 ; CPU:$9911 PRG:1911 C5 14 - bcc NmiHandler_Loop115 ; CPU:$9913 PRG:1913 90 25 + cmp GameState ; CPU:$9911 PRG:1911 C5 14 + bcc NmiHandler_Loop133 ; CPU:$9913 PRG:1913 90 25 lda #$00 ; CPU:$9915 PRG:1915 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_9917 @@ -4599,46 +5300,230 @@ Sub_9917: sta Zp23,x ; CPU:$9937 PRG:1937 95 23 rts ; CPU:$9939 PRG:1939 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop115 -; Global: Branch target inside NmiHandler: taken when Loop115. +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop115: +NmiHandler_Loop133: lda #$01 ; CPU:$993A PRG:193A A9 01 jmp Sub_9917 ; CPU:$993C PRG:193C 4C 17 99 -; ---- data $993F-$99F8 (186 bytes) ---- - .byte $20, $5F, $95, $20, $5D, $92, $38, $B5, $12, $E5, $12, $49, $FF, $A8, $B5, $11 ; CPU:$993F PRG:193F 20 5F 95 20 5D 92 38 B5 12 E5 12 49 FF A8 B5 11 - .byte $E5, $11, $49, $FF, $85, $8F, $B5, $10, $E5, $10, $F0, $14, $A9, $00, $95, $0F ; CPU:$994F PRG:194F E5 11 49 FF 85 8F B5 10 E5 10 F0 14 A9 00 95 0F - .byte $4C, $CD, $81, $49, $FF, $18, $69, $01, $C9, $50, $90, $26, $88, $4C, $91, $99 ; CPU:$995F PRG:195F 4C CD 81 49 FF 18 69 01 C9 50 90 26 88 4C 91 99 - .byte $20, $4B, $95, $85, $8F, $A8, $B9, $00, $FF, $0A, $0A, $18, $79, $00, $FF, $18 ; CPU:$996F PRG:196F 20 4B 95 85 8F A8 B9 00 FF 0A 0A 18 79 00 FF 18 - .byte $69, $02, $85, $95, $A0, $00, $A5, $13, $38, $F5, $13, $90, $D6, $C9, $50, $90 ; CPU:$997F PRG:197F 69 02 85 95 A0 00 A5 13 38 F5 13 90 D6 C9 50 90 - .byte $01, $C8, $98, $18, $65, $95, $A8, $B9, $1D, $9A, $A4, $75, $99, $00, $07, $A9 ; CPU:$998F PRG:198F 01 C8 98 18 65 95 A8 B9 1D 9A A4 75 99 00 07 A9 - .byte $00, $99, $01, $07, $A5, $8F, $99, $04, $07, $18, $69, $08, $85, $95, $B5, $13 ; CPU:$999F PRG:199F 00 99 01 07 A5 8F 99 04 07 18 69 08 85 95 B5 13 - .byte $30, $57, $49, $FF, $0A, $85, $96, $20, $E3, $9B, $A9, $80, $38, $E5, $95, $99 ; CPU:$99AF PRG:19AF 30 57 49 FF 0A 85 96 20 E3 9B A9 80 38 E5 95 99 - .byte $02, $07, $A9, $00, $E9, $00, $99, $03, $07, $20, $60, $97, $B0, $24, $F0, $1A ; CPU:$99BF PRG:19BF 02 07 A9 00 E9 00 99 03 07 20 60 97 B0 24 F0 1A - .byte $85, $70, $30, $29, $B5, $17, $38, $E9, $10, $09, $01, $95, $17, $A9, $70, $99 ; CPU:$99CF PRG:19CF 85 70 30 29 B5 17 38 E9 10 09 01 95 17 A9 70 99 - .byte $05, $07, $A9, $04, $20, $B4, $B6, $4C, $C6, $92, $A9, $70, $99, $05, $07, $4C ; CPU:$99DF PRG:19DF 05 07 A9 04 20 B4 B6 4C C6 92 A9 70 99 05 07 4C - .byte $C6, $92, $A5, $97, $30, $04, $A9, $01, $85, $6F ; CPU:$99EF PRG:19EF C6 92 A5 97 30 04 A9 01 85 6F ; ----------------------------------------------------------------------------- -; Routine: Label_99F9 -; Global: Branch target inside Label: taken when 99F9. +; Routine: Label_993F +; Global: Branch target inside Label: taken when 993F. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_99F9: +Label_993F: + jsr Sub_955F ; CPU:$993F PRG:193F 20 5F 95 + jsr Sub_925D ; CPU:$9942 PRG:1942 20 5D 92 + sec ; CPU:$9945 PRG:1945 38 + lda Zp12,x ; CPU:$9946 PRG:1946 B5 12 + sbc Zp12 ; CPU:$9948 PRG:1948 E5 12 + eor #$FF ; CPU:$994A PRG:194A 49 FF + tay ; CPU:$994C PRG:194C A8 + lda Zp11,x ; CPU:$994D PRG:194D B5 11 + sbc Zp11 ; CPU:$994F PRG:194F E5 11 + eor #$FF ; CPU:$9951 PRG:1951 49 FF + sta VramWritePtrLo ; CPU:$9953 PRG:1953 85 8F + lda Zp10,x ; CPU:$9955 PRG:1955 B5 10 + sbc Zp10 ; CPU:$9957 PRG:1957 E5 10 + beq NmiHandler_Loop134 ; CPU:$9959 PRG:1959 F0 14 + lda #$00 ; CPU:$995B PRG:195B A9 00 + sta ObjectIndex,x ; CPU:$995D PRG:195D 95 0F + jmp Sub_81CD ; CPU:$995F PRG:195F 4C CD 81 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear4: + eor #$FF ; CPU:$9962 PRG:1962 49 FF + clc ; CPU:$9964 PRG:1964 18 + adc #$01 ; CPU:$9965 PRG:1965 69 01 + cmp #$50 ; CPU:$9967 PRG:1967 C9 50 + bcc NmiHandler_Loop135 ; CPU:$9969 PRG:1969 90 26 + dey ; CPU:$996B PRG:196B 88 + jmp NmiHandler_Loop135 ; CPU:$996C PRG:196C 4C 91 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + jsr Sub_954B ; CPU:$996F PRG:196F 20 4B 95 + sta VramWritePtrLo ; CPU:$9972 PRG:1972 85 8F + tay ; CPU:$9974 PRG:1974 A8 + lda $FF00,y ; CPU:$9975 PRG:1975 B9 00 FF + asl a ; CPU:$9978 PRG:1978 0A + asl a ; CPU:$9979 PRG:1979 0A + clc ; CPU:$997A PRG:197A 18 + adc $FF00,y ; CPU:$997B PRG:197B 79 00 FF + clc ; CPU:$997E PRG:197E 18 + adc #$02 ; CPU:$997F PRG:197F 69 02 + sta PlayerX ; CPU:$9981 PRG:1981 85 95 + ldy #$00 ; CPU:$9983 PRG:1983 A0 00 + lda Zp13 ; CPU:$9985 PRG:1985 A5 13 + sec ; CPU:$9987 PRG:1987 38 + sbc Zp13,x ; CPU:$9988 PRG:1988 F5 13 + bcc NmiHandler_OnCarryClear4 ; CPU:$998A PRG:198A 90 D6 + cmp #$50 ; CPU:$998C PRG:198C C9 50 + bcc NmiHandler_Loop135 ; CPU:$998E PRG:198E 90 01 + iny ; CPU:$9990 PRG:1990 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + tya ; CPU:$9991 PRG:1991 98 + clc ; CPU:$9992 PRG:1992 18 + adc PlayerX ; CPU:$9993 PRG:1993 65 95 + tay ; CPU:$9995 PRG:1995 A8 + lda $9A1D,y ; CPU:$9996 PRG:1996 B9 1D 9A + ldy Zp75 ; CPU:$9999 PRG:1999 A4 75 + sta $0700,y ; CPU:$999B PRG:199B 99 00 07 + lda #$00 ; CPU:$999E PRG:199E A9 00 + sta $0701,y ; CPU:$99A0 PRG:19A0 99 01 07 + lda VramWritePtrLo ; CPU:$99A3 PRG:19A3 A5 8F + sta $0704,y ; CPU:$99A5 PRG:19A5 99 04 07 + clc ; CPU:$99A8 PRG:19A8 18 + adc #$08 ; CPU:$99A9 PRG:19A9 69 08 + sta PlayerX ; CPU:$99AB PRG:19AB 85 95 + lda Zp13,x ; CPU:$99AD PRG:19AD B5 13 + bmi NmiHandler_Loop140 ; CPU:$99AF PRG:19AF 30 57 + eor #$FF ; CPU:$99B1 PRG:19B1 49 FF + asl a ; CPU:$99B3 PRG:19B3 0A + sta PlayerY ; CPU:$99B4 PRG:19B4 85 96 + jsr Sub_9BE3 ; CPU:$99B6 PRG:19B6 20 E3 9B + lda #$80 ; CPU:$99B9 PRG:19B9 A9 80 + sec ; CPU:$99BB PRG:19BB 38 + sbc PlayerX ; CPU:$99BC PRG:19BC E5 95 + sta $0702,y ; CPU:$99BE PRG:19BE 99 02 07 + lda #$00 ; CPU:$99C1 PRG:19C1 A9 00 + sbc #$00 ; CPU:$99C3 PRG:19C3 E9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_99C5 +; Global: Branch target inside Sub: taken when 99C5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_99C5: + sta $0703,y ; CPU:$99C5 PRG:19C5 99 03 07 + jsr Sub_9760 ; CPU:$99C8 PRG:19C8 20 60 97 + bcs NmiHandler_Loop137 ; CPU:$99CB PRG:19CB B0 24 + beq NmiHandler_Loop136 ; CPU:$99CD PRG:19CD F0 1A + sta Zp70 ; CPU:$99CF PRG:19CF 85 70 + bmi NmiHandler_Loop139 ; CPU:$99D1 PRG:19D1 30 29 + lda Zp17,x ; CPU:$99D3 PRG:19D3 B5 17 + sec ; CPU:$99D5 PRG:19D5 38 + sbc #$10 ; CPU:$99D6 PRG:19D6 E9 10 + ora #$01 ; CPU:$99D8 PRG:19D8 09 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_99DA +; Global: Branch target inside Sub: taken when 99DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_99DA: + sta Zp17,x ; CPU:$99DA PRG:19DA 95 17 + lda #$70 ; CPU:$99DC PRG:19DC A9 70 + sta $0705,y ; CPU:$99DE PRG:19DE 99 05 07 + lda #$04 ; CPU:$99E1 PRG:19E1 A9 04 + jsr Sub_B6B4 ; CPU:$99E3 PRG:19E3 20 B4 B6 + jmp Sub_92C6 ; CPU:$99E6 PRG:19E6 4C C6 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + lda #$70 ; CPU:$99E9 PRG:19E9 A9 70 + sta $0705,y ; CPU:$99EB PRG:19EB 99 05 07 + jmp Sub_92C6 ; CPU:$99EE PRG:19EE 4C C6 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + lda PlayerZ ; CPU:$99F1 PRG:19F1 A5 97 + bmi NmiHandler_Loop138 ; CPU:$99F3 PRG:19F3 30 04 + lda #$01 ; CPU:$99F5 PRG:19F5 A9 01 + sta Zp6F ; CPU:$99F7 PRG:19F7 85 6F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: jmp Sub_9BBB ; CPU:$99F9 PRG:19F9 4C BB 9B -; ---- data $99FC-$9A58 (93 bytes) ---- - .byte $B5, $17, $18, $69, $10, $29, $FE, $95, $17, $4C, $DA, $99, $0A, $85, $96, $20 ; CPU:$99FC PRG:19FC B5 17 18 69 10 29 FE 95 17 4C DA 99 0A 85 96 20 - .byte $E3, $9B, $A9, $80, $18, $65, $95, $99, $02, $07, $A9, $00, $69, $00, $4C, $C5 ; CPU:$9A0C PRG:1A0C E3 9B A9 80 18 65 95 99 02 07 A9 00 69 00 4C C5 - .byte $99, $00, $00, $00, $00, $00, $0F, $0F, $0F, $0F, $0F, $0E, $0E, $0E, $0E, $0E ; CPU:$9A1C PRG:1A1C 99 00 00 00 00 00 0F 0F 0F 0F 0F 0E 0E 0E 0E 0E - .byte $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0B, $0B, $0B, $0B, $0B, $0A ; CPU:$9A2C PRG:1A2C 0D 0D 0D 0D 0D 0C 0C 0C 0C 0C 0B 0B 0B 0B 0B 0A - .byte $0A, $0A, $0A, $0A, $09, $09, $09, $09, $09, $08, $08, $08, $08, $08, $81, $81 ; CPU:$9A3C PRG:1A3C 0A 0A 0A 0A 09 09 09 09 09 08 08 08 08 08 81 81 - .byte $06, $07, $07, $80, $80, $04, $05, $05, $83, $82, $1F, $2E, $2F ; CPU:$9A4C PRG:1A4C 06 07 07 80 80 04 05 05 83 82 1F 2E 2F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + lda Zp17,x ; CPU:$99FC PRG:19FC B5 17 + clc ; CPU:$99FE PRG:19FE 18 + adc #$10 ; CPU:$99FF PRG:19FF 69 10 + and #$FE ; CPU:$9A01 PRG:1A01 29 FE + sta Zp17,x ; CPU:$9A03 PRG:1A03 95 17 + jmp Sub_99DA ; CPU:$9A05 PRG:1A05 4C DA 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + asl a ; CPU:$9A08 PRG:1A08 0A + sta PlayerY ; CPU:$9A09 PRG:1A09 85 96 + jsr Sub_9BE3 ; CPU:$9A0B PRG:1A0B 20 E3 9B + lda #$80 ; CPU:$9A0E PRG:1A0E A9 80 + clc ; CPU:$9A10 PRG:1A10 18 + adc PlayerX ; CPU:$9A11 PRG:1A11 65 95 + sta $0702,y ; CPU:$9A13 PRG:1A13 99 02 07 + lda #$00 ; CPU:$9A16 PRG:1A16 A9 00 + adc #$00 ; CPU:$9A18 PRG:1A18 69 00 + jmp Sub_99C5 ; CPU:$9A1A PRG:1A1A 4C C5 99 +; ---- data $9A1D-$9A58 (60 bytes) ---- +; referenced by `lda $9A1D,y` at $9996 (operand $9A1D falls inside this region) + .byte $00, $00, $00, $00, $00, $0F, $0F, $0F, $0F, $0F, $0E, $0E, $0E, $0E, $0E, $0D ; CPU:$9A1D PRG:1A1D 00 00 00 00 00 0F 0F 0F 0F 0F 0E 0E 0E 0E 0E 0D + .byte $0D, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0B, $0B, $0B, $0B, $0B, $0A, $0A ; CPU:$9A2D PRG:1A2D 0D 0D 0D 0D 0C 0C 0C 0C 0C 0B 0B 0B 0B 0B 0A 0A + .byte $0A, $0A, $0A, $09, $09, $09, $09, $09, $08, $08, $08, $08, $08, $81, $81, $06 ; CPU:$9A3D PRG:1A3D 0A 0A 0A 09 09 09 09 09 08 08 08 08 08 81 81 06 + .byte $07, $07, $80, $80, $04, $05, $05, $83, $82, $1F, $2E, $2F ; CPU:$9A4D PRG:1A4D 07 07 80 80 04 05 05 83 82 1F 2E 2F ; ----------------------------------------------------------------------------- ; Routine: Label_9A59 ; Global: Branch target inside Label: taken when 9A59. @@ -4653,7 +5538,7 @@ Label_9A59: sbc #$04 ; CPU:$9A5C PRG:1A5C E9 04 cmp #$0C ; CPU:$9A5E PRG:1A5E C9 0C sta Zp13,x ; CPU:$9A60 PRG:1A60 95 13 - bcc NmiHandler_Loop116 ; CPU:$9A62 PRG:1A62 90 15 + bcc NmiHandler_Loop141 ; CPU:$9A62 PRG:1A62 90 15 ; ----------------------------------------------------------------------------- ; Routine: Sub_9A64 ; Global: Branch target inside Sub: taken when 9A64. @@ -4665,26 +5550,106 @@ Label_9A59: Sub_9A64: lda #$5C ; CPU:$9A64 PRG:1A64 A9 5C jmp Sub_9AC3 ; CPU:$9A66 PRG:1A66 4C C3 9A -; ---- data $9A69-$9A78 (16 bytes) ---- - .byte $B5, $13, $18, $69, $04, $C9, $F4, $95, $13, $B0, $05, $A9, $74, $4C, $C3, $9A ; CPU:$9A69 PRG:1A69 B5 13 18 69 04 C9 F4 95 13 B0 05 A9 74 4C C3 9A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop116 -; Global: Branch target inside NmiHandler: taken when Loop116. +; Routine: Label_9A69 +; Global: Branch target inside Label: taken when 9A69. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9A69: + lda Zp13,x ; CPU:$9A69 PRG:1A69 B5 13 + clc ; CPU:$9A6B PRG:1A6B 18 + adc #$04 ; CPU:$9A6C PRG:1A6C 69 04 + cmp #$F4 ; CPU:$9A6E PRG:1A6E C9 F4 + sta Zp13,x ; CPU:$9A70 PRG:1A70 95 13 + bcs NmiHandler_Loop141 ; CPU:$9A72 PRG:1A72 B0 05 + lda #$74 ; CPU:$9A74 PRG:1A74 A9 74 + jmp Sub_9AC3 ; CPU:$9A76 PRG:1A76 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop116: - lda Zp0F,x ; CPU:$9A79 PRG:1A79 B5 0F +NmiHandler_Loop141: + lda ObjectIndex,x ; CPU:$9A79 PRG:1A79 B5 0F eor #$01 ; CPU:$9A7B PRG:1A7B 49 01 - sta Zp0F,x ; CPU:$9A7D PRG:1A7D 95 0F + sta ObjectIndex,x ; CPU:$9A7D PRG:1A7D 95 0F jmp Sub_9A64 ; CPU:$9A7F PRG:1A7F 4C 64 9A -; ---- data $9A82-$9AB6 (53 bytes) ---- - .byte $A5, $11, $18, $69, $10, $85, $95, $A5, $10, $69, $00, $85, $96, $A5, $95, $38 ; CPU:$9A82 PRG:1A82 A5 11 18 69 10 85 95 A5 10 69 00 85 96 A5 95 38 - .byte $F5, $11, $A5, $96, $F5, $10, $90, $09, $A5, $0F, $C9, $14, $F0, $03, $20, $BD ; CPU:$9A92 PRG:1A92 F5 11 A5 96 F5 10 90 09 A5 0F C9 14 F0 03 20 BD - .byte $8D, $A9, $40, $4C, $C3, $9A, $A9, $50, $4C, $C3, $9A, $A9, $41, $4C, $C3, $9A ; CPU:$9AA2 PRG:1AA2 8D A9 40 4C C3 9A A9 50 4C C3 9A A9 41 4C C3 9A - .byte $A9, $30, $4C, $C3, $9A ; CPU:$9AB2 PRG:1AB2 A9 30 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: Label_9A82 +; Global: Branch target inside Label: taken when 9A82. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9A82: + lda Zp11 ; CPU:$9A82 PRG:1A82 A5 11 + clc ; CPU:$9A84 PRG:1A84 18 + adc #$10 ; CPU:$9A85 PRG:1A85 69 10 + sta PlayerX ; CPU:$9A87 PRG:1A87 85 95 + lda Zp10 ; CPU:$9A89 PRG:1A89 A5 10 + adc #$00 ; CPU:$9A8B PRG:1A8B 69 00 + sta PlayerY ; CPU:$9A8D PRG:1A8D 85 96 + lda PlayerX ; CPU:$9A8F PRG:1A8F A5 95 + sec ; CPU:$9A91 PRG:1A91 38 + sbc Zp11,x ; CPU:$9A92 PRG:1A92 F5 11 + lda PlayerY ; CPU:$9A94 PRG:1A94 A5 96 + sbc Zp10,x ; CPU:$9A96 PRG:1A96 F5 10 + bcc NmiHandler_Loop142 ; CPU:$9A98 PRG:1A98 90 09 + lda ObjectIndex ; CPU:$9A9A PRG:1A9A A5 0F + cmp #$14 ; CPU:$9A9C PRG:1A9C C9 14 + beq NmiHandler_Loop142 ; CPU:$9A9E PRG:1A9E F0 03 + jsr Sub_8DBD ; CPU:$9AA0 PRG:1AA0 20 BD 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + lda #$40 ; CPU:$9AA3 PRG:1AA3 A9 40 + jmp Sub_9AC3 ; CPU:$9AA5 PRG:1AA5 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: Label_9AA8 +; Global: Branch target inside Label: taken when 9AA8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AA8: + lda #$50 ; CPU:$9AA8 PRG:1AA8 A9 50 + jmp Sub_9AC3 ; CPU:$9AAA PRG:1AAA 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: Label_9AAD +; Global: Branch target inside Label: taken when 9AAD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AAD: + lda #$41 ; CPU:$9AAD PRG:1AAD A9 41 + jmp Sub_9AC3 ; CPU:$9AAF PRG:1AAF 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: Label_9AB2 +; Global: Branch target inside Label: taken when 9AB2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AB2: + lda #$30 ; CPU:$9AB2 PRG:1AB2 A9 30 + jmp Sub_9AC3 ; CPU:$9AB4 PRG:1AB4 4C C3 9A ; ----------------------------------------------------------------------------- ; Routine: Label_9AB7 ; Global: Branch target inside Label: taken when 9AB7. @@ -4696,8 +5661,27 @@ NmiHandler_Loop116: Label_9AB7: lda #$10 ; CPU:$9AB7 PRG:1AB7 A9 10 jmp Sub_9AC3 ; CPU:$9AB9 PRG:1AB9 4C C3 9A -; ---- data $9ABC-$9AC2 (7 bytes) ---- - .byte $A9, $8C, $4C, $C3, $9A, $A9, $20 ; CPU:$9ABC PRG:1ABC A9 8C 4C C3 9A A9 20 +; ----------------------------------------------------------------------------- +; Routine: Label_9ABC +; Global: Branch target inside Label: taken when 9ABC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9ABC: + lda #$8C ; CPU:$9ABC PRG:1ABC A9 8C + jmp Sub_9AC3 ; CPU:$9ABE PRG:1ABE 4C C3 9A +; ----------------------------------------------------------------------------- +; Routine: Label_9AC1 +; Global: Branch target inside Label: taken when 9AC1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AC1: + lda #$20 ; CPU:$9AC1 PRG:1AC1 A9 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_9AC3 ; Global: Branch target inside Sub: taken when 9AC3. @@ -4716,44 +5700,44 @@ Sub_9AC3: lda Zp11,x ; CPU:$9ACD PRG:1ACD B5 11 sbc Zp11 ; CPU:$9ACF PRG:1ACF E5 11 eor #$FF ; CPU:$9AD1 PRG:1AD1 49 FF - sta Zp8F ; CPU:$9AD3 PRG:1AD3 85 8F + sta VramWritePtrLo ; CPU:$9AD3 PRG:1AD3 85 8F lda Zp10,x ; CPU:$9AD5 PRG:1AD5 B5 10 sbc Zp10 ; CPU:$9AD7 PRG:1AD7 E5 10 - beq NmiHandler_Loop117 ; CPU:$9AD9 PRG:1AD9 F0 07 + beq NmiHandler_Loop143 ; CPU:$9AD9 PRG:1AD9 F0 07 lda #$00 ; CPU:$9ADB PRG:1ADB A9 00 - sta Zp0F,x ; CPU:$9ADD PRG:1ADD 95 0F + sta ObjectIndex,x ; CPU:$9ADD PRG:1ADD 95 0F jmp Sub_81D2 ; CPU:$9ADF PRG:1ADF 4C D2 81 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop117 -; Global: Branch target inside NmiHandler: taken when Loop117. +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop117: +NmiHandler_Loop143: jsr Sub_954B ; CPU:$9AE2 PRG:1AE2 20 4B 95 - sta Zp95 ; CPU:$9AE5 PRG:1AE5 85 95 + sta PlayerX ; CPU:$9AE5 PRG:1AE5 85 95 tay ; CPU:$9AE7 PRG:1AE7 A8 lda $FF00,y ; CPU:$9AE8 PRG:1AE8 B9 00 FF clc ; CPU:$9AEB PRG:1AEB 18 adc Zp63 ; CPU:$9AEC PRG:1AEC 65 63 ldy Zp75 ; CPU:$9AEE PRG:1AEE A4 75 sta $0700,y ; CPU:$9AF0 PRG:1AF0 99 00 07 - lda Zp95 ; CPU:$9AF3 PRG:1AF3 A5 95 + lda PlayerX ; CPU:$9AF3 PRG:1AF3 A5 95 sta $0704,y ; CPU:$9AF5 PRG:1AF5 99 04 07 clc ; CPU:$9AF8 PRG:1AF8 18 adc #$08 ; CPU:$9AF9 PRG:1AF9 69 08 - sta Zp95 ; CPU:$9AFB PRG:1AFB 85 95 + sta PlayerX ; CPU:$9AFB PRG:1AFB 85 95 lda Zp13,x ; CPU:$9AFD PRG:1AFD B5 13 - bmi NmiHandler_Loop120 ; CPU:$9AFF PRG:1AFF 30 58 + bmi NmiHandler_Loop146 ; CPU:$9AFF PRG:1AFF 30 58 eor #$FF ; CPU:$9B01 PRG:1B01 49 FF asl a ; CPU:$9B03 PRG:1B03 0A - sta Zp96 ; CPU:$9B04 PRG:1B04 85 96 + sta PlayerY ; CPU:$9B04 PRG:1B04 85 96 jsr Sub_9BE3 ; CPU:$9B06 PRG:1B06 20 E3 9B lda #$80 ; CPU:$9B09 PRG:1B09 A9 80 sec ; CPU:$9B0B PRG:1B0B 38 - sbc Zp95 ; CPU:$9B0C PRG:1B0C E5 95 + sbc PlayerX ; CPU:$9B0C PRG:1B0C E5 95 sta $0702,y ; CPU:$9B0E PRG:1B0E 99 02 07 lda #$00 ; CPU:$9B11 PRG:1B11 A9 00 sbc #$00 ; CPU:$9B13 PRG:1B13 E9 00 @@ -4768,43 +5752,43 @@ NmiHandler_Loop117: Sub_9B15: sta $0703,y ; CPU:$9B15 PRG:1B15 99 03 07 jsr Sub_9760 ; CPU:$9B18 PRG:1B18 20 60 97 - bcc NmiHandler_Loop121 ; CPU:$9B1B PRG:1B1B 90 51 - lda Zp0F,x ; CPU:$9B1D PRG:1B1D B5 0F + bcc NmiHandler_Loop147 ; CPU:$9B1B PRG:1B1B 90 51 + lda ObjectIndex,x ; CPU:$9B1D PRG:1B1D B5 0F and #$FE ; CPU:$9B1F PRG:1B1F 29 FE cmp #$04 ; CPU:$9B21 PRG:1B21 C9 04 - bcs NmiHandler_Loop118 ; CPU:$9B23 PRG:1B23 B0 02 + bcs NmiHandler_Loop144 ; CPU:$9B23 PRG:1B23 B0 02 sta Zp6F ; CPU:$9B25 PRG:1B25 85 6F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop118 -; Global: Branch target inside NmiHandler: taken when Loop118. +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop118: +NmiHandler_Loop144: cmp #$12 ; CPU:$9B27 PRG:1B27 C9 12 - beq NmiHandler_Loop119 ; CPU:$9B29 PRG:1B29 F0 03 + beq NmiHandler_Loop145 ; CPU:$9B29 PRG:1B29 F0 03 jmp Sub_9BBB ; CPU:$9B2B PRG:1B2B 4C BB 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop119 -; Global: Branch target inside NmiHandler: taken when Loop119. +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop119: - lda Zp0F ; CPU:$9B2E PRG:1B2E A5 0F +NmiHandler_Loop145: + lda ObjectIndex ; CPU:$9B2E PRG:1B2E A5 0F cmp #$07 ; CPU:$9B30 PRG:1B30 C9 07 - beq NmiHandler_Loop123 ; CPU:$9B32 PRG:1B32 F0 58 - lda Zp14 ; CPU:$9B34 PRG:1B34 A5 14 + beq NmiHandler_Loop149 ; CPU:$9B32 PRG:1B32 F0 58 + lda GameState ; CPU:$9B34 PRG:1B34 A5 14 lsr a ; CPU:$9B36 PRG:1B36 4A lsr a ; CPU:$9B37 PRG:1B37 4A lsr a ; CPU:$9B38 PRG:1B38 4A lsr a ; CPU:$9B39 PRG:1B39 4A lsr a ; CPU:$9B3A PRG:1B3A 4A - beq NmiHandler_Loop122 ; CPU:$9B3B PRG:1B3B F0 4D + beq NmiHandler_Loop148 ; CPU:$9B3B PRG:1B3B F0 4D tax ; CPU:$9B3D PRG:1B3D AA lda $9BDB,x ; CPU:$9B3E PRG:1B3E BD DB 9B ldx Zp9A ; CPU:$9B41 PRG:1B41 A6 9A @@ -4812,82 +5796,82 @@ NmiHandler_Loop119: txa ; CPU:$9B45 PRG:1B45 8A sec ; CPU:$9B46 PRG:1B46 38 sbc #$01 ; CPU:$9B47 PRG:1B47 E9 01 - bpl NmiHandler_Loop123 ; CPU:$9B49 PRG:1B49 10 41 + bpl NmiHandler_Loop149 ; CPU:$9B49 PRG:1B49 10 41 lda #$01 ; CPU:$9B4B PRG:1B4B A9 01 sta Zp68 ; CPU:$9B4D PRG:1B4D 85 68 lda #$07 ; CPU:$9B4F PRG:1B4F A9 07 jsr Sub_B6B4 ; CPU:$9B51 PRG:1B51 20 B4 B6 ldy Zp75 ; CPU:$9B54 PRG:1B54 A4 75 - jmp NmiHandler_Loop123 ; CPU:$9B56 PRG:1B56 4C 8C 9B + jmp NmiHandler_Loop149 ; CPU:$9B56 PRG:1B56 4C 8C 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop120 -; Global: Branch target inside NmiHandler: taken when Loop120. +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop120: +NmiHandler_Loop146: asl a ; CPU:$9B59 PRG:1B59 0A - sta Zp96 ; CPU:$9B5A PRG:1B5A 85 96 + sta PlayerY ; CPU:$9B5A PRG:1B5A 85 96 jsr Sub_9BE3 ; CPU:$9B5C PRG:1B5C 20 E3 9B lda #$80 ; CPU:$9B5F PRG:1B5F A9 80 clc ; CPU:$9B61 PRG:1B61 18 - adc Zp95 ; CPU:$9B62 PRG:1B62 65 95 + adc PlayerX ; CPU:$9B62 PRG:1B62 65 95 sta $0702,y ; CPU:$9B64 PRG:1B64 99 02 07 lda #$00 ; CPU:$9B67 PRG:1B67 A9 00 adc #$00 ; CPU:$9B69 PRG:1B69 69 00 jmp Sub_9B15 ; CPU:$9B6B PRG:1B6B 4C 15 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop121 -; Global: Branch target inside NmiHandler: taken when Loop121. +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop121: - beq NmiHandler_Loop123 ; CPU:$9B6E PRG:1B6E F0 1C - sta Zp95 ; CPU:$9B70 PRG:1B70 85 95 - lda Zp14 ; CPU:$9B72 PRG:1B72 A5 14 - beq NmiHandler_Loop123 ; CPU:$9B74 PRG:1B74 F0 16 - lda Zp95 ; CPU:$9B76 PRG:1B76 A5 95 +NmiHandler_Loop147: + beq NmiHandler_Loop149 ; CPU:$9B6E PRG:1B6E F0 1C + sta PlayerX ; CPU:$9B70 PRG:1B70 85 95 + lda GameState ; CPU:$9B72 PRG:1B72 A5 14 + beq NmiHandler_Loop149 ; CPU:$9B74 PRG:1B74 F0 16 + lda PlayerX ; CPU:$9B76 PRG:1B76 A5 95 sta Zp70 ; CPU:$9B78 PRG:1B78 85 70 - lda Zp14 ; CPU:$9B7A PRG:1B7A A5 14 + lda GameState ; CPU:$9B7A PRG:1B7A A5 14 cmp #$0A ; CPU:$9B7C PRG:1B7C C9 0A - bcc NmiHandler_Loop123 ; CPU:$9B7E PRG:1B7E 90 0C + bcc NmiHandler_Loop149 ; CPU:$9B7E PRG:1B7E 90 0C lda #$04 ; CPU:$9B80 PRG:1B80 A9 04 jsr Sub_B6B4 ; CPU:$9B82 PRG:1B82 20 B4 B6 ldy Zp75 ; CPU:$9B85 PRG:1B85 A4 75 - jmp NmiHandler_Loop123 ; CPU:$9B87 PRG:1B87 4C 8C 9B + jmp NmiHandler_Loop149 ; CPU:$9B87 PRG:1B87 4C 8C 9B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop122 -; Global: Branch target inside NmiHandler: taken when Loop122. +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop122: +NmiHandler_Loop148: sta Zp9A ; CPU:$9B8A PRG:1B8A 85 9A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop123 -; Global: Branch target inside NmiHandler: taken when Loop123. +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop123: - ldx Zp8D ; CPU:$9B8C PRG:1B8C A6 8D - lda Zp0F,x ; CPU:$9B8E PRG:1B8E B5 0F +NmiHandler_Loop149: + ldx PpuAddrLow ; CPU:$9B8C PRG:1B8C A6 8D + lda ObjectIndex,x ; CPU:$9B8E PRG:1B8E B5 0F cmp #$04 ; CPU:$9B90 PRG:1B90 C9 04 - bcs NmiHandler_Loop124 ; CPU:$9B92 PRG:1B92 B0 13 + bcs NmiHandler_Loop150 ; CPU:$9B92 PRG:1B92 B0 13 ror a ; CPU:$9B94 PRG:1B94 6A - bcs NmiHandler_Loop125 ; CPU:$9B95 PRG:1B95 B0 1D + bcs NmiHandler_Loop151 ; CPU:$9B95 PRG:1B95 B0 1D lda Zp89 ; CPU:$9B97 PRG:1B97 A5 89 - beq NmiHandler_Loop124 ; CPU:$9B99 PRG:1B99 F0 0C - bmi NmiHandler_Loop124 ; CPU:$9B9B PRG:1B9B 30 0A + beq NmiHandler_Loop150 ; CPU:$9B99 PRG:1B99 F0 0C + bmi NmiHandler_Loop150 ; CPU:$9B9B PRG:1B9B 30 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_9B9D ; Global: Branch target inside Sub: taken when 9B9D. @@ -4897,36 +5881,36 @@ NmiHandler_Loop123: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9B9D: - lda Zp14 ; CPU:$9B9D PRG:1B9D A5 14 + lda GameState ; CPU:$9B9D PRG:1B9D A5 14 cmp #$32 ; CPU:$9B9F PRG:1B9F C9 32 - bcc NmiHandler_Loop124 ; CPU:$9BA1 PRG:1BA1 90 04 + bcc NmiHandler_Loop150 ; CPU:$9BA1 PRG:1BA1 90 04 lda #$1C ; CPU:$9BA3 PRG:1BA3 A9 1C sta Zp8A ; CPU:$9BA5 PRG:1BA5 85 8A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop124 -; Global: Branch target inside NmiHandler: taken when Loop124. +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop124: +NmiHandler_Loop150: lda #$70 ; CPU:$9BA7 PRG:1BA7 A9 70 sta $0705,y ; CPU:$9BA9 PRG:1BA9 99 05 07 lda #$00 ; CPU:$9BAC PRG:1BAC A9 00 sta $0701,y ; CPU:$9BAE PRG:1BAE 99 01 07 jmp Sub_92C6 ; CPU:$9BB1 PRG:1BB1 4C C6 92 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop125 -; Global: Branch target inside NmiHandler: taken when Loop125. +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop125: +NmiHandler_Loop151: lda Zp89 ; CPU:$9BB4 PRG:1BB4 A5 89 - bpl NmiHandler_Loop124 ; CPU:$9BB6 PRG:1BB6 10 EF + bpl NmiHandler_Loop150 ; CPU:$9BB6 PRG:1BB6 10 EF jmp Sub_9B9D ; CPU:$9BB8 PRG:1BB8 4C 9D 9B ; ----------------------------------------------------------------------------- ; Routine: Sub_9BBB @@ -4937,13 +5921,13 @@ NmiHandler_Loop125: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9BBB: - ldx Zp8D ; CPU:$9BBB PRG:1BBB A6 8D + ldx PpuAddrLow ; CPU:$9BBB PRG:1BBB A6 8D lda #$00 ; CPU:$9BBD PRG:1BBD A9 00 - sta Zp0F,x ; CPU:$9BBF PRG:1BBF 95 0F + sta ObjectIndex,x ; CPU:$9BBF PRG:1BBF 95 0F sta Zp16 ; CPU:$9BC1 PRG:1BC1 85 16 lda #$08 ; CPU:$9BC3 PRG:1BC3 A9 08 - sta Zp0F ; CPU:$9BC5 PRG:1BC5 85 0F - lda Zp14 ; CPU:$9BC7 PRG:1BC7 A5 14 + sta ObjectIndex ; CPU:$9BC5 PRG:1BC5 85 0F + lda GameState ; CPU:$9BC7 PRG:1BC7 A5 14 lsr a ; CPU:$9BC9 PRG:1BC9 4A lsr a ; CPU:$9BCA PRG:1BCA 4A lsr a ; CPU:$9BCB PRG:1BCB 4A @@ -4969,32 +5953,32 @@ Sub_9BE3: lda #$00 ; CPU:$9BE3 PRG:1BE3 A9 00 ldx #$08 ; CPU:$9BE5 PRG:1BE5 A2 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero27 -; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero27: +NmiHandler_OnNonzero33: asl a ; CPU:$9BE7 PRG:1BE7 0A - rol Zp95 ; CPU:$9BE8 PRG:1BE8 26 95 - bcc NmiHandler_Loop126 ; CPU:$9BEA PRG:1BEA 90 07 + rol PlayerX ; CPU:$9BE8 PRG:1BE8 26 95 + bcc NmiHandler_Loop152 ; CPU:$9BEA PRG:1BEA 90 07 clc ; CPU:$9BEC PRG:1BEC 18 - adc Zp96 ; CPU:$9BED PRG:1BED 65 96 - bcc NmiHandler_Loop126 ; CPU:$9BEF PRG:1BEF 90 02 - inc Zp95 ; CPU:$9BF1 PRG:1BF1 E6 95 + adc PlayerY ; CPU:$9BED PRG:1BED 65 96 + bcc NmiHandler_Loop152 ; CPU:$9BEF PRG:1BEF 90 02 + inc PlayerX ; CPU:$9BF1 PRG:1BF1 E6 95 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop126 -; Global: Branch target inside NmiHandler: taken when Loop126. +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop126: +NmiHandler_Loop152: dex ; CPU:$9BF3 PRG:1BF3 CA - bne NmiHandler_OnNonzero27 ; CPU:$9BF4 PRG:1BF4 D0 F1 + bne NmiHandler_OnNonzero33 ; CPU:$9BF4 PRG:1BF4 D0 F1 rts ; CPU:$9BF6 PRG:1BF6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9BF7 @@ -5043,43 +6027,43 @@ Sub_9C09: Sub_9C0B: stx Zp93 ; CPU:$9C0B PRG:1C0B 86 93 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero28 -; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero28: +NmiHandler_OnNonzero34: ldx #$20 ; CPU:$9C0D PRG:1C0D A2 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero29 -; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero29: - lda (Zp8F),y ; CPU:$9C0F PRG:1C0F B1 8F +NmiHandler_OnNonzero35: + lda (VramWritePtrLo),y ; CPU:$9C0F PRG:1C0F B1 8F sta PPUDATA ; CPU:$9C11 PRG:1C11 8D 07 20 iny ; CPU:$9C14 PRG:1C14 C8 dex ; CPU:$9C15 PRG:1C15 CA - bne NmiHandler_OnNonzero29 ; CPU:$9C16 PRG:1C16 D0 F7 + bne NmiHandler_OnNonzero35 ; CPU:$9C16 PRG:1C16 D0 F7 cpy #$00 ; CPU:$9C18 PRG:1C18 C0 00 - bne NmiHandler_Loop127 ; CPU:$9C1A PRG:1C1A D0 02 - inc Zp90 ; CPU:$9C1C PRG:1C1C E6 90 + bne NmiHandler_Loop153 ; CPU:$9C1A PRG:1C1A D0 02 + inc VramWritePtrHi ; CPU:$9C1C PRG:1C1C E6 90 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop127 -; Global: Branch target inside NmiHandler: taken when Loop127. +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop127: +NmiHandler_Loop153: dec Zp93 ; CPU:$9C1E PRG:1C1E C6 93 - bne NmiHandler_OnNonzero28 ; CPU:$9C20 PRG:1C20 D0 EB + bne NmiHandler_OnNonzero34 ; CPU:$9C20 PRG:1C20 D0 EB rts ; CPU:$9C22 PRG:1C22 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C23 @@ -5091,40 +6075,40 @@ NmiHandler_Loop127: ; ----------------------------------------------------------------------------- Sub_9C23: lda Zp0A ; CPU:$9C23 PRG:1C23 A5 0A - beq NmiHandler_Loop128 ; CPU:$9C25 PRG:1C25 F0 03 + beq NmiHandler_Loop154 ; CPU:$9C25 PRG:1C25 F0 03 jmp Sub_9D6E ; CPU:$9C27 PRG:1C27 4C 6E 9D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop128 -; Global: Branch target inside NmiHandler: taken when Loop128. +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop128: - lda Zp00 ; CPU:$9C2A PRG:1C2A A5 00 +NmiHandler_Loop154: + lda PpuCtrlShadow ; CPU:$9C2A PRG:1C2A A5 00 and #$7F ; CPU:$9C2C PRG:1C2C 29 7F sta PPUCTRL ; CPU:$9C2E PRG:1C2E 8D 00 20 - sta Zp00 ; CPU:$9C31 PRG:1C31 85 00 + sta PpuCtrlShadow ; CPU:$9C31 PRG:1C31 85 00 lda #$00 ; CPU:$9C33 PRG:1C33 A9 00 - sta Zp01 ; CPU:$9C35 PRG:1C35 85 01 + sta PpuMaskShadow ; CPU:$9C35 PRG:1C35 85 01 sta PPUMASK ; CPU:$9C37 PRG:1C37 8D 01 20 jsr Sub_B5D6 ; CPU:$9C3A PRG:1C3A 20 D6 B5 ldx #$00 ; CPU:$9C3D PRG:1C3D A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero30 -; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero30: +NmiHandler_OnNonzero36: lda $B536,x ; CPU:$9C3F PRG:1C3F BD 36 B5 sta $0797,x ; CPU:$9C42 PRG:1C42 9D 97 07 inx ; CPU:$9C45 PRG:1C45 E8 cpx #$20 ; CPU:$9C46 PRG:1C46 E0 20 - bne NmiHandler_OnNonzero30 ; CPU:$9C48 PRG:1C48 D0 F5 + bne NmiHandler_OnNonzero36 ; CPU:$9C48 PRG:1C48 D0 F5 lda Zp0C ; CPU:$9C4A PRG:1C4A A5 0C asl a ; CPU:$9C4C PRG:1C4C 0A tax ; CPU:$9C4D PRG:1C4D AA @@ -5141,15 +6125,15 @@ NmiHandler_OnNonzero30: lda #$03 ; CPU:$9C6B PRG:1C6B A9 03 jsr Sub_A6D7 ; CPU:$9C6D PRG:1C6D 20 D7 A6 lda #$F8 ; CPU:$9C70 PRG:1C70 A9 F8 - sta Zp8F ; CPU:$9C72 PRG:1C72 85 8F + sta VramWritePtrLo ; CPU:$9C72 PRG:1C72 85 8F lda #$9F ; CPU:$9C74 PRG:1C74 A9 9F - sta Zp90 ; CPU:$9C76 PRG:1C76 85 90 + sta VramWritePtrHi ; CPU:$9C76 PRG:1C76 85 90 ldx #$11 ; CPU:$9C78 PRG:1C78 A2 11 jsr Sub_9C09 ; CPU:$9C7A PRG:1C7A 20 09 9C lda #$18 ; CPU:$9C7D PRG:1C7D A9 18 - sta Zp8F ; CPU:$9C7F PRG:1C7F 85 8F + sta VramWritePtrLo ; CPU:$9C7F PRG:1C7F 85 8F lda #$A2 ; CPU:$9C81 PRG:1C81 A9 A2 - sta Zp90 ; CPU:$9C83 PRG:1C83 85 90 + sta VramWritePtrHi ; CPU:$9C83 PRG:1C83 85 90 lda #$22 ; CPU:$9C85 PRG:1C85 A9 22 sta PPUADDR ; CPU:$9C87 PRG:1C87 8D 06 20 lda #$C0 ; CPU:$9C8A PRG:1C8A A9 C0 @@ -5181,9 +6165,9 @@ NmiHandler_OnNonzero30: asl a ; CPU:$9CC4 PRG:1CC4 0A tax ; CPU:$9CC5 PRG:1CC5 AA lda $8849,x ; CPU:$9CC6 PRG:1CC6 BD 49 88 - sta Zp8F ; CPU:$9CC9 PRG:1CC9 85 8F + sta VramWritePtrLo ; CPU:$9CC9 PRG:1CC9 85 8F lda $884A,x ; CPU:$9CCB PRG:1CCB BD 4A 88 - sta Zp90 ; CPU:$9CCE PRG:1CCE 85 90 + sta VramWritePtrHi ; CPU:$9CCE PRG:1CCE 85 90 ldy #$01 ; CPU:$9CD0 PRG:1CD0 A0 01 jsr Sub_9CDA ; CPU:$9CD2 PRG:1CD2 20 DA 9C lda #$02 ; CPU:$9CD5 PRG:1CD5 A9 02 @@ -5197,21 +6181,21 @@ NmiHandler_OnNonzero30: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9CDA: - lda (Zp8F),y ; CPU:$9CDA PRG:1CDA B1 8F - beq NmiHandler_Loop129 ; CPU:$9CDC PRG:1CDC F0 0A + lda (VramWritePtrLo),y ; CPU:$9CDA PRG:1CDA B1 8F + beq NmiHandler_Loop155 ; CPU:$9CDC PRG:1CDC F0 0A jsr Sub_A50E ; CPU:$9CDE PRG:1CDE 20 0E A5 sta PPUDATA ; CPU:$9CE1 PRG:1CE1 8D 07 20 iny ; CPU:$9CE4 PRG:1CE4 C8 jmp Sub_9CDA ; CPU:$9CE5 PRG:1CE5 4C DA 9C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop129 -; Global: Branch target inside NmiHandler: taken when Loop129. +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop129: +NmiHandler_Loop155: rts ; CPU:$9CE8 PRG:1CE8 60 ; ---- data $9CE9-$9D0A (34 bytes) ---- ; referenced by `lda $9CEF,x` at $83C5 (operand $9CEF falls inside this region) @@ -5236,21 +6220,102 @@ Sub_9D0B: asl a ; CPU:$9D0D PRG:1D0D 0A asl a ; CPU:$9D0E PRG:1D0E 0A asl a ; CPU:$9D0F PRG:1D0F 0A - sta Zp95 ; CPU:$9D10 PRG:1D10 85 95 + sta PlayerX ; CPU:$9D10 PRG:1D10 85 95 lda Zp0A ; CPU:$9D12 PRG:1D12 A5 0A and #$07 ; CPU:$9D14 PRG:1D14 29 07 - ora Zp95 ; CPU:$9D16 PRG:1D16 05 95 + ora PlayerX ; CPU:$9D16 PRG:1D16 05 95 tax ; CPU:$9D18 PRG:1D18 AA asl a ; CPU:$9D19 PRG:1D19 0A - sta Zp79 ; CPU:$9D1A PRG:1D1A 85 79 + sta CourseIndex ; CPU:$9D1A PRG:1D1A 85 79 rts ; CPU:$9D1C PRG:1D1C 60 -; ---- data $9D1D-$9D6D (81 bytes) ---- - .byte $A9, $00, $85, $8B, $A9, $22, $8D, $06, $20, $A9, $A9, $8D, $06, $20, $A6, $79 ; CPU:$9D1D PRG:1D1D A9 00 85 8B A9 22 8D 06 20 A9 A9 8D 06 20 A6 79 - .byte $20, $9C, $89, $A9, $00, $20, $00, $9C, $20, $38, $A3, $EE, $46, $07, $AD, $46 ; CPU:$9D2D PRG:1D2D 20 9C 89 A9 00 20 00 9C 20 38 A3 EE 46 07 AD 46 - .byte $07, $C9, $A0, $F0, $20, $29, $1F, $D0, $05, $A9, $0D, $20, $B4, $B6, $20, $4E ; CPU:$9D3D PRG:1D3D 07 C9 A0 F0 20 29 1F D0 05 A9 0D 20 B4 B6 20 4E - .byte $C4, $A6, $8B, $AD, $46, $07, $29, $1F, $C9, $18, $90, $02, $A2, $00, $8A, $20 ; CPU:$9D4D PRG:1D4D C4 A6 8B AD 46 07 29 1F C9 18 90 02 A2 00 8A 20 - .byte $AC, $B4, $4C, $5F, $9D, $A9, $00, $20, $AC, $B4, $A9, $08, $85, $02, $4C, $6B ; CPU:$9D5D PRG:1D5D AC B4 4C 5F 9D A9 00 20 AC B4 A9 08 85 02 4C 6B - .byte $9D ; CPU:$9D6D PRG:1D6D 9D +; ----------------------------------------------------------------------------- +; Routine: Label_9D1D +; Global: Branch target inside Label: taken when 9D1D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D1D: + lda #$00 ; CPU:$9D1D PRG:1D1D A9 00 + sta Zp8B ; CPU:$9D1F PRG:1D1F 85 8B + lda #$22 ; CPU:$9D21 PRG:1D21 A9 22 + sta PPUADDR ; CPU:$9D23 PRG:1D23 8D 06 20 + lda #$A9 ; CPU:$9D26 PRG:1D26 A9 A9 + sta PPUADDR ; CPU:$9D28 PRG:1D28 8D 06 20 + ldx CourseIndex ; CPU:$9D2B PRG:1D2B A6 79 + jsr Sub_899C ; CPU:$9D2D PRG:1D2D 20 9C 89 + lda #$00 ; CPU:$9D30 PRG:1D30 A9 00 + jsr Sub_9C00 ; CPU:$9D32 PRG:1D32 20 00 9C + jsr Sub_A338 ; CPU:$9D35 PRG:1D35 20 38 A3 + inc $0746 ; CPU:$9D38 PRG:1D38 EE 46 07 + lda $0746 ; CPU:$9D3B PRG:1D3B AD 46 07 + cmp #$A0 ; CPU:$9D3E PRG:1D3E C9 A0 + beq NmiHandler_Loop158 ; CPU:$9D40 PRG:1D40 F0 20 + and #$1F ; CPU:$9D42 PRG:1D42 29 1F + bne NmiHandler_Loop156 ; CPU:$9D44 PRG:1D44 D0 05 + lda #$0D ; CPU:$9D46 PRG:1D46 A9 0D + jsr Sub_B6B4 ; CPU:$9D48 PRG:1D48 20 B4 B6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + jsr Sub_C44E ; CPU:$9D4B PRG:1D4B 20 4E C4 + ldx Zp8B ; CPU:$9D4E PRG:1D4E A6 8B + lda $0746 ; CPU:$9D50 PRG:1D50 AD 46 07 + and #$1F ; CPU:$9D53 PRG:1D53 29 1F + cmp #$18 ; CPU:$9D55 PRG:1D55 C9 18 + bcc NmiHandler_Loop157 ; CPU:$9D57 PRG:1D57 90 02 + ldx #$00 ; CPU:$9D59 PRG:1D59 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + txa ; CPU:$9D5B PRG:1D5B 8A + jsr Sub_B4AC ; CPU:$9D5C PRG:1D5C 20 AC B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_9D5F +; Global: Branch target inside Sub: taken when 9D5F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D5F: + jmp Sub_9D5F ; CPU:$9D5F PRG:1D5F 4C 5F 9D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + lda #$00 ; CPU:$9D62 PRG:1D62 A9 00 + jsr Sub_B4AC ; CPU:$9D64 PRG:1D64 20 AC B4 + lda #$08 ; CPU:$9D67 PRG:1D67 A9 08 + sta Zp02 ; CPU:$9D69 PRG:1D69 85 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_9D6B +; Global: Branch target inside Sub: taken when 9D6B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D6B: + jmp Sub_9D6B ; CPU:$9D6B PRG:1D6B 4C 6B 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_9D6E ; Global: Branch target inside Sub: taken when 9D6E. @@ -5262,10 +6327,10 @@ Sub_9D0B: Sub_9D6E: lda #$18 ; CPU:$9D6E PRG:1D6E A9 18 sta PPUCTRL ; CPU:$9D70 PRG:1D70 8D 00 20 - sta Zp00 ; CPU:$9D73 PRG:1D73 85 00 + sta PpuCtrlShadow ; CPU:$9D73 PRG:1D73 85 00 lda #$00 ; CPU:$9D75 PRG:1D75 A9 00 sta PPUMASK ; CPU:$9D77 PRG:1D77 8D 01 20 - sta Zp01 ; CPU:$9D7A PRG:1D7A 85 01 + sta PpuMaskShadow ; CPU:$9D7A PRG:1D7A 85 01 jsr Sub_B5D8 ; CPU:$9D7C PRG:1D7C 20 D8 B5 ldx #$F6 ; CPU:$9D7F PRG:1D7F A2 F6 ldy #$B4 ; CPU:$9D81 PRG:1D81 A0 B4 @@ -5286,17 +6351,17 @@ Sub_9D6E: jsr Sub_9E11 ; CPU:$9DA7 PRG:1DA7 20 11 9E ldy #$07 ; CPU:$9DAA PRG:1DAA A0 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero31 -; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero31: +NmiHandler_OnNonzero37: jsr Sub_9E2C ; CPU:$9DAC PRG:1DAC 20 2C 9E dey ; CPU:$9DAF PRG:1DAF 88 - bne NmiHandler_OnNonzero31 ; CPU:$9DB0 PRG:1DB0 D0 FA + bne NmiHandler_OnNonzero37 ; CPU:$9DB0 PRG:1DB0 D0 FA jsr Sub_9E43 ; CPU:$9DB2 PRG:1DB2 20 43 9E lda #$00 ; CPU:$9DB5 PRG:1DB5 A9 00 jsr Sub_A6D7 ; CPU:$9DB7 PRG:1DB7 20 D7 A6 @@ -5304,17 +6369,17 @@ NmiHandler_OnNonzero31: jsr Sub_9E11 ; CPU:$9DBD PRG:1DBD 20 11 9E ldy #$04 ; CPU:$9DC0 PRG:1DC0 A0 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero32 -; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero32: +NmiHandler_OnNonzero38: jsr Sub_9E2C ; CPU:$9DC2 PRG:1DC2 20 2C 9E dey ; CPU:$9DC5 PRG:1DC5 88 - bne NmiHandler_OnNonzero32 ; CPU:$9DC6 PRG:1DC6 D0 FA + bne NmiHandler_OnNonzero38 ; CPU:$9DC6 PRG:1DC6 D0 FA jsr Sub_9E43 ; CPU:$9DC8 PRG:1DC8 20 43 9E ldx #$5A ; CPU:$9DCB PRG:1DCB A2 5A ldy #$9E ; CPU:$9DCD PRG:1DCD A0 9E @@ -5332,17 +6397,17 @@ NmiHandler_OnNonzero32: sta PPUDATA ; CPU:$9DE5 PRG:1DE5 8D 07 20 lda $0735 ; CPU:$9DE8 PRG:1DE8 AD 35 07 cmp #$64 ; CPU:$9DEB PRG:1DEB C9 64 - bcc NmiHandler_Loop130 ; CPU:$9DED PRG:1DED 90 02 + bcc NmiHandler_Loop159 ; CPU:$9DED PRG:1DED 90 02 lda #$63 ; CPU:$9DEF PRG:1DEF A9 63 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop130 -; Global: Branch target inside NmiHandler: taken when Loop130. +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop130: +NmiHandler_Loop159: sta $0735 ; CPU:$9DF1 PRG:1DF1 8D 35 07 jsr Sub_9EAE ; CPU:$9DF4 PRG:1DF4 20 AE 9E jsr Sub_9EBC ; CPU:$9DF7 PRG:1DF7 20 BC 9E @@ -5369,7 +6434,7 @@ Sub_9E11: sta PPUDATA ; CPU:$9E16 PRG:1E16 8D 07 20 lda #$35 ; CPU:$9E19 PRG:1E19 A9 35 ldx #$18 ; CPU:$9E1B PRG:1E1B A2 18 - jsr NmiHandler_OnNonzero37 ; CPU:$9E1D PRG:1E1D 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$9E1D PRG:1E1D 20 D9 A6 lda #$36 ; CPU:$9E20 PRG:1E20 A9 36 sta PPUDATA ; CPU:$9E22 PRG:1E22 8D 07 20 ; ----------------------------------------------------------------------------- @@ -5383,7 +6448,7 @@ Sub_9E11: Sub_9E25: lda #$00 ; CPU:$9E25 PRG:1E25 A9 00 ldx #$03 ; CPU:$9E27 PRG:1E27 A2 03 - jmp NmiHandler_OnNonzero37 ; CPU:$9E29 PRG:1E29 4C D9 A6 + jmp NmiHandler_OnNonzero43 ; CPU:$9E29 PRG:1E29 4C D9 A6 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E2C ; Global: Branch target inside Sub: taken when 9E2C. @@ -5398,7 +6463,7 @@ Sub_9E2C: sta PPUDATA ; CPU:$9E31 PRG:1E31 8D 07 20 lda #$00 ; CPU:$9E34 PRG:1E34 A9 00 ldx #$18 ; CPU:$9E36 PRG:1E36 A2 18 - jsr NmiHandler_OnNonzero37 ; CPU:$9E38 PRG:1E38 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$9E38 PRG:1E38 20 D9 A6 lda #$37 ; CPU:$9E3B PRG:1E3B A9 37 sta PPUDATA ; CPU:$9E3D PRG:1E3D 8D 07 20 jmp Sub_9E25 ; CPU:$9E40 PRG:1E40 4C 25 9E @@ -5416,7 +6481,7 @@ Sub_9E43: sta PPUDATA ; CPU:$9E48 PRG:1E48 8D 07 20 lda #$35 ; CPU:$9E4B PRG:1E4B A9 35 ldx #$18 ; CPU:$9E4D PRG:1E4D A2 18 - jsr NmiHandler_OnNonzero37 ; CPU:$9E4F PRG:1E4F 20 D9 A6 + jsr NmiHandler_OnNonzero43 ; CPU:$9E4F PRG:1E4F 20 D9 A6 lda #$3A ; CPU:$9E52 PRG:1E52 A9 3A sta PPUDATA ; CPU:$9E54 PRG:1E54 8D 07 20 jmp Sub_9E25 ; CPU:$9E57 PRG:1E57 4C 25 9E @@ -5437,9 +6502,9 @@ Sub_9E43: ; ----------------------------------------------------------------------------- Sub_9EAE: lda #$21 ; CPU:$9EAE PRG:1EAE A9 21 - sta Zp92 ; CPU:$9EB0 PRG:1EB0 85 92 + sta DispatchPtrHi ; CPU:$9EB0 PRG:1EB0 85 92 lda #$38 ; CPU:$9EB2 PRG:1EB2 A9 38 - sta Zp91 ; CPU:$9EB4 PRG:1EB4 85 91 + sta DispatchPtrLo ; CPU:$9EB4 PRG:1EB4 85 91 lda $0733 ; CPU:$9EB6 PRG:1EB6 AD 33 07 jmp Sub_9ED5 ; CPU:$9EB9 PRG:1EB9 4C D5 9E ; ----------------------------------------------------------------------------- @@ -5452,9 +6517,9 @@ Sub_9EAE: ; ----------------------------------------------------------------------------- Sub_9EBC: lda #$21 ; CPU:$9EBC PRG:1EBC A9 21 - sta Zp92 ; CPU:$9EBE PRG:1EBE 85 92 + sta DispatchPtrHi ; CPU:$9EBE PRG:1EBE 85 92 lda #$98 ; CPU:$9EC0 PRG:1EC0 A9 98 - sta Zp91 ; CPU:$9EC2 PRG:1EC2 85 91 + sta DispatchPtrLo ; CPU:$9EC2 PRG:1EC2 85 91 lda $0735 ; CPU:$9EC4 PRG:1EC4 AD 35 07 jmp Sub_9ED5 ; CPU:$9EC7 PRG:1EC7 4C D5 9E ; ----------------------------------------------------------------------------- @@ -5467,9 +6532,9 @@ Sub_9EBC: ; ----------------------------------------------------------------------------- Sub_9ECA: lda #$22 ; CPU:$9ECA PRG:1ECA A9 22 - sta Zp92 ; CPU:$9ECC PRG:1ECC 85 92 + sta DispatchPtrHi ; CPU:$9ECC PRG:1ECC 85 92 lda #$98 ; CPU:$9ECE PRG:1ECE A9 98 - sta Zp91 ; CPU:$9ED0 PRG:1ED0 85 91 + sta DispatchPtrLo ; CPU:$9ED0 PRG:1ED0 85 91 lda $0739 ; CPU:$9ED2 PRG:1ED2 AD 39 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_9ED5 @@ -5481,9 +6546,9 @@ Sub_9ECA: ; ----------------------------------------------------------------------------- Sub_9ED5: tay ; CPU:$9ED5 PRG:1ED5 A8 - lda Zp92 ; CPU:$9ED6 PRG:1ED6 A5 92 + lda DispatchPtrHi ; CPU:$9ED6 PRG:1ED6 A5 92 sta PPUADDR ; CPU:$9ED8 PRG:1ED8 8D 06 20 - lda Zp91 ; CPU:$9EDB PRG:1EDB A5 91 + lda DispatchPtrLo ; CPU:$9EDB PRG:1EDB A5 91 sta PPUADDR ; CPU:$9EDD PRG:1EDD 8D 06 20 lda $986B,y ; CPU:$9EE0 PRG:1EE0 B9 6B 98 lsr a ; CPU:$9EE3 PRG:1EE3 4A @@ -5494,31 +6559,52 @@ Sub_9ED5: lda $A4C9,x ; CPU:$9EE9 PRG:1EE9 BD C9 A4 sta PPUDATA ; CPU:$9EEC PRG:1EEC 8D 07 20 lda $A4CA,x ; CPU:$9EEF PRG:1EEF BD CA A4 - sta Zp95 ; CPU:$9EF2 PRG:1EF2 85 95 + sta PlayerX ; CPU:$9EF2 PRG:1EF2 85 95 lda $986B,y ; CPU:$9EF4 PRG:1EF4 B9 6B 98 asl a ; CPU:$9EF7 PRG:1EF7 0A and #$1E ; CPU:$9EF8 PRG:1EF8 29 1E tax ; CPU:$9EFA PRG:1EFA AA lda $A4C9,x ; CPU:$9EFB PRG:1EFB BD C9 A4 sta PPUDATA ; CPU:$9EFE PRG:1EFE 8D 07 20 - lda Zp91 ; CPU:$9F01 PRG:1F01 A5 91 + lda DispatchPtrLo ; CPU:$9F01 PRG:1F01 A5 91 clc ; CPU:$9F03 PRG:1F03 18 adc #$20 ; CPU:$9F04 PRG:1F04 69 20 - sta Zp91 ; CPU:$9F06 PRG:1F06 85 91 - lda Zp92 ; CPU:$9F08 PRG:1F08 A5 92 + sta DispatchPtrLo ; CPU:$9F06 PRG:1F06 85 91 + lda DispatchPtrHi ; CPU:$9F08 PRG:1F08 A5 92 adc #$00 ; CPU:$9F0A PRG:1F0A 69 00 sta PPUADDR ; CPU:$9F0C PRG:1F0C 8D 06 20 - lda Zp91 ; CPU:$9F0F PRG:1F0F A5 91 + lda DispatchPtrLo ; CPU:$9F0F PRG:1F0F A5 91 sta PPUADDR ; CPU:$9F11 PRG:1F11 8D 06 20 - lda Zp95 ; CPU:$9F14 PRG:1F14 A5 95 + lda PlayerX ; CPU:$9F14 PRG:1F14 A5 95 sta PPUDATA ; CPU:$9F16 PRG:1F16 8D 07 20 lda $A4CA,x ; CPU:$9F19 PRG:1F19 BD CA A4 sta PPUDATA ; CPU:$9F1C PRG:1F1C 8D 07 20 rts ; CPU:$9F1F PRG:1F1F 60 -; ---- data $9F20-$9F45 (38 bytes) ---- - .byte $CE, $94, $07, $AD, $94, $07, $29, $03, $D0, $24, $AD, $96, $07, $0A, $AA, $BD ; CPU:$9F20 PRG:1F20 CE 94 07 AD 94 07 29 03 D0 24 AD 96 07 0A AA BD - .byte $3C, $9F, $85, $91, $BD, $3D, $9F, $85, $92, $6C, $91, $00, $46, $9F, $70, $9F ; CPU:$9F30 PRG:1F30 3C 9F 85 91 BD 3D 9F 85 92 6C 91 00 46 9F 70 9F - .byte $46, $9F, $8C, $9F, $46, $9F ; CPU:$9F40 PRG:1F40 46 9F 8C 9F 46 9F +; ----------------------------------------------------------------------------- +; Routine: Label_9F20 +; Global: Branch target inside Label: taken when 9F20. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9F20: + dec $0794 ; CPU:$9F20 PRG:1F20 CE 94 07 + lda $0794 ; CPU:$9F23 PRG:1F23 AD 94 07 + and #$03 ; CPU:$9F26 PRG:1F26 29 03 + bne NmiHandler_Loop160 ; CPU:$9F28 PRG:1F28 D0 24 + lda $0796 ; CPU:$9F2A PRG:1F2A AD 96 07 + asl a ; CPU:$9F2D PRG:1F2D 0A + tax ; CPU:$9F2E PRG:1F2E AA + lda $9F3C,x ; CPU:$9F2F PRG:1F2F BD 3C 9F + sta DispatchPtrLo ; CPU:$9F32 PRG:1F32 85 91 + lda $9F3D,x ; CPU:$9F34 PRG:1F34 BD 3D 9F + sta DispatchPtrHi ; CPU:$9F37 PRG:1F37 85 92 + jmp (DispatchPtrLo) ; CPU:$9F39 PRG:1F39 6C 91 00 +; ---- data $9F3C-$9F45 (10 bytes) ---- +; referenced by `lda $9F3C,x` at $9F2F (operand $9F3C falls inside this region) +; referenced by `lda $9F3D,x` at $9F34 (operand $9F3D falls inside this region) + .byte $46, $9F, $70, $9F, $46, $9F, $8C, $9F, $46, $9F ; CPU:$9F3C PRG:1F3C 46 9F 70 9F 46 9F 8C 9F 46 9F ; ----------------------------------------------------------------------------- ; Routine: Label_9F46 ; Global: Branch target inside Label: taken when 9F46. @@ -5529,77 +6615,134 @@ Sub_9ED5: ; ----------------------------------------------------------------------------- Label_9F46: dec $0795 ; CPU:$9F46 PRG:1F46 CE 95 07 - bne NmiHandler_Loop131 ; CPU:$9F49 PRG:1F49 D0 03 + bne NmiHandler_Loop160 ; CPU:$9F49 PRG:1F49 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9F4B +; Global: Branch target inside Sub: taken when 9F4B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9F4B: inc $0796 ; CPU:$9F4B PRG:1F4B EE 96 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop131 -; Global: Branch target inside NmiHandler: taken when Loop131. +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop131: +NmiHandler_Loop160: lda #$00 ; CPU:$9F4E PRG:1F4E A9 00 jsr Sub_9C00 ; CPU:$9F50 PRG:1F50 20 00 9C jsr Sub_C44E ; CPU:$9F53 PRG:1F53 20 4E C4 lda Zp03 ; CPU:$9F56 PRG:1F56 A5 03 - beq NmiHandler_Loop132 ; CPU:$9F58 PRG:1F58 F0 09 + beq NmiHandler_Loop161 ; CPU:$9F58 PRG:1F58 F0 09 lda #$00 ; CPU:$9F5A PRG:1F5A A9 00 sta Zp03 ; CPU:$9F5C PRG:1F5C 85 03 lda #$01 ; CPU:$9F5E PRG:1F5E A9 01 jsr Sub_B6B4 ; CPU:$9F60 PRG:1F60 20 B4 B6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop132 -; Global: Branch target inside NmiHandler: taken when Loop132. +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop132: +NmiHandler_Loop161: lda $0796 ; CPU:$9F63 PRG:1F63 AD 96 07 cmp #$05 ; CPU:$9F66 PRG:1F66 C9 05 - bne NmiHandler_Loop133 ; CPU:$9F68 PRG:1F68 D0 03 - jmp NmiHandler_Loop128 ; CPU:$9F6A PRG:1F6A 4C 2A 9C + bne NmiHandler_Loop162 ; CPU:$9F68 PRG:1F68 D0 03 + jmp NmiHandler_Loop154 ; CPU:$9F6A PRG:1F6A 4C 2A 9C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop133 -; Global: Branch target inside NmiHandler: taken when Loop133. +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop133: - jmp NmiHandler_Loop133 ; CPU:$9F6D PRG:1F6D 4C 6D 9F -; ---- data $9F70-$9F9C (45 bytes) ---- - .byte $AD, $33, $07, $F0, $0F, $CE, $33, $07, $20, $9D, $9F, $20, $AE, $9E, $20, $CA ; CPU:$9F70 PRG:1F70 AD 33 07 F0 0F CE 33 07 20 9D 9F 20 AE 9E 20 CA - .byte $9E, $4C, $4E, $9F, $A9, $14, $8D, $95, $07, $4C, $4B, $9F, $AD, $35, $07, $F0 ; CPU:$9F80 PRG:1F80 9E 4C 4E 9F A9 14 8D 95 07 4C 4B 9F AD 35 07 F0 - .byte $F3, $CE, $35, $07, $20, $9D, $9F, $20, $BC, $9E, $4C, $7E, $9F ; CPU:$9F90 PRG:1F90 F3 CE 35 07 20 9D 9F 20 BC 9E 4C 7E 9F +NmiHandler_Loop162: + jmp NmiHandler_Loop162 ; CPU:$9F6D PRG:1F6D 4C 6D 9F ; ----------------------------------------------------------------------------- -; Routine: Label_9F9D -; Global: Branch target inside Label: taken when 9F9D. +; Routine: Label_9F70 +; Global: Branch target inside Label: taken when 9F70. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_9F9D: - lda $0739 ; CPU:$9F9D PRG:1F9D AD 39 07 - clc ; CPU:$9FA0 PRG:1FA0 18 - adc #$01 ; CPU:$9FA1 PRG:1FA1 69 01 - cmp #$63 ; CPU:$9FA3 PRG:1FA3 C9 63 - bcc NmiHandler_Loop134 ; CPU:$9FA5 PRG:1FA5 90 02 - lda #$63 ; CPU:$9FA7 PRG:1FA7 A9 63 +Label_9F70: + lda $0733 ; CPU:$9F70 PRG:1F70 AD 33 07 + beq NmiHandler_OnZero4 ; CPU:$9F73 PRG:1F73 F0 0F + dec $0733 ; CPU:$9F75 PRG:1F75 CE 33 07 + jsr Sub_9F9D ; CPU:$9F78 PRG:1F78 20 9D 9F + jsr Sub_9EAE ; CPU:$9F7B PRG:1F7B 20 AE 9E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop134 -; Global: Branch target inside NmiHandler: taken when Loop134. +; Routine: Sub_9F7E +; Global: Branch target inside Sub: taken when 9F7E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9F7E: + jsr Sub_9ECA ; CPU:$9F7E PRG:1F7E 20 CA 9E + jmp NmiHandler_Loop160 ; CPU:$9F81 PRG:1F81 4C 4E 9F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop134: +NmiHandler_OnZero4: + lda #$14 ; CPU:$9F84 PRG:1F84 A9 14 + sta $0795 ; CPU:$9F86 PRG:1F86 8D 95 07 + jmp Sub_9F4B ; CPU:$9F89 PRG:1F89 4C 4B 9F +; ----------------------------------------------------------------------------- +; Routine: Label_9F8C +; Global: Branch target inside Label: taken when 9F8C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9F8C: + lda $0735 ; CPU:$9F8C PRG:1F8C AD 35 07 + beq NmiHandler_OnZero4 ; CPU:$9F8F PRG:1F8F F0 F3 + dec $0735 ; CPU:$9F91 PRG:1F91 CE 35 07 + jsr Sub_9F9D ; CPU:$9F94 PRG:1F94 20 9D 9F + jsr Sub_9EBC ; CPU:$9F97 PRG:1F97 20 BC 9E + jmp Sub_9F7E ; CPU:$9F9A PRG:1F9A 4C 7E 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_9F9D +; Global: Branch target inside Sub: taken when 9F9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9F9D: + lda $0739 ; CPU:$9F9D PRG:1F9D AD 39 07 + clc ; CPU:$9FA0 PRG:1FA0 18 + adc #$01 ; CPU:$9FA1 PRG:1FA1 69 01 + cmp #$63 ; CPU:$9FA3 PRG:1FA3 C9 63 + bcc NmiHandler_Loop163 ; CPU:$9FA5 PRG:1FA5 90 02 + lda #$63 ; CPU:$9FA7 PRG:1FA7 A9 63 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: sta $0739 ; CPU:$9FA9 PRG:1FA9 8D 39 07 lda #$01 ; CPU:$9FAC PRG:1FAC A9 01 sta Zp03 ; CPU:$9FAE PRG:1FAE 85 03 @@ -5613,7 +6756,7 @@ NmiHandler_Loop134: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FB1: - sta Zp95 ; CPU:$9FB1 PRG:1FB1 85 95 + sta PlayerX ; CPU:$9FB1 PRG:1FB1 85 95 lsr a ; CPU:$9FB3 PRG:1FB3 4A lsr a ; CPU:$9FB4 PRG:1FB4 4A lsr a ; CPU:$9FB5 PRG:1FB5 4A @@ -5630,7 +6773,7 @@ Sub_9FB1: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9FBD: - lda Zp95 ; CPU:$9FBD PRG:1FBD A5 95 + lda PlayerX ; CPU:$9FBD PRG:1FBD A5 95 and #$0F ; CPU:$9FBF PRG:1FBF 29 0F clc ; CPU:$9FC1 PRG:1FC1 18 adc #$04 ; CPU:$9FC2 PRG:1FC2 69 04 @@ -5639,7 +6782,11 @@ Sub_9FBD: ; ---- data $9FC8-$A337 (880 bytes) ---- ; referenced by `lda $9FC8,x` at $8A21 (operand $9FC8 falls inside this region) ; referenced by `lda $9FC9,x` at $8A27 (operand $9FC9 falls inside this region) -; referenced by `lda $A298,x` at $A88D (operand $A298 falls inside this region) +; referenced by `lda $9FC9,x` at $8A33 (operand $9FC9 falls inside this region) +; referenced by `lda $9FC8,x` at $8A41 (operand $9FC8 falls inside this region) +; referenced by `lda $9FC9,x` at $8A4F (operand $9FC9 falls inside this region) +; referenced by `lda $9FC8,x` at $8A5F (operand $9FC8 falls inside this region) +; ... and 1 further references from decoded code .byte $01, $19, $01, $32, $01, $28, $01, $0F, $01, $37, $02, $1E, $02, $0F, $02, $0A ; CPU:$9FC8 PRG:1FC8 01 19 01 32 01 28 01 0F 01 37 02 1E 02 0F 02 0A .byte $01, $05, $01, $23, $01, $19, $01, $0A, $01, $32, $02, $14, $02, $0A, $02, $00 ; CPU:$9FD8 PRG:1FD8 01 05 01 23 01 19 01 0A 01 32 02 14 02 0A 02 00 .byte $01, $1E, $02, $0A, $01, $14, $01, $00, $01, $28, $03, $00, $02, $00, $02, $05 ; CPU:$9FE8 PRG:1FE8 01 1E 02 0A 01 14 01 00 01 28 03 00 02 00 02 05 @@ -5696,24 +6843,24 @@ Sub_9FBD: .byte $55, $55, $55, $55, $55, $55, $55, $55, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0 ; CPU:$A318 PRG:2318 55 55 55 55 55 55 55 55 F0 F0 F0 F0 F0 F0 F0 F0 .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A328 PRG:2328 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00 ; ----------------------------------------------------------------------------- -; Routine: Label_A338 -; Global: Branch target inside Label: taken when A338. -; Local: Part of Label. +; Routine: Sub_A338 +; Global: Branch target inside Sub: taken when A338. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_A338: - ldx Zp79 ; CPU:$A338 PRG:2338 A6 79 +Sub_A338: + ldx CourseIndex ; CPU:$A338 PRG:2338 A6 79 lda $D81A,x ; CPU:$A33A PRG:233A BD 1A D8 - sta Zp8F ; CPU:$A33D PRG:233D 85 8F + sta VramWritePtrLo ; CPU:$A33D PRG:233D 85 8F lda $D81B,x ; CPU:$A33F PRG:233F BD 1B D8 - sta Zp90 ; CPU:$A342 PRG:2342 85 90 + sta VramWritePtrHi ; CPU:$A342 PRG:2342 85 90 ldy #$00 ; CPU:$A344 PRG:2344 A0 00 - lda (Zp8F),y ; CPU:$A346 PRG:2346 B1 8F + lda (VramWritePtrLo),y ; CPU:$A346 PRG:2346 B1 8F iny ; CPU:$A348 PRG:2348 C8 sta Zp64 ; CPU:$A349 PRG:2349 85 64 - lda (Zp8F),y ; CPU:$A34B PRG:234B B1 8F + lda (VramWritePtrLo),y ; CPU:$A34B PRG:234B B1 8F iny ; CPU:$A34D PRG:234D C8 sta Zp66 ; CPU:$A34E PRG:234E 85 66 ; ----------------------------------------------------------------------------- @@ -5725,23 +6872,23 @@ Label_A338: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A350: - lda (Zp8F),y ; CPU:$A350 PRG:2350 B1 8F + lda (VramWritePtrLo),y ; CPU:$A350 PRG:2350 B1 8F iny ; CPU:$A352 PRG:2352 C8 cmp #$80 ; CPU:$A353 PRG:2353 C9 80 - beq NmiHandler_Loop135 ; CPU:$A355 PRG:2355 F0 26 + beq NmiHandler_Loop164 ; CPU:$A355 PRG:2355 F0 26 clc ; CPU:$A357 PRG:2357 18 adc Zp66 ; CPU:$A358 PRG:2358 65 66 sta Zp66 ; CPU:$A35A PRG:235A 85 66 sta $03FD,y ; CPU:$A35C PRG:235C 99 FD 03 - lda (Zp8F),y ; CPU:$A35F PRG:235F B1 8F + lda (VramWritePtrLo),y ; CPU:$A35F PRG:235F B1 8F iny ; CPU:$A361 PRG:2361 C8 tax ; CPU:$A362 PRG:2362 AA lda $A380,x ; CPU:$A363 PRG:2363 BD 80 A3 sta $03FD,y ; CPU:$A366 PRG:2366 99 FD 03 - lda (Zp8F),y ; CPU:$A369 PRG:2369 B1 8F + lda (VramWritePtrLo),y ; CPU:$A369 PRG:2369 B1 8F iny ; CPU:$A36B PRG:236B C8 sta $03FD,y ; CPU:$A36C PRG:236C 99 FD 03 - lda (Zp8F),y ; CPU:$A36F PRG:236F B1 8F + lda (VramWritePtrLo),y ; CPU:$A36F PRG:236F B1 8F iny ; CPU:$A371 PRG:2371 C8 clc ; CPU:$A372 PRG:2372 18 adc Zp64 ; CPU:$A373 PRG:2373 65 64 @@ -5749,14 +6896,14 @@ Sub_A350: sta $03FD,y ; CPU:$A377 PRG:2377 99 FD 03 jmp Sub_A350 ; CPU:$A37A PRG:237A 4C 50 A3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop135 -; Global: Branch target inside NmiHandler: taken when Loop135. +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop135: +NmiHandler_Loop164: sty Zp8B ; CPU:$A37D PRG:237D 84 8B rts ; CPU:$A37F PRG:237F 60 ; ---- data $A380-$A38B (12 bytes) ---- @@ -5772,9 +6919,9 @@ NmiHandler_Loop135: ; ----------------------------------------------------------------------------- Sub_A38C: lda $0793 ; CPU:$A38C PRG:238C AD 93 07 - beq NmiHandler_Loop136 ; CPU:$A38F PRG:238F F0 24 + beq NmiHandler_Loop165 ; CPU:$A38F PRG:238F F0 24 lda Zp69 ; CPU:$A391 PRG:2391 A5 69 - bne NmiHandler_Loop136 ; CPU:$A393 PRG:2393 D0 20 + bne NmiHandler_Loop165 ; CPU:$A393 PRG:2393 D0 20 lda #$20 ; CPU:$A395 PRG:2395 A9 20 sta PPUADDR ; CPU:$A397 PRG:2397 8D 06 20 lda #$47 ; CPU:$A39A PRG:239A A9 47 @@ -5787,58 +6934,58 @@ Sub_A38C: sta PPUDATA ; CPU:$A3A8 PRG:23A8 8D 07 20 lda #$A7 ; CPU:$A3AB PRG:23AB A9 A7 sta PPUDATA ; CPU:$A3AD PRG:23AD 8D 07 20 - lda Zp79 ; CPU:$A3B0 PRG:23B0 A5 79 + lda CourseIndex ; CPU:$A3B0 PRG:23B0 A5 79 jmp Sub_899B ; CPU:$A3B2 PRG:23B2 4C 9B 89 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop136 -; Global: Branch target inside NmiHandler: taken when Loop136. +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop136: +NmiHandler_Loop165: lda #$20 ; CPU:$A3B5 PRG:23B5 A9 20 sta PPUADDR ; CPU:$A3B7 PRG:23B7 8D 06 20 lda #$23 ; CPU:$A3BA PRG:23BA A9 23 sta PPUADDR ; CPU:$A3BC PRG:23BC 8D 06 20 lda Zp83 ; CPU:$A3BF PRG:23BF A5 83 - bne NmiHandler_Loop137 ; CPU:$A3C1 PRG:23C1 D0 18 + bne NmiHandler_Loop166 ; CPU:$A3C1 PRG:23C1 D0 18 ldx #$14 ; CPU:$A3C3 PRG:23C3 A2 14 lda $A4C9,x ; CPU:$A3C5 PRG:23C5 BD C9 A4 sta PPUDATA ; CPU:$A3C8 PRG:23C8 8D 07 20 lda $A4CA,x ; CPU:$A3CB PRG:23CB BD CA A4 - sta Zp8F ; CPU:$A3CE PRG:23CE 85 8F + sta VramWritePtrLo ; CPU:$A3CE PRG:23CE 85 8F lda Zp84 ; CPU:$A3D0 PRG:23D0 A5 84 and #$F0 ; CPU:$A3D2 PRG:23D2 29 F0 - bne NmiHandler_Loop138 ; CPU:$A3D4 PRG:23D4 D0 14 + bne NmiHandler_Loop167 ; CPU:$A3D4 PRG:23D4 D0 14 ldx #$14 ; CPU:$A3D6 PRG:23D6 A2 14 jmp Sub_A3F0 ; CPU:$A3D8 PRG:23D8 4C F0 A3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop137 -; Global: Branch target inside NmiHandler: taken when Loop137. +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop137: +NmiHandler_Loop166: asl a ; CPU:$A3DB PRG:23DB 0A tax ; CPU:$A3DC PRG:23DC AA lda $A4C9,x ; CPU:$A3DD PRG:23DD BD C9 A4 sta PPUDATA ; CPU:$A3E0 PRG:23E0 8D 07 20 lda $A4CA,x ; CPU:$A3E3 PRG:23E3 BD CA A4 - sta Zp8F ; CPU:$A3E6 PRG:23E6 85 8F + sta VramWritePtrLo ; CPU:$A3E6 PRG:23E6 85 8F lda Zp84 ; CPU:$A3E8 PRG:23E8 A5 84 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop138 -; Global: Branch target inside NmiHandler: taken when Loop138. +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop138: +NmiHandler_Loop167: lsr a ; CPU:$A3EA PRG:23EA 4A lsr a ; CPU:$A3EB PRG:23EB 4A lsr a ; CPU:$A3EC PRG:23EC 4A @@ -5856,7 +7003,7 @@ Sub_A3F0: lda $A4C9,x ; CPU:$A3F0 PRG:23F0 BD C9 A4 sta PPUDATA ; CPU:$A3F3 PRG:23F3 8D 07 20 lda $A4CA,x ; CPU:$A3F6 PRG:23F6 BD CA A4 - sta Zp90 ; CPU:$A3F9 PRG:23F9 85 90 + sta VramWritePtrHi ; CPU:$A3F9 PRG:23F9 85 90 lda Zp84 ; CPU:$A3FB PRG:23FB A5 84 asl a ; CPU:$A3FD PRG:23FD 0A and #$1E ; CPU:$A3FE PRG:23FE 29 1E @@ -5864,22 +7011,22 @@ Sub_A3F0: lda $A4C9,x ; CPU:$A401 PRG:2401 BD C9 A4 sta PPUDATA ; CPU:$A404 PRG:2404 8D 07 20 lda $A4CA,x ; CPU:$A407 PRG:2407 BD CA A4 - sta Zp91 ; CPU:$A40A PRG:240A 85 91 + sta DispatchPtrLo ; CPU:$A40A PRG:240A 85 91 lda #$20 ; CPU:$A40C PRG:240C A9 20 sta PPUADDR ; CPU:$A40E PRG:240E 8D 06 20 lda #$43 ; CPU:$A411 PRG:2411 A9 43 sta PPUADDR ; CPU:$A413 PRG:2413 8D 06 20 - lda Zp8F ; CPU:$A416 PRG:2416 A5 8F + lda VramWritePtrLo ; CPU:$A416 PRG:2416 A5 8F sta PPUDATA ; CPU:$A418 PRG:2418 8D 07 20 - lda Zp90 ; CPU:$A41B PRG:241B A5 90 + lda VramWritePtrHi ; CPU:$A41B PRG:241B A5 90 sta PPUDATA ; CPU:$A41D PRG:241D 8D 07 20 - lda Zp91 ; CPU:$A420 PRG:2420 A5 91 + lda DispatchPtrLo ; CPU:$A420 PRG:2420 A5 91 sta PPUDATA ; CPU:$A422 PRG:2422 8D 07 20 lda #$20 ; CPU:$A425 PRG:2425 A9 20 sta PPUADDR ; CPU:$A427 PRG:2427 8D 06 20 lda #$37 ; CPU:$A42A PRG:242A A9 37 sta PPUADDR ; CPU:$A42C PRG:242C 8D 06 20 - ldy Zp7D ; CPU:$A42F PRG:242F A4 7D + ldy SkierX ; CPU:$A42F PRG:242F A4 7D lda $986B,y ; CPU:$A431 PRG:2431 B9 6B 98 asl a ; CPU:$A434 PRG:2434 0A and #$1E ; CPU:$A435 PRG:2435 29 1E @@ -5887,10 +7034,10 @@ Sub_A3F0: lda $A4C9,x ; CPU:$A438 PRG:2438 BD C9 A4 sta PPUDATA ; CPU:$A43B PRG:243B 8D 07 20 lda $A4CA,x ; CPU:$A43E PRG:243E BD CA A4 - sta Zp90 ; CPU:$A441 PRG:2441 85 90 + sta VramWritePtrHi ; CPU:$A441 PRG:2441 85 90 lda #$3B ; CPU:$A443 PRG:2443 A9 3B sta PPUDATA ; CPU:$A445 PRG:2445 8D 07 20 - ldy Zp7E ; CPU:$A448 PRG:2448 A4 7E + ldy SkierY ; CPU:$A448 PRG:2448 A4 7E lda $986B,y ; CPU:$A44A PRG:244A B9 6B 98 lsr a ; CPU:$A44D PRG:244D 4A lsr a ; CPU:$A44E PRG:244E 4A @@ -5900,7 +7047,7 @@ Sub_A3F0: lda $A4C9,x ; CPU:$A453 PRG:2453 BD C9 A4 sta PPUDATA ; CPU:$A456 PRG:2456 8D 07 20 lda $A4CA,x ; CPU:$A459 PRG:2459 BD CA A4 - sta Zp91 ; CPU:$A45C PRG:245C 85 91 + sta DispatchPtrLo ; CPU:$A45C PRG:245C 85 91 lda $986B,y ; CPU:$A45E PRG:245E B9 6B 98 asl a ; CPU:$A461 PRG:2461 0A and #$1E ; CPU:$A462 PRG:2462 29 1E @@ -5908,10 +7055,10 @@ Sub_A3F0: lda $A4C9,x ; CPU:$A465 PRG:2465 BD C9 A4 sta PPUDATA ; CPU:$A468 PRG:2468 8D 07 20 lda $A4CA,x ; CPU:$A46B PRG:246B BD CA A4 - sta Zp92 ; CPU:$A46E PRG:246E 85 92 + sta DispatchPtrHi ; CPU:$A46E PRG:246E 85 92 lda #$3B ; CPU:$A470 PRG:2470 A9 3B sta PPUDATA ; CPU:$A472 PRG:2472 8D 07 20 - ldy Zp7F ; CPU:$A475 PRG:2475 A4 7F + ldy SkierZ ; CPU:$A475 PRG:2475 A4 7F lda $986B,y ; CPU:$A477 PRG:2477 B9 6B 98 lsr a ; CPU:$A47A PRG:247A 4A lsr a ; CPU:$A47B PRG:247B 4A @@ -5934,13 +7081,13 @@ Sub_A3F0: sta PPUADDR ; CPU:$A49F PRG:249F 8D 06 20 lda #$57 ; CPU:$A4A2 PRG:24A2 A9 57 sta PPUADDR ; CPU:$A4A4 PRG:24A4 8D 06 20 - lda Zp90 ; CPU:$A4A7 PRG:24A7 A5 90 + lda VramWritePtrHi ; CPU:$A4A7 PRG:24A7 A5 90 sta PPUDATA ; CPU:$A4A9 PRG:24A9 8D 07 20 ldy #$3B ; CPU:$A4AC PRG:24AC A0 3B sty PPUDATA ; CPU:$A4AE PRG:24AE 8C 07 20 - lda Zp91 ; CPU:$A4B1 PRG:24B1 A5 91 + lda DispatchPtrLo ; CPU:$A4B1 PRG:24B1 A5 91 sta PPUDATA ; CPU:$A4B3 PRG:24B3 8D 07 20 - lda Zp92 ; CPU:$A4B6 PRG:24B6 A5 92 + lda DispatchPtrHi ; CPU:$A4B6 PRG:24B6 A5 92 sta PPUDATA ; CPU:$A4B8 PRG:24B8 8D 07 20 sty PPUDATA ; CPU:$A4BB PRG:24BB 8C 07 20 lda Zp93 ; CPU:$A4BE PRG:24BE A5 93 @@ -5967,8 +7114,8 @@ Sub_A3F0: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4DF: - stx Zp8F ; CPU:$A4DF PRG:24DF 86 8F - sty Zp90 ; CPU:$A4E1 PRG:24E1 84 90 + stx VramWritePtrLo ; CPU:$A4DF PRG:24DF 86 8F + sty VramWritePtrHi ; CPU:$A4E1 PRG:24E1 84 90 ldy #$00 ; CPU:$A4E3 PRG:24E3 A0 00 jmp Sub_A4FC ; CPU:$A4E5 PRG:24E5 4C FC A4 ; ----------------------------------------------------------------------------- @@ -5980,8 +7127,8 @@ Sub_A4DF: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4E8: - stx Zp8F ; CPU:$A4E8 PRG:24E8 86 8F - sty Zp90 ; CPU:$A4EA PRG:24EA 84 90 + stx VramWritePtrLo ; CPU:$A4E8 PRG:24E8 86 8F + sty VramWritePtrHi ; CPU:$A4EA PRG:24EA 84 90 ldy #$00 ; CPU:$A4EC PRG:24EC A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4EE @@ -5992,11 +7139,11 @@ Sub_A4E8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4EE: - lda (Zp8F),y ; CPU:$A4EE PRG:24EE B1 8F - beq NmiHandler_Loop142 ; CPU:$A4F0 PRG:24F0 F0 2E + lda (VramWritePtrLo),y ; CPU:$A4EE PRG:24EE B1 8F + beq NmiHandler_Loop171 ; CPU:$A4F0 PRG:24F0 F0 2E iny ; CPU:$A4F2 PRG:24F2 C8 sta PPUADDR ; CPU:$A4F3 PRG:24F3 8D 06 20 - lda (Zp8F),y ; CPU:$A4F6 PRG:24F6 B1 8F + lda (VramWritePtrLo),y ; CPU:$A4F6 PRG:24F6 B1 8F iny ; CPU:$A4F8 PRG:24F8 C8 sta PPUADDR ; CPU:$A4F9 PRG:24F9 8D 06 20 ; ----------------------------------------------------------------------------- @@ -6008,21 +7155,21 @@ Sub_A4EE: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A4FC: - lda (Zp8F),y ; CPU:$A4FC PRG:24FC B1 8F - beq NmiHandler_Loop139 ; CPU:$A4FE PRG:24FE F0 0A + lda (VramWritePtrLo),y ; CPU:$A4FC PRG:24FC B1 8F + beq NmiHandler_Loop168 ; CPU:$A4FE PRG:24FE F0 0A iny ; CPU:$A500 PRG:2500 C8 jsr Sub_A50E ; CPU:$A501 PRG:2501 20 0E A5 sta PPUDATA ; CPU:$A504 PRG:2504 8D 07 20 jmp Sub_A4FC ; CPU:$A507 PRG:2507 4C FC A4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop139 -; Global: Branch target inside NmiHandler: taken when Loop139. +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop139: +NmiHandler_Loop168: iny ; CPU:$A50A PRG:250A C8 jmp Sub_A4EE ; CPU:$A50B PRG:250B 4C EE A4 ; ----------------------------------------------------------------------------- @@ -6036,42 +7183,42 @@ NmiHandler_Loop139: Sub_A50E: sec ; CPU:$A50E PRG:250E 38 sbc #$20 ; CPU:$A50F PRG:250F E9 20 - beq NmiHandler_Loop141 ; CPU:$A511 PRG:2511 F0 0B + beq NmiHandler_Loop170 ; CPU:$A511 PRG:2511 F0 0B sec ; CPU:$A513 PRG:2513 38 sbc #$0C ; CPU:$A514 PRG:2514 E9 0C cmp #$0F ; CPU:$A516 PRG:2516 C9 0F - bcc NmiHandler_Loop140 ; CPU:$A518 PRG:2518 90 03 + bcc NmiHandler_Loop169 ; CPU:$A518 PRG:2518 90 03 sec ; CPU:$A51A PRG:251A 38 sbc #$07 ; CPU:$A51B PRG:251B E9 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop140 -; Global: Branch target inside NmiHandler: taken when Loop140. +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop140: +NmiHandler_Loop169: rts ; CPU:$A51D PRG:251D 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop141 -; Global: Branch target inside NmiHandler: taken when Loop141. +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop141: +NmiHandler_Loop170: lda #$00 ; CPU:$A51E PRG:251E A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop142 -; Global: Branch target inside NmiHandler: taken when Loop142. +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop142: +NmiHandler_Loop171: rts ; CPU:$A520 PRG:2520 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A521 @@ -6084,17 +7231,17 @@ NmiHandler_Loop142: Sub_A521: ldx #$05 ; CPU:$A521 PRG:2521 A2 05 lda $0731 ; CPU:$A523 PRG:2523 AD 31 07 - bne NmiHandler_Loop143 ; CPU:$A526 PRG:2526 D0 02 + bne NmiHandler_Loop172 ; CPU:$A526 PRG:2526 D0 02 ldx #$02 ; CPU:$A528 PRG:2528 A2 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop143 -; Global: Branch target inside NmiHandler: taken when Loop143. +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop143: +NmiHandler_Loop172: stx $0794 ; CPU:$A52A PRG:252A 8E 94 07 stx $0795 ; CPU:$A52D PRG:252D 8E 95 07 jsr Sub_B5D6 ; CPU:$A530 PRG:2530 20 D6 B5 @@ -6127,14 +7274,14 @@ NmiHandler_Loop143: sta PPUADDR ; CPU:$A574 PRG:2574 8D 06 20 ldx #$00 ; CPU:$A577 PRG:2577 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero33 -; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero33: +NmiHandler_OnNonzero39: lda $A6E9,x ; CPU:$A579 PRG:2579 BD E9 A6 lsr a ; CPU:$A57C PRG:257C 4A lsr a ; CPU:$A57D PRG:257D 4A @@ -6150,63 +7297,63 @@ NmiHandler_OnNonzero33: sta PPUDATA ; CPU:$A590 PRG:2590 8D 07 20 inx ; CPU:$A593 PRG:2593 E8 cpx #$50 ; CPU:$A594 PRG:2594 E0 50 - bne NmiHandler_OnNonzero33 ; CPU:$A596 PRG:2596 D0 E1 + bne NmiHandler_OnNonzero39 ; CPU:$A596 PRG:2596 D0 E1 lda #$21 ; CPU:$A598 PRG:2598 A9 21 sta PPUADDR ; CPU:$A59A PRG:259A 8D 06 20 lda #$E0 ; CPU:$A59D PRG:259D A9 E0 sta PPUADDR ; CPU:$A59F PRG:259F 8D 06 20 ldx #$00 ; CPU:$A5A2 PRG:25A2 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero34 -; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero34: +NmiHandler_OnNonzero40: lda $A739,x ; CPU:$A5A4 PRG:25A4 BD 39 A7 sta PPUDATA ; CPU:$A5A7 PRG:25A7 8D 07 20 inx ; CPU:$A5AA PRG:25AA E8 cpx #$80 ; CPU:$A5AB PRG:25AB E0 80 - bne NmiHandler_OnNonzero34 ; CPU:$A5AD PRG:25AD D0 F5 + bne NmiHandler_OnNonzero40 ; CPU:$A5AD PRG:25AD D0 F5 lda #$23 ; CPU:$A5AF PRG:25AF A9 23 sta PPUADDR ; CPU:$A5B1 PRG:25B1 8D 06 20 lda #$40 ; CPU:$A5B4 PRG:25B4 A9 40 sta PPUADDR ; CPU:$A5B6 PRG:25B6 8D 06 20 ldx #$00 ; CPU:$A5B9 PRG:25B9 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero35 -; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero35: +NmiHandler_OnNonzero41: lda $AE0D,x ; CPU:$A5BB PRG:25BB BD 0D AE sta PPUDATA ; CPU:$A5BE PRG:25BE 8D 07 20 inx ; CPU:$A5C1 PRG:25C1 E8 txa ; CPU:$A5C2 PRG:25C2 8A and #$0F ; CPU:$A5C3 PRG:25C3 29 0F - bne NmiHandler_OnNonzero35 ; CPU:$A5C5 PRG:25C5 D0 F4 + bne NmiHandler_OnNonzero41 ; CPU:$A5C5 PRG:25C5 D0 F4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero36 -; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero36: +NmiHandler_OnNonzero42: lda $ADED,x ; CPU:$A5C7 PRG:25C7 BD ED AD sta PPUDATA ; CPU:$A5CA PRG:25CA 8D 07 20 inx ; CPU:$A5CD PRG:25CD E8 txa ; CPU:$A5CE PRG:25CE 8A and #$0F ; CPU:$A5CF PRG:25CF 29 0F - bne NmiHandler_OnNonzero36 ; CPU:$A5D1 PRG:25D1 D0 F4 + bne NmiHandler_OnNonzero42 ; CPU:$A5D1 PRG:25D1 D0 F4 cpx #$80 ; CPU:$A5D3 PRG:25D3 E0 80 - bne NmiHandler_OnNonzero35 ; CPU:$A5D5 PRG:25D5 D0 E4 + bne NmiHandler_OnNonzero41 ; CPU:$A5D5 PRG:25D5 D0 E4 ldx #$B9 ; CPU:$A5D7 PRG:25D7 A2 B9 ldy #$A7 ; CPU:$A5D9 PRG:25D9 A0 A7 jsr Sub_A4E8 ; CPU:$A5DB PRG:25DB 20 E8 A4 @@ -6234,13 +7381,13 @@ Sub_A5E0: NmiHandler_OnNonnegative4: lda PPUSTATUS ; CPU:$A5E7 PRG:25E7 AD 02 20 bpl NmiHandler_OnNonnegative4 ; CPU:$A5EA PRG:25EA 10 FB - lda Zp01 ; CPU:$A5EC PRG:25EC A5 01 + lda PpuMaskShadow ; CPU:$A5EC PRG:25EC A5 01 ora #$1E ; CPU:$A5EE PRG:25EE 09 1E - sta Zp01 ; CPU:$A5F0 PRG:25F0 85 01 + sta PpuMaskShadow ; CPU:$A5F0 PRG:25F0 85 01 sta PPUMASK ; CPU:$A5F2 PRG:25F2 8D 01 20 - lda Zp00 ; CPU:$A5F5 PRG:25F5 A5 00 + lda PpuCtrlShadow ; CPU:$A5F5 PRG:25F5 A5 00 ora #$80 ; CPU:$A5F7 PRG:25F7 09 80 - sta Zp00 ; CPU:$A5F9 PRG:25F9 85 00 + sta PpuCtrlShadow ; CPU:$A5F9 PRG:25F9 85 00 sta PPUCTRL ; CPU:$A5FB PRG:25FB 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5FE @@ -6252,51 +7399,104 @@ NmiHandler_OnNonnegative4: ; ----------------------------------------------------------------------------- Sub_A5FE: jmp Sub_A5FE ; CPU:$A5FE PRG:25FE 4C FE A5 -; ---- data $A601-$A66B (107 bytes) ---- - .byte $AD, $31, $07, $20, $00, $9C, $A0, $04, $A2, $56, $20, $A0, $FF, $AD, $31, $07 ; CPU:$A601 PRG:2601 AD 31 07 20 00 9C A0 04 A2 56 20 A0 FF AD 31 07 - .byte $49, $FF, $20, $00, $9C, $A0, $04, $A2, $20, $20, $A0, $FF, $AD, $31, $07, $20 ; CPU:$A611 PRG:2611 49 FF 20 00 9C A0 04 A2 20 20 A0 FF AD 31 07 20 - .byte $00, $9C, $A0, $02, $A2, $E0, $20, $A0, $FF, $A9, $00, $20, $00, $9C, $A0, $03 ; CPU:$A621 PRG:2621 00 9C A0 02 A2 E0 20 A0 FF A9 00 20 00 9C A0 03 - .byte $A2, $20, $20, $A0, $FF, $20, $1F, $8D, $AD, $31, $07, $F0, $12, $38, $E9, $04 ; CPU:$A631 PRG:2631 A2 20 20 A0 FF 20 1F 8D AD 31 07 F0 12 38 E9 04 - .byte $8D, $31, $07, $B0, $0A, $A9, $00, $8D, $31, $07, $A9, $04, $20, $FF, $B5, $AD ; CPU:$A641 PRG:2641 8D 31 07 B0 0A A9 00 8D 31 07 A9 04 20 FF B5 AD - .byte $94, $07, $0D, $95, $07, $D0, $14, $AD, $90, $07, $D0, $17, $20, $8E, $B4, $A9 ; CPU:$A651 PRG:2651 94 07 0D 95 07 D0 14 AD 90 07 D0 17 20 8E B4 A9 - .byte $FF, $8D, $95, $07, $A9, $02, $85, $6E, $4C, $AC, $A6 ; CPU:$A661 PRG:2661 FF 8D 95 07 A9 02 85 6E 4C AC A6 ; ----------------------------------------------------------------------------- -; Routine: Label_A66C -; Global: Branch target inside Label: taken when A66C. +; Routine: Label_A601 +; Global: Branch target inside Label: taken when A601. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_A66C: - dec $0794 ; CPU:$A66C PRG:266C CE 94 07 - bne NmiHandler_Loop144 ; CPU:$A66F PRG:266F D0 03 - dec $0795 ; CPU:$A671 PRG:2671 CE 95 07 +Label_A601: + lda $0731 ; CPU:$A601 PRG:2601 AD 31 07 + jsr Sub_9C00 ; CPU:$A604 PRG:2604 20 00 9C + ldy #$04 ; CPU:$A607 PRG:2607 A0 04 + ldx #$56 ; CPU:$A609 PRG:2609 A2 56 + jsr IrqHandler_OnNonzero ; CPU:$A60B PRG:260B 20 A0 FF + lda $0731 ; CPU:$A60E PRG:260E AD 31 07 + eor #$FF ; CPU:$A611 PRG:2611 49 FF + jsr Sub_9C00 ; CPU:$A613 PRG:2613 20 00 9C + ldy #$04 ; CPU:$A616 PRG:2616 A0 04 + ldx #$20 ; CPU:$A618 PRG:2618 A2 20 + jsr IrqHandler_OnNonzero ; CPU:$A61A PRG:261A 20 A0 FF + lda $0731 ; CPU:$A61D PRG:261D AD 31 07 + jsr Sub_9C00 ; CPU:$A620 PRG:2620 20 00 9C + ldy #$02 ; CPU:$A623 PRG:2623 A0 02 + ldx #$E0 ; CPU:$A625 PRG:2625 A2 E0 + jsr IrqHandler_OnNonzero ; CPU:$A627 PRG:2627 20 A0 FF + lda #$00 ; CPU:$A62A PRG:262A A9 00 + jsr Sub_9C00 ; CPU:$A62C PRG:262C 20 00 9C + ldy #$03 ; CPU:$A62F PRG:262F A0 03 + ldx #$20 ; CPU:$A631 PRG:2631 A2 20 + jsr IrqHandler_OnNonzero ; CPU:$A633 PRG:2633 20 A0 FF + jsr Sub_8D1F ; CPU:$A636 PRG:2636 20 1F 8D + lda $0731 ; CPU:$A639 PRG:2639 AD 31 07 + beq NmiHandler_Loop173 ; CPU:$A63C PRG:263C F0 12 + sec ; CPU:$A63E PRG:263E 38 + sbc #$04 ; CPU:$A63F PRG:263F E9 04 + sta $0731 ; CPU:$A641 PRG:2641 8D 31 07 + bcs NmiHandler_Loop173 ; CPU:$A644 PRG:2644 B0 0A + lda #$00 ; CPU:$A646 PRG:2646 A9 00 + sta $0731 ; CPU:$A648 PRG:2648 8D 31 07 + lda #$04 ; CPU:$A64B PRG:264B A9 04 + jsr Sub_B5FF ; CPU:$A64D PRG:264D 20 FF B5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop144 -; Global: Branch target inside NmiHandler: taken when Loop144. +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop144: +NmiHandler_Loop173: + lda $0794 ; CPU:$A650 PRG:2650 AD 94 07 + ora $0795 ; CPU:$A653 PRG:2653 0D 95 07 + bne NmiHandler_Loop174 ; CPU:$A656 PRG:2656 D0 14 + lda $0790 ; CPU:$A658 PRG:2658 AD 90 07 + bne NmiHandler_Loop175 ; CPU:$A65B PRG:265B D0 17 + jsr Sub_B48E ; CPU:$A65D PRG:265D 20 8E B4 + lda #$FF ; CPU:$A660 PRG:2660 A9 FF + sta $0795 ; CPU:$A662 PRG:2662 8D 95 07 + lda #$02 ; CPU:$A665 PRG:2665 A9 02 + sta Zp6E ; CPU:$A667 PRG:2667 85 6E + jmp Sub_A6AC ; CPU:$A669 PRG:2669 4C AC A6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + dec $0794 ; CPU:$A66C PRG:266C CE 94 07 + bne NmiHandler_Loop175 ; CPU:$A66F PRG:266F D0 03 + dec $0795 ; CPU:$A671 PRG:2671 CE 95 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: jsr Sub_C44E ; CPU:$A674 PRG:2674 20 4E C4 lda Zp86 ; CPU:$A677 PRG:2677 A5 86 and #$30 ; CPU:$A679 PRG:2679 29 30 - sta Zp95 ; CPU:$A67B PRG:267B 85 95 + sta PlayerX ; CPU:$A67B PRG:267B 85 95 eor Zp03 ; CPU:$A67D PRG:267D 45 03 - and Zp95 ; CPU:$A67F PRG:267F 25 95 - bne NmiHandler_Loop145 ; CPU:$A681 PRG:2681 D0 17 - lda Zp95 ; CPU:$A683 PRG:2683 A5 95 + and PlayerX ; CPU:$A67F PRG:267F 25 95 + bne NmiHandler_Loop176 ; CPU:$A681 PRG:2681 D0 17 + lda PlayerX ; CPU:$A683 PRG:2683 A5 95 sta Zp03 ; CPU:$A685 PRG:2685 85 03 lda Zp87 ; CPU:$A687 PRG:2687 A5 87 and #$30 ; CPU:$A689 PRG:2689 29 30 - sta Zp95 ; CPU:$A68B PRG:268B 85 95 + sta PlayerX ; CPU:$A68B PRG:268B 85 95 eor Zp04 ; CPU:$A68D PRG:268D 45 04 - lda Zp95 ; CPU:$A68F PRG:268F A5 95 - bne NmiHandler_Loop146 ; CPU:$A691 PRG:2691 D0 12 - lda Zp95 ; CPU:$A693 PRG:2693 A5 95 + lda PlayerX ; CPU:$A68F PRG:268F A5 95 + bne NmiHandler_Loop177 ; CPU:$A691 PRG:2691 D0 12 + lda PlayerX ; CPU:$A693 PRG:2693 A5 95 sta Zp04 ; CPU:$A695 PRG:2695 85 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_A697 @@ -6309,15 +7509,15 @@ NmiHandler_Loop144: Sub_A697: jmp Sub_A697 ; CPU:$A697 PRG:2697 4C 97 A6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop145 -; Global: Branch target inside NmiHandler: taken when Loop145. +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop145: - lda Zp95 ; CPU:$A69A PRG:269A A5 95 +NmiHandler_Loop176: + lda PlayerX ; CPU:$A69A PRG:269A A5 95 sta Zp03 ; CPU:$A69C PRG:269C 85 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_A69E @@ -6332,20 +7532,57 @@ Sub_A69E: sta Zp05 ; CPU:$A6A0 PRG:26A0 85 05 jmp Sub_8067 ; CPU:$A6A2 PRG:26A2 4C 67 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop146 -; Global: Branch target inside NmiHandler: taken when Loop146. +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop146: - lda Zp95 ; CPU:$A6A5 PRG:26A5 A5 95 +NmiHandler_Loop177: + lda PlayerX ; CPU:$A6A5 PRG:26A5 A5 95 sta Zp04 ; CPU:$A6A7 PRG:26A7 85 04 jmp Sub_A69E ; CPU:$A6A9 PRG:26A9 4C 9E A6 -; ---- data $A6AC-$A6CA (31 bytes) ---- - .byte $20, $9A, $A9, $A5, $08, $29, $03, $C9, $03, $D0, $02, $A9, $02, $85, $0A, $20 ; CPU:$A6AC PRG:26AC 20 9A A9 A5 08 29 03 C9 03 D0 02 A9 02 85 0A 20 - .byte $0B, $9D, $A9, $08, $85, $02, $8D, $93, $07, $20, $AC, $B4, $4C, $C8, $A6 ; CPU:$A6BC PRG:26BC 0B 9D A9 08 85 02 8D 93 07 20 AC B4 4C C8 A6 +; ----------------------------------------------------------------------------- +; Routine: Sub_A6AC +; Global: Branch target inside Sub: taken when A6AC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A6AC: + jsr Sub_A99A ; CPU:$A6AC PRG:26AC 20 9A A9 + lda Zp08 ; CPU:$A6AF PRG:26AF A5 08 + and #$03 ; CPU:$A6B1 PRG:26B1 29 03 + cmp #$03 ; CPU:$A6B3 PRG:26B3 C9 03 + bne NmiHandler_Loop178 ; CPU:$A6B5 PRG:26B5 D0 02 + lda #$02 ; CPU:$A6B7 PRG:26B7 A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + sta Zp0A ; CPU:$A6B9 PRG:26B9 85 0A + jsr Sub_9D0B ; CPU:$A6BB PRG:26BB 20 0B 9D + lda #$08 ; CPU:$A6BE PRG:26BE A9 08 + sta Zp02 ; CPU:$A6C0 PRG:26C0 85 02 + sta $0793 ; CPU:$A6C2 PRG:26C2 8D 93 07 + jsr Sub_B4AC ; CPU:$A6C5 PRG:26C5 20 AC B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_A6C8 +; Global: Branch target inside Sub: taken when A6C8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A6C8: + jmp Sub_A6C8 ; CPU:$A6C8 PRG:26C8 4C C8 A6 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6CB ; Global: Branch target inside Sub: taken when A6CB. @@ -6371,17 +7608,17 @@ Sub_A6CB: Sub_A6D7: ldx #$20 ; CPU:$A6D7 PRG:26D7 A2 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero37 -; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero37: +NmiHandler_OnNonzero43: sta PPUDATA ; CPU:$A6D9 PRG:26D9 8D 07 20 dex ; CPU:$A6DC PRG:26DC CA - bne NmiHandler_OnNonzero37 ; CPU:$A6DD PRG:26DD D0 FA + bne NmiHandler_OnNonzero43 ; CPU:$A6DD PRG:26DD D0 FA rts ; CPU:$A6DF PRG:26DF 60 ; ---- data $A6E0-$A818 (313 bytes) ---- ; referenced by `lda $A6E9,x` at $A579 (operand $A6E9 falls inside this region) @@ -6419,10 +7656,10 @@ NmiHandler_OnNonzero37: ; ----------------------------------------------------------------------------- Sub_A819: lda #$18 ; CPU:$A819 PRG:2819 A9 18 - sta Zp00 ; CPU:$A81B PRG:281B 85 00 + sta PpuCtrlShadow ; CPU:$A81B PRG:281B 85 00 sta PPUCTRL ; CPU:$A81D PRG:281D 8D 00 20 lda #$00 ; CPU:$A820 PRG:2820 A9 00 - sta Zp01 ; CPU:$A822 PRG:2822 85 01 + sta PpuMaskShadow ; CPU:$A822 PRG:2822 85 01 sta PPUMASK ; CPU:$A824 PRG:2824 8D 01 20 jsr Sub_B5D6 ; CPU:$A827 PRG:2827 20 D6 B5 ldx #$16 ; CPU:$A82A PRG:282A A2 16 @@ -6443,32 +7680,32 @@ Sub_A819: jsr Sub_A6D7 ; CPU:$A84E PRG:284E 20 D7 A6 ldx #$00 ; CPU:$A851 PRG:2851 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero38 -; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero38: +NmiHandler_OnNonzero44: lda $AA36,x ; CPU:$A853 PRG:2853 BD 36 AA sta PPUDATA ; CPU:$A856 PRG:2856 8D 07 20 inx ; CPU:$A859 PRG:2859 E8 - bne NmiHandler_OnNonzero38 ; CPU:$A85A PRG:285A D0 F7 + bne NmiHandler_OnNonzero44 ; CPU:$A85A PRG:285A D0 F7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero39 -; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero39: +NmiHandler_OnNonzero45: lda $AB36,x ; CPU:$A85C PRG:285C BD 36 AB sta PPUDATA ; CPU:$A85F PRG:285F 8D 07 20 inx ; CPU:$A862 PRG:2862 E8 cpx #$40 ; CPU:$A863 PRG:2863 E0 40 - bne NmiHandler_OnNonzero39 ; CPU:$A865 PRG:2865 D0 F5 + bne NmiHandler_OnNonzero45 ; CPU:$A865 PRG:2865 D0 F5 ldx #$C8 ; CPU:$A867 PRG:2867 A2 C8 ldy #$A9 ; CPU:$A869 PRG:2869 A0 A9 jsr Sub_A4E8 ; CPU:$A86B PRG:286B 20 E8 A4 @@ -6504,51 +7741,99 @@ Sub_A87E: Sub_A88B: ldx #$00 ; CPU:$A88B PRG:288B A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero40 -; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero40: +NmiHandler_OnNonzero46: lda $A298,x ; CPU:$A88D PRG:288D BD 98 A2 sta PPUDATA ; CPU:$A890 PRG:2890 8D 07 20 inx ; CPU:$A893 PRG:2893 E8 cpx #$60 ; CPU:$A894 PRG:2894 E0 60 - bne NmiHandler_OnNonzero40 ; CPU:$A896 PRG:2896 D0 F5 + bne NmiHandler_OnNonzero46 ; CPU:$A896 PRG:2896 D0 F5 rts ; CPU:$A898 PRG:2898 60 -; ---- data $A899-$A8DF (71 bytes) ---- - .byte $A9, $00, $20, $00, $9C, $A5, $0C, $0A, $AA, $A0, $00, $B9, $15, $AA, $F0, $37 ; CPU:$A899 PRG:2899 A9 00 20 00 9C A5 0C 0A AA A0 00 B9 15 AA F0 37 - .byte $A5, $06, $6A, $6A, $29, $03, $18, $69, $FE, $18, $79, $15, $AA, $18, $7D, $DA ; CPU:$A8A9 PRG:28A9 A5 06 6A 6A 29 03 18 69 FE 18 79 15 AA 18 7D DA - .byte $A8, $99, $00, $04, $C8, $B9, $15, $AA, $99, $00, $04, $C8, $B9, $15, $AA, $99 ; CPU:$A8B9 PRG:28B9 A8 99 00 04 C8 B9 15 AA 99 00 04 C8 B9 15 AA 99 - .byte $00, $04, $C8, $B9, $15, $AA, $18, $7D, $DB, $A8, $99, $00, $04, $C8, $4C, $A4 ; CPU:$A8C9 PRG:28C9 00 04 C8 B9 15 AA 18 7D DB A8 99 00 04 C8 4C A4 - .byte $A8, $13, $58, $0F, $B0, $03, $88 ; CPU:$A8D9 PRG:28D9 A8 13 58 0F B0 03 88 ; ----------------------------------------------------------------------------- -; Routine: Label_A8E0 -; Global: Branch target inside Label: taken when A8E0. +; Routine: Label_A899 +; Global: Branch target inside Label: taken when A899. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_A8E0: - ldx Zp0E ; CPU:$A8E0 PRG:28E0 A6 0E - lda $A998,x ; CPU:$A8E2 PRG:28E2 BD 98 A9 - sta Zp95 ; CPU:$A8E5 PRG:28E5 85 95 - ldx #$00 ; CPU:$A8E7 PRG:28E7 A2 00 +Label_A899: + lda #$00 ; CPU:$A899 PRG:2899 A9 00 + jsr Sub_9C00 ; CPU:$A89B PRG:289B 20 00 9C + lda Zp0C ; CPU:$A89E PRG:289E A5 0C + asl a ; CPU:$A8A0 PRG:28A0 0A + tax ; CPU:$A8A1 PRG:28A1 AA + ldy #$00 ; CPU:$A8A2 PRG:28A2 A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero41 -; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Routine: Sub_A8A4 +; Global: Branch target inside Sub: taken when A8A4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8A4: + lda $AA15,y ; CPU:$A8A4 PRG:28A4 B9 15 AA + beq NmiHandler_Loop179 ; CPU:$A8A7 PRG:28A7 F0 37 + lda Zp06 ; CPU:$A8A9 PRG:28A9 A5 06 + ror a ; CPU:$A8AB PRG:28AB 6A + ror a ; CPU:$A8AC PRG:28AC 6A + and #$03 ; CPU:$A8AD PRG:28AD 29 03 + clc ; CPU:$A8AF PRG:28AF 18 + adc #$FE ; CPU:$A8B0 PRG:28B0 69 FE + clc ; CPU:$A8B2 PRG:28B2 18 + adc $AA15,y ; CPU:$A8B3 PRG:28B3 79 15 AA + clc ; CPU:$A8B6 PRG:28B6 18 + adc $A8DA,x ; CPU:$A8B7 PRG:28B7 7D DA A8 + sta $0400,y ; CPU:$A8BA PRG:28BA 99 00 04 + iny ; CPU:$A8BD PRG:28BD C8 + lda $AA15,y ; CPU:$A8BE PRG:28BE B9 15 AA + sta $0400,y ; CPU:$A8C1 PRG:28C1 99 00 04 + iny ; CPU:$A8C4 PRG:28C4 C8 + lda $AA15,y ; CPU:$A8C5 PRG:28C5 B9 15 AA + sta $0400,y ; CPU:$A8C8 PRG:28C8 99 00 04 + iny ; CPU:$A8CB PRG:28CB C8 + lda $AA15,y ; CPU:$A8CC PRG:28CC B9 15 AA + clc ; CPU:$A8CF PRG:28CF 18 + adc $A8DB,x ; CPU:$A8D0 PRG:28D0 7D DB A8 + sta $0400,y ; CPU:$A8D3 PRG:28D3 99 00 04 + iny ; CPU:$A8D6 PRG:28D6 C8 + jmp Sub_A8A4 ; CPU:$A8D7 PRG:28D7 4C A4 A8 +; ---- data $A8DA-$A8DF (6 bytes) ---- +; referenced by `adc $A8DA,x` at $A8B7 (operand $A8DA falls inside this region) +; referenced by `adc $A8DB,x` at $A8D0 (operand $A8DB falls inside this region) + .byte $13, $58, $0F, $B0, $03, $88 ; CPU:$A8DA PRG:28DA 13 58 0F B0 03 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero41: +NmiHandler_Loop179: + ldx Zp0E ; CPU:$A8E0 PRG:28E0 A6 0E + lda $A998,x ; CPU:$A8E2 PRG:28E2 BD 98 A9 + sta PlayerX ; CPU:$A8E5 PRG:28E5 85 95 + ldx #$00 ; CPU:$A8E7 PRG:28E7 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero47: lda $AA26,x ; CPU:$A8E9 PRG:28E9 BD 26 AA clc ; CPU:$A8EC PRG:28EC 18 - adc Zp95 ; CPU:$A8ED PRG:28ED 65 95 + adc PlayerX ; CPU:$A8ED PRG:28ED 65 95 sta $0400,y ; CPU:$A8EF PRG:28EF 99 00 04 iny ; CPU:$A8F2 PRG:28F2 C8 inx ; CPU:$A8F3 PRG:28F3 E8 @@ -6565,41 +7850,41 @@ NmiHandler_OnNonzero41: iny ; CPU:$A90A PRG:290A C8 inx ; CPU:$A90B PRG:290B E8 cpx #$10 ; CPU:$A90C PRG:290C E0 10 - bne NmiHandler_OnNonzero41 ; CPU:$A90E PRG:290E D0 D9 + bne NmiHandler_OnNonzero47 ; CPU:$A90E PRG:290E D0 D9 tya ; CPU:$A910 PRG:2910 98 jsr Sub_B4AC ; CPU:$A911 PRG:2911 20 AC B4 lda Zp86 ; CPU:$A914 PRG:2914 A5 86 tax ; CPU:$A916 PRG:2916 AA - sta Zp95 ; CPU:$A917 PRG:2917 85 95 + sta PlayerX ; CPU:$A917 PRG:2917 85 95 eor Zp03 ; CPU:$A919 PRG:2919 45 03 - and Zp95 ; CPU:$A91B PRG:291B 25 95 - sta Zp95 ; CPU:$A91D PRG:291D 85 95 + and PlayerX ; CPU:$A91B PRG:291B 25 95 + sta PlayerX ; CPU:$A91D PRG:291D 85 95 stx Zp03 ; CPU:$A91F PRG:291F 86 03 - lda Zp95 ; CPU:$A921 PRG:2921 A5 95 + lda PlayerX ; CPU:$A921 PRG:2921 A5 95 and #$20 ; CPU:$A923 PRG:2923 29 20 - bne NmiHandler_Loop150 ; CPU:$A925 PRG:2925 D0 54 - lda Zp95 ; CPU:$A927 PRG:2927 A5 95 + bne NmiHandler_Loop183 ; CPU:$A925 PRG:2925 D0 54 + lda PlayerX ; CPU:$A927 PRG:2927 A5 95 and #$0F ; CPU:$A929 PRG:2929 29 0F - bne NmiHandler_Loop149 ; CPU:$A92B PRG:292B D0 3F - lda Zp95 ; CPU:$A92D PRG:292D A5 95 + bne NmiHandler_Loop182 ; CPU:$A92B PRG:292B D0 3F + lda PlayerX ; CPU:$A92D PRG:292D A5 95 and #$10 ; CPU:$A92F PRG:292F 29 10 - bne NmiHandler_Loop152 ; CPU:$A931 PRG:2931 D0 75 + bne NmiHandler_Loop185 ; CPU:$A931 PRG:2931 D0 75 lda Zp87 ; CPU:$A933 PRG:2933 A5 87 tax ; CPU:$A935 PRG:2935 AA - sta Zp95 ; CPU:$A936 PRG:2936 85 95 + sta PlayerX ; CPU:$A936 PRG:2936 85 95 eor Zp04 ; CPU:$A938 PRG:2938 45 04 - and Zp95 ; CPU:$A93A PRG:293A 25 95 - sta Zp95 ; CPU:$A93C PRG:293C 85 95 + and PlayerX ; CPU:$A93A PRG:293A 25 95 + sta PlayerX ; CPU:$A93C PRG:293C 85 95 stx Zp04 ; CPU:$A93E PRG:293E 86 04 - lda Zp95 ; CPU:$A940 PRG:2940 A5 95 + lda PlayerX ; CPU:$A940 PRG:2940 A5 95 and #$20 ; CPU:$A942 PRG:2942 29 20 - bne NmiHandler_Loop150 ; CPU:$A944 PRG:2944 D0 35 - lda Zp95 ; CPU:$A946 PRG:2946 A5 95 + bne NmiHandler_Loop183 ; CPU:$A944 PRG:2944 D0 35 + lda PlayerX ; CPU:$A946 PRG:2946 A5 95 and #$0F ; CPU:$A948 PRG:2948 29 0F - bne NmiHandler_Loop149 ; CPU:$A94A PRG:294A D0 20 - lda Zp95 ; CPU:$A94C PRG:294C A5 95 + bne NmiHandler_Loop182 ; CPU:$A94A PRG:294A D0 20 + lda PlayerX ; CPU:$A94C PRG:294C A5 95 and #$10 ; CPU:$A94E PRG:294E 29 10 - bne NmiHandler_Loop152 ; CPU:$A950 PRG:2950 D0 56 + bne NmiHandler_Loop185 ; CPU:$A950 PRG:2950 D0 56 ; ----------------------------------------------------------------------------- ; Routine: Sub_A952 ; Global: Branch target inside Sub: taken when A952. @@ -6612,40 +7897,40 @@ Sub_A952: jsr Sub_C44E ; CPU:$A952 PRG:2952 20 4E C4 jsr Sub_8D1F ; CPU:$A955 PRG:2955 20 1F 8D dec $0794 ; CPU:$A958 PRG:2958 CE 94 07 - bne NmiHandler_Loop147 ; CPU:$A95B PRG:295B D0 05 + bne NmiHandler_Loop180 ; CPU:$A95B PRG:295B D0 05 dec $0795 ; CPU:$A95D PRG:295D CE 95 07 - beq NmiHandler_Loop148 ; CPU:$A960 PRG:2960 F0 03 + beq NmiHandler_Loop181 ; CPU:$A960 PRG:2960 F0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop147 -; Global: Branch target inside NmiHandler: taken when Loop147. +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop147: - jmp NmiHandler_Loop147 ; CPU:$A962 PRG:2962 4C 62 A9 +NmiHandler_Loop180: + jmp NmiHandler_Loop180 ; CPU:$A962 PRG:2962 4C 62 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop148 -; Global: Branch target inside NmiHandler: taken when Loop148. +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop148: +NmiHandler_Loop181: lda #$00 ; CPU:$A965 PRG:2965 A9 00 sta Zp05 ; CPU:$A967 PRG:2967 85 05 jmp Sub_8067 ; CPU:$A969 PRG:2969 4C 67 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop149 -; Global: Branch target inside NmiHandler: taken when Loop149. +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop149: +NmiHandler_Loop182: jsr Sub_A99A ; CPU:$A96C PRG:296C 20 9A A9 clc ; CPU:$A96F PRG:296F 18 adc #$07 ; CPU:$A970 PRG:2970 69 07 @@ -6653,14 +7938,14 @@ NmiHandler_Loop149: jsr Sub_A98F ; CPU:$A975 PRG:2975 20 8F A9 jmp Sub_A952 ; CPU:$A978 PRG:2978 4C 52 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop150 -; Global: Branch target inside NmiHandler: taken when Loop150. +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop150: +NmiHandler_Loop183: lda Zp0E ; CPU:$A97B PRG:297B A5 0E clc ; CPU:$A97D PRG:297D 18 adc #$01 ; CPU:$A97E PRG:297E 69 01 @@ -6699,42 +7984,42 @@ Sub_A99A: clc ; CPU:$A99C PRG:299C 18 adc #$01 ; CPU:$A99D PRG:299D 69 01 cmp #$03 ; CPU:$A99F PRG:299F C9 03 - bcc NmiHandler_Loop151 ; CPU:$A9A1 PRG:29A1 90 02 + bcc NmiHandler_Loop184 ; CPU:$A9A1 PRG:29A1 90 02 lda #$00 ; CPU:$A9A3 PRG:29A3 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop151 -; Global: Branch target inside NmiHandler: taken when Loop151. +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop151: +NmiHandler_Loop184: sta Zp0C ; CPU:$A9A5 PRG:29A5 85 0C rts ; CPU:$A9A7 PRG:29A7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop152 -; Global: Branch target inside NmiHandler: taken when Loop152. +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop152: +NmiHandler_Loop185: lda Zp0E ; CPU:$A9A8 PRG:29A8 A5 0E - beq NmiHandler_Loop153 ; CPU:$A9AA PRG:29AA F0 07 + beq NmiHandler_Loop186 ; CPU:$A9AA PRG:29AA F0 07 lda #$03 ; CPU:$A9AC PRG:29AC A9 03 sta Zp0D ; CPU:$A9AE PRG:29AE 85 0D jmp Sub_A9B7 ; CPU:$A9B0 PRG:29B0 4C B7 A9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop153 -; Global: Branch target inside NmiHandler: taken when Loop153. +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop153: +NmiHandler_Loop186: lda #$01 ; CPU:$A9B3 PRG:29B3 A9 01 sta Zp0D ; CPU:$A9B5 PRG:29B5 85 0D ; ----------------------------------------------------------------------------- @@ -6765,10 +8050,11 @@ Sub_A9C5: ; ---- data $A9C8-$AB75 (430 bytes) ---- ; referenced by `lda $AA36,x` at $A853 (operand $AA36 falls inside this region) ; referenced by `lda $AB36,x` at $A85C (operand $AB36 falls inside this region) -; referenced by `lda $AA26,x` at $A8E9 (operand $AA26 falls inside this region) -; referenced by `lda $AA26,x` at $A8F4 (operand $AA26 falls inside this region) -; referenced by `lda $AA26,x` at $A8FC (operand $AA26 falls inside this region) -; referenced by `lda $AA26,x` at $A904 (operand $AA26 falls inside this region) +; referenced by `lda $AA15,y` at $A8A4 (operand $AA15 falls inside this region) +; referenced by `adc $AA15,y` at $A8B3 (operand $AA15 falls inside this region) +; referenced by `lda $AA15,y` at $A8BE (operand $AA15 falls inside this region) +; referenced by `lda $AA15,y` at $A8C5 (operand $AA15 falls inside this region) +; ... and 5 further references from decoded code .byte $21, $0B, $31, $20, $50, $4C, $41, $59, $45, $52, $20, $47, $41, $4D, $45, $00 ; CPU:$A9C8 PRG:29C8 21 0B 31 20 50 4C 41 59 45 52 20 47 41 4D 45 00 .byte $21, $6B, $32, $20, $50, $4C, $41, $59, $45, $52, $20, $47, $41, $4D, $45, $00 ; CPU:$A9D8 PRG:29D8 21 6B 32 20 50 4C 41 59 45 52 20 47 41 4D 45 00 .byte $00, $EF, $A9, $FC, $A9, $07, $AA, $22, $45, $53, $4E, $4F, $57, $59, $20, $48 ; CPU:$A9E8 PRG:29E8 00 EF A9 FC A9 07 AA 22 45 53 4E 4F 57 59 20 48 @@ -6816,8 +8102,8 @@ Sub_AB76: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AB7A: - stx Zp8F ; CPU:$AB7A PRG:2B7A 86 8F - sty Zp90 ; CPU:$AB7C PRG:2B7C 84 90 + stx VramWritePtrLo ; CPU:$AB7A PRG:2B7A 86 8F + sty VramWritePtrHi ; CPU:$AB7C PRG:2B7C 84 90 lda #$23 ; CPU:$AB7E PRG:2B7E A9 23 jsr Sub_AB85 ; CPU:$AB80 PRG:2B80 20 85 AB lda #$27 ; CPU:$AB83 PRG:2B83 A9 27 @@ -6835,59 +8121,189 @@ Sub_AB85: sta PPUADDR ; CPU:$AB8A PRG:2B8A 8D 06 20 ldy #$00 ; CPU:$AB8D PRG:2B8D A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero42 -; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero42: - lda (Zp8F),y ; CPU:$AB8F PRG:2B8F B1 8F +NmiHandler_OnNonzero48: + lda (VramWritePtrLo),y ; CPU:$AB8F PRG:2B8F B1 8F sta PPUDATA ; CPU:$AB91 PRG:2B91 8D 07 20 iny ; CPU:$AB94 PRG:2B94 C8 cpy #$40 ; CPU:$AB95 PRG:2B95 C0 40 - bne NmiHandler_OnNonzero42 ; CPU:$AB97 PRG:2B97 D0 F6 + bne NmiHandler_OnNonzero48 ; CPU:$AB97 PRG:2B97 D0 F6 rts ; CPU:$AB99 PRG:2B99 60 -; ---- data $AB9A-$AD59 (448 bytes) ---- -; referenced by `lda $ACDA,x` at $839E (operand $ACDA falls inside this region) - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AB9A PRG:2B9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $A0, $A0, $A0, $A0, $A0, $A0, $A0, $A0 ; CPU:$ABAA PRG:2BAA 00 00 00 00 00 00 00 00 A0 A0 A0 A0 A0 A0 A0 A0 - .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$ABBA PRG:2BBA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA - .byte $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$ABCA PRG:2BCA FA FA FA FA FA FA FA FA FF FF FF FF FF FF FF FF - .byte $00, $00, $00, $00, $00, $00, $00, $00, $50, $50, $50, $50, $50, $50, $50, $50 ; CPU:$ABDA PRG:2BDA 00 00 00 00 00 00 00 00 50 50 50 50 50 50 50 50 - .byte $55, $AA, $AA, $AA, $AA, $AA, $AA, $55, $55, $5A, $5A, $5A, $5A, $5A, $5A, $55 ; CPU:$ABEA PRG:2BEA 55 AA AA AA AA AA AA 55 55 5A 5A 5A 5A 5A 5A 55 - .byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $5A, $5A, $5A, $5A, $5A, $5A, $55 ; CPU:$ABFA PRG:2BFA 55 55 55 55 55 55 55 55 55 5A 5A 5A 5A 5A 5A 55 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC0A PRG:2C0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC1A PRG:2C1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC2A PRG:2C2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$AC3A PRG:2C3A AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA - .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $0A, $0A, $0A, $0A, $0A, $02, $00, $00 ; CPU:$AC4A PRG:2C4A AA AA AA AA AA AA AA AA 0A 0A 0A 0A 0A 02 00 00 - .byte $55, $55, $55, $55, $55, $55, $55, $55, $A5, $A5, $A5, $A5, $A5, $A5, $A5, $A5 ; CPU:$AC5A PRG:2C5A 55 55 55 55 55 55 55 55 A5 A5 A5 A5 A5 A5 A5 A5 - .byte $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$AC6A PRG:2C6A FA FA FA FA FA FA FA FA 0F 0F 0F 0F 0F 0F 0F 0F - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC7A PRG:2C7A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC8A PRG:2C8A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AC9A PRG:2C9A 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:$ACAA PRG:2CAA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $AA, $AA, $AA, $EE, $FF, $BB, $EE, $FF, $55, $55, $55, $DD, $FF, $77, $DD ; CPU:$ACBA PRG:2CBA FF AA AA AA EE FF BB EE FF 55 55 55 DD FF 77 DD - .byte $FF, $F0, $F0, $F0, $FC, $FF, $F3, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$ACCA PRG:2CCA FF F0 F0 F0 FC FF F3 FC 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:$ACDA PRG:2CDA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $0F, $0F, $0F, $0F, $0F, $0F, $CF, $FF, $00, $00, $00, $00, $00, $00, $CC ; CPU:$ACEA PRG:2CEA FF 0F 0F 0F 0F 0F 0F CF FF 00 00 00 00 00 00 CC - .byte $FF, $00, $00, $00, $00, $00, $00, $CC, $FF, $00, $00, $00, $00, $00, $00, $CC ; CPU:$ACFA PRG:2CFA FF 00 00 00 00 00 00 CC FF 00 00 00 00 00 00 CC - .byte $FF, $F0, $F0, $F0, $F0, $F0, $F0, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AD0A PRG:2D0A FF F0 F0 F0 F0 F0 F0 FC FF FF FF FF FF FF FF FF - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AD1A PRG:2D1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $50, $50, $50, $50, $50, $50, $50, $50, $55, $55, $55, $55, $55, $55, $55, $55 ; CPU:$AD2A PRG:2D2A 50 50 50 50 50 50 50 50 55 55 55 55 55 55 55 55 - .byte $55, $55, $55, $55, $55, $55, $55, $55, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$AD3A PRG:2D3A 55 55 55 55 55 55 55 55 AA AA AA AA AA AA AA AA - .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$AD4A PRG:2D4A AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ; ----------------------------------------------------------------------------- -; Routine: Label_AD5A -; Global: Branch target inside Label: taken when AD5A. +; Routine: Label_AB9A +; Global: Branch target inside Label: taken when AB9A. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_AD5A: +Label_AB9A: + brk ; CPU:$AB9A PRG:2B9A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AB9B +; Global: Branch target inside Label: taken when AB9B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB9B: + brk ; CPU:$AB9B PRG:2B9B 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AB9C +; Global: Branch target inside Label: taken when AB9C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB9C: + brk ; CPU:$AB9C PRG:2B9C 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AB9D +; Global: Branch target inside Label: taken when AB9D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB9D: + brk ; CPU:$AB9D PRG:2B9D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AB9E +; Global: Branch target inside Label: taken when AB9E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB9E: + brk ; CPU:$AB9E PRG:2B9E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AB9F +; Global: Branch target inside Label: taken when AB9F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AB9F: + brk ; CPU:$AB9F PRG:2B9F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA0 +; Global: Branch target inside Label: taken when ABA0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA0: + brk ; CPU:$ABA0 PRG:2BA0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA1 +; Global: Branch target inside Label: taken when ABA1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA1: + brk ; CPU:$ABA1 PRG:2BA1 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA2 +; Global: Branch target inside Label: taken when ABA2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA2: + brk ; CPU:$ABA2 PRG:2BA2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA3 +; Global: Branch target inside Label: taken when ABA3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA3: + brk ; CPU:$ABA3 PRG:2BA3 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA4 +; Global: Branch target inside Label: taken when ABA4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA4: + brk ; CPU:$ABA4 PRG:2BA4 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA5 +; Global: Branch target inside Label: taken when ABA5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA5: + brk ; CPU:$ABA5 PRG:2BA5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ABA6 +; Global: Branch target inside Label: taken when ABA6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ABA6: + brk ; CPU:$ABA6 PRG:2BA6 00 +; ---- data $ABA7-$AD59 (435 bytes) ---- +; referenced by `lda $ACDA,x` at $839E (operand $ACDA falls inside this region) + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $A0, $A0, $A0, $A0 ; CPU:$ABA7 PRG:2BA7 00 00 00 00 00 00 00 00 00 00 00 A0 A0 A0 A0 A0 + .byte $A0, $A0, $A0, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$ABB7 PRG:2BB7 A0 A0 A0 AA AA AA AA AA AA AA AA AA AA AA AA AA + .byte $AA, $AA, $AA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FF, $FF, $FF, $FF, $FF ; CPU:$ABC7 PRG:2BC7 AA AA AA FA FA FA FA FA FA FA FA FF FF FF FF FF + .byte $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $50, $50, $50, $50, $50 ; CPU:$ABD7 PRG:2BD7 FF FF FF 00 00 00 00 00 00 00 00 50 50 50 50 50 + .byte $50, $50, $50, $55, $AA, $AA, $AA, $AA, $AA, $AA, $55, $55, $5A, $5A, $5A, $5A ; CPU:$ABE7 PRG:2BE7 50 50 50 55 AA AA AA AA AA AA 55 55 5A 5A 5A 5A + .byte $5A, $5A, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $5A, $5A, $5A, $5A ; CPU:$ABF7 PRG:2BF7 5A 5A 55 55 55 55 55 55 55 55 55 55 5A 5A 5A 5A + .byte $5A, $5A, $55, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC07 PRG:2C07 5A 5A 55 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC17 PRG:2C17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC27 PRG:2C27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$AC37 PRG:2C37 00 00 00 AA AA AA AA AA AA AA AA AA AA AA AA AA + .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $0A, $0A, $0A, $0A, $0A ; CPU:$AC47 PRG:2C47 AA AA AA AA AA AA AA AA AA AA AA 0A 0A 0A 0A 0A + .byte $02, $00, $00, $55, $55, $55, $55, $55, $55, $55, $55, $A5, $A5, $A5, $A5, $A5 ; CPU:$AC57 PRG:2C57 02 00 00 55 55 55 55 55 55 55 55 A5 A5 A5 A5 A5 + .byte $A5, $A5, $A5, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $FA, $0F, $0F, $0F, $0F, $0F ; CPU:$AC67 PRG:2C67 A5 A5 A5 FA FA FA FA FA FA FA FA 0F 0F 0F 0F 0F + .byte $0F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC77 PRG:2C77 0F 0F 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AC87 PRG:2C87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AC97 PRG:2C97 00 00 00 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:$ACA7 PRG:2CA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $AA, $AA, $AA, $EE, $FF, $BB, $EE, $FF, $55, $55, $55, $DD ; CPU:$ACB7 PRG:2CB7 FF FF FF FF AA AA AA EE FF BB EE FF 55 55 55 DD + .byte $FF, $77, $DD, $FF, $F0, $F0, $F0, $FC, $FF, $F3, $FC, $FF, $FF, $FF, $FF, $FF ; CPU:$ACC7 PRG:2CC7 FF 77 DD FF F0 F0 F0 FC FF F3 FC FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$ACD7 PRG:2CD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $0F, $0F, $0F, $0F, $0F, $0F, $CF, $FF, $00, $00, $00, $00 ; CPU:$ACE7 PRG:2CE7 FF FF FF FF 0F 0F 0F 0F 0F 0F CF FF 00 00 00 00 + .byte $00, $00, $CC, $FF, $00, $00, $00, $00, $00, $00, $CC, $FF, $00, $00, $00, $00 ; CPU:$ACF7 PRG:2CF7 00 00 CC FF 00 00 00 00 00 00 CC FF 00 00 00 00 + .byte $00, $00, $CC, $FF, $F0, $F0, $F0, $F0, $F0, $F0, $FC, $FF, $FF, $FF, $FF, $FF ; CPU:$AD07 PRG:2D07 00 00 CC FF F0 F0 F0 F0 F0 F0 FC FF FF FF FF FF + .byte $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$AD17 PRG:2D17 FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $50, $50, $50, $50, $50, $50, $50, $50, $55, $55, $55, $55, $55 ; CPU:$AD27 PRG:2D27 00 00 00 50 50 50 50 50 50 50 50 55 55 55 55 55 + .byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $AA, $AA, $AA, $AA, $AA ; CPU:$AD37 PRG:2D37 55 55 55 55 55 55 55 55 55 55 55 AA AA AA AA AA + .byte $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA ; CPU:$AD47 PRG:2D47 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA + .byte $AA, $AA, $AA ; CPU:$AD57 PRG:2D57 AA AA AA +; ----------------------------------------------------------------------------- +; Routine: Sub_AD5A +; Global: Branch target inside Sub: taken when AD5A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AD5A: lda #$20 ; CPU:$AD5A PRG:2D5A A9 20 sta PPUADDR ; CPU:$AD5C PRG:2D5C 8D 06 20 lda #$C0 ; CPU:$AD5F PRG:2D5F A9 C0 @@ -6908,18 +8324,18 @@ Label_AD5A: Sub_AD71: ldx #$00 ; CPU:$AD71 PRG:2D71 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero43 -; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero43: +NmiHandler_OnNonzero49: lda $AD7D,x ; CPU:$AD73 PRG:2D73 BD 7D AD sta PPUDATA ; CPU:$AD76 PRG:2D76 8D 07 20 inx ; CPU:$AD79 PRG:2D79 E8 - bne NmiHandler_OnNonzero43 ; CPU:$AD7A PRG:2D7A D0 F7 + bne NmiHandler_OnNonzero49 ; CPU:$AD7A PRG:2D7A D0 F7 rts ; CPU:$AD7C PRG:2D7C 60 ; ---- data $AD7D-$AE7C (256 bytes) ---- ; referenced by `lda $AE0D,x` at $A5BB (operand $AE0D falls inside this region) @@ -6942,14 +8358,14 @@ NmiHandler_OnNonzero43: .byte $00, $40, $41, $43, $46, $49, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$AE5D PRG:2E5D 00 40 41 43 46 49 01 01 01 01 01 01 01 01 01 01 .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $49, $49, $73, $70, $71, $00 ; CPU:$AE6D PRG:2E6D 01 01 01 01 01 01 01 01 01 01 49 49 73 70 71 00 ; ----------------------------------------------------------------------------- -; Routine: Label_AE7D -; Global: Branch target inside Label: taken when AE7D. -; Local: Part of Label. +; Routine: Sub_AE7D +; Global: Branch target inside Sub: taken when AE7D. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_AE7D: +Sub_AE7D: lda #$78 ; CPU:$AE7D PRG:2E7D A9 78 sta Zp93 ; CPU:$AE7F PRG:2E7F 85 93 lda Zp10 ; CPU:$AE81 PRG:2E81 A5 10 @@ -6972,16 +8388,16 @@ Sub_AE8E: ror a ; CPU:$AE90 PRG:2E90 6A lda Zp7B ; CPU:$AE91 PRG:2E91 A5 7B ror a ; CPU:$AE93 PRG:2E93 6A - sta Zp95 ; CPU:$AE94 PRG:2E94 85 95 + sta PlayerX ; CPU:$AE94 PRG:2E94 85 95 lda Zp10 ; CPU:$AE96 PRG:2E96 A5 10 ror a ; CPU:$AE98 PRG:2E98 6A lda Zp11 ; CPU:$AE99 PRG:2E99 A5 11 ror a ; CPU:$AE9B PRG:2E9B 6A sec ; CPU:$AE9C PRG:2E9C 38 - sbc Zp95 ; CPU:$AE9D PRG:2E9D E5 95 - beq NmiHandler_Loop154 ; CPU:$AE9F PRG:2E9F F0 52 + sbc PlayerX ; CPU:$AE9D PRG:2E9D E5 95 + beq NmiHandler_Loop187 ; CPU:$AE9F PRG:2E9F F0 52 sta Zp93 ; CPU:$AEA1 PRG:2EA1 85 93 - lda Zp95 ; CPU:$AEA3 PRG:2EA3 A5 95 + lda PlayerX ; CPU:$AEA3 PRG:2EA3 A5 95 clc ; CPU:$AEA5 PRG:2EA5 18 adc #$78 ; CPU:$AEA6 PRG:2EA6 69 78 ; ----------------------------------------------------------------------------- @@ -6997,10 +8413,10 @@ Sub_AEA8: lda Zp7B ; CPU:$AEA9 PRG:2EA9 A5 7B clc ; CPU:$AEAB PRG:2EAB 18 adc #$F0 ; CPU:$AEAC PRG:2EAC 69 F0 - sta Zp95 ; CPU:$AEAE PRG:2EAE 85 95 + sta PlayerX ; CPU:$AEAE PRG:2EAE 85 95 lda Zp7A ; CPU:$AEB0 PRG:2EB0 A5 7A adc #$00 ; CPU:$AEB2 PRG:2EB2 69 00 - sta Zp96 ; CPU:$AEB4 PRG:2EB4 85 96 + sta PlayerY ; CPU:$AEB4 PRG:2EB4 85 96 tay ; CPU:$AEB6 PRG:2EB6 A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_AEB7 @@ -7011,25 +8427,25 @@ Sub_AEA8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_AEB7: - lda Zp95 ; CPU:$AEB7 PRG:2EB7 A5 95 + lda PlayerX ; CPU:$AEB7 PRG:2EB7 A5 95 ror a ; CPU:$AEB9 PRG:2EB9 6A and #$7F ; CPU:$AEBA PRG:2EBA 29 7F sta Zp94 ; CPU:$AEBC PRG:2EBC 85 94 and #$01 ; CPU:$AEBE PRG:2EBE 29 01 - sta Zp97 ; CPU:$AEC0 PRG:2EC0 85 97 + sta PlayerZ ; CPU:$AEC0 PRG:2EC0 85 97 lda (Zp73),y ; CPU:$AEC2 PRG:2EC2 B1 73 asl a ; CPU:$AEC4 PRG:2EC4 0A - ora Zp97 ; CPU:$AEC5 PRG:2EC5 05 97 + ora PlayerZ ; CPU:$AEC5 PRG:2EC5 05 97 tay ; CPU:$AEC7 PRG:2EC7 A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero44 -; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero44: +NmiHandler_OnNonzero50: lda $FE00,y ; CPU:$AEC8 PRG:2EC8 B9 00 FE sta $0500,x ; CPU:$AECB PRG:2ECB 9D 00 05 inx ; CPU:$AECE PRG:2ECE E8 @@ -7037,44 +8453,98 @@ NmiHandler_OnNonzero44: eor #$01 ; CPU:$AED0 PRG:2ED0 49 01 tay ; CPU:$AED2 PRG:2ED2 A8 dec Zp93 ; CPU:$AED3 PRG:2ED3 C6 93 - beq NmiHandler_Loop154 ; CPU:$AED5 PRG:2ED5 F0 1C + beq NmiHandler_Loop187 ; CPU:$AED5 PRG:2ED5 F0 1C inc Zp94 ; CPU:$AED7 PRG:2ED7 E6 94 lda Zp94 ; CPU:$AED9 PRG:2ED9 A5 94 cmp #$80 ; CPU:$AEDB PRG:2EDB C9 80 - bne NmiHandler_OnNonzero44 ; CPU:$AEDD PRG:2EDD D0 E9 - ldy Zp96 ; CPU:$AEDF PRG:2EDF A4 96 + bne NmiHandler_OnNonzero50 ; CPU:$AEDD PRG:2EDD D0 E9 + ldy PlayerY ; CPU:$AEDF PRG:2EDF A4 96 iny ; CPU:$AEE1 PRG:2EE1 C8 lda #$00 ; CPU:$AEE2 PRG:2EE2 A9 00 - sta Zp95 ; CPU:$AEE4 PRG:2EE4 85 95 + sta PlayerX ; CPU:$AEE4 PRG:2EE4 85 95 jmp Sub_AEB7 ; CPU:$AEE6 PRG:2EE6 4C B7 AE -; ---- data $AEE9-$AEF2 (10 bytes) ---- - .byte $A4, $96, $C8, $A9, $00, $85, $95, $4C, $B7, $AE ; CPU:$AEE9 PRG:2EE9 A4 96 C8 A9 00 85 95 4C B7 AE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop154 -; Global: Branch target inside NmiHandler: taken when Loop154. +; Routine: Label_AEE9 +; Global: Branch target inside Label: taken when AEE9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AEE9: + ldy PlayerY ; CPU:$AEE9 PRG:2EE9 A4 96 + iny ; CPU:$AEEB PRG:2EEB C8 + lda #$00 ; CPU:$AEEC PRG:2EEC A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AEEE +; Global: Branch target inside Label: taken when AEEE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AEEE: + sta PlayerX ; CPU:$AEEE PRG:2EEE 85 95 + jmp Sub_AEB7 ; CPU:$AEF0 PRG:2EF0 4C B7 AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop154: +NmiHandler_Loop187: rts ; CPU:$AEF3 PRG:2EF3 60 -; ---- data $AEF4-$AF07 (20 bytes) ---- - .byte $A0, $07, $B9, $00, $AF, $99, $00, $04, $88, $10, $F7, $60, $76, $F0, $20, $00 ; CPU:$AEF4 PRG:2EF4 A0 07 B9 00 AF 99 00 04 88 10 F7 60 76 F0 20 00 - .byte $1F, $A2, $00, $30 ; CPU:$AF04 PRG:2F04 1F A2 00 30 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero4 -; Global: Branch target inside NmiHandler: taken when OnZero4. +; Routine: Sub_AEF4 +; Global: Branch target inside Sub: taken when AEF4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEF4: + ldy #$07 ; CPU:$AEF4 PRG:2EF4 A0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero4: - inc Zp0F ; CPU:$AF08 PRG:2F08 E6 0F - lda #$00 ; CPU:$AF0A PRG:2F0A A9 00 +NmiHandler_OnNonnegative5: + lda $AF00,y ; CPU:$AEF6 PRG:2EF6 B9 00 AF + sta $0400,y ; CPU:$AEF9 PRG:2EF9 99 00 04 + dey ; CPU:$AEFC PRG:2EFC 88 + bpl NmiHandler_OnNonnegative5 ; CPU:$AEFD PRG:2EFD 10 F7 + rts ; CPU:$AEFF PRG:2EFF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AF00 +; Global: Branch target inside Label: taken when AF00. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AF00: + ror ZpF0,x ; CPU:$AF00 PRG:2F00 76 F0 + jsr $1F00 ; CPU:$AF02 PRG:2F02 20 00 1F + ldx #$00 ; CPU:$AF05 PRG:2F05 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AF07 +; Global: Branch target inside Label: taken when AF07. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AF07: + .byte $30, $E6 ; CPU:$AF07 PRG:2F07 30 E6 + .byte $0F, $A9, $00 ; CPU:$AF09 PRG:2F09 0F A9 00 -- slo a:$00A9 (undocumented; ca65 cannot encode) sta Zp71 ; CPU:$AF0C PRG:2F0C 85 71 - lda Zp14 ; CPU:$AF0E PRG:2F0E A5 14 + lda GameState ; CPU:$AF0E PRG:2F0E A5 14 lsr a ; CPU:$AF10 PRG:2F10 4A lsr a ; CPU:$AF11 PRG:2F11 4A lsr a ; CPU:$AF12 PRG:2F12 4A @@ -7085,7 +8555,7 @@ NmiHandler_OnZero4: sta Zp9A ; CPU:$AF19 PRG:2F19 85 9A lda #$0B ; CPU:$AF1B PRG:2F1B A9 0B jsr Sub_B6B4 ; CPU:$AF1D PRG:2F1D 20 B4 B6 - jmp NmiHandler_Loop163 ; CPU:$AF20 PRG:2F20 4C DE AF + jmp NmiHandler_Loop196 ; CPU:$AF20 PRG:2F20 4C DE AF ; ---- data $AF23-$AF2A (8 bytes) ---- ; referenced by `lda $AF23,x` at $AF16 (operand $AF23 falls inside this region) .byte $04, $05, $06, $07, $07, $07, $07, $07 ; CPU:$AF23 PRG:2F23 04 05 06 07 07 07 07 07 @@ -7101,24 +8571,24 @@ Label_AF2B: inc Zp99 ; CPU:$AF2B PRG:2F2B E6 99 lda Zp99 ; CPU:$AF2D PRG:2F2D A5 99 cmp #$02 ; CPU:$AF2F PRG:2F2F C9 02 - beq NmiHandler_OnZero4 ; CPU:$AF31 PRG:2F31 F0 D5 - jmp NmiHandler_Loop163 ; CPU:$AF33 PRG:2F33 4C DE AF + .byte $F0, $D5 ; CPU:$AF31 PRG:2F31 F0 D5 + jmp NmiHandler_Loop196 ; CPU:$AF33 PRG:2F33 4C DE AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative5 -; Global: Branch target inside NmiHandler: taken when OnNonnegative5. +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative5: - lda Zp0F ; CPU:$AF36 PRG:2F36 A5 0F +NmiHandler_OnNonnegative6: + lda ObjectIndex ; CPU:$AF36 PRG:2F36 A5 0F cmp #$15 ; CPU:$AF38 PRG:2F38 C9 15 - bne NmiHandler_Loop155 ; CPU:$AF3A PRG:2F3A D0 1C + bne NmiHandler_Loop188 ; CPU:$AF3A PRG:2F3A D0 1C lda #$08 ; CPU:$AF3C PRG:2F3C A9 08 - sta Zp0F ; CPU:$AF3E PRG:2F3E 85 0F + sta ObjectIndex ; CPU:$AF3E PRG:2F3E 85 0F jsr Sub_B6B4 ; CPU:$AF40 PRG:2F40 20 B4 B6 - lda Zp14 ; CPU:$AF43 PRG:2F43 A5 14 + lda GameState ; CPU:$AF43 PRG:2F43 A5 14 lsr a ; CPU:$AF45 PRG:2F45 4A lsr a ; CPU:$AF46 PRG:2F46 4A lsr a ; CPU:$AF47 PRG:2F47 4A @@ -7131,23 +8601,23 @@ NmiHandler_OnNonnegative5: sta Zp68 ; CPU:$AF53 PRG:2F53 85 68 jmp Sub_967D ; CPU:$AF55 PRG:2F55 4C 7D 96 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop155 -; Global: Branch target inside NmiHandler: taken when Loop155. +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop155: +NmiHandler_Loop188: lda #$01 ; CPU:$AF58 PRG:2F58 A9 01 - sta Zp0F ; CPU:$AF5A PRG:2F5A 85 0F + sta ObjectIndex ; CPU:$AF5A PRG:2F5A 85 0F lda #$08 ; CPU:$AF5C PRG:2F5C A9 08 jsr Sub_B6B4 ; CPU:$AF5E PRG:2F5E 20 B4 B6 lda #$00 ; CPU:$AF61 PRG:2F61 A9 00 sta Zp9A ; CPU:$AF63 PRG:2F63 85 9A sta Zp99 ; CPU:$AF65 PRG:2F65 85 99 sta Zp68 ; CPU:$AF67 PRG:2F67 85 68 - jmp NmiHandler_Loop163 ; CPU:$AF69 PRG:2F69 4C DE AF + jmp NmiHandler_Loop196 ; CPU:$AF69 PRG:2F69 4C DE AF ; ----------------------------------------------------------------------------- ; Routine: Sub_AF6C ; Global: Branch target inside Sub: taken when AF6C. @@ -7158,92 +8628,92 @@ NmiHandler_Loop155: ; ----------------------------------------------------------------------------- Sub_AF6C: lda Zp68 ; CPU:$AF6C PRG:2F6C A5 68 - beq NmiHandler_Loop156 ; CPU:$AF6E PRG:2F6E F0 09 + beq NmiHandler_Loop189 ; CPU:$AF6E PRG:2F6E F0 09 lda Zp86 ; CPU:$AF70 PRG:2F70 A5 86 and #$04 ; CPU:$AF72 PRG:2F72 29 04 - beq NmiHandler_Loop156 ; CPU:$AF74 PRG:2F74 F0 03 + beq NmiHandler_Loop189 ; CPU:$AF74 PRG:2F74 F0 03 jmp Sub_82E7 ; CPU:$AF76 PRG:2F76 4C E7 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop156 -; Global: Branch target inside NmiHandler: taken when Loop156. +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop156: +NmiHandler_Loop189: inc Zp71 ; CPU:$AF79 PRG:2F79 E6 71 lda Zp71 ; CPU:$AF7B PRG:2F7B A5 71 and #$01 ; CPU:$AF7D PRG:2F7D 29 01 - bne NmiHandler_Loop160 ; CPU:$AF7F PRG:2F7F D0 27 + bne NmiHandler_Loop193 ; CPU:$AF7F PRG:2F7F D0 27 lda Zp71 ; CPU:$AF81 PRG:2F81 A5 71 and #$02 ; CPU:$AF83 PRG:2F83 29 02 - beq NmiHandler_Loop157 ; CPU:$AF85 PRG:2F85 F0 02 + beq NmiHandler_Loop190 ; CPU:$AF85 PRG:2F85 F0 02 dec Zp9A ; CPU:$AF87 PRG:2F87 C6 9A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop157 -; Global: Branch target inside NmiHandler: taken when Loop157. +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop157: +NmiHandler_Loop190: lda Zp9A ; CPU:$AF89 PRG:2F89 A5 9A - bmi NmiHandler_Loop159 ; CPU:$AF8B PRG:2F8B 30 12 + bmi NmiHandler_Loop192 ; CPU:$AF8B PRG:2F8B 30 12 lda Zp99 ; CPU:$AF8D PRG:2F8D A5 99 sec ; CPU:$AF8F PRG:2F8F 38 sbc Zp9A ; CPU:$AF90 PRG:2F90 E5 9A - bmi NmiHandler_Loop158 ; CPU:$AF92 PRG:2F92 30 06 + bmi NmiHandler_Loop191 ; CPU:$AF92 PRG:2F92 30 06 lda #$00 ; CPU:$AF94 PRG:2F94 A9 00 sta Zp9A ; CPU:$AF96 PRG:2F96 85 9A lda #$80 ; CPU:$AF98 PRG:2F98 A9 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop158 -; Global: Branch target inside NmiHandler: taken when Loop158. +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop158: +NmiHandler_Loop191: sta Zp99 ; CPU:$AF9A PRG:2F9A 85 99 - jmp NmiHandler_Loop163 ; CPU:$AF9C PRG:2F9C 4C DE AF + jmp NmiHandler_Loop196 ; CPU:$AF9C PRG:2F9C 4C DE AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop159 -; Global: Branch target inside NmiHandler: taken when Loop159. +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop159: +NmiHandler_Loop192: lda Zp99 ; CPU:$AF9F PRG:2F9F A5 99 sec ; CPU:$AFA1 PRG:2FA1 38 sbc Zp9A ; CPU:$AFA2 PRG:2FA2 E5 9A sta Zp99 ; CPU:$AFA4 PRG:2FA4 85 99 - bpl NmiHandler_OnNonnegative5 ; CPU:$AFA6 PRG:2FA6 10 8E + bpl NmiHandler_OnNonnegative6 ; CPU:$AFA6 PRG:2FA6 10 8E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop160 -; Global: Branch target inside NmiHandler: taken when Loop160. +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop160: - jmp NmiHandler_Loop163 ; CPU:$AFA8 PRG:2FA8 4C DE AF +NmiHandler_Loop193: + jmp NmiHandler_Loop196 ; CPU:$AFA8 PRG:2FA8 4C DE AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero45 -; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero45: +NmiHandler_OnNonzero51: lda #$0A ; CPU:$AFAB PRG:2FAB A9 0A - sta Zp0F ; CPU:$AFAD PRG:2FAD 85 0F + sta ObjectIndex ; CPU:$AFAD PRG:2FAD 85 0F lda #$00 ; CPU:$AFAF PRG:2FAF A9 00 sta Zp71 ; CPU:$AFB1 PRG:2FB1 85 71 jmp Sub_AF6C ; CPU:$AFB3 PRG:2FB3 4C 6C AF @@ -7257,21 +8727,21 @@ NmiHandler_OnNonzero45: ; ----------------------------------------------------------------------------- Sub_AFB6: lda Zp8A ; CPU:$AFB6 PRG:2FB6 A5 8A - beq NmiHandler_Loop161 ; CPU:$AFB8 PRG:2FB8 F0 07 + beq NmiHandler_Loop194 ; CPU:$AFB8 PRG:2FB8 F0 07 dec Zp8A ; CPU:$AFBA PRG:2FBA C6 8A lda Zp86 ; CPU:$AFBC PRG:2FBC A5 86 jmp Sub_AFC8 ; CPU:$AFBE PRG:2FBE 4C C8 AF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop161 -; Global: Branch target inside NmiHandler: taken when Loop161. +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop161: +NmiHandler_Loop194: lda $0793 ; CPU:$AFC1 PRG:2FC1 AD 93 07 - bne NmiHandler_Loop162 ; CPU:$AFC4 PRG:2FC4 D0 06 + bne NmiHandler_Loop195 ; CPU:$AFC4 PRG:2FC4 D0 06 lda #$00 ; CPU:$AFC6 PRG:2FC6 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_AFC8 @@ -7285,32 +8755,32 @@ Sub_AFC8: ora #$04 ; CPU:$AFC8 PRG:2FC8 09 04 sta Zp86 ; CPU:$AFCA PRG:2FCA 85 86 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop162 -; Global: Branch target inside NmiHandler: taken when Loop162. +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop162: +NmiHandler_Loop195: lda #$00 ; CPU:$AFCC PRG:2FCC A9 00 sta Zp99 ; CPU:$AFCE PRG:2FCE 85 99 lda Zp9A ; CPU:$AFD0 PRG:2FD0 A5 9A - bne NmiHandler_OnNonzero45 ; CPU:$AFD2 PRG:2FD2 D0 D7 + bne NmiHandler_OnNonzero51 ; CPU:$AFD2 PRG:2FD2 D0 D7 lda Zp86 ; CPU:$AFD4 PRG:2FD4 A5 86 and #$C0 ; CPU:$AFD6 PRG:2FD6 29 C0 - beq NmiHandler_Loop163 ; CPU:$AFD8 PRG:2FD8 F0 04 + beq NmiHandler_Loop196 ; CPU:$AFD8 PRG:2FD8 F0 04 lda #$09 ; CPU:$AFDA PRG:2FDA A9 09 - sta Zp0F ; CPU:$AFDC PRG:2FDC 85 0F + sta ObjectIndex ; CPU:$AFDC PRG:2FDC 85 0F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop163 -; Global: Branch target inside NmiHandler: taken when Loop163. +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop163: +NmiHandler_Loop196: jsr Sub_9670 ; CPU:$AFDE PRG:2FDE 20 70 96 lda #$00 ; CPU:$AFE1 PRG:2FE1 A9 00 sta Zp88 ; CPU:$AFE3 PRG:2FE3 85 88 @@ -7338,17 +8808,17 @@ Sub_AFF9: lda #$00 ; CPU:$B004 PRG:3004 A9 00 sta $0703,y ; CPU:$B006 PRG:3006 99 03 07 lda Zp13 ; CPU:$B009 PRG:3009 A5 13 - bpl NmiHandler_Loop164 ; CPU:$B00B PRG:300B 10 02 + bpl NmiHandler_Loop197 ; CPU:$B00B PRG:300B 10 02 eor #$FF ; CPU:$B00D PRG:300D 49 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop164 -; Global: Branch target inside NmiHandler: taken when Loop164. +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop164: +NmiHandler_Loop197: and #$7F ; CPU:$B00F PRG:300F 29 7F lsr a ; CPU:$B011 PRG:3011 4A lsr a ; CPU:$B012 PRG:3012 4A @@ -7360,20 +8830,20 @@ NmiHandler_Loop164: sta $0705,y ; CPU:$B01C PRG:301C 99 05 07 lda #$68 ; CPU:$B01F PRG:301F A9 68 sta $0704,y ; CPU:$B021 PRG:3021 99 04 07 - jmp NmiHandler_Loop63 ; CPU:$B024 PRG:3024 4C 13 93 + jmp NmiHandler_Loop77 ; CPU:$B024 PRG:3024 4C 13 93 ; ---- data $B027-$B046 (32 bytes) ---- ; referenced by `lda $B027,x` at $B014 (operand $B027 falls inside this region) .byte $FC, $FC, $FD, $FD, $FD, $FE, $FE, $FE, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$B027 PRG:3027 FC FC FD FD FD FE FE FE FE FE FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B037 PRG:3037 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative3 -; Global: Branch target inside NmiHandler: taken when OnNegative3. +; Routine: NmiHandler_OnNegative4 +; Global: Branch target inside NmiHandler: taken when OnNegative4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative3: +NmiHandler_OnNegative4: lsr a ; CPU:$B047 PRG:3047 4A lsr a ; CPU:$B048 PRG:3048 4A lsr a ; CPU:$B049 PRG:3049 4A @@ -7391,16 +8861,16 @@ Sub_B04F: lda Zp12 ; CPU:$B04F PRG:304F A5 12 sec ; CPU:$B051 PRG:3051 38 sbc Zp7C ; CPU:$B052 PRG:3052 E5 7C - sta Zp95 ; CPU:$B054 PRG:3054 85 95 + sta PlayerX ; CPU:$B054 PRG:3054 85 95 lda Zp11 ; CPU:$B056 PRG:3056 A5 11 sbc Zp7B ; CPU:$B058 PRG:3058 E5 7B lsr a ; CPU:$B05A PRG:305A 4A - sta Zp96 ; CPU:$B05B PRG:305B 85 96 - ror Zp95 ; CPU:$B05D PRG:305D 66 95 - lsr Zp96 ; CPU:$B05F PRG:305F 46 96 - ror Zp95 ; CPU:$B061 PRG:3061 66 95 + sta PlayerY ; CPU:$B05B PRG:305B 85 96 + ror PlayerX ; CPU:$B05D PRG:305D 66 95 + lsr PlayerY ; CPU:$B05F PRG:305F 46 96 + ror PlayerX ; CPU:$B061 PRG:3061 66 95 lda Zp16 ; CPU:$B063 PRG:3063 A5 16 - bmi NmiHandler_OnNegative3 ; CPU:$B065 PRG:3065 30 E0 + bmi NmiHandler_OnNegative4 ; CPU:$B065 PRG:3065 30 E0 lsr a ; CPU:$B067 PRG:3067 4A lsr a ; CPU:$B068 PRG:3068 4A lsr a ; CPU:$B069 PRG:3069 4A @@ -7413,114 +8883,114 @@ Sub_B04F: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B06A: - sty Zp8F ; CPU:$B06A PRG:306A 84 8F + sty VramWritePtrLo ; CPU:$B06A PRG:306A 84 8F ldy Zp10 ; CPU:$B06C PRG:306C A4 10 sec ; CPU:$B06E PRG:306E 38 sbc (Zp73),y ; CPU:$B06F PRG:306F F1 73 - ldy Zp8F ; CPU:$B071 PRG:3071 A4 8F + ldy VramWritePtrLo ; CPU:$B071 PRG:3071 A4 8F clc ; CPU:$B073 PRG:3073 18 adc #$02 ; CPU:$B074 PRG:3074 69 02 tax ; CPU:$B076 PRG:3076 AA - beq NmiHandler_Loop165 ; CPU:$B077 PRG:3077 F0 21 - bpl NmiHandler_OnNonzero46 ; CPU:$B079 PRG:3079 10 09 + beq NmiHandler_Loop198 ; CPU:$B077 PRG:3077 F0 21 + bpl NmiHandler_OnNonzero52 ; CPU:$B079 PRG:3079 10 09 eor #$FF ; CPU:$B07B PRG:307B 49 FF clc ; CPU:$B07D PRG:307D 18 adc #$01 ; CPU:$B07E PRG:307E 69 01 tax ; CPU:$B080 PRG:3080 AA jsr Sub_B0C3 ; CPU:$B081 PRG:3081 20 C3 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero46 -; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero46: - lda Zp96 ; CPU:$B084 PRG:3084 A5 96 - bmi NmiHandler_Loop166 ; CPU:$B086 PRG:3086 30 13 +NmiHandler_OnNonzero52: + lda PlayerY ; CPU:$B084 PRG:3084 A5 96 + bmi NmiHandler_Loop199 ; CPU:$B086 PRG:3086 30 13 lda Zp82 ; CPU:$B088 PRG:3088 A5 82 clc ; CPU:$B08A PRG:308A 18 - adc Zp95 ; CPU:$B08B PRG:308B 65 95 + adc PlayerX ; CPU:$B08B PRG:308B 65 95 sta Zp82 ; CPU:$B08D PRG:308D 85 82 lda Zp13 ; CPU:$B08F PRG:308F A5 13 - adc Zp96 ; CPU:$B091 PRG:3091 65 96 - bcs NmiHandler_Loop168 ; CPU:$B093 PRG:3093 B0 20 + adc PlayerY ; CPU:$B091 PRG:3091 65 96 + bcs NmiHandler_Loop201 ; CPU:$B093 PRG:3093 B0 20 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet2 -; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet2: +NmiHandler_OnCarrySet4: sta Zp13 ; CPU:$B095 PRG:3095 85 13 dex ; CPU:$B097 PRG:3097 CA - bne NmiHandler_OnNonzero46 ; CPU:$B098 PRG:3098 D0 EA + bne NmiHandler_OnNonzero52 ; CPU:$B098 PRG:3098 D0 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop165 -; Global: Branch target inside NmiHandler: taken when Loop165. +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop165: +NmiHandler_Loop198: rts ; CPU:$B09A PRG:309A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop166 -; Global: Branch target inside NmiHandler: taken when Loop166. +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop166: +NmiHandler_Loop199: lda Zp82 ; CPU:$B09B PRG:309B A5 82 clc ; CPU:$B09D PRG:309D 18 - adc Zp95 ; CPU:$B09E PRG:309E 65 95 + adc PlayerX ; CPU:$B09E PRG:309E 65 95 sta Zp82 ; CPU:$B0A0 PRG:30A0 85 82 lda Zp13 ; CPU:$B0A2 PRG:30A2 A5 13 - adc Zp96 ; CPU:$B0A4 PRG:30A4 65 96 - bcs NmiHandler_OnCarrySet2 ; CPU:$B0A6 PRG:30A6 B0 ED + adc PlayerY ; CPU:$B0A4 PRG:30A4 65 96 + bcs NmiHandler_OnCarrySet4 ; CPU:$B0A6 PRG:30A6 B0 ED lda Zp16 ; CPU:$B0A8 PRG:30A8 A5 16 - bpl NmiHandler_Loop167 ; CPU:$B0AA PRG:30AA 10 04 + bpl NmiHandler_Loop200 ; CPU:$B0AA PRG:30AA 10 04 lda #$00 ; CPU:$B0AC PRG:30AC A9 00 sta Zp16 ; CPU:$B0AE PRG:30AE 85 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop167 -; Global: Branch target inside NmiHandler: taken when Loop167. +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop167: +NmiHandler_Loop200: lda #$00 ; CPU:$B0B0 PRG:30B0 A9 00 jmp Sub_B0BF ; CPU:$B0B2 PRG:30B2 4C BF B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop168 -; Global: Branch target inside NmiHandler: taken when Loop168. +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop168: +NmiHandler_Loop201: lda Zp16 ; CPU:$B0B5 PRG:30B5 A5 16 - bmi NmiHandler_Loop169 ; CPU:$B0B7 PRG:30B7 30 04 + bmi NmiHandler_Loop202 ; CPU:$B0B7 PRG:30B7 30 04 lda #$00 ; CPU:$B0B9 PRG:30B9 A9 00 sta Zp16 ; CPU:$B0BB PRG:30BB 85 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop169 -; Global: Branch target inside NmiHandler: taken when Loop169. +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop169: +NmiHandler_Loop202: lda #$FF ; CPU:$B0BD PRG:30BD A9 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_B0BF @@ -7544,11 +9014,11 @@ Sub_B0BF: Sub_B0C3: lda #$00 ; CPU:$B0C3 PRG:30C3 A9 00 sec ; CPU:$B0C5 PRG:30C5 38 - sbc Zp95 ; CPU:$B0C6 PRG:30C6 E5 95 - sta Zp95 ; CPU:$B0C8 PRG:30C8 85 95 + sbc PlayerX ; CPU:$B0C6 PRG:30C6 E5 95 + sta PlayerX ; CPU:$B0C8 PRG:30C8 85 95 lda #$00 ; CPU:$B0CA PRG:30CA A9 00 - sbc Zp96 ; CPU:$B0CC PRG:30CC E5 96 - sta Zp96 ; CPU:$B0CE PRG:30CE 85 96 + sbc PlayerY ; CPU:$B0CC PRG:30CC E5 96 + sta PlayerY ; CPU:$B0CE PRG:30CE 85 96 rts ; CPU:$B0D0 PRG:30D0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B0D1 @@ -7561,11 +9031,11 @@ Sub_B0C3: Sub_B0D1: lda Zp86 ; CPU:$B0D1 PRG:30D1 A5 86 and #$04 ; CPU:$B0D3 PRG:30D3 29 04 - bne NmiHandler_Loop171 ; CPU:$B0D5 PRG:30D5 D0 23 + bne NmiHandler_Loop204 ; CPU:$B0D5 PRG:30D5 D0 23 lda Zp6B ; CPU:$B0D7 PRG:30D7 A5 6B - bne NmiHandler_Loop173 ; CPU:$B0D9 PRG:30D9 D0 40 + bne NmiHandler_Loop206 ; CPU:$B0D9 PRG:30D9 D0 40 lda Zp16 ; CPU:$B0DB PRG:30DB A5 16 - bmi NmiHandler_Loop170 ; CPU:$B0DD PRG:30DD 30 13 + bmi NmiHandler_Loop203 ; CPU:$B0DD PRG:30DD 30 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_B0DF ; Global: Branch target inside Sub: taken when B0DF. @@ -7595,34 +9065,34 @@ Sub_B0E9: sta $0701,y ; CPU:$B0EE PRG:30EE 99 01 07 rts ; CPU:$B0F1 PRG:30F1 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop170 -; Global: Branch target inside NmiHandler: taken when Loop170. +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop170: +NmiHandler_Loop203: eor #$FF ; CPU:$B0F2 PRG:30F2 49 FF clc ; CPU:$B0F4 PRG:30F4 18 adc #$41 ; CPU:$B0F5 PRG:30F5 69 41 jmp Sub_B0DF ; CPU:$B0F7 PRG:30F7 4C DF B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop171 -; Global: Branch target inside NmiHandler: taken when Loop171. +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop171: +NmiHandler_Loop204: lda Zp68 ; CPU:$B0FA PRG:30FA A5 68 - beq NmiHandler_Loop172 ; CPU:$B0FC PRG:30FC F0 18 + beq NmiHandler_Loop205 ; CPU:$B0FC PRG:30FC F0 18 lda Zp86 ; CPU:$B0FE PRG:30FE A5 86 ror a ; CPU:$B100 PRG:3100 6A - bcs NmiHandler_Loop174 ; CPU:$B101 PRG:3101 B0 1D + bcs NmiHandler_Loop207 ; CPU:$B101 PRG:3101 B0 1D ror a ; CPU:$B103 PRG:3103 6A - bcs NmiHandler_Loop175 ; CPU:$B104 PRG:3104 B0 22 + bcs NmiHandler_Loop208 ; CPU:$B104 PRG:3104 B0 22 ; ----------------------------------------------------------------------------- ; Routine: Sub_B106 ; Global: Branch target inside Sub: taken when B106. @@ -7642,36 +9112,36 @@ Sub_B106: adc #$98 ; CPU:$B111 PRG:3111 69 98 jmp Sub_B0E9 ; CPU:$B113 PRG:3113 4C E9 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop172 -; Global: Branch target inside NmiHandler: taken when Loop172. +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop172: +NmiHandler_Loop205: lda #$1D ; CPU:$B116 PRG:3116 A9 1D jmp Sub_B0E9 ; CPU:$B118 PRG:3118 4C E9 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop173 -; Global: Branch target inside NmiHandler: taken when Loop173. +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop173: +NmiHandler_Loop206: lda #$84 ; CPU:$B11B PRG:311B A9 84 jmp Sub_B0E9 ; CPU:$B11D PRG:311D 4C E9 B0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop174 -; Global: Branch target inside NmiHandler: taken when Loop174. +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop174: +NmiHandler_Loop207: lda #$01 ; CPU:$B120 PRG:3120 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_B122 @@ -7685,14 +9155,14 @@ Sub_B122: sta $073C ; CPU:$B122 PRG:3122 8D 3C 07 jmp Sub_B106 ; CPU:$B125 PRG:3125 4C 06 B1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop175 -; Global: Branch target inside NmiHandler: taken when Loop175. +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop175: +NmiHandler_Loop208: lda #$00 ; CPU:$B128 PRG:3128 A9 00 jmp Sub_B122 ; CPU:$B12A PRG:312A 4C 22 B1 ; ----------------------------------------------------------------------------- @@ -7705,99 +9175,99 @@ NmiHandler_Loop175: ; ----------------------------------------------------------------------------- Sub_B12D: jsr Sub_B18C ; CPU:$B12D PRG:312D 20 8C B1 - lda Zp0F ; CPU:$B130 PRG:3130 A5 0F + lda ObjectIndex ; CPU:$B130 PRG:3130 A5 0F cmp #$08 ; CPU:$B132 PRG:3132 C9 08 - beq NmiHandler_Loop179 ; CPU:$B134 PRG:3134 F0 4F + beq NmiHandler_Loop212 ; CPU:$B134 PRG:3134 F0 4F cmp #$15 ; CPU:$B136 PRG:3136 C9 15 - beq NmiHandler_Loop179 ; CPU:$B138 PRG:3138 F0 4B + beq NmiHandler_Loop212 ; CPU:$B138 PRG:3138 F0 4B lda Zp86 ; CPU:$B13A PRG:313A A5 86 and #$04 ; CPU:$B13C PRG:313C 29 04 - bne NmiHandler_Loop178 ; CPU:$B13E PRG:313E D0 38 + bne NmiHandler_Loop211 ; CPU:$B13E PRG:313E D0 38 lda Zp81 ; CPU:$B140 PRG:3140 A5 81 sec ; CPU:$B142 PRG:3142 38 - sbc Zp14 ; CPU:$B143 PRG:3143 E5 14 - bcc NmiHandler_Loop177 ; CPU:$B145 PRG:3145 90 1F + sbc GameState ; CPU:$B143 PRG:3143 E5 14 + bcc NmiHandler_Loop210 ; CPU:$B145 PRG:3145 90 1F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero5 -; Global: Branch target inside NmiHandler: taken when OnZero5. +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero5: - sta Zp95 ; CPU:$B147 PRG:3147 85 95 +NmiHandler_OnZero6: + sta PlayerX ; CPU:$B147 PRG:3147 85 95 clc ; CPU:$B149 PRG:3149 18 adc Zp15 ; CPU:$B14A PRG:314A 65 15 sta Zp15 ; CPU:$B14C PRG:314C 85 15 - lda Zp14 ; CPU:$B14E PRG:314E A5 14 + lda GameState ; CPU:$B14E PRG:314E A5 14 adc #$00 ; CPU:$B150 PRG:3150 69 00 - sta Zp14 ; CPU:$B152 PRG:3152 85 14 + sta GameState ; CPU:$B152 PRG:3152 85 14 lda Zp6B ; CPU:$B154 PRG:3154 A5 6B - beq NmiHandler_Loop176 ; CPU:$B156 PRG:3156 F0 0D - lda Zp95 ; CPU:$B158 PRG:3158 A5 95 + beq NmiHandler_Loop209 ; CPU:$B156 PRG:3156 F0 0D + lda PlayerX ; CPU:$B158 PRG:3158 A5 95 clc ; CPU:$B15A PRG:315A 18 adc Zp15 ; CPU:$B15B PRG:315B 65 15 sta Zp15 ; CPU:$B15D PRG:315D 85 15 - lda Zp14 ; CPU:$B15F PRG:315F A5 14 + lda GameState ; CPU:$B15F PRG:315F A5 14 adc #$00 ; CPU:$B161 PRG:3161 69 00 - sta Zp14 ; CPU:$B163 PRG:3163 85 14 + sta GameState ; CPU:$B163 PRG:3163 85 14 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop176 -; Global: Branch target inside NmiHandler: taken when Loop176. +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop176: +NmiHandler_Loop209: rts ; CPU:$B165 PRG:3165 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop177 -; Global: Branch target inside NmiHandler: taken when Loop177. +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop177: +NmiHandler_Loop210: eor #$FF ; CPU:$B166 PRG:3166 49 FF - sta Zp95 ; CPU:$B168 PRG:3168 85 95 + sta PlayerX ; CPU:$B168 PRG:3168 85 95 sec ; CPU:$B16A PRG:316A 38 lda Zp15 ; CPU:$B16B PRG:316B A5 15 - sbc Zp95 ; CPU:$B16D PRG:316D E5 95 + sbc PlayerX ; CPU:$B16D PRG:316D E5 95 sta Zp15 ; CPU:$B16F PRG:316F 85 15 - lda Zp14 ; CPU:$B171 PRG:3171 A5 14 + lda GameState ; CPU:$B171 PRG:3171 A5 14 sbc #$00 ; CPU:$B173 PRG:3173 E9 00 - sta Zp14 ; CPU:$B175 PRG:3175 85 14 + sta GameState ; CPU:$B175 PRG:3175 85 14 rts ; CPU:$B177 PRG:3177 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop178 -; Global: Branch target inside NmiHandler: taken when Loop178. +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop178: - lda Zp14 ; CPU:$B178 PRG:3178 A5 14 - beq NmiHandler_Loop179 ; CPU:$B17A PRG:317A F0 09 +NmiHandler_Loop211: + lda GameState ; CPU:$B178 PRG:3178 A5 14 + beq NmiHandler_Loop212 ; CPU:$B17A PRG:317A F0 09 lda Zp99 ; CPU:$B17C PRG:317C A5 99 - bne NmiHandler_Loop179 ; CPU:$B17E PRG:317E D0 05 + bne NmiHandler_Loop212 ; CPU:$B17E PRG:317E D0 05 lda #$06 ; CPU:$B180 PRG:3180 A9 06 jsr Sub_B70A ; CPU:$B182 PRG:3182 20 0A B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop179 -; Global: Branch target inside NmiHandler: taken when Loop179. +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop179: - lda Zp14 ; CPU:$B185 PRG:3185 A5 14 - beq NmiHandler_OnZero5 ; CPU:$B187 PRG:3187 F0 BE - jmp NmiHandler_Loop177 ; CPU:$B189 PRG:3189 4C 66 B1 +NmiHandler_Loop212: + lda GameState ; CPU:$B185 PRG:3185 A5 14 + beq NmiHandler_OnZero6 ; CPU:$B187 PRG:3187 F0 BE + jmp NmiHandler_Loop210 ; CPU:$B189 PRG:3189 4C 66 B1 ; ----------------------------------------------------------------------------- ; Routine: Sub_B18C ; Global: Branch target inside Sub: taken when B18C. @@ -7811,66 +9281,75 @@ Sub_B18C: sta Zp6B ; CPU:$B18E PRG:318E 85 6B lda Zp0A ; CPU:$B190 PRG:3190 A5 0A cmp #$03 ; CPU:$B192 PRG:3192 C9 03 - bcc NmiHandler_Loop180 ; CPU:$B194 PRG:3194 90 0A + bcc NmiHandler_Loop213 ; CPU:$B194 PRG:3194 90 0A lda Zp13 ; CPU:$B196 PRG:3196 A5 13 cmp #$04 ; CPU:$B198 PRG:3198 C9 04 - bcc NmiHandler_Loop183 ; CPU:$B19A PRG:319A 90 59 + bcc NmiHandler_Loop218 ; CPU:$B19A PRG:319A 90 59 cmp #$FD ; CPU:$B19C PRG:319C C9 FD - bcs NmiHandler_Loop183 ; CPU:$B19E PRG:319E B0 55 + bcs NmiHandler_Loop218 ; CPU:$B19E PRG:319E B0 55 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop180 -; Global: Branch target inside NmiHandler: taken when Loop180. +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop180: - lda Zp0F ; CPU:$B1A0 PRG:31A0 A5 0F +NmiHandler_Loop213: + lda ObjectIndex ; CPU:$B1A0 PRG:31A0 A5 0F cmp #$0A ; CPU:$B1A2 PRG:31A2 C9 0A - beq NmiHandler_Loop182 ; CPU:$B1A4 PRG:31A4 F0 26 + beq NmiHandler_Loop215 ; CPU:$B1A4 PRG:31A4 F0 26 lda Zp16 ; CPU:$B1A6 PRG:31A6 A5 16 - bpl NmiHandler_Loop181 ; CPU:$B1A8 PRG:31A8 10 05 + bpl NmiHandler_Loop214 ; CPU:$B1A8 PRG:31A8 10 05 eor #$FF ; CPU:$B1AA PRG:31AA 49 FF clc ; CPU:$B1AC PRG:31AC 18 adc #$01 ; CPU:$B1AD PRG:31AD 69 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop181 -; Global: Branch target inside NmiHandler: taken when Loop181. +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop181: +NmiHandler_Loop214: lsr a ; CPU:$B1AF PRG:31AF 4A lsr a ; CPU:$B1B0 PRG:31B0 4A lsr a ; CPU:$B1B1 PRG:31B1 4A and #$06 ; CPU:$B1B2 PRG:31B2 29 06 tay ; CPU:$B1B4 PRG:31B4 A8 lda $B1C4,y ; CPU:$B1B5 PRG:31B5 B9 C4 B1 - sta Zp91 ; CPU:$B1B8 PRG:31B8 85 91 + sta DispatchPtrLo ; CPU:$B1B8 PRG:31B8 85 91 lda $B1C5,y ; CPU:$B1BA PRG:31BA B9 C5 B1 - sta Zp92 ; CPU:$B1BD PRG:31BD 85 92 + sta DispatchPtrHi ; CPU:$B1BD PRG:31BD 85 92 lda Zp80 ; CPU:$B1BF PRG:31BF A5 80 - jmp (Zp91) ; CPU:$B1C1 PRG:31C1 6C 91 00 + jmp (DispatchPtrLo) ; CPU:$B1C1 PRG:31C1 6C 91 00 ; ---- data $B1C4-$B1CB (8 bytes) ---- ; referenced by `lda $B1C4,y` at $B1B5 (operand $B1C4 falls inside this region) ; referenced by `lda $B1C5,y` at $B1BA (operand $B1C5 falls inside this region) .byte $DF, $B1, $D1, $B1, $D2, $B1, $D3, $B1 ; CPU:$B1C4 PRG:31C4 DF B1 D1 B1 D2 B1 D3 B1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop182 -; Global: Branch target inside NmiHandler: taken when Loop182. +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop182: +NmiHandler_Loop215: lda Zp80 ; CPU:$B1CC PRG:31CC A5 80 jmp Sub_B1D3 ; CPU:$B1CE PRG:31CE 4C D3 B1 -; ---- data $B1D1-$B1D2 (2 bytes) ---- - .byte $4A, $4A ; CPU:$B1D1 PRG:31D1 4A 4A +; ----------------------------------------------------------------------------- +; Routine: Label_B1D1 +; Global: Branch target inside Label: taken when B1D1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1D1: + lsr a ; CPU:$B1D1 PRG:31D1 4A + lsr a ; CPU:$B1D2 PRG:31D2 4A ; ----------------------------------------------------------------------------- ; Routine: Sub_B1D3 ; Global: Branch target inside Sub: taken when B1D3. @@ -7888,64 +9367,88 @@ Sub_B1D3: adc Zp80 ; CPU:$B1DA PRG:31DA 65 80 sta Zp81 ; CPU:$B1DC PRG:31DC 85 81 rts ; CPU:$B1DE PRG:31DE 60 -; ---- data $B1DF-$B1EF (17 bytes) ---- - .byte $85, $81, $A5, $86, $29, $08, $F0, $0D, $A5, $81, $18, $69, $20, $90, $02, $A9 ; CPU:$B1DF PRG:31DF 85 81 A5 86 29 08 F0 0D A5 81 18 69 20 90 02 A9 - .byte $FF ; CPU:$B1EF PRG:31EF FF ; ----------------------------------------------------------------------------- -; Routine: Label_B1F0 -; Global: Branch target inside Label: taken when B1F0. +; Routine: Label_B1DF +; Global: Branch target inside Label: taken when B1DF. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_B1F0: - sta Zp81 ; CPU:$B1F0 PRG:31F0 85 81 - sta Zp6B ; CPU:$B1F2 PRG:31F2 85 6B - rts ; CPU:$B1F4 PRG:31F4 60 +Label_B1DF: + sta Zp81 ; CPU:$B1DF PRG:31DF 85 81 + lda Zp86 ; CPU:$B1E1 PRG:31E1 A5 86 + and #$08 ; CPU:$B1E3 PRG:31E3 29 08 + beq NmiHandler_Loop217 ; CPU:$B1E5 PRG:31E5 F0 0D + lda Zp81 ; CPU:$B1E7 PRG:31E7 A5 81 + clc ; CPU:$B1E9 PRG:31E9 18 + adc #$20 ; CPU:$B1EA PRG:31EA 69 20 + bcc NmiHandler_Loop216 ; CPU:$B1EC PRG:31EC 90 02 + lda #$FF ; CPU:$B1EE PRG:31EE A9 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop183 -; Global: Branch target inside NmiHandler: taken when Loop183. +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop183: +NmiHandler_Loop216: + sta Zp81 ; CPU:$B1F0 PRG:31F0 85 81 + sta Zp6B ; CPU:$B1F2 PRG:31F2 85 6B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + rts ; CPU:$B1F4 PRG:31F4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: lda Zp99 ; CPU:$B1F5 PRG:31F5 A5 99 - bne NmiHandler_Loop184 ; CPU:$B1F7 PRG:31F7 D0 0B - lda Zp14 ; CPU:$B1F9 PRG:31F9 A5 14 + bne NmiHandler_Loop219 ; CPU:$B1F7 PRG:31F7 D0 0B + lda GameState ; CPU:$B1F9 PRG:31F9 A5 14 and #$F0 ; CPU:$B1FB PRG:31FB 29 F0 - beq NmiHandler_Loop184 ; CPU:$B1FD PRG:31FD F0 05 + beq NmiHandler_Loop219 ; CPU:$B1FD PRG:31FD F0 05 lda #$02 ; CPU:$B1FF PRG:31FF A9 02 jsr Sub_B70A ; CPU:$B201 PRG:3201 20 0A B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop184 -; Global: Branch target inside NmiHandler: taken when Loop184. +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop184: +NmiHandler_Loop219: lda Zp80 ; CPU:$B204 PRG:3204 A5 80 lsr a ; CPU:$B206 PRG:3206 4A sta Zp81 ; CPU:$B207 PRG:3207 85 81 lda Zp06 ; CPU:$B209 PRG:3209 A5 06 and #$01 ; CPU:$B20B PRG:320B 29 01 - bne NmiHandler_Loop185 ; CPU:$B20D PRG:320D D0 06 + bne NmiHandler_Loop220 ; CPU:$B20D PRG:320D D0 06 lda Zp08 ; CPU:$B20F PRG:320F A5 08 and #$03 ; CPU:$B211 PRG:3211 29 03 sta Zp88 ; CPU:$B213 PRG:3213 85 88 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop185 -; Global: Branch target inside NmiHandler: taken when Loop185. +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop185: +NmiHandler_Loop220: rts ; CPU:$B215 PRG:3215 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B216 @@ -7957,62 +9460,62 @@ NmiHandler_Loop185: ; ----------------------------------------------------------------------------- Sub_B216: lda Zp10 ; CPU:$B216 PRG:3216 A5 10 - sta Zp96 ; CPU:$B218 PRG:3218 85 96 + sta PlayerY ; CPU:$B218 PRG:3218 85 96 lda #$00 ; CPU:$B21A PRG:321A A9 00 - sta Zp95 ; CPU:$B21C PRG:321C 85 95 - lda Zp14 ; CPU:$B21E PRG:321E A5 14 + sta PlayerX ; CPU:$B21C PRG:321C 85 95 + lda GameState ; CPU:$B21E PRG:321E A5 14 asl a ; CPU:$B220 PRG:3220 0A - rol Zp95 ; CPU:$B221 PRG:3221 26 95 + rol PlayerX ; CPU:$B221 PRG:3221 26 95 asl a ; CPU:$B223 PRG:3223 0A - rol Zp95 ; CPU:$B224 PRG:3224 26 95 + rol PlayerX ; CPU:$B224 PRG:3224 26 95 asl a ; CPU:$B226 PRG:3226 0A - rol Zp95 ; CPU:$B227 PRG:3227 26 95 + rol PlayerX ; CPU:$B227 PRG:3227 26 95 clc ; CPU:$B229 PRG:3229 18 adc Zp12 ; CPU:$B22A PRG:322A 65 12 sta Zp12 ; CPU:$B22C PRG:322C 85 12 lda Zp11 ; CPU:$B22E PRG:322E A5 11 - adc Zp95 ; CPU:$B230 PRG:3230 65 95 + adc PlayerX ; CPU:$B230 PRG:3230 65 95 sta Zp11 ; CPU:$B232 PRG:3232 85 11 lda Zp10 ; CPU:$B234 PRG:3234 A5 10 adc #$00 ; CPU:$B236 PRG:3236 69 00 sta Zp10 ; CPU:$B238 PRG:3238 85 10 lda Zp10 ; CPU:$B23A PRG:323A A5 10 - cmp Zp96 ; CPU:$B23C PRG:323C C5 96 - beq NmiHandler_Loop186 ; CPU:$B23E PRG:323E F0 17 + cmp PlayerY ; CPU:$B23C PRG:323C C5 96 + beq NmiHandler_Loop221 ; CPU:$B23E PRG:323E F0 17 lda #$00 ; CPU:$B240 PRG:3240 A9 00 sta Zp76 ; CPU:$B242 PRG:3242 85 76 lda Zp10 ; CPU:$B244 PRG:3244 A5 10 and #$07 ; CPU:$B246 PRG:3246 29 07 cmp #$07 ; CPU:$B248 PRG:3248 C9 07 - bne NmiHandler_Loop186 ; CPU:$B24A PRG:324A D0 0B - lda Zp96 ; CPU:$B24C PRG:324C A5 96 + bne NmiHandler_Loop221 ; CPU:$B24A PRG:324A D0 0B + lda PlayerY ; CPU:$B24C PRG:324C A5 96 and #$07 ; CPU:$B24E PRG:324E 29 07 cmp #$06 ; CPU:$B250 PRG:3250 C9 06 - bne NmiHandler_Loop186 ; CPU:$B252 PRG:3252 D0 03 + bne NmiHandler_Loop221 ; CPU:$B252 PRG:3252 D0 03 jsr Sub_952B ; CPU:$B254 PRG:3254 20 2B 95 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop186 -; Global: Branch target inside NmiHandler: taken when Loop186. +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop186: +NmiHandler_Loop221: rts ; CPU:$B257 PRG:3257 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNegative4 -; Global: Branch target inside NmiHandler: taken when OnNegative4. +; Routine: NmiHandler_OnNegative5 +; Global: Branch target inside NmiHandler: taken when OnNegative5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNegative4: +NmiHandler_OnNegative5: cmp #$C1 ; CPU:$B258 PRG:3258 C9 C1 - bcs NmiHandler_Loop189 ; CPU:$B25A PRG:325A B0 3B + bcs NmiHandler_Loop224 ; CPU:$B25A PRG:325A B0 3B lda #$C1 ; CPU:$B25C PRG:325C A9 C1 - jmp NmiHandler_Loop189 ; CPU:$B25E PRG:325E 4C 97 B2 + jmp NmiHandler_Loop224 ; CPU:$B25E PRG:325E 4C 97 B2 ; ----------------------------------------------------------------------------- ; Routine: Sub_B261 ; Global: Branch target inside Sub: taken when B261. @@ -8023,74 +9526,74 @@ NmiHandler_OnNegative4: ; ----------------------------------------------------------------------------- Sub_B261: lda Zp99 ; CPU:$B261 PRG:3261 A5 99 - bne NmiHandler_Loop188 ; CPU:$B263 PRG:3263 D0 1B + bne NmiHandler_Loop223 ; CPU:$B263 PRG:3263 D0 1B lda Zp86 ; CPU:$B265 PRG:3265 A5 86 and #$07 ; CPU:$B267 PRG:3267 29 07 cmp #$04 ; CPU:$B269 PRG:3269 C9 04 - bcs NmiHandler_Loop188 ; CPU:$B26B PRG:326B B0 13 + bcs NmiHandler_Loop223 ; CPU:$B26B PRG:326B B0 13 and #$03 ; CPU:$B26D PRG:326D 29 03 - beq NmiHandler_Loop187 ; CPU:$B26F PRG:326F F0 0D + beq NmiHandler_Loop222 ; CPU:$B26F PRG:326F F0 0D cmp Zp6C ; CPU:$B271 PRG:3271 C5 6C - beq NmiHandler_Loop188 ; CPU:$B273 PRG:3273 F0 0B + beq NmiHandler_Loop223 ; CPU:$B273 PRG:3273 F0 0B lda #$05 ; CPU:$B275 PRG:3275 A9 05 jsr Sub_B70A ; CPU:$B277 PRG:3277 20 0A B7 lda Zp86 ; CPU:$B27A PRG:327A A5 86 and #$03 ; CPU:$B27C PRG:327C 29 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop187 -; Global: Branch target inside NmiHandler: taken when Loop187. +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop187: +NmiHandler_Loop222: sta Zp6C ; CPU:$B27E PRG:327E 85 6C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop188 -; Global: Branch target inside NmiHandler: taken when Loop188. +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop188: - lda Zp0F ; CPU:$B280 PRG:3280 A5 0F +NmiHandler_Loop223: + lda ObjectIndex ; CPU:$B280 PRG:3280 A5 0F cmp #$0A ; CPU:$B282 PRG:3282 C9 0A - beq NmiHandler_Loop190 ; CPU:$B284 PRG:3284 F0 32 + beq NmiHandler_Loop225 ; CPU:$B284 PRG:3284 F0 32 cmp #$15 ; CPU:$B286 PRG:3286 C9 15 - beq NmiHandler_Loop190 ; CPU:$B288 PRG:3288 F0 2E + beq NmiHandler_Loop225 ; CPU:$B288 PRG:3288 F0 2E lda Zp16 ; CPU:$B28A PRG:328A A5 16 clc ; CPU:$B28C PRG:328C 18 adc Zp70 ; CPU:$B28D PRG:328D 65 70 - bmi NmiHandler_OnNegative4 ; CPU:$B28F PRG:328F 30 C7 + bmi NmiHandler_OnNegative5 ; CPU:$B28F PRG:328F 30 C7 cmp #$40 ; CPU:$B291 PRG:3291 C9 40 - bcc NmiHandler_Loop189 ; CPU:$B293 PRG:3293 90 02 + bcc NmiHandler_Loop224 ; CPU:$B293 PRG:3293 90 02 lda #$3F ; CPU:$B295 PRG:3295 A9 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop189 -; Global: Branch target inside NmiHandler: taken when Loop189. +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop189: +NmiHandler_Loop224: sta Zp16 ; CPU:$B297 PRG:3297 85 16 lda #$00 ; CPU:$B299 PRG:3299 A9 00 sta Zp70 ; CPU:$B29B PRG:329B 85 70 lda Zp86 ; CPU:$B29D PRG:329D A5 86 and #$03 ; CPU:$B29F PRG:329F 29 03 cmp #$01 ; CPU:$B2A1 PRG:32A1 C9 01 - beq NmiHandler_Loop192 ; CPU:$B2A3 PRG:32A3 F0 1C + beq NmiHandler_Loop227 ; CPU:$B2A3 PRG:32A3 F0 1C cmp #$02 ; CPU:$B2A5 PRG:32A5 C9 02 - beq NmiHandler_Loop194 ; CPU:$B2A7 PRG:32A7 F0 2D + beq NmiHandler_Loop229 ; CPU:$B2A7 PRG:32A7 F0 2D lda Zp16 ; CPU:$B2A9 PRG:32A9 A5 16 - beq NmiHandler_Loop190 ; CPU:$B2AB PRG:32AB F0 0B - bmi NmiHandler_Loop191 ; CPU:$B2AD PRG:32AD 30 0A + beq NmiHandler_Loop225 ; CPU:$B2AB PRG:32AB F0 0B + bmi NmiHandler_Loop226 ; CPU:$B2AD PRG:32AD 30 0A sec ; CPU:$B2AF PRG:32AF 38 sbc #$01 ; CPU:$B2B0 PRG:32B0 E9 01 - bcs NmiHandler_OnCarryClear4 ; CPU:$B2B2 PRG:32B2 B0 02 + bcs NmiHandler_OnCarryClear5 ; CPU:$B2B2 PRG:32B2 B0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2B4 ; Global: Branch target inside Sub: taken when B2B4. @@ -8102,127 +9605,183 @@ NmiHandler_Loop189: Sub_B2B4: lda #$00 ; CPU:$B2B4 PRG:32B4 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear4 -; Global: Branch target inside NmiHandler: taken when OnCarryClear4. +; Routine: NmiHandler_OnCarryClear5 +; Global: Branch target inside NmiHandler: taken when OnCarryClear5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear4: +NmiHandler_OnCarryClear5: sta Zp16 ; CPU:$B2B6 PRG:32B6 85 16 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop190 -; Global: Branch target inside NmiHandler: taken when Loop190. +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop190: +NmiHandler_Loop225: rts ; CPU:$B2B8 PRG:32B8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop191 -; Global: Branch target inside NmiHandler: taken when Loop191. +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop191: +NmiHandler_Loop226: clc ; CPU:$B2B9 PRG:32B9 18 adc #$01 ; CPU:$B2BA PRG:32BA 69 01 - bcc NmiHandler_OnCarryClear4 ; CPU:$B2BC PRG:32BC 90 F8 + bcc NmiHandler_OnCarryClear5 ; CPU:$B2BC PRG:32BC 90 F8 jmp Sub_B2B4 ; CPU:$B2BE PRG:32BE 4C B4 B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop192 -; Global: Branch target inside NmiHandler: taken when Loop192. +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop192: +NmiHandler_Loop227: clc ; CPU:$B2C1 PRG:32C1 18 lda Zp16 ; CPU:$B2C2 PRG:32C2 A5 16 - bmi NmiHandler_Loop193 ; CPU:$B2C4 PRG:32C4 30 0B + bmi NmiHandler_Loop228 ; CPU:$B2C4 PRG:32C4 30 0B adc #$06 ; CPU:$B2C6 PRG:32C6 69 06 cmp #$40 ; CPU:$B2C8 PRG:32C8 C9 40 - bcc NmiHandler_OnCarrySet3 ; CPU:$B2CA PRG:32CA 90 02 + bcc NmiHandler_OnCarrySet5 ; CPU:$B2CA PRG:32CA 90 02 lda #$3F ; CPU:$B2CC PRG:32CC A9 3F ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet3 -; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet3: +NmiHandler_OnCarrySet5: sta Zp16 ; CPU:$B2CE PRG:32CE 85 16 rts ; CPU:$B2D0 PRG:32D0 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop193 -; Global: Branch target inside NmiHandler: taken when Loop193. +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop193: +NmiHandler_Loop228: adc #$06 ; CPU:$B2D1 PRG:32D1 69 06 - jmp NmiHandler_OnCarrySet3 ; CPU:$B2D3 PRG:32D3 4C CE B2 + jmp NmiHandler_OnCarrySet5 ; CPU:$B2D3 PRG:32D3 4C CE B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop194 -; Global: Branch target inside NmiHandler: taken when Loop194. +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop194: +NmiHandler_Loop229: sec ; CPU:$B2D6 PRG:32D6 38 lda Zp16 ; CPU:$B2D7 PRG:32D7 A5 16 - bpl NmiHandler_Loop195 ; CPU:$B2D9 PRG:32D9 10 0B + bpl NmiHandler_Loop230 ; CPU:$B2D9 PRG:32D9 10 0B sbc #$06 ; CPU:$B2DB PRG:32DB E9 06 cmp #$C1 ; CPU:$B2DD PRG:32DD C9 C1 - bcs NmiHandler_OnCarrySet3 ; CPU:$B2DF PRG:32DF B0 ED + bcs NmiHandler_OnCarrySet5 ; CPU:$B2DF PRG:32DF B0 ED lda #$C1 ; CPU:$B2E1 PRG:32E1 A9 C1 - jmp NmiHandler_OnCarrySet3 ; CPU:$B2E3 PRG:32E3 4C CE B2 + jmp NmiHandler_OnCarrySet5 ; CPU:$B2E3 PRG:32E3 4C CE B2 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop195 -; Global: Branch target inside NmiHandler: taken when Loop195. +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop195: +NmiHandler_Loop230: sbc #$06 ; CPU:$B2E6 PRG:32E6 E9 06 - jmp NmiHandler_OnCarrySet3 ; CPU:$B2E8 PRG:32E8 4C CE B2 -; ---- data $B2EB-$B3B3 (201 bytes) ---- - .byte $A9, $20, $8D, $06, $20, $A9, $00, $8D, $06, $20, $A2, $00, $BD, $54, $B3, $8D ; CPU:$B2EB PRG:32EB A9 20 8D 06 20 A9 00 8D 06 20 A2 00 BD 54 B3 8D - .byte $07, $20, $E8, $E0, $40, $D0, $F5, $A2, $00, $BD, $74, $B3, $8D, $07, $20, $E8 ; CPU:$B2FB PRG:32FB 07 20 E8 E0 40 D0 F5 A2 00 BD 74 B3 8D 07 20 E8 - .byte $E0, $40, $D0, $F5, $A2, $28, $A0, $B3, $20, $E8, $A4, $A5, $0D, $2A, $2A, $2A ; CPU:$B30B PRG:330B E0 40 D0 F5 A2 28 A0 B3 20 E8 A4 A5 0D 2A 2A 2A - .byte $29, $02, $AA, $BC, $39, $B3, $BD, $38, $B3, $AA, $4C, $E8, $A4, $20, $49, $54 ; CPU:$B31B PRG:331B 29 02 AA BC 39 B3 BD 38 B3 AA 4C E8 A4 20 49 54 - .byte $49, $4D, $45, $20, $54, $4F, $20, $42, $45, $41, $54, $00, $00, $3C, $B3, $48 ; CPU:$B32B PRG:332B 49 4D 45 20 54 4F 20 42 45 41 54 00 00 3C B3 48 - .byte $B3, $20, $2B, $50, $4C, $41, $59, $45, $52, $20, $31, $00, $00, $20, $2B, $50 ; CPU:$B33B PRG:333B B3 20 2B 50 4C 41 59 45 52 20 31 00 00 20 2B 50 - .byte $4C, $41, $59, $45, $52, $20, $32, $00, $00, $03, $38, $3C, $3D, $3E, $3F, $35 ; CPU:$B34B PRG:334B 4C 41 59 45 52 20 32 00 00 03 38 3C 3D 3E 3F 35 - .byte $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35 ; CPU:$B35B PRG:335B 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 - .byte $35, $21, $16, $1A, $12, $35, $35, $36, $03, $03, $37, $00, $00, $00, $00, $00 ; CPU:$B36B PRG:336B 35 21 16 1A 12 35 35 36 03 03 37 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B37B PRG:337B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $3B, $00, $00, $3B, $00, $00, $37, $03, $03, $39, $35, $F6, $F7, $F8, $F9 ; CPU:$B38B PRG:338B 00 3B 00 00 3B 00 00 37 03 03 39 35 F6 F7 F8 F9 - .byte $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9 ; CPU:$B39B PRG:339B F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 - .byte $F9, $F9, $F9, $FA, $F6, $F7, $35, $3A, $03 ; CPU:$B3AB PRG:33AB F9 F9 F9 FA F6 F7 35 3A 03 + jmp NmiHandler_OnCarrySet5 ; CPU:$B2E8 PRG:32E8 4C CE B2 ; ----------------------------------------------------------------------------- -; Routine: Label_B3B4 -; Global: Branch target inside Label: taken when B3B4. -; Local: Part of Label. +; Routine: Sub_B2EB +; Global: Branch target inside Sub: taken when B2EB. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_B3B4: +Sub_B2EB: + lda #$20 ; CPU:$B2EB PRG:32EB A9 20 + sta PPUADDR ; CPU:$B2ED PRG:32ED 8D 06 20 + lda #$00 ; CPU:$B2F0 PRG:32F0 A9 00 + sta PPUADDR ; CPU:$B2F2 PRG:32F2 8D 06 20 + ldx #$00 ; CPU:$B2F5 PRG:32F5 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: + lda $B354,x ; CPU:$B2F7 PRG:32F7 BD 54 B3 + sta PPUDATA ; CPU:$B2FA PRG:32FA 8D 07 20 + inx ; CPU:$B2FD PRG:32FD E8 + cpx #$40 ; CPU:$B2FE PRG:32FE E0 40 + bne NmiHandler_OnNonzero53 ; CPU:$B300 PRG:3300 D0 F5 + ldx #$00 ; CPU:$B302 PRG:3302 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + lda $B374,x ; CPU:$B304 PRG:3304 BD 74 B3 + sta PPUDATA ; CPU:$B307 PRG:3307 8D 07 20 + inx ; CPU:$B30A PRG:330A E8 + cpx #$40 ; CPU:$B30B PRG:330B E0 40 + bne NmiHandler_OnNonzero54 ; CPU:$B30D PRG:330D D0 F5 + ldx #$28 ; CPU:$B30F PRG:330F A2 28 + ldy #$B3 ; CPU:$B311 PRG:3311 A0 B3 + jsr Sub_A4E8 ; CPU:$B313 PRG:3313 20 E8 A4 + lda Zp0D ; CPU:$B316 PRG:3316 A5 0D + rol a ; CPU:$B318 PRG:3318 2A + rol a ; CPU:$B319 PRG:3319 2A + rol a ; CPU:$B31A PRG:331A 2A + and #$02 ; CPU:$B31B PRG:331B 29 02 + tax ; CPU:$B31D PRG:331D AA + ldy $B339,x ; CPU:$B31E PRG:331E BC 39 B3 + lda $B338,x ; CPU:$B321 PRG:3321 BD 38 B3 + tax ; CPU:$B324 PRG:3324 AA + jmp Sub_A4E8 ; CPU:$B325 PRG:3325 4C E8 A4 +; ---- data $B328-$B3B3 (140 bytes) ---- +; referenced by `lda $B354,x` at $B2F7 (operand $B354 falls inside this region) +; referenced by `lda $B374,x` at $B304 (operand $B374 falls inside this region) +; referenced by `ldy $B339,x` at $B31E (operand $B339 falls inside this region) +; referenced by `lda $B338,x` at $B321 (operand $B338 falls inside this region) + .byte $20, $49, $54, $49, $4D, $45, $20, $54, $4F, $20, $42, $45, $41, $54, $00, $00 ; CPU:$B328 PRG:3328 20 49 54 49 4D 45 20 54 4F 20 42 45 41 54 00 00 + .byte $3C, $B3, $48, $B3, $20, $2B, $50, $4C, $41, $59, $45, $52, $20, $31, $00, $00 ; CPU:$B338 PRG:3338 3C B3 48 B3 20 2B 50 4C 41 59 45 52 20 31 00 00 + .byte $20, $2B, $50, $4C, $41, $59, $45, $52, $20, $32, $00, $00, $03, $38, $3C, $3D ; CPU:$B348 PRG:3348 20 2B 50 4C 41 59 45 52 20 32 00 00 03 38 3C 3D + .byte $3E, $3F, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35, $35 ; CPU:$B358 PRG:3358 3E 3F 35 35 35 35 35 35 35 35 35 35 35 35 35 35 + .byte $35, $35, $35, $35, $21, $16, $1A, $12, $35, $35, $36, $03, $03, $37, $00, $00 ; CPU:$B368 PRG:3368 35 35 35 35 21 16 1A 12 35 35 36 03 03 37 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B378 PRG:3378 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $3B, $00, $00, $3B, $00, $00, $37, $03, $03, $39, $35, $F6 ; CPU:$B388 PRG:3388 00 00 00 00 3B 00 00 3B 00 00 37 03 03 39 35 F6 + .byte $F7, $F8, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9, $F9 ; CPU:$B398 PRG:3398 F7 F8 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 F9 + .byte $F9, $F9, $F9, $F9, $F9, $F9, $FA, $F6, $F7, $35, $3A, $03 ; CPU:$B3A8 PRG:33A8 F9 F9 F9 F9 F9 F9 FA F6 F7 35 3A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_B3B4 +; Global: Branch target inside Sub: taken when B3B4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3B4: lda #$21 ; CPU:$B3B4 PRG:33B4 A9 21 sta PPUADDR ; CPU:$B3B6 PRG:33B6 8D 06 20 lda #$C0 ; CPU:$B3B9 PRG:33B9 A9 C0 @@ -8231,28 +9790,28 @@ Label_B3B4: sta Zp93 ; CPU:$B3C0 PRG:33C0 85 93 ldy #$10 ; CPU:$B3C2 PRG:33C2 A0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero47 -; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero47: +NmiHandler_OnNonzero55: ldx Zp93 ; CPU:$B3C4 PRG:33C4 A6 93 lda #$01 ; CPU:$B3C6 PRG:33C6 A9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero48 -; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero48: +NmiHandler_OnNonzero56: sta PPUDATA ; CPU:$B3C8 PRG:33C8 8D 07 20 dex ; CPU:$B3CB PRG:33CB CA - bne NmiHandler_OnNonzero48 ; CPU:$B3CC PRG:33CC D0 FA + bne NmiHandler_OnNonzero56 ; CPU:$B3CC PRG:33CC D0 FA lda #$29 ; CPU:$B3CE PRG:33CE A9 29 sta PPUDATA ; CPU:$B3D0 PRG:33D0 8D 07 20 lda #$1F ; CPU:$B3D3 PRG:33D3 A9 1F @@ -8261,20 +9820,20 @@ NmiHandler_OnNonzero48: tax ; CPU:$B3D8 PRG:33D8 AA lda #$02 ; CPU:$B3D9 PRG:33D9 A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero49 -; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero49: +NmiHandler_OnNonzero57: sta PPUDATA ; CPU:$B3DB PRG:33DB 8D 07 20 dex ; CPU:$B3DE PRG:33DE CA - bne NmiHandler_OnNonzero49 ; CPU:$B3DF PRG:33DF D0 FA + bne NmiHandler_OnNonzero57 ; CPU:$B3DF PRG:33DF D0 FA dec Zp93 ; CPU:$B3E1 PRG:33E1 C6 93 dey ; CPU:$B3E3 PRG:33E3 88 - bne NmiHandler_OnNonzero47 ; CPU:$B3E4 PRG:33E4 D0 DE + bne NmiHandler_OnNonzero55 ; CPU:$B3E4 PRG:33E4 D0 DE lda #$25 ; CPU:$B3E6 PRG:33E6 A9 25 sta PPUADDR ; CPU:$B3E8 PRG:33E8 8D 06 20 lda #$C0 ; CPU:$B3EB PRG:33EB A9 C0 @@ -8283,28 +9842,28 @@ NmiHandler_OnNonzero49: sta Zp93 ; CPU:$B3F2 PRG:33F2 85 93 ldy #$10 ; CPU:$B3F4 PRG:33F4 A0 10 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero50 -; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero50: +NmiHandler_OnNonzero58: ldx Zp93 ; CPU:$B3F6 PRG:33F6 A6 93 lda #$02 ; CPU:$B3F8 PRG:33F8 A9 02 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero51 -; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero51: +NmiHandler_OnNonzero59: sta PPUDATA ; CPU:$B3FA PRG:33FA 8D 07 20 dex ; CPU:$B3FD PRG:33FD CA - bne NmiHandler_OnNonzero51 ; CPU:$B3FE PRG:33FE D0 FA + bne NmiHandler_OnNonzero59 ; CPU:$B3FE PRG:33FE D0 FA lda #$2A ; CPU:$B400 PRG:3400 A9 2A sta PPUDATA ; CPU:$B402 PRG:3402 8D 07 20 lda #$1F ; CPU:$B405 PRG:3405 A9 1F @@ -8313,23 +9872,55 @@ NmiHandler_OnNonzero51: tax ; CPU:$B40A PRG:340A AA lda #$01 ; CPU:$B40B PRG:340B A9 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero52 -; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero52: +NmiHandler_OnNonzero60: sta PPUDATA ; CPU:$B40D PRG:340D 8D 07 20 dex ; CPU:$B410 PRG:3410 CA - bne NmiHandler_OnNonzero52 ; CPU:$B411 PRG:3411 D0 FA + bne NmiHandler_OnNonzero60 ; CPU:$B411 PRG:3411 D0 FA inc Zp93 ; CPU:$B413 PRG:3413 E6 93 dey ; CPU:$B415 PRG:3415 88 - bne NmiHandler_OnNonzero50 ; CPU:$B416 PRG:3416 D0 DE + bne NmiHandler_OnNonzero58 ; CPU:$B416 PRG:3416 D0 DE rts ; CPU:$B418 PRG:3418 60 -; ---- data $B419-$B425 (13 bytes) ---- - .byte $A4, $8B, $F0, $08, $A9, $00, $99, $00, $04, $C8, $D0, $FA, $60 ; CPU:$B419 PRG:3419 A4 8B F0 08 A9 00 99 00 04 C8 D0 FA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B419 +; Global: Branch target inside Sub: taken when B419. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B419: + ldy Zp8B ; CPU:$B419 PRG:3419 A4 8B + beq NmiHandler_Loop231 ; CPU:$B41B PRG:341B F0 08 + lda #$00 ; CPU:$B41D PRG:341D A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero61: + sta $0400,y ; CPU:$B41F PRG:341F 99 00 04 + iny ; CPU:$B422 PRG:3422 C8 + bne NmiHandler_OnNonzero61 ; CPU:$B423 PRG:3423 D0 FA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + rts ; CPU:$B425 PRG:3425 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B426 ; Global: Branch target inside Sub: taken when B426. @@ -8340,7 +9931,7 @@ NmiHandler_OnNonzero52: ; ----------------------------------------------------------------------------- Sub_B426: ldy Zp8B ; CPU:$B426 PRG:3426 A4 8B - beq NmiHandler_Loop196 ; CPU:$B428 PRG:3428 F0 0D + beq NmiHandler_Loop232 ; CPU:$B428 PRG:3428 F0 0D lda #$00 ; CPU:$B42A PRG:342A A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_B42C @@ -8352,19 +9943,19 @@ Sub_B426: ; ----------------------------------------------------------------------------- Sub_B42C: cpy #$F4 ; CPU:$B42C PRG:342C C0 F4 - bcs NmiHandler_Loop196 ; CPU:$B42E PRG:342E B0 07 + bcs NmiHandler_Loop232 ; CPU:$B42E PRG:342E B0 07 sta $0400,y ; CPU:$B430 PRG:3430 99 00 04 iny ; CPU:$B433 PRG:3433 C8 jmp Sub_B42C ; CPU:$B434 PRG:3434 4C 2C B4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop196 -; Global: Branch target inside NmiHandler: taken when Loop196. +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop196: +NmiHandler_Loop232: rts ; CPU:$B437 PRG:3437 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B438 @@ -8381,14 +9972,14 @@ Sub_B438: sta JOY1 ; CPU:$B43F PRG:343F 8D 16 40 ldx #$08 ; CPU:$B442 PRG:3442 A2 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero53 -; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero53: +NmiHandler_OnNonzero62: lda JOY1 ; CPU:$B444 PRG:3444 AD 16 40 ror a ; CPU:$B447 PRG:3447 6A rol Zp86 ; CPU:$B448 PRG:3448 26 86 @@ -8396,13 +9987,13 @@ NmiHandler_OnNonzero53: ror a ; CPU:$B44D PRG:344D 6A rol Zp87 ; CPU:$B44E PRG:344E 26 87 dex ; CPU:$B450 PRG:3450 CA - bne NmiHandler_OnNonzero53 ; CPU:$B451 PRG:3451 D0 F1 + bne NmiHandler_OnNonzero62 ; CPU:$B451 PRG:3451 D0 F1 lda Zp0D ; CPU:$B453 PRG:3453 A5 0D and #$80 ; CPU:$B455 PRG:3455 29 80 - beq NmiHandler_Loop197 ; CPU:$B457 PRG:3457 F0 1C + beq NmiHandler_Loop233 ; CPU:$B457 PRG:3457 F0 1C lda Zp87 ; CPU:$B459 PRG:3459 A5 87 and #$CF ; CPU:$B45B PRG:345B 29 CF - sta Zp95 ; CPU:$B45D PRG:345D 85 95 + sta PlayerX ; CPU:$B45D PRG:345D 85 95 lda Zp87 ; CPU:$B45F PRG:345F A5 87 and #$30 ; CPU:$B461 PRG:3461 29 30 sta Zp87 ; CPU:$B463 PRG:3463 85 87 @@ -8412,17 +10003,17 @@ NmiHandler_OnNonzero53: sta Zp87 ; CPU:$B46B PRG:346B 85 87 lda Zp86 ; CPU:$B46D PRG:346D A5 86 and #$30 ; CPU:$B46F PRG:346F 29 30 - ora Zp95 ; CPU:$B471 PRG:3471 05 95 + ora PlayerX ; CPU:$B471 PRG:3471 05 95 sta Zp86 ; CPU:$B473 PRG:3473 85 86 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop197 -; Global: Branch target inside NmiHandler: taken when Loop197. +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop197: +NmiHandler_Loop233: rts ; CPU:$B475 PRG:3475 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B476 @@ -8448,19 +10039,19 @@ Sub_B476: Sub_B480: lda #$80 ; CPU:$B480 PRG:3480 A9 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero54 -; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero54: +NmiHandler_OnNonzero63: sta $0200,x ; CPU:$B482 PRG:3482 9D 00 02 sta $0300,x ; CPU:$B485 PRG:3485 9D 00 03 inx ; CPU:$B488 PRG:3488 E8 cpx #$80 ; CPU:$B489 PRG:3489 E0 80 - bne NmiHandler_OnNonzero54 ; CPU:$B48B PRG:348B D0 F5 + bne NmiHandler_OnNonzero63 ; CPU:$B48B PRG:348B D0 F5 rts ; CPU:$B48D PRG:348D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B48E @@ -8487,17 +10078,17 @@ Sub_B48E: Sub_B49B: lda #$00 ; CPU:$B49B PRG:349B A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero55 -; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Routine: NmiHandler_OnNonzero64 +; Global: Branch target inside NmiHandler: taken when OnNonzero64. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero55: - sta Zp00,x ; CPU:$B49D PRG:349D 95 00 +NmiHandler_OnNonzero64: + sta PpuCtrlShadow,x ; CPU:$B49D PRG:349D 95 00 inx ; CPU:$B49F PRG:349F E8 - bne NmiHandler_OnNonzero55 ; CPU:$B4A0 PRG:34A0 D0 FB + bne NmiHandler_OnNonzero64 ; CPU:$B4A0 PRG:34A0 D0 FB rts ; CPU:$B4A2 PRG:34A2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4A3 @@ -8510,17 +10101,17 @@ NmiHandler_OnNonzero55: Sub_B4A3: lda #$00 ; CPU:$B4A3 PRG:34A3 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero56 -; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Routine: NmiHandler_OnNonzero65 +; Global: Branch target inside NmiHandler: taken when OnNonzero65. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero56: +NmiHandler_OnNonzero65: sta $0700,x ; CPU:$B4A5 PRG:34A5 9D 00 07 inx ; CPU:$B4A8 PRG:34A8 E8 - bne NmiHandler_OnNonzero56 ; CPU:$B4A9 PRG:34A9 D0 FA + bne NmiHandler_OnNonzero65 ; CPU:$B4A9 PRG:34A9 D0 FA rts ; CPU:$B4AB PRG:34AB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4AC @@ -8535,17 +10126,17 @@ Sub_B4AC: tax ; CPU:$B4AE PRG:34AE AA lda #$00 ; CPU:$B4AF PRG:34AF A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero57 -; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Routine: NmiHandler_OnNonzero66 +; Global: Branch target inside NmiHandler: taken when OnNonzero66. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero57: +NmiHandler_OnNonzero66: sta $0400,x ; CPU:$B4B1 PRG:34B1 9D 00 04 inx ; CPU:$B4B4 PRG:34B4 E8 - bne NmiHandler_OnNonzero57 ; CPU:$B4B5 PRG:34B5 D0 FA + bne NmiHandler_OnNonzero66 ; CPU:$B4B5 PRG:34B5 D0 FA rts ; CPU:$B4B7 PRG:34B7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4B8 @@ -8567,27 +10158,27 @@ Sub_B4B8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B4BC: - stx Zp8F ; CPU:$B4BC PRG:34BC 86 8F - sty Zp90 ; CPU:$B4BE PRG:34BE 84 90 + stx VramWritePtrLo ; CPU:$B4BC PRG:34BC 86 8F + sty VramWritePtrHi ; CPU:$B4BE PRG:34BE 84 90 lda #$3F ; CPU:$B4C0 PRG:34C0 A9 3F sta PPUADDR ; CPU:$B4C2 PRG:34C2 8D 06 20 lda #$00 ; CPU:$B4C5 PRG:34C5 A9 00 sta PPUADDR ; CPU:$B4C7 PRG:34C7 8D 06 20 tay ; CPU:$B4CA PRG:34CA A8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero58 -; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Routine: NmiHandler_OnNonzero67 +; Global: Branch target inside NmiHandler: taken when OnNonzero67. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero58: - lda (Zp8F),y ; CPU:$B4CB PRG:34CB B1 8F +NmiHandler_OnNonzero67: + lda (VramWritePtrLo),y ; CPU:$B4CB PRG:34CB B1 8F sta PPUDATA ; CPU:$B4CD PRG:34CD 8D 07 20 iny ; CPU:$B4D0 PRG:34D0 C8 cpy #$20 ; CPU:$B4D1 PRG:34D1 C0 20 - bne NmiHandler_OnNonzero58 ; CPU:$B4D3 PRG:34D3 D0 F6 + bne NmiHandler_OnNonzero67 ; CPU:$B4D3 PRG:34D3 D0 F6 rts ; CPU:$B4D5 PRG:34D5 60 ; ---- data $B4D6-$B5D5 (256 bytes) ---- ; referenced by `lda $B536,x` at $9C3F (operand $B536 falls inside this region) @@ -8629,16 +10220,16 @@ Sub_B5D8: tay ; CPU:$B5D8 PRG:35D8 A8 lda #$00 ; CPU:$B5D9 PRG:35D9 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero59 -; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Routine: NmiHandler_OnNonzero68 +; Global: Branch target inside NmiHandler: taken when OnNonzero68. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero59: - sta Zp91 ; CPU:$B5DB PRG:35DB 85 91 - lda Zp91 ; CPU:$B5DD PRG:35DD A5 91 +NmiHandler_OnNonzero68: + sta DispatchPtrLo ; CPU:$B5DB PRG:35DB 85 91 + lda DispatchPtrLo ; CPU:$B5DD PRG:35DD A5 91 ora #$20 ; CPU:$B5DF PRG:35DF 09 20 sta PPUADDR ; CPU:$B5E1 PRG:35E1 8D 06 20 lda #$00 ; CPU:$B5E4 PRG:35E4 A9 00 @@ -8647,23 +10238,23 @@ NmiHandler_OnNonzero59: ldy #$03 ; CPU:$B5EA PRG:35EA A0 03 ldx #$C0 ; CPU:$B5EC PRG:35EC A2 C0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero60 -; Global: Branch target inside NmiHandler: taken when OnNonzero60. +; Routine: NmiHandler_OnNonzero69 +; Global: Branch target inside NmiHandler: taken when OnNonzero69. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero60: +NmiHandler_OnNonzero69: sta PPUDATA ; CPU:$B5EE PRG:35EE 8D 07 20 dex ; CPU:$B5F1 PRG:35F1 CA - bne NmiHandler_OnNonzero60 ; CPU:$B5F2 PRG:35F2 D0 FA + bne NmiHandler_OnNonzero69 ; CPU:$B5F2 PRG:35F2 D0 FA dey ; CPU:$B5F4 PRG:35F4 88 - bpl NmiHandler_OnNonzero60 ; CPU:$B5F5 PRG:35F5 10 F7 + bpl NmiHandler_OnNonzero69 ; CPU:$B5F5 PRG:35F5 10 F7 tay ; CPU:$B5F7 PRG:35F7 A8 - lda Zp91 ; CPU:$B5F8 PRG:35F8 A5 91 + lda DispatchPtrLo ; CPU:$B5F8 PRG:35F8 A5 91 eor #$04 ; CPU:$B5FA PRG:35FA 49 04 - bne NmiHandler_OnNonzero59 ; CPU:$B5FC PRG:35FC D0 DD + bne NmiHandler_OnNonzero68 ; CPU:$B5FC PRG:35FC D0 DD rts ; CPU:$B5FE PRG:35FE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B5FF @@ -8675,17 +10266,17 @@ NmiHandler_OnNonzero60: ; ----------------------------------------------------------------------------- Sub_B5FF: ldx $0795 ; CPU:$B5FF PRG:35FF AE 95 07 - bpl NmiHandler_Loop198 ; CPU:$B602 PRG:3602 10 01 + bpl NmiHandler_Loop234 ; CPU:$B602 PRG:3602 10 01 rts ; CPU:$B604 PRG:3604 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop198 -; Global: Branch target inside NmiHandler: taken when Loop198. +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop198: +NmiHandler_Loop234: sta $0790 ; CPU:$B605 PRG:3605 8D 90 07 sec ; CPU:$B608 PRG:3608 38 sbc #$01 ; CPU:$B609 PRG:3609 E9 01 @@ -8751,55 +10342,55 @@ NmiHandler_Loop198: ; ----------------------------------------------------------------------------- Sub_B6B4: ldx $0795 ; CPU:$B6B4 PRG:36B4 AE 95 07 - bmi NmiHandler_Loop199 ; CPU:$B6B7 PRG:36B7 30 5D + bmi NmiHandler_Loop235 ; CPU:$B6B7 PRG:36B7 30 5D ldx #$00 ; CPU:$B6B9 PRG:36B9 A2 00 cmp $076E,x ; CPU:$B6BB PRG:36BB DD 6E 07 - bcc NmiHandler_Loop199 ; CPU:$B6BE PRG:36BE 90 56 + bcc NmiHandler_Loop235 ; CPU:$B6BE PRG:36BE 90 56 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet4 -; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Routine: NmiHandler_OnCarrySet6 +; Global: Branch target inside NmiHandler: taken when OnCarrySet6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet4: +NmiHandler_OnCarrySet6: sta $076E,x ; CPU:$B6C0 PRG:36C0 9D 6E 07 asl a ; CPU:$B6C3 PRG:36C3 0A tay ; CPU:$B6C4 PRG:36C4 A8 lda $B717,y ; CPU:$B6C5 PRG:36C5 B9 17 B7 - sta Zp91 ; CPU:$B6C8 PRG:36C8 85 91 + sta DispatchPtrLo ; CPU:$B6C8 PRG:36C8 85 91 lda $B718,y ; CPU:$B6CA PRG:36CA B9 18 B7 - sta Zp92 ; CPU:$B6CD PRG:36CD 85 92 + sta DispatchPtrHi ; CPU:$B6CD PRG:36CD 85 92 ldy #$00 ; CPU:$B6CF PRG:36CF A0 00 - lda (Zp91),y ; CPU:$B6D1 PRG:36D1 B1 91 + lda (DispatchPtrLo),y ; CPU:$B6D1 PRG:36D1 B1 91 sta $076F,x ; CPU:$B6D3 PRG:36D3 9D 6F 07 iny ; CPU:$B6D6 PRG:36D6 C8 - lda (Zp91),y ; CPU:$B6D7 PRG:36D7 B1 91 + lda (DispatchPtrLo),y ; CPU:$B6D7 PRG:36D7 B1 91 sta $0770,x ; CPU:$B6D9 PRG:36D9 9D 70 07 iny ; CPU:$B6DC PRG:36DC C8 - lda (Zp91),y ; CPU:$B6DD PRG:36DD B1 91 + lda (DispatchPtrLo),y ; CPU:$B6DD PRG:36DD B1 91 sta $0771,x ; CPU:$B6DF PRG:36DF 9D 71 07 iny ; CPU:$B6E2 PRG:36E2 C8 - lda (Zp91),y ; CPU:$B6E3 PRG:36E3 B1 91 + lda (DispatchPtrLo),y ; CPU:$B6E3 PRG:36E3 B1 91 sta $077E,x ; CPU:$B6E5 PRG:36E5 9D 7E 07 iny ; CPU:$B6E8 PRG:36E8 C8 - lda (Zp91),y ; CPU:$B6E9 PRG:36E9 B1 91 + lda (DispatchPtrLo),y ; CPU:$B6E9 PRG:36E9 B1 91 sta $077F,x ; CPU:$B6EB PRG:36EB 9D 7F 07 iny ; CPU:$B6EE PRG:36EE C8 - lda (Zp91),y ; CPU:$B6EF PRG:36EF B1 91 + lda (DispatchPtrLo),y ; CPU:$B6EF PRG:36EF B1 91 sta $0780,x ; CPU:$B6F1 PRG:36F1 9D 80 07 iny ; CPU:$B6F4 PRG:36F4 C8 - lda (Zp91),y ; CPU:$B6F5 PRG:36F5 B1 91 + lda (DispatchPtrLo),y ; CPU:$B6F5 PRG:36F5 B1 91 sta $0781,x ; CPU:$B6F7 PRG:36F7 9D 81 07 - lda Zp91 ; CPU:$B6FA PRG:36FA A5 91 + lda DispatchPtrLo ; CPU:$B6FA PRG:36FA A5 91 clc ; CPU:$B6FC PRG:36FC 18 adc #$07 ; CPU:$B6FD PRG:36FD 69 07 - sta Zp91 ; CPU:$B6FF PRG:36FF 85 91 - lda Zp92 ; CPU:$B701 PRG:3701 A5 92 + sta DispatchPtrLo ; CPU:$B6FF PRG:36FF 85 91 + lda DispatchPtrHi ; CPU:$B701 PRG:3701 A5 92 adc #$00 ; CPU:$B703 PRG:3703 69 00 - sta Zp92 ; CPU:$B705 PRG:3705 85 92 - jmp (Zp91) ; CPU:$B707 PRG:3707 6C 91 00 + sta DispatchPtrHi ; CPU:$B705 PRG:3705 85 92 + jmp (DispatchPtrLo) ; CPU:$B707 PRG:3707 6C 91 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_B70A ; Global: Branch target inside Sub: taken when B70A. @@ -8810,19 +10401,19 @@ NmiHandler_OnCarrySet4: ; ----------------------------------------------------------------------------- Sub_B70A: ldx $0795 ; CPU:$B70A PRG:370A AE 95 07 - bmi NmiHandler_Loop199 ; CPU:$B70D PRG:370D 30 07 + bmi NmiHandler_Loop235 ; CPU:$B70D PRG:370D 30 07 ldx #$0C ; CPU:$B70F PRG:370F A2 0C cmp $076E,x ; CPU:$B711 PRG:3711 DD 6E 07 - bcs NmiHandler_OnCarrySet4 ; CPU:$B714 PRG:3714 B0 AA + bcs NmiHandler_OnCarrySet6 ; CPU:$B714 PRG:3714 B0 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop199 -; Global: Branch target inside NmiHandler: taken when Loop199. +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop199: +NmiHandler_Loop235: rts ; CPU:$B716 PRG:3716 60 ; ---- data $B717-$B765 (79 bytes) ---- ; referenced by `lda $B717,y` at $B6C5 (operand $B717 falls inside this region) @@ -8844,10 +10435,51 @@ NmiHandler_Loop199: ; ----------------------------------------------------------------------------- Label_B766: rts ; CPU:$B766 PRG:3766 60 -; ---- data $B767-$B792 (44 bytes) ---- - .byte $DE, $6F, $07, $D0, $03, $4C, $0C, $B8, $BD, $6F, $07, $29, $03, $D0, $11, $BD ; CPU:$B767 PRG:3767 DE 6F 07 D0 03 4C 0C B8 BD 6F 07 29 03 D0 11 BD - .byte $6F, $07, $4A, $4A, $29, $01, $A8, $B9, $8A, $B7, $9D, $80, $07, $4C, $D1, $B7 ; CPU:$B777 PRG:3777 6F 07 4A 4A 29 01 A8 B9 8A B7 9D 80 07 4C D1 B7 - .byte $4C, $9F, $C4, $54, $6A, $20, $00, $00, $87, $00, $2D, $41 ; CPU:$B787 PRG:3787 4C 9F C4 54 6A 20 00 00 87 00 2D 41 +; ----------------------------------------------------------------------------- +; Routine: Label_B767 +; Global: Branch target inside Label: taken when B767. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B767: + dec $076F,x ; CPU:$B767 PRG:3767 DE 6F 07 + bne NmiHandler_Loop236 ; CPU:$B76A PRG:376A D0 03 + jmp Sub_B80C ; CPU:$B76C PRG:376C 4C 0C B8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + lda $076F,x ; CPU:$B76F PRG:376F BD 6F 07 + and #$03 ; CPU:$B772 PRG:3772 29 03 + bne NmiHandler_Loop237 ; CPU:$B774 PRG:3774 D0 11 + lda $076F,x ; CPU:$B776 PRG:3776 BD 6F 07 + lsr a ; CPU:$B779 PRG:3779 4A + lsr a ; CPU:$B77A PRG:377A 4A + and #$01 ; CPU:$B77B PRG:377B 29 01 + tay ; CPU:$B77D PRG:377D A8 + lda $B78A,y ; CPU:$B77E PRG:377E B9 8A B7 + sta $0780,x ; CPU:$B781 PRG:3781 9D 80 07 + jmp Sub_B7D1 ; CPU:$B784 PRG:3784 4C D1 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + jmp Sub_C49F ; CPU:$B787 PRG:3787 4C 9F C4 +; ---- data $B78A-$B792 (9 bytes) ---- +; referenced by `lda $B78A,y` at $B77E (operand $B78A falls inside this region) + .byte $54, $6A, $20, $00, $00, $87, $00, $2D, $41 ; CPU:$B78A PRG:378A 54 6A 20 00 00 87 00 2D 41 ; ----------------------------------------------------------------------------- ; Routine: Label_B793 ; Global: Branch target inside Label: taken when B793. @@ -8858,10 +10490,47 @@ Label_B766: ; ----------------------------------------------------------------------------- Label_B793: jmp Sub_B7D1 ; CPU:$B793 PRG:3793 4C D1 B7 -; ---- data $B796-$B7BB (38 bytes) ---- - .byte $DE, $6F, $07, $F0, $17, $BD, $6F, $07, $C9, $1A, $D0, $0D, $A9, $E2, $9D, $80 ; CPU:$B796 PRG:3796 DE 6F 07 F0 17 BD 6F 07 C9 1A D0 0D A9 E2 9D 80 - .byte $07, $A9, $20, $9D, $81, $07, $20, $D1, $B7, $4C, $9F, $C4, $4C, $0C, $B8, $00 ; CPU:$B7A6 PRG:37A6 07 A9 20 9D 81 07 20 D1 B7 4C 9F C4 4C 0C B8 00 - .byte $00, $00, $9F, $00, $54, $48 ; CPU:$B7B6 PRG:37B6 00 00 9F 00 54 48 +; ----------------------------------------------------------------------------- +; Routine: Label_B796 +; Global: Branch target inside Label: taken when B796. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B796: + dec $076F,x ; CPU:$B796 PRG:3796 DE 6F 07 + beq NmiHandler_Loop239 ; CPU:$B799 PRG:3799 F0 17 + lda $076F,x ; CPU:$B79B PRG:379B BD 6F 07 + cmp #$1A ; CPU:$B79E PRG:379E C9 1A + bne NmiHandler_Loop238 ; CPU:$B7A0 PRG:37A0 D0 0D + lda #$E2 ; CPU:$B7A2 PRG:37A2 A9 E2 + sta $0780,x ; CPU:$B7A4 PRG:37A4 9D 80 07 + lda #$20 ; CPU:$B7A7 PRG:37A7 A9 20 + sta $0781,x ; CPU:$B7A9 PRG:37A9 9D 81 07 + jsr Sub_B7D1 ; CPU:$B7AC PRG:37AC 20 D1 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + jmp Sub_C49F ; CPU:$B7AF PRG:37AF 4C 9F C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + jmp Sub_B80C ; CPU:$B7B2 PRG:37B2 4C 0C B8 +; ---- data $B7B5-$B7BB (7 bytes) ---- + .byte $00, $00, $00, $9F, $00, $54, $48 ; CPU:$B7B5 PRG:37B5 00 00 00 9F 00 54 48 ; ----------------------------------------------------------------------------- ; Routine: Label_B7BC ; Global: Branch target inside Label: taken when B7BC. @@ -8884,8 +10553,28 @@ Label_B7BC: ; ----------------------------------------------------------------------------- Label_B7C4: rts ; CPU:$B7C4 PRG:37C4 60 -; ---- data $B7C5-$B7D0 (12 bytes) ---- - .byte $20, $D1, $B7, $4C, $0C, $B8, $20, $D1, $B7, $4C, $9F, $C4 ; CPU:$B7C5 PRG:37C5 20 D1 B7 4C 0C B8 20 D1 B7 4C 9F C4 +; ----------------------------------------------------------------------------- +; Routine: Label_B7C5 +; Global: Branch target inside Label: taken when B7C5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7C5: + jsr Sub_B7D1 ; CPU:$B7C5 PRG:37C5 20 D1 B7 + jmp Sub_B80C ; CPU:$B7C8 PRG:37C8 4C 0C B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B7CB +; Global: Branch target inside Sub: taken when B7CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B7CB: + jsr Sub_B7D1 ; CPU:$B7CB PRG:37CB 20 D1 B7 + jmp Sub_C49F ; CPU:$B7CE PRG:37CE 4C 9F C4 ; ----------------------------------------------------------------------------- ; Routine: Sub_B7D1 ; Global: Branch target inside Sub: taken when B7D1. @@ -8904,35 +10593,84 @@ Sub_B7D1: lda $0781,x ; CPU:$B7E3 PRG:37E3 BD 81 07 sta APUPULSE1TIMERHI,x ; CPU:$B7E6 PRG:37E6 9D 03 40 rts ; CPU:$B7E9 PRG:37E9 60 -; ---- data $B7EA-$B7F0 (7 bytes) ---- - .byte $18, $00, $00, $85, $DC, $EC, $45 ; CPU:$B7EA PRG:37EA 18 00 00 85 DC EC 45 ; ----------------------------------------------------------------------------- -; Routine: Label_B7F1 -; Global: Branch target inside Label: taken when B7F1. +; Routine: Label_B7EA +; Global: Branch target inside Label: taken when B7EA. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_B7F1: - jmp Sub_B7D1 ; CPU:$B7F1 PRG:37F1 4C D1 B7 -; ---- data $B7F4-$B7FB (8 bytes) ---- - .byte $DE, $6F, $07, $F0, $03, $4C, $9F, $C4 ; CPU:$B7F4 PRG:37F4 DE 6F 07 F0 03 4C 9F C4 +Label_B7EA: + clc ; CPU:$B7EA PRG:37EA 18 + brk ; CPU:$B7EB PRG:37EB 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_B7FC -; Global: Branch target inside Sub: taken when B7FC. -; Local: Part of Sub. +; Routine: Label_B7EC +; Global: Branch target inside Label: taken when B7EC. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_B7FC: +Label_B7EC: + brk ; CPU:$B7EC PRG:37EC 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B7ED +; Global: Branch target inside Label: taken when B7ED. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7ED: + sta ZpDC ; CPU:$B7ED PRG:37ED 85 DC +; ----------------------------------------------------------------------------- +; Routine: Label_B7EF +; Global: Branch target inside Label: taken when B7EF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7EF: + cpx $4C45 ; CPU:$B7EF PRG:37EF EC 45 4C + cmp (ZpB7),y ; CPU:$B7F2 PRG:37F2 D1 B7 +; ----------------------------------------------------------------------------- +; Routine: Label_B7F4 +; Global: Branch target inside Label: taken when B7F4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7F4: + dec $076F,x ; CPU:$B7F4 PRG:37F4 DE 6F 07 + beq NmiHandler_Loop240 ; CPU:$B7F7 PRG:37F7 F0 03 + jmp Sub_C49F ; CPU:$B7F9 PRG:37F9 4C 9F C4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: lda #$10 ; CPU:$B7FC PRG:37FC A9 10 sta APUPULSE1CTRL,x ; CPU:$B7FE PRG:37FE 9D 00 40 lda #$00 ; CPU:$B801 PRG:3801 A9 00 sta APUPULSE1SWEEP,x ; CPU:$B803 PRG:3803 9D 01 40 sta APUPULSE1TIMERLO,x ; CPU:$B806 PRG:3806 9D 02 40 sta APUPULSE1TIMERHI,x ; CPU:$B809 PRG:3809 9D 03 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_B80C +; Global: Branch target inside Sub: taken when B80C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B80C: lda #$00 ; CPU:$B80C PRG:380C A9 00 sta $076E,x ; CPU:$B80E PRG:380E 9D 6E 07 jmp Sub_C49F ; CPU:$B811 PRG:3811 4C 9F C4 @@ -8953,9 +10691,69 @@ Label_B81B: lda $B829,y ; CPU:$B820 PRG:3820 B9 29 B8 sta $0781,x ; CPU:$B823 PRG:3823 9D 81 07 jmp Sub_B7D1 ; CPU:$B826 PRG:3826 4C D1 B7 -; ---- data $B829-$B833 (11 bytes) ---- -; referenced by `lda $B829,y` at $B820 (operand $B829 falls inside this region) - .byte $B4, $B5, $B6, $B7, $08, $00, $00, $00, $00, $00, $00 ; CPU:$B829 PRG:3829 B4 B5 B6 B7 08 00 00 00 00 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B829 +; Global: Branch target inside Label: taken when B829. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B829: + ldy ZpB5,x ; CPU:$B829 PRG:3829 B4 B5 + ldx ZpB7,y ; CPU:$B82B PRG:382B B6 B7 + php ; CPU:$B82D PRG:382D 08 + brk ; CPU:$B82E PRG:382E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B82F +; Global: Branch target inside Label: taken when B82F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B82F: + brk ; CPU:$B82F PRG:382F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B830 +; Global: Branch target inside Label: taken when B830. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B830: + brk ; CPU:$B830 PRG:3830 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B831 +; Global: Branch target inside Label: taken when B831. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B831: + brk ; CPU:$B831 PRG:3831 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B832 +; Global: Branch target inside Label: taken when B832. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B832: + brk ; CPU:$B832 PRG:3832 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B833 +; Global: Branch target inside Label: taken when B833. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B833: + brk ; CPU:$B833 PRG:3833 00 ; ----------------------------------------------------------------------------- ; Routine: Label_B834 ; Global: Branch target inside Label: taken when B834. @@ -8965,7 +10763,7 @@ Label_B81B: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Label_B834: - lda Zp14 ; CPU:$B834 PRG:3834 A5 14 + lda GameState ; CPU:$B834 PRG:3834 A5 14 lsr a ; CPU:$B836 PRG:3836 4A lsr a ; CPU:$B837 PRG:3837 4A lsr a ; CPU:$B838 PRG:3838 4A @@ -8985,44 +10783,44 @@ Label_B834: ; ----------------------------------------------------------------------------- Label_B843: lda Zp6C ; CPU:$B843 PRG:3843 A5 6C - beq NmiHandler_Loop201 ; CPU:$B845 PRG:3845 F0 12 + beq NmiHandler_Loop242 ; CPU:$B845 PRG:3845 F0 12 lda Zp99 ; CPU:$B847 PRG:3847 A5 99 - bne NmiHandler_Loop201 ; CPU:$B849 PRG:3849 D0 0E + bne NmiHandler_Loop242 ; CPU:$B849 PRG:3849 D0 0E lda Zp06 ; CPU:$B84B PRG:384B A5 06 eor #$FF ; CPU:$B84D PRG:384D 49 FF and #$03 ; CPU:$B84F PRG:384F 29 03 - beq NmiHandler_Loop200 ; CPU:$B851 PRG:3851 F0 01 + beq NmiHandler_Loop241 ; CPU:$B851 PRG:3851 F0 01 rts ; CPU:$B853 PRG:3853 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop200 -; Global: Branch target inside NmiHandler: taken when Loop200. +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop200: +NmiHandler_Loop241: dec $076F,x ; CPU:$B854 PRG:3854 DE 6F 07 - bne NmiHandler_Loop202 ; CPU:$B857 PRG:3857 D0 03 + bne NmiHandler_Loop243 ; CPU:$B857 PRG:3857 D0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop201 -; Global: Branch target inside NmiHandler: taken when Loop201. +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop201: - jmp Sub_B7FC ; CPU:$B859 PRG:3859 4C FC B7 +NmiHandler_Loop242: + jmp NmiHandler_Loop240 ; CPU:$B859 PRG:3859 4C FC B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop202 -; Global: Branch target inside NmiHandler: taken when Loop202. +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop202: +NmiHandler_Loop243: lda $076F,x ; CPU:$B85C PRG:385C BD 6F 07 clc ; CPU:$B85F PRG:385F 18 adc #$04 ; CPU:$B860 PRG:3860 69 04 @@ -9042,8 +10840,8 @@ NmiHandler_Loop202: Label_B879: lda Zp06 ; CPU:$B879 PRG:3879 A5 06 and #$03 ; CPU:$B87B PRG:387B 29 03 - bne NmiHandler_Loop203 ; CPU:$B87D PRG:387D D0 11 - lda Zp14 ; CPU:$B87F PRG:387F A5 14 + bne NmiHandler_Loop244 ; CPU:$B87D PRG:387D D0 11 + lda GameState ; CPU:$B87F PRG:387F A5 14 lsr a ; CPU:$B881 PRG:3881 4A lsr a ; CPU:$B882 PRG:3882 4A lsr a ; CPU:$B883 PRG:3883 4A @@ -9054,14 +10852,14 @@ Label_B879: sta $077E,x ; CPU:$B88A PRG:388A 9D 7E 07 jmp Sub_B7D1 ; CPU:$B88D PRG:388D 4C D1 B7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop203 -; Global: Branch target inside NmiHandler: taken when Loop203. +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop203: +NmiHandler_Loop244: rts ; CPU:$B890 PRG:3890 60 ; ---- data $B891-$B8A0 (16 bytes) ---- .byte $DE, $6F, $07, $D0, $03, $4C, $FC, $B7, $60, $10, $00, $00, $C7, $9A, $64, $01 ; CPU:$B891 PRG:3891 DE 6F 07 D0 03 4C FC B7 60 10 00 00 C7 9A 64 01 @@ -9111,10 +10909,10 @@ Label_B8EF: lsr a ; CPU:$B8FA PRG:38FA 4A lsr a ; CPU:$B8FB PRG:38FB 4A and #$08 ; CPU:$B8FC PRG:38FC 29 08 - sta Zp95 ; CPU:$B8FE PRG:38FE 85 95 + sta PlayerX ; CPU:$B8FE PRG:38FE 85 95 lda $077F,x ; CPU:$B900 PRG:3900 BD 7F 07 and #$F7 ; CPU:$B903 PRG:3903 29 F7 - ora Zp95 ; CPU:$B905 PRG:3905 05 95 + ora PlayerX ; CPU:$B905 PRG:3905 05 95 sta $077F,x ; CPU:$B907 PRG:3907 9D 7F 07 jmp Sub_B7D1 ; CPU:$B90A PRG:390A 4C D1 B7 ; ---- data $B90D-$B913 (7 bytes) ---- @@ -9141,186 +10939,224 @@ Label_B914: ; ----------------------------------------------------------------------------- Label_B91E: jmp Sub_B7D1 ; CPU:$B91E PRG:391E 4C D1 B7 -; ---- data $B921-$C44D (2861 bytes) ---- - .byte $A5, $06, $29, $03, $D0, $15, $DE, $6F, $07, $F0, $0D, $BD, $6F, $07, $A8, $B9 ; CPU:$B921 PRG:3921 A5 06 29 03 D0 15 DE 6F 07 F0 0D BD 6F 07 A8 B9 - .byte $3F, $B9, $9D, $80, $07, $4C, $CB, $B7, $4C, $0C, $B8, $4C, $9F, $C4, $00, $0F ; CPU:$B931 PRG:3931 3F B9 9D 80 07 4C CB B7 4C 0C B8 4C 9F C4 00 0F - .byte $0C, $08, $50, $87, $51, $00, $53, $40, $20, $06, $20, $03, $20, $03, $20, $0B ; CPU:$B941 PRG:3941 0C 08 50 87 51 00 53 40 20 06 20 03 20 03 20 0B - .byte $57, $50, $87, $51, $00, $53, $40, $1D, $06, $1D, $03, $1D, $03, $1D, $0B, $57 ; CPU:$B951 PRG:3951 57 50 87 51 00 53 40 1D 06 1D 03 1D 03 1D 0B 57 - .byte $50, $81, $53, $00, $19, $06, $19, $03, $19, $03, $19, $0B, $57, $50, $87, $51 ; CPU:$B961 PRG:3961 50 81 53 00 19 06 19 03 19 03 19 0B 57 50 87 51 - .byte $00, $53, $40, $25, $06, $25, $03, $25, $02, $25, $0B, $57, $50, $81, $53, $00 ; CPU:$B971 PRG:3971 00 53 40 25 06 25 03 25 02 25 0B 57 50 81 53 00 - .byte $1D, $06, $1D, $03, $1D, $03, $1D, $0B, $57, $50, $87, $51, $00, $53, $40, $29 ; CPU:$B981 PRG:3981 1D 06 1D 03 1D 03 1D 0B 57 50 87 51 00 53 40 29 - .byte $06, $29, $03, $29, $03, $29, $0B, $57, $50, $81, $53, $00, $20, $06, $20, $03 ; CPU:$B991 PRG:3991 06 29 03 29 03 29 0B 57 50 81 53 00 20 06 20 03 - .byte $20, $03, $20, $0B, $57, $50, $87, $51, $00, $53, $40, $1F, $09, $20, $09, $21 ; CPU:$B9A1 PRG:39A1 20 03 20 0B 57 50 87 51 00 53 40 1F 09 20 09 21 - .byte $09, $22, $09, $23, $09, $00, $09, $00, $09, $00, $09, $24, $0F, $57, $50, $87 ; CPU:$B9B1 PRG:39B1 09 22 09 23 09 00 09 00 09 00 09 24 0F 57 50 87 - .byte $51, $00, $53, $40, $24, $06, $24, $03, $22, $06, $22, $03, $21, $06, $21, $03 ; CPU:$B9C1 PRG:39C1 51 00 53 40 24 06 24 03 22 06 22 03 21 06 21 03 - .byte $20, $06, $20, $03, $1F, $06, $1F, $03, $00, $06, $00, $03, $00, $09, $1F, $03 ; CPU:$B9D1 PRG:39D1 20 06 20 03 1F 06 1F 03 00 06 00 03 00 09 1F 03 - .byte $21, $03, $23, $03, $24, $0C, $57, $50, $81, $53, $00, $18, $05, $00, $01, $18 ; CPU:$B9E1 PRG:39E1 21 03 23 03 24 0C 57 50 81 53 00 18 05 00 01 18 - .byte $02, $00, $01, $1C, $05, $00, $01, $1C, $02, $00, $01, $1D, $05, $00, $01, $1D ; CPU:$B9F1 PRG:39F1 02 00 01 1C 05 00 01 1C 02 00 01 1D 05 00 01 1D - .byte $02, $00, $01, $1E, $05, $00, $01, $1E, $02, $00, $01, $1F, $05, $00, $01, $1F ; CPU:$BA01 PRG:3A01 02 00 01 1E 05 00 01 1E 02 00 01 1F 05 00 01 1F - .byte $02, $00, $01, $13, $05, $00, $01, $13, $02, $00, $01, $15, $05, $00, $01, $15 ; CPU:$BA11 PRG:3A11 02 00 01 13 05 00 01 13 02 00 01 15 05 00 01 15 - .byte $02, $00, $01, $17, $05, $00, $01, $18, $0F, $01, $50, $57, $00, $00, $56, $2D ; CPU:$BA21 PRG:3A21 02 00 01 17 05 00 01 18 0F 01 50 57 00 00 56 2D - .byte $BA, $00, $00, $56, $32, $BA, $50, $87, $51, $00, $53, $40, $19, $08, $1D, $08 ; CPU:$BA31 PRG:3A31 BA 00 00 56 32 BA 50 87 51 00 53 40 19 08 1D 08 - .byte $20, $08, $25, $08, $29, $06, $27, $02, $25, $04, $24, $04, $25, $10, $1B, $08 ; CPU:$BA41 PRG:3A41 20 08 25 08 29 06 27 02 25 04 24 04 25 10 1B 08 - .byte $1E, $08, $22, $08, $27, $08, $2A, $06, $29, $02, $27, $04, $29, $04, $2A, $0C ; CPU:$BA51 PRG:3A51 1E 08 22 08 27 08 2A 06 29 02 27 04 29 04 2A 0C - .byte $20, $02, $20, $02, $27, $08, $26, $08, $27, $0C, $20, $02, $20, $02, $29, $08 ; CPU:$BA61 PRG:3A61 20 02 20 02 27 08 26 08 27 0C 20 02 20 02 29 08 - .byte $28, $08, $29, $0C, $20, $02, $20, $02, $22, $08, $2A, $08, $29, $04, $25, $04 ; CPU:$BA71 PRG:3A71 28 08 29 0C 20 02 20 02 22 08 2A 08 29 04 25 04 - .byte $27, $04, $24, $04, $25, $18, $57, $50, $81, $53, $00, $19, $08, $1D, $08, $14 ; CPU:$BA81 PRG:3A81 27 04 24 04 25 18 57 50 81 53 00 19 08 1D 08 14 - .byte $08, $1D, $08, $19, $08, $1D, $08, $14, $08, $1D, $08, $1B, $08, $1E, $08, $16 ; CPU:$BA91 PRG:3A91 08 1D 08 19 08 1D 08 14 08 1D 08 1B 08 1E 08 16 - .byte $08, $1E, $08, $1B, $08, $1E, $08, $16, $08, $1B, $08, $1B, $08, $18, $08, $14 ; CPU:$BAA1 PRG:3AA1 08 1E 08 1B 08 1E 08 16 08 1B 08 1B 08 18 08 14 - .byte $08, $00, $08, $1D, $08, $19, $08, $14, $08, $00, $08, $16, $08, $12, $08, $18 ; CPU:$BAB1 PRG:3AB1 08 00 08 1D 08 19 08 14 08 00 08 16 08 12 08 18 - .byte $08, $14, $08, $19, $08, $11, $08, $0D, $08, $0D, $08, $01, $50, $57, $50, $00 ; CPU:$BAC1 PRG:3AC1 08 14 08 19 08 11 08 0D 08 0D 08 01 50 57 50 00 - .byte $53, $40, $4B, $04, $4B, $02, $4B, $02, $55, $54, $1F, $D3, $BA, $00, $50, $57 ; CPU:$BAD1 PRG:3AD1 53 40 4B 04 4B 02 4B 02 55 54 1F D3 BA 00 50 57 - .byte $50, $87, $51, $00, $53, $40, $23, $09, $20, $09, $1C, $06, $1C, $03, $1C, $09 ; CPU:$BAE1 PRG:3AE1 50 87 51 00 53 40 23 09 20 09 1C 06 1C 03 1C 09 - .byte $1E, $06, $20, $03, $20, $09, $1C, $06, $1C, $03, $1C, $09, $1E, $06, $20, $03 ; CPU:$BAF1 PRG:3AF1 1E 06 20 03 20 09 1C 06 1C 03 1C 09 1E 06 20 03 - .byte $20, $09, $21, $09, $21, $06, $23, $03, $23, $09, $21, $09, $20, $06, $1E, $03 ; CPU:$BB01 PRG:3B01 20 09 21 09 21 06 23 03 23 09 21 09 20 06 1E 03 - .byte $1E, $09, $21, $06, $20, $03, $1E, $09, $17, $06, $17, $03, $17, $09, $21, $06 ; CPU:$BB11 PRG:3B11 1E 09 21 06 20 03 1E 09 17 06 17 03 17 09 21 06 - .byte $20, $03, $1E, $09, $17, $06, $17, $03, $17, $09, $1C, $06, $20, $03, $1E, $09 ; CPU:$BB21 PRG:3B21 20 03 1E 09 17 06 17 03 17 09 1C 06 20 03 1E 09 - .byte $1C, $06, $20, $03, $1E, $09, $1C, $06, $20, $03, $1E, $1B, $2F, $09, $2C, $09 ; CPU:$BB31 PRG:3B31 1C 06 20 03 1E 09 1C 06 20 03 1E 1B 2F 09 2C 09 - .byte $28, $06, $28, $03, $28, $09, $2A, $06, $2C, $03, $2C, $09, $28, $06, $28, $03 ; CPU:$BB41 PRG:3B41 28 06 28 03 28 09 2A 06 2C 03 2C 09 28 06 28 03 - .byte $28, $09, $2A, $06, $2C, $03, $2C, $09, $2D, $09, $2D, $06, $2F, $03, $2F, $09 ; CPU:$BB51 PRG:3B51 28 09 2A 06 2C 03 2C 09 2D 09 2D 06 2F 03 2F 09 - .byte $2D, $09, $2C, $06, $2A, $03, $2A, $09, $2D, $06, $2C, $03, $2A, $09, $23, $06 ; CPU:$BB61 PRG:3B61 2D 09 2C 06 2A 03 2A 09 2D 06 2C 03 2A 09 23 06 - .byte $23, $03, $23, $09, $2D, $06, $2C, $03, $2A, $09, $23, $06, $23, $03, $23, $09 ; CPU:$BB71 PRG:3B71 23 03 23 09 2D 06 2C 03 2A 09 23 06 23 03 23 09 - .byte $28, $06, $2C, $03, $2A, $09, $28, $06, $2C, $03, $2A, $09, $28, $06, $2C, $03 ; CPU:$BB81 PRG:3B81 28 06 2C 03 2A 09 28 06 2C 03 2A 09 28 06 2C 03 - .byte $2A, $1B, $57, $50, $87, $51, $00, $53, $40, $23, $09, $28, $09, $23, $06, $23 ; CPU:$BB91 PRG:3B91 2A 1B 57 50 87 51 00 53 40 23 09 28 09 23 06 23 - .byte $03, $23, $09, $25, $06, $27, $03, $28, $09, $23, $06, $23, $03, $23, $09, $25 ; CPU:$BBA1 PRG:3BA1 03 23 09 25 06 27 03 28 09 23 06 23 03 23 09 25 - .byte $06, $27, $03, $28, $09, $23, $09, $21, $06, $20, $03, $1E, $06, $1C, $03, $1E ; CPU:$BBB1 PRG:3BB1 06 27 03 28 09 23 09 21 06 20 03 1E 06 1C 03 1E - .byte $09, $17, $06, $17, $03, $17, $09, $21, $06, $1C, $03, $1E, $09, $17, $06, $17 ; CPU:$BBC1 PRG:3BC1 09 17 06 17 03 17 09 21 06 1C 03 1E 09 17 06 17 - .byte $03, $17, $09, $21, $06, $1C, $03, $1E, $09, $17, $06, $17, $03, $17, $09, $20 ; CPU:$BBD1 PRG:3BD1 03 17 09 21 06 1C 03 1E 09 17 06 17 03 17 09 20 - .byte $06, $1C, $03, $1E, $09, $20, $06, $1C, $03, $1E, $09, $20, $06, $1C, $03, $1E ; CPU:$BBE1 PRG:3BE1 06 1C 03 1E 09 20 06 1C 03 1E 09 20 06 1C 03 1E - .byte $1B, $55, $54, $01, $9A, $BB, $57, $50, $81, $53, $00, $1C, $09, $1C, $09, $21 ; CPU:$BBF1 PRG:3BF1 1B 55 54 01 9A BB 57 50 81 53 00 1C 09 1C 09 21 - .byte $09, $20, $09, $1E, $09, $1C, $09, $21, $09, $20, $09, $1E, $09, $1C, $09, $21 ; CPU:$BC01 PRG:3C01 09 20 09 1E 09 1C 09 21 09 20 09 1E 09 1C 09 21 - .byte $09, $20, $09, $1C, $09, $1B, $09, $1C, $09, $1E, $09, $1C, $09, $1B, $09, $17 ; CPU:$BC11 PRG:3C11 09 20 09 1C 09 1B 09 1C 09 1E 09 1C 09 1B 09 17 - .byte $09, $1C, $09, $1B, $09, $19, $09, $17, $09, $1E, $09, $1C, $09, $1B, $09, $19 ; CPU:$BC21 PRG:3C21 09 1C 09 1B 09 19 09 17 09 1E 09 1C 09 1B 09 19 - .byte $09, $17, $09, $55, $15, $09, $14, $09, $15, $09, $16, $09, $54, $01, $FC, $BB ; CPU:$BC31 PRG:3C31 09 17 09 55 15 09 14 09 15 09 16 09 54 01 FC BB - .byte $15, $09, $0E, $09, $0F, $09, $10, $09, $57, $00, $00, $56, $4A, $BC, $50, $87 ; CPU:$BC41 PRG:3C41 15 09 0E 09 0F 09 10 09 57 00 00 56 4A BC 50 87 - .byte $53, $40, $17, $09, $17, $03, $17, $03, $17, $03, $17, $09, $17, $03, $17, $03 ; CPU:$BC51 PRG:3C51 53 40 17 09 17 03 17 03 17 03 17 09 17 03 17 03 - .byte $17, $03, $15, $09, $15, $03, $15, $03, $15, $03, $15, $09, $15, $03, $15, $03 ; CPU:$BC61 PRG:3C61 17 03 15 09 15 03 15 03 15 03 15 09 15 03 15 03 - .byte $15, $03, $58, $01, $16, $09, $16, $03, $16, $03, $16, $03, $18, $09, $18, $03 ; CPU:$BC71 PRG:3C71 15 03 58 01 16 09 16 03 16 03 16 03 18 09 18 03 - .byte $18, $03, $18, $03, $23, $10, $50, $D5, $53, $48, $56, $9F, $BC, $50, $D5, $53 ; CPU:$BC81 PRG:3C81 18 03 18 03 23 10 50 D5 53 48 56 9F BC 50 D5 53 - .byte $48, $00, $03, $12, $18, $10, $18, $12, $18, $00, $18, $56, $E7, $BC, $12, $03 ; CPU:$BC91 PRG:3C91 48 00 03 12 18 10 18 12 18 00 18 56 E7 BC 12 03 - .byte $12, $03, $12, $03, $12, $03, $12, $03, $12, $03, $13, $03, $13, $03, $13, $03 ; CPU:$BCA1 PRG:3CA1 12 03 12 03 12 03 12 03 12 03 13 03 13 03 13 03 - .byte $13, $03, $13, $03, $13, $03, $14, $03, $14, $03, $14, $03, $14, $03, $14, $03 ; CPU:$BCB1 PRG:3CB1 13 03 13 03 13 03 14 03 14 03 14 03 14 03 14 03 - .byte $14, $03, $15, $03, $15, $03, $15, $03, $15, $03, $15, $03, $15, $03, $16, $03 ; CPU:$BCC1 PRG:3CC1 14 03 15 03 15 03 15 03 15 03 15 03 15 03 16 03 - .byte $16, $03, $16, $03, $16, $03, $16, $03, $16, $03, $17, $03, $17, $03, $17, $03 ; CPU:$BCD1 PRG:3CD1 16 03 16 03 16 03 16 03 16 03 17 03 17 03 17 03 - .byte $17, $03, $17, $03, $17, $03, $18, $03, $18, $03, $18, $03, $19, $03, $19, $03 ; CPU:$BCE1 PRG:3CE1 17 03 17 03 17 03 18 03 18 03 18 03 19 03 19 03 - .byte $19, $03, $1B, $03, $1B, $03, $1B, $03, $1C, $03, $1C, $03, $1D, $03, $1E, $18 ; CPU:$BCF1 PRG:3CF1 19 03 1B 03 1B 03 1B 03 1C 03 1C 03 1D 03 1E 18 - .byte $50, $D5, $53, $48, $00, $03, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05 ; CPU:$BD01 PRG:3D01 50 D5 53 48 00 03 11 05 18 05 1D 05 11 05 18 05 - .byte $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05 ; CPU:$BD11 PRG:3D11 1D 05 11 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 - .byte $18, $05, $16, $05, $18, $05, $55, $54, $03, $07, $BD, $00, $1E, $2B, $05, $00 ; CPU:$BD21 PRG:3D21 18 05 16 05 18 05 55 54 03 07 BD 00 1E 2B 05 00 - .byte $05, $2B, $0A, $00, $05, $2C, $05, $00, $14, $00, $1E, $2B, $05, $00, $05, $2B ; CPU:$BD31 PRG:3D31 05 2B 0A 00 05 2C 05 00 14 00 1E 2B 05 00 05 2B - .byte $0A, $00, $05, $2C, $05, $00, $0A, $50, $95, $53, $40, $2E, $50, $24, $28, $27 ; CPU:$BD41 PRG:3D41 0A 00 05 2C 05 00 0A 50 95 53 40 2E 50 24 28 27 - .byte $28, $00, $0A, $00, $0A, $29, $0F, $29, $0F, $22, $1E, $00, $0A, $00, $0A, $29 ; CPU:$BD51 PRG:3D51 28 00 0A 00 0A 29 0F 29 0F 22 1E 00 0A 00 0A 29 - .byte $0F, $29, $0F, $22, $1E, $00, $0A, $00, $0A, $29, $0F, $29, $0F, $22, $1E, $00 ; CPU:$BD61 PRG:3D61 0F 29 0F 22 1E 00 0A 00 0A 29 0F 29 0F 22 1E 00 - .byte $0A, $00, $0A, $29, $0F, $29, $0F, $22, $1E, $00, $0A, $1D, $A0, $1D, $A0, $50 ; CPU:$BD71 PRG:3D71 0A 00 0A 29 0F 29 0F 22 1E 00 0A 1D A0 1D A0 50 - .byte $D5, $53, $48, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11 ; CPU:$BD81 PRG:3D81 D5 53 48 11 05 18 05 1D 05 11 05 18 05 1D 05 11 - .byte $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18, $05, $16 ; CPU:$BD91 PRG:3D91 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 05 16 - .byte $05, $18, $05, $55, $54, $03, $84, $BD, $00, $1E, $2B, $05, $00, $05, $2B, $0A ; CPU:$BDA1 PRG:3DA1 05 18 05 55 54 03 84 BD 00 1E 2B 05 00 05 2B 0A - .byte $00, $05, $2C, $05, $00, $14, $00, $1E, $2B, $05, $00, $05, $2B, $0A, $00, $05 ; CPU:$BDB1 PRG:3DB1 00 05 2C 05 00 14 00 1E 2B 05 00 05 2B 0A 00 05 - .byte $2C, $05, $00, $0A, $50, $95, $53, $40, $2E, $50, $24, $28, $27, $28, $00, $0A ; CPU:$BDC1 PRG:3DC1 2C 05 00 0A 50 95 53 40 2E 50 24 28 27 28 00 0A - .byte $00, $0A, $35, $0F, $35, $0F, $2E, $1E, $00, $0A, $00, $0A, $35, $0F, $35, $0F ; CPU:$BDD1 PRG:3DD1 00 0A 35 0F 35 0F 2E 1E 00 0A 00 0A 35 0F 35 0F - .byte $2E, $1E, $00, $0A, $00, $0A, $35, $0F, $35, $0F, $2E, $1E, $00, $0A, $00, $0A ; CPU:$BDE1 PRG:3DE1 2E 1E 00 0A 00 0A 35 0F 35 0F 2E 1E 00 0A 00 0A - .byte $35, $0F, $35, $0F, $2E, $1E, $00, $0A, $29, $A0, $29, $9F, $50, $D5, $53, $48 ; CPU:$BDF1 PRG:3DF1 35 0F 35 0F 2E 1E 00 0A 29 A0 29 9F 50 D5 53 48 - .byte $00, $01, $56, $07, $BD, $50, $87, $53, $40, $1F, $09, $1F, $03, $1F, $03, $1F ; CPU:$BE01 PRG:3E01 00 01 56 07 BD 50 87 53 40 1F 09 1F 03 1F 03 1F - .byte $03, $1C, $09, $1C, $03, $1C, $03, $1C, $03, $1A, $09, $1A, $03, $1A, $03, $1A ; CPU:$BE11 PRG:3E11 03 1C 09 1C 03 1C 03 1C 03 1A 09 1A 03 1A 03 1A - .byte $03, $1A, $09, $1A, $03, $1A, $03, $1A, $03, $1F, $09, $1F, $03, $1F, $03, $1F ; CPU:$BE21 PRG:3E21 03 1A 09 1A 03 1A 03 1A 03 1F 09 1F 03 1F 03 1F - .byte $03, $1F, $09, $1F, $03, $1F, $03, $1F, $03, $2B, $10, $50, $55, $53, $48, $56 ; CPU:$BE31 PRG:3E31 03 1F 09 1F 03 1F 03 1F 03 2B 10 50 55 53 48 56 - .byte $80, $BE, $00, $01, $50, $55, $53, $48, $00, $02, $00, $03, $1E, $03, $1E, $03 ; CPU:$BE41 PRG:3E41 80 BE 00 01 50 55 53 48 00 02 00 03 1E 03 1E 03 - .byte $1E, $03, $1E, $03, $1E, $03, $1E, $03, $1E, $03, $00, $03, $1C, $03, $1C, $03 ; CPU:$BE51 PRG:3E51 1E 03 1E 03 1E 03 1E 03 1E 03 00 03 1C 03 1C 03 - .byte $1C, $03, $1C, $03, $1C, $03, $1C, $03, $1C, $03, $00, $03, $23, $03, $23, $03 ; CPU:$BE61 PRG:3E61 1C 03 1C 03 1C 03 1C 03 1C 03 00 03 23 03 23 03 - .byte $23, $03, $23, $03, $23, $03, $23, $03, $23, $03, $1E, $18, $56, $8C, $BE, $19 ; CPU:$BE71 PRG:3E71 23 03 23 03 23 03 23 03 23 03 1E 18 56 8C BE 19 - .byte $12, $1A, $12, $1B, $12, $1C, $12, $1D, $12, $1E, $12, $1F, $09, $20, $09, $22 ; CPU:$BE81 PRG:3E81 12 1A 12 1B 12 1C 12 1D 12 1E 12 1F 09 20 09 22 - .byte $09, $23, $06, $24, $03, $2A, $18, $00, $01, $50, $55, $53, $48, $00, $02, $05 ; CPU:$BE91 PRG:3E91 09 23 06 24 03 2A 18 00 01 50 55 53 48 00 02 05 - .byte $05, $05, $05, $00, $05, $00, $05, $00, $05, $05, $05, $00, $05, $05, $05, $00 ; CPU:$BEA1 PRG:3EA1 05 05 05 00 05 00 05 00 05 05 05 00 05 05 05 00 - .byte $28, $55, $54, $03, $A0, $BE, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05 ; CPU:$BEB1 PRG:3EB1 28 55 54 03 A0 BE 00 1E 27 05 00 05 27 0A 00 05 - .byte $29, $05, $00, $14, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05, $29, $05 ; CPU:$BEC1 PRG:3EC1 29 05 00 14 00 1E 27 05 00 05 27 0A 00 05 29 05 - .byte $00, $0A, $50, $95, $53, $40, $2B, $50, $20, $28, $22, $28, $00, $0A, $00, $0A ; CPU:$BED1 PRG:3ED1 00 0A 50 95 53 40 2B 50 20 28 22 28 00 0A 00 0A - .byte $22, $0F, $21, $0F, $1F, $1E, $00, $0A, $00, $0A, $22, $0F, $21, $0F, $1F, $1E ; CPU:$BEE1 PRG:3EE1 22 0F 21 0F 1F 1E 00 0A 00 0A 22 0F 21 0F 1F 1E - .byte $00, $0A, $00, $0A, $22, $0F, $21, $0F, $1F, $1E, $00, $0A, $00, $0A, $22, $0F ; CPU:$BEF1 PRG:3EF1 00 0A 00 0A 22 0F 21 0F 1F 1E 00 0A 00 0A 22 0F - .byte $21, $0F, $1F, $1E, $00, $0A, $18, $A0, $18, $A0, $50, $55, $53, $48, $54, $04 ; CPU:$BF01 PRG:3F01 21 0F 1F 1E 00 0A 18 A0 18 A0 50 55 53 48 54 04 - .byte $A0, $BE, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05, $29, $05, $00, $14 ; CPU:$BF11 PRG:3F11 A0 BE 00 1E 27 05 00 05 27 0A 00 05 29 05 00 14 - .byte $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05, $29, $05, $00, $0A, $50, $95 ; CPU:$BF21 PRG:3F21 00 1E 27 05 00 05 27 0A 00 05 29 05 00 0A 50 95 - .byte $53, $40, $2B, $50, $20, $28, $22, $28, $00, $0A, $00, $0A, $2E, $0F, $2D, $0F ; CPU:$BF31 PRG:3F31 53 40 2B 50 20 28 22 28 00 0A 00 0A 2E 0F 2D 0F - .byte $2B, $1E, $00, $0A, $00, $0A, $2E, $0F, $2D, $0F, $2B, $1E, $00, $0A, $00, $0A ; CPU:$BF41 PRG:3F41 2B 1E 00 0A 00 0A 2E 0F 2D 0F 2B 1E 00 0A 00 0A - .byte $2E, $0F, $2D, $0F, $2B, $1E, $00, $0A, $00, $0A, $2E, $0F, $2D, $0F, $2B, $1E ; CPU:$BF51 PRG:3F51 2E 0F 2D 0F 2B 1E 00 0A 00 0A 2E 0F 2D 0F 2B 1E - .byte $00, $0A, $24, $A0, $24, $9F, $50, $55, $53, $48, $00, $01, $56, $A0, $BE, $50 ; CPU:$BF61 PRG:3F61 00 0A 24 A0 24 9F 50 55 53 48 00 01 56 A0 BE 50 - .byte $81, $53, $00, $1F, $09, $23, $03, $1F, $03, $23, $03, $1C, $09, $1F, $03, $1C ; CPU:$BF71 PRG:3F71 81 53 00 1F 09 23 03 1F 03 23 03 1C 09 1F 03 1C - .byte $03, $1F, $03, $1A, $09, $1E, $03, $1A, $03, $1E, $03, $1A, $09, $1E, $03, $1A ; CPU:$BF81 PRG:3F81 03 1F 03 1A 09 1E 03 1A 03 1E 03 1A 09 1E 03 1A - .byte $03, $1E, $03, $1D, $09, $1F, $03, $1D, $03, $1F, $03, $1D, $09, $21, $03, $1D ; CPU:$BF91 PRG:3F91 03 1E 03 1D 09 1F 03 1D 03 1F 03 1D 09 21 03 1D - .byte $03, $21, $03, $1F, $10, $50, $0F, $53, $00, $56, $EA, $BF, $00, $02, $50, $0F ; CPU:$BFA1 PRG:3FA1 03 21 03 1F 10 50 0F 53 00 56 EA BF 00 02 50 0F - .byte $53, $00, $00, $01, $00, $03, $25, $03, $25, $03, $25, $03, $25, $03, $25, $03 ; CPU:$BFB1 PRG:3FB1 53 00 00 01 00 03 25 03 25 03 25 03 25 03 25 03 - .byte $25, $03, $25, $03, $00, $03, $23, $03, $23, $03, $23, $03, $23, $03, $23, $03 ; CPU:$BFC1 PRG:3FC1 25 03 25 03 00 03 23 03 23 03 23 03 23 03 23 03 - .byte $23, $03, $23, $03, $00, $03, $2A, $03, $2A, $03, $2A, $03, $2A, $03, $2A, $03 ; CPU:$BFD1 PRG:3FD1 23 03 23 03 00 03 2A 03 2A 03 2A 03 2A 03 2A 03 - .byte $2A, $03, $2A, $03, $25, $18, $56, $F6, $BF, $1E, $12, $1F, $12, $20, $12, $21 ; CPU:$BFE1 PRG:3FE1 2A 03 2A 03 25 18 56 F6 BF 1E 12 1F 12 20 12 21 - .byte $12, $22, $12, $23, $12, $24, $09, $25, $09, $27, $09, $28, $06, $29, $03, $25 ; CPU:$BFF1 PRG:3FF1 12 22 12 23 12 24 09 25 09 27 09 28 06 29 03 25 - .byte $18, $00, $01, $50, $81, $53, $00, $00, $02, $11, $05, $18, $05, $1D, $05, $11 ; CPU:$C001 PRG:4001 18 00 01 50 81 53 00 00 02 11 05 18 05 1D 05 11 - .byte $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D ; CPU:$C011 PRG:4011 05 18 05 1D 05 11 05 18 05 1D 05 11 05 18 05 1D - .byte $05, $1B, $05, $18, $05, $16, $05, $18, $05, $55, $54, $07, $0A, $C0, $16, $05 ; CPU:$C021 PRG:4021 05 1B 05 18 05 16 05 18 05 55 54 07 0A C0 16 05 - .byte $1D, $05, $22, $05, $16, $05, $1D, $05, $22, $05, $16, $05, $1D, $05, $0F, $05 ; CPU:$C031 PRG:4031 1D 05 22 05 16 05 1D 05 22 05 16 05 1D 05 0F 05 - .byte $16, $05, $1B, $05, $0F, $05, $16, $05, $1B, $05, $22, $05, $21, $05, $55, $54 ; CPU:$C041 PRG:4041 16 05 1B 05 0F 05 16 05 1B 05 22 05 21 05 55 54 - .byte $03, $2F, $C0, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19 ; CPU:$C051 PRG:4051 03 2F C0 19 05 20 05 25 05 19 05 20 05 25 05 19 - .byte $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $1F ; CPU:$C061 PRG:4061 05 20 05 25 05 19 05 20 05 25 05 19 05 20 05 1F - .byte $05, $1B, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11 ; CPU:$C071 PRG:4071 05 1B 05 11 05 18 05 1D 05 11 05 18 05 1D 05 11 - .byte $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18, $05, $16 ; CPU:$C081 PRG:4081 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 05 16 - .byte $05, $16, $05, $55, $54, $01, $54, $C0, $11, $05, $18, $05, $1D, $05, $11, $05 ; CPU:$C091 PRG:4091 05 16 05 55 54 01 54 C0 11 05 18 05 1D 05 11 05 - .byte $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05 ; CPU:$C0A1 PRG:40A1 18 05 1D 05 11 05 18 05 1D 05 11 05 18 05 1D 05 - .byte $1B, $05, $18, $05, $16, $05, $18, $05, $55, $54, $07, $99, $C0, $16, $05, $1D ; CPU:$C0B1 PRG:40B1 1B 05 18 05 16 05 18 05 55 54 07 99 C0 16 05 1D - .byte $05, $22, $05, $16, $05, $1D, $05, $22, $05, $16, $05, $1D, $05, $0F, $05, $16 ; CPU:$C0C1 PRG:40C1 05 22 05 16 05 1D 05 22 05 16 05 1D 05 0F 05 16 - .byte $05, $1B, $05, $0F, $05, $16, $05, $1B, $05, $22, $05, $21, $05, $55, $54, $03 ; CPU:$C0D1 PRG:40D1 05 1B 05 0F 05 16 05 1B 05 22 05 21 05 55 54 03 - .byte $BE, $C0, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19, $05 ; CPU:$C0E1 PRG:40E1 BE C0 19 05 20 05 25 05 19 05 20 05 25 05 19 05 - .byte $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $1F, $05 ; CPU:$C0F1 PRG:40F1 20 05 25 05 19 05 20 05 25 05 19 05 20 05 1F 05 - .byte $1B, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05 ; CPU:$C101 PRG:4101 1B 05 11 05 18 05 1D 05 11 05 18 05 1D 05 11 05 - .byte $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18, $05, $16, $05 ; CPU:$C111 PRG:4111 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 05 16 05 - .byte $16, $05, $55, $54, $01, $E3, $C0, $56, $0A, $C0, $50, $00, $53, $40, $4B, $09 ; CPU:$C121 PRG:4121 16 05 55 54 01 E3 C0 56 0A C0 50 00 53 40 4B 09 - .byte $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03, $4B, $09 ; CPU:$C131 PRG:4131 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 4B 09 - .byte $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03, $4B, $09 ; CPU:$C141 PRG:4141 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 4B 09 - .byte $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03, $49, $10 ; CPU:$C151 PRG:4151 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 49 10 - .byte $56, $6D, $C1, $00, $03, $00, $60, $00, $3C, $56, $6F, $C1, $00, $A8, $50, $80 ; CPU:$C161 PRG:4161 56 6D C1 00 03 00 60 00 3C 56 6F C1 00 A8 50 80 - .byte $52, $01, $53, $F0, $00, $03, $4B, $05, $4B, $05, $50, $82, $4B, $05, $50, $80 ; CPU:$C171 PRG:4171 52 01 53 F0 00 03 4B 05 4B 05 50 82 4B 05 50 80 - .byte $4B, $05, $56, $77, $C1, $50, $55, $53, $E8, $00, $0A, $00, $05, $27, $05, $2C ; CPU:$C181 PRG:4181 4B 05 56 77 C1 50 55 53 E8 00 0A 00 05 27 05 2C - .byte $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $27, $05, $2C ; CPU:$C191 PRG:4191 05 24 05 27 05 29 05 00 05 24 05 00 05 27 05 2C - .byte $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $27, $05, $2C ; CPU:$C1A1 PRG:41A1 05 24 05 27 05 29 05 00 05 24 05 00 05 27 05 2C - .byte $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $2C, $05, $2B ; CPU:$C1B1 PRG:41B1 05 24 05 27 05 29 05 00 05 24 05 00 05 2C 05 2B - .byte $05, $2C, $05, $2B, $05, $27, $05, $00, $05, $29, $05, $57, $50, $00, $53, $00 ; CPU:$C1C1 PRG:41C1 05 2C 05 2B 05 27 05 00 05 29 05 57 50 00 53 00 - .byte $01, $0A, $50, $81, $11, $05, $00, $05, $1D, $05, $00, $05, $1B, $05, $00, $05 ; CPU:$C1D1 PRG:41D1 01 0A 50 81 11 05 00 05 1D 05 00 05 1B 05 00 05 - .byte $0F, $05, $00, $05, $0D, $05, $00, $05, $19, $05, $00, $05, $18, $05, $00, $05 ; CPU:$C1E1 PRG:41E1 0F 05 00 05 0D 05 00 05 19 05 00 05 18 05 00 05 - .byte $0C, $05, $00, $05, $11, $05, $00, $05, $1D, $05, $00, $05, $1B, $05, $00, $05 ; CPU:$C1F1 PRG:41F1 0C 05 00 05 11 05 00 05 1D 05 00 05 1B 05 00 05 - .byte $0F, $05, $00, $05, $0A, $05, $00, $05, $16, $05, $00, $05, $18, $05, $00, $05 ; CPU:$C201 PRG:4201 0F 05 00 05 0A 05 00 05 16 05 00 05 18 05 00 05 - .byte $0C, $05, $00, $05, $57, $50, $80, $52, $01, $53, $F0, $00, $0A, $4B, $05, $4B ; CPU:$C211 PRG:4211 0C 05 00 05 57 50 80 52 01 53 F0 00 0A 4B 05 4B - .byte $05, $50, $82, $4B, $05, $50, $80, $4B, $05, $56, $1E, $C2, $50, $87, $53, $40 ; CPU:$C221 PRG:4221 05 50 82 4B 05 50 80 4B 05 56 1E C2 50 87 53 40 - .byte $54, $01, $AB, $C2, $27, $05, $00, $0A, $25, $05, $00, $0A, $27, $05, $00, $0A ; CPU:$C231 PRG:4231 54 01 AB C2 27 05 00 0A 25 05 00 0A 27 05 00 0A - .byte $25, $05, $00, $0A, $27, $05, $00, $05, $25, $05, $00, $05, $1D, $05, $00, $0A ; CPU:$C241 PRG:4241 25 05 00 0A 27 05 00 05 25 05 00 05 1D 05 00 0A - .byte $1E, $05, $00, $0A, $1E, $05, $00, $05, $00, $14, $2E, $05, $2C, $05, $2A, $05 ; CPU:$C251 PRG:4251 1E 05 00 0A 1E 05 00 05 00 14 2E 05 2C 05 2A 05 - .byte $00, $05, $27, $05, $00, $0A, $25, $05, $00, $0A, $29, $05, $00, $0A, $25, $05 ; CPU:$C261 PRG:4261 00 05 27 05 00 0A 25 05 00 0A 29 05 00 0A 25 05 - .byte $00, $0A, $27, $05, $00, $05, $25, $05, $00, $05, $1E, $05, $00, $0A, $20, $05 ; CPU:$C271 PRG:4271 00 0A 27 05 00 05 25 05 00 05 1E 05 00 0A 20 05 - .byte $00, $0A, $22, $05, $00, $0A, $1E, $05, $00, $0A, $20, $05, $00, $05, $22, $05 ; CPU:$C281 PRG:4281 00 0A 22 05 00 0A 1E 05 00 0A 20 05 00 05 22 05 - .byte $00, $05, $20, $05, $00, $0A, $22, $05, $00, $0A, $24, $05, $00, $0A, $20, $05 ; CPU:$C291 PRG:4291 00 05 20 05 00 0A 22 05 00 0A 24 05 00 0A 20 05 - .byte $00, $0A, $22, $05, $00, $05, $24, $05, $06, $05, $1E, $05, $20, $05, $22, $05 ; CPU:$C2A1 PRG:42A1 00 0A 22 05 00 05 24 05 06 05 1E 05 20 05 22 05 - .byte $24, $05, $20, $05, $22, $05, $24, $05, $25, $05, $22, $05, $24, $05, $25, $05 ; CPU:$C2B1 PRG:42B1 24 05 20 05 22 05 24 05 25 05 22 05 24 05 25 05 - .byte $27, $05, $24, $05, $25, $05, $27, $05, $24, $05, $55, $25, $05, $27, $05, $29 ; CPU:$C2C1 PRG:42C1 27 05 24 05 25 05 27 05 24 05 55 25 05 27 05 29 - .byte $05, $2A, $05, $27, $05, $29, $05, $27, $05, $2C, $05, $29, $05, $2A, $05, $2C ; CPU:$C2D1 PRG:42D1 05 2A 05 27 05 29 05 27 05 2C 05 29 05 2A 05 2C - .byte $05, $2E, $05, $2A, $05, $2C, $05, $2E, $05, $30, $05, $2C, $05, $57, $50, $87 ; CPU:$C2E1 PRG:42E1 05 2E 05 2A 05 2C 05 2E 05 30 05 2C 05 57 50 87 - .byte $53, $40, $54, $01, $6F, $C3, $2A, $05, $00, $05, $00, $05, $29, $05, $00, $0A ; CPU:$C2F1 PRG:42F1 53 40 54 01 6F C3 2A 05 00 05 00 05 29 05 00 0A - .byte $2A, $05, $00, $0A, $29, $05, $00, $0A, $2A, $05, $00, $05, $29, $05, $00, $05 ; CPU:$C301 PRG:4301 2A 05 00 0A 29 05 00 0A 2A 05 00 05 29 05 00 05 - .byte $20, $05, $00, $0A, $22, $05, $00, $0A, $22, $05, $00, $05, $00, $14, $31, $05 ; CPU:$C311 PRG:4311 20 05 00 0A 22 05 00 0A 22 05 00 05 00 14 31 05 - .byte $30, $05, $2E, $05, $00, $05, $2A, $05, $00, $0A, $29, $05, $00, $0A, $2C, $05 ; CPU:$C321 PRG:4321 30 05 2E 05 00 05 2A 05 00 0A 29 05 00 0A 2C 05 - .byte $00, $0A, $29, $05, $00, $0A, $2A, $05, $00, $05, $29, $05, $00, $05, $22, $05 ; CPU:$C331 PRG:4331 00 0A 29 05 00 0A 2A 05 00 05 29 05 00 05 22 05 - .byte $00, $0A, $24, $05, $00, $0A, $25, $05, $00, $0A, $22, $05, $00, $0A, $24, $05 ; CPU:$C341 PRG:4341 00 0A 24 05 00 0A 25 05 00 0A 22 05 00 0A 24 05 - .byte $00, $05, $25, $05, $00, $05, $24, $05, $00, $0A, $25, $05, $00, $0A, $27, $05 ; CPU:$C351 PRG:4351 00 05 25 05 00 05 24 05 00 0A 25 05 00 0A 27 05 - .byte $00, $0A, $24, $05, $00, $0A, $25, $05, $00, $05, $27, $05, $00, $05, $22, $05 ; CPU:$C361 PRG:4361 00 0A 24 05 00 0A 25 05 00 05 27 05 00 05 22 05 - .byte $24, $05, $25, $05, $27, $05, $24, $05, $25, $05, $27, $05, $29, $05, $25, $05 ; CPU:$C371 PRG:4371 24 05 25 05 27 05 24 05 25 05 27 05 29 05 25 05 - .byte $27, $05, $29, $05, $2A, $05, $27, $05, $29, $05, $2A, $05, $2C, $05, $55, $29 ; CPU:$C381 PRG:4381 27 05 29 05 2A 05 27 05 29 05 2A 05 2C 05 55 29 - .byte $05, $2A, $05, $2C, $05, $2E, $05, $2A, $05, $2C, $05, $2E, $05, $30, $05, $2C ; CPU:$C391 PRG:4391 05 2A 05 2C 05 2E 05 2A 05 2C 05 2E 05 30 05 2C - .byte $05, $2E, $05, $30, $05, $31, $05, $2E, $05, $30, $05, $31, $05, $33, $05, $31 ; CPU:$C3A1 PRG:43A1 05 2E 05 30 05 31 05 2E 05 30 05 31 05 33 05 31 - .byte $05, $57, $50, $81, $53, $00, $54, $04, $2D, $C4, $54, $01, $C3, $C3, $54, $01 ; CPU:$C3B1 PRG:43B1 05 57 50 81 53 00 54 04 2D C4 54 01 C3 C3 54 01 - .byte $E4, $C3, $0D, $05, $14, $05, $19, $05, $0D, $05, $14, $05, $19, $05, $0D, $05 ; CPU:$C3C1 PRG:43C1 E4 C3 0D 05 14 05 19 05 0D 05 14 05 19 05 0D 05 - .byte $14, $05, $19, $05, $0D, $05, $14, $05, $19, $05, $0D, $05, $14, $05, $19, $05 ; CPU:$C3D1 PRG:43D1 14 05 19 05 0D 05 14 05 19 05 0D 05 14 05 19 05 - .byte $0D, $05, $55, $12, $05, $19, $05, $1E, $05, $12, $05, $19, $05, $1E, $05, $12 ; CPU:$C3E1 PRG:43E1 0D 05 55 12 05 19 05 1E 05 12 05 19 05 1E 05 12 - .byte $05, $19, $05, $1E, $05, $12, $05, $19, $05, $1E, $05, $12, $05, $19, $05, $1E ; CPU:$C3F1 PRG:43F1 05 19 05 1E 05 12 05 19 05 1E 05 12 05 19 05 1E - .byte $05, $12, $05, $55, $14, $05, $1B, $05, $20, $05, $14, $05, $1B, $05, $20, $05 ; CPU:$C401 PRG:4401 05 12 05 55 14 05 1B 05 20 05 14 05 1B 05 20 05 - .byte $14, $05, $1B, $05, $20, $05, $14, $05, $1B, $05, $20, $05, $14, $05, $1B, $05 ; CPU:$C411 PRG:4411 14 05 1B 05 20 05 14 05 1B 05 20 05 14 05 1B 05 - .byte $20, $05, $14, $05, $54, $04, $2D, $C4, $54, $03, $2D, $C4, $12, $05, $00, $05 ; CPU:$C421 PRG:4421 20 05 14 05 54 04 2D C4 54 03 2D C4 12 05 00 05 - .byte $12, $05, $00, $05, $55, $19, $05, $57, $50, $80, $52, $01, $53, $F0, $4B, $05 ; CPU:$C431 PRG:4431 12 05 00 05 55 19 05 57 50 80 52 01 53 F0 4B 05 - .byte $4B, $05, $50, $82, $4B, $05, $50, $80, $4B, $05, $56, $3F, $C4 ; CPU:$C441 PRG:4441 4B 05 50 82 4B 05 50 80 4B 05 56 3F C4 +; ----------------------------------------------------------------------------- +; Routine: Label_B921 +; Global: Branch target inside Label: taken when B921. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B921: + lda Zp06 ; CPU:$B921 PRG:3921 A5 06 + and #$03 ; CPU:$B923 PRG:3923 29 03 + bne NmiHandler_Loop246 ; CPU:$B925 PRG:3925 D0 15 + dec $076F,x ; CPU:$B927 PRG:3927 DE 6F 07 + beq NmiHandler_Loop245 ; CPU:$B92A PRG:392A F0 0D + lda $076F,x ; CPU:$B92C PRG:392C BD 6F 07 + tay ; CPU:$B92F PRG:392F A8 + lda $B93F,y ; CPU:$B930 PRG:3930 B9 3F B9 + sta $0780,x ; CPU:$B933 PRG:3933 9D 80 07 + jmp Sub_B7CB ; CPU:$B936 PRG:3936 4C CB B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + jmp Sub_B80C ; CPU:$B939 PRG:3939 4C 0C B8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + jmp Sub_C49F ; CPU:$B93C PRG:393C 4C 9F C4 +; ---- data $B93F-$C44D (2831 bytes) ---- +; referenced by `lda $B93F,y` at $B930 (operand $B93F falls inside this region) + .byte $00, $0F, $0C, $08, $50, $87, $51, $00, $53, $40, $20, $06, $20, $03, $20, $03 ; CPU:$B93F PRG:393F 00 0F 0C 08 50 87 51 00 53 40 20 06 20 03 20 03 + .byte $20, $0B, $57, $50, $87, $51, $00, $53, $40, $1D, $06, $1D, $03, $1D, $03, $1D ; CPU:$B94F PRG:394F 20 0B 57 50 87 51 00 53 40 1D 06 1D 03 1D 03 1D + .byte $0B, $57, $50, $81, $53, $00, $19, $06, $19, $03, $19, $03, $19, $0B, $57, $50 ; CPU:$B95F PRG:395F 0B 57 50 81 53 00 19 06 19 03 19 03 19 0B 57 50 + .byte $87, $51, $00, $53, $40, $25, $06, $25, $03, $25, $02, $25, $0B, $57, $50, $81 ; CPU:$B96F PRG:396F 87 51 00 53 40 25 06 25 03 25 02 25 0B 57 50 81 + .byte $53, $00, $1D, $06, $1D, $03, $1D, $03, $1D, $0B, $57, $50, $87, $51, $00, $53 ; CPU:$B97F PRG:397F 53 00 1D 06 1D 03 1D 03 1D 0B 57 50 87 51 00 53 + .byte $40, $29, $06, $29, $03, $29, $03, $29, $0B, $57, $50, $81, $53, $00, $20, $06 ; CPU:$B98F PRG:398F 40 29 06 29 03 29 03 29 0B 57 50 81 53 00 20 06 + .byte $20, $03, $20, $03, $20, $0B, $57, $50, $87, $51, $00, $53, $40, $1F, $09, $20 ; CPU:$B99F PRG:399F 20 03 20 03 20 0B 57 50 87 51 00 53 40 1F 09 20 + .byte $09, $21, $09, $22, $09, $23, $09, $00, $09, $00, $09, $00, $09, $24, $0F, $57 ; CPU:$B9AF PRG:39AF 09 21 09 22 09 23 09 00 09 00 09 00 09 24 0F 57 + .byte $50, $87, $51, $00, $53, $40, $24, $06, $24, $03, $22, $06, $22, $03, $21, $06 ; CPU:$B9BF PRG:39BF 50 87 51 00 53 40 24 06 24 03 22 06 22 03 21 06 + .byte $21, $03, $20, $06, $20, $03, $1F, $06, $1F, $03, $00, $06, $00, $03, $00, $09 ; CPU:$B9CF PRG:39CF 21 03 20 06 20 03 1F 06 1F 03 00 06 00 03 00 09 + .byte $1F, $03, $21, $03, $23, $03, $24, $0C, $57, $50, $81, $53, $00, $18, $05, $00 ; CPU:$B9DF PRG:39DF 1F 03 21 03 23 03 24 0C 57 50 81 53 00 18 05 00 + .byte $01, $18, $02, $00, $01, $1C, $05, $00, $01, $1C, $02, $00, $01, $1D, $05, $00 ; CPU:$B9EF PRG:39EF 01 18 02 00 01 1C 05 00 01 1C 02 00 01 1D 05 00 + .byte $01, $1D, $02, $00, $01, $1E, $05, $00, $01, $1E, $02, $00, $01, $1F, $05, $00 ; CPU:$B9FF PRG:39FF 01 1D 02 00 01 1E 05 00 01 1E 02 00 01 1F 05 00 + .byte $01, $1F, $02, $00, $01, $13, $05, $00, $01, $13, $02, $00, $01, $15, $05, $00 ; CPU:$BA0F PRG:3A0F 01 1F 02 00 01 13 05 00 01 13 02 00 01 15 05 00 + .byte $01, $15, $02, $00, $01, $17, $05, $00, $01, $18, $0F, $01, $50, $57, $00, $00 ; CPU:$BA1F PRG:3A1F 01 15 02 00 01 17 05 00 01 18 0F 01 50 57 00 00 + .byte $56, $2D, $BA, $00, $00, $56, $32, $BA, $50, $87, $51, $00, $53, $40, $19, $08 ; CPU:$BA2F PRG:3A2F 56 2D BA 00 00 56 32 BA 50 87 51 00 53 40 19 08 + .byte $1D, $08, $20, $08, $25, $08, $29, $06, $27, $02, $25, $04, $24, $04, $25, $10 ; CPU:$BA3F PRG:3A3F 1D 08 20 08 25 08 29 06 27 02 25 04 24 04 25 10 + .byte $1B, $08, $1E, $08, $22, $08, $27, $08, $2A, $06, $29, $02, $27, $04, $29, $04 ; CPU:$BA4F PRG:3A4F 1B 08 1E 08 22 08 27 08 2A 06 29 02 27 04 29 04 + .byte $2A, $0C, $20, $02, $20, $02, $27, $08, $26, $08, $27, $0C, $20, $02, $20, $02 ; CPU:$BA5F PRG:3A5F 2A 0C 20 02 20 02 27 08 26 08 27 0C 20 02 20 02 + .byte $29, $08, $28, $08, $29, $0C, $20, $02, $20, $02, $22, $08, $2A, $08, $29, $04 ; CPU:$BA6F PRG:3A6F 29 08 28 08 29 0C 20 02 20 02 22 08 2A 08 29 04 + .byte $25, $04, $27, $04, $24, $04, $25, $18, $57, $50, $81, $53, $00, $19, $08, $1D ; CPU:$BA7F PRG:3A7F 25 04 27 04 24 04 25 18 57 50 81 53 00 19 08 1D + .byte $08, $14, $08, $1D, $08, $19, $08, $1D, $08, $14, $08, $1D, $08, $1B, $08, $1E ; CPU:$BA8F PRG:3A8F 08 14 08 1D 08 19 08 1D 08 14 08 1D 08 1B 08 1E + .byte $08, $16, $08, $1E, $08, $1B, $08, $1E, $08, $16, $08, $1B, $08, $1B, $08, $18 ; CPU:$BA9F PRG:3A9F 08 16 08 1E 08 1B 08 1E 08 16 08 1B 08 1B 08 18 + .byte $08, $14, $08, $00, $08, $1D, $08, $19, $08, $14, $08, $00, $08, $16, $08, $12 ; CPU:$BAAF PRG:3AAF 08 14 08 00 08 1D 08 19 08 14 08 00 08 16 08 12 + .byte $08, $18, $08, $14, $08, $19, $08, $11, $08, $0D, $08, $0D, $08, $01, $50, $57 ; CPU:$BABF PRG:3ABF 08 18 08 14 08 19 08 11 08 0D 08 0D 08 01 50 57 + .byte $50, $00, $53, $40, $4B, $04, $4B, $02, $4B, $02, $55, $54, $1F, $D3, $BA, $00 ; CPU:$BACF PRG:3ACF 50 00 53 40 4B 04 4B 02 4B 02 55 54 1F D3 BA 00 + .byte $50, $57, $50, $87, $51, $00, $53, $40, $23, $09, $20, $09, $1C, $06, $1C, $03 ; CPU:$BADF PRG:3ADF 50 57 50 87 51 00 53 40 23 09 20 09 1C 06 1C 03 + .byte $1C, $09, $1E, $06, $20, $03, $20, $09, $1C, $06, $1C, $03, $1C, $09, $1E, $06 ; CPU:$BAEF PRG:3AEF 1C 09 1E 06 20 03 20 09 1C 06 1C 03 1C 09 1E 06 + .byte $20, $03, $20, $09, $21, $09, $21, $06, $23, $03, $23, $09, $21, $09, $20, $06 ; CPU:$BAFF PRG:3AFF 20 03 20 09 21 09 21 06 23 03 23 09 21 09 20 06 + .byte $1E, $03, $1E, $09, $21, $06, $20, $03, $1E, $09, $17, $06, $17, $03, $17, $09 ; CPU:$BB0F PRG:3B0F 1E 03 1E 09 21 06 20 03 1E 09 17 06 17 03 17 09 + .byte $21, $06, $20, $03, $1E, $09, $17, $06, $17, $03, $17, $09, $1C, $06, $20, $03 ; CPU:$BB1F PRG:3B1F 21 06 20 03 1E 09 17 06 17 03 17 09 1C 06 20 03 + .byte $1E, $09, $1C, $06, $20, $03, $1E, $09, $1C, $06, $20, $03, $1E, $1B, $2F, $09 ; CPU:$BB2F PRG:3B2F 1E 09 1C 06 20 03 1E 09 1C 06 20 03 1E 1B 2F 09 + .byte $2C, $09, $28, $06, $28, $03, $28, $09, $2A, $06, $2C, $03, $2C, $09, $28, $06 ; CPU:$BB3F PRG:3B3F 2C 09 28 06 28 03 28 09 2A 06 2C 03 2C 09 28 06 + .byte $28, $03, $28, $09, $2A, $06, $2C, $03, $2C, $09, $2D, $09, $2D, $06, $2F, $03 ; CPU:$BB4F PRG:3B4F 28 03 28 09 2A 06 2C 03 2C 09 2D 09 2D 06 2F 03 + .byte $2F, $09, $2D, $09, $2C, $06, $2A, $03, $2A, $09, $2D, $06, $2C, $03, $2A, $09 ; CPU:$BB5F PRG:3B5F 2F 09 2D 09 2C 06 2A 03 2A 09 2D 06 2C 03 2A 09 + .byte $23, $06, $23, $03, $23, $09, $2D, $06, $2C, $03, $2A, $09, $23, $06, $23, $03 ; CPU:$BB6F PRG:3B6F 23 06 23 03 23 09 2D 06 2C 03 2A 09 23 06 23 03 + .byte $23, $09, $28, $06, $2C, $03, $2A, $09, $28, $06, $2C, $03, $2A, $09, $28, $06 ; CPU:$BB7F PRG:3B7F 23 09 28 06 2C 03 2A 09 28 06 2C 03 2A 09 28 06 + .byte $2C, $03, $2A, $1B, $57, $50, $87, $51, $00, $53, $40, $23, $09, $28, $09, $23 ; CPU:$BB8F PRG:3B8F 2C 03 2A 1B 57 50 87 51 00 53 40 23 09 28 09 23 + .byte $06, $23, $03, $23, $09, $25, $06, $27, $03, $28, $09, $23, $06, $23, $03, $23 ; CPU:$BB9F PRG:3B9F 06 23 03 23 09 25 06 27 03 28 09 23 06 23 03 23 + .byte $09, $25, $06, $27, $03, $28, $09, $23, $09, $21, $06, $20, $03, $1E, $06, $1C ; CPU:$BBAF PRG:3BAF 09 25 06 27 03 28 09 23 09 21 06 20 03 1E 06 1C + .byte $03, $1E, $09, $17, $06, $17, $03, $17, $09, $21, $06, $1C, $03, $1E, $09, $17 ; CPU:$BBBF PRG:3BBF 03 1E 09 17 06 17 03 17 09 21 06 1C 03 1E 09 17 + .byte $06, $17, $03, $17, $09, $21, $06, $1C, $03, $1E, $09, $17, $06, $17, $03, $17 ; CPU:$BBCF PRG:3BCF 06 17 03 17 09 21 06 1C 03 1E 09 17 06 17 03 17 + .byte $09, $20, $06, $1C, $03, $1E, $09, $20, $06, $1C, $03, $1E, $09, $20, $06, $1C ; CPU:$BBDF PRG:3BDF 09 20 06 1C 03 1E 09 20 06 1C 03 1E 09 20 06 1C + .byte $03, $1E, $1B, $55, $54, $01, $9A, $BB, $57, $50, $81, $53, $00, $1C, $09, $1C ; CPU:$BBEF PRG:3BEF 03 1E 1B 55 54 01 9A BB 57 50 81 53 00 1C 09 1C + .byte $09, $21, $09, $20, $09, $1E, $09, $1C, $09, $21, $09, $20, $09, $1E, $09, $1C ; CPU:$BBFF PRG:3BFF 09 21 09 20 09 1E 09 1C 09 21 09 20 09 1E 09 1C + .byte $09, $21, $09, $20, $09, $1C, $09, $1B, $09, $1C, $09, $1E, $09, $1C, $09, $1B ; CPU:$BC0F PRG:3C0F 09 21 09 20 09 1C 09 1B 09 1C 09 1E 09 1C 09 1B + .byte $09, $17, $09, $1C, $09, $1B, $09, $19, $09, $17, $09, $1E, $09, $1C, $09, $1B ; CPU:$BC1F PRG:3C1F 09 17 09 1C 09 1B 09 19 09 17 09 1E 09 1C 09 1B + .byte $09, $19, $09, $17, $09, $55, $15, $09, $14, $09, $15, $09, $16, $09, $54, $01 ; CPU:$BC2F PRG:3C2F 09 19 09 17 09 55 15 09 14 09 15 09 16 09 54 01 + .byte $FC, $BB, $15, $09, $0E, $09, $0F, $09, $10, $09, $57, $00, $00, $56, $4A, $BC ; CPU:$BC3F PRG:3C3F FC BB 15 09 0E 09 0F 09 10 09 57 00 00 56 4A BC + .byte $50, $87, $53, $40, $17, $09, $17, $03, $17, $03, $17, $03, $17, $09, $17, $03 ; CPU:$BC4F PRG:3C4F 50 87 53 40 17 09 17 03 17 03 17 03 17 09 17 03 + .byte $17, $03, $17, $03, $15, $09, $15, $03, $15, $03, $15, $03, $15, $09, $15, $03 ; CPU:$BC5F PRG:3C5F 17 03 17 03 15 09 15 03 15 03 15 03 15 09 15 03 + .byte $15, $03, $15, $03, $58, $01, $16, $09, $16, $03, $16, $03, $16, $03, $18, $09 ; CPU:$BC6F PRG:3C6F 15 03 15 03 58 01 16 09 16 03 16 03 16 03 18 09 + .byte $18, $03, $18, $03, $18, $03, $23, $10, $50, $D5, $53, $48, $56, $9F, $BC, $50 ; CPU:$BC7F PRG:3C7F 18 03 18 03 18 03 23 10 50 D5 53 48 56 9F BC 50 + .byte $D5, $53, $48, $00, $03, $12, $18, $10, $18, $12, $18, $00, $18, $56, $E7, $BC ; CPU:$BC8F PRG:3C8F D5 53 48 00 03 12 18 10 18 12 18 00 18 56 E7 BC + .byte $12, $03, $12, $03, $12, $03, $12, $03, $12, $03, $12, $03, $13, $03, $13, $03 ; CPU:$BC9F PRG:3C9F 12 03 12 03 12 03 12 03 12 03 12 03 13 03 13 03 + .byte $13, $03, $13, $03, $13, $03, $13, $03, $14, $03, $14, $03, $14, $03, $14, $03 ; CPU:$BCAF PRG:3CAF 13 03 13 03 13 03 13 03 14 03 14 03 14 03 14 03 + .byte $14, $03, $14, $03, $15, $03, $15, $03, $15, $03, $15, $03, $15, $03, $15, $03 ; CPU:$BCBF PRG:3CBF 14 03 14 03 15 03 15 03 15 03 15 03 15 03 15 03 + .byte $16, $03, $16, $03, $16, $03, $16, $03, $16, $03, $16, $03, $17, $03, $17, $03 ; CPU:$BCCF PRG:3CCF 16 03 16 03 16 03 16 03 16 03 16 03 17 03 17 03 + .byte $17, $03, $17, $03, $17, $03, $17, $03, $18, $03, $18, $03, $18, $03, $19, $03 ; CPU:$BCDF PRG:3CDF 17 03 17 03 17 03 17 03 18 03 18 03 18 03 19 03 + .byte $19, $03, $19, $03, $1B, $03, $1B, $03, $1B, $03, $1C, $03, $1C, $03, $1D, $03 ; CPU:$BCEF PRG:3CEF 19 03 19 03 1B 03 1B 03 1B 03 1C 03 1C 03 1D 03 + .byte $1E, $18, $50, $D5, $53, $48, $00, $03, $11, $05, $18, $05, $1D, $05, $11, $05 ; CPU:$BCFF PRG:3CFF 1E 18 50 D5 53 48 00 03 11 05 18 05 1D 05 11 05 + .byte $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05 ; CPU:$BD0F PRG:3D0F 18 05 1D 05 11 05 18 05 1D 05 11 05 18 05 1D 05 + .byte $1B, $05, $18, $05, $16, $05, $18, $05, $55, $54, $03, $07, $BD, $00, $1E, $2B ; CPU:$BD1F PRG:3D1F 1B 05 18 05 16 05 18 05 55 54 03 07 BD 00 1E 2B + .byte $05, $00, $05, $2B, $0A, $00, $05, $2C, $05, $00, $14, $00, $1E, $2B, $05, $00 ; CPU:$BD2F PRG:3D2F 05 00 05 2B 0A 00 05 2C 05 00 14 00 1E 2B 05 00 + .byte $05, $2B, $0A, $00, $05, $2C, $05, $00, $0A, $50, $95, $53, $40, $2E, $50, $24 ; CPU:$BD3F PRG:3D3F 05 2B 0A 00 05 2C 05 00 0A 50 95 53 40 2E 50 24 + .byte $28, $27, $28, $00, $0A, $00, $0A, $29, $0F, $29, $0F, $22, $1E, $00, $0A, $00 ; CPU:$BD4F PRG:3D4F 28 27 28 00 0A 00 0A 29 0F 29 0F 22 1E 00 0A 00 + .byte $0A, $29, $0F, $29, $0F, $22, $1E, $00, $0A, $00, $0A, $29, $0F, $29, $0F, $22 ; CPU:$BD5F PRG:3D5F 0A 29 0F 29 0F 22 1E 00 0A 00 0A 29 0F 29 0F 22 + .byte $1E, $00, $0A, $00, $0A, $29, $0F, $29, $0F, $22, $1E, $00, $0A, $1D, $A0, $1D ; CPU:$BD6F PRG:3D6F 1E 00 0A 00 0A 29 0F 29 0F 22 1E 00 0A 1D A0 1D + .byte $A0, $50, $D5, $53, $48, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D ; CPU:$BD7F PRG:3D7F A0 50 D5 53 48 11 05 18 05 1D 05 11 05 18 05 1D + .byte $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18 ; CPU:$BD8F PRG:3D8F 05 11 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 + .byte $05, $16, $05, $18, $05, $55, $54, $03, $84, $BD, $00, $1E, $2B, $05, $00, $05 ; CPU:$BD9F PRG:3D9F 05 16 05 18 05 55 54 03 84 BD 00 1E 2B 05 00 05 + .byte $2B, $0A, $00, $05, $2C, $05, $00, $14, $00, $1E, $2B, $05, $00, $05, $2B, $0A ; CPU:$BDAF PRG:3DAF 2B 0A 00 05 2C 05 00 14 00 1E 2B 05 00 05 2B 0A + .byte $00, $05, $2C, $05, $00, $0A, $50, $95, $53, $40, $2E, $50, $24, $28, $27, $28 ; CPU:$BDBF PRG:3DBF 00 05 2C 05 00 0A 50 95 53 40 2E 50 24 28 27 28 + .byte $00, $0A, $00, $0A, $35, $0F, $35, $0F, $2E, $1E, $00, $0A, $00, $0A, $35, $0F ; CPU:$BDCF PRG:3DCF 00 0A 00 0A 35 0F 35 0F 2E 1E 00 0A 00 0A 35 0F + .byte $35, $0F, $2E, $1E, $00, $0A, $00, $0A, $35, $0F, $35, $0F, $2E, $1E, $00, $0A ; CPU:$BDDF PRG:3DDF 35 0F 2E 1E 00 0A 00 0A 35 0F 35 0F 2E 1E 00 0A + .byte $00, $0A, $35, $0F, $35, $0F, $2E, $1E, $00, $0A, $29, $A0, $29, $9F, $50, $D5 ; CPU:$BDEF PRG:3DEF 00 0A 35 0F 35 0F 2E 1E 00 0A 29 A0 29 9F 50 D5 + .byte $53, $48, $00, $01, $56, $07, $BD, $50, $87, $53, $40, $1F, $09, $1F, $03, $1F ; CPU:$BDFF PRG:3DFF 53 48 00 01 56 07 BD 50 87 53 40 1F 09 1F 03 1F + .byte $03, $1F, $03, $1C, $09, $1C, $03, $1C, $03, $1C, $03, $1A, $09, $1A, $03, $1A ; CPU:$BE0F PRG:3E0F 03 1F 03 1C 09 1C 03 1C 03 1C 03 1A 09 1A 03 1A + .byte $03, $1A, $03, $1A, $09, $1A, $03, $1A, $03, $1A, $03, $1F, $09, $1F, $03, $1F ; CPU:$BE1F PRG:3E1F 03 1A 03 1A 09 1A 03 1A 03 1A 03 1F 09 1F 03 1F + .byte $03, $1F, $03, $1F, $09, $1F, $03, $1F, $03, $1F, $03, $2B, $10, $50, $55, $53 ; CPU:$BE2F PRG:3E2F 03 1F 03 1F 09 1F 03 1F 03 1F 03 2B 10 50 55 53 + .byte $48, $56, $80, $BE, $00, $01, $50, $55, $53, $48, $00, $02, $00, $03, $1E, $03 ; CPU:$BE3F PRG:3E3F 48 56 80 BE 00 01 50 55 53 48 00 02 00 03 1E 03 + .byte $1E, $03, $1E, $03, $1E, $03, $1E, $03, $1E, $03, $1E, $03, $00, $03, $1C, $03 ; CPU:$BE4F PRG:3E4F 1E 03 1E 03 1E 03 1E 03 1E 03 1E 03 00 03 1C 03 + .byte $1C, $03, $1C, $03, $1C, $03, $1C, $03, $1C, $03, $1C, $03, $00, $03, $23, $03 ; CPU:$BE5F PRG:3E5F 1C 03 1C 03 1C 03 1C 03 1C 03 1C 03 00 03 23 03 + .byte $23, $03, $23, $03, $23, $03, $23, $03, $23, $03, $23, $03, $1E, $18, $56, $8C ; CPU:$BE6F PRG:3E6F 23 03 23 03 23 03 23 03 23 03 23 03 1E 18 56 8C + .byte $BE, $19, $12, $1A, $12, $1B, $12, $1C, $12, $1D, $12, $1E, $12, $1F, $09, $20 ; CPU:$BE7F PRG:3E7F BE 19 12 1A 12 1B 12 1C 12 1D 12 1E 12 1F 09 20 + .byte $09, $22, $09, $23, $06, $24, $03, $2A, $18, $00, $01, $50, $55, $53, $48, $00 ; CPU:$BE8F PRG:3E8F 09 22 09 23 06 24 03 2A 18 00 01 50 55 53 48 00 + .byte $02, $05, $05, $05, $05, $00, $05, $00, $05, $00, $05, $05, $05, $00, $05, $05 ; CPU:$BE9F PRG:3E9F 02 05 05 05 05 00 05 00 05 00 05 05 05 00 05 05 + .byte $05, $00, $28, $55, $54, $03, $A0, $BE, $00, $1E, $27, $05, $00, $05, $27, $0A ; CPU:$BEAF PRG:3EAF 05 00 28 55 54 03 A0 BE 00 1E 27 05 00 05 27 0A + .byte $00, $05, $29, $05, $00, $14, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05 ; CPU:$BEBF PRG:3EBF 00 05 29 05 00 14 00 1E 27 05 00 05 27 0A 00 05 + .byte $29, $05, $00, $0A, $50, $95, $53, $40, $2B, $50, $20, $28, $22, $28, $00, $0A ; CPU:$BECF PRG:3ECF 29 05 00 0A 50 95 53 40 2B 50 20 28 22 28 00 0A + .byte $00, $0A, $22, $0F, $21, $0F, $1F, $1E, $00, $0A, $00, $0A, $22, $0F, $21, $0F ; CPU:$BEDF PRG:3EDF 00 0A 22 0F 21 0F 1F 1E 00 0A 00 0A 22 0F 21 0F + .byte $1F, $1E, $00, $0A, $00, $0A, $22, $0F, $21, $0F, $1F, $1E, $00, $0A, $00, $0A ; CPU:$BEEF PRG:3EEF 1F 1E 00 0A 00 0A 22 0F 21 0F 1F 1E 00 0A 00 0A + .byte $22, $0F, $21, $0F, $1F, $1E, $00, $0A, $18, $A0, $18, $A0, $50, $55, $53, $48 ; CPU:$BEFF PRG:3EFF 22 0F 21 0F 1F 1E 00 0A 18 A0 18 A0 50 55 53 48 + .byte $54, $04, $A0, $BE, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05, $29, $05 ; CPU:$BF0F PRG:3F0F 54 04 A0 BE 00 1E 27 05 00 05 27 0A 00 05 29 05 + .byte $00, $14, $00, $1E, $27, $05, $00, $05, $27, $0A, $00, $05, $29, $05, $00, $0A ; CPU:$BF1F PRG:3F1F 00 14 00 1E 27 05 00 05 27 0A 00 05 29 05 00 0A + .byte $50, $95, $53, $40, $2B, $50, $20, $28, $22, $28, $00, $0A, $00, $0A, $2E, $0F ; CPU:$BF2F PRG:3F2F 50 95 53 40 2B 50 20 28 22 28 00 0A 00 0A 2E 0F + .byte $2D, $0F, $2B, $1E, $00, $0A, $00, $0A, $2E, $0F, $2D, $0F, $2B, $1E, $00, $0A ; CPU:$BF3F PRG:3F3F 2D 0F 2B 1E 00 0A 00 0A 2E 0F 2D 0F 2B 1E 00 0A + .byte $00, $0A, $2E, $0F, $2D, $0F, $2B, $1E, $00, $0A, $00, $0A, $2E, $0F, $2D, $0F ; CPU:$BF4F PRG:3F4F 00 0A 2E 0F 2D 0F 2B 1E 00 0A 00 0A 2E 0F 2D 0F + .byte $2B, $1E, $00, $0A, $24, $A0, $24, $9F, $50, $55, $53, $48, $00, $01, $56, $A0 ; CPU:$BF5F PRG:3F5F 2B 1E 00 0A 24 A0 24 9F 50 55 53 48 00 01 56 A0 + .byte $BE, $50, $81, $53, $00, $1F, $09, $23, $03, $1F, $03, $23, $03, $1C, $09, $1F ; CPU:$BF6F PRG:3F6F BE 50 81 53 00 1F 09 23 03 1F 03 23 03 1C 09 1F + .byte $03, $1C, $03, $1F, $03, $1A, $09, $1E, $03, $1A, $03, $1E, $03, $1A, $09, $1E ; CPU:$BF7F PRG:3F7F 03 1C 03 1F 03 1A 09 1E 03 1A 03 1E 03 1A 09 1E + .byte $03, $1A, $03, $1E, $03, $1D, $09, $1F, $03, $1D, $03, $1F, $03, $1D, $09, $21 ; CPU:$BF8F PRG:3F8F 03 1A 03 1E 03 1D 09 1F 03 1D 03 1F 03 1D 09 21 + .byte $03, $1D, $03, $21, $03, $1F, $10, $50, $0F, $53, $00, $56, $EA, $BF, $00, $02 ; CPU:$BF9F PRG:3F9F 03 1D 03 21 03 1F 10 50 0F 53 00 56 EA BF 00 02 + .byte $50, $0F, $53, $00, $00, $01, $00, $03, $25, $03, $25, $03, $25, $03, $25, $03 ; CPU:$BFAF PRG:3FAF 50 0F 53 00 00 01 00 03 25 03 25 03 25 03 25 03 + .byte $25, $03, $25, $03, $25, $03, $00, $03, $23, $03, $23, $03, $23, $03, $23, $03 ; CPU:$BFBF PRG:3FBF 25 03 25 03 25 03 00 03 23 03 23 03 23 03 23 03 + .byte $23, $03, $23, $03, $23, $03, $00, $03, $2A, $03, $2A, $03, $2A, $03, $2A, $03 ; CPU:$BFCF PRG:3FCF 23 03 23 03 23 03 00 03 2A 03 2A 03 2A 03 2A 03 + .byte $2A, $03, $2A, $03, $2A, $03, $25, $18, $56, $F6, $BF, $1E, $12, $1F, $12, $20 ; CPU:$BFDF PRG:3FDF 2A 03 2A 03 2A 03 25 18 56 F6 BF 1E 12 1F 12 20 + .byte $12, $21, $12, $22, $12, $23, $12, $24, $09, $25, $09, $27, $09, $28, $06, $29 ; CPU:$BFEF PRG:3FEF 12 21 12 22 12 23 12 24 09 25 09 27 09 28 06 29 + .byte $03, $25, $18, $00, $01, $50, $81, $53, $00, $00, $02, $11, $05, $18, $05, $1D ; CPU:$BFFF PRG:3FFF 03 25 18 00 01 50 81 53 00 00 02 11 05 18 05 1D + .byte $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18 ; CPU:$C00F PRG:400F 05 11 05 18 05 1D 05 11 05 18 05 1D 05 11 05 18 + .byte $05, $1D, $05, $1B, $05, $18, $05, $16, $05, $18, $05, $55, $54, $07, $0A, $C0 ; CPU:$C01F PRG:401F 05 1D 05 1B 05 18 05 16 05 18 05 55 54 07 0A C0 + .byte $16, $05, $1D, $05, $22, $05, $16, $05, $1D, $05, $22, $05, $16, $05, $1D, $05 ; CPU:$C02F PRG:402F 16 05 1D 05 22 05 16 05 1D 05 22 05 16 05 1D 05 + .byte $0F, $05, $16, $05, $1B, $05, $0F, $05, $16, $05, $1B, $05, $22, $05, $21, $05 ; CPU:$C03F PRG:403F 0F 05 16 05 1B 05 0F 05 16 05 1B 05 22 05 21 05 + .byte $55, $54, $03, $2F, $C0, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25 ; CPU:$C04F PRG:404F 55 54 03 2F C0 19 05 20 05 25 05 19 05 20 05 25 + .byte $05, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19, $05, $20 ; CPU:$C05F PRG:405F 05 19 05 20 05 25 05 19 05 20 05 25 05 19 05 20 + .byte $05, $1F, $05, $1B, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D ; CPU:$C06F PRG:406F 05 1F 05 1B 05 11 05 18 05 1D 05 11 05 18 05 1D + .byte $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18 ; CPU:$C07F PRG:407F 05 11 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 + .byte $05, $16, $05, $16, $05, $55, $54, $01, $54, $C0, $11, $05, $18, $05, $1D, $05 ; CPU:$C08F PRG:408F 05 16 05 16 05 55 54 01 54 C0 11 05 18 05 1D 05 + .byte $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05 ; CPU:$C09F PRG:409F 11 05 18 05 1D 05 11 05 18 05 1D 05 11 05 18 05 + .byte $1D, $05, $1B, $05, $18, $05, $16, $05, $18, $05, $55, $54, $07, $99, $C0, $16 ; CPU:$C0AF PRG:40AF 1D 05 1B 05 18 05 16 05 18 05 55 54 07 99 C0 16 + .byte $05, $1D, $05, $22, $05, $16, $05, $1D, $05, $22, $05, $16, $05, $1D, $05, $0F ; CPU:$C0BF PRG:40BF 05 1D 05 22 05 16 05 1D 05 22 05 16 05 1D 05 0F + .byte $05, $16, $05, $1B, $05, $0F, $05, $16, $05, $1B, $05, $22, $05, $21, $05, $55 ; CPU:$C0CF PRG:40CF 05 16 05 1B 05 0F 05 16 05 1B 05 22 05 21 05 55 + .byte $54, $03, $BE, $C0, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05 ; CPU:$C0DF PRG:40DF 54 03 BE C0 19 05 20 05 25 05 19 05 20 05 25 05 + .byte $19, $05, $20, $05, $25, $05, $19, $05, $20, $05, $25, $05, $19, $05, $20, $05 ; CPU:$C0EF PRG:40EF 19 05 20 05 25 05 19 05 20 05 25 05 19 05 20 05 + .byte $1F, $05, $1B, $05, $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05 ; CPU:$C0FF PRG:40FF 1F 05 1B 05 11 05 18 05 1D 05 11 05 18 05 1D 05 + .byte $11, $05, $18, $05, $1D, $05, $11, $05, $18, $05, $1D, $05, $1B, $05, $18, $05 ; CPU:$C10F PRG:410F 11 05 18 05 1D 05 11 05 18 05 1D 05 1B 05 18 05 + .byte $16, $05, $16, $05, $55, $54, $01, $E3, $C0, $56, $0A, $C0, $50, $00, $53, $40 ; CPU:$C11F PRG:411F 16 05 16 05 55 54 01 E3 C0 56 0A C0 50 00 53 40 + .byte $4B, $09, $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03 ; CPU:$C12F PRG:412F 4B 09 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 + .byte $4B, $09, $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03 ; CPU:$C13F PRG:413F 4B 09 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 + .byte $4B, $09, $4B, $03, $4B, $03, $4B, $03, $4B, $09, $4B, $03, $4B, $03, $4B, $03 ; CPU:$C14F PRG:414F 4B 09 4B 03 4B 03 4B 03 4B 09 4B 03 4B 03 4B 03 + .byte $49, $10, $56, $6D, $C1, $00, $03, $00, $60, $00, $3C, $56, $6F, $C1, $00, $A8 ; CPU:$C15F PRG:415F 49 10 56 6D C1 00 03 00 60 00 3C 56 6F C1 00 A8 + .byte $50, $80, $52, $01, $53, $F0, $00, $03, $4B, $05, $4B, $05, $50, $82, $4B, $05 ; CPU:$C16F PRG:416F 50 80 52 01 53 F0 00 03 4B 05 4B 05 50 82 4B 05 + .byte $50, $80, $4B, $05, $56, $77, $C1, $50, $55, $53, $E8, $00, $0A, $00, $05, $27 ; CPU:$C17F PRG:417F 50 80 4B 05 56 77 C1 50 55 53 E8 00 0A 00 05 27 + .byte $05, $2C, $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $27 ; CPU:$C18F PRG:418F 05 2C 05 24 05 27 05 29 05 00 05 24 05 00 05 27 + .byte $05, $2C, $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $27 ; CPU:$C19F PRG:419F 05 2C 05 24 05 27 05 29 05 00 05 24 05 00 05 27 + .byte $05, $2C, $05, $24, $05, $27, $05, $29, $05, $00, $05, $24, $05, $00, $05, $2C ; CPU:$C1AF PRG:41AF 05 2C 05 24 05 27 05 29 05 00 05 24 05 00 05 2C + .byte $05, $2B, $05, $2C, $05, $2B, $05, $27, $05, $00, $05, $29, $05, $57, $50, $00 ; CPU:$C1BF PRG:41BF 05 2B 05 2C 05 2B 05 27 05 00 05 29 05 57 50 00 + .byte $53, $00, $01, $0A, $50, $81, $11, $05, $00, $05, $1D, $05, $00, $05, $1B, $05 ; CPU:$C1CF PRG:41CF 53 00 01 0A 50 81 11 05 00 05 1D 05 00 05 1B 05 + .byte $00, $05, $0F, $05, $00, $05, $0D, $05, $00, $05, $19, $05, $00, $05, $18, $05 ; CPU:$C1DF PRG:41DF 00 05 0F 05 00 05 0D 05 00 05 19 05 00 05 18 05 + .byte $00, $05, $0C, $05, $00, $05, $11, $05, $00, $05, $1D, $05, $00, $05, $1B, $05 ; CPU:$C1EF PRG:41EF 00 05 0C 05 00 05 11 05 00 05 1D 05 00 05 1B 05 + .byte $00, $05, $0F, $05, $00, $05, $0A, $05, $00, $05, $16, $05, $00, $05, $18, $05 ; CPU:$C1FF PRG:41FF 00 05 0F 05 00 05 0A 05 00 05 16 05 00 05 18 05 + .byte $00, $05, $0C, $05, $00, $05, $57, $50, $80, $52, $01, $53, $F0, $00, $0A, $4B ; CPU:$C20F PRG:420F 00 05 0C 05 00 05 57 50 80 52 01 53 F0 00 0A 4B + .byte $05, $4B, $05, $50, $82, $4B, $05, $50, $80, $4B, $05, $56, $1E, $C2, $50, $87 ; CPU:$C21F PRG:421F 05 4B 05 50 82 4B 05 50 80 4B 05 56 1E C2 50 87 + .byte $53, $40, $54, $01, $AB, $C2, $27, $05, $00, $0A, $25, $05, $00, $0A, $27, $05 ; CPU:$C22F PRG:422F 53 40 54 01 AB C2 27 05 00 0A 25 05 00 0A 27 05 + .byte $00, $0A, $25, $05, $00, $0A, $27, $05, $00, $05, $25, $05, $00, $05, $1D, $05 ; CPU:$C23F PRG:423F 00 0A 25 05 00 0A 27 05 00 05 25 05 00 05 1D 05 + .byte $00, $0A, $1E, $05, $00, $0A, $1E, $05, $00, $05, $00, $14, $2E, $05, $2C, $05 ; CPU:$C24F PRG:424F 00 0A 1E 05 00 0A 1E 05 00 05 00 14 2E 05 2C 05 + .byte $2A, $05, $00, $05, $27, $05, $00, $0A, $25, $05, $00, $0A, $29, $05, $00, $0A ; CPU:$C25F PRG:425F 2A 05 00 05 27 05 00 0A 25 05 00 0A 29 05 00 0A + .byte $25, $05, $00, $0A, $27, $05, $00, $05, $25, $05, $00, $05, $1E, $05, $00, $0A ; CPU:$C26F PRG:426F 25 05 00 0A 27 05 00 05 25 05 00 05 1E 05 00 0A + .byte $20, $05, $00, $0A, $22, $05, $00, $0A, $1E, $05, $00, $0A, $20, $05, $00, $05 ; CPU:$C27F PRG:427F 20 05 00 0A 22 05 00 0A 1E 05 00 0A 20 05 00 05 + .byte $22, $05, $00, $05, $20, $05, $00, $0A, $22, $05, $00, $0A, $24, $05, $00, $0A ; CPU:$C28F PRG:428F 22 05 00 05 20 05 00 0A 22 05 00 0A 24 05 00 0A + .byte $20, $05, $00, $0A, $22, $05, $00, $05, $24, $05, $06, $05, $1E, $05, $20, $05 ; CPU:$C29F PRG:429F 20 05 00 0A 22 05 00 05 24 05 06 05 1E 05 20 05 + .byte $22, $05, $24, $05, $20, $05, $22, $05, $24, $05, $25, $05, $22, $05, $24, $05 ; CPU:$C2AF PRG:42AF 22 05 24 05 20 05 22 05 24 05 25 05 22 05 24 05 + .byte $25, $05, $27, $05, $24, $05, $25, $05, $27, $05, $24, $05, $55, $25, $05, $27 ; CPU:$C2BF PRG:42BF 25 05 27 05 24 05 25 05 27 05 24 05 55 25 05 27 + .byte $05, $29, $05, $2A, $05, $27, $05, $29, $05, $27, $05, $2C, $05, $29, $05, $2A ; CPU:$C2CF PRG:42CF 05 29 05 2A 05 27 05 29 05 27 05 2C 05 29 05 2A + .byte $05, $2C, $05, $2E, $05, $2A, $05, $2C, $05, $2E, $05, $30, $05, $2C, $05, $57 ; CPU:$C2DF PRG:42DF 05 2C 05 2E 05 2A 05 2C 05 2E 05 30 05 2C 05 57 + .byte $50, $87, $53, $40, $54, $01, $6F, $C3, $2A, $05, $00, $05, $00, $05, $29, $05 ; CPU:$C2EF PRG:42EF 50 87 53 40 54 01 6F C3 2A 05 00 05 00 05 29 05 + .byte $00, $0A, $2A, $05, $00, $0A, $29, $05, $00, $0A, $2A, $05, $00, $05, $29, $05 ; CPU:$C2FF PRG:42FF 00 0A 2A 05 00 0A 29 05 00 0A 2A 05 00 05 29 05 + .byte $00, $05, $20, $05, $00, $0A, $22, $05, $00, $0A, $22, $05, $00, $05, $00, $14 ; CPU:$C30F PRG:430F 00 05 20 05 00 0A 22 05 00 0A 22 05 00 05 00 14 + .byte $31, $05, $30, $05, $2E, $05, $00, $05, $2A, $05, $00, $0A, $29, $05, $00, $0A ; CPU:$C31F PRG:431F 31 05 30 05 2E 05 00 05 2A 05 00 0A 29 05 00 0A + .byte $2C, $05, $00, $0A, $29, $05, $00, $0A, $2A, $05, $00, $05, $29, $05, $00, $05 ; CPU:$C32F PRG:432F 2C 05 00 0A 29 05 00 0A 2A 05 00 05 29 05 00 05 + .byte $22, $05, $00, $0A, $24, $05, $00, $0A, $25, $05, $00, $0A, $22, $05, $00, $0A ; CPU:$C33F PRG:433F 22 05 00 0A 24 05 00 0A 25 05 00 0A 22 05 00 0A + .byte $24, $05, $00, $05, $25, $05, $00, $05, $24, $05, $00, $0A, $25, $05, $00, $0A ; CPU:$C34F PRG:434F 24 05 00 05 25 05 00 05 24 05 00 0A 25 05 00 0A + .byte $27, $05, $00, $0A, $24, $05, $00, $0A, $25, $05, $00, $05, $27, $05, $00, $05 ; CPU:$C35F PRG:435F 27 05 00 0A 24 05 00 0A 25 05 00 05 27 05 00 05 + .byte $22, $05, $24, $05, $25, $05, $27, $05, $24, $05, $25, $05, $27, $05, $29, $05 ; CPU:$C36F PRG:436F 22 05 24 05 25 05 27 05 24 05 25 05 27 05 29 05 + .byte $25, $05, $27, $05, $29, $05, $2A, $05, $27, $05, $29, $05, $2A, $05, $2C, $05 ; CPU:$C37F PRG:437F 25 05 27 05 29 05 2A 05 27 05 29 05 2A 05 2C 05 + .byte $55, $29, $05, $2A, $05, $2C, $05, $2E, $05, $2A, $05, $2C, $05, $2E, $05, $30 ; CPU:$C38F PRG:438F 55 29 05 2A 05 2C 05 2E 05 2A 05 2C 05 2E 05 30 + .byte $05, $2C, $05, $2E, $05, $30, $05, $31, $05, $2E, $05, $30, $05, $31, $05, $33 ; CPU:$C39F PRG:439F 05 2C 05 2E 05 30 05 31 05 2E 05 30 05 31 05 33 + .byte $05, $31, $05, $57, $50, $81, $53, $00, $54, $04, $2D, $C4, $54, $01, $C3, $C3 ; CPU:$C3AF PRG:43AF 05 31 05 57 50 81 53 00 54 04 2D C4 54 01 C3 C3 + .byte $54, $01, $E4, $C3, $0D, $05, $14, $05, $19, $05, $0D, $05, $14, $05, $19, $05 ; CPU:$C3BF PRG:43BF 54 01 E4 C3 0D 05 14 05 19 05 0D 05 14 05 19 05 + .byte $0D, $05, $14, $05, $19, $05, $0D, $05, $14, $05, $19, $05, $0D, $05, $14, $05 ; CPU:$C3CF PRG:43CF 0D 05 14 05 19 05 0D 05 14 05 19 05 0D 05 14 05 + .byte $19, $05, $0D, $05, $55, $12, $05, $19, $05, $1E, $05, $12, $05, $19, $05, $1E ; CPU:$C3DF PRG:43DF 19 05 0D 05 55 12 05 19 05 1E 05 12 05 19 05 1E + .byte $05, $12, $05, $19, $05, $1E, $05, $12, $05, $19, $05, $1E, $05, $12, $05, $19 ; CPU:$C3EF PRG:43EF 05 12 05 19 05 1E 05 12 05 19 05 1E 05 12 05 19 + .byte $05, $1E, $05, $12, $05, $55, $14, $05, $1B, $05, $20, $05, $14, $05, $1B, $05 ; CPU:$C3FF PRG:43FF 05 1E 05 12 05 55 14 05 1B 05 20 05 14 05 1B 05 + .byte $20, $05, $14, $05, $1B, $05, $20, $05, $14, $05, $1B, $05, $20, $05, $14, $05 ; CPU:$C40F PRG:440F 20 05 14 05 1B 05 20 05 14 05 1B 05 20 05 14 05 + .byte $1B, $05, $20, $05, $14, $05, $54, $04, $2D, $C4, $54, $03, $2D, $C4, $12, $05 ; CPU:$C41F PRG:441F 1B 05 20 05 14 05 54 04 2D C4 54 03 2D C4 12 05 + .byte $00, $05, $12, $05, $00, $05, $55, $19, $05, $57, $50, $80, $52, $01, $53, $F0 ; CPU:$C42F PRG:442F 00 05 12 05 00 05 55 19 05 57 50 80 52 01 53 F0 + .byte $4B, $05, $4B, $05, $50, $82, $4B, $05, $50, $80, $4B, $05, $56, $3F, $C4 ; CPU:$C43F PRG:443F 4B 05 4B 05 50 82 4B 05 50 80 4B 05 56 3F C4 ; ----------------------------------------------------------------------------- ; Routine: Sub_C44E ; Global: Branch target inside Sub: taken when C44E. @@ -9331,78 +11167,87 @@ Label_B91E: ; ----------------------------------------------------------------------------- Sub_C44E: lda $0795 ; CPU:$C44E PRG:444E AD 95 07 - bpl NmiHandler_Loop204 ; CPU:$C451 PRG:4451 10 03 - jmp NmiHandler_Loop207 ; CPU:$C453 PRG:4453 4C 8B C4 + bpl NmiHandler_Loop247 ; CPU:$C451 PRG:4451 10 03 + jmp NmiHandler_Loop250 ; CPU:$C453 PRG:4453 4C 8B C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop204 -; Global: Branch target inside NmiHandler: taken when Loop204. +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop204: +NmiHandler_Loop247: lda $0790 ; CPU:$C456 PRG:4456 AD 90 07 - beq NmiHandler_Loop207 ; CPU:$C459 PRG:4459 F0 30 + beq NmiHandler_Loop250 ; CPU:$C459 PRG:4459 F0 30 dec $078E ; CPU:$C45B PRG:445B CE 8E 07 - beq NmiHandler_Loop205 ; CPU:$C45E PRG:445E F0 03 - jmp NmiHandler_Loop207 ; CPU:$C460 PRG:4460 4C 8B C4 + beq NmiHandler_Loop248 ; CPU:$C45E PRG:445E F0 03 + jmp NmiHandler_Loop250 ; CPU:$C460 PRG:4460 4C 8B C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop205 -; Global: Branch target inside NmiHandler: taken when Loop205. +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop205: +NmiHandler_Loop248: lda $078F ; CPU:$C463 PRG:4463 AD 8F 07 sta $078E ; CPU:$C466 PRG:4466 8D 8E 07 ldx #$00 ; CPU:$C469 PRG:4469 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero61 -; Global: Branch target inside NmiHandler: taken when OnNonzero61. +; Routine: NmiHandler_OnNonzero70 +; Global: Branch target inside NmiHandler: taken when OnNonzero70. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero61: +NmiHandler_OnNonzero70: dec $075E,x ; CPU:$C46B PRG:446B DE 5E 07 - bne NmiHandler_Loop206 ; CPU:$C46E PRG:446E D0 13 + bne NmiHandler_Loop249 ; CPU:$C46E PRG:446E D0 13 +; ----------------------------------------------------------------------------- +; Routine: Sub_C470 +; Global: Branch target inside Sub: taken when C470. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C470: lda (Zp9B,x) ; CPU:$C470 PRG:4470 A1 9B asl a ; CPU:$C472 PRG:4472 0A - sta Zp95 ; CPU:$C473 PRG:4473 85 95 + sta PlayerX ; CPU:$C473 PRG:4473 85 95 tay ; CPU:$C475 PRG:4475 A8 lda $C4AA,y ; CPU:$C476 PRG:4476 B9 AA C4 - sta Zp91 ; CPU:$C479 PRG:4479 85 91 + sta DispatchPtrLo ; CPU:$C479 PRG:4479 85 91 lda $C4AB,y ; CPU:$C47B PRG:447B B9 AB C4 - sta Zp92 ; CPU:$C47E PRG:447E 85 92 - jmp (Zp91) ; CPU:$C480 PRG:4480 6C 91 00 + sta DispatchPtrHi ; CPU:$C47E PRG:447E 85 92 + jmp (DispatchPtrLo) ; CPU:$C480 PRG:4480 6C 91 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop206 -; Global: Branch target inside NmiHandler: taken when Loop206. +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop206: +NmiHandler_Loop249: inx ; CPU:$C483 PRG:4483 E8 inx ; CPU:$C484 PRG:4484 E8 inx ; CPU:$C485 PRG:4485 E8 inx ; CPU:$C486 PRG:4486 E8 cpx #$10 ; CPU:$C487 PRG:4487 E0 10 - bne NmiHandler_OnNonzero61 ; CPU:$C489 PRG:4489 D0 E0 + bne NmiHandler_OnNonzero70 ; CPU:$C489 PRG:4489 D0 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop207 -; Global: Branch target inside NmiHandler: taken when Loop207. +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop207: +NmiHandler_Loop250: ldx #$00 ; CPU:$C48B PRG:448B A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C48D @@ -9417,10 +11262,10 @@ Sub_C48D: asl a ; CPU:$C490 PRG:4490 0A tay ; CPU:$C491 PRG:4491 A8 lda $B73F,y ; CPU:$C492 PRG:4492 B9 3F B7 - sta Zp91 ; CPU:$C495 PRG:4495 85 91 + sta DispatchPtrLo ; CPU:$C495 PRG:4495 85 91 lda $B740,y ; CPU:$C497 PRG:4497 B9 40 B7 - sta Zp92 ; CPU:$C49A PRG:449A 85 92 - jmp (Zp91) ; CPU:$C49C PRG:449C 6C 91 00 + sta DispatchPtrHi ; CPU:$C49A PRG:449A 85 92 + jmp (DispatchPtrLo) ; CPU:$C49C PRG:449C 6C 91 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C49F ; Global: Branch target inside Sub: taken when C49F. @@ -9431,24 +11276,26 @@ Sub_C48D: ; ----------------------------------------------------------------------------- Sub_C49F: txa ; CPU:$C49F PRG:449F 8A - bne NmiHandler_Loop208 ; CPU:$C4A0 PRG:44A0 D0 07 + bne NmiHandler_Loop251 ; CPU:$C4A0 PRG:44A0 D0 07 clc ; CPU:$C4A2 PRG:44A2 18 adc #$0C ; CPU:$C4A3 PRG:44A3 69 0C tax ; CPU:$C4A5 PRG:44A5 AA jmp Sub_C48D ; CPU:$C4A6 PRG:44A6 4C 8D C4 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop208 -; Global: Branch target inside NmiHandler: taken when Loop208. +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop208: +NmiHandler_Loop251: rts ; CPU:$C4A9 PRG:44A9 60 ; ---- data $C4AA-$C5D5 (300 bytes) ---- ; referenced by `lda $C4AA,y` at $C476 (operand $C4AA falls inside this region) ; referenced by `lda $C4AB,y` at $C47B (operand $C4AB falls inside this region) +; referenced by `lda $C55C,y` at $C5F6 (operand $C55C falls inside this region) +; referenced by `ora $C55D,y` at $C601 (operand $C55D falls inside this region) .byte $1F, $C6, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5 ; CPU:$C4AA PRG:44AA 1F C6 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 .byte $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5 ; CPU:$C4BA PRG:44BA EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 .byte $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5, $EF, $C5 ; CPU:$C4CA PRG:44CA EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 EF C5 @@ -9478,19 +11325,34 @@ NmiHandler_Loop208: ; ----------------------------------------------------------------------------- Label_C5D6: lda $076E,x ; CPU:$C5D6 PRG:45D6 BD 6E 07 - bne NmiHandler_Loop209 ; CPU:$C5D9 PRG:45D9 D0 44 - lda Zp95 ; CPU:$C5DB PRG:45DB A5 95 + bne NmiHandler_Loop252 ; CPU:$C5D9 PRG:45D9 D0 44 + lda PlayerX ; CPU:$C5DB PRG:45DB A5 95 lsr a ; CPU:$C5DD PRG:45DD 4A and #$0F ; CPU:$C5DE PRG:45DE 29 0F - sta Zp95 ; CPU:$C5E0 PRG:45E0 85 95 + sta PlayerX ; CPU:$C5E0 PRG:45E0 85 95 lda $0751,x ; CPU:$C5E2 PRG:45E2 BD 51 07 and #$F0 ; CPU:$C5E5 PRG:45E5 29 F0 - ora Zp95 ; CPU:$C5E7 PRG:45E7 05 95 + ora PlayerX ; CPU:$C5E7 PRG:45E7 05 95 sta $0751,x ; CPU:$C5E9 PRG:45E9 9D 51 07 jmp Sub_C607 ; CPU:$C5EC PRG:45EC 4C 07 C6 -; ---- data $C5EF-$C606 (24 bytes) ---- - .byte $BD, $6E, $07, $D0, $2B, $A4, $95, $B9, $5C, $C5, $9D, $50, $07, $BD, $51, $07 ; CPU:$C5EF PRG:45EF BD 6E 07 D0 2B A4 95 B9 5C C5 9D 50 07 BD 51 07 - .byte $29, $F8, $19, $5D, $C5, $9D, $51, $07 ; CPU:$C5FF PRG:45FF 29 F8 19 5D C5 9D 51 07 +; ----------------------------------------------------------------------------- +; Routine: Label_C5EF +; Global: Branch target inside Label: taken when C5EF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C5EF: + lda $076E,x ; CPU:$C5EF PRG:45EF BD 6E 07 + bne NmiHandler_Loop252 ; CPU:$C5F2 PRG:45F2 D0 2B + ldy PlayerX ; CPU:$C5F4 PRG:45F4 A4 95 + lda $C55C,y ; CPU:$C5F6 PRG:45F6 B9 5C C5 + sta $0750,x ; CPU:$C5F9 PRG:45F9 9D 50 07 + lda $0751,x ; CPU:$C5FC PRG:45FC BD 51 07 + and #$F8 ; CPU:$C5FF PRG:45FF 29 F8 + ora $C55D,y ; CPU:$C601 PRG:4601 19 5D C5 + sta $0751,x ; CPU:$C604 PRG:4604 9D 51 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_C607 ; Global: Branch target inside Sub: taken when C607. @@ -9509,19 +11371,19 @@ Sub_C607: lda $0751,x ; CPU:$C619 PRG:4619 BD 51 07 sta APUPULSE1TIMERHI,x ; CPU:$C61C PRG:461C 9D 03 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop209 -; Global: Branch target inside NmiHandler: taken when Loop209. +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop209: +NmiHandler_Loop252: jsr Sub_C62D ; CPU:$C61F PRG:461F 20 2D C6 lda (Zp9B,x) ; CPU:$C622 PRG:4622 A1 9B sta $075E,x ; CPU:$C624 PRG:4624 9D 5E 07 jsr Sub_C62D ; CPU:$C627 PRG:4627 20 2D C6 - jmp NmiHandler_Loop206 ; CPU:$C62A PRG:462A 4C 83 C4 + jmp NmiHandler_Loop249 ; CPU:$C62A PRG:462A 4C 83 C4 ; ----------------------------------------------------------------------------- ; Routine: Sub_C62D ; Global: Branch target inside Sub: taken when C62D. @@ -9532,943 +11394,1137 @@ NmiHandler_Loop209: ; ----------------------------------------------------------------------------- Sub_C62D: inc Zp9B,x ; CPU:$C62D PRG:462D F6 9B - bne NmiHandler_Loop210 ; CPU:$C62F PRG:462F D0 02 + bne NmiHandler_Loop253 ; CPU:$C62F PRG:462F D0 02 inc Zp9C,x ; CPU:$C631 PRG:4631 F6 9C ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop210 -; Global: Branch target inside NmiHandler: taken when Loop210. +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop210: +NmiHandler_Loop253: rts ; CPU:$C633 PRG:4633 60 -; ---- data $C634-$FE09 (14294 bytes) ---- -; referenced by `lda $C6FA,x` at $8179 (operand $C6FA falls inside this region) -; referenced by `lda $C6FB,x` at $817E (operand $C6FB falls inside this region) -; referenced by `lda $C852,x` at $899C (operand $C852 falls inside this region) -; referenced by `lda $C853,x` at $89A1 (operand $C853 falls inside this region) -; referenced by `lda $E3B2,x` at $93AE (operand $E3B2 falls inside this region) -; referenced by `lda $E3B3,x` at $93B6 (operand $E3B3 falls inside this region) -; ... and 11 further references from decoded code - .byte $20, $2D, $C6, $A1, $9B, $9D, $4E, $07, $4C, $5D, $C6, $20, $2D, $C6, $A1, $9B ; CPU:$C634 PRG:4634 20 2D C6 A1 9B 9D 4E 07 4C 5D C6 20 2D C6 A1 9B - .byte $9D, $4F, $07, $4C, $5D, $C6, $20, $2D, $C6, $A1, $9B, $9D, $50, $07, $4C, $5D ; CPU:$C644 PRG:4644 9D 4F 07 4C 5D C6 20 2D C6 A1 9B 9D 50 07 4C 5D - .byte $C6, $20, $2D, $C6, $A1, $9B, $9D, $51, $07, $20, $2D, $C6, $4C, $70, $C4, $20 ; CPU:$C654 PRG:4654 C6 20 2D C6 A1 9B 9D 51 07 20 2D C6 4C 70 C4 20 - .byte $2D, $C6, $A1, $9B, $9D, $5F, $07, $20, $2D, $C6, $A1, $9B, $9D, $60, $07, $20 ; CPU:$C664 PRG:4664 2D C6 A1 9B 9D 5F 07 20 2D C6 A1 9B 9D 60 07 20 - .byte $2D, $C6, $A1, $9B, $9D, $61, $07, $20, $2D, $C6, $B5, $9D, $15, $9E, $D0, $12 ; CPU:$C674 PRG:4674 2D C6 A1 9B 9D 61 07 20 2D C6 B5 9D 15 9E D0 12 - .byte $B5, $9B, $95, $9D, $B5, $9C, $95, $9E, $BD, $60, $07, $95, $9B, $BD, $61, $07 ; CPU:$C684 PRG:4684 B5 9B 95 9D B5 9C 95 9E BD 60 07 95 9B BD 61 07 - .byte $95, $9C, $4C, $70, $C4, $B5, $9D, $15, $9E, $F0, $BE, $DE, $5F, $07, $D0, $E8 ; CPU:$C694 PRG:4694 95 9C 4C 70 C4 B5 9D 15 9E F0 BE DE 5F 07 D0 E8 - .byte $B5, $9D, $95, $9B, $B5, $9E, $95, $9C, $A9, $00, $95, $9D, $95, $9E, $4C, $70 ; CPU:$C6A4 PRG:46A4 B5 9D 95 9B B5 9E 95 9C A9 00 95 9D 95 9E 4C 70 - .byte $C4, $20, $2D, $C6, $A1, $9B, $A8, $20, $2D, $C6, $A1, $9B, $95, $9C, $98, $95 ; CPU:$C6B4 PRG:46B4 C4 20 2D C6 A1 9B A8 20 2D C6 A1 9B 95 9C 98 95 - .byte $9B, $4C, $70, $C4, $20, $2D, $C6, $A9, $00, $8D, $90, $07, $AA, $BD, $6E, $07 ; CPU:$C6C4 PRG:46C4 9B 4C 70 C4 20 2D C6 A9 00 8D 90 07 AA BD 6E 07 - .byte $D0, $10, $A9, $10, $9D, $00, $40, $A9, $00, $9D, $01, $40, $9D, $02, $40, $9D ; CPU:$C6D4 PRG:46D4 D0 10 A9 10 9D 00 40 A9 00 9D 01 40 9D 02 40 9D - .byte $03, $40, $E8, $E8, $E8, $E8, $E0, $10, $D0, $E3, $60, $20, $2D, $C6, $A1, $9B ; CPU:$C6E4 PRG:46E4 03 40 E8 E8 E8 E8 E0 10 D0 E3 60 20 2D C6 A1 9B - .byte $8D, $93, $07, $4C, $5D, $C6, $2A, $C7, $4C, $C7, $4C, $C7, $4C, $C7, $86, $C7 ; CPU:$C6F4 PRG:46F4 8D 93 07 4C 5D C6 2A C7 4C C7 4C C7 4C C7 86 C7 - .byte $E0, $C7, $E0, $C7, $E0, $C7, $2A, $C7, $4C, $C7, $4C, $C7, $4C, $C7, $86, $C7 ; CPU:$C704 PRG:4704 E0 C7 E0 C7 E0 C7 2A C7 4C C7 4C C7 4C C7 86 C7 - .byte $E0, $C7, $E0, $C7, $E0, $C7, $4C, $C7, $86, $C7, $4C, $C7, $4C, $C7, $86, $C7 ; CPU:$C714 PRG:4714 E0 C7 E0 C7 E0 C7 4C C7 86 C7 4C C7 4C C7 86 C7 - .byte $E0, $C7, $E0, $C7, $E0, $C7, $00, $05, $0A, $0F, $13, $18, $1D, $22, $27, $2C ; CPU:$C724 PRG:4724 E0 C7 E0 C7 E0 C7 00 05 0A 0F 13 18 1D 22 27 2C - .byte $30, $35, $3A, $3F, $44, $49, $4E, $52, $57, $5C, $61, $66, $6B, $70, $74, $79 ; CPU:$C734 PRG:4734 30 35 3A 3F 44 49 4E 52 57 5C 61 66 6B 70 74 79 - .byte $7E, $83, $88, $8D, $91, $96, $9B, $A0, $00, $03, $06, $08, $0B, $0E, $11, $14 ; CPU:$C744 PRG:4744 7E 83 88 8D 91 96 9B A0 00 03 06 08 0B 0E 11 14 - .byte $16, $19, $1C, $1F, $22, $24, $27, $2A, $2D, $2F, $33, $35, $38, $3B, $3E, $41 ; CPU:$C754 PRG:4754 16 19 1C 1F 22 24 27 2A 2D 2F 33 35 38 3B 3E 41 - .byte $43, $46, $49, $4C, $4F, $51, $54, $57, $5A, $5D, $5F, $62, $65, $68, $6B, $6D ; CPU:$C764 PRG:4764 43 46 49 4C 4F 51 54 57 5A 5D 5F 62 65 68 6B 6D - .byte $70, $73, $76, $79, $7C, $7E, $81, $84, $87, $8A, $8C, $8F, $92, $95, $98, $9A ; CPU:$C774 PRG:4774 70 73 76 79 7C 7E 81 84 87 8A 8C 8F 92 95 98 9A - .byte $9D, $A0, $00, $02, $04, $05, $07, $09, $0B, $0D, $0E, $10, $12, $14, $16, $17 ; CPU:$C784 PRG:4784 9D A0 00 02 04 05 07 09 0B 0D 0E 10 12 14 16 17 - .byte $19, $1B, $1D, $1F, $20, $22, $24, $26, $28, $29, $2B, $2D, $2F, $31, $32, $34 ; CPU:$C794 PRG:4794 19 1B 1D 1F 20 22 24 26 28 29 2B 2D 2F 31 32 34 - .byte $36, $38, $3A, $3B, $3D, $3F, $41, $43, $44, $46, $48, $4A, $4C, $4D, $4F, $51 ; CPU:$C7A4 PRG:47A4 36 38 3A 3B 3D 3F 41 43 44 46 48 4A 4C 4D 4F 51 - .byte $53, $54, $56, $58, $5A, $5C, $5D, $5F, $61, $63, $65, $66, $68, $6A, $6C, $6E ; CPU:$C7B4 PRG:47B4 53 54 56 58 5A 5C 5D 5F 61 63 65 66 68 6A 6C 6E - .byte $6F, $71, $73, $75, $77, $78, $7A, $7C, $7E, $80, $81, $83, $85, $87, $89, $8A ; CPU:$C7C4 PRG:47C4 6F 71 73 75 77 78 7A 7C 7E 80 81 83 85 87 89 8A - .byte $8C, $8E, $90, $92, $93, $95, $97, $99, $9B, $9C, $9E, $A0, $00, $01, $03, $04 ; CPU:$C7D4 PRG:47D4 8C 8E 90 92 93 95 97 99 9B 9C 9E A0 00 01 03 04 - .byte $06, $07, $08, $0A, $0B, $0D, $0E, $10, $11, $12, $14, $15, $17, $18, $19, $1B ; CPU:$C7E4 PRG:47E4 06 07 08 0A 0B 0D 0E 10 11 12 14 15 17 18 19 1B - .byte $1C, $1E, $1F, $21, $22, $23, $25, $26, $28, $29, $2A, $2C, $2D, $2F, $30, $32 ; CPU:$C7F4 PRG:47F4 1C 1E 1F 21 22 23 25 26 28 29 2A 2C 2D 2F 30 32 - .byte $33, $34, $36, $37, $39, $3A, $3C, $3D, $3E, $40, $41, $43, $44, $46, $47, $48 ; CPU:$C804 PRG:4804 33 34 36 37 39 3A 3C 3D 3E 40 41 43 44 46 47 48 - .byte $4A, $4B, $4C, $4E, $50, $51, $52, $54, $55, $56, $58, $59, $5B, $5C, $5D, $5F ; CPU:$C814 PRG:4814 4A 4B 4C 4E 50 51 52 54 55 56 58 59 5B 5C 5D 5F - .byte $60, $62, $63, $65, $66, $67, $69, $6A, $6C, $6D, $6E, $70, $71, $73, $74, $76 ; CPU:$C824 PRG:4824 60 62 63 65 66 67 69 6A 6C 6D 6E 70 71 73 74 76 - .byte $77, $78, $7A, $7B, $7D, $7E, $7F, $81, $82, $84, $85, $87, $88, $89, $8B, $8C ; CPU:$C834 PRG:4834 77 78 7A 7B 7D 7E 7F 81 82 84 85 87 88 89 8B 8C - .byte $8E, $8F, $90, $92, $93, $95, $96, $98, $99, $9A, $9C, $9D, $9F, $A0, $82, $C8 ; CPU:$C844 PRG:4844 8E 8F 90 92 93 95 96 98 99 9A 9C 9D 9F A0 82 C8 - .byte $91, $C8, $A0, $C8, $AF, $C8, $BE, $C8, $CD, $C8, $DC, $C8, $EB, $C8, $82, $C8 ; CPU:$C854 PRG:4854 91 C8 A0 C8 AF C8 BE C8 CD C8 DC C8 EB C8 82 C8 - .byte $FA, $C8, $09, $C9, $18, $C9, $27, $C9, $36, $C9, $45, $C9, $54, $C9, $82, $C8 ; CPU:$C864 PRG:4864 FA C8 09 C9 18 C9 27 C9 36 C9 45 C9 54 C9 82 C8 - .byte $63, $C9, $72, $C9, $81, $C9, $90, $C9, $9F, $C9, $AE, $C9, $BD, $C9, $51, $55 ; CPU:$C874 PRG:4874 63 C9 72 C9 81 C9 90 C9 9F C9 AE C9 BD C9 51 55 - .byte $41, $4C, $49, $46, $59, $49, $4E, $47, $20, $52, $55, $4E, $00, $20, $43, $4F ; CPU:$C884 PRG:4884 41 4C 49 46 59 49 4E 47 20 52 55 4E 00 20 43 4F - .byte $54, $54, $4F, $4E, $20, $43, $41, $4E, $44, $59, $20, $00, $20, $20, $20, $53 ; CPU:$C894 PRG:4894 54 54 4F 4E 20 43 41 4E 44 59 20 00 20 20 20 53 - .byte $4B, $49, $44, $20, $52, $4F, $57, $20, $20, $20, $00, $20, $53, $4E, $4F, $57 ; CPU:$C8A4 PRG:48A4 4B 49 44 20 52 4F 57 20 20 20 00 20 53 4E 4F 57 - .byte $59, $20, $53, $4C, $49, $44, $45, $20, $20, $00, $43, $52, $59, $53, $54, $41 ; CPU:$C8B4 PRG:48B4 59 20 53 4C 49 44 45 20 20 00 43 52 59 53 54 41 - .byte $4C, $20, $43, $52, $55, $49, $53, $45, $00, $20, $20, $20, $20, $4F, $56, $45 ; CPU:$C8C4 PRG:48C4 4C 20 43 52 55 49 53 45 00 20 20 20 20 4F 56 45 - .byte $52, $55, $4E, $20, $20, $20, $20, $00, $20, $20, $42, $49, $47, $20, $44, $49 ; CPU:$C8D4 PRG:48D4 52 55 4E 20 20 20 20 00 20 20 42 49 47 20 44 49 - .byte $50, $50, $45, $52, $20, $20, $00, $42, $4C, $55, $45, $20, $4D, $4F, $4E, $47 ; CPU:$C8E4 PRG:48E4 50 50 45 52 20 20 00 42 4C 55 45 20 4D 4F 4E 47 - .byte $4F, $4F, $53, $45, $20, $00, $20, $20, $20, $20, $54, $45, $41, $53, $45, $52 ; CPU:$C8F4 PRG:48F4 4F 4F 53 45 20 00 20 20 20 20 54 45 41 53 45 52 - .byte $20, $20, $20, $20, $00, $20, $20, $20, $42, $4C, $55, $45, $20, $4D, $41, $58 ; CPU:$C904 PRG:4904 20 20 20 20 00 20 20 20 42 4C 55 45 20 4D 41 58 - .byte $20, $20, $20, $00, $20, $20, $54, $48, $45, $20, $57, $48, $4F, $4F, $53, $48 ; CPU:$C914 PRG:4914 20 20 20 00 20 20 54 48 45 20 57 48 4F 4F 53 48 - .byte $20, $20, $00, $20, $48, $49, $47, $48, $20, $4F, $43, $54, $41, $4E, $45, $20 ; CPU:$C924 PRG:4924 20 20 00 20 48 49 47 48 20 4F 43 54 41 4E 45 20 - .byte $20, $00, $20, $52, $4F, $43, $4B, $20, $4E, $20, $52, $4F, $4C, $4C, $20, $20 ; CPU:$C934 PRG:4934 20 00 20 52 4F 43 4B 20 4E 20 52 4F 4C 4C 20 20 - .byte $00, $20, $4D, $4F, $4E, $53, $54, $45, $52, $20, $52, $55, $4E, $20, $20, $00 ; CPU:$C944 PRG:4944 00 20 4D 4F 4E 53 54 45 52 20 52 55 4E 20 20 00 - .byte $53, $55, $50, $45, $52, $20, $44, $4F, $57, $4E, $48, $49, $4C, $4C, $00, $20 ; CPU:$C954 PRG:4954 53 55 50 45 52 20 44 4F 57 4E 48 49 4C 4C 00 20 - .byte $49, $4E, $20, $54, $48, $45, $20, $54, $52, $45, $45, $53, $20, $00, $20, $20 ; CPU:$C964 PRG:4964 49 4E 20 54 48 45 20 54 52 45 45 53 20 00 20 20 - .byte $43, $55, $54, $20, $4C, $4F, $4F, $53, $45, $20, $20, $20, $00, $48, $4F, $54 ; CPU:$C974 PRG:4974 43 55 54 20 4C 4F 4F 53 45 20 20 20 00 48 4F 54 - .byte $20, $44, $4F, $47, $20, $48, $45, $41, $56, $45, $4E, $00, $20, $20, $20, $52 ; CPU:$C984 PRG:4984 20 44 4F 47 20 48 45 41 56 45 4E 00 20 20 20 52 - .byte $41, $44, $20, $52, $55, $4E, $20, $20, $20, $20, $00, $20, $20, $20, $50, $41 ; CPU:$C994 PRG:4994 41 44 20 52 55 4E 20 20 20 20 00 20 20 20 50 41 - .byte $52, $41, $44, $49, $53, $45, $20, $20, $20, $00, $20, $45, $58, $54, $45, $52 ; CPU:$C9A4 PRG:49A4 52 41 44 49 53 45 20 20 20 00 20 45 58 54 45 52 - .byte $4D, $49, $4E, $41, $54, $4F, $52, $20, $00, $20, $20, $46, $52, $45, $45, $53 ; CPU:$C9B4 PRG:49B4 4D 49 4E 41 54 4F 52 20 00 20 20 46 52 45 45 53 - .byte $54, $59, $4C, $45, $52, $20, $20, $00, $FC, $C9, $20, $CA, $58, $CA, $88, $CA ; CPU:$C9C4 PRG:49C4 54 59 4C 45 52 20 20 00 FC C9 20 CA 58 CA 88 CA - .byte $B8, $CA, $00, $CB, $5A, $CB, $B4, $CB, $06, $CA, $30, $CA, $68, $CA, $98, $CA ; CPU:$C9D4 PRG:49D4 B8 CA 00 CB 5A CB B4 CB 06 CA 30 CA 68 CA 98 CA - .byte $D0, $CA, $1E, $CB, $78, $CB, $D2, $CB, $10, $CA, $40, $CA, $78, $CA, $A8, $CA ; CPU:$C9E4 PRG:49E4 D0 CA 1E CB 78 CB D2 CB 10 CA 40 CA 78 CA A8 CA - .byte $E8, $CA, $3C, $CB, $96, $CB, $F0, $CB, $0E, $CC, $F2, $D5, $B4, $D5, $20, $D0 ; CPU:$C9F4 PRG:49F4 E8 CA 3C CB 96 CB F0 CB 0E CC F2 D5 B4 D5 20 D0 - .byte $4E, $CC, $0E, $CC, $F2, $D5, $C4, $CE, $20, $D0, $4E, $CC, $0E, $CC, $42, $D1 ; CPU:$CA04 PRG:4A04 4E CC 0E CC F2 D5 C4 CE 20 D0 4E CC 0E CC 42 D1 - .byte $F2, $D5, $B4, $D5, $76, $D7, $AE, $D7, $08, $D1, $4E, $CC, $0E, $CC, $30, $D6 ; CPU:$CA14 PRG:4A14 F2 D5 B4 D5 76 D7 AE D7 08 D1 4E CC 0E CC 30 D6 - .byte $72, $D6, $76, $D7, $AE, $D7, $E4, $D7, $20, $D0, $4E, $CC, $0E, $CC, $08, $D1 ; CPU:$CA24 PRG:4A24 72 D6 76 D7 AE D7 E4 D7 20 D0 4E CC 0E CC 08 D1 - .byte $76, $D7, $AE, $D7, $30, $D6, $72, $D6, $20, $D0, $4E, $CC, $0E, $CC, $30, $D6 ; CPU:$CA34 PRG:4A34 76 D7 AE D7 30 D6 72 D6 20 D0 4E CC 0E CC 30 D6 - .byte $72, $D6, $76, $D7, $AE, $D7, $06, $D5, $40, $D5, $38, $D7, $B4, $D6, $08, $D1 ; CPU:$CA44 PRG:4A44 72 D6 76 D7 AE D7 06 D5 40 D5 38 D7 B4 D6 08 D1 - .byte $42, $D1, $4E, $CC, $0E, $CC, $06, $D5, $40, $D5, $6E, $D1, $5E, $CC, $C4, $CE ; CPU:$CA54 PRG:4A54 42 D1 4E CC 0E CC 06 D5 40 D5 6E D1 5E CC C4 CE - .byte $20, $D0, $4E, $CC, $0E, $CC, $92, $D4, $CC, $D4, $6E, $D1, $5E, $CC, $C4, $CE ; CPU:$CA64 PRG:4A64 20 D0 4E CC 0E CC 92 D4 CC D4 6E D1 5E CC C4 CE - .byte $20, $D0, $4E, $CC, $0E, $CC, $40, $D5, $92, $D4, $7C, $D2, $8A, $CD, $B0, $D2 ; CPU:$CA74 PRG:4A74 20 D0 4E CC 0E CC 40 D5 92 D4 7C D2 8A CD B0 D2 - .byte $42, $D1, $4E, $CC, $0E, $CC, $E6, $CF, $AC, $CF, $F2, $D5, $B4, $D5, $D2, $D0 ; CPU:$CA84 PRG:4A84 42 D1 4E CC 0E CC E6 CF AC CF F2 D5 B4 D5 D2 D0 - .byte $20, $D0, $4E, $CC, $0E, $CC, $F2, $D5, $B4, $D5, $AC, $CF, $9E, $D3, $DA, $D3 ; CPU:$CA94 PRG:4A94 20 D0 4E CC 0E CC F2 D5 B4 D5 AC CF 9E D3 DA D3 - .byte $20, $D0, $4E, $CC, $0E, $CC, $9E, $D3, $DA, $D3, $F2, $D5, $B4, $D5, $AC, $CF ; CPU:$CAA4 PRG:4AA4 20 D0 4E CC 0E CC 9E D3 DA D3 F2 D5 B4 D5 AC CF - .byte $20, $D0, $4E, $CC, $0E, $CC, $08, $D1, $3C, $CF, $54, $D4, $06, $CE, $16, $D4 ; CPU:$CAB4 PRG:4AB4 20 D0 4E CC 0E CC 08 D1 3C CF 54 D4 06 CE 16 D4 - .byte $08, $D1, $7A, $D5, $8A, $CE, $08, $D1, $20, $D0, $4E, $CC, $0E, $CC, $06, $D5 ; CPU:$CAC4 PRG:4AC4 08 D1 7A D5 8A CE 08 D1 20 D0 4E CC 0E CC 06 D5 - .byte $7A, $D5, $C4, $CD, $8A, $CE, $E4, $D7, $E4, $D7, $42, $D1, $02, $CF, $98, $D0 ; CPU:$CAD4 PRG:4AD4 7A D5 C4 CD 8A CE E4 D7 E4 D7 42 D1 02 CF 98 D0 - .byte $20, $D0, $4E, $CC, $0E, $CC, $CC, $D4, $92, $D4, $76, $D7, $AE, $D7, $16, $CD ; CPU:$CAE4 PRG:4AE4 20 D0 4E CC 0E CC CC D4 92 D4 76 D7 AE D7 16 CD - .byte $3C, $CF, $9E, $D3, $DA, $D3, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $30, $D6 ; CPU:$CAF4 PRG:4AF4 3C CF 9E D3 DA D3 98 D0 20 D0 4E CC 0E CC 30 D6 - .byte $72, $D6, $76, $D7, $AE, $D7, $E4, $D7, $E4, $D7, $76, $D7, $AE, $D7, $30, $D6 ; CPU:$CB04 PRG:4B04 72 D6 76 D7 AE D7 E4 D7 E4 D7 76 D7 AE D7 30 D6 - .byte $72, $D6, $E4, $D7, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $08, $D1, $02, $CF ; CPU:$CB14 PRG:4B14 72 D6 E4 D7 98 D0 20 D0 4E CC 0E CC 08 D1 02 CF - .byte $02, $CF, $E4, $D2, $22, $D3, $E4, $D7, $60, $D3, $48, $CE, $5A, $D0, $16, $CD ; CPU:$CB24 PRG:4B24 02 CF E4 D2 22 D3 E4 D7 60 D3 48 CE 5A D0 16 CD - .byte $3C, $CF, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $E4, $D7, $F6, $D6, $B4, $D6 ; CPU:$CB34 PRG:4B34 3C CF 98 D0 20 D0 4E CC 0E CC E4 D7 F6 D6 B4 D6 - .byte $76, $D7, $AE, $D7, $E4, $D7, $76, $D7, $AE, $D7, $60, $D3, $48, $CE, $5A, $D0 ; CPU:$CB44 PRG:4B44 76 D7 AE D7 E4 D7 76 D7 AE D7 60 D3 48 CE 5A D0 - .byte $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $7C, $D2, $8A, $CD, $B0, $D2, $3C, $CF ; CPU:$CB54 PRG:4B54 98 D0 20 D0 4E CC 0E CC 7C D2 8A CD B0 D2 3C CF - .byte $40, $D5, $06, $D5, $7A, $D5, $8A, $CE, $92, $D4, $54, $D4, $16, $D4, $08, $D1 ; CPU:$CB64 PRG:4B64 40 D5 06 D5 7A D5 8A CE 92 D4 54 D4 16 D4 08 D1 - .byte $42, $D1, $4E, $CC, $0E, $CC, $76, $CF, $76, $CF, $42, $D1, $42, $D1, $92, $D4 ; CPU:$CB74 PRG:4B74 42 D1 4E CC 0E CC 76 CF 76 CF 42 D1 42 D1 92 D4 - .byte $CC, $D4, $76, $D7, $AE, $D7, $D2, $D0, $AC, $D1, $E0, $D1, $98, $D0, $20, $D0 ; CPU:$CB84 PRG:4B84 CC D4 76 D7 AE D7 D2 D0 AC D1 E0 D1 98 D0 20 D0 - .byte $4E, $CC, $0E, $CC, $AC, $D1, $A0, $CC, $E0, $D1, $42, $D1, $06, $D5, $CC, $D4 ; CPU:$CB94 PRG:4B94 4E CC 0E CC AC D1 A0 CC E0 D1 42 D1 06 D5 CC D4 - .byte $7A, $D5, $C4, $CD, $8A, $CE, $9E, $D3, $DA, $D3, $98, $D0, $42, $D1, $4E, $CC ; CPU:$CBA4 PRG:4BA4 7A D5 C4 CD 8A CE 9E D3 DA D3 98 D0 42 D1 4E CC - .byte $0E, $CC, $9E, $D3, $D6, $CC, $DA, $D3, $AC, $CF, $E6, $CF, $08, $D1, $02, $CF ; CPU:$CBB4 PRG:4BB4 0E CC 9E D3 D6 CC DA D3 AC CF E6 CF 08 D1 02 CF - .byte $60, $D3, $48, $CE, $5A, $D0, $F2, $D5, $B4, $D5, $20, $D0, $4E, $CC, $0E, $CC ; CPU:$CBC4 PRG:4BC4 60 D3 48 CE 5A D0 F2 D5 B4 D5 20 D0 4E CC 0E CC - .byte $F2, $D5, $B4, $D5, $F2, $D5, $B4, $D5, $30, $D6, $72, $D6, $30, $D6, $72, $D6 ; CPU:$CBD4 PRG:4BD4 F2 D5 B4 D5 F2 D5 B4 D5 30 D6 72 D6 30 D6 72 D6 - .byte $E6, $CF, $AC, $CF, $9E, $D3, $DA, $D3, $20, $D0, $4E, $CC, $0E, $CC, $7C, $D2 ; CPU:$CBE4 PRG:4BE4 E6 CF AC CF 9E D3 DA D3 20 D0 4E CC 0E CC 7C D2 - .byte $8A, $CD, $8A, $CD, $B0, $D2, $F2, $D5, $B4, $D5, $30, $D6, $72, $D6, $30, $D6 ; CPU:$CBF4 PRG:4BF4 8A CD 8A CD B0 D2 F2 D5 B4 D5 30 D6 72 D6 30 D6 - .byte $72, $D6, $98, $D0, $98, $D0, $20, $D0, $4E, $CC, $06, $11, $06, $1E, $03, $CF ; CPU:$CC04 PRG:4C04 72 D6 98 D0 98 D0 20 D0 4E CC 06 11 06 1E 03 CF - .byte $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF ; CPU:$CC14 PRG:4C14 02 00 03 4F 02 80 03 CF 02 00 03 4F 02 80 03 CF - .byte $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF ; CPU:$CC24 PRG:4C24 02 00 03 4F 02 80 03 CF 02 00 03 4F 02 80 03 CF - .byte $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF ; CPU:$CC34 PRG:4C34 02 00 03 4F 02 80 03 CF 02 00 03 4F 02 80 03 CF - .byte $02, $01, $03, $4E, $02, $82, $03, $CD, $02, $00, $02, $00, $03, $4F, $02, $80 ; CPU:$CC44 PRG:4C44 02 01 03 4E 02 82 03 CD 02 00 02 00 03 4F 02 80 - .byte $03, $CF, $0E, $81, $0E, $8E, $10, $77, $02, $00, $0C, $80, $0C, $A3, $0C, $C6 ; CPU:$CC54 PRG:4C54 03 CF 0E 81 0E 8E 10 77 02 00 0C 80 0C A3 0C C6 - .byte $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6 ; CPU:$CC64 PRG:4C64 0C E9 0D 8F 0D AC 0D C9 0D E6 0C 80 0C A3 0C C6 - .byte $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6 ; CPU:$CC74 PRG:4C74 0C E9 0D 8F 0D AC 0D C9 0D E6 0C 80 0C A3 0C C6 - .byte $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6 ; CPU:$CC84 PRG:4C84 0C E9 0D 8F 0D AC 0D C9 0D E6 0C 80 0C A3 0C C6 - .byte $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $02, $00, $04, $01, $05, $52 ; CPU:$CC94 PRG:4C94 0C E9 0D 8F 0D AC 0D C9 0D E6 02 00 04 01 05 52 - .byte $04, $A3, $05, $F4, $04, $45, $05, $96, $04, $E7, $05, $38, $04, $89, $05, $DA ; CPU:$CCA4 PRG:4CA4 04 A3 05 F4 04 45 05 96 04 E7 05 38 04 89 05 DA - .byte $04, $2B, $05, $7C, $04, $CD, $05, $1E, $04, $6D, $05, $BC, $04, $0B, $05, $5A ; CPU:$CCB4 PRG:4CB4 04 2B 05 7C 04 CD 05 1E 04 6D 05 BC 04 0B 05 5A - .byte $04, $A9, $05, $F8, $04, $47, $05, $96, $04, $E5, $05, $34, $05, $82, $04, $C1 ; CPU:$CCC4 PRG:4CC4 04 A9 05 F8 04 47 05 96 04 E5 05 34 05 82 04 C1 - .byte $02, $00, $12, $1E, $12, $34, $12, $C1, $12, $CD, $13, $14, $13, $3B, $13, $C4 ; CPU:$CCD4 PRG:4CD4 02 00 12 1E 12 34 12 C1 12 CD 13 14 13 3B 13 C4 - .byte $13, $F9, $12, $1C, $12, $37, $12, $A1, $12, $F9, $13, $1D, $13, $34, $13, $AA ; CPU:$CCE4 PRG:4CE4 13 F9 12 1C 12 37 12 A1 12 F9 13 1D 13 34 13 AA - .byte $13, $F6, $12, $1A, $12, $33, $12, $A5, $13, $07, $13, $33, $13, $6C, $13, $A6 ; CPU:$CCF4 PRG:4CF4 13 F6 12 1A 12 33 12 A5 13 07 13 33 13 6C 13 A6 - .byte $12, $0E, $12, $31, $12, $62, $12, $A4, $13, $0C, $13, $37, $13, $69, $13, $A4 ; CPU:$CD04 PRG:4D04 12 0E 12 31 12 62 12 A4 13 0C 13 37 13 69 13 A4 - .byte $02, $00, $02, $41, $03, $4E, $02, $F7, $02, $08, $02, $19, $12, $2A, $03, $FC ; CPU:$CD14 PRG:4D14 02 00 02 41 03 4E 02 F7 02 08 02 19 12 2A 03 FC - .byte $03, $0D, $03, $1E, $13, $2F, $02, $FA, $02, $0B, $02, $1C, $12, $2D, $03, $F5 ; CPU:$CD24 PRG:4D24 03 0D 03 1E 13 2F 02 FA 02 0B 02 1C 12 2D 03 F5 - .byte $03, $06, $03, $17, $13, $28, $02, $F0, $02, $01, $02, $12, $12, $23, $03, $F7 ; CPU:$CD34 PRG:4D34 03 06 03 17 13 28 02 F0 02 01 02 12 12 23 03 F7 - .byte $03, $08, $03, $19, $13, $2A, $02, $C1, $03, $CE, $02, $00, $04, $0E, $05, $5B ; CPU:$CD44 PRG:4D44 03 08 03 19 13 2A 02 C1 03 CE 02 00 04 0E 05 5B - .byte $04, $A9, $05, $F8, $04, $46, $05, $9B, $04, $EE, $04, $01, $05, $54, $04, $A6 ; CPU:$CD54 PRG:4D54 04 A9 05 F8 04 46 05 9B 04 EE 04 01 05 54 04 A6 - .byte $05, $F7, $04, $46, $05, $94, $04, $E1, $04, $0E, $05, $5B, $04, $A9, $05, $F8 ; CPU:$CD64 PRG:4D64 05 F7 04 46 05 94 04 E1 04 0E 05 5B 04 A9 05 F8 - .byte $04, $49, $05, $9B, $04, $EE, $04, $01, $05, $54, $04, $A6, $04, $F7, $04, $46 ; CPU:$CD74 PRG:4D74 04 49 05 9B 04 EE 04 01 05 54 04 A6 04 F7 04 46 - .byte $05, $94, $04, $E1, $02, $00, $0C, $0E, $0D, $5B, $0C, $A8, $0D, $F5, $0C, $47 ; CPU:$CD84 PRG:4D84 05 94 04 E1 02 00 0C 0E 0D 5B 0C A8 0D F5 0C 47 - .byte $0D, $9A, $0C, $ED, $0C, $01, $0D, $54, $0C, $A7, $0D, $FA, $0C, $48, $0D, $95 ; CPU:$CD94 PRG:4D94 0D 9A 0C ED 0C 01 0D 54 0C A7 0D FA 0C 48 0D 95 - .byte $0C, $E2, $0C, $0E, $0D, $5B, $0C, $A8, $0D, $F6, $0C, $47, $0D, $9A, $0C, $ED ; CPU:$CDA4 PRG:4DA4 0C E2 0C 0E 0D 5B 0C A8 0D F6 0C 47 0D 9A 0C ED - .byte $0C, $01, $0D, $54, $0C, $A7, $0D, $F9, $0C, $48, $0D, $95, $0C, $E2, $02, $00 ; CPU:$CDB4 PRG:4DB4 0C 01 0D 54 0C A7 0D F9 0C 48 0D 95 0C E2 02 00 - .byte $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05, $5B, $04, $9D, $05, $DF ; CPU:$CDC4 PRG:4DC4 04 11 05 53 04 95 05 D7 04 19 05 5B 04 9D 05 DF - .byte $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05, $5B, $04, $9D, $05, $DF ; CPU:$CDD4 PRG:4DD4 04 11 05 53 04 95 05 D7 04 19 05 5B 04 9D 05 DF - .byte $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05, $5B, $04, $9D, $05, $DF ; CPU:$CDE4 PRG:4DE4 04 11 05 53 04 95 05 D7 04 19 05 5B 04 9D 05 DF - .byte $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05, $5B, $04, $9C, $05, $DE ; CPU:$CDF4 PRG:4DF4 04 11 05 53 04 95 05 D7 04 19 05 5B 04 9C 05 DE - .byte $02, $00, $0C, $11, $0D, $5E, $0C, $92, $0D, $DD, $0C, $13, $0D, $5C, $0C, $94 ; CPU:$CE04 PRG:4E04 02 00 0C 11 0D 5E 0C 92 0D DD 0C 13 0D 5C 0C 94 - .byte $0D, $DB, $0C, $15, $0D, $5A, $0C, $96, $0D, $D9, $0C, $17, $0D, $58, $0C, $97 ; CPU:$CE14 PRG:4E14 0D DB 0C 15 0D 5A 0C 96 0D D9 0C 17 0D 58 0C 97 - .byte $0D, $D8, $0C, $16, $0D, $59, $0C, $95, $0D, $DA, $0C, $14, $0D, $5B, $0C, $93 ; CPU:$CE24 PRG:4E24 0D D8 0C 16 0D 59 0C 95 0D DA 0C 14 0D 5B 0C 93 - .byte $0D, $DC, $0C, $12, $0D, $5D, $0C, $91, $0D, $DE, $0C, $10, $0D, $5F, $0C, $90 ; CPU:$CE34 PRG:4E34 0D DC 0C 12 0D 5D 0C 91 0D DE 0C 10 0D 5F 0C 90 - .byte $0D, $DF, $02, $00, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E, $03, $2C ; CPU:$CE44 PRG:4E44 0D DF 02 00 02 11 02 23 02 55 02 A7 03 1E 03 2C - .byte $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E, $03, $2C ; CPU:$CE54 PRG:4E54 03 5A 03 A8 02 11 02 23 02 55 02 A7 03 1E 03 2C - .byte $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E, $03, $2C ; CPU:$CE64 PRG:4E64 03 5A 03 A8 02 11 02 23 02 55 02 A7 03 1E 03 2C - .byte $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E, $03, $2C ; CPU:$CE74 PRG:4E74 03 5A 03 A8 02 11 02 23 02 55 02 A7 03 1E 03 2C - .byte $03, $5A, $03, $98, $02, $00, $04, $11, $04, $53, $04, $95, $04, $D7, $05, $19 ; CPU:$CE84 PRG:4E84 03 5A 03 98 02 00 04 11 04 53 04 95 04 D7 05 19 - .byte $05, $5B, $05, $9D, $05, $DF, $04, $10, $04, $52, $04, $94, $04, $D6, $05, $18 ; CPU:$CE94 PRG:4E94 05 5B 05 9D 05 DF 04 10 04 52 04 94 04 D6 05 18 - .byte $05, $5A, $05, $9C, $05, $DE, $04, $11, $04, $53, $04, $95, $04, $D7, $05, $19 ; CPU:$CEA4 PRG:4EA4 05 5A 05 9C 05 DE 04 11 04 53 04 95 04 D7 05 19 - .byte $05, $5B, $05, $9D, $05, $DF, $02, $D4, $03, $DB, $02, $C1, $03, $CE, $02, $00 ; CPU:$CEB4 PRG:4EB4 05 5B 05 9D 05 DF 02 D4 03 DB 02 C1 03 CE 02 00 - .byte $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6 ; CPU:$CEC4 PRG:4EC4 0C 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 - .byte $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6 ; CPU:$CED4 PRG:4ED4 0C 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 - .byte $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6 ; CPU:$CEE4 PRG:4EE4 0C 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 - .byte $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $02, $C1, $03, $CE, $02, $00, $02, $10 ; CPU:$CEF4 PRG:4EF4 0C 80 0C A3 0C C6 0C E9 02 C1 03 CE 02 00 02 10 - .byte $12, $50, $02, $91, $12, $E0, $02, $12, $13, $61, $02, $93, $13, $E2, $02, $24 ; CPU:$CF04 PRG:4F04 12 50 02 91 12 E0 02 12 13 61 02 93 13 E2 02 24 - .byte $12, $83, $02, $B5, $13, $04, $02, $46, $13, $85, $02, $C7, $12, $06, $03, $38 ; CPU:$CF14 PRG:4F14 12 83 02 B5 13 04 02 46 13 85 02 C7 12 06 03 38 - .byte $12, $87, $03, $D9, $13, $08, $03, $3A, $13, $89, $03, $BB, $12, $0A, $03, $3C ; CPU:$CF24 PRG:4F24 12 87 03 D9 13 08 03 3A 13 89 03 BB 12 0A 03 3C - .byte $12, $8B, $03, $BD, $03, $1F, $02, $00, $12, $41, $12, $4E, $02, $25, $02, $34 ; CPU:$CF34 PRG:4F34 12 8B 03 BD 03 1F 02 00 12 41 12 4E 02 25 02 34 - .byte $02, $42, $12, $51, $03, $26, $03, $37, $03, $59, $13, $6A, $02, $36, $02, $45 ; CPU:$CF44 PRG:4F44 02 42 12 51 03 26 03 37 03 59 13 6A 02 36 02 45 - .byte $02, $63, $12, $72, $03, $2A, $03, $3B, $03, $5D, $13, $6E, $02, $19, $02, $28 ; CPU:$CF54 PRG:4F54 02 63 12 72 03 2A 03 3B 03 5D 13 6E 02 19 02 28 - .byte $02, $46, $12, $55, $03, $4A, $03, $5B, $03, $7D, $13, $8E, $13, $C1, $13, $CE ; CPU:$CF64 PRG:4F64 02 46 12 55 03 4A 03 5B 03 7D 13 8E 13 C1 13 CE - .byte $02, $00, $02, $41, $03, $4E, $0D, $1E, $0D, $3E, $0D, $5D, $0D, $7D, $0C, $12 ; CPU:$CF74 PRG:4F74 02 00 02 41 03 4E 0D 1E 0D 3E 0D 5D 0D 7D 0C 12 - .byte $0C, $32, $0C, $53, $0C, $73, $0D, $1C, $0D, $3C, $0D, $5B, $0D, $7B, $0C, $14 ; CPU:$CF84 PRG:4F84 0C 32 0C 53 0C 73 0D 1C 0D 3C 0D 5B 0D 7B 0C 14 - .byte $0C, $34, $0C, $55, $0C, $75, $0D, $1A, $0D, $3A, $0D, $59, $0D, $79, $0C, $16 ; CPU:$CF94 PRG:4F94 0C 34 0C 55 0C 75 0D 1A 0D 3A 0D 59 0D 79 0C 16 - .byte $0C, $36, $0C, $57, $0C, $77, $02, $00, $12, $41, $12, $4E, $12, $1D, $12, $3D ; CPU:$CFA4 PRG:4FA4 0C 36 0C 57 0C 77 02 00 12 41 12 4E 12 1D 12 3D - .byte $12, $5C, $12, $7C, $13, $1C, $13, $3C, $13, $5B, $13, $7B, $12, $1B, $12, $3B ; CPU:$CFB4 PRG:4FB4 12 5C 12 7C 13 1C 13 3C 13 5B 13 7B 12 1B 12 3B - .byte $12, $5A, $12, $7A, $13, $1A, $13, $3A, $13, $59, $13, $79, $12, $19, $12, $39 ; CPU:$CFC4 PRG:4FC4 12 5A 12 7A 13 1A 13 3A 13 59 13 79 12 19 12 39 - .byte $12, $58, $12, $78, $13, $18, $13, $38, $13, $57, $13, $77, $12, $16, $12, $55 ; CPU:$CFD4 PRG:4FD4 12 58 12 78 13 18 13 38 13 57 13 77 12 16 12 55 - .byte $02, $00, $12, $31, $12, $3E, $12, $12, $12, $32, $12, $53, $12, $73, $13, $13 ; CPU:$CFE4 PRG:4FE4 02 00 12 31 12 3E 12 12 12 32 12 53 12 73 13 13 - .byte $13, $33, $13, $54, $13, $74, $12, $14, $12, $34, $12, $55, $12, $75, $13, $15 ; CPU:$CFF4 PRG:4FF4 13 33 13 54 13 74 12 14 12 34 12 55 12 75 13 15 - .byte $13, $35, $13, $56, $13, $76, $12, $16, $12, $36, $12, $57, $12, $77, $13, $17 ; CPU:$D004 PRG:5004 13 35 13 56 13 76 12 16 12 36 12 57 12 77 13 17 - .byte $13, $37, $13, $58, $13, $78, $12, $19, $12, $4A, $02, $00, $04, $91, $04, $D1 ; CPU:$D014 PRG:5014 13 37 13 58 13 78 12 19 12 4A 02 00 04 91 04 D1 - .byte $05, $11, $05, $51, $05, $91, $05, $D1, $04, $11, $04, $51, $04, $91, $04, $D1 ; CPU:$D024 PRG:5024 05 11 05 51 05 91 05 D1 04 11 04 51 04 91 04 D1 - .byte $05, $11, $05, $51, $05, $91, $05, $D1, $04, $1E, $04, $5E, $04, $9E, $04, $DE ; CPU:$D034 PRG:5034 05 11 05 51 05 91 05 D1 04 1E 04 5E 04 9E 04 DE - .byte $05, $1E, $05, $5E, $05, $9E, $05, $DE, $04, $1E, $04, $5E, $04, $9E, $04, $DE ; CPU:$D044 PRG:5044 05 1E 05 5E 05 9E 05 DE 04 1E 04 5E 04 9E 04 DE - .byte $05, $1E, $04, $5E, $02, $00, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E ; CPU:$D054 PRG:5054 05 1E 04 5E 02 00 02 11 02 23 02 55 02 A7 03 1E - .byte $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E ; CPU:$D064 PRG:5064 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 A7 03 1E - .byte $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7, $03, $1E ; CPU:$D074 PRG:5074 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 A7 03 1E - .byte $03, $2C, $03, $5A, $03, $98, $02, $11, $02, $23, $02, $55, $02, $97, $02, $C1 ; CPU:$D084 PRG:5084 03 2C 03 5A 03 98 02 11 02 23 02 55 02 97 02 C1 - .byte $03, $CE, $02, $00, $04, $95, $04, $DA, $05, $15, $05, $5A, $05, $95, $05, $DA ; CPU:$D094 PRG:5094 03 CE 02 00 04 95 04 DA 05 15 05 5A 05 95 05 DA - .byte $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05, $5A, $05, $95, $05, $DA ; CPU:$D0A4 PRG:50A4 04 15 04 5A 04 95 04 DA 05 15 05 5A 05 95 05 DA - .byte $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05, $5A, $05, $95, $05, $DA ; CPU:$D0B4 PRG:50B4 04 15 04 5A 04 95 04 DA 05 15 05 5A 05 95 05 DA - .byte $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05, $5A, $02, $00, $0C, $BE ; CPU:$D0C4 PRG:50C4 04 15 04 5A 04 95 04 DA 05 15 05 5A 02 00 0C BE - .byte $12, $C6, $0D, $30, $13, $5A, $13, $C5, $0C, $0F, $12, $35, $0C, $50, $12, $CB ; CPU:$D0D4 PRG:50D4 12 C6 0D 30 13 5A 13 C5 0C 0F 12 35 0C 50 12 CB - .byte $0D, $0F, $0D, $40, $13, $55, $13, $EB, $0C, $00, $0C, $5F, $12, $54, $0D, $00 ; CPU:$D0E4 PRG:50E4 0D 0F 0D 40 13 55 13 EB 0C 00 0C 5F 12 54 0D 00 - .byte $13, $08, $13, $7B, $13, $97, $0C, $0F, $12, $45, $0C, $70, $12, $EA, $0D, $0F ; CPU:$D0F4 PRG:50F4 13 08 13 7B 13 97 0C 0F 12 45 0C 70 12 EA 0D 0F - .byte $0D, $60, $02, $00, $12, $BB, $02, $F0, $03, $FF, $13, $46, $13, $B8, $02, $F0 ; CPU:$D104 PRG:5104 0D 60 02 00 12 BB 02 F0 03 FF 13 46 13 B8 02 F0 - .byte $03, $FF, $12, $36, $12, $B8, $02, $F0, $03, $FF, $13, $47, $13, $B2, $02, $F0 ; CPU:$D114 PRG:5114 03 FF 12 36 12 B8 02 F0 03 FF 13 47 13 B2 02 F0 - .byte $03, $FF, $12, $3B, $12, $BC, $02, $F0, $03, $FF, $13, $3E, $13, $B5, $02, $F0 ; CPU:$D124 PRG:5124 03 FF 12 3B 12 BC 02 F0 03 FF 13 3E 13 B5 02 F0 - .byte $03, $FF, $12, $33, $12, $BD, $02, $F0, $03, $FF, $13, $39, $02, $00, $04, $C5 ; CPU:$D134 PRG:5134 03 FF 12 33 12 BD 02 F0 03 FF 13 39 02 00 04 C5 - .byte $04, $ED, $05, $20, $05, $D9, $05, $EB, $04, $15, $04, $DD, $04, $E8, $05, $13 ; CPU:$D144 PRG:5144 04 ED 05 20 05 D9 05 EB 04 15 04 DD 04 E8 05 13 - .byte $05, $DF, $05, $E7, $04, $38, $04, $C3, $05, $00, $05, $67, $05, $CF, $05, $F4 ; CPU:$D154 PRG:5154 05 DF 05 E7 04 38 04 C3 05 00 05 67 05 CF 05 F4 - .byte $04, $58, $04, $AC, $04, $D1, $05, $50, $02, $00, $02, $41, $03, $9E, $0C, $8F ; CPU:$D164 PRG:5164 04 58 04 AC 04 D1 05 50 02 00 02 41 03 9E 0C 8F - .byte $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D, $C6, $0D, $E9, $0C, $8F ; CPU:$D174 PRG:5174 0C AC 0C C9 0C E6 0D 80 0D A3 0D C6 0D E9 0C 8F - .byte $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D, $C6, $0D, $E9, $0C, $8F ; CPU:$D184 PRG:5184 0C AC 0C C9 0C E6 0D 80 0D A3 0D C6 0D E9 0C 8F - .byte $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D, $C6, $0D, $E9, $0C, $8F ; CPU:$D194 PRG:5194 0C AC 0C C9 0C E6 0D 80 0D A3 0D C6 0D E9 0C 8F - .byte $0C, $AC, $0C, $C9, $0C, $E6, $02, $00, $02, $31, $03, $3E, $04, $F3, $04, $44 ; CPU:$D1A4 PRG:51A4 0C AC 0C C9 0C E6 02 00 02 31 03 3E 04 F3 04 44 - .byte $04, $95, $04, $E6, $05, $37, $05, $88, $05, $D9, $04, $2A, $04, $7B, $04, $CC ; CPU:$D1B4 PRG:51B4 04 95 04 E6 05 37 05 88 05 D9 04 2A 04 7B 04 CC - .byte $05, $1D, $05, $6C, $05, $BB, $04, $0A, $04, $59, $04, $A8, $04, $F7, $05, $46 ; CPU:$D1C4 PRG:51C4 05 1D 05 6C 05 BB 04 0A 04 59 04 A8 04 F7 05 46 - .byte $05, $95, $05, $E4, $04, $33, $04, $82, $04, $C1, $02, $00, $04, $00, $04, $51 ; CPU:$D1D4 PRG:51D4 05 95 05 E4 04 33 04 82 04 C1 02 00 04 00 04 51 - .byte $04, $A2, $04, $F3, $05, $44, $05, $95, $05, $E6, $04, $37, $04, $88, $04, $D9 ; CPU:$D1E4 PRG:51E4 04 A2 04 F3 05 44 05 95 05 E6 04 37 04 88 04 D9 - .byte $05, $2A, $05, $7B, $05, $CC, $04, $1D, $04, $6C, $04, $BB, $05, $0A, $05, $59 ; CPU:$D1F4 PRG:51F4 05 2A 05 7B 05 CC 04 1D 04 6C 04 BB 05 0A 05 59 - .byte $05, $A8, $05, $F7, $04, $46, $04, $95, $04, $E4, $02, $C1, $03, $CE, $02, $00 ; CPU:$D204 PRG:5204 05 A8 05 F7 04 46 04 95 04 E4 02 C1 03 CE 02 00 - .byte $02, $41, $03, $4E, $03, $31, $03, $3E, $04, $01, $04, $54, $04, $A6, $04, $F7 ; CPU:$D214 PRG:5214 02 41 03 4E 03 31 03 3E 04 01 04 54 04 A6 04 F7 - .byte $05, $46, $05, $94, $05, $E1, $04, $0E, $04, $5B, $04, $A9, $04, $F8, $05, $49 ; CPU:$D224 PRG:5224 05 46 05 94 05 E1 04 0E 04 5B 04 A9 04 F8 05 49 - .byte $05, $9B, $05, $EE, $04, $01, $04, $54, $04, $A6, $04, $F7, $05, $46, $05, $94 ; CPU:$D234 PRG:5234 05 9B 05 EE 04 01 04 54 04 A6 04 F7 05 46 05 94 - .byte $05, $E1, $02, $00, $04, $0F, $04, $5B, $04, $A9, $04, $F8, $05, $49, $05, $9B ; CPU:$D244 PRG:5244 05 E1 02 00 04 0F 04 5B 04 A9 04 F8 05 49 05 9B - .byte $05, $EE, $04, $01, $04, $54, $04, $A6, $04, $F7, $05, $46, $05, $94, $05, $E1 ; CPU:$D254 PRG:5254 05 EE 04 01 04 54 04 A6 04 F7 05 46 05 94 05 E1 - .byte $04, $0E, $04, $5B, $04, $A9, $04, $F8, $05, $49, $05, $9B, $05, $EE, $02, $D1 ; CPU:$D264 PRG:5264 04 0E 04 5B 04 A9 04 F8 05 49 05 9B 05 EE 02 D1 - .byte $03, $DE, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $02, $31, $03, $3E ; CPU:$D274 PRG:5274 03 DE 02 C1 03 CE 02 00 02 41 03 4E 02 31 03 3E - .byte $0C, $01, $0C, $54, $0C, $A7, $0C, $FA, $0D, $48, $0D, $95, $0D, $E2, $0C, $0E ; CPU:$D284 PRG:5284 0C 01 0C 54 0C A7 0C FA 0D 48 0D 95 0D E2 0C 0E - .byte $0C, $5B, $0C, $A8, $0C, $F6, $0D, $47, $0D, $9A, $0D, $ED, $0C, $01, $0C, $54 ; CPU:$D294 PRG:5294 0C 5B 0C A8 0C F6 0D 47 0D 9A 0D ED 0C 01 0C 54 - .byte $0C, $A7, $0C, $F9, $0D, $48, $0D, $95, $0D, $E2, $02, $00, $0C, $0E, $0C, $5B ; CPU:$D2A4 PRG:52A4 0C A7 0C F9 0D 48 0D 95 0D E2 02 00 0C 0E 0C 5B - .byte $0C, $A8, $0C, $F5, $0D, $47, $0D, $9A, $0D, $ED, $0C, $01, $0C, $54, $0C, $A7 ; CPU:$D2B4 PRG:52B4 0C A8 0C F5 0D 47 0D 9A 0D ED 0C 01 0C 54 0C A7 - .byte $0C, $FA, $0D, $48, $0D, $95, $0D, $E2, $0C, $0E, $0C, $5B, $0C, $A8, $0C, $F6 ; CPU:$D2C4 PRG:52C4 0C FA 0D 48 0D 95 0D E2 0C 0E 0C 5B 0C A8 0C F6 - .byte $0D, $47, $0D, $9A, $0D, $ED, $02, $D1, $03, $DE, $02, $C1, $03, $CE, $02, $00 ; CPU:$D2D4 PRG:52D4 0D 47 0D 9A 0D ED 02 D1 03 DE 02 C1 03 CE 02 00 - .byte $02, $41, $03, $4E, $03, $18, $03, $4A, $03, $7C, $03, $AE, $03, $1E, $03, $4C ; CPU:$D2E4 PRG:52E4 02 41 03 4E 03 18 03 4A 03 7C 03 AE 03 1E 03 4C - .byte $03, $7A, $03, $A8, $02, $17, $02, $45, $02, $73, $02, $A1, $02, $11, $02, $43 ; CPU:$D2F4 PRG:52F4 03 7A 03 A8 02 17 02 45 02 73 02 A1 02 11 02 43 - .byte $02, $75, $02, $A7, $03, $18, $03, $4A, $03, $7C, $03, $AE, $03, $1E, $03, $4C ; CPU:$D304 PRG:5304 02 75 02 A7 03 18 03 4A 03 7C 03 AE 03 1E 03 4C - .byte $03, $7A, $03, $A8, $02, $17, $02, $45, $02, $73, $02, $A1, $02, $00, $02, $11 ; CPU:$D314 PRG:5314 03 7A 03 A8 02 17 02 45 02 73 02 A1 02 00 02 11 - .byte $02, $43, $02, $75, $02, $A7, $03, $18, $03, $4A, $03, $7C, $03, $AE, $03, $1E ; CPU:$D324 PRG:5324 02 43 02 75 02 A7 03 18 03 4A 03 7C 03 AE 03 1E - .byte $03, $4C, $03, $7A, $03, $A8, $02, $17, $02, $45, $02, $73, $02, $A1, $02, $11 ; CPU:$D334 PRG:5334 03 4C 03 7A 03 A8 02 17 02 45 02 73 02 A1 02 11 - .byte $02, $43, $02, $75, $02, $A7, $03, $18, $03, $4A, $03, $7C, $03, $AE, $03, $1E ; CPU:$D344 PRG:5344 02 43 02 75 02 A7 03 18 03 4A 03 7C 03 AE 03 1E - .byte $03, $4C, $03, $7A, $03, $A8, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E ; CPU:$D354 PRG:5354 03 4C 03 7A 03 A8 02 C1 03 CE 02 00 02 41 03 4E - .byte $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7 ; CPU:$D364 PRG:5364 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 A7 - .byte $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02, $A7 ; CPU:$D374 PRG:5374 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 A7 - .byte $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $11, $02, $23, $02, $55, $02, $97 ; CPU:$D384 PRG:5384 03 1E 03 2C 03 5A 03 98 02 11 02 23 02 55 02 97 - .byte $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $00, $02, $41, $03, $4E, $12, $14 ; CPU:$D394 PRG:5394 03 1E 03 2C 03 5A 03 98 02 00 02 41 03 4E 12 14 - .byte $12, $3B, $12, $C4, $12, $F9, $13, $1C, $13, $37, $13, $A1, $13, $F9, $12, $1D ; CPU:$D3A4 PRG:53A4 12 3B 12 C4 12 F9 13 1C 13 37 13 A1 13 F9 12 1D - .byte $12, $34, $12, $AA, $12, $F6, $13, $1A, $13, $33, $13, $AA, $12, $07, $12, $33 ; CPU:$D3B4 PRG:53B4 12 34 12 AA 12 F6 13 1A 13 33 13 AA 12 07 12 33 - .byte $12, $6C, $12, $A6, $13, $0E, $13, $31, $13, $62, $13, $A4, $12, $0C, $12, $37 ; CPU:$D3C4 PRG:53C4 12 6C 12 A6 13 0E 13 31 13 62 13 A4 12 0C 12 37 - .byte $12, $69, $12, $A4, $02, $00, $12, $1E, $12, $34, $12, $C1, $12, $CD, $13, $14 ; CPU:$D3D4 PRG:53D4 12 69 12 A4 02 00 12 1E 12 34 12 C1 12 CD 13 14 - .byte $13, $3B, $13, $C4, $13, $F9, $12, $1C, $12, $37, $12, $A1, $12, $F9, $13, $1D ; CPU:$D3E4 PRG:53E4 13 3B 13 C4 13 F9 12 1C 12 37 12 A1 12 F9 13 1D - .byte $13, $34, $13, $AA, $13, $F6, $12, $1A, $12, $33, $12, $AA, $13, $07, $13, $33 ; CPU:$D3F4 PRG:53F4 13 34 13 AA 13 F6 12 1A 12 33 12 AA 13 07 13 33 - .byte $13, $6C, $13, $A6, $12, $0E, $12, $31, $12, $A4, $12, $FA, $02, $C1, $03, $CE ; CPU:$D404 PRG:5404 13 6C 13 A6 12 0E 12 31 12 A4 12 FA 02 C1 03 CE - .byte $02, $00, $0C, $11, $0C, $5E, $0C, $92, $0C, $DD, $0D, $13, $0D, $5C, $0D, $94 ; CPU:$D414 PRG:5414 02 00 0C 11 0C 5E 0C 92 0C DD 0D 13 0D 5C 0D 94 - .byte $0D, $DB, $0C, $15, $0C, $5A, $0C, $96, $0C, $D9, $0D, $17, $0D, $58, $0D, $97 ; CPU:$D424 PRG:5424 0D DB 0C 15 0C 5A 0C 96 0C D9 0D 17 0D 58 0D 97 - .byte $0D, $D8, $0C, $16, $0C, $59, $0C, $95, $0C, $DA, $0D, $14, $0D, $5B, $0D, $93 ; CPU:$D434 PRG:5434 0D D8 0C 16 0C 59 0C 95 0C DA 0D 14 0D 5B 0D 93 - .byte $0D, $DC, $0C, $12, $0C, $5D, $0C, $91, $0C, $DE, $02, $C1, $03, $CE, $02, $00 ; CPU:$D444 PRG:5444 0D DC 0C 12 0C 5D 0C 91 0C DE 02 C1 03 CE 02 00 - .byte $02, $41, $03, $4E, $0C, $13, $0C, $5C, $0C, $94, $0C, $DB, $0D, $15, $0D, $5A ; CPU:$D454 PRG:5454 02 41 03 4E 0C 13 0C 5C 0C 94 0C DB 0D 15 0D 5A - .byte $0D, $96, $0D, $D9, $0C, $17, $0C, $58, $0C, $97, $0C, $D8, $0D, $16, $0D, $59 ; CPU:$D464 PRG:5464 0D 96 0D D9 0C 17 0C 58 0C 97 0C D8 0D 16 0D 59 - .byte $0D, $95, $0D, $DA, $0C, $14, $0C, $5B, $0C, $93, $0C, $DC, $0D, $12, $0D, $5D ; CPU:$D474 PRG:5474 0D 95 0D DA 0C 14 0C 5B 0C 93 0C DC 0D 12 0D 5D - .byte $0D, $91, $0D, $DE, $0C, $10, $0C, $5F, $0C, $90, $0C, $DF, $02, $00, $02, $41 ; CPU:$D484 PRG:5484 0D 91 0D DE 0C 10 0C 5F 0C 90 0C DF 02 00 02 41 - .byte $03, $4E, $10, $11, $10, $52, $10, $93, $10, $D4, $11, $15, $11, $56, $11, $97 ; CPU:$D494 PRG:5494 03 4E 10 11 10 52 10 93 10 D4 11 15 11 56 11 97 - .byte $11, $D8, $10, $19, $10, $5A, $10, $9B, $10, $DC, $11, $1D, $11, $5E, $11, $91 ; CPU:$D4A4 PRG:54A4 11 D8 10 19 10 5A 10 9B 10 DC 11 1D 11 5E 11 91 - .byte $11, $D3, $10, $15, $10, $57, $10, $99, $10, $EB, $11, $2D, $11, $6D, $11, $AE ; CPU:$D4B4 PRG:54B4 11 D3 10 15 10 57 10 99 10 EB 11 2D 11 6D 11 AE - .byte $11, $EE, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $10, $11, $10, $55 ; CPU:$D4C4 PRG:54C4 11 EE 02 C1 03 CE 02 00 02 41 03 4E 10 11 10 55 - .byte $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11, $D2, $10, $11, $10, $55 ; CPU:$D4D4 PRG:54D4 10 99 10 DD 11 1E 11 5A 11 96 11 D2 10 11 10 55 - .byte $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11, $D2, $10, $11, $10, $55 ; CPU:$D4E4 PRG:54E4 10 99 10 DD 11 1E 11 5A 11 96 11 D2 10 11 10 55 - .byte $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11, $D2, $02, $C1, $03, $CE ; CPU:$D4F4 PRG:54F4 10 99 10 DD 11 1E 11 5A 11 96 11 D2 02 C1 03 CE - .byte $02, $00, $02, $41, $03, $4E, $0C, $14, $10, $54, $0C, $9B, $10, $DB, $0D, $14 ; CPU:$D504 PRG:5504 02 00 02 41 03 4E 0C 14 10 54 0C 9B 10 DB 0D 14 - .byte $11, $55, $0D, $9B, $11, $DA, $0C, $14, $10, $56, $0C, $9B, $11, $DA, $0D, $14 ; CPU:$D514 PRG:5514 11 55 0D 9B 11 DA 0C 14 10 56 0C 9B 11 DA 0D 14 - .byte $11, $57, $0D, $9B, $11, $D8, $0C, $14, $10, $58, $0C, $9B, $10, $D7, $0D, $14 ; CPU:$D524 PRG:5524 11 57 0D 9B 11 D8 0C 14 10 58 0C 9B 10 D7 0D 14 - .byte $11, $59, $0D, $9B, $11, $D6, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E ; CPU:$D534 PRG:5534 11 59 0D 9B 11 D6 02 C1 03 CE 02 00 02 41 03 4E - .byte $04, $13, $10, $56, $04, $98, $10, $DB, $05, $13, $11, $57, $05, $98, $11, $DD ; CPU:$D544 PRG:5544 04 13 10 56 04 98 10 DB 05 13 11 57 05 98 11 DD - .byte $04, $1C, $10, $5E, $04, $9A, $10, $D3, $05, $11, $11, $5C, $05, $92, $11, $D4 ; CPU:$D554 PRG:5554 04 1C 10 5E 04 9A 10 D3 05 11 11 5C 05 92 11 D4 - .byte $04, $1E, $10, $5E, $04, $94, $10, $D8, $05, $19, $11, $55, $05, $95, $11, $DA ; CPU:$D564 PRG:5564 04 1E 10 5E 04 94 10 D8 05 19 11 55 05 95 11 DA - .byte $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $02, $34, $03, $3B, $04, $10 ; CPU:$D574 PRG:5574 02 C1 03 CE 02 00 02 41 03 4E 02 34 03 3B 04 10 - .byte $04, $52, $04, $94, $04, $D6, $05, $18, $05, $5A, $05, $9C, $05, $DE, $04, $11 ; CPU:$D584 PRG:5584 04 52 04 94 04 D6 05 18 05 5A 05 9C 05 DE 04 11 - .byte $04, $53, $04, $95, $04, $D7, $05, $19, $05, $5B, $05, $9D, $05, $DF, $04, $10 ; CPU:$D594 PRG:5594 04 53 04 95 04 D7 05 19 05 5B 05 9D 05 DF 04 10 - .byte $04, $52, $04, $94, $04, $D6, $05, $08, $05, $4A, $05, $8C, $05, $CE, $02, $00 ; CPU:$D5A4 PRG:55A4 04 52 04 94 04 D6 05 08 05 4A 05 8C 05 CE 02 00 - .byte $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12, $AC, $12, $C9, $12, $E6 ; CPU:$D5B4 PRG:55B4 13 81 13 A3 13 C6 13 E9 12 8E 12 AC 12 C9 12 E6 - .byte $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12, $AC, $12, $C9, $12, $E6 ; CPU:$D5C4 PRG:55C4 13 81 13 A3 13 C6 13 E9 12 8E 12 AC 12 C9 12 E6 - .byte $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12, $AC, $12, $C9, $12, $E6 ; CPU:$D5D4 PRG:55D4 13 81 13 A3 13 C6 13 E9 12 8E 12 AC 12 C9 12 E6 - .byte $13, $81, $13, $A3, $13, $C6, $13, $E9, $02, $C1, $03, $CE, $02, $00, $02, $41 ; CPU:$D5E4 PRG:55E4 13 81 13 A3 13 C6 13 E9 02 C1 03 CE 02 00 02 41 - .byte $03, $9E, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12, $81, $12, $A3, $12, $C6 ; CPU:$D5F4 PRG:55F4 03 9E 13 8E 13 AC 13 C9 13 E6 12 81 12 A3 12 C6 - .byte $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12, $81, $12, $A3, $12, $C6 ; CPU:$D604 PRG:5604 12 E9 13 8E 13 AC 13 C9 13 E6 12 81 12 A3 12 C6 - .byte $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12, $81, $12, $A3, $12, $C6 ; CPU:$D614 PRG:5614 12 E9 13 8E 13 AC 13 C9 13 E6 12 81 12 A3 12 C6 - .byte $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $02, $00, $12, $31, $12, $3E ; CPU:$D624 PRG:5624 12 E9 13 8E 13 AC 13 C9 13 E6 02 00 12 31 12 3E - .byte $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44, $03, $4B ; CPU:$D634 PRG:5634 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 03 4B - .byte $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44, $03, $4B ; CPU:$D644 PRG:5644 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 03 4B - .byte $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44, $03, $4B ; CPU:$D654 PRG:5654 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 03 4B - .byte $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $00, $02, $44 ; CPU:$D664 PRG:5664 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 00 02 44 - .byte $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44 ; CPU:$D674 PRG:5674 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 - .byte $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44 ; CPU:$D684 PRG:5684 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 - .byte $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03, $C8, $02, $44 ; CPU:$D694 PRG:5694 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 C8 02 44 - .byte $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $12, $C1, $12, $CE, $02, $00 ; CPU:$D6A4 PRG:56A4 03 4B 02 C7 03 CE 02 44 03 4B 12 C1 12 CE 02 00 - .byte $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0, $03, $C5 ; CPU:$D6B4 PRG:56B4 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 03 C5 - .byte $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0, $03, $C5 ; CPU:$D6C4 PRG:56C4 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 03 C5 - .byte $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0, $03, $C5 ; CPU:$D6D4 PRG:56D4 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 03 C5 - .byte $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $12, $C1, $12, $CE ; CPU:$D6E4 PRG:56E4 02 45 03 4A 02 CA 03 CF 02 45 03 4A 12 C1 12 CE - .byte $02, $00, $12, $41, $12, $4E, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0 ; CPU:$D6F4 PRG:56F4 02 00 12 41 12 4E 02 CA 03 CF 02 45 03 4A 02 C0 - .byte $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0 ; CPU:$D704 PRG:5704 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 - .byte $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0 ; CPU:$D714 PRG:5714 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 - .byte $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03, $4A, $02, $C0 ; CPU:$D724 PRG:5724 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 4A 02 C0 - .byte $03, $C5, $02, $00, $02, $31, $03, $3E, $02, $11, $03, $18, $02, $91, $03, $96 ; CPU:$D734 PRG:5734 03 C5 02 00 02 31 03 3E 02 11 03 18 02 91 03 96 - .byte $02, $11, $03, $16, $02, $95, $03, $9A, $02, $14, $03, $19, $02, $99, $03, $9E ; CPU:$D744 PRG:5744 02 11 03 16 02 95 03 9A 02 14 03 19 02 99 03 9E - .byte $02, $14, $03, $19, $02, $9A, $03, $9F, $02, $10, $03, $15, $02, $9A, $03, $9F ; CPU:$D754 PRG:5754 02 14 03 19 02 9A 03 9F 02 10 03 15 02 9A 03 9F - .byte $02, $10, $03, $15, $02, $9A, $03, $9F, $02, $10, $03, $15, $02, $C1, $03, $CE ; CPU:$D764 PRG:5764 02 10 03 15 02 9A 03 9F 02 10 03 15 02 C1 03 CE - .byte $02, $00, $12, $41, $12, $4E, $04, $C2, $05, $07, $02, $4A, $03, $4F, $04, $FE ; CPU:$D774 PRG:5774 02 00 12 41 12 4E 04 C2 05 07 02 4A 03 4F 04 FE - .byte $05, $4C, $04, $88, $02, $C0, $03, $C5, $04, $71, $05, $C3, $04, $07, $02, $4A ; CPU:$D784 PRG:5784 05 4C 04 88 02 C0 03 C5 04 71 05 C3 04 07 02 4A - .byte $03, $4F, $05, $FE, $05, $4C, $04, $88, $02, $C0, $03, $C5, $04, $71, $05, $C3 ; CPU:$D794 PRG:5794 03 4F 05 FE 05 4C 04 88 02 C0 03 C5 04 71 05 C3 - .byte $04, $07, $02, $4A, $03, $4F, $05, $FE, $02, $00, $05, $4C, $04, $88, $02, $C0 ; CPU:$D7A4 PRG:57A4 04 07 02 4A 03 4F 05 FE 02 00 05 4C 04 88 02 C0 - .byte $03, $C5, $04, $71, $05, $C3, $04, $07, $02, $4A, $03, $4F, $05, $FE, $05, $4C ; CPU:$D7B4 PRG:57B4 03 C5 04 71 05 C3 04 07 02 4A 03 4F 05 FE 05 4C - .byte $04, $88, $02, $C0, $03, $C5, $04, $71, $05, $C3, $04, $07, $02, $4A, $03, $4F ; CPU:$D7C4 PRG:57C4 04 88 02 C0 03 C5 04 71 05 C3 04 07 02 4A 03 4F - .byte $05, $FE, $05, $4C, $04, $88, $02, $C0, $03, $C5, $12, $C1, $12, $CE, $02, $00 ; CPU:$D7D4 PRG:57D4 05 FE 05 4C 04 88 02 C0 03 C5 12 C1 12 CE 02 00 - .byte $12, $41, $12, $4E, $04, $CB, $04, $4C, $02, $A2, $03, $AA, $04, $43, $04, $55 ; CPU:$D7E4 PRG:57E4 12 41 12 4E 04 CB 04 4C 02 A2 03 AA 04 43 04 55 - .byte $04, $A6, $02, $45, $03, $4D, $04, $54, $04, $39, $04, $40, $04, $60, $04, $91 ; CPU:$D7F4 PRG:57F4 04 A6 02 45 03 4D 04 54 04 39 04 40 04 60 04 91 - .byte $04, $39, $02, $60, $03, $68, $04, $3A, $04, $7C, $04, $8B, $02, $37, $03, $3E ; CPU:$D804 PRG:5804 04 39 02 60 03 68 04 3A 04 7C 04 8B 02 37 03 3E - .byte $12, $C1, $12, $CE, $02, $00, $4A, $D8, $1A, $D9, $75, $DA, $20, $DC, $D1, $DC ; CPU:$D814 PRG:5814 12 C1 12 CE 02 00 4A D8 1A D9 75 DA 20 DC D1 DC - .byte $A2, $DD, $A4, $D9, $76, $DB, $7D, $D8, $3E, $DA, $F7, $D9, $5B, $DC, $14, $DD ; CPU:$D824 PRG:5824 A2 DD A4 D9 76 DB 7D D8 3E DA F7 D9 5B DC 14 DD - .byte $D5, $DB, $30, $DE, $17, $DB, $B0, $D8, $E3, $D8, $59, $D9, $96, $DC, $5B, $DD ; CPU:$D834 PRG:5834 D5 DB 30 DE 17 DB B0 D8 E3 D8 59 D9 96 DC 5B DD - .byte $E9, $DD, $83, $DE, $B8, $DA, $8F, $90, $00, $01, $00, $00, $00, $0A, $00, $F8 ; CPU:$D844 PRG:5844 E9 DD 83 DE B8 DA 8F 90 00 01 00 00 00 0A 00 F8 - .byte $00, $0A, $00, $F8, $FE, $08, $00, $F8, $FC, $04, $40, $FA, $F9, $05, $40, $FC ; CPU:$D854 PRG:5854 00 0A 00 F8 FE 08 00 F8 FC 04 40 FA F9 05 40 FC - .byte $FA, $04, $00, $FF, $F9, $05, $00, $04, $FB, $08, $40, $06, $FC, $03, $00, $06 ; CPU:$D864 PRG:5864 FA 04 00 FF F9 05 00 04 FB 08 40 06 FC 03 00 06 - .byte $F8, $04, $00, $03, $FB, $00, $00, $01, $80, $D1, $9B, $00, $01, $00, $00, $FA ; CPU:$D874 PRG:5874 F8 04 00 03 FB 00 00 01 80 D1 9B 00 01 00 00 FA - .byte $0B, $00, $FB, $F8, $04, $40, $FC, $F9, $04, $40, $FC, $FB, $08, $00, $FC, $FC ; CPU:$D884 PRG:5884 0B 00 FB F8 04 40 FC F9 04 40 FC FB 08 00 FC FC - .byte $08, $00, $F8, $FE, $09, $00, $F8, $FC, $0B, $00, $F8, $F8, $06, $40, $00, $F8 ; CPU:$D894 PRG:5894 08 00 F8 FE 09 00 F8 FC 0B 00 F8 F8 06 40 00 F8 - .byte $04, $40, $FD, $F8, $04, $40, $FC, $FA, $00, $00, $FF, $80, $A4, $80, $00, $01 ; CPU:$D8A4 PRG:58A4 04 40 FD F8 04 40 FC FA 00 00 FF 80 A4 80 00 01 - .byte $00, $00, $F9, $05, $40, $F9, $FB, $08, $00, $FA, $FC, $08, $00, $F8, $FE, $09 ; CPU:$D8B4 PRG:58B4 00 00 F9 05 40 F9 FB 08 00 FA FC 08 00 F8 FE 09 - .byte $00, $F8, $FE, $09, $00, $F8, $FE, $09, $00, $F8, $FC, $0B, $00, $F8, $F8, $0B ; CPU:$D8C4 PRG:58C4 00 F8 FE 09 00 F8 FE 09 00 F8 FC 0B 00 F8 F8 0B - .byte $80, $00, $FC, $0B, $40, $08, $F8, $04, $00, $05, $FA, $00, $00, $02, $80, $D7 ; CPU:$D8D4 PRG:58D4 80 00 FC 0B 40 08 F8 04 00 05 FA 00 00 02 80 D7 - .byte $80, $00, $01, $01, $00, $FE, $08, $01, $F8, $FC, $08, $01, $F8, $FC, $0B, $01 ; CPU:$D8E4 PRG:58E4 80 00 01 01 00 FE 08 01 F8 FC 08 01 F8 FC 0B 01 - .byte $F8, $F8, $04, $41, $FB, $F8, $03, $41, $FD, $F8, $04, $41, $FD, $F8, $04, $41 ; CPU:$D8F4 PRG:58F4 F8 F8 04 41 FB F8 03 41 FD F8 04 41 FD F8 04 41 - .byte $FC, $FB, $08, $01, $FC, $FC, $08, $01, $F8, $FC, $05, $41, $FA, $FA, $04, $41 ; CPU:$D904 PRG:5904 FC FB 08 01 FC FC 08 01 F8 FC 05 41 FA FA 04 41 - .byte $FB, $FA, $00, $01, $FF, $80, $BD, $97, $00, $01, $01, $00, $00, $09, $01, $F8 ; CPU:$D914 PRG:5914 FB FA 00 01 FF 80 BD 97 00 01 01 00 00 09 01 F8 - .byte $FC, $08, $01, $F8, $FC, $04, $41, $FA, $F8, $04, $41, $FC, $FA, $08, $01, $FC ; CPU:$D924 PRG:5924 FC 08 01 F8 FC 04 41 FA F8 04 41 FC FA 08 01 FC - .byte $FC, $04, $41, $FA, $FA, $08, $01, $FC, $FC, $04, $41, $FA, $F8, $03, $41, $FD ; CPU:$D934 PRG:5934 FC 04 41 FA FA 08 01 FC FC 04 41 FA F8 03 41 FD - .byte $F8, $02, $01, $FF, $F8, $02, $01, $FF, $F8, $03, $41, $FE, $F8, $04, $41, $FD ; CPU:$D944 PRG:5944 F8 02 01 FF F8 02 01 FF F8 03 41 FE F8 04 41 FD - .byte $FA, $00, $01, $FF, $80, $1B, $93, $00, $01, $01, $00, $FA, $05, $01, $07, $FA ; CPU:$D954 PRG:5954 FA 00 01 FF 80 1B 93 00 01 01 00 FA 05 01 07 FA - .byte $04, $01, $05, $FA, $08, $41, $04, $FC, $08, $41, $08, $FC, $08, $41, $08, $FC ; CPU:$D964 PRG:5964 04 01 05 FA 08 41 04 FC 08 41 08 FC 08 41 08 FC - .byte $0B, $41, $08, $F8, $0B, $81, $03, $FB, $08, $41, $08, $FC, $0B, $41, $08, $F8 ; CPU:$D974 PRG:5974 0B 41 08 F8 0B 81 03 FB 08 41 08 FC 0B 41 08 F8 - .byte $07, $01, $03, $F8, $06, $01, $00, $F8, $0B, $81, $03, $FB, $05, $01, $07, $FA ; CPU:$D984 PRG:5984 07 01 03 F8 06 01 00 F8 0B 81 03 FB 05 01 07 FA - .byte $05, $01, $06, $FA, $05, $01, $06, $FA, $04, $01, $05, $FA, $00, $01, $02, $80 ; CPU:$D994 PRG:5994 05 01 06 FA 05 01 06 FA 04 01 05 FA 00 01 02 80 - .byte $2C, $95, $00, $01, $03, $00, $FE, $08, $43, $08, $FC, $08, $43, $08, $FC, $05 ; CPU:$D9A4 PRG:59A4 2C 95 00 01 03 00 FE 08 43 08 FC 08 43 08 FC 05 - .byte $03, $06, $FA, $05, $03, $06, $FA, $04, $03, $05, $F8, $0B, $83, $04, $FB, $0B ; CPU:$D9B4 PRG:59B4 03 06 FA 05 03 06 FA 04 03 05 F8 0B 83 04 FB 0B - .byte $43, $08, $F8, $07, $03, $05, $F8, $06, $03, $00, $F8, $04, $03, $04, $FA, $05 ; CPU:$D9C4 PRG:59C4 43 08 F8 07 03 05 F8 06 03 00 F8 04 03 04 FA 05 - .byte $03, $04, $FA, $04, $03, $05, $F8, $03, $43, $01, $F8, $04, $43, $FD, $FA, $05 ; CPU:$D9D4 PRG:59D4 03 04 FA 04 03 05 F8 03 43 01 F8 04 43 FD FA 05 - .byte $03, $02, $FA, $04, $03, $05, $F8, $04, $03, $04, $F8, $03, $03, $03, $FA, $00 ; CPU:$D9E4 PRG:59E4 03 02 FA 04 03 05 F8 04 03 04 F8 03 03 03 FA 00 - .byte $03, $01, $80, $8D, $94, $00, $01, $01, $00, $01, $09, $41, $F8, $01, $09, $01 ; CPU:$D9F4 PRG:59F4 03 01 80 8D 94 00 01 01 00 01 09 41 F8 01 09 01 - .byte $F8, $FE, $09, $01, $F8, $FE, $09, $01, $F8, $FC, $0B, $01, $F8, $F8, $0B, $C1 ; CPU:$DA04 PRG:5A04 F8 FE 09 01 F8 FE 09 01 F8 FC 0B 01 F8 F8 0B C1 - .byte $FB, $FD, $0B, $01, $F8, $F8, $04, $41, $FB, $F8, $03, $41, $FD, $F8, $02, $01 ; CPU:$DA14 PRG:5A14 FB FD 0B 01 F8 F8 04 41 FB F8 03 41 FD F8 02 01 - .byte $FF, $F8, $03, $01, $02, $F8, $04, $01, $03, $F8, $04, $01, $04, $FA, $05, $01 ; CPU:$DA24 PRG:5A24 FF F8 03 01 02 F8 04 01 03 F8 04 01 04 FA 05 01 - .byte $04, $FA, $04, $01, $05, $FA, $00, $01, $01, $80, $C1, $85, $00, $01, $01, $00 ; CPU:$DA34 PRG:5A34 04 FA 04 01 05 FA 00 01 01 80 C1 85 00 01 01 00 - .byte $00, $09, $01, $F8, $FE, $09, $01, $F8, $FE, $09, $01, $F8, $FE, $09, $01, $F8 ; CPU:$DA44 PRG:5A44 00 09 01 F8 FE 09 01 F8 FE 09 01 F8 FE 09 01 F8 - .byte $FC, $0B, $01, $F8, $F8, $0B, $C1, $FB, $FD, $09, $01, $F8, $FE, $09, $01, $F8 ; CPU:$DA54 PRG:5A54 FC 0B 01 F8 F8 0B C1 FB FD 09 01 F8 FE 09 01 F8 - .byte $FE, $09, $01, $F8, $FC, $0B, $01, $F8, $F8, $02, $01, $FD, $FA, $00, $01, $FF ; CPU:$DA64 PRG:5A64 FE 09 01 F8 FC 0B 01 F8 F8 02 01 FD FA 00 01 FF - .byte $80, $55, $92, $00, $01, $01, $00, $F8, $04, $01, $02, $F8, $04, $01, $04, $FA ; CPU:$DA74 PRG:5A74 80 55 92 00 01 01 00 F8 04 01 02 F8 04 01 04 FA - .byte $05, $01, $04, $FA, $05, $01, $06, $F9, $02, $01, $03, $F8, $03, $01, $02, $F8 ; CPU:$DA84 PRG:5A84 05 01 04 FA 05 01 06 F9 02 01 03 F8 03 01 02 F8 - .byte $03, $01, $02, $F8, $04, $41, $FF, $F9, $05, $01, $02, $FA, $05, $01, $06, $FA ; CPU:$DA94 PRG:5A94 03 01 02 F8 04 41 FF F9 05 01 02 FA 05 01 06 FA - .byte $04, $01, $05, $F8, $04, $01, $04, $F8, $03, $41, $01, $F8, $02, $01, $FF, $FA ; CPU:$DAA4 PRG:5AA4 04 01 05 F8 04 01 04 F8 03 41 01 F8 02 01 FF FA - .byte $00, $01, $00, $80, $E6, $95, $00, $01, $03, $00, $FE, $08, $03, $F8, $FC, $04 ; CPU:$DAB4 PRG:5AB4 00 01 00 80 E6 95 00 01 03 00 FE 08 03 F8 FC 04 - .byte $43, $F9, $F8, $04, $43, $FC, $F8, $0B, $C3, $FC, $FD, $0B, $03, $F8, $F8, $0B ; CPU:$DAC4 PRG:5AC4 43 F9 F8 04 43 FC F8 0B C3 FC FD 0B 03 F8 F8 0B - .byte $C3, $FD, $FD, $09, $03, $F8, $FE, $0B, $03, $F8, $F8, $07, $43, $FD, $F8, $06 ; CPU:$DAD4 PRG:5AD4 C3 FD FD 09 03 F8 FE 0B 03 F8 F8 07 43 FD F8 06 - .byte $43, $00, $F8, $07, $83, $FD, $F8, $0B, $C3, $FB, $FD, $09, $03, $F8, $FD, $0B ; CPU:$DAE4 PRG:5AE4 43 00 F8 07 83 FD F8 0B C3 FB FD 09 03 F8 FD 0B - .byte $03, $F8, $F8, $07, $43, $FD, $F8, $04, $43, $FD, $F8, $04, $43, $FC, $FA, $08 ; CPU:$DAF4 PRG:5AF4 03 F8 F8 07 43 FD F8 04 43 FD F8 04 43 FC FA 08 - .byte $03, $FC, $FC, $04, $43, $FA, $F8, $03, $43, $FD, $F8, $04, $43, $FD, $FA, $00 ; CPU:$DB04 PRG:5B04 03 FC FC 04 43 FA F8 03 43 FD F8 04 43 FD FA 00 - .byte $03, $FF, $80, $16, $98, $00, $01, $03, $00, $FD, $08, $43, $08, $FC, $05, $03 ; CPU:$DB14 PRG:5B14 03 FF 80 16 98 00 01 03 00 FD 08 43 08 FC 05 03 - .byte $06, $FA, $05, $03, $06, $FA, $07, $03, $05, $F8, $06, $03, $00, $FA, $07, $03 ; CPU:$DB24 PRG:5B24 06 FA 05 03 06 FA 07 03 05 F8 06 03 00 FA 07 03 - .byte $04, $F8, $06, $03, $00, $FA, $05, $03, $05, $FA, $05, $03, $06, $FA, $05, $03 ; CPU:$DB34 PRG:5B34 04 F8 06 03 00 FA 05 03 05 FA 05 03 06 FA 05 03 - .byte $06, $FA, $04, $03, $05, $FA, $05, $03, $04, $FA, $0B, $83, $05, $FB, $07, $03 ; CPU:$DB44 PRG:5B44 06 FA 04 03 05 FA 05 03 04 FA 0B 83 05 FB 07 03 - .byte $07, $F8, $06, $03, $00, $F8, $04, $03, $05, $FA, $05, $03, $04, $FA, $05, $03 ; CPU:$DB54 PRG:5B54 07 F8 06 03 00 F8 04 03 05 FA 05 03 04 FA 05 03 - .byte $06, $FA, $05, $03, $06, $FA, $04, $03, $05, $FA, $05, $03, $04, $FA, $00, $03 ; CPU:$DB64 PRG:5B64 06 FA 05 03 06 FA 04 03 05 FA 05 03 04 FA 00 03 - .byte $04, $80, $D9, $8F, $00, $01, $03, $00, $FE, $08, $03, $F8, $FF, $09, $43, $F8 ; CPU:$DB74 PRG:5B74 04 80 D9 8F 00 01 03 00 FE 08 03 F8 FF 09 43 F8 - .byte $02, $08, $43, $F8, $04, $09, $43, $F8, $02, $09, $43, $F8, $00, $09, $03, $F8 ; CPU:$DB84 PRG:5B84 02 08 43 F8 04 09 43 F8 02 09 43 F8 00 09 03 F8 - .byte $FC, $08, $03, $F8, $FC, $07, $43, $FB, $F8, $06, $43, $00, $F8, $07, $03, $FF ; CPU:$DB94 PRG:5B94 FC 08 03 F8 FC 07 43 FB F8 06 43 00 F8 07 03 FF - .byte $F8, $06, $03, $00, $F8, $0B, $C3, $01, $FD, $0B, $03, $F8, $F8, $07, $43, $FB ; CPU:$DBA4 PRG:5BA4 F8 06 03 00 F8 0B C3 01 FD 0B 03 F8 F8 07 43 FB - .byte $F8, $06, $43, $00, $F8, $07, $43, $FB, $F8, $06, $43, $00, $F8, $07, $43, $FB ; CPU:$DBB4 PRG:5BB4 F8 06 43 00 F8 07 43 FB F8 06 43 00 F8 07 43 FB - .byte $F8, $06, $43, $00, $F8, $04, $43, $FB, $F8, $03, $43, $FD, $FA, $00, $03, $FF ; CPU:$DBC4 PRG:5BC4 F8 06 43 00 F8 04 43 FB F8 03 43 FD FA 00 03 FF - .byte $80, $50, $98, $00, $01, $03, $00, $00, $09, $43, $08, $FC, $08, $43, $08, $FC ; CPU:$DBD4 PRG:5BD4 80 50 98 00 01 03 00 00 09 43 08 FC 08 43 08 FC - .byte $08, $43, $08, $FC, $08, $43, $08, $FC, $08, $43, $08, $FC, $08, $43, $08, $FC ; CPU:$DBE4 PRG:5BE4 08 43 08 FC 08 43 08 FC 08 43 08 FC 08 43 08 FC - .byte $05, $03, $06, $FA, $04, $03, $05, $F8, $03, $03, $03, $F8, $03, $43, $FF, $F8 ; CPU:$DBF4 PRG:5BF4 05 03 06 FA 04 03 05 F8 03 03 03 F8 03 43 FF F8 - .byte $04, $43, $FD, $FA, $05, $43, $FC, $FA, $04, $43, $FB, $F8, $03, $43, $FD, $F8 ; CPU:$DC04 PRG:5C04 04 43 FD FA 05 43 FC FA 04 43 FB F8 03 43 FD F8 - .byte $03, $43, $FF, $F8, $03, $03, $02, $FA, $00, $03, $01, $80, $A0, $78, $00, $01 ; CPU:$DC14 PRG:5C14 03 43 FF F8 03 03 02 FA 00 03 01 80 A0 78 00 01 - .byte $02, $00, $F8, $06, $C2, $02, $F8, $07, $C2, $00, $F8, $0B, $C2, $00, $FE, $0A ; CPU:$DC24 PRG:5C24 02 00 F8 06 C2 02 F8 07 C2 00 F8 0B C2 00 FE 0A - .byte $02, $F8, $FF, $09, $02, $F8, $FE, $09, $02, $F8, $FC, $08, $02, $F8, $FC, $05 ; CPU:$DC34 PRG:5C34 02 F8 FF 09 02 F8 FE 09 02 F8 FC 08 02 F8 FC 05 - .byte $42, $FA, $FA, $07, $42, $FB, $F8, $06, $42, $00, $F8, $07, $02, $00, $F8, $06 ; CPU:$DC44 PRG:5C44 42 FA FA 07 42 FB F8 06 42 00 F8 07 02 00 F8 06 - .byte $02, $00, $FA, $00, $02, $02, $80, $38, $88, $00, $01, $02, $00, $F8, $0B, $82 ; CPU:$DC54 PRG:5C54 02 00 FA 00 02 02 80 38 88 00 01 02 00 F8 0B 82 - .byte $03, $FD, $09, $42, $08, $FE, $09, $42, $08, $FE, $09, $42, $08, $FC, $0B, $42 ; CPU:$DC64 PRG:5C64 03 FD 09 42 08 FE 09 42 08 FE 09 42 08 FC 0B 42 - .byte $08, $F8, $0B, $C2, $00, $FC, $0B, $02, $F8, $F8, $0B, $82, $00, $FC, $0B, $42 ; CPU:$DC74 PRG:5C74 08 F8 0B C2 00 FC 0B 02 F8 F8 0B 82 00 FC 0B 42 - .byte $08, $F8, $07, $02, $04, $F8, $06, $02, $00, $FB, $0B, $42, $05, $FA, $00, $02 ; CPU:$DC84 PRG:5C84 08 F8 07 02 04 F8 06 02 00 FB 0B 42 05 FA 00 02 - .byte $02, $80, $7A, $78, $00, $01, $02, $00, $00, $0A, $02, $F8, $02, $09, $42, $F8 ; CPU:$DC94 PRG:5C94 02 80 7A 78 00 01 02 00 00 0A 02 F8 02 09 42 F8 - .byte $01, $0A, $02, $F8, $FF, $09, $02, $F8, $FC, $05, $42, $FA, $FA, $04, $42, $FB ; CPU:$DCA4 PRG:5CA4 01 0A 02 F8 FF 09 02 F8 FC 05 42 FA FA 04 42 FB - .byte $FA, $02, $02, $FF, $FA, $04, $02, $02, $FA, $05, $02, $04, $FB, $08, $42, $06 ; CPU:$DCB4 PRG:5CB4 FA 02 02 FF FA 04 02 02 FA 05 02 04 FB 08 42 06 - .byte $FC, $05, $02, $06, $FA, $04, $02, $05, $FA, $00, $02, $01, $80, $58, $88, $00 ; CPU:$DCC4 PRG:5CC4 FC 05 02 06 FA 04 02 05 FA 00 02 01 80 58 88 00 - .byte $01, $02, $00, $F8, $02, $02, $00, $F8, $03, $02, $02, $F8, $03, $02, $02, $F8 ; CPU:$DCD4 PRG:5CD4 01 02 00 F8 02 02 00 F8 03 02 02 F8 03 02 02 F8 - .byte $03, $02, $02, $F8, $04, $02, $03, $FA, $05, $02, $04, $FA, $04, $02, $05, $F8 ; CPU:$DCE4 PRG:5CE4 03 02 02 F8 04 02 03 FA 05 02 04 FA 04 02 05 F8 - .byte $02, $02, $01, $F8, $03, $02, $02, $F8, $04, $02, $03, $FA, $05, $02, $04, $FA ; CPU:$DCF4 PRG:5CF4 02 02 01 F8 03 02 02 F8 04 02 03 FA 05 02 04 FA - .byte $03, $02, $04, $F8, $04, $02, $03, $F8, $03, $02, $02, $FA, $00, $02, $00, $80 ; CPU:$DD04 PRG:5D04 03 02 04 F8 04 02 03 F8 03 02 02 FA 00 02 00 80 - .byte $80, $80, $00, $01, $02, $00, $FF, $0A, $42, $08, $FF, $09, $42, $08, $FC, $08 ; CPU:$DD14 PRG:5D14 80 80 00 01 02 00 FF 0A 42 08 FF 09 42 08 FC 08 - .byte $42, $08, $FC, $05, $02, $06, $FA, $04, $02, $05, $F8, $03, $02, $03, $F8, $02 ; CPU:$DD24 PRG:5D24 42 08 FC 05 02 06 FA 04 02 05 F8 03 02 03 F8 02 - .byte $02, $01, $F8, $03, $42, $FE, $F8, $04, $42, $FD, $FA, $05, $42, $FC, $FB, $08 ; CPU:$DD34 PRG:5D34 02 01 F8 03 42 FE F8 04 42 FD FA 05 42 FC FB 08 - .byte $02, $FA, $FE, $09, $02, $F8, $FC, $08, $02, $F8, $FD, $0B, $02, $F8, $F8, $06 ; CPU:$DD44 PRG:5D44 02 FA FE 09 02 F8 FC 08 02 F8 FD 0B 02 F8 F8 06 - .byte $02, $FD, $FA, $00, $02, $02, $80, $40, $80, $00, $01, $02, $00, $FD, $0B, $02 ; CPU:$DD54 PRG:5D54 02 FD FA 00 02 02 80 40 80 00 01 02 00 FD 0B 02 - .byte $F8, $F8, $07, $02, $00, $F8, $06, $02, $00, $FD, $09, $42, $05, $FE, $09, $42 ; CPU:$DD64 PRG:5D64 F8 F8 07 02 00 F8 06 02 00 FD 09 42 05 FE 09 42 - .byte $08, $FC, $0B, $42, $08, $F8, $04, $42, $FF, $F8, $03, $02, $FF, $FA, $05, $02 ; CPU:$DD74 PRG:5D74 08 FC 0B 42 08 F8 04 42 FF F8 03 02 FF FA 05 02 - .byte $03, $FB, $08, $42, $06, $FE, $09, $42, $08, $FC, $0B, $42, $08, $F8, $03, $02 ; CPU:$DD84 PRG:5D84 03 FB 08 42 06 FE 09 42 08 FC 0B 42 08 F8 03 02 - .byte $03, $F8, $07, $02, $02, $F8, $06, $02, $00, $FA, $00, $02, $02, $80, $80, $80 ; CPU:$DD94 PRG:5D94 03 F8 07 02 02 F8 06 02 00 FA 00 02 02 80 80 80 - .byte $00, $01, $03, $00, $00, $09, $C3, $F8, $FC, $0B, $03, $F8, $F8, $07, $03, $00 ; CPU:$DDA4 PRG:5DA4 00 01 03 00 00 09 C3 F8 FC 0B 03 F8 F8 07 03 00 - .byte $F8, $06, $03, $00, $F8, $0B, $83, $04, $FE, $09, $43, $08, $FD, $0B, $43, $08 ; CPU:$DDB4 PRG:5DB4 F8 06 03 00 F8 0B 83 04 FE 09 43 08 FD 0B 43 08 - .byte $F8, $0B, $C3, $00, $FB, $08, $03, $F8, $FC, $05, $43, $FA, $FA, $06, $03, $FD ; CPU:$DDC4 PRG:5DC4 F8 0B C3 00 FB 08 03 F8 FC 05 43 FA FA 06 03 FD - .byte $FA, $05, $03, $05, $F9, $05, $03, $06, $FB, $07, $03, $05, $FA, $04, $43, $00 ; CPU:$DDD4 PRG:5DD4 FA 05 03 05 F9 05 03 06 FB 07 03 05 FA 04 43 00 - .byte $FA, $00, $03, $FF, $80, $C0, $80, $00, $01, $03, $00, $FD, $08, $03, $F8, $FE ; CPU:$DDE4 PRG:5DE4 FA 00 03 FF 80 C0 80 00 01 03 00 FD 08 03 F8 FE - .byte $09, $03, $F8, $FE, $09, $03, $F8, $FE, $09, $03, $F8, $FC, $0B, $03, $F8, $FA ; CPU:$DDF4 PRG:5DF4 09 03 F8 FE 09 03 F8 FE 09 03 F8 FC 0B 03 F8 FA - .byte $05, $03, $01, $FA, $07, $03, $05, $F8, $06, $03, $00, $F8, $0B, $83, $04, $FB ; CPU:$DE04 PRG:5E04 05 03 01 FA 07 03 05 F8 06 03 00 F8 0B 83 04 FB - .byte $0B, $43, $08, $F8, $0B, $C3, $00, $FE, $09, $03, $FA, $FC, $08, $03, $F8, $FC ; CPU:$DE14 PRG:5E14 0B 43 08 F8 0B C3 00 FE 09 03 FA FC 08 03 F8 FC - .byte $08, $03, $F8, $FC, $0B, $03, $F8, $FA, $00, $03, $FE, $80, $80, $80, $00, $01 ; CPU:$DE24 PRG:5E24 08 03 F8 FC 0B 03 F8 FA 00 03 FE 80 80 80 00 01 - .byte $03, $00, $F9, $03, $03, $01, $F8, $0B, $83, $02, $FD, $0A, $03, $08, $02, $09 ; CPU:$DE34 PRG:5E34 03 00 F9 03 03 01 F8 0B 83 02 FD 0A 03 08 02 09 - .byte $03, $08, $02, $09, $03, $08, $01, $0A, $03, $08, $FE, $0B, $43, $08, $F8, $07 ; CPU:$DE44 PRG:5E44 03 08 02 09 03 08 01 0A 03 08 FE 0B 43 08 F8 07 - .byte $43, $FF, $F8, $06, $43, $00, $FB, $08, $03, $FB, $FC, $08, $03, $F8, $FC, $0B ; CPU:$DE54 PRG:5E54 43 FF F8 06 43 00 FB 08 03 FB FC 08 03 F8 FC 0B - .byte $03, $F8, $F8, $0B, $C3, $FC, $FD, $0A, $03, $F8, $FF, $09, $03, $F8, $FC, $0B ; CPU:$DE64 PRG:5E64 03 F8 F8 0B C3 FC FD 0A 03 F8 FF 09 03 F8 FC 0B - .byte $03, $F8, $F8, $07, $03, $00, $F8, $06, $03, $00, $FA, $00, $03, $03, $80, $44 ; CPU:$DE74 PRG:5E74 03 F8 F8 07 03 00 F8 06 03 00 FA 00 03 03 80 44 - .byte $80, $00, $01, $03, $00, $FE, $0B, $43, $08, $F8, $0B, $C3, $00, $FD, $09, $03 ; CPU:$DE84 PRG:5E84 80 00 01 03 00 FE 0B 43 08 F8 0B C3 00 FD 09 03 - .byte $F8, $FC, $0B, $03, $F8, $F8, $0B, $83, $01, $FB, $0B, $43, $08, $F8, $0B, $83 ; CPU:$DE94 PRG:5E94 F8 FC 0B 03 F8 F8 0B 83 01 FB 0B 43 08 F8 0B 83 - .byte $05, $FD, $09, $43, $08, $FE, $09, $43, $08, $FE, $09, $43, $08, $FC, $0B, $43 ; CPU:$DEA4 PRG:5EA4 05 FD 09 43 08 FE 09 43 08 FE 09 43 08 FC 0B 43 - .byte $08, $F8, $0B, $C3, $00, $FC, $0B, $03, $F8, $F8, $0B, $83, $00, $FC, $0B, $43 ; CPU:$DEB4 PRG:5EB4 08 F8 0B C3 00 FC 0B 03 F8 F8 0B 83 00 FC 0B 43 - .byte $08, $F8, $07, $03, $04, $F8, $06, $03, $00, $FB, $0B, $43, $05, $FA, $00, $03 ; CPU:$DEC4 PRG:5EC4 08 F8 07 03 04 F8 06 03 00 FB 0B 43 05 FA 00 03 - .byte $03, $80, $06, $DF, $76, $DF, $32, $E0, $DE, $E0, $7E, $E1, $4A, $E2, $C2, $E2 ; CPU:$DED4 PRG:5ED4 03 80 06 DF 76 DF 32 E0 DE E0 7E E1 4A E2 C2 E2 - .byte $3A, $E3, $26, $DF, $A2, $DF, $6A, $E0, $16, $E1, $C2, $E1, $4A, $E2, $C2, $E2 ; CPU:$DEE4 PRG:5EE4 3A E3 26 DF A2 DF 6A E0 16 E1 C2 E1 4A E2 C2 E2 - .byte $F2, $E2, $46, $DF, $DA, $DF, $A6, $E0, $4E, $E1, $06, $E2, $4A, $E2, $C2, $E2 ; CPU:$DEF4 PRG:5EF4 F2 E2 46 DF DA DF A6 E0 4E E1 06 E2 4A E2 C2 E2 - .byte $12, $E3, $02, $02, $02, $02, $02, $02, $02, $02, $03, $02, $01, $01, $02, $02 ; CPU:$DF04 PRG:5F04 12 E3 02 02 02 02 02 02 02 02 03 02 01 01 02 02 - .byte $02, $02, $01, $01, $01, $01, $03, $03, $03, $03, $01, $01, $01, $01, $03, $03 ; CPU:$DF14 PRG:5F14 02 02 01 01 01 01 03 03 03 03 01 01 01 01 03 03 - .byte $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $01, $01, $01, $01, $03, $03 ; CPU:$DF24 PRG:5F24 03 03 02 02 02 02 02 02 02 02 01 01 01 01 03 03 - .byte $03, $03, $01, $01, $01, $01, $03, $03, $03, $03, $01, $01, $01, $01, $03, $03 ; CPU:$DF34 PRG:5F34 03 03 01 01 01 01 03 03 03 03 01 01 01 01 03 03 - .byte $03, $03, $02, $02, $02, $02, $02, $03, $04, $03, $01, $00, $00, $00, $00, $01 ; CPU:$DF44 PRG:5F44 03 03 02 02 02 02 02 03 04 03 01 00 00 00 00 01 - .byte $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $03, $02, $03, $02 ; CPU:$DF54 PRG:5F54 01 02 02 02 02 02 02 02 02 02 02 01 03 02 03 02 - .byte $02, $02, $02, $02, $03, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01 ; CPU:$DF64 PRG:5F64 02 02 02 02 03 01 02 02 02 02 02 02 02 02 02 01 - .byte $01, $03, $02, $02, $02, $02, $03, $03, $02, $02, $02, $02, $02, $02, $03, $01 ; CPU:$DF74 PRG:5F74 01 03 02 02 02 02 03 03 02 02 02 02 02 02 03 01 - .byte $03, $01, $03, $01, $01, $01, $01, $01, $01, $00, $00, $01, $02, $03, $04, $04 ; CPU:$DF84 PRG:5F84 03 01 03 01 01 01 01 01 01 00 00 01 02 03 04 04 - .byte $02, $02, $02, $02, $02, $03, $04, $03, $02, $02, $02, $02, $01, $01, $02, $02 ; CPU:$DF94 PRG:5F94 02 02 02 02 02 03 04 03 02 02 02 02 01 01 02 02 - .byte $02, $02, $02, $02, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $01 ; CPU:$DFA4 PRG:5FA4 02 02 02 02 01 02 02 02 02 02 02 02 02 02 01 01 - .byte $00, $01, $01, $02, $02, $02, $03, $03, $02, $02, $02, $03, $01, $01, $02, $03 ; CPU:$DFB4 PRG:5FB4 00 01 01 02 02 02 03 03 02 02 02 03 01 01 02 03 - .byte $04, $04, $00, $00, $01, $01, $02, $02, $02, $02, $03, $02, $01, $02, $03, $02 ; CPU:$DFC4 PRG:5FC4 04 04 00 00 01 01 02 02 02 02 03 02 01 02 03 02 - .byte $01, $02, $02, $02, $02, $01, $02, $02, $02, $02, $01, $01, $01, $02, $02, $01 ; CPU:$DFD4 PRG:5FD4 01 02 02 02 02 01 02 02 02 02 01 01 01 02 02 01 - .byte $02, $03, $02, $01, $02, $03, $03, $03, $03, $02, $02, $02, $02, $03, $01, $03 ; CPU:$DFE4 PRG:5FE4 02 03 02 01 02 03 03 03 03 02 02 02 02 03 01 03 - .byte $01, $03, $01, $03, $01, $03, $01, $01, $00, $00, $01, $02, $02, $02, $02, $02 ; CPU:$DFF4 PRG:5FF4 01 03 01 03 01 03 01 01 00 00 01 02 02 02 02 02 - .byte $01, $01, $02, $02, $02, $02, $02, $02, $01, $01, $03, $03, $03, $03, $01, $01 ; CPU:$E004 PRG:6004 01 01 02 02 02 02 02 02 01 01 03 03 03 03 01 01 - .byte $01, $01, $03, $03, $03, $03, $01, $01, $01, $01, $02, $02, $01, $01, $02, $02 ; CPU:$E014 PRG:6014 01 01 03 03 03 03 01 01 01 01 02 02 01 01 02 02 - .byte $03, $03, $02, $02, $01, $01, $03, $03, $02, $02, $01, $01, $03, $03, $02, $02 ; CPU:$E024 PRG:6024 03 03 02 02 01 01 03 03 02 02 01 01 03 03 02 02 - .byte $02, $02, $01, $01, $01, $02, $03, $03, $03, $02, $02, $02, $02, $02, $03, $03 ; CPU:$E034 PRG:6034 02 02 01 01 01 02 03 03 03 02 02 02 02 02 03 03 - .byte $02, $02, $02, $01, $03, $02, $00, $00, $00, $01, $00, $04, $00, $00, $04, $04 ; CPU:$E044 PRG:6044 02 02 02 01 03 02 00 00 00 01 00 04 00 00 04 04 - .byte $00, $00, $03, $03, $04, $04, $02, $02, $02, $02, $01, $01, $02, $02, $03, $03 ; CPU:$E054 PRG:6054 00 00 03 03 04 04 02 02 02 02 01 01 02 02 03 03 - .byte $01, $01, $03, $03, $01, $01, $02, $02, $02, $02, $03, $03, $03, $02, $02, $02 ; CPU:$E064 PRG:6064 01 01 03 03 01 01 02 02 02 02 03 03 03 02 02 02 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $02, $01, $02, $02, $02, $02, $01, $02 ; CPU:$E074 PRG:6074 01 01 01 01 01 01 01 01 02 01 02 02 02 02 01 02 - .byte $01, $01, $01, $01, $02, $02, $00, $00, $00, $00, $04, $04, $04, $04, $01, $00 ; CPU:$E084 PRG:6084 01 01 01 01 02 02 00 00 00 00 04 04 04 04 01 00 - .byte $00, $01, $02, $04, $03, $02, $02, $02, $02, $02, $01, $01, $01, $01, $02, $02 ; CPU:$E094 PRG:6094 00 01 02 04 03 02 02 02 02 02 01 01 01 01 02 02 - .byte $02, $02, $02, $02, $02, $02, $03, $03, $02, $02, $02, $02, $03, $03, $02, $02 ; CPU:$E0A4 PRG:60A4 02 02 02 02 02 02 03 03 02 02 02 02 03 03 02 02 - .byte $01, $01, $01, $01, $01, $02, $03, $04, $04, $03, $01, $00, $00, $01, $03, $04 ; CPU:$E0B4 PRG:60B4 01 01 01 01 01 02 03 04 04 03 01 00 00 01 03 04 - .byte $04, $03, $01, $00, $02, $02, $02, $02, $00, $00, $00, $04, $04, $04, $04, $02 ; CPU:$E0C4 PRG:60C4 04 03 01 00 02 02 02 02 00 00 00 04 04 04 04 02 - .byte $02, $02, $02, $02, $01, $03, $02, $02, $01, $00, $02, $02, $02, $02, $04, $04 ; CPU:$E0D4 PRG:60D4 02 02 02 02 01 03 02 02 01 00 02 02 02 02 04 04 - .byte $04, $00, $00, $00, $04, $04, $04, $04, $03, $03, $00, $00, $00, $00, $01, $01 ; CPU:$E0E4 PRG:60E4 04 00 00 00 04 04 04 04 03 03 00 00 00 00 01 01 - .byte $00, $01, $02, $02, $02, $02, $01, $01, $01, $01, $02, $02, $02, $02, $04, $04 ; CPU:$E0F4 PRG:60F4 00 01 02 02 02 02 01 01 01 01 02 02 02 02 04 04 - .byte $00, $00, $04, $04, $02, $00, $00, $00, $01, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E104 PRG:6104 00 00 04 04 02 00 00 00 01 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $03, $04, $04, $04, $03, $02, $00, $00, $00, $04 ; CPU:$E114 PRG:6114 02 02 02 02 02 02 03 04 04 04 03 02 00 00 00 04 - .byte $04, $04, $03, $02, $03, $04, $04, $02, $00, $00, $00, $00, $00, $01, $03, $04 ; CPU:$E124 PRG:6124 04 04 03 02 03 04 04 02 00 00 00 00 00 01 03 04 - .byte $04, $04, $04, $04, $04, $04, $02, $02, $02, $02, $04, $00, $04, $00, $04, $00 ; CPU:$E134 PRG:6134 04 04 04 04 04 04 02 02 02 02 04 00 04 00 04 00 - .byte $03, $01, $01, $00, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03 ; CPU:$E144 PRG:6144 03 01 01 00 00 00 02 02 02 02 02 02 02 02 03 03 - .byte $03, $02, $02, $03, $03, $04, $04, $03, $03, $02, $01, $01, $02, $01, $02, $01 ; CPU:$E154 PRG:6154 03 02 02 03 03 04 04 03 03 02 01 01 02 01 02 01 - .byte $01, $01, $01, $01, $03, $03, $01, $01, $03, $03, $00, $00, $04, $04, $00, $00 ; CPU:$E164 PRG:6164 01 01 01 01 03 03 01 01 03 03 00 00 04 04 00 00 - .byte $04, $04, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03 ; CPU:$E174 PRG:6174 04 04 02 02 02 02 02 02 02 02 02 02 02 02 03 03 - .byte $03, $03, $02, $02, $02, $02, $03, $04, $03, $02, $01, $01, $01, $01, $01, $02 ; CPU:$E184 PRG:6184 03 03 02 02 02 02 03 04 03 02 01 01 01 01 01 02 - .byte $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $02, $02, $01 ; CPU:$E194 PRG:6194 02 02 02 02 02 02 02 03 03 03 03 03 03 02 02 01 - .byte $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E1A4 PRG:61A4 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $04, $00, $04, $00, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E1B4 PRG:61B4 02 02 04 00 04 00 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $04, $04, $00, $00, $00, $04, $04, $00, $00, $01, $02, $02, $02, $02 ; CPU:$E1C4 PRG:61C4 02 02 04 04 00 00 00 04 04 00 00 01 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $03, $03, $02, $03 ; CPU:$E1D4 PRG:61D4 02 02 02 02 02 02 03 03 03 03 03 03 03 03 02 03 - .byte $03, $02, $02, $02, $03, $03, $02, $02, $03, $03, $02, $02, $03, $03, $03, $03 ; CPU:$E1E4 PRG:61E4 03 02 02 02 03 03 02 02 03 03 02 02 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E1F4 PRG:61F4 03 03 03 03 03 03 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $04, $04, $00, $00, $04, $04, $03, $02, $02, $03, $04 ; CPU:$E204 PRG:6204 02 02 02 02 02 04 04 00 00 04 04 03 02 02 03 04 - .byte $04, $04, $02, $02, $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $02, $01 ; CPU:$E214 PRG:6214 04 04 02 02 02 02 01 01 01 01 01 01 01 01 02 01 - .byte $02, $02, $01, $01, $01, $01, $03, $04, $04, $04, $03, $02, $02, $02, $02, $02 ; CPU:$E224 PRG:6224 02 02 01 01 01 01 03 04 04 04 03 02 02 02 02 02 - .byte $02, $02, $03, $04, $03, $01, $00, $01, $04, $00, $04, $00, $00, $00, $02, $02 ; CPU:$E234 PRG:6234 02 02 03 04 03 01 00 01 04 00 04 00 00 00 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $01, $01, $02, $03, $04 ; CPU:$E244 PRG:6244 02 02 02 02 02 02 02 02 02 02 01 01 01 02 03 04 - .byte $04, $04, $04, $02, $02, $02, $03, $02, $01, $02, $03, $02, $01, $02, $02, $02 ; CPU:$E254 PRG:6254 04 04 04 02 02 02 03 02 01 02 03 02 01 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $01, $00, $00, $00, $01, $02, $02, $01, $01 ; CPU:$E264 PRG:6264 02 02 02 02 02 02 02 01 00 00 00 01 02 02 01 01 - .byte $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $01, $01, $01, $01, $03, $04 ; CPU:$E274 PRG:6274 01 01 01 01 01 01 02 02 02 02 01 01 01 01 03 04 - .byte $04, $04, $04, $03, $03, $04, $04, $04, $04, $04, $04, $03, $03, $02, $02, $02 ; CPU:$E284 PRG:6284 04 04 04 03 03 04 04 04 04 04 04 03 03 02 02 02 - .byte $01, $01, $01, $01, $01, $01, $00, $00, $00, $00, $00, $01, $03, $04, $04, $04 ; CPU:$E294 PRG:6294 01 01 01 01 01 01 00 00 00 00 00 01 03 04 04 04 - .byte $02, $00, $00, $00, $00, $02, $04, $04, $04, $02, $00, $00, $00, $00, $01, $01 ; CPU:$E2A4 PRG:62A4 02 00 00 00 00 02 04 04 04 02 00 00 00 00 01 01 - .byte $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E2B4 PRG:62B4 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $01, $01, $02, $02, $03, $03, $03, $02, $02, $01, $01, $02, $02, $03 ; CPU:$E2C4 PRG:62C4 02 02 01 01 02 02 03 03 03 02 02 01 01 02 02 03 - .byte $03, $02, $02, $01, $01, $02, $02, $03, $03, $02, $02, $01, $00, $00, $00, $00 ; CPU:$E2D4 PRG:62D4 03 02 02 01 01 02 02 03 03 02 02 01 00 00 00 00 - .byte $00, $01, $02, $02, $02, $02, $03, $03, $03, $03, $03, $02, $01, $01, $02, $02 ; CPU:$E2E4 PRG:62E4 00 01 02 02 02 02 03 03 03 03 03 02 01 01 02 02 - .byte $02, $02, $03, $03, $03, $03, $03, $02, $02, $01, $02, $03, $02, $01, $02, $03 ; CPU:$E2F4 PRG:62F4 02 02 03 03 03 03 03 02 02 01 02 03 02 01 02 03 - .byte $02, $01, $02, $02, $02, $02, $01, $00, $00, $04, $04, $04, $00, $00, $02, $02 ; CPU:$E304 PRG:6304 02 01 02 02 02 02 01 00 00 04 04 04 00 00 02 02 - .byte $02, $02, $04, $04, $04, $04, $01, $00, $00, $00, $03, $04, $04, $04, $04, $04 ; CPU:$E314 PRG:6314 02 02 04 04 04 04 01 00 00 00 03 04 04 04 04 04 - .byte $04, $04, $02, $02, $01, $01, $00, $00, $00, $00, $00, $00, $01, $01, $02, $02 ; CPU:$E324 PRG:6324 04 04 02 02 01 01 00 00 00 00 00 00 01 01 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $01, $01, $02, $02, $02 ; CPU:$E334 PRG:6334 02 02 02 02 02 02 02 02 02 02 01 01 01 02 02 02 - .byte $03, $03, $03, $03, $02, $02, $01, $01, $03, $04, $04, $04, $04, $04, $00, $00 ; CPU:$E344 PRG:6344 03 03 03 03 02 02 01 01 03 04 04 04 04 04 00 00 - .byte $00, $00, $04, $04, $04, $04, $02, $02, $00, $00, $01, $02, $03, $04, $02, $02 ; CPU:$E354 PRG:6354 00 00 04 04 04 04 02 02 00 00 01 02 03 04 02 02 - .byte $02, $02, $02, $01, $00, $00, $00, $00, $01, $02, $03, $04, $04, $04, $04, $03 ; CPU:$E364 PRG:6364 02 02 02 01 00 00 00 00 01 02 03 04 04 04 04 03 - .byte $02, $01, $00, $00, $00, $00, $04, $04, $00, $00, $00, $00, $00, $00, $02, $02 ; CPU:$E374 PRG:6374 02 01 00 00 00 00 04 04 00 00 00 00 00 00 02 02 - .byte $02, $02, $04, $04, $04, $04, $04, $04, $04, $02, $00, $00, $00, $00, $04, $04 ; CPU:$E384 PRG:6384 02 02 04 04 04 04 04 04 04 02 00 00 00 00 04 04 - .byte $04, $04, $00, $00, $00, $00, $04, $04, $04, $04, $00, $00, $00, $00, $04, $04 ; CPU:$E394 PRG:6394 04 04 00 00 00 00 04 04 04 04 00 00 00 00 04 04 - .byte $04, $04, $00, $00, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $FD, $E7 ; CPU:$E3A4 PRG:63A4 04 04 00 00 00 00 02 02 02 02 02 02 02 02 FD E7 - .byte $E3, $EC, $E7, $ED, $53, $EE, $DB, $F0, $27, $F1, $EF, $F1, $33, $F2, $AB, $F2 ; CPU:$E3B4 PRG:63B4 E3 EC E7 ED 53 EE DB F0 27 F1 EF F1 33 F2 AB F2 - .byte $D7, $F2, $FB, $F2, $05, $F3, $0B, $F3, $11, $F3, $17, $F3, $1D, $F3, $FD, $E7 ; CPU:$E3C4 PRG:63C4 D7 F2 FB F2 05 F3 0B F3 11 F3 17 F3 1D F3 FD E7 - .byte $23, $F3, $29, $F3, $2F, $F3, $35, $F3, $3B, $F3, $41, $F3, $47, $F3, $51, $F3 ; CPU:$E3D4 PRG:63D4 23 F3 29 F3 2F F3 35 F3 3B F3 41 F3 47 F3 51 F3 - .byte $75, $F3, $A9, $F3, $ED, $F3, $FD, $E7, $8B, $EC, $B9, $EC, $C7, $EE, $FD, $E7 ; CPU:$E3E4 PRG:63E4 75 F3 A9 F3 ED F3 FD E7 8B EC B9 EC C7 EE FD E7 - .byte $59, $F4, $5F, $F4, $65, $F4, $6B, $F4, $77, $F4, $87, $F4, $9F, $F4, $BF, $F4 ; CPU:$E3F4 PRG:63F4 59 F4 5F F4 65 F4 6B F4 77 F4 87 F4 9F F4 BF F4 - .byte $E7, $F4, $1F, $F5, $B3, $F5, $43, $EC, $55, $EC, $1B, $EF, $F3, $EF, $FD, $E7 ; CPU:$E404 PRG:6404 E7 F4 1F F5 B3 F5 43 EC 55 EC 1B EF F3 EF FD E7 - .byte $D9, $F5, $DF, $F5, $E5, $F5, $EB, $F5, $F1, $F5, $F7, $F5, $FD, $F5, $07, $F6 ; CPU:$E414 PRG:6414 D9 F5 DF F5 E5 F5 EB F5 F1 F5 F7 F5 FD F5 07 F6 - .byte $11, $F6, $35, $F6, $71, $F6, $37, $ED, $61, $ED, $8B, $ED, $B5, $ED, $FD, $E7 ; CPU:$E424 PRG:6424 11 F6 35 F6 71 F6 37 ED 61 ED 8B ED B5 ED FD E7 - .byte $3B, $EA, $41, $EA, $47, $EA, $4D, $EA, $53, $EA, $5D, $EA, $67, $EA, $71, $EA ; CPU:$E434 PRG:6434 3B EA 41 EA 47 EA 4D EA 53 EA 5D EA 67 EA 71 EA - .byte $7F, $EA, $91, $EA, $F5, $EA, $79, $EB, $B3, $EB, $FD, $E7, $FD, $E7, $FD, $E7 ; CPU:$E444 PRG:6444 7F EA 91 EA F5 EA 79 EB B3 EB FD E7 FD E7 FD E7 - .byte $81, $E9, $87, $E9, $8D, $E9, $93, $E9, $99, $E9, $9F, $E9, $A5, $E9, $AB, $E9 ; CPU:$E454 PRG:6454 81 E9 87 E9 8D E9 93 E9 99 E9 9F E9 A5 E9 AB E9 - .byte $BF, $E9, $DB, $E9, $07, $EA, $FD, $E7, $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7 ; CPU:$E464 PRG:6464 BF E9 DB E9 07 EA FD E7 C1 E7 C7 E7 CD E7 D3 E7 - .byte $D9, $E7, $E5, $E7, $F1, $E7, $F1, $E7, $29, $E8, $71, $E8, $F9, $E8, $87, $E6 ; CPU:$E474 PRG:6474 D9 E7 E5 E7 F1 E7 F1 E7 29 E8 71 E8 F9 E8 87 E6 - .byte $C9, $E6, $03, $E7, $45, $E7, $23, $E6, $47, $E6, $1D, $EE, $8D, $EE, $67, $E6 ; CPU:$E484 PRG:6484 C9 E6 03 E7 45 E7 23 E6 47 E6 1D EE 8D EE 67 E6 - .byte $67, $EC, $79, $EC, $83, $E7, $FD, $E7, $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7 ; CPU:$E494 PRG:6494 67 EC 79 EC 83 E7 FD E7 C1 E7 C7 E7 CD E7 D3 E7 - .byte $DF, $E7, $EB, $E7, $FF, $E7, $FF, $E7, $3B, $E8, $93, $E8, $1B, $E9, $59, $F1 ; CPU:$E4A4 PRG:64A4 DF E7 EB E7 FF E7 FF E7 3B E8 93 E8 1B E9 59 F1 - .byte $51, $F2, $51, $EF, $2D, $F0, $0D, $ED, $C5, $EB, $D7, $EB, $E9, $EB, $FB, $EB ; CPU:$E4B4 PRG:64B4 51 F2 51 EF 2D F0 0D ED C5 EB D7 EB E9 EB FB EB - .byte $0D, $EC, $1F, $EC, $31, $EC, $FD, $E7, $59, $F4, $5F, $F4, $65, $F4, $6B, $F4 ; CPU:$E4C4 PRG:64C4 0D EC 1F EC 31 EC FD E7 59 F4 5F F4 65 F4 6B F4 - .byte $71, $F4, $7D, $F4, $91, $F4, $AD, $F4, $D1, $F4, $FD, $F4, $67, $F5, $59, $F7 ; CPU:$E4D4 PRG:64D4 71 F4 7D F4 91 F4 AD F4 D1 F4 FD F4 67 F5 59 F7 - .byte $9F, $F7, $CD, $F6, $13, $F7, $FD, $E7, $E3, $EC, $E7, $ED, $53, $EE, $01, $F1 ; CPU:$E4E4 PRG:64E4 9F F7 CD F6 13 F7 FD E7 E3 EC E7 ED 53 EE 01 F1 - .byte $8B, $F1, $11, $F2, $6F, $F2, $C1, $F2, $E9, $F2, $FB, $F2, $05, $F3, $0B, $F3 ; CPU:$E4F4 PRG:64F4 8B F1 11 F2 6F F2 C1 F2 E9 F2 FB F2 05 F3 0B F3 - .byte $11, $F3, $17, $F3, $1D, $F3, $FD, $E7, $23, $F3, $29, $F3, $2F, $F3, $35, $F3 ; CPU:$E504 PRG:6504 11 F3 17 F3 1D F3 FD E7 23 F3 29 F3 2F F3 35 F3 - .byte $3B, $F3, $41, $F3, $47, $F3, $63, $F3, $8F, $F3, $CB, $F3, $23, $F4, $FD, $E7 ; CPU:$E514 PRG:6514 3B F3 41 F3 47 F3 63 F3 8F F3 CB F3 23 F4 FD E7 - .byte $8B, $EC, $B9, $EC, $F1, $EE, $FD, $E7, $59, $F4, $5F, $F4, $65, $F4, $6B, $F4 ; CPU:$E524 PRG:6524 8B EC B9 EC F1 EE FD E7 59 F4 5F F4 65 F4 6B F4 - .byte $77, $F4, $87, $F4, $9F, $F4, $BF, $F4, $E7, $F4, $1F, $F5, $8D, $F5, $43, $EC ; CPU:$E534 PRG:6534 77 F4 87 F4 9F F4 BF F4 E7 F4 1F F5 8D F5 43 EC - .byte $55, $EC, $87, $EF, $67, $F0, $FD, $E7, $D9, $F5, $DF, $F5, $E5, $F5, $EB, $F5 ; CPU:$E544 PRG:6544 55 EC 87 EF 67 F0 FD E7 D9 F5 DF F5 E5 F5 EB F5 - .byte $F1, $F5, $F7, $F5, $FD, $F5, $07, $F6, $23, $F6, $53, $F6, $9F, $F6, $37, $ED ; CPU:$E554 PRG:6554 F1 F5 F7 F5 FD F5 07 F6 23 F6 53 F6 9F F6 37 ED - .byte $61, $ED, $8B, $ED, $B5, $ED, $FD, $E7, $3B, $EA, $41, $EA, $47, $EA, $4D, $EA ; CPU:$E564 PRG:6564 61 ED 8B ED B5 ED FD E7 3B EA 41 EA 47 EA 4D EA - .byte $53, $EA, $5D, $EA, $67, $EA, $71, $EA, $7F, $EA, $C3, $EA, $37, $EB, $79, $EB ; CPU:$E574 PRG:6574 53 EA 5D EA 67 EA 71 EA 7F EA C3 EA 37 EB 79 EB - .byte $B3, $EB, $FD, $E7, $FD, $E7, $FD, $E7, $81, $E9, $87, $E9, $8D, $E9, $93, $E9 ; CPU:$E584 PRG:6584 B3 EB FD E7 FD E7 FD E7 81 E9 87 E9 8D E9 93 E9 - .byte $99, $E9, $9F, $E9, $A5, $E9, $B5, $E9, $CD, $E9, $F1, $E9, $21, $EA, $FD, $E7 ; CPU:$E594 PRG:6594 99 E9 9F E9 A5 E9 B5 E9 CD E9 F1 E9 21 EA FD E7 - .byte $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7, $D9, $E7, $E5, $E7, $0D, $E8, $0D, $E8 ; CPU:$E5A4 PRG:65A4 C1 E7 C7 E7 CD E7 D3 E7 D9 E7 E5 E7 0D E8 0D E8 - .byte $4D, $E8, $B5, $E8, $3D, $E9, $87, $E6, $C9, $E6, $03, $E7, $45, $E7, $35, $E6 ; CPU:$E5B4 PRG:65B4 4D E8 B5 E8 3D E9 87 E6 C9 E6 03 E7 45 E7 35 E6 - .byte $55, $E6, $1D, $EE, $8D, $EE, $75, $E6, $67, $EC, $79, $EC, $83, $E7, $FD, $E7 ; CPU:$E5C4 PRG:65C4 55 E6 1D EE 8D EE 75 E6 67 EC 79 EC 83 E7 FD E7 - .byte $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7, $DF, $E7, $EB, $E7, $1B, $E8, $1B, $E8 ; CPU:$E5D4 PRG:65D4 C1 E7 C7 E7 CD E7 D3 E7 DF E7 EB E7 1B E8 1B E8 - .byte $5F, $E8, $D7, $E8, $5F, $E9, $BD, $F1, $8D, $F2, $BD, $EF, $A1, $F0, $0D, $ED ; CPU:$E5E4 PRG:65E4 5F E8 D7 E8 5F E9 BD F1 8D F2 BD EF A1 F0 0D ED - .byte $C5, $EB, $D7, $EB, $E9, $EB, $FB, $EB, $0D, $EC, $1F, $EC, $31, $EC, $FD, $E7 ; CPU:$E5F4 PRG:65F4 C5 EB D7 EB E9 EB FB EB 0D EC 1F EC 31 EC FD E7 - .byte $59, $F4, $5F, $F4, $65, $F4, $6B, $F4, $71, $F4, $7D, $F4, $91, $F4, $AD, $F4 ; CPU:$E604 PRG:6604 59 F4 5F F4 65 F4 6B F4 71 F4 7D F4 91 F4 AD F4 - .byte $D1, $F4, $FD, $F4, $41, $F5, $59, $F7, $9F, $F7, $CD, $F6, $13, $F7, $F8, $0C ; CPU:$E614 PRG:6614 D1 F4 FD F4 41 F5 59 F7 9F F7 CD F6 13 F7 F8 0C - .byte $EF, $02, $F4, $0C, $FF, $02, $04, $0A, $EF, $02, $F0, $0A, $FF, $02, $08, $80 ; CPU:$E624 PRG:6624 EF 02 F4 0C FF 02 04 0A EF 02 F0 0A FF 02 08 80 - .byte $F8, $0C, $FF, $02, $F4, $0C, $EF, $02, $04, $0A, $FF, $02, $F0, $0A, $EF, $02 ; CPU:$E634 PRG:6634 F8 0C FF 02 F4 0C EF 02 04 0A FF 02 F0 0A EF 02 - .byte $08, $80, $F8, $05, $EF, $02, $F7, $09, $FF, $02, $F3, $0A, $FF, $02, $F0, $80 ; CPU:$E644 PRG:6644 08 80 F8 05 EF 02 F7 09 FF 02 F3 0A FF 02 F0 80 - .byte $F8, $05, $FF, $02, $F7, $09, $EF, $02, $F3, $06, $EF, $02, $F4, $0B, $FF, $02 ; CPU:$E654 PRG:6654 F8 05 FF 02 F7 09 EF 02 F3 06 EF 02 F4 0B FF 02 - .byte $EF, $80, $F8, $05, $EF, $02, $01, $09, $FF, $02, $05, $0A, $FF, $02, $08, $80 ; CPU:$E664 PRG:6664 EF 80 F8 05 EF 02 01 09 FF 02 05 0A FF 02 08 80 - .byte $F8, $05, $FF, $02, $01, $09, $EF, $02, $05, $06, $EF, $02, $04, $0B, $FF, $02 ; CPU:$E674 PRG:6674 F8 05 FF 02 01 09 EF 02 05 06 EF 02 04 0B FF 02 - .byte $09, $80, $DB, $00, $87, $40, $F0, $00, $87, $00, $08, $05, $8A, $00, $F8, $05 ; CPU:$E684 PRG:6684 09 80 DB 00 87 40 F0 00 87 00 08 05 8A 00 F8 05 - .byte $8A, $40, $00, $0D, $89, $00, $F0, $0D, $8B, $00, $F8, $0D, $8B, $40, $00, $0D ; CPU:$E694 PRG:6694 8A 40 00 0D 89 00 F0 0D 8B 00 F8 0D 8B 40 00 0D - .byte $89, $40, $08, $15, $90, $00, $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D ; CPU:$E6A4 PRG:66A4 89 40 08 15 90 00 F8 15 90 40 00 1D 91 00 F8 1D - .byte $91, $40, $00, $25, $92, $02, $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25 ; CPU:$E6B4 PRG:66B4 91 40 00 25 92 02 F0 25 FA 02 F8 25 FA 42 00 25 - .byte $92, $42, $08, $80, $DB, $00, $8E, $00, $F0, $00, $8E, $40, $08, $05, $8C, $40 ; CPU:$E6C4 PRG:66C4 92 42 08 80 DB 00 8E 00 F0 00 8E 40 08 05 8C 40 - .byte $F8, $05, $8C, $00, $00, $0D, $8D, $40, $F8, $0D, $8D, $00, $00, $15, $90, $00 ; CPU:$E6D4 PRG:66D4 F8 05 8C 00 00 0D 8D 40 F8 0D 8D 00 00 15 90 00 - .byte $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D, $91, $40, $00, $25, $92, $02 ; CPU:$E6E4 PRG:66E4 F8 15 90 40 00 1D 91 00 F8 1D 91 40 00 25 92 02 - .byte $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25, $92, $42, $08, $80, $DD, $00 ; CPU:$E6F4 PRG:66F4 F0 25 FA 02 F8 25 FA 42 00 25 92 42 08 80 DD 00 - .byte $87, $40, $F0, $00, $87, $00, $08, $05, $8A, $00, $F8, $05, $8A, $40, $00, $0D ; CPU:$E704 PRG:6704 87 40 F0 00 87 00 08 05 8A 00 F8 05 8A 40 00 0D - .byte $89, $00, $F0, $0D, $8B, $00, $F8, $0D, $8B, $40, $00, $0D, $89, $40, $08, $15 ; CPU:$E714 PRG:6714 89 00 F0 0D 8B 00 F8 0D 8B 40 00 0D 89 40 08 15 - .byte $90, $00, $F8, $15, $90, $40, $00, $1B, $91, $00, $F6, $1B, $91, $40, $02, $23 ; CPU:$E724 PRG:6724 90 00 F8 15 90 40 00 1B 91 00 F6 1B 91 40 02 23 - .byte $92, $02, $EE, $23, $FA, $02, $F6, $23, $FA, $42, $02, $23, $92, $42, $0A, $80 ; CPU:$E734 PRG:6734 92 02 EE 23 FA 02 F6 23 FA 42 02 23 92 42 0A 80 - .byte $DB, $00, $87, $40, $F0, $00, $8E, $40, $08, $05, $8A, $00, $F8, $05, $8C, $00 ; CPU:$E744 PRG:6744 DB 00 87 40 F0 00 8E 40 08 05 8A 00 F8 05 8C 00 - .byte $00, $0D, $89, $00, $F0, $0D, $8B, $00, $F8, $0D, $8D, $00, $00, $15, $90, $00 ; CPU:$E754 PRG:6754 00 0D 89 00 F0 0D 8B 00 F8 0D 8D 00 00 15 90 00 - .byte $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D, $91, $40, $00, $25, $92, $02 ; CPU:$E764 PRG:6764 F8 15 90 40 00 1D 91 00 F8 1D 91 40 00 25 92 02 - .byte $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25, $92, $42, $08, $80, $DB, $00 ; CPU:$E774 PRG:6774 F0 25 FA 02 F8 25 FA 42 00 25 92 42 08 80 DB 00 - .byte $8E, $00, $F0, $00, $87, $00, $08, $05, $8C, $40, $F8, $05, $8A, $40, $00, $0D ; CPU:$E784 PRG:6784 8E 00 F0 00 87 00 08 05 8C 40 F8 05 8A 40 00 0D - .byte $8D, $40, $F8, $0D, $8B, $40, $00, $0D, $89, $40, $08, $15, $90, $00, $F8, $15 ; CPU:$E794 PRG:6794 8D 40 F8 0D 8B 40 00 0D 89 40 08 15 90 00 F8 15 - .byte $90, $40, $00, $1D, $91, $00, $F8, $1D, $91, $40, $00, $25, $92, $02, $F0, $25 ; CPU:$E7A4 PRG:67A4 90 40 00 1D 91 00 F8 1D 91 40 00 25 92 02 F0 25 - .byte $FA, $02, $F8, $25, $FA, $42, $00, $25, $92, $42, $08, $80, $00, $00, $82, $01 ; CPU:$E7B4 PRG:67B4 FA 02 F8 25 FA 42 00 25 92 42 08 80 00 00 82 01 - .byte $FC, $80, $00, $00, $81, $01, $FC, $80, $00, $00, $80, $01, $FC, $80, $00, $00 ; CPU:$E7C4 PRG:67C4 FC 80 00 00 81 01 FC 80 00 00 80 01 FC 80 00 00 - .byte $4E, $01, $FC, $80, $00, $00, $EE, $01, $FC, $80, $00, $00, $EE, $41, $FC, $80 ; CPU:$E7D4 PRG:67D4 4E 01 FC 80 00 00 EE 01 FC 80 00 00 EE 41 FC 80 - .byte $00, $00, $ED, $01, $FC, $80, $00, $00, $ED, $41, $FC, $80, $F8, $00, $EA, $01 ; CPU:$E7E4 PRG:67E4 00 00 ED 01 FC 80 00 00 ED 41 FC 80 F8 00 EA 01 - .byte $00, $08, $EC, $01, $F8, $08, $EB, $01, $00, $80, $F8, $00, $EA, $41, $F8, $08 ; CPU:$E7F4 PRG:67F4 00 08 EC 01 F8 08 EB 01 00 80 F8 00 EA 41 F8 08 - .byte $EB, $41, $F8, $08, $EC, $41, $00, $80, $F8, $00, $EA, $01, $00, $08, $EB, $01 ; CPU:$E804 PRG:6804 EB 41 F8 08 EC 41 00 80 F8 00 EA 01 00 08 EB 01 - .byte $00, $08, $EC, $01, $F8, $80, $F8, $00, $EA, $41, $F8, $08, $EC, $41, $00, $08 ; CPU:$E814 PRG:6814 00 08 EC 01 F8 80 F8 00 EA 41 F8 08 EC 41 00 08 - .byte $EB, $41, $F8, $80, $F8, $00, $E3, $01, $F8, $00, $E4, $01, $00, $08, $E5, $01 ; CPU:$E824 PRG:6824 EB 41 F8 80 F8 00 E3 01 F8 00 E4 01 00 08 E5 01 - .byte $F8, $08, $E6, $01, $00, $80, $F8, $00, $E4, $41, $F8, $00, $E3, $41, $00, $08 ; CPU:$E834 PRG:6834 F8 08 E6 01 00 80 F8 00 E4 41 F8 00 E3 41 00 08 - .byte $E6, $41, $F8, $08, $E5, $41, $00, $80, $F8, $00, $E4, $01, $00, $00, $E3, $01 ; CPU:$E844 PRG:6844 E6 41 F8 08 E5 41 00 80 F8 00 E4 01 00 00 E3 01 - .byte $F8, $08, $E6, $01, $00, $08, $E5, $01, $F8, $80, $F8, $00, $E3, $41, $00, $00 ; CPU:$E854 PRG:6854 F8 08 E6 01 00 08 E5 01 F8 80 F8 00 E3 41 00 00 - .byte $E4, $41, $F8, $08, $E5, $41, $00, $08, $E6, $41, $F8, $80, $F0, $00, $2B, $01 ; CPU:$E864 PRG:6864 E4 41 F8 08 E5 41 00 08 E6 41 F8 80 F0 00 2B 01 - .byte $FA, $00, $E2, $01, $02, $08, $DE, $01, $F4, $08, $DF, $01, $FC, $08, $E0, $01 ; CPU:$E874 PRG:6874 FA 00 E2 01 02 08 DE 01 F4 08 DF 01 FC 08 E0 01 - .byte $04, $10, $DB, $01, $F4, $10, $DC, $01, $FC, $10, $DD, $01, $04, $80, $F0, $00 ; CPU:$E884 PRG:6884 04 10 DB 01 F4 10 DC 01 FC 10 DD 01 04 80 F0 00 - .byte $E2, $41, $F6, $00, $2B, $41, $FE, $08, $E0, $41, $F4, $08, $DF, $41, $FC, $08 ; CPU:$E894 PRG:6894 E2 41 F6 00 2B 41 FE 08 E0 41 F4 08 DF 41 FC 08 - .byte $DE, $41, $04, $10, $DD, $41, $F4, $10, $DC, $41, $FC, $10, $DB, $41, $04, $80 ; CPU:$E8A4 PRG:68A4 DE 41 04 10 DD 41 F4 10 DC 41 FC 10 DB 41 04 80 - .byte $F0, $00, $E2, $01, $02, $00, $2B, $01, $FA, $08, $E0, $01, $04, $08, $DF, $01 ; CPU:$E8B4 PRG:68B4 F0 00 E2 01 02 00 2B 01 FA 08 E0 01 04 08 DF 01 - .byte $FC, $08, $DE, $01, $F4, $10, $DD, $01, $04, $10, $DC, $01, $FC, $10, $DB, $01 ; CPU:$E8C4 PRG:68C4 FC 08 DE 01 F4 10 DD 01 04 10 DC 01 FC 10 DB 01 - .byte $F4, $80, $F0, $00, $2B, $41, $FE, $00, $E2, $41, $F6, $08, $DE, $41, $04, $08 ; CPU:$E8D4 PRG:68D4 F4 80 F0 00 2B 41 FE 00 E2 41 F6 08 DE 41 04 08 - .byte $DF, $41, $FC, $08, $E0, $41, $F4, $10, $DB, $41, $04, $10, $DC, $41, $FC, $10 ; CPU:$E8E4 PRG:68E4 DF 41 FC 08 E0 41 F4 10 DB 41 04 10 DC 41 FC 10 - .byte $DD, $41, $F4, $80, $F0, $00, $D3, $01, $FC, $00, $D4, $01, $04, $08, $D5, $01 ; CPU:$E8F4 PRG:68F4 DD 41 F4 80 F0 00 D3 01 FC 00 D4 01 04 08 D5 01 - .byte $F4, $08, $D6, $01, $FC, $08, $D7, $01, $04, $10, $D8, $01, $F4, $10, $D9, $01 ; CPU:$E904 PRG:6904 F4 08 D6 01 FC 08 D7 01 04 10 D8 01 F4 10 D9 01 - .byte $FC, $10, $DA, $01, $04, $80, $F0, $00, $D4, $41, $F4, $00, $D3, $41, $FC, $08 ; CPU:$E914 PRG:6914 FC 10 DA 01 04 80 F0 00 D4 41 F4 00 D3 41 FC 08 - .byte $D7, $41, $F4, $08, $D6, $41, $FC, $08, $D5, $41, $04, $10, $DA, $41, $F4, $10 ; CPU:$E924 PRG:6924 D7 41 F4 08 D6 41 FC 08 D5 41 04 10 DA 41 F4 10 - .byte $D9, $41, $FC, $10, $D8, $41, $04, $80, $F0, $00, $D4, $01, $04, $00, $D3, $01 ; CPU:$E934 PRG:6934 D9 41 FC 10 D8 41 04 80 F0 00 D4 01 04 00 D3 01 - .byte $FC, $08, $D7, $01, $04, $08, $D6, $01, $FC, $08, $D5, $01, $F4, $10, $DA, $01 ; CPU:$E944 PRG:6944 FC 08 D7 01 04 08 D6 01 FC 08 D5 01 F4 10 DA 01 - .byte $04, $10, $D9, $01, $FC, $10, $D8, $01, $F4, $80, $F0, $00, $D3, $41, $FC, $00 ; CPU:$E954 PRG:6954 04 10 D9 01 FC 10 D8 01 F4 80 F0 00 D3 41 FC 00 - .byte $D4, $41, $F4, $08, $D5, $41, $04, $08, $D6, $41, $FC, $08, $D7, $41, $F4, $10 ; CPU:$E964 PRG:6964 D4 41 F4 08 D5 41 04 08 D6 41 FC 08 D7 41 F4 10 - .byte $D8, $41, $04, $10, $D9, $41, $FC, $10, $DA, $41, $F4, $80, $00, $00, $82, $02 ; CPU:$E974 PRG:6974 D8 41 04 10 D9 41 FC 10 DA 41 F4 80 00 00 82 02 - .byte $FC, $80, $00, $00, $81, $02, $FC, $80, $00, $00, $80, $02, $FC, $80, $00, $00 ; CPU:$E984 PRG:6984 FC 80 00 00 81 02 FC 80 00 00 80 02 FC 80 00 00 - .byte $B9, $02, $FC, $80, $00, $00, $BA, $02, $FC, $80, $00, $00, $BB, $02, $FC, $80 ; CPU:$E994 PRG:6994 B9 02 FC 80 00 00 BA 02 FC 80 00 00 BB 02 FC 80 - .byte $00, $00, $BC, $02, $FC, $80, $00, $00, $CA, $02, $F8, $00, $CD, $02, $00, $80 ; CPU:$E9A4 PRG:69A4 00 00 BC 02 FC 80 00 00 CA 02 F8 00 CD 02 00 80 - .byte $00, $00, $CD, $02, $00, $00, $CA, $02, $F8, $80, $F8, $00, $C5, $02, $FC, $08 ; CPU:$E9B4 PRG:69B4 00 00 CD 02 00 00 CA 02 F8 80 F8 00 C5 02 FC 08 - .byte $C6, $02, $F8, $08, $C7, $02, $00, $80, $F8, $00, $C5, $02, $FC, $08, $C7, $02 ; CPU:$E9C4 PRG:69C4 C6 02 F8 08 C7 02 00 80 F8 00 C5 02 FC 08 C7 02 - .byte $00, $08, $C6, $02, $F8, $80, $F8, $00, $C3, $02, $F8, $00, $D0, $02, $00, $08 ; CPU:$E9D4 PRG:69D4 00 08 C6 02 F8 80 F8 00 C3 02 F8 00 D0 02 00 08 - .byte $C4, $02, $F4, $08, $99, $02, $FC, $08, $7F, $02, $04, $80, $F8, $00, $D0, $02 ; CPU:$E9E4 PRG:69E4 C4 02 F4 08 99 02 FC 08 7F 02 04 80 F8 00 D0 02 - .byte $00, $00, $C3, $02, $F8, $08, $7F, $02, $04, $08, $99, $02, $FC, $08, $C4, $02 ; CPU:$E9F4 PRG:69F4 00 00 C3 02 F8 08 7F 02 04 08 99 02 FC 08 C4 02 - .byte $F4, $80, $F8, $00, $CE, $02, $F4, $00, $CF, $02, $FC, $00, $D0, $02, $04, $08 ; CPU:$EA04 PRG:6A04 F4 80 F8 00 CE 02 F4 00 CF 02 FC 00 D0 02 04 08 - .byte $D1, $02, $F4, $08, $FB, $02, $FC, $08, $FC, $02, $04, $80, $F8, $00, $D0, $02 ; CPU:$EA14 PRG:6A14 D1 02 F4 08 FB 02 FC 08 FC 02 04 80 F8 00 D0 02 - .byte $04, $00, $CF, $02, $FC, $00, $CE, $02, $F4, $08, $FC, $02, $04, $08, $FB, $02 ; CPU:$EA24 PRG:6A24 04 00 CF 02 FC 00 CE 02 F4 08 FC 02 04 08 FB 02 - .byte $FC, $08, $D1, $02, $F4, $80, $00, $00, $82, $00, $FC, $80, $00, $00, $81, $00 ; CPU:$EA34 PRG:6A34 FC 08 D1 02 F4 80 00 00 82 00 FC 80 00 00 81 00 - .byte $FC, $80, $00, $00, $80, $00, $FC, $80, $00, $00, $3A, $00, $FC, $80, $00, $00 ; CPU:$EA44 PRG:6A44 FC 80 00 00 80 00 FC 80 00 00 3A 00 FC 80 00 00 - .byte $89, $80, $F8, $00, $89, $C0, $00, $80, $F8, $00, $F9, $00, $FC, $08, $F9, $80 ; CPU:$EA54 PRG:6A54 89 80 F8 00 89 C0 00 80 F8 00 F9 00 FC 08 F9 80 - .byte $FC, $80, $F8, $00, $F8, $00, $FC, $08, $F8, $80, $FC, $80, $F0, $00, $F5, $00 ; CPU:$EA64 PRG:6A64 FC 80 F8 00 F8 00 FC 08 F8 80 FC 80 F0 00 F5 00 - .byte $FC, $08, $F6, $00, $FC, $10, $F7, $00, $FC, $80, $E8, $00, $F2, $00, $FC, $08 ; CPU:$EA74 PRG:6A74 FC 08 F6 00 FC 10 F7 00 FC 80 E8 00 F2 00 FC 08 - .byte $F3, $00, $FC, $10, $F3, $00, $FC, $18, $F4, $00, $FC, $80, $D8, $00, $A0, $00 ; CPU:$EA84 PRG:6A84 F3 00 FC 10 F3 00 FC 18 F4 00 FC 80 D8 00 A0 00 - .byte $F8, $00, $A0, $40, $00, $08, $A1, $00, $F8, $08, $F0, $00, $00, $10, $F0, $40 ; CPU:$EA94 PRG:6A94 F8 00 A0 40 00 08 A1 00 F8 08 F0 00 00 10 F0 40 - .byte $F8, $10, $F0, $00, $00, $18, $A1, $00, $F8, $18, $A1, $40, $00, $20, $F0, $40 ; CPU:$EAA4 PRG:6AA4 F8 10 F0 00 00 18 A1 00 F8 18 A1 40 00 20 F0 40 - .byte $F8, $20, $F0, $00, $00, $28, $F1, $00, $F8, $28, $F1, $40, $00, $80, $D8, $00 ; CPU:$EAB4 PRG:6AB4 F8 20 F0 00 00 28 F1 00 F8 28 F1 40 00 80 D8 00 - .byte $A0, $40, $00, $00, $A0, $00, $F8, $08, $F0, $00, $00, $08, $A1, $00, $F8, $10 ; CPU:$EAC4 PRG:6AC4 A0 40 00 00 A0 00 F8 08 F0 00 00 08 A1 00 F8 10 - .byte $F0, $00, $00, $10, $F0, $40, $F8, $18, $A1, $40, $00, $18, $A1, $00, $F8, $20 ; CPU:$EAD4 PRG:6AD4 F0 00 00 10 F0 40 F8 18 A1 40 00 18 A1 00 F8 20 - .byte $F0, $00, $00, $20, $F0, $40, $F8, $28, $F1, $40, $00, $28, $F1, $00, $F8, $80 ; CPU:$EAE4 PRG:6AE4 F0 00 00 20 F0 40 F8 28 F1 40 00 28 F1 00 F8 80 - .byte $C8, $00, $83, $00, $F8, $00, $83, $40, $00, $08, $97, $00, $F8, $08, $9F, $00 ; CPU:$EAF4 PRG:6AF4 C8 00 83 00 F8 00 83 40 00 08 97 00 F8 08 9F 00 - .byte $00, $10, $9C, $00, $F8, $10, $9C, $40, $00, $18, $9D, $00, $F8, $18, $9D, $40 ; CPU:$EB04 PRG:6B04 00 10 9C 00 F8 10 9C 40 00 18 9D 00 F8 18 9D 40 - .byte $00, $20, $9C, $00, $F8, $20, $9C, $40, $00, $28, $84, $00, $F8, $28, $85, $00 ; CPU:$EB14 PRG:6B14 00 20 9C 00 F8 20 9C 40 00 28 84 00 F8 28 85 00 - .byte $00, $30, $9E, $00, $F8, $30, $9E, $40, $00, $38, $9B, $00, $F8, $38, $9B, $40 ; CPU:$EB24 PRG:6B24 00 30 9E 00 F8 30 9E 40 00 38 9B 00 F8 38 9B 40 - .byte $00, $80, $C8, $00, $83, $40, $00, $00, $83, $00, $F8, $08, $9F, $00, $00, $08 ; CPU:$EB34 PRG:6B34 00 80 C8 00 83 40 00 00 83 00 F8 08 9F 00 00 08 - .byte $97, $00, $F8, $10, $9C, $40, $00, $10, $9C, $00, $F8, $18, $9D, $40, $00, $18 ; CPU:$EB44 PRG:6B44 97 00 F8 10 9C 40 00 10 9C 00 F8 18 9D 40 00 18 - .byte $9D, $00, $F8, $20, $9C, $40, $00, $20, $9C, $00, $F8, $28, $85, $00, $00, $28 ; CPU:$EB54 PRG:6B54 9D 00 F8 20 9C 40 00 20 9C 00 F8 28 85 00 00 28 - .byte $84, $00, $F8, $30, $9E, $40, $00, $30, $9E, $00, $F8, $38, $9B, $40, $00, $38 ; CPU:$EB64 PRG:6B64 84 00 F8 30 9E 40 00 30 9E 00 F8 38 9B 40 00 38 - .byte $9B, $00, $F8, $80, $D0, $00, $83, $00, $F8, $00, $83, $40, $00, $08, $84, $00 ; CPU:$EB74 PRG:6B74 9B 00 F8 80 D0 00 83 00 F8 00 83 40 00 08 84 00 - .byte $F8, $08, $85, $00, $00, $10, $86, $00, $F8, $10, $86, $40, $00, $18, $97, $00 ; CPU:$EB84 PRG:6B84 F8 08 85 00 00 10 86 00 F8 10 86 40 00 18 97 00 - .byte $F8, $18, $97, $40, $00, $20, $97, $00, $F8, $20, $9A, $00, $00, $28, $86, $00 ; CPU:$EB94 PRG:6B94 F8 18 97 40 00 20 97 00 F8 20 9A 00 00 28 86 00 - .byte $F8, $28, $86, $40, $00, $30, $9B, $00, $F8, $30, $9B, $40, $00, $80, $F8, $00 ; CPU:$EBA4 PRG:6BA4 F8 28 86 40 00 30 9B 00 F8 30 9B 40 00 80 F8 00 - .byte $96, $C0, $F8, $00, $96, $80, $00, $08, $96, $40, $F8, $08, $96, $00, $00, $80 ; CPU:$EBB4 PRG:6BB4 96 C0 F8 00 96 80 00 08 96 40 F8 08 96 00 00 80 - .byte $F9, $00, $96, $C0, $F9, $00, $96, $80, $FF, $07, $96, $40, $F9, $07, $96, $00 ; CPU:$EBC4 PRG:6BC4 F9 00 96 C0 F9 00 96 80 FF 07 96 40 F9 07 96 00 - .byte $FF, $80, $FA, $00, $96, $C0, $FA, $00, $96, $80, $FE, $06, $96, $40, $FA, $06 ; CPU:$EBD4 PRG:6BD4 FF 80 FA 00 96 C0 FA 00 96 80 FE 06 96 40 FA 06 - .byte $96, $00, $FE, $80, $FB, $00, $96, $C0, $FB, $00, $96, $80, $FD, $05, $96, $40 ; CPU:$EBE4 PRG:6BE4 96 00 FE 80 FB 00 96 C0 FB 00 96 80 FD 05 96 40 - .byte $FB, $05, $96, $00, $FD, $80, $F8, $00, $94, $40, $F8, $00, $94, $00, $00, $08 ; CPU:$EBF4 PRG:6BF4 FB 05 96 00 FD 80 F8 00 94 40 F8 00 94 00 00 08 - .byte $96, $40, $F8, $08, $96, $00, $00, $80, $F9, $00, $94, $40, $F9, $00, $94, $00 ; CPU:$EC04 PRG:6C04 96 40 F8 08 96 00 00 80 F9 00 94 40 F9 00 94 00 - .byte $FF, $07, $96, $40, $F9, $07, $96, $00, $FF, $80, $FA, $00, $94, $40, $FA, $00 ; CPU:$EC14 PRG:6C14 FF 07 96 40 F9 07 96 00 FF 80 FA 00 94 40 FA 00 - .byte $94, $00, $FE, $06, $96, $40, $FA, $06, $96, $00, $FE, $80, $FB, $00, $94, $40 ; CPU:$EC24 PRG:6C24 94 00 FE 06 96 40 FA 06 96 00 FE 80 FB 00 94 40 - .byte $FB, $00, $94, $00, $FD, $05, $96, $40, $FB, $05, $96, $00, $FD, $80, $F8, $00 ; CPU:$EC34 PRG:6C34 FB 00 94 00 FD 05 96 40 FB 05 96 00 FD 80 F8 00 - .byte $96, $C0, $F8, $00, $96, $80, $00, $08, $94, $C0, $F8, $08, $94, $80, $00, $80 ; CPU:$EC44 PRG:6C44 96 C0 F8 00 96 80 00 08 94 C0 F8 08 94 80 00 80 - .byte $F9, $00, $96, $C0, $F9, $00, $96, $80, $FF, $07, $94, $C0, $F9, $07, $94, $80 ; CPU:$EC54 PRG:6C54 F9 00 96 C0 F9 00 96 80 FF 07 94 C0 F9 07 94 80 - .byte $FF, $80, $FA, $00, $96, $C0, $FA, $00, $96, $80, $FE, $06, $94, $C0, $FA, $06 ; CPU:$EC64 PRG:6C64 FF 80 FA 00 96 C0 FA 00 96 80 FE 06 94 C0 FA 06 - .byte $94, $80, $FE, $80, $FB, $00, $96, $C0, $FB, $00, $96, $80, $FD, $05, $94, $C0 ; CPU:$EC74 PRG:6C74 94 80 FE 80 FB 00 96 C0 FB 00 96 80 FD 05 94 C0 - .byte $FB, $05, $94, $80, $FD, $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00, $08 ; CPU:$EC84 PRG:6C84 FB 05 94 80 FD 80 E8 00 01 00 F8 00 02 00 00 08 - .byte $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4, $10 ; CPU:$EC94 PRG:6C94 03 00 F4 08 04 00 FC 08 05 00 04 10 06 00 F4 10 - .byte $07, $00, $FC, $10, $06, $40, $04, $18, $B7, $02, $F4, $18, $B8, $02, $FC, $18 ; CPU:$ECA4 PRG:6CA4 07 00 FC 10 06 40 04 18 B7 02 F4 18 B8 02 FC 18 - .byte $B7, $42, $04, $80, $E8, $00, $08, $82, $F8, $00, $08, $C2, $00, $08, $06, $80 ; CPU:$ECB4 PRG:6CB4 B7 42 04 80 E8 00 08 82 F8 00 08 C2 00 08 06 80 - .byte $F4, $08, $07, $80, $FC, $08, $06, $C0, $04, $10, $03, $80, $F4, $10, $04, $80 ; CPU:$ECC4 PRG:6CC4 F4 08 07 80 FC 08 06 C0 04 10 03 80 F4 10 04 80 - .byte $FC, $10, $05, $80, $04, $18, $01, $80, $F8, $18, $02, $80, $00, $80, $E8, $00 ; CPU:$ECD4 PRG:6CD4 FC 10 05 80 04 18 01 80 F8 18 02 80 00 80 E8 00 - .byte $01, $00, $F8, $00, $02, $00, $00, $08, $03, $00, $F4, $08, $04, $00, $FC, $08 ; CPU:$ECE4 PRG:6CE4 01 00 F8 00 02 00 00 08 03 00 F4 08 04 00 FC 08 - .byte $05, $00, $04, $10, $06, $00, $F4, $10, $07, $00, $FC, $10, $06, $40, $04, $18 ; CPU:$ECF4 PRG:6CF4 05 00 04 10 06 00 F4 10 07 00 FC 10 06 40 04 18 - .byte $08, $02, $F8, $18, $08, $42, $00, $80, $EA, $00, $66, $00, $F8, $00, $66, $40 ; CPU:$ED04 PRG:6D04 08 02 F8 18 08 42 00 80 EA 00 66 00 F8 00 66 40 - .byte $00, $07, $64, $00, $F0, $07, $64, $40, $08, $08, $65, $00, $F8, $08, $62, $00 ; CPU:$ED14 PRG:6D14 00 07 64 00 F0 07 64 40 08 08 65 00 F8 08 62 00 - .byte $00, $0F, $61, $00, $F8, $0F, $61, $40, $00, $16, $08, $02, $F8, $16, $08, $42 ; CPU:$ED24 PRG:6D24 00 0F 61 00 F8 0F 61 40 00 16 08 02 F8 16 08 42 - .byte $00, $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00, $08, $03, $00, $F4, $08 ; CPU:$ED34 PRG:6D34 00 80 E8 00 01 00 F8 00 02 00 00 08 03 00 F4 08 - .byte $04, $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4, $10, $07, $00, $FC, $10 ; CPU:$ED44 PRG:6D44 04 00 FC 08 05 00 04 10 06 00 F4 10 07 00 FC 10 - .byte $06, $40, $04, $16, $08, $02, $F8, $18, $08, $42, $00, $80, $E8, $00, $01, $00 ; CPU:$ED54 PRG:6D54 06 40 04 16 08 02 F8 18 08 42 00 80 E8 00 01 00 - .byte $F8, $00, $02, $00, $00, $08, $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00 ; CPU:$ED64 PRG:6D64 F8 00 02 00 00 08 03 00 F4 08 04 00 FC 08 05 00 - .byte $04, $10, $06, $00, $F4, $10, $07, $00, $FC, $10, $06, $40, $04, $18, $08, $02 ; CPU:$ED74 PRG:6D74 04 10 06 00 F4 10 07 00 FC 10 06 40 04 18 08 02 - .byte $F8, $16, $08, $42, $00, $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00, $08 ; CPU:$ED84 PRG:6D84 F8 16 08 42 00 80 E8 00 01 00 F8 00 02 00 00 08 - .byte $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4, $10 ; CPU:$ED94 PRG:6D94 03 00 F4 08 04 00 FC 08 05 00 04 10 06 00 F4 10 - .byte $07, $00, $FC, $10, $06, $40, $04, $16, $08, $02, $F8, $16, $08, $42, $00, $80 ; CPU:$EDA4 PRG:6DA4 07 00 FC 10 06 40 04 16 08 02 F8 16 08 42 00 80 - .byte $F0, $00, $BE, $42, $F2, $00, $BE, $02, $06, $08, $BF, $42, $F5, $08, $BF, $02 ; CPU:$EDB4 PRG:6DB4 F0 00 BE 42 F2 00 BE 02 06 08 BF 42 F5 08 BF 02 - .byte $03, $04, $BD, $40, $F8, $04, $BD, $00, $00, $0B, $C0, $40, $F0, $0B, $C0, $00 ; CPU:$EDC4 PRG:6DC4 03 04 BD 40 F8 04 BD 00 00 0B C0 40 F0 0B C0 00 - .byte $08, $0C, $C1, $40, $F8, $0C, $C1, $00, $00, $10, $C2, $40, $F6, $10, $C2, $00 ; CPU:$EDD4 PRG:6DD4 08 0C C1 40 F8 0C C1 00 00 10 C2 40 F6 10 C2 00 - .byte $02, $80, $E8, $00, $0A, $00, $F4, $00, $0B, $00, $FC, $00, $0C, $00, $04, $08 ; CPU:$EDE4 PRG:6DE4 02 80 E8 00 0A 00 F4 00 0B 00 FC 00 0C 00 04 08 - .byte $0D, $00, $EC, $08, $0E, $00, $F4, $08, $0F, $00, $FC, $08, $10, $00, $04, $10 ; CPU:$EDF4 PRG:6DF4 0D 00 EC 08 0E 00 F4 08 0F 00 FC 08 10 00 04 10 - .byte $11, $00, $F4, $10, $12, $00, $FC, $10, $13, $00, $04, $18, $14, $02, $F4, $18 ; CPU:$EE04 PRG:6E04 11 00 F4 10 12 00 FC 10 13 00 04 18 14 02 F4 18 - .byte $15, $02, $FC, $18, $16, $02, $04, $80, $E8, $00, $0C, $40, $F4, $00, $0B, $40 ; CPU:$EE14 PRG:6E14 15 02 FC 18 16 02 04 80 E8 00 0C 40 F4 00 0B 40 - .byte $FC, $00, $0A, $40, $04, $08, $10, $40, $F4, $08, $0F, $40, $FC, $08, $0E, $40 ; CPU:$EE24 PRG:6E24 FC 00 0A 40 04 08 10 40 F4 08 0F 40 FC 08 0E 40 - .byte $04, $08, $0D, $40, $0C, $10, $13, $40, $F4, $10, $12, $40, $FC, $10, $11, $40 ; CPU:$EE34 PRG:6E34 04 08 0D 40 0C 10 13 40 F4 10 12 40 FC 10 11 40 - .byte $04, $18, $16, $42, $F4, $18, $15, $42, $FC, $18, $14, $42, $04, $80, $E8, $00 ; CPU:$EE44 PRG:6E44 04 18 16 42 F4 18 15 42 FC 18 14 42 04 80 E8 00 - .byte $17, $00, $F6, $00, $18, $00, $FE, $00, $19, $00, $06, $08, $1A, $00, $EE, $08 ; CPU:$EE54 PRG:6E54 17 00 F6 00 18 00 FE 00 19 00 06 08 1A 00 EE 08 - .byte $1B, $00, $F6, $08, $1C, $00, $FE, $08, $1D, $00, $06, $10, $1E, $00, $EE, $10 ; CPU:$EE64 PRG:6E64 1B 00 F6 08 1C 00 FE 08 1D 00 06 10 1E 00 EE 10 - .byte $1F, $00, $F6, $10, $20, $00, $FE, $10, $21, $00, $06, $18, $22, $02, $F6, $18 ; CPU:$EE74 PRG:6E74 1F 00 F6 10 20 00 FE 10 21 00 06 18 22 02 F6 18 - .byte $23, $02, $FE, $18, $24, $02, $06, $80, $E8, $00, $19, $40, $F2, $00, $18, $40 ; CPU:$EE84 PRG:6E84 23 02 FE 18 24 02 06 80 E8 00 19 40 F2 00 18 40 - .byte $FA, $00, $17, $40, $02, $08, $1D, $40, $F2, $08, $1C, $40, $FA, $08, $1B, $40 ; CPU:$EE94 PRG:6E94 FA 00 17 40 02 08 1D 40 F2 08 1C 40 FA 08 1B 40 - .byte $02, $08, $1A, $40, $0A, $10, $21, $40, $F2, $10, $20, $40, $FA, $10, $1F, $40 ; CPU:$EEA4 PRG:6EA4 02 08 1A 40 0A 10 21 40 F2 10 20 40 FA 10 1F 40 - .byte $02, $10, $1E, $40, $0A, $18, $24, $42, $F2, $18, $23, $42, $FA, $18, $22, $42 ; CPU:$EEB4 PRG:6EB4 02 10 1E 40 0A 18 24 42 F2 18 23 42 FA 18 22 42 - .byte $02, $80, $E8, $00, $01, $01, $F8, $00, $02, $01, $00, $08, $03, $01, $F4, $08 ; CPU:$EEC4 PRG:6EC4 02 80 E8 00 01 01 F8 00 02 01 00 08 03 01 F4 08 - .byte $04, $01, $FC, $08, $05, $01, $04, $10, $06, $01, $F4, $10, $07, $01, $FC, $10 ; CPU:$EED4 PRG:6ED4 04 01 FC 08 05 01 04 10 06 01 F4 10 07 01 FC 10 - .byte $06, $41, $04, $18, $08, $42, $F8, $18, $08, $42, $00, $80, $E8, $00, $02, $01 ; CPU:$EEE4 PRG:6EE4 06 41 04 18 08 42 F8 18 08 42 00 80 E8 00 02 01 - .byte $00, $00, $01, $01, $F8, $08, $05, $01, $04, $08, $04, $01, $FC, $08, $03, $01 ; CPU:$EEF4 PRG:6EF4 00 00 01 01 F8 08 05 01 04 08 04 01 FC 08 03 01 - .byte $F4, $10, $06, $41, $04, $10, $07, $01, $FC, $10, $06, $01, $F4, $18, $08, $42 ; CPU:$EF04 PRG:6F04 F4 10 06 41 04 10 07 01 FC 10 06 01 F4 18 08 42 - .byte $00, $18, $08, $42, $F8, $80, $E8, $00, $0A, $01, $F4, $00, $0B, $01, $FC, $00 ; CPU:$EF14 PRG:6F14 00 18 08 42 F8 80 E8 00 0A 01 F4 00 0B 01 FC 00 - .byte $0C, $01, $04, $08, $0D, $01, $EC, $08, $0E, $01, $F4, $08, $0F, $01, $FC, $08 ; CPU:$EF24 PRG:6F24 0C 01 04 08 0D 01 EC 08 0E 01 F4 08 0F 01 FC 08 - .byte $10, $01, $04, $10, $11, $01, $F4, $10, $12, $01, $FC, $10, $13, $01, $04, $18 ; CPU:$EF34 PRG:6F34 10 01 04 10 11 01 F4 10 12 01 FC 10 13 01 04 18 - .byte $14, $02, $F4, $18, $15, $02, $FC, $18, $16, $02, $04, $80, $E8, $00, $0C, $41 ; CPU:$EF44 PRG:6F44 14 02 F4 18 15 02 FC 18 16 02 04 80 E8 00 0C 41 - .byte $F4, $00, $0B, $41, $FC, $00, $0A, $41, $04, $08, $10, $41, $F4, $08, $0F, $41 ; CPU:$EF54 PRG:6F54 F4 00 0B 41 FC 00 0A 41 04 08 10 41 F4 08 0F 41 - .byte $FC, $08, $0E, $41, $04, $08, $0D, $41, $0C, $10, $13, $41, $F4, $10, $12, $41 ; CPU:$EF64 PRG:6F64 FC 08 0E 41 04 08 0D 41 0C 10 13 41 F4 10 12 41 - .byte $FC, $10, $11, $41, $04, $18, $16, $42, $F4, $18, $15, $42, $FC, $18, $14, $42 ; CPU:$EF74 PRG:6F74 FC 10 11 41 04 18 16 42 F4 18 15 42 FC 18 14 42 - .byte $04, $80, $E8, $00, $0C, $01, $04, $00, $0B, $01, $FC, $00, $0A, $01, $F4, $08 ; CPU:$EF84 PRG:6F84 04 80 E8 00 0C 01 04 00 0B 01 FC 00 0A 01 F4 08 - .byte $10, $01, $04, $08, $0F, $01, $FC, $08, $0E, $01, $F4, $08, $0D, $01, $EC, $10 ; CPU:$EF94 PRG:6F94 10 01 04 08 0F 01 FC 08 0E 01 F4 08 0D 01 EC 10 - .byte $13, $02, $04, $10, $12, $01, $FC, $10, $11, $01, $F4, $18, $16, $02, $04, $18 ; CPU:$EFA4 PRG:6FA4 13 02 04 10 12 01 FC 10 11 01 F4 18 16 02 04 18 - .byte $15, $02, $FC, $18, $14, $02, $F4, $80, $E8, $00, $0A, $41, $04, $00, $0B, $41 ; CPU:$EFB4 PRG:6FB4 15 02 FC 18 14 02 F4 80 E8 00 0A 41 04 00 0B 41 - .byte $FC, $00, $0C, $41, $F4, $08, $0D, $41, $0C, $08, $0E, $41, $04, $08, $0F, $41 ; CPU:$EFC4 PRG:6FC4 FC 00 0C 41 F4 08 0D 41 0C 08 0E 41 04 08 0F 41 - .byte $FC, $08, $10, $41, $F4, $10, $11, $41, $04, $10, $12, $41, $FC, $10, $13, $41 ; CPU:$EFD4 PRG:6FD4 FC 08 10 41 F4 10 11 41 04 10 12 41 FC 10 13 41 - .byte $F4, $18, $14, $42, $04, $18, $15, $42, $FC, $18, $16, $42, $F4, $80, $E8, $00 ; CPU:$EFE4 PRG:6FE4 F4 18 14 42 04 18 15 42 FC 18 16 42 F4 80 E8 00 - .byte $17, $01, $F6, $00, $18, $01, $FE, $00, $19, $01, $06, $08, $1A, $01, $EE, $08 ; CPU:$EFF4 PRG:6FF4 17 01 F6 00 18 01 FE 00 19 01 06 08 1A 01 EE 08 - .byte $1B, $01, $F6, $08, $1C, $01, $FE, $08, $1D, $01, $06, $10, $1E, $01, $EE, $10 ; CPU:$F004 PRG:7004 1B 01 F6 08 1C 01 FE 08 1D 01 06 10 1E 01 EE 10 - .byte $1F, $01, $F6, $10, $20, $01, $FE, $10, $21, $01, $06, $18, $22, $02, $F6, $18 ; CPU:$F014 PRG:7014 1F 01 F6 10 20 01 FE 10 21 01 06 18 22 02 F6 18 - .byte $23, $02, $FE, $18, $24, $02, $06, $80, $E8, $00, $19, $41, $F2, $00, $18, $41 ; CPU:$F024 PRG:7024 23 02 FE 18 24 02 06 80 E8 00 19 41 F2 00 18 41 - .byte $FA, $00, $17, $41, $02, $08, $1D, $41, $F2, $08, $1C, $41, $FA, $08, $1B, $41 ; CPU:$F034 PRG:7034 FA 00 17 41 02 08 1D 41 F2 08 1C 41 FA 08 1B 41 - .byte $02, $08, $1A, $41, $0A, $10, $21, $41, $F2, $10, $20, $41, $FA, $10, $1F, $41 ; CPU:$F044 PRG:7044 02 08 1A 41 0A 10 21 41 F2 10 20 41 FA 10 1F 41 - .byte $02, $10, $1E, $41, $0A, $18, $24, $42, $F2, $18, $23, $42, $FA, $18, $22, $42 ; CPU:$F054 PRG:7054 02 10 1E 41 0A 18 24 42 F2 18 23 42 FA 18 22 42 - .byte $02, $80, $E8, $00, $19, $01, $06, $00, $18, $01, $FE, $00, $17, $01, $F6, $08 ; CPU:$F064 PRG:7064 02 80 E8 00 19 01 06 00 18 01 FE 00 17 01 F6 08 - .byte $1D, $01, $06, $08, $1C, $01, $FE, $08, $1B, $01, $F6, $08, $1A, $01, $EE, $10 ; CPU:$F074 PRG:7074 1D 01 06 08 1C 01 FE 08 1B 01 F6 08 1A 01 EE 10 - .byte $21, $01, $06, $10, $20, $01, $FE, $10, $1F, $01, $F6, $10, $1E, $01, $EE, $18 ; CPU:$F084 PRG:7084 21 01 06 10 20 01 FE 10 1F 01 F6 10 1E 01 EE 18 - .byte $24, $02, $06, $18, $23, $02, $FE, $18, $22, $02, $F6, $80, $E8, $00, $17, $41 ; CPU:$F094 PRG:7094 24 02 06 18 23 02 FE 18 22 02 F6 80 E8 00 17 41 - .byte $02, $00, $18, $41, $FA, $00, $19, $41, $F2, $08, $1A, $41, $0A, $08, $1B, $41 ; CPU:$F0A4 PRG:70A4 02 00 18 41 FA 00 19 41 F2 08 1A 41 0A 08 1B 41 - .byte $02, $08, $1C, $41, $FA, $08, $1D, $41, $F2, $10, $1E, $41, $0A, $10, $1F, $41 ; CPU:$F0B4 PRG:70B4 02 08 1C 41 FA 08 1D 41 F2 10 1E 41 0A 10 1F 41 - .byte $02, $10, $20, $41, $FA, $10, $21, $41, $F2, $18, $22, $42, $02, $18, $23, $42 ; CPU:$F0C4 PRG:70C4 02 10 20 41 FA 10 21 41 F2 18 22 42 02 18 23 42 - .byte $FA, $18, $24, $42, $F2, $80, $EC, $00, $25, $01, $F8, $00, $26, $01, $00, $08 ; CPU:$F0D4 PRG:70D4 FA 18 24 42 F2 80 EC 00 25 01 F8 00 26 01 00 08 - .byte $27, $01, $F4, $08, $28, $01, $FC, $08, $27, $41, $04, $10, $29, $01, $F8, $10 ; CPU:$F0E4 PRG:70E4 27 01 F4 08 28 01 FC 08 27 41 04 10 29 01 F8 10 - .byte $29, $41, $00, $18, $2A, $02, $F8, $18, $2A, $42, $00, $80, $EC, $00, $26, $01 ; CPU:$F0F4 PRG:70F4 29 41 00 18 2A 02 F8 18 2A 42 00 80 EC 00 26 01 - .byte $00, $00, $25, $01, $F8, $08, $27, $41, $04, $08, $28, $01, $FC, $08, $27, $01 ; CPU:$F104 PRG:7104 00 00 25 01 F8 08 27 41 04 08 28 01 FC 08 27 01 - .byte $F4, $10, $29, $41, $00, $10, $29, $01, $F8, $18, $2A, $42, $00, $18, $2A, $02 ; CPU:$F114 PRG:7114 F4 10 29 41 00 10 29 01 F8 18 2A 42 00 18 2A 02 - .byte $F8, $80, $EC, $00, $2B, $01, $F2, $00, $2C, $01, $FA, $00, $2D, $01, $02, $08 ; CPU:$F124 PRG:7124 F8 80 EC 00 2B 01 F2 00 2C 01 FA 00 2D 01 02 08 - .byte $2E, $01, $F2, $08, $2F, $01, $FA, $08, $30, $01, $02, $0C, $31, $01, $F2, $0C ; CPU:$F134 PRG:7134 2E 01 F2 08 2F 01 FA 08 30 01 02 0C 31 01 F2 0C - .byte $32, $01, $FA, $0C, $33, $01, $02, $14, $34, $02, $F2, $14, $35, $02, $FA, $14 ; CPU:$F144 PRG:7144 32 01 FA 0C 33 01 02 14 34 02 F2 14 35 02 FA 14 - .byte $36, $02, $02, $80, $EC, $00, $2D, $41, $F6, $00, $2C, $41, $FE, $00, $2B, $41 ; CPU:$F154 PRG:7154 36 02 02 80 EC 00 2D 41 F6 00 2C 41 FE 00 2B 41 - .byte $06, $08, $30, $41, $F6, $08, $2F, $41, $FE, $08, $2E, $41, $06, $0C, $33, $41 ; CPU:$F164 PRG:7164 06 08 30 41 F6 08 2F 41 FE 08 2E 41 06 0C 33 41 - .byte $F6, $0C, $32, $41, $FE, $0C, $31, $41, $06, $14, $36, $42, $F6, $14, $35, $42 ; CPU:$F174 PRG:7174 F6 0C 32 41 FE 0C 31 41 06 14 36 42 F6 14 35 42 - .byte $FE, $14, $34, $42, $06, $80, $EC, $00, $2D, $01, $02, $00, $2C, $01, $FA, $00 ; CPU:$F184 PRG:7184 FE 14 34 42 06 80 EC 00 2D 01 02 00 2C 01 FA 00 - .byte $2B, $01, $F2, $08, $30, $01, $02, $08, $2F, $01, $FA, $08, $2E, $01, $F2, $0C ; CPU:$F194 PRG:7194 2B 01 F2 08 30 01 02 08 2F 01 FA 08 2E 01 F2 0C - .byte $33, $01, $02, $0C, $32, $01, $FA, $0C, $31, $01, $F2, $14, $36, $02, $02, $14 ; CPU:$F1A4 PRG:71A4 33 01 02 0C 32 01 FA 0C 31 01 F2 14 36 02 02 14 - .byte $35, $02, $FA, $14, $34, $02, $F2, $80, $EC, $00, $2B, $41, $06, $00, $2C, $41 ; CPU:$F1B4 PRG:71B4 35 02 FA 14 34 02 F2 80 EC 00 2B 41 06 00 2C 41 - .byte $FE, $00, $2D, $41, $F6, $08, $2E, $41, $06, $08, $2F, $41, $FE, $08, $30, $41 ; CPU:$F1C4 PRG:71C4 FE 00 2D 41 F6 08 2E 41 06 08 2F 41 FE 08 30 41 - .byte $F6, $0C, $31, $41, $06, $0C, $32, $41, $FE, $0C, $33, $41, $F6, $14, $34, $42 ; CPU:$F1D4 PRG:71D4 F6 0C 31 41 06 0C 32 41 FE 0C 33 41 F6 14 34 42 - .byte $06, $14, $35, $42, $FE, $14, $36, $42, $F6, $80, $EC, $00, $37, $01, $FC, $08 ; CPU:$F1E4 PRG:71E4 06 14 35 42 FE 14 36 42 F6 80 EC 00 37 01 FC 08 - .byte $38, $01, $F4, $08, $39, $01, $FC, $08, $38, $41, $04, $10, $3B, $01, $F8, $10 ; CPU:$F1F4 PRG:71F4 38 01 F4 08 39 01 FC 08 38 41 04 10 3B 01 F8 10 - .byte $3B, $41, $00, $18, $3C, $02, $F8, $18, $3C, $42, $00, $80, $EC, $00, $37, $01 ; CPU:$F204 PRG:7204 3B 41 00 18 3C 02 F8 18 3C 42 00 80 EC 00 37 01 - .byte $FC, $08, $38, $41, $04, $08, $39, $01, $FC, $08, $38, $01, $F4, $10, $3B, $41 ; CPU:$F214 PRG:7214 FC 08 38 41 04 08 39 01 FC 08 38 01 F4 10 3B 41 - .byte $00, $10, $3B, $01, $F8, $18, $3C, $42, $00, $18, $3C, $02, $F8, $80, $F0, $00 ; CPU:$F224 PRG:7224 00 10 3B 01 F8 18 3C 42 00 18 3C 02 F8 80 F0 00 - .byte $3D, $01, $F8, $00, $3E, $01, $00, $06, $3F, $01, $F0, $08, $40, $01, $F8, $08 ; CPU:$F234 PRG:7234 3D 01 F8 00 3E 01 00 06 3F 01 F0 08 40 01 F8 08 - .byte $41, $01, $00, $10, $42, $02, $F8, $10, $43, $02, $00, $80, $F0, $00, $3E, $41 ; CPU:$F244 PRG:7244 41 01 00 10 42 02 F8 10 43 02 00 80 F0 00 3E 41 - .byte $F8, $00, $3D, $41, $00, $06, $3F, $41, $08, $08, $41, $41, $F8, $08, $40, $41 ; CPU:$F254 PRG:7254 F8 00 3D 41 00 06 3F 41 08 08 41 41 F8 08 40 41 - .byte $00, $10, $43, $42, $F8, $10, $42, $42, $00, $80, $F0, $00, $3E, $01, $00, $00 ; CPU:$F264 PRG:7264 00 10 43 42 F8 10 42 42 00 80 F0 00 3E 01 00 00 - .byte $3D, $01, $F8, $06, $3F, $01, $F0, $08, $41, $01, $00, $08, $40, $01, $F8, $10 ; CPU:$F274 PRG:7274 3D 01 F8 06 3F 01 F0 08 41 01 00 08 40 01 F8 10 - .byte $43, $02, $00, $10, $42, $02, $F8, $80, $F0, $00, $3D, $41, $00, $00, $3E, $41 ; CPU:$F284 PRG:7284 43 02 00 10 42 02 F8 80 F0 00 3D 41 00 00 3E 41 - .byte $F8, $06, $3F, $41, $08, $08, $40, $41, $00, $08, $41, $41, $F8, $10, $42, $42 ; CPU:$F294 PRG:7294 F8 06 3F 41 08 08 40 41 00 08 41 41 F8 10 42 42 - .byte $00, $10, $43, $42, $F8, $80, $F4, $00, $44, $01, $F8, $00, $44, $41, $00, $08 ; CPU:$F2A4 PRG:72A4 00 10 43 42 F8 80 F4 00 44 01 F8 00 44 41 00 08 - .byte $45, $01, $F8, $08, $45, $41, $00, $10, $46, $02, $FC, $80, $F4, $00, $44, $41 ; CPU:$F2B4 PRG:72B4 45 01 F8 08 45 41 00 10 46 02 FC 80 F4 00 44 41 - .byte $00, $00, $44, $01, $F8, $08, $45, $41, $00, $08, $45, $01, $F8, $10, $46, $02 ; CPU:$F2C4 PRG:72C4 00 00 44 01 F8 08 45 41 00 08 45 01 F8 10 46 02 - .byte $FC, $80, $F8, $00, $47, $01, $F8, $00, $47, $41, $00, $08, $48, $01, $F8, $08 ; CPU:$F2D4 PRG:72D4 FC 80 F8 00 47 01 F8 00 47 41 00 08 48 01 F8 08 - .byte $48, $41, $00, $80, $F8, $00, $47, $41, $00, $00, $47, $01, $F8, $08, $48, $41 ; CPU:$F2E4 PRG:72E4 48 41 00 80 F8 00 47 41 00 00 47 01 F8 08 48 41 - .byte $00, $08, $48, $01, $F8, $80, $FC, $00, $49, $01, $FC, $08, $4A, $01, $FC, $80 ; CPU:$F2F4 PRG:72F4 00 08 48 01 F8 80 FC 00 49 01 FC 08 4A 01 FC 80 - .byte $00, $00, $4B, $01, $FC, $80, $00, $00, $4C, $01, $FC, $80, $00, $00, $4D, $01 ; CPU:$F304 PRG:7304 00 00 4B 01 FC 80 00 00 4C 01 FC 80 00 00 4D 01 - .byte $FC, $80, $00, $00, $4E, $01, $FC, $80, $00, $00, $82, $01, $FC, $80, $00, $00 ; CPU:$F314 PRG:7314 FC 80 00 00 4E 01 FC 80 00 00 82 01 FC 80 00 00 - .byte $82, $03, $FC, $80, $00, $00, $81, $03, $FC, $80, $00, $00, $80, $43, $FC, $80 ; CPU:$F324 PRG:7324 82 03 FC 80 00 00 81 03 FC 80 00 00 80 43 FC 80 - .byte $00, $00, $3A, $03, $FC, $80, $00, $00, $5C, $03, $FC, $80, $00, $00, $5D, $03 ; CPU:$F334 PRG:7334 00 00 3A 03 FC 80 00 00 5C 03 FC 80 00 00 5D 03 - .byte $FC, $80, $F8, $00, $5E, $03, $FC, $08, $5F, $03, $FC, $80, $F8, $00, $67, $03 ; CPU:$F344 PRG:7344 FC 80 F8 00 5E 03 FC 08 5F 03 FC 80 F8 00 67 03 - .byte $F8, $00, $67, $43, $00, $08, $63, $03, $F8, $08, $63, $43, $00, $80, $F8, $00 ; CPU:$F354 PRG:7354 F8 00 67 43 00 08 63 03 F8 08 63 43 00 80 F8 00 - .byte $67, $43, $00, $00, $67, $03, $F8, $08, $63, $43, $00, $08, $63, $03, $F8, $80 ; CPU:$F364 PRG:7364 67 43 00 00 67 03 F8 08 63 43 00 08 63 03 F8 80 - .byte $F0, $00, $67, $03, $F8, $00, $67, $43, $00, $08, $68, $03, $F8, $08, $6F, $43 ; CPU:$F374 PRG:7374 F0 00 67 03 F8 00 67 43 00 08 68 03 F8 08 6F 43 - .byte $00, $10, $69, $03, $F8, $10, $69, $43, $00, $80, $F0, $00, $67, $43, $00, $00 ; CPU:$F384 PRG:7384 00 10 69 03 F8 10 69 43 00 80 F0 00 67 43 00 00 - .byte $67, $03, $F8, $08, $6F, $43, $00, $08, $68, $03, $F8, $10, $69, $43, $00, $10 ; CPU:$F394 PRG:7394 67 03 F8 08 6F 43 00 08 68 03 F8 10 69 43 00 10 - .byte $69, $03, $F8, $80, $E8, $00, $6E, $03, $F8, $00, $6E, $43, $00, $08, $6F, $03 ; CPU:$F3A4 PRG:73A4 69 03 F8 80 E8 00 6E 03 F8 00 6E 43 00 08 6F 03 - .byte $F8, $08, $6F, $43, $00, $10, $70, $03, $F8, $10, $70, $43, $00, $18, $71, $03 ; CPU:$F3B4 PRG:73B4 F8 08 6F 43 00 10 70 03 F8 10 70 43 00 18 71 03 - .byte $F8, $18, $71, $43, $00, $80, $E8, $00, $6E, $43, $00, $00, $6E, $03, $F8, $08 ; CPU:$F3C4 PRG:73C4 F8 18 71 43 00 80 E8 00 6E 43 00 00 6E 03 F8 08 - .byte $6F, $43, $00, $08, $6F, $03, $F8, $10, $70, $43, $00, $10, $70, $03, $F8, $18 ; CPU:$F3D4 PRG:73D4 6F 43 00 08 6F 03 F8 10 70 43 00 10 70 03 F8 18 - .byte $71, $43, $00, $18, $71, $03, $F8, $80, $E0, $00, $72, $03, $F8, $00, $6E, $43 ; CPU:$F3E4 PRG:73E4 71 43 00 18 71 03 F8 80 E0 00 72 03 F8 00 6E 43 - .byte $00, $08, $74, $03, $F8, $08, $76, $43, $00, $10, $76, $03, $F4, $10, $77, $03 ; CPU:$F3F4 PRG:73F4 00 08 74 03 F8 08 76 43 00 10 76 03 F4 10 77 03 - .byte $FC, $10, $78, $03, $04, $18, $79, $03, $F4, $18, $7A, $03, $FC, $18, $7B, $03 ; CPU:$F404 PRG:7404 FC 10 78 03 04 18 79 03 F4 18 7A 03 FC 18 7B 03 - .byte $04, $20, $7C, $03, $F4, $20, $7D, $03, $FC, $20, $7E, $03, $04, $80, $E0, $00 ; CPU:$F414 PRG:7414 04 20 7C 03 F4 20 7D 03 FC 20 7E 03 04 80 E0 00 - .byte $6E, $43, $00, $00, $72, $03, $F8, $08, $76, $43, $00, $08, $74, $03, $F8, $10 ; CPU:$F424 PRG:7424 6E 43 00 00 72 03 F8 08 76 43 00 08 74 03 F8 10 - .byte $78, $03, $04, $10, $77, $03, $FC, $10, $76, $03, $F4, $18, $7B, $03, $04, $18 ; CPU:$F434 PRG:7434 78 03 04 10 77 03 FC 10 76 03 F4 18 7B 03 04 18 - .byte $7A, $03, $FC, $18, $79, $03, $F4, $20, $7E, $03, $04, $20, $7D, $03, $FC, $20 ; CPU:$F444 PRG:7444 7A 03 FC 18 79 03 F4 20 7E 03 04 20 7D 03 FC 20 - .byte $7C, $03, $F4, $80, $00, $00, $82, $00, $FC, $80, $00, $00, $81, $00, $FC, $80 ; CPU:$F454 PRG:7454 7C 03 F4 80 00 00 82 00 FC 80 00 00 81 00 FC 80 - .byte $00, $00, $80, $40, $FC, $80, $00, $00, $3A, $00, $FC, $80, $00, $00, $58, $40 ; CPU:$F464 PRG:7464 00 00 80 40 FC 80 00 00 3A 00 FC 80 00 00 58 40 - .byte $FB, $80, $00, $00, $58, $00, $FD, $80, $FC, $00, $57, $40, $FA, $04, $56, $40 ; CPU:$F474 PRG:7474 FB 80 00 00 58 00 FD 80 FC 00 57 40 FA 04 56 40 - .byte $FC, $80, $FC, $00, $57, $00, $FE, $04, $56, $00, $FC, $80, $FA, $00, $56, $40 ; CPU:$F484 PRG:7484 FC 80 FC 00 57 00 FE 04 56 00 FC 80 FA 00 56 40 - .byte $FC, $00, $55, $40, $F7, $06, $56, $40, $FC, $80, $FA, $00, $56, $00, $FC, $00 ; CPU:$F494 PRG:7494 FC 00 55 40 F7 06 56 40 FC 80 FA 00 56 00 FC 00 - .byte $55, $00, $01, $06, $56, $00, $FC, $80, $F6, $00, $53, $40, $FC, $00, $54, $40 ; CPU:$F4A4 PRG:74A4 55 00 01 06 56 00 FC 80 F6 00 53 40 FC 00 54 40 - .byte $F6, $08, $53, $40, $FC, $0A, $53, $40, $FC, $80, $F6, $00, $53, $00, $FC, $00 ; CPU:$F4B4 PRG:74B4 F6 08 53 40 FC 0A 53 40 FC 80 F6 00 53 00 FC 00 - .byte $54, $00, $02, $08, $53, $00, $FC, $0A, $53, $00, $FC, $80, $EE, $00, $52, $40 ; CPU:$F4C4 PRG:74C4 54 00 02 08 53 00 FC 0A 53 00 FC 80 EE 00 52 40 - .byte $F6, $03, $53, $40, $FC, $08, $8F, $40, $F6, $0B, $53, $40, $FC, $12, $53, $40 ; CPU:$F4D4 PRG:74D4 F6 03 53 40 FC 08 8F 40 F6 0B 53 40 FC 12 53 40 - .byte $FC, $80, $EE, $00, $52, $00, $02, $03, $53, $00, $FC, $08, $8F, $00, $02, $0B ; CPU:$F4E4 PRG:74E4 FC 80 EE 00 52 00 02 03 53 00 FC 08 8F 00 02 0B - .byte $53, $00, $FC, $12, $53, $00, $FC, $80, $E9, $00, $5A, $40, $F7, $01, $51, $40 ; CPU:$F4F4 PRG:74F4 53 00 FC 12 53 00 FC 80 E9 00 5A 40 F7 01 51 40 - .byte $FC, $01, $59, $40, $EF, $07, $5A, $C0, $F7, $08, $59, $C0, $EF, $09, $51, $40 ; CPU:$F504 PRG:7504 FC 01 59 40 EF 07 5A C0 F7 08 59 C0 EF 09 51 40 - .byte $FC, $11, $51, $40, $FC, $17, $51, $40, $FC, $80, $E9, $00, $5A, $00, $01, $01 ; CPU:$F514 PRG:7514 FC 11 51 40 FC 17 51 40 FC 80 E9 00 5A 00 01 01 - .byte $51, $00, $FC, $01, $59, $00, $09, $07, $5A, $80, $01, $08, $59, $80, $09, $09 ; CPU:$F524 PRG:7524 51 00 FC 01 59 00 09 07 5A 80 01 08 59 80 09 09 - .byte $51, $00, $FC, $11, $51, $00, $FC, $17, $51, $00, $FC, $80, $E4, $00, $50, $40 ; CPU:$F534 PRG:7534 51 00 FC 11 51 00 FC 17 51 00 FC 80 E4 00 50 40 - .byte $ED, $00, $4F, $40, $F5, $00, $51, $40, $FC, $08, $95, $40, $ED, $08, $93, $40 ; CPU:$F544 PRG:7544 ED 00 4F 40 F5 00 51 40 FC 08 95 40 ED 08 93 40 - .byte $F5, $08, $51, $40, $FC, $10, $51, $40, $FC, $18, $51, $40, $FC, $1C, $51, $40 ; CPU:$F554 PRG:7554 F5 08 51 40 FC 10 51 40 FC 18 51 40 FC 1C 51 40 - .byte $FC, $80, $E4, $00, $51, $40, $FC, $00, $4F, $40, $F5, $00, $50, $40, $ED, $08 ; CPU:$F564 PRG:7564 FC 80 E4 00 51 40 FC 00 4F 40 F5 00 50 40 ED 08 - .byte $51, $40, $FC, $08, $93, $40, $F5, $08, $95, $40, $ED, $10, $51, $40, $FC, $18 ; CPU:$F574 PRG:7574 51 40 FC 08 93 40 F5 08 95 40 ED 10 51 40 FC 18 - .byte $51, $40, $FC, $1C, $51, $40, $FC, $80, $E4, $00, $50, $00, $0B, $00, $4F, $00 ; CPU:$F584 PRG:7584 51 40 FC 1C 51 40 FC 80 E4 00 50 00 0B 00 4F 00 - .byte $03, $00, $51, $00, $FC, $08, $95, $00, $0B, $08, $93, $00, $03, $08, $51, $00 ; CPU:$F594 PRG:7594 03 00 51 00 FC 08 95 00 0B 08 93 00 03 08 51 00 - .byte $FC, $10, $51, $00, $FC, $18, $51, $00, $FC, $1C, $51, $00, $FC, $80, $E4, $00 ; CPU:$F5A4 PRG:75A4 FC 10 51 00 FC 18 51 00 FC 1C 51 00 FC 80 E4 00 - .byte $51, $00, $FC, $00, $4F, $00, $03, $00, $50, $00, $0B, $08, $51, $00, $FC, $08 ; CPU:$F5B4 PRG:75B4 51 00 FC 00 4F 00 03 00 50 00 0B 08 51 00 FC 08 - .byte $93, $00, $03, $08, $95, $00, $0B, $10, $51, $00, $FC, $18, $51, $00, $FC, $1C ; CPU:$F5C4 PRG:75C4 93 00 03 08 95 00 0B 10 51 00 FC 18 51 00 FC 1C - .byte $51, $00, $FC, $80, $00, $00, $82, $02, $FC, $80, $00, $00, $81, $02, $FC, $80 ; CPU:$F5D4 PRG:75D4 51 00 FC 80 00 00 82 02 FC 80 00 00 81 02 FC 80 - .byte $00, $00, $80, $42, $FC, $80, $00, $00, $3A, $02, $FC, $80, $00, $00, $B6, $02 ; CPU:$F5E4 PRG:75E4 00 00 80 42 FC 80 00 00 3A 02 FC 80 00 00 B6 02 - .byte $FC, $80, $00, $00, $B5, $02, $FC, $80, $F8, $00, $B3, $02, $FC, $08, $B4, $02 ; CPU:$F5F4 PRG:75F4 FC 80 00 00 B5 02 FC 80 F8 00 B3 02 FC 08 B4 02 - .byte $FC, $80, $F8, $00, $B1, $02, $FC, $08, $B2, $02, $FC, $80, $F0, $00, $AE, $02 ; CPU:$F604 PRG:7604 FC 80 F8 00 B1 02 FC 08 B2 02 FC 80 F0 00 AE 02 - .byte $FC, $08, $AF, $02, $F8, $08, $AF, $42, $00, $10, $B0, $02, $FC, $80, $F0, $00 ; CPU:$F614 PRG:7614 FC 08 AF 02 F8 08 AF 42 00 10 B0 02 FC 80 F0 00 - .byte $AE, $02, $FC, $08, $AF, $42, $00, $08, $AF, $02, $F8, $10, $B0, $02, $FC, $80 ; CPU:$F624 PRG:7624 AE 02 FC 08 AF 42 00 08 AF 02 F8 10 B0 02 FC 80 - .byte $EB, $00, $AA, $02, $FC, $08, $AB, $02, $F8, $08, $AB, $42, $00, $10, $AC, $02 ; CPU:$F634 PRG:7634 EB 00 AA 02 FC 08 AB 02 F8 08 AB 42 00 10 AC 02 - .byte $F8, $10, $AC, $42, $00, $18, $AD, $02, $F8, $18, $AD, $42, $00, $80, $EB, $00 ; CPU:$F644 PRG:7644 F8 10 AC 42 00 18 AD 02 F8 18 AD 42 00 80 EB 00 - .byte $AA, $02, $FC, $08, $AB, $42, $00, $08, $AB, $02, $F8, $10, $AC, $42, $00, $10 ; CPU:$F654 PRG:7654 AA 02 FC 08 AB 42 00 08 AB 02 F8 10 AC 42 00 10 - .byte $AC, $02, $F8, $18, $AD, $42, $00, $18, $AD, $02, $F8, $80, $E0, $00, $A4, $02 ; CPU:$F664 PRG:7664 AC 02 F8 18 AD 42 00 18 AD 02 F8 80 E0 00 A4 02 - .byte $F8, $00, $A3, $02, $00, $08, $A6, $02, $F8, $08, $A5, $02, $00, $10, $A8, $02 ; CPU:$F674 PRG:7674 F8 00 A3 02 00 08 A6 02 F8 08 A5 02 00 10 A8 02 - .byte $F4, $10, $A7, $02, $FC, $10, $A8, $42, $04, $18, $A9, $02, $F8, $18, $A9, $42 ; CPU:$F684 PRG:7684 F4 10 A7 02 FC 10 A8 42 04 18 A9 02 F8 18 A9 42 - .byte $00, $20, $5B, $02, $F8, $20, $5B, $42, $00, $F8, $E0, $00, $A3, $02, $00, $00 ; CPU:$F694 PRG:7694 00 20 5B 02 F8 20 5B 42 00 F8 E0 00 A3 02 00 00 - .byte $A4, $02, $F8, $08, $A5, $02, $00, $08, $A6, $02, $F8, $10, $A8, $42, $04, $10 ; CPU:$F6A4 PRG:76A4 A4 02 F8 08 A5 02 00 08 A6 02 F8 10 A8 42 04 10 - .byte $A7, $02, $FC, $10, $A8, $02, $F4, $18, $A9, $42, $00, $18, $A9, $02, $F8, $20 ; CPU:$F6B4 PRG:76B4 A7 02 FC 10 A8 02 F4 18 A9 42 00 18 A9 02 F8 20 - .byte $5B, $42, $00, $20, $5B, $02, $F8, $F8, $D0, $00, $8E, $00, $F0, $00, $87, $00 ; CPU:$F6C4 PRG:76C4 5B 42 00 20 5B 02 F8 F8 D0 00 8E 00 F0 00 87 00 - .byte $08, $05, $8C, $40, $F8, $05, $8A, $40, $00, $0D, $6A, $00, $F8, $0D, $6B, $00 ; CPU:$F6D4 PRG:76D4 08 05 8C 40 F8 05 8A 40 00 0D 6A 00 F8 0D 6B 00 - .byte $00, $0D, $89, $40, $08, $15, $82, $00, $F2, $15, $6C, $00, $F6, $15, $6D, $00 ; CPU:$F6E4 PRG:76E4 00 0D 89 40 08 15 82 00 F2 15 6C 00 F6 15 6D 00 - .byte $FE, $1C, $E1, $00, $F1, $1C, $E7, $00, $F9, $1C, $E8, $00, $01, $24, $E9, $02 ; CPU:$F6F4 PRG:76F4 FE 1C E1 00 F1 1C E7 00 F9 1C E8 00 01 24 E9 02 - .byte $F8, $24, $75, $02, $00, $2B, $92, $02, $F2, $2B, $98, $02, $FA, $80, $D0, $00 ; CPU:$F704 PRG:7704 F8 24 75 02 00 2B 92 02 F2 2B 98 02 FA 80 D0 00 - .byte $87, $40, $F0, $00, $8E, $40, $08, $05, $8A, $00, $F8, $05, $8C, $00, $00, $0D ; CPU:$F714 PRG:7714 87 40 F0 00 8E 40 08 05 8A 00 F8 05 8C 00 00 0D - .byte $6A, $00, $F8, $0D, $6B, $00, $00, $0D, $89, $40, $08, $15, $6D, $40, $FA, $15 ; CPU:$F724 PRG:7724 6A 00 F8 0D 6B 00 00 0D 89 40 08 15 6D 40 FA 15 - .byte $6C, $40, $02, $15, $82, $40, $06, $1C, $E8, $40, $F7, $1C, $E7, $40, $FF, $1C ; CPU:$F734 PRG:7734 6C 40 02 15 82 40 06 1C E8 40 F7 1C E7 40 FF 1C - .byte $E1, $40, $07, $24, $75, $42, $F8, $24, $E9, $42, $00, $2B, $98, $42, $FE, $2B ; CPU:$F744 PRG:7744 E1 40 07 24 75 42 F8 24 E9 42 00 2B 98 42 FE 2B - .byte $92, $42, $06, $80, $D0, $00, $8E, $00, $F0, $00, $87, $00, $08, $05, $8C, $40 ; CPU:$F754 PRG:7754 92 42 06 80 D0 00 8E 00 F0 00 87 00 08 05 8C 40 - .byte $F8, $05, $8A, $40, $00, $0D, $89, $00, $F0, $0D, $6B, $40, $F8, $0D, $6A, $40 ; CPU:$F764 PRG:7764 F8 05 8A 40 00 0D 89 00 F0 0D 6B 40 F8 0D 6A 40 - .byte $00, $15, $82, $00, $F2, $15, $6C, $00, $F6, $15, $6D, $00, $FE, $1C, $E1, $00 ; CPU:$F774 PRG:7774 00 15 82 00 F2 15 6C 00 F6 15 6D 00 FE 1C E1 00 - .byte $F1, $1C, $E7, $00, $F9, $1C, $E8, $00, $01, $24, $E9, $02, $F8, $24, $75, $02 ; CPU:$F784 PRG:7784 F1 1C E7 00 F9 1C E8 00 01 24 E9 02 F8 24 75 02 - .byte $00, $2B, $92, $02, $F2, $2B, $98, $02, $FA, $80, $D0, $00, $87, $40, $F0, $00 ; CPU:$F794 PRG:7794 00 2B 92 02 F2 2B 98 02 FA 80 D0 00 87 40 F0 00 - .byte $8E, $40, $08, $05, $8A, $00, $F8, $05, $8C, $00, $00, $0D, $89, $00, $F0, $0D ; CPU:$F7A4 PRG:77A4 8E 40 08 05 8A 00 F8 05 8C 00 00 0D 89 00 F0 0D - .byte $6B, $40, $F8, $0D, $6A, $40, $00, $15, $6D, $40, $FA, $15, $6C, $40, $02, $15 ; CPU:$F7B4 PRG:77B4 6B 40 F8 0D 6A 40 00 15 6D 40 FA 15 6C 40 02 15 - .byte $82, $40, $06, $1C, $E8, $40, $F7, $1C, $E7, $40, $FF, $1C, $E1, $40, $07, $24 ; CPU:$F7C4 PRG:77C4 82 40 06 1C E8 40 F7 1C E7 40 FF 1C E1 40 07 24 - .byte $75, $42, $F8, $24, $E9, $42, $00, $2B, $98, $42, $FE, $2B, $92, $42, $06, $80 ; CPU:$F7D4 PRG:77D4 75 42 F8 24 E9 42 00 2B 98 42 FE 2B 92 42 06 80 - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7E4 PRG:77E4 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, $00, $00, $00, $00 ; CPU:$F7F4 PRG:77F4 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F804 PRG:7804 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F814 PRG:7814 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F824 PRG:7824 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F834 PRG:7834 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01 ; CPU:$F844 PRG:7844 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F854 PRG:7854 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F864 PRG:7864 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F874 PRG:7874 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F884 PRG:7884 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F894 PRG:7894 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03 ; CPU:$F8A4 PRG:78A4 02 02 02 02 02 02 02 02 02 02 02 02 02 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F8B4 PRG:78B4 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $04, $04, $04 ; CPU:$F8C4 PRG:78C4 03 03 03 03 03 03 03 03 03 03 03 03 03 04 04 04 - .byte $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04 ; CPU:$F8D4 PRG:78D4 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 - .byte $04, $04, $04, $04, $04, $04, $04, $04, $04, $05, $05, $05, $05, $05, $05, $05 ; CPU:$F8E4 PRG:78E4 04 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 - .byte $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05 ; CPU:$F8F4 PRG:78F4 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 - .byte $05, $05, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06 ; CPU:$F904 PRG:7904 05 05 06 06 06 06 06 06 06 06 06 06 06 06 06 06 - .byte $06, $06, $06, $06, $06, $06, $06, $06, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$F914 PRG:7914 06 06 06 06 06 06 06 06 07 07 07 07 07 07 07 07 - .byte $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $08, $08, $08, $08 ; CPU:$F924 PRG:7924 07 07 07 07 07 07 07 07 07 07 07 07 08 08 08 08 - .byte $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; CPU:$F934 PRG:7934 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 - .byte $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09 ; CPU:$F944 PRG:7944 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 - .byte $09, $09, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A ; CPU:$F954 PRG:7954 09 09 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A - .byte $0A, $0A, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B ; CPU:$F964 PRG:7964 0A 0A 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B - .byte $0B, $0B, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$F974 PRG:7974 0B 0B 0B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C - .byte $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$F984 PRG:7984 0C 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D - .byte $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0F ; CPU:$F994 PRG:7994 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0F - .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $10, $10, $10, $10 ; CPU:$F9A4 PRG:79A4 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 10 10 10 10 - .byte $10, $10, $10, $10, $10, $10, $10, $10, $10, $11, $11, $11, $11, $11, $11, $11 ; CPU:$F9B4 PRG:79B4 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 - .byte $11, $11, $11, $11, $11, $11, $12, $12, $12, $12, $12, $12, $12, $12, $12, $12 ; CPU:$F9C4 PRG:79C4 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 - .byte $12, $12, $13, $13, $13, $13, $13, $13, $13, $13, $13, $13, $13, $14, $14, $14 ; CPU:$F9D4 PRG:79D4 12 12 13 13 13 13 13 13 13 13 13 13 13 14 14 14 - .byte $14, $14, $14, $14, $14, $14, $14, $14, $14, $15, $15, $15, $15, $15, $15, $15 ; CPU:$F9E4 PRG:79E4 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 - .byte $15, $15, $15, $15, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $17 ; CPU:$F9F4 PRG:79F4 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 17 - .byte $17, $17, $17, $17, $17, $17, $17, $17, $17, $18, $18, $18, $18, $18, $18, $18 ; CPU:$FA04 PRG:7A04 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 - .byte $18, $18, $18, $19, $19, $19, $19, $19, $19, $19, $19, $19, $19, $1A, $1A, $1A ; CPU:$FA14 PRG:7A14 18 18 18 19 19 19 19 19 19 19 19 19 19 1A 1A 1A - .byte $1A, $1A, $1A, $1A, $1A, $1A, $1A, $1B, $1B, $1B, $1B, $1B, $1B, $1B, $1B, $1B ; CPU:$FA24 PRG:7A24 1A 1A 1A 1A 1A 1A 1A 1B 1B 1B 1B 1B 1B 1B 1B 1B - .byte $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1D, $1D, $1D, $1D, $1D, $1D ; CPU:$FA34 PRG:7A34 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1D 1D 1D 1D 1D 1D - .byte $1D, $1D, $1D, $1E, $1E, $1E, $1E, $1E, $1E, $1E, $1E, $1F, $1F, $1F, $1F, $1F ; CPU:$FA44 PRG:7A44 1D 1D 1D 1E 1E 1E 1E 1E 1E 1E 1E 1F 1F 1F 1F 1F - .byte $1F, $1F, $1F, $1F, $20, $20, $20, $20, $20, $20, $20, $20, $21, $21, $21, $21 ; CPU:$FA54 PRG:7A54 1F 1F 1F 1F 20 20 20 20 20 20 20 20 21 21 21 21 - .byte $21, $21, $21, $21, $21, $22, $22, $22, $22, $22, $22, $22, $22, $23, $23, $23 ; CPU:$FA64 PRG:7A64 21 21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 - .byte $23, $23, $23, $23, $23, $24, $24, $24, $24, $24, $24, $24, $25, $25, $25, $25 ; CPU:$FA74 PRG:7A74 23 23 23 23 23 24 24 24 24 24 24 24 25 25 25 25 - .byte $25, $25, $25, $25, $26, $26, $26, $26, $26, $26, $26, $27, $27, $27, $27, $27 ; CPU:$FA84 PRG:7A84 25 25 25 25 26 26 26 26 26 26 26 27 27 27 27 27 - .byte $27, $27, $27, $28, $28, $28, $28, $28, $28, $28, $29, $29, $29, $29, $29, $29 ; CPU:$FA94 PRG:7A94 27 27 27 28 28 28 28 28 28 28 29 29 29 29 29 29 - .byte $29, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2B, $2B, $2B, $2B, $2B, $2B, $2B, $2C ; CPU:$FAA4 PRG:7AA4 29 2A 2A 2A 2A 2A 2A 2A 2B 2B 2B 2B 2B 2B 2B 2C - .byte $2C, $2C, $2C, $2C, $2C, $2D, $2D, $2D, $2D, $2D, $2D, $2D, $2E, $2E, $2E, $2E ; CPU:$FAB4 PRG:7AB4 2C 2C 2C 2C 2C 2D 2D 2D 2D 2D 2D 2D 2E 2E 2E 2E - .byte $2E, $2E, $2F, $2F, $2F, $2F, $2F, $2F, $2F, $30, $30, $30, $30, $30, $30, $31 ; CPU:$FAC4 PRG:7AC4 2E 2E 2F 2F 2F 2F 2F 2F 2F 30 30 30 30 30 30 31 - .byte $31, $31, $31, $31, $31, $32, $32, $32, $32, $32, $32, $33, $33, $33, $33, $33 ; CPU:$FAD4 PRG:7AD4 31 31 31 31 31 32 32 32 32 32 32 33 33 33 33 33 - .byte $33, $34, $34, $34, $34, $34, $34, $35, $35, $35, $35, $35, $35, $36, $36, $36 ; CPU:$FAE4 PRG:7AE4 33 34 34 34 34 34 34 35 35 35 35 35 35 36 36 36 - .byte $36, $36, $37, $37, $37, $37, $37, $37, $38, $38, $38, $38, $38, $39, $39, $39 ; CPU:$FAF4 PRG:7AF4 36 36 37 37 37 37 37 37 38 38 38 38 38 39 39 39 - .byte $39, $39, $39, $3A, $3A, $3A, $3A, $3A, $3B, $3B, $3B, $3B, $3B, $3C, $3C, $3C ; CPU:$FB04 PRG:7B04 39 39 39 3A 3A 3A 3A 3A 3B 3B 3B 3B 3B 3C 3C 3C - .byte $3C, $3C, $3D, $3D, $3D, $3D, $3D, $3E, $3E, $3E, $3E, $3E, $3F, $3F, $3F, $3F ; CPU:$FB14 PRG:7B14 3C 3C 3D 3D 3D 3D 3D 3E 3E 3E 3E 3E 3F 3F 3F 3F - .byte $3F, $40, $40, $40, $40, $40, $41, $41, $41, $41, $41, $42, $42, $42, $42, $43 ; CPU:$FB24 PRG:7B24 3F 40 40 40 40 40 41 41 41 41 41 42 42 42 42 43 - .byte $43, $43, $43, $43, $44, $44, $44, $44, $45, $45, $45, $45, $45, $46, $46, $46 ; CPU:$FB34 PRG:7B34 43 43 43 43 44 44 44 44 45 45 45 45 45 46 46 46 - .byte $46, $47, $47, $47, $47, $47, $48, $48, $48, $48, $49, $49, $49, $49, $4A, $4A ; CPU:$FB44 PRG:7B44 46 47 47 47 47 47 48 48 48 48 49 49 49 49 4A 4A - .byte $4A, $4A, $4B, $4B, $4B, $4B, $4C, $4C, $4C, $4C, $4D, $4D, $4D, $4D, $4E, $4E ; CPU:$FB54 PRG:7B54 4A 4A 4B 4B 4B 4B 4C 4C 4C 4C 4D 4D 4D 4D 4E 4E - .byte $4E, $4E, $4F, $4F, $4F, $4F, $50, $50, $50, $51, $51, $51, $51, $52, $52, $52 ; CPU:$FB64 PRG:7B64 4E 4E 4F 4F 4F 4F 50 50 50 51 51 51 51 52 52 52 - .byte $52, $53, $53, $53, $54, $54, $54, $54, $55, $55, $55, $56, $56, $56, $56, $57 ; CPU:$FB74 PRG:7B74 52 53 53 53 54 54 54 54 55 55 55 56 56 56 56 57 - .byte $57, $57, $58, $58, $58, $59, $59, $59, $59, $5A, $5A, $5A, $5B, $5B, $5B, $5C ; CPU:$FB84 PRG:7B84 57 57 58 58 58 59 59 59 59 5A 5A 5A 5B 5B 5B 5C - .byte $5C, $5C, $5D, $5D, $5D, $5E, $5E, $5E, $5F, $5F, $5F, $60, $60, $60, $61, $61 ; CPU:$FB94 PRG:7B94 5C 5C 5D 5D 5D 5E 5E 5E 5F 5F 5F 60 60 60 61 61 - .byte $61, $62, $62, $63, $63, $63, $64, $64, $64, $65, $65, $66, $66, $67, $67, $68 ; CPU:$FBA4 PRG:7BA4 61 62 62 63 63 63 64 64 64 65 65 66 66 67 67 68 - .byte $68, $68, $68, $69, $69, $6A, $6A, $6A, $6B, $6B, $6C, $6C, $6D, $6D, $6D, $6E ; CPU:$FBB4 PRG:7BB4 68 68 68 69 69 6A 6A 6A 6B 6B 6C 6C 6D 6D 6D 6E - .byte $6E, $6F, $6F, $70, $70, $71, $71, $72, $72, $73, $73, $74, $74, $75, $75, $76 ; CPU:$FBC4 PRG:7BC4 6E 6F 6F 70 70 71 71 72 72 73 73 74 74 75 75 76 - .byte $76, $77, $77, $78, $78, $79, $7A, $7A, $7B, $7B, $7C, $7D, $7D, $7E, $7E, $7F ; CPU:$FBD4 PRG:7BD4 76 77 77 78 78 79 7A 7A 7B 7B 7C 7D 7D 7E 7E 7F - .byte $80, $80, $81, $82, $83, $83, $84, $85, $86, $87, $87, $88, $89, $8A, $8B, $8C ; CPU:$FBE4 PRG:7BE4 80 80 81 82 83 83 84 85 86 87 87 88 89 8A 8B 8C - .byte $8D, $8E, $8F, $90, $92, $93, $94, $96, $98, $9A, $9C, $9F, $00, $01, $04, $06 ; CPU:$FBF4 PRG:7BF4 8D 8E 8F 90 92 93 94 96 98 9A 9C 9F 00 01 04 06 - .byte $09, $0B, $0E, $10, $13, $15, $18, $1A, $1D, $1F, $22, $24, $27, $2A, $2C, $2F ; CPU:$FC04 PRG:7C04 09 0B 0E 10 13 15 18 1A 1D 1F 22 24 27 2A 2C 2F - .byte $31, $34, $37, $39, $3C, $3E, $41, $44, $46, $49, $4C, $4F, $51, $54, $57, $5A ; CPU:$FC14 PRG:7C14 31 34 37 39 3C 3E 41 44 46 49 4C 4F 51 54 57 5A - .byte $5C, $5F, $62, $65, $68, $6B, $6E, $71, $74, $77, $7A, $7D, $80, $83, $86, $89 ; CPU:$FC24 PRG:7C24 5C 5F 62 65 68 6B 6E 71 74 77 7A 7D 80 83 86 89 - .byte $8D, $90, $93, $97, $9A, $9D, $A1, $A4, $A8, $AC, $AF, $B3, $B7, $BB, $BF, $C3 ; CPU:$FC34 PRG:7C34 8D 90 93 97 9A 9D A1 A4 A8 AC AF B3 B7 BB BF C3 - .byte $C7, $CB, $CF, $D3, $D8, $DC, $E0, $E5, $EA, $EF, $F3, $F8, $FE, $03, $08, $0E ; CPU:$FC44 PRG:7C44 C7 CB CF D3 D8 DC E0 E5 EA EF F3 F8 FE 03 08 0E - .byte $13, $19, $1F, $25, $2C, $32, $39, $40, $47, $4F, $56, $5E, $67, $6F, $78, $82 ; CPU:$FC54 PRG:7C54 13 19 1F 25 2C 32 39 40 47 4F 56 5E 67 6F 78 82 - .byte $8B, $96, $A1, $AC, $B8, $C4, $D2, $E0, $EF, $FF, $11, $23, $38, $4E, $66, $80 ; CPU:$FC64 PRG:7C64 8B 96 A1 AC B8 C4 D2 E0 EF FF 11 23 38 4E 66 80 - .byte $9E, $BF, $E5, $10, $42, $7E, $C6, $21, $99, $40, $44, $36, $00, $CA, $6C, $C0 ; CPU:$FC74 PRG:7C74 9E BF E5 10 42 7E C6 21 99 40 44 36 00 CA 6C C0 - .byte $67, $DF, $3A, $82, $BE, $F0, $1B, $41, $62, $80, $9A, $B2, $C8, $DD, $EF, $01 ; CPU:$FC84 PRG:7C84 67 DF 3A 82 BE F0 1B 41 62 80 9A B2 C8 DD EF 01 - .byte $11, $20, $2E, $3C, $48, $54, $5F, $6A, $75, $7E, $88, $91, $99, $A2, $AA, $B1 ; CPU:$FC94 PRG:7C94 11 20 2E 3C 48 54 5F 6A 75 7E 88 91 99 A2 AA B1 - .byte $B9, $C0, $C7, $CE, $D4, $DB, $E1, $E7, $ED, $F2, $F8, $FD, $02, $08, $0D, $11 ; CPU:$FCA4 PRG:7CA4 B9 C0 C7 CE D4 DB E1 E7 ED F2 F8 FD 02 08 0D 11 - .byte $16, $1B, $20, $24, $28, $2D, $31, $35, $39, $3D, $41, $45, $49, $4D, $51, $54 ; CPU:$FCB4 PRG:7CB4 16 1B 20 24 28 2D 31 35 39 3D 41 45 49 4D 51 54 - .byte $58, $5C, $5F, $63, $66, $69, $6D, $70, $73, $77, $7A, $7D, $80, $83, $86, $89 ; CPU:$FCC4 PRG:7CC4 58 5C 5F 63 66 69 6D 70 73 77 7A 7D 80 83 86 89 - .byte $8C, $8F, $92, $95, $98, $9B, $9E, $A1, $A4, $A6, $A9, $AC, $AF, $B1, $B4, $B7 ; CPU:$FCD4 PRG:7CD4 8C 8F 92 95 98 9B 9E A1 A4 A6 A9 AC AF B1 B4 B7 - .byte $BA, $BC, $BF, $C2, $C4, $C7, $C9, $CC, $CF, $D1, $D4, $D6, $D9, $DC, $DE, $E1 ; CPU:$FCE4 PRG:7CE4 BA BC BF C2 C4 C7 C9 CC CF D1 D4 D6 D9 DC DE E1 - .byte $E3, $E6, $E8, $EB, $ED, $F0, $F2, $F5, $F7, $FA, $FC, $FF, $00, $00, $00, $00 ; CPU:$FCF4 PRG:7CF4 E3 E6 E8 EB ED F0 F2 F5 F7 FA FC FF 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD04 PRG:7D04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD14 PRG:7D14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD24 PRG:7D24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD34 PRG:7D34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01 ; CPU:$FD44 PRG:7D44 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$FD54 PRG:7D54 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02 ; CPU:$FD64 PRG:7D64 01 01 01 01 01 01 01 01 01 01 02 02 02 02 02 02 - .byte $02, $02, $02, $03, $03, $03, $03, $04, $04, $05, $06, $08, $00, $F7, $F9, $FA ; CPU:$FD74 PRG:7D74 02 02 02 03 03 03 03 04 04 05 06 08 00 F7 F9 FA - .byte $FB, $FB, $FC, $FC, $FC, $FC, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FE ; CPU:$FD84 PRG:7D84 FB FB FC FC FC FC FD FD FD FD FD FD FD FD FD FE - .byte $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE ; CPU:$FD94 PRG:7D94 FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE - .byte $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FF, $FF, $FF, $FF ; CPU:$FDA4 PRG:7DA4 FE FE FE FE FE FE FE FE FE FE FE FE FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB4 PRG:7DB4 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:$FDC4 PRG:7DC4 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:$FDD4 PRG:7DD4 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:$FDE4 PRG:7DE4 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, $01, $01, $00, $01 ; CPU:$FDF4 PRG:7DF4 FF FF FF FF FF FF FF FF FF FF FF FF 01 01 00 01 - .byte $00, $00, $00, $FF, $FF, $FF ; CPU:$FE04 PRG:7E04 00 00 00 FF FF FF ; ----------------------------------------------------------------------------- -; Routine: Label_FE0A -; Global: Branch target inside Label: taken when FE0A. +; Routine: Label_C634 +; Global: Branch target inside Label: taken when C634. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_FE0A: - ldx #$51 ; CPU:$FE0A PRG:7E0A A2 51 +Label_C634: + jsr Sub_C62D ; CPU:$C634 PRG:4634 20 2D C6 + lda (Zp9B,x) ; CPU:$C637 PRG:4637 A1 9B + sta $074E,x ; CPU:$C639 PRG:4639 9D 4E 07 + jmp NmiHandler_OnZero7 ; CPU:$C63C PRG:463C 4C 5D C6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative6 -; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Routine: Label_C63F +; Global: Branch target inside Label: taken when C63F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C63F: + jsr Sub_C62D ; CPU:$C63F PRG:463F 20 2D C6 + lda (Zp9B,x) ; CPU:$C642 PRG:4642 A1 9B + sta $074F,x ; CPU:$C644 PRG:4644 9D 4F 07 + jmp NmiHandler_OnZero7 ; CPU:$C647 PRG:4647 4C 5D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C64A +; Global: Branch target inside Label: taken when C64A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C64A: + jsr Sub_C62D ; CPU:$C64A PRG:464A 20 2D C6 + lda (Zp9B,x) ; CPU:$C64D PRG:464D A1 9B + sta $0750,x ; CPU:$C64F PRG:464F 9D 50 07 + jmp NmiHandler_OnZero7 ; CPU:$C652 PRG:4652 4C 5D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C655 +; Global: Branch target inside Label: taken when C655. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C655: + jsr Sub_C62D ; CPU:$C655 PRG:4655 20 2D C6 + lda (Zp9B,x) ; CPU:$C658 PRG:4658 A1 9B + sta $0751,x ; CPU:$C65A PRG:465A 9D 51 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero7 +; Global: Branch target inside NmiHandler: taken when OnZero7. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative6: +NmiHandler_OnZero7: + jsr Sub_C62D ; CPU:$C65D PRG:465D 20 2D C6 + jmp Sub_C470 ; CPU:$C660 PRG:4660 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C663 +; Global: Branch target inside Label: taken when C663. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C663: + jsr Sub_C62D ; CPU:$C663 PRG:4663 20 2D C6 + lda (Zp9B,x) ; CPU:$C666 PRG:4666 A1 9B + sta $075F,x ; CPU:$C668 PRG:4668 9D 5F 07 + jsr Sub_C62D ; CPU:$C66B PRG:466B 20 2D C6 + lda (Zp9B,x) ; CPU:$C66E PRG:466E A1 9B + sta $0760,x ; CPU:$C670 PRG:4670 9D 60 07 + jsr Sub_C62D ; CPU:$C673 PRG:4673 20 2D C6 + lda (Zp9B,x) ; CPU:$C676 PRG:4676 A1 9B + sta $0761,x ; CPU:$C678 PRG:4678 9D 61 07 + jsr Sub_C62D ; CPU:$C67B PRG:467B 20 2D C6 + lda Zp9D,x ; CPU:$C67E PRG:467E B5 9D + ora Zp9E,x ; CPU:$C680 PRG:4680 15 9E + bne NmiHandler_Loop254 ; CPU:$C682 PRG:4682 D0 12 + lda Zp9B,x ; CPU:$C684 PRG:4684 B5 9B + sta Zp9D,x ; CPU:$C686 PRG:4686 95 9D + lda Zp9C,x ; CPU:$C688 PRG:4688 B5 9C + sta Zp9E,x ; CPU:$C68A PRG:468A 95 9E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero71 +; Global: Branch target inside NmiHandler: taken when OnNonzero71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero71: + lda $0760,x ; CPU:$C68C PRG:468C BD 60 07 + sta Zp9B,x ; CPU:$C68F PRG:468F 95 9B + lda $0761,x ; CPU:$C691 PRG:4691 BD 61 07 + sta Zp9C,x ; CPU:$C694 PRG:4694 95 9C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + jmp Sub_C470 ; CPU:$C696 PRG:4696 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C699 +; Global: Branch target inside Label: taken when C699. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C699: + lda Zp9D,x ; CPU:$C699 PRG:4699 B5 9D + ora Zp9E,x ; CPU:$C69B PRG:469B 15 9E + beq NmiHandler_OnZero7 ; CPU:$C69D PRG:469D F0 BE + dec $075F,x ; CPU:$C69F PRG:469F DE 5F 07 + bne NmiHandler_OnNonzero71 ; CPU:$C6A2 PRG:46A2 D0 E8 + lda Zp9D,x ; CPU:$C6A4 PRG:46A4 B5 9D + sta Zp9B,x ; CPU:$C6A6 PRG:46A6 95 9B + lda Zp9E,x ; CPU:$C6A8 PRG:46A8 B5 9E + sta Zp9C,x ; CPU:$C6AA PRG:46AA 95 9C + lda #$00 ; CPU:$C6AC PRG:46AC A9 00 + sta Zp9D,x ; CPU:$C6AE PRG:46AE 95 9D + sta Zp9E,x ; CPU:$C6B0 PRG:46B0 95 9E + jmp Sub_C470 ; CPU:$C6B2 PRG:46B2 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C6B5 +; Global: Branch target inside Label: taken when C6B5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C6B5: + jsr Sub_C62D ; CPU:$C6B5 PRG:46B5 20 2D C6 + lda (Zp9B,x) ; CPU:$C6B8 PRG:46B8 A1 9B + tay ; CPU:$C6BA PRG:46BA A8 + jsr Sub_C62D ; CPU:$C6BB PRG:46BB 20 2D C6 + lda (Zp9B,x) ; CPU:$C6BE PRG:46BE A1 9B + sta Zp9C,x ; CPU:$C6C0 PRG:46C0 95 9C + tya ; CPU:$C6C2 PRG:46C2 98 + sta Zp9B,x ; CPU:$C6C3 PRG:46C3 95 9B + jmp Sub_C470 ; CPU:$C6C5 PRG:46C5 4C 70 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C6C8 +; Global: Branch target inside Label: taken when C6C8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C6C8: + jsr Sub_C62D ; CPU:$C6C8 PRG:46C8 20 2D C6 +; ----------------------------------------------------------------------------- +; Routine: Sub_C6CB +; Global: Branch target inside Sub: taken when C6CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C6CB: + lda #$00 ; CPU:$C6CB PRG:46CB A9 00 + sta $0790 ; CPU:$C6CD PRG:46CD 8D 90 07 + tax ; CPU:$C6D0 PRG:46D0 AA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero72 +; Global: Branch target inside NmiHandler: taken when OnNonzero72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero72: + lda $076E,x ; CPU:$C6D1 PRG:46D1 BD 6E 07 + bne NmiHandler_Loop255 ; CPU:$C6D4 PRG:46D4 D0 10 + lda #$10 ; CPU:$C6D6 PRG:46D6 A9 10 + sta APUPULSE1CTRL,x ; CPU:$C6D8 PRG:46D8 9D 00 40 + lda #$00 ; CPU:$C6DB PRG:46DB A9 00 + sta APUPULSE1SWEEP,x ; CPU:$C6DD PRG:46DD 9D 01 40 + sta APUPULSE1TIMERLO,x ; CPU:$C6E0 PRG:46E0 9D 02 40 + sta APUPULSE1TIMERHI,x ; CPU:$C6E3 PRG:46E3 9D 03 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + inx ; CPU:$C6E6 PRG:46E6 E8 + inx ; CPU:$C6E7 PRG:46E7 E8 + inx ; CPU:$C6E8 PRG:46E8 E8 + inx ; CPU:$C6E9 PRG:46E9 E8 + cpx #$10 ; CPU:$C6EA PRG:46EA E0 10 + bne NmiHandler_OnNonzero72 ; CPU:$C6EC PRG:46EC D0 E3 + rts ; CPU:$C6EE PRG:46EE 60 +; ---- data $C6EF-$FE09 (14107 bytes) ---- +; referenced by `lda $C6FA,x` at $8179 (operand $C6FA falls inside this region) +; referenced by `lda $C6FB,x` at $817E (operand $C6FB falls inside this region) +; referenced by `lda $C852,x` at $899C (operand $C852 falls inside this region) +; referenced by `lda $C853,x` at $89A1 (operand $C853 falls inside this region) +; referenced by `lda $E3B2,x` at $8C77 (operand $E3B2 falls inside this region) +; referenced by `lda $E3B3,x` at $8C7C (operand $E3B3 falls inside this region) +; ... and 18 further references from decoded code + .byte $20, $2D, $C6, $A1, $9B, $8D, $93, $07, $4C, $5D, $C6, $2A, $C7, $4C, $C7, $4C ; CPU:$C6EF PRG:46EF 20 2D C6 A1 9B 8D 93 07 4C 5D C6 2A C7 4C C7 4C + .byte $C7, $4C, $C7, $86, $C7, $E0, $C7, $E0, $C7, $E0, $C7, $2A, $C7, $4C, $C7, $4C ; CPU:$C6FF PRG:46FF C7 4C C7 86 C7 E0 C7 E0 C7 E0 C7 2A C7 4C C7 4C + .byte $C7, $4C, $C7, $86, $C7, $E0, $C7, $E0, $C7, $E0, $C7, $4C, $C7, $86, $C7, $4C ; CPU:$C70F PRG:470F C7 4C C7 86 C7 E0 C7 E0 C7 E0 C7 4C C7 86 C7 4C + .byte $C7, $4C, $C7, $86, $C7, $E0, $C7, $E0, $C7, $E0, $C7, $00, $05, $0A, $0F, $13 ; CPU:$C71F PRG:471F C7 4C C7 86 C7 E0 C7 E0 C7 E0 C7 00 05 0A 0F 13 + .byte $18, $1D, $22, $27, $2C, $30, $35, $3A, $3F, $44, $49, $4E, $52, $57, $5C, $61 ; CPU:$C72F PRG:472F 18 1D 22 27 2C 30 35 3A 3F 44 49 4E 52 57 5C 61 + .byte $66, $6B, $70, $74, $79, $7E, $83, $88, $8D, $91, $96, $9B, $A0, $00, $03, $06 ; CPU:$C73F PRG:473F 66 6B 70 74 79 7E 83 88 8D 91 96 9B A0 00 03 06 + .byte $08, $0B, $0E, $11, $14, $16, $19, $1C, $1F, $22, $24, $27, $2A, $2D, $2F, $33 ; CPU:$C74F PRG:474F 08 0B 0E 11 14 16 19 1C 1F 22 24 27 2A 2D 2F 33 + .byte $35, $38, $3B, $3E, $41, $43, $46, $49, $4C, $4F, $51, $54, $57, $5A, $5D, $5F ; CPU:$C75F PRG:475F 35 38 3B 3E 41 43 46 49 4C 4F 51 54 57 5A 5D 5F + .byte $62, $65, $68, $6B, $6D, $70, $73, $76, $79, $7C, $7E, $81, $84, $87, $8A, $8C ; CPU:$C76F PRG:476F 62 65 68 6B 6D 70 73 76 79 7C 7E 81 84 87 8A 8C + .byte $8F, $92, $95, $98, $9A, $9D, $A0, $00, $02, $04, $05, $07, $09, $0B, $0D, $0E ; CPU:$C77F PRG:477F 8F 92 95 98 9A 9D A0 00 02 04 05 07 09 0B 0D 0E + .byte $10, $12, $14, $16, $17, $19, $1B, $1D, $1F, $20, $22, $24, $26, $28, $29, $2B ; CPU:$C78F PRG:478F 10 12 14 16 17 19 1B 1D 1F 20 22 24 26 28 29 2B + .byte $2D, $2F, $31, $32, $34, $36, $38, $3A, $3B, $3D, $3F, $41, $43, $44, $46, $48 ; CPU:$C79F PRG:479F 2D 2F 31 32 34 36 38 3A 3B 3D 3F 41 43 44 46 48 + .byte $4A, $4C, $4D, $4F, $51, $53, $54, $56, $58, $5A, $5C, $5D, $5F, $61, $63, $65 ; CPU:$C7AF PRG:47AF 4A 4C 4D 4F 51 53 54 56 58 5A 5C 5D 5F 61 63 65 + .byte $66, $68, $6A, $6C, $6E, $6F, $71, $73, $75, $77, $78, $7A, $7C, $7E, $80, $81 ; CPU:$C7BF PRG:47BF 66 68 6A 6C 6E 6F 71 73 75 77 78 7A 7C 7E 80 81 + .byte $83, $85, $87, $89, $8A, $8C, $8E, $90, $92, $93, $95, $97, $99, $9B, $9C, $9E ; CPU:$C7CF PRG:47CF 83 85 87 89 8A 8C 8E 90 92 93 95 97 99 9B 9C 9E + .byte $A0, $00, $01, $03, $04, $06, $07, $08, $0A, $0B, $0D, $0E, $10, $11, $12, $14 ; CPU:$C7DF PRG:47DF A0 00 01 03 04 06 07 08 0A 0B 0D 0E 10 11 12 14 + .byte $15, $17, $18, $19, $1B, $1C, $1E, $1F, $21, $22, $23, $25, $26, $28, $29, $2A ; CPU:$C7EF PRG:47EF 15 17 18 19 1B 1C 1E 1F 21 22 23 25 26 28 29 2A + .byte $2C, $2D, $2F, $30, $32, $33, $34, $36, $37, $39, $3A, $3C, $3D, $3E, $40, $41 ; CPU:$C7FF PRG:47FF 2C 2D 2F 30 32 33 34 36 37 39 3A 3C 3D 3E 40 41 + .byte $43, $44, $46, $47, $48, $4A, $4B, $4C, $4E, $50, $51, $52, $54, $55, $56, $58 ; CPU:$C80F PRG:480F 43 44 46 47 48 4A 4B 4C 4E 50 51 52 54 55 56 58 + .byte $59, $5B, $5C, $5D, $5F, $60, $62, $63, $65, $66, $67, $69, $6A, $6C, $6D, $6E ; CPU:$C81F PRG:481F 59 5B 5C 5D 5F 60 62 63 65 66 67 69 6A 6C 6D 6E + .byte $70, $71, $73, $74, $76, $77, $78, $7A, $7B, $7D, $7E, $7F, $81, $82, $84, $85 ; CPU:$C82F PRG:482F 70 71 73 74 76 77 78 7A 7B 7D 7E 7F 81 82 84 85 + .byte $87, $88, $89, $8B, $8C, $8E, $8F, $90, $92, $93, $95, $96, $98, $99, $9A, $9C ; CPU:$C83F PRG:483F 87 88 89 8B 8C 8E 8F 90 92 93 95 96 98 99 9A 9C + .byte $9D, $9F, $A0, $82, $C8, $91, $C8, $A0, $C8, $AF, $C8, $BE, $C8, $CD, $C8, $DC ; CPU:$C84F PRG:484F 9D 9F A0 82 C8 91 C8 A0 C8 AF C8 BE C8 CD C8 DC + .byte $C8, $EB, $C8, $82, $C8, $FA, $C8, $09, $C9, $18, $C9, $27, $C9, $36, $C9, $45 ; CPU:$C85F PRG:485F C8 EB C8 82 C8 FA C8 09 C9 18 C9 27 C9 36 C9 45 + .byte $C9, $54, $C9, $82, $C8, $63, $C9, $72, $C9, $81, $C9, $90, $C9, $9F, $C9, $AE ; CPU:$C86F PRG:486F C9 54 C9 82 C8 63 C9 72 C9 81 C9 90 C9 9F C9 AE + .byte $C9, $BD, $C9, $51, $55, $41, $4C, $49, $46, $59, $49, $4E, $47, $20, $52, $55 ; CPU:$C87F PRG:487F C9 BD C9 51 55 41 4C 49 46 59 49 4E 47 20 52 55 + .byte $4E, $00, $20, $43, $4F, $54, $54, $4F, $4E, $20, $43, $41, $4E, $44, $59, $20 ; CPU:$C88F PRG:488F 4E 00 20 43 4F 54 54 4F 4E 20 43 41 4E 44 59 20 + .byte $00, $20, $20, $20, $53, $4B, $49, $44, $20, $52, $4F, $57, $20, $20, $20, $00 ; CPU:$C89F PRG:489F 00 20 20 20 53 4B 49 44 20 52 4F 57 20 20 20 00 + .byte $20, $53, $4E, $4F, $57, $59, $20, $53, $4C, $49, $44, $45, $20, $20, $00, $43 ; CPU:$C8AF PRG:48AF 20 53 4E 4F 57 59 20 53 4C 49 44 45 20 20 00 43 + .byte $52, $59, $53, $54, $41, $4C, $20, $43, $52, $55, $49, $53, $45, $00, $20, $20 ; CPU:$C8BF PRG:48BF 52 59 53 54 41 4C 20 43 52 55 49 53 45 00 20 20 + .byte $20, $20, $4F, $56, $45, $52, $55, $4E, $20, $20, $20, $20, $00, $20, $20, $42 ; CPU:$C8CF PRG:48CF 20 20 4F 56 45 52 55 4E 20 20 20 20 00 20 20 42 + .byte $49, $47, $20, $44, $49, $50, $50, $45, $52, $20, $20, $00, $42, $4C, $55, $45 ; CPU:$C8DF PRG:48DF 49 47 20 44 49 50 50 45 52 20 20 00 42 4C 55 45 + .byte $20, $4D, $4F, $4E, $47, $4F, $4F, $53, $45, $20, $00, $20, $20, $20, $20, $54 ; CPU:$C8EF PRG:48EF 20 4D 4F 4E 47 4F 4F 53 45 20 00 20 20 20 20 54 + .byte $45, $41, $53, $45, $52, $20, $20, $20, $20, $00, $20, $20, $20, $42, $4C, $55 ; CPU:$C8FF PRG:48FF 45 41 53 45 52 20 20 20 20 00 20 20 20 42 4C 55 + .byte $45, $20, $4D, $41, $58, $20, $20, $20, $00, $20, $20, $54, $48, $45, $20, $57 ; CPU:$C90F PRG:490F 45 20 4D 41 58 20 20 20 00 20 20 54 48 45 20 57 + .byte $48, $4F, $4F, $53, $48, $20, $20, $00, $20, $48, $49, $47, $48, $20, $4F, $43 ; CPU:$C91F PRG:491F 48 4F 4F 53 48 20 20 00 20 48 49 47 48 20 4F 43 + .byte $54, $41, $4E, $45, $20, $20, $00, $20, $52, $4F, $43, $4B, $20, $4E, $20, $52 ; CPU:$C92F PRG:492F 54 41 4E 45 20 20 00 20 52 4F 43 4B 20 4E 20 52 + .byte $4F, $4C, $4C, $20, $20, $00, $20, $4D, $4F, $4E, $53, $54, $45, $52, $20, $52 ; CPU:$C93F PRG:493F 4F 4C 4C 20 20 00 20 4D 4F 4E 53 54 45 52 20 52 + .byte $55, $4E, $20, $20, $00, $53, $55, $50, $45, $52, $20, $44, $4F, $57, $4E, $48 ; CPU:$C94F PRG:494F 55 4E 20 20 00 53 55 50 45 52 20 44 4F 57 4E 48 + .byte $49, $4C, $4C, $00, $20, $49, $4E, $20, $54, $48, $45, $20, $54, $52, $45, $45 ; CPU:$C95F PRG:495F 49 4C 4C 00 20 49 4E 20 54 48 45 20 54 52 45 45 + .byte $53, $20, $00, $20, $20, $43, $55, $54, $20, $4C, $4F, $4F, $53, $45, $20, $20 ; CPU:$C96F PRG:496F 53 20 00 20 20 43 55 54 20 4C 4F 4F 53 45 20 20 + .byte $20, $00, $48, $4F, $54, $20, $44, $4F, $47, $20, $48, $45, $41, $56, $45, $4E ; CPU:$C97F PRG:497F 20 00 48 4F 54 20 44 4F 47 20 48 45 41 56 45 4E + .byte $00, $20, $20, $20, $52, $41, $44, $20, $52, $55, $4E, $20, $20, $20, $20, $00 ; CPU:$C98F PRG:498F 00 20 20 20 52 41 44 20 52 55 4E 20 20 20 20 00 + .byte $20, $20, $20, $50, $41, $52, $41, $44, $49, $53, $45, $20, $20, $20, $00, $20 ; CPU:$C99F PRG:499F 20 20 20 50 41 52 41 44 49 53 45 20 20 20 00 20 + .byte $45, $58, $54, $45, $52, $4D, $49, $4E, $41, $54, $4F, $52, $20, $00, $20, $20 ; CPU:$C9AF PRG:49AF 45 58 54 45 52 4D 49 4E 41 54 4F 52 20 00 20 20 + .byte $46, $52, $45, $45, $53, $54, $59, $4C, $45, $52, $20, $20, $00, $FC, $C9, $20 ; CPU:$C9BF PRG:49BF 46 52 45 45 53 54 59 4C 45 52 20 20 00 FC C9 20 + .byte $CA, $58, $CA, $88, $CA, $B8, $CA, $00, $CB, $5A, $CB, $B4, $CB, $06, $CA, $30 ; CPU:$C9CF PRG:49CF CA 58 CA 88 CA B8 CA 00 CB 5A CB B4 CB 06 CA 30 + .byte $CA, $68, $CA, $98, $CA, $D0, $CA, $1E, $CB, $78, $CB, $D2, $CB, $10, $CA, $40 ; CPU:$C9DF PRG:49DF CA 68 CA 98 CA D0 CA 1E CB 78 CB D2 CB 10 CA 40 + .byte $CA, $78, $CA, $A8, $CA, $E8, $CA, $3C, $CB, $96, $CB, $F0, $CB, $0E, $CC, $F2 ; CPU:$C9EF PRG:49EF CA 78 CA A8 CA E8 CA 3C CB 96 CB F0 CB 0E CC F2 + .byte $D5, $B4, $D5, $20, $D0, $4E, $CC, $0E, $CC, $F2, $D5, $C4, $CE, $20, $D0, $4E ; CPU:$C9FF PRG:49FF D5 B4 D5 20 D0 4E CC 0E CC F2 D5 C4 CE 20 D0 4E + .byte $CC, $0E, $CC, $42, $D1, $F2, $D5, $B4, $D5, $76, $D7, $AE, $D7, $08, $D1, $4E ; CPU:$CA0F PRG:4A0F CC 0E CC 42 D1 F2 D5 B4 D5 76 D7 AE D7 08 D1 4E + .byte $CC, $0E, $CC, $30, $D6, $72, $D6, $76, $D7, $AE, $D7, $E4, $D7, $20, $D0, $4E ; CPU:$CA1F PRG:4A1F CC 0E CC 30 D6 72 D6 76 D7 AE D7 E4 D7 20 D0 4E + .byte $CC, $0E, $CC, $08, $D1, $76, $D7, $AE, $D7, $30, $D6, $72, $D6, $20, $D0, $4E ; CPU:$CA2F PRG:4A2F CC 0E CC 08 D1 76 D7 AE D7 30 D6 72 D6 20 D0 4E + .byte $CC, $0E, $CC, $30, $D6, $72, $D6, $76, $D7, $AE, $D7, $06, $D5, $40, $D5, $38 ; CPU:$CA3F PRG:4A3F CC 0E CC 30 D6 72 D6 76 D7 AE D7 06 D5 40 D5 38 + .byte $D7, $B4, $D6, $08, $D1, $42, $D1, $4E, $CC, $0E, $CC, $06, $D5, $40, $D5, $6E ; CPU:$CA4F PRG:4A4F D7 B4 D6 08 D1 42 D1 4E CC 0E CC 06 D5 40 D5 6E + .byte $D1, $5E, $CC, $C4, $CE, $20, $D0, $4E, $CC, $0E, $CC, $92, $D4, $CC, $D4, $6E ; CPU:$CA5F PRG:4A5F D1 5E CC C4 CE 20 D0 4E CC 0E CC 92 D4 CC D4 6E + .byte $D1, $5E, $CC, $C4, $CE, $20, $D0, $4E, $CC, $0E, $CC, $40, $D5, $92, $D4, $7C ; CPU:$CA6F PRG:4A6F D1 5E CC C4 CE 20 D0 4E CC 0E CC 40 D5 92 D4 7C + .byte $D2, $8A, $CD, $B0, $D2, $42, $D1, $4E, $CC, $0E, $CC, $E6, $CF, $AC, $CF, $F2 ; CPU:$CA7F PRG:4A7F D2 8A CD B0 D2 42 D1 4E CC 0E CC E6 CF AC CF F2 + .byte $D5, $B4, $D5, $D2, $D0, $20, $D0, $4E, $CC, $0E, $CC, $F2, $D5, $B4, $D5, $AC ; CPU:$CA8F PRG:4A8F D5 B4 D5 D2 D0 20 D0 4E CC 0E CC F2 D5 B4 D5 AC + .byte $CF, $9E, $D3, $DA, $D3, $20, $D0, $4E, $CC, $0E, $CC, $9E, $D3, $DA, $D3, $F2 ; CPU:$CA9F PRG:4A9F CF 9E D3 DA D3 20 D0 4E CC 0E CC 9E D3 DA D3 F2 + .byte $D5, $B4, $D5, $AC, $CF, $20, $D0, $4E, $CC, $0E, $CC, $08, $D1, $3C, $CF, $54 ; CPU:$CAAF PRG:4AAF D5 B4 D5 AC CF 20 D0 4E CC 0E CC 08 D1 3C CF 54 + .byte $D4, $06, $CE, $16, $D4, $08, $D1, $7A, $D5, $8A, $CE, $08, $D1, $20, $D0, $4E ; CPU:$CABF PRG:4ABF D4 06 CE 16 D4 08 D1 7A D5 8A CE 08 D1 20 D0 4E + .byte $CC, $0E, $CC, $06, $D5, $7A, $D5, $C4, $CD, $8A, $CE, $E4, $D7, $E4, $D7, $42 ; CPU:$CACF PRG:4ACF CC 0E CC 06 D5 7A D5 C4 CD 8A CE E4 D7 E4 D7 42 + .byte $D1, $02, $CF, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $CC, $D4, $92, $D4, $76 ; CPU:$CADF PRG:4ADF D1 02 CF 98 D0 20 D0 4E CC 0E CC CC D4 92 D4 76 + .byte $D7, $AE, $D7, $16, $CD, $3C, $CF, $9E, $D3, $DA, $D3, $98, $D0, $20, $D0, $4E ; CPU:$CAEF PRG:4AEF D7 AE D7 16 CD 3C CF 9E D3 DA D3 98 D0 20 D0 4E + .byte $CC, $0E, $CC, $30, $D6, $72, $D6, $76, $D7, $AE, $D7, $E4, $D7, $E4, $D7, $76 ; CPU:$CAFF PRG:4AFF CC 0E CC 30 D6 72 D6 76 D7 AE D7 E4 D7 E4 D7 76 + .byte $D7, $AE, $D7, $30, $D6, $72, $D6, $E4, $D7, $98, $D0, $20, $D0, $4E, $CC, $0E ; CPU:$CB0F PRG:4B0F D7 AE D7 30 D6 72 D6 E4 D7 98 D0 20 D0 4E CC 0E + .byte $CC, $08, $D1, $02, $CF, $02, $CF, $E4, $D2, $22, $D3, $E4, $D7, $60, $D3, $48 ; CPU:$CB1F PRG:4B1F CC 08 D1 02 CF 02 CF E4 D2 22 D3 E4 D7 60 D3 48 + .byte $CE, $5A, $D0, $16, $CD, $3C, $CF, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $E4 ; CPU:$CB2F PRG:4B2F CE 5A D0 16 CD 3C CF 98 D0 20 D0 4E CC 0E CC E4 + .byte $D7, $F6, $D6, $B4, $D6, $76, $D7, $AE, $D7, $E4, $D7, $76, $D7, $AE, $D7, $60 ; CPU:$CB3F PRG:4B3F D7 F6 D6 B4 D6 76 D7 AE D7 E4 D7 76 D7 AE D7 60 + .byte $D3, $48, $CE, $5A, $D0, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $7C, $D2, $8A ; CPU:$CB4F PRG:4B4F D3 48 CE 5A D0 98 D0 20 D0 4E CC 0E CC 7C D2 8A + .byte $CD, $B0, $D2, $3C, $CF, $40, $D5, $06, $D5, $7A, $D5, $8A, $CE, $92, $D4, $54 ; CPU:$CB5F PRG:4B5F CD B0 D2 3C CF 40 D5 06 D5 7A D5 8A CE 92 D4 54 + .byte $D4, $16, $D4, $08, $D1, $42, $D1, $4E, $CC, $0E, $CC, $76, $CF, $76, $CF, $42 ; CPU:$CB6F PRG:4B6F D4 16 D4 08 D1 42 D1 4E CC 0E CC 76 CF 76 CF 42 + .byte $D1, $42, $D1, $92, $D4, $CC, $D4, $76, $D7, $AE, $D7, $D2, $D0, $AC, $D1, $E0 ; CPU:$CB7F PRG:4B7F D1 42 D1 92 D4 CC D4 76 D7 AE D7 D2 D0 AC D1 E0 + .byte $D1, $98, $D0, $20, $D0, $4E, $CC, $0E, $CC, $AC, $D1, $A0, $CC, $E0, $D1, $42 ; CPU:$CB8F PRG:4B8F D1 98 D0 20 D0 4E CC 0E CC AC D1 A0 CC E0 D1 42 + .byte $D1, $06, $D5, $CC, $D4, $7A, $D5, $C4, $CD, $8A, $CE, $9E, $D3, $DA, $D3, $98 ; CPU:$CB9F PRG:4B9F D1 06 D5 CC D4 7A D5 C4 CD 8A CE 9E D3 DA D3 98 + .byte $D0, $42, $D1, $4E, $CC, $0E, $CC, $9E, $D3, $D6, $CC, $DA, $D3, $AC, $CF, $E6 ; CPU:$CBAF PRG:4BAF D0 42 D1 4E CC 0E CC 9E D3 D6 CC DA D3 AC CF E6 + .byte $CF, $08, $D1, $02, $CF, $60, $D3, $48, $CE, $5A, $D0, $F2, $D5, $B4, $D5, $20 ; CPU:$CBBF PRG:4BBF CF 08 D1 02 CF 60 D3 48 CE 5A D0 F2 D5 B4 D5 20 + .byte $D0, $4E, $CC, $0E, $CC, $F2, $D5, $B4, $D5, $F2, $D5, $B4, $D5, $30, $D6, $72 ; CPU:$CBCF PRG:4BCF D0 4E CC 0E CC F2 D5 B4 D5 F2 D5 B4 D5 30 D6 72 + .byte $D6, $30, $D6, $72, $D6, $E6, $CF, $AC, $CF, $9E, $D3, $DA, $D3, $20, $D0, $4E ; CPU:$CBDF PRG:4BDF D6 30 D6 72 D6 E6 CF AC CF 9E D3 DA D3 20 D0 4E + .byte $CC, $0E, $CC, $7C, $D2, $8A, $CD, $8A, $CD, $B0, $D2, $F2, $D5, $B4, $D5, $30 ; CPU:$CBEF PRG:4BEF CC 0E CC 7C D2 8A CD 8A CD B0 D2 F2 D5 B4 D5 30 + .byte $D6, $72, $D6, $30, $D6, $72, $D6, $98, $D0, $98, $D0, $20, $D0, $4E, $CC, $06 ; CPU:$CBFF PRG:4BFF D6 72 D6 30 D6 72 D6 98 D0 98 D0 20 D0 4E CC 06 + .byte $11, $06, $1E, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03 ; CPU:$CC0F PRG:4C0F 11 06 1E 03 CF 02 00 03 4F 02 80 03 CF 02 00 03 + .byte $4F, $02, $80, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03 ; CPU:$CC1F PRG:4C1F 4F 02 80 03 CF 02 00 03 4F 02 80 03 CF 02 00 03 + .byte $4F, $02, $80, $03, $CF, $02, $00, $03, $4F, $02, $80, $03, $CF, $02, $00, $03 ; CPU:$CC2F PRG:4C2F 4F 02 80 03 CF 02 00 03 4F 02 80 03 CF 02 00 03 + .byte $4F, $02, $80, $03, $CF, $02, $01, $03, $4E, $02, $82, $03, $CD, $02, $00, $02 ; CPU:$CC3F PRG:4C3F 4F 02 80 03 CF 02 01 03 4E 02 82 03 CD 02 00 02 + .byte $00, $03, $4F, $02, $80, $03, $CF, $0E, $81, $0E, $8E, $10, $77, $02, $00, $0C ; CPU:$CC4F PRG:4C4F 00 03 4F 02 80 03 CF 0E 81 0E 8E 10 77 02 00 0C + .byte $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C ; CPU:$CC5F PRG:4C5F 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 0C + .byte $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C ; CPU:$CC6F PRG:4C6F 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 0C + .byte $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $0C ; CPU:$CC7F PRG:4C7F 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 0C + .byte $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D, $AC, $0D, $C9, $0D, $E6, $02 ; CPU:$CC8F PRG:4C8F 80 0C A3 0C C6 0C E9 0D 8F 0D AC 0D C9 0D E6 02 + .byte $00, $04, $01, $05, $52, $04, $A3, $05, $F4, $04, $45, $05, $96, $04, $E7, $05 ; CPU:$CC9F PRG:4C9F 00 04 01 05 52 04 A3 05 F4 04 45 05 96 04 E7 05 + .byte $38, $04, $89, $05, $DA, $04, $2B, $05, $7C, $04, $CD, $05, $1E, $04, $6D, $05 ; CPU:$CCAF PRG:4CAF 38 04 89 05 DA 04 2B 05 7C 04 CD 05 1E 04 6D 05 + .byte $BC, $04, $0B, $05, $5A, $04, $A9, $05, $F8, $04, $47, $05, $96, $04, $E5, $05 ; CPU:$CCBF PRG:4CBF BC 04 0B 05 5A 04 A9 05 F8 04 47 05 96 04 E5 05 + .byte $34, $05, $82, $04, $C1, $02, $00, $12, $1E, $12, $34, $12, $C1, $12, $CD, $13 ; CPU:$CCCF PRG:4CCF 34 05 82 04 C1 02 00 12 1E 12 34 12 C1 12 CD 13 + .byte $14, $13, $3B, $13, $C4, $13, $F9, $12, $1C, $12, $37, $12, $A1, $12, $F9, $13 ; CPU:$CCDF PRG:4CDF 14 13 3B 13 C4 13 F9 12 1C 12 37 12 A1 12 F9 13 + .byte $1D, $13, $34, $13, $AA, $13, $F6, $12, $1A, $12, $33, $12, $A5, $13, $07, $13 ; CPU:$CCEF PRG:4CEF 1D 13 34 13 AA 13 F6 12 1A 12 33 12 A5 13 07 13 + .byte $33, $13, $6C, $13, $A6, $12, $0E, $12, $31, $12, $62, $12, $A4, $13, $0C, $13 ; CPU:$CCFF PRG:4CFF 33 13 6C 13 A6 12 0E 12 31 12 62 12 A4 13 0C 13 + .byte $37, $13, $69, $13, $A4, $02, $00, $02, $41, $03, $4E, $02, $F7, $02, $08, $02 ; CPU:$CD0F PRG:4D0F 37 13 69 13 A4 02 00 02 41 03 4E 02 F7 02 08 02 + .byte $19, $12, $2A, $03, $FC, $03, $0D, $03, $1E, $13, $2F, $02, $FA, $02, $0B, $02 ; CPU:$CD1F PRG:4D1F 19 12 2A 03 FC 03 0D 03 1E 13 2F 02 FA 02 0B 02 + .byte $1C, $12, $2D, $03, $F5, $03, $06, $03, $17, $13, $28, $02, $F0, $02, $01, $02 ; CPU:$CD2F PRG:4D2F 1C 12 2D 03 F5 03 06 03 17 13 28 02 F0 02 01 02 + .byte $12, $12, $23, $03, $F7, $03, $08, $03, $19, $13, $2A, $02, $C1, $03, $CE, $02 ; CPU:$CD3F PRG:4D3F 12 12 23 03 F7 03 08 03 19 13 2A 02 C1 03 CE 02 + .byte $00, $04, $0E, $05, $5B, $04, $A9, $05, $F8, $04, $46, $05, $9B, $04, $EE, $04 ; CPU:$CD4F PRG:4D4F 00 04 0E 05 5B 04 A9 05 F8 04 46 05 9B 04 EE 04 + .byte $01, $05, $54, $04, $A6, $05, $F7, $04, $46, $05, $94, $04, $E1, $04, $0E, $05 ; CPU:$CD5F PRG:4D5F 01 05 54 04 A6 05 F7 04 46 05 94 04 E1 04 0E 05 + .byte $5B, $04, $A9, $05, $F8, $04, $49, $05, $9B, $04, $EE, $04, $01, $05, $54, $04 ; CPU:$CD6F PRG:4D6F 5B 04 A9 05 F8 04 49 05 9B 04 EE 04 01 05 54 04 + .byte $A6, $04, $F7, $04, $46, $05, $94, $04, $E1, $02, $00, $0C, $0E, $0D, $5B, $0C ; CPU:$CD7F PRG:4D7F A6 04 F7 04 46 05 94 04 E1 02 00 0C 0E 0D 5B 0C + .byte $A8, $0D, $F5, $0C, $47, $0D, $9A, $0C, $ED, $0C, $01, $0D, $54, $0C, $A7, $0D ; CPU:$CD8F PRG:4D8F A8 0D F5 0C 47 0D 9A 0C ED 0C 01 0D 54 0C A7 0D + .byte $FA, $0C, $48, $0D, $95, $0C, $E2, $0C, $0E, $0D, $5B, $0C, $A8, $0D, $F6, $0C ; CPU:$CD9F PRG:4D9F FA 0C 48 0D 95 0C E2 0C 0E 0D 5B 0C A8 0D F6 0C + .byte $47, $0D, $9A, $0C, $ED, $0C, $01, $0D, $54, $0C, $A7, $0D, $F9, $0C, $48, $0D ; CPU:$CDAF PRG:4DAF 47 0D 9A 0C ED 0C 01 0D 54 0C A7 0D F9 0C 48 0D + .byte $95, $0C, $E2, $02, $00, $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05 ; CPU:$CDBF PRG:4DBF 95 0C E2 02 00 04 11 05 53 04 95 05 D7 04 19 05 + .byte $5B, $04, $9D, $05, $DF, $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05 ; CPU:$CDCF PRG:4DCF 5B 04 9D 05 DF 04 11 05 53 04 95 05 D7 04 19 05 + .byte $5B, $04, $9D, $05, $DF, $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05 ; CPU:$CDDF PRG:4DDF 5B 04 9D 05 DF 04 11 05 53 04 95 05 D7 04 19 05 + .byte $5B, $04, $9D, $05, $DF, $04, $11, $05, $53, $04, $95, $05, $D7, $04, $19, $05 ; CPU:$CDEF PRG:4DEF 5B 04 9D 05 DF 04 11 05 53 04 95 05 D7 04 19 05 + .byte $5B, $04, $9C, $05, $DE, $02, $00, $0C, $11, $0D, $5E, $0C, $92, $0D, $DD, $0C ; CPU:$CDFF PRG:4DFF 5B 04 9C 05 DE 02 00 0C 11 0D 5E 0C 92 0D DD 0C + .byte $13, $0D, $5C, $0C, $94, $0D, $DB, $0C, $15, $0D, $5A, $0C, $96, $0D, $D9, $0C ; CPU:$CE0F PRG:4E0F 13 0D 5C 0C 94 0D DB 0C 15 0D 5A 0C 96 0D D9 0C + .byte $17, $0D, $58, $0C, $97, $0D, $D8, $0C, $16, $0D, $59, $0C, $95, $0D, $DA, $0C ; CPU:$CE1F PRG:4E1F 17 0D 58 0C 97 0D D8 0C 16 0D 59 0C 95 0D DA 0C + .byte $14, $0D, $5B, $0C, $93, $0D, $DC, $0C, $12, $0D, $5D, $0C, $91, $0D, $DE, $0C ; CPU:$CE2F PRG:4E2F 14 0D 5B 0C 93 0D DC 0C 12 0D 5D 0C 91 0D DE 0C + .byte $10, $0D, $5F, $0C, $90, $0D, $DF, $02, $00, $02, $11, $02, $23, $02, $55, $02 ; CPU:$CE3F PRG:4E3F 10 0D 5F 0C 90 0D DF 02 00 02 11 02 23 02 55 02 + .byte $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02 ; CPU:$CE4F PRG:4E4F A7 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 + .byte $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02 ; CPU:$CE5F PRG:4E5F A7 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 + .byte $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02, $55, $02 ; CPU:$CE6F PRG:4E6F A7 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 55 02 + .byte $A7, $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $00, $04, $11, $04, $53, $04 ; CPU:$CE7F PRG:4E7F A7 03 1E 03 2C 03 5A 03 98 02 00 04 11 04 53 04 + .byte $95, $04, $D7, $05, $19, $05, $5B, $05, $9D, $05, $DF, $04, $10, $04, $52, $04 ; CPU:$CE8F PRG:4E8F 95 04 D7 05 19 05 5B 05 9D 05 DF 04 10 04 52 04 + .byte $94, $04, $D6, $05, $18, $05, $5A, $05, $9C, $05, $DE, $04, $11, $04, $53, $04 ; CPU:$CE9F PRG:4E9F 94 04 D6 05 18 05 5A 05 9C 05 DE 04 11 04 53 04 + .byte $95, $04, $D7, $05, $19, $05, $5B, $05, $9D, $05, $DF, $02, $D4, $03, $DB, $02 ; CPU:$CEAF PRG:4EAF 95 04 D7 05 19 05 5B 05 9D 05 DF 02 D4 03 DB 02 + .byte $C1, $03, $CE, $02, $00, $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D ; CPU:$CEBF PRG:4EBF C1 03 CE 02 00 0C 80 0C A3 0C C6 0C E9 0D 8F 0D + .byte $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D ; CPU:$CECF PRG:4ECF AC 0D C9 0D E6 0C 80 0C A3 0C C6 0C E9 0D 8F 0D + .byte $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $0D, $8F, $0D ; CPU:$CEDF PRG:4EDF AC 0D C9 0D E6 0C 80 0C A3 0C C6 0C E9 0D 8F 0D + .byte $AC, $0D, $C9, $0D, $E6, $0C, $80, $0C, $A3, $0C, $C6, $0C, $E9, $02, $C1, $03 ; CPU:$CEEF PRG:4EEF AC 0D C9 0D E6 0C 80 0C A3 0C C6 0C E9 02 C1 03 + .byte $CE, $02, $00, $02, $10, $12, $50, $02, $91, $12, $E0, $02, $12, $13, $61, $02 ; CPU:$CEFF PRG:4EFF CE 02 00 02 10 12 50 02 91 12 E0 02 12 13 61 02 + .byte $93, $13, $E2, $02, $24, $12, $83, $02, $B5, $13, $04, $02, $46, $13, $85, $02 ; CPU:$CF0F PRG:4F0F 93 13 E2 02 24 12 83 02 B5 13 04 02 46 13 85 02 + .byte $C7, $12, $06, $03, $38, $12, $87, $03, $D9, $13, $08, $03, $3A, $13, $89, $03 ; CPU:$CF1F PRG:4F1F C7 12 06 03 38 12 87 03 D9 13 08 03 3A 13 89 03 + .byte $BB, $12, $0A, $03, $3C, $12, $8B, $03, $BD, $03, $1F, $02, $00, $12, $41, $12 ; CPU:$CF2F PRG:4F2F BB 12 0A 03 3C 12 8B 03 BD 03 1F 02 00 12 41 12 + .byte $4E, $02, $25, $02, $34, $02, $42, $12, $51, $03, $26, $03, $37, $03, $59, $13 ; CPU:$CF3F PRG:4F3F 4E 02 25 02 34 02 42 12 51 03 26 03 37 03 59 13 + .byte $6A, $02, $36, $02, $45, $02, $63, $12, $72, $03, $2A, $03, $3B, $03, $5D, $13 ; CPU:$CF4F PRG:4F4F 6A 02 36 02 45 02 63 12 72 03 2A 03 3B 03 5D 13 + .byte $6E, $02, $19, $02, $28, $02, $46, $12, $55, $03, $4A, $03, $5B, $03, $7D, $13 ; CPU:$CF5F PRG:4F5F 6E 02 19 02 28 02 46 12 55 03 4A 03 5B 03 7D 13 + .byte $8E, $13, $C1, $13, $CE, $02, $00, $02, $41, $03, $4E, $0D, $1E, $0D, $3E, $0D ; CPU:$CF6F PRG:4F6F 8E 13 C1 13 CE 02 00 02 41 03 4E 0D 1E 0D 3E 0D + .byte $5D, $0D, $7D, $0C, $12, $0C, $32, $0C, $53, $0C, $73, $0D, $1C, $0D, $3C, $0D ; CPU:$CF7F PRG:4F7F 5D 0D 7D 0C 12 0C 32 0C 53 0C 73 0D 1C 0D 3C 0D + .byte $5B, $0D, $7B, $0C, $14, $0C, $34, $0C, $55, $0C, $75, $0D, $1A, $0D, $3A, $0D ; CPU:$CF8F PRG:4F8F 5B 0D 7B 0C 14 0C 34 0C 55 0C 75 0D 1A 0D 3A 0D + .byte $59, $0D, $79, $0C, $16, $0C, $36, $0C, $57, $0C, $77, $02, $00, $12, $41, $12 ; CPU:$CF9F PRG:4F9F 59 0D 79 0C 16 0C 36 0C 57 0C 77 02 00 12 41 12 + .byte $4E, $12, $1D, $12, $3D, $12, $5C, $12, $7C, $13, $1C, $13, $3C, $13, $5B, $13 ; CPU:$CFAF PRG:4FAF 4E 12 1D 12 3D 12 5C 12 7C 13 1C 13 3C 13 5B 13 + .byte $7B, $12, $1B, $12, $3B, $12, $5A, $12, $7A, $13, $1A, $13, $3A, $13, $59, $13 ; CPU:$CFBF PRG:4FBF 7B 12 1B 12 3B 12 5A 12 7A 13 1A 13 3A 13 59 13 + .byte $79, $12, $19, $12, $39, $12, $58, $12, $78, $13, $18, $13, $38, $13, $57, $13 ; CPU:$CFCF PRG:4FCF 79 12 19 12 39 12 58 12 78 13 18 13 38 13 57 13 + .byte $77, $12, $16, $12, $55, $02, $00, $12, $31, $12, $3E, $12, $12, $12, $32, $12 ; CPU:$CFDF PRG:4FDF 77 12 16 12 55 02 00 12 31 12 3E 12 12 12 32 12 + .byte $53, $12, $73, $13, $13, $13, $33, $13, $54, $13, $74, $12, $14, $12, $34, $12 ; CPU:$CFEF PRG:4FEF 53 12 73 13 13 13 33 13 54 13 74 12 14 12 34 12 + .byte $55, $12, $75, $13, $15, $13, $35, $13, $56, $13, $76, $12, $16, $12, $36, $12 ; CPU:$CFFF PRG:4FFF 55 12 75 13 15 13 35 13 56 13 76 12 16 12 36 12 + .byte $57, $12, $77, $13, $17, $13, $37, $13, $58, $13, $78, $12, $19, $12, $4A, $02 ; CPU:$D00F PRG:500F 57 12 77 13 17 13 37 13 58 13 78 12 19 12 4A 02 + .byte $00, $04, $91, $04, $D1, $05, $11, $05, $51, $05, $91, $05, $D1, $04, $11, $04 ; CPU:$D01F PRG:501F 00 04 91 04 D1 05 11 05 51 05 91 05 D1 04 11 04 + .byte $51, $04, $91, $04, $D1, $05, $11, $05, $51, $05, $91, $05, $D1, $04, $1E, $04 ; CPU:$D02F PRG:502F 51 04 91 04 D1 05 11 05 51 05 91 05 D1 04 1E 04 + .byte $5E, $04, $9E, $04, $DE, $05, $1E, $05, $5E, $05, $9E, $05, $DE, $04, $1E, $04 ; CPU:$D03F PRG:503F 5E 04 9E 04 DE 05 1E 05 5E 05 9E 05 DE 04 1E 04 + .byte $5E, $04, $9E, $04, $DE, $05, $1E, $04, $5E, $02, $00, $02, $11, $02, $23, $02 ; CPU:$D04F PRG:504F 5E 04 9E 04 DE 05 1E 04 5E 02 00 02 11 02 23 02 + .byte $55, $02, $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02 ; CPU:$D05F PRG:505F 55 02 A7 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 + .byte $55, $02, $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02, $23, $02 ; CPU:$D06F PRG:506F 55 02 A7 03 1E 03 2C 03 5A 03 A8 02 11 02 23 02 + .byte $55, $02, $A7, $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $11, $02, $23, $02 ; CPU:$D07F PRG:507F 55 02 A7 03 1E 03 2C 03 5A 03 98 02 11 02 23 02 + .byte $55, $02, $97, $02, $C1, $03, $CE, $02, $00, $04, $95, $04, $DA, $05, $15, $05 ; CPU:$D08F PRG:508F 55 02 97 02 C1 03 CE 02 00 04 95 04 DA 05 15 05 + .byte $5A, $05, $95, $05, $DA, $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05 ; CPU:$D09F PRG:509F 5A 05 95 05 DA 04 15 04 5A 04 95 04 DA 05 15 05 + .byte $5A, $05, $95, $05, $DA, $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05 ; CPU:$D0AF PRG:50AF 5A 05 95 05 DA 04 15 04 5A 04 95 04 DA 05 15 05 + .byte $5A, $05, $95, $05, $DA, $04, $15, $04, $5A, $04, $95, $04, $DA, $05, $15, $05 ; CPU:$D0BF PRG:50BF 5A 05 95 05 DA 04 15 04 5A 04 95 04 DA 05 15 05 + .byte $5A, $02, $00, $0C, $BE, $12, $C6, $0D, $30, $13, $5A, $13, $C5, $0C, $0F, $12 ; CPU:$D0CF PRG:50CF 5A 02 00 0C BE 12 C6 0D 30 13 5A 13 C5 0C 0F 12 + .byte $35, $0C, $50, $12, $CB, $0D, $0F, $0D, $40, $13, $55, $13, $EB, $0C, $00, $0C ; CPU:$D0DF PRG:50DF 35 0C 50 12 CB 0D 0F 0D 40 13 55 13 EB 0C 00 0C + .byte $5F, $12, $54, $0D, $00, $13, $08, $13, $7B, $13, $97, $0C, $0F, $12, $45, $0C ; CPU:$D0EF PRG:50EF 5F 12 54 0D 00 13 08 13 7B 13 97 0C 0F 12 45 0C + .byte $70, $12, $EA, $0D, $0F, $0D, $60, $02, $00, $12, $BB, $02, $F0, $03, $FF, $13 ; CPU:$D0FF PRG:50FF 70 12 EA 0D 0F 0D 60 02 00 12 BB 02 F0 03 FF 13 + .byte $46, $13, $B8, $02, $F0, $03, $FF, $12, $36, $12, $B8, $02, $F0, $03, $FF, $13 ; CPU:$D10F PRG:510F 46 13 B8 02 F0 03 FF 12 36 12 B8 02 F0 03 FF 13 + .byte $47, $13, $B2, $02, $F0, $03, $FF, $12, $3B, $12, $BC, $02, $F0, $03, $FF, $13 ; CPU:$D11F PRG:511F 47 13 B2 02 F0 03 FF 12 3B 12 BC 02 F0 03 FF 13 + .byte $3E, $13, $B5, $02, $F0, $03, $FF, $12, $33, $12, $BD, $02, $F0, $03, $FF, $13 ; CPU:$D12F PRG:512F 3E 13 B5 02 F0 03 FF 12 33 12 BD 02 F0 03 FF 13 + .byte $39, $02, $00, $04, $C5, $04, $ED, $05, $20, $05, $D9, $05, $EB, $04, $15, $04 ; CPU:$D13F PRG:513F 39 02 00 04 C5 04 ED 05 20 05 D9 05 EB 04 15 04 + .byte $DD, $04, $E8, $05, $13, $05, $DF, $05, $E7, $04, $38, $04, $C3, $05, $00, $05 ; CPU:$D14F PRG:514F DD 04 E8 05 13 05 DF 05 E7 04 38 04 C3 05 00 05 + .byte $67, $05, $CF, $05, $F4, $04, $58, $04, $AC, $04, $D1, $05, $50, $02, $00, $02 ; CPU:$D15F PRG:515F 67 05 CF 05 F4 04 58 04 AC 04 D1 05 50 02 00 02 + .byte $41, $03, $9E, $0C, $8F, $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D ; CPU:$D16F PRG:516F 41 03 9E 0C 8F 0C AC 0C C9 0C E6 0D 80 0D A3 0D + .byte $C6, $0D, $E9, $0C, $8F, $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D ; CPU:$D17F PRG:517F C6 0D E9 0C 8F 0C AC 0C C9 0C E6 0D 80 0D A3 0D + .byte $C6, $0D, $E9, $0C, $8F, $0C, $AC, $0C, $C9, $0C, $E6, $0D, $80, $0D, $A3, $0D ; CPU:$D18F PRG:518F C6 0D E9 0C 8F 0C AC 0C C9 0C E6 0D 80 0D A3 0D + .byte $C6, $0D, $E9, $0C, $8F, $0C, $AC, $0C, $C9, $0C, $E6, $02, $00, $02, $31, $03 ; CPU:$D19F PRG:519F C6 0D E9 0C 8F 0C AC 0C C9 0C E6 02 00 02 31 03 + .byte $3E, $04, $F3, $04, $44, $04, $95, $04, $E6, $05, $37, $05, $88, $05, $D9, $04 ; CPU:$D1AF PRG:51AF 3E 04 F3 04 44 04 95 04 E6 05 37 05 88 05 D9 04 + .byte $2A, $04, $7B, $04, $CC, $05, $1D, $05, $6C, $05, $BB, $04, $0A, $04, $59, $04 ; CPU:$D1BF PRG:51BF 2A 04 7B 04 CC 05 1D 05 6C 05 BB 04 0A 04 59 04 + .byte $A8, $04, $F7, $05, $46, $05, $95, $05, $E4, $04, $33, $04, $82, $04, $C1, $02 ; CPU:$D1CF PRG:51CF A8 04 F7 05 46 05 95 05 E4 04 33 04 82 04 C1 02 + .byte $00, $04, $00, $04, $51, $04, $A2, $04, $F3, $05, $44, $05, $95, $05, $E6, $04 ; CPU:$D1DF PRG:51DF 00 04 00 04 51 04 A2 04 F3 05 44 05 95 05 E6 04 + .byte $37, $04, $88, $04, $D9, $05, $2A, $05, $7B, $05, $CC, $04, $1D, $04, $6C, $04 ; CPU:$D1EF PRG:51EF 37 04 88 04 D9 05 2A 05 7B 05 CC 04 1D 04 6C 04 + .byte $BB, $05, $0A, $05, $59, $05, $A8, $05, $F7, $04, $46, $04, $95, $04, $E4, $02 ; CPU:$D1FF PRG:51FF BB 05 0A 05 59 05 A8 05 F7 04 46 04 95 04 E4 02 + .byte $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $03, $31, $03, $3E, $04, $01, $04 ; CPU:$D20F PRG:520F C1 03 CE 02 00 02 41 03 4E 03 31 03 3E 04 01 04 + .byte $54, $04, $A6, $04, $F7, $05, $46, $05, $94, $05, $E1, $04, $0E, $04, $5B, $04 ; CPU:$D21F PRG:521F 54 04 A6 04 F7 05 46 05 94 05 E1 04 0E 04 5B 04 + .byte $A9, $04, $F8, $05, $49, $05, $9B, $05, $EE, $04, $01, $04, $54, $04, $A6, $04 ; CPU:$D22F PRG:522F A9 04 F8 05 49 05 9B 05 EE 04 01 04 54 04 A6 04 + .byte $F7, $05, $46, $05, $94, $05, $E1, $02, $00, $04, $0F, $04, $5B, $04, $A9, $04 ; CPU:$D23F PRG:523F F7 05 46 05 94 05 E1 02 00 04 0F 04 5B 04 A9 04 + .byte $F8, $05, $49, $05, $9B, $05, $EE, $04, $01, $04, $54, $04, $A6, $04, $F7, $05 ; CPU:$D24F PRG:524F F8 05 49 05 9B 05 EE 04 01 04 54 04 A6 04 F7 05 + .byte $46, $05, $94, $05, $E1, $04, $0E, $04, $5B, $04, $A9, $04, $F8, $05, $49, $05 ; CPU:$D25F PRG:525F 46 05 94 05 E1 04 0E 04 5B 04 A9 04 F8 05 49 05 + .byte $9B, $05, $EE, $02, $D1, $03, $DE, $02, $C1, $03, $CE, $02, $00, $02, $41, $03 ; CPU:$D26F PRG:526F 9B 05 EE 02 D1 03 DE 02 C1 03 CE 02 00 02 41 03 + .byte $4E, $02, $31, $03, $3E, $0C, $01, $0C, $54, $0C, $A7, $0C, $FA, $0D, $48, $0D ; CPU:$D27F PRG:527F 4E 02 31 03 3E 0C 01 0C 54 0C A7 0C FA 0D 48 0D + .byte $95, $0D, $E2, $0C, $0E, $0C, $5B, $0C, $A8, $0C, $F6, $0D, $47, $0D, $9A, $0D ; CPU:$D28F PRG:528F 95 0D E2 0C 0E 0C 5B 0C A8 0C F6 0D 47 0D 9A 0D + .byte $ED, $0C, $01, $0C, $54, $0C, $A7, $0C, $F9, $0D, $48, $0D, $95, $0D, $E2, $02 ; CPU:$D29F PRG:529F ED 0C 01 0C 54 0C A7 0C F9 0D 48 0D 95 0D E2 02 + .byte $00, $0C, $0E, $0C, $5B, $0C, $A8, $0C, $F5, $0D, $47, $0D, $9A, $0D, $ED, $0C ; CPU:$D2AF PRG:52AF 00 0C 0E 0C 5B 0C A8 0C F5 0D 47 0D 9A 0D ED 0C + .byte $01, $0C, $54, $0C, $A7, $0C, $FA, $0D, $48, $0D, $95, $0D, $E2, $0C, $0E, $0C ; CPU:$D2BF PRG:52BF 01 0C 54 0C A7 0C FA 0D 48 0D 95 0D E2 0C 0E 0C + .byte $5B, $0C, $A8, $0C, $F6, $0D, $47, $0D, $9A, $0D, $ED, $02, $D1, $03, $DE, $02 ; CPU:$D2CF PRG:52CF 5B 0C A8 0C F6 0D 47 0D 9A 0D ED 02 D1 03 DE 02 + .byte $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $03, $18, $03, $4A, $03, $7C, $03 ; CPU:$D2DF PRG:52DF C1 03 CE 02 00 02 41 03 4E 03 18 03 4A 03 7C 03 + .byte $AE, $03, $1E, $03, $4C, $03, $7A, $03, $A8, $02, $17, $02, $45, $02, $73, $02 ; CPU:$D2EF PRG:52EF AE 03 1E 03 4C 03 7A 03 A8 02 17 02 45 02 73 02 + .byte $A1, $02, $11, $02, $43, $02, $75, $02, $A7, $03, $18, $03, $4A, $03, $7C, $03 ; CPU:$D2FF PRG:52FF A1 02 11 02 43 02 75 02 A7 03 18 03 4A 03 7C 03 + .byte $AE, $03, $1E, $03, $4C, $03, $7A, $03, $A8, $02, $17, $02, $45, $02, $73, $02 ; CPU:$D30F PRG:530F AE 03 1E 03 4C 03 7A 03 A8 02 17 02 45 02 73 02 + .byte $A1, $02, $00, $02, $11, $02, $43, $02, $75, $02, $A7, $03, $18, $03, $4A, $03 ; CPU:$D31F PRG:531F A1 02 00 02 11 02 43 02 75 02 A7 03 18 03 4A 03 + .byte $7C, $03, $AE, $03, $1E, $03, $4C, $03, $7A, $03, $A8, $02, $17, $02, $45, $02 ; CPU:$D32F PRG:532F 7C 03 AE 03 1E 03 4C 03 7A 03 A8 02 17 02 45 02 + .byte $73, $02, $A1, $02, $11, $02, $43, $02, $75, $02, $A7, $03, $18, $03, $4A, $03 ; CPU:$D33F PRG:533F 73 02 A1 02 11 02 43 02 75 02 A7 03 18 03 4A 03 + .byte $7C, $03, $AE, $03, $1E, $03, $4C, $03, $7A, $03, $A8, $02, $C1, $03, $CE, $02 ; CPU:$D34F PRG:534F 7C 03 AE 03 1E 03 4C 03 7A 03 A8 02 C1 03 CE 02 + .byte $00, $02, $41, $03, $4E, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02 ; CPU:$D35F PRG:535F 00 02 41 03 4E 03 1E 03 2C 03 5A 03 A8 02 11 02 + .byte $23, $02, $55, $02, $A7, $03, $1E, $03, $2C, $03, $5A, $03, $A8, $02, $11, $02 ; CPU:$D36F PRG:536F 23 02 55 02 A7 03 1E 03 2C 03 5A 03 A8 02 11 02 + .byte $23, $02, $55, $02, $A7, $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $11, $02 ; CPU:$D37F PRG:537F 23 02 55 02 A7 03 1E 03 2C 03 5A 03 98 02 11 02 + .byte $23, $02, $55, $02, $97, $03, $1E, $03, $2C, $03, $5A, $03, $98, $02, $00, $02 ; CPU:$D38F PRG:538F 23 02 55 02 97 03 1E 03 2C 03 5A 03 98 02 00 02 + .byte $41, $03, $4E, $12, $14, $12, $3B, $12, $C4, $12, $F9, $13, $1C, $13, $37, $13 ; CPU:$D39F PRG:539F 41 03 4E 12 14 12 3B 12 C4 12 F9 13 1C 13 37 13 + .byte $A1, $13, $F9, $12, $1D, $12, $34, $12, $AA, $12, $F6, $13, $1A, $13, $33, $13 ; CPU:$D3AF PRG:53AF A1 13 F9 12 1D 12 34 12 AA 12 F6 13 1A 13 33 13 + .byte $AA, $12, $07, $12, $33, $12, $6C, $12, $A6, $13, $0E, $13, $31, $13, $62, $13 ; CPU:$D3BF PRG:53BF AA 12 07 12 33 12 6C 12 A6 13 0E 13 31 13 62 13 + .byte $A4, $12, $0C, $12, $37, $12, $69, $12, $A4, $02, $00, $12, $1E, $12, $34, $12 ; CPU:$D3CF PRG:53CF A4 12 0C 12 37 12 69 12 A4 02 00 12 1E 12 34 12 + .byte $C1, $12, $CD, $13, $14, $13, $3B, $13, $C4, $13, $F9, $12, $1C, $12, $37, $12 ; CPU:$D3DF PRG:53DF C1 12 CD 13 14 13 3B 13 C4 13 F9 12 1C 12 37 12 + .byte $A1, $12, $F9, $13, $1D, $13, $34, $13, $AA, $13, $F6, $12, $1A, $12, $33, $12 ; CPU:$D3EF PRG:53EF A1 12 F9 13 1D 13 34 13 AA 13 F6 12 1A 12 33 12 + .byte $AA, $13, $07, $13, $33, $13, $6C, $13, $A6, $12, $0E, $12, $31, $12, $A4, $12 ; CPU:$D3FF PRG:53FF AA 13 07 13 33 13 6C 13 A6 12 0E 12 31 12 A4 12 + .byte $FA, $02, $C1, $03, $CE, $02, $00, $0C, $11, $0C, $5E, $0C, $92, $0C, $DD, $0D ; CPU:$D40F PRG:540F FA 02 C1 03 CE 02 00 0C 11 0C 5E 0C 92 0C DD 0D + .byte $13, $0D, $5C, $0D, $94, $0D, $DB, $0C, $15, $0C, $5A, $0C, $96, $0C, $D9, $0D ; CPU:$D41F PRG:541F 13 0D 5C 0D 94 0D DB 0C 15 0C 5A 0C 96 0C D9 0D + .byte $17, $0D, $58, $0D, $97, $0D, $D8, $0C, $16, $0C, $59, $0C, $95, $0C, $DA, $0D ; CPU:$D42F PRG:542F 17 0D 58 0D 97 0D D8 0C 16 0C 59 0C 95 0C DA 0D + .byte $14, $0D, $5B, $0D, $93, $0D, $DC, $0C, $12, $0C, $5D, $0C, $91, $0C, $DE, $02 ; CPU:$D43F PRG:543F 14 0D 5B 0D 93 0D DC 0C 12 0C 5D 0C 91 0C DE 02 + .byte $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $0C, $13, $0C, $5C, $0C, $94, $0C ; CPU:$D44F PRG:544F C1 03 CE 02 00 02 41 03 4E 0C 13 0C 5C 0C 94 0C + .byte $DB, $0D, $15, $0D, $5A, $0D, $96, $0D, $D9, $0C, $17, $0C, $58, $0C, $97, $0C ; CPU:$D45F PRG:545F DB 0D 15 0D 5A 0D 96 0D D9 0C 17 0C 58 0C 97 0C + .byte $D8, $0D, $16, $0D, $59, $0D, $95, $0D, $DA, $0C, $14, $0C, $5B, $0C, $93, $0C ; CPU:$D46F PRG:546F D8 0D 16 0D 59 0D 95 0D DA 0C 14 0C 5B 0C 93 0C + .byte $DC, $0D, $12, $0D, $5D, $0D, $91, $0D, $DE, $0C, $10, $0C, $5F, $0C, $90, $0C ; CPU:$D47F PRG:547F DC 0D 12 0D 5D 0D 91 0D DE 0C 10 0C 5F 0C 90 0C + .byte $DF, $02, $00, $02, $41, $03, $4E, $10, $11, $10, $52, $10, $93, $10, $D4, $11 ; CPU:$D48F PRG:548F DF 02 00 02 41 03 4E 10 11 10 52 10 93 10 D4 11 + .byte $15, $11, $56, $11, $97, $11, $D8, $10, $19, $10, $5A, $10, $9B, $10, $DC, $11 ; CPU:$D49F PRG:549F 15 11 56 11 97 11 D8 10 19 10 5A 10 9B 10 DC 11 + .byte $1D, $11, $5E, $11, $91, $11, $D3, $10, $15, $10, $57, $10, $99, $10, $EB, $11 ; CPU:$D4AF PRG:54AF 1D 11 5E 11 91 11 D3 10 15 10 57 10 99 10 EB 11 + .byte $2D, $11, $6D, $11, $AE, $11, $EE, $02, $C1, $03, $CE, $02, $00, $02, $41, $03 ; CPU:$D4BF PRG:54BF 2D 11 6D 11 AE 11 EE 02 C1 03 CE 02 00 02 41 03 + .byte $4E, $10, $11, $10, $55, $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11 ; CPU:$D4CF PRG:54CF 4E 10 11 10 55 10 99 10 DD 11 1E 11 5A 11 96 11 + .byte $D2, $10, $11, $10, $55, $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11 ; CPU:$D4DF PRG:54DF D2 10 11 10 55 10 99 10 DD 11 1E 11 5A 11 96 11 + .byte $D2, $10, $11, $10, $55, $10, $99, $10, $DD, $11, $1E, $11, $5A, $11, $96, $11 ; CPU:$D4EF PRG:54EF D2 10 11 10 55 10 99 10 DD 11 1E 11 5A 11 96 11 + .byte $D2, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $0C, $14, $10, $54, $0C ; CPU:$D4FF PRG:54FF D2 02 C1 03 CE 02 00 02 41 03 4E 0C 14 10 54 0C + .byte $9B, $10, $DB, $0D, $14, $11, $55, $0D, $9B, $11, $DA, $0C, $14, $10, $56, $0C ; CPU:$D50F PRG:550F 9B 10 DB 0D 14 11 55 0D 9B 11 DA 0C 14 10 56 0C + .byte $9B, $11, $DA, $0D, $14, $11, $57, $0D, $9B, $11, $D8, $0C, $14, $10, $58, $0C ; CPU:$D51F PRG:551F 9B 11 DA 0D 14 11 57 0D 9B 11 D8 0C 14 10 58 0C + .byte $9B, $10, $D7, $0D, $14, $11, $59, $0D, $9B, $11, $D6, $02, $C1, $03, $CE, $02 ; CPU:$D52F PRG:552F 9B 10 D7 0D 14 11 59 0D 9B 11 D6 02 C1 03 CE 02 + .byte $00, $02, $41, $03, $4E, $04, $13, $10, $56, $04, $98, $10, $DB, $05, $13, $11 ; CPU:$D53F PRG:553F 00 02 41 03 4E 04 13 10 56 04 98 10 DB 05 13 11 + .byte $57, $05, $98, $11, $DD, $04, $1C, $10, $5E, $04, $9A, $10, $D3, $05, $11, $11 ; CPU:$D54F PRG:554F 57 05 98 11 DD 04 1C 10 5E 04 9A 10 D3 05 11 11 + .byte $5C, $05, $92, $11, $D4, $04, $1E, $10, $5E, $04, $94, $10, $D8, $05, $19, $11 ; CPU:$D55F PRG:555F 5C 05 92 11 D4 04 1E 10 5E 04 94 10 D8 05 19 11 + .byte $55, $05, $95, $11, $DA, $02, $C1, $03, $CE, $02, $00, $02, $41, $03, $4E, $02 ; CPU:$D56F PRG:556F 55 05 95 11 DA 02 C1 03 CE 02 00 02 41 03 4E 02 + .byte $34, $03, $3B, $04, $10, $04, $52, $04, $94, $04, $D6, $05, $18, $05, $5A, $05 ; CPU:$D57F PRG:557F 34 03 3B 04 10 04 52 04 94 04 D6 05 18 05 5A 05 + .byte $9C, $05, $DE, $04, $11, $04, $53, $04, $95, $04, $D7, $05, $19, $05, $5B, $05 ; CPU:$D58F PRG:558F 9C 05 DE 04 11 04 53 04 95 04 D7 05 19 05 5B 05 + .byte $9D, $05, $DF, $04, $10, $04, $52, $04, $94, $04, $D6, $05, $08, $05, $4A, $05 ; CPU:$D59F PRG:559F 9D 05 DF 04 10 04 52 04 94 04 D6 05 08 05 4A 05 + .byte $8C, $05, $CE, $02, $00, $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12 ; CPU:$D5AF PRG:55AF 8C 05 CE 02 00 13 81 13 A3 13 C6 13 E9 12 8E 12 + .byte $AC, $12, $C9, $12, $E6, $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12 ; CPU:$D5BF PRG:55BF AC 12 C9 12 E6 13 81 13 A3 13 C6 13 E9 12 8E 12 + .byte $AC, $12, $C9, $12, $E6, $13, $81, $13, $A3, $13, $C6, $13, $E9, $12, $8E, $12 ; CPU:$D5CF PRG:55CF AC 12 C9 12 E6 13 81 13 A3 13 C6 13 E9 12 8E 12 + .byte $AC, $12, $C9, $12, $E6, $13, $81, $13, $A3, $13, $C6, $13, $E9, $02, $C1, $03 ; CPU:$D5DF PRG:55DF AC 12 C9 12 E6 13 81 13 A3 13 C6 13 E9 02 C1 03 + .byte $CE, $02, $00, $02, $41, $03, $9E, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12 ; CPU:$D5EF PRG:55EF CE 02 00 02 41 03 9E 13 8E 13 AC 13 C9 13 E6 12 + .byte $81, $12, $A3, $12, $C6, $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12 ; CPU:$D5FF PRG:55FF 81 12 A3 12 C6 12 E9 13 8E 13 AC 13 C9 13 E6 12 + .byte $81, $12, $A3, $12, $C6, $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $12 ; CPU:$D60F PRG:560F 81 12 A3 12 C6 12 E9 13 8E 13 AC 13 C9 13 E6 12 + .byte $81, $12, $A3, $12, $C6, $12, $E9, $13, $8E, $13, $AC, $13, $C9, $13, $E6, $02 ; CPU:$D61F PRG:561F 81 12 A3 12 C6 12 E9 13 8E 13 AC 13 C9 13 E6 02 + .byte $00, $12, $31, $12, $3E, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03 ; CPU:$D62F PRG:562F 00 12 31 12 3E 02 C7 03 CE 02 44 03 4B 02 C1 03 + .byte $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03 ; CPU:$D63F PRG:563F C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 + .byte $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03 ; CPU:$D64F PRG:564F C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 + .byte $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02, $C1, $03 ; CPU:$D65F PRG:565F C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 C1 03 + .byte $C8, $02, $00, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02 ; CPU:$D66F PRG:566F C8 02 00 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 + .byte $C1, $03, $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02 ; CPU:$D67F PRG:567F C1 03 C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 + .byte $C1, $03, $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $02 ; CPU:$D68F PRG:568F C1 03 C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 02 + .byte $C1, $03, $C8, $02, $44, $03, $4B, $02, $C7, $03, $CE, $02, $44, $03, $4B, $12 ; CPU:$D69F PRG:569F C1 03 C8 02 44 03 4B 02 C7 03 CE 02 44 03 4B 12 + .byte $C1, $12, $CE, $02, $00, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03 ; CPU:$D6AF PRG:56AF C1 12 CE 02 00 02 45 03 4A 02 CA 03 CF 02 45 03 + .byte $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03 ; CPU:$D6BF PRG:56BF 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 + .byte $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03 ; CPU:$D6CF PRG:56CF 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 + .byte $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02, $45, $03 ; CPU:$D6DF PRG:56DF 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 45 03 + .byte $4A, $12, $C1, $12, $CE, $02, $00, $12, $41, $12, $4E, $02, $CA, $03, $CF, $02 ; CPU:$D6EF PRG:56EF 4A 12 C1 12 CE 02 00 12 41 12 4E 02 CA 03 CF 02 + .byte $45, $03, $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02 ; CPU:$D6FF PRG:56FF 45 03 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 + .byte $45, $03, $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02 ; CPU:$D70F PRG:570F 45 03 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 + .byte $45, $03, $4A, $02, $C0, $03, $C5, $02, $45, $03, $4A, $02, $CA, $03, $CF, $02 ; CPU:$D71F PRG:571F 45 03 4A 02 C0 03 C5 02 45 03 4A 02 CA 03 CF 02 + .byte $45, $03, $4A, $02, $C0, $03, $C5, $02, $00, $02, $31, $03, $3E, $02, $11, $03 ; CPU:$D72F PRG:572F 45 03 4A 02 C0 03 C5 02 00 02 31 03 3E 02 11 03 + .byte $18, $02, $91, $03, $96, $02, $11, $03, $16, $02, $95, $03, $9A, $02, $14, $03 ; CPU:$D73F PRG:573F 18 02 91 03 96 02 11 03 16 02 95 03 9A 02 14 03 + .byte $19, $02, $99, $03, $9E, $02, $14, $03, $19, $02, $9A, $03, $9F, $02, $10, $03 ; CPU:$D74F PRG:574F 19 02 99 03 9E 02 14 03 19 02 9A 03 9F 02 10 03 + .byte $15, $02, $9A, $03, $9F, $02, $10, $03, $15, $02, $9A, $03, $9F, $02, $10, $03 ; CPU:$D75F PRG:575F 15 02 9A 03 9F 02 10 03 15 02 9A 03 9F 02 10 03 + .byte $15, $02, $C1, $03, $CE, $02, $00, $12, $41, $12, $4E, $04, $C2, $05, $07, $02 ; CPU:$D76F PRG:576F 15 02 C1 03 CE 02 00 12 41 12 4E 04 C2 05 07 02 + .byte $4A, $03, $4F, $04, $FE, $05, $4C, $04, $88, $02, $C0, $03, $C5, $04, $71, $05 ; CPU:$D77F PRG:577F 4A 03 4F 04 FE 05 4C 04 88 02 C0 03 C5 04 71 05 + .byte $C3, $04, $07, $02, $4A, $03, $4F, $05, $FE, $05, $4C, $04, $88, $02, $C0, $03 ; CPU:$D78F PRG:578F C3 04 07 02 4A 03 4F 05 FE 05 4C 04 88 02 C0 03 + .byte $C5, $04, $71, $05, $C3, $04, $07, $02, $4A, $03, $4F, $05, $FE, $02, $00, $05 ; CPU:$D79F PRG:579F C5 04 71 05 C3 04 07 02 4A 03 4F 05 FE 02 00 05 + .byte $4C, $04, $88, $02, $C0, $03, $C5, $04, $71, $05, $C3, $04, $07, $02, $4A, $03 ; CPU:$D7AF PRG:57AF 4C 04 88 02 C0 03 C5 04 71 05 C3 04 07 02 4A 03 + .byte $4F, $05, $FE, $05, $4C, $04, $88, $02, $C0, $03, $C5, $04, $71, $05, $C3, $04 ; CPU:$D7BF PRG:57BF 4F 05 FE 05 4C 04 88 02 C0 03 C5 04 71 05 C3 04 + .byte $07, $02, $4A, $03, $4F, $05, $FE, $05, $4C, $04, $88, $02, $C0, $03, $C5, $12 ; CPU:$D7CF PRG:57CF 07 02 4A 03 4F 05 FE 05 4C 04 88 02 C0 03 C5 12 + .byte $C1, $12, $CE, $02, $00, $12, $41, $12, $4E, $04, $CB, $04, $4C, $02, $A2, $03 ; CPU:$D7DF PRG:57DF C1 12 CE 02 00 12 41 12 4E 04 CB 04 4C 02 A2 03 + .byte $AA, $04, $43, $04, $55, $04, $A6, $02, $45, $03, $4D, $04, $54, $04, $39, $04 ; CPU:$D7EF PRG:57EF AA 04 43 04 55 04 A6 02 45 03 4D 04 54 04 39 04 + .byte $40, $04, $60, $04, $91, $04, $39, $02, $60, $03, $68, $04, $3A, $04, $7C, $04 ; CPU:$D7FF PRG:57FF 40 04 60 04 91 04 39 02 60 03 68 04 3A 04 7C 04 + .byte $8B, $02, $37, $03, $3E, $12, $C1, $12, $CE, $02, $00, $4A, $D8, $1A, $D9, $75 ; CPU:$D80F PRG:580F 8B 02 37 03 3E 12 C1 12 CE 02 00 4A D8 1A D9 75 + .byte $DA, $20, $DC, $D1, $DC, $A2, $DD, $A4, $D9, $76, $DB, $7D, $D8, $3E, $DA, $F7 ; CPU:$D81F PRG:581F DA 20 DC D1 DC A2 DD A4 D9 76 DB 7D D8 3E DA F7 + .byte $D9, $5B, $DC, $14, $DD, $D5, $DB, $30, $DE, $17, $DB, $B0, $D8, $E3, $D8, $59 ; CPU:$D82F PRG:582F D9 5B DC 14 DD D5 DB 30 DE 17 DB B0 D8 E3 D8 59 + .byte $D9, $96, $DC, $5B, $DD, $E9, $DD, $83, $DE, $B8, $DA, $8F, $90, $00, $01, $00 ; CPU:$D83F PRG:583F D9 96 DC 5B DD E9 DD 83 DE B8 DA 8F 90 00 01 00 + .byte $00, $00, $0A, $00, $F8, $00, $0A, $00, $F8, $FE, $08, $00, $F8, $FC, $04, $40 ; CPU:$D84F PRG:584F 00 00 0A 00 F8 00 0A 00 F8 FE 08 00 F8 FC 04 40 + .byte $FA, $F9, $05, $40, $FC, $FA, $04, $00, $FF, $F9, $05, $00, $04, $FB, $08, $40 ; CPU:$D85F PRG:585F FA F9 05 40 FC FA 04 00 FF F9 05 00 04 FB 08 40 + .byte $06, $FC, $03, $00, $06, $F8, $04, $00, $03, $FB, $00, $00, $01, $80, $D1, $9B ; CPU:$D86F PRG:586F 06 FC 03 00 06 F8 04 00 03 FB 00 00 01 80 D1 9B + .byte $00, $01, $00, $00, $FA, $0B, $00, $FB, $F8, $04, $40, $FC, $F9, $04, $40, $FC ; CPU:$D87F PRG:587F 00 01 00 00 FA 0B 00 FB F8 04 40 FC F9 04 40 FC + .byte $FB, $08, $00, $FC, $FC, $08, $00, $F8, $FE, $09, $00, $F8, $FC, $0B, $00, $F8 ; CPU:$D88F PRG:588F FB 08 00 FC FC 08 00 F8 FE 09 00 F8 FC 0B 00 F8 + .byte $F8, $06, $40, $00, $F8, $04, $40, $FD, $F8, $04, $40, $FC, $FA, $00, $00, $FF ; CPU:$D89F PRG:589F F8 06 40 00 F8 04 40 FD F8 04 40 FC FA 00 00 FF + .byte $80, $A4, $80, $00, $01, $00, $00, $F9, $05, $40, $F9, $FB, $08, $00, $FA, $FC ; CPU:$D8AF PRG:58AF 80 A4 80 00 01 00 00 F9 05 40 F9 FB 08 00 FA FC + .byte $08, $00, $F8, $FE, $09, $00, $F8, $FE, $09, $00, $F8, $FE, $09, $00, $F8, $FC ; CPU:$D8BF PRG:58BF 08 00 F8 FE 09 00 F8 FE 09 00 F8 FE 09 00 F8 FC + .byte $0B, $00, $F8, $F8, $0B, $80, $00, $FC, $0B, $40, $08, $F8, $04, $00, $05, $FA ; CPU:$D8CF PRG:58CF 0B 00 F8 F8 0B 80 00 FC 0B 40 08 F8 04 00 05 FA + .byte $00, $00, $02, $80, $D7, $80, $00, $01, $01, $00, $FE, $08, $01, $F8, $FC, $08 ; CPU:$D8DF PRG:58DF 00 00 02 80 D7 80 00 01 01 00 FE 08 01 F8 FC 08 + .byte $01, $F8, $FC, $0B, $01, $F8, $F8, $04, $41, $FB, $F8, $03, $41, $FD, $F8, $04 ; CPU:$D8EF PRG:58EF 01 F8 FC 0B 01 F8 F8 04 41 FB F8 03 41 FD F8 04 + .byte $41, $FD, $F8, $04, $41, $FC, $FB, $08, $01, $FC, $FC, $08, $01, $F8, $FC, $05 ; CPU:$D8FF PRG:58FF 41 FD F8 04 41 FC FB 08 01 FC FC 08 01 F8 FC 05 + .byte $41, $FA, $FA, $04, $41, $FB, $FA, $00, $01, $FF, $80, $BD, $97, $00, $01, $01 ; CPU:$D90F PRG:590F 41 FA FA 04 41 FB FA 00 01 FF 80 BD 97 00 01 01 + .byte $00, $00, $09, $01, $F8, $FC, $08, $01, $F8, $FC, $04, $41, $FA, $F8, $04, $41 ; CPU:$D91F PRG:591F 00 00 09 01 F8 FC 08 01 F8 FC 04 41 FA F8 04 41 + .byte $FC, $FA, $08, $01, $FC, $FC, $04, $41, $FA, $FA, $08, $01, $FC, $FC, $04, $41 ; CPU:$D92F PRG:592F FC FA 08 01 FC FC 04 41 FA FA 08 01 FC FC 04 41 + .byte $FA, $F8, $03, $41, $FD, $F8, $02, $01, $FF, $F8, $02, $01, $FF, $F8, $03, $41 ; CPU:$D93F PRG:593F FA F8 03 41 FD F8 02 01 FF F8 02 01 FF F8 03 41 + .byte $FE, $F8, $04, $41, $FD, $FA, $00, $01, $FF, $80, $1B, $93, $00, $01, $01, $00 ; CPU:$D94F PRG:594F FE F8 04 41 FD FA 00 01 FF 80 1B 93 00 01 01 00 + .byte $FA, $05, $01, $07, $FA, $04, $01, $05, $FA, $08, $41, $04, $FC, $08, $41, $08 ; CPU:$D95F PRG:595F FA 05 01 07 FA 04 01 05 FA 08 41 04 FC 08 41 08 + .byte $FC, $08, $41, $08, $FC, $0B, $41, $08, $F8, $0B, $81, $03, $FB, $08, $41, $08 ; CPU:$D96F PRG:596F FC 08 41 08 FC 0B 41 08 F8 0B 81 03 FB 08 41 08 + .byte $FC, $0B, $41, $08, $F8, $07, $01, $03, $F8, $06, $01, $00, $F8, $0B, $81, $03 ; CPU:$D97F PRG:597F FC 0B 41 08 F8 07 01 03 F8 06 01 00 F8 0B 81 03 + .byte $FB, $05, $01, $07, $FA, $05, $01, $06, $FA, $05, $01, $06, $FA, $04, $01, $05 ; CPU:$D98F PRG:598F FB 05 01 07 FA 05 01 06 FA 05 01 06 FA 04 01 05 + .byte $FA, $00, $01, $02, $80, $2C, $95, $00, $01, $03, $00, $FE, $08, $43, $08, $FC ; CPU:$D99F PRG:599F FA 00 01 02 80 2C 95 00 01 03 00 FE 08 43 08 FC + .byte $08, $43, $08, $FC, $05, $03, $06, $FA, $05, $03, $06, $FA, $04, $03, $05, $F8 ; CPU:$D9AF PRG:59AF 08 43 08 FC 05 03 06 FA 05 03 06 FA 04 03 05 F8 + .byte $0B, $83, $04, $FB, $0B, $43, $08, $F8, $07, $03, $05, $F8, $06, $03, $00, $F8 ; CPU:$D9BF PRG:59BF 0B 83 04 FB 0B 43 08 F8 07 03 05 F8 06 03 00 F8 + .byte $04, $03, $04, $FA, $05, $03, $04, $FA, $04, $03, $05, $F8, $03, $43, $01, $F8 ; CPU:$D9CF PRG:59CF 04 03 04 FA 05 03 04 FA 04 03 05 F8 03 43 01 F8 + .byte $04, $43, $FD, $FA, $05, $03, $02, $FA, $04, $03, $05, $F8, $04, $03, $04, $F8 ; CPU:$D9DF PRG:59DF 04 43 FD FA 05 03 02 FA 04 03 05 F8 04 03 04 F8 + .byte $03, $03, $03, $FA, $00, $03, $01, $80, $8D, $94, $00, $01, $01, $00, $01, $09 ; CPU:$D9EF PRG:59EF 03 03 03 FA 00 03 01 80 8D 94 00 01 01 00 01 09 + .byte $41, $F8, $01, $09, $01, $F8, $FE, $09, $01, $F8, $FE, $09, $01, $F8, $FC, $0B ; CPU:$D9FF PRG:59FF 41 F8 01 09 01 F8 FE 09 01 F8 FE 09 01 F8 FC 0B + .byte $01, $F8, $F8, $0B, $C1, $FB, $FD, $0B, $01, $F8, $F8, $04, $41, $FB, $F8, $03 ; CPU:$DA0F PRG:5A0F 01 F8 F8 0B C1 FB FD 0B 01 F8 F8 04 41 FB F8 03 + .byte $41, $FD, $F8, $02, $01, $FF, $F8, $03, $01, $02, $F8, $04, $01, $03, $F8, $04 ; CPU:$DA1F PRG:5A1F 41 FD F8 02 01 FF F8 03 01 02 F8 04 01 03 F8 04 + .byte $01, $04, $FA, $05, $01, $04, $FA, $04, $01, $05, $FA, $00, $01, $01, $80, $C1 ; CPU:$DA2F PRG:5A2F 01 04 FA 05 01 04 FA 04 01 05 FA 00 01 01 80 C1 + .byte $85, $00, $01, $01, $00, $00, $09, $01, $F8, $FE, $09, $01, $F8, $FE, $09, $01 ; CPU:$DA3F PRG:5A3F 85 00 01 01 00 00 09 01 F8 FE 09 01 F8 FE 09 01 + .byte $F8, $FE, $09, $01, $F8, $FC, $0B, $01, $F8, $F8, $0B, $C1, $FB, $FD, $09, $01 ; CPU:$DA4F PRG:5A4F F8 FE 09 01 F8 FC 0B 01 F8 F8 0B C1 FB FD 09 01 + .byte $F8, $FE, $09, $01, $F8, $FE, $09, $01, $F8, $FC, $0B, $01, $F8, $F8, $02, $01 ; CPU:$DA5F PRG:5A5F F8 FE 09 01 F8 FE 09 01 F8 FC 0B 01 F8 F8 02 01 + .byte $FD, $FA, $00, $01, $FF, $80, $55, $92, $00, $01, $01, $00, $F8, $04, $01, $02 ; CPU:$DA6F PRG:5A6F FD FA 00 01 FF 80 55 92 00 01 01 00 F8 04 01 02 + .byte $F8, $04, $01, $04, $FA, $05, $01, $04, $FA, $05, $01, $06, $F9, $02, $01, $03 ; CPU:$DA7F PRG:5A7F F8 04 01 04 FA 05 01 04 FA 05 01 06 F9 02 01 03 + .byte $F8, $03, $01, $02, $F8, $03, $01, $02, $F8, $04, $41, $FF, $F9, $05, $01, $02 ; CPU:$DA8F PRG:5A8F F8 03 01 02 F8 03 01 02 F8 04 41 FF F9 05 01 02 + .byte $FA, $05, $01, $06, $FA, $04, $01, $05, $F8, $04, $01, $04, $F8, $03, $41, $01 ; CPU:$DA9F PRG:5A9F FA 05 01 06 FA 04 01 05 F8 04 01 04 F8 03 41 01 + .byte $F8, $02, $01, $FF, $FA, $00, $01, $00, $80, $E6, $95, $00, $01, $03, $00, $FE ; CPU:$DAAF PRG:5AAF F8 02 01 FF FA 00 01 00 80 E6 95 00 01 03 00 FE + .byte $08, $03, $F8, $FC, $04, $43, $F9, $F8, $04, $43, $FC, $F8, $0B, $C3, $FC, $FD ; CPU:$DABF PRG:5ABF 08 03 F8 FC 04 43 F9 F8 04 43 FC F8 0B C3 FC FD + .byte $0B, $03, $F8, $F8, $0B, $C3, $FD, $FD, $09, $03, $F8, $FE, $0B, $03, $F8, $F8 ; CPU:$DACF PRG:5ACF 0B 03 F8 F8 0B C3 FD FD 09 03 F8 FE 0B 03 F8 F8 + .byte $07, $43, $FD, $F8, $06, $43, $00, $F8, $07, $83, $FD, $F8, $0B, $C3, $FB, $FD ; CPU:$DADF PRG:5ADF 07 43 FD F8 06 43 00 F8 07 83 FD F8 0B C3 FB FD + .byte $09, $03, $F8, $FD, $0B, $03, $F8, $F8, $07, $43, $FD, $F8, $04, $43, $FD, $F8 ; CPU:$DAEF PRG:5AEF 09 03 F8 FD 0B 03 F8 F8 07 43 FD F8 04 43 FD F8 + .byte $04, $43, $FC, $FA, $08, $03, $FC, $FC, $04, $43, $FA, $F8, $03, $43, $FD, $F8 ; CPU:$DAFF PRG:5AFF 04 43 FC FA 08 03 FC FC 04 43 FA F8 03 43 FD F8 + .byte $04, $43, $FD, $FA, $00, $03, $FF, $80, $16, $98, $00, $01, $03, $00, $FD, $08 ; CPU:$DB0F PRG:5B0F 04 43 FD FA 00 03 FF 80 16 98 00 01 03 00 FD 08 + .byte $43, $08, $FC, $05, $03, $06, $FA, $05, $03, $06, $FA, $07, $03, $05, $F8, $06 ; CPU:$DB1F PRG:5B1F 43 08 FC 05 03 06 FA 05 03 06 FA 07 03 05 F8 06 + .byte $03, $00, $FA, $07, $03, $04, $F8, $06, $03, $00, $FA, $05, $03, $05, $FA, $05 ; CPU:$DB2F PRG:5B2F 03 00 FA 07 03 04 F8 06 03 00 FA 05 03 05 FA 05 + .byte $03, $06, $FA, $05, $03, $06, $FA, $04, $03, $05, $FA, $05, $03, $04, $FA, $0B ; CPU:$DB3F PRG:5B3F 03 06 FA 05 03 06 FA 04 03 05 FA 05 03 04 FA 0B + .byte $83, $05, $FB, $07, $03, $07, $F8, $06, $03, $00, $F8, $04, $03, $05, $FA, $05 ; CPU:$DB4F PRG:5B4F 83 05 FB 07 03 07 F8 06 03 00 F8 04 03 05 FA 05 + .byte $03, $04, $FA, $05, $03, $06, $FA, $05, $03, $06, $FA, $04, $03, $05, $FA, $05 ; CPU:$DB5F PRG:5B5F 03 04 FA 05 03 06 FA 05 03 06 FA 04 03 05 FA 05 + .byte $03, $04, $FA, $00, $03, $04, $80, $D9, $8F, $00, $01, $03, $00, $FE, $08, $03 ; CPU:$DB6F PRG:5B6F 03 04 FA 00 03 04 80 D9 8F 00 01 03 00 FE 08 03 + .byte $F8, $FF, $09, $43, $F8, $02, $08, $43, $F8, $04, $09, $43, $F8, $02, $09, $43 ; CPU:$DB7F PRG:5B7F F8 FF 09 43 F8 02 08 43 F8 04 09 43 F8 02 09 43 + .byte $F8, $00, $09, $03, $F8, $FC, $08, $03, $F8, $FC, $07, $43, $FB, $F8, $06, $43 ; CPU:$DB8F PRG:5B8F F8 00 09 03 F8 FC 08 03 F8 FC 07 43 FB F8 06 43 + .byte $00, $F8, $07, $03, $FF, $F8, $06, $03, $00, $F8, $0B, $C3, $01, $FD, $0B, $03 ; CPU:$DB9F PRG:5B9F 00 F8 07 03 FF F8 06 03 00 F8 0B C3 01 FD 0B 03 + .byte $F8, $F8, $07, $43, $FB, $F8, $06, $43, $00, $F8, $07, $43, $FB, $F8, $06, $43 ; CPU:$DBAF PRG:5BAF F8 F8 07 43 FB F8 06 43 00 F8 07 43 FB F8 06 43 + .byte $00, $F8, $07, $43, $FB, $F8, $06, $43, $00, $F8, $04, $43, $FB, $F8, $03, $43 ; CPU:$DBBF PRG:5BBF 00 F8 07 43 FB F8 06 43 00 F8 04 43 FB F8 03 43 + .byte $FD, $FA, $00, $03, $FF, $80, $50, $98, $00, $01, $03, $00, $00, $09, $43, $08 ; CPU:$DBCF PRG:5BCF FD FA 00 03 FF 80 50 98 00 01 03 00 00 09 43 08 + .byte $FC, $08, $43, $08, $FC, $08, $43, $08, $FC, $08, $43, $08, $FC, $08, $43, $08 ; CPU:$DBDF PRG:5BDF FC 08 43 08 FC 08 43 08 FC 08 43 08 FC 08 43 08 + .byte $FC, $08, $43, $08, $FC, $05, $03, $06, $FA, $04, $03, $05, $F8, $03, $03, $03 ; CPU:$DBEF PRG:5BEF FC 08 43 08 FC 05 03 06 FA 04 03 05 F8 03 03 03 + .byte $F8, $03, $43, $FF, $F8, $04, $43, $FD, $FA, $05, $43, $FC, $FA, $04, $43, $FB ; CPU:$DBFF PRG:5BFF F8 03 43 FF F8 04 43 FD FA 05 43 FC FA 04 43 FB + .byte $F8, $03, $43, $FD, $F8, $03, $43, $FF, $F8, $03, $03, $02, $FA, $00, $03, $01 ; CPU:$DC0F PRG:5C0F F8 03 43 FD F8 03 43 FF F8 03 03 02 FA 00 03 01 + .byte $80, $A0, $78, $00, $01, $02, $00, $F8, $06, $C2, $02, $F8, $07, $C2, $00, $F8 ; CPU:$DC1F PRG:5C1F 80 A0 78 00 01 02 00 F8 06 C2 02 F8 07 C2 00 F8 + .byte $0B, $C2, $00, $FE, $0A, $02, $F8, $FF, $09, $02, $F8, $FE, $09, $02, $F8, $FC ; CPU:$DC2F PRG:5C2F 0B C2 00 FE 0A 02 F8 FF 09 02 F8 FE 09 02 F8 FC + .byte $08, $02, $F8, $FC, $05, $42, $FA, $FA, $07, $42, $FB, $F8, $06, $42, $00, $F8 ; CPU:$DC3F PRG:5C3F 08 02 F8 FC 05 42 FA FA 07 42 FB F8 06 42 00 F8 + .byte $07, $02, $00, $F8, $06, $02, $00, $FA, $00, $02, $02, $80, $38, $88, $00, $01 ; CPU:$DC4F PRG:5C4F 07 02 00 F8 06 02 00 FA 00 02 02 80 38 88 00 01 + .byte $02, $00, $F8, $0B, $82, $03, $FD, $09, $42, $08, $FE, $09, $42, $08, $FE, $09 ; CPU:$DC5F PRG:5C5F 02 00 F8 0B 82 03 FD 09 42 08 FE 09 42 08 FE 09 + .byte $42, $08, $FC, $0B, $42, $08, $F8, $0B, $C2, $00, $FC, $0B, $02, $F8, $F8, $0B ; CPU:$DC6F PRG:5C6F 42 08 FC 0B 42 08 F8 0B C2 00 FC 0B 02 F8 F8 0B + .byte $82, $00, $FC, $0B, $42, $08, $F8, $07, $02, $04, $F8, $06, $02, $00, $FB, $0B ; CPU:$DC7F PRG:5C7F 82 00 FC 0B 42 08 F8 07 02 04 F8 06 02 00 FB 0B + .byte $42, $05, $FA, $00, $02, $02, $80, $7A, $78, $00, $01, $02, $00, $00, $0A, $02 ; CPU:$DC8F PRG:5C8F 42 05 FA 00 02 02 80 7A 78 00 01 02 00 00 0A 02 + .byte $F8, $02, $09, $42, $F8, $01, $0A, $02, $F8, $FF, $09, $02, $F8, $FC, $05, $42 ; CPU:$DC9F PRG:5C9F F8 02 09 42 F8 01 0A 02 F8 FF 09 02 F8 FC 05 42 + .byte $FA, $FA, $04, $42, $FB, $FA, $02, $02, $FF, $FA, $04, $02, $02, $FA, $05, $02 ; CPU:$DCAF PRG:5CAF FA FA 04 42 FB FA 02 02 FF FA 04 02 02 FA 05 02 + .byte $04, $FB, $08, $42, $06, $FC, $05, $02, $06, $FA, $04, $02, $05, $FA, $00, $02 ; CPU:$DCBF PRG:5CBF 04 FB 08 42 06 FC 05 02 06 FA 04 02 05 FA 00 02 + .byte $01, $80, $58, $88, $00, $01, $02, $00, $F8, $02, $02, $00, $F8, $03, $02, $02 ; CPU:$DCCF PRG:5CCF 01 80 58 88 00 01 02 00 F8 02 02 00 F8 03 02 02 + .byte $F8, $03, $02, $02, $F8, $03, $02, $02, $F8, $04, $02, $03, $FA, $05, $02, $04 ; CPU:$DCDF PRG:5CDF F8 03 02 02 F8 03 02 02 F8 04 02 03 FA 05 02 04 + .byte $FA, $04, $02, $05, $F8, $02, $02, $01, $F8, $03, $02, $02, $F8, $04, $02, $03 ; CPU:$DCEF PRG:5CEF FA 04 02 05 F8 02 02 01 F8 03 02 02 F8 04 02 03 + .byte $FA, $05, $02, $04, $FA, $03, $02, $04, $F8, $04, $02, $03, $F8, $03, $02, $02 ; CPU:$DCFF PRG:5CFF FA 05 02 04 FA 03 02 04 F8 04 02 03 F8 03 02 02 + .byte $FA, $00, $02, $00, $80, $80, $80, $00, $01, $02, $00, $FF, $0A, $42, $08, $FF ; CPU:$DD0F PRG:5D0F FA 00 02 00 80 80 80 00 01 02 00 FF 0A 42 08 FF + .byte $09, $42, $08, $FC, $08, $42, $08, $FC, $05, $02, $06, $FA, $04, $02, $05, $F8 ; CPU:$DD1F PRG:5D1F 09 42 08 FC 08 42 08 FC 05 02 06 FA 04 02 05 F8 + .byte $03, $02, $03, $F8, $02, $02, $01, $F8, $03, $42, $FE, $F8, $04, $42, $FD, $FA ; CPU:$DD2F PRG:5D2F 03 02 03 F8 02 02 01 F8 03 42 FE F8 04 42 FD FA + .byte $05, $42, $FC, $FB, $08, $02, $FA, $FE, $09, $02, $F8, $FC, $08, $02, $F8, $FD ; CPU:$DD3F PRG:5D3F 05 42 FC FB 08 02 FA FE 09 02 F8 FC 08 02 F8 FD + .byte $0B, $02, $F8, $F8, $06, $02, $FD, $FA, $00, $02, $02, $80, $40, $80, $00, $01 ; CPU:$DD4F PRG:5D4F 0B 02 F8 F8 06 02 FD FA 00 02 02 80 40 80 00 01 + .byte $02, $00, $FD, $0B, $02, $F8, $F8, $07, $02, $00, $F8, $06, $02, $00, $FD, $09 ; CPU:$DD5F PRG:5D5F 02 00 FD 0B 02 F8 F8 07 02 00 F8 06 02 00 FD 09 + .byte $42, $05, $FE, $09, $42, $08, $FC, $0B, $42, $08, $F8, $04, $42, $FF, $F8, $03 ; CPU:$DD6F PRG:5D6F 42 05 FE 09 42 08 FC 0B 42 08 F8 04 42 FF F8 03 + .byte $02, $FF, $FA, $05, $02, $03, $FB, $08, $42, $06, $FE, $09, $42, $08, $FC, $0B ; CPU:$DD7F PRG:5D7F 02 FF FA 05 02 03 FB 08 42 06 FE 09 42 08 FC 0B + .byte $42, $08, $F8, $03, $02, $03, $F8, $07, $02, $02, $F8, $06, $02, $00, $FA, $00 ; CPU:$DD8F PRG:5D8F 42 08 F8 03 02 03 F8 07 02 02 F8 06 02 00 FA 00 + .byte $02, $02, $80, $80, $80, $00, $01, $03, $00, $00, $09, $C3, $F8, $FC, $0B, $03 ; CPU:$DD9F PRG:5D9F 02 02 80 80 80 00 01 03 00 00 09 C3 F8 FC 0B 03 + .byte $F8, $F8, $07, $03, $00, $F8, $06, $03, $00, $F8, $0B, $83, $04, $FE, $09, $43 ; CPU:$DDAF PRG:5DAF F8 F8 07 03 00 F8 06 03 00 F8 0B 83 04 FE 09 43 + .byte $08, $FD, $0B, $43, $08, $F8, $0B, $C3, $00, $FB, $08, $03, $F8, $FC, $05, $43 ; CPU:$DDBF PRG:5DBF 08 FD 0B 43 08 F8 0B C3 00 FB 08 03 F8 FC 05 43 + .byte $FA, $FA, $06, $03, $FD, $FA, $05, $03, $05, $F9, $05, $03, $06, $FB, $07, $03 ; CPU:$DDCF PRG:5DCF FA FA 06 03 FD FA 05 03 05 F9 05 03 06 FB 07 03 + .byte $05, $FA, $04, $43, $00, $FA, $00, $03, $FF, $80, $C0, $80, $00, $01, $03, $00 ; CPU:$DDDF PRG:5DDF 05 FA 04 43 00 FA 00 03 FF 80 C0 80 00 01 03 00 + .byte $FD, $08, $03, $F8, $FE, $09, $03, $F8, $FE, $09, $03, $F8, $FE, $09, $03, $F8 ; CPU:$DDEF PRG:5DEF FD 08 03 F8 FE 09 03 F8 FE 09 03 F8 FE 09 03 F8 + .byte $FC, $0B, $03, $F8, $FA, $05, $03, $01, $FA, $07, $03, $05, $F8, $06, $03, $00 ; CPU:$DDFF PRG:5DFF FC 0B 03 F8 FA 05 03 01 FA 07 03 05 F8 06 03 00 + .byte $F8, $0B, $83, $04, $FB, $0B, $43, $08, $F8, $0B, $C3, $00, $FE, $09, $03, $FA ; CPU:$DE0F PRG:5E0F F8 0B 83 04 FB 0B 43 08 F8 0B C3 00 FE 09 03 FA + .byte $FC, $08, $03, $F8, $FC, $08, $03, $F8, $FC, $0B, $03, $F8, $FA, $00, $03, $FE ; CPU:$DE1F PRG:5E1F FC 08 03 F8 FC 08 03 F8 FC 0B 03 F8 FA 00 03 FE + .byte $80, $80, $80, $00, $01, $03, $00, $F9, $03, $03, $01, $F8, $0B, $83, $02, $FD ; CPU:$DE2F PRG:5E2F 80 80 80 00 01 03 00 F9 03 03 01 F8 0B 83 02 FD + .byte $0A, $03, $08, $02, $09, $03, $08, $02, $09, $03, $08, $01, $0A, $03, $08, $FE ; CPU:$DE3F PRG:5E3F 0A 03 08 02 09 03 08 02 09 03 08 01 0A 03 08 FE + .byte $0B, $43, $08, $F8, $07, $43, $FF, $F8, $06, $43, $00, $FB, $08, $03, $FB, $FC ; CPU:$DE4F PRG:5E4F 0B 43 08 F8 07 43 FF F8 06 43 00 FB 08 03 FB FC + .byte $08, $03, $F8, $FC, $0B, $03, $F8, $F8, $0B, $C3, $FC, $FD, $0A, $03, $F8, $FF ; CPU:$DE5F PRG:5E5F 08 03 F8 FC 0B 03 F8 F8 0B C3 FC FD 0A 03 F8 FF + .byte $09, $03, $F8, $FC, $0B, $03, $F8, $F8, $07, $03, $00, $F8, $06, $03, $00, $FA ; CPU:$DE6F PRG:5E6F 09 03 F8 FC 0B 03 F8 F8 07 03 00 F8 06 03 00 FA + .byte $00, $03, $03, $80, $44, $80, $00, $01, $03, $00, $FE, $0B, $43, $08, $F8, $0B ; CPU:$DE7F PRG:5E7F 00 03 03 80 44 80 00 01 03 00 FE 0B 43 08 F8 0B + .byte $C3, $00, $FD, $09, $03, $F8, $FC, $0B, $03, $F8, $F8, $0B, $83, $01, $FB, $0B ; CPU:$DE8F PRG:5E8F C3 00 FD 09 03 F8 FC 0B 03 F8 F8 0B 83 01 FB 0B + .byte $43, $08, $F8, $0B, $83, $05, $FD, $09, $43, $08, $FE, $09, $43, $08, $FE, $09 ; CPU:$DE9F PRG:5E9F 43 08 F8 0B 83 05 FD 09 43 08 FE 09 43 08 FE 09 + .byte $43, $08, $FC, $0B, $43, $08, $F8, $0B, $C3, $00, $FC, $0B, $03, $F8, $F8, $0B ; CPU:$DEAF PRG:5EAF 43 08 FC 0B 43 08 F8 0B C3 00 FC 0B 03 F8 F8 0B + .byte $83, $00, $FC, $0B, $43, $08, $F8, $07, $03, $04, $F8, $06, $03, $00, $FB, $0B ; CPU:$DEBF PRG:5EBF 83 00 FC 0B 43 08 F8 07 03 04 F8 06 03 00 FB 0B + .byte $43, $05, $FA, $00, $03, $03, $80, $06, $DF, $76, $DF, $32, $E0, $DE, $E0, $7E ; CPU:$DECF PRG:5ECF 43 05 FA 00 03 03 80 06 DF 76 DF 32 E0 DE E0 7E + .byte $E1, $4A, $E2, $C2, $E2, $3A, $E3, $26, $DF, $A2, $DF, $6A, $E0, $16, $E1, $C2 ; CPU:$DEDF PRG:5EDF E1 4A E2 C2 E2 3A E3 26 DF A2 DF 6A E0 16 E1 C2 + .byte $E1, $4A, $E2, $C2, $E2, $F2, $E2, $46, $DF, $DA, $DF, $A6, $E0, $4E, $E1, $06 ; CPU:$DEEF PRG:5EEF E1 4A E2 C2 E2 F2 E2 46 DF DA DF A6 E0 4E E1 06 + .byte $E2, $4A, $E2, $C2, $E2, $12, $E3, $02, $02, $02, $02, $02, $02, $02, $02, $03 ; CPU:$DEFF PRG:5EFF E2 4A E2 C2 E2 12 E3 02 02 02 02 02 02 02 02 03 + .byte $02, $01, $01, $02, $02, $02, $02, $01, $01, $01, $01, $03, $03, $03, $03, $01 ; CPU:$DF0F PRG:5F0F 02 01 01 02 02 02 02 01 01 01 01 03 03 03 03 01 + .byte $01, $01, $01, $03, $03, $03, $03, $02, $02, $02, $02, $02, $02, $02, $02, $01 ; CPU:$DF1F PRG:5F1F 01 01 01 03 03 03 03 02 02 02 02 02 02 02 02 01 + .byte $01, $01, $01, $03, $03, $03, $03, $01, $01, $01, $01, $03, $03, $03, $03, $01 ; CPU:$DF2F PRG:5F2F 01 01 01 03 03 03 03 01 01 01 01 03 03 03 03 01 + .byte $01, $01, $01, $03, $03, $03, $03, $02, $02, $02, $02, $02, $03, $04, $03, $01 ; CPU:$DF3F PRG:5F3F 01 01 01 03 03 03 03 02 02 02 02 02 03 04 03 01 + .byte $00, $00, $00, $00, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$DF4F PRG:5F4F 00 00 00 00 01 01 02 02 02 02 02 02 02 02 02 02 + .byte $01, $03, $02, $03, $02, $02, $02, $02, $02, $03, $01, $02, $02, $02, $02, $02 ; CPU:$DF5F PRG:5F5F 01 03 02 03 02 02 02 02 02 03 01 02 02 02 02 02 + .byte $02, $02, $02, $02, $01, $01, $03, $02, $02, $02, $02, $03, $03, $02, $02, $02 ; CPU:$DF6F PRG:5F6F 02 02 02 02 01 01 03 02 02 02 02 03 03 02 02 02 + .byte $02, $02, $02, $03, $01, $03, $01, $03, $01, $01, $01, $01, $01, $01, $00, $00 ; CPU:$DF7F PRG:5F7F 02 02 02 03 01 03 01 03 01 01 01 01 01 01 00 00 + .byte $01, $02, $03, $04, $04, $02, $02, $02, $02, $02, $03, $04, $03, $02, $02, $02 ; CPU:$DF8F PRG:5F8F 01 02 03 04 04 02 02 02 02 02 03 04 03 02 02 02 + .byte $02, $01, $01, $02, $02, $02, $02, $02, $02, $01, $02, $02, $02, $02, $02, $02 ; CPU:$DF9F PRG:5F9F 02 01 01 02 02 02 02 02 02 01 02 02 02 02 02 02 + .byte $02, $02, $02, $01, $01, $00, $01, $01, $02, $02, $02, $03, $03, $02, $02, $02 ; CPU:$DFAF PRG:5FAF 02 02 02 01 01 00 01 01 02 02 02 03 03 02 02 02 + .byte $03, $01, $01, $02, $03, $04, $04, $00, $00, $01, $01, $02, $02, $02, $02, $03 ; CPU:$DFBF PRG:5FBF 03 01 01 02 03 04 04 00 00 01 01 02 02 02 02 03 + .byte $02, $01, $02, $03, $02, $01, $02, $02, $02, $02, $01, $02, $02, $02, $02, $01 ; CPU:$DFCF PRG:5FCF 02 01 02 03 02 01 02 02 02 02 01 02 02 02 02 01 + .byte $01, $01, $02, $02, $01, $02, $03, $02, $01, $02, $03, $03, $03, $03, $02, $02 ; CPU:$DFDF PRG:5FDF 01 01 02 02 01 02 03 02 01 02 03 03 03 03 02 02 + .byte $02, $02, $03, $01, $03, $01, $03, $01, $03, $01, $03, $01, $01, $00, $00, $01 ; CPU:$DFEF PRG:5FEF 02 02 03 01 03 01 03 01 03 01 03 01 01 00 00 01 + .byte $02, $02, $02, $02, $02, $01, $01, $02, $02, $02, $02, $02, $02, $01, $01, $03 ; CPU:$DFFF PRG:5FFF 02 02 02 02 02 01 01 02 02 02 02 02 02 01 01 03 + .byte $03, $03, $03, $01, $01, $01, $01, $03, $03, $03, $03, $01, $01, $01, $01, $02 ; CPU:$E00F PRG:600F 03 03 03 01 01 01 01 03 03 03 03 01 01 01 01 02 + .byte $02, $01, $01, $02, $02, $03, $03, $02, $02, $01, $01, $03, $03, $02, $02, $01 ; CPU:$E01F PRG:601F 02 01 01 02 02 03 03 02 02 01 01 03 03 02 02 01 + .byte $01, $03, $03, $02, $02, $02, $02, $01, $01, $01, $02, $03, $03, $03, $02, $02 ; CPU:$E02F PRG:602F 01 03 03 02 02 02 02 01 01 01 02 03 03 03 02 02 + .byte $02, $02, $02, $03, $03, $02, $02, $02, $01, $03, $02, $00, $00, $00, $01, $00 ; CPU:$E03F PRG:603F 02 02 02 03 03 02 02 02 01 03 02 00 00 00 01 00 + .byte $04, $00, $00, $04, $04, $00, $00, $03, $03, $04, $04, $02, $02, $02, $02, $01 ; CPU:$E04F PRG:604F 04 00 00 04 04 00 00 03 03 04 04 02 02 02 02 01 + .byte $01, $02, $02, $03, $03, $01, $01, $03, $03, $01, $01, $02, $02, $02, $02, $03 ; CPU:$E05F PRG:605F 01 02 02 03 03 01 01 03 03 01 01 02 02 02 02 03 + .byte $03, $03, $02, $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $02, $01, $02 ; CPU:$E06F PRG:606F 03 03 02 02 02 01 01 01 01 01 01 01 01 02 01 02 + .byte $02, $02, $02, $01, $02, $01, $01, $01, $01, $02, $02, $00, $00, $00, $00, $04 ; CPU:$E07F PRG:607F 02 02 02 01 02 01 01 01 01 02 02 00 00 00 00 04 + .byte $04, $04, $04, $01, $00, $00, $01, $02, $04, $03, $02, $02, $02, $02, $02, $01 ; CPU:$E08F PRG:608F 04 04 04 01 00 00 01 02 04 03 02 02 02 02 02 01 + .byte $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $02, $02, $02 ; CPU:$E09F PRG:609F 01 01 01 02 02 02 02 02 02 02 02 03 03 02 02 02 + .byte $02, $03, $03, $02, $02, $01, $01, $01, $01, $01, $02, $03, $04, $04, $03, $01 ; CPU:$E0AF PRG:60AF 02 03 03 02 02 01 01 01 01 01 02 03 04 04 03 01 + .byte $00, $00, $01, $03, $04, $04, $03, $01, $00, $02, $02, $02, $02, $00, $00, $00 ; CPU:$E0BF PRG:60BF 00 00 01 03 04 04 03 01 00 02 02 02 02 00 00 00 + .byte $04, $04, $04, $04, $02, $02, $02, $02, $02, $01, $03, $02, $02, $01, $00, $02 ; CPU:$E0CF PRG:60CF 04 04 04 04 02 02 02 02 02 01 03 02 02 01 00 02 + .byte $02, $02, $02, $04, $04, $04, $00, $00, $00, $04, $04, $04, $04, $03, $03, $00 ; CPU:$E0DF PRG:60DF 02 02 02 04 04 04 00 00 00 04 04 04 04 03 03 00 + .byte $00, $00, $00, $01, $01, $00, $01, $02, $02, $02, $02, $01, $01, $01, $01, $02 ; CPU:$E0EF PRG:60EF 00 00 00 01 01 00 01 02 02 02 02 01 01 01 01 02 + .byte $02, $02, $02, $04, $04, $00, $00, $04, $04, $02, $00, $00, $00, $01, $02, $02 ; CPU:$E0FF PRG:60FF 02 02 02 04 04 00 00 04 04 02 00 00 00 01 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $04, $04, $04, $03 ; CPU:$E10F PRG:610F 02 02 02 02 02 02 02 02 02 02 02 03 04 04 04 03 + .byte $02, $00, $00, $00, $04, $04, $04, $03, $02, $03, $04, $04, $02, $00, $00, $00 ; CPU:$E11F PRG:611F 02 00 00 00 04 04 04 03 02 03 04 04 02 00 00 00 + .byte $00, $00, $01, $03, $04, $04, $04, $04, $04, $04, $04, $02, $02, $02, $02, $04 ; CPU:$E12F PRG:612F 00 00 01 03 04 04 04 04 04 04 04 02 02 02 02 04 + .byte $00, $04, $00, $04, $00, $03, $01, $01, $00, $00, $00, $02, $02, $02, $02, $02 ; CPU:$E13F PRG:613F 00 04 00 04 00 03 01 01 00 00 00 02 02 02 02 02 + .byte $02, $02, $02, $03, $03, $03, $02, $02, $03, $03, $04, $04, $03, $03, $02, $01 ; CPU:$E14F PRG:614F 02 02 02 03 03 03 02 02 03 03 04 04 03 03 02 01 + .byte $01, $02, $01, $02, $01, $01, $01, $01, $01, $03, $03, $01, $01, $03, $03, $00 ; CPU:$E15F PRG:615F 01 02 01 02 01 01 01 01 01 03 03 01 01 03 03 00 + .byte $00, $04, $04, $00, $00, $04, $04, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E16F PRG:616F 00 04 04 00 00 04 04 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $03, $03, $03, $03, $02, $02, $02, $02, $03, $04, $03, $02, $01 ; CPU:$E17F PRG:617F 02 02 02 03 03 03 03 02 02 02 02 03 04 03 02 01 + .byte $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03 ; CPU:$E18F PRG:618F 01 01 01 01 02 02 02 02 02 02 02 02 03 03 03 03 + .byte $03, $03, $02, $02, $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02 ; CPU:$E19F PRG:619F 03 03 02 02 01 01 01 01 01 01 01 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $04, $00, $04, $00, $02, $02, $02, $02, $02 ; CPU:$E1AF PRG:61AF 02 02 02 02 02 02 02 04 00 04 00 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $04, $04, $00, $00, $00, $04, $04, $00, $00 ; CPU:$E1BF PRG:61BF 02 02 02 02 02 02 02 04 04 00 00 00 04 04 00 00 + .byte $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03 ; CPU:$E1CF PRG:61CF 01 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03 + .byte $03, $03, $03, $02, $03, $03, $02, $02, $02, $03, $03, $02, $02, $03, $03, $02 ; CPU:$E1DF PRG:61DF 03 03 03 02 03 03 02 02 02 03 03 02 02 03 03 02 + .byte $02, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $02, $02, $02, $02, $02 ; CPU:$E1EF PRG:61EF 02 03 03 03 03 03 03 03 03 03 03 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $04, $04, $00, $00, $04, $04 ; CPU:$E1FF PRG:61FF 02 02 02 02 02 02 02 02 02 02 04 04 00 00 04 04 + .byte $03, $02, $02, $03, $04, $04, $04, $02, $02, $02, $02, $01, $01, $01, $01, $01 ; CPU:$E20F PRG:620F 03 02 02 03 04 04 04 02 02 02 02 01 01 01 01 01 + .byte $01, $01, $01, $02, $01, $02, $02, $01, $01, $01, $01, $03, $04, $04, $04, $03 ; CPU:$E21F PRG:621F 01 01 01 02 01 02 02 01 01 01 01 03 04 04 04 03 + .byte $02, $02, $02, $02, $02, $02, $02, $03, $04, $03, $01, $00, $01, $04, $00, $04 ; CPU:$E22F PRG:622F 02 02 02 02 02 02 02 03 04 03 01 00 01 04 00 04 + .byte $00, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01 ; CPU:$E23F PRG:623F 00 00 00 02 02 02 02 02 02 02 02 02 02 02 02 01 + .byte $01, $01, $02, $03, $04, $04, $04, $04, $02, $02, $02, $03, $02, $01, $02, $03 ; CPU:$E24F PRG:624F 01 01 02 03 04 04 04 04 02 02 02 03 02 01 02 03 + .byte $02, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $00, $00, $00 ; CPU:$E25F PRG:625F 02 01 02 02 02 02 02 02 02 02 02 02 01 00 00 00 + .byte $01, $02, $02, $01, $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $01 ; CPU:$E26F PRG:626F 01 02 02 01 01 01 01 01 01 01 01 02 02 02 02 01 + .byte $01, $01, $01, $03, $04, $04, $04, $04, $03, $03, $04, $04, $04, $04, $04, $04 ; CPU:$E27F PRG:627F 01 01 01 03 04 04 04 04 03 03 04 04 04 04 04 04 + .byte $03, $03, $02, $02, $02, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00, $00 ; CPU:$E28F PRG:628F 03 03 02 02 02 01 01 01 01 01 01 00 00 00 00 00 + .byte $01, $03, $04, $04, $04, $02, $00, $00, $00, $00, $02, $04, $04, $04, $02, $00 ; CPU:$E29F PRG:629F 01 03 04 04 04 02 00 00 00 00 02 04 04 04 02 00 + .byte $00, $00, $00, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$E2AF PRG:62AF 00 00 00 01 01 01 01 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $01, $01, $02, $02, $03, $03, $03, $02, $02 ; CPU:$E2BF PRG:62BF 02 02 02 02 02 02 02 01 01 02 02 03 03 03 02 02 + .byte $01, $01, $02, $02, $03, $03, $02, $02, $01, $01, $02, $02, $03, $03, $02, $02 ; CPU:$E2CF PRG:62CF 01 01 02 02 03 03 02 02 01 01 02 02 03 03 02 02 + .byte $01, $00, $00, $00, $00, $00, $01, $02, $02, $02, $02, $03, $03, $03, $03, $03 ; CPU:$E2DF PRG:62DF 01 00 00 00 00 00 01 02 02 02 02 03 03 03 03 03 + .byte $02, $01, $01, $02, $02, $02, $02, $03, $03, $03, $03, $03, $02, $02, $01, $02 ; CPU:$E2EF PRG:62EF 02 01 01 02 02 02 02 03 03 03 03 03 02 02 01 02 + .byte $03, $02, $01, $02, $03, $02, $01, $02, $02, $02, $02, $01, $00, $00, $04, $04 ; CPU:$E2FF PRG:62FF 03 02 01 02 03 02 01 02 02 02 02 01 00 00 04 04 + .byte $04, $00, $00, $02, $02, $02, $02, $04, $04, $04, $04, $01, $00, $00, $00, $03 ; CPU:$E30F PRG:630F 04 00 00 02 02 02 02 04 04 04 04 01 00 00 00 03 + .byte $04, $04, $04, $04, $04, $04, $04, $02, $02, $01, $01, $00, $00, $00, $00, $00 ; CPU:$E31F PRG:631F 04 04 04 04 04 04 04 02 02 01 01 00 00 00 00 00 + .byte $00, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $01 ; CPU:$E32F PRG:632F 00 01 01 02 02 02 02 02 02 02 02 02 02 02 02 01 + .byte $01, $01, $02, $02, $02, $03, $03, $03, $03, $02, $02, $01, $01, $03, $04, $04 ; CPU:$E33F PRG:633F 01 01 02 02 02 03 03 03 03 02 02 01 01 03 04 04 + .byte $04, $04, $04, $00, $00, $00, $00, $04, $04, $04, $04, $02, $02, $00, $00, $01 ; CPU:$E34F PRG:634F 04 04 04 00 00 00 00 04 04 04 04 02 02 00 00 01 + .byte $02, $03, $04, $02, $02, $02, $02, $02, $01, $00, $00, $00, $00, $01, $02, $03 ; CPU:$E35F PRG:635F 02 03 04 02 02 02 02 02 01 00 00 00 00 01 02 03 + .byte $04, $04, $04, $04, $03, $02, $01, $00, $00, $00, $00, $04, $04, $00, $00, $00 ; CPU:$E36F PRG:636F 04 04 04 04 03 02 01 00 00 00 00 04 04 00 00 00 + .byte $00, $00, $00, $02, $02, $02, $02, $04, $04, $04, $04, $04, $04, $04, $02, $00 ; CPU:$E37F PRG:637F 00 00 00 02 02 02 02 04 04 04 04 04 04 04 02 00 + .byte $00, $00, $00, $04, $04, $04, $04, $00, $00, $00, $00, $04, $04, $04, $04, $00 ; CPU:$E38F PRG:638F 00 00 00 04 04 04 04 00 00 00 00 04 04 04 04 00 + .byte $00, $00, $00, $04, $04, $04, $04, $00, $00, $00, $00, $02, $02, $02, $02, $02 ; CPU:$E39F PRG:639F 00 00 00 04 04 04 04 00 00 00 00 02 02 02 02 02 + .byte $02, $02, $02, $FD, $E7, $E3, $EC, $E7, $ED, $53, $EE, $DB, $F0, $27, $F1, $EF ; CPU:$E3AF PRG:63AF 02 02 02 FD E7 E3 EC E7 ED 53 EE DB F0 27 F1 EF + .byte $F1, $33, $F2, $AB, $F2, $D7, $F2, $FB, $F2, $05, $F3, $0B, $F3, $11, $F3, $17 ; CPU:$E3BF PRG:63BF F1 33 F2 AB F2 D7 F2 FB F2 05 F3 0B F3 11 F3 17 + .byte $F3, $1D, $F3, $FD, $E7, $23, $F3, $29, $F3, $2F, $F3, $35, $F3, $3B, $F3, $41 ; CPU:$E3CF PRG:63CF F3 1D F3 FD E7 23 F3 29 F3 2F F3 35 F3 3B F3 41 + .byte $F3, $47, $F3, $51, $F3, $75, $F3, $A9, $F3, $ED, $F3, $FD, $E7, $8B, $EC, $B9 ; CPU:$E3DF PRG:63DF F3 47 F3 51 F3 75 F3 A9 F3 ED F3 FD E7 8B EC B9 + .byte $EC, $C7, $EE, $FD, $E7, $59, $F4, $5F, $F4, $65, $F4, $6B, $F4, $77, $F4, $87 ; CPU:$E3EF PRG:63EF EC C7 EE FD E7 59 F4 5F F4 65 F4 6B F4 77 F4 87 + .byte $F4, $9F, $F4, $BF, $F4, $E7, $F4, $1F, $F5, $B3, $F5, $43, $EC, $55, $EC, $1B ; CPU:$E3FF PRG:63FF F4 9F F4 BF F4 E7 F4 1F F5 B3 F5 43 EC 55 EC 1B + .byte $EF, $F3, $EF, $FD, $E7, $D9, $F5, $DF, $F5, $E5, $F5, $EB, $F5, $F1, $F5, $F7 ; CPU:$E40F PRG:640F EF F3 EF FD E7 D9 F5 DF F5 E5 F5 EB F5 F1 F5 F7 + .byte $F5, $FD, $F5, $07, $F6, $11, $F6, $35, $F6, $71, $F6, $37, $ED, $61, $ED, $8B ; CPU:$E41F PRG:641F F5 FD F5 07 F6 11 F6 35 F6 71 F6 37 ED 61 ED 8B + .byte $ED, $B5, $ED, $FD, $E7, $3B, $EA, $41, $EA, $47, $EA, $4D, $EA, $53, $EA, $5D ; CPU:$E42F PRG:642F ED B5 ED FD E7 3B EA 41 EA 47 EA 4D EA 53 EA 5D + .byte $EA, $67, $EA, $71, $EA, $7F, $EA, $91, $EA, $F5, $EA, $79, $EB, $B3, $EB, $FD ; CPU:$E43F PRG:643F EA 67 EA 71 EA 7F EA 91 EA F5 EA 79 EB B3 EB FD + .byte $E7, $FD, $E7, $FD, $E7, $81, $E9, $87, $E9, $8D, $E9, $93, $E9, $99, $E9, $9F ; CPU:$E44F PRG:644F E7 FD E7 FD E7 81 E9 87 E9 8D E9 93 E9 99 E9 9F + .byte $E9, $A5, $E9, $AB, $E9, $BF, $E9, $DB, $E9, $07, $EA, $FD, $E7, $C1, $E7, $C7 ; CPU:$E45F PRG:645F E9 A5 E9 AB E9 BF E9 DB E9 07 EA FD E7 C1 E7 C7 + .byte $E7, $CD, $E7, $D3, $E7, $D9, $E7, $E5, $E7, $F1, $E7, $F1, $E7, $29, $E8, $71 ; CPU:$E46F PRG:646F E7 CD E7 D3 E7 D9 E7 E5 E7 F1 E7 F1 E7 29 E8 71 + .byte $E8, $F9, $E8, $87, $E6, $C9, $E6, $03, $E7, $45, $E7, $23, $E6, $47, $E6, $1D ; CPU:$E47F PRG:647F E8 F9 E8 87 E6 C9 E6 03 E7 45 E7 23 E6 47 E6 1D + .byte $EE, $8D, $EE, $67, $E6, $67, $EC, $79, $EC, $83, $E7, $FD, $E7, $C1, $E7, $C7 ; CPU:$E48F PRG:648F EE 8D EE 67 E6 67 EC 79 EC 83 E7 FD E7 C1 E7 C7 + .byte $E7, $CD, $E7, $D3, $E7, $DF, $E7, $EB, $E7, $FF, $E7, $FF, $E7, $3B, $E8, $93 ; CPU:$E49F PRG:649F E7 CD E7 D3 E7 DF E7 EB E7 FF E7 FF E7 3B E8 93 + .byte $E8, $1B, $E9, $59, $F1, $51, $F2, $51, $EF, $2D, $F0, $0D, $ED, $C5, $EB, $D7 ; CPU:$E4AF PRG:64AF E8 1B E9 59 F1 51 F2 51 EF 2D F0 0D ED C5 EB D7 + .byte $EB, $E9, $EB, $FB, $EB, $0D, $EC, $1F, $EC, $31, $EC, $FD, $E7, $59, $F4, $5F ; CPU:$E4BF PRG:64BF EB E9 EB FB EB 0D EC 1F EC 31 EC FD E7 59 F4 5F + .byte $F4, $65, $F4, $6B, $F4, $71, $F4, $7D, $F4, $91, $F4, $AD, $F4, $D1, $F4, $FD ; CPU:$E4CF PRG:64CF F4 65 F4 6B F4 71 F4 7D F4 91 F4 AD F4 D1 F4 FD + .byte $F4, $67, $F5, $59, $F7, $9F, $F7, $CD, $F6, $13, $F7, $FD, $E7, $E3, $EC, $E7 ; CPU:$E4DF PRG:64DF F4 67 F5 59 F7 9F F7 CD F6 13 F7 FD E7 E3 EC E7 + .byte $ED, $53, $EE, $01, $F1, $8B, $F1, $11, $F2, $6F, $F2, $C1, $F2, $E9, $F2, $FB ; CPU:$E4EF PRG:64EF ED 53 EE 01 F1 8B F1 11 F2 6F F2 C1 F2 E9 F2 FB + .byte $F2, $05, $F3, $0B, $F3, $11, $F3, $17, $F3, $1D, $F3, $FD, $E7, $23, $F3, $29 ; CPU:$E4FF PRG:64FF F2 05 F3 0B F3 11 F3 17 F3 1D F3 FD E7 23 F3 29 + .byte $F3, $2F, $F3, $35, $F3, $3B, $F3, $41, $F3, $47, $F3, $63, $F3, $8F, $F3, $CB ; CPU:$E50F PRG:650F F3 2F F3 35 F3 3B F3 41 F3 47 F3 63 F3 8F F3 CB + .byte $F3, $23, $F4, $FD, $E7, $8B, $EC, $B9, $EC, $F1, $EE, $FD, $E7, $59, $F4, $5F ; CPU:$E51F PRG:651F F3 23 F4 FD E7 8B EC B9 EC F1 EE FD E7 59 F4 5F + .byte $F4, $65, $F4, $6B, $F4, $77, $F4, $87, $F4, $9F, $F4, $BF, $F4, $E7, $F4, $1F ; CPU:$E52F PRG:652F F4 65 F4 6B F4 77 F4 87 F4 9F F4 BF F4 E7 F4 1F + .byte $F5, $8D, $F5, $43, $EC, $55, $EC, $87, $EF, $67, $F0, $FD, $E7, $D9, $F5, $DF ; CPU:$E53F PRG:653F F5 8D F5 43 EC 55 EC 87 EF 67 F0 FD E7 D9 F5 DF + .byte $F5, $E5, $F5, $EB, $F5, $F1, $F5, $F7, $F5, $FD, $F5, $07, $F6, $23, $F6, $53 ; CPU:$E54F PRG:654F F5 E5 F5 EB F5 F1 F5 F7 F5 FD F5 07 F6 23 F6 53 + .byte $F6, $9F, $F6, $37, $ED, $61, $ED, $8B, $ED, $B5, $ED, $FD, $E7, $3B, $EA, $41 ; CPU:$E55F PRG:655F F6 9F F6 37 ED 61 ED 8B ED B5 ED FD E7 3B EA 41 + .byte $EA, $47, $EA, $4D, $EA, $53, $EA, $5D, $EA, $67, $EA, $71, $EA, $7F, $EA, $C3 ; CPU:$E56F PRG:656F EA 47 EA 4D EA 53 EA 5D EA 67 EA 71 EA 7F EA C3 + .byte $EA, $37, $EB, $79, $EB, $B3, $EB, $FD, $E7, $FD, $E7, $FD, $E7, $81, $E9, $87 ; CPU:$E57F PRG:657F EA 37 EB 79 EB B3 EB FD E7 FD E7 FD E7 81 E9 87 + .byte $E9, $8D, $E9, $93, $E9, $99, $E9, $9F, $E9, $A5, $E9, $B5, $E9, $CD, $E9, $F1 ; CPU:$E58F PRG:658F E9 8D E9 93 E9 99 E9 9F E9 A5 E9 B5 E9 CD E9 F1 + .byte $E9, $21, $EA, $FD, $E7, $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7, $D9, $E7, $E5 ; CPU:$E59F PRG:659F E9 21 EA FD E7 C1 E7 C7 E7 CD E7 D3 E7 D9 E7 E5 + .byte $E7, $0D, $E8, $0D, $E8, $4D, $E8, $B5, $E8, $3D, $E9, $87, $E6, $C9, $E6, $03 ; CPU:$E5AF PRG:65AF E7 0D E8 0D E8 4D E8 B5 E8 3D E9 87 E6 C9 E6 03 + .byte $E7, $45, $E7, $35, $E6, $55, $E6, $1D, $EE, $8D, $EE, $75, $E6, $67, $EC, $79 ; CPU:$E5BF PRG:65BF E7 45 E7 35 E6 55 E6 1D EE 8D EE 75 E6 67 EC 79 + .byte $EC, $83, $E7, $FD, $E7, $C1, $E7, $C7, $E7, $CD, $E7, $D3, $E7, $DF, $E7, $EB ; CPU:$E5CF PRG:65CF EC 83 E7 FD E7 C1 E7 C7 E7 CD E7 D3 E7 DF E7 EB + .byte $E7, $1B, $E8, $1B, $E8, $5F, $E8, $D7, $E8, $5F, $E9, $BD, $F1, $8D, $F2, $BD ; CPU:$E5DF PRG:65DF E7 1B E8 1B E8 5F E8 D7 E8 5F E9 BD F1 8D F2 BD + .byte $EF, $A1, $F0, $0D, $ED, $C5, $EB, $D7, $EB, $E9, $EB, $FB, $EB, $0D, $EC, $1F ; CPU:$E5EF PRG:65EF EF A1 F0 0D ED C5 EB D7 EB E9 EB FB EB 0D EC 1F + .byte $EC, $31, $EC, $FD, $E7, $59, $F4, $5F, $F4, $65, $F4, $6B, $F4, $71, $F4, $7D ; CPU:$E5FF PRG:65FF EC 31 EC FD E7 59 F4 5F F4 65 F4 6B F4 71 F4 7D + .byte $F4, $91, $F4, $AD, $F4, $D1, $F4, $FD, $F4, $41, $F5, $59, $F7, $9F, $F7, $CD ; CPU:$E60F PRG:660F F4 91 F4 AD F4 D1 F4 FD F4 41 F5 59 F7 9F F7 CD + .byte $F6, $13, $F7, $F8, $0C, $EF, $02, $F4, $0C, $FF, $02, $04, $0A, $EF, $02, $F0 ; CPU:$E61F PRG:661F F6 13 F7 F8 0C EF 02 F4 0C FF 02 04 0A EF 02 F0 + .byte $0A, $FF, $02, $08, $80, $F8, $0C, $FF, $02, $F4, $0C, $EF, $02, $04, $0A, $FF ; CPU:$E62F PRG:662F 0A FF 02 08 80 F8 0C FF 02 F4 0C EF 02 04 0A FF + .byte $02, $F0, $0A, $EF, $02, $08, $80, $F8, $05, $EF, $02, $F7, $09, $FF, $02, $F3 ; CPU:$E63F PRG:663F 02 F0 0A EF 02 08 80 F8 05 EF 02 F7 09 FF 02 F3 + .byte $0A, $FF, $02, $F0, $80, $F8, $05, $FF, $02, $F7, $09, $EF, $02, $F3, $06, $EF ; CPU:$E64F PRG:664F 0A FF 02 F0 80 F8 05 FF 02 F7 09 EF 02 F3 06 EF + .byte $02, $F4, $0B, $FF, $02, $EF, $80, $F8, $05, $EF, $02, $01, $09, $FF, $02, $05 ; CPU:$E65F PRG:665F 02 F4 0B FF 02 EF 80 F8 05 EF 02 01 09 FF 02 05 + .byte $0A, $FF, $02, $08, $80, $F8, $05, $FF, $02, $01, $09, $EF, $02, $05, $06, $EF ; CPU:$E66F PRG:666F 0A FF 02 08 80 F8 05 FF 02 01 09 EF 02 05 06 EF + .byte $02, $04, $0B, $FF, $02, $09, $80, $DB, $00, $87, $40, $F0, $00, $87, $00, $08 ; CPU:$E67F PRG:667F 02 04 0B FF 02 09 80 DB 00 87 40 F0 00 87 00 08 + .byte $05, $8A, $00, $F8, $05, $8A, $40, $00, $0D, $89, $00, $F0, $0D, $8B, $00, $F8 ; CPU:$E68F PRG:668F 05 8A 00 F8 05 8A 40 00 0D 89 00 F0 0D 8B 00 F8 + .byte $0D, $8B, $40, $00, $0D, $89, $40, $08, $15, $90, $00, $F8, $15, $90, $40, $00 ; CPU:$E69F PRG:669F 0D 8B 40 00 0D 89 40 08 15 90 00 F8 15 90 40 00 + .byte $1D, $91, $00, $F8, $1D, $91, $40, $00, $25, $92, $02, $F0, $25, $FA, $02, $F8 ; CPU:$E6AF PRG:66AF 1D 91 00 F8 1D 91 40 00 25 92 02 F0 25 FA 02 F8 + .byte $25, $FA, $42, $00, $25, $92, $42, $08, $80, $DB, $00, $8E, $00, $F0, $00, $8E ; CPU:$E6BF PRG:66BF 25 FA 42 00 25 92 42 08 80 DB 00 8E 00 F0 00 8E + .byte $40, $08, $05, $8C, $40, $F8, $05, $8C, $00, $00, $0D, $8D, $40, $F8, $0D, $8D ; CPU:$E6CF PRG:66CF 40 08 05 8C 40 F8 05 8C 00 00 0D 8D 40 F8 0D 8D + .byte $00, $00, $15, $90, $00, $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D, $91 ; CPU:$E6DF PRG:66DF 00 00 15 90 00 F8 15 90 40 00 1D 91 00 F8 1D 91 + .byte $40, $00, $25, $92, $02, $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25, $92 ; CPU:$E6EF PRG:66EF 40 00 25 92 02 F0 25 FA 02 F8 25 FA 42 00 25 92 + .byte $42, $08, $80, $DD, $00, $87, $40, $F0, $00, $87, $00, $08, $05, $8A, $00, $F8 ; CPU:$E6FF PRG:66FF 42 08 80 DD 00 87 40 F0 00 87 00 08 05 8A 00 F8 + .byte $05, $8A, $40, $00, $0D, $89, $00, $F0, $0D, $8B, $00, $F8, $0D, $8B, $40, $00 ; CPU:$E70F PRG:670F 05 8A 40 00 0D 89 00 F0 0D 8B 00 F8 0D 8B 40 00 + .byte $0D, $89, $40, $08, $15, $90, $00, $F8, $15, $90, $40, $00, $1B, $91, $00, $F6 ; CPU:$E71F PRG:671F 0D 89 40 08 15 90 00 F8 15 90 40 00 1B 91 00 F6 + .byte $1B, $91, $40, $02, $23, $92, $02, $EE, $23, $FA, $02, $F6, $23, $FA, $42, $02 ; CPU:$E72F PRG:672F 1B 91 40 02 23 92 02 EE 23 FA 02 F6 23 FA 42 02 + .byte $23, $92, $42, $0A, $80, $DB, $00, $87, $40, $F0, $00, $8E, $40, $08, $05, $8A ; CPU:$E73F PRG:673F 23 92 42 0A 80 DB 00 87 40 F0 00 8E 40 08 05 8A + .byte $00, $F8, $05, $8C, $00, $00, $0D, $89, $00, $F0, $0D, $8B, $00, $F8, $0D, $8D ; CPU:$E74F PRG:674F 00 F8 05 8C 00 00 0D 89 00 F0 0D 8B 00 F8 0D 8D + .byte $00, $00, $15, $90, $00, $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D, $91 ; CPU:$E75F PRG:675F 00 00 15 90 00 F8 15 90 40 00 1D 91 00 F8 1D 91 + .byte $40, $00, $25, $92, $02, $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25, $92 ; CPU:$E76F PRG:676F 40 00 25 92 02 F0 25 FA 02 F8 25 FA 42 00 25 92 + .byte $42, $08, $80, $DB, $00, $8E, $00, $F0, $00, $87, $00, $08, $05, $8C, $40, $F8 ; CPU:$E77F PRG:677F 42 08 80 DB 00 8E 00 F0 00 87 00 08 05 8C 40 F8 + .byte $05, $8A, $40, $00, $0D, $8D, $40, $F8, $0D, $8B, $40, $00, $0D, $89, $40, $08 ; CPU:$E78F PRG:678F 05 8A 40 00 0D 8D 40 F8 0D 8B 40 00 0D 89 40 08 + .byte $15, $90, $00, $F8, $15, $90, $40, $00, $1D, $91, $00, $F8, $1D, $91, $40, $00 ; CPU:$E79F PRG:679F 15 90 00 F8 15 90 40 00 1D 91 00 F8 1D 91 40 00 + .byte $25, $92, $02, $F0, $25, $FA, $02, $F8, $25, $FA, $42, $00, $25, $92, $42, $08 ; CPU:$E7AF PRG:67AF 25 92 02 F0 25 FA 02 F8 25 FA 42 00 25 92 42 08 + .byte $80, $00, $00, $82, $01, $FC, $80, $00, $00, $81, $01, $FC, $80, $00, $00, $80 ; CPU:$E7BF PRG:67BF 80 00 00 82 01 FC 80 00 00 81 01 FC 80 00 00 80 + .byte $01, $FC, $80, $00, $00, $4E, $01, $FC, $80, $00, $00, $EE, $01, $FC, $80, $00 ; CPU:$E7CF PRG:67CF 01 FC 80 00 00 4E 01 FC 80 00 00 EE 01 FC 80 00 + .byte $00, $EE, $41, $FC, $80, $00, $00, $ED, $01, $FC, $80, $00, $00, $ED, $41, $FC ; CPU:$E7DF PRG:67DF 00 EE 41 FC 80 00 00 ED 01 FC 80 00 00 ED 41 FC + .byte $80, $F8, $00, $EA, $01, $00, $08, $EC, $01, $F8, $08, $EB, $01, $00, $80, $F8 ; CPU:$E7EF PRG:67EF 80 F8 00 EA 01 00 08 EC 01 F8 08 EB 01 00 80 F8 + .byte $00, $EA, $41, $F8, $08, $EB, $41, $F8, $08, $EC, $41, $00, $80, $F8, $00, $EA ; CPU:$E7FF PRG:67FF 00 EA 41 F8 08 EB 41 F8 08 EC 41 00 80 F8 00 EA + .byte $01, $00, $08, $EB, $01, $00, $08, $EC, $01, $F8, $80, $F8, $00, $EA, $41, $F8 ; CPU:$E80F PRG:680F 01 00 08 EB 01 00 08 EC 01 F8 80 F8 00 EA 41 F8 + .byte $08, $EC, $41, $00, $08, $EB, $41, $F8, $80, $F8, $00, $E3, $01, $F8, $00, $E4 ; CPU:$E81F PRG:681F 08 EC 41 00 08 EB 41 F8 80 F8 00 E3 01 F8 00 E4 + .byte $01, $00, $08, $E5, $01, $F8, $08, $E6, $01, $00, $80, $F8, $00, $E4, $41, $F8 ; CPU:$E82F PRG:682F 01 00 08 E5 01 F8 08 E6 01 00 80 F8 00 E4 41 F8 + .byte $00, $E3, $41, $00, $08, $E6, $41, $F8, $08, $E5, $41, $00, $80, $F8, $00, $E4 ; CPU:$E83F PRG:683F 00 E3 41 00 08 E6 41 F8 08 E5 41 00 80 F8 00 E4 + .byte $01, $00, $00, $E3, $01, $F8, $08, $E6, $01, $00, $08, $E5, $01, $F8, $80, $F8 ; CPU:$E84F PRG:684F 01 00 00 E3 01 F8 08 E6 01 00 08 E5 01 F8 80 F8 + .byte $00, $E3, $41, $00, $00, $E4, $41, $F8, $08, $E5, $41, $00, $08, $E6, $41, $F8 ; CPU:$E85F PRG:685F 00 E3 41 00 00 E4 41 F8 08 E5 41 00 08 E6 41 F8 + .byte $80, $F0, $00, $2B, $01, $FA, $00, $E2, $01, $02, $08, $DE, $01, $F4, $08, $DF ; CPU:$E86F PRG:686F 80 F0 00 2B 01 FA 00 E2 01 02 08 DE 01 F4 08 DF + .byte $01, $FC, $08, $E0, $01, $04, $10, $DB, $01, $F4, $10, $DC, $01, $FC, $10, $DD ; CPU:$E87F PRG:687F 01 FC 08 E0 01 04 10 DB 01 F4 10 DC 01 FC 10 DD + .byte $01, $04, $80, $F0, $00, $E2, $41, $F6, $00, $2B, $41, $FE, $08, $E0, $41, $F4 ; CPU:$E88F PRG:688F 01 04 80 F0 00 E2 41 F6 00 2B 41 FE 08 E0 41 F4 + .byte $08, $DF, $41, $FC, $08, $DE, $41, $04, $10, $DD, $41, $F4, $10, $DC, $41, $FC ; CPU:$E89F PRG:689F 08 DF 41 FC 08 DE 41 04 10 DD 41 F4 10 DC 41 FC + .byte $10, $DB, $41, $04, $80, $F0, $00, $E2, $01, $02, $00, $2B, $01, $FA, $08, $E0 ; CPU:$E8AF PRG:68AF 10 DB 41 04 80 F0 00 E2 01 02 00 2B 01 FA 08 E0 + .byte $01, $04, $08, $DF, $01, $FC, $08, $DE, $01, $F4, $10, $DD, $01, $04, $10, $DC ; CPU:$E8BF PRG:68BF 01 04 08 DF 01 FC 08 DE 01 F4 10 DD 01 04 10 DC + .byte $01, $FC, $10, $DB, $01, $F4, $80, $F0, $00, $2B, $41, $FE, $00, $E2, $41, $F6 ; CPU:$E8CF PRG:68CF 01 FC 10 DB 01 F4 80 F0 00 2B 41 FE 00 E2 41 F6 + .byte $08, $DE, $41, $04, $08, $DF, $41, $FC, $08, $E0, $41, $F4, $10, $DB, $41, $04 ; CPU:$E8DF PRG:68DF 08 DE 41 04 08 DF 41 FC 08 E0 41 F4 10 DB 41 04 + .byte $10, $DC, $41, $FC, $10, $DD, $41, $F4, $80, $F0, $00, $D3, $01, $FC, $00, $D4 ; CPU:$E8EF PRG:68EF 10 DC 41 FC 10 DD 41 F4 80 F0 00 D3 01 FC 00 D4 + .byte $01, $04, $08, $D5, $01, $F4, $08, $D6, $01, $FC, $08, $D7, $01, $04, $10, $D8 ; CPU:$E8FF PRG:68FF 01 04 08 D5 01 F4 08 D6 01 FC 08 D7 01 04 10 D8 + .byte $01, $F4, $10, $D9, $01, $FC, $10, $DA, $01, $04, $80, $F0, $00, $D4, $41, $F4 ; CPU:$E90F PRG:690F 01 F4 10 D9 01 FC 10 DA 01 04 80 F0 00 D4 41 F4 + .byte $00, $D3, $41, $FC, $08, $D7, $41, $F4, $08, $D6, $41, $FC, $08, $D5, $41, $04 ; CPU:$E91F PRG:691F 00 D3 41 FC 08 D7 41 F4 08 D6 41 FC 08 D5 41 04 + .byte $10, $DA, $41, $F4, $10, $D9, $41, $FC, $10, $D8, $41, $04, $80, $F0, $00, $D4 ; CPU:$E92F PRG:692F 10 DA 41 F4 10 D9 41 FC 10 D8 41 04 80 F0 00 D4 + .byte $01, $04, $00, $D3, $01, $FC, $08, $D7, $01, $04, $08, $D6, $01, $FC, $08, $D5 ; CPU:$E93F PRG:693F 01 04 00 D3 01 FC 08 D7 01 04 08 D6 01 FC 08 D5 + .byte $01, $F4, $10, $DA, $01, $04, $10, $D9, $01, $FC, $10, $D8, $01, $F4, $80, $F0 ; CPU:$E94F PRG:694F 01 F4 10 DA 01 04 10 D9 01 FC 10 D8 01 F4 80 F0 + .byte $00, $D3, $41, $FC, $00, $D4, $41, $F4, $08, $D5, $41, $04, $08, $D6, $41, $FC ; CPU:$E95F PRG:695F 00 D3 41 FC 00 D4 41 F4 08 D5 41 04 08 D6 41 FC + .byte $08, $D7, $41, $F4, $10, $D8, $41, $04, $10, $D9, $41, $FC, $10, $DA, $41, $F4 ; CPU:$E96F PRG:696F 08 D7 41 F4 10 D8 41 04 10 D9 41 FC 10 DA 41 F4 + .byte $80, $00, $00, $82, $02, $FC, $80, $00, $00, $81, $02, $FC, $80, $00, $00, $80 ; CPU:$E97F PRG:697F 80 00 00 82 02 FC 80 00 00 81 02 FC 80 00 00 80 + .byte $02, $FC, $80, $00, $00, $B9, $02, $FC, $80, $00, $00, $BA, $02, $FC, $80, $00 ; CPU:$E98F PRG:698F 02 FC 80 00 00 B9 02 FC 80 00 00 BA 02 FC 80 00 + .byte $00, $BB, $02, $FC, $80, $00, $00, $BC, $02, $FC, $80, $00, $00, $CA, $02, $F8 ; CPU:$E99F PRG:699F 00 BB 02 FC 80 00 00 BC 02 FC 80 00 00 CA 02 F8 + .byte $00, $CD, $02, $00, $80, $00, $00, $CD, $02, $00, $00, $CA, $02, $F8, $80, $F8 ; CPU:$E9AF PRG:69AF 00 CD 02 00 80 00 00 CD 02 00 00 CA 02 F8 80 F8 + .byte $00, $C5, $02, $FC, $08, $C6, $02, $F8, $08, $C7, $02, $00, $80, $F8, $00, $C5 ; CPU:$E9BF PRG:69BF 00 C5 02 FC 08 C6 02 F8 08 C7 02 00 80 F8 00 C5 + .byte $02, $FC, $08, $C7, $02, $00, $08, $C6, $02, $F8, $80, $F8, $00, $C3, $02, $F8 ; CPU:$E9CF PRG:69CF 02 FC 08 C7 02 00 08 C6 02 F8 80 F8 00 C3 02 F8 + .byte $00, $D0, $02, $00, $08, $C4, $02, $F4, $08, $99, $02, $FC, $08, $7F, $02, $04 ; CPU:$E9DF PRG:69DF 00 D0 02 00 08 C4 02 F4 08 99 02 FC 08 7F 02 04 + .byte $80, $F8, $00, $D0, $02, $00, $00, $C3, $02, $F8, $08, $7F, $02, $04, $08, $99 ; CPU:$E9EF PRG:69EF 80 F8 00 D0 02 00 00 C3 02 F8 08 7F 02 04 08 99 + .byte $02, $FC, $08, $C4, $02, $F4, $80, $F8, $00, $CE, $02, $F4, $00, $CF, $02, $FC ; CPU:$E9FF PRG:69FF 02 FC 08 C4 02 F4 80 F8 00 CE 02 F4 00 CF 02 FC + .byte $00, $D0, $02, $04, $08, $D1, $02, $F4, $08, $FB, $02, $FC, $08, $FC, $02, $04 ; CPU:$EA0F PRG:6A0F 00 D0 02 04 08 D1 02 F4 08 FB 02 FC 08 FC 02 04 + .byte $80, $F8, $00, $D0, $02, $04, $00, $CF, $02, $FC, $00, $CE, $02, $F4, $08, $FC ; CPU:$EA1F PRG:6A1F 80 F8 00 D0 02 04 00 CF 02 FC 00 CE 02 F4 08 FC + .byte $02, $04, $08, $FB, $02, $FC, $08, $D1, $02, $F4, $80, $00, $00, $82, $00, $FC ; CPU:$EA2F PRG:6A2F 02 04 08 FB 02 FC 08 D1 02 F4 80 00 00 82 00 FC + .byte $80, $00, $00, $81, $00, $FC, $80, $00, $00, $80, $00, $FC, $80, $00, $00, $3A ; CPU:$EA3F PRG:6A3F 80 00 00 81 00 FC 80 00 00 80 00 FC 80 00 00 3A + .byte $00, $FC, $80, $00, $00, $89, $80, $F8, $00, $89, $C0, $00, $80, $F8, $00, $F9 ; CPU:$EA4F PRG:6A4F 00 FC 80 00 00 89 80 F8 00 89 C0 00 80 F8 00 F9 + .byte $00, $FC, $08, $F9, $80, $FC, $80, $F8, $00, $F8, $00, $FC, $08, $F8, $80, $FC ; CPU:$EA5F PRG:6A5F 00 FC 08 F9 80 FC 80 F8 00 F8 00 FC 08 F8 80 FC + .byte $80, $F0, $00, $F5, $00, $FC, $08, $F6, $00, $FC, $10, $F7, $00, $FC, $80, $E8 ; CPU:$EA6F PRG:6A6F 80 F0 00 F5 00 FC 08 F6 00 FC 10 F7 00 FC 80 E8 + .byte $00, $F2, $00, $FC, $08, $F3, $00, $FC, $10, $F3, $00, $FC, $18, $F4, $00, $FC ; CPU:$EA7F PRG:6A7F 00 F2 00 FC 08 F3 00 FC 10 F3 00 FC 18 F4 00 FC + .byte $80, $D8, $00, $A0, $00, $F8, $00, $A0, $40, $00, $08, $A1, $00, $F8, $08, $F0 ; CPU:$EA8F PRG:6A8F 80 D8 00 A0 00 F8 00 A0 40 00 08 A1 00 F8 08 F0 + .byte $00, $00, $10, $F0, $40, $F8, $10, $F0, $00, $00, $18, $A1, $00, $F8, $18, $A1 ; CPU:$EA9F PRG:6A9F 00 00 10 F0 40 F8 10 F0 00 00 18 A1 00 F8 18 A1 + .byte $40, $00, $20, $F0, $40, $F8, $20, $F0, $00, $00, $28, $F1, $00, $F8, $28, $F1 ; CPU:$EAAF PRG:6AAF 40 00 20 F0 40 F8 20 F0 00 00 28 F1 00 F8 28 F1 + .byte $40, $00, $80, $D8, $00, $A0, $40, $00, $00, $A0, $00, $F8, $08, $F0, $00, $00 ; CPU:$EABF PRG:6ABF 40 00 80 D8 00 A0 40 00 00 A0 00 F8 08 F0 00 00 + .byte $08, $A1, $00, $F8, $10, $F0, $00, $00, $10, $F0, $40, $F8, $18, $A1, $40, $00 ; CPU:$EACF PRG:6ACF 08 A1 00 F8 10 F0 00 00 10 F0 40 F8 18 A1 40 00 + .byte $18, $A1, $00, $F8, $20, $F0, $00, $00, $20, $F0, $40, $F8, $28, $F1, $40, $00 ; CPU:$EADF PRG:6ADF 18 A1 00 F8 20 F0 00 00 20 F0 40 F8 28 F1 40 00 + .byte $28, $F1, $00, $F8, $80, $C8, $00, $83, $00, $F8, $00, $83, $40, $00, $08, $97 ; CPU:$EAEF PRG:6AEF 28 F1 00 F8 80 C8 00 83 00 F8 00 83 40 00 08 97 + .byte $00, $F8, $08, $9F, $00, $00, $10, $9C, $00, $F8, $10, $9C, $40, $00, $18, $9D ; CPU:$EAFF PRG:6AFF 00 F8 08 9F 00 00 10 9C 00 F8 10 9C 40 00 18 9D + .byte $00, $F8, $18, $9D, $40, $00, $20, $9C, $00, $F8, $20, $9C, $40, $00, $28, $84 ; CPU:$EB0F PRG:6B0F 00 F8 18 9D 40 00 20 9C 00 F8 20 9C 40 00 28 84 + .byte $00, $F8, $28, $85, $00, $00, $30, $9E, $00, $F8, $30, $9E, $40, $00, $38, $9B ; CPU:$EB1F PRG:6B1F 00 F8 28 85 00 00 30 9E 00 F8 30 9E 40 00 38 9B + .byte $00, $F8, $38, $9B, $40, $00, $80, $C8, $00, $83, $40, $00, $00, $83, $00, $F8 ; CPU:$EB2F PRG:6B2F 00 F8 38 9B 40 00 80 C8 00 83 40 00 00 83 00 F8 + .byte $08, $9F, $00, $00, $08, $97, $00, $F8, $10, $9C, $40, $00, $10, $9C, $00, $F8 ; CPU:$EB3F PRG:6B3F 08 9F 00 00 08 97 00 F8 10 9C 40 00 10 9C 00 F8 + .byte $18, $9D, $40, $00, $18, $9D, $00, $F8, $20, $9C, $40, $00, $20, $9C, $00, $F8 ; CPU:$EB4F PRG:6B4F 18 9D 40 00 18 9D 00 F8 20 9C 40 00 20 9C 00 F8 + .byte $28, $85, $00, $00, $28, $84, $00, $F8, $30, $9E, $40, $00, $30, $9E, $00, $F8 ; CPU:$EB5F PRG:6B5F 28 85 00 00 28 84 00 F8 30 9E 40 00 30 9E 00 F8 + .byte $38, $9B, $40, $00, $38, $9B, $00, $F8, $80, $D0, $00, $83, $00, $F8, $00, $83 ; CPU:$EB6F PRG:6B6F 38 9B 40 00 38 9B 00 F8 80 D0 00 83 00 F8 00 83 + .byte $40, $00, $08, $84, $00, $F8, $08, $85, $00, $00, $10, $86, $00, $F8, $10, $86 ; CPU:$EB7F PRG:6B7F 40 00 08 84 00 F8 08 85 00 00 10 86 00 F8 10 86 + .byte $40, $00, $18, $97, $00, $F8, $18, $97, $40, $00, $20, $97, $00, $F8, $20, $9A ; CPU:$EB8F PRG:6B8F 40 00 18 97 00 F8 18 97 40 00 20 97 00 F8 20 9A + .byte $00, $00, $28, $86, $00, $F8, $28, $86, $40, $00, $30, $9B, $00, $F8, $30, $9B ; CPU:$EB9F PRG:6B9F 00 00 28 86 00 F8 28 86 40 00 30 9B 00 F8 30 9B + .byte $40, $00, $80, $F8, $00, $96, $C0, $F8, $00, $96, $80, $00, $08, $96, $40, $F8 ; CPU:$EBAF PRG:6BAF 40 00 80 F8 00 96 C0 F8 00 96 80 00 08 96 40 F8 + .byte $08, $96, $00, $00, $80, $F9, $00, $96, $C0, $F9, $00, $96, $80, $FF, $07, $96 ; CPU:$EBBF PRG:6BBF 08 96 00 00 80 F9 00 96 C0 F9 00 96 80 FF 07 96 + .byte $40, $F9, $07, $96, $00, $FF, $80, $FA, $00, $96, $C0, $FA, $00, $96, $80, $FE ; CPU:$EBCF PRG:6BCF 40 F9 07 96 00 FF 80 FA 00 96 C0 FA 00 96 80 FE + .byte $06, $96, $40, $FA, $06, $96, $00, $FE, $80, $FB, $00, $96, $C0, $FB, $00, $96 ; CPU:$EBDF PRG:6BDF 06 96 40 FA 06 96 00 FE 80 FB 00 96 C0 FB 00 96 + .byte $80, $FD, $05, $96, $40, $FB, $05, $96, $00, $FD, $80, $F8, $00, $94, $40, $F8 ; CPU:$EBEF PRG:6BEF 80 FD 05 96 40 FB 05 96 00 FD 80 F8 00 94 40 F8 + .byte $00, $94, $00, $00, $08, $96, $40, $F8, $08, $96, $00, $00, $80, $F9, $00, $94 ; CPU:$EBFF PRG:6BFF 00 94 00 00 08 96 40 F8 08 96 00 00 80 F9 00 94 + .byte $40, $F9, $00, $94, $00, $FF, $07, $96, $40, $F9, $07, $96, $00, $FF, $80, $FA ; CPU:$EC0F PRG:6C0F 40 F9 00 94 00 FF 07 96 40 F9 07 96 00 FF 80 FA + .byte $00, $94, $40, $FA, $00, $94, $00, $FE, $06, $96, $40, $FA, $06, $96, $00, $FE ; CPU:$EC1F PRG:6C1F 00 94 40 FA 00 94 00 FE 06 96 40 FA 06 96 00 FE + .byte $80, $FB, $00, $94, $40, $FB, $00, $94, $00, $FD, $05, $96, $40, $FB, $05, $96 ; CPU:$EC2F PRG:6C2F 80 FB 00 94 40 FB 00 94 00 FD 05 96 40 FB 05 96 + .byte $00, $FD, $80, $F8, $00, $96, $C0, $F8, $00, $96, $80, $00, $08, $94, $C0, $F8 ; CPU:$EC3F PRG:6C3F 00 FD 80 F8 00 96 C0 F8 00 96 80 00 08 94 C0 F8 + .byte $08, $94, $80, $00, $80, $F9, $00, $96, $C0, $F9, $00, $96, $80, $FF, $07, $94 ; CPU:$EC4F PRG:6C4F 08 94 80 00 80 F9 00 96 C0 F9 00 96 80 FF 07 94 + .byte $C0, $F9, $07, $94, $80, $FF, $80, $FA, $00, $96, $C0, $FA, $00, $96, $80, $FE ; CPU:$EC5F PRG:6C5F C0 F9 07 94 80 FF 80 FA 00 96 C0 FA 00 96 80 FE + .byte $06, $94, $C0, $FA, $06, $94, $80, $FE, $80, $FB, $00, $96, $C0, $FB, $00, $96 ; CPU:$EC6F PRG:6C6F 06 94 C0 FA 06 94 80 FE 80 FB 00 96 C0 FB 00 96 + .byte $80, $FD, $05, $94, $C0, $FB, $05, $94, $80, $FD, $80, $E8, $00, $01, $00, $F8 ; CPU:$EC7F PRG:6C7F 80 FD 05 94 C0 FB 05 94 80 FD 80 E8 00 01 00 F8 + .byte $00, $02, $00, $00, $08, $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00, $04 ; CPU:$EC8F PRG:6C8F 00 02 00 00 08 03 00 F4 08 04 00 FC 08 05 00 04 + .byte $10, $06, $00, $F4, $10, $07, $00, $FC, $10, $06, $40, $04, $18, $B7, $02, $F4 ; CPU:$EC9F PRG:6C9F 10 06 00 F4 10 07 00 FC 10 06 40 04 18 B7 02 F4 + .byte $18, $B8, $02, $FC, $18, $B7, $42, $04, $80, $E8, $00, $08, $82, $F8, $00, $08 ; CPU:$ECAF PRG:6CAF 18 B8 02 FC 18 B7 42 04 80 E8 00 08 82 F8 00 08 + .byte $C2, $00, $08, $06, $80, $F4, $08, $07, $80, $FC, $08, $06, $C0, $04, $10, $03 ; CPU:$ECBF PRG:6CBF C2 00 08 06 80 F4 08 07 80 FC 08 06 C0 04 10 03 + .byte $80, $F4, $10, $04, $80, $FC, $10, $05, $80, $04, $18, $01, $80, $F8, $18, $02 ; CPU:$ECCF PRG:6CCF 80 F4 10 04 80 FC 10 05 80 04 18 01 80 F8 18 02 + .byte $80, $00, $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00, $08, $03, $00, $F4 ; CPU:$ECDF PRG:6CDF 80 00 80 E8 00 01 00 F8 00 02 00 00 08 03 00 F4 + .byte $08, $04, $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4, $10, $07, $00, $FC ; CPU:$ECEF PRG:6CEF 08 04 00 FC 08 05 00 04 10 06 00 F4 10 07 00 FC + .byte $10, $06, $40, $04, $18, $08, $02, $F8, $18, $08, $42, $00, $80, $EA, $00, $66 ; CPU:$ECFF PRG:6CFF 10 06 40 04 18 08 02 F8 18 08 42 00 80 EA 00 66 + .byte $00, $F8, $00, $66, $40, $00, $07, $64, $00, $F0, $07, $64, $40, $08, $08, $65 ; CPU:$ED0F PRG:6D0F 00 F8 00 66 40 00 07 64 00 F0 07 64 40 08 08 65 + .byte $00, $F8, $08, $62, $00, $00, $0F, $61, $00, $F8, $0F, $61, $40, $00, $16, $08 ; CPU:$ED1F PRG:6D1F 00 F8 08 62 00 00 0F 61 00 F8 0F 61 40 00 16 08 + .byte $02, $F8, $16, $08, $42, $00, $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00 ; CPU:$ED2F PRG:6D2F 02 F8 16 08 42 00 80 E8 00 01 00 F8 00 02 00 00 + .byte $08, $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4 ; CPU:$ED3F PRG:6D3F 08 03 00 F4 08 04 00 FC 08 05 00 04 10 06 00 F4 + .byte $10, $07, $00, $FC, $10, $06, $40, $04, $16, $08, $02, $F8, $18, $08, $42, $00 ; CPU:$ED4F PRG:6D4F 10 07 00 FC 10 06 40 04 16 08 02 F8 18 08 42 00 + .byte $80, $E8, $00, $01, $00, $F8, $00, $02, $00, $00, $08, $03, $00, $F4, $08, $04 ; CPU:$ED5F PRG:6D5F 80 E8 00 01 00 F8 00 02 00 00 08 03 00 F4 08 04 + .byte $00, $FC, $08, $05, $00, $04, $10, $06, $00, $F4, $10, $07, $00, $FC, $10, $06 ; CPU:$ED6F PRG:6D6F 00 FC 08 05 00 04 10 06 00 F4 10 07 00 FC 10 06 + .byte $40, $04, $18, $08, $02, $F8, $16, $08, $42, $00, $80, $E8, $00, $01, $00, $F8 ; CPU:$ED7F PRG:6D7F 40 04 18 08 02 F8 16 08 42 00 80 E8 00 01 00 F8 + .byte $00, $02, $00, $00, $08, $03, $00, $F4, $08, $04, $00, $FC, $08, $05, $00, $04 ; CPU:$ED8F PRG:6D8F 00 02 00 00 08 03 00 F4 08 04 00 FC 08 05 00 04 + .byte $10, $06, $00, $F4, $10, $07, $00, $FC, $10, $06, $40, $04, $16, $08, $02, $F8 ; CPU:$ED9F PRG:6D9F 10 06 00 F4 10 07 00 FC 10 06 40 04 16 08 02 F8 + .byte $16, $08, $42, $00, $80, $F0, $00, $BE, $42, $F2, $00, $BE, $02, $06, $08, $BF ; CPU:$EDAF PRG:6DAF 16 08 42 00 80 F0 00 BE 42 F2 00 BE 02 06 08 BF + .byte $42, $F5, $08, $BF, $02, $03, $04, $BD, $40, $F8, $04, $BD, $00, $00, $0B, $C0 ; CPU:$EDBF PRG:6DBF 42 F5 08 BF 02 03 04 BD 40 F8 04 BD 00 00 0B C0 + .byte $40, $F0, $0B, $C0, $00, $08, $0C, $C1, $40, $F8, $0C, $C1, $00, $00, $10, $C2 ; CPU:$EDCF PRG:6DCF 40 F0 0B C0 00 08 0C C1 40 F8 0C C1 00 00 10 C2 + .byte $40, $F6, $10, $C2, $00, $02, $80, $E8, $00, $0A, $00, $F4, $00, $0B, $00, $FC ; CPU:$EDDF PRG:6DDF 40 F6 10 C2 00 02 80 E8 00 0A 00 F4 00 0B 00 FC + .byte $00, $0C, $00, $04, $08, $0D, $00, $EC, $08, $0E, $00, $F4, $08, $0F, $00, $FC ; CPU:$EDEF PRG:6DEF 00 0C 00 04 08 0D 00 EC 08 0E 00 F4 08 0F 00 FC + .byte $08, $10, $00, $04, $10, $11, $00, $F4, $10, $12, $00, $FC, $10, $13, $00, $04 ; CPU:$EDFF PRG:6DFF 08 10 00 04 10 11 00 F4 10 12 00 FC 10 13 00 04 + .byte $18, $14, $02, $F4, $18, $15, $02, $FC, $18, $16, $02, $04, $80, $E8, $00, $0C ; CPU:$EE0F PRG:6E0F 18 14 02 F4 18 15 02 FC 18 16 02 04 80 E8 00 0C + .byte $40, $F4, $00, $0B, $40, $FC, $00, $0A, $40, $04, $08, $10, $40, $F4, $08, $0F ; CPU:$EE1F PRG:6E1F 40 F4 00 0B 40 FC 00 0A 40 04 08 10 40 F4 08 0F + .byte $40, $FC, $08, $0E, $40, $04, $08, $0D, $40, $0C, $10, $13, $40, $F4, $10, $12 ; CPU:$EE2F PRG:6E2F 40 FC 08 0E 40 04 08 0D 40 0C 10 13 40 F4 10 12 + .byte $40, $FC, $10, $11, $40, $04, $18, $16, $42, $F4, $18, $15, $42, $FC, $18, $14 ; CPU:$EE3F PRG:6E3F 40 FC 10 11 40 04 18 16 42 F4 18 15 42 FC 18 14 + .byte $42, $04, $80, $E8, $00, $17, $00, $F6, $00, $18, $00, $FE, $00, $19, $00, $06 ; CPU:$EE4F PRG:6E4F 42 04 80 E8 00 17 00 F6 00 18 00 FE 00 19 00 06 + .byte $08, $1A, $00, $EE, $08, $1B, $00, $F6, $08, $1C, $00, $FE, $08, $1D, $00, $06 ; CPU:$EE5F PRG:6E5F 08 1A 00 EE 08 1B 00 F6 08 1C 00 FE 08 1D 00 06 + .byte $10, $1E, $00, $EE, $10, $1F, $00, $F6, $10, $20, $00, $FE, $10, $21, $00, $06 ; CPU:$EE6F PRG:6E6F 10 1E 00 EE 10 1F 00 F6 10 20 00 FE 10 21 00 06 + .byte $18, $22, $02, $F6, $18, $23, $02, $FE, $18, $24, $02, $06, $80, $E8, $00, $19 ; CPU:$EE7F PRG:6E7F 18 22 02 F6 18 23 02 FE 18 24 02 06 80 E8 00 19 + .byte $40, $F2, $00, $18, $40, $FA, $00, $17, $40, $02, $08, $1D, $40, $F2, $08, $1C ; CPU:$EE8F PRG:6E8F 40 F2 00 18 40 FA 00 17 40 02 08 1D 40 F2 08 1C + .byte $40, $FA, $08, $1B, $40, $02, $08, $1A, $40, $0A, $10, $21, $40, $F2, $10, $20 ; CPU:$EE9F PRG:6E9F 40 FA 08 1B 40 02 08 1A 40 0A 10 21 40 F2 10 20 + .byte $40, $FA, $10, $1F, $40, $02, $10, $1E, $40, $0A, $18, $24, $42, $F2, $18, $23 ; CPU:$EEAF PRG:6EAF 40 FA 10 1F 40 02 10 1E 40 0A 18 24 42 F2 18 23 + .byte $42, $FA, $18, $22, $42, $02, $80, $E8, $00, $01, $01, $F8, $00, $02, $01, $00 ; CPU:$EEBF PRG:6EBF 42 FA 18 22 42 02 80 E8 00 01 01 F8 00 02 01 00 + .byte $08, $03, $01, $F4, $08, $04, $01, $FC, $08, $05, $01, $04, $10, $06, $01, $F4 ; CPU:$EECF PRG:6ECF 08 03 01 F4 08 04 01 FC 08 05 01 04 10 06 01 F4 + .byte $10, $07, $01, $FC, $10, $06, $41, $04, $18, $08, $42, $F8, $18, $08, $42, $00 ; CPU:$EEDF PRG:6EDF 10 07 01 FC 10 06 41 04 18 08 42 F8 18 08 42 00 + .byte $80, $E8, $00, $02, $01, $00, $00, $01, $01, $F8, $08, $05, $01, $04, $08, $04 ; CPU:$EEEF PRG:6EEF 80 E8 00 02 01 00 00 01 01 F8 08 05 01 04 08 04 + .byte $01, $FC, $08, $03, $01, $F4, $10, $06, $41, $04, $10, $07, $01, $FC, $10, $06 ; CPU:$EEFF PRG:6EFF 01 FC 08 03 01 F4 10 06 41 04 10 07 01 FC 10 06 + .byte $01, $F4, $18, $08, $42, $00, $18, $08, $42, $F8, $80, $E8, $00, $0A, $01, $F4 ; CPU:$EF0F PRG:6F0F 01 F4 18 08 42 00 18 08 42 F8 80 E8 00 0A 01 F4 + .byte $00, $0B, $01, $FC, $00, $0C, $01, $04, $08, $0D, $01, $EC, $08, $0E, $01, $F4 ; CPU:$EF1F PRG:6F1F 00 0B 01 FC 00 0C 01 04 08 0D 01 EC 08 0E 01 F4 + .byte $08, $0F, $01, $FC, $08, $10, $01, $04, $10, $11, $01, $F4, $10, $12, $01, $FC ; CPU:$EF2F PRG:6F2F 08 0F 01 FC 08 10 01 04 10 11 01 F4 10 12 01 FC + .byte $10, $13, $01, $04, $18, $14, $02, $F4, $18, $15, $02, $FC, $18, $16, $02, $04 ; CPU:$EF3F PRG:6F3F 10 13 01 04 18 14 02 F4 18 15 02 FC 18 16 02 04 + .byte $80, $E8, $00, $0C, $41, $F4, $00, $0B, $41, $FC, $00, $0A, $41, $04, $08, $10 ; CPU:$EF4F PRG:6F4F 80 E8 00 0C 41 F4 00 0B 41 FC 00 0A 41 04 08 10 + .byte $41, $F4, $08, $0F, $41, $FC, $08, $0E, $41, $04, $08, $0D, $41, $0C, $10, $13 ; CPU:$EF5F PRG:6F5F 41 F4 08 0F 41 FC 08 0E 41 04 08 0D 41 0C 10 13 + .byte $41, $F4, $10, $12, $41, $FC, $10, $11, $41, $04, $18, $16, $42, $F4, $18, $15 ; CPU:$EF6F PRG:6F6F 41 F4 10 12 41 FC 10 11 41 04 18 16 42 F4 18 15 + .byte $42, $FC, $18, $14, $42, $04, $80, $E8, $00, $0C, $01, $04, $00, $0B, $01, $FC ; CPU:$EF7F PRG:6F7F 42 FC 18 14 42 04 80 E8 00 0C 01 04 00 0B 01 FC + .byte $00, $0A, $01, $F4, $08, $10, $01, $04, $08, $0F, $01, $FC, $08, $0E, $01, $F4 ; CPU:$EF8F PRG:6F8F 00 0A 01 F4 08 10 01 04 08 0F 01 FC 08 0E 01 F4 + .byte $08, $0D, $01, $EC, $10, $13, $02, $04, $10, $12, $01, $FC, $10, $11, $01, $F4 ; CPU:$EF9F PRG:6F9F 08 0D 01 EC 10 13 02 04 10 12 01 FC 10 11 01 F4 + .byte $18, $16, $02, $04, $18, $15, $02, $FC, $18, $14, $02, $F4, $80, $E8, $00, $0A ; CPU:$EFAF PRG:6FAF 18 16 02 04 18 15 02 FC 18 14 02 F4 80 E8 00 0A + .byte $41, $04, $00, $0B, $41, $FC, $00, $0C, $41, $F4, $08, $0D, $41, $0C, $08, $0E ; CPU:$EFBF PRG:6FBF 41 04 00 0B 41 FC 00 0C 41 F4 08 0D 41 0C 08 0E + .byte $41, $04, $08, $0F, $41, $FC, $08, $10, $41, $F4, $10, $11, $41, $04, $10, $12 ; CPU:$EFCF PRG:6FCF 41 04 08 0F 41 FC 08 10 41 F4 10 11 41 04 10 12 + .byte $41, $FC, $10, $13, $41, $F4, $18, $14, $42, $04, $18, $15, $42, $FC, $18, $16 ; CPU:$EFDF PRG:6FDF 41 FC 10 13 41 F4 18 14 42 04 18 15 42 FC 18 16 + .byte $42, $F4, $80, $E8, $00, $17, $01, $F6, $00, $18, $01, $FE, $00, $19, $01, $06 ; CPU:$EFEF PRG:6FEF 42 F4 80 E8 00 17 01 F6 00 18 01 FE 00 19 01 06 + .byte $08, $1A, $01, $EE, $08, $1B, $01, $F6, $08, $1C, $01, $FE, $08, $1D, $01, $06 ; CPU:$EFFF PRG:6FFF 08 1A 01 EE 08 1B 01 F6 08 1C 01 FE 08 1D 01 06 + .byte $10, $1E, $01, $EE, $10, $1F, $01, $F6, $10, $20, $01, $FE, $10, $21, $01, $06 ; CPU:$F00F PRG:700F 10 1E 01 EE 10 1F 01 F6 10 20 01 FE 10 21 01 06 + .byte $18, $22, $02, $F6, $18, $23, $02, $FE, $18, $24, $02, $06, $80, $E8, $00, $19 ; CPU:$F01F PRG:701F 18 22 02 F6 18 23 02 FE 18 24 02 06 80 E8 00 19 + .byte $41, $F2, $00, $18, $41, $FA, $00, $17, $41, $02, $08, $1D, $41, $F2, $08, $1C ; CPU:$F02F PRG:702F 41 F2 00 18 41 FA 00 17 41 02 08 1D 41 F2 08 1C + .byte $41, $FA, $08, $1B, $41, $02, $08, $1A, $41, $0A, $10, $21, $41, $F2, $10, $20 ; CPU:$F03F PRG:703F 41 FA 08 1B 41 02 08 1A 41 0A 10 21 41 F2 10 20 + .byte $41, $FA, $10, $1F, $41, $02, $10, $1E, $41, $0A, $18, $24, $42, $F2, $18, $23 ; CPU:$F04F PRG:704F 41 FA 10 1F 41 02 10 1E 41 0A 18 24 42 F2 18 23 + .byte $42, $FA, $18, $22, $42, $02, $80, $E8, $00, $19, $01, $06, $00, $18, $01, $FE ; CPU:$F05F PRG:705F 42 FA 18 22 42 02 80 E8 00 19 01 06 00 18 01 FE + .byte $00, $17, $01, $F6, $08, $1D, $01, $06, $08, $1C, $01, $FE, $08, $1B, $01, $F6 ; CPU:$F06F PRG:706F 00 17 01 F6 08 1D 01 06 08 1C 01 FE 08 1B 01 F6 + .byte $08, $1A, $01, $EE, $10, $21, $01, $06, $10, $20, $01, $FE, $10, $1F, $01, $F6 ; CPU:$F07F PRG:707F 08 1A 01 EE 10 21 01 06 10 20 01 FE 10 1F 01 F6 + .byte $10, $1E, $01, $EE, $18, $24, $02, $06, $18, $23, $02, $FE, $18, $22, $02, $F6 ; CPU:$F08F PRG:708F 10 1E 01 EE 18 24 02 06 18 23 02 FE 18 22 02 F6 + .byte $80, $E8, $00, $17, $41, $02, $00, $18, $41, $FA, $00, $19, $41, $F2, $08, $1A ; CPU:$F09F PRG:709F 80 E8 00 17 41 02 00 18 41 FA 00 19 41 F2 08 1A + .byte $41, $0A, $08, $1B, $41, $02, $08, $1C, $41, $FA, $08, $1D, $41, $F2, $10, $1E ; CPU:$F0AF PRG:70AF 41 0A 08 1B 41 02 08 1C 41 FA 08 1D 41 F2 10 1E + .byte $41, $0A, $10, $1F, $41, $02, $10, $20, $41, $FA, $10, $21, $41, $F2, $18, $22 ; CPU:$F0BF PRG:70BF 41 0A 10 1F 41 02 10 20 41 FA 10 21 41 F2 18 22 + .byte $42, $02, $18, $23, $42, $FA, $18, $24, $42, $F2, $80, $EC, $00, $25, $01, $F8 ; CPU:$F0CF PRG:70CF 42 02 18 23 42 FA 18 24 42 F2 80 EC 00 25 01 F8 + .byte $00, $26, $01, $00, $08, $27, $01, $F4, $08, $28, $01, $FC, $08, $27, $41, $04 ; CPU:$F0DF PRG:70DF 00 26 01 00 08 27 01 F4 08 28 01 FC 08 27 41 04 + .byte $10, $29, $01, $F8, $10, $29, $41, $00, $18, $2A, $02, $F8, $18, $2A, $42, $00 ; CPU:$F0EF PRG:70EF 10 29 01 F8 10 29 41 00 18 2A 02 F8 18 2A 42 00 + .byte $80, $EC, $00, $26, $01, $00, $00, $25, $01, $F8, $08, $27, $41, $04, $08, $28 ; CPU:$F0FF PRG:70FF 80 EC 00 26 01 00 00 25 01 F8 08 27 41 04 08 28 + .byte $01, $FC, $08, $27, $01, $F4, $10, $29, $41, $00, $10, $29, $01, $F8, $18, $2A ; CPU:$F10F PRG:710F 01 FC 08 27 01 F4 10 29 41 00 10 29 01 F8 18 2A + .byte $42, $00, $18, $2A, $02, $F8, $80, $EC, $00, $2B, $01, $F2, $00, $2C, $01, $FA ; CPU:$F11F PRG:711F 42 00 18 2A 02 F8 80 EC 00 2B 01 F2 00 2C 01 FA + .byte $00, $2D, $01, $02, $08, $2E, $01, $F2, $08, $2F, $01, $FA, $08, $30, $01, $02 ; CPU:$F12F PRG:712F 00 2D 01 02 08 2E 01 F2 08 2F 01 FA 08 30 01 02 + .byte $0C, $31, $01, $F2, $0C, $32, $01, $FA, $0C, $33, $01, $02, $14, $34, $02, $F2 ; CPU:$F13F PRG:713F 0C 31 01 F2 0C 32 01 FA 0C 33 01 02 14 34 02 F2 + .byte $14, $35, $02, $FA, $14, $36, $02, $02, $80, $EC, $00, $2D, $41, $F6, $00, $2C ; CPU:$F14F PRG:714F 14 35 02 FA 14 36 02 02 80 EC 00 2D 41 F6 00 2C + .byte $41, $FE, $00, $2B, $41, $06, $08, $30, $41, $F6, $08, $2F, $41, $FE, $08, $2E ; CPU:$F15F PRG:715F 41 FE 00 2B 41 06 08 30 41 F6 08 2F 41 FE 08 2E + .byte $41, $06, $0C, $33, $41, $F6, $0C, $32, $41, $FE, $0C, $31, $41, $06, $14, $36 ; CPU:$F16F PRG:716F 41 06 0C 33 41 F6 0C 32 41 FE 0C 31 41 06 14 36 + .byte $42, $F6, $14, $35, $42, $FE, $14, $34, $42, $06, $80, $EC, $00, $2D, $01, $02 ; CPU:$F17F PRG:717F 42 F6 14 35 42 FE 14 34 42 06 80 EC 00 2D 01 02 + .byte $00, $2C, $01, $FA, $00, $2B, $01, $F2, $08, $30, $01, $02, $08, $2F, $01, $FA ; CPU:$F18F PRG:718F 00 2C 01 FA 00 2B 01 F2 08 30 01 02 08 2F 01 FA + .byte $08, $2E, $01, $F2, $0C, $33, $01, $02, $0C, $32, $01, $FA, $0C, $31, $01, $F2 ; CPU:$F19F PRG:719F 08 2E 01 F2 0C 33 01 02 0C 32 01 FA 0C 31 01 F2 + .byte $14, $36, $02, $02, $14, $35, $02, $FA, $14, $34, $02, $F2, $80, $EC, $00, $2B ; CPU:$F1AF PRG:71AF 14 36 02 02 14 35 02 FA 14 34 02 F2 80 EC 00 2B + .byte $41, $06, $00, $2C, $41, $FE, $00, $2D, $41, $F6, $08, $2E, $41, $06, $08, $2F ; CPU:$F1BF PRG:71BF 41 06 00 2C 41 FE 00 2D 41 F6 08 2E 41 06 08 2F + .byte $41, $FE, $08, $30, $41, $F6, $0C, $31, $41, $06, $0C, $32, $41, $FE, $0C, $33 ; CPU:$F1CF PRG:71CF 41 FE 08 30 41 F6 0C 31 41 06 0C 32 41 FE 0C 33 + .byte $41, $F6, $14, $34, $42, $06, $14, $35, $42, $FE, $14, $36, $42, $F6, $80, $EC ; CPU:$F1DF PRG:71DF 41 F6 14 34 42 06 14 35 42 FE 14 36 42 F6 80 EC + .byte $00, $37, $01, $FC, $08, $38, $01, $F4, $08, $39, $01, $FC, $08, $38, $41, $04 ; CPU:$F1EF PRG:71EF 00 37 01 FC 08 38 01 F4 08 39 01 FC 08 38 41 04 + .byte $10, $3B, $01, $F8, $10, $3B, $41, $00, $18, $3C, $02, $F8, $18, $3C, $42, $00 ; CPU:$F1FF PRG:71FF 10 3B 01 F8 10 3B 41 00 18 3C 02 F8 18 3C 42 00 + .byte $80, $EC, $00, $37, $01, $FC, $08, $38, $41, $04, $08, $39, $01, $FC, $08, $38 ; CPU:$F20F PRG:720F 80 EC 00 37 01 FC 08 38 41 04 08 39 01 FC 08 38 + .byte $01, $F4, $10, $3B, $41, $00, $10, $3B, $01, $F8, $18, $3C, $42, $00, $18, $3C ; CPU:$F21F PRG:721F 01 F4 10 3B 41 00 10 3B 01 F8 18 3C 42 00 18 3C + .byte $02, $F8, $80, $F0, $00, $3D, $01, $F8, $00, $3E, $01, $00, $06, $3F, $01, $F0 ; CPU:$F22F PRG:722F 02 F8 80 F0 00 3D 01 F8 00 3E 01 00 06 3F 01 F0 + .byte $08, $40, $01, $F8, $08, $41, $01, $00, $10, $42, $02, $F8, $10, $43, $02, $00 ; CPU:$F23F PRG:723F 08 40 01 F8 08 41 01 00 10 42 02 F8 10 43 02 00 + .byte $80, $F0, $00, $3E, $41, $F8, $00, $3D, $41, $00, $06, $3F, $41, $08, $08, $41 ; CPU:$F24F PRG:724F 80 F0 00 3E 41 F8 00 3D 41 00 06 3F 41 08 08 41 + .byte $41, $F8, $08, $40, $41, $00, $10, $43, $42, $F8, $10, $42, $42, $00, $80, $F0 ; CPU:$F25F PRG:725F 41 F8 08 40 41 00 10 43 42 F8 10 42 42 00 80 F0 + .byte $00, $3E, $01, $00, $00, $3D, $01, $F8, $06, $3F, $01, $F0, $08, $41, $01, $00 ; CPU:$F26F PRG:726F 00 3E 01 00 00 3D 01 F8 06 3F 01 F0 08 41 01 00 + .byte $08, $40, $01, $F8, $10, $43, $02, $00, $10, $42, $02, $F8, $80, $F0, $00, $3D ; CPU:$F27F PRG:727F 08 40 01 F8 10 43 02 00 10 42 02 F8 80 F0 00 3D + .byte $41, $00, $00, $3E, $41, $F8, $06, $3F, $41, $08, $08, $40, $41, $00, $08, $41 ; CPU:$F28F PRG:728F 41 00 00 3E 41 F8 06 3F 41 08 08 40 41 00 08 41 + .byte $41, $F8, $10, $42, $42, $00, $10, $43, $42, $F8, $80, $F4, $00, $44, $01, $F8 ; CPU:$F29F PRG:729F 41 F8 10 42 42 00 10 43 42 F8 80 F4 00 44 01 F8 + .byte $00, $44, $41, $00, $08, $45, $01, $F8, $08, $45, $41, $00, $10, $46, $02, $FC ; CPU:$F2AF PRG:72AF 00 44 41 00 08 45 01 F8 08 45 41 00 10 46 02 FC + .byte $80, $F4, $00, $44, $41, $00, $00, $44, $01, $F8, $08, $45, $41, $00, $08, $45 ; CPU:$F2BF PRG:72BF 80 F4 00 44 41 00 00 44 01 F8 08 45 41 00 08 45 + .byte $01, $F8, $10, $46, $02, $FC, $80, $F8, $00, $47, $01, $F8, $00, $47, $41, $00 ; CPU:$F2CF PRG:72CF 01 F8 10 46 02 FC 80 F8 00 47 01 F8 00 47 41 00 + .byte $08, $48, $01, $F8, $08, $48, $41, $00, $80, $F8, $00, $47, $41, $00, $00, $47 ; CPU:$F2DF PRG:72DF 08 48 01 F8 08 48 41 00 80 F8 00 47 41 00 00 47 + .byte $01, $F8, $08, $48, $41, $00, $08, $48, $01, $F8, $80, $FC, $00, $49, $01, $FC ; CPU:$F2EF PRG:72EF 01 F8 08 48 41 00 08 48 01 F8 80 FC 00 49 01 FC + .byte $08, $4A, $01, $FC, $80, $00, $00, $4B, $01, $FC, $80, $00, $00, $4C, $01, $FC ; CPU:$F2FF PRG:72FF 08 4A 01 FC 80 00 00 4B 01 FC 80 00 00 4C 01 FC + .byte $80, $00, $00, $4D, $01, $FC, $80, $00, $00, $4E, $01, $FC, $80, $00, $00, $82 ; CPU:$F30F PRG:730F 80 00 00 4D 01 FC 80 00 00 4E 01 FC 80 00 00 82 + .byte $01, $FC, $80, $00, $00, $82, $03, $FC, $80, $00, $00, $81, $03, $FC, $80, $00 ; CPU:$F31F PRG:731F 01 FC 80 00 00 82 03 FC 80 00 00 81 03 FC 80 00 + .byte $00, $80, $43, $FC, $80, $00, $00, $3A, $03, $FC, $80, $00, $00, $5C, $03, $FC ; CPU:$F32F PRG:732F 00 80 43 FC 80 00 00 3A 03 FC 80 00 00 5C 03 FC + .byte $80, $00, $00, $5D, $03, $FC, $80, $F8, $00, $5E, $03, $FC, $08, $5F, $03, $FC ; CPU:$F33F PRG:733F 80 00 00 5D 03 FC 80 F8 00 5E 03 FC 08 5F 03 FC + .byte $80, $F8, $00, $67, $03, $F8, $00, $67, $43, $00, $08, $63, $03, $F8, $08, $63 ; CPU:$F34F PRG:734F 80 F8 00 67 03 F8 00 67 43 00 08 63 03 F8 08 63 + .byte $43, $00, $80, $F8, $00, $67, $43, $00, $00, $67, $03, $F8, $08, $63, $43, $00 ; CPU:$F35F PRG:735F 43 00 80 F8 00 67 43 00 00 67 03 F8 08 63 43 00 + .byte $08, $63, $03, $F8, $80, $F0, $00, $67, $03, $F8, $00, $67, $43, $00, $08, $68 ; CPU:$F36F PRG:736F 08 63 03 F8 80 F0 00 67 03 F8 00 67 43 00 08 68 + .byte $03, $F8, $08, $6F, $43, $00, $10, $69, $03, $F8, $10, $69, $43, $00, $80, $F0 ; CPU:$F37F PRG:737F 03 F8 08 6F 43 00 10 69 03 F8 10 69 43 00 80 F0 + .byte $00, $67, $43, $00, $00, $67, $03, $F8, $08, $6F, $43, $00, $08, $68, $03, $F8 ; CPU:$F38F PRG:738F 00 67 43 00 00 67 03 F8 08 6F 43 00 08 68 03 F8 + .byte $10, $69, $43, $00, $10, $69, $03, $F8, $80, $E8, $00, $6E, $03, $F8, $00, $6E ; CPU:$F39F PRG:739F 10 69 43 00 10 69 03 F8 80 E8 00 6E 03 F8 00 6E + .byte $43, $00, $08, $6F, $03, $F8, $08, $6F, $43, $00, $10, $70, $03, $F8, $10, $70 ; CPU:$F3AF PRG:73AF 43 00 08 6F 03 F8 08 6F 43 00 10 70 03 F8 10 70 + .byte $43, $00, $18, $71, $03, $F8, $18, $71, $43, $00, $80, $E8, $00, $6E, $43, $00 ; CPU:$F3BF PRG:73BF 43 00 18 71 03 F8 18 71 43 00 80 E8 00 6E 43 00 + .byte $00, $6E, $03, $F8, $08, $6F, $43, $00, $08, $6F, $03, $F8, $10, $70, $43, $00 ; CPU:$F3CF PRG:73CF 00 6E 03 F8 08 6F 43 00 08 6F 03 F8 10 70 43 00 + .byte $10, $70, $03, $F8, $18, $71, $43, $00, $18, $71, $03, $F8, $80, $E0, $00, $72 ; CPU:$F3DF PRG:73DF 10 70 03 F8 18 71 43 00 18 71 03 F8 80 E0 00 72 + .byte $03, $F8, $00, $6E, $43, $00, $08, $74, $03, $F8, $08, $76, $43, $00, $10, $76 ; CPU:$F3EF PRG:73EF 03 F8 00 6E 43 00 08 74 03 F8 08 76 43 00 10 76 + .byte $03, $F4, $10, $77, $03, $FC, $10, $78, $03, $04, $18, $79, $03, $F4, $18, $7A ; CPU:$F3FF PRG:73FF 03 F4 10 77 03 FC 10 78 03 04 18 79 03 F4 18 7A + .byte $03, $FC, $18, $7B, $03, $04, $20, $7C, $03, $F4, $20, $7D, $03, $FC, $20, $7E ; CPU:$F40F PRG:740F 03 FC 18 7B 03 04 20 7C 03 F4 20 7D 03 FC 20 7E + .byte $03, $04, $80, $E0, $00, $6E, $43, $00, $00, $72, $03, $F8, $08, $76, $43, $00 ; CPU:$F41F PRG:741F 03 04 80 E0 00 6E 43 00 00 72 03 F8 08 76 43 00 + .byte $08, $74, $03, $F8, $10, $78, $03, $04, $10, $77, $03, $FC, $10, $76, $03, $F4 ; CPU:$F42F PRG:742F 08 74 03 F8 10 78 03 04 10 77 03 FC 10 76 03 F4 + .byte $18, $7B, $03, $04, $18, $7A, $03, $FC, $18, $79, $03, $F4, $20, $7E, $03, $04 ; CPU:$F43F PRG:743F 18 7B 03 04 18 7A 03 FC 18 79 03 F4 20 7E 03 04 + .byte $20, $7D, $03, $FC, $20, $7C, $03, $F4, $80, $00, $00, $82, $00, $FC, $80, $00 ; CPU:$F44F PRG:744F 20 7D 03 FC 20 7C 03 F4 80 00 00 82 00 FC 80 00 + .byte $00, $81, $00, $FC, $80, $00, $00, $80, $40, $FC, $80, $00, $00, $3A, $00, $FC ; CPU:$F45F PRG:745F 00 81 00 FC 80 00 00 80 40 FC 80 00 00 3A 00 FC + .byte $80, $00, $00, $58, $40, $FB, $80, $00, $00, $58, $00, $FD, $80, $FC, $00, $57 ; CPU:$F46F PRG:746F 80 00 00 58 40 FB 80 00 00 58 00 FD 80 FC 00 57 + .byte $40, $FA, $04, $56, $40, $FC, $80, $FC, $00, $57, $00, $FE, $04, $56, $00, $FC ; CPU:$F47F PRG:747F 40 FA 04 56 40 FC 80 FC 00 57 00 FE 04 56 00 FC + .byte $80, $FA, $00, $56, $40, $FC, $00, $55, $40, $F7, $06, $56, $40, $FC, $80, $FA ; CPU:$F48F PRG:748F 80 FA 00 56 40 FC 00 55 40 F7 06 56 40 FC 80 FA + .byte $00, $56, $00, $FC, $00, $55, $00, $01, $06, $56, $00, $FC, $80, $F6, $00, $53 ; CPU:$F49F PRG:749F 00 56 00 FC 00 55 00 01 06 56 00 FC 80 F6 00 53 + .byte $40, $FC, $00, $54, $40, $F6, $08, $53, $40, $FC, $0A, $53, $40, $FC, $80, $F6 ; CPU:$F4AF PRG:74AF 40 FC 00 54 40 F6 08 53 40 FC 0A 53 40 FC 80 F6 + .byte $00, $53, $00, $FC, $00, $54, $00, $02, $08, $53, $00, $FC, $0A, $53, $00, $FC ; CPU:$F4BF PRG:74BF 00 53 00 FC 00 54 00 02 08 53 00 FC 0A 53 00 FC + .byte $80, $EE, $00, $52, $40, $F6, $03, $53, $40, $FC, $08, $8F, $40, $F6, $0B, $53 ; CPU:$F4CF PRG:74CF 80 EE 00 52 40 F6 03 53 40 FC 08 8F 40 F6 0B 53 + .byte $40, $FC, $12, $53, $40, $FC, $80, $EE, $00, $52, $00, $02, $03, $53, $00, $FC ; CPU:$F4DF PRG:74DF 40 FC 12 53 40 FC 80 EE 00 52 00 02 03 53 00 FC + .byte $08, $8F, $00, $02, $0B, $53, $00, $FC, $12, $53, $00, $FC, $80, $E9, $00, $5A ; CPU:$F4EF PRG:74EF 08 8F 00 02 0B 53 00 FC 12 53 00 FC 80 E9 00 5A + .byte $40, $F7, $01, $51, $40, $FC, $01, $59, $40, $EF, $07, $5A, $C0, $F7, $08, $59 ; CPU:$F4FF PRG:74FF 40 F7 01 51 40 FC 01 59 40 EF 07 5A C0 F7 08 59 + .byte $C0, $EF, $09, $51, $40, $FC, $11, $51, $40, $FC, $17, $51, $40, $FC, $80, $E9 ; CPU:$F50F PRG:750F C0 EF 09 51 40 FC 11 51 40 FC 17 51 40 FC 80 E9 + .byte $00, $5A, $00, $01, $01, $51, $00, $FC, $01, $59, $00, $09, $07, $5A, $80, $01 ; CPU:$F51F PRG:751F 00 5A 00 01 01 51 00 FC 01 59 00 09 07 5A 80 01 + .byte $08, $59, $80, $09, $09, $51, $00, $FC, $11, $51, $00, $FC, $17, $51, $00, $FC ; CPU:$F52F PRG:752F 08 59 80 09 09 51 00 FC 11 51 00 FC 17 51 00 FC + .byte $80, $E4, $00, $50, $40, $ED, $00, $4F, $40, $F5, $00, $51, $40, $FC, $08, $95 ; CPU:$F53F PRG:753F 80 E4 00 50 40 ED 00 4F 40 F5 00 51 40 FC 08 95 + .byte $40, $ED, $08, $93, $40, $F5, $08, $51, $40, $FC, $10, $51, $40, $FC, $18, $51 ; CPU:$F54F PRG:754F 40 ED 08 93 40 F5 08 51 40 FC 10 51 40 FC 18 51 + .byte $40, $FC, $1C, $51, $40, $FC, $80, $E4, $00, $51, $40, $FC, $00, $4F, $40, $F5 ; CPU:$F55F PRG:755F 40 FC 1C 51 40 FC 80 E4 00 51 40 FC 00 4F 40 F5 + .byte $00, $50, $40, $ED, $08, $51, $40, $FC, $08, $93, $40, $F5, $08, $95, $40, $ED ; CPU:$F56F PRG:756F 00 50 40 ED 08 51 40 FC 08 93 40 F5 08 95 40 ED + .byte $10, $51, $40, $FC, $18, $51, $40, $FC, $1C, $51, $40, $FC, $80, $E4, $00, $50 ; CPU:$F57F PRG:757F 10 51 40 FC 18 51 40 FC 1C 51 40 FC 80 E4 00 50 + .byte $00, $0B, $00, $4F, $00, $03, $00, $51, $00, $FC, $08, $95, $00, $0B, $08, $93 ; CPU:$F58F PRG:758F 00 0B 00 4F 00 03 00 51 00 FC 08 95 00 0B 08 93 + .byte $00, $03, $08, $51, $00, $FC, $10, $51, $00, $FC, $18, $51, $00, $FC, $1C, $51 ; CPU:$F59F PRG:759F 00 03 08 51 00 FC 10 51 00 FC 18 51 00 FC 1C 51 + .byte $00, $FC, $80, $E4, $00, $51, $00, $FC, $00, $4F, $00, $03, $00, $50, $00, $0B ; CPU:$F5AF PRG:75AF 00 FC 80 E4 00 51 00 FC 00 4F 00 03 00 50 00 0B + .byte $08, $51, $00, $FC, $08, $93, $00, $03, $08, $95, $00, $0B, $10, $51, $00, $FC ; CPU:$F5BF PRG:75BF 08 51 00 FC 08 93 00 03 08 95 00 0B 10 51 00 FC + .byte $18, $51, $00, $FC, $1C, $51, $00, $FC, $80, $00, $00, $82, $02, $FC, $80, $00 ; CPU:$F5CF PRG:75CF 18 51 00 FC 1C 51 00 FC 80 00 00 82 02 FC 80 00 + .byte $00, $81, $02, $FC, $80, $00, $00, $80, $42, $FC, $80, $00, $00, $3A, $02, $FC ; CPU:$F5DF PRG:75DF 00 81 02 FC 80 00 00 80 42 FC 80 00 00 3A 02 FC + .byte $80, $00, $00, $B6, $02, $FC, $80, $00, $00, $B5, $02, $FC, $80, $F8, $00, $B3 ; CPU:$F5EF PRG:75EF 80 00 00 B6 02 FC 80 00 00 B5 02 FC 80 F8 00 B3 + .byte $02, $FC, $08, $B4, $02, $FC, $80, $F8, $00, $B1, $02, $FC, $08, $B2, $02, $FC ; CPU:$F5FF PRG:75FF 02 FC 08 B4 02 FC 80 F8 00 B1 02 FC 08 B2 02 FC + .byte $80, $F0, $00, $AE, $02, $FC, $08, $AF, $02, $F8, $08, $AF, $42, $00, $10, $B0 ; CPU:$F60F PRG:760F 80 F0 00 AE 02 FC 08 AF 02 F8 08 AF 42 00 10 B0 + .byte $02, $FC, $80, $F0, $00, $AE, $02, $FC, $08, $AF, $42, $00, $08, $AF, $02, $F8 ; CPU:$F61F PRG:761F 02 FC 80 F0 00 AE 02 FC 08 AF 42 00 08 AF 02 F8 + .byte $10, $B0, $02, $FC, $80, $EB, $00, $AA, $02, $FC, $08, $AB, $02, $F8, $08, $AB ; CPU:$F62F PRG:762F 10 B0 02 FC 80 EB 00 AA 02 FC 08 AB 02 F8 08 AB + .byte $42, $00, $10, $AC, $02, $F8, $10, $AC, $42, $00, $18, $AD, $02, $F8, $18, $AD ; CPU:$F63F PRG:763F 42 00 10 AC 02 F8 10 AC 42 00 18 AD 02 F8 18 AD + .byte $42, $00, $80, $EB, $00, $AA, $02, $FC, $08, $AB, $42, $00, $08, $AB, $02, $F8 ; CPU:$F64F PRG:764F 42 00 80 EB 00 AA 02 FC 08 AB 42 00 08 AB 02 F8 + .byte $10, $AC, $42, $00, $10, $AC, $02, $F8, $18, $AD, $42, $00, $18, $AD, $02, $F8 ; CPU:$F65F PRG:765F 10 AC 42 00 10 AC 02 F8 18 AD 42 00 18 AD 02 F8 + .byte $80, $E0, $00, $A4, $02, $F8, $00, $A3, $02, $00, $08, $A6, $02, $F8, $08, $A5 ; CPU:$F66F PRG:766F 80 E0 00 A4 02 F8 00 A3 02 00 08 A6 02 F8 08 A5 + .byte $02, $00, $10, $A8, $02, $F4, $10, $A7, $02, $FC, $10, $A8, $42, $04, $18, $A9 ; CPU:$F67F PRG:767F 02 00 10 A8 02 F4 10 A7 02 FC 10 A8 42 04 18 A9 + .byte $02, $F8, $18, $A9, $42, $00, $20, $5B, $02, $F8, $20, $5B, $42, $00, $F8, $E0 ; CPU:$F68F PRG:768F 02 F8 18 A9 42 00 20 5B 02 F8 20 5B 42 00 F8 E0 + .byte $00, $A3, $02, $00, $00, $A4, $02, $F8, $08, $A5, $02, $00, $08, $A6, $02, $F8 ; CPU:$F69F PRG:769F 00 A3 02 00 00 A4 02 F8 08 A5 02 00 08 A6 02 F8 + .byte $10, $A8, $42, $04, $10, $A7, $02, $FC, $10, $A8, $02, $F4, $18, $A9, $42, $00 ; CPU:$F6AF PRG:76AF 10 A8 42 04 10 A7 02 FC 10 A8 02 F4 18 A9 42 00 + .byte $18, $A9, $02, $F8, $20, $5B, $42, $00, $20, $5B, $02, $F8, $F8, $D0, $00, $8E ; CPU:$F6BF PRG:76BF 18 A9 02 F8 20 5B 42 00 20 5B 02 F8 F8 D0 00 8E + .byte $00, $F0, $00, $87, $00, $08, $05, $8C, $40, $F8, $05, $8A, $40, $00, $0D, $6A ; CPU:$F6CF PRG:76CF 00 F0 00 87 00 08 05 8C 40 F8 05 8A 40 00 0D 6A + .byte $00, $F8, $0D, $6B, $00, $00, $0D, $89, $40, $08, $15, $82, $00, $F2, $15, $6C ; CPU:$F6DF PRG:76DF 00 F8 0D 6B 00 00 0D 89 40 08 15 82 00 F2 15 6C + .byte $00, $F6, $15, $6D, $00, $FE, $1C, $E1, $00, $F1, $1C, $E7, $00, $F9, $1C, $E8 ; CPU:$F6EF PRG:76EF 00 F6 15 6D 00 FE 1C E1 00 F1 1C E7 00 F9 1C E8 + .byte $00, $01, $24, $E9, $02, $F8, $24, $75, $02, $00, $2B, $92, $02, $F2, $2B, $98 ; CPU:$F6FF PRG:76FF 00 01 24 E9 02 F8 24 75 02 00 2B 92 02 F2 2B 98 + .byte $02, $FA, $80, $D0, $00, $87, $40, $F0, $00, $8E, $40, $08, $05, $8A, $00, $F8 ; CPU:$F70F PRG:770F 02 FA 80 D0 00 87 40 F0 00 8E 40 08 05 8A 00 F8 + .byte $05, $8C, $00, $00, $0D, $6A, $00, $F8, $0D, $6B, $00, $00, $0D, $89, $40, $08 ; CPU:$F71F PRG:771F 05 8C 00 00 0D 6A 00 F8 0D 6B 00 00 0D 89 40 08 + .byte $15, $6D, $40, $FA, $15, $6C, $40, $02, $15, $82, $40, $06, $1C, $E8, $40, $F7 ; CPU:$F72F PRG:772F 15 6D 40 FA 15 6C 40 02 15 82 40 06 1C E8 40 F7 + .byte $1C, $E7, $40, $FF, $1C, $E1, $40, $07, $24, $75, $42, $F8, $24, $E9, $42, $00 ; CPU:$F73F PRG:773F 1C E7 40 FF 1C E1 40 07 24 75 42 F8 24 E9 42 00 + .byte $2B, $98, $42, $FE, $2B, $92, $42, $06, $80, $D0, $00, $8E, $00, $F0, $00, $87 ; CPU:$F74F PRG:774F 2B 98 42 FE 2B 92 42 06 80 D0 00 8E 00 F0 00 87 + .byte $00, $08, $05, $8C, $40, $F8, $05, $8A, $40, $00, $0D, $89, $00, $F0, $0D, $6B ; CPU:$F75F PRG:775F 00 08 05 8C 40 F8 05 8A 40 00 0D 89 00 F0 0D 6B + .byte $40, $F8, $0D, $6A, $40, $00, $15, $82, $00, $F2, $15, $6C, $00, $F6, $15, $6D ; CPU:$F76F PRG:776F 40 F8 0D 6A 40 00 15 82 00 F2 15 6C 00 F6 15 6D + .byte $00, $FE, $1C, $E1, $00, $F1, $1C, $E7, $00, $F9, $1C, $E8, $00, $01, $24, $E9 ; CPU:$F77F PRG:777F 00 FE 1C E1 00 F1 1C E7 00 F9 1C E8 00 01 24 E9 + .byte $02, $F8, $24, $75, $02, $00, $2B, $92, $02, $F2, $2B, $98, $02, $FA, $80, $D0 ; CPU:$F78F PRG:778F 02 F8 24 75 02 00 2B 92 02 F2 2B 98 02 FA 80 D0 + .byte $00, $87, $40, $F0, $00, $8E, $40, $08, $05, $8A, $00, $F8, $05, $8C, $00, $00 ; CPU:$F79F PRG:779F 00 87 40 F0 00 8E 40 08 05 8A 00 F8 05 8C 00 00 + .byte $0D, $89, $00, $F0, $0D, $6B, $40, $F8, $0D, $6A, $40, $00, $15, $6D, $40, $FA ; CPU:$F7AF PRG:77AF 0D 89 00 F0 0D 6B 40 F8 0D 6A 40 00 15 6D 40 FA + .byte $15, $6C, $40, $02, $15, $82, $40, $06, $1C, $E8, $40, $F7, $1C, $E7, $40, $FF ; CPU:$F7BF PRG:77BF 15 6C 40 02 15 82 40 06 1C E8 40 F7 1C E7 40 FF + .byte $1C, $E1, $40, $07, $24, $75, $42, $F8, $24, $E9, $42, $00, $2B, $98, $42, $FE ; CPU:$F7CF PRG:77CF 1C E1 40 07 24 75 42 F8 24 E9 42 00 2B 98 42 FE + .byte $2B, $92, $42, $06, $80, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7DF PRG:77DF 2B 92 42 06 80 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:$F7EF PRG:77EF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F7FF PRG:77FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F80F PRG:780F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F81F PRG:781F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F82F PRG:782F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F83F PRG:783F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F84F PRG:784F 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F85F PRG:785F 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F86F PRG:786F 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02 ; CPU:$F87F PRG:787F 01 01 01 01 01 01 01 01 01 01 01 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F88F PRG:788F 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F89F PRG:789F 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F8AF PRG:78AF 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F8BF PRG:78BF 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .byte $03, $03, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04 ; CPU:$F8CF PRG:78CF 03 03 04 04 04 04 04 04 04 04 04 04 04 04 04 04 + .byte $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $05, $05 ; CPU:$F8DF PRG:78DF 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05 05 + .byte $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05 ; CPU:$F8EF PRG:78EF 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 + .byte $05, $05, $05, $05, $05, $05, $05, $06, $06, $06, $06, $06, $06, $06, $06, $06 ; CPU:$F8FF PRG:78FF 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 06 + .byte $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $07, $07, $07 ; CPU:$F90F PRG:790F 06 06 06 06 06 06 06 06 06 06 06 06 06 07 07 07 + .byte $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$F91F PRG:791F 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 + .byte $07, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; CPU:$F92F PRG:792F 07 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 + .byte $08, $08, $08, $08, $08, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09 ; CPU:$F93F PRG:793F 08 08 08 08 08 09 09 09 09 09 09 09 09 09 09 09 + .byte $09, $09, $09, $09, $09, $09, $09, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A ; CPU:$F94F PRG:794F 09 09 09 09 09 09 09 0A 0A 0A 0A 0A 0A 0A 0A 0A + .byte $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B ; CPU:$F95F PRG:795F 0A 0A 0A 0A 0A 0A 0A 0B 0B 0B 0B 0B 0B 0B 0B 0B + .byte $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$F96F PRG:796F 0B 0B 0B 0B 0B 0B 0B 0B 0C 0C 0C 0C 0C 0C 0C 0C + .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$F97F PRG:797F 0C 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D + .byte $0D, $0D, $0D, $0D, $0D, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E, $0E ; CPU:$F98F PRG:798F 0D 0D 0D 0D 0D 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E + .byte $0E, $0E, $0E, $0E, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$F99F PRG:799F 0E 0E 0E 0E 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F + .byte $0F, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $11, $11 ; CPU:$F9AF PRG:79AF 0F 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 + .byte $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $12, $12, $12, $12, $12 ; CPU:$F9BF PRG:79BF 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 + .byte $12, $12, $12, $12, $12, $12, $12, $13, $13, $13, $13, $13, $13, $13, $13, $13 ; CPU:$F9CF PRG:79CF 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 + .byte $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14, $15, $15 ; CPU:$F9DF PRG:79DF 13 13 14 14 14 14 14 14 14 14 14 14 14 14 15 15 + .byte $15, $15, $15, $15, $15, $15, $15, $15, $15, $16, $16, $16, $16, $16, $16, $16 ; CPU:$F9EF PRG:79EF 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 + .byte $16, $16, $16, $16, $17, $17, $17, $17, $17, $17, $17, $17, $17, $17, $18, $18 ; CPU:$F9FF PRG:79FF 16 16 16 16 17 17 17 17 17 17 17 17 17 17 18 18 + .byte $18, $18, $18, $18, $18, $18, $18, $18, $19, $19, $19, $19, $19, $19, $19, $19 ; CPU:$FA0F PRG:7A0F 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 + .byte $19, $19, $1A, $1A, $1A, $1A, $1A, $1A, $1A, $1A, $1A, $1A, $1B, $1B, $1B, $1B ; CPU:$FA1F PRG:7A1F 19 19 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1B 1B 1B 1B + .byte $1B, $1B, $1B, $1B, $1B, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1C, $1D ; CPU:$FA2F PRG:7A2F 1B 1B 1B 1B 1B 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1D + .byte $1D, $1D, $1D, $1D, $1D, $1D, $1D, $1D, $1E, $1E, $1E, $1E, $1E, $1E, $1E, $1E ; CPU:$FA3F PRG:7A3F 1D 1D 1D 1D 1D 1D 1D 1D 1E 1E 1E 1E 1E 1E 1E 1E + .byte $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $20, $20, $20, $20, $20, $20, $20 ; CPU:$FA4F PRG:7A4F 1F 1F 1F 1F 1F 1F 1F 1F 1F 20 20 20 20 20 20 20 + .byte $20, $21, $21, $21, $21, $21, $21, $21, $21, $21, $22, $22, $22, $22, $22, $22 ; CPU:$FA5F PRG:7A5F 20 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 + .byte $22, $22, $23, $23, $23, $23, $23, $23, $23, $23, $24, $24, $24, $24, $24, $24 ; CPU:$FA6F PRG:7A6F 22 22 23 23 23 23 23 23 23 23 24 24 24 24 24 24 + .byte $24, $25, $25, $25, $25, $25, $25, $25, $25, $26, $26, $26, $26, $26, $26, $26 ; CPU:$FA7F PRG:7A7F 24 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 + .byte $27, $27, $27, $27, $27, $27, $27, $27, $28, $28, $28, $28, $28, $28, $28, $29 ; CPU:$FA8F PRG:7A8F 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 29 + .byte $29, $29, $29, $29, $29, $29, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2B, $2B, $2B ; CPU:$FA9F PRG:7A9F 29 29 29 29 29 29 2A 2A 2A 2A 2A 2A 2A 2B 2B 2B + .byte $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C, $2C, $2C, $2D, $2D, $2D, $2D, $2D, $2D ; CPU:$FAAF PRG:7AAF 2B 2B 2B 2B 2C 2C 2C 2C 2C 2C 2D 2D 2D 2D 2D 2D + .byte $2D, $2E, $2E, $2E, $2E, $2E, $2E, $2F, $2F, $2F, $2F, $2F, $2F, $2F, $30, $30 ; CPU:$FABF PRG:7ABF 2D 2E 2E 2E 2E 2E 2E 2F 2F 2F 2F 2F 2F 2F 30 30 + .byte $30, $30, $30, $30, $31, $31, $31, $31, $31, $31, $32, $32, $32, $32, $32, $32 ; CPU:$FACF PRG:7ACF 30 30 30 30 31 31 31 31 31 31 32 32 32 32 32 32 + .byte $33, $33, $33, $33, $33, $33, $34, $34, $34, $34, $34, $34, $35, $35, $35, $35 ; CPU:$FADF PRG:7ADF 33 33 33 33 33 33 34 34 34 34 34 34 35 35 35 35 + .byte $35, $35, $36, $36, $36, $36, $36, $37, $37, $37, $37, $37, $37, $38, $38, $38 ; CPU:$FAEF PRG:7AEF 35 35 36 36 36 36 36 37 37 37 37 37 37 38 38 38 + .byte $38, $38, $39, $39, $39, $39, $39, $39, $3A, $3A, $3A, $3A, $3A, $3B, $3B, $3B ; CPU:$FAFF PRG:7AFF 38 38 39 39 39 39 39 39 3A 3A 3A 3A 3A 3B 3B 3B + .byte $3B, $3B, $3C, $3C, $3C, $3C, $3C, $3D, $3D, $3D, $3D, $3D, $3E, $3E, $3E, $3E ; CPU:$FB0F PRG:7B0F 3B 3B 3C 3C 3C 3C 3C 3D 3D 3D 3D 3D 3E 3E 3E 3E + .byte $3E, $3F, $3F, $3F, $3F, $3F, $40, $40, $40, $40, $40, $41, $41, $41, $41, $41 ; CPU:$FB1F PRG:7B1F 3E 3F 3F 3F 3F 3F 40 40 40 40 40 41 41 41 41 41 + .byte $42, $42, $42, $42, $43, $43, $43, $43, $43, $44, $44, $44, $44, $45, $45, $45 ; CPU:$FB2F PRG:7B2F 42 42 42 42 43 43 43 43 43 44 44 44 44 45 45 45 + .byte $45, $45, $46, $46, $46, $46, $47, $47, $47, $47, $47, $48, $48, $48, $48, $49 ; CPU:$FB3F PRG:7B3F 45 45 46 46 46 46 47 47 47 47 47 48 48 48 48 49 + .byte $49, $49, $49, $4A, $4A, $4A, $4A, $4B, $4B, $4B, $4B, $4C, $4C, $4C, $4C, $4D ; CPU:$FB4F PRG:7B4F 49 49 49 4A 4A 4A 4A 4B 4B 4B 4B 4C 4C 4C 4C 4D + .byte $4D, $4D, $4D, $4E, $4E, $4E, $4E, $4F, $4F, $4F, $4F, $50, $50, $50, $51, $51 ; CPU:$FB5F PRG:7B5F 4D 4D 4D 4E 4E 4E 4E 4F 4F 4F 4F 50 50 50 51 51 + .byte $51, $51, $52, $52, $52, $52, $53, $53, $53, $54, $54, $54, $54, $55, $55, $55 ; CPU:$FB6F PRG:7B6F 51 51 52 52 52 52 53 53 53 54 54 54 54 55 55 55 + .byte $56, $56, $56, $56, $57, $57, $57, $58, $58, $58, $59, $59, $59, $59, $5A, $5A ; CPU:$FB7F PRG:7B7F 56 56 56 56 57 57 57 58 58 58 59 59 59 59 5A 5A + .byte $5A, $5B, $5B, $5B, $5C, $5C, $5C, $5D, $5D, $5D, $5E, $5E, $5E, $5F, $5F, $5F ; CPU:$FB8F PRG:7B8F 5A 5B 5B 5B 5C 5C 5C 5D 5D 5D 5E 5E 5E 5F 5F 5F + .byte $60, $60, $60, $61, $61, $61, $62, $62, $63, $63, $63, $64, $64, $64, $65, $65 ; CPU:$FB9F PRG:7B9F 60 60 60 61 61 61 62 62 63 63 63 64 64 64 65 65 + .byte $66, $66, $67, $67, $68, $68, $68, $68, $69, $69, $6A, $6A, $6A, $6B, $6B, $6C ; CPU:$FBAF PRG:7BAF 66 66 67 67 68 68 68 68 69 69 6A 6A 6A 6B 6B 6C + .byte $6C, $6D, $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72, $73, $73 ; CPU:$FBBF PRG:7BBF 6C 6D 6D 6D 6E 6E 6F 6F 70 70 71 71 72 72 73 73 + .byte $74, $74, $75, $75, $76, $76, $77, $77, $78, $78, $79, $7A, $7A, $7B, $7B, $7C ; CPU:$FBCF PRG:7BCF 74 74 75 75 76 76 77 77 78 78 79 7A 7A 7B 7B 7C + .byte $7D, $7D, $7E, $7E, $7F, $80, $80, $81, $82, $83, $83, $84, $85, $86, $87, $87 ; CPU:$FBDF PRG:7BDF 7D 7D 7E 7E 7F 80 80 81 82 83 83 84 85 86 87 87 + .byte $88, $89, $8A, $8B, $8C, $8D, $8E, $8F, $90, $92, $93, $94, $96, $98, $9A, $9C ; CPU:$FBEF PRG:7BEF 88 89 8A 8B 8C 8D 8E 8F 90 92 93 94 96 98 9A 9C + .byte $9F, $00, $01, $04, $06, $09, $0B, $0E, $10, $13, $15, $18, $1A, $1D, $1F, $22 ; CPU:$FBFF PRG:7BFF 9F 00 01 04 06 09 0B 0E 10 13 15 18 1A 1D 1F 22 + .byte $24, $27, $2A, $2C, $2F, $31, $34, $37, $39, $3C, $3E, $41, $44, $46, $49, $4C ; CPU:$FC0F PRG:7C0F 24 27 2A 2C 2F 31 34 37 39 3C 3E 41 44 46 49 4C + .byte $4F, $51, $54, $57, $5A, $5C, $5F, $62, $65, $68, $6B, $6E, $71, $74, $77, $7A ; CPU:$FC1F PRG:7C1F 4F 51 54 57 5A 5C 5F 62 65 68 6B 6E 71 74 77 7A + .byte $7D, $80, $83, $86, $89, $8D, $90, $93, $97, $9A, $9D, $A1, $A4, $A8, $AC, $AF ; CPU:$FC2F PRG:7C2F 7D 80 83 86 89 8D 90 93 97 9A 9D A1 A4 A8 AC AF + .byte $B3, $B7, $BB, $BF, $C3, $C7, $CB, $CF, $D3, $D8, $DC, $E0, $E5, $EA, $EF, $F3 ; CPU:$FC3F PRG:7C3F B3 B7 BB BF C3 C7 CB CF D3 D8 DC E0 E5 EA EF F3 + .byte $F8, $FE, $03, $08, $0E, $13, $19, $1F, $25, $2C, $32, $39, $40, $47, $4F, $56 ; CPU:$FC4F PRG:7C4F F8 FE 03 08 0E 13 19 1F 25 2C 32 39 40 47 4F 56 + .byte $5E, $67, $6F, $78, $82, $8B, $96, $A1, $AC, $B8, $C4, $D2, $E0, $EF, $FF, $11 ; CPU:$FC5F PRG:7C5F 5E 67 6F 78 82 8B 96 A1 AC B8 C4 D2 E0 EF FF 11 + .byte $23, $38, $4E, $66, $80, $9E, $BF, $E5, $10, $42, $7E, $C6, $21, $99, $40, $44 ; CPU:$FC6F PRG:7C6F 23 38 4E 66 80 9E BF E5 10 42 7E C6 21 99 40 44 + .byte $36, $00, $CA, $6C, $C0, $67, $DF, $3A, $82, $BE, $F0, $1B, $41, $62, $80, $9A ; CPU:$FC7F PRG:7C7F 36 00 CA 6C C0 67 DF 3A 82 BE F0 1B 41 62 80 9A + .byte $B2, $C8, $DD, $EF, $01, $11, $20, $2E, $3C, $48, $54, $5F, $6A, $75, $7E, $88 ; CPU:$FC8F PRG:7C8F B2 C8 DD EF 01 11 20 2E 3C 48 54 5F 6A 75 7E 88 + .byte $91, $99, $A2, $AA, $B1, $B9, $C0, $C7, $CE, $D4, $DB, $E1, $E7, $ED, $F2, $F8 ; CPU:$FC9F PRG:7C9F 91 99 A2 AA B1 B9 C0 C7 CE D4 DB E1 E7 ED F2 F8 + .byte $FD, $02, $08, $0D, $11, $16, $1B, $20, $24, $28, $2D, $31, $35, $39, $3D, $41 ; CPU:$FCAF PRG:7CAF FD 02 08 0D 11 16 1B 20 24 28 2D 31 35 39 3D 41 + .byte $45, $49, $4D, $51, $54, $58, $5C, $5F, $63, $66, $69, $6D, $70, $73, $77, $7A ; CPU:$FCBF PRG:7CBF 45 49 4D 51 54 58 5C 5F 63 66 69 6D 70 73 77 7A + .byte $7D, $80, $83, $86, $89, $8C, $8F, $92, $95, $98, $9B, $9E, $A1, $A4, $A6, $A9 ; CPU:$FCCF PRG:7CCF 7D 80 83 86 89 8C 8F 92 95 98 9B 9E A1 A4 A6 A9 + .byte $AC, $AF, $B1, $B4, $B7, $BA, $BC, $BF, $C2, $C4, $C7, $C9, $CC, $CF, $D1, $D4 ; CPU:$FCDF PRG:7CDF AC AF B1 B4 B7 BA BC BF C2 C4 C7 C9 CC CF D1 D4 + .byte $D6, $D9, $DC, $DE, $E1, $E3, $E6, $E8, $EB, $ED, $F0, $F2, $F5, $F7, $FA, $FC ; CPU:$FCEF PRG:7CEF D6 D9 DC DE E1 E3 E6 E8 EB ED F0 F2 F5 F7 FA FC + .byte $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FCFF PRG:7CFF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD0F PRG:7D0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD1F PRG:7D1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD2F PRG:7D2F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$FD3F PRG:7D3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$FD4F PRG:7D4F 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $02 ; CPU:$FD5F PRG:7D5F 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $04, $04, $05, $06 ; CPU:$FD6F PRG:7D6F 02 02 02 02 02 02 02 02 03 03 03 03 04 04 05 06 + .byte $08, $00, $F7, $F9, $FA, $FB, $FB, $FC, $FC, $FC, $FC, $FD, $FD, $FD, $FD, $FD ; CPU:$FD7F PRG:7D7F 08 00 F7 F9 FA FB FB FC FC FC FC FD FD FD FD FD + .byte $FD, $FD, $FD, $FD, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE ; CPU:$FD8F PRG:7D8F FD FD FD FD FE FE FE FE FE FE FE FE FE FE FE FE + .byte $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE ; CPU:$FD9F PRG:7D9F FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE + .byte $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDAF PRG:7DAF FE 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:$FDBF PRG:7DBF 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:$FDCF PRG:7DCF 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:$FDDF PRG:7DDF 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:$FDEF PRG:7DEF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $01, $01, $00, $01, $00, $00, $00, $FF, $FF, $FF ; CPU:$FDFF PRG:7DFF FF 01 01 00 01 00 00 00 FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FE0A +; Global: Branch target inside Sub: taken when FE0A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FE0A: + ldx #$51 ; CPU:$FE0A PRG:7E0A A2 51 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative7: lda $FE8D,x ; CPU:$FE0C PRG:7E0C BD 8D FE sta ZpAE,x ; CPU:$FE0F PRG:7E0F 95 AE dex ; CPU:$FE11 PRG:7E11 CA - bpl NmiHandler_OnNonnegative6 ; CPU:$FE12 PRG:7E12 10 F8 + bpl NmiHandler_OnNonnegative7 ; CPU:$FE12 PRG:7E12 10 F8 rts ; CPU:$FE14 PRG:7E14 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE15 @@ -10487,19 +12543,19 @@ Sub_FE15: tax ; CPU:$FE1E PRG:7E1E AA lda $0500,x ; CPU:$FE1F PRG:7E1F BD 00 05 and #$01 ; CPU:$FE22 PRG:7E22 29 01 - beq NmiHandler_Loop211 ; CPU:$FE24 PRG:7E24 F0 04 + beq NmiHandler_Loop256 ; CPU:$FE24 PRG:7E24 F0 04 txa ; CPU:$FE26 PRG:7E26 8A and #$FE ; CPU:$FE27 PRG:7E27 29 FE tax ; CPU:$FE29 PRG:7E29 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop211 -; Global: Branch target inside NmiHandler: taken when Loop211. +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop211: +NmiHandler_Loop256: txa ; CPU:$FE2A PRG:7E2A 8A sta ZpC5 ; CPU:$FE2B PRG:7E2B 85 C5 lda #$80 ; CPU:$FE2D PRG:7E2D A9 80 @@ -10507,20 +12563,20 @@ NmiHandler_Loop211: lda Zp13 ; CPU:$FE31 PRG:7E31 A5 13 sec ; CPU:$FE33 PRG:7E33 38 sbc #$80 ; CPU:$FE34 PRG:7E34 E9 80 - bmi NmiHandler_Loop212 ; CPU:$FE36 PRG:7E36 30 08 + bmi NmiHandler_Loop257 ; CPU:$FE36 PRG:7E36 30 08 asl a ; CPU:$FE38 PRG:7E38 0A sta ZpE3 ; CPU:$FE39 PRG:7E39 85 E3 lda #$00 ; CPU:$FE3B PRG:7E3B A9 00 jmp Sub_FE45 ; CPU:$FE3D PRG:7E3D 4C 45 FE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop212 -; Global: Branch target inside NmiHandler: taken when Loop212. +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop212: +NmiHandler_Loop257: asl a ; CPU:$FE40 PRG:7E40 0A sta ZpE3 ; CPU:$FE41 PRG:7E41 85 E3 lda #$FE ; CPU:$FE43 PRG:7E43 A9 FE @@ -10539,7 +12595,7 @@ Sub_FE45: eor #$01 ; CPU:$FE4B PRG:7E4B 49 01 sta Zp6E ; CPU:$FE4D PRG:7E4D 85 6E cmp #$02 ; CPU:$FE4F PRG:7E4F C9 02 - beq NmiHandler_Loop213 ; CPU:$FE51 PRG:7E51 F0 2E + beq NmiHandler_Loop258 ; CPU:$FE51 PRG:7E51 F0 2E lda Zp13 ; CPU:$FE53 PRG:7E53 A5 13 sta $0300 ; CPU:$FE55 PRG:7E55 8D 00 03 ldx #$02 ; CPU:$FE58 PRG:7E58 A2 02 @@ -10564,53 +12620,112 @@ Sub_FE5C: sta ZpD7 ; CPU:$FE6C PRG:7E6C 85 D7 lda #$40 ; CPU:$FE6E PRG:7E6E A9 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero6 -; Global: Branch target inside NmiHandler: taken when OnZero6. +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero6: +NmiHandler_OnZero8: bit PPUSTATUS ; CPU:$FE70 PRG:7E70 2C 02 20 - beq NmiHandler_OnZero6 ; CPU:$FE73 PRG:7E73 F0 FB + beq NmiHandler_OnZero8 ; CPU:$FE73 PRG:7E73 F0 FB ldx #$0D ; CPU:$FE75 PRG:7E75 A2 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero62 -; Global: Branch target inside NmiHandler: taken when OnNonzero62. +; Routine: NmiHandler_OnNonzero73 +; Global: Branch target inside NmiHandler: taken when OnNonzero73. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero62: +NmiHandler_OnNonzero73: dex ; CPU:$FE77 PRG:7E77 CA - bne NmiHandler_OnNonzero62 ; CPU:$FE78 PRG:7E78 D0 FD + bne NmiHandler_OnNonzero73 ; CPU:$FE78 PRG:7E78 D0 FD ldy #$00 ; CPU:$FE7A PRG:7E7A A0 00 ldx #$77 ; CPU:$FE7C PRG:7E7C A2 77 jmp a:ZpAE ; CPU:$FE7E PRG:7E7E 4C AE 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop213 -; Global: Branch target inside NmiHandler: taken when Loop213. +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop213: +NmiHandler_Loop258: lda Zp13 ; CPU:$FE81 PRG:7E81 A5 13 sta $0200 ; CPU:$FE83 PRG:7E83 8D 00 02 ldx #$03 ; CPU:$FE86 PRG:7E86 A2 03 ldy #$02 ; CPU:$FE88 PRG:7E88 A0 02 jmp Sub_FE5C ; CPU:$FE8A PRG:7E8A 4C 5C FE -; ---- data $FE8D-$FEDE (82 bytes) ---- -; referenced by `lda $FE8D,x` at $FE0C (operand $FE8D falls inside this region) - .byte $BD, $01, $02, $29, $07, $85, $BB, $BD, $00, $02, $29, $F8, $09, $00, $8D, $05 ; CPU:$FE8D PRG:7E8D BD 01 02 29 07 85 BB BD 00 02 29 F8 09 00 8D 05 - .byte $20, $A9, $F8, $8D, $05, $20, $AD, $00, $05, $18, $65, $CF, $85, $CF, $85, $D7 ; CPU:$FE9D PRG:7E9D 20 A9 F8 8D 05 20 AD 00 05 18 65 CF 85 CF 85 D7 - .byte $AD, $00, $FC, $18, $69, $00, $85, $D3, $AD, $00, $FD, $79, $00, $03, $99, $01 ; CPU:$FEAD PRG:7EAD AD 00 FC 18 69 00 85 D3 AD 00 FD 79 00 03 99 01 - .byte $03, $A5, $D3, $38, $E9, $00, $85, $D3, $B9, $01, $03, $E9, $00, $99, $01, $03 ; CPU:$FEBD PRG:7EBD 03 A5 D3 38 E9 00 85 D3 B9 01 03 E9 00 99 01 03 - .byte $EA, $EA, $98, $29, $07, $F0, $00, $29, $01, $D0, $00, $C8, $E6, $C5, $CA, $10 ; CPU:$FECD PRG:7ECD EA EA 98 29 07 F0 00 29 01 D0 00 C8 E6 C5 CA 10 - .byte $AF, $60 ; CPU:$FEDD PRG:7EDD AF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative8: + lda $0201,x ; CPU:$FE8D PRG:7E8D BD 01 02 + and #$07 ; CPU:$FE90 PRG:7E90 29 07 + sta ZpBB ; CPU:$FE92 PRG:7E92 85 BB + lda $0200,x ; CPU:$FE94 PRG:7E94 BD 00 02 + and #$F8 ; CPU:$FE97 PRG:7E97 29 F8 + ora #$00 ; CPU:$FE99 PRG:7E99 09 00 + sta PPUSCROLL ; CPU:$FE9B PRG:7E9B 8D 05 20 + lda #$F8 ; CPU:$FE9E PRG:7E9E A9 F8 + sta PPUSCROLL ; CPU:$FEA0 PRG:7EA0 8D 05 20 + lda $0500 ; CPU:$FEA3 PRG:7EA3 AD 00 05 + clc ; CPU:$FEA6 PRG:7EA6 18 + adc ZpCF ; CPU:$FEA7 PRG:7EA7 65 CF + sta ZpCF ; CPU:$FEA9 PRG:7EA9 85 CF + sta ZpD7 ; CPU:$FEAB PRG:7EAB 85 D7 + lda $FC00 ; CPU:$FEAD PRG:7EAD AD 00 FC + clc ; CPU:$FEB0 PRG:7EB0 18 + adc #$00 ; CPU:$FEB1 PRG:7EB1 69 00 + sta ZpD3 ; CPU:$FEB3 PRG:7EB3 85 D3 + lda $FD00 ; CPU:$FEB5 PRG:7EB5 AD 00 FD + adc $0300,y ; CPU:$FEB8 PRG:7EB8 79 00 03 + sta $0301,y ; CPU:$FEBB PRG:7EBB 99 01 03 + lda ZpD3 ; CPU:$FEBE PRG:7EBE A5 D3 + sec ; CPU:$FEC0 PRG:7EC0 38 + sbc #$00 ; CPU:$FEC1 PRG:7EC1 E9 00 + sta ZpD3 ; CPU:$FEC3 PRG:7EC3 85 D3 + lda $0301,y ; CPU:$FEC5 PRG:7EC5 B9 01 03 + sbc #$00 ; CPU:$FEC8 PRG:7EC8 E9 00 + sta $0301,y ; CPU:$FECA PRG:7ECA 99 01 03 + nop ; CPU:$FECD PRG:7ECD EA + nop ; CPU:$FECE PRG:7ECE EA + tya ; CPU:$FECF PRG:7ECF 98 + and #$07 ; CPU:$FED0 PRG:7ED0 29 07 + beq NmiHandler_Loop259 ; CPU:$FED2 PRG:7ED2 F0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + and #$01 ; CPU:$FED4 PRG:7ED4 29 01 + bne NmiHandler_Loop260 ; CPU:$FED6 PRG:7ED6 D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + iny ; CPU:$FED8 PRG:7ED8 C8 + inc ZpC5 ; CPU:$FED9 PRG:7ED9 E6 C5 + dex ; CPU:$FEDB PRG:7EDB CA + bpl NmiHandler_OnNonnegative8 ; CPU:$FEDC PRG:7EDC 10 AF + rts ; CPU:$FEDE PRG:7EDE 60 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler ; Global: Routine IrqHandler. @@ -10623,6 +12738,8 @@ IrqHandler: rti ; CPU:$FEDF PRG:7EDF 40 ; ---- data $FEE0-$FF9F (192 bytes) ---- ; referenced by `lda $FF00,x` at $917B (operand $FF00 falls inside this region) +; referenced by `lda $FF00,y` at $9975 (operand $FF00 falls inside this region) +; referenced by `adc $FF00,y` at $997B (operand $FF00 falls inside this region) ; referenced by `lda $FF00,y` at $9AE8 (operand $FF00 falls inside this region) ; referenced by `lda $FEE0,x` at $B0E6 (operand $FEE0 falls inside this region) .byte $01, $3C, $3D, $3E, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03 ; CPU:$FEE0 PRG:7EE0 01 3C 3D 3E 02 02 02 02 02 02 02 02 03 03 03 03 diff --git a/NROM/Soccer (JU)/README.md b/NROM/Soccer (JU)/README.md index 520b8e0..ab118a1 100644 --- a/NROM/Soccer (JU)/README.md +++ b/NROM/Soccer (JU)/README.md @@ -2,66 +2,67 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 18,110 / 32,768 bytes (55.3%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Vertical | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $809F | | RESET vector | $8000 | | IRQ vector | $8000 | -| ROM file | `Soccer (JU).nes` | -| SHA-256 | `91081870f2679bc0c96b24e626fdcdc319c60c66de04efc492ddf58f6151df10` | -### Header notes +## Power-on flow -- none +RESET enters at `$8000`: -## Open work + cld ; CPU:$8000 PRG:0000 D8 + sei ; CPU:$8001 PRG:0001 78 + ldx #$00 ; CPU:$8002 PRG:0002 A2 00 + stx PPUCTRL ; CPU:$8004 PRG:0004 8E 00 20 + stx PPUMASK ; CPU:$8007 PRG:0007 8E 01 20 + lda PPUSTATUS ; CPU:$800A PRG:000A AD 02 20 + bpl Reset_OnNonnegative ; CPU:$800D PRG:000D 10 FB + dex ; CPU:$800F PRG:000F CA + txs ; CPU:$8010 PRG:0010 9A + ldx #$1F ; CPU:$8011 PRG:0011 A2 1F + lda Zp50,x ; CPU:$8013 PRG:0013 B5 50 + sta $0350,x ; CPU:$8015 PRG:0015 9D 50 03 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$809F`: -## Files + php ; CPU:$809F PRG:009F 08 + pha ; CPU:$80A0 PRG:00A0 48 + txa ; CPU:$80A1 PRG:00A1 8A + pha ; CPU:$80A2 PRG:00A2 48 + tya ; CPU:$80A3 PRG:00A3 98 + pha ; CPU:$80A4 PRG:00A4 48 + ldx #$03 ; CPU:$80A5 PRG:00A5 A2 03 + lda $80EE,x ; CPU:$80A7 PRG:00A7 BD EE 80 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8251-$8262` (18 bytes) - `LevelHandlerPointerTable` +- `$82EF-$8306` (24 bytes) - `PlayerSpeedTable` +- `$832C-$832F` (4 bytes) - `LevelStartParameterTable` +- `$8921-$8996` (118 bytes) - `PlayerMovementTable` +- `$89D2-$89DB` (10 bytes) - `PlayerDirectionTable` +- `$8C07-$8C0B` (5 bytes) - `FieldPlayerPositionTable` +- `$8D44-$8DD3` (144 bytes) - `FieldPlayerSpriteTable` +- `$8ED1-$8F20` (80 bytes) - `FieldNameText` +- `$9007-$9012` (12 bytes) - `PlayerSpeedFineTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Soccer (JU)/labelmap.tsv b/NROM/Soccer (JU)/labelmap.tsv index 4a0a93e..f6b122c 100644 --- a/NROM/Soccer (JU)/labelmap.tsv +++ b/NROM/Soccer (JU)/labelmap.tsv @@ -23,182 +23,1114 @@ 8146 NmiHandler_Loop5 8158 NmiHandler_Loop6 815C NmiHandler_Loop7 -818B Sub_818B 81A0 NmiHandler_Loop8 81A7 NmiHandler_Loop9 -81BB NmiHandler_Loop10 -81C2 NmiHandler_Loop11 -81E7 NmiHandler_Loop12 -81EF NmiHandler_Loop13 -8200 NmiHandler_Loop14 -8213 NmiHandler_Loop15 -821B NmiHandler_Loop16 -8224 NmiHandler_Loop17 -822B NmiHandler_Loop18 +81C2 NmiHandler_Loop10 +81E7 NmiHandler_Loop11 +81EF NmiHandler_Loop12 +8200 NmiHandler_Loop13 +8213 NmiHandler_Loop14 +821B NmiHandler_Loop15 +8224 NmiHandler_Loop16 +822B NmiHandler_Loop17 822F Sub_822F -8233 NmiHandler_Loop19 -823D NmiHandler_Loop20 -8249 NmiHandler_Loop21 -824C NmiHandler_Loop22 +8233 NmiHandler_Loop18 +823D NmiHandler_Loop19 +8249 NmiHandler_Loop20 +824C NmiHandler_Loop21 +8263 Sub_8263 +82A6 NmiHandler_Loop22 +82C0 Sub_82C0 +82CB NmiHandler_OnNonzero2 +82E3 NmiHandler_Loop23 +8307 Sub_8307 +8309 NmiHandler_OnNonnegative3 +8330 Sub_8330 +833D NmiHandler_Loop24 +8353 NmiHandler_Loop25 +8363 NmiHandler_Loop26 +836D NmiHandler_Loop27 +8382 NmiHandler_OnNonnegative4 +838F Sub_838F +8393 NmiHandler_OnNonzero3 839D Sub_839D -83C4 NmiHandler_Loop23 +83C4 NmiHandler_Loop28 83C5 Sub_83C5 -83DC NmiHandler_Loop24 -83DE NmiHandler_OnNonzero2 -8405 NmiHandler_Loop25 +83DC NmiHandler_Loop29 +83DE NmiHandler_OnNonzero4 +8405 NmiHandler_Loop30 8406 Sub_8406 -8422 NmiHandler_OnNonzero3 -8431 NmiHandler_OnNonzero4 -843B NmiHandler_Loop26 -8449 NmiHandler_Loop27 +8422 NmiHandler_OnNonzero5 +8431 NmiHandler_OnNonzero6 +843B NmiHandler_Loop31 +8449 NmiHandler_Loop32 +844A Sub_844A +8451 Sub_8451 +8466 NmiHandler_OnNonzero7 +847C NmiHandler_OnNonzero8 +8495 NmiHandler_OnNonzero9 849C Sub_849C -84A8 NmiHandler_OnNonnegative3 -84AE NmiHandler_Loop28 -84B8 NmiHandler_Loop29 +84A8 NmiHandler_OnNonnegative5 +84AE NmiHandler_Loop33 +84B8 NmiHandler_Loop34 84BD Sub_84BD -84DB NmiHandler_OnNonzero5 -84F1 NmiHandler_Loop30 -84FD NmiHandler_Loop31 -8500 NmiHandler_OnNonzero6 -8503 NmiHandler_Loop32 +84DB NmiHandler_OnNonzero10 +84F1 NmiHandler_Loop35 +84FD NmiHandler_Loop36 +8500 NmiHandler_OnNonzero11 +8503 NmiHandler_Loop37 8517 Sub_8517 8521 Sub_8521 8531 Sub_8531 -8548 NmiHandler_OnNonzero7 -855F NmiHandler_OnNonzero8 +8548 NmiHandler_OnNonzero12 +855F NmiHandler_OnNonzero13 8589 Sub_8589 -8599 NmiHandler_Loop33 +8599 NmiHandler_Loop38 +85A3 NmiHandler_Loop39 +85B4 NmiHandler_OnZero2 +85D7 NmiHandler_Loop40 +85DB NmiHandler_Loop41 +8609 NmiHandler_Loop42 +860F NmiHandler_Loop43 +862B NmiHandler_Loop44 +862C Sub_862C +8637 NmiHandler_Loop45 +8644 NmiHandler_OnCarrySet +8648 NmiHandler_Loop46 +864D Sub_864D +8660 NmiHandler_Loop47 +866C NmiHandler_Loop48 +866F Sub_866F 867E Sub_867E -8694 NmiHandler_Loop34 -86A9 NmiHandler_Loop35 +8694 NmiHandler_Loop49 +86A9 NmiHandler_Loop50 86AD Sub_86AD -86B8 NmiHandler_OnZero2 +86B8 NmiHandler_OnZero3 86BF Sub_86BF +86C6 NmiHandler_OnNonzero14 +86CC Sub_86CC +86D5 Sub_86D5 +86E4 NmiHandler_Loop51 86E5 Sub_86E5 +86EE Sub_86EE +86F6 NmiHandler_OnNonzero15 +86F8 NmiHandler_OnNonzero16 +8706 Sub_8706 +870A Sub_870A +870E Sub_870E +8712 Sub_8712 +8716 Sub_8716 +871A Sub_871A +871E Sub_871E +8722 Sub_8722 +8724 NmiHandler_Loop52 +872B NmiHandler_Loop53 +8731 Sub_8731 +873A NmiHandler_Loop54 +8740 Sub_8740 8744 Sub_8744 -874A NmiHandler_Loop36 -8751 NmiHandler_Loop37 +8748 Sub_8748 +874A NmiHandler_Loop55 +8751 NmiHandler_Loop56 +8757 Sub_8757 +875B Sub_875B +875F Sub_875F +8775 NmiHandler_Loop57 +877C NmiHandler_Loop58 +8786 Sub_8786 +878E Sub_878E +8792 Sub_8792 +8796 Sub_8796 879A Sub_879A 879E Sub_879E -87A0 NmiHandler_Loop38 -87A7 NmiHandler_Loop39 -8D10 Sub_8D10 +87A0 NmiHandler_Loop59 +87A7 NmiHandler_Loop60 +87A8 NmiHandler_Loop61 +87AD Sub_87AD +87E8 NmiHandler_OnZero4 +87E9 NmiHandler_Loop62 +87FD NmiHandler_OnNonzero17 +881E NmiHandler_Loop63 +882D NmiHandler_Loop64 +8835 NmiHandler_OnNonzero18 +8859 NmiHandler_Loop65 +8861 Sub_8861 +887C NmiHandler_Loop66 +887D Sub_887D +8883 Sub_8883 +88AA NmiHandler_Loop67 +88B0 Sub_88B0 +88D4 NmiHandler_Loop68 +88DF Sub_88DF +891A NmiHandler_Loop69 +8997 Sub_8997 +89A6 Sub_89A6 +89BF NmiHandler_Loop70 +89C0 NmiHandler_Loop71 +89DC Sub_89DC +89EE NmiHandler_Loop72 +8A0C NmiHandler_Loop73 +8A12 NmiHandler_Loop74 +8A35 NmiHandler_Loop75 +8A48 NmiHandler_Loop76 +8A4A Sub_8A4A +8A5A NmiHandler_Loop77 +8A65 NmiHandler_Loop78 +8A6A Sub_8A6A +8A72 NmiHandler_Loop79 +8A7B Sub_8A7B +8A92 NmiHandler_Loop80 +8A9B NmiHandler_Loop81 +8AB8 NmiHandler_Loop82 +8ABE Sub_8ABE +8AE3 NmiHandler_Loop83 +8AE8 Sub_8AE8 +8AF1 NmiHandler_Loop84 +8B03 NmiHandler_Loop85 +8B07 NmiHandler_Loop86 +8B08 Sub_8B08 +8B10 NmiHandler_Loop87 +8B1F NmiHandler_Loop88 +8B21 NmiHandler_Loop89 +8B38 Sub_8B38 +8B4A NmiHandler_Loop90 +8B4F NmiHandler_OnNonnegative6 +8B5F NmiHandler_Loop91 +8B87 NmiHandler_Loop92 +8B8E NmiHandler_Loop93 +8B92 NmiHandler_Loop94 +8B93 NmiHandler_Loop95 +8BB2 NmiHandler_Loop96 +8BC2 Sub_8BC2 +8BCF NmiHandler_Loop97 +8BE2 NmiHandler_Loop98 +8C01 NmiHandler_Loop99 +8C06 NmiHandler_Loop100 +8C0C Sub_8C0C +8C52 NmiHandler_Loop101 +8C64 NmiHandler_OnZero5 +8C65 NmiHandler_Loop102 +8C7E Sub_8C7E +8CA6 NmiHandler_Loop103 +8CAD NmiHandler_Loop104 +8CB8 NmiHandler_Loop105 +8CBF Sub_8CBF +8CDE NmiHandler_Loop106 +8CDF NmiHandler_Loop107 +8CEA NmiHandler_Loop108 +8D08 NmiHandler_Loop109 +8D10 NmiHandler_Loop110 8D12 Sub_8D12 -8D1D NmiHandler_Loop40 -8D20 NmiHandler_OnNonzero9 +8D1D NmiHandler_Loop111 +8D20 NmiHandler_OnNonzero19 +8D35 Sub_8D35 +8DD4 Sub_8DD4 +8DE9 NmiHandler_Loop112 +8DF8 NmiHandler_Loop113 +8DF9 NmiHandler_Loop114 +8E08 NmiHandler_Loop115 +8E0B NmiHandler_Loop116 +8E32 NmiHandler_Loop117 +8E40 NmiHandler_Loop118 +8E45 NmiHandler_Loop119 +8E4E NmiHandler_OnNonnegative7 +8E57 Sub_8E57 +8E61 Sub_8E61 +8E6F NmiHandler_OnNonzero20 +8E80 NmiHandler_Loop120 +8E8D Sub_8E8D +8EA8 NmiHandler_OnNonnegative8 +8EB0 NmiHandler_Loop121 +8ECD NmiHandler_Loop122 +8F21 Sub_8F21 +8F25 NmiHandler_OnNonnegative9 +8F40 NmiHandler_OnNonzero21 +8F44 NmiHandler_OnNonzero22 +8F53 NmiHandler_Loop123 +8F60 NmiHandler_Loop124 +8F6B NmiHandler_Loop125 +8F82 NmiHandler_Loop126 +8F99 NmiHandler_Loop127 +8FA2 NmiHandler_Loop128 +8FA9 Sub_8FA9 +8FAD Sub_8FAD +8FB7 NmiHandler_OnNonzero23 +8FC5 NmiHandler_Loop129 +8FD7 NmiHandler_Loop130 +8FE4 NmiHandler_Loop131 +8FE5 Sub_8FE5 +8FF0 NmiHandler_Loop132 +9006 NmiHandler_Loop133 +9013 Sub_9013 +9017 NmiHandler_OnNonzero24 +9028 NmiHandler_OnNonzero25 +9043 NmiHandler_OnNonzero26 +9050 Sub_9050 +90F9 Sub_90F9 +9103 NmiHandler_OnZero6 +912B NmiHandler_Loop134 +9131 NmiHandler_Loop135 +9138 NmiHandler_Loop136 +913B NmiHandler_Loop137 +913E NmiHandler_Loop138 +914B Sub_914B +9172 Sub_9172 +9178 NmiHandler_Loop139 +9186 NmiHandler_Loop140 +9189 Sub_9189 +9194 NmiHandler_Loop141 +9197 NmiHandler_OnNonzero27 +91A1 NmiHandler_Loop142 +91BB NmiHandler_Loop143 +91C1 NmiHandler_Loop144 +91D3 NmiHandler_Loop145 +91DC NmiHandler_Loop146 +91FD NmiHandler_Loop147 +9204 Sub_9204 +9218 NmiHandler_Loop148 +921A Sub_921A +922A Sub_922A +924D NmiHandler_Loop149 +9250 Sub_9250 +9260 NmiHandler_Loop150 +9267 NmiHandler_Loop151 +92AC NmiHandler_Loop152 +92BC NmiHandler_Loop153 +92BF Sub_92BF +92D7 NmiHandler_OnNonzero28 +92EF NmiHandler_Loop154 +92FC NmiHandler_Loop155 +9305 NmiHandler_Loop156 +9313 NmiHandler_Loop157 +932A NmiHandler_Loop158 +935E NmiHandler_Loop159 +936B Sub_936B +937D NmiHandler_Loop160 +9395 NmiHandler_OnNonzero29 +93AD NmiHandler_Loop161 +93B8 NmiHandler_OnNonzero30 +93D0 NmiHandler_Loop162 +93D9 NmiHandler_Loop163 +93DE NmiHandler_Loop164 +93DF Sub_93DF +93E9 NmiHandler_Loop165 +9402 Sub_9402 +940C Sub_940C +941F NmiHandler_Loop166 +9426 NmiHandler_Loop167 +9433 NmiHandler_Loop168 +943A NmiHandler_Loop169 +9445 NmiHandler_Loop170 +9447 NmiHandler_OnNonzero31 +944F NmiHandler_Loop171 +9457 NmiHandler_Loop172 +9465 NmiHandler_Loop173 +9469 NmiHandler_Loop174 +946B NmiHandler_Loop175 +9479 NmiHandler_Loop176 +9481 NmiHandler_Loop177 +948D NmiHandler_Loop178 +948E Sub_948E +94B4 NmiHandler_Loop179 +94CA NmiHandler_Loop180 +94EC NmiHandler_Loop181 +9502 NmiHandler_Loop182 +9507 Sub_9507 +9509 NmiHandler_OnNonzero32 +97EC NmiHandler_OnZero7 +97F3 NmiHandler_Loop183 +97FB NmiHandler_Loop184 +9832 NmiHandler_Loop185 +984A NmiHandler_OnNonzero33 +984C NmiHandler_OnZero8 +984F NmiHandler_Loop186 +9858 NmiHandler_Loop187 +985B NmiHandler_Loop188 +9867 NmiHandler_Loop189 +9876 NmiHandler_Loop190 +9889 NmiHandler_Loop191 +9897 NmiHandler_Loop192 +989C NmiHandler_Loop193 +98A5 NmiHandler_Loop194 +98B3 NmiHandler_Loop195 +98B5 NmiHandler_Loop196 +9909 NmiHandler_Loop197 +9963 Sub_9963 +996A NmiHandler_OnNonzero34 +996B NmiHandler_Loop198 +997B NmiHandler_OnZero9 +9987 NmiHandler_Loop199 +998F NmiHandler_OnZero10 +9999 NmiHandler_Loop200 +999E Sub_999E +99AB NmiHandler_Loop201 +99C7 Sub_99C7 +99CC NmiHandler_OnNonzero35 +99E7 NmiHandler_Loop202 +9B45 Sub_9B45 +9B4A NmiHandler_Loop203 +9B5A NmiHandler_Loop204 +9B6A NmiHandler_Loop205 +9B77 NmiHandler_Loop206 +9B9B NmiHandler_Loop207 +9BA1 NmiHandler_Loop208 +9BAA NmiHandler_Loop209 +9BAD Sub_9BAD +9BBE NmiHandler_Loop210 +9BC9 NmiHandler_Loop211 +9BD1 Sub_9BD1 +9BE1 NmiHandler_Loop212 +9BE2 Sub_9BE2 +9BF4 Sub_9BF4 +9C31 NmiHandler_Loop213 +9C3C NmiHandler_Loop214 +9C53 NmiHandler_Loop215 +9C93 NmiHandler_Loop216 +9CA3 NmiHandler_OnCarrySet2 +9CCE NmiHandler_Loop217 +9CD2 NmiHandler_Loop218 +9CD4 NmiHandler_Loop219 +9CE5 NmiHandler_Loop220 +9CE7 NmiHandler_Loop221 +9CEF NmiHandler_Loop222 +9CF7 NmiHandler_Loop223 +9CF8 NmiHandler_Loop224 +9D00 Sub_9D00 +9D10 NmiHandler_Loop225 +9D20 Sub_9D20 +9D2E NmiHandler_Loop226 +9D3D Sub_9D3D +9D7E NmiHandler_Loop227 +9D7F NmiHandler_Loop228 +9D97 NmiHandler_OnNonzero36 +9D98 NmiHandler_Loop229 +9DC3 NmiHandler_Loop230 +9DCB NmiHandler_Loop231 +9DDC NmiHandler_Loop232 +9DDE NmiHandler_Loop233 +9DF9 Sub_9DF9 +9E12 Sub_9E12 +9E22 Sub_9E22 +9E42 NmiHandler_OnNonzero37 +9E5E NmiHandler_Loop234 +9E69 NmiHandler_Loop235 +9E78 NmiHandler_Loop236 +9E94 NmiHandler_Loop237 +9E99 NmiHandler_Loop238 +9EB1 NmiHandler_Loop239 +9EB2 NmiHandler_Loop240 +9EBE NmiHandler_OnNonzero38 +9ED0 NmiHandler_OnZero11 +9EE9 NmiHandler_Loop241 +9EEB Sub_9EEB +9F19 NmiHandler_OnNonzero39 +9F25 NmiHandler_Loop242 +9F49 NmiHandler_Loop243 +9F4A NmiHandler_Loop244 +9F6E Sub_9F6E +9F80 NmiHandler_Loop245 +A0AD NmiHandler_Loop246 +A0C4 Sub_A0C4 +A0C7 Sub_A0C7 +A0CF NmiHandler_Loop247 +A0E5 NmiHandler_Loop248 +A10F Sub_A10F +A11E NmiHandler_Loop249 +A131 NmiHandler_Loop250 +A144 NmiHandler_Loop251 +A15A NmiHandler_Loop252 +A165 NmiHandler_Loop253 +A17D NmiHandler_Loop254 +A18E NmiHandler_Loop255 +A19D NmiHandler_Loop256 +A1BA NmiHandler_Loop257 +A1BF NmiHandler_Loop258 +A1CE NmiHandler_Loop259 +A1EB NmiHandler_Loop260 +A1F0 NmiHandler_Loop261 +A35D Sub_A35D +A37C NmiHandler_Loop262 +A392 NmiHandler_OnNonzero40 +A3AF NmiHandler_Loop263 +A3BB NmiHandler_OnNonzero41 +A400 NmiHandler_Loop264 +A418 NmiHandler_Loop265 +A42D NmiHandler_Loop266 +A439 NmiHandler_OnNonzero42 +A43D NmiHandler_Loop267 +A45A NmiHandler_Loop268 +A496 Sub_A496 +A4D0 Sub_A4D0 +A4ED Sub_A4ED +A4FA NmiHandler_Loop269 +A536 NmiHandler_Loop270 +A53C Sub_A53C +A54B NmiHandler_Loop271 +A575 Sub_A575 +A584 NmiHandler_Loop272 +A59A Sub_A59A +B5E3 Sub_B5E3 +B5F0 NmiHandler_Loop273 +B5FF NmiHandler_Loop274 +B601 NmiHandler_OnCarryClear +B631 NmiHandler_Loop275 +B666 NmiHandler_Loop276 +B6BA NmiHandler_Loop277 +B6CC NmiHandler_Loop278 +B6D9 NmiHandler_Loop279 +B6E9 NmiHandler_Loop280 +B6FE NmiHandler_Loop281 +B705 Sub_B705 +B716 NmiHandler_Loop282 +B744 NmiHandler_Loop283 +B75B NmiHandler_OnNonzero43 +B787 NmiHandler_Loop284 +B795 NmiHandler_Loop285 +B798 NmiHandler_Loop286 +B7AE Sub_B7AE +B7B8 NmiHandler_OnNonzero44 +B7C0 Sub_B7C0 +B7DB NmiHandler_OnNonzero45 +B7E7 Sub_B7E7 +B829 Sub_B829 +B84E NmiHandler_Loop287 +B850 NmiHandler_OnNonzero46 +B85A Sub_B85A +B86C NmiHandler_Loop288 +B88D NmiHandler_Loop289 +B8AA Sub_B8AA +B8C0 Sub_B8C0 +B8C9 NmiHandler_OnCarrySet3 +B8D0 NmiHandler_OnNonzero47 +B8D1 Sub_B8D1 +B8EC NmiHandler_Loop290 +B907 NmiHandler_Loop291 +B95A NmiHandler_Loop292 +B972 NmiHandler_Loop293 +B97E NmiHandler_OnNonnegative10 +B99D NmiHandler_Loop294 +B99E Sub_B99E +B9AF Sub_B9AF +B9B8 NmiHandler_OnNonzero48 +B9CF NmiHandler_Loop295 +B9D6 NmiHandler_Loop296 +B9E8 Sub_B9E8 +B9F7 NmiHandler_OnCarrySet4 +BA19 Sub_BA19 +BA25 NmiHandler_Loop297 +BA36 NmiHandler_Loop298 +BA3D NmiHandler_Loop299 +BA47 Sub_BA47 +BA5B NmiHandler_Loop300 +BA6A NmiHandler_Loop301 +BA79 NmiHandler_Loop302 +BA88 NmiHandler_Loop303 +BA8A NmiHandler_Loop304 +BA8C NmiHandler_Loop305 +BA8F NmiHandler_Loop306 +BA9D NmiHandler_Loop307 +BAB0 NmiHandler_Loop308 +BAB1 Sub_BAB1 +BABD NmiHandler_OnNonzero49 +BACC NmiHandler_Loop309 +BAD1 NmiHandler_Loop310 +BAE0 NmiHandler_Loop311 +BAF5 NmiHandler_Loop312 +BAF7 NmiHandler_OnNonzero50 +BB10 NmiHandler_Loop313 +BB31 NmiHandler_Loop314 +BB39 NmiHandler_Loop315 +BB51 NmiHandler_Loop316 +BB5D NmiHandler_Loop317 +BB67 NmiHandler_Loop318 +BB7B NmiHandler_Loop319 +BB88 NmiHandler_Loop320 +BB89 Sub_BB89 +BB9E NmiHandler_Loop321 +BBB5 NmiHandler_OnNonnegative11 +BBBD NmiHandler_OnNonnegative12 +BBE2 NmiHandler_Loop322 +BBE5 Sub_BBE5 +BBE7 NmiHandler_OnNonzero51 +BBF9 NmiHandler_Loop323 +BBFF NmiHandler_Loop324 +BC12 NmiHandler_Loop325 +BC25 Sub_BC25 +BC51 NmiHandler_Loop326 +BC59 NmiHandler_Loop327 +BC66 NmiHandler_Loop328 +BC6E NmiHandler_Loop329 +BC7B NmiHandler_Loop330 +BC7E NmiHandler_Loop331 +BC81 NmiHandler_Loop332 +BC84 NmiHandler_Loop333 +BC8A NmiHandler_Loop334 +BC9D NmiHandler_Loop335 +BCA5 NmiHandler_Loop336 +BCB0 NmiHandler_Loop337 +BCBD NmiHandler_Loop338 +BCC5 NmiHandler_Loop339 +BCD4 NmiHandler_Loop340 +BCDC NmiHandler_Loop341 +BCF5 NmiHandler_Loop342 +BCF6 Sub_BCF6 +BD05 NmiHandler_Loop343 +BD0A NmiHandler_OnNonzero52 +BD11 Sub_BD11 +BD38 NmiHandler_Loop344 +BD4F NmiHandler_Loop345 +BD6B NmiHandler_Loop346 +BD7D NmiHandler_Loop347 +BD89 NmiHandler_Loop348 +BD91 NmiHandler_Loop349 +BD92 Sub_BD92 +BD9D NmiHandler_Loop350 +BDA2 NmiHandler_Loop351 +BDAF NmiHandler_Loop352 +BDB5 Sub_BDB5 +BDB7 NmiHandler_OnNonzero53 +BE07 NmiHandler_OnNonzero54 +BE1A Sub_BE1A +BE43 NmiHandler_Loop353 +BE55 Sub_BE55 +BF0C Sub_BF0C +BF25 NmiHandler_Loop354 +BF26 NmiHandler_Loop355 +BF2A NmiHandler_Loop356 +BF48 NmiHandler_Loop357 +BF55 NmiHandler_Loop358 +BF72 NmiHandler_Loop359 +BF79 NmiHandler_Loop360 +BF7C NmiHandler_Loop361 +BF83 Sub_BF83 +BFA7 NmiHandler_Loop362 +BFAC Sub_BFAC +BFBD Sub_BFBD +BFD4 NmiHandler_Loop363 +BFED NmiHandler_Loop364 +BFF2 Sub_BFF2 +C003 Sub_C003 +C01A NmiHandler_Loop365 +C020 NmiHandler_OnZero12 +C023 NmiHandler_Loop366 +C040 NmiHandler_Loop367 +C080 NmiHandler_Loop368 +C08A NmiHandler_Loop369 +C08D NmiHandler_Loop370 +C0A2 NmiHandler_Loop371 +C0B1 NmiHandler_Loop372 +C0B8 Sub_C0B8 +C0BE Sub_C0BE +C0C9 Sub_C0C9 +C0EA Sub_C0EA +C101 NmiHandler_Loop373 +C116 NmiHandler_Loop374 +C11D Sub_C11D +C130 NmiHandler_OnZero13 +C131 NmiHandler_Loop375 +C148 NmiHandler_Loop376 +C14D NmiHandler_Loop377 +C162 NmiHandler_Loop378 +C16A NmiHandler_Loop379 +C172 NmiHandler_Loop380 +C17F NmiHandler_Loop381 +C182 NmiHandler_Loop382 +C189 NmiHandler_Loop383 +C19A NmiHandler_Loop384 +C19D NmiHandler_Loop385 +C1AB NmiHandler_Loop386 +C1BC NmiHandler_Loop387 +C1C1 Sub_C1C1 +C1D3 NmiHandler_Loop388 +C1DA Sub_C1DA +C1E3 Sub_C1E3 +C1F8 NmiHandler_Loop389 +C1FB NmiHandler_Loop390 +C217 NmiHandler_Loop391 +C21C Sub_C21C +C22E NmiHandler_Loop392 +C235 Sub_C235 +C23B NmiHandler_Loop393 +C254 NmiHandler_Loop394 +C25B NmiHandler_Loop395 +C277 NmiHandler_Loop396 +C288 NmiHandler_Loop397 +C29F NmiHandler_Loop398 +C2A2 NmiHandler_Loop399 +C2AB NmiHandler_Loop400 +C2CB NmiHandler_OnNonzero55 +C2CE NmiHandler_Loop401 +C30C Sub_C30C +C312 Sub_C312 +C315 NmiHandler_OnNonzero56 +C319 Sub_C319 +C31D NmiHandler_OnCarryClear2 +C32E NmiHandler_Loop402 +C33D NmiHandler_Loop403 +C351 NmiHandler_Loop404 +C355 NmiHandler_Loop405 +C358 NmiHandler_Loop406 +C36F NmiHandler_Loop407 +C370 Sub_C370 +C38B Sub_C38B +C397 NmiHandler_Loop408 +C39D NmiHandler_Loop409 +C3B1 Sub_C3B1 +C3CF NmiHandler_Loop410 +C3E5 NmiHandler_Loop411 +C3F5 Sub_C3F5 +C3FD NmiHandler_OnNonzero57 +C409 NmiHandler_Loop412 +C40A Sub_C40A +C513 NmiHandler_Loop413 +C528 NmiHandler_Loop414 +C52A Sub_C52A +C552 NmiHandler_Loop415 +C55A NmiHandler_Loop416 +C563 NmiHandler_Loop417 +C571 NmiHandler_Loop418 +C5CD NmiHandler_Loop419 +C5D5 Sub_C5D5 +C604 NmiHandler_Loop420 +C60A NmiHandler_OnZero14 +C619 NmiHandler_Loop421 +C62D NmiHandler_Loop422 +C634 NmiHandler_Loop423 +C644 NmiHandler_Loop424 +C688 NmiHandler_OnZero15 +C689 NmiHandler_Loop425 +C6C7 NmiHandler_Loop426 +C707 NmiHandler_Loop427 +C716 NmiHandler_Loop428 +C718 Sub_C718 +C721 NmiHandler_Loop429 +C730 NmiHandler_Loop430 +C738 NmiHandler_Loop431 +C745 NmiHandler_Loop432 +C776 Sub_C776 +C795 NmiHandler_Loop433 +C7C0 NmiHandler_Loop434 +C7CB Sub_C7CB +C7D9 Sub_C7D9 +C7E2 Sub_C7E2 +C7E7 NmiHandler_Loop435 +C804 NmiHandler_Loop436 +C81A NmiHandler_OnNonzero58 +C831 NmiHandler_Loop437 +C83C NmiHandler_OnNonzero59 +C864 NmiHandler_Loop438 +C86F NmiHandler_Loop439 +C880 NmiHandler_Loop440 +C886 NmiHandler_OnZero16 +C89F Sub_C89F +C8AB NmiHandler_Loop441 +C8C2 NmiHandler_Loop442 +C8DD NmiHandler_Loop443 +C8E1 Sub_C8E1 +C8E8 NmiHandler_Loop444 +C907 NmiHandler_Loop445 +C90C NmiHandler_Loop446 +C92A NmiHandler_OnNonzero60 +C940 NmiHandler_Loop447 +C952 Sub_C952 +C95B NmiHandler_Loop448 +C95D NmiHandler_OnNonzero61 +C973 NmiHandler_Loop449 +C98F NmiHandler_Loop450 +C9AA NmiHandler_OnNonzero62 +C9C0 NmiHandler_Loop451 +C9D5 Sub_C9D5 +C9DC NmiHandler_Loop452 +C9E2 NmiHandler_OnNonzero63 +C9EC NmiHandler_Loop453 +C9EE NmiHandler_OnNonzero64 +C9FB NmiHandler_Loop454 +CA17 NmiHandler_Loop455 +CA31 NmiHandler_Loop456 +CA44 NmiHandler_Loop457 +CA47 Sub_CA47 +CA52 NmiHandler_Loop458 +CA63 NmiHandler_Loop459 +CA66 Sub_CA66 +CA71 NmiHandler_Loop460 +CA72 Sub_CA72 +CA73 Sub_CA73 +CA82 Sub_CA82 +CAA5 NmiHandler_Loop461 +CAB0 NmiHandler_Loop462 +CAB6 NmiHandler_Loop463 +CAB9 Sub_CAB9 +CABD NmiHandler_Loop464 +CADB NmiHandler_OnCarryClear3 +CAEB NmiHandler_Loop465 +CAEF NmiHandler_Loop466 +CAFE NmiHandler_Loop467 +CB20 NmiHandler_Loop468 +CB2A NmiHandler_Loop469 +CB4E NmiHandler_Loop470 +CB57 NmiHandler_Loop471 +CB61 NmiHandler_Loop472 +CB68 NmiHandler_Loop473 +CB7E Sub_CB7E +CBB8 NmiHandler_Loop474 +CBC7 Sub_CBC7 +CBDB NmiHandler_Loop475 +CBE8 Sub_CBE8 +CBF2 NmiHandler_Loop476 +CBF9 NmiHandler_Loop477 +CC12 Sub_CC12 +CC19 NmiHandler_Loop478 +CC39 NmiHandler_Loop479 +CC40 Sub_CC40 +CC61 NmiHandler_Loop480 +CC65 NmiHandler_Loop481 +CC70 NmiHandler_Loop482 +CC72 NmiHandler_Loop483 +CC86 Sub_CC86 +CC8C NmiHandler_Loop484 +CCB4 NmiHandler_Loop485 +CCC3 Sub_CCC3 +CCCE NmiHandler_Loop486 +CCD1 Sub_CCD1 +CCD9 NmiHandler_Loop487 +CCF9 NmiHandler_Loop488 +CD00 NmiHandler_Loop489 +CD18 NmiHandler_Loop490 +CD37 Sub_CD37 +CD3C NmiHandler_Loop491 +CD61 NmiHandler_Loop492 +CD6B Sub_CD6B +CD76 NmiHandler_Loop493 +CD82 NmiHandler_Loop494 +CD87 NmiHandler_Loop495 +CD93 NmiHandler_Loop496 +CD95 Sub_CD95 +CDAB NmiHandler_Loop497 +CDB4 Sub_CDB4 +CDC1 NmiHandler_Loop498 +CDC2 Sub_CDC2 +CDF2 NmiHandler_Loop499 +CE03 NmiHandler_Loop500 +CE0D NmiHandler_Loop501 +CE1D NmiHandler_Loop502 +CE24 NmiHandler_Loop503 +CE42 NmiHandler_Loop504 +CE55 NmiHandler_Loop505 +CE5D NmiHandler_Loop506 +CE60 NmiHandler_Loop507 +CE91 NmiHandler_Loop508 +CEA0 NmiHandler_OnNonzero65 +CEAF NmiHandler_OnNonzero66 +CEB0 NmiHandler_Loop509 +CEBD NmiHandler_Loop510 +CEC8 NmiHandler_Loop511 +CEDB Sub_CEDB +CF1D NmiHandler_Loop512 +CF22 NmiHandler_Loop513 +CF23 NmiHandler_Loop514 +CF31 NmiHandler_Loop515 +CF47 NmiHandler_Loop516 +CF57 NmiHandler_Loop517 +CF69 NmiHandler_Loop518 +CF79 NmiHandler_Loop519 +CF7A Sub_CF7A +CF88 NmiHandler_Loop520 +CFA9 NmiHandler_Loop521 +CFB3 NmiHandler_Loop522 +CFB7 Sub_CFB7 +CFD8 NmiHandler_Loop523 +CFE2 NmiHandler_Loop524 +CFE3 Sub_CFE3 +CFE5 NmiHandler_OnNonzero67 +D00E Sub_D00E +D015 NmiHandler_OnNonzero68 +D016 NmiHandler_Loop525 +D056 NmiHandler_Loop526 +D05C NmiHandler_Loop527 +D063 NmiHandler_OnNonzero69 +D06B NmiHandler_Loop528 +D07B NmiHandler_Loop529 +D08E NmiHandler_Loop530 +D096 Sub_D096 +D0A8 NmiHandler_Loop531 +D0C3 Sub_D0C3 +D0CB NmiHandler_Loop532 +D0CD Sub_D0CD +D0E1 NmiHandler_Loop533 +D0F5 NmiHandler_Loop534 +D0F8 NmiHandler_Loop535 +D10C NmiHandler_Loop536 +D120 NmiHandler_Loop537 +D123 NmiHandler_Loop538 +D131 NmiHandler_Loop539 +D134 NmiHandler_Loop540 +D138 NmiHandler_Loop541 +D139 Sub_D139 +D13F NmiHandler_OnNonzero70 +D149 NmiHandler_Loop542 +D14B NmiHandler_OnNonzero71 +D158 NmiHandler_Loop543 +D164 Sub_D164 +D17B NmiHandler_Loop544 +D196 NmiHandler_Loop545 +D19A Sub_D19A +D1A1 NmiHandler_Loop546 +D1C0 NmiHandler_Loop547 +D1C5 NmiHandler_Loop548 +D1E3 NmiHandler_OnNonzero72 +D1F9 NmiHandler_Loop549 +D20B Sub_D20B +D214 NmiHandler_Loop550 +D216 NmiHandler_OnNonzero73 +D22C NmiHandler_Loop551 +D248 NmiHandler_Loop552 +D263 NmiHandler_OnNonzero74 +D279 NmiHandler_Loop553 +D625 Sub_D625 +D62F NmiHandler_Loop554 +D638 NmiHandler_Loop555 +D64D NmiHandler_Loop556 +D679 NmiHandler_Loop557 +D6C9 NmiHandler_Loop558 +D6D6 NmiHandler_Loop559 +D709 NmiHandler_Loop560 +D70A NmiHandler_Loop561 +D71E NmiHandler_Loop562 +D738 NmiHandler_Loop563 +D744 Sub_D744 +D750 NmiHandler_Loop564 +D76A NmiHandler_Loop565 +D786 NmiHandler_Loop566 +D796 NmiHandler_Loop567 +D797 Sub_D797 +D7B6 NmiHandler_OnZero17 +D7B7 NmiHandler_Loop568 +D7D4 NmiHandler_Loop569 +D7E0 NmiHandler_OnNonzero75 +D7EE NmiHandler_Loop570 +D7FD NmiHandler_Loop571 +D812 NmiHandler_Loop572 +D819 NmiHandler_Loop573 +D823 NmiHandler_OnNonzero76 +D839 NmiHandler_Loop574 +D857 NmiHandler_Loop575 +D870 NmiHandler_Loop576 +D88E NmiHandler_Loop577 +D89A NmiHandler_Loop578 +D8BA NmiHandler_Loop579 +D8C6 NmiHandler_Loop580 +D8CA Sub_D8CA +D8E1 Sub_D8E1 +D8ED NmiHandler_Loop581 +D911 NmiHandler_Loop582 +D958 Sub_D958 +D95A NmiHandler_OnNonzero77 +D97B NmiHandler_Loop583 +D97C Sub_D97C +D97E NmiHandler_OnNonzero78 +D985 Sub_D985 +D99C NmiHandler_Loop584 +D9A9 NmiHandler_Loop585 +D9D3 NmiHandler_Loop586 +D9FB NmiHandler_Loop587 +DA0B NmiHandler_Loop588 +DA0E Sub_DA0E +DA12 Sub_DA12 +DA2E Sub_DA2E +DA3A NmiHandler_Loop589 +DA5C NmiHandler_OnZero18 +DA84 NmiHandler_Loop590 +DAA7 NmiHandler_Loop591 +DAB5 NmiHandler_Loop592 +DAEA NmiHandler_Loop593 +DAF4 NmiHandler_Loop594 +DB0E NmiHandler_Loop595 +DB2C NmiHandler_Loop596 +DB49 NmiHandler_Loop597 +DB65 NmiHandler_Loop598 +DB8C NmiHandler_Loop599 +DB8F NmiHandler_Loop600 +DB97 NmiHandler_Loop601 +DC37 Sub_DC37 +DC40 Sub_DC40 +DC4A Sub_DC4A +DC58 NmiHandler_Loop602 +DC67 NmiHandler_Loop603 +DC6B NmiHandler_OnNonzero79 +DC77 NmiHandler_Loop604 +DC7E NmiHandler_Loop605 +DC7F NmiHandler_Loop606 +DC93 Sub_DC93 +DCCA NmiHandler_Loop607 +DCCF Sub_DCCF +DCE4 NmiHandler_Loop608 +DCED NmiHandler_Loop609 +DCEE Sub_DCEE +DCFA NmiHandler_Loop610 +DD06 NmiHandler_Loop611 +DD0B Sub_DD0B +DD1C NmiHandler_Loop612 +DD32 NmiHandler_Loop613 +DD3F NmiHandler_Loop614 +DD5A NmiHandler_Loop615 +DD5F NmiHandler_Loop616 +DD60 NmiHandler_Loop617 +DD6C NmiHandler_OnZero19 +DD73 NmiHandler_Loop618 +DD94 NmiHandler_Loop619 +DEB3 Sub_DEB3 +DEC9 NmiHandler_Loop620 +DEDA NmiHandler_Loop621 +DEF1 NmiHandler_OnNonzero80 +DF35 NmiHandler_Loop622 +DF41 NmiHandler_Loop623 +DF5F NmiHandler_Loop624 +DFD4 NmiHandler_OnNonzero81 +E0E6 Sub_E0E6 +E0F6 NmiHandler_Loop625 +E118 NmiHandler_Loop626 +E12B NmiHandler_Loop627 +E12C NmiHandler_Loop628 +E46A Sub_E46A +E476 NmiHandler_Loop629 +E47E NmiHandler_Loop630 +E48A NmiHandler_Loop631 +E499 NmiHandler_Loop632 +E4CC NmiHandler_Loop633 +E4E8 NmiHandler_OnCarrySet5 +E4E9 NmiHandler_Loop634 +E523 NmiHandler_Loop635 +E530 NmiHandler_Loop636 +E54A NmiHandler_Loop637 +E554 NmiHandler_Loop638 +E555 Sub_E555 +E562 Sub_E562 +E579 NmiHandler_Loop639 +E58C NmiHandler_Loop640 +E59D NmiHandler_Loop641 +E5BA NmiHandler_Loop642 +E5D4 NmiHandler_OnNonzero82 +E601 NmiHandler_OnNonzero83 +E605 NmiHandler_OnNonzero84 +E622 NmiHandler_OnNonzero85 +E63E NmiHandler_Loop643 +E64B NmiHandler_Loop644 +E64D NmiHandler_OnNonzero86 +E65A NmiHandler_Loop645 +E672 NmiHandler_Loop646 F500 Sub_F500 -F53A NmiHandler_Loop41 -F544 NmiHandler_Loop42 -F549 NmiHandler_Loop43 +F53A NmiHandler_Loop647 +F544 NmiHandler_Loop648 +F549 NmiHandler_Loop649 F54D Sub_F54D F554 Sub_F554 F557 Sub_F557 -F559 NmiHandler_OnNonzero10 -F56A NmiHandler_Loop44 +F559 NmiHandler_OnNonzero87 +F56A NmiHandler_Loop650 F56B Sub_F56B F572 Sub_F572 F576 Sub_F576 F57A Sub_F57A -F586 NmiHandler_Loop45 -F596 NmiHandler_Loop46 -F59F NmiHandler_Loop47 -F5A9 NmiHandler_Loop48 -F5AF NmiHandler_Loop49 -F5B5 NmiHandler_Loop50 -F5C0 NmiHandler_Loop51 -F5D3 NmiHandler_Loop52 +F586 NmiHandler_Loop651 +F596 NmiHandler_Loop652 +F59F NmiHandler_Loop653 +F5A9 NmiHandler_Loop654 +F5AF NmiHandler_Loop655 +F5B5 NmiHandler_Loop656 +F5C0 NmiHandler_Loop657 +F5D3 NmiHandler_Loop658 F5D4 Sub_F5D4 -F5E2 NmiHandler_OnNonzero11 +F5E2 NmiHandler_OnNonzero88 F5E6 Sub_F5E6 -F5FD NmiHandler_Loop53 -F601 NmiHandler_OnCarrySet -F605 NmiHandler_OnCarrySet2 -F609 NmiHandler_OnCarrySet3 -F618 NmiHandler_OnCarrySet4 -F623 NmiHandler_Loop54 -F626 NmiHandler_OnCarrySet5 -F62E NmiHandler_OnCarrySet6 -F634 NmiHandler_Loop55 -F63D NmiHandler_Loop56 -F641 NmiHandler_Loop57 -F645 NmiHandler_Loop58 -F64A NmiHandler_Loop59 -F64B NmiHandler_OnCarrySet7 -F64E NmiHandler_OnCarrySet8 +F5FD NmiHandler_Loop659 +F601 NmiHandler_OnCarrySet6 +F605 NmiHandler_OnCarrySet7 +F609 NmiHandler_OnCarrySet8 +F618 NmiHandler_OnCarrySet9 +F623 NmiHandler_Loop660 +F626 NmiHandler_OnCarrySet10 +F62E NmiHandler_OnCarrySet11 +F634 NmiHandler_Loop661 +F63D NmiHandler_Loop662 +F641 NmiHandler_Loop663 +F645 NmiHandler_Loop664 +F64A NmiHandler_Loop665 +F64B NmiHandler_OnCarrySet12 +F64E NmiHandler_OnCarrySet13 F651 Sub_F651 -F692 NmiHandler_Loop60 -F693 NmiHandler_OnZero3 -F696 NmiHandler_Loop61 -F6A5 NmiHandler_Loop62 -F6A8 NmiHandler_Loop63 -F6C4 NmiHandler_OnNonzero12 -F6C9 NmiHandler_Loop64 -F6E4 NmiHandler_Loop65 -F6E9 NmiHandler_Loop66 -F6F6 NmiHandler_Loop67 +F692 NmiHandler_Loop666 +F693 NmiHandler_OnZero20 +F696 NmiHandler_Loop667 +F6A5 NmiHandler_Loop668 +F6A8 NmiHandler_Loop669 +F6C4 NmiHandler_OnNonzero89 +F6C9 NmiHandler_Loop670 +F6E4 NmiHandler_Loop671 +F6E9 NmiHandler_Loop672 +F6F6 NmiHandler_Loop673 F6FB Sub_F6FB -F70B NmiHandler_Loop68 -F70E NmiHandler_Loop69 -F71E NmiHandler_OnZero4 -F726 NmiHandler_Loop70 -F738 NmiHandler_Loop71 -F741 NmiHandler_Loop72 -F745 NmiHandler_Loop73 -F74B NmiHandler_OnCarrySet9 -F751 NmiHandler_OnCarrySet10 -F769 NmiHandler_OnNonzero13 -F76D NmiHandler_Loop74 -F777 NmiHandler_Loop75 +F70B NmiHandler_Loop674 +F70E NmiHandler_Loop675 +F71E NmiHandler_OnZero21 +F726 NmiHandler_Loop676 +F738 NmiHandler_Loop677 +F741 NmiHandler_Loop678 +F745 NmiHandler_Loop679 +F74B NmiHandler_OnCarrySet14 +F751 NmiHandler_OnCarrySet15 +F769 NmiHandler_OnNonzero90 +F76D NmiHandler_Loop680 +F777 NmiHandler_Loop681 F778 Sub_F778 -F794 NmiHandler_Loop76 -F7A3 NmiHandler_Loop77 -F7AD NmiHandler_Loop78 -F7B3 NmiHandler_Loop79 -F7B9 NmiHandler_Loop80 -F7C2 NmiHandler_Loop81 -F7D7 NmiHandler_OnNonzero14 -F7D9 NmiHandler_Loop82 -F7DF NmiHandler_Loop83 +F794 NmiHandler_Loop682 +F7A3 NmiHandler_Loop683 +F7AD NmiHandler_Loop684 +F7B3 NmiHandler_Loop685 +F7B9 NmiHandler_Loop686 +F7C2 NmiHandler_Loop687 +F7D7 NmiHandler_OnNonzero91 +F7D9 NmiHandler_Loop688 +F7DF NmiHandler_Loop689 F7F4 Sub_F7F4 -F804 NmiHandler_Loop84 -F80D NmiHandler_Loop85 -F81D NmiHandler_OnNonzero15 -F823 NmiHandler_OnCarryClear -F857 NmiHandler_Loop86 -F85B NmiHandler_OnNonzero16 -F87E NmiHandler_Loop87 -F888 NmiHandler_Loop88 +F804 NmiHandler_Loop690 +F80D NmiHandler_Loop691 +F81D NmiHandler_OnNonzero92 +F823 NmiHandler_OnCarryClear4 +F857 NmiHandler_Loop692 +F85B NmiHandler_OnNonzero93 +F87E NmiHandler_Loop693 +F888 NmiHandler_Loop694 F894 Sub_F894 -F89F NmiHandler_Loop89 -F8AF NmiHandler_Loop90 -F8CB NmiHandler_Loop91 -F8CE NmiHandler_Loop92 -F8F0 NmiHandler_Loop93 -F8FD NmiHandler_Loop94 -F907 NmiHandler_Loop95 -F909 NmiHandler_Loop96 -F915 NmiHandler_Loop97 +F89F NmiHandler_Loop695 +F8AF NmiHandler_Loop696 +F8CB NmiHandler_Loop697 +F8CE NmiHandler_Loop698 +F8F0 NmiHandler_Loop699 +F8FD NmiHandler_Loop700 +F907 NmiHandler_Loop701 +F909 NmiHandler_Loop702 +F915 NmiHandler_Loop703 F91A Sub_F91A -F92B NmiHandler_Loop98 -F934 NmiHandler_Loop99 -F93E NmiHandler_Loop100 -F949 NmiHandler_Loop101 -F94C NmiHandler_Loop102 -F94F NmiHandler_Loop103 -F957 NmiHandler_OnNonzero17 -F969 NmiHandler_Loop104 -F98B NmiHandler_Loop105 -F998 NmiHandler_Loop106 -F99C NmiHandler_Loop107 -F99E NmiHandler_Loop108 -F9A7 NmiHandler_Loop109 -F9B3 NmiHandler_Loop110 -F9B9 NmiHandler_Loop111 -F9D4 NmiHandler_Loop112 -F9DF NmiHandler_Loop113 -F9EA NmiHandler_Loop114 -FA10 NmiHandler_Loop115 -FA16 NmiHandler_Loop116 -FA1F NmiHandler_Loop117 +F92B NmiHandler_Loop704 +F934 NmiHandler_Loop705 +F93E NmiHandler_Loop706 +F949 NmiHandler_Loop707 +F94C NmiHandler_Loop708 +F94F NmiHandler_Loop709 +F957 NmiHandler_OnNonzero94 +F969 NmiHandler_Loop710 +F98B NmiHandler_Loop711 +F998 NmiHandler_Loop712 +F99C NmiHandler_Loop713 +F99E NmiHandler_Loop714 +F9A7 NmiHandler_Loop715 +F9B3 NmiHandler_Loop716 +F9B9 NmiHandler_Loop717 +F9D4 NmiHandler_Loop718 +F9DF NmiHandler_Loop719 +F9EA NmiHandler_Loop720 +FA10 NmiHandler_Loop721 +FA16 NmiHandler_Loop722 +FA1F NmiHandler_Loop723 FA20 Sub_FA20 FFF7 Sub_FFF7 diff --git a/NROM/Soccer (JU)/locals.inc b/NROM/Soccer (JU)/locals.inc index 752bda5..86b2713 100644 --- a/NROM/Soccer (JU)/locals.inc +++ b/NROM/Soccer (JU)/locals.inc @@ -4,59 +4,154 @@ ; 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 ; 20 refs; reads=12 writes=8; used at $801F, 8023, 83AB, 83E2, +16 more -Zp01 = $01 ; 12 refs; reads=5 writes=7; used at $801D, 8028, 802A, 83AD, +7 more -Zp02 = $02 ; 4 refs; reads=3 writes=1; used at $8537, 853D, 8563, 8D3D -Zp03 = $03 ; 1 refs; reads=0 writes=1; used at $8D3F -Zp04 = $04 ; 3 refs; reads=1 writes=2; used at $8543, 857F -Zp05 = $05 ; 2 refs; reads=1 writes=1; used at $853B, 8558 -Zp06 = $06 ; 3 refs; reads=1 writes=2; used at $855A, 8568 -Zp07 = $07 ; 2 refs; reads=1 writes=1; used at $8687, 868E -Zp08 = $08 ; 5 refs; reads=2 writes=3; used at $8076, 8412, 8419, 84E9, +1 more -Zp09 = $09 ; 3 refs; reads=1 writes=2; used at $807A, 86C2, 86C6 -Zp0A = $0A ; 3 refs; reads=1 writes=2; used at $805E, 81AF, 8525 -Zp0B = $0B ; 2 refs; reads=1 writes=1; used at $8063, 852A -Zp0C = $0C ; 2 refs; reads=1 writes=1; used at $83F0, 83FC -Zp0D = $0D ; 3 refs; reads=2 writes=1; used at $83F5, 83FA, 8400 -Zp14 = $14 ; 4 refs; reads=2 writes=2; used at $84C5, 84CA, 84CE, 84D2 -Zp15 = $15 ; 2 refs; reads=0 writes=2; used at $84C8, 84D0 -Zp16 = $16 ; 5 refs; reads=4 writes=1; used at $80F9, 818B, 81D0, 81D8, +1 more +Zp00 = $00 ; 87 refs; reads=40 writes=47; used at $801F, 8023, 83AB, 83E2, +74 more +Zp01 = $01 ; 39 refs; reads=17 writes=22; used at $801D, 8028, 802A, 83AD, +32 more +Zp02 = $02 ; 36 refs; reads=17 writes=19; used at $846C, 8485, 8537, 853D, +31 more +Zp03 = $03 ; 23 refs; reads=6 writes=17; used at $85B7, 85C2, 85CD, 85DE, +19 more +Zp04 = $04 ; 12 refs; reads=7 writes=5; used at $8543, 857F, 85AC, 8F34, +7 more +Zp05 = $05 ; 8 refs; reads=5 writes=3; used at $853B, 8558, 85CF, 85F6, +4 more +Zp06 = $06 ; 5 refs; reads=3 writes=2; used at $855A, 8568, 85C4, 85EB +Zp07 = $07 ; 16 refs; reads=10 writes=6; used at $85B9, 85E0, 8687, 868E, +11 more +Zp08 = $08 ; 8 refs; reads=3 writes=5; used at $8076, 8412, 8419, 845A, +4 more +Zp09 = $09 ; 5 refs; reads=2 writes=3; used at $807A, 8268, 86C2, 86C6, +1 more +Zp0A = $0A ; 20 refs; reads=14 writes=6; used at $805E, 81AF, 8525, 88E1, +16 more +Zp0B = $0B ; 3 refs; reads=2 writes=1; used at $8063, 852A, C419 +Zp0C = $0C ; 87 refs; reads=42 writes=45; used at $82C0, 82E8, 83F0, 83FC, +76 more +Zp0D = $0D ; 47 refs; reads=25 writes=22; used at $82C2, 82C6, 82D7, 83F5, +40 more +Zp0E = $0E ; 11 refs; reads=7 writes=4; used at $88DF, 88F8, 9412, 9443, +5 more +Zp0F = $0F ; 10 refs; reads=6 writes=4; used at $88CB, 88D9, 88F1, 9EBA, +6 more +Zp10 = $10 ; 29 refs; reads=10 writes=19; used at $8E61, 8E76, B9B6, B9C5, +24 more +Zp11 = $11 ; 43 refs; reads=21 writes=22; used at $8E63, 8E7C, B9BE, B9CB, +36 more +Zp12 = $12 ; 9 refs; reads=2 writes=7; used at $B716, B749, DCAB, DCBF, +5 more +Zp13 = $13 ; 3 refs; reads=1 writes=2; used at $DCB3, DCC3, DEE0 +Zp14 = $14 ; 30 refs; reads=20 writes=10; used at $84C5, 84CA, 84CE, 84D2, +26 more +Zp15 = $15 ; 23 refs; reads=7 writes=16; used at $84C8, 84D0, 87F6, 87FE, +16 more +Zp16 = $16 ; 25 refs; reads=16 writes=9; used at $80F9, 818B, 81D0, 81D8, +21 more +Zp17 = $17 ; 28 refs; reads=14 writes=14; used at $89A4, 9829, 9BD1, 9BDF, +24 more Zp18 = $18 ; 4 refs; reads=2 writes=2; used at $80FF, 8103, 815A Zp19 = $19 ; 3 refs; reads=1 writes=2; used at $81E2, 8200, 8231 -Zp1D = $1D ; 1 refs; reads=0 writes=1; used at $8122 -Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $86E5 +Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $8122, 838A +Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $86E0, 86E5 Zp20 = $20 ; 6 refs; reads=2 writes=4; used at $8084, 8091, 8095, 80C5, +2 more Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $8406, 8447, 8533 -Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $812A, 839D, 83C2 -Zp24 = $24 ; 6 refs; reads=4 writes=2; used at $806A, 80F2, 81A9, 867E, +2 more -Zp25 = $25 ; 6 refs; reads=3 writes=3; used at $8105, 8120, 8126, 815C, +2 more -Zp26 = $26 ; 4 refs; reads=3 writes=1; used at $8193, 81BB, 81F1, 824C +Zp23 = $23 ; 7 refs; reads=1 writes=6; used at $812A, 82B5, 839D, 83C2, +3 more +Zp24 = $24 ; 14 refs; reads=11 writes=3; used at $806A, 80F2, 81A9, 867E, +10 more +Zp25 = $25 ; 15 refs; reads=6 writes=9; used at $8105, 8120, 8126, 815C, +8 more +Zp26 = $26 ; 12 refs; reads=6 writes=6; used at $8193, 81BB, 81F1, 824C, +5 more Zp27 = $27 ; 2 refs; reads=1 writes=1; used at $84BD, 84D4 Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $84BF, 84D6 -Zp29 = $29 ; 4 refs; reads=2 writes=2; used at $8118, 849E, 84A4 -Zp2A = $2A ; 3 refs; reads=2 writes=1; used at $84A8, 84AC +Zp29 = $29 ; 9 refs; reads=4 writes=5; used at $8118, 818C, 8385, 849E, +2 more +Zp2A = $2A ; 6 refs; reads=4 writes=2; used at $84A8, 84AC, 9125, A404, +1 more Zp2B = $2B ; 1 refs; reads=1 writes=0; used at $8112 -Zp2C = $2C ; 3 refs; reads=1 writes=2; used at $8233, 823B, 86E7 -Zp2E = $2E ; 3 refs; reads=2 writes=1; used at $8093, 83D1 -Zp2F = $2F ; 4 refs; reads=2 writes=2; used at $84B1, 84B5, 84BA -Zp30 = $30 ; 6 refs; reads=2 writes=4; used at $80C7, 81AD, 81F3, 86B0, +2 more +Zp2C = $2C ; 13 refs; reads=7 writes=6; used at $8233, 823B, 86DC, 86E7, +9 more +Zp2E = $2E ; 9 refs; reads=8 writes=1; used at $8093, 8343, 83D1, C2E3, +4 more +Zp2F = $2F ; 5 refs; reads=3 writes=2; used at $84B1, 84B5, 84BA, 8B8E +Zp30 = $30 ; 11 refs; reads=3 writes=8; used at $80C7, 8168, 81AD, 81F3, +6 more +Zp3A = $3A ; 1 refs; reads=1 writes=0; used at $C417 Zp3B = $3B ; 4 refs; reads=2 writes=2; used at $8199, 81A0, 81CE, 822D -Zp47 = $47 ; 8 refs; reads=5 writes=3; used at $81B3, 81FB, 820B, 8213, +4 more -Zp48 = $48 ; 3 refs; reads=2 writes=1; used at $81B1, 81F9, 8226 -Zp50 = $50 ; 2 refs; reads=1 writes=1; used at $8013, 8047 +Zp3C = $3C ; 7 refs; reads=3 writes=4; used at $8E65, 8E6F, 9EBC, 9EE4, +1 more +Zp3D = $3D ; 6 refs; reads=3 writes=3; used at $8E69, 8E74, 8E78, 8E83, +1 more +Zp3E = $3E ; 6 refs; reads=3 writes=3; used at $8E6B, 8E7A, 8E7E, 8E81, +1 more +Zp3F = $3F ; 2 refs; reads=1 writes=1; used at $E5A7 +Zp41 = $41 ; 1 refs; reads=1 writes=0; used at $B63C +Zp43 = $43 ; 9 refs; reads=7 writes=2; used at $8B71, 8B9B, 8BB6, 8BC0, +5 more +Zp44 = $44 ; 11 refs; reads=8 writes=3; used at $8B75, 8B9D, 8BA1, 8BAD, +7 more +Zp45 = $45 ; 4 refs; reads=1 writes=3; used at $8B79, 8B93, 8B99 +Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $8B7D, 8B97 +Zp47 = $47 ; 27 refs; reads=22 writes=5; used at $81B3, 81FB, 820B, 8213, +23 more +Zp48 = $48 ; 4 refs; reads=3 writes=1; used at $81B1, 81F9, 8226, A13F +Zp4D = $4D ; 1 refs; reads=1 writes=0; used at $859B +Zp50 = $50 ; 6 refs; reads=4 writes=2; used at $8013, 8047, 85B0, 85D7, +2 more +Zp51 = $51 ; 7 refs; reads=4 writes=3; used at $85CB, 85D4, 85F2, 85FB, +3 more +Zp52 = $52 ; 8 refs; reads=5 writes=3; used at $85C0, 85C9, 85E7, 85F0, +4 more +Zp53 = $53 ; 7 refs; reads=4 writes=3; used at $85B5, 85BE, 85DC, 85E5, +3 more +Zp54 = $54 ; 1 refs; reads=0 writes=1; used at $BE63 +Zp55 = $55 ; 1 refs; reads=0 writes=1; used at $BE65 +Zp56 = $56 ; 1 refs; reads=0 writes=1; used at $BE67 +Zp57 = $57 ; 1 refs; reads=0 writes=1; used at $BE69 +Zp58 = $58 ; 1 refs; reads=0 writes=1; used at $BE6B +Zp59 = $59 ; 1 refs; reads=0 writes=1; used at $BE6D +Zp5A = $5A ; 1 refs; reads=0 writes=1; used at $BE6F +Zp5B = $5B ; 1 refs; reads=0 writes=1; used at $BE71 Zp5E = $5E ; 1 refs; reads=0 writes=1; used at $8051 Zp5F = $5F ; 1 refs; reads=0 writes=1; used at $8055 +Zp60 = $60 ; 8 refs; reads=6 writes=2; used at $9816, 9844, 984A, 984F, +3 more +Zp61 = $61 ; 5 refs; reads=3 writes=2; used at $82DD, 9880, 9897, 98BD, +1 more +Zp62 = $62 ; 4 refs; reads=3 writes=1; used at $8B6C, 989C, 98B3, 98D1 +Zp63 = $63 ; 18 refs; reads=11 writes=7; used at $8164, 8297, 97FB, 997B, +10 more +Zp64 = $64 ; 3 refs; reads=1 writes=2; used at $829E, 97FF, A0AD +Zp67 = $67 ; 1 refs; reads=1 writes=0; used at $B63E +Zp68 = $68 ; 2 refs; reads=1 writes=1; used at $FB07 +Zp70 = $70 ; 23 refs; reads=12 writes=11; used at $87B4, 87D7, 87E4, 8837, +19 more +Zp71 = $71 ; 20 refs; reads=8 writes=12; used at $87C0, 8883, 890B, 8A16, +12 more +Zp72 = $72 ; 26 refs; reads=16 writes=10; used at $87C5, 87DF, 8854, 8859, +22 more +Zp73 = $73 ; 13 refs; reads=6 writes=7; used at $87D0, 889A, 88AA, 88C6, +9 more +Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $882D, 8847 +Zp75 = $75 ; 2 refs; reads=1 writes=1; used at $87F0, 8831 +Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $E5AB +Zp77 = $77 ; 11 refs; reads=8 writes=3; used at $87AF, 87D5, 87E9, 9026, +6 more +Zp79 = $79 ; 54 refs; reads=48 writes=6; used at $87AD, 87F2, 8A12, 8A3C, +50 more +Zp7B = $7B ; 19 refs; reads=19 writes=0; used at $8997, 89A0, 8E2A, 9C3D, +15 more Zp7C = $7C ; 1 refs; reads=0 writes=1; used at $81F7 -Zp97 = $97 ; 1 refs; reads=1 writes=0; used at $8161 +Zp7D = $7D ; 4 refs; reads=2 writes=2; used at $A0D9, A0DB, A0E3 +Zp80 = $80 ; 1 refs; reads=0 writes=1; used at $8182 +Zp83 = $83 ; 6 refs; reads=4 writes=2; used at $8C36, 8C6C, 8C7C, BE57, +2 more +Zp84 = $84 ; 4 refs; reads=3 writes=1; used at $8C43, BE59, C871, E5B2 +Zp85 = $85 ; 1 refs; reads=1 writes=0; used at $C505 +Zp88 = $88 ; 9 refs; reads=4 writes=5; used at $A0EB, A133, A14B, A14F, +5 more +Zp89 = $89 ; 5 refs; reads=2 writes=3; used at $A0F0, A158, A1B8 +Zp8A = $8A ; 9 refs; reads=4 writes=5; used at $A0F5, A167, A16E, A172, +5 more +Zp8B = $8B ; 5 refs; reads=2 writes=3; used at $A0FA, A17B, A1E9 +Zp8C = $8C ; 5 refs; reads=2 writes=3; used at $A0FE, A124, A128, A14D +Zp8D = $8D ; 3 refs; reads=2 writes=1; used at $A092, A12A, A148 +Zp8E = $8E ; 5 refs; reads=2 writes=3; used at $A100, A15A, A15E, A170 +Zp8F = $8F ; 2 refs; reads=1 writes=1; used at $A160, A16B +Zp90 = $90 ; 97 refs; reads=71 writes=26; used at $9058, 931C, B5E6, B628, +93 more +Zp91 = $91 ; 4 refs; reads=0 writes=4; used at $C0D0, D083, D0A1, D0B6 +Zp92 = $92 ; 18 refs; reads=7 writes=11; used at $C0D4, C25D, C283, C2AF, +14 more +Zp93 = $93 ; 1 refs; reads=0 writes=1; used at $C0D8 +Zp94 = $94 ; 38 refs; reads=27 writes=11; used at $9B83, B7D7, B8B4, B8BD, +34 more +Zp95 = $95 ; 3 refs; reads=2 writes=1; used at $9004, B96E, E111 +Zp96 = $96 ; 5 refs; reads=5 writes=0; used at $9D67, 9D6B, 9D8A, B964, +1 more +Zp97 = $97 ; 16 refs; reads=13 writes=3; used at $8161, BDC3, BF8B, BF97, +12 more +Zp98 = $98 ; 1 refs; reads=0 writes=1; used at $BDC7 +Zp99 = $99 ; 14 refs; reads=8 writes=6; used at $BDCB, BF87, BF90, BF9B, +10 more +Zp9A = $9A ; 1 refs; reads=0 writes=1; used at $BDCF +Zp9B = $9B ; 3 refs; reads=1 writes=2; used at $9BE8, BDD3 +Zp9C = $9C ; 1 refs; reads=0 writes=1; used at $BDD5 +Zp9E = $9E ; 2 refs; reads=1 writes=1; used at $B9F7, B9FB +ZpA0 = $A0 ; 3 refs; reads=2 writes=1; used at $BAC3, BBB5, D964 +ZpA1 = $A1 ; 16 refs; reads=7 writes=9; used at $9F76, B68D, B813, B936, +10 more +ZpA2 = $A2 ; 29 refs; reads=16 writes=13; used at $9F6E, B68B, B815, B934, +20 more +ZpA3 = $A3 ; 44 refs; reads=28 writes=16; used at $831E, 9285, 92EA, 92FA, +36 more +ZpA4 = $A4 ; 35 refs; reads=20 writes=15; used at $831C, 928A, 92E4, 92E6, +31 more +ZpA5 = $A5 ; 1 refs; reads=0 writes=1; used at $818A +ZpA6 = $A6 ; 15 refs; reads=8 writes=7; used at $9F78, A40A, B640, B691, +11 more +ZpA7 = $A7 ; 14 refs; reads=7 writes=7; used at $9F70, B68F, B822, B938, +10 more +ZpA8 = $A8 ; 35 refs; reads=22 writes=13; used at $8324, 8F2F, 927B, A384, +29 more +ZpA9 = $A9 ; 36 refs; reads=20 writes=16; used at $8322, 8F2B, 9280, A366, +29 more +ZpAA = $AA ; 6 refs; reads=1 writes=5; used at $A408, B697, B826, BB47, +2 more +ZpAB = $AB ; 18 refs; reads=8 writes=10; used at $9EED, 9F7A, B69B, B77B, +13 more +ZpAC = $AC ; 23 refs; reads=13 writes=10; used at $9EEB, 9F72, B699, B779, +18 more +ZpAD = $AD ; 24 refs; reads=11 writes=13; used at $928E, 9DB1, A38C, B69D, +18 more +ZpAE = $AE ; 23 refs; reads=10 writes=13; used at $9292, 9DB3, A38E, B69F, +19 more +ZpB6 = $B6 ; 2 refs; reads=1 writes=1; used at $B635 +ZpB7 = $B7 ; 2 refs; reads=1 writes=1; used at $A368 +ZpB9 = $B9 ; 2 refs; reads=1 writes=1; used at $B9F2 +ZpBD = $BD ; 2 refs; reads=1 writes=1; used at $8162 +ZpBE = $BE ; 15 refs; reads=1 writes=14; used at $816A, 816C, 816E, 8170, +10 more ZpC0 = $C0 ; 7 refs; reads=5 writes=2; used at $F52D, F7FC, F89F, F8A5, +3 more ZpC2 = $C2 ; 5 refs; reads=2 writes=3; used at $F84B, F857, F8D1, F90D ZpC4 = $C4 ; 4 refs; reads=2 writes=2; used at $F800, F8F0, F8F6, F8F9 ZpC6 = $C6 ; 4 refs; reads=1 writes=3; used at $F84D, F94F, F96C ZpC8 = $C8 ; 4 refs; reads=2 writes=2; used at $F802, F98B, F991, F994 ZpCA = $CA ; 5 refs; reads=2 writes=3; used at $F84F, F9BD, F9C8, F9D4 +ZpCD = $CD ; 1 refs; reads=1 writes=0; used at $C430 +ZpD0 = $D0 ; 2 refs; reads=1 writes=1; used at $B647 ZpD8 = $D8 ; 5 refs; reads=1 writes=4; used at $F74B, F773, F77C, F794, +1 more ZpDA = $DA ; 4 refs; reads=2 writes=2; used at $F80F, F867, F869 -ZpDC = $DC ; 4 refs; reads=2 writes=2; used at $F847, F9F4, F9F6 +ZpDB = $DB ; 2 refs; reads=1 writes=1; used at $C41B +ZpDC = $DC ; 6 refs; reads=3 writes=3; used at $8184, F847, F9F4, F9F6 ZpDD = $DD ; 4 refs; reads=1 writes=3; used at $F851, F9F0, F9FD ZpDE = $DE ; 3 refs; reads=1 writes=2; used at $F855, F965, F9A2 ZpDF = $DF ; 4 refs; reads=2 writes=2; used at $F909, F938, F93C @@ -65,10 +160,11 @@ ZpE1 = $E1 ; 5 refs; reads=3 writes=2; used at $F6B0, F6CF, F ZpE2 = $E2 ; 2 refs; reads=1 writes=1; used at $F819, F884 ZpE3 = $E3 ; 4 refs; reads=2 writes=2; used at $F58A, F5B5, F5C0 ZpE4 = $E4 ; 4 refs; reads=1 writes=3; used at $F5AF, F5C4, F5CC, F659 +ZpE5 = $E5 ; 2 refs; reads=1 writes=1; used at $A36A ZpE6 = $E6 ; 3 refs; reads=1 writes=2; used at $F712, F71E ZpE7 = $E7 ; 4 refs; reads=2 writes=2; used at $F724, F726, F72A ZpE9 = $E9 ; 8 refs; reads=4 writes=4; used at $F74F, F755, F769, F798, +3 more -ZpEA = $EA ; 4 refs; reads=1 writes=3; used at $F65B, F76D, F775, F7B3 +ZpEA = $EA ; 5 refs; reads=2 writes=3; used at $A402, F65B, F76D, F775, +1 more ZpEC = $EC ; 9 refs; reads=4 writes=5; used at $F525, F535, F53E, F547, +3 more ZpEE = $EE ; 3 refs; reads=1 writes=2; used at $F751, F77A ZpF0 = $F0 ; 6 refs; reads=3 writes=3; used at $F821, F85B, F85D, F86E, +1 more @@ -80,10 +176,30 @@ ZpF5 = $F5 ; 16 refs; reads=13 writes=3; used at $F527, F5D6, ZpF6 = $F6 ; 17 refs; reads=8 writes=9; used at $F5E4, F5E6, F5F3, F60D, +9 more ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $F82E, FA29 ZpF8 = $F8 ; 6 refs; reads=3 writes=3; used at $F83D, F875, F87A, F9B9, +1 more -ZpF9 = $F9 ; 6 refs; reads=5 writes=1; used at $F833, F85F, F95B, F963, +2 more +ZpF9 = $F9 ; 7 refs; reads=5 writes=2; used at $905D, F833, F85F, F95B, +3 more ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $F838 ZpFB = $FB ; 7 refs; reads=5 writes=2; used at $87A8, 87AA, F523, F7F4, +3 more -ZpFC = $FC ; 8 refs; reads=4 writes=4; used at $F521, F778, F781, F785, +1 more +ZpFC = $FC ; 13 refs; reads=7 writes=6; used at $877D, 877F, CA7A, CA89, +6 more ZpFD = $FD ; 12 refs; reads=8 writes=4; used at $8752, 8754, F51F, F59F, +6 more -ZpFE = $FE ; 4 refs; reads=2 writes=2; used at $F51D, F57A, F57E -ZpFF = $FF ; 25 refs; reads=12 writes=13; used at $F51B, F5A9, F5B3, F5C6, +13 more +ZpFE = $FE ; 6 refs; reads=3 writes=3; used at $873B, 873D, F51D, F57A, +1 more +ZpFF = $FF ; 30 refs; reads=15 writes=15; used at $872C, 872E, CA73, CA82, +18 more + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp08 +PpuMaskShadow = Zp09 +VramWritePtrLo = Zp00 +VramWritePtrHi = Zp01 +VramReadPtrLo = Zp0C +VramReadPtrHi = Zp0D +PlayerIndex = Zp79 +PlayerX = Zp70 +GameState = Zp0D +GameMode = Zp72 +TimerIndex = ZpA3 +TimerIndex2 = ZpA4 +TimerIndex3 = ZpA8 +TimerIndex4 = ZpA9 +PlayerSpeed = Zp95 +PlayerSpeed2 = Zp90 +FrameCounter = Zp02 +FrameCounter2 = Zp25 diff --git a/NROM/Soccer (JU)/prg.s b/NROM/Soccer (JU)/prg.s index c624186..f748ecc 100644 --- a/NROM/Soccer (JU)/prg.s +++ b/NROM/Soccer (JU)/prg.s @@ -9,7 +9,12 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 19 further routine entries recovered from table references elsewhere in the image: +; $859A, $85A3, $85AA, $85AB, $8614, $9208, $97EC, $9C7D, $A092, $A0BA, $A0C4, $A0D6, $A0E7, $C3FB, $C502, $C503, $C60B, $DFF0, $FB06 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $80EE, $8161, $818A, $8380, $844A, $86DC, $8706, $8782, $8B8A, $8CAD, $8CBF, $901E, $9186, $9224, $9276, $92AF, $932D, $948E, $9503, $9813, $98EF, $98F8, $9C15, $9C87, $9CF8, $9D16, $9D23, $9D4F, $9D61, $9E6B, $A0D0, $A109, $A17E, $A3A9, $A3B7, $A3E5, $A401, $A477, $A47C, $A4D0, $A4D6, $A4E6, $A52C, $B653, $B667, $B6BB, $B6FF, $B9B0, $B9D8, $B9D9, $B9DE, $B9E1, $B9E2, $B9F1, $B9F3, $BA0F, $BA13, $BA37, $BA38, $BA40, $BA45, $BA48, $BB89, $BE16, $C0C9, $C373, $C38B, $C3C6, $C40A, $C517, $C53A, $C6DB, $C7E2, $C80E, $C82C, $C83A, $C891, $C89A, $C9D5, $CA07, $CA72, $CA99, $CAF9, $CC12, $CC8C, $CD01, $CD3D, $CE34, $D985, $D9AD, $DA4C, $DA4D, $DA52, $DA55, $DA63, $DA66, $DB57, $E59E, $E5B0, $E633, $E63F, $E663 ; indirect dispatch through zero page (not followed statically): +; jmp ($A302) at $FB0C ; jmp ($0014) at $84D8 ; .setcpu "6502" @@ -61,8 +66,8 @@ Reset_OnNonnegative2: dex ; CPU:$8018 PRG:0018 CA bpl Reset_OnNonnegative2 ; CPU:$8019 PRG:0019 10 F8 ldy #$00 ; CPU:$801B PRG:001B A0 00 - sty Zp01 ; CPU:$801D PRG:001D 84 01 - sty Zp00 ; CPU:$801F PRG:001F 84 00 + sty VramWritePtrHi ; CPU:$801D PRG:001D 84 01 + sty VramWritePtrLo ; CPU:$801F PRG:001F 84 00 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero ; Global: Branch target inside Reset: taken when the tested value is not zero. @@ -73,11 +78,11 @@ Reset_OnNonnegative2: ; ----------------------------------------------------------------------------- Reset_OnNonzero: lda #$00 ; CPU:$8021 PRG:0021 A9 00 - sta (Zp00),y ; CPU:$8023 PRG:0023 91 00 + sta (VramWritePtrLo),y ; CPU:$8023 PRG:0023 91 00 iny ; CPU:$8025 PRG:0025 C8 bne Reset_OnNonzero ; CPU:$8026 PRG:0026 D0 F9 - inc Zp01 ; CPU:$8028 PRG:0028 E6 01 - lda Zp01 ; CPU:$802A PRG:002A A5 01 + inc VramWritePtrHi ; CPU:$8028 PRG:0028 E6 01 + lda VramWritePtrHi ; CPU:$802A PRG:002A A5 01 cmp #$08 ; CPU:$802C PRG:002C C9 08 beq Reset_Loop ; CPU:$802E PRG:002E F0 1F cmp #$01 ; CPU:$8030 PRG:0030 C9 01 @@ -129,9 +134,9 @@ Reset_Loop: sta APUSTATUS ; CPU:$806E PRG:006E 8D 15 40 lda #$90 ; CPU:$8071 PRG:0071 A9 90 sta PPUCTRL ; CPU:$8073 PRG:0073 8D 00 20 - sta Zp08 ; CPU:$8076 PRG:0076 85 08 + sta PpuCtrlShadow ; CPU:$8076 PRG:0076 85 08 lda #$02 ; CPU:$8078 PRG:0078 A9 02 - sta Zp09 ; CPU:$807A PRG:007A 85 09 + sta PpuMaskShadow ; CPU:$807A PRG:007A 85 09 jsr Sub_8744 ; CPU:$807C PRG:007C 20 44 87 jmp Sub_8095 ; CPU:$807F PRG:007F 4C 95 80 ; ----------------------------------------------------------------------------- @@ -249,9 +254,17 @@ NmiHandler_Loop: pla ; CPU:$80EB PRG:00EB 68 plp ; CPU:$80EC PRG:00EC 28 rti ; CPU:$80ED PRG:00ED 40 -; ---- data $80EE-$80F1 (4 bytes) ---- -; referenced by `lda $80EE,x` at $80A7 (operand $80EE falls inside this region) - .byte $1D, $FF, $20, $F8 ; CPU:$80EE PRG:00EE 1D FF 20 F8 +; ----------------------------------------------------------------------------- +; Routine: Label_80EE +; Global: Branch target inside Label: taken when 80EE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_80EE: + ora $20FF,x ; CPU:$80EE PRG:00EE 1D FF 20 + sed ; CPU:$80F1 PRG:00F1 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_80F2 ; Global: Branch target inside Sub: taken when 80F2. @@ -263,7 +276,7 @@ NmiHandler_Loop: Sub_80F2: lda Zp24 ; CPU:$80F2 PRG:00F2 A5 24 beq NmiHandler_Loop2 ; CPU:$80F4 PRG:00F4 F0 03 - jmp Sub_818B ; CPU:$80F6 PRG:00F6 4C 8B 81 + jmp $818B ; CPU:$80F6 PRG:00F6 4C 8B 81 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop2 ; Global: Branch target inside NmiHandler: taken when Loop2. @@ -279,7 +292,7 @@ NmiHandler_Loop2: lda Zp18 ; CPU:$80FF PRG:00FF A5 18 bne NmiHandler_Loop7 ; CPU:$8101 PRG:0101 D0 59 inc Zp18 ; CPU:$8103 PRG:0103 E6 18 - ldy Zp25 ; CPU:$8105 PRG:0105 A4 25 + ldy FrameCounter2 ; CPU:$8105 PRG:0105 A4 25 cpy #$04 ; CPU:$8107 PRG:0107 C0 04 beq NmiHandler_Loop3 ; CPU:$8109 PRG:0109 F0 07 cpy #$10 ; CPU:$810B PRG:010B C0 10 @@ -310,14 +323,14 @@ NmiHandler_OnNonnegative2: sta $07F8,x ; CPU:$811A PRG:011A 9D F8 07 dex ; CPU:$811D PRG:011D CA bpl NmiHandler_OnNonnegative2 ; CPU:$811E PRG:011E 10 F8 - lda Zp25 ; CPU:$8120 PRG:0120 A5 25 + lda FrameCounter2 ; CPU:$8120 PRG:0120 A5 25 sta Zp1D ; CPU:$8122 PRG:0122 85 1D lda #$10 ; CPU:$8124 PRG:0124 A9 10 - sta Zp25 ; CPU:$8126 PRG:0126 85 25 + sta FrameCounter2 ; CPU:$8126 PRG:0126 85 25 lda #$07 ; CPU:$8128 PRG:0128 A9 07 sta Zp23 ; CPU:$812A PRG:012A 85 23 ldx #$0B ; CPU:$812C PRG:012C A2 0B - jsr Sub_8D10 ; CPU:$812E PRG:012E 20 10 8D + jsr NmiHandler_Loop110 ; CPU:$812E PRG:012E 20 10 8D jsr Sub_879A ; CPU:$8131 PRG:0131 20 9A 87 jmp NmiHandler_Loop7 ; CPU:$8134 PRG:0134 4C 5C 81 ; ----------------------------------------------------------------------------- @@ -371,33 +384,57 @@ NmiHandler_Loop6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop7: - lda Zp25 ; CPU:$815C PRG:015C A5 25 + lda FrameCounter2 ; CPU:$815C PRG:015C A5 25 jsr Sub_84BD ; CPU:$815E PRG:015E 20 BD 84 - ora Zp97,x ; CPU:$8161 PRG:0161 15 97 - lda $6397,x ; CPU:$8163 PRG:0163 BD 97 63 -; ---- data $8166-$818A (37 bytes) ---- - .byte $82, $07, $83, $30, $83, $BE, $86, $BE, $86, $BE, $86, $BE, $86, $BE, $86, $BE ; CPU:$8166 PRG:0166 82 07 83 30 83 BE 86 BE 86 BE 86 BE 86 BE 86 BE - .byte $86, $BE, $86, $BE, $86, $BE, $86, $BE, $86, $BE, $86, $BE, $86, $80, $83, $DC ; CPU:$8176 PRG:0176 86 BE 86 BE 86 BE 86 BE 86 BE 86 BE 86 80 83 DC - .byte $86, $BE, $86, $BE, $86 ; CPU:$8186 PRG:0186 86 BE 86 BE 86 ; ----------------------------------------------------------------------------- -; Routine: Sub_818B -; Global: Branch target inside Sub: taken when 818B. -; Local: Part of Sub. +; Routine: Label_8161 +; Global: Branch target inside Label: taken when 8161. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_818B: - lda Zp16 ; CPU:$818B PRG:018B A5 16 - and #$30 ; CPU:$818D PRG:018D 29 30 - cmp #$10 ; CPU:$818F PRG:018F C9 10 - bne NmiHandler_Loop10 ; CPU:$8191 PRG:0191 D0 28 +Label_8161: + ora Zp97,x ; CPU:$8161 PRG:0161 15 97 + lda $6397,x ; CPU:$8163 PRG:0163 BD 97 63 + .byte $82, $07 ; CPU:$8166 PRG:0166 82 07 -- nop #$07 (undocumented; ca65 cannot encode) + .byte $83, $30 ; CPU:$8168 PRG:0168 83 30 -- sax (Zp30,x) (undocumented; ca65 cannot encode) + .byte $83, $BE ; CPU:$816A PRG:016A 83 BE -- sax (ZpBE,x) (undocumented; ca65 cannot encode) + stx ZpBE ; CPU:$816C PRG:016C 86 BE + stx ZpBE ; CPU:$816E PRG:016E 86 BE + stx ZpBE ; CPU:$8170 PRG:0170 86 BE + stx ZpBE ; CPU:$8172 PRG:0172 86 BE + stx ZpBE ; CPU:$8174 PRG:0174 86 BE + stx ZpBE ; CPU:$8176 PRG:0176 86 BE + stx ZpBE ; CPU:$8178 PRG:0178 86 BE + stx ZpBE ; CPU:$817A PRG:017A 86 BE + stx ZpBE ; CPU:$817C PRG:017C 86 BE + stx ZpBE ; CPU:$817E PRG:017E 86 BE + stx ZpBE ; CPU:$8180 PRG:0180 86 BE + stx Zp80 ; CPU:$8182 PRG:0182 86 80 + .byte $83, $DC ; CPU:$8184 PRG:0184 83 DC -- sax (ZpDC,x) (undocumented; ca65 cannot encode) + stx ZpBE ; CPU:$8186 PRG:0186 86 BE + stx ZpBE ; CPU:$8188 PRG:0188 86 BE +; ----------------------------------------------------------------------------- +; Routine: Label_818A +; Global: Branch target inside Label: taken when 818A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_818A: + stx ZpA5 ; CPU:$818A PRG:018A 86 A5 + asl Zp29,x ; CPU:$818C PRG:018C 16 29 + .byte $30, $C9 ; CPU:$818E PRG:018E 30 C9 + .byte $10, $D0 ; CPU:$8190 PRG:0190 10 D0 + plp ; CPU:$8192 PRG:0192 28 ldx Zp26 ; CPU:$8193 PRG:0193 A6 26 cpx #$01 ; CPU:$8195 PRG:0195 E0 01 beq NmiHandler_Loop8 ; CPU:$8197 PRG:0197 F0 07 ldy Zp3B ; CPU:$8199 PRG:0199 A4 3B - beq NmiHandler_Loop13 ; CPU:$819B PRG:019B F0 52 - jmp NmiHandler_Loop22 ; CPU:$819D PRG:019D 4C 4C 82 + beq NmiHandler_Loop12 ; CPU:$819B PRG:019B F0 52 + jmp NmiHandler_Loop21 ; CPU:$819D PRG:019D 4C 4C 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop8 ; Global: Branch target inside NmiHandler: taken when Loop8. @@ -409,7 +446,7 @@ Sub_818B: NmiHandler_Loop8: ldy Zp3B ; CPU:$81A0 PRG:01A0 A4 3B beq NmiHandler_Loop9 ; CPU:$81A2 PRG:01A2 F0 03 - jmp NmiHandler_Loop19 ; CPU:$81A4 PRG:01A4 4C 33 82 + jmp NmiHandler_Loop18 ; CPU:$81A4 PRG:01A4 4C 33 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop9 ; Global: Branch target inside NmiHandler: taken when Loop9. @@ -421,7 +458,7 @@ NmiHandler_Loop8: NmiHandler_Loop9: lda #$00 ; CPU:$81A7 PRG:01A7 A9 00 sta Zp24 ; CPU:$81A9 PRG:01A9 85 24 - sta Zp25 ; CPU:$81AB PRG:01AB 85 25 + sta FrameCounter2 ; CPU:$81AB PRG:01AB 85 25 sta Zp30 ; CPU:$81AD PRG:01AD 85 30 sta Zp0A ; CPU:$81AF PRG:01AF 85 0A lda Zp48 ; CPU:$81B1 PRG:01B1 A5 48 @@ -429,6 +466,18 @@ NmiHandler_Loop9: jsr Sub_8744 ; CPU:$81B5 PRG:01B5 20 44 87 jmp Sub_86BF ; CPU:$81B8 PRG:01B8 4C BF 86 ; ----------------------------------------------------------------------------- +; Routine: Label_81BB +; Global: Branch target inside Label: taken when 81BB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_81BB: + ldx Zp26 ; CPU:$81BB PRG:01BB A6 26 + bne NmiHandler_Loop10 ; CPU:$81BD PRG:01BD D0 03 + jmp NmiHandler_Loop21 ; CPU:$81BF PRG:01BF 4C 4C 82 +; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop10 ; Global: Branch target inside NmiHandler: taken when Loop10. ; Local: Part of NmiHandler. @@ -437,9 +486,24 @@ NmiHandler_Loop9: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop10: - ldx Zp26 ; CPU:$81BB PRG:01BB A6 26 - bne NmiHandler_Loop11 ; CPU:$81BD PRG:01BD D0 03 - jmp NmiHandler_Loop22 ; CPU:$81BF PRG:01BF 4C 4C 82 + ldy #$00 ; CPU:$81C2 PRG:01C2 A0 00 + cmp #$20 ; CPU:$81C4 PRG:01C4 C9 20 + beq NmiHandler_Loop11 ; CPU:$81C6 PRG:01C6 F0 1F + cmp #$00 ; CPU:$81C8 PRG:01C8 C9 00 + bne NmiHandler_Loop17 ; CPU:$81CA PRG:01CA D0 5F + lda #$00 ; CPU:$81CC PRG:01CC A9 00 + sta Zp3B ; CPU:$81CE PRG:01CE 85 3B + lda Zp16 ; CPU:$81D0 PRG:01D0 A5 16 + ldy #$81 ; CPU:$81D2 PRG:01D2 A0 81 + and #$08 ; CPU:$81D4 PRG:01D4 29 08 + bne NmiHandler_Loop11 ; CPU:$81D6 PRG:01D6 D0 0F + lda Zp16 ; CPU:$81D8 PRG:01D8 A5 16 + ldy #$80 ; CPU:$81DA PRG:01DA A0 80 + and #$04 ; CPU:$81DC PRG:01DC 29 04 + bne NmiHandler_Loop11 ; CPU:$81DE PRG:01DE D0 07 + lda #$00 ; CPU:$81E0 PRG:01E0 A9 00 + sta Zp19 ; CPU:$81E2 PRG:01E2 85 19 + jmp NmiHandler_Loop19 ; CPU:$81E4 PRG:01E4 4C 3D 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop11 ; Global: Branch target inside NmiHandler: taken when Loop11. @@ -449,24 +513,10 @@ NmiHandler_Loop10: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop11: - ldy #$00 ; CPU:$81C2 PRG:01C2 A0 00 - cmp #$20 ; CPU:$81C4 PRG:01C4 C9 20 - beq NmiHandler_Loop12 ; CPU:$81C6 PRG:01C6 F0 1F - cmp #$00 ; CPU:$81C8 PRG:01C8 C9 00 - bne NmiHandler_Loop18 ; CPU:$81CA PRG:01CA D0 5F - lda #$00 ; CPU:$81CC PRG:01CC A9 00 - sta Zp3B ; CPU:$81CE PRG:01CE 85 3B - lda Zp16 ; CPU:$81D0 PRG:01D0 A5 16 - ldy #$81 ; CPU:$81D2 PRG:01D2 A0 81 - and #$08 ; CPU:$81D4 PRG:01D4 29 08 - bne NmiHandler_Loop12 ; CPU:$81D6 PRG:01D6 D0 0F - lda Zp16 ; CPU:$81D8 PRG:01D8 A5 16 - ldy #$80 ; CPU:$81DA PRG:01DA A0 80 - and #$04 ; CPU:$81DC PRG:01DC 29 04 - bne NmiHandler_Loop12 ; CPU:$81DE PRG:01DE D0 07 - lda #$00 ; CPU:$81E0 PRG:01E0 A9 00 - sta Zp19 ; CPU:$81E2 PRG:01E2 85 19 - jmp NmiHandler_Loop20 ; CPU:$81E4 PRG:01E4 4C 3D 82 + cpx #$01 ; CPU:$81E7 PRG:01E7 E0 01 + beq NmiHandler_Loop13 ; CPU:$81E9 PRG:01E9 F0 15 + cpy #$00 ; CPU:$81EB PRG:01EB C0 00 + bne NmiHandler_Loop19 ; CPU:$81ED PRG:01ED D0 4E ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop12 ; Global: Branch target inside NmiHandler: taken when Loop12. @@ -476,10 +526,14 @@ NmiHandler_Loop11: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop12: - cpx #$01 ; CPU:$81E7 PRG:01E7 E0 01 - beq NmiHandler_Loop14 ; CPU:$81E9 PRG:01E9 F0 15 - cpy #$00 ; CPU:$81EB PRG:01EB C0 00 - bne NmiHandler_Loop20 ; CPU:$81ED PRG:01ED D0 4E + lda #$00 ; CPU:$81EF PRG:01EF A9 00 + sta Zp26 ; CPU:$81F1 PRG:01F1 85 26 + sta Zp30 ; CPU:$81F3 PRG:01F3 85 30 + lda #$03 ; CPU:$81F5 PRG:01F5 A9 03 + sta Zp7C ; CPU:$81F7 PRG:01F7 85 7C + lda Zp48 ; CPU:$81F9 PRG:01F9 A5 48 + sta Zp47 ; CPU:$81FB PRG:01FB 85 47 + jmp NmiHandler_Loop21 ; CPU:$81FD PRG:01FD 4C 4C 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop13 ; Global: Branch target inside NmiHandler: taken when Loop13. @@ -489,14 +543,16 @@ NmiHandler_Loop12: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop13: - lda #$00 ; CPU:$81EF PRG:01EF A9 00 - sta Zp26 ; CPU:$81F1 PRG:01F1 85 26 - sta Zp30 ; CPU:$81F3 PRG:01F3 85 30 - lda #$03 ; CPU:$81F5 PRG:01F5 A9 03 - sta Zp7C ; CPU:$81F7 PRG:01F7 85 7C - lda Zp48 ; CPU:$81F9 PRG:01F9 A5 48 - sta Zp47 ; CPU:$81FB PRG:01FB 85 47 - jmp NmiHandler_Loop22 ; CPU:$81FD PRG:01FD 4C 4C 82 + lda Zp19 ; CPU:$8200 PRG:0200 A5 19 + bne NmiHandler_Loop18 ; CPU:$8202 PRG:0202 D0 2F + tya ; CPU:$8204 PRG:0204 98 + beq NmiHandler_Loop15 ; CPU:$8205 PRG:0205 F0 14 + cmp #$80 ; CPU:$8207 PRG:0207 C9 80 + beq NmiHandler_Loop14 ; CPU:$8209 PRG:0209 F0 08 + ldy Zp47 ; CPU:$820B PRG:020B A4 47 + beq NmiHandler_Loop16 ; CPU:$820D PRG:020D F0 15 + ldy #$00 ; CPU:$820F PRG:020F A0 00 + beq NmiHandler_Loop16 ; CPU:$8211 PRG:0211 F0 11 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop14 ; Global: Branch target inside NmiHandler: taken when Loop14. @@ -506,16 +562,10 @@ NmiHandler_Loop13: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop14: - lda Zp19 ; CPU:$8200 PRG:0200 A5 19 - bne NmiHandler_Loop19 ; CPU:$8202 PRG:0202 D0 2F - tya ; CPU:$8204 PRG:0204 98 - beq NmiHandler_Loop16 ; CPU:$8205 PRG:0205 F0 14 - cmp #$80 ; CPU:$8207 PRG:0207 C9 80 - beq NmiHandler_Loop15 ; CPU:$8209 PRG:0209 F0 08 - ldy Zp47 ; CPU:$820B PRG:020B A4 47 - beq NmiHandler_Loop17 ; CPU:$820D PRG:020D F0 15 - ldy #$00 ; CPU:$820F PRG:020F A0 00 - beq NmiHandler_Loop17 ; CPU:$8211 PRG:0211 F0 11 + ldy Zp47 ; CPU:$8213 PRG:0213 A4 47 + bne NmiHandler_Loop16 ; CPU:$8215 PRG:0215 D0 0D + ldy #$01 ; CPU:$8217 PRG:0217 A0 01 + bne NmiHandler_Loop16 ; CPU:$8219 PRG:0219 D0 09 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop15 ; Global: Branch target inside NmiHandler: taken when Loop15. @@ -525,10 +575,11 @@ NmiHandler_Loop14: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop15: - ldy Zp47 ; CPU:$8213 PRG:0213 A4 47 - bne NmiHandler_Loop17 ; CPU:$8215 PRG:0215 D0 0D - ldy #$01 ; CPU:$8217 PRG:0217 A0 01 - bne NmiHandler_Loop17 ; CPU:$8219 PRG:0219 D0 09 + ldy Zp47 ; CPU:$821B PRG:021B A4 47 + iny ; CPU:$821D PRG:021D C8 + cpy #$02 ; CPU:$821E PRG:021E C0 02 + bne NmiHandler_Loop16 ; CPU:$8220 PRG:0220 D0 02 + ldy #$00 ; CPU:$8222 PRG:0222 A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop16 ; Global: Branch target inside NmiHandler: taken when Loop16. @@ -538,11 +589,9 @@ NmiHandler_Loop15: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop16: - ldy Zp47 ; CPU:$821B PRG:021B A4 47 - iny ; CPU:$821D PRG:021D C8 - cpy #$02 ; CPU:$821E PRG:021E C0 02 - bne NmiHandler_Loop17 ; CPU:$8220 PRG:0220 D0 02 - ldy #$00 ; CPU:$8222 PRG:0222 A0 00 + sty Zp47 ; CPU:$8224 PRG:0224 84 47 + sty Zp48 ; CPU:$8226 PRG:0226 84 48 + jmp Sub_822F ; CPU:$8228 PRG:0228 4C 2F 82 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop17 ; Global: Branch target inside NmiHandler: taken when Loop17. @@ -552,18 +601,6 @@ NmiHandler_Loop16: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop17: - sty Zp47 ; CPU:$8224 PRG:0224 84 47 - sty Zp48 ; CPU:$8226 PRG:0226 84 48 - jmp Sub_822F ; CPU:$8228 PRG:0228 4C 2F 82 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop18 -; Global: Branch target inside NmiHandler: taken when Loop18. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop18: lda #$01 ; CPU:$822B PRG:022B A9 01 sta Zp3B ; CPU:$822D PRG:022D 85 3B ; ----------------------------------------------------------------------------- @@ -578,6 +615,20 @@ Sub_822F: lda #$01 ; CPU:$822F PRG:022F A9 01 sta Zp19 ; CPU:$8231 PRG:0231 85 19 ; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop18 +; Global: Branch target inside NmiHandler: taken when Loop18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop18: + lda Zp2C ; CPU:$8233 PRG:0233 A5 2C + cmp #$25 ; CPU:$8235 PRG:0235 C9 25 + bcs NmiHandler_Loop19 ; CPU:$8237 PRG:0237 B0 04 + lda #$25 ; CPU:$8239 PRG:0239 A9 25 + sta Zp2C ; CPU:$823B PRG:023B 85 2C +; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop19 ; Global: Branch target inside NmiHandler: taken when Loop19. ; Local: Part of NmiHandler. @@ -586,11 +637,12 @@ Sub_822F: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop19: - lda Zp2C ; CPU:$8233 PRG:0233 A5 2C - cmp #$25 ; CPU:$8235 PRG:0235 C9 25 - bcs NmiHandler_Loop20 ; CPU:$8237 PRG:0237 B0 04 - lda #$25 ; CPU:$8239 PRG:0239 A9 25 - sta Zp2C ; CPU:$823B PRG:023B 85 2C + cpx #$01 ; CPU:$823D PRG:023D E0 01 + bne NmiHandler_Loop21 ; CPU:$823F PRG:023F D0 0B + ldy #$A6 ; CPU:$8241 PRG:0241 A0 A6 + lda Zp47 ; CPU:$8243 PRG:0243 A5 47 + beq NmiHandler_Loop20 ; CPU:$8245 PRG:0245 F0 02 + ldy #$B6 ; CPU:$8247 PRG:0247 A0 B6 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop20 ; Global: Branch target inside NmiHandler: taken when Loop20. @@ -600,12 +652,7 @@ NmiHandler_Loop19: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop20: - cpx #$01 ; CPU:$823D PRG:023D E0 01 - bne NmiHandler_Loop22 ; CPU:$823F PRG:023F D0 0B - ldy #$A6 ; CPU:$8241 PRG:0241 A0 A6 - lda Zp47 ; CPU:$8243 PRG:0243 A5 47 - beq NmiHandler_Loop21 ; CPU:$8245 PRG:0245 F0 02 - ldy #$B6 ; CPU:$8247 PRG:0247 A0 B6 + sty $0210 ; CPU:$8249 PRG:0249 8C 10 02 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop21 ; Global: Branch target inside NmiHandler: taken when Loop21. @@ -615,7 +662,48 @@ NmiHandler_Loop20: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop21: - sty $0210 ; CPU:$8249 PRG:0249 8C 10 02 + lda Zp26 ; CPU:$824C PRG:024C A5 26 + jsr Sub_84BD ; CPU:$824E PRG:024E 20 BD 84 +; ---- data $8251-$8262 (18 bytes) ---- +LevelHandlerPointerTable: + .byte $D2, $9F, $4B, $A0, $D0, $A0, $D6, $A0, $09, $A1, $BE, $86, $BE, $86, $BE, $86 ; CPU:$8251 PRG:-3DAF D2 9F 4B A0 D0 A0 D6 A0 09 A1 BE 86 BE 86 BE 86 + .byte $BE, $86 ; CPU:$8261 PRG:0261 BE 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_8263 +; Global: Branch target inside Sub: taken when 8263. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8263: + jsr Sub_BE55 ; CPU:$8263 PRG:0263 20 55 BE + lda #$02 ; CPU:$8266 PRG:0266 A9 02 + sta PpuMaskShadow ; CPU:$8268 PRG:0268 85 09 + jsr Sub_86BF ; CPU:$826A PRG:026A 20 BF 86 + jsr Sub_844A ; CPU:$826D PRG:026D 20 4A 84 + jsr Sub_86AD ; CPU:$8270 PRG:0270 20 AD 86 + jsr Sub_838F ; CPU:$8273 PRG:0273 20 8F 83 + jsr Sub_86EE ; CPU:$8276 PRG:0276 20 EE 86 + jsr Sub_86AD ; CPU:$8279 PRG:0279 20 AD 86 + ldx #$CB ; CPU:$827C PRG:027C A2 CB + ldy #$A9 ; CPU:$827E PRG:027E A0 A9 + jsr Sub_86D5 ; CPU:$8280 PRG:0280 20 D5 86 + jsr Sub_86AD ; CPU:$8283 PRG:0283 20 AD 86 + ldx #$00 ; CPU:$8286 PRG:0286 A2 00 + lda #$00 ; CPU:$8288 PRG:0288 A9 00 + jsr Sub_8C7E ; CPU:$828A PRG:028A 20 7E 8C + ldx #$01 ; CPU:$828D PRG:028D A2 01 + lda #$00 ; CPU:$828F PRG:028F A9 00 + jsr Sub_8C7E ; CPU:$8291 PRG:0291 20 7E 8C + jsr Sub_86AD ; CPU:$8294 PRG:0294 20 AD 86 + lda Zp63 ; CPU:$8297 PRG:0297 A5 63 + ldy #$62 ; CPU:$8299 PRG:0299 A0 62 + jsr Sub_82C0 ; CPU:$829B PRG:029B 20 C0 82 + lda Zp64 ; CPU:$829E PRG:029E A5 64 + ldy Zp47 ; CPU:$82A0 PRG:02A0 A4 47 + bne NmiHandler_Loop22 ; CPU:$82A2 PRG:02A2 D0 02 + lda #$07 ; CPU:$82A4 PRG:02A4 A9 07 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop22 ; Global: Branch target inside NmiHandler: taken when Loop22. @@ -625,30 +713,244 @@ NmiHandler_Loop21: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop22: - lda Zp26 ; CPU:$824C PRG:024C A5 26 - jsr Sub_84BD ; CPU:$824E PRG:024E 20 BD 84 -; ---- data $8251-$839C (332 bytes) ---- - .byte $D2, $9F, $4B, $A0, $D0, $A0, $D6, $A0, $09, $A1, $BE, $86, $BE, $86, $BE, $86 ; CPU:$8251 PRG:0251 D2 9F 4B A0 D0 A0 D6 A0 09 A1 BE 86 BE 86 BE 86 - .byte $BE, $86, $20, $55, $BE, $A9, $02, $85, $09, $20, $BF, $86, $20, $4A, $84, $20 ; CPU:$8261 PRG:0261 BE 86 20 55 BE A9 02 85 09 20 BF 86 20 4A 84 20 - .byte $AD, $86, $20, $8F, $83, $20, $EE, $86, $20, $AD, $86, $A2, $CB, $A0, $A9, $20 ; CPU:$8271 PRG:0271 AD 86 20 8F 83 20 EE 86 20 AD 86 A2 CB A0 A9 20 - .byte $D5, $86, $20, $AD, $86, $A2, $00, $A9, $00, $20, $7E, $8C, $A2, $01, $A9, $00 ; CPU:$8281 PRG:0281 D5 86 20 AD 86 A2 00 A9 00 20 7E 8C A2 01 A9 00 - .byte $20, $7E, $8C, $20, $AD, $86, $A5, $63, $A0, $62, $20, $C0, $82, $A5, $64, $A4 ; CPU:$8291 PRG:0291 20 7E 8C 20 AD 86 A5 63 A0 62 20 C0 82 A5 64 A4 - .byte $47, $D0, $02, $A9, $07, $A0, $7B, $20, $C0, $82, $A9, $01, $8D, $ED, $06, $20 ; CPU:$82A1 PRG:02A1 47 D0 02 A9 07 A0 7B 20 C0 82 A9 01 8D ED 06 20 - .byte $38, $8B, $A9, $05, $85, $23, $A9, $01, $85, $30, $E6, $25, $4C, $CC, $86, $84 ; CPU:$82B1 PRG:02B1 38 8B A9 05 85 23 A9 01 85 30 E6 25 4C CC 86 84 - .byte $0C, $85, $0D, $0A, $18, $65, $0D, $AA, $A0, $00, $BD, $EF, $82, $99, $01, $07 ; CPU:$82C1 PRG:02C1 0C 85 0D 0A 18 65 0D AA A0 00 BD EF 82 99 01 07 - .byte $E8, $C8, $C0, $04, $D0, $F4, $A5, $0D, $C9, $07, $D0, $06, $A4, $61, $C8, $8C ; CPU:$82D1 PRG:02D1 E8 C8 C0 04 D0 F4 A5 0D C9 07 D0 06 A4 61 C8 8C - .byte $03, $07, $A9, $13, $8D, $00, $07, $A6, $0C, $A0, $20, $4C, $35, $8D, $1E, $1C ; CPU:$82E1 PRG:02E1 03 07 A9 13 8D 00 07 A6 0C A0 20 4C 35 8D 1E 1C - .byte $0A, $10, $0B, $1B, $0F, $1B, $0A, $0F, $1B, $10, $0B, $1B, $0A, $13, $19, $17 ; CPU:$82F1 PRG:02F1 0A 10 0B 1B 0F 1B 0A 0F 1B 10 0B 1B 0A 13 19 17 - .byte $0E, $1C, $19, $0C, $19, $31, $A2, $03, $BD, $2C, $83, $9D, $01, $04, $9D, $05 ; CPU:$8301 PRG:0301 0E 1C 19 0C 19 31 A2 03 BD 2C 83 9D 01 04 9D 05 - .byte $04, $CA, $10, $F4, $EE, $06, $04, $A2, $F0, $A0, $0F, $86, $A4, $84, $A3, $A0 ; CPU:$8311 PRG:0311 04 CA 10 F4 EE 06 04 A2 F0 A0 0F 86 A4 84 A3 A0 - .byte $07, $86, $A9, $84, $A8, $20, $B5, $BD, $E6, $25, $60, $00, $C3, $03, $00, $20 ; CPU:$8321 PRG:0321 07 86 A9 84 A8 20 B5 BD E6 25 60 00 C3 03 00 20 - .byte $92, $BD, $AD, $E7, $06, $C9, $17, $F0, $03, $20, $97, $89, $20, $38, $8B, $20 ; CPU:$8331 PRG:0331 92 BD AD E7 06 C9 17 F0 03 20 97 89 20 38 8B 20 - .byte $82, $CA, $A5, $2E, $29, $01, $D0, $24, $AD, $E7, $06, $C9, $17, $F0, $03, $20 ; CPU:$8341 PRG:0341 82 CA A5 2E 29 01 D0 24 AD E7 06 C9 17 F0 03 20 - .byte $B1, $BA, $20, $11, $BD, $20, $21, $8F, $AD, $E7, $06, $C9, $17, $F0, $03, $20 ; CPU:$8351 PRG:0351 B1 BA 20 11 BD 20 21 8F AD E7 06 C9 17 F0 03 20 - .byte $EE, $DC, $20, $DC, $89, $20, $0C, $BF, $20, $73, $CA, $60, $20, $45, $9B, $20 ; CPU:$8361 PRG:0361 EE DC 20 DC 89 20 0C BF 20 73 CA 60 20 45 9B 20 - .byte $5D, $A3, $20, $13, $90, $20, $BF, $8C, $20, $0C, $8C, $20, $D4, $8D, $60, $A2 ; CPU:$8371 PRG:0371 5D A3 20 13 90 20 BF 8C 20 0C 8C 20 D4 8D 60 A2 - .byte $06, $BD, $F8, $07, $95, $29, $CA, $10, $F8, $A5, $1D, $85, $25, $60, $A0, $00 ; CPU:$8381 PRG:0381 06 BD F8 07 95 29 CA 10 F8 A5 1D 85 25 60 A0 00 - .byte $A9, $F4, $99, $00, $02, $C8, $C8, $C8, $C8, $D0, $F7, $60 ; CPU:$8391 PRG:0391 A9 F4 99 00 02 C8 C8 C8 C8 D0 F7 60 + ldy #$7B ; CPU:$82A6 PRG:02A6 A0 7B + jsr Sub_82C0 ; CPU:$82A8 PRG:02A8 20 C0 82 + lda #$01 ; CPU:$82AB PRG:02AB A9 01 + sta $06ED ; CPU:$82AD PRG:02AD 8D ED 06 + jsr Sub_8B38 ; CPU:$82B0 PRG:02B0 20 38 8B + lda #$05 ; CPU:$82B3 PRG:02B3 A9 05 + sta Zp23 ; CPU:$82B5 PRG:02B5 85 23 + lda #$01 ; CPU:$82B7 PRG:02B7 A9 01 + sta Zp30 ; CPU:$82B9 PRG:02B9 85 30 + inc FrameCounter2 ; CPU:$82BB PRG:02BB E6 25 + jmp Sub_86CC ; CPU:$82BD PRG:02BD 4C CC 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_82C0 +; Global: Branch target inside Sub: taken when 82C0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_82C0: + sty VramReadPtrLo ; CPU:$82C0 PRG:02C0 84 0C + sta VramReadPtrHi ; CPU:$82C2 PRG:02C2 85 0D + asl a ; CPU:$82C4 PRG:02C4 0A + clc ; CPU:$82C5 PRG:02C5 18 + adc VramReadPtrHi ; CPU:$82C6 PRG:02C6 65 0D + tax ; CPU:$82C8 PRG:02C8 AA + ldy #$00 ; CPU:$82C9 PRG:02C9 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero2 +; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero2: + lda $82EF,x ; CPU:$82CB PRG:02CB BD EF 82 + sta $0701,y ; CPU:$82CE PRG:02CE 99 01 07 + inx ; CPU:$82D1 PRG:02D1 E8 + iny ; CPU:$82D2 PRG:02D2 C8 + cpy #$04 ; CPU:$82D3 PRG:02D3 C0 04 + bne NmiHandler_OnNonzero2 ; CPU:$82D5 PRG:02D5 D0 F4 + lda VramReadPtrHi ; CPU:$82D7 PRG:02D7 A5 0D + cmp #$07 ; CPU:$82D9 PRG:02D9 C9 07 + bne NmiHandler_Loop23 ; CPU:$82DB PRG:02DB D0 06 + ldy Zp61 ; CPU:$82DD PRG:02DD A4 61 + iny ; CPU:$82DF PRG:02DF C8 + sty $0703 ; CPU:$82E0 PRG:02E0 8C 03 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop23 +; Global: Branch target inside NmiHandler: taken when Loop23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop23: + lda #$13 ; CPU:$82E3 PRG:02E3 A9 13 + sta $0700 ; CPU:$82E5 PRG:02E5 8D 00 07 + ldx VramReadPtrLo ; CPU:$82E8 PRG:02E8 A6 0C + ldy #$20 ; CPU:$82EA PRG:02EA A0 20 + jmp Sub_8D35 ; CPU:$82EC PRG:02EC 4C 35 8D +; ---- data $82EF-$8306 (24 bytes) ---- +; referenced by `lda $82EF,x` at $82CB (operand $82EF falls inside this region) +; referenced by `lda $82EF,y` at $8E12 (operand $82EF falls inside this region) +; referenced by `lda $82F0,y` at $8E18 (operand $82F0 falls inside this region) +; referenced by `lda $82F1,y` at $8E1E (operand $82F1 falls inside this region) +PlayerSpeedTable: + .byte $1E, $1C, $0A, $10, $0B, $1B, $0F, $1B, $0A, $0F, $1B, $10, $0B, $1B, $0A, $13 ; CPU:$82EF PRG:-3D11 1E 1C 0A 10 0B 1B 0F 1B 0A 0F 1B 10 0B 1B 0A 13 + .byte $19, $17, $0E, $1C, $19, $0C, $19, $31 ; CPU:$82FF PRG:02FF 19 17 0E 1C 19 0C 19 31 +; ----------------------------------------------------------------------------- +; Routine: Sub_8307 +; Global: Branch target inside Sub: taken when 8307. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8307: + ldx #$03 ; CPU:$8307 PRG:0307 A2 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative3 +; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative3: + lda $832C,x ; CPU:$8309 PRG:0309 BD 2C 83 + sta $0401,x ; CPU:$830C PRG:030C 9D 01 04 + sta $0405,x ; CPU:$830F PRG:030F 9D 05 04 + dex ; CPU:$8312 PRG:0312 CA + bpl NmiHandler_OnNonnegative3 ; CPU:$8313 PRG:0313 10 F4 + inc $0406 ; CPU:$8315 PRG:0315 EE 06 04 + ldx #$F0 ; CPU:$8318 PRG:0318 A2 F0 + ldy #$0F ; CPU:$831A PRG:031A A0 0F + stx TimerIndex2 ; CPU:$831C PRG:031C 86 A4 + sty TimerIndex ; CPU:$831E PRG:031E 84 A3 + ldy #$07 ; CPU:$8320 PRG:0320 A0 07 + stx TimerIndex4 ; CPU:$8322 PRG:0322 86 A9 + sty TimerIndex3 ; CPU:$8324 PRG:0324 84 A8 + jsr Sub_BDB5 ; CPU:$8326 PRG:0326 20 B5 BD + inc FrameCounter2 ; CPU:$8329 PRG:0329 E6 25 + rts ; CPU:$832B PRG:032B 60 +; ---- data $832C-$832F (4 bytes) ---- +; referenced by `lda $832C,x` at $8309 (operand $832C falls inside this region) +LevelStartParameterTable: + .byte $00, $C3, $03, $00 ; CPU:$832C PRG:-3CD4 00 C3 03 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_8330 +; Global: Branch target inside Sub: taken when 8330. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8330: + jsr Sub_BD92 ; CPU:$8330 PRG:0330 20 92 BD + lda $06E7 ; CPU:$8333 PRG:0333 AD E7 06 + cmp #$17 ; CPU:$8336 PRG:0336 C9 17 + beq NmiHandler_Loop24 ; CPU:$8338 PRG:0338 F0 03 + jsr Sub_8997 ; CPU:$833A PRG:033A 20 97 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop24 +; Global: Branch target inside NmiHandler: taken when Loop24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop24: + jsr Sub_8B38 ; CPU:$833D PRG:033D 20 38 8B + jsr Sub_CA82 ; CPU:$8340 PRG:0340 20 82 CA + lda Zp2E ; CPU:$8343 PRG:0343 A5 2E + and #$01 ; CPU:$8345 PRG:0345 29 01 + bne NmiHandler_Loop27 ; CPU:$8347 PRG:0347 D0 24 + lda $06E7 ; CPU:$8349 PRG:0349 AD E7 06 + cmp #$17 ; CPU:$834C PRG:034C C9 17 + beq NmiHandler_Loop25 ; CPU:$834E PRG:034E F0 03 + jsr Sub_BAB1 ; CPU:$8350 PRG:0350 20 B1 BA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop25 +; Global: Branch target inside NmiHandler: taken when Loop25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop25: + jsr Sub_BD11 ; CPU:$8353 PRG:0353 20 11 BD + jsr Sub_8F21 ; CPU:$8356 PRG:0356 20 21 8F + lda $06E7 ; CPU:$8359 PRG:0359 AD E7 06 + cmp #$17 ; CPU:$835C PRG:035C C9 17 + beq NmiHandler_Loop26 ; CPU:$835E PRG:035E F0 03 + jsr Sub_DCEE ; CPU:$8360 PRG:0360 20 EE DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop26 +; Global: Branch target inside NmiHandler: taken when Loop26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop26: + jsr Sub_89DC ; CPU:$8363 PRG:0363 20 DC 89 + jsr Sub_BF0C ; CPU:$8366 PRG:0366 20 0C BF + jsr Sub_CA73 ; CPU:$8369 PRG:0369 20 73 CA + rts ; CPU:$836C PRG:036C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop27 +; Global: Branch target inside NmiHandler: taken when Loop27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop27: + jsr Sub_9B45 ; CPU:$836D PRG:036D 20 45 9B + jsr Sub_A35D ; CPU:$8370 PRG:0370 20 5D A3 + jsr Sub_9013 ; CPU:$8373 PRG:0373 20 13 90 + jsr Sub_8CBF ; CPU:$8376 PRG:0376 20 BF 8C + jsr Sub_8C0C ; CPU:$8379 PRG:0379 20 0C 8C + jsr Sub_8DD4 ; CPU:$837C PRG:037C 20 D4 8D + rts ; CPU:$837F PRG:037F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8380 +; Global: Branch target inside Label: taken when 8380. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8380: + ldx #$06 ; CPU:$8380 PRG:0380 A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative4 +; Global: Branch target inside NmiHandler: taken when OnNonnegative4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative4: + lda $07F8,x ; CPU:$8382 PRG:0382 BD F8 07 + sta Zp29,x ; CPU:$8385 PRG:0385 95 29 + dex ; CPU:$8387 PRG:0387 CA + bpl NmiHandler_OnNonnegative4 ; CPU:$8388 PRG:0388 10 F8 + lda Zp1D ; CPU:$838A PRG:038A A5 1D + sta FrameCounter2 ; CPU:$838C PRG:038C 85 25 + rts ; CPU:$838E PRG:038E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_838F +; Global: Branch target inside Sub: taken when 838F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_838F: + ldy #$00 ; CPU:$838F PRG:038F A0 00 + lda #$F4 ; CPU:$8391 PRG:0391 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero3 +; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero3: + sta $0200,y ; CPU:$8393 PRG:0393 99 00 02 + iny ; CPU:$8396 PRG:0396 C8 + iny ; CPU:$8397 PRG:0397 C8 + iny ; CPU:$8398 PRG:0398 C8 + iny ; CPU:$8399 PRG:0399 C8 + bne NmiHandler_OnNonzero3 ; CPU:$839A PRG:039A D0 F7 + rts ; CPU:$839C PRG:039C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_839D ; Global: Branch target inside Sub: taken when 839D. @@ -659,15 +961,15 @@ NmiHandler_Loop22: ; ----------------------------------------------------------------------------- Sub_839D: ldy Zp23 ; CPU:$839D PRG:039D A4 23 - beq NmiHandler_Loop23 ; CPU:$839F PRG:039F F0 23 + beq NmiHandler_Loop28 ; CPU:$839F PRG:039F F0 23 dey ; CPU:$83A1 PRG:03A1 88 tya ; CPU:$83A2 PRG:03A2 98 asl a ; CPU:$83A3 PRG:03A3 0A tay ; CPU:$83A4 PRG:03A4 A8 lda $A7BC,y ; CPU:$83A5 PRG:03A5 B9 BC A7 ldx $A7BD,y ; CPU:$83A8 PRG:03A8 BE BD A7 - sta Zp00 ; CPU:$83AB PRG:03AB 85 00 - stx Zp01 ; CPU:$83AD PRG:03AD 86 01 + sta VramWritePtrLo ; CPU:$83AB PRG:03AB 85 00 + stx VramWritePtrHi ; CPU:$83AD PRG:03AD 86 01 jsr Sub_8517 ; CPU:$83AF PRG:03AF 20 17 85 lda #$3F ; CPU:$83B2 PRG:03B2 A9 3F sta PPUADDR ; CPU:$83B4 PRG:03B4 8D 06 20 @@ -677,14 +979,14 @@ Sub_839D: sta PPUADDR ; CPU:$83BF PRG:03BF 8D 06 20 sta Zp23 ; CPU:$83C2 PRG:03C2 85 23 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop23 -; Global: Branch target inside NmiHandler: taken when Loop23. +; Routine: NmiHandler_Loop28 +; Global: Branch target inside NmiHandler: taken when Loop28. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop23: +NmiHandler_Loop28: rts ; CPU:$83C4 PRG:03C4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_83C5 @@ -702,60 +1004,60 @@ Sub_83C5: ldx #$00 ; CPU:$83CF PRG:03CF A2 00 lda Zp2E ; CPU:$83D1 PRG:03D1 A5 2E lsr a ; CPU:$83D3 PRG:03D3 4A - bcc NmiHandler_Loop24 ; CPU:$83D4 PRG:03D4 90 06 + bcc NmiHandler_Loop29 ; CPU:$83D4 PRG:03D4 90 06 lda Zp47 ; CPU:$83D6 PRG:03D6 A5 47 - beq NmiHandler_Loop25 ; CPU:$83D8 PRG:03D8 F0 2B + beq NmiHandler_Loop30 ; CPU:$83D8 PRG:03D8 F0 2B ldx #$01 ; CPU:$83DA PRG:03DA A2 01 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop24 -; Global: Branch target inside NmiHandler: taken when Loop24. +; Routine: NmiHandler_Loop29 +; Global: Branch target inside NmiHandler: taken when Loop29. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop24: +NmiHandler_Loop29: ldy #$08 ; CPU:$83DC PRG:03DC A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero2 -; Global: Branch target inside NmiHandler: taken when OnNonzero2. +; Routine: NmiHandler_OnNonzero4 +; Global: Branch target inside NmiHandler: taken when OnNonzero4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero2: +NmiHandler_OnNonzero4: pha ; CPU:$83DE PRG:03DE 48 lda JOY1,x ; CPU:$83DF PRG:03DF BD 16 40 - sta Zp00 ; CPU:$83E2 PRG:03E2 85 00 + sta VramWritePtrLo ; CPU:$83E2 PRG:03E2 85 00 lsr a ; CPU:$83E4 PRG:03E4 4A - ora Zp00 ; CPU:$83E5 PRG:03E5 05 00 + ora VramWritePtrLo ; CPU:$83E5 PRG:03E5 05 00 lsr a ; CPU:$83E7 PRG:03E7 4A pla ; CPU:$83E8 PRG:03E8 68 rol a ; CPU:$83E9 PRG:03E9 2A dey ; CPU:$83EA PRG:03EA 88 - bne NmiHandler_OnNonzero2 ; CPU:$83EB PRG:03EB D0 F1 + bne NmiHandler_OnNonzero4 ; CPU:$83EB PRG:03EB D0 F1 pha ; CPU:$83ED PRG:03ED 48 and #$3F ; CPU:$83EE PRG:03EE 29 3F - sta Zp0C ; CPU:$83F0 PRG:03F0 85 0C + sta VramReadPtrLo ; CPU:$83F0 PRG:03F0 85 0C pla ; CPU:$83F2 PRG:03F2 68 and #$C0 ; CPU:$83F3 PRG:03F3 29 C0 - sta Zp0D ; CPU:$83F5 PRG:03F5 85 0D + sta VramReadPtrHi ; CPU:$83F5 PRG:03F5 85 0D eor $07F4,x ; CPU:$83F7 PRG:03F7 5D F4 07 - and Zp0D ; CPU:$83FA PRG:03FA 25 0D - ora Zp0C ; CPU:$83FC PRG:03FC 05 0C + and VramReadPtrHi ; CPU:$83FA PRG:03FA 25 0D + ora VramReadPtrLo ; CPU:$83FC PRG:03FC 05 0C sta Zp16,x ; CPU:$83FE PRG:03FE 95 16 - lda Zp0D ; CPU:$8400 PRG:0400 A5 0D + lda VramReadPtrHi ; CPU:$8400 PRG:0400 A5 0D sta $07F4,x ; CPU:$8402 PRG:0402 9D F4 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop25 -; Global: Branch target inside NmiHandler: taken when Loop25. +; Routine: NmiHandler_Loop30 +; Global: Branch target inside NmiHandler: taken when Loop30. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop25: +NmiHandler_Loop30: rts ; CPU:$8405 PRG:0405 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8406 @@ -767,82 +1069,159 @@ NmiHandler_Loop25: ; ----------------------------------------------------------------------------- Sub_8406: lda Zp21 ; CPU:$8406 PRG:0406 A5 21 - beq NmiHandler_Loop27 ; CPU:$8408 PRG:0408 F0 3F + beq NmiHandler_Loop32 ; CPU:$8408 PRG:0408 F0 3F lda #$61 ; CPU:$840A PRG:040A A9 61 - sta Zp00 ; CPU:$840C PRG:040C 85 00 + sta VramWritePtrLo ; CPU:$840C PRG:040C 85 00 lda #$07 ; CPU:$840E PRG:040E A9 07 - sta Zp01 ; CPU:$8410 PRG:0410 85 01 - lda Zp08 ; CPU:$8412 PRG:0412 A5 08 + sta VramWritePtrHi ; CPU:$8410 PRG:0410 85 01 + lda PpuCtrlShadow ; CPU:$8412 PRG:0412 A5 08 and #$FB ; CPU:$8414 PRG:0414 29 FB sta PPUCTRL ; CPU:$8416 PRG:0416 8D 00 20 - sta Zp08 ; CPU:$8419 PRG:0419 85 08 + sta PpuCtrlShadow ; CPU:$8419 PRG:0419 85 08 ldx PPUSTATUS ; CPU:$841B PRG:041B AE 02 20 ldy #$00 ; CPU:$841E PRG:041E A0 00 - beq NmiHandler_Loop26 ; CPU:$8420 PRG:0420 F0 19 + beq NmiHandler_Loop31 ; CPU:$8420 PRG:0420 F0 19 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero3 -; Global: Branch target inside NmiHandler: taken when OnNonzero3. +; Routine: NmiHandler_OnNonzero5 +; Global: Branch target inside NmiHandler: taken when OnNonzero5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero3: +NmiHandler_OnNonzero5: sta PPUADDR ; CPU:$8422 PRG:0422 8D 06 20 iny ; CPU:$8425 PRG:0425 C8 - lda (Zp00),y ; CPU:$8426 PRG:0426 B1 00 + lda (VramWritePtrLo),y ; CPU:$8426 PRG:0426 B1 00 sta PPUADDR ; CPU:$8428 PRG:0428 8D 06 20 iny ; CPU:$842B PRG:042B C8 - lda (Zp00),y ; CPU:$842C PRG:042C B1 00 + lda (VramWritePtrLo),y ; CPU:$842C PRG:042C B1 00 and #$3F ; CPU:$842E PRG:042E 29 3F tax ; CPU:$8430 PRG:0430 AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero4 -; Global: Branch target inside NmiHandler: taken when OnNonzero4. +; Routine: NmiHandler_OnNonzero6 +; Global: Branch target inside NmiHandler: taken when OnNonzero6. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero4: +NmiHandler_OnNonzero6: iny ; CPU:$8431 PRG:0431 C8 - lda (Zp00),y ; CPU:$8432 PRG:0432 B1 00 + lda (VramWritePtrLo),y ; CPU:$8432 PRG:0432 B1 00 sta PPUDATA ; CPU:$8434 PRG:0434 8D 07 20 dex ; CPU:$8437 PRG:0437 CA - bne NmiHandler_OnNonzero4 ; CPU:$8438 PRG:0438 D0 F7 + bne NmiHandler_OnNonzero6 ; CPU:$8438 PRG:0438 D0 F7 iny ; CPU:$843A PRG:043A C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop26 -; Global: Branch target inside NmiHandler: taken when Loop26. +; Routine: NmiHandler_Loop31 +; Global: Branch target inside NmiHandler: taken when Loop31. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop26: - lda (Zp00),y ; CPU:$843B PRG:043B B1 00 - bne NmiHandler_OnNonzero3 ; CPU:$843D PRG:043D D0 E3 +NmiHandler_Loop31: + lda (VramWritePtrLo),y ; CPU:$843B PRG:043B B1 00 + bne NmiHandler_OnNonzero5 ; CPU:$843D PRG:043D D0 E3 lda #$00 ; CPU:$843F PRG:043F A9 00 sta $0760 ; CPU:$8441 PRG:0441 8D 60 07 sta $0761 ; CPU:$8444 PRG:0444 8D 61 07 sta Zp21 ; CPU:$8447 PRG:0447 85 21 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop27 -; Global: Branch target inside NmiHandler: taken when Loop27. +; Routine: NmiHandler_Loop32 +; Global: Branch target inside NmiHandler: taken when Loop32. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop27: +NmiHandler_Loop32: rts ; CPU:$8449 PRG:0449 60 -; ---- data $844A-$849B (82 bytes) ---- - .byte $A9, $02, $20, $51, $84, $A9, $01, $85, $01, $A9, $24, $85, $00, $AD, $02, $20 ; CPU:$844A PRG:044A A9 02 20 51 84 A9 01 85 01 A9 24 85 00 AD 02 20 - .byte $A5, $08, $29, $FB, $8D, $00, $20, $85, $08, $A9, $1C, $18, $69, $04, $C6, $01 ; CPU:$845A PRG:045A A5 08 29 FB 8D 00 20 85 08 A9 1C 18 69 04 C6 01 - .byte $D0, $FA, $85, $02, $8D, $06, $20, $A9, $00, $8D, $06, $20, $A2, $04, $A0, $00 ; CPU:$846A PRG:046A D0 FA 85 02 8D 06 20 A9 00 8D 06 20 A2 04 A0 00 - .byte $A5, $00, $8D, $07, $20, $88, $D0, $FA, $CA, $D0, $F7, $A5, $02, $69, $03, $8D ; CPU:$847A PRG:047A A5 00 8D 07 20 88 D0 FA CA D0 F7 A5 02 69 03 8D - .byte $06, $20, $A9, $C0, $8D, $06, $20, $A0, $40, $A9, $00, $8D, $07, $20, $88, $D0 ; CPU:$848A PRG:048A 06 20 A9 C0 8D 06 20 A0 40 A9 00 8D 07 20 88 D0 - .byte $FA, $60 ; CPU:$849A PRG:049A FA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_844A +; Global: Branch target inside Sub: taken when 844A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_844A: + lda #$02 ; CPU:$844A PRG:044A A9 02 + jsr Sub_8451 ; CPU:$844C PRG:044C 20 51 84 + lda #$01 ; CPU:$844F PRG:044F A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_8451 +; Global: Branch target inside Sub: taken when 8451. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8451: + sta VramWritePtrHi ; CPU:$8451 PRG:0451 85 01 + lda #$24 ; CPU:$8453 PRG:0453 A9 24 + sta VramWritePtrLo ; CPU:$8455 PRG:0455 85 00 + lda PPUSTATUS ; CPU:$8457 PRG:0457 AD 02 20 + lda PpuCtrlShadow ; CPU:$845A PRG:045A A5 08 + and #$FB ; CPU:$845C PRG:045C 29 FB + sta PPUCTRL ; CPU:$845E PRG:045E 8D 00 20 + sta PpuCtrlShadow ; CPU:$8461 PRG:0461 85 08 + lda #$1C ; CPU:$8463 PRG:0463 A9 1C + clc ; CPU:$8465 PRG:0465 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero7 +; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero7: + adc #$04 ; CPU:$8466 PRG:0466 69 04 + dec VramWritePtrHi ; CPU:$8468 PRG:0468 C6 01 + bne NmiHandler_OnNonzero7 ; CPU:$846A PRG:046A D0 FA + sta FrameCounter ; CPU:$846C PRG:046C 85 02 + sta PPUADDR ; CPU:$846E PRG:046E 8D 06 20 + lda #$00 ; CPU:$8471 PRG:0471 A9 00 + sta PPUADDR ; CPU:$8473 PRG:0473 8D 06 20 + ldx #$04 ; CPU:$8476 PRG:0476 A2 04 + ldy #$00 ; CPU:$8478 PRG:0478 A0 00 + lda VramWritePtrLo ; CPU:$847A PRG:047A A5 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero8 +; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero8: + sta PPUDATA ; CPU:$847C PRG:047C 8D 07 20 + dey ; CPU:$847F PRG:047F 88 + bne NmiHandler_OnNonzero8 ; CPU:$8480 PRG:0480 D0 FA + dex ; CPU:$8482 PRG:0482 CA + bne NmiHandler_OnNonzero8 ; CPU:$8483 PRG:0483 D0 F7 + lda FrameCounter ; CPU:$8485 PRG:0485 A5 02 + adc #$03 ; CPU:$8487 PRG:0487 69 03 + sta PPUADDR ; CPU:$8489 PRG:0489 8D 06 20 + lda #$C0 ; CPU:$848C PRG:048C A9 C0 + sta PPUADDR ; CPU:$848E PRG:048E 8D 06 20 + ldy #$40 ; CPU:$8491 PRG:0491 A0 40 + lda #$00 ; CPU:$8493 PRG:0493 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero9 +; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero9: + sta PPUDATA ; CPU:$8495 PRG:0495 8D 07 20 + dey ; CPU:$8498 PRG:0498 88 + bne NmiHandler_OnNonzero9 ; CPU:$8499 PRG:0499 D0 FA + rts ; CPU:$849B PRG:049B 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_849C ; Global: Branch target inside Sub: taken when 849C. @@ -854,46 +1233,46 @@ NmiHandler_Loop27: Sub_849C: ldx #$01 ; CPU:$849C PRG:049C A2 01 dec Zp29 ; CPU:$849E PRG:049E C6 29 - bpl NmiHandler_OnNonnegative3 ; CPU:$84A0 PRG:04A0 10 06 + bpl NmiHandler_OnNonnegative5 ; CPU:$84A0 PRG:04A0 10 06 lda #$0A ; CPU:$84A2 PRG:04A2 A9 0A sta Zp29 ; CPU:$84A4 PRG:04A4 85 29 ldx #$03 ; CPU:$84A6 PRG:04A6 A2 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonnegative3 -; Global: Branch target inside NmiHandler: taken when OnNonnegative3. +; Routine: NmiHandler_OnNonnegative5 +; Global: Branch target inside NmiHandler: taken when OnNonnegative5. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonnegative3: +NmiHandler_OnNonnegative5: lda Zp2A,x ; CPU:$84A8 PRG:04A8 B5 2A - beq NmiHandler_Loop28 ; CPU:$84AA PRG:04AA F0 02 + beq NmiHandler_Loop33 ; CPU:$84AA PRG:04AA F0 02 dec Zp2A,x ; CPU:$84AC PRG:04AC D6 2A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop28 -; Global: Branch target inside NmiHandler: taken when Loop28. +; Routine: NmiHandler_Loop33 +; Global: Branch target inside NmiHandler: taken when Loop33. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop28: +NmiHandler_Loop33: dex ; CPU:$84AE PRG:04AE CA - bpl NmiHandler_OnNonnegative3 ; CPU:$84AF PRG:04AF 10 F7 + bpl NmiHandler_OnNonnegative5 ; CPU:$84AF PRG:04AF 10 F7 lda Zp2F ; CPU:$84B1 PRG:04B1 A5 2F - beq NmiHandler_Loop29 ; CPU:$84B3 PRG:04B3 F0 03 + beq NmiHandler_Loop34 ; CPU:$84B3 PRG:04B3 F0 03 dec Zp2F ; CPU:$84B5 PRG:04B5 C6 2F rts ; CPU:$84B7 PRG:04B7 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop29 -; Global: Branch target inside NmiHandler: taken when Loop29. +; Routine: NmiHandler_Loop34 +; Global: Branch target inside NmiHandler: taken when Loop34. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop29: +NmiHandler_Loop34: lda #$05 ; CPU:$84B8 PRG:04B8 A9 05 sta Zp2F ; CPU:$84BA PRG:04BA 85 2F rts ; CPU:$84BC PRG:04BC 60 @@ -925,85 +1304,85 @@ Sub_84BD: ldy Zp28 ; CPU:$84D6 PRG:04D6 A4 28 jmp (Zp14) ; CPU:$84D8 PRG:04D8 6C 14 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero5 -; Global: Branch target inside NmiHandler: taken when OnNonzero5. +; Routine: NmiHandler_OnNonzero10 +; Global: Branch target inside NmiHandler: taken when OnNonzero10. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero5: +NmiHandler_OnNonzero10: sta PPUADDR ; CPU:$84DB PRG:04DB 8D 06 20 iny ; CPU:$84DE PRG:04DE C8 - lda (Zp00),y ; CPU:$84DF PRG:04DF B1 00 + lda (VramWritePtrLo),y ; CPU:$84DF PRG:04DF B1 00 sta PPUADDR ; CPU:$84E1 PRG:04E1 8D 06 20 iny ; CPU:$84E4 PRG:04E4 C8 - lda (Zp00),y ; CPU:$84E5 PRG:04E5 B1 00 + lda (VramWritePtrLo),y ; CPU:$84E5 PRG:04E5 B1 00 asl a ; CPU:$84E7 PRG:04E7 0A pha ; CPU:$84E8 PRG:04E8 48 - lda Zp08 ; CPU:$84E9 PRG:04E9 A5 08 + lda PpuCtrlShadow ; CPU:$84E9 PRG:04E9 A5 08 ora #$04 ; CPU:$84EB PRG:04EB 09 04 - bcs NmiHandler_Loop30 ; CPU:$84ED PRG:04ED B0 02 + bcs NmiHandler_Loop35 ; CPU:$84ED PRG:04ED B0 02 and #$FB ; CPU:$84EF PRG:04EF 29 FB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop30 -; Global: Branch target inside NmiHandler: taken when Loop30. +; Routine: NmiHandler_Loop35 +; Global: Branch target inside NmiHandler: taken when Loop35. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop30: +NmiHandler_Loop35: sta PPUCTRL ; CPU:$84F1 PRG:04F1 8D 00 20 - sta Zp08 ; CPU:$84F4 PRG:04F4 85 08 + sta PpuCtrlShadow ; CPU:$84F4 PRG:04F4 85 08 pla ; CPU:$84F6 PRG:04F6 68 asl a ; CPU:$84F7 PRG:04F7 0A - bcc NmiHandler_Loop31 ; CPU:$84F8 PRG:04F8 90 03 + bcc NmiHandler_Loop36 ; CPU:$84F8 PRG:04F8 90 03 ora #$02 ; CPU:$84FA PRG:04FA 09 02 iny ; CPU:$84FC PRG:04FC C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop31 -; Global: Branch target inside NmiHandler: taken when Loop31. +; Routine: NmiHandler_Loop36 +; Global: Branch target inside NmiHandler: taken when Loop36. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop31: +NmiHandler_Loop36: lsr a ; CPU:$84FD PRG:04FD 4A lsr a ; CPU:$84FE PRG:04FE 4A tax ; CPU:$84FF PRG:04FF AA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero6 -; Global: Branch target inside NmiHandler: taken when OnNonzero6. +; Routine: NmiHandler_OnNonzero11 +; Global: Branch target inside NmiHandler: taken when OnNonzero11. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero6: - bcs NmiHandler_Loop32 ; CPU:$8500 PRG:0500 B0 01 +NmiHandler_OnNonzero11: + bcs NmiHandler_Loop37 ; CPU:$8500 PRG:0500 B0 01 iny ; CPU:$8502 PRG:0502 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop32 -; Global: Branch target inside NmiHandler: taken when Loop32. +; Routine: NmiHandler_Loop37 +; Global: Branch target inside NmiHandler: taken when Loop37. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop32: - lda (Zp00),y ; CPU:$8503 PRG:0503 B1 00 +NmiHandler_Loop37: + lda (VramWritePtrLo),y ; CPU:$8503 PRG:0503 B1 00 sta PPUDATA ; CPU:$8505 PRG:0505 8D 07 20 dex ; CPU:$8508 PRG:0508 CA - bne NmiHandler_OnNonzero6 ; CPU:$8509 PRG:0509 D0 F5 + bne NmiHandler_OnNonzero11 ; CPU:$8509 PRG:0509 D0 F5 sec ; CPU:$850B PRG:050B 38 tya ; CPU:$850C PRG:050C 98 - adc Zp00 ; CPU:$850D PRG:050D 65 00 - sta Zp00 ; CPU:$850F PRG:050F 85 00 + adc VramWritePtrLo ; CPU:$850D PRG:050D 65 00 + sta VramWritePtrLo ; CPU:$850F PRG:050F 85 00 lda #$00 ; CPU:$8511 PRG:0511 A9 00 - adc Zp01 ; CPU:$8513 PRG:0513 65 01 - sta Zp01 ; CPU:$8515 PRG:0515 85 01 + adc VramWritePtrHi ; CPU:$8513 PRG:0513 65 01 + sta VramWritePtrHi ; CPU:$8515 PRG:0515 85 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_8517 ; Global: Branch target inside Sub: taken when 8517. @@ -1015,8 +1394,8 @@ NmiHandler_Loop32: Sub_8517: ldx PPUSTATUS ; CPU:$8517 PRG:0517 AE 02 20 ldy #$00 ; CPU:$851A PRG:051A A0 00 - lda (Zp00),y ; CPU:$851C PRG:051C B1 00 - bne NmiHandler_OnNonzero5 ; CPU:$851E PRG:051E D0 BB + lda (VramWritePtrLo),y ; CPU:$851C PRG:051C B1 00 + bne NmiHandler_OnNonzero10 ; CPU:$851E PRG:051E D0 BB rts ; CPU:$8520 PRG:0520 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8521 @@ -1047,10 +1426,10 @@ Sub_8531: lda #$01 ; CPU:$8531 PRG:0531 A9 01 sta Zp21 ; CPU:$8533 PRG:0533 85 21 ldy #$00 ; CPU:$8535 PRG:0535 A0 00 - lda (Zp02),y ; CPU:$8537 PRG:0537 B1 02 + lda (FrameCounter),y ; CPU:$8537 PRG:0537 B1 02 and #$0F ; CPU:$8539 PRG:0539 29 0F sta Zp05 ; CPU:$853B PRG:053B 85 05 - lda (Zp02),y ; CPU:$853D PRG:053D B1 02 + lda (FrameCounter),y ; CPU:$853D PRG:053D B1 02 lsr a ; CPU:$853F PRG:053F 4A lsr a ; CPU:$8540 PRG:0540 4A lsr a ; CPU:$8541 PRG:0541 4A @@ -1058,49 +1437,49 @@ Sub_8531: sta Zp04 ; CPU:$8543 PRG:0543 85 04 ldx $0760 ; CPU:$8545 PRG:0545 AE 60 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero7 -; Global: Branch target inside NmiHandler: taken when OnNonzero7. +; Routine: NmiHandler_OnNonzero12 +; Global: Branch target inside NmiHandler: taken when OnNonzero12. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero7: - lda Zp01 ; CPU:$8548 PRG:0548 A5 01 +NmiHandler_OnNonzero12: + lda VramWritePtrHi ; CPU:$8548 PRG:0548 A5 01 sta $0761,x ; CPU:$854A PRG:054A 9D 61 07 jsr Sub_8589 ; CPU:$854D PRG:054D 20 89 85 - lda Zp00 ; CPU:$8550 PRG:0550 A5 00 + lda VramWritePtrLo ; CPU:$8550 PRG:0550 A5 00 sta $0761,x ; CPU:$8552 PRG:0552 9D 61 07 jsr Sub_8589 ; CPU:$8555 PRG:0555 20 89 85 lda Zp05 ; CPU:$8558 PRG:0558 A5 05 sta Zp06 ; CPU:$855A PRG:055A 85 06 sta $0761,x ; CPU:$855C PRG:055C 9D 61 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero8 -; Global: Branch target inside NmiHandler: taken when OnNonzero8. +; Routine: NmiHandler_OnNonzero13 +; Global: Branch target inside NmiHandler: taken when OnNonzero13. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero8: +NmiHandler_OnNonzero13: jsr Sub_8589 ; CPU:$855F PRG:055F 20 89 85 iny ; CPU:$8562 PRG:0562 C8 - lda (Zp02),y ; CPU:$8563 PRG:0563 B1 02 + lda (FrameCounter),y ; CPU:$8563 PRG:0563 B1 02 sta $0761,x ; CPU:$8565 PRG:0565 9D 61 07 dec Zp06 ; CPU:$8568 PRG:0568 C6 06 - bne NmiHandler_OnNonzero8 ; CPU:$856A PRG:056A D0 F3 + bne NmiHandler_OnNonzero13 ; CPU:$856A PRG:056A D0 F3 jsr Sub_8589 ; CPU:$856C PRG:056C 20 89 85 stx $0760 ; CPU:$856F PRG:056F 8E 60 07 clc ; CPU:$8572 PRG:0572 18 lda #$20 ; CPU:$8573 PRG:0573 A9 20 - adc Zp00 ; CPU:$8575 PRG:0575 65 00 - sta Zp00 ; CPU:$8577 PRG:0577 85 00 + adc VramWritePtrLo ; CPU:$8575 PRG:0575 65 00 + sta VramWritePtrLo ; CPU:$8577 PRG:0577 85 00 lda #$00 ; CPU:$8579 PRG:0579 A9 00 - adc Zp01 ; CPU:$857B PRG:057B 65 01 - sta Zp01 ; CPU:$857D PRG:057D 85 01 + adc VramWritePtrHi ; CPU:$857B PRG:057B 65 01 + sta VramWritePtrHi ; CPU:$857D PRG:057D 85 01 dec Zp04 ; CPU:$857F PRG:057F C6 04 - bne NmiHandler_OnNonzero7 ; CPU:$8581 PRG:0581 D0 C5 + bne NmiHandler_OnNonzero12 ; CPU:$8581 PRG:0581 D0 C5 lda #$00 ; CPU:$8583 PRG:0583 A9 00 sta $0761,x ; CPU:$8585 PRG:0585 9D 61 07 rts ; CPU:$8588 PRG:0588 60 @@ -1116,38 +1495,313 @@ Sub_8589: inx ; CPU:$8589 PRG:0589 E8 txa ; CPU:$858A PRG:058A 8A cmp #$5F ; CPU:$858B PRG:058B C9 5F - bcc NmiHandler_Loop33 ; CPU:$858D PRG:058D 90 0A + bcc NmiHandler_Loop38 ; CPU:$858D PRG:058D 90 0A ldx $0760 ; CPU:$858F PRG:058F AE 60 07 lda #$00 ; CPU:$8592 PRG:0592 A9 00 sta $0761,x ; CPU:$8594 PRG:0594 9D 61 07 pla ; CPU:$8597 PRG:0597 68 pla ; CPU:$8598 PRG:0598 68 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop33 -; Global: Branch target inside NmiHandler: taken when Loop33. +; Routine: NmiHandler_Loop38 +; Global: Branch target inside NmiHandler: taken when Loop38. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop33: +NmiHandler_Loop38: rts ; CPU:$8599 PRG:0599 60 -; ---- data $859A-$867D (228 bytes) ---- - .byte $48, $A5, $4D, $F0, $04, $68, $A9, $00, $60, $68, $18, $69, $01, $29, $0F, $0A ; CPU:$859A PRG:059A 48 A5 4D F0 04 68 A9 00 60 68 18 69 01 29 0F 0A - .byte $0A, $AA, $A5, $04, $F0, $27, $B5, $50, $F0, $27, $18, $B5, $53, $85, $03, $A5 ; CPU:$85AA PRG:05AA 0A AA A5 04 F0 27 B5 50 F0 27 18 B5 53 85 03 A5 - .byte $07, $20, $2C, $86, $95, $53, $B5, $52, $85, $03, $A5, $06, $20, $2C, $86, $95 ; CPU:$85BA PRG:05BA 07 20 2C 86 95 53 B5 52 85 03 A5 06 20 2C 86 95 - .byte $52, $B5, $51, $85, $03, $A5, $05, $20, $2C, $86, $95, $51, $60, $B5, $50, $F0 ; CPU:$85CA PRG:05CA 52 B5 51 85 03 A5 05 20 2C 86 95 51 60 B5 50 F0 - .byte $D9, $38, $B5, $53, $85, $03, $A5, $07, $20, $4D, $86, $95, $53, $B5, $52, $85 ; CPU:$85DA PRG:05DA D9 38 B5 53 85 03 A5 07 20 4D 86 95 53 B5 52 85 - .byte $03, $A5, $06, $20, $4D, $86, $95, $52, $B5, $51, $85, $03, $A5, $05, $20, $4D ; CPU:$85EA PRG:05EA 03 A5 06 20 4D 86 95 52 B5 51 85 03 A5 05 20 4D - .byte $86, $95, $51, $B5, $51, $D0, $08, $B5, $52, $D0, $04, $B5, $53, $F0, $06, $B0 ; CPU:$85FA PRG:05FA 86 95 51 B5 51 D0 08 B5 52 D0 04 B5 53 F0 06 B0 - .byte $20, $B5, $50, $49, $FF, $95, $50, $38, $A9, $00, $85, $03, $B5, $53, $20, $4D ; CPU:$860A PRG:060A 20 B5 50 49 FF 95 50 38 A9 00 85 03 B5 53 20 4D - .byte $86, $95, $53, $B5, $52, $20, $4D, $86, $95, $52, $B5, $51, $20, $4D, $86, $95 ; CPU:$861A PRG:061A 86 95 53 B5 52 20 4D 86 95 52 B5 51 20 4D 86 95 - .byte $51, $60, $20, $6F, $86, $65, $01, $C9, $0A, $90, $02, $69, $05, $18, $65, $02 ; CPU:$862A PRG:062A 51 60 20 6F 86 65 01 C9 0A 90 02 69 05 18 65 02 - .byte $85, $02, $A5, $03, $29, $F0, $65, $02, $90, $04, $69, $5F, $38, $60, $C9, $A0 ; CPU:$863A PRG:063A 85 02 A5 03 29 F0 65 02 90 04 69 5F 38 60 C9 A0 - .byte $B0, $F8, $60, $20, $6F, $86, $E5, $01, $85, $01, $B0, $0A, $69, $0A, $85, $01 ; CPU:$864A PRG:064A B0 F8 60 20 6F 86 E5 01 85 01 B0 0A 69 0A 85 01 - .byte $A5, $02, $69, $0F, $85, $02, $A5, $03, $29, $F0, $38, $E5, $02, $B0, $03, $69 ; CPU:$865A PRG:065A A5 02 69 0F 85 02 A5 03 29 F0 38 E5 02 B0 03 69 - .byte $A0, $18, $05, $01, $60, $48, $29, $0F, $85, $01, $68, $29, $F0, $85, $02, $A5 ; CPU:$866A PRG:066A A0 18 05 01 60 48 29 0F 85 01 68 29 F0 85 02 A5 - .byte $03, $29, $0F, $60 ; CPU:$867A PRG:067A 03 29 0F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_859A +; Global: Branch target inside Label: taken when 859A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_859A: + pha ; CPU:$859A PRG:059A 48 + lda Zp4D ; CPU:$859B PRG:059B A5 4D + beq NmiHandler_Loop39 ; CPU:$859D PRG:059D F0 04 + pla ; CPU:$859F PRG:059F 68 + lda #$00 ; CPU:$85A0 PRG:05A0 A9 00 + rts ; CPU:$85A2 PRG:05A2 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop39 +; Global: Branch target inside NmiHandler: taken when Loop39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop39: + pla ; CPU:$85A3 PRG:05A3 68 + clc ; CPU:$85A4 PRG:05A4 18 + adc #$01 ; CPU:$85A5 PRG:05A5 69 01 + and #$0F ; CPU:$85A7 PRG:05A7 29 0F + asl a ; CPU:$85A9 PRG:05A9 0A +; ----------------------------------------------------------------------------- +; Routine: Label_85AA +; Global: Branch target inside Label: taken when 85AA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_85AA: + asl a ; CPU:$85AA PRG:05AA 0A +; ----------------------------------------------------------------------------- +; Routine: Label_85AB +; Global: Branch target inside Label: taken when 85AB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_85AB: + tax ; CPU:$85AB PRG:05AB AA + lda Zp04 ; CPU:$85AC PRG:05AC A5 04 + beq NmiHandler_Loop40 ; CPU:$85AE PRG:05AE F0 27 + lda Zp50,x ; CPU:$85B0 PRG:05B0 B5 50 + beq NmiHandler_Loop41 ; CPU:$85B2 PRG:05B2 F0 27 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero2 +; Global: Branch target inside NmiHandler: taken when OnZero2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero2: + clc ; CPU:$85B4 PRG:05B4 18 + lda Zp53,x ; CPU:$85B5 PRG:05B5 B5 53 + sta Zp03 ; CPU:$85B7 PRG:05B7 85 03 + lda Zp07 ; CPU:$85B9 PRG:05B9 A5 07 + jsr Sub_862C ; CPU:$85BB PRG:05BB 20 2C 86 + sta Zp53,x ; CPU:$85BE PRG:05BE 95 53 + lda Zp52,x ; CPU:$85C0 PRG:05C0 B5 52 + sta Zp03 ; CPU:$85C2 PRG:05C2 85 03 + lda Zp06 ; CPU:$85C4 PRG:05C4 A5 06 + jsr Sub_862C ; CPU:$85C6 PRG:05C6 20 2C 86 + sta Zp52,x ; CPU:$85C9 PRG:05C9 95 52 + lda Zp51,x ; CPU:$85CB PRG:05CB B5 51 + sta Zp03 ; CPU:$85CD PRG:05CD 85 03 + lda Zp05 ; CPU:$85CF PRG:05CF A5 05 + jsr Sub_862C ; CPU:$85D1 PRG:05D1 20 2C 86 + sta Zp51,x ; CPU:$85D4 PRG:05D4 95 51 + rts ; CPU:$85D6 PRG:05D6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop40 +; Global: Branch target inside NmiHandler: taken when Loop40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop40: + lda Zp50,x ; CPU:$85D7 PRG:05D7 B5 50 + beq NmiHandler_OnZero2 ; CPU:$85D9 PRG:05D9 F0 D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop41 +; Global: Branch target inside NmiHandler: taken when Loop41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop41: + sec ; CPU:$85DB PRG:05DB 38 + lda Zp53,x ; CPU:$85DC PRG:05DC B5 53 + sta Zp03 ; CPU:$85DE PRG:05DE 85 03 + lda Zp07 ; CPU:$85E0 PRG:05E0 A5 07 + jsr Sub_864D ; CPU:$85E2 PRG:05E2 20 4D 86 + sta Zp53,x ; CPU:$85E5 PRG:05E5 95 53 + lda Zp52,x ; CPU:$85E7 PRG:05E7 B5 52 + sta Zp03 ; CPU:$85E9 PRG:05E9 85 03 + lda Zp06 ; CPU:$85EB PRG:05EB A5 06 + jsr Sub_864D ; CPU:$85ED PRG:05ED 20 4D 86 + sta Zp52,x ; CPU:$85F0 PRG:05F0 95 52 + lda Zp51,x ; CPU:$85F2 PRG:05F2 B5 51 + sta Zp03 ; CPU:$85F4 PRG:05F4 85 03 + lda Zp05 ; CPU:$85F6 PRG:05F6 A5 05 + jsr Sub_864D ; CPU:$85F8 PRG:05F8 20 4D 86 + sta Zp51,x ; CPU:$85FB PRG:05FB 95 51 + lda Zp51,x ; CPU:$85FD PRG:05FD B5 51 + bne NmiHandler_Loop42 ; CPU:$85FF PRG:05FF D0 08 + lda Zp52,x ; CPU:$8601 PRG:0601 B5 52 + bne NmiHandler_Loop42 ; CPU:$8603 PRG:0603 D0 04 + lda Zp53,x ; CPU:$8605 PRG:0605 B5 53 + beq NmiHandler_Loop43 ; CPU:$8607 PRG:0607 F0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop42 +; Global: Branch target inside NmiHandler: taken when Loop42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop42: + bcs NmiHandler_Loop44 ; CPU:$8609 PRG:0609 B0 20 + lda Zp50,x ; CPU:$860B PRG:060B B5 50 + eor #$FF ; CPU:$860D PRG:060D 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop43 +; Global: Branch target inside NmiHandler: taken when Loop43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop43: + sta Zp50,x ; CPU:$860F PRG:060F 95 50 + sec ; CPU:$8611 PRG:0611 38 + lda #$00 ; CPU:$8612 PRG:0612 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8614 +; Global: Branch target inside Label: taken when 8614. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8614: + sta Zp03 ; CPU:$8614 PRG:0614 85 03 + lda Zp53,x ; CPU:$8616 PRG:0616 B5 53 + jsr Sub_864D ; CPU:$8618 PRG:0618 20 4D 86 + sta Zp53,x ; CPU:$861B PRG:061B 95 53 + lda Zp52,x ; CPU:$861D PRG:061D B5 52 + jsr Sub_864D ; CPU:$861F PRG:061F 20 4D 86 + sta Zp52,x ; CPU:$8622 PRG:0622 95 52 + lda Zp51,x ; CPU:$8624 PRG:0624 B5 51 + jsr Sub_864D ; CPU:$8626 PRG:0626 20 4D 86 + sta Zp51,x ; CPU:$8629 PRG:0629 95 51 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop44 +; Global: Branch target inside NmiHandler: taken when Loop44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop44: + rts ; CPU:$862B PRG:062B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_862C +; Global: Branch target inside Sub: taken when 862C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_862C: + jsr Sub_866F ; CPU:$862C PRG:062C 20 6F 86 + adc VramWritePtrHi ; CPU:$862F PRG:062F 65 01 + cmp #$0A ; CPU:$8631 PRG:0631 C9 0A + bcc NmiHandler_Loop45 ; CPU:$8633 PRG:0633 90 02 + adc #$05 ; CPU:$8635 PRG:0635 69 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop45 +; Global: Branch target inside NmiHandler: taken when Loop45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop45: + clc ; CPU:$8637 PRG:0637 18 + adc FrameCounter ; CPU:$8638 PRG:0638 65 02 + sta FrameCounter ; CPU:$863A PRG:063A 85 02 + lda Zp03 ; CPU:$863C PRG:063C A5 03 + and #$F0 ; CPU:$863E PRG:063E 29 F0 + adc FrameCounter ; CPU:$8640 PRG:0640 65 02 + bcc NmiHandler_Loop46 ; CPU:$8642 PRG:0642 90 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet +; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet: + adc #$5F ; CPU:$8644 PRG:0644 69 5F + sec ; CPU:$8646 PRG:0646 38 + rts ; CPU:$8647 PRG:0647 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop46 +; Global: Branch target inside NmiHandler: taken when Loop46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop46: + cmp #$A0 ; CPU:$8648 PRG:0648 C9 A0 + bcs NmiHandler_OnCarrySet ; CPU:$864A PRG:064A B0 F8 + rts ; CPU:$864C PRG:064C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_864D +; Global: Branch target inside Sub: taken when 864D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_864D: + jsr Sub_866F ; CPU:$864D PRG:064D 20 6F 86 + sbc VramWritePtrHi ; CPU:$8650 PRG:0650 E5 01 + sta VramWritePtrHi ; CPU:$8652 PRG:0652 85 01 + bcs NmiHandler_Loop47 ; CPU:$8654 PRG:0654 B0 0A + adc #$0A ; CPU:$8656 PRG:0656 69 0A + sta VramWritePtrHi ; CPU:$8658 PRG:0658 85 01 + lda FrameCounter ; CPU:$865A PRG:065A A5 02 + adc #$0F ; CPU:$865C PRG:065C 69 0F + sta FrameCounter ; CPU:$865E PRG:065E 85 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop47 +; Global: Branch target inside NmiHandler: taken when Loop47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop47: + lda Zp03 ; CPU:$8660 PRG:0660 A5 03 + and #$F0 ; CPU:$8662 PRG:0662 29 F0 + sec ; CPU:$8664 PRG:0664 38 + sbc FrameCounter ; CPU:$8665 PRG:0665 E5 02 + bcs NmiHandler_Loop48 ; CPU:$8667 PRG:0667 B0 03 + adc #$A0 ; CPU:$8669 PRG:0669 69 A0 + clc ; CPU:$866B PRG:066B 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop48 +; Global: Branch target inside NmiHandler: taken when Loop48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop48: + ora VramWritePtrHi ; CPU:$866C PRG:066C 05 01 + rts ; CPU:$866E PRG:066E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_866F +; Global: Branch target inside Sub: taken when 866F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_866F: + pha ; CPU:$866F PRG:066F 48 + and #$0F ; CPU:$8670 PRG:0670 29 0F + sta VramWritePtrHi ; CPU:$8672 PRG:0672 85 01 + pla ; CPU:$8674 PRG:0674 68 + and #$F0 ; CPU:$8675 PRG:0675 29 F0 + sta FrameCounter ; CPU:$8677 PRG:0677 85 02 + lda Zp03 ; CPU:$8679 PRG:0679 A5 03 + and #$0F ; CPU:$867B PRG:067B 29 0F + rts ; CPU:$867D PRG:067D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_867E ; Global: Branch target inside Sub: taken when 867E. @@ -1158,7 +1812,7 @@ NmiHandler_Loop33: ; ----------------------------------------------------------------------------- Sub_867E: lda Zp24 ; CPU:$867E PRG:067E A5 24 - bne NmiHandler_Loop35 ; CPU:$8680 PRG:0680 D0 27 + bne NmiHandler_Loop50 ; CPU:$8680 PRG:0680 D0 27 lda $07F0 ; CPU:$8682 PRG:0682 AD F0 07 and #$02 ; CPU:$8685 PRG:0685 29 02 sta Zp07 ; CPU:$8687 PRG:0687 85 07 @@ -1166,17 +1820,17 @@ Sub_867E: and #$02 ; CPU:$868C PRG:068C 29 02 eor Zp07 ; CPU:$868E PRG:068E 45 07 clc ; CPU:$8690 PRG:0690 18 - beq NmiHandler_Loop34 ; CPU:$8691 PRG:0691 F0 01 + beq NmiHandler_Loop49 ; CPU:$8691 PRG:0691 F0 01 sec ; CPU:$8693 PRG:0693 38 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop34 -; Global: Branch target inside NmiHandler: taken when Loop34. +; Routine: NmiHandler_Loop49 +; Global: Branch target inside NmiHandler: taken when Loop49. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop34: +NmiHandler_Loop49: ror $07F0 ; CPU:$8694 PRG:0694 6E F0 07 ror $07F1 ; CPU:$8697 PRG:0697 6E F1 07 ror $07F2 ; CPU:$869A PRG:069A 6E F2 07 @@ -1185,14 +1839,14 @@ NmiHandler_Loop34: adc $07F3 ; CPU:$86A3 PRG:06A3 6D F3 07 adc $07F1 ; CPU:$86A6 PRG:06A6 6D F1 07 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop35 -; Global: Branch target inside NmiHandler: taken when Loop35. +; Routine: NmiHandler_Loop50 +; Global: Branch target inside NmiHandler: taken when Loop50. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop35: +NmiHandler_Loop50: sta $07F0 ; CPU:$86A9 PRG:06A9 8D F0 07 rts ; CPU:$86AC PRG:06AC 60 ; ----------------------------------------------------------------------------- @@ -1210,16 +1864,16 @@ Sub_86AD: sta Zp20 ; CPU:$86B4 PRG:06B4 85 20 sta Zp30 ; CPU:$86B6 PRG:06B6 85 30 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero2 -; Global: Branch target inside NmiHandler: taken when OnZero2. +; Routine: NmiHandler_OnZero3 +; Global: Branch target inside NmiHandler: taken when OnZero3. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero2: +NmiHandler_OnZero3: lda Zp20 ; CPU:$86B8 PRG:06B8 A5 20 - beq NmiHandler_OnZero2 ; CPU:$86BA PRG:06BA F0 FC + beq NmiHandler_OnZero3 ; CPU:$86BA PRG:06BA F0 FC stx Zp30 ; CPU:$86BC PRG:06BC 86 30 rts ; CPU:$86BE PRG:06BE 60 ; ----------------------------------------------------------------------------- @@ -1232,14 +1886,68 @@ NmiHandler_OnZero2: ; ----------------------------------------------------------------------------- Sub_86BF: jsr Sub_86AD ; CPU:$86BF PRG:06BF 20 AD 86 - lda Zp09 ; CPU:$86C2 PRG:06C2 A5 09 + lda PpuMaskShadow ; CPU:$86C2 PRG:06C2 A5 09 and #$E7 ; CPU:$86C4 PRG:06C4 29 E7 - sta Zp09 ; CPU:$86C6 PRG:06C6 85 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero14 +; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero14: + sta PpuMaskShadow ; CPU:$86C6 PRG:06C6 85 09 sta PPUMASK ; CPU:$86C8 PRG:06C8 8D 01 20 rts ; CPU:$86CB PRG:06CB 60 -; ---- data $86CC-$86E4 (25 bytes) ---- - .byte $20, $AD, $86, $A5, $09, $09, $18, $D0, $F1, $86, $00, $84, $01, $4C, $17, $85 ; CPU:$86CC PRG:06CC 20 AD 86 A5 09 09 18 D0 F1 86 00 84 01 4C 17 85 - .byte $A5, $2C, $D0, $04, $A5, $1E, $85, $25, $60 ; CPU:$86DC PRG:06DC A5 2C D0 04 A5 1E 85 25 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_86CC +; Global: Branch target inside Sub: taken when 86CC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86CC: + jsr Sub_86AD ; CPU:$86CC PRG:06CC 20 AD 86 + lda PpuMaskShadow ; CPU:$86CF PRG:06CF A5 09 + ora #$18 ; CPU:$86D1 PRG:06D1 09 18 + bne NmiHandler_OnNonzero14 ; CPU:$86D3 PRG:06D3 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_86D5 +; Global: Branch target inside Sub: taken when 86D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86D5: + stx VramWritePtrLo ; CPU:$86D5 PRG:06D5 86 00 + sty VramWritePtrHi ; CPU:$86D7 PRG:06D7 84 01 + jmp Sub_8517 ; CPU:$86D9 PRG:06D9 4C 17 85 +; ----------------------------------------------------------------------------- +; Routine: Label_86DC +; Global: Branch target inside Label: taken when 86DC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_86DC: + lda Zp2C ; CPU:$86DC PRG:06DC A5 2C + bne NmiHandler_Loop51 ; CPU:$86DE PRG:06DE D0 04 + lda Zp1E ; CPU:$86E0 PRG:06E0 A5 1E + sta FrameCounter2 ; CPU:$86E2 PRG:06E2 85 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop51 +; Global: Branch target inside NmiHandler: taken when Loop51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop51: + rts ; CPU:$86E4 PRG:06E4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_86E5 ; Global: Branch target inside Sub: taken when 86E5. @@ -1252,15 +1960,201 @@ Sub_86E5: stx Zp1E ; CPU:$86E5 PRG:06E5 86 1E sta Zp2C ; CPU:$86E7 PRG:06E7 85 2C lda #$12 ; CPU:$86E9 PRG:06E9 A9 12 - sta Zp25 ; CPU:$86EB PRG:06EB 85 25 + sta FrameCounter2 ; CPU:$86EB PRG:06EB 85 25 rts ; CPU:$86ED PRG:06ED 60 -; ---- data $86EE-$8743 (86 bytes) ---- - .byte $A0, $03, $84, $01, $A0, $00, $84, $00, $A9, $00, $91, $00, $C8, $D0, $FB, $E6 ; CPU:$86EE PRG:06EE A0 03 84 01 A0 00 84 00 A9 00 91 00 C8 D0 FB E6 - .byte $01, $A5, $01, $C9, $07, $D0, $F1, $60, $A9, $01, $D0, $1A, $A9, $02, $D0, $16 ; CPU:$86FE PRG:06FE 01 A5 01 C9 07 D0 F1 60 A9 01 D0 1A A9 02 D0 16 - .byte $A9, $04, $D0, $12, $A9, $08, $D0, $0E, $A9, $10, $D0, $0A, $A9, $20, $D0, $06 ; CPU:$870E PRG:070E A9 04 D0 12 A9 08 D0 0E A9 10 D0 0A A9 20 D0 06 - .byte $A9, $40, $D0, $02, $A9, $80, $48, $A5, $24, $F0, $02, $68, $60, $68, $05, $FF ; CPU:$871E PRG:071E A9 40 D0 02 A9 80 48 A5 24 F0 02 68 60 68 05 FF - .byte $85, $FF, $60, $A9, $01, $48, $A5, $24, $F0, $02, $68, $60, $68, $05, $FE, $85 ; CPU:$872E PRG:072E 85 FF 60 A9 01 48 A5 24 F0 02 68 60 68 05 FE 85 - .byte $FE, $60, $A9, $01, $D0, $06 ; CPU:$873E PRG:073E FE 60 A9 01 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_86EE +; Global: Branch target inside Sub: taken when 86EE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86EE: + ldy #$03 ; CPU:$86EE PRG:06EE A0 03 + sty VramWritePtrHi ; CPU:$86F0 PRG:06F0 84 01 + ldy #$00 ; CPU:$86F2 PRG:06F2 A0 00 + sty VramWritePtrLo ; CPU:$86F4 PRG:06F4 84 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero15 +; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero15: + lda #$00 ; CPU:$86F6 PRG:06F6 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero16 +; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero16: + sta (VramWritePtrLo),y ; CPU:$86F8 PRG:06F8 91 00 + iny ; CPU:$86FA PRG:06FA C8 + bne NmiHandler_OnNonzero16 ; CPU:$86FB PRG:06FB D0 FB + inc VramWritePtrHi ; CPU:$86FD PRG:06FD E6 01 + lda VramWritePtrHi ; CPU:$86FF PRG:06FF A5 01 + cmp #$07 ; CPU:$8701 PRG:0701 C9 07 + bne NmiHandler_OnNonzero15 ; CPU:$8703 PRG:0703 D0 F1 + rts ; CPU:$8705 PRG:0705 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8706 +; Global: Branch target inside Sub: taken when 8706. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8706: + lda #$01 ; CPU:$8706 PRG:0706 A9 01 + bne NmiHandler_Loop52 ; CPU:$8708 PRG:0708 D0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_870A +; Global: Branch target inside Sub: taken when 870A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_870A: + lda #$02 ; CPU:$870A PRG:070A A9 02 + bne NmiHandler_Loop52 ; CPU:$870C PRG:070C D0 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_870E +; Global: Branch target inside Sub: taken when 870E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_870E: + lda #$04 ; CPU:$870E PRG:070E A9 04 + bne NmiHandler_Loop52 ; CPU:$8710 PRG:0710 D0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_8712 +; Global: Branch target inside Sub: taken when 8712. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8712: + lda #$08 ; CPU:$8712 PRG:0712 A9 08 + bne NmiHandler_Loop52 ; CPU:$8714 PRG:0714 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_8716 +; Global: Branch target inside Sub: taken when 8716. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8716: + lda #$10 ; CPU:$8716 PRG:0716 A9 10 + bne NmiHandler_Loop52 ; CPU:$8718 PRG:0718 D0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_871A +; Global: Branch target inside Sub: taken when 871A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_871A: + lda #$20 ; CPU:$871A PRG:071A A9 20 + bne NmiHandler_Loop52 ; CPU:$871C PRG:071C D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_871E +; Global: Branch target inside Sub: taken when 871E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_871E: + lda #$40 ; CPU:$871E PRG:071E A9 40 + bne NmiHandler_Loop52 ; CPU:$8720 PRG:0720 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_8722 +; Global: Branch target inside Sub: taken when 8722. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8722: + lda #$80 ; CPU:$8722 PRG:0722 A9 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop52 +; Global: Branch target inside NmiHandler: taken when Loop52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop52: + pha ; CPU:$8724 PRG:0724 48 + lda Zp24 ; CPU:$8725 PRG:0725 A5 24 + beq NmiHandler_Loop53 ; CPU:$8727 PRG:0727 F0 02 + pla ; CPU:$8729 PRG:0729 68 + rts ; CPU:$872A PRG:072A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop53 +; Global: Branch target inside NmiHandler: taken when Loop53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop53: + pla ; CPU:$872B PRG:072B 68 + ora ZpFF ; CPU:$872C PRG:072C 05 FF + sta ZpFF ; CPU:$872E PRG:072E 85 FF + rts ; CPU:$8730 PRG:0730 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8731 +; Global: Branch target inside Sub: taken when 8731. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8731: + lda #$01 ; CPU:$8731 PRG:0731 A9 01 + pha ; CPU:$8733 PRG:0733 48 + lda Zp24 ; CPU:$8734 PRG:0734 A5 24 + beq NmiHandler_Loop54 ; CPU:$8736 PRG:0736 F0 02 + pla ; CPU:$8738 PRG:0738 68 + rts ; CPU:$8739 PRG:0739 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop54 +; Global: Branch target inside NmiHandler: taken when Loop54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop54: + pla ; CPU:$873A PRG:073A 68 + ora ZpFE ; CPU:$873B PRG:073B 05 FE + sta ZpFE ; CPU:$873D PRG:073D 85 FE + rts ; CPU:$873F PRG:073F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8740 +; Global: Branch target inside Sub: taken when 8740. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8740: + lda #$01 ; CPU:$8740 PRG:0740 A9 01 + bne NmiHandler_Loop55 ; CPU:$8742 PRG:0742 D0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_8744 ; Global: Branch target inside Sub: taken when 8744. @@ -1271,41 +2165,170 @@ Sub_86E5: ; ----------------------------------------------------------------------------- Sub_8744: lda #$02 ; CPU:$8744 PRG:0744 A9 02 - bne NmiHandler_Loop36 ; CPU:$8746 PRG:0746 D0 02 + bne NmiHandler_Loop55 ; CPU:$8746 PRG:0746 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_8748 +; Global: Branch target inside Sub: taken when 8748. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8748: lda #$04 ; CPU:$8748 PRG:0748 A9 04 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop36 -; Global: Branch target inside NmiHandler: taken when Loop36. +; Routine: NmiHandler_Loop55 +; Global: Branch target inside NmiHandler: taken when Loop55. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop36: +NmiHandler_Loop55: pha ; CPU:$874A PRG:074A 48 lda Zp24 ; CPU:$874B PRG:074B A5 24 - beq NmiHandler_Loop37 ; CPU:$874D PRG:074D F0 02 + beq NmiHandler_Loop56 ; CPU:$874D PRG:074D F0 02 pla ; CPU:$874F PRG:074F 68 rts ; CPU:$8750 PRG:0750 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop37 -; Global: Branch target inside NmiHandler: taken when Loop37. +; Routine: NmiHandler_Loop56 +; Global: Branch target inside NmiHandler: taken when Loop56. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop37: +NmiHandler_Loop56: pla ; CPU:$8751 PRG:0751 68 ora ZpFD ; CPU:$8752 PRG:0752 05 FD sta ZpFD ; CPU:$8754 PRG:0754 85 FD rts ; CPU:$8756 PRG:0756 60 -; ---- data $8757-$8799 (67 bytes) ---- - .byte $A9, $01, $D0, $1A, $A9, $02, $D0, $16, $A9, $04, $D0, $12, $A9, $08, $D0, $0E ; CPU:$8757 PRG:0757 A9 01 D0 1A A9 02 D0 16 A9 04 D0 12 A9 08 D0 0E - .byte $A9, $10, $D0, $0A, $A9, $20, $D0, $06, $A9, $40, $D0, $02, $A9, $80, $48, $A5 ; CPU:$8767 PRG:0767 A9 10 D0 0A A9 20 D0 06 A9 40 D0 02 A9 80 48 A5 - .byte $24, $F0, $02, $68, $60, $68, $05, $FC, $85, $FC, $60, $A9, $01, $D0, $1A, $A9 ; CPU:$8777 PRG:0777 24 F0 02 68 60 68 05 FC 85 FC 60 A9 01 D0 1A A9 - .byte $02, $D0, $16, $A9, $04, $D0, $1A, $A9, $08, $D0, $0E, $A9, $10, $D0, $12, $A9 ; CPU:$8787 PRG:0787 02 D0 16 A9 04 D0 1A A9 08 D0 0E A9 10 D0 12 A9 - .byte $20, $D0, $06 ; CPU:$8797 PRG:0797 20 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_8757 +; Global: Branch target inside Sub: taken when 8757. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8757: + lda #$01 ; CPU:$8757 PRG:0757 A9 01 + bne NmiHandler_Loop57 ; CPU:$8759 PRG:0759 D0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_875B +; Global: Branch target inside Sub: taken when 875B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_875B: + lda #$02 ; CPU:$875B PRG:075B A9 02 + bne NmiHandler_Loop57 ; CPU:$875D PRG:075D D0 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_875F +; Global: Branch target inside Sub: taken when 875F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_875F: + lda #$04 ; CPU:$875F PRG:075F A9 04 + bne NmiHandler_Loop57 ; CPU:$8761 PRG:0761 D0 12 + lda #$08 ; CPU:$8763 PRG:0763 A9 08 + bne NmiHandler_Loop57 ; CPU:$8765 PRG:0765 D0 0E + lda #$10 ; CPU:$8767 PRG:0767 A9 10 + bne NmiHandler_Loop57 ; CPU:$8769 PRG:0769 D0 0A + lda #$20 ; CPU:$876B PRG:076B A9 20 + bne NmiHandler_Loop57 ; CPU:$876D PRG:076D D0 06 + lda #$40 ; CPU:$876F PRG:076F A9 40 + bne NmiHandler_Loop57 ; CPU:$8771 PRG:0771 D0 02 + lda #$80 ; CPU:$8773 PRG:0773 A9 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop57 +; Global: Branch target inside NmiHandler: taken when Loop57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop57: + pha ; CPU:$8775 PRG:0775 48 + lda Zp24 ; CPU:$8776 PRG:0776 A5 24 + beq NmiHandler_Loop58 ; CPU:$8778 PRG:0778 F0 02 + pla ; CPU:$877A PRG:077A 68 + rts ; CPU:$877B PRG:077B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop58 +; Global: Branch target inside NmiHandler: taken when Loop58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop58: + pla ; CPU:$877C PRG:077C 68 + ora ZpFC ; CPU:$877D PRG:077D 05 FC + sta ZpFC ; CPU:$877F PRG:077F 85 FC + rts ; CPU:$8781 PRG:0781 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8782 +; Global: Branch target inside Label: taken when 8782. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8782: + lda #$01 ; CPU:$8782 PRG:0782 A9 01 + bne NmiHandler_Loop59 ; CPU:$8784 PRG:0784 D0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_8786 +; Global: Branch target inside Sub: taken when 8786. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8786: + lda #$02 ; CPU:$8786 PRG:0786 A9 02 + bne NmiHandler_Loop59 ; CPU:$8788 PRG:0788 D0 16 + lda #$04 ; CPU:$878A PRG:078A A9 04 + bne NmiHandler_Loop61 ; CPU:$878C PRG:078C D0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_878E +; Global: Branch target inside Sub: taken when 878E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_878E: + lda #$08 ; CPU:$878E PRG:078E A9 08 + bne NmiHandler_Loop59 ; CPU:$8790 PRG:0790 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_8792 +; Global: Branch target inside Sub: taken when 8792. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8792: + lda #$10 ; CPU:$8792 PRG:0792 A9 10 + bne NmiHandler_Loop61 ; CPU:$8794 PRG:0794 D0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_8796 +; Global: Branch target inside Sub: taken when 8796. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8796: + lda #$20 ; CPU:$8796 PRG:0796 A9 20 + bne NmiHandler_Loop59 ; CPU:$8798 PRG:0798 D0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_879A ; Global: Branch target inside Sub: taken when 879A. @@ -1316,7 +2339,7 @@ NmiHandler_Loop37: ; ----------------------------------------------------------------------------- Sub_879A: lda #$40 ; CPU:$879A PRG:079A A9 40 - bne NmiHandler_Loop38 ; CPU:$879C PRG:079C D0 02 + bne NmiHandler_Loop59 ; CPU:$879C PRG:079C D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_879E ; Global: Branch target inside Sub: taken when 879E. @@ -1328,129 +2351,1330 @@ Sub_879A: Sub_879E: lda #$80 ; CPU:$879E PRG:079E A9 80 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop38 -; Global: Branch target inside NmiHandler: taken when Loop38. +; Routine: NmiHandler_Loop59 +; Global: Branch target inside NmiHandler: taken when Loop59. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop38: +NmiHandler_Loop59: pha ; CPU:$87A0 PRG:07A0 48 lda Zp24 ; CPU:$87A1 PRG:07A1 A5 24 - beq NmiHandler_Loop39 ; CPU:$87A3 PRG:07A3 F0 02 + beq NmiHandler_Loop60 ; CPU:$87A3 PRG:07A3 F0 02 pla ; CPU:$87A5 PRG:07A5 68 rts ; CPU:$87A6 PRG:07A6 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop39 -; Global: Branch target inside NmiHandler: taken when Loop39. +; Routine: NmiHandler_Loop60 +; Global: Branch target inside NmiHandler: taken when Loop60. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop39: +NmiHandler_Loop60: pla ; CPU:$87A7 PRG:07A7 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop61 +; Global: Branch target inside NmiHandler: taken when Loop61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop61: ora ZpFB ; CPU:$87A8 PRG:07A8 05 FB sta ZpFB ; CPU:$87AA PRG:07AA 85 FB rts ; CPU:$87AC PRG:07AC 60 -; ---- data $87AD-$8D0F (1379 bytes) ---- - .byte $A6, $79, $A4, $77, $BD, $02, $03, $85, $70, $0A, $0A, $0A, $0A, $99, $40, $01 ; CPU:$87AD PRG:07AD A6 79 A4 77 BD 02 03 85 70 0A 0A 0A 0A 99 40 01 - .byte $BD, $03, $03, $85, $71, $BD, $04, $03, $85, $72, $0A, $0A, $0A, $99, $50, $01 ; CPU:$87BD PRG:07BD BD 03 03 85 71 BD 04 03 85 72 0A 0A 0A 99 50 01 - .byte $BD, $05, $03, $85, $73, $20, $83, $88, $A4, $77, $A5, $70, $99, $00, $01, $99 ; CPU:$87CD PRG:07CD BD 05 03 85 73 20 83 88 A4 77 A5 70 99 00 01 99 - .byte $20, $01, $A5, $72, $99, $30, $01, $05, $70, $D0, $01, $60, $A4, $77, $B9, $10 ; CPU:$87DD PRG:07DD 20 01 A5 72 99 30 01 05 70 D0 01 60 A4 77 B9 10 - .byte $01, $F0, $F8, $85, $75, $A6, $79, $A9, $00, $85, $15, $BD, $06, $03, $A0, $04 ; CPU:$87ED PRG:07ED 01 F0 F8 85 75 A6 79 A9 00 85 15 BD 06 03 A0 04 - .byte $0A, $26, $15, $88, $D0, $FA, $18, $69, $53, $85, $14, $A5, $15, $69, $AC, $85 ; CPU:$87FD PRG:07FD 0A 26 15 88 D0 FA 18 69 53 85 14 A5 15 69 AC 85 - .byte $15, $BD, $01, $03, $29, $0F, $A0, $00, $C9, $01, $F0, $05, $C9, $05, $B0, $01 ; CPU:$880D PRG:080D 15 BD 01 03 29 0F A0 00 C9 01 F0 05 C9 05 B0 01 - .byte $C8, $84, $0C, $BD, $0F, $03, $2A, $A9, $00, $2A, $C0, $00, $F0, $02, $09, $40 ; CPU:$881D PRG:081D C8 84 0C BD 0F 03 2A A9 00 2A C0 00 F0 02 09 40 - .byte $85, $74, $A0, $00, $A6, $75, $B1, $14, $C8, $18, $65, $70, $9D, $00, $02, $E8 ; CPU:$882D PRG:082D 85 74 A0 00 A6 75 B1 14 C8 18 65 70 9D 00 02 E8 - .byte $B1, $14, $C8, $9D, $00, $02, $E8, $B1, $14, $C8, $45, $74, $9D, $00, $02, $E8 ; CPU:$883D PRG:083D B1 14 C8 9D 00 02 E8 B1 14 C8 45 74 9D 00 02 E8 - .byte $A5, $0C, $D0, $08, $B1, $14, $18, $65, $72, $4C, $61, $88, $A5, $72, $38, $F1 ; CPU:$884D PRG:084D A5 0C D0 08 B1 14 18 65 72 4C 61 88 A5 72 38 F1 - .byte $14, $38, $E9, $08, $9D, $00, $02, $C8, $E8, $C0, $10, $F0, $12, $B1, $14, $C9 ; CPU:$885D PRG:085D 14 38 E9 08 9D 00 02 C8 E8 C0 10 F0 12 B1 14 C9 - .byte $AA, $D0, $C5, $A9, $F4, $9D, $00, $02, $C0, $0C, $F0, $03, $9D, $04, $02, $60 ; CPU:$886D PRG:086D AA D0 C5 A9 F4 9D 00 02 C0 0C F0 03 9D 04 02 60 - .byte $49, $FF, $18, $69, $01, $60, $A5, $71, $85, $00, $A5, $70, $20, $07, $95, $4A ; CPU:$887D PRG:087D 49 FF 18 69 01 60 A5 71 85 00 A5 70 20 07 95 4A - .byte $4A, $4A, $A8, $B9, $21, $89, $48, $A5, $72, $29, $F0, $D0, $10, $A5, $73, $20 ; CPU:$888D PRG:088D 4A 4A A8 B9 21 89 48 A5 72 29 F0 D0 10 A5 73 20 - .byte $7D, $88, $85, $0D, $A5, $72, $49, $FF, $69, $00, $4C, $B0, $88, $A5, $73, $85 ; CPU:$889D PRG:089D 7D 88 85 0D A5 72 49 FF 69 00 4C B0 88 A5 73 85 - .byte $0D, $A5, $72, $29, $0F, $4A, $AA, $A5, $0D, $6A, $A8, $68, $20, $61, $8E, $86 ; CPU:$88AD PRG:08AD 0D A5 72 29 0F 4A AA A5 0D 6A A8 68 20 61 8E 86 - .byte $0C, $84, $0D, $A5, $72, $29, $F0, $D0, $0E, $A5, $73, $38, $E5, $0D, $85, $0F ; CPU:$88BD PRG:08BD 0C 84 0D A5 72 29 F0 D0 0E A5 73 38 E5 0D 85 0F - .byte $A5, $72, $E5, $0C, $4C, $DF, $88, $A5, $73, $18, $65, $0D, $85, $0F, $A5, $72 ; CPU:$88CD PRG:08CD A5 72 E5 0C 4C DF 88 A5 73 18 65 0D 85 0F A5 72 - .byte $65, $0C, $85, $0E, $A5, $0A, $4A, $4A, $4A, $4A, $85, $0C, $A5, $0A, $0A, $0A ; CPU:$88DD PRG:08DD 65 0C 85 0E A5 0A 4A 4A 4A 4A 85 0C A5 0A 0A 0A - .byte $0A, $0A, $85, $0D, $A5, $0F, $38, $E5, $0D, $85, $00, $A5, $0E, $E5, $0C, $90 ; CPU:$88ED PRG:08ED 0A 0A 85 0D A5 0F 38 E5 0D 85 00 A5 0E E5 0C 90 - .byte $1C, $C9, $10, $B0, $18, $20, $07, $95, $C9, $07, $90, $11, $85, $72, $A5, $71 ; CPU:$88FD PRG:08FD 1C C9 10 B0 18 20 07 95 C9 07 90 11 85 72 A5 71 - .byte $85, $00, $A5, $70, $20, $07, $95, $85, $70, $EA, $EA, $EA, $60, $A9, $00, $85 ; CPU:$890D PRG:090D 85 00 A5 70 20 07 95 85 70 EA EA EA 60 A9 00 85 - .byte $70, $85, $72, $60, $10, $10, $10, $10, $11, $13, $15, $17, $19, $1A, $1C, $1E ; CPU:$891D PRG:091D 70 85 72 60 10 10 10 10 11 13 15 17 19 1A 1C 1E - .byte $20, $22, $24, $26, $28, $29, $2B, $2D, $2F, $31, $33, $35, $37, $38, $3A, $3C ; CPU:$892D PRG:092D 20 22 24 26 28 29 2B 2D 2F 31 33 35 37 38 3A 3C - .byte $3E, $40, $42, $44, $A5, $2E, $29, $02, $D0, $08, $A5, $16, $A0, $00, $A2, $00 ; CPU:$893D PRG:093D 3E 40 42 44 A5 2E 29 02 D0 08 A5 16 A0 00 A2 00 - .byte $F0, $0A, $A5, $47, $F0, $11, $A5, $17, $A0, $06, $A2, $14, $29, $0F, $85, $02 ; CPU:$894D PRG:094D F0 0A A5 47 F0 11 A5 17 A0 06 A2 14 29 0F 85 02 - .byte $D0, $06, $A9, $00, $9D, $BD, $06, $60, $BD, $BD, $06, $D0, $FA, $FE, $BD, $06 ; CPU:$895D PRG:095D D0 06 A9 00 9D BD 06 60 BD BD 06 D0 FA FE BD 06 - .byte $BD, $BA, $06, $D0, $F2, $BD, $B8, $06, $18, $69, $01, $C9, $06, $D0, $02, $A9 ; CPU:$896D PRG:096D BD BA 06 D0 F2 BD B8 06 18 69 01 C9 06 D0 02 A9 - .byte $00, $C9, $0C, $D0, $02, $A9, $06, $DD, $B0, $06, $F0, $EC, $9D, $B8, $06, $A9 ; CPU:$897D PRG:097D 00 C9 0C D0 02 A9 06 DD B0 06 F0 EC 9D B8 06 A9 - .byte $01, $9D, $BE, $06, $A9, $08, $9D, $BF, $06, $60, $A4, $7B, $A2, $00, $A5, $16 ; CPU:$898D PRG:098D 01 9D BE 06 A9 08 9D BF 06 60 A4 7B A2 00 A5 16 - .byte $20, $A6, $89, $A4, $7B, $A2, $14, $A5, $17, $29, $0C, $F0, $15, $29, $08, $F0 ; CPU:$899D PRG:099D 20 A6 89 A4 7B A2 14 A5 17 29 0C F0 15 29 08 F0 - .byte $12, $DE, $C0, $06, $BD, $C0, $06, $D9, $D2, $89, $B0, $06, $B9, $D7, $89, $9D ; CPU:$89AD PRG:09AD 12 DE C0 06 BD C0 06 D9 D2 89 B0 06 B9 D7 89 9D - .byte $C0, $06, $60, $FE, $C0, $06, $BD, $C0, $06, $D9, $D7, $89, $90, $F4, $B9, $D2 ; CPU:$89BD PRG:09BD C0 06 60 FE C0 06 BD C0 06 D9 D7 89 90 F4 B9 D2 - .byte $89, $9D, $C0, $06, $60, $5A, $58, $54, $50, $4D, $8F, $94, $99, $9D, $A1, $A2 ; CPU:$89CD PRG:09CD 89 9D C0 06 60 5A 58 54 50 4D 8F 94 99 9D A1 A2 - .byte $00, $A0, $20, $20, $7B, $8A, $A5, $47, $F0, $07, $A2, $14, $A0, $28, $20, $7B ; CPU:$89DD PRG:09DD 00 A0 20 20 7B 8A A5 47 F0 07 A2 14 A0 28 20 7B - .byte $8A, $A2, $14, $A5, $24, $D0, $54, $AD, $60, $05, $D0, $4F, $AD, $E7, $06, $C9 ; CPU:$89ED PRG:09ED 8A A2 14 A5 24 D0 54 AD 60 05 D0 4F AD E7 06 C9 - .byte $11, $F0, $48, $A5, $0A, $C9, $40, $B0, $06, $A5, $47, $D0, $08, $F0, $3C, $A2 ; CPU:$89FD PRG:09FD 11 F0 48 A5 0A C9 40 B0 06 A5 47 D0 08 F0 3C A2 - .byte $00, $C9, $C0, $90, $36, $86, $79, $A9, $00, $85, $71, $BD, $C0, $06, $4A, $66 ; CPU:$8A0D PRG:0A0D 00 C9 C0 90 36 86 79 A9 00 85 71 BD C0 06 4A 66 - .byte $71, $4A, $66, $71, $4A, $66, $71, $4A, $66, $71, $85, $70, $A9, $1C, $A0, $00 ; CPU:$8A1D PRG:0A1D 71 4A 66 71 4A 66 71 4A 66 71 85 70 A9 1C A0 00 - .byte $E0, $00, $F0, $04, $A9, $03, $A0, $80, $85, $72, $84, $73, $20, $83, $88, $A6 ; CPU:$8A2D PRG:0A2D E0 00 F0 04 A9 03 A0 80 85 72 84 73 20 83 88 A6 - .byte $79, $A5, $70, $F0, $06, $38, $E9, $04, $4C, $4A, $8A, $A9, $F4, $8D, $10, $02 ; CPU:$8A3D PRG:0A3D 79 A5 70 F0 06 38 E9 04 4C 4A 8A A9 F4 8D 10 02 - .byte $A9, $FE, $8D, $11, $02, $A0, $42, $E0, $00, $F0, $02, $A0, $02, $BD, $C3, $06 ; CPU:$8A4D PRG:0A4D A9 FE 8D 11 02 A0 42 E0 00 F0 02 A0 02 BD C3 06 - .byte $F0, $06, $DE, $C3, $06, $4C, $6A, $8A, $A9, $04, $9D, $C3, $06, $BD, $C3, $06 ; CPU:$8A5D PRG:0A5D F0 06 DE C3 06 4C 6A 8A A9 04 9D C3 06 BD C3 06 - .byte $C9, $02, $90, $01, $C8, $8C, $12, $02, $A5, $72, $8D, $13, $02, $60, $86, $79 ; CPU:$8A6D PRG:0A6D C9 02 90 01 C8 8C 12 02 A5 72 8D 13 02 60 86 79 - .byte $A5, $24, $D0, $11, $AD, $60, $05, $D0, $0C, $AD, $E7, $06, $C9, $11, $F0, $05 ; CPU:$8A7D PRG:0A7D A5 24 D0 11 AD 60 05 D0 0C AD E7 06 C9 11 F0 05 - .byte $AD, $EB, $06, $D0, $09, $A9, $F4, $99, $00, $02, $99, $04, $02, $60, $BD, $B1 ; CPU:$8A8D PRG:0A8D AD EB 06 D0 09 A9 F4 99 00 02 99 04 02 60 BD B1 - .byte $06, $AA, $BD, $00, $03, $A6, $79, $C9, $0A, $90, $10, $C9, $0E, $B0, $0C, $A9 ; CPU:$8A9D PRG:0A9D 06 AA BD 00 03 A6 79 C9 0A 90 10 C9 0E B0 0C A9 - .byte $F4, $99, $00, $02, $C8, $C8, $C8, $C8, $4C, $BE, $8A, $BD, $B0, $06, $20, $08 ; CPU:$8AAD PRG:0AAD F4 99 00 02 C8 C8 C8 C8 4C BE 8A BD B0 06 20 08 - .byte $8B, $BD, $B0, $06, $DD, $B8, $06, $F0, $1D, $BD, $BE, $06, $C9, $01, $D0, $16 ; CPU:$8ABD PRG:0ABD 8B BD B0 06 DD B8 06 F0 1D BD BE 06 C9 01 D0 16 - .byte $BD, $B1, $06, $AA, $BD, $0A, $03, $A6, $79, $29, $02, $F0, $09, $BD, $B8, $06 ; CPU:$8ACD PRG:0ACD BD B1 06 AA BD 0A 03 A6 79 29 02 F0 09 BD B8 06 - .byte $20, $08, $8B, $4C, $E8, $8A, $A9, $F4, $99, $00, $02, $BD, $BF, $06, $F0, $04 ; CPU:$8ADD PRG:0ADD 20 08 8B 4C E8 8A A9 F4 99 00 02 BD BF 06 F0 04 - .byte $DE, $BF, $06, $60, $BD, $BE, $06, $F0, $11, $49, $03, $9D, $BE, $06, $A0, $08 ; CPU:$8AED PRG:0AED DE BF 06 60 BD BE 06 F0 11 49 03 9D BE 06 A0 08 - .byte $C9, $01, $F0, $02, $A0, $06, $98, $9D, $BF, $06, $60, $AA, $BD, $20, $01, $D0 ; CPU:$8AFD PRG:0AFD C9 01 F0 02 A0 06 98 9D BF 06 60 AA BD 20 01 D0 - .byte $02, $A9, $10, $38, $E9, $1C, $99, $00, $02, $C8, $A5, $79, $D0, $04, $A9, $FC ; CPU:$8B0D PRG:0B0D 02 A9 10 38 E9 1C 99 00 02 C8 A5 79 D0 04 A9 FC - .byte $D0, $02, $A9, $FD, $99, $00, $02, $C8, $A9, $03, $99, $00, $02, $C8, $BD, $30 ; CPU:$8B1D PRG:0B1D D0 02 A9 FD 99 00 02 C8 A9 03 99 00 02 C8 BD 30 - .byte $01, $38, $E9, $05, $99, $00, $02, $C8, $A6, $79, $60, $AD, $ED, $06, $C9, $01 ; CPU:$8B2D PRG:0B2D 01 38 E9 05 99 00 02 C8 A6 79 60 AD ED 06 C9 01 - .byte $D0, $20, $CE, $ED, $06, $AD, $E7, $06, $C9, $11, $D0, $01, $60, $20, $CF, $8B ; CPU:$8B3D PRG:0B3D D0 20 CE ED 06 AD E7 06 C9 11 D0 01 60 20 CF 8B - .byte $A2, $04, $BD, $07, $8C, $9D, $00, $07, $CA, $10, $F7, $A2, $6B, $A0, $20, $4C ; CPU:$8B4D PRG:0B4D A2 04 BD 07 8C 9D 00 07 CA 10 F7 A2 6B A0 20 4C - .byte $35, $8D, $AD, $E8, $06, $30, $2E, $C9, $02, $F0, $26, $C9, $03, $F0, $26, $A4 ; CPU:$8B5D PRG:0B5D 35 8D AD E8 06 30 2E C9 02 F0 26 C9 03 F0 26 A4 - .byte $62, $B9, $1C, $9A, $85, $43, $A9, $00, $85, $44, $A9, $01, $85, $45, $A9, $02 ; CPU:$8B6D PRG:0B6D 62 B9 1C 9A 85 43 A9 00 85 44 A9 01 85 45 A9 02 - .byte $85, $46, $AD, $E8, $06, $F0, $03, $EE, $E8, $06, $4C, $CF, $8B, $C9, $03, $F0 ; CPU:$8B7D PRG:0B7D 85 46 AD E8 06 F0 03 EE E8 06 4C CF 8B C9 03 F0 - .byte $04, $A5, $2F, $F0, $01, $60, $C6, $45, $D0, $6F, $A5, $46, $85, $45, $A5, $43 ; CPU:$8B8D PRG:0B8D 04 A5 2F F0 01 60 C6 45 D0 6F A5 46 85 45 A5 43 - .byte $05, $44, $F0, $60, $A5, $44, $85, $03, $A9, $01, $38, $20, $4D, $86, $90, $05 ; CPU:$8B9D PRG:0B9D 05 44 F0 60 A5 44 85 03 A9 01 38 20 4D 86 90 05 - .byte $85, $44, $4C, $C2, $8B, $A9, $59, $85, $44, $A5, $43, $85, $03, $A9, $01, $38 ; CPU:$8BAD PRG:0BAD 85 44 4C C2 8B A9 59 85 44 A5 43 85 03 A9 01 38 - .byte $20, $4D, $86, $85, $43, $A5, $44, $D0, $09, $A5, $43, $C9, $03, $D0, $03, $20 ; CPU:$8BBD PRG:0BBD 20 4D 86 85 43 A5 44 D0 09 A5 43 C9 03 D0 03 20 - .byte $40, $87, $AD, $ED, $06, $30, $32, $A5, $43, $20, $57, $8E, $8C, $02, $07, $C9 ; CPU:$8BCD PRG:0BCD 40 87 AD ED 06 30 32 A5 43 20 57 8E 8C 02 07 C9 - .byte $00, $D0, $02, $A9, $31, $8D, $01, $07, $A9, $2F, $8D, $03, $07, $A5, $44, $20 ; CPU:$8BDD PRG:0BDD 00 D0 02 A9 31 8D 01 07 A9 2F 8D 03 07 A5 44 20 - .byte $57, $8E, $8D, $04, $07, $8C, $05, $07, $A9, $15, $8D, $00, $07, $A2, $70, $A0 ; CPU:$8BED PRG:0BED 57 8E 8D 04 07 8C 05 07 A9 15 8D 00 07 A2 70 A0 - .byte $20, $4C, $35, $8D, $A9, $FF, $8D, $E8, $06, $60, $14, $1D, $12, $16, $0E, $A9 ; CPU:$8BFD PRG:0BFD 20 4C 35 8D A9 FF 8D E8 06 60 14 1D 12 16 0E A9 - .byte $00, $8D, $38, $04, $AD, $EE, $06, $C9, $01, $D0, $3A, $CE, $EE, $06, $AD, $E7 ; CPU:$8C0D PRG:0C0D 00 8D 38 04 AD EE 06 C9 01 D0 3A CE EE 06 AD E7 - .byte $06, $C9, $11, $D0, $30, $A9, $16, $8D, $00, $07, $A9, $19, $8D, $01, $07, $A9 ; CPU:$8C1D PRG:0C1D 06 C9 11 D0 30 A9 16 8D 00 07 A9 19 8D 01 07 A9 - .byte $14, $8D, $02, $07, $A9, $31, $8D, $03, $07, $A5, $83, $20, $57, $8E, $8C, $04 ; CPU:$8C2D PRG:0C2D 14 8D 02 07 A9 31 8D 03 07 A5 83 20 57 8E 8C 04 - .byte $07, $A9, $2E, $8D, $05, $07, $A5, $84, $20, $57, $8E, $8C, $06, $07, $A2, $6D ; CPU:$8C3D PRG:0C3D 07 A9 2E 8D 05 07 A5 84 20 57 8E 8C 06 07 A2 6D - .byte $A0, $20, $4C, $35, $8D, $A5, $24, $D0, $0E, $A2, $00, $AD, $AF, $06, $C9, $01 ; CPU:$8C4D PRG:0C4D A0 20 4C 35 8D A5 24 D0 0E A2 00 AD AF 06 C9 01 - .byte $F0, $06, $E8, $C9, $02, $F0, $01, $60, $A9, $00, $8D, $AF, $06, $86, $79, $B5 ; CPU:$8C5D PRG:0C5D F0 06 E8 C9 02 F0 01 60 A9 00 8D AF 06 86 79 B5 - .byte $83, $C9, $99, $F0, $F2, $85, $03, $A9, $01, $18, $20, $2C, $86, $A6, $79, $95 ; CPU:$8C6D PRG:0C6D 83 C9 99 F0 F2 85 03 A9 01 18 20 2C 86 A6 79 95 - .byte $83, $20, $57, $8E, $8C, $02, $07, $8D, $01, $07, $A9, $12, $8D, $00, $07, $AD ; CPU:$8C7D PRG:0C7D 83 20 57 8E 8C 02 07 8D 01 07 A9 12 8D 00 07 AD - .byte $E7, $06, $C9, $11, $D0, $1A, $A9, $11, $8D, $00, $07, $8C, $01, $07, $E0, $00 ; CPU:$8C8D PRG:0C8D E7 06 C9 11 D0 1A A9 11 8D 00 07 8C 01 07 E0 00 - .byte $D0, $07, $A2, $70, $A0, $20, $4C, $35, $8D, $A2, $72, $A0, $20, $4C, $35, $8D ; CPU:$8C9D PRG:0C9D D0 07 A2 70 A0 20 4C 35 8D A2 72 A0 20 4C 35 8D - .byte $E0, $00, $D0, $07, $A2, $66, $A0, $20, $4C, $35, $8D, $A2, $78, $A0, $20, $4C ; CPU:$8CAD PRG:0CAD E0 00 D0 07 A2 66 A0 20 4C 35 8D A2 78 A0 20 4C - .byte $35, $8D, $AE, $70, $05, $D0, $1B, $AD, $73, $05, $F0, $15, $A2, $00, $CE, $73 ; CPU:$8CBD PRG:0CBD 35 8D AE 70 05 D0 1B AD 73 05 F0 15 A2 00 CE 73 - .byte $05, $C9, $2F, $F0, $18, $90, $0A, $29, $07, $C9, $07, $F0, $10, $C9, $02, $F0 ; CPU:$8CCD PRG:0CCD 05 C9 2F F0 18 90 0A 29 07 C9 07 F0 10 C9 02 F0 - .byte $32, $60, $A9, $6F, $8D, $73, $05, $8E, $71, $05, $8E, $72, $05, $AE, $71, $05 ; CPU:$8CDD PRG:0CDD 32 60 A9 6F 8D 73 05 8E 71 05 8E 72 05 AE 71 05 - .byte $A9, $00, $8D, $70, $05, $A0, $FF, $A9, $07, $E0, $FF, $D0, $0E, $A9, $00, $8D ; CPU:$8CED PRG:0CED A9 00 8D 70 05 A0 FF A9 07 E0 FF D0 0E A9 00 8D - .byte $72, $05, $A2, $00, $8E, $73, $05, $A0, $01, $A9, $08, $8C, $ED, $06, $8C, $EE ; CPU:$8CFD PRG:0CFD 72 05 A2 00 8E 73 05 A0 01 A9 08 8C ED 06 8C EE - .byte $06, $85, $23 ; CPU:$8D0D PRG:0D0D 06 85 23 ; ----------------------------------------------------------------------------- -; Routine: Sub_8D10 -; Global: Branch target inside Sub: taken when 8D10. +; Routine: Sub_87AD +; Global: Branch target inside Sub: taken when 87AD. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_8D10: +Sub_87AD: + ldx PlayerIndex ; CPU:$87AD PRG:07AD A6 79 + ldy Zp77 ; CPU:$87AF PRG:07AF A4 77 + lda $0302,x ; CPU:$87B1 PRG:07B1 BD 02 03 + sta PlayerX ; CPU:$87B4 PRG:07B4 85 70 + asl a ; CPU:$87B6 PRG:07B6 0A + asl a ; CPU:$87B7 PRG:07B7 0A + asl a ; CPU:$87B8 PRG:07B8 0A + asl a ; CPU:$87B9 PRG:07B9 0A + sta $0140,y ; CPU:$87BA PRG:07BA 99 40 01 + lda $0303,x ; CPU:$87BD PRG:07BD BD 03 03 + sta Zp71 ; CPU:$87C0 PRG:07C0 85 71 + lda $0304,x ; CPU:$87C2 PRG:07C2 BD 04 03 + sta GameMode ; CPU:$87C5 PRG:07C5 85 72 + asl a ; CPU:$87C7 PRG:07C7 0A + asl a ; CPU:$87C8 PRG:07C8 0A + asl a ; CPU:$87C9 PRG:07C9 0A + sta $0150,y ; CPU:$87CA PRG:07CA 99 50 01 + lda $0305,x ; CPU:$87CD PRG:07CD BD 05 03 + sta Zp73 ; CPU:$87D0 PRG:07D0 85 73 + jsr Sub_8883 ; CPU:$87D2 PRG:07D2 20 83 88 + ldy Zp77 ; CPU:$87D5 PRG:07D5 A4 77 + lda PlayerX ; CPU:$87D7 PRG:07D7 A5 70 + sta $0100,y ; CPU:$87D9 PRG:07D9 99 00 01 + sta $0120,y ; CPU:$87DC PRG:07DC 99 20 01 + lda GameMode ; CPU:$87DF PRG:07DF A5 72 + sta $0130,y ; CPU:$87E1 PRG:07E1 99 30 01 + ora PlayerX ; CPU:$87E4 PRG:07E4 05 70 + bne NmiHandler_Loop62 ; CPU:$87E6 PRG:07E6 D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero4 +; Global: Branch target inside NmiHandler: taken when OnZero4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero4: + rts ; CPU:$87E8 PRG:07E8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop62 +; Global: Branch target inside NmiHandler: taken when Loop62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop62: + ldy Zp77 ; CPU:$87E9 PRG:07E9 A4 77 + lda $0110,y ; CPU:$87EB PRG:07EB B9 10 01 + beq NmiHandler_OnZero4 ; CPU:$87EE PRG:07EE F0 F8 + sta Zp75 ; CPU:$87F0 PRG:07F0 85 75 + ldx PlayerIndex ; CPU:$87F2 PRG:07F2 A6 79 + lda #$00 ; CPU:$87F4 PRG:07F4 A9 00 + sta Zp15 ; CPU:$87F6 PRG:07F6 85 15 + lda $0306,x ; CPU:$87F8 PRG:07F8 BD 06 03 + ldy #$04 ; CPU:$87FB PRG:07FB A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero17 +; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero17: + asl a ; CPU:$87FD PRG:07FD 0A + rol Zp15 ; CPU:$87FE PRG:07FE 26 15 + dey ; CPU:$8800 PRG:0800 88 + bne NmiHandler_OnNonzero17 ; CPU:$8801 PRG:0801 D0 FA + clc ; CPU:$8803 PRG:0803 18 + adc #$53 ; CPU:$8804 PRG:0804 69 53 + sta Zp14 ; CPU:$8806 PRG:0806 85 14 + lda Zp15 ; CPU:$8808 PRG:0808 A5 15 + adc #$AC ; CPU:$880A PRG:080A 69 AC + sta Zp15 ; CPU:$880C PRG:080C 85 15 + lda $0301,x ; CPU:$880E PRG:080E BD 01 03 + and #$0F ; CPU:$8811 PRG:0811 29 0F + ldy #$00 ; CPU:$8813 PRG:0813 A0 00 + cmp #$01 ; CPU:$8815 PRG:0815 C9 01 + beq NmiHandler_Loop63 ; CPU:$8817 PRG:0817 F0 05 + cmp #$05 ; CPU:$8819 PRG:0819 C9 05 + bcs NmiHandler_Loop63 ; CPU:$881B PRG:081B B0 01 + iny ; CPU:$881D PRG:081D C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop63 +; Global: Branch target inside NmiHandler: taken when Loop63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop63: + sty VramReadPtrLo ; CPU:$881E PRG:081E 84 0C + lda $030F,x ; CPU:$8820 PRG:0820 BD 0F 03 + rol a ; CPU:$8823 PRG:0823 2A + lda #$00 ; CPU:$8824 PRG:0824 A9 00 + rol a ; CPU:$8826 PRG:0826 2A + cpy #$00 ; CPU:$8827 PRG:0827 C0 00 + beq NmiHandler_Loop64 ; CPU:$8829 PRG:0829 F0 02 + ora #$40 ; CPU:$882B PRG:082B 09 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop64 +; Global: Branch target inside NmiHandler: taken when Loop64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop64: + sta Zp74 ; CPU:$882D PRG:082D 85 74 + ldy #$00 ; CPU:$882F PRG:082F A0 00 + ldx Zp75 ; CPU:$8831 PRG:0831 A6 75 + lda (Zp14),y ; CPU:$8833 PRG:0833 B1 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero18 +; Global: Branch target inside NmiHandler: taken when OnNonzero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero18: + iny ; CPU:$8835 PRG:0835 C8 + clc ; CPU:$8836 PRG:0836 18 + adc PlayerX ; CPU:$8837 PRG:0837 65 70 + sta $0200,x ; CPU:$8839 PRG:0839 9D 00 02 + inx ; CPU:$883C PRG:083C E8 + lda (Zp14),y ; CPU:$883D PRG:083D B1 14 + iny ; CPU:$883F PRG:083F C8 + sta $0200,x ; CPU:$8840 PRG:0840 9D 00 02 + inx ; CPU:$8843 PRG:0843 E8 + lda (Zp14),y ; CPU:$8844 PRG:0844 B1 14 + iny ; CPU:$8846 PRG:0846 C8 + eor Zp74 ; CPU:$8847 PRG:0847 45 74 + sta $0200,x ; CPU:$8849 PRG:0849 9D 00 02 + inx ; CPU:$884C PRG:084C E8 + lda VramReadPtrLo ; CPU:$884D PRG:084D A5 0C + bne NmiHandler_Loop65 ; CPU:$884F PRG:084F D0 08 + lda (Zp14),y ; CPU:$8851 PRG:0851 B1 14 + clc ; CPU:$8853 PRG:0853 18 + adc GameMode ; CPU:$8854 PRG:0854 65 72 + jmp Sub_8861 ; CPU:$8856 PRG:0856 4C 61 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop65 +; Global: Branch target inside NmiHandler: taken when Loop65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop65: + lda GameMode ; CPU:$8859 PRG:0859 A5 72 + sec ; CPU:$885B PRG:085B 38 + sbc (Zp14),y ; CPU:$885C PRG:085C F1 14 + sec ; CPU:$885E PRG:085E 38 + sbc #$08 ; CPU:$885F PRG:085F E9 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_8861 +; Global: Branch target inside Sub: taken when 8861. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8861: + sta $0200,x ; CPU:$8861 PRG:0861 9D 00 02 + iny ; CPU:$8864 PRG:0864 C8 + inx ; CPU:$8865 PRG:0865 E8 + cpy #$10 ; CPU:$8866 PRG:0866 C0 10 + beq NmiHandler_Loop66 ; CPU:$8868 PRG:0868 F0 12 + lda (Zp14),y ; CPU:$886A PRG:086A B1 14 + cmp #$AA ; CPU:$886C PRG:086C C9 AA + bne NmiHandler_OnNonzero18 ; CPU:$886E PRG:086E D0 C5 + lda #$F4 ; CPU:$8870 PRG:0870 A9 F4 + sta $0200,x ; CPU:$8872 PRG:0872 9D 00 02 + cpy #$0C ; CPU:$8875 PRG:0875 C0 0C + beq NmiHandler_Loop66 ; CPU:$8877 PRG:0877 F0 03 + sta $0204,x ; CPU:$8879 PRG:0879 9D 04 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop66 +; Global: Branch target inside NmiHandler: taken when Loop66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop66: + rts ; CPU:$887C PRG:087C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_887D +; Global: Branch target inside Sub: taken when 887D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_887D: + eor #$FF ; CPU:$887D PRG:087D 49 FF + clc ; CPU:$887F PRG:087F 18 + adc #$01 ; CPU:$8880 PRG:0880 69 01 + rts ; CPU:$8882 PRG:0882 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8883 +; Global: Branch target inside Sub: taken when 8883. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8883: + lda Zp71 ; CPU:$8883 PRG:0883 A5 71 + sta VramWritePtrLo ; CPU:$8885 PRG:0885 85 00 + lda PlayerX ; CPU:$8887 PRG:0887 A5 70 + jsr Sub_9507 ; CPU:$8889 PRG:0889 20 07 95 + lsr a ; CPU:$888C PRG:088C 4A + lsr a ; CPU:$888D PRG:088D 4A + lsr a ; CPU:$888E PRG:088E 4A + tay ; CPU:$888F PRG:088F A8 + lda $8921,y ; CPU:$8890 PRG:0890 B9 21 89 + pha ; CPU:$8893 PRG:0893 48 + lda GameMode ; CPU:$8894 PRG:0894 A5 72 + and #$F0 ; CPU:$8896 PRG:0896 29 F0 + bne NmiHandler_Loop67 ; CPU:$8898 PRG:0898 D0 10 + lda Zp73 ; CPU:$889A PRG:089A A5 73 + jsr Sub_887D ; CPU:$889C PRG:089C 20 7D 88 + sta VramReadPtrHi ; CPU:$889F PRG:089F 85 0D + lda GameMode ; CPU:$88A1 PRG:08A1 A5 72 + eor #$FF ; CPU:$88A3 PRG:08A3 49 FF + adc #$00 ; CPU:$88A5 PRG:08A5 69 00 + jmp Sub_88B0 ; CPU:$88A7 PRG:08A7 4C B0 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop67 +; Global: Branch target inside NmiHandler: taken when Loop67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop67: + lda Zp73 ; CPU:$88AA PRG:08AA A5 73 + sta VramReadPtrHi ; CPU:$88AC PRG:08AC 85 0D + lda GameMode ; CPU:$88AE PRG:08AE A5 72 +; ----------------------------------------------------------------------------- +; Routine: Sub_88B0 +; Global: Branch target inside Sub: taken when 88B0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_88B0: + and #$0F ; CPU:$88B0 PRG:08B0 29 0F + lsr a ; CPU:$88B2 PRG:08B2 4A + tax ; CPU:$88B3 PRG:08B3 AA + lda VramReadPtrHi ; CPU:$88B4 PRG:08B4 A5 0D + ror a ; CPU:$88B6 PRG:08B6 6A + tay ; CPU:$88B7 PRG:08B7 A8 + pla ; CPU:$88B8 PRG:08B8 68 + jsr Sub_8E61 ; CPU:$88B9 PRG:08B9 20 61 8E + stx VramReadPtrLo ; CPU:$88BC PRG:08BC 86 0C + sty VramReadPtrHi ; CPU:$88BE PRG:08BE 84 0D + lda GameMode ; CPU:$88C0 PRG:08C0 A5 72 + and #$F0 ; CPU:$88C2 PRG:08C2 29 F0 + bne NmiHandler_Loop68 ; CPU:$88C4 PRG:08C4 D0 0E + lda Zp73 ; CPU:$88C6 PRG:08C6 A5 73 + sec ; CPU:$88C8 PRG:08C8 38 + sbc VramReadPtrHi ; CPU:$88C9 PRG:08C9 E5 0D + sta Zp0F ; CPU:$88CB PRG:08CB 85 0F + lda GameMode ; CPU:$88CD PRG:08CD A5 72 + sbc VramReadPtrLo ; CPU:$88CF PRG:08CF E5 0C + jmp Sub_88DF ; CPU:$88D1 PRG:08D1 4C DF 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop68 +; Global: Branch target inside NmiHandler: taken when Loop68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop68: + lda Zp73 ; CPU:$88D4 PRG:08D4 A5 73 + clc ; CPU:$88D6 PRG:08D6 18 + adc VramReadPtrHi ; CPU:$88D7 PRG:08D7 65 0D + sta Zp0F ; CPU:$88D9 PRG:08D9 85 0F + lda GameMode ; CPU:$88DB PRG:08DB A5 72 + adc VramReadPtrLo ; CPU:$88DD PRG:08DD 65 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_88DF +; Global: Branch target inside Sub: taken when 88DF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_88DF: + sta Zp0E ; CPU:$88DF PRG:08DF 85 0E + lda Zp0A ; CPU:$88E1 PRG:08E1 A5 0A + lsr a ; CPU:$88E3 PRG:08E3 4A + lsr a ; CPU:$88E4 PRG:08E4 4A + lsr a ; CPU:$88E5 PRG:08E5 4A + lsr a ; CPU:$88E6 PRG:08E6 4A + sta VramReadPtrLo ; CPU:$88E7 PRG:08E7 85 0C + lda Zp0A ; CPU:$88E9 PRG:08E9 A5 0A + asl a ; CPU:$88EB PRG:08EB 0A + asl a ; CPU:$88EC PRG:08EC 0A + asl a ; CPU:$88ED PRG:08ED 0A + asl a ; CPU:$88EE PRG:08EE 0A + sta VramReadPtrHi ; CPU:$88EF PRG:08EF 85 0D + lda Zp0F ; CPU:$88F1 PRG:08F1 A5 0F + sec ; CPU:$88F3 PRG:08F3 38 + sbc VramReadPtrHi ; CPU:$88F4 PRG:08F4 E5 0D + sta VramWritePtrLo ; CPU:$88F6 PRG:08F6 85 00 + lda Zp0E ; CPU:$88F8 PRG:08F8 A5 0E + sbc VramReadPtrLo ; CPU:$88FA PRG:08FA E5 0C + bcc NmiHandler_Loop69 ; CPU:$88FC PRG:08FC 90 1C + cmp #$10 ; CPU:$88FE PRG:08FE C9 10 + bcs NmiHandler_Loop69 ; CPU:$8900 PRG:0900 B0 18 + jsr Sub_9507 ; CPU:$8902 PRG:0902 20 07 95 + cmp #$07 ; CPU:$8905 PRG:0905 C9 07 + bcc NmiHandler_Loop69 ; CPU:$8907 PRG:0907 90 11 + sta GameMode ; CPU:$8909 PRG:0909 85 72 + lda Zp71 ; CPU:$890B PRG:090B A5 71 + sta VramWritePtrLo ; CPU:$890D PRG:090D 85 00 + lda PlayerX ; CPU:$890F PRG:090F A5 70 + jsr Sub_9507 ; CPU:$8911 PRG:0911 20 07 95 + sta PlayerX ; CPU:$8914 PRG:0914 85 70 + nop ; CPU:$8916 PRG:0916 EA + nop ; CPU:$8917 PRG:0917 EA + nop ; CPU:$8918 PRG:0918 EA + rts ; CPU:$8919 PRG:0919 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop69 +; Global: Branch target inside NmiHandler: taken when Loop69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop69: + lda #$00 ; CPU:$891A PRG:091A A9 00 + sta PlayerX ; CPU:$891C PRG:091C 85 70 + sta GameMode ; CPU:$891E PRG:091E 85 72 + rts ; CPU:$8920 PRG:0920 60 +; ---- data $8921-$8996 (118 bytes) ---- +; referenced by `lda $8921,y` at $8890 (operand $8921 falls inside this region) +PlayerMovementTable: + .byte $10, $10, $10, $10, $11, $13, $15, $17, $19, $1A, $1C, $1E, $20, $22, $24, $26 ; CPU:$8921 PRG:-36DF 10 10 10 10 11 13 15 17 19 1A 1C 1E 20 22 24 26 + .byte $28, $29, $2B, $2D, $2F, $31, $33, $35, $37, $38, $3A, $3C, $3E, $40, $42, $44 ; CPU:$8931 PRG:0931 28 29 2B 2D 2F 31 33 35 37 38 3A 3C 3E 40 42 44 + .byte $A5, $2E, $29, $02, $D0, $08, $A5, $16, $A0, $00, $A2, $00, $F0, $0A, $A5, $47 ; CPU:$8941 PRG:0941 A5 2E 29 02 D0 08 A5 16 A0 00 A2 00 F0 0A A5 47 + .byte $F0, $11, $A5, $17, $A0, $06, $A2, $14, $29, $0F, $85, $02, $D0, $06, $A9, $00 ; CPU:$8951 PRG:0951 F0 11 A5 17 A0 06 A2 14 29 0F 85 02 D0 06 A9 00 + .byte $9D, $BD, $06, $60, $BD, $BD, $06, $D0, $FA, $FE, $BD, $06, $BD, $BA, $06, $D0 ; CPU:$8961 PRG:0961 9D BD 06 60 BD BD 06 D0 FA FE BD 06 BD BA 06 D0 + .byte $F2, $BD, $B8, $06, $18, $69, $01, $C9, $06, $D0, $02, $A9, $00, $C9, $0C, $D0 ; CPU:$8971 PRG:0971 F2 BD B8 06 18 69 01 C9 06 D0 02 A9 00 C9 0C D0 + .byte $02, $A9, $06, $DD, $B0, $06, $F0, $EC, $9D, $B8, $06, $A9, $01, $9D, $BE, $06 ; CPU:$8981 PRG:0981 02 A9 06 DD B0 06 F0 EC 9D B8 06 A9 01 9D BE 06 + .byte $A9, $08, $9D, $BF, $06, $60 ; CPU:$8991 PRG:0991 A9 08 9D BF 06 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8997 +; Global: Branch target inside Sub: taken when 8997. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8997: + ldy Zp7B ; CPU:$8997 PRG:0997 A4 7B + ldx #$00 ; CPU:$8999 PRG:0999 A2 00 + lda Zp16 ; CPU:$899B PRG:099B A5 16 + jsr Sub_89A6 ; CPU:$899D PRG:099D 20 A6 89 + ldy Zp7B ; CPU:$89A0 PRG:09A0 A4 7B + ldx #$14 ; CPU:$89A2 PRG:09A2 A2 14 + lda Zp17 ; CPU:$89A4 PRG:09A4 A5 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_89A6 +; Global: Branch target inside Sub: taken when 89A6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_89A6: + and #$0C ; CPU:$89A6 PRG:09A6 29 0C + beq NmiHandler_Loop70 ; CPU:$89A8 PRG:09A8 F0 15 + and #$08 ; CPU:$89AA PRG:09AA 29 08 + beq NmiHandler_Loop71 ; CPU:$89AC PRG:09AC F0 12 + dec $06C0,x ; CPU:$89AE PRG:09AE DE C0 06 + lda $06C0,x ; CPU:$89B1 PRG:09B1 BD C0 06 + cmp $89D2,y ; CPU:$89B4 PRG:09B4 D9 D2 89 + bcs NmiHandler_Loop70 ; CPU:$89B7 PRG:09B7 B0 06 + lda $89D7,y ; CPU:$89B9 PRG:09B9 B9 D7 89 + sta $06C0,x ; CPU:$89BC PRG:09BC 9D C0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop70 +; Global: Branch target inside NmiHandler: taken when Loop70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop70: + rts ; CPU:$89BF PRG:09BF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop71 +; Global: Branch target inside NmiHandler: taken when Loop71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop71: + inc $06C0,x ; CPU:$89C0 PRG:09C0 FE C0 06 + lda $06C0,x ; CPU:$89C3 PRG:09C3 BD C0 06 + cmp $89D7,y ; CPU:$89C6 PRG:09C6 D9 D7 89 + bcc NmiHandler_Loop70 ; CPU:$89C9 PRG:09C9 90 F4 + lda $89D2,y ; CPU:$89CB PRG:09CB B9 D2 89 + sta $06C0,x ; CPU:$89CE PRG:09CE 9D C0 06 + rts ; CPU:$89D1 PRG:09D1 60 +; ---- data $89D2-$89DB (10 bytes) ---- +; referenced by `cmp $89D2,y` at $89B4 (operand $89D2 falls inside this region) +; referenced by `lda $89D7,y` at $89B9 (operand $89D7 falls inside this region) +; referenced by `cmp $89D7,y` at $89C6 (operand $89D7 falls inside this region) +; referenced by `lda $89D2,y` at $89CB (operand $89D2 falls inside this region) +PlayerDirectionTable: + .byte $5A, $58, $54, $50, $4D, $8F, $94, $99, $9D, $A1 ; CPU:$89D2 PRG:-362E 5A 58 54 50 4D 8F 94 99 9D A1 +; ----------------------------------------------------------------------------- +; Routine: Sub_89DC +; Global: Branch target inside Sub: taken when 89DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_89DC: + ldx #$00 ; CPU:$89DC PRG:09DC A2 00 + ldy #$20 ; CPU:$89DE PRG:09DE A0 20 + jsr Sub_8A7B ; CPU:$89E0 PRG:09E0 20 7B 8A + lda Zp47 ; CPU:$89E3 PRG:09E3 A5 47 + beq NmiHandler_Loop72 ; CPU:$89E5 PRG:09E5 F0 07 + ldx #$14 ; CPU:$89E7 PRG:09E7 A2 14 + ldy #$28 ; CPU:$89E9 PRG:09E9 A0 28 + jsr Sub_8A7B ; CPU:$89EB PRG:09EB 20 7B 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop72 +; Global: Branch target inside NmiHandler: taken when Loop72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop72: + ldx #$14 ; CPU:$89EE PRG:09EE A2 14 + lda Zp24 ; CPU:$89F0 PRG:09F0 A5 24 + bne NmiHandler_Loop76 ; CPU:$89F2 PRG:09F2 D0 54 + lda $0560 ; CPU:$89F4 PRG:09F4 AD 60 05 + bne NmiHandler_Loop76 ; CPU:$89F7 PRG:09F7 D0 4F + lda $06E7 ; CPU:$89F9 PRG:09F9 AD E7 06 + cmp #$11 ; CPU:$89FC PRG:09FC C9 11 + beq NmiHandler_Loop76 ; CPU:$89FE PRG:09FE F0 48 + lda Zp0A ; CPU:$8A00 PRG:0A00 A5 0A + cmp #$40 ; CPU:$8A02 PRG:0A02 C9 40 + bcs NmiHandler_Loop73 ; CPU:$8A04 PRG:0A04 B0 06 + lda Zp47 ; CPU:$8A06 PRG:0A06 A5 47 + bne NmiHandler_Loop74 ; CPU:$8A08 PRG:0A08 D0 08 + beq NmiHandler_Loop76 ; CPU:$8A0A PRG:0A0A F0 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop73 +; Global: Branch target inside NmiHandler: taken when Loop73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop73: + ldx #$00 ; CPU:$8A0C PRG:0A0C A2 00 + cmp #$C0 ; CPU:$8A0E PRG:0A0E C9 C0 + bcc NmiHandler_Loop76 ; CPU:$8A10 PRG:0A10 90 36 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop74 +; Global: Branch target inside NmiHandler: taken when Loop74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop74: + stx PlayerIndex ; CPU:$8A12 PRG:0A12 86 79 + lda #$00 ; CPU:$8A14 PRG:0A14 A9 00 + sta Zp71 ; CPU:$8A16 PRG:0A16 85 71 + lda $06C0,x ; CPU:$8A18 PRG:0A18 BD C0 06 + lsr a ; CPU:$8A1B PRG:0A1B 4A + ror Zp71 ; CPU:$8A1C PRG:0A1C 66 71 + lsr a ; CPU:$8A1E PRG:0A1E 4A + ror Zp71 ; CPU:$8A1F PRG:0A1F 66 71 + lsr a ; CPU:$8A21 PRG:0A21 4A + ror Zp71 ; CPU:$8A22 PRG:0A22 66 71 + lsr a ; CPU:$8A24 PRG:0A24 4A + ror Zp71 ; CPU:$8A25 PRG:0A25 66 71 + sta PlayerX ; CPU:$8A27 PRG:0A27 85 70 + lda #$1C ; CPU:$8A29 PRG:0A29 A9 1C + ldy #$00 ; CPU:$8A2B PRG:0A2B A0 00 + cpx #$00 ; CPU:$8A2D PRG:0A2D E0 00 + beq NmiHandler_Loop75 ; CPU:$8A2F PRG:0A2F F0 04 + lda #$03 ; CPU:$8A31 PRG:0A31 A9 03 + ldy #$80 ; CPU:$8A33 PRG:0A33 A0 80 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop75 +; Global: Branch target inside NmiHandler: taken when Loop75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop75: + sta GameMode ; CPU:$8A35 PRG:0A35 85 72 + sty Zp73 ; CPU:$8A37 PRG:0A37 84 73 + jsr Sub_8883 ; CPU:$8A39 PRG:0A39 20 83 88 + ldx PlayerIndex ; CPU:$8A3C PRG:0A3C A6 79 + lda PlayerX ; CPU:$8A3E PRG:0A3E A5 70 + beq NmiHandler_Loop76 ; CPU:$8A40 PRG:0A40 F0 06 + sec ; CPU:$8A42 PRG:0A42 38 + sbc #$04 ; CPU:$8A43 PRG:0A43 E9 04 + jmp Sub_8A4A ; CPU:$8A45 PRG:0A45 4C 4A 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop76 +; Global: Branch target inside NmiHandler: taken when Loop76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop76: + lda #$F4 ; CPU:$8A48 PRG:0A48 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A4A +; Global: Branch target inside Sub: taken when 8A4A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A4A: + sta $0210 ; CPU:$8A4A PRG:0A4A 8D 10 02 + lda #$FE ; CPU:$8A4D PRG:0A4D A9 FE + sta $0211 ; CPU:$8A4F PRG:0A4F 8D 11 02 + ldy #$42 ; CPU:$8A52 PRG:0A52 A0 42 + cpx #$00 ; CPU:$8A54 PRG:0A54 E0 00 + beq NmiHandler_Loop77 ; CPU:$8A56 PRG:0A56 F0 02 + ldy #$02 ; CPU:$8A58 PRG:0A58 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop77 +; Global: Branch target inside NmiHandler: taken when Loop77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop77: + lda $06C3,x ; CPU:$8A5A PRG:0A5A BD C3 06 + beq NmiHandler_Loop78 ; CPU:$8A5D PRG:0A5D F0 06 + dec $06C3,x ; CPU:$8A5F PRG:0A5F DE C3 06 + jmp Sub_8A6A ; CPU:$8A62 PRG:0A62 4C 6A 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop78 +; Global: Branch target inside NmiHandler: taken when Loop78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop78: + lda #$04 ; CPU:$8A65 PRG:0A65 A9 04 + sta $06C3,x ; CPU:$8A67 PRG:0A67 9D C3 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A6A +; Global: Branch target inside Sub: taken when 8A6A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A6A: + lda $06C3,x ; CPU:$8A6A PRG:0A6A BD C3 06 + cmp #$02 ; CPU:$8A6D PRG:0A6D C9 02 + bcc NmiHandler_Loop79 ; CPU:$8A6F PRG:0A6F 90 01 + iny ; CPU:$8A71 PRG:0A71 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop79 +; Global: Branch target inside NmiHandler: taken when Loop79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop79: + sty $0212 ; CPU:$8A72 PRG:0A72 8C 12 02 + lda GameMode ; CPU:$8A75 PRG:0A75 A5 72 + sta $0213 ; CPU:$8A77 PRG:0A77 8D 13 02 + rts ; CPU:$8A7A PRG:0A7A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8A7B +; Global: Branch target inside Sub: taken when 8A7B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A7B: + stx PlayerIndex ; CPU:$8A7B PRG:0A7B 86 79 + lda Zp24 ; CPU:$8A7D PRG:0A7D A5 24 + bne NmiHandler_Loop80 ; CPU:$8A7F PRG:0A7F D0 11 + lda $0560 ; CPU:$8A81 PRG:0A81 AD 60 05 + bne NmiHandler_Loop80 ; CPU:$8A84 PRG:0A84 D0 0C + lda $06E7 ; CPU:$8A86 PRG:0A86 AD E7 06 + cmp #$11 ; CPU:$8A89 PRG:0A89 C9 11 + beq NmiHandler_Loop80 ; CPU:$8A8B PRG:0A8B F0 05 + lda $06EB ; CPU:$8A8D PRG:0A8D AD EB 06 + bne NmiHandler_Loop81 ; CPU:$8A90 PRG:0A90 D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop80 +; Global: Branch target inside NmiHandler: taken when Loop80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop80: + lda #$F4 ; CPU:$8A92 PRG:0A92 A9 F4 + sta $0200,y ; CPU:$8A94 PRG:0A94 99 00 02 + sta $0204,y ; CPU:$8A97 PRG:0A97 99 04 02 + rts ; CPU:$8A9A PRG:0A9A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop81 +; Global: Branch target inside NmiHandler: taken when Loop81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop81: + lda $06B1,x ; CPU:$8A9B PRG:0A9B BD B1 06 + tax ; CPU:$8A9E PRG:0A9E AA + lda $0300,x ; CPU:$8A9F PRG:0A9F BD 00 03 + ldx PlayerIndex ; CPU:$8AA2 PRG:0AA2 A6 79 + cmp #$0A ; CPU:$8AA4 PRG:0AA4 C9 0A + bcc NmiHandler_Loop82 ; CPU:$8AA6 PRG:0AA6 90 10 + cmp #$0E ; CPU:$8AA8 PRG:0AA8 C9 0E + bcs NmiHandler_Loop82 ; CPU:$8AAA PRG:0AAA B0 0C + lda #$F4 ; CPU:$8AAC PRG:0AAC A9 F4 + sta $0200,y ; CPU:$8AAE PRG:0AAE 99 00 02 + iny ; CPU:$8AB1 PRG:0AB1 C8 + iny ; CPU:$8AB2 PRG:0AB2 C8 + iny ; CPU:$8AB3 PRG:0AB3 C8 + iny ; CPU:$8AB4 PRG:0AB4 C8 + jmp Sub_8ABE ; CPU:$8AB5 PRG:0AB5 4C BE 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop82 +; Global: Branch target inside NmiHandler: taken when Loop82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop82: + lda $06B0,x ; CPU:$8AB8 PRG:0AB8 BD B0 06 + jsr Sub_8B08 ; CPU:$8ABB PRG:0ABB 20 08 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_8ABE +; Global: Branch target inside Sub: taken when 8ABE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8ABE: + lda $06B0,x ; CPU:$8ABE PRG:0ABE BD B0 06 + cmp $06B8,x ; CPU:$8AC1 PRG:0AC1 DD B8 06 + beq NmiHandler_Loop83 ; CPU:$8AC4 PRG:0AC4 F0 1D + lda $06BE,x ; CPU:$8AC6 PRG:0AC6 BD BE 06 + cmp #$01 ; CPU:$8AC9 PRG:0AC9 C9 01 + bne NmiHandler_Loop83 ; CPU:$8ACB PRG:0ACB D0 16 + lda $06B1,x ; CPU:$8ACD PRG:0ACD BD B1 06 + tax ; CPU:$8AD0 PRG:0AD0 AA + lda $030A,x ; CPU:$8AD1 PRG:0AD1 BD 0A 03 + ldx PlayerIndex ; CPU:$8AD4 PRG:0AD4 A6 79 + and #$02 ; CPU:$8AD6 PRG:0AD6 29 02 + beq NmiHandler_Loop83 ; CPU:$8AD8 PRG:0AD8 F0 09 + lda $06B8,x ; CPU:$8ADA PRG:0ADA BD B8 06 + jsr Sub_8B08 ; CPU:$8ADD PRG:0ADD 20 08 8B + jmp Sub_8AE8 ; CPU:$8AE0 PRG:0AE0 4C E8 8A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop83 +; Global: Branch target inside NmiHandler: taken when Loop83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop83: + lda #$F4 ; CPU:$8AE3 PRG:0AE3 A9 F4 + sta $0200,y ; CPU:$8AE5 PRG:0AE5 99 00 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_8AE8 +; Global: Branch target inside Sub: taken when 8AE8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8AE8: + lda $06BF,x ; CPU:$8AE8 PRG:0AE8 BD BF 06 + beq NmiHandler_Loop84 ; CPU:$8AEB PRG:0AEB F0 04 + dec $06BF,x ; CPU:$8AED PRG:0AED DE BF 06 + rts ; CPU:$8AF0 PRG:0AF0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop84 +; Global: Branch target inside NmiHandler: taken when Loop84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop84: + lda $06BE,x ; CPU:$8AF1 PRG:0AF1 BD BE 06 + beq NmiHandler_Loop86 ; CPU:$8AF4 PRG:0AF4 F0 11 + eor #$03 ; CPU:$8AF6 PRG:0AF6 49 03 + sta $06BE,x ; CPU:$8AF8 PRG:0AF8 9D BE 06 + ldy #$08 ; CPU:$8AFB PRG:0AFB A0 08 + cmp #$01 ; CPU:$8AFD PRG:0AFD C9 01 + beq NmiHandler_Loop85 ; CPU:$8AFF PRG:0AFF F0 02 + ldy #$06 ; CPU:$8B01 PRG:0B01 A0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop85 +; Global: Branch target inside NmiHandler: taken when Loop85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop85: + tya ; CPU:$8B03 PRG:0B03 98 + sta $06BF,x ; CPU:$8B04 PRG:0B04 9D BF 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop86 +; Global: Branch target inside NmiHandler: taken when Loop86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop86: + rts ; CPU:$8B07 PRG:0B07 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8B08 +; Global: Branch target inside Sub: taken when 8B08. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8B08: + tax ; CPU:$8B08 PRG:0B08 AA + lda $0120,x ; CPU:$8B09 PRG:0B09 BD 20 01 + bne NmiHandler_Loop87 ; CPU:$8B0C PRG:0B0C D0 02 + lda #$10 ; CPU:$8B0E PRG:0B0E A9 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop87 +; Global: Branch target inside NmiHandler: taken when Loop87. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop87: + sec ; CPU:$8B10 PRG:0B10 38 + sbc #$1C ; CPU:$8B11 PRG:0B11 E9 1C + sta $0200,y ; CPU:$8B13 PRG:0B13 99 00 02 + iny ; CPU:$8B16 PRG:0B16 C8 + lda PlayerIndex ; CPU:$8B17 PRG:0B17 A5 79 + bne NmiHandler_Loop88 ; CPU:$8B19 PRG:0B19 D0 04 + lda #$FC ; CPU:$8B1B PRG:0B1B A9 FC + bne NmiHandler_Loop89 ; CPU:$8B1D PRG:0B1D D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop88 +; Global: Branch target inside NmiHandler: taken when Loop88. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop88: + lda #$FD ; CPU:$8B1F PRG:0B1F A9 FD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop89 +; Global: Branch target inside NmiHandler: taken when Loop89. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop89: + sta $0200,y ; CPU:$8B21 PRG:0B21 99 00 02 + iny ; CPU:$8B24 PRG:0B24 C8 + lda #$03 ; CPU:$8B25 PRG:0B25 A9 03 + sta $0200,y ; CPU:$8B27 PRG:0B27 99 00 02 + iny ; CPU:$8B2A PRG:0B2A C8 + lda $0130,x ; CPU:$8B2B PRG:0B2B BD 30 01 + sec ; CPU:$8B2E PRG:0B2E 38 + sbc #$05 ; CPU:$8B2F PRG:0B2F E9 05 + sta $0200,y ; CPU:$8B31 PRG:0B31 99 00 02 + iny ; CPU:$8B34 PRG:0B34 C8 + ldx PlayerIndex ; CPU:$8B35 PRG:0B35 A6 79 + rts ; CPU:$8B37 PRG:0B37 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8B38 +; Global: Branch target inside Sub: taken when 8B38. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8B38: + lda $06ED ; CPU:$8B38 PRG:0B38 AD ED 06 + cmp #$01 ; CPU:$8B3B PRG:0B3B C9 01 + bne NmiHandler_Loop91 ; CPU:$8B3D PRG:0B3D D0 20 + dec $06ED ; CPU:$8B3F PRG:0B3F CE ED 06 + lda $06E7 ; CPU:$8B42 PRG:0B42 AD E7 06 + cmp #$11 ; CPU:$8B45 PRG:0B45 C9 11 + bne NmiHandler_Loop90 ; CPU:$8B47 PRG:0B47 D0 01 + rts ; CPU:$8B49 PRG:0B49 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop90 +; Global: Branch target inside NmiHandler: taken when Loop90. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop90: + jsr NmiHandler_Loop97 ; CPU:$8B4A PRG:0B4A 20 CF 8B + ldx #$04 ; CPU:$8B4D PRG:0B4D A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative6 +; Global: Branch target inside NmiHandler: taken when OnNonnegative6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative6: + lda $8C07,x ; CPU:$8B4F PRG:0B4F BD 07 8C + sta $0700,x ; CPU:$8B52 PRG:0B52 9D 00 07 + dex ; CPU:$8B55 PRG:0B55 CA + bpl NmiHandler_OnNonnegative6 ; CPU:$8B56 PRG:0B56 10 F7 + ldx #$6B ; CPU:$8B58 PRG:0B58 A2 6B + ldy #$20 ; CPU:$8B5A PRG:0B5A A0 20 + jmp Sub_8D35 ; CPU:$8B5C PRG:0B5C 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop91 +; Global: Branch target inside NmiHandler: taken when Loop91. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop91: + lda $06E8 ; CPU:$8B5F PRG:0B5F AD E8 06 + bmi NmiHandler_Loop94 ; CPU:$8B62 PRG:0B62 30 2E + cmp #$02 ; CPU:$8B64 PRG:0B64 C9 02 + beq NmiHandler_Loop93 ; CPU:$8B66 PRG:0B66 F0 26 + cmp #$03 ; CPU:$8B68 PRG:0B68 C9 03 + beq NmiHandler_Loop94 ; CPU:$8B6A PRG:0B6A F0 26 + ldy Zp62 ; CPU:$8B6C PRG:0B6C A4 62 + lda $9A1C,y ; CPU:$8B6E PRG:0B6E B9 1C 9A + sta Zp43 ; CPU:$8B71 PRG:0B71 85 43 + lda #$00 ; CPU:$8B73 PRG:0B73 A9 00 + sta Zp44 ; CPU:$8B75 PRG:0B75 85 44 + lda #$01 ; CPU:$8B77 PRG:0B77 A9 01 + sta Zp45 ; CPU:$8B79 PRG:0B79 85 45 + lda #$02 ; CPU:$8B7B PRG:0B7B A9 02 + sta Zp46 ; CPU:$8B7D PRG:0B7D 85 46 + lda $06E8 ; CPU:$8B7F PRG:0B7F AD E8 06 + beq NmiHandler_Loop92 ; CPU:$8B82 PRG:0B82 F0 03 + inc $06E8 ; CPU:$8B84 PRG:0B84 EE E8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop92 +; Global: Branch target inside NmiHandler: taken when Loop92. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop92: + jmp NmiHandler_Loop97 ; CPU:$8B87 PRG:0B87 4C CF 8B +; ----------------------------------------------------------------------------- +; Routine: Label_8B8A +; Global: Branch target inside Label: taken when 8B8A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B8A: + cmp #$03 ; CPU:$8B8A PRG:0B8A C9 03 + beq NmiHandler_Loop94 ; CPU:$8B8C PRG:0B8C F0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop93 +; Global: Branch target inside NmiHandler: taken when Loop93. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop93: + lda Zp2F ; CPU:$8B8E PRG:0B8E A5 2F + beq NmiHandler_Loop95 ; CPU:$8B90 PRG:0B90 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop94 +; Global: Branch target inside NmiHandler: taken when Loop94. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop94: + rts ; CPU:$8B92 PRG:0B92 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop95 +; Global: Branch target inside NmiHandler: taken when Loop95. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop95: + dec Zp45 ; CPU:$8B93 PRG:0B93 C6 45 + bne NmiHandler_Loop100 ; CPU:$8B95 PRG:0B95 D0 6F + lda Zp46 ; CPU:$8B97 PRG:0B97 A5 46 + sta Zp45 ; CPU:$8B99 PRG:0B99 85 45 + lda Zp43 ; CPU:$8B9B PRG:0B9B A5 43 + ora Zp44 ; CPU:$8B9D PRG:0B9D 05 44 + beq NmiHandler_Loop99 ; CPU:$8B9F PRG:0B9F F0 60 + lda Zp44 ; CPU:$8BA1 PRG:0BA1 A5 44 + sta Zp03 ; CPU:$8BA3 PRG:0BA3 85 03 + lda #$01 ; CPU:$8BA5 PRG:0BA5 A9 01 + sec ; CPU:$8BA7 PRG:0BA7 38 + jsr Sub_864D ; CPU:$8BA8 PRG:0BA8 20 4D 86 + bcc NmiHandler_Loop96 ; CPU:$8BAB PRG:0BAB 90 05 + sta Zp44 ; CPU:$8BAD PRG:0BAD 85 44 + jmp Sub_8BC2 ; CPU:$8BAF PRG:0BAF 4C C2 8B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop96 +; Global: Branch target inside NmiHandler: taken when Loop96. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop96: + lda #$59 ; CPU:$8BB2 PRG:0BB2 A9 59 + sta Zp44 ; CPU:$8BB4 PRG:0BB4 85 44 + lda Zp43 ; CPU:$8BB6 PRG:0BB6 A5 43 + sta Zp03 ; CPU:$8BB8 PRG:0BB8 85 03 + lda #$01 ; CPU:$8BBA PRG:0BBA A9 01 + sec ; CPU:$8BBC PRG:0BBC 38 + jsr Sub_864D ; CPU:$8BBD PRG:0BBD 20 4D 86 + sta Zp43 ; CPU:$8BC0 PRG:0BC0 85 43 +; ----------------------------------------------------------------------------- +; Routine: Sub_8BC2 +; Global: Branch target inside Sub: taken when 8BC2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8BC2: + lda Zp44 ; CPU:$8BC2 PRG:0BC2 A5 44 + bne NmiHandler_Loop97 ; CPU:$8BC4 PRG:0BC4 D0 09 + lda Zp43 ; CPU:$8BC6 PRG:0BC6 A5 43 + cmp #$03 ; CPU:$8BC8 PRG:0BC8 C9 03 + bne NmiHandler_Loop97 ; CPU:$8BCA PRG:0BCA D0 03 + jsr Sub_8740 ; CPU:$8BCC PRG:0BCC 20 40 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop97 +; Global: Branch target inside NmiHandler: taken when Loop97. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop97: + lda $06ED ; CPU:$8BCF PRG:0BCF AD ED 06 + bmi NmiHandler_Loop100 ; CPU:$8BD2 PRG:0BD2 30 32 + lda Zp43 ; CPU:$8BD4 PRG:0BD4 A5 43 + jsr Sub_8E57 ; CPU:$8BD6 PRG:0BD6 20 57 8E + sty $0702 ; CPU:$8BD9 PRG:0BD9 8C 02 07 + cmp #$00 ; CPU:$8BDC PRG:0BDC C9 00 + bne NmiHandler_Loop98 ; CPU:$8BDE PRG:0BDE D0 02 + lda #$31 ; CPU:$8BE0 PRG:0BE0 A9 31 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop98 +; Global: Branch target inside NmiHandler: taken when Loop98. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop98: + sta $0701 ; CPU:$8BE2 PRG:0BE2 8D 01 07 + lda #$2F ; CPU:$8BE5 PRG:0BE5 A9 2F + sta $0703 ; CPU:$8BE7 PRG:0BE7 8D 03 07 + lda Zp44 ; CPU:$8BEA PRG:0BEA A5 44 + jsr Sub_8E57 ; CPU:$8BEC PRG:0BEC 20 57 8E + sta $0704 ; CPU:$8BEF PRG:0BEF 8D 04 07 + sty $0705 ; CPU:$8BF2 PRG:0BF2 8C 05 07 + lda #$15 ; CPU:$8BF5 PRG:0BF5 A9 15 + sta $0700 ; CPU:$8BF7 PRG:0BF7 8D 00 07 + ldx #$70 ; CPU:$8BFA PRG:0BFA A2 70 + ldy #$20 ; CPU:$8BFC PRG:0BFC A0 20 + jmp Sub_8D35 ; CPU:$8BFE PRG:0BFE 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop99 +; Global: Branch target inside NmiHandler: taken when Loop99. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop99: + lda #$FF ; CPU:$8C01 PRG:0C01 A9 FF + sta $06E8 ; CPU:$8C03 PRG:0C03 8D E8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop100 +; Global: Branch target inside NmiHandler: taken when Loop100. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop100: + rts ; CPU:$8C06 PRG:0C06 60 +; ---- data $8C07-$8C0B (5 bytes) ---- +; referenced by `lda $8C07,x` at $8B4F (operand $8C07 falls inside this region) +FieldPlayerPositionTable: + .byte $14, $1D, $12, $16, $0E ; CPU:$8C07 PRG:-33F9 14 1D 12 16 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_8C0C +; Global: Branch target inside Sub: taken when 8C0C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8C0C: + lda #$00 ; CPU:$8C0C PRG:0C0C A9 00 + sta $0438 ; CPU:$8C0E PRG:0C0E 8D 38 04 + lda $06EE ; CPU:$8C11 PRG:0C11 AD EE 06 + cmp #$01 ; CPU:$8C14 PRG:0C14 C9 01 + bne NmiHandler_Loop101 ; CPU:$8C16 PRG:0C16 D0 3A + dec $06EE ; CPU:$8C18 PRG:0C18 CE EE 06 + lda $06E7 ; CPU:$8C1B PRG:0C1B AD E7 06 + cmp #$11 ; CPU:$8C1E PRG:0C1E C9 11 + bne NmiHandler_Loop101 ; CPU:$8C20 PRG:0C20 D0 30 + lda #$16 ; CPU:$8C22 PRG:0C22 A9 16 + sta $0700 ; CPU:$8C24 PRG:0C24 8D 00 07 + lda #$19 ; CPU:$8C27 PRG:0C27 A9 19 + sta $0701 ; CPU:$8C29 PRG:0C29 8D 01 07 + lda #$14 ; CPU:$8C2C PRG:0C2C A9 14 + sta $0702 ; CPU:$8C2E PRG:0C2E 8D 02 07 + lda #$31 ; CPU:$8C31 PRG:0C31 A9 31 + sta $0703 ; CPU:$8C33 PRG:0C33 8D 03 07 + lda Zp83 ; CPU:$8C36 PRG:0C36 A5 83 + jsr Sub_8E57 ; CPU:$8C38 PRG:0C38 20 57 8E + sty $0704 ; CPU:$8C3B PRG:0C3B 8C 04 07 + lda #$2E ; CPU:$8C3E PRG:0C3E A9 2E + sta $0705 ; CPU:$8C40 PRG:0C40 8D 05 07 + lda Zp84 ; CPU:$8C43 PRG:0C43 A5 84 + jsr Sub_8E57 ; CPU:$8C45 PRG:0C45 20 57 8E + sty $0706 ; CPU:$8C48 PRG:0C48 8C 06 07 + ldx #$6D ; CPU:$8C4B PRG:0C4B A2 6D + ldy #$20 ; CPU:$8C4D PRG:0C4D A0 20 + jmp Sub_8D35 ; CPU:$8C4F PRG:0C4F 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop101 +; Global: Branch target inside NmiHandler: taken when Loop101. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop101: + lda Zp24 ; CPU:$8C52 PRG:0C52 A5 24 + bne NmiHandler_OnZero5 ; CPU:$8C54 PRG:0C54 D0 0E + ldx #$00 ; CPU:$8C56 PRG:0C56 A2 00 + lda $06AF ; CPU:$8C58 PRG:0C58 AD AF 06 + cmp #$01 ; CPU:$8C5B PRG:0C5B C9 01 + beq NmiHandler_Loop102 ; CPU:$8C5D PRG:0C5D F0 06 + inx ; CPU:$8C5F PRG:0C5F E8 + cmp #$02 ; CPU:$8C60 PRG:0C60 C9 02 + beq NmiHandler_Loop102 ; CPU:$8C62 PRG:0C62 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero5 +; Global: Branch target inside NmiHandler: taken when OnZero5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero5: + rts ; CPU:$8C64 PRG:0C64 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop102 +; Global: Branch target inside NmiHandler: taken when Loop102. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop102: + lda #$00 ; CPU:$8C65 PRG:0C65 A9 00 + sta $06AF ; CPU:$8C67 PRG:0C67 8D AF 06 + stx PlayerIndex ; CPU:$8C6A PRG:0C6A 86 79 + lda Zp83,x ; CPU:$8C6C PRG:0C6C B5 83 + cmp #$99 ; CPU:$8C6E PRG:0C6E C9 99 + beq NmiHandler_OnZero5 ; CPU:$8C70 PRG:0C70 F0 F2 + sta Zp03 ; CPU:$8C72 PRG:0C72 85 03 + lda #$01 ; CPU:$8C74 PRG:0C74 A9 01 + clc ; CPU:$8C76 PRG:0C76 18 + jsr Sub_862C ; CPU:$8C77 PRG:0C77 20 2C 86 + ldx PlayerIndex ; CPU:$8C7A PRG:0C7A A6 79 + sta Zp83,x ; CPU:$8C7C PRG:0C7C 95 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_8C7E +; Global: Branch target inside Sub: taken when 8C7E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8C7E: + jsr Sub_8E57 ; CPU:$8C7E PRG:0C7E 20 57 8E + sty $0702 ; CPU:$8C81 PRG:0C81 8C 02 07 + sta $0701 ; CPU:$8C84 PRG:0C84 8D 01 07 + lda #$12 ; CPU:$8C87 PRG:0C87 A9 12 + sta $0700 ; CPU:$8C89 PRG:0C89 8D 00 07 + lda $06E7 ; CPU:$8C8C PRG:0C8C AD E7 06 + cmp #$11 ; CPU:$8C8F PRG:0C8F C9 11 + bne NmiHandler_Loop104 ; CPU:$8C91 PRG:0C91 D0 1A + lda #$11 ; CPU:$8C93 PRG:0C93 A9 11 + sta $0700 ; CPU:$8C95 PRG:0C95 8D 00 07 + sty $0701 ; CPU:$8C98 PRG:0C98 8C 01 07 + cpx #$00 ; CPU:$8C9B PRG:0C9B E0 00 + bne NmiHandler_Loop103 ; CPU:$8C9D PRG:0C9D D0 07 + ldx #$70 ; CPU:$8C9F PRG:0C9F A2 70 + ldy #$20 ; CPU:$8CA1 PRG:0CA1 A0 20 + jmp Sub_8D35 ; CPU:$8CA3 PRG:0CA3 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop103 +; Global: Branch target inside NmiHandler: taken when Loop103. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop103: + ldx #$72 ; CPU:$8CA6 PRG:0CA6 A2 72 + ldy #$20 ; CPU:$8CA8 PRG:0CA8 A0 20 + jmp Sub_8D35 ; CPU:$8CAA PRG:0CAA 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop104 +; Global: Branch target inside NmiHandler: taken when Loop104. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop104: + cpx #$00 ; CPU:$8CAD PRG:0CAD E0 00 + bne NmiHandler_Loop105 ; CPU:$8CAF PRG:0CAF D0 07 + ldx #$66 ; CPU:$8CB1 PRG:0CB1 A2 66 + ldy #$20 ; CPU:$8CB3 PRG:0CB3 A0 20 + jmp Sub_8D35 ; CPU:$8CB5 PRG:0CB5 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop105 +; Global: Branch target inside NmiHandler: taken when Loop105. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop105: + ldx #$78 ; CPU:$8CB8 PRG:0CB8 A2 78 + ldy #$20 ; CPU:$8CBA PRG:0CBA A0 20 + jmp Sub_8D35 ; CPU:$8CBC PRG:0CBC 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: Sub_8CBF +; Global: Branch target inside Sub: taken when 8CBF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8CBF: + ldx $0570 ; CPU:$8CBF PRG:0CBF AE 70 05 + bne NmiHandler_Loop107 ; CPU:$8CC2 PRG:0CC2 D0 1B + lda $0573 ; CPU:$8CC4 PRG:0CC4 AD 73 05 + beq NmiHandler_Loop106 ; CPU:$8CC7 PRG:0CC7 F0 15 + ldx #$00 ; CPU:$8CC9 PRG:0CC9 A2 00 + dec $0573 ; CPU:$8CCB PRG:0CCB CE 73 05 + cmp #$2F ; CPU:$8CCE PRG:0CCE C9 2F + beq NmiHandler_Loop108 ; CPU:$8CD0 PRG:0CD0 F0 18 + bcc NmiHandler_Loop106 ; CPU:$8CD2 PRG:0CD2 90 0A + and #$07 ; CPU:$8CD4 PRG:0CD4 29 07 + cmp #$07 ; CPU:$8CD6 PRG:0CD6 C9 07 + beq NmiHandler_Loop108 ; CPU:$8CD8 PRG:0CD8 F0 10 + cmp #$02 ; CPU:$8CDA PRG:0CDA C9 02 + beq NmiHandler_Loop110 ; CPU:$8CDC PRG:0CDC F0 32 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop106 +; Global: Branch target inside NmiHandler: taken when Loop106. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop106: + rts ; CPU:$8CDE PRG:0CDE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop107 +; Global: Branch target inside NmiHandler: taken when Loop107. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop107: + lda #$6F ; CPU:$8CDF PRG:0CDF A9 6F + sta $0573 ; CPU:$8CE1 PRG:0CE1 8D 73 05 + stx $0571 ; CPU:$8CE4 PRG:0CE4 8E 71 05 + stx $0572 ; CPU:$8CE7 PRG:0CE7 8E 72 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop108 +; Global: Branch target inside NmiHandler: taken when Loop108. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop108: + ldx $0571 ; CPU:$8CEA PRG:0CEA AE 71 05 + lda #$00 ; CPU:$8CED PRG:0CED A9 00 + sta $0570 ; CPU:$8CEF PRG:0CEF 8D 70 05 + ldy #$FF ; CPU:$8CF2 PRG:0CF2 A0 FF + lda #$07 ; CPU:$8CF4 PRG:0CF4 A9 07 + cpx #$FF ; CPU:$8CF6 PRG:0CF6 E0 FF + bne NmiHandler_Loop109 ; CPU:$8CF8 PRG:0CF8 D0 0E + lda #$00 ; CPU:$8CFA PRG:0CFA A9 00 + sta $0572 ; CPU:$8CFC PRG:0CFC 8D 72 05 + ldx #$00 ; CPU:$8CFF PRG:0CFF A2 00 + stx $0573 ; CPU:$8D01 PRG:0D01 8E 73 05 + ldy #$01 ; CPU:$8D04 PRG:0D04 A0 01 + lda #$08 ; CPU:$8D06 PRG:0D06 A9 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop109 +; Global: Branch target inside NmiHandler: taken when Loop109. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop109: + sty $06ED ; CPU:$8D08 PRG:0D08 8C ED 06 + sty $06EE ; CPU:$8D0B PRG:0D0B 8C EE 06 + sta Zp23 ; CPU:$8D0E PRG:0D0E 85 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop110 +; Global: Branch target inside NmiHandler: taken when Loop110. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop110: lda #$00 ; CPU:$8D10 PRG:0D10 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8D12 @@ -1462,53 +3686,62 @@ Sub_8D10: ; ----------------------------------------------------------------------------- Sub_8D12: cpx #$00 ; CPU:$8D12 PRG:0D12 E0 00 - beq NmiHandler_Loop40 ; CPU:$8D14 PRG:0D14 F0 07 + beq NmiHandler_Loop111 ; CPU:$8D14 PRG:0D14 F0 07 dex ; CPU:$8D16 PRG:0D16 CA clc ; CPU:$8D17 PRG:0D17 18 adc #$0C ; CPU:$8D18 PRG:0D18 69 0C jmp Sub_8D12 ; CPU:$8D1A PRG:0D1A 4C 12 8D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop40 -; Global: Branch target inside NmiHandler: taken when Loop40. +; Routine: NmiHandler_Loop111 +; Global: Branch target inside NmiHandler: taken when Loop111. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop40: +NmiHandler_Loop111: tax ; CPU:$8D1D PRG:0D1D AA ldy #$00 ; CPU:$8D1E PRG:0D1E A0 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero9 -; Global: Branch target inside NmiHandler: taken when OnNonzero9. +; Routine: NmiHandler_OnNonzero19 +; Global: Branch target inside NmiHandler: taken when OnNonzero19. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero9: +NmiHandler_OnNonzero19: lda $8D44,x ; CPU:$8D20 PRG:0D20 BD 44 8D sta $0701,y ; CPU:$8D23 PRG:0D23 99 01 07 iny ; CPU:$8D26 PRG:0D26 C8 inx ; CPU:$8D27 PRG:0D27 E8 cpy #$0C ; CPU:$8D28 PRG:0D28 C0 0C - bne NmiHandler_OnNonzero9 ; CPU:$8D2A PRG:0D2A D0 F4 + bne NmiHandler_OnNonzero19 ; CPU:$8D2A PRG:0D2A D0 F4 lda #$1C ; CPU:$8D2C PRG:0D2C A9 1C sta $0700 ; CPU:$8D2E PRG:0D2E 8D 00 07 ldx #$6A ; CPU:$8D31 PRG:0D31 A2 6A ldy #$20 ; CPU:$8D33 PRG:0D33 A0 20 - stx Zp00 ; CPU:$8D35 PRG:0D35 86 00 - sty Zp01 ; CPU:$8D37 PRG:0D37 84 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_8D35 +; Global: Branch target inside Sub: taken when 8D35. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8D35: + stx VramWritePtrLo ; CPU:$8D35 PRG:0D35 86 00 + sty VramWritePtrHi ; CPU:$8D37 PRG:0D37 84 01 ldx #$00 ; CPU:$8D39 PRG:0D39 A2 00 ldy #$07 ; CPU:$8D3B PRG:0D3B A0 07 - stx Zp02 ; CPU:$8D3D PRG:0D3D 86 02 + stx FrameCounter ; CPU:$8D3D PRG:0D3D 86 02 sty Zp03 ; CPU:$8D3F PRG:0D3F 84 03 jmp Sub_8531 ; CPU:$8D41 PRG:0D41 4C 31 85 -; ---- data $8D44-$F4FF (26556 bytes) ---- -; referenced by `lda $A7BC,y` at $83A5 (operand $A7BC falls inside this region) -; referenced by `ldx $A7BD,y` at $83A8 (operand $A7BD falls inside this region) +; ---- data $8D44-$8DD3 (144 bytes) ---- ; referenced by `lda $8D44,x` at $8D20 (operand $8D44 falls inside this region) - .byte $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $18, $0F ; CPU:$8D44 PRG:0D44 31 31 31 31 31 31 31 31 31 31 31 31 31 31 18 0F +; referenced by `lda $8DCD,x` at $98F5 (operand $8DCD falls inside this region) +FieldPlayerSpriteTable: + .byte $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $31, $18, $0F ; CPU:$8D44 PRG:-32BC 31 31 31 31 31 31 31 31 31 31 31 31 31 31 18 0F .byte $0F, $31, $1C, $12, $0D, $0E, $31, $31, $31, $10, $18, $0A, $15, $31, $14, $12 ; CPU:$8D54 PRG:0D54 0F 31 1C 12 0D 0E 31 31 31 10 18 0A 15 31 14 12 .byte $0C, $14, $31, $31, $31, $31, $1D, $11, $1B, $18, $20, $31, $12, $17, $31, $31 ; CPU:$8D64 PRG:0D64 0C 14 31 31 31 31 1D 11 1B 18 20 31 12 17 31 31 .byte $31, $31, $10, $18, $0A, $15, $31, $12, $17, $31, $31, $31, $31, $31, $14, $12 ; CPU:$8D74 PRG:0D74 31 31 10 18 0A 15 31 12 17 31 31 31 31 31 14 12 @@ -1517,786 +3750,7202 @@ NmiHandler_OnNonzero9: .byte $0C, $18, $1B, $17, $0E, $1B, $31, $14, $12, $0C, $14, $31, $1C, $19, $0E, $0C ; CPU:$8DA4 PRG:0DA4 0C 18 1B 17 0E 1B 31 14 12 0C 14 31 1C 19 0E 0C .byte $12, $0A, $15, $31, $10, $0A, $16, $0E, $31, $11, $0A, $15, $0F, $31, $1D, $12 ; CPU:$8DB4 PRG:0DB4 12 0A 15 31 10 0A 16 0E 31 11 0A 15 0F 31 1D 12 .byte $16, $0E, $31, $31, $31, $31, $31, $19, $0A, $1E, $1C, $0E, $31, $31, $31, $31 ; CPU:$8DC4 PRG:0DC4 16 0E 31 31 31 31 31 19 0A 1E 1C 0E 31 31 31 31 - .byte $AE, $74, $05, $D0, $10, $AE, $75, $05, $F0, $1A, $A9, $00, $8D, $75, $05, $8D ; CPU:$8DD4 PRG:0DD4 AE 74 05 D0 10 AE 75 05 F0 1A A9 00 8D 75 05 8D - .byte $76, $05, $4C, $F9, $8D, $8E, $75, $05, $AD, $76, $05, $F0, $54, $CE, $76, $05 ; CPU:$8DE4 PRG:0DE4 76 05 4C F9 8D 8E 75 05 AD 76 05 F0 54 CE 76 05 - .byte $C9, $08, $F0, $01, $60, $8A, $A8, $88, $A5, $47, $D0, $08, $C0, $01, $D0, $04 ; CPU:$8DF4 PRG:0DF4 C9 08 F0 01 60 8A A8 88 A5 47 D0 08 C0 01 D0 04 - .byte $A9, $07, $D0, $03, $B9, $63, $00, $85, $0C, $0A, $18, $65, $0C, $A8, $B9, $EF ; CPU:$8E04 PRG:0E04 A9 07 D0 03 B9 63 00 85 0C 0A 18 65 0C A8 B9 EF - .byte $82, $8D, $01, $07, $B9, $F0, $82, $8D, $02, $07, $B9, $F1, $82, $8D, $03, $07 ; CPU:$8E14 PRG:0E14 82 8D 01 07 B9 F0 82 8D 02 07 B9 F1 82 8D 03 07 - .byte $A5, $0C, $C9, $07, $D0, $08, $A5, $7B, $18, $69, $01, $8D, $03, $07, $A9, $13 ; CPU:$8E24 PRG:0E24 A5 0C C9 07 D0 08 A5 7B 18 69 01 8D 03 07 A9 13 - .byte $8D, $00, $07, $8A, $A2, $62, $C9, $01, $F0, $02, $A2, $7B, $A0, $20, $4C, $35 ; CPU:$8E34 PRG:0E34 8D 00 07 8A A2 62 C9 01 F0 02 A2 7B A0 20 4C 35 - .byte $8D, $A9, $10, $8D, $76, $05, $A0, $02, $A9, $31, $99, $01, $07, $88, $10, $FA ; CPU:$8E44 PRG:0E44 8D A9 10 8D 76 05 A0 02 A9 31 99 01 07 88 10 FA - .byte $4C, $32, $8E, $48, $29, $0F, $A8, $68, $4A, $4A, $4A, $4A, $60, $84, $10, $86 ; CPU:$8E54 PRG:0E54 4C 32 8E 48 29 0F A8 68 4A 4A 4A 4A 60 84 10 86 - .byte $11, $85, $3C, $A9, $00, $85, $3D, $85, $3E, $A2, $08, $66, $3C, $90, $0D, $18 ; CPU:$8E64 PRG:0E64 11 85 3C A9 00 85 3D 85 3E A2 08 66 3C 90 0D 18 - .byte $A5, $3D, $65, $10, $85, $3D, $A5, $3E, $65, $11, $85, $3E, $0A, $66, $3E, $66 ; CPU:$8E74 PRG:0E74 A5 3D 65 10 85 3D A5 3E 65 11 85 3E 0A 66 3E 66 - .byte $3D, $CA, $D0, $E7, $A4, $3D, $A6, $3E, $60, $8C, $18, $04, $8E, $19, $04, $A9 ; CPU:$8E84 PRG:0E84 3D CA D0 E7 A4 3D A6 3E 60 8C 18 04 8E 19 04 A9 - .byte $00, $8D, $17, $04, $A2, $07, $18, $AD, $18, $04, $6D, $15, $04, $A8, $AD, $19 ; CPU:$8E94 PRG:0E94 00 8D 17 04 A2 07 18 AD 18 04 6D 15 04 A8 AD 19 - .byte $04, $6D, $16, $04, $90, $06, $8C, $18, $04, $8D, $19, $04, $2E, $17, $04, $2E ; CPU:$8EA4 PRG:0EA4 04 6D 16 04 90 06 8C 18 04 8D 19 04 2E 17 04 2E - .byte $18, $04, $2E, $19, $04, $38, $AD, $18, $04, $ED, $15, $04, $A8, $AD, $19, $04 ; CPU:$8EB4 PRG:0EB4 18 04 2E 19 04 38 AD 18 04 ED 15 04 A8 AD 19 04 - .byte $ED, $16, $04, $CA, $10, $DE, $B0, $01, $CA, $AD, $17, $04, $60, $20, $20, $20 ; CPU:$8EC4 PRG:0EC4 ED 16 04 CA 10 DE B0 01 CA AD 17 04 60 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43 ; CPU:$8ED4 PRG:0ED4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 - .byte $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8EE4 PRG:0EE4 52 45 41 54 45 20 42 59 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8EF4 PRG:0EF4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20 ; CPU:$8F04 PRG:0F04 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $A0, $0B, $A9 ; CPU:$8F14 PRG:0F14 20 20 20 20 20 20 20 20 20 20 20 20 20 A0 0B A9 - .byte $00, $99, $10, $01, $88, $10, $FA, $A5, $A9, $85, $00, $A5, $A8, $20, $07, $95 ; CPU:$8F24 PRG:0F24 00 99 10 01 88 10 FA A5 A9 85 00 A5 A8 20 07 95 - .byte $85, $04, $A0, $00, $84, $00, $84, $02, $A9, $30, $85, $01, $A2, $00, $A0, $00 ; CPU:$8F34 PRG:0F34 85 04 A0 00 84 00 84 02 A9 30 85 01 A2 00 A0 00 - .byte $BD, $00, $01, $08, $E8, $28, $D0, $07, $C8, $E0, $0C, $D0, $F3, $F0, $46, $E0 ; CPU:$8F44 PRG:0F44 BD 00 01 08 E8 28 D0 07 C8 E0 0C D0 F3 F0 46 E0 - .byte $0C, $F0, $14, $DD, $00, $01, $90, $04, $E8, $4C, $53, $8F, $BD, $00, $01, $86 ; CPU:$8F54 PRG:0F54 0C F0 14 DD 00 01 90 04 E8 4C 53 8F BD 00 01 86 - .byte $0C, $A4, $0C, $E8, $4C, $53, $8F, $A5, $02, $D0, $13, $B9, $00, $01, $C5, $04 ; CPU:$8F64 PRG:0F64 0C A4 0C E8 4C 53 8F A5 02 D0 13 B9 00 01 C5 04 - .byte $B0, $0C, $E6, $02, $A5, $01, $8D, $00, $04, $18, $69, $08, $85, $01, $A9, $00 ; CPU:$8F74 PRG:0F74 B0 0C E6 02 A5 01 8D 00 04 18 69 08 85 01 A9 00 - .byte $99, $00, $01, $A5, $01, $99, $10, $01, $18, $69, $10, $85, $01, $E6, $00, $A5 ; CPU:$8F84 PRG:0F84 99 00 01 A5 01 99 10 01 18 69 10 85 01 E6 00 A5 - .byte $00, $C9, $0C, $D0, $A7, $A5, $02, $D0, $05, $A5, $01, $8D, $00, $04, $A0, $00 ; CPU:$8F94 PRG:0F94 00 C9 0C D0 A7 A5 02 D0 05 A5 01 8D 00 04 A0 00 - .byte $A2, $00, $20, $AD, $8F, $A0, $06, $A2, $01, $84, $02, $A9, $FF, $85, $01, $A9 ; CPU:$8FA4 PRG:0FA4 A2 00 20 AD 8F A0 06 A2 01 84 02 A9 FF 85 01 A9 - .byte $06, $85, $00, $B9, $20, $01, $F0, $34, $38, $ED, $01, $04, $B0, $03, $20, $7D ; CPU:$8FB4 PRG:0FB4 06 85 00 B9 20 01 F0 34 38 ED 01 04 B0 03 20 7D - .byte $88, $4A, $4A, $4A, $4A, $85, $07, $B9, $30, $01, $38, $ED, $04, $04, $B0, $03 ; CPU:$8FC4 PRG:0FC4 88 4A 4A 4A 4A 85 07 B9 30 01 38 ED 04 04 B0 03 - .byte $20, $7D, $88, $4A, $4A, $4A, $4A, $C5, $07, $90, $05, $46, $07, $4C, $E5, $8F ; CPU:$8FD4 PRG:0FD4 20 7D 88 4A 4A 4A 4A C5 07 90 05 46 07 4C E5 8F - .byte $4A, $18, $65, $07, $C5, $01, $B0, $04, $85, $01, $84, $02, $C8, $C6, $00, $D0 ; CPU:$8FE4 PRG:0FE4 4A 18 65 07 C5 01 B0 04 85 01 84 02 C8 C6 00 D0 - .byte $C2, $A5, $01, $C9, $FF, $F0, $0B, $A4, $02, $98, $9D, $20, $05, $B9, $07, $90 ; CPU:$8FF4 PRG:0FF4 C2 A5 01 C9 FF F0 0B A4 02 98 9D 20 05 B9 07 90 - .byte $95, $95, $60, $00, $15, $2A, $3F, $54, $69, $7E, $93, $A8, $BD, $D2, $E7, $A0 ; CPU:$9004 PRG:1004 95 95 60 00 15 2A 3F 54 69 7E 93 A8 BD D2 E7 A0 - .byte $C8, $A9, $F4, $88, $88, $88, $88, $99, $30, $02, $C0, $00, $D0, $F5, $A9, $00 ; CPU:$9014 PRG:1014 C8 A9 F4 88 88 88 88 99 30 02 C0 00 D0 F5 A9 00 - .byte $85, $79, $85, $77, $20, $50, $90, $A6, $79, $A9, $00, $9D, $0E, $03, $8A, $18 ; CPU:$9024 PRG:1024 85 79 85 77 20 50 90 A6 79 A9 00 9D 0E 03 8A 18 - .byte $69, $15, $85, $79, $E6, $77, $C9, $FC, $D0, $EA, $AC, $00, $04, $A2, $00, $BD ; CPU:$9034 PRG:1034 69 15 85 79 E6 77 C9 FC D0 EA AC 00 04 A2 00 BD - .byte $01, $04, $99, $00, $02, $E8, $C8, $E0, $08, $D0, $F4, $60, $A6, $79, $BD, $00 ; CPU:$9044 PRG:1044 01 04 99 00 02 E8 C8 E0 08 D0 F4 60 A6 79 BD 00 - .byte $03, $20, $BD, $84, $B4, $90, $BE, $86, $BE, $86, $F9, $90, $BE, $86, $08, $92 ; CPU:$9054 PRG:1054 03 20 BD 84 B4 90 BE 86 BE 86 F9 90 BE 86 08 92 - .byte $24, $92, $40, $92, $40, $92, $BE, $86, $76, $92, $AF, $92, $AF, $92, $BE, $86 ; CPU:$9064 PRG:1064 24 92 40 92 40 92 BE 86 76 92 AF 92 AF 92 BE 86 - .byte $BE, $86, $BE, $86, $2D, $93, $4E, $93, $F9, $DA, $22, $DB, $57, $DB, $57, $DB ; CPU:$9074 PRG:1074 BE 86 BE 86 2D 93 4E 93 F9 DA 22 DB 57 DB 57 DB - .byte $AD, $D9, $C6, $D9, $66, $DA, $9D, $DA, $B6, $E6, $CC, $E6, $BE, $86, $BE, $86 ; CPU:$9084 PRG:1084 AD D9 C6 D9 66 DA 9D DA B6 E6 CC E6 BE 86 BE 86 - .byte $BE, $86, $BE, $86, $0B, $A4, $44, $A4, $77, $A4, $BE, $86, $7C, $A4, $D0, $A4 ; CPU:$9094 PRG:1094 BE 86 BE 86 0B A4 44 A4 77 A4 BE 86 7C A4 D0 A4 - .byte $D6, $A4, $BE, $86, $BE, $86, $BE, $86, $E6, $A4, $22, $A5, $2C, $A5, $95, $A5 ; CPU:$90A4 PRG:10A4 D6 A4 BE 86 BE 86 BE 86 E6 A4 22 A5 2C A5 95 A5 - .byte $A6, $79, $A0, $00, $B9, $D8, $90, $9D, $00, $03, $E8, $C8, $C0, $15, $D0, $F4 ; CPU:$90B4 PRG:10B4 A6 79 A0 00 B9 D8 90 9D 00 03 E8 C8 C0 15 D0 F4 - .byte $A6, $79, $A4, $77, $B9, $ED, $90, $9D, $0F, $03, $C0, $06, $90, $05, $A9, $0C ; CPU:$90C4 PRG:10C4 A6 79 A4 77 B9 ED 90 9D 0F 03 C0 06 90 05 A9 0C - .byte $9D, $02, $03, $60, $03, $00, $03, $00, $10, $00, $00, $00, $00, $00, $00, $00 ; CPU:$90D4 PRG:10D4 9D 02 03 60 03 00 03 00 10 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $02, $02, $02, $04, $04, $01, $82 ; CPU:$90E4 PRG:10E4 00 00 00 00 00 00 00 00 00 02 02 02 04 04 01 82 - .byte $82, $82, $84, $84, $81, $A6, $79, $BD, $0E, $03, $29, $0F, $A8, $D0, $3B, $BD ; CPU:$90F4 PRG:10F4 82 82 84 84 81 A6 79 BD 0E 03 29 0F A8 D0 3B BD - .byte $01, $03, $30, $30, $AD, $E7, $06, $C9, $04, $F0, $22, $C9, $19, $F0, $1E, $C9 ; CPU:$9104 PRG:1104 01 03 30 30 AD E7 06 C9 04 F0 22 C9 19 F0 1E C9 - .byte $05, $D0, $24, $BD, $0F, $03, $29, $01, $D0, $1D, $BD, $09, $03, $C9, $20, $B0 ; CPU:$9114 PRG:1114 05 D0 24 BD 0F 03 29 01 D0 1D BD 09 03 C9 20 B0 - .byte $06, $A5, $2A, $F0, $12, $D0, $0D, $38, $E9, $20, $9D, $09, $03, $BD, $0F, $03 ; CPU:$9124 PRG:1124 06 A5 2A F0 12 D0 0D 38 E9 20 9D 09 03 BD 0F 03 - .byte $29, $01, $D0, $03, $4C, $89, $91, $4C, $04, $92, $B9, $10, $95, $F0, $C0, $DD ; CPU:$9134 PRG:1134 29 01 D0 03 4C 89 91 4C 04 92 B9 10 95 F0 C0 DD - .byte $01, $03, $F0, $3E, $9D, $01, $03, $A9, $03, $9D, $00, $03, $BD, $01, $03, $29 ; CPU:$9144 PRG:1144 01 03 F0 3E 9D 01 03 A9 03 9D 00 03 BD 01 03 29 - .byte $0F, $A8, $88, $BD, $0F, $03, $29, $01, $D0, $1A, $B9, $9A, $95, $9D, $09, $03 ; CPU:$9154 PRG:1154 0F A8 88 BD 0F 03 29 01 D0 1A B9 9A 95 9D 09 03 - .byte $98, $0A, $85, $0C, $BD, $12, $03, $0A, $0A, $0A, $0A, $18, $65, $0C, $9D, $07 ; CPU:$9164 PRG:1164 98 0A 85 0C BD 12 03 0A 0A 0A 0A 18 65 0C 9D 07 - .byte $03, $4C, $04, $92, $B9, $A2, $95, $9D, $09, $03, $98, $0A, $18, $69, $50, $4C ; CPU:$9174 PRG:1174 03 4C 04 92 B9 A2 95 9D 09 03 98 0A 18 69 50 4C - .byte $72, $91, $20, $8E, $94, $BD, $08, $03, $F0, $06, $DE, $08, $03, $4C, $AD, $87 ; CPU:$9184 PRG:1184 72 91 20 8E 94 BD 08 03 F0 06 DE 08 03 4C AD 87 - .byte $BC, $09, $03, $B9, $AA, $95, $C9, $FF, $F0, $03, $C8, $D0, $F6, $B9, $AB, $95 ; CPU:$9194 PRG:1194 BC 09 03 B9 AA 95 C9 FF F0 03 C8 D0 F6 B9 AB 95 - .byte $9D, $08, $03, $BC, $09, $03, $AD, $50, $05, $F0, $2D, $C9, $02, $F0, $08, $A5 ; CPU:$91A4 PRG:11A4 9D 08 03 BC 09 03 AD 50 05 F0 2D C9 02 F0 08 A5 - .byte $77, $C9, $06, $B0, $23, $90, $06, $A5, $77, $C9, $06, $90, $1B, $BD, $0F, $03 ; CPU:$91B4 PRG:11B4 77 C9 06 B0 23 90 06 A5 77 C9 06 90 1B BD 0F 03 - .byte $29, $01, $D0, $14, $AD, $E7, $06, $C9, $19, $F0, $04, $C9, $04, $D0, $09, $98 ; CPU:$91C4 PRG:11C4 29 01 D0 14 AD E7 06 C9 19 F0 04 C9 04 D0 09 98 - .byte $C9, $20, $B0, $04, $18, $69, $20, $A8, $B9, $AA, $95, $C8, $C9, $FF, $D0, $19 ; CPU:$91D4 PRG:11D4 C9 20 B0 04 18 69 20 A8 B9 AA 95 C8 C9 FF D0 19 - .byte $B9, $AB, $95, $9D, $09, $03, $A8, $BD, $0E, $03, $29, $0F, $D0, $EA, $BD, $01 ; CPU:$91E4 PRG:11E4 B9 AB 95 9D 09 03 A8 BD 0E 03 29 0F D0 EA BD 01 - .byte $03, $29, $7F, $9D, $01, $03, $4C, $04, $92, $9D, $06, $03, $98, $9D, $09, $03 ; CPU:$91F4 PRG:11F4 03 29 7F 9D 01 03 4C 04 92 9D 06 03 98 9D 09 03 - .byte $20, $AD, $87, $60, $20, $DF, $93, $A2, $00, $C0, $06, $90, $07, $A2, $14, $A0 ; CPU:$9204 PRG:1204 20 AD 87 60 20 DF 93 A2 00 C0 06 90 07 A2 14 A0 - .byte $10, $4C, $1A, $92, $A0, $E8, $BD, $C0, $06, $85, $02, $84, $03, $4C, $2A, $92 ; CPU:$9214 PRG:1214 10 4C 1A 92 A0 E8 BD C0 06 85 02 84 03 4C 2A 92 - .byte $20, $6B, $93, $20, $DF, $93, $20, $02, $94, $B9, $4D, $96, $9D, $09, $03, $A9 ; CPU:$9224 PRG:1224 20 6B 93 20 DF 93 20 02 94 B9 4D 96 9D 09 03 A9 - .byte $07, $9D, $00, $03, $A9, $00, $9D, $08, $03, $9D, $0E, $03, $A6, $79, $BD, $08 ; CPU:$9234 PRG:1234 07 9D 00 03 A9 00 9D 08 03 9D 0E 03 A6 79 BD 08 - .byte $03, $F0, $06, $DE, $08, $03, $4C, $AD, $87, $BC, $09, $03, $B9, $56, $96, $C8 ; CPU:$9244 PRG:1244 03 F0 06 DE 08 03 4C AD 87 BC 09 03 B9 56 96 C8 - .byte $C9, $FE, $D0, $08, $A9, $08, $9D, $00, $03, $4C, $50, $92, $C9, $FF, $D0, $03 ; CPU:$9254 PRG:1254 C9 FE D0 08 A9 08 9D 00 03 4C 50 92 C9 FF D0 03 - .byte $4C, $4B, $91, $9D, $06, $03, $98, $9D, $09, $03, $A9, $02, $9D, $08, $03, $4C ; CPU:$9264 PRG:1264 4C 4B 91 9D 06 03 98 9D 09 03 A9 02 9D 08 03 4C - .byte $AD, $87, $A6, $79, $BD, $02, $03, $85, $A8, $BD, $03, $03, $85, $A9, $BD, $04 ; CPU:$9274 PRG:1274 AD 87 A6 79 BD 02 03 85 A8 BD 03 03 85 A9 BD 04 - .byte $03, $85, $A3, $BD, $05, $03, $85, $A4, $A9, $01, $85, $AD, $A9, $30, $85, $AE ; CPU:$9284 PRG:1284 03 85 A3 BD 05 03 85 A4 A9 01 85 AD A9 30 85 AE - .byte $20, $DF, $93, $20, $02, $94, $B9, $82, $96, $9D, $09, $03, $BD, $0E, $03, $29 ; CPU:$9294 PRG:1294 20 DF 93 20 02 94 B9 82 96 9D 09 03 BD 0E 03 29 - .byte $C0, $F0, $05, $A9, $0B, $9D, $00, $03, $4C, $BC, $92, $A6, $79, $BD, $08, $03 ; CPU:$92A4 PRG:12A4 C0 F0 05 A9 0B 9D 00 03 4C BC 92 A6 79 BD 08 03 - .byte $F0, $06, $DE, $08, $03, $4C, $AD, $87, $BC, $09, $03, $B9, $8B, $96, $C8, $C9 ; CPU:$92B4 PRG:12B4 F0 06 DE 08 03 4C AD 87 BC 09 03 B9 8B 96 C8 C9 - .byte $AA, $F0, $4C, $C9, $BB, $F0, $5F, $9D, $06, $03, $BD, $00, $03, $C9, $0C, $F0 ; CPU:$92C4 PRG:12C4 AA F0 4C C9 BB F0 5F 9D 06 03 BD 00 03 C9 0C F0 - .byte $30, $A2, $00, $B9, $8B, $96, $08, $C8, $0A, $0A, $0A, $0A, $28, $30, $0C, $18 ; CPU:$92D4 PRG:12D4 30 A2 00 B9 8B 96 08 C8 0A 0A 0A 0A 28 30 0C 18 - .byte $75, $A4, $95, $A4, $90, $12, $F6, $A3, $4C, $FC, $92, $85, $0C, $B5, $A4, $38 ; CPU:$92E4 PRG:12E4 75 A4 95 A4 90 12 F6 A3 4C FC 92 85 0C B5 A4 38 - .byte $E5, $0C, $95, $A4, $B0, $02, $D6, $A3, $E8, $E8, $E8, $E8, $E8, $E0, $0F, $D0 ; CPU:$92F4 PRG:12F4 E5 0C 95 A4 B0 02 D6 A3 E8 E8 E8 E8 E8 E0 0F D0 - .byte $D2, $A6, $79, $98, $9D, $09, $03, $A9, $02, $9D, $08, $03, $4C, $AD, $87, $A9 ; CPU:$9304 PRG:1304 D2 A6 79 98 9D 09 03 A9 02 9D 08 03 4C AD 87 A9 - .byte $0C, $9D, $00, $03, $98, $48, $A5, $79, $85, $90, $A9, $60, $20, $05, $B7, $68 ; CPU:$9314 PRG:1314 0C 9D 00 03 98 48 A5 79 85 90 A9 60 20 05 B7 68 - .byte $A8, $A6, $79, $4C, $BF, $92, $4C, $4B, $91, $A6, $79, $BD, $01, $03, $29, $0F ; CPU:$9324 PRG:1324 A8 A6 79 4C BF 92 4C 4B 91 A6 79 BD 01 03 29 0F - .byte $A8, $88, $B9, $DB, $96, $9D, $09, $03, $98, $0A, $18, $69, $6A, $9D, $07, $03 ; CPU:$9334 PRG:1334 A8 88 B9 DB 96 9D 09 03 98 0A 18 69 6A 9D 07 03 - .byte $A9, $11, $9D, $00, $03, $A9, $00, $9D, $08, $03, $A6, $79, $BC, $09, $03, $B9 ; CPU:$9344 PRG:1344 A9 11 9D 00 03 A9 00 9D 08 03 A6 79 BC 09 03 B9 - .byte $E3, $96, $C8, $C9, $FF, $D0, $03, $4C, $4B, $91, $9D, $06, $03, $98, $9D, $09 ; CPU:$9354 PRG:1354 E3 96 C8 C9 FF D0 03 4C 4B 91 9D 06 03 98 9D 09 - .byte $03, $20, $8E, $94, $4C, $AD, $87, $A9, $06, $85, $0C, $A2, $7E, $A0, $00, $A5 ; CPU:$9364 PRG:1364 03 20 8E 94 4C AD 87 A9 06 85 0C A2 7E A0 00 A5 - .byte $77, $C9, $06, $90, $04, $A2, $00, $A0, $14, $86, $0D, $BE, $B9, $06, $BD, $05 ; CPU:$9374 PRG:1374 77 C9 06 90 04 A2 00 A0 14 86 0D BE B9 06 BD 05 - .byte $03, $85, $00, $BD, $04, $03, $A0, $03, $20, $09, $95, $85, $72, $A6, $0D, $F0 ; CPU:$9384 PRG:1384 03 85 00 BD 04 03 A0 03 20 09 95 85 72 A6 0D F0 - .byte $23, $BD, $0F, $03, $29, $01, $D0, $11, $BD, $05, $03, $85, $00, $BD, $04, $03 ; CPU:$9394 PRG:1394 23 BD 0F 03 29 01 D0 11 BD 05 03 85 00 BD 04 03 - .byte $A0, $03, $20, $09, $95, $C5, $72, $B0, $31, $8A, $18, $69, $15, $AA, $E0, $FC ; CPU:$93A4 PRG:13A4 A0 03 20 09 95 C5 72 B0 31 8A 18 69 15 AA E0 FC - .byte $D0, $DF, $F0, $21, $BD, $0F, $03, $29, $01, $D0, $11, $BD, $05, $03, $85, $00 ; CPU:$93B4 PRG:13B4 D0 DF F0 21 BD 0F 03 29 01 D0 11 BD 05 03 85 00 - .byte $BD, $04, $03, $A0, $03, $20, $09, $95, $C5, $72, $90, $0E, $8A, $18, $69, $15 ; CPU:$93C4 PRG:13C4 BD 04 03 A0 03 20 09 95 C5 72 90 0E 8A 18 69 15 - .byte $AA, $E0, $7E, $D0, $DF, $A9, $01, $8D, $EC, $06, $60, $A2, $00, $A4, $77, $C0 ; CPU:$93D4 PRG:13D4 AA E0 7E D0 DF A9 01 8D EC 06 60 A2 00 A4 77 C0 - .byte $06, $90, $02, $A2, $14, $BD, $B8, $06, $AA, $B9, $40, $01, $85, $00, $B9, $50 ; CPU:$93E4 PRG:13E4 06 90 02 A2 14 BD B8 06 AA B9 40 01 85 00 B9 50 - .byte $01, $85, $01, $BD, $40, $01, $85, $02, $BD, $50, $01, $85, $03, $60, $20, $0C ; CPU:$93F4 PRG:13F4 01 85 01 BD 40 01 85 02 BD 50 01 85 03 60 20 0C - .byte $94, $A6, $79, $9D, $01, $03, $A8, $60, $A9, $00, $85, $0C, $85, $0D, $85, $0E ; CPU:$9404 PRG:1404 94 A6 79 9D 01 03 A8 60 A9 00 85 0C 85 0D 85 0E - .byte $A5, $00, $38, $E5, $02, $D0, $04, $A9, $01, $D0, $07, $B0, $05, $20, $7D, $88 ; CPU:$9414 PRG:1414 A5 00 38 E5 02 D0 04 A9 01 D0 07 B0 05 20 7D 88 - .byte $E6, $0C, $85, $07, $A5, $01, $38, $E5, $03, $D0, $04, $A9, $01, $D0, $07, $B0 ; CPU:$9424 PRG:1424 E6 0C 85 07 A5 01 38 E5 03 D0 04 A9 01 D0 07 B0 - .byte $05, $20, $7D, $88, $E6, $0D, $C5, $07, $B0, $07, $AA, $A5, $07, $86, $07, $E6 ; CPU:$9434 PRG:1434 05 20 7D 88 E6 0D C5 07 B0 07 AA A5 07 86 07 E6 - .byte $0E, $A0, $00, $38, $E5, $07, $90, $03, $C8, $D0, $F8, $C0, $03, $B0, $04, $A0 ; CPU:$9444 PRG:1444 0E A0 00 38 E5 07 90 03 C8 D0 F8 C0 03 B0 04 A0 - .byte $01, $D0, $14, $A0, $00, $A5, $0C, $45, $0D, $F0, $06, $A5, $0E, $D0, $08, $F0 ; CPU:$9454 PRG:1454 01 D0 14 A0 00 A5 0C 45 0D F0 06 A5 0E D0 08 F0 - .byte $04, $A5, $0E, $F0, $02, $A0, $02, $A5, $0C, $D0, $0A, $A2, $01, $A5, $0D, $D0 ; CPU:$9464 PRG:1464 04 A5 0E F0 02 A0 02 A5 0C D0 0A A2 01 A5 0D D0 - .byte $0C, $A2, $07, $D0, $08, $A2, $03, $A5, $0D, $D0, $02, $A2, $05, $84, $07, $8A ; CPU:$9474 PRG:1474 0C A2 07 D0 08 A2 03 A5 0D D0 02 A2 05 84 07 8A - .byte $18, $65, $07, $C9, $09, $D0, $02, $A9, $01, $60, $BC, $07, $03, $BD, $01, $03 ; CPU:$9484 PRG:1484 18 65 07 C9 09 D0 02 A9 01 60 BC 07 03 BD 01 03 - .byte $0A, $29, $0F, $C9, $06, $B0, $19, $BD, $02, $03, $C9, $01, $F0, $28, $38, $BD ; CPU:$9494 PRG:1494 0A 29 0F C9 06 B0 19 BD 02 03 C9 01 F0 28 38 BD - .byte $03, $03, $F9, $20, $95, $9D, $03, $03, $B0, $1C, $DE, $02, $03, $4C, $CA, $94 ; CPU:$94A4 PRG:14A4 03 03 F9 20 95 9D 03 03 B0 1C DE 02 03 4C CA 94 - .byte $BD, $02, $03, $C9, $0E, $F0, $0F, $18, $B9, $20, $95, $7D, $03, $03, $9D, $03 ; CPU:$94B4 PRG:14B4 BD 02 03 C9 0E F0 0F 18 B9 20 95 7D 03 03 9D 03 - .byte $03, $90, $03, $FE, $02, $03, $BD, $01, $03, $29, $0F, $C9, $06, $B0, $19, $BD ; CPU:$94C4 PRG:14C4 03 90 03 FE 02 03 BD 01 03 29 0F C9 06 B0 19 BD - .byte $04, $03, $C9, $1D, $F0, $28, $18, $B9, $21, $95, $7D, $05, $03, $9D, $05, $03 ; CPU:$94D4 PRG:14D4 04 03 C9 1D F0 28 18 B9 21 95 7D 05 03 9D 05 03 - .byte $90, $1C, $FE, $04, $03, $4C, $02, $95, $BD, $04, $03, $C9, $02, $F0, $0F, $38 ; CPU:$94E4 PRG:14E4 90 1C FE 04 03 4C 02 95 BD 04 03 C9 02 F0 0F 38 - .byte $BD, $05, $03, $F9, $21, $95, $9D, $05, $03, $B0, $03, $DE, $04, $03, $60, $A0 ; CPU:$94F4 PRG:14F4 BD 05 03 F9 21 95 9D 05 03 B0 03 DE 04 03 60 A0 - .byte $03, $D0, $02, $A0, $04, $06, $00, $2A, $88, $D0, $FA, $60, $00, $83, $87, $00 ; CPU:$9504 PRG:1504 03 D0 02 A0 04 06 00 2A 88 D0 FA 60 00 83 87 00 - .byte $85, $84, $86, $00, $81, $82, $88, $00, $00, $00, $00, $00, $08, $00, $06, $06 ; CPU:$9514 PRG:1514 85 84 86 00 81 82 88 00 00 00 00 00 08 00 06 06 - .byte $00, $08, $06, $06, $08, $00, $06, $06, $00, $08, $06, $06, $0C, $00, $08, $08 ; CPU:$9524 PRG:1524 00 08 06 06 08 00 06 06 00 08 06 06 0C 00 08 08 - .byte $00, $0C, $08, $08, $0C, $00, $08, $08, $00, $0C, $08, $08, $10, $00, $0A, $0A ; CPU:$9534 PRG:1534 00 0C 08 08 0C 00 08 08 00 0C 08 08 10 00 0A 0A - .byte $00, $10, $0A, $0A, $10, $00, $0A, $0A, $00, $10, $0A, $0A, $14, $00, $0D, $0D ; CPU:$9544 PRG:1544 00 10 0A 0A 10 00 0A 0A 00 10 0A 0A 14 00 0D 0D - .byte $00, $14, $0D, $0D, $14, $00, $0D, $0D, $00, $14, $0D, $0D, $18, $00, $10, $10 ; CPU:$9554 PRG:1554 00 14 0D 0D 14 00 0D 0D 00 14 0D 0D 18 00 10 10 - .byte $00, $18, $10, $10, $18, $00, $10, $10, $00, $18, $10, $10, $14, $00, $10, $10 ; CPU:$9564 PRG:1564 00 18 10 10 18 00 10 10 00 18 10 10 14 00 10 10 - .byte $00, $14, $10, $10, $14, $00, $10, $10, $00, $14, $10, $10, $14, $00, $1C, $00 ; CPU:$9574 PRG:1574 00 14 10 10 14 00 10 10 00 14 10 10 14 00 1C 00 - .byte $00, $14, $00, $1C, $00, $00, $18, $00, $13, $13, $00, $18, $13, $13, $18, $00 ; CPU:$9584 PRG:1584 00 14 00 1C 00 00 18 00 13 13 00 18 13 13 18 00 - .byte $13, $13, $00, $18, $13, $13, $00, $07, $0D, $13, $19, $13, $0D, $07, $40, $47 ; CPU:$9594 PRG:1594 13 13 00 18 13 13 00 07 0D 13 19 13 0D 07 40 47 - .byte $4D, $53, $59, $53, $4D, $47, $00, $01, $02, $5D, $FF, $02, $00, $05, $03, $04 ; CPU:$95A4 PRG:15A4 4D 53 59 53 4D 47 00 01 02 5D FF 02 00 05 03 04 - .byte $FF, $02, $07, $08, $06, $07, $FF, $02, $0D, $0B, $09, $0A, $FF, $02, $13, $0C ; CPU:$95B4 PRG:15B4 FF 02 07 08 06 07 FF 02 0D 0B 09 0A FF 02 13 0C - .byte $0D, $0E, $0F, $FF, $02, $19, $50, $51, $52, $35, $FF, $02, $20, $49, $47, $48 ; CPU:$95C4 PRG:15C4 0D 0E 0F FF 02 19 50 51 52 35 FF 02 20 49 47 48 - .byte $FF, $02, $27, $4C, $4A, $4B, $FF, $02, $2D, $4F, $4D, $4E, $FF, $02, $33, $44 ; CPU:$95D4 PRG:15D4 FF 02 27 4C 4A 4B FF 02 2D 4F 4D 4E FF 02 33 44 - .byte $45, $46, $5C, $FF, $02, $39, $24, $25, $26, $5F, $FF, $02, $40, $29, $27, $28 ; CPU:$95E4 PRG:15E4 45 46 5C FF 02 39 24 25 26 5F FF 02 40 29 27 28 - .byte $FF, $02, $47, $2C, $2A, $2B, $FF, $02, $4D, $2F, $2D, $2E, $FF, $02, $53, $30 ; CPU:$95F4 PRG:15F4 FF 02 47 2C 2A 2B FF 02 4D 2F 2D 2E FF 02 53 30 - .byte $31, $32, $5E, $FF, $02, $59, $82, $89, $84, $FF, $02, $60, $83, $86, $85, $FF ; CPU:$9604 PRG:1604 31 32 5E FF 02 59 82 89 84 FF 02 60 83 86 85 FF - .byte $02, $66, $70, $6E, $70, $72, $FF, $02, $6C, $8B, $6F, $71, $73, $FF, $02, $73 ; CPU:$9614 PRG:1614 02 66 70 6E 70 72 FF 02 6C 8B 6F 71 73 FF 02 73 - .byte $68, $6A, $6C, $6A, $FF, $02, $7A, $69, $6B, $6D, $8A, $FF, $02, $81, $88, $7B ; CPU:$9624 PRG:1624 68 6A 6C 6A FF 02 7A 69 6B 6D 8A FF 02 81 88 7B - .byte $88, $7B, $FF, $02, $88, $7D, $7E, $7F, $7C, $FF, $02, $8F, $74, $87, $74, $87 ; CPU:$9634 PRG:1634 88 7B FF 02 88 7D 7E 7F 7C FF 02 8F 74 87 74 87 - .byte $FF, $02, $96, $75, $76, $77, $8D, $FF, $02, $9D, $00, $09, $12, $1B, $24, $1B ; CPU:$9644 PRG:1644 FF 02 96 75 76 77 8D FF 02 9D 00 09 12 1B 24 1B - .byte $12, $09, $02, $10, $FE, $11, $11, $11, $10, $01, $FF, $03, $12, $FE, $13, $13 ; CPU:$9654 PRG:1654 12 09 02 10 FE 11 11 11 10 01 FF 03 12 FE 13 13 - .byte $13, $12, $04, $FF, $06, $14, $FE, $15, $15, $15, $14, $07, $FF, $0B, $16, $FE ; CPU:$9664 PRG:1664 13 12 04 FF 06 14 FE 15 15 15 14 07 FF 0B 16 FE - .byte $17, $17, $17, $16, $0A, $FF, $0C, $18, $FE, $19, $19, $19, $18, $0D, $FF, $00 ; CPU:$9674 PRG:1674 17 17 17 16 0A FF 0C 18 FE 19 19 19 18 0D FF 00 - .byte $0A, $14, $1E, $28, $32, $3C, $46, $1A, $01, $01, $00, $AA, $1B, $1B, $1B, $1A ; CPU:$9684 PRG:1684 0A 14 1E 28 32 3C 46 1A 01 01 00 AA 1B 1B 1B 1A - .byte $BB, $1C, $00, $01, $00, $AA, $1D, $1D, $1D, $1C, $BB, $1E, $01, $01, $00, $AA ; CPU:$9694 PRG:1694 BB 1C 00 01 00 AA 1D 1D 1D 1C BB 1E 01 01 00 AA - .byte $1E, $1F, $1F, $1E, $BB, $20, $81, $00, $00, $AA, $21, $21, $21, $20, $BB, $22 ; CPU:$96A4 PRG:16A4 1E 1F 1F 1E BB 20 81 00 00 AA 21 21 21 20 BB 22 - .byte $01, $01, $00, $AA, $23, $23, $23, $22, $BB, $20, $01, $00, $00, $AA, $21, $21 ; CPU:$96B4 PRG:16B4 01 01 00 AA 23 23 23 22 BB 20 01 00 00 AA 21 21 - .byte $21, $20, $BB, $1E, $82, $01, $00, $AA, $1E, $1F, $1F, $1E, $BB, $1C, $00, $01 ; CPU:$96C4 PRG:16C4 21 20 BB 1E 82 01 00 AA 1E 1F 1F 1E BB 1C 00 01 - .byte $00, $AA, $1D, $1D, $1D, $1C, $BB, $00, $0A, $14, $1E, $28, $1E, $14, $0A, $00 ; CPU:$96D4 PRG:16D4 00 AA 1D 1D 1D 1C BB 00 0A 14 1E 28 1E 14 0A 00 - .byte $58, $58, $58, $58, $58, $58, $58, $01, $FF, $04, $56, $56, $56, $56, $56, $56 ; CPU:$96E4 PRG:16E4 58 58 58 58 58 58 58 01 FF 04 56 56 56 56 56 56 - .byte $56, $04, $FF, $07, $54, $54, $54, $54, $54, $54, $54, $07, $FF, $0A, $55, $55 ; CPU:$96F4 PRG:16F4 56 04 FF 07 54 54 54 54 54 54 54 07 FF 0A 55 55 - .byte $55, $55, $55, $55, $55, $0A, $FF, $0C, $57, $57, $57, $57, $57, $57, $57, $0D ; CPU:$9704 PRG:1704 55 55 55 55 55 0A FF 0C 57 57 57 57 57 57 57 0D - .byte $FF, $20, $BF, $86, $20, $4A, $84, $20, $AD, $86, $20, $8F, $83, $20, $AD, $86 ; CPU:$9714 PRG:1714 FF 20 BF 86 20 4A 84 20 AD 86 20 8F 83 20 AD 86 - .byte $A9, $03, $85, $23, $A2, $1F, $A0, $9A, $20, $D5, $86, $20, $AD, $86, $A2, $10 ; CPU:$9724 PRG:1724 A9 03 85 23 A2 1F A0 9A 20 D5 86 20 AD 86 A2 10 - .byte $A0, $00, $20, $FA, $98, $A2, $80, $A0, $2F, $20, $FA, $98, $A2, $B0, $A0, $40 ; CPU:$9734 PRG:1734 A0 00 20 FA 98 A2 80 A0 2F 20 FA 98 A2 B0 A0 40 - .byte $20, $FA, $98, $A5, $60, $D0, $16, $A9, $00, $85, $61, $A9, $00, $85, $62, $A9 ; CPU:$9744 PRG:1744 20 FA 98 A5 60 D0 16 A9 00 85 61 A9 00 85 62 A9 - .byte $00, $85, $63, $A0, $06, $A5, $47, $D0, $02, $A0, $FF, $84, $64, $A5, $47, $F0 ; CPU:$9754 PRG:1754 00 85 63 A0 06 A5 47 D0 02 A0 FF 84 64 A5 47 F0 - .byte $10, $A5, $64, $C9, $FF, $D0, $0E, $A9, $06, $C5, $63, $D0, $06, $A9, $05, $D0 ; CPU:$9764 PRG:1764 10 A5 64 C9 FF D0 0E A9 06 C5 63 D0 06 A9 05 D0 - .byte $02, $A9, $FF, $85, $64, $A2, $30, $A0, $05, $20, $FA, $98, $A2, $00, $A0, $01 ; CPU:$9774 PRG:1774 02 A9 FF 85 64 A2 30 A0 05 20 FA 98 A2 00 A0 01 - .byte $20, $9E, $99, $A5, $47, $F0, $0E, $A2, $50, $A0, $1A, $20, $FA, $98, $A2, $01 ; CPU:$9784 PRG:1784 20 9E 99 A5 47 F0 0E A2 50 A0 1A 20 FA 98 A2 01 - .byte $A0, $00, $20, $9E, $99, $A0, $01, $84, $60, $8C, $00, $05, $88, $8C, $01, $05 ; CPU:$9794 PRG:1794 A0 00 20 9E 99 A0 01 84 60 8C 00 05 88 8C 01 05 - .byte $8C, $02, $05, $8C, $03, $05, $8C, $04, $05, $A9, $0F, $8D, $73, $05, $20, $B5 ; CPU:$97A4 PRG:17A4 8C 02 05 8C 03 05 8C 04 05 A9 0F 8D 73 05 20 B5 - .byte $98, $E6, $25, $20, $82, $87, $4C, $CC, $86, $A0, $0C, $CE, $73, $05, $D0, $05 ; CPU:$97B4 PRG:17B4 98 E6 25 20 82 87 4C CC 86 A0 0C CE 73 05 D0 05 - .byte $A9, $0F, $8D, $73, $05, $AD, $73, $05, $C9, $04, $B0, $02, $A0, $00, $8C, $13 ; CPU:$97C4 PRG:17C4 A9 0F 8D 73 05 AD 73 05 C9 04 B0 02 A0 00 8C 13 - .byte $02, $A5, $16, $29, $10, $F0, $38, $AD, $00, $05, $D0, $36, $A5, $47, $D0, $25 ; CPU:$97D4 PRG:17D4 02 A5 16 29 10 F0 38 AD 00 05 D0 36 A5 47 D0 25 - .byte $20, $7E, $86, $29, $0F, $AA, $A0, $00, $C8, $C0, $07, $D0, $02, $A0, $00, $E0 ; CPU:$97E4 PRG:17E4 20 7E 86 29 0F AA A0 00 C8 C0 07 D0 02 A0 00 E0 - .byte $00, $F0, $04, $CA, $4C, $EC, $97, $C4, $63, $F0, $ED, $84, $64, $98, $A2, $01 ; CPU:$97F4 PRG:17F4 00 F0 04 CA 4C EC 97 C4 63 F0 ED 84 64 98 A2 01 - .byte $86, $0C, $20, $C7, $99, $E6, $25, $A9, $00, $8D, $73, $05, $4C, $44, $87, $8D ; CPU:$9804 PRG:1804 86 0C 20 C7 99 E6 25 A9 00 8D 73 05 4C 44 87 8D - .byte $00, $05, $A5, $60, $C9, $01, $D0, $16, $A5, $16, $A2, $00, $A0, $01, $20, $63 ; CPU:$9814 PRG:1814 00 05 A5 60 C9 01 D0 16 A5 16 A2 00 A0 01 20 63 - .byte $99, $A5, $47, $F0, $09, $A5, $17, $A2, $01, $A0, $00, $20, $63, $99, $A5, $16 ; CPU:$9824 PRG:1824 99 A5 47 F0 09 A5 17 A2 01 A0 00 20 63 99 A5 16 - .byte $29, $0C, $F0, $20, $AC, $01, $05, $D0, $1E, $EE, $01, $05, $C9, $08, $D0, $0B ; CPU:$9834 PRG:1834 29 0C F0 20 AC 01 05 D0 1E EE 01 05 C9 08 D0 0B - .byte $A4, $60, $88, $D0, $01, $C8, $84, $60, $4C, $B5, $98, $A4, $60, $C8, $C0, $04 ; CPU:$9844 PRG:1844 A4 60 88 D0 01 C8 84 60 4C B5 98 A4 60 C8 C0 04 - .byte $F0, $F6, $D0, $F2, $8D, $01, $05, $A5, $16, $29, $03, $D0, $06, $8D, $02, $05 ; CPU:$9854 PRG:1854 F0 F6 D0 F2 8D 01 05 A5 16 29 03 D0 06 8D 02 05 - .byte $4C, $B5, $98, $AC, $02, $05, $D0, $49, $EE, $02, $05, $A0, $00, $C9, $01, $F0 ; CPU:$9864 PRG:1864 4C B5 98 AC 02 05 D0 49 EE 02 05 A0 00 C9 01 F0 - .byte $01, $C8, $A5, $60, $C9, $01, $F0, $39, $C9, $02, $D0, $1C, $A6, $61, $CA, $C0 ; CPU:$9874 PRG:1874 01 C8 A5 60 C9 01 F0 39 C9 02 D0 1C A6 61 CA C0 - .byte $01, $F0, $02, $E8, $E8, $A0, $00, $E0, $FF, $F0, $08, $A0, $04, $E0, $05, $F0 ; CPU:$9884 PRG:1884 01 F0 02 E8 E8 A0 00 E0 FF F0 08 A0 04 E0 05 F0 - .byte $02, $8A, $A8, $84, $61, $4C, $B5, $98, $A6, $62, $CA, $C0, $01, $F0, $02, $E8 ; CPU:$9894 PRG:1894 02 8A A8 84 61 4C B5 98 A6 62 CA C0 01 F0 02 E8 - .byte $E8, $A0, $00, $E0, $FF, $F0, $08, $A0, $02, $E0, $03, $F0, $02, $8A, $A8, $84 ; CPU:$98A4 PRG:18A4 E8 A0 00 E0 FF F0 08 A0 02 E0 03 F0 02 8A A8 84 - .byte $62, $A4, $60, $B9, $EE, $98, $8D, $10, $02, $A4, $61, $B9, $F2, $98, $8D, $83 ; CPU:$98B4 PRG:18B4 62 A4 60 B9 EE 98 8D 10 02 A4 61 B9 F2 98 8D 83 - .byte $02, $8D, $8B, $02, $18, $69, $05, $8D, $87, $02, $8D, $8F, $02, $A4, $62, $B9 ; CPU:$98C4 PRG:18C4 02 8D 8B 02 18 69 05 8D 87 02 8D 8F 02 A4 62 B9 - .byte $F7, $98, $8D, $B3, $02, $8D, $BF, $02, $18, $69, $07, $8D, $B7, $02, $8D, $C3 ; CPU:$98D4 PRG:18D4 F7 98 8D B3 02 8D BF 02 18 69 07 8D B7 02 8D C3 - .byte $02, $18, $69, $06, $8D, $BB, $02, $8D, $C7, $02, $60, $4E, $96, $B6, $8D, $9D ; CPU:$98E4 PRG:18E4 02 18 69 06 8D BB 02 8D C7 02 60 4E 96 B6 8D 9D - .byte $AD, $BD, $CD, $8D, $AD, $CD, $B9, $0A, $99, $C9, $AA, $F0, $08, $9D, $00, $02 ; CPU:$98F4 PRG:18F4 AD BD CD 8D AD CD B9 0A 99 C9 AA F0 08 9D 00 02 - .byte $C8, $E8, $4C, $FA, $98, $60, $4E, $FE, $42, $0C, $AA, $58, $23, $00, $1C, $60 ; CPU:$9904 PRG:1904 C8 E8 4C FA 98 60 4E FE 42 0C AA 58 23 00 1C 60 - .byte $AF, $40, $18, $60, $AF, $00, $20, $68, $AD, $00, $1C, $64, $FC, $03, $28, $AA ; CPU:$9914 PRG:1914 AF 40 18 60 AF 00 20 68 AD 00 1C 64 FC 03 28 AA - .byte $58, $23, $01, $DC, $60, $AF, $41, $D8, $60, $AF, $01, $E0, $68, $AD, $01, $DC ; CPU:$9924 PRG:1924 58 23 01 DC 60 AF 41 D8 60 AF 01 E0 68 AD 01 DC - .byte $64, $FD, $03, $E8, $AA, $94, $FB, $03, $00, $94, $FB, $43, $00, $99, $FB, $83 ; CPU:$9934 PRG:1934 64 FD 03 E8 AA 94 FB 03 00 94 FB 43 00 99 FB 83 - .byte $00, $99, $FB, $C3, $00, $AA, $B4, $FB, $03, $00, $B4, $FF, $03, $00, $B4, $FB ; CPU:$9944 PRG:1944 00 99 FB C3 00 AA B4 FB 03 00 B4 FF 03 00 B4 FB - .byte $43, $00, $B9, $FB, $83, $00, $B9, $FF, $83, $00, $B9, $FB, $C3, $00, $AA, $29 ; CPU:$9954 PRG:1954 43 00 B9 FB 83 00 B9 FF 83 00 B9 FB C3 00 AA 29 - .byte $03, $D0, $04, $9D, $03, $05, $60, $85, $0C, $BD, $03, $05, $D0, $F8, $FE, $03 ; CPU:$9964 PRG:1964 03 D0 04 9D 03 05 60 85 0C BD 03 05 D0 F8 FE 03 - .byte $05, $A5, $0C, $C9, $01, $D0, $14, $F6, $63, $B5, $63, $C9, $07, $D0, $04, $A9 ; CPU:$9974 PRG:1974 05 A5 0C C9 01 D0 14 F6 63 B5 63 C9 07 D0 04 A9 - .byte $00, $95, $63, $D9, $63, $00, $F0, $EF, $4C, $9E, $99, $D6, $63, $B5, $63, $10 ; CPU:$9984 PRG:1984 00 95 63 D9 63 00 F0 EF 4C 9E 99 D6 63 B5 63 10 - .byte $04, $A9, $06, $95, $63, $D9, $63, $00, $F0, $F1, $B4, $63, $B9, $F9, $99, $A0 ; CPU:$9994 PRG:1994 04 A9 06 95 63 D9 63 00 F0 F1 B4 63 B9 F9 99 A0 - .byte $30, $E0, $00, $F0, $02, $A0, $50, $99, $07, $02, $18, $69, $04, $99, $03, $02 ; CPU:$99A4 PRG:19A4 30 E0 00 F0 02 A0 50 99 07 02 18 69 04 99 03 02 - .byte $99, $0F, $02, $18, $69, $04, $99, $0B, $02, $18, $69, $08, $99, $13, $02, $86 ; CPU:$99B4 PRG:19B4 99 0F 02 18 69 04 99 0B 02 18 69 08 99 13 02 86 - .byte $0C, $B5, $63, $0A, $0A, $A8, $A2, $00, $B9, $00, $9A, $9D, $03, $07, $C8, $E8 ; CPU:$99C4 PRG:19C4 0C B5 63 0A 0A A8 A2 00 B9 00 9A 9D 03 07 C8 E8 - .byte $E0, $04, $D0, $F4, $A9, $00, $9D, $03, $07, $A2, $10, $A0, $3F, $A5, $0C, $F0 ; CPU:$99D4 PRG:19D4 E0 04 D0 F4 A9 00 9D 03 07 A2 10 A0 3F A5 0C F0 - .byte $02, $A2, $14, $8C, $00, $07, $8E, $01, $07, $A9, $04, $8D, $02, $07, $A9, $04 ; CPU:$99E4 PRG:19E4 02 A2 14 8C 00 07 8E 01 07 A9 04 8D 02 07 A9 04 - .byte $85, $23, $4C, $AD, $86, $18, $38, $58, $78, $98, $B8, $D8, $19, $36, $16, $08 ; CPU:$99F4 PRG:19F4 85 23 4C AD 86 18 38 58 78 98 B8 D8 19 36 16 08 - .byte $19, $35, $12, $07, $19, $36, $26, $06, $19, $36, $0F, $06, $19, $17, $38, $0F ; CPU:$9A04 PRG:1A04 19 35 12 07 19 36 26 06 19 36 0F 06 19 17 38 0F - .byte $19, $27, $24, $0F, $19, $26, $3B, $0F, $15, $30, $45, $20, $00, $70, $31, $20 ; CPU:$9A14 PRG:1A14 19 27 24 0F 19 26 3B 0F 15 30 45 20 00 70 31 20 - .byte $30, $70, $31, $20, $60, $60, $31, $20, $A0, $60, $72, $23, $80, $60, $31, $23 ; CPU:$9A24 PRG:1A24 30 70 31 20 60 60 31 20 A0 60 72 23 80 60 31 23 - .byte $A0, $60, $31, $23, $40, $60, $66, $20, $C9, $0E, $BC, $72, $72, $72, $72, $72 ; CPU:$9A34 PRG:1A34 A0 60 31 23 40 60 66 20 C9 0E BC 72 72 72 72 72 - .byte $72, $72, $72, $72, $72, $72, $72, $63, $20, $E9, $0E, $BC, $24, $1C, $0E, $15 ; CPU:$9A44 PRG:1A44 72 72 72 72 72 72 72 63 20 E9 0E BC 24 1C 0E 15 - .byte $0E, $0C, $1D, $12, $18, $17, $1C, $24, $63, $21, $09, $0E, $BC, $66, $66, $66 ; CPU:$9A54 PRG:1A54 0E 0C 1D 12 18 17 1C 24 63 21 09 0E BC 66 66 66 - .byte $66, $66, $66, $66, $66, $66, $66, $66, $66, $63, $21, $43, $0B, $1D, $0E, $0A ; CPU:$9A64 PRG:1A64 66 66 66 66 66 66 66 66 66 63 21 43 0B 1D 0E 0A - .byte $16, $24, $1C, $0E, $15, $0E, $0C, $1D, $21, $C3, $1B, $1E, $1C, $0A, $24, $10 ; CPU:$9A74 PRG:1A74 16 24 1C 0E 15 0E 0C 1D 21 C3 1B 1E 1C 0A 24 10 - .byte $0B, $1B, $24, $0F, $1B, $0A, $24, $0F, $1B, $10, $24, $0B, $1B, $0A, $24, $13 ; CPU:$9A84 PRG:1A84 0B 1B 24 0F 1B 0A 24 0F 1B 10 24 0B 1B 0A 24 13 - .byte $19, $17, $24, $0E, $1C, $19, $22, $63, $0B, $1C, $14, $12, $15, $15, $24, $15 ; CPU:$9A94 PRG:1A94 19 17 24 0E 1C 19 22 63 0B 1C 14 12 15 15 24 15 - .byte $0E, $1F, $0E, $15, $22, $72, $09, $01, $24, $02, $24, $03, $24, $04, $24, $05 ; CPU:$9AA4 PRG:1AA4 0E 1F 0E 15 22 72 09 01 24 02 24 03 24 04 24 05 - .byte $22, $E3, $09, $11, $0A, $15, $0F, $24, $1D, $12, $16, $0E, $22, $F2, $0A, $01 ; CPU:$9AB4 PRG:1AB4 22 E3 09 11 0A 15 0F 24 1D 12 16 0E 22 F2 0A 01 - .byte $05, $24, $24, $03, $00, $24, $24, $04, $05, $23, $C0, $48, $FF, $23, $C8, $48 ; CPU:$9AC4 PRG:1AC4 05 24 24 03 00 24 24 04 05 23 C0 48 FF 23 C8 48 - .byte $5F, $23, $D0, $48, $A5, $23, $E0, $10, $AA, $AA, $AA, $AA, $00, $00, $00, $00 ; CPU:$9AD4 PRG:1AD4 5F 23 D0 48 A5 23 E0 10 AA AA AA AA 00 00 00 00 - .byte $AA, $AA, $AA, $AA, $00, $00, $00, $00, $23, $F0, $48, $F5, $23, $F8, $48, $FF ; CPU:$9AE4 PRG:1AE4 AA AA AA AA 00 00 00 00 23 F0 48 F5 23 F8 48 FF - .byte $00, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9AF4 PRG:1AF4 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20 ; CPU:$9B04 PRG:1B04 20 20 20 43 52 45 41 54 45 20 42 59 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B14 PRG:1B14 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20 ; CPU:$9B24 PRG:1B24 20 20 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B34 PRG:1B34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $A5, $47, $F0, $01, $60, $AD, $E7, $06, $C9, $06, $F0, $09, $A9, $00, $8D ; CPU:$9B44 PRG:1B44 20 A5 47 F0 01 60 AD E7 06 C9 06 F0 09 A9 00 8D - .byte $10, $05, $8D, $11, $05, $60, $AE, $C5, $06, $86, $79, $AD, $10, $05, $D0, $06 ; CPU:$9B54 PRG:1B54 10 05 8D 11 05 60 AE C5 06 86 79 AD 10 05 D0 06 - .byte $20, $3D, $9D, $4C, $AD, $9B, $A9, $00, $9D, $14, $03, $AD, $15, $05, $F0, $03 ; CPU:$9B64 PRG:1B64 20 3D 9D 4C AD 9B A9 00 9D 14 03 AD 15 05 F0 03 - .byte $CE, $15, $05, $AD, $11, $05, $F0, $2E, $BD, $0C, $03, $29, $40, $F0, $27, $A5 ; CPU:$9B74 PRG:1B74 CE 15 05 AD 11 05 F0 2E BD 0C 03 29 40 F0 27 A5 - .byte $94, $C9, $7E, $90, $18, $C9, $FF, $F0, $14, $20, $6E, $9F, $90, $09, $AD, $24 ; CPU:$9B84 PRG:1B84 94 C9 7E 90 18 C9 FF F0 14 20 6E 9F 90 09 AD 24 - .byte $05, $F0, $0A, $CE, $24, $05, $60, $A9, $05, $8D, $24, $05, $60, $A9, $00, $8D ; CPU:$9B94 PRG:1B94 05 F0 0A CE 24 05 60 A9 05 8D 24 05 60 A9 00 8D - .byte $10, $05, $8D, $11, $05, $60, $20, $E2, $9B, $AD, $12, $05, $C9, $80, $F0, $0A ; CPU:$9BA4 PRG:1BA4 10 05 8D 11 05 60 20 E2 9B AD 12 05 C9 80 F0 0A - .byte $C9, $40, $F0, $06, $C9, $0F, $90, $02, $A9, $00, $CD, $13, $05, $F0, $06, $8D ; CPU:$9BB4 PRG:1BB4 C9 40 F0 06 C9 0F 90 02 A9 00 CD 13 05 F0 06 8D - .byte $13, $05, $4C, $D1, $9B, $29, $0F, $8D, $12, $05, $8D, $13, $05, $85, $17, $AE ; CPU:$9BC4 PRG:1BC4 13 05 4C D1 9B 29 0F 8D 12 05 8D 13 05 85 17 AE - .byte $C5, $06, $BD, $0F, $03, $29, $01, $F0, $04, $A9, $00, $85, $17, $60, $AD, $11 ; CPU:$9BD4 PRG:1BD4 C5 06 BD 0F 03 29 01 F0 04 A9 00 85 17 60 AD 11 - .byte $05, $20, $BD, $84, $F4, $9B, $BE, $86, $15, $9C, $87, $9C, $16, $9D, $23, $9D ; CPU:$9BE4 PRG:1BE4 05 20 BD 84 F4 9B BE 86 15 9C 87 9C 16 9D 23 9D - .byte $A9, $00, $8D, $14, $05, $8D, $15, $05, $8D, $12, $05, $8D, $13, $05, $A9, $05 ; CPU:$9BF4 PRG:1BF4 A9 00 8D 14 05 8D 15 05 8D 12 05 8D 13 05 A9 05 - .byte $8D, $24, $05, $AE, $C5, $06, $A9, $00, $9D, $14, $03, $A9, $02, $8D, $11, $05 ; CPU:$9C04 PRG:1C04 8D 24 05 AE C5 06 A9 00 9D 14 03 A9 02 8D 11 05 - .byte $60, $20, $F9, $9D, $8C, $16, $05, $08, $A6, $79, $BD, $04, $03, $C9, $0A, $90 ; CPU:$9C14 PRG:1C14 60 20 F9 9D 8C 16 05 08 A6 79 BD 04 03 C9 0A 90 - .byte $17, $28, $90, $09, $20, $99, $9E, $A9, $03, $8D, $11, $05, $60, $A9, $02, $8D ; CPU:$9C24 PRG:1C24 17 28 90 09 20 99 9E A9 03 8D 11 05 60 A9 02 8D - .byte $12, $05, $A9, $00, $8D, $13, $05, $60, $28, $A5, $7B, $0A, $AA, $A0, $69, $B9 ; CPU:$9C34 PRG:1C34 12 05 A9 00 8D 13 05 60 28 A5 7B 0A AA A0 69 B9 - .byte $03, $03, $85, $00, $B9, $02, $03, $20, $07, $95, $C9, $78, $90, $01, $E8, $BD ; CPU:$9C44 PRG:1C44 03 03 85 00 B9 02 03 20 07 95 C9 78 90 01 E8 BD - .byte $7D, $9C, $85, $00, $AD, $F0, $07, $29, $0F, $18, $65, $00, $8D, $D4, $06, $A6 ; CPU:$9C54 PRG:1C54 7D 9C 85 00 AD F0 07 29 0F 18 65 00 8D D4 06 A6 - .byte $79, $BD, $0A, $03, $29, $FE, $9D, $0A, $03, $A9, $80, $8D, $12, $05, $A9, $00 ; CPU:$9C64 PRG:1C64 79 BD 0A 03 29 FE 9D 0A 03 A9 80 8D 12 05 A9 00 - .byte $8D, $13, $05, $A9, $04, $8D, $11, $05, $60, $70, $70, $78, $68, $78, $68, $7C ; CPU:$9C74 PRG:1C74 8D 13 05 A9 04 8D 11 05 60 70 70 78 68 78 68 7C - .byte $64, $80, $60, $A6, $79, $BD, $04, $03, $C9, $08, $B0, $03, $4C, $F4, $9B, $AD ; CPU:$9C84 PRG:1C84 64 80 60 A6 79 BD 04 03 C9 08 B0 03 4C F4 9B AD - .byte $15, $05, $D0, $5F, $AD, $14, $05, $F0, $06, $C9, $03, $F0, $6F, $D0, $55, $AC ; CPU:$9C94 PRG:1C94 15 05 D0 5F AD 14 05 F0 06 C9 03 F0 6F D0 55 AC - .byte $16, $05, $B9, $03, $03, $85, $00, $B9, $02, $03, $20, $07, $95, $85, $70, $A6 ; CPU:$9CA4 PRG:1CA4 16 05 B9 03 03 85 00 B9 02 03 20 07 95 85 70 A6 - .byte $79, $BD, $03, $03, $85, $00, $BD, $02, $03, $20, $07, $95, $A0, $0A, $C5, $70 ; CPU:$9CB4 PRG:1CB4 79 BD 03 03 85 00 BD 02 03 20 07 95 A0 0A C5 70 - .byte $90, $08, $A0, $06, $C9, $C0, $90, $08, $B0, $04, $C9, $40, $B0, $02, $A0, $02 ; CPU:$9CC4 PRG:1CC4 90 08 A0 06 C9 C0 90 08 B0 04 C9 40 B0 02 A0 02 - .byte $A5, $7B, $C9, $02, $90, $0B, $C9, $04, $F0, $09, $AD, $F0, $07, $29, $01, $F0 ; CPU:$9CD4 PRG:1CD4 A5 7B C9 02 90 0B C9 04 F0 09 AD F0 07 29 01 F0 - .byte $02, $A0, $02, $8C, $12, $05, $A9, $00, $8D, $13, $05, $A9, $05, $8D, $15, $05 ; CPU:$9CE4 PRG:1CE4 02 A0 02 8C 12 05 A9 00 8D 13 05 A9 05 8D 15 05 - .byte $EE, $14, $05, $60, $AC, $16, $05, $20, $12, $9E, $B0, $A3, $A9, $02, $20, $E7 ; CPU:$9CF4 PRG:1CF4 EE 14 05 60 AC 16 05 20 12 9E B0 A3 A9 02 20 E7 - .byte $9C, $A9, $00, $8D, $14, $05, $A9, $02, $8D, $11, $05, $60, $20, $99, $9E, $4C ; CPU:$9D04 PRG:1D04 9C A9 00 8D 14 05 A9 02 8D 11 05 60 20 99 9E 4C - .byte $00, $9D, $A9, $04, $8D, $23, $05, $A9, $05, $8D, $11, $05, $68, $68, $60, $AD ; CPU:$9D14 PRG:1D14 00 9D A9 04 8D 23 05 A9 05 8D 11 05 68 68 60 AD - .byte $23, $05, $F0, $06, $CE, $23, $05, $4C, $20, $9D, $A9, $00, $8D, $10, $05, $8D ; CPU:$9D24 PRG:1D24 23 05 F0 06 CE 23 05 4C 20 9D A9 00 8D 10 05 8D - .byte $11, $05, $8D, $12, $05, $8D, $13, $05, $60, $AD, $11, $05, $20, $BD, $84, $4D ; CPU:$9D34 PRG:1D34 11 05 8D 12 05 8D 13 05 60 AD 11 05 20 BD 84 4D - .byte $9D, $BE, $86, $61, $9D, $BE, $86, $BE, $86, $A9, $00, $8D, $23, $05, $8D, $22 ; CPU:$9D44 PRG:1D44 9D BE 86 61 9D BE 86 BE 86 A9 00 8D 23 05 8D 22 - .byte $05, $8D, $12, $05, $8D, $13, $05, $A9, $02, $8D, $11, $05, $60, $20, $A9, $8F ; CPU:$9D54 PRG:1D54 05 8D 12 05 8D 13 05 A9 02 8D 11 05 60 20 A9 8F - .byte $AD, $22, $05, $C5, $96, $F0, $2D, $A6, $96, $BD, $0F, $03, $29, $01, $D0, $0A ; CPU:$9D64 PRG:1D64 AD 22 05 C5 96 F0 2D A6 96 BD 0F 03 29 01 D0 0A - .byte $AD, $23, $05, $F0, $06, $CE, $23, $05, $F0, $01, $60, $A9, $02, $8D, $23, $05 ; CPU:$9D74 PRG:1D74 AD 23 05 F0 06 CE 23 05 F0 01 60 A9 02 8D 23 05 - .byte $AD, $21, $05, $8D, $C4, $06, $A6, $96, $8E, $C5, $06, $8E, $22, $05, $A9, $01 ; CPU:$9D84 PRG:1D84 AD 21 05 8D C4 06 A6 96 8E C5 06 8E 22 05 A9 01 - .byte $9D, $14, $03, $60, $AD, $23, $05, $F0, $E2, $A9, $02, $8D, $23, $05, $AE, $22 ; CPU:$9D94 PRG:1D94 9D 14 03 60 AD 23 05 F0 E2 A9 02 8D 23 05 AE 22 - .byte $05, $BD, $0C, $03, $29, $20, $D0, $EB, $A9, $00, $9D, $14, $03, $85, $AD, $85 ; CPU:$9DA4 PRG:1DA4 05 BD 0C 03 29 20 D0 EB A9 00 9D 14 03 85 AD 85 - .byte $AE, $BD, $01, $03, $29, $0F, $A8, $C9, $03, $F0, $04, $C9, $07, $D0, $08, $AD ; CPU:$9DB4 PRG:1DB4 AE BD 01 03 29 0F A8 C9 03 F0 04 C9 07 D0 08 AD - .byte $F0, $07, $29, $01, $F0, $01, $C8, $B9, $F0, $9D, $A4, $7B, $C0, $04, $F0, $0A ; CPU:$9DC4 PRG:1DC4 F0 07 29 01 F0 01 C8 B9 F0 9D A4 7B C0 04 F0 0A - .byte $C0, $02, $90, $04, $29, $0C, $D0, $02, $A9, $02, $8D, $12, $05, $A9, $00, $8D ; CPU:$9DD4 PRG:1DD4 C0 02 90 04 29 0C D0 02 A9 02 8D 12 05 A9 00 8D - .byte $13, $05, $A9, $01, $8D, $10, $05, $A9, $00, $8D, $11, $05, $60, $02, $05, $05 ; CPU:$9DE4 PRG:1DE4 13 05 A9 01 8D 10 05 A9 00 8D 11 05 60 02 05 05 - .byte $09, $02, $0A, $0A, $06, $A0, $00, $A6, $79, $A9, $06, $85, $0C, $A9, $02, $85 ; CPU:$9DF4 PRG:1DF4 09 02 0A 0A 06 A0 00 A6 79 A9 06 85 0C A9 02 85 - .byte $70, $85, $71, $A9, $02, $85, $72, $A9, $00, $85, $73, $4C, $22, $9E, $A9, $01 ; CPU:$9E04 PRG:1E04 70 85 71 A9 02 85 72 A9 00 85 73 4C 22 9E A9 01 - .byte $85, $0C, $A9, $00, $85, $70, $85, $71, $A9, $00, $85, $72, $85, $73, $BD, $02 ; CPU:$9E14 PRG:1E14 85 0C A9 00 85 70 85 71 A9 00 85 72 85 73 BD 02 - .byte $03, $38, $E5, $70, $85, $70, $BD, $02, $03, $18, $65, $71, $85, $71, $BD, $04 ; CPU:$9E24 PRG:1E24 03 38 E5 70 85 70 BD 02 03 18 65 71 85 71 BD 04 - .byte $03, $38, $E5, $72, $85, $72, $BD, $04, $03, $18, $65, $73, $85, $73, $B9, $02 ; CPU:$9E34 PRG:1E34 03 38 E5 72 85 72 BD 04 03 18 65 73 85 73 B9 02 - .byte $03, $C5, $70, $90, $15, $A5, $71, $D9, $02, $03, $90, $0E, $B9, $04, $03, $C5 ; CPU:$9E44 PRG:1E44 03 C5 70 90 15 A5 71 D9 02 03 90 0E B9 04 03 C5 - .byte $72, $90, $07, $A5, $73, $D9, $04, $03, $B0, $0B, $98, $18, $69, $15, $A8, $C6 ; CPU:$9E54 PRG:1E54 72 90 07 A5 73 D9 04 03 B0 0B 98 18 69 15 A8 C6 - .byte $0C, $D0, $DB, $18, $60, $38, $60, $A6, $79, $BD, $0F, $03, $A0, $01, $29, $01 ; CPU:$9E64 PRG:1E64 0C D0 DB 18 60 38 60 A6 79 BD 0F 03 A0 01 29 01 - .byte $D0, $02, $A0, $07, $98, $2D, $F0, $07, $D0, $1B, $AD, $F0, $07, $85, $00, $20 ; CPU:$9E74 PRG:1E74 D0 02 A0 07 98 2D F0 07 D0 1B AD F0 07 85 00 20 - .byte $7E, $86, $18, $65, $00, $29, $03, $18, $69, $06, $C9, $07, $D0, $02, $A9, $0A ; CPU:$9E84 PRG:1E84 7E 86 18 65 00 29 03 18 69 06 C9 07 D0 02 A9 0A - .byte $CD, $C4, $06, $D0, $19, $A6, $79, $A0, $07, $BD, $0F, $03, $29, $14, $C9, $14 ; CPU:$9E94 PRG:1E94 CD C4 06 D0 19 A6 79 A0 07 BD 0F 03 29 14 C9 14 - .byte $D0, $0B, $A0, $06, $AD, $F0, $07, $29, $01, $D0, $02, $A0, $08, $98, $0A, $85 ; CPU:$9EA4 PRG:1EA4 D0 0B A0 06 AD F0 07 29 01 D0 02 A0 08 98 0A 85 - .byte $00, $0A, $0A, $18, $65, $00, $85, $0F, $85, $3C, $A4, $0F, $BE, $00, $06, $EC ; CPU:$9EB4 PRG:1EB4 00 0A 0A 18 65 00 85 0F 85 3C A4 0F BE 00 06 EC - .byte $C5, $06, $F0, $08, $BC, $13, $03, $20, $12, $9E, $90, $19, $A5, $0F, $18, $69 ; CPU:$9EC4 PRG:1EC4 C5 06 F0 08 BC 13 03 20 12 9E 90 19 A5 0F 18 69 - .byte $0A, $85, $0F, $A8, $B9, $00, $06, $CD, $C5, $06, $F0, $F0, $C9, $6E, $D0, $DA ; CPU:$9ED4 PRG:1ED4 0A 85 0F A8 B9 00 06 CD C5 06 F0 F0 C9 6E D0 DA - .byte $A6, $3C, $4C, $EB, $9E, $A6, $0F, $A5, $AC, $05, $AB, $D0, $58, $BC, $00, $06 ; CPU:$9EE4 PRG:1EE4 A6 3C 4C EB 9E A6 0F A5 AC 05 AB D0 58 BC 00 06 - .byte $B9, $04, $03, $85, $00, $A4, $79, $B9, $04, $03, $18, $69, $05, $C5, $00, $90 ; CPU:$9EF4 PRG:1EF4 B9 04 03 85 00 A4 79 B9 04 03 18 69 05 C5 00 90 - .byte $44, $AD, $CC, $06, $48, $AD, $CD, $06, $48, $AD, $EC, $06, $48, $BD, $00, $06 ; CPU:$9F04 PRG:1F04 44 AD CC 06 48 AD CD 06 48 AD EC 06 48 BD 00 06 - .byte $8D, $CD, $06, $A0, $00, $D9, $07, $90, $F0, $07, $C8, $D0, $F8, $68, $68, $68 ; CPU:$9F14 PRG:1F14 8D CD 06 A0 00 D9 07 90 F0 07 C8 D0 F8 68 68 68 - .byte $60, $8C, $CC, $06, $AD, $C4, $06, $85, $77, $A9, $00, $8D, $EC, $06, $20, $6B ; CPU:$9F24 PRG:1F24 60 8C CC 06 AD C4 06 85 77 A9 00 8D EC 06 20 6B - .byte $93, $AE, $EC, $06, $68, $8D, $EC, $06, $68, $A8, $68, $E0, $01, $D0, $07, $8C ; CPU:$9F34 PRG:1F34 93 AE EC 06 68 8D EC 06 68 A8 68 E0 01 D0 07 8C - .byte $CD, $06, $8D, $CC, $06, $60, $A6, $79, $BD, $0A, $03, $29, $FE, $9D, $0A, $03 ; CPU:$9F44 PRG:1F44 CD 06 8D CC 06 60 A6 79 BD 0A 03 29 FE 9D 0A 03 - .byte $A9, $40, $8D, $12, $05, $A9, $00, $8D, $13, $05, $8D, $14, $05, $A9, $01, $8D ; CPU:$9F54 PRG:1F54 A9 40 8D 12 05 A9 00 8D 13 05 8D 14 05 A9 01 8D - .byte $10, $05, $A9, $04, $8D, $11, $05, $68, $68, $60, $A5, $A2, $05, $A7, $05, $AC ; CPU:$9F64 PRG:1F64 10 05 A9 04 8D 11 05 68 68 60 A5 A2 05 A7 05 AC - .byte $D0, $0A, $A5, $A1, $05, $A6, $05, $AB, $D0, $02, $38, $60, $18, $60, $20, $20 ; CPU:$9F74 PRG:1F74 D0 0A A5 A1 05 A6 05 AB D0 02 38 60 18 60 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9F84 PRG:1F84 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9F94 PRG:1F94 43 52 45 41 54 45 20 42 59 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9FA4 PRG:1FA4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20 ; CPU:$9FB4 PRG:1FB4 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $A9, $02 ; CPU:$9FC4 PRG:1FC4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A9 02 - .byte $85, $09, $20, $BF, $86, $A9, $00, $85, $0A, $85, $0B, $20, $8F, $83, $20, $AD ; CPU:$9FD4 PRG:1FD4 85 09 20 BF 86 A9 00 85 0A 85 0B 20 8F 83 20 AD - .byte $86, $20, $4F, $84, $20, $AD, $86, $A2, $50, $A0, $A8, $20, $D5, $86, $A9, $01 ; CPU:$9FE4 PRG:1FE4 86 20 4F 84 20 AD 86 A2 50 A0 A8 20 D5 86 A9 01 - .byte $85, $23, $A9, $01, $85, $3B, $85, $19, $A9, $00, $85, $30, $A9, $00, $8D, $30 ; CPU:$9FF4 PRG:1FF4 85 23 A9 01 85 3B 85 19 A9 00 85 30 A9 00 8D 30 - .byte $05, $A9, $04, $85, $2A, $A9, $F4, $8D, $10, $02, $A9, $C2, $8D, $11, $02, $A9 ; CPU:$A004 PRG:2004 05 A9 04 85 2A A9 F4 8D 10 02 A9 C2 8D 11 02 A9 - .byte $01, $8D, $12, $02, $A9, $40, $8D, $13, $02, $A9, $CF, $8D, $20, $02, $A9, $E0 ; CPU:$A014 PRG:2014 01 8D 12 02 A9 40 8D 13 02 A9 CF 8D 20 02 A9 E0 - .byte $8D, $21, $02, $A9, $02, $8D, $22, $02, $A9, $45, $8D, $23, $02, $E6, $26, $A9 ; CPU:$A024 PRG:2024 8D 21 02 A9 02 8D 22 02 A9 45 8D 23 02 E6 26 A9 - .byte $25, $85, $2C, $A5, $7C, $D0, $0B, $20, $8A, $87, $A9, $51, $85, $2C, $A9, $04 ; CPU:$A034 PRG:2034 25 85 2C A5 7C D0 0B 20 8A 87 A9 51 85 2C A9 04 - .byte $85, $7C, $C6, $7C, $4C, $CC, $86, $A5, $2C, $F0, $45, $A5, $2A, $D0, $70, $A9 ; CPU:$A044 PRG:2044 85 7C C6 7C 4C CC 86 A5 2C F0 45 A5 2A D0 70 A9 - .byte $04, $85, $2A, $A9, $05, $A0, $00, $20, $6F, $A0, $AC, $30, $05, $C8, $C0, $06 ; CPU:$A054 PRG:2054 04 85 2A A9 05 A0 00 20 6F A0 AC 30 05 C8 C0 06 - .byte $D0, $02, $A0, $00, $8C, $30, $05, $A9, $55, $A0, $55, $84, $0C, $8D, $01, $07 ; CPU:$A064 PRG:2064 D0 02 A0 00 8C 30 05 A9 55 A0 55 84 0C 8D 01 07 - .byte $A9, $11, $8D, $00, $07, $A9, $C9, $20, $8A, $A0, $A5, $0C, $8D, $01, $07, $A9 ; CPU:$A074 PRG:2074 A9 11 8D 00 07 A9 C9 20 8A A0 A5 0C 8D 01 07 A9 - .byte $D1, $20, $8A, $A0, $A9, $D9, $18, $6D, $30, $05, $AA, $A0, $23, $4C, $35, $8D ; CPU:$A084 PRG:2084 D1 20 8A A0 A9 D9 18 6D 30 05 AA A0 23 4C 35 8D - .byte $20, $BF, $86, $A9, $01, $85, $47, $20, $C4, $A0, $85, $63, $20, $C4, $A0, $C5 ; CPU:$A094 PRG:2094 20 BF 86 A9 01 85 47 20 C4 A0 85 63 20 C4 A0 C5 - .byte $63, $D0, $06, $18, $69, $01, $20, $C7, $A0, $85, $64, $A2, $00, $A0, $01, $20 ; CPU:$A0A4 PRG:20A4 63 D0 06 18 69 01 20 C7 A0 85 64 A2 00 A0 01 20 - .byte $9E, $99, $A2, $01, $A0, $00, $20, $9E, $99, $A9, $02, $85, $25, $E6, $26, $60 ; CPU:$A0B4 PRG:20B4 9E 99 A2 01 A0 00 20 9E 99 A9 02 85 25 E6 26 60 - .byte $20, $7E, $86, $29, $07, $C9, $07, $D0, $02, $A9, $00, $60, $20, $63, $82, $E6 ; CPU:$A0C4 PRG:20C4 20 7E 86 29 07 C9 07 D0 02 A9 00 60 20 63 82 E6 - .byte $26, $60, $20, $07, $83, $A5, $7D, $E6, $7D, $C9, $03, $90, $04, $A9, $00, $85 ; CPU:$A0D4 PRG:20D4 26 60 20 07 83 A5 7D E6 7D C9 03 90 04 A9 00 85 - .byte $7D, $0A, $0A, $A8, $B9, $F1, $A1, $85, $88, $B9, $F2, $A1, $85, $89, $B9, $F3 ; CPU:$A0E4 PRG:20E4 7D 0A 0A A8 B9 F1 A1 85 88 B9 F2 A1 85 89 B9 F3 - .byte $A1, $85, $8A, $B9, $F4, $A1, $85, $8B, $A9, $00, $85, $8C, $85, $8E, $85, $16 ; CPU:$A0F4 PRG:20F4 A1 85 8A B9 F4 A1 85 8B A9 00 85 8C 85 8E 85 16 - .byte $85, $17, $E6, $26, $60, $20, $0F, $A1, $4C, $30, $83, $AD, $E7, $06, $C9, $05 ; CPU:$A104 PRG:2104 85 17 E6 26 60 20 0F A1 4C 30 83 AD E7 06 C9 05 - .byte $F0, $08, $C9, $06, $F0, $04, $C9, $0E, $D0, $5F, $A9, $00, $85, $16, $85, $17 ; CPU:$A114 PRG:2114 F0 08 C9 06 F0 04 C9 0E D0 5F A9 00 85 16 85 17 - .byte $A5, $8C, $F0, $09, $C6, $8C, $A5, $8D, $85, $16, $4C, $5A, $A1, $A0, $00, $B1 ; CPU:$A124 PRG:2124 A5 8C F0 09 C6 8C A5 8D 85 16 4C 5A A1 A0 00 B1 - .byte $88, $C9, $FF, $D0, $0B, $A9, $00, $85, $26, $85, $30, $A5, $48, $85, $47, $60 ; CPU:$A134 PRG:2134 88 C9 FF D0 0B A9 00 85 26 85 30 A5 48 85 47 60 - .byte $29, $CF, $85, $16, $85, $8D, $C8, $B1, $88, $85, $8C, $A5, $88, $18, $69, $02 ; CPU:$A144 PRG:2144 29 CF 85 16 85 8D C8 B1 88 85 8C A5 88 18 69 02 - .byte $85, $88, $90, $02, $E6, $89, $A5, $8E, $F0, $07, $C6, $8E, $A5, $8F, $85, $17 ; CPU:$A154 PRG:2154 85 88 90 02 E6 89 A5 8E F0 07 C6 8E A5 8F 85 17 - .byte $60, $A0, $00, $B1, $8A, $85, $17, $85, $8F, $C8, $B1, $8A, $85, $8E, $A5, $8A ; CPU:$A164 PRG:2164 60 A0 00 B1 8A 85 17 85 8F C8 B1 8A 85 8E A5 8A - .byte $18, $69, $02, $85, $8A, $90, $02, $E6, $8B, $60, $AD, $E7, $06, $C9, $05, $F0 ; CPU:$A174 PRG:2174 18 69 02 85 8A 90 02 E6 8B 60 AD E7 06 C9 05 F0 - .byte $09, $C9, $06, $F0, $05, $C9, $0E, $F0, $01, $60, $A5, $16, $CD, $40, $05, $D0 ; CPU:$A184 PRG:2184 09 C9 06 F0 05 C9 0E F0 01 60 A5 16 CD 40 05 D0 - .byte $08, $EE, $41, $05, $D0, $25, $CE, $41, $05, $A0, $00, $AD, $40, $05, $91, $88 ; CPU:$A194 PRG:2194 08 EE 41 05 D0 25 CE 41 05 A0 00 AD 40 05 91 88 - .byte $A5, $16, $8D, $40, $05, $C8, $AD, $41, $05, $91, $88, $A5, $88, $18, $69, $02 ; CPU:$A1A4 PRG:21A4 A5 16 8D 40 05 C8 AD 41 05 91 88 A5 88 18 69 02 - .byte $85, $88, $90, $02, $E6, $89, $A9, $00, $8D, $41, $05, $A5, $17, $CD, $42, $05 ; CPU:$A1B4 PRG:21B4 85 88 90 02 E6 89 A9 00 8D 41 05 A5 17 CD 42 05 - .byte $D0, $08, $EE, $43, $05, $D0, $25, $CE, $43, $05, $A0, $00, $AD, $42, $05, $91 ; CPU:$A1C4 PRG:21C4 D0 08 EE 43 05 D0 25 CE 43 05 A0 00 AD 42 05 91 - .byte $8A, $A5, $17, $8D, $42, $05, $C8, $AD, $43, $05, $91, $8A, $A5, $8A, $18, $69 ; CPU:$A1D4 PRG:21D4 8A A5 17 8D 42 05 C8 AD 43 05 91 8A A5 8A 18 69 - .byte $02, $85, $8A, $90, $02, $E6, $8B, $A9, $00, $8D, $43, $05, $60, $FD, $A1, $1D ; CPU:$A1E4 PRG:21E4 02 85 8A 90 02 E6 8B A9 00 8D 43 05 60 FD A1 1D - .byte $A2, $4D, $A2, $7D, $A2, $9D, $A2, $DD, $A2, $00, $5B, $04, $37, $00, $0B, $01 ; CPU:$A1F4 PRG:21F4 A2 4D A2 7D A2 9D A2 DD A2 00 5B 04 37 00 0B 01 - .byte $55, $00, $0B, $08, $4F, $00, $0B, $01, $87, $00, $10, $80, $01, $00, $1B, $80 ; CPU:$A204 PRG:2204 55 00 0B 08 4F 00 0B 01 87 00 10 80 01 00 1B 80 - .byte $01, $01, $6B, $FF, $FF, $00, $00, $00, $00, $00, $AE, $02, $13, $00, $01, $04 ; CPU:$A214 PRG:2214 01 01 6B FF FF 00 00 00 00 00 AE 02 13 00 01 04 - .byte $0D, $00, $01, $02, $17, $04, $55, $00, $01, $01, $4F, $00, $01, $08, $35, $00 ; CPU:$A224 PRG:2224 0D 00 01 02 17 04 55 00 01 01 4F 00 01 08 35 00 - .byte $01, $08, $0D, $09, $01, $01, $01, $09, $05, $08, $18, $08, $20, $02, $10, $04 ; CPU:$A234 PRG:2234 01 08 0D 09 01 01 01 09 05 08 18 08 20 02 10 04 - .byte $30, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $4B, $04, $49, $00, $09, $01 ; CPU:$A244 PRG:2244 30 00 FF 00 00 00 00 00 00 00 4B 04 49 00 09 01 - .byte $5F, $00, $0B, $04, $1B, $00, $07, $02, $2F, $00, $0B, $04, $30, $00, $10, $04 ; CPU:$A254 PRG:2254 5F 00 0B 04 1B 00 07 02 2F 00 0B 04 30 00 10 04 - .byte $40, $00, $11, $02, $3F, $00, $05, $01, $07, $00, $28, $FF, $00, $00, $00, $00 ; CPU:$A264 PRG:2264 40 00 11 02 3F 00 05 01 07 00 28 FF 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $AC, $02, $07, $06, $1D, $04 ; CPU:$A274 PRG:2274 00 00 00 00 00 00 00 00 00 00 AC 02 07 06 1D 04 - .byte $29, $01, $61, $00, $01, $04, $2F, $00, $01, $02, $1D, $0A, $01, $00, $6B, $80 ; CPU:$A284 PRG:2284 29 01 61 00 01 04 2F 00 01 02 1D 0A 01 00 6B 80 - .byte $30, $00, $10, $00, $FF, $00, $00, $00, $00, $00, $57, $04, $11, $00, $01, $04 ; CPU:$A294 PRG:2294 30 00 10 00 FF 00 00 00 00 00 57 04 11 00 01 04 - .byte $20, $00, $51, $01, $0B, $00, $01, $08, $1B, $02, $40, $04, $20, $04, $0F, $00 ; CPU:$A2A4 PRG:22A4 20 00 51 01 0B 00 01 08 1B 02 40 04 20 04 0F 00 - .byte $01, $02, $01, $00, $09, $02, $1D, $00, $01, $04, $0B, $00, $07, $02, $26, $00 ; CPU:$A2B4 PRG:22B4 01 02 01 00 09 02 1D 00 01 04 0B 00 07 02 26 00 - .byte $44, $01, $20, $08, $10, $08, $10, $00, $10, $80, $0A, $80, $20, $FF, $FF, $00 ; CPU:$A2C4 PRG:22C4 44 01 20 08 10 08 10 00 10 80 0A 80 20 FF FF 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $02, $0B, $06, $09, $04 ; CPU:$A2D4 PRG:22D4 00 00 00 00 00 00 00 00 00 00 40 02 0B 06 09 04 - .byte $3F, $02, $C0, $0A, $0A, $0A, $20, $00, $0F, $08, $13, $0A, $01, $02, $3F, $00 ; CPU:$A2E4 PRG:22E4 3F 02 C0 0A 0A 0A 20 00 0F 08 13 0A 01 02 3F 00 - .byte $17, $80, $10, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A2F4 PRG:22F4 17 80 10 00 10 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A304 PRG:2304 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52, $45, $41, $54 ; CPU:$A314 PRG:2314 20 20 20 20 20 20 20 20 20 20 20 43 52 45 41 54 - .byte $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A324 PRG:2324 45 20 42 59 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4D, $2E ; CPU:$A334 PRG:2334 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 2E - .byte $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A344 PRG:2344 4F 4F 59 41 4D 41 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $AD, $60, $05, $20, $BD, $84, $BE ; CPU:$A354 PRG:2354 20 20 20 20 20 20 20 20 20 AD 60 05 20 BD 84 BE - .byte $86, $6D, $A3, $A9, $A3, $B7, $A3, $E5, $A3, $A9, $0C, $8D, $61, $05, $A9, $0E ; CPU:$A364 PRG:2364 86 6D A3 A9 A3 B7 A3 E5 A3 A9 0C 8D 61 05 A9 0E - .byte $A4, $0A, $C0, $80, $90, $02, $A9, $12, $85, $A3, $A9, $00, $85, $A4, $A9, $0F ; CPU:$A374 PRG:2374 A4 0A C0 80 90 02 A9 12 85 A3 A9 00 85 A4 A9 0F - .byte $85, $A8, $A9, $40, $85, $A9, $A9, $00, $85, $AD, $85, $AE, $A2, $00, $A9, $20 ; CPU:$A384 PRG:2384 85 A8 A9 40 85 A9 A9 00 85 AD 85 AE A2 00 A9 20 - .byte $9D, $00, $03, $A9, $04, $9D, $12, $03, $8A, $18, $69, $15, $AA, $E0, $FC, $D0 ; CPU:$A394 PRG:2394 9D 00 03 A9 04 9D 12 03 8A 18 69 15 AA E0 FC D0 - .byte $ED, $EE, $60, $05, $60, $AD, $61, $05, $F0, $01, $60, $EE, $60, $05, $A9, $06 ; CPU:$A3A4 PRG:23A4 ED EE 60 05 60 AD 61 05 F0 01 60 EE 60 05 A9 06 - .byte $85, $23, $60, $A2, $00, $A0, $00, $B9, $01, $A4, $C8, $9D, $0A, $03, $B9, $01 ; CPU:$A3B4 PRG:23B4 85 23 60 A2 00 A0 00 B9 01 A4 C8 9D 0A 03 B9 01 - .byte $A4, $C8, $9D, $0B, $03, $A9, $21, $9D, $00, $03, $A9, $00, $9D, $0D, $03, $8A ; CPU:$A3C4 PRG:23C4 A4 C8 9D 0B 03 A9 21 9D 00 03 A9 00 9D 0D 03 8A - .byte $18, $69, $2A, $AA, $E0, $D2, $D0, $DF, $A9, $05, $8D, $61, $05, $EE, $60, $05 ; CPU:$A3D4 PRG:23D4 18 69 2A AA E0 D2 D0 DF A9 05 8D 61 05 EE 60 05 - .byte $60, $AD, $61, $05, $D0, $16, $A2, $00, $A0, $01, $20, $9E, $99, $A2, $01, $A0 ; CPU:$A3E4 PRG:23E4 60 AD 61 05 D0 16 A2 00 A0 01 20 9E 99 A2 01 A0 - .byte $00, $20, $9E, $99, $A9, $00, $8D, $60, $05, $EE, $E7, $06, $60, $AA, $A5, $EA ; CPU:$A3F4 PRG:23F4 00 20 9E 99 A9 00 8D 60 05 EE E7 06 60 AA A5 EA - .byte $A5, $2A, $A6, $70, $A6, $AA, $A6, $A6, $79, $A0, $02, $BD, $0F, $03, $29, $80 ; CPU:$A404 PRG:2404 A5 2A A6 70 A6 AA A6 A6 79 A0 02 BD 0F 03 29 80 - .byte $F0, $02, $A0, $01, $98, $9D, $0E, $03, $A5, $0A, $C9, $80, $D0, $0B, $BD, $04 ; CPU:$A414 PRG:2414 F0 02 A0 01 98 9D 0E 03 A5 0A C9 80 D0 0B BD 04 - .byte $03, $C9, $07, $90, $14, $C9, $19, $B0, $10, $A9, $04, $9D, $12, $03, $20, $F9 ; CPU:$A424 PRG:2424 03 C9 07 90 14 C9 19 B0 10 A9 04 9D 12 03 20 F9 - .byte $90, $A6, $79, $A9, $20, $9D, $00, $03, $60, $CE, $61, $05, $A9, $01, $D0, $F5 ; CPU:$A434 PRG:2434 90 A6 79 A9 20 9D 00 03 60 CE 61 05 A9 01 D0 F5 - .byte $20, $9A, $A5, $B1, $00, $C8, $C9, $AA, $D0, $0C, $CE, $61, $05, $A9, $01, $9D ; CPU:$A444 PRG:2444 20 9A A5 B1 00 C8 C9 AA D0 0C CE 61 05 A9 01 9D - .byte $00, $03, $9D, $15, $03, $60, $9D, $00, $03, $A9, $22, $9D, $15, $03, $98, $9D ; CPU:$A454 PRG:2454 00 03 9D 15 03 60 9D 00 03 A9 22 9D 15 03 98 9D - .byte $0D, $03, $A9, $00, $9D, $0F, $03, $9D, $24, $03, $9D, $12, $03, $9D, $27, $03 ; CPU:$A464 PRG:2464 0D 03 A9 00 9D 0F 03 9D 24 03 9D 12 03 9D 27 03 - .byte $4C, $AD, $87, $A6, $79, $4C, $AD, $87, $20, $9A, $A5, $B1, $00, $C8, $9D, $02 ; CPU:$A474 PRG:2474 4C AD 87 A6 79 4C AD 87 20 9A A5 B1 00 C8 9D 02 - .byte $03, $B1, $00, $C8, $9D, $04, $03, $B1, $00, $C8, $9D, $05, $03, $A9, $00, $9D ; CPU:$A484 PRG:2484 03 B1 00 C8 9D 04 03 B1 00 C8 9D 05 03 A9 00 9D - .byte $03, $03, $B1, $00, $C8, $9D, $09, $03, $B1, $00, $C8, $9D, $1E, $03, $A9, $00 ; CPU:$A494 PRG:2494 03 03 B1 00 C8 9D 09 03 B1 00 C8 9D 1E 03 A9 00 - .byte $9D, $08, $03, $9D, $1D, $03, $B1, $00, $C8, $9D, $07, $03, $B1, $00, $C8, $9D ; CPU:$A4A4 PRG:24A4 9D 08 03 9D 1D 03 B1 00 C8 9D 07 03 B1 00 C8 9D - .byte $01, $03, $9D, $16, $03, $B1, $00, $C8, $9D, $0C, $03, $98, $9D, $0D, $03, $A9 ; CPU:$A4B4 PRG:24B4 01 03 9D 16 03 B1 00 C8 9D 0C 03 98 9D 0D 03 A9 - .byte $2A, $9D, $00, $03, $A9, $2D, $9D, $15, $03, $4C, $AD, $87, $20, $9A, $A5, $4C ; CPU:$A4C4 PRG:24C4 2A 9D 00 03 A9 2D 9D 15 03 4C AD 87 20 9A A5 4C - .byte $96, $A4, $20, $D0, $A4, $A6, $79, $A9, $2C, $9D, $00, $03, $A9, $2D, $9D, $15 ; CPU:$A4D4 PRG:24D4 96 A4 20 D0 A4 A6 79 A9 2C 9D 00 03 A9 2D 9D 15 - .byte $03, $60, $A6, $79, $BD, $0C, $03, $D0, $0D, $A9, $21, $9D, $00, $03, $A9, $22 ; CPU:$A4E4 PRG:24E4 03 60 A6 79 BD 0C 03 D0 0D A9 21 9D 00 03 A9 22 - .byte $9D, $15, $03, $4C, $AD, $87, $DE, $0C, $03, $20, $8E, $94, $BD, $04, $03, $9D ; CPU:$A4F4 PRG:24F4 9D 15 03 4C AD 87 DE 0C 03 20 8E 94 BD 04 03 9D - .byte $19, $03, $BD, $05, $03, $9D, $1A, $03, $BD, $02, $03, $9D, $17, $03, $BD, $03 ; CPU:$A504 PRG:2504 19 03 BD 05 03 9D 1A 03 BD 02 03 9D 17 03 BD 03 - .byte $03, $9D, $18, $03, $A9, $2A, $9D, $00, $03, $A9, $2B, $9D, $15, $03, $A6, $79 ; CPU:$A514 PRG:2514 03 9D 18 03 A9 2A 9D 00 03 A9 2B 9D 15 03 A6 79 - .byte $A9, $01, $9D, $0E, $03, $4C, $89, $91, $A6, $79, $BD, $0C, $03, $D0, $03, $4C ; CPU:$A524 PRG:2524 A9 01 9D 0E 03 4C 89 91 A6 79 BD 0C 03 D0 03 4C - .byte $ED, $A4, $DE, $0C, $03, $BC, $07, $03, $B9, $F0, $A6, $C8, $C9, $AA, $D0, $07 ; CPU:$A534 PRG:2534 ED A4 DE 0C 03 BC 07 03 B9 F0 A6 C8 C9 AA D0 07 - .byte $B9, $F0, $A6, $A8, $4C, $3C, $A5, $18, $7D, $03, $03, $9D, $03, $03, $9D, $18 ; CPU:$A544 PRG:2544 B9 F0 A6 A8 4C 3C A5 18 7D 03 03 9D 03 03 9D 18 - .byte $03, $B9, $F0, $A6, $C8, $7D, $02, $03, $9D, $02, $03, $9D, $17, $03, $BD, $04 ; CPU:$A554 PRG:2554 03 B9 F0 A6 C8 7D 02 03 9D 02 03 9D 17 03 BD 04 - .byte $03, $9D, $19, $03, $BD, $05, $03, $9D, $1A, $03, $98, $9D, $07, $03, $BC, $09 ; CPU:$A564 PRG:2564 03 9D 19 03 BD 05 03 9D 1A 03 98 9D 07 03 BC 09 - .byte $03, $B9, $32, $A7, $C8, $C9, $AA, $D0, $07, $B9, $32, $A7, $A8, $4C, $75, $A5 ; CPU:$A574 PRG:2574 03 B9 32 A7 C8 C9 AA D0 07 B9 32 A7 A8 4C 75 A5 - .byte $9D, $06, $03, $B9, $32, $A7, $C8, $9D, $1B, $03, $98, $9D, $09, $03, $4C, $AD ; CPU:$A584 PRG:2584 9D 06 03 B9 32 A7 C8 9D 1B 03 98 9D 09 03 4C AD - .byte $87, $A6, $79, $4C, $AD, $87, $A6, $79, $BD, $0A, $03, $85, $00, $BD, $0B, $03 ; CPU:$A594 PRG:2594 87 A6 79 4C AD 87 A6 79 BD 0A 03 85 00 BD 0B 03 - .byte $85, $01, $BC, $0D, $03, $60, $24, $05, $07, $00, $60, $66, $64, $03, $4C, $25 ; CPU:$A5A4 PRG:25A4 85 01 BC 0D 03 60 24 05 07 00 60 66 64 03 4C 25 - .byte $7A, $81, $60, $05, $42, $25, $7A, $81, $68, $05, $18, $26, $00, $00, $00, $05 ; CPU:$A5B4 PRG:25B4 7A 81 60 05 42 25 7A 81 68 05 18 26 00 00 00 05 - .byte $28, $25, $7A, $81, $68, $05, $28, $25, $60, $66, $64, $07, $20, $25, $6C, $73 ; CPU:$A5C4 PRG:25C4 28 25 7A 81 68 05 28 25 60 66 64 07 20 25 6C 73 - .byte $60, $01, $48, $25, $7A, $81, $68, $05, $50, $26, $00, $00, $00, $05, $28, $25 ; CPU:$A5D4 PRG:25D4 60 01 48 25 7A 81 68 05 50 26 00 00 00 05 28 25 - .byte $60, $66, $66, $07, $40, $AA, $24, $05, $19, $00, $60, $66, $64, $07, $4C, $25 ; CPU:$A5E4 PRG:25E4 60 66 66 07 40 AA 24 05 19 00 60 66 64 07 4C 25 - .byte $7A, $81, $60, $05, $42, $25, $7A, $81, $68, $05, $18, $26, $00, $00, $00, $05 ; CPU:$A5F4 PRG:25F4 7A 81 60 05 42 25 7A 81 68 05 18 26 00 00 00 05 - .byte $28, $25, $7A, $81, $68, $05, $28, $25, $60, $66, $64, $03, $20, $25, $6C, $73 ; CPU:$A604 PRG:2604 28 25 7A 81 68 05 28 25 60 66 64 03 20 25 6C 73 - .byte $60, $01, $48, $25, $7A, $81, $68, $05, $50, $26, $00, $00, $00, $05, $28, $25 ; CPU:$A614 PRG:2614 60 01 48 25 7A 81 68 05 50 26 00 00 00 05 28 25 - .byte $60, $66, $66, $03, $40, $AA, $24, $0B, $05, $30, $60, $66, $64, $03, $4E, $25 ; CPU:$A624 PRG:2624 60 66 66 03 40 AA 24 0B 05 30 60 66 64 03 4E 25 - .byte $6C, $73, $60, $01, $40, $25, $96, $9D, $68, $05, $20, $25, $7A, $81, $68, $05 ; CPU:$A634 PRG:2634 6C 73 60 01 40 25 96 9D 68 05 20 25 7A 81 68 05 - .byte $24, $26, $00, $00, $00, $05, $28, $25, $60, $66, $64, $03, $18, $25, $7A, $81 ; CPU:$A644 PRG:2644 24 26 00 00 00 05 28 25 60 66 64 03 18 25 7A 81 - .byte $60, $05, $20, $25, $7A, $81, $68, $05, $50, $26, $00, $00, $00, $05, $28, $25 ; CPU:$A654 PRG:2654 60 05 20 25 7A 81 68 05 50 26 00 00 00 05 28 25 - .byte $7A, $81, $68, $05, $28, $25, $60, $66, $66, $07, $40, $AA, $24, $08, $18, $A4 ; CPU:$A664 PRG:2664 7A 81 68 05 28 25 60 66 66 07 40 AA 24 08 18 A4 - .byte $60, $66, $66, $07, $4F, $25, $6C, $73, $62, $01, $24, $25, $7A, $81, $68, $05 ; CPU:$A674 PRG:2674 60 66 66 07 4F 25 6C 73 62 01 24 25 7A 81 68 05 - .byte $34, $26, $00, $00, $00, $05, $28, $25, $7A, $81, $68, $05, $60, $25, $7A, $81 ; CPU:$A684 PRG:2684 34 26 00 00 00 05 28 25 7A 81 68 05 60 25 7A 81 - .byte $62, $05, $44, $25, $7A, $81, $68, $05, $3E, $26, $00, $00, $00, $05, $28, $25 ; CPU:$A694 PRG:2694 62 05 44 25 7A 81 68 05 3E 26 00 00 00 05 28 25 - .byte $60, $66, $66, $07, $60, $AA, $24, $0B, $1B, $00, $60, $66, $64, $07, $4E, $25 ; CPU:$A6A4 PRG:26A4 60 66 66 07 60 AA 24 0B 1B 00 60 66 64 07 4E 25 - .byte $6C, $73, $60, $01, $40, $25, $96, $9D, $68, $05, $20, $25, $7A, $81, $68, $05 ; CPU:$A6B4 PRG:26B4 6C 73 60 01 40 25 96 9D 68 05 20 25 7A 81 68 05 - .byte $24, $26, $00, $00, $00, $05, $28, $25, $60, $66, $64, $07, $18, $25, $7A, $81 ; CPU:$A6C4 PRG:26C4 24 26 00 00 00 05 28 25 60 66 64 07 18 25 7A 81 - .byte $60, $05, $20, $25, $7A, $81, $68, $05, $50, $26, $00, $00, $00, $05, $28, $25 ; CPU:$A6D4 PRG:26D4 60 05 20 25 7A 81 68 05 50 26 00 00 00 05 28 25 - .byte $7A, $81, $68, $05, $28, $25, $60, $66, $66, $03, $50, $AA, $00, $00, $00, $00 ; CPU:$A6E4 PRG:26E4 7A 81 68 05 28 25 60 66 66 03 50 AA 00 00 00 00 - .byte $D0, $FF, $D0, $FF, $D0, $FF, $E0, $FF, $00, $00, $E0, $FF, $00, $00, $E0, $FF ; CPU:$A6F4 PRG:26F4 D0 FF D0 FF D0 FF E0 FF 00 00 E0 FF 00 00 E0 FF - .byte $00, $00, $00, $00, $F0, $FF, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00 ; CPU:$A704 PRG:2704 00 00 00 00 F0 FF 00 00 00 00 00 00 10 00 00 00 - .byte $00, $00, $20, $00, $00, $00, $20, $00, $00, $00, $20, $00, $30, $00, $30, $00 ; CPU:$A714 PRG:2714 00 00 20 00 00 00 20 00 00 00 20 00 30 00 30 00 - .byte $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $AA, $38, $87, $78 ; CPU:$A724 PRG:2724 30 00 00 00 00 00 00 00 00 00 00 00 AA 38 87 78 - .byte $87, $78, $74, $75, $74, $75, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A ; CPU:$A734 PRG:2734 87 78 74 75 74 75 79 7A 79 7A 79 7A 79 7A 79 7A - .byte $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A ; CPU:$A744 PRG:2744 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A - .byte $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A ; CPU:$A754 PRG:2754 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A - .byte $79, $7A, $74, $75, $74, $75, $AA, $34, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A764 PRG:2764 79 7A 74 75 74 75 AA 34 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52, $45, $41, $54, $45 ; CPU:$A774 PRG:2774 20 20 20 20 20 20 20 20 20 20 43 52 45 41 54 45 - .byte $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A784 PRG:2784 20 42 59 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4D, $2E, $4F ; CPU:$A794 PRG:2794 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 2E 4F - .byte $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A7A4 PRG:27A4 4F 59 41 4D 41 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $2C, $A8, $2C, $A8, $05, $A8, $00, $07 ; CPU:$A7B4 PRG:27B4 20 20 20 20 20 20 20 20 2C A8 2C A8 05 A8 00 07 - .byte $D0, $A7, $F9, $A7, $EF, $A7, $F4, $A7, $D0, $A7, $D0, $A7, $3F, $00, $10, $19 ; CPU:$A7C4 PRG:27C4 D0 A7 F9 A7 EF A7 F4 A7 D0 A7 D0 A7 3F 00 10 19 - .byte $31, $26, $0F, $19, $31, $36, $0F, $19, $30, $07, $21, $19, $30, $07, $21, $3F ; CPU:$A7D4 PRG:27D4 31 26 0F 19 31 36 0F 19 30 07 21 19 30 07 21 3F - .byte $18, $08, $19, $08, $30, $18, $19, $30, $10, $0F, $00, $3F, $0F, $01, $30, $00 ; CPU:$A7E4 PRG:27E4 18 08 19 08 30 18 19 30 10 0F 00 3F 0F 01 30 00 - .byte $3F, $0F, $01, $21, $00, $3F, $10, $08, $19, $36, $24, $06, $19, $36, $24, $06 ; CPU:$A7F4 PRG:27F4 3F 0F 01 21 00 3F 10 08 19 36 24 06 19 36 24 06 - .byte $00, $3F, $00, $10, $19, $30, $19, $30, $19, $26, $19, $30, $19, $30, $19, $26 ; CPU:$A804 PRG:2804 00 3F 00 10 19 30 19 30 19 26 19 30 19 30 19 26 - .byte $19, $2C, $12, $12, $3F, $10, $10, $19, $30, $30, $30, $19, $30, $30, $30, $19 ; CPU:$A814 PRG:2814 19 2C 12 12 3F 10 10 19 30 30 30 19 30 30 30 19 - .byte $30, $12, $12, $19, $30, $2C, $0F, $00, $3F, $00, $20, $0F, $30, $0F, $16, $0F ; CPU:$A824 PRG:2824 30 12 12 19 30 2C 0F 00 3F 00 20 0F 30 0F 16 0F - .byte $16, $0F, $27, $0F, $2C, $0F, $02, $0F, $30, $0F, $30, $0F, $0F, $0F, $0F, $0F ; CPU:$A834 PRG:2834 16 0F 27 0F 2C 0F 02 0F 30 0F 30 0F 0F 0F 0F 0F - .byte $30, $10, $02, $0F, $30, $0F, $0F, $0F, $0F, $0F, $0F, $00, $20, $63, $5A, $2A ; CPU:$A844 PRG:2844 30 10 02 0F 30 0F 0F 0F 0F 0F 0F 00 20 63 5A 2A - .byte $20, $83, $5A, $2A, $22, $23, $5A, $2B, $22, $43, $5A, $2B, $20, $C4, $18, $26 ; CPU:$A854 PRG:2854 20 83 5A 2A 22 23 5A 2B 22 43 5A 2B 20 C4 18 26 - .byte $2A, $2A, $27, $26, $2A, $2A, $27, $26, $2A, $2A, $27, $26, $2A, $2A, $27, $B3 ; CPU:$A864 PRG:2864 2A 2A 27 26 2A 2A 27 26 2A 2A 27 26 2A 2A 27 B3 - .byte $2A, $2A, $B5, $B3, $2A, $2A, $27, $20, $E4, $18, $2C, $F5, $5C, $2D, $2C, $F5 ; CPU:$A874 PRG:2874 2A 2A B5 B3 2A 2A 27 20 E4 18 2C F5 5C 2D 2C F5 - .byte $5C, $2D, $2C, $F5, $5C, $2D, $2C, $F5, $5C, $2D, $2C, $F5, $2B, $B2, $2C, $F5 ; CPU:$A884 PRG:2884 5C 2D 2C F5 5C 2D 2C F5 5C 2D 2C F5 2B B2 2C F5 - .byte $5C, $2D, $21, $04, $18, $2C, $30, $FF, $B2, $2C, $30, $5A, $2D, $2C, $30, $FF ; CPU:$A894 PRG:2894 5C 2D 21 04 18 2C 30 FF B2 2C 30 5A 2D 2C 30 FF - .byte $B2, $2C, $30, $FF, $B2, $2C, $30, $24, $24, $2C, $30, $5A, $2D, $21, $24, $18 ; CPU:$A8A4 PRG:28A4 B2 2C 30 FF B2 2C 30 24 24 2C 30 5A 2D 21 24 18 - .byte $2C, $30, $24, $24, $2C, $30, $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24, $24 ; CPU:$A8B4 PRG:28B4 2C 30 24 24 2C 30 5A 2D 2C 30 24 24 2C 30 24 24 - .byte $2C, $30, $24, $24, $2C, $30, $5A, $2D, $21, $44, $18, $2C, $FE, $2A, $27, $2C ; CPU:$A8C4 PRG:28C4 2C 30 24 24 2C 30 5A 2D 21 44 18 2C FE 2A 27 2C - .byte $30, $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24, $24, $2C, $FE, $2A, $B5, $2C ; CPU:$A8D4 PRG:28D4 30 5A 2D 2C 30 24 24 2C 30 24 24 2C FE 2A B5 2C - .byte $FE, $FD, $2D, $21, $64, $18, $28, $2B, $5C, $2D, $2C, $30, $5A, $2D, $2C, $30 ; CPU:$A8E4 PRG:28E4 FE FD 2D 21 64 18 28 2B 5C 2D 2C 30 5A 2D 2C 30 - .byte $24, $24, $2C, $30, $24, $24, $2C, $F5, $2B, $B2, $2C, $F5, $5C, $29, $21, $84 ; CPU:$A8F4 PRG:28F4 24 24 2C 30 24 24 2C F5 2B B2 2C F5 5C 29 21 84 - .byte $18, $24, $24, $5A, $2D, $2C, $30, $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24 ; CPU:$A904 PRG:2904 18 24 24 5A 2D 2C 30 5A 2D 2C 30 24 24 2C 30 24 - .byte $24, $2C, $30, $24, $24, $2C, $30, $5A, $27, $21, $A4, $18, $B3, $FB, $5A, $2D ; CPU:$A914 PRG:2914 24 2C 30 24 24 2C 30 5A 27 21 A4 18 B3 FB 5A 2D - .byte $2C, $30, $5A, $2D, $2C, $30, $FC, $B5, $2C, $30, $FC, $B5, $2C, $30, $24, $24 ; CPU:$A924 PRG:2924 2C 30 5A 2D 2C 30 FC B5 2C 30 FC B5 2C 30 24 24 - .byte $2C, $30, $5A, $2D, $21, $C4, $18, $2C, $FE, $FD, $2D, $2C, $FE, $FD, $2D, $2C ; CPU:$A934 PRG:2934 2C 30 5A 2D 21 C4 18 2C FE FD 2D 2C FE FD 2D 2C - .byte $FE, $FD, $2D, $2C, $FE, $FD, $2D, $2C, $FE, $2A, $B5, $2C, $30, $5A, $2D, $21 ; CPU:$A944 PRG:2944 FE FD 2D 2C FE FD 2D 2C FE 2A B5 2C 30 5A 2D 21 - .byte $E4, $18, $28, $2B, $2B, $29, $28, $2B, $2B, $29, $28, $2B, $2B, $29, $28, $2B ; CPU:$A954 PRG:2954 E4 18 28 2B 2B 29 28 2B 2B 29 28 2B 2B 29 28 2B - .byte $2B, $29, $E9, $2B, $2B, $B2, $E9, $23, $FF, $B2, $22, $AA, $0D, $01, $24, $19 ; CPU:$A964 PRG:2964 2B 29 E9 2B 2B B2 E9 23 FF B2 22 AA 0D 01 24 19 - .byte $15, $0A, $25, $0E, $1B, $24, $10, $0A, $16, $0E, $22, $EA, $0D, $02, $24, $19 ; CPU:$A974 PRG:2974 15 0A 25 0E 1B 24 10 0A 16 0E 22 EA 0D 02 24 19 - .byte $15, $0A, $25, $0E, $1B, $24, $10, $0A, $16, $0E, $23, $49, $0E, $24, $01, $09 ; CPU:$A984 PRG:2984 15 0A 25 0E 1B 24 10 0A 16 0E 23 49 0E 24 01 09 - .byte $08, $05, $24, $17, $12, $17, $1D, $0E, $17, $0D, $18, $23, $C0, $48, $AA, $23 ; CPU:$A994 PRG:2994 08 05 24 17 12 17 1D 0E 17 0D 18 23 C0 48 AA 23 - .byte $C8, $18, $05, $55, $05, $05, $05, $05, $05, $05, $00, $55, $00, $00, $00, $00 ; CPU:$A9A4 PRG:29A4 C8 18 05 55 05 05 05 05 05 05 00 55 00 00 00 00 - .byte $00, $00, $00, $55, $00, $00, $00, $00, $00, $00, $23, $E0, $48, $A5, $23, $E8 ; CPU:$A9B4 PRG:29B4 00 00 00 55 00 00 00 00 00 00 23 E0 48 A5 23 E8 - .byte $48, $FF, $23, $F0, $48, $FF, $00, $20, $00, $70, $31, $20, $30, $70, $31, $20 ; CPU:$A9C4 PRG:29C4 48 FF 23 F0 48 FF 00 20 00 70 31 20 30 70 31 20 - .byte $60, $60, $31, $20, $85, $01, $5B, $20, $A5, $03, $5D, $6F, $71, $20, $A8, $57 ; CPU:$A9D4 PRG:29D4 60 60 31 20 85 01 5B 20 A5 03 5D 6F 71 20 A8 57 - .byte $72, $20, $C5, $02, $5E, $70, $21, $81, $87, $32, $33, $34, $35, $36, $37, $38 ; CPU:$A9E4 PRG:29E4 72 20 C5 02 5E 70 21 81 87 32 33 34 35 36 37 38 - .byte $21, $02, $8B, $39, $3A, $3B, $3C, $3D, $3E, $3F, $40, $41, $41, $38, $20, $E3 ; CPU:$A9F4 PRG:29F4 21 02 8B 39 3A 3B 3C 3D 3E 3F 40 41 41 38 20 E3 - .byte $8C, $42, $43, $44, $44, $45, $46, $47, $48, $21, $41, $41, $38, $20, $E4, $92 ; CPU:$AA04 PRG:2A04 8C 42 43 44 44 45 46 47 48 21 41 41 38 20 E4 92 - .byte $49, $4A, $4B, $4C, $4D, $4E, $4F, $50, $51, $52, $53, $54, $67, $68, $69, $6A ; CPU:$AA14 PRG:2A14 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 67 68 69 6A - .byte $6B, $61, $20, $E5, $8C, $5F, $55, $56, $57, $58, $60, $61, $62, $63, $64, $65 ; CPU:$AA24 PRG:2A24 6B 61 20 E5 8C 5F 55 56 57 58 60 61 62 63 64 65 - .byte $66, $21, $06, $46, $73, $21, $0C, $8E, $E3, $E4, $B9, $E5, $E6, $E7, $6B, $E8 ; CPU:$AA34 PRG:2A34 66 21 06 46 73 21 0C 8E E3 E4 B9 E5 E6 E7 6B E8 - .byte $BF, $EA, $EB, $EC, $B6, $65, $21, $8D, $86, $D5, $D6, $24, $24, $D7, $D8, $21 ; CPU:$AA44 PRG:2A44 BF EA EB EC B6 65 21 8D 86 D5 D6 24 24 D7 D8 21 - .byte $AE, $84, $D1, $D2, $D3, $D4, $22, $6B, $84, $ED, $5D, $5E, $EE, $21, $66, $42 ; CPU:$AA54 PRG:2A54 AE 84 D1 D2 D3 D4 22 6B 84 ED 5D 5E EE 21 66 42 - .byte $72, $21, $68, $88, $74, $75, $60, $76, $77, $63, $78, $B6, $22, $27, $82, $79 ; CPU:$AA64 PRG:2A64 72 21 68 88 74 75 60 76 77 63 78 B6 22 27 82 79 - .byte $7A, $22, $46, $01, $66, $22, $C5, $46, $73, $23, $24, $01, $6C, $23, $43, $03 ; CPU:$AA74 PRG:2A74 7A 22 46 01 66 22 C5 46 73 23 24 01 6C 23 43 03 - .byte $5B, $6D, $6E, $23, $46, $59, $66, $20, $BF, $96, $8A, $5D, $5D, $5D, $5D, $5D ; CPU:$AA84 PRG:2A84 5B 6D 6E 23 46 59 66 20 BF 96 8A 5D 5D 5D 5D 5D - .byte $86, $5D, $5D, $87, $88, $5D, $5D, $89, $5D, $5D, $5D, $5D, $5D, $5D, $5D, $8B ; CPU:$AA94 PRG:2A94 86 5D 5D 87 88 5D 5D 89 5D 5D 5D 5D 5D 5D 5D 8B - .byte $21, $7E, $88, $82, $83, $24, $24, $24, $24, $84, $85, $21, $9D, $86, $7E, $7F ; CPU:$AAA4 PRG:2AA4 21 7E 88 82 83 24 24 24 24 84 85 21 9D 86 7E 7F - .byte $24, $24, $80, $81, $21, $BC, $84, $7B, $59, $7C, $7D, $21, $EA, $01, $22, $23 ; CPU:$AAB4 PRG:2AB4 24 24 80 81 21 BC 84 7B 59 7C 7D 21 EA 01 22 23 - .byte $C0, $08, $AA, $AA, $FA, $FA, $FA, $FA, $AA, $AA, $23, $D0, $42, $55, $23, $D8 ; CPU:$AAC4 PRG:2AC4 C0 08 AA AA FA FA FA FA AA AA 23 D0 42 55 23 D8 - .byte $42, $55, $23, $E0, $42, $55, $23, $E8, $42, $55, $23, $F8, $48, $FF, $24, $00 ; CPU:$AAD4 PRG:2AD4 42 55 23 E0 42 55 23 E8 42 55 23 F8 48 FF 24 00 - .byte $70, $31, $24, $30, $70, $31, $24, $60, $60, $31, $24, $9A, $01, $B4, $24, $B8 ; CPU:$AAE4 PRG:2AE4 70 31 24 30 70 31 24 60 60 31 24 9A 01 B4 24 B8 - .byte $03, $C9, $C7, $B6, $24, $A1, $57, $72, $24, $D9, $02, $C8, $B7, $25, $9E, $87 ; CPU:$AAF4 PRG:2AF4 03 C9 C7 B6 24 A1 57 72 24 D9 02 C8 B7 25 9E 87 - .byte $8C, $8D, $8E, $8F, $90, $91, $38, $25, $1D, $8B, $92, $93, $94, $95, $96, $97 ; CPU:$AB04 PRG:2B04 8C 8D 8E 8F 90 91 38 25 1D 8B 92 93 94 95 96 97 - .byte $98, $99, $9A, $9A, $38, $24, $FC, $8C, $9B, $9C, $9D, $9D, $9E, $9F, $A0, $A1 ; CPU:$AB14 PRG:2B14 98 99 9A 9A 38 24 FC 8C 9B 9C 9D 9D 9E 9F A0 A1 - .byte $1A, $9A, $9A, $38, $24, $FB, $92, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA ; CPU:$AB24 PRG:2B24 1A 9A 9A 38 24 FB 92 A2 A3 A4 A5 A6 A7 A8 A9 AA - .byte $AB, $AC, $AD, $BF, $C0, $C1, $C2, $C3, $BA, $24, $FA, $8C, $B8, $AE, $AF, $B0 ; CPU:$AB34 PRG:2B34 AB AC AD BF C0 C1 C2 C3 BA 24 FA 8C B8 AE AF B0 - .byte $B1, $B9, $BA, $BB, $BC, $BD, $BE, $66, $25, $14, $46, $73, $25, $13, $8E, $EF ; CPU:$AB44 PRG:2B44 B1 B9 BA BB BC BD BE 66 25 14 46 73 25 13 8E EF - .byte $F0, $60, $F1, $F2, $F3, $C3, $F4, $67, $F6, $F7, $F8, $5D, $BE, $25, $92, $86 ; CPU:$AB54 PRG:2B54 F0 60 F1 F2 F3 C3 F4 67 F6 F7 F8 5D BE 25 92 86 - .byte $7E, $7F, $24, $24, $80, $81, $25, $B1, $84, $7B, $59, $7C, $7D, $26, $74, $84 ; CPU:$AB64 PRG:2B64 7E 7F 24 24 80 81 25 B1 84 7B 59 7C 7D 26 74 84 - .byte $F9, $B6, $B7, $FA, $25, $78, $42, $72, $25, $77, $88, $CA, $CB, $B9, $CC, $CD ; CPU:$AB74 PRG:2B74 F9 B6 B7 FA 25 78 42 72 25 77 88 CA CB B9 CC CD - .byte $BC, $CE, $5D, $26, $38, $82, $CF, $D0, $26, $59, $01, $66, $26, $D5, $46, $73 ; CPU:$AB84 PRG:2B84 BC CE 5D 26 38 82 CF D0 26 59 01 66 26 D5 46 73 - .byte $27, $3B, $01, $C4, $27, $5A, $03, $C6, $C5, $B4, $27, $41, $59, $66, $24, $A0 ; CPU:$AB94 PRG:2B94 27 3B 01 C4 27 5A 03 C6 C5 B4 27 41 59 66 24 A0 - .byte $96, $E1, $B6, $B6, $B6, $B6, $B6, $DD, $B6, $B6, $DE, $DF, $B6, $B6, $E0, $B6 ; CPU:$ABA4 PRG:2BA4 96 E1 B6 B6 B6 B6 B6 DD B6 B6 DE DF B6 B6 E0 B6 - .byte $B6, $B6, $B6, $B6, $B6, $B6, $E2, $25, $61, $88, $D9, $DA, $24, $24, $24, $24 ; CPU:$ABB4 PRG:2BB4 B6 B6 B6 B6 B6 B6 E2 25 61 88 D9 DA 24 24 24 24 - .byte $DB, $DC, $25, $82, $86, $D5, $D6, $24, $24, $D7, $D8, $25, $A3, $84, $D1, $D2 ; CPU:$ABC4 PRG:2BC4 DB DC 25 82 86 D5 D6 24 24 D7 D8 25 A3 84 D1 D2 - .byte $D3, $D4, $25, $F5, $01, $22, $27, $C0, $48, $FF, $27, $D6, $42, $55, $27, $DE ; CPU:$ABD4 PRG:2BD4 D3 D4 25 F5 01 22 27 C0 48 FF 27 D6 42 55 27 DE - .byte $42, $55, $27, $E6, $42, $55, $27, $EE, $42, $55, $27, $F8, $48, $FF, $00, $F4 ; CPU:$ABE4 PRG:2BE4 42 55 27 E6 42 55 27 EE 42 55 27 F8 48 FF 00 F4 - .byte $FE, $00, $40, $20, $00, $06, $00, $20, $62, $06, $00, $20, $78, $06, $00, $20 ; CPU:$ABF4 PRG:2BF4 FE 00 40 20 00 06 00 20 62 06 00 20 78 06 00 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$AC04 PRG:2C04 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20 ; CPU:$AC14 PRG:2C14 20 43 52 45 41 54 45 20 42 59 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$AC24 PRG:2C24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20 ; CPU:$AC34 PRG:2C34 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $EC ; CPU:$AC44 PRG:2C44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 EC - .byte $2B, $40, $FD, $F4, $2D, $40, $F8, $F4, $2C, $40, $00, $FC, $2E, $40, $FD, $EC ; CPU:$AC54 PRG:2C54 2B 40 FD F4 2D 40 F8 F4 2C 40 00 FC 2E 40 FD EC - .byte $2F, $00, $FC, $F4, $30, $00, $FC, $FC, $32, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AC64 PRG:2C64 2F 00 FC F4 30 00 FC FC 32 00 FC AA 00 00 00 EC - .byte $2B, $00, $FB, $F4, $2C, $00, $F8, $F4, $2D, $00, $00, $FC, $2E, $00, $FB, $EC ; CPU:$AC74 PRG:2C74 2B 00 FB F4 2C 00 F8 F4 2D 00 00 FC 2E 00 FB EC - .byte $14, $00, $FC, $F4, $15, $00, $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC ; CPU:$AC84 PRG:2C84 14 00 FC F4 15 00 FC FC B7 00 F8 FC 17 00 00 EC - .byte $14, $00, $FC, $F4, $18, $00, $FC, $FC, $1A, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AC94 PRG:2C94 14 00 FC F4 18 00 FC FC 1A 00 FC AA 00 00 00 EC - .byte $1B, $00, $FC, $F4, $1C, $00, $F8, $F4, $1D, $00, $00, $FC, $1E, $00, $FC, $EC ; CPU:$ACA4 PRG:2CA4 1B 00 FC F4 1C 00 F8 F4 1D 00 00 FC 1E 00 FC EC - .byte $00, $00, $FC, $F4, $01, $00, $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC ; CPU:$ACB4 PRG:2CB4 00 00 FC F4 01 00 FD FC 02 00 F8 FC 03 00 00 EC - .byte $04, $00, $FC, $F4, $05, $00, $FC, $FC, $06, $00, $FD, $AA, $00, $00, $00, $EC ; CPU:$ACC4 PRG:2CC4 04 00 FC F4 05 00 FC FC 06 00 FD AA 00 00 00 EC - .byte $04, $00, $FC, $F4, $07, $00, $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC ; CPU:$ACD4 PRG:2CD4 04 00 FC F4 07 00 FC FC 08 00 F8 FC 09 00 00 EC - .byte $0A, $00, $FC, $F4, $11, $00, $F8, $F4, $12, $00, $00, $FC, $13, $00, $FC, $EC ; CPU:$ACE4 PRG:2CE4 0A 00 FC F4 11 00 F8 F4 12 00 00 FC 13 00 FC EC - .byte $0E, $00, $FC, $F4, $0F, $00, $FD, $FC, $10, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$ACF4 PRG:2CF4 0E 00 FC F4 0F 00 FD FC 10 00 FC AA 00 00 00 EC - .byte $0E, $00, $FC, $F4, $0B, $00, $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC ; CPU:$AD04 PRG:2D04 0E 00 FC F4 0B 00 FC FC 0C 00 F8 FC 0D 00 00 EC - .byte $1F, $00, $FC, $F4, $20, $00, $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AD14 PRG:2D14 1F 00 FC F4 20 00 FB FC 22 00 FC AA 00 00 00 EC - .byte $23, $00, $FC, $F4, $25, $40, $F8, $F4, $25, $00, $00, $FC, $26, $00, $FC, $EC ; CPU:$AD24 PRG:2D24 23 00 FC F4 25 40 F8 F4 25 00 00 FC 26 00 FC EC - .byte $1F, $40, $FC, $F4, $20, $40, $FD, $FC, $22, $40, $FC, $AA, $00, $00, $00, $EC ; CPU:$AD34 PRG:2D34 1F 40 FC F4 20 40 FD FC 22 40 FC AA 00 00 00 EC - .byte $23, $00, $FC, $F4, $25, $40, $F8, $F4, $25, $00, $00, $FC, $26, $40, $FC, $EC ; CPU:$AD44 PRG:2D44 23 00 FC F4 25 40 F8 F4 25 00 00 FC 26 40 FC EC - .byte $42, $00, $FD, $F4, $66, $40, $F8, $F4, $66, $00, $00, $FC, $67, $00, $FD, $EC ; CPU:$AD54 PRG:2D54 42 00 FD F4 66 40 F8 F4 66 00 00 FC 67 00 FD EC - .byte $68, $00, $FC, $F4, $69, $00, $F8, $F4, $6A, $00, $00, $FC, $3E, $00, $FA, $EC ; CPU:$AD64 PRG:2D64 68 00 FC F4 69 00 F8 F4 6A 00 00 FC 3E 00 FA EC - .byte $42, $00, $FC, $F4, $4F, $00, $F8, $F4, $50, $00, $00, $FC, $51, $00, $FC, $EC ; CPU:$AD74 PRG:2D74 42 00 FC F4 4F 00 F8 F4 50 00 00 FC 51 00 FC EC - .byte $52, $00, $FC, $F4, $53, $00, $F8, $F4, $54, $00, $00, $FC, $3E, $00, $FB, $EC ; CPU:$AD84 PRG:2D84 52 00 FC F4 53 00 F8 F4 54 00 00 FC 3E 00 FB EC - .byte $38, $00, $FA, $F4, $39, $00, $FA, $FC, $3A, $00, $FA, $AA, $00, $00, $00, $EC ; CPU:$AD94 PRG:2D94 38 00 FA F4 39 00 FA FC 3A 00 FA AA 00 00 00 EC - .byte $3B, $00, $FA, $F4, $3C, $00, $F5, $F4, $3D, $00, $FD, $FC, $3E, $00, $FA, $EC ; CPU:$ADA4 PRG:2DA4 3B 00 FA F4 3C 00 F5 F4 3D 00 FD FC 3E 00 FA EC - .byte $42, $00, $FD, $F4, $43, $00, $F8, $F4, $44, $00, $00, $FC, $45, $00, $FD, $EC ; CPU:$ADB4 PRG:2DB4 42 00 FD F4 43 00 F8 F4 44 00 00 FC 45 00 FD EC - .byte $46, $00, $FA, $F4, $47, $00, $F4, $F4, $48, $00, $FC, $FC, $3E, $00, $FA, $EC ; CPU:$ADC4 PRG:2DC4 46 00 FA F4 47 00 F4 F4 48 00 FC FC 3E 00 FA EC - .byte $42, $00, $FD, $F4, $5B, $40, $F8, $F4, $5B, $00, $00, $FC, $5C, $00, $FD, $EC ; CPU:$ADD4 PRG:2DD4 42 00 FD F4 5B 40 F8 F4 5B 00 00 FC 5C 00 FD EC - .byte $5D, $00, $FC, $F4, $5E, $00, $F8, $F4, $5F, $00, $00, $FC, $3E, $40, $FD, $EC ; CPU:$ADE4 PRG:2DE4 5D 00 FC F4 5E 00 F8 F4 5F 00 00 FC 3E 40 FD EC - .byte $95, $40, $F8, $EC, $95, $00, $00, $F4, $96, $00, $FC, $FC, $D0, $00, $FC, $EC ; CPU:$ADF4 PRG:2DF4 95 40 F8 EC 95 00 00 F4 96 00 FC FC D0 00 FC EC - .byte $97, $00, $FC, $F4, $98, $00, $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AE04 PRG:2E04 97 00 FC F4 98 00 FC FC 92 00 FC AA 00 00 00 EC - .byte $7D, $00, $F6, $EC, $7F, $00, $FD, $F4, $80, $00, $FA, $FC, $CF, $00, $FA, $EC ; CPU:$AE14 PRG:2E14 7D 00 F6 EC 7F 00 FD F4 80 00 FA FC CF 00 FA EC - .byte $85, $00, $F5, $F4, $86, $00, $F1, $F4, $DD, $00, $F9, $FC, $87, $00, $F9, $EC ; CPU:$AE24 PRG:2E24 85 00 F5 F4 86 00 F1 F4 DD 00 F9 FC 87 00 F9 EC - .byte $6B, $00, $F8, $F4, $6C, $00, $F8, $FC, $CD, $00, $F8, $AA, $00, $00, $00, $EC ; CPU:$AE34 PRG:2E34 6B 00 F8 F4 6C 00 F8 FC CD 00 F8 AA 00 00 00 EC - .byte $71, $00, $F0, $F4, $72, $00, $EE, $F4, $6D, $00, $F6, $FC, $3E, $00, $F6, $EC ; CPU:$AE44 PRG:2E44 71 00 F0 F4 72 00 EE F4 6D 00 F6 FC 3E 00 F6 EC - .byte $73, $00, $F6, $EC, $74, $00, $FE, $F4, $75, $00, $FA, $FC, $CE, $00, $FB, $EC ; CPU:$AE54 PRG:2E54 73 00 F6 EC 74 00 FE F4 75 00 FA FC CE 00 FB EC - .byte $76, $00, $F5, $F4, $7A, $00, $F1, $F4, $7B, $00, $F9, $FC, $7C, $00, $F9, $EC ; CPU:$AE64 PRG:2E64 76 00 F5 F4 7A 00 F1 F4 7B 00 F9 FC 7C 00 F9 EC - .byte $8D, $40, $F8, $EC, $8D, $00, $00, $F4, $8E, $00, $FC, $FC, $8F, $00, $FC, $EC ; CPU:$AE74 PRG:2E74 8D 40 F8 EC 8D 00 00 F4 8E 00 FC FC 8F 00 FC EC - .byte $42, $00, $FD, $F4, $91, $00, $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AE84 PRG:2E84 42 00 FD F4 91 00 FC FC 92 00 FC AA 00 00 00 EC - .byte $C0, $40, $FD, $F4, $3F, $40, $F8, $F4, $37, $40, $00, $FC, $2E, $40, $FD, $EC ; CPU:$AE94 PRG:2E94 C0 40 FD F4 3F 40 F8 F4 37 40 00 FC 2E 40 FD EC - .byte $C1, $00, $FC, $F4, $40, $00, $FC, $FC, $32, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AEA4 PRG:2EA4 C1 00 FC F4 40 00 FC FC 32 00 FC AA 00 00 00 EC - .byte $C0, $00, $FB, $F4, $37, $00, $F8, $F4, $3F, $00, $00, $FC, $2E, $00, $FB, $EC ; CPU:$AEB4 PRG:2EB4 C0 00 FB F4 37 00 F8 F4 3F 00 00 FC 2E 00 FB EC - .byte $BC, $00, $FC, $F4, $2A, $00, $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC ; CPU:$AEC4 PRG:2EC4 BC 00 FC F4 2A 00 FC FC B7 00 F8 FC 17 00 00 EC - .byte $BC, $00, $FC, $F4, $31, $00, $FC, $FC, $1A, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AED4 PRG:2ED4 BC 00 FC F4 31 00 FC FC 1A 00 FC AA 00 00 00 EC - .byte $BD, $00, $FC, $F4, $33, $00, $F8, $F4, $34, $00, $00, $FC, $1E, $00, $FC, $EC ; CPU:$AEE4 PRG:2EE4 BD 00 FC F4 33 00 F8 F4 34 00 00 FC 1E 00 FC EC - .byte $B8, $00, $FC, $F4, $16, $00, $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC ; CPU:$AEF4 PRG:2EF4 B8 00 FC F4 16 00 FD FC 02 00 F8 FC 03 00 00 EC - .byte $B9, $00, $FC, $F4, $19, $00, $FC, $FC, $06, $00, $FD, $AA, $00, $00, $00, $EC ; CPU:$AF04 PRG:2F04 B9 00 FC F4 19 00 FC FC 06 00 FD AA 00 00 00 EC - .byte $B9, $00, $FC, $F4, $21, $00, $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC ; CPU:$AF14 PRG:2F14 B9 00 FC F4 21 00 FC FC 08 00 F8 FC 09 00 00 EC - .byte $BB, $00, $FC, $F4, $28, $00, $F8, $F4, $29, $00, $00, $FC, $13, $00, $FC, $EC ; CPU:$AF24 PRG:2F24 BB 00 FC F4 28 00 F8 F4 29 00 00 FC 13 00 FC EC - .byte $BA, $00, $FC, $F4, $27, $00, $FD, $FC, $10, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AF34 PRG:2F34 BA 00 FC F4 27 00 FD FC 10 00 FC AA 00 00 00 EC - .byte $BA, $00, $FC, $F4, $24, $00, $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC ; CPU:$AF44 PRG:2F44 BA 00 FC F4 24 00 FC FC 0C 00 F8 FC 0D 00 00 EC - .byte $BE, $00, $FC, $F4, $35, $00, $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$AF54 PRG:2F54 BE 00 FC F4 35 00 FB FC 22 00 FC AA 00 00 00 EC - .byte $BF, $00, $FC, $F4, $36, $40, $F8, $F4, $36, $00, $00, $FC, $26, $00, $FC, $EC ; CPU:$AF64 PRG:2F64 BF 00 FC F4 36 40 F8 F4 36 00 00 FC 26 00 FC EC - .byte $BE, $40, $FC, $F4, $35, $40, $FD, $FC, $22, $40, $FC, $AA, $00, $00, $00, $EC ; CPU:$AF74 PRG:2F74 BE 40 FC F4 35 40 FD FC 22 40 FC AA 00 00 00 EC - .byte $C7, $00, $FD, $F4, $60, $40, $F8, $F4, $60, $00, $00, $FC, $D0, $00, $FC, $EC ; CPU:$AF84 PRG:2F84 C7 00 FD F4 60 40 F8 F4 60 00 00 FC D0 00 FC EC - .byte $CC, $00, $FC, $F4, $61, $00, $F8, $F4, $62, $00, $00, $FC, $3E, $00, $FA, $EC ; CPU:$AF94 PRG:2F94 CC 00 FC F4 61 00 F8 F4 62 00 00 FC 3E 00 FA EC - .byte $C7, $00, $FA, $F4, $55, $00, $F6, $F4, $56, $00, $FE, $FC, $CF, $00, $FA, $EC ; CPU:$AFA4 PRG:2FA4 C7 00 FA F4 55 00 F6 F4 56 00 FE FC CF 00 FA EC - .byte $C9, $00, $FA, $F4, $57, $00, $F6, $F4, $58, $00, $FE, $FC, $3E, $00, $F9, $EC ; CPU:$AFB4 PRG:2FB4 C9 00 FA F4 57 00 F6 F4 58 00 FE FC 3E 00 F9 EC - .byte $C5, $00, $FA, $F4, $4A, $00, $FA, $FC, $3A, $00, $FA, $AA, $00, $00, $00, $EC ; CPU:$AFC4 PRG:2FC4 C5 00 FA F4 4A 00 FA FC 3A 00 FA AA 00 00 00 EC - .byte $C6, $00, $FA, $F4, $3C, $00, $F5, $F4, $4B, $00, $FD, $FC, $3E, $00, $FA, $EC ; CPU:$AFD4 PRG:2FD4 C6 00 FA F4 3C 00 F5 F4 4B 00 FD FC 3E 00 FA EC - .byte $C7, $00, $FA, $F4, $4C, $00, $F6, $F4, $4D, $00, $FE, $FC, $45, $00, $FA, $EC ; CPU:$AFE4 PRG:2FE4 C7 00 FA F4 4C 00 F6 F4 4D 00 FE FC 45 00 FA EC - .byte $C8, $00, $FA, $F4, $47, $00, $F4, $F4, $4E, $00, $FC, $FC, $3E, $00, $FA, $EC ; CPU:$AFF4 PRG:2FF4 C8 00 FA F4 47 00 F4 F4 4E 00 FC FC 3E 00 FA EC - .byte $C7, $00, $FD, $F4, $59, $40, $F8, $F4, $59, $00, $00, $FC, $8F, $00, $FC, $EC ; CPU:$B004 PRG:3004 C7 00 FD F4 59 40 F8 F4 59 00 00 FC 8F 00 FC EC - .byte $CA, $00, $FC, $F4, $CB, $00, $F8, $F4, $5A, $00, $00, $FC, $3E, $40, $FD, $EC ; CPU:$B014 PRG:3014 CA 00 FC F4 CB 00 F8 F4 5A 00 00 FC 3E 40 FD EC - .byte $C5, $00, $FA, $F4, $41, $00, $F6, $F4, $49, $00, $FE, $FC, $CD, $00, $FC, $EC ; CPU:$B024 PRG:3024 C5 00 FA F4 41 00 F6 F4 49 00 FE FC CD 00 FC EC - .byte $C7, $00, $FA, $F4, $4C, $00, $F6, $F4, $4D, $00, $FE, $FC, $CE, $00, $FA, $EC ; CPU:$B034 PRG:3034 C7 00 FA F4 4C 00 F6 F4 4D 00 FE FC CE 00 FA EC - .byte $6F, $00, $FC, $F4, $70, $00, $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$B044 PRG:3044 6F 00 FC F4 70 00 FC FC 92 00 FC AA 00 00 00 EC - .byte $D7, $00, $F6, $F4, $65, $00, $F8, $FC, $87, $00, $F9, $AA, $00, $00, $00, $EC ; CPU:$B054 PRG:3054 D7 00 F6 F4 65 00 F8 FC 87 00 F9 AA 00 00 00 EC - .byte $D1, $00, $F8, $F4, $63, $00, $FA, $FC, $3E, $00, $FB, $AA, $00, $00, $00, $EC ; CPU:$B064 PRG:3064 D1 00 F8 F4 63 00 FA FC 3E 00 FB AA 00 00 00 EC - .byte $D2, $00, $F8, $EC, $D6, $00, $00, $F4, $64, $00, $FC, $FC, $7C, $00, $FC, $EC ; CPU:$B074 PRG:3074 D2 00 F8 EC D6 00 00 F4 64 00 FC FC 7C 00 FC EC - .byte $D8, $00, $FC, $F4, $6E, $00, $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$B084 PRG:3084 D8 00 FC F4 6E 00 FC FC 92 00 FC AA 00 00 00 EC - .byte $1F, $00, $FC, $F4, $20, $00, $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC ; CPU:$B094 PRG:3094 1F 00 FC F4 20 00 FB FC 22 00 FC AA 00 00 00 EC - .byte $23, $00, $FC, $F4, $AF, $40, $F8, $F4, $AF, $00, $00, $FC, $26, $00, $FC, $EC ; CPU:$B0A4 PRG:30A4 23 00 FC F4 AF 40 F8 F4 AF 00 00 FC 26 00 FC EC - .byte $B1, $40, $F8, $EC, $B1, $00, $00, $F4, $B0, $00, $FC, $FC, $22, $40, $FC, $EC ; CPU:$B0B4 PRG:30B4 B1 40 F8 EC B1 00 00 F4 B0 00 FC FC 22 40 FC EC - .byte $14, $00, $FC, $F4, $15, $00, $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC ; CPU:$B0C4 PRG:30C4 14 00 FC F4 15 00 FC FC B7 00 F8 FC 17 00 00 EC - .byte $14, $00, $FC, $F4, $A9, $00, $F8, $F4, $AA, $00, $00, $FC, $1A, $00, $FC, $EC ; CPU:$B0D4 PRG:30D4 14 00 FC F4 A9 00 F8 F4 AA 00 00 FC 1A 00 FC EC - .byte $AB, $00, $F8, $EC, $AC, $00, $00, $F4, $AE, $00, $FC, $FC, $1E, $00, $FC, $EC ; CPU:$B0E4 PRG:30E4 AB 00 F8 EC AC 00 00 F4 AE 00 FC FC 1E 00 FC EC - .byte $9D, $00, $FC, $F4, $FA, $00, $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC ; CPU:$B0F4 PRG:30F4 9D 00 FC F4 FA 00 FD FC 02 00 F8 FC 03 00 00 EC - .byte $E5, $00, $F8, $EC, $9F, $00, $00, $F4, $A3, $00, $FD, $FC, $06, $00, $FD, $EC ; CPU:$B104 PRG:3104 E5 00 F8 EC 9F 00 00 F4 A3 00 FD FC 06 00 FD EC - .byte $9D, $00, $FC, $F4, $A2, $00, $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC ; CPU:$B114 PRG:3114 9D 00 FC F4 A2 00 FC FC 08 00 F8 FC 09 00 00 EC - .byte $0A, $00, $FC, $F4, $A4, $00, $F8, $F4, $A8, $00, $00, $FC, $13, $00, $FC, $EC ; CPU:$B124 PRG:3124 0A 00 FC F4 A4 00 F8 F4 A8 00 00 FC 13 00 FC EC - .byte $A5, $00, $F8, $EC, $A6, $00, $00, $F4, $A7, $00, $FC, $FC, $10, $00, $FC, $EC ; CPU:$B134 PRG:3134 A5 00 F8 EC A6 00 00 F4 A7 00 FC FC 10 00 FC EC - .byte $0E, $00, $FC, $F4, $0B, $00, $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC ; CPU:$B144 PRG:3144 0E 00 FC F4 0B 00 FC FC 0C 00 F8 FC 0D 00 00 EC - .byte $B3, $00, $F8, $EC, $B3, $40, $00, $F4, $B4, $40, $FC, $FC, $2E, $40, $FC, $EC ; CPU:$B154 PRG:3154 B3 00 F8 EC B3 40 00 F4 B4 40 FC FC 2E 40 FC EC - .byte $2F, $00, $FC, $F4, $B3, $40, $F8, $F4, $B3, $00, $00, $FC, $32, $00, $FC, $EC ; CPU:$B164 PRG:3164 2F 00 FC F4 B3 40 F8 F4 B3 00 00 FC 32 00 FC EC - .byte $B5, $40, $F8, $EC, $B5, $00, $00, $F4, $B4, $00, $FC, $FC, $2E, $00, $FB, $EC ; CPU:$B174 PRG:3174 B5 40 F8 EC B5 00 00 F4 B4 00 FC FC 2E 00 FB EC - .byte $2F, $00, $FC, $F4, $B3, $40, $F8, $F4, $B3, $00, $00, $FC, $32, $40, $FC, $EC ; CPU:$B184 PRG:3184 2F 00 FC F4 B3 40 F8 F4 B3 00 00 FC 32 40 FC EC - .byte $DE, $00, $FC, $F4, $D3, $00, $FB, $FC, $D5, $00, $F4, $FC, $D4, $00, $FC, $F0 ; CPU:$B194 PRG:3194 DE 00 FC F4 D3 00 FB FC D5 00 F4 FC D4 00 FC F0 - .byte $D9, $00, $F8, $F8, $DA, $00, $F2, $F8, $DB, $00, $FA, $00, $DC, $00, $F2, $F0 ; CPU:$B1A4 PRG:31A4 D9 00 F8 F8 DA 00 F2 F8 DB 00 FA 00 DC 00 F2 F0 - .byte $DF, $00, $FC, $F8, $E0, $00, $F4, $F8, $E1, $00, $FC, $00, $E2, $00, $FC, $F1 ; CPU:$B1B4 PRG:31B4 DF 00 FC F8 E0 00 F4 F8 E1 00 FC 00 E2 00 FC F1 - .byte $E7, $00, $FC, $F9, $E8, $00, $F8, $F9, $E9, $00, $00, $01, $EA, $00, $FC, $EC ; CPU:$B1C4 PRG:31C4 E7 00 FC F9 E8 00 F8 F9 E9 00 00 01 EA 00 FC EC - .byte $DE, $00, $FC, $F4, $EF, $00, $F8, $F4, $F0, $00, $00, $FC, $F1, $00, $FC, $EC ; CPU:$B1D4 PRG:31D4 DE 00 FC F4 EF 00 F8 F4 F0 00 00 FC F1 00 FC EC - .byte $C7, $00, $FA, $F4, $55, $00, $F6, $F4, $56, $00, $FE, $FC, $51, $00, $FA, $EC ; CPU:$B1E4 PRG:31E4 C7 00 FA F4 55 00 F6 F4 56 00 FE FC 51 00 FA EC - .byte $C7, $00, $FD, $F4, $59, $40, $F8, $F4, $59, $00, $00, $FC, $5C, $00, $FD, $EC ; CPU:$B1F4 PRG:31F4 C7 00 FD F4 59 40 F8 F4 59 00 00 FC 5C 00 FD EC - .byte $C7, $00, $FD, $F4, $60, $40, $F8, $F4, $60, $00, $00, $FC, $67, $00, $FD, $EC ; CPU:$B204 PRG:3204 C7 00 FD F4 60 40 F8 F4 60 00 00 FC 67 00 FD EC - .byte $23, $00, $FC, $F4, $AF, $40, $F8, $F4, $AF, $00, $00, $FC, $26, $40, $FC, $EC ; CPU:$B214 PRG:3214 23 00 FC F4 AF 40 F8 F4 AF 00 00 FC 26 40 FC EC - .byte $2F, $00, $FC, $F4, $30, $40, $FC, $FC, $32, $40, $FC, $AA, $00, $00, $00, $EC ; CPU:$B224 PRG:3224 2F 00 FC F4 30 40 FC FC 32 40 FC AA 00 00 00 EC - .byte $BF, $00, $FC, $F4, $36, $40, $F8, $F4, $36, $00, $00, $FC, $26, $40, $FC, $EC ; CPU:$B234 PRG:3234 BF 00 FC F4 36 40 F8 F4 36 00 00 FC 26 40 FC EC - .byte $C1, $00, $FC, $F4, $40, $40, $FC, $FC, $32, $40, $FC, $AA, $00, $00, $00, $E8 ; CPU:$B244 PRG:3244 C1 00 FC F4 40 40 FC FC 32 40 FC AA 00 00 00 E8 - .byte $D1, $00, $FC, $F0, $63, $00, $FC, $F8, $D2, $00, $FC, $AA, $00, $00, $00, $E8 ; CPU:$B254 PRG:3254 D1 00 FC F0 63 00 FC F8 D2 00 FC AA 00 00 00 E8 - .byte $D6, $00, $F8, $E8, $D6, $40, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $E0 ; CPU:$B264 PRG:3264 D6 00 F8 E8 D6 40 00 AA 00 00 00 AA 00 00 00 E0 - .byte $64, $00, $FC, $E8, $D7, $00, $F8, $E8, $D7, $40, $00, $AA, $00, $00, $00, $E8 ; CPU:$B274 PRG:3274 64 00 FC E8 D7 00 F8 E8 D7 40 00 AA 00 00 00 E8 - .byte $D8, $00, $F8, $E8, $D8, $40, $00, $F0, $6E, $00, $FC, $F8, $6F, $00, $FC, $E8 ; CPU:$B284 PRG:3284 D8 00 F8 E8 D8 40 00 F0 6E 00 FC F8 6F 00 FC E8 - .byte $70, $00, $F8, $E8, $70, $40, $00, $F0, $77, $00, $FC, $F8, $78, $00, $FC, $E8 ; CPU:$B294 PRG:3294 70 00 F8 E8 70 40 00 F0 77 00 FC F8 78 00 FC E8 - .byte $79, $00, $FC, $F0, $81, $00, $FC, $F8, $82, $00, $F8, $F8, $82, $40, $00, $E8 ; CPU:$B2A4 PRG:32A4 79 00 FC F0 81 00 FC F8 82 00 F8 F8 82 40 00 E8 - .byte $83, $00, $FC, $F0, $F6, $00, $FC, $F8, $F7, $00, $F8, $F8, $F7, $40, $00, $E8 ; CPU:$B2B4 PRG:32B4 83 00 FC F0 F6 00 FC F8 F7 00 F8 F8 F7 40 00 E8 - .byte $F8, $00, $FC, $F0, $F9, $00, $FC, $F8, $65, $00, $F8, $F8, $65, $40, $00, $F0 ; CPU:$B2C4 PRG:32C4 F8 00 FC F0 F9 00 FC F8 65 00 F8 F8 65 40 00 F0 - .byte $7E, $00, $F8, $F8, $84, $00, $F8, $F8, $88, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B2D4 PRG:32D4 7E 00 F8 F8 84 00 F8 F8 88 00 00 AA 00 00 00 00 - .byte $89, $00, $F8, $00, $8A, $00, $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $F8 ; CPU:$B2E4 PRG:32E4 89 00 F8 00 8A 00 00 08 22 00 FC AA 00 00 00 F8 - .byte $8B, $00, $F8, $F8, $8B, $40, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B2F4 PRG:32F4 8B 00 F8 F8 8B 40 00 AA 00 00 00 AA 00 00 00 00 - .byte $8C, $00, $F8, $00, $8C, $40, $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B304 PRG:3304 8C 00 F8 00 8C 40 00 08 26 00 FC AA 00 00 00 F0 - .byte $7E, $40, $00, $F8, $88, $40, $F8, $F8, $84, $40, $00, $AA, $00, $00, $00, $00 ; CPU:$B314 PRG:3314 7E 40 00 F8 88 40 F8 F8 84 40 00 AA 00 00 00 00 - .byte $8A, $40, $F8, $00, $89, $40, $00, $08, $22, $40, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B324 PRG:3324 8A 40 F8 00 89 40 00 08 22 40 FC AA 00 00 00 F0 - .byte $7E, $00, $F8, $F8, $93, $00, $F8, $F8, $94, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B334 PRG:3334 7E 00 F8 F8 93 00 F8 F8 94 00 00 AA 00 00 00 00 - .byte $99, $00, $F8, $00, $9A, $00, $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $F8 ; CPU:$B344 PRG:3344 99 00 F8 00 9A 00 00 08 2E 00 FC AA 00 00 00 F8 - .byte $9B, $00, $F8, $F8, $9B, $40, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B354 PRG:3354 9B 00 F8 F8 9B 40 00 AA 00 00 00 AA 00 00 00 00 - .byte $9C, $00, $F8, $00, $9C, $40, $00, $08, $32, $40, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B364 PRG:3364 9C 00 F8 00 9C 40 00 08 32 40 FC AA 00 00 00 F0 - .byte $7E, $40, $00, $F8, $94, $40, $F8, $F8, $93, $40, $00, $AA, $00, $00, $00, $00 ; CPU:$B374 PRG:3374 7E 40 00 F8 94 40 F8 F8 93 40 00 AA 00 00 00 00 - .byte $9A, $40, $F8, $00, $99, $40, $00, $08, $2E, $40, $FC, $AA, $00, $00, $00, $F8 ; CPU:$B384 PRG:3384 9A 40 F8 00 99 40 00 08 2E 40 FC AA 00 00 00 F8 - .byte $88, $40, $F8, $F8, $88, $00, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B394 PRG:3394 88 40 F8 F8 88 00 00 AA 00 00 00 AA 00 00 00 00 - .byte $8A, $40, $F8, $00, $8A, $00, $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $01 ; CPU:$B3A4 PRG:33A4 8A 40 F8 00 8A 00 00 08 22 00 FC AA 00 00 00 01 - .byte $8A, $40, $F8, $01, $8A, $00, $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $00 ; CPU:$B3B4 PRG:33B4 8A 40 F8 01 8A 00 00 08 26 00 FC AA 00 00 00 00 - .byte $8A, $40, $F8, $00, $8A, $00, $00, $08, $22, $40, $FC, $AA, $00, $00, $00, $01 ; CPU:$B3C4 PRG:33C4 8A 40 F8 00 8A 00 00 08 22 40 FC AA 00 00 00 01 - .byte $8A, $40, $F8, $01, $8A, $00, $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B3D4 PRG:33D4 8A 40 F8 01 8A 00 00 08 26 00 FC AA 00 00 00 F0 - .byte $7E, $00, $F8, $F0, $7E, $40, $00, $F8, $84, $00, $F8, $F8, $84, $40, $00, $00 ; CPU:$B3E4 PRG:33E4 7E 00 F8 F0 7E 40 00 F8 84 00 F8 F8 84 40 00 00 - .byte $89, $00, $F8, $00, $89, $40, $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $F8 ; CPU:$B3F4 PRG:33F4 89 00 F8 00 89 40 00 08 22 00 FC AA 00 00 00 F8 - .byte $94, $40, $F8, $F8, $94, $00, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B404 PRG:3404 94 40 F8 F8 94 00 00 AA 00 00 00 AA 00 00 00 00 - .byte $9A, $40, $F8, $00, $9A, $00, $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $01 ; CPU:$B414 PRG:3414 9A 40 F8 00 9A 00 00 08 2E 00 FC AA 00 00 00 01 - .byte $9A, $40, $F8, $01, $9A, $00, $00, $08, $32, $40, $FC, $AA, $00, $00, $00, $00 ; CPU:$B424 PRG:3424 9A 40 F8 01 9A 00 00 08 32 40 FC AA 00 00 00 00 - .byte $9A, $40, $F8, $00, $9A, $00, $00, $08, $2E, $40, $FC, $AA, $00, $00, $00, $01 ; CPU:$B434 PRG:3434 9A 40 F8 00 9A 00 00 08 2E 40 FC AA 00 00 00 01 - .byte $9A, $40, $F8, $01, $9A, $00, $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B444 PRG:3444 9A 40 F8 01 9A 00 00 08 32 00 FC AA 00 00 00 F0 - .byte $7E, $00, $F8, $F0, $7E, $40, $00, $F8, $93, $00, $F8, $F8, $93, $40, $00, $00 ; CPU:$B454 PRG:3454 7E 00 F8 F0 7E 40 00 F8 93 00 F8 F8 93 40 00 00 - .byte $99, $00, $F8, $00, $99, $40, $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $F0 ; CPU:$B464 PRG:3464 99 00 F8 00 99 40 00 08 2E 00 FC AA 00 00 00 F0 - .byte $7E, $00, $F9, $F8, $EC, $00, $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B474 PRG:3474 7E 00 F9 F8 EC 00 FC AA 00 00 00 AA 00 00 00 00 - .byte $ED, $00, $F8, $00, $EE, $00, $00, $08, $08, $00, $F8, $08, $09, $00, $00, $F0 ; CPU:$B484 PRG:3484 ED 00 F8 00 EE 00 00 08 08 00 F8 08 09 00 00 F0 - .byte $7E, $00, $FB, $F8, $EC, $00, $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B494 PRG:3494 7E 00 FB F8 EC 00 FC AA 00 00 00 AA 00 00 00 00 - .byte $F2, $00, $F8, $00, $F3, $00, $00, $08, $06, $00, $FD, $AA, $00, $00, $00, $00 ; CPU:$B4A4 PRG:34A4 F2 00 F8 00 F3 00 00 08 06 00 FD AA 00 00 00 00 - .byte $F4, $00, $F8, $00, $F5, $00, $00, $08, $02, $00, $F8, $08, $03, $00, $00, $F9 ; CPU:$B4B4 PRG:34B4 F4 00 F8 00 F5 00 00 08 02 00 F8 08 03 00 00 F9 - .byte $88, $40, $F8, $F9, $88, $00, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $F9 ; CPU:$B4C4 PRG:34C4 88 40 F8 F9 88 00 00 AA 00 00 00 AA 00 00 00 F9 - .byte $94, $40, $F8, $F9, $94, $00, $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $F1 ; CPU:$B4D4 PRG:34D4 94 40 F8 F9 94 00 00 AA 00 00 00 AA 00 00 00 F1 - .byte $7E, $00, $FD, $F9, $EC, $00, $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$B4E4 PRG:34E4 7E 00 FD F9 EC 00 FC AA 00 00 00 AA 00 00 00 00 - .byte $8C, $00, $F8, $00, $8C, $40, $00, $08, $26, $40, $FC, $AA, $00, $00, $00, $00 ; CPU:$B4F4 PRG:34F4 8C 00 F8 00 8C 40 00 08 26 40 FC AA 00 00 00 00 - .byte $9C, $00, $F8, $00, $9C, $40, $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $01 ; CPU:$B504 PRG:3504 9C 00 F8 00 9C 40 00 08 32 00 FC AA 00 00 00 01 - .byte $9A, $40, $F8, $01, $9A, $00, $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $01 ; CPU:$B514 PRG:3514 9A 40 F8 01 9A 00 00 08 32 00 FC AA 00 00 00 01 - .byte $8A, $40, $F8, $01, $8A, $00, $00, $08, $26, $40, $FC, $AA, $00, $00, $00, $00 ; CPU:$B524 PRG:3524 8A 40 F8 01 8A 00 00 08 26 40 FC AA 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B534 PRG:3534 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $EC ; CPU:$B544 PRG:3544 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EC - .byte $A1, $00, $F8, $EC, $A0, $00, $00, $F4, $9E, $00, $FB, $FC, $AD, $00, $FC, $ED ; CPU:$B554 PRG:3554 A1 00 F8 EC A0 00 00 F4 9E 00 FB FC AD 00 FC ED - .byte $B2, $00, $F8, $ED, $B6, $00, $00, $F5, $9E, $00, $FB, $FC, $AD, $00, $FC, $ED ; CPU:$B564 PRG:3564 B2 00 F8 ED B6 00 00 F5 9E 00 FB FC AD 00 FC ED - .byte $E3, $00, $F8, $ED, $E4, $00, $00, $F5, $9E, $40, $FD, $FC, $E6, $00, $FC, $ED ; CPU:$B574 PRG:3574 E3 00 F8 ED E4 00 00 F5 9E 40 FD FC E6 00 FC ED - .byte $EB, $00, $F8, $ED, $90, $00, $00, $F4, $9E, $40, $FD, $FC, $E6, $00, $FC, $20 ; CPU:$B584 PRG:3584 EB 00 F8 ED 90 00 00 F4 9E 40 FD FC E6 00 FC 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B594 PRG:3594 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20 ; CPU:$B5A4 PRG:35A4 20 43 52 45 41 54 45 20 42 59 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B5B4 PRG:35B4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20 ; CPU:$B5C4 PRG:35C4 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B5D4 PRG:35D4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $E6, $E0, $A4, $90, $B9, $0F, $03, $29, $01, $F0, $01, $60, $A2, $E7, $BD, $0A ; CPU:$B5E4 PRG:35E4 E6 E0 A4 90 B9 0F 03 29 01 F0 01 60 A2 E7 BD 0A - .byte $03, $A2, $69, $1D, $0A, $03, $29, $10, $F0, $01, $60, $A2, $00, $B9, $0C, $03 ; CPU:$B5F4 PRG:35F4 03 A2 69 1D 0A 03 29 10 F0 01 60 A2 00 B9 0C 03 - .byte $0A, $0A, $B0, $29, $E8, $B9, $00, $03, $C9, $08, $F0, $21, $E8, $B9, $0E, $03 ; CPU:$B604 PRG:3604 0A 0A B0 29 E8 B9 00 03 C9 08 F0 21 E8 B9 0E 03 - .byte $29, $C0, $D0, $19, $E8, $86, $0C, $20, $E8, $B9, $A6, $0C, $B9, $0C, $03, $29 ; CPU:$B614 PRG:3614 29 C0 D0 19 E8 86 0C 20 E8 B9 A6 0C B9 0C 03 29 - .byte $20, $D0, $0A, $E8, $A4, $90, $B9, $0A, $03, $4A, $B0, $01, $E8, $8A, $20, $BD ; CPU:$B624 PRG:3624 20 D0 0A E8 A4 90 B9 0A 03 4A B0 01 E8 8A 20 BD - .byte $84, $53, $B6, $FF, $B6, $BB, $B6, $52, $B6, $41, $B6, $67, $B6, $A6, $90, $BD ; CPU:$B634 PRG:3634 84 53 B6 FF B6 BB B6 52 B6 41 B6 67 B6 A6 90 BD - .byte $0A, $03, $29, $04, $D0, $08, $A9, $FE, $3D, $0A, $03, $9D, $0A, $03, $60, $A6 ; CPU:$B644 PRG:3644 0A 03 29 04 D0 08 A9 FE 3D 0A 03 9D 0A 03 60 A6 - .byte $90, $BD, $0C, $03, $29, $10, $F0, $0A, $A6, $90, $A9, $FB, $3D, $0A, $03, $9D ; CPU:$B654 PRG:3654 90 BD 0C 03 29 10 F0 0A A6 90 A9 FB 3D 0A 03 9D - .byte $0A, $03, $60, $A6, $90, $BD, $00, $03, $C9, $03, $D0, $4A, $BD, $0A, $03, $29 ; CPU:$B664 PRG:3664 0A 03 60 A6 90 BD 00 03 C9 03 D0 4A BD 0A 03 29 - .byte $04, $D0, $43, $BD, $0E, $03, $29, $0F, $F0, $3C, $BD, $0B, $03, $0A, $A8, $BE ; CPU:$B674 PRG:3674 04 D0 43 BD 0E 03 29 0F F0 3C BD 0B 03 0A A8 BE - .byte $D6, $B9, $B9, $D7, $B9, $A0, $00, $86, $A2, $84, $A1, $85, $A7, $84, $A6, $A9 ; CPU:$B684 PRG:3684 D6 B9 B9 D7 B9 A0 00 86 A2 84 A1 85 A7 84 A6 A9 - .byte $C0, $A2, $40, $85, $AA, $84, $AC, $86, $AB, $84, $AD, $84, $AE, $20, $AA, $B8 ; CPU:$B694 PRG:3694 C0 A2 40 85 AA 84 AC 86 AB 84 AD 84 AE 20 AA B8 - .byte $A9, $87, $1D, $0A, $03, $9D, $0A, $03, $20, $72, $CA, $20, $5F, $87, $A9, $00 ; CPU:$B6A4 PRG:36A4 A9 87 1D 0A 03 9D 0A 03 20 72 CA 20 5F 87 A9 00 - .byte $8D, $BA, $06, $8D, $CE, $06, $60, $A6, $90, $BD, $0A, $03, $29, $04, $D0, $3A ; CPU:$B6B4 PRG:36B4 8D BA 06 8D CE 06 60 A6 90 BD 0A 03 29 04 D0 3A - .byte $A0, $00, $E0, $7E, $90, $02, $A0, $14, $BD, $0E, $03, $30, $08, $B9, $B8, $06 ; CPU:$B6C4 PRG:36C4 A0 00 E0 7E 90 02 A0 14 BD 0E 03 30 08 B9 B8 06 - .byte $D9, $B0, $06, $F0, $25, $A9, $05, $9D, $00, $03, $BD, $0E, $03, $9D, $0D, $03 ; CPU:$B6D4 PRG:36D4 D9 B0 06 F0 25 A9 05 9D 00 03 BD 0E 03 9D 0D 03 - .byte $30, $03, $FE, $00, $03, $A9, $00, $8D, $BA, $06, $8D, $CE, $06, $A9, $01, $99 ; CPU:$B6E4 PRG:36E4 30 03 FE 00 03 A9 00 8D BA 06 8D CE 06 A9 01 99 - .byte $BA, $06, $20, $AA, $B8, $A9, $86, $9D, $0A, $03, $60, $20, $AA, $B8, $BD, $0D ; CPU:$B6F4 PRG:36F4 BA 06 20 AA B8 A9 86 9D 0A 03 60 20 AA B8 BD 0D - .byte $03, $A6, $90, $9D, $0D, $03, $A0, $00, $A9, $1E, $E0, $7E, $90, $04, $A9, $02 ; CPU:$B704 PRG:3704 03 A6 90 9D 0D 03 A0 00 A9 1E E0 7E 90 04 A9 02 - .byte $A0, $14, $85, $12, $A9, $00, $99, $BA, $06, $BD, $0D, $03, $8D, $3C, $04, $30 ; CPU:$B714 PRG:3714 A0 14 85 12 A9 00 99 BA 06 BD 0D 03 8D 3C 04 30 - .byte $1F, $C9, $60, $D0, $5E, $20, $C0, $B7, $A5, $7B, $0A, $0A, $65, $7B, $AA, $BC ; CPU:$B724 PRG:3724 1F C9 60 D0 5E 20 C0 B7 A5 7B 0A 0A 65 7B AA BC - .byte $95, $B8, $20, $AE, $B7, $A6, $90, $A9, $00, $20, $1A, $87, $CE, $2E, $04, $60 ; CPU:$B734 PRG:3734 95 B8 20 AE B7 A6 90 A9 00 20 1A 87 CE 2E 04 60 - .byte $A9, $84, $9D, $0A, $03, $A5, $12, $8D, $0D, $04, $A2, $00, $8E, $0E, $04, $B9 ; CPU:$B744 PRG:3744 A9 84 9D 0A 03 A5 12 8D 0D 04 A2 00 8E 0E 04 B9 - .byte $C0, $06, $85, $0C, $8A, $A2, $04, $06, $0C, $2A, $CA, $D0, $FA, $8D, $0B, $04 ; CPU:$B754 PRG:3754 C0 06 85 0C 8A A2 04 06 0C 2A CA D0 FA 8D 0B 04 - .byte $A5, $0C, $8D, $0C, $04, $20, $E7, $B7, $A5, $7B, $0A, $0A, $65, $7B, $AA, $BD ; CPU:$B764 PRG:3764 A5 0C 8D 0C 04 20 E7 B7 A5 7B 0A 0A 65 7B AA BD - .byte $94, $B8, $AA, $A9, $00, $86, $AC, $85, $AB, $20, $5B, $87, $20, $1E, $87, $CE ; CPU:$B774 PRG:3774 94 B8 AA A9 00 86 AC 85 AB 20 5B 87 20 1E 87 CE - .byte $2E, $04, $60, $AD, $3B, $04, $C9, $04, $90, $07, $A9, $00, $8D, $3B, $04, $F0 ; CPU:$B784 PRG:3784 2E 04 60 AD 3B 04 C9 04 90 07 A9 00 8D 3B 04 F0 - .byte $03, $EE, $3B, $04, $CE, $2E, $04, $20, $C0, $B7, $20, $31, $87, $20, $1E, $87 ; CPU:$B794 PRG:3794 03 EE 3B 04 CE 2E 04 20 C0 B7 20 31 87 20 1E 87 - .byte $A5, $7B, $0A, $0A, $65, $7B, $AA, $BC, $93, $B8, $AD, $14, $04, $85, $AC, $AD ; CPU:$B7A4 PRG:37A4 A5 7B 0A 0A 65 7B AA BC 93 B8 AD 14 04 85 AC AD - .byte $13, $04, $85, $AB, $06, $AB, $26, $AC, $88, $D0, $F9, $60, $B9, $B8, $06, $99 ; CPU:$B7B4 PRG:37B4 13 04 85 AB 06 AB 26 AC 88 D0 F9 60 B9 B8 06 99 - .byte $B0, $06, $B9, $B9, $06, $99, $B1, $06, $A8, $A9, $00, $9D, $0A, $03, $A9, $82 ; CPU:$B7C4 PRG:37C4 B0 06 B9 B9 06 99 B1 06 A8 A9 00 9D 0A 03 A9 82 - .byte $99, $0A, $03, $84, $94, $A2, $00, $B9, $02, $03, $9D, $0B, $04, $E8, $C8, $E0 ; CPU:$B7D4 PRG:37D4 99 0A 03 84 94 A2 00 B9 02 03 9D 0B 04 E8 C8 E0 - .byte $04, $D0, $F4, $A2, $00, $A5, $A9, $A4, $A8, $20, $29, $B8, $A2, $02, $A5, $A4 ; CPU:$B7E4 PRG:37E4 04 D0 F4 A2 00 A5 A9 A4 A8 20 29 B8 A2 02 A5 A4 - .byte $A4, $A3, $20, $29, $B8, $AD, $11, $04, $18, $6D, $0F, $04, $8D, $13, $04, $A9 ; CPU:$B7F4 PRG:37F4 A4 A3 20 29 B8 AD 11 04 18 6D 0F 04 8D 13 04 A9 - .byte $00, $69, $00, $8D, $14, $04, $AE, $12, $04, $AD, $11, $04, $20, $5A, $B8, $84 ; CPU:$B804 PRG:3804 00 69 00 8D 14 04 AE 12 04 AD 11 04 20 5A B8 84 - .byte $A1, $86, $A2, $AE, $10, $04, $AD, $0F, $04, $20, $5A, $B8, $84, $A6, $86, $A7 ; CPU:$B814 PRG:3814 A1 86 A2 AE 10 04 AD 0F 04 20 5A B8 84 A6 86 A7 - .byte $A2, $D8, $86, $AA, $60, $85, $0D, $BD, $0C, $04, $38, $E5, $0D, $85, $0C, $84 ; CPU:$B824 PRG:3824 A2 D8 86 AA 60 85 0D BD 0C 04 38 E5 0D 85 0C 84 - .byte $0D, $BD, $0B, $04, $E5, $0D, $9D, $10, $04, $9D, $0F, $04, $10, $0C, $A9, $00 ; CPU:$B834 PRG:3834 0D BD 0B 04 E5 0D 9D 10 04 9D 0F 04 10 0C A9 00 - .byte $38, $E5, $0C, $85, $0C, $A9, $00, $FD, $0F, $04, $A0, $03, $06, $0C, $2A, $88 ; CPU:$B844 PRG:3844 38 E5 0C 85 0C A9 00 FD 0F 04 A0 03 06 0C 2A 88 - .byte $D0, $FA, $9D, $0F, $04, $60, $86, $0C, $F0, $2F, $48, $A5, $7B, $0A, $0A, $65 ; CPU:$B854 PRG:3854 D0 FA 9D 0F 04 60 86 0C F0 2F 48 A5 7B 0A 0A 65 - .byte $7B, $AA, $AD, $3C, $04, $10, $01, $E8, $BC, $91, $B8, $68, $A2, $00, $20, $61 ; CPU:$B864 PRG:3864 7B AA AD 3C 04 10 01 E8 BC 91 B8 68 A2 00 20 61 - .byte $8E, $AD, $13, $04, $8D, $15, $04, $AD, $14, $04, $8D, $16, $04, $20, $8D, $8E ; CPU:$B874 PRG:3874 8E AD 13 04 8D 15 04 AD 14 04 8D 16 04 20 8D 8E - .byte $A6, $0C, $10, $05, $49, $FF, $18, $69, $01, $AA, $A0, $00, $60, $40, $44, $06 ; CPU:$B884 PRG:3884 A6 0C 10 05 49 FF 18 69 01 AA A0 00 60 40 44 06 - .byte $0F, $04, $40, $48, $06, $0F, $04, $48, $50, $06, $0F, $04, $48, $54, $06, $0F ; CPU:$B894 PRG:3894 0F 04 40 48 06 0F 04 48 50 06 0F 04 48 54 06 0F - .byte $04, $50, $58, $06, $0F, $04, $A2, $69, $20, $C0, $B8, $A2, $E7, $20, $C0, $B8 ; CPU:$B8A4 PRG:38A4 04 50 58 06 0F 04 A2 69 20 C0 B8 A2 E7 20 C0 B8 - .byte $A6, $94, $A9, $00, $9D, $0A, $03, $A6, $90, $86, $94, $60, $A9, $DF, $3D, $0A ; CPU:$B8B4 PRG:38B4 A6 94 A9 00 9D 0A 03 A6 90 86 94 60 A9 DF 3D 0A - .byte $03, $9D, $0A, $03, $60, $A6, $90, $A5, $0C, $9D, $0C, $03, $60, $A9, $F0, $85 ; CPU:$B8C4 PRG:38C4 03 9D 0A 03 60 A6 90 A5 0C 9D 0C 03 60 A9 F0 85 - .byte $0C, $A5, $AD, $D0, $13, $A5, $AE, $C9, $0F, $B0, $0D, $A0, $70, $20, $9E, $B9 ; CPU:$B8D4 PRG:38D4 0C A5 AD D0 13 A5 AE C9 0F B0 0D A0 70 20 9E B9 - .byte $B0, $06, $A5, $0C, $29, $B0, $85, $0C, $A0, $40, $20, $9E, $B9, $B0, $D6, $A5 ; CPU:$B8E4 PRG:38E4 B0 06 A5 0C 29 B0 85 0C A0 40 20 9E B9 B0 D6 A5 - .byte $AD, $D0, $D2, $A6, $AE, $E0, $F0, $B0, $CC, $A5, $0C, $29, $E0, $E0, $0F, $B0 ; CPU:$B8F4 PRG:38F4 AD D0 D2 A6 AE E0 F0 B0 CC A5 0C 29 E0 E0 0F B0 - .byte $02, $29, $D0, $A6, $90, $9D, $0C, $03, $0A, $0A, $90, $C0, $0A, $0A, $B0, $BC ; CPU:$B904 PRG:3904 02 29 D0 A6 90 9D 0C 03 0A 0A 90 C0 0A 0A B0 BC - .byte $BD, $0A, $03, $29, $04, $D0, $B5, $BD, $00, $03, $C9, $08, $F0, $7B, $C9, $15 ; CPU:$B914 PRG:3914 BD 0A 03 29 04 D0 B5 BD 00 03 C9 08 F0 7B C9 15 - .byte $F0, $77, $AD, $E7, $06, $C9, $11, $F0, $70, $BD, $0A, $03, $29, $10, $D0, $69 ; CPU:$B924 PRG:3924 F0 77 AD E7 06 C9 11 F0 70 BD 0A 03 29 10 D0 69 - .byte $A5, $A2, $05, $A1, $05, $A7, $05, $A6, $F0, $5F, $A4, $94, $A9, $00, $99, $0A ; CPU:$B934 PRG:3934 A5 A2 05 A1 05 A7 05 A6 F0 5F A4 94 A9 00 99 0A - .byte $03, $20, $48, $87, $A6, $90, $86, $94, $A9, $82, $9D, $0A, $03, $8A, $A2, $00 ; CPU:$B944 PRG:3944 03 20 48 87 A6 90 86 94 A9 82 9D 0A 03 8A A2 00 - .byte $C9, $7E, $90, $02, $A2, $14, $9D, $B1, $06, $20, $F5, $C3, $98, $9D, $B0, $06 ; CPU:$B954 PRG:3954 C9 7E 90 02 A2 14 9D B1 06 20 F5 C3 98 9D B0 06 - .byte $A5, $96, $A2, $14, $A4, $94, $C0, $7E, $90, $04, $A5, $95, $A2, $00, $9D, $B1 ; CPU:$B964 PRG:3964 A5 96 A2 14 A4 94 C0 7E 90 04 A5 95 A2 00 9D B1 - .byte $06, $20, $F5, $C3, $98, $9D, $B0, $06, $A9, $05, $A8, $A9, $00, $99, $A1, $00 ; CPU:$B974 PRG:3974 06 20 F5 C3 98 9D B0 06 A9 05 A8 A9 00 99 A1 00 - .byte $99, $A2, $00, $98, $38, $E9, $05, $10, $F1, $A5, $AC, $30, $0C, $A9, $00, $E5 ; CPU:$B984 PRG:3984 99 A2 00 98 38 E9 05 10 F1 A5 AC 30 0C A9 00 E5 - .byte $AB, $85, $AB, $A9, $00, $E5, $AC, $85, $AC, $60, $84, $0D, $A6, $90, $E8, $E8 ; CPU:$B994 PRG:3994 AB 85 AB A9 00 E5 AC 85 AC 60 84 0D A6 90 E8 E8 - .byte $A0, $00, $20, $AF, $B9, $B0, $2B, $A6, $90, $A0, $05, $38, $B9, $A4, $00, $FD ; CPU:$B9A4 PRG:39A4 A0 00 20 AF B9 B0 2B A6 90 A0 05 38 B9 A4 00 FD - .byte $03, $03, $85, $10, $B9, $A3, $00, $FD, $02, $03, $85, $11, $10, $0D, $38, $A9 ; CPU:$B9B4 PRG:39B4 03 03 85 10 B9 A3 00 FD 02 03 85 11 10 0D 38 A9 - .byte $00, $E5, $10, $85, $10, $A9, $00, $E5, $11, $85, $11, $D0, $05, $A5, $10, $C5 ; CPU:$B9C4 PRG:39C4 00 E5 10 85 10 A9 00 E5 11 85 11 D0 05 A5 10 C5 - .byte $0D, $60, $38, $60, $00, $A0, $30, $D0, $60, $00, $30, $30, $00, $60, $D0, $30 ; CPU:$B9D4 PRG:39D4 0D 60 38 60 00 A0 30 D0 60 00 30 30 00 60 D0 30 - .byte $A0, $00, $D0, $D0, $A4, $90, $B9, $0A, $03, $4A, $B0, $46, $4A, $90, $43, $B9 ; CPU:$B9E4 PRG:39E4 A0 00 D0 D0 A4 90 B9 0A 03 4A B0 46 4A 90 43 B9 - .byte $0B, $03, $0A, $C5, $9E, $F0, $3B, $85, $9E, $A8, $A6, $90, $BD, $0E, $03, $29 ; CPU:$B9F4 PRG:39F4 0B 03 0A C5 9E F0 3B 85 9E A8 A6 90 BD 0E 03 29 - .byte $F0, $9D, $0E, $03, $B9, $35, $BA, $48, $B9, $36, $BA, $A6, $90, $A0, $05, $20 ; CPU:$BA04 PRG:3A04 F0 9D 0E 03 B9 35 BA 48 B9 36 BA A6 90 A0 05 20 - .byte $19, $BA, $68, $A0, $00, $48, $A9, $00, $85, $0D, $68, $09, $00, $10, $02, $C6 ; CPU:$BA14 PRG:3A14 19 BA 68 A0 00 48 A9 00 85 0D 68 09 00 10 02 C6 - .byte $0D, $18, $7D, $03, $03, $99, $A4, $00, $A5, $0D, $7D, $02, $03, $99, $A3, $00 ; CPU:$BA24 PRG:3A24 0D 18 7D 03 03 99 A4 00 A5 0D 7D 02 03 99 A3 00 - .byte $E8, $E8, $60, $00, $B0, $50, $B0, $50, $00, $50, $50, $00, $50, $B0, $50, $B0 ; CPU:$BA34 PRG:3A34 E8 E8 60 00 B0 50 B0 50 00 50 50 00 50 B0 50 B0 - .byte $00, $B0, $B0, $60, $A5, $17, $F0, $64, $4A, $90, $0C, $48, $A5, $A4, $69, $0F ; CPU:$BA44 PRG:3A44 00 B0 B0 60 A5 17 F0 64 4A 90 0C 48 A5 A4 69 0F - .byte $85, $A4, $68, $90, $02, $E6, $A3, $4A, $90, $0C, $48, $A5, $A4, $E9, $10, $85 ; CPU:$BA54 PRG:3A54 85 A4 68 90 02 E6 A3 4A 90 0C 48 A5 A4 E9 10 85 - .byte $A4, $68, $B0, $02, $C6, $A3, $4A, $90, $0C, $48, $A5, $A9, $69, $0F, $85, $A9 ; CPU:$BA64 PRG:3A64 A4 68 B0 02 C6 A3 4A 90 0C 48 A5 A9 69 0F 85 A9 - .byte $68, $90, $02, $E6, $A8, $4A, $90, $0C, $48, $A5, $A9, $E9, $10, $85, $A9, $68 ; CPU:$BA74 PRG:3A74 68 90 02 E6 A8 4A 90 0C 48 A5 A9 E9 10 85 A9 68 - .byte $B0, $02, $C6, $A8, $A5, $17, $29, $C0, $F0, $22, $0A, $90, $0C, $48, $A5, $AE ; CPU:$BA84 PRG:3A84 B0 02 C6 A8 A5 17 29 C0 F0 22 0A 90 0C 48 A5 AE - .byte $69, $0F, $85, $AE, $68, $90, $02, $E6, $AD, $0A, $90, $10, $A5, $AD, $05, $AE ; CPU:$BA94 PRG:3A94 69 0F 85 AE 68 90 02 E6 AD 0A 90 10 A5 AD 05 AE - .byte $F0, $0A, $A5, $AE, $E9, $10, $85, $AE, $B0, $02, $C6, $AD, $60, $20, $47, $BA ; CPU:$BAA4 PRG:3AA4 F0 0A A5 AE E9 10 85 AE B0 02 C6 AD 60 20 47 BA - .byte $20, $62, $E5, $A5, $AC, $85, $0C, $A9, $0F, $38, $E9, $05, $AA, $A0, $00, $B5 ; CPU:$BAB4 PRG:3AB4 20 62 E5 A5 AC 85 0C A9 0F 38 E9 05 AA A0 00 B5 - .byte $A0, $0A, $90, $04, $D6, $A2, $D6, $A2, $0A, $90, $02, $F6, $A2, $18, $75, $A1 ; CPU:$BAC4 PRG:3AC4 A0 0A 90 04 D6 A2 D6 A2 0A 90 02 F6 A2 18 75 A1 - .byte $95, $A1, $85, $15, $98, $75, $A2, $95, $A2, $10, $01, $88, $06, $15, $75, $A4 ; CPU:$BAD4 PRG:3AD4 95 A1 85 15 98 75 A2 95 A2 10 01 88 06 15 75 A4 - .byte $95, $A4, $98, $75, $A3, $95, $A3, $8A, $D0, $CF, $A5, $AD, $30, $03, $4C, $67 ; CPU:$BAE4 PRG:3AE4 95 A4 98 75 A3 95 A3 8A D0 CF A5 AD 30 03 4C 67 - .byte $BB, $A9, $0F, $38, $E9, $05, $AA, $B5, $A2, $C9, $80, $6A, $95, $A2, $76, $A1 ; CPU:$BAF4 PRG:3AF4 BB A9 0F 38 E9 05 AA B5 A2 C9 80 6A 95 A2 76 A1 - .byte $B5, $A2, $10, $08, $90, $06, $F6, $A1, $D0, $02, $F6, $A2, $8A, $D0, $E4, $A0 ; CPU:$BB04 PRG:3B04 B5 A2 10 08 90 06 F6 A1 D0 02 F6 A2 8A D0 E4 A0 - .byte $00, $98, $38, $E5, $AE, $85, $AE, $98, $E5, $AD, $85, $AD, $98, $38, $E5, $AB ; CPU:$BB14 PRG:3B14 00 98 38 E5 AE 85 AE 98 E5 AD 85 AD 98 38 E5 AB - .byte $85, $AB, $98, $E5, $AC, $85, $AC, $A5, $A2, $10, $02, $49, $FF, $85, $11, $A5 ; CPU:$BB24 PRG:3B24 85 AB 98 E5 AC 85 AC A5 A2 10 02 49 FF 85 11 A5 - .byte $A7, $10, $02, $49, $FF, $05, $11, $29, $FE, $D0, $12, $85, $AD, $85, $AE, $85 ; CPU:$BB34 PRG:3B34 A7 10 02 49 FF 05 11 29 FE D0 12 85 AD 85 AE 85 - .byte $AB, $85, $AC, $85, $AA, $85, $A1, $85, $A2, $85, $A6, $85, $A7, $20, $48, $87 ; CPU:$BB44 PRG:3B44 AB 85 AC 85 AA 85 A1 85 A2 85 A6 85 A7 20 48 87 - .byte $A5, $AC, $29, $FE, $F0, $03, $20, $16, $87, $AD, $2E, $04, $F0, $05, $A9, $00 ; CPU:$BB54 PRG:3B54 A5 AC 29 FE F0 03 20 16 87 AD 2E 04 F0 05 A9 00 - .byte $8D, $2E, $04, $A5, $AD, $D0, $10, $A5, $AE, $29, $F0, $F0, $17, $A5, $A2, $05 ; CPU:$BB64 PRG:3B64 8D 2E 04 A5 AD D0 10 A5 AE 29 F0 F0 17 A5 A2 05 - .byte $A7, $05, $A1, $05, $A6, $F0, $0D, $A5, $AC, $45, $0C, $10, $07, $A5, $0C, $30 ; CPU:$BB74 PRG:3B74 A7 05 A1 05 A6 F0 0D A5 AC 45 0C 10 07 A5 0C 30 - .byte $03, $20, $22, $87, $60, $A6, $90, $38, $BD, $05, $03, $E5, $A4, $BD, $04, $03 ; CPU:$BB84 PRG:3B84 03 20 22 87 60 A6 90 38 BD 05 03 E5 A4 BD 04 03 - .byte $E5, $A3, $85, $0D, $A6, $90, $30, $02, $49, $FF, $AA, $30, $41, $A5, $A8, $38 ; CPU:$BB94 PRG:3B94 E5 A3 85 0D A6 90 30 02 49 FF AA 30 41 A5 A8 38 - .byte $E9, $05, $30, $3A, $C9, $04, $B0, $36, $A6, $A2, $F0, $32, $E8, $F0, $2F, $A2 ; CPU:$BBA4 PRG:3BA4 E9 05 30 3A C9 04 B0 36 A6 A2 F0 32 E8 F0 2F A2 - .byte $0E, $B5, $A0, $9D, $1C, $04, $CA, $10, $F8, $20, $E5, $BB, $AD, $24, $04, $38 ; CPU:$BBB4 PRG:3BB4 0E B5 A0 9D 1C 04 CA 10 F8 20 E5 BB AD 24 04 38 - .byte $E9, $05, $30, $1A, $C9, $04, $B0, $16, $38, $A6, $90, $BD, $05, $03, $ED, $20 ; CPU:$BBC4 PRG:3BC4 E9 05 30 1A C9 04 B0 16 38 A6 90 BD 05 03 ED 20 - .byte $04, $BD, $04, $03, $ED, $1F, $04, $45, $0D, $10, $DE, $A9, $FF, $60, $A9, $00 ; CPU:$BBD4 PRG:3BD4 04 BD 04 03 ED 1F 04 45 0D 10 DE A9 FF 60 A9 00 - .byte $60, $A9, $0A, $38, $E9, $05, $AA, $A0, $00, $BD, $1C, $04, $0A, $90, $06, $DE ; CPU:$BBE4 PRG:3BE4 60 A9 0A 38 E9 05 AA A0 00 BD 1C 04 0A 90 06 DE - .byte $1E, $04, $DE, $1E, $04, $0A, $90, $03, $FE, $1E, $04, $18, $7D, $1D, $04, $9D ; CPU:$BBF4 PRG:3BF4 1E 04 DE 1E 04 0A 90 03 FE 1E 04 18 7D 1D 04 9D - .byte $1D, $04, $85, $15, $98, $7D, $1E, $04, $9D, $1E, $04, $10, $01, $88, $06, $15 ; CPU:$BC04 PRG:3C04 1D 04 85 15 98 7D 1E 04 9D 1E 04 10 01 88 06 15 - .byte $7D, $20, $04, $9D, $20, $04, $98, $7D, $1F, $04, $9D, $1F, $04, $8A, $D0, $C3 ; CPU:$BC14 PRG:3C14 7D 20 04 9D 20 04 98 7D 1F 04 9D 1F 04 8A D0 C3 - .byte $60, $A9, $00, $8D, $1A, $04, $A0, $0A, $20, $F6, $BC, $E0, $00, $D0, $26, $C9 ; CPU:$BC24 PRG:3C24 60 A9 00 8D 1A 04 A0 0A 20 F6 BC E0 00 D0 26 C9 - .byte $18, $B0, $22, $A0, $05, $20, $F6, $BC, $C9, $5D, $90, $19, $C9, $90, $B0, $15 ; CPU:$BC34 PRG:3C34 18 B0 22 A0 05 20 F6 BC C9 5D 90 19 C9 90 B0 15 - .byte $A0, $00, $20, $F6, $BC, $E0, $00, $F0, $04, $C9, $CD, $B0, $33, $E0, $00, $D0 ; CPU:$BC44 PRG:3C44 A0 00 20 F6 BC E0 00 F0 04 C9 CD B0 33 E0 00 D0 - .byte $04, $C9, $35, $90, $28, $A0, $00, $20, $F6, $BC, $E0, $00, $F0, $04, $C9, $CD ; CPU:$BC54 PRG:3C54 04 C9 35 90 28 A0 00 20 F6 BC E0 00 F0 04 C9 CD - .byte $B0, $18, $E0, $00, $D0, $04, $C9, $35, $90, $10, $A0, $05, $20, $F6, $BC, $C9 ; CPU:$BC64 PRG:3C64 B0 18 E0 00 D0 04 C9 35 90 10 A0 05 20 F6 BC C9 - .byte $24, $90, $04, $C9, $D8, $90, $0F, $EE, $1A, $04, $EE, $1A, $04, $EE, $1A, $04 ; CPU:$BC74 PRG:3C74 24 90 04 C9 D8 90 0F EE 1A 04 EE 1A 04 EE 1A 04 - .byte $EE, $1A, $04, $20, $DB, $CE, $AD, $1A, $04, $F0, $66, $A0, $05, $20, $F6, $BC ; CPU:$BC84 PRG:3C84 EE 1A 04 20 DB CE AD 1A 04 F0 66 A0 05 20 F6 BC - .byte $AE, $A8, $06, $CA, $F0, $03, $CA, $D0, $08, $C9, $5D, $90, $3B, $C9, $90, $B0 ; CPU:$BC94 PRG:3C94 AE A8 06 CA F0 03 CA D0 08 C9 5D 90 3B C9 90 B0 - .byte $2F, $CA, $D0, $08, $C9, $5C, $90, $04, $C9, $90, $90, $2C, $A0, $00, $20, $F6 ; CPU:$BCA4 PRG:3CA4 2F CA D0 08 C9 5C 90 04 C9 90 90 2C A0 00 20 F6 - .byte $BC, $E0, $00, $F0, $04, $C9, $DC, $B0, $1F, $E0, $00, $D0, $04, $C9, $24, $90 ; CPU:$BCB4 PRG:3CB4 BC E0 00 F0 04 C9 DC B0 1F E0 00 D0 04 C9 24 90 - .byte $17, $A0, $05, $20, $F6, $BC, $C9, $18, $90, $0E, $C9, $E8, $90, $23, $B0, $08 ; CPU:$BCC4 PRG:3CC4 17 A0 05 20 F6 BC C9 18 90 0E C9 E8 90 23 B0 08 - .byte $A9, $B0, $85, $A9, $A9, $08, $85, $A8, $A9, $00, $85, $A1, $85, $A2, $85, $A6 ; CPU:$BCD4 PRG:3CD4 A9 B0 85 A9 A9 08 85 A8 A9 00 85 A1 85 A2 85 A6 - .byte $85, $A7, $A6, $AC, $30, $0B, $38, $E5, $AB, $85, $AB, $A9, $00, $E5, $AC, $85 ; CPU:$BCE4 PRG:3CE4 85 A7 A6 AC 30 0B 38 E5 AB 85 AB A9 00 E5 AC 85 - .byte $AC, $60, $B9, $A4, $00, $85, $0C, $B9, $A3, $00, $A2, $00, $29, $F0, $F0, $01 ; CPU:$BCF4 PRG:3CF4 AC 60 B9 A4 00 85 0C B9 A3 00 A2 00 29 F0 F0 01 - .byte $E8, $B9, $A3, $00, $A0, $04, $26, $0C, $2A, $88, $D0, $FA, $60, $20, $25, $BC ; CPU:$BD04 PRG:3D04 E8 B9 A3 00 A0 04 26 0C 2A 88 D0 FA 60 20 25 BC - .byte $A5, $A8, $85, $70, $A5, $A9, $85, $71, $A5, $A3, $85, $72, $A5, $A4, $85, $73 ; CPU:$BD14 PRG:3D14 A5 A8 85 70 A5 A9 85 71 A5 A3 85 72 A5 A4 85 73 - .byte $20, $83, $88, $38, $A5, $70, $E9, $04, $8D, $05, $04, $A5, $72, $F0, $05, $E9 ; CPU:$BD24 PRG:3D24 20 83 88 38 A5 70 E9 04 8D 05 04 A5 72 F0 05 E9 - .byte $04, $8D, $08, $04, $38, $A5, $A9, $E5, $AE, $85, $71, $A5, $A8, $E5, $AD, $85 ; CPU:$BD34 PRG:3D34 04 8D 08 04 38 A5 A9 E5 AE 85 71 A5 A8 E5 AD 85 - .byte $70, $10, $08, $A9, $0F, $85, $70, $A9, $80, $85, $71, $A6, $A3, $A4, $A4, $86 ; CPU:$BD44 PRG:3D44 70 10 08 A9 0F 85 70 A9 80 85 71 A6 A3 A4 A4 86 - .byte $72, $84, $73, $20, $83, $88, $A5, $70, $38, $E9, $04, $8D, $01, $04, $A5, $72 ; CPU:$BD54 PRG:3D54 72 84 73 20 83 88 A5 70 38 E9 04 8D 01 04 A5 72 - .byte $F0, $05, $E9, $04, $8D, $04, $04, $6D, $01, $04, $18, $29, $01, $69, $C2, $8D ; CPU:$BD64 PRG:3D64 F0 05 E9 04 8D 04 04 6D 01 04 18 29 01 69 C2 8D - .byte $02, $04, $AD, $04, $04, $10, $02, $49, $FF, $C9, $30, $B0, $10, $A6, $0A, $AD ; CPU:$BD74 PRG:3D74 02 04 AD 04 04 10 02 49 FF C9 30 B0 10 A6 0A AD - .byte $04, $04, $30, $01, $CA, $E8, $F0, $05, $09, $01, $8D, $0A, $04, $60, $A9, $01 ; CPU:$BD84 PRG:3D84 04 04 30 01 CA E8 F0 05 09 01 8D 0A 04 60 A9 01 - .byte $AE, $0A, $04, $F0, $09, $30, $02, $A9, $FF, $18, $65, $0A, $85, $0A, $A5, $0A ; CPU:$BD94 PRG:3D94 AE 0A 04 F0 09 30 02 A9 FF 18 65 0A 85 0A A5 0A - .byte $F0, $09, $C9, $80, $F0, $05, $C9, $FF, $F0, $01, $60, $A9, $00, $8D, $0A, $04 ; CPU:$BDA4 PRG:3DA4 F0 09 C9 80 F0 05 C9 FF F0 01 60 A9 00 8D 0A 04 - .byte $60, $A0, $78, $B9, $93, $BE, $99, $FF, $05, $88, $D0, $F7, $AD, $00, $06, $85 ; CPU:$BDB4 PRG:3DB4 60 A0 78 B9 93 BE 99 FF 05 88 D0 F7 AD 00 06 85 - .byte $97, $A9, $03, $85, $98, $A9, $01, $85, $99, $A9, $06, $85, $9A, $A9, $FF, $85 ; CPU:$BDC4 PRG:3DC4 97 A9 03 85 98 A9 01 85 99 A9 06 85 9A A9 FF 85 - .byte $9B, $85, $9C, $A9, $00, $8D, $B0, $06, $8D, $B1, $06, $A9, $01, $8D, $B8, $06 ; CPU:$BDD4 PRG:3DD4 9B 85 9C A9 00 8D B0 06 8D B1 06 A9 01 8D B8 06 - .byte $A9, $15, $8D, $B9, $06, $A9, $06, $8D, $C4, $06, $A9, $07, $8D, $CC, $06, $A9 ; CPU:$BDE4 PRG:3DE4 A9 15 8D B9 06 A9 06 8D C4 06 A9 07 8D CC 06 A9 - .byte $7E, $8D, $C5, $06, $A9, $93, $8D, $CD, $06, $A9, $80, $8D, $C0, $06, $8D, $D4 ; CPU:$BDF4 PRG:3DF4 7E 8D C5 06 A9 93 8D CD 06 A9 80 8D C0 06 8D D4 - .byte $06, $A0, $00, $A9, $00, $99, $00, $03, $98, $18, $69, $15, $A8, $C9, $FC, $D0 ; CPU:$BE04 PRG:3E04 06 A0 00 A9 00 99 00 03 98 18 69 15 A8 C9 FC D0 - .byte $F2, $60, $A0, $00, $A2, $00, $B9, $95, $BE, $9D, $04, $03, $B9, $96, $BE, $9D ; CPU:$BE14 PRG:3E14 F2 60 A0 00 A2 00 B9 95 BE 9D 04 03 B9 96 BE 9D - .byte $05, $03, $B9, $97, $BE, $9D, $02, $03, $B9, $98, $BE, $9D, $03, $03, $98, $18 ; CPU:$BE24 PRG:3E24 05 03 B9 97 BE 9D 02 03 B9 98 BE 9D 03 03 98 18 - .byte $69, $0A, $C9, $78, $F0, $09, $A8, $8A, $18, $69, $15, $AA, $4C, $1A, $BE, $A9 ; CPU:$BE34 PRG:3E34 69 0A C9 78 F0 09 A8 8A 18 69 15 AA 4C 1A BE A9 - .byte $00, $8D, $E6, $06, $8D, $E2, $06, $8D, $E3, $06, $8D, $E4, $06, $8D, $E5, $06 ; CPU:$BE44 PRG:3E44 00 8D E6 06 8D E2 06 8D E3 06 8D E4 06 8D E5 06 - .byte $60, $A9, $00, $85, $83, $85, $84, $8D, $9F, $06, $A9, $00, $8D, $E8, $06, $85 ; CPU:$BE54 PRG:3E54 60 A9 00 85 83 85 84 8D 9F 06 A9 00 8D E8 06 85 - .byte $54, $85, $55, $85, $56, $85, $57, $85, $58, $85, $59, $85, $5A, $85, $5B, $8D ; CPU:$BE64 PRG:3E64 54 85 55 85 56 85 57 85 58 85 59 85 5A 85 5B 8D - .byte $E7, $06, $8D, $EB, $06, $A9, $80, $85, $0A, $A9, $0F, $85, $A8, $A9, $40, $85 ; CPU:$BE74 PRG:3E74 E7 06 8D EB 06 A9 80 85 0A A9 0F 85 A8 A9 40 85 - .byte $A9, $A9, $10, $85, $A3, $A9, $00, $85, $A4, $8D, $0A, $04, $20, $B1, $C3, $60 ; CPU:$BE84 PRG:3E84 A9 A9 10 85 A3 A9 00 85 A4 8D 0A 04 20 B1 C3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8DD4 +; Global: Branch target inside Sub: taken when 8DD4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8DD4: + ldx $0574 ; CPU:$8DD4 PRG:0DD4 AE 74 05 + bne NmiHandler_Loop112 ; CPU:$8DD7 PRG:0DD7 D0 10 + ldx $0575 ; CPU:$8DD9 PRG:0DD9 AE 75 05 + beq NmiHandler_Loop113 ; CPU:$8DDC PRG:0DDC F0 1A + lda #$00 ; CPU:$8DDE PRG:0DDE A9 00 + sta $0575 ; CPU:$8DE0 PRG:0DE0 8D 75 05 + sta $0576 ; CPU:$8DE3 PRG:0DE3 8D 76 05 + jmp NmiHandler_Loop114 ; CPU:$8DE6 PRG:0DE6 4C F9 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop112 +; Global: Branch target inside NmiHandler: taken when Loop112. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop112: + stx $0575 ; CPU:$8DE9 PRG:0DE9 8E 75 05 + lda $0576 ; CPU:$8DEC PRG:0DEC AD 76 05 + beq NmiHandler_Loop119 ; CPU:$8DEF PRG:0DEF F0 54 + dec $0576 ; CPU:$8DF1 PRG:0DF1 CE 76 05 + cmp #$08 ; CPU:$8DF4 PRG:0DF4 C9 08 + beq NmiHandler_Loop114 ; CPU:$8DF6 PRG:0DF6 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop113 +; Global: Branch target inside NmiHandler: taken when Loop113. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop113: + rts ; CPU:$8DF8 PRG:0DF8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop114 +; Global: Branch target inside NmiHandler: taken when Loop114. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop114: + txa ; CPU:$8DF9 PRG:0DF9 8A + tay ; CPU:$8DFA PRG:0DFA A8 + dey ; CPU:$8DFB PRG:0DFB 88 + lda Zp47 ; CPU:$8DFC PRG:0DFC A5 47 + bne NmiHandler_Loop115 ; CPU:$8DFE PRG:0DFE D0 08 + cpy #$01 ; CPU:$8E00 PRG:0E00 C0 01 + bne NmiHandler_Loop115 ; CPU:$8E02 PRG:0E02 D0 04 + lda #$07 ; CPU:$8E04 PRG:0E04 A9 07 + bne NmiHandler_Loop116 ; CPU:$8E06 PRG:0E06 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop115 +; Global: Branch target inside NmiHandler: taken when Loop115. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop115: + lda a:Zp63,y ; CPU:$8E08 PRG:0E08 B9 63 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop116 +; Global: Branch target inside NmiHandler: taken when Loop116. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop116: + sta VramReadPtrLo ; CPU:$8E0B PRG:0E0B 85 0C + asl a ; CPU:$8E0D PRG:0E0D 0A + clc ; CPU:$8E0E PRG:0E0E 18 + adc VramReadPtrLo ; CPU:$8E0F PRG:0E0F 65 0C + tay ; CPU:$8E11 PRG:0E11 A8 + lda $82EF,y ; CPU:$8E12 PRG:0E12 B9 EF 82 + sta $0701 ; CPU:$8E15 PRG:0E15 8D 01 07 + lda $82F0,y ; CPU:$8E18 PRG:0E18 B9 F0 82 + sta $0702 ; CPU:$8E1B PRG:0E1B 8D 02 07 + lda $82F1,y ; CPU:$8E1E PRG:0E1E B9 F1 82 + sta $0703 ; CPU:$8E21 PRG:0E21 8D 03 07 + lda VramReadPtrLo ; CPU:$8E24 PRG:0E24 A5 0C + cmp #$07 ; CPU:$8E26 PRG:0E26 C9 07 + bne NmiHandler_Loop117 ; CPU:$8E28 PRG:0E28 D0 08 + lda Zp7B ; CPU:$8E2A PRG:0E2A A5 7B + clc ; CPU:$8E2C PRG:0E2C 18 + adc #$01 ; CPU:$8E2D PRG:0E2D 69 01 + sta $0703 ; CPU:$8E2F PRG:0E2F 8D 03 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop117 +; Global: Branch target inside NmiHandler: taken when Loop117. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop117: + lda #$13 ; CPU:$8E32 PRG:0E32 A9 13 + sta $0700 ; CPU:$8E34 PRG:0E34 8D 00 07 + txa ; CPU:$8E37 PRG:0E37 8A + ldx #$62 ; CPU:$8E38 PRG:0E38 A2 62 + cmp #$01 ; CPU:$8E3A PRG:0E3A C9 01 + beq NmiHandler_Loop118 ; CPU:$8E3C PRG:0E3C F0 02 + ldx #$7B ; CPU:$8E3E PRG:0E3E A2 7B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop118 +; Global: Branch target inside NmiHandler: taken when Loop118. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop118: + ldy #$20 ; CPU:$8E40 PRG:0E40 A0 20 + jmp Sub_8D35 ; CPU:$8E42 PRG:0E42 4C 35 8D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop119 +; Global: Branch target inside NmiHandler: taken when Loop119. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop119: + lda #$10 ; CPU:$8E45 PRG:0E45 A9 10 + sta $0576 ; CPU:$8E47 PRG:0E47 8D 76 05 + ldy #$02 ; CPU:$8E4A PRG:0E4A A0 02 + lda #$31 ; CPU:$8E4C PRG:0E4C A9 31 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative7 +; Global: Branch target inside NmiHandler: taken when OnNonnegative7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative7: + sta $0701,y ; CPU:$8E4E PRG:0E4E 99 01 07 + dey ; CPU:$8E51 PRG:0E51 88 + bpl NmiHandler_OnNonnegative7 ; CPU:$8E52 PRG:0E52 10 FA + jmp NmiHandler_Loop117 ; CPU:$8E54 PRG:0E54 4C 32 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_8E57 +; Global: Branch target inside Sub: taken when 8E57. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E57: + pha ; CPU:$8E57 PRG:0E57 48 + and #$0F ; CPU:$8E58 PRG:0E58 29 0F + tay ; CPU:$8E5A PRG:0E5A A8 + pla ; CPU:$8E5B PRG:0E5B 68 + lsr a ; CPU:$8E5C PRG:0E5C 4A + lsr a ; CPU:$8E5D PRG:0E5D 4A + lsr a ; CPU:$8E5E PRG:0E5E 4A + lsr a ; CPU:$8E5F PRG:0E5F 4A + rts ; CPU:$8E60 PRG:0E60 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E61 +; Global: Branch target inside Sub: taken when 8E61. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E61: + sty Zp10 ; CPU:$8E61 PRG:0E61 84 10 + stx Zp11 ; CPU:$8E63 PRG:0E63 86 11 + sta Zp3C ; CPU:$8E65 PRG:0E65 85 3C + lda #$00 ; CPU:$8E67 PRG:0E67 A9 00 + sta Zp3D ; CPU:$8E69 PRG:0E69 85 3D + sta Zp3E ; CPU:$8E6B PRG:0E6B 85 3E + ldx #$08 ; CPU:$8E6D PRG:0E6D A2 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero20 +; Global: Branch target inside NmiHandler: taken when OnNonzero20. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero20: + ror Zp3C ; CPU:$8E6F PRG:0E6F 66 3C + bcc NmiHandler_Loop120 ; CPU:$8E71 PRG:0E71 90 0D + clc ; CPU:$8E73 PRG:0E73 18 + lda Zp3D ; CPU:$8E74 PRG:0E74 A5 3D + adc Zp10 ; CPU:$8E76 PRG:0E76 65 10 + sta Zp3D ; CPU:$8E78 PRG:0E78 85 3D + lda Zp3E ; CPU:$8E7A PRG:0E7A A5 3E + adc Zp11 ; CPU:$8E7C PRG:0E7C 65 11 + sta Zp3E ; CPU:$8E7E PRG:0E7E 85 3E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop120 +; Global: Branch target inside NmiHandler: taken when Loop120. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop120: + asl a ; CPU:$8E80 PRG:0E80 0A + ror Zp3E ; CPU:$8E81 PRG:0E81 66 3E + ror Zp3D ; CPU:$8E83 PRG:0E83 66 3D + dex ; CPU:$8E85 PRG:0E85 CA + bne NmiHandler_OnNonzero20 ; CPU:$8E86 PRG:0E86 D0 E7 + ldy Zp3D ; CPU:$8E88 PRG:0E88 A4 3D + ldx Zp3E ; CPU:$8E8A PRG:0E8A A6 3E + rts ; CPU:$8E8C PRG:0E8C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E8D +; Global: Branch target inside Sub: taken when 8E8D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E8D: + sty $0418 ; CPU:$8E8D PRG:0E8D 8C 18 04 + stx $0419 ; CPU:$8E90 PRG:0E90 8E 19 04 + lda #$00 ; CPU:$8E93 PRG:0E93 A9 00 + sta $0417 ; CPU:$8E95 PRG:0E95 8D 17 04 + ldx #$07 ; CPU:$8E98 PRG:0E98 A2 07 + clc ; CPU:$8E9A PRG:0E9A 18 + lda $0418 ; CPU:$8E9B PRG:0E9B AD 18 04 + adc $0415 ; CPU:$8E9E PRG:0E9E 6D 15 04 + tay ; CPU:$8EA1 PRG:0EA1 A8 + lda $0419 ; CPU:$8EA2 PRG:0EA2 AD 19 04 + adc $0416 ; CPU:$8EA5 PRG:0EA5 6D 16 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative8 +; Global: Branch target inside NmiHandler: taken when OnNonnegative8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative8: + bcc NmiHandler_Loop121 ; CPU:$8EA8 PRG:0EA8 90 06 + sty $0418 ; CPU:$8EAA PRG:0EAA 8C 18 04 + sta $0419 ; CPU:$8EAD PRG:0EAD 8D 19 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop121 +; Global: Branch target inside NmiHandler: taken when Loop121. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop121: + rol $0417 ; CPU:$8EB0 PRG:0EB0 2E 17 04 + rol $0418 ; CPU:$8EB3 PRG:0EB3 2E 18 04 + rol $0419 ; CPU:$8EB6 PRG:0EB6 2E 19 04 + sec ; CPU:$8EB9 PRG:0EB9 38 + lda $0418 ; CPU:$8EBA PRG:0EBA AD 18 04 + sbc $0415 ; CPU:$8EBD PRG:0EBD ED 15 04 + tay ; CPU:$8EC0 PRG:0EC0 A8 + lda $0419 ; CPU:$8EC1 PRG:0EC1 AD 19 04 + sbc $0416 ; CPU:$8EC4 PRG:0EC4 ED 16 04 + dex ; CPU:$8EC7 PRG:0EC7 CA + bpl NmiHandler_OnNonnegative8 ; CPU:$8EC8 PRG:0EC8 10 DE + bcs NmiHandler_Loop122 ; CPU:$8ECA PRG:0ECA B0 01 + dex ; CPU:$8ECC PRG:0ECC CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop122 +; Global: Branch target inside NmiHandler: taken when Loop122. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop122: + lda $0417 ; CPU:$8ECD PRG:0ECD AD 17 04 + rts ; CPU:$8ED0 PRG:0ED0 60 +; ---- data $8ED1-$8F20 (80 bytes) ---- +FieldNameText: + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8ED1 PRG:-312F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20 ; CPU:$8EE1 PRG:0EE1 20 20 43 52 45 41 54 45 20 42 59 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8EF1 PRG:0EF1 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20 ; CPU:$8F01 PRG:0F01 20 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8F11 PRG:0F11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_8F21 +; Global: Branch target inside Sub: taken when 8F21. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8F21: + ldy #$0B ; CPU:$8F21 PRG:0F21 A0 0B + lda #$00 ; CPU:$8F23 PRG:0F23 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative9 +; Global: Branch target inside NmiHandler: taken when OnNonnegative9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative9: + sta $0110,y ; CPU:$8F25 PRG:0F25 99 10 01 + dey ; CPU:$8F28 PRG:0F28 88 + bpl NmiHandler_OnNonnegative9 ; CPU:$8F29 PRG:0F29 10 FA + lda TimerIndex4 ; CPU:$8F2B PRG:0F2B A5 A9 + sta VramWritePtrLo ; CPU:$8F2D PRG:0F2D 85 00 + lda TimerIndex3 ; CPU:$8F2F PRG:0F2F A5 A8 + jsr Sub_9507 ; CPU:$8F31 PRG:0F31 20 07 95 + sta Zp04 ; CPU:$8F34 PRG:0F34 85 04 + ldy #$00 ; CPU:$8F36 PRG:0F36 A0 00 + sty VramWritePtrLo ; CPU:$8F38 PRG:0F38 84 00 + sty FrameCounter ; CPU:$8F3A PRG:0F3A 84 02 + lda #$30 ; CPU:$8F3C PRG:0F3C A9 30 + sta VramWritePtrHi ; CPU:$8F3E PRG:0F3E 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero21 +; Global: Branch target inside NmiHandler: taken when OnNonzero21. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero21: + ldx #$00 ; CPU:$8F40 PRG:0F40 A2 00 + ldy #$00 ; CPU:$8F42 PRG:0F42 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero22 +; Global: Branch target inside NmiHandler: taken when OnNonzero22. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero22: + lda $0100,x ; CPU:$8F44 PRG:0F44 BD 00 01 + php ; CPU:$8F47 PRG:0F47 08 + inx ; CPU:$8F48 PRG:0F48 E8 + plp ; CPU:$8F49 PRG:0F49 28 + bne NmiHandler_Loop123 ; CPU:$8F4A PRG:0F4A D0 07 + iny ; CPU:$8F4C PRG:0F4C C8 + cpx #$0C ; CPU:$8F4D PRG:0F4D E0 0C + bne NmiHandler_OnNonzero22 ; CPU:$8F4F PRG:0F4F D0 F3 + beq NmiHandler_Loop127 ; CPU:$8F51 PRG:0F51 F0 46 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop123 +; Global: Branch target inside NmiHandler: taken when Loop123. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop123: + cpx #$0C ; CPU:$8F53 PRG:0F53 E0 0C + beq NmiHandler_Loop125 ; CPU:$8F55 PRG:0F55 F0 14 + cmp $0100,x ; CPU:$8F57 PRG:0F57 DD 00 01 + bcc NmiHandler_Loop124 ; CPU:$8F5A PRG:0F5A 90 04 + inx ; CPU:$8F5C PRG:0F5C E8 + jmp NmiHandler_Loop123 ; CPU:$8F5D PRG:0F5D 4C 53 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop124 +; Global: Branch target inside NmiHandler: taken when Loop124. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop124: + lda $0100,x ; CPU:$8F60 PRG:0F60 BD 00 01 + stx VramReadPtrLo ; CPU:$8F63 PRG:0F63 86 0C + ldy VramReadPtrLo ; CPU:$8F65 PRG:0F65 A4 0C + inx ; CPU:$8F67 PRG:0F67 E8 + jmp NmiHandler_Loop123 ; CPU:$8F68 PRG:0F68 4C 53 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop125 +; Global: Branch target inside NmiHandler: taken when Loop125. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop125: + lda FrameCounter ; CPU:$8F6B PRG:0F6B A5 02 + bne NmiHandler_Loop126 ; CPU:$8F6D PRG:0F6D D0 13 + lda $0100,y ; CPU:$8F6F PRG:0F6F B9 00 01 + cmp Zp04 ; CPU:$8F72 PRG:0F72 C5 04 + bcs NmiHandler_Loop126 ; CPU:$8F74 PRG:0F74 B0 0C + inc FrameCounter ; CPU:$8F76 PRG:0F76 E6 02 + lda VramWritePtrHi ; CPU:$8F78 PRG:0F78 A5 01 + sta $0400 ; CPU:$8F7A PRG:0F7A 8D 00 04 + clc ; CPU:$8F7D PRG:0F7D 18 + adc #$08 ; CPU:$8F7E PRG:0F7E 69 08 + sta VramWritePtrHi ; CPU:$8F80 PRG:0F80 85 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop126 +; Global: Branch target inside NmiHandler: taken when Loop126. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop126: + lda #$00 ; CPU:$8F82 PRG:0F82 A9 00 + sta $0100,y ; CPU:$8F84 PRG:0F84 99 00 01 + lda VramWritePtrHi ; CPU:$8F87 PRG:0F87 A5 01 + sta $0110,y ; CPU:$8F89 PRG:0F89 99 10 01 + clc ; CPU:$8F8C PRG:0F8C 18 + adc #$10 ; CPU:$8F8D PRG:0F8D 69 10 + sta VramWritePtrHi ; CPU:$8F8F PRG:0F8F 85 01 + inc VramWritePtrLo ; CPU:$8F91 PRG:0F91 E6 00 + lda VramWritePtrLo ; CPU:$8F93 PRG:0F93 A5 00 + cmp #$0C ; CPU:$8F95 PRG:0F95 C9 0C + bne NmiHandler_OnNonzero21 ; CPU:$8F97 PRG:0F97 D0 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop127 +; Global: Branch target inside NmiHandler: taken when Loop127. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop127: + lda FrameCounter ; CPU:$8F99 PRG:0F99 A5 02 + bne NmiHandler_Loop128 ; CPU:$8F9B PRG:0F9B D0 05 + lda VramWritePtrHi ; CPU:$8F9D PRG:0F9D A5 01 + sta $0400 ; CPU:$8F9F PRG:0F9F 8D 00 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop128 +; Global: Branch target inside NmiHandler: taken when Loop128. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop128: + ldy #$00 ; CPU:$8FA2 PRG:0FA2 A0 00 + ldx #$00 ; CPU:$8FA4 PRG:0FA4 A2 00 + jsr Sub_8FAD ; CPU:$8FA6 PRG:0FA6 20 AD 8F +; ----------------------------------------------------------------------------- +; Routine: Sub_8FA9 +; Global: Branch target inside Sub: taken when 8FA9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8FA9: + ldy #$06 ; CPU:$8FA9 PRG:0FA9 A0 06 + ldx #$01 ; CPU:$8FAB PRG:0FAB A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_8FAD +; Global: Branch target inside Sub: taken when 8FAD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8FAD: + sty FrameCounter ; CPU:$8FAD PRG:0FAD 84 02 + lda #$FF ; CPU:$8FAF PRG:0FAF A9 FF + sta VramWritePtrHi ; CPU:$8FB1 PRG:0FB1 85 01 + lda #$06 ; CPU:$8FB3 PRG:0FB3 A9 06 + sta VramWritePtrLo ; CPU:$8FB5 PRG:0FB5 85 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero23 +; Global: Branch target inside NmiHandler: taken when OnNonzero23. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero23: + lda $0120,y ; CPU:$8FB7 PRG:0FB7 B9 20 01 + beq NmiHandler_Loop132 ; CPU:$8FBA PRG:0FBA F0 34 + sec ; CPU:$8FBC PRG:0FBC 38 + sbc $0401 ; CPU:$8FBD PRG:0FBD ED 01 04 + bcs NmiHandler_Loop129 ; CPU:$8FC0 PRG:0FC0 B0 03 + jsr Sub_887D ; CPU:$8FC2 PRG:0FC2 20 7D 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop129 +; Global: Branch target inside NmiHandler: taken when Loop129. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop129: + lsr a ; CPU:$8FC5 PRG:0FC5 4A + lsr a ; CPU:$8FC6 PRG:0FC6 4A + lsr a ; CPU:$8FC7 PRG:0FC7 4A + lsr a ; CPU:$8FC8 PRG:0FC8 4A + sta Zp07 ; CPU:$8FC9 PRG:0FC9 85 07 + lda $0130,y ; CPU:$8FCB PRG:0FCB B9 30 01 + sec ; CPU:$8FCE PRG:0FCE 38 + sbc $0404 ; CPU:$8FCF PRG:0FCF ED 04 04 + bcs NmiHandler_Loop130 ; CPU:$8FD2 PRG:0FD2 B0 03 + jsr Sub_887D ; CPU:$8FD4 PRG:0FD4 20 7D 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop130 +; Global: Branch target inside NmiHandler: taken when Loop130. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop130: + lsr a ; CPU:$8FD7 PRG:0FD7 4A + lsr a ; CPU:$8FD8 PRG:0FD8 4A + lsr a ; CPU:$8FD9 PRG:0FD9 4A + lsr a ; CPU:$8FDA PRG:0FDA 4A + cmp Zp07 ; CPU:$8FDB PRG:0FDB C5 07 + bcc NmiHandler_Loop131 ; CPU:$8FDD PRG:0FDD 90 05 + lsr Zp07 ; CPU:$8FDF PRG:0FDF 46 07 + jmp Sub_8FE5 ; CPU:$8FE1 PRG:0FE1 4C E5 8F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop131 +; Global: Branch target inside NmiHandler: taken when Loop131. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop131: + lsr a ; CPU:$8FE4 PRG:0FE4 4A +; ----------------------------------------------------------------------------- +; Routine: Sub_8FE5 +; Global: Branch target inside Sub: taken when 8FE5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8FE5: + clc ; CPU:$8FE5 PRG:0FE5 18 + adc Zp07 ; CPU:$8FE6 PRG:0FE6 65 07 + cmp VramWritePtrHi ; CPU:$8FE8 PRG:0FE8 C5 01 + bcs NmiHandler_Loop132 ; CPU:$8FEA PRG:0FEA B0 04 + sta VramWritePtrHi ; CPU:$8FEC PRG:0FEC 85 01 + sty FrameCounter ; CPU:$8FEE PRG:0FEE 84 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop132 +; Global: Branch target inside NmiHandler: taken when Loop132. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop132: + iny ; CPU:$8FF0 PRG:0FF0 C8 + dec VramWritePtrLo ; CPU:$8FF1 PRG:0FF1 C6 00 + bne NmiHandler_OnNonzero23 ; CPU:$8FF3 PRG:0FF3 D0 C2 + lda VramWritePtrHi ; CPU:$8FF5 PRG:0FF5 A5 01 + cmp #$FF ; CPU:$8FF7 PRG:0FF7 C9 FF + beq NmiHandler_Loop133 ; CPU:$8FF9 PRG:0FF9 F0 0B + ldy FrameCounter ; CPU:$8FFB PRG:0FFB A4 02 + tya ; CPU:$8FFD PRG:0FFD 98 + sta $0520,x ; CPU:$8FFE PRG:0FFE 9D 20 05 + lda $9007,y ; CPU:$9001 PRG:1001 B9 07 90 + sta PlayerSpeed,x ; CPU:$9004 PRG:1004 95 95 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop133 +; Global: Branch target inside NmiHandler: taken when Loop133. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop133: + rts ; CPU:$9006 PRG:1006 60 +; ---- data $9007-$9012 (12 bytes) ---- +; referenced by `lda $9007,y` at $9001 (operand $9007 falls inside this region) +; referenced by `cmp $9007,y` at $9F19 (operand $9007 falls inside this region) +PlayerSpeedFineTable: + .byte $00, $15, $2A, $3F, $54, $69, $7E, $93, $A8, $BD, $D2, $E7 ; CPU:$9007 PRG:-2FF9 00 15 2A 3F 54 69 7E 93 A8 BD D2 E7 +; ----------------------------------------------------------------------------- +; Routine: Sub_9013 +; Global: Branch target inside Sub: taken when 9013. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9013: + ldy #$C8 ; CPU:$9013 PRG:1013 A0 C8 + lda #$F4 ; CPU:$9015 PRG:1015 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero24 +; Global: Branch target inside NmiHandler: taken when OnNonzero24. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero24: + dey ; CPU:$9017 PRG:1017 88 + dey ; CPU:$9018 PRG:1018 88 + dey ; CPU:$9019 PRG:1019 88 + dey ; CPU:$901A PRG:101A 88 + sta $0230,y ; CPU:$901B PRG:101B 99 30 02 +; ----------------------------------------------------------------------------- +; Routine: Label_901E +; Global: Branch target inside Label: taken when 901E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_901E: + cpy #$00 ; CPU:$901E PRG:101E C0 00 + bne NmiHandler_OnNonzero24 ; CPU:$9020 PRG:1020 D0 F5 + lda #$00 ; CPU:$9022 PRG:1022 A9 00 + sta PlayerIndex ; CPU:$9024 PRG:1024 85 79 + sta Zp77 ; CPU:$9026 PRG:1026 85 77 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero25 +; Global: Branch target inside NmiHandler: taken when OnNonzero25. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero25: + jsr Sub_9050 ; CPU:$9028 PRG:1028 20 50 90 + ldx PlayerIndex ; CPU:$902B PRG:102B A6 79 + lda #$00 ; CPU:$902D PRG:102D A9 00 + sta $030E,x ; CPU:$902F PRG:102F 9D 0E 03 + txa ; CPU:$9032 PRG:1032 8A + clc ; CPU:$9033 PRG:1033 18 + adc #$15 ; CPU:$9034 PRG:1034 69 15 + sta PlayerIndex ; CPU:$9036 PRG:1036 85 79 + inc Zp77 ; CPU:$9038 PRG:1038 E6 77 + cmp #$FC ; CPU:$903A PRG:103A C9 FC + bne NmiHandler_OnNonzero25 ; CPU:$903C PRG:103C D0 EA + ldy $0400 ; CPU:$903E PRG:103E AC 00 04 + ldx #$00 ; CPU:$9041 PRG:1041 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero26 +; Global: Branch target inside NmiHandler: taken when OnNonzero26. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero26: + lda $0401,x ; CPU:$9043 PRG:1043 BD 01 04 + sta $0200,y ; CPU:$9046 PRG:1046 99 00 02 + inx ; CPU:$9049 PRG:1049 E8 + iny ; CPU:$904A PRG:104A C8 + cpx #$08 ; CPU:$904B PRG:104B E0 08 + bne NmiHandler_OnNonzero26 ; CPU:$904D PRG:104D D0 F4 + rts ; CPU:$904F PRG:104F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9050 +; Global: Branch target inside Sub: taken when 9050. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9050: + ldx PlayerIndex ; CPU:$9050 PRG:1050 A6 79 + lda $0300,x ; CPU:$9052 PRG:1052 BD 00 03 + jsr Sub_84BD ; CPU:$9055 PRG:1055 20 BD 84 + ldy PlayerSpeed2,x ; CPU:$9058 PRG:1058 B4 90 + ldx $BE86,y ; CPU:$905A PRG:105A BE 86 BE + stx ZpF9 ; CPU:$905D PRG:105D 86 F9 + .byte $90, $BE ; CPU:$905F PRG:105F 90 BE + stx PpuCtrlShadow ; CPU:$9061 PRG:1061 86 08 +; ---- data $9063-$90F8 (150 bytes) ---- +; referenced by `adc $9086,y` at $DA67 (operand $9086 falls inside this region) + .byte $92, $24, $92, $40, $92, $40, $92, $BE, $86, $76, $92, $AF, $92, $AF, $92, $BE ; CPU:$9063 PRG:1063 92 24 92 40 92 40 92 BE 86 76 92 AF 92 AF 92 BE + .byte $86, $BE, $86, $BE, $86, $2D, $93, $4E, $93, $F9, $DA, $22, $DB, $57, $DB, $57 ; CPU:$9073 PRG:1073 86 BE 86 BE 86 2D 93 4E 93 F9 DA 22 DB 57 DB 57 + .byte $DB, $AD, $D9, $C6, $D9, $66, $DA, $9D, $DA, $B6, $E6, $CC, $E6, $BE, $86, $BE ; CPU:$9083 PRG:1083 DB AD D9 C6 D9 66 DA 9D DA B6 E6 CC E6 BE 86 BE + .byte $86, $BE, $86, $BE, $86, $0B, $A4, $44, $A4, $77, $A4, $BE, $86, $7C, $A4, $D0 ; CPU:$9093 PRG:1093 86 BE 86 BE 86 0B A4 44 A4 77 A4 BE 86 7C A4 D0 + .byte $A4, $D6, $A4, $BE, $86, $BE, $86, $BE, $86, $E6, $A4, $22, $A5, $2C, $A5, $95 ; CPU:$90A3 PRG:10A3 A4 D6 A4 BE 86 BE 86 BE 86 E6 A4 22 A5 2C A5 95 + .byte $A5, $A6, $79, $A0, $00, $B9, $D8, $90, $9D, $00, $03, $E8, $C8, $C0, $15, $D0 ; CPU:$90B3 PRG:10B3 A5 A6 79 A0 00 B9 D8 90 9D 00 03 E8 C8 C0 15 D0 + .byte $F4, $A6, $79, $A4, $77, $B9, $ED, $90, $9D, $0F, $03, $C0, $06, $90, $05, $A9 ; CPU:$90C3 PRG:10C3 F4 A6 79 A4 77 B9 ED 90 9D 0F 03 C0 06 90 05 A9 + .byte $0C, $9D, $02, $03, $60, $03, $00, $03, $00, $10, $00, $00, $00, $00, $00, $00 ; CPU:$90D3 PRG:10D3 0C 9D 02 03 60 03 00 03 00 10 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $02, $02, $02, $04, $04, $01 ; CPU:$90E3 PRG:10E3 00 00 00 00 00 00 00 00 00 00 02 02 02 04 04 01 + .byte $82, $82, $82, $84, $84, $81 ; CPU:$90F3 PRG:10F3 82 82 82 84 84 81 +; ----------------------------------------------------------------------------- +; Routine: Sub_90F9 +; Global: Branch target inside Sub: taken when 90F9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_90F9: + ldx PlayerIndex ; CPU:$90F9 PRG:10F9 A6 79 + lda $030E,x ; CPU:$90FB PRG:10FB BD 0E 03 + and #$0F ; CPU:$90FE PRG:10FE 29 0F + tay ; CPU:$9100 PRG:1100 A8 + bne NmiHandler_Loop138 ; CPU:$9101 PRG:1101 D0 3B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero6 +; Global: Branch target inside NmiHandler: taken when OnZero6. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero6: + lda $0301,x ; CPU:$9103 PRG:1103 BD 01 03 + bmi NmiHandler_Loop136 ; CPU:$9106 PRG:1106 30 30 + lda $06E7 ; CPU:$9108 PRG:1108 AD E7 06 + cmp #$04 ; CPU:$910B PRG:110B C9 04 + beq NmiHandler_Loop135 ; CPU:$910D PRG:110D F0 22 + cmp #$19 ; CPU:$910F PRG:110F C9 19 + beq NmiHandler_Loop135 ; CPU:$9111 PRG:1111 F0 1E + cmp #$05 ; CPU:$9113 PRG:1113 C9 05 + bne NmiHandler_Loop137 ; CPU:$9115 PRG:1115 D0 24 + lda $030F,x ; CPU:$9117 PRG:1117 BD 0F 03 + and #$01 ; CPU:$911A PRG:111A 29 01 + bne NmiHandler_Loop137 ; CPU:$911C PRG:111C D0 1D + lda $0309,x ; CPU:$911E PRG:111E BD 09 03 + cmp #$20 ; CPU:$9121 PRG:1121 C9 20 + bcs NmiHandler_Loop134 ; CPU:$9123 PRG:1123 B0 06 + lda Zp2A ; CPU:$9125 PRG:1125 A5 2A + beq NmiHandler_Loop137 ; CPU:$9127 PRG:1127 F0 12 + bne NmiHandler_Loop136 ; CPU:$9129 PRG:1129 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop134 +; Global: Branch target inside NmiHandler: taken when Loop134. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop134: + sec ; CPU:$912B PRG:112B 38 + sbc #$20 ; CPU:$912C PRG:112C E9 20 + sta $0309,x ; CPU:$912E PRG:112E 9D 09 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop135 +; Global: Branch target inside NmiHandler: taken when Loop135. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop135: + lda $030F,x ; CPU:$9131 PRG:1131 BD 0F 03 + and #$01 ; CPU:$9134 PRG:1134 29 01 + bne NmiHandler_Loop137 ; CPU:$9136 PRG:1136 D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop136 +; Global: Branch target inside NmiHandler: taken when Loop136. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop136: + jmp Sub_9189 ; CPU:$9138 PRG:1138 4C 89 91 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop137 +; Global: Branch target inside NmiHandler: taken when Loop137. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop137: + jmp Sub_9204 ; CPU:$913B PRG:113B 4C 04 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop138 +; Global: Branch target inside NmiHandler: taken when Loop138. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop138: + lda $9510,y ; CPU:$913E PRG:113E B9 10 95 + beq NmiHandler_OnZero6 ; CPU:$9141 PRG:1141 F0 C0 + cmp $0301,x ; CPU:$9143 PRG:1143 DD 01 03 + beq NmiHandler_Loop140 ; CPU:$9146 PRG:1146 F0 3E + sta $0301,x ; CPU:$9148 PRG:1148 9D 01 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_914B +; Global: Branch target inside Sub: taken when 914B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_914B: + lda #$03 ; CPU:$914B PRG:114B A9 03 + sta $0300,x ; CPU:$914D PRG:114D 9D 00 03 + lda $0301,x ; CPU:$9150 PRG:1150 BD 01 03 + and #$0F ; CPU:$9153 PRG:1153 29 0F + tay ; CPU:$9155 PRG:1155 A8 + dey ; CPU:$9156 PRG:1156 88 + lda $030F,x ; CPU:$9157 PRG:1157 BD 0F 03 + and #$01 ; CPU:$915A PRG:115A 29 01 + bne NmiHandler_Loop139 ; CPU:$915C PRG:115C D0 1A + lda $959A,y ; CPU:$915E PRG:115E B9 9A 95 + sta $0309,x ; CPU:$9161 PRG:1161 9D 09 03 + tya ; CPU:$9164 PRG:1164 98 + asl a ; CPU:$9165 PRG:1165 0A + sta VramReadPtrLo ; CPU:$9166 PRG:1166 85 0C + lda $0312,x ; CPU:$9168 PRG:1168 BD 12 03 + asl a ; CPU:$916B PRG:116B 0A + asl a ; CPU:$916C PRG:116C 0A + asl a ; CPU:$916D PRG:116D 0A + asl a ; CPU:$916E PRG:116E 0A + clc ; CPU:$916F PRG:116F 18 + adc VramReadPtrLo ; CPU:$9170 PRG:1170 65 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_9172 +; Global: Branch target inside Sub: taken when 9172. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9172: + sta $0307,x ; CPU:$9172 PRG:1172 9D 07 03 + jmp Sub_9204 ; CPU:$9175 PRG:1175 4C 04 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop139 +; Global: Branch target inside NmiHandler: taken when Loop139. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop139: + lda $95A2,y ; CPU:$9178 PRG:1178 B9 A2 95 + sta $0309,x ; CPU:$917B PRG:117B 9D 09 03 + tya ; CPU:$917E PRG:117E 98 + asl a ; CPU:$917F PRG:117F 0A + clc ; CPU:$9180 PRG:1180 18 + adc #$50 ; CPU:$9181 PRG:1181 69 50 + jmp Sub_9172 ; CPU:$9183 PRG:1183 4C 72 91 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop140 +; Global: Branch target inside NmiHandler: taken when Loop140. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop140: + jsr Sub_948E ; CPU:$9186 PRG:1186 20 8E 94 +; ----------------------------------------------------------------------------- +; Routine: Sub_9189 +; Global: Branch target inside Sub: taken when 9189. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9189: + lda $0308,x ; CPU:$9189 PRG:1189 BD 08 03 + beq NmiHandler_Loop141 ; CPU:$918C PRG:118C F0 06 + dec $0308,x ; CPU:$918E PRG:118E DE 08 03 + jmp Sub_87AD ; CPU:$9191 PRG:1191 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop141 +; Global: Branch target inside NmiHandler: taken when Loop141. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop141: + ldy $0309,x ; CPU:$9194 PRG:1194 BC 09 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero27 +; Global: Branch target inside NmiHandler: taken when OnNonzero27. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero27: + lda $95AA,y ; CPU:$9197 PRG:1197 B9 AA 95 + cmp #$FF ; CPU:$919A PRG:119A C9 FF + beq NmiHandler_Loop142 ; CPU:$919C PRG:119C F0 03 + iny ; CPU:$919E PRG:119E C8 + bne NmiHandler_OnNonzero27 ; CPU:$919F PRG:119F D0 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop142 +; Global: Branch target inside NmiHandler: taken when Loop142. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop142: + lda $95AB,y ; CPU:$91A1 PRG:11A1 B9 AB 95 + sta $0308,x ; CPU:$91A4 PRG:11A4 9D 08 03 + ldy $0309,x ; CPU:$91A7 PRG:11A7 BC 09 03 + lda $0550 ; CPU:$91AA PRG:11AA AD 50 05 + beq NmiHandler_Loop146 ; CPU:$91AD PRG:11AD F0 2D + cmp #$02 ; CPU:$91AF PRG:11AF C9 02 + beq NmiHandler_Loop143 ; CPU:$91B1 PRG:11B1 F0 08 + lda Zp77 ; CPU:$91B3 PRG:11B3 A5 77 + cmp #$06 ; CPU:$91B5 PRG:11B5 C9 06 + bcs NmiHandler_Loop146 ; CPU:$91B7 PRG:11B7 B0 23 + bcc NmiHandler_Loop144 ; CPU:$91B9 PRG:11B9 90 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop143 +; Global: Branch target inside NmiHandler: taken when Loop143. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop143: + lda Zp77 ; CPU:$91BB PRG:11BB A5 77 + cmp #$06 ; CPU:$91BD PRG:11BD C9 06 + bcc NmiHandler_Loop146 ; CPU:$91BF PRG:11BF 90 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop144 +; Global: Branch target inside NmiHandler: taken when Loop144. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop144: + lda $030F,x ; CPU:$91C1 PRG:11C1 BD 0F 03 + and #$01 ; CPU:$91C4 PRG:11C4 29 01 + bne NmiHandler_Loop146 ; CPU:$91C6 PRG:11C6 D0 14 + lda $06E7 ; CPU:$91C8 PRG:11C8 AD E7 06 + cmp #$19 ; CPU:$91CB PRG:11CB C9 19 + beq NmiHandler_Loop145 ; CPU:$91CD PRG:11CD F0 04 + cmp #$04 ; CPU:$91CF PRG:11CF C9 04 + bne NmiHandler_Loop146 ; CPU:$91D1 PRG:11D1 D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop145 +; Global: Branch target inside NmiHandler: taken when Loop145. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop145: + tya ; CPU:$91D3 PRG:11D3 98 + cmp #$20 ; CPU:$91D4 PRG:11D4 C9 20 + bcs NmiHandler_Loop146 ; CPU:$91D6 PRG:11D6 B0 04 + clc ; CPU:$91D8 PRG:11D8 18 + adc #$20 ; CPU:$91D9 PRG:11D9 69 20 + tay ; CPU:$91DB PRG:11DB A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop146 +; Global: Branch target inside NmiHandler: taken when Loop146. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop146: + lda $95AA,y ; CPU:$91DC PRG:11DC B9 AA 95 + iny ; CPU:$91DF PRG:11DF C8 + cmp #$FF ; CPU:$91E0 PRG:11E0 C9 FF + bne NmiHandler_Loop147 ; CPU:$91E2 PRG:11E2 D0 19 + lda $95AB,y ; CPU:$91E4 PRG:11E4 B9 AB 95 + sta $0309,x ; CPU:$91E7 PRG:11E7 9D 09 03 + tay ; CPU:$91EA PRG:11EA A8 + lda $030E,x ; CPU:$91EB PRG:11EB BD 0E 03 + and #$0F ; CPU:$91EE PRG:11EE 29 0F + bne NmiHandler_Loop146 ; CPU:$91F0 PRG:11F0 D0 EA + lda $0301,x ; CPU:$91F2 PRG:11F2 BD 01 03 + and #$7F ; CPU:$91F5 PRG:11F5 29 7F + sta $0301,x ; CPU:$91F7 PRG:11F7 9D 01 03 + jmp Sub_9204 ; CPU:$91FA PRG:11FA 4C 04 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop147 +; Global: Branch target inside NmiHandler: taken when Loop147. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop147: + sta $0306,x ; CPU:$91FD PRG:11FD 9D 06 03 + tya ; CPU:$9200 PRG:1200 98 + sta $0309,x ; CPU:$9201 PRG:1201 9D 09 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9204 +; Global: Branch target inside Sub: taken when 9204. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9204: + jsr Sub_87AD ; CPU:$9204 PRG:1204 20 AD 87 + rts ; CPU:$9207 PRG:1207 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9208 +; Global: Branch target inside Label: taken when 9208. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9208: + jsr Sub_93DF ; CPU:$9208 PRG:1208 20 DF 93 + ldx #$00 ; CPU:$920B PRG:120B A2 00 + cpy #$06 ; CPU:$920D PRG:120D C0 06 + bcc NmiHandler_Loop148 ; CPU:$920F PRG:120F 90 07 + ldx #$14 ; CPU:$9211 PRG:1211 A2 14 + ldy #$10 ; CPU:$9213 PRG:1213 A0 10 + jmp Sub_921A ; CPU:$9215 PRG:1215 4C 1A 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop148 +; Global: Branch target inside NmiHandler: taken when Loop148. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop148: + ldy #$E8 ; CPU:$9218 PRG:1218 A0 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_921A +; Global: Branch target inside Sub: taken when 921A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_921A: + lda $06C0,x ; CPU:$921A PRG:121A BD C0 06 + sta FrameCounter ; CPU:$921D PRG:121D 85 02 + sty Zp03 ; CPU:$921F PRG:121F 84 03 + jmp Sub_922A ; CPU:$9221 PRG:1221 4C 2A 92 +; ----------------------------------------------------------------------------- +; Routine: Label_9224 +; Global: Branch target inside Label: taken when 9224. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9224: + jsr Sub_936B ; CPU:$9224 PRG:1224 20 6B 93 + jsr Sub_93DF ; CPU:$9227 PRG:1227 20 DF 93 +; ----------------------------------------------------------------------------- +; Routine: Sub_922A +; Global: Branch target inside Sub: taken when 922A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_922A: + jsr Sub_9402 ; CPU:$922A PRG:122A 20 02 94 + lda $964D,y ; CPU:$922D PRG:122D B9 4D 96 + sta $0309,x ; CPU:$9230 PRG:1230 9D 09 03 + lda #$07 ; CPU:$9233 PRG:1233 A9 07 + sta $0300,x ; CPU:$9235 PRG:1235 9D 00 03 + lda #$00 ; CPU:$9238 PRG:1238 A9 00 + sta $0308,x ; CPU:$923A PRG:123A 9D 08 03 + sta $030E,x ; CPU:$923D PRG:123D 9D 0E 03 + ldx PlayerIndex ; CPU:$9240 PRG:1240 A6 79 + lda $0308,x ; CPU:$9242 PRG:1242 BD 08 03 + beq NmiHandler_Loop149 ; CPU:$9245 PRG:1245 F0 06 + dec $0308,x ; CPU:$9247 PRG:1247 DE 08 03 + jmp Sub_87AD ; CPU:$924A PRG:124A 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop149 +; Global: Branch target inside NmiHandler: taken when Loop149. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop149: + ldy $0309,x ; CPU:$924D PRG:124D BC 09 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9250 +; Global: Branch target inside Sub: taken when 9250. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9250: + lda $9656,y ; CPU:$9250 PRG:1250 B9 56 96 + iny ; CPU:$9253 PRG:1253 C8 + cmp #$FE ; CPU:$9254 PRG:1254 C9 FE + bne NmiHandler_Loop150 ; CPU:$9256 PRG:1256 D0 08 + lda #$08 ; CPU:$9258 PRG:1258 A9 08 + sta $0300,x ; CPU:$925A PRG:125A 9D 00 03 + jmp Sub_9250 ; CPU:$925D PRG:125D 4C 50 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop150 +; Global: Branch target inside NmiHandler: taken when Loop150. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop150: + cmp #$FF ; CPU:$9260 PRG:1260 C9 FF + bne NmiHandler_Loop151 ; CPU:$9262 PRG:1262 D0 03 + jmp Sub_914B ; CPU:$9264 PRG:1264 4C 4B 91 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop151 +; Global: Branch target inside NmiHandler: taken when Loop151. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop151: + sta $0306,x ; CPU:$9267 PRG:1267 9D 06 03 + tya ; CPU:$926A PRG:126A 98 + sta $0309,x ; CPU:$926B PRG:126B 9D 09 03 + lda #$02 ; CPU:$926E PRG:126E A9 02 + sta $0308,x ; CPU:$9270 PRG:1270 9D 08 03 + jmp Sub_87AD ; CPU:$9273 PRG:1273 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Label_9276 +; Global: Branch target inside Label: taken when 9276. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9276: + ldx PlayerIndex ; CPU:$9276 PRG:1276 A6 79 + lda $0302,x ; CPU:$9278 PRG:1278 BD 02 03 + sta TimerIndex3 ; CPU:$927B PRG:127B 85 A8 + lda $0303,x ; CPU:$927D PRG:127D BD 03 03 + sta TimerIndex4 ; CPU:$9280 PRG:1280 85 A9 + lda $0304,x ; CPU:$9282 PRG:1282 BD 04 03 + sta TimerIndex ; CPU:$9285 PRG:1285 85 A3 + lda $0305,x ; CPU:$9287 PRG:1287 BD 05 03 + sta TimerIndex2 ; CPU:$928A PRG:128A 85 A4 + lda #$01 ; CPU:$928C PRG:128C A9 01 + sta ZpAD ; CPU:$928E PRG:128E 85 AD + lda #$30 ; CPU:$9290 PRG:1290 A9 30 + sta ZpAE ; CPU:$9292 PRG:1292 85 AE + jsr Sub_93DF ; CPU:$9294 PRG:1294 20 DF 93 + jsr Sub_9402 ; CPU:$9297 PRG:1297 20 02 94 + lda $9682,y ; CPU:$929A PRG:129A B9 82 96 + sta $0309,x ; CPU:$929D PRG:129D 9D 09 03 + lda $030E,x ; CPU:$92A0 PRG:12A0 BD 0E 03 + and #$C0 ; CPU:$92A3 PRG:12A3 29 C0 + beq NmiHandler_Loop152 ; CPU:$92A5 PRG:12A5 F0 05 + lda #$0B ; CPU:$92A7 PRG:12A7 A9 0B + sta $0300,x ; CPU:$92A9 PRG:12A9 9D 00 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop152 +; Global: Branch target inside NmiHandler: taken when Loop152. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop152: + jmp NmiHandler_Loop153 ; CPU:$92AC PRG:12AC 4C BC 92 +; ----------------------------------------------------------------------------- +; Routine: Label_92AF +; Global: Branch target inside Label: taken when 92AF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_92AF: + ldx PlayerIndex ; CPU:$92AF PRG:12AF A6 79 + lda $0308,x ; CPU:$92B1 PRG:12B1 BD 08 03 + beq NmiHandler_Loop153 ; CPU:$92B4 PRG:12B4 F0 06 + dec $0308,x ; CPU:$92B6 PRG:12B6 DE 08 03 + jmp Sub_87AD ; CPU:$92B9 PRG:12B9 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop153 +; Global: Branch target inside NmiHandler: taken when Loop153. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop153: + ldy $0309,x ; CPU:$92BC PRG:12BC BC 09 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_92BF +; Global: Branch target inside Sub: taken when 92BF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_92BF: + lda $968B,y ; CPU:$92BF PRG:12BF B9 8B 96 + iny ; CPU:$92C2 PRG:12C2 C8 + cmp #$AA ; CPU:$92C3 PRG:12C3 C9 AA + beq NmiHandler_Loop157 ; CPU:$92C5 PRG:12C5 F0 4C + cmp #$BB ; CPU:$92C7 PRG:12C7 C9 BB + beq NmiHandler_Loop158 ; CPU:$92C9 PRG:12C9 F0 5F + sta $0306,x ; CPU:$92CB PRG:12CB 9D 06 03 + lda $0300,x ; CPU:$92CE PRG:12CE BD 00 03 + cmp #$0C ; CPU:$92D1 PRG:12D1 C9 0C + beq NmiHandler_Loop156 ; CPU:$92D3 PRG:12D3 F0 30 + ldx #$00 ; CPU:$92D5 PRG:12D5 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero28 +; Global: Branch target inside NmiHandler: taken when OnNonzero28. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero28: + lda $968B,y ; CPU:$92D7 PRG:12D7 B9 8B 96 + php ; CPU:$92DA PRG:12DA 08 + iny ; CPU:$92DB PRG:12DB C8 + asl a ; CPU:$92DC PRG:12DC 0A + asl a ; CPU:$92DD PRG:12DD 0A + asl a ; CPU:$92DE PRG:12DE 0A + asl a ; CPU:$92DF PRG:12DF 0A + plp ; CPU:$92E0 PRG:12E0 28 + bmi NmiHandler_Loop154 ; CPU:$92E1 PRG:12E1 30 0C + clc ; CPU:$92E3 PRG:12E3 18 + adc TimerIndex2,x ; CPU:$92E4 PRG:12E4 75 A4 + sta TimerIndex2,x ; CPU:$92E6 PRG:12E6 95 A4 + bcc NmiHandler_Loop155 ; CPU:$92E8 PRG:12E8 90 12 + inc TimerIndex,x ; CPU:$92EA PRG:12EA F6 A3 + jmp NmiHandler_Loop155 ; CPU:$92EC PRG:12EC 4C FC 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop154 +; Global: Branch target inside NmiHandler: taken when Loop154. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop154: + sta VramReadPtrLo ; CPU:$92EF PRG:12EF 85 0C + lda TimerIndex2,x ; CPU:$92F1 PRG:12F1 B5 A4 + sec ; CPU:$92F3 PRG:12F3 38 + sbc VramReadPtrLo ; CPU:$92F4 PRG:12F4 E5 0C + sta TimerIndex2,x ; CPU:$92F6 PRG:12F6 95 A4 + bcs NmiHandler_Loop155 ; CPU:$92F8 PRG:12F8 B0 02 + dec TimerIndex,x ; CPU:$92FA PRG:12FA D6 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop155 +; Global: Branch target inside NmiHandler: taken when Loop155. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop155: + inx ; CPU:$92FC PRG:12FC E8 + inx ; CPU:$92FD PRG:12FD E8 + inx ; CPU:$92FE PRG:12FE E8 + inx ; CPU:$92FF PRG:12FF E8 + inx ; CPU:$9300 PRG:1300 E8 + cpx #$0F ; CPU:$9301 PRG:1301 E0 0F + bne NmiHandler_OnNonzero28 ; CPU:$9303 PRG:1303 D0 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop156 +; Global: Branch target inside NmiHandler: taken when Loop156. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop156: + ldx PlayerIndex ; CPU:$9305 PRG:1305 A6 79 + tya ; CPU:$9307 PRG:1307 98 + sta $0309,x ; CPU:$9308 PRG:1308 9D 09 03 + lda #$02 ; CPU:$930B PRG:130B A9 02 + sta $0308,x ; CPU:$930D PRG:130D 9D 08 03 + jmp Sub_87AD ; CPU:$9310 PRG:1310 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop157 +; Global: Branch target inside NmiHandler: taken when Loop157. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop157: + lda #$0C ; CPU:$9313 PRG:1313 A9 0C + sta $0300,x ; CPU:$9315 PRG:1315 9D 00 03 + tya ; CPU:$9318 PRG:1318 98 + pha ; CPU:$9319 PRG:1319 48 + lda PlayerIndex ; CPU:$931A PRG:131A A5 79 + sta PlayerSpeed2 ; CPU:$931C PRG:131C 85 90 + lda #$60 ; CPU:$931E PRG:131E A9 60 + jsr Sub_B705 ; CPU:$9320 PRG:1320 20 05 B7 + pla ; CPU:$9323 PRG:1323 68 + tay ; CPU:$9324 PRG:1324 A8 + ldx PlayerIndex ; CPU:$9325 PRG:1325 A6 79 + jmp Sub_92BF ; CPU:$9327 PRG:1327 4C BF 92 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop158 +; Global: Branch target inside NmiHandler: taken when Loop158. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop158: + jmp Sub_914B ; CPU:$932A PRG:132A 4C 4B 91 +; ----------------------------------------------------------------------------- +; Routine: Label_932D +; Global: Branch target inside Label: taken when 932D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_932D: + ldx PlayerIndex ; CPU:$932D PRG:132D A6 79 + lda $0301,x ; CPU:$932F PRG:132F BD 01 03 + and #$0F ; CPU:$9332 PRG:1332 29 0F + tay ; CPU:$9334 PRG:1334 A8 + dey ; CPU:$9335 PRG:1335 88 + lda $96DB,y ; CPU:$9336 PRG:1336 B9 DB 96 + sta $0309,x ; CPU:$9339 PRG:1339 9D 09 03 + tya ; CPU:$933C PRG:133C 98 + asl a ; CPU:$933D PRG:133D 0A + clc ; CPU:$933E PRG:133E 18 + adc #$6A ; CPU:$933F PRG:133F 69 6A + sta $0307,x ; CPU:$9341 PRG:1341 9D 07 03 + lda #$11 ; CPU:$9344 PRG:1344 A9 11 + sta $0300,x ; CPU:$9346 PRG:1346 9D 00 03 + lda #$00 ; CPU:$9349 PRG:1349 A9 00 + sta $0308,x ; CPU:$934B PRG:134B 9D 08 03 + ldx PlayerIndex ; CPU:$934E PRG:134E A6 79 + ldy $0309,x ; CPU:$9350 PRG:1350 BC 09 03 + lda $96E3,y ; CPU:$9353 PRG:1353 B9 E3 96 + iny ; CPU:$9356 PRG:1356 C8 + cmp #$FF ; CPU:$9357 PRG:1357 C9 FF + bne NmiHandler_Loop159 ; CPU:$9359 PRG:1359 D0 03 + jmp Sub_914B ; CPU:$935B PRG:135B 4C 4B 91 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop159 +; Global: Branch target inside NmiHandler: taken when Loop159. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop159: + sta $0306,x ; CPU:$935E PRG:135E 9D 06 03 + tya ; CPU:$9361 PRG:1361 98 + sta $0309,x ; CPU:$9362 PRG:1362 9D 09 03 + jsr Sub_948E ; CPU:$9365 PRG:1365 20 8E 94 + jmp Sub_87AD ; CPU:$9368 PRG:1368 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_936B +; Global: Branch target inside Sub: taken when 936B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_936B: + lda #$06 ; CPU:$936B PRG:136B A9 06 + sta VramReadPtrLo ; CPU:$936D PRG:136D 85 0C + ldx #$7E ; CPU:$936F PRG:136F A2 7E + ldy #$00 ; CPU:$9371 PRG:1371 A0 00 + lda Zp77 ; CPU:$9373 PRG:1373 A5 77 + cmp #$06 ; CPU:$9375 PRG:1375 C9 06 + bcc NmiHandler_Loop160 ; CPU:$9377 PRG:1377 90 04 + ldx #$00 ; CPU:$9379 PRG:1379 A2 00 + ldy #$14 ; CPU:$937B PRG:137B A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop160 +; Global: Branch target inside NmiHandler: taken when Loop160. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop160: + stx VramReadPtrHi ; CPU:$937D PRG:137D 86 0D + ldx $06B9,y ; CPU:$937F PRG:137F BE B9 06 + lda $0305,x ; CPU:$9382 PRG:1382 BD 05 03 + sta VramWritePtrLo ; CPU:$9385 PRG:1385 85 00 + lda $0304,x ; CPU:$9387 PRG:1387 BD 04 03 + ldy #$03 ; CPU:$938A PRG:138A A0 03 + jsr NmiHandler_OnNonzero32 ; CPU:$938C PRG:138C 20 09 95 + sta GameMode ; CPU:$938F PRG:138F 85 72 + ldx VramReadPtrHi ; CPU:$9391 PRG:1391 A6 0D + beq NmiHandler_OnNonzero30 ; CPU:$9393 PRG:1393 F0 23 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero29 +; Global: Branch target inside NmiHandler: taken when OnNonzero29. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero29: + lda $030F,x ; CPU:$9395 PRG:1395 BD 0F 03 + and #$01 ; CPU:$9398 PRG:1398 29 01 + bne NmiHandler_Loop161 ; CPU:$939A PRG:139A D0 11 + lda $0305,x ; CPU:$939C PRG:139C BD 05 03 + sta VramWritePtrLo ; CPU:$939F PRG:139F 85 00 + lda $0304,x ; CPU:$93A1 PRG:13A1 BD 04 03 + ldy #$03 ; CPU:$93A4 PRG:13A4 A0 03 + jsr NmiHandler_OnNonzero32 ; CPU:$93A6 PRG:13A6 20 09 95 + cmp GameMode ; CPU:$93A9 PRG:13A9 C5 72 + bcs NmiHandler_Loop164 ; CPU:$93AB PRG:13AB B0 31 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop161 +; Global: Branch target inside NmiHandler: taken when Loop161. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop161: + txa ; CPU:$93AD PRG:13AD 8A + clc ; CPU:$93AE PRG:13AE 18 + adc #$15 ; CPU:$93AF PRG:13AF 69 15 + tax ; CPU:$93B1 PRG:13B1 AA + cpx #$FC ; CPU:$93B2 PRG:13B2 E0 FC + bne NmiHandler_OnNonzero29 ; CPU:$93B4 PRG:13B4 D0 DF + beq NmiHandler_Loop163 ; CPU:$93B6 PRG:13B6 F0 21 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero30 +; Global: Branch target inside NmiHandler: taken when OnNonzero30. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero30: + lda $030F,x ; CPU:$93B8 PRG:13B8 BD 0F 03 + and #$01 ; CPU:$93BB PRG:13BB 29 01 + bne NmiHandler_Loop162 ; CPU:$93BD PRG:13BD D0 11 + lda $0305,x ; CPU:$93BF PRG:13BF BD 05 03 + sta VramWritePtrLo ; CPU:$93C2 PRG:13C2 85 00 + lda $0304,x ; CPU:$93C4 PRG:13C4 BD 04 03 + ldy #$03 ; CPU:$93C7 PRG:13C7 A0 03 + jsr NmiHandler_OnNonzero32 ; CPU:$93C9 PRG:13C9 20 09 95 + cmp GameMode ; CPU:$93CC PRG:13CC C5 72 + bcc NmiHandler_Loop164 ; CPU:$93CE PRG:13CE 90 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop162 +; Global: Branch target inside NmiHandler: taken when Loop162. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop162: + txa ; CPU:$93D0 PRG:13D0 8A + clc ; CPU:$93D1 PRG:13D1 18 + adc #$15 ; CPU:$93D2 PRG:13D2 69 15 + tax ; CPU:$93D4 PRG:13D4 AA + cpx #$7E ; CPU:$93D5 PRG:13D5 E0 7E + bne NmiHandler_OnNonzero30 ; CPU:$93D7 PRG:13D7 D0 DF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop163 +; Global: Branch target inside NmiHandler: taken when Loop163. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop163: + lda #$01 ; CPU:$93D9 PRG:13D9 A9 01 + sta $06EC ; CPU:$93DB PRG:13DB 8D EC 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop164 +; Global: Branch target inside NmiHandler: taken when Loop164. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop164: + rts ; CPU:$93DE PRG:13DE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_93DF +; Global: Branch target inside Sub: taken when 93DF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_93DF: + ldx #$00 ; CPU:$93DF PRG:13DF A2 00 + ldy Zp77 ; CPU:$93E1 PRG:13E1 A4 77 + cpy #$06 ; CPU:$93E3 PRG:13E3 C0 06 + bcc NmiHandler_Loop165 ; CPU:$93E5 PRG:13E5 90 02 + ldx #$14 ; CPU:$93E7 PRG:13E7 A2 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop165 +; Global: Branch target inside NmiHandler: taken when Loop165. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop165: + lda $06B8,x ; CPU:$93E9 PRG:13E9 BD B8 06 + tax ; CPU:$93EC PRG:13EC AA + lda $0140,y ; CPU:$93ED PRG:13ED B9 40 01 + sta VramWritePtrLo ; CPU:$93F0 PRG:13F0 85 00 + lda $0150,y ; CPU:$93F2 PRG:13F2 B9 50 01 + sta VramWritePtrHi ; CPU:$93F5 PRG:13F5 85 01 + lda $0140,x ; CPU:$93F7 PRG:13F7 BD 40 01 + sta FrameCounter ; CPU:$93FA PRG:13FA 85 02 + lda $0150,x ; CPU:$93FC PRG:13FC BD 50 01 + sta Zp03 ; CPU:$93FF PRG:13FF 85 03 + rts ; CPU:$9401 PRG:1401 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9402 +; Global: Branch target inside Sub: taken when 9402. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9402: + jsr Sub_940C ; CPU:$9402 PRG:1402 20 0C 94 + ldx PlayerIndex ; CPU:$9405 PRG:1405 A6 79 + sta $0301,x ; CPU:$9407 PRG:1407 9D 01 03 + tay ; CPU:$940A PRG:140A A8 + rts ; CPU:$940B PRG:140B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_940C +; Global: Branch target inside Sub: taken when 940C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_940C: + lda #$00 ; CPU:$940C PRG:140C A9 00 + sta VramReadPtrLo ; CPU:$940E PRG:140E 85 0C + sta VramReadPtrHi ; CPU:$9410 PRG:1410 85 0D + sta Zp0E ; CPU:$9412 PRG:1412 85 0E + lda VramWritePtrLo ; CPU:$9414 PRG:1414 A5 00 + sec ; CPU:$9416 PRG:1416 38 + sbc FrameCounter ; CPU:$9417 PRG:1417 E5 02 + bne NmiHandler_Loop166 ; CPU:$9419 PRG:1419 D0 04 + lda #$01 ; CPU:$941B PRG:141B A9 01 + bne NmiHandler_Loop167 ; CPU:$941D PRG:141D D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop166 +; Global: Branch target inside NmiHandler: taken when Loop166. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop166: + bcs NmiHandler_Loop167 ; CPU:$941F PRG:141F B0 05 + jsr Sub_887D ; CPU:$9421 PRG:1421 20 7D 88 + inc VramReadPtrLo ; CPU:$9424 PRG:1424 E6 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop167 +; Global: Branch target inside NmiHandler: taken when Loop167. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop167: + sta Zp07 ; CPU:$9426 PRG:1426 85 07 + lda VramWritePtrHi ; CPU:$9428 PRG:1428 A5 01 + sec ; CPU:$942A PRG:142A 38 + sbc Zp03 ; CPU:$942B PRG:142B E5 03 + bne NmiHandler_Loop168 ; CPU:$942D PRG:142D D0 04 + lda #$01 ; CPU:$942F PRG:142F A9 01 + bne NmiHandler_Loop169 ; CPU:$9431 PRG:1431 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop168 +; Global: Branch target inside NmiHandler: taken when Loop168. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop168: + bcs NmiHandler_Loop169 ; CPU:$9433 PRG:1433 B0 05 + jsr Sub_887D ; CPU:$9435 PRG:1435 20 7D 88 + inc VramReadPtrHi ; CPU:$9438 PRG:1438 E6 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop169 +; Global: Branch target inside NmiHandler: taken when Loop169. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop169: + cmp Zp07 ; CPU:$943A PRG:143A C5 07 + bcs NmiHandler_Loop170 ; CPU:$943C PRG:143C B0 07 + tax ; CPU:$943E PRG:143E AA + lda Zp07 ; CPU:$943F PRG:143F A5 07 + stx Zp07 ; CPU:$9441 PRG:1441 86 07 + inc Zp0E ; CPU:$9443 PRG:1443 E6 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop170 +; Global: Branch target inside NmiHandler: taken when Loop170. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop170: + ldy #$00 ; CPU:$9445 PRG:1445 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero31 +; Global: Branch target inside NmiHandler: taken when OnNonzero31. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero31: + sec ; CPU:$9447 PRG:1447 38 + sbc Zp07 ; CPU:$9448 PRG:1448 E5 07 + bcc NmiHandler_Loop171 ; CPU:$944A PRG:144A 90 03 + iny ; CPU:$944C PRG:144C C8 + bne NmiHandler_OnNonzero31 ; CPU:$944D PRG:144D D0 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop171 +; Global: Branch target inside NmiHandler: taken when Loop171. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop171: + cpy #$03 ; CPU:$944F PRG:144F C0 03 + bcs NmiHandler_Loop172 ; CPU:$9451 PRG:1451 B0 04 + ldy #$01 ; CPU:$9453 PRG:1453 A0 01 + bne NmiHandler_Loop175 ; CPU:$9455 PRG:1455 D0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop172 +; Global: Branch target inside NmiHandler: taken when Loop172. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop172: + ldy #$00 ; CPU:$9457 PRG:1457 A0 00 + lda VramReadPtrLo ; CPU:$9459 PRG:1459 A5 0C + eor VramReadPtrHi ; CPU:$945B PRG:145B 45 0D + beq NmiHandler_Loop173 ; CPU:$945D PRG:145D F0 06 + lda Zp0E ; CPU:$945F PRG:145F A5 0E + bne NmiHandler_Loop175 ; CPU:$9461 PRG:1461 D0 08 + beq NmiHandler_Loop174 ; CPU:$9463 PRG:1463 F0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop173 +; Global: Branch target inside NmiHandler: taken when Loop173. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop173: + lda Zp0E ; CPU:$9465 PRG:1465 A5 0E + beq NmiHandler_Loop175 ; CPU:$9467 PRG:1467 F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop174 +; Global: Branch target inside NmiHandler: taken when Loop174. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop174: + ldy #$02 ; CPU:$9469 PRG:1469 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop175 +; Global: Branch target inside NmiHandler: taken when Loop175. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop175: + lda VramReadPtrLo ; CPU:$946B PRG:146B A5 0C + bne NmiHandler_Loop176 ; CPU:$946D PRG:146D D0 0A + ldx #$01 ; CPU:$946F PRG:146F A2 01 + lda VramReadPtrHi ; CPU:$9471 PRG:1471 A5 0D + bne NmiHandler_Loop177 ; CPU:$9473 PRG:1473 D0 0C + ldx #$07 ; CPU:$9475 PRG:1475 A2 07 + bne NmiHandler_Loop177 ; CPU:$9477 PRG:1477 D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop176 +; Global: Branch target inside NmiHandler: taken when Loop176. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop176: + ldx #$03 ; CPU:$9479 PRG:1479 A2 03 + lda VramReadPtrHi ; CPU:$947B PRG:147B A5 0D + bne NmiHandler_Loop177 ; CPU:$947D PRG:147D D0 02 + ldx #$05 ; CPU:$947F PRG:147F A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop177 +; Global: Branch target inside NmiHandler: taken when Loop177. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop177: + sty Zp07 ; CPU:$9481 PRG:1481 84 07 + txa ; CPU:$9483 PRG:1483 8A + clc ; CPU:$9484 PRG:1484 18 + adc Zp07 ; CPU:$9485 PRG:1485 65 07 + cmp #$09 ; CPU:$9487 PRG:1487 C9 09 + bne NmiHandler_Loop178 ; CPU:$9489 PRG:1489 D0 02 + lda #$01 ; CPU:$948B PRG:148B A9 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop178 +; Global: Branch target inside NmiHandler: taken when Loop178. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop178: + rts ; CPU:$948D PRG:148D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_948E +; Global: Branch target inside Sub: taken when 948E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_948E: + ldy $0307,x ; CPU:$948E PRG:148E BC 07 03 + lda $0301,x ; CPU:$9491 PRG:1491 BD 01 03 + asl a ; CPU:$9494 PRG:1494 0A + and #$0F ; CPU:$9495 PRG:1495 29 0F + cmp #$06 ; CPU:$9497 PRG:1497 C9 06 + bcs NmiHandler_Loop179 ; CPU:$9499 PRG:1499 B0 19 + lda $0302,x ; CPU:$949B PRG:149B BD 02 03 + cmp #$01 ; CPU:$949E PRG:149E C9 01 + beq NmiHandler_Loop180 ; CPU:$94A0 PRG:14A0 F0 28 + sec ; CPU:$94A2 PRG:14A2 38 + lda $0303,x ; CPU:$94A3 PRG:14A3 BD 03 03 + sbc $9520,y ; CPU:$94A6 PRG:14A6 F9 20 95 + sta $0303,x ; CPU:$94A9 PRG:14A9 9D 03 03 + bcs NmiHandler_Loop180 ; CPU:$94AC PRG:14AC B0 1C + dec $0302,x ; CPU:$94AE PRG:14AE DE 02 03 + jmp NmiHandler_Loop180 ; CPU:$94B1 PRG:14B1 4C CA 94 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop179 +; Global: Branch target inside NmiHandler: taken when Loop179. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop179: + lda $0302,x ; CPU:$94B4 PRG:14B4 BD 02 03 + cmp #$0E ; CPU:$94B7 PRG:14B7 C9 0E + beq NmiHandler_Loop180 ; CPU:$94B9 PRG:14B9 F0 0F + clc ; CPU:$94BB PRG:14BB 18 + lda $9520,y ; CPU:$94BC PRG:14BC B9 20 95 + adc $0303,x ; CPU:$94BF PRG:14BF 7D 03 03 + sta $0303,x ; CPU:$94C2 PRG:14C2 9D 03 03 + bcc NmiHandler_Loop180 ; CPU:$94C5 PRG:14C5 90 03 + inc $0302,x ; CPU:$94C7 PRG:14C7 FE 02 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop180 +; Global: Branch target inside NmiHandler: taken when Loop180. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop180: + lda $0301,x ; CPU:$94CA PRG:14CA BD 01 03 + and #$0F ; CPU:$94CD PRG:14CD 29 0F + cmp #$06 ; CPU:$94CF PRG:14CF C9 06 + bcs NmiHandler_Loop181 ; CPU:$94D1 PRG:14D1 B0 19 + lda $0304,x ; CPU:$94D3 PRG:14D3 BD 04 03 + cmp #$1D ; CPU:$94D6 PRG:14D6 C9 1D + beq NmiHandler_Loop182 ; CPU:$94D8 PRG:14D8 F0 28 + clc ; CPU:$94DA PRG:14DA 18 + lda $9521,y ; CPU:$94DB PRG:14DB B9 21 95 + adc $0305,x ; CPU:$94DE PRG:14DE 7D 05 03 + sta $0305,x ; CPU:$94E1 PRG:14E1 9D 05 03 + bcc NmiHandler_Loop182 ; CPU:$94E4 PRG:14E4 90 1C + inc $0304,x ; CPU:$94E6 PRG:14E6 FE 04 03 + jmp NmiHandler_Loop182 ; CPU:$94E9 PRG:14E9 4C 02 95 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop181 +; Global: Branch target inside NmiHandler: taken when Loop181. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop181: + lda $0304,x ; CPU:$94EC PRG:14EC BD 04 03 + cmp #$02 ; CPU:$94EF PRG:14EF C9 02 + beq NmiHandler_Loop182 ; CPU:$94F1 PRG:14F1 F0 0F + sec ; CPU:$94F3 PRG:14F3 38 + lda $0305,x ; CPU:$94F4 PRG:14F4 BD 05 03 + sbc $9521,y ; CPU:$94F7 PRG:14F7 F9 21 95 + sta $0305,x ; CPU:$94FA PRG:14FA 9D 05 03 + bcs NmiHandler_Loop182 ; CPU:$94FD PRG:14FD B0 03 + dec $0304,x ; CPU:$94FF PRG:14FF DE 04 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop182 +; Global: Branch target inside NmiHandler: taken when Loop182. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop182: + rts ; CPU:$9502 PRG:1502 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9503 +; Global: Branch target inside Label: taken when 9503. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9503: + ldy #$03 ; CPU:$9503 PRG:1503 A0 03 + bne NmiHandler_OnNonzero32 ; CPU:$9505 PRG:1505 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_9507 +; Global: Branch target inside Sub: taken when 9507. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9507: + ldy #$04 ; CPU:$9507 PRG:1507 A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero32 +; Global: Branch target inside NmiHandler: taken when OnNonzero32. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero32: + asl VramWritePtrLo ; CPU:$9509 PRG:1509 06 00 + rol a ; CPU:$950B PRG:150B 2A + dey ; CPU:$950C PRG:150C 88 + bne NmiHandler_OnNonzero32 ; CPU:$950D PRG:150D D0 FA + rts ; CPU:$950F PRG:150F 60 +; ---- data $9510-$97EB (732 bytes) ---- +; referenced by `lda $9510,y` at $913E (operand $9510 falls inside this region) +; referenced by `lda $959A,y` at $915E (operand $959A falls inside this region) +; referenced by `lda $95A2,y` at $9178 (operand $95A2 falls inside this region) +; referenced by `lda $95AA,y` at $9197 (operand $95AA falls inside this region) +; referenced by `lda $95AB,y` at $91A1 (operand $95AB falls inside this region) +; referenced by `lda $95AA,y` at $91DC (operand $95AA falls inside this region) +; ... and 12 further references from decoded code + .byte $00, $83, $87, $00, $85, $84, $86, $00, $81, $82, $88, $00, $00, $00, $00, $00 ; CPU:$9510 PRG:1510 00 83 87 00 85 84 86 00 81 82 88 00 00 00 00 00 + .byte $08, $00, $06, $06, $00, $08, $06, $06, $08, $00, $06, $06, $00, $08, $06, $06 ; CPU:$9520 PRG:1520 08 00 06 06 00 08 06 06 08 00 06 06 00 08 06 06 + .byte $0C, $00, $08, $08, $00, $0C, $08, $08, $0C, $00, $08, $08, $00, $0C, $08, $08 ; CPU:$9530 PRG:1530 0C 00 08 08 00 0C 08 08 0C 00 08 08 00 0C 08 08 + .byte $10, $00, $0A, $0A, $00, $10, $0A, $0A, $10, $00, $0A, $0A, $00, $10, $0A, $0A ; CPU:$9540 PRG:1540 10 00 0A 0A 00 10 0A 0A 10 00 0A 0A 00 10 0A 0A + .byte $14, $00, $0D, $0D, $00, $14, $0D, $0D, $14, $00, $0D, $0D, $00, $14, $0D, $0D ; CPU:$9550 PRG:1550 14 00 0D 0D 00 14 0D 0D 14 00 0D 0D 00 14 0D 0D + .byte $18, $00, $10, $10, $00, $18, $10, $10, $18, $00, $10, $10, $00, $18, $10, $10 ; CPU:$9560 PRG:1560 18 00 10 10 00 18 10 10 18 00 10 10 00 18 10 10 + .byte $14, $00, $10, $10, $00, $14, $10, $10, $14, $00, $10, $10, $00, $14, $10, $10 ; CPU:$9570 PRG:1570 14 00 10 10 00 14 10 10 14 00 10 10 00 14 10 10 + .byte $14, $00, $1C, $00, $00, $14, $00, $1C, $00, $00, $18, $00, $13, $13, $00, $18 ; CPU:$9580 PRG:1580 14 00 1C 00 00 14 00 1C 00 00 18 00 13 13 00 18 + .byte $13, $13, $18, $00, $13, $13, $00, $18, $13, $13, $00, $07, $0D, $13, $19, $13 ; CPU:$9590 PRG:1590 13 13 18 00 13 13 00 18 13 13 00 07 0D 13 19 13 + .byte $0D, $07, $40, $47, $4D, $53, $59, $53, $4D, $47, $00, $01, $02, $5D, $FF, $02 ; CPU:$95A0 PRG:15A0 0D 07 40 47 4D 53 59 53 4D 47 00 01 02 5D FF 02 + .byte $00, $05, $03, $04, $FF, $02, $07, $08, $06, $07, $FF, $02, $0D, $0B, $09, $0A ; CPU:$95B0 PRG:15B0 00 05 03 04 FF 02 07 08 06 07 FF 02 0D 0B 09 0A + .byte $FF, $02, $13, $0C, $0D, $0E, $0F, $FF, $02, $19, $50, $51, $52, $35, $FF, $02 ; CPU:$95C0 PRG:15C0 FF 02 13 0C 0D 0E 0F FF 02 19 50 51 52 35 FF 02 + .byte $20, $49, $47, $48, $FF, $02, $27, $4C, $4A, $4B, $FF, $02, $2D, $4F, $4D, $4E ; CPU:$95D0 PRG:15D0 20 49 47 48 FF 02 27 4C 4A 4B FF 02 2D 4F 4D 4E + .byte $FF, $02, $33, $44, $45, $46, $5C, $FF, $02, $39, $24, $25, $26, $5F, $FF, $02 ; CPU:$95E0 PRG:15E0 FF 02 33 44 45 46 5C FF 02 39 24 25 26 5F FF 02 + .byte $40, $29, $27, $28, $FF, $02, $47, $2C, $2A, $2B, $FF, $02, $4D, $2F, $2D, $2E ; CPU:$95F0 PRG:15F0 40 29 27 28 FF 02 47 2C 2A 2B FF 02 4D 2F 2D 2E + .byte $FF, $02, $53, $30, $31, $32, $5E, $FF, $02, $59, $82, $89, $84, $FF, $02, $60 ; CPU:$9600 PRG:1600 FF 02 53 30 31 32 5E FF 02 59 82 89 84 FF 02 60 + .byte $83, $86, $85, $FF, $02, $66, $70, $6E, $70, $72, $FF, $02, $6C, $8B, $6F, $71 ; CPU:$9610 PRG:1610 83 86 85 FF 02 66 70 6E 70 72 FF 02 6C 8B 6F 71 + .byte $73, $FF, $02, $73, $68, $6A, $6C, $6A, $FF, $02, $7A, $69, $6B, $6D, $8A, $FF ; CPU:$9620 PRG:1620 73 FF 02 73 68 6A 6C 6A FF 02 7A 69 6B 6D 8A FF + .byte $02, $81, $88, $7B, $88, $7B, $FF, $02, $88, $7D, $7E, $7F, $7C, $FF, $02, $8F ; CPU:$9630 PRG:1630 02 81 88 7B 88 7B FF 02 88 7D 7E 7F 7C FF 02 8F + .byte $74, $87, $74, $87, $FF, $02, $96, $75, $76, $77, $8D, $FF, $02, $9D, $00, $09 ; CPU:$9640 PRG:1640 74 87 74 87 FF 02 96 75 76 77 8D FF 02 9D 00 09 + .byte $12, $1B, $24, $1B, $12, $09, $02, $10, $FE, $11, $11, $11, $10, $01, $FF, $03 ; CPU:$9650 PRG:1650 12 1B 24 1B 12 09 02 10 FE 11 11 11 10 01 FF 03 + .byte $12, $FE, $13, $13, $13, $12, $04, $FF, $06, $14, $FE, $15, $15, $15, $14, $07 ; CPU:$9660 PRG:1660 12 FE 13 13 13 12 04 FF 06 14 FE 15 15 15 14 07 + .byte $FF, $0B, $16, $FE, $17, $17, $17, $16, $0A, $FF, $0C, $18, $FE, $19, $19, $19 ; CPU:$9670 PRG:1670 FF 0B 16 FE 17 17 17 16 0A FF 0C 18 FE 19 19 19 + .byte $18, $0D, $FF, $00, $0A, $14, $1E, $28, $32, $3C, $46, $1A, $01, $01, $00, $AA ; CPU:$9680 PRG:1680 18 0D FF 00 0A 14 1E 28 32 3C 46 1A 01 01 00 AA + .byte $1B, $1B, $1B, $1A, $BB, $1C, $00, $01, $00, $AA, $1D, $1D, $1D, $1C, $BB, $1E ; CPU:$9690 PRG:1690 1B 1B 1B 1A BB 1C 00 01 00 AA 1D 1D 1D 1C BB 1E + .byte $01, $01, $00, $AA, $1E, $1F, $1F, $1E, $BB, $20, $81, $00, $00, $AA, $21, $21 ; CPU:$96A0 PRG:16A0 01 01 00 AA 1E 1F 1F 1E BB 20 81 00 00 AA 21 21 + .byte $21, $20, $BB, $22, $01, $01, $00, $AA, $23, $23, $23, $22, $BB, $20, $01, $00 ; CPU:$96B0 PRG:16B0 21 20 BB 22 01 01 00 AA 23 23 23 22 BB 20 01 00 + .byte $00, $AA, $21, $21, $21, $20, $BB, $1E, $82, $01, $00, $AA, $1E, $1F, $1F, $1E ; CPU:$96C0 PRG:16C0 00 AA 21 21 21 20 BB 1E 82 01 00 AA 1E 1F 1F 1E + .byte $BB, $1C, $00, $01, $00, $AA, $1D, $1D, $1D, $1C, $BB, $00, $0A, $14, $1E, $28 ; CPU:$96D0 PRG:16D0 BB 1C 00 01 00 AA 1D 1D 1D 1C BB 00 0A 14 1E 28 + .byte $1E, $14, $0A, $00, $58, $58, $58, $58, $58, $58, $58, $01, $FF, $04, $56, $56 ; CPU:$96E0 PRG:16E0 1E 14 0A 00 58 58 58 58 58 58 58 01 FF 04 56 56 + .byte $56, $56, $56, $56, $56, $04, $FF, $07, $54, $54, $54, $54, $54, $54, $54, $07 ; CPU:$96F0 PRG:16F0 56 56 56 56 56 04 FF 07 54 54 54 54 54 54 54 07 + .byte $FF, $0A, $55, $55, $55, $55, $55, $55, $55, $0A, $FF, $0C, $57, $57, $57, $57 ; CPU:$9700 PRG:1700 FF 0A 55 55 55 55 55 55 55 0A FF 0C 57 57 57 57 + .byte $57, $57, $57, $0D, $FF, $20, $BF, $86, $20, $4A, $84, $20, $AD, $86, $20, $8F ; CPU:$9710 PRG:1710 57 57 57 0D FF 20 BF 86 20 4A 84 20 AD 86 20 8F + .byte $83, $20, $AD, $86, $A9, $03, $85, $23, $A2, $1F, $A0, $9A, $20, $D5, $86, $20 ; CPU:$9720 PRG:1720 83 20 AD 86 A9 03 85 23 A2 1F A0 9A 20 D5 86 20 + .byte $AD, $86, $A2, $10, $A0, $00, $20, $FA, $98, $A2, $80, $A0, $2F, $20, $FA, $98 ; CPU:$9730 PRG:1730 AD 86 A2 10 A0 00 20 FA 98 A2 80 A0 2F 20 FA 98 + .byte $A2, $B0, $A0, $40, $20, $FA, $98, $A5, $60, $D0, $16, $A9, $00, $85, $61, $A9 ; CPU:$9740 PRG:1740 A2 B0 A0 40 20 FA 98 A5 60 D0 16 A9 00 85 61 A9 + .byte $00, $85, $62, $A9, $00, $85, $63, $A0, $06, $A5, $47, $D0, $02, $A0, $FF, $84 ; CPU:$9750 PRG:1750 00 85 62 A9 00 85 63 A0 06 A5 47 D0 02 A0 FF 84 + .byte $64, $A5, $47, $F0, $10, $A5, $64, $C9, $FF, $D0, $0E, $A9, $06, $C5, $63, $D0 ; CPU:$9760 PRG:1760 64 A5 47 F0 10 A5 64 C9 FF D0 0E A9 06 C5 63 D0 + .byte $06, $A9, $05, $D0, $02, $A9, $FF, $85, $64, $A2, $30, $A0, $05, $20, $FA, $98 ; CPU:$9770 PRG:1770 06 A9 05 D0 02 A9 FF 85 64 A2 30 A0 05 20 FA 98 + .byte $A2, $00, $A0, $01, $20, $9E, $99, $A5, $47, $F0, $0E, $A2, $50, $A0, $1A, $20 ; CPU:$9780 PRG:1780 A2 00 A0 01 20 9E 99 A5 47 F0 0E A2 50 A0 1A 20 + .byte $FA, $98, $A2, $01, $A0, $00, $20, $9E, $99, $A0, $01, $84, $60, $8C, $00, $05 ; CPU:$9790 PRG:1790 FA 98 A2 01 A0 00 20 9E 99 A0 01 84 60 8C 00 05 + .byte $88, $8C, $01, $05, $8C, $02, $05, $8C, $03, $05, $8C, $04, $05, $A9, $0F, $8D ; CPU:$97A0 PRG:17A0 88 8C 01 05 8C 02 05 8C 03 05 8C 04 05 A9 0F 8D + .byte $73, $05, $20, $B5, $98, $E6, $25, $20, $82, $87, $4C, $CC, $86, $A0, $0C, $CE ; CPU:$97B0 PRG:17B0 73 05 20 B5 98 E6 25 20 82 87 4C CC 86 A0 0C CE + .byte $73, $05, $D0, $05, $A9, $0F, $8D, $73, $05, $AD, $73, $05, $C9, $04, $B0, $02 ; CPU:$97C0 PRG:17C0 73 05 D0 05 A9 0F 8D 73 05 AD 73 05 C9 04 B0 02 + .byte $A0, $00, $8C, $13, $02, $A5, $16, $29, $10, $F0, $38, $AD, $00, $05, $D0, $36 ; CPU:$97D0 PRG:17D0 A0 00 8C 13 02 A5 16 29 10 F0 38 AD 00 05 D0 36 + .byte $A5, $47, $D0, $25, $20, $7E, $86, $29, $0F, $AA, $A0, $00 ; CPU:$97E0 PRG:17E0 A5 47 D0 25 20 7E 86 29 0F AA A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero7 +; Global: Branch target inside NmiHandler: taken when OnZero7. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero7: + iny ; CPU:$97EC PRG:17EC C8 + cpy #$07 ; CPU:$97ED PRG:17ED C0 07 + bne NmiHandler_Loop183 ; CPU:$97EF PRG:17EF D0 02 + ldy #$00 ; CPU:$97F1 PRG:17F1 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop183 +; Global: Branch target inside NmiHandler: taken when Loop183. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop183: + cpx #$00 ; CPU:$97F3 PRG:17F3 E0 00 + beq NmiHandler_Loop184 ; CPU:$97F5 PRG:17F5 F0 04 + dex ; CPU:$97F7 PRG:17F7 CA + jmp NmiHandler_OnZero7 ; CPU:$97F8 PRG:17F8 4C EC 97 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop184 +; Global: Branch target inside NmiHandler: taken when Loop184. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop184: + cpy Zp63 ; CPU:$97FB PRG:17FB C4 63 + beq NmiHandler_OnZero7 ; CPU:$97FD PRG:17FD F0 ED + sty Zp64 ; CPU:$97FF PRG:17FF 84 64 + tya ; CPU:$9801 PRG:1801 98 + ldx #$01 ; CPU:$9802 PRG:1802 A2 01 + stx VramReadPtrLo ; CPU:$9804 PRG:1804 86 0C + jsr Sub_99C7 ; CPU:$9806 PRG:1806 20 C7 99 + inc FrameCounter2 ; CPU:$9809 PRG:1809 E6 25 + lda #$00 ; CPU:$980B PRG:180B A9 00 + sta $0573 ; CPU:$980D PRG:180D 8D 73 05 + jmp Sub_8744 ; CPU:$9810 PRG:1810 4C 44 87 +; ----------------------------------------------------------------------------- +; Routine: Label_9813 +; Global: Branch target inside Label: taken when 9813. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9813: + sta $0500 ; CPU:$9813 PRG:1813 8D 00 05 + lda Zp60 ; CPU:$9816 PRG:1816 A5 60 + cmp #$01 ; CPU:$9818 PRG:1818 C9 01 + bne NmiHandler_Loop185 ; CPU:$981A PRG:181A D0 16 + lda Zp16 ; CPU:$981C PRG:181C A5 16 + ldx #$00 ; CPU:$981E PRG:181E A2 00 + ldy #$01 ; CPU:$9820 PRG:1820 A0 01 + jsr Sub_9963 ; CPU:$9822 PRG:1822 20 63 99 + lda Zp47 ; CPU:$9825 PRG:1825 A5 47 + beq NmiHandler_Loop185 ; CPU:$9827 PRG:1827 F0 09 + lda Zp17 ; CPU:$9829 PRG:1829 A5 17 + ldx #$01 ; CPU:$982B PRG:182B A2 01 + ldy #$00 ; CPU:$982D PRG:182D A0 00 + jsr Sub_9963 ; CPU:$982F PRG:182F 20 63 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop185 +; Global: Branch target inside NmiHandler: taken when Loop185. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop185: + lda Zp16 ; CPU:$9832 PRG:1832 A5 16 + and #$0C ; CPU:$9834 PRG:1834 29 0C + beq NmiHandler_Loop187 ; CPU:$9836 PRG:1836 F0 20 + ldy $0501 ; CPU:$9838 PRG:1838 AC 01 05 + bne NmiHandler_Loop188 ; CPU:$983B PRG:183B D0 1E + inc $0501 ; CPU:$983D PRG:183D EE 01 05 + cmp #$08 ; CPU:$9840 PRG:1840 C9 08 + bne NmiHandler_Loop186 ; CPU:$9842 PRG:1842 D0 0B + ldy Zp60 ; CPU:$9844 PRG:1844 A4 60 + dey ; CPU:$9846 PRG:1846 88 + bne NmiHandler_OnNonzero33 ; CPU:$9847 PRG:1847 D0 01 + iny ; CPU:$9849 PRG:1849 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero33 +; Global: Branch target inside NmiHandler: taken when OnNonzero33. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero33: + sty Zp60 ; CPU:$984A PRG:184A 84 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero8 +; Global: Branch target inside NmiHandler: taken when OnZero8. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero8: + jmp NmiHandler_Loop196 ; CPU:$984C PRG:184C 4C B5 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop186 +; Global: Branch target inside NmiHandler: taken when Loop186. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop186: + ldy Zp60 ; CPU:$984F PRG:184F A4 60 + iny ; CPU:$9851 PRG:1851 C8 + cpy #$04 ; CPU:$9852 PRG:1852 C0 04 + beq NmiHandler_OnZero8 ; CPU:$9854 PRG:1854 F0 F6 + bne NmiHandler_OnNonzero33 ; CPU:$9856 PRG:1856 D0 F2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop187 +; Global: Branch target inside NmiHandler: taken when Loop187. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop187: + sta $0501 ; CPU:$9858 PRG:1858 8D 01 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop188 +; Global: Branch target inside NmiHandler: taken when Loop188. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop188: + lda Zp16 ; CPU:$985B PRG:185B A5 16 + and #$03 ; CPU:$985D PRG:185D 29 03 + bne NmiHandler_Loop189 ; CPU:$985F PRG:185F D0 06 + sta $0502 ; CPU:$9861 PRG:1861 8D 02 05 + jmp NmiHandler_Loop196 ; CPU:$9864 PRG:1864 4C B5 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop189 +; Global: Branch target inside NmiHandler: taken when Loop189. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop189: + ldy $0502 ; CPU:$9867 PRG:1867 AC 02 05 + bne NmiHandler_Loop196 ; CPU:$986A PRG:186A D0 49 + inc $0502 ; CPU:$986C PRG:186C EE 02 05 + ldy #$00 ; CPU:$986F PRG:186F A0 00 + cmp #$01 ; CPU:$9871 PRG:1871 C9 01 + beq NmiHandler_Loop190 ; CPU:$9873 PRG:1873 F0 01 + iny ; CPU:$9875 PRG:1875 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop190 +; Global: Branch target inside NmiHandler: taken when Loop190. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop190: + lda Zp60 ; CPU:$9876 PRG:1876 A5 60 + cmp #$01 ; CPU:$9878 PRG:1878 C9 01 + beq NmiHandler_Loop196 ; CPU:$987A PRG:187A F0 39 + cmp #$02 ; CPU:$987C PRG:187C C9 02 + bne NmiHandler_Loop193 ; CPU:$987E PRG:187E D0 1C + ldx Zp61 ; CPU:$9880 PRG:1880 A6 61 + dex ; CPU:$9882 PRG:1882 CA + cpy #$01 ; CPU:$9883 PRG:1883 C0 01 + beq NmiHandler_Loop191 ; CPU:$9885 PRG:1885 F0 02 + inx ; CPU:$9887 PRG:1887 E8 + inx ; CPU:$9888 PRG:1888 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop191 +; Global: Branch target inside NmiHandler: taken when Loop191. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop191: + ldy #$00 ; CPU:$9889 PRG:1889 A0 00 + cpx #$FF ; CPU:$988B PRG:188B E0 FF + beq NmiHandler_Loop192 ; CPU:$988D PRG:188D F0 08 + ldy #$04 ; CPU:$988F PRG:188F A0 04 + cpx #$05 ; CPU:$9891 PRG:1891 E0 05 + beq NmiHandler_Loop192 ; CPU:$9893 PRG:1893 F0 02 + txa ; CPU:$9895 PRG:1895 8A + tay ; CPU:$9896 PRG:1896 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop192 +; Global: Branch target inside NmiHandler: taken when Loop192. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop192: + sty Zp61 ; CPU:$9897 PRG:1897 84 61 + jmp NmiHandler_Loop196 ; CPU:$9899 PRG:1899 4C B5 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop193 +; Global: Branch target inside NmiHandler: taken when Loop193. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop193: + ldx Zp62 ; CPU:$989C PRG:189C A6 62 + dex ; CPU:$989E PRG:189E CA + cpy #$01 ; CPU:$989F PRG:189F C0 01 + beq NmiHandler_Loop194 ; CPU:$98A1 PRG:18A1 F0 02 + inx ; CPU:$98A3 PRG:18A3 E8 + inx ; CPU:$98A4 PRG:18A4 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop194 +; Global: Branch target inside NmiHandler: taken when Loop194. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop194: + ldy #$00 ; CPU:$98A5 PRG:18A5 A0 00 + cpx #$FF ; CPU:$98A7 PRG:18A7 E0 FF + beq NmiHandler_Loop195 ; CPU:$98A9 PRG:18A9 F0 08 + ldy #$02 ; CPU:$98AB PRG:18AB A0 02 + cpx #$03 ; CPU:$98AD PRG:18AD E0 03 + beq NmiHandler_Loop195 ; CPU:$98AF PRG:18AF F0 02 + txa ; CPU:$98B1 PRG:18B1 8A + tay ; CPU:$98B2 PRG:18B2 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop195 +; Global: Branch target inside NmiHandler: taken when Loop195. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop195: + sty Zp62 ; CPU:$98B3 PRG:18B3 84 62 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop196 +; Global: Branch target inside NmiHandler: taken when Loop196. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop196: + ldy Zp60 ; CPU:$98B5 PRG:18B5 A4 60 + lda $98EE,y ; CPU:$98B7 PRG:18B7 B9 EE 98 + sta $0210 ; CPU:$98BA PRG:18BA 8D 10 02 + ldy Zp61 ; CPU:$98BD PRG:18BD A4 61 + lda $98F2,y ; CPU:$98BF PRG:18BF B9 F2 98 + sta $0283 ; CPU:$98C2 PRG:18C2 8D 83 02 + sta $028B ; CPU:$98C5 PRG:18C5 8D 8B 02 + clc ; CPU:$98C8 PRG:18C8 18 + adc #$05 ; CPU:$98C9 PRG:18C9 69 05 + sta $0287 ; CPU:$98CB PRG:18CB 8D 87 02 + sta $028F ; CPU:$98CE PRG:18CE 8D 8F 02 + ldy Zp62 ; CPU:$98D1 PRG:18D1 A4 62 + lda $98F7,y ; CPU:$98D3 PRG:18D3 B9 F7 98 + sta $02B3 ; CPU:$98D6 PRG:18D6 8D B3 02 + sta $02BF ; CPU:$98D9 PRG:18D9 8D BF 02 + clc ; CPU:$98DC PRG:18DC 18 + adc #$07 ; CPU:$98DD PRG:18DD 69 07 + sta $02B7 ; CPU:$98DF PRG:18DF 8D B7 02 + sta $02C3 ; CPU:$98E2 PRG:18E2 8D C3 02 + clc ; CPU:$98E5 PRG:18E5 18 + adc #$06 ; CPU:$98E6 PRG:18E6 69 06 + sta $02BB ; CPU:$98E8 PRG:18E8 8D BB 02 + sta $02C7 ; CPU:$98EB PRG:18EB 8D C7 02 + rts ; CPU:$98EE PRG:18EE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_98EF +; Global: Branch target inside Label: taken when 98EF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_98EF: + lsr $B696 ; CPU:$98EF PRG:18EF 4E 96 B6 + sta $AD9D ; CPU:$98F2 PRG:18F2 8D 9D AD + lda $8DCD,x ; CPU:$98F5 PRG:18F5 BD CD 8D +; ----------------------------------------------------------------------------- +; Routine: Label_98F8 +; Global: Branch target inside Label: taken when 98F8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_98F8: + lda $B9CD ; CPU:$98F8 PRG:18F8 AD CD B9 + asl a ; CPU:$98FB PRG:18FB 0A + sta $AAC9,y ; CPU:$98FC PRG:18FC 99 C9 AA + beq NmiHandler_Loop197 ; CPU:$98FF PRG:18FF F0 08 + sta $0200,x ; CPU:$9901 PRG:1901 9D 00 02 + iny ; CPU:$9904 PRG:1904 C8 + inx ; CPU:$9905 PRG:1905 E8 + jmp $98FA ; CPU:$9906 PRG:1906 4C FA 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop197 +; Global: Branch target inside NmiHandler: taken when Loop197. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop197: + rts ; CPU:$9909 PRG:1909 60 +; ---- data $990A-$9962 (89 bytes) ---- +; referenced by `lda $990A,y` at $98FA (operand $990A falls inside this region) + .byte $4E, $FE, $42, $0C, $AA, $58, $23, $00, $1C, $60, $AF, $40, $18, $60, $AF, $00 ; CPU:$990A PRG:190A 4E FE 42 0C AA 58 23 00 1C 60 AF 40 18 60 AF 00 + .byte $20, $68, $AD, $00, $1C, $64, $FC, $03, $28, $AA, $58, $23, $01, $DC, $60, $AF ; CPU:$991A PRG:191A 20 68 AD 00 1C 64 FC 03 28 AA 58 23 01 DC 60 AF + .byte $41, $D8, $60, $AF, $01, $E0, $68, $AD, $01, $DC, $64, $FD, $03, $E8, $AA, $94 ; CPU:$992A PRG:192A 41 D8 60 AF 01 E0 68 AD 01 DC 64 FD 03 E8 AA 94 + .byte $FB, $03, $00, $94, $FB, $43, $00, $99, $FB, $83, $00, $99, $FB, $C3, $00, $AA ; CPU:$993A PRG:193A FB 03 00 94 FB 43 00 99 FB 83 00 99 FB C3 00 AA + .byte $B4, $FB, $03, $00, $B4, $FF, $03, $00, $B4, $FB, $43, $00, $B9, $FB, $83, $00 ; CPU:$994A PRG:194A B4 FB 03 00 B4 FF 03 00 B4 FB 43 00 B9 FB 83 00 + .byte $B9, $FF, $83, $00, $B9, $FB, $C3, $00, $AA ; CPU:$995A PRG:195A B9 FF 83 00 B9 FB C3 00 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_9963 +; Global: Branch target inside Sub: taken when 9963. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9963: + and #$03 ; CPU:$9963 PRG:1963 29 03 + bne NmiHandler_Loop198 ; CPU:$9965 PRG:1965 D0 04 + sta $0503,x ; CPU:$9967 PRG:1967 9D 03 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero34 +; Global: Branch target inside NmiHandler: taken when OnNonzero34. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero34: + rts ; CPU:$996A PRG:196A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop198 +; Global: Branch target inside NmiHandler: taken when Loop198. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop198: + sta VramReadPtrLo ; CPU:$996B PRG:196B 85 0C + lda $0503,x ; CPU:$996D PRG:196D BD 03 05 + bne NmiHandler_OnNonzero34 ; CPU:$9970 PRG:1970 D0 F8 + inc $0503,x ; CPU:$9972 PRG:1972 FE 03 05 + lda VramReadPtrLo ; CPU:$9975 PRG:1975 A5 0C + cmp #$01 ; CPU:$9977 PRG:1977 C9 01 + bne NmiHandler_OnZero10 ; CPU:$9979 PRG:1979 D0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero9 +; Global: Branch target inside NmiHandler: taken when OnZero9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero9: + inc Zp63,x ; CPU:$997B PRG:197B F6 63 + lda Zp63,x ; CPU:$997D PRG:197D B5 63 + cmp #$07 ; CPU:$997F PRG:197F C9 07 + bne NmiHandler_Loop199 ; CPU:$9981 PRG:1981 D0 04 + lda #$00 ; CPU:$9983 PRG:1983 A9 00 + sta Zp63,x ; CPU:$9985 PRG:1985 95 63 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop199 +; Global: Branch target inside NmiHandler: taken when Loop199. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop199: + cmp a:Zp63,y ; CPU:$9987 PRG:1987 D9 63 00 + beq NmiHandler_OnZero9 ; CPU:$998A PRG:198A F0 EF + jmp Sub_999E ; CPU:$998C PRG:198C 4C 9E 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero10 +; Global: Branch target inside NmiHandler: taken when OnZero10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero10: + dec Zp63,x ; CPU:$998F PRG:198F D6 63 + lda Zp63,x ; CPU:$9991 PRG:1991 B5 63 + bpl NmiHandler_Loop200 ; CPU:$9993 PRG:1993 10 04 + lda #$06 ; CPU:$9995 PRG:1995 A9 06 + sta Zp63,x ; CPU:$9997 PRG:1997 95 63 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop200 +; Global: Branch target inside NmiHandler: taken when Loop200. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop200: + cmp a:Zp63,y ; CPU:$9999 PRG:1999 D9 63 00 + beq NmiHandler_OnZero10 ; CPU:$999C PRG:199C F0 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_999E +; Global: Branch target inside Sub: taken when 999E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_999E: + ldy Zp63,x ; CPU:$999E PRG:199E B4 63 + lda $99F9,y ; CPU:$99A0 PRG:19A0 B9 F9 99 + ldy #$30 ; CPU:$99A3 PRG:19A3 A0 30 + cpx #$00 ; CPU:$99A5 PRG:19A5 E0 00 + beq NmiHandler_Loop201 ; CPU:$99A7 PRG:19A7 F0 02 + ldy #$50 ; CPU:$99A9 PRG:19A9 A0 50 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop201 +; Global: Branch target inside NmiHandler: taken when Loop201. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop201: + sta $0207,y ; CPU:$99AB PRG:19AB 99 07 02 + clc ; CPU:$99AE PRG:19AE 18 + adc #$04 ; CPU:$99AF PRG:19AF 69 04 + sta $0203,y ; CPU:$99B1 PRG:19B1 99 03 02 + sta $020F,y ; CPU:$99B4 PRG:19B4 99 0F 02 + clc ; CPU:$99B7 PRG:19B7 18 + adc #$04 ; CPU:$99B8 PRG:19B8 69 04 + sta $020B,y ; CPU:$99BA PRG:19BA 99 0B 02 + clc ; CPU:$99BD PRG:19BD 18 + adc #$08 ; CPU:$99BE PRG:19BE 69 08 + sta $0213,y ; CPU:$99C0 PRG:19C0 99 13 02 + stx VramReadPtrLo ; CPU:$99C3 PRG:19C3 86 0C + lda Zp63,x ; CPU:$99C5 PRG:19C5 B5 63 +; ----------------------------------------------------------------------------- +; Routine: Sub_99C7 +; Global: Branch target inside Sub: taken when 99C7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_99C7: + asl a ; CPU:$99C7 PRG:19C7 0A + asl a ; CPU:$99C8 PRG:19C8 0A + tay ; CPU:$99C9 PRG:19C9 A8 + ldx #$00 ; CPU:$99CA PRG:19CA A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero35 +; Global: Branch target inside NmiHandler: taken when OnNonzero35. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero35: + lda $9A00,y ; CPU:$99CC PRG:19CC B9 00 9A + sta $0703,x ; CPU:$99CF PRG:19CF 9D 03 07 + iny ; CPU:$99D2 PRG:19D2 C8 + inx ; CPU:$99D3 PRG:19D3 E8 + cpx #$04 ; CPU:$99D4 PRG:19D4 E0 04 + bne NmiHandler_OnNonzero35 ; CPU:$99D6 PRG:19D6 D0 F4 + lda #$00 ; CPU:$99D8 PRG:19D8 A9 00 + sta $0703,x ; CPU:$99DA PRG:19DA 9D 03 07 + ldx #$10 ; CPU:$99DD PRG:19DD A2 10 + ldy #$3F ; CPU:$99DF PRG:19DF A0 3F + lda VramReadPtrLo ; CPU:$99E1 PRG:19E1 A5 0C + beq NmiHandler_Loop202 ; CPU:$99E3 PRG:19E3 F0 02 + ldx #$14 ; CPU:$99E5 PRG:19E5 A2 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop202 +; Global: Branch target inside NmiHandler: taken when Loop202. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop202: + sty $0700 ; CPU:$99E7 PRG:19E7 8C 00 07 + stx $0701 ; CPU:$99EA PRG:19EA 8E 01 07 + lda #$04 ; CPU:$99ED PRG:19ED A9 04 + sta $0702 ; CPU:$99EF PRG:19EF 8D 02 07 + lda #$04 ; CPU:$99F2 PRG:19F2 A9 04 + sta Zp23 ; CPU:$99F4 PRG:19F4 85 23 + jmp Sub_86AD ; CPU:$99F6 PRG:19F6 4C AD 86 +; ---- data $99F9-$9B44 (332 bytes) ---- +; referenced by `lda $9A1C,y` at $8B6E (operand $9A1C falls inside this region) +; referenced by `lda $99F9,y` at $99A0 (operand $99F9 falls inside this region) +; referenced by `lda $9A00,y` at $99CC (operand $9A00 falls inside this region) + .byte $18, $38, $58, $78, $98, $B8, $D8, $19, $36, $16, $08, $19, $35, $12, $07, $19 ; CPU:$99F9 PRG:19F9 18 38 58 78 98 B8 D8 19 36 16 08 19 35 12 07 19 + .byte $36, $26, $06, $19, $36, $0F, $06, $19, $17, $38, $0F, $19, $27, $24, $0F, $19 ; CPU:$9A09 PRG:1A09 36 26 06 19 36 0F 06 19 17 38 0F 19 27 24 0F 19 + .byte $26, $3B, $0F, $15, $30, $45, $20, $00, $70, $31, $20, $30, $70, $31, $20, $60 ; CPU:$9A19 PRG:1A19 26 3B 0F 15 30 45 20 00 70 31 20 30 70 31 20 60 + .byte $60, $31, $20, $A0, $60, $72, $23, $80, $60, $31, $23, $A0, $60, $31, $23, $40 ; CPU:$9A29 PRG:1A29 60 31 20 A0 60 72 23 80 60 31 23 A0 60 31 23 40 + .byte $60, $66, $20, $C9, $0E, $BC, $72, $72, $72, $72, $72, $72, $72, $72, $72, $72 ; CPU:$9A39 PRG:1A39 60 66 20 C9 0E BC 72 72 72 72 72 72 72 72 72 72 + .byte $72, $72, $63, $20, $E9, $0E, $BC, $24, $1C, $0E, $15, $0E, $0C, $1D, $12, $18 ; CPU:$9A49 PRG:1A49 72 72 63 20 E9 0E BC 24 1C 0E 15 0E 0C 1D 12 18 + .byte $17, $1C, $24, $63, $21, $09, $0E, $BC, $66, $66, $66, $66, $66, $66, $66, $66 ; CPU:$9A59 PRG:1A59 17 1C 24 63 21 09 0E BC 66 66 66 66 66 66 66 66 + .byte $66, $66, $66, $66, $63, $21, $43, $0B, $1D, $0E, $0A, $16, $24, $1C, $0E, $15 ; CPU:$9A69 PRG:1A69 66 66 66 66 63 21 43 0B 1D 0E 0A 16 24 1C 0E 15 + .byte $0E, $0C, $1D, $21, $C3, $1B, $1E, $1C, $0A, $24, $10, $0B, $1B, $24, $0F, $1B ; CPU:$9A79 PRG:1A79 0E 0C 1D 21 C3 1B 1E 1C 0A 24 10 0B 1B 24 0F 1B + .byte $0A, $24, $0F, $1B, $10, $24, $0B, $1B, $0A, $24, $13, $19, $17, $24, $0E, $1C ; CPU:$9A89 PRG:1A89 0A 24 0F 1B 10 24 0B 1B 0A 24 13 19 17 24 0E 1C + .byte $19, $22, $63, $0B, $1C, $14, $12, $15, $15, $24, $15, $0E, $1F, $0E, $15, $22 ; CPU:$9A99 PRG:1A99 19 22 63 0B 1C 14 12 15 15 24 15 0E 1F 0E 15 22 + .byte $72, $09, $01, $24, $02, $24, $03, $24, $04, $24, $05, $22, $E3, $09, $11, $0A ; CPU:$9AA9 PRG:1AA9 72 09 01 24 02 24 03 24 04 24 05 22 E3 09 11 0A + .byte $15, $0F, $24, $1D, $12, $16, $0E, $22, $F2, $0A, $01, $05, $24, $24, $03, $00 ; CPU:$9AB9 PRG:1AB9 15 0F 24 1D 12 16 0E 22 F2 0A 01 05 24 24 03 00 + .byte $24, $24, $04, $05, $23, $C0, $48, $FF, $23, $C8, $48, $5F, $23, $D0, $48, $A5 ; CPU:$9AC9 PRG:1AC9 24 24 04 05 23 C0 48 FF 23 C8 48 5F 23 D0 48 A5 + .byte $23, $E0, $10, $AA, $AA, $AA, $AA, $00, $00, $00, $00, $AA, $AA, $AA, $AA, $00 ; CPU:$9AD9 PRG:1AD9 23 E0 10 AA AA AA AA 00 00 00 00 AA AA AA AA 00 + .byte $00, $00, $00, $23, $F0, $48, $F5, $23, $F8, $48, $FF, $00, $20, $20, $20, $20 ; CPU:$9AE9 PRG:1AE9 00 00 00 23 F0 48 F5 23 F8 48 FF 00 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52 ; CPU:$9AF9 PRG:1AF9 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 52 + .byte $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B09 PRG:1B09 45 41 54 45 20 42 59 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B19 PRG:1B19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B29 PRG:1B29 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9B39 PRG:1B39 20 20 20 20 20 20 20 20 20 20 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_9B45 +; Global: Branch target inside Sub: taken when 9B45. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9B45: + lda Zp47 ; CPU:$9B45 PRG:1B45 A5 47 + beq NmiHandler_Loop203 ; CPU:$9B47 PRG:1B47 F0 01 + rts ; CPU:$9B49 PRG:1B49 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop203 +; Global: Branch target inside NmiHandler: taken when Loop203. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop203: + lda $06E7 ; CPU:$9B4A PRG:1B4A AD E7 06 + cmp #$06 ; CPU:$9B4D PRG:1B4D C9 06 + beq NmiHandler_Loop204 ; CPU:$9B4F PRG:1B4F F0 09 + lda #$00 ; CPU:$9B51 PRG:1B51 A9 00 + sta $0510 ; CPU:$9B53 PRG:1B53 8D 10 05 + sta $0511 ; CPU:$9B56 PRG:1B56 8D 11 05 + rts ; CPU:$9B59 PRG:1B59 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop204 +; Global: Branch target inside NmiHandler: taken when Loop204. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop204: + ldx $06C5 ; CPU:$9B5A PRG:1B5A AE C5 06 + stx PlayerIndex ; CPU:$9B5D PRG:1B5D 86 79 + lda $0510 ; CPU:$9B5F PRG:1B5F AD 10 05 + bne NmiHandler_Loop205 ; CPU:$9B62 PRG:1B62 D0 06 + jsr Sub_9D3D ; CPU:$9B64 PRG:1B64 20 3D 9D + jmp Sub_9BAD ; CPU:$9B67 PRG:1B67 4C AD 9B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop205 +; Global: Branch target inside NmiHandler: taken when Loop205. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop205: + lda #$00 ; CPU:$9B6A PRG:1B6A A9 00 + sta $0314,x ; CPU:$9B6C PRG:1B6C 9D 14 03 + lda $0515 ; CPU:$9B6F PRG:1B6F AD 15 05 + beq NmiHandler_Loop206 ; CPU:$9B72 PRG:1B72 F0 03 + dec $0515 ; CPU:$9B74 PRG:1B74 CE 15 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop206 +; Global: Branch target inside NmiHandler: taken when Loop206. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop206: + lda $0511 ; CPU:$9B77 PRG:1B77 AD 11 05 + beq NmiHandler_Loop209 ; CPU:$9B7A PRG:1B7A F0 2E + lda $030C,x ; CPU:$9B7C PRG:1B7C BD 0C 03 + and #$40 ; CPU:$9B7F PRG:1B7F 29 40 + beq NmiHandler_Loop209 ; CPU:$9B81 PRG:1B81 F0 27 + lda Zp94 ; CPU:$9B83 PRG:1B83 A5 94 + cmp #$7E ; CPU:$9B85 PRG:1B85 C9 7E + bcc NmiHandler_Loop208 ; CPU:$9B87 PRG:1B87 90 18 + cmp #$FF ; CPU:$9B89 PRG:1B89 C9 FF + beq NmiHandler_Loop208 ; CPU:$9B8B PRG:1B8B F0 14 + jsr Sub_9F6E ; CPU:$9B8D PRG:1B8D 20 6E 9F + bcc NmiHandler_Loop207 ; CPU:$9B90 PRG:1B90 90 09 + lda $0524 ; CPU:$9B92 PRG:1B92 AD 24 05 + beq NmiHandler_Loop208 ; CPU:$9B95 PRG:1B95 F0 0A + dec $0524 ; CPU:$9B97 PRG:1B97 CE 24 05 + rts ; CPU:$9B9A PRG:1B9A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop207 +; Global: Branch target inside NmiHandler: taken when Loop207. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop207: + lda #$05 ; CPU:$9B9B PRG:1B9B A9 05 + sta $0524 ; CPU:$9B9D PRG:1B9D 8D 24 05 + rts ; CPU:$9BA0 PRG:1BA0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop208 +; Global: Branch target inside NmiHandler: taken when Loop208. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop208: + lda #$00 ; CPU:$9BA1 PRG:1BA1 A9 00 + sta $0510 ; CPU:$9BA3 PRG:1BA3 8D 10 05 + sta $0511 ; CPU:$9BA6 PRG:1BA6 8D 11 05 + rts ; CPU:$9BA9 PRG:1BA9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop209 +; Global: Branch target inside NmiHandler: taken when Loop209. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop209: + jsr Sub_9BE2 ; CPU:$9BAA PRG:1BAA 20 E2 9B +; ----------------------------------------------------------------------------- +; Routine: Sub_9BAD +; Global: Branch target inside Sub: taken when 9BAD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BAD: + lda $0512 ; CPU:$9BAD PRG:1BAD AD 12 05 + cmp #$80 ; CPU:$9BB0 PRG:1BB0 C9 80 + beq NmiHandler_Loop210 ; CPU:$9BB2 PRG:1BB2 F0 0A + cmp #$40 ; CPU:$9BB4 PRG:1BB4 C9 40 + beq NmiHandler_Loop210 ; CPU:$9BB6 PRG:1BB6 F0 06 + cmp #$0F ; CPU:$9BB8 PRG:1BB8 C9 0F + bcc NmiHandler_Loop210 ; CPU:$9BBA PRG:1BBA 90 02 + lda #$00 ; CPU:$9BBC PRG:1BBC A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop210 +; Global: Branch target inside NmiHandler: taken when Loop210. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop210: + cmp $0513 ; CPU:$9BBE PRG:1BBE CD 13 05 + beq NmiHandler_Loop211 ; CPU:$9BC1 PRG:1BC1 F0 06 + sta $0513 ; CPU:$9BC3 PRG:1BC3 8D 13 05 + jmp Sub_9BD1 ; CPU:$9BC6 PRG:1BC6 4C D1 9B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop211 +; Global: Branch target inside NmiHandler: taken when Loop211. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop211: + and #$0F ; CPU:$9BC9 PRG:1BC9 29 0F + sta $0512 ; CPU:$9BCB PRG:1BCB 8D 12 05 + sta $0513 ; CPU:$9BCE PRG:1BCE 8D 13 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_9BD1 +; Global: Branch target inside Sub: taken when 9BD1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BD1: + sta Zp17 ; CPU:$9BD1 PRG:1BD1 85 17 + ldx $06C5 ; CPU:$9BD3 PRG:1BD3 AE C5 06 + lda $030F,x ; CPU:$9BD6 PRG:1BD6 BD 0F 03 + and #$01 ; CPU:$9BD9 PRG:1BD9 29 01 + beq NmiHandler_Loop212 ; CPU:$9BDB PRG:1BDB F0 04 + lda #$00 ; CPU:$9BDD PRG:1BDD A9 00 + sta Zp17 ; CPU:$9BDF PRG:1BDF 85 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop212 +; Global: Branch target inside NmiHandler: taken when Loop212. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop212: + rts ; CPU:$9BE1 PRG:1BE1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9BE2 +; Global: Branch target inside Sub: taken when 9BE2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BE2: + lda $0511 ; CPU:$9BE2 PRG:1BE2 AD 11 05 + jsr Sub_84BD ; CPU:$9BE5 PRG:1BE5 20 BD 84 + .byte $F4, $9B ; CPU:$9BE8 PRG:1BE8 F4 9B -- nop Zp9B,x (undocumented; ca65 cannot encode) + ldx $1586,y ; CPU:$9BEA PRG:1BEA BE 86 15 +; ---- data $9BED-$9BF3 (7 bytes) ---- + .byte $9C, $87, $9C, $16, $9D, $23, $9D ; CPU:$9BED PRG:1BED 9C 87 9C 16 9D 23 9D +; ----------------------------------------------------------------------------- +; Routine: Sub_9BF4 +; Global: Branch target inside Sub: taken when 9BF4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BF4: + lda #$00 ; CPU:$9BF4 PRG:1BF4 A9 00 + sta $0514 ; CPU:$9BF6 PRG:1BF6 8D 14 05 + sta $0515 ; CPU:$9BF9 PRG:1BF9 8D 15 05 + sta $0512 ; CPU:$9BFC PRG:1BFC 8D 12 05 + sta $0513 ; CPU:$9BFF PRG:1BFF 8D 13 05 + lda #$05 ; CPU:$9C02 PRG:1C02 A9 05 + sta $0524 ; CPU:$9C04 PRG:1C04 8D 24 05 + ldx $06C5 ; CPU:$9C07 PRG:1C07 AE C5 06 + lda #$00 ; CPU:$9C0A PRG:1C0A A9 00 + sta $0314,x ; CPU:$9C0C PRG:1C0C 9D 14 03 + lda #$02 ; CPU:$9C0F PRG:1C0F A9 02 + sta $0511 ; CPU:$9C11 PRG:1C11 8D 11 05 + rts ; CPU:$9C14 PRG:1C14 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9C15 +; Global: Branch target inside Label: taken when 9C15. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9C15: + jsr Sub_9DF9 ; CPU:$9C15 PRG:1C15 20 F9 9D + sty $0516 ; CPU:$9C18 PRG:1C18 8C 16 05 + php ; CPU:$9C1B PRG:1C1B 08 + ldx PlayerIndex ; CPU:$9C1C PRG:1C1C A6 79 + lda $0304,x ; CPU:$9C1E PRG:1C1E BD 04 03 + cmp #$0A ; CPU:$9C21 PRG:1C21 C9 0A + bcc NmiHandler_Loop214 ; CPU:$9C23 PRG:1C23 90 17 + plp ; CPU:$9C25 PRG:1C25 28 + bcc NmiHandler_Loop213 ; CPU:$9C26 PRG:1C26 90 09 + jsr NmiHandler_Loop238 ; CPU:$9C28 PRG:1C28 20 99 9E + lda #$03 ; CPU:$9C2B PRG:1C2B A9 03 + sta $0511 ; CPU:$9C2D PRG:1C2D 8D 11 05 + rts ; CPU:$9C30 PRG:1C30 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop213 +; Global: Branch target inside NmiHandler: taken when Loop213. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop213: + lda #$02 ; CPU:$9C31 PRG:1C31 A9 02 + sta $0512 ; CPU:$9C33 PRG:1C33 8D 12 05 + lda #$00 ; CPU:$9C36 PRG:1C36 A9 00 + sta $0513 ; CPU:$9C38 PRG:1C38 8D 13 05 + rts ; CPU:$9C3B PRG:1C3B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop214 +; Global: Branch target inside NmiHandler: taken when Loop214. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop214: + plp ; CPU:$9C3C PRG:1C3C 28 + lda Zp7B ; CPU:$9C3D PRG:1C3D A5 7B + asl a ; CPU:$9C3F PRG:1C3F 0A + tax ; CPU:$9C40 PRG:1C40 AA + ldy #$69 ; CPU:$9C41 PRG:1C41 A0 69 + lda $0303,y ; CPU:$9C43 PRG:1C43 B9 03 03 + sta VramWritePtrLo ; CPU:$9C46 PRG:1C46 85 00 + lda $0302,y ; CPU:$9C48 PRG:1C48 B9 02 03 + jsr Sub_9507 ; CPU:$9C4B PRG:1C4B 20 07 95 + cmp #$78 ; CPU:$9C4E PRG:1C4E C9 78 + bcc NmiHandler_Loop215 ; CPU:$9C50 PRG:1C50 90 01 + inx ; CPU:$9C52 PRG:1C52 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop215 +; Global: Branch target inside NmiHandler: taken when Loop215. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop215: + lda $9C7D,x ; CPU:$9C53 PRG:1C53 BD 7D 9C + sta VramWritePtrLo ; CPU:$9C56 PRG:1C56 85 00 + lda $07F0 ; CPU:$9C58 PRG:1C58 AD F0 07 + and #$0F ; CPU:$9C5B PRG:1C5B 29 0F + clc ; CPU:$9C5D PRG:1C5D 18 + adc VramWritePtrLo ; CPU:$9C5E PRG:1C5E 65 00 + sta $06D4 ; CPU:$9C60 PRG:1C60 8D D4 06 + ldx PlayerIndex ; CPU:$9C63 PRG:1C63 A6 79 + lda $030A,x ; CPU:$9C65 PRG:1C65 BD 0A 03 + and #$FE ; CPU:$9C68 PRG:1C68 29 FE + sta $030A,x ; CPU:$9C6A PRG:1C6A 9D 0A 03 + lda #$80 ; CPU:$9C6D PRG:1C6D A9 80 + sta $0512 ; CPU:$9C6F PRG:1C6F 8D 12 05 + lda #$00 ; CPU:$9C72 PRG:1C72 A9 00 + sta $0513 ; CPU:$9C74 PRG:1C74 8D 13 05 + lda #$04 ; CPU:$9C77 PRG:1C77 A9 04 + sta $0511 ; CPU:$9C79 PRG:1C79 8D 11 05 + rts ; CPU:$9C7C PRG:1C7C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9C7D +; Global: Branch target inside Label: taken when 9C7D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9C7D: + bvs NmiHandler_Loop222 ; CPU:$9C7D PRG:1C7D 70 70 + sei ; CPU:$9C7F PRG:1C7F 78 + pla ; CPU:$9C80 PRG:1C80 68 + sei ; CPU:$9C81 PRG:1C81 78 + pla ; CPU:$9C82 PRG:1C82 68 + .byte $7C, $64, $80 ; CPU:$9C83 PRG:1C83 7C 64 80 -- nop $8064,x (undocumented; ca65 cannot encode) + rts ; CPU:$9C86 PRG:1C86 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9C87 +; Global: Branch target inside Label: taken when 9C87. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9C87: + ldx PlayerIndex ; CPU:$9C87 PRG:1C87 A6 79 + lda $0304,x ; CPU:$9C89 PRG:1C89 BD 04 03 + cmp #$08 ; CPU:$9C8C PRG:1C8C C9 08 + bcs NmiHandler_Loop216 ; CPU:$9C8E PRG:1C8E B0 03 + jmp Sub_9BF4 ; CPU:$9C90 PRG:1C90 4C F4 9B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop216 +; Global: Branch target inside NmiHandler: taken when Loop216. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop216: + lda $0515 ; CPU:$9C93 PRG:1C93 AD 15 05 + bne NmiHandler_Loop223 ; CPU:$9C96 PRG:1C96 D0 5F + lda $0514 ; CPU:$9C98 PRG:1C98 AD 14 05 + beq NmiHandler_OnCarrySet2 ; CPU:$9C9B PRG:1C9B F0 06 + cmp #$03 ; CPU:$9C9D PRG:1C9D C9 03 + beq NmiHandler_Loop225 ; CPU:$9C9F PRG:1C9F F0 6F + bne NmiHandler_Loop224 ; CPU:$9CA1 PRG:1CA1 D0 55 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet2 +; Global: Branch target inside NmiHandler: taken when OnCarrySet2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet2: + ldy $0516 ; CPU:$9CA3 PRG:1CA3 AC 16 05 + lda $0303,y ; CPU:$9CA6 PRG:1CA6 B9 03 03 + sta VramWritePtrLo ; CPU:$9CA9 PRG:1CA9 85 00 + lda $0302,y ; CPU:$9CAB PRG:1CAB B9 02 03 + jsr Sub_9507 ; CPU:$9CAE PRG:1CAE 20 07 95 + sta PlayerX ; CPU:$9CB1 PRG:1CB1 85 70 + ldx PlayerIndex ; CPU:$9CB3 PRG:1CB3 A6 79 + lda $0303,x ; CPU:$9CB5 PRG:1CB5 BD 03 03 + sta VramWritePtrLo ; CPU:$9CB8 PRG:1CB8 85 00 + lda $0302,x ; CPU:$9CBA PRG:1CBA BD 02 03 + jsr Sub_9507 ; CPU:$9CBD PRG:1CBD 20 07 95 + ldy #$0A ; CPU:$9CC0 PRG:1CC0 A0 0A + cmp PlayerX ; CPU:$9CC2 PRG:1CC2 C5 70 + bcc NmiHandler_Loop217 ; CPU:$9CC4 PRG:1CC4 90 08 + ldy #$06 ; CPU:$9CC6 PRG:1CC6 A0 06 + cmp #$C0 ; CPU:$9CC8 PRG:1CC8 C9 C0 + bcc NmiHandler_Loop219 ; CPU:$9CCA PRG:1CCA 90 08 + bcs NmiHandler_Loop218 ; CPU:$9CCC PRG:1CCC B0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop217 +; Global: Branch target inside NmiHandler: taken when Loop217. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop217: + cmp #$40 ; CPU:$9CCE PRG:1CCE C9 40 + bcs NmiHandler_Loop219 ; CPU:$9CD0 PRG:1CD0 B0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop218 +; Global: Branch target inside NmiHandler: taken when Loop218. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop218: + ldy #$02 ; CPU:$9CD2 PRG:1CD2 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop219 +; Global: Branch target inside NmiHandler: taken when Loop219. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop219: + lda Zp7B ; CPU:$9CD4 PRG:1CD4 A5 7B + cmp #$02 ; CPU:$9CD6 PRG:1CD6 C9 02 + bcc NmiHandler_Loop220 ; CPU:$9CD8 PRG:1CD8 90 0B + cmp #$04 ; CPU:$9CDA PRG:1CDA C9 04 + beq NmiHandler_Loop221 ; CPU:$9CDC PRG:1CDC F0 09 + lda $07F0 ; CPU:$9CDE PRG:1CDE AD F0 07 + and #$01 ; CPU:$9CE1 PRG:1CE1 29 01 + beq NmiHandler_Loop221 ; CPU:$9CE3 PRG:1CE3 F0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop220 +; Global: Branch target inside NmiHandler: taken when Loop220. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop220: + ldy #$02 ; CPU:$9CE5 PRG:1CE5 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop221 +; Global: Branch target inside NmiHandler: taken when Loop221. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop221: + sty $0512 ; CPU:$9CE7 PRG:1CE7 8C 12 05 + lda #$00 ; CPU:$9CEA PRG:1CEA A9 00 + sta $0513 ; CPU:$9CEC PRG:1CEC 8D 13 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop222 +; Global: Branch target inside NmiHandler: taken when Loop222. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop222: + lda #$05 ; CPU:$9CEF PRG:1CEF A9 05 + sta $0515 ; CPU:$9CF1 PRG:1CF1 8D 15 05 + inc $0514 ; CPU:$9CF4 PRG:1CF4 EE 14 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop223 +; Global: Branch target inside NmiHandler: taken when Loop223. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop223: + rts ; CPU:$9CF7 PRG:1CF7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop224 +; Global: Branch target inside NmiHandler: taken when Loop224. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop224: + ldy $0516 ; CPU:$9CF8 PRG:1CF8 AC 16 05 + jsr Sub_9E12 ; CPU:$9CFB PRG:1CFB 20 12 9E + bcs NmiHandler_OnCarrySet2 ; CPU:$9CFE PRG:1CFE B0 A3 +; ----------------------------------------------------------------------------- +; Routine: Sub_9D00 +; Global: Branch target inside Sub: taken when 9D00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D00: + lda #$02 ; CPU:$9D00 PRG:1D00 A9 02 + jsr NmiHandler_Loop221 ; CPU:$9D02 PRG:1D02 20 E7 9C + lda #$00 ; CPU:$9D05 PRG:1D05 A9 00 + sta $0514 ; CPU:$9D07 PRG:1D07 8D 14 05 + lda #$02 ; CPU:$9D0A PRG:1D0A A9 02 + sta $0511 ; CPU:$9D0C PRG:1D0C 8D 11 05 + rts ; CPU:$9D0F PRG:1D0F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop225 +; Global: Branch target inside NmiHandler: taken when Loop225. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop225: + jsr NmiHandler_Loop238 ; CPU:$9D10 PRG:1D10 20 99 9E + jmp Sub_9D00 ; CPU:$9D13 PRG:1D13 4C 00 9D +; ----------------------------------------------------------------------------- +; Routine: Label_9D16 +; Global: Branch target inside Label: taken when 9D16. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D16: + lda #$04 ; CPU:$9D16 PRG:1D16 A9 04 + sta $0523 ; CPU:$9D18 PRG:1D18 8D 23 05 + lda #$05 ; CPU:$9D1B PRG:1D1B A9 05 + sta $0511 ; CPU:$9D1D PRG:1D1D 8D 11 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_9D20 +; Global: Branch target inside Sub: taken when 9D20. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D20: + pla ; CPU:$9D20 PRG:1D20 68 + pla ; CPU:$9D21 PRG:1D21 68 + rts ; CPU:$9D22 PRG:1D22 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9D23 +; Global: Branch target inside Label: taken when 9D23. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D23: + lda $0523 ; CPU:$9D23 PRG:1D23 AD 23 05 + beq NmiHandler_Loop226 ; CPU:$9D26 PRG:1D26 F0 06 + dec $0523 ; CPU:$9D28 PRG:1D28 CE 23 05 + jmp Sub_9D20 ; CPU:$9D2B PRG:1D2B 4C 20 9D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop226 +; Global: Branch target inside NmiHandler: taken when Loop226. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop226: + lda #$00 ; CPU:$9D2E PRG:1D2E A9 00 + sta $0510 ; CPU:$9D30 PRG:1D30 8D 10 05 + sta $0511 ; CPU:$9D33 PRG:1D33 8D 11 05 + sta $0512 ; CPU:$9D36 PRG:1D36 8D 12 05 + sta $0513 ; CPU:$9D39 PRG:1D39 8D 13 05 + rts ; CPU:$9D3C PRG:1D3C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9D3D +; Global: Branch target inside Sub: taken when 9D3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D3D: + lda $0511 ; CPU:$9D3D PRG:1D3D AD 11 05 + jsr Sub_84BD ; CPU:$9D40 PRG:1D40 20 BD 84 + eor $BE9D ; CPU:$9D43 PRG:1D43 4D 9D BE + stx Zp61 ; CPU:$9D46 PRG:1D46 86 61 + sta $86BE,x ; CPU:$9D48 PRG:1D48 9D BE 86 + ldx $A986,y ; CPU:$9D4B PRG:1D4B BE 86 A9 + brk ; CPU:$9D4E PRG:1D4E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9D4F +; Global: Branch target inside Label: taken when 9D4F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D4F: + sta $0523 ; CPU:$9D4F PRG:1D4F 8D 23 05 + sta $0522 ; CPU:$9D52 PRG:1D52 8D 22 05 + sta $0512 ; CPU:$9D55 PRG:1D55 8D 12 05 + sta $0513 ; CPU:$9D58 PRG:1D58 8D 13 05 + lda #$02 ; CPU:$9D5B PRG:1D5B A9 02 + sta $0511 ; CPU:$9D5D PRG:1D5D 8D 11 05 + rts ; CPU:$9D60 PRG:1D60 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9D61 +; Global: Branch target inside Label: taken when 9D61. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D61: + jsr Sub_8FA9 ; CPU:$9D61 PRG:1D61 20 A9 8F + lda $0522 ; CPU:$9D64 PRG:1D64 AD 22 05 + cmp Zp96 ; CPU:$9D67 PRG:1D67 C5 96 + beq NmiHandler_Loop229 ; CPU:$9D69 PRG:1D69 F0 2D + ldx Zp96 ; CPU:$9D6B PRG:1D6B A6 96 + lda $030F,x ; CPU:$9D6D PRG:1D6D BD 0F 03 + and #$01 ; CPU:$9D70 PRG:1D70 29 01 + bne NmiHandler_Loop227 ; CPU:$9D72 PRG:1D72 D0 0A + lda $0523 ; CPU:$9D74 PRG:1D74 AD 23 05 + beq NmiHandler_Loop228 ; CPU:$9D77 PRG:1D77 F0 06 + dec $0523 ; CPU:$9D79 PRG:1D79 CE 23 05 + beq NmiHandler_Loop228 ; CPU:$9D7C PRG:1D7C F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop227 +; Global: Branch target inside NmiHandler: taken when Loop227. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop227: + rts ; CPU:$9D7E PRG:1D7E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop228 +; Global: Branch target inside NmiHandler: taken when Loop228. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop228: + lda #$02 ; CPU:$9D7F PRG:1D7F A9 02 + sta $0523 ; CPU:$9D81 PRG:1D81 8D 23 05 + lda $0521 ; CPU:$9D84 PRG:1D84 AD 21 05 + sta $06C4 ; CPU:$9D87 PRG:1D87 8D C4 06 + ldx Zp96 ; CPU:$9D8A PRG:1D8A A6 96 + stx $06C5 ; CPU:$9D8C PRG:1D8C 8E C5 06 + stx $0522 ; CPU:$9D8F PRG:1D8F 8E 22 05 + lda #$01 ; CPU:$9D92 PRG:1D92 A9 01 + sta $0314,x ; CPU:$9D94 PRG:1D94 9D 14 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero36 +; Global: Branch target inside NmiHandler: taken when OnNonzero36. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero36: + rts ; CPU:$9D97 PRG:1D97 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop229 +; Global: Branch target inside NmiHandler: taken when Loop229. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop229: + lda $0523 ; CPU:$9D98 PRG:1D98 AD 23 05 + beq NmiHandler_Loop228 ; CPU:$9D9B PRG:1D9B F0 E2 + lda #$02 ; CPU:$9D9D PRG:1D9D A9 02 + sta $0523 ; CPU:$9D9F PRG:1D9F 8D 23 05 + ldx $0522 ; CPU:$9DA2 PRG:1DA2 AE 22 05 + lda $030C,x ; CPU:$9DA5 PRG:1DA5 BD 0C 03 + and #$20 ; CPU:$9DA8 PRG:1DA8 29 20 + bne NmiHandler_OnNonzero36 ; CPU:$9DAA PRG:1DAA D0 EB + lda #$00 ; CPU:$9DAC PRG:1DAC A9 00 + sta $0314,x ; CPU:$9DAE PRG:1DAE 9D 14 03 + sta ZpAD ; CPU:$9DB1 PRG:1DB1 85 AD + sta ZpAE ; CPU:$9DB3 PRG:1DB3 85 AE + lda $0301,x ; CPU:$9DB5 PRG:1DB5 BD 01 03 + and #$0F ; CPU:$9DB8 PRG:1DB8 29 0F + tay ; CPU:$9DBA PRG:1DBA A8 + cmp #$03 ; CPU:$9DBB PRG:1DBB C9 03 + beq NmiHandler_Loop230 ; CPU:$9DBD PRG:1DBD F0 04 + cmp #$07 ; CPU:$9DBF PRG:1DBF C9 07 + bne NmiHandler_Loop231 ; CPU:$9DC1 PRG:1DC1 D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop230 +; Global: Branch target inside NmiHandler: taken when Loop230. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop230: + lda $07F0 ; CPU:$9DC3 PRG:1DC3 AD F0 07 + and #$01 ; CPU:$9DC6 PRG:1DC6 29 01 + beq NmiHandler_Loop231 ; CPU:$9DC8 PRG:1DC8 F0 01 + iny ; CPU:$9DCA PRG:1DCA C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop231 +; Global: Branch target inside NmiHandler: taken when Loop231. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop231: + lda $9DF0,y ; CPU:$9DCB PRG:1DCB B9 F0 9D + ldy Zp7B ; CPU:$9DCE PRG:1DCE A4 7B + cpy #$04 ; CPU:$9DD0 PRG:1DD0 C0 04 + beq NmiHandler_Loop233 ; CPU:$9DD2 PRG:1DD2 F0 0A + cpy #$02 ; CPU:$9DD4 PRG:1DD4 C0 02 + bcc NmiHandler_Loop232 ; CPU:$9DD6 PRG:1DD6 90 04 + and #$0C ; CPU:$9DD8 PRG:1DD8 29 0C + bne NmiHandler_Loop233 ; CPU:$9DDA PRG:1DDA D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop232 +; Global: Branch target inside NmiHandler: taken when Loop232. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop232: + lda #$02 ; CPU:$9DDC PRG:1DDC A9 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop233 +; Global: Branch target inside NmiHandler: taken when Loop233. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop233: + sta $0512 ; CPU:$9DDE PRG:1DDE 8D 12 05 + lda #$00 ; CPU:$9DE1 PRG:1DE1 A9 00 + sta $0513 ; CPU:$9DE3 PRG:1DE3 8D 13 05 + lda #$01 ; CPU:$9DE6 PRG:1DE6 A9 01 + sta $0510 ; CPU:$9DE8 PRG:1DE8 8D 10 05 + lda #$00 ; CPU:$9DEB PRG:1DEB A9 00 + sta $0511 ; CPU:$9DED PRG:1DED 8D 11 05 + rts ; CPU:$9DF0 PRG:1DF0 60 +; ---- data $9DF1-$9DF8 (8 bytes) ---- + .byte $02, $05, $05, $09, $02, $0A, $0A, $06 ; CPU:$9DF1 PRG:1DF1 02 05 05 09 02 0A 0A 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_9DF9 +; Global: Branch target inside Sub: taken when 9DF9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9DF9: + ldy #$00 ; CPU:$9DF9 PRG:1DF9 A0 00 + ldx PlayerIndex ; CPU:$9DFB PRG:1DFB A6 79 + lda #$06 ; CPU:$9DFD PRG:1DFD A9 06 + sta VramReadPtrLo ; CPU:$9DFF PRG:1DFF 85 0C + lda #$02 ; CPU:$9E01 PRG:1E01 A9 02 + sta PlayerX ; CPU:$9E03 PRG:1E03 85 70 + sta Zp71 ; CPU:$9E05 PRG:1E05 85 71 + lda #$02 ; CPU:$9E07 PRG:1E07 A9 02 + sta GameMode ; CPU:$9E09 PRG:1E09 85 72 + lda #$00 ; CPU:$9E0B PRG:1E0B A9 00 + sta Zp73 ; CPU:$9E0D PRG:1E0D 85 73 + jmp Sub_9E22 ; CPU:$9E0F PRG:1E0F 4C 22 9E +; ----------------------------------------------------------------------------- +; Routine: Sub_9E12 +; Global: Branch target inside Sub: taken when 9E12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9E12: + lda #$01 ; CPU:$9E12 PRG:1E12 A9 01 + sta VramReadPtrLo ; CPU:$9E14 PRG:1E14 85 0C + lda #$00 ; CPU:$9E16 PRG:1E16 A9 00 + sta PlayerX ; CPU:$9E18 PRG:1E18 85 70 + sta Zp71 ; CPU:$9E1A PRG:1E1A 85 71 + lda #$00 ; CPU:$9E1C PRG:1E1C A9 00 + sta GameMode ; CPU:$9E1E PRG:1E1E 85 72 + sta Zp73 ; CPU:$9E20 PRG:1E20 85 73 +; ----------------------------------------------------------------------------- +; Routine: Sub_9E22 +; Global: Branch target inside Sub: taken when 9E22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9E22: + lda $0302,x ; CPU:$9E22 PRG:1E22 BD 02 03 + sec ; CPU:$9E25 PRG:1E25 38 + sbc PlayerX ; CPU:$9E26 PRG:1E26 E5 70 + sta PlayerX ; CPU:$9E28 PRG:1E28 85 70 + lda $0302,x ; CPU:$9E2A PRG:1E2A BD 02 03 + clc ; CPU:$9E2D PRG:1E2D 18 + adc Zp71 ; CPU:$9E2E PRG:1E2E 65 71 + sta Zp71 ; CPU:$9E30 PRG:1E30 85 71 + lda $0304,x ; CPU:$9E32 PRG:1E32 BD 04 03 + sec ; CPU:$9E35 PRG:1E35 38 + sbc GameMode ; CPU:$9E36 PRG:1E36 E5 72 + sta GameMode ; CPU:$9E38 PRG:1E38 85 72 + lda $0304,x ; CPU:$9E3A PRG:1E3A BD 04 03 + clc ; CPU:$9E3D PRG:1E3D 18 + adc Zp73 ; CPU:$9E3E PRG:1E3E 65 73 + sta Zp73 ; CPU:$9E40 PRG:1E40 85 73 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero37 +; Global: Branch target inside NmiHandler: taken when OnNonzero37. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero37: + lda $0302,y ; CPU:$9E42 PRG:1E42 B9 02 03 + cmp PlayerX ; CPU:$9E45 PRG:1E45 C5 70 + bcc NmiHandler_Loop234 ; CPU:$9E47 PRG:1E47 90 15 + lda Zp71 ; CPU:$9E49 PRG:1E49 A5 71 + cmp $0302,y ; CPU:$9E4B PRG:1E4B D9 02 03 + bcc NmiHandler_Loop234 ; CPU:$9E4E PRG:1E4E 90 0E + lda $0304,y ; CPU:$9E50 PRG:1E50 B9 04 03 + cmp GameMode ; CPU:$9E53 PRG:1E53 C5 72 + bcc NmiHandler_Loop234 ; CPU:$9E55 PRG:1E55 90 07 + lda Zp73 ; CPU:$9E57 PRG:1E57 A5 73 + cmp $0304,y ; CPU:$9E59 PRG:1E59 D9 04 03 + bcs NmiHandler_Loop235 ; CPU:$9E5C PRG:1E5C B0 0B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop234 +; Global: Branch target inside NmiHandler: taken when Loop234. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop234: + tya ; CPU:$9E5E PRG:1E5E 98 + clc ; CPU:$9E5F PRG:1E5F 18 + adc #$15 ; CPU:$9E60 PRG:1E60 69 15 + tay ; CPU:$9E62 PRG:1E62 A8 + dec VramReadPtrLo ; CPU:$9E63 PRG:1E63 C6 0C + bne NmiHandler_OnNonzero37 ; CPU:$9E65 PRG:1E65 D0 DB + clc ; CPU:$9E67 PRG:1E67 18 + rts ; CPU:$9E68 PRG:1E68 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop235 +; Global: Branch target inside NmiHandler: taken when Loop235. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop235: + sec ; CPU:$9E69 PRG:1E69 38 + rts ; CPU:$9E6A PRG:1E6A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9E6B +; Global: Branch target inside Label: taken when 9E6B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E6B: + ldx PlayerIndex ; CPU:$9E6B PRG:1E6B A6 79 + lda $030F,x ; CPU:$9E6D PRG:1E6D BD 0F 03 + ldy #$01 ; CPU:$9E70 PRG:1E70 A0 01 + and #$01 ; CPU:$9E72 PRG:1E72 29 01 + bne NmiHandler_Loop236 ; CPU:$9E74 PRG:1E74 D0 02 + ldy #$07 ; CPU:$9E76 PRG:1E76 A0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop236 +; Global: Branch target inside NmiHandler: taken when Loop236. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop236: + tya ; CPU:$9E78 PRG:1E78 98 + and $07F0 ; CPU:$9E79 PRG:1E79 2D F0 07 + bne NmiHandler_Loop238 ; CPU:$9E7C PRG:1E7C D0 1B + lda $07F0 ; CPU:$9E7E PRG:1E7E AD F0 07 + sta VramWritePtrLo ; CPU:$9E81 PRG:1E81 85 00 + jsr Sub_867E ; CPU:$9E83 PRG:1E83 20 7E 86 + clc ; CPU:$9E86 PRG:1E86 18 + adc VramWritePtrLo ; CPU:$9E87 PRG:1E87 65 00 + and #$03 ; CPU:$9E89 PRG:1E89 29 03 + clc ; CPU:$9E8B PRG:1E8B 18 + adc #$06 ; CPU:$9E8C PRG:1E8C 69 06 + cmp #$07 ; CPU:$9E8E PRG:1E8E C9 07 + bne NmiHandler_Loop237 ; CPU:$9E90 PRG:1E90 D0 02 + lda #$0A ; CPU:$9E92 PRG:1E92 A9 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop237 +; Global: Branch target inside NmiHandler: taken when Loop237. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop237: + cmp $06C4 ; CPU:$9E94 PRG:1E94 CD C4 06 + bne NmiHandler_Loop240 ; CPU:$9E97 PRG:1E97 D0 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop238 +; Global: Branch target inside NmiHandler: taken when Loop238. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop238: + ldx PlayerIndex ; CPU:$9E99 PRG:1E99 A6 79 + ldy #$07 ; CPU:$9E9B PRG:1E9B A0 07 + lda $030F,x ; CPU:$9E9D PRG:1E9D BD 0F 03 + and #$14 ; CPU:$9EA0 PRG:1EA0 29 14 + cmp #$14 ; CPU:$9EA2 PRG:1EA2 C9 14 + bne NmiHandler_Loop239 ; CPU:$9EA4 PRG:1EA4 D0 0B + ldy #$06 ; CPU:$9EA6 PRG:1EA6 A0 06 + lda $07F0 ; CPU:$9EA8 PRG:1EA8 AD F0 07 + and #$01 ; CPU:$9EAB PRG:1EAB 29 01 + bne NmiHandler_Loop239 ; CPU:$9EAD PRG:1EAD D0 02 + ldy #$08 ; CPU:$9EAF PRG:1EAF A0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop239 +; Global: Branch target inside NmiHandler: taken when Loop239. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop239: + tya ; CPU:$9EB1 PRG:1EB1 98 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop240 +; Global: Branch target inside NmiHandler: taken when Loop240. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop240: + asl a ; CPU:$9EB2 PRG:1EB2 0A + sta VramWritePtrLo ; CPU:$9EB3 PRG:1EB3 85 00 + asl a ; CPU:$9EB5 PRG:1EB5 0A + asl a ; CPU:$9EB6 PRG:1EB6 0A + clc ; CPU:$9EB7 PRG:1EB7 18 + adc VramWritePtrLo ; CPU:$9EB8 PRG:1EB8 65 00 + sta Zp0F ; CPU:$9EBA PRG:1EBA 85 0F + sta Zp3C ; CPU:$9EBC PRG:1EBC 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero38 +; Global: Branch target inside NmiHandler: taken when OnNonzero38. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero38: + ldy Zp0F ; CPU:$9EBE PRG:1EBE A4 0F + ldx $0600,y ; CPU:$9EC0 PRG:1EC0 BE 00 06 + cpx $06C5 ; CPU:$9EC3 PRG:1EC3 EC C5 06 + beq NmiHandler_OnZero11 ; CPU:$9EC6 PRG:1EC6 F0 08 + ldy $0313,x ; CPU:$9EC8 PRG:1EC8 BC 13 03 + jsr Sub_9E12 ; CPU:$9ECB PRG:1ECB 20 12 9E + bcc NmiHandler_Loop241 ; CPU:$9ECE PRG:1ECE 90 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero11 +; Global: Branch target inside NmiHandler: taken when OnZero11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero11: + lda Zp0F ; CPU:$9ED0 PRG:1ED0 A5 0F + clc ; CPU:$9ED2 PRG:1ED2 18 + adc #$0A ; CPU:$9ED3 PRG:1ED3 69 0A + sta Zp0F ; CPU:$9ED5 PRG:1ED5 85 0F + tay ; CPU:$9ED7 PRG:1ED7 A8 + lda $0600,y ; CPU:$9ED8 PRG:1ED8 B9 00 06 + cmp $06C5 ; CPU:$9EDB PRG:1EDB CD C5 06 + beq NmiHandler_OnZero11 ; CPU:$9EDE PRG:1EDE F0 F0 + cmp #$6E ; CPU:$9EE0 PRG:1EE0 C9 6E + bne NmiHandler_OnNonzero38 ; CPU:$9EE2 PRG:1EE2 D0 DA + ldx Zp3C ; CPU:$9EE4 PRG:1EE4 A6 3C + jmp Sub_9EEB ; CPU:$9EE6 PRG:1EE6 4C EB 9E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop241 +; Global: Branch target inside NmiHandler: taken when Loop241. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop241: + ldx Zp0F ; CPU:$9EE9 PRG:1EE9 A6 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_9EEB +; Global: Branch target inside Sub: taken when 9EEB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9EEB: + lda ZpAC ; CPU:$9EEB PRG:1EEB A5 AC + ora ZpAB ; CPU:$9EED PRG:1EED 05 AB + bne NmiHandler_Loop243 ; CPU:$9EEF PRG:1EEF D0 58 + ldy $0600,x ; CPU:$9EF1 PRG:1EF1 BC 00 06 + lda $0304,y ; CPU:$9EF4 PRG:1EF4 B9 04 03 + sta VramWritePtrLo ; CPU:$9EF7 PRG:1EF7 85 00 + ldy PlayerIndex ; CPU:$9EF9 PRG:1EF9 A4 79 + lda $0304,y ; CPU:$9EFB PRG:1EFB B9 04 03 + clc ; CPU:$9EFE PRG:1EFE 18 + adc #$05 ; CPU:$9EFF PRG:1EFF 69 05 + cmp VramWritePtrLo ; CPU:$9F01 PRG:1F01 C5 00 + bcc NmiHandler_Loop243 ; CPU:$9F03 PRG:1F03 90 44 + lda $06CC ; CPU:$9F05 PRG:1F05 AD CC 06 + pha ; CPU:$9F08 PRG:1F08 48 + lda $06CD ; CPU:$9F09 PRG:1F09 AD CD 06 + pha ; CPU:$9F0C PRG:1F0C 48 + lda $06EC ; CPU:$9F0D PRG:1F0D AD EC 06 + pha ; CPU:$9F10 PRG:1F10 48 + lda $0600,x ; CPU:$9F11 PRG:1F11 BD 00 06 + sta $06CD ; CPU:$9F14 PRG:1F14 8D CD 06 + ldy #$00 ; CPU:$9F17 PRG:1F17 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero39 +; Global: Branch target inside NmiHandler: taken when OnNonzero39. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero39: + cmp $9007,y ; CPU:$9F19 PRG:1F19 D9 07 90 + beq NmiHandler_Loop242 ; CPU:$9F1C PRG:1F1C F0 07 + iny ; CPU:$9F1E PRG:1F1E C8 + bne NmiHandler_OnNonzero39 ; CPU:$9F1F PRG:1F1F D0 F8 + pla ; CPU:$9F21 PRG:1F21 68 + pla ; CPU:$9F22 PRG:1F22 68 + pla ; CPU:$9F23 PRG:1F23 68 + rts ; CPU:$9F24 PRG:1F24 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop242 +; Global: Branch target inside NmiHandler: taken when Loop242. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop242: + sty $06CC ; CPU:$9F25 PRG:1F25 8C CC 06 + lda $06C4 ; CPU:$9F28 PRG:1F28 AD C4 06 + sta Zp77 ; CPU:$9F2B PRG:1F2B 85 77 + lda #$00 ; CPU:$9F2D PRG:1F2D A9 00 + sta $06EC ; CPU:$9F2F PRG:1F2F 8D EC 06 + jsr Sub_936B ; CPU:$9F32 PRG:1F32 20 6B 93 + ldx $06EC ; CPU:$9F35 PRG:1F35 AE EC 06 + pla ; CPU:$9F38 PRG:1F38 68 + sta $06EC ; CPU:$9F39 PRG:1F39 8D EC 06 + pla ; CPU:$9F3C PRG:1F3C 68 + tay ; CPU:$9F3D PRG:1F3D A8 + pla ; CPU:$9F3E PRG:1F3E 68 + cpx #$01 ; CPU:$9F3F PRG:1F3F E0 01 + bne NmiHandler_Loop244 ; CPU:$9F41 PRG:1F41 D0 07 + sty $06CD ; CPU:$9F43 PRG:1F43 8C CD 06 + sta $06CC ; CPU:$9F46 PRG:1F46 8D CC 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop243 +; Global: Branch target inside NmiHandler: taken when Loop243. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop243: + rts ; CPU:$9F49 PRG:1F49 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop244 +; Global: Branch target inside NmiHandler: taken when Loop244. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop244: + ldx PlayerIndex ; CPU:$9F4A PRG:1F4A A6 79 + lda $030A,x ; CPU:$9F4C PRG:1F4C BD 0A 03 + and #$FE ; CPU:$9F4F PRG:1F4F 29 FE + sta $030A,x ; CPU:$9F51 PRG:1F51 9D 0A 03 + lda #$40 ; CPU:$9F54 PRG:1F54 A9 40 + sta $0512 ; CPU:$9F56 PRG:1F56 8D 12 05 + lda #$00 ; CPU:$9F59 PRG:1F59 A9 00 + sta $0513 ; CPU:$9F5B PRG:1F5B 8D 13 05 + sta $0514 ; CPU:$9F5E PRG:1F5E 8D 14 05 + lda #$01 ; CPU:$9F61 PRG:1F61 A9 01 + sta $0510 ; CPU:$9F63 PRG:1F63 8D 10 05 + lda #$04 ; CPU:$9F66 PRG:1F66 A9 04 + sta $0511 ; CPU:$9F68 PRG:1F68 8D 11 05 + pla ; CPU:$9F6B PRG:1F6B 68 + pla ; CPU:$9F6C PRG:1F6C 68 + rts ; CPU:$9F6D PRG:1F6D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9F6E +; Global: Branch target inside Sub: taken when 9F6E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9F6E: + lda ZpA2 ; CPU:$9F6E PRG:1F6E A5 A2 + ora ZpA7 ; CPU:$9F70 PRG:1F70 05 A7 + ora ZpAC ; CPU:$9F72 PRG:1F72 05 AC + bne NmiHandler_Loop245 ; CPU:$9F74 PRG:1F74 D0 0A + lda ZpA1 ; CPU:$9F76 PRG:1F76 A5 A1 + ora ZpA6 ; CPU:$9F78 PRG:1F78 05 A6 + ora ZpAB ; CPU:$9F7A PRG:1F7A 05 AB + bne NmiHandler_Loop245 ; CPU:$9F7C PRG:1F7C D0 02 + sec ; CPU:$9F7E PRG:1F7E 38 + rts ; CPU:$9F7F PRG:1F7F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop245 +; Global: Branch target inside NmiHandler: taken when Loop245. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop245: + clc ; CPU:$9F80 PRG:1F80 18 + rts ; CPU:$9F81 PRG:1F81 60 +; ---- data $9F82-$A091 (272 bytes) ---- + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9F82 PRG:1F82 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20 ; CPU:$9F92 PRG:1F92 20 20 43 52 45 41 54 45 20 42 59 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9FA2 PRG:1FA2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20 ; CPU:$9FB2 PRG:1FB2 20 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$9FC2 PRG:1FC2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $A9, $02, $85, $09, $20, $BF, $86, $A9, $00, $85, $0A, $85, $0B, $20, $8F, $83 ; CPU:$9FD2 PRG:1FD2 A9 02 85 09 20 BF 86 A9 00 85 0A 85 0B 20 8F 83 + .byte $20, $AD, $86, $20, $4F, $84, $20, $AD, $86, $A2, $50, $A0, $A8, $20, $D5, $86 ; CPU:$9FE2 PRG:1FE2 20 AD 86 20 4F 84 20 AD 86 A2 50 A0 A8 20 D5 86 + .byte $A9, $01, $85, $23, $A9, $01, $85, $3B, $85, $19, $A9, $00, $85, $30, $A9, $00 ; CPU:$9FF2 PRG:1FF2 A9 01 85 23 A9 01 85 3B 85 19 A9 00 85 30 A9 00 + .byte $8D, $30, $05, $A9, $04, $85, $2A, $A9, $F4, $8D, $10, $02, $A9, $C2, $8D, $11 ; CPU:$A002 PRG:2002 8D 30 05 A9 04 85 2A A9 F4 8D 10 02 A9 C2 8D 11 + .byte $02, $A9, $01, $8D, $12, $02, $A9, $40, $8D, $13, $02, $A9, $CF, $8D, $20, $02 ; CPU:$A012 PRG:2012 02 A9 01 8D 12 02 A9 40 8D 13 02 A9 CF 8D 20 02 + .byte $A9, $E0, $8D, $21, $02, $A9, $02, $8D, $22, $02, $A9, $45, $8D, $23, $02, $E6 ; CPU:$A022 PRG:2022 A9 E0 8D 21 02 A9 02 8D 22 02 A9 45 8D 23 02 E6 + .byte $26, $A9, $25, $85, $2C, $A5, $7C, $D0, $0B, $20, $8A, $87, $A9, $51, $85, $2C ; CPU:$A032 PRG:2032 26 A9 25 85 2C A5 7C D0 0B 20 8A 87 A9 51 85 2C + .byte $A9, $04, $85, $7C, $C6, $7C, $4C, $CC, $86, $A5, $2C, $F0, $45, $A5, $2A, $D0 ; CPU:$A042 PRG:2042 A9 04 85 7C C6 7C 4C CC 86 A5 2C F0 45 A5 2A D0 + .byte $70, $A9, $04, $85, $2A, $A9, $05, $A0, $00, $20, $6F, $A0, $AC, $30, $05, $C8 ; CPU:$A052 PRG:2052 70 A9 04 85 2A A9 05 A0 00 20 6F A0 AC 30 05 C8 + .byte $C0, $06, $D0, $02, $A0, $00, $8C, $30, $05, $A9, $55, $A0, $55, $84, $0C, $8D ; CPU:$A062 PRG:2062 C0 06 D0 02 A0 00 8C 30 05 A9 55 A0 55 84 0C 8D + .byte $01, $07, $A9, $11, $8D, $00, $07, $A9, $C9, $20, $8A, $A0, $A5, $0C, $8D, $01 ; CPU:$A072 PRG:2072 01 07 A9 11 8D 00 07 A9 C9 20 8A A0 A5 0C 8D 01 + .byte $07, $A9, $D1, $20, $8A, $A0, $A9, $D9, $18, $6D, $30, $05, $AA, $A0, $23, $4C ; CPU:$A082 PRG:2082 07 A9 D1 20 8A A0 A9 D9 18 6D 30 05 AA A0 23 4C +; ----------------------------------------------------------------------------- +; Routine: Label_A092 +; Global: Branch target inside Label: taken when A092. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A092: + and Zp8D,x ; CPU:$A092 PRG:2092 35 8D + jsr Sub_86BF ; CPU:$A094 PRG:2094 20 BF 86 + lda #$01 ; CPU:$A097 PRG:2097 A9 01 + sta Zp47 ; CPU:$A099 PRG:2099 85 47 + jsr Sub_A0C4 ; CPU:$A09B PRG:209B 20 C4 A0 + sta Zp63 ; CPU:$A09E PRG:209E 85 63 + jsr Sub_A0C4 ; CPU:$A0A0 PRG:20A0 20 C4 A0 + cmp Zp63 ; CPU:$A0A3 PRG:20A3 C5 63 + bne NmiHandler_Loop246 ; CPU:$A0A5 PRG:20A5 D0 06 + clc ; CPU:$A0A7 PRG:20A7 18 + adc #$01 ; CPU:$A0A8 PRG:20A8 69 01 + jsr Sub_A0C7 ; CPU:$A0AA PRG:20AA 20 C7 A0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop246 +; Global: Branch target inside NmiHandler: taken when Loop246. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop246: + sta Zp64 ; CPU:$A0AD PRG:20AD 85 64 + ldx #$00 ; CPU:$A0AF PRG:20AF A2 00 + ldy #$01 ; CPU:$A0B1 PRG:20B1 A0 01 + jsr Sub_999E ; CPU:$A0B3 PRG:20B3 20 9E 99 + ldx #$01 ; CPU:$A0B6 PRG:20B6 A2 01 + ldy #$00 ; CPU:$A0B8 PRG:20B8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_A0BA +; Global: Branch target inside Label: taken when A0BA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A0BA: + jsr Sub_999E ; CPU:$A0BA PRG:20BA 20 9E 99 + lda #$02 ; CPU:$A0BD PRG:20BD A9 02 + sta FrameCounter2 ; CPU:$A0BF PRG:20BF 85 25 + inc Zp26 ; CPU:$A0C1 PRG:20C1 E6 26 + rts ; CPU:$A0C3 PRG:20C3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A0C4 +; Global: Branch target inside Sub: taken when A0C4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A0C4: + jsr Sub_867E ; CPU:$A0C4 PRG:20C4 20 7E 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_A0C7 +; Global: Branch target inside Sub: taken when A0C7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A0C7: + and #$07 ; CPU:$A0C7 PRG:20C7 29 07 + cmp #$07 ; CPU:$A0C9 PRG:20C9 C9 07 + bne NmiHandler_Loop247 ; CPU:$A0CB PRG:20CB D0 02 + lda #$00 ; CPU:$A0CD PRG:20CD A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop247 +; Global: Branch target inside NmiHandler: taken when Loop247. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop247: + rts ; CPU:$A0CF PRG:20CF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A0D0 +; Global: Branch target inside Label: taken when A0D0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A0D0: + jsr Sub_8263 ; CPU:$A0D0 PRG:20D0 20 63 82 + inc Zp26 ; CPU:$A0D3 PRG:20D3 E6 26 + rts ; CPU:$A0D5 PRG:20D5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A0D6 +; Global: Branch target inside Label: taken when A0D6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A0D6: + jsr Sub_8307 ; CPU:$A0D6 PRG:20D6 20 07 83 + lda Zp7D ; CPU:$A0D9 PRG:20D9 A5 7D + inc Zp7D ; CPU:$A0DB PRG:20DB E6 7D + cmp #$03 ; CPU:$A0DD PRG:20DD C9 03 + bcc NmiHandler_Loop248 ; CPU:$A0DF PRG:20DF 90 04 + lda #$00 ; CPU:$A0E1 PRG:20E1 A9 00 + sta Zp7D ; CPU:$A0E3 PRG:20E3 85 7D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop248 +; Global: Branch target inside NmiHandler: taken when Loop248. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop248: + asl a ; CPU:$A0E5 PRG:20E5 0A + asl a ; CPU:$A0E6 PRG:20E6 0A +; ----------------------------------------------------------------------------- +; Routine: Label_A0E7 +; Global: Branch target inside Label: taken when A0E7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A0E7: + tay ; CPU:$A0E7 PRG:20E7 A8 + lda $A1F1,y ; CPU:$A0E8 PRG:20E8 B9 F1 A1 + sta Zp88 ; CPU:$A0EB PRG:20EB 85 88 + lda $A1F2,y ; CPU:$A0ED PRG:20ED B9 F2 A1 + sta Zp89 ; CPU:$A0F0 PRG:20F0 85 89 + lda $A1F3,y ; CPU:$A0F2 PRG:20F2 B9 F3 A1 + sta Zp8A ; CPU:$A0F5 PRG:20F5 85 8A + lda $A1F4,y ; CPU:$A0F7 PRG:20F7 B9 F4 A1 + sta Zp8B ; CPU:$A0FA PRG:20FA 85 8B + lda #$00 ; CPU:$A0FC PRG:20FC A9 00 + sta Zp8C ; CPU:$A0FE PRG:20FE 85 8C + sta Zp8E ; CPU:$A100 PRG:2100 85 8E + sta Zp16 ; CPU:$A102 PRG:2102 85 16 + sta Zp17 ; CPU:$A104 PRG:2104 85 17 + inc Zp26 ; CPU:$A106 PRG:2106 E6 26 + rts ; CPU:$A108 PRG:2108 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A109 +; Global: Branch target inside Label: taken when A109. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A109: + jsr Sub_A10F ; CPU:$A109 PRG:2109 20 0F A1 + jmp Sub_8330 ; CPU:$A10C PRG:210C 4C 30 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_A10F +; Global: Branch target inside Sub: taken when A10F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A10F: + lda $06E7 ; CPU:$A10F PRG:210F AD E7 06 + cmp #$05 ; CPU:$A112 PRG:2112 C9 05 + beq NmiHandler_Loop249 ; CPU:$A114 PRG:2114 F0 08 + cmp #$06 ; CPU:$A116 PRG:2116 C9 06 + beq NmiHandler_Loop249 ; CPU:$A118 PRG:2118 F0 04 + cmp #$0E ; CPU:$A11A PRG:211A C9 0E + bne NmiHandler_Loop254 ; CPU:$A11C PRG:211C D0 5F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop249 +; Global: Branch target inside NmiHandler: taken when Loop249. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop249: + lda #$00 ; CPU:$A11E PRG:211E A9 00 + sta Zp16 ; CPU:$A120 PRG:2120 85 16 + sta Zp17 ; CPU:$A122 PRG:2122 85 17 + lda Zp8C ; CPU:$A124 PRG:2124 A5 8C + beq NmiHandler_Loop250 ; CPU:$A126 PRG:2126 F0 09 + dec Zp8C ; CPU:$A128 PRG:2128 C6 8C + lda Zp8D ; CPU:$A12A PRG:212A A5 8D + sta Zp16 ; CPU:$A12C PRG:212C 85 16 + jmp NmiHandler_Loop252 ; CPU:$A12E PRG:212E 4C 5A A1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop250 +; Global: Branch target inside NmiHandler: taken when Loop250. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop250: + ldy #$00 ; CPU:$A131 PRG:2131 A0 00 + lda (Zp88),y ; CPU:$A133 PRG:2133 B1 88 + cmp #$FF ; CPU:$A135 PRG:2135 C9 FF + bne NmiHandler_Loop251 ; CPU:$A137 PRG:2137 D0 0B + lda #$00 ; CPU:$A139 PRG:2139 A9 00 + sta Zp26 ; CPU:$A13B PRG:213B 85 26 + sta Zp30 ; CPU:$A13D PRG:213D 85 30 + lda Zp48 ; CPU:$A13F PRG:213F A5 48 + sta Zp47 ; CPU:$A141 PRG:2141 85 47 + rts ; CPU:$A143 PRG:2143 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop251 +; Global: Branch target inside NmiHandler: taken when Loop251. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop251: + and #$CF ; CPU:$A144 PRG:2144 29 CF + sta Zp16 ; CPU:$A146 PRG:2146 85 16 + sta Zp8D ; CPU:$A148 PRG:2148 85 8D + iny ; CPU:$A14A PRG:214A C8 + lda (Zp88),y ; CPU:$A14B PRG:214B B1 88 + sta Zp8C ; CPU:$A14D PRG:214D 85 8C + lda Zp88 ; CPU:$A14F PRG:214F A5 88 + clc ; CPU:$A151 PRG:2151 18 + adc #$02 ; CPU:$A152 PRG:2152 69 02 + sta Zp88 ; CPU:$A154 PRG:2154 85 88 + bcc NmiHandler_Loop252 ; CPU:$A156 PRG:2156 90 02 + inc Zp89 ; CPU:$A158 PRG:2158 E6 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop252 +; Global: Branch target inside NmiHandler: taken when Loop252. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop252: + lda Zp8E ; CPU:$A15A PRG:215A A5 8E + beq NmiHandler_Loop253 ; CPU:$A15C PRG:215C F0 07 + dec Zp8E ; CPU:$A15E PRG:215E C6 8E + lda Zp8F ; CPU:$A160 PRG:2160 A5 8F + sta Zp17 ; CPU:$A162 PRG:2162 85 17 + rts ; CPU:$A164 PRG:2164 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop253 +; Global: Branch target inside NmiHandler: taken when Loop253. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop253: + ldy #$00 ; CPU:$A165 PRG:2165 A0 00 + lda (Zp8A),y ; CPU:$A167 PRG:2167 B1 8A + sta Zp17 ; CPU:$A169 PRG:2169 85 17 + sta Zp8F ; CPU:$A16B PRG:216B 85 8F + iny ; CPU:$A16D PRG:216D C8 + lda (Zp8A),y ; CPU:$A16E PRG:216E B1 8A + sta Zp8E ; CPU:$A170 PRG:2170 85 8E + lda Zp8A ; CPU:$A172 PRG:2172 A5 8A + clc ; CPU:$A174 PRG:2174 18 + adc #$02 ; CPU:$A175 PRG:2175 69 02 + sta Zp8A ; CPU:$A177 PRG:2177 85 8A + bcc NmiHandler_Loop254 ; CPU:$A179 PRG:2179 90 02 + inc Zp8B ; CPU:$A17B PRG:217B E6 8B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop254 +; Global: Branch target inside NmiHandler: taken when Loop254. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop254: + rts ; CPU:$A17D PRG:217D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A17E +; Global: Branch target inside Label: taken when A17E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A17E: + lda $06E7 ; CPU:$A17E PRG:217E AD E7 06 + cmp #$05 ; CPU:$A181 PRG:2181 C9 05 + beq NmiHandler_Loop255 ; CPU:$A183 PRG:2183 F0 09 + cmp #$06 ; CPU:$A185 PRG:2185 C9 06 + beq NmiHandler_Loop255 ; CPU:$A187 PRG:2187 F0 05 + cmp #$0E ; CPU:$A189 PRG:2189 C9 0E + beq NmiHandler_Loop255 ; CPU:$A18B PRG:218B F0 01 + rts ; CPU:$A18D PRG:218D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop255 +; Global: Branch target inside NmiHandler: taken when Loop255. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop255: + lda Zp16 ; CPU:$A18E PRG:218E A5 16 + cmp $0540 ; CPU:$A190 PRG:2190 CD 40 05 + bne NmiHandler_Loop256 ; CPU:$A193 PRG:2193 D0 08 + inc $0541 ; CPU:$A195 PRG:2195 EE 41 05 + bne NmiHandler_Loop258 ; CPU:$A198 PRG:2198 D0 25 + dec $0541 ; CPU:$A19A PRG:219A CE 41 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop256 +; Global: Branch target inside NmiHandler: taken when Loop256. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop256: + ldy #$00 ; CPU:$A19D PRG:219D A0 00 + lda $0540 ; CPU:$A19F PRG:219F AD 40 05 + sta (Zp88),y ; CPU:$A1A2 PRG:21A2 91 88 + lda Zp16 ; CPU:$A1A4 PRG:21A4 A5 16 + sta $0540 ; CPU:$A1A6 PRG:21A6 8D 40 05 + iny ; CPU:$A1A9 PRG:21A9 C8 + lda $0541 ; CPU:$A1AA PRG:21AA AD 41 05 + sta (Zp88),y ; CPU:$A1AD PRG:21AD 91 88 + lda Zp88 ; CPU:$A1AF PRG:21AF A5 88 + clc ; CPU:$A1B1 PRG:21B1 18 + adc #$02 ; CPU:$A1B2 PRG:21B2 69 02 + sta Zp88 ; CPU:$A1B4 PRG:21B4 85 88 + bcc NmiHandler_Loop257 ; CPU:$A1B6 PRG:21B6 90 02 + inc Zp89 ; CPU:$A1B8 PRG:21B8 E6 89 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop257 +; Global: Branch target inside NmiHandler: taken when Loop257. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop257: + lda #$00 ; CPU:$A1BA PRG:21BA A9 00 + sta $0541 ; CPU:$A1BC PRG:21BC 8D 41 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop258 +; Global: Branch target inside NmiHandler: taken when Loop258. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop258: + lda Zp17 ; CPU:$A1BF PRG:21BF A5 17 + cmp $0542 ; CPU:$A1C1 PRG:21C1 CD 42 05 + bne NmiHandler_Loop259 ; CPU:$A1C4 PRG:21C4 D0 08 + inc $0543 ; CPU:$A1C6 PRG:21C6 EE 43 05 + bne NmiHandler_Loop261 ; CPU:$A1C9 PRG:21C9 D0 25 + dec $0543 ; CPU:$A1CB PRG:21CB CE 43 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop259 +; Global: Branch target inside NmiHandler: taken when Loop259. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop259: + ldy #$00 ; CPU:$A1CE PRG:21CE A0 00 + lda $0542 ; CPU:$A1D0 PRG:21D0 AD 42 05 + sta (Zp8A),y ; CPU:$A1D3 PRG:21D3 91 8A + lda Zp17 ; CPU:$A1D5 PRG:21D5 A5 17 + sta $0542 ; CPU:$A1D7 PRG:21D7 8D 42 05 + iny ; CPU:$A1DA PRG:21DA C8 + lda $0543 ; CPU:$A1DB PRG:21DB AD 43 05 + sta (Zp8A),y ; CPU:$A1DE PRG:21DE 91 8A + lda Zp8A ; CPU:$A1E0 PRG:21E0 A5 8A + clc ; CPU:$A1E2 PRG:21E2 18 + adc #$02 ; CPU:$A1E3 PRG:21E3 69 02 + sta Zp8A ; CPU:$A1E5 PRG:21E5 85 8A + bcc NmiHandler_Loop260 ; CPU:$A1E7 PRG:21E7 90 02 + inc Zp8B ; CPU:$A1E9 PRG:21E9 E6 8B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop260 +; Global: Branch target inside NmiHandler: taken when Loop260. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop260: + lda #$00 ; CPU:$A1EB PRG:21EB A9 00 + sta $0543 ; CPU:$A1ED PRG:21ED 8D 43 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop261 +; Global: Branch target inside NmiHandler: taken when Loop261. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop261: + rts ; CPU:$A1F0 PRG:21F0 60 +; ---- data $A1F1-$A35C (364 bytes) ---- +; referenced by `lda $A1F1,y` at $A0E8 (operand $A1F1 falls inside this region) +; referenced by `lda $A1F2,y` at $A0ED (operand $A1F2 falls inside this region) +; referenced by `lda $A1F3,y` at $A0F2 (operand $A1F3 falls inside this region) +; referenced by `lda $A1F4,y` at $A0F7 (operand $A1F4 falls inside this region) +; referenced by `jmp ($A302)` at $FB0C (operand $A302 falls inside this region) + .byte $FD, $A1, $1D, $A2, $4D, $A2, $7D, $A2, $9D, $A2, $DD, $A2, $00, $5B, $04, $37 ; CPU:$A1F1 PRG:21F1 FD A1 1D A2 4D A2 7D A2 9D A2 DD A2 00 5B 04 37 + .byte $00, $0B, $01, $55, $00, $0B, $08, $4F, $00, $0B, $01, $87, $00, $10, $80, $01 ; CPU:$A201 PRG:2201 00 0B 01 55 00 0B 08 4F 00 0B 01 87 00 10 80 01 + .byte $00, $1B, $80, $01, $01, $6B, $FF, $FF, $00, $00, $00, $00, $00, $AE, $02, $13 ; CPU:$A211 PRG:2211 00 1B 80 01 01 6B FF FF 00 00 00 00 00 AE 02 13 + .byte $00, $01, $04, $0D, $00, $01, $02, $17, $04, $55, $00, $01, $01, $4F, $00, $01 ; CPU:$A221 PRG:2221 00 01 04 0D 00 01 02 17 04 55 00 01 01 4F 00 01 + .byte $08, $35, $00, $01, $08, $0D, $09, $01, $01, $01, $09, $05, $08, $18, $08, $20 ; CPU:$A231 PRG:2231 08 35 00 01 08 0D 09 01 01 01 09 05 08 18 08 20 + .byte $02, $10, $04, $30, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $4B, $04, $49 ; CPU:$A241 PRG:2241 02 10 04 30 00 FF 00 00 00 00 00 00 00 4B 04 49 + .byte $00, $09, $01, $5F, $00, $0B, $04, $1B, $00, $07, $02, $2F, $00, $0B, $04, $30 ; CPU:$A251 PRG:2251 00 09 01 5F 00 0B 04 1B 00 07 02 2F 00 0B 04 30 + .byte $00, $10, $04, $40, $00, $11, $02, $3F, $00, $05, $01, $07, $00, $28, $FF, $00 ; CPU:$A261 PRG:2261 00 10 04 40 00 11 02 3F 00 05 01 07 00 28 FF 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $AC, $02, $07 ; CPU:$A271 PRG:2271 00 00 00 00 00 00 00 00 00 00 00 00 00 AC 02 07 + .byte $06, $1D, $04, $29, $01, $61, $00, $01, $04, $2F, $00, $01, $02, $1D, $0A, $01 ; CPU:$A281 PRG:2281 06 1D 04 29 01 61 00 01 04 2F 00 01 02 1D 0A 01 + .byte $00, $6B, $80, $30, $00, $10, $00, $FF, $00, $00, $00, $00, $00, $57, $04, $11 ; CPU:$A291 PRG:2291 00 6B 80 30 00 10 00 FF 00 00 00 00 00 57 04 11 + .byte $00, $01, $04, $20, $00, $51, $01, $0B, $00, $01, $08, $1B, $02, $40, $04, $20 ; CPU:$A2A1 PRG:22A1 00 01 04 20 00 51 01 0B 00 01 08 1B 02 40 04 20 + .byte $04, $0F, $00, $01, $02, $01, $00, $09, $02, $1D, $00, $01, $04, $0B, $00, $07 ; CPU:$A2B1 PRG:22B1 04 0F 00 01 02 01 00 09 02 1D 00 01 04 0B 00 07 + .byte $02, $26, $00, $44, $01, $20, $08, $10, $08, $10, $00, $10, $80, $0A, $80, $20 ; CPU:$A2C1 PRG:22C1 02 26 00 44 01 20 08 10 08 10 00 10 80 0A 80 20 + .byte $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $02, $0B ; CPU:$A2D1 PRG:22D1 FF FF 00 00 00 00 00 00 00 00 00 00 00 40 02 0B + .byte $06, $09, $04, $3F, $02, $C0, $0A, $0A, $0A, $20, $00, $0F, $08, $13, $0A, $01 ; CPU:$A2E1 PRG:22E1 06 09 04 3F 02 C0 0A 0A 0A 20 00 0F 08 13 0A 01 + .byte $02, $3F, $00, $17, $80, $10, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A2F1 PRG:22F1 02 3F 00 17 80 10 00 10 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $20, $20, $20 ; CPU:$A301 PRG:2301 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52 ; CPU:$A311 PRG:2311 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 52 + .byte $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A321 PRG:2321 45 41 54 45 20 42 59 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A331 PRG:2331 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A341 PRG:2341 20 4D 2E 4F 4F 59 41 4D 41 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A351 PRG:2351 20 20 20 20 20 20 20 20 20 20 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_A35D +; Global: Branch target inside Sub: taken when A35D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A35D: + lda $0560 ; CPU:$A35D PRG:235D AD 60 05 + jsr Sub_84BD ; CPU:$A360 PRG:2360 20 BD 84 + ldx $6D86,y ; CPU:$A363 PRG:2363 BE 86 6D + .byte $A3, $A9 ; CPU:$A366 PRG:2366 A3 A9 -- lax (ZpA9,x) (undocumented; ca65 cannot encode) + .byte $A3, $B7 ; CPU:$A368 PRG:2368 A3 B7 -- lax (ZpB7,x) (undocumented; ca65 cannot encode) + .byte $A3, $E5 ; CPU:$A36A PRG:236A A3 E5 -- lax (ZpE5,x) (undocumented; ca65 cannot encode) + .byte $A3, $A9 ; CPU:$A36C PRG:236C A3 A9 -- lax (ZpA9,x) (undocumented; ca65 cannot encode) + .byte $0C, $8D, $61 ; CPU:$A36E PRG:236E 0C 8D 61 -- nop $618D (undocumented; ca65 cannot encode) + ora TimerIndex4 ; CPU:$A371 PRG:2371 05 A9 + asl $0AA4 ; CPU:$A373 PRG:2373 0E A4 0A + cpy #$80 ; CPU:$A376 PRG:2376 C0 80 + bcc NmiHandler_Loop262 ; CPU:$A378 PRG:2378 90 02 + lda #$12 ; CPU:$A37A PRG:237A A9 12 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop262 +; Global: Branch target inside NmiHandler: taken when Loop262. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop262: + sta TimerIndex ; CPU:$A37C PRG:237C 85 A3 + lda #$00 ; CPU:$A37E PRG:237E A9 00 + sta TimerIndex2 ; CPU:$A380 PRG:2380 85 A4 + lda #$0F ; CPU:$A382 PRG:2382 A9 0F + sta TimerIndex3 ; CPU:$A384 PRG:2384 85 A8 + lda #$40 ; CPU:$A386 PRG:2386 A9 40 + sta TimerIndex4 ; CPU:$A388 PRG:2388 85 A9 + lda #$00 ; CPU:$A38A PRG:238A A9 00 + sta ZpAD ; CPU:$A38C PRG:238C 85 AD + sta ZpAE ; CPU:$A38E PRG:238E 85 AE + ldx #$00 ; CPU:$A390 PRG:2390 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero40 +; Global: Branch target inside NmiHandler: taken when OnNonzero40. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero40: + lda #$20 ; CPU:$A392 PRG:2392 A9 20 + sta $0300,x ; CPU:$A394 PRG:2394 9D 00 03 + lda #$04 ; CPU:$A397 PRG:2397 A9 04 + sta $0312,x ; CPU:$A399 PRG:2399 9D 12 03 + txa ; CPU:$A39C PRG:239C 8A + clc ; CPU:$A39D PRG:239D 18 + adc #$15 ; CPU:$A39E PRG:239E 69 15 + tax ; CPU:$A3A0 PRG:23A0 AA + cpx #$FC ; CPU:$A3A1 PRG:23A1 E0 FC + bne NmiHandler_OnNonzero40 ; CPU:$A3A3 PRG:23A3 D0 ED + inc $0560 ; CPU:$A3A5 PRG:23A5 EE 60 05 + rts ; CPU:$A3A8 PRG:23A8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A3A9 +; Global: Branch target inside Label: taken when A3A9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A3A9: + lda $0561 ; CPU:$A3A9 PRG:23A9 AD 61 05 + beq NmiHandler_Loop263 ; CPU:$A3AC PRG:23AC F0 01 + rts ; CPU:$A3AE PRG:23AE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop263 +; Global: Branch target inside NmiHandler: taken when Loop263. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop263: + inc $0560 ; CPU:$A3AF PRG:23AF EE 60 05 + lda #$06 ; CPU:$A3B2 PRG:23B2 A9 06 + sta Zp23 ; CPU:$A3B4 PRG:23B4 85 23 + rts ; CPU:$A3B6 PRG:23B6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A3B7 +; Global: Branch target inside Label: taken when A3B7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A3B7: + ldx #$00 ; CPU:$A3B7 PRG:23B7 A2 00 + ldy #$00 ; CPU:$A3B9 PRG:23B9 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero41 +; Global: Branch target inside NmiHandler: taken when OnNonzero41. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero41: + lda $A401,y ; CPU:$A3BB PRG:23BB B9 01 A4 + iny ; CPU:$A3BE PRG:23BE C8 + sta $030A,x ; CPU:$A3BF PRG:23BF 9D 0A 03 + lda $A401,y ; CPU:$A3C2 PRG:23C2 B9 01 A4 + iny ; CPU:$A3C5 PRG:23C5 C8 + sta $030B,x ; CPU:$A3C6 PRG:23C6 9D 0B 03 + lda #$21 ; CPU:$A3C9 PRG:23C9 A9 21 + sta $0300,x ; CPU:$A3CB PRG:23CB 9D 00 03 + lda #$00 ; CPU:$A3CE PRG:23CE A9 00 + sta $030D,x ; CPU:$A3D0 PRG:23D0 9D 0D 03 + txa ; CPU:$A3D3 PRG:23D3 8A + clc ; CPU:$A3D4 PRG:23D4 18 + adc #$2A ; CPU:$A3D5 PRG:23D5 69 2A + tax ; CPU:$A3D7 PRG:23D7 AA + cpx #$D2 ; CPU:$A3D8 PRG:23D8 E0 D2 + bne NmiHandler_OnNonzero41 ; CPU:$A3DA PRG:23DA D0 DF + lda #$05 ; CPU:$A3DC PRG:23DC A9 05 + sta $0561 ; CPU:$A3DE PRG:23DE 8D 61 05 + inc $0560 ; CPU:$A3E1 PRG:23E1 EE 60 05 + rts ; CPU:$A3E4 PRG:23E4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A3E5 +; Global: Branch target inside Label: taken when A3E5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A3E5: + lda $0561 ; CPU:$A3E5 PRG:23E5 AD 61 05 + bne NmiHandler_Loop264 ; CPU:$A3E8 PRG:23E8 D0 16 + ldx #$00 ; CPU:$A3EA PRG:23EA A2 00 + ldy #$01 ; CPU:$A3EC PRG:23EC A0 01 + jsr Sub_999E ; CPU:$A3EE PRG:23EE 20 9E 99 + ldx #$01 ; CPU:$A3F1 PRG:23F1 A2 01 + ldy #$00 ; CPU:$A3F3 PRG:23F3 A0 00 + jsr Sub_999E ; CPU:$A3F5 PRG:23F5 20 9E 99 + lda #$00 ; CPU:$A3F8 PRG:23F8 A9 00 + sta $0560 ; CPU:$A3FA PRG:23FA 8D 60 05 + inc $06E7 ; CPU:$A3FD PRG:23FD EE E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop264 +; Global: Branch target inside NmiHandler: taken when Loop264. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop264: + rts ; CPU:$A400 PRG:2400 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A401 +; Global: Branch target inside Label: taken when A401. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A401: + tax ; CPU:$A401 PRG:2401 AA + lda ZpEA ; CPU:$A402 PRG:2402 A5 EA + lda Zp2A ; CPU:$A404 PRG:2404 A5 2A + ldx PlayerX ; CPU:$A406 PRG:2406 A6 70 + ldx ZpAA ; CPU:$A408 PRG:2408 A6 AA + ldx ZpA6 ; CPU:$A40A PRG:240A A6 A6 + adc $02A0,y ; CPU:$A40C PRG:240C 79 A0 02 + lda $030F,x ; CPU:$A40F PRG:240F BD 0F 03 + and #$80 ; CPU:$A412 PRG:2412 29 80 + beq NmiHandler_Loop265 ; CPU:$A414 PRG:2414 F0 02 + ldy #$01 ; CPU:$A416 PRG:2416 A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop265 +; Global: Branch target inside NmiHandler: taken when Loop265. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop265: + tya ; CPU:$A418 PRG:2418 98 + sta $030E,x ; CPU:$A419 PRG:2419 9D 0E 03 + lda Zp0A ; CPU:$A41C PRG:241C A5 0A + cmp #$80 ; CPU:$A41E PRG:241E C9 80 + bne NmiHandler_Loop266 ; CPU:$A420 PRG:2420 D0 0B + lda $0304,x ; CPU:$A422 PRG:2422 BD 04 03 + cmp #$07 ; CPU:$A425 PRG:2425 C9 07 + bcc NmiHandler_Loop267 ; CPU:$A427 PRG:2427 90 14 + cmp #$19 ; CPU:$A429 PRG:2429 C9 19 + bcs NmiHandler_Loop267 ; CPU:$A42B PRG:242B B0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop266 +; Global: Branch target inside NmiHandler: taken when Loop266. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop266: + lda #$04 ; CPU:$A42D PRG:242D A9 04 + sta $0312,x ; CPU:$A42F PRG:242F 9D 12 03 + jsr Sub_90F9 ; CPU:$A432 PRG:2432 20 F9 90 + ldx PlayerIndex ; CPU:$A435 PRG:2435 A6 79 + lda #$20 ; CPU:$A437 PRG:2437 A9 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero42 +; Global: Branch target inside NmiHandler: taken when OnNonzero42. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero42: + sta $0300,x ; CPU:$A439 PRG:2439 9D 00 03 + rts ; CPU:$A43C PRG:243C 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop267 +; Global: Branch target inside NmiHandler: taken when Loop267. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop267: + dec $0561 ; CPU:$A43D PRG:243D CE 61 05 + lda #$01 ; CPU:$A440 PRG:2440 A9 01 + bne NmiHandler_OnNonzero42 ; CPU:$A442 PRG:2442 D0 F5 + jsr Sub_A59A ; CPU:$A444 PRG:2444 20 9A A5 + lda (VramWritePtrLo),y ; CPU:$A447 PRG:2447 B1 00 + iny ; CPU:$A449 PRG:2449 C8 + cmp #$AA ; CPU:$A44A PRG:244A C9 AA + bne NmiHandler_Loop268 ; CPU:$A44C PRG:244C D0 0C + dec $0561 ; CPU:$A44E PRG:244E CE 61 05 + lda #$01 ; CPU:$A451 PRG:2451 A9 01 + sta $0300,x ; CPU:$A453 PRG:2453 9D 00 03 + sta $0315,x ; CPU:$A456 PRG:2456 9D 15 03 + rts ; CPU:$A459 PRG:2459 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop268 +; Global: Branch target inside NmiHandler: taken when Loop268. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop268: + sta $0300,x ; CPU:$A45A PRG:245A 9D 00 03 + lda #$22 ; CPU:$A45D PRG:245D A9 22 + sta $0315,x ; CPU:$A45F PRG:245F 9D 15 03 + tya ; CPU:$A462 PRG:2462 98 + sta $030D,x ; CPU:$A463 PRG:2463 9D 0D 03 + lda #$00 ; CPU:$A466 PRG:2466 A9 00 + sta $030F,x ; CPU:$A468 PRG:2468 9D 0F 03 + sta $0324,x ; CPU:$A46B PRG:246B 9D 24 03 + sta $0312,x ; CPU:$A46E PRG:246E 9D 12 03 + sta $0327,x ; CPU:$A471 PRG:2471 9D 27 03 + jmp Sub_87AD ; CPU:$A474 PRG:2474 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Label_A477 +; Global: Branch target inside Label: taken when A477. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A477: + ldx PlayerIndex ; CPU:$A477 PRG:2477 A6 79 + jmp Sub_87AD ; CPU:$A479 PRG:2479 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Label_A47C +; Global: Branch target inside Label: taken when A47C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A47C: + jsr Sub_A59A ; CPU:$A47C PRG:247C 20 9A A5 + lda (VramWritePtrLo),y ; CPU:$A47F PRG:247F B1 00 + iny ; CPU:$A481 PRG:2481 C8 + sta $0302,x ; CPU:$A482 PRG:2482 9D 02 03 + lda (VramWritePtrLo),y ; CPU:$A485 PRG:2485 B1 00 + iny ; CPU:$A487 PRG:2487 C8 + sta $0304,x ; CPU:$A488 PRG:2488 9D 04 03 + lda (VramWritePtrLo),y ; CPU:$A48B PRG:248B B1 00 + iny ; CPU:$A48D PRG:248D C8 + sta $0305,x ; CPU:$A48E PRG:248E 9D 05 03 + lda #$00 ; CPU:$A491 PRG:2491 A9 00 + sta $0303,x ; CPU:$A493 PRG:2493 9D 03 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A496 +; Global: Branch target inside Sub: taken when A496. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A496: + lda (VramWritePtrLo),y ; CPU:$A496 PRG:2496 B1 00 + iny ; CPU:$A498 PRG:2498 C8 + sta $0309,x ; CPU:$A499 PRG:2499 9D 09 03 + lda (VramWritePtrLo),y ; CPU:$A49C PRG:249C B1 00 + iny ; CPU:$A49E PRG:249E C8 + sta $031E,x ; CPU:$A49F PRG:249F 9D 1E 03 + lda #$00 ; CPU:$A4A2 PRG:24A2 A9 00 + sta $0308,x ; CPU:$A4A4 PRG:24A4 9D 08 03 + sta $031D,x ; CPU:$A4A7 PRG:24A7 9D 1D 03 + lda (VramWritePtrLo),y ; CPU:$A4AA PRG:24AA B1 00 + iny ; CPU:$A4AC PRG:24AC C8 + sta $0307,x ; CPU:$A4AD PRG:24AD 9D 07 03 + lda (VramWritePtrLo),y ; CPU:$A4B0 PRG:24B0 B1 00 + iny ; CPU:$A4B2 PRG:24B2 C8 + sta $0301,x ; CPU:$A4B3 PRG:24B3 9D 01 03 + sta $0316,x ; CPU:$A4B6 PRG:24B6 9D 16 03 + lda (VramWritePtrLo),y ; CPU:$A4B9 PRG:24B9 B1 00 + iny ; CPU:$A4BB PRG:24BB C8 + sta $030C,x ; CPU:$A4BC PRG:24BC 9D 0C 03 + tya ; CPU:$A4BF PRG:24BF 98 + sta $030D,x ; CPU:$A4C0 PRG:24C0 9D 0D 03 + lda #$2A ; CPU:$A4C3 PRG:24C3 A9 2A + sta $0300,x ; CPU:$A4C5 PRG:24C5 9D 00 03 + lda #$2D ; CPU:$A4C8 PRG:24C8 A9 2D + sta $0315,x ; CPU:$A4CA PRG:24CA 9D 15 03 + jmp Sub_87AD ; CPU:$A4CD PRG:24CD 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_A4D0 +; Global: Branch target inside Sub: taken when A4D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A4D0: + jsr Sub_A59A ; CPU:$A4D0 PRG:24D0 20 9A A5 + jmp Sub_A496 ; CPU:$A4D3 PRG:24D3 4C 96 A4 +; ----------------------------------------------------------------------------- +; Routine: Label_A4D6 +; Global: Branch target inside Label: taken when A4D6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A4D6: + jsr Sub_A4D0 ; CPU:$A4D6 PRG:24D6 20 D0 A4 + ldx PlayerIndex ; CPU:$A4D9 PRG:24D9 A6 79 + lda #$2C ; CPU:$A4DB PRG:24DB A9 2C + sta $0300,x ; CPU:$A4DD PRG:24DD 9D 00 03 + lda #$2D ; CPU:$A4E0 PRG:24E0 A9 2D + sta $0315,x ; CPU:$A4E2 PRG:24E2 9D 15 03 + rts ; CPU:$A4E5 PRG:24E5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A4E6 +; Global: Branch target inside Label: taken when A4E6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A4E6: + ldx PlayerIndex ; CPU:$A4E6 PRG:24E6 A6 79 + lda $030C,x ; CPU:$A4E8 PRG:24E8 BD 0C 03 + bne NmiHandler_Loop269 ; CPU:$A4EB PRG:24EB D0 0D +; ----------------------------------------------------------------------------- +; Routine: Sub_A4ED +; Global: Branch target inside Sub: taken when A4ED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A4ED: + lda #$21 ; CPU:$A4ED PRG:24ED A9 21 + sta $0300,x ; CPU:$A4EF PRG:24EF 9D 00 03 + lda #$22 ; CPU:$A4F2 PRG:24F2 A9 22 + sta $0315,x ; CPU:$A4F4 PRG:24F4 9D 15 03 + jmp Sub_87AD ; CPU:$A4F7 PRG:24F7 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop269 +; Global: Branch target inside NmiHandler: taken when Loop269. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop269: + dec $030C,x ; CPU:$A4FA PRG:24FA DE 0C 03 + jsr Sub_948E ; CPU:$A4FD PRG:24FD 20 8E 94 + lda $0304,x ; CPU:$A500 PRG:2500 BD 04 03 + sta $0319,x ; CPU:$A503 PRG:2503 9D 19 03 + lda $0305,x ; CPU:$A506 PRG:2506 BD 05 03 + sta $031A,x ; CPU:$A509 PRG:2509 9D 1A 03 + lda $0302,x ; CPU:$A50C PRG:250C BD 02 03 + sta $0317,x ; CPU:$A50F PRG:250F 9D 17 03 + lda $0303,x ; CPU:$A512 PRG:2512 BD 03 03 + sta $0318,x ; CPU:$A515 PRG:2515 9D 18 03 + lda #$2A ; CPU:$A518 PRG:2518 A9 2A + sta $0300,x ; CPU:$A51A PRG:251A 9D 00 03 + lda #$2B ; CPU:$A51D PRG:251D A9 2B + sta $0315,x ; CPU:$A51F PRG:251F 9D 15 03 + ldx PlayerIndex ; CPU:$A522 PRG:2522 A6 79 + lda #$01 ; CPU:$A524 PRG:2524 A9 01 + sta $030E,x ; CPU:$A526 PRG:2526 9D 0E 03 + jmp Sub_9189 ; CPU:$A529 PRG:2529 4C 89 91 +; ----------------------------------------------------------------------------- +; Routine: Label_A52C +; Global: Branch target inside Label: taken when A52C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A52C: + ldx PlayerIndex ; CPU:$A52C PRG:252C A6 79 + lda $030C,x ; CPU:$A52E PRG:252E BD 0C 03 + bne NmiHandler_Loop270 ; CPU:$A531 PRG:2531 D0 03 + jmp Sub_A4ED ; CPU:$A533 PRG:2533 4C ED A4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop270 +; Global: Branch target inside NmiHandler: taken when Loop270. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop270: + dec $030C,x ; CPU:$A536 PRG:2536 DE 0C 03 + ldy $0307,x ; CPU:$A539 PRG:2539 BC 07 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A53C +; Global: Branch target inside Sub: taken when A53C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A53C: + lda $A6F0,y ; CPU:$A53C PRG:253C B9 F0 A6 + iny ; CPU:$A53F PRG:253F C8 + cmp #$AA ; CPU:$A540 PRG:2540 C9 AA + bne NmiHandler_Loop271 ; CPU:$A542 PRG:2542 D0 07 + lda $A6F0,y ; CPU:$A544 PRG:2544 B9 F0 A6 + tay ; CPU:$A547 PRG:2547 A8 + jmp Sub_A53C ; CPU:$A548 PRG:2548 4C 3C A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop271 +; Global: Branch target inside NmiHandler: taken when Loop271. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop271: + clc ; CPU:$A54B PRG:254B 18 + adc $0303,x ; CPU:$A54C PRG:254C 7D 03 03 + sta $0303,x ; CPU:$A54F PRG:254F 9D 03 03 + sta $0318,x ; CPU:$A552 PRG:2552 9D 18 03 + lda $A6F0,y ; CPU:$A555 PRG:2555 B9 F0 A6 + iny ; CPU:$A558 PRG:2558 C8 + adc $0302,x ; CPU:$A559 PRG:2559 7D 02 03 + sta $0302,x ; CPU:$A55C PRG:255C 9D 02 03 + sta $0317,x ; CPU:$A55F PRG:255F 9D 17 03 + lda $0304,x ; CPU:$A562 PRG:2562 BD 04 03 + sta $0319,x ; CPU:$A565 PRG:2565 9D 19 03 + lda $0305,x ; CPU:$A568 PRG:2568 BD 05 03 + sta $031A,x ; CPU:$A56B PRG:256B 9D 1A 03 + tya ; CPU:$A56E PRG:256E 98 + sta $0307,x ; CPU:$A56F PRG:256F 9D 07 03 + ldy $0309,x ; CPU:$A572 PRG:2572 BC 09 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A575 +; Global: Branch target inside Sub: taken when A575. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A575: + lda $A732,y ; CPU:$A575 PRG:2575 B9 32 A7 + iny ; CPU:$A578 PRG:2578 C8 + cmp #$AA ; CPU:$A579 PRG:2579 C9 AA + bne NmiHandler_Loop272 ; CPU:$A57B PRG:257B D0 07 + lda $A732,y ; CPU:$A57D PRG:257D B9 32 A7 + tay ; CPU:$A580 PRG:2580 A8 + jmp Sub_A575 ; CPU:$A581 PRG:2581 4C 75 A5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop272 +; Global: Branch target inside NmiHandler: taken when Loop272. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop272: + sta $0306,x ; CPU:$A584 PRG:2584 9D 06 03 + lda $A732,y ; CPU:$A587 PRG:2587 B9 32 A7 + iny ; CPU:$A58A PRG:258A C8 + sta $031B,x ; CPU:$A58B PRG:258B 9D 1B 03 + tya ; CPU:$A58E PRG:258E 98 + sta $0309,x ; CPU:$A58F PRG:258F 9D 09 03 + jmp Sub_87AD ; CPU:$A592 PRG:2592 4C AD 87 +; ---- data $A595-$A599 (5 bytes) ---- + .byte $A6, $79, $4C, $AD, $87 ; CPU:$A595 PRG:2595 A6 79 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_A59A +; Global: Branch target inside Sub: taken when A59A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A59A: + ldx PlayerIndex ; CPU:$A59A PRG:259A A6 79 + lda $030A,x ; CPU:$A59C PRG:259C BD 0A 03 + sta VramWritePtrLo ; CPU:$A59F PRG:259F 85 00 + lda $030B,x ; CPU:$A5A1 PRG:25A1 BD 0B 03 + sta VramWritePtrHi ; CPU:$A5A4 PRG:25A4 85 01 + ldy $030D,x ; CPU:$A5A6 PRG:25A6 BC 0D 03 + rts ; CPU:$A5A9 PRG:25A9 60 +; ---- data $A5AA-$B5E2 (4153 bytes) ---- +; referenced by `lda $A7BC,y` at $83A5 (operand $A7BC falls inside this region) +; referenced by `ldx $A7BD,y` at $83A8 (operand $A7BD falls inside this region) +; referenced by `sta $AD9D` at $98F2 (operand $AD9D falls inside this region) +; referenced by `sta $AAC9,y` at $98FC (operand $AAC9 falls inside this region) +; referenced by `ldx $A986,y` at $9D4B (operand $A986 falls inside this region) +; referenced by `lda $A6F0,y` at $A53C (operand $A6F0 falls inside this region) +; ... and 6 further references from decoded code + .byte $24, $05, $07, $00, $60, $66, $64, $03, $4C, $25, $7A, $81, $60, $05, $42, $25 ; CPU:$A5AA PRG:25AA 24 05 07 00 60 66 64 03 4C 25 7A 81 60 05 42 25 + .byte $7A, $81, $68, $05, $18, $26, $00, $00, $00, $05, $28, $25, $7A, $81, $68, $05 ; CPU:$A5BA PRG:25BA 7A 81 68 05 18 26 00 00 00 05 28 25 7A 81 68 05 + .byte $28, $25, $60, $66, $64, $07, $20, $25, $6C, $73, $60, $01, $48, $25, $7A, $81 ; CPU:$A5CA PRG:25CA 28 25 60 66 64 07 20 25 6C 73 60 01 48 25 7A 81 + .byte $68, $05, $50, $26, $00, $00, $00, $05, $28, $25, $60, $66, $66, $07, $40, $AA ; CPU:$A5DA PRG:25DA 68 05 50 26 00 00 00 05 28 25 60 66 66 07 40 AA + .byte $24, $05, $19, $00, $60, $66, $64, $07, $4C, $25, $7A, $81, $60, $05, $42, $25 ; CPU:$A5EA PRG:25EA 24 05 19 00 60 66 64 07 4C 25 7A 81 60 05 42 25 + .byte $7A, $81, $68, $05, $18, $26, $00, $00, $00, $05, $28, $25, $7A, $81, $68, $05 ; CPU:$A5FA PRG:25FA 7A 81 68 05 18 26 00 00 00 05 28 25 7A 81 68 05 + .byte $28, $25, $60, $66, $64, $03, $20, $25, $6C, $73, $60, $01, $48, $25, $7A, $81 ; CPU:$A60A PRG:260A 28 25 60 66 64 03 20 25 6C 73 60 01 48 25 7A 81 + .byte $68, $05, $50, $26, $00, $00, $00, $05, $28, $25, $60, $66, $66, $03, $40, $AA ; CPU:$A61A PRG:261A 68 05 50 26 00 00 00 05 28 25 60 66 66 03 40 AA + .byte $24, $0B, $05, $30, $60, $66, $64, $03, $4E, $25, $6C, $73, $60, $01, $40, $25 ; CPU:$A62A PRG:262A 24 0B 05 30 60 66 64 03 4E 25 6C 73 60 01 40 25 + .byte $96, $9D, $68, $05, $20, $25, $7A, $81, $68, $05, $24, $26, $00, $00, $00, $05 ; CPU:$A63A PRG:263A 96 9D 68 05 20 25 7A 81 68 05 24 26 00 00 00 05 + .byte $28, $25, $60, $66, $64, $03, $18, $25, $7A, $81, $60, $05, $20, $25, $7A, $81 ; CPU:$A64A PRG:264A 28 25 60 66 64 03 18 25 7A 81 60 05 20 25 7A 81 + .byte $68, $05, $50, $26, $00, $00, $00, $05, $28, $25, $7A, $81, $68, $05, $28, $25 ; CPU:$A65A PRG:265A 68 05 50 26 00 00 00 05 28 25 7A 81 68 05 28 25 + .byte $60, $66, $66, $07, $40, $AA, $24, $08, $18, $A4, $60, $66, $66, $07, $4F, $25 ; CPU:$A66A PRG:266A 60 66 66 07 40 AA 24 08 18 A4 60 66 66 07 4F 25 + .byte $6C, $73, $62, $01, $24, $25, $7A, $81, $68, $05, $34, $26, $00, $00, $00, $05 ; CPU:$A67A PRG:267A 6C 73 62 01 24 25 7A 81 68 05 34 26 00 00 00 05 + .byte $28, $25, $7A, $81, $68, $05, $60, $25, $7A, $81, $62, $05, $44, $25, $7A, $81 ; CPU:$A68A PRG:268A 28 25 7A 81 68 05 60 25 7A 81 62 05 44 25 7A 81 + .byte $68, $05, $3E, $26, $00, $00, $00, $05, $28, $25, $60, $66, $66, $07, $60, $AA ; CPU:$A69A PRG:269A 68 05 3E 26 00 00 00 05 28 25 60 66 66 07 60 AA + .byte $24, $0B, $1B, $00, $60, $66, $64, $07, $4E, $25, $6C, $73, $60, $01, $40, $25 ; CPU:$A6AA PRG:26AA 24 0B 1B 00 60 66 64 07 4E 25 6C 73 60 01 40 25 + .byte $96, $9D, $68, $05, $20, $25, $7A, $81, $68, $05, $24, $26, $00, $00, $00, $05 ; CPU:$A6BA PRG:26BA 96 9D 68 05 20 25 7A 81 68 05 24 26 00 00 00 05 + .byte $28, $25, $60, $66, $64, $07, $18, $25, $7A, $81, $60, $05, $20, $25, $7A, $81 ; CPU:$A6CA PRG:26CA 28 25 60 66 64 07 18 25 7A 81 60 05 20 25 7A 81 + .byte $68, $05, $50, $26, $00, $00, $00, $05, $28, $25, $7A, $81, $68, $05, $28, $25 ; CPU:$A6DA PRG:26DA 68 05 50 26 00 00 00 05 28 25 7A 81 68 05 28 25 + .byte $60, $66, $66, $03, $50, $AA, $00, $00, $00, $00, $D0, $FF, $D0, $FF, $D0, $FF ; CPU:$A6EA PRG:26EA 60 66 66 03 50 AA 00 00 00 00 D0 FF D0 FF D0 FF + .byte $E0, $FF, $00, $00, $E0, $FF, $00, $00, $E0, $FF, $00, $00, $00, $00, $F0, $FF ; CPU:$A6FA PRG:26FA E0 FF 00 00 E0 FF 00 00 E0 FF 00 00 00 00 F0 FF + .byte $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, $00, $00, $20, $00, $00, $00 ; CPU:$A70A PRG:270A 00 00 00 00 00 00 10 00 00 00 00 00 20 00 00 00 + .byte $20, $00, $00, $00, $20, $00, $30, $00, $30, $00, $30, $00, $00, $00, $00, $00 ; CPU:$A71A PRG:271A 20 00 00 00 20 00 30 00 30 00 30 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $AA, $38, $87, $78, $87, $78, $74, $75, $74, $75 ; CPU:$A72A PRG:272A 00 00 00 00 00 00 AA 38 87 78 87 78 74 75 74 75 + .byte $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A ; CPU:$A73A PRG:273A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A + .byte $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A ; CPU:$A74A PRG:274A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A + .byte $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $79, $7A, $74, $75, $74, $75 ; CPU:$A75A PRG:275A 79 7A 79 7A 79 7A 79 7A 79 7A 79 7A 74 75 74 75 + .byte $AA, $34, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A76A PRG:276A AA 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20 ; CPU:$A77A PRG:277A 20 20 20 20 43 52 45 41 54 45 20 42 59 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A78A PRG:278A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $4D, $2E, $4F, $4F, $59, $41, $4D, $41, $20 ; CPU:$A79A PRG:279A 20 20 20 20 20 20 20 4D 2E 4F 4F 59 41 4D 41 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$A7AA PRG:27AA 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $2C, $A8, $2C, $A8, $05, $A8, $00, $07, $D0, $A7, $F9, $A7, $EF, $A7 ; CPU:$A7BA PRG:27BA 20 20 2C A8 2C A8 05 A8 00 07 D0 A7 F9 A7 EF A7 + .byte $F4, $A7, $D0, $A7, $D0, $A7, $3F, $00, $10, $19, $31, $26, $0F, $19, $31, $36 ; CPU:$A7CA PRG:27CA F4 A7 D0 A7 D0 A7 3F 00 10 19 31 26 0F 19 31 36 + .byte $0F, $19, $30, $07, $21, $19, $30, $07, $21, $3F, $18, $08, $19, $08, $30, $18 ; CPU:$A7DA PRG:27DA 0F 19 30 07 21 19 30 07 21 3F 18 08 19 08 30 18 + .byte $19, $30, $10, $0F, $00, $3F, $0F, $01, $30, $00, $3F, $0F, $01, $21, $00, $3F ; CPU:$A7EA PRG:27EA 19 30 10 0F 00 3F 0F 01 30 00 3F 0F 01 21 00 3F + .byte $10, $08, $19, $36, $24, $06, $19, $36, $24, $06, $00, $3F, $00, $10, $19, $30 ; CPU:$A7FA PRG:27FA 10 08 19 36 24 06 19 36 24 06 00 3F 00 10 19 30 + .byte $19, $30, $19, $26, $19, $30, $19, $30, $19, $26, $19, $2C, $12, $12, $3F, $10 ; CPU:$A80A PRG:280A 19 30 19 26 19 30 19 30 19 26 19 2C 12 12 3F 10 + .byte $10, $19, $30, $30, $30, $19, $30, $30, $30, $19, $30, $12, $12, $19, $30, $2C ; CPU:$A81A PRG:281A 10 19 30 30 30 19 30 30 30 19 30 12 12 19 30 2C + .byte $0F, $00, $3F, $00, $20, $0F, $30, $0F, $16, $0F, $16, $0F, $27, $0F, $2C, $0F ; CPU:$A82A PRG:282A 0F 00 3F 00 20 0F 30 0F 16 0F 16 0F 27 0F 2C 0F + .byte $02, $0F, $30, $0F, $30, $0F, $0F, $0F, $0F, $0F, $30, $10, $02, $0F, $30, $0F ; CPU:$A83A PRG:283A 02 0F 30 0F 30 0F 0F 0F 0F 0F 30 10 02 0F 30 0F + .byte $0F, $0F, $0F, $0F, $0F, $00, $20, $63, $5A, $2A, $20, $83, $5A, $2A, $22, $23 ; CPU:$A84A PRG:284A 0F 0F 0F 0F 0F 00 20 63 5A 2A 20 83 5A 2A 22 23 + .byte $5A, $2B, $22, $43, $5A, $2B, $20, $C4, $18, $26, $2A, $2A, $27, $26, $2A, $2A ; CPU:$A85A PRG:285A 5A 2B 22 43 5A 2B 20 C4 18 26 2A 2A 27 26 2A 2A + .byte $27, $26, $2A, $2A, $27, $26, $2A, $2A, $27, $B3, $2A, $2A, $B5, $B3, $2A, $2A ; CPU:$A86A PRG:286A 27 26 2A 2A 27 26 2A 2A 27 B3 2A 2A B5 B3 2A 2A + .byte $27, $20, $E4, $18, $2C, $F5, $5C, $2D, $2C, $F5, $5C, $2D, $2C, $F5, $5C, $2D ; CPU:$A87A PRG:287A 27 20 E4 18 2C F5 5C 2D 2C F5 5C 2D 2C F5 5C 2D + .byte $2C, $F5, $5C, $2D, $2C, $F5, $2B, $B2, $2C, $F5, $5C, $2D, $21, $04, $18, $2C ; CPU:$A88A PRG:288A 2C F5 5C 2D 2C F5 2B B2 2C F5 5C 2D 21 04 18 2C + .byte $30, $FF, $B2, $2C, $30, $5A, $2D, $2C, $30, $FF, $B2, $2C, $30, $FF, $B2, $2C ; CPU:$A89A PRG:289A 30 FF B2 2C 30 5A 2D 2C 30 FF B2 2C 30 FF B2 2C + .byte $30, $24, $24, $2C, $30, $5A, $2D, $21, $24, $18, $2C, $30, $24, $24, $2C, $30 ; CPU:$A8AA PRG:28AA 30 24 24 2C 30 5A 2D 21 24 18 2C 30 24 24 2C 30 + .byte $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24, $24, $2C, $30, $24, $24, $2C, $30 ; CPU:$A8BA PRG:28BA 5A 2D 2C 30 24 24 2C 30 24 24 2C 30 24 24 2C 30 + .byte $5A, $2D, $21, $44, $18, $2C, $FE, $2A, $27, $2C, $30, $5A, $2D, $2C, $30, $24 ; CPU:$A8CA PRG:28CA 5A 2D 21 44 18 2C FE 2A 27 2C 30 5A 2D 2C 30 24 + .byte $24, $2C, $30, $24, $24, $2C, $FE, $2A, $B5, $2C, $FE, $FD, $2D, $21, $64, $18 ; CPU:$A8DA PRG:28DA 24 2C 30 24 24 2C FE 2A B5 2C FE FD 2D 21 64 18 + .byte $28, $2B, $5C, $2D, $2C, $30, $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24, $24 ; CPU:$A8EA PRG:28EA 28 2B 5C 2D 2C 30 5A 2D 2C 30 24 24 2C 30 24 24 + .byte $2C, $F5, $2B, $B2, $2C, $F5, $5C, $29, $21, $84, $18, $24, $24, $5A, $2D, $2C ; CPU:$A8FA PRG:28FA 2C F5 2B B2 2C F5 5C 29 21 84 18 24 24 5A 2D 2C + .byte $30, $5A, $2D, $2C, $30, $24, $24, $2C, $30, $24, $24, $2C, $30, $24, $24, $2C ; CPU:$A90A PRG:290A 30 5A 2D 2C 30 24 24 2C 30 24 24 2C 30 24 24 2C + .byte $30, $5A, $27, $21, $A4, $18, $B3, $FB, $5A, $2D, $2C, $30, $5A, $2D, $2C, $30 ; CPU:$A91A PRG:291A 30 5A 27 21 A4 18 B3 FB 5A 2D 2C 30 5A 2D 2C 30 + .byte $FC, $B5, $2C, $30, $FC, $B5, $2C, $30, $24, $24, $2C, $30, $5A, $2D, $21, $C4 ; CPU:$A92A PRG:292A FC B5 2C 30 FC B5 2C 30 24 24 2C 30 5A 2D 21 C4 + .byte $18, $2C, $FE, $FD, $2D, $2C, $FE, $FD, $2D, $2C, $FE, $FD, $2D, $2C, $FE, $FD ; CPU:$A93A PRG:293A 18 2C FE FD 2D 2C FE FD 2D 2C FE FD 2D 2C FE FD + .byte $2D, $2C, $FE, $2A, $B5, $2C, $30, $5A, $2D, $21, $E4, $18, $28, $2B, $2B, $29 ; CPU:$A94A PRG:294A 2D 2C FE 2A B5 2C 30 5A 2D 21 E4 18 28 2B 2B 29 + .byte $28, $2B, $2B, $29, $28, $2B, $2B, $29, $28, $2B, $2B, $29, $E9, $2B, $2B, $B2 ; CPU:$A95A PRG:295A 28 2B 2B 29 28 2B 2B 29 28 2B 2B 29 E9 2B 2B B2 + .byte $E9, $23, $FF, $B2, $22, $AA, $0D, $01, $24, $19, $15, $0A, $25, $0E, $1B, $24 ; CPU:$A96A PRG:296A E9 23 FF B2 22 AA 0D 01 24 19 15 0A 25 0E 1B 24 + .byte $10, $0A, $16, $0E, $22, $EA, $0D, $02, $24, $19, $15, $0A, $25, $0E, $1B, $24 ; CPU:$A97A PRG:297A 10 0A 16 0E 22 EA 0D 02 24 19 15 0A 25 0E 1B 24 + .byte $10, $0A, $16, $0E, $23, $49, $0E, $24, $01, $09, $08, $05, $24, $17, $12, $17 ; CPU:$A98A PRG:298A 10 0A 16 0E 23 49 0E 24 01 09 08 05 24 17 12 17 + .byte $1D, $0E, $17, $0D, $18, $23, $C0, $48, $AA, $23, $C8, $18, $05, $55, $05, $05 ; CPU:$A99A PRG:299A 1D 0E 17 0D 18 23 C0 48 AA 23 C8 18 05 55 05 05 + .byte $05, $05, $05, $05, $00, $55, $00, $00, $00, $00, $00, $00, $00, $55, $00, $00 ; CPU:$A9AA PRG:29AA 05 05 05 05 00 55 00 00 00 00 00 00 00 55 00 00 + .byte $00, $00, $00, $00, $23, $E0, $48, $A5, $23, $E8, $48, $FF, $23, $F0, $48, $FF ; CPU:$A9BA PRG:29BA 00 00 00 00 23 E0 48 A5 23 E8 48 FF 23 F0 48 FF + .byte $00, $20, $00, $70, $31, $20, $30, $70, $31, $20, $60, $60, $31, $20, $85, $01 ; CPU:$A9CA PRG:29CA 00 20 00 70 31 20 30 70 31 20 60 60 31 20 85 01 + .byte $5B, $20, $A5, $03, $5D, $6F, $71, $20, $A8, $57, $72, $20, $C5, $02, $5E, $70 ; CPU:$A9DA PRG:29DA 5B 20 A5 03 5D 6F 71 20 A8 57 72 20 C5 02 5E 70 + .byte $21, $81, $87, $32, $33, $34, $35, $36, $37, $38, $21, $02, $8B, $39, $3A, $3B ; CPU:$A9EA PRG:29EA 21 81 87 32 33 34 35 36 37 38 21 02 8B 39 3A 3B + .byte $3C, $3D, $3E, $3F, $40, $41, $41, $38, $20, $E3, $8C, $42, $43, $44, $44, $45 ; CPU:$A9FA PRG:29FA 3C 3D 3E 3F 40 41 41 38 20 E3 8C 42 43 44 44 45 + .byte $46, $47, $48, $21, $41, $41, $38, $20, $E4, $92, $49, $4A, $4B, $4C, $4D, $4E ; CPU:$AA0A PRG:2A0A 46 47 48 21 41 41 38 20 E4 92 49 4A 4B 4C 4D 4E + .byte $4F, $50, $51, $52, $53, $54, $67, $68, $69, $6A, $6B, $61, $20, $E5, $8C, $5F ; CPU:$AA1A PRG:2A1A 4F 50 51 52 53 54 67 68 69 6A 6B 61 20 E5 8C 5F + .byte $55, $56, $57, $58, $60, $61, $62, $63, $64, $65, $66, $21, $06, $46, $73, $21 ; CPU:$AA2A PRG:2A2A 55 56 57 58 60 61 62 63 64 65 66 21 06 46 73 21 + .byte $0C, $8E, $E3, $E4, $B9, $E5, $E6, $E7, $6B, $E8, $BF, $EA, $EB, $EC, $B6, $65 ; CPU:$AA3A PRG:2A3A 0C 8E E3 E4 B9 E5 E6 E7 6B E8 BF EA EB EC B6 65 + .byte $21, $8D, $86, $D5, $D6, $24, $24, $D7, $D8, $21, $AE, $84, $D1, $D2, $D3, $D4 ; CPU:$AA4A PRG:2A4A 21 8D 86 D5 D6 24 24 D7 D8 21 AE 84 D1 D2 D3 D4 + .byte $22, $6B, $84, $ED, $5D, $5E, $EE, $21, $66, $42, $72, $21, $68, $88, $74, $75 ; CPU:$AA5A PRG:2A5A 22 6B 84 ED 5D 5E EE 21 66 42 72 21 68 88 74 75 + .byte $60, $76, $77, $63, $78, $B6, $22, $27, $82, $79, $7A, $22, $46, $01, $66, $22 ; CPU:$AA6A PRG:2A6A 60 76 77 63 78 B6 22 27 82 79 7A 22 46 01 66 22 + .byte $C5, $46, $73, $23, $24, $01, $6C, $23, $43, $03, $5B, $6D, $6E, $23, $46, $59 ; CPU:$AA7A PRG:2A7A C5 46 73 23 24 01 6C 23 43 03 5B 6D 6E 23 46 59 + .byte $66, $20, $BF, $96, $8A, $5D, $5D, $5D, $5D, $5D, $86, $5D, $5D, $87, $88, $5D ; CPU:$AA8A PRG:2A8A 66 20 BF 96 8A 5D 5D 5D 5D 5D 86 5D 5D 87 88 5D + .byte $5D, $89, $5D, $5D, $5D, $5D, $5D, $5D, $5D, $8B, $21, $7E, $88, $82, $83, $24 ; CPU:$AA9A PRG:2A9A 5D 89 5D 5D 5D 5D 5D 5D 5D 8B 21 7E 88 82 83 24 + .byte $24, $24, $24, $84, $85, $21, $9D, $86, $7E, $7F, $24, $24, $80, $81, $21, $BC ; CPU:$AAAA PRG:2AAA 24 24 24 84 85 21 9D 86 7E 7F 24 24 80 81 21 BC + .byte $84, $7B, $59, $7C, $7D, $21, $EA, $01, $22, $23, $C0, $08, $AA, $AA, $FA, $FA ; CPU:$AABA PRG:2ABA 84 7B 59 7C 7D 21 EA 01 22 23 C0 08 AA AA FA FA + .byte $FA, $FA, $AA, $AA, $23, $D0, $42, $55, $23, $D8, $42, $55, $23, $E0, $42, $55 ; CPU:$AACA PRG:2ACA FA FA AA AA 23 D0 42 55 23 D8 42 55 23 E0 42 55 + .byte $23, $E8, $42, $55, $23, $F8, $48, $FF, $24, $00, $70, $31, $24, $30, $70, $31 ; CPU:$AADA PRG:2ADA 23 E8 42 55 23 F8 48 FF 24 00 70 31 24 30 70 31 + .byte $24, $60, $60, $31, $24, $9A, $01, $B4, $24, $B8, $03, $C9, $C7, $B6, $24, $A1 ; CPU:$AAEA PRG:2AEA 24 60 60 31 24 9A 01 B4 24 B8 03 C9 C7 B6 24 A1 + .byte $57, $72, $24, $D9, $02, $C8, $B7, $25, $9E, $87, $8C, $8D, $8E, $8F, $90, $91 ; CPU:$AAFA PRG:2AFA 57 72 24 D9 02 C8 B7 25 9E 87 8C 8D 8E 8F 90 91 + .byte $38, $25, $1D, $8B, $92, $93, $94, $95, $96, $97, $98, $99, $9A, $9A, $38, $24 ; CPU:$AB0A PRG:2B0A 38 25 1D 8B 92 93 94 95 96 97 98 99 9A 9A 38 24 + .byte $FC, $8C, $9B, $9C, $9D, $9D, $9E, $9F, $A0, $A1, $1A, $9A, $9A, $38, $24, $FB ; CPU:$AB1A PRG:2B1A FC 8C 9B 9C 9D 9D 9E 9F A0 A1 1A 9A 9A 38 24 FB + .byte $92, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD, $BF, $C0, $C1 ; CPU:$AB2A PRG:2B2A 92 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD BF C0 C1 + .byte $C2, $C3, $BA, $24, $FA, $8C, $B8, $AE, $AF, $B0, $B1, $B9, $BA, $BB, $BC, $BD ; CPU:$AB3A PRG:2B3A C2 C3 BA 24 FA 8C B8 AE AF B0 B1 B9 BA BB BC BD + .byte $BE, $66, $25, $14, $46, $73, $25, $13, $8E, $EF, $F0, $60, $F1, $F2, $F3, $C3 ; CPU:$AB4A PRG:2B4A BE 66 25 14 46 73 25 13 8E EF F0 60 F1 F2 F3 C3 + .byte $F4, $67, $F6, $F7, $F8, $5D, $BE, $25, $92, $86, $7E, $7F, $24, $24, $80, $81 ; CPU:$AB5A PRG:2B5A F4 67 F6 F7 F8 5D BE 25 92 86 7E 7F 24 24 80 81 + .byte $25, $B1, $84, $7B, $59, $7C, $7D, $26, $74, $84, $F9, $B6, $B7, $FA, $25, $78 ; CPU:$AB6A PRG:2B6A 25 B1 84 7B 59 7C 7D 26 74 84 F9 B6 B7 FA 25 78 + .byte $42, $72, $25, $77, $88, $CA, $CB, $B9, $CC, $CD, $BC, $CE, $5D, $26, $38, $82 ; CPU:$AB7A PRG:2B7A 42 72 25 77 88 CA CB B9 CC CD BC CE 5D 26 38 82 + .byte $CF, $D0, $26, $59, $01, $66, $26, $D5, $46, $73, $27, $3B, $01, $C4, $27, $5A ; CPU:$AB8A PRG:2B8A CF D0 26 59 01 66 26 D5 46 73 27 3B 01 C4 27 5A + .byte $03, $C6, $C5, $B4, $27, $41, $59, $66, $24, $A0, $96, $E1, $B6, $B6, $B6, $B6 ; CPU:$AB9A PRG:2B9A 03 C6 C5 B4 27 41 59 66 24 A0 96 E1 B6 B6 B6 B6 + .byte $B6, $DD, $B6, $B6, $DE, $DF, $B6, $B6, $E0, $B6, $B6, $B6, $B6, $B6, $B6, $B6 ; CPU:$ABAA PRG:2BAA B6 DD B6 B6 DE DF B6 B6 E0 B6 B6 B6 B6 B6 B6 B6 + .byte $E2, $25, $61, $88, $D9, $DA, $24, $24, $24, $24, $DB, $DC, $25, $82, $86, $D5 ; CPU:$ABBA PRG:2BBA E2 25 61 88 D9 DA 24 24 24 24 DB DC 25 82 86 D5 + .byte $D6, $24, $24, $D7, $D8, $25, $A3, $84, $D1, $D2, $D3, $D4, $25, $F5, $01, $22 ; CPU:$ABCA PRG:2BCA D6 24 24 D7 D8 25 A3 84 D1 D2 D3 D4 25 F5 01 22 + .byte $27, $C0, $48, $FF, $27, $D6, $42, $55, $27, $DE, $42, $55, $27, $E6, $42, $55 ; CPU:$ABDA PRG:2BDA 27 C0 48 FF 27 D6 42 55 27 DE 42 55 27 E6 42 55 + .byte $27, $EE, $42, $55, $27, $F8, $48, $FF, $00, $F4, $FE, $00, $40, $20, $00, $06 ; CPU:$ABEA PRG:2BEA 27 EE 42 55 27 F8 48 FF 00 F4 FE 00 40 20 00 06 + .byte $00, $20, $62, $06, $00, $20, $78, $06, $00, $20, $20, $20, $20, $20, $20, $20 ; CPU:$ABFA PRG:2BFA 00 20 62 06 00 20 78 06 00 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52, $45, $41, $54 ; CPU:$AC0A PRG:2C0A 20 20 20 20 20 20 20 20 20 20 20 43 52 45 41 54 + .byte $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$AC1A PRG:2C1A 45 20 42 59 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4D, $2E ; CPU:$AC2A PRG:2C2A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 2E + .byte $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$AC3A PRG:2C3A 4F 4F 59 41 4D 41 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $EC, $2B, $40, $FD, $F4, $2D, $40 ; CPU:$AC4A PRG:2C4A 20 20 20 20 20 20 20 20 20 EC 2B 40 FD F4 2D 40 + .byte $F8, $F4, $2C, $40, $00, $FC, $2E, $40, $FD, $EC, $2F, $00, $FC, $F4, $30, $00 ; CPU:$AC5A PRG:2C5A F8 F4 2C 40 00 FC 2E 40 FD EC 2F 00 FC F4 30 00 + .byte $FC, $FC, $32, $00, $FC, $AA, $00, $00, $00, $EC, $2B, $00, $FB, $F4, $2C, $00 ; CPU:$AC6A PRG:2C6A FC FC 32 00 FC AA 00 00 00 EC 2B 00 FB F4 2C 00 + .byte $F8, $F4, $2D, $00, $00, $FC, $2E, $00, $FB, $EC, $14, $00, $FC, $F4, $15, $00 ; CPU:$AC7A PRG:2C7A F8 F4 2D 00 00 FC 2E 00 FB EC 14 00 FC F4 15 00 + .byte $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC, $14, $00, $FC, $F4, $18, $00 ; CPU:$AC8A PRG:2C8A FC FC B7 00 F8 FC 17 00 00 EC 14 00 FC F4 18 00 + .byte $FC, $FC, $1A, $00, $FC, $AA, $00, $00, $00, $EC, $1B, $00, $FC, $F4, $1C, $00 ; CPU:$AC9A PRG:2C9A FC FC 1A 00 FC AA 00 00 00 EC 1B 00 FC F4 1C 00 + .byte $F8, $F4, $1D, $00, $00, $FC, $1E, $00, $FC, $EC, $00, $00, $FC, $F4, $01, $00 ; CPU:$ACAA PRG:2CAA F8 F4 1D 00 00 FC 1E 00 FC EC 00 00 FC F4 01 00 + .byte $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC, $04, $00, $FC, $F4, $05, $00 ; CPU:$ACBA PRG:2CBA FD FC 02 00 F8 FC 03 00 00 EC 04 00 FC F4 05 00 + .byte $FC, $FC, $06, $00, $FD, $AA, $00, $00, $00, $EC, $04, $00, $FC, $F4, $07, $00 ; CPU:$ACCA PRG:2CCA FC FC 06 00 FD AA 00 00 00 EC 04 00 FC F4 07 00 + .byte $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC, $0A, $00, $FC, $F4, $11, $00 ; CPU:$ACDA PRG:2CDA FC FC 08 00 F8 FC 09 00 00 EC 0A 00 FC F4 11 00 + .byte $F8, $F4, $12, $00, $00, $FC, $13, $00, $FC, $EC, $0E, $00, $FC, $F4, $0F, $00 ; CPU:$ACEA PRG:2CEA F8 F4 12 00 00 FC 13 00 FC EC 0E 00 FC F4 0F 00 + .byte $FD, $FC, $10, $00, $FC, $AA, $00, $00, $00, $EC, $0E, $00, $FC, $F4, $0B, $00 ; CPU:$ACFA PRG:2CFA FD FC 10 00 FC AA 00 00 00 EC 0E 00 FC F4 0B 00 + .byte $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC, $1F, $00, $FC, $F4, $20, $00 ; CPU:$AD0A PRG:2D0A FC FC 0C 00 F8 FC 0D 00 00 EC 1F 00 FC F4 20 00 + .byte $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC, $23, $00, $FC, $F4, $25, $40 ; CPU:$AD1A PRG:2D1A FB FC 22 00 FC AA 00 00 00 EC 23 00 FC F4 25 40 + .byte $F8, $F4, $25, $00, $00, $FC, $26, $00, $FC, $EC, $1F, $40, $FC, $F4, $20, $40 ; CPU:$AD2A PRG:2D2A F8 F4 25 00 00 FC 26 00 FC EC 1F 40 FC F4 20 40 + .byte $FD, $FC, $22, $40, $FC, $AA, $00, $00, $00, $EC, $23, $00, $FC, $F4, $25, $40 ; CPU:$AD3A PRG:2D3A FD FC 22 40 FC AA 00 00 00 EC 23 00 FC F4 25 40 + .byte $F8, $F4, $25, $00, $00, $FC, $26, $40, $FC, $EC, $42, $00, $FD, $F4, $66, $40 ; CPU:$AD4A PRG:2D4A F8 F4 25 00 00 FC 26 40 FC EC 42 00 FD F4 66 40 + .byte $F8, $F4, $66, $00, $00, $FC, $67, $00, $FD, $EC, $68, $00, $FC, $F4, $69, $00 ; CPU:$AD5A PRG:2D5A F8 F4 66 00 00 FC 67 00 FD EC 68 00 FC F4 69 00 + .byte $F8, $F4, $6A, $00, $00, $FC, $3E, $00, $FA, $EC, $42, $00, $FC, $F4, $4F, $00 ; CPU:$AD6A PRG:2D6A F8 F4 6A 00 00 FC 3E 00 FA EC 42 00 FC F4 4F 00 + .byte $F8, $F4, $50, $00, $00, $FC, $51, $00, $FC, $EC, $52, $00, $FC, $F4, $53, $00 ; CPU:$AD7A PRG:2D7A F8 F4 50 00 00 FC 51 00 FC EC 52 00 FC F4 53 00 + .byte $F8, $F4, $54, $00, $00, $FC, $3E, $00, $FB, $EC, $38, $00, $FA, $F4, $39, $00 ; CPU:$AD8A PRG:2D8A F8 F4 54 00 00 FC 3E 00 FB EC 38 00 FA F4 39 00 + .byte $FA, $FC, $3A, $00, $FA, $AA, $00, $00, $00, $EC, $3B, $00, $FA, $F4, $3C, $00 ; CPU:$AD9A PRG:2D9A FA FC 3A 00 FA AA 00 00 00 EC 3B 00 FA F4 3C 00 + .byte $F5, $F4, $3D, $00, $FD, $FC, $3E, $00, $FA, $EC, $42, $00, $FD, $F4, $43, $00 ; CPU:$ADAA PRG:2DAA F5 F4 3D 00 FD FC 3E 00 FA EC 42 00 FD F4 43 00 + .byte $F8, $F4, $44, $00, $00, $FC, $45, $00, $FD, $EC, $46, $00, $FA, $F4, $47, $00 ; CPU:$ADBA PRG:2DBA F8 F4 44 00 00 FC 45 00 FD EC 46 00 FA F4 47 00 + .byte $F4, $F4, $48, $00, $FC, $FC, $3E, $00, $FA, $EC, $42, $00, $FD, $F4, $5B, $40 ; CPU:$ADCA PRG:2DCA F4 F4 48 00 FC FC 3E 00 FA EC 42 00 FD F4 5B 40 + .byte $F8, $F4, $5B, $00, $00, $FC, $5C, $00, $FD, $EC, $5D, $00, $FC, $F4, $5E, $00 ; CPU:$ADDA PRG:2DDA F8 F4 5B 00 00 FC 5C 00 FD EC 5D 00 FC F4 5E 00 + .byte $F8, $F4, $5F, $00, $00, $FC, $3E, $40, $FD, $EC, $95, $40, $F8, $EC, $95, $00 ; CPU:$ADEA PRG:2DEA F8 F4 5F 00 00 FC 3E 40 FD EC 95 40 F8 EC 95 00 + .byte $00, $F4, $96, $00, $FC, $FC, $D0, $00, $FC, $EC, $97, $00, $FC, $F4, $98, $00 ; CPU:$ADFA PRG:2DFA 00 F4 96 00 FC FC D0 00 FC EC 97 00 FC F4 98 00 + .byte $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC, $7D, $00, $F6, $EC, $7F, $00 ; CPU:$AE0A PRG:2E0A FC FC 92 00 FC AA 00 00 00 EC 7D 00 F6 EC 7F 00 + .byte $FD, $F4, $80, $00, $FA, $FC, $CF, $00, $FA, $EC, $85, $00, $F5, $F4, $86, $00 ; CPU:$AE1A PRG:2E1A FD F4 80 00 FA FC CF 00 FA EC 85 00 F5 F4 86 00 + .byte $F1, $F4, $DD, $00, $F9, $FC, $87, $00, $F9, $EC, $6B, $00, $F8, $F4, $6C, $00 ; CPU:$AE2A PRG:2E2A F1 F4 DD 00 F9 FC 87 00 F9 EC 6B 00 F8 F4 6C 00 + .byte $F8, $FC, $CD, $00, $F8, $AA, $00, $00, $00, $EC, $71, $00, $F0, $F4, $72, $00 ; CPU:$AE3A PRG:2E3A F8 FC CD 00 F8 AA 00 00 00 EC 71 00 F0 F4 72 00 + .byte $EE, $F4, $6D, $00, $F6, $FC, $3E, $00, $F6, $EC, $73, $00, $F6, $EC, $74, $00 ; CPU:$AE4A PRG:2E4A EE F4 6D 00 F6 FC 3E 00 F6 EC 73 00 F6 EC 74 00 + .byte $FE, $F4, $75, $00, $FA, $FC, $CE, $00, $FB, $EC, $76, $00, $F5, $F4, $7A, $00 ; CPU:$AE5A PRG:2E5A FE F4 75 00 FA FC CE 00 FB EC 76 00 F5 F4 7A 00 + .byte $F1, $F4, $7B, $00, $F9, $FC, $7C, $00, $F9, $EC, $8D, $40, $F8, $EC, $8D, $00 ; CPU:$AE6A PRG:2E6A F1 F4 7B 00 F9 FC 7C 00 F9 EC 8D 40 F8 EC 8D 00 + .byte $00, $F4, $8E, $00, $FC, $FC, $8F, $00, $FC, $EC, $42, $00, $FD, $F4, $91, $00 ; CPU:$AE7A PRG:2E7A 00 F4 8E 00 FC FC 8F 00 FC EC 42 00 FD F4 91 00 + .byte $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC, $C0, $40, $FD, $F4, $3F, $40 ; CPU:$AE8A PRG:2E8A FC FC 92 00 FC AA 00 00 00 EC C0 40 FD F4 3F 40 + .byte $F8, $F4, $37, $40, $00, $FC, $2E, $40, $FD, $EC, $C1, $00, $FC, $F4, $40, $00 ; CPU:$AE9A PRG:2E9A F8 F4 37 40 00 FC 2E 40 FD EC C1 00 FC F4 40 00 + .byte $FC, $FC, $32, $00, $FC, $AA, $00, $00, $00, $EC, $C0, $00, $FB, $F4, $37, $00 ; CPU:$AEAA PRG:2EAA FC FC 32 00 FC AA 00 00 00 EC C0 00 FB F4 37 00 + .byte $F8, $F4, $3F, $00, $00, $FC, $2E, $00, $FB, $EC, $BC, $00, $FC, $F4, $2A, $00 ; CPU:$AEBA PRG:2EBA F8 F4 3F 00 00 FC 2E 00 FB EC BC 00 FC F4 2A 00 + .byte $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC, $BC, $00, $FC, $F4, $31, $00 ; CPU:$AECA PRG:2ECA FC FC B7 00 F8 FC 17 00 00 EC BC 00 FC F4 31 00 + .byte $FC, $FC, $1A, $00, $FC, $AA, $00, $00, $00, $EC, $BD, $00, $FC, $F4, $33, $00 ; CPU:$AEDA PRG:2EDA FC FC 1A 00 FC AA 00 00 00 EC BD 00 FC F4 33 00 + .byte $F8, $F4, $34, $00, $00, $FC, $1E, $00, $FC, $EC, $B8, $00, $FC, $F4, $16, $00 ; CPU:$AEEA PRG:2EEA F8 F4 34 00 00 FC 1E 00 FC EC B8 00 FC F4 16 00 + .byte $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC, $B9, $00, $FC, $F4, $19, $00 ; CPU:$AEFA PRG:2EFA FD FC 02 00 F8 FC 03 00 00 EC B9 00 FC F4 19 00 + .byte $FC, $FC, $06, $00, $FD, $AA, $00, $00, $00, $EC, $B9, $00, $FC, $F4, $21, $00 ; CPU:$AF0A PRG:2F0A FC FC 06 00 FD AA 00 00 00 EC B9 00 FC F4 21 00 + .byte $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC, $BB, $00, $FC, $F4, $28, $00 ; CPU:$AF1A PRG:2F1A FC FC 08 00 F8 FC 09 00 00 EC BB 00 FC F4 28 00 + .byte $F8, $F4, $29, $00, $00, $FC, $13, $00, $FC, $EC, $BA, $00, $FC, $F4, $27, $00 ; CPU:$AF2A PRG:2F2A F8 F4 29 00 00 FC 13 00 FC EC BA 00 FC F4 27 00 + .byte $FD, $FC, $10, $00, $FC, $AA, $00, $00, $00, $EC, $BA, $00, $FC, $F4, $24, $00 ; CPU:$AF3A PRG:2F3A FD FC 10 00 FC AA 00 00 00 EC BA 00 FC F4 24 00 + .byte $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC, $BE, $00, $FC, $F4, $35, $00 ; CPU:$AF4A PRG:2F4A FC FC 0C 00 F8 FC 0D 00 00 EC BE 00 FC F4 35 00 + .byte $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC, $BF, $00, $FC, $F4, $36, $40 ; CPU:$AF5A PRG:2F5A FB FC 22 00 FC AA 00 00 00 EC BF 00 FC F4 36 40 + .byte $F8, $F4, $36, $00, $00, $FC, $26, $00, $FC, $EC, $BE, $40, $FC, $F4, $35, $40 ; CPU:$AF6A PRG:2F6A F8 F4 36 00 00 FC 26 00 FC EC BE 40 FC F4 35 40 + .byte $FD, $FC, $22, $40, $FC, $AA, $00, $00, $00, $EC, $C7, $00, $FD, $F4, $60, $40 ; CPU:$AF7A PRG:2F7A FD FC 22 40 FC AA 00 00 00 EC C7 00 FD F4 60 40 + .byte $F8, $F4, $60, $00, $00, $FC, $D0, $00, $FC, $EC, $CC, $00, $FC, $F4, $61, $00 ; CPU:$AF8A PRG:2F8A F8 F4 60 00 00 FC D0 00 FC EC CC 00 FC F4 61 00 + .byte $F8, $F4, $62, $00, $00, $FC, $3E, $00, $FA, $EC, $C7, $00, $FA, $F4, $55, $00 ; CPU:$AF9A PRG:2F9A F8 F4 62 00 00 FC 3E 00 FA EC C7 00 FA F4 55 00 + .byte $F6, $F4, $56, $00, $FE, $FC, $CF, $00, $FA, $EC, $C9, $00, $FA, $F4, $57, $00 ; CPU:$AFAA PRG:2FAA F6 F4 56 00 FE FC CF 00 FA EC C9 00 FA F4 57 00 + .byte $F6, $F4, $58, $00, $FE, $FC, $3E, $00, $F9, $EC, $C5, $00, $FA, $F4, $4A, $00 ; CPU:$AFBA PRG:2FBA F6 F4 58 00 FE FC 3E 00 F9 EC C5 00 FA F4 4A 00 + .byte $FA, $FC, $3A, $00, $FA, $AA, $00, $00, $00, $EC, $C6, $00, $FA, $F4, $3C, $00 ; CPU:$AFCA PRG:2FCA FA FC 3A 00 FA AA 00 00 00 EC C6 00 FA F4 3C 00 + .byte $F5, $F4, $4B, $00, $FD, $FC, $3E, $00, $FA, $EC, $C7, $00, $FA, $F4, $4C, $00 ; CPU:$AFDA PRG:2FDA F5 F4 4B 00 FD FC 3E 00 FA EC C7 00 FA F4 4C 00 + .byte $F6, $F4, $4D, $00, $FE, $FC, $45, $00, $FA, $EC, $C8, $00, $FA, $F4, $47, $00 ; CPU:$AFEA PRG:2FEA F6 F4 4D 00 FE FC 45 00 FA EC C8 00 FA F4 47 00 + .byte $F4, $F4, $4E, $00, $FC, $FC, $3E, $00, $FA, $EC, $C7, $00, $FD, $F4, $59, $40 ; CPU:$AFFA PRG:2FFA F4 F4 4E 00 FC FC 3E 00 FA EC C7 00 FD F4 59 40 + .byte $F8, $F4, $59, $00, $00, $FC, $8F, $00, $FC, $EC, $CA, $00, $FC, $F4, $CB, $00 ; CPU:$B00A PRG:300A F8 F4 59 00 00 FC 8F 00 FC EC CA 00 FC F4 CB 00 + .byte $F8, $F4, $5A, $00, $00, $FC, $3E, $40, $FD, $EC, $C5, $00, $FA, $F4, $41, $00 ; CPU:$B01A PRG:301A F8 F4 5A 00 00 FC 3E 40 FD EC C5 00 FA F4 41 00 + .byte $F6, $F4, $49, $00, $FE, $FC, $CD, $00, $FC, $EC, $C7, $00, $FA, $F4, $4C, $00 ; CPU:$B02A PRG:302A F6 F4 49 00 FE FC CD 00 FC EC C7 00 FA F4 4C 00 + .byte $F6, $F4, $4D, $00, $FE, $FC, $CE, $00, $FA, $EC, $6F, $00, $FC, $F4, $70, $00 ; CPU:$B03A PRG:303A F6 F4 4D 00 FE FC CE 00 FA EC 6F 00 FC F4 70 00 + .byte $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC, $D7, $00, $F6, $F4, $65, $00 ; CPU:$B04A PRG:304A FC FC 92 00 FC AA 00 00 00 EC D7 00 F6 F4 65 00 + .byte $F8, $FC, $87, $00, $F9, $AA, $00, $00, $00, $EC, $D1, $00, $F8, $F4, $63, $00 ; CPU:$B05A PRG:305A F8 FC 87 00 F9 AA 00 00 00 EC D1 00 F8 F4 63 00 + .byte $FA, $FC, $3E, $00, $FB, $AA, $00, $00, $00, $EC, $D2, $00, $F8, $EC, $D6, $00 ; CPU:$B06A PRG:306A FA FC 3E 00 FB AA 00 00 00 EC D2 00 F8 EC D6 00 + .byte $00, $F4, $64, $00, $FC, $FC, $7C, $00, $FC, $EC, $D8, $00, $FC, $F4, $6E, $00 ; CPU:$B07A PRG:307A 00 F4 64 00 FC FC 7C 00 FC EC D8 00 FC F4 6E 00 + .byte $FC, $FC, $92, $00, $FC, $AA, $00, $00, $00, $EC, $1F, $00, $FC, $F4, $20, $00 ; CPU:$B08A PRG:308A FC FC 92 00 FC AA 00 00 00 EC 1F 00 FC F4 20 00 + .byte $FB, $FC, $22, $00, $FC, $AA, $00, $00, $00, $EC, $23, $00, $FC, $F4, $AF, $40 ; CPU:$B09A PRG:309A FB FC 22 00 FC AA 00 00 00 EC 23 00 FC F4 AF 40 + .byte $F8, $F4, $AF, $00, $00, $FC, $26, $00, $FC, $EC, $B1, $40, $F8, $EC, $B1, $00 ; CPU:$B0AA PRG:30AA F8 F4 AF 00 00 FC 26 00 FC EC B1 40 F8 EC B1 00 + .byte $00, $F4, $B0, $00, $FC, $FC, $22, $40, $FC, $EC, $14, $00, $FC, $F4, $15, $00 ; CPU:$B0BA PRG:30BA 00 F4 B0 00 FC FC 22 40 FC EC 14 00 FC F4 15 00 + .byte $FC, $FC, $B7, $00, $F8, $FC, $17, $00, $00, $EC, $14, $00, $FC, $F4, $A9, $00 ; CPU:$B0CA PRG:30CA FC FC B7 00 F8 FC 17 00 00 EC 14 00 FC F4 A9 00 + .byte $F8, $F4, $AA, $00, $00, $FC, $1A, $00, $FC, $EC, $AB, $00, $F8, $EC, $AC, $00 ; CPU:$B0DA PRG:30DA F8 F4 AA 00 00 FC 1A 00 FC EC AB 00 F8 EC AC 00 + .byte $00, $F4, $AE, $00, $FC, $FC, $1E, $00, $FC, $EC, $9D, $00, $FC, $F4, $FA, $00 ; CPU:$B0EA PRG:30EA 00 F4 AE 00 FC FC 1E 00 FC EC 9D 00 FC F4 FA 00 + .byte $FD, $FC, $02, $00, $F8, $FC, $03, $00, $00, $EC, $E5, $00, $F8, $EC, $9F, $00 ; CPU:$B0FA PRG:30FA FD FC 02 00 F8 FC 03 00 00 EC E5 00 F8 EC 9F 00 + .byte $00, $F4, $A3, $00, $FD, $FC, $06, $00, $FD, $EC, $9D, $00, $FC, $F4, $A2, $00 ; CPU:$B10A PRG:310A 00 F4 A3 00 FD FC 06 00 FD EC 9D 00 FC F4 A2 00 + .byte $FC, $FC, $08, $00, $F8, $FC, $09, $00, $00, $EC, $0A, $00, $FC, $F4, $A4, $00 ; CPU:$B11A PRG:311A FC FC 08 00 F8 FC 09 00 00 EC 0A 00 FC F4 A4 00 + .byte $F8, $F4, $A8, $00, $00, $FC, $13, $00, $FC, $EC, $A5, $00, $F8, $EC, $A6, $00 ; CPU:$B12A PRG:312A F8 F4 A8 00 00 FC 13 00 FC EC A5 00 F8 EC A6 00 + .byte $00, $F4, $A7, $00, $FC, $FC, $10, $00, $FC, $EC, $0E, $00, $FC, $F4, $0B, $00 ; CPU:$B13A PRG:313A 00 F4 A7 00 FC FC 10 00 FC EC 0E 00 FC F4 0B 00 + .byte $FC, $FC, $0C, $00, $F8, $FC, $0D, $00, $00, $EC, $B3, $00, $F8, $EC, $B3, $40 ; CPU:$B14A PRG:314A FC FC 0C 00 F8 FC 0D 00 00 EC B3 00 F8 EC B3 40 + .byte $00, $F4, $B4, $40, $FC, $FC, $2E, $40, $FC, $EC, $2F, $00, $FC, $F4, $B3, $40 ; CPU:$B15A PRG:315A 00 F4 B4 40 FC FC 2E 40 FC EC 2F 00 FC F4 B3 40 + .byte $F8, $F4, $B3, $00, $00, $FC, $32, $00, $FC, $EC, $B5, $40, $F8, $EC, $B5, $00 ; CPU:$B16A PRG:316A F8 F4 B3 00 00 FC 32 00 FC EC B5 40 F8 EC B5 00 + .byte $00, $F4, $B4, $00, $FC, $FC, $2E, $00, $FB, $EC, $2F, $00, $FC, $F4, $B3, $40 ; CPU:$B17A PRG:317A 00 F4 B4 00 FC FC 2E 00 FB EC 2F 00 FC F4 B3 40 + .byte $F8, $F4, $B3, $00, $00, $FC, $32, $40, $FC, $EC, $DE, $00, $FC, $F4, $D3, $00 ; CPU:$B18A PRG:318A F8 F4 B3 00 00 FC 32 40 FC EC DE 00 FC F4 D3 00 + .byte $FB, $FC, $D5, $00, $F4, $FC, $D4, $00, $FC, $F0, $D9, $00, $F8, $F8, $DA, $00 ; CPU:$B19A PRG:319A FB FC D5 00 F4 FC D4 00 FC F0 D9 00 F8 F8 DA 00 + .byte $F2, $F8, $DB, $00, $FA, $00, $DC, $00, $F2, $F0, $DF, $00, $FC, $F8, $E0, $00 ; CPU:$B1AA PRG:31AA F2 F8 DB 00 FA 00 DC 00 F2 F0 DF 00 FC F8 E0 00 + .byte $F4, $F8, $E1, $00, $FC, $00, $E2, $00, $FC, $F1, $E7, $00, $FC, $F9, $E8, $00 ; CPU:$B1BA PRG:31BA F4 F8 E1 00 FC 00 E2 00 FC F1 E7 00 FC F9 E8 00 + .byte $F8, $F9, $E9, $00, $00, $01, $EA, $00, $FC, $EC, $DE, $00, $FC, $F4, $EF, $00 ; CPU:$B1CA PRG:31CA F8 F9 E9 00 00 01 EA 00 FC EC DE 00 FC F4 EF 00 + .byte $F8, $F4, $F0, $00, $00, $FC, $F1, $00, $FC, $EC, $C7, $00, $FA, $F4, $55, $00 ; CPU:$B1DA PRG:31DA F8 F4 F0 00 00 FC F1 00 FC EC C7 00 FA F4 55 00 + .byte $F6, $F4, $56, $00, $FE, $FC, $51, $00, $FA, $EC, $C7, $00, $FD, $F4, $59, $40 ; CPU:$B1EA PRG:31EA F6 F4 56 00 FE FC 51 00 FA EC C7 00 FD F4 59 40 + .byte $F8, $F4, $59, $00, $00, $FC, $5C, $00, $FD, $EC, $C7, $00, $FD, $F4, $60, $40 ; CPU:$B1FA PRG:31FA F8 F4 59 00 00 FC 5C 00 FD EC C7 00 FD F4 60 40 + .byte $F8, $F4, $60, $00, $00, $FC, $67, $00, $FD, $EC, $23, $00, $FC, $F4, $AF, $40 ; CPU:$B20A PRG:320A F8 F4 60 00 00 FC 67 00 FD EC 23 00 FC F4 AF 40 + .byte $F8, $F4, $AF, $00, $00, $FC, $26, $40, $FC, $EC, $2F, $00, $FC, $F4, $30, $40 ; CPU:$B21A PRG:321A F8 F4 AF 00 00 FC 26 40 FC EC 2F 00 FC F4 30 40 + .byte $FC, $FC, $32, $40, $FC, $AA, $00, $00, $00, $EC, $BF, $00, $FC, $F4, $36, $40 ; CPU:$B22A PRG:322A FC FC 32 40 FC AA 00 00 00 EC BF 00 FC F4 36 40 + .byte $F8, $F4, $36, $00, $00, $FC, $26, $40, $FC, $EC, $C1, $00, $FC, $F4, $40, $40 ; CPU:$B23A PRG:323A F8 F4 36 00 00 FC 26 40 FC EC C1 00 FC F4 40 40 + .byte $FC, $FC, $32, $40, $FC, $AA, $00, $00, $00, $E8, $D1, $00, $FC, $F0, $63, $00 ; CPU:$B24A PRG:324A FC FC 32 40 FC AA 00 00 00 E8 D1 00 FC F0 63 00 + .byte $FC, $F8, $D2, $00, $FC, $AA, $00, $00, $00, $E8, $D6, $00, $F8, $E8, $D6, $40 ; CPU:$B25A PRG:325A FC F8 D2 00 FC AA 00 00 00 E8 D6 00 F8 E8 D6 40 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $E0, $64, $00, $FC, $E8, $D7, $00 ; CPU:$B26A PRG:326A 00 AA 00 00 00 AA 00 00 00 E0 64 00 FC E8 D7 00 + .byte $F8, $E8, $D7, $40, $00, $AA, $00, $00, $00, $E8, $D8, $00, $F8, $E8, $D8, $40 ; CPU:$B27A PRG:327A F8 E8 D7 40 00 AA 00 00 00 E8 D8 00 F8 E8 D8 40 + .byte $00, $F0, $6E, $00, $FC, $F8, $6F, $00, $FC, $E8, $70, $00, $F8, $E8, $70, $40 ; CPU:$B28A PRG:328A 00 F0 6E 00 FC F8 6F 00 FC E8 70 00 F8 E8 70 40 + .byte $00, $F0, $77, $00, $FC, $F8, $78, $00, $FC, $E8, $79, $00, $FC, $F0, $81, $00 ; CPU:$B29A PRG:329A 00 F0 77 00 FC F8 78 00 FC E8 79 00 FC F0 81 00 + .byte $FC, $F8, $82, $00, $F8, $F8, $82, $40, $00, $E8, $83, $00, $FC, $F0, $F6, $00 ; CPU:$B2AA PRG:32AA FC F8 82 00 F8 F8 82 40 00 E8 83 00 FC F0 F6 00 + .byte $FC, $F8, $F7, $00, $F8, $F8, $F7, $40, $00, $E8, $F8, $00, $FC, $F0, $F9, $00 ; CPU:$B2BA PRG:32BA FC F8 F7 00 F8 F8 F7 40 00 E8 F8 00 FC F0 F9 00 + .byte $FC, $F8, $65, $00, $F8, $F8, $65, $40, $00, $F0, $7E, $00, $F8, $F8, $84, $00 ; CPU:$B2CA PRG:32CA FC F8 65 00 F8 F8 65 40 00 F0 7E 00 F8 F8 84 00 + .byte $F8, $F8, $88, $00, $00, $AA, $00, $00, $00, $00, $89, $00, $F8, $00, $8A, $00 ; CPU:$B2DA PRG:32DA F8 F8 88 00 00 AA 00 00 00 00 89 00 F8 00 8A 00 + .byte $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $F8, $8B, $00, $F8, $F8, $8B, $40 ; CPU:$B2EA PRG:32EA 00 08 22 00 FC AA 00 00 00 F8 8B 00 F8 F8 8B 40 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $8C, $00, $F8, $00, $8C, $40 ; CPU:$B2FA PRG:32FA 00 AA 00 00 00 AA 00 00 00 00 8C 00 F8 00 8C 40 + .byte $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $F0, $7E, $40, $00, $F8, $88, $40 ; CPU:$B30A PRG:330A 00 08 26 00 FC AA 00 00 00 F0 7E 40 00 F8 88 40 + .byte $F8, $F8, $84, $40, $00, $AA, $00, $00, $00, $00, $8A, $40, $F8, $00, $89, $40 ; CPU:$B31A PRG:331A F8 F8 84 40 00 AA 00 00 00 00 8A 40 F8 00 89 40 + .byte $00, $08, $22, $40, $FC, $AA, $00, $00, $00, $F0, $7E, $00, $F8, $F8, $93, $00 ; CPU:$B32A PRG:332A 00 08 22 40 FC AA 00 00 00 F0 7E 00 F8 F8 93 00 + .byte $F8, $F8, $94, $00, $00, $AA, $00, $00, $00, $00, $99, $00, $F8, $00, $9A, $00 ; CPU:$B33A PRG:333A F8 F8 94 00 00 AA 00 00 00 00 99 00 F8 00 9A 00 + .byte $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $F8, $9B, $00, $F8, $F8, $9B, $40 ; CPU:$B34A PRG:334A 00 08 2E 00 FC AA 00 00 00 F8 9B 00 F8 F8 9B 40 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $9C, $00, $F8, $00, $9C, $40 ; CPU:$B35A PRG:335A 00 AA 00 00 00 AA 00 00 00 00 9C 00 F8 00 9C 40 + .byte $00, $08, $32, $40, $FC, $AA, $00, $00, $00, $F0, $7E, $40, $00, $F8, $94, $40 ; CPU:$B36A PRG:336A 00 08 32 40 FC AA 00 00 00 F0 7E 40 00 F8 94 40 + .byte $F8, $F8, $93, $40, $00, $AA, $00, $00, $00, $00, $9A, $40, $F8, $00, $99, $40 ; CPU:$B37A PRG:337A F8 F8 93 40 00 AA 00 00 00 00 9A 40 F8 00 99 40 + .byte $00, $08, $2E, $40, $FC, $AA, $00, $00, $00, $F8, $88, $40, $F8, $F8, $88, $00 ; CPU:$B38A PRG:338A 00 08 2E 40 FC AA 00 00 00 F8 88 40 F8 F8 88 00 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $8A, $40, $F8, $00, $8A, $00 ; CPU:$B39A PRG:339A 00 AA 00 00 00 AA 00 00 00 00 8A 40 F8 00 8A 00 + .byte $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $01, $8A, $40, $F8, $01, $8A, $00 ; CPU:$B3AA PRG:33AA 00 08 22 00 FC AA 00 00 00 01 8A 40 F8 01 8A 00 + .byte $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $00, $8A, $40, $F8, $00, $8A, $00 ; CPU:$B3BA PRG:33BA 00 08 26 00 FC AA 00 00 00 00 8A 40 F8 00 8A 00 + .byte $00, $08, $22, $40, $FC, $AA, $00, $00, $00, $01, $8A, $40, $F8, $01, $8A, $00 ; CPU:$B3CA PRG:33CA 00 08 22 40 FC AA 00 00 00 01 8A 40 F8 01 8A 00 + .byte $00, $08, $26, $00, $FC, $AA, $00, $00, $00, $F0, $7E, $00, $F8, $F0, $7E, $40 ; CPU:$B3DA PRG:33DA 00 08 26 00 FC AA 00 00 00 F0 7E 00 F8 F0 7E 40 + .byte $00, $F8, $84, $00, $F8, $F8, $84, $40, $00, $00, $89, $00, $F8, $00, $89, $40 ; CPU:$B3EA PRG:33EA 00 F8 84 00 F8 F8 84 40 00 00 89 00 F8 00 89 40 + .byte $00, $08, $22, $00, $FC, $AA, $00, $00, $00, $F8, $94, $40, $F8, $F8, $94, $00 ; CPU:$B3FA PRG:33FA 00 08 22 00 FC AA 00 00 00 F8 94 40 F8 F8 94 00 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $9A, $40, $F8, $00, $9A, $00 ; CPU:$B40A PRG:340A 00 AA 00 00 00 AA 00 00 00 00 9A 40 F8 00 9A 00 + .byte $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $01, $9A, $40, $F8, $01, $9A, $00 ; CPU:$B41A PRG:341A 00 08 2E 00 FC AA 00 00 00 01 9A 40 F8 01 9A 00 + .byte $00, $08, $32, $40, $FC, $AA, $00, $00, $00, $00, $9A, $40, $F8, $00, $9A, $00 ; CPU:$B42A PRG:342A 00 08 32 40 FC AA 00 00 00 00 9A 40 F8 00 9A 00 + .byte $00, $08, $2E, $40, $FC, $AA, $00, $00, $00, $01, $9A, $40, $F8, $01, $9A, $00 ; CPU:$B43A PRG:343A 00 08 2E 40 FC AA 00 00 00 01 9A 40 F8 01 9A 00 + .byte $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $F0, $7E, $00, $F8, $F0, $7E, $40 ; CPU:$B44A PRG:344A 00 08 32 00 FC AA 00 00 00 F0 7E 00 F8 F0 7E 40 + .byte $00, $F8, $93, $00, $F8, $F8, $93, $40, $00, $00, $99, $00, $F8, $00, $99, $40 ; CPU:$B45A PRG:345A 00 F8 93 00 F8 F8 93 40 00 00 99 00 F8 00 99 40 + .byte $00, $08, $2E, $00, $FC, $AA, $00, $00, $00, $F0, $7E, $00, $F9, $F8, $EC, $00 ; CPU:$B46A PRG:346A 00 08 2E 00 FC AA 00 00 00 F0 7E 00 F9 F8 EC 00 + .byte $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $ED, $00, $F8, $00, $EE, $00 ; CPU:$B47A PRG:347A FC AA 00 00 00 AA 00 00 00 00 ED 00 F8 00 EE 00 + .byte $00, $08, $08, $00, $F8, $08, $09, $00, $00, $F0, $7E, $00, $FB, $F8, $EC, $00 ; CPU:$B48A PRG:348A 00 08 08 00 F8 08 09 00 00 F0 7E 00 FB F8 EC 00 + .byte $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $F2, $00, $F8, $00, $F3, $00 ; CPU:$B49A PRG:349A FC AA 00 00 00 AA 00 00 00 00 F2 00 F8 00 F3 00 + .byte $00, $08, $06, $00, $FD, $AA, $00, $00, $00, $00, $F4, $00, $F8, $00, $F5, $00 ; CPU:$B4AA PRG:34AA 00 08 06 00 FD AA 00 00 00 00 F4 00 F8 00 F5 00 + .byte $00, $08, $02, $00, $F8, $08, $03, $00, $00, $F9, $88, $40, $F8, $F9, $88, $00 ; CPU:$B4BA PRG:34BA 00 08 02 00 F8 08 03 00 00 F9 88 40 F8 F9 88 00 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $F9, $94, $40, $F8, $F9, $94, $00 ; CPU:$B4CA PRG:34CA 00 AA 00 00 00 AA 00 00 00 F9 94 40 F8 F9 94 00 + .byte $00, $AA, $00, $00, $00, $AA, $00, $00, $00, $F1, $7E, $00, $FD, $F9, $EC, $00 ; CPU:$B4DA PRG:34DA 00 AA 00 00 00 AA 00 00 00 F1 7E 00 FD F9 EC 00 + .byte $FC, $AA, $00, $00, $00, $AA, $00, $00, $00, $00, $8C, $00, $F8, $00, $8C, $40 ; CPU:$B4EA PRG:34EA FC AA 00 00 00 AA 00 00 00 00 8C 00 F8 00 8C 40 + .byte $00, $08, $26, $40, $FC, $AA, $00, $00, $00, $00, $9C, $00, $F8, $00, $9C, $40 ; CPU:$B4FA PRG:34FA 00 08 26 40 FC AA 00 00 00 00 9C 00 F8 00 9C 40 + .byte $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $01, $9A, $40, $F8, $01, $9A, $00 ; CPU:$B50A PRG:350A 00 08 32 00 FC AA 00 00 00 01 9A 40 F8 01 9A 00 + .byte $00, $08, $32, $00, $FC, $AA, $00, $00, $00, $01, $8A, $40, $F8, $01, $8A, $00 ; CPU:$B51A PRG:351A 00 08 32 00 FC AA 00 00 00 01 8A 40 F8 01 8A 00 + .byte $00, $08, $26, $40, $FC, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B52A PRG:352A 00 08 26 40 FC AA 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$B53A PRG:353A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $EC, $A1, $00, $F8, $EC, $A0, $00 ; CPU:$B54A PRG:354A 00 00 00 00 00 00 00 00 00 EC A1 00 F8 EC A0 00 + .byte $00, $F4, $9E, $00, $FB, $FC, $AD, $00, $FC, $ED, $B2, $00, $F8, $ED, $B6, $00 ; CPU:$B55A PRG:355A 00 F4 9E 00 FB FC AD 00 FC ED B2 00 F8 ED B6 00 + .byte $00, $F5, $9E, $00, $FB, $FC, $AD, $00, $FC, $ED, $E3, $00, $F8, $ED, $E4, $00 ; CPU:$B56A PRG:356A 00 F5 9E 00 FB FC AD 00 FC ED E3 00 F8 ED E4 00 + .byte $00, $F5, $9E, $40, $FD, $FC, $E6, $00, $FC, $ED, $EB, $00, $F8, $ED, $90, $00 ; CPU:$B57A PRG:357A 00 F5 9E 40 FD FC E6 00 FC ED EB 00 F8 ED 90 00 + .byte $00, $F4, $9E, $40, $FD, $FC, $E6, $00, $FC, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B58A PRG:358A 00 F4 9E 40 FD FC E6 00 FC 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $43, $52, $45, $41, $54 ; CPU:$B59A PRG:359A 20 20 20 20 20 20 20 20 20 20 20 43 52 45 41 54 + .byte $45, $20, $42, $59, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B5AA PRG:35AA 45 20 42 59 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $4D, $2E ; CPU:$B5BA PRG:35BA 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 2E + .byte $4F, $4F, $59, $41, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B5CA PRG:35CA 4F 4F 59 41 4D 41 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B5DA PRG:35DA 20 20 20 20 20 20 20 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_B5E3 +; Global: Branch target inside Sub: taken when B5E3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B5E3: + jsr Sub_E0E6 ; CPU:$B5E3 PRG:35E3 20 E6 E0 + ldy PlayerSpeed2 ; CPU:$B5E6 PRG:35E6 A4 90 + lda $030F,y ; CPU:$B5E8 PRG:35E8 B9 0F 03 + and #$01 ; CPU:$B5EB PRG:35EB 29 01 + beq NmiHandler_Loop273 ; CPU:$B5ED PRG:35ED F0 01 + rts ; CPU:$B5EF PRG:35EF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop273 +; Global: Branch target inside NmiHandler: taken when Loop273. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop273: + ldx #$E7 ; CPU:$B5F0 PRG:35F0 A2 E7 + lda $030A,x ; CPU:$B5F2 PRG:35F2 BD 0A 03 + ldx #$69 ; CPU:$B5F5 PRG:35F5 A2 69 + ora $030A,x ; CPU:$B5F7 PRG:35F7 1D 0A 03 + and #$10 ; CPU:$B5FA PRG:35FA 29 10 + beq NmiHandler_Loop274 ; CPU:$B5FC PRG:35FC F0 01 + rts ; CPU:$B5FE PRG:35FE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop274 +; Global: Branch target inside NmiHandler: taken when Loop274. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop274: + ldx #$00 ; CPU:$B5FF PRG:35FF A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear +; Global: Branch target inside NmiHandler: taken when the addition or subtraction did not carry. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear: + lda $030C,y ; CPU:$B601 PRG:3601 B9 0C 03 + asl a ; CPU:$B604 PRG:3604 0A + asl a ; CPU:$B605 PRG:3605 0A + bcs NmiHandler_Loop275 ; CPU:$B606 PRG:3606 B0 29 + inx ; CPU:$B608 PRG:3608 E8 + lda $0300,y ; CPU:$B609 PRG:3609 B9 00 03 + cmp #$08 ; CPU:$B60C PRG:360C C9 08 + beq NmiHandler_Loop275 ; CPU:$B60E PRG:360E F0 21 + inx ; CPU:$B610 PRG:3610 E8 + lda $030E,y ; CPU:$B611 PRG:3611 B9 0E 03 + and #$C0 ; CPU:$B614 PRG:3614 29 C0 + bne NmiHandler_Loop275 ; CPU:$B616 PRG:3616 D0 19 + inx ; CPU:$B618 PRG:3618 E8 + stx VramReadPtrLo ; CPU:$B619 PRG:3619 86 0C + jsr Sub_B9E8 ; CPU:$B61B PRG:361B 20 E8 B9 + ldx VramReadPtrLo ; CPU:$B61E PRG:361E A6 0C + lda $030C,y ; CPU:$B620 PRG:3620 B9 0C 03 + and #$20 ; CPU:$B623 PRG:3623 29 20 + bne NmiHandler_Loop275 ; CPU:$B625 PRG:3625 D0 0A + inx ; CPU:$B627 PRG:3627 E8 + ldy PlayerSpeed2 ; CPU:$B628 PRG:3628 A4 90 + lda $030A,y ; CPU:$B62A PRG:362A B9 0A 03 + lsr a ; CPU:$B62D PRG:362D 4A + bcs NmiHandler_Loop275 ; CPU:$B62E PRG:362E B0 01 + inx ; CPU:$B630 PRG:3630 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop275 +; Global: Branch target inside NmiHandler: taken when Loop275. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop275: + txa ; CPU:$B631 PRG:3631 8A + jsr Sub_84BD ; CPU:$B632 PRG:3632 20 BD 84 + .byte $53, $B6 ; CPU:$B635 PRG:3635 53 B6 -- sre (ZpB6),y (undocumented; ca65 cannot encode) + .byte $FF, $B6, $BB ; CPU:$B637 PRG:3637 FF B6 BB -- isc $BBB6,x (undocumented; ca65 cannot encode) + ldx Zp52,y ; CPU:$B63A PRG:363A B6 52 + ldx Zp41,y ; CPU:$B63C PRG:363C B6 41 + ldx Zp67,y ; CPU:$B63E PRG:363E B6 67 + ldx ZpA6,y ; CPU:$B640 PRG:3640 B6 A6 + bcc NmiHandler_OnCarryClear ; CPU:$B642 PRG:3642 90 BD + asl a ; CPU:$B644 PRG:3644 0A + .byte $03, $29 ; CPU:$B645 PRG:3645 03 29 -- slo (Zp29,x) (undocumented; ca65 cannot encode) + .byte $04, $D0 ; CPU:$B647 PRG:3647 04 D0 -- nop ZpD0 (undocumented; ca65 cannot encode) + php ; CPU:$B649 PRG:3649 08 + lda #$FE ; CPU:$B64A PRG:364A A9 FE + and $030A,x ; CPU:$B64C PRG:364C 3D 0A 03 + sta $030A,x ; CPU:$B64F PRG:364F 9D 0A 03 + rts ; CPU:$B652 PRG:3652 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B653 +; Global: Branch target inside Label: taken when B653. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B653: + ldx PlayerSpeed2 ; CPU:$B653 PRG:3653 A6 90 + lda $030C,x ; CPU:$B655 PRG:3655 BD 0C 03 + and #$10 ; CPU:$B658 PRG:3658 29 10 + beq NmiHandler_Loop276 ; CPU:$B65A PRG:365A F0 0A + ldx PlayerSpeed2 ; CPU:$B65C PRG:365C A6 90 + lda #$FB ; CPU:$B65E PRG:365E A9 FB + and $030A,x ; CPU:$B660 PRG:3660 3D 0A 03 + sta $030A,x ; CPU:$B663 PRG:3663 9D 0A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop276 +; Global: Branch target inside NmiHandler: taken when Loop276. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop276: + rts ; CPU:$B666 PRG:3666 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B667 +; Global: Branch target inside Label: taken when B667. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B667: + ldx PlayerSpeed2 ; CPU:$B667 PRG:3667 A6 90 + lda $0300,x ; CPU:$B669 PRG:3669 BD 00 03 + cmp #$03 ; CPU:$B66C PRG:366C C9 03 + bne NmiHandler_Loop277 ; CPU:$B66E PRG:366E D0 4A + lda $030A,x ; CPU:$B670 PRG:3670 BD 0A 03 + and #$04 ; CPU:$B673 PRG:3673 29 04 + bne NmiHandler_Loop277 ; CPU:$B675 PRG:3675 D0 43 + lda $030E,x ; CPU:$B677 PRG:3677 BD 0E 03 + and #$0F ; CPU:$B67A PRG:367A 29 0F + beq NmiHandler_Loop277 ; CPU:$B67C PRG:367C F0 3C + lda $030B,x ; CPU:$B67E PRG:367E BD 0B 03 + asl a ; CPU:$B681 PRG:3681 0A + tay ; CPU:$B682 PRG:3682 A8 + ldx $B9D6,y ; CPU:$B683 PRG:3683 BE D6 B9 + lda $B9D7,y ; CPU:$B686 PRG:3686 B9 D7 B9 + ldy #$00 ; CPU:$B689 PRG:3689 A0 00 + stx ZpA2 ; CPU:$B68B PRG:368B 86 A2 + sty ZpA1 ; CPU:$B68D PRG:368D 84 A1 + sta ZpA7 ; CPU:$B68F PRG:368F 85 A7 + sty ZpA6 ; CPU:$B691 PRG:3691 84 A6 + lda #$C0 ; CPU:$B693 PRG:3693 A9 C0 + ldx #$40 ; CPU:$B695 PRG:3695 A2 40 + sta ZpAA ; CPU:$B697 PRG:3697 85 AA + sty ZpAC ; CPU:$B699 PRG:3699 84 AC + stx ZpAB ; CPU:$B69B PRG:369B 86 AB + sty ZpAD ; CPU:$B69D PRG:369D 84 AD + sty ZpAE ; CPU:$B69F PRG:369F 84 AE + jsr Sub_B8AA ; CPU:$B6A1 PRG:36A1 20 AA B8 + lda #$87 ; CPU:$B6A4 PRG:36A4 A9 87 + ora $030A,x ; CPU:$B6A6 PRG:36A6 1D 0A 03 + sta $030A,x ; CPU:$B6A9 PRG:36A9 9D 0A 03 + jsr Sub_CA72 ; CPU:$B6AC PRG:36AC 20 72 CA + jsr Sub_875F ; CPU:$B6AF PRG:36AF 20 5F 87 + lda #$00 ; CPU:$B6B2 PRG:36B2 A9 00 + sta $06BA ; CPU:$B6B4 PRG:36B4 8D BA 06 + sta $06CE ; CPU:$B6B7 PRG:36B7 8D CE 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop277 +; Global: Branch target inside NmiHandler: taken when Loop277. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop277: + rts ; CPU:$B6BA PRG:36BA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B6BB +; Global: Branch target inside Label: taken when B6BB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B6BB: + ldx PlayerSpeed2 ; CPU:$B6BB PRG:36BB A6 90 + lda $030A,x ; CPU:$B6BD PRG:36BD BD 0A 03 + and #$04 ; CPU:$B6C0 PRG:36C0 29 04 + bne NmiHandler_Loop281 ; CPU:$B6C2 PRG:36C2 D0 3A + ldy #$00 ; CPU:$B6C4 PRG:36C4 A0 00 + cpx #$7E ; CPU:$B6C6 PRG:36C6 E0 7E + bcc NmiHandler_Loop278 ; CPU:$B6C8 PRG:36C8 90 02 + ldy #$14 ; CPU:$B6CA PRG:36CA A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop278 +; Global: Branch target inside NmiHandler: taken when Loop278. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop278: + lda $030E,x ; CPU:$B6CC PRG:36CC BD 0E 03 + bmi NmiHandler_Loop279 ; CPU:$B6CF PRG:36CF 30 08 + lda $06B8,y ; CPU:$B6D1 PRG:36D1 B9 B8 06 + cmp $06B0,y ; CPU:$B6D4 PRG:36D4 D9 B0 06 + beq NmiHandler_Loop281 ; CPU:$B6D7 PRG:36D7 F0 25 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop279 +; Global: Branch target inside NmiHandler: taken when Loop279. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop279: + lda #$05 ; CPU:$B6D9 PRG:36D9 A9 05 + sta $0300,x ; CPU:$B6DB PRG:36DB 9D 00 03 + lda $030E,x ; CPU:$B6DE PRG:36DE BD 0E 03 + sta $030D,x ; CPU:$B6E1 PRG:36E1 9D 0D 03 + bmi NmiHandler_Loop280 ; CPU:$B6E4 PRG:36E4 30 03 + inc $0300,x ; CPU:$B6E6 PRG:36E6 FE 00 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop280 +; Global: Branch target inside NmiHandler: taken when Loop280. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop280: + lda #$00 ; CPU:$B6E9 PRG:36E9 A9 00 + sta $06BA ; CPU:$B6EB PRG:36EB 8D BA 06 + sta $06CE ; CPU:$B6EE PRG:36EE 8D CE 06 + lda #$01 ; CPU:$B6F1 PRG:36F1 A9 01 + sta $06BA,y ; CPU:$B6F3 PRG:36F3 99 BA 06 + jsr Sub_B8AA ; CPU:$B6F6 PRG:36F6 20 AA B8 + lda #$86 ; CPU:$B6F9 PRG:36F9 A9 86 + sta $030A,x ; CPU:$B6FB PRG:36FB 9D 0A 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop281 +; Global: Branch target inside NmiHandler: taken when Loop281. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop281: + rts ; CPU:$B6FE PRG:36FE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B6FF +; Global: Branch target inside Label: taken when B6FF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B6FF: + jsr Sub_B8AA ; CPU:$B6FF PRG:36FF 20 AA B8 + lda $030D,x ; CPU:$B702 PRG:3702 BD 0D 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_B705 +; Global: Branch target inside Sub: taken when B705. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B705: + ldx PlayerSpeed2 ; CPU:$B705 PRG:3705 A6 90 + sta $030D,x ; CPU:$B707 PRG:3707 9D 0D 03 + ldy #$00 ; CPU:$B70A PRG:370A A0 00 + lda #$1E ; CPU:$B70C PRG:370C A9 1E + cpx #$7E ; CPU:$B70E PRG:370E E0 7E + bcc NmiHandler_Loop282 ; CPU:$B710 PRG:3710 90 04 + lda #$02 ; CPU:$B712 PRG:3712 A9 02 + ldy #$14 ; CPU:$B714 PRG:3714 A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop282 +; Global: Branch target inside NmiHandler: taken when Loop282. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop282: + sta Zp12 ; CPU:$B716 PRG:3716 85 12 + lda #$00 ; CPU:$B718 PRG:3718 A9 00 + sta $06BA,y ; CPU:$B71A PRG:371A 99 BA 06 + lda $030D,x ; CPU:$B71D PRG:371D BD 0D 03 + sta $043C ; CPU:$B720 PRG:3720 8D 3C 04 + bmi NmiHandler_Loop283 ; CPU:$B723 PRG:3723 30 1F + cmp #$60 ; CPU:$B725 PRG:3725 C9 60 + bne NmiHandler_Loop284 ; CPU:$B727 PRG:3727 D0 5E + jsr Sub_B7C0 ; CPU:$B729 PRG:3729 20 C0 B7 + lda Zp7B ; CPU:$B72C PRG:372C A5 7B + asl a ; CPU:$B72E PRG:372E 0A + asl a ; CPU:$B72F PRG:372F 0A + adc Zp7B ; CPU:$B730 PRG:3730 65 7B + tax ; CPU:$B732 PRG:3732 AA + ldy $B895,x ; CPU:$B733 PRG:3733 BC 95 B8 + jsr Sub_B7AE ; CPU:$B736 PRG:3736 20 AE B7 + ldx PlayerSpeed2 ; CPU:$B739 PRG:3739 A6 90 + lda #$00 ; CPU:$B73B PRG:373B A9 00 + jsr Sub_871A ; CPU:$B73D PRG:373D 20 1A 87 + dec $042E ; CPU:$B740 PRG:3740 CE 2E 04 + rts ; CPU:$B743 PRG:3743 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop283 +; Global: Branch target inside NmiHandler: taken when Loop283. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop283: + lda #$84 ; CPU:$B744 PRG:3744 A9 84 + sta $030A,x ; CPU:$B746 PRG:3746 9D 0A 03 + lda Zp12 ; CPU:$B749 PRG:3749 A5 12 + sta $040D ; CPU:$B74B PRG:374B 8D 0D 04 + ldx #$00 ; CPU:$B74E PRG:374E A2 00 + stx $040E ; CPU:$B750 PRG:3750 8E 0E 04 + lda $06C0,y ; CPU:$B753 PRG:3753 B9 C0 06 + sta VramReadPtrLo ; CPU:$B756 PRG:3756 85 0C + txa ; CPU:$B758 PRG:3758 8A + ldx #$04 ; CPU:$B759 PRG:3759 A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero43 +; Global: Branch target inside NmiHandler: taken when OnNonzero43. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero43: + asl VramReadPtrLo ; CPU:$B75B PRG:375B 06 0C + rol a ; CPU:$B75D PRG:375D 2A + dex ; CPU:$B75E PRG:375E CA + bne NmiHandler_OnNonzero43 ; CPU:$B75F PRG:375F D0 FA + sta $040B ; CPU:$B761 PRG:3761 8D 0B 04 + lda VramReadPtrLo ; CPU:$B764 PRG:3764 A5 0C + sta $040C ; CPU:$B766 PRG:3766 8D 0C 04 + jsr Sub_B7E7 ; CPU:$B769 PRG:3769 20 E7 B7 + lda Zp7B ; CPU:$B76C PRG:376C A5 7B + asl a ; CPU:$B76E PRG:376E 0A + asl a ; CPU:$B76F PRG:376F 0A + adc Zp7B ; CPU:$B770 PRG:3770 65 7B + tax ; CPU:$B772 PRG:3772 AA + lda $B894,x ; CPU:$B773 PRG:3773 BD 94 B8 + tax ; CPU:$B776 PRG:3776 AA + lda #$00 ; CPU:$B777 PRG:3777 A9 00 + stx ZpAC ; CPU:$B779 PRG:3779 86 AC + sta ZpAB ; CPU:$B77B PRG:377B 85 AB + jsr Sub_875B ; CPU:$B77D PRG:377D 20 5B 87 + jsr Sub_871E ; CPU:$B780 PRG:3780 20 1E 87 + dec $042E ; CPU:$B783 PRG:3783 CE 2E 04 + rts ; CPU:$B786 PRG:3786 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop284 +; Global: Branch target inside NmiHandler: taken when Loop284. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop284: + lda $043B ; CPU:$B787 PRG:3787 AD 3B 04 + cmp #$04 ; CPU:$B78A PRG:378A C9 04 + bcc NmiHandler_Loop285 ; CPU:$B78C PRG:378C 90 07 + lda #$00 ; CPU:$B78E PRG:378E A9 00 + sta $043B ; CPU:$B790 PRG:3790 8D 3B 04 + beq NmiHandler_Loop286 ; CPU:$B793 PRG:3793 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop285 +; Global: Branch target inside NmiHandler: taken when Loop285. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop285: + inc $043B ; CPU:$B795 PRG:3795 EE 3B 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop286 +; Global: Branch target inside NmiHandler: taken when Loop286. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop286: + dec $042E ; CPU:$B798 PRG:3798 CE 2E 04 + jsr Sub_B7C0 ; CPU:$B79B PRG:379B 20 C0 B7 + jsr Sub_8731 ; CPU:$B79E PRG:379E 20 31 87 + jsr Sub_871E ; CPU:$B7A1 PRG:37A1 20 1E 87 + lda Zp7B ; CPU:$B7A4 PRG:37A4 A5 7B + asl a ; CPU:$B7A6 PRG:37A6 0A + asl a ; CPU:$B7A7 PRG:37A7 0A + adc Zp7B ; CPU:$B7A8 PRG:37A8 65 7B + tax ; CPU:$B7AA PRG:37AA AA + ldy $B893,x ; CPU:$B7AB PRG:37AB BC 93 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B7AE +; Global: Branch target inside Sub: taken when B7AE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B7AE: + lda $0414 ; CPU:$B7AE PRG:37AE AD 14 04 + sta ZpAC ; CPU:$B7B1 PRG:37B1 85 AC + lda $0413 ; CPU:$B7B3 PRG:37B3 AD 13 04 + sta ZpAB ; CPU:$B7B6 PRG:37B6 85 AB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero44 +; Global: Branch target inside NmiHandler: taken when OnNonzero44. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero44: + asl ZpAB ; CPU:$B7B8 PRG:37B8 06 AB + rol ZpAC ; CPU:$B7BA PRG:37BA 26 AC + dey ; CPU:$B7BC PRG:37BC 88 + bne NmiHandler_OnNonzero44 ; CPU:$B7BD PRG:37BD D0 F9 + rts ; CPU:$B7BF PRG:37BF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B7C0 +; Global: Branch target inside Sub: taken when B7C0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B7C0: + lda $06B8,y ; CPU:$B7C0 PRG:37C0 B9 B8 06 + sta $06B0,y ; CPU:$B7C3 PRG:37C3 99 B0 06 + lda $06B9,y ; CPU:$B7C6 PRG:37C6 B9 B9 06 + sta $06B1,y ; CPU:$B7C9 PRG:37C9 99 B1 06 + tay ; CPU:$B7CC PRG:37CC A8 + lda #$00 ; CPU:$B7CD PRG:37CD A9 00 + sta $030A,x ; CPU:$B7CF PRG:37CF 9D 0A 03 + lda #$82 ; CPU:$B7D2 PRG:37D2 A9 82 + sta $030A,y ; CPU:$B7D4 PRG:37D4 99 0A 03 + sty Zp94 ; CPU:$B7D7 PRG:37D7 84 94 + ldx #$00 ; CPU:$B7D9 PRG:37D9 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero45 +; Global: Branch target inside NmiHandler: taken when OnNonzero45. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero45: + lda $0302,y ; CPU:$B7DB PRG:37DB B9 02 03 + sta $040B,x ; CPU:$B7DE PRG:37DE 9D 0B 04 + inx ; CPU:$B7E1 PRG:37E1 E8 + iny ; CPU:$B7E2 PRG:37E2 C8 + cpx #$04 ; CPU:$B7E3 PRG:37E3 E0 04 + bne NmiHandler_OnNonzero45 ; CPU:$B7E5 PRG:37E5 D0 F4 +; ----------------------------------------------------------------------------- +; Routine: Sub_B7E7 +; Global: Branch target inside Sub: taken when B7E7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B7E7: + ldx #$00 ; CPU:$B7E7 PRG:37E7 A2 00 + lda TimerIndex4 ; CPU:$B7E9 PRG:37E9 A5 A9 + ldy TimerIndex3 ; CPU:$B7EB PRG:37EB A4 A8 + jsr Sub_B829 ; CPU:$B7ED PRG:37ED 20 29 B8 + ldx #$02 ; CPU:$B7F0 PRG:37F0 A2 02 + lda TimerIndex2 ; CPU:$B7F2 PRG:37F2 A5 A4 + ldy TimerIndex ; CPU:$B7F4 PRG:37F4 A4 A3 + jsr Sub_B829 ; CPU:$B7F6 PRG:37F6 20 29 B8 + lda $0411 ; CPU:$B7F9 PRG:37F9 AD 11 04 + clc ; CPU:$B7FC PRG:37FC 18 + adc $040F ; CPU:$B7FD PRG:37FD 6D 0F 04 + sta $0413 ; CPU:$B800 PRG:3800 8D 13 04 + lda #$00 ; CPU:$B803 PRG:3803 A9 00 + adc #$00 ; CPU:$B805 PRG:3805 69 00 + sta $0414 ; CPU:$B807 PRG:3807 8D 14 04 + ldx $0412 ; CPU:$B80A PRG:380A AE 12 04 + lda $0411 ; CPU:$B80D PRG:380D AD 11 04 + jsr Sub_B85A ; CPU:$B810 PRG:3810 20 5A B8 + sty ZpA1 ; CPU:$B813 PRG:3813 84 A1 + stx ZpA2 ; CPU:$B815 PRG:3815 86 A2 + ldx $0410 ; CPU:$B817 PRG:3817 AE 10 04 + lda $040F ; CPU:$B81A PRG:381A AD 0F 04 + jsr Sub_B85A ; CPU:$B81D PRG:381D 20 5A B8 + sty ZpA6 ; CPU:$B820 PRG:3820 84 A6 + stx ZpA7 ; CPU:$B822 PRG:3822 86 A7 + ldx #$D8 ; CPU:$B824 PRG:3824 A2 D8 + stx ZpAA ; CPU:$B826 PRG:3826 86 AA + rts ; CPU:$B828 PRG:3828 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B829 +; Global: Branch target inside Sub: taken when B829. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B829: + sta VramReadPtrHi ; CPU:$B829 PRG:3829 85 0D + lda $040C,x ; CPU:$B82B PRG:382B BD 0C 04 + sec ; CPU:$B82E PRG:382E 38 + sbc VramReadPtrHi ; CPU:$B82F PRG:382F E5 0D + sta VramReadPtrLo ; CPU:$B831 PRG:3831 85 0C + sty VramReadPtrHi ; CPU:$B833 PRG:3833 84 0D + lda $040B,x ; CPU:$B835 PRG:3835 BD 0B 04 + sbc VramReadPtrHi ; CPU:$B838 PRG:3838 E5 0D + sta $0410,x ; CPU:$B83A PRG:383A 9D 10 04 + sta $040F,x ; CPU:$B83D PRG:383D 9D 0F 04 + bpl NmiHandler_Loop287 ; CPU:$B840 PRG:3840 10 0C + lda #$00 ; CPU:$B842 PRG:3842 A9 00 + sec ; CPU:$B844 PRG:3844 38 + sbc VramReadPtrLo ; CPU:$B845 PRG:3845 E5 0C + sta VramReadPtrLo ; CPU:$B847 PRG:3847 85 0C + lda #$00 ; CPU:$B849 PRG:3849 A9 00 + sbc $040F,x ; CPU:$B84B PRG:384B FD 0F 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop287 +; Global: Branch target inside NmiHandler: taken when Loop287. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop287: + ldy #$03 ; CPU:$B84E PRG:384E A0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero46 +; Global: Branch target inside NmiHandler: taken when OnNonzero46. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero46: + asl VramReadPtrLo ; CPU:$B850 PRG:3850 06 0C + rol a ; CPU:$B852 PRG:3852 2A + dey ; CPU:$B853 PRG:3853 88 + bne NmiHandler_OnNonzero46 ; CPU:$B854 PRG:3854 D0 FA + sta $040F,x ; CPU:$B856 PRG:3856 9D 0F 04 + rts ; CPU:$B859 PRG:3859 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B85A +; Global: Branch target inside Sub: taken when B85A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B85A: + stx VramReadPtrLo ; CPU:$B85A PRG:385A 86 0C + beq NmiHandler_Loop289 ; CPU:$B85C PRG:385C F0 2F + pha ; CPU:$B85E PRG:385E 48 + lda Zp7B ; CPU:$B85F PRG:385F A5 7B + asl a ; CPU:$B861 PRG:3861 0A + asl a ; CPU:$B862 PRG:3862 0A + adc Zp7B ; CPU:$B863 PRG:3863 65 7B + tax ; CPU:$B865 PRG:3865 AA + lda $043C ; CPU:$B866 PRG:3866 AD 3C 04 + bpl NmiHandler_Loop288 ; CPU:$B869 PRG:3869 10 01 + inx ; CPU:$B86B PRG:386B E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop288 +; Global: Branch target inside NmiHandler: taken when Loop288. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop288: + ldy $B891,x ; CPU:$B86C PRG:386C BC 91 B8 + pla ; CPU:$B86F PRG:386F 68 + ldx #$00 ; CPU:$B870 PRG:3870 A2 00 + jsr Sub_8E61 ; CPU:$B872 PRG:3872 20 61 8E + lda $0413 ; CPU:$B875 PRG:3875 AD 13 04 + sta $0415 ; CPU:$B878 PRG:3878 8D 15 04 + lda $0414 ; CPU:$B87B PRG:387B AD 14 04 + sta $0416 ; CPU:$B87E PRG:387E 8D 16 04 + jsr Sub_8E8D ; CPU:$B881 PRG:3881 20 8D 8E + ldx VramReadPtrLo ; CPU:$B884 PRG:3884 A6 0C + bpl NmiHandler_Loop289 ; CPU:$B886 PRG:3886 10 05 + eor #$FF ; CPU:$B888 PRG:3888 49 FF + clc ; CPU:$B88A PRG:388A 18 + adc #$01 ; CPU:$B88B PRG:388B 69 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop289 +; Global: Branch target inside NmiHandler: taken when Loop289. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop289: + tax ; CPU:$B88D PRG:388D AA + ldy #$00 ; CPU:$B88E PRG:388E A0 00 + rts ; CPU:$B890 PRG:3890 60 +; ---- data $B891-$B8A9 (25 bytes) ---- +; referenced by `ldy $B895,x` at $B733 (operand $B895 falls inside this region) +; referenced by `lda $B894,x` at $B773 (operand $B894 falls inside this region) +; referenced by `ldy $B893,x` at $B7AB (operand $B893 falls inside this region) +; referenced by `ldy $B891,x` at $B86C (operand $B891 falls inside this region) + .byte $40, $44, $06, $0F, $04, $40, $48, $06, $0F, $04, $48, $50, $06, $0F, $04, $48 ; CPU:$B891 PRG:3891 40 44 06 0F 04 40 48 06 0F 04 48 50 06 0F 04 48 + .byte $54, $06, $0F, $04, $50, $58, $06, $0F, $04 ; CPU:$B8A1 PRG:38A1 54 06 0F 04 50 58 06 0F 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8AA +; Global: Branch target inside Sub: taken when B8AA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8AA: + ldx #$69 ; CPU:$B8AA PRG:38AA A2 69 + jsr Sub_B8C0 ; CPU:$B8AC PRG:38AC 20 C0 B8 + ldx #$E7 ; CPU:$B8AF PRG:38AF A2 E7 + jsr Sub_B8C0 ; CPU:$B8B1 PRG:38B1 20 C0 B8 + ldx Zp94 ; CPU:$B8B4 PRG:38B4 A6 94 + lda #$00 ; CPU:$B8B6 PRG:38B6 A9 00 + sta $030A,x ; CPU:$B8B8 PRG:38B8 9D 0A 03 + ldx PlayerSpeed2 ; CPU:$B8BB PRG:38BB A6 90 + stx Zp94 ; CPU:$B8BD PRG:38BD 86 94 + rts ; CPU:$B8BF PRG:38BF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8C0 +; Global: Branch target inside Sub: taken when B8C0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8C0: + lda #$DF ; CPU:$B8C0 PRG:38C0 A9 DF + and $030A,x ; CPU:$B8C2 PRG:38C2 3D 0A 03 + sta $030A,x ; CPU:$B8C5 PRG:38C5 9D 0A 03 + rts ; CPU:$B8C8 PRG:38C8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet3 +; Global: Branch target inside NmiHandler: taken when OnCarrySet3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet3: + ldx PlayerSpeed2 ; CPU:$B8C9 PRG:38C9 A6 90 + lda VramReadPtrLo ; CPU:$B8CB PRG:38CB A5 0C + sta $030C,x ; CPU:$B8CD PRG:38CD 9D 0C 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero47 +; Global: Branch target inside NmiHandler: taken when OnNonzero47. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero47: + rts ; CPU:$B8D0 PRG:38D0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8D1 +; Global: Branch target inside Sub: taken when B8D1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8D1: + lda #$F0 ; CPU:$B8D1 PRG:38D1 A9 F0 + sta VramReadPtrLo ; CPU:$B8D3 PRG:38D3 85 0C + lda ZpAD ; CPU:$B8D5 PRG:38D5 A5 AD + bne NmiHandler_Loop290 ; CPU:$B8D7 PRG:38D7 D0 13 + lda ZpAE ; CPU:$B8D9 PRG:38D9 A5 AE + cmp #$0F ; CPU:$B8DB PRG:38DB C9 0F + bcs NmiHandler_Loop290 ; CPU:$B8DD PRG:38DD B0 0D + ldy #$70 ; CPU:$B8DF PRG:38DF A0 70 + jsr Sub_B99E ; CPU:$B8E1 PRG:38E1 20 9E B9 + bcs NmiHandler_Loop290 ; CPU:$B8E4 PRG:38E4 B0 06 + lda VramReadPtrLo ; CPU:$B8E6 PRG:38E6 A5 0C + and #$B0 ; CPU:$B8E8 PRG:38E8 29 B0 + sta VramReadPtrLo ; CPU:$B8EA PRG:38EA 85 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop290 +; Global: Branch target inside NmiHandler: taken when Loop290. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop290: + ldy #$40 ; CPU:$B8EC PRG:38EC A0 40 + jsr Sub_B99E ; CPU:$B8EE PRG:38EE 20 9E B9 + bcs NmiHandler_OnCarrySet3 ; CPU:$B8F1 PRG:38F1 B0 D6 + lda ZpAD ; CPU:$B8F3 PRG:38F3 A5 AD + bne NmiHandler_OnCarrySet3 ; CPU:$B8F5 PRG:38F5 D0 D2 + ldx ZpAE ; CPU:$B8F7 PRG:38F7 A6 AE + cpx #$F0 ; CPU:$B8F9 PRG:38F9 E0 F0 + bcs NmiHandler_OnCarrySet3 ; CPU:$B8FB PRG:38FB B0 CC + lda VramReadPtrLo ; CPU:$B8FD PRG:38FD A5 0C + and #$E0 ; CPU:$B8FF PRG:38FF 29 E0 + cpx #$0F ; CPU:$B901 PRG:3901 E0 0F + bcs NmiHandler_Loop291 ; CPU:$B903 PRG:3903 B0 02 + and #$D0 ; CPU:$B905 PRG:3905 29 D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop291 +; Global: Branch target inside NmiHandler: taken when Loop291. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop291: + ldx PlayerSpeed2 ; CPU:$B907 PRG:3907 A6 90 + sta $030C,x ; CPU:$B909 PRG:3909 9D 0C 03 + asl a ; CPU:$B90C PRG:390C 0A + asl a ; CPU:$B90D PRG:390D 0A + bcc NmiHandler_OnNonzero47 ; CPU:$B90E PRG:390E 90 C0 + asl a ; CPU:$B910 PRG:3910 0A + asl a ; CPU:$B911 PRG:3911 0A + bcs NmiHandler_OnNonzero47 ; CPU:$B912 PRG:3912 B0 BC + lda $030A,x ; CPU:$B914 PRG:3914 BD 0A 03 + and #$04 ; CPU:$B917 PRG:3917 29 04 + bne NmiHandler_OnNonzero47 ; CPU:$B919 PRG:3919 D0 B5 + lda $0300,x ; CPU:$B91B PRG:391B BD 00 03 + cmp #$08 ; CPU:$B91E PRG:391E C9 08 + beq NmiHandler_Loop294 ; CPU:$B920 PRG:3920 F0 7B + cmp #$15 ; CPU:$B922 PRG:3922 C9 15 + beq NmiHandler_Loop294 ; CPU:$B924 PRG:3924 F0 77 + lda $06E7 ; CPU:$B926 PRG:3926 AD E7 06 + cmp #$11 ; CPU:$B929 PRG:3929 C9 11 + beq NmiHandler_Loop294 ; CPU:$B92B PRG:392B F0 70 + lda $030A,x ; CPU:$B92D PRG:392D BD 0A 03 + and #$10 ; CPU:$B930 PRG:3930 29 10 + bne NmiHandler_Loop294 ; CPU:$B932 PRG:3932 D0 69 + lda ZpA2 ; CPU:$B934 PRG:3934 A5 A2 + ora ZpA1 ; CPU:$B936 PRG:3936 05 A1 + ora ZpA7 ; CPU:$B938 PRG:3938 05 A7 + ora ZpA6 ; CPU:$B93A PRG:393A 05 A6 + beq NmiHandler_Loop294 ; CPU:$B93C PRG:393C F0 5F + ldy Zp94 ; CPU:$B93E PRG:393E A4 94 + lda #$00 ; CPU:$B940 PRG:3940 A9 00 + sta $030A,y ; CPU:$B942 PRG:3942 99 0A 03 + jsr Sub_8748 ; CPU:$B945 PRG:3945 20 48 87 + ldx PlayerSpeed2 ; CPU:$B948 PRG:3948 A6 90 + stx Zp94 ; CPU:$B94A PRG:394A 86 94 + lda #$82 ; CPU:$B94C PRG:394C A9 82 + sta $030A,x ; CPU:$B94E PRG:394E 9D 0A 03 + txa ; CPU:$B951 PRG:3951 8A + ldx #$00 ; CPU:$B952 PRG:3952 A2 00 + cmp #$7E ; CPU:$B954 PRG:3954 C9 7E + bcc NmiHandler_Loop292 ; CPU:$B956 PRG:3956 90 02 + ldx #$14 ; CPU:$B958 PRG:3958 A2 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop292 +; Global: Branch target inside NmiHandler: taken when Loop292. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop292: + sta $06B1,x ; CPU:$B95A PRG:395A 9D B1 06 + jsr Sub_C3F5 ; CPU:$B95D PRG:395D 20 F5 C3 + tya ; CPU:$B960 PRG:3960 98 + sta $06B0,x ; CPU:$B961 PRG:3961 9D B0 06 + lda Zp96 ; CPU:$B964 PRG:3964 A5 96 + ldx #$14 ; CPU:$B966 PRG:3966 A2 14 + ldy Zp94 ; CPU:$B968 PRG:3968 A4 94 + cpy #$7E ; CPU:$B96A PRG:396A C0 7E + bcc NmiHandler_Loop293 ; CPU:$B96C PRG:396C 90 04 + lda PlayerSpeed ; CPU:$B96E PRG:396E A5 95 + ldx #$00 ; CPU:$B970 PRG:3970 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop293 +; Global: Branch target inside NmiHandler: taken when Loop293. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop293: + sta $06B1,x ; CPU:$B972 PRG:3972 9D B1 06 + jsr Sub_C3F5 ; CPU:$B975 PRG:3975 20 F5 C3 + tya ; CPU:$B978 PRG:3978 98 + sta $06B0,x ; CPU:$B979 PRG:3979 9D B0 06 + lda #$05 ; CPU:$B97C PRG:397C A9 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative10 +; Global: Branch target inside NmiHandler: taken when OnNonnegative10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative10: + tay ; CPU:$B97E PRG:397E A8 + lda #$00 ; CPU:$B97F PRG:397F A9 00 + sta a:ZpA1,y ; CPU:$B981 PRG:3981 99 A1 00 + sta a:ZpA2,y ; CPU:$B984 PRG:3984 99 A2 00 + tya ; CPU:$B987 PRG:3987 98 + sec ; CPU:$B988 PRG:3988 38 + sbc #$05 ; CPU:$B989 PRG:3989 E9 05 + bpl NmiHandler_OnNonnegative10 ; CPU:$B98B PRG:398B 10 F1 + lda ZpAC ; CPU:$B98D PRG:398D A5 AC + bmi NmiHandler_Loop294 ; CPU:$B98F PRG:398F 30 0C + lda #$00 ; CPU:$B991 PRG:3991 A9 00 + sbc ZpAB ; CPU:$B993 PRG:3993 E5 AB + sta ZpAB ; CPU:$B995 PRG:3995 85 AB + lda #$00 ; CPU:$B997 PRG:3997 A9 00 + sbc ZpAC ; CPU:$B999 PRG:3999 E5 AC + sta ZpAC ; CPU:$B99B PRG:399B 85 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop294 +; Global: Branch target inside NmiHandler: taken when Loop294. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop294: + rts ; CPU:$B99D PRG:399D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B99E +; Global: Branch target inside Sub: taken when B99E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B99E: + sty VramReadPtrHi ; CPU:$B99E PRG:399E 84 0D + ldx PlayerSpeed2 ; CPU:$B9A0 PRG:39A0 A6 90 + inx ; CPU:$B9A2 PRG:39A2 E8 + inx ; CPU:$B9A3 PRG:39A3 E8 + ldy #$00 ; CPU:$B9A4 PRG:39A4 A0 00 + jsr Sub_B9AF ; CPU:$B9A6 PRG:39A6 20 AF B9 + bcs NmiHandler_Loop296 ; CPU:$B9A9 PRG:39A9 B0 2B + ldx PlayerSpeed2 ; CPU:$B9AB PRG:39AB A6 90 + ldy #$05 ; CPU:$B9AD PRG:39AD A0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_B9AF +; Global: Branch target inside Sub: taken when B9AF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B9AF: + sec ; CPU:$B9AF PRG:39AF 38 +; ----------------------------------------------------------------------------- +; Routine: Label_B9B0 +; Global: Branch target inside Label: taken when B9B0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9B0: + lda a:TimerIndex2,y ; CPU:$B9B0 PRG:39B0 B9 A4 00 + sbc $0303,x ; CPU:$B9B3 PRG:39B3 FD 03 03 + sta Zp10 ; CPU:$B9B6 PRG:39B6 85 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero48 +; Global: Branch target inside NmiHandler: taken when OnNonzero48. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero48: + lda a:TimerIndex,y ; CPU:$B9B8 PRG:39B8 B9 A3 00 + sbc $0302,x ; CPU:$B9BB PRG:39BB FD 02 03 + sta Zp11 ; CPU:$B9BE PRG:39BE 85 11 + bpl NmiHandler_Loop295 ; CPU:$B9C0 PRG:39C0 10 0D + sec ; CPU:$B9C2 PRG:39C2 38 + lda #$00 ; CPU:$B9C3 PRG:39C3 A9 00 + sbc Zp10 ; CPU:$B9C5 PRG:39C5 E5 10 + sta Zp10 ; CPU:$B9C7 PRG:39C7 85 10 + lda #$00 ; CPU:$B9C9 PRG:39C9 A9 00 + sbc Zp11 ; CPU:$B9CB PRG:39CB E5 11 + sta Zp11 ; CPU:$B9CD PRG:39CD 85 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop295 +; Global: Branch target inside NmiHandler: taken when Loop295. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop295: + bne NmiHandler_Loop296 ; CPU:$B9CF PRG:39CF D0 05 + lda Zp10 ; CPU:$B9D1 PRG:39D1 A5 10 + cmp VramReadPtrHi ; CPU:$B9D3 PRG:39D3 C5 0D + rts ; CPU:$B9D5 PRG:39D5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop296 +; Global: Branch target inside NmiHandler: taken when Loop296. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop296: + sec ; CPU:$B9D6 PRG:39D6 38 + rts ; CPU:$B9D7 PRG:39D7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B9D8 +; Global: Branch target inside Label: taken when B9D8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9D8: + brk ; CPU:$B9D8 PRG:39D8 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B9D9 +; Global: Branch target inside Label: taken when B9D9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9D9: + ldy #$30 ; CPU:$B9D9 PRG:39D9 A0 30 + bne NmiHandler_Loop299 ; CPU:$B9DB PRG:39DB D0 60 + brk ; CPU:$B9DD PRG:39DD 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B9DE +; Global: Branch target inside Label: taken when B9DE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9DE: + .byte $30, $30 ; CPU:$B9DE PRG:39DE 30 30 + brk ; CPU:$B9E0 PRG:39E0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B9E1 +; Global: Branch target inside Label: taken when B9E1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9E1: + rts ; CPU:$B9E1 PRG:39E1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B9E2 +; Global: Branch target inside Label: taken when B9E2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9E2: + .byte $D0, $30 ; CPU:$B9E2 PRG:39E2 D0 30 + ldy #$00 ; CPU:$B9E4 PRG:39E4 A0 00 + bne NmiHandler_OnNonzero48 ; CPU:$B9E6 PRG:39E6 D0 D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_B9E8 +; Global: Branch target inside Sub: taken when B9E8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B9E8: + ldy PlayerSpeed2 ; CPU:$B9E8 PRG:39E8 A4 90 + lda $030A,y ; CPU:$B9EA PRG:39EA B9 0A 03 + lsr a ; CPU:$B9ED PRG:39ED 4A + bcs NmiHandler_Loop298 ; CPU:$B9EE PRG:39EE B0 46 + lsr a ; CPU:$B9F0 PRG:39F0 4A +; ----------------------------------------------------------------------------- +; Routine: Label_B9F1 +; Global: Branch target inside Label: taken when B9F1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9F1: + bcc NmiHandler_Loop298 ; CPU:$B9F1 PRG:39F1 90 43 + lda $030B,y ; CPU:$B9F3 PRG:39F3 B9 0B 03 + asl a ; CPU:$B9F6 PRG:39F6 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet4 +; Global: Branch target inside NmiHandler: taken when OnCarrySet4. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet4: + cmp Zp9E ; CPU:$B9F7 PRG:39F7 C5 9E + beq NmiHandler_Loop298 ; CPU:$B9F9 PRG:39F9 F0 3B + sta Zp9E ; CPU:$B9FB PRG:39FB 85 9E + tay ; CPU:$B9FD PRG:39FD A8 + ldx PlayerSpeed2 ; CPU:$B9FE PRG:39FE A6 90 + lda $030E,x ; CPU:$BA00 PRG:3A00 BD 0E 03 + and #$F0 ; CPU:$BA03 PRG:3A03 29 F0 + sta $030E,x ; CPU:$BA05 PRG:3A05 9D 0E 03 + lda $BA35,y ; CPU:$BA08 PRG:3A08 B9 35 BA + pha ; CPU:$BA0B PRG:3A0B 48 + lda $BA36,y ; CPU:$BA0C PRG:3A0C B9 36 BA +; ----------------------------------------------------------------------------- +; Routine: Label_BA0F +; Global: Branch target inside Label: taken when BA0F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA0F: + ldx PlayerSpeed2 ; CPU:$BA0F PRG:3A0F A6 90 + ldy #$05 ; CPU:$BA11 PRG:3A11 A0 05 +; ----------------------------------------------------------------------------- +; Routine: Label_BA13 +; Global: Branch target inside Label: taken when BA13. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA13: + jsr Sub_BA19 ; CPU:$BA13 PRG:3A13 20 19 BA + pla ; CPU:$BA16 PRG:3A16 68 + ldy #$00 ; CPU:$BA17 PRG:3A17 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA19 +; Global: Branch target inside Sub: taken when BA19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA19: + pha ; CPU:$BA19 PRG:3A19 48 + lda #$00 ; CPU:$BA1A PRG:3A1A A9 00 + sta VramReadPtrHi ; CPU:$BA1C PRG:3A1C 85 0D + pla ; CPU:$BA1E PRG:3A1E 68 + ora #$00 ; CPU:$BA1F PRG:3A1F 09 00 + bpl NmiHandler_Loop297 ; CPU:$BA21 PRG:3A21 10 02 + dec VramReadPtrHi ; CPU:$BA23 PRG:3A23 C6 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop297 +; Global: Branch target inside NmiHandler: taken when Loop297. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop297: + clc ; CPU:$BA25 PRG:3A25 18 + adc $0303,x ; CPU:$BA26 PRG:3A26 7D 03 03 + sta a:TimerIndex2,y ; CPU:$BA29 PRG:3A29 99 A4 00 + lda VramReadPtrHi ; CPU:$BA2C PRG:3A2C A5 0D + adc $0302,x ; CPU:$BA2E PRG:3A2E 7D 02 03 + sta a:TimerIndex,y ; CPU:$BA31 PRG:3A31 99 A3 00 + inx ; CPU:$BA34 PRG:3A34 E8 + inx ; CPU:$BA35 PRG:3A35 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop298 +; Global: Branch target inside NmiHandler: taken when Loop298. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop298: + rts ; CPU:$BA36 PRG:3A36 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BA37 +; Global: Branch target inside Label: taken when BA37. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA37: + brk ; CPU:$BA37 PRG:3A37 00 +; ----------------------------------------------------------------------------- +; Routine: Label_BA38 +; Global: Branch target inside Label: taken when BA38. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA38: + bcs NmiHandler_Loop304 ; CPU:$BA38 PRG:3A38 B0 50 + bcs NmiHandler_Loop305 ; CPU:$BA3A PRG:3A3A B0 50 + brk ; CPU:$BA3C PRG:3A3C 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop299 +; Global: Branch target inside NmiHandler: taken when Loop299. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop299: + bvc NmiHandler_Loop306 ; CPU:$BA3D PRG:3A3D 50 50 + brk ; CPU:$BA3F PRG:3A3F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_BA40 +; Global: Branch target inside Label: taken when BA40. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA40: + .byte $50, $B0 ; CPU:$BA40 PRG:3A40 50 B0 + .byte $50, $B0 ; CPU:$BA42 PRG:3A42 50 B0 + brk ; CPU:$BA44 PRG:3A44 00 +; ----------------------------------------------------------------------------- +; Routine: Label_BA45 +; Global: Branch target inside Label: taken when BA45. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA45: + bcs NmiHandler_OnCarrySet4 ; CPU:$BA45 PRG:3A45 B0 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA47 +; Global: Branch target inside Sub: taken when BA47. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA47: + rts ; CPU:$BA47 PRG:3A47 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BA48 +; Global: Branch target inside Label: taken when BA48. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BA48: + lda Zp17 ; CPU:$BA48 PRG:3A48 A5 17 + beq NmiHandler_Loop308 ; CPU:$BA4A PRG:3A4A F0 64 + lsr a ; CPU:$BA4C PRG:3A4C 4A + bcc NmiHandler_Loop300 ; CPU:$BA4D PRG:3A4D 90 0C + pha ; CPU:$BA4F PRG:3A4F 48 + lda TimerIndex2 ; CPU:$BA50 PRG:3A50 A5 A4 + adc #$0F ; CPU:$BA52 PRG:3A52 69 0F + sta TimerIndex2 ; CPU:$BA54 PRG:3A54 85 A4 + pla ; CPU:$BA56 PRG:3A56 68 + bcc NmiHandler_Loop300 ; CPU:$BA57 PRG:3A57 90 02 + inc TimerIndex ; CPU:$BA59 PRG:3A59 E6 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop300 +; Global: Branch target inside NmiHandler: taken when Loop300. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop300: + lsr a ; CPU:$BA5B PRG:3A5B 4A + bcc NmiHandler_Loop301 ; CPU:$BA5C PRG:3A5C 90 0C + pha ; CPU:$BA5E PRG:3A5E 48 + lda TimerIndex2 ; CPU:$BA5F PRG:3A5F A5 A4 + sbc #$10 ; CPU:$BA61 PRG:3A61 E9 10 + sta TimerIndex2 ; CPU:$BA63 PRG:3A63 85 A4 + pla ; CPU:$BA65 PRG:3A65 68 + bcs NmiHandler_Loop301 ; CPU:$BA66 PRG:3A66 B0 02 + dec TimerIndex ; CPU:$BA68 PRG:3A68 C6 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop301 +; Global: Branch target inside NmiHandler: taken when Loop301. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop301: + lsr a ; CPU:$BA6A PRG:3A6A 4A + bcc NmiHandler_Loop302 ; CPU:$BA6B PRG:3A6B 90 0C + pha ; CPU:$BA6D PRG:3A6D 48 + lda TimerIndex4 ; CPU:$BA6E PRG:3A6E A5 A9 + adc #$0F ; CPU:$BA70 PRG:3A70 69 0F + sta TimerIndex4 ; CPU:$BA72 PRG:3A72 85 A9 + pla ; CPU:$BA74 PRG:3A74 68 + bcc NmiHandler_Loop302 ; CPU:$BA75 PRG:3A75 90 02 + inc TimerIndex3 ; CPU:$BA77 PRG:3A77 E6 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop302 +; Global: Branch target inside NmiHandler: taken when Loop302. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop302: + lsr a ; CPU:$BA79 PRG:3A79 4A + bcc NmiHandler_Loop303 ; CPU:$BA7A PRG:3A7A 90 0C + pha ; CPU:$BA7C PRG:3A7C 48 + lda TimerIndex4 ; CPU:$BA7D PRG:3A7D A5 A9 + sbc #$10 ; CPU:$BA7F PRG:3A7F E9 10 + sta TimerIndex4 ; CPU:$BA81 PRG:3A81 85 A9 + pla ; CPU:$BA83 PRG:3A83 68 + bcs NmiHandler_Loop303 ; CPU:$BA84 PRG:3A84 B0 02 + dec TimerIndex3 ; CPU:$BA86 PRG:3A86 C6 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop303 +; Global: Branch target inside NmiHandler: taken when Loop303. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop303: + lda Zp17 ; CPU:$BA88 PRG:3A88 A5 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop304 +; Global: Branch target inside NmiHandler: taken when Loop304. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop304: + and #$C0 ; CPU:$BA8A PRG:3A8A 29 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop305 +; Global: Branch target inside NmiHandler: taken when Loop305. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop305: + beq NmiHandler_Loop308 ; CPU:$BA8C PRG:3A8C F0 22 + asl a ; CPU:$BA8E PRG:3A8E 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop306 +; Global: Branch target inside NmiHandler: taken when Loop306. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop306: + bcc NmiHandler_Loop307 ; CPU:$BA8F PRG:3A8F 90 0C + pha ; CPU:$BA91 PRG:3A91 48 + lda ZpAE ; CPU:$BA92 PRG:3A92 A5 AE + adc #$0F ; CPU:$BA94 PRG:3A94 69 0F + sta ZpAE ; CPU:$BA96 PRG:3A96 85 AE + pla ; CPU:$BA98 PRG:3A98 68 + bcc NmiHandler_Loop307 ; CPU:$BA99 PRG:3A99 90 02 + inc ZpAD ; CPU:$BA9B PRG:3A9B E6 AD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop307 +; Global: Branch target inside NmiHandler: taken when Loop307. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop307: + asl a ; CPU:$BA9D PRG:3A9D 0A + bcc NmiHandler_Loop308 ; CPU:$BA9E PRG:3A9E 90 10 + lda ZpAD ; CPU:$BAA0 PRG:3AA0 A5 AD + ora ZpAE ; CPU:$BAA2 PRG:3AA2 05 AE + beq NmiHandler_Loop308 ; CPU:$BAA4 PRG:3AA4 F0 0A + lda ZpAE ; CPU:$BAA6 PRG:3AA6 A5 AE + sbc #$10 ; CPU:$BAA8 PRG:3AA8 E9 10 + sta ZpAE ; CPU:$BAAA PRG:3AAA 85 AE + bcs NmiHandler_Loop308 ; CPU:$BAAC PRG:3AAC B0 02 + dec ZpAD ; CPU:$BAAE PRG:3AAE C6 AD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop308 +; Global: Branch target inside NmiHandler: taken when Loop308. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop308: + rts ; CPU:$BAB0 PRG:3AB0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BAB1 +; Global: Branch target inside Sub: taken when BAB1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BAB1: + jsr Sub_BA47 ; CPU:$BAB1 PRG:3AB1 20 47 BA + jsr Sub_E562 ; CPU:$BAB4 PRG:3AB4 20 62 E5 + lda ZpAC ; CPU:$BAB7 PRG:3AB7 A5 AC + sta VramReadPtrLo ; CPU:$BAB9 PRG:3AB9 85 0C + lda #$0F ; CPU:$BABB PRG:3ABB A9 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero49 +; Global: Branch target inside NmiHandler: taken when OnNonzero49. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero49: + sec ; CPU:$BABD PRG:3ABD 38 + sbc #$05 ; CPU:$BABE PRG:3ABE E9 05 + tax ; CPU:$BAC0 PRG:3AC0 AA + ldy #$00 ; CPU:$BAC1 PRG:3AC1 A0 00 + lda ZpA0,x ; CPU:$BAC3 PRG:3AC3 B5 A0 + asl a ; CPU:$BAC5 PRG:3AC5 0A + bcc NmiHandler_Loop309 ; CPU:$BAC6 PRG:3AC6 90 04 + dec ZpA2,x ; CPU:$BAC8 PRG:3AC8 D6 A2 + dec ZpA2,x ; CPU:$BACA PRG:3ACA D6 A2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop309 +; Global: Branch target inside NmiHandler: taken when Loop309. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop309: + asl a ; CPU:$BACC PRG:3ACC 0A + bcc NmiHandler_Loop310 ; CPU:$BACD PRG:3ACD 90 02 + inc ZpA2,x ; CPU:$BACF PRG:3ACF F6 A2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop310 +; Global: Branch target inside NmiHandler: taken when Loop310. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop310: + clc ; CPU:$BAD1 PRG:3AD1 18 + adc ZpA1,x ; CPU:$BAD2 PRG:3AD2 75 A1 + sta ZpA1,x ; CPU:$BAD4 PRG:3AD4 95 A1 + sta Zp15 ; CPU:$BAD6 PRG:3AD6 85 15 + tya ; CPU:$BAD8 PRG:3AD8 98 + adc ZpA2,x ; CPU:$BAD9 PRG:3AD9 75 A2 + sta ZpA2,x ; CPU:$BADB PRG:3ADB 95 A2 + bpl NmiHandler_Loop311 ; CPU:$BADD PRG:3ADD 10 01 + dey ; CPU:$BADF PRG:3ADF 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop311 +; Global: Branch target inside NmiHandler: taken when Loop311. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop311: + asl Zp15 ; CPU:$BAE0 PRG:3AE0 06 15 + adc TimerIndex2,x ; CPU:$BAE2 PRG:3AE2 75 A4 + sta TimerIndex2,x ; CPU:$BAE4 PRG:3AE4 95 A4 + tya ; CPU:$BAE6 PRG:3AE6 98 + adc TimerIndex,x ; CPU:$BAE7 PRG:3AE7 75 A3 + sta TimerIndex,x ; CPU:$BAE9 PRG:3AE9 95 A3 + txa ; CPU:$BAEB PRG:3AEB 8A + bne NmiHandler_OnNonzero49 ; CPU:$BAEC PRG:3AEC D0 CF + lda ZpAD ; CPU:$BAEE PRG:3AEE A5 AD + bmi NmiHandler_Loop312 ; CPU:$BAF0 PRG:3AF0 30 03 + jmp NmiHandler_Loop318 ; CPU:$BAF2 PRG:3AF2 4C 67 BB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop312 +; Global: Branch target inside NmiHandler: taken when Loop312. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop312: + lda #$0F ; CPU:$BAF5 PRG:3AF5 A9 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero50 +; Global: Branch target inside NmiHandler: taken when OnNonzero50. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero50: + sec ; CPU:$BAF7 PRG:3AF7 38 + sbc #$05 ; CPU:$BAF8 PRG:3AF8 E9 05 + tax ; CPU:$BAFA PRG:3AFA AA + lda ZpA2,x ; CPU:$BAFB PRG:3AFB B5 A2 + cmp #$80 ; CPU:$BAFD PRG:3AFD C9 80 + ror a ; CPU:$BAFF PRG:3AFF 6A + sta ZpA2,x ; CPU:$BB00 PRG:3B00 95 A2 + ror ZpA1,x ; CPU:$BB02 PRG:3B02 76 A1 + lda ZpA2,x ; CPU:$BB04 PRG:3B04 B5 A2 + bpl NmiHandler_Loop313 ; CPU:$BB06 PRG:3B06 10 08 + bcc NmiHandler_Loop313 ; CPU:$BB08 PRG:3B08 90 06 + inc ZpA1,x ; CPU:$BB0A PRG:3B0A F6 A1 + bne NmiHandler_Loop313 ; CPU:$BB0C PRG:3B0C D0 02 + inc ZpA2,x ; CPU:$BB0E PRG:3B0E F6 A2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop313 +; Global: Branch target inside NmiHandler: taken when Loop313. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop313: + txa ; CPU:$BB10 PRG:3B10 8A + bne NmiHandler_OnNonzero50 ; CPU:$BB11 PRG:3B11 D0 E4 + ldy #$00 ; CPU:$BB13 PRG:3B13 A0 00 + tya ; CPU:$BB15 PRG:3B15 98 + sec ; CPU:$BB16 PRG:3B16 38 + sbc ZpAE ; CPU:$BB17 PRG:3B17 E5 AE + sta ZpAE ; CPU:$BB19 PRG:3B19 85 AE + tya ; CPU:$BB1B PRG:3B1B 98 + sbc ZpAD ; CPU:$BB1C PRG:3B1C E5 AD + sta ZpAD ; CPU:$BB1E PRG:3B1E 85 AD + tya ; CPU:$BB20 PRG:3B20 98 + sec ; CPU:$BB21 PRG:3B21 38 + sbc ZpAB ; CPU:$BB22 PRG:3B22 E5 AB + sta ZpAB ; CPU:$BB24 PRG:3B24 85 AB + tya ; CPU:$BB26 PRG:3B26 98 + sbc ZpAC ; CPU:$BB27 PRG:3B27 E5 AC + sta ZpAC ; CPU:$BB29 PRG:3B29 85 AC + lda ZpA2 ; CPU:$BB2B PRG:3B2B A5 A2 + bpl NmiHandler_Loop314 ; CPU:$BB2D PRG:3B2D 10 02 + eor #$FF ; CPU:$BB2F PRG:3B2F 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop314 +; Global: Branch target inside NmiHandler: taken when Loop314. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop314: + sta Zp11 ; CPU:$BB31 PRG:3B31 85 11 + lda ZpA7 ; CPU:$BB33 PRG:3B33 A5 A7 + bpl NmiHandler_Loop315 ; CPU:$BB35 PRG:3B35 10 02 + eor #$FF ; CPU:$BB37 PRG:3B37 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop315 +; Global: Branch target inside NmiHandler: taken when Loop315. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop315: + ora Zp11 ; CPU:$BB39 PRG:3B39 05 11 + and #$FE ; CPU:$BB3B PRG:3B3B 29 FE + bne NmiHandler_Loop316 ; CPU:$BB3D PRG:3B3D D0 12 + sta ZpAD ; CPU:$BB3F PRG:3B3F 85 AD + sta ZpAE ; CPU:$BB41 PRG:3B41 85 AE + sta ZpAB ; CPU:$BB43 PRG:3B43 85 AB + sta ZpAC ; CPU:$BB45 PRG:3B45 85 AC + sta ZpAA ; CPU:$BB47 PRG:3B47 85 AA + sta ZpA1 ; CPU:$BB49 PRG:3B49 85 A1 + sta ZpA2 ; CPU:$BB4B PRG:3B4B 85 A2 + sta ZpA6 ; CPU:$BB4D PRG:3B4D 85 A6 + sta ZpA7 ; CPU:$BB4F PRG:3B4F 85 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop316 +; Global: Branch target inside NmiHandler: taken when Loop316. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop316: + jsr Sub_8748 ; CPU:$BB51 PRG:3B51 20 48 87 + lda ZpAC ; CPU:$BB54 PRG:3B54 A5 AC + and #$FE ; CPU:$BB56 PRG:3B56 29 FE + beq NmiHandler_Loop317 ; CPU:$BB58 PRG:3B58 F0 03 + jsr Sub_8716 ; CPU:$BB5A PRG:3B5A 20 16 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop317 +; Global: Branch target inside NmiHandler: taken when Loop317. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop317: + lda $042E ; CPU:$BB5D PRG:3B5D AD 2E 04 + beq NmiHandler_Loop318 ; CPU:$BB60 PRG:3B60 F0 05 + lda #$00 ; CPU:$BB62 PRG:3B62 A9 00 + sta $042E ; CPU:$BB64 PRG:3B64 8D 2E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop318 +; Global: Branch target inside NmiHandler: taken when Loop318. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop318: + lda ZpAD ; CPU:$BB67 PRG:3B67 A5 AD + bne NmiHandler_Loop319 ; CPU:$BB69 PRG:3B69 D0 10 + lda ZpAE ; CPU:$BB6B PRG:3B6B A5 AE + and #$F0 ; CPU:$BB6D PRG:3B6D 29 F0 + beq NmiHandler_Loop320 ; CPU:$BB6F PRG:3B6F F0 17 + lda ZpA2 ; CPU:$BB71 PRG:3B71 A5 A2 + ora ZpA7 ; CPU:$BB73 PRG:3B73 05 A7 + ora ZpA1 ; CPU:$BB75 PRG:3B75 05 A1 + ora ZpA6 ; CPU:$BB77 PRG:3B77 05 A6 + beq NmiHandler_Loop320 ; CPU:$BB79 PRG:3B79 F0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop319 +; Global: Branch target inside NmiHandler: taken when Loop319. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop319: + lda ZpAC ; CPU:$BB7B PRG:3B7B A5 AC + eor VramReadPtrLo ; CPU:$BB7D PRG:3B7D 45 0C + bpl NmiHandler_Loop320 ; CPU:$BB7F PRG:3B7F 10 07 + lda VramReadPtrLo ; CPU:$BB81 PRG:3B81 A5 0C + bmi NmiHandler_Loop320 ; CPU:$BB83 PRG:3B83 30 03 + jsr Sub_8722 ; CPU:$BB85 PRG:3B85 20 22 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop320 +; Global: Branch target inside NmiHandler: taken when Loop320. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop320: + rts ; CPU:$BB88 PRG:3B88 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BB89 +; Global: Branch target inside Sub: taken when BB89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BB89: + ldx PlayerSpeed2 ; CPU:$BB89 PRG:3B89 A6 90 + sec ; CPU:$BB8B PRG:3B8B 38 + lda $0305,x ; CPU:$BB8C PRG:3B8C BD 05 03 + sbc TimerIndex2 ; CPU:$BB8F PRG:3B8F E5 A4 + lda $0304,x ; CPU:$BB91 PRG:3B91 BD 04 03 + sbc TimerIndex ; CPU:$BB94 PRG:3B94 E5 A3 + sta VramReadPtrHi ; CPU:$BB96 PRG:3B96 85 0D + ldx PlayerSpeed2 ; CPU:$BB98 PRG:3B98 A6 90 + bmi NmiHandler_Loop321 ; CPU:$BB9A PRG:3B9A 30 02 + eor #$FF ; CPU:$BB9C PRG:3B9C 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop321 +; Global: Branch target inside NmiHandler: taken when Loop321. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop321: + tax ; CPU:$BB9E PRG:3B9E AA + bmi NmiHandler_Loop322 ; CPU:$BB9F PRG:3B9F 30 41 + lda TimerIndex3 ; CPU:$BBA1 PRG:3BA1 A5 A8 + sec ; CPU:$BBA3 PRG:3BA3 38 + sbc #$05 ; CPU:$BBA4 PRG:3BA4 E9 05 + bmi NmiHandler_Loop322 ; CPU:$BBA6 PRG:3BA6 30 3A + cmp #$04 ; CPU:$BBA8 PRG:3BA8 C9 04 + bcs NmiHandler_Loop322 ; CPU:$BBAA PRG:3BAA B0 36 + ldx ZpA2 ; CPU:$BBAC PRG:3BAC A6 A2 + beq NmiHandler_Loop322 ; CPU:$BBAE PRG:3BAE F0 32 + inx ; CPU:$BBB0 PRG:3BB0 E8 + beq NmiHandler_Loop322 ; CPU:$BBB1 PRG:3BB1 F0 2F + ldx #$0E ; CPU:$BBB3 PRG:3BB3 A2 0E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative11 +; Global: Branch target inside NmiHandler: taken when OnNonnegative11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative11: + lda ZpA0,x ; CPU:$BBB5 PRG:3BB5 B5 A0 + sta $041C,x ; CPU:$BBB7 PRG:3BB7 9D 1C 04 + dex ; CPU:$BBBA PRG:3BBA CA + bpl NmiHandler_OnNonnegative11 ; CPU:$BBBB PRG:3BBB 10 F8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonnegative12 +; Global: Branch target inside NmiHandler: taken when OnNonnegative12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonnegative12: + jsr Sub_BBE5 ; CPU:$BBBD PRG:3BBD 20 E5 BB + lda $0424 ; CPU:$BBC0 PRG:3BC0 AD 24 04 + sec ; CPU:$BBC3 PRG:3BC3 38 + sbc #$05 ; CPU:$BBC4 PRG:3BC4 E9 05 + bmi NmiHandler_Loop322 ; CPU:$BBC6 PRG:3BC6 30 1A + cmp #$04 ; CPU:$BBC8 PRG:3BC8 C9 04 + bcs NmiHandler_Loop322 ; CPU:$BBCA PRG:3BCA B0 16 + sec ; CPU:$BBCC PRG:3BCC 38 + ldx PlayerSpeed2 ; CPU:$BBCD PRG:3BCD A6 90 + lda $0305,x ; CPU:$BBCF PRG:3BCF BD 05 03 + sbc $0420 ; CPU:$BBD2 PRG:3BD2 ED 20 04 + lda $0304,x ; CPU:$BBD5 PRG:3BD5 BD 04 03 + sbc $041F ; CPU:$BBD8 PRG:3BD8 ED 1F 04 + eor VramReadPtrHi ; CPU:$BBDB PRG:3BDB 45 0D + bpl NmiHandler_OnNonnegative12 ; CPU:$BBDD PRG:3BDD 10 DE + lda #$FF ; CPU:$BBDF PRG:3BDF A9 FF + rts ; CPU:$BBE1 PRG:3BE1 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop322 +; Global: Branch target inside NmiHandler: taken when Loop322. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop322: + lda #$00 ; CPU:$BBE2 PRG:3BE2 A9 00 + rts ; CPU:$BBE4 PRG:3BE4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BBE5 +; Global: Branch target inside Sub: taken when BBE5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BBE5: + lda #$0A ; CPU:$BBE5 PRG:3BE5 A9 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero51 +; Global: Branch target inside NmiHandler: taken when OnNonzero51. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero51: + sec ; CPU:$BBE7 PRG:3BE7 38 + sbc #$05 ; CPU:$BBE8 PRG:3BE8 E9 05 + tax ; CPU:$BBEA PRG:3BEA AA + ldy #$00 ; CPU:$BBEB PRG:3BEB A0 00 + lda $041C,x ; CPU:$BBED PRG:3BED BD 1C 04 + asl a ; CPU:$BBF0 PRG:3BF0 0A + bcc NmiHandler_Loop323 ; CPU:$BBF1 PRG:3BF1 90 06 + dec $041E,x ; CPU:$BBF3 PRG:3BF3 DE 1E 04 + dec $041E,x ; CPU:$BBF6 PRG:3BF6 DE 1E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop323 +; Global: Branch target inside NmiHandler: taken when Loop323. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop323: + asl a ; CPU:$BBF9 PRG:3BF9 0A + bcc NmiHandler_Loop324 ; CPU:$BBFA PRG:3BFA 90 03 + inc $041E,x ; CPU:$BBFC PRG:3BFC FE 1E 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop324 +; Global: Branch target inside NmiHandler: taken when Loop324. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop324: + clc ; CPU:$BBFF PRG:3BFF 18 + adc $041D,x ; CPU:$BC00 PRG:3C00 7D 1D 04 + sta $041D,x ; CPU:$BC03 PRG:3C03 9D 1D 04 + sta Zp15 ; CPU:$BC06 PRG:3C06 85 15 + tya ; CPU:$BC08 PRG:3C08 98 + adc $041E,x ; CPU:$BC09 PRG:3C09 7D 1E 04 + sta $041E,x ; CPU:$BC0C PRG:3C0C 9D 1E 04 + bpl NmiHandler_Loop325 ; CPU:$BC0F PRG:3C0F 10 01 + dey ; CPU:$BC11 PRG:3C11 88 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop325 +; Global: Branch target inside NmiHandler: taken when Loop325. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop325: + asl Zp15 ; CPU:$BC12 PRG:3C12 06 15 + adc $0420,x ; CPU:$BC14 PRG:3C14 7D 20 04 + sta $0420,x ; CPU:$BC17 PRG:3C17 9D 20 04 + tya ; CPU:$BC1A PRG:3C1A 98 + adc $041F,x ; CPU:$BC1B PRG:3C1B 7D 1F 04 + sta $041F,x ; CPU:$BC1E PRG:3C1E 9D 1F 04 + txa ; CPU:$BC21 PRG:3C21 8A + bne NmiHandler_OnNonzero51 ; CPU:$BC22 PRG:3C22 D0 C3 + rts ; CPU:$BC24 PRG:3C24 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BC25 +; Global: Branch target inside Sub: taken when BC25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BC25: + lda #$00 ; CPU:$BC25 PRG:3C25 A9 00 + sta $041A ; CPU:$BC27 PRG:3C27 8D 1A 04 + ldy #$0A ; CPU:$BC2A PRG:3C2A A0 0A + jsr Sub_BCF6 ; CPU:$BC2C PRG:3C2C 20 F6 BC + cpx #$00 ; CPU:$BC2F PRG:3C2F E0 00 + bne NmiHandler_Loop327 ; CPU:$BC31 PRG:3C31 D0 26 + cmp #$18 ; CPU:$BC33 PRG:3C33 C9 18 + bcs NmiHandler_Loop327 ; CPU:$BC35 PRG:3C35 B0 22 + ldy #$05 ; CPU:$BC37 PRG:3C37 A0 05 + jsr Sub_BCF6 ; CPU:$BC39 PRG:3C39 20 F6 BC + cmp #$5D ; CPU:$BC3C PRG:3C3C C9 5D + bcc NmiHandler_Loop327 ; CPU:$BC3E PRG:3C3E 90 19 + cmp #$90 ; CPU:$BC40 PRG:3C40 C9 90 + bcs NmiHandler_Loop327 ; CPU:$BC42 PRG:3C42 B0 15 + ldy #$00 ; CPU:$BC44 PRG:3C44 A0 00 + jsr Sub_BCF6 ; CPU:$BC46 PRG:3C46 20 F6 BC + cpx #$00 ; CPU:$BC49 PRG:3C49 E0 00 + beq NmiHandler_Loop326 ; CPU:$BC4B PRG:3C4B F0 04 + cmp #$CD ; CPU:$BC4D PRG:3C4D C9 CD + bcs NmiHandler_Loop333 ; CPU:$BC4F PRG:3C4F B0 33 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop326 +; Global: Branch target inside NmiHandler: taken when Loop326. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop326: + cpx #$00 ; CPU:$BC51 PRG:3C51 E0 00 + bne NmiHandler_Loop327 ; CPU:$BC53 PRG:3C53 D0 04 + cmp #$35 ; CPU:$BC55 PRG:3C55 C9 35 + bcc NmiHandler_Loop332 ; CPU:$BC57 PRG:3C57 90 28 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop327 +; Global: Branch target inside NmiHandler: taken when Loop327. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop327: + ldy #$00 ; CPU:$BC59 PRG:3C59 A0 00 + jsr Sub_BCF6 ; CPU:$BC5B PRG:3C5B 20 F6 BC + cpx #$00 ; CPU:$BC5E PRG:3C5E E0 00 + beq NmiHandler_Loop328 ; CPU:$BC60 PRG:3C60 F0 04 + cmp #$CD ; CPU:$BC62 PRG:3C62 C9 CD + bcs NmiHandler_Loop331 ; CPU:$BC64 PRG:3C64 B0 18 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop328 +; Global: Branch target inside NmiHandler: taken when Loop328. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop328: + cpx #$00 ; CPU:$BC66 PRG:3C66 E0 00 + bne NmiHandler_Loop329 ; CPU:$BC68 PRG:3C68 D0 04 + cmp #$35 ; CPU:$BC6A PRG:3C6A C9 35 + bcc NmiHandler_Loop331 ; CPU:$BC6C PRG:3C6C 90 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop329 +; Global: Branch target inside NmiHandler: taken when Loop329. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop329: + ldy #$05 ; CPU:$BC6E PRG:3C6E A0 05 + jsr Sub_BCF6 ; CPU:$BC70 PRG:3C70 20 F6 BC + cmp #$24 ; CPU:$BC73 PRG:3C73 C9 24 + bcc NmiHandler_Loop330 ; CPU:$BC75 PRG:3C75 90 04 + cmp #$D8 ; CPU:$BC77 PRG:3C77 C9 D8 + bcc NmiHandler_Loop334 ; CPU:$BC79 PRG:3C79 90 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop330 +; Global: Branch target inside NmiHandler: taken when Loop330. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop330: + inc $041A ; CPU:$BC7B PRG:3C7B EE 1A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop331 +; Global: Branch target inside NmiHandler: taken when Loop331. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop331: + inc $041A ; CPU:$BC7E PRG:3C7E EE 1A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop332 +; Global: Branch target inside NmiHandler: taken when Loop332. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop332: + inc $041A ; CPU:$BC81 PRG:3C81 EE 1A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop333 +; Global: Branch target inside NmiHandler: taken when Loop333. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop333: + inc $041A ; CPU:$BC84 PRG:3C84 EE 1A 04 + jsr Sub_CEDB ; CPU:$BC87 PRG:3C87 20 DB CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop334 +; Global: Branch target inside NmiHandler: taken when Loop334. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop334: + lda $041A ; CPU:$BC8A PRG:3C8A AD 1A 04 + beq NmiHandler_Loop342 ; CPU:$BC8D PRG:3C8D F0 66 + ldy #$05 ; CPU:$BC8F PRG:3C8F A0 05 + jsr Sub_BCF6 ; CPU:$BC91 PRG:3C91 20 F6 BC + ldx $06A8 ; CPU:$BC94 PRG:3C94 AE A8 06 + dex ; CPU:$BC97 PRG:3C97 CA + beq NmiHandler_Loop335 ; CPU:$BC98 PRG:3C98 F0 03 + dex ; CPU:$BC9A PRG:3C9A CA + bne NmiHandler_Loop336 ; CPU:$BC9B PRG:3C9B D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop335 +; Global: Branch target inside NmiHandler: taken when Loop335. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop335: + cmp #$5D ; CPU:$BC9D PRG:3C9D C9 5D + bcc NmiHandler_Loop341 ; CPU:$BC9F PRG:3C9F 90 3B + cmp #$90 ; CPU:$BCA1 PRG:3CA1 C9 90 + bcs NmiHandler_Loop340 ; CPU:$BCA3 PRG:3CA3 B0 2F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop336 +; Global: Branch target inside NmiHandler: taken when Loop336. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop336: + dex ; CPU:$BCA5 PRG:3CA5 CA + bne NmiHandler_Loop337 ; CPU:$BCA6 PRG:3CA6 D0 08 + cmp #$5C ; CPU:$BCA8 PRG:3CA8 C9 5C + bcc NmiHandler_Loop337 ; CPU:$BCAA PRG:3CAA 90 04 + cmp #$90 ; CPU:$BCAC PRG:3CAC C9 90 + bcc NmiHandler_Loop341 ; CPU:$BCAE PRG:3CAE 90 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop337 +; Global: Branch target inside NmiHandler: taken when Loop337. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop337: + ldy #$00 ; CPU:$BCB0 PRG:3CB0 A0 00 + jsr Sub_BCF6 ; CPU:$BCB2 PRG:3CB2 20 F6 BC + cpx #$00 ; CPU:$BCB5 PRG:3CB5 E0 00 + beq NmiHandler_Loop338 ; CPU:$BCB7 PRG:3CB7 F0 04 + cmp #$DC ; CPU:$BCB9 PRG:3CB9 C9 DC + bcs NmiHandler_Loop341 ; CPU:$BCBB PRG:3CBB B0 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop338 +; Global: Branch target inside NmiHandler: taken when Loop338. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop338: + cpx #$00 ; CPU:$BCBD PRG:3CBD E0 00 + bne NmiHandler_Loop339 ; CPU:$BCBF PRG:3CBF D0 04 + cmp #$24 ; CPU:$BCC1 PRG:3CC1 C9 24 + bcc NmiHandler_Loop341 ; CPU:$BCC3 PRG:3CC3 90 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop339 +; Global: Branch target inside NmiHandler: taken when Loop339. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop339: + ldy #$05 ; CPU:$BCC5 PRG:3CC5 A0 05 + jsr Sub_BCF6 ; CPU:$BCC7 PRG:3CC7 20 F6 BC + cmp #$18 ; CPU:$BCCA PRG:3CCA C9 18 + bcc NmiHandler_Loop341 ; CPU:$BCCC PRG:3CCC 90 0E + cmp #$E8 ; CPU:$BCCE PRG:3CCE C9 E8 + bcc NmiHandler_Loop342 ; CPU:$BCD0 PRG:3CD0 90 23 + bcs NmiHandler_Loop341 ; CPU:$BCD2 PRG:3CD2 B0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop340 +; Global: Branch target inside NmiHandler: taken when Loop340. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop340: + lda #$B0 ; CPU:$BCD4 PRG:3CD4 A9 B0 + sta TimerIndex4 ; CPU:$BCD6 PRG:3CD6 85 A9 + lda #$08 ; CPU:$BCD8 PRG:3CD8 A9 08 + sta TimerIndex3 ; CPU:$BCDA PRG:3CDA 85 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop341 +; Global: Branch target inside NmiHandler: taken when Loop341. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop341: + lda #$00 ; CPU:$BCDC PRG:3CDC A9 00 + sta ZpA1 ; CPU:$BCDE PRG:3CDE 85 A1 + sta ZpA2 ; CPU:$BCE0 PRG:3CE0 85 A2 + sta ZpA6 ; CPU:$BCE2 PRG:3CE2 85 A6 + sta ZpA7 ; CPU:$BCE4 PRG:3CE4 85 A7 + ldx ZpAC ; CPU:$BCE6 PRG:3CE6 A6 AC + bmi NmiHandler_Loop342 ; CPU:$BCE8 PRG:3CE8 30 0B + sec ; CPU:$BCEA PRG:3CEA 38 + sbc ZpAB ; CPU:$BCEB PRG:3CEB E5 AB + sta ZpAB ; CPU:$BCED PRG:3CED 85 AB + lda #$00 ; CPU:$BCEF PRG:3CEF A9 00 + sbc ZpAC ; CPU:$BCF1 PRG:3CF1 E5 AC + sta ZpAC ; CPU:$BCF3 PRG:3CF3 85 AC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop342 +; Global: Branch target inside NmiHandler: taken when Loop342. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop342: + rts ; CPU:$BCF5 PRG:3CF5 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCF6 +; Global: Branch target inside Sub: taken when BCF6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCF6: + lda a:TimerIndex2,y ; CPU:$BCF6 PRG:3CF6 B9 A4 00 + sta VramReadPtrLo ; CPU:$BCF9 PRG:3CF9 85 0C + lda a:TimerIndex,y ; CPU:$BCFB PRG:3CFB B9 A3 00 + ldx #$00 ; CPU:$BCFE PRG:3CFE A2 00 + and #$F0 ; CPU:$BD00 PRG:3D00 29 F0 + beq NmiHandler_Loop343 ; CPU:$BD02 PRG:3D02 F0 01 + inx ; CPU:$BD04 PRG:3D04 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop343 +; Global: Branch target inside NmiHandler: taken when Loop343. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop343: + lda a:TimerIndex,y ; CPU:$BD05 PRG:3D05 B9 A3 00 + ldy #$04 ; CPU:$BD08 PRG:3D08 A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero52 +; Global: Branch target inside NmiHandler: taken when OnNonzero52. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero52: + rol VramReadPtrLo ; CPU:$BD0A PRG:3D0A 26 0C + rol a ; CPU:$BD0C PRG:3D0C 2A + dey ; CPU:$BD0D PRG:3D0D 88 + bne NmiHandler_OnNonzero52 ; CPU:$BD0E PRG:3D0E D0 FA + rts ; CPU:$BD10 PRG:3D10 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD11 +; Global: Branch target inside Sub: taken when BD11. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD11: + jsr Sub_BC25 ; CPU:$BD11 PRG:3D11 20 25 BC + lda TimerIndex3 ; CPU:$BD14 PRG:3D14 A5 A8 + sta PlayerX ; CPU:$BD16 PRG:3D16 85 70 + lda TimerIndex4 ; CPU:$BD18 PRG:3D18 A5 A9 + sta Zp71 ; CPU:$BD1A PRG:3D1A 85 71 + lda TimerIndex ; CPU:$BD1C PRG:3D1C A5 A3 + sta GameMode ; CPU:$BD1E PRG:3D1E 85 72 + lda TimerIndex2 ; CPU:$BD20 PRG:3D20 A5 A4 + sta Zp73 ; CPU:$BD22 PRG:3D22 85 73 + jsr Sub_8883 ; CPU:$BD24 PRG:3D24 20 83 88 + sec ; CPU:$BD27 PRG:3D27 38 + lda PlayerX ; CPU:$BD28 PRG:3D28 A5 70 + sbc #$04 ; CPU:$BD2A PRG:3D2A E9 04 + sta $0405 ; CPU:$BD2C PRG:3D2C 8D 05 04 + lda GameMode ; CPU:$BD2F PRG:3D2F A5 72 + beq NmiHandler_Loop344 ; CPU:$BD31 PRG:3D31 F0 05 + sbc #$04 ; CPU:$BD33 PRG:3D33 E9 04 + sta $0408 ; CPU:$BD35 PRG:3D35 8D 08 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop344 +; Global: Branch target inside NmiHandler: taken when Loop344. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop344: + sec ; CPU:$BD38 PRG:3D38 38 + lda TimerIndex4 ; CPU:$BD39 PRG:3D39 A5 A9 + sbc ZpAE ; CPU:$BD3B PRG:3D3B E5 AE + sta Zp71 ; CPU:$BD3D PRG:3D3D 85 71 + lda TimerIndex3 ; CPU:$BD3F PRG:3D3F A5 A8 + sbc ZpAD ; CPU:$BD41 PRG:3D41 E5 AD + sta PlayerX ; CPU:$BD43 PRG:3D43 85 70 + bpl NmiHandler_Loop345 ; CPU:$BD45 PRG:3D45 10 08 + lda #$0F ; CPU:$BD47 PRG:3D47 A9 0F + sta PlayerX ; CPU:$BD49 PRG:3D49 85 70 + lda #$80 ; CPU:$BD4B PRG:3D4B A9 80 + sta Zp71 ; CPU:$BD4D PRG:3D4D 85 71 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop345 +; Global: Branch target inside NmiHandler: taken when Loop345. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop345: + ldx TimerIndex ; CPU:$BD4F PRG:3D4F A6 A3 + ldy TimerIndex2 ; CPU:$BD51 PRG:3D51 A4 A4 + stx GameMode ; CPU:$BD53 PRG:3D53 86 72 + sty Zp73 ; CPU:$BD55 PRG:3D55 84 73 + jsr Sub_8883 ; CPU:$BD57 PRG:3D57 20 83 88 + lda PlayerX ; CPU:$BD5A PRG:3D5A A5 70 + sec ; CPU:$BD5C PRG:3D5C 38 + sbc #$04 ; CPU:$BD5D PRG:3D5D E9 04 + sta $0401 ; CPU:$BD5F PRG:3D5F 8D 01 04 + lda GameMode ; CPU:$BD62 PRG:3D62 A5 72 + beq NmiHandler_Loop346 ; CPU:$BD64 PRG:3D64 F0 05 + sbc #$04 ; CPU:$BD66 PRG:3D66 E9 04 + sta $0404 ; CPU:$BD68 PRG:3D68 8D 04 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop346 +; Global: Branch target inside NmiHandler: taken when Loop346. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop346: + adc $0401 ; CPU:$BD6B PRG:3D6B 6D 01 04 + clc ; CPU:$BD6E PRG:3D6E 18 + and #$01 ; CPU:$BD6F PRG:3D6F 29 01 + adc #$C2 ; CPU:$BD71 PRG:3D71 69 C2 + sta $0402 ; CPU:$BD73 PRG:3D73 8D 02 04 + lda $0404 ; CPU:$BD76 PRG:3D76 AD 04 04 + bpl NmiHandler_Loop347 ; CPU:$BD79 PRG:3D79 10 02 + eor #$FF ; CPU:$BD7B PRG:3D7B 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop347 +; Global: Branch target inside NmiHandler: taken when Loop347. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop347: + cmp #$30 ; CPU:$BD7D PRG:3D7D C9 30 + bcs NmiHandler_Loop349 ; CPU:$BD7F PRG:3D7F B0 10 + ldx Zp0A ; CPU:$BD81 PRG:3D81 A6 0A + lda $0404 ; CPU:$BD83 PRG:3D83 AD 04 04 + bmi NmiHandler_Loop348 ; CPU:$BD86 PRG:3D86 30 01 + dex ; CPU:$BD88 PRG:3D88 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop348 +; Global: Branch target inside NmiHandler: taken when Loop348. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop348: + inx ; CPU:$BD89 PRG:3D89 E8 + beq NmiHandler_Loop349 ; CPU:$BD8A PRG:3D8A F0 05 + ora #$01 ; CPU:$BD8C PRG:3D8C 09 01 + sta $040A ; CPU:$BD8E PRG:3D8E 8D 0A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop349 +; Global: Branch target inside NmiHandler: taken when Loop349. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop349: + rts ; CPU:$BD91 PRG:3D91 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD92 +; Global: Branch target inside Sub: taken when BD92. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD92: + lda #$01 ; CPU:$BD92 PRG:3D92 A9 01 + ldx $040A ; CPU:$BD94 PRG:3D94 AE 0A 04 + beq NmiHandler_Loop351 ; CPU:$BD97 PRG:3D97 F0 09 + bmi NmiHandler_Loop350 ; CPU:$BD99 PRG:3D99 30 02 + lda #$FF ; CPU:$BD9B PRG:3D9B A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop350 +; Global: Branch target inside NmiHandler: taken when Loop350. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop350: + clc ; CPU:$BD9D PRG:3D9D 18 + adc Zp0A ; CPU:$BD9E PRG:3D9E 65 0A + sta Zp0A ; CPU:$BDA0 PRG:3DA0 85 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop351 +; Global: Branch target inside NmiHandler: taken when Loop351. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop351: + lda Zp0A ; CPU:$BDA2 PRG:3DA2 A5 0A + beq NmiHandler_Loop352 ; CPU:$BDA4 PRG:3DA4 F0 09 + cmp #$80 ; CPU:$BDA6 PRG:3DA6 C9 80 + beq NmiHandler_Loop352 ; CPU:$BDA8 PRG:3DA8 F0 05 + cmp #$FF ; CPU:$BDAA PRG:3DAA C9 FF + beq NmiHandler_Loop352 ; CPU:$BDAC PRG:3DAC F0 01 + rts ; CPU:$BDAE PRG:3DAE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop352 +; Global: Branch target inside NmiHandler: taken when Loop352. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop352: + lda #$00 ; CPU:$BDAF PRG:3DAF A9 00 + sta $040A ; CPU:$BDB1 PRG:3DB1 8D 0A 04 + rts ; CPU:$BDB4 PRG:3DB4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BDB5 +; Global: Branch target inside Sub: taken when BDB5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BDB5: + ldy #$78 ; CPU:$BDB5 PRG:3DB5 A0 78 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero53 +; Global: Branch target inside NmiHandler: taken when OnNonzero53. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero53: + lda $BE93,y ; CPU:$BDB7 PRG:3DB7 B9 93 BE + sta $05FF,y ; CPU:$BDBA PRG:3DBA 99 FF 05 + dey ; CPU:$BDBD PRG:3DBD 88 + bne NmiHandler_OnNonzero53 ; CPU:$BDBE PRG:3DBE D0 F7 + lda $0600 ; CPU:$BDC0 PRG:3DC0 AD 00 06 + sta Zp97 ; CPU:$BDC3 PRG:3DC3 85 97 + lda #$03 ; CPU:$BDC5 PRG:3DC5 A9 03 + sta Zp98 ; CPU:$BDC7 PRG:3DC7 85 98 + lda #$01 ; CPU:$BDC9 PRG:3DC9 A9 01 + sta Zp99 ; CPU:$BDCB PRG:3DCB 85 99 + lda #$06 ; CPU:$BDCD PRG:3DCD A9 06 + sta Zp9A ; CPU:$BDCF PRG:3DCF 85 9A + lda #$FF ; CPU:$BDD1 PRG:3DD1 A9 FF + sta Zp9B ; CPU:$BDD3 PRG:3DD3 85 9B + sta Zp9C ; CPU:$BDD5 PRG:3DD5 85 9C + lda #$00 ; CPU:$BDD7 PRG:3DD7 A9 00 + sta $06B0 ; CPU:$BDD9 PRG:3DD9 8D B0 06 + sta $06B1 ; CPU:$BDDC PRG:3DDC 8D B1 06 + lda #$01 ; CPU:$BDDF PRG:3DDF A9 01 + sta $06B8 ; CPU:$BDE1 PRG:3DE1 8D B8 06 + lda #$15 ; CPU:$BDE4 PRG:3DE4 A9 15 + sta $06B9 ; CPU:$BDE6 PRG:3DE6 8D B9 06 + lda #$06 ; CPU:$BDE9 PRG:3DE9 A9 06 + sta $06C4 ; CPU:$BDEB PRG:3DEB 8D C4 06 + lda #$07 ; CPU:$BDEE PRG:3DEE A9 07 + sta $06CC ; CPU:$BDF0 PRG:3DF0 8D CC 06 + lda #$7E ; CPU:$BDF3 PRG:3DF3 A9 7E + sta $06C5 ; CPU:$BDF5 PRG:3DF5 8D C5 06 + lda #$93 ; CPU:$BDF8 PRG:3DF8 A9 93 + sta $06CD ; CPU:$BDFA PRG:3DFA 8D CD 06 + lda #$80 ; CPU:$BDFD PRG:3DFD A9 80 + sta $06C0 ; CPU:$BDFF PRG:3DFF 8D C0 06 + sta $06D4 ; CPU:$BE02 PRG:3E02 8D D4 06 + ldy #$00 ; CPU:$BE05 PRG:3E05 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero54 +; Global: Branch target inside NmiHandler: taken when OnNonzero54. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero54: + lda #$00 ; CPU:$BE07 PRG:3E07 A9 00 + sta $0300,y ; CPU:$BE09 PRG:3E09 99 00 03 + tya ; CPU:$BE0C PRG:3E0C 98 + clc ; CPU:$BE0D PRG:3E0D 18 + adc #$15 ; CPU:$BE0E PRG:3E0E 69 15 + tay ; CPU:$BE10 PRG:3E10 A8 + cmp #$FC ; CPU:$BE11 PRG:3E11 C9 FC + bne NmiHandler_OnNonzero54 ; CPU:$BE13 PRG:3E13 D0 F2 + rts ; CPU:$BE15 PRG:3E15 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BE16 +; Global: Branch target inside Label: taken when BE16. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BE16: + ldy #$00 ; CPU:$BE16 PRG:3E16 A0 00 + ldx #$00 ; CPU:$BE18 PRG:3E18 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BE1A +; Global: Branch target inside Sub: taken when BE1A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE1A: + lda $BE95,y ; CPU:$BE1A PRG:3E1A B9 95 BE + sta $0304,x ; CPU:$BE1D PRG:3E1D 9D 04 03 + lda $BE96,y ; CPU:$BE20 PRG:3E20 B9 96 BE + sta $0305,x ; CPU:$BE23 PRG:3E23 9D 05 03 + lda $BE97,y ; CPU:$BE26 PRG:3E26 B9 97 BE + sta $0302,x ; CPU:$BE29 PRG:3E29 9D 02 03 + lda $BE98,y ; CPU:$BE2C PRG:3E2C B9 98 BE + sta $0303,x ; CPU:$BE2F PRG:3E2F 9D 03 03 + tya ; CPU:$BE32 PRG:3E32 98 + clc ; CPU:$BE33 PRG:3E33 18 + adc #$0A ; CPU:$BE34 PRG:3E34 69 0A + cmp #$78 ; CPU:$BE36 PRG:3E36 C9 78 + beq NmiHandler_Loop353 ; CPU:$BE38 PRG:3E38 F0 09 + tay ; CPU:$BE3A PRG:3E3A A8 + txa ; CPU:$BE3B PRG:3E3B 8A + clc ; CPU:$BE3C PRG:3E3C 18 + adc #$15 ; CPU:$BE3D PRG:3E3D 69 15 + tax ; CPU:$BE3F PRG:3E3F AA + jmp Sub_BE1A ; CPU:$BE40 PRG:3E40 4C 1A BE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop353 +; Global: Branch target inside NmiHandler: taken when Loop353. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop353: + lda #$00 ; CPU:$BE43 PRG:3E43 A9 00 + sta $06E6 ; CPU:$BE45 PRG:3E45 8D E6 06 + sta $06E2 ; CPU:$BE48 PRG:3E48 8D E2 06 + sta $06E3 ; CPU:$BE4B PRG:3E4B 8D E3 06 + sta $06E4 ; CPU:$BE4E PRG:3E4E 8D E4 06 + sta $06E5 ; CPU:$BE51 PRG:3E51 8D E5 06 + rts ; CPU:$BE54 PRG:3E54 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BE55 +; Global: Branch target inside Sub: taken when BE55. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE55: + lda #$00 ; CPU:$BE55 PRG:3E55 A9 00 + sta Zp83 ; CPU:$BE57 PRG:3E57 85 83 + sta Zp84 ; CPU:$BE59 PRG:3E59 85 84 + sta $069F ; CPU:$BE5B PRG:3E5B 8D 9F 06 + lda #$00 ; CPU:$BE5E PRG:3E5E A9 00 + sta $06E8 ; CPU:$BE60 PRG:3E60 8D E8 06 + sta Zp54 ; CPU:$BE63 PRG:3E63 85 54 + sta Zp55 ; CPU:$BE65 PRG:3E65 85 55 + sta Zp56 ; CPU:$BE67 PRG:3E67 85 56 + sta Zp57 ; CPU:$BE69 PRG:3E69 85 57 + sta Zp58 ; CPU:$BE6B PRG:3E6B 85 58 + sta Zp59 ; CPU:$BE6D PRG:3E6D 85 59 + sta Zp5A ; CPU:$BE6F PRG:3E6F 85 5A + sta Zp5B ; CPU:$BE71 PRG:3E71 85 5B + sta $06E7 ; CPU:$BE73 PRG:3E73 8D E7 06 + sta $06EB ; CPU:$BE76 PRG:3E76 8D EB 06 + lda #$80 ; CPU:$BE79 PRG:3E79 A9 80 + sta Zp0A ; CPU:$BE7B PRG:3E7B 85 0A + lda #$0F ; CPU:$BE7D PRG:3E7D A9 0F + sta TimerIndex3 ; CPU:$BE7F PRG:3E7F 85 A8 + lda #$40 ; CPU:$BE81 PRG:3E81 A9 40 + sta TimerIndex4 ; CPU:$BE83 PRG:3E83 85 A9 + lda #$10 ; CPU:$BE85 PRG:3E85 A9 10 + sta TimerIndex ; CPU:$BE87 PRG:3E87 85 A3 + lda #$00 ; CPU:$BE89 PRG:3E89 A9 00 + sta TimerIndex2 ; CPU:$BE8B PRG:3E8B 85 A4 + sta $040A ; CPU:$BE8D PRG:3E8D 8D 0A 04 + jsr Sub_C3B1 ; CPU:$BE90 PRG:3E90 20 B1 C3 + rts ; CPU:$BE93 PRG:3E93 60 +; ---- data $BE94-$BF0B (120 bytes) ---- +; referenced by `eor $BE9D` at $9D43 (operand $BE9D falls inside this region) +; referenced by `lda $BE95,y` at $BE1A (operand $BE95 falls inside this region) +; referenced by `lda $BE96,y` at $BE20 (operand $BE96 falls inside this region) +; referenced by `lda $BE97,y` at $BE26 (operand $BE97 falls inside this region) +; referenced by `lda $BE98,y` at $BE2C (operand $BE98 falls inside this region) .byte $00, $0F, $00, $05, $80, $20, $20, $20, $20, $00, $15, $0F, $00, $07, $00, $20 ; CPU:$BE94 PRG:3E94 00 0F 00 05 80 20 20 20 20 00 15 0F 00 07 00 20 .byte $20, $20, $20, $00, $2A, $0F, $00, $08, $80, $20, $20, $20, $20, $00, $3F, $0F ; CPU:$BEA4 PRG:3EA4 20 20 20 00 2A 0F 00 08 80 20 20 20 20 00 3F 0F .byte $00, $0A, $00, $20, $20, $20, $20, $00, $54, $0F, $00, $0B, $80, $20, $20, $20 ; CPU:$BEB4 PRG:3EB4 00 0A 00 20 20 20 20 00 54 0F 00 0B 80 20 20 20 @@ -2304,870 +10953,7936 @@ NmiHandler_OnNonzero9: .byte $80, $20, $20, $20, $20, $00, $93, $11, $00, $07, $00, $20, $20, $20, $20, $00 ; CPU:$BED4 PRG:3ED4 80 20 20 20 20 00 93 11 00 07 00 20 20 20 20 00 .byte $A8, $11, $00, $08, $80, $20, $20, $20, $20, $00, $BD, $11, $00, $0A, $00, $20 ; CPU:$BEE4 PRG:3EE4 A8 11 00 08 80 20 20 20 20 00 BD 11 00 0A 00 20 .byte $20, $20, $20, $00, $D2, $11, $00, $0B, $80, $20, $20, $20, $20, $00, $E7, $1C ; CPU:$BEF4 PRG:3EF4 20 20 20 00 D2 11 00 0B 80 20 20 20 20 00 E7 1C - .byte $00, $08, $00, $20, $20, $20, $20, $00, $AD, $E7, $06, $C9, $17, $D0, $17, $AD ; CPU:$BF04 PRG:3F04 00 08 00 20 20 20 20 00 AD E7 06 C9 17 D0 17 AD - .byte $60, $05, $C9, $01, $F0, $0C, $C9, $02, $F0, $08, $C9, $03, $D0, $03, $20, $92 ; CPU:$BF14 PRG:3F14 60 05 C9 01 F0 0C C9 02 F0 08 C9 03 D0 03 20 92 - .byte $87, $60, $20, $57, $87, $60, $AD, $E7, $06, $C9, $0E, $D0, $24, $AD, $FA, $06 ; CPU:$BF24 PRG:3F24 87 60 20 57 87 60 AD E7 06 C9 0E D0 24 AD FA 06 - .byte $C9, $7E, $B0, $10, $A9, $00, $85, $17, $8D, $F5, $07, $AC, $C5, $06, $99, $0E ; CPU:$BF34 PRG:3F34 C9 7E B0 10 A9 00 85 17 8D F5 07 AC C5 06 99 0E - .byte $03, $4C, $55, $BF, $A9, $00, $85, $16, $8D, $F4, $07, $AC, $B1, $06, $99, $0E ; CPU:$BF44 PRG:3F44 03 4C 55 BF A9 00 85 16 8D F4 07 AC B1 06 99 0E - .byte $03, $20, $E3, $CF, $20, $7A, $CF, $20, $0E, $D0, $20, $0A, $C4, $20, $9F, $C8 ; CPU:$BF54 PRG:3F54 03 20 E3 CF 20 7A CF 20 0E D0 20 0A C4 20 9F C8 - .byte $20, $C9, $C0, $AD, $E7, $06, $C9, $0D, $F0, $04, $C9, $0E, $D0, $07, $AD, $AD ; CPU:$BF64 PRG:3F64 20 C9 C0 AD E7 06 C9 0D F0 04 C9 0E D0 07 AD AD - .byte $06, $C9, $03, $F0, $03, $20, $25, $D6, $20, $83, $BF, $20, $83, $BF, $60, $A0 ; CPU:$BF74 PRG:3F74 06 C9 03 F0 03 20 25 D6 20 83 BF 20 83 BF 60 A0 - .byte $08, $A9, $00, $91, $99, $A0, $05, $B1, $97, $A0, $01, $38, $F1, $99, $8D, $FE ; CPU:$BF84 PRG:3F84 08 A9 00 91 99 A0 05 B1 97 A0 01 38 F1 99 8D FE - .byte $06, $A0, $04, $B1, $97, $A0, $00, $F1, $99, $8D, $FD, $06, $10, $05, $A2, $01 ; CPU:$BF94 PRG:3F94 06 A0 04 B1 97 A0 00 F1 99 8D FD 06 10 05 A2 01 - .byte $4C, $AC, $BF, $A2, $02, $4C, $BD, $BF, $A9, $00, $38, $ED, $FE, $06, $8D, $FE ; CPU:$BFA4 PRG:3FA4 4C AC BF A2 02 4C BD BF A9 00 38 ED FE 06 8D FE - .byte $06, $A9, $00, $ED, $FD, $06, $8D, $FD, $06, $AD, $FE, $06, $38, $E9, $40, $AD ; CPU:$BFB4 PRG:3FB4 06 A9 00 ED FD 06 8D FD 06 AD FE 06 38 E9 40 AD - .byte $FD, $06, $E9, $00, $90, $0A, $8A, $A0, $08, $11, $99, $91, $99, $4C, $D4, $BF ; CPU:$BFC4 PRG:3FC4 FD 06 E9 00 90 0A 8A A0 08 11 99 91 99 4C D4 BF - .byte $A0, $03, $B1, $97, $38, $F1, $99, $8D, $FE, $06, $88, $B1, $97, $F1, $99, $8D ; CPU:$BFD4 PRG:3FD4 A0 03 B1 97 38 F1 99 8D FE 06 88 B1 97 F1 99 8D - .byte $FD, $06, $10, $05, $A2, $04, $4C, $F2, $BF, $A2, $08, $4C, $03, $C0, $A9, $00 ; CPU:$BFE4 PRG:3FE4 FD 06 10 05 A2 04 4C F2 BF A2 08 4C 03 C0 A9 00 - .byte $38, $ED, $FE, $06, $8D, $FE, $06, $A9, $00, $ED, $FD, $06, $8D, $FD, $06, $AD ; CPU:$BFF4 PRG:3FF4 38 ED FE 06 8D FE 06 A9 00 ED FD 06 8D FD 06 AD - .byte $FE, $06, $38, $E9, $40, $AD, $FD, $06, $E9, $00, $90, $0A, $8A, $A0, $08, $11 ; CPU:$C004 PRG:4004 FE 06 38 E9 40 AD FD 06 E9 00 90 0A 8A A0 08 11 - .byte $99, $91, $99, $4C, $1A, $C0, $A0, $08, $B1, $99, $F0, $03, $4C, $A2, $C0, $A6 ; CPU:$C014 PRG:4014 99 91 99 4C 1A C0 A0 08 B1 99 F0 03 4C A2 C0 A6 - .byte $97, $BD, $10, $03, $09, $01, $9D, $10, $03, $AD, $E7, $06, $C9, $05, $90, $0C ; CPU:$C024 PRG:4024 97 BD 10 03 09 01 9D 10 03 AD E7 06 C9 05 90 0C - .byte $A5, $97, $CD, $B1, $06, $F0, $E5, $CD, $C5, $06, $F0, $E0, $A0, $02, $B1, $97 ; CPU:$C034 PRG:4034 A5 97 CD B1 06 F0 E5 CD C5 06 F0 E0 A0 02 B1 97 - .byte $A2, $00, $20, $B8, $C0, $C8, $B1, $97, $20, $BE, $C0, $C8, $B1, $97, $20, $B8 ; CPU:$C044 PRG:4044 A2 00 20 B8 C0 C8 B1 97 20 BE C0 C8 B1 97 20 B8 - .byte $C0, $C8, $B1, $97, $20, $BE, $C0, $A5, $A8, $20, $B8, $C0, $A5, $A9, $20, $BE ; CPU:$C054 PRG:4054 C0 C8 B1 97 20 BE C0 A5 A8 20 B8 C0 A5 A9 20 BE - .byte $C0, $A5, $A3, $20, $B8, $C0, $A5, $A4, $20, $BE, $C0, $20, $0C, $94, $8D, $FD ; CPU:$C064 PRG:4064 C0 A5 A3 20 B8 C0 A5 A4 20 BE C0 20 0C 94 8D FD - .byte $06, $AD, $E7, $06, $C9, $01, $F0, $04, $C9, $02, $D0, $0D, $A0, $03, $A5, $97 ; CPU:$C074 PRG:4074 06 AD E7 06 C9 01 F0 04 C9 02 D0 0D A0 03 A5 97 - .byte $C9, $7E, $90, $02, $A0, $07, $8C, $FD, $06, $A0, $01, $B1, $97, $29, $0F, $CD ; CPU:$C084 PRG:4084 C9 7E 90 02 A0 07 8C FD 06 A0 01 B1 97 29 0F CD - .byte $FD, $06, $F0, $0A, $AE, $FD, $06, $BD, $11, $D5, $A0, $0E, $91, $97, $A5, $99 ; CPU:$C094 PRG:4094 FD 06 F0 0A AE FD 06 BD 11 D5 A0 0E 91 97 A5 99 - .byte $18, $69, $0A, $85, $99, $C9, $79, $D0, $04, $A9, $01, $85, $99, $A8, $B9, $FF ; CPU:$C0A4 PRG:40A4 18 69 0A 85 99 C9 79 D0 04 A9 01 85 99 A8 B9 FF - .byte $05, $85, $97, $60, $0A, $0A, $0A, $95, $00, $60, $4A, $4A, $4A, $4A, $4A, $15 ; CPU:$C0B4 PRG:40B4 05 85 97 60 0A 0A 0A 95 00 60 4A 4A 4A 4A 4A 15 - .byte $00, $95, $00, $E8, $60, $AD, $00, $06, $85, $90, $A9, $03, $85, $91, $A9, $01 ; CPU:$C0C4 PRG:40C4 00 95 00 E8 60 AD 00 06 85 90 A9 03 85 91 A9 01 - .byte $85, $92, $A9, $06, $85, $93, $A9, $00, $8D, $FD, $06, $8D, $E0, $06, $8D, $E1 ; CPU:$C0D4 PRG:40D4 85 92 A9 06 85 93 A9 00 8D FD 06 8D E0 06 8D E1 - .byte $06, $A9, $01, $8D, $E6, $06, $A4, $90, $B9, $00, $03, $C9, $03, $B0, $0E, $AC ; CPU:$C0E4 PRG:40E4 06 A9 01 8D E6 06 A4 90 B9 00 03 C9 03 B0 0E AC - .byte $FD, $06, $B9, $20, $01, $19, $30, $01, $D0, $03, $4C, $58, $C3, $A0, $0A, $B1 ; CPU:$C0F4 PRG:40F4 FD 06 B9 20 01 19 30 01 D0 03 4C 58 C3 A0 0A B1 - .byte $90, $AA, $A5, $90, $C9, $7E, $90, $0A, $8A, $0D, $E1, $06, $8D, $E1, $06, $4C ; CPU:$C104 PRG:4104 90 AA A5 90 C9 7E 90 0A 8A 0D E1 06 8D E1 06 4C - .byte $1D, $C1, $8A, $0D, $E0, $06, $8D, $E0, $06, $A4, $90, $AD, $E6, $06, $39, $10 ; CPU:$C114 PRG:4114 1D C1 8A 0D E0 06 8D E0 06 A4 90 AD E6 06 39 10 - .byte $03, $8D, $E6, $06, $A0, $00, $B1, $90, $C9, $05, $D0, $01, $60, $C9, $06, $F0 ; CPU:$C124 PRG:4124 03 8D E6 06 A0 00 B1 90 C9 05 D0 01 60 C9 06 F0 - .byte $FB, $AD, $E7, $06, $C9, $15, $F0, $0C, $C9, $05, $F0, $08, $C9, $06, $F0, $04 ; CPU:$C134 PRG:4134 FB AD E7 06 C9 15 F0 0C C9 05 F0 08 C9 06 F0 04 - .byte $A9, $04, $D0, $05, $A4, $7B, $B9, $2E, $D5, $A4, $90, $99, $12, $03, $AD, $FD ; CPU:$C144 PRG:4144 A9 04 D0 05 A4 7B B9 2E D5 A4 90 99 12 03 AD FD - .byte $06, $CC, $B1, $06, $F0, $28, $CC, $C5, $06, $D0, $03, $4C, $E3, $C1, $CC, $B9 ; CPU:$C154 PRG:4154 06 CC B1 06 F0 28 CC C5 06 D0 03 4C E3 C1 CC B9 - .byte $06, $D0, $03, $4C, $0C, $C3, $CC, $CD, $06, $D0, $03, $4C, $12, $C3, $A6, $90 ; CPU:$C164 PRG:4164 06 D0 03 4C 0C C3 CC CD 06 D0 03 4C 12 C3 A6 90 - .byte $BD, $11, $03, $F0, $06, $DE, $11, $03, $4C, $1D, $C3, $4C, $15, $C3, $C9, $05 ; CPU:$C174 PRG:4174 BD 11 03 F0 06 DE 11 03 4C 1D C3 4C 15 C3 C9 05 - .byte $D0, $03, $4C, $3B, $C2, $AD, $E7, $06, $C9, $11, $D0, $0D, $AD, $2F, $04, $C9 ; CPU:$C184 PRG:4184 D0 03 4C 3B C2 AD E7 06 C9 11 D0 0D AD 2F 04 C9 - .byte $05, $D0, $03, $4C, $2E, $C3, $AD, $E7, $06, $C9, $06, $B0, $1B, $AD, $A9, $06 ; CPU:$C194 PRG:4194 05 D0 03 4C 2E C3 AD E7 06 C9 06 B0 1B AD A9 06 - .byte $C9, $02, $F0, $03, $4C, $3B, $C2, $A5, $94, $CD, $0A, $06, $F0, $0A, $A5, $16 ; CPU:$C1A4 PRG:41A4 C9 02 F0 03 4C 3B C2 A5 94 CD 0A 06 F0 0A A5 16 - .byte $0D, $F4, $07, $29, $05, $4C, $C1, $C1, $A5, $16, $0D, $F4, $07, $A0, $0E, $91 ; CPU:$C1B4 PRG:41B4 0D F4 07 29 05 4C C1 C1 A5 16 0D F4 07 A0 0E 91 - .byte $90, $AD, $E7, $06, $C9, $11, $F0, $07, $C9, $0E, $D0, $6B, $4C, $DA, $C1, $AD ; CPU:$C1C4 PRG:41C4 90 AD E7 06 C9 11 F0 07 C9 0E D0 6B 4C DA C1 AD - .byte $2F, $04, $C9, $05, $D0, $61, $B1, $90, $29, $F0, $91, $90, $4C, $3B, $C2, $C9 ; CPU:$C1D4 PRG:41D4 2F 04 C9 05 D0 61 B1 90 29 F0 91 90 4C 3B C2 C9 - .byte $0B, $F0, $54, $AD, $E7, $06, $C9, $11, $D0, $0D, $AD, $2F, $04, $C9, $05, $D0 ; CPU:$C1E4 PRG:41E4 0B F0 54 AD E7 06 C9 11 D0 0D AD 2F 04 C9 05 D0 - .byte $03, $4C, $2E, $C3, $AD, $E7, $06, $C9, $06, $B0, $18, $AD, $A9, $06, $C9, $01 ; CPU:$C1F4 PRG:41F4 03 4C 2E C3 AD E7 06 C9 06 B0 18 AD A9 06 C9 01 - .byte $D0, $35, $A5, $94, $CD, $46, $06, $F0, $0A, $A5, $17, $0D, $F5, $07, $29, $06 ; CPU:$C204 PRG:4204 D0 35 A5 94 CD 46 06 F0 0A A5 17 0D F5 07 29 06 - .byte $4C, $1C, $C2, $A5, $17, $0D, $F5, $07, $A0, $0E, $91, $90, $AD, $E7, $06, $C9 ; CPU:$C214 PRG:4214 4C 1C C2 A5 17 0D F5 07 A0 0E 91 90 AD E7 06 C9 - .byte $11, $F0, $07, $C9, $0E, $D0, $10, $4C, $35, $C2, $AD, $2F, $04, $C9, $05, $D0 ; CPU:$C224 PRG:4224 11 F0 07 C9 0E D0 10 4C 35 C2 AD 2F 04 C9 05 D0 - .byte $06, $B1, $90, $29, $F0, $91, $90, $AD, $E7, $06, $C9, $06, $F0, $35, $C9, $0E ; CPU:$C234 PRG:4234 06 B1 90 29 F0 91 90 AD E7 06 C9 06 F0 35 C9 0E - .byte $F0, $31, $C9, $11, $D0, $0A, $AD, $2F, $04, $C9, $05, $F0, $26, $AD, $E7, $06 ; CPU:$C244 PRG:4244 F0 31 C9 11 D0 0A AD 2F 04 C9 05 F0 26 AD E7 06 - .byte $C9, $05, $F0, $03, $4C, $15, $C3, $A4, $90, $A6, $92, $B9, $02, $03, $9D, $02 ; CPU:$C254 PRG:4254 C9 05 F0 03 4C 15 C3 A4 90 A6 92 B9 02 03 9D 02 - .byte $06, $B9, $03, $03, $9D, $03, $06, $B9, $04, $03, $9D, $00, $06, $B9, $05, $03 ; CPU:$C264 PRG:4264 06 B9 03 03 9D 03 06 B9 04 03 9D 00 06 B9 05 03 - .byte $9D, $01, $06, $A0, $0A, $B1, $90, $29, $04, $F0, $09, $A9, $00, $A0, $08, $91 ; CPU:$C274 PRG:4274 9D 01 06 A0 0A B1 90 29 04 F0 09 A9 00 A0 08 91 - .byte $92, $4C, $19, $C3, $B1, $90, $29, $01, $D0, $14, $AD, $E7, $06, $C9, $06, $D0 ; CPU:$C284 PRG:4284 92 4C 19 C3 B1 90 29 01 D0 14 AD E7 06 C9 06 D0 - .byte $0A, $A5, $47, $D0, $06, $A0, $14, $B1, $90, $D0, $0C, $4C, $70, $C3, $A4, $7B ; CPU:$C294 PRG:4294 0A A5 47 D0 06 A0 14 B1 90 D0 0C 4C 70 C3 A4 7B - .byte $B9, $33, $D5, $A0, $12, $91, $90, $A5, $A3, $A0, $00, $91, $92, $A5, $A4, $C8 ; CPU:$C2A4 PRG:42A4 B9 33 D5 A0 12 91 90 A5 A3 A0 00 91 92 A5 A4 C8 - .byte $91, $92, $A5, $A8, $C8, $91, $92, $A5, $A9, $C8, $91, $92, $AD, $C5, $06, $C5 ; CPU:$C2B4 PRG:42B4 91 92 A5 A8 C8 91 92 A5 A9 C8 91 92 AD C5 06 C5 - .byte $90, $D0, $04, $A5, $24, $F0, $03, $4C, $15, $C3, $A5, $47, $D0, $F9, $AD, $E7 ; CPU:$C2C4 PRG:42C4 90 D0 04 A5 24 F0 03 4C 15 C3 A5 47 D0 F9 AD E7 - .byte $06, $C9, $06, $D0, $F2, $A5, $94, $C9, $FF, $F0, $EC, $C9, $7E, $B0, $E8, $A5 ; CPU:$C2D4 PRG:42D4 06 C9 06 D0 F2 A5 94 C9 FF F0 EC C9 7E B0 E8 A5 - .byte $2E, $A6, $7B, $DD, $38, $D5, $B0, $DF, $B1, $92, $38, $E9, $80, $91, $92, $88 ; CPU:$C2E4 PRG:42E4 2E A6 7B DD 38 D5 B0 DF B1 92 38 E9 80 91 92 88 - .byte $B1, $92, $E9, $00, $91, $92, $88, $B1, $92, $38, $E9, $80, $91, $92, $88, $B1 ; CPU:$C2F4 PRG:42F4 B1 92 E9 00 91 92 88 B1 92 38 E9 80 91 92 88 B1 - .byte $92, $E9, $00, $91, $92, $4C, $15, $C3, $8C, $B9, $06, $4C, $15, $C3, $8C, $CD ; CPU:$C304 PRG:4304 92 E9 00 91 92 4C 15 C3 8C B9 06 4C 15 C3 8C CD - .byte $06, $A0, $08, $B1, $92, $A0, $0E, $91, $90, $A0, $0E, $B1, $90, $29, $0F, $F0 ; CPU:$C314 PRG:4314 06 A0 08 B1 92 A0 0E 91 90 A0 0E B1 90 29 0F F0 - .byte $09, $A8, $88, $B9, $07, $D5, $A0, $0B, $91, $90, $20, $D1, $B8, $A5, $90, $CD ; CPU:$C324 PRG:4324 09 A8 88 B9 07 D5 A0 0B 91 90 20 D1 B8 A5 90 CD - .byte $B1, $06, $F0, $05, $CD, $C5, $06, $D0, $1B, $AD, $E7, $06, $C9, $0E, $F0, $11 ; CPU:$C334 PRG:4334 B1 06 F0 05 CD C5 06 D0 1B AD E7 06 C9 0E F0 11 - .byte $C9, $11, $D0, $09, $AD, $2F, $04, $C9, $05, $F0, $06, $D0, $07, $C9, $0B, $B0 ; CPU:$C344 PRG:4344 C9 11 D0 09 AD 2F 04 C9 05 F0 06 D0 07 C9 0B B0 - .byte $03, $20, $E3, $B5, $EE, $FD, $06, $A5, $92, $18, $69, $0A, $85, $92, $C9, $79 ; CPU:$C354 PRG:4354 03 20 E3 B5 EE FD 06 A5 92 18 69 0A 85 92 C9 79 - .byte $F0, $09, $A8, $B9, $FF, $05, $85, $90, $4C, $EA, $C0, $60, $4C, $1D, $C3, $A5 ; CPU:$C364 PRG:4364 F0 09 A8 B9 FF 05 85 90 4C EA C0 60 4C 1D C3 A5 - .byte $90, $C9, $7E, $90, $A4, $A8, $B9, $0A, $03, $29, $02, $D0, $94, $B9, $0C, $03 ; CPU:$C374 PRG:4374 90 C9 7E 90 A4 A8 B9 0A 03 29 02 D0 94 B9 0C 03 - .byte $29, $40, $D0, $8D, $4C, $19, $C3, $A5, $0A, $10, $08, $A9, $11, $85, $A3, $A9 ; CPU:$C384 PRG:4384 29 40 D0 8D 4C 19 C3 A5 0A 10 08 A9 11 85 A3 A9 - .byte $01, $D0, $06, $A9, $0F, $85, $A3, $A9, $81, $8D, $0A, $04, $A9, $00, $85, $A4 ; CPU:$C394 PRG:4394 01 D0 06 A9 0F 85 A3 A9 81 8D 0A 04 A9 00 85 A4 - .byte $A9, $0F, $85, $A8, $A9, $40, $85, $A9, $A9, $04, $8D, $A8, $06, $A9, $00, $85 ; CPU:$C3A4 PRG:43A4 A9 0F 85 A8 A9 40 85 A9 A9 04 8D A8 06 A9 00 85 - .byte $A1, $85, $A2, $85, $A6, $85, $A7, $85, $AD, $85, $AE, $85, $AB, $85, $AC, $85 ; CPU:$C3B4 PRG:43B4 A1 85 A2 85 A6 85 A7 85 AD 85 AE 85 AB 85 AC 85 - .byte $AA, $60, $A5, $2E, $29, $1F, $C9, $10, $F0, $01, $60, $A5, $94, $C9, $7E, $B0 ; CPU:$C3C4 PRG:43C4 AA 60 A5 2E 29 1F C9 10 F0 01 60 A5 94 C9 7E B0 - .byte $10, $AC, $B1, $06, $B9, $13, $03, $8D, $C5, $06, $20, $F5, $C3, $8C, $C4, $06 ; CPU:$C3D4 PRG:43D4 10 AC B1 06 B9 13 03 8D C5 06 20 F5 C3 8C C4 06 - .byte $60, $AC, $C5, $06, $B9, $13, $03, $8D, $B1, $06, $20, $F5, $C3, $8C, $B0, $06 ; CPU:$C3E4 PRG:43E4 60 AC C5 06 B9 13 03 8D B1 06 20 F5 C3 8C B0 06 - .byte $60, $A8, $B9, $00, $F0, $A8, $60, $A2, $06, $D9, $1A, $D5, $F0, $07, $C8, $C8 ; CPU:$C3F4 PRG:43F4 60 A8 B9 00 F0 A8 60 A2 06 D9 1A D5 F0 07 C8 C8 - .byte $CA, $D0, $F6, $A9, $FF, $60, $AD, $E7, $06, $20, $BD, $84, $7D, $C4, $FC, $C4 ; CPU:$C404 PRG:4404 CA D0 F6 A9 FF 60 AD E7 06 20 BD 84 7D C4 FC C4 - .byte $0C, $C5, $17, $C5, $3A, $C5, $0B, $C6, $DB, $C6, $0E, $C8, $2C, $C8, $3A, $C8 ; CPU:$C414 PRG:4414 0C C5 17 C5 3A C5 0B C6 DB C6 0E C8 2C C8 3A C8 - .byte $6A, $C8, $99, $CA, $F9, $CA, $3D, $CD, $34, $CE, $8D, $C4, $01, $CD, $32, $E1 ; CPU:$C424 PRG:4424 6A C8 99 CA F9 CA 3D CD 34 CE 8D C4 01 CD 32 E1 - .byte $91, $C8, $9A, $C8, $B6, $C4, $07, $CA, $48, $C4, $5B, $C4, $5C, $C4, $9E, $E5 ; CPU:$C434 PRG:4434 91 C8 9A C8 B6 C4 07 CA 48 C4 5B C4 5C C4 9E E5 - .byte $9E, $E5, $86, $C8, $A5, $2C, $F0, $01, $60, $A9, $01, $8D, $60, $05, $EE, $E7 ; CPU:$C444 PRG:4444 9E E5 86 C8 A5 2C F0 01 60 A9 01 8D 60 05 EE E7 - .byte $06, $A9, $0A, $8D, $70, $05, $60, $60, $A9, $00, $8D, $E7, $06, $20, $5E, $BE ; CPU:$C454 PRG:4454 06 A9 0A 8D 70 05 60 60 A9 00 8D E7 06 20 5E BE - .byte $20, $B5, $BD, $20, $16, $BE, $A9, $FF, $8D, $70, $05, $A9, $01, $8D, $AE, $06 ; CPU:$C464 PRG:4464 20 B5 BD 20 16 BE A9 FF 8D 70 05 A9 01 8D AE 06 - .byte $20, $44, $87, $A9, $00, $8D, $50, $05, $60, $A9, $14, $8D, $E7, $06, $60, $EE ; CPU:$C474 PRG:4474 20 44 87 A9 00 8D 50 05 60 A9 14 8D E7 06 60 EE - .byte $E7, $06, $60, $A9, $01, $8D, $E7, $06, $60, $A5, $2C, $F0, $01, $60, $A9, $03 ; CPU:$C484 PRG:4484 E7 06 60 A9 01 8D E7 06 60 A5 2C F0 01 60 A9 03 - .byte $8D, $E7, $06, $AD, $03, $04, $29, $DF, $8D, $03, $04, $AD, $07, $04, $29, $DF ; CPU:$C494 PRG:4494 8D E7 06 AD 03 04 29 DF 8D 03 04 AD 07 04 29 DF - .byte $8D, $07, $04, $20, $8B, $C3, $AD, $A9, $06, $8D, $50, $05, $A9, $FF, $8D, $70 ; CPU:$C4A4 PRG:44A4 8D 07 04 20 8B C3 AD A9 06 8D 50 05 A9 FF 8D 70 - .byte $05, $60, $20, $A0, $C3, $20, $16, $BE, $A0, $03, $A5, $24, $D0, $02, $A4, $61 ; CPU:$C4B4 PRG:44B4 05 60 20 A0 C3 20 16 BE A0 03 A5 24 D0 02 A4 61 - .byte $84, $7B, $A9, $01, $8D, $AE, $06, $A5, $24, $D0, $1D, $AD, $9F, $06, $F0, $08 ; CPU:$C4C4 PRG:44C4 84 7B A9 01 8D AE 06 A5 24 D0 1D AD 9F 06 F0 08 - .byte $AD, $9E, $06, $49, $03, $4C, $EE, $C4, $20, $7E, $86, $65, $2E, $29, $01, $A8 ; CPU:$C4D4 PRG:44D4 AD 9E 06 49 03 4C EE C4 20 7E 86 65 2E 29 01 A8 - .byte $C8, $98, $8D, $9E, $06, $4C, $EE, $C4, $A9, $02, $8D, $A9, $06, $A9, $01, $8D ; CPU:$C4E4 PRG:44E4 C8 98 8D 9E 06 4C EE C4 A9 02 8D A9 06 A9 01 8D - .byte $E7, $06, $A9, $01, $8D, $AE, $06, $60, $AD, $E6, $06, $D0, $03, $4C, $0A, $C6 ; CPU:$C4F4 PRG:44F4 E7 06 A9 01 8D AE 06 60 AD E6 06 D0 03 4C 0A C6 - .byte $A9, $01, $85, $2C, $EE, $E7, $06, $60, $A5, $2C, $F0, $03, $4C, $0A, $C6, $EE ; CPU:$C504 PRG:4504 A9 01 85 2C EE E7 06 60 A5 2C F0 03 4C 0A C6 EE - .byte $E7, $06, $60, $A9, $00, $8D, $EB, $06, $AD, $A9, $06, $C9, $02, $F0, $05, $A0 ; CPU:$C514 PRG:4514 E7 06 60 A9 00 8D EB 06 AD A9 06 C9 02 F0 05 A0 - .byte $81, $4C, $2A, $C5, $A0, $01, $8C, $E2, $06, $C8, $8C, $E3, $06, $EE, $E7, $06 ; CPU:$C524 PRG:4524 81 4C 2A C5 A0 01 8C E2 06 C8 8C E3 06 EE E7 06 - .byte $A9, $10, $8D, $A3, $06, $60, $20, $7E, $86, $29, $07, $A8, $B9, $3D, $D5, $8D ; CPU:$C534 PRG:4534 A9 10 8D A3 06 60 20 7E 86 29 07 A8 B9 3D D5 8D - .byte $9D, $06, $20, $57, $87, $A5, $0A, $C9, $80, $F0, $03, $4C, $0A, $C6, $AD, $E6 ; CPU:$C544 PRG:4544 9D 06 20 57 87 A5 0A C9 80 F0 03 4C 0A C6 AD E6 - .byte $06, $D0, $03, $4C, $0A, $C6, $AD, $A3, $06, $F0, $04, $CE, $A3, $06, $60, $A5 ; CPU:$C554 PRG:4554 06 D0 03 4C 0A C6 AD A3 06 F0 04 CE A3 06 60 A5 - .byte $43, $05, $44, $D0, $08, $20, $44, $87, $A9, $09, $4C, $D9, $C7, $AD, $0A, $06 ; CPU:$C564 PRG:4564 43 05 44 D0 08 20 44 87 A9 09 4C D9 C7 AD 0A 06 - .byte $8D, $B1, $06, $20, $F5, $C3, $8C, $B0, $06, $AD, $14, $06, $8D, $B9, $06, $20 ; CPU:$C574 PRG:4574 8D B1 06 20 F5 C3 8C B0 06 AD 14 06 8D B9 06 20 - .byte $F5, $C3, $8C, $B8, $06, $AD, $46, $06, $8D, $C5, $06, $20, $F5, $C3, $8C, $C4 ; CPU:$C584 PRG:4584 F5 C3 8C B8 06 AD 46 06 8D C5 06 20 F5 C3 8C C4 - .byte $06, $AD, $50, $06, $8D, $CD, $06, $20, $F5, $C3, $8C, $CC, $06, $A9, $00, $AC ; CPU:$C594 PRG:4594 06 AD 50 06 8D CD 06 20 F5 C3 8C CC 06 A9 00 AC - .byte $0A, $06, $99, $0A, $03, $AC, $14, $06, $99, $0A, $03, $AC, $46, $06, $99, $0A ; CPU:$C5A4 PRG:45A4 0A 06 99 0A 03 AC 14 06 99 0A 03 AC 46 06 99 0A - .byte $03, $AC, $50, $06, $99, $0A, $03, $AD, $A9, $06, $C9, $02, $D0, $0B, $AC, $B1 ; CPU:$C5B4 PRG:45B4 03 AC 50 06 99 0A 03 AD A9 06 C9 02 D0 0B AC B1 - .byte $06, $A9, $83, $99, $0A, $03, $4C, $D5, $C5, $AC, $C5, $06, $A9, $83, $99, $0A ; CPU:$C5C4 PRG:45C4 06 A9 83 99 0A 03 4C D5 C5 AC C5 06 A9 83 99 0A - .byte $03, $A9, $07, $85, $A8, $A9, $80, $85, $A9, $A9, $10, $85, $A3, $A9, $00, $85 ; CPU:$C5D4 PRG:45D4 03 A9 07 85 A8 A9 80 85 A9 A9 10 85 A3 A9 00 85 - .byte $A4, $20, $B1, $C3, $A9, $20, $85, $2A, $A9, $FF, $85, $94, $EE, $E7, $06, $AD ; CPU:$C5E4 PRG:45E4 A4 20 B1 C3 A9 20 85 2A A9 FF 85 94 EE E7 06 AD - .byte $AE, $06, $C9, $01, $D0, $0A, $A9, $05, $8D, $70, $05, $A9, $01, $8D, $A2, $06 ; CPU:$C5F4 PRG:45F4 AE 06 C9 01 D0 0A A9 05 8D 70 05 A9 01 8D A2 06 - .byte $20, $06, $87, $20, $86, $87, $60, $A5, $43, $05, $44, $D0, $08, $20, $44, $87 ; CPU:$C604 PRG:4604 20 06 87 20 86 87 60 A5 43 05 44 D0 08 20 44 87 - .byte $A9, $09, $4C, $D9, $C7, $A5, $94, $C9, $FF, $D0, $15, $AD, $A9, $06, $C9, $02 ; CPU:$C614 PRG:4614 A9 09 4C D9 C7 A5 94 C9 FF D0 15 AD A9 06 C9 02 - .byte $F0, $07, $A9, $06, $85, $17, $4C, $44, $C6, $A9, $05, $85, $16, $4C, $44, $C6 ; CPU:$C624 PRG:4624 F0 07 A9 06 85 17 4C 44 C6 A9 05 85 16 4C 44 C6 - .byte $AD, $A9, $06, $C9, $02, $F0, $09, $A5, $47, $D0, $05, $AD, $9D, $06, $85, $17 ; CPU:$C634 PRG:4634 AD A9 06 C9 02 F0 09 A5 47 D0 05 AD 9D 06 85 17 - .byte $A5, $94, $C9, $FF, $F0, $C0, $A5, $94, $C9, $7E, $B0, $39, $AC, $14, $06, $84 ; CPU:$C644 PRG:4644 A5 94 C9 FF F0 C0 A5 94 C9 7E B0 39 AC 14 06 84 - .byte $94, $B9, $0C, $03, $29, $40, $F0, $6B, $AC, $14, $06, $AE, $0A, $06, $BD, $0A ; CPU:$C654 PRG:4654 94 B9 0C 03 29 40 F0 6B AC 14 06 AE 0A 06 BD 0A - .byte $03, $F0, $21, $AD, $AE, $06, $8D, $E8, $06, $A9, $02, $8D, $AE, $06, $A9, $83 ; CPU:$C664 PRG:4664 03 F0 21 AD AE 06 8D E8 06 A9 02 8D AE 06 A9 83 - .byte $99, $0A, $03, $A9, $00, $9D, $0A, $03, $AD, $14, $06, $8D, $B1, $06, $20, $F5 ; CPU:$C674 PRG:4674 99 0A 03 A9 00 9D 0A 03 AD 14 06 8D B1 06 20 F5 - .byte $C3, $8C, $B0, $06, $60, $AC, $50, $06, $84, $94, $B9, $0C, $03, $29, $40, $F0 ; CPU:$C684 PRG:4684 C3 8C B0 06 60 AC 50 06 84 94 B9 0C 03 29 40 F0 - .byte $32, $AC, $50, $06, $AE, $46, $06, $BD, $0A, $03, $F0, $E8, $AD, $AE, $06, $8D ; CPU:$C694 PRG:4694 32 AC 50 06 AE 46 06 BD 0A 03 F0 E8 AD AE 06 8D - .byte $E8, $06, $A9, $02, $8D, $AE, $06, $A9, $02, $8D, $E8, $06, $A9, $83, $99, $0A ; CPU:$C6A4 PRG:46A4 E8 06 A9 02 8D AE 06 A9 02 8D E8 06 A9 83 99 0A - .byte $03, $A9, $00, $9D, $0A, $03, $AD, $50, $06, $8D, $C5, $06, $20, $F5, $C3, $8C ; CPU:$C6B4 PRG:46B4 03 A9 00 9D 0A 03 AD 50 06 8D C5 06 20 F5 C3 8C - .byte $C4, $06, $60, $EE, $E7, $06, $A9, $00, $8D, $A8, $06, $A9, $01, $8D, $EB, $06 ; CPU:$C6C4 PRG:46C4 C4 06 60 EE E7 06 A9 00 8D A8 06 A9 01 8D EB 06 - .byte $8D, $BE, $06, $8D, $D2, $06, $60, $AC, $32, $06, $B9, $00, $03, $C9, $13, $F0 ; CPU:$C6D4 PRG:46D4 8D BE 06 8D D2 06 60 AC 32 06 B9 00 03 C9 13 F0 - .byte $22, $AC, $6E, $06, $B9, $00, $03, $C9, $13, $D0, $32, $A0, $14, $A9, $00, $8D ; CPU:$C6E4 PRG:46E4 22 AC 6E 06 B9 00 03 C9 13 D0 32 A0 14 A9 00 8D - .byte $C9, $06, $8D, $C8, $06, $A9, $02, $20, $0B, $DD, $A5, $47, $D0, $14, $A9, $40 ; CPU:$C6F4 PRG:46F4 C9 06 8D C8 06 A9 02 20 0B DD A5 47 D0 14 A9 40 - .byte $4C, $18, $C7, $A0, $00, $A9, $00, $8D, $B5, $06, $8D, $B4, $06, $A9, $01, $20 ; CPU:$C704 PRG:4704 4C 18 C7 A0 00 A9 00 8D B5 06 8D B4 06 A9 01 20 - .byte $0B, $DD, $A9, $FF, $8D, $A1, $06, $A9, $15, $8D, $E7, $06, $60, $AD, $A2, $06 ; CPU:$C714 PRG:4714 0B DD A9 FF 8D A1 06 A9 15 8D E7 06 60 AD A2 06 - .byte $F0, $0A, $A9, $FF, $8D, $70, $05, $A9, $00, $8D, $A2, $06, $AD, $EC, $06, $D0 ; CPU:$C724 PRG:4724 F0 0A A9 FF 8D 70 05 A9 00 8D A2 06 AD EC 06 D0 - .byte $03, $4C, $E2, $C7, $EE, $9B, $06, $AD, $9B, $06, $C9, $01, $F0, $03, $4C, $CB ; CPU:$C734 PRG:4734 03 4C E2 C7 EE 9B 06 AD 9B 06 C9 01 F0 03 4C CB - .byte $C7, $A4, $94, $8C, $9C, $06, $C0, $7E, $B0, $47, $B9, $05, $03, $38, $E9, $00 ; CPU:$C744 PRG:4744 C7 A4 94 8C 9C 06 C0 7E B0 47 B9 05 03 38 E9 00 - .byte $B9, $04, $03, $E9, $10, $90, $65, $AC, $B9, $06, $B9, $04, $03, $C9, $04, $90 ; CPU:$C754 PRG:4754 B9 04 03 E9 10 90 65 AC B9 06 B9 04 03 C9 04 90 - .byte $5B, $C9, $1B, $B0, $57, $B9, $02, $03, $C9, $03, $90, $50, $C9, $0D, $B0, $4C ; CPU:$C764 PRG:4764 5B C9 1B B0 57 B9 02 03 C9 03 90 50 C9 0D B0 4C - .byte $A2, $00, $BD, $B9, $06, $A8, $B9, $04, $03, $8D, $F5, $06, $B9, $05, $03, $8D ; CPU:$C774 PRG:4774 A2 00 BD B9 06 A8 B9 04 03 8D F5 06 B9 05 03 8D - .byte $F6, $06, $B9, $02, $03, $8D, $F7, $06, $B9, $03, $03, $8D, $F8, $06, $4C, $E7 ; CPU:$C784 PRG:4784 F6 06 B9 02 03 8D F7 06 B9 03 03 8D F8 06 4C E7 - .byte $C7, $B9, $05, $03, $38, $E9, $00, $B9, $04, $03, $E9, $10, $B0, $1E, $AC, $CD ; CPU:$C794 PRG:4794 C7 B9 05 03 38 E9 00 B9 04 03 E9 10 B0 1E AC CD - .byte $06, $B9, $04, $03, $C9, $04, $90, $14, $C9, $1B, $B0, $10, $B9, $02, $03, $C9 ; CPU:$C7A4 PRG:47A4 06 B9 04 03 C9 04 90 14 C9 1B B0 10 B9 02 03 C9 - .byte $03, $90, $09, $C9, $0D, $B0, $05, $A2, $14, $4C, $76, $C7, $A9, $00, $8D, $EC ; CPU:$C7B4 PRG:47B4 03 90 09 C9 0D B0 05 A2 14 4C 76 C7 A9 00 8D EC - .byte $06, $8D, $9B, $06, $4C, $E2, $C7, $C9, $08, $D0, $18, $20, $0E, $87, $A9, $04 ; CPU:$C7C4 PRG:47C4 06 8D 9B 06 4C E2 C7 C9 08 D0 18 20 0E 87 A9 04 - .byte $8D, $AD, $06, $A9, $0B, $8D, $E7, $06, $A9, $00, $8D, $50, $05, $60, $A9, $00 ; CPU:$C7D4 PRG:47D4 8D AD 06 A9 0B 8D E7 06 A9 00 8D 50 05 60 A9 00 - .byte $8D, $9B, $06, $AD, $E8, $06, $C9, $FF, $D0, $16, $A5, $A1, $05, $A2, $05, $A6 ; CPU:$C7E4 PRG:47E4 8D 9B 06 AD E8 06 C9 FF D0 16 A5 A1 05 A2 05 A6 - .byte $05, $A7, $05, $AB, $05, $AC, $D0, $08, $20, $44, $87, $A9, $09, $4C, $D9, $C7 ; CPU:$C7F4 PRG:47F4 05 A7 05 AB 05 AC D0 08 20 44 87 A9 09 4C D9 C7 - .byte $20, $D5, $C9, $20, $37, $DC, $20, $B3, $DE, $60, $20, $0E, $87, $A9, $00, $8D ; CPU:$C804 PRG:4804 20 D5 C9 20 37 DC 20 B3 DE 60 20 0E 87 A9 00 8D - .byte $EC, $06, $A9, $01, $A0, $14, $8D, $70, $05, $84, $2C, $EE, $E7, $06, $A9, $FF ; CPU:$C814 PRG:4814 EC 06 A9 01 A0 14 8D 70 05 84 2C EE E7 06 A9 FF - .byte $85, $94, $A9, $01, $8D, $A2, $06, $60, $A5, $2C, $F0, $01, $60, $20, $8B, $C3 ; CPU:$C824 PRG:4824 85 94 A9 01 8D A2 06 60 A5 2C F0 01 60 20 8B C3 - .byte $A9, $06, $8D, $E7, $06, $60, $A2, $00, $A9, $03, $9D, $00, $03, $A9, $00, $9D ; CPU:$C834 PRG:4834 A9 06 8D E7 06 60 A2 00 A9 03 9D 00 03 A9 00 9D - .byte $0A, $03, $8A, $18, $69, $15, $AA, $C9, $FC, $D0, $ED, $20, $0A, $87, $AD, $9F ; CPU:$C844 PRG:4844 0A 03 8A 18 69 15 AA C9 FC D0 ED 20 0A 87 AD 9F - .byte $06, $D0, $0D, $EE, $9F, $06, $A9, $16, $8D, $E7, $06, $A9, $10, $85, $2C, $60 ; CPU:$C854 PRG:4854 06 D0 0D EE 9F 06 A9 16 8D E7 06 A9 10 85 2C 60 - .byte $A9, $07, $A0, $08, $D0, $B0, $A5, $2C, $F0, $01, $60, $A5, $83, $C5, $84, $D0 ; CPU:$C864 PRG:4864 A9 07 A0 08 D0 B0 A5 2C F0 01 60 A5 83 C5 84 D0 - .byte $0B, $A9, $11, $8D, $E7, $06, $A9, $00, $8D, $2F, $04, $60, $A9, $12, $8D, $E7 ; CPU:$C874 PRG:4874 0B A9 11 8D E7 06 A9 00 8D 2F 04 60 A9 12 8D E7 - .byte $06, $60, $A9, $01, $85, $24, $A9, $00, $85, $26, $85, $30, $60, $20, $8E, $87 ; CPU:$C884 PRG:4884 06 60 A9 01 85 24 A9 00 85 26 85 30 60 20 8E 87 - .byte $A9, $19, $8D, $E7, $06, $60, $A5, $2C, $F0, $E8, $60, $AD, $E7, $06, $C9, $15 ; CPU:$C894 PRG:4894 A9 19 8D E7 06 60 A5 2C F0 E8 60 AD E7 06 C9 15 - .byte $F0, $05, $C9, $07, $90, $01, $60, $A9, $01, $85, $02, $A9, $00, $85, $03, $85 ; CPU:$C8A4 PRG:48A4 F0 05 C9 07 90 01 60 A9 01 85 02 A9 00 85 03 85 - .byte $90, $AD, $E2, $06, $10, $08, $A0, $3D, $84, $02, $A0, $7E, $84, $90, $20, $E1 ; CPU:$C8B4 PRG:48B4 90 AD E2 06 10 08 A0 3D 84 02 A0 7E 84 90 20 E1 - .byte $C8, $A9, $3D, $85, $02, $A9, $01, $85, $03, $A9, $7E, $85, $90, $AD, $E3, $06 ; CPU:$C8C4 PRG:48C4 C8 A9 3D 85 02 A9 01 85 03 A9 7E 85 90 AD E3 06 - .byte $10, $07, $A0, $01, $84, $02, $88, $84, $90, $20, $E1, $C8, $60, $85, $05, $29 ; CPU:$C8D4 PRG:48D4 10 07 A0 01 84 02 88 84 90 20 E1 C8 60 85 05 29 - .byte $7F, $D0, $01, $60, $AA, $AD, $E7, $06, $C9, $06, $D0, $1C, $A5, $94, $CD, $32 ; CPU:$C8E4 PRG:48E4 7F D0 01 60 AA AD E7 06 C9 06 D0 1C A5 94 CD 32 - .byte $06, $F0, $15, $CD, $6E, $06, $F0, $10, $A5, $94, $C9, $7E, $B0, $05, $A5, $90 ; CPU:$C8F4 PRG:48F4 06 F0 15 CD 6E 06 F0 10 A5 94 C9 7E B0 05 A5 90 - .byte $F0, $06, $60, $A5, $90, $D0, $01, $60, $A0, $05, $84, $04, $CA, $8A, $18, $0A ; CPU:$C904 PRG:4904 F0 06 60 A5 90 D0 01 60 A0 05 84 04 CA 8A 18 0A - .byte $85, $00, $0A, $65, $00, $0A, $AA, $A4, $02, $A5, $04, $85, $00, $A5, $05, $29 ; CPU:$C914 PRG:4914 85 00 0A 65 00 0A AA A4 02 A5 04 85 00 A5 05 29 - .byte $80, $F0, $03, $4C, $AA, $C9, $A9, $10, $18, $7D, $27, $D3, $99, $00, $06, $AD ; CPU:$C924 PRG:4924 80 F0 03 4C AA C9 A9 10 18 7D 27 D3 99 00 06 AD - .byte $E7, $06, $C9, $06, $D0, $06, $B9, $00, $06, $99, $00, $06, $A9, $00, $99, $01 ; CPU:$C934 PRG:4934 E7 06 C9 06 D0 06 B9 00 06 99 00 06 A9 00 99 01 - .byte $06, $20, $7E, $86, $E8, $98, $18, $69, $0A, $A8, $C6, $00, $D0, $D8, $A5, $04 ; CPU:$C944 PRG:4944 06 20 7E 86 E8 98 18 69 0A A8 C6 00 D0 D8 A5 04 - .byte $85, $00, $C9, $06, $F0, $01, $E8, $A4, $02, $A9, $08, $18, $7D, $27, $D3, $99 ; CPU:$C954 PRG:4954 85 00 C9 06 F0 01 E8 A4 02 A9 08 18 7D 27 D3 99 - .byte $02, $06, $AD, $E7, $06, $C9, $06, $D0, $06, $B9, $02, $06, $99, $02, $06, $A9 ; CPU:$C964 PRG:4964 02 06 AD E7 06 C9 06 D0 06 B9 02 06 99 02 06 A9 - .byte $00, $99, $03, $06, $E8, $98, $18, $69, $0A, $48, $A9, $00, $A4, $90, $99, $10 ; CPU:$C974 PRG:4974 00 99 03 06 E8 98 18 69 0A 48 A9 00 A4 90 99 10 - .byte $03, $B9, $11, $03, $D0, $05, $20, $7E, $86, $29, $1F, $68, $A8, $A5, $90, $18 ; CPU:$C984 PRG:4984 03 B9 11 03 D0 05 20 7E 86 29 1F 68 A8 A5 90 18 - .byte $69, $15, $85, $90, $C6, $00, $D0, $C1, $A4, $03, $B9, $E2, $06, $99, $E4, $06 ; CPU:$C994 PRG:4994 69 15 85 90 C6 00 D0 C1 A4 03 B9 E2 06 99 E4 06 - .byte $A9, $00, $99, $E2, $06, $60, $A9, $10, $38, $FD, $27, $D3, $99, $00, $06, $AD ; CPU:$C9A4 PRG:49A4 A9 00 99 E2 06 60 A9 10 38 FD 27 D3 99 00 06 AD - .byte $E7, $06, $C9, $06, $D0, $06, $B9, $00, $06, $99, $00, $06, $A9, $00, $99, $01 ; CPU:$C9B4 PRG:49B4 E7 06 C9 06 D0 06 B9 00 06 99 00 06 A9 00 99 01 - .byte $06, $20, $7E, $86, $E8, $98, $18, $69, $0A, $A8, $C6, $00, $D0, $D8, $4C, $52 ; CPU:$C9C4 PRG:49C4 06 20 7E 86 E8 98 18 69 0A A8 C6 00 D0 D8 4C 52 - .byte $C9, $A5, $2E, $29, $3F, $F0, $01, $60, $A2, $00, $A0, $00, $A5, $A8, $D9, $F5 ; CPU:$C9D4 PRG:49D4 C9 A5 2E 29 3F F0 01 60 A2 00 A0 00 A5 A8 D9 F5 - .byte $D2, $90, $05, $C8, $C0, $02, $D0, $F6, $A5, $A3, $DD, $F0, $D2, $90, $08, $C8 ; CPU:$C9E4 PRG:49E4 D2 90 05 C8 C0 02 D0 F6 A5 A3 DD F0 D2 90 08 C8 - .byte $C8, $C8, $E8, $E0, $05, $D0, $F3, $B9, $F7, $D2, $AA, $8E, $E2, $06, $E8, $8E ; CPU:$C9F4 PRG:49F4 C8 C8 E8 E0 05 D0 F3 B9 F7 D2 AA 8E E2 06 E8 8E - .byte $E3, $06, $60, $AD, $E8, $06, $C9, $FF, $D0, $09, $20, $44, $87, $A9, $09, $8D ; CPU:$CA04 PRG:4A04 E3 06 60 AD E8 06 C9 FF D0 09 20 44 87 A9 09 8D - .byte $E7, $06, $60, $AC, $32, $06, $B9, $00, $03, $C9, $13, $F0, $10, $AC, $6E, $06 ; CPU:$CA14 PRG:4A14 E7 06 60 AC 32 06 B9 00 03 C9 13 F0 10 AC 6E 06 - .byte $B9, $00, $03, $C9, $13, $F0, $06, $A9, $06, $8D, $E7, $06, $60, $A5, $94, $CD ; CPU:$CA24 PRG:4A24 B9 00 03 C9 13 F0 06 A9 06 8D E7 06 60 A5 94 CD - .byte $32, $06, $D0, $1A, $AD, $A1, $06, $D0, $07, $A9, $40, $85, $16, $4C, $47, $CA ; CPU:$CA34 PRG:4A34 32 06 D0 1A AD A1 06 D0 07 A9 40 85 16 4C 47 CA - .byte $CE, $A1, $06, $A9, $83, $8D, $E2, $06, $A9, $84, $8D, $E3, $06, $60, $CD, $6E ; CPU:$CA44 PRG:4A44 CE A1 06 A9 83 8D E2 06 A9 84 8D E3 06 60 CD 6E - .byte $06, $D0, $1A, $AD, $A1, $06, $D0, $07, $A9, $40, $85, $17, $4C, $66, $CA, $CE ; CPU:$CA54 PRG:4A54 06 D0 1A AD A1 06 D0 07 A9 40 85 17 4C 66 CA CE - .byte $A1, $06, $A9, $03, $8D, $E2, $06, $A9, $04, $8D, $E3, $06, $60, $60, $60, $A5 ; CPU:$CA64 PRG:4A64 A1 06 A9 03 8D E2 06 A9 04 8D E3 06 60 60 60 A5 - .byte $FF, $29, $40, $8D, $F3, $06, $A5, $FC, $29, $01, $8D, $F4, $06, $60, $A5, $FF ; CPU:$CA74 PRG:4A74 FF 29 40 8D F3 06 A5 FC 29 01 8D F4 06 60 A5 FF - .byte $0D, $F3, $06, $85, $FF, $A5, $FC, $0D, $F4, $06, $85, $FC, $A9, $00, $8D, $F3 ; CPU:$CA84 PRG:4A84 0D F3 06 85 FF A5 FC 0D F4 06 85 FC A9 00 8D F3 - .byte $06, $8D, $F4, $06, $60, $AD, $EC, $06, $F0, $07, $A5, $AD, $05, $AE, $F0, $19 ; CPU:$CA94 PRG:4A94 06 8D F4 06 60 AD EC 06 F0 07 A5 AD 05 AE F0 19 - .byte $60, $AD, $A8, $06, $C9, $01, $F0, $04, $C9, $02, $D0, $06, $20, $06, $87, $4C ; CPU:$CAA4 PRG:4AA4 60 AD A8 06 C9 01 F0 04 C9 02 D0 06 20 06 87 4C - .byte $B9, $CA, $20, $0E, $87, $A9, $08, $85, $2C, $A4, $94, $B9, $0A, $03, $29, $80 ; CPU:$CAB4 PRG:4AB4 B9 CA 20 0E 87 A9 08 85 2C A4 94 B9 0A 03 29 80 - .byte $99, $0A, $03, $AD, $EC, $06, $D0, $1F, $AD, $A8, $06, $C9, $01, $F0, $08, $C9 ; CPU:$CAC4 PRG:4AC4 99 0A 03 AD EC 06 D0 1F AD A8 06 C9 01 F0 08 C9 - .byte $03, $F0, $18, $C9, $02, $D0, $10, $AD, $03, $04, $09, $20, $8D, $03, $04, $AD ; CPU:$CAD4 PRG:4AD4 03 F0 18 C9 02 D0 10 AD 03 04 09 20 8D 03 04 AD - .byte $07, $04, $09, $20, $8D, $07, $04, $EE, $E7, $06, $60, $AD, $01, $04, $C9, $80 ; CPU:$CAE4 PRG:4AE4 07 04 09 20 8D 07 04 EE E7 06 60 AD 01 04 C9 80 - .byte $90, $E5, $4C, $EB, $CA, $A5, $2C, $F0, $01, $60, $AC, $32, $06, $A9, $00, $99 ; CPU:$CAF4 PRG:4AF4 90 E5 4C EB CA A5 2C F0 01 60 AC 32 06 A9 00 99 - .byte $0A, $03, $A9, $03, $99, $00, $03, $AC, $6E, $06, $A9, $00, $99, $0A, $03, $A9 ; CPU:$CB04 PRG:4B04 0A 03 A9 03 99 00 03 AC 6E 06 A9 00 99 0A 03 A9 - .byte $03, $99, $00, $03, $AD, $EC, $06, $F0, $03, $4C, $C2, $CD, $AD, $A8, $06, $C9 ; CPU:$CB14 PRG:4B14 03 99 00 03 AD EC 06 F0 03 4C C2 CD AD A8 06 C9 - .byte $04, $F0, $03, $4C, $12, $CC, $A9, $03, $8D, $70, $05, $A9, $01, $8D, $AD, $06 ; CPU:$CB24 PRG:4B24 04 F0 03 4C 12 CC A9 03 8D 70 05 A9 01 8D AD 06 - .byte $8D, $A2, $06, $A0, $01, $84, $A8, $A0, $C0, $84, $A9, $AD, $F7, $06, $C9, $08 ; CPU:$CB34 PRG:4B34 8D A2 06 A0 01 84 A8 A0 C0 84 A9 AD F7 06 C9 08 - .byte $90, $08, $A0, $0E, $84, $A8, $A0, $00, $84, $A9, $A5, $94, $C9, $7E, $90, $03 ; CPU:$CB44 PRG:4B44 90 08 A0 0E 84 A8 A0 00 84 A9 A5 94 C9 7E 90 03 - .byte $4C, $E8, $CB, $A0, $00, $A5, $A3, $C9, $10, $90, $02, $A0, $02, $A5, $A8, $C9 ; CPU:$CB54 PRG:4B54 4C E8 CB A0 00 A5 A3 C9 10 90 02 A0 02 A5 A8 C9 - .byte $08, $90, $01, $C8, $B9, $2A, $D5, $A8, $48, $B9, $00, $06, $8D, $C5, $06, $20 ; CPU:$CB64 PRG:4B64 08 90 01 C8 B9 2A D5 A8 48 B9 00 06 8D C5 06 20 - .byte $F5, $C3, $8C, $C4, $06, $68, $A8, $AD, $C5, $06, $8D, $FA, $06, $8C, $AC, $06 ; CPU:$CB74 PRG:4B74 F5 C3 8C C4 06 68 A8 AD C5 06 8D FA 06 8C AC 06 - .byte $AA, $A9, $00, $9D, $10, $03, $98, $48, $20, $39, $D1, $20, $64, $D1, $20, $C3 ; CPU:$CB84 PRG:4B84 AA A9 00 9D 10 03 98 48 20 39 D1 20 64 D1 20 C3 - .byte $D0, $68, $A8, $A2, $00, $AD, $AD, $06, $C9, $01, $F0, $3B, $A5, $A3, $C9, $10 ; CPU:$CB94 PRG:4B94 D0 68 A8 A2 00 AD AD 06 C9 01 F0 3B A5 A3 C9 10 - .byte $90, $12, $A5, $A4, $18, $69, $80, $99, $02, $06, $A5, $A3, $69, $00, $99, $01 ; CPU:$CBA4 PRG:4BA4 90 12 A5 A4 18 69 80 99 02 06 A5 A3 69 00 99 01 - .byte $06, $4C, $C7, $CB, $A5, $A4, $38, $E9, $80, $99, $02, $06, $A5, $A3, $E9, $00 ; CPU:$CBB4 PRG:4BB4 06 4C C7 CB A5 A4 38 E9 80 99 02 06 A5 A3 E9 00 - .byte $99, $01, $06, $A5, $A8, $99, $03, $06, $A5, $A9, $99, $04, $06, $A9, $FF, $85 ; CPU:$CBC4 PRG:4BC4 99 01 06 A5 A8 99 03 06 A5 A9 99 04 06 A9 FF 85 - .byte $94, $A9, $10, $8D, $E7, $06, $60, $A5, $A3, $99, $01, $06, $A5, $A4, $99, $02 ; CPU:$CBD4 PRG:4BD4 94 A9 10 8D E7 06 60 A5 A3 99 01 06 A5 A4 99 02 - .byte $06, $4C, $C7, $CB, $A0, $00, $A5, $A3, $C9, $10, $90, $02, $A0, $02, $A5, $A8 ; CPU:$CBE4 PRG:4BE4 06 4C C7 CB A0 00 A5 A3 C9 10 90 02 A0 02 A5 A8 - .byte $C9, $08, $90, $01, $C8, $B9, $26, $D5, $A8, $48, $B9, $00, $06, $8D, $B1, $06 ; CPU:$CBF4 PRG:4BF4 C9 08 90 01 C8 B9 26 D5 A8 48 B9 00 06 8D B1 06 - .byte $20, $F5, $C3, $8C, $B0, $06, $68, $A8, $AD, $B1, $06, $4C, $7E, $CB, $C9, $03 ; CPU:$CC04 PRG:4C04 20 F5 C3 8C B0 06 68 A8 AD B1 06 4C 7E CB C9 03 - .byte $F0, $03, $4C, $D1, $CC, $AD, $03, $04, $29, $DF, $8D, $03, $04, $AD, $07, $04 ; CPU:$CC14 PRG:4C14 F0 03 4C D1 CC AD 03 04 29 DF 8D 03 04 AD 07 04 - .byte $29, $DF, $8D, $07, $04, $A5, $94, $C9, $7E, $B0, $0A, $AD, $F5, $06, $C9, $10 ; CPU:$CC24 PRG:4C24 29 DF 8D 07 04 A5 94 C9 7E B0 0A AD F5 06 C9 10 - .byte $B0, $56, $4C, $40, $CC, $AD, $F5, $06, $C9, $10, $90, $4C, $A9, $08, $8D, $70 ; CPU:$CC34 PRG:4C34 B0 56 4C 40 CC AD F5 06 C9 10 90 4C A9 08 8D 70 - .byte $05, $A9, $02, $8D, $AD, $06, $A9, $01, $8D, $A2, $06, $AD, $F5, $06, $C9, $10 ; CPU:$CC44 PRG:4C44 05 A9 02 8D AD 06 A9 01 8D A2 06 AD F5 06 C9 10 - .byte $B0, $0F, $AD, $F7, $06, $C9, $08, $B0, $04, $A0, $00, $F0, $11, $A0, $04, $D0 ; CPU:$CC54 PRG:4C54 B0 0F AD F7 06 C9 08 B0 04 A0 00 F0 11 A0 04 D0 - .byte $0D, $AD, $F7, $06, $C9, $08, $B0, $04, $A0, $08, $D0, $02, $A0, $0C, $B9, $D0 ; CPU:$CC64 PRG:4C64 0D AD F7 06 C9 08 B0 04 A0 08 D0 02 A0 0C B9 D0 - .byte $D2, $85, $A3, $B9, $D1, $D2, $85, $A4, $B9, $D2, $D2, $85, $A8, $B9, $D3, $D2 ; CPU:$CC74 PRG:4C74 D2 85 A3 B9 D1 D2 85 A4 B9 D2 D2 85 A8 B9 D3 D2 - .byte $85, $A9, $20, $B1, $C3, $4C, $4E, $CB, $A9, $02, $8D, $70, $05, $A9, $03, $8D ; CPU:$CC84 PRG:4C84 85 A9 20 B1 C3 4C 4E CB A9 02 8D 70 05 A9 03 8D - .byte $AD, $06, $A9, $01, $8D, $A2, $06, $AD, $F5, $06, $C9, $10, $90, $12, $AC, $6E ; CPU:$CC94 PRG:4C94 AD 06 A9 01 8D A2 06 AD F5 06 C9 10 90 12 AC 6E - .byte $06, $A9, $08, $99, $02, $03, $A9, $00, $99, $03, $03, $A0, $18, $4C, $C3, $CC ; CPU:$CCA4 PRG:4CA4 06 A9 08 99 02 03 A9 00 99 03 03 A0 18 4C C3 CC - .byte $AC, $32, $06, $A9, $08, $99, $02, $03, $A9, $00, $99, $03, $03, $A0, $10, $AD ; CPU:$CCB4 PRG:4CB4 AC 32 06 A9 08 99 02 03 A9 00 99 03 03 A0 10 AD - .byte $F7, $06, $C9, $08, $90, $04, $C8, $C8, $C8, $C8, $4C, $72, $CC, $C9, $01, $F0 ; CPU:$CCC4 PRG:4CC4 F7 06 C9 08 90 04 C8 C8 C8 C8 4C 72 CC C9 01 F0 - .byte $04, $C9, $02, $D0, $20, $A9, $04, $8D, $70, $05, $A9, $01, $8D, $A2, $06, $A9 ; CPU:$CCD4 PRG:4CD4 04 C9 02 D0 20 A9 04 8D 70 05 A9 01 8D A2 06 A9 - .byte $0F, $8D, $E7, $06, $20, $96, $87, $AD, $A8, $06, $8D, $AF, $06, $8D, $A9, $06 ; CPU:$CCE4 PRG:4CE4 0F 8D E7 06 20 96 87 AD A8 06 8D AF 06 8D A9 06 - .byte $A9, $10, $85, $2C, $60, $AD, $AD, $06, $C9, $04, $D0, $00, $60, $AC, $FA, $06 ; CPU:$CCF4 PRG:4CF4 A9 10 85 2C 60 AD AD 06 C9 04 D0 00 60 AC FA 06 - .byte $B9, $10, $03, $F0, $33, $AD, $AD, $06, $C9, $01, $D0, $08, $A9, $0A, $99, $00 ; CPU:$CD04 PRG:4D04 B9 10 03 F0 33 AD AD 06 C9 01 D0 08 A9 0A 99 00 - .byte $03, $4C, $37, $CD, $AC, $AC, $06, $A5, $A3, $99, $01, $06, $A5, $A4, $99, $02 ; CPU:$CD14 PRG:4D14 03 4C 37 CD AC AC 06 A5 A3 99 01 06 A5 A4 99 02 - .byte $06, $A5, $A8, $99, $03, $06, $A5, $A9, $99, $04, $06, $AC, $FA, $06, $A9, $00 ; CPU:$CD24 PRG:4D24 06 A5 A8 99 03 06 A5 A9 99 04 06 AC FA 06 A9 00 - .byte $99, $10, $03, $A9, $0D, $8D, $E7, $06, $60, $AC, $FA, $06, $B9, $10, $03, $F0 ; CPU:$CD34 PRG:4D34 99 10 03 A9 0D 8D E7 06 60 AC FA 06 B9 10 03 F0 - .byte $7C, $AC, $FA, $06, $A9, $02, $99, $0A, $03, $AD, $FA, $06, $C9, $7E, $B0, $0D ; CPU:$CD44 PRG:4D44 7C AC FA 06 A9 02 99 0A 03 AD FA 06 C9 7E B0 0D - .byte $A0, $00, $A9, $00, $8D, $B5, $06, $8D, $B4, $06, $4C, $6B, $CD, $A0, $14, $A9 ; CPU:$CD54 PRG:4D54 A0 00 A9 00 8D B5 06 8D B4 06 4C 6B CD A0 14 A9 - .byte $00, $8D, $C9, $06, $8D, $C8, $06, $AD, $AD, $06, $C9, $01, $F0, $04, $C9, $02 ; CPU:$CD64 PRG:4D64 00 8D C9 06 8D C8 06 AD AD 06 C9 01 F0 04 C9 02 - .byte $D0, $11, $AD, $F7, $06, $C9, $08, $B0, $05, $A9, $04, $4C, $95, $CD, $A9, $08 ; CPU:$CD74 PRG:4D74 D0 11 AD F7 06 C9 08 B0 05 A9 04 4C 95 CD A9 08 - .byte $4C, $95, $CD, $AD, $F5, $06, $C9, $10, $B0, $05, $A9, $01, $4C, $95, $CD, $A9 ; CPU:$CD84 PRG:4D84 4C 95 CD AD F5 06 C9 10 B0 05 A9 01 4C 95 CD A9 - .byte $02, $20, $0B, $DD, $AD, $FA, $06, $C9, $7E, $B0, $0C, $8D, $B1, $06, $20, $F5 ; CPU:$CD94 PRG:4D94 02 20 0B DD AD FA 06 C9 7E B0 0C 8D B1 06 20 F5 - .byte $C3, $8C, $B0, $06, $4C, $B4, $CD, $8D, $C5, $06, $20, $F5, $C3, $8C, $C4, $06 ; CPU:$CDA4 PRG:4DA4 C3 8C B0 06 4C B4 CD 8D C5 06 20 F5 C3 8C C4 06 - .byte $EE, $E7, $06, $A9, $FF, $8D, $A1, $06, $A9, $00, $8D, $A0, $06, $60, $A9, $01 ; CPU:$CDB4 PRG:4DB4 EE E7 06 A9 FF 8D A1 06 A9 00 8D A0 06 60 A9 01 - .byte $8D, $70, $05, $A9, $01, $8D, $A2, $06, $AC, $9C, $06, $AD, $F5, $06, $85, $A3 ; CPU:$CDC4 PRG:4DC4 8D 70 05 A9 01 8D A2 06 AC 9C 06 AD F5 06 85 A3 - .byte $AD, $F6, $06, $85, $A4, $AD, $F7, $06, $85, $A8, $AD, $F8, $06, $85, $A9, $A0 ; CPU:$CDD4 PRG:4DD4 AD F6 06 85 A4 AD F7 06 85 A8 AD F8 06 85 A9 A0 - .byte $00, $A5, $A3, $C9, $0D, $B0, $07, $C4, $0A, $F0, $35, $4C, $0D, $CE, $A0, $80 ; CPU:$CDE4 PRG:4DE4 00 A5 A3 C9 0D B0 07 C4 0A F0 35 4C 0D CE A0 80 - .byte $C9, $0B, $90, $0B, $C9, $15, $B0, $07, $C4, $0A, $F0, $24, $4C, $0D, $CE, $A0 ; CPU:$CDF4 PRG:4DF4 C9 0B 90 0B C9 15 B0 07 C4 0A F0 24 4C 0D CE A0 - .byte $FF, $C9, $13, $90, $04, $C4, $0A, $F0, $17, $A0, $00, $A5, $A3, $C9, $0B, $90 ; CPU:$CE04 PRG:4E04 FF C9 13 90 04 C4 0A F0 17 A0 00 A5 A3 C9 0B 90 - .byte $08, $A0, $80, $C9, $15, $90, $02, $A0, $FF, $84, $0A, $A9, $00, $8D, $0A, $04 ; CPU:$CE14 PRG:4E14 08 A0 80 C9 15 90 02 A0 FF 84 0A A9 00 8D 0A 04 - .byte $A9, $00, $8D, $EC, $06, $8D, $9B, $06, $AD, $9C, $06, $85, $94, $4C, $86, $CC ; CPU:$CE24 PRG:4E24 A9 00 8D EC 06 8D 9B 06 AD 9C 06 85 94 4C 86 CC - .byte $A5, $43, $05, $44, $D0, $08, $20, $44, $87, $A9, $09, $4C, $D9, $C7, $AD, $A1 ; CPU:$CE34 PRG:4E34 A5 43 05 44 D0 08 20 44 87 A9 09 4C D9 C7 AD A1 - .byte $06, $D0, $16, $A0, $00, $AD, $FA, $06, $C9, $7E, $90, $05, $A5, $47, $F0, $0C ; CPU:$CE44 PRG:4E44 06 D0 16 A0 00 AD FA 06 C9 7E 90 05 A5 47 F0 0C - .byte $C8, $A9, $40, $99, $16, $00, $4C, $60, $CE, $CE, $A1, $06, $A5, $47, $D0, $2D ; CPU:$CE54 PRG:4E54 C8 A9 40 99 16 00 4C 60 CE CE A1 06 A5 47 D0 2D - .byte $AD, $FA, $06, $C9, $7E, $90, $26, $A5, $2E, $29, $7F, $D0, $20, $A9, $40, $85 ; CPU:$CE64 PRG:4E64 AD FA 06 C9 7E 90 26 A5 2E 29 7F D0 20 A9 40 85 - .byte $17, $8D, $F5, $07, $AC, $FA, $06, $A9, $00, $99, $0A, $03, $A9, $00, $8D, $12 ; CPU:$CE74 PRG:4E74 17 8D F5 07 AC FA 06 A9 00 99 0A 03 A9 00 8D 12 - .byte $05, $8D, $13, $05, $8D, $10, $05, $8D, $11, $05, $20, $B7, $CF, $AD, $AD, $06 ; CPU:$CE84 PRG:4E84 05 8D 13 05 8D 10 05 8D 11 05 20 B7 CF AD AD 06 - .byte $C9, $01, $D0, $18, $AD, $1A, $04, $D0, $12, $4C, $C8, $CE, $A9, $02, $8D, $E8 ; CPU:$CE94 PRG:4E94 C9 01 D0 18 AD 1A 04 D0 12 4C C8 CE A9 02 8D E8 - .byte $06, $A9, $00, $8D, $A8, $06, $A9, $06, $8D, $E7, $06, $60, $AD, $A0, $06, $D0 ; CPU:$CEA4 PRG:4EA4 06 A9 00 8D A8 06 A9 06 8D E7 06 60 AD A0 06 D0 - .byte $08, $AD, $FA, $06, $C5, $94, $F0, $01, $60, $EE, $A0, $06, $AD, $A0, $06, $C9 ; CPU:$CEB4 PRG:4EB4 08 AD FA 06 C5 94 F0 01 60 EE A0 06 AD A0 06 C9 - .byte $08, $F0, $01, $60, $AD, $FA, $06, $C9, $7E, $90, $D1, $A5, $47, $D0, $CD, $A9 ; CPU:$CEC4 PRG:4EC4 08 F0 01 60 AD FA 06 C9 7E 90 D1 A5 47 D0 CD A9 - .byte $00, $8D, $F5, $07, $4C, $A0, $CE, $AD, $E7, $06, $C9, $11, $F0, $41, $C9, $06 ; CPU:$CED4 PRG:4ED4 00 8D F5 07 4C A0 CE AD E7 06 C9 11 F0 41 C9 06 - .byte $D0, $C9, $AD, $A8, $06, $D0, $C4, $AD, $1A, $04, $8D, $A8, $06, $A5, $A3, $8D ; CPU:$CEE4 PRG:4EE4 D0 C9 AD A8 06 D0 C4 AD 1A 04 8D A8 06 A5 A3 8D - .byte $F5, $06, $A5, $A4, $8D, $F6, $06, $A5, $A8, $8D, $F7, $06, $A5, $A9, $8D, $F8 ; CPU:$CEF4 PRG:4EF4 F5 06 A5 A4 8D F6 06 A5 A8 8D F7 06 A5 A9 8D F8 - .byte $06, $A9, $0B, $8D, $E7, $06, $A9, $00, $8D, $EC, $06, $8D, $9B, $06, $AD, $A8 ; CPU:$CF04 PRG:4F04 06 A9 0B 8D E7 06 A9 00 8D EC 06 8D 9B 06 AD A8 - .byte $06, $C9, $01, $F0, $04, $C9, $02, $D0, $05, $A9, $03, $8D, $E8, $06, $60, $AD ; CPU:$CF14 PRG:4F14 06 C9 01 F0 04 C9 02 D0 05 A9 03 8D E8 06 60 AD - .byte $A8, $06, $D0, $09, $AD, $1A, $04, $8D, $A8, $06, $D0, $01, $60, $AD, $1A, $04 ; CPU:$CF24 PRG:4F24 A8 06 D0 09 AD 1A 04 8D A8 06 D0 01 60 AD 1A 04 - .byte $C9, $01, $F0, $0F, $C9, $02, $F0, $0B, $C9, $04, $F0, $17, $AD, $01, $04, $C9 ; CPU:$CF34 PRG:4F34 C9 01 F0 0F C9 02 F0 0B C9 04 F0 17 AD 01 04 C9 - .byte $80, $B0, $10, $AD, $03, $04, $09, $20, $8D, $03, $04, $AD, $07, $04, $09, $20 ; CPU:$CF44 PRG:4F44 80 B0 10 AD 03 04 09 20 8D 03 04 AD 07 04 09 20 - .byte $8D, $07, $04, $AD, $2F, $04, $C9, $0A, $D0, $1B, $AD, $A8, $06, $C9, $01, $F0 ; CPU:$CF54 PRG:4F54 8D 07 04 AD 2F 04 C9 0A D0 1B AD A8 06 C9 01 F0 - .byte $04, $C9, $02, $D0, $10, $20, $96, $87, $AD, $A8, $06, $8D, $AF, $06, $A8, $88 ; CPU:$CF64 PRG:4F64 04 C9 02 D0 10 20 96 87 AD A8 06 8D AF 06 A8 88 - .byte $A9, $07, $99, $E9, $06, $60, $AD, $E7, $06, $C9, $06, $F0, $61, $A5, $2E, $29 ; CPU:$CF74 PRG:4F74 A9 07 99 E9 06 60 AD E7 06 C9 06 F0 61 A5 2E 29 - .byte $3F, $F0, $01, $60, $AD, $B1, $06, $CD, $B9, $06, $D0, $23, $AD, $BA, $06, $D0 ; CPU:$CF84 PRG:4F84 3F F0 01 60 AD B1 06 CD B9 06 D0 23 AD BA 06 D0 - .byte $4D, $AD, $B1, $06, $C9, $00, $D0, $0D, $A9, $15, $8D, $B9, $06, $A9, $01, $8D ; CPU:$CF94 PRG:4F94 4D AD B1 06 C9 00 D0 0D A9 15 8D B9 06 A9 01 8D - .byte $B8, $06, $4C, $B3, $CF, $A9, $00, $8D, $B9, $06, $A9, $00, $8D, $B8, $06, $A5 ; CPU:$CFA4 PRG:4FA4 B8 06 4C B3 CF A9 00 8D B9 06 A9 00 8D B8 06 A5 - .byte $47, $F0, $2B, $AD, $C5, $06, $CD, $CD, $06, $D0, $23, $AD, $CE, $06, $D0, $1E ; CPU:$CFB4 PRG:4FB4 47 F0 2B AD C5 06 CD CD 06 D0 23 AD CE 06 D0 1E - .byte $AD, $C5, $06, $C9, $7E, $D0, $0D, $A9, $93, $8D, $CD, $06, $A9, $07, $8D, $CC ; CPU:$CFC4 PRG:4FC4 AD C5 06 C9 7E D0 0D A9 93 8D CD 06 A9 07 8D CC - .byte $06, $4C, $E2, $CF, $A9, $7E, $8D, $CD, $06, $A9, $06, $8D, $CC, $06, $60, $A2 ; CPU:$CFD4 PRG:4FD4 06 4C E2 CF A9 7E 8D CD 06 A9 06 8D CC 06 60 A2 - .byte $00, $BD, $1A, $D5, $A8, $B9, $00, $06, $8D, $AA, $06, $BD, $1B, $D5, $A8, $B9 ; CPU:$CFE4 PRG:4FE4 00 BD 1A D5 A8 B9 00 06 8D AA 06 BD 1B D5 A8 B9 - .byte $00, $06, $8D, $AB, $06, $A8, $AD, $AA, $06, $99, $13, $03, $A8, $AD, $AB, $06 ; CPU:$CFF4 PRG:4FF4 00 06 8D AB 06 A8 AD AA 06 99 13 03 A8 AD AB 06 - .byte $99, $13, $03, $E8, $E8, $E0, $0C, $D0, $D8, $60, $AD, $E7, $06, $C9, $11, $F0 ; CPU:$D004 PRG:5004 99 13 03 E8 E8 E0 0C D0 D8 60 AD E7 06 C9 11 F0 - .byte $01, $60, $A5, $47, $D0, $FB, $AD, $2F, $04, $C9, $03, $D0, $3B, $A9, $00, $85 ; CPU:$D014 PRG:5014 01 60 A5 47 D0 FB AD 2F 04 C9 03 D0 3B A9 00 85 - .byte $16, $85, $17, $20, $7E, $86, $29, $07, $A8, $B9, $8E, $D2, $8D, $A4, $06, $B9 ; CPU:$D024 PRG:5024 16 85 17 20 7E 86 29 07 A8 B9 8E D2 8D A4 06 B9 - .byte $96, $D2, $8D, $A5, $06, $A9, $20, $8D, $A7, $06, $AD, $30, $04, $29, $01, $D0 ; CPU:$D034 PRG:5034 96 D2 8D A5 06 A9 20 8D A7 06 AD 30 04 29 01 D0 - .byte $11, $B9, $9E, $D2, $8D, $A4, $06, $B9, $A6, $D2, $8D, $A5, $06, $A9, $00, $8D ; CPU:$D044 PRG:5044 11 B9 9E D2 8D A4 06 B9 A6 D2 8D A5 06 A9 00 8D - .byte $A7, $06, $A9, $FF, $8D, $A6, $06, $60, $AD, $30, $04, $29, $01, $D0, $08, $AD ; CPU:$D054 PRG:5054 A7 06 A9 FF 8D A6 06 60 AD 30 04 29 01 D0 08 AD - .byte $2F, $04, $C9, $09, $F0, $24, $60, $AD, $2F, $04, $C9, $05, $D0, $F1, $AD, $A7 ; CPU:$D064 PRG:5064 2F 04 C9 09 F0 24 60 AD 2F 04 C9 05 D0 F1 AD A7 - .byte $06, $F0, $04, $CE, $A7, $06, $60, $AD, $A4, $06, $85, $90, $AD, $A5, $06, $85 ; CPU:$D074 PRG:5074 06 F0 04 CE A7 06 60 AD A4 06 85 90 AD A5 06 85 - .byte $91, $A0, $01, $B1, $90, $09, $82, $85, $17, $60, $AD, $A7, $06, $F0, $15, $CE ; CPU:$D084 PRG:5084 91 A0 01 B1 90 09 82 85 17 60 AD A7 06 F0 15 CE - .byte $A7, $06, $AC, $A6, $06, $AD, $A4, $06, $85, $90, $AD, $A5, $06, $85, $91, $B1 ; CPU:$D094 PRG:5094 A7 06 AC A6 06 AD A4 06 85 90 AD A5 06 85 91 B1 - .byte $90, $85, $17, $60, $EE, $A6, $06, $AC, $A6, $06, $AD, $A4, $06, $85, $90, $AD ; CPU:$D0A4 PRG:50A4 90 85 17 60 EE A6 06 AC A6 06 AD A4 06 85 90 AD - .byte $A5, $06, $85, $91, $B1, $90, $8D, $A7, $06, $EE, $A6, $06, $4C, $96, $D0, $AD ; CPU:$D0B4 PRG:50B4 A5 06 85 91 B1 90 8D A7 06 EE A6 06 4C 96 D0 AD - .byte $AD, $06, $C9, $04, $F0, $01, $60, $A0, $00, $A5, $A3, $38, $F9, $01, $06, $8D ; CPU:$D0C4 PRG:50C4 AD 06 C9 04 F0 01 60 A0 00 A5 A3 38 F9 01 06 8D - .byte $9A, $06, $10, $09, $A9, $00, $38, $ED, $9A, $06, $8D, $9A, $06, $AD, $9A, $06 ; CPU:$D0D4 PRG:50D4 9A 06 10 09 A9 00 38 ED 9A 06 8D 9A 06 AD 9A 06 - .byte $C9, $03, $B0, $10, $B9, $01, $06, $18, $69, $03, $C9, $1C, $90, $03, $38, $E9 ; CPU:$D0E4 PRG:50E4 C9 03 B0 10 B9 01 06 18 69 03 C9 1C 90 03 38 E9 - .byte $06, $99, $01, $06, $A5, $A8, $38, $F9, $03, $06, $8D, $9A, $06, $10, $09, $A9 ; CPU:$D0F4 PRG:50F4 06 99 01 06 A5 A8 38 F9 03 06 8D 9A 06 10 09 A9 - .byte $00, $38, $ED, $9A, $06, $8D, $9A, $06, $AD, $9A, $06, $C9, $03, $B0, $10, $B9 ; CPU:$D104 PRG:5104 00 38 ED 9A 06 8D 9A 06 AD 9A 06 C9 03 B0 10 B9 - .byte $03, $06, $18, $69, $03, $C9, $0D, $90, $03, $38, $E9, $06, $99, $03, $06, $98 ; CPU:$D114 PRG:5114 03 06 18 69 03 C9 0D 90 03 38 E9 06 99 03 06 98 - .byte $18, $69, $0A, $C9, $32, $F0, $06, $C9, $6E, $F0, $09, $D0, $03, $18, $69, $0A ; CPU:$D124 PRG:5124 18 69 0A C9 32 F0 06 C9 6E F0 09 D0 03 18 69 0A - .byte $A8, $4C, $CD, $D0, $60, $A2, $00, $A0, $00, $A5, $A8, $D9, $F5, $D2, $90, $05 ; CPU:$D134 PRG:5134 A8 4C CD D0 60 A2 00 A0 00 A5 A8 D9 F5 D2 90 05 - .byte $C8, $C0, $02, $D0, $F6, $A5, $A3, $DD, $F0, $D2, $90, $08, $C8, $C8, $C8, $E8 ; CPU:$D144 PRG:5144 C8 C0 02 D0 F6 A5 A3 DD F0 D2 90 08 C8 C8 C8 E8 - .byte $E0, $05, $D0, $F3, $B9, $09, $D3, $AA, $8E, $E2, $06, $E8, $8E, $E3, $06, $60 ; CPU:$D154 PRG:5154 E0 05 D0 F3 B9 09 D3 AA 8E E2 06 E8 8E E3 06 60 - .byte $A9, $01, $85, $02, $A9, $00, $85, $03, $85, $90, $AD, $E2, $06, $10, $08, $A0 ; CPU:$D164 PRG:5164 A9 01 85 02 A9 00 85 03 85 90 AD E2 06 10 08 A0 - .byte $3D, $84, $02, $A0, $7E, $84, $90, $20, $9A, $D1, $A9, $3D, $85, $02, $A9, $01 ; CPU:$D174 PRG:5174 3D 84 02 A0 7E 84 90 20 9A D1 A9 3D 85 02 A9 01 - .byte $85, $03, $A9, $7E, $85, $90, $AD, $E3, $06, $10, $07, $A0, $01, $84, $02, $88 ; CPU:$D184 PRG:5184 85 03 A9 7E 85 90 AD E3 06 10 07 A0 01 84 02 88 - .byte $84, $90, $20, $9A, $D1, $60, $85, $05, $29, $7F, $D0, $01, $60, $AA, $AD, $E7 ; CPU:$D194 PRG:5194 84 90 20 9A D1 60 85 05 29 7F D0 01 60 AA AD E7 - .byte $06, $C9, $06, $D0, $1C, $A5, $94, $CD, $32, $06, $F0, $15, $CD, $6E, $06, $F0 ; CPU:$D1A4 PRG:51A4 06 C9 06 D0 1C A5 94 CD 32 06 F0 15 CD 6E 06 F0 - .byte $10, $A5, $94, $C9, $7E, $B0, $05, $A5, $90, $F0, $06, $60, $A5, $90, $D0, $01 ; CPU:$D1B4 PRG:51B4 10 A5 94 C9 7E B0 05 A5 90 F0 06 60 A5 90 D0 01 - .byte $60, $A0, $05, $84, $04, $CA, $8A, $18, $0A, $85, $00, $0A, $65, $00, $0A, $AA ; CPU:$D1C4 PRG:51C4 60 A0 05 84 04 CA 8A 18 0A 85 00 0A 65 00 0A AA - .byte $A4, $02, $A5, $04, $85, $00, $A5, $05, $29, $80, $F0, $03, $4C, $63, $D2, $A9 ; CPU:$D1D4 PRG:51D4 A4 02 A5 04 85 00 A5 05 29 80 F0 03 4C 63 D2 A9 - .byte $10, $18, $7D, $17, $D4, $99, $00, $06, $AD, $E7, $06, $C9, $06, $D0, $06, $B9 ; CPU:$D1E4 PRG:51E4 10 18 7D 17 D4 99 00 06 AD E7 06 C9 06 D0 06 B9 - .byte $00, $06, $99, $00, $06, $A9, $00, $99, $01, $06, $20, $7E, $86, $E8, $98, $18 ; CPU:$D1F4 PRG:51F4 00 06 99 00 06 A9 00 99 01 06 20 7E 86 E8 98 18 - .byte $69, $0A, $A8, $C6, $00, $D0, $D8, $A5, $04, $85, $00, $C9, $06, $F0, $01, $E8 ; CPU:$D204 PRG:5204 69 0A A8 C6 00 D0 D8 A5 04 85 00 C9 06 F0 01 E8 - .byte $A4, $02, $A9, $08, $18, $7D, $17, $D4, $99, $02, $06, $AD, $E7, $06, $C9, $06 ; CPU:$D214 PRG:5214 A4 02 A9 08 18 7D 17 D4 99 02 06 AD E7 06 C9 06 - .byte $D0, $06, $B9, $02, $06, $99, $02, $06, $A9, $00, $99, $03, $06, $E8, $98, $18 ; CPU:$D224 PRG:5224 D0 06 B9 02 06 99 02 06 A9 00 99 03 06 E8 98 18 - .byte $69, $0A, $48, $A9, $00, $A4, $90, $99, $10, $03, $B9, $11, $03, $D0, $05, $20 ; CPU:$D234 PRG:5234 69 0A 48 A9 00 A4 90 99 10 03 B9 11 03 D0 05 20 - .byte $7E, $86, $29, $1F, $68, $A8, $A5, $90, $18, $69, $15, $85, $90, $C6, $00, $D0 ; CPU:$D244 PRG:5244 7E 86 29 1F 68 A8 A5 90 18 69 15 85 90 C6 00 D0 - .byte $C1, $A4, $03, $B9, $E2, $06, $99, $E4, $06, $A9, $00, $99, $E2, $06, $60, $A9 ; CPU:$D254 PRG:5254 C1 A4 03 B9 E2 06 99 E4 06 A9 00 99 E2 06 60 A9 - .byte $10, $38, $FD, $17, $D4, $99, $00, $06, $AD, $E7, $06, $C9, $06, $D0, $06, $B9 ; CPU:$D264 PRG:5264 10 38 FD 17 D4 99 00 06 AD E7 06 C9 06 D0 06 B9 - .byte $00, $06, $99, $00, $06, $A9, $00, $99, $01, $06, $20, $7E, $86, $E8, $98, $18 ; CPU:$D274 PRG:5274 00 06 99 00 06 A9 00 99 01 06 20 7E 86 E8 98 18 - .byte $69, $0A, $A8, $C6, $00, $D0, $D8, $4C, $0B, $D2, $AE, $B2, $B6, $BA, $BE, $AE ; CPU:$D284 PRG:5284 69 0A A8 C6 00 D0 D8 4C 0B D2 AE B2 B6 BA BE AE - .byte $BE, $B6, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $C2, $C4, $C8, $CA, $CE, $C2 ; CPU:$D294 PRG:5294 BE B6 D2 D2 D2 D2 D2 D2 D2 D2 C2 C4 C8 CA CE C2 - .byte $CE, $C8, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $20, $08, $C0, $08, $08, $08 ; CPU:$D2A4 PRG:52A4 CE C8 D2 D2 D2 D2 D2 D2 D2 D2 20 08 C0 08 08 08 - .byte $D0, $00, $20, $00, $C0, $00, $08, $04, $C0, $00, $20, $04, $C0, $04, $FF, $08 ; CPU:$D2B4 PRG:52B4 D0 00 20 00 C0 00 08 04 C0 00 20 04 C0 04 FF 08 - .byte $08, $08, $F8, $00, $FF, $00, $08, $04, $F8, $00, $FF, $04, $03, $C0, $02, $C0 ; CPU:$D2C4 PRG:52C4 08 08 F8 00 FF 00 08 04 F8 00 FF 04 03 C0 02 C0 - .byte $03, $C0, $0D, $30, $1C, $70, $02, $B0, $1C, $60, $0D, $20, $04, $E0, $05, $80 ; CPU:$D2D4 PRG:52D4 03 C0 0D 30 1C 70 02 B0 1C 60 0D 20 04 E0 05 80 - .byte $04, $E0, $09, $30, $1B, $40, $05, $80, $1B, $40, $09, $30, $07, $0D, $10, $13 ; CPU:$D2E4 PRG:52E4 04 E0 09 30 1B 40 05 80 1B 40 09 30 07 0D 10 13 - .byte $19, $06, $0A, $91, $8F, $93, $8B, $89, $8D, $85, $83, $87, $05, $03, $07, $0B ; CPU:$D2F4 PRG:52F4 19 06 0A 91 8F 93 8B 89 8D 85 83 87 05 03 07 0B - .byte $09, $0D, $11, $0F, $13, $91, $8F, $93, $8B, $89, $8D, $85, $83, $87, $05, $03 ; CPU:$D304 PRG:5304 09 0D 11 0F 13 91 8F 93 8B 89 8D 85 83 87 05 03 - .byte $07, $0B, $09, $0D, $11, $0F, $13, $00, $0A, $14, $1E, $28, $32, $3C, $46, $50 ; CPU:$D314 PRG:5314 07 0B 09 0D 11 0F 13 00 0A 14 1E 28 32 3C 46 50 - .byte $5A, $64, $6E, $FF, $FF, $FF, $FC, $FC, $F4, $FC, $FF, $01, $FD, $03, $00, $01 ; CPU:$D324 PRG:5324 5A 64 6E FF FF FF FC FC F4 FC FF 01 FD 03 00 01 - .byte $02, $01, $05, $05, $0C, $FC, $00, $04, $FE, $02, $00, $05, $01, $05, $FA, $FA ; CPU:$D334 PRG:5334 02 01 05 05 0C FC 00 04 FE 02 00 05 01 05 FA FA - .byte $0C, $FC, $00, $04, $FD, $03, $00, $FC, $03, $FC, $07, $07, $F4, $FD, $00, $04 ; CPU:$D344 PRG:5344 0C FC 00 04 FD 03 00 FC 03 FC 07 07 F4 FD 00 04 - .byte $FD, $03, $00, $06, $01, $05, $FA, $FA, $0C, $FE, $FC, $04, $FD, $03, $00, $FC ; CPU:$D354 PRG:5354 FD 03 00 06 01 05 FA FA 0C FE FC 04 FD 03 00 FC - .byte $03, $FC, $08, $06, $F4, $FD, $FC, $04, $FE, $02, $00, $04, $01, $06, $FC, $FC ; CPU:$D364 PRG:5364 03 FC 08 06 F4 FD FC 04 FE 02 00 04 01 06 FC FC - .byte $0C, $FC, $04, $02, $FD, $03, $00, $FE, $03, $FE, $06, $08, $F4, $FD, $04, $04 ; CPU:$D374 PRG:5374 0C FC 04 02 FD 03 00 FE 03 FE 06 08 F4 FD 04 04 - .byte $FE, $02, $00, $07, $04, $07, $FA, $FA, $0C, $FC, $00, $04, $FD, $03, $00, $FC ; CPU:$D384 PRG:5384 FE 02 00 07 04 07 FA FA 0C FC 00 04 FD 03 00 FC - .byte $06, $FC, $09, $09, $F4, $FD, $00, $04, $FD, $03, $00, $09, $04, $06, $FC, $FC ; CPU:$D394 PRG:5394 06 FC 09 09 F4 FD 00 04 FD 03 00 09 04 06 FC FC - .byte $0C, $FC, $FC, $01, $FD, $03, $00, $FE, $06, $FE, $0B, $08, $F4, $FD, $FC, $04 ; CPU:$D3A4 PRG:53A4 0C FC FC 01 FD 03 00 FE 06 FE 0B 08 F4 FD FC 04 - .byte $FD, $02, $00, $05, $04, $09, $FC, $FC, $0C, $FE, $04, $04, $FD, $03, $00, $FE ; CPU:$D3B4 PRG:53B4 FD 02 00 05 04 09 FC FC 0C FE 04 04 FD 03 00 FE - .byte $06, $FE, $07, $0A, $F4, $FD, $04, $04, $00, $02, $00, $09, $07, $09, $FE, $FE ; CPU:$D3C4 PRG:53C4 06 FE 07 0A F4 FD 04 04 00 02 00 09 07 09 FE FE - .byte $0C, $FC, $00, $04, $FD, $03, $00, $FF, $09, $FF, $0B, $0B, $F4, $FD, $00, $04 ; CPU:$D3D4 PRG:53D4 0C FC 00 04 FD 03 00 FF 09 FF 0B 0B F4 FD 00 04 - .byte $FD, $03, $00, $09, $07, $07, $FB, $FB, $0C, $FC, $00, $04, $FC, $04, $00, $FA ; CPU:$D3E4 PRG:53E4 FD 03 00 09 07 07 FB FB 0C FC 00 04 FC 04 00 FA - .byte $07, $FA, $0A, $09, $F4, $FD, $00, $03, $FC, $03, $00, $07, $06, $09, $FA, $FA ; CPU:$D3F4 PRG:53F4 07 FA 0A 09 F4 FD 00 03 FC 03 00 07 06 09 FA FA - .byte $0C, $FC, $01, $04, $FD, $04, $00, $FA, $08, $FA, $09, $0B, $F4, $FD, $00, $03 ; CPU:$D404 PRG:5404 0C FC 01 04 FD 04 00 FA 08 FA 09 0B F4 FD 00 03 - .byte $FC, $04, $00, $FF, $FF, $FF, $FC, $FC, $F4, $FC, $FF, $01, $FD, $03, $00, $01 ; CPU:$D414 PRG:5414 FC 04 00 FF FF FF FC FC F4 FC FF 01 FD 03 00 01 - .byte $02, $01, $05, $05, $0C, $FC, $00, $04, $FE, $02, $00, $05, $01, $05, $FA, $FA ; CPU:$D424 PRG:5424 02 01 05 05 0C FC 00 04 FE 02 00 05 01 05 FA FA - .byte $0C, $FC, $00, $04, $FD, $03, $00, $FC, $03, $FC, $07, $07, $F4, $FD, $00, $04 ; CPU:$D434 PRG:5434 0C FC 00 04 FD 03 00 FC 03 FC 07 07 F4 FD 00 04 - .byte $FD, $03, $00, $06, $01, $04, $F6, $F8, $0C, $FC, $00, $04, $FD, $04, $00, $FB ; CPU:$D444 PRG:5444 FD 03 00 06 01 04 F6 F8 0C FC 00 04 FD 04 00 FB - .byte $05, $FE, $0A, $07, $F4, $FD, $00, $03, $FC, $04, $00, $02, $04, $07, $FA, $F7 ; CPU:$D454 PRG:5454 05 FE 0A 07 F4 FD 00 03 FC 04 00 02 04 07 FA F7 - .byte $0C, $FC, $00, $02, $FD, $04, $00, $FF, $02, $FE, $07, $0A, $F4, $FC, $FE, $04 ; CPU:$D464 PRG:5464 0C FC 00 02 FD 04 00 FF 02 FE 07 0A F4 FC FE 04 - .byte $FE, $05, $00, $07, $04, $07, $FA, $FA, $0C, $FC, $00, $04, $FD, $03, $00, $FC ; CPU:$D474 PRG:5474 FE 05 00 07 04 07 FA FA 0C FC 00 04 FD 03 00 FC - .byte $06, $FC, $09, $09, $F4, $FD, $00, $04, $FD, $03, $00, $08, $06, $06, $FF, $FF ; CPU:$D484 PRG:5484 06 FC 09 09 F4 FD 00 04 FD 03 00 08 06 06 FF FF - .byte $0C, $FD, $01, $04, $FC, $03, $00, $02, $03, $01, $09, $08, $F4, $FD, $01, $04 ; CPU:$D494 PRG:5494 0C FD 01 04 FC 03 00 02 03 01 09 08 F4 FD 01 04 - .byte $00, $05, $00, $05, $03, $08, $F7, $FE, $0C, $FD, $00, $01, $FD, $03, $00, $01 ; CPU:$D4A4 PRG:54A4 00 05 00 05 03 08 F7 FE 0C FD 00 01 FD 03 00 01 - .byte $05, $01, $09, $0A, $F4, $FC, $FE, $03, $FC, $04, $00, $0B, $07, $0B, $FC, $FC ; CPU:$D4B4 PRG:54B4 05 01 09 0A F4 FC FE 03 FC 04 00 0B 07 0B FC FC - .byte $0C, $FC, $00, $04, $FD, $03, $00, $FF, $05, $FF, $06, $0A, $F4, $FD, $04, $04 ; CPU:$D4C4 PRG:54C4 0C FC 00 04 FD 03 00 FF 05 FF 06 0A F4 FD 04 04 - .byte $FE, $04, $00, $09, $09, $0A, $FC, $FC, $0C, $FC, $01, $04, $FD, $04, $00, $FF ; CPU:$D4D4 PRG:54D4 FE 04 00 09 09 0A FC FC 0C FC 01 04 FD 04 00 FF - .byte $05, $FF, $0A, $0A, $F4, $FD, $FE, $04, $FD, $03, $00, $0A, $09, $0A, $FC, $FC ; CPU:$D4E4 PRG:54E4 05 FF 0A 0A F4 FD FE 04 FD 03 00 0A 09 0A FC FC - .byte $0C, $FC, $FD, $02, $FD, $04, $00, $FF, $08, $FF, $07, $0B, $F4, $FD, $02, $04 ; CPU:$D4F4 PRG:54F4 0C FC FD 02 FD 04 00 FF 08 FF 07 0B F4 FD 02 04 - .byte $FE, $FD, $00, $03, $07, $00, $05, $04, $06, $00, $01, $02, $08, $00, $08, $09 ; CPU:$D504 PRG:5504 FE FD 00 03 07 00 05 04 06 00 01 02 08 00 08 09 - .byte $01, $05, $04, $06, $02, $0A, $00, $5A, $0A, $46, $14, $64, $1E, $3C, $28, $50 ; CPU:$D514 PRG:5514 01 05 04 06 02 0A 00 5A 0A 46 14 64 1E 3C 28 50 - .byte $32, $6E, $28, $1E, $14, $00, $50, $3C, $64, $5A, $03, $03, $03, $04, $04, $02 ; CPU:$D524 PRG:5524 32 6E 28 1E 14 00 50 3C 64 5A 03 03 03 04 04 02 - .byte $02, $02, $03, $03, $D0, $B0, $80, $40, $01, $08, $09, $01, $05, $04, $06, $02 ; CPU:$D534 PRG:5534 02 02 03 03 D0 B0 80 40 01 08 09 01 05 04 06 02 - .byte $0A, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D544 PRG:5544 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $43, $52, $45, $41, $54, $45, $20, $42, $59, $20, $20, $20, $20, $20 ; CPU:$D554 PRG:5554 20 20 43 52 45 41 54 45 20 42 59 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D564 PRG:5564 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $48, $2E, $59, $55, $4B, $41, $4D, $49, $20, $20, $20 ; CPU:$D574 PRG:5574 20 20 20 20 20 48 2E 59 55 4B 41 4D 49 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D584 PRG:5584 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $5B, $20, $53, $43, $50, $4C, $43, $54, $52, $4C, $20, $5D, $20 ; CPU:$D594 PRG:5594 20 20 20 5B 20 53 43 50 4C 43 54 52 4C 20 5D 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5A4 PRG:55A4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5B4 PRG:55B4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $44, $41, $54, $45, $20, $26, $20, $54, $49, $4D, $45, $20, $20 ; CPU:$D5C4 PRG:55C4 20 20 20 44 41 54 45 20 26 20 54 49 4D 45 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5D4 PRG:55D4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $38, $35, $2F, $30, $32, $2F, $31, $38, $20, $20, $20, $20, $20 ; CPU:$D5E4 PRG:55E4 20 20 20 38 35 2F 30 32 2F 31 38 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5F4 PRG:55F4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $30, $33, $3A, $31, $30, $3A, $31, $39, $20, $20 ; CPU:$D604 PRG:5604 20 20 20 20 20 20 30 33 3A 31 30 3A 31 39 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D614 PRG:5614 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $AD, $E7, $06, $C9, $11, $D0, $03, $4C, $6A, $E4, $C9, $15, $F0, $05, $C9 ; CPU:$D624 PRG:5624 20 AD E7 06 C9 11 D0 03 4C 6A E4 C9 15 F0 05 C9 - .byte $06, $F0, $01, $60, $A0, $69, $A5, $16, $AE, $25, $01, $D0, $0C, $A0, $E7, $A5 ; CPU:$D634 PRG:5634 06 F0 01 60 A0 69 A5 16 AE 25 01 D0 0C A0 E7 A5 - .byte $17, $AE, $2B, $01, $D0, $03, $4C, $96, $D7, $84, $90, $85, $0C, $20, $97, $D7 ; CPU:$D644 PRG:5644 17 AE 2B 01 D0 03 4C 96 D7 84 90 85 0C 20 97 D7 - .byte $A4, $90, $A9, $F7, $85, $11, $A2, $AE, $86, $15, $A2, $43, $86, $14, $20, $85 ; CPU:$D654 PRG:5654 A4 90 A9 F7 85 11 A2 AE 86 15 A2 43 86 14 20 85 - .byte $D9, $A2, $37, $86, $14, $A2, $6A, $86, $15, $C0, $69, $F0, $08, $A2, $97, $86 ; CPU:$D664 PRG:5664 D9 A2 37 86 14 A2 6A 86 15 C0 69 F0 08 A2 97 86 - .byte $14, $A2, $C9, $86, $15, $C8, $C8, $20, $85, $D9, $A5, $0C, $A6, $90, $9D, $0E ; CPU:$D674 PRG:5674 14 A2 C9 86 15 C8 C8 20 85 D9 A5 0C A6 90 9D 0E - .byte $03, $20, $E1, $D8, $A6, $90, $A9, $40, $85, $0D, $E8, $E8, $A0, $00, $20, $AF ; CPU:$D684 PRG:5684 03 20 E1 D8 A6 90 A9 40 85 0D E8 E8 A0 00 20 AF - .byte $B9, $B0, $3F, $A9, $40, $85, $0D, $A6, $90, $20, $AF, $B9, $90, $34, $BD, $0A ; CPU:$D694 PRG:5694 B9 B0 3F A9 40 85 0D A6 90 20 AF B9 90 34 BD 0A - .byte $03, $29, $32, $D0, $2D, $A5, $A9, $85, $10, $A5, $A8, $20, $7C, $D9, $C9, $5C ; CPU:$D6A4 PRG:56A4 03 29 32 D0 2D A5 A9 85 10 A5 A8 20 7C D9 C9 5C - .byte $90, $20, $C9, $8F, $B0, $1C, $A6, $90, $BD, $00, $03, $C9, $03, $D0, $13, $A5 ; CPU:$D6B4 PRG:56B4 90 20 C9 8F B0 1C A6 90 BD 00 03 C9 03 D0 13 A5 - .byte $A2, $10, $02, $49, $FF, $F0, $0B, $A9, $18, $9D, $00, $03, $A9, $20, $9D, $0A ; CPU:$D6C4 PRG:56C4 A2 10 02 49 FF F0 0B A9 18 9D 00 03 A9 20 9D 0A - .byte $03, $60, $A6, $90, $BD, $00, $03, $C9, $03, $D0, $3F, $BD, $0A, $03, $29, $10 ; CPU:$D6D4 PRG:56D4 03 60 A6 90 BD 00 03 C9 03 D0 3F BD 0A 03 29 10 - .byte $D0, $24, $BD, $0C, $03, $29, $50, $C9, $50, $F0, $1A, $BD, $0A, $03, $29, $04 ; CPU:$D6E4 PRG:56E4 D0 24 BD 0C 03 29 50 C9 50 F0 1A BD 0A 03 29 04 - .byte $D0, $13, $20, $44, $D7, $A9, $12, $9D, $0A, $03, $A9, $16, $9D, $00, $03, $20 ; CPU:$D6F4 PRG:56F4 D0 13 20 44 D7 A9 12 9D 0A 03 A9 16 9D 00 03 20 - .byte $58, $D9, $20, $48, $87, $60, $A9, $12, $9D, $00, $03, $20, $44, $D7, $A9, $32 ; CPU:$D704 PRG:5704 58 D9 20 48 87 60 A9 12 9D 00 03 20 44 D7 A9 32 - .byte $9D, $0A, $03, $20, $58, $D9, $20, $48, $87, $60, $BD, $00, $03, $C9, $19, $D0 ; CPU:$D714 PRG:5714 9D 0A 03 20 58 D9 20 48 87 60 BD 00 03 C9 19 D0 - .byte $2B, $BD, $0C, $03, $29, $50, $C9, $50, $F0, $68, $BD, $0A, $03, $29, $10, $D0 ; CPU:$D724 PRG:5724 2B BD 0C 03 29 50 C9 50 F0 68 BD 0A 03 29 10 D0 - .byte $03, $20, $12, $87, $20, $48, $87, $20, $44, $D7, $A9, $32, $9D, $0A, $03, $60 ; CPU:$D734 PRG:5734 03 20 12 87 20 48 87 20 44 D7 A9 32 9D 0A 03 60 - .byte $A6, $94, $A9, $00, $9D, $0A, $03, $A6, $90, $86, $94, $60, $C9, $13, $D0, $32 ; CPU:$D744 PRG:5744 A6 94 A9 00 9D 0A 03 A6 90 86 94 60 C9 13 D0 32 - .byte $BD, $0E, $03, $29, $C0, $F0, $3B, $BD, $0A, $03, $29, $04, $D0, $34, $A0, $00 ; CPU:$D754 PRG:5754 BD 0E 03 29 C0 F0 3B BD 0A 03 29 04 D0 34 A0 00 - .byte $E0, $7E, $90, $02, $A0, $14, $B9, $B8, $06, $D9, $B0, $06, $F0, $24, $FE, $00 ; CPU:$D764 PRG:5764 E0 7E 90 02 A0 14 B9 B8 06 D9 B0 06 F0 24 FE 00 - .byte $03, $A9, $40, $9D, $0D, $03, $99, $BA, $06, $20, $AA, $B8, $A9, $26, $9D, $0A ; CPU:$D774 PRG:5774 03 A9 40 9D 0D 03 99 BA 06 20 AA B8 A9 26 9D 0A - .byte $03, $60, $BD, $00, $03, $C9, $15, $D0, $09, $A9, $40, $E4, $94, $D0, $03, $4C ; CPU:$D784 PRG:5784 03 60 BD 00 03 C9 15 D0 09 A9 40 E4 94 D0 03 4C - .byte $05, $B7, $60, $A5, $47, $D0, $FB, $A6, $90, $10, $F7, $A9, $00, $85, $0C, $BD ; CPU:$D794 PRG:5794 05 B7 60 A5 47 D0 FB A6 90 10 F7 A9 00 85 0C BD - .byte $00, $03, $C9, $03, $F0, $0D, $BD, $00, $03, $C9, $13, $D0, $05, $A4, $17, $4C ; CPU:$D7A4 PRG:57A4 00 03 C9 03 F0 0D BD 00 03 C9 13 D0 05 A4 17 4C - .byte $CA, $D8, $60, $A5, $94, $C9, $7E, $F0, $F9, $A5, $7B, $0A, $0A, $A8, $A5, $A3 ; CPU:$D7B4 PRG:57B4 CA D8 60 A5 94 C9 7E F0 F9 A5 7B 0A 0A A8 A5 A3 - .byte $D9, $CD, $D8, $B0, $70, $AD, $3A, $04, $D0, $06, $AD, $C0, $06, $8D, $3A, $04 ; CPU:$D7C4 PRG:57C4 D9 CD D8 B0 70 AD 3A 04 D0 06 AD C0 06 8D 3A 04 - .byte $A2, $E7, $BD, $03, $03, $85, $11, $BD, $02, $03, $A0, $04, $26, $11, $2A, $88 ; CPU:$D7D4 PRG:57D4 A2 E7 BD 03 03 85 11 BD 02 03 A0 04 26 11 2A 88 - .byte $D0, $FA, $38, $ED, $3A, $04, $10, $02, $49, $FF, $29, $FE, $D0, $27, $AD, $39 ; CPU:$D7E4 PRG:57E4 D0 FA 38 ED 3A 04 10 02 49 FF 29 FE D0 27 AD 39 - .byte $04, $F0, $06, $CE, $39, $04, $4C, $19, $D8, $A5, $7B, $0A, $0A, $AA, $BD, $CF ; CPU:$D7F4 PRG:57F4 04 F0 06 CE 39 04 4C 19 D8 A5 7B 0A 0A AA BD CF - .byte $D8, $8D, $39, $04, $A5, $44, $6A, $BD, $CE, $D8, $90, $02, $49, $FF, $18, $6D ; CPU:$D804 PRG:5804 D8 8D 39 04 A5 44 6A BD CE D8 90 02 49 FF 18 6D - .byte $C0, $06, $8D, $3A, $04, $A9, $00, $8D, $25, $04, $AD, $3A, $04, $A0, $04, $4A ; CPU:$D814 PRG:5814 C0 06 8D 3A 04 A9 00 8D 25 04 AD 3A 04 A0 04 4A - .byte $6E, $25, $04, $88, $D0, $F9, $8D, $24, $04, $A9, $1C, $8D, $1F, $04, $A9, $00 ; CPU:$D824 PRG:5824 6E 25 04 88 D0 F9 8D 24 04 A9 1C 8D 1F 04 A9 00 - .byte $8D, $20, $04, $F0, $37, $A4, $94, $B9, $0A, $03, $29, $03, $D0, $15, $A5, $AB ; CPU:$D834 PRG:5834 8D 20 04 F0 37 A4 94 B9 0A 03 29 03 D0 15 A5 AB - .byte $05, $AC, $F0, $0F, $AD, $37, $04, $D0, $23, $A9, $01, $8D, $37, $04, $20, $89 ; CPU:$D844 PRG:5844 05 AC F0 0F AD 37 04 D0 23 A9 01 8D 37 04 20 89 - .byte $BB, $D0, $19, $A6, $A8, $A4, $A9, $8E, $24, $04, $8C, $25, $04, $A6, $A3, $A4 ; CPU:$D854 PRG:5854 BB D0 19 A6 A8 A4 A9 8E 24 04 8C 25 04 A6 A3 A4 - .byte $A4, $8E, $1F, $04, $8C, $20, $04, $A9, $00, $8D, $37, $04, $A6, $90, $38, $BD ; CPU:$D864 PRG:5864 A4 8E 1F 04 8C 20 04 A9 00 8D 37 04 A6 90 38 BD - .byte $03, $03, $ED, $25, $04, $85, $10, $BD, $02, $03, $ED, $24, $04, $20, $7C, $D9 ; CPU:$D874 PRG:5874 03 03 ED 25 04 85 10 BD 02 03 ED 24 04 20 7C D9 - .byte $85, $11, $A0, $00, $A5, $11, $10, $02, $49, $FF, $29, $FE, $F0, $08, $A0, $08 ; CPU:$D884 PRG:5884 85 11 A0 00 A5 11 10 02 49 FF 29 FE F0 08 A0 08 - .byte $A5, $11, $10, $02, $A0, $04, $84, $0C, $A6, $90, $38, $BD, $05, $03, $ED, $20 ; CPU:$D894 PRG:5894 A5 11 10 02 A0 04 84 0C A6 90 38 BD 05 03 ED 20 - .byte $04, $85, $10, $BD, $04, $03, $ED, $1F, $04, $20, $7C, $D9, $85, $11, $A0, $00 ; CPU:$D8A4 PRG:58A4 04 85 10 BD 04 03 ED 1F 04 20 7C D9 85 11 A0 00 - .byte $A5, $11, $10, $02, $49, $FF, $29, $FE, $F0, $08, $A0, $02, $A5, $11, $10, $02 ; CPU:$D8B4 PRG:58B4 A5 11 10 02 49 FF 29 FE F0 08 A0 02 A5 11 10 02 - .byte $A0, $01, $98, $05, $0C, $A8, $84, $0C, $60, $1C, $10, $20, $00, $1B, $10, $20 ; CPU:$D8C4 PRG:58C4 A0 01 98 05 0C A8 84 0C 60 1C 10 20 00 1B 10 20 - .byte $00, $1A, $10, $20, $00, $17, $10, $20, $00, $16, $10, $20, $00, $A6, $90, $BD ; CPU:$D8D4 PRG:58D4 00 1A 10 20 00 17 10 20 00 16 10 20 00 A6 90 BD - .byte $00, $03, $C9, $19, $F0, $03, $4C, $7B, $D9, $A9, $50, $9D, $0C, $03, $BC, $09 ; CPU:$D8E4 PRG:58E4 00 03 C9 19 F0 03 4C 7B D9 A9 50 9D 0C 03 BC 09 - .byte $03, $38, $BD, $05, $03, $E5, $A4, $85, $10, $BD, $04, $03, $E5, $A3, $10, $0D ; CPU:$D8F4 PRG:58F4 03 38 BD 05 03 E5 A4 85 10 BD 04 03 E5 A3 10 0D - .byte $85, $11, $A9, $00, $38, $E5, $10, $85, $10, $A9, $00, $E5, $11, $20, $7C, $D9 ; CPU:$D904 PRG:5904 85 11 A9 00 38 E5 10 85 10 A9 00 E5 11 20 7C D9 - .byte $B0, $65, $D9, $F3, $DB, $B0, $60, $A6, $90, $C8, $18, $A9, $40, $7D, $03, $03 ; CPU:$D914 PRG:5914 B0 65 D9 F3 DB B0 60 A6 90 C8 18 A9 40 7D 03 03 - .byte $85, $10, $A9, $00, $7D, $02, $03, $85, $11, $38, $A5, $10, $E5, $A9, $85, $10 ; CPU:$D924 PRG:5924 85 10 A9 00 7D 02 03 85 11 38 A5 10 E5 A9 85 10 - .byte $A5, $11, $E5, $A8, $30, $41, $20, $7C, $D9, $D9, $F3, $DB, $B0, $39, $C8, $A5 ; CPU:$D934 PRG:5934 A5 11 E5 A8 30 41 20 7C D9 D9 F3 DB B0 39 C8 A5 - .byte $AE, $85, $10, $A5, $AD, $20, $7C, $D9, $D9, $F3, $DB, $B0, $2A, $A6, $90, $A9 ; CPU:$D944 PRG:5944 AE 85 10 A5 AD 20 7C D9 D9 F3 DB B0 2A A6 90 A9 - .byte $00, $9D, $0C, $03, $A9, $0F, $38, $E9, $05, $AA, $A9, $00, $95, $A1, $95, $A2 ; CPU:$D954 PRG:5954 00 9D 0C 03 A9 0F 38 E9 05 AA A9 00 95 A1 95 A2 - .byte $95, $A0, $8A, $D0, $F1, $A6, $90, $BD, $04, $03, $85, $A3, $BD, $05, $03, $85 ; CPU:$D964 PRG:5964 95 A0 8A D0 F1 A6 90 BD 04 03 85 A3 BD 05 03 85 - .byte $A4, $A9, $00, $85, $AD, $85, $AE, $60, $A2, $04, $26, $10, $2A, $CA, $D0, $FA ; CPU:$D974 PRG:5974 A4 A9 00 85 AD 85 AE 60 A2 04 26 10 2A CA D0 FA - .byte $60, $B9, $03, $03, $85, $10, $B9, $02, $03, $20, $7C, $D9, $C5, $14, $B0, $08 ; CPU:$D984 PRG:5984 60 B9 03 03 85 10 B9 02 03 20 7C D9 C5 14 B0 08 - .byte $48, $A5, $0C, $25, $11, $85, $0C, $68, $38, $66, $11, $C5, $15, $90, $06, $A5 ; CPU:$D994 PRG:5994 48 A5 0C 25 11 85 0C 68 38 66 11 C5 15 90 06 A5 - .byte $0C, $25, $11, $85, $0C, $38, $66, $11, $60, $20, $48, $87, $A6, $79, $BD, $01 ; CPU:$D9A4 PRG:59A4 0C 25 11 85 0C 38 66 11 60 20 48 87 A6 79 BD 01 - .byte $03, $29, $0F, $A8, $B9, $C4, $DB, $9D, $09, $03, $A9, $00, $9D, $08, $03, $FE ; CPU:$D9B4 PRG:59B4 03 29 0F A8 B9 C4 DB 9D 09 03 A9 00 9D 08 03 FE - .byte $00, $03, $A6, $79, $BD, $08, $03, $F0, $06, $DE, $08, $03, $4C, $AD, $87, $BC ; CPU:$D9C4 PRG:59C4 00 03 A6 79 BD 08 03 F0 06 DE 08 03 4C AD 87 BC - .byte $09, $03, $B9, $CD, $DB, $C8, $C9, $FF, $F0, $2D, $C9, $FE, $D0, $19, $20, $0E ; CPU:$D9D4 PRG:59D4 09 03 B9 CD DB C8 C9 FF F0 2D C9 FE D0 19 20 0E - .byte $DA, $A9, $40, $85, $AE, $A9, $00, $85, $AD, $85, $AB, $85, $AC, $85, $AA, $A6 ; CPU:$D9E4 PRG:59E4 DA A9 40 85 AE A9 00 85 AD 85 AB 85 AC 85 AA A6 - .byte $79, $20, $AD, $87, $4C, $12, $87, $9D, $06, $03, $98, $9D, $09, $03, $A9, $02 ; CPU:$D9F4 PRG:59F4 79 20 AD 87 4C 12 87 9D 06 03 98 9D 09 03 A9 02 - .byte $9D, $08, $03, $20, $AD, $87, $60, $4C, $4B, $91, $98, $9D, $09, $03, $A9, $00 ; CPU:$DA04 PRG:5A04 9D 08 03 20 AD 87 60 4C 4B 91 98 9D 09 03 A9 00 - .byte $85, $AD, $A9, $60, $85, $AE, $BD, $01, $03, $0A, $A8, $B9, $4A, $DA, $48, $B9 ; CPU:$DA14 PRG:5A14 85 AD A9 60 85 AE BD 01 03 0A A8 B9 4A DA 48 B9 - .byte $4B, $DA, $A0, $05, $20, $2E, $DA, $68, $A0, $00, $48, $A9, $00, $85, $0D, $68 ; CPU:$DA24 PRG:5A24 4B DA A0 05 20 2E DA 68 A0 00 48 A9 00 85 0D 68 - .byte $09, $00, $10, $02, $C6, $0D, $18, $7D, $03, $03, $99, $A4, $00, $A5, $0D, $7D ; CPU:$DA34 PRG:5A34 09 00 10 02 C6 0D 18 7D 03 03 99 A4 00 A5 0D 7D - .byte $02, $03, $99, $A3, $00, $E8, $E8, $60, $00, $E0, $20, $E0, $20, $00, $10, $10 ; CPU:$DA44 PRG:5A44 02 03 99 A3 00 E8 E8 60 00 E0 20 E0 20 00 10 10 - .byte $00, $20, $F0, $10, $E0, $00, $E0, $E0, $A6, $79, $A9, $03, $9D, $00, $03, $4C ; CPU:$DA54 PRG:5A54 00 20 F0 10 E0 00 E0 E0 A6 79 A9 03 9D 00 03 4C - .byte $F9, $90, $A6, $79, $86, $90, $20, $89, $BB, $F0, $ED, $A6, $79, $A0, $01, $38 ; CPU:$DA64 PRG:5A64 F9 90 A6 79 86 90 20 89 BB F0 ED A6 79 A0 01 38 - .byte $AD, $25, $04, $FD, $03, $03, $AD, $24, $04, $FD, $02, $03, $30, $02, $A0, $05 ; CPU:$DA74 PRG:5A74 AD 25 04 FD 03 03 AD 24 04 FD 02 03 30 02 A0 05 - .byte $BD, $01, $03, $29, $0F, $84, $0C, $C5, $0C, $D0, $CD, $B9, $EA, $DB, $9D, $09 ; CPU:$DA84 PRG:5A84 BD 01 03 29 0F 84 0C C5 0C D0 CD B9 EA DB 9D 09 - .byte $03, $A9, $00, $9D, $08, $03, $FE, $00, $03, $A6, $79, $A9, $03, $E0, $69, $F0 ; CPU:$DA94 PRG:5A94 03 A9 00 9D 08 03 FE 00 03 A6 79 A9 03 E0 69 F0 - .byte $02, $A9, $07, $9D, $01, $03, $BD, $08, $03, $F0, $06, $DE, $08, $03, $4C, $AD ; CPU:$DAA4 PRG:5AA4 02 A9 07 9D 01 03 BD 08 03 F0 06 DE 08 03 4C AD - .byte $87, $BC, $09, $03, $C8, $C8, $C8, $B9, $F3, $DB, $C8, $C9, $FF, $F0, $27, $9D ; CPU:$DAB4 PRG:5AB4 87 BC 09 03 C8 C8 C8 B9 F3 DB C8 C9 FF F0 27 9D - .byte $06, $03, $B9, $F3, $DB, $18, $7D, $03, $03, $9D, $03, $03, $C8, $B9, $F3, $DB ; CPU:$DAC4 PRG:5AC4 06 03 B9 F3 DB 18 7D 03 03 9D 03 03 C8 B9 F3 DB - .byte $7D, $02, $03, $9D, $02, $03, $C8, $98, $9D, $09, $03, $20, $AD, $87, $A6, $79 ; CPU:$DAD4 PRG:5AD4 7D 02 03 9D 02 03 C8 98 9D 09 03 20 AD 87 A6 79 - .byte $A9, $02, $9D, $08, $03, $60, $BD, $0A, $03, $29, $10, $D0, $03, $4C, $4B, $91 ; CPU:$DAE4 PRG:5AE4 A9 02 9D 08 03 60 BD 0A 03 29 10 D0 03 4C 4B 91 - .byte $A9, $12, $9D, $00, $03, $A6, $94, $A9, $80, $9D, $0A, $03, $A6, $79, $A9, $05 ; CPU:$DAF4 PRG:5AF4 A9 12 9D 00 03 A6 94 A9 80 9D 0A 03 A6 79 A9 05 - .byte $A0, $00, $E0, $69, $F0, $04, $A9, $0B, $A0, $14, $99, $B0, $06, $8A, $99, $B1 ; CPU:$DB04 PRG:5B04 A0 00 E0 69 F0 04 A9 0B A0 14 99 B0 06 8A 99 B1 - .byte $06, $85, $94, $A9, $02, $1D, $0A, $03, $9D, $0A, $03, $FE, $00, $03, $A6, $79 ; CPU:$DB14 PRG:5B14 06 85 94 A9 02 1D 0A 03 9D 0A 03 FE 00 03 A6 79 - .byte $A0, $00, $E0, $7E, $90, $02, $A0, $14, $B9, $B1, $06, $D9, $B9, $06, $F0, $15 ; CPU:$DB24 PRG:5B24 A0 00 E0 7E 90 02 A0 14 B9 B1 06 D9 B9 06 F0 15 - .byte $20, $DF, $93, $20, $02, $94, $B9, $99, $DB, $9D, $09, $03, $BC, $09, $03, $B9 ; CPU:$DB34 PRG:5B34 20 DF 93 20 02 94 B9 99 DB 9D 09 03 BC 09 03 B9 - .byte $A2, $DB, $9D, $06, $03, $20, $AD, $87, $A6, $79, $A9, $04, $9D, $08, $03, $20 ; CPU:$DB44 PRG:5B44 A2 DB 9D 06 03 20 AD 87 A6 79 A9 04 9D 08 03 20 - .byte $12, $DA, $60, $A6, $79, $BD, $08, $03, $F0, $07, $DE, $08, $03, $20, $AD, $87 ; CPU:$DB54 PRG:5B54 12 DA 60 A6 79 BD 08 03 F0 07 DE 08 03 20 AD 87 - .byte $60, $A9, $03, $9D, $08, $03, $BC, $09, $03, $B9, $A2, $DB, $C8, $C9, $FF, $F0 ; CPU:$DB64 PRG:5B64 60 A9 03 9D 08 03 BC 09 03 B9 A2 DB C8 C9 FF F0 - .byte $22, $C9, $FE, $D0, $13, $9D, $09, $03, $A9, $06, $9D, $08, $03, $A9, $00, $85 ; CPU:$DB74 PRG:5B74 22 C9 FE D0 13 9D 09 03 A9 06 9D 08 03 A9 00 85 - .byte $AD, $85, $AE, $FE, $00, $03, $D0, $03, $9D, $06, $03, $98, $9D, $09, $03, $20 ; CPU:$DB84 PRG:5B84 AD 85 AE FE 00 03 D0 03 9D 06 03 98 9D 09 03 20 - .byte $AD, $87, $60, $4C, $4B, $91, $00, $07, $0E, $1C, $15, $1C, $0E, $07, $33, $25 ; CPU:$DB94 PRG:5B94 AD 87 60 4C 4B 91 00 07 0E 1C 15 1C 0E 07 33 25 - .byte $33, $34, $FE, $25, $FF, $35, $28, $35, $36, $FE, $28, $FF, $3D, $2B, $37, $38 ; CPU:$DBA4 PRG:5BA4 33 34 FE 25 FF 35 28 35 36 FE 28 FF 3D 2B 37 38 - .byte $FE, $2B, $FF, $3B, $31, $3B, $3C, $FE, $31, $FF, $3E, $2E, $39, $3A, $FE, $2E ; CPU:$DBB4 PRG:5BB4 FE 2B FF 3B 31 3B 3C FE 31 FF 3E 2E 39 3A FE 2E - .byte $FF, $00, $06, $0C, $18, $12, $18, $0C, $06, $25, $26, $FE, $24, $33, $FF, $28 ; CPU:$DBC4 PRG:5BC4 FF 00 06 0C 18 12 18 0C 06 25 26 FE 24 33 FF 28 - .byte $29, $FE, $27, $35, $FF, $2B, $2C, $FE, $2A, $3D, $FF, $31, $32, $FE, $30, $3B ; CPU:$DBD4 PRG:5BD4 29 FE 27 35 FF 2B 2C FE 2A 3D FF 31 32 FE 30 3B - .byte $FF, $2E, $2F, $FE, $2D, $3E, $FF, $00, $00, $00, $22, $22, $22, $00, $00, $00 ; CPU:$DBE4 PRG:5BE4 FF 2E 2F FE 2D 3E FF 00 00 00 22 22 22 00 00 00 - .byte $00, $00, $64, $00, $00, $08, $10, $14, $65, $80, $FF, $08, $10, $14, $66, $80 ; CPU:$DBF4 PRG:5BF4 00 00 64 00 00 08 10 14 65 80 FF 08 10 14 66 80 - .byte $FF, $08, $10, $14, $67, $00, $00, $08, $10, $14, $FF, $00, $00, $08, $15, $14 ; CPU:$DC04 PRG:5C04 FF 08 10 14 67 00 00 08 10 14 FF 00 00 08 15 14 - .byte $FF, $00, $00, $00, $60, $00, $00, $08, $15, $14, $61, $80, $00, $08, $15, $14 ; CPU:$DC14 PRG:5C14 FF 00 00 00 60 00 00 08 15 14 61 80 00 08 15 14 - .byte $62, $80, $00, $08, $15, $14, $63, $00, $00, $08, $15, $14, $FF, $00, $00, $08 ; CPU:$DC24 PRG:5C24 62 80 00 08 15 14 63 00 00 08 15 14 FF 00 00 08 - .byte $15, $14, $FF, $AE, $B1, $06, $20, $40, $DC, $AE, $C5, $06, $E0, $69, $F0, $3A ; CPU:$DC34 PRG:5C34 15 14 FF AE B1 06 20 40 DC AE C5 06 E0 69 F0 3A - .byte $E0, $E7, $F0, $36, $A0, $00, $8A, $D9, $00, $06, $F0, $08, $18, $98, $69, $0A ; CPU:$DC44 PRG:5C44 E0 E7 F0 36 A0 00 8A D9 00 06 F0 08 18 98 69 0A - .byte $A8, $4C, $4A, $DC, $84, $0D, $20, $93, $DC, $90, $1F, $A9, $00, $E0, $7E, $90 ; CPU:$DC54 PRG:5C54 A8 4C 4A DC 84 0D 20 93 DC 90 1F A9 00 E0 7E 90 - .byte $02, $A9, $3C, $A0, $05, $84, $0C, $48, $A8, $20, $93, $DC, $68, $B0, $04, $C5 ; CPU:$DC64 PRG:5C64 02 A9 3C A0 05 84 0C 48 A8 20 93 DC 68 B0 04 C5 - .byte $0D, $D0, $08, $18, $69, $0A, $C6, $0C, $D0, $ED, $60, $AA, $A4, $0D, $BD, $00 ; CPU:$DC74 PRG:5C74 0D D0 08 18 69 0A C6 0C D0 ED 60 AA A4 0D BD 00 - .byte $06, $85, $0C, $B9, $00, $06, $9D, $00, $06, $A5, $0C, $99, $00, $06, $60, $38 ; CPU:$DC84 PRG:5C84 06 85 0C B9 00 06 9D 00 06 A5 0C 99 00 06 60 38 - .byte $BD, $05, $03, $F9, $02, $06, $85, $10, $BD, $04, $03, $F9, $01, $06, $85, $11 ; CPU:$DC94 PRG:5C94 BD 05 03 F9 02 06 85 10 BD 04 03 F9 01 06 85 11 - .byte $38, $BD, $03, $03, $F9, $04, $06, $85, $12, $BD, $02, $03, $F9, $03, $06, $85 ; CPU:$DCA4 PRG:5CA4 38 BD 03 03 F9 04 06 85 12 BD 02 03 F9 03 06 85 - .byte $13, $86, $14, $84, $15, $20, $CF, $DC, $B0, $0C, $C8, $A5, $12, $85, $10, $A5 ; CPU:$DCB4 PRG:5CB4 13 86 14 84 15 20 CF DC B0 0C C8 A5 12 85 10 A5 - .byte $13, $85, $11, $20, $CF, $DC, $A6, $14, $A4, $15, $60, $BE, $05, $06, $A5, $11 ; CPU:$DCC4 PRG:5CC4 13 85 11 20 CF DC A6 14 A4 15 60 BE 05 06 A5 11 - .byte $10, $0E, $38, $A9, $00, $E5, $10, $85, $10, $A9, $00, $E5, $11, $BE, $07, $06 ; CPU:$DCD4 PRG:5CD4 10 0E 38 A9 00 E5 10 85 10 A9 00 E5 11 BE 07 06 - .byte $86, $11, $20, $7C, $D9, $B0, $02, $C5, $11, $60, $A0, $00, $20, $FA, $DC, $A0 ; CPU:$DCE4 PRG:5CE4 86 11 20 7C D9 B0 02 C5 11 60 A0 00 20 FA DC A0 - .byte $14, $A5, $47, $D0, $01, $60, $B9, $BA, $06, $D0, $60, $A6, $16, $98, $F0, $02 ; CPU:$DCF4 PRG:5CF4 14 A5 47 D0 01 60 B9 BA 06 D0 60 A6 16 98 F0 02 - .byte $A6, $17, $8A, $29, $0F, $F0, $4F, $85, $15, $84, $14, $B9, $B1, $06, $A0, $00 ; CPU:$DD04 PRG:5D04 A6 17 8A 29 0F F0 4F 85 15 84 14 B9 B1 06 A0 00 - .byte $84, $11, $A6, $14, $F0, $02, $A0, $3C, $D9, $00, $06, $F0, $11, $48, $98, $18 ; CPU:$DD14 PRG:5D14 84 11 A6 14 F0 02 A0 3C D9 00 06 F0 11 48 98 18 - .byte $69, $0A, $A8, $18, $A9, $10, $65, $11, $85, $11, $68, $4C, $1C, $DD, $A6, $15 ; CPU:$DD24 PRG:5D24 69 0A A8 18 A9 10 65 11 85 11 68 4C 1C DD A6 15 - .byte $CA, $BD, $07, $D5, $A4, $14, $F0, $03, $BD, $BC, $DD, $0A, $18, $65, $11, $AA ; CPU:$DD34 PRG:5D34 CA BD 07 D5 A4 14 F0 03 BD BC DD 0A 18 65 11 AA - .byte $BD, $C4, $DD, $D9, $B2, $06, $D0, $14, $BD, $C5, $DD, $D9, $B3, $06, $D0, $0C ; CPU:$DD44 PRG:5D44 BD C4 DD D9 B2 06 D0 14 BD C5 DD D9 B3 06 D0 0C - .byte $B9, $B5, $06, $F0, $1A, $60, $A9, $00, $99, $B5, $06, $60, $BD, $C4, $DD, $99 ; CPU:$DD54 PRG:5D54 B9 B5 06 F0 1A 60 A9 00 99 B5 06 60 BD C4 DD 99 - .byte $B2, $06, $BD, $C5, $DD, $99, $B3, $06, $A9, $00, $A4, $14, $99, $B4, $06, $B9 ; CPU:$DD64 PRG:5D64 B2 06 BD C5 DD 99 B3 06 A9 00 A4 14 99 B4 06 B9 - .byte $B2, $06, $85, $10, $B9, $B3, $06, $85, $11, $B9, $B4, $06, $A8, $B1, $10, $C9 ; CPU:$DD74 PRG:5D74 B2 06 85 10 B9 B3 06 85 11 B9 B4 06 A8 B1 10 C9 - .byte $FF, $F0, $E5, $0A, $0A, $18, $71, $10, $0A, $A4, $14, $F0, $03, $18, $69, $3C ; CPU:$DD84 PRG:5D84 FF F0 E5 0A 0A 18 71 10 0A A4 14 F0 03 18 69 3C - .byte $AA, $BD, $00, $06, $99, $B9, $06, $20, $F5, $C3, $98, $A4, $14, $99, $B8, $06 ; CPU:$DD94 PRG:5D94 AA BD 00 06 99 B9 06 20 F5 C3 98 A4 14 99 B8 06 - .byte $A9, $0A, $99, $B5, $06, $BE, $B4, $06, $E8, $8A, $99, $B4, $06, $A9, $01, $99 ; CPU:$DDA4 PRG:5DA4 A9 0A 99 B5 06 BE B4 06 E8 8A 99 B4 06 A9 01 99 - .byte $BE, $06, $A9, $08, $99, $BF, $06, $60, $07, $03, $00, $05, $06, $04, $00, $01 ; CPU:$DDB4 PRG:5DB4 BE 06 A9 08 99 BF 06 60 07 03 00 05 06 04 00 01 - .byte $08, $02, $43, $DE, $45, $DE, $49, $DE, $4C, $DE, $50, $DE, $54, $DE, $59, $DE ; CPU:$DDC4 PRG:5DC4 08 02 43 DE 45 DE 49 DE 4C DE 50 DE 54 DE 59 DE - .byte $5D, $DE, $26, $DE, $29, $DE, $2D, $DE, $30, $DE, $34, $DE, $37, $DE, $3B, $DE ; CPU:$DDD4 PRG:5DD4 5D DE 26 DE 29 DE 2D DE 30 DE 34 DE 37 DE 3B DE - .byte $3F, $DE, $60, $DE, $64, $DE, $67, $DE, $6A, $DE, $6D, $DE, $6F, $DE, $72, $DE ; CPU:$DDE4 PRG:5DE4 3F DE 60 DE 64 DE 67 DE 6A DE 6D DE 6F DE 72 DE - .byte $76, $DE, $7B, $DE, $7D, $DE, $81, $DE, $85, $DE, $89, $DE, $8D, $DE, $90, $DE ; CPU:$DDF4 PRG:5DF4 76 DE 7B DE 7D DE 81 DE 85 DE 89 DE 8D DE 90 DE - .byte $92, $DE, $94, $DE, $98, $DE, $9C, $DE, $A0, $DE, $A4, $DE, $A6, $DE, $A8, $DE ; CPU:$DE04 PRG:5E04 92 DE 94 DE 98 DE 9C DE A0 DE A4 DE A6 DE A8 DE - .byte $AA, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE ; CPU:$DE14 PRG:5E14 AA DE AD DE AD DE AD DE AD DE AD DE AD DE AD DE - .byte $AD, $DE, $00, $03, $FF, $00, $03, $02, $FF, $00, $02, $FF, $02, $04, $00, $FF ; CPU:$DE24 PRG:5E24 AD DE 00 03 FF 00 03 02 FF 00 02 FF 02 04 00 FF - .byte $02, $04, $FF, $02, $04, $05, $FF, $03, $04, $05, $FF, $00, $03, $05, $FF, $03 ; CPU:$DE34 PRG:5E34 02 04 FF 02 04 05 FF 03 04 05 FF 00 03 05 FF 03 - .byte $FF, $03, $01, $02, $FF, $01, $02, $FF, $04, $01, $02, $FF, $01, $02, $04, $FF ; CPU:$DE44 PRG:5E44 FF 03 01 02 FF 01 02 FF 04 01 02 FF 01 02 04 FF - .byte $01, $02, $04, $05, $FF, $03, $04, $05, $FF, $03, $05, $FF, $01, $00, $03, $FF ; CPU:$DE54 PRG:5E54 01 02 04 05 FF 03 04 05 FF 03 05 FF 01 00 03 FF - .byte $01, $00, $FF, $01, $00, $FF, $01, $00, $FF, $04, $FF, $04, $05, $FF, $04, $03 ; CPU:$DE64 PRG:5E64 01 00 FF 01 00 FF 01 00 FF 04 FF 04 05 FF 04 03 - .byte $05, $FF, $01, $04, $03, $05, $FF, $00, $FF, $00, $01, $02, $FF, $01, $00, $02 ; CPU:$DE74 PRG:5E74 05 FF 01 04 03 05 FF 00 FF 00 01 02 FF 01 00 02 - .byte $FF, $02, $01, $04, $FF, $01, $02, $04, $FF, $04, $05, $FF, $05, $FF, $05, $FF ; CPU:$DE84 PRG:5E84 FF 02 01 04 FF 01 02 04 FF 04 05 FF 05 FF 05 FF - .byte $01, $00, $03, $FF, $01, $00, $03, $FF, $02, $01, $00, $FF, $02, $01, $00, $FF ; CPU:$DE94 PRG:5E94 01 00 03 FF 01 00 03 FF 02 01 00 FF 02 01 00 FF - .byte $02, $FF, $05, $FF, $05, $FF, $03, $05, $FF, $01, $00, $02, $03, $04, $FF, $AD ; CPU:$DEA4 PRG:5EA4 02 FF 05 FF 05 FF 03 05 FF 01 00 02 03 04 FF AD - .byte $2C, $04, $A9, $10, $8D, $2C, $04, $AD, $2B, $04, $C9, $05, $D0, $07, $A5, $A4 ; CPU:$DEB4 PRG:5EB4 2C 04 A9 10 8D 2C 04 AD 2B 04 C9 05 D0 07 A5 A4 - .byte $8D, $2D, $04, $A9, $00, $8D, $2B, $04, $A2, $00, $A0, $3C, $A5, $94, $C9, $7E ; CPU:$DEC4 PRG:5EC4 8D 2D 04 A9 00 8D 2B 04 A2 00 A0 3C A5 94 C9 7E - .byte $90, $04, $A2, $3C, $A0, $00, $A9, $06, $85, $15, $86, $14, $85, $13, $84, $12 ; CPU:$DED4 PRG:5ED4 90 04 A2 3C A0 00 A9 06 85 15 86 14 85 13 84 12 - .byte $AD, $2B, $04, $0A, $0A, $6D, $2B, $04, $0A, $A8, $C8, $A2, $00, $B1, $14, $95 ; CPU:$DEE4 PRG:5EE4 AD 2B 04 0A 0A 6D 2B 04 0A A8 C8 A2 00 B1 14 95 - .byte $0C, $E8, $C8, $E0, $04, $D0, $F6, $38, $A5, $A4, $E5, $0D, $A5, $A3, $E5, $0C ; CPU:$DEF4 PRG:5EF4 0C E8 C8 E0 04 D0 F6 38 A5 A4 E5 0D A5 A3 E5 0C - .byte $85, $11, $38, $A5, $A9, $E5, $0F, $A5, $A8, $E5, $0E, $85, $10, $AE, $2B, $04 ; CPU:$DF04 PRG:5F04 85 11 38 A5 A9 E5 0F A5 A8 E5 0E 85 10 AE 2B 04 - .byte $BD, $71, $DF, $0A, $0A, $7D, $71, $DF, $0A, $69, $04, $8D, $15, $04, $BD, $71 ; CPU:$DF14 PRG:5F14 BD 71 DF 0A 0A 7D 71 DF 0A 69 04 8D 15 04 BD 71 - .byte $DF, $C9, $03, $90, $0C, $4D, $2D, $04, $6A, $90, $06, $A5, $11, $49, $FF, $85 ; CPU:$DF24 PRG:5F24 DF C9 03 90 0C 4D 2D 04 6A 90 06 A5 11 49 FF 85 - .byte $11, $A2, $00, $A9, $E0, $A4, $10, $10, $04, $A2, $FE, $EA, $EA, $AC, $15, $04 ; CPU:$DF34 PRG:5F34 11 A2 00 A9 E0 A4 10 10 04 A2 FE EA EA AC 15 04 - .byte $18, $65, $0F, $91, $12, $88, $8A, $65, $0E, $91, $12, $88, $8C, $15, $04, $A2 ; CPU:$DF44 PRG:5F44 18 65 0F 91 12 88 8A 65 0E 91 12 88 8C 15 04 A2 - .byte $00, $A9, $E0, $A4, $11, $10, $04, $A2, $FE, $EA, $EA, $AC, $15, $04, $18, $65 ; CPU:$DF54 PRG:5F54 00 A9 E0 A4 11 10 04 A2 FE EA EA AC 15 04 18 65 - .byte $0D, $91, $12, $88, $8A, $65, $0C, $91, $12, $EE, $2B, $04, $60, $03, $01, $04 ; CPU:$DF64 PRG:5F64 0D 91 12 88 8A 65 0C 91 12 EE 2B 04 60 03 01 04 - .byte $00, $02, $A5, $0A, $AE, $0A, $04, $F0, $16, $10, $0B, $AA, $A9, $80, $E0, $80 ; CPU:$DF74 PRG:5F74 00 02 A5 0A AE 0A 04 F0 16 10 0B AA A9 80 E0 80 - .byte $90, $0D, $A9, $FF, $D0, $09, $AA, $A9, $00, $E0, $81, $90, $02, $A9, $80, $A2 ; CPU:$DF84 PRG:5F84 90 0D A9 FF D0 09 AA A9 00 E0 81 90 02 A9 80 A2 - .byte $DF, $A0, $F6, $C9, $80, $F0, $0C, $A2, $E0, $A0, $96, $C9, $00, $F0, $04, $A2 ; CPU:$DF94 PRG:5F94 DF A0 F6 C9 80 F0 0C A2 E0 A0 96 C9 00 F0 04 A2 - .byte $E0, $A0, $46, $86, $15, $84, $14, $A0, $00, $A5, $A8, $C9, $08, $90, $02, $A0 ; CPU:$DFA4 PRG:5FA4 E0 A0 46 86 15 84 14 A0 00 A5 A8 C9 08 90 02 A0 - .byte $28, $A2, $00, $A5, $94, $C9, $7E, $B0, $02, $A2, $3C, $20, $D0, $DF, $A2, $3C ; CPU:$DFB4 PRG:5FB4 28 A2 00 A5 94 C9 7E B0 02 A2 3C 20 D0 DF A2 3C - .byte $A5, $94, $C9, $7E, $B0, $02, $A2, $00, $20, $D0, $DF, $60, $A9, $05, $85, $3C ; CPU:$DFC4 PRG:5FC4 A5 94 C9 7E B0 02 A2 00 20 D0 DF 60 A9 05 85 3C - .byte $B1, $14, $9D, $01, $06, $C8, $B1, $14, $9D, $02, $06, $C8, $B1, $14, $9D, $03 ; CPU:$DFD4 PRG:5FD4 B1 14 9D 01 06 C8 B1 14 9D 02 06 C8 B1 14 9D 03 - .byte $06, $C8, $B1, $14, $9D, $04, $06, $C8, $8A, $18, $69, $0A, $AA, $C6, $3C, $D0 ; CPU:$DFE4 PRG:5FE4 06 C8 B1 14 9D 04 06 C8 8A 18 69 0A AA C6 3C D0 - .byte $DF, $60, $13, $00, $04, $00, $13, $00, $05, $00, $13, $00, $06, $00, $0D, $00 ; CPU:$DFF4 PRG:5FF4 DF 60 13 00 04 00 13 00 05 00 13 00 06 00 0D 00 - .byte $04, $00, $0D, $00, $05, $00, $0D, $00, $04, $00, $13, $00, $05, $00, $0D, $00 ; CPU:$E004 PRG:6004 04 00 0D 00 05 00 0D 00 04 00 13 00 05 00 0D 00 - .byte $05, $00, $13, $00, $04, $00, $13, $00, $06, $00, $13, $00, $0A, $00, $13, $00 ; CPU:$E014 PRG:6014 05 00 13 00 04 00 13 00 06 00 13 00 0A 00 13 00 - .byte $0B, $00, $13, $00, $0C, $00, $0D, $00, $0A, $00, $0D, $00, $0B, $00, $0D, $00 ; CPU:$E024 PRG:6024 0B 00 13 00 0C 00 0D 00 0A 00 0D 00 0B 00 0D 00 - .byte $0A, $00, $13, $00, $0B, $00, $0D, $00, $0B, $00, $13, $00, $0A, $00, $13, $00 ; CPU:$E034 PRG:6034 0A 00 13 00 0B 00 0D 00 0B 00 13 00 0A 00 13 00 - .byte $0C, $00, $1B, $00, $04, $00, $1B, $00, $05, $00, $1B, $00, $06, $00, $16, $00 ; CPU:$E044 PRG:6044 0C 00 1B 00 04 00 1B 00 05 00 1B 00 06 00 16 00 - .byte $04, $00, $16, $00, $05, $00, $16, $00, $04, $00, $1B, $00, $05, $00, $16, $00 ; CPU:$E054 PRG:6054 04 00 16 00 05 00 16 00 04 00 1B 00 05 00 16 00 - .byte $05, $00, $1B, $00, $04, $00, $1B, $00, $06, $00, $1B, $00, $0A, $00, $1B, $00 ; CPU:$E064 PRG:6064 05 00 1B 00 04 00 1B 00 06 00 1B 00 0A 00 1B 00 - .byte $0B, $00, $1B, $00, $0C, $00, $16, $00, $0A, $00, $16, $00, $0B, $00, $16, $00 ; CPU:$E074 PRG:6074 0B 00 1B 00 0C 00 16 00 0A 00 16 00 0B 00 16 00 - .byte $0A, $00, $1B, $00, $0B, $00, $16, $00, $0B, $00, $1B, $00, $0A, $00, $1B, $00 ; CPU:$E084 PRG:6084 0A 00 1B 00 0B 00 16 00 0B 00 1B 00 0A 00 1B 00 - .byte $0C, $00, $0B, $00, $04, $00, $05, $00, $05, $00, $0B, $00, $06, $00, $05, $00 ; CPU:$E094 PRG:6094 0C 00 0B 00 04 00 05 00 05 00 0B 00 06 00 05 00 - .byte $04, $00, $05, $00, $06, $00, $05, $00, $04, $00, $05, $00, $05, $00, $05, $00 ; CPU:$E0A4 PRG:60A4 04 00 05 00 06 00 05 00 04 00 05 00 05 00 05 00 - .byte $06, $00, $0B, $00, $04, $00, $0B, $00, $06, $00, $0B, $00, $0A, $00, $05, $00 ; CPU:$E0B4 PRG:60B4 06 00 0B 00 04 00 0B 00 06 00 0B 00 0A 00 05 00 - .byte $0B, $00, $0B, $00, $0C, $00, $05, $00, $0A, $00, $05, $00, $0C, $00, $05, $00 ; CPU:$E0C4 PRG:60C4 0B 00 0B 00 0C 00 05 00 0A 00 05 00 0C 00 05 00 - .byte $0A, $00, $05, $00, $0B, $00, $05, $00, $0C, $00, $0B, $00, $0A, $00, $0B, $00 ; CPU:$E0D4 PRG:60D4 0A 00 05 00 0B 00 05 00 0C 00 0B 00 0A 00 0B 00 - .byte $0C, $00, $A0, $00, $AD, $F4, $07, $A6, $90, $E0, $7E, $90, $05, $AD, $F5, $07 ; CPU:$E0E4 PRG:60E4 0C 00 A0 00 AD F4 07 A6 90 E0 7E 90 05 AD F5 07 - .byte $A0, $14, $29, $40, $F0, $32, $B9, $B6, $06, $D0, $2C, $BD, $0C, $03, $29, $70 ; CPU:$E0F4 PRG:60F4 A0 14 29 40 F0 32 B9 B6 06 D0 2C BD 0C 03 29 70 - .byte $C9, $70, $D0, $23, $BD, $0A, $03, $29, $02, $D0, $1C, $98, $08, $A5, $95, $28 ; CPU:$E104 PRG:6104 C9 70 D0 23 BD 0A 03 29 02 D0 1C 98 08 A5 95 28 - .byte $F0, $02, $A5, $96, $99, $B1, $06, $84, $0C, $20, $F5, $C3, $98, $A4, $0C, $99 ; CPU:$E114 PRG:6114 F0 02 A5 96 99 B1 06 84 0C 20 F5 C3 98 A4 0C 99 - .byte $B0, $06, $A9, $FF, $99, $B6, $06, $60, $A9, $00, $99, $B6, $06, $60, $AD, $2F ; CPU:$E124 PRG:6124 B0 06 A9 FF 99 B6 06 60 A9 00 99 B6 06 60 AD 2F - .byte $04, $20, $BD, $84, $52, $E1, $9A, $E1, $AB, $E1, $32, $E2, $7D, $E2, $B0, $E2 ; CPU:$E134 PRG:6134 04 20 BD 84 52 E1 9A E1 AB E1 32 E2 7D E2 B0 E2 - .byte $1E, $E3, $49, $E3, $55, $E3, $80, $E3, $B6, $E3, $C9, $E3, $23, $E4, $A9, $00 ; CPU:$E144 PRG:6144 1E E3 49 E3 55 E3 80 E3 B6 E3 C9 E3 23 E4 A9 00 - .byte $8D, $0A, $04, $A9, $02, $85, $7B, $A9, $00, $85, $83, $85, $84, $8D, $30, $04 ; CPU:$E154 PRG:6154 8D 0A 04 A9 02 85 7B A9 00 85 83 85 84 8D 30 04 - .byte $8D, $31, $04, $8D, $36, $04, $AE, $B1, $06, $AC, $C5, $06, $9D, $0A, $03, $99 ; CPU:$E164 PRG:6164 8D 31 04 8D 36 04 AE B1 06 AC C5 06 9D 0A 03 99 - .byte $0A, $03, $8D, $B0, $06, $8D, $B1, $06, $A2, $07, $A0, $93, $8E, $C4, $06, $8C ; CPU:$E174 PRG:6174 0A 03 8D B0 06 8D B1 06 A2 07 A0 93 8E C4 06 8C - .byte $C5, $06, $A9, $03, $8D, $69, $03, $8D, $E7, $03, $A9, $00, $8D, $73, $03, $8D ; CPU:$E184 PRG:6184 C5 06 A9 03 8D 69 03 8D E7 03 A9 00 8D 73 03 8D - .byte $F1, $03, $20, $B7, $E1, $60, $AD, $E6, $06, $F0, $0B, $EE, $2F, $04, $A9, $FF ; CPU:$E194 PRG:6194 F1 03 20 B7 E1 60 AD E6 06 F0 0B EE 2F 04 A9 FF - .byte $8D, $70, $05, $20, $BF, $8C, $60, $20, $57, $87, $AD, $32, $04, $F0, $04, $CE ; CPU:$E1A4 PRG:61A4 8D 70 05 20 BF 8C 60 20 57 87 AD 32 04 F0 04 CE - .byte $32, $04, $60, $A9, $03, $8D, $69, $03, $8D, $E7, $03, $A9, $00, $8D, $73, $03 ; CPU:$E1B4 PRG:61B4 32 04 60 A9 03 8D 69 03 8D E7 03 A9 00 8D 73 03 - .byte $8D, $F1, $03, $A0, $00, $A2, $00, $AD, $30, $04, $4A, $90, $04, $A0, $07, $A2 ; CPU:$E1C4 PRG:61C4 8D F1 03 A0 00 A2 00 AD 30 04 4A 90 04 A0 07 A2 - .byte $7E, $86, $0C, $18, $AD, $36, $04, $65, $0C, $8D, $31, $04, $A2, $00, $B9, $2C ; CPU:$E1D4 PRG:61D4 7E 86 0C 18 AD 36 04 65 0C 8D 31 04 A2 00 B9 2C - .byte $E4, $95, $A3, $C8, $B9, $2C, $E4, $95, $A4, $C8, $8A, $18, $69, $05, $AA, $C9 ; CPU:$E1E4 PRG:61E4 E4 95 A3 C8 B9 2C E4 95 A4 C8 8A 18 69 05 AA C9 - .byte $0F, $D0, $EB, $B9, $2C, $E4, $85, $0A, $A0, $00, $A2, $00, $A9, $04, $85, $0C ; CPU:$E1F4 PRG:61F4 0F D0 EB B9 2C E4 85 0A A0 00 A2 00 A9 04 85 0C - .byte $B9, $3A, $E4, $9D, $01, $06, $E8, $C8, $C6, $0C, $D0, $F4, $8A, $18, $69, $06 ; CPU:$E204 PRG:6204 B9 3A E4 9D 01 06 E8 C8 C6 0C D0 F4 8A 18 69 06 - .byte $AA, $C9, $78, $D0, $E7, $A9, $00, $8D, $E6, $06, $A2, $0C, $A8, $A9, $00, $99 ; CPU:$E214 PRG:6214 AA C9 78 D0 E7 A9 00 8D E6 06 A2 0C A8 A9 00 99 - .byte $10, $03, $98, $18, $69, $15, $A8, $CA, $D0, $F3, $EE, $2F, $04, $60, $20, $57 ; CPU:$E224 PRG:6224 10 03 98 18 69 15 A8 CA D0 F3 EE 2F 04 60 20 57 - .byte $87, $A2, $00, $BD, $00, $06, $CD, $31, $04, $F0, $07, $18, $8A, $69, $0A, $AA ; CPU:$E234 PRG:6234 87 A2 00 BD 00 06 CD 31 04 F0 07 18 8A 69 0A AA - .byte $D0, $F1, $A8, $A9, $00, $99, $10, $03, $A9, $FE, $C0, $7E, $90, $02, $A9, $02 ; CPU:$E244 PRG:6244 D0 F1 A8 A9 00 99 10 03 A9 FE C0 7E 90 02 A9 02 - .byte $18, $65, $A3, $9D, $01, $06, $A5, $A4, $9D, $02, $06, $A5, $A8, $9D, $03, $06 ; CPU:$E254 PRG:6254 18 65 A3 9D 01 06 A5 A4 9D 02 06 A5 A8 9D 03 06 - .byte $A5, $A9, $9D, $04, $06, $AD, $03, $04, $29, $DF, $8D, $03, $04, $AD, $07, $04 ; CPU:$E264 PRG:6264 A5 A9 9D 04 06 AD 03 04 29 DF 8D 03 04 AD 07 04 - .byte $29, $DF, $8D, $07, $04, $EE, $2F, $04, $60, $20, $57, $87, $AC, $31, $04, $B9 ; CPU:$E274 PRG:6274 29 DF 8D 07 04 EE 2F 04 60 20 57 87 AC 31 04 B9 - .byte $10, $03, $F0, $27, $AC, $31, $04, $A2, $00, $C0, $7E, $90, $02, $A2, $14, $A9 ; CPU:$E284 PRG:6284 10 03 F0 27 AC 31 04 A2 00 C0 7E 90 02 A2 14 A9 - .byte $82, $99, $0A, $03, $98, $9D, $B1, $06, $20, $F5, $C3, $98, $9D, $B0, $06, $EE ; CPU:$E294 PRG:6294 82 99 0A 03 98 9D B1 06 20 F5 C3 98 9D B0 06 EE - .byte $2F, $04, $A9, $01, $8D, $99, $06, $A9, $00, $85, $7B, $60, $A9, $00, $8D, $A8 ; CPU:$E2A4 PRG:62A4 2F 04 A9 01 8D 99 06 A9 00 85 7B 60 A9 00 8D A8 - .byte $06, $AC, $31, $04, $A2, $00, $C9, $7E, $90, $02, $A2, $14, $BD, $B0, $06, $9D ; CPU:$E2B4 PRG:62B4 06 AC 31 04 A2 00 C9 7E 90 02 A2 14 BD B0 06 9D - .byte $B8, $06, $BD, $B1, $06, $9D, $B9, $06, $A9, $78, $9D, $BA, $06, $8D, $C0, $06 ; CPU:$E2C4 PRG:62C4 B8 06 BD B1 06 9D B9 06 A9 78 9D BA 06 8D C0 06 - .byte $8D, $D4, $06, $B9, $01, $03, $99, $0B, $03, $B9, $0C, $03, $29, $40, $F0, $13 ; CPU:$E2D4 PRG:62D4 8D D4 06 B9 01 03 99 0B 03 B9 0C 03 29 40 F0 13 - .byte $A5, $16, $C0, $7E, $90, $07, $A5, $17, $29, $02, $4C, $F3, $E2, $29, $01, $99 ; CPU:$E2E4 PRG:62E4 A5 16 C0 7E 90 07 A5 17 29 02 4C F3 E2 29 01 99 - .byte $0E, $03, $60, $A5, $16, $0D, $F4, $07, $C0, $7E, $90, $05, $A5, $17, $0D, $F5 ; CPU:$E2F4 PRG:62F4 0E 03 60 A5 16 0D F4 07 C0 7E 90 05 A5 17 0D F5 - .byte $07, $29, $80, $F0, $0F, $A9, $08, $8D, $2F, $04, $AD, $99, $06, $F0, $E3, $A9 ; CPU:$E304 PRG:6304 07 29 80 F0 0F A9 08 8D 2F 04 AD 99 06 F0 E3 A9 - .byte $03, $85, $7B, $60, $A9, $00, $8D, $99, $06, $60, $A2, $00, $BD, $00, $06, $CD ; CPU:$E314 PRG:6314 03 85 7B 60 A9 00 8D 99 06 60 A2 00 BD 00 06 CD - .byte $31, $04, $F0, $07, $18, $8A, $69, $0A, $AA, $D0, $F1, $A8, $A9, $00, $8D, $73 ; CPU:$E324 PRG:6324 31 04 F0 07 18 8A 69 0A AA D0 F1 A8 A9 00 8D 73 - .byte $03, $8D, $F1, $03, $99, $10, $03, $A5, $A3, $9D, $01, $06, $A5, $A4, $9D, $02 ; CPU:$E334 PRG:6334 03 8D F1 03 99 10 03 A5 A3 9D 01 06 A5 A4 9D 02 - .byte $06, $EE, $2F, $04, $60, $AC, $31, $04, $BD, $10, $03, $F0, $03, $EE, $2F, $04 ; CPU:$E344 PRG:6344 06 EE 2F 04 60 AC 31 04 BD 10 03 F0 03 EE 2F 04 - .byte $60, $A5, $AB, $05, $AC, $05, $A1, $05, $A2, $05, $A6, $05, $A7, $D0, $16, $AE ; CPU:$E354 PRG:6354 60 A5 AB 05 AC 05 A1 05 A2 05 A6 05 A7 D0 16 AE - .byte $31, $04, $A9, $80, $9D, $0E, $03, $86, $90, $20, $E3, $B5, $A9, $78, $8D, $C0 ; CPU:$E364 PRG:6364 31 04 A9 80 9D 0E 03 86 90 20 E3 B5 A9 78 8D C0 - .byte $06, $8D, $D4, $06, $60, $EE, $34, $04, $EE, $2F, $04, $60, $A5, $AB, $05, $AC ; CPU:$E374 PRG:6374 06 8D D4 06 60 EE 34 04 EE 2F 04 60 A5 AB 05 AC - .byte $05, $A1, $05, $A2, $05, $A6, $05, $A7, $F0, $24, $38, $A5, $A4, $E9, $00, $85 ; CPU:$E384 PRG:6384 05 A1 05 A2 05 A6 05 A7 F0 24 38 A5 A4 E9 00 85 - .byte $10, $A5, $A3, $E9, $10, $10, $0A, $49, $FF, $48, $A5, $10, $49, $FF, $85, $10 ; CPU:$E394 PRG:6394 10 A5 A3 E9 10 10 0A 49 FF 48 A5 10 49 FF 85 10 - .byte $68, $20, $7C, $D9, $C9, $AC, $90, $05, $A9, $00, $8D, $34, $04, $60, $EE, $2F ; CPU:$E3A4 PRG:63A4 68 20 7C D9 C9 AC 90 05 A9 00 8D 34 04 60 EE 2F - .byte $04, $60, $20, $57, $87, $AD, $A8, $06, $F0, $07, $C9, $03, $F0, $03, $8D, $38 ; CPU:$E3B4 PRG:63B4 04 60 20 57 87 AD A8 06 F0 07 C9 03 F0 03 8D 38 - .byte $04, $EE, $2F, $04, $60, $AD, $38, $04, $D0, $54, $AD, $30, $04, $4A, $85, $0C ; CPU:$E3C4 PRG:63C4 04 EE 2F 04 60 AD 38 04 D0 54 AD 30 04 4A 85 0C - .byte $90, $02, $E6, $0C, $38, $A5, $83, $E5, $84, $10, $0F, $49, $FF, $18, $69, $01 ; CPU:$E3D4 PRG:63D4 90 02 E6 0C 38 A5 83 E5 84 10 0F 49 FF 18 69 01 - .byte $48, $AD, $30, $04, $4A, $85, $0C, $E6, $0C, $68, $85, $0D, $A9, $05, $38, $E5 ; CPU:$E3E4 PRG:63E4 48 AD 30 04 4A 85 0C E6 0C 68 85 0D A9 05 38 E5 - .byte $0C, $C5, $0D, $90, $21, $AD, $30, $04, $C9, $09, $F0, $1A, $4A, $90, $09, $AD ; CPU:$E3F4 PRG:63F4 0C C5 0D 90 21 AD 30 04 C9 09 F0 1A 4A 90 09 AD - .byte $36, $04, $18, $69, $15, $8D, $36, $04, $EE, $30, $04, $A9, $02, $8D, $2F, $04 ; CPU:$E404 PRG:6404 36 04 18 69 15 8D 36 04 EE 30 04 A9 02 8D 2F 04 - .byte $A9, $20, $8D, $32, $04, $60, $A9, $80, $8D, $32, $04, $EE, $2F, $04, $60, $CE ; CPU:$E414 PRG:6414 A9 20 8D 32 04 60 A9 80 8D 32 04 EE 2F 04 60 CE - .byte $32, $04, $D0, $03, $EE, $E7, $06, $60, $1A, $00, $07, $80, $00, $00, $FF, $06 ; CPU:$E424 PRG:6424 32 04 D0 03 EE E7 06 60 1A 00 07 80 00 00 FF 06 - .byte $00, $07, $80, $00, $00, $00, $11, $00, $04, $00, $11, $00, $08, $00, $11, $00 ; CPU:$E434 PRG:6434 00 07 80 00 00 00 11 00 04 00 11 00 08 00 11 00 - .byte $0C, $00, $11, $00, $06, $00, $11, $00, $0A, $00, $03, $E0, $07, $80, $0F, $00 ; CPU:$E444 PRG:6444 0C 00 11 00 06 00 11 00 0A 00 03 E0 07 80 0F 00 - .byte $04, $00, $0F, $00, $08, $00, $0F, $00, $0C, $00, $0F, $00, $06, $00, $0F, $00 ; CPU:$E454 PRG:6454 04 00 0F 00 08 00 0F 00 0C 00 0F 00 06 00 0F 00 - .byte $0A, $00, $1C, $40, $07, $80, $A0, $69, $A5, $16, $A6, $0A, $F0, $04, $A0, $E7 ; CPU:$E464 PRG:6464 0A 00 1C 40 07 80 A0 69 A5 16 A6 0A F0 04 A0 E7 - .byte $A5, $17, $84, $90, $BE, $10, $03, $D0, $01, $60, $AE, $2F, $04, $E0, $02, $D0 ; CPU:$E474 PRG:6474 A5 17 84 90 BE 10 03 D0 01 60 AE 2F 04 E0 02 D0 - .byte $05, $AE, $32, $04, $D0, $0F, $AE, $2F, $04, $E0, $08, $B0, $08, $A6, $90, $A9 ; CPU:$E484 PRG:6484 05 AE 32 04 D0 0F AE 2F 04 E0 08 B0 08 A6 90 A9 - .byte $00, $9D, $0E, $03, $60, $85, $0C, $A9, $F7, $85, $11, $A2, $90, $86, $15, $A2 ; CPU:$E494 PRG:6494 00 9D 0E 03 60 85 0C A9 F7 85 11 A2 90 86 15 A2 - .byte $5C, $86, $14, $20, $85, $D9, $A5, $0C, $29, $0C, $8D, $35, $04, $A6, $90, $9D ; CPU:$E4A4 PRG:64A4 5C 86 14 20 85 D9 A5 0C 29 0C 8D 35 04 A6 90 9D - .byte $0E, $03, $20, $E1, $D8, $A6, $90, $BD, $00, $03, $C9, $03, $D0, $6E, $BD, $0A ; CPU:$E4B4 PRG:64B4 0E 03 20 E1 D8 A6 90 BD 00 03 C9 03 D0 6E BD 0A - .byte $03, $29, $10, $F0, $03, $4C, $55, $E5, $BD, $0C, $03, $29, $50, $C9, $50, $F0 ; CPU:$E4C4 PRG:64C4 03 29 10 F0 03 4C 55 E5 BD 0C 03 29 50 C9 50 F0 - .byte $14, $A9, $10, $1D, $0A, $03, $9D, $0A, $03, $A9, $16, $9D, $00, $03, $20, $58 ; CPU:$E4D4 PRG:64D4 14 A9 10 1D 0A 03 9D 0A 03 A9 16 9D 00 03 20 58 - .byte $D9, $20, $48, $87, $60, $A6, $90, $A9, $40, $85, $0D, $E8, $E8, $A0, $00, $20 ; CPU:$E4E4 PRG:64E4 D9 20 48 87 60 A6 90 A9 40 85 0D E8 E8 A0 00 20 - .byte $AF, $B9, $B0, $F0, $A9, $40, $85, $0D, $A6, $90, $20, $AF, $B9, $90, $E5, $BD ; CPU:$E4F4 PRG:64F4 AF B9 B0 F0 A9 40 85 0D A6 90 20 AF B9 90 E5 BD - .byte $0A, $03, $29, $32, $D0, $DE, $A5, $A9, $85, $10, $A5, $A8, $20, $7C, $D9, $C9 ; CPU:$E504 PRG:6504 0A 03 29 32 D0 DE A5 A9 85 10 A5 A8 20 7C D9 C9 - .byte $5C, $90, $D1, $C9, $8F, $B0, $CD, $A6, $90, $A5, $A2, $10, $02, $49, $FF, $F0 ; CPU:$E514 PRG:6514 5C 90 D1 C9 8F B0 CD A6 90 A5 A2 10 02 49 FF F0 - .byte $C3, $A9, $18, $9D, $00, $03, $A9, $20, $9D, $0A, $03, $60, $BD, $00, $03, $C9 ; CPU:$E524 PRG:6524 C3 A9 18 9D 00 03 A9 20 9D 0A 03 60 BD 00 03 C9 - .byte $19, $D0, $1D, $BD, $0C, $03, $29, $50, $C9, $50, $F0, $14, $BD, $0A, $03, $29 ; CPU:$E534 PRG:6534 19 D0 1D BD 0C 03 29 50 C9 50 F0 14 BD 0A 03 29 - .byte $10, $D0, $03, $20, $12, $87, $A6, $90, $A9, $32, $9D, $0A, $03, $20, $48, $87 ; CPU:$E544 PRG:6544 10 D0 03 20 12 87 A6 90 A9 32 9D 0A 03 20 48 87 - .byte $60, $BD, $00, $03, $C9, $03, $D0, $F8, $A9, $12, $9D, $00, $03, $60, $AD, $E7 ; CPU:$E554 PRG:6554 60 BD 00 03 C9 03 D0 F8 A9 12 9D 00 03 60 AD E7 - .byte $06, $C9, $11, $D0, $34, $AD, $34, $04, $F0, $2F, $A5, $16, $AE, $31, $04, $E0 ; CPU:$E564 PRG:6564 06 C9 11 D0 34 AD 34 04 F0 2F A5 16 AE 31 04 E0 - .byte $7E, $90, $02, $A5, $17, $4A, $4A, $4A, $48, $90, $0D, $18, $A5, $A6, $69, $00 ; CPU:$E574 PRG:6574 7E 90 02 A5 17 4A 4A 4A 48 90 0D 18 A5 A6 69 00 - .byte $85, $A6, $A5, $A7, $69, $02, $85, $A7, $68, $4A, $90, $0D, $38, $A5, $A6, $E9 ; CPU:$E584 PRG:6584 85 A6 A5 A7 69 02 85 A7 68 4A 90 0D 38 A5 A6 E9 - .byte $00, $85, $A6, $A5, $A7, $E9, $02, $85, $A7, $60, $AD, $51, $05, $20, $BD, $84 ; CPU:$E594 PRG:6594 00 85 A6 A5 A7 E9 02 85 A7 60 AD 51 05 20 BD 84 - .byte $AE, $E5, $33, $E6, $3F, $E6, $63, $E6, $76, $E6, $A2, $00, $A5, $83, $C5, $84 ; CPU:$E5A4 PRG:65A4 AE E5 33 E6 3F E6 63 E6 76 E6 A2 00 A5 83 C5 84 - .byte $F0, $04, $E8, $B0, $01, $E8, $8E, $50, $05, $8E, $74, $05, $A9, $03, $8D, $69 ; CPU:$E5B4 PRG:65B4 F0 04 E8 B0 01 E8 8E 50 05 8E 74 05 A9 03 8D 69 - .byte $03, $8D, $E7, $03, $A9, $00, $8D, $73, $03, $8D, $F1, $03, $A2, $00, $A0, $00 ; CPU:$E5C4 PRG:65C4 03 8D E7 03 A9 00 8D 73 03 8D F1 03 A2 00 A0 00 - .byte $B9, $7F, $E6, $95, $A3, $C8, $B9, $7F, $E6, $95, $A4, $C8, $8A, $18, $69, $05 ; CPU:$E5D4 PRG:65D4 B9 7F E6 95 A3 C8 B9 7F E6 95 A4 C8 8A 18 69 05 - .byte $AA, $C9, $0F, $D0, $EB, $B9, $7F, $E6, $85, $0A, $AD, $03, $04, $29, $DF, $8D ; CPU:$E5E4 PRG:65E4 AA C9 0F D0 EB B9 7F E6 85 0A AD 03 04 29 DF 8D - .byte $03, $04, $AD, $07, $04, $29, $DF, $8D, $07, $04, $C8, $A2, $00, $A9, $04, $85 ; CPU:$E5F4 PRG:65F4 03 04 AD 07 04 29 DF 8D 07 04 C8 A2 00 A9 04 85 - .byte $0C, $B9, $7F, $E6, $9D, $01, $06, $E8, $C8, $C6, $0C, $D0, $F4, $8A, $18, $69 ; CPU:$E604 PRG:6604 0C B9 7F E6 9D 01 06 E8 C8 C6 0C D0 F4 8A 18 69 - .byte $06, $AA, $C9, $78, $D0, $E7, $A9, $00, $8D, $E6, $06, $A2, $0C, $A8, $A9, $00 ; CPU:$E614 PRG:6614 06 AA C9 78 D0 E7 A9 00 8D E6 06 A2 0C A8 A9 00 - .byte $99, $10, $03, $98, $18, $69, $15, $A8, $CA, $D0, $F3, $EE, $51, $05, $60, $AD ; CPU:$E624 PRG:6624 99 10 03 98 18 69 15 A8 CA D0 F3 EE 51 05 60 AD - .byte $E6, $06, $F0, $06, $EE, $E7, $06, $EE, $51, $05, $60, $AE, $50, $05, $F0, $16 ; CPU:$E634 PRG:6634 E6 06 F0 06 EE E7 06 EE 51 05 60 AE 50 05 F0 16 - .byte $A0, $00, $CA, $F0, $02, $A0, $7E, $A2, $05, $A9, $1A, $99, $00, $03, $98, $18 ; CPU:$E644 PRG:6644 A0 00 CA F0 02 A0 7E A2 05 A9 1A 99 00 03 98 18 - .byte $69, $15, $A8, $CA, $D0, $F3, $EE, $51, $05, $A9, $A0, $8D, $52, $05, $60, $CE ; CPU:$E654 PRG:6654 69 15 A8 CA D0 F3 EE 51 05 A9 A0 8D 52 05 60 CE - .byte $52, $05, $D0, $0A, $A9, $00, $8D, $74, $05, $A9, $02, $8D, $52, $05, $EE, $51 ; CPU:$E664 PRG:6664 52 05 D0 0A A9 00 8D 74 05 A9 02 8D 52 05 EE 51 - .byte $05, $60, $CE, $52, $05, $D0, $03, $EE, $E7, $06, $60, $10, $00, $07, $80, $00 ; CPU:$E674 PRG:6674 05 60 CE 52 05 D0 03 EE E7 06 60 10 00 07 80 00 - .byte $00, $80, $0E, $00, $04, $00, $0E, $00, $08, $00, $0E, $00, $0C, $00, $0E, $00 ; CPU:$E684 PRG:6684 00 80 0E 00 04 00 0E 00 08 00 0E 00 0C 00 0E 00 - .byte $06, $00, $0E, $00, $0A, $00, $04, $00, $07, $80, $12, $00, $04, $00, $12, $00 ; CPU:$E694 PRG:6694 06 00 0E 00 0A 00 04 00 07 80 12 00 04 00 12 00 - .byte $08, $00, $12, $00, $0C, $00, $12, $00, $06, $00, $12, $00, $0A, $00, $1C, $00 ; CPU:$E6A4 PRG:66A4 08 00 12 00 0C 00 12 00 06 00 12 00 0A 00 1C 00 - .byte $07, $80, $A6, $79, $BD, $01, $03, $29, $0F, $A8, $B9, $FB, $E6, $9D, $09, $03 ; CPU:$E6B4 PRG:66B4 07 80 A6 79 BD 01 03 29 0F A8 B9 FB E6 9D 09 03 - .byte $A9, $00, $9D, $08, $03, $FE, $00, $03, $A6, $79, $BD, $08, $03, $F0, $06, $DE ; CPU:$E6C4 PRG:66C4 A9 00 9D 08 03 FE 00 03 A6 79 BD 08 03 F0 06 DE - .byte $08, $03, $4C, $AD, $87, $BC, $09, $03, $B9, $04, $E7, $C9, $FF, $D0, $08, $A9 ; CPU:$E6D4 PRG:66D4 08 03 4C AD 87 BC 09 03 B9 04 E7 C9 FF D0 08 A9 - .byte $1A, $9D, $00, $03, $4C, $AD, $87, $C8, $9D, $06, $03, $98, $9D, $09, $03, $A9 ; CPU:$E6E4 PRG:66E4 1A 9D 00 03 4C AD 87 C8 9D 06 03 98 9D 09 03 A9 - .byte $02, $9D, $08, $03, $20, $AD, $87, $60, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$E6F4 PRG:66F4 02 9D 08 03 20 AD 87 60 00 00 00 00 00 00 00 00 - .byte $5C, $46, $45, $44, $FF, $01, $7A, $00, $07, $00, $0A, $8C, $00, $83, $05, $C1 ; CPU:$E704 PRG:6704 5C 46 45 44 FF 01 7A 00 07 00 0A 8C 00 83 05 C1 - .byte $00, $11, $20, $44, $90, $08, $01, $00, $92, $02, $02, $00, $BB, $05, $7F, $44 ; CPU:$E714 PRG:6714 00 11 20 44 90 08 01 00 92 02 02 00 BB 05 7F 44 - .byte $5F, $12, $2C, $81, $75, $84, $53, $B4, $14, $10, $DF, $42, $90, $B0, $14, $14 ; CPU:$E724 PRG:6724 5F 12 2C 81 75 84 53 B4 14 10 DF 42 90 B0 14 14 - .byte $42, $00, $2F, $10, $0A, $24, $07, $51, $01, $10, $02, $03, $E7, $00, $41, $00 ; CPU:$E734 PRG:6734 42 00 2F 10 0A 24 07 51 01 10 02 03 E7 00 41 00 - .byte $58, $00, $BC, $24, $84, $51, $15, $2C, $C2, $11, $16, $0A, $F1, $C0, $30, $00 ; CPU:$E744 PRG:6744 58 00 BC 24 84 51 15 2C C2 11 16 0A F1 C0 30 00 - .byte $00, $00, $00, $00, $04, $10, $00, $08, $03, $10, $80, $00, $FA, $08, $D7, $50 ; CPU:$E754 PRG:6754 00 00 00 00 04 10 00 08 03 10 80 00 FA 08 D7 50 - .byte $1C, $22, $BD, $10, $AC, $20, $5D, $04, $8F, $1C, $2D, $01, $98, $BA, $8C, $01 ; CPU:$E764 PRG:6764 1C 22 BD 10 AC 20 5D 04 8F 1C 2D 01 98 BA 8C 01 - .byte $49, $20, $12, $00, $80, $80, $11, $02, $24, $00, $08, $0C, $D2, $00, $59, $44 ; CPU:$E774 PRG:6774 49 20 12 00 80 80 11 02 24 00 08 0C D2 00 59 44 - .byte $4D, $10, $88, $20, $C0, $00, $48, $04, $AA, $00, $14, $00, $13, $00, $00, $80 ; CPU:$E784 PRG:6784 4D 10 88 20 C0 00 48 04 AA 00 14 00 13 00 00 80 - .byte $00, $A0, $14, $00, $00, $04, $02, $64, $20, $10, $01, $10, $B1, $00, $79, $80 ; CPU:$E794 PRG:6794 00 A0 14 00 00 04 02 64 20 10 01 10 B1 00 79 80 - .byte $97, $89, $FB, $84, $7A, $00, $7F, $88, $FE, $00, $AA, $0A, $03, $69, $01, $40 ; CPU:$E7A4 PRG:67A4 97 89 FB 84 7A 00 7F 88 FE 00 AA 0A 03 69 01 40 - .byte $EA, $01, $07, $02, $20, $10, $09, $08, $62, $00, $82, $05, $F6, $80, $EB, $00 ; CPU:$E7B4 PRG:67B4 EA 01 07 02 20 10 09 08 62 00 82 05 F6 80 EB 00 - .byte $AC, $00, $60, $00, $5B, $60, $9D, $60, $2C, $08, $1B, $60, $02, $04, $C0, $92 ; CPU:$E7C4 PRG:67C4 AC 00 60 00 5B 60 9D 60 2C 08 1B 60 02 04 C0 92 - .byte $40, $00, $10, $0E, $80, $01, $04, $40, $08, $14, $16, $0A, $FF, $90, $FE, $00 ; CPU:$E7D4 PRG:67D4 40 00 10 0E 80 01 04 40 08 14 16 0A FF 90 FE 00 - .byte $BC, $10, $6D, $04, $FE, $C0, $3E, $04, $27, $51, $CF, $03, $8B, $09, $C2, $00 ; CPU:$E7E4 PRG:67E4 BC 10 6D 04 FE C0 3E 04 27 51 CF 03 8B 09 C2 00 - .byte $07, $00, $02, $1C, $27, $58, $19, $4A, $2A, $20, $45, $84, $00, $00, $E8, $10 ; CPU:$E7F4 PRG:67F4 07 00 02 1C 27 58 19 4A 2A 20 45 84 00 00 E8 10 - .byte $CE, $01, $88, $14, $70, $00, $13, $41, $3C, $11, $98, $02, $90, $10, $03, $00 ; CPU:$E804 PRG:6804 CE 01 88 14 70 00 13 41 3C 11 98 02 90 10 03 00 - .byte $00, $00, $08, $04, $40, $50, $04, $00, $00, $00, $0C, $00, $FF, $00, $4F, $4C ; CPU:$E814 PRG:6814 00 00 08 04 40 50 04 00 00 00 0C 00 FF 00 4F 4C - .byte $7D, $01, $51, $50, $CB, $E0, $68, $20, $72, $05, $17, $03, $04, $10, $81, $20 ; CPU:$E824 PRG:6824 7D 01 51 50 CB E0 68 20 72 05 17 03 04 10 81 20 - .byte $03, $00, $C7, $40, $03, $04, $00, $06, $00, $02, $04, $A4, $EA, $00, $4D, $00 ; CPU:$E834 PRG:6834 03 00 C7 40 03 04 00 06 00 02 04 A4 EA 00 4D 00 - .byte $80, $40, $EA, $00, $22, $00, $58, $40, $6C, $15, $60, $00, $02, $21, $20, $10 ; CPU:$E844 PRG:6844 80 40 EA 00 22 00 58 40 6C 15 60 00 02 21 20 10 - .byte $00, $30, $02, $10, $00, $00, $00, $00, $00, $02, $04, $10, $7F, $29, $20, $20 ; CPU:$E854 PRG:6854 00 30 02 10 00 00 00 00 00 02 04 10 7F 29 20 20 - .byte $13, $10, $3B, $01, $34, $01, $CA, $02, $FD, $21, $C4, $22, $23, $B0, $01, $20 ; CPU:$E864 PRG:6864 13 10 3B 01 34 01 CA 02 FD 21 C4 22 23 B0 01 20 - .byte $40, $24, $FE, $40, $02, $20, $04, $64, $58, $48, $84, $06, $9C, $03, $D1, $00 ; CPU:$E874 PRG:6874 40 24 FE 40 02 20 04 64 58 48 84 06 9C 03 D1 00 - .byte $90, $01, $00, $50, $A3, $00, $08, $02, $A8, $81, $06, $00, $02, $00, $00, $00 ; CPU:$E884 PRG:6884 90 01 00 50 A3 00 08 02 A8 81 06 00 02 00 00 00 - .byte $82, $00, $82, $00, $50, $00, $0B, $10, $08, $C0, $06, $00, $DF, $01, $7F, $10 ; CPU:$E894 PRG:6894 82 00 82 00 50 00 0B 10 08 C0 06 00 DF 01 7F 10 - .byte $D0, $18, $8D, $01, $FA, $20, $3E, $04, $14, $05, $07, $27, $10, $27, $5F, $02 ; CPU:$E8A4 PRG:68A4 D0 18 8D 01 FA 20 3E 04 14 05 07 27 10 27 5F 02 - .byte $C9, $00, $CA, $02, $04, $20, $48, $00, $21, $11, $02, $80, $C8, $00, $51, $11 ; CPU:$E8B4 PRG:68B4 C9 00 CA 02 04 20 48 00 21 11 02 80 C8 00 51 11 - .byte $A4, $80, $E4, $10, $28, $20, $02, $20, $36, $01, $80, $00, $01, $09, $41, $48 ; CPU:$E8C4 PRG:68C4 A4 80 E4 10 28 20 02 20 36 01 80 00 01 09 41 48 - .byte $10, $00, $05, $10, $A2, $00, $8A, $14, $40, $00, $01, $00, $FF, $00, $71, $C9 ; CPU:$E8D4 PRG:68D4 10 00 05 10 A2 00 8A 14 40 00 01 00 FF 00 71 C9 - .byte $EF, $81, $D8, $60, $35, $20, $F2, $44, $EC, $02, $3C, $01, $84, $22, $01, $08 ; CPU:$E8E4 PRG:68E4 EF 81 D8 60 35 20 F2 44 EC 02 3C 01 84 22 01 08 - .byte $5A, $11, $44, $12, $12, $61, $10, $0C, $00, $00, $21, $06, $40, $00, $98, $00 ; CPU:$E8F4 PRG:68F4 5A 11 44 12 12 61 10 0C 00 00 21 06 40 00 98 00 - .byte $02, $09, $57, $90, $62, $40, $12, $00, $C5, $19, $00, $02, $02, $00, $C8, $00 ; CPU:$E904 PRG:6904 02 09 57 90 62 40 12 00 C5 19 00 02 02 00 C8 00 - .byte $80, $00, $00, $00, $02, $10, $01, $20, $07, $40, $01, $00, $D7, $32, $B8, $84 ; CPU:$E914 PRG:6914 80 00 00 00 02 10 01 20 07 40 01 00 D7 32 B8 84 - .byte $85, $E9, $C8, $05, $7E, $00, $BA, $84, $B5, $40, $5D, $00, $03, $81, $A8, $88 ; CPU:$E924 PRG:6924 85 E9 C8 05 7E 00 BA 84 B5 40 5D 00 03 81 A8 88 - .byte $09, $C4, $3F, $31, $85, $70, $41, $00, $08, $42, $22, $02, $69, $00, $17, $01 ; CPU:$E934 PRG:6934 09 C4 3F 31 85 70 41 00 08 42 22 02 69 00 17 01 - .byte $CA, $20, $64, $40, $3E, $01, $7C, $A4, $98, $61, $62, $12, $00, $40, $01, $42 ; CPU:$E944 PRG:6944 CA 20 64 40 3E 01 7C A4 98 61 62 12 00 40 01 42 - .byte $04, $20, $03, $10, $25, $10, $02, $10, $01, $00, $08, $02, $FF, $01, $BA, $80 ; CPU:$E954 PRG:6954 04 20 03 10 25 10 02 10 01 00 08 02 FF 01 BA 80 - .byte $8E, $0B, $3C, $10, $73, $40, $DA, $C0, $F5, $80, $9E, $10, $4B, $82, $01, $03 ; CPU:$E964 PRG:6964 8E 0B 3C 10 73 40 DA C0 F5 80 9E 10 4B 82 01 03 - .byte $02, $20, $02, $02, $19, $88, $00, $02, $82, $80, $04, $51, $E6, $00, $11, $00 ; CPU:$E974 PRG:6974 02 20 02 02 19 88 00 02 82 80 04 51 E6 00 11 00 - .byte $B6, $08, $06, $00, $3A, $00, $81, $00, $A8, $00, $06, $02, $00, $42, $10, $14 ; CPU:$E984 PRG:6984 B6 08 06 00 3A 00 81 00 A8 00 06 02 00 42 10 14 - .byte $02, $10, $04, $00, $05, $10, $01, $00, $00, $88, $05, $00, $F6, $A0, $BE, $04 ; CPU:$E994 PRG:6994 02 10 04 00 05 10 01 00 00 88 05 00 F6 A0 BE 04 - .byte $C7, $02, $9E, $21, $B6, $C0, $D4, $03, $DF, $40, $D6, $13, $03, $09, $02, $01 ; CPU:$E9A4 PRG:69A4 C7 02 9E 21 B6 C0 D4 03 DF 40 D6 13 03 09 02 01 - .byte $C7, $28, $C5, $80, $01, $00, $10, $BC, $92, $20, $81, $82, $98, $81, $78, $40 ; CPU:$E9B4 PRG:69B4 C7 28 C5 80 01 00 10 BC 92 20 81 82 98 81 78 40 - .byte $F5, $00, $B8, $00, $BC, $80, $68, $00, $28, $00, $4E, $10, $45, $08, $C1, $00 ; CPU:$E9C4 PRG:69C4 F5 00 B8 00 BC 80 68 00 28 00 4E 10 45 08 C1 00 - .byte $10, $10, $07, $30, $00, $00, $21, $10, $09, $90, $02, $00, $F5, $00, $96, $05 ; CPU:$E9D4 PRG:69D4 10 10 07 30 00 00 21 10 09 90 02 00 F5 00 96 05 - .byte $B7, $11, $BC, $08, $9E, $C0, $FD, $40, $DD, $28, $1D, $09, $1A, $24, $01, $40 ; CPU:$E9E4 PRG:69E4 B7 11 BC 08 9E C0 FD 40 DD 28 1D 09 1A 24 01 40 - .byte $03, $13, $83, $60, $0F, $10, $86, $00, $80, $E8, $33, $04, $00, $00, $E5, $88 ; CPU:$E9F4 PRG:69F4 03 13 83 60 0F 10 86 00 80 E8 33 04 00 00 E5 88 - .byte $90, $02, $68, $00, $B4, $00, $92, $24, $88, $20, $DA, $00, $00, $20, $08, $02 ; CPU:$EA04 PRG:6A04 90 02 68 00 B4 00 92 24 88 20 DA 00 00 20 08 02 - .byte $40, $00, $20, $88, $00, $00, $1A, $20, $02, $28, $12, $00, $DF, $A0, $EE, $08 ; CPU:$EA14 PRG:6A14 40 00 20 88 00 00 1A 20 02 28 12 00 DF A0 EE 08 - .byte $D5, $00, $BD, $40, $7F, $04, $55, $00, $F6, $00, $DE, $11, $89, $EA, $00, $27 ; CPU:$EA24 PRG:6A24 D5 00 BD 40 7F 04 55 00 F6 00 DE 11 89 EA 00 27 - .byte $A2, $81, $81, $00, $0A, $00, $02, $00, $30, $28, $03, $01, $0F, $00, $F6, $8C ; CPU:$EA34 PRG:6A34 A2 81 81 00 0A 00 02 00 30 28 03 01 0F 00 F6 8C - .byte $A0, $01, $B1, $00, $3E, $00, $AB, $22, $49, $40, $2A, $00, $52, $11, $00, $14 ; CPU:$EA44 PRG:6A44 A0 01 B1 00 3E 00 AB 22 49 40 2A 00 52 11 00 14 - .byte $00, $00, $41, $80, $02, $00, $00, $22, $08, $02, $08, $68, $AF, $01, $CD, $85 ; CPU:$EA54 PRG:6A54 00 00 41 80 02 00 00 22 08 02 08 68 AF 01 CD 85 - .byte $85, $89, $7E, $10, $1F, $20, $CF, $84, $DD, $83, $72, $23, $01, $2D, $41, $80 ; CPU:$EA64 PRG:6A64 85 89 7E 10 1F 20 CF 84 DD 83 72 23 01 2D 41 80 - .byte $02, $00, $22, $A0, $81, $60, $10, $D0, $02, $00, $00, $01, $01, $00, $00, $22 ; CPU:$EA74 PRG:6A74 02 00 22 A0 81 60 10 D0 02 00 00 01 01 00 00 22 - .byte $C0, $01, $28, $01, $17, $00, $DC, $04, $5A, $0C, $44, $02, $02, $0C, $01, $00 ; CPU:$EA84 PRG:6A84 C0 01 28 01 17 00 DC 04 5A 0C 44 02 02 0C 01 00 - .byte $03, $00, $00, $40, $0A, $04, $0A, $00, $02, $00, $80, $00, $D8, $02, $AD, $12 ; CPU:$EA94 PRG:6A94 03 00 00 40 0A 04 0A 00 02 00 80 00 D8 02 AD 12 - .byte $9F, $03, $AE, $10, $4C, $85, $7A, $0A, $3D, $41, $5E, $20, $40, $DC, $42, $54 ; CPU:$EAA4 PRG:6AA4 9F 03 AE 10 4C 85 7A 0A 3D 41 5E 20 40 DC 42 54 - .byte $20, $30, $60, $4A, $00, $40, $16, $00, $E0, $41, $25, $40, $42, $00, $9A, $04 ; CPU:$EAB4 PRG:6AB4 20 30 60 4A 00 40 16 00 E0 41 25 40 42 00 9A 04 - .byte $98, $05, $EC, $10, $06, $20, $D9, $00, $C6, $02, $70, $0A, $08, $42, $11, $00 ; CPU:$EAC4 PRG:6AC4 98 05 EC 10 06 20 D9 00 C6 02 70 0A 08 42 11 00 - .byte $00, $10, $02, $20, $08, $01, $00, $40, $03, $00, $02, $10, $F8, $89, $E9, $C0 ; CPU:$EAD4 PRG:6AD4 00 10 02 20 08 01 00 40 03 00 02 10 F8 89 E9 C0 - .byte $F5, $19, $9E, $20, $3C, $00, $5B, $01, $54, $06, $2D, $40, $84, $22, $C1, $88 ; CPU:$EAE4 PRG:6AE4 F5 19 9E 20 3C 00 5B 01 54 06 2D 40 84 22 C1 88 - .byte $22, $10, $00, $A4, $8D, $60, $14, $04, $12, $10, $21, $80, $B3, $80, $DC, $04 ; CPU:$EAF4 PRG:6AF4 22 10 00 A4 8D 60 14 04 12 10 21 80 B3 80 DC 04 - .byte $B0, $A2, $24, $00, $70, $02, $2F, $08, $0D, $40, $53, $00, $02, $00, $03, $00 ; CPU:$EB04 PRG:6B04 B0 A2 24 00 70 02 2F 08 0D 40 53 00 02 00 03 00 - .byte $02, $00, $05, $80, $01, $00, $41, $00, $2C, $00, $20, $00, $FF, $00, $F5, $60 ; CPU:$EB14 PRG:6B14 02 00 05 80 01 00 41 00 2C 00 20 00 FF 00 F5 60 - .byte $95, $8F, $3F, $00, $FF, $01, $FA, $00, $EF, $15, $37, $00, $03, $A8, $00, $31 ; CPU:$EB24 PRG:6B24 95 8F 3F 00 FF 01 FA 00 EF 15 37 00 03 A8 00 31 - .byte $13, $10, $23, $80, $10, $00, $00, $54, $24, $62, $06, $00, $36, $10, $A1, $00 ; CPU:$EB34 PRG:6B34 13 10 23 80 10 00 00 54 24 62 06 00 36 10 A1 00 - .byte $DC, $08, $92, $20, $80, $04, $19, $08, $ED, $48, $3E, $10, $80, $01, $08, $80 ; CPU:$EB44 PRG:6B44 DC 08 92 20 80 04 19 08 ED 48 3E 10 80 01 08 80 - .byte $40, $04, $21, $44, $00, $20, $07, $00, $02, $10, $10, $20, $A7, $88, $F5, $00 ; CPU:$EB54 PRG:6B54 40 04 21 44 00 20 07 00 02 10 10 20 A7 88 F5 00 - .byte $9B, $00, $DE, $00, $DA, $01, $85, $00, $B5, $16, $1F, $00, $80, $80, $00, $00 ; CPU:$EB64 PRG:6B64 9B 00 DE 00 DA 01 85 00 B5 16 1F 00 80 80 00 00 - .byte $40, $28, $18, $00, $E4, $00, $29, $05, $00, $28, $B0, $00, $5A, $08, $75, $10 ; CPU:$EB74 PRG:6B74 40 28 18 00 E4 00 29 05 00 28 B0 00 5A 08 75 10 - .byte $50, $01, $8A, $80, $5B, $00, $A7, $20, $7D, $48, $45, $00, $88, $08, $00, $00 ; CPU:$EB84 PRG:6B84 50 01 8A 80 5B 00 A7 20 7D 48 45 00 88 08 00 00 - .byte $01, $50, $18, $A0, $80, $60, $01, $04, $28, $00, $20, $20, $FD, $80, $7F, $04 ; CPU:$EB94 PRG:6B94 01 50 18 A0 80 60 01 04 28 00 20 20 FD 80 7F 04 - .byte $96, $00, $5A, $31, $77, $03, $C7, $48, $7D, $61, $F6, $01, $09, $21, $80, $9E ; CPU:$EBA4 PRG:6BA4 96 00 5A 31 77 03 C7 48 7D 61 F6 01 09 21 80 9E - .byte $12, $02, $81, $04, $10, $08, $00, $18, $03, $74, $80, $24, $BD, $08, $29, $50 ; CPU:$EBB4 PRG:6BB4 12 02 81 04 10 08 00 18 03 74 80 24 BD 08 29 50 - .byte $E8, $00, $C8, $40, $B0, $00, $8B, $01, $7D, $00, $E9, $00, $08, $07, $00, $80 ; CPU:$EBC4 PRG:6BC4 E8 00 C8 40 B0 00 8B 01 7D 00 E9 00 08 07 00 80 - .byte $09, $03, $30, $04, $04, $00, $01, $04, $00, $01, $00, $00, $5B, $0B, $7B, $08 ; CPU:$EBD4 PRG:6BD4 09 03 30 04 04 00 01 04 00 01 00 00 5B 0B 7B 08 - .byte $56, $10, $1F, $C1, $A7, $21, $73, $00, $FF, $10, $F3, $02, $05, $AB, $00, $44 ; CPU:$EBE4 PRG:6BE4 56 10 1F C1 A7 21 73 00 FF 10 F3 02 05 AB 00 44 - .byte $04, $10, $C1, $20, $C1, $18, $09, $10, $03, $85, $16, $08, $DE, $28, $D5, $04 ; CPU:$EBF4 PRG:6BF4 04 10 C1 20 C1 18 09 10 03 85 16 08 DE 28 D5 04 - .byte $06, $00, $06, $00, $9A, $00, $F3, $00, $5D, $04, $0A, $00, $97, $20, $06, $00 ; CPU:$EC04 PRG:6C04 06 00 06 00 9A 00 F3 00 5D 04 0A 00 97 20 06 00 - .byte $92, $10, $C0, $80, $C8, $34, $07, $10, $40, $00, $00, $00, $DF, $28, $FD, $1C ; CPU:$EC14 PRG:6C14 92 10 C0 80 C8 34 07 10 40 00 00 00 DF 28 FD 1C - .byte $9F, $28, $DF, $90, $3E, $40, $97, $63, $1F, $42, $EE, $12, $09, $8E, $09, $82 ; CPU:$EC24 PRG:6C24 9F 28 DF 90 3E 40 97 63 1F 42 EE 12 09 8E 09 82 - .byte $10, $C0, $C8, $40, $01, $00, $01, $48, $10, $94, $29, $88, $82, $80, $05, $10 ; CPU:$EC34 PRG:6C34 10 C0 C8 40 01 00 01 48 10 94 29 88 82 80 05 10 - .byte $58, $00, $0E, $00, $1E, $00, $44, $00, $76, $02, $16, $08, $22, $89, $01, $00 ; CPU:$EC44 PRG:6C44 58 00 0E 00 1E 00 44 00 76 02 16 08 22 89 01 00 - .byte $00, $00, $14, $00, $80, $00, $02, $40, $41, $10, $31, $01, $F6, $20, $7D, $00 ; CPU:$EC54 PRG:6C54 00 00 14 00 80 00 02 40 41 10 31 01 F6 20 7D 00 - .byte $F6, $00, $BE, $80, $EA, $6C, $1E, $46, $7F, $0C, $8F, $40, $02, $1B, $01, $4C ; CPU:$EC64 PRG:6C64 F6 00 BE 80 EA 6C 1E 46 7F 0C 8F 40 02 1B 01 4C - .byte $03, $00, $93, $B0, $E4, $20, $11, $A2, $10, $8B, $5B, $00, $CB, $81, $BE, $10 ; CPU:$EC74 PRG:6C74 03 00 93 B0 E4 20 11 A2 10 8B 5B 00 CB 81 BE 10 - .byte $0E, $00, $8A, $32, $67, $00, $C4, $16, $9C, $04, $30, $00, $10, $00, $80, $00 ; CPU:$EC84 PRG:6C84 0E 00 8A 32 67 00 C4 16 9C 04 30 00 10 00 80 00 - .byte $84, $04, $80, $01, $30, $00, $08, $00, $00, $05, $0A, $00, $F7, $81, $AD, $08 ; CPU:$EC94 PRG:6C94 84 04 80 01 30 00 08 00 00 05 0A 00 F7 81 AD 08 - .byte $B6, $02, $8F, $00, $7C, $0B, $DE, $28, $B2, $C9, $2F, $00, $11, $67, $8B, $83 ; CPU:$ECA4 PRG:6CA4 B6 02 8F 00 7C 0B DE 28 B2 C9 2F 00 11 67 8B 83 - .byte $42, $94, $04, $01, $10, $60, $AA, $20, $01, $92, $26, $04, $03, $00, $C1, $40 ; CPU:$ECB4 PRG:6CB4 42 94 04 01 10 60 AA 20 01 92 26 04 03 00 C1 40 - .byte $24, $00, $0C, $00, $90, $84, $3E, $00, $DC, $C0, $C0, $00, $13, $20, $00, $08 ; CPU:$ECC4 PRG:6CC4 24 00 0C 00 90 84 3E 00 DC C0 C0 00 13 20 00 08 - .byte $80, $80, $2E, $00, $22, $80, $16, $00, $02, $08, $00, $80, $FF, $08, $9D, $80 ; CPU:$ECD4 PRG:6CD4 80 80 2E 00 22 80 16 00 02 08 00 80 FF 08 9D 80 - .byte $D3, $20, $7F, $20, $36, $06, $5B, $20, $DF, $12, $51, $90, $82, $82, $7C, $1A ; CPU:$ECE4 PRG:6CE4 D3 20 7F 20 36 06 5B 20 DF 12 51 90 82 82 7C 1A - .byte $82, $01, $87, $66, $0E, $00, $14, $4C, $08, $04, $06, $82, $87, $08, $75, $40 ; CPU:$ECF4 PRG:6CF4 82 01 87 66 0E 00 14 4C 08 04 06 82 87 08 75 40 - .byte $B8, $00, $0D, $60, $3A, $00, $08, $20, $59, $00, $04, $00, $E0, $00, $02, $00 ; CPU:$ED04 PRG:6D04 B8 00 0D 60 3A 00 08 20 59 00 04 00 E0 00 02 00 - .byte $80, $14, $01, $00, $10, $80, $01, $08, $41, $10, $30, $01, $EB, $20, $BB, $55 ; CPU:$ED14 PRG:6D14 80 14 01 00 10 80 01 08 41 10 30 01 EB 20 BB 55 - .byte $8F, $10, $A6, $84, $2E, $02, $56, $02, $FD, $F0, $1B, $02, $12, $D0, $C0, $90 ; CPU:$ED24 PRG:6D24 8F 10 A6 84 2E 02 56 02 FD F0 1B 02 12 D0 C0 90 - .byte $09, $10, $09, $71, $84, $08, $4A, $1D, $07, $90, $02, $20, $F3, $00, $15, $00 ; CPU:$ED34 PRG:6D34 09 10 09 71 84 08 4A 1D 07 90 02 20 F3 00 15 00 - .byte $B0, $A1, $AB, $00, $5F, $00, $E0, $80, $6E, $19, $C1, $00, $2C, $80, $ED, $08 ; CPU:$ED44 PRG:6D44 B0 A1 AB 00 5F 00 E0 80 6E 19 C1 00 2C 80 ED 08 - .byte $01, $04, $00, $2A, $19, $00, $03, $20, $00, $00, $06, $48, $E7, $00, $5B, $10 ; CPU:$ED54 PRG:6D54 01 04 00 2A 19 00 03 20 00 00 06 48 E7 00 5B 10 - .byte $29, $30, $6E, $39, $FF, $E0, $FB, $20, $EF, $44, $D5, $00, $0D, $78, $C6, $C1 ; CPU:$ED64 PRG:6D64 29 30 6E 39 FF E0 FB 20 EF 44 D5 00 0D 78 C6 C1 - .byte $10, $81, $9C, $40, $40, $04, $09, $1C, $20, $D0, $03, $01, $F0, $80, $05, $50 ; CPU:$ED74 PRG:6D74 10 81 9C 40 40 04 09 1C 20 D0 03 01 F0 80 05 50 - .byte $10, $08, $12, $08, $86, $00, $56, $20, $6A, $21, $69, $00, $90, $4A, $10, $00 ; CPU:$ED84 PRG:6D84 10 08 12 08 86 00 56 20 6A 21 69 00 90 4A 10 00 - .byte $08, $04, $00, $02, $04, $00, $02, $40, $60, $08, $00, $80, $AF, $28, $FF, $10 ; CPU:$ED94 PRG:6D94 08 04 00 02 04 00 02 40 60 08 00 80 AF 28 FF 10 - .byte $FF, $30, $5D, $80, $FE, $60, $CF, $40, $85, $22, $9F, $13, $26, $75, $75, $88 ; CPU:$EDA4 PRG:6DA4 FF 30 5D 80 FE 60 CF 40 85 22 9F 13 26 75 75 88 - .byte $42, $32, $05, $60, $95, $40, $29, $30, $82, $E1, $32, $00, $BB, $80, $79, $04 ; CPU:$EDB4 PRG:6DB4 42 32 05 60 95 40 29 30 82 E1 32 00 BB 80 79 04 - .byte $ED, $41, $03, $20, $35, $00, $D3, $00, $14, $04, $85, $00, $80, $19, $47, $00 ; CPU:$EDC4 PRG:6DC4 ED 41 03 20 35 00 D3 00 14 04 85 00 80 19 47 00 - .byte $42, $00, $01, $00, $20, $88, $11, $40, $00, $00, $06, $C2, $0F, $A8, $FF, $80 ; CPU:$EDD4 PRG:6DD4 42 00 01 00 20 88 11 40 00 00 06 C2 0F A8 FF 80 - .byte $DF, $A0, $EE, $82, $36, $05, $1C, $A8, $7C, $80, $85, $00, $82, $30, $41, $70 ; CPU:$EDE4 PRG:6DE4 DF A0 EE 82 36 05 1C A8 7C 80 85 00 82 30 41 70 - .byte $41, $A2, $0E, $00, $11, $81, $03, $50, $A0, $3C, $16, $01, $17, $00, $52, $44 ; CPU:$EDF4 PRG:6DF4 41 A2 0E 00 11 81 03 50 A0 3C 16 01 17 00 52 44 - .byte $A8, $80, $18, $20, $03, $00, $1C, $A0, $3D, $68, $0C, $10, $01, $08, $01, $00 ; CPU:$EE04 PRG:6E04 A8 80 18 20 03 00 1C A0 3D 68 0C 10 01 08 01 00 - .byte $86, $80, $42, $00, $04, $00, $0B, $00, $00, $80, $00, $00, $8F, $00, $DF, $D5 ; CPU:$EE14 PRG:6E14 86 80 42 00 04 00 0B 00 00 80 00 00 8F 00 DF D5 - .byte $87, $01, $6C, $F0, $F5, $00, $EB, $80, $7D, $22, $A4, $10, $41, $C8, $B1, $C0 ; CPU:$EE24 PRG:6E24 87 01 6C F0 F5 00 EB 80 7D 22 A4 10 41 C8 B1 C0 - .byte $0F, $68, $0F, $4B, $72, $40, $05, $40, $43, $89, $2D, $8C, $A4, $92, $94, $06 ; CPU:$EE34 PRG:6E34 0F 68 0F 4B 72 40 05 40 43 89 2D 8C A4 92 94 06 - .byte $00, $00, $1F, $00, $44, $10, $C7, $20, $05, $08, $45, $00, $35, $00, $42, $00 ; CPU:$EE44 PRG:6E44 00 00 1F 00 44 10 C7 20 05 08 45 00 35 00 42 00 - .byte $A8, $00, $84, $14, $01, $01, $88, $00, $10, $08, $01, $02, $4F, $81, $59, $44 ; CPU:$EE54 PRG:6E54 A8 00 84 14 01 01 88 00 10 08 01 02 4F 81 59 44 - .byte $99, $D9, $FE, $44, $BF, $44, $16, $40, $9D, $41, $9F, $10, $11, $8A, $14, $40 ; CPU:$EE64 PRG:6E64 99 D9 FE 44 BF 44 16 40 9D 41 9F 10 11 8A 14 40 - .byte $03, $40, $E2, $50, $05, $08, $27, $40, $01, $40, $0D, $41, $C6, $00, $D2, $04 ; CPU:$EE74 PRG:6E74 03 40 E2 50 05 08 27 40 01 40 0D 41 C6 00 D2 04 - .byte $D2, $88, $04, $00, $2C, $40, $8E, $00, $08, $03, $C4, $01, $09, $28, $40, $C2 ; CPU:$EE84 PRG:6E84 D2 88 04 00 2C 40 8E 00 08 03 C4 01 09 28 40 C2 - .byte $00, $20, $86, $80, $84, $80, $0A, $12, $00, $C4, $00, $08, $DD, $40, $9F, $00 ; CPU:$EE94 PRG:6E94 00 20 86 80 84 80 0A 12 00 C4 00 08 DD 40 9F 00 - .byte $7F, $83, $CC, $00, $F7, $A0, $F5, $41, $D7, $40, $1F, $11, $2B, $04, $81, $48 ; CPU:$EEA4 PRG:6EA4 7F 83 CC 00 F7 A0 F5 41 D7 40 1F 11 2B 04 81 48 - .byte $28, $10, $17, $E5, $1B, $10, $0A, $10, $42, $08, $42, $02, $B8, $40, $19, $04 ; CPU:$EEB4 PRG:6EB4 28 10 17 E5 1B 10 0A 10 42 08 42 02 B8 40 19 04 - .byte $00, $00, $3C, $00, $62, $E1, $24, $00, $B6, $40, $0A, $21, $10, $00, $29, $08 ; CPU:$EEC4 PRG:6EC4 00 00 3C 00 62 E1 24 00 B6 40 0A 21 10 00 29 08 - .byte $22, $00, $05, $02, $00, $00, $00, $10, $01, $01, $02, $01, $FB, $48, $BA, $80 ; CPU:$EED4 PRG:6ED4 22 00 05 02 00 00 00 10 01 01 02 01 FB 48 BA 80 - .byte $C5, $01, $B3, $C1, $7F, $04, $7D, $06, $C8, $90, $62, $02, $03, $22, $E7, $82 ; CPU:$EEE4 PRG:6EE4 C5 01 B3 C1 7F 04 7D 06 C8 90 62 02 03 22 E7 82 - .byte $11, $10, $27, $0F, $76, $C5, $09, $00, $82, $2C, $03, $09, $E0, $00, $27, $80 ; CPU:$EEF4 PRG:6EF4 11 10 27 0F 76 C5 09 00 82 2C 03 09 E0 00 27 80 - .byte $80, $20, $E8, $81, $05, $82, $54, $10, $94, $00, $02, $40, $1A, $68, $01, $04 ; CPU:$EF04 PRG:6F04 80 20 E8 81 05 82 54 10 94 00 02 40 1A 68 01 04 - .byte $40, $0C, $41, $02, $00, $00, $00, $00, $80, $00, $00, $01, $7F, $83, $FF, $20 ; CPU:$EF14 PRG:6F14 40 0C 41 02 00 00 00 00 80 00 00 01 7F 83 FF 20 - .byte $3D, $87, $DF, $50, $78, $00, $56, $E0, $EC, $40, $A4, $40, $31, $28, $11, $28 ; CPU:$EF24 PRG:6F24 3D 87 DF 50 78 00 56 E0 EC 40 A4 40 31 28 11 28 - .byte $50, $18, $C6, $08, $A2, $B0, $08, $30, $00, $2E, $3F, $10, $6E, $11, $7D, $00 ; CPU:$EF34 PRG:6F34 50 18 C6 08 A2 B0 08 30 00 2E 3F 10 6E 11 7D 00 - .byte $5C, $08, $6C, $08, $36, $00, $09, $82, $98, $01, $06, $00, $10, $08, $02, $00 ; CPU:$EF44 PRG:6F44 5C 08 6C 08 36 00 09 82 98 01 06 00 10 08 02 00 - .byte $08, $00, $08, $03, $00, $08, $00, $06, $42, $22, $42, $00, $F7, $B1, $FD, $84 ; CPU:$EF54 PRG:6F54 08 00 08 03 00 08 00 06 42 22 42 00 F7 B1 FD 84 - .byte $3E, $82, $DD, $00, $C6, $78, $95, $80, $97, $90, $4F, $2A, $03, $52, $46, $54 ; CPU:$EF64 PRG:6F64 3E 82 DD 00 C6 78 95 80 97 90 4F 2A 03 52 46 54 - .byte $02, $10, $B2, $E4, $8C, $25, $AD, $60, $81, $A2, $A6, $2C, $5E, $24, $32, $00 ; CPU:$EF74 PRG:6F74 02 10 B2 E4 8C 25 AD 60 81 A2 A6 2C 5E 24 32 00 - .byte $8C, $00, $F8, $80, $F0, $00, $09, $00, $3C, $00, $17, $00, $84, $84, $21, $00 ; CPU:$EF84 PRG:6F84 8C 00 F8 80 F0 00 09 00 3C 00 17 00 84 84 21 00 - .byte $00, $00, $32, $00, $00, $00, $81, $08, $02, $00, $02, $00, $BF, $24, $77, $40 ; CPU:$EF94 PRG:6F94 00 00 32 00 00 00 81 08 02 00 02 00 BF 24 77 40 - .byte $16, $00, $E8, $00, $1E, $00, $FF, $00, $DF, $04, $7C, $08, $13, $13, $C6, $2C ; CPU:$EFA4 PRG:6FA4 16 00 E8 00 1E 00 FF 00 DF 04 7C 08 13 13 C6 2C - .byte $09, $E8, $E2, $89, $06, $88, $0A, $10, $00, $A1, $07, $A2, $2F, $08, $77, $09 ; CPU:$EFB4 PRG:6FB4 09 E8 E2 89 06 88 0A 10 00 A1 07 A2 2F 08 77 09 - .byte $16, $08, $92, $01, $14, $08, $80, $00, $4C, $00, $0C, $02, $20, $68, $83, $84 ; CPU:$EFC4 PRG:6FC4 16 08 92 01 14 08 80 00 4C 00 0C 02 20 68 83 84 - .byte $88, $00, $00, $02, $8F, $00, $95, $00, $00, $40, $45, $00, $5F, $10, $FD, $80 ; CPU:$EFD4 PRG:6FD4 88 00 00 02 8F 00 95 00 00 40 45 00 5F 10 FD 80 - .byte $87, $C8, $8B, $10, $3F, $40, $DF, $04, $FC, $00, $52, $00, $89, $C8, $01, $66 ; CPU:$EFE4 PRG:6FE4 87 C8 8B 10 3F 40 DF 04 FC 00 52 00 89 C8 01 66 - .byte $C2, $30, $3A, $85, $11, $50, $11, $40, $15, $4C, $07, $02, $00, $00, $00, $00 ; CPU:$EFF4 PRG:6FF4 C2 30 3A 85 11 50 11 40 15 4C 07 02 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F004 PRG:7004 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F014 PRG:7014 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - .byte $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F024 PRG:7024 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 - .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03 ; CPU:$F034 PRG:7034 02 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03 - .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F044 PRG:7044 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 - .byte $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04 ; CPU:$F054 PRG:7054 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 - .byte $04, $04, $04, $04, $04, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05 ; CPU:$F064 PRG:7064 04 04 04 04 04 05 05 05 05 05 05 05 05 05 05 05 - .byte $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $06, $06, $06, $06, $06, $06 ; CPU:$F074 PRG:7074 05 05 05 05 05 05 05 05 05 05 06 06 06 06 06 06 - .byte $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $07 ; CPU:$F084 PRG:7084 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07 - .byte $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$F094 PRG:7094 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 - .byte $07, $07, $07, $07, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; CPU:$F0A4 PRG:70A4 07 07 07 07 08 08 08 08 08 08 08 08 08 08 08 08 - .byte $08, $08, $08, $08, $08, $08, $08, $08, $08, $09, $09, $09, $09, $09, $09, $09 ; CPU:$F0B4 PRG:70B4 08 08 08 08 08 08 08 08 08 09 09 09 09 09 09 09 - .byte $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $0A, $0A ; CPU:$F0C4 PRG:70C4 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0A 0A - .byte $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A ; CPU:$F0D4 PRG:70D4 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A - .byte $0A, $0A, $0A, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B ; CPU:$F0E4 PRG:70E4 0A 0A 0A 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B - .byte $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $49, $57, $41, $53, $41, $4B, $49, $20 ; CPU:$F0F4 PRG:70F4 0B 0B 0B 0B 0B 0B 0B 0B 49 57 41 53 41 4B 49 20 - .byte $45, $4C, $45, $43, $54, $52, $4F, $4E, $49, $43, $53, $20, $43, $6F, $2E, $4C ; CPU:$F104 PRG:7104 45 4C 45 43 54 52 4F 4E 49 43 53 20 43 6F 2E 4C - .byte $74, $64, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F114 PRG:7114 74 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F124 PRG:7124 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $49, $77, $61, $73, $61, $6B, $69, $2D ; CPU:$F134 PRG:7134 20 20 20 20 20 20 20 20 49 77 61 73 61 6B 69 2D - .byte $4C, $61, $62, $62, $6F, $72, $61, $74, $6F, $72, $79, $20, $53, $2D, $48, $6F ; CPU:$F144 PRG:7144 4C 61 62 62 6F 72 61 74 6F 72 79 20 53 2D 48 6F - .byte $6B, $75, $65, $6E, $20, $32, $30, $31, $50, $72, $6F, $64, $75, $63, $65, $64 ; CPU:$F154 PRG:7154 6B 75 65 6E 20 32 30 31 50 72 6F 64 75 63 65 64 - .byte $20, $20, $62, $79, $20, $20, $20, $20, $44, $4F, $4E, $2E, $49, $4B, $55, $4E ; CPU:$F164 PRG:7164 20 20 62 79 20 20 20 20 44 4F 4E 2E 49 4B 55 4E - .byte $4F, $20, $20, $20, $20, $20, $20, $20, $43, $72, $65, $61, $74, $65, $64, $20 ; CPU:$F174 PRG:7174 4F 20 20 20 20 20 20 20 43 72 65 61 74 65 64 20 - .byte $20, $20, $62, $79, $20, $20, $20, $20, $43, $50, $55, $2E, $59, $55, $4B, $41 ; CPU:$F184 PRG:7184 20 20 62 79 20 20 20 20 43 50 55 2E 59 55 4B 41 - .byte $4D, $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F194 PRG:7194 4D 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $4C, $55, $4D, $2E, $4F, $4F, $59, $41 ; CPU:$F1A4 PRG:71A4 20 20 20 20 20 20 20 20 4C 55 4D 2E 4F 4F 59 41 - .byte $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1B4 PRG:71B4 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $52, $4F, $4D, $2E, $44, $4F, $48, $4D ; CPU:$F1C4 PRG:71C4 20 20 20 20 20 20 20 20 52 4F 4D 2E 44 4F 48 4D - .byte $41, $45, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1D4 PRG:71D4 41 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1E4 PRG:71E4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $41, $72, $74, $20, $44, $65, $73, $69 ; CPU:$F1F4 PRG:71F4 20 20 20 20 20 20 20 20 41 72 74 20 44 65 73 69 - .byte $67, $6E, $65, $72, $20, $20, $20, $20, $4E, $4F, $4E, $2E, $59, $41, $4D, $41 ; CPU:$F204 PRG:7204 67 6E 65 72 20 20 20 20 4E 4F 4E 2E 59 41 4D 41 - .byte $4D, $55, $52, $41, $20, $20, $20, $20, $4D, $75, $73, $69, $63, $20, $20, $20 ; CPU:$F214 PRG:7214 4D 55 52 41 20 20 20 20 4D 75 73 69 63 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $4E, $49, $43, $4B, $2E, $4B, $4F, $4E ; CPU:$F224 PRG:7224 20 20 20 20 20 20 20 20 4E 49 43 4B 2E 4B 4F 4E - .byte $44, $4F, $20, $20, $20, $20, $20, $20, $43, $6F, $2D, $44, $69, $72, $65, $63 ; CPU:$F234 PRG:7234 44 4F 20 20 20 20 20 20 43 6F 2D 44 69 72 65 63 - .byte $74, $6F, $72, $20, $20, $20, $20, $20, $54, $55, $52, $42, $4F, $2E, $4F, $48 ; CPU:$F244 PRG:7244 74 6F 72 20 20 20 20 20 54 55 52 42 4F 2E 4F 48 - .byte $54, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F254 PRG:7254 54 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $52, $4F, $4D, $2E, $4B, $49, $54, $41 ; CPU:$F264 PRG:7264 20 20 20 20 20 20 20 20 52 4F 4D 2E 4B 49 54 41 - .byte $4E, $49, $53, $48, $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F274 PRG:7274 4E 49 53 48 49 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F284 PRG:7284 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $53, $70, $65, $63, $69, $61, $6C, $20 ; CPU:$F294 PRG:7294 20 20 20 20 20 20 20 20 53 70 65 63 69 61 6C 20 - .byte $74, $68, $61, $6E, $6B, $73, $20, $20, $54, $4F, $53, $48, $49, $2E, $4E, $41 ; CPU:$F2A4 PRG:72A4 74 68 61 6E 6B 73 20 20 54 4F 53 48 49 2E 4E 41 - .byte $4B, $41, $4D, $55, $52, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2B4 PRG:72B4 4B 41 4D 55 52 41 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $4B, $45, $4E, $2E, $4E, $41, $4B, $41 ; CPU:$F2C4 PRG:72C4 20 20 20 20 20 20 20 20 4B 45 4E 2E 4E 41 4B 41 - .byte $4A, $49, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2D4 PRG:72D4 4A 49 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $59, $45, $53, $2E, $53, $45, $4E, $47 ; CPU:$F2E4 PRG:72E4 20 20 20 20 20 20 20 20 59 45 53 2E 53 45 4E 47 - .byte $4F, $4B, $55, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2F4 PRG:72F4 4F 4B 55 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $4B, $59, $4F, $2E, $49, $49, $4A, $49 ; CPU:$F304 PRG:7304 20 20 20 20 20 20 20 20 4B 59 4F 2E 49 49 4A 49 - .byte $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F314 PRG:7314 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $48, $49, $44, $45, $2E, $53, $55, $5A ; CPU:$F324 PRG:7324 20 20 20 20 20 20 20 20 48 49 44 45 2E 53 55 5A - .byte $55, $4B, $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F334 PRG:7334 55 4B 49 20 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $53, $55, $4E, $2E, $53, $4F, $42, $41 ; CPU:$F344 PRG:7344 20 20 20 20 20 20 20 20 53 55 4E 2E 53 4F 42 41 - .byte $4A, $49, $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F354 PRG:7354 4A 49 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $20, $54, $52, $4F, $4E, $2E, $4E, $41, $52 ; CPU:$F364 PRG:7364 20 20 20 20 20 20 20 20 54 52 4F 4E 2E 4E 41 52 - .byte $49, $48, $49, $52, $4F, $20, $20, $20, $22, $20, $01, $04, $8A, $00, $00, $00 ; CPU:$F374 PRG:7374 49 48 49 52 4F 20 20 20 22 20 01 04 8A 00 00 00 - .byte $00, $00, $80, $A0, $24, $00, $FA, $20, $AE, $00, $B0, $0C, $01, $51, $20, $40 ; CPU:$F384 PRG:7384 00 00 80 A0 24 00 FA 20 AE 00 B0 0C 01 51 20 40 - .byte $00, $00, $C0, $01, $10, $00, $02, $00, $00, $01, $14, $40, $2F, $88, $FC, $14 ; CPU:$F394 PRG:7394 00 00 C0 01 10 00 02 00 00 01 14 40 2F 88 FC 14 - .byte $21, $11, $B3, $05, $37, $20, $44, $0A, $18, $25, $F6, $20, $83, $94, $54, $10 ; CPU:$F3A4 PRG:73A4 21 11 B3 05 37 20 44 0A 18 25 F6 20 83 94 54 10 - .byte $10, $00, $00, $05, $26, $00, $40, $02, $42, $59, $01, $00, $27, $00, $41, $80 ; CPU:$F3B4 PRG:73B4 10 00 00 05 26 00 40 02 42 59 01 00 27 00 41 80 - .byte $B0, $28, $00, $10, $28, $00, $D0, $00, $45, $02, $88, $00, $01, $21, $01, $00 ; CPU:$F3C4 PRG:73C4 B0 28 00 10 28 00 D0 00 45 02 88 00 01 21 01 00 - .byte $80, $02, $20, $90, $00, $40, $01, $14, $02, $10, $0A, $10, $A4, $A2, $F8, $00 ; CPU:$F3D4 PRG:73D4 80 02 20 90 00 40 01 14 02 10 0A 10 A4 A2 F8 00 - .byte $06, $0A, $9C, $00, $D2, $22, $1C, $01, $BF, $41, $16, $52, $20, $09, $88, $20 ; CPU:$F3E4 PRG:73E4 06 0A 9C 00 D2 22 1C 01 BF 41 16 52 20 09 88 20 - .byte $50, $86, $12, $10, $10, $80, $81, $00, $20, $10, $01, $20, $9A, $00, $73, $00 ; CPU:$F3F4 PRG:73F4 50 86 12 10 10 80 81 00 20 10 01 20 9A 00 73 00 - .byte $A3, $01, $80, $08, $D2, $00, $FC, $0A, $D8, $00, $8C, $00, $C2, $45, $02, $80 ; CPU:$F404 PRG:7404 A3 01 80 08 D2 00 FC 0A D8 00 8C 00 C2 45 02 80 - .byte $04, $20, $32, $10, $04, $40, $0A, $02, $80, $04, $00, $00, $8F, $08, $C9, $8B ; CPU:$F414 PRG:7414 04 20 32 10 04 40 0A 02 80 04 00 00 8F 08 C9 8B - .byte $BD, $A8, $EB, $81, $5F, $50, $DF, $24, $79, $00, $99, $00, $90, $0B, $81, $90 ; CPU:$F424 PRG:7424 BD A8 EB 81 5F 50 DF 24 79 00 99 00 90 0B 81 90 - .byte $02, $50, $24, $C4, $01, $30, $89, $10, $80, $11, $3F, $11, $52, $09, $41, $00 ; CPU:$F434 PRG:7434 02 50 24 C4 01 30 89 10 80 11 3F 11 52 09 41 00 - .byte $D7, $00, $6C, $60, $20, $10, $04, $08, $64, $20, $87, $00, $00, $00, $48, $11 ; CPU:$F444 PRG:7444 D7 00 6C 60 20 10 04 08 64 20 87 00 00 00 48 11 - .byte $20, $22, $40, $20, $00, $80, $01, $00, $01, $00, $01, $00, $AF, $00, $FF, $04 ; CPU:$F454 PRG:7454 20 22 40 20 00 80 01 00 01 00 01 00 AF 00 FF 04 - .byte $9F, $00, $A6, $01, $98, $01, $8E, $53, $DF, $08, $4E, $08, $10, $0B, $83, $80 ; CPU:$F464 PRG:7464 9F 00 A6 01 98 01 8E 53 DF 08 4E 08 10 0B 83 80 - .byte $6C, $80, $D1, $E1, $03, $40, $34, $78, $00, $17, $0B, $21, $FC, $00, $E0, $00 ; CPU:$F474 PRG:7474 6C 80 D1 E1 03 40 34 78 00 17 0B 21 FC 00 E0 00 - .byte $06, $00, $0E, $14, $1A, $06, $8F, $68, $24, $20, $96, $00, $03, $D9, $01, $08 ; CPU:$F484 PRG:7484 06 00 0E 14 1A 06 8F 68 24 20 96 00 03 D9 01 08 - .byte $00, $00, $01, $00, $00, $20, $C1, $40, $10, $04, $16, $80, $6F, $88, $BF, $84 ; CPU:$F494 PRG:7494 00 00 01 00 00 20 C1 40 10 04 16 80 6F 88 BF 84 - .byte $DA, $2B, $2F, $20, $7D, $00, $1E, $80, $EC, $01, $FF, $24, $03, $AD, $83, $00 ; CPU:$F4A4 PRG:74A4 DA 2B 2F 20 7D 00 1E 80 EC 01 FF 24 03 AD 83 00 - .byte $43, $80, $81, $05, $84, $10, $03, $A0, $2A, $F4, $16, $06, $6A, $01, $B8, $04 ; CPU:$F4B4 PRG:74B4 43 80 81 05 84 10 03 A0 2A F4 16 06 6A 01 B8 04 - .byte $E2, $01, $8A, $00, $1E, $00, $DE, $01, $44, $08, $E3, $00, $80, $21, $80, $00 ; CPU:$F4C4 PRG:74C4 E2 01 8A 00 1E 00 DE 01 44 08 E3 00 80 21 80 00 - .byte $01, $00, $18, $00, $00, $40, $00, $20, $48, $40, $00, $00, $9B, $04, $E7, $02 ; CPU:$F4D4 PRG:74D4 01 00 18 00 00 40 00 20 48 40 00 00 9B 04 E7 02 - .byte $B8, $2A, $98, $40, $F2, $21, $FE, $00, $EE, $0C, $89, $55, $15, $D9, $1B, $18 ; CPU:$F4E4 PRG:74E4 B8 2A 98 40 F2 21 FE 00 EE 0C 89 55 15 D9 1B 18 - .byte $08, $00, $B3, $A3, $1F, $40, $39, $84, $82, $01, $0D, $8A ; CPU:$F4F4 PRG:74F4 08 00 B3 A3 1F 40 39 84 82 01 0D 8A + .byte $00, $08, $00, $20, $20, $20, $20, $00 ; CPU:$BF04 PRG:3F04 00 08 00 20 20 20 20 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF0C +; Global: Branch target inside Sub: taken when BF0C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF0C: + lda $06E7 ; CPU:$BF0C PRG:3F0C AD E7 06 + cmp #$17 ; CPU:$BF0F PRG:3F0F C9 17 + bne NmiHandler_Loop356 ; CPU:$BF11 PRG:3F11 D0 17 + lda $0560 ; CPU:$BF13 PRG:3F13 AD 60 05 + cmp #$01 ; CPU:$BF16 PRG:3F16 C9 01 + beq NmiHandler_Loop355 ; CPU:$BF18 PRG:3F18 F0 0C + cmp #$02 ; CPU:$BF1A PRG:3F1A C9 02 + beq NmiHandler_Loop355 ; CPU:$BF1C PRG:3F1C F0 08 + cmp #$03 ; CPU:$BF1E PRG:3F1E C9 03 + bne NmiHandler_Loop354 ; CPU:$BF20 PRG:3F20 D0 03 + jsr Sub_8792 ; CPU:$BF22 PRG:3F22 20 92 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop354 +; Global: Branch target inside NmiHandler: taken when Loop354. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop354: + rts ; CPU:$BF25 PRG:3F25 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop355 +; Global: Branch target inside NmiHandler: taken when Loop355. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop355: + jsr Sub_8757 ; CPU:$BF26 PRG:3F26 20 57 87 + rts ; CPU:$BF29 PRG:3F29 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop356 +; Global: Branch target inside NmiHandler: taken when Loop356. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop356: + lda $06E7 ; CPU:$BF2A PRG:3F2A AD E7 06 + cmp #$0E ; CPU:$BF2D PRG:3F2D C9 0E + bne NmiHandler_Loop358 ; CPU:$BF2F PRG:3F2F D0 24 + lda $06FA ; CPU:$BF31 PRG:3F31 AD FA 06 + cmp #$7E ; CPU:$BF34 PRG:3F34 C9 7E + bcs NmiHandler_Loop357 ; CPU:$BF36 PRG:3F36 B0 10 + lda #$00 ; CPU:$BF38 PRG:3F38 A9 00 + sta Zp17 ; CPU:$BF3A PRG:3F3A 85 17 + sta $07F5 ; CPU:$BF3C PRG:3F3C 8D F5 07 + ldy $06C5 ; CPU:$BF3F PRG:3F3F AC C5 06 + sta $030E,y ; CPU:$BF42 PRG:3F42 99 0E 03 + jmp NmiHandler_Loop358 ; CPU:$BF45 PRG:3F45 4C 55 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop357 +; Global: Branch target inside NmiHandler: taken when Loop357. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop357: + lda #$00 ; CPU:$BF48 PRG:3F48 A9 00 + sta Zp16 ; CPU:$BF4A PRG:3F4A 85 16 + sta $07F4 ; CPU:$BF4C PRG:3F4C 8D F4 07 + ldy $06B1 ; CPU:$BF4F PRG:3F4F AC B1 06 + sta $030E,y ; CPU:$BF52 PRG:3F52 99 0E 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop358 +; Global: Branch target inside NmiHandler: taken when Loop358. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop358: + jsr Sub_CFE3 ; CPU:$BF55 PRG:3F55 20 E3 CF + jsr Sub_CF7A ; CPU:$BF58 PRG:3F58 20 7A CF + jsr Sub_D00E ; CPU:$BF5B PRG:3F5B 20 0E D0 + jsr Sub_C40A ; CPU:$BF5E PRG:3F5E 20 0A C4 + jsr Sub_C89F ; CPU:$BF61 PRG:3F61 20 9F C8 + jsr Sub_C0C9 ; CPU:$BF64 PRG:3F64 20 C9 C0 + lda $06E7 ; CPU:$BF67 PRG:3F67 AD E7 06 + cmp #$0D ; CPU:$BF6A PRG:3F6A C9 0D + beq NmiHandler_Loop359 ; CPU:$BF6C PRG:3F6C F0 04 + cmp #$0E ; CPU:$BF6E PRG:3F6E C9 0E + bne NmiHandler_Loop360 ; CPU:$BF70 PRG:3F70 D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop359 +; Global: Branch target inside NmiHandler: taken when Loop359. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop359: + lda $06AD ; CPU:$BF72 PRG:3F72 AD AD 06 + cmp #$03 ; CPU:$BF75 PRG:3F75 C9 03 + beq NmiHandler_Loop361 ; CPU:$BF77 PRG:3F77 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop360 +; Global: Branch target inside NmiHandler: taken when Loop360. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop360: + jsr Sub_D625 ; CPU:$BF79 PRG:3F79 20 25 D6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop361 +; Global: Branch target inside NmiHandler: taken when Loop361. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop361: + jsr Sub_BF83 ; CPU:$BF7C PRG:3F7C 20 83 BF + jsr Sub_BF83 ; CPU:$BF7F PRG:3F7F 20 83 BF + rts ; CPU:$BF82 PRG:3F82 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF83 +; Global: Branch target inside Sub: taken when BF83. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF83: + ldy #$08 ; CPU:$BF83 PRG:3F83 A0 08 + lda #$00 ; CPU:$BF85 PRG:3F85 A9 00 + sta (Zp99),y ; CPU:$BF87 PRG:3F87 91 99 + ldy #$05 ; CPU:$BF89 PRG:3F89 A0 05 + lda (Zp97),y ; CPU:$BF8B PRG:3F8B B1 97 + ldy #$01 ; CPU:$BF8D PRG:3F8D A0 01 + sec ; CPU:$BF8F PRG:3F8F 38 + sbc (Zp99),y ; CPU:$BF90 PRG:3F90 F1 99 + sta $06FE ; CPU:$BF92 PRG:3F92 8D FE 06 + ldy #$04 ; CPU:$BF95 PRG:3F95 A0 04 + lda (Zp97),y ; CPU:$BF97 PRG:3F97 B1 97 + ldy #$00 ; CPU:$BF99 PRG:3F99 A0 00 + sbc (Zp99),y ; CPU:$BF9B PRG:3F9B F1 99 + sta $06FD ; CPU:$BF9D PRG:3F9D 8D FD 06 + bpl NmiHandler_Loop362 ; CPU:$BFA0 PRG:3FA0 10 05 + ldx #$01 ; CPU:$BFA2 PRG:3FA2 A2 01 + jmp Sub_BFAC ; CPU:$BFA4 PRG:3FA4 4C AC BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop362 +; Global: Branch target inside NmiHandler: taken when Loop362. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop362: + ldx #$02 ; CPU:$BFA7 PRG:3FA7 A2 02 + jmp Sub_BFBD ; CPU:$BFA9 PRG:3FA9 4C BD BF +; ----------------------------------------------------------------------------- +; Routine: Sub_BFAC +; Global: Branch target inside Sub: taken when BFAC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFAC: + lda #$00 ; CPU:$BFAC PRG:3FAC A9 00 + sec ; CPU:$BFAE PRG:3FAE 38 + sbc $06FE ; CPU:$BFAF PRG:3FAF ED FE 06 + sta $06FE ; CPU:$BFB2 PRG:3FB2 8D FE 06 + lda #$00 ; CPU:$BFB5 PRG:3FB5 A9 00 + sbc $06FD ; CPU:$BFB7 PRG:3FB7 ED FD 06 + sta $06FD ; CPU:$BFBA PRG:3FBA 8D FD 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFBD +; Global: Branch target inside Sub: taken when BFBD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFBD: + lda $06FE ; CPU:$BFBD PRG:3FBD AD FE 06 + sec ; CPU:$BFC0 PRG:3FC0 38 + sbc #$40 ; CPU:$BFC1 PRG:3FC1 E9 40 + lda $06FD ; CPU:$BFC3 PRG:3FC3 AD FD 06 + sbc #$00 ; CPU:$BFC6 PRG:3FC6 E9 00 + bcc NmiHandler_Loop363 ; CPU:$BFC8 PRG:3FC8 90 0A + txa ; CPU:$BFCA PRG:3FCA 8A + ldy #$08 ; CPU:$BFCB PRG:3FCB A0 08 + ora (Zp99),y ; CPU:$BFCD PRG:3FCD 11 99 + sta (Zp99),y ; CPU:$BFCF PRG:3FCF 91 99 + jmp NmiHandler_Loop363 ; CPU:$BFD1 PRG:3FD1 4C D4 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop363 +; Global: Branch target inside NmiHandler: taken when Loop363. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop363: + ldy #$03 ; CPU:$BFD4 PRG:3FD4 A0 03 + lda (Zp97),y ; CPU:$BFD6 PRG:3FD6 B1 97 + sec ; CPU:$BFD8 PRG:3FD8 38 + sbc (Zp99),y ; CPU:$BFD9 PRG:3FD9 F1 99 + sta $06FE ; CPU:$BFDB PRG:3FDB 8D FE 06 + dey ; CPU:$BFDE PRG:3FDE 88 + lda (Zp97),y ; CPU:$BFDF PRG:3FDF B1 97 + sbc (Zp99),y ; CPU:$BFE1 PRG:3FE1 F1 99 + sta $06FD ; CPU:$BFE3 PRG:3FE3 8D FD 06 + bpl NmiHandler_Loop364 ; CPU:$BFE6 PRG:3FE6 10 05 + ldx #$04 ; CPU:$BFE8 PRG:3FE8 A2 04 + jmp Sub_BFF2 ; CPU:$BFEA PRG:3FEA 4C F2 BF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop364 +; Global: Branch target inside NmiHandler: taken when Loop364. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop364: + ldx #$08 ; CPU:$BFED PRG:3FED A2 08 + jmp Sub_C003 ; CPU:$BFEF PRG:3FEF 4C 03 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFF2 +; Global: Branch target inside Sub: taken when BFF2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFF2: + lda #$00 ; CPU:$BFF2 PRG:3FF2 A9 00 + sec ; CPU:$BFF4 PRG:3FF4 38 + sbc $06FE ; CPU:$BFF5 PRG:3FF5 ED FE 06 + sta $06FE ; CPU:$BFF8 PRG:3FF8 8D FE 06 + lda #$00 ; CPU:$BFFB PRG:3FFB A9 00 + sbc $06FD ; CPU:$BFFD PRG:3FFD ED FD 06 + sta $06FD ; CPU:$C000 PRG:4000 8D FD 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C003 +; Global: Branch target inside Sub: taken when C003. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C003: + lda $06FE ; CPU:$C003 PRG:4003 AD FE 06 + sec ; CPU:$C006 PRG:4006 38 + sbc #$40 ; CPU:$C007 PRG:4007 E9 40 + lda $06FD ; CPU:$C009 PRG:4009 AD FD 06 + sbc #$00 ; CPU:$C00C PRG:400C E9 00 + bcc NmiHandler_Loop365 ; CPU:$C00E PRG:400E 90 0A + txa ; CPU:$C010 PRG:4010 8A + ldy #$08 ; CPU:$C011 PRG:4011 A0 08 + ora (Zp99),y ; CPU:$C013 PRG:4013 11 99 + sta (Zp99),y ; CPU:$C015 PRG:4015 91 99 + jmp NmiHandler_Loop365 ; CPU:$C017 PRG:4017 4C 1A C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop365 +; Global: Branch target inside NmiHandler: taken when Loop365. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop365: + ldy #$08 ; CPU:$C01A PRG:401A A0 08 + lda (Zp99),y ; CPU:$C01C PRG:401C B1 99 + beq NmiHandler_Loop366 ; CPU:$C01E PRG:401E F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero12 +; Global: Branch target inside NmiHandler: taken when OnZero12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero12: + jmp NmiHandler_Loop371 ; CPU:$C020 PRG:4020 4C A2 C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop366 +; Global: Branch target inside NmiHandler: taken when Loop366. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop366: + ldx Zp97 ; CPU:$C023 PRG:4023 A6 97 + lda $0310,x ; CPU:$C025 PRG:4025 BD 10 03 + ora #$01 ; CPU:$C028 PRG:4028 09 01 + sta $0310,x ; CPU:$C02A PRG:402A 9D 10 03 + lda $06E7 ; CPU:$C02D PRG:402D AD E7 06 + cmp #$05 ; CPU:$C030 PRG:4030 C9 05 + bcc NmiHandler_Loop367 ; CPU:$C032 PRG:4032 90 0C + lda Zp97 ; CPU:$C034 PRG:4034 A5 97 + cmp $06B1 ; CPU:$C036 PRG:4036 CD B1 06 + beq NmiHandler_OnZero12 ; CPU:$C039 PRG:4039 F0 E5 + cmp $06C5 ; CPU:$C03B PRG:403B CD C5 06 + beq NmiHandler_OnZero12 ; CPU:$C03E PRG:403E F0 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop367 +; Global: Branch target inside NmiHandler: taken when Loop367. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop367: + ldy #$02 ; CPU:$C040 PRG:4040 A0 02 + lda (Zp97),y ; CPU:$C042 PRG:4042 B1 97 + ldx #$00 ; CPU:$C044 PRG:4044 A2 00 + jsr Sub_C0B8 ; CPU:$C046 PRG:4046 20 B8 C0 + iny ; CPU:$C049 PRG:4049 C8 + lda (Zp97),y ; CPU:$C04A PRG:404A B1 97 + jsr Sub_C0BE ; CPU:$C04C PRG:404C 20 BE C0 + iny ; CPU:$C04F PRG:404F C8 + lda (Zp97),y ; CPU:$C050 PRG:4050 B1 97 + jsr Sub_C0B8 ; CPU:$C052 PRG:4052 20 B8 C0 + iny ; CPU:$C055 PRG:4055 C8 + lda (Zp97),y ; CPU:$C056 PRG:4056 B1 97 + jsr Sub_C0BE ; CPU:$C058 PRG:4058 20 BE C0 + lda TimerIndex3 ; CPU:$C05B PRG:405B A5 A8 + jsr Sub_C0B8 ; CPU:$C05D PRG:405D 20 B8 C0 + lda TimerIndex4 ; CPU:$C060 PRG:4060 A5 A9 + jsr Sub_C0BE ; CPU:$C062 PRG:4062 20 BE C0 + lda TimerIndex ; CPU:$C065 PRG:4065 A5 A3 + jsr Sub_C0B8 ; CPU:$C067 PRG:4067 20 B8 C0 + lda TimerIndex2 ; CPU:$C06A PRG:406A A5 A4 + jsr Sub_C0BE ; CPU:$C06C PRG:406C 20 BE C0 + jsr Sub_940C ; CPU:$C06F PRG:406F 20 0C 94 + sta $06FD ; CPU:$C072 PRG:4072 8D FD 06 + lda $06E7 ; CPU:$C075 PRG:4075 AD E7 06 + cmp #$01 ; CPU:$C078 PRG:4078 C9 01 + beq NmiHandler_Loop368 ; CPU:$C07A PRG:407A F0 04 + cmp #$02 ; CPU:$C07C PRG:407C C9 02 + bne NmiHandler_Loop370 ; CPU:$C07E PRG:407E D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop368 +; Global: Branch target inside NmiHandler: taken when Loop368. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop368: + ldy #$03 ; CPU:$C080 PRG:4080 A0 03 + lda Zp97 ; CPU:$C082 PRG:4082 A5 97 + cmp #$7E ; CPU:$C084 PRG:4084 C9 7E + bcc NmiHandler_Loop369 ; CPU:$C086 PRG:4086 90 02 + ldy #$07 ; CPU:$C088 PRG:4088 A0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop369 +; Global: Branch target inside NmiHandler: taken when Loop369. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop369: + sty $06FD ; CPU:$C08A PRG:408A 8C FD 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop370 +; Global: Branch target inside NmiHandler: taken when Loop370. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop370: + ldy #$01 ; CPU:$C08D PRG:408D A0 01 + lda (Zp97),y ; CPU:$C08F PRG:408F B1 97 + and #$0F ; CPU:$C091 PRG:4091 29 0F + cmp $06FD ; CPU:$C093 PRG:4093 CD FD 06 + beq NmiHandler_Loop371 ; CPU:$C096 PRG:4096 F0 0A + ldx $06FD ; CPU:$C098 PRG:4098 AE FD 06 + lda $D511,x ; CPU:$C09B PRG:409B BD 11 D5 + ldy #$0E ; CPU:$C09E PRG:409E A0 0E + sta (Zp97),y ; CPU:$C0A0 PRG:40A0 91 97 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop371 +; Global: Branch target inside NmiHandler: taken when Loop371. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop371: + lda Zp99 ; CPU:$C0A2 PRG:40A2 A5 99 + clc ; CPU:$C0A4 PRG:40A4 18 + adc #$0A ; CPU:$C0A5 PRG:40A5 69 0A + sta Zp99 ; CPU:$C0A7 PRG:40A7 85 99 + cmp #$79 ; CPU:$C0A9 PRG:40A9 C9 79 + bne NmiHandler_Loop372 ; CPU:$C0AB PRG:40AB D0 04 + lda #$01 ; CPU:$C0AD PRG:40AD A9 01 + sta Zp99 ; CPU:$C0AF PRG:40AF 85 99 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop372 +; Global: Branch target inside NmiHandler: taken when Loop372. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop372: + tay ; CPU:$C0B1 PRG:40B1 A8 + lda $05FF,y ; CPU:$C0B2 PRG:40B2 B9 FF 05 + sta Zp97 ; CPU:$C0B5 PRG:40B5 85 97 + rts ; CPU:$C0B7 PRG:40B7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0B8 +; Global: Branch target inside Sub: taken when C0B8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0B8: + asl a ; CPU:$C0B8 PRG:40B8 0A + asl a ; CPU:$C0B9 PRG:40B9 0A + asl a ; CPU:$C0BA PRG:40BA 0A + sta VramWritePtrLo,x ; CPU:$C0BB PRG:40BB 95 00 + rts ; CPU:$C0BD PRG:40BD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0BE +; Global: Branch target inside Sub: taken when C0BE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0BE: + lsr a ; CPU:$C0BE PRG:40BE 4A + lsr a ; CPU:$C0BF PRG:40BF 4A + lsr a ; CPU:$C0C0 PRG:40C0 4A + lsr a ; CPU:$C0C1 PRG:40C1 4A + lsr a ; CPU:$C0C2 PRG:40C2 4A + ora VramWritePtrLo,x ; CPU:$C0C3 PRG:40C3 15 00 + sta VramWritePtrLo,x ; CPU:$C0C5 PRG:40C5 95 00 + inx ; CPU:$C0C7 PRG:40C7 E8 + rts ; CPU:$C0C8 PRG:40C8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0C9 +; Global: Branch target inside Sub: taken when C0C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0C9: + lda $0600 ; CPU:$C0C9 PRG:40C9 AD 00 06 + sta PlayerSpeed2 ; CPU:$C0CC PRG:40CC 85 90 + lda #$03 ; CPU:$C0CE PRG:40CE A9 03 + sta Zp91 ; CPU:$C0D0 PRG:40D0 85 91 + lda #$01 ; CPU:$C0D2 PRG:40D2 A9 01 + sta Zp92 ; CPU:$C0D4 PRG:40D4 85 92 + lda #$06 ; CPU:$C0D6 PRG:40D6 A9 06 + sta Zp93 ; CPU:$C0D8 PRG:40D8 85 93 + lda #$00 ; CPU:$C0DA PRG:40DA A9 00 + sta $06FD ; CPU:$C0DC PRG:40DC 8D FD 06 + sta $06E0 ; CPU:$C0DF PRG:40DF 8D E0 06 + sta $06E1 ; CPU:$C0E2 PRG:40E2 8D E1 06 + lda #$01 ; CPU:$C0E5 PRG:40E5 A9 01 + sta $06E6 ; CPU:$C0E7 PRG:40E7 8D E6 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C0EA +; Global: Branch target inside Sub: taken when C0EA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C0EA: + ldy PlayerSpeed2 ; CPU:$C0EA PRG:40EA A4 90 + lda $0300,y ; CPU:$C0EC PRG:40EC B9 00 03 + cmp #$03 ; CPU:$C0EF PRG:40EF C9 03 + bcs NmiHandler_Loop373 ; CPU:$C0F1 PRG:40F1 B0 0E + ldy $06FD ; CPU:$C0F3 PRG:40F3 AC FD 06 + lda $0120,y ; CPU:$C0F6 PRG:40F6 B9 20 01 + ora $0130,y ; CPU:$C0F9 PRG:40F9 19 30 01 + bne NmiHandler_Loop373 ; CPU:$C0FC PRG:40FC D0 03 + jmp NmiHandler_Loop406 ; CPU:$C0FE PRG:40FE 4C 58 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop373 +; Global: Branch target inside NmiHandler: taken when Loop373. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop373: + ldy #$0A ; CPU:$C101 PRG:4101 A0 0A + lda (PlayerSpeed2),y ; CPU:$C103 PRG:4103 B1 90 + tax ; CPU:$C105 PRG:4105 AA + lda PlayerSpeed2 ; CPU:$C106 PRG:4106 A5 90 + cmp #$7E ; CPU:$C108 PRG:4108 C9 7E + bcc NmiHandler_Loop374 ; CPU:$C10A PRG:410A 90 0A + txa ; CPU:$C10C PRG:410C 8A + ora $06E1 ; CPU:$C10D PRG:410D 0D E1 06 + sta $06E1 ; CPU:$C110 PRG:4110 8D E1 06 + jmp Sub_C11D ; CPU:$C113 PRG:4113 4C 1D C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop374 +; Global: Branch target inside NmiHandler: taken when Loop374. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop374: + txa ; CPU:$C116 PRG:4116 8A + ora $06E0 ; CPU:$C117 PRG:4117 0D E0 06 + sta $06E0 ; CPU:$C11A PRG:411A 8D E0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C11D +; Global: Branch target inside Sub: taken when C11D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C11D: + ldy PlayerSpeed2 ; CPU:$C11D PRG:411D A4 90 + lda $06E6 ; CPU:$C11F PRG:411F AD E6 06 + and $0310,y ; CPU:$C122 PRG:4122 39 10 03 + sta $06E6 ; CPU:$C125 PRG:4125 8D E6 06 + ldy #$00 ; CPU:$C128 PRG:4128 A0 00 + lda (PlayerSpeed2),y ; CPU:$C12A PRG:412A B1 90 + cmp #$05 ; CPU:$C12C PRG:412C C9 05 + bne NmiHandler_Loop375 ; CPU:$C12E PRG:412E D0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero13 +; Global: Branch target inside NmiHandler: taken when OnZero13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero13: + rts ; CPU:$C130 PRG:4130 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop375 +; Global: Branch target inside NmiHandler: taken when Loop375. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop375: + cmp #$06 ; CPU:$C131 PRG:4131 C9 06 + beq NmiHandler_OnZero13 ; CPU:$C133 PRG:4133 F0 FB + lda $06E7 ; CPU:$C135 PRG:4135 AD E7 06 + cmp #$15 ; CPU:$C138 PRG:4138 C9 15 + beq NmiHandler_Loop376 ; CPU:$C13A PRG:413A F0 0C + cmp #$05 ; CPU:$C13C PRG:413C C9 05 + beq NmiHandler_Loop376 ; CPU:$C13E PRG:413E F0 08 + cmp #$06 ; CPU:$C140 PRG:4140 C9 06 + beq NmiHandler_Loop376 ; CPU:$C142 PRG:4142 F0 04 + lda #$04 ; CPU:$C144 PRG:4144 A9 04 + bne NmiHandler_Loop377 ; CPU:$C146 PRG:4146 D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop376 +; Global: Branch target inside NmiHandler: taken when Loop376. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop376: + ldy Zp7B ; CPU:$C148 PRG:4148 A4 7B + lda $D52E,y ; CPU:$C14A PRG:414A B9 2E D5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop377 +; Global: Branch target inside NmiHandler: taken when Loop377. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop377: + ldy PlayerSpeed2 ; CPU:$C14D PRG:414D A4 90 + sta $0312,y ; CPU:$C14F PRG:414F 99 12 03 + lda $06FD ; CPU:$C152 PRG:4152 AD FD 06 + cpy $06B1 ; CPU:$C155 PRG:4155 CC B1 06 + beq NmiHandler_Loop382 ; CPU:$C158 PRG:4158 F0 28 + cpy $06C5 ; CPU:$C15A PRG:415A CC C5 06 + bne NmiHandler_Loop378 ; CPU:$C15D PRG:415D D0 03 + jmp Sub_C1E3 ; CPU:$C15F PRG:415F 4C E3 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop378 +; Global: Branch target inside NmiHandler: taken when Loop378. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop378: + cpy $06B9 ; CPU:$C162 PRG:4162 CC B9 06 + bne NmiHandler_Loop379 ; CPU:$C165 PRG:4165 D0 03 + jmp Sub_C30C ; CPU:$C167 PRG:4167 4C 0C C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop379 +; Global: Branch target inside NmiHandler: taken when Loop379. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop379: + cpy $06CD ; CPU:$C16A PRG:416A CC CD 06 + bne NmiHandler_Loop380 ; CPU:$C16D PRG:416D D0 03 + jmp Sub_C312 ; CPU:$C16F PRG:416F 4C 12 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop380 +; Global: Branch target inside NmiHandler: taken when Loop380. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop380: + ldx PlayerSpeed2 ; CPU:$C172 PRG:4172 A6 90 + lda $0311,x ; CPU:$C174 PRG:4174 BD 11 03 + beq NmiHandler_Loop381 ; CPU:$C177 PRG:4177 F0 06 + dec $0311,x ; CPU:$C179 PRG:4179 DE 11 03 + jmp NmiHandler_OnCarryClear2 ; CPU:$C17C PRG:417C 4C 1D C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop381 +; Global: Branch target inside NmiHandler: taken when Loop381. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop381: + jmp NmiHandler_OnNonzero56 ; CPU:$C17F PRG:417F 4C 15 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop382 +; Global: Branch target inside NmiHandler: taken when Loop382. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop382: + cmp #$05 ; CPU:$C182 PRG:4182 C9 05 + bne NmiHandler_Loop383 ; CPU:$C184 PRG:4184 D0 03 + jmp NmiHandler_Loop393 ; CPU:$C186 PRG:4186 4C 3B C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop383 +; Global: Branch target inside NmiHandler: taken when Loop383. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop383: + lda $06E7 ; CPU:$C189 PRG:4189 AD E7 06 + cmp #$11 ; CPU:$C18C PRG:418C C9 11 + bne NmiHandler_Loop385 ; CPU:$C18E PRG:418E D0 0D + lda $042F ; CPU:$C190 PRG:4190 AD 2F 04 + cmp #$05 ; CPU:$C193 PRG:4193 C9 05 + bne NmiHandler_Loop384 ; CPU:$C195 PRG:4195 D0 03 + jmp NmiHandler_Loop402 ; CPU:$C197 PRG:4197 4C 2E C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop384 +; Global: Branch target inside NmiHandler: taken when Loop384. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop384: + lda $06E7 ; CPU:$C19A PRG:419A AD E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop385 +; Global: Branch target inside NmiHandler: taken when Loop385. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop385: + cmp #$06 ; CPU:$C19D PRG:419D C9 06 + bcs NmiHandler_Loop387 ; CPU:$C19F PRG:419F B0 1B + lda $06A9 ; CPU:$C1A1 PRG:41A1 AD A9 06 + cmp #$02 ; CPU:$C1A4 PRG:41A4 C9 02 + beq NmiHandler_Loop386 ; CPU:$C1A6 PRG:41A6 F0 03 + jmp NmiHandler_Loop393 ; CPU:$C1A8 PRG:41A8 4C 3B C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop386 +; Global: Branch target inside NmiHandler: taken when Loop386. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop386: + lda Zp94 ; CPU:$C1AB PRG:41AB A5 94 + cmp $060A ; CPU:$C1AD PRG:41AD CD 0A 06 + beq NmiHandler_Loop387 ; CPU:$C1B0 PRG:41B0 F0 0A + lda Zp16 ; CPU:$C1B2 PRG:41B2 A5 16 + ora $07F4 ; CPU:$C1B4 PRG:41B4 0D F4 07 + and #$05 ; CPU:$C1B7 PRG:41B7 29 05 + jmp Sub_C1C1 ; CPU:$C1B9 PRG:41B9 4C C1 C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop387 +; Global: Branch target inside NmiHandler: taken when Loop387. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop387: + lda Zp16 ; CPU:$C1BC PRG:41BC A5 16 + ora $07F4 ; CPU:$C1BE PRG:41BE 0D F4 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1C1 +; Global: Branch target inside Sub: taken when C1C1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1C1: + ldy #$0E ; CPU:$C1C1 PRG:41C1 A0 0E + sta (PlayerSpeed2),y ; CPU:$C1C3 PRG:41C3 91 90 + lda $06E7 ; CPU:$C1C5 PRG:41C5 AD E7 06 + cmp #$11 ; CPU:$C1C8 PRG:41C8 C9 11 + beq NmiHandler_Loop388 ; CPU:$C1CA PRG:41CA F0 07 + cmp #$0E ; CPU:$C1CC PRG:41CC C9 0E + bne NmiHandler_Loop393 ; CPU:$C1CE PRG:41CE D0 6B + jmp Sub_C1DA ; CPU:$C1D0 PRG:41D0 4C DA C1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop388 +; Global: Branch target inside NmiHandler: taken when Loop388. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop388: + lda $042F ; CPU:$C1D3 PRG:41D3 AD 2F 04 + cmp #$05 ; CPU:$C1D6 PRG:41D6 C9 05 + bne NmiHandler_Loop393 ; CPU:$C1D8 PRG:41D8 D0 61 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1DA +; Global: Branch target inside Sub: taken when C1DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1DA: + lda (PlayerSpeed2),y ; CPU:$C1DA PRG:41DA B1 90 + and #$F0 ; CPU:$C1DC PRG:41DC 29 F0 + sta (PlayerSpeed2),y ; CPU:$C1DE PRG:41DE 91 90 + jmp NmiHandler_Loop393 ; CPU:$C1E0 PRG:41E0 4C 3B C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1E3 +; Global: Branch target inside Sub: taken when C1E3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1E3: + cmp #$0B ; CPU:$C1E3 PRG:41E3 C9 0B + beq NmiHandler_Loop393 ; CPU:$C1E5 PRG:41E5 F0 54 + lda $06E7 ; CPU:$C1E7 PRG:41E7 AD E7 06 + cmp #$11 ; CPU:$C1EA PRG:41EA C9 11 + bne NmiHandler_Loop390 ; CPU:$C1EC PRG:41EC D0 0D + lda $042F ; CPU:$C1EE PRG:41EE AD 2F 04 + cmp #$05 ; CPU:$C1F1 PRG:41F1 C9 05 + bne NmiHandler_Loop389 ; CPU:$C1F3 PRG:41F3 D0 03 + jmp NmiHandler_Loop402 ; CPU:$C1F5 PRG:41F5 4C 2E C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop389 +; Global: Branch target inside NmiHandler: taken when Loop389. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop389: + lda $06E7 ; CPU:$C1F8 PRG:41F8 AD E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop390 +; Global: Branch target inside NmiHandler: taken when Loop390. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop390: + cmp #$06 ; CPU:$C1FB PRG:41FB C9 06 + bcs NmiHandler_Loop391 ; CPU:$C1FD PRG:41FD B0 18 + lda $06A9 ; CPU:$C1FF PRG:41FF AD A9 06 + cmp #$01 ; CPU:$C202 PRG:4202 C9 01 + bne NmiHandler_Loop393 ; CPU:$C204 PRG:4204 D0 35 + lda Zp94 ; CPU:$C206 PRG:4206 A5 94 + cmp $0646 ; CPU:$C208 PRG:4208 CD 46 06 + beq NmiHandler_Loop391 ; CPU:$C20B PRG:420B F0 0A + lda Zp17 ; CPU:$C20D PRG:420D A5 17 + ora $07F5 ; CPU:$C20F PRG:420F 0D F5 07 + and #$06 ; CPU:$C212 PRG:4212 29 06 + jmp Sub_C21C ; CPU:$C214 PRG:4214 4C 1C C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop391 +; Global: Branch target inside NmiHandler: taken when Loop391. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop391: + lda Zp17 ; CPU:$C217 PRG:4217 A5 17 + ora $07F5 ; CPU:$C219 PRG:4219 0D F5 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_C21C +; Global: Branch target inside Sub: taken when C21C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C21C: + ldy #$0E ; CPU:$C21C PRG:421C A0 0E + sta (PlayerSpeed2),y ; CPU:$C21E PRG:421E 91 90 + lda $06E7 ; CPU:$C220 PRG:4220 AD E7 06 + cmp #$11 ; CPU:$C223 PRG:4223 C9 11 + beq NmiHandler_Loop392 ; CPU:$C225 PRG:4225 F0 07 + cmp #$0E ; CPU:$C227 PRG:4227 C9 0E + bne NmiHandler_Loop393 ; CPU:$C229 PRG:4229 D0 10 + jmp Sub_C235 ; CPU:$C22B PRG:422B 4C 35 C2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop392 +; Global: Branch target inside NmiHandler: taken when Loop392. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop392: + lda $042F ; CPU:$C22E PRG:422E AD 2F 04 + cmp #$05 ; CPU:$C231 PRG:4231 C9 05 + bne NmiHandler_Loop393 ; CPU:$C233 PRG:4233 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C235 +; Global: Branch target inside Sub: taken when C235. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C235: + lda (PlayerSpeed2),y ; CPU:$C235 PRG:4235 B1 90 + and #$F0 ; CPU:$C237 PRG:4237 29 F0 + sta (PlayerSpeed2),y ; CPU:$C239 PRG:4239 91 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop393 +; Global: Branch target inside NmiHandler: taken when Loop393. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop393: + lda $06E7 ; CPU:$C23B PRG:423B AD E7 06 + cmp #$06 ; CPU:$C23E PRG:423E C9 06 + beq NmiHandler_Loop396 ; CPU:$C240 PRG:4240 F0 35 + cmp #$0E ; CPU:$C242 PRG:4242 C9 0E + beq NmiHandler_Loop396 ; CPU:$C244 PRG:4244 F0 31 + cmp #$11 ; CPU:$C246 PRG:4246 C9 11 + bne NmiHandler_Loop394 ; CPU:$C248 PRG:4248 D0 0A + lda $042F ; CPU:$C24A PRG:424A AD 2F 04 + cmp #$05 ; CPU:$C24D PRG:424D C9 05 + beq NmiHandler_Loop396 ; CPU:$C24F PRG:424F F0 26 + lda $06E7 ; CPU:$C251 PRG:4251 AD E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop394 +; Global: Branch target inside NmiHandler: taken when Loop394. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop394: + cmp #$05 ; CPU:$C254 PRG:4254 C9 05 + beq NmiHandler_Loop395 ; CPU:$C256 PRG:4256 F0 03 + jmp NmiHandler_OnNonzero56 ; CPU:$C258 PRG:4258 4C 15 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop395 +; Global: Branch target inside NmiHandler: taken when Loop395. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop395: + ldy PlayerSpeed2 ; CPU:$C25B PRG:425B A4 90 + ldx Zp92 ; CPU:$C25D PRG:425D A6 92 + lda $0302,y ; CPU:$C25F PRG:425F B9 02 03 + sta $0602,x ; CPU:$C262 PRG:4262 9D 02 06 + lda $0303,y ; CPU:$C265 PRG:4265 B9 03 03 + sta $0603,x ; CPU:$C268 PRG:4268 9D 03 06 + lda $0304,y ; CPU:$C26B PRG:426B B9 04 03 + sta $0600,x ; CPU:$C26E PRG:426E 9D 00 06 + lda $0305,y ; CPU:$C271 PRG:4271 B9 05 03 + sta $0601,x ; CPU:$C274 PRG:4274 9D 01 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop396 +; Global: Branch target inside NmiHandler: taken when Loop396. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop396: + ldy #$0A ; CPU:$C277 PRG:4277 A0 0A + lda (PlayerSpeed2),y ; CPU:$C279 PRG:4279 B1 90 + and #$04 ; CPU:$C27B PRG:427B 29 04 + beq NmiHandler_Loop397 ; CPU:$C27D PRG:427D F0 09 + lda #$00 ; CPU:$C27F PRG:427F A9 00 + ldy #$08 ; CPU:$C281 PRG:4281 A0 08 + sta (Zp92),y ; CPU:$C283 PRG:4283 91 92 + jmp Sub_C319 ; CPU:$C285 PRG:4285 4C 19 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop397 +; Global: Branch target inside NmiHandler: taken when Loop397. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop397: + lda (PlayerSpeed2),y ; CPU:$C288 PRG:4288 B1 90 + and #$01 ; CPU:$C28A PRG:428A 29 01 + bne NmiHandler_Loop399 ; CPU:$C28C PRG:428C D0 14 + lda $06E7 ; CPU:$C28E PRG:428E AD E7 06 + cmp #$06 ; CPU:$C291 PRG:4291 C9 06 + bne NmiHandler_Loop398 ; CPU:$C293 PRG:4293 D0 0A + lda Zp47 ; CPU:$C295 PRG:4295 A5 47 + bne NmiHandler_Loop398 ; CPU:$C297 PRG:4297 D0 06 + ldy #$14 ; CPU:$C299 PRG:4299 A0 14 + lda (PlayerSpeed2),y ; CPU:$C29B PRG:429B B1 90 + bne NmiHandler_Loop400 ; CPU:$C29D PRG:429D D0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop398 +; Global: Branch target inside NmiHandler: taken when Loop398. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop398: + jmp Sub_C370 ; CPU:$C29F PRG:429F 4C 70 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop399 +; Global: Branch target inside NmiHandler: taken when Loop399. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop399: + ldy Zp7B ; CPU:$C2A2 PRG:42A2 A4 7B + lda $D533,y ; CPU:$C2A4 PRG:42A4 B9 33 D5 + ldy #$12 ; CPU:$C2A7 PRG:42A7 A0 12 + sta (PlayerSpeed2),y ; CPU:$C2A9 PRG:42A9 91 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop400 +; Global: Branch target inside NmiHandler: taken when Loop400. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop400: + lda TimerIndex ; CPU:$C2AB PRG:42AB A5 A3 + ldy #$00 ; CPU:$C2AD PRG:42AD A0 00 + sta (Zp92),y ; CPU:$C2AF PRG:42AF 91 92 + lda TimerIndex2 ; CPU:$C2B1 PRG:42B1 A5 A4 + iny ; CPU:$C2B3 PRG:42B3 C8 + sta (Zp92),y ; CPU:$C2B4 PRG:42B4 91 92 + lda TimerIndex3 ; CPU:$C2B6 PRG:42B6 A5 A8 + iny ; CPU:$C2B8 PRG:42B8 C8 + sta (Zp92),y ; CPU:$C2B9 PRG:42B9 91 92 + lda TimerIndex4 ; CPU:$C2BB PRG:42BB A5 A9 + iny ; CPU:$C2BD PRG:42BD C8 + sta (Zp92),y ; CPU:$C2BE PRG:42BE 91 92 + lda $06C5 ; CPU:$C2C0 PRG:42C0 AD C5 06 + cmp PlayerSpeed2 ; CPU:$C2C3 PRG:42C3 C5 90 + bne NmiHandler_OnNonzero55 ; CPU:$C2C5 PRG:42C5 D0 04 + lda Zp24 ; CPU:$C2C7 PRG:42C7 A5 24 + beq NmiHandler_Loop401 ; CPU:$C2C9 PRG:42C9 F0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero55 +; Global: Branch target inside NmiHandler: taken when OnNonzero55. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero55: + jmp NmiHandler_OnNonzero56 ; CPU:$C2CB PRG:42CB 4C 15 C3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop401 +; Global: Branch target inside NmiHandler: taken when Loop401. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop401: + lda Zp47 ; CPU:$C2CE PRG:42CE A5 47 + bne NmiHandler_OnNonzero55 ; CPU:$C2D0 PRG:42D0 D0 F9 + lda $06E7 ; CPU:$C2D2 PRG:42D2 AD E7 06 + cmp #$06 ; CPU:$C2D5 PRG:42D5 C9 06 + bne NmiHandler_OnNonzero55 ; CPU:$C2D7 PRG:42D7 D0 F2 + lda Zp94 ; CPU:$C2D9 PRG:42D9 A5 94 + cmp #$FF ; CPU:$C2DB PRG:42DB C9 FF + beq NmiHandler_OnNonzero55 ; CPU:$C2DD PRG:42DD F0 EC + cmp #$7E ; CPU:$C2DF PRG:42DF C9 7E + bcs NmiHandler_OnNonzero55 ; CPU:$C2E1 PRG:42E1 B0 E8 + lda Zp2E ; CPU:$C2E3 PRG:42E3 A5 2E + ldx Zp7B ; CPU:$C2E5 PRG:42E5 A6 7B + cmp $D538,x ; CPU:$C2E7 PRG:42E7 DD 38 D5 + bcs NmiHandler_OnNonzero55 ; CPU:$C2EA PRG:42EA B0 DF + lda (Zp92),y ; CPU:$C2EC PRG:42EC B1 92 + sec ; CPU:$C2EE PRG:42EE 38 + sbc #$80 ; CPU:$C2EF PRG:42EF E9 80 + sta (Zp92),y ; CPU:$C2F1 PRG:42F1 91 92 + dey ; CPU:$C2F3 PRG:42F3 88 + lda (Zp92),y ; CPU:$C2F4 PRG:42F4 B1 92 + sbc #$00 ; CPU:$C2F6 PRG:42F6 E9 00 + sta (Zp92),y ; CPU:$C2F8 PRG:42F8 91 92 + dey ; CPU:$C2FA PRG:42FA 88 + lda (Zp92),y ; CPU:$C2FB PRG:42FB B1 92 + sec ; CPU:$C2FD PRG:42FD 38 + sbc #$80 ; CPU:$C2FE PRG:42FE E9 80 + sta (Zp92),y ; CPU:$C300 PRG:4300 91 92 + dey ; CPU:$C302 PRG:4302 88 + lda (Zp92),y ; CPU:$C303 PRG:4303 B1 92 + sbc #$00 ; CPU:$C305 PRG:4305 E9 00 + sta (Zp92),y ; CPU:$C307 PRG:4307 91 92 + jmp NmiHandler_OnNonzero56 ; CPU:$C309 PRG:4309 4C 15 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C30C +; Global: Branch target inside Sub: taken when C30C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C30C: + sty $06B9 ; CPU:$C30C PRG:430C 8C B9 06 + jmp NmiHandler_OnNonzero56 ; CPU:$C30F PRG:430F 4C 15 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C312 +; Global: Branch target inside Sub: taken when C312. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C312: + sty $06CD ; CPU:$C312 PRG:4312 8C CD 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero56 +; Global: Branch target inside NmiHandler: taken when OnNonzero56. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero56: + ldy #$08 ; CPU:$C315 PRG:4315 A0 08 + lda (Zp92),y ; CPU:$C317 PRG:4317 B1 92 +; ----------------------------------------------------------------------------- +; Routine: Sub_C319 +; Global: Branch target inside Sub: taken when C319. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C319: + ldy #$0E ; CPU:$C319 PRG:4319 A0 0E + sta (PlayerSpeed2),y ; CPU:$C31B PRG:431B 91 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear2 +; Global: Branch target inside NmiHandler: taken when OnCarryClear2. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear2: + ldy #$0E ; CPU:$C31D PRG:431D A0 0E + lda (PlayerSpeed2),y ; CPU:$C31F PRG:431F B1 90 + and #$0F ; CPU:$C321 PRG:4321 29 0F + beq NmiHandler_Loop402 ; CPU:$C323 PRG:4323 F0 09 + tay ; CPU:$C325 PRG:4325 A8 + dey ; CPU:$C326 PRG:4326 88 + lda $D507,y ; CPU:$C327 PRG:4327 B9 07 D5 + ldy #$0B ; CPU:$C32A PRG:432A A0 0B + sta (PlayerSpeed2),y ; CPU:$C32C PRG:432C 91 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop402 +; Global: Branch target inside NmiHandler: taken when Loop402. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop402: + jsr Sub_B8D1 ; CPU:$C32E PRG:432E 20 D1 B8 + lda PlayerSpeed2 ; CPU:$C331 PRG:4331 A5 90 + cmp $06B1 ; CPU:$C333 PRG:4333 CD B1 06 + beq NmiHandler_Loop403 ; CPU:$C336 PRG:4336 F0 05 + cmp $06C5 ; CPU:$C338 PRG:4338 CD C5 06 + bne NmiHandler_Loop406 ; CPU:$C33B PRG:433B D0 1B +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop403 +; Global: Branch target inside NmiHandler: taken when Loop403. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop403: + lda $06E7 ; CPU:$C33D PRG:433D AD E7 06 + cmp #$0E ; CPU:$C340 PRG:4340 C9 0E + beq NmiHandler_Loop405 ; CPU:$C342 PRG:4342 F0 11 + cmp #$11 ; CPU:$C344 PRG:4344 C9 11 + bne NmiHandler_Loop404 ; CPU:$C346 PRG:4346 D0 09 + lda $042F ; CPU:$C348 PRG:4348 AD 2F 04 + cmp #$05 ; CPU:$C34B PRG:434B C9 05 + beq NmiHandler_Loop405 ; CPU:$C34D PRG:434D F0 06 + bne NmiHandler_Loop406 ; CPU:$C34F PRG:434F D0 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop404 +; Global: Branch target inside NmiHandler: taken when Loop404. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop404: + cmp #$0B ; CPU:$C351 PRG:4351 C9 0B + bcs NmiHandler_Loop406 ; CPU:$C353 PRG:4353 B0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop405 +; Global: Branch target inside NmiHandler: taken when Loop405. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop405: + jsr Sub_B5E3 ; CPU:$C355 PRG:4355 20 E3 B5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop406 +; Global: Branch target inside NmiHandler: taken when Loop406. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop406: + inc $06FD ; CPU:$C358 PRG:4358 EE FD 06 + lda Zp92 ; CPU:$C35B PRG:435B A5 92 + clc ; CPU:$C35D PRG:435D 18 + adc #$0A ; CPU:$C35E PRG:435E 69 0A + sta Zp92 ; CPU:$C360 PRG:4360 85 92 + cmp #$79 ; CPU:$C362 PRG:4362 C9 79 + beq NmiHandler_Loop407 ; CPU:$C364 PRG:4364 F0 09 + tay ; CPU:$C366 PRG:4366 A8 + lda $05FF,y ; CPU:$C367 PRG:4367 B9 FF 05 + sta PlayerSpeed2 ; CPU:$C36A PRG:436A 85 90 + jmp Sub_C0EA ; CPU:$C36C PRG:436C 4C EA C0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop407 +; Global: Branch target inside NmiHandler: taken when Loop407. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop407: + rts ; CPU:$C36F PRG:436F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C370 +; Global: Branch target inside Sub: taken when C370. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C370: + jmp NmiHandler_OnCarryClear2 ; CPU:$C370 PRG:4370 4C 1D C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C373 +; Global: Branch target inside Label: taken when C373. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C373: + lda PlayerSpeed2 ; CPU:$C373 PRG:4373 A5 90 + cmp #$7E ; CPU:$C375 PRG:4375 C9 7E + bcc NmiHandler_OnCarryClear2 ; CPU:$C377 PRG:4377 90 A4 + tay ; CPU:$C379 PRG:4379 A8 + lda $030A,y ; CPU:$C37A PRG:437A B9 0A 03 + and #$02 ; CPU:$C37D PRG:437D 29 02 + bne NmiHandler_OnNonzero56 ; CPU:$C37F PRG:437F D0 94 + lda $030C,y ; CPU:$C381 PRG:4381 B9 0C 03 + and #$40 ; CPU:$C384 PRG:4384 29 40 + bne NmiHandler_OnNonzero56 ; CPU:$C386 PRG:4386 D0 8D + jmp Sub_C319 ; CPU:$C388 PRG:4388 4C 19 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C38B +; Global: Branch target inside Sub: taken when C38B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C38B: + lda Zp0A ; CPU:$C38B PRG:438B A5 0A + bpl NmiHandler_Loop408 ; CPU:$C38D PRG:438D 10 08 + lda #$11 ; CPU:$C38F PRG:438F A9 11 + sta TimerIndex ; CPU:$C391 PRG:4391 85 A3 + lda #$01 ; CPU:$C393 PRG:4393 A9 01 + bne NmiHandler_Loop409 ; CPU:$C395 PRG:4395 D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop408 +; Global: Branch target inside NmiHandler: taken when Loop408. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop408: + lda #$0F ; CPU:$C397 PRG:4397 A9 0F + sta TimerIndex ; CPU:$C399 PRG:4399 85 A3 + lda #$81 ; CPU:$C39B PRG:439B A9 81 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop409 +; Global: Branch target inside NmiHandler: taken when Loop409. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop409: + sta $040A ; CPU:$C39D PRG:439D 8D 0A 04 + lda #$00 ; CPU:$C3A0 PRG:43A0 A9 00 + sta TimerIndex2 ; CPU:$C3A2 PRG:43A2 85 A4 + lda #$0F ; CPU:$C3A4 PRG:43A4 A9 0F + sta TimerIndex3 ; CPU:$C3A6 PRG:43A6 85 A8 + lda #$40 ; CPU:$C3A8 PRG:43A8 A9 40 + sta TimerIndex4 ; CPU:$C3AA PRG:43AA 85 A9 + lda #$04 ; CPU:$C3AC PRG:43AC A9 04 + sta $06A8 ; CPU:$C3AE PRG:43AE 8D A8 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3B1 +; Global: Branch target inside Sub: taken when C3B1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3B1: + lda #$00 ; CPU:$C3B1 PRG:43B1 A9 00 + sta ZpA1 ; CPU:$C3B3 PRG:43B3 85 A1 + sta ZpA2 ; CPU:$C3B5 PRG:43B5 85 A2 + sta ZpA6 ; CPU:$C3B7 PRG:43B7 85 A6 + sta ZpA7 ; CPU:$C3B9 PRG:43B9 85 A7 + sta ZpAD ; CPU:$C3BB PRG:43BB 85 AD + sta ZpAE ; CPU:$C3BD PRG:43BD 85 AE + sta ZpAB ; CPU:$C3BF PRG:43BF 85 AB + sta ZpAC ; CPU:$C3C1 PRG:43C1 85 AC + sta ZpAA ; CPU:$C3C3 PRG:43C3 85 AA + rts ; CPU:$C3C5 PRG:43C5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C3C6 +; Global: Branch target inside Label: taken when C3C6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C3C6: + lda Zp2E ; CPU:$C3C6 PRG:43C6 A5 2E + and #$1F ; CPU:$C3C8 PRG:43C8 29 1F + cmp #$10 ; CPU:$C3CA PRG:43CA C9 10 + beq NmiHandler_Loop410 ; CPU:$C3CC PRG:43CC F0 01 + rts ; CPU:$C3CE PRG:43CE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop410 +; Global: Branch target inside NmiHandler: taken when Loop410. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop410: + lda Zp94 ; CPU:$C3CF PRG:43CF A5 94 + cmp #$7E ; CPU:$C3D1 PRG:43D1 C9 7E + bcs NmiHandler_Loop411 ; CPU:$C3D3 PRG:43D3 B0 10 + ldy $06B1 ; CPU:$C3D5 PRG:43D5 AC B1 06 + lda $0313,y ; CPU:$C3D8 PRG:43D8 B9 13 03 + sta $06C5 ; CPU:$C3DB PRG:43DB 8D C5 06 + jsr Sub_C3F5 ; CPU:$C3DE PRG:43DE 20 F5 C3 + sty $06C4 ; CPU:$C3E1 PRG:43E1 8C C4 06 + rts ; CPU:$C3E4 PRG:43E4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop411 +; Global: Branch target inside NmiHandler: taken when Loop411. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop411: + ldy $06C5 ; CPU:$C3E5 PRG:43E5 AC C5 06 + lda $0313,y ; CPU:$C3E8 PRG:43E8 B9 13 03 + sta $06B1 ; CPU:$C3EB PRG:43EB 8D B1 06 + jsr Sub_C3F5 ; CPU:$C3EE PRG:43EE 20 F5 C3 + sty $06B0 ; CPU:$C3F1 PRG:43F1 8C B0 06 + rts ; CPU:$C3F4 PRG:43F4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3F5 +; Global: Branch target inside Sub: taken when C3F5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3F5: + tay ; CPU:$C3F5 PRG:43F5 A8 + lda $F000,y ; CPU:$C3F6 PRG:43F6 B9 00 F0 + tay ; CPU:$C3F9 PRG:43F9 A8 + rts ; CPU:$C3FA PRG:43FA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C3FB +; Global: Branch target inside Label: taken when C3FB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C3FB: + ldx #$06 ; CPU:$C3FB PRG:43FB A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero57 +; Global: Branch target inside NmiHandler: taken when OnNonzero57. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero57: + cmp $D51A,y ; CPU:$C3FD PRG:43FD D9 1A D5 + beq NmiHandler_Loop412 ; CPU:$C400 PRG:4400 F0 07 + iny ; CPU:$C402 PRG:4402 C8 + iny ; CPU:$C403 PRG:4403 C8 + dex ; CPU:$C404 PRG:4404 CA + bne NmiHandler_OnNonzero57 ; CPU:$C405 PRG:4405 D0 F6 + lda #$FF ; CPU:$C407 PRG:4407 A9 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop412 +; Global: Branch target inside NmiHandler: taken when Loop412. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop412: + rts ; CPU:$C409 PRG:4409 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C40A +; Global: Branch target inside Sub: taken when C40A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C40A: + lda $06E7 ; CPU:$C40A PRG:440A AD E7 06 + jsr Sub_84BD ; CPU:$C40D PRG:440D 20 BD 84 + adc $FCC4,x ; CPU:$C410 PRG:4410 7D C4 FC + cpy VramReadPtrLo ; CPU:$C413 PRG:4413 C4 0C + cmp Zp17 ; CPU:$C415 PRG:4415 C5 17 + cmp Zp3A ; CPU:$C417 PRG:4417 C5 3A + cmp Zp0B ; CPU:$C419 PRG:4419 C5 0B + dec ZpDB ; CPU:$C41B PRG:441B C6 DB + dec Zp0E ; CPU:$C41D PRG:441D C6 0E + iny ; CPU:$C41F PRG:441F C8 + bit $3AC8 ; CPU:$C420 PRG:4420 2C C8 3A + iny ; CPU:$C423 PRG:4423 C8 + ror a ; CPU:$C424 PRG:4424 6A + iny ; CPU:$C425 PRG:4425 C8 + sta $F9CA,y ; CPU:$C426 PRG:4426 99 CA F9 + dex ; CPU:$C429 PRG:4429 CA + and $34CD,x ; CPU:$C42A PRG:442A 3D CD 34 + dec $C48D ; CPU:$C42D PRG:442D CE 8D C4 + ora (ZpCD,x) ; CPU:$C430 PRG:4430 01 CD +; ---- data $C432-$C501 (208 bytes) ---- +; referenced by `dec $C48D` at $C42D (operand $C48D falls inside this region) + .byte $32, $E1, $91, $C8, $9A, $C8, $B6, $C4, $07, $CA, $48, $C4, $5B, $C4, $5C, $C4 ; CPU:$C432 PRG:4432 32 E1 91 C8 9A C8 B6 C4 07 CA 48 C4 5B C4 5C C4 + .byte $9E, $E5, $9E, $E5, $86, $C8, $A5, $2C, $F0, $01, $60, $A9, $01, $8D, $60, $05 ; CPU:$C442 PRG:4442 9E E5 9E E5 86 C8 A5 2C F0 01 60 A9 01 8D 60 05 + .byte $EE, $E7, $06, $A9, $0A, $8D, $70, $05, $60, $60, $A9, $00, $8D, $E7, $06, $20 ; CPU:$C452 PRG:4452 EE E7 06 A9 0A 8D 70 05 60 60 A9 00 8D E7 06 20 + .byte $5E, $BE, $20, $B5, $BD, $20, $16, $BE, $A9, $FF, $8D, $70, $05, $A9, $01, $8D ; CPU:$C462 PRG:4462 5E BE 20 B5 BD 20 16 BE A9 FF 8D 70 05 A9 01 8D + .byte $AE, $06, $20, $44, $87, $A9, $00, $8D, $50, $05, $60, $A9, $14, $8D, $E7, $06 ; CPU:$C472 PRG:4472 AE 06 20 44 87 A9 00 8D 50 05 60 A9 14 8D E7 06 + .byte $60, $EE, $E7, $06, $60, $A9, $01, $8D, $E7, $06, $60, $A5, $2C, $F0, $01, $60 ; CPU:$C482 PRG:4482 60 EE E7 06 60 A9 01 8D E7 06 60 A5 2C F0 01 60 + .byte $A9, $03, $8D, $E7, $06, $AD, $03, $04, $29, $DF, $8D, $03, $04, $AD, $07, $04 ; CPU:$C492 PRG:4492 A9 03 8D E7 06 AD 03 04 29 DF 8D 03 04 AD 07 04 + .byte $29, $DF, $8D, $07, $04, $20, $8B, $C3, $AD, $A9, $06, $8D, $50, $05, $A9, $FF ; CPU:$C4A2 PRG:44A2 29 DF 8D 07 04 20 8B C3 AD A9 06 8D 50 05 A9 FF + .byte $8D, $70, $05, $60, $20, $A0, $C3, $20, $16, $BE, $A0, $03, $A5, $24, $D0, $02 ; CPU:$C4B2 PRG:44B2 8D 70 05 60 20 A0 C3 20 16 BE A0 03 A5 24 D0 02 + .byte $A4, $61, $84, $7B, $A9, $01, $8D, $AE, $06, $A5, $24, $D0, $1D, $AD, $9F, $06 ; CPU:$C4C2 PRG:44C2 A4 61 84 7B A9 01 8D AE 06 A5 24 D0 1D AD 9F 06 + .byte $F0, $08, $AD, $9E, $06, $49, $03, $4C, $EE, $C4, $20, $7E, $86, $65, $2E, $29 ; CPU:$C4D2 PRG:44D2 F0 08 AD 9E 06 49 03 4C EE C4 20 7E 86 65 2E 29 + .byte $01, $A8, $C8, $98, $8D, $9E, $06, $4C, $EE, $C4, $A9, $02, $8D, $A9, $06, $A9 ; CPU:$C4E2 PRG:44E2 01 A8 C8 98 8D 9E 06 4C EE C4 A9 02 8D A9 06 A9 + .byte $01, $8D, $E7, $06, $A9, $01, $8D, $AE, $06, $60, $AD, $E6, $06, $D0, $03, $4C ; CPU:$C4F2 PRG:44F2 01 8D E7 06 A9 01 8D AE 06 60 AD E6 06 D0 03 4C +; ----------------------------------------------------------------------------- +; Routine: Label_C502 +; Global: Branch target inside Label: taken when C502. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C502: + asl a ; CPU:$C502 PRG:4502 0A +; ----------------------------------------------------------------------------- +; Routine: Label_C503 +; Global: Branch target inside Label: taken when C503. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C503: + dec TimerIndex4 ; CPU:$C503 PRG:4503 C6 A9 + ora (Zp85,x) ; CPU:$C505 PRG:4505 01 85 + bit $E7EE ; CPU:$C507 PRG:4507 2C EE E7 + asl Zp60 ; CPU:$C50A PRG:450A 06 60 + lda Zp2C ; CPU:$C50C PRG:450C A5 2C + beq NmiHandler_Loop413 ; CPU:$C50E PRG:450E F0 03 + jmp NmiHandler_OnZero14 ; CPU:$C510 PRG:4510 4C 0A C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop413 +; Global: Branch target inside NmiHandler: taken when Loop413. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop413: + inc $06E7 ; CPU:$C513 PRG:4513 EE E7 06 + rts ; CPU:$C516 PRG:4516 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C517 +; Global: Branch target inside Label: taken when C517. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C517: + lda #$00 ; CPU:$C517 PRG:4517 A9 00 + sta $06EB ; CPU:$C519 PRG:4519 8D EB 06 + lda $06A9 ; CPU:$C51C PRG:451C AD A9 06 + cmp #$02 ; CPU:$C51F PRG:451F C9 02 + beq NmiHandler_Loop414 ; CPU:$C521 PRG:4521 F0 05 + ldy #$81 ; CPU:$C523 PRG:4523 A0 81 + jmp Sub_C52A ; CPU:$C525 PRG:4525 4C 2A C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop414 +; Global: Branch target inside NmiHandler: taken when Loop414. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop414: + ldy #$01 ; CPU:$C528 PRG:4528 A0 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_C52A +; Global: Branch target inside Sub: taken when C52A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C52A: + sty $06E2 ; CPU:$C52A PRG:452A 8C E2 06 + iny ; CPU:$C52D PRG:452D C8 + sty $06E3 ; CPU:$C52E PRG:452E 8C E3 06 + inc $06E7 ; CPU:$C531 PRG:4531 EE E7 06 + lda #$10 ; CPU:$C534 PRG:4534 A9 10 + sta $06A3 ; CPU:$C536 PRG:4536 8D A3 06 + rts ; CPU:$C539 PRG:4539 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C53A +; Global: Branch target inside Label: taken when C53A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C53A: + jsr Sub_867E ; CPU:$C53A PRG:453A 20 7E 86 + and #$07 ; CPU:$C53D PRG:453D 29 07 + tay ; CPU:$C53F PRG:453F A8 + lda $D53D,y ; CPU:$C540 PRG:4540 B9 3D D5 + sta $069D ; CPU:$C543 PRG:4543 8D 9D 06 + jsr Sub_8757 ; CPU:$C546 PRG:4546 20 57 87 + lda Zp0A ; CPU:$C549 PRG:4549 A5 0A + cmp #$80 ; CPU:$C54B PRG:454B C9 80 + beq NmiHandler_Loop415 ; CPU:$C54D PRG:454D F0 03 + jmp NmiHandler_OnZero14 ; CPU:$C54F PRG:454F 4C 0A C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop415 +; Global: Branch target inside NmiHandler: taken when Loop415. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop415: + lda $06E6 ; CPU:$C552 PRG:4552 AD E6 06 + bne NmiHandler_Loop416 ; CPU:$C555 PRG:4555 D0 03 + jmp NmiHandler_OnZero14 ; CPU:$C557 PRG:4557 4C 0A C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop416 +; Global: Branch target inside NmiHandler: taken when Loop416. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop416: + lda $06A3 ; CPU:$C55A PRG:455A AD A3 06 + beq NmiHandler_Loop417 ; CPU:$C55D PRG:455D F0 04 + dec $06A3 ; CPU:$C55F PRG:455F CE A3 06 + rts ; CPU:$C562 PRG:4562 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop417 +; Global: Branch target inside NmiHandler: taken when Loop417. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop417: + lda Zp43 ; CPU:$C563 PRG:4563 A5 43 + ora Zp44 ; CPU:$C565 PRG:4565 05 44 + bne NmiHandler_Loop418 ; CPU:$C567 PRG:4567 D0 08 + jsr Sub_8744 ; CPU:$C569 PRG:4569 20 44 87 + lda #$09 ; CPU:$C56C PRG:456C A9 09 + jmp Sub_C7D9 ; CPU:$C56E PRG:456E 4C D9 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop418 +; Global: Branch target inside NmiHandler: taken when Loop418. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop418: + lda $060A ; CPU:$C571 PRG:4571 AD 0A 06 + sta $06B1 ; CPU:$C574 PRG:4574 8D B1 06 + jsr Sub_C3F5 ; CPU:$C577 PRG:4577 20 F5 C3 + sty $06B0 ; CPU:$C57A PRG:457A 8C B0 06 + lda $0614 ; CPU:$C57D PRG:457D AD 14 06 + sta $06B9 ; CPU:$C580 PRG:4580 8D B9 06 + jsr Sub_C3F5 ; CPU:$C583 PRG:4583 20 F5 C3 + sty $06B8 ; CPU:$C586 PRG:4586 8C B8 06 + lda $0646 ; CPU:$C589 PRG:4589 AD 46 06 + sta $06C5 ; CPU:$C58C PRG:458C 8D C5 06 + jsr Sub_C3F5 ; CPU:$C58F PRG:458F 20 F5 C3 + sty $06C4 ; CPU:$C592 PRG:4592 8C C4 06 + lda $0650 ; CPU:$C595 PRG:4595 AD 50 06 + sta $06CD ; CPU:$C598 PRG:4598 8D CD 06 + jsr Sub_C3F5 ; CPU:$C59B PRG:459B 20 F5 C3 + sty $06CC ; CPU:$C59E PRG:459E 8C CC 06 + lda #$00 ; CPU:$C5A1 PRG:45A1 A9 00 + ldy $060A ; CPU:$C5A3 PRG:45A3 AC 0A 06 + sta $030A,y ; CPU:$C5A6 PRG:45A6 99 0A 03 + ldy $0614 ; CPU:$C5A9 PRG:45A9 AC 14 06 + sta $030A,y ; CPU:$C5AC PRG:45AC 99 0A 03 + ldy $0646 ; CPU:$C5AF PRG:45AF AC 46 06 + sta $030A,y ; CPU:$C5B2 PRG:45B2 99 0A 03 + ldy $0650 ; CPU:$C5B5 PRG:45B5 AC 50 06 + sta $030A,y ; CPU:$C5B8 PRG:45B8 99 0A 03 + lda $06A9 ; CPU:$C5BB PRG:45BB AD A9 06 + cmp #$02 ; CPU:$C5BE PRG:45BE C9 02 + bne NmiHandler_Loop419 ; CPU:$C5C0 PRG:45C0 D0 0B + ldy $06B1 ; CPU:$C5C2 PRG:45C2 AC B1 06 + lda #$83 ; CPU:$C5C5 PRG:45C5 A9 83 + sta $030A,y ; CPU:$C5C7 PRG:45C7 99 0A 03 + jmp Sub_C5D5 ; CPU:$C5CA PRG:45CA 4C D5 C5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop419 +; Global: Branch target inside NmiHandler: taken when Loop419. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop419: + ldy $06C5 ; CPU:$C5CD PRG:45CD AC C5 06 + lda #$83 ; CPU:$C5D0 PRG:45D0 A9 83 + sta $030A,y ; CPU:$C5D2 PRG:45D2 99 0A 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_C5D5 +; Global: Branch target inside Sub: taken when C5D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C5D5: + lda #$07 ; CPU:$C5D5 PRG:45D5 A9 07 + sta TimerIndex3 ; CPU:$C5D7 PRG:45D7 85 A8 + lda #$80 ; CPU:$C5D9 PRG:45D9 A9 80 + sta TimerIndex4 ; CPU:$C5DB PRG:45DB 85 A9 + lda #$10 ; CPU:$C5DD PRG:45DD A9 10 + sta TimerIndex ; CPU:$C5DF PRG:45DF 85 A3 + lda #$00 ; CPU:$C5E1 PRG:45E1 A9 00 + sta TimerIndex2 ; CPU:$C5E3 PRG:45E3 85 A4 + jsr Sub_C3B1 ; CPU:$C5E5 PRG:45E5 20 B1 C3 + lda #$20 ; CPU:$C5E8 PRG:45E8 A9 20 + sta Zp2A ; CPU:$C5EA PRG:45EA 85 2A + lda #$FF ; CPU:$C5EC PRG:45EC A9 FF + sta Zp94 ; CPU:$C5EE PRG:45EE 85 94 + inc $06E7 ; CPU:$C5F0 PRG:45F0 EE E7 06 + lda $06AE ; CPU:$C5F3 PRG:45F3 AD AE 06 + cmp #$01 ; CPU:$C5F6 PRG:45F6 C9 01 + bne NmiHandler_Loop420 ; CPU:$C5F8 PRG:45F8 D0 0A + lda #$05 ; CPU:$C5FA PRG:45FA A9 05 + sta $0570 ; CPU:$C5FC PRG:45FC 8D 70 05 + lda #$01 ; CPU:$C5FF PRG:45FF A9 01 + sta $06A2 ; CPU:$C601 PRG:4601 8D A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop420 +; Global: Branch target inside NmiHandler: taken when Loop420. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop420: + jsr Sub_8706 ; CPU:$C604 PRG:4604 20 06 87 + jsr Sub_8786 ; CPU:$C607 PRG:4607 20 86 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero14 +; Global: Branch target inside NmiHandler: taken when OnZero14. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero14: + rts ; CPU:$C60A PRG:460A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C60B +; Global: Branch target inside Label: taken when C60B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C60B: + lda Zp43 ; CPU:$C60B PRG:460B A5 43 + ora Zp44 ; CPU:$C60D PRG:460D 05 44 + bne NmiHandler_Loop421 ; CPU:$C60F PRG:460F D0 08 + jsr Sub_8744 ; CPU:$C611 PRG:4611 20 44 87 + lda #$09 ; CPU:$C614 PRG:4614 A9 09 + jmp Sub_C7D9 ; CPU:$C616 PRG:4616 4C D9 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop421 +; Global: Branch target inside NmiHandler: taken when Loop421. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop421: + lda Zp94 ; CPU:$C619 PRG:4619 A5 94 + cmp #$FF ; CPU:$C61B PRG:461B C9 FF + bne NmiHandler_Loop423 ; CPU:$C61D PRG:461D D0 15 + lda $06A9 ; CPU:$C61F PRG:461F AD A9 06 + cmp #$02 ; CPU:$C622 PRG:4622 C9 02 + beq NmiHandler_Loop422 ; CPU:$C624 PRG:4624 F0 07 + lda #$06 ; CPU:$C626 PRG:4626 A9 06 + sta Zp17 ; CPU:$C628 PRG:4628 85 17 + jmp NmiHandler_Loop424 ; CPU:$C62A PRG:462A 4C 44 C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop422 +; Global: Branch target inside NmiHandler: taken when Loop422. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop422: + lda #$05 ; CPU:$C62D PRG:462D A9 05 + sta Zp16 ; CPU:$C62F PRG:462F 85 16 + jmp NmiHandler_Loop424 ; CPU:$C631 PRG:4631 4C 44 C6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop423 +; Global: Branch target inside NmiHandler: taken when Loop423. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop423: + lda $06A9 ; CPU:$C634 PRG:4634 AD A9 06 + cmp #$02 ; CPU:$C637 PRG:4637 C9 02 + beq NmiHandler_Loop424 ; CPU:$C639 PRG:4639 F0 09 + lda Zp47 ; CPU:$C63B PRG:463B A5 47 + bne NmiHandler_Loop424 ; CPU:$C63D PRG:463D D0 05 + lda $069D ; CPU:$C63F PRG:463F AD 9D 06 + sta Zp17 ; CPU:$C642 PRG:4642 85 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop424 +; Global: Branch target inside NmiHandler: taken when Loop424. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop424: + lda Zp94 ; CPU:$C644 PRG:4644 A5 94 + cmp #$FF ; CPU:$C646 PRG:4646 C9 FF + beq NmiHandler_OnZero14 ; CPU:$C648 PRG:4648 F0 C0 + lda Zp94 ; CPU:$C64A PRG:464A A5 94 + cmp #$7E ; CPU:$C64C PRG:464C C9 7E + bcs NmiHandler_Loop425 ; CPU:$C64E PRG:464E B0 39 + ldy $0614 ; CPU:$C650 PRG:4650 AC 14 06 + sty Zp94 ; CPU:$C653 PRG:4653 84 94 + lda $030C,y ; CPU:$C655 PRG:4655 B9 0C 03 + and #$40 ; CPU:$C658 PRG:4658 29 40 + beq NmiHandler_Loop426 ; CPU:$C65A PRG:465A F0 6B + ldy $0614 ; CPU:$C65C PRG:465C AC 14 06 + ldx $060A ; CPU:$C65F PRG:465F AE 0A 06 + lda $030A,x ; CPU:$C662 PRG:4662 BD 0A 03 + beq NmiHandler_OnZero15 ; CPU:$C665 PRG:4665 F0 21 + lda $06AE ; CPU:$C667 PRG:4667 AD AE 06 + sta $06E8 ; CPU:$C66A PRG:466A 8D E8 06 + lda #$02 ; CPU:$C66D PRG:466D A9 02 + sta $06AE ; CPU:$C66F PRG:466F 8D AE 06 + lda #$83 ; CPU:$C672 PRG:4672 A9 83 + sta $030A,y ; CPU:$C674 PRG:4674 99 0A 03 + lda #$00 ; CPU:$C677 PRG:4677 A9 00 + sta $030A,x ; CPU:$C679 PRG:4679 9D 0A 03 + lda $0614 ; CPU:$C67C PRG:467C AD 14 06 + sta $06B1 ; CPU:$C67F PRG:467F 8D B1 06 + jsr Sub_C3F5 ; CPU:$C682 PRG:4682 20 F5 C3 + sty $06B0 ; CPU:$C685 PRG:4685 8C B0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero15 +; Global: Branch target inside NmiHandler: taken when OnZero15. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero15: + rts ; CPU:$C688 PRG:4688 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop425 +; Global: Branch target inside NmiHandler: taken when Loop425. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop425: + ldy $0650 ; CPU:$C689 PRG:4689 AC 50 06 + sty Zp94 ; CPU:$C68C PRG:468C 84 94 + lda $030C,y ; CPU:$C68E PRG:468E B9 0C 03 + and #$40 ; CPU:$C691 PRG:4691 29 40 + beq NmiHandler_Loop426 ; CPU:$C693 PRG:4693 F0 32 + ldy $0650 ; CPU:$C695 PRG:4695 AC 50 06 + ldx $0646 ; CPU:$C698 PRG:4698 AE 46 06 + lda $030A,x ; CPU:$C69B PRG:469B BD 0A 03 + beq NmiHandler_OnZero15 ; CPU:$C69E PRG:469E F0 E8 + lda $06AE ; CPU:$C6A0 PRG:46A0 AD AE 06 + sta $06E8 ; CPU:$C6A3 PRG:46A3 8D E8 06 + lda #$02 ; CPU:$C6A6 PRG:46A6 A9 02 + sta $06AE ; CPU:$C6A8 PRG:46A8 8D AE 06 + lda #$02 ; CPU:$C6AB PRG:46AB A9 02 + sta $06E8 ; CPU:$C6AD PRG:46AD 8D E8 06 + lda #$83 ; CPU:$C6B0 PRG:46B0 A9 83 + sta $030A,y ; CPU:$C6B2 PRG:46B2 99 0A 03 + lda #$00 ; CPU:$C6B5 PRG:46B5 A9 00 + sta $030A,x ; CPU:$C6B7 PRG:46B7 9D 0A 03 + lda $0650 ; CPU:$C6BA PRG:46BA AD 50 06 + sta $06C5 ; CPU:$C6BD PRG:46BD 8D C5 06 + jsr Sub_C3F5 ; CPU:$C6C0 PRG:46C0 20 F5 C3 + sty $06C4 ; CPU:$C6C3 PRG:46C3 8C C4 06 + rts ; CPU:$C6C6 PRG:46C6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop426 +; Global: Branch target inside NmiHandler: taken when Loop426. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop426: + inc $06E7 ; CPU:$C6C7 PRG:46C7 EE E7 06 + lda #$00 ; CPU:$C6CA PRG:46CA A9 00 + sta $06A8 ; CPU:$C6CC PRG:46CC 8D A8 06 + lda #$01 ; CPU:$C6CF PRG:46CF A9 01 + sta $06EB ; CPU:$C6D1 PRG:46D1 8D EB 06 + sta $06BE ; CPU:$C6D4 PRG:46D4 8D BE 06 + sta $06D2 ; CPU:$C6D7 PRG:46D7 8D D2 06 + rts ; CPU:$C6DA PRG:46DA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C6DB +; Global: Branch target inside Label: taken when C6DB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C6DB: + ldy $0632 ; CPU:$C6DB PRG:46DB AC 32 06 + lda $0300,y ; CPU:$C6DE PRG:46DE B9 00 03 + cmp #$13 ; CPU:$C6E1 PRG:46E1 C9 13 + beq NmiHandler_Loop427 ; CPU:$C6E3 PRG:46E3 F0 22 + ldy $066E ; CPU:$C6E5 PRG:46E5 AC 6E 06 + lda $0300,y ; CPU:$C6E8 PRG:46E8 B9 00 03 + cmp #$13 ; CPU:$C6EB PRG:46EB C9 13 + bne NmiHandler_Loop429 ; CPU:$C6ED PRG:46ED D0 32 + ldy #$14 ; CPU:$C6EF PRG:46EF A0 14 + lda #$00 ; CPU:$C6F1 PRG:46F1 A9 00 + sta $06C9 ; CPU:$C6F3 PRG:46F3 8D C9 06 + sta $06C8 ; CPU:$C6F6 PRG:46F6 8D C8 06 + lda #$02 ; CPU:$C6F9 PRG:46F9 A9 02 + jsr Sub_DD0B ; CPU:$C6FB PRG:46FB 20 0B DD + lda Zp47 ; CPU:$C6FE PRG:46FE A5 47 + bne NmiHandler_Loop428 ; CPU:$C700 PRG:4700 D0 14 + lda #$40 ; CPU:$C702 PRG:4702 A9 40 + jmp Sub_C718 ; CPU:$C704 PRG:4704 4C 18 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop427 +; Global: Branch target inside NmiHandler: taken when Loop427. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop427: + ldy #$00 ; CPU:$C707 PRG:4707 A0 00 + lda #$00 ; CPU:$C709 PRG:4709 A9 00 + sta $06B5 ; CPU:$C70B PRG:470B 8D B5 06 + sta $06B4 ; CPU:$C70E PRG:470E 8D B4 06 + lda #$01 ; CPU:$C711 PRG:4711 A9 01 + jsr Sub_DD0B ; CPU:$C713 PRG:4713 20 0B DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop428 +; Global: Branch target inside NmiHandler: taken when Loop428. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop428: + lda #$FF ; CPU:$C716 PRG:4716 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_C718 +; Global: Branch target inside Sub: taken when C718. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C718: + sta $06A1 ; CPU:$C718 PRG:4718 8D A1 06 + lda #$15 ; CPU:$C71B PRG:471B A9 15 + sta $06E7 ; CPU:$C71D PRG:471D 8D E7 06 + rts ; CPU:$C720 PRG:4720 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop429 +; Global: Branch target inside NmiHandler: taken when Loop429. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop429: + lda $06A2 ; CPU:$C721 PRG:4721 AD A2 06 + beq NmiHandler_Loop430 ; CPU:$C724 PRG:4724 F0 0A + lda #$FF ; CPU:$C726 PRG:4726 A9 FF + sta $0570 ; CPU:$C728 PRG:4728 8D 70 05 + lda #$00 ; CPU:$C72B PRG:472B A9 00 + sta $06A2 ; CPU:$C72D PRG:472D 8D A2 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop430 +; Global: Branch target inside NmiHandler: taken when Loop430. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop430: + lda $06EC ; CPU:$C730 PRG:4730 AD EC 06 + bne NmiHandler_Loop431 ; CPU:$C733 PRG:4733 D0 03 + jmp Sub_C7E2 ; CPU:$C735 PRG:4735 4C E2 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop431 +; Global: Branch target inside NmiHandler: taken when Loop431. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop431: + inc $069B ; CPU:$C738 PRG:4738 EE 9B 06 + lda $069B ; CPU:$C73B PRG:473B AD 9B 06 + cmp #$01 ; CPU:$C73E PRG:473E C9 01 + beq NmiHandler_Loop432 ; CPU:$C740 PRG:4740 F0 03 + jmp Sub_C7CB ; CPU:$C742 PRG:4742 4C CB C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop432 +; Global: Branch target inside NmiHandler: taken when Loop432. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop432: + ldy Zp94 ; CPU:$C745 PRG:4745 A4 94 + sty $069C ; CPU:$C747 PRG:4747 8C 9C 06 + cpy #$7E ; CPU:$C74A PRG:474A C0 7E + bcs NmiHandler_Loop433 ; CPU:$C74C PRG:474C B0 47 + lda $0305,y ; CPU:$C74E PRG:474E B9 05 03 + sec ; CPU:$C751 PRG:4751 38 + sbc #$00 ; CPU:$C752 PRG:4752 E9 00 + lda $0304,y ; CPU:$C754 PRG:4754 B9 04 03 + sbc #$10 ; CPU:$C757 PRG:4757 E9 10 + bcc NmiHandler_Loop434 ; CPU:$C759 PRG:4759 90 65 + ldy $06B9 ; CPU:$C75B PRG:475B AC B9 06 + lda $0304,y ; CPU:$C75E PRG:475E B9 04 03 + cmp #$04 ; CPU:$C761 PRG:4761 C9 04 + bcc NmiHandler_Loop434 ; CPU:$C763 PRG:4763 90 5B + cmp #$1B ; CPU:$C765 PRG:4765 C9 1B + bcs NmiHandler_Loop434 ; CPU:$C767 PRG:4767 B0 57 + lda $0302,y ; CPU:$C769 PRG:4769 B9 02 03 + cmp #$03 ; CPU:$C76C PRG:476C C9 03 + bcc NmiHandler_Loop434 ; CPU:$C76E PRG:476E 90 50 + cmp #$0D ; CPU:$C770 PRG:4770 C9 0D + bcs NmiHandler_Loop434 ; CPU:$C772 PRG:4772 B0 4C + ldx #$00 ; CPU:$C774 PRG:4774 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_C776 +; Global: Branch target inside Sub: taken when C776. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C776: + lda $06B9,x ; CPU:$C776 PRG:4776 BD B9 06 + tay ; CPU:$C779 PRG:4779 A8 + lda $0304,y ; CPU:$C77A PRG:477A B9 04 03 + sta $06F5 ; CPU:$C77D PRG:477D 8D F5 06 + lda $0305,y ; CPU:$C780 PRG:4780 B9 05 03 + sta $06F6 ; CPU:$C783 PRG:4783 8D F6 06 + lda $0302,y ; CPU:$C786 PRG:4786 B9 02 03 + sta $06F7 ; CPU:$C789 PRG:4789 8D F7 06 + lda $0303,y ; CPU:$C78C PRG:478C B9 03 03 + sta $06F8 ; CPU:$C78F PRG:478F 8D F8 06 + jmp NmiHandler_Loop435 ; CPU:$C792 PRG:4792 4C E7 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop433 +; Global: Branch target inside NmiHandler: taken when Loop433. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop433: + lda $0305,y ; CPU:$C795 PRG:4795 B9 05 03 + sec ; CPU:$C798 PRG:4798 38 + sbc #$00 ; CPU:$C799 PRG:4799 E9 00 + lda $0304,y ; CPU:$C79B PRG:479B B9 04 03 + sbc #$10 ; CPU:$C79E PRG:479E E9 10 + bcs NmiHandler_Loop434 ; CPU:$C7A0 PRG:47A0 B0 1E + ldy $06CD ; CPU:$C7A2 PRG:47A2 AC CD 06 + lda $0304,y ; CPU:$C7A5 PRG:47A5 B9 04 03 + cmp #$04 ; CPU:$C7A8 PRG:47A8 C9 04 + bcc NmiHandler_Loop434 ; CPU:$C7AA PRG:47AA 90 14 + cmp #$1B ; CPU:$C7AC PRG:47AC C9 1B + bcs NmiHandler_Loop434 ; CPU:$C7AE PRG:47AE B0 10 + lda $0302,y ; CPU:$C7B0 PRG:47B0 B9 02 03 + cmp #$03 ; CPU:$C7B3 PRG:47B3 C9 03 + bcc NmiHandler_Loop434 ; CPU:$C7B5 PRG:47B5 90 09 + cmp #$0D ; CPU:$C7B7 PRG:47B7 C9 0D + bcs NmiHandler_Loop434 ; CPU:$C7B9 PRG:47B9 B0 05 + ldx #$14 ; CPU:$C7BB PRG:47BB A2 14 + jmp Sub_C776 ; CPU:$C7BD PRG:47BD 4C 76 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop434 +; Global: Branch target inside NmiHandler: taken when Loop434. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop434: + lda #$00 ; CPU:$C7C0 PRG:47C0 A9 00 + sta $06EC ; CPU:$C7C2 PRG:47C2 8D EC 06 + sta $069B ; CPU:$C7C5 PRG:47C5 8D 9B 06 + jmp Sub_C7E2 ; CPU:$C7C8 PRG:47C8 4C E2 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7CB +; Global: Branch target inside Sub: taken when C7CB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7CB: + cmp #$08 ; CPU:$C7CB PRG:47CB C9 08 + bne NmiHandler_Loop435 ; CPU:$C7CD PRG:47CD D0 18 + jsr Sub_870E ; CPU:$C7CF PRG:47CF 20 0E 87 + lda #$04 ; CPU:$C7D2 PRG:47D2 A9 04 + sta $06AD ; CPU:$C7D4 PRG:47D4 8D AD 06 + lda #$0B ; CPU:$C7D7 PRG:47D7 A9 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_C7D9 +; Global: Branch target inside Sub: taken when C7D9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7D9: + sta $06E7 ; CPU:$C7D9 PRG:47D9 8D E7 06 + lda #$00 ; CPU:$C7DC PRG:47DC A9 00 + sta $0550 ; CPU:$C7DE PRG:47DE 8D 50 05 + rts ; CPU:$C7E1 PRG:47E1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7E2 +; Global: Branch target inside Sub: taken when C7E2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7E2: + lda #$00 ; CPU:$C7E2 PRG:47E2 A9 00 + sta $069B ; CPU:$C7E4 PRG:47E4 8D 9B 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop435 +; Global: Branch target inside NmiHandler: taken when Loop435. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop435: + lda $06E8 ; CPU:$C7E7 PRG:47E7 AD E8 06 + cmp #$FF ; CPU:$C7EA PRG:47EA C9 FF + bne NmiHandler_Loop436 ; CPU:$C7EC PRG:47EC D0 16 + lda ZpA1 ; CPU:$C7EE PRG:47EE A5 A1 + ora ZpA2 ; CPU:$C7F0 PRG:47F0 05 A2 + ora ZpA6 ; CPU:$C7F2 PRG:47F2 05 A6 + ora ZpA7 ; CPU:$C7F4 PRG:47F4 05 A7 + ora ZpAB ; CPU:$C7F6 PRG:47F6 05 AB + ora ZpAC ; CPU:$C7F8 PRG:47F8 05 AC + bne NmiHandler_Loop436 ; CPU:$C7FA PRG:47FA D0 08 + jsr Sub_8744 ; CPU:$C7FC PRG:47FC 20 44 87 + lda #$09 ; CPU:$C7FF PRG:47FF A9 09 + jmp Sub_C7D9 ; CPU:$C801 PRG:4801 4C D9 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop436 +; Global: Branch target inside NmiHandler: taken when Loop436. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop436: + jsr Sub_C9D5 ; CPU:$C804 PRG:4804 20 D5 C9 + jsr Sub_DC37 ; CPU:$C807 PRG:4807 20 37 DC + jsr Sub_DEB3 ; CPU:$C80A PRG:480A 20 B3 DE + rts ; CPU:$C80D PRG:480D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C80E +; Global: Branch target inside Label: taken when C80E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C80E: + jsr Sub_870E ; CPU:$C80E PRG:480E 20 0E 87 + lda #$00 ; CPU:$C811 PRG:4811 A9 00 + sta $06EC ; CPU:$C813 PRG:4813 8D EC 06 + lda #$01 ; CPU:$C816 PRG:4816 A9 01 + ldy #$14 ; CPU:$C818 PRG:4818 A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero58 +; Global: Branch target inside NmiHandler: taken when OnNonzero58. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero58: + sta $0570 ; CPU:$C81A PRG:481A 8D 70 05 + sty Zp2C ; CPU:$C81D PRG:481D 84 2C + inc $06E7 ; CPU:$C81F PRG:481F EE E7 06 + lda #$FF ; CPU:$C822 PRG:4822 A9 FF + sta Zp94 ; CPU:$C824 PRG:4824 85 94 + lda #$01 ; CPU:$C826 PRG:4826 A9 01 + sta $06A2 ; CPU:$C828 PRG:4828 8D A2 06 + rts ; CPU:$C82B PRG:482B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C82C +; Global: Branch target inside Label: taken when C82C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C82C: + lda Zp2C ; CPU:$C82C PRG:482C A5 2C + beq NmiHandler_Loop437 ; CPU:$C82E PRG:482E F0 01 + rts ; CPU:$C830 PRG:4830 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop437 +; Global: Branch target inside NmiHandler: taken when Loop437. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop437: + jsr Sub_C38B ; CPU:$C831 PRG:4831 20 8B C3 + lda #$06 ; CPU:$C834 PRG:4834 A9 06 + sta $06E7 ; CPU:$C836 PRG:4836 8D E7 06 + rts ; CPU:$C839 PRG:4839 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C83A +; Global: Branch target inside Label: taken when C83A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C83A: + ldx #$00 ; CPU:$C83A PRG:483A A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero59 +; Global: Branch target inside NmiHandler: taken when OnNonzero59. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero59: + lda #$03 ; CPU:$C83C PRG:483C A9 03 + sta $0300,x ; CPU:$C83E PRG:483E 9D 00 03 + lda #$00 ; CPU:$C841 PRG:4841 A9 00 + sta $030A,x ; CPU:$C843 PRG:4843 9D 0A 03 + txa ; CPU:$C846 PRG:4846 8A + clc ; CPU:$C847 PRG:4847 18 + adc #$15 ; CPU:$C848 PRG:4848 69 15 + tax ; CPU:$C84A PRG:484A AA + cmp #$FC ; CPU:$C84B PRG:484B C9 FC + bne NmiHandler_OnNonzero59 ; CPU:$C84D PRG:484D D0 ED + jsr Sub_870A ; CPU:$C84F PRG:484F 20 0A 87 + lda $069F ; CPU:$C852 PRG:4852 AD 9F 06 + bne NmiHandler_Loop438 ; CPU:$C855 PRG:4855 D0 0D + inc $069F ; CPU:$C857 PRG:4857 EE 9F 06 + lda #$16 ; CPU:$C85A PRG:485A A9 16 + sta $06E7 ; CPU:$C85C PRG:485C 8D E7 06 + lda #$10 ; CPU:$C85F PRG:485F A9 10 + sta Zp2C ; CPU:$C861 PRG:4861 85 2C + rts ; CPU:$C863 PRG:4863 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop438 +; Global: Branch target inside NmiHandler: taken when Loop438. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop438: + lda #$07 ; CPU:$C864 PRG:4864 A9 07 + ldy #$08 ; CPU:$C866 PRG:4866 A0 08 + bne NmiHandler_OnNonzero58 ; CPU:$C868 PRG:4868 D0 B0 + lda Zp2C ; CPU:$C86A PRG:486A A5 2C + beq NmiHandler_Loop439 ; CPU:$C86C PRG:486C F0 01 + rts ; CPU:$C86E PRG:486E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop439 +; Global: Branch target inside NmiHandler: taken when Loop439. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop439: + lda Zp83 ; CPU:$C86F PRG:486F A5 83 + cmp Zp84 ; CPU:$C871 PRG:4871 C5 84 + bne NmiHandler_Loop440 ; CPU:$C873 PRG:4873 D0 0B + lda #$11 ; CPU:$C875 PRG:4875 A9 11 + sta $06E7 ; CPU:$C877 PRG:4877 8D E7 06 + lda #$00 ; CPU:$C87A PRG:487A A9 00 + sta $042F ; CPU:$C87C PRG:487C 8D 2F 04 + rts ; CPU:$C87F PRG:487F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop440 +; Global: Branch target inside NmiHandler: taken when Loop440. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop440: + lda #$12 ; CPU:$C880 PRG:4880 A9 12 + sta $06E7 ; CPU:$C882 PRG:4882 8D E7 06 + rts ; CPU:$C885 PRG:4885 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero16 +; Global: Branch target inside NmiHandler: taken when OnZero16. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero16: + lda #$01 ; CPU:$C886 PRG:4886 A9 01 + sta Zp24 ; CPU:$C888 PRG:4888 85 24 + lda #$00 ; CPU:$C88A PRG:488A A9 00 + sta Zp26 ; CPU:$C88C PRG:488C 85 26 + sta Zp30 ; CPU:$C88E PRG:488E 85 30 + rts ; CPU:$C890 PRG:4890 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C891 +; Global: Branch target inside Label: taken when C891. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C891: + jsr Sub_878E ; CPU:$C891 PRG:4891 20 8E 87 + lda #$19 ; CPU:$C894 PRG:4894 A9 19 + sta $06E7 ; CPU:$C896 PRG:4896 8D E7 06 + rts ; CPU:$C899 PRG:4899 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C89A +; Global: Branch target inside Label: taken when C89A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C89A: + lda Zp2C ; CPU:$C89A PRG:489A A5 2C + beq NmiHandler_OnZero16 ; CPU:$C89C PRG:489C F0 E8 + rts ; CPU:$C89E PRG:489E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C89F +; Global: Branch target inside Sub: taken when C89F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C89F: + lda $06E7 ; CPU:$C89F PRG:489F AD E7 06 + cmp #$15 ; CPU:$C8A2 PRG:48A2 C9 15 + beq NmiHandler_Loop441 ; CPU:$C8A4 PRG:48A4 F0 05 + cmp #$07 ; CPU:$C8A6 PRG:48A6 C9 07 + bcc NmiHandler_Loop441 ; CPU:$C8A8 PRG:48A8 90 01 + rts ; CPU:$C8AA PRG:48AA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop441 +; Global: Branch target inside NmiHandler: taken when Loop441. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop441: + lda #$01 ; CPU:$C8AB PRG:48AB A9 01 + sta FrameCounter ; CPU:$C8AD PRG:48AD 85 02 + lda #$00 ; CPU:$C8AF PRG:48AF A9 00 + sta Zp03 ; CPU:$C8B1 PRG:48B1 85 03 + sta PlayerSpeed2 ; CPU:$C8B3 PRG:48B3 85 90 + lda $06E2 ; CPU:$C8B5 PRG:48B5 AD E2 06 + bpl NmiHandler_Loop442 ; CPU:$C8B8 PRG:48B8 10 08 + ldy #$3D ; CPU:$C8BA PRG:48BA A0 3D + sty FrameCounter ; CPU:$C8BC PRG:48BC 84 02 + ldy #$7E ; CPU:$C8BE PRG:48BE A0 7E + sty PlayerSpeed2 ; CPU:$C8C0 PRG:48C0 84 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop442 +; Global: Branch target inside NmiHandler: taken when Loop442. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop442: + jsr Sub_C8E1 ; CPU:$C8C2 PRG:48C2 20 E1 C8 + lda #$3D ; CPU:$C8C5 PRG:48C5 A9 3D + sta FrameCounter ; CPU:$C8C7 PRG:48C7 85 02 + lda #$01 ; CPU:$C8C9 PRG:48C9 A9 01 + sta Zp03 ; CPU:$C8CB PRG:48CB 85 03 + lda #$7E ; CPU:$C8CD PRG:48CD A9 7E + sta PlayerSpeed2 ; CPU:$C8CF PRG:48CF 85 90 + lda $06E3 ; CPU:$C8D1 PRG:48D1 AD E3 06 + bpl NmiHandler_Loop443 ; CPU:$C8D4 PRG:48D4 10 07 + ldy #$01 ; CPU:$C8D6 PRG:48D6 A0 01 + sty FrameCounter ; CPU:$C8D8 PRG:48D8 84 02 + dey ; CPU:$C8DA PRG:48DA 88 + sty PlayerSpeed2 ; CPU:$C8DB PRG:48DB 84 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop443 +; Global: Branch target inside NmiHandler: taken when Loop443. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop443: + jsr Sub_C8E1 ; CPU:$C8DD PRG:48DD 20 E1 C8 + rts ; CPU:$C8E0 PRG:48E0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C8E1 +; Global: Branch target inside Sub: taken when C8E1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C8E1: + sta Zp05 ; CPU:$C8E1 PRG:48E1 85 05 + and #$7F ; CPU:$C8E3 PRG:48E3 29 7F + bne NmiHandler_Loop444 ; CPU:$C8E5 PRG:48E5 D0 01 + rts ; CPU:$C8E7 PRG:48E7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop444 +; Global: Branch target inside NmiHandler: taken when Loop444. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop444: + tax ; CPU:$C8E8 PRG:48E8 AA + lda $06E7 ; CPU:$C8E9 PRG:48E9 AD E7 06 + cmp #$06 ; CPU:$C8EC PRG:48EC C9 06 + bne NmiHandler_Loop446 ; CPU:$C8EE PRG:48EE D0 1C + lda Zp94 ; CPU:$C8F0 PRG:48F0 A5 94 + cmp $0632 ; CPU:$C8F2 PRG:48F2 CD 32 06 + beq NmiHandler_Loop446 ; CPU:$C8F5 PRG:48F5 F0 15 + cmp $066E ; CPU:$C8F7 PRG:48F7 CD 6E 06 + beq NmiHandler_Loop446 ; CPU:$C8FA PRG:48FA F0 10 + lda Zp94 ; CPU:$C8FC PRG:48FC A5 94 + cmp #$7E ; CPU:$C8FE PRG:48FE C9 7E + bcs NmiHandler_Loop445 ; CPU:$C900 PRG:4900 B0 05 + lda PlayerSpeed2 ; CPU:$C902 PRG:4902 A5 90 + beq NmiHandler_Loop446 ; CPU:$C904 PRG:4904 F0 06 + rts ; CPU:$C906 PRG:4906 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop445 +; Global: Branch target inside NmiHandler: taken when Loop445. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop445: + lda PlayerSpeed2 ; CPU:$C907 PRG:4907 A5 90 + bne NmiHandler_Loop446 ; CPU:$C909 PRG:4909 D0 01 + rts ; CPU:$C90B PRG:490B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop446 +; Global: Branch target inside NmiHandler: taken when Loop446. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop446: + ldy #$05 ; CPU:$C90C PRG:490C A0 05 + sty Zp04 ; CPU:$C90E PRG:490E 84 04 + dex ; CPU:$C910 PRG:4910 CA + txa ; CPU:$C911 PRG:4911 8A + clc ; CPU:$C912 PRG:4912 18 + asl a ; CPU:$C913 PRG:4913 0A + sta VramWritePtrLo ; CPU:$C914 PRG:4914 85 00 + asl a ; CPU:$C916 PRG:4916 0A + adc VramWritePtrLo ; CPU:$C917 PRG:4917 65 00 + asl a ; CPU:$C919 PRG:4919 0A + tax ; CPU:$C91A PRG:491A AA + ldy FrameCounter ; CPU:$C91B PRG:491B A4 02 + lda Zp04 ; CPU:$C91D PRG:491D A5 04 + sta VramWritePtrLo ; CPU:$C91F PRG:491F 85 00 + lda Zp05 ; CPU:$C921 PRG:4921 A5 05 + and #$80 ; CPU:$C923 PRG:4923 29 80 + beq NmiHandler_OnNonzero60 ; CPU:$C925 PRG:4925 F0 03 + jmp NmiHandler_OnNonzero62 ; CPU:$C927 PRG:4927 4C AA C9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero60 +; Global: Branch target inside NmiHandler: taken when OnNonzero60. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero60: + lda #$10 ; CPU:$C92A PRG:492A A9 10 + clc ; CPU:$C92C PRG:492C 18 + adc $D327,x ; CPU:$C92D PRG:492D 7D 27 D3 + sta $0600,y ; CPU:$C930 PRG:4930 99 00 06 + lda $06E7 ; CPU:$C933 PRG:4933 AD E7 06 + cmp #$06 ; CPU:$C936 PRG:4936 C9 06 + bne NmiHandler_Loop447 ; CPU:$C938 PRG:4938 D0 06 + lda $0600,y ; CPU:$C93A PRG:493A B9 00 06 + sta $0600,y ; CPU:$C93D PRG:493D 99 00 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop447 +; Global: Branch target inside NmiHandler: taken when Loop447. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop447: + lda #$00 ; CPU:$C940 PRG:4940 A9 00 + sta $0601,y ; CPU:$C942 PRG:4942 99 01 06 + jsr Sub_867E ; CPU:$C945 PRG:4945 20 7E 86 + inx ; CPU:$C948 PRG:4948 E8 + tya ; CPU:$C949 PRG:4949 98 + clc ; CPU:$C94A PRG:494A 18 + adc #$0A ; CPU:$C94B PRG:494B 69 0A + tay ; CPU:$C94D PRG:494D A8 + dec VramWritePtrLo ; CPU:$C94E PRG:494E C6 00 + bne NmiHandler_OnNonzero60 ; CPU:$C950 PRG:4950 D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_C952 +; Global: Branch target inside Sub: taken when C952. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C952: + lda Zp04 ; CPU:$C952 PRG:4952 A5 04 + sta VramWritePtrLo ; CPU:$C954 PRG:4954 85 00 + cmp #$06 ; CPU:$C956 PRG:4956 C9 06 + beq NmiHandler_Loop448 ; CPU:$C958 PRG:4958 F0 01 + inx ; CPU:$C95A PRG:495A E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop448 +; Global: Branch target inside NmiHandler: taken when Loop448. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop448: + ldy FrameCounter ; CPU:$C95B PRG:495B A4 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero61 +; Global: Branch target inside NmiHandler: taken when OnNonzero61. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero61: + lda #$08 ; CPU:$C95D PRG:495D A9 08 + clc ; CPU:$C95F PRG:495F 18 + adc $D327,x ; CPU:$C960 PRG:4960 7D 27 D3 + sta $0602,y ; CPU:$C963 PRG:4963 99 02 06 + lda $06E7 ; CPU:$C966 PRG:4966 AD E7 06 + cmp #$06 ; CPU:$C969 PRG:4969 C9 06 + bne NmiHandler_Loop449 ; CPU:$C96B PRG:496B D0 06 + lda $0602,y ; CPU:$C96D PRG:496D B9 02 06 + sta $0602,y ; CPU:$C970 PRG:4970 99 02 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop449 +; Global: Branch target inside NmiHandler: taken when Loop449. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop449: + lda #$00 ; CPU:$C973 PRG:4973 A9 00 + sta $0603,y ; CPU:$C975 PRG:4975 99 03 06 + inx ; CPU:$C978 PRG:4978 E8 + tya ; CPU:$C979 PRG:4979 98 + clc ; CPU:$C97A PRG:497A 18 + adc #$0A ; CPU:$C97B PRG:497B 69 0A + pha ; CPU:$C97D PRG:497D 48 + lda #$00 ; CPU:$C97E PRG:497E A9 00 + ldy PlayerSpeed2 ; CPU:$C980 PRG:4980 A4 90 + sta $0310,y ; CPU:$C982 PRG:4982 99 10 03 + lda $0311,y ; CPU:$C985 PRG:4985 B9 11 03 + bne NmiHandler_Loop450 ; CPU:$C988 PRG:4988 D0 05 + jsr Sub_867E ; CPU:$C98A PRG:498A 20 7E 86 + and #$1F ; CPU:$C98D PRG:498D 29 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop450 +; Global: Branch target inside NmiHandler: taken when Loop450. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop450: + pla ; CPU:$C98F PRG:498F 68 + tay ; CPU:$C990 PRG:4990 A8 + lda PlayerSpeed2 ; CPU:$C991 PRG:4991 A5 90 + clc ; CPU:$C993 PRG:4993 18 + adc #$15 ; CPU:$C994 PRG:4994 69 15 + sta PlayerSpeed2 ; CPU:$C996 PRG:4996 85 90 + dec VramWritePtrLo ; CPU:$C998 PRG:4998 C6 00 + bne NmiHandler_OnNonzero61 ; CPU:$C99A PRG:499A D0 C1 + ldy Zp03 ; CPU:$C99C PRG:499C A4 03 + lda $06E2,y ; CPU:$C99E PRG:499E B9 E2 06 + sta $06E4,y ; CPU:$C9A1 PRG:49A1 99 E4 06 + lda #$00 ; CPU:$C9A4 PRG:49A4 A9 00 + sta $06E2,y ; CPU:$C9A6 PRG:49A6 99 E2 06 + rts ; CPU:$C9A9 PRG:49A9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero62 +; Global: Branch target inside NmiHandler: taken when OnNonzero62. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero62: + lda #$10 ; CPU:$C9AA PRG:49AA A9 10 + sec ; CPU:$C9AC PRG:49AC 38 + sbc $D327,x ; CPU:$C9AD PRG:49AD FD 27 D3 + sta $0600,y ; CPU:$C9B0 PRG:49B0 99 00 06 + lda $06E7 ; CPU:$C9B3 PRG:49B3 AD E7 06 + cmp #$06 ; CPU:$C9B6 PRG:49B6 C9 06 + bne NmiHandler_Loop451 ; CPU:$C9B8 PRG:49B8 D0 06 + lda $0600,y ; CPU:$C9BA PRG:49BA B9 00 06 + sta $0600,y ; CPU:$C9BD PRG:49BD 99 00 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop451 +; Global: Branch target inside NmiHandler: taken when Loop451. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop451: + lda #$00 ; CPU:$C9C0 PRG:49C0 A9 00 + sta $0601,y ; CPU:$C9C2 PRG:49C2 99 01 06 + jsr Sub_867E ; CPU:$C9C5 PRG:49C5 20 7E 86 + inx ; CPU:$C9C8 PRG:49C8 E8 + tya ; CPU:$C9C9 PRG:49C9 98 + clc ; CPU:$C9CA PRG:49CA 18 + adc #$0A ; CPU:$C9CB PRG:49CB 69 0A + tay ; CPU:$C9CD PRG:49CD A8 + dec VramWritePtrLo ; CPU:$C9CE PRG:49CE C6 00 + bne NmiHandler_OnNonzero62 ; CPU:$C9D0 PRG:49D0 D0 D8 + jmp Sub_C952 ; CPU:$C9D2 PRG:49D2 4C 52 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_C9D5 +; Global: Branch target inside Sub: taken when C9D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C9D5: + lda Zp2E ; CPU:$C9D5 PRG:49D5 A5 2E + and #$3F ; CPU:$C9D7 PRG:49D7 29 3F + beq NmiHandler_Loop452 ; CPU:$C9D9 PRG:49D9 F0 01 + rts ; CPU:$C9DB PRG:49DB 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop452 +; Global: Branch target inside NmiHandler: taken when Loop452. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop452: + ldx #$00 ; CPU:$C9DC PRG:49DC A2 00 + ldy #$00 ; CPU:$C9DE PRG:49DE A0 00 + lda TimerIndex3 ; CPU:$C9E0 PRG:49E0 A5 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero63 +; Global: Branch target inside NmiHandler: taken when OnNonzero63. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero63: + cmp $D2F5,y ; CPU:$C9E2 PRG:49E2 D9 F5 D2 + bcc NmiHandler_Loop453 ; CPU:$C9E5 PRG:49E5 90 05 + iny ; CPU:$C9E7 PRG:49E7 C8 + cpy #$02 ; CPU:$C9E8 PRG:49E8 C0 02 + bne NmiHandler_OnNonzero63 ; CPU:$C9EA PRG:49EA D0 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop453 +; Global: Branch target inside NmiHandler: taken when Loop453. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop453: + lda TimerIndex ; CPU:$C9EC PRG:49EC A5 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero64 +; Global: Branch target inside NmiHandler: taken when OnNonzero64. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero64: + cmp $D2F0,x ; CPU:$C9EE PRG:49EE DD F0 D2 + bcc NmiHandler_Loop454 ; CPU:$C9F1 PRG:49F1 90 08 + iny ; CPU:$C9F3 PRG:49F3 C8 + iny ; CPU:$C9F4 PRG:49F4 C8 + iny ; CPU:$C9F5 PRG:49F5 C8 + inx ; CPU:$C9F6 PRG:49F6 E8 + cpx #$05 ; CPU:$C9F7 PRG:49F7 E0 05 + bne NmiHandler_OnNonzero64 ; CPU:$C9F9 PRG:49F9 D0 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop454 +; Global: Branch target inside NmiHandler: taken when Loop454. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop454: + lda $D2F7,y ; CPU:$C9FB PRG:49FB B9 F7 D2 + tax ; CPU:$C9FE PRG:49FE AA + stx $06E2 ; CPU:$C9FF PRG:49FF 8E E2 06 + inx ; CPU:$CA02 PRG:4A02 E8 + stx $06E3 ; CPU:$CA03 PRG:4A03 8E E3 06 + rts ; CPU:$CA06 PRG:4A06 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CA07 +; Global: Branch target inside Label: taken when CA07. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CA07: + lda $06E8 ; CPU:$CA07 PRG:4A07 AD E8 06 + cmp #$FF ; CPU:$CA0A PRG:4A0A C9 FF + bne NmiHandler_Loop455 ; CPU:$CA0C PRG:4A0C D0 09 + jsr Sub_8744 ; CPU:$CA0E PRG:4A0E 20 44 87 + lda #$09 ; CPU:$CA11 PRG:4A11 A9 09 + sta $06E7 ; CPU:$CA13 PRG:4A13 8D E7 06 + rts ; CPU:$CA16 PRG:4A16 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop455 +; Global: Branch target inside NmiHandler: taken when Loop455. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop455: + ldy $0632 ; CPU:$CA17 PRG:4A17 AC 32 06 + lda $0300,y ; CPU:$CA1A PRG:4A1A B9 00 03 + cmp #$13 ; CPU:$CA1D PRG:4A1D C9 13 + beq NmiHandler_Loop456 ; CPU:$CA1F PRG:4A1F F0 10 + ldy $066E ; CPU:$CA21 PRG:4A21 AC 6E 06 + lda $0300,y ; CPU:$CA24 PRG:4A24 B9 00 03 + cmp #$13 ; CPU:$CA27 PRG:4A27 C9 13 + beq NmiHandler_Loop456 ; CPU:$CA29 PRG:4A29 F0 06 + lda #$06 ; CPU:$CA2B PRG:4A2B A9 06 + sta $06E7 ; CPU:$CA2D PRG:4A2D 8D E7 06 + rts ; CPU:$CA30 PRG:4A30 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop456 +; Global: Branch target inside NmiHandler: taken when Loop456. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop456: + lda Zp94 ; CPU:$CA31 PRG:4A31 A5 94 + cmp $0632 ; CPU:$CA33 PRG:4A33 CD 32 06 + bne NmiHandler_Loop458 ; CPU:$CA36 PRG:4A36 D0 1A + lda $06A1 ; CPU:$CA38 PRG:4A38 AD A1 06 + bne NmiHandler_Loop457 ; CPU:$CA3B PRG:4A3B D0 07 + lda #$40 ; CPU:$CA3D PRG:4A3D A9 40 + sta Zp16 ; CPU:$CA3F PRG:4A3F 85 16 + jmp Sub_CA47 ; CPU:$CA41 PRG:4A41 4C 47 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop457 +; Global: Branch target inside NmiHandler: taken when Loop457. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop457: + dec $06A1 ; CPU:$CA44 PRG:4A44 CE A1 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA47 +; Global: Branch target inside Sub: taken when CA47. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA47: + lda #$83 ; CPU:$CA47 PRG:4A47 A9 83 + sta $06E2 ; CPU:$CA49 PRG:4A49 8D E2 06 + lda #$84 ; CPU:$CA4C PRG:4A4C A9 84 + sta $06E3 ; CPU:$CA4E PRG:4A4E 8D E3 06 + rts ; CPU:$CA51 PRG:4A51 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop458 +; Global: Branch target inside NmiHandler: taken when Loop458. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop458: + cmp $066E ; CPU:$CA52 PRG:4A52 CD 6E 06 + bne NmiHandler_Loop460 ; CPU:$CA55 PRG:4A55 D0 1A + lda $06A1 ; CPU:$CA57 PRG:4A57 AD A1 06 + bne NmiHandler_Loop459 ; CPU:$CA5A PRG:4A5A D0 07 + lda #$40 ; CPU:$CA5C PRG:4A5C A9 40 + sta Zp17 ; CPU:$CA5E PRG:4A5E 85 17 + jmp Sub_CA66 ; CPU:$CA60 PRG:4A60 4C 66 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop459 +; Global: Branch target inside NmiHandler: taken when Loop459. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop459: + dec $06A1 ; CPU:$CA63 PRG:4A63 CE A1 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA66 +; Global: Branch target inside Sub: taken when CA66. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA66: + lda #$03 ; CPU:$CA66 PRG:4A66 A9 03 + sta $06E2 ; CPU:$CA68 PRG:4A68 8D E2 06 + lda #$04 ; CPU:$CA6B PRG:4A6B A9 04 + sta $06E3 ; CPU:$CA6D PRG:4A6D 8D E3 06 + rts ; CPU:$CA70 PRG:4A70 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop460 +; Global: Branch target inside NmiHandler: taken when Loop460. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop460: + rts ; CPU:$CA71 PRG:4A71 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA72 +; Global: Branch target inside Sub: taken when CA72. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA72: + rts ; CPU:$CA72 PRG:4A72 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA73 +; Global: Branch target inside Sub: taken when CA73. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA73: + lda ZpFF ; CPU:$CA73 PRG:4A73 A5 FF + and #$40 ; CPU:$CA75 PRG:4A75 29 40 + sta $06F3 ; CPU:$CA77 PRG:4A77 8D F3 06 + lda ZpFC ; CPU:$CA7A PRG:4A7A A5 FC + and #$01 ; CPU:$CA7C PRG:4A7C 29 01 + sta $06F4 ; CPU:$CA7E PRG:4A7E 8D F4 06 + rts ; CPU:$CA81 PRG:4A81 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA82 +; Global: Branch target inside Sub: taken when CA82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA82: + lda ZpFF ; CPU:$CA82 PRG:4A82 A5 FF + ora $06F3 ; CPU:$CA84 PRG:4A84 0D F3 06 + sta ZpFF ; CPU:$CA87 PRG:4A87 85 FF + lda ZpFC ; CPU:$CA89 PRG:4A89 A5 FC + ora $06F4 ; CPU:$CA8B PRG:4A8B 0D F4 06 + sta ZpFC ; CPU:$CA8E PRG:4A8E 85 FC + lda #$00 ; CPU:$CA90 PRG:4A90 A9 00 + sta $06F3 ; CPU:$CA92 PRG:4A92 8D F3 06 + sta $06F4 ; CPU:$CA95 PRG:4A95 8D F4 06 + rts ; CPU:$CA98 PRG:4A98 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CA99 +; Global: Branch target inside Label: taken when CA99. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CA99: + lda $06EC ; CPU:$CA99 PRG:4A99 AD EC 06 + beq NmiHandler_Loop461 ; CPU:$CA9C PRG:4A9C F0 07 + lda ZpAD ; CPU:$CA9E PRG:4A9E A5 AD + ora ZpAE ; CPU:$CAA0 PRG:4AA0 05 AE + beq NmiHandler_Loop464 ; CPU:$CAA2 PRG:4AA2 F0 19 + rts ; CPU:$CAA4 PRG:4AA4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop461 +; Global: Branch target inside NmiHandler: taken when Loop461. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop461: + lda $06A8 ; CPU:$CAA5 PRG:4AA5 AD A8 06 + cmp #$01 ; CPU:$CAA8 PRG:4AA8 C9 01 + beq NmiHandler_Loop462 ; CPU:$CAAA PRG:4AAA F0 04 + cmp #$02 ; CPU:$CAAC PRG:4AAC C9 02 + bne NmiHandler_Loop463 ; CPU:$CAAE PRG:4AAE D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop462 +; Global: Branch target inside NmiHandler: taken when Loop462. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop462: + jsr Sub_8706 ; CPU:$CAB0 PRG:4AB0 20 06 87 + jmp Sub_CAB9 ; CPU:$CAB3 PRG:4AB3 4C B9 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop463 +; Global: Branch target inside NmiHandler: taken when Loop463. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop463: + jsr Sub_870E ; CPU:$CAB6 PRG:4AB6 20 0E 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAB9 +; Global: Branch target inside Sub: taken when CAB9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAB9: + lda #$08 ; CPU:$CAB9 PRG:4AB9 A9 08 + sta Zp2C ; CPU:$CABB PRG:4ABB 85 2C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop464 +; Global: Branch target inside NmiHandler: taken when Loop464. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop464: + ldy Zp94 ; CPU:$CABD PRG:4ABD A4 94 + lda $030A,y ; CPU:$CABF PRG:4ABF B9 0A 03 + and #$80 ; CPU:$CAC2 PRG:4AC2 29 80 + sta $030A,y ; CPU:$CAC4 PRG:4AC4 99 0A 03 + lda $06EC ; CPU:$CAC7 PRG:4AC7 AD EC 06 + bne NmiHandler_Loop465 ; CPU:$CACA PRG:4ACA D0 1F + lda $06A8 ; CPU:$CACC PRG:4ACC AD A8 06 + cmp #$01 ; CPU:$CACF PRG:4ACF C9 01 + beq NmiHandler_OnCarryClear3 ; CPU:$CAD1 PRG:4AD1 F0 08 + cmp #$03 ; CPU:$CAD3 PRG:4AD3 C9 03 + beq NmiHandler_Loop466 ; CPU:$CAD5 PRG:4AD5 F0 18 + cmp #$02 ; CPU:$CAD7 PRG:4AD7 C9 02 + bne NmiHandler_Loop465 ; CPU:$CAD9 PRG:4AD9 D0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarryClear3 +; Global: Branch target inside NmiHandler: taken when OnCarryClear3. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarryClear3: + lda $0403 ; CPU:$CADB PRG:4ADB AD 03 04 + ora #$20 ; CPU:$CADE PRG:4ADE 09 20 + sta $0403 ; CPU:$CAE0 PRG:4AE0 8D 03 04 + lda $0407 ; CPU:$CAE3 PRG:4AE3 AD 07 04 + ora #$20 ; CPU:$CAE6 PRG:4AE6 09 20 + sta $0407 ; CPU:$CAE8 PRG:4AE8 8D 07 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop465 +; Global: Branch target inside NmiHandler: taken when Loop465. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop465: + inc $06E7 ; CPU:$CAEB PRG:4AEB EE E7 06 + rts ; CPU:$CAEE PRG:4AEE 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop466 +; Global: Branch target inside NmiHandler: taken when Loop466. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop466: + lda $0401 ; CPU:$CAEF PRG:4AEF AD 01 04 + cmp #$80 ; CPU:$CAF2 PRG:4AF2 C9 80 + bcc NmiHandler_OnCarryClear3 ; CPU:$CAF4 PRG:4AF4 90 E5 + jmp NmiHandler_Loop465 ; CPU:$CAF6 PRG:4AF6 4C EB CA +; ----------------------------------------------------------------------------- +; Routine: Label_CAF9 +; Global: Branch target inside Label: taken when CAF9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CAF9: + lda Zp2C ; CPU:$CAF9 PRG:4AF9 A5 2C + beq NmiHandler_Loop467 ; CPU:$CAFB PRG:4AFB F0 01 + rts ; CPU:$CAFD PRG:4AFD 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop467 +; Global: Branch target inside NmiHandler: taken when Loop467. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop467: + ldy $0632 ; CPU:$CAFE PRG:4AFE AC 32 06 + lda #$00 ; CPU:$CB01 PRG:4B01 A9 00 + sta $030A,y ; CPU:$CB03 PRG:4B03 99 0A 03 + lda #$03 ; CPU:$CB06 PRG:4B06 A9 03 + sta $0300,y ; CPU:$CB08 PRG:4B08 99 00 03 + ldy $066E ; CPU:$CB0B PRG:4B0B AC 6E 06 + lda #$00 ; CPU:$CB0E PRG:4B0E A9 00 + sta $030A,y ; CPU:$CB10 PRG:4B10 99 0A 03 + lda #$03 ; CPU:$CB13 PRG:4B13 A9 03 + sta $0300,y ; CPU:$CB15 PRG:4B15 99 00 03 + lda $06EC ; CPU:$CB18 PRG:4B18 AD EC 06 + beq NmiHandler_Loop468 ; CPU:$CB1B PRG:4B1B F0 03 + jmp Sub_CDC2 ; CPU:$CB1D PRG:4B1D 4C C2 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop468 +; Global: Branch target inside NmiHandler: taken when Loop468. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop468: + lda $06A8 ; CPU:$CB20 PRG:4B20 AD A8 06 + cmp #$04 ; CPU:$CB23 PRG:4B23 C9 04 + beq NmiHandler_Loop469 ; CPU:$CB25 PRG:4B25 F0 03 + jmp Sub_CC12 ; CPU:$CB27 PRG:4B27 4C 12 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop469 +; Global: Branch target inside NmiHandler: taken when Loop469. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop469: + lda #$03 ; CPU:$CB2A PRG:4B2A A9 03 + sta $0570 ; CPU:$CB2C PRG:4B2C 8D 70 05 + lda #$01 ; CPU:$CB2F PRG:4B2F A9 01 + sta $06AD ; CPU:$CB31 PRG:4B31 8D AD 06 + sta $06A2 ; CPU:$CB34 PRG:4B34 8D A2 06 + ldy #$01 ; CPU:$CB37 PRG:4B37 A0 01 + sty TimerIndex3 ; CPU:$CB39 PRG:4B39 84 A8 + ldy #$C0 ; CPU:$CB3B PRG:4B3B A0 C0 + sty TimerIndex4 ; CPU:$CB3D PRG:4B3D 84 A9 + lda $06F7 ; CPU:$CB3F PRG:4B3F AD F7 06 + cmp #$08 ; CPU:$CB42 PRG:4B42 C9 08 + bcc NmiHandler_Loop470 ; CPU:$CB44 PRG:4B44 90 08 + ldy #$0E ; CPU:$CB46 PRG:4B46 A0 0E + sty TimerIndex3 ; CPU:$CB48 PRG:4B48 84 A8 + ldy #$00 ; CPU:$CB4A PRG:4B4A A0 00 + sty TimerIndex4 ; CPU:$CB4C PRG:4B4C 84 A9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop470 +; Global: Branch target inside NmiHandler: taken when Loop470. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop470: + lda Zp94 ; CPU:$CB4E PRG:4B4E A5 94 + cmp #$7E ; CPU:$CB50 PRG:4B50 C9 7E + bcc NmiHandler_Loop471 ; CPU:$CB52 PRG:4B52 90 03 + jmp Sub_CBE8 ; CPU:$CB54 PRG:4B54 4C E8 CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop471 +; Global: Branch target inside NmiHandler: taken when Loop471. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop471: + ldy #$00 ; CPU:$CB57 PRG:4B57 A0 00 + lda TimerIndex ; CPU:$CB59 PRG:4B59 A5 A3 + cmp #$10 ; CPU:$CB5B PRG:4B5B C9 10 + bcc NmiHandler_Loop472 ; CPU:$CB5D PRG:4B5D 90 02 + ldy #$02 ; CPU:$CB5F PRG:4B5F A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop472 +; Global: Branch target inside NmiHandler: taken when Loop472. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop472: + lda TimerIndex3 ; CPU:$CB61 PRG:4B61 A5 A8 + cmp #$08 ; CPU:$CB63 PRG:4B63 C9 08 + bcc NmiHandler_Loop473 ; CPU:$CB65 PRG:4B65 90 01 + iny ; CPU:$CB67 PRG:4B67 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop473 +; Global: Branch target inside NmiHandler: taken when Loop473. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop473: + lda $D52A,y ; CPU:$CB68 PRG:4B68 B9 2A D5 + tay ; CPU:$CB6B PRG:4B6B A8 + pha ; CPU:$CB6C PRG:4B6C 48 + lda $0600,y ; CPU:$CB6D PRG:4B6D B9 00 06 + sta $06C5 ; CPU:$CB70 PRG:4B70 8D C5 06 + jsr Sub_C3F5 ; CPU:$CB73 PRG:4B73 20 F5 C3 + sty $06C4 ; CPU:$CB76 PRG:4B76 8C C4 06 + pla ; CPU:$CB79 PRG:4B79 68 + tay ; CPU:$CB7A PRG:4B7A A8 + lda $06C5 ; CPU:$CB7B PRG:4B7B AD C5 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB7E +; Global: Branch target inside Sub: taken when CB7E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB7E: + sta $06FA ; CPU:$CB7E PRG:4B7E 8D FA 06 + sty $06AC ; CPU:$CB81 PRG:4B81 8C AC 06 + tax ; CPU:$CB84 PRG:4B84 AA + lda #$00 ; CPU:$CB85 PRG:4B85 A9 00 + sta $0310,x ; CPU:$CB87 PRG:4B87 9D 10 03 + tya ; CPU:$CB8A PRG:4B8A 98 + pha ; CPU:$CB8B PRG:4B8B 48 + jsr Sub_D139 ; CPU:$CB8C PRG:4B8C 20 39 D1 + jsr Sub_D164 ; CPU:$CB8F PRG:4B8F 20 64 D1 + jsr Sub_D0C3 ; CPU:$CB92 PRG:4B92 20 C3 D0 + pla ; CPU:$CB95 PRG:4B95 68 + tay ; CPU:$CB96 PRG:4B96 A8 + ldx #$00 ; CPU:$CB97 PRG:4B97 A2 00 + lda $06AD ; CPU:$CB99 PRG:4B99 AD AD 06 + cmp #$01 ; CPU:$CB9C PRG:4B9C C9 01 + beq NmiHandler_Loop475 ; CPU:$CB9E PRG:4B9E F0 3B + lda TimerIndex ; CPU:$CBA0 PRG:4BA0 A5 A3 + cmp #$10 ; CPU:$CBA2 PRG:4BA2 C9 10 + bcc NmiHandler_Loop474 ; CPU:$CBA4 PRG:4BA4 90 12 + lda TimerIndex2 ; CPU:$CBA6 PRG:4BA6 A5 A4 + clc ; CPU:$CBA8 PRG:4BA8 18 + adc #$80 ; CPU:$CBA9 PRG:4BA9 69 80 + sta $0602,y ; CPU:$CBAB PRG:4BAB 99 02 06 + lda TimerIndex ; CPU:$CBAE PRG:4BAE A5 A3 + adc #$00 ; CPU:$CBB0 PRG:4BB0 69 00 + sta $0601,y ; CPU:$CBB2 PRG:4BB2 99 01 06 + jmp Sub_CBC7 ; CPU:$CBB5 PRG:4BB5 4C C7 CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop474 +; Global: Branch target inside NmiHandler: taken when Loop474. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop474: + lda TimerIndex2 ; CPU:$CBB8 PRG:4BB8 A5 A4 + sec ; CPU:$CBBA PRG:4BBA 38 + sbc #$80 ; CPU:$CBBB PRG:4BBB E9 80 + sta $0602,y ; CPU:$CBBD PRG:4BBD 99 02 06 + lda TimerIndex ; CPU:$CBC0 PRG:4BC0 A5 A3 + sbc #$00 ; CPU:$CBC2 PRG:4BC2 E9 00 + sta $0601,y ; CPU:$CBC4 PRG:4BC4 99 01 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBC7 +; Global: Branch target inside Sub: taken when CBC7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBC7: + lda TimerIndex3 ; CPU:$CBC7 PRG:4BC7 A5 A8 + sta $0603,y ; CPU:$CBC9 PRG:4BC9 99 03 06 + lda TimerIndex4 ; CPU:$CBCC PRG:4BCC A5 A9 + sta $0604,y ; CPU:$CBCE PRG:4BCE 99 04 06 + lda #$FF ; CPU:$CBD1 PRG:4BD1 A9 FF + sta Zp94 ; CPU:$CBD3 PRG:4BD3 85 94 + lda #$10 ; CPU:$CBD5 PRG:4BD5 A9 10 + sta $06E7 ; CPU:$CBD7 PRG:4BD7 8D E7 06 + rts ; CPU:$CBDA PRG:4BDA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop475 +; Global: Branch target inside NmiHandler: taken when Loop475. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop475: + lda TimerIndex ; CPU:$CBDB PRG:4BDB A5 A3 + sta $0601,y ; CPU:$CBDD PRG:4BDD 99 01 06 + lda TimerIndex2 ; CPU:$CBE0 PRG:4BE0 A5 A4 + sta $0602,y ; CPU:$CBE2 PRG:4BE2 99 02 06 + jmp Sub_CBC7 ; CPU:$CBE5 PRG:4BE5 4C C7 CB +; ----------------------------------------------------------------------------- +; Routine: Sub_CBE8 +; Global: Branch target inside Sub: taken when CBE8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBE8: + ldy #$00 ; CPU:$CBE8 PRG:4BE8 A0 00 + lda TimerIndex ; CPU:$CBEA PRG:4BEA A5 A3 + cmp #$10 ; CPU:$CBEC PRG:4BEC C9 10 + bcc NmiHandler_Loop476 ; CPU:$CBEE PRG:4BEE 90 02 + ldy #$02 ; CPU:$CBF0 PRG:4BF0 A0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop476 +; Global: Branch target inside NmiHandler: taken when Loop476. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop476: + lda TimerIndex3 ; CPU:$CBF2 PRG:4BF2 A5 A8 + cmp #$08 ; CPU:$CBF4 PRG:4BF4 C9 08 + bcc NmiHandler_Loop477 ; CPU:$CBF6 PRG:4BF6 90 01 + iny ; CPU:$CBF8 PRG:4BF8 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop477 +; Global: Branch target inside NmiHandler: taken when Loop477. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop477: + lda $D526,y ; CPU:$CBF9 PRG:4BF9 B9 26 D5 + tay ; CPU:$CBFC PRG:4BFC A8 + pha ; CPU:$CBFD PRG:4BFD 48 + lda $0600,y ; CPU:$CBFE PRG:4BFE B9 00 06 + sta $06B1 ; CPU:$CC01 PRG:4C01 8D B1 06 + jsr Sub_C3F5 ; CPU:$CC04 PRG:4C04 20 F5 C3 + sty $06B0 ; CPU:$CC07 PRG:4C07 8C B0 06 + pla ; CPU:$CC0A PRG:4C0A 68 + tay ; CPU:$CC0B PRG:4C0B A8 + lda $06B1 ; CPU:$CC0C PRG:4C0C AD B1 06 + jmp Sub_CB7E ; CPU:$CC0F PRG:4C0F 4C 7E CB +; ----------------------------------------------------------------------------- +; Routine: Sub_CC12 +; Global: Branch target inside Sub: taken when CC12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC12: + cmp #$03 ; CPU:$CC12 PRG:4C12 C9 03 + beq NmiHandler_Loop478 ; CPU:$CC14 PRG:4C14 F0 03 + jmp Sub_CCD1 ; CPU:$CC16 PRG:4C16 4C D1 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop478 +; Global: Branch target inside NmiHandler: taken when Loop478. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop478: + lda $0403 ; CPU:$CC19 PRG:4C19 AD 03 04 + and #$DF ; CPU:$CC1C PRG:4C1C 29 DF + sta $0403 ; CPU:$CC1E PRG:4C1E 8D 03 04 + lda $0407 ; CPU:$CC21 PRG:4C21 AD 07 04 + and #$DF ; CPU:$CC24 PRG:4C24 29 DF + sta $0407 ; CPU:$CC26 PRG:4C26 8D 07 04 + lda Zp94 ; CPU:$CC29 PRG:4C29 A5 94 + cmp #$7E ; CPU:$CC2B PRG:4C2B C9 7E + bcs NmiHandler_Loop479 ; CPU:$CC2D PRG:4C2D B0 0A + lda $06F5 ; CPU:$CC2F PRG:4C2F AD F5 06 + cmp #$10 ; CPU:$CC32 PRG:4C32 C9 10 + bcs NmiHandler_Loop484 ; CPU:$CC34 PRG:4C34 B0 56 + jmp Sub_CC40 ; CPU:$CC36 PRG:4C36 4C 40 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop479 +; Global: Branch target inside NmiHandler: taken when Loop479. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop479: + lda $06F5 ; CPU:$CC39 PRG:4C39 AD F5 06 + cmp #$10 ; CPU:$CC3C PRG:4C3C C9 10 + bcc NmiHandler_Loop484 ; CPU:$CC3E PRG:4C3E 90 4C +; ----------------------------------------------------------------------------- +; Routine: Sub_CC40 +; Global: Branch target inside Sub: taken when CC40. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC40: + lda #$08 ; CPU:$CC40 PRG:4C40 A9 08 + sta $0570 ; CPU:$CC42 PRG:4C42 8D 70 05 + lda #$02 ; CPU:$CC45 PRG:4C45 A9 02 + sta $06AD ; CPU:$CC47 PRG:4C47 8D AD 06 + lda #$01 ; CPU:$CC4A PRG:4C4A A9 01 + sta $06A2 ; CPU:$CC4C PRG:4C4C 8D A2 06 + lda $06F5 ; CPU:$CC4F PRG:4C4F AD F5 06 + cmp #$10 ; CPU:$CC52 PRG:4C52 C9 10 + bcs NmiHandler_Loop481 ; CPU:$CC54 PRG:4C54 B0 0F + lda $06F7 ; CPU:$CC56 PRG:4C56 AD F7 06 + cmp #$08 ; CPU:$CC59 PRG:4C59 C9 08 + bcs NmiHandler_Loop480 ; CPU:$CC5B PRG:4C5B B0 04 + ldy #$00 ; CPU:$CC5D PRG:4C5D A0 00 + beq NmiHandler_Loop483 ; CPU:$CC5F PRG:4C5F F0 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop480 +; Global: Branch target inside NmiHandler: taken when Loop480. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop480: + ldy #$04 ; CPU:$CC61 PRG:4C61 A0 04 + bne NmiHandler_Loop483 ; CPU:$CC63 PRG:4C63 D0 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop481 +; Global: Branch target inside NmiHandler: taken when Loop481. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop481: + lda $06F7 ; CPU:$CC65 PRG:4C65 AD F7 06 + cmp #$08 ; CPU:$CC68 PRG:4C68 C9 08 + bcs NmiHandler_Loop482 ; CPU:$CC6A PRG:4C6A B0 04 + ldy #$08 ; CPU:$CC6C PRG:4C6C A0 08 + bne NmiHandler_Loop483 ; CPU:$CC6E PRG:4C6E D0 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop482 +; Global: Branch target inside NmiHandler: taken when Loop482. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop482: + ldy #$0C ; CPU:$CC70 PRG:4C70 A0 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop483 +; Global: Branch target inside NmiHandler: taken when Loop483. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop483: + lda $D2D0,y ; CPU:$CC72 PRG:4C72 B9 D0 D2 + sta TimerIndex ; CPU:$CC75 PRG:4C75 85 A3 + lda $D2D1,y ; CPU:$CC77 PRG:4C77 B9 D1 D2 + sta TimerIndex2 ; CPU:$CC7A PRG:4C7A 85 A4 + lda $D2D2,y ; CPU:$CC7C PRG:4C7C B9 D2 D2 + sta TimerIndex3 ; CPU:$CC7F PRG:4C7F 85 A8 + lda $D2D3,y ; CPU:$CC81 PRG:4C81 B9 D3 D2 + sta TimerIndex4 ; CPU:$CC84 PRG:4C84 85 A9 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC86 +; Global: Branch target inside Sub: taken when CC86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC86: + jsr Sub_C3B1 ; CPU:$CC86 PRG:4C86 20 B1 C3 + jmp NmiHandler_Loop470 ; CPU:$CC89 PRG:4C89 4C 4E CB +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop484 +; Global: Branch target inside NmiHandler: taken when Loop484. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop484: + lda #$02 ; CPU:$CC8C PRG:4C8C A9 02 + sta $0570 ; CPU:$CC8E PRG:4C8E 8D 70 05 + lda #$03 ; CPU:$CC91 PRG:4C91 A9 03 + sta $06AD ; CPU:$CC93 PRG:4C93 8D AD 06 + lda #$01 ; CPU:$CC96 PRG:4C96 A9 01 + sta $06A2 ; CPU:$CC98 PRG:4C98 8D A2 06 + lda $06F5 ; CPU:$CC9B PRG:4C9B AD F5 06 + cmp #$10 ; CPU:$CC9E PRG:4C9E C9 10 + bcc NmiHandler_Loop485 ; CPU:$CCA0 PRG:4CA0 90 12 + ldy $066E ; CPU:$CCA2 PRG:4CA2 AC 6E 06 + lda #$08 ; CPU:$CCA5 PRG:4CA5 A9 08 + sta $0302,y ; CPU:$CCA7 PRG:4CA7 99 02 03 + lda #$00 ; CPU:$CCAA PRG:4CAA A9 00 + sta $0303,y ; CPU:$CCAC PRG:4CAC 99 03 03 + ldy #$18 ; CPU:$CCAF PRG:4CAF A0 18 + jmp Sub_CCC3 ; CPU:$CCB1 PRG:4CB1 4C C3 CC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop485 +; Global: Branch target inside NmiHandler: taken when Loop485. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop485: + ldy $0632 ; CPU:$CCB4 PRG:4CB4 AC 32 06 + lda #$08 ; CPU:$CCB7 PRG:4CB7 A9 08 + sta $0302,y ; CPU:$CCB9 PRG:4CB9 99 02 03 + lda #$00 ; CPU:$CCBC PRG:4CBC A9 00 + sta $0303,y ; CPU:$CCBE PRG:4CBE 99 03 03 + ldy #$10 ; CPU:$CCC1 PRG:4CC1 A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCC3 +; Global: Branch target inside Sub: taken when CCC3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCC3: + lda $06F7 ; CPU:$CCC3 PRG:4CC3 AD F7 06 + cmp #$08 ; CPU:$CCC6 PRG:4CC6 C9 08 + bcc NmiHandler_Loop486 ; CPU:$CCC8 PRG:4CC8 90 04 + iny ; CPU:$CCCA PRG:4CCA C8 + iny ; CPU:$CCCB PRG:4CCB C8 + iny ; CPU:$CCCC PRG:4CCC C8 + iny ; CPU:$CCCD PRG:4CCD C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop486 +; Global: Branch target inside NmiHandler: taken when Loop486. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop486: + jmp NmiHandler_Loop483 ; CPU:$CCCE PRG:4CCE 4C 72 CC +; ----------------------------------------------------------------------------- +; Routine: Sub_CCD1 +; Global: Branch target inside Sub: taken when CCD1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCD1: + cmp #$01 ; CPU:$CCD1 PRG:4CD1 C9 01 + beq NmiHandler_Loop487 ; CPU:$CCD3 PRG:4CD3 F0 04 + cmp #$02 ; CPU:$CCD5 PRG:4CD5 C9 02 + bne NmiHandler_Loop488 ; CPU:$CCD7 PRG:4CD7 D0 20 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop487 +; Global: Branch target inside NmiHandler: taken when Loop487. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop487: + lda #$04 ; CPU:$CCD9 PRG:4CD9 A9 04 + sta $0570 ; CPU:$CCDB PRG:4CDB 8D 70 05 + lda #$01 ; CPU:$CCDE PRG:4CDE A9 01 + sta $06A2 ; CPU:$CCE0 PRG:4CE0 8D A2 06 + lda #$0F ; CPU:$CCE3 PRG:4CE3 A9 0F + sta $06E7 ; CPU:$CCE5 PRG:4CE5 8D E7 06 + jsr Sub_8796 ; CPU:$CCE8 PRG:4CE8 20 96 87 + lda $06A8 ; CPU:$CCEB PRG:4CEB AD A8 06 + sta $06AF ; CPU:$CCEE PRG:4CEE 8D AF 06 + sta $06A9 ; CPU:$CCF1 PRG:4CF1 8D A9 06 + lda #$10 ; CPU:$CCF4 PRG:4CF4 A9 10 + sta Zp2C ; CPU:$CCF6 PRG:4CF6 85 2C + rts ; CPU:$CCF8 PRG:4CF8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop488 +; Global: Branch target inside NmiHandler: taken when Loop488. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop488: + lda $06AD ; CPU:$CCF9 PRG:4CF9 AD AD 06 + cmp #$04 ; CPU:$CCFC PRG:4CFC C9 04 + bne NmiHandler_Loop489 ; CPU:$CCFE PRG:4CFE D0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop489 +; Global: Branch target inside NmiHandler: taken when Loop489. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop489: + rts ; CPU:$CD00 PRG:4D00 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD01 +; Global: Branch target inside Label: taken when CD01. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD01: + ldy $06FA ; CPU:$CD01 PRG:4D01 AC FA 06 + lda $0310,y ; CPU:$CD04 PRG:4D04 B9 10 03 + beq NmiHandler_Loop491 ; CPU:$CD07 PRG:4D07 F0 33 + lda $06AD ; CPU:$CD09 PRG:4D09 AD AD 06 + cmp #$01 ; CPU:$CD0C PRG:4D0C C9 01 + bne NmiHandler_Loop490 ; CPU:$CD0E PRG:4D0E D0 08 + lda #$0A ; CPU:$CD10 PRG:4D10 A9 0A + sta $0300,y ; CPU:$CD12 PRG:4D12 99 00 03 + jmp Sub_CD37 ; CPU:$CD15 PRG:4D15 4C 37 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop490 +; Global: Branch target inside NmiHandler: taken when Loop490. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop490: + ldy $06AC ; CPU:$CD18 PRG:4D18 AC AC 06 + lda TimerIndex ; CPU:$CD1B PRG:4D1B A5 A3 + sta $0601,y ; CPU:$CD1D PRG:4D1D 99 01 06 + lda TimerIndex2 ; CPU:$CD20 PRG:4D20 A5 A4 + sta $0602,y ; CPU:$CD22 PRG:4D22 99 02 06 + lda TimerIndex3 ; CPU:$CD25 PRG:4D25 A5 A8 + sta $0603,y ; CPU:$CD27 PRG:4D27 99 03 06 + lda TimerIndex4 ; CPU:$CD2A PRG:4D2A A5 A9 + sta $0604,y ; CPU:$CD2C PRG:4D2C 99 04 06 + ldy $06FA ; CPU:$CD2F PRG:4D2F AC FA 06 + lda #$00 ; CPU:$CD32 PRG:4D32 A9 00 + sta $0310,y ; CPU:$CD34 PRG:4D34 99 10 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD37 +; Global: Branch target inside Sub: taken when CD37. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD37: + lda #$0D ; CPU:$CD37 PRG:4D37 A9 0D + sta $06E7 ; CPU:$CD39 PRG:4D39 8D E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop491 +; Global: Branch target inside NmiHandler: taken when Loop491. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop491: + rts ; CPU:$CD3C PRG:4D3C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD3D +; Global: Branch target inside Label: taken when CD3D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD3D: + ldy $06FA ; CPU:$CD3D PRG:4D3D AC FA 06 + lda $0310,y ; CPU:$CD40 PRG:4D40 B9 10 03 + beq NmiHandler_Loop498 ; CPU:$CD43 PRG:4D43 F0 7C + ldy $06FA ; CPU:$CD45 PRG:4D45 AC FA 06 + lda #$02 ; CPU:$CD48 PRG:4D48 A9 02 + sta $030A,y ; CPU:$CD4A PRG:4D4A 99 0A 03 + lda $06FA ; CPU:$CD4D PRG:4D4D AD FA 06 + cmp #$7E ; CPU:$CD50 PRG:4D50 C9 7E + bcs NmiHandler_Loop492 ; CPU:$CD52 PRG:4D52 B0 0D + ldy #$00 ; CPU:$CD54 PRG:4D54 A0 00 + lda #$00 ; CPU:$CD56 PRG:4D56 A9 00 + sta $06B5 ; CPU:$CD58 PRG:4D58 8D B5 06 + sta $06B4 ; CPU:$CD5B PRG:4D5B 8D B4 06 + jmp Sub_CD6B ; CPU:$CD5E PRG:4D5E 4C 6B CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop492 +; Global: Branch target inside NmiHandler: taken when Loop492. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop492: + ldy #$14 ; CPU:$CD61 PRG:4D61 A0 14 + lda #$00 ; CPU:$CD63 PRG:4D63 A9 00 + sta $06C9 ; CPU:$CD65 PRG:4D65 8D C9 06 + sta $06C8 ; CPU:$CD68 PRG:4D68 8D C8 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD6B +; Global: Branch target inside Sub: taken when CD6B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD6B: + lda $06AD ; CPU:$CD6B PRG:4D6B AD AD 06 + cmp #$01 ; CPU:$CD6E PRG:4D6E C9 01 + beq NmiHandler_Loop493 ; CPU:$CD70 PRG:4D70 F0 04 + cmp #$02 ; CPU:$CD72 PRG:4D72 C9 02 + bne NmiHandler_Loop495 ; CPU:$CD74 PRG:4D74 D0 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop493 +; Global: Branch target inside NmiHandler: taken when Loop493. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop493: + lda $06F7 ; CPU:$CD76 PRG:4D76 AD F7 06 + cmp #$08 ; CPU:$CD79 PRG:4D79 C9 08 + bcs NmiHandler_Loop494 ; CPU:$CD7B PRG:4D7B B0 05 + lda #$04 ; CPU:$CD7D PRG:4D7D A9 04 + jmp Sub_CD95 ; CPU:$CD7F PRG:4D7F 4C 95 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop494 +; Global: Branch target inside NmiHandler: taken when Loop494. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop494: + lda #$08 ; CPU:$CD82 PRG:4D82 A9 08 + jmp Sub_CD95 ; CPU:$CD84 PRG:4D84 4C 95 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop495 +; Global: Branch target inside NmiHandler: taken when Loop495. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop495: + lda $06F5 ; CPU:$CD87 PRG:4D87 AD F5 06 + cmp #$10 ; CPU:$CD8A PRG:4D8A C9 10 + bcs NmiHandler_Loop496 ; CPU:$CD8C PRG:4D8C B0 05 + lda #$01 ; CPU:$CD8E PRG:4D8E A9 01 + jmp Sub_CD95 ; CPU:$CD90 PRG:4D90 4C 95 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop496 +; Global: Branch target inside NmiHandler: taken when Loop496. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop496: + lda #$02 ; CPU:$CD93 PRG:4D93 A9 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD95 +; Global: Branch target inside Sub: taken when CD95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD95: + jsr Sub_DD0B ; CPU:$CD95 PRG:4D95 20 0B DD + lda $06FA ; CPU:$CD98 PRG:4D98 AD FA 06 + cmp #$7E ; CPU:$CD9B PRG:4D9B C9 7E + bcs NmiHandler_Loop497 ; CPU:$CD9D PRG:4D9D B0 0C + sta $06B1 ; CPU:$CD9F PRG:4D9F 8D B1 06 + jsr Sub_C3F5 ; CPU:$CDA2 PRG:4DA2 20 F5 C3 + sty $06B0 ; CPU:$CDA5 PRG:4DA5 8C B0 06 + jmp Sub_CDB4 ; CPU:$CDA8 PRG:4DA8 4C B4 CD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop497 +; Global: Branch target inside NmiHandler: taken when Loop497. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop497: + sta $06C5 ; CPU:$CDAB PRG:4DAB 8D C5 06 + jsr Sub_C3F5 ; CPU:$CDAE PRG:4DAE 20 F5 C3 + sty $06C4 ; CPU:$CDB1 PRG:4DB1 8C C4 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDB4 +; Global: Branch target inside Sub: taken when CDB4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDB4: + inc $06E7 ; CPU:$CDB4 PRG:4DB4 EE E7 06 + lda #$FF ; CPU:$CDB7 PRG:4DB7 A9 FF + sta $06A1 ; CPU:$CDB9 PRG:4DB9 8D A1 06 + lda #$00 ; CPU:$CDBC PRG:4DBC A9 00 + sta $06A0 ; CPU:$CDBE PRG:4DBE 8D A0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop498 +; Global: Branch target inside NmiHandler: taken when Loop498. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop498: + rts ; CPU:$CDC1 PRG:4DC1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDC2 +; Global: Branch target inside Sub: taken when CDC2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDC2: + lda #$01 ; CPU:$CDC2 PRG:4DC2 A9 01 + sta $0570 ; CPU:$CDC4 PRG:4DC4 8D 70 05 + lda #$01 ; CPU:$CDC7 PRG:4DC7 A9 01 + sta $06A2 ; CPU:$CDC9 PRG:4DC9 8D A2 06 + ldy $069C ; CPU:$CDCC PRG:4DCC AC 9C 06 + lda $06F5 ; CPU:$CDCF PRG:4DCF AD F5 06 + sta TimerIndex ; CPU:$CDD2 PRG:4DD2 85 A3 + lda $06F6 ; CPU:$CDD4 PRG:4DD4 AD F6 06 + sta TimerIndex2 ; CPU:$CDD7 PRG:4DD7 85 A4 + lda $06F7 ; CPU:$CDD9 PRG:4DD9 AD F7 06 + sta TimerIndex3 ; CPU:$CDDC PRG:4DDC 85 A8 + lda $06F8 ; CPU:$CDDE PRG:4DDE AD F8 06 + sta TimerIndex4 ; CPU:$CDE1 PRG:4DE1 85 A9 + ldy #$00 ; CPU:$CDE3 PRG:4DE3 A0 00 + lda TimerIndex ; CPU:$CDE5 PRG:4DE5 A5 A3 + cmp #$0D ; CPU:$CDE7 PRG:4DE7 C9 0D + bcs NmiHandler_Loop499 ; CPU:$CDE9 PRG:4DE9 B0 07 + cpy Zp0A ; CPU:$CDEB PRG:4DEB C4 0A + beq NmiHandler_Loop503 ; CPU:$CDED PRG:4DED F0 35 + jmp NmiHandler_Loop501 ; CPU:$CDEF PRG:4DEF 4C 0D CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop499 +; Global: Branch target inside NmiHandler: taken when Loop499. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop499: + ldy #$80 ; CPU:$CDF2 PRG:4DF2 A0 80 + cmp #$0B ; CPU:$CDF4 PRG:4DF4 C9 0B + bcc NmiHandler_Loop500 ; CPU:$CDF6 PRG:4DF6 90 0B + cmp #$15 ; CPU:$CDF8 PRG:4DF8 C9 15 + bcs NmiHandler_Loop500 ; CPU:$CDFA PRG:4DFA B0 07 + cpy Zp0A ; CPU:$CDFC PRG:4DFC C4 0A + beq NmiHandler_Loop503 ; CPU:$CDFE PRG:4DFE F0 24 + jmp NmiHandler_Loop501 ; CPU:$CE00 PRG:4E00 4C 0D CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop500 +; Global: Branch target inside NmiHandler: taken when Loop500. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop500: + ldy #$FF ; CPU:$CE03 PRG:4E03 A0 FF + cmp #$13 ; CPU:$CE05 PRG:4E05 C9 13 + bcc NmiHandler_Loop501 ; CPU:$CE07 PRG:4E07 90 04 + cpy Zp0A ; CPU:$CE09 PRG:4E09 C4 0A + beq NmiHandler_Loop503 ; CPU:$CE0B PRG:4E0B F0 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop501 +; Global: Branch target inside NmiHandler: taken when Loop501. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop501: + ldy #$00 ; CPU:$CE0D PRG:4E0D A0 00 + lda TimerIndex ; CPU:$CE0F PRG:4E0F A5 A3 + cmp #$0B ; CPU:$CE11 PRG:4E11 C9 0B + bcc NmiHandler_Loop502 ; CPU:$CE13 PRG:4E13 90 08 + ldy #$80 ; CPU:$CE15 PRG:4E15 A0 80 + cmp #$15 ; CPU:$CE17 PRG:4E17 C9 15 + bcc NmiHandler_Loop502 ; CPU:$CE19 PRG:4E19 90 02 + ldy #$FF ; CPU:$CE1B PRG:4E1B A0 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop502 +; Global: Branch target inside NmiHandler: taken when Loop502. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop502: + sty Zp0A ; CPU:$CE1D PRG:4E1D 84 0A + lda #$00 ; CPU:$CE1F PRG:4E1F A9 00 + sta $040A ; CPU:$CE21 PRG:4E21 8D 0A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop503 +; Global: Branch target inside NmiHandler: taken when Loop503. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop503: + lda #$00 ; CPU:$CE24 PRG:4E24 A9 00 + sta $06EC ; CPU:$CE26 PRG:4E26 8D EC 06 + sta $069B ; CPU:$CE29 PRG:4E29 8D 9B 06 + lda $069C ; CPU:$CE2C PRG:4E2C AD 9C 06 + sta Zp94 ; CPU:$CE2F PRG:4E2F 85 94 + jmp Sub_CC86 ; CPU:$CE31 PRG:4E31 4C 86 CC +; ----------------------------------------------------------------------------- +; Routine: Label_CE34 +; Global: Branch target inside Label: taken when CE34. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CE34: + lda Zp43 ; CPU:$CE34 PRG:4E34 A5 43 + ora Zp44 ; CPU:$CE36 PRG:4E36 05 44 + bne NmiHandler_Loop504 ; CPU:$CE38 PRG:4E38 D0 08 + jsr Sub_8744 ; CPU:$CE3A PRG:4E3A 20 44 87 + lda #$09 ; CPU:$CE3D PRG:4E3D A9 09 + jmp Sub_C7D9 ; CPU:$CE3F PRG:4E3F 4C D9 C7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop504 +; Global: Branch target inside NmiHandler: taken when Loop504. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop504: + lda $06A1 ; CPU:$CE42 PRG:4E42 AD A1 06 + bne NmiHandler_Loop506 ; CPU:$CE45 PRG:4E45 D0 16 + ldy #$00 ; CPU:$CE47 PRG:4E47 A0 00 + lda $06FA ; CPU:$CE49 PRG:4E49 AD FA 06 + cmp #$7E ; CPU:$CE4C PRG:4E4C C9 7E + bcc NmiHandler_Loop505 ; CPU:$CE4E PRG:4E4E 90 05 + lda Zp47 ; CPU:$CE50 PRG:4E50 A5 47 + beq NmiHandler_Loop507 ; CPU:$CE52 PRG:4E52 F0 0C + iny ; CPU:$CE54 PRG:4E54 C8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop505 +; Global: Branch target inside NmiHandler: taken when Loop505. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop505: + lda #$40 ; CPU:$CE55 PRG:4E55 A9 40 + sta a:Zp16,y ; CPU:$CE57 PRG:4E57 99 16 00 + jmp NmiHandler_Loop507 ; CPU:$CE5A PRG:4E5A 4C 60 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop506 +; Global: Branch target inside NmiHandler: taken when Loop506. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop506: + dec $06A1 ; CPU:$CE5D PRG:4E5D CE A1 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop507 +; Global: Branch target inside NmiHandler: taken when Loop507. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop507: + lda Zp47 ; CPU:$CE60 PRG:4E60 A5 47 + bne NmiHandler_Loop508 ; CPU:$CE62 PRG:4E62 D0 2D + lda $06FA ; CPU:$CE64 PRG:4E64 AD FA 06 + cmp #$7E ; CPU:$CE67 PRG:4E67 C9 7E + bcc NmiHandler_Loop508 ; CPU:$CE69 PRG:4E69 90 26 + lda Zp2E ; CPU:$CE6B PRG:4E6B A5 2E + and #$7F ; CPU:$CE6D PRG:4E6D 29 7F + bne NmiHandler_Loop508 ; CPU:$CE6F PRG:4E6F D0 20 + lda #$40 ; CPU:$CE71 PRG:4E71 A9 40 + sta Zp17 ; CPU:$CE73 PRG:4E73 85 17 + sta $07F5 ; CPU:$CE75 PRG:4E75 8D F5 07 + ldy $06FA ; CPU:$CE78 PRG:4E78 AC FA 06 + lda #$00 ; CPU:$CE7B PRG:4E7B A9 00 + sta $030A,y ; CPU:$CE7D PRG:4E7D 99 0A 03 + lda #$00 ; CPU:$CE80 PRG:4E80 A9 00 + sta $0512 ; CPU:$CE82 PRG:4E82 8D 12 05 + sta $0513 ; CPU:$CE85 PRG:4E85 8D 13 05 + sta $0510 ; CPU:$CE88 PRG:4E88 8D 10 05 + sta $0511 ; CPU:$CE8B PRG:4E8B 8D 11 05 + jsr Sub_CFB7 ; CPU:$CE8E PRG:4E8E 20 B7 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop508 +; Global: Branch target inside NmiHandler: taken when Loop508. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop508: + lda $06AD ; CPU:$CE91 PRG:4E91 AD AD 06 + cmp #$01 ; CPU:$CE94 PRG:4E94 C9 01 + bne NmiHandler_Loop509 ; CPU:$CE96 PRG:4E96 D0 18 + lda $041A ; CPU:$CE98 PRG:4E98 AD 1A 04 + bne NmiHandler_OnNonzero66 ; CPU:$CE9B PRG:4E9B D0 12 + jmp NmiHandler_Loop511 ; CPU:$CE9D PRG:4E9D 4C C8 CE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero65 +; Global: Branch target inside NmiHandler: taken when OnNonzero65. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero65: + lda #$02 ; CPU:$CEA0 PRG:4EA0 A9 02 + sta $06E8 ; CPU:$CEA2 PRG:4EA2 8D E8 06 + lda #$00 ; CPU:$CEA5 PRG:4EA5 A9 00 + sta $06A8 ; CPU:$CEA7 PRG:4EA7 8D A8 06 + lda #$06 ; CPU:$CEAA PRG:4EAA A9 06 + sta $06E7 ; CPU:$CEAC PRG:4EAC 8D E7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero66 +; Global: Branch target inside NmiHandler: taken when OnNonzero66. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero66: + rts ; CPU:$CEAF PRG:4EAF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop509 +; Global: Branch target inside NmiHandler: taken when Loop509. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop509: + lda $06A0 ; CPU:$CEB0 PRG:4EB0 AD A0 06 + bne NmiHandler_Loop510 ; CPU:$CEB3 PRG:4EB3 D0 08 + lda $06FA ; CPU:$CEB5 PRG:4EB5 AD FA 06 + cmp Zp94 ; CPU:$CEB8 PRG:4EB8 C5 94 + beq NmiHandler_Loop510 ; CPU:$CEBA PRG:4EBA F0 01 + rts ; CPU:$CEBC PRG:4EBC 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop510 +; Global: Branch target inside NmiHandler: taken when Loop510. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop510: + inc $06A0 ; CPU:$CEBD PRG:4EBD EE A0 06 + lda $06A0 ; CPU:$CEC0 PRG:4EC0 AD A0 06 + cmp #$08 ; CPU:$CEC3 PRG:4EC3 C9 08 + beq NmiHandler_Loop511 ; CPU:$CEC5 PRG:4EC5 F0 01 + rts ; CPU:$CEC7 PRG:4EC7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop511 +; Global: Branch target inside NmiHandler: taken when Loop511. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop511: + lda $06FA ; CPU:$CEC8 PRG:4EC8 AD FA 06 + cmp #$7E ; CPU:$CECB PRG:4ECB C9 7E + bcc NmiHandler_OnNonzero65 ; CPU:$CECD PRG:4ECD 90 D1 + lda Zp47 ; CPU:$CECF PRG:4ECF A5 47 + bne NmiHandler_OnNonzero65 ; CPU:$CED1 PRG:4ED1 D0 CD + lda #$00 ; CPU:$CED3 PRG:4ED3 A9 00 + sta $07F5 ; CPU:$CED5 PRG:4ED5 8D F5 07 + jmp NmiHandler_OnNonzero65 ; CPU:$CED8 PRG:4ED8 4C A0 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_CEDB +; Global: Branch target inside Sub: taken when CEDB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CEDB: + lda $06E7 ; CPU:$CEDB PRG:4EDB AD E7 06 + cmp #$11 ; CPU:$CEDE PRG:4EDE C9 11 + beq NmiHandler_Loop514 ; CPU:$CEE0 PRG:4EE0 F0 41 + cmp #$06 ; CPU:$CEE2 PRG:4EE2 C9 06 + bne NmiHandler_OnNonzero66 ; CPU:$CEE4 PRG:4EE4 D0 C9 + lda $06A8 ; CPU:$CEE6 PRG:4EE6 AD A8 06 + bne NmiHandler_OnNonzero66 ; CPU:$CEE9 PRG:4EE9 D0 C4 + lda $041A ; CPU:$CEEB PRG:4EEB AD 1A 04 + sta $06A8 ; CPU:$CEEE PRG:4EEE 8D A8 06 + lda TimerIndex ; CPU:$CEF1 PRG:4EF1 A5 A3 + sta $06F5 ; CPU:$CEF3 PRG:4EF3 8D F5 06 + lda TimerIndex2 ; CPU:$CEF6 PRG:4EF6 A5 A4 + sta $06F6 ; CPU:$CEF8 PRG:4EF8 8D F6 06 + lda TimerIndex3 ; CPU:$CEFB PRG:4EFB A5 A8 + sta $06F7 ; CPU:$CEFD PRG:4EFD 8D F7 06 + lda TimerIndex4 ; CPU:$CF00 PRG:4F00 A5 A9 + sta $06F8 ; CPU:$CF02 PRG:4F02 8D F8 06 + lda #$0B ; CPU:$CF05 PRG:4F05 A9 0B + sta $06E7 ; CPU:$CF07 PRG:4F07 8D E7 06 + lda #$00 ; CPU:$CF0A PRG:4F0A A9 00 + sta $06EC ; CPU:$CF0C PRG:4F0C 8D EC 06 + sta $069B ; CPU:$CF0F PRG:4F0F 8D 9B 06 + lda $06A8 ; CPU:$CF12 PRG:4F12 AD A8 06 + cmp #$01 ; CPU:$CF15 PRG:4F15 C9 01 + beq NmiHandler_Loop512 ; CPU:$CF17 PRG:4F17 F0 04 + cmp #$02 ; CPU:$CF19 PRG:4F19 C9 02 + bne NmiHandler_Loop513 ; CPU:$CF1B PRG:4F1B D0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop512 +; Global: Branch target inside NmiHandler: taken when Loop512. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop512: + lda #$03 ; CPU:$CF1D PRG:4F1D A9 03 + sta $06E8 ; CPU:$CF1F PRG:4F1F 8D E8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop513 +; Global: Branch target inside NmiHandler: taken when Loop513. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop513: + rts ; CPU:$CF22 PRG:4F22 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop514 +; Global: Branch target inside NmiHandler: taken when Loop514. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop514: + lda $06A8 ; CPU:$CF23 PRG:4F23 AD A8 06 + bne NmiHandler_Loop515 ; CPU:$CF26 PRG:4F26 D0 09 + lda $041A ; CPU:$CF28 PRG:4F28 AD 1A 04 + sta $06A8 ; CPU:$CF2B PRG:4F2B 8D A8 06 + bne NmiHandler_Loop515 ; CPU:$CF2E PRG:4F2E D0 01 + rts ; CPU:$CF30 PRG:4F30 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop515 +; Global: Branch target inside NmiHandler: taken when Loop515. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop515: + lda $041A ; CPU:$CF31 PRG:4F31 AD 1A 04 + cmp #$01 ; CPU:$CF34 PRG:4F34 C9 01 + beq NmiHandler_Loop516 ; CPU:$CF36 PRG:4F36 F0 0F + cmp #$02 ; CPU:$CF38 PRG:4F38 C9 02 + beq NmiHandler_Loop516 ; CPU:$CF3A PRG:4F3A F0 0B + cmp #$04 ; CPU:$CF3C PRG:4F3C C9 04 + beq NmiHandler_Loop517 ; CPU:$CF3E PRG:4F3E F0 17 + lda $0401 ; CPU:$CF40 PRG:4F40 AD 01 04 + cmp #$80 ; CPU:$CF43 PRG:4F43 C9 80 + bcs NmiHandler_Loop517 ; CPU:$CF45 PRG:4F45 B0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop516 +; Global: Branch target inside NmiHandler: taken when Loop516. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop516: + lda $0403 ; CPU:$CF47 PRG:4F47 AD 03 04 + ora #$20 ; CPU:$CF4A PRG:4F4A 09 20 + sta $0403 ; CPU:$CF4C PRG:4F4C 8D 03 04 + lda $0407 ; CPU:$CF4F PRG:4F4F AD 07 04 + ora #$20 ; CPU:$CF52 PRG:4F52 09 20 + sta $0407 ; CPU:$CF54 PRG:4F54 8D 07 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop517 +; Global: Branch target inside NmiHandler: taken when Loop517. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop517: + lda $042F ; CPU:$CF57 PRG:4F57 AD 2F 04 + cmp #$0A ; CPU:$CF5A PRG:4F5A C9 0A + bne NmiHandler_Loop519 ; CPU:$CF5C PRG:4F5C D0 1B + lda $06A8 ; CPU:$CF5E PRG:4F5E AD A8 06 + cmp #$01 ; CPU:$CF61 PRG:4F61 C9 01 + beq NmiHandler_Loop518 ; CPU:$CF63 PRG:4F63 F0 04 + cmp #$02 ; CPU:$CF65 PRG:4F65 C9 02 + bne NmiHandler_Loop519 ; CPU:$CF67 PRG:4F67 D0 10 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop518 +; Global: Branch target inside NmiHandler: taken when Loop518. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop518: + jsr Sub_8796 ; CPU:$CF69 PRG:4F69 20 96 87 + lda $06A8 ; CPU:$CF6C PRG:4F6C AD A8 06 + sta $06AF ; CPU:$CF6F PRG:4F6F 8D AF 06 + tay ; CPU:$CF72 PRG:4F72 A8 + dey ; CPU:$CF73 PRG:4F73 88 + lda #$07 ; CPU:$CF74 PRG:4F74 A9 07 + sta $06E9,y ; CPU:$CF76 PRG:4F76 99 E9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop519 +; Global: Branch target inside NmiHandler: taken when Loop519. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop519: + rts ; CPU:$CF79 PRG:4F79 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CF7A +; Global: Branch target inside Sub: taken when CF7A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF7A: + lda $06E7 ; CPU:$CF7A PRG:4F7A AD E7 06 + cmp #$06 ; CPU:$CF7D PRG:4F7D C9 06 + beq NmiHandler_Loop524 ; CPU:$CF7F PRG:4F7F F0 61 + lda Zp2E ; CPU:$CF81 PRG:4F81 A5 2E + and #$3F ; CPU:$CF83 PRG:4F83 29 3F + beq NmiHandler_Loop520 ; CPU:$CF85 PRG:4F85 F0 01 + rts ; CPU:$CF87 PRG:4F87 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop520 +; Global: Branch target inside NmiHandler: taken when Loop520. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop520: + lda $06B1 ; CPU:$CF88 PRG:4F88 AD B1 06 + cmp $06B9 ; CPU:$CF8B PRG:4F8B CD B9 06 + bne NmiHandler_Loop522 ; CPU:$CF8E PRG:4F8E D0 23 + lda $06BA ; CPU:$CF90 PRG:4F90 AD BA 06 + bne NmiHandler_Loop524 ; CPU:$CF93 PRG:4F93 D0 4D + lda $06B1 ; CPU:$CF95 PRG:4F95 AD B1 06 + cmp #$00 ; CPU:$CF98 PRG:4F98 C9 00 + bne NmiHandler_Loop521 ; CPU:$CF9A PRG:4F9A D0 0D + lda #$15 ; CPU:$CF9C PRG:4F9C A9 15 + sta $06B9 ; CPU:$CF9E PRG:4F9E 8D B9 06 + lda #$01 ; CPU:$CFA1 PRG:4FA1 A9 01 + sta $06B8 ; CPU:$CFA3 PRG:4FA3 8D B8 06 + jmp NmiHandler_Loop522 ; CPU:$CFA6 PRG:4FA6 4C B3 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop521 +; Global: Branch target inside NmiHandler: taken when Loop521. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop521: + lda #$00 ; CPU:$CFA9 PRG:4FA9 A9 00 + sta $06B9 ; CPU:$CFAB PRG:4FAB 8D B9 06 + lda #$00 ; CPU:$CFAE PRG:4FAE A9 00 + sta $06B8 ; CPU:$CFB0 PRG:4FB0 8D B8 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop522 +; Global: Branch target inside NmiHandler: taken when Loop522. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop522: + lda Zp47 ; CPU:$CFB3 PRG:4FB3 A5 47 + beq NmiHandler_Loop524 ; CPU:$CFB5 PRG:4FB5 F0 2B +; ----------------------------------------------------------------------------- +; Routine: Sub_CFB7 +; Global: Branch target inside Sub: taken when CFB7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFB7: + lda $06C5 ; CPU:$CFB7 PRG:4FB7 AD C5 06 + cmp $06CD ; CPU:$CFBA PRG:4FBA CD CD 06 + bne NmiHandler_Loop524 ; CPU:$CFBD PRG:4FBD D0 23 + lda $06CE ; CPU:$CFBF PRG:4FBF AD CE 06 + bne NmiHandler_Loop524 ; CPU:$CFC2 PRG:4FC2 D0 1E + lda $06C5 ; CPU:$CFC4 PRG:4FC4 AD C5 06 + cmp #$7E ; CPU:$CFC7 PRG:4FC7 C9 7E + bne NmiHandler_Loop523 ; CPU:$CFC9 PRG:4FC9 D0 0D + lda #$93 ; CPU:$CFCB PRG:4FCB A9 93 + sta $06CD ; CPU:$CFCD PRG:4FCD 8D CD 06 + lda #$07 ; CPU:$CFD0 PRG:4FD0 A9 07 + sta $06CC ; CPU:$CFD2 PRG:4FD2 8D CC 06 + jmp NmiHandler_Loop524 ; CPU:$CFD5 PRG:4FD5 4C E2 CF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop523 +; Global: Branch target inside NmiHandler: taken when Loop523. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop523: + lda #$7E ; CPU:$CFD8 PRG:4FD8 A9 7E + sta $06CD ; CPU:$CFDA PRG:4FDA 8D CD 06 + lda #$06 ; CPU:$CFDD PRG:4FDD A9 06 + sta $06CC ; CPU:$CFDF PRG:4FDF 8D CC 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop524 +; Global: Branch target inside NmiHandler: taken when Loop524. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop524: + rts ; CPU:$CFE2 PRG:4FE2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFE3 +; Global: Branch target inside Sub: taken when CFE3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFE3: + ldx #$00 ; CPU:$CFE3 PRG:4FE3 A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero67 +; Global: Branch target inside NmiHandler: taken when OnNonzero67. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero67: + lda $D51A,x ; CPU:$CFE5 PRG:4FE5 BD 1A D5 + tay ; CPU:$CFE8 PRG:4FE8 A8 + lda $0600,y ; CPU:$CFE9 PRG:4FE9 B9 00 06 + sta $06AA ; CPU:$CFEC PRG:4FEC 8D AA 06 + lda $D51B,x ; CPU:$CFEF PRG:4FEF BD 1B D5 + tay ; CPU:$CFF2 PRG:4FF2 A8 + lda $0600,y ; CPU:$CFF3 PRG:4FF3 B9 00 06 + sta $06AB ; CPU:$CFF6 PRG:4FF6 8D AB 06 + tay ; CPU:$CFF9 PRG:4FF9 A8 + lda $06AA ; CPU:$CFFA PRG:4FFA AD AA 06 + sta $0313,y ; CPU:$CFFD PRG:4FFD 99 13 03 + tay ; CPU:$D000 PRG:5000 A8 + lda $06AB ; CPU:$D001 PRG:5001 AD AB 06 + sta $0313,y ; CPU:$D004 PRG:5004 99 13 03 + inx ; CPU:$D007 PRG:5007 E8 + inx ; CPU:$D008 PRG:5008 E8 + cpx #$0C ; CPU:$D009 PRG:5009 E0 0C + bne NmiHandler_OnNonzero67 ; CPU:$D00B PRG:500B D0 D8 + rts ; CPU:$D00D PRG:500D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D00E +; Global: Branch target inside Sub: taken when D00E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D00E: + lda $06E7 ; CPU:$D00E PRG:500E AD E7 06 + cmp #$11 ; CPU:$D011 PRG:5011 C9 11 + beq NmiHandler_Loop525 ; CPU:$D013 PRG:5013 F0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero68 +; Global: Branch target inside NmiHandler: taken when OnNonzero68. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero68: + rts ; CPU:$D015 PRG:5015 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop525 +; Global: Branch target inside NmiHandler: taken when Loop525. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop525: + lda Zp47 ; CPU:$D016 PRG:5016 A5 47 + bne NmiHandler_OnNonzero68 ; CPU:$D018 PRG:5018 D0 FB + lda $042F ; CPU:$D01A PRG:501A AD 2F 04 + cmp #$03 ; CPU:$D01D PRG:501D C9 03 + bne NmiHandler_Loop527 ; CPU:$D01F PRG:501F D0 3B + lda #$00 ; CPU:$D021 PRG:5021 A9 00 + sta Zp16 ; CPU:$D023 PRG:5023 85 16 + sta Zp17 ; CPU:$D025 PRG:5025 85 17 + jsr Sub_867E ; CPU:$D027 PRG:5027 20 7E 86 + and #$07 ; CPU:$D02A PRG:502A 29 07 + tay ; CPU:$D02C PRG:502C A8 + lda $D28E,y ; CPU:$D02D PRG:502D B9 8E D2 + sta $06A4 ; CPU:$D030 PRG:5030 8D A4 06 + lda $D296,y ; CPU:$D033 PRG:5033 B9 96 D2 + sta $06A5 ; CPU:$D036 PRG:5036 8D A5 06 + lda #$20 ; CPU:$D039 PRG:5039 A9 20 + sta $06A7 ; CPU:$D03B PRG:503B 8D A7 06 + lda $0430 ; CPU:$D03E PRG:503E AD 30 04 + and #$01 ; CPU:$D041 PRG:5041 29 01 + bne NmiHandler_Loop526 ; CPU:$D043 PRG:5043 D0 11 + lda $D29E,y ; CPU:$D045 PRG:5045 B9 9E D2 + sta $06A4 ; CPU:$D048 PRG:5048 8D A4 06 + lda $D2A6,y ; CPU:$D04B PRG:504B B9 A6 D2 + sta $06A5 ; CPU:$D04E PRG:504E 8D A5 06 + lda #$00 ; CPU:$D051 PRG:5051 A9 00 + sta $06A7 ; CPU:$D053 PRG:5053 8D A7 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop526 +; Global: Branch target inside NmiHandler: taken when Loop526. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop526: + lda #$FF ; CPU:$D056 PRG:5056 A9 FF + sta $06A6 ; CPU:$D058 PRG:5058 8D A6 06 + rts ; CPU:$D05B PRG:505B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop527 +; Global: Branch target inside NmiHandler: taken when Loop527. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop527: + lda $0430 ; CPU:$D05C PRG:505C AD 30 04 + and #$01 ; CPU:$D05F PRG:505F 29 01 + bne NmiHandler_Loop528 ; CPU:$D061 PRG:5061 D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero69 +; Global: Branch target inside NmiHandler: taken when OnNonzero69. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero69: + lda $042F ; CPU:$D063 PRG:5063 AD 2F 04 + cmp #$09 ; CPU:$D066 PRG:5066 C9 09 + beq NmiHandler_Loop530 ; CPU:$D068 PRG:5068 F0 24 + rts ; CPU:$D06A PRG:506A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop528 +; Global: Branch target inside NmiHandler: taken when Loop528. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop528: + lda $042F ; CPU:$D06B PRG:506B AD 2F 04 + cmp #$05 ; CPU:$D06E PRG:506E C9 05 + bne NmiHandler_OnNonzero69 ; CPU:$D070 PRG:5070 D0 F1 + lda $06A7 ; CPU:$D072 PRG:5072 AD A7 06 + beq NmiHandler_Loop529 ; CPU:$D075 PRG:5075 F0 04 + dec $06A7 ; CPU:$D077 PRG:5077 CE A7 06 + rts ; CPU:$D07A PRG:507A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop529 +; Global: Branch target inside NmiHandler: taken when Loop529. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop529: + lda $06A4 ; CPU:$D07B PRG:507B AD A4 06 + sta PlayerSpeed2 ; CPU:$D07E PRG:507E 85 90 + lda $06A5 ; CPU:$D080 PRG:5080 AD A5 06 + sta Zp91 ; CPU:$D083 PRG:5083 85 91 + ldy #$01 ; CPU:$D085 PRG:5085 A0 01 + lda (PlayerSpeed2),y ; CPU:$D087 PRG:5087 B1 90 + ora #$82 ; CPU:$D089 PRG:5089 09 82 + sta Zp17 ; CPU:$D08B PRG:508B 85 17 + rts ; CPU:$D08D PRG:508D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop530 +; Global: Branch target inside NmiHandler: taken when Loop530. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop530: + lda $06A7 ; CPU:$D08E PRG:508E AD A7 06 + beq NmiHandler_Loop531 ; CPU:$D091 PRG:5091 F0 15 + dec $06A7 ; CPU:$D093 PRG:5093 CE A7 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_D096 +; Global: Branch target inside Sub: taken when D096. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D096: + ldy $06A6 ; CPU:$D096 PRG:5096 AC A6 06 + lda $06A4 ; CPU:$D099 PRG:5099 AD A4 06 + sta PlayerSpeed2 ; CPU:$D09C PRG:509C 85 90 + lda $06A5 ; CPU:$D09E PRG:509E AD A5 06 + sta Zp91 ; CPU:$D0A1 PRG:50A1 85 91 + lda (PlayerSpeed2),y ; CPU:$D0A3 PRG:50A3 B1 90 + sta Zp17 ; CPU:$D0A5 PRG:50A5 85 17 + rts ; CPU:$D0A7 PRG:50A7 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop531 +; Global: Branch target inside NmiHandler: taken when Loop531. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop531: + inc $06A6 ; CPU:$D0A8 PRG:50A8 EE A6 06 + ldy $06A6 ; CPU:$D0AB PRG:50AB AC A6 06 + lda $06A4 ; CPU:$D0AE PRG:50AE AD A4 06 + sta PlayerSpeed2 ; CPU:$D0B1 PRG:50B1 85 90 + lda $06A5 ; CPU:$D0B3 PRG:50B3 AD A5 06 + sta Zp91 ; CPU:$D0B6 PRG:50B6 85 91 + lda (PlayerSpeed2),y ; CPU:$D0B8 PRG:50B8 B1 90 + sta $06A7 ; CPU:$D0BA PRG:50BA 8D A7 06 + inc $06A6 ; CPU:$D0BD PRG:50BD EE A6 06 + jmp Sub_D096 ; CPU:$D0C0 PRG:50C0 4C 96 D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0C3 +; Global: Branch target inside Sub: taken when D0C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0C3: + lda $06AD ; CPU:$D0C3 PRG:50C3 AD AD 06 + cmp #$04 ; CPU:$D0C6 PRG:50C6 C9 04 + beq NmiHandler_Loop532 ; CPU:$D0C8 PRG:50C8 F0 01 + rts ; CPU:$D0CA PRG:50CA 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop532 +; Global: Branch target inside NmiHandler: taken when Loop532. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop532: + ldy #$00 ; CPU:$D0CB PRG:50CB A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D0CD +; Global: Branch target inside Sub: taken when D0CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D0CD: + lda TimerIndex ; CPU:$D0CD PRG:50CD A5 A3 + sec ; CPU:$D0CF PRG:50CF 38 + sbc $0601,y ; CPU:$D0D0 PRG:50D0 F9 01 06 + sta $069A ; CPU:$D0D3 PRG:50D3 8D 9A 06 + bpl NmiHandler_Loop533 ; CPU:$D0D6 PRG:50D6 10 09 + lda #$00 ; CPU:$D0D8 PRG:50D8 A9 00 + sec ; CPU:$D0DA PRG:50DA 38 + sbc $069A ; CPU:$D0DB PRG:50DB ED 9A 06 + sta $069A ; CPU:$D0DE PRG:50DE 8D 9A 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop533 +; Global: Branch target inside NmiHandler: taken when Loop533. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop533: + lda $069A ; CPU:$D0E1 PRG:50E1 AD 9A 06 + cmp #$03 ; CPU:$D0E4 PRG:50E4 C9 03 + bcs NmiHandler_Loop535 ; CPU:$D0E6 PRG:50E6 B0 10 + lda $0601,y ; CPU:$D0E8 PRG:50E8 B9 01 06 + clc ; CPU:$D0EB PRG:50EB 18 + adc #$03 ; CPU:$D0EC PRG:50EC 69 03 + cmp #$1C ; CPU:$D0EE PRG:50EE C9 1C + bcc NmiHandler_Loop534 ; CPU:$D0F0 PRG:50F0 90 03 + sec ; CPU:$D0F2 PRG:50F2 38 + sbc #$06 ; CPU:$D0F3 PRG:50F3 E9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop534 +; Global: Branch target inside NmiHandler: taken when Loop534. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop534: + sta $0601,y ; CPU:$D0F5 PRG:50F5 99 01 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop535 +; Global: Branch target inside NmiHandler: taken when Loop535. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop535: + lda TimerIndex3 ; CPU:$D0F8 PRG:50F8 A5 A8 + sec ; CPU:$D0FA PRG:50FA 38 + sbc $0603,y ; CPU:$D0FB PRG:50FB F9 03 06 + sta $069A ; CPU:$D0FE PRG:50FE 8D 9A 06 + bpl NmiHandler_Loop536 ; CPU:$D101 PRG:5101 10 09 + lda #$00 ; CPU:$D103 PRG:5103 A9 00 + sec ; CPU:$D105 PRG:5105 38 + sbc $069A ; CPU:$D106 PRG:5106 ED 9A 06 + sta $069A ; CPU:$D109 PRG:5109 8D 9A 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop536 +; Global: Branch target inside NmiHandler: taken when Loop536. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop536: + lda $069A ; CPU:$D10C PRG:510C AD 9A 06 + cmp #$03 ; CPU:$D10F PRG:510F C9 03 + bcs NmiHandler_Loop538 ; CPU:$D111 PRG:5111 B0 10 + lda $0603,y ; CPU:$D113 PRG:5113 B9 03 06 + clc ; CPU:$D116 PRG:5116 18 + adc #$03 ; CPU:$D117 PRG:5117 69 03 + cmp #$0D ; CPU:$D119 PRG:5119 C9 0D + bcc NmiHandler_Loop537 ; CPU:$D11B PRG:511B 90 03 + sec ; CPU:$D11D PRG:511D 38 + sbc #$06 ; CPU:$D11E PRG:511E E9 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop537 +; Global: Branch target inside NmiHandler: taken when Loop537. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop537: + sta $0603,y ; CPU:$D120 PRG:5120 99 03 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop538 +; Global: Branch target inside NmiHandler: taken when Loop538. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop538: + tya ; CPU:$D123 PRG:5123 98 + clc ; CPU:$D124 PRG:5124 18 + adc #$0A ; CPU:$D125 PRG:5125 69 0A + cmp #$32 ; CPU:$D127 PRG:5127 C9 32 + beq NmiHandler_Loop539 ; CPU:$D129 PRG:5129 F0 06 + cmp #$6E ; CPU:$D12B PRG:512B C9 6E + beq NmiHandler_Loop541 ; CPU:$D12D PRG:512D F0 09 + bne NmiHandler_Loop540 ; CPU:$D12F PRG:512F D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop539 +; Global: Branch target inside NmiHandler: taken when Loop539. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop539: + clc ; CPU:$D131 PRG:5131 18 + adc #$0A ; CPU:$D132 PRG:5132 69 0A +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop540 +; Global: Branch target inside NmiHandler: taken when Loop540. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop540: + tay ; CPU:$D134 PRG:5134 A8 + jmp Sub_D0CD ; CPU:$D135 PRG:5135 4C CD D0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop541 +; Global: Branch target inside NmiHandler: taken when Loop541. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop541: + rts ; CPU:$D138 PRG:5138 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D139 +; Global: Branch target inside Sub: taken when D139. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D139: + ldx #$00 ; CPU:$D139 PRG:5139 A2 00 + ldy #$00 ; CPU:$D13B PRG:513B A0 00 + lda TimerIndex3 ; CPU:$D13D PRG:513D A5 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero70 +; Global: Branch target inside NmiHandler: taken when OnNonzero70. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero70: + cmp $D2F5,y ; CPU:$D13F PRG:513F D9 F5 D2 + bcc NmiHandler_Loop542 ; CPU:$D142 PRG:5142 90 05 + iny ; CPU:$D144 PRG:5144 C8 + cpy #$02 ; CPU:$D145 PRG:5145 C0 02 + bne NmiHandler_OnNonzero70 ; CPU:$D147 PRG:5147 D0 F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop542 +; Global: Branch target inside NmiHandler: taken when Loop542. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop542: + lda TimerIndex ; CPU:$D149 PRG:5149 A5 A3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero71 +; Global: Branch target inside NmiHandler: taken when OnNonzero71. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero71: + cmp $D2F0,x ; CPU:$D14B PRG:514B DD F0 D2 + bcc NmiHandler_Loop543 ; CPU:$D14E PRG:514E 90 08 + iny ; CPU:$D150 PRG:5150 C8 + iny ; CPU:$D151 PRG:5151 C8 + iny ; CPU:$D152 PRG:5152 C8 + inx ; CPU:$D153 PRG:5153 E8 + cpx #$05 ; CPU:$D154 PRG:5154 E0 05 + bne NmiHandler_OnNonzero71 ; CPU:$D156 PRG:5156 D0 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop543 +; Global: Branch target inside NmiHandler: taken when Loop543. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop543: + lda $D309,y ; CPU:$D158 PRG:5158 B9 09 D3 + tax ; CPU:$D15B PRG:515B AA + stx $06E2 ; CPU:$D15C PRG:515C 8E E2 06 + inx ; CPU:$D15F PRG:515F E8 + stx $06E3 ; CPU:$D160 PRG:5160 8E E3 06 + rts ; CPU:$D163 PRG:5163 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D164 +; Global: Branch target inside Sub: taken when D164. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D164: + lda #$01 ; CPU:$D164 PRG:5164 A9 01 + sta FrameCounter ; CPU:$D166 PRG:5166 85 02 + lda #$00 ; CPU:$D168 PRG:5168 A9 00 + sta Zp03 ; CPU:$D16A PRG:516A 85 03 + sta PlayerSpeed2 ; CPU:$D16C PRG:516C 85 90 + lda $06E2 ; CPU:$D16E PRG:516E AD E2 06 + bpl NmiHandler_Loop544 ; CPU:$D171 PRG:5171 10 08 + ldy #$3D ; CPU:$D173 PRG:5173 A0 3D + sty FrameCounter ; CPU:$D175 PRG:5175 84 02 + ldy #$7E ; CPU:$D177 PRG:5177 A0 7E + sty PlayerSpeed2 ; CPU:$D179 PRG:5179 84 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop544 +; Global: Branch target inside NmiHandler: taken when Loop544. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop544: + jsr Sub_D19A ; CPU:$D17B PRG:517B 20 9A D1 + lda #$3D ; CPU:$D17E PRG:517E A9 3D + sta FrameCounter ; CPU:$D180 PRG:5180 85 02 + lda #$01 ; CPU:$D182 PRG:5182 A9 01 + sta Zp03 ; CPU:$D184 PRG:5184 85 03 + lda #$7E ; CPU:$D186 PRG:5186 A9 7E + sta PlayerSpeed2 ; CPU:$D188 PRG:5188 85 90 + lda $06E3 ; CPU:$D18A PRG:518A AD E3 06 + bpl NmiHandler_Loop545 ; CPU:$D18D PRG:518D 10 07 + ldy #$01 ; CPU:$D18F PRG:518F A0 01 + sty FrameCounter ; CPU:$D191 PRG:5191 84 02 + dey ; CPU:$D193 PRG:5193 88 + sty PlayerSpeed2 ; CPU:$D194 PRG:5194 84 90 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop545 +; Global: Branch target inside NmiHandler: taken when Loop545. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop545: + jsr Sub_D19A ; CPU:$D196 PRG:5196 20 9A D1 + rts ; CPU:$D199 PRG:5199 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D19A +; Global: Branch target inside Sub: taken when D19A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D19A: + sta Zp05 ; CPU:$D19A PRG:519A 85 05 + and #$7F ; CPU:$D19C PRG:519C 29 7F + bne NmiHandler_Loop546 ; CPU:$D19E PRG:519E D0 01 + rts ; CPU:$D1A0 PRG:51A0 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop546 +; Global: Branch target inside NmiHandler: taken when Loop546. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop546: + tax ; CPU:$D1A1 PRG:51A1 AA + lda $06E7 ; CPU:$D1A2 PRG:51A2 AD E7 06 + cmp #$06 ; CPU:$D1A5 PRG:51A5 C9 06 + bne NmiHandler_Loop548 ; CPU:$D1A7 PRG:51A7 D0 1C + lda Zp94 ; CPU:$D1A9 PRG:51A9 A5 94 + cmp $0632 ; CPU:$D1AB PRG:51AB CD 32 06 + beq NmiHandler_Loop548 ; CPU:$D1AE PRG:51AE F0 15 + cmp $066E ; CPU:$D1B0 PRG:51B0 CD 6E 06 + beq NmiHandler_Loop548 ; CPU:$D1B3 PRG:51B3 F0 10 + lda Zp94 ; CPU:$D1B5 PRG:51B5 A5 94 + cmp #$7E ; CPU:$D1B7 PRG:51B7 C9 7E + bcs NmiHandler_Loop547 ; CPU:$D1B9 PRG:51B9 B0 05 + lda PlayerSpeed2 ; CPU:$D1BB PRG:51BB A5 90 + beq NmiHandler_Loop548 ; CPU:$D1BD PRG:51BD F0 06 + rts ; CPU:$D1BF PRG:51BF 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop547 +; Global: Branch target inside NmiHandler: taken when Loop547. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop547: + lda PlayerSpeed2 ; CPU:$D1C0 PRG:51C0 A5 90 + bne NmiHandler_Loop548 ; CPU:$D1C2 PRG:51C2 D0 01 + rts ; CPU:$D1C4 PRG:51C4 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop548 +; Global: Branch target inside NmiHandler: taken when Loop548. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop548: + ldy #$05 ; CPU:$D1C5 PRG:51C5 A0 05 + sty Zp04 ; CPU:$D1C7 PRG:51C7 84 04 + dex ; CPU:$D1C9 PRG:51C9 CA + txa ; CPU:$D1CA PRG:51CA 8A + clc ; CPU:$D1CB PRG:51CB 18 + asl a ; CPU:$D1CC PRG:51CC 0A + sta VramWritePtrLo ; CPU:$D1CD PRG:51CD 85 00 + asl a ; CPU:$D1CF PRG:51CF 0A + adc VramWritePtrLo ; CPU:$D1D0 PRG:51D0 65 00 + asl a ; CPU:$D1D2 PRG:51D2 0A + tax ; CPU:$D1D3 PRG:51D3 AA + ldy FrameCounter ; CPU:$D1D4 PRG:51D4 A4 02 + lda Zp04 ; CPU:$D1D6 PRG:51D6 A5 04 + sta VramWritePtrLo ; CPU:$D1D8 PRG:51D8 85 00 + lda Zp05 ; CPU:$D1DA PRG:51DA A5 05 + and #$80 ; CPU:$D1DC PRG:51DC 29 80 + beq NmiHandler_OnNonzero72 ; CPU:$D1DE PRG:51DE F0 03 + jmp NmiHandler_OnNonzero74 ; CPU:$D1E0 PRG:51E0 4C 63 D2 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero72 +; Global: Branch target inside NmiHandler: taken when OnNonzero72. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero72: + lda #$10 ; CPU:$D1E3 PRG:51E3 A9 10 + clc ; CPU:$D1E5 PRG:51E5 18 + adc $D417,x ; CPU:$D1E6 PRG:51E6 7D 17 D4 + sta $0600,y ; CPU:$D1E9 PRG:51E9 99 00 06 + lda $06E7 ; CPU:$D1EC PRG:51EC AD E7 06 + cmp #$06 ; CPU:$D1EF PRG:51EF C9 06 + bne NmiHandler_Loop549 ; CPU:$D1F1 PRG:51F1 D0 06 + lda $0600,y ; CPU:$D1F3 PRG:51F3 B9 00 06 + sta $0600,y ; CPU:$D1F6 PRG:51F6 99 00 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop549 +; Global: Branch target inside NmiHandler: taken when Loop549. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop549: + lda #$00 ; CPU:$D1F9 PRG:51F9 A9 00 + sta $0601,y ; CPU:$D1FB PRG:51FB 99 01 06 + jsr Sub_867E ; CPU:$D1FE PRG:51FE 20 7E 86 + inx ; CPU:$D201 PRG:5201 E8 + tya ; CPU:$D202 PRG:5202 98 + clc ; CPU:$D203 PRG:5203 18 + adc #$0A ; CPU:$D204 PRG:5204 69 0A + tay ; CPU:$D206 PRG:5206 A8 + dec VramWritePtrLo ; CPU:$D207 PRG:5207 C6 00 + bne NmiHandler_OnNonzero72 ; CPU:$D209 PRG:5209 D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D20B +; Global: Branch target inside Sub: taken when D20B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D20B: + lda Zp04 ; CPU:$D20B PRG:520B A5 04 + sta VramWritePtrLo ; CPU:$D20D PRG:520D 85 00 + cmp #$06 ; CPU:$D20F PRG:520F C9 06 + beq NmiHandler_Loop550 ; CPU:$D211 PRG:5211 F0 01 + inx ; CPU:$D213 PRG:5213 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop550 +; Global: Branch target inside NmiHandler: taken when Loop550. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop550: + ldy FrameCounter ; CPU:$D214 PRG:5214 A4 02 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero73 +; Global: Branch target inside NmiHandler: taken when OnNonzero73. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero73: + lda #$08 ; CPU:$D216 PRG:5216 A9 08 + clc ; CPU:$D218 PRG:5218 18 + adc $D417,x ; CPU:$D219 PRG:5219 7D 17 D4 + sta $0602,y ; CPU:$D21C PRG:521C 99 02 06 + lda $06E7 ; CPU:$D21F PRG:521F AD E7 06 + cmp #$06 ; CPU:$D222 PRG:5222 C9 06 + bne NmiHandler_Loop551 ; CPU:$D224 PRG:5224 D0 06 + lda $0602,y ; CPU:$D226 PRG:5226 B9 02 06 + sta $0602,y ; CPU:$D229 PRG:5229 99 02 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop551 +; Global: Branch target inside NmiHandler: taken when Loop551. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop551: + lda #$00 ; CPU:$D22C PRG:522C A9 00 + sta $0603,y ; CPU:$D22E PRG:522E 99 03 06 + inx ; CPU:$D231 PRG:5231 E8 + tya ; CPU:$D232 PRG:5232 98 + clc ; CPU:$D233 PRG:5233 18 + adc #$0A ; CPU:$D234 PRG:5234 69 0A + pha ; CPU:$D236 PRG:5236 48 + lda #$00 ; CPU:$D237 PRG:5237 A9 00 + ldy PlayerSpeed2 ; CPU:$D239 PRG:5239 A4 90 + sta $0310,y ; CPU:$D23B PRG:523B 99 10 03 + lda $0311,y ; CPU:$D23E PRG:523E B9 11 03 + bne NmiHandler_Loop552 ; CPU:$D241 PRG:5241 D0 05 + jsr Sub_867E ; CPU:$D243 PRG:5243 20 7E 86 + and #$1F ; CPU:$D246 PRG:5246 29 1F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop552 +; Global: Branch target inside NmiHandler: taken when Loop552. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop552: + pla ; CPU:$D248 PRG:5248 68 + tay ; CPU:$D249 PRG:5249 A8 + lda PlayerSpeed2 ; CPU:$D24A PRG:524A A5 90 + clc ; CPU:$D24C PRG:524C 18 + adc #$15 ; CPU:$D24D PRG:524D 69 15 + sta PlayerSpeed2 ; CPU:$D24F PRG:524F 85 90 + dec VramWritePtrLo ; CPU:$D251 PRG:5251 C6 00 + bne NmiHandler_OnNonzero73 ; CPU:$D253 PRG:5253 D0 C1 + ldy Zp03 ; CPU:$D255 PRG:5255 A4 03 + lda $06E2,y ; CPU:$D257 PRG:5257 B9 E2 06 + sta $06E4,y ; CPU:$D25A PRG:525A 99 E4 06 + lda #$00 ; CPU:$D25D PRG:525D A9 00 + sta $06E2,y ; CPU:$D25F PRG:525F 99 E2 06 + rts ; CPU:$D262 PRG:5262 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero74 +; Global: Branch target inside NmiHandler: taken when OnNonzero74. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero74: + lda #$10 ; CPU:$D263 PRG:5263 A9 10 + sec ; CPU:$D265 PRG:5265 38 + sbc $D417,x ; CPU:$D266 PRG:5266 FD 17 D4 + sta $0600,y ; CPU:$D269 PRG:5269 99 00 06 + lda $06E7 ; CPU:$D26C PRG:526C AD E7 06 + cmp #$06 ; CPU:$D26F PRG:526F C9 06 + bne NmiHandler_Loop553 ; CPU:$D271 PRG:5271 D0 06 + lda $0600,y ; CPU:$D273 PRG:5273 B9 00 06 + sta $0600,y ; CPU:$D276 PRG:5276 99 00 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop553 +; Global: Branch target inside NmiHandler: taken when Loop553. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop553: + lda #$00 ; CPU:$D279 PRG:5279 A9 00 + sta $0601,y ; CPU:$D27B PRG:527B 99 01 06 + jsr Sub_867E ; CPU:$D27E PRG:527E 20 7E 86 + inx ; CPU:$D281 PRG:5281 E8 + tya ; CPU:$D282 PRG:5282 98 + clc ; CPU:$D283 PRG:5283 18 + adc #$0A ; CPU:$D284 PRG:5284 69 0A + tay ; CPU:$D286 PRG:5286 A8 + dec VramWritePtrLo ; CPU:$D287 PRG:5287 C6 00 + bne NmiHandler_OnNonzero74 ; CPU:$D289 PRG:5289 D0 D8 + jmp Sub_D20B ; CPU:$D28B PRG:528B 4C 0B D2 +; ---- data $D28E-$D624 (919 bytes) ---- +; referenced by `lda $D511,x` at $C09B (operand $D511 falls inside this region) +; referenced by `lda $D52E,y` at $C14A (operand $D52E falls inside this region) +; referenced by `lda $D533,y` at $C2A4 (operand $D533 falls inside this region) +; referenced by `cmp $D538,x` at $C2E7 (operand $D538 falls inside this region) +; referenced by `lda $D507,y` at $C327 (operand $D507 falls inside this region) +; referenced by `cmp $D51A,y` at $C3FD (operand $D51A falls inside this region) +; ... and 26 further references from decoded code + .byte $AE, $B2, $B6, $BA, $BE, $AE, $BE, $B6, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $D2 ; CPU:$D28E PRG:528E AE B2 B6 BA BE AE BE B6 D2 D2 D2 D2 D2 D2 D2 D2 + .byte $C2, $C4, $C8, $CA, $CE, $C2, $CE, $C8, $D2, $D2, $D2, $D2, $D2, $D2, $D2, $D2 ; CPU:$D29E PRG:529E C2 C4 C8 CA CE C2 CE C8 D2 D2 D2 D2 D2 D2 D2 D2 + .byte $20, $08, $C0, $08, $08, $08, $D0, $00, $20, $00, $C0, $00, $08, $04, $C0, $00 ; CPU:$D2AE PRG:52AE 20 08 C0 08 08 08 D0 00 20 00 C0 00 08 04 C0 00 + .byte $20, $04, $C0, $04, $FF, $08, $08, $08, $F8, $00, $FF, $00, $08, $04, $F8, $00 ; CPU:$D2BE PRG:52BE 20 04 C0 04 FF 08 08 08 F8 00 FF 00 08 04 F8 00 + .byte $FF, $04, $03, $C0, $02, $C0, $03, $C0, $0D, $30, $1C, $70, $02, $B0, $1C, $60 ; CPU:$D2CE PRG:52CE FF 04 03 C0 02 C0 03 C0 0D 30 1C 70 02 B0 1C 60 + .byte $0D, $20, $04, $E0, $05, $80, $04, $E0, $09, $30, $1B, $40, $05, $80, $1B, $40 ; CPU:$D2DE PRG:52DE 0D 20 04 E0 05 80 04 E0 09 30 1B 40 05 80 1B 40 + .byte $09, $30, $07, $0D, $10, $13, $19, $06, $0A, $91, $8F, $93, $8B, $89, $8D, $85 ; CPU:$D2EE PRG:52EE 09 30 07 0D 10 13 19 06 0A 91 8F 93 8B 89 8D 85 + .byte $83, $87, $05, $03, $07, $0B, $09, $0D, $11, $0F, $13, $91, $8F, $93, $8B, $89 ; CPU:$D2FE PRG:52FE 83 87 05 03 07 0B 09 0D 11 0F 13 91 8F 93 8B 89 + .byte $8D, $85, $83, $87, $05, $03, $07, $0B, $09, $0D, $11, $0F, $13, $00, $0A, $14 ; CPU:$D30E PRG:530E 8D 85 83 87 05 03 07 0B 09 0D 11 0F 13 00 0A 14 + .byte $1E, $28, $32, $3C, $46, $50, $5A, $64, $6E, $FF, $FF, $FF, $FC, $FC, $F4, $FC ; CPU:$D31E PRG:531E 1E 28 32 3C 46 50 5A 64 6E FF FF FF FC FC F4 FC + .byte $FF, $01, $FD, $03, $00, $01, $02, $01, $05, $05, $0C, $FC, $00, $04, $FE, $02 ; CPU:$D32E PRG:532E FF 01 FD 03 00 01 02 01 05 05 0C FC 00 04 FE 02 + .byte $00, $05, $01, $05, $FA, $FA, $0C, $FC, $00, $04, $FD, $03, $00, $FC, $03, $FC ; CPU:$D33E PRG:533E 00 05 01 05 FA FA 0C FC 00 04 FD 03 00 FC 03 FC + .byte $07, $07, $F4, $FD, $00, $04, $FD, $03, $00, $06, $01, $05, $FA, $FA, $0C, $FE ; CPU:$D34E PRG:534E 07 07 F4 FD 00 04 FD 03 00 06 01 05 FA FA 0C FE + .byte $FC, $04, $FD, $03, $00, $FC, $03, $FC, $08, $06, $F4, $FD, $FC, $04, $FE, $02 ; CPU:$D35E PRG:535E FC 04 FD 03 00 FC 03 FC 08 06 F4 FD FC 04 FE 02 + .byte $00, $04, $01, $06, $FC, $FC, $0C, $FC, $04, $02, $FD, $03, $00, $FE, $03, $FE ; CPU:$D36E PRG:536E 00 04 01 06 FC FC 0C FC 04 02 FD 03 00 FE 03 FE + .byte $06, $08, $F4, $FD, $04, $04, $FE, $02, $00, $07, $04, $07, $FA, $FA, $0C, $FC ; CPU:$D37E PRG:537E 06 08 F4 FD 04 04 FE 02 00 07 04 07 FA FA 0C FC + .byte $00, $04, $FD, $03, $00, $FC, $06, $FC, $09, $09, $F4, $FD, $00, $04, $FD, $03 ; CPU:$D38E PRG:538E 00 04 FD 03 00 FC 06 FC 09 09 F4 FD 00 04 FD 03 + .byte $00, $09, $04, $06, $FC, $FC, $0C, $FC, $FC, $01, $FD, $03, $00, $FE, $06, $FE ; CPU:$D39E PRG:539E 00 09 04 06 FC FC 0C FC FC 01 FD 03 00 FE 06 FE + .byte $0B, $08, $F4, $FD, $FC, $04, $FD, $02, $00, $05, $04, $09, $FC, $FC, $0C, $FE ; CPU:$D3AE PRG:53AE 0B 08 F4 FD FC 04 FD 02 00 05 04 09 FC FC 0C FE + .byte $04, $04, $FD, $03, $00, $FE, $06, $FE, $07, $0A, $F4, $FD, $04, $04, $00, $02 ; CPU:$D3BE PRG:53BE 04 04 FD 03 00 FE 06 FE 07 0A F4 FD 04 04 00 02 + .byte $00, $09, $07, $09, $FE, $FE, $0C, $FC, $00, $04, $FD, $03, $00, $FF, $09, $FF ; CPU:$D3CE PRG:53CE 00 09 07 09 FE FE 0C FC 00 04 FD 03 00 FF 09 FF + .byte $0B, $0B, $F4, $FD, $00, $04, $FD, $03, $00, $09, $07, $07, $FB, $FB, $0C, $FC ; CPU:$D3DE PRG:53DE 0B 0B F4 FD 00 04 FD 03 00 09 07 07 FB FB 0C FC + .byte $00, $04, $FC, $04, $00, $FA, $07, $FA, $0A, $09, $F4, $FD, $00, $03, $FC, $03 ; CPU:$D3EE PRG:53EE 00 04 FC 04 00 FA 07 FA 0A 09 F4 FD 00 03 FC 03 + .byte $00, $07, $06, $09, $FA, $FA, $0C, $FC, $01, $04, $FD, $04, $00, $FA, $08, $FA ; CPU:$D3FE PRG:53FE 00 07 06 09 FA FA 0C FC 01 04 FD 04 00 FA 08 FA + .byte $09, $0B, $F4, $FD, $00, $03, $FC, $04, $00, $FF, $FF, $FF, $FC, $FC, $F4, $FC ; CPU:$D40E PRG:540E 09 0B F4 FD 00 03 FC 04 00 FF FF FF FC FC F4 FC + .byte $FF, $01, $FD, $03, $00, $01, $02, $01, $05, $05, $0C, $FC, $00, $04, $FE, $02 ; CPU:$D41E PRG:541E FF 01 FD 03 00 01 02 01 05 05 0C FC 00 04 FE 02 + .byte $00, $05, $01, $05, $FA, $FA, $0C, $FC, $00, $04, $FD, $03, $00, $FC, $03, $FC ; CPU:$D42E PRG:542E 00 05 01 05 FA FA 0C FC 00 04 FD 03 00 FC 03 FC + .byte $07, $07, $F4, $FD, $00, $04, $FD, $03, $00, $06, $01, $04, $F6, $F8, $0C, $FC ; CPU:$D43E PRG:543E 07 07 F4 FD 00 04 FD 03 00 06 01 04 F6 F8 0C FC + .byte $00, $04, $FD, $04, $00, $FB, $05, $FE, $0A, $07, $F4, $FD, $00, $03, $FC, $04 ; CPU:$D44E PRG:544E 00 04 FD 04 00 FB 05 FE 0A 07 F4 FD 00 03 FC 04 + .byte $00, $02, $04, $07, $FA, $F7, $0C, $FC, $00, $02, $FD, $04, $00, $FF, $02, $FE ; CPU:$D45E PRG:545E 00 02 04 07 FA F7 0C FC 00 02 FD 04 00 FF 02 FE + .byte $07, $0A, $F4, $FC, $FE, $04, $FE, $05, $00, $07, $04, $07, $FA, $FA, $0C, $FC ; CPU:$D46E PRG:546E 07 0A F4 FC FE 04 FE 05 00 07 04 07 FA FA 0C FC + .byte $00, $04, $FD, $03, $00, $FC, $06, $FC, $09, $09, $F4, $FD, $00, $04, $FD, $03 ; CPU:$D47E PRG:547E 00 04 FD 03 00 FC 06 FC 09 09 F4 FD 00 04 FD 03 + .byte $00, $08, $06, $06, $FF, $FF, $0C, $FD, $01, $04, $FC, $03, $00, $02, $03, $01 ; CPU:$D48E PRG:548E 00 08 06 06 FF FF 0C FD 01 04 FC 03 00 02 03 01 + .byte $09, $08, $F4, $FD, $01, $04, $00, $05, $00, $05, $03, $08, $F7, $FE, $0C, $FD ; CPU:$D49E PRG:549E 09 08 F4 FD 01 04 00 05 00 05 03 08 F7 FE 0C FD + .byte $00, $01, $FD, $03, $00, $01, $05, $01, $09, $0A, $F4, $FC, $FE, $03, $FC, $04 ; CPU:$D4AE PRG:54AE 00 01 FD 03 00 01 05 01 09 0A F4 FC FE 03 FC 04 + .byte $00, $0B, $07, $0B, $FC, $FC, $0C, $FC, $00, $04, $FD, $03, $00, $FF, $05, $FF ; CPU:$D4BE PRG:54BE 00 0B 07 0B FC FC 0C FC 00 04 FD 03 00 FF 05 FF + .byte $06, $0A, $F4, $FD, $04, $04, $FE, $04, $00, $09, $09, $0A, $FC, $FC, $0C, $FC ; CPU:$D4CE PRG:54CE 06 0A F4 FD 04 04 FE 04 00 09 09 0A FC FC 0C FC + .byte $01, $04, $FD, $04, $00, $FF, $05, $FF, $0A, $0A, $F4, $FD, $FE, $04, $FD, $03 ; CPU:$D4DE PRG:54DE 01 04 FD 04 00 FF 05 FF 0A 0A F4 FD FE 04 FD 03 + .byte $00, $0A, $09, $0A, $FC, $FC, $0C, $FC, $FD, $02, $FD, $04, $00, $FF, $08, $FF ; CPU:$D4EE PRG:54EE 00 0A 09 0A FC FC 0C FC FD 02 FD 04 00 FF 08 FF + .byte $07, $0B, $F4, $FD, $02, $04, $FE, $FD, $00, $03, $07, $00, $05, $04, $06, $00 ; CPU:$D4FE PRG:54FE 07 0B F4 FD 02 04 FE FD 00 03 07 00 05 04 06 00 + .byte $01, $02, $08, $00, $08, $09, $01, $05, $04, $06, $02, $0A, $00, $5A, $0A, $46 ; CPU:$D50E PRG:550E 01 02 08 00 08 09 01 05 04 06 02 0A 00 5A 0A 46 + .byte $14, $64, $1E, $3C, $28, $50, $32, $6E, $28, $1E, $14, $00, $50, $3C, $64, $5A ; CPU:$D51E PRG:551E 14 64 1E 3C 28 50 32 6E 28 1E 14 00 50 3C 64 5A + .byte $03, $03, $03, $04, $04, $02, $02, $02, $03, $03, $D0, $B0, $80, $40, $01, $08 ; CPU:$D52E PRG:552E 03 03 03 04 04 02 02 02 03 03 D0 B0 80 40 01 08 + .byte $09, $01, $05, $04, $06, $02, $0A, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D53E PRG:553E 09 01 05 04 06 02 0A 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $43, $52, $45, $41, $54, $45, $20, $42 ; CPU:$D54E PRG:554E 20 20 20 20 20 20 20 20 43 52 45 41 54 45 20 42 + .byte $59, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D55E PRG:555E 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $48, $2E, $59, $55, $4B ; CPU:$D56E PRG:556E 20 20 20 20 20 20 20 20 20 20 20 48 2E 59 55 4B + .byte $41, $4D, $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D57E PRG:557E 41 4D 49 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $5B, $20, $53, $43, $50, $4C, $43 ; CPU:$D58E PRG:558E 20 20 20 20 20 20 20 20 20 5B 20 53 43 50 4C 43 + .byte $54, $52, $4C, $20, $5D, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D59E PRG:559E 54 52 4C 20 5D 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5AE PRG:55AE 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $44, $41, $54, $45, $20, $26, $20 ; CPU:$D5BE PRG:55BE 20 20 20 20 20 20 20 20 20 44 41 54 45 20 26 20 + .byte $54, $49, $4D, $45, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5CE PRG:55CE 54 49 4D 45 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $38, $35, $2F, $30, $32, $2F, $31 ; CPU:$D5DE PRG:55DE 20 20 20 20 20 20 20 20 20 38 35 2F 30 32 2F 31 + .byte $38, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D5EE PRG:55EE 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $30, $33, $3A, $31 ; CPU:$D5FE PRG:55FE 20 20 20 20 20 20 20 20 20 20 20 20 30 33 3A 31 + .byte $30, $3A, $31, $39, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$D60E PRG:560E 30 3A 31 39 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20 ; CPU:$D61E PRG:561E 20 20 20 20 20 20 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_D625 +; Global: Branch target inside Sub: taken when D625. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D625: + lda $06E7 ; CPU:$D625 PRG:5625 AD E7 06 + cmp #$11 ; CPU:$D628 PRG:5628 C9 11 + bne NmiHandler_Loop554 ; CPU:$D62A PRG:562A D0 03 + jmp Sub_E46A ; CPU:$D62C PRG:562C 4C 6A E4 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop554 +; Global: Branch target inside NmiHandler: taken when Loop554. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop554: + cmp #$15 ; CPU:$D62F PRG:562F C9 15 + beq NmiHandler_Loop555 ; CPU:$D631 PRG:5631 F0 05 + cmp #$06 ; CPU:$D633 PRG:5633 C9 06 + beq NmiHandler_Loop555 ; CPU:$D635 PRG:5635 F0 01 + rts ; CPU:$D637 PRG:5637 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop555 +; Global: Branch target inside NmiHandler: taken when Loop555. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop555: + ldy #$69 ; CPU:$D638 PRG:5638 A0 69 + lda Zp16 ; CPU:$D63A PRG:563A A5 16 + ldx $0125 ; CPU:$D63C PRG:563C AE 25 01 + bne NmiHandler_Loop556 ; CPU:$D63F PRG:563F D0 0C + ldy #$E7 ; CPU:$D641 PRG:5641 A0 E7 + lda Zp17 ; CPU:$D643 PRG:5643 A5 17 + ldx $012B ; CPU:$D645 PRG:5645 AE 2B 01 + bne NmiHandler_Loop556 ; CPU:$D648 PRG:5648 D0 03 + jmp NmiHandler_Loop567 ; CPU:$D64A PRG:564A 4C 96 D7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop556 +; Global: Branch target inside NmiHandler: taken when Loop556. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop556: + sty PlayerSpeed2 ; CPU:$D64D PRG:564D 84 90 + sta VramReadPtrLo ; CPU:$D64F PRG:564F 85 0C + jsr Sub_D797 ; CPU:$D651 PRG:5651 20 97 D7 + ldy PlayerSpeed2 ; CPU:$D654 PRG:5654 A4 90 + lda #$F7 ; CPU:$D656 PRG:5656 A9 F7 + sta Zp11 ; CPU:$D658 PRG:5658 85 11 + ldx #$AE ; CPU:$D65A PRG:565A A2 AE + stx Zp15 ; CPU:$D65C PRG:565C 86 15 + ldx #$43 ; CPU:$D65E PRG:565E A2 43 + stx Zp14 ; CPU:$D660 PRG:5660 86 14 + jsr Sub_D985 ; CPU:$D662 PRG:5662 20 85 D9 + ldx #$37 ; CPU:$D665 PRG:5665 A2 37 + stx Zp14 ; CPU:$D667 PRG:5667 86 14 + ldx #$6A ; CPU:$D669 PRG:5669 A2 6A + stx Zp15 ; CPU:$D66B PRG:566B 86 15 + cpy #$69 ; CPU:$D66D PRG:566D C0 69 + beq NmiHandler_Loop557 ; CPU:$D66F PRG:566F F0 08 + ldx #$97 ; CPU:$D671 PRG:5671 A2 97 + stx Zp14 ; CPU:$D673 PRG:5673 86 14 + ldx #$C9 ; CPU:$D675 PRG:5675 A2 C9 + stx Zp15 ; CPU:$D677 PRG:5677 86 15 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop557 +; Global: Branch target inside NmiHandler: taken when Loop557. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop557: + iny ; CPU:$D679 PRG:5679 C8 + iny ; CPU:$D67A PRG:567A C8 + jsr Sub_D985 ; CPU:$D67B PRG:567B 20 85 D9 + lda VramReadPtrLo ; CPU:$D67E PRG:567E A5 0C + ldx PlayerSpeed2 ; CPU:$D680 PRG:5680 A6 90 + sta $030E,x ; CPU:$D682 PRG:5682 9D 0E 03 + jsr Sub_D8E1 ; CPU:$D685 PRG:5685 20 E1 D8 + ldx PlayerSpeed2 ; CPU:$D688 PRG:5688 A6 90 + lda #$40 ; CPU:$D68A PRG:568A A9 40 + sta VramReadPtrHi ; CPU:$D68C PRG:568C 85 0D + inx ; CPU:$D68E PRG:568E E8 + inx ; CPU:$D68F PRG:568F E8 + ldy #$00 ; CPU:$D690 PRG:5690 A0 00 + jsr Sub_B9AF ; CPU:$D692 PRG:5692 20 AF B9 + bcs NmiHandler_Loop559 ; CPU:$D695 PRG:5695 B0 3F + lda #$40 ; CPU:$D697 PRG:5697 A9 40 + sta VramReadPtrHi ; CPU:$D699 PRG:5699 85 0D + ldx PlayerSpeed2 ; CPU:$D69B PRG:569B A6 90 + jsr Sub_B9AF ; CPU:$D69D PRG:569D 20 AF B9 + bcc NmiHandler_Loop559 ; CPU:$D6A0 PRG:56A0 90 34 + lda $030A,x ; CPU:$D6A2 PRG:56A2 BD 0A 03 + and #$32 ; CPU:$D6A5 PRG:56A5 29 32 + bne NmiHandler_Loop559 ; CPU:$D6A7 PRG:56A7 D0 2D + lda TimerIndex4 ; CPU:$D6A9 PRG:56A9 A5 A9 + sta Zp10 ; CPU:$D6AB PRG:56AB 85 10 + lda TimerIndex3 ; CPU:$D6AD PRG:56AD A5 A8 + jsr Sub_D97C ; CPU:$D6AF PRG:56AF 20 7C D9 + cmp #$5C ; CPU:$D6B2 PRG:56B2 C9 5C + bcc NmiHandler_Loop559 ; CPU:$D6B4 PRG:56B4 90 20 + cmp #$8F ; CPU:$D6B6 PRG:56B6 C9 8F + bcs NmiHandler_Loop559 ; CPU:$D6B8 PRG:56B8 B0 1C + ldx PlayerSpeed2 ; CPU:$D6BA PRG:56BA A6 90 + lda $0300,x ; CPU:$D6BC PRG:56BC BD 00 03 + cmp #$03 ; CPU:$D6BF PRG:56BF C9 03 + bne NmiHandler_Loop559 ; CPU:$D6C1 PRG:56C1 D0 13 + lda ZpA2 ; CPU:$D6C3 PRG:56C3 A5 A2 + bpl NmiHandler_Loop558 ; CPU:$D6C5 PRG:56C5 10 02 + eor #$FF ; CPU:$D6C7 PRG:56C7 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop558 +; Global: Branch target inside NmiHandler: taken when Loop558. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop558: + beq NmiHandler_Loop559 ; CPU:$D6C9 PRG:56C9 F0 0B + lda #$18 ; CPU:$D6CB PRG:56CB A9 18 + sta $0300,x ; CPU:$D6CD PRG:56CD 9D 00 03 + lda #$20 ; CPU:$D6D0 PRG:56D0 A9 20 + sta $030A,x ; CPU:$D6D2 PRG:56D2 9D 0A 03 + rts ; CPU:$D6D5 PRG:56D5 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop559 +; Global: Branch target inside NmiHandler: taken when Loop559. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop559: + ldx PlayerSpeed2 ; CPU:$D6D6 PRG:56D6 A6 90 + lda $0300,x ; CPU:$D6D8 PRG:56D8 BD 00 03 + cmp #$03 ; CPU:$D6DB PRG:56DB C9 03 + bne NmiHandler_Loop562 ; CPU:$D6DD PRG:56DD D0 3F + lda $030A,x ; CPU:$D6DF PRG:56DF BD 0A 03 + and #$10 ; CPU:$D6E2 PRG:56E2 29 10 + bne NmiHandler_Loop561 ; CPU:$D6E4 PRG:56E4 D0 24 + lda $030C,x ; CPU:$D6E6 PRG:56E6 BD 0C 03 + and #$50 ; CPU:$D6E9 PRG:56E9 29 50 + cmp #$50 ; CPU:$D6EB PRG:56EB C9 50 + beq NmiHandler_Loop560 ; CPU:$D6ED PRG:56ED F0 1A + lda $030A,x ; CPU:$D6EF PRG:56EF BD 0A 03 + and #$04 ; CPU:$D6F2 PRG:56F2 29 04 + bne NmiHandler_Loop560 ; CPU:$D6F4 PRG:56F4 D0 13 + jsr Sub_D744 ; CPU:$D6F6 PRG:56F6 20 44 D7 + lda #$12 ; CPU:$D6F9 PRG:56F9 A9 12 + sta $030A,x ; CPU:$D6FB PRG:56FB 9D 0A 03 + lda #$16 ; CPU:$D6FE PRG:56FE A9 16 + sta $0300,x ; CPU:$D700 PRG:5700 9D 00 03 + jsr Sub_D958 ; CPU:$D703 PRG:5703 20 58 D9 + jsr Sub_8748 ; CPU:$D706 PRG:5706 20 48 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop560 +; Global: Branch target inside NmiHandler: taken when Loop560. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop560: + rts ; CPU:$D709 PRG:5709 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop561 +; Global: Branch target inside NmiHandler: taken when Loop561. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop561: + lda #$12 ; CPU:$D70A PRG:570A A9 12 + sta $0300,x ; CPU:$D70C PRG:570C 9D 00 03 + jsr Sub_D744 ; CPU:$D70F PRG:570F 20 44 D7 + lda #$32 ; CPU:$D712 PRG:5712 A9 32 + sta $030A,x ; CPU:$D714 PRG:5714 9D 0A 03 + jsr Sub_D958 ; CPU:$D717 PRG:5717 20 58 D9 + jsr Sub_8748 ; CPU:$D71A PRG:571A 20 48 87 + rts ; CPU:$D71D PRG:571D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop562 +; Global: Branch target inside NmiHandler: taken when Loop562. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop562: + lda $0300,x ; CPU:$D71E PRG:571E BD 00 03 + cmp #$19 ; CPU:$D721 PRG:5721 C9 19 + bne NmiHandler_Loop564 ; CPU:$D723 PRG:5723 D0 2B + lda $030C,x ; CPU:$D725 PRG:5725 BD 0C 03 + and #$50 ; CPU:$D728 PRG:5728 29 50 + cmp #$50 ; CPU:$D72A PRG:572A C9 50 + beq NmiHandler_Loop567 ; CPU:$D72C PRG:572C F0 68 + lda $030A,x ; CPU:$D72E PRG:572E BD 0A 03 + and #$10 ; CPU:$D731 PRG:5731 29 10 + bne NmiHandler_Loop563 ; CPU:$D733 PRG:5733 D0 03 + jsr Sub_8712 ; CPU:$D735 PRG:5735 20 12 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop563 +; Global: Branch target inside NmiHandler: taken when Loop563. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop563: + jsr Sub_8748 ; CPU:$D738 PRG:5738 20 48 87 + jsr Sub_D744 ; CPU:$D73B PRG:573B 20 44 D7 + lda #$32 ; CPU:$D73E PRG:573E A9 32 + sta $030A,x ; CPU:$D740 PRG:5740 9D 0A 03 + rts ; CPU:$D743 PRG:5743 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D744 +; Global: Branch target inside Sub: taken when D744. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D744: + ldx Zp94 ; CPU:$D744 PRG:5744 A6 94 + lda #$00 ; CPU:$D746 PRG:5746 A9 00 + sta $030A,x ; CPU:$D748 PRG:5748 9D 0A 03 + ldx PlayerSpeed2 ; CPU:$D74B PRG:574B A6 90 + stx Zp94 ; CPU:$D74D PRG:574D 86 94 + rts ; CPU:$D74F PRG:574F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop564 +; Global: Branch target inside NmiHandler: taken when Loop564. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop564: + cmp #$13 ; CPU:$D750 PRG:5750 C9 13 + bne NmiHandler_Loop566 ; CPU:$D752 PRG:5752 D0 32 + lda $030E,x ; CPU:$D754 PRG:5754 BD 0E 03 + and #$C0 ; CPU:$D757 PRG:5757 29 C0 + beq NmiHandler_Loop567 ; CPU:$D759 PRG:5759 F0 3B + lda $030A,x ; CPU:$D75B PRG:575B BD 0A 03 + and #$04 ; CPU:$D75E PRG:575E 29 04 + bne NmiHandler_Loop567 ; CPU:$D760 PRG:5760 D0 34 + ldy #$00 ; CPU:$D762 PRG:5762 A0 00 + cpx #$7E ; CPU:$D764 PRG:5764 E0 7E + bcc NmiHandler_Loop565 ; CPU:$D766 PRG:5766 90 02 + ldy #$14 ; CPU:$D768 PRG:5768 A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop565 +; Global: Branch target inside NmiHandler: taken when Loop565. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop565: + lda $06B8,y ; CPU:$D76A PRG:576A B9 B8 06 + cmp $06B0,y ; CPU:$D76D PRG:576D D9 B0 06 + beq NmiHandler_Loop567 ; CPU:$D770 PRG:5770 F0 24 + inc $0300,x ; CPU:$D772 PRG:5772 FE 00 03 + lda #$40 ; CPU:$D775 PRG:5775 A9 40 + sta $030D,x ; CPU:$D777 PRG:5777 9D 0D 03 + sta $06BA,y ; CPU:$D77A PRG:577A 99 BA 06 + jsr Sub_B8AA ; CPU:$D77D PRG:577D 20 AA B8 + lda #$26 ; CPU:$D780 PRG:5780 A9 26 + sta $030A,x ; CPU:$D782 PRG:5782 9D 0A 03 + rts ; CPU:$D785 PRG:5785 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop566 +; Global: Branch target inside NmiHandler: taken when Loop566. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop566: + lda $0300,x ; CPU:$D786 PRG:5786 BD 00 03 + cmp #$15 ; CPU:$D789 PRG:5789 C9 15 + bne NmiHandler_Loop567 ; CPU:$D78B PRG:578B D0 09 + lda #$40 ; CPU:$D78D PRG:578D A9 40 + cpx Zp94 ; CPU:$D78F PRG:578F E4 94 + bne NmiHandler_Loop567 ; CPU:$D791 PRG:5791 D0 03 + jmp Sub_B705 ; CPU:$D793 PRG:5793 4C 05 B7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop567 +; Global: Branch target inside NmiHandler: taken when Loop567. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop567: + rts ; CPU:$D796 PRG:5796 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D797 +; Global: Branch target inside Sub: taken when D797. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D797: + lda Zp47 ; CPU:$D797 PRG:5797 A5 47 + bne NmiHandler_Loop567 ; CPU:$D799 PRG:5799 D0 FB + ldx PlayerSpeed2 ; CPU:$D79B PRG:579B A6 90 + bpl NmiHandler_Loop567 ; CPU:$D79D PRG:579D 10 F7 + lda #$00 ; CPU:$D79F PRG:579F A9 00 + sta VramReadPtrLo ; CPU:$D7A1 PRG:57A1 85 0C + lda $0300,x ; CPU:$D7A3 PRG:57A3 BD 00 03 + cmp #$03 ; CPU:$D7A6 PRG:57A6 C9 03 + beq NmiHandler_Loop568 ; CPU:$D7A8 PRG:57A8 F0 0D + lda $0300,x ; CPU:$D7AA PRG:57AA BD 00 03 + cmp #$13 ; CPU:$D7AD PRG:57AD C9 13 + bne NmiHandler_OnZero17 ; CPU:$D7AF PRG:57AF D0 05 + ldy Zp17 ; CPU:$D7B1 PRG:57B1 A4 17 + jmp Sub_D8CA ; CPU:$D7B3 PRG:57B3 4C CA D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero17 +; Global: Branch target inside NmiHandler: taken when OnZero17. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero17: + rts ; CPU:$D7B6 PRG:57B6 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop568 +; Global: Branch target inside NmiHandler: taken when Loop568. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop568: + lda Zp94 ; CPU:$D7B7 PRG:57B7 A5 94 + cmp #$7E ; CPU:$D7B9 PRG:57B9 C9 7E + beq NmiHandler_OnZero17 ; CPU:$D7BB PRG:57BB F0 F9 + lda Zp7B ; CPU:$D7BD PRG:57BD A5 7B + asl a ; CPU:$D7BF PRG:57BF 0A + asl a ; CPU:$D7C0 PRG:57C0 0A + tay ; CPU:$D7C1 PRG:57C1 A8 + lda TimerIndex ; CPU:$D7C2 PRG:57C2 A5 A3 + cmp $D8CD,y ; CPU:$D7C4 PRG:57C4 D9 CD D8 + bcs NmiHandler_Loop574 ; CPU:$D7C7 PRG:57C7 B0 70 + lda $043A ; CPU:$D7C9 PRG:57C9 AD 3A 04 + bne NmiHandler_Loop569 ; CPU:$D7CC PRG:57CC D0 06 + lda $06C0 ; CPU:$D7CE PRG:57CE AD C0 06 + sta $043A ; CPU:$D7D1 PRG:57D1 8D 3A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop569 +; Global: Branch target inside NmiHandler: taken when Loop569. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop569: + ldx #$E7 ; CPU:$D7D4 PRG:57D4 A2 E7 + lda $0303,x ; CPU:$D7D6 PRG:57D6 BD 03 03 + sta Zp11 ; CPU:$D7D9 PRG:57D9 85 11 + lda $0302,x ; CPU:$D7DB PRG:57DB BD 02 03 + ldy #$04 ; CPU:$D7DE PRG:57DE A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero75 +; Global: Branch target inside NmiHandler: taken when OnNonzero75. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero75: + rol Zp11 ; CPU:$D7E0 PRG:57E0 26 11 + rol a ; CPU:$D7E2 PRG:57E2 2A + dey ; CPU:$D7E3 PRG:57E3 88 + bne NmiHandler_OnNonzero75 ; CPU:$D7E4 PRG:57E4 D0 FA + sec ; CPU:$D7E6 PRG:57E6 38 + sbc $043A ; CPU:$D7E7 PRG:57E7 ED 3A 04 + bpl NmiHandler_Loop570 ; CPU:$D7EA PRG:57EA 10 02 + eor #$FF ; CPU:$D7EC PRG:57EC 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop570 +; Global: Branch target inside NmiHandler: taken when Loop570. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop570: + and #$FE ; CPU:$D7EE PRG:57EE 29 FE + bne NmiHandler_Loop573 ; CPU:$D7F0 PRG:57F0 D0 27 + lda $0439 ; CPU:$D7F2 PRG:57F2 AD 39 04 + beq NmiHandler_Loop571 ; CPU:$D7F5 PRG:57F5 F0 06 + dec $0439 ; CPU:$D7F7 PRG:57F7 CE 39 04 + jmp NmiHandler_Loop573 ; CPU:$D7FA PRG:57FA 4C 19 D8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop571 +; Global: Branch target inside NmiHandler: taken when Loop571. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop571: + lda Zp7B ; CPU:$D7FD PRG:57FD A5 7B + asl a ; CPU:$D7FF PRG:57FF 0A + asl a ; CPU:$D800 PRG:5800 0A + tax ; CPU:$D801 PRG:5801 AA + lda $D8CF,x ; CPU:$D802 PRG:5802 BD CF D8 + sta $0439 ; CPU:$D805 PRG:5805 8D 39 04 + lda Zp44 ; CPU:$D808 PRG:5808 A5 44 + ror a ; CPU:$D80A PRG:580A 6A + lda $D8CE,x ; CPU:$D80B PRG:580B BD CE D8 + bcc NmiHandler_Loop572 ; CPU:$D80E PRG:580E 90 02 + eor #$FF ; CPU:$D810 PRG:5810 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop572 +; Global: Branch target inside NmiHandler: taken when Loop572. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop572: + clc ; CPU:$D812 PRG:5812 18 + adc $06C0 ; CPU:$D813 PRG:5813 6D C0 06 + sta $043A ; CPU:$D816 PRG:5816 8D 3A 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop573 +; Global: Branch target inside NmiHandler: taken when Loop573. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop573: + lda #$00 ; CPU:$D819 PRG:5819 A9 00 + sta $0425 ; CPU:$D81B PRG:581B 8D 25 04 + lda $043A ; CPU:$D81E PRG:581E AD 3A 04 + ldy #$04 ; CPU:$D821 PRG:5821 A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero76 +; Global: Branch target inside NmiHandler: taken when OnNonzero76. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero76: + lsr a ; CPU:$D823 PRG:5823 4A + ror $0425 ; CPU:$D824 PRG:5824 6E 25 04 + dey ; CPU:$D827 PRG:5827 88 + bne NmiHandler_OnNonzero76 ; CPU:$D828 PRG:5828 D0 F9 + sta $0424 ; CPU:$D82A PRG:582A 8D 24 04 + lda #$1C ; CPU:$D82D PRG:582D A9 1C + sta $041F ; CPU:$D82F PRG:582F 8D 1F 04 + lda #$00 ; CPU:$D832 PRG:5832 A9 00 + sta $0420 ; CPU:$D834 PRG:5834 8D 20 04 + beq NmiHandler_Loop576 ; CPU:$D837 PRG:5837 F0 37 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop574 +; Global: Branch target inside NmiHandler: taken when Loop574. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop574: + ldy Zp94 ; CPU:$D839 PRG:5839 A4 94 + lda $030A,y ; CPU:$D83B PRG:583B B9 0A 03 + and #$03 ; CPU:$D83E PRG:583E 29 03 + bne NmiHandler_Loop575 ; CPU:$D840 PRG:5840 D0 15 + lda ZpAB ; CPU:$D842 PRG:5842 A5 AB + ora ZpAC ; CPU:$D844 PRG:5844 05 AC + beq NmiHandler_Loop575 ; CPU:$D846 PRG:5846 F0 0F + lda $0437 ; CPU:$D848 PRG:5848 AD 37 04 + bne NmiHandler_Loop576 ; CPU:$D84B PRG:584B D0 23 + lda #$01 ; CPU:$D84D PRG:584D A9 01 + sta $0437 ; CPU:$D84F PRG:584F 8D 37 04 + jsr Sub_BB89 ; CPU:$D852 PRG:5852 20 89 BB + bne NmiHandler_Loop576 ; CPU:$D855 PRG:5855 D0 19 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop575 +; Global: Branch target inside NmiHandler: taken when Loop575. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop575: + ldx TimerIndex3 ; CPU:$D857 PRG:5857 A6 A8 + ldy TimerIndex4 ; CPU:$D859 PRG:5859 A4 A9 + stx $0424 ; CPU:$D85B PRG:585B 8E 24 04 + sty $0425 ; CPU:$D85E PRG:585E 8C 25 04 + ldx TimerIndex ; CPU:$D861 PRG:5861 A6 A3 + ldy TimerIndex2 ; CPU:$D863 PRG:5863 A4 A4 + stx $041F ; CPU:$D865 PRG:5865 8E 1F 04 + sty $0420 ; CPU:$D868 PRG:5868 8C 20 04 + lda #$00 ; CPU:$D86B PRG:586B A9 00 + sta $0437 ; CPU:$D86D PRG:586D 8D 37 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop576 +; Global: Branch target inside NmiHandler: taken when Loop576. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop576: + ldx PlayerSpeed2 ; CPU:$D870 PRG:5870 A6 90 + sec ; CPU:$D872 PRG:5872 38 + lda $0303,x ; CPU:$D873 PRG:5873 BD 03 03 + sbc $0425 ; CPU:$D876 PRG:5876 ED 25 04 + sta Zp10 ; CPU:$D879 PRG:5879 85 10 + lda $0302,x ; CPU:$D87B PRG:587B BD 02 03 + sbc $0424 ; CPU:$D87E PRG:587E ED 24 04 + jsr Sub_D97C ; CPU:$D881 PRG:5881 20 7C D9 + sta Zp11 ; CPU:$D884 PRG:5884 85 11 + ldy #$00 ; CPU:$D886 PRG:5886 A0 00 + lda Zp11 ; CPU:$D888 PRG:5888 A5 11 + bpl NmiHandler_Loop577 ; CPU:$D88A PRG:588A 10 02 + eor #$FF ; CPU:$D88C PRG:588C 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop577 +; Global: Branch target inside NmiHandler: taken when Loop577. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop577: + and #$FE ; CPU:$D88E PRG:588E 29 FE + beq NmiHandler_Loop578 ; CPU:$D890 PRG:5890 F0 08 + ldy #$08 ; CPU:$D892 PRG:5892 A0 08 + lda Zp11 ; CPU:$D894 PRG:5894 A5 11 + bpl NmiHandler_Loop578 ; CPU:$D896 PRG:5896 10 02 + ldy #$04 ; CPU:$D898 PRG:5898 A0 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop578 +; Global: Branch target inside NmiHandler: taken when Loop578. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop578: + sty VramReadPtrLo ; CPU:$D89A PRG:589A 84 0C + ldx PlayerSpeed2 ; CPU:$D89C PRG:589C A6 90 + sec ; CPU:$D89E PRG:589E 38 + lda $0305,x ; CPU:$D89F PRG:589F BD 05 03 + sbc $0420 ; CPU:$D8A2 PRG:58A2 ED 20 04 + sta Zp10 ; CPU:$D8A5 PRG:58A5 85 10 + lda $0304,x ; CPU:$D8A7 PRG:58A7 BD 04 03 + sbc $041F ; CPU:$D8AA PRG:58AA ED 1F 04 + jsr Sub_D97C ; CPU:$D8AD PRG:58AD 20 7C D9 + sta Zp11 ; CPU:$D8B0 PRG:58B0 85 11 + ldy #$00 ; CPU:$D8B2 PRG:58B2 A0 00 + lda Zp11 ; CPU:$D8B4 PRG:58B4 A5 11 + bpl NmiHandler_Loop579 ; CPU:$D8B6 PRG:58B6 10 02 + eor #$FF ; CPU:$D8B8 PRG:58B8 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop579 +; Global: Branch target inside NmiHandler: taken when Loop579. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop579: + and #$FE ; CPU:$D8BA PRG:58BA 29 FE + beq NmiHandler_Loop580 ; CPU:$D8BC PRG:58BC F0 08 + ldy #$02 ; CPU:$D8BE PRG:58BE A0 02 + lda Zp11 ; CPU:$D8C0 PRG:58C0 A5 11 + bpl NmiHandler_Loop580 ; CPU:$D8C2 PRG:58C2 10 02 + ldy #$01 ; CPU:$D8C4 PRG:58C4 A0 01 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop580 +; Global: Branch target inside NmiHandler: taken when Loop580. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop580: + tya ; CPU:$D8C6 PRG:58C6 98 + ora VramReadPtrLo ; CPU:$D8C7 PRG:58C7 05 0C + tay ; CPU:$D8C9 PRG:58C9 A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8CA +; Global: Branch target inside Sub: taken when D8CA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8CA: + sty VramReadPtrLo ; CPU:$D8CA PRG:58CA 84 0C + rts ; CPU:$D8CC PRG:58CC 60 +; ---- data $D8CD-$D8E0 (20 bytes) ---- +; referenced by `cmp $D8CD,y` at $D7C4 (operand $D8CD falls inside this region) +; referenced by `lda $D8CF,x` at $D802 (operand $D8CF falls inside this region) +; referenced by `lda $D8CE,x` at $D80B (operand $D8CE falls inside this region) + .byte $1C, $10, $20, $00, $1B, $10, $20, $00, $1A, $10, $20, $00, $17, $10, $20, $00 ; CPU:$D8CD PRG:58CD 1C 10 20 00 1B 10 20 00 1A 10 20 00 17 10 20 00 + .byte $16, $10, $20, $00 ; CPU:$D8DD PRG:58DD 16 10 20 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8E1 +; Global: Branch target inside Sub: taken when D8E1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8E1: + ldx PlayerSpeed2 ; CPU:$D8E1 PRG:58E1 A6 90 + lda $0300,x ; CPU:$D8E3 PRG:58E3 BD 00 03 + cmp #$19 ; CPU:$D8E6 PRG:58E6 C9 19 + beq NmiHandler_Loop581 ; CPU:$D8E8 PRG:58E8 F0 03 + jmp NmiHandler_Loop583 ; CPU:$D8EA PRG:58EA 4C 7B D9 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop581 +; Global: Branch target inside NmiHandler: taken when Loop581. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop581: + lda #$50 ; CPU:$D8ED PRG:58ED A9 50 + sta $030C,x ; CPU:$D8EF PRG:58EF 9D 0C 03 + ldy $0309,x ; CPU:$D8F2 PRG:58F2 BC 09 03 + sec ; CPU:$D8F5 PRG:58F5 38 + lda $0305,x ; CPU:$D8F6 PRG:58F6 BD 05 03 + sbc TimerIndex2 ; CPU:$D8F9 PRG:58F9 E5 A4 + sta Zp10 ; CPU:$D8FB PRG:58FB 85 10 + lda $0304,x ; CPU:$D8FD PRG:58FD BD 04 03 + sbc TimerIndex ; CPU:$D900 PRG:5900 E5 A3 + bpl NmiHandler_Loop582 ; CPU:$D902 PRG:5902 10 0D + sta Zp11 ; CPU:$D904 PRG:5904 85 11 + lda #$00 ; CPU:$D906 PRG:5906 A9 00 + sec ; CPU:$D908 PRG:5908 38 + sbc Zp10 ; CPU:$D909 PRG:5909 E5 10 + sta Zp10 ; CPU:$D90B PRG:590B 85 10 + lda #$00 ; CPU:$D90D PRG:590D A9 00 + sbc Zp11 ; CPU:$D90F PRG:590F E5 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop582 +; Global: Branch target inside NmiHandler: taken when Loop582. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop582: + jsr Sub_D97C ; CPU:$D911 PRG:5911 20 7C D9 + bcs NmiHandler_Loop583 ; CPU:$D914 PRG:5914 B0 65 + cmp $DBF3,y ; CPU:$D916 PRG:5916 D9 F3 DB + bcs NmiHandler_Loop583 ; CPU:$D919 PRG:5919 B0 60 + ldx PlayerSpeed2 ; CPU:$D91B PRG:591B A6 90 + iny ; CPU:$D91D PRG:591D C8 + clc ; CPU:$D91E PRG:591E 18 + lda #$40 ; CPU:$D91F PRG:591F A9 40 + adc $0303,x ; CPU:$D921 PRG:5921 7D 03 03 + sta Zp10 ; CPU:$D924 PRG:5924 85 10 + lda #$00 ; CPU:$D926 PRG:5926 A9 00 + adc $0302,x ; CPU:$D928 PRG:5928 7D 02 03 + sta Zp11 ; CPU:$D92B PRG:592B 85 11 + sec ; CPU:$D92D PRG:592D 38 + lda Zp10 ; CPU:$D92E PRG:592E A5 10 + sbc TimerIndex4 ; CPU:$D930 PRG:5930 E5 A9 + sta Zp10 ; CPU:$D932 PRG:5932 85 10 + lda Zp11 ; CPU:$D934 PRG:5934 A5 11 + sbc TimerIndex3 ; CPU:$D936 PRG:5936 E5 A8 + bmi NmiHandler_Loop583 ; CPU:$D938 PRG:5938 30 41 + jsr Sub_D97C ; CPU:$D93A PRG:593A 20 7C D9 + cmp $DBF3,y ; CPU:$D93D PRG:593D D9 F3 DB + bcs NmiHandler_Loop583 ; CPU:$D940 PRG:5940 B0 39 + iny ; CPU:$D942 PRG:5942 C8 + lda ZpAE ; CPU:$D943 PRG:5943 A5 AE + sta Zp10 ; CPU:$D945 PRG:5945 85 10 + lda ZpAD ; CPU:$D947 PRG:5947 A5 AD + jsr Sub_D97C ; CPU:$D949 PRG:5949 20 7C D9 + cmp $DBF3,y ; CPU:$D94C PRG:594C D9 F3 DB + bcs NmiHandler_Loop583 ; CPU:$D94F PRG:594F B0 2A + ldx PlayerSpeed2 ; CPU:$D951 PRG:5951 A6 90 + lda #$00 ; CPU:$D953 PRG:5953 A9 00 + sta $030C,x ; CPU:$D955 PRG:5955 9D 0C 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_D958 +; Global: Branch target inside Sub: taken when D958. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D958: + lda #$0F ; CPU:$D958 PRG:5958 A9 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero77 +; Global: Branch target inside NmiHandler: taken when OnNonzero77. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero77: + sec ; CPU:$D95A PRG:595A 38 + sbc #$05 ; CPU:$D95B PRG:595B E9 05 + tax ; CPU:$D95D PRG:595D AA + lda #$00 ; CPU:$D95E PRG:595E A9 00 + sta ZpA1,x ; CPU:$D960 PRG:5960 95 A1 + sta ZpA2,x ; CPU:$D962 PRG:5962 95 A2 + sta ZpA0,x ; CPU:$D964 PRG:5964 95 A0 + txa ; CPU:$D966 PRG:5966 8A + bne NmiHandler_OnNonzero77 ; CPU:$D967 PRG:5967 D0 F1 + ldx PlayerSpeed2 ; CPU:$D969 PRG:5969 A6 90 + lda $0304,x ; CPU:$D96B PRG:596B BD 04 03 + sta TimerIndex ; CPU:$D96E PRG:596E 85 A3 + lda $0305,x ; CPU:$D970 PRG:5970 BD 05 03 + sta TimerIndex2 ; CPU:$D973 PRG:5973 85 A4 + lda #$00 ; CPU:$D975 PRG:5975 A9 00 + sta ZpAD ; CPU:$D977 PRG:5977 85 AD + sta ZpAE ; CPU:$D979 PRG:5979 85 AE +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop583 +; Global: Branch target inside NmiHandler: taken when Loop583. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop583: + rts ; CPU:$D97B PRG:597B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D97C +; Global: Branch target inside Sub: taken when D97C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D97C: + ldx #$04 ; CPU:$D97C PRG:597C A2 04 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero78 +; Global: Branch target inside NmiHandler: taken when OnNonzero78. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero78: + rol Zp10 ; CPU:$D97E PRG:597E 26 10 + rol a ; CPU:$D980 PRG:5980 2A + dex ; CPU:$D981 PRG:5981 CA + bne NmiHandler_OnNonzero78 ; CPU:$D982 PRG:5982 D0 FA + rts ; CPU:$D984 PRG:5984 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D985 +; Global: Branch target inside Sub: taken when D985. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D985: + lda $0303,y ; CPU:$D985 PRG:5985 B9 03 03 + sta Zp10 ; CPU:$D988 PRG:5988 85 10 + lda $0302,y ; CPU:$D98A PRG:598A B9 02 03 + jsr Sub_D97C ; CPU:$D98D PRG:598D 20 7C D9 + cmp Zp14 ; CPU:$D990 PRG:5990 C5 14 + bcs NmiHandler_Loop584 ; CPU:$D992 PRG:5992 B0 08 + pha ; CPU:$D994 PRG:5994 48 + lda VramReadPtrLo ; CPU:$D995 PRG:5995 A5 0C + and Zp11 ; CPU:$D997 PRG:5997 25 11 + sta VramReadPtrLo ; CPU:$D999 PRG:5999 85 0C + pla ; CPU:$D99B PRG:599B 68 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop584 +; Global: Branch target inside NmiHandler: taken when Loop584. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop584: + sec ; CPU:$D99C PRG:599C 38 + ror Zp11 ; CPU:$D99D PRG:599D 66 11 + cmp Zp15 ; CPU:$D99F PRG:599F C5 15 + bcc NmiHandler_Loop585 ; CPU:$D9A1 PRG:59A1 90 06 + lda VramReadPtrLo ; CPU:$D9A3 PRG:59A3 A5 0C + and Zp11 ; CPU:$D9A5 PRG:59A5 25 11 + sta VramReadPtrLo ; CPU:$D9A7 PRG:59A7 85 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop585 +; Global: Branch target inside NmiHandler: taken when Loop585. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop585: + sec ; CPU:$D9A9 PRG:59A9 38 + ror Zp11 ; CPU:$D9AA PRG:59AA 66 11 + rts ; CPU:$D9AC PRG:59AC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D9AD +; Global: Branch target inside Label: taken when D9AD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D9AD: + jsr Sub_8748 ; CPU:$D9AD PRG:59AD 20 48 87 + ldx PlayerIndex ; CPU:$D9B0 PRG:59B0 A6 79 + lda $0301,x ; CPU:$D9B2 PRG:59B2 BD 01 03 + and #$0F ; CPU:$D9B5 PRG:59B5 29 0F + tay ; CPU:$D9B7 PRG:59B7 A8 + lda $DBC4,y ; CPU:$D9B8 PRG:59B8 B9 C4 DB + sta $0309,x ; CPU:$D9BB PRG:59BB 9D 09 03 + lda #$00 ; CPU:$D9BE PRG:59BE A9 00 + sta $0308,x ; CPU:$D9C0 PRG:59C0 9D 08 03 + inc $0300,x ; CPU:$D9C3 PRG:59C3 FE 00 03 + ldx PlayerIndex ; CPU:$D9C6 PRG:59C6 A6 79 + lda $0308,x ; CPU:$D9C8 PRG:59C8 BD 08 03 + beq NmiHandler_Loop586 ; CPU:$D9CB PRG:59CB F0 06 + dec $0308,x ; CPU:$D9CD PRG:59CD DE 08 03 + jmp Sub_87AD ; CPU:$D9D0 PRG:59D0 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop586 +; Global: Branch target inside NmiHandler: taken when Loop586. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop586: + ldy $0309,x ; CPU:$D9D3 PRG:59D3 BC 09 03 + lda $DBCD,y ; CPU:$D9D6 PRG:59D6 B9 CD DB + iny ; CPU:$D9D9 PRG:59D9 C8 + cmp #$FF ; CPU:$D9DA PRG:59DA C9 FF + beq NmiHandler_Loop588 ; CPU:$D9DC PRG:59DC F0 2D + cmp #$FE ; CPU:$D9DE PRG:59DE C9 FE + bne NmiHandler_Loop587 ; CPU:$D9E0 PRG:59E0 D0 19 + jsr Sub_DA0E ; CPU:$D9E2 PRG:59E2 20 0E DA + lda #$40 ; CPU:$D9E5 PRG:59E5 A9 40 + sta ZpAE ; CPU:$D9E7 PRG:59E7 85 AE + lda #$00 ; CPU:$D9E9 PRG:59E9 A9 00 + sta ZpAD ; CPU:$D9EB PRG:59EB 85 AD + sta ZpAB ; CPU:$D9ED PRG:59ED 85 AB + sta ZpAC ; CPU:$D9EF PRG:59EF 85 AC + sta ZpAA ; CPU:$D9F1 PRG:59F1 85 AA + ldx PlayerIndex ; CPU:$D9F3 PRG:59F3 A6 79 + jsr Sub_87AD ; CPU:$D9F5 PRG:59F5 20 AD 87 + jmp Sub_8712 ; CPU:$D9F8 PRG:59F8 4C 12 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop587 +; Global: Branch target inside NmiHandler: taken when Loop587. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop587: + sta $0306,x ; CPU:$D9FB PRG:59FB 9D 06 03 + tya ; CPU:$D9FE PRG:59FE 98 + sta $0309,x ; CPU:$D9FF PRG:59FF 9D 09 03 + lda #$02 ; CPU:$DA02 PRG:5A02 A9 02 + sta $0308,x ; CPU:$DA04 PRG:5A04 9D 08 03 + jsr Sub_87AD ; CPU:$DA07 PRG:5A07 20 AD 87 + rts ; CPU:$DA0A PRG:5A0A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop588 +; Global: Branch target inside NmiHandler: taken when Loop588. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop588: + jmp Sub_914B ; CPU:$DA0B PRG:5A0B 4C 4B 91 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA0E +; Global: Branch target inside Sub: taken when DA0E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA0E: + tya ; CPU:$DA0E PRG:5A0E 98 + sta $0309,x ; CPU:$DA0F PRG:5A0F 9D 09 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA12 +; Global: Branch target inside Sub: taken when DA12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA12: + lda #$00 ; CPU:$DA12 PRG:5A12 A9 00 + sta ZpAD ; CPU:$DA14 PRG:5A14 85 AD + lda #$60 ; CPU:$DA16 PRG:5A16 A9 60 + sta ZpAE ; CPU:$DA18 PRG:5A18 85 AE + lda $0301,x ; CPU:$DA1A PRG:5A1A BD 01 03 + asl a ; CPU:$DA1D PRG:5A1D 0A + tay ; CPU:$DA1E PRG:5A1E A8 + lda $DA4A,y ; CPU:$DA1F PRG:5A1F B9 4A DA + pha ; CPU:$DA22 PRG:5A22 48 + lda $DA4B,y ; CPU:$DA23 PRG:5A23 B9 4B DA + ldy #$05 ; CPU:$DA26 PRG:5A26 A0 05 + jsr Sub_DA2E ; CPU:$DA28 PRG:5A28 20 2E DA + pla ; CPU:$DA2B PRG:5A2B 68 + ldy #$00 ; CPU:$DA2C PRG:5A2C A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA2E +; Global: Branch target inside Sub: taken when DA2E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA2E: + pha ; CPU:$DA2E PRG:5A2E 48 + lda #$00 ; CPU:$DA2F PRG:5A2F A9 00 + sta VramReadPtrHi ; CPU:$DA31 PRG:5A31 85 0D + pla ; CPU:$DA33 PRG:5A33 68 + ora #$00 ; CPU:$DA34 PRG:5A34 09 00 + bpl NmiHandler_Loop589 ; CPU:$DA36 PRG:5A36 10 02 + dec VramReadPtrHi ; CPU:$DA38 PRG:5A38 C6 0D +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop589 +; Global: Branch target inside NmiHandler: taken when Loop589. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop589: + clc ; CPU:$DA3A PRG:5A3A 18 + adc $0303,x ; CPU:$DA3B PRG:5A3B 7D 03 03 + sta a:TimerIndex2,y ; CPU:$DA3E PRG:5A3E 99 A4 00 + lda VramReadPtrHi ; CPU:$DA41 PRG:5A41 A5 0D + adc $0302,x ; CPU:$DA43 PRG:5A43 7D 02 03 + sta a:TimerIndex,y ; CPU:$DA46 PRG:5A46 99 A3 00 + inx ; CPU:$DA49 PRG:5A49 E8 + inx ; CPU:$DA4A PRG:5A4A E8 + rts ; CPU:$DA4B PRG:5A4B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DA4C +; Global: Branch target inside Label: taken when DA4C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA4C: + brk ; CPU:$DA4C PRG:5A4C 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DA4D +; Global: Branch target inside Label: taken when DA4D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA4D: + cpx #$20 ; CPU:$DA4D PRG:5A4D E0 20 + cpx #$20 ; CPU:$DA4F PRG:5A4F E0 20 + brk ; CPU:$DA51 PRG:5A51 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DA52 +; Global: Branch target inside Label: taken when DA52. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA52: + .byte $10, $10 ; CPU:$DA52 PRG:5A52 10 10 + brk ; CPU:$DA54 PRG:5A54 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DA55 +; Global: Branch target inside Label: taken when DA55. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA55: + jsr $10F0 ; CPU:$DA55 PRG:5A55 20 F0 10 + cpx #$00 ; CPU:$DA58 PRG:5A58 E0 00 + cpx #$E0 ; CPU:$DA5A PRG:5A5A E0 E0 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero18 +; Global: Branch target inside NmiHandler: taken when OnZero18. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero18: + ldx PlayerIndex ; CPU:$DA5C PRG:5A5C A6 79 + lda #$03 ; CPU:$DA5E PRG:5A5E A9 03 + sta $0300,x ; CPU:$DA60 PRG:5A60 9D 00 03 +; ----------------------------------------------------------------------------- +; Routine: Label_DA63 +; Global: Branch target inside Label: taken when DA63. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA63: + jmp Sub_90F9 ; CPU:$DA63 PRG:5A63 4C F9 90 + ldx PlayerIndex ; CPU:$DA66 PRG:5A66 A6 79 + stx PlayerSpeed2 ; CPU:$DA68 PRG:5A68 86 90 + jsr Sub_BB89 ; CPU:$DA6A PRG:5A6A 20 89 BB + beq NmiHandler_OnZero18 ; CPU:$DA6D PRG:5A6D F0 ED + ldx PlayerIndex ; CPU:$DA6F PRG:5A6F A6 79 + ldy #$01 ; CPU:$DA71 PRG:5A71 A0 01 + sec ; CPU:$DA73 PRG:5A73 38 + lda $0425 ; CPU:$DA74 PRG:5A74 AD 25 04 + sbc $0303,x ; CPU:$DA77 PRG:5A77 FD 03 03 + lda $0424 ; CPU:$DA7A PRG:5A7A AD 24 04 + sbc $0302,x ; CPU:$DA7D PRG:5A7D FD 02 03 + bmi NmiHandler_Loop590 ; CPU:$DA80 PRG:5A80 30 02 + ldy #$05 ; CPU:$DA82 PRG:5A82 A0 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop590 +; Global: Branch target inside NmiHandler: taken when Loop590. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop590: + lda $0301,x ; CPU:$DA84 PRG:5A84 BD 01 03 + and #$0F ; CPU:$DA87 PRG:5A87 29 0F + sty VramReadPtrLo ; CPU:$DA89 PRG:5A89 84 0C + cmp VramReadPtrLo ; CPU:$DA8B PRG:5A8B C5 0C + bne NmiHandler_OnZero18 ; CPU:$DA8D PRG:5A8D D0 CD + lda $DBEA,y ; CPU:$DA8F PRG:5A8F B9 EA DB + sta $0309,x ; CPU:$DA92 PRG:5A92 9D 09 03 + lda #$00 ; CPU:$DA95 PRG:5A95 A9 00 + sta $0308,x ; CPU:$DA97 PRG:5A97 9D 08 03 + inc $0300,x ; CPU:$DA9A PRG:5A9A FE 00 03 + ldx PlayerIndex ; CPU:$DA9D PRG:5A9D A6 79 + lda #$03 ; CPU:$DA9F PRG:5A9F A9 03 + cpx #$69 ; CPU:$DAA1 PRG:5AA1 E0 69 + beq NmiHandler_Loop591 ; CPU:$DAA3 PRG:5AA3 F0 02 + lda #$07 ; CPU:$DAA5 PRG:5AA5 A9 07 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop591 +; Global: Branch target inside NmiHandler: taken when Loop591. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop591: + sta $0301,x ; CPU:$DAA7 PRG:5AA7 9D 01 03 + lda $0308,x ; CPU:$DAAA PRG:5AAA BD 08 03 + beq NmiHandler_Loop592 ; CPU:$DAAD PRG:5AAD F0 06 + dec $0308,x ; CPU:$DAAF PRG:5AAF DE 08 03 + jmp Sub_87AD ; CPU:$DAB2 PRG:5AB2 4C AD 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop592 +; Global: Branch target inside NmiHandler: taken when Loop592. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop592: + ldy $0309,x ; CPU:$DAB5 PRG:5AB5 BC 09 03 + iny ; CPU:$DAB8 PRG:5AB8 C8 + iny ; CPU:$DAB9 PRG:5AB9 C8 + iny ; CPU:$DABA PRG:5ABA C8 + lda $DBF3,y ; CPU:$DABB PRG:5ABB B9 F3 DB + iny ; CPU:$DABE PRG:5ABE C8 + cmp #$FF ; CPU:$DABF PRG:5ABF C9 FF + beq NmiHandler_Loop593 ; CPU:$DAC1 PRG:5AC1 F0 27 + sta $0306,x ; CPU:$DAC3 PRG:5AC3 9D 06 03 + lda $DBF3,y ; CPU:$DAC6 PRG:5AC6 B9 F3 DB + clc ; CPU:$DAC9 PRG:5AC9 18 + adc $0303,x ; CPU:$DACA PRG:5ACA 7D 03 03 + sta $0303,x ; CPU:$DACD PRG:5ACD 9D 03 03 + iny ; CPU:$DAD0 PRG:5AD0 C8 + lda $DBF3,y ; CPU:$DAD1 PRG:5AD1 B9 F3 DB + adc $0302,x ; CPU:$DAD4 PRG:5AD4 7D 02 03 + sta $0302,x ; CPU:$DAD7 PRG:5AD7 9D 02 03 + iny ; CPU:$DADA PRG:5ADA C8 + tya ; CPU:$DADB PRG:5ADB 98 + sta $0309,x ; CPU:$DADC PRG:5ADC 9D 09 03 + jsr Sub_87AD ; CPU:$DADF PRG:5ADF 20 AD 87 + ldx PlayerIndex ; CPU:$DAE2 PRG:5AE2 A6 79 + lda #$02 ; CPU:$DAE4 PRG:5AE4 A9 02 + sta $0308,x ; CPU:$DAE6 PRG:5AE6 9D 08 03 + rts ; CPU:$DAE9 PRG:5AE9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop593 +; Global: Branch target inside NmiHandler: taken when Loop593. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop593: + lda $030A,x ; CPU:$DAEA PRG:5AEA BD 0A 03 + and #$10 ; CPU:$DAED PRG:5AED 29 10 + bne NmiHandler_Loop594 ; CPU:$DAEF PRG:5AEF D0 03 + jmp Sub_914B ; CPU:$DAF1 PRG:5AF1 4C 4B 91 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop594 +; Global: Branch target inside NmiHandler: taken when Loop594. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop594: + lda #$12 ; CPU:$DAF4 PRG:5AF4 A9 12 + sta $0300,x ; CPU:$DAF6 PRG:5AF6 9D 00 03 + ldx Zp94 ; CPU:$DAF9 PRG:5AF9 A6 94 + lda #$80 ; CPU:$DAFB PRG:5AFB A9 80 + sta $030A,x ; CPU:$DAFD PRG:5AFD 9D 0A 03 + ldx PlayerIndex ; CPU:$DB00 PRG:5B00 A6 79 + lda #$05 ; CPU:$DB02 PRG:5B02 A9 05 + ldy #$00 ; CPU:$DB04 PRG:5B04 A0 00 + cpx #$69 ; CPU:$DB06 PRG:5B06 E0 69 + beq NmiHandler_Loop595 ; CPU:$DB08 PRG:5B08 F0 04 + lda #$0B ; CPU:$DB0A PRG:5B0A A9 0B + ldy #$14 ; CPU:$DB0C PRG:5B0C A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop595 +; Global: Branch target inside NmiHandler: taken when Loop595. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop595: + sta $06B0,y ; CPU:$DB0E PRG:5B0E 99 B0 06 + txa ; CPU:$DB11 PRG:5B11 8A + sta $06B1,y ; CPU:$DB12 PRG:5B12 99 B1 06 + sta Zp94 ; CPU:$DB15 PRG:5B15 85 94 + lda #$02 ; CPU:$DB17 PRG:5B17 A9 02 + ora $030A,x ; CPU:$DB19 PRG:5B19 1D 0A 03 + sta $030A,x ; CPU:$DB1C PRG:5B1C 9D 0A 03 + inc $0300,x ; CPU:$DB1F PRG:5B1F FE 00 03 + ldx PlayerIndex ; CPU:$DB22 PRG:5B22 A6 79 + ldy #$00 ; CPU:$DB24 PRG:5B24 A0 00 + cpx #$7E ; CPU:$DB26 PRG:5B26 E0 7E + bcc NmiHandler_Loop596 ; CPU:$DB28 PRG:5B28 90 02 + ldy #$14 ; CPU:$DB2A PRG:5B2A A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop596 +; Global: Branch target inside NmiHandler: taken when Loop596. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop596: + lda $06B1,y ; CPU:$DB2C PRG:5B2C B9 B1 06 + cmp $06B9,y ; CPU:$DB2F PRG:5B2F D9 B9 06 + beq NmiHandler_Loop597 ; CPU:$DB32 PRG:5B32 F0 15 + jsr Sub_93DF ; CPU:$DB34 PRG:5B34 20 DF 93 + jsr Sub_9402 ; CPU:$DB37 PRG:5B37 20 02 94 + lda $DB99,y ; CPU:$DB3A PRG:5B3A B9 99 DB + sta $0309,x ; CPU:$DB3D PRG:5B3D 9D 09 03 + ldy $0309,x ; CPU:$DB40 PRG:5B40 BC 09 03 + lda $DBA2,y ; CPU:$DB43 PRG:5B43 B9 A2 DB + sta $0306,x ; CPU:$DB46 PRG:5B46 9D 06 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop597 +; Global: Branch target inside NmiHandler: taken when Loop597. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop597: + jsr Sub_87AD ; CPU:$DB49 PRG:5B49 20 AD 87 + ldx PlayerIndex ; CPU:$DB4C PRG:5B4C A6 79 + lda #$04 ; CPU:$DB4E PRG:5B4E A9 04 + sta $0308,x ; CPU:$DB50 PRG:5B50 9D 08 03 + jsr Sub_DA12 ; CPU:$DB53 PRG:5B53 20 12 DA + rts ; CPU:$DB56 PRG:5B56 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB57 +; Global: Branch target inside Label: taken when DB57. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB57: + ldx PlayerIndex ; CPU:$DB57 PRG:5B57 A6 79 + lda $0308,x ; CPU:$DB59 PRG:5B59 BD 08 03 + beq NmiHandler_Loop598 ; CPU:$DB5C PRG:5B5C F0 07 + dec $0308,x ; CPU:$DB5E PRG:5B5E DE 08 03 + jsr Sub_87AD ; CPU:$DB61 PRG:5B61 20 AD 87 + rts ; CPU:$DB64 PRG:5B64 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop598 +; Global: Branch target inside NmiHandler: taken when Loop598. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop598: + lda #$03 ; CPU:$DB65 PRG:5B65 A9 03 + sta $0308,x ; CPU:$DB67 PRG:5B67 9D 08 03 + ldy $0309,x ; CPU:$DB6A PRG:5B6A BC 09 03 + lda $DBA2,y ; CPU:$DB6D PRG:5B6D B9 A2 DB + iny ; CPU:$DB70 PRG:5B70 C8 + cmp #$FF ; CPU:$DB71 PRG:5B71 C9 FF + beq NmiHandler_Loop601 ; CPU:$DB73 PRG:5B73 F0 22 + cmp #$FE ; CPU:$DB75 PRG:5B75 C9 FE + bne NmiHandler_Loop599 ; CPU:$DB77 PRG:5B77 D0 13 + sta $0309,x ; CPU:$DB79 PRG:5B79 9D 09 03 + lda #$06 ; CPU:$DB7C PRG:5B7C A9 06 + sta $0308,x ; CPU:$DB7E PRG:5B7E 9D 08 03 + lda #$00 ; CPU:$DB81 PRG:5B81 A9 00 + sta ZpAD ; CPU:$DB83 PRG:5B83 85 AD + sta ZpAE ; CPU:$DB85 PRG:5B85 85 AE + inc $0300,x ; CPU:$DB87 PRG:5B87 FE 00 03 + bne NmiHandler_Loop600 ; CPU:$DB8A PRG:5B8A D0 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop599 +; Global: Branch target inside NmiHandler: taken when Loop599. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop599: + sta $0306,x ; CPU:$DB8C PRG:5B8C 9D 06 03 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop600 +; Global: Branch target inside NmiHandler: taken when Loop600. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop600: + tya ; CPU:$DB8F PRG:5B8F 98 + sta $0309,x ; CPU:$DB90 PRG:5B90 9D 09 03 + jsr Sub_87AD ; CPU:$DB93 PRG:5B93 20 AD 87 + rts ; CPU:$DB96 PRG:5B96 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop601 +; Global: Branch target inside NmiHandler: taken when Loop601. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop601: + jmp Sub_914B ; CPU:$DB97 PRG:5B97 4C 4B 91 +; ---- data $DB9A-$DC36 (157 bytes) ---- +; referenced by `cmp $DBF3,y` at $D916 (operand $DBF3 falls inside this region) +; referenced by `cmp $DBF3,y` at $D93D (operand $DBF3 falls inside this region) +; referenced by `cmp $DBF3,y` at $D94C (operand $DBF3 falls inside this region) +; referenced by `lda $DBC4,y` at $D9B8 (operand $DBC4 falls inside this region) +; referenced by `lda $DBCD,y` at $D9D6 (operand $DBCD falls inside this region) +; referenced by `lda $DBEA,y` at $DA8F (operand $DBEA falls inside this region) +; ... and 5 further references from decoded code + .byte $00, $07, $0E, $1C, $15, $1C, $0E, $07, $33, $25, $33, $34, $FE, $25, $FF, $35 ; CPU:$DB9A PRG:5B9A 00 07 0E 1C 15 1C 0E 07 33 25 33 34 FE 25 FF 35 + .byte $28, $35, $36, $FE, $28, $FF, $3D, $2B, $37, $38, $FE, $2B, $FF, $3B, $31, $3B ; CPU:$DBAA PRG:5BAA 28 35 36 FE 28 FF 3D 2B 37 38 FE 2B FF 3B 31 3B + .byte $3C, $FE, $31, $FF, $3E, $2E, $39, $3A, $FE, $2E, $FF, $00, $06, $0C, $18, $12 ; CPU:$DBBA PRG:5BBA 3C FE 31 FF 3E 2E 39 3A FE 2E FF 00 06 0C 18 12 + .byte $18, $0C, $06, $25, $26, $FE, $24, $33, $FF, $28, $29, $FE, $27, $35, $FF, $2B ; CPU:$DBCA PRG:5BCA 18 0C 06 25 26 FE 24 33 FF 28 29 FE 27 35 FF 2B + .byte $2C, $FE, $2A, $3D, $FF, $31, $32, $FE, $30, $3B, $FF, $2E, $2F, $FE, $2D, $3E ; CPU:$DBDA PRG:5BDA 2C FE 2A 3D FF 31 32 FE 30 3B FF 2E 2F FE 2D 3E + .byte $FF, $00, $00, $00, $22, $22, $22, $00, $00, $00, $00, $00, $64, $00, $00, $08 ; CPU:$DBEA PRG:5BEA FF 00 00 00 22 22 22 00 00 00 00 00 64 00 00 08 + .byte $10, $14, $65, $80, $FF, $08, $10, $14, $66, $80, $FF, $08, $10, $14, $67, $00 ; CPU:$DBFA PRG:5BFA 10 14 65 80 FF 08 10 14 66 80 FF 08 10 14 67 00 + .byte $00, $08, $10, $14, $FF, $00, $00, $08, $15, $14, $FF, $00, $00, $00, $60, $00 ; CPU:$DC0A PRG:5C0A 00 08 10 14 FF 00 00 08 15 14 FF 00 00 00 60 00 + .byte $00, $08, $15, $14, $61, $80, $00, $08, $15, $14, $62, $80, $00, $08, $15, $14 ; CPU:$DC1A PRG:5C1A 00 08 15 14 61 80 00 08 15 14 62 80 00 08 15 14 + .byte $63, $00, $00, $08, $15, $14, $FF, $00, $00, $08, $15, $14, $FF ; CPU:$DC2A PRG:5C2A 63 00 00 08 15 14 FF 00 00 08 15 14 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_DC37 +; Global: Branch target inside Sub: taken when DC37. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC37: + ldx $06B1 ; CPU:$DC37 PRG:5C37 AE B1 06 + jsr Sub_DC40 ; CPU:$DC3A PRG:5C3A 20 40 DC + ldx $06C5 ; CPU:$DC3D PRG:5C3D AE C5 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC40 +; Global: Branch target inside Sub: taken when DC40. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC40: + cpx #$69 ; CPU:$DC40 PRG:5C40 E0 69 + beq NmiHandler_Loop605 ; CPU:$DC42 PRG:5C42 F0 3A + cpx #$E7 ; CPU:$DC44 PRG:5C44 E0 E7 + beq NmiHandler_Loop605 ; CPU:$DC46 PRG:5C46 F0 36 + ldy #$00 ; CPU:$DC48 PRG:5C48 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC4A +; Global: Branch target inside Sub: taken when DC4A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC4A: + txa ; CPU:$DC4A PRG:5C4A 8A + cmp $0600,y ; CPU:$DC4B PRG:5C4B D9 00 06 + beq NmiHandler_Loop602 ; CPU:$DC4E PRG:5C4E F0 08 + clc ; CPU:$DC50 PRG:5C50 18 + tya ; CPU:$DC51 PRG:5C51 98 + adc #$0A ; CPU:$DC52 PRG:5C52 69 0A + tay ; CPU:$DC54 PRG:5C54 A8 + jmp Sub_DC4A ; CPU:$DC55 PRG:5C55 4C 4A DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop602 +; Global: Branch target inside NmiHandler: taken when Loop602. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop602: + sty VramReadPtrHi ; CPU:$DC58 PRG:5C58 84 0D + jsr Sub_DC93 ; CPU:$DC5A PRG:5C5A 20 93 DC + bcc NmiHandler_Loop605 ; CPU:$DC5D PRG:5C5D 90 1F + lda #$00 ; CPU:$DC5F PRG:5C5F A9 00 + cpx #$7E ; CPU:$DC61 PRG:5C61 E0 7E + bcc NmiHandler_Loop603 ; CPU:$DC63 PRG:5C63 90 02 + lda #$3C ; CPU:$DC65 PRG:5C65 A9 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop603 +; Global: Branch target inside NmiHandler: taken when Loop603. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop603: + ldy #$05 ; CPU:$DC67 PRG:5C67 A0 05 + sty VramReadPtrLo ; CPU:$DC69 PRG:5C69 84 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero79 +; Global: Branch target inside NmiHandler: taken when OnNonzero79. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero79: + pha ; CPU:$DC6B PRG:5C6B 48 + tay ; CPU:$DC6C PRG:5C6C A8 + jsr Sub_DC93 ; CPU:$DC6D PRG:5C6D 20 93 DC + pla ; CPU:$DC70 PRG:5C70 68 + bcs NmiHandler_Loop604 ; CPU:$DC71 PRG:5C71 B0 04 + cmp VramReadPtrHi ; CPU:$DC73 PRG:5C73 C5 0D + bne NmiHandler_Loop606 ; CPU:$DC75 PRG:5C75 D0 08 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop604 +; Global: Branch target inside NmiHandler: taken when Loop604. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop604: + clc ; CPU:$DC77 PRG:5C77 18 + adc #$0A ; CPU:$DC78 PRG:5C78 69 0A + dec VramReadPtrLo ; CPU:$DC7A PRG:5C7A C6 0C + bne NmiHandler_OnNonzero79 ; CPU:$DC7C PRG:5C7C D0 ED +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop605 +; Global: Branch target inside NmiHandler: taken when Loop605. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop605: + rts ; CPU:$DC7E PRG:5C7E 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop606 +; Global: Branch target inside NmiHandler: taken when Loop606. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop606: + tax ; CPU:$DC7F PRG:5C7F AA + ldy VramReadPtrHi ; CPU:$DC80 PRG:5C80 A4 0D + lda $0600,x ; CPU:$DC82 PRG:5C82 BD 00 06 + sta VramReadPtrLo ; CPU:$DC85 PRG:5C85 85 0C + lda $0600,y ; CPU:$DC87 PRG:5C87 B9 00 06 + sta $0600,x ; CPU:$DC8A PRG:5C8A 9D 00 06 + lda VramReadPtrLo ; CPU:$DC8D PRG:5C8D A5 0C + sta $0600,y ; CPU:$DC8F PRG:5C8F 99 00 06 + rts ; CPU:$DC92 PRG:5C92 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC93 +; Global: Branch target inside Sub: taken when DC93. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC93: + sec ; CPU:$DC93 PRG:5C93 38 + lda $0305,x ; CPU:$DC94 PRG:5C94 BD 05 03 + sbc $0602,y ; CPU:$DC97 PRG:5C97 F9 02 06 + sta Zp10 ; CPU:$DC9A PRG:5C9A 85 10 + lda $0304,x ; CPU:$DC9C PRG:5C9C BD 04 03 + sbc $0601,y ; CPU:$DC9F PRG:5C9F F9 01 06 + sta Zp11 ; CPU:$DCA2 PRG:5CA2 85 11 + sec ; CPU:$DCA4 PRG:5CA4 38 + lda $0303,x ; CPU:$DCA5 PRG:5CA5 BD 03 03 + sbc $0604,y ; CPU:$DCA8 PRG:5CA8 F9 04 06 + sta Zp12 ; CPU:$DCAB PRG:5CAB 85 12 + lda $0302,x ; CPU:$DCAD PRG:5CAD BD 02 03 + sbc $0603,y ; CPU:$DCB0 PRG:5CB0 F9 03 06 + sta Zp13 ; CPU:$DCB3 PRG:5CB3 85 13 + stx Zp14 ; CPU:$DCB5 PRG:5CB5 86 14 + sty Zp15 ; CPU:$DCB7 PRG:5CB7 84 15 + jsr Sub_DCCF ; CPU:$DCB9 PRG:5CB9 20 CF DC + bcs NmiHandler_Loop607 ; CPU:$DCBC PRG:5CBC B0 0C + iny ; CPU:$DCBE PRG:5CBE C8 + lda Zp12 ; CPU:$DCBF PRG:5CBF A5 12 + sta Zp10 ; CPU:$DCC1 PRG:5CC1 85 10 + lda Zp13 ; CPU:$DCC3 PRG:5CC3 A5 13 + sta Zp11 ; CPU:$DCC5 PRG:5CC5 85 11 + jsr Sub_DCCF ; CPU:$DCC7 PRG:5CC7 20 CF DC +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop607 +; Global: Branch target inside NmiHandler: taken when Loop607. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop607: + ldx Zp14 ; CPU:$DCCA PRG:5CCA A6 14 + ldy Zp15 ; CPU:$DCCC PRG:5CCC A4 15 + rts ; CPU:$DCCE PRG:5CCE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DCCF +; Global: Branch target inside Sub: taken when DCCF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DCCF: + ldx $0605,y ; CPU:$DCCF PRG:5CCF BE 05 06 + lda Zp11 ; CPU:$DCD2 PRG:5CD2 A5 11 + bpl NmiHandler_Loop608 ; CPU:$DCD4 PRG:5CD4 10 0E + sec ; CPU:$DCD6 PRG:5CD6 38 + lda #$00 ; CPU:$DCD7 PRG:5CD7 A9 00 + sbc Zp10 ; CPU:$DCD9 PRG:5CD9 E5 10 + sta Zp10 ; CPU:$DCDB PRG:5CDB 85 10 + lda #$00 ; CPU:$DCDD PRG:5CDD A9 00 + sbc Zp11 ; CPU:$DCDF PRG:5CDF E5 11 + ldx $0607,y ; CPU:$DCE1 PRG:5CE1 BE 07 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop608 +; Global: Branch target inside NmiHandler: taken when Loop608. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop608: + stx Zp11 ; CPU:$DCE4 PRG:5CE4 86 11 + jsr Sub_D97C ; CPU:$DCE6 PRG:5CE6 20 7C D9 + bcs NmiHandler_Loop609 ; CPU:$DCE9 PRG:5CE9 B0 02 + cmp Zp11 ; CPU:$DCEB PRG:5CEB C5 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop609 +; Global: Branch target inside NmiHandler: taken when Loop609. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop609: + rts ; CPU:$DCED PRG:5CED 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DCEE +; Global: Branch target inside Sub: taken when DCEE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DCEE: + ldy #$00 ; CPU:$DCEE PRG:5CEE A0 00 + jsr NmiHandler_Loop610 ; CPU:$DCF0 PRG:5CF0 20 FA DC + ldy #$14 ; CPU:$DCF3 PRG:5CF3 A0 14 + lda Zp47 ; CPU:$DCF5 PRG:5CF5 A5 47 + bne NmiHandler_Loop610 ; CPU:$DCF7 PRG:5CF7 D0 01 + rts ; CPU:$DCF9 PRG:5CF9 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop610 +; Global: Branch target inside NmiHandler: taken when Loop610. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop610: + lda $06BA,y ; CPU:$DCFA PRG:5CFA B9 BA 06 + bne NmiHandler_Loop616 ; CPU:$DCFD PRG:5CFD D0 60 + ldx Zp16 ; CPU:$DCFF PRG:5CFF A6 16 + tya ; CPU:$DD01 PRG:5D01 98 + beq NmiHandler_Loop611 ; CPU:$DD02 PRG:5D02 F0 02 + ldx Zp17 ; CPU:$DD04 PRG:5D04 A6 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop611 +; Global: Branch target inside NmiHandler: taken when Loop611. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop611: + txa ; CPU:$DD06 PRG:5D06 8A + and #$0F ; CPU:$DD07 PRG:5D07 29 0F + beq NmiHandler_Loop615 ; CPU:$DD09 PRG:5D09 F0 4F +; ----------------------------------------------------------------------------- +; Routine: Sub_DD0B +; Global: Branch target inside Sub: taken when DD0B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DD0B: + sta Zp15 ; CPU:$DD0B PRG:5D0B 85 15 + sty Zp14 ; CPU:$DD0D PRG:5D0D 84 14 + lda $06B1,y ; CPU:$DD0F PRG:5D0F B9 B1 06 + ldy #$00 ; CPU:$DD12 PRG:5D12 A0 00 + sty Zp11 ; CPU:$DD14 PRG:5D14 84 11 + ldx Zp14 ; CPU:$DD16 PRG:5D16 A6 14 + beq NmiHandler_Loop612 ; CPU:$DD18 PRG:5D18 F0 02 + ldy #$3C ; CPU:$DD1A PRG:5D1A A0 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop612 +; Global: Branch target inside NmiHandler: taken when Loop612. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop612: + cmp $0600,y ; CPU:$DD1C PRG:5D1C D9 00 06 + beq NmiHandler_Loop613 ; CPU:$DD1F PRG:5D1F F0 11 + pha ; CPU:$DD21 PRG:5D21 48 + tya ; CPU:$DD22 PRG:5D22 98 + clc ; CPU:$DD23 PRG:5D23 18 + adc #$0A ; CPU:$DD24 PRG:5D24 69 0A + tay ; CPU:$DD26 PRG:5D26 A8 + clc ; CPU:$DD27 PRG:5D27 18 + lda #$10 ; CPU:$DD28 PRG:5D28 A9 10 + adc Zp11 ; CPU:$DD2A PRG:5D2A 65 11 + sta Zp11 ; CPU:$DD2C PRG:5D2C 85 11 + pla ; CPU:$DD2E PRG:5D2E 68 + jmp NmiHandler_Loop612 ; CPU:$DD2F PRG:5D2F 4C 1C DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop613 +; Global: Branch target inside NmiHandler: taken when Loop613. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop613: + ldx Zp15 ; CPU:$DD32 PRG:5D32 A6 15 + dex ; CPU:$DD34 PRG:5D34 CA + lda $D507,x ; CPU:$DD35 PRG:5D35 BD 07 D5 + ldy Zp14 ; CPU:$DD38 PRG:5D38 A4 14 + beq NmiHandler_Loop614 ; CPU:$DD3A PRG:5D3A F0 03 + lda $DDBC,x ; CPU:$DD3C PRG:5D3C BD BC DD +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop614 +; Global: Branch target inside NmiHandler: taken when Loop614. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop614: + asl a ; CPU:$DD3F PRG:5D3F 0A + clc ; CPU:$DD40 PRG:5D40 18 + adc Zp11 ; CPU:$DD41 PRG:5D41 65 11 + tax ; CPU:$DD43 PRG:5D43 AA + lda $DDC4,x ; CPU:$DD44 PRG:5D44 BD C4 DD + cmp $06B2,y ; CPU:$DD47 PRG:5D47 D9 B2 06 + bne NmiHandler_Loop617 ; CPU:$DD4A PRG:5D4A D0 14 + lda $DDC5,x ; CPU:$DD4C PRG:5D4C BD C5 DD + cmp $06B3,y ; CPU:$DD4F PRG:5D4F D9 B3 06 + bne NmiHandler_Loop617 ; CPU:$DD52 PRG:5D52 D0 0C + lda $06B5,y ; CPU:$DD54 PRG:5D54 B9 B5 06 + beq NmiHandler_Loop618 ; CPU:$DD57 PRG:5D57 F0 1A + rts ; CPU:$DD59 PRG:5D59 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop615 +; Global: Branch target inside NmiHandler: taken when Loop615. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop615: + lda #$00 ; CPU:$DD5A PRG:5D5A A9 00 + sta $06B5,y ; CPU:$DD5C PRG:5D5C 99 B5 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop616 +; Global: Branch target inside NmiHandler: taken when Loop616. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop616: + rts ; CPU:$DD5F PRG:5D5F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop617 +; Global: Branch target inside NmiHandler: taken when Loop617. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop617: + lda $DDC4,x ; CPU:$DD60 PRG:5D60 BD C4 DD + sta $06B2,y ; CPU:$DD63 PRG:5D63 99 B2 06 + lda $DDC5,x ; CPU:$DD66 PRG:5D66 BD C5 DD + sta $06B3,y ; CPU:$DD69 PRG:5D69 99 B3 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnZero19 +; Global: Branch target inside NmiHandler: taken when OnZero19. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnZero19: + lda #$00 ; CPU:$DD6C PRG:5D6C A9 00 + ldy Zp14 ; CPU:$DD6E PRG:5D6E A4 14 + sta $06B4,y ; CPU:$DD70 PRG:5D70 99 B4 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop618 +; Global: Branch target inside NmiHandler: taken when Loop618. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop618: + lda $06B2,y ; CPU:$DD73 PRG:5D73 B9 B2 06 + sta Zp10 ; CPU:$DD76 PRG:5D76 85 10 + lda $06B3,y ; CPU:$DD78 PRG:5D78 B9 B3 06 + sta Zp11 ; CPU:$DD7B PRG:5D7B 85 11 + lda $06B4,y ; CPU:$DD7D PRG:5D7D B9 B4 06 + tay ; CPU:$DD80 PRG:5D80 A8 + lda (Zp10),y ; CPU:$DD81 PRG:5D81 B1 10 + cmp #$FF ; CPU:$DD83 PRG:5D83 C9 FF + beq NmiHandler_OnZero19 ; CPU:$DD85 PRG:5D85 F0 E5 + asl a ; CPU:$DD87 PRG:5D87 0A + asl a ; CPU:$DD88 PRG:5D88 0A + clc ; CPU:$DD89 PRG:5D89 18 + adc (Zp10),y ; CPU:$DD8A PRG:5D8A 71 10 + asl a ; CPU:$DD8C PRG:5D8C 0A + ldy Zp14 ; CPU:$DD8D PRG:5D8D A4 14 + beq NmiHandler_Loop619 ; CPU:$DD8F PRG:5D8F F0 03 + clc ; CPU:$DD91 PRG:5D91 18 + adc #$3C ; CPU:$DD92 PRG:5D92 69 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop619 +; Global: Branch target inside NmiHandler: taken when Loop619. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop619: + tax ; CPU:$DD94 PRG:5D94 AA + lda $0600,x ; CPU:$DD95 PRG:5D95 BD 00 06 + sta $06B9,y ; CPU:$DD98 PRG:5D98 99 B9 06 + jsr Sub_C3F5 ; CPU:$DD9B PRG:5D9B 20 F5 C3 + tya ; CPU:$DD9E PRG:5D9E 98 + ldy Zp14 ; CPU:$DD9F PRG:5D9F A4 14 + sta $06B8,y ; CPU:$DDA1 PRG:5DA1 99 B8 06 + lda #$0A ; CPU:$DDA4 PRG:5DA4 A9 0A + sta $06B5,y ; CPU:$DDA6 PRG:5DA6 99 B5 06 + ldx $06B4,y ; CPU:$DDA9 PRG:5DA9 BE B4 06 + inx ; CPU:$DDAC PRG:5DAC E8 + txa ; CPU:$DDAD PRG:5DAD 8A + sta $06B4,y ; CPU:$DDAE PRG:5DAE 99 B4 06 + lda #$01 ; CPU:$DDB1 PRG:5DB1 A9 01 + sta $06BE,y ; CPU:$DDB3 PRG:5DB3 99 BE 06 + lda #$08 ; CPU:$DDB6 PRG:5DB6 A9 08 + sta $06BF,y ; CPU:$DDB8 PRG:5DB8 99 BF 06 + rts ; CPU:$DDBB PRG:5DBB 60 +; ---- data $DDBC-$DEB2 (247 bytes) ---- +; referenced by `lda $DDBC,x` at $DD3C (operand $DDBC falls inside this region) +; referenced by `lda $DDC4,x` at $DD44 (operand $DDC4 falls inside this region) +; referenced by `lda $DDC5,x` at $DD4C (operand $DDC5 falls inside this region) +; referenced by `lda $DDC4,x` at $DD60 (operand $DDC4 falls inside this region) +; referenced by `lda $DDC5,x` at $DD66 (operand $DDC5 falls inside this region) + .byte $07, $03, $00, $05, $06, $04, $00, $01, $08, $02, $43, $DE, $45, $DE, $49, $DE ; CPU:$DDBC PRG:5DBC 07 03 00 05 06 04 00 01 08 02 43 DE 45 DE 49 DE + .byte $4C, $DE, $50, $DE, $54, $DE, $59, $DE, $5D, $DE, $26, $DE, $29, $DE, $2D, $DE ; CPU:$DDCC PRG:5DCC 4C DE 50 DE 54 DE 59 DE 5D DE 26 DE 29 DE 2D DE + .byte $30, $DE, $34, $DE, $37, $DE, $3B, $DE, $3F, $DE, $60, $DE, $64, $DE, $67, $DE ; CPU:$DDDC PRG:5DDC 30 DE 34 DE 37 DE 3B DE 3F DE 60 DE 64 DE 67 DE + .byte $6A, $DE, $6D, $DE, $6F, $DE, $72, $DE, $76, $DE, $7B, $DE, $7D, $DE, $81, $DE ; CPU:$DDEC PRG:5DEC 6A DE 6D DE 6F DE 72 DE 76 DE 7B DE 7D DE 81 DE + .byte $85, $DE, $89, $DE, $8D, $DE, $90, $DE, $92, $DE, $94, $DE, $98, $DE, $9C, $DE ; CPU:$DDFC PRG:5DFC 85 DE 89 DE 8D DE 90 DE 92 DE 94 DE 98 DE 9C DE + .byte $A0, $DE, $A4, $DE, $A6, $DE, $A8, $DE, $AA, $DE, $AD, $DE, $AD, $DE, $AD, $DE ; CPU:$DE0C PRG:5E0C A0 DE A4 DE A6 DE A8 DE AA DE AD DE AD DE AD DE + .byte $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $AD, $DE, $00, $03, $FF, $00, $03, $02 ; CPU:$DE1C PRG:5E1C AD DE AD DE AD DE AD DE AD DE 00 03 FF 00 03 02 + .byte $FF, $00, $02, $FF, $02, $04, $00, $FF, $02, $04, $FF, $02, $04, $05, $FF, $03 ; CPU:$DE2C PRG:5E2C FF 00 02 FF 02 04 00 FF 02 04 FF 02 04 05 FF 03 + .byte $04, $05, $FF, $00, $03, $05, $FF, $03, $FF, $03, $01, $02, $FF, $01, $02, $FF ; CPU:$DE3C PRG:5E3C 04 05 FF 00 03 05 FF 03 FF 03 01 02 FF 01 02 FF + .byte $04, $01, $02, $FF, $01, $02, $04, $FF, $01, $02, $04, $05, $FF, $03, $04, $05 ; CPU:$DE4C PRG:5E4C 04 01 02 FF 01 02 04 FF 01 02 04 05 FF 03 04 05 + .byte $FF, $03, $05, $FF, $01, $00, $03, $FF, $01, $00, $FF, $01, $00, $FF, $01, $00 ; CPU:$DE5C PRG:5E5C FF 03 05 FF 01 00 03 FF 01 00 FF 01 00 FF 01 00 + .byte $FF, $04, $FF, $04, $05, $FF, $04, $03, $05, $FF, $01, $04, $03, $05, $FF, $00 ; CPU:$DE6C PRG:5E6C FF 04 FF 04 05 FF 04 03 05 FF 01 04 03 05 FF 00 + .byte $FF, $00, $01, $02, $FF, $01, $00, $02, $FF, $02, $01, $04, $FF, $01, $02, $04 ; CPU:$DE7C PRG:5E7C FF 00 01 02 FF 01 00 02 FF 02 01 04 FF 01 02 04 + .byte $FF, $04, $05, $FF, $05, $FF, $05, $FF, $01, $00, $03, $FF, $01, $00, $03, $FF ; CPU:$DE8C PRG:5E8C FF 04 05 FF 05 FF 05 FF 01 00 03 FF 01 00 03 FF + .byte $02, $01, $00, $FF, $02, $01, $00, $FF, $02, $FF, $05, $FF, $05, $FF, $03, $05 ; CPU:$DE9C PRG:5E9C 02 01 00 FF 02 01 00 FF 02 FF 05 FF 05 FF 03 05 + .byte $FF, $01, $00, $02, $03, $04, $FF ; CPU:$DEAC PRG:5EAC FF 01 00 02 03 04 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_DEB3 +; Global: Branch target inside Sub: taken when DEB3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DEB3: + lda $042C ; CPU:$DEB3 PRG:5EB3 AD 2C 04 + lda #$10 ; CPU:$DEB6 PRG:5EB6 A9 10 + sta $042C ; CPU:$DEB8 PRG:5EB8 8D 2C 04 + lda $042B ; CPU:$DEBB PRG:5EBB AD 2B 04 + cmp #$05 ; CPU:$DEBE PRG:5EBE C9 05 + bne NmiHandler_Loop620 ; CPU:$DEC0 PRG:5EC0 D0 07 + lda TimerIndex2 ; CPU:$DEC2 PRG:5EC2 A5 A4 + sta $042D ; CPU:$DEC4 PRG:5EC4 8D 2D 04 + lda #$00 ; CPU:$DEC7 PRG:5EC7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop620 +; Global: Branch target inside NmiHandler: taken when Loop620. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop620: + sta $042B ; CPU:$DEC9 PRG:5EC9 8D 2B 04 + ldx #$00 ; CPU:$DECC PRG:5ECC A2 00 + ldy #$3C ; CPU:$DECE PRG:5ECE A0 3C + lda Zp94 ; CPU:$DED0 PRG:5ED0 A5 94 + cmp #$7E ; CPU:$DED2 PRG:5ED2 C9 7E + bcc NmiHandler_Loop621 ; CPU:$DED4 PRG:5ED4 90 04 + ldx #$3C ; CPU:$DED6 PRG:5ED6 A2 3C + ldy #$00 ; CPU:$DED8 PRG:5ED8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop621 +; Global: Branch target inside NmiHandler: taken when Loop621. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop621: + lda #$06 ; CPU:$DEDA PRG:5EDA A9 06 + sta Zp15 ; CPU:$DEDC PRG:5EDC 85 15 + stx Zp14 ; CPU:$DEDE PRG:5EDE 86 14 + sta Zp13 ; CPU:$DEE0 PRG:5EE0 85 13 + sty Zp12 ; CPU:$DEE2 PRG:5EE2 84 12 + lda $042B ; CPU:$DEE4 PRG:5EE4 AD 2B 04 + asl a ; CPU:$DEE7 PRG:5EE7 0A + asl a ; CPU:$DEE8 PRG:5EE8 0A + adc $042B ; CPU:$DEE9 PRG:5EE9 6D 2B 04 + asl a ; CPU:$DEEC PRG:5EEC 0A + tay ; CPU:$DEED PRG:5EED A8 + iny ; CPU:$DEEE PRG:5EEE C8 + ldx #$00 ; CPU:$DEEF PRG:5EEF A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero80 +; Global: Branch target inside NmiHandler: taken when OnNonzero80. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero80: + lda (Zp14),y ; CPU:$DEF1 PRG:5EF1 B1 14 + sta VramReadPtrLo,x ; CPU:$DEF3 PRG:5EF3 95 0C + inx ; CPU:$DEF5 PRG:5EF5 E8 + iny ; CPU:$DEF6 PRG:5EF6 C8 + cpx #$04 ; CPU:$DEF7 PRG:5EF7 E0 04 + bne NmiHandler_OnNonzero80 ; CPU:$DEF9 PRG:5EF9 D0 F6 + sec ; CPU:$DEFB PRG:5EFB 38 + lda TimerIndex2 ; CPU:$DEFC PRG:5EFC A5 A4 + sbc VramReadPtrHi ; CPU:$DEFE PRG:5EFE E5 0D + lda TimerIndex ; CPU:$DF00 PRG:5F00 A5 A3 + sbc VramReadPtrLo ; CPU:$DF02 PRG:5F02 E5 0C + sta Zp11 ; CPU:$DF04 PRG:5F04 85 11 + sec ; CPU:$DF06 PRG:5F06 38 + lda TimerIndex4 ; CPU:$DF07 PRG:5F07 A5 A9 + sbc Zp0F ; CPU:$DF09 PRG:5F09 E5 0F + lda TimerIndex3 ; CPU:$DF0B PRG:5F0B A5 A8 + sbc Zp0E ; CPU:$DF0D PRG:5F0D E5 0E + sta Zp10 ; CPU:$DF0F PRG:5F0F 85 10 + ldx $042B ; CPU:$DF11 PRG:5F11 AE 2B 04 + lda $DF71,x ; CPU:$DF14 PRG:5F14 BD 71 DF + asl a ; CPU:$DF17 PRG:5F17 0A + asl a ; CPU:$DF18 PRG:5F18 0A + adc $DF71,x ; CPU:$DF19 PRG:5F19 7D 71 DF + asl a ; CPU:$DF1C PRG:5F1C 0A + adc #$04 ; CPU:$DF1D PRG:5F1D 69 04 + sta $0415 ; CPU:$DF1F PRG:5F1F 8D 15 04 + lda $DF71,x ; CPU:$DF22 PRG:5F22 BD 71 DF + cmp #$03 ; CPU:$DF25 PRG:5F25 C9 03 + bcc NmiHandler_Loop622 ; CPU:$DF27 PRG:5F27 90 0C + eor $042D ; CPU:$DF29 PRG:5F29 4D 2D 04 + ror a ; CPU:$DF2C PRG:5F2C 6A + bcc NmiHandler_Loop622 ; CPU:$DF2D PRG:5F2D 90 06 + lda Zp11 ; CPU:$DF2F PRG:5F2F A5 11 + eor #$FF ; CPU:$DF31 PRG:5F31 49 FF + sta Zp11 ; CPU:$DF33 PRG:5F33 85 11 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop622 +; Global: Branch target inside NmiHandler: taken when Loop622. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop622: + ldx #$00 ; CPU:$DF35 PRG:5F35 A2 00 + lda #$E0 ; CPU:$DF37 PRG:5F37 A9 E0 + ldy Zp10 ; CPU:$DF39 PRG:5F39 A4 10 + bpl NmiHandler_Loop623 ; CPU:$DF3B PRG:5F3B 10 04 + ldx #$FE ; CPU:$DF3D PRG:5F3D A2 FE + nop ; CPU:$DF3F PRG:5F3F EA + nop ; CPU:$DF40 PRG:5F40 EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop623 +; Global: Branch target inside NmiHandler: taken when Loop623. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop623: + ldy $0415 ; CPU:$DF41 PRG:5F41 AC 15 04 + clc ; CPU:$DF44 PRG:5F44 18 + adc Zp0F ; CPU:$DF45 PRG:5F45 65 0F + sta (Zp12),y ; CPU:$DF47 PRG:5F47 91 12 + dey ; CPU:$DF49 PRG:5F49 88 + txa ; CPU:$DF4A PRG:5F4A 8A + adc Zp0E ; CPU:$DF4B PRG:5F4B 65 0E + sta (Zp12),y ; CPU:$DF4D PRG:5F4D 91 12 + dey ; CPU:$DF4F PRG:5F4F 88 + sty $0415 ; CPU:$DF50 PRG:5F50 8C 15 04 + ldx #$00 ; CPU:$DF53 PRG:5F53 A2 00 + lda #$E0 ; CPU:$DF55 PRG:5F55 A9 E0 + ldy Zp11 ; CPU:$DF57 PRG:5F57 A4 11 + bpl NmiHandler_Loop624 ; CPU:$DF59 PRG:5F59 10 04 + ldx #$FE ; CPU:$DF5B PRG:5F5B A2 FE + nop ; CPU:$DF5D PRG:5F5D EA + nop ; CPU:$DF5E PRG:5F5E EA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop624 +; Global: Branch target inside NmiHandler: taken when Loop624. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop624: + ldy $0415 ; CPU:$DF5F PRG:5F5F AC 15 04 + clc ; CPU:$DF62 PRG:5F62 18 + adc VramReadPtrHi ; CPU:$DF63 PRG:5F63 65 0D + sta (Zp12),y ; CPU:$DF65 PRG:5F65 91 12 + dey ; CPU:$DF67 PRG:5F67 88 + txa ; CPU:$DF68 PRG:5F68 8A + adc VramReadPtrLo ; CPU:$DF69 PRG:5F69 65 0C + sta (Zp12),y ; CPU:$DF6B PRG:5F6B 91 12 + inc $042B ; CPU:$DF6D PRG:5F6D EE 2B 04 + rts ; CPU:$DF70 PRG:5F70 60 +; ---- data $DF71-$DFD3 (99 bytes) ---- +; referenced by `lda $DF71,x` at $DF14 (operand $DF71 falls inside this region) +; referenced by `adc $DF71,x` at $DF19 (operand $DF71 falls inside this region) +; referenced by `lda $DF71,x` at $DF22 (operand $DF71 falls inside this region) + .byte $03, $01, $04, $00, $02, $A5, $0A, $AE, $0A, $04, $F0, $16, $10, $0B, $AA, $A9 ; CPU:$DF71 PRG:5F71 03 01 04 00 02 A5 0A AE 0A 04 F0 16 10 0B AA A9 + .byte $80, $E0, $80, $90, $0D, $A9, $FF, $D0, $09, $AA, $A9, $00, $E0, $81, $90, $02 ; CPU:$DF81 PRG:5F81 80 E0 80 90 0D A9 FF D0 09 AA A9 00 E0 81 90 02 + .byte $A9, $80, $A2, $DF, $A0, $F6, $C9, $80, $F0, $0C, $A2, $E0, $A0, $96, $C9, $00 ; CPU:$DF91 PRG:5F91 A9 80 A2 DF A0 F6 C9 80 F0 0C A2 E0 A0 96 C9 00 + .byte $F0, $04, $A2, $E0, $A0, $46, $86, $15, $84, $14, $A0, $00, $A5, $A8, $C9, $08 ; CPU:$DFA1 PRG:5FA1 F0 04 A2 E0 A0 46 86 15 84 14 A0 00 A5 A8 C9 08 + .byte $90, $02, $A0, $28, $A2, $00, $A5, $94, $C9, $7E, $B0, $02, $A2, $3C, $20, $D0 ; CPU:$DFB1 PRG:5FB1 90 02 A0 28 A2 00 A5 94 C9 7E B0 02 A2 3C 20 D0 + .byte $DF, $A2, $3C, $A5, $94, $C9, $7E, $B0, $02, $A2, $00, $20, $D0, $DF, $60, $A9 ; CPU:$DFC1 PRG:5FC1 DF A2 3C A5 94 C9 7E B0 02 A2 00 20 D0 DF 60 A9 + .byte $05, $85, $3C ; CPU:$DFD1 PRG:5FD1 05 85 3C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero81 +; Global: Branch target inside NmiHandler: taken when OnNonzero81. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero81: + lda (Zp14),y ; CPU:$DFD4 PRG:5FD4 B1 14 + sta $0601,x ; CPU:$DFD6 PRG:5FD6 9D 01 06 + iny ; CPU:$DFD9 PRG:5FD9 C8 + lda (Zp14),y ; CPU:$DFDA PRG:5FDA B1 14 + sta $0602,x ; CPU:$DFDC PRG:5FDC 9D 02 06 + iny ; CPU:$DFDF PRG:5FDF C8 + lda (Zp14),y ; CPU:$DFE0 PRG:5FE0 B1 14 + sta $0603,x ; CPU:$DFE2 PRG:5FE2 9D 03 06 + iny ; CPU:$DFE5 PRG:5FE5 C8 + lda (Zp14),y ; CPU:$DFE6 PRG:5FE6 B1 14 + sta $0604,x ; CPU:$DFE8 PRG:5FE8 9D 04 06 + iny ; CPU:$DFEB PRG:5FEB C8 + txa ; CPU:$DFEC PRG:5FEC 8A + clc ; CPU:$DFED PRG:5FED 18 + adc #$0A ; CPU:$DFEE PRG:5FEE 69 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DFF0 +; Global: Branch target inside Label: taken when DFF0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DFF0: + tax ; CPU:$DFF0 PRG:5FF0 AA + dec Zp3C ; CPU:$DFF1 PRG:5FF1 C6 3C + bne NmiHandler_OnNonzero81 ; CPU:$DFF3 PRG:5FF3 D0 DF + rts ; CPU:$DFF5 PRG:5FF5 60 +; ---- data $DFF6-$E0E5 (240 bytes) ---- + .byte $13, $00, $04, $00, $13, $00, $05, $00, $13, $00, $06, $00, $0D, $00, $04, $00 ; CPU:$DFF6 PRG:5FF6 13 00 04 00 13 00 05 00 13 00 06 00 0D 00 04 00 + .byte $0D, $00, $05, $00, $0D, $00, $04, $00, $13, $00, $05, $00, $0D, $00, $05, $00 ; CPU:$E006 PRG:6006 0D 00 05 00 0D 00 04 00 13 00 05 00 0D 00 05 00 + .byte $13, $00, $04, $00, $13, $00, $06, $00, $13, $00, $0A, $00, $13, $00, $0B, $00 ; CPU:$E016 PRG:6016 13 00 04 00 13 00 06 00 13 00 0A 00 13 00 0B 00 + .byte $13, $00, $0C, $00, $0D, $00, $0A, $00, $0D, $00, $0B, $00, $0D, $00, $0A, $00 ; CPU:$E026 PRG:6026 13 00 0C 00 0D 00 0A 00 0D 00 0B 00 0D 00 0A 00 + .byte $13, $00, $0B, $00, $0D, $00, $0B, $00, $13, $00, $0A, $00, $13, $00, $0C, $00 ; CPU:$E036 PRG:6036 13 00 0B 00 0D 00 0B 00 13 00 0A 00 13 00 0C 00 + .byte $1B, $00, $04, $00, $1B, $00, $05, $00, $1B, $00, $06, $00, $16, $00, $04, $00 ; CPU:$E046 PRG:6046 1B 00 04 00 1B 00 05 00 1B 00 06 00 16 00 04 00 + .byte $16, $00, $05, $00, $16, $00, $04, $00, $1B, $00, $05, $00, $16, $00, $05, $00 ; CPU:$E056 PRG:6056 16 00 05 00 16 00 04 00 1B 00 05 00 16 00 05 00 + .byte $1B, $00, $04, $00, $1B, $00, $06, $00, $1B, $00, $0A, $00, $1B, $00, $0B, $00 ; CPU:$E066 PRG:6066 1B 00 04 00 1B 00 06 00 1B 00 0A 00 1B 00 0B 00 + .byte $1B, $00, $0C, $00, $16, $00, $0A, $00, $16, $00, $0B, $00, $16, $00, $0A, $00 ; CPU:$E076 PRG:6076 1B 00 0C 00 16 00 0A 00 16 00 0B 00 16 00 0A 00 + .byte $1B, $00, $0B, $00, $16, $00, $0B, $00, $1B, $00, $0A, $00, $1B, $00, $0C, $00 ; CPU:$E086 PRG:6086 1B 00 0B 00 16 00 0B 00 1B 00 0A 00 1B 00 0C 00 + .byte $0B, $00, $04, $00, $05, $00, $05, $00, $0B, $00, $06, $00, $05, $00, $04, $00 ; CPU:$E096 PRG:6096 0B 00 04 00 05 00 05 00 0B 00 06 00 05 00 04 00 + .byte $05, $00, $06, $00, $05, $00, $04, $00, $05, $00, $05, $00, $05, $00, $06, $00 ; CPU:$E0A6 PRG:60A6 05 00 06 00 05 00 04 00 05 00 05 00 05 00 06 00 + .byte $0B, $00, $04, $00, $0B, $00, $06, $00, $0B, $00, $0A, $00, $05, $00, $0B, $00 ; CPU:$E0B6 PRG:60B6 0B 00 04 00 0B 00 06 00 0B 00 0A 00 05 00 0B 00 + .byte $0B, $00, $0C, $00, $05, $00, $0A, $00, $05, $00, $0C, $00, $05, $00, $0A, $00 ; CPU:$E0C6 PRG:60C6 0B 00 0C 00 05 00 0A 00 05 00 0C 00 05 00 0A 00 + .byte $05, $00, $0B, $00, $05, $00, $0C, $00, $0B, $00, $0A, $00, $0B, $00, $0C, $00 ; CPU:$E0D6 PRG:60D6 05 00 0B 00 05 00 0C 00 0B 00 0A 00 0B 00 0C 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_E0E6 +; Global: Branch target inside Sub: taken when E0E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E0E6: + ldy #$00 ; CPU:$E0E6 PRG:60E6 A0 00 + lda $07F4 ; CPU:$E0E8 PRG:60E8 AD F4 07 + ldx PlayerSpeed2 ; CPU:$E0EB PRG:60EB A6 90 + cpx #$7E ; CPU:$E0ED PRG:60ED E0 7E + bcc NmiHandler_Loop625 ; CPU:$E0EF PRG:60EF 90 05 + lda $07F5 ; CPU:$E0F1 PRG:60F1 AD F5 07 + ldy #$14 ; CPU:$E0F4 PRG:60F4 A0 14 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop625 +; Global: Branch target inside NmiHandler: taken when Loop625. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop625: + and #$40 ; CPU:$E0F6 PRG:60F6 29 40 + beq NmiHandler_Loop628 ; CPU:$E0F8 PRG:60F8 F0 32 + lda $06B6,y ; CPU:$E0FA PRG:60FA B9 B6 06 + bne NmiHandler_Loop627 ; CPU:$E0FD PRG:60FD D0 2C + lda $030C,x ; CPU:$E0FF PRG:60FF BD 0C 03 + and #$70 ; CPU:$E102 PRG:6102 29 70 + cmp #$70 ; CPU:$E104 PRG:6104 C9 70 + bne NmiHandler_Loop627 ; CPU:$E106 PRG:6106 D0 23 + lda $030A,x ; CPU:$E108 PRG:6108 BD 0A 03 + and #$02 ; CPU:$E10B PRG:610B 29 02 + bne NmiHandler_Loop627 ; CPU:$E10D PRG:610D D0 1C + tya ; CPU:$E10F PRG:610F 98 + php ; CPU:$E110 PRG:6110 08 + lda PlayerSpeed ; CPU:$E111 PRG:6111 A5 95 + plp ; CPU:$E113 PRG:6113 28 + beq NmiHandler_Loop626 ; CPU:$E114 PRG:6114 F0 02 + lda Zp96 ; CPU:$E116 PRG:6116 A5 96 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop626 +; Global: Branch target inside NmiHandler: taken when Loop626. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop626: + sta $06B1,y ; CPU:$E118 PRG:6118 99 B1 06 + sty VramReadPtrLo ; CPU:$E11B PRG:611B 84 0C + jsr Sub_C3F5 ; CPU:$E11D PRG:611D 20 F5 C3 + tya ; CPU:$E120 PRG:6120 98 + ldy VramReadPtrLo ; CPU:$E121 PRG:6121 A4 0C + sta $06B0,y ; CPU:$E123 PRG:6123 99 B0 06 + lda #$FF ; CPU:$E126 PRG:6126 A9 FF + sta $06B6,y ; CPU:$E128 PRG:6128 99 B6 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop627 +; Global: Branch target inside NmiHandler: taken when Loop627. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop627: + rts ; CPU:$E12B PRG:612B 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop628 +; Global: Branch target inside NmiHandler: taken when Loop628. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop628: + lda #$00 ; CPU:$E12C PRG:612C A9 00 + sta $06B6,y ; CPU:$E12E PRG:612E 99 B6 06 + rts ; CPU:$E131 PRG:6131 60 +; ---- data $E132-$E469 (824 bytes) ---- + .byte $AD, $2F, $04, $20, $BD, $84, $52, $E1, $9A, $E1, $AB, $E1, $32, $E2, $7D, $E2 ; CPU:$E132 PRG:6132 AD 2F 04 20 BD 84 52 E1 9A E1 AB E1 32 E2 7D E2 + .byte $B0, $E2, $1E, $E3, $49, $E3, $55, $E3, $80, $E3, $B6, $E3, $C9, $E3, $23, $E4 ; CPU:$E142 PRG:6142 B0 E2 1E E3 49 E3 55 E3 80 E3 B6 E3 C9 E3 23 E4 + .byte $A9, $00, $8D, $0A, $04, $A9, $02, $85, $7B, $A9, $00, $85, $83, $85, $84, $8D ; CPU:$E152 PRG:6152 A9 00 8D 0A 04 A9 02 85 7B A9 00 85 83 85 84 8D + .byte $30, $04, $8D, $31, $04, $8D, $36, $04, $AE, $B1, $06, $AC, $C5, $06, $9D, $0A ; CPU:$E162 PRG:6162 30 04 8D 31 04 8D 36 04 AE B1 06 AC C5 06 9D 0A + .byte $03, $99, $0A, $03, $8D, $B0, $06, $8D, $B1, $06, $A2, $07, $A0, $93, $8E, $C4 ; CPU:$E172 PRG:6172 03 99 0A 03 8D B0 06 8D B1 06 A2 07 A0 93 8E C4 + .byte $06, $8C, $C5, $06, $A9, $03, $8D, $69, $03, $8D, $E7, $03, $A9, $00, $8D, $73 ; CPU:$E182 PRG:6182 06 8C C5 06 A9 03 8D 69 03 8D E7 03 A9 00 8D 73 + .byte $03, $8D, $F1, $03, $20, $B7, $E1, $60, $AD, $E6, $06, $F0, $0B, $EE, $2F, $04 ; CPU:$E192 PRG:6192 03 8D F1 03 20 B7 E1 60 AD E6 06 F0 0B EE 2F 04 + .byte $A9, $FF, $8D, $70, $05, $20, $BF, $8C, $60, $20, $57, $87, $AD, $32, $04, $F0 ; CPU:$E1A2 PRG:61A2 A9 FF 8D 70 05 20 BF 8C 60 20 57 87 AD 32 04 F0 + .byte $04, $CE, $32, $04, $60, $A9, $03, $8D, $69, $03, $8D, $E7, $03, $A9, $00, $8D ; CPU:$E1B2 PRG:61B2 04 CE 32 04 60 A9 03 8D 69 03 8D E7 03 A9 00 8D + .byte $73, $03, $8D, $F1, $03, $A0, $00, $A2, $00, $AD, $30, $04, $4A, $90, $04, $A0 ; CPU:$E1C2 PRG:61C2 73 03 8D F1 03 A0 00 A2 00 AD 30 04 4A 90 04 A0 + .byte $07, $A2, $7E, $86, $0C, $18, $AD, $36, $04, $65, $0C, $8D, $31, $04, $A2, $00 ; CPU:$E1D2 PRG:61D2 07 A2 7E 86 0C 18 AD 36 04 65 0C 8D 31 04 A2 00 + .byte $B9, $2C, $E4, $95, $A3, $C8, $B9, $2C, $E4, $95, $A4, $C8, $8A, $18, $69, $05 ; CPU:$E1E2 PRG:61E2 B9 2C E4 95 A3 C8 B9 2C E4 95 A4 C8 8A 18 69 05 + .byte $AA, $C9, $0F, $D0, $EB, $B9, $2C, $E4, $85, $0A, $A0, $00, $A2, $00, $A9, $04 ; CPU:$E1F2 PRG:61F2 AA C9 0F D0 EB B9 2C E4 85 0A A0 00 A2 00 A9 04 + .byte $85, $0C, $B9, $3A, $E4, $9D, $01, $06, $E8, $C8, $C6, $0C, $D0, $F4, $8A, $18 ; CPU:$E202 PRG:6202 85 0C B9 3A E4 9D 01 06 E8 C8 C6 0C D0 F4 8A 18 + .byte $69, $06, $AA, $C9, $78, $D0, $E7, $A9, $00, $8D, $E6, $06, $A2, $0C, $A8, $A9 ; CPU:$E212 PRG:6212 69 06 AA C9 78 D0 E7 A9 00 8D E6 06 A2 0C A8 A9 + .byte $00, $99, $10, $03, $98, $18, $69, $15, $A8, $CA, $D0, $F3, $EE, $2F, $04, $60 ; CPU:$E222 PRG:6222 00 99 10 03 98 18 69 15 A8 CA D0 F3 EE 2F 04 60 + .byte $20, $57, $87, $A2, $00, $BD, $00, $06, $CD, $31, $04, $F0, $07, $18, $8A, $69 ; CPU:$E232 PRG:6232 20 57 87 A2 00 BD 00 06 CD 31 04 F0 07 18 8A 69 + .byte $0A, $AA, $D0, $F1, $A8, $A9, $00, $99, $10, $03, $A9, $FE, $C0, $7E, $90, $02 ; CPU:$E242 PRG:6242 0A AA D0 F1 A8 A9 00 99 10 03 A9 FE C0 7E 90 02 + .byte $A9, $02, $18, $65, $A3, $9D, $01, $06, $A5, $A4, $9D, $02, $06, $A5, $A8, $9D ; CPU:$E252 PRG:6252 A9 02 18 65 A3 9D 01 06 A5 A4 9D 02 06 A5 A8 9D + .byte $03, $06, $A5, $A9, $9D, $04, $06, $AD, $03, $04, $29, $DF, $8D, $03, $04, $AD ; CPU:$E262 PRG:6262 03 06 A5 A9 9D 04 06 AD 03 04 29 DF 8D 03 04 AD + .byte $07, $04, $29, $DF, $8D, $07, $04, $EE, $2F, $04, $60, $20, $57, $87, $AC, $31 ; CPU:$E272 PRG:6272 07 04 29 DF 8D 07 04 EE 2F 04 60 20 57 87 AC 31 + .byte $04, $B9, $10, $03, $F0, $27, $AC, $31, $04, $A2, $00, $C0, $7E, $90, $02, $A2 ; CPU:$E282 PRG:6282 04 B9 10 03 F0 27 AC 31 04 A2 00 C0 7E 90 02 A2 + .byte $14, $A9, $82, $99, $0A, $03, $98, $9D, $B1, $06, $20, $F5, $C3, $98, $9D, $B0 ; CPU:$E292 PRG:6292 14 A9 82 99 0A 03 98 9D B1 06 20 F5 C3 98 9D B0 + .byte $06, $EE, $2F, $04, $A9, $01, $8D, $99, $06, $A9, $00, $85, $7B, $60, $A9, $00 ; CPU:$E2A2 PRG:62A2 06 EE 2F 04 A9 01 8D 99 06 A9 00 85 7B 60 A9 00 + .byte $8D, $A8, $06, $AC, $31, $04, $A2, $00, $C9, $7E, $90, $02, $A2, $14, $BD, $B0 ; CPU:$E2B2 PRG:62B2 8D A8 06 AC 31 04 A2 00 C9 7E 90 02 A2 14 BD B0 + .byte $06, $9D, $B8, $06, $BD, $B1, $06, $9D, $B9, $06, $A9, $78, $9D, $BA, $06, $8D ; CPU:$E2C2 PRG:62C2 06 9D B8 06 BD B1 06 9D B9 06 A9 78 9D BA 06 8D + .byte $C0, $06, $8D, $D4, $06, $B9, $01, $03, $99, $0B, $03, $B9, $0C, $03, $29, $40 ; CPU:$E2D2 PRG:62D2 C0 06 8D D4 06 B9 01 03 99 0B 03 B9 0C 03 29 40 + .byte $F0, $13, $A5, $16, $C0, $7E, $90, $07, $A5, $17, $29, $02, $4C, $F3, $E2, $29 ; CPU:$E2E2 PRG:62E2 F0 13 A5 16 C0 7E 90 07 A5 17 29 02 4C F3 E2 29 + .byte $01, $99, $0E, $03, $60, $A5, $16, $0D, $F4, $07, $C0, $7E, $90, $05, $A5, $17 ; CPU:$E2F2 PRG:62F2 01 99 0E 03 60 A5 16 0D F4 07 C0 7E 90 05 A5 17 + .byte $0D, $F5, $07, $29, $80, $F0, $0F, $A9, $08, $8D, $2F, $04, $AD, $99, $06, $F0 ; CPU:$E302 PRG:6302 0D F5 07 29 80 F0 0F A9 08 8D 2F 04 AD 99 06 F0 + .byte $E3, $A9, $03, $85, $7B, $60, $A9, $00, $8D, $99, $06, $60, $A2, $00, $BD, $00 ; CPU:$E312 PRG:6312 E3 A9 03 85 7B 60 A9 00 8D 99 06 60 A2 00 BD 00 + .byte $06, $CD, $31, $04, $F0, $07, $18, $8A, $69, $0A, $AA, $D0, $F1, $A8, $A9, $00 ; CPU:$E322 PRG:6322 06 CD 31 04 F0 07 18 8A 69 0A AA D0 F1 A8 A9 00 + .byte $8D, $73, $03, $8D, $F1, $03, $99, $10, $03, $A5, $A3, $9D, $01, $06, $A5, $A4 ; CPU:$E332 PRG:6332 8D 73 03 8D F1 03 99 10 03 A5 A3 9D 01 06 A5 A4 + .byte $9D, $02, $06, $EE, $2F, $04, $60, $AC, $31, $04, $BD, $10, $03, $F0, $03, $EE ; CPU:$E342 PRG:6342 9D 02 06 EE 2F 04 60 AC 31 04 BD 10 03 F0 03 EE + .byte $2F, $04, $60, $A5, $AB, $05, $AC, $05, $A1, $05, $A2, $05, $A6, $05, $A7, $D0 ; CPU:$E352 PRG:6352 2F 04 60 A5 AB 05 AC 05 A1 05 A2 05 A6 05 A7 D0 + .byte $16, $AE, $31, $04, $A9, $80, $9D, $0E, $03, $86, $90, $20, $E3, $B5, $A9, $78 ; CPU:$E362 PRG:6362 16 AE 31 04 A9 80 9D 0E 03 86 90 20 E3 B5 A9 78 + .byte $8D, $C0, $06, $8D, $D4, $06, $60, $EE, $34, $04, $EE, $2F, $04, $60, $A5, $AB ; CPU:$E372 PRG:6372 8D C0 06 8D D4 06 60 EE 34 04 EE 2F 04 60 A5 AB + .byte $05, $AC, $05, $A1, $05, $A2, $05, $A6, $05, $A7, $F0, $24, $38, $A5, $A4, $E9 ; CPU:$E382 PRG:6382 05 AC 05 A1 05 A2 05 A6 05 A7 F0 24 38 A5 A4 E9 + .byte $00, $85, $10, $A5, $A3, $E9, $10, $10, $0A, $49, $FF, $48, $A5, $10, $49, $FF ; CPU:$E392 PRG:6392 00 85 10 A5 A3 E9 10 10 0A 49 FF 48 A5 10 49 FF + .byte $85, $10, $68, $20, $7C, $D9, $C9, $AC, $90, $05, $A9, $00, $8D, $34, $04, $60 ; CPU:$E3A2 PRG:63A2 85 10 68 20 7C D9 C9 AC 90 05 A9 00 8D 34 04 60 + .byte $EE, $2F, $04, $60, $20, $57, $87, $AD, $A8, $06, $F0, $07, $C9, $03, $F0, $03 ; CPU:$E3B2 PRG:63B2 EE 2F 04 60 20 57 87 AD A8 06 F0 07 C9 03 F0 03 + .byte $8D, $38, $04, $EE, $2F, $04, $60, $AD, $38, $04, $D0, $54, $AD, $30, $04, $4A ; CPU:$E3C2 PRG:63C2 8D 38 04 EE 2F 04 60 AD 38 04 D0 54 AD 30 04 4A + .byte $85, $0C, $90, $02, $E6, $0C, $38, $A5, $83, $E5, $84, $10, $0F, $49, $FF, $18 ; CPU:$E3D2 PRG:63D2 85 0C 90 02 E6 0C 38 A5 83 E5 84 10 0F 49 FF 18 + .byte $69, $01, $48, $AD, $30, $04, $4A, $85, $0C, $E6, $0C, $68, $85, $0D, $A9, $05 ; CPU:$E3E2 PRG:63E2 69 01 48 AD 30 04 4A 85 0C E6 0C 68 85 0D A9 05 + .byte $38, $E5, $0C, $C5, $0D, $90, $21, $AD, $30, $04, $C9, $09, $F0, $1A, $4A, $90 ; CPU:$E3F2 PRG:63F2 38 E5 0C C5 0D 90 21 AD 30 04 C9 09 F0 1A 4A 90 + .byte $09, $AD, $36, $04, $18, $69, $15, $8D, $36, $04, $EE, $30, $04, $A9, $02, $8D ; CPU:$E402 PRG:6402 09 AD 36 04 18 69 15 8D 36 04 EE 30 04 A9 02 8D + .byte $2F, $04, $A9, $20, $8D, $32, $04, $60, $A9, $80, $8D, $32, $04, $EE, $2F, $04 ; CPU:$E412 PRG:6412 2F 04 A9 20 8D 32 04 60 A9 80 8D 32 04 EE 2F 04 + .byte $60, $CE, $32, $04, $D0, $03, $EE, $E7, $06, $60, $1A, $00, $07, $80, $00, $00 ; CPU:$E422 PRG:6422 60 CE 32 04 D0 03 EE E7 06 60 1A 00 07 80 00 00 + .byte $FF, $06, $00, $07, $80, $00, $00, $00, $11, $00, $04, $00, $11, $00, $08, $00 ; CPU:$E432 PRG:6432 FF 06 00 07 80 00 00 00 11 00 04 00 11 00 08 00 + .byte $11, $00, $0C, $00, $11, $00, $06, $00, $11, $00, $0A, $00, $03, $E0, $07, $80 ; CPU:$E442 PRG:6442 11 00 0C 00 11 00 06 00 11 00 0A 00 03 E0 07 80 + .byte $0F, $00, $04, $00, $0F, $00, $08, $00, $0F, $00, $0C, $00, $0F, $00, $06, $00 ; CPU:$E452 PRG:6452 0F 00 04 00 0F 00 08 00 0F 00 0C 00 0F 00 06 00 + .byte $0F, $00, $0A, $00, $1C, $40, $07, $80 ; CPU:$E462 PRG:6462 0F 00 0A 00 1C 40 07 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_E46A +; Global: Branch target inside Sub: taken when E46A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E46A: + ldy #$69 ; CPU:$E46A PRG:646A A0 69 + lda Zp16 ; CPU:$E46C PRG:646C A5 16 + ldx Zp0A ; CPU:$E46E PRG:646E A6 0A + beq NmiHandler_Loop629 ; CPU:$E470 PRG:6470 F0 04 + ldy #$E7 ; CPU:$E472 PRG:6472 A0 E7 + lda Zp17 ; CPU:$E474 PRG:6474 A5 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop629 +; Global: Branch target inside NmiHandler: taken when Loop629. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop629: + sty PlayerSpeed2 ; CPU:$E476 PRG:6476 84 90 + ldx $0310,y ; CPU:$E478 PRG:6478 BE 10 03 + bne NmiHandler_Loop630 ; CPU:$E47B PRG:647B D0 01 + rts ; CPU:$E47D PRG:647D 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop630 +; Global: Branch target inside NmiHandler: taken when Loop630. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop630: + ldx $042F ; CPU:$E47E PRG:647E AE 2F 04 + cpx #$02 ; CPU:$E481 PRG:6481 E0 02 + bne NmiHandler_Loop631 ; CPU:$E483 PRG:6483 D0 05 + ldx $0432 ; CPU:$E485 PRG:6485 AE 32 04 + bne NmiHandler_Loop632 ; CPU:$E488 PRG:6488 D0 0F +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop631 +; Global: Branch target inside NmiHandler: taken when Loop631. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop631: + ldx $042F ; CPU:$E48A PRG:648A AE 2F 04 + cpx #$08 ; CPU:$E48D PRG:648D E0 08 + bcs NmiHandler_Loop632 ; CPU:$E48F PRG:648F B0 08 + ldx PlayerSpeed2 ; CPU:$E491 PRG:6491 A6 90 + lda #$00 ; CPU:$E493 PRG:6493 A9 00 + sta $030E,x ; CPU:$E495 PRG:6495 9D 0E 03 + rts ; CPU:$E498 PRG:6498 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop632 +; Global: Branch target inside NmiHandler: taken when Loop632. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop632: + sta VramReadPtrLo ; CPU:$E499 PRG:6499 85 0C + lda #$F7 ; CPU:$E49B PRG:649B A9 F7 + sta Zp11 ; CPU:$E49D PRG:649D 85 11 + ldx #$90 ; CPU:$E49F PRG:649F A2 90 + stx Zp15 ; CPU:$E4A1 PRG:64A1 86 15 + ldx #$5C ; CPU:$E4A3 PRG:64A3 A2 5C + stx Zp14 ; CPU:$E4A5 PRG:64A5 86 14 + jsr Sub_D985 ; CPU:$E4A7 PRG:64A7 20 85 D9 + lda VramReadPtrLo ; CPU:$E4AA PRG:64AA A5 0C + and #$0C ; CPU:$E4AC PRG:64AC 29 0C + sta $0435 ; CPU:$E4AE PRG:64AE 8D 35 04 + ldx PlayerSpeed2 ; CPU:$E4B1 PRG:64B1 A6 90 + sta $030E,x ; CPU:$E4B3 PRG:64B3 9D 0E 03 + jsr Sub_D8E1 ; CPU:$E4B6 PRG:64B6 20 E1 D8 + ldx PlayerSpeed2 ; CPU:$E4B9 PRG:64B9 A6 90 + lda $0300,x ; CPU:$E4BB PRG:64BB BD 00 03 + cmp #$03 ; CPU:$E4BE PRG:64BE C9 03 + bne NmiHandler_Loop636 ; CPU:$E4C0 PRG:64C0 D0 6E + lda $030A,x ; CPU:$E4C2 PRG:64C2 BD 0A 03 + and #$10 ; CPU:$E4C5 PRG:64C5 29 10 + beq NmiHandler_Loop633 ; CPU:$E4C7 PRG:64C7 F0 03 + jmp Sub_E555 ; CPU:$E4C9 PRG:64C9 4C 55 E5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop633 +; Global: Branch target inside NmiHandler: taken when Loop633. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop633: + lda $030C,x ; CPU:$E4CC PRG:64CC BD 0C 03 + and #$50 ; CPU:$E4CF PRG:64CF 29 50 + cmp #$50 ; CPU:$E4D1 PRG:64D1 C9 50 + beq NmiHandler_Loop634 ; CPU:$E4D3 PRG:64D3 F0 14 + lda #$10 ; CPU:$E4D5 PRG:64D5 A9 10 + ora $030A,x ; CPU:$E4D7 PRG:64D7 1D 0A 03 + sta $030A,x ; CPU:$E4DA PRG:64DA 9D 0A 03 + lda #$16 ; CPU:$E4DD PRG:64DD A9 16 + sta $0300,x ; CPU:$E4DF PRG:64DF 9D 00 03 + jsr Sub_D958 ; CPU:$E4E2 PRG:64E2 20 58 D9 + jsr Sub_8748 ; CPU:$E4E5 PRG:64E5 20 48 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet5 +; Global: Branch target inside NmiHandler: taken when OnCarrySet5. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet5: + rts ; CPU:$E4E8 PRG:64E8 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop634 +; Global: Branch target inside NmiHandler: taken when Loop634. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop634: + ldx PlayerSpeed2 ; CPU:$E4E9 PRG:64E9 A6 90 + lda #$40 ; CPU:$E4EB PRG:64EB A9 40 + sta VramReadPtrHi ; CPU:$E4ED PRG:64ED 85 0D + inx ; CPU:$E4EF PRG:64EF E8 + inx ; CPU:$E4F0 PRG:64F0 E8 + ldy #$00 ; CPU:$E4F1 PRG:64F1 A0 00 + jsr Sub_B9AF ; CPU:$E4F3 PRG:64F3 20 AF B9 + bcs NmiHandler_OnCarrySet5 ; CPU:$E4F6 PRG:64F6 B0 F0 + lda #$40 ; CPU:$E4F8 PRG:64F8 A9 40 + sta VramReadPtrHi ; CPU:$E4FA PRG:64FA 85 0D + ldx PlayerSpeed2 ; CPU:$E4FC PRG:64FC A6 90 + jsr Sub_B9AF ; CPU:$E4FE PRG:64FE 20 AF B9 + bcc NmiHandler_OnCarrySet5 ; CPU:$E501 PRG:6501 90 E5 + lda $030A,x ; CPU:$E503 PRG:6503 BD 0A 03 + and #$32 ; CPU:$E506 PRG:6506 29 32 + bne NmiHandler_OnCarrySet5 ; CPU:$E508 PRG:6508 D0 DE + lda TimerIndex4 ; CPU:$E50A PRG:650A A5 A9 + sta Zp10 ; CPU:$E50C PRG:650C 85 10 + lda TimerIndex3 ; CPU:$E50E PRG:650E A5 A8 + jsr Sub_D97C ; CPU:$E510 PRG:6510 20 7C D9 + cmp #$5C ; CPU:$E513 PRG:6513 C9 5C + bcc NmiHandler_OnCarrySet5 ; CPU:$E515 PRG:6515 90 D1 + cmp #$8F ; CPU:$E517 PRG:6517 C9 8F + bcs NmiHandler_OnCarrySet5 ; CPU:$E519 PRG:6519 B0 CD + ldx PlayerSpeed2 ; CPU:$E51B PRG:651B A6 90 + lda ZpA2 ; CPU:$E51D PRG:651D A5 A2 + bpl NmiHandler_Loop635 ; CPU:$E51F PRG:651F 10 02 + eor #$FF ; CPU:$E521 PRG:6521 49 FF +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop635 +; Global: Branch target inside NmiHandler: taken when Loop635. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop635: + beq NmiHandler_OnCarrySet5 ; CPU:$E523 PRG:6523 F0 C3 + lda #$18 ; CPU:$E525 PRG:6525 A9 18 + sta $0300,x ; CPU:$E527 PRG:6527 9D 00 03 + lda #$20 ; CPU:$E52A PRG:652A A9 20 + sta $030A,x ; CPU:$E52C PRG:652C 9D 0A 03 + rts ; CPU:$E52F PRG:652F 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop636 +; Global: Branch target inside NmiHandler: taken when Loop636. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop636: + lda $0300,x ; CPU:$E530 PRG:6530 BD 00 03 + cmp #$19 ; CPU:$E533 PRG:6533 C9 19 + bne NmiHandler_Loop638 ; CPU:$E535 PRG:6535 D0 1D + lda $030C,x ; CPU:$E537 PRG:6537 BD 0C 03 + and #$50 ; CPU:$E53A PRG:653A 29 50 + cmp #$50 ; CPU:$E53C PRG:653C C9 50 + beq NmiHandler_Loop638 ; CPU:$E53E PRG:653E F0 14 + lda $030A,x ; CPU:$E540 PRG:6540 BD 0A 03 + and #$10 ; CPU:$E543 PRG:6543 29 10 + bne NmiHandler_Loop637 ; CPU:$E545 PRG:6545 D0 03 + jsr Sub_8712 ; CPU:$E547 PRG:6547 20 12 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop637 +; Global: Branch target inside NmiHandler: taken when Loop637. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop637: + ldx PlayerSpeed2 ; CPU:$E54A PRG:654A A6 90 + lda #$32 ; CPU:$E54C PRG:654C A9 32 + sta $030A,x ; CPU:$E54E PRG:654E 9D 0A 03 + jsr Sub_8748 ; CPU:$E551 PRG:6551 20 48 87 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop638 +; Global: Branch target inside NmiHandler: taken when Loop638. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop638: + rts ; CPU:$E554 PRG:6554 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E555 +; Global: Branch target inside Sub: taken when E555. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E555: + lda $0300,x ; CPU:$E555 PRG:6555 BD 00 03 + cmp #$03 ; CPU:$E558 PRG:6558 C9 03 + bne NmiHandler_Loop638 ; CPU:$E55A PRG:655A D0 F8 + lda #$12 ; CPU:$E55C PRG:655C A9 12 + sta $0300,x ; CPU:$E55E PRG:655E 9D 00 03 + rts ; CPU:$E561 PRG:6561 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E562 +; Global: Branch target inside Sub: taken when E562. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E562: + lda $06E7 ; CPU:$E562 PRG:6562 AD E7 06 + cmp #$11 ; CPU:$E565 PRG:6565 C9 11 + bne NmiHandler_Loop641 ; CPU:$E567 PRG:6567 D0 34 + lda $0434 ; CPU:$E569 PRG:6569 AD 34 04 + beq NmiHandler_Loop641 ; CPU:$E56C PRG:656C F0 2F + lda Zp16 ; CPU:$E56E PRG:656E A5 16 + ldx $0431 ; CPU:$E570 PRG:6570 AE 31 04 + cpx #$7E ; CPU:$E573 PRG:6573 E0 7E + bcc NmiHandler_Loop639 ; CPU:$E575 PRG:6575 90 02 + lda Zp17 ; CPU:$E577 PRG:6577 A5 17 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop639 +; Global: Branch target inside NmiHandler: taken when Loop639. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop639: + lsr a ; CPU:$E579 PRG:6579 4A + lsr a ; CPU:$E57A PRG:657A 4A + lsr a ; CPU:$E57B PRG:657B 4A + pha ; CPU:$E57C PRG:657C 48 + bcc NmiHandler_Loop640 ; CPU:$E57D PRG:657D 90 0D + clc ; CPU:$E57F PRG:657F 18 + lda ZpA6 ; CPU:$E580 PRG:6580 A5 A6 + adc #$00 ; CPU:$E582 PRG:6582 69 00 + sta ZpA6 ; CPU:$E584 PRG:6584 85 A6 + lda ZpA7 ; CPU:$E586 PRG:6586 A5 A7 + adc #$02 ; CPU:$E588 PRG:6588 69 02 + sta ZpA7 ; CPU:$E58A PRG:658A 85 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop640 +; Global: Branch target inside NmiHandler: taken when Loop640. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop640: + pla ; CPU:$E58C PRG:658C 68 + lsr a ; CPU:$E58D PRG:658D 4A + bcc NmiHandler_Loop641 ; CPU:$E58E PRG:658E 90 0D + sec ; CPU:$E590 PRG:6590 38 + lda ZpA6 ; CPU:$E591 PRG:6591 A5 A6 + sbc #$00 ; CPU:$E593 PRG:6593 E9 00 + sta ZpA6 ; CPU:$E595 PRG:6595 85 A6 + lda ZpA7 ; CPU:$E597 PRG:6597 A5 A7 + sbc #$02 ; CPU:$E599 PRG:6599 E9 02 + sta ZpA7 ; CPU:$E59B PRG:659B 85 A7 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop641 +; Global: Branch target inside NmiHandler: taken when Loop641. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop641: + rts ; CPU:$E59D PRG:659D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E59E +; Global: Branch target inside Label: taken when E59E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E59E: + lda $0551 ; CPU:$E59E PRG:659E AD 51 05 + jsr Sub_84BD ; CPU:$E5A1 PRG:65A1 20 BD 84 + ldx $33E5 ; CPU:$E5A4 PRG:65A4 AE E5 33 + inc Zp3F ; CPU:$E5A7 PRG:65A7 E6 3F + inc Zp63 ; CPU:$E5A9 PRG:65A9 E6 63 + inc Zp76 ; CPU:$E5AB PRG:65AB E6 76 + inc ZpA2 ; CPU:$E5AD PRG:65AD E6 A2 + brk ; CPU:$E5AF PRG:65AF 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E5B0 +; Global: Branch target inside Label: taken when E5B0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E5B0: + lda Zp83 ; CPU:$E5B0 PRG:65B0 A5 83 + cmp Zp84 ; CPU:$E5B2 PRG:65B2 C5 84 + beq NmiHandler_Loop642 ; CPU:$E5B4 PRG:65B4 F0 04 + inx ; CPU:$E5B6 PRG:65B6 E8 + bcs NmiHandler_Loop642 ; CPU:$E5B7 PRG:65B7 B0 01 + inx ; CPU:$E5B9 PRG:65B9 E8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop642 +; Global: Branch target inside NmiHandler: taken when Loop642. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop642: + stx $0550 ; CPU:$E5BA PRG:65BA 8E 50 05 + stx $0574 ; CPU:$E5BD PRG:65BD 8E 74 05 + lda #$03 ; CPU:$E5C0 PRG:65C0 A9 03 + sta $0369 ; CPU:$E5C2 PRG:65C2 8D 69 03 + sta $03E7 ; CPU:$E5C5 PRG:65C5 8D E7 03 + lda #$00 ; CPU:$E5C8 PRG:65C8 A9 00 + sta $0373 ; CPU:$E5CA PRG:65CA 8D 73 03 + sta $03F1 ; CPU:$E5CD PRG:65CD 8D F1 03 + ldx #$00 ; CPU:$E5D0 PRG:65D0 A2 00 + ldy #$00 ; CPU:$E5D2 PRG:65D2 A0 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero82 +; Global: Branch target inside NmiHandler: taken when OnNonzero82. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero82: + lda $E67F,y ; CPU:$E5D4 PRG:65D4 B9 7F E6 + sta TimerIndex,x ; CPU:$E5D7 PRG:65D7 95 A3 + iny ; CPU:$E5D9 PRG:65D9 C8 + lda $E67F,y ; CPU:$E5DA PRG:65DA B9 7F E6 + sta TimerIndex2,x ; CPU:$E5DD PRG:65DD 95 A4 + iny ; CPU:$E5DF PRG:65DF C8 + txa ; CPU:$E5E0 PRG:65E0 8A + clc ; CPU:$E5E1 PRG:65E1 18 + adc #$05 ; CPU:$E5E2 PRG:65E2 69 05 + tax ; CPU:$E5E4 PRG:65E4 AA + cmp #$0F ; CPU:$E5E5 PRG:65E5 C9 0F + bne NmiHandler_OnNonzero82 ; CPU:$E5E7 PRG:65E7 D0 EB + lda $E67F,y ; CPU:$E5E9 PRG:65E9 B9 7F E6 + sta Zp0A ; CPU:$E5EC PRG:65EC 85 0A + lda $0403 ; CPU:$E5EE PRG:65EE AD 03 04 + and #$DF ; CPU:$E5F1 PRG:65F1 29 DF + sta $0403 ; CPU:$E5F3 PRG:65F3 8D 03 04 + lda $0407 ; CPU:$E5F6 PRG:65F6 AD 07 04 + and #$DF ; CPU:$E5F9 PRG:65F9 29 DF + sta $0407 ; CPU:$E5FB PRG:65FB 8D 07 04 + iny ; CPU:$E5FE PRG:65FE C8 + ldx #$00 ; CPU:$E5FF PRG:65FF A2 00 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero83 +; Global: Branch target inside NmiHandler: taken when OnNonzero83. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero83: + lda #$04 ; CPU:$E601 PRG:6601 A9 04 + sta VramReadPtrLo ; CPU:$E603 PRG:6603 85 0C +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero84 +; Global: Branch target inside NmiHandler: taken when OnNonzero84. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero84: + lda $E67F,y ; CPU:$E605 PRG:6605 B9 7F E6 + sta $0601,x ; CPU:$E608 PRG:6608 9D 01 06 + inx ; CPU:$E60B PRG:660B E8 + iny ; CPU:$E60C PRG:660C C8 + dec VramReadPtrLo ; CPU:$E60D PRG:660D C6 0C + bne NmiHandler_OnNonzero84 ; CPU:$E60F PRG:660F D0 F4 + txa ; CPU:$E611 PRG:6611 8A + clc ; CPU:$E612 PRG:6612 18 + adc #$06 ; CPU:$E613 PRG:6613 69 06 + tax ; CPU:$E615 PRG:6615 AA + cmp #$78 ; CPU:$E616 PRG:6616 C9 78 + bne NmiHandler_OnNonzero83 ; CPU:$E618 PRG:6618 D0 E7 + lda #$00 ; CPU:$E61A PRG:661A A9 00 + sta $06E6 ; CPU:$E61C PRG:661C 8D E6 06 + ldx #$0C ; CPU:$E61F PRG:661F A2 0C + tay ; CPU:$E621 PRG:6621 A8 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero85 +; Global: Branch target inside NmiHandler: taken when OnNonzero85. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero85: + lda #$00 ; CPU:$E622 PRG:6622 A9 00 + sta $0310,y ; CPU:$E624 PRG:6624 99 10 03 + tya ; CPU:$E627 PRG:6627 98 + clc ; CPU:$E628 PRG:6628 18 + adc #$15 ; CPU:$E629 PRG:6629 69 15 + tay ; CPU:$E62B PRG:662B A8 + dex ; CPU:$E62C PRG:662C CA + bne NmiHandler_OnNonzero85 ; CPU:$E62D PRG:662D D0 F3 + inc $0551 ; CPU:$E62F PRG:662F EE 51 05 + rts ; CPU:$E632 PRG:6632 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E633 +; Global: Branch target inside Label: taken when E633. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E633: + lda $06E6 ; CPU:$E633 PRG:6633 AD E6 06 + beq NmiHandler_Loop643 ; CPU:$E636 PRG:6636 F0 06 + inc $06E7 ; CPU:$E638 PRG:6638 EE E7 06 + inc $0551 ; CPU:$E63B PRG:663B EE 51 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop643 +; Global: Branch target inside NmiHandler: taken when Loop643. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop643: + rts ; CPU:$E63E PRG:663E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E63F +; Global: Branch target inside Label: taken when E63F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E63F: + ldx $0550 ; CPU:$E63F PRG:663F AE 50 05 + beq NmiHandler_Loop645 ; CPU:$E642 PRG:6642 F0 16 + ldy #$00 ; CPU:$E644 PRG:6644 A0 00 + dex ; CPU:$E646 PRG:6646 CA + beq NmiHandler_Loop644 ; CPU:$E647 PRG:6647 F0 02 + ldy #$7E ; CPU:$E649 PRG:6649 A0 7E +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop644 +; Global: Branch target inside NmiHandler: taken when Loop644. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop644: + ldx #$05 ; CPU:$E64B PRG:664B A2 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnNonzero86 +; Global: Branch target inside NmiHandler: taken when OnNonzero86. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnNonzero86: + lda #$1A ; CPU:$E64D PRG:664D A9 1A + sta $0300,y ; CPU:$E64F PRG:664F 99 00 03 + tya ; CPU:$E652 PRG:6652 98 + clc ; CPU:$E653 PRG:6653 18 + adc #$15 ; CPU:$E654 PRG:6654 69 15 + tay ; CPU:$E656 PRG:6656 A8 + dex ; CPU:$E657 PRG:6657 CA + bne NmiHandler_OnNonzero86 ; CPU:$E658 PRG:6658 D0 F3 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop645 +; Global: Branch target inside NmiHandler: taken when Loop645. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop645: + inc $0551 ; CPU:$E65A PRG:665A EE 51 05 + lda #$A0 ; CPU:$E65D PRG:665D A9 A0 + sta $0552 ; CPU:$E65F PRG:665F 8D 52 05 + rts ; CPU:$E662 PRG:6662 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E663 +; Global: Branch target inside Label: taken when E663. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E663: + dec $0552 ; CPU:$E663 PRG:6663 CE 52 05 + bne NmiHandler_Loop646 ; CPU:$E666 PRG:6666 D0 0A + lda #$00 ; CPU:$E668 PRG:6668 A9 00 + sta $0574 ; CPU:$E66A PRG:666A 8D 74 05 + lda #$02 ; CPU:$E66D PRG:666D A9 02 + sta $0552 ; CPU:$E66F PRG:666F 8D 52 05 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop646 +; Global: Branch target inside NmiHandler: taken when Loop646. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop646: + inc $0551 ; CPU:$E672 PRG:6672 EE 51 05 + rts ; CPU:$E675 PRG:6675 60 +; ---- data $E676-$F4FF (3722 bytes) ---- +; referenced by `lda $F000,y` at $C3F6 (operand $F000 falls inside this region) +; referenced by `bit $E7EE` at $C507 (operand $E7EE falls inside this region) +; referenced by `lda $E67F,y` at $E5D4 (operand $E67F falls inside this region) +; referenced by `lda $E67F,y` at $E5DA (operand $E67F falls inside this region) +; referenced by `lda $E67F,y` at $E5E9 (operand $E67F falls inside this region) +; referenced by `lda $E67F,y` at $E605 (operand $E67F falls inside this region) + .byte $CE, $52, $05, $D0, $03, $EE, $E7, $06, $60, $10, $00, $07, $80, $00, $00, $80 ; CPU:$E676 PRG:6676 CE 52 05 D0 03 EE E7 06 60 10 00 07 80 00 00 80 + .byte $0E, $00, $04, $00, $0E, $00, $08, $00, $0E, $00, $0C, $00, $0E, $00, $06, $00 ; CPU:$E686 PRG:6686 0E 00 04 00 0E 00 08 00 0E 00 0C 00 0E 00 06 00 + .byte $0E, $00, $0A, $00, $04, $00, $07, $80, $12, $00, $04, $00, $12, $00, $08, $00 ; CPU:$E696 PRG:6696 0E 00 0A 00 04 00 07 80 12 00 04 00 12 00 08 00 + .byte $12, $00, $0C, $00, $12, $00, $06, $00, $12, $00, $0A, $00, $1C, $00, $07, $80 ; CPU:$E6A6 PRG:66A6 12 00 0C 00 12 00 06 00 12 00 0A 00 1C 00 07 80 + .byte $A6, $79, $BD, $01, $03, $29, $0F, $A8, $B9, $FB, $E6, $9D, $09, $03, $A9, $00 ; CPU:$E6B6 PRG:66B6 A6 79 BD 01 03 29 0F A8 B9 FB E6 9D 09 03 A9 00 + .byte $9D, $08, $03, $FE, $00, $03, $A6, $79, $BD, $08, $03, $F0, $06, $DE, $08, $03 ; CPU:$E6C6 PRG:66C6 9D 08 03 FE 00 03 A6 79 BD 08 03 F0 06 DE 08 03 + .byte $4C, $AD, $87, $BC, $09, $03, $B9, $04, $E7, $C9, $FF, $D0, $08, $A9, $1A, $9D ; CPU:$E6D6 PRG:66D6 4C AD 87 BC 09 03 B9 04 E7 C9 FF D0 08 A9 1A 9D + .byte $00, $03, $4C, $AD, $87, $C8, $9D, $06, $03, $98, $9D, $09, $03, $A9, $02, $9D ; CPU:$E6E6 PRG:66E6 00 03 4C AD 87 C8 9D 06 03 98 9D 09 03 A9 02 9D + .byte $08, $03, $20, $AD, $87, $60, $00, $00, $00, $00, $00, $00, $00, $00, $5C, $46 ; CPU:$E6F6 PRG:66F6 08 03 20 AD 87 60 00 00 00 00 00 00 00 00 5C 46 + .byte $45, $44, $FF, $01, $7A, $00, $07, $00, $0A, $8C, $00, $83, $05, $C1, $00, $11 ; CPU:$E706 PRG:6706 45 44 FF 01 7A 00 07 00 0A 8C 00 83 05 C1 00 11 + .byte $20, $44, $90, $08, $01, $00, $92, $02, $02, $00, $BB, $05, $7F, $44, $5F, $12 ; CPU:$E716 PRG:6716 20 44 90 08 01 00 92 02 02 00 BB 05 7F 44 5F 12 + .byte $2C, $81, $75, $84, $53, $B4, $14, $10, $DF, $42, $90, $B0, $14, $14, $42, $00 ; CPU:$E726 PRG:6726 2C 81 75 84 53 B4 14 10 DF 42 90 B0 14 14 42 00 + .byte $2F, $10, $0A, $24, $07, $51, $01, $10, $02, $03, $E7, $00, $41, $00, $58, $00 ; CPU:$E736 PRG:6736 2F 10 0A 24 07 51 01 10 02 03 E7 00 41 00 58 00 + .byte $BC, $24, $84, $51, $15, $2C, $C2, $11, $16, $0A, $F1, $C0, $30, $00, $00, $00 ; CPU:$E746 PRG:6746 BC 24 84 51 15 2C C2 11 16 0A F1 C0 30 00 00 00 + .byte $00, $00, $04, $10, $00, $08, $03, $10, $80, $00, $FA, $08, $D7, $50, $1C, $22 ; CPU:$E756 PRG:6756 00 00 04 10 00 08 03 10 80 00 FA 08 D7 50 1C 22 + .byte $BD, $10, $AC, $20, $5D, $04, $8F, $1C, $2D, $01, $98, $BA, $8C, $01, $49, $20 ; CPU:$E766 PRG:6766 BD 10 AC 20 5D 04 8F 1C 2D 01 98 BA 8C 01 49 20 + .byte $12, $00, $80, $80, $11, $02, $24, $00, $08, $0C, $D2, $00, $59, $44, $4D, $10 ; CPU:$E776 PRG:6776 12 00 80 80 11 02 24 00 08 0C D2 00 59 44 4D 10 + .byte $88, $20, $C0, $00, $48, $04, $AA, $00, $14, $00, $13, $00, $00, $80, $00, $A0 ; CPU:$E786 PRG:6786 88 20 C0 00 48 04 AA 00 14 00 13 00 00 80 00 A0 + .byte $14, $00, $00, $04, $02, $64, $20, $10, $01, $10, $B1, $00, $79, $80, $97, $89 ; CPU:$E796 PRG:6796 14 00 00 04 02 64 20 10 01 10 B1 00 79 80 97 89 + .byte $FB, $84, $7A, $00, $7F, $88, $FE, $00, $AA, $0A, $03, $69, $01, $40, $EA, $01 ; CPU:$E7A6 PRG:67A6 FB 84 7A 00 7F 88 FE 00 AA 0A 03 69 01 40 EA 01 + .byte $07, $02, $20, $10, $09, $08, $62, $00, $82, $05, $F6, $80, $EB, $00, $AC, $00 ; CPU:$E7B6 PRG:67B6 07 02 20 10 09 08 62 00 82 05 F6 80 EB 00 AC 00 + .byte $60, $00, $5B, $60, $9D, $60, $2C, $08, $1B, $60, $02, $04, $C0, $92, $40, $00 ; CPU:$E7C6 PRG:67C6 60 00 5B 60 9D 60 2C 08 1B 60 02 04 C0 92 40 00 + .byte $10, $0E, $80, $01, $04, $40, $08, $14, $16, $0A, $FF, $90, $FE, $00, $BC, $10 ; CPU:$E7D6 PRG:67D6 10 0E 80 01 04 40 08 14 16 0A FF 90 FE 00 BC 10 + .byte $6D, $04, $FE, $C0, $3E, $04, $27, $51, $CF, $03, $8B, $09, $C2, $00, $07, $00 ; CPU:$E7E6 PRG:67E6 6D 04 FE C0 3E 04 27 51 CF 03 8B 09 C2 00 07 00 + .byte $02, $1C, $27, $58, $19, $4A, $2A, $20, $45, $84, $00, $00, $E8, $10, $CE, $01 ; CPU:$E7F6 PRG:67F6 02 1C 27 58 19 4A 2A 20 45 84 00 00 E8 10 CE 01 + .byte $88, $14, $70, $00, $13, $41, $3C, $11, $98, $02, $90, $10, $03, $00, $00, $00 ; CPU:$E806 PRG:6806 88 14 70 00 13 41 3C 11 98 02 90 10 03 00 00 00 + .byte $08, $04, $40, $50, $04, $00, $00, $00, $0C, $00, $FF, $00, $4F, $4C, $7D, $01 ; CPU:$E816 PRG:6816 08 04 40 50 04 00 00 00 0C 00 FF 00 4F 4C 7D 01 + .byte $51, $50, $CB, $E0, $68, $20, $72, $05, $17, $03, $04, $10, $81, $20, $03, $00 ; CPU:$E826 PRG:6826 51 50 CB E0 68 20 72 05 17 03 04 10 81 20 03 00 + .byte $C7, $40, $03, $04, $00, $06, $00, $02, $04, $A4, $EA, $00, $4D, $00, $80, $40 ; CPU:$E836 PRG:6836 C7 40 03 04 00 06 00 02 04 A4 EA 00 4D 00 80 40 + .byte $EA, $00, $22, $00, $58, $40, $6C, $15, $60, $00, $02, $21, $20, $10, $00, $30 ; CPU:$E846 PRG:6846 EA 00 22 00 58 40 6C 15 60 00 02 21 20 10 00 30 + .byte $02, $10, $00, $00, $00, $00, $00, $02, $04, $10, $7F, $29, $20, $20, $13, $10 ; CPU:$E856 PRG:6856 02 10 00 00 00 00 00 02 04 10 7F 29 20 20 13 10 + .byte $3B, $01, $34, $01, $CA, $02, $FD, $21, $C4, $22, $23, $B0, $01, $20, $40, $24 ; CPU:$E866 PRG:6866 3B 01 34 01 CA 02 FD 21 C4 22 23 B0 01 20 40 24 + .byte $FE, $40, $02, $20, $04, $64, $58, $48, $84, $06, $9C, $03, $D1, $00, $90, $01 ; CPU:$E876 PRG:6876 FE 40 02 20 04 64 58 48 84 06 9C 03 D1 00 90 01 + .byte $00, $50, $A3, $00, $08, $02, $A8, $81, $06, $00, $02, $00, $00, $00, $82, $00 ; CPU:$E886 PRG:6886 00 50 A3 00 08 02 A8 81 06 00 02 00 00 00 82 00 + .byte $82, $00, $50, $00, $0B, $10, $08, $C0, $06, $00, $DF, $01, $7F, $10, $D0, $18 ; CPU:$E896 PRG:6896 82 00 50 00 0B 10 08 C0 06 00 DF 01 7F 10 D0 18 + .byte $8D, $01, $FA, $20, $3E, $04, $14, $05, $07, $27, $10, $27, $5F, $02, $C9, $00 ; CPU:$E8A6 PRG:68A6 8D 01 FA 20 3E 04 14 05 07 27 10 27 5F 02 C9 00 + .byte $CA, $02, $04, $20, $48, $00, $21, $11, $02, $80, $C8, $00, $51, $11, $A4, $80 ; CPU:$E8B6 PRG:68B6 CA 02 04 20 48 00 21 11 02 80 C8 00 51 11 A4 80 + .byte $E4, $10, $28, $20, $02, $20, $36, $01, $80, $00, $01, $09, $41, $48, $10, $00 ; CPU:$E8C6 PRG:68C6 E4 10 28 20 02 20 36 01 80 00 01 09 41 48 10 00 + .byte $05, $10, $A2, $00, $8A, $14, $40, $00, $01, $00, $FF, $00, $71, $C9, $EF, $81 ; CPU:$E8D6 PRG:68D6 05 10 A2 00 8A 14 40 00 01 00 FF 00 71 C9 EF 81 + .byte $D8, $60, $35, $20, $F2, $44, $EC, $02, $3C, $01, $84, $22, $01, $08, $5A, $11 ; CPU:$E8E6 PRG:68E6 D8 60 35 20 F2 44 EC 02 3C 01 84 22 01 08 5A 11 + .byte $44, $12, $12, $61, $10, $0C, $00, $00, $21, $06, $40, $00, $98, $00, $02, $09 ; CPU:$E8F6 PRG:68F6 44 12 12 61 10 0C 00 00 21 06 40 00 98 00 02 09 + .byte $57, $90, $62, $40, $12, $00, $C5, $19, $00, $02, $02, $00, $C8, $00, $80, $00 ; CPU:$E906 PRG:6906 57 90 62 40 12 00 C5 19 00 02 02 00 C8 00 80 00 + .byte $00, $00, $02, $10, $01, $20, $07, $40, $01, $00, $D7, $32, $B8, $84, $85, $E9 ; CPU:$E916 PRG:6916 00 00 02 10 01 20 07 40 01 00 D7 32 B8 84 85 E9 + .byte $C8, $05, $7E, $00, $BA, $84, $B5, $40, $5D, $00, $03, $81, $A8, $88, $09, $C4 ; CPU:$E926 PRG:6926 C8 05 7E 00 BA 84 B5 40 5D 00 03 81 A8 88 09 C4 + .byte $3F, $31, $85, $70, $41, $00, $08, $42, $22, $02, $69, $00, $17, $01, $CA, $20 ; CPU:$E936 PRG:6936 3F 31 85 70 41 00 08 42 22 02 69 00 17 01 CA 20 + .byte $64, $40, $3E, $01, $7C, $A4, $98, $61, $62, $12, $00, $40, $01, $42, $04, $20 ; CPU:$E946 PRG:6946 64 40 3E 01 7C A4 98 61 62 12 00 40 01 42 04 20 + .byte $03, $10, $25, $10, $02, $10, $01, $00, $08, $02, $FF, $01, $BA, $80, $8E, $0B ; CPU:$E956 PRG:6956 03 10 25 10 02 10 01 00 08 02 FF 01 BA 80 8E 0B + .byte $3C, $10, $73, $40, $DA, $C0, $F5, $80, $9E, $10, $4B, $82, $01, $03, $02, $20 ; CPU:$E966 PRG:6966 3C 10 73 40 DA C0 F5 80 9E 10 4B 82 01 03 02 20 + .byte $02, $02, $19, $88, $00, $02, $82, $80, $04, $51, $E6, $00, $11, $00, $B6, $08 ; CPU:$E976 PRG:6976 02 02 19 88 00 02 82 80 04 51 E6 00 11 00 B6 08 + .byte $06, $00, $3A, $00, $81, $00, $A8, $00, $06, $02, $00, $42, $10, $14, $02, $10 ; CPU:$E986 PRG:6986 06 00 3A 00 81 00 A8 00 06 02 00 42 10 14 02 10 + .byte $04, $00, $05, $10, $01, $00, $00, $88, $05, $00, $F6, $A0, $BE, $04, $C7, $02 ; CPU:$E996 PRG:6996 04 00 05 10 01 00 00 88 05 00 F6 A0 BE 04 C7 02 + .byte $9E, $21, $B6, $C0, $D4, $03, $DF, $40, $D6, $13, $03, $09, $02, $01, $C7, $28 ; CPU:$E9A6 PRG:69A6 9E 21 B6 C0 D4 03 DF 40 D6 13 03 09 02 01 C7 28 + .byte $C5, $80, $01, $00, $10, $BC, $92, $20, $81, $82, $98, $81, $78, $40, $F5, $00 ; CPU:$E9B6 PRG:69B6 C5 80 01 00 10 BC 92 20 81 82 98 81 78 40 F5 00 + .byte $B8, $00, $BC, $80, $68, $00, $28, $00, $4E, $10, $45, $08, $C1, $00, $10, $10 ; CPU:$E9C6 PRG:69C6 B8 00 BC 80 68 00 28 00 4E 10 45 08 C1 00 10 10 + .byte $07, $30, $00, $00, $21, $10, $09, $90, $02, $00, $F5, $00, $96, $05, $B7, $11 ; CPU:$E9D6 PRG:69D6 07 30 00 00 21 10 09 90 02 00 F5 00 96 05 B7 11 + .byte $BC, $08, $9E, $C0, $FD, $40, $DD, $28, $1D, $09, $1A, $24, $01, $40, $03, $13 ; CPU:$E9E6 PRG:69E6 BC 08 9E C0 FD 40 DD 28 1D 09 1A 24 01 40 03 13 + .byte $83, $60, $0F, $10, $86, $00, $80, $E8, $33, $04, $00, $00, $E5, $88, $90, $02 ; CPU:$E9F6 PRG:69F6 83 60 0F 10 86 00 80 E8 33 04 00 00 E5 88 90 02 + .byte $68, $00, $B4, $00, $92, $24, $88, $20, $DA, $00, $00, $20, $08, $02, $40, $00 ; CPU:$EA06 PRG:6A06 68 00 B4 00 92 24 88 20 DA 00 00 20 08 02 40 00 + .byte $20, $88, $00, $00, $1A, $20, $02, $28, $12, $00, $DF, $A0, $EE, $08, $D5, $00 ; CPU:$EA16 PRG:6A16 20 88 00 00 1A 20 02 28 12 00 DF A0 EE 08 D5 00 + .byte $BD, $40, $7F, $04, $55, $00, $F6, $00, $DE, $11, $89, $EA, $00, $27, $A2, $81 ; CPU:$EA26 PRG:6A26 BD 40 7F 04 55 00 F6 00 DE 11 89 EA 00 27 A2 81 + .byte $81, $00, $0A, $00, $02, $00, $30, $28, $03, $01, $0F, $00, $F6, $8C, $A0, $01 ; CPU:$EA36 PRG:6A36 81 00 0A 00 02 00 30 28 03 01 0F 00 F6 8C A0 01 + .byte $B1, $00, $3E, $00, $AB, $22, $49, $40, $2A, $00, $52, $11, $00, $14, $00, $00 ; CPU:$EA46 PRG:6A46 B1 00 3E 00 AB 22 49 40 2A 00 52 11 00 14 00 00 + .byte $41, $80, $02, $00, $00, $22, $08, $02, $08, $68, $AF, $01, $CD, $85, $85, $89 ; CPU:$EA56 PRG:6A56 41 80 02 00 00 22 08 02 08 68 AF 01 CD 85 85 89 + .byte $7E, $10, $1F, $20, $CF, $84, $DD, $83, $72, $23, $01, $2D, $41, $80, $02, $00 ; CPU:$EA66 PRG:6A66 7E 10 1F 20 CF 84 DD 83 72 23 01 2D 41 80 02 00 + .byte $22, $A0, $81, $60, $10, $D0, $02, $00, $00, $01, $01, $00, $00, $22, $C0, $01 ; CPU:$EA76 PRG:6A76 22 A0 81 60 10 D0 02 00 00 01 01 00 00 22 C0 01 + .byte $28, $01, $17, $00, $DC, $04, $5A, $0C, $44, $02, $02, $0C, $01, $00, $03, $00 ; CPU:$EA86 PRG:6A86 28 01 17 00 DC 04 5A 0C 44 02 02 0C 01 00 03 00 + .byte $00, $40, $0A, $04, $0A, $00, $02, $00, $80, $00, $D8, $02, $AD, $12, $9F, $03 ; CPU:$EA96 PRG:6A96 00 40 0A 04 0A 00 02 00 80 00 D8 02 AD 12 9F 03 + .byte $AE, $10, $4C, $85, $7A, $0A, $3D, $41, $5E, $20, $40, $DC, $42, $54, $20, $30 ; CPU:$EAA6 PRG:6AA6 AE 10 4C 85 7A 0A 3D 41 5E 20 40 DC 42 54 20 30 + .byte $60, $4A, $00, $40, $16, $00, $E0, $41, $25, $40, $42, $00, $9A, $04, $98, $05 ; CPU:$EAB6 PRG:6AB6 60 4A 00 40 16 00 E0 41 25 40 42 00 9A 04 98 05 + .byte $EC, $10, $06, $20, $D9, $00, $C6, $02, $70, $0A, $08, $42, $11, $00, $00, $10 ; CPU:$EAC6 PRG:6AC6 EC 10 06 20 D9 00 C6 02 70 0A 08 42 11 00 00 10 + .byte $02, $20, $08, $01, $00, $40, $03, $00, $02, $10, $F8, $89, $E9, $C0, $F5, $19 ; CPU:$EAD6 PRG:6AD6 02 20 08 01 00 40 03 00 02 10 F8 89 E9 C0 F5 19 + .byte $9E, $20, $3C, $00, $5B, $01, $54, $06, $2D, $40, $84, $22, $C1, $88, $22, $10 ; CPU:$EAE6 PRG:6AE6 9E 20 3C 00 5B 01 54 06 2D 40 84 22 C1 88 22 10 + .byte $00, $A4, $8D, $60, $14, $04, $12, $10, $21, $80, $B3, $80, $DC, $04, $B0, $A2 ; CPU:$EAF6 PRG:6AF6 00 A4 8D 60 14 04 12 10 21 80 B3 80 DC 04 B0 A2 + .byte $24, $00, $70, $02, $2F, $08, $0D, $40, $53, $00, $02, $00, $03, $00, $02, $00 ; CPU:$EB06 PRG:6B06 24 00 70 02 2F 08 0D 40 53 00 02 00 03 00 02 00 + .byte $05, $80, $01, $00, $41, $00, $2C, $00, $20, $00, $FF, $00, $F5, $60, $95, $8F ; CPU:$EB16 PRG:6B16 05 80 01 00 41 00 2C 00 20 00 FF 00 F5 60 95 8F + .byte $3F, $00, $FF, $01, $FA, $00, $EF, $15, $37, $00, $03, $A8, $00, $31, $13, $10 ; CPU:$EB26 PRG:6B26 3F 00 FF 01 FA 00 EF 15 37 00 03 A8 00 31 13 10 + .byte $23, $80, $10, $00, $00, $54, $24, $62, $06, $00, $36, $10, $A1, $00, $DC, $08 ; CPU:$EB36 PRG:6B36 23 80 10 00 00 54 24 62 06 00 36 10 A1 00 DC 08 + .byte $92, $20, $80, $04, $19, $08, $ED, $48, $3E, $10, $80, $01, $08, $80, $40, $04 ; CPU:$EB46 PRG:6B46 92 20 80 04 19 08 ED 48 3E 10 80 01 08 80 40 04 + .byte $21, $44, $00, $20, $07, $00, $02, $10, $10, $20, $A7, $88, $F5, $00, $9B, $00 ; CPU:$EB56 PRG:6B56 21 44 00 20 07 00 02 10 10 20 A7 88 F5 00 9B 00 + .byte $DE, $00, $DA, $01, $85, $00, $B5, $16, $1F, $00, $80, $80, $00, $00, $40, $28 ; CPU:$EB66 PRG:6B66 DE 00 DA 01 85 00 B5 16 1F 00 80 80 00 00 40 28 + .byte $18, $00, $E4, $00, $29, $05, $00, $28, $B0, $00, $5A, $08, $75, $10, $50, $01 ; CPU:$EB76 PRG:6B76 18 00 E4 00 29 05 00 28 B0 00 5A 08 75 10 50 01 + .byte $8A, $80, $5B, $00, $A7, $20, $7D, $48, $45, $00, $88, $08, $00, $00, $01, $50 ; CPU:$EB86 PRG:6B86 8A 80 5B 00 A7 20 7D 48 45 00 88 08 00 00 01 50 + .byte $18, $A0, $80, $60, $01, $04, $28, $00, $20, $20, $FD, $80, $7F, $04, $96, $00 ; CPU:$EB96 PRG:6B96 18 A0 80 60 01 04 28 00 20 20 FD 80 7F 04 96 00 + .byte $5A, $31, $77, $03, $C7, $48, $7D, $61, $F6, $01, $09, $21, $80, $9E, $12, $02 ; CPU:$EBA6 PRG:6BA6 5A 31 77 03 C7 48 7D 61 F6 01 09 21 80 9E 12 02 + .byte $81, $04, $10, $08, $00, $18, $03, $74, $80, $24, $BD, $08, $29, $50, $E8, $00 ; CPU:$EBB6 PRG:6BB6 81 04 10 08 00 18 03 74 80 24 BD 08 29 50 E8 00 + .byte $C8, $40, $B0, $00, $8B, $01, $7D, $00, $E9, $00, $08, $07, $00, $80, $09, $03 ; CPU:$EBC6 PRG:6BC6 C8 40 B0 00 8B 01 7D 00 E9 00 08 07 00 80 09 03 + .byte $30, $04, $04, $00, $01, $04, $00, $01, $00, $00, $5B, $0B, $7B, $08, $56, $10 ; CPU:$EBD6 PRG:6BD6 30 04 04 00 01 04 00 01 00 00 5B 0B 7B 08 56 10 + .byte $1F, $C1, $A7, $21, $73, $00, $FF, $10, $F3, $02, $05, $AB, $00, $44, $04, $10 ; CPU:$EBE6 PRG:6BE6 1F C1 A7 21 73 00 FF 10 F3 02 05 AB 00 44 04 10 + .byte $C1, $20, $C1, $18, $09, $10, $03, $85, $16, $08, $DE, $28, $D5, $04, $06, $00 ; CPU:$EBF6 PRG:6BF6 C1 20 C1 18 09 10 03 85 16 08 DE 28 D5 04 06 00 + .byte $06, $00, $9A, $00, $F3, $00, $5D, $04, $0A, $00, $97, $20, $06, $00, $92, $10 ; CPU:$EC06 PRG:6C06 06 00 9A 00 F3 00 5D 04 0A 00 97 20 06 00 92 10 + .byte $C0, $80, $C8, $34, $07, $10, $40, $00, $00, $00, $DF, $28, $FD, $1C, $9F, $28 ; CPU:$EC16 PRG:6C16 C0 80 C8 34 07 10 40 00 00 00 DF 28 FD 1C 9F 28 + .byte $DF, $90, $3E, $40, $97, $63, $1F, $42, $EE, $12, $09, $8E, $09, $82, $10, $C0 ; CPU:$EC26 PRG:6C26 DF 90 3E 40 97 63 1F 42 EE 12 09 8E 09 82 10 C0 + .byte $C8, $40, $01, $00, $01, $48, $10, $94, $29, $88, $82, $80, $05, $10, $58, $00 ; CPU:$EC36 PRG:6C36 C8 40 01 00 01 48 10 94 29 88 82 80 05 10 58 00 + .byte $0E, $00, $1E, $00, $44, $00, $76, $02, $16, $08, $22, $89, $01, $00, $00, $00 ; CPU:$EC46 PRG:6C46 0E 00 1E 00 44 00 76 02 16 08 22 89 01 00 00 00 + .byte $14, $00, $80, $00, $02, $40, $41, $10, $31, $01, $F6, $20, $7D, $00, $F6, $00 ; CPU:$EC56 PRG:6C56 14 00 80 00 02 40 41 10 31 01 F6 20 7D 00 F6 00 + .byte $BE, $80, $EA, $6C, $1E, $46, $7F, $0C, $8F, $40, $02, $1B, $01, $4C, $03, $00 ; CPU:$EC66 PRG:6C66 BE 80 EA 6C 1E 46 7F 0C 8F 40 02 1B 01 4C 03 00 + .byte $93, $B0, $E4, $20, $11, $A2, $10, $8B, $5B, $00, $CB, $81, $BE, $10, $0E, $00 ; CPU:$EC76 PRG:6C76 93 B0 E4 20 11 A2 10 8B 5B 00 CB 81 BE 10 0E 00 + .byte $8A, $32, $67, $00, $C4, $16, $9C, $04, $30, $00, $10, $00, $80, $00, $84, $04 ; CPU:$EC86 PRG:6C86 8A 32 67 00 C4 16 9C 04 30 00 10 00 80 00 84 04 + .byte $80, $01, $30, $00, $08, $00, $00, $05, $0A, $00, $F7, $81, $AD, $08, $B6, $02 ; CPU:$EC96 PRG:6C96 80 01 30 00 08 00 00 05 0A 00 F7 81 AD 08 B6 02 + .byte $8F, $00, $7C, $0B, $DE, $28, $B2, $C9, $2F, $00, $11, $67, $8B, $83, $42, $94 ; CPU:$ECA6 PRG:6CA6 8F 00 7C 0B DE 28 B2 C9 2F 00 11 67 8B 83 42 94 + .byte $04, $01, $10, $60, $AA, $20, $01, $92, $26, $04, $03, $00, $C1, $40, $24, $00 ; CPU:$ECB6 PRG:6CB6 04 01 10 60 AA 20 01 92 26 04 03 00 C1 40 24 00 + .byte $0C, $00, $90, $84, $3E, $00, $DC, $C0, $C0, $00, $13, $20, $00, $08, $80, $80 ; CPU:$ECC6 PRG:6CC6 0C 00 90 84 3E 00 DC C0 C0 00 13 20 00 08 80 80 + .byte $2E, $00, $22, $80, $16, $00, $02, $08, $00, $80, $FF, $08, $9D, $80, $D3, $20 ; CPU:$ECD6 PRG:6CD6 2E 00 22 80 16 00 02 08 00 80 FF 08 9D 80 D3 20 + .byte $7F, $20, $36, $06, $5B, $20, $DF, $12, $51, $90, $82, $82, $7C, $1A, $82, $01 ; CPU:$ECE6 PRG:6CE6 7F 20 36 06 5B 20 DF 12 51 90 82 82 7C 1A 82 01 + .byte $87, $66, $0E, $00, $14, $4C, $08, $04, $06, $82, $87, $08, $75, $40, $B8, $00 ; CPU:$ECF6 PRG:6CF6 87 66 0E 00 14 4C 08 04 06 82 87 08 75 40 B8 00 + .byte $0D, $60, $3A, $00, $08, $20, $59, $00, $04, $00, $E0, $00, $02, $00, $80, $14 ; CPU:$ED06 PRG:6D06 0D 60 3A 00 08 20 59 00 04 00 E0 00 02 00 80 14 + .byte $01, $00, $10, $80, $01, $08, $41, $10, $30, $01, $EB, $20, $BB, $55, $8F, $10 ; CPU:$ED16 PRG:6D16 01 00 10 80 01 08 41 10 30 01 EB 20 BB 55 8F 10 + .byte $A6, $84, $2E, $02, $56, $02, $FD, $F0, $1B, $02, $12, $D0, $C0, $90, $09, $10 ; CPU:$ED26 PRG:6D26 A6 84 2E 02 56 02 FD F0 1B 02 12 D0 C0 90 09 10 + .byte $09, $71, $84, $08, $4A, $1D, $07, $90, $02, $20, $F3, $00, $15, $00, $B0, $A1 ; CPU:$ED36 PRG:6D36 09 71 84 08 4A 1D 07 90 02 20 F3 00 15 00 B0 A1 + .byte $AB, $00, $5F, $00, $E0, $80, $6E, $19, $C1, $00, $2C, $80, $ED, $08, $01, $04 ; CPU:$ED46 PRG:6D46 AB 00 5F 00 E0 80 6E 19 C1 00 2C 80 ED 08 01 04 + .byte $00, $2A, $19, $00, $03, $20, $00, $00, $06, $48, $E7, $00, $5B, $10, $29, $30 ; CPU:$ED56 PRG:6D56 00 2A 19 00 03 20 00 00 06 48 E7 00 5B 10 29 30 + .byte $6E, $39, $FF, $E0, $FB, $20, $EF, $44, $D5, $00, $0D, $78, $C6, $C1, $10, $81 ; CPU:$ED66 PRG:6D66 6E 39 FF E0 FB 20 EF 44 D5 00 0D 78 C6 C1 10 81 + .byte $9C, $40, $40, $04, $09, $1C, $20, $D0, $03, $01, $F0, $80, $05, $50, $10, $08 ; CPU:$ED76 PRG:6D76 9C 40 40 04 09 1C 20 D0 03 01 F0 80 05 50 10 08 + .byte $12, $08, $86, $00, $56, $20, $6A, $21, $69, $00, $90, $4A, $10, $00, $08, $04 ; CPU:$ED86 PRG:6D86 12 08 86 00 56 20 6A 21 69 00 90 4A 10 00 08 04 + .byte $00, $02, $04, $00, $02, $40, $60, $08, $00, $80, $AF, $28, $FF, $10, $FF, $30 ; CPU:$ED96 PRG:6D96 00 02 04 00 02 40 60 08 00 80 AF 28 FF 10 FF 30 + .byte $5D, $80, $FE, $60, $CF, $40, $85, $22, $9F, $13, $26, $75, $75, $88, $42, $32 ; CPU:$EDA6 PRG:6DA6 5D 80 FE 60 CF 40 85 22 9F 13 26 75 75 88 42 32 + .byte $05, $60, $95, $40, $29, $30, $82, $E1, $32, $00, $BB, $80, $79, $04, $ED, $41 ; CPU:$EDB6 PRG:6DB6 05 60 95 40 29 30 82 E1 32 00 BB 80 79 04 ED 41 + .byte $03, $20, $35, $00, $D3, $00, $14, $04, $85, $00, $80, $19, $47, $00, $42, $00 ; CPU:$EDC6 PRG:6DC6 03 20 35 00 D3 00 14 04 85 00 80 19 47 00 42 00 + .byte $01, $00, $20, $88, $11, $40, $00, $00, $06, $C2, $0F, $A8, $FF, $80, $DF, $A0 ; CPU:$EDD6 PRG:6DD6 01 00 20 88 11 40 00 00 06 C2 0F A8 FF 80 DF A0 + .byte $EE, $82, $36, $05, $1C, $A8, $7C, $80, $85, $00, $82, $30, $41, $70, $41, $A2 ; CPU:$EDE6 PRG:6DE6 EE 82 36 05 1C A8 7C 80 85 00 82 30 41 70 41 A2 + .byte $0E, $00, $11, $81, $03, $50, $A0, $3C, $16, $01, $17, $00, $52, $44, $A8, $80 ; CPU:$EDF6 PRG:6DF6 0E 00 11 81 03 50 A0 3C 16 01 17 00 52 44 A8 80 + .byte $18, $20, $03, $00, $1C, $A0, $3D, $68, $0C, $10, $01, $08, $01, $00, $86, $80 ; CPU:$EE06 PRG:6E06 18 20 03 00 1C A0 3D 68 0C 10 01 08 01 00 86 80 + .byte $42, $00, $04, $00, $0B, $00, $00, $80, $00, $00, $8F, $00, $DF, $D5, $87, $01 ; CPU:$EE16 PRG:6E16 42 00 04 00 0B 00 00 80 00 00 8F 00 DF D5 87 01 + .byte $6C, $F0, $F5, $00, $EB, $80, $7D, $22, $A4, $10, $41, $C8, $B1, $C0, $0F, $68 ; CPU:$EE26 PRG:6E26 6C F0 F5 00 EB 80 7D 22 A4 10 41 C8 B1 C0 0F 68 + .byte $0F, $4B, $72, $40, $05, $40, $43, $89, $2D, $8C, $A4, $92, $94, $06, $00, $00 ; CPU:$EE36 PRG:6E36 0F 4B 72 40 05 40 43 89 2D 8C A4 92 94 06 00 00 + .byte $1F, $00, $44, $10, $C7, $20, $05, $08, $45, $00, $35, $00, $42, $00, $A8, $00 ; CPU:$EE46 PRG:6E46 1F 00 44 10 C7 20 05 08 45 00 35 00 42 00 A8 00 + .byte $84, $14, $01, $01, $88, $00, $10, $08, $01, $02, $4F, $81, $59, $44, $99, $D9 ; CPU:$EE56 PRG:6E56 84 14 01 01 88 00 10 08 01 02 4F 81 59 44 99 D9 + .byte $FE, $44, $BF, $44, $16, $40, $9D, $41, $9F, $10, $11, $8A, $14, $40, $03, $40 ; CPU:$EE66 PRG:6E66 FE 44 BF 44 16 40 9D 41 9F 10 11 8A 14 40 03 40 + .byte $E2, $50, $05, $08, $27, $40, $01, $40, $0D, $41, $C6, $00, $D2, $04, $D2, $88 ; CPU:$EE76 PRG:6E76 E2 50 05 08 27 40 01 40 0D 41 C6 00 D2 04 D2 88 + .byte $04, $00, $2C, $40, $8E, $00, $08, $03, $C4, $01, $09, $28, $40, $C2, $00, $20 ; CPU:$EE86 PRG:6E86 04 00 2C 40 8E 00 08 03 C4 01 09 28 40 C2 00 20 + .byte $86, $80, $84, $80, $0A, $12, $00, $C4, $00, $08, $DD, $40, $9F, $00, $7F, $83 ; CPU:$EE96 PRG:6E96 86 80 84 80 0A 12 00 C4 00 08 DD 40 9F 00 7F 83 + .byte $CC, $00, $F7, $A0, $F5, $41, $D7, $40, $1F, $11, $2B, $04, $81, $48, $28, $10 ; CPU:$EEA6 PRG:6EA6 CC 00 F7 A0 F5 41 D7 40 1F 11 2B 04 81 48 28 10 + .byte $17, $E5, $1B, $10, $0A, $10, $42, $08, $42, $02, $B8, $40, $19, $04, $00, $00 ; CPU:$EEB6 PRG:6EB6 17 E5 1B 10 0A 10 42 08 42 02 B8 40 19 04 00 00 + .byte $3C, $00, $62, $E1, $24, $00, $B6, $40, $0A, $21, $10, $00, $29, $08, $22, $00 ; CPU:$EEC6 PRG:6EC6 3C 00 62 E1 24 00 B6 40 0A 21 10 00 29 08 22 00 + .byte $05, $02, $00, $00, $00, $10, $01, $01, $02, $01, $FB, $48, $BA, $80, $C5, $01 ; CPU:$EED6 PRG:6ED6 05 02 00 00 00 10 01 01 02 01 FB 48 BA 80 C5 01 + .byte $B3, $C1, $7F, $04, $7D, $06, $C8, $90, $62, $02, $03, $22, $E7, $82, $11, $10 ; CPU:$EEE6 PRG:6EE6 B3 C1 7F 04 7D 06 C8 90 62 02 03 22 E7 82 11 10 + .byte $27, $0F, $76, $C5, $09, $00, $82, $2C, $03, $09, $E0, $00, $27, $80, $80, $20 ; CPU:$EEF6 PRG:6EF6 27 0F 76 C5 09 00 82 2C 03 09 E0 00 27 80 80 20 + .byte $E8, $81, $05, $82, $54, $10, $94, $00, $02, $40, $1A, $68, $01, $04, $40, $0C ; CPU:$EF06 PRG:6F06 E8 81 05 82 54 10 94 00 02 40 1A 68 01 04 40 0C + .byte $41, $02, $00, $00, $00, $00, $80, $00, $00, $01, $7F, $83, $FF, $20, $3D, $87 ; CPU:$EF16 PRG:6F16 41 02 00 00 00 00 80 00 00 01 7F 83 FF 20 3D 87 + .byte $DF, $50, $78, $00, $56, $E0, $EC, $40, $A4, $40, $31, $28, $11, $28, $50, $18 ; CPU:$EF26 PRG:6F26 DF 50 78 00 56 E0 EC 40 A4 40 31 28 11 28 50 18 + .byte $C6, $08, $A2, $B0, $08, $30, $00, $2E, $3F, $10, $6E, $11, $7D, $00, $5C, $08 ; CPU:$EF36 PRG:6F36 C6 08 A2 B0 08 30 00 2E 3F 10 6E 11 7D 00 5C 08 + .byte $6C, $08, $36, $00, $09, $82, $98, $01, $06, $00, $10, $08, $02, $00, $08, $00 ; CPU:$EF46 PRG:6F46 6C 08 36 00 09 82 98 01 06 00 10 08 02 00 08 00 + .byte $08, $03, $00, $08, $00, $06, $42, $22, $42, $00, $F7, $B1, $FD, $84, $3E, $82 ; CPU:$EF56 PRG:6F56 08 03 00 08 00 06 42 22 42 00 F7 B1 FD 84 3E 82 + .byte $DD, $00, $C6, $78, $95, $80, $97, $90, $4F, $2A, $03, $52, $46, $54, $02, $10 ; CPU:$EF66 PRG:6F66 DD 00 C6 78 95 80 97 90 4F 2A 03 52 46 54 02 10 + .byte $B2, $E4, $8C, $25, $AD, $60, $81, $A2, $A6, $2C, $5E, $24, $32, $00, $8C, $00 ; CPU:$EF76 PRG:6F76 B2 E4 8C 25 AD 60 81 A2 A6 2C 5E 24 32 00 8C 00 + .byte $F8, $80, $F0, $00, $09, $00, $3C, $00, $17, $00, $84, $84, $21, $00, $00, $00 ; CPU:$EF86 PRG:6F86 F8 80 F0 00 09 00 3C 00 17 00 84 84 21 00 00 00 + .byte $32, $00, $00, $00, $81, $08, $02, $00, $02, $00, $BF, $24, $77, $40, $16, $00 ; CPU:$EF96 PRG:6F96 32 00 00 00 81 08 02 00 02 00 BF 24 77 40 16 00 + .byte $E8, $00, $1E, $00, $FF, $00, $DF, $04, $7C, $08, $13, $13, $C6, $2C, $09, $E8 ; CPU:$EFA6 PRG:6FA6 E8 00 1E 00 FF 00 DF 04 7C 08 13 13 C6 2C 09 E8 + .byte $E2, $89, $06, $88, $0A, $10, $00, $A1, $07, $A2, $2F, $08, $77, $09, $16, $08 ; CPU:$EFB6 PRG:6FB6 E2 89 06 88 0A 10 00 A1 07 A2 2F 08 77 09 16 08 + .byte $92, $01, $14, $08, $80, $00, $4C, $00, $0C, $02, $20, $68, $83, $84, $88, $00 ; CPU:$EFC6 PRG:6FC6 92 01 14 08 80 00 4C 00 0C 02 20 68 83 84 88 00 + .byte $00, $02, $8F, $00, $95, $00, $00, $40, $45, $00, $5F, $10, $FD, $80, $87, $C8 ; CPU:$EFD6 PRG:6FD6 00 02 8F 00 95 00 00 40 45 00 5F 10 FD 80 87 C8 + .byte $8B, $10, $3F, $40, $DF, $04, $FC, $00, $52, $00, $89, $C8, $01, $66, $C2, $30 ; CPU:$EFE6 PRG:6FE6 8B 10 3F 40 DF 04 FC 00 52 00 89 C8 01 66 C2 30 + .byte $3A, $85, $11, $50, $11, $40, $15, $4C, $07, $02, $00, $00, $00, $00, $00, $00 ; CPU:$EFF6 PRG:6FF6 3A 85 11 50 11 40 15 4C 07 02 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01 ; CPU:$F006 PRG:7006 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 + .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F016 PRG:7016 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + .byte $01, $01, $01, $01, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$F026 PRG:7026 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 + .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F036 PRG:7036 02 02 02 02 02 02 02 02 02 03 03 03 03 03 03 03 + .byte $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $03, $04, $04 ; CPU:$F046 PRG:7046 03 03 03 03 03 03 03 03 03 03 03 03 03 03 04 04 + .byte $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04, $04 ; CPU:$F056 PRG:7056 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 + .byte $04, $04, $04, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05 ; CPU:$F066 PRG:7066 04 04 04 05 05 05 05 05 05 05 05 05 05 05 05 05 + .byte $05, $05, $05, $05, $05, $05, $05, $05, $06, $06, $06, $06, $06, $06, $06, $06 ; CPU:$F076 PRG:7076 05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 + .byte $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $06, $07, $07, $07 ; CPU:$F086 PRG:7086 06 06 06 06 06 06 06 06 06 06 06 06 06 07 07 07 + .byte $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$F096 PRG:7096 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 + .byte $07, $07, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; CPU:$F0A6 PRG:70A6 07 07 08 08 08 08 08 08 08 08 08 08 08 08 08 08 + .byte $08, $08, $08, $08, $08, $08, $08, $09, $09, $09, $09, $09, $09, $09, $09, $09 ; CPU:$F0B6 PRG:70B6 08 08 08 08 08 08 08 09 09 09 09 09 09 09 09 09 + .byte $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $09, $0A, $0A, $0A, $0A ; CPU:$F0C6 PRG:70C6 09 09 09 09 09 09 09 09 09 09 09 09 0A 0A 0A 0A + .byte $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A, $0A ; CPU:$F0D6 PRG:70D6 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A + .byte $0A, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B, $0B ; CPU:$F0E6 PRG:70E6 0A 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B + .byte $0B, $0B, $0B, $0B, $0B, $0B, $49, $57, $41, $53, $41, $4B, $49, $20, $45, $4C ; CPU:$F0F6 PRG:70F6 0B 0B 0B 0B 0B 0B 49 57 41 53 41 4B 49 20 45 4C + .byte $45, $43, $54, $52, $4F, $4E, $49, $43, $53, $20, $43, $6F, $2E, $4C, $74, $64 ; CPU:$F106 PRG:7106 45 43 54 52 4F 4E 49 43 53 20 43 6F 2E 4C 74 64 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F116 PRG:7116 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F126 PRG:7126 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $49, $77, $61, $73, $61, $6B, $69, $2D, $4C, $61 ; CPU:$F136 PRG:7136 20 20 20 20 20 20 49 77 61 73 61 6B 69 2D 4C 61 + .byte $62, $62, $6F, $72, $61, $74, $6F, $72, $79, $20, $53, $2D, $48, $6F, $6B, $75 ; CPU:$F146 PRG:7146 62 62 6F 72 61 74 6F 72 79 20 53 2D 48 6F 6B 75 + .byte $65, $6E, $20, $32, $30, $31, $50, $72, $6F, $64, $75, $63, $65, $64, $20, $20 ; CPU:$F156 PRG:7156 65 6E 20 32 30 31 50 72 6F 64 75 63 65 64 20 20 + .byte $62, $79, $20, $20, $20, $20, $44, $4F, $4E, $2E, $49, $4B, $55, $4E, $4F, $20 ; CPU:$F166 PRG:7166 62 79 20 20 20 20 44 4F 4E 2E 49 4B 55 4E 4F 20 + .byte $20, $20, $20, $20, $20, $20, $43, $72, $65, $61, $74, $65, $64, $20, $20, $20 ; CPU:$F176 PRG:7176 20 20 20 20 20 20 43 72 65 61 74 65 64 20 20 20 + .byte $62, $79, $20, $20, $20, $20, $43, $50, $55, $2E, $59, $55, $4B, $41, $4D, $49 ; CPU:$F186 PRG:7186 62 79 20 20 20 20 43 50 55 2E 59 55 4B 41 4D 49 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F196 PRG:7196 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $4C, $55, $4D, $2E, $4F, $4F, $59, $41, $4D, $41 ; CPU:$F1A6 PRG:71A6 20 20 20 20 20 20 4C 55 4D 2E 4F 4F 59 41 4D 41 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1B6 PRG:71B6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $52, $4F, $4D, $2E, $44, $4F, $48, $4D, $41, $45 ; CPU:$F1C6 PRG:71C6 20 20 20 20 20 20 52 4F 4D 2E 44 4F 48 4D 41 45 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1D6 PRG:71D6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F1E6 PRG:71E6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $41, $72, $74, $20, $44, $65, $73, $69, $67, $6E ; CPU:$F1F6 PRG:71F6 20 20 20 20 20 20 41 72 74 20 44 65 73 69 67 6E + .byte $65, $72, $20, $20, $20, $20, $4E, $4F, $4E, $2E, $59, $41, $4D, $41, $4D, $55 ; CPU:$F206 PRG:7206 65 72 20 20 20 20 4E 4F 4E 2E 59 41 4D 41 4D 55 + .byte $52, $41, $20, $20, $20, $20, $4D, $75, $73, $69, $63, $20, $20, $20, $20, $20 ; CPU:$F216 PRG:7216 52 41 20 20 20 20 4D 75 73 69 63 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $4E, $49, $43, $4B, $2E, $4B, $4F, $4E, $44, $4F ; CPU:$F226 PRG:7226 20 20 20 20 20 20 4E 49 43 4B 2E 4B 4F 4E 44 4F + .byte $20, $20, $20, $20, $20, $20, $43, $6F, $2D, $44, $69, $72, $65, $63, $74, $6F ; CPU:$F236 PRG:7236 20 20 20 20 20 20 43 6F 2D 44 69 72 65 63 74 6F + .byte $72, $20, $20, $20, $20, $20, $54, $55, $52, $42, $4F, $2E, $4F, $48, $54, $41 ; CPU:$F246 PRG:7246 72 20 20 20 20 20 54 55 52 42 4F 2E 4F 48 54 41 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F256 PRG:7256 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $52, $4F, $4D, $2E, $4B, $49, $54, $41, $4E, $49 ; CPU:$F266 PRG:7266 20 20 20 20 20 20 52 4F 4D 2E 4B 49 54 41 4E 49 + .byte $53, $48, $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F276 PRG:7276 53 48 49 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F286 PRG:7286 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $53, $70, $65, $63, $69, $61, $6C, $20, $74, $68 ; CPU:$F296 PRG:7296 20 20 20 20 20 20 53 70 65 63 69 61 6C 20 74 68 + .byte $61, $6E, $6B, $73, $20, $20, $54, $4F, $53, $48, $49, $2E, $4E, $41, $4B, $41 ; CPU:$F2A6 PRG:72A6 61 6E 6B 73 20 20 54 4F 53 48 49 2E 4E 41 4B 41 + .byte $4D, $55, $52, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2B6 PRG:72B6 4D 55 52 41 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $4B, $45, $4E, $2E, $4E, $41, $4B, $41, $4A, $49 ; CPU:$F2C6 PRG:72C6 20 20 20 20 20 20 4B 45 4E 2E 4E 41 4B 41 4A 49 + .byte $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2D6 PRG:72D6 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $59, $45, $53, $2E, $53, $45, $4E, $47, $4F, $4B ; CPU:$F2E6 PRG:72E6 20 20 20 20 20 20 59 45 53 2E 53 45 4E 47 4F 4B + .byte $55, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F2F6 PRG:72F6 55 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $4B, $59, $4F, $2E, $49, $49, $4A, $49, $4D, $41 ; CPU:$F306 PRG:7306 20 20 20 20 20 20 4B 59 4F 2E 49 49 4A 49 4D 41 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F316 PRG:7316 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $48, $49, $44, $45, $2E, $53, $55, $5A, $55, $4B ; CPU:$F326 PRG:7326 20 20 20 20 20 20 48 49 44 45 2E 53 55 5A 55 4B + .byte $49, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F336 PRG:7336 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $53, $55, $4E, $2E, $53, $4F, $42, $41, $4A, $49 ; CPU:$F346 PRG:7346 20 20 20 20 20 20 53 55 4E 2E 53 4F 42 41 4A 49 + .byte $4D, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$F356 PRG:7356 4D 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $54, $52, $4F, $4E, $2E, $4E, $41, $52, $49, $48 ; CPU:$F366 PRG:7366 20 20 20 20 20 20 54 52 4F 4E 2E 4E 41 52 49 48 + .byte $49, $52, $4F, $20, $20, $20, $22, $20, $01, $04, $8A, $00, $00, $00, $00, $00 ; CPU:$F376 PRG:7376 49 52 4F 20 20 20 22 20 01 04 8A 00 00 00 00 00 + .byte $80, $A0, $24, $00, $FA, $20, $AE, $00, $B0, $0C, $01, $51, $20, $40, $00, $00 ; CPU:$F386 PRG:7386 80 A0 24 00 FA 20 AE 00 B0 0C 01 51 20 40 00 00 + .byte $C0, $01, $10, $00, $02, $00, $00, $01, $14, $40, $2F, $88, $FC, $14, $21, $11 ; CPU:$F396 PRG:7396 C0 01 10 00 02 00 00 01 14 40 2F 88 FC 14 21 11 + .byte $B3, $05, $37, $20, $44, $0A, $18, $25, $F6, $20, $83, $94, $54, $10, $10, $00 ; CPU:$F3A6 PRG:73A6 B3 05 37 20 44 0A 18 25 F6 20 83 94 54 10 10 00 + .byte $00, $05, $26, $00, $40, $02, $42, $59, $01, $00, $27, $00, $41, $80, $B0, $28 ; CPU:$F3B6 PRG:73B6 00 05 26 00 40 02 42 59 01 00 27 00 41 80 B0 28 + .byte $00, $10, $28, $00, $D0, $00, $45, $02, $88, $00, $01, $21, $01, $00, $80, $02 ; CPU:$F3C6 PRG:73C6 00 10 28 00 D0 00 45 02 88 00 01 21 01 00 80 02 + .byte $20, $90, $00, $40, $01, $14, $02, $10, $0A, $10, $A4, $A2, $F8, $00, $06, $0A ; CPU:$F3D6 PRG:73D6 20 90 00 40 01 14 02 10 0A 10 A4 A2 F8 00 06 0A + .byte $9C, $00, $D2, $22, $1C, $01, $BF, $41, $16, $52, $20, $09, $88, $20, $50, $86 ; CPU:$F3E6 PRG:73E6 9C 00 D2 22 1C 01 BF 41 16 52 20 09 88 20 50 86 + .byte $12, $10, $10, $80, $81, $00, $20, $10, $01, $20, $9A, $00, $73, $00, $A3, $01 ; CPU:$F3F6 PRG:73F6 12 10 10 80 81 00 20 10 01 20 9A 00 73 00 A3 01 + .byte $80, $08, $D2, $00, $FC, $0A, $D8, $00, $8C, $00, $C2, $45, $02, $80, $04, $20 ; CPU:$F406 PRG:7406 80 08 D2 00 FC 0A D8 00 8C 00 C2 45 02 80 04 20 + .byte $32, $10, $04, $40, $0A, $02, $80, $04, $00, $00, $8F, $08, $C9, $8B, $BD, $A8 ; CPU:$F416 PRG:7416 32 10 04 40 0A 02 80 04 00 00 8F 08 C9 8B BD A8 + .byte $EB, $81, $5F, $50, $DF, $24, $79, $00, $99, $00, $90, $0B, $81, $90, $02, $50 ; CPU:$F426 PRG:7426 EB 81 5F 50 DF 24 79 00 99 00 90 0B 81 90 02 50 + .byte $24, $C4, $01, $30, $89, $10, $80, $11, $3F, $11, $52, $09, $41, $00, $D7, $00 ; CPU:$F436 PRG:7436 24 C4 01 30 89 10 80 11 3F 11 52 09 41 00 D7 00 + .byte $6C, $60, $20, $10, $04, $08, $64, $20, $87, $00, $00, $00, $48, $11, $20, $22 ; CPU:$F446 PRG:7446 6C 60 20 10 04 08 64 20 87 00 00 00 48 11 20 22 + .byte $40, $20, $00, $80, $01, $00, $01, $00, $01, $00, $AF, $00, $FF, $04, $9F, $00 ; CPU:$F456 PRG:7456 40 20 00 80 01 00 01 00 01 00 AF 00 FF 04 9F 00 + .byte $A6, $01, $98, $01, $8E, $53, $DF, $08, $4E, $08, $10, $0B, $83, $80, $6C, $80 ; CPU:$F466 PRG:7466 A6 01 98 01 8E 53 DF 08 4E 08 10 0B 83 80 6C 80 + .byte $D1, $E1, $03, $40, $34, $78, $00, $17, $0B, $21, $FC, $00, $E0, $00, $06, $00 ; CPU:$F476 PRG:7476 D1 E1 03 40 34 78 00 17 0B 21 FC 00 E0 00 06 00 + .byte $0E, $14, $1A, $06, $8F, $68, $24, $20, $96, $00, $03, $D9, $01, $08, $00, $00 ; CPU:$F486 PRG:7486 0E 14 1A 06 8F 68 24 20 96 00 03 D9 01 08 00 00 + .byte $01, $00, $00, $20, $C1, $40, $10, $04, $16, $80, $6F, $88, $BF, $84, $DA, $2B ; CPU:$F496 PRG:7496 01 00 00 20 C1 40 10 04 16 80 6F 88 BF 84 DA 2B + .byte $2F, $20, $7D, $00, $1E, $80, $EC, $01, $FF, $24, $03, $AD, $83, $00, $43, $80 ; CPU:$F4A6 PRG:74A6 2F 20 7D 00 1E 80 EC 01 FF 24 03 AD 83 00 43 80 + .byte $81, $05, $84, $10, $03, $A0, $2A, $F4, $16, $06, $6A, $01, $B8, $04, $E2, $01 ; CPU:$F4B6 PRG:74B6 81 05 84 10 03 A0 2A F4 16 06 6A 01 B8 04 E2 01 + .byte $8A, $00, $1E, $00, $DE, $01, $44, $08, $E3, $00, $80, $21, $80, $00, $01, $00 ; CPU:$F4C6 PRG:74C6 8A 00 1E 00 DE 01 44 08 E3 00 80 21 80 00 01 00 + .byte $18, $00, $00, $40, $00, $20, $48, $40, $00, $00, $9B, $04, $E7, $02, $B8, $2A ; CPU:$F4D6 PRG:74D6 18 00 00 40 00 20 48 40 00 00 9B 04 E7 02 B8 2A + .byte $98, $40, $F2, $21, $FE, $00, $EE, $0C, $89, $55, $15, $D9, $1B, $18, $08, $00 ; CPU:$F4E6 PRG:74E6 98 40 F2 21 FE 00 EE 0C 89 55 15 D9 1B 18 08 00 + .byte $B3, $A3, $1F, $40, $39, $84, $82, $01, $0D, $8A ; CPU:$F4F6 PRG:74F6 B3 A3 1F 40 39 84 82 01 0D 8A ; ----------------------------------------------------------------------------- ; Routine: Sub_F500 ; Global: Branch target inside Sub: taken when F500. @@ -3195,48 +18910,48 @@ Sub_F500: ldy ZpEC ; CPU:$F525 PRG:7525 A4 EC lda ZpF5 ; CPU:$F527 PRG:7527 A5 F5 cmp #$10 ; CPU:$F529 PRG:7529 C9 10 - bne NmiHandler_Loop41 ; CPU:$F52B PRG:752B D0 0D + bne NmiHandler_Loop647 ; CPU:$F52B PRG:752B D0 0D lda ZpC0 ; CPU:$F52D PRG:752D A5 C0 cmp #$01 ; CPU:$F52F PRG:752F C9 01 - bcs NmiHandler_Loop43 ; CPU:$F531 PRG:7531 B0 16 + bcs NmiHandler_Loop649 ; CPU:$F531 PRG:7531 B0 16 ldy #$00 ; CPU:$F533 PRG:7533 A0 00 sty ZpEC ; CPU:$F535 PRG:7535 84 EC - jmp NmiHandler_Loop43 ; CPU:$F537 PRG:7537 4C 49 F5 + jmp NmiHandler_Loop649 ; CPU:$F537 PRG:7537 4C 49 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop41 -; Global: Branch target inside NmiHandler: taken when Loop41. +; Routine: NmiHandler_Loop647 +; Global: Branch target inside NmiHandler: taken when Loop647. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop41: +NmiHandler_Loop647: and #$02 ; CPU:$F53A PRG:753A 29 02 - beq NmiHandler_Loop42 ; CPU:$F53C PRG:753C F0 06 + beq NmiHandler_Loop648 ; CPU:$F53C PRG:753C F0 06 inc ZpEC ; CPU:$F53E PRG:753E E6 EC cpy #$70 ; CPU:$F540 PRG:7540 C0 70 - bcc NmiHandler_Loop43 ; CPU:$F542 PRG:7542 90 05 + bcc NmiHandler_Loop649 ; CPU:$F542 PRG:7542 90 05 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop42 -; Global: Branch target inside NmiHandler: taken when Loop42. +; Routine: NmiHandler_Loop648 +; Global: Branch target inside NmiHandler: taken when Loop648. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop42: +NmiHandler_Loop648: tya ; CPU:$F544 PRG:7544 98 - beq NmiHandler_Loop43 ; CPU:$F545 PRG:7545 F0 02 + beq NmiHandler_Loop649 ; CPU:$F545 PRG:7545 F0 02 dec ZpEC ; CPU:$F547 PRG:7547 C6 EC ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop43 -; Global: Branch target inside NmiHandler: taken when Loop43. +; Routine: NmiHandler_Loop649 +; Global: Branch target inside NmiHandler: taken when Loop649. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop43: +NmiHandler_Loop649: sty APUDMCDIRECT ; CPU:$F549 PRG:7549 8C 11 40 rts ; CPU:$F54C PRG:754C 60 ; ----------------------------------------------------------------------------- @@ -3272,30 +18987,30 @@ Sub_F554: Sub_F557: ldx #$00 ; CPU:$F557 PRG:7557 A2 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero10 -; Global: Branch target inside NmiHandler: taken when OnNonzero10. +; Routine: NmiHandler_OnNonzero87 +; Global: Branch target inside NmiHandler: taken when OnNonzero87. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero10: +NmiHandler_OnNonzero87: tay ; CPU:$F559 PRG:7559 A8 lda $FF01,y ; CPU:$F55A PRG:755A B9 01 FF - beq NmiHandler_Loop44 ; CPU:$F55D PRG:755D F0 0B + beq NmiHandler_Loop650 ; CPU:$F55D PRG:755D F0 0B sta APUPULSE1TIMERLO,x ; CPU:$F55F PRG:755F 9D 02 40 lda $FF00,y ; CPU:$F562 PRG:7562 B9 00 FF ora #$08 ; CPU:$F565 PRG:7565 09 08 sta APUPULSE1TIMERHI,x ; CPU:$F567 PRG:7567 9D 03 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop44 -; Global: Branch target inside NmiHandler: taken when Loop44. +; Routine: NmiHandler_Loop650 +; Global: Branch target inside NmiHandler: taken when Loop650. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop44: +NmiHandler_Loop650: rts ; CPU:$F56A PRG:756A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F56B @@ -3319,7 +19034,7 @@ Sub_F56B: ; ----------------------------------------------------------------------------- Sub_F572: ldx #$04 ; CPU:$F572 PRG:7572 A2 04 - bne NmiHandler_OnNonzero10 ; CPU:$F574 PRG:7574 D0 E3 + bne NmiHandler_OnNonzero87 ; CPU:$F574 PRG:7574 D0 E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_F576 ; Global: Branch target inside Sub: taken when F576. @@ -3330,7 +19045,7 @@ Sub_F572: ; ----------------------------------------------------------------------------- Sub_F576: ldx #$08 ; CPU:$F576 PRG:7576 A2 08 - bne NmiHandler_OnNonzero10 ; CPU:$F578 PRG:7578 D0 DF + bne NmiHandler_OnNonzero87 ; CPU:$F578 PRG:7578 D0 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_F57A ; Global: Branch target inside Sub: taken when F57A. @@ -3343,103 +19058,103 @@ Sub_F57A: ldy ZpFE ; CPU:$F57A PRG:757A A4 FE lda ZpF2 ; CPU:$F57C PRG:757C A5 F2 lsr ZpFE ; CPU:$F57E PRG:757E 46 FE - bcs NmiHandler_Loop45 ; CPU:$F580 PRG:7580 B0 04 + bcs NmiHandler_Loop651 ; CPU:$F580 PRG:7580 B0 04 lsr a ; CPU:$F582 PRG:7582 4A - bcs NmiHandler_Loop47 ; CPU:$F583 PRG:7583 B0 1A + bcs NmiHandler_Loop653 ; CPU:$F583 PRG:7583 B0 1A rts ; CPU:$F585 PRG:7585 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop45 -; Global: Branch target inside NmiHandler: taken when Loop45. +; Routine: NmiHandler_Loop651 +; Global: Branch target inside NmiHandler: taken when Loop651. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop45: +NmiHandler_Loop651: sty ZpF2 ; CPU:$F586 PRG:7586 84 F2 lda #$05 ; CPU:$F588 PRG:7588 A9 05 sta ZpE3 ; CPU:$F58A PRG:758A 85 E3 lda ZpF1 ; CPU:$F58C PRG:758C A5 F1 and #$F0 ; CPU:$F58E PRG:758E 29 F0 - beq NmiHandler_Loop46 ; CPU:$F590 PRG:7590 F0 04 + beq NmiHandler_Loop652 ; CPU:$F590 PRG:7590 F0 04 lda #$00 ; CPU:$F592 PRG:7592 A9 00 sta ZpF1 ; CPU:$F594 PRG:7594 85 F1 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop46 -; Global: Branch target inside NmiHandler: taken when Loop46. +; Routine: NmiHandler_Loop652 +; Global: Branch target inside NmiHandler: taken when Loop652. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop46: +NmiHandler_Loop652: ldy #$9D ; CPU:$F596 PRG:7596 A0 9D ldx #$7F ; CPU:$F598 PRG:7598 A2 7F lda #$50 ; CPU:$F59A PRG:759A A9 50 jsr Sub_F554 ; CPU:$F59C PRG:759C 20 54 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop47 -; Global: Branch target inside NmiHandler: taken when Loop47. +; Routine: NmiHandler_Loop653 +; Global: Branch target inside NmiHandler: taken when Loop653. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop47: +NmiHandler_Loop653: lda ZpFD ; CPU:$F59F PRG:759F A5 FD and #$04 ; CPU:$F5A1 PRG:75A1 29 04 - beq NmiHandler_Loop48 ; CPU:$F5A3 PRG:75A3 F0 04 + beq NmiHandler_Loop654 ; CPU:$F5A3 PRG:75A3 F0 04 lda #$00 ; CPU:$F5A5 PRG:75A5 A9 00 - beq NmiHandler_Loop49 ; CPU:$F5A7 PRG:75A7 F0 06 + beq NmiHandler_Loop655 ; CPU:$F5A7 PRG:75A7 F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop48 -; Global: Branch target inside NmiHandler: taken when Loop48. +; Routine: NmiHandler_Loop654 +; Global: Branch target inside NmiHandler: taken when Loop654. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop48: +NmiHandler_Loop654: lda ZpFF ; CPU:$F5A9 PRG:75A9 A5 FF and #$40 ; CPU:$F5AB PRG:75AB 29 40 - beq NmiHandler_Loop50 ; CPU:$F5AD PRG:75AD F0 06 + beq NmiHandler_Loop656 ; CPU:$F5AD PRG:75AD F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop49 -; Global: Branch target inside NmiHandler: taken when Loop49. +; Routine: NmiHandler_Loop655 +; Global: Branch target inside NmiHandler: taken when Loop655. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop49: +NmiHandler_Loop655: sta ZpE4 ; CPU:$F5AF PRG:75AF 85 E4 lda #$00 ; CPU:$F5B1 PRG:75B1 A9 00 sta ZpFF ; CPU:$F5B3 PRG:75B3 85 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop50 -; Global: Branch target inside NmiHandler: taken when Loop50. +; Routine: NmiHandler_Loop656 +; Global: Branch target inside NmiHandler: taken when Loop656. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop50: +NmiHandler_Loop656: lda ZpE3 ; CPU:$F5B5 PRG:75B5 A5 E3 cmp #$03 ; CPU:$F5B7 PRG:75B7 C9 03 - bne NmiHandler_Loop51 ; CPU:$F5B9 PRG:75B9 D0 05 + bne NmiHandler_Loop657 ; CPU:$F5B9 PRG:75B9 D0 05 lda #$9C ; CPU:$F5BB PRG:75BB A9 9C sta APUPULSE1SWEEP ; CPU:$F5BD PRG:75BD 8D 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop51 -; Global: Branch target inside NmiHandler: taken when Loop51. +; Routine: NmiHandler_Loop657 +; Global: Branch target inside NmiHandler: taken when Loop657. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop51: +NmiHandler_Loop657: dec ZpE3 ; CPU:$F5C0 PRG:75C0 C6 E3 - bne NmiHandler_Loop52 ; CPU:$F5C2 PRG:75C2 D0 0F + bne NmiHandler_Loop658 ; CPU:$F5C2 PRG:75C2 D0 0F lda ZpE4 ; CPU:$F5C4 PRG:75C4 A5 E4 sta ZpFF ; CPU:$F5C6 PRG:75C6 85 FF lda #$00 ; CPU:$F5C8 PRG:75C8 A9 00 @@ -3448,14 +19163,14 @@ NmiHandler_Loop51: lda #$90 ; CPU:$F5CE PRG:75CE A9 90 sta APUPULSE1CTRL ; CPU:$F5D0 PRG:75D0 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop52 -; Global: Branch target inside NmiHandler: taken when Loop52. +; Routine: NmiHandler_Loop658 +; Global: Branch target inside NmiHandler: taken when Loop658. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop52: +NmiHandler_Loop658: rts ; CPU:$F5D3 PRG:75D3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5D4 @@ -3473,14 +19188,14 @@ Sub_F5D4: sta APUPULSE2CTRL ; CPU:$F5DD PRG:75DD 8D 04 40 lda #$5A ; CPU:$F5E0 PRG:75E0 A9 5A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero11 -; Global: Branch target inside NmiHandler: taken when OnNonzero11. +; Routine: NmiHandler_OnNonzero88 +; Global: Branch target inside NmiHandler: taken when OnNonzero88. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero11: +NmiHandler_OnNonzero88: sty ZpF1 ; CPU:$F5E2 PRG:75E2 84 F1 sta ZpF6 ; CPU:$F5E4 PRG:75E4 85 F6 ; ----------------------------------------------------------------------------- @@ -3493,104 +19208,29 @@ NmiHandler_OnNonzero11: ; ----------------------------------------------------------------------------- Sub_F5E6: dec ZpF6 ; CPU:$F5E6 PRG:75E6 C6 F6 - beq NmiHandler_Loop57 ; CPU:$F5E8 PRG:75E8 F0 57 + beq NmiHandler_Loop663 ; CPU:$F5E8 PRG:75E8 F0 57 lda #$48 ; CPU:$F5EA PRG:75EA A9 48 ldx #$7F ; CPU:$F5EC PRG:75EC A2 7F ldy #$7F ; CPU:$F5EE PRG:75EE A0 7F jsr Sub_F554 ; CPU:$F5F0 PRG:75F0 20 54 F5 lda ZpF6 ; CPU:$F5F3 PRG:75F3 A5 F6 cmp #$4B ; CPU:$F5F5 PRG:75F5 C9 4B - bcs NmiHandler_Loop53 ; CPU:$F5F7 PRG:75F7 B0 04 + bcs NmiHandler_Loop659 ; CPU:$F5F7 PRG:75F7 B0 04 cmp #$3C ; CPU:$F5F9 PRG:75F9 C9 3C - bcs NmiHandler_Loop58 ; CPU:$F5FB PRG:75FB B0 48 + bcs NmiHandler_Loop664 ; CPU:$F5FB PRG:75FB B0 48 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop53 -; Global: Branch target inside NmiHandler: taken when Loop53. +; Routine: NmiHandler_Loop659 +; Global: Branch target inside NmiHandler: taken when Loop659. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop53: +NmiHandler_Loop659: lsr a ; CPU:$F5FD PRG:75FD 4A - bcs NmiHandler_Loop58 ; CPU:$F5FE PRG:75FE B0 45 + bcs NmiHandler_Loop664 ; CPU:$F5FE PRG:75FE B0 45 rts ; CPU:$F600 PRG:7600 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet -; Global: Branch target inside NmiHandler: taken when the addition or subtraction carried. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet: - lda #$28 ; CPU:$F601 PRG:7601 A9 28 - bne NmiHandler_OnNonzero11 ; CPU:$F603 PRG:7603 D0 DD -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet2 -; Global: Branch target inside NmiHandler: taken when OnCarrySet2. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet2: - lda #$0C ; CPU:$F605 PRG:7605 A9 0C - bne NmiHandler_OnNonzero11 ; CPU:$F607 PRG:7607 D0 D9 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet3 -; Global: Branch target inside NmiHandler: taken when OnCarrySet3. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet3: - sty ZpF1 ; CPU:$F609 PRG:7609 84 F1 - lda #$0A ; CPU:$F60B PRG:760B A9 0A - sta ZpF6 ; CPU:$F60D PRG:760D 85 F6 - ldy #$91 ; CPU:$F60F PRG:760F A0 91 - ldx #$8D ; CPU:$F611 PRG:7611 A2 8D - lda #$50 ; CPU:$F613 PRG:7613 A9 50 - jsr Sub_F554 ; CPU:$F615 PRG:7615 20 54 F5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet4 -; Global: Branch target inside NmiHandler: taken when OnCarrySet4. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet4: - lda ZpF6 ; CPU:$F618 PRG:7618 A5 F6 - cmp #$06 ; CPU:$F61A PRG:761A C9 06 - bne NmiHandler_Loop54 ; CPU:$F61C PRG:761C D0 05 - lda #$9A ; CPU:$F61E PRG:761E A9 9A - sta APUPULSE1SWEEP ; CPU:$F620 PRG:7620 8D 01 40 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop54 -; Global: Branch target inside NmiHandler: taken when Loop54. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop54: - jmp NmiHandler_Loop56 ; CPU:$F623 PRG:7623 4C 3D F6 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet5 -; Global: Branch target inside NmiHandler: taken when OnCarrySet5. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet5: - sty ZpF1 ; CPU:$F626 PRG:7626 84 F1 - lda #$20 ; CPU:$F628 PRG:7628 A9 20 - sta ZpF6 ; CPU:$F62A PRG:762A 85 F6 - bne NmiHandler_Loop55 ; CPU:$F62C PRG:762C D0 06 -; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet6 ; Global: Branch target inside NmiHandler: taken when OnCarrySet6. ; Local: Part of NmiHandler. @@ -3599,65 +19239,8 @@ NmiHandler_OnCarrySet5: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet6: - lda ZpF6 ; CPU:$F62E PRG:762E A5 F6 - cmp #$1B ; CPU:$F630 PRG:7630 C9 1B - bne NmiHandler_Loop56 ; CPU:$F632 PRG:7632 D0 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop55 -; Global: Branch target inside NmiHandler: taken when Loop55. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop55: - ldx #$BA ; CPU:$F634 PRG:7634 A2 BA - ldy #$D3 ; CPU:$F636 PRG:7636 A0 D3 - lda #$00 ; CPU:$F638 PRG:7638 A9 00 - jsr Sub_F554 ; CPU:$F63A PRG:763A 20 54 F5 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop56 -; Global: Branch target inside NmiHandler: taken when Loop56. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop56: - dec ZpF6 ; CPU:$F63D PRG:763D C6 F6 - bne NmiHandler_Loop59 ; CPU:$F63F PRG:763F D0 09 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop57 -; Global: Branch target inside NmiHandler: taken when Loop57. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop57: - lda #$00 ; CPU:$F641 PRG:7641 A9 00 - sta ZpF1 ; CPU:$F643 PRG:7643 85 F1 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop58 -; Global: Branch target inside NmiHandler: taken when Loop58. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop58: - lda #$90 ; CPU:$F645 PRG:7645 A9 90 - sta APUPULSE1CTRL ; CPU:$F647 PRG:7647 8D 00 40 -; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop59 -; Global: Branch target inside NmiHandler: taken when Loop59. -; Local: Part of NmiHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -NmiHandler_Loop59: - rts ; CPU:$F64A PRG:764A 60 + lda #$28 ; CPU:$F601 PRG:7601 A9 28 + bne NmiHandler_OnNonzero88 ; CPU:$F603 PRG:7603 D0 DD ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet7 ; Global: Branch target inside NmiHandler: taken when OnCarrySet7. @@ -3667,7 +19250,8 @@ NmiHandler_Loop59: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet7: - jmp Sub_F5E6 ; CPU:$F64B PRG:764B 4C E6 F5 + lda #$0C ; CPU:$F605 PRG:7605 A9 0C + bne NmiHandler_OnNonzero88 ; CPU:$F607 PRG:7607 D0 D9 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_OnCarrySet8 ; Global: Branch target inside NmiHandler: taken when OnCarrySet8. @@ -3677,6 +19261,137 @@ NmiHandler_OnCarrySet7: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnCarrySet8: + sty ZpF1 ; CPU:$F609 PRG:7609 84 F1 + lda #$0A ; CPU:$F60B PRG:760B A9 0A + sta ZpF6 ; CPU:$F60D PRG:760D 85 F6 + ldy #$91 ; CPU:$F60F PRG:760F A0 91 + ldx #$8D ; CPU:$F611 PRG:7611 A2 8D + lda #$50 ; CPU:$F613 PRG:7613 A9 50 + jsr Sub_F554 ; CPU:$F615 PRG:7615 20 54 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet9 +; Global: Branch target inside NmiHandler: taken when OnCarrySet9. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet9: + lda ZpF6 ; CPU:$F618 PRG:7618 A5 F6 + cmp #$06 ; CPU:$F61A PRG:761A C9 06 + bne NmiHandler_Loop660 ; CPU:$F61C PRG:761C D0 05 + lda #$9A ; CPU:$F61E PRG:761E A9 9A + sta APUPULSE1SWEEP ; CPU:$F620 PRG:7620 8D 01 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop660 +; Global: Branch target inside NmiHandler: taken when Loop660. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop660: + jmp NmiHandler_Loop662 ; CPU:$F623 PRG:7623 4C 3D F6 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet10 +; Global: Branch target inside NmiHandler: taken when OnCarrySet10. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet10: + sty ZpF1 ; CPU:$F626 PRG:7626 84 F1 + lda #$20 ; CPU:$F628 PRG:7628 A9 20 + sta ZpF6 ; CPU:$F62A PRG:762A 85 F6 + bne NmiHandler_Loop661 ; CPU:$F62C PRG:762C D0 06 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet11 +; Global: Branch target inside NmiHandler: taken when OnCarrySet11. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet11: + lda ZpF6 ; CPU:$F62E PRG:762E A5 F6 + cmp #$1B ; CPU:$F630 PRG:7630 C9 1B + bne NmiHandler_Loop662 ; CPU:$F632 PRG:7632 D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop661 +; Global: Branch target inside NmiHandler: taken when Loop661. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop661: + ldx #$BA ; CPU:$F634 PRG:7634 A2 BA + ldy #$D3 ; CPU:$F636 PRG:7636 A0 D3 + lda #$00 ; CPU:$F638 PRG:7638 A9 00 + jsr Sub_F554 ; CPU:$F63A PRG:763A 20 54 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop662 +; Global: Branch target inside NmiHandler: taken when Loop662. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop662: + dec ZpF6 ; CPU:$F63D PRG:763D C6 F6 + bne NmiHandler_Loop665 ; CPU:$F63F PRG:763F D0 09 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop663 +; Global: Branch target inside NmiHandler: taken when Loop663. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop663: + lda #$00 ; CPU:$F641 PRG:7641 A9 00 + sta ZpF1 ; CPU:$F643 PRG:7643 85 F1 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop664 +; Global: Branch target inside NmiHandler: taken when Loop664. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop664: + lda #$90 ; CPU:$F645 PRG:7645 A9 90 + sta APUPULSE1CTRL ; CPU:$F647 PRG:7647 8D 00 40 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_Loop665 +; Global: Branch target inside NmiHandler: taken when Loop665. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_Loop665: + rts ; CPU:$F64A PRG:764A 60 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet12 +; Global: Branch target inside NmiHandler: taken when OnCarrySet12. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet12: + jmp Sub_F5E6 ; CPU:$F64B PRG:764B 4C E6 F5 +; ----------------------------------------------------------------------------- +; Routine: NmiHandler_OnCarrySet13 +; Global: Branch target inside NmiHandler: taken when OnCarrySet13. +; Local: Part of NmiHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +NmiHandler_OnCarrySet13: jmp Sub_F5D4 ; CPU:$F64E PRG:764E 4C D4 F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_F651 @@ -3689,69 +19404,69 @@ NmiHandler_OnCarrySet8: Sub_F651: lda ZpFF ; CPU:$F651 PRG:7651 A5 FF ora ZpF1 ; CPU:$F653 PRG:7653 05 F1 - beq NmiHandler_Loop60 ; CPU:$F655 PRG:7655 F0 3B + beq NmiHandler_Loop666 ; CPU:$F655 PRG:7655 F0 3B lda #$00 ; CPU:$F657 PRG:7657 A9 00 sta ZpE4 ; CPU:$F659 PRG:7659 85 E4 sta ZpEA ; CPU:$F65B PRG:765B 85 EA ldy ZpFF ; CPU:$F65D PRG:765D A4 FF lda ZpF1 ; CPU:$F65F PRG:765F A5 F1 lsr a ; CPU:$F661 PRG:7661 4A - bcs NmiHandler_OnCarrySet7 ; CPU:$F662 PRG:7662 B0 E7 + bcs NmiHandler_OnCarrySet12 ; CPU:$F662 PRG:7662 B0 E7 lsr ZpFF ; CPU:$F664 PRG:7664 46 FF - bcs NmiHandler_OnCarrySet ; CPU:$F666 PRG:7666 B0 99 + bcs NmiHandler_OnCarrySet6 ; CPU:$F666 PRG:7666 B0 99 lsr a ; CPU:$F668 PRG:7668 4A - bcs NmiHandler_OnCarrySet7 ; CPU:$F669 PRG:7669 B0 E0 + bcs NmiHandler_OnCarrySet12 ; CPU:$F669 PRG:7669 B0 E0 lsr ZpFF ; CPU:$F66B PRG:766B 46 FF - bcs NmiHandler_OnCarrySet8 ; CPU:$F66D PRG:766D B0 DF + bcs NmiHandler_OnCarrySet13 ; CPU:$F66D PRG:766D B0 DF lsr a ; CPU:$F66F PRG:766F 4A - bcs NmiHandler_OnCarrySet7 ; CPU:$F670 PRG:7670 B0 D9 + bcs NmiHandler_OnCarrySet12 ; CPU:$F670 PRG:7670 B0 D9 lsr ZpFF ; CPU:$F672 PRG:7672 46 FF - bcs NmiHandler_OnCarrySet2 ; CPU:$F674 PRG:7674 B0 8F + bcs NmiHandler_OnCarrySet7 ; CPU:$F674 PRG:7674 B0 8F lsr a ; CPU:$F676 PRG:7676 4A - bcs NmiHandler_OnCarrySet4 ; CPU:$F677 PRG:7677 B0 9F + bcs NmiHandler_OnCarrySet9 ; CPU:$F677 PRG:7677 B0 9F lsr ZpFF ; CPU:$F679 PRG:7679 46 FF - bcs NmiHandler_OnCarrySet3 ; CPU:$F67B PRG:767B B0 8C + bcs NmiHandler_OnCarrySet8 ; CPU:$F67B PRG:767B B0 8C lsr ZpFF ; CPU:$F67D PRG:767D 46 FF - bcs NmiHandler_OnCarrySet5 ; CPU:$F67F PRG:767F B0 A5 + bcs NmiHandler_OnCarrySet10 ; CPU:$F67F PRG:767F B0 A5 lsr a ; CPU:$F681 PRG:7681 4A - bcs NmiHandler_OnCarrySet6 ; CPU:$F682 PRG:7682 B0 AA + bcs NmiHandler_OnCarrySet11 ; CPU:$F682 PRG:7682 B0 AA lsr a ; CPU:$F684 PRG:7684 4A - bcs NmiHandler_Loop62 ; CPU:$F685 PRG:7685 B0 1E + bcs NmiHandler_Loop668 ; CPU:$F685 PRG:7685 B0 1E lsr ZpFF ; CPU:$F687 PRG:7687 46 FF - bcs NmiHandler_Loop61 ; CPU:$F689 PRG:7689 B0 0B + bcs NmiHandler_Loop667 ; CPU:$F689 PRG:7689 B0 0B lsr ZpFF ; CPU:$F68B PRG:768B 46 FF - bcs NmiHandler_Loop63 ; CPU:$F68D PRG:768D B0 19 + bcs NmiHandler_Loop669 ; CPU:$F68D PRG:768D B0 19 lsr a ; CPU:$F68F PRG:768F 4A - bcs NmiHandler_Loop64 ; CPU:$F690 PRG:7690 B0 37 + bcs NmiHandler_Loop670 ; CPU:$F690 PRG:7690 B0 37 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop60 -; Global: Branch target inside NmiHandler: taken when Loop60. +; Routine: NmiHandler_Loop666 +; Global: Branch target inside NmiHandler: taken when Loop666. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop60: +NmiHandler_Loop666: rts ; CPU:$F692 PRG:7692 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero3 -; Global: Branch target inside NmiHandler: taken when OnZero3. +; Routine: NmiHandler_OnZero20 +; Global: Branch target inside NmiHandler: taken when OnZero20. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero3: - jmp NmiHandler_Loop57 ; CPU:$F693 PRG:7693 4C 41 F6 +NmiHandler_OnZero20: + jmp NmiHandler_Loop663 ; CPU:$F693 PRG:7693 4C 41 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop61 -; Global: Branch target inside NmiHandler: taken when Loop61. +; Routine: NmiHandler_Loop667 +; Global: Branch target inside NmiHandler: taken when Loop667. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop61: +NmiHandler_Loop667: sty ZpF1 ; CPU:$F696 PRG:7696 84 F1 lda #$40 ; CPU:$F698 PRG:7698 A9 40 sta ZpF6 ; CPU:$F69A PRG:769A 85 F6 @@ -3760,24 +19475,24 @@ NmiHandler_Loop61: ldy #$A5 ; CPU:$F6A0 PRG:76A0 A0 A5 jsr Sub_F554 ; CPU:$F6A2 PRG:76A2 20 54 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop62 -; Global: Branch target inside NmiHandler: taken when Loop62. +; Routine: NmiHandler_Loop668 +; Global: Branch target inside NmiHandler: taken when Loop668. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop62: - jmp NmiHandler_Loop56 ; CPU:$F6A5 PRG:76A5 4C 3D F6 +NmiHandler_Loop668: + jmp NmiHandler_Loop662 ; CPU:$F6A5 PRG:76A5 4C 3D F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop63 -; Global: Branch target inside NmiHandler: taken when Loop63. +; Routine: NmiHandler_Loop669 +; Global: Branch target inside NmiHandler: taken when Loop669. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop63: +NmiHandler_Loop669: sty ZpF1 ; CPU:$F6A8 PRG:76A8 84 F1 ldy #$AD ; CPU:$F6AA PRG:76AA A0 AD lda #$00 ; CPU:$F6AC PRG:76AC A9 00 @@ -3791,76 +19506,76 @@ NmiHandler_Loop63: lda #$06 ; CPU:$F6BF PRG:76BF A9 06 sta APUPULSE1TIMERHI ; CPU:$F6C1 PRG:76C1 8D 03 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero12 -; Global: Branch target inside NmiHandler: taken when OnNonzero12. +; Routine: NmiHandler_OnNonzero89 +; Global: Branch target inside NmiHandler: taken when OnNonzero89. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero12: +NmiHandler_OnNonzero89: inc ZpF6 ; CPU:$F6C4 PRG:76C4 E6 F6 - beq NmiHandler_OnZero3 ; CPU:$F6C6 PRG:76C6 F0 CB + beq NmiHandler_OnZero20 ; CPU:$F6C6 PRG:76C6 F0 CB rts ; CPU:$F6C8 PRG:76C8 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop64 -; Global: Branch target inside NmiHandler: taken when Loop64. +; Routine: NmiHandler_Loop670 +; Global: Branch target inside NmiHandler: taken when Loop670. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop64: +NmiHandler_Loop670: lda ZpFD ; CPU:$F6C9 PRG:76C9 A5 FD and #$04 ; CPU:$F6CB PRG:76CB 29 04 - bne NmiHandler_OnZero3 ; CPU:$F6CD PRG:76CD D0 C4 + bne NmiHandler_OnZero20 ; CPU:$F6CD PRG:76CD D0 C4 lda ZpE1 ; CPU:$F6CF PRG:76CF A5 E1 - bne NmiHandler_Loop66 ; CPU:$F6D1 PRG:76D1 D0 16 + bne NmiHandler_Loop672 ; CPU:$F6D1 PRG:76D1 D0 16 lsr ZpFF ; CPU:$F6D3 PRG:76D3 46 FF - bcs NmiHandler_Loop65 ; CPU:$F6D5 PRG:76D5 B0 0D + bcs NmiHandler_Loop671 ; CPU:$F6D5 PRG:76D5 B0 0D lda ZpF6 ; CPU:$F6D7 PRG:76D7 A5 F6 cmp #$30 ; CPU:$F6D9 PRG:76D9 C9 30 - bne NmiHandler_OnNonzero12 ; CPU:$F6DB PRG:76DB D0 E7 + bne NmiHandler_OnNonzero89 ; CPU:$F6DB PRG:76DB D0 E7 ldy #$BE ; CPU:$F6DD PRG:76DD A0 BE sty APUPULSE1SWEEP ; CPU:$F6DF PRG:76DF 8C 01 40 - bne NmiHandler_OnNonzero12 ; CPU:$F6E2 PRG:76E2 D0 E0 + bne NmiHandler_OnNonzero89 ; CPU:$F6E2 PRG:76E2 D0 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop65 -; Global: Branch target inside NmiHandler: taken when Loop65. +; Routine: NmiHandler_Loop671 +; Global: Branch target inside NmiHandler: taken when Loop671. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop65: +NmiHandler_Loop671: ldy #$B6 ; CPU:$F6E4 PRG:76E4 A0 B6 sty APUPULSE1SWEEP ; CPU:$F6E6 PRG:76E6 8C 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop66 -; Global: Branch target inside NmiHandler: taken when Loop66. +; Routine: NmiHandler_Loop672 +; Global: Branch target inside NmiHandler: taken when Loop672. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop66: +NmiHandler_Loop672: inc ZpE1 ; CPU:$F6E9 PRG:76E9 E6 E1 lda ZpE1 ; CPU:$F6EB PRG:76EB A5 E1 cmp #$04 ; CPU:$F6ED PRG:76ED C9 04 - bne NmiHandler_Loop67 ; CPU:$F6EF PRG:76EF D0 05 + bne NmiHandler_Loop673 ; CPU:$F6EF PRG:76EF D0 05 ldy #$A5 ; CPU:$F6F1 PRG:76F1 A0 A5 sty APUPULSE1SWEEP ; CPU:$F6F3 PRG:76F3 8C 01 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop67 -; Global: Branch target inside NmiHandler: taken when Loop67. +; Routine: NmiHandler_Loop673 +; Global: Branch target inside NmiHandler: taken when Loop673. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop67: +NmiHandler_Loop673: dec ZpF6 ; CPU:$F6F6 PRG:76F6 C6 F6 - beq NmiHandler_OnZero3 ; CPU:$F6F8 PRG:76F8 F0 99 + beq NmiHandler_OnZero20 ; CPU:$F6F8 PRG:76F8 F0 99 rts ; CPU:$F6FA PRG:76FA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6FB @@ -3874,31 +19589,31 @@ Sub_F6FB: ldy ZpFD ; CPU:$F6FB PRG:76FB A4 FD lda ZpF3 ; CPU:$F6FD PRG:76FD A5 F3 lsr a ; CPU:$F6FF PRG:76FF 4A - bcs NmiHandler_Loop70 ; CPU:$F700 PRG:7700 B0 24 + bcs NmiHandler_Loop676 ; CPU:$F700 PRG:7700 B0 24 lsr ZpFD ; CPU:$F702 PRG:7702 46 FD - bcs NmiHandler_Loop69 ; CPU:$F704 PRG:7704 B0 08 + bcs NmiHandler_Loop675 ; CPU:$F704 PRG:7704 B0 08 lsr ZpFD ; CPU:$F706 PRG:7706 46 FD - bcs NmiHandler_Loop68 ; CPU:$F708 PRG:7708 B0 01 + bcs NmiHandler_Loop674 ; CPU:$F708 PRG:7708 B0 01 rts ; CPU:$F70A PRG:770A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop68 -; Global: Branch target inside NmiHandler: taken when Loop68. +; Routine: NmiHandler_Loop674 +; Global: Branch target inside NmiHandler: taken when Loop674. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop68: +NmiHandler_Loop674: jmp Sub_F894 ; CPU:$F70B PRG:770B 4C 94 F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop69 -; Global: Branch target inside NmiHandler: taken when Loop69. +; Routine: NmiHandler_Loop675 +; Global: Branch target inside NmiHandler: taken when Loop675. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop69: +NmiHandler_Loop675: sty ZpF3 ; CPU:$F70E PRG:770E 84 F3 lda #$04 ; CPU:$F710 PRG:7710 A9 04 sta ZpE6 ; CPU:$F712 PRG:7712 85 E6 @@ -3907,95 +19622,95 @@ NmiHandler_Loop69: lda #$09 ; CPU:$F719 PRG:7719 A9 09 sta APUPULSE2TIMERHI ; CPU:$F71B PRG:771B 8D 07 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnZero4 -; Global: Branch target inside NmiHandler: taken when OnZero4. +; Routine: NmiHandler_OnZero21 +; Global: Branch target inside NmiHandler: taken when OnZero21. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnZero4: +NmiHandler_OnZero21: dec ZpE6 ; CPU:$F71E PRG:771E C6 E6 - beq NmiHandler_Loop72 ; CPU:$F720 PRG:7720 F0 1F + beq NmiHandler_Loop678 ; CPU:$F720 PRG:7720 F0 1F lda #$18 ; CPU:$F722 PRG:7722 A9 18 sta ZpE7 ; CPU:$F724 PRG:7724 85 E7 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop70 -; Global: Branch target inside NmiHandler: taken when Loop70. +; Routine: NmiHandler_Loop676 +; Global: Branch target inside NmiHandler: taken when Loop676. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop70: +NmiHandler_Loop676: dec ZpE7 ; CPU:$F726 PRG:7726 C6 E7 - beq NmiHandler_OnZero4 ; CPU:$F728 PRG:7728 F0 F4 + beq NmiHandler_OnZero21 ; CPU:$F728 PRG:7728 F0 F4 lda ZpE7 ; CPU:$F72A PRG:772A A5 E7 cmp #$16 ; CPU:$F72C PRG:772C C9 16 - bcs NmiHandler_Loop71 ; CPU:$F72E PRG:772E B0 08 + bcs NmiHandler_Loop677 ; CPU:$F72E PRG:772E B0 08 cmp #$14 ; CPU:$F730 PRG:7730 C9 14 - bcs NmiHandler_Loop73 ; CPU:$F732 PRG:7732 B0 11 + bcs NmiHandler_Loop679 ; CPU:$F732 PRG:7732 B0 11 cmp #$09 ; CPU:$F734 PRG:7734 C9 09 - bcc NmiHandler_Loop73 ; CPU:$F736 PRG:7736 90 0D + bcc NmiHandler_Loop679 ; CPU:$F736 PRG:7736 90 0D ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop71 -; Global: Branch target inside NmiHandler: taken when Loop71. +; Routine: NmiHandler_Loop677 +; Global: Branch target inside NmiHandler: taken when Loop677. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop71: +NmiHandler_Loop677: lda #$7F ; CPU:$F738 PRG:7738 A9 7F sta APUPULSE2CTRL ; CPU:$F73A PRG:773A 8D 04 40 sta APUPULSE2SWEEP ; CPU:$F73D PRG:773D 8D 05 40 rts ; CPU:$F740 PRG:7740 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop72 -; Global: Branch target inside NmiHandler: taken when Loop72. +; Routine: NmiHandler_Loop678 +; Global: Branch target inside NmiHandler: taken when Loop678. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop72: +NmiHandler_Loop678: lda #$00 ; CPU:$F741 PRG:7741 A9 00 sta ZpF3 ; CPU:$F743 PRG:7743 85 F3 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop73 -; Global: Branch target inside NmiHandler: taken when Loop73. +; Routine: NmiHandler_Loop679 +; Global: Branch target inside NmiHandler: taken when Loop679. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop73: +NmiHandler_Loop679: lda #$90 ; CPU:$F745 PRG:7745 A9 90 sta APUPULSE2CTRL ; CPU:$F747 PRG:7747 8D 04 40 rts ; CPU:$F74A PRG:774A 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet9 -; Global: Branch target inside NmiHandler: taken when OnCarrySet9. +; Routine: NmiHandler_OnCarrySet14 +; Global: Branch target inside NmiHandler: taken when OnCarrySet14. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet9: +NmiHandler_OnCarrySet14: sty ZpD8 ; CPU:$F74B PRG:774B 84 D8 lda #$7F ; CPU:$F74D PRG:774D A9 7F sta ZpE9 ; CPU:$F74F PRG:774F 85 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarrySet10 -; Global: Branch target inside NmiHandler: taken when OnCarrySet10. +; Routine: NmiHandler_OnCarrySet15 +; Global: Branch target inside NmiHandler: taken when OnCarrySet15. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarrySet10: +NmiHandler_OnCarrySet15: lsr ZpEE ; CPU:$F751 PRG:7751 46 EE - bcc NmiHandler_Loop74 ; CPU:$F753 PRG:7753 90 18 + bcc NmiHandler_Loop680 ; CPU:$F753 PRG:7753 90 18 lda ZpE9 ; CPU:$F755 PRG:7755 A5 E9 lsr a ; CPU:$F757 PRG:7757 4A tay ; CPU:$F758 PRG:7758 A8 @@ -4006,39 +19721,39 @@ NmiHandler_OnCarrySet10: lda #$18 ; CPU:$F764 PRG:7764 A9 18 sta APUNOISELENGTH ; CPU:$F766 PRG:7766 8D 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero13 -; Global: Branch target inside NmiHandler: taken when OnNonzero13. +; Routine: NmiHandler_OnNonzero90 +; Global: Branch target inside NmiHandler: taken when OnNonzero90. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero13: +NmiHandler_OnNonzero90: dec ZpE9 ; CPU:$F769 PRG:7769 C6 E9 - bne NmiHandler_Loop75 ; CPU:$F76B PRG:776B D0 0A + bne NmiHandler_Loop681 ; CPU:$F76B PRG:776B D0 0A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop74 -; Global: Branch target inside NmiHandler: taken when Loop74. +; Routine: NmiHandler_Loop680 +; Global: Branch target inside NmiHandler: taken when Loop680. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop74: +NmiHandler_Loop680: lda ZpEA ; CPU:$F76D PRG:776D A5 EA sta ZpFF ; CPU:$F76F PRG:776F 85 FF lda #$00 ; CPU:$F771 PRG:7771 A9 00 sta ZpD8 ; CPU:$F773 PRG:7773 85 D8 sta ZpEA ; CPU:$F775 PRG:7775 85 EA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop75 -; Global: Branch target inside NmiHandler: taken when Loop75. +; Routine: NmiHandler_Loop681 +; Global: Branch target inside NmiHandler: taken when Loop681. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop75: +NmiHandler_Loop681: rts ; CPU:$F777 PRG:7777 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F778 @@ -4053,95 +19768,95 @@ Sub_F778: sty ZpEE ; CPU:$F77A PRG:777A 84 EE lda ZpD8 ; CPU:$F77C PRG:777C A5 D8 lsr a ; CPU:$F77E PRG:777E 4A - bcs NmiHandler_OnCarrySet10 ; CPU:$F77F PRG:777F B0 D0 + bcs NmiHandler_OnCarrySet15 ; CPU:$F77F PRG:777F B0 D0 lsr ZpFC ; CPU:$F781 PRG:7781 46 FC - bcs NmiHandler_OnCarrySet9 ; CPU:$F783 PRG:7783 B0 C6 + bcs NmiHandler_OnCarrySet14 ; CPU:$F783 PRG:7783 B0 C6 lsr ZpFC ; CPU:$F785 PRG:7785 46 FC - bcs NmiHandler_Loop76 ; CPU:$F787 PRG:7787 B0 0B + bcs NmiHandler_Loop682 ; CPU:$F787 PRG:7787 B0 0B lsr a ; CPU:$F789 PRG:7789 4A - bcs NmiHandler_Loop77 ; CPU:$F78A PRG:778A B0 17 + bcs NmiHandler_Loop683 ; CPU:$F78A PRG:778A B0 17 lsr ZpFC ; CPU:$F78C PRG:778C 46 FC - bcs NmiHandler_Loop82 ; CPU:$F78E PRG:778E B0 49 + bcs NmiHandler_Loop688 ; CPU:$F78E PRG:778E B0 49 lsr a ; CPU:$F790 PRG:7790 4A - bcs NmiHandler_Loop83 ; CPU:$F791 PRG:7791 B0 4C + bcs NmiHandler_Loop689 ; CPU:$F791 PRG:7791 B0 4C rts ; CPU:$F793 PRG:7793 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop76 -; Global: Branch target inside NmiHandler: taken when Loop76. +; Routine: NmiHandler_Loop682 +; Global: Branch target inside NmiHandler: taken when Loop682. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop76: +NmiHandler_Loop682: sty ZpD8 ; CPU:$F794 PRG:7794 84 D8 lda #$14 ; CPU:$F796 PRG:7796 A9 14 sta ZpE9 ; CPU:$F798 PRG:7798 85 E9 lda ZpF1 ; CPU:$F79A PRG:779A A5 F1 and #$40 ; CPU:$F79C PRG:779C 29 40 - beq NmiHandler_Loop77 ; CPU:$F79E PRG:779E F0 03 - jsr NmiHandler_Loop57 ; CPU:$F7A0 PRG:77A0 20 41 F6 + beq NmiHandler_Loop683 ; CPU:$F79E PRG:779E F0 03 + jsr NmiHandler_Loop663 ; CPU:$F7A0 PRG:77A0 20 41 F6 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop77 -; Global: Branch target inside NmiHandler: taken when Loop77. +; Routine: NmiHandler_Loop683 +; Global: Branch target inside NmiHandler: taken when Loop683. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop77: +NmiHandler_Loop683: lda ZpFD ; CPU:$F7A3 PRG:77A3 A5 FD and #$04 ; CPU:$F7A5 PRG:77A5 29 04 - beq NmiHandler_Loop78 ; CPU:$F7A7 PRG:77A7 F0 04 + beq NmiHandler_Loop684 ; CPU:$F7A7 PRG:77A7 F0 04 lda #$00 ; CPU:$F7A9 PRG:77A9 A9 00 - beq NmiHandler_Loop79 ; CPU:$F7AB PRG:77AB F0 06 + beq NmiHandler_Loop685 ; CPU:$F7AB PRG:77AB F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop78 -; Global: Branch target inside NmiHandler: taken when Loop78. +; Routine: NmiHandler_Loop684 +; Global: Branch target inside NmiHandler: taken when Loop684. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop78: +NmiHandler_Loop684: lda ZpFF ; CPU:$F7AD PRG:77AD A5 FF and #$40 ; CPU:$F7AF PRG:77AF 29 40 - beq NmiHandler_Loop80 ; CPU:$F7B1 PRG:77B1 F0 06 + beq NmiHandler_Loop686 ; CPU:$F7B1 PRG:77B1 F0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop79 -; Global: Branch target inside NmiHandler: taken when Loop79. +; Routine: NmiHandler_Loop685 +; Global: Branch target inside NmiHandler: taken when Loop685. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop79: +NmiHandler_Loop685: sta ZpEA ; CPU:$F7B3 PRG:77B3 85 EA lda #$00 ; CPU:$F7B5 PRG:77B5 A9 00 sta ZpFF ; CPU:$F7B7 PRG:77B7 85 FF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop80 -; Global: Branch target inside NmiHandler: taken when Loop80. +; Routine: NmiHandler_Loop686 +; Global: Branch target inside NmiHandler: taken when Loop686. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop80: +NmiHandler_Loop686: lda ZpEC ; CPU:$F7B9 PRG:77B9 A5 EC sec ; CPU:$F7BB PRG:77BB 38 sbc #$10 ; CPU:$F7BC PRG:77BC E9 10 - bcs NmiHandler_Loop81 ; CPU:$F7BE PRG:77BE B0 02 + bcs NmiHandler_Loop687 ; CPU:$F7BE PRG:77BE B0 02 lda #$00 ; CPU:$F7C0 PRG:77C0 A9 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop81 -; Global: Branch target inside NmiHandler: taken when Loop81. +; Routine: NmiHandler_Loop687 +; Global: Branch target inside NmiHandler: taken when Loop687. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop81: +NmiHandler_Loop687: sta ZpEC ; CPU:$F7C2 PRG:77C2 85 EC ldy ZpE9 ; CPU:$F7C4 PRG:77C4 A4 E9 lda $FFB3,y ; CPU:$F7C6 PRG:77C6 B9 B3 FF @@ -4151,36 +19866,36 @@ NmiHandler_Loop81: lda #$08 ; CPU:$F7D2 PRG:77D2 A9 08 sta APUNOISELENGTH ; CPU:$F7D4 PRG:77D4 8D 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero14 -; Global: Branch target inside NmiHandler: taken when OnNonzero14. +; Routine: NmiHandler_OnNonzero91 +; Global: Branch target inside NmiHandler: taken when OnNonzero91. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero14: - bne NmiHandler_OnNonzero13 ; CPU:$F7D7 PRG:77D7 D0 90 +NmiHandler_OnNonzero91: + bne NmiHandler_OnNonzero90 ; CPU:$F7D7 PRG:77D7 D0 90 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop82 -; Global: Branch target inside NmiHandler: taken when Loop82. +; Routine: NmiHandler_Loop688 +; Global: Branch target inside NmiHandler: taken when Loop688. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop82: +NmiHandler_Loop688: sty ZpD8 ; CPU:$F7D9 PRG:77D9 84 D8 lda #$10 ; CPU:$F7DB PRG:77DB A9 10 sta ZpE9 ; CPU:$F7DD PRG:77DD 85 E9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop83 -; Global: Branch target inside NmiHandler: taken when Loop83. +; Routine: NmiHandler_Loop689 +; Global: Branch target inside NmiHandler: taken when Loop689. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop83: +NmiHandler_Loop689: ldy ZpE9 ; CPU:$F7DF PRG:77DF A4 E9 lda $FFD7,y ; CPU:$F7E1 PRG:77E1 B9 D7 FF sta APUNOISEPERIOD ; CPU:$F7E4 PRG:77E4 8D 0E 40 @@ -4188,7 +19903,7 @@ NmiHandler_Loop83: sta APUNOISECTRL ; CPU:$F7EA PRG:77EA 8D 0C 40 lda #$08 ; CPU:$F7ED PRG:77ED A9 08 sta APUNOISELENGTH ; CPU:$F7EF PRG:77EF 8D 0F 40 - bne NmiHandler_OnNonzero14 ; CPU:$F7F2 PRG:77F2 D0 E3 + bne NmiHandler_OnNonzero91 ; CPU:$F7F2 PRG:77F2 D0 E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_F7F4 ; Global: Branch target inside Sub: taken when F7F4. @@ -4200,67 +19915,67 @@ NmiHandler_Loop83: Sub_F7F4: lda ZpFB ; CPU:$F7F4 PRG:77F4 A5 FB cmp #$10 ; CPU:$F7F6 PRG:77F6 C9 10 - bne NmiHandler_Loop84 ; CPU:$F7F8 PRG:77F8 D0 0A + bne NmiHandler_Loop690 ; CPU:$F7F8 PRG:77F8 D0 0A lda #$00 ; CPU:$F7FA PRG:77FA A9 00 sta ZpC0 ; CPU:$F7FC PRG:77FC 85 C0 lda #$30 ; CPU:$F7FE PRG:77FE A9 30 sta ZpC4 ; CPU:$F800 PRG:7800 85 C4 sta ZpC8 ; CPU:$F802 PRG:7802 85 C8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop84 -; Global: Branch target inside NmiHandler: taken when Loop84. +; Routine: NmiHandler_Loop690 +; Global: Branch target inside NmiHandler: taken when Loop690. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop84: +NmiHandler_Loop690: lda ZpFB ; CPU:$F804 PRG:7804 A5 FB - bne NmiHandler_Loop85 ; CPU:$F806 PRG:7806 D0 05 + bne NmiHandler_Loop691 ; CPU:$F806 PRG:7806 D0 05 lda ZpF5 ; CPU:$F808 PRG:7808 A5 F5 - bne NmiHandler_Loop86 ; CPU:$F80A PRG:780A D0 4B + bne NmiHandler_Loop692 ; CPU:$F80A PRG:780A D0 4B rts ; CPU:$F80C PRG:780C 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop85 -; Global: Branch target inside NmiHandler: taken when Loop85. +; Routine: NmiHandler_Loop691 +; Global: Branch target inside NmiHandler: taken when Loop691. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop85: +NmiHandler_Loop691: ldx #$01 ; CPU:$F80D PRG:780D A2 01 stx ZpDA ; CPU:$F80F PRG:780F 86 DA cmp #$40 ; CPU:$F811 PRG:7811 C9 40 - bne NmiHandler_OnNonzero15 ; CPU:$F813 PRG:7813 D0 08 + bne NmiHandler_OnNonzero92 ; CPU:$F813 PRG:7813 D0 08 lda ZpF5 ; CPU:$F815 PRG:7815 A5 F5 and #$13 ; CPU:$F817 PRG:7817 29 13 sta ZpE2 ; CPU:$F819 PRG:7819 85 E2 lda ZpFB ; CPU:$F81B PRG:781B A5 FB ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero15 -; Global: Branch target inside NmiHandler: taken when OnNonzero15. +; Routine: NmiHandler_OnNonzero92 +; Global: Branch target inside NmiHandler: taken when OnNonzero92. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero15: +NmiHandler_OnNonzero92: sta ZpF5 ; CPU:$F81D PRG:781D 85 F5 ldy #$00 ; CPU:$F81F PRG:781F A0 00 sty ZpF0 ; CPU:$F821 PRG:7821 84 F0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnCarryClear -; Global: Branch target inside NmiHandler: taken when the addition or subtraction did not carry. +; Routine: NmiHandler_OnCarryClear4 +; Global: Branch target inside NmiHandler: taken when OnCarryClear4. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnCarryClear: +NmiHandler_OnCarryClear4: iny ; CPU:$F823 PRG:7823 C8 lsr a ; CPU:$F824 PRG:7824 4A - bcc NmiHandler_OnCarryClear ; CPU:$F825 PRG:7825 90 FC + bcc NmiHandler_OnCarryClear4 ; CPU:$F825 PRG:7825 90 FC lda $FA71,y ; CPU:$F827 PRG:7827 B9 71 FA tay ; CPU:$F82A PRG:782A A8 lda $FA72,y ; CPU:$F82B PRG:782B B9 72 FA @@ -4283,35 +19998,35 @@ NmiHandler_OnCarryClear: lda #$7F ; CPU:$F853 PRG:7853 A9 7F sta ZpDE ; CPU:$F855 PRG:7855 85 DE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop86 -; Global: Branch target inside NmiHandler: taken when Loop86. +; Routine: NmiHandler_Loop692 +; Global: Branch target inside NmiHandler: taken when Loop692. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop86: +NmiHandler_Loop692: dec ZpC2 ; CPU:$F857 PRG:7857 C6 C2 - bne NmiHandler_Loop91 ; CPU:$F859 PRG:7859 D0 70 + bne NmiHandler_Loop697 ; CPU:$F859 PRG:7859 D0 70 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero16 -; Global: Branch target inside NmiHandler: taken when OnNonzero16. +; Routine: NmiHandler_OnNonzero93 +; Global: Branch target inside NmiHandler: taken when OnNonzero93. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero16: +NmiHandler_OnNonzero93: ldy ZpF0 ; CPU:$F85B PRG:785B A4 F0 inc ZpF0 ; CPU:$F85D PRG:785D E6 F0 lda (ZpF9),y ; CPU:$F85F PRG:785F B1 F9 - beq NmiHandler_Loop87 ; CPU:$F861 PRG:7861 F0 1B + beq NmiHandler_Loop693 ; CPU:$F861 PRG:7861 F0 1B cmp #$01 ; CPU:$F863 PRG:7863 C9 01 - bne NmiHandler_Loop92 ; CPU:$F865 PRG:7865 D0 67 + bne NmiHandler_Loop698 ; CPU:$F865 PRG:7865 D0 67 inc ZpDA ; CPU:$F867 PRG:7867 E6 DA lda ZpDA ; CPU:$F869 PRG:7869 A5 DA lsr a ; CPU:$F86B PRG:786B 4A - bcc NmiHandler_OnNonzero16 ; CPU:$F86C PRG:786C 90 ED + bcc NmiHandler_OnNonzero93 ; CPU:$F86C PRG:786C 90 ED lda ZpF0 ; CPU:$F86E PRG:786E A5 F0 clc ; CPU:$F870 PRG:7870 18 adc #$05 ; CPU:$F871 PRG:7871 69 05 @@ -4320,36 +20035,36 @@ NmiHandler_OnNonzero16: clc ; CPU:$F877 PRG:7877 18 adc #$09 ; CPU:$F878 PRG:7878 69 09 sta ZpF8 ; CPU:$F87A PRG:787A 85 F8 - bne NmiHandler_OnNonzero16 ; CPU:$F87C PRG:787C D0 DD + bne NmiHandler_OnNonzero93 ; CPU:$F87C PRG:787C D0 DD ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop87 -; Global: Branch target inside NmiHandler: taken when Loop87. +; Routine: NmiHandler_Loop693 +; Global: Branch target inside NmiHandler: taken when Loop693. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop87: +NmiHandler_Loop693: lda ZpF5 ; CPU:$F87E PRG:787E A5 F5 cmp #$80 ; CPU:$F880 PRG:7880 C9 80 - bne NmiHandler_Loop88 ; CPU:$F882 PRG:7882 D0 04 + bne NmiHandler_Loop694 ; CPU:$F882 PRG:7882 D0 04 lda ZpE2 ; CPU:$F884 PRG:7884 A5 E2 - bne NmiHandler_OnNonzero15 ; CPU:$F886 PRG:7886 D0 95 + bne NmiHandler_OnNonzero92 ; CPU:$F886 PRG:7886 D0 95 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop88 -; Global: Branch target inside NmiHandler: taken when Loop88. +; Routine: NmiHandler_Loop694 +; Global: Branch target inside NmiHandler: taken when Loop694. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop88: +NmiHandler_Loop694: lda ZpF5 ; CPU:$F888 PRG:7888 A5 F5 and #$03 ; CPU:$F88A PRG:788A 29 03 - bne NmiHandler_OnNonzero15 ; CPU:$F88C PRG:788C D0 8F + bne NmiHandler_OnNonzero92 ; CPU:$F88C PRG:788C D0 8F lda ZpF5 ; CPU:$F88E PRG:788E A5 F5 and #$10 ; CPU:$F890 PRG:7890 29 10 - bne NmiHandler_Loop89 ; CPU:$F892 PRG:7892 D0 0B + bne NmiHandler_Loop695 ; CPU:$F892 PRG:7892 D0 0B ; ----------------------------------------------------------------------------- ; Routine: Sub_F894 ; Global: Branch target inside Sub: taken when F894. @@ -4361,141 +20076,141 @@ NmiHandler_Loop88: Sub_F894: lda #$00 ; CPU:$F894 PRG:7894 A9 00 sta ZpF5 ; CPU:$F896 PRG:7896 85 F5 - jsr NmiHandler_Loop58 ; CPU:$F898 PRG:7898 20 45 F6 + jsr NmiHandler_Loop664 ; CPU:$F898 PRG:7898 20 45 F6 sta APUPULSE2CTRL ; CPU:$F89B PRG:789B 8D 04 40 rts ; CPU:$F89E PRG:789E 60 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop89 -; Global: Branch target inside NmiHandler: taken when Loop89. +; Routine: NmiHandler_Loop695 +; Global: Branch target inside NmiHandler: taken when Loop695. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop89: +NmiHandler_Loop695: lda ZpC0 ; CPU:$F89F PRG:789F A5 C0 and #$01 ; CPU:$F8A1 PRG:78A1 29 01 - bne NmiHandler_Loop90 ; CPU:$F8A3 PRG:78A3 D0 0A + bne NmiHandler_Loop696 ; CPU:$F8A3 PRG:78A3 D0 0A ldx ZpC0 ; CPU:$F8A5 PRG:78A5 A6 C0 inx ; CPU:$F8A7 PRG:78A7 E8 stx ZpC0 ; CPU:$F8A8 PRG:78A8 86 C0 lda #$10 ; CPU:$F8AA PRG:78AA A9 10 - jmp NmiHandler_OnNonzero15 ; CPU:$F8AC PRG:78AC 4C 1D F8 + jmp NmiHandler_OnNonzero92 ; CPU:$F8AC PRG:78AC 4C 1D F8 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop90 -; Global: Branch target inside NmiHandler: taken when Loop90. +; Routine: NmiHandler_Loop696 +; Global: Branch target inside NmiHandler: taken when Loop696. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop90: +NmiHandler_Loop696: jmp Sub_F894 ; CPU:$F8AF PRG:78AF 4C 94 F8 ; ---- data $F8B2-$F8CA (25 bytes) ---- ; referenced by `lda $F8B2,x` at $F8FF (operand $F8B2 falls inside this region) .byte $7F, $7C, $78, $74, $70, $6C, $68, $64, $60, $5C, $58, $54, $50, $4C, $48, $44 ; CPU:$F8B2 PRG:78B2 7F 7C 78 74 70 6C 68 64 60 5C 58 54 50 4C 48 44 .byte $40, $38, $30, $28, $20, $18, $10, $08, $00 ; CPU:$F8C2 PRG:78C2 40 38 30 28 20 18 10 08 00 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop91 -; Global: Branch target inside NmiHandler: taken when Loop91. +; Routine: NmiHandler_Loop697 +; Global: Branch target inside NmiHandler: taken when Loop697. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop91: +NmiHandler_Loop697: jmp Sub_F91A ; CPU:$F8CB PRG:78CB 4C 1A F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop92 -; Global: Branch target inside NmiHandler: taken when Loop92. +; Routine: NmiHandler_Loop698 +; Global: Branch target inside NmiHandler: taken when Loop698. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop92: +NmiHandler_Loop698: jsr Sub_FA20 ; CPU:$F8CE PRG:78CE 20 20 FA sta ZpC2 ; CPU:$F8D1 PRG:78D1 85 C2 lda ZpF3 ; CPU:$F8D3 PRG:78D3 A5 F3 - bne NmiHandler_Loop103 ; CPU:$F8D5 PRG:78D5 D0 78 + bne NmiHandler_Loop709 ; CPU:$F8D5 PRG:78D5 D0 78 txa ; CPU:$F8D7 PRG:78D7 8A and #$3E ; CPU:$F8D8 PRG:78D8 29 3E jsr Sub_F572 ; CPU:$F8DA PRG:78DA 20 72 F5 tay ; CPU:$F8DD PRG:78DD A8 - beq NmiHandler_Loop96 ; CPU:$F8DE PRG:78DE F0 29 + beq NmiHandler_Loop702 ; CPU:$F8DE PRG:78DE F0 29 lda ZpF5 ; CPU:$F8E0 PRG:78E0 A5 F5 cmp #$10 ; CPU:$F8E2 PRG:78E2 C9 10 - bne NmiHandler_Loop95 ; CPU:$F8E4 PRG:78E4 D0 21 + bne NmiHandler_Loop701 ; CPU:$F8E4 PRG:78E4 D0 21 lda ZpC0 ; CPU:$F8E6 PRG:78E6 A5 C0 cmp #$01 ; CPU:$F8E8 PRG:78E8 C9 01 - bcs NmiHandler_Loop93 ; CPU:$F8EA PRG:78EA B0 04 + bcs NmiHandler_Loop699 ; CPU:$F8EA PRG:78EA B0 04 ldy #$18 ; CPU:$F8EC PRG:78EC A0 18 - bne NmiHandler_Loop96 ; CPU:$F8EE PRG:78EE D0 19 + bne NmiHandler_Loop702 ; CPU:$F8EE PRG:78EE D0 19 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop93 -; Global: Branch target inside NmiHandler: taken when Loop93. +; Routine: NmiHandler_Loop699 +; Global: Branch target inside NmiHandler: taken when Loop699. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop93: +NmiHandler_Loop699: lda ZpC4 ; CPU:$F8F0 PRG:78F0 A5 C4 cmp #$00 ; CPU:$F8F2 PRG:78F2 C9 00 - beq NmiHandler_Loop94 ; CPU:$F8F4 PRG:78F4 F0 07 + beq NmiHandler_Loop700 ; CPU:$F8F4 PRG:78F4 F0 07 ldy ZpC4 ; CPU:$F8F6 PRG:78F6 A4 C4 dey ; CPU:$F8F8 PRG:78F8 88 sty ZpC4 ; CPU:$F8F9 PRG:78F9 84 C4 tya ; CPU:$F8FB PRG:78FB 98 lsr a ; CPU:$F8FC PRG:78FC 4A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop94 -; Global: Branch target inside NmiHandler: taken when Loop94. +; Routine: NmiHandler_Loop700 +; Global: Branch target inside NmiHandler: taken when Loop700. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop94: +NmiHandler_Loop700: tay ; CPU:$F8FD PRG:78FD A8 tax ; CPU:$F8FE PRG:78FE AA lda $F8B2,x ; CPU:$F8FF PRG:78FF BD B2 F8 sta ZpEC ; CPU:$F902 PRG:7902 85 EC - jmp NmiHandler_Loop96 ; CPU:$F904 PRG:7904 4C 09 F9 + jmp NmiHandler_Loop702 ; CPU:$F904 PRG:7904 4C 09 F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop95 -; Global: Branch target inside NmiHandler: taken when Loop95. +; Routine: NmiHandler_Loop701 +; Global: Branch target inside NmiHandler: taken when Loop701. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop95: +NmiHandler_Loop701: ldy #$0E ; CPU:$F907 PRG:7907 A0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop96 -; Global: Branch target inside NmiHandler: taken when Loop96. +; Routine: NmiHandler_Loop702 +; Global: Branch target inside NmiHandler: taken when Loop702. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop96: +NmiHandler_Loop702: sty ZpDF ; CPU:$F909 PRG:7909 84 DF ldx #$84 ; CPU:$F90B PRG:790B A2 84 lda ZpC2 ; CPU:$F90D PRG:790D A5 C2 cmp #$10 ; CPU:$F90F PRG:790F C9 10 - bcs NmiHandler_Loop97 ; CPU:$F911 PRG:7911 B0 02 + bcs NmiHandler_Loop703 ; CPU:$F911 PRG:7911 B0 02 ldx #$82 ; CPU:$F913 PRG:7913 A2 82 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop97 -; Global: Branch target inside NmiHandler: taken when Loop97. +; Routine: NmiHandler_Loop703 +; Global: Branch target inside NmiHandler: taken when Loop703. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop97: +NmiHandler_Loop703: ldy #$7F ; CPU:$F915 PRG:7915 A0 7F jsr Sub_F56B ; CPU:$F917 PRG:7917 20 6B F5 ; ----------------------------------------------------------------------------- @@ -4509,253 +20224,253 @@ NmiHandler_Loop97: Sub_F91A: lda ZpF5 ; CPU:$F91A PRG:791A A5 F5 and #$12 ; CPU:$F91C PRG:791C 29 12 - beq NmiHandler_Loop103 ; CPU:$F91E PRG:791E F0 2F + beq NmiHandler_Loop709 ; CPU:$F91E PRG:791E F0 2F lda ZpFB ; CPU:$F920 PRG:7920 A5 FB cmp #$02 ; CPU:$F922 PRG:7922 C9 02 - bne NmiHandler_Loop98 ; CPU:$F924 PRG:7924 D0 05 + bne NmiHandler_Loop704 ; CPU:$F924 PRG:7924 D0 05 lda #$10 ; CPU:$F926 PRG:7926 A9 10 sta APUPULSE1CTRL ; CPU:$F928 PRG:7928 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop98 -; Global: Branch target inside NmiHandler: taken when Loop98. +; Routine: NmiHandler_Loop704 +; Global: Branch target inside NmiHandler: taken when Loop704. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop98: +NmiHandler_Loop704: lda ZpFD ; CPU:$F92B PRG:792B A5 FD - beq NmiHandler_Loop99 ; CPU:$F92D PRG:792D F0 05 + beq NmiHandler_Loop705 ; CPU:$F92D PRG:792D F0 05 lda #$10 ; CPU:$F92F PRG:792F A9 10 sta APUPULSE1CTRL ; CPU:$F931 PRG:7931 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop99 -; Global: Branch target inside NmiHandler: taken when Loop99. +; Routine: NmiHandler_Loop705 +; Global: Branch target inside NmiHandler: taken when Loop705. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop99: +NmiHandler_Loop705: lda ZpF3 ; CPU:$F934 PRG:7934 A5 F3 - bne NmiHandler_Loop103 ; CPU:$F936 PRG:7936 D0 17 + bne NmiHandler_Loop709 ; CPU:$F936 PRG:7936 D0 17 ldy ZpDF ; CPU:$F938 PRG:7938 A4 DF - beq NmiHandler_Loop100 ; CPU:$F93A PRG:793A F0 02 + beq NmiHandler_Loop706 ; CPU:$F93A PRG:793A F0 02 dec ZpDF ; CPU:$F93C PRG:793C C6 DF ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop100 -; Global: Branch target inside NmiHandler: taken when Loop100. +; Routine: NmiHandler_Loop706 +; Global: Branch target inside NmiHandler: taken when Loop706. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop100: +NmiHandler_Loop706: lda ZpF5 ; CPU:$F93E PRG:793E A5 F5 and #$02 ; CPU:$F940 PRG:7940 29 02 - beq NmiHandler_Loop101 ; CPU:$F942 PRG:7942 F0 05 + beq NmiHandler_Loop707 ; CPU:$F942 PRG:7942 F0 05 lda $FA62,y ; CPU:$F944 PRG:7944 B9 62 FA - bne NmiHandler_Loop102 ; CPU:$F947 PRG:7947 D0 03 + bne NmiHandler_Loop708 ; CPU:$F947 PRG:7947 D0 03 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop101 -; Global: Branch target inside NmiHandler: taken when Loop101. +; Routine: NmiHandler_Loop707 +; Global: Branch target inside NmiHandler: taken when Loop707. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop101: +NmiHandler_Loop707: lda $FA49,y ; CPU:$F949 PRG:7949 B9 49 FA ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop102 -; Global: Branch target inside NmiHandler: taken when Loop102. +; Routine: NmiHandler_Loop708 +; Global: Branch target inside NmiHandler: taken when Loop708. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop102: +NmiHandler_Loop708: sta APUPULSE2CTRL ; CPU:$F94C PRG:794C 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop103 -; Global: Branch target inside NmiHandler: taken when Loop103. +; Routine: NmiHandler_Loop709 +; Global: Branch target inside NmiHandler: taken when Loop709. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop103: +NmiHandler_Loop709: dec ZpC6 ; CPU:$F94F PRG:794F C6 C6 - bne NmiHandler_Loop109 ; CPU:$F951 PRG:7951 D0 54 + bne NmiHandler_Loop715 ; CPU:$F951 PRG:7951 D0 54 ldy ZpF4 ; CPU:$F953 PRG:7953 A4 F4 - beq NmiHandler_Loop111 ; CPU:$F955 PRG:7955 F0 62 + beq NmiHandler_Loop717 ; CPU:$F955 PRG:7955 F0 62 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_OnNonzero17 -; Global: Branch target inside NmiHandler: taken when OnNonzero17. +; Routine: NmiHandler_OnNonzero94 +; Global: Branch target inside NmiHandler: taken when OnNonzero94. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_OnNonzero17: +NmiHandler_OnNonzero94: ldy ZpF4 ; CPU:$F957 PRG:7957 A4 F4 inc ZpF4 ; CPU:$F959 PRG:7959 E6 F4 lda (ZpF9),y ; CPU:$F95B PRG:795B B1 F9 - bne NmiHandler_Loop104 ; CPU:$F95D PRG:795D D0 0A + bne NmiHandler_Loop710 ; CPU:$F95D PRG:795D D0 0A ldy ZpF4 ; CPU:$F95F PRG:795F A4 F4 inc ZpF4 ; CPU:$F961 PRG:7961 E6 F4 lda (ZpF9),y ; CPU:$F963 PRG:7963 B1 F9 sta ZpDE ; CPU:$F965 PRG:7965 85 DE - bne NmiHandler_OnNonzero17 ; CPU:$F967 PRG:7967 D0 EE + bne NmiHandler_OnNonzero94 ; CPU:$F967 PRG:7967 D0 EE ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop104 -; Global: Branch target inside NmiHandler: taken when Loop104. +; Routine: NmiHandler_Loop710 +; Global: Branch target inside NmiHandler: taken when Loop710. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop104: +NmiHandler_Loop710: jsr Sub_FA20 ; CPU:$F969 PRG:7969 20 20 FA sta ZpC6 ; CPU:$F96C PRG:796C 85 C6 lda ZpF3 ; CPU:$F96E PRG:796E A5 F3 - bne NmiHandler_Loop111 ; CPU:$F970 PRG:7970 D0 47 + bne NmiHandler_Loop717 ; CPU:$F970 PRG:7970 D0 47 txa ; CPU:$F972 PRG:7972 8A and #$3E ; CPU:$F973 PRG:7973 29 3E jsr Sub_F557 ; CPU:$F975 PRG:7975 20 57 F5 tay ; CPU:$F978 PRG:7978 A8 - beq NmiHandler_Loop108 ; CPU:$F979 PRG:7979 F0 23 + beq NmiHandler_Loop714 ; CPU:$F979 PRG:7979 F0 23 lda ZpF5 ; CPU:$F97B PRG:797B A5 F5 cmp #$10 ; CPU:$F97D PRG:797D C9 10 - bne NmiHandler_Loop107 ; CPU:$F97F PRG:797F D0 1B + bne NmiHandler_Loop713 ; CPU:$F97F PRG:797F D0 1B lda ZpC0 ; CPU:$F981 PRG:7981 A5 C0 cmp #$01 ; CPU:$F983 PRG:7983 C9 01 - bcs NmiHandler_Loop105 ; CPU:$F985 PRG:7985 B0 04 + bcs NmiHandler_Loop711 ; CPU:$F985 PRG:7985 B0 04 ldy #$18 ; CPU:$F987 PRG:7987 A0 18 - bne NmiHandler_Loop108 ; CPU:$F989 PRG:7989 D0 13 + bne NmiHandler_Loop714 ; CPU:$F989 PRG:7989 D0 13 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop105 -; Global: Branch target inside NmiHandler: taken when Loop105. +; Routine: NmiHandler_Loop711 +; Global: Branch target inside NmiHandler: taken when Loop711. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop105: +NmiHandler_Loop711: lda ZpC8 ; CPU:$F98B PRG:798B A5 C8 cmp #$00 ; CPU:$F98D PRG:798D C9 00 - beq NmiHandler_Loop106 ; CPU:$F98F PRG:798F F0 07 + beq NmiHandler_Loop712 ; CPU:$F98F PRG:798F F0 07 ldy ZpC8 ; CPU:$F991 PRG:7991 A4 C8 dey ; CPU:$F993 PRG:7993 88 sty ZpC8 ; CPU:$F994 PRG:7994 84 C8 tya ; CPU:$F996 PRG:7996 98 lsr a ; CPU:$F997 PRG:7997 4A ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop106 -; Global: Branch target inside NmiHandler: taken when Loop106. +; Routine: NmiHandler_Loop712 +; Global: Branch target inside NmiHandler: taken when Loop712. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop106: +NmiHandler_Loop712: tay ; CPU:$F998 PRG:7998 A8 - jmp NmiHandler_Loop108 ; CPU:$F999 PRG:7999 4C 9E F9 + jmp NmiHandler_Loop714 ; CPU:$F999 PRG:7999 4C 9E F9 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop107 -; Global: Branch target inside NmiHandler: taken when Loop107. +; Routine: NmiHandler_Loop713 +; Global: Branch target inside NmiHandler: taken when Loop713. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop107: +NmiHandler_Loop713: ldy #$0E ; CPU:$F99C PRG:799C A0 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop108 -; Global: Branch target inside NmiHandler: taken when Loop108. +; Routine: NmiHandler_Loop714 +; Global: Branch target inside NmiHandler: taken when Loop714. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop108: +NmiHandler_Loop714: sty ZpE0 ; CPU:$F99E PRG:799E 84 E0 ldx #$02 ; CPU:$F9A0 PRG:79A0 A2 02 ldy ZpDE ; CPU:$F9A2 PRG:79A2 A4 DE jsr Sub_F54D ; CPU:$F9A4 PRG:79A4 20 4D F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop109 -; Global: Branch target inside NmiHandler: taken when Loop109. +; Routine: NmiHandler_Loop715 +; Global: Branch target inside NmiHandler: taken when Loop715. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop109: +NmiHandler_Loop715: lda ZpF5 ; CPU:$F9A7 PRG:79A7 A5 F5 and #$10 ; CPU:$F9A9 PRG:79A9 29 10 - beq NmiHandler_Loop111 ; CPU:$F9AB PRG:79AB F0 0C + beq NmiHandler_Loop717 ; CPU:$F9AB PRG:79AB F0 0C ldy ZpE0 ; CPU:$F9AD PRG:79AD A4 E0 - beq NmiHandler_Loop110 ; CPU:$F9AF PRG:79AF F0 02 + beq NmiHandler_Loop716 ; CPU:$F9AF PRG:79AF F0 02 dec ZpE0 ; CPU:$F9B1 PRG:79B1 C6 E0 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop110 -; Global: Branch target inside NmiHandler: taken when Loop110. +; Routine: NmiHandler_Loop716 +; Global: Branch target inside NmiHandler: taken when Loop716. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop110: +NmiHandler_Loop716: lda $FA30,y ; CPU:$F9B3 PRG:79B3 B9 30 FA sta APUPULSE1CTRL ; CPU:$F9B6 PRG:79B6 8D 00 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop111 -; Global: Branch target inside NmiHandler: taken when Loop111. +; Routine: NmiHandler_Loop717 +; Global: Branch target inside NmiHandler: taken when Loop717. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop111: +NmiHandler_Loop717: ldy ZpF8 ; CPU:$F9B9 PRG:79B9 A4 F8 - beq NmiHandler_Loop114 ; CPU:$F9BB PRG:79BB F0 2D + beq NmiHandler_Loop720 ; CPU:$F9BB PRG:79BB F0 2D dec ZpCA ; CPU:$F9BD PRG:79BD C6 CA - bne NmiHandler_Loop114 ; CPU:$F9BF PRG:79BF D0 29 + bne NmiHandler_Loop720 ; CPU:$F9BF PRG:79BF D0 29 inc ZpF8 ; CPU:$F9C1 PRG:79C1 E6 F8 lda (ZpF9),y ; CPU:$F9C3 PRG:79C3 B1 F9 jsr Sub_FA20 ; CPU:$F9C5 PRG:79C5 20 20 FA sta ZpCA ; CPU:$F9C8 PRG:79C8 85 CA lda ZpF5 ; CPU:$F9CA PRG:79CA A5 F5 cmp #$02 ; CPU:$F9CC PRG:79CC C9 02 - bne NmiHandler_Loop112 ; CPU:$F9CE PRG:79CE D0 04 + bne NmiHandler_Loop718 ; CPU:$F9CE PRG:79CE D0 04 lda #$04 ; CPU:$F9D0 PRG:79D0 A9 04 - bne NmiHandler_Loop113 ; CPU:$F9D2 PRG:79D2 D0 0B + bne NmiHandler_Loop719 ; CPU:$F9D2 PRG:79D2 D0 0B ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop112 -; Global: Branch target inside NmiHandler: taken when Loop112. +; Routine: NmiHandler_Loop718 +; Global: Branch target inside NmiHandler: taken when Loop718. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop112: +NmiHandler_Loop718: lda ZpCA ; CPU:$F9D4 PRG:79D4 A5 CA clc ; CPU:$F9D6 PRG:79D6 18 adc #$FE ; CPU:$F9D7 PRG:79D7 69 FE cmp #$0E ; CPU:$F9D9 PRG:79D9 C9 0E - bcc NmiHandler_Loop113 ; CPU:$F9DB PRG:79DB 90 02 + bcc NmiHandler_Loop719 ; CPU:$F9DB PRG:79DB 90 02 lda #$0E ; CPU:$F9DD PRG:79DD A9 0E ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop113 -; Global: Branch target inside NmiHandler: taken when Loop113. +; Routine: NmiHandler_Loop719 +; Global: Branch target inside NmiHandler: taken when Loop719. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop113: +NmiHandler_Loop719: asl a ; CPU:$F9DF PRG:79DF 0A asl a ; CPU:$F9E0 PRG:79E0 0A sta APUTRIANGLECTRL ; CPU:$F9E1 PRG:79E1 8D 08 40 @@ -4763,19 +20478,19 @@ NmiHandler_Loop113: and #$3E ; CPU:$F9E5 PRG:79E5 29 3E jsr Sub_F576 ; CPU:$F9E7 PRG:79E7 20 76 F5 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop114 -; Global: Branch target inside NmiHandler: taken when Loop114. +; Routine: NmiHandler_Loop720 +; Global: Branch target inside NmiHandler: taken when Loop720. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop114: +NmiHandler_Loop720: lda ZpF5 ; CPU:$F9EA PRG:79EA A5 F5 and #$09 ; CPU:$F9EC PRG:79EC 29 09 - beq NmiHandler_Loop117 ; CPU:$F9EE PRG:79EE F0 2F + beq NmiHandler_Loop723 ; CPU:$F9EE PRG:79EE F0 2F dec ZpDD ; CPU:$F9F0 PRG:79F0 C6 DD - bne NmiHandler_Loop117 ; CPU:$F9F2 PRG:79F2 D0 2B + bne NmiHandler_Loop723 ; CPU:$F9F2 PRG:79F2 D0 2B ldy ZpDC ; CPU:$F9F4 PRG:79F4 A4 DC inc ZpDC ; CPU:$F9F6 PRG:79F6 E6 DC lda (ZpF9),y ; CPU:$F9F8 PRG:79F8 B1 F9 @@ -4783,46 +20498,46 @@ NmiHandler_Loop114: sta ZpDD ; CPU:$F9FD PRG:79FD 85 DD txa ; CPU:$F9FF PRG:79FF 8A and #$3E ; CPU:$FA00 PRG:7A00 29 3E - beq NmiHandler_Loop117 ; CPU:$FA02 PRG:7A02 F0 1B + beq NmiHandler_Loop723 ; CPU:$FA02 PRG:7A02 F0 1B and #$20 ; CPU:$FA04 PRG:7A04 29 20 - bne NmiHandler_Loop115 ; CPU:$FA06 PRG:7A06 D0 08 + bne NmiHandler_Loop721 ; CPU:$FA06 PRG:7A06 D0 08 lda #$00 ; CPU:$FA08 PRG:7A08 A9 00 ldx #$01 ; CPU:$FA0A PRG:7A0A A2 01 ldy #$08 ; CPU:$FA0C PRG:7A0C A0 08 - bne NmiHandler_Loop116 ; CPU:$FA0E PRG:7A0E D0 06 + bne NmiHandler_Loop722 ; CPU:$FA0E PRG:7A0E D0 06 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop115 -; Global: Branch target inside NmiHandler: taken when Loop115. +; Routine: NmiHandler_Loop721 +; Global: Branch target inside NmiHandler: taken when Loop721. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop115: +NmiHandler_Loop721: lda #$00 ; CPU:$FA10 PRG:7A10 A9 00 ldx #$02 ; CPU:$FA12 PRG:7A12 A2 02 ldy #$08 ; CPU:$FA14 PRG:7A14 A0 08 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop116 -; Global: Branch target inside NmiHandler: taken when Loop116. +; Routine: NmiHandler_Loop722 +; Global: Branch target inside NmiHandler: taken when Loop722. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop116: +NmiHandler_Loop722: sta APUNOISECTRL ; CPU:$FA16 PRG:7A16 8D 0C 40 stx APUNOISEPERIOD ; CPU:$FA19 PRG:7A19 8E 0E 40 sty APUNOISELENGTH ; CPU:$FA1C PRG:7A1C 8C 0F 40 ; ----------------------------------------------------------------------------- -; Routine: NmiHandler_Loop117 -; Global: Branch target inside NmiHandler: taken when Loop117. +; Routine: NmiHandler_Loop723 +; Global: Branch target inside NmiHandler: taken when Loop723. ; Local: Part of NmiHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -NmiHandler_Loop117: +NmiHandler_Loop723: rts ; CPU:$FA1F PRG:7A1F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA20 @@ -4845,14 +20560,14 @@ Sub_FA20: tay ; CPU:$FA2B PRG:7A2B A8 lda $FF52,y ; CPU:$FA2C PRG:7A2C B9 52 FF rts ; CPU:$FA2F PRG:7A2F 60 -; ---- data $FA30-$FFF6 (1479 bytes) ---- -; referenced by `lda $FF01,y` at $F55A (operand $FF01 falls inside this region) -; referenced by `lda $FF00,y` at $F562 (operand $FF00 falls inside this region) -; referenced by `lda $FF60,y` at $F75E (operand $FF60 falls inside this region) -; referenced by `lda $FFB3,y` at $F7C6 (operand $FFB3 falls inside this region) -; referenced by `lda $FF9F,y` at $F7CC (operand $FF9F falls inside this region) -; referenced by `lda $FFD7,y` at $F7E1 (operand $FFD7 falls inside this region) -; ... and 12 further references from decoded code +; ---- data $FA30-$FB05 (214 bytes) ---- +; referenced by `lda $FA71,y` at $F827 (operand $FA71 falls inside this region) +; referenced by `lda $FA72,y` at $F82B (operand $FA72 falls inside this region) +; referenced by `lda $FA73,y` at $F830 (operand $FA73 falls inside this region) +; referenced by `lda $FA74,y` at $F835 (operand $FA74 falls inside this region) +; referenced by `lda $FA75,y` at $F83A (operand $FA75 falls inside this region) +; referenced by `lda $FA76,y` at $F83F (operand $FA76 falls inside this region) +; ... and 4 further references from decoded code .byte $10, $11, $11, $11, $11, $12, $12, $12, $12, $13, $13, $13, $14, $14, $14, $15 ; CPU:$FA30 PRG:7A30 10 11 11 11 11 12 12 12 12 13 13 13 14 14 14 15 .byte $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $90, $91, $91, $91, $91, $92, $92 ; CPU:$FA40 PRG:7A40 16 17 18 19 1A 1B 1C 1D 1E 90 91 91 91 91 92 92 .byte $92, $92, $93, $93, $93, $94, $94, $94, $95, $96, $97, $98, $99, $9A, $9B, $9C ; CPU:$FA50 PRG:7A50 92 92 93 93 93 94 94 94 95 96 97 98 99 9A 9B 9C @@ -4866,86 +20581,107 @@ Sub_FA20: .byte $64, $5A, $84, $68, $62, $44, $68, $44, $5A, $84, $68, $62, $44, $68, $44, $5E ; CPU:$FAD0 PRG:7AD0 64 5A 84 68 62 44 68 44 5A 84 68 62 44 68 44 5E .byte $88, $6C, $64, $48, $6C, $48, $64, $84, $6C, $68, $48, $70, $48, $40, $20, $A1 ; CPU:$FAE0 PRG:7AE0 88 6C 64 48 6C 48 64 84 6C 68 48 70 48 40 20 A1 .byte $40, $A0, $A0, $A0, $20, $A1, $40, $A0, $A0, $A0, $20, $A1, $40, $A0, $A0, $A0 ; CPU:$FAF0 PRG:7AF0 40 A0 A0 A0 20 A1 40 A0 A0 A0 20 A1 40 A0 A0 A0 - .byte $20, $A1, $40, $A0, $A0, $60, $68, $66, $68, $8C, $88, $84, $6C, $02, $A3, $28 ; CPU:$FB00 PRG:7B00 20 A1 40 A0 A0 60 68 66 68 8C 88 84 6C 02 A3 28 - .byte $A7, $28, $A7, $28, $A7, $28, $A7, $68, $68, $6C, $68, $8C, $88, $84, $70, $02 ; CPU:$FB10 PRG:7B10 A7 28 A7 28 A7 28 A7 68 68 6C 68 8C 88 84 70 02 - .byte $85, $2C, $AB, $2C, $AB, $2C, $AB, $2C, $AB, $6C, $6C, $6A, $6C, $8E, $88, $8C ; CPU:$FB20 PRG:7B20 85 2C AB 2C AB 2C AB 2C AB 6C 6C 6A 6C 8E 88 8C - .byte $8E, $92, $8C, $84, $70, $02, $85, $6C, $6C, $6A, $6C, $01, $B0, $84, $C8, $42 ; CPU:$FB30 PRG:7B30 8E 92 8C 84 70 02 85 6C 6C 6A 6C 01 B0 84 C8 42 - .byte $00, $8C, $8C, $C4, $42, $44, $70, $44, $AC, $84, $88, $44, $02, $89, $4C, $84 ; CPU:$FB40 PRG:7B40 00 8C 8C C4 42 44 70 44 AC 84 88 44 02 89 4C 84 - .byte $A8, $68, $66, $68, $6A, $AA, $6A, $AC, $B0, $04, $AD, $22, $AD, $04, $AD, $22 ; CPU:$FB50 PRG:7B50 A8 68 66 68 6A AA 6A AC B0 04 AD 22 AD 04 AD 22 - .byte $AD, $44, $44, $70, $44, $AC, $65, $44, $70, $44, $A8, $AA, $6C, $6C, $70, $44 ; CPU:$FB60 PRG:7B60 AD 44 44 70 44 AC 65 44 70 44 A8 AA 6C 6C 70 44 - .byte $4E, $4E, $42, $4E, $0A, $4C, $83, $06, $48, $83, $C4, $42, $00, $43, $5A, $44 ; CPU:$FB70 PRG:7B70 4E 4E 42 4E 0A 4C 83 06 48 83 C4 42 00 43 5A 44 - .byte $68, $44, $6C, $4C, $44, $6C, $5A, $44, $68, $44, $5A, $44, $68, $44, $5A, $44 ; CPU:$FB80 PRG:7B80 68 44 6C 4C 44 6C 5A 44 68 44 5A 44 68 44 5A 44 - .byte $68, $44, $6A, $4C, $48, $4C, $48, $6C, $64, $6C, $5E, $44, $70, $44, $5E, $48 ; CPU:$FB90 PRG:7B90 68 44 6A 4C 48 4C 48 6C 64 6C 5E 44 70 44 5E 48 - .byte $46, $44, $70, $68, $6C, $70, $5A, $4C, $44, $68, $6C, $4C, $44, $4C, $5E, $48 ; CPU:$FBA0 PRG:7BA0 46 44 70 68 6C 70 5A 4C 44 68 6C 4C 44 4C 5E 48 - .byte $6C, $64, $66, $6C, $44, $4C, $68, $4E, $48, $70, $68, $68, $4E, $48, $70, $44 ; CPU:$FBB0 PRG:7BB0 6C 64 66 6C 44 4C 68 4E 48 70 68 68 4E 48 70 44 - .byte $68, $62, $68, $5A, $4C, $4A, $4C, $64, $44, $6C, $44, $66, $48, $6C, $48, $68 ; CPU:$FBC0 PRG:7BC0 68 62 68 5A 4C 4A 4C 64 44 6C 44 66 48 6C 48 68 - .byte $52, $4C, $52, $68, $4C, $44, $4C, $62, $48, $70, $48, $6A, $4C, $48, $4C, $6C ; CPU:$FBD0 PRG:7BD0 52 4C 52 68 4C 44 4C 62 48 70 48 6A 4C 48 4C 6C - .byte $44, $4C, $44, $6C, $4C, $4A, $4C, $64, $44, $6C, $44, $6C, $4E, $44, $4E, $4C ; CPU:$FBE0 PRG:7BE0 44 4C 44 6C 4C 4A 4C 64 44 6C 44 6C 4E 44 4E 4C - .byte $44, $70, $62, $44, $4C, $6A, $6C, $64, $48, $6C, $48, $68, $4E, $70, $4E, $5A ; CPU:$FBF0 PRG:7BF0 44 70 62 44 4C 6A 6C 64 48 6C 48 68 4E 70 4E 5A - .byte $44, $68, $62, $5A, $69, $6A, $6D, $6E, $B0, $84, $48, $68, $66, $68, $A2, $64 ; CPU:$FC00 PRG:7C00 44 68 62 5A 69 6A 6D 6E B0 84 48 68 66 68 A2 64 - .byte $02, $A7, $A8, $0A, $4C, $83, $48, $02, $85, $70, $02, $85, $AC, $A2, $A4, $64 ; CPU:$FC10 PRG:7C10 02 A7 A8 0A 4C 83 48 02 85 70 02 85 AC A2 A4 64 - .byte $02, $A3, $9E, $6C, $02, $AB, $E8, $82, $62, $02, $A5, $A8, $6C, $02, $B1, $84 ; CPU:$FC20 PRG:7C20 02 A3 9E 6C 02 AB E8 82 62 02 A5 A8 6C 02 B1 84 - .byte $48, $02, $8D, $88, $44, $02, $89, $AC, $6A, $02, $AD, $4E, $AC, $6C, $2E, $70 ; CPU:$FC30 PRG:7C30 48 02 8D 88 44 02 89 AC 6A 02 AD 4E AC 6C 2E 70 - .byte $83, $2E, $70, $83, $05, $00, $65, $66, $69, $6A, $A8, $AC, $70, $5E, $5C, $5E ; CPU:$FC40 PRG:7C40 83 2E 70 83 05 00 65 66 69 6A A8 AC 70 5E 5C 5E - .byte $42, $9A, $5A, $1A, $9F, $22, $A5, $28, $AD, $30, $85, $2C, $A3, $2C, $A3, $2C ; CPU:$FC50 PRG:7C50 42 9A 5A 1A 9F 22 A5 28 AD 30 85 2C A3 2C A3 2C - .byte $A3, $2C, $A3, $22, $9F, $1A, $BF, $1A, $9F, $22, $9B, $1C, $9F, $1C, $9F, $1C ; CPU:$FC60 PRG:7C60 A3 2C A3 22 9F 1A BF 1A 9F 22 9B 1C 9F 1C 9F 1C - .byte $9F, $1C, $9F, $3A, $BF, $1A, $BF, $1E, $9D, $1A, $BF, $1E, $A3, $24, $A3, $1E ; CPU:$FC70 PRG:7C70 9F 1C 9F 3A BF 1A BF 1E 9D 1A BF 1E A3 24 A3 1E - .byte $9B, $3E, $9B, $1E, $9D, $1E, $9D, $1E, $9D, $1E, $9F, $1A, $BF, $1A, $BF, $1A ; CPU:$FC80 PRG:7C80 9B 3E 9B 1E 9D 1E 9D 1E 9D 1E 9F 1A BF 1A BF 1A - .byte $BF, $1A, $BF, $1A, $9F, $22, $A5, $28, $AD, $30, $85, $2C, $AB, $2C, $AB, $2C ; CPU:$FC90 PRG:7C90 BF 1A BF 1A 9F 22 A5 28 AD 30 85 2C AB 2C AB 2C - .byte $AB, $2C, $AB, $22, $9F, $1A, $BF, $1A, $9F, $22, $9B, $1E, $9D, $1E, $9D, $1E ; CPU:$FCA0 PRG:7CA0 AB 2C AB 22 9F 1A BF 1A 9F 22 9B 1E 9D 1E 9D 1E - .byte $A3, $24, $9F, $28, $A5, $22, $9F, $1A, $BF, $3A, $BF, $22, $62, $A3, $64, $68 ; CPU:$FCB0 PRG:7CB0 A3 24 9F 28 A5 22 9F 1A BF 3A BF 22 62 A3 64 68 - .byte $C4, $49, $4A, $4D, $4E, $8E, $8E, $52, $70, $6E, $70, $5A, $A8, $68, $5A, $68 ; CPU:$FCC0 PRG:7CC0 C4 49 4A 4D 4E 8E 8E 52 70 6E 70 5A A8 68 5A 68 - .byte $5A, $68, $6C, $A2, $62, $6C, $62, $6C, $62, $5E, $AC, $6C, $64, $6C, $64, $6C ; CPU:$FCD0 PRG:7CD0 5A 68 6C A2 62 6C 62 6C 62 5E AC 6C 64 6C 64 6C - .byte $70, $A8, $68, $66, $68, $70, $02, $B1, $5A, $A8, $68, $5A, $68, $5A, $68, $6C ; CPU:$FCE0 PRG:7CE0 70 A8 68 66 68 70 02 B1 5A A8 68 5A 68 5A 68 6C - .byte $A2, $62, $6C, $62, $6C, $62, $5E, $A4, $6C, $A8, $A8, $04, $44, $85, $48, $4C ; CPU:$FCF0 PRG:7CF0 A2 62 6C 62 6C 62 5E A4 6C A8 A8 04 44 85 48 4C - .byte $D2, $42, $68, $66, $68, $8C, $4A, $02, $8D, $92, $8C, $88, $46, $02, $89, $AC ; CPU:$FD00 PRG:7D00 D2 42 68 66 68 8C 4A 02 8D 92 8C 88 46 02 89 AC - .byte $84, $70, $A8, $4E, $8C, $88, $44, $2C, $A9, $20, $5E, $83, $DA, $00, $42, $5E ; CPU:$FD10 PRG:7D10 84 70 A8 4E 8C 88 44 2C A9 20 5E 83 DA 00 42 5E - .byte $5C, $5E, $42, $5A, $42, $5A, $1A, $9F, $22, $A5, $22, $A1, $22, $9B, $1C, $9F ; CPU:$FD20 PRG:7D20 5C 5E 42 5A 42 5A 1A 9F 22 A5 22 A1 22 9B 1C 9F - .byte $1C, $9F, $1C, $9F, $1C, $9F, $24, $A3, $1E, $9D, $1E, $A3, $24, $9F, $24, $A9 ; CPU:$FD30 PRG:7D30 1C 9F 1C 9F 1C 9F 24 A3 1E 9D 1E A3 24 9F 24 A9 - .byte $24, $A9, $24, $A9, $24, $A9, $30, $AD, $28, $A5, $28, $A5, $22, $9F, $68, $24 ; CPU:$FD40 PRG:7D40 24 A9 24 A9 24 A9 30 AD 28 A5 28 A5 22 9F 68 24 - .byte $A3, $1A, $7E, $83, $F6, $42, $70, $6E, $70, $5A, $A8, $68, $62, $44, $68, $44 ; CPU:$FD50 PRG:7D50 A3 1A 7E 83 F6 42 70 6E 70 5A A8 68 62 44 68 44 - .byte $5E, $AC, $6C, $64, $48, $6C, $48, $68, $88, $70, $68, $4E, $70, $4E, $4C, $04 ; CPU:$FD60 PRG:7D60 5E AC 6C 64 48 6C 48 68 88 70 68 4E 70 4E 4C 04 - .byte $85, $2C, $68, $83, $E2, $40, $60, $60, $A0, $A0, $A0, $A0, $A0, $A0, $A0, $A0 ; CPU:$FD70 PRG:7D70 85 2C 68 83 E2 40 60 60 A0 A0 A0 A0 A0 A0 A0 A0 - .byte $A0, $A0, $A0, $A0, $60, $E0, $C0, $02, $04, $04, $04, $6C, $44, $08, $44, $02 ; CPU:$FD80 PRG:7D80 A0 A0 A0 A0 60 E0 C0 02 04 04 04 6C 44 08 44 02 - .byte $4A, $48, $04, $6C, $02, $28, $6A, $6C, $6E, $30, $45, $00, $02, $28, $2C, $28 ; CPU:$FD90 PRG:7D90 4A 48 04 6C 02 28 6A 6C 6E 30 45 00 02 28 2C 28 - .byte $64, $6C, $2C, $6C, $02, $6C, $6C, $2C, $64, $02, $24, $66, $68, $6A, $28, $69 ; CPU:$FDA0 PRG:7DA0 64 6C 2C 6C 02 6C 6C 2C 64 02 24 66 68 6A 28 69 - .byte $02, $0C, $0E, $0C, $44, $4E, $0E, $4E, $02, $4E, $4E, $0E, $44, $02, $08, $4A ; CPU:$FDB0 PRG:7DB0 02 0C 0E 0C 44 4E 0E 4E 02 4E 4E 0E 44 02 08 4A - .byte $4C, $4E, $0E, $4D, $28, $A9, $68, $00, $1E, $A3, $5E, $30, $85, $70, $08, $70 ; CPU:$FDC0 PRG:7DC0 4C 4E 0E 4D 28 A9 68 00 1E A3 5E 30 85 70 08 70 - .byte $02, $6C, $68, $4C, $0A, $08, $04, $6C, $28, $02, $28, $02, $28, $66, $68, $6C ; CPU:$FDD0 PRG:7DD0 02 6C 68 4C 0A 08 04 6C 28 02 28 02 28 66 68 6C - .byte $22, $70, $22, $6C, $02, $2C, $02, $2C, $6A, $6C, $4E, $0C, $0A, $08, $44, $2C ; CPU:$FDE0 PRG:7DE0 22 70 22 6C 02 2C 02 2C 6A 6C 4E 0C 0A 08 44 2C - .byte $02, $2C, $02, $2C, $6A, $6C, $70, $28, $44, $28, $70, $02, $30, $02, $30, $6E ; CPU:$FDF0 PRG:7DF0 02 2C 02 2C 6A 6C 70 28 44 28 70 02 30 02 30 6E - .byte $70, $52, $0A, $0C, $12, $0A, $0C, $12, $0A, $0C, $12, $0A, $0C, $12, $0A, $0C ; CPU:$FE00 PRG:7E00 70 52 0A 0C 12 0A 0C 12 0A 0C 12 0A 0C 12 0A 0C - .byte $04, $6C, $2A, $6C, $70, $44, $08, $0C, $02, $0C, $0A, $0C, $0E, $4C, $48, $04 ; CPU:$FE10 PRG:7E10 04 6C 2A 6C 70 44 08 0C 02 0C 0A 0C 0E 4C 48 04 - .byte $6C, $0E, $4C, $48, $04, $6A, $02, $52, $10, $4E, $4C, $00, $30, $68, $02, $64 ; CPU:$FE20 PRG:7E20 6C 0E 4C 48 04 6A 02 52 10 4E 4C 00 30 68 02 64 - .byte $5E, $68, $26, $24, $22, $5A, $1A, $02, $22, $02, $22, $62, $62, $5A, $1A, $5A ; CPU:$FE30 PRG:7E30 5E 68 26 24 22 5A 1A 02 22 02 22 62 62 5A 1A 5A - .byte $1A, $5A, $02, $1A, $02, $1A, $5A, $5A, $6C, $28, $26, $24, $5E, $1E, $02, $24 ; CPU:$FE40 PRG:7E40 1A 5A 02 1A 02 1A 5A 5A 6C 28 26 24 5E 1E 02 24 - .byte $02, $24, $62, $64, $5E, $1E, $5E, $1E, $5E, $02, $1E, $02, $1E, $5E, $5E, $70 ; CPU:$FE50 PRG:7E50 02 24 62 64 5E 1E 5E 1E 5E 02 1E 02 1E 5E 5E 70 - .byte $28, $28, $30, $28, $28, $30, $28, $28, $30, $28, $28, $30, $28, $28, $2C, $62 ; CPU:$FE60 PRG:7E60 28 28 30 28 28 30 28 28 30 28 28 30 28 28 2C 62 - .byte $22, $62, $62, $6C, $2C, $2C, $02, $2C, $2C, $2C, $2C, $6C, $6C, $2C, $64, $2A ; CPU:$FE70 PRG:7E70 22 62 62 6C 2C 2C 02 2C 2C 2C 2C 6C 6C 2C 64 2A - .byte $6A, $6A, $2A, $64, $02, $70, $30, $70, $70, $12, $48, $02, $44, $70, $5A, $62 ; CPU:$FE80 PRG:7E80 6A 6A 2A 64 02 70 30 70 70 12 48 02 44 70 5A 62 - .byte $68, $62, $5A, $68, $5A, $68, $62, $6C, $62, $6C, $62, $6C, $62, $6C, $5E, $64 ; CPU:$FE90 PRG:7E90 68 62 5A 68 5A 68 62 6C 62 6C 62 6C 62 6C 5E 64 - .byte $6C, $64, $5E, $6C, $5E, $6C, $68, $5E, $68, $5E, $68, $5E, $68, $5E, $62, $68 ; CPU:$FEA0 PRG:7EA0 6C 64 5E 6C 5E 6C 68 5E 68 5E 68 5E 68 5E 62 68 - .byte $70, $68, $62, $68, $70, $68, $62, $6C, $44, $6C, $62, $6C, $44, $6C, $5E, $64 ; CPU:$FEB0 PRG:7EB0 70 68 62 68 70 68 62 6C 44 6C 62 6C 44 6C 5E 64 - .byte $6C, $64, $5E, $64, $6A, $64, $68, $70, $48, $4E, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC0 PRG:7EC0 6C 64 5E 64 6A 64 68 70 48 4E FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED0 PRG:7ED0 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:$FEE0 PRG:7EE0 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:$FEF0 PRG:7EF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $03, $57, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$FF00 PRG:7F00 03 57 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F - .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $70, $01, $AB, $01, $93, $01, $7C ; CPU:$FF10 PRG:7F10 00 96 00 8D 00 85 00 7E 00 70 01 AB 01 93 01 7C - .byte $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD, $00, $EE ; CPU:$FF20 PRG:7F20 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD 00 EE - .byte $00, $E1, $02, $80, $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4 ; CPU:$FF30 PRG:7F30 00 E1 02 80 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 - .byte $00, $69, $00, $53, $00, $3E, $00, $38, $00, $2F, $00, $23, $00, $1C, $02, $A6 ; CPU:$FF40 PRG:7F40 00 69 00 53 00 3E 00 38 00 2F 00 23 00 1C 02 A6 - .byte $05, $F3, $05, $0B, $16, $2C, $58, $21, $06, $06, $0C, $18, $30, $60, $24, $10 ; CPU:$FF50 PRG:7F50 05 F3 05 0B 16 2C 58 21 06 06 0C 18 30 60 24 10 - .byte $15, $15, $16, $16, $17, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $1F ; CPU:$FF60 PRG:7F60 15 15 16 16 17 17 18 19 1A 1B 1C 1D 1E 1E 1F 1F - .byte $1E, $1E, $1D, $1D, $1C, $1C, $1B, $1B, $1A, $1A, $1A, $1A, $1B, $1C, $1D, $1E ; CPU:$FF70 PRG:7F70 1E 1E 1D 1D 1C 1C 1B 1B 1A 1A 1A 1A 1B 1C 1D 1E - .byte $1F, $1F, $1F, $1E, $1E, $1D, $1D, $1C, $1C, $1B, $1B, $1A, $1A, $19, $19, $18 ; CPU:$FF80 PRG:7F80 1F 1F 1F 1E 1E 1D 1D 1C 1C 1B 1B 1A 1A 19 19 18 - .byte $18, $17, $17, $17, $17, $16, $16, $16, $15, $15, $14, $14, $13, $13, $14, $14 ; CPU:$FF90 PRG:7F90 18 17 17 17 17 16 16 16 15 15 14 14 13 13 14 14 - .byte $10, $17, $1F, $1F, $10, $10, $1F, $1E, $1C, $19, $1A, $1B, $1C, $10, $1F, $1F ; CPU:$FFA0 PRG:7FA0 10 17 1F 1F 10 10 1F 1E 1C 19 1A 1B 1C 10 1F 1F - .byte $1F, $1F, $1E, $1C, $02, $05, $05, $06, $06, $07, $08, $08, $0A, $0A, $0A, $0B ; CPU:$FFB0 PRG:7FB0 1F 1F 1E 1C 02 05 05 06 06 07 08 08 0A 0A 0A 0B - .byte $0C, $0D, $0E, $0D, $0E, $0E, $0F, $0F, $10, $1E, $1C, $1B, $10, $10, $1F, $1D ; CPU:$FFC0 PRG:7FC0 0C 0D 0E 0D 0E 0E 0F 0F 10 1E 1C 1B 10 10 1F 1D - .byte $1C, $10, $10, $1F, $1D, $1A, $18, $16, $0F, $0F, $0C, $0A, $0B, $0A, $0D, $0A ; CPU:$FFD0 PRG:7FD0 1C 10 10 1F 1D 1A 18 16 0F 0F 0C 0A 0B 0A 0D 0A - .byte $08, $08, $07, $0F, $0C, $09, $06, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE0 PRG:7FE0 08 08 07 0F 0C 09 06 03 FF FF FF FF FF FF FF FF - .byte $FF, $FF, $8D, $00, $FF, $FF, $FF ; CPU:$FFF0 PRG:7FF0 FF FF 8D 00 FF FF FF + .byte $20, $A1, $40, $A0, $A0, $60 ; CPU:$FB00 PRG:7B00 20 A1 40 A0 A0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_FB06 +; Global: Branch target inside Label: taken when FB06. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FB06: + pla ; CPU:$FB06 PRG:7B06 68 + ror Zp68 ; CPU:$FB07 PRG:7B07 66 68 + sty $8488 ; CPU:$FB09 PRG:7B09 8C 88 84 + jmp ($A302) ; CPU:$FB0C PRG:7B0C 6C 02 A3 +; ---- data $FB0F-$FFF6 (1256 bytes) ---- +; referenced by `adc $FCC4,x` at $C410 (operand $FCC4 falls inside this region) +; referenced by `lda $FF01,y` at $F55A (operand $FF01 falls inside this region) +; referenced by `lda $FF00,y` at $F562 (operand $FF00 falls inside this region) +; referenced by `lda $FF60,y` at $F75E (operand $FF60 falls inside this region) +; referenced by `lda $FFB3,y` at $F7C6 (operand $FFB3 falls inside this region) +; referenced by `lda $FF9F,y` at $F7CC (operand $FF9F falls inside this region) +; ... and 3 further references from decoded code + .byte $28, $A7, $28, $A7, $28, $A7, $28, $A7, $68, $68, $6C, $68, $8C, $88, $84, $70 ; CPU:$FB0F PRG:7B0F 28 A7 28 A7 28 A7 28 A7 68 68 6C 68 8C 88 84 70 + .byte $02, $85, $2C, $AB, $2C, $AB, $2C, $AB, $2C, $AB, $6C, $6C, $6A, $6C, $8E, $88 ; CPU:$FB1F PRG:7B1F 02 85 2C AB 2C AB 2C AB 2C AB 6C 6C 6A 6C 8E 88 + .byte $8C, $8E, $92, $8C, $84, $70, $02, $85, $6C, $6C, $6A, $6C, $01, $B0, $84, $C8 ; CPU:$FB2F PRG:7B2F 8C 8E 92 8C 84 70 02 85 6C 6C 6A 6C 01 B0 84 C8 + .byte $42, $00, $8C, $8C, $C4, $42, $44, $70, $44, $AC, $84, $88, $44, $02, $89, $4C ; CPU:$FB3F PRG:7B3F 42 00 8C 8C C4 42 44 70 44 AC 84 88 44 02 89 4C + .byte $84, $A8, $68, $66, $68, $6A, $AA, $6A, $AC, $B0, $04, $AD, $22, $AD, $04, $AD ; CPU:$FB4F PRG:7B4F 84 A8 68 66 68 6A AA 6A AC B0 04 AD 22 AD 04 AD + .byte $22, $AD, $44, $44, $70, $44, $AC, $65, $44, $70, $44, $A8, $AA, $6C, $6C, $70 ; CPU:$FB5F PRG:7B5F 22 AD 44 44 70 44 AC 65 44 70 44 A8 AA 6C 6C 70 + .byte $44, $4E, $4E, $42, $4E, $0A, $4C, $83, $06, $48, $83, $C4, $42, $00, $43, $5A ; CPU:$FB6F PRG:7B6F 44 4E 4E 42 4E 0A 4C 83 06 48 83 C4 42 00 43 5A + .byte $44, $68, $44, $6C, $4C, $44, $6C, $5A, $44, $68, $44, $5A, $44, $68, $44, $5A ; CPU:$FB7F PRG:7B7F 44 68 44 6C 4C 44 6C 5A 44 68 44 5A 44 68 44 5A + .byte $44, $68, $44, $6A, $4C, $48, $4C, $48, $6C, $64, $6C, $5E, $44, $70, $44, $5E ; CPU:$FB8F PRG:7B8F 44 68 44 6A 4C 48 4C 48 6C 64 6C 5E 44 70 44 5E + .byte $48, $46, $44, $70, $68, $6C, $70, $5A, $4C, $44, $68, $6C, $4C, $44, $4C, $5E ; CPU:$FB9F PRG:7B9F 48 46 44 70 68 6C 70 5A 4C 44 68 6C 4C 44 4C 5E + .byte $48, $6C, $64, $66, $6C, $44, $4C, $68, $4E, $48, $70, $68, $68, $4E, $48, $70 ; CPU:$FBAF PRG:7BAF 48 6C 64 66 6C 44 4C 68 4E 48 70 68 68 4E 48 70 + .byte $44, $68, $62, $68, $5A, $4C, $4A, $4C, $64, $44, $6C, $44, $66, $48, $6C, $48 ; CPU:$FBBF PRG:7BBF 44 68 62 68 5A 4C 4A 4C 64 44 6C 44 66 48 6C 48 + .byte $68, $52, $4C, $52, $68, $4C, $44, $4C, $62, $48, $70, $48, $6A, $4C, $48, $4C ; CPU:$FBCF PRG:7BCF 68 52 4C 52 68 4C 44 4C 62 48 70 48 6A 4C 48 4C + .byte $6C, $44, $4C, $44, $6C, $4C, $4A, $4C, $64, $44, $6C, $44, $6C, $4E, $44, $4E ; CPU:$FBDF PRG:7BDF 6C 44 4C 44 6C 4C 4A 4C 64 44 6C 44 6C 4E 44 4E + .byte $4C, $44, $70, $62, $44, $4C, $6A, $6C, $64, $48, $6C, $48, $68, $4E, $70, $4E ; CPU:$FBEF PRG:7BEF 4C 44 70 62 44 4C 6A 6C 64 48 6C 48 68 4E 70 4E + .byte $5A, $44, $68, $62, $5A, $69, $6A, $6D, $6E, $B0, $84, $48, $68, $66, $68, $A2 ; CPU:$FBFF PRG:7BFF 5A 44 68 62 5A 69 6A 6D 6E B0 84 48 68 66 68 A2 + .byte $64, $02, $A7, $A8, $0A, $4C, $83, $48, $02, $85, $70, $02, $85, $AC, $A2, $A4 ; CPU:$FC0F PRG:7C0F 64 02 A7 A8 0A 4C 83 48 02 85 70 02 85 AC A2 A4 + .byte $64, $02, $A3, $9E, $6C, $02, $AB, $E8, $82, $62, $02, $A5, $A8, $6C, $02, $B1 ; CPU:$FC1F PRG:7C1F 64 02 A3 9E 6C 02 AB E8 82 62 02 A5 A8 6C 02 B1 + .byte $84, $48, $02, $8D, $88, $44, $02, $89, $AC, $6A, $02, $AD, $4E, $AC, $6C, $2E ; CPU:$FC2F PRG:7C2F 84 48 02 8D 88 44 02 89 AC 6A 02 AD 4E AC 6C 2E + .byte $70, $83, $2E, $70, $83, $05, $00, $65, $66, $69, $6A, $A8, $AC, $70, $5E, $5C ; CPU:$FC3F PRG:7C3F 70 83 2E 70 83 05 00 65 66 69 6A A8 AC 70 5E 5C + .byte $5E, $42, $9A, $5A, $1A, $9F, $22, $A5, $28, $AD, $30, $85, $2C, $A3, $2C, $A3 ; CPU:$FC4F PRG:7C4F 5E 42 9A 5A 1A 9F 22 A5 28 AD 30 85 2C A3 2C A3 + .byte $2C, $A3, $2C, $A3, $22, $9F, $1A, $BF, $1A, $9F, $22, $9B, $1C, $9F, $1C, $9F ; CPU:$FC5F PRG:7C5F 2C A3 2C A3 22 9F 1A BF 1A 9F 22 9B 1C 9F 1C 9F + .byte $1C, $9F, $1C, $9F, $3A, $BF, $1A, $BF, $1E, $9D, $1A, $BF, $1E, $A3, $24, $A3 ; CPU:$FC6F PRG:7C6F 1C 9F 1C 9F 3A BF 1A BF 1E 9D 1A BF 1E A3 24 A3 + .byte $1E, $9B, $3E, $9B, $1E, $9D, $1E, $9D, $1E, $9D, $1E, $9F, $1A, $BF, $1A, $BF ; CPU:$FC7F PRG:7C7F 1E 9B 3E 9B 1E 9D 1E 9D 1E 9D 1E 9F 1A BF 1A BF + .byte $1A, $BF, $1A, $BF, $1A, $9F, $22, $A5, $28, $AD, $30, $85, $2C, $AB, $2C, $AB ; CPU:$FC8F PRG:7C8F 1A BF 1A BF 1A 9F 22 A5 28 AD 30 85 2C AB 2C AB + .byte $2C, $AB, $2C, $AB, $22, $9F, $1A, $BF, $1A, $9F, $22, $9B, $1E, $9D, $1E, $9D ; CPU:$FC9F PRG:7C9F 2C AB 2C AB 22 9F 1A BF 1A 9F 22 9B 1E 9D 1E 9D + .byte $1E, $A3, $24, $9F, $28, $A5, $22, $9F, $1A, $BF, $3A, $BF, $22, $62, $A3, $64 ; CPU:$FCAF PRG:7CAF 1E A3 24 9F 28 A5 22 9F 1A BF 3A BF 22 62 A3 64 + .byte $68, $C4, $49, $4A, $4D, $4E, $8E, $8E, $52, $70, $6E, $70, $5A, $A8, $68, $5A ; CPU:$FCBF PRG:7CBF 68 C4 49 4A 4D 4E 8E 8E 52 70 6E 70 5A A8 68 5A + .byte $68, $5A, $68, $6C, $A2, $62, $6C, $62, $6C, $62, $5E, $AC, $6C, $64, $6C, $64 ; CPU:$FCCF PRG:7CCF 68 5A 68 6C A2 62 6C 62 6C 62 5E AC 6C 64 6C 64 + .byte $6C, $70, $A8, $68, $66, $68, $70, $02, $B1, $5A, $A8, $68, $5A, $68, $5A, $68 ; CPU:$FCDF PRG:7CDF 6C 70 A8 68 66 68 70 02 B1 5A A8 68 5A 68 5A 68 + .byte $6C, $A2, $62, $6C, $62, $6C, $62, $5E, $A4, $6C, $A8, $A8, $04, $44, $85, $48 ; CPU:$FCEF PRG:7CEF 6C A2 62 6C 62 6C 62 5E A4 6C A8 A8 04 44 85 48 + .byte $4C, $D2, $42, $68, $66, $68, $8C, $4A, $02, $8D, $92, $8C, $88, $46, $02, $89 ; CPU:$FCFF PRG:7CFF 4C D2 42 68 66 68 8C 4A 02 8D 92 8C 88 46 02 89 + .byte $AC, $84, $70, $A8, $4E, $8C, $88, $44, $2C, $A9, $20, $5E, $83, $DA, $00, $42 ; CPU:$FD0F PRG:7D0F AC 84 70 A8 4E 8C 88 44 2C A9 20 5E 83 DA 00 42 + .byte $5E, $5C, $5E, $42, $5A, $42, $5A, $1A, $9F, $22, $A5, $22, $A1, $22, $9B, $1C ; CPU:$FD1F PRG:7D1F 5E 5C 5E 42 5A 42 5A 1A 9F 22 A5 22 A1 22 9B 1C + .byte $9F, $1C, $9F, $1C, $9F, $1C, $9F, $24, $A3, $1E, $9D, $1E, $A3, $24, $9F, $24 ; CPU:$FD2F PRG:7D2F 9F 1C 9F 1C 9F 1C 9F 24 A3 1E 9D 1E A3 24 9F 24 + .byte $A9, $24, $A9, $24, $A9, $24, $A9, $30, $AD, $28, $A5, $28, $A5, $22, $9F, $68 ; CPU:$FD3F PRG:7D3F A9 24 A9 24 A9 24 A9 30 AD 28 A5 28 A5 22 9F 68 + .byte $24, $A3, $1A, $7E, $83, $F6, $42, $70, $6E, $70, $5A, $A8, $68, $62, $44, $68 ; CPU:$FD4F PRG:7D4F 24 A3 1A 7E 83 F6 42 70 6E 70 5A A8 68 62 44 68 + .byte $44, $5E, $AC, $6C, $64, $48, $6C, $48, $68, $88, $70, $68, $4E, $70, $4E, $4C ; CPU:$FD5F PRG:7D5F 44 5E AC 6C 64 48 6C 48 68 88 70 68 4E 70 4E 4C + .byte $04, $85, $2C, $68, $83, $E2, $40, $60, $60, $A0, $A0, $A0, $A0, $A0, $A0, $A0 ; CPU:$FD6F PRG:7D6F 04 85 2C 68 83 E2 40 60 60 A0 A0 A0 A0 A0 A0 A0 + .byte $A0, $A0, $A0, $A0, $A0, $60, $E0, $C0, $02, $04, $04, $04, $6C, $44, $08, $44 ; CPU:$FD7F PRG:7D7F A0 A0 A0 A0 A0 60 E0 C0 02 04 04 04 6C 44 08 44 + .byte $02, $4A, $48, $04, $6C, $02, $28, $6A, $6C, $6E, $30, $45, $00, $02, $28, $2C ; CPU:$FD8F PRG:7D8F 02 4A 48 04 6C 02 28 6A 6C 6E 30 45 00 02 28 2C + .byte $28, $64, $6C, $2C, $6C, $02, $6C, $6C, $2C, $64, $02, $24, $66, $68, $6A, $28 ; CPU:$FD9F PRG:7D9F 28 64 6C 2C 6C 02 6C 6C 2C 64 02 24 66 68 6A 28 + .byte $69, $02, $0C, $0E, $0C, $44, $4E, $0E, $4E, $02, $4E, $4E, $0E, $44, $02, $08 ; CPU:$FDAF PRG:7DAF 69 02 0C 0E 0C 44 4E 0E 4E 02 4E 4E 0E 44 02 08 + .byte $4A, $4C, $4E, $0E, $4D, $28, $A9, $68, $00, $1E, $A3, $5E, $30, $85, $70, $08 ; CPU:$FDBF PRG:7DBF 4A 4C 4E 0E 4D 28 A9 68 00 1E A3 5E 30 85 70 08 + .byte $70, $02, $6C, $68, $4C, $0A, $08, $04, $6C, $28, $02, $28, $02, $28, $66, $68 ; CPU:$FDCF PRG:7DCF 70 02 6C 68 4C 0A 08 04 6C 28 02 28 02 28 66 68 + .byte $6C, $22, $70, $22, $6C, $02, $2C, $02, $2C, $6A, $6C, $4E, $0C, $0A, $08, $44 ; CPU:$FDDF PRG:7DDF 6C 22 70 22 6C 02 2C 02 2C 6A 6C 4E 0C 0A 08 44 + .byte $2C, $02, $2C, $02, $2C, $6A, $6C, $70, $28, $44, $28, $70, $02, $30, $02, $30 ; CPU:$FDEF PRG:7DEF 2C 02 2C 02 2C 6A 6C 70 28 44 28 70 02 30 02 30 + .byte $6E, $70, $52, $0A, $0C, $12, $0A, $0C, $12, $0A, $0C, $12, $0A, $0C, $12, $0A ; CPU:$FDFF PRG:7DFF 6E 70 52 0A 0C 12 0A 0C 12 0A 0C 12 0A 0C 12 0A + .byte $0C, $04, $6C, $2A, $6C, $70, $44, $08, $0C, $02, $0C, $0A, $0C, $0E, $4C, $48 ; CPU:$FE0F PRG:7E0F 0C 04 6C 2A 6C 70 44 08 0C 02 0C 0A 0C 0E 4C 48 + .byte $04, $6C, $0E, $4C, $48, $04, $6A, $02, $52, $10, $4E, $4C, $00, $30, $68, $02 ; CPU:$FE1F PRG:7E1F 04 6C 0E 4C 48 04 6A 02 52 10 4E 4C 00 30 68 02 + .byte $64, $5E, $68, $26, $24, $22, $5A, $1A, $02, $22, $02, $22, $62, $62, $5A, $1A ; CPU:$FE2F PRG:7E2F 64 5E 68 26 24 22 5A 1A 02 22 02 22 62 62 5A 1A + .byte $5A, $1A, $5A, $02, $1A, $02, $1A, $5A, $5A, $6C, $28, $26, $24, $5E, $1E, $02 ; CPU:$FE3F PRG:7E3F 5A 1A 5A 02 1A 02 1A 5A 5A 6C 28 26 24 5E 1E 02 + .byte $24, $02, $24, $62, $64, $5E, $1E, $5E, $1E, $5E, $02, $1E, $02, $1E, $5E, $5E ; CPU:$FE4F PRG:7E4F 24 02 24 62 64 5E 1E 5E 1E 5E 02 1E 02 1E 5E 5E + .byte $70, $28, $28, $30, $28, $28, $30, $28, $28, $30, $28, $28, $30, $28, $28, $2C ; CPU:$FE5F PRG:7E5F 70 28 28 30 28 28 30 28 28 30 28 28 30 28 28 2C + .byte $62, $22, $62, $62, $6C, $2C, $2C, $02, $2C, $2C, $2C, $2C, $6C, $6C, $2C, $64 ; CPU:$FE6F PRG:7E6F 62 22 62 62 6C 2C 2C 02 2C 2C 2C 2C 6C 6C 2C 64 + .byte $2A, $6A, $6A, $2A, $64, $02, $70, $30, $70, $70, $12, $48, $02, $44, $70, $5A ; CPU:$FE7F PRG:7E7F 2A 6A 6A 2A 64 02 70 30 70 70 12 48 02 44 70 5A + .byte $62, $68, $62, $5A, $68, $5A, $68, $62, $6C, $62, $6C, $62, $6C, $62, $6C, $5E ; CPU:$FE8F PRG:7E8F 62 68 62 5A 68 5A 68 62 6C 62 6C 62 6C 62 6C 5E + .byte $64, $6C, $64, $5E, $6C, $5E, $6C, $68, $5E, $68, $5E, $68, $5E, $68, $5E, $62 ; CPU:$FE9F PRG:7E9F 64 6C 64 5E 6C 5E 6C 68 5E 68 5E 68 5E 68 5E 62 + .byte $68, $70, $68, $62, $68, $70, $68, $62, $6C, $44, $6C, $62, $6C, $44, $6C, $5E ; CPU:$FEAF PRG:7EAF 68 70 68 62 68 70 68 62 6C 44 6C 62 6C 44 6C 5E + .byte $64, $6C, $64, $5E, $64, $6A, $64, $68, $70, $48, $4E, $FF, $FF, $FF, $FF, $FF ; CPU:$FEBF PRG:7EBF 64 6C 64 5E 64 6A 64 68 70 48 4E FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FECF PRG:7ECF 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:$FEDF PRG:7EDF 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:$FEEF PRG:7EEF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $03, $57, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00 ; CPU:$FEFF PRG:7EFF FF 03 57 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 + .byte $9F, $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $70, $01, $AB, $01, $93, $01 ; CPU:$FF0F PRG:7F0F 9F 00 96 00 8D 00 85 00 7E 00 70 01 AB 01 93 01 + .byte $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD, $00 ; CPU:$FF1F PRG:7F1F 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD 00 + .byte $EE, $00, $E1, $02, $80, $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01 ; CPU:$FF2F PRG:7F2F EE 00 E1 02 80 02 5C 02 3A 02 1A 01 FC 01 DF 01 + .byte $C4, $00, $69, $00, $53, $00, $3E, $00, $38, $00, $2F, $00, $23, $00, $1C, $02 ; CPU:$FF3F PRG:7F3F C4 00 69 00 53 00 3E 00 38 00 2F 00 23 00 1C 02 + .byte $A6, $05, $F3, $05, $0B, $16, $2C, $58, $21, $06, $06, $0C, $18, $30, $60, $24 ; CPU:$FF4F PRG:7F4F A6 05 F3 05 0B 16 2C 58 21 06 06 0C 18 30 60 24 + .byte $10, $15, $15, $16, $16, $17, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F ; CPU:$FF5F PRG:7F5F 10 15 15 16 16 17 17 18 19 1A 1B 1C 1D 1E 1E 1F + .byte $1F, $1E, $1E, $1D, $1D, $1C, $1C, $1B, $1B, $1A, $1A, $1A, $1A, $1B, $1C, $1D ; CPU:$FF6F PRG:7F6F 1F 1E 1E 1D 1D 1C 1C 1B 1B 1A 1A 1A 1A 1B 1C 1D + .byte $1E, $1F, $1F, $1F, $1E, $1E, $1D, $1D, $1C, $1C, $1B, $1B, $1A, $1A, $19, $19 ; CPU:$FF7F PRG:7F7F 1E 1F 1F 1F 1E 1E 1D 1D 1C 1C 1B 1B 1A 1A 19 19 + .byte $18, $18, $17, $17, $17, $17, $16, $16, $16, $15, $15, $14, $14, $13, $13, $14 ; CPU:$FF8F PRG:7F8F 18 18 17 17 17 17 16 16 16 15 15 14 14 13 13 14 + .byte $14, $10, $17, $1F, $1F, $10, $10, $1F, $1E, $1C, $19, $1A, $1B, $1C, $10, $1F ; CPU:$FF9F PRG:7F9F 14 10 17 1F 1F 10 10 1F 1E 1C 19 1A 1B 1C 10 1F + .byte $1F, $1F, $1F, $1E, $1C, $02, $05, $05, $06, $06, $07, $08, $08, $0A, $0A, $0A ; CPU:$FFAF PRG:7FAF 1F 1F 1F 1E 1C 02 05 05 06 06 07 08 08 0A 0A 0A + .byte $0B, $0C, $0D, $0E, $0D, $0E, $0E, $0F, $0F, $10, $1E, $1C, $1B, $10, $10, $1F ; CPU:$FFBF PRG:7FBF 0B 0C 0D 0E 0D 0E 0E 0F 0F 10 1E 1C 1B 10 10 1F + .byte $1D, $1C, $10, $10, $1F, $1D, $1A, $18, $16, $0F, $0F, $0C, $0A, $0B, $0A, $0D ; CPU:$FFCF PRG:7FCF 1D 1C 10 10 1F 1D 1A 18 16 0F 0F 0C 0A 0B 0A 0D + .byte $0A, $08, $08, $07, $0F, $0C, $09, $06, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFDF PRG:7FDF 0A 08 08 07 0F 0C 09 06 03 FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $8D, $00, $FF, $FF, $FF ; CPU:$FFEF PRG:7FEF FF FF FF 8D 00 FF FF FF ; ----------------------------------------------------------------------------- ; Routine: Sub_FFF7 ; Global: Branch target inside Sub: taken when FFF7. diff --git a/NROM/Sqoon (U)/README.md b/NROM/Sqoon (U)/README.md index 7fab709..18dfe1e 100644 --- a/NROM/Sqoon (U)/README.md +++ b/NROM/Sqoon (U)/README.md @@ -2,66 +2,75 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 18,471 / 32,768 bytes (56.4%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Vertical | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $8014 | | RESET vector | $8000 | | IRQ vector | $80F1 | -| ROM file | `Sqoon (U).nes` | -| SHA-256 | `a31def038dbf46af939474dc3ec6ec76f87fc5b9057dc8c0d240953cd88cdef5` | -### Header notes +## Power-on flow -- none +RESET enters at `$8000`: -## Open work + ldx #$FF ; CPU:$8000 PRG:0000 A2 FF + txs ; CPU:$8002 PRG:0002 9A + stx NmiFrameFlag ; CPU:$8003 PRG:0003 86 FE + jsr Sub_82B2 ; CPU:$8005 PRG:0005 20 B2 82 + jsr Sub_817B ; CPU:$8008 PRG:0008 20 7B 81 + lda #$00 ; CPU:$800B PRG:000B A9 00 + sta NmiFrameFlag ; CPU:$800D PRG:000D 85 FE + sta Zp9A ; CPU:$800F PRG:000F 85 9A + jmp Sub_80EE ; CPU:$8011 PRG:0011 4C EE 80 + pha ; CPU:$8014 PRG:0014 48 + lda NmiFrameFlag ; CPU:$8015 PRG:0015 A5 FE + beq NmiHandler_Loop ; CPU:$8017 PRG:0017 F0 03 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$8014`: -## Files + pha ; CPU:$8014 PRG:0014 48 + lda NmiFrameFlag ; CPU:$8015 PRG:0015 A5 FE + beq NmiHandler_Loop ; CPU:$8017 PRG:0017 F0 03 + jmp IrqHandler ; CPU:$8019 PRG:0019 4C F1 80 + inc NmiFrameFlag ; CPU:$801C PRG:001C E6 FE + inc FrameCounter ; CPU:$801E PRG:001E E6 54 + jsr Sub_8158 ; CPU:$8020 PRG:0020 20 58 81 + lda PpuCtrlShadow ; CPU:$8023 PRG:0023 A5 1D -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$833A-$83A2` (105 bytes) - `EnemyAnimationScriptTable` +- `$83C2-$83D3` (18 bytes) - `RoutinePointerTable` +- `$84A0-$84AF` (16 bytes) - `EnemyPathDeltaTable` +- `$85F3-$8606` (20 bytes) - `GameOverText` +- `$8690-$86A9` (26 bytes) - `EnemyGraphicTileIndexTable` +- `$8814-$8825` (18 bytes) - `LevelObjectDefinitionTable` +- `$8AB4-$8AD7` (36 bytes) - `EnemyTileIndexTable` +- `$8B48-$8B55` (14 bytes) - `PhaseLeftText` +- `$8BBD-$8BC7` (11 bytes) - `LevelStartParameterTable` +- `$8C41-$8C60` (32 bytes) - `EnemyMovementParameterTable` +- `$B5D5-$B5DD` (9 bytes) - `HomeDataText` +- `$BB39-$DC18` (8416 bytes) - `LevelGraphicData` +- `$DC6E-$DC8A` (29 bytes) - `EnemySpeedParameterTable` +- `$DD1A-$E08A` (881 bytes) - `SpriteGraphicData` +- `$E134-$E238` (261 bytes) - `EnemyHandlerPointerTable` +- `$E4B7-$F5D3` (4381 bytes) - `LevelCollisionData` +- `$FFE8-$FFFF` (24 bytes) - `VectorTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Sqoon (U)/labelmap.tsv b/NROM/Sqoon (U)/labelmap.tsv index 924d8a6..dc41175 100644 --- a/NROM/Sqoon (U)/labelmap.tsv +++ b/NROM/Sqoon (U)/labelmap.tsv @@ -49,77 +49,115 @@ 82EB IrqHandler_OnNonzero7 82F2 IrqHandler_OnNonzero8 8306 IrqHandler_OnNonzero9 +8323 Sub_8323 8324 Sub_8324 8326 IrqHandler_OnNonzero10 +832F Sub_832F 8331 IrqHandler_OnNonzero11 83A3 Sub_83A3 83E4 IrqHandler_Loop11 83EA IrqHandler_Loop12 -840D Sub_840D -8418 IrqHandler_Loop13 +83FB IrqHandler_Loop13 +840D IrqHandler_Loop14 +8418 IrqHandler_Loop15 +8419 IrqHandler_Loop16 841C Sub_841C 841E Sub_841E +8423 IrqHandler_Loop17 +8440 IrqHandler_Loop18 +8453 IrqHandler_Loop19 +846E Sub_846E +8487 Sub_8487 848D Sub_848D +8490 Sub_8490 +84B0 IrqHandler_Loop20 +84ED IrqHandler_Loop21 +84F6 IrqHandler_Loop22 +84FF IrqHandler_Loop23 +8508 IrqHandler_Loop24 850D Sub_850D -8527 IrqHandler_Loop14 -8543 IrqHandler_Loop15 -8546 IrqHandler_Loop16 +8512 IrqHandler_Loop25 +8527 IrqHandler_Loop26 +8536 IrqHandler_Loop27 +8543 IrqHandler_Loop28 +8546 IrqHandler_Loop29 855F Sub_855F 8567 IrqHandler_OnNonzero12 -8575 Sub_8575 -8592 IrqHandler_Loop17 -85A7 IrqHandler_Loop18 -85B4 IrqHandler_Loop19 -85B9 IrqHandler_Loop20 +8575 IrqHandler_Loop30 +857A IrqHandler_Loop31 +8586 IrqHandler_Loop32 +8592 IrqHandler_Loop33 +85A7 IrqHandler_Loop34 +85B4 IrqHandler_Loop35 +85B9 IrqHandler_Loop36 85CC IrqHandler_OnNonzero13 -85DC IrqHandler_Loop21 -860E IrqHandler_Loop22 -8619 IrqHandler_Loop23 +85DC IrqHandler_Loop37 +8607 Sub_8607 +860E IrqHandler_Loop38 +8619 IrqHandler_Loop39 +861C Sub_861C +8646 IrqHandler_Loop40 +8656 Sub_8656 865A IrqHandler_OnNonzero14 -8665 IrqHandler_Loop24 -8668 IrqHandler_Loop25 +8665 IrqHandler_Loop41 +8668 IrqHandler_Loop42 86AA Sub_86AA -86BF IrqHandler_Loop26 +86BF IrqHandler_Loop43 86D8 Sub_86D8 86DA IrqHandler_OnNonzero15 86E4 Sub_86E4 86F9 Sub_86F9 -8709 IrqHandler_Loop27 +8709 IrqHandler_Loop44 8718 Sub_8718 871B Sub_871B 8720 Sub_8720 -8732 IrqHandler_Loop28 -8754 IrqHandler_Loop29 +8732 IrqHandler_Loop45 +8754 IrqHandler_Loop46 875A IrqHandler_OnNonzero16 -877B IrqHandler_Loop30 +877B IrqHandler_Loop47 877D IrqHandler_OnNonzero17 -8791 IrqHandler_Loop31 -8792 IrqHandler_Loop32 -87A4 IrqHandler_Loop33 +8791 IrqHandler_Loop48 +8792 IrqHandler_Loop49 +87A4 IrqHandler_Loop50 +87AD Sub_87AD 87BB Sub_87BB +87BD Sub_87BD 87C7 IrqHandler_OnNonzero18 87D8 IrqHandler_OnNonzero19 87DA IrqHandler_OnNonzero20 87E9 Sub_87E9 -87F5 IrqHandler_Loop34 +87F5 IrqHandler_Loop51 8806 IrqHandler_OnNonzero21 -8813 IrqHandler_Loop35 +8813 IrqHandler_Loop52 8826 Sub_8826 8828 IrqHandler_OnNonzero22 -8831 IrqHandler_Loop36 +8831 IrqHandler_Loop53 8832 Sub_8832 8839 IrqHandler_OnNonzero23 8846 Sub_8846 -884D IrqHandler_Loop37 +884D IrqHandler_Loop54 8863 IrqHandler_OnNonzero24 -886D IrqHandler_Loop38 -8873 IrqHandler_Loop39 +886D IrqHandler_Loop55 +8873 IrqHandler_Loop56 8875 IrqHandler_OnNonzero25 -887C IrqHandler_Loop40 +887C IrqHandler_Loop57 +8885 Sub_8885 +88D9 Sub_88D9 +88DC Sub_88DC +88ED IrqHandler_Loop58 +88F5 IrqHandler_Loop59 +8906 IrqHandler_Loop60 +8914 IrqHandler_Loop61 +891E IrqHandler_Loop62 +8932 IrqHandler_Loop63 8949 Sub_8949 -89D0 IrqHandler_Loop41 -89D5 IrqHandler_Loop42 -8A0F IrqHandler_Loop43 +8951 Sub_8951 +8969 IrqHandler_Loop64 +8974 Sub_8974 +89BF IrqHandler_Loop65 +89D0 IrqHandler_Loop66 +89D5 IrqHandler_Loop67 +8A0F IrqHandler_Loop68 8A10 Sub_8A10 8A36 Sub_8A36 8A48 Sub_8A48 @@ -128,8 +166,8 @@ 8A93 IrqHandler_OnNonzero27 8AD8 Sub_8AD8 8ADE IrqHandler_OnNonzero28 -8AEB IrqHandler_Loop44 -8AF5 IrqHandler_Loop45 +8AEB IrqHandler_Loop69 +8AF5 IrqHandler_Loop70 8AFE Sub_8AFE 8B23 Sub_8B23 8B56 Sub_8B56 @@ -138,8 +176,8 @@ 8C1C Sub_8C1C 8C61 Sub_8C61 8C7C Sub_8C7C -8CE4 IrqHandler_Loop46 -8D0C IrqHandler_Loop47 +8CE4 IrqHandler_Loop71 +8D0C IrqHandler_Loop72 8D1B Sub_8D1B 8D1D IrqHandler_OnNonzero30 8D32 Sub_8D32 @@ -147,948 +185,968 @@ 8D6F Sub_8D6F 8D71 IrqHandler_OnNonzero32 8D7E Sub_8D7E -8D88 IrqHandler_Loop48 -8D92 IrqHandler_Loop49 -8D9C IrqHandler_Loop50 -8DA6 IrqHandler_Loop51 -8DB0 IrqHandler_Loop52 -8DBA IrqHandler_Loop53 -8DC4 IrqHandler_Loop54 -8DCE IrqHandler_Loop55 -8DD8 IrqHandler_Loop56 -8DE9 IrqHandler_Loop57 -8DF7 IrqHandler_Loop58 -8DFF IrqHandler_Loop59 +8D88 IrqHandler_Loop73 +8D92 IrqHandler_Loop74 +8D9C IrqHandler_Loop75 +8DA6 IrqHandler_Loop76 +8DB0 IrqHandler_Loop77 +8DBA IrqHandler_Loop78 +8DC4 IrqHandler_Loop79 +8DCE IrqHandler_Loop80 +8DD8 IrqHandler_Loop81 +8DE9 IrqHandler_Loop82 +8DF7 IrqHandler_Loop83 +8DFF IrqHandler_Loop84 8E00 Sub_8E00 -8E0B IrqHandler_Loop60 -8E35 IrqHandler_Loop61 -8E3A IrqHandler_Loop62 -8E47 IrqHandler_Loop63 -8E4E IrqHandler_Loop64 -8E5D IrqHandler_Loop65 -8E75 IrqHandler_Loop66 -8E7A IrqHandler_Loop67 -8E84 IrqHandler_Loop68 -8E99 IrqHandler_Loop69 -8EA4 IrqHandler_Loop70 -8EA7 IrqHandler_Loop71 -8EB8 IrqHandler_Loop72 -8EBC IrqHandler_Loop73 -8EE1 IrqHandler_Loop74 -8EE6 IrqHandler_Loop75 -8EF4 IrqHandler_Loop76 -8EFC IrqHandler_Loop77 -8F07 IrqHandler_Loop78 -8F12 IrqHandler_Loop79 -8F23 IrqHandler_Loop80 -8F36 IrqHandler_Loop81 -8F3D IrqHandler_Loop82 -8F50 IrqHandler_Loop83 -8F59 IrqHandler_Loop84 -8F62 IrqHandler_Loop85 -8F6B IrqHandler_Loop86 -8F74 IrqHandler_Loop87 -8F82 IrqHandler_Loop88 -8F88 IrqHandler_Loop89 +8E0B IrqHandler_Loop85 +8E35 IrqHandler_Loop86 +8E3A IrqHandler_Loop87 +8E47 IrqHandler_Loop88 +8E4E IrqHandler_Loop89 +8E5D IrqHandler_Loop90 +8E75 IrqHandler_Loop91 +8E7A IrqHandler_Loop92 +8E84 IrqHandler_Loop93 +8E99 IrqHandler_Loop94 +8EA4 IrqHandler_Loop95 +8EA7 IrqHandler_Loop96 +8EB8 IrqHandler_Loop97 +8EBC IrqHandler_Loop98 +8EE1 IrqHandler_Loop99 +8EE6 IrqHandler_Loop100 +8EF4 IrqHandler_Loop101 +8EFC IrqHandler_Loop102 +8F07 IrqHandler_Loop103 +8F12 IrqHandler_Loop104 +8F23 IrqHandler_Loop105 +8F36 IrqHandler_Loop106 +8F3D IrqHandler_Loop107 +8F50 IrqHandler_Loop108 +8F59 IrqHandler_Loop109 +8F62 IrqHandler_Loop110 +8F6B IrqHandler_Loop111 +8F74 IrqHandler_Loop112 +8F82 IrqHandler_Loop113 +8F88 IrqHandler_Loop114 8F8A IrqHandler_OnNonnegative2 -8FA9 IrqHandler_Loop90 -8FDC IrqHandler_Loop91 -8FEB IrqHandler_Loop92 -9011 IrqHandler_Loop93 -903C IrqHandler_Loop94 -9043 IrqHandler_Loop95 -9057 IrqHandler_Loop96 -9065 IrqHandler_Loop97 -9074 IrqHandler_Loop98 -907F IrqHandler_Loop99 -9088 IrqHandler_Loop100 +8FA9 IrqHandler_Loop115 +8FDC IrqHandler_Loop116 +8FEB IrqHandler_Loop117 +9011 IrqHandler_Loop118 +903C IrqHandler_Loop119 +9043 IrqHandler_Loop120 +9057 IrqHandler_Loop121 +9065 IrqHandler_Loop122 +9074 IrqHandler_Loop123 +907F IrqHandler_Loop124 +9088 IrqHandler_Loop125 9089 Sub_9089 -90A1 IrqHandler_Loop101 -90AF IrqHandler_Loop102 +90A1 IrqHandler_Loop126 +90AF IrqHandler_Loop127 90B0 Sub_90B0 -90BA IrqHandler_Loop103 -90CC IrqHandler_Loop104 -90DB IrqHandler_Loop105 -90E6 IrqHandler_Loop106 -90E9 IrqHandler_Loop107 -90F0 IrqHandler_Loop108 -9111 IrqHandler_Loop109 -912B IrqHandler_Loop110 -9140 IrqHandler_Loop111 -9155 IrqHandler_Loop112 -916A IrqHandler_Loop113 -917F IrqHandler_Loop114 -9198 IrqHandler_Loop115 -91B1 IrqHandler_Loop116 -91CA IrqHandler_Loop117 -91E3 IrqHandler_Loop118 -91FC IrqHandler_Loop119 -9215 IrqHandler_Loop120 -922E IrqHandler_Loop121 -9247 IrqHandler_Loop122 -925D IrqHandler_Loop123 +90BA IrqHandler_Loop128 +90CC IrqHandler_Loop129 +90DB IrqHandler_Loop130 +90E6 IrqHandler_Loop131 +90E9 IrqHandler_Loop132 +90F0 IrqHandler_Loop133 +9111 IrqHandler_Loop134 +912B IrqHandler_Loop135 +9140 IrqHandler_Loop136 +9155 IrqHandler_Loop137 +916A IrqHandler_Loop138 +917F IrqHandler_Loop139 +9198 IrqHandler_Loop140 +91B1 IrqHandler_Loop141 +91CA IrqHandler_Loop142 +91E3 IrqHandler_Loop143 +91FC IrqHandler_Loop144 +9215 IrqHandler_Loop145 +922E IrqHandler_Loop146 +9247 IrqHandler_Loop147 +925D IrqHandler_Loop148 926E Sub_926E -927A IrqHandler_Loop124 -928D IrqHandler_Loop125 -9298 IrqHandler_Loop126 -929D IrqHandler_Loop127 -92B3 IrqHandler_Loop128 -92B9 IrqHandler_Loop129 -92BD IrqHandler_Loop130 +927A IrqHandler_Loop149 +928D IrqHandler_Loop150 +9298 IrqHandler_Loop151 +929D IrqHandler_Loop152 +92B3 IrqHandler_Loop153 +92B9 IrqHandler_Loop154 +92BD IrqHandler_Loop155 92CA Sub_92CA 92CD Sub_92CD -9326 IrqHandler_Loop131 -932B IrqHandler_Loop132 -934C IrqHandler_Loop133 +9326 IrqHandler_Loop156 +932B IrqHandler_Loop157 +934C IrqHandler_Loop158 9365 Sub_9365 9367 IrqHandler_OnNonnegative3 -936F IrqHandler_Loop134 +936F IrqHandler_Loop159 9377 Sub_9377 -937D IrqHandler_Loop135 -93C3 IrqHandler_Loop136 -93D0 IrqHandler_Loop137 -93D1 IrqHandler_Loop138 -93EA IrqHandler_Loop139 -93F4 IrqHandler_Loop140 -93FE IrqHandler_Loop141 -9408 IrqHandler_Loop142 -9412 IrqHandler_Loop143 -941C IrqHandler_Loop144 -9426 IrqHandler_Loop145 -9430 IrqHandler_Loop146 +937D IrqHandler_Loop160 +93C3 IrqHandler_Loop161 +93D0 IrqHandler_Loop162 +93D1 IrqHandler_Loop163 +93EA IrqHandler_Loop164 +93F4 IrqHandler_Loop165 +93FE IrqHandler_Loop166 +9408 IrqHandler_Loop167 +9412 IrqHandler_Loop168 +941C IrqHandler_Loop169 +9426 IrqHandler_Loop170 +9430 IrqHandler_Loop171 9431 Sub_9431 943F Sub_943F -944E IrqHandler_Loop147 -9459 IrqHandler_Loop148 +944E IrqHandler_Loop172 +9459 IrqHandler_Loop173 945A Sub_945A -9469 IrqHandler_Loop149 -9474 IrqHandler_Loop150 +9469 IrqHandler_Loop174 +9474 IrqHandler_Loop175 9475 Sub_9475 -9484 IrqHandler_Loop151 -948A IrqHandler_Loop152 +9484 IrqHandler_Loop176 +948A IrqHandler_Loop177 948B Sub_948B -949A IrqHandler_Loop153 -94A0 IrqHandler_Loop154 +949A IrqHandler_Loop178 +94A0 IrqHandler_Loop179 94A1 Sub_94A1 94B3 Sub_94B3 -94C0 IrqHandler_Loop155 -94CA IrqHandler_Loop156 -94D2 IrqHandler_Loop157 -94ED IrqHandler_Loop158 +94C0 IrqHandler_Loop180 +94CA IrqHandler_Loop181 +94D2 IrqHandler_Loop182 +94ED IrqHandler_Loop183 94EE Sub_94EE -94FB IrqHandler_Loop159 -9505 IrqHandler_Loop160 -950D IrqHandler_Loop161 -9526 IrqHandler_Loop162 +94FB IrqHandler_Loop184 +9505 IrqHandler_Loop185 +950D IrqHandler_Loop186 +9526 IrqHandler_Loop187 9527 Sub_9527 9529 IrqHandler_OnNonnegative4 -9531 IrqHandler_Loop163 +9531 IrqHandler_Loop188 9539 Sub_9539 9553 Sub_9553 9555 IrqHandler_OnNonnegative5 -955D IrqHandler_Loop164 +955D IrqHandler_Loop189 9565 Sub_9565 -956D IrqHandler_Loop165 -9579 IrqHandler_Loop166 -9591 IrqHandler_Loop167 -95A9 IrqHandler_Loop168 -95C1 IrqHandler_Loop169 -95D9 IrqHandler_Loop170 -95FC IrqHandler_Loop171 +956D IrqHandler_Loop190 +9579 IrqHandler_Loop191 +9591 IrqHandler_Loop192 +95A9 IrqHandler_Loop193 +95C1 IrqHandler_Loop194 +95D9 IrqHandler_Loop195 +95FC IrqHandler_Loop196 9611 Sub_9611 9617 Sub_9617 963F IrqHandler_OnZero4 9640 Sub_9640 -9667 IrqHandler_Loop172 -9685 IrqHandler_Loop173 +9667 IrqHandler_Loop197 +9685 IrqHandler_Loop198 969D Sub_969D -96E1 IrqHandler_Loop174 -96E2 IrqHandler_Loop175 -96EB IrqHandler_Loop176 -96F4 IrqHandler_Loop177 -96FD IrqHandler_Loop178 -96FE IrqHandler_Loop179 -970D IrqHandler_Loop180 +96E1 IrqHandler_Loop199 +96E2 IrqHandler_Loop200 +96EB IrqHandler_Loop201 +96F4 IrqHandler_Loop202 +96FD IrqHandler_Loop203 +96FE IrqHandler_Loop204 +970D IrqHandler_Loop205 9712 Sub_9712 972A Sub_972A 9733 IrqHandler_OnNonnegative6 -9741 IrqHandler_Loop181 +9741 IrqHandler_Loop206 9749 Sub_9749 -9756 IrqHandler_Loop182 -9767 IrqHandler_Loop183 -9773 IrqHandler_Loop184 -978E IrqHandler_Loop185 -9799 IrqHandler_Loop186 -97B1 IrqHandler_Loop187 -97BC IrqHandler_Loop188 -97C2 IrqHandler_Loop189 -97D8 IrqHandler_Loop190 +9756 IrqHandler_Loop207 +9767 IrqHandler_Loop208 +9773 IrqHandler_Loop209 +978E IrqHandler_Loop210 +9799 IrqHandler_Loop211 +97B1 IrqHandler_Loop212 +97BC IrqHandler_Loop213 +97C2 IrqHandler_Loop214 +97D8 IrqHandler_Loop215 97E3 Sub_97E3 97E5 IrqHandler_OnNonnegative7 -97F4 IrqHandler_Loop191 +97F4 IrqHandler_Loop216 97FC Sub_97FC -9802 IrqHandler_Loop192 -9838 IrqHandler_Loop193 +9802 IrqHandler_Loop217 +9838 IrqHandler_Loop218 9839 Sub_9839 -985B IrqHandler_Loop194 -986D IrqHandler_Loop195 -9876 IrqHandler_Loop196 +985B IrqHandler_Loop219 +986D IrqHandler_Loop220 +9876 IrqHandler_Loop221 9880 Sub_9880 +989D IrqHandler_Loop222 +989F IrqHandler_OnNonnegative8 +98A7 IrqHandler_Loop223 +98B4 Sub_98B4 +98DB IrqHandler_Loop224 +98DD IrqHandler_OnNonnegative9 +98E5 IrqHandler_Loop225 +98ED Sub_98ED +98FA IrqHandler_Loop226 +992A IrqHandler_Loop227 992B Sub_992B -992D IrqHandler_OnNonnegative8 -9935 IrqHandler_Loop197 +992D IrqHandler_OnNonnegative10 +9935 IrqHandler_Loop228 993D Sub_993D -9965 IrqHandler_Loop198 -996F IrqHandler_Loop199 -9979 IrqHandler_Loop200 -9983 IrqHandler_Loop201 -9989 IrqHandler_Loop202 -9993 IrqHandler_Loop203 -999D IrqHandler_Loop204 -99A7 IrqHandler_Loop205 -99B1 IrqHandler_Loop206 +9965 IrqHandler_Loop229 +996F IrqHandler_Loop230 +9979 IrqHandler_Loop231 +9983 IrqHandler_Loop232 +9989 IrqHandler_Loop233 +9993 IrqHandler_Loop234 +999D IrqHandler_Loop235 +99A7 IrqHandler_Loop236 +99B1 IrqHandler_Loop237 99B7 Sub_99B7 -99B9 IrqHandler_OnNonnegative9 -99C1 IrqHandler_Loop207 +99B9 IrqHandler_OnNonnegative11 +99C1 IrqHandler_Loop238 99C9 Sub_99C9 -99D3 IrqHandler_Loop208 -99E7 IrqHandler_Loop209 -99FA IrqHandler_Loop210 -99FD IrqHandler_Loop211 -9A10 IrqHandler_Loop212 -9A15 IrqHandler_Loop213 -9A2B IrqHandler_Loop214 -9A36 IrqHandler_Loop215 -9A4C IrqHandler_Loop216 -9A52 IrqHandler_Loop217 -9A5E IrqHandler_Loop218 -9A71 IrqHandler_Loop219 -9A76 IrqHandler_Loop220 -9A87 IrqHandler_Loop221 -9A8A IrqHandler_Loop222 -9A97 IrqHandler_Loop223 -9AA1 IrqHandler_Loop224 -9ACD IrqHandler_Loop225 +99D3 IrqHandler_Loop239 +99E7 IrqHandler_Loop240 +99FA IrqHandler_Loop241 +99FD IrqHandler_Loop242 +9A10 IrqHandler_Loop243 +9A15 IrqHandler_Loop244 +9A2B IrqHandler_Loop245 +9A36 IrqHandler_Loop246 +9A4C IrqHandler_Loop247 +9A52 IrqHandler_Loop248 +9A5E IrqHandler_Loop249 +9A71 IrqHandler_Loop250 +9A76 IrqHandler_Loop251 +9A87 IrqHandler_Loop252 +9A8A IrqHandler_Loop253 +9A97 IrqHandler_Loop254 +9AA1 IrqHandler_Loop255 +9ACD IrqHandler_Loop256 9AF9 Sub_9AF9 -9B21 IrqHandler_Loop226 +9B21 IrqHandler_Loop257 9B38 Sub_9B38 -9B4A IrqHandler_Loop227 -9B60 IrqHandler_Loop228 -9B70 IrqHandler_Loop229 -9B80 IrqHandler_Loop230 -9B93 IrqHandler_Loop231 -9BA0 IrqHandler_Loop232 -9BAA IrqHandler_Loop233 -9BBA IrqHandler_Loop234 -9BC7 IrqHandler_Loop235 -9BD4 IrqHandler_Loop236 +9B4A IrqHandler_Loop258 +9B60 IrqHandler_Loop259 +9B70 IrqHandler_Loop260 +9B80 IrqHandler_Loop261 +9B93 IrqHandler_Loop262 +9BA0 IrqHandler_Loop263 +9BAA IrqHandler_Loop264 +9BBA IrqHandler_Loop265 +9BC7 IrqHandler_Loop266 +9BD4 IrqHandler_Loop267 9BE0 Sub_9BE0 -9BEB IrqHandler_Loop237 -9BF2 IrqHandler_Loop238 -9C19 IrqHandler_Loop239 +9BEB IrqHandler_Loop268 +9BF2 IrqHandler_Loop269 +9C19 IrqHandler_Loop270 9C1A Sub_9C1A -9C2E IrqHandler_Loop240 -9C3F IrqHandler_Loop241 -9C5B IrqHandler_Loop242 -9C61 IrqHandler_Loop243 -9C64 IrqHandler_Loop244 +9C2E IrqHandler_Loop271 +9C3F IrqHandler_Loop272 +9C5B IrqHandler_Loop273 +9C61 IrqHandler_Loop274 +9C64 IrqHandler_Loop275 9C7B Sub_9C7B -9C86 IrqHandler_Loop245 -9C93 IrqHandler_Loop246 -9CA3 IrqHandler_Loop247 -9CB6 IrqHandler_Loop248 +9C86 IrqHandler_Loop276 +9C93 IrqHandler_Loop277 +9CA3 IrqHandler_Loop278 +9CB6 IrqHandler_Loop279 9CC8 Sub_9CC8 -9CD5 IrqHandler_Loop249 -9CD9 IrqHandler_Loop250 +9CD5 IrqHandler_Loop280 +9CD9 IrqHandler_Loop281 9CF0 Sub_9CF0 -9D1D IrqHandler_Loop251 -9D21 IrqHandler_Loop252 +9D1D IrqHandler_Loop282 +9D21 IrqHandler_Loop283 9D2B Sub_9D2B 9D46 Sub_9D46 9D61 Sub_9D61 9D79 Sub_9D79 -9DB0 IrqHandler_Loop253 -9DBB IrqHandler_Loop254 -9DD4 IrqHandler_Loop255 +9DB0 IrqHandler_Loop284 +9DBB IrqHandler_Loop285 +9DD4 IrqHandler_Loop286 9DD9 Sub_9DD9 9DE9 Sub_9DE9 -9E1B IrqHandler_Loop256 -9E23 IrqHandler_Loop257 -9E49 IrqHandler_Loop258 -9E53 IrqHandler_Loop259 +9E1B IrqHandler_Loop287 +9E23 IrqHandler_Loop288 +9E49 IrqHandler_Loop289 +9E53 IrqHandler_Loop290 9E54 Sub_9E54 -9E5C IrqHandler_Loop260 -9E6D IrqHandler_Loop261 -9E8C IrqHandler_Loop262 -9EB5 IrqHandler_Loop263 -9ED5 IrqHandler_Loop264 +9E5C IrqHandler_Loop291 +9E6D IrqHandler_Loop292 +9E8C IrqHandler_Loop293 +9EB5 IrqHandler_Loop294 +9ED5 IrqHandler_Loop295 9EED Sub_9EED -9EF6 IrqHandler_Loop265 -9EFB IrqHandler_Loop266 +9EF6 IrqHandler_Loop296 +9EFB IrqHandler_Loop297 9F17 IrqHandler_OnZero5 9F1D Sub_9F1D -9F35 IrqHandler_Loop267 -9F3D IrqHandler_Loop268 -9F4A IrqHandler_Loop269 -9F4D IrqHandler_Loop270 +9F35 IrqHandler_Loop298 +9F3D IrqHandler_Loop299 +9F4A IrqHandler_Loop300 +9F4D IrqHandler_Loop301 9F50 Sub_9F50 -9F97 IrqHandler_Loop271 -9F9C IrqHandler_Loop272 -9FB0 IrqHandler_Loop273 -9FBB IrqHandler_Loop274 -9FBF IrqHandler_Loop275 -9FD4 IrqHandler_Loop276 -9FD8 IrqHandler_Loop277 +9F97 IrqHandler_Loop302 +9F9C IrqHandler_Loop303 +9FB0 IrqHandler_Loop304 +9FBB IrqHandler_Loop305 +9FBF IrqHandler_Loop306 +9FD4 IrqHandler_Loop307 +9FD8 IrqHandler_Loop308 9FDB Sub_9FDB 9FDD Sub_9FDD -9FE5 IrqHandler_Loop278 -9FF4 IrqHandler_Loop279 -9FFE IrqHandler_Loop280 -A008 IrqHandler_Loop281 -A012 IrqHandler_Loop282 -A01C IrqHandler_Loop283 -A026 IrqHandler_Loop284 -A030 IrqHandler_Loop285 -A03A IrqHandler_Loop286 -A044 IrqHandler_Loop287 -A04E IrqHandler_Loop288 -A058 IrqHandler_Loop289 -A062 IrqHandler_Loop290 -A06C IrqHandler_Loop291 -A076 IrqHandler_Loop292 -A080 IrqHandler_Loop293 -A08A IrqHandler_Loop294 -A094 IrqHandler_Loop295 -A09E IrqHandler_Loop296 -A0A8 IrqHandler_Loop297 -A0B2 IrqHandler_Loop298 -A0BC IrqHandler_Loop299 -A0C6 IrqHandler_Loop300 -A0D0 IrqHandler_Loop301 -A0DC IrqHandler_Loop302 +9FE5 IrqHandler_Loop309 +9FF4 IrqHandler_Loop310 +9FFE IrqHandler_Loop311 +A008 IrqHandler_Loop312 +A012 IrqHandler_Loop313 +A01C IrqHandler_Loop314 +A026 IrqHandler_Loop315 +A030 IrqHandler_Loop316 +A03A IrqHandler_Loop317 +A044 IrqHandler_Loop318 +A04E IrqHandler_Loop319 +A058 IrqHandler_Loop320 +A062 IrqHandler_Loop321 +A06C IrqHandler_Loop322 +A076 IrqHandler_Loop323 +A080 IrqHandler_Loop324 +A08A IrqHandler_Loop325 +A094 IrqHandler_Loop326 +A09E IrqHandler_Loop327 +A0A8 IrqHandler_Loop328 +A0B2 IrqHandler_Loop329 +A0BC IrqHandler_Loop330 +A0C6 IrqHandler_Loop331 +A0D0 IrqHandler_Loop332 +A0DC IrqHandler_Loop333 A0DE Sub_A0DE -A0F2 IrqHandler_Loop303 -A0F3 IrqHandler_Loop304 +A0F2 IrqHandler_Loop334 +A0F3 IrqHandler_Loop335 A0F5 IrqHandler_OnNonzero33 -A0FD IrqHandler_Loop305 +A0FD IrqHandler_Loop336 A106 Sub_A106 -A122 IrqHandler_Loop306 -A128 IrqHandler_Loop307 +A122 IrqHandler_Loop337 +A128 IrqHandler_Loop338 A15C Sub_A15C A15E IrqHandler_OnNonzero34 A16F IrqHandler_OnZero6 A170 Sub_A170 -A18F IrqHandler_Loop308 -A1AB IrqHandler_Loop309 +A18F IrqHandler_Loop339 +A1AB IrqHandler_Loop340 A1B6 Sub_A1B6 -A1C3 IrqHandler_Loop310 +A1C3 IrqHandler_Loop341 A1D0 Sub_A1D0 -A1DA IrqHandler_Loop311 +A1DA IrqHandler_Loop342 A1DC IrqHandler_OnNonzero35 -A1E4 IrqHandler_Loop312 +A1E4 IrqHandler_Loop343 A1F2 Sub_A1F2 -A1FE IrqHandler_Loop313 -A223 IrqHandler_Loop314 -A22F IrqHandler_Loop315 -A237 IrqHandler_Loop316 +A1FE IrqHandler_Loop344 +A223 IrqHandler_Loop345 +A22F IrqHandler_Loop346 +A237 IrqHandler_Loop347 A26F Sub_A26F -A297 IrqHandler_Loop317 -A2A4 IrqHandler_Loop318 -A2B3 IrqHandler_Loop319 -A2BB IrqHandler_Loop320 +A297 IrqHandler_Loop348 +A2A4 IrqHandler_Loop349 +A2B3 IrqHandler_Loop350 +A2BB IrqHandler_Loop351 A2C4 Sub_A2C4 -A2E3 IrqHandler_Loop321 -A2F3 IrqHandler_Loop322 -A302 IrqHandler_Loop323 -A313 IrqHandler_Loop324 -A356 IrqHandler_Loop325 +A2E3 IrqHandler_Loop352 +A2F3 IrqHandler_Loop353 +A302 IrqHandler_Loop354 +A313 IrqHandler_Loop355 +A356 IrqHandler_Loop356 A37F Sub_A37F -A3A9 IrqHandler_Loop326 +A3A9 IrqHandler_Loop357 A3D1 Sub_A3D1 -A3E3 IrqHandler_Loop327 -A3EE IrqHandler_Loop328 -A3F9 IrqHandler_Loop329 -A402 IrqHandler_Loop330 -A405 IrqHandler_Loop331 +A3E3 IrqHandler_Loop358 +A3EE IrqHandler_Loop359 +A3F9 IrqHandler_Loop360 +A402 IrqHandler_Loop361 +A405 IrqHandler_Loop362 +A40E IrqHandler_Loop363 +A411 Sub_A411 +A417 IrqHandler_Loop364 A41B Sub_A41B -A423 IrqHandler_Loop332 -A438 IrqHandler_Loop333 -A447 IrqHandler_Loop334 -A454 IrqHandler_Loop335 -A46D IrqHandler_Loop336 -A486 IrqHandler_Loop337 -A489 IrqHandler_Loop338 +A423 IrqHandler_Loop365 +A438 IrqHandler_Loop366 +A447 IrqHandler_Loop367 +A454 IrqHandler_Loop368 +A46D IrqHandler_Loop369 +A486 IrqHandler_Loop370 +A489 IrqHandler_Loop371 A48E Sub_A48E -A4B9 IrqHandler_Loop339 -A4D6 IrqHandler_Loop340 -A4F0 IrqHandler_Loop341 -A509 IrqHandler_Loop342 -A525 IrqHandler_Loop343 -A541 IrqHandler_Loop344 +A4B9 IrqHandler_Loop372 +A4D6 IrqHandler_Loop373 +A4F0 IrqHandler_Loop374 +A509 IrqHandler_Loop375 +A525 IrqHandler_Loop376 +A541 IrqHandler_Loop377 A557 Sub_A557 -A55F IrqHandler_Loop345 -A57C IrqHandler_Loop346 -A589 IrqHandler_Loop347 -A599 IrqHandler_Loop348 -A59D IrqHandler_Loop349 +A55F IrqHandler_Loop378 +A57C IrqHandler_Loop379 +A589 IrqHandler_Loop380 +A599 IrqHandler_Loop381 +A59D IrqHandler_Loop382 A5BC Sub_A5BC -A5C4 IrqHandler_Loop350 -A5D7 IrqHandler_Loop351 -A5EC IrqHandler_Loop352 +A5C4 IrqHandler_Loop383 +A5D7 IrqHandler_Loop384 +A5EC IrqHandler_Loop385 A5F5 Sub_A5F5 -A608 IrqHandler_Loop353 -A612 IrqHandler_Loop354 +A608 IrqHandler_Loop386 +A612 IrqHandler_Loop387 +A65B IrqHandler_Loop388 +A66F IrqHandler_Loop389 +A689 IrqHandler_Loop390 +A68C Sub_A68C +A698 IrqHandler_Loop391 +A6AB IrqHandler_Loop392 +A6B8 IrqHandler_Loop393 A6C4 Sub_A6C4 -A6CC IrqHandler_Loop355 -A6E0 IrqHandler_Loop356 -A6F3 IrqHandler_Loop357 -A6F6 IrqHandler_Loop358 -A702 IrqHandler_Loop359 -A715 IrqHandler_Loop360 -A722 IrqHandler_Loop361 -A737 IrqHandler_Loop362 -A73B IrqHandler_Loop363 -A75A IrqHandler_Loop364 -A760 IrqHandler_Loop365 -A764 IrqHandler_Loop366 +A6CC IrqHandler_Loop394 +A6E0 IrqHandler_Loop395 +A6F3 IrqHandler_Loop396 +A6F6 IrqHandler_Loop397 +A702 IrqHandler_Loop398 +A715 IrqHandler_Loop399 +A722 IrqHandler_Loop400 +A737 IrqHandler_Loop401 +A73B IrqHandler_Loop402 +A75A IrqHandler_Loop403 +A760 IrqHandler_Loop404 +A764 IrqHandler_Loop405 A767 Sub_A767 -A76F IrqHandler_Loop367 -A783 IrqHandler_Loop368 -A78E IrqHandler_Loop369 -A79B IrqHandler_Loop370 -A7C6 IrqHandler_Loop371 -A7CA IrqHandler_Loop372 +A76F IrqHandler_Loop406 +A783 IrqHandler_Loop407 +A78E IrqHandler_Loop408 +A79B IrqHandler_Loop409 +A7C6 IrqHandler_Loop410 +A7CA IrqHandler_Loop411 A7D4 Sub_A7D4 -A7F6 IrqHandler_Loop373 -A7FA IrqHandler_Loop374 +A7F6 IrqHandler_Loop412 +A7FA IrqHandler_Loop413 A804 Sub_A804 -A80C IrqHandler_Loop375 -A829 IrqHandler_Loop376 -A83D IrqHandler_Loop377 -A849 IrqHandler_Loop378 +A80C IrqHandler_Loop414 +A829 IrqHandler_Loop415 +A83D IrqHandler_Loop416 +A849 IrqHandler_Loop417 A84F Sub_A84F -A85B IrqHandler_Loop379 -A86E IrqHandler_Loop380 -A87B IrqHandler_Loop381 -A8A7 IrqHandler_Loop382 -A8C0 IrqHandler_Loop383 -A8C3 IrqHandler_Loop384 +A85B IrqHandler_Loop418 +A86E IrqHandler_Loop419 +A87B IrqHandler_Loop420 +A8A7 IrqHandler_Loop421 +A8C0 IrqHandler_Loop422 +A8C3 IrqHandler_Loop423 A8C9 IrqHandler_OnCarrySet A8CC IrqHandler_OnCarrySet2 -A8CF IrqHandler_Loop385 +A8CF IrqHandler_Loop424 A8DC Sub_A8DC -A8F6 IrqHandler_Loop386 -A8FE IrqHandler_Loop387 -A914 IrqHandler_Loop388 -A918 IrqHandler_Loop389 +A8F6 IrqHandler_Loop425 +A8FE IrqHandler_Loop426 +A914 IrqHandler_Loop427 +A918 IrqHandler_Loop428 A91B Sub_A91B -A938 IrqHandler_Loop390 -A940 IrqHandler_Loop391 -A956 IrqHandler_Loop392 -A95A IrqHandler_Loop393 +A938 IrqHandler_Loop429 +A940 IrqHandler_Loop430 +A956 IrqHandler_Loop431 +A95A IrqHandler_Loop432 A95D Sub_A95D -A965 IrqHandler_Loop394 -A979 IrqHandler_Loop395 -A986 IrqHandler_Loop396 -A989 IrqHandler_Loop397 -A995 IrqHandler_Loop398 -A9A8 IrqHandler_Loop399 -A9B5 IrqHandler_Loop400 -A9D8 IrqHandler_Loop401 -A9F1 IrqHandler_Loop402 -A9F4 IrqHandler_Loop403 -A9FE IrqHandler_Loop404 -AA08 IrqHandler_Loop405 +A965 IrqHandler_Loop433 +A979 IrqHandler_Loop434 +A986 IrqHandler_Loop435 +A989 IrqHandler_Loop436 +A995 IrqHandler_Loop437 +A9A8 IrqHandler_Loop438 +A9B5 IrqHandler_Loop439 +A9D8 IrqHandler_Loop440 +A9F1 IrqHandler_Loop441 +A9F4 IrqHandler_Loop442 +A9FE IrqHandler_Loop443 +AA08 IrqHandler_Loop444 AA11 Sub_AA11 AA3F Sub_AA3F AA73 Sub_AA73 -AA98 IrqHandler_Loop406 -AA9C IrqHandler_Loop407 +AA98 IrqHandler_Loop445 +AA9C IrqHandler_Loop446 AAA6 Sub_AAA6 -AAAE IrqHandler_Loop408 -AAC1 IrqHandler_Loop409 -AADF IrqHandler_Loop410 -AAEB IrqHandler_Loop411 -AB02 IrqHandler_Loop412 -AB0C IrqHandler_Loop413 +AAAE IrqHandler_Loop447 +AAC1 IrqHandler_Loop448 +AADF IrqHandler_Loop449 +AAEB IrqHandler_Loop450 +AB02 IrqHandler_Loop451 +AB0C IrqHandler_Loop452 AB0F Sub_AB0F -AB17 IrqHandler_Loop414 -AB2A IrqHandler_Loop415 -AB48 IrqHandler_Loop416 -AB54 IrqHandler_Loop417 -AB62 IrqHandler_Loop418 -AB6C IrqHandler_Loop419 -AB9C IrqHandler_Loop420 -ABA0 IrqHandler_Loop421 +AB17 IrqHandler_Loop453 +AB2A IrqHandler_Loop454 +AB48 IrqHandler_Loop455 +AB54 IrqHandler_Loop456 +AB62 IrqHandler_Loop457 +AB6C IrqHandler_Loop458 +AB9C IrqHandler_Loop459 +ABA0 IrqHandler_Loop460 ABAF Sub_ABAF -ABB7 IrqHandler_Loop422 -ABDF IrqHandler_Loop423 -ABEC IrqHandler_Loop424 -AC11 IrqHandler_Loop425 -AC2D IrqHandler_Loop426 -AC33 IrqHandler_Loop427 -AC4B IrqHandler_Loop428 -AC51 IrqHandler_Loop429 -AC62 IrqHandler_Loop430 -AC66 IrqHandler_Loop431 +ABB7 IrqHandler_Loop461 +ABDF IrqHandler_Loop462 +ABEC IrqHandler_Loop463 +AC11 IrqHandler_Loop464 +AC2D IrqHandler_Loop465 +AC33 IrqHandler_Loop466 +AC4B IrqHandler_Loop467 +AC51 IrqHandler_Loop468 +AC62 IrqHandler_Loop469 +AC66 IrqHandler_Loop470 AC89 Sub_AC89 -AC91 IrqHandler_Loop432 -ACA1 IrqHandler_Loop433 -ACB2 IrqHandler_Loop434 -ACBC IrqHandler_Loop435 -ACC5 IrqHandler_Loop436 -ACD8 IrqHandler_Loop437 -ACE5 IrqHandler_Loop438 -ACF8 IrqHandler_Loop439 +AC91 IrqHandler_Loop471 +ACA1 IrqHandler_Loop472 +ACB2 IrqHandler_Loop473 +ACBC IrqHandler_Loop474 +ACC5 IrqHandler_Loop475 +ACD8 IrqHandler_Loop476 +ACE5 IrqHandler_Loop477 +ACF8 IrqHandler_Loop478 AD01 Sub_AD01 -AD1B IrqHandler_Loop440 -AD34 IrqHandler_Loop441 -AD37 IrqHandler_Loop442 +AD1B IrqHandler_Loop479 +AD34 IrqHandler_Loop480 +AD37 IrqHandler_Loop481 AD6D Sub_AD6D -AD75 IrqHandler_Loop443 -AD90 IrqHandler_Loop444 +AD75 IrqHandler_Loop482 +AD90 IrqHandler_Loop483 AD99 Sub_AD99 -ADA4 IrqHandler_Loop445 -ADB1 IrqHandler_Loop446 -ADC6 IrqHandler_Loop447 +ADA4 IrqHandler_Loop484 +ADB1 IrqHandler_Loop485 +ADC6 IrqHandler_Loop486 ADCF Sub_ADCF -AE14 IrqHandler_Loop448 -AE18 IrqHandler_Loop449 -AE22 IrqHandler_Loop450 +AE14 IrqHandler_Loop487 +AE18 IrqHandler_Loop488 +AE22 IrqHandler_Loop489 AE5D Sub_AE5D -AE65 IrqHandler_Loop451 -AE81 IrqHandler_Loop452 -AE8E IrqHandler_Loop453 -AEA8 IrqHandler_Loop454 -AEB0 IrqHandler_Loop455 +AE65 IrqHandler_Loop490 +AE81 IrqHandler_Loop491 +AE8E IrqHandler_Loop492 +AEA8 IrqHandler_Loop493 +AEB0 IrqHandler_Loop494 AED3 Sub_AED3 -AEF0 IrqHandler_Loop456 -AEF8 IrqHandler_Loop457 -AF03 IrqHandler_Loop458 -AF0E IrqHandler_Loop459 -AF19 IrqHandler_Loop460 -AF2C IrqHandler_Loop461 -AF30 IrqHandler_Loop462 -AF33 IrqHandler_Loop463 -AF46 IrqHandler_Loop464 -AF59 IrqHandler_Loop465 -AF64 IrqHandler_OnNonnegative10 -AF6C IrqHandler_Loop466 +AEF0 IrqHandler_Loop495 +AEF8 IrqHandler_Loop496 +AF03 IrqHandler_Loop497 +AF0E IrqHandler_Loop498 +AF19 IrqHandler_Loop499 +AF2C IrqHandler_Loop500 +AF30 IrqHandler_Loop501 +AF33 IrqHandler_Loop502 +AF46 IrqHandler_Loop503 +AF59 IrqHandler_Loop504 +AF64 IrqHandler_OnNonnegative12 +AF6C IrqHandler_Loop505 AF76 Sub_AF76 -AFB3 IrqHandler_Loop467 -AFB8 IrqHandler_Loop468 -AFBD IrqHandler_Loop469 +AFB3 IrqHandler_Loop506 +AFB8 IrqHandler_Loop507 +AFBD IrqHandler_Loop508 AFBE Sub_AFBE -AFC6 IrqHandler_Loop470 +AFC6 IrqHandler_Loop509 AFCC IrqHandler_OnCarrySet3 AFCF IrqHandler_OnCarrySet4 -AFD2 IrqHandler_Loop471 +AFD2 IrqHandler_Loop510 AFDF Sub_AFDF -AFF9 IrqHandler_Loop472 -B00A IrqHandler_Loop473 -B00E IrqHandler_Loop474 +AFF9 IrqHandler_Loop511 +B00A IrqHandler_Loop512 +B00E IrqHandler_Loop513 B015 Sub_B015 -B039 IrqHandler_Loop475 -B03F IrqHandler_Loop476 -B047 IrqHandler_Loop477 +B039 IrqHandler_Loop514 +B03F IrqHandler_Loop515 +B047 IrqHandler_Loop516 B04E Sub_B04E -B064 IrqHandler_Loop478 +B064 IrqHandler_Loop517 B069 Sub_B069 -B076 IrqHandler_Loop479 -B07A IrqHandler_Loop480 -B081 IrqHandler_Loop481 +B076 IrqHandler_Loop518 +B07A IrqHandler_Loop519 +B081 IrqHandler_Loop520 B082 Sub_B082 B089 IrqHandler_OnNonzero36 -B095 IrqHandler_Loop482 +B095 IrqHandler_Loop521 B09F Sub_B09F B0A0 Sub_B0A0 -B0A2 IrqHandler_OnNonnegative11 -B0B5 IrqHandler_Loop483 -B0C2 IrqHandler_Loop484 -B0FF IrqHandler_Loop485 -B104 IrqHandler_Loop486 -B110 IrqHandler_Loop487 +B0A2 IrqHandler_OnNonnegative13 +B0B5 IrqHandler_Loop522 +B0C2 IrqHandler_Loop523 +B0FF IrqHandler_Loop524 +B104 IrqHandler_Loop525 +B110 IrqHandler_Loop526 B111 Sub_B111 -B14E IrqHandler_Loop488 -B153 IrqHandler_Loop489 -B15D IrqHandler_Loop490 -B169 IrqHandler_Loop491 +B14E IrqHandler_Loop527 +B153 IrqHandler_Loop528 +B15D IrqHandler_Loop529 +B169 IrqHandler_Loop530 B16A Sub_B16A -B16C IrqHandler_OnNonnegative12 -B17F IrqHandler_Loop492 -B18C IrqHandler_Loop493 -B1C9 IrqHandler_Loop494 +B16C IrqHandler_OnNonnegative14 +B17F IrqHandler_Loop531 +B18C IrqHandler_Loop532 +B1C9 IrqHandler_Loop533 B1CA Sub_B1CA -B203 IrqHandler_Loop495 -B218 IrqHandler_Loop496 -B233 IrqHandler_Loop497 +B203 IrqHandler_Loop534 +B218 IrqHandler_Loop535 +B233 IrqHandler_Loop536 B234 Sub_B234 -B27F IrqHandler_Loop498 -B292 IrqHandler_Loop499 -B29C IrqHandler_Loop500 +B27F IrqHandler_Loop537 +B292 IrqHandler_Loop538 +B29C IrqHandler_Loop539 B29D Sub_B29D -B2E8 IrqHandler_Loop501 -B2F6 IrqHandler_Loop502 +B2E8 IrqHandler_Loop540 +B2F6 IrqHandler_Loop541 B2F7 Sub_B2F7 -B2F9 IrqHandler_OnNonnegative13 -B301 IrqHandler_Loop503 +B2F9 IrqHandler_OnNonnegative15 +B301 IrqHandler_Loop542 B308 IrqHandler_OnZero7 B309 Sub_B309 -B323 IrqHandler_Loop504 -B349 IrqHandler_Loop505 -B371 IrqHandler_Loop506 -B37E IrqHandler_Loop507 -B39E IrqHandler_Loop508 -B3A9 IrqHandler_Loop509 -B3B5 IrqHandler_Loop510 -B3C3 IrqHandler_Loop511 -B3D4 IrqHandler_Loop512 +B323 IrqHandler_Loop543 +B349 IrqHandler_Loop544 +B371 IrqHandler_Loop545 +B37E IrqHandler_Loop546 +B39E IrqHandler_Loop547 +B3A9 IrqHandler_Loop548 +B3B5 IrqHandler_Loop549 +B3C3 IrqHandler_Loop550 +B3D4 IrqHandler_Loop551 B3FA Sub_B3FA B3FB Sub_B3FB -B412 IrqHandler_Loop513 +B412 IrqHandler_Loop552 B413 Sub_B413 -B430 IrqHandler_Loop514 -B448 IrqHandler_Loop515 -B44A IrqHandler_Loop516 -B45F IrqHandler_Loop517 +B430 IrqHandler_Loop553 +B448 IrqHandler_Loop554 +B44A IrqHandler_Loop555 +B45F IrqHandler_Loop556 B460 Sub_B460 -B46E IrqHandler_Loop518 -B47B IrqHandler_Loop519 -B47F IrqHandler_Loop520 +B46E IrqHandler_Loop557 +B47B IrqHandler_Loop558 +B47F IrqHandler_Loop559 B4BA Sub_B4BA B4BC IrqHandler_OnNonzero37 -B4CF IrqHandler_Loop521 +B4CF IrqHandler_Loop560 B4D9 Sub_B4D9 -B4DD IrqHandler_OnNonnegative14 -B4EC IrqHandler_Loop522 +B4DD IrqHandler_OnNonnegative16 +B4EC IrqHandler_Loop561 B4FB Sub_B4FB -B4FF IrqHandler_OnNonnegative15 -B50E IrqHandler_Loop523 +B4FF IrqHandler_OnNonnegative17 +B50E IrqHandler_Loop562 B528 Sub_B528 -B52A IrqHandler_OnNonnegative16 -B532 IrqHandler_Loop524 +B52A IrqHandler_OnNonnegative18 +B532 IrqHandler_Loop563 B53A Sub_B53A -B54E IrqHandler_Loop525 -B564 IrqHandler_Loop526 -B56F IrqHandler_Loop527 -B57A IrqHandler_Loop528 -B585 IrqHandler_Loop529 -B590 IrqHandler_Loop530 -B59B IrqHandler_Loop531 -B5AA IrqHandler_Loop532 +B54E IrqHandler_Loop564 +B564 IrqHandler_Loop565 +B56F IrqHandler_Loop566 +B57A IrqHandler_Loop567 +B585 IrqHandler_Loop568 +B590 IrqHandler_Loop569 +B59B IrqHandler_Loop570 +B5AA IrqHandler_Loop571 B5AB Sub_B5AB -B5B2 IrqHandler_Loop533 +B5B2 IrqHandler_Loop572 B5DE Sub_B5DE -B5E3 IrqHandler_Loop534 -B5E8 IrqHandler_Loop535 -B607 IrqHandler_Loop536 +B5E3 IrqHandler_Loop573 +B5E8 IrqHandler_Loop574 +B607 IrqHandler_Loop575 B62A Sub_B62A B62E Sub_B62E -B637 IrqHandler_Loop537 -B63E IrqHandler_Loop538 -B645 IrqHandler_Loop539 -B659 IrqHandler_Loop540 -B675 IrqHandler_Loop541 +B637 IrqHandler_Loop576 +B63E IrqHandler_Loop577 +B645 IrqHandler_Loop578 +B659 IrqHandler_Loop579 +B675 IrqHandler_Loop580 B692 IrqHandler_OnZero8 -B6A7 IrqHandler_Loop542 -B6AA IrqHandler_Loop543 -B6D9 IrqHandler_Loop544 -B6FF IrqHandler_Loop545 -B70F IrqHandler_Loop546 -B71F IrqHandler_Loop547 -B72F IrqHandler_Loop548 +B6A7 IrqHandler_Loop581 +B6AA IrqHandler_Loop582 +B6D9 IrqHandler_Loop583 +B6FF IrqHandler_Loop584 +B70F IrqHandler_Loop585 +B71F IrqHandler_Loop586 +B72F IrqHandler_Loop587 B73C Sub_B73C B750 Sub_B750 -B757 IrqHandler_Loop549 +B757 IrqHandler_Loop588 B776 Sub_B776 -B792 IrqHandler_Loop550 -B7A0 IrqHandler_Loop551 -B7B6 IrqHandler_Loop552 -B7D2 IrqHandler_Loop553 -B7D6 IrqHandler_Loop554 +B792 IrqHandler_Loop589 +B7A0 IrqHandler_Loop590 +B7B6 IrqHandler_Loop591 +B7D2 IrqHandler_Loop592 +B7D6 IrqHandler_Loop593 B7ED Sub_B7ED -B80F IrqHandler_Loop555 -B816 IrqHandler_Loop556 -B823 IrqHandler_Loop557 -B82F IrqHandler_Loop558 -B833 IrqHandler_Loop559 -B840 IrqHandler_Loop560 -B849 IrqHandler_Loop561 -B84F IrqHandler_OnNonnegative17 -B857 IrqHandler_Loop562 +B80F IrqHandler_Loop594 +B816 IrqHandler_Loop595 +B823 IrqHandler_Loop596 +B82F IrqHandler_Loop597 +B833 IrqHandler_Loop598 +B840 IrqHandler_Loop599 +B849 IrqHandler_Loop600 +B84F IrqHandler_OnNonnegative19 +B857 IrqHandler_Loop601 B86A Sub_B86A -B893 IrqHandler_Loop563 -B898 IrqHandler_Loop564 -B8A6 IrqHandler_Loop565 -B8C9 IrqHandler_Loop566 -B8D8 IrqHandler_Loop567 -B8E2 IrqHandler_Loop568 -B8EA IrqHandler_Loop569 -B8EB IrqHandler_Loop570 -B8EF IrqHandler_Loop571 -B8FB IrqHandler_Loop572 +B893 IrqHandler_Loop602 +B898 IrqHandler_Loop603 +B8A6 IrqHandler_Loop604 +B8C9 IrqHandler_Loop605 +B8D8 IrqHandler_Loop606 +B8E2 IrqHandler_Loop607 +B8EA IrqHandler_Loop608 +B8EB IrqHandler_Loop609 +B8EF IrqHandler_Loop610 +B8FB IrqHandler_Loop611 B8FF Sub_B8FF -B902 IrqHandler_Loop573 +B902 IrqHandler_Loop612 B911 Sub_B911 B913 IrqHandler_OnNonzero38 -B91A IrqHandler_Loop574 +B91A IrqHandler_Loop613 B925 Sub_B925 -B931 IrqHandler_Loop575 -B935 IrqHandler_Loop576 -B94B IrqHandler_Loop577 -B959 IrqHandler_Loop578 -B966 IrqHandler_Loop579 +B931 IrqHandler_Loop614 +B935 IrqHandler_Loop615 +B94B IrqHandler_Loop616 +B959 IrqHandler_Loop617 +B966 IrqHandler_Loop618 B975 Sub_B975 B97A Sub_B97A B985 Sub_B985 -B992 IrqHandler_Loop580 +B992 IrqHandler_Loop619 B998 Sub_B998 -B99A IrqHandler_OnNonnegative18 -B9A2 IrqHandler_Loop581 +B99A IrqHandler_OnNonnegative20 +B9A2 IrqHandler_Loop620 B9AA Sub_B9AA B9BE IrqHandler_OnZero9 -B9BF IrqHandler_Loop582 -B9CE IrqHandler_Loop583 +B9BF IrqHandler_Loop621 +B9CE IrqHandler_Loop622 B9DE IrqHandler_OnZero10 -B9E9 IrqHandler_Loop584 -B9ED IrqHandler_Loop585 -B9FE IrqHandler_Loop586 -BA03 IrqHandler_Loop587 -BA08 IrqHandler_Loop588 -BA0D IrqHandler_Loop589 -BA12 IrqHandler_Loop590 -BA17 IrqHandler_Loop591 -BA1C IrqHandler_Loop592 -BA56 IrqHandler_Loop593 -BA62 IrqHandler_Loop594 -BA65 IrqHandler_Loop595 -BA6D IrqHandler_Loop596 -BA7B IrqHandler_Loop597 -BA82 IrqHandler_Loop598 -BA95 IrqHandler_Loop599 -BAA1 IrqHandler_Loop600 -BAB4 IrqHandler_Loop601 -BAC0 IrqHandler_Loop602 -BAD5 IrqHandler_Loop603 -BAD9 IrqHandler_Loop604 -BAE7 IrqHandler_Loop605 -BAEB IrqHandler_Loop606 -BAF7 IrqHandler_Loop607 -BAFF IrqHandler_Loop608 -BB08 IrqHandler_Loop609 -BB15 IrqHandler_Loop610 -BB24 IrqHandler_Loop611 -BB2A IrqHandler_Loop612 +B9E9 IrqHandler_Loop623 +B9ED IrqHandler_Loop624 +B9FE IrqHandler_Loop625 +BA03 IrqHandler_Loop626 +BA08 IrqHandler_Loop627 +BA0D IrqHandler_Loop628 +BA12 IrqHandler_Loop629 +BA17 IrqHandler_Loop630 +BA1C IrqHandler_Loop631 +BA56 IrqHandler_Loop632 +BA62 IrqHandler_Loop633 +BA65 IrqHandler_Loop634 +BA6D IrqHandler_Loop635 +BA7B IrqHandler_Loop636 +BA82 IrqHandler_Loop637 +BA95 IrqHandler_Loop638 +BAA1 IrqHandler_Loop639 +BAB4 IrqHandler_Loop640 +BAC0 IrqHandler_Loop641 +BAD5 IrqHandler_Loop642 +BAD9 IrqHandler_Loop643 +BAE7 IrqHandler_Loop644 +BAEB IrqHandler_Loop645 +BAF7 IrqHandler_Loop646 +BAFF IrqHandler_Loop647 +BB08 IrqHandler_Loop648 +BB15 IrqHandler_Loop649 +BB24 IrqHandler_Loop650 +BB2A IrqHandler_Loop651 DC19 Sub_DC19 DC2B IrqHandler_OnNonzero39 DC46 IrqHandler_OnNonzero40 DC5A IrqHandler_OnNonzero41 DC8B Sub_DC8B -DC91 IrqHandler_Loop613 -DCAD IrqHandler_Loop614 +DC91 IrqHandler_Loop652 +DCAD IrqHandler_Loop653 DCB3 IrqHandler_OnCarryClear -DCC5 IrqHandler_Loop615 +DCC5 IrqHandler_Loop654 DCD3 Sub_DCD3 DCE4 IrqHandler_OnNonzero42 -DCF7 IrqHandler_Loop616 +DCF7 IrqHandler_Loop655 DCFD IrqHandler_OnNonzero43 -DD08 IrqHandler_Loop617 +DD08 IrqHandler_Loop656 DD0B Sub_DD0B DD0D IrqHandler_OnNonzero44 -DD14 IrqHandler_Loop618 +DD14 IrqHandler_Loop657 E08B Sub_E08B E0B5 IrqHandler_OnZero11 -E0B8 IrqHandler_Loop619 -E0BF IrqHandler_Loop620 -E0C3 IrqHandler_Loop621 -E0EA IrqHandler_Loop622 -E0FE IrqHandler_Loop623 -E112 IrqHandler_Loop624 -E126 IrqHandler_Loop625 +E0B8 IrqHandler_Loop658 +E0BF IrqHandler_Loop659 +E0C3 IrqHandler_Loop660 +E0EA IrqHandler_Loop661 +E0FE IrqHandler_Loop662 +E112 IrqHandler_Loop663 +E126 IrqHandler_Loop664 E239 Sub_E239 E243 Sub_E243 E249 IrqHandler_OnNonzero45 -E250 IrqHandler_Loop626 +E250 IrqHandler_Loop665 E256 Sub_E256 -E26C IrqHandler_Loop627 -E276 IrqHandler_Loop628 -E279 IrqHandler_Loop629 -E282 IrqHandler_Loop630 -E285 IrqHandler_Loop631 -E293 IrqHandler_Loop632 -E299 IrqHandler_Loop633 -E29C IrqHandler_Loop634 -E2B0 IrqHandler_Loop635 -E2CC IrqHandler_Loop636 +E26C IrqHandler_Loop666 +E276 IrqHandler_Loop667 +E279 IrqHandler_Loop668 +E282 IrqHandler_Loop669 +E285 IrqHandler_Loop670 +E293 IrqHandler_Loop671 +E299 IrqHandler_Loop672 +E29C IrqHandler_Loop673 +E2B0 IrqHandler_Loop674 +E2CC IrqHandler_Loop675 E2CF Sub_E2CF -E2E5 IrqHandler_Loop637 -E305 IrqHandler_Loop638 -E30F IrqHandler_Loop639 +E2E5 IrqHandler_Loop676 +E305 IrqHandler_Loop677 +E30F IrqHandler_Loop678 E327 Sub_E327 -E339 IrqHandler_Loop640 +E339 IrqHandler_Loop679 E33E IrqHandler_OnNonzero46 -E344 IrqHandler_Loop641 -E361 IrqHandler_Loop642 -E368 IrqHandler_Loop643 +E344 IrqHandler_Loop680 +E361 IrqHandler_Loop681 +E368 IrqHandler_Loop682 E36B Sub_E36B -E3A4 IrqHandler_Loop644 -E3A9 IrqHandler_Loop645 -E3AC IrqHandler_Loop646 -E3C9 IrqHandler_Loop647 -E3CC IrqHandler_Loop648 +E3A4 IrqHandler_Loop683 +E3A9 IrqHandler_Loop684 +E3AC IrqHandler_Loop685 +E3C9 IrqHandler_Loop686 +E3CC IrqHandler_Loop687 E3CF Sub_E3CF -E3F3 IrqHandler_Loop649 -E406 IrqHandler_Loop650 +E3F3 IrqHandler_Loop688 +E406 IrqHandler_Loop689 E413 IrqHandler_OnNonzero47 -E419 IrqHandler_Loop651 +E419 IrqHandler_Loop690 E425 IrqHandler_OnZero12 -E42B IrqHandler_Loop652 -E432 IrqHandler_Loop653 -E43A IrqHandler_Loop654 +E42B IrqHandler_Loop691 +E432 IrqHandler_Loop692 +E43A IrqHandler_Loop693 E443 IrqHandler_OnNonzero48 -E45C IrqHandler_Loop655 +E45C IrqHandler_Loop694 E462 Sub_E462 -E486 IrqHandler_Loop656 -E49D IrqHandler_Loop657 -E49F IrqHandler_Loop658 +E486 IrqHandler_Loop695 +E49D IrqHandler_Loop696 +E49F IrqHandler_Loop697 E4A0 Sub_E4A0 -E4A6 IrqHandler_Loop659 +E4A6 IrqHandler_Loop698 E4A9 Sub_E4A9 -E4B4 IrqHandler_Loop660 +E4B4 IrqHandler_Loop699 F5D4 Sub_F5D4 -F5DA IrqHandler_Loop661 +F5DA IrqHandler_Loop700 F5EF Sub_F5EF -F5F7 IrqHandler_Loop662 -F604 IrqHandler_Loop663 -F659 IrqHandler_Loop664 -F67A IrqHandler_Loop665 -F688 IrqHandler_Loop666 +F5F7 IrqHandler_Loop701 +F604 IrqHandler_Loop702 +F659 IrqHandler_Loop703 +F67A IrqHandler_Loop704 +F688 IrqHandler_Loop705 F696 Sub_F696 -F69F IrqHandler_Loop667 -F6A8 IrqHandler_Loop668 -F6B1 IrqHandler_Loop669 -F6BA IrqHandler_Loop670 -F6C3 IrqHandler_Loop671 -F6CC IrqHandler_Loop672 -F6D5 IrqHandler_Loop673 -F6DE IrqHandler_Loop674 +F69F IrqHandler_Loop706 +F6A8 IrqHandler_Loop707 +F6B1 IrqHandler_Loop708 +F6BA IrqHandler_Loop709 +F6C3 IrqHandler_Loop710 +F6CC IrqHandler_Loop711 +F6D5 IrqHandler_Loop712 +F6DE IrqHandler_Loop713 F6DF Sub_F6DF -F6F9 IrqHandler_Loop675 -F6FD IrqHandler_Loop676 -F708 IrqHandler_Loop677 +F6F9 IrqHandler_Loop714 +F6FD IrqHandler_Loop715 +F708 IrqHandler_Loop716 F709 Sub_F709 -F729 IrqHandler_Loop678 +F729 IrqHandler_Loop717 F72A Sub_F72A -F74C IrqHandler_Loop679 +F74C IrqHandler_Loop718 F74D Sub_F74D -F76A IrqHandler_Loop680 +F76A IrqHandler_Loop719 F76B Sub_F76B -F790 IrqHandler_Loop681 +F790 IrqHandler_Loop720 F791 Sub_F791 -F7B3 IrqHandler_Loop682 +F7B3 IrqHandler_Loop721 F7B4 Sub_F7B4 -F7D1 IrqHandler_Loop683 -F7EE IrqHandler_Loop684 +F7D1 IrqHandler_Loop722 +F7EE IrqHandler_Loop723 F7EF Sub_F7EF -F80C IrqHandler_Loop685 +F80C IrqHandler_Loop724 F80D Sub_F80D -F813 IrqHandler_Loop686 +F813 IrqHandler_Loop725 F82D Sub_F82D -F833 IrqHandler_Loop687 -F841 IrqHandler_Loop688 -F848 IrqHandler_Loop689 -F84F IrqHandler_Loop690 -F869 IrqHandler_Loop691 -F874 IrqHandler_Loop692 -F881 IrqHandler_Loop693 -F896 IrqHandler_Loop694 -F899 IrqHandler_Loop695 +F833 IrqHandler_Loop726 +F841 IrqHandler_Loop727 +F848 IrqHandler_Loop728 +F84F IrqHandler_Loop729 +F869 IrqHandler_Loop730 +F874 IrqHandler_Loop731 +F881 IrqHandler_Loop732 +F896 IrqHandler_Loop733 +F899 IrqHandler_Loop734 F8A6 Sub_F8A6 -F8BA IrqHandler_Loop696 -F8BD IrqHandler_Loop697 +F8BA IrqHandler_Loop735 +F8BD IrqHandler_Loop736 F8CA Sub_F8CA -F8E0 IrqHandler_Loop698 -F8E6 IrqHandler_Loop699 +F8E0 IrqHandler_Loop737 +F8E6 IrqHandler_Loop738 F8F3 Sub_F8F3 -F906 IrqHandler_Loop700 -F90C IrqHandler_Loop701 +F906 IrqHandler_Loop739 +F90C IrqHandler_Loop740 F919 Sub_F919 -F92B IrqHandler_Loop702 -F980 IrqHandler_Loop703 -F991 IrqHandler_Loop704 -F99B IrqHandler_Loop705 -F99E IrqHandler_Loop706 -F9AB IrqHandler_Loop707 -F9BD IrqHandler_Loop708 -F9C7 IrqHandler_Loop709 -F9D1 IrqHandler_Loop710 +F92B IrqHandler_Loop741 +F980 IrqHandler_Loop742 +F991 IrqHandler_Loop743 +F99B IrqHandler_Loop744 +F99E IrqHandler_Loop745 +F9AB IrqHandler_Loop746 +F9BD IrqHandler_Loop747 +F9C7 IrqHandler_Loop748 +F9D1 IrqHandler_Loop749 F9D4 Sub_F9D4 F9FA Sub_F9FA FA1D Sub_FA1D FA43 Sub_FA43 FA66 Sub_FA66 -FAC9 IrqHandler_Loop711 -FB01 IrqHandler_Loop712 +FAC9 IrqHandler_Loop750 +FB01 IrqHandler_Loop751 FB1C Sub_FB1C -FB26 IrqHandler_Loop713 -FB2D IrqHandler_Loop714 -FB35 IrqHandler_Loop715 -FB37 IrqHandler_OnNonnegative19 -FB3F IrqHandler_Loop716 +FB26 IrqHandler_Loop752 +FB2D IrqHandler_Loop753 +FB35 IrqHandler_Loop754 +FB37 IrqHandler_OnNonnegative21 +FB3F IrqHandler_Loop755 FB49 Sub_FB49 -FB82 IrqHandler_Loop717 +FB82 IrqHandler_Loop756 FB83 Sub_FB83 -FBCE IrqHandler_Loop718 +FBCE IrqHandler_Loop757 FBCF Sub_FBCF -FBD5 IrqHandler_Loop719 +FBD5 IrqHandler_Loop758 FBE5 Sub_FBE5 -FBEB IrqHandler_Loop720 -FBF5 IrqHandler_Loop721 -FBFF IrqHandler_Loop722 -FC09 IrqHandler_Loop723 +FBEB IrqHandler_Loop759 +FBF5 IrqHandler_Loop760 +FBFF IrqHandler_Loop761 +FC09 IrqHandler_Loop762 FC12 Sub_FC12 FC40 Sub_FC40 FC74 Sub_FC74 -FC99 IrqHandler_Loop724 -FC9D IrqHandler_Loop725 +FC99 IrqHandler_Loop763 +FC9D IrqHandler_Loop764 FCA7 Sub_FCA7 -FCA9 IrqHandler_OnNonnegative20 -FCB6 IrqHandler_Loop726 +FCA9 IrqHandler_OnNonnegative22 +FCB6 IrqHandler_Loop765 FCD0 Sub_FCD0 -FCD2 IrqHandler_OnNonnegative21 -FCDA IrqHandler_Loop727 +FCD2 IrqHandler_OnNonnegative23 +FCDA IrqHandler_Loop766 FCE2 Sub_FCE2 -FCF4 IrqHandler_Loop728 -FCFC IrqHandler_Loop729 -FD0B IrqHandler_Loop730 -FD29 IrqHandler_Loop731 -FD36 IrqHandler_Loop732 -FD42 IrqHandler_Loop733 -FD7C IrqHandler_Loop734 -FD7E IrqHandler_OnNonnegative22 -FD86 IrqHandler_Loop735 +FCF4 IrqHandler_Loop767 +FCFC IrqHandler_Loop768 +FD0B IrqHandler_Loop769 +FD29 IrqHandler_Loop770 +FD36 IrqHandler_Loop771 +FD42 IrqHandler_Loop772 +FD7C IrqHandler_Loop773 +FD7E IrqHandler_OnNonnegative24 +FD86 IrqHandler_Loop774 FD90 Sub_FD90 -FDC3 IrqHandler_Loop736 +FDC3 IrqHandler_Loop775 FDC4 Sub_FDC4 -FE0E IrqHandler_Loop737 -FE1B IrqHandler_Loop738 -FE1F IrqHandler_Loop739 +FE0E IrqHandler_Loop776 +FE1B IrqHandler_Loop777 +FE1F IrqHandler_Loop778 FE3E Sub_FE3E FE57 IrqHandler_OnZero13 FE58 Sub_FE58 -FE83 IrqHandler_Loop740 -FE8F IrqHandler_Loop741 -FE9C IrqHandler_Loop742 -FEE4 IrqHandler_Loop743 -FEE5 IrqHandler_Loop744 -FEE9 IrqHandler_Loop745 -FF07 IrqHandler_Loop746 -FF18 IrqHandler_Loop747 -FF6C IrqHandler_Loop748 -FF8F IrqHandler_Loop749 -FF93 IrqHandler_Loop750 -FFA7 IrqHandler_Loop751 -FFAD IrqHandler_Loop752 -FFB7 IrqHandler_Loop753 -FFBB IrqHandler_Loop754 -FFC5 IrqHandler_Loop755 +FE83 IrqHandler_Loop779 +FE8F IrqHandler_Loop780 +FE9C IrqHandler_Loop781 +FEE4 IrqHandler_Loop782 +FEE5 IrqHandler_Loop783 +FEE9 IrqHandler_Loop784 +FF07 IrqHandler_Loop785 +FF18 IrqHandler_Loop786 +FF6C IrqHandler_Loop787 +FF8F IrqHandler_Loop788 +FF93 IrqHandler_Loop789 +FFA7 IrqHandler_Loop790 +FFAD IrqHandler_Loop791 +FFB7 IrqHandler_Loop792 +FFBB IrqHandler_Loop793 +FFC5 IrqHandler_Loop794 diff --git a/NROM/Sqoon (U)/locals.inc b/NROM/Sqoon (U)/locals.inc index d30d681..5160f5e 100644 --- a/NROM/Sqoon (U)/locals.inc +++ b/NROM/Sqoon (U)/locals.inc @@ -8,37 +8,37 @@ Zp00 = $00 ; 5 refs; reads=0 writes=5; used at $82E5, 82EB, 8 Zp01 = $01 ; 7 refs; reads=2 writes=5; used at $82E7, 82FE, 830B, 8D4A, +1 more Zp02 = $02 ; 4 refs; reads=2 writes=2; used at $82BD, 8312, 8D32, 8D5E Zp03 = $03 ; 6 refs; reads=2 writes=4; used at $80E6, 8230, 824C, 85BB, +1 more -Zp04 = $04 ; 5 refs; reads=1 writes=4; used at $8722, 8754, 8BAA, 8BBA, +1 more +Zp04 = $04 ; 6 refs; reads=1 writes=5; used at $845B, 8722, 8754, 8BAA, +2 more Zp05 = $05 ; 9 refs; reads=8 writes=1; used at $8D13, 8E4E, 90E9, 93B4, +5 more -Zp06 = $06 ; 3 refs; reads=1 writes=2; used at $840D, 85EA -Zp07 = $07 ; 3 refs; reads=1 writes=2; used at $8411, 85EE +Zp06 = $06 ; 6 refs; reads=1 writes=5; used at $840D, 8489, 84E6, 851A, +1 more +Zp07 = $07 ; 6 refs; reads=1 writes=5; used at $8411, 848B, 84E8, 851C, +1 more Zp08 = $08 ; 1 refs; reads=0 writes=1; used at $83B6 Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $83BB -Zp0A = $0A ; 9 refs; reads=3 writes=6; used at $8071, 819B, 81D2, 8B9F, +5 more -Zp0B = $0B ; 6 refs; reads=3 writes=3; used at $807F, 81D4, 908E, 909E, +2 more -Zp0C = $0C ; 9 refs; reads=3 writes=6; used at $8076, 81A0, 81D6, 8CF3, +3 more +Zp0A = $0A ; 12 refs; reads=3 writes=9; used at $8071, 819B, 81D2, 8427, +8 more +Zp0B = $0B ; 8 refs; reads=3 writes=5; used at $807F, 81D4, 8429, 84C8, +4 more +Zp0C = $0C ; 10 refs; reads=3 writes=7; used at $8076, 81A0, 81D6, 863F, +4 more Zp0D = $0D ; 3 refs; reads=1 writes=2; used at $8083, 81D8, 8E09 -Zp10 = $10 ; 7 refs; reads=3 writes=4; used at $86B8, 86BD, 86C3, 86E1, +2 more -Zp11 = $11 ; 9 refs; reads=3 writes=6; used at $86AA, 86AE, 86B6, 86D3, +4 more -Zp12 = $12 ; 8 refs; reads=4 writes=4; used at $86DA, 86DF, 86F9, 8734, +4 more -Zp13 = $13 ; 3 refs; reads=0 writes=3; used at $8738, 87B3, B66F -Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $86D5, 86F1 -Zp15 = $15 ; 8 refs; reads=4 writes=4; used at $86C1, 86CB, 86CE, 86D1, +1 more +Zp10 = $10 ; 8 refs; reads=3 writes=5; used at $8482, 86B8, 86BD, 86C3, +3 more +Zp11 = $11 ; 10 refs; reads=3 writes=7; used at $847E, 86AA, 86AE, 86B6, +5 more +Zp12 = $12 ; 13 refs; reads=4 writes=9; used at $8462, 84DB, 8649, 86DA, +9 more +Zp13 = $13 ; 8 refs; reads=0 writes=8; used at $8466, 84DF, 864E, 8738, +4 more +Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $8258, 8264, 86D5, 86F1 +Zp15 = $15 ; 10 refs; reads=6 writes=4; used at $8253, 825F, 86C1, 86CB, +3 more Zp18 = $18 ; 12 refs; reads=7 writes=5; used at $826E, 8292, 8298, 86E7, +4 more -Zp19 = $19 ; 134 refs; reads=31 writes=103; used at $823A, 85C6, 8682, 872E, +130 more -Zp1A = $1A ; 141 refs; reads=5 writes=136; used at $85D3, 8668, 875C, 8782, +133 more -Zp1B = $1B ; 88 refs; reads=0 writes=88; used at $85CA, 85D7, 8678, 8726, +84 more -Zp1C = $1C ; 121 refs; reads=25 writes=96; used at $8225, 85C2, 85DC, 85E1, +117 more +Zp19 = $19 ; 135 refs; reads=31 writes=104; used at $823A, 85C6, 8682, 872E, +131 more +Zp1A = $1A ; 143 refs; reads=6 writes=137; used at $85D3, 8668, 875C, 8782, +135 more +Zp1B = $1B ; 89 refs; reads=0 writes=89; used at $85CA, 85D7, 8678, 8726, +85 more +Zp1C = $1C ; 122 refs; reads=25 writes=97; used at $8225, 85C2, 85DC, 85E1, +118 more Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $8023, 8027, 807B, 8081, +10 more Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $81A7 Zp1F = $1F ; 13 refs; reads=11 writes=2; used at $810B, 8148, 814D, 8153, +8 more Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $810D, 814F -Zp21 = $21 ; 9 refs; reads=8 writes=1; used at $80AB, 8155, 8A7E, 8F6B, +5 more +Zp21 = $21 ; 12 refs; reads=10 writes=2; used at $80AB, 8155, 8404, 8490, +8 more Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $8151 Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $8142, 8145 Zp24 = $24 ; 3 refs; reads=1 writes=2; used at $8569, 856D, 8BB1 Zp2C = $2C ; 1 refs; reads=1 writes=0; used at $87C7 -Zp2F = $2F ; 14 refs; reads=7 writes=7; used at $8567, 856B, 8B3A, 8BB3, +5 more +Zp2F = $2F ; 16 refs; reads=8 writes=8; used at $8567, 856B, 857A, 8581, +7 more Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $853C, 8CE6, 8E97 Zp36 = $36 ; 2 refs; reads=2 writes=0; used at $8863, 8875 Zp37 = $37 ; 3 refs; reads=1 writes=2; used at $8850, 8852, 8B7A @@ -48,23 +48,23 @@ Zp3A = $3A ; 6 refs; reads=2 writes=4; used at $87F7, 8806, 8 Zp3B = $3B ; 3 refs; reads=1 writes=2; used at $8854, 8B82, 901F Zp40 = $40 ; 1 refs; reads=0 writes=1; used at $87C3 Zp41 = $41 ; 1 refs; reads=0 writes=1; used at $87BF -Zp42 = $42 ; 2 refs; reads=1 writes=1; used at $8865, 8877 +Zp42 = $42 ; 4 refs; reads=2 writes=2; used at $8865, 8877, 8880, 8882 Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $82D9, 82F5 -Zp46 = $46 ; 62 refs; reads=30 writes=32; used at $80CB, 80DC, 87D4, 87F5, +53 more -Zp47 = $47 ; 20 refs; reads=2 writes=18; used at $80CF, 80D8, 8A46, 8A53, +15 more -Zp48 = $48 ; 15 refs; reads=5 writes=10; used at $8834, 8843, 8A57, 8A64, +9 more -Zp49 = $49 ; 10 refs; reads=4 writes=6; used at $8828, 8BD6, 8BEB, 8C00, +6 more -Zp4A = $4A ; 83 refs; reads=35 writes=48; used at $829D, 82A1, 83A5, 83B4, +78 more -Zp4B = $4B ; 44 refs; reads=13 writes=31; used at $82A3, 82A7, 83A9, 8A0A, +40 more +Zp46 = $46 ; 64 refs; reads=30 writes=34; used at $80CB, 80DC, 8442, 87D4, +55 more +Zp47 = $47 ; 22 refs; reads=2 writes=20; used at $80CF, 80D8, 8446, 893C, +17 more +Zp48 = $48 ; 17 refs; reads=5 writes=12; used at $844A, 8834, 8843, 8940, +11 more +Zp49 = $49 ; 12 refs; reads=4 writes=8; used at $844E, 8828, 8944, 8BD6, +8 more +Zp4A = $4A ; 85 refs; reads=36 writes=49; used at $829D, 82A1, 83A5, 83B4, +80 more +Zp4B = $4B ; 46 refs; reads=14 writes=32; used at $82A3, 82A7, 83A9, 8A0A, +42 more Zp4C = $4C ; 15 refs; reads=5 writes=10; used at $882A, 93E5, 9B1C, 9EA6, +10 more -Zp4D = $4D ; 33 refs; reads=9 writes=24; used at $829F, 82AA, 87DD, 883B, +29 more -Zp4E = $4E ; 14 refs; reads=6 writes=8; used at $82A5, 82AE, A337, A34E, +10 more +Zp4D = $4D ; 34 refs; reads=10 writes=24; used at $829F, 82AA, 87DD, 883B, +30 more +Zp4E = $4E ; 15 refs; reads=7 writes=8; used at $82A5, 82AE, 98C8, A337, +11 more Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $B33C Zp50 = $50 ; 6 refs; reads=3 writes=3; used at $80B6, 80BD, 83AB, 841C, +1 more -Zp51 = $51 ; 4 refs; reads=2 writes=2; used at $83BD, 8420, 848D +Zp51 = $51 ; 6 refs; reads=3 writes=3; used at $83BD, 8420, 848D, 849B Zp52 = $52 ; 9 refs; reads=4 writes=5; used at $8BD8, 8BED, 8C02, 8C17, +1 more -Zp54 = $54 ; 39 refs; reads=38 writes=1; used at $801E, 80D1, 8160, 8237, +34 more -Zp55 = $55 ; 27 refs; reads=19 writes=8; used at $8050, 80B1, 8103, 8329, +22 more +Zp54 = $54 ; 41 refs; reads=40 writes=1; used at $801E, 80D1, 8160, 8237, +36 more +Zp55 = $55 ; 30 refs; reads=21 writes=9; used at $8050, 80B1, 8103, 8329, +25 more Zp56 = $56 ; 4 refs; reads=1 writes=3; used at $B98C, DCB3, DCBA, DCC8 Zp59 = $59 ; 2 refs; reads=0 writes=2; used at $8033, B7BC Zp5B = $5B ; 4 refs; reads=1 writes=3; used at $92A7, 92AF, 92B5, 92BB @@ -73,12 +73,12 @@ Zp5D = $5D ; 2 refs; reads=0 writes=2; used at $8035, B7BE Zp5E = $5E ; 3 refs; reads=0 writes=3; used at $8DE1, 8DF3, 8DFD Zp5F = $5F ; 3 refs; reads=0 writes=3; used at $8DE5, 8DEF, 8DF9 Zp61 = $61 ; 2 refs; reads=0 writes=2; used at $8037, B7C0 -Zp62 = $62 ; 1 refs; reads=0 writes=1; used at $866C -Zp63 = $63 ; 1 refs; reads=0 writes=1; used at $8670 -Zp64 = $64 ; 1 refs; reads=0 writes=1; used at $8674 -Zp65 = $65 ; 8 refs; reads=4 writes=4; used at $8031, 8E99, B436, B77E, +4 more -Zp66 = $66 ; 5 refs; reads=2 writes=3; used at $860E, 8616, 8619, B3FD -Zp67 = $67 ; 2 refs; reads=0 writes=2; used at $9061, B403 +Zp62 = $62 ; 2 refs; reads=0 writes=2; used at $866C, 88CE +Zp63 = $63 ; 2 refs; reads=0 writes=2; used at $8670, 88D2 +Zp64 = $64 ; 2 refs; reads=0 writes=2; used at $8674, 88D6 +Zp65 = $65 ; 9 refs; reads=4 writes=5; used at $8031, 84CF, 8E99, B436, +5 more +Zp66 = $66 ; 6 refs; reads=2 writes=4; used at $84D3, 860E, 8616, 8619, +1 more +Zp67 = $67 ; 3 refs; reads=0 writes=3; used at $84D7, 9061, B403 Zp69 = $69 ; 2 refs; reads=0 writes=2; used at $8039, B7C4 Zp6A = $6A ; 1 refs; reads=0 writes=1; used at $B3FF Zp6B = $6B ; 2 refs; reads=0 writes=2; used at $9063, B405 @@ -91,11 +91,11 @@ Zp74 = $74 ; 2 refs; reads=0 writes=2; used at $B43E, B7D8 Zp75 = $75 ; 2 refs; reads=0 writes=2; used at $803F, B7CA Zp76 = $76 ; 17 refs; reads=0 writes=17; used at $8C90, 9100, 9121, 913B, +13 more Zp77 = $77 ; 12 refs; reads=0 writes=12; used at $8C8C, 9102, 9193, 91AC, +8 more -Zp79 = $79 ; 7 refs; reads=4 writes=3; used at $8C2B, 8C6B, A170, A176, +3 more -Zp7A = $7A ; 4 refs; reads=1 writes=3; used at $8C36, 8C71, A17A, A17C +Zp79 = $79 ; 8 refs; reads=4 writes=4; used at $88BE, 8C2B, 8C6B, A170, +4 more +Zp7A = $7A ; 5 refs; reads=1 writes=4; used at $88C2, 8C36, 8C71, A17A, +1 more Zp7B = $7B ; 9 refs; reads=4 writes=5; used at $8B84, 9019, 902B, DC35, +5 more Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $8B86, 901D, 902D, DC3B, +5 more -Zp7D = $7D ; 5 refs; reads=2 writes=3; used at $80C5, 815B, 821E, 8548, +1 more +Zp7D = $7D ; 6 refs; reads=2 writes=4; used at $80C5, 815B, 821E, 8548, +2 more Zp7E = $7E ; 4 refs; reads=2 writes=2; used at $8A38, 8AAD, 8E3D, 8E47 Zp8D = $8D ; 9 refs; reads=3 writes=6; used at $8A6F, 8AA4, E126, E12A, +5 more Zp8F = $8F ; 10 refs; reads=6 writes=4; used at $E0DF, E2CF, E3D1, E406, +5 more @@ -106,16 +106,16 @@ Zp93 = $93 ; 2 refs; reads=0 writes=2; used at $E107, E3D9 Zp94 = $94 ; 2 refs; reads=0 writes=2; used at $E10C, E3DD Zp95 = $95 ; 1 refs; reads=0 writes=1; used at $E11B Zp96 = $96 ; 1 refs; reads=0 writes=1; used at $E120 -Zp9A = $9A ; 15 refs; reads=4 writes=11; used at $800F, 809E, 83D9, 83EC, +11 more -Zp9B = $9B ; 5 refs; reads=1 writes=4; used at $8B93, 8E28, B5E3, B5EA -ZpA0 = $A0 ; 29 refs; reads=17 writes=12; used at $8C26, B60A, B60C, B62E, +25 more -ZpA1 = $A1 ; 17 refs; reads=5 writes=12; used at $8C31, B610, B612, B69D, +13 more +Zp9A = $9A ; 20 refs; reads=4 writes=16; used at $800F, 809E, 83D9, 83EC, +16 more +Zp9B = $9B ; 6 refs; reads=1 writes=5; used at $88BA, 8B93, 8E28, B5E3, +1 more +ZpA0 = $A0 ; 30 refs; reads=17 writes=13; used at $88A8, 8C26, B60A, B60C, +26 more +ZpA1 = $A1 ; 18 refs; reads=5 writes=13; used at $88AC, 8C31, B610, B612, +14 more ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $B6AC, B757 ZpA3 = $A3 ; 2 refs; reads=1 writes=1; used at $B6B0, B75B ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $B6B2, B75F -ZpA5 = $A5 ; 11 refs; reads=5 writes=6; used at $8B8D, 8E1A, B607, B6B4, +7 more -ZpA6 = $A6 ; 10 refs; reads=3 writes=7; used at $8BA4, 8E20, B62C, B865, +6 more -ZpA7 = $A7 ; 7 refs; reads=2 writes=5; used at $8BA6, 8E22, B8BE, B8C2, +2 more +ZpA5 = $A5 ; 12 refs; reads=5 writes=7; used at $88B0, 8B8D, 8E1A, B607, +8 more +ZpA6 = $A6 ; 11 refs; reads=3 writes=8; used at $88B2, 8BA4, 8E20, B62C, +7 more +ZpA7 = $A7 ; 8 refs; reads=2 writes=6; used at $88B4, 8BA6, 8E22, B8BE, +3 more ZpA8 = $A8 ; 9 refs; reads=4 writes=5; used at $8B97, 8E1C, B61E, B8B9, +5 more ZpA9 = $A9 ; 9 refs; reads=4 writes=5; used at $8B9B, 8E2C, B619, B8B4, +5 more ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $E08B, E08F @@ -143,7 +143,30 @@ ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $8D42, 8D69 ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $8D3D, 8D64 ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $8D38, 8D60 ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $8D34, 8D5C -ZpFB = $FB ; 10 refs; reads=8 writes=2; used at $8B65, B649, B64D, B780, +6 more -ZpFC = $FC ; 21 refs; reads=17 writes=4; used at $8B15, 8B5B, 8C1C, 8C61, +17 more +ZpFB = $FB ; 12 refs; reads=10 writes=2; used at $8B65, 9895, 98D3, B649, +8 more +ZpFC = $FC ; 22 refs; reads=17 writes=5; used at $888A, 8B15, 8B5B, 8C1C, +18 more ZpFE = $FE ; 7 refs; reads=3 writes=4; used at $8003, 800D, 8015, 801C, +1 more ZpFF = $FF ; 4 refs; reads=2 writes=2; used at $82C3, 8316, 8D36, 8D62 + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp1D +FrameCounter = Zp54 +NmiFrameFlag = ZpFE +PlayerXLow = Zp1A +PlayerXHigh = Zp19 +PlayerYLow = Zp1B +PlayerYHigh = Zp1C +DispatchPtrLo = Zp4A +DispatchPtrHi = Zp4B +ScrollX = Zp4D +ScrollY = Zp4E +VramWritePtrLo = Zp46 +VramWritePtrHi = Zp47 +SpriteX = ZpA0 +SpriteY = ZpA1 +SpriteTile = Zp79 +SpriteAttr = Zp7A +LevelIndex = ZpFC +GameState = Zp9A +PlayerIndex = Zp08 +PlayerIndex2 = Zp09 diff --git a/NROM/Sqoon (U)/prg.s b/NROM/Sqoon (U)/prg.s index 4ae4be4..039e92c 100644 --- a/NROM/Sqoon (U)/prg.s +++ b/NROM/Sqoon (U)/prg.s @@ -9,10 +9,8 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): -; 6 further routine entries recovered from table references elsewhere in the image: -; $832F, $8534, $8587, $85CA, $8656, $8E20 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: -; $8000, $80BF, $813F, $826E, $82E3, $8324, $83A3, $83D4, $84B0, $850D, $8521, $8575, $85A7, $85B4, $8607, $86AA, $86BF, $8754, $877B, $87A4, $8826, $884D, $886D, $8949, $89BF, $8AD8, $8B56, $8BC8, $8C61, $8CE4, $8D0C, $8DF7, $8E3A, $8E47, $8E4E, $8E5D, $8EB8, $8EE6, $8EF4, $8EFC, $8F23, $8FEB, $9043, $90DB, $90F0, $9111, $912B, $917F, $9198, $91B1, $91CA, $91E3, $91FC, $9215, $922E, $9247, $925D, $927A, $92B9, $9326, $9431, $943F, $944E, $9469, $9484, $949A, $9539, $9667, $969D, $96E2, $970D, $97E3, $992B, $9989, $99B1, $99E7, $9A15, $9A36, $9A4C, $9A8A, $9A97, $9AA1, $9ACD, $9B21, $9BEB, $9C19, $9FDB, $9FFE, $A008, $A012, $A01C, $A026, $A030, $A03A, $A044, $A04E, $A058, $A062, $A06C, $A076, $A08A, $A0D0, $A0DE, $A122, $A1D0, $A1F2, $A297, $A2B3, $A41B, $A7D4, $AAA6, $AAAE, $AED3, $AF46, $AF6C, $AFBE, $AFC6, $B081, $B104, $B17F, $B234, $B29C, $B460, $B4EC, $B50E, $B54E, $B5AB, $B5DE, $B607, $B659, $B675, $B6AA, $B6D9, $B6FF, $B73C, $B7ED, $B849, $B86A, $B898, $B8D8, $B8EA, $B97A, $B9ED, $B9FE, $BA03, $BA08, $BA0D, $BA17, $BA1C, $BB08, $DC19, $DC8B, $DCAD, $E08B, $E239, $E3A4, $E425, $E432, $E462, $F696, $F709, $F729, $F80D, $F813, $F841, $F848, $F84F, $F874, $F919, $F980, $F9BD, $FB1C, $FB26, $FB2D, $FBCE, $FCD0, $FCDA, $FE3E, $FF18, $FF6C, $FF8F, $FFA7, $FFB7 +; $8000, $80BF, $813F, $8253, $825E, $826E, $82E3, $8323, $8324, $83A3, $83D4, $83F5, $8419, $8423, $84B0, $84BF, $850D, $8512, $8521, $8530, $8550, $8575, $857A, $8589, $85A7, $85B4, $85B9, $8607, $861C, $86AA, $86BF, $8754, $877B, $87A4, $8826, $884D, $886D, $887F, $8936, $8949, $8951, $89BF, $8AD8, $8B56, $8BC8, $8C61, $8CE4, $8D0C, $8DF7, $8E3A, $8E47, $8E4E, $8E5D, $8EB8, $8EE6, $8EF4, $8EFC, $8F23, $8FEB, $9043, $90DB, $90F0, $9111, $912B, $917F, $9198, $91B1, $91CA, $91E3, $91FC, $9215, $922E, $9247, $925D, $927A, $92B9, $9326, $9431, $943E, $943F, $944E, $9469, $9484, $949A, $9539, $9667, $969C, $969D, $96E2, $970D, $97E3, $9895, $98D3, $992B, $9989, $99B1, $99E7, $9A15, $9A36, $9A4C, $9A8A, $9A97, $9AA1, $9ACD, $9B21, $9BEB, $9C19, $9FDB, $9FFE, $A008, $A012, $A01C, $A026, $A030, $A03A, $A044, $A04E, $A058, $A062, $A06C, $A076, $A08A, $A0D0, $A0DD, $A0DE, $A122, $A1D0, $A1F2, $A297, $A2B3, $A406, $A41B, $A653, $A7D4, $AAA6, $AAAE, $AED3, $AF46, $AF6C, $AFBE, $AFC6, $B081, $B104, $B17F, $B234, $B29C, $B460, $B4EC, $B50E, $B54E, $B5AB, $B5DE, $B607, $B659, $B675, $B6AA, $B6D9, $B6FF, $B73C, $B7ED, $B849, $B86A, $B898, $B8D8, $B8EA, $B97A, $B9ED, $B9FE, $BA03, $BA08, $BA0D, $BA17, $BA1C, $BB08, $DC19, $DC8B, $DCAD, $E08B, $E239, $E3A4, $E425, $E432, $E462, $F696, $F709, $F729, $F80D, $F813, $F841, $F848, $F84F, $F874, $F919, $F980, $F9BD, $FB1C, $FB26, $FB2D, $FBCE, $FCD0, $FCDA, $FE3E, $FF18, $FF6C, $FF8F, $FFA7, $FFB7 ; indirect dispatch through zero page (not followed statically): ; jmp ($0008) at $83BF ; @@ -34,12 +32,12 @@ Reset: ldx #$FF ; CPU:$8000 PRG:0000 A2 FF txs ; CPU:$8002 PRG:0002 9A - stx ZpFE ; CPU:$8003 PRG:0003 86 FE + stx NmiFrameFlag ; CPU:$8003 PRG:0003 86 FE jsr Sub_82B2 ; CPU:$8005 PRG:0005 20 B2 82 jsr Sub_817B ; CPU:$8008 PRG:0008 20 7B 81 lda #$00 ; CPU:$800B PRG:000B A9 00 - sta ZpFE ; CPU:$800D PRG:000D 85 FE - sta Zp9A ; CPU:$800F PRG:000F 85 9A + sta NmiFrameFlag ; CPU:$800D PRG:000D 85 FE + sta GameState ; CPU:$800F PRG:000F 85 9A jmp Sub_80EE ; CPU:$8011 PRG:0011 4C EE 80 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler @@ -51,7 +49,7 @@ Reset: ; ----------------------------------------------------------------------------- NmiHandler: pha ; CPU:$8014 PRG:0014 48 - lda ZpFE ; CPU:$8015 PRG:0015 A5 FE + lda NmiFrameFlag ; CPU:$8015 PRG:0015 A5 FE beq NmiHandler_Loop ; CPU:$8017 PRG:0017 F0 03 jmp IrqHandler ; CPU:$8019 PRG:0019 4C F1 80 ; ----------------------------------------------------------------------------- @@ -63,12 +61,12 @@ NmiHandler: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_Loop: - inc ZpFE ; CPU:$801C PRG:001C E6 FE - inc Zp54 ; CPU:$801E PRG:001E E6 54 + inc NmiFrameFlag ; CPU:$801C PRG:001C E6 FE + inc FrameCounter ; CPU:$801E PRG:001E E6 54 jsr Sub_8158 ; CPU:$8020 PRG:0020 20 58 81 - lda Zp1D ; CPU:$8023 PRG:0023 A5 1D + lda PpuCtrlShadow ; CPU:$8023 PRG:0023 A5 1D and #$7F ; CPU:$8025 PRG:0025 29 7F - sta Zp1D ; CPU:$8027 PRG:0027 85 1D + sta PpuCtrlShadow ; CPU:$8027 PRG:0027 85 1D sta PPUCTRL ; CPU:$8029 PRG:0029 8D 00 20 lda #$00 ; CPU:$802C PRG:002C A9 00 sta PPUMASK ; CPU:$802E PRG:002E 8D 01 20 @@ -112,23 +110,23 @@ NmiHandler_OnNonzero: sta PPUSCROLL ; CPU:$8073 PRG:0073 8D 05 20 lda Zp0C ; CPU:$8076 PRG:0076 A5 0C sta PPUSCROLL ; CPU:$8078 PRG:0078 8D 05 20 - lda Zp1D ; CPU:$807B PRG:007B A5 1D + lda PpuCtrlShadow ; CPU:$807B PRG:007B A5 1D and #$FC ; CPU:$807D PRG:007D 29 FC ora Zp0B ; CPU:$807F PRG:007F 05 0B - sta Zp1D ; CPU:$8081 PRG:0081 85 1D + sta PpuCtrlShadow ; CPU:$8081 PRG:0081 85 1D lda Zp0D ; CPU:$8083 PRG:0083 A5 0D asl a ; CPU:$8085 PRG:0085 0A - ora Zp1D ; CPU:$8086 PRG:0086 05 1D - sta Zp1D ; CPU:$8088 PRG:0088 85 1D + ora PpuCtrlShadow ; CPU:$8086 PRG:0086 05 1D + sta PpuCtrlShadow ; CPU:$8088 PRG:0088 85 1D sta PPUCTRL ; CPU:$808A PRG:008A 8D 00 20 lda PPUSTATUS ; CPU:$808D PRG:008D AD 02 20 - lda Zp1D ; CPU:$8090 PRG:0090 A5 1D + lda PpuCtrlShadow ; CPU:$8090 PRG:0090 A5 1D eor #$80 ; CPU:$8092 PRG:0092 49 80 - sta Zp1D ; CPU:$8094 PRG:0094 85 1D + sta PpuCtrlShadow ; CPU:$8094 PRG:0094 85 1D sta PPUCTRL ; CPU:$8096 PRG:0096 8D 00 20 lda #$1A ; CPU:$8099 PRG:0099 A9 1A sta PPUMASK ; CPU:$809B PRG:009B 8D 01 20 - lda Zp9A ; CPU:$809E PRG:009E A5 9A + lda GameState ; CPU:$809E PRG:009E A5 9A beq NmiHandler_Loop2 ; CPU:$80A0 PRG:00A0 F0 06 jsr Sub_9089 ; CPU:$80A2 PRG:00A2 20 89 90 jsr Sub_B998 ; CPU:$80A5 PRG:00A5 20 98 B9 @@ -167,14 +165,14 @@ NmiHandler_Loop3: lda Zp7D ; CPU:$80C5 PRG:00C5 A5 7D bne NmiHandler_Loop5 ; CPU:$80C7 PRG:00C7 D0 1F ldy #$00 ; CPU:$80C9 PRG:00C9 A0 00 - sty Zp46 ; CPU:$80CB PRG:00CB 84 46 + sty VramWritePtrLo ; CPU:$80CB PRG:00CB 84 46 lda #$02 ; CPU:$80CD PRG:00CD A9 02 - sta Zp47 ; CPU:$80CF PRG:00CF 85 47 - lda Zp54 ; CPU:$80D1 PRG:00D1 A5 54 + sta VramWritePtrHi ; CPU:$80CF PRG:00CF 85 47 + lda FrameCounter ; CPU:$80D1 PRG:00D1 A5 54 lsr a ; CPU:$80D3 PRG:00D3 4A bcc NmiHandler_Loop4 ; CPU:$80D4 PRG:00D4 90 04 lda #$03 ; CPU:$80D6 PRG:00D6 A9 03 - sta Zp47 ; CPU:$80D8 PRG:00D8 85 47 + sta VramWritePtrHi ; CPU:$80D8 PRG:00D8 85 47 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler_Loop4 ; Global: Branch target inside NmiHandler: taken when Loop4. @@ -194,7 +192,7 @@ NmiHandler_Loop4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- NmiHandler_OnNonzero2: - sta (Zp46),y ; CPU:$80DC PRG:00DC 91 46 + sta (VramWritePtrLo),y ; CPU:$80DC PRG:00DC 91 46 iny ; CPU:$80DE PRG:00DE C8 iny ; CPU:$80DF PRG:00DF C8 iny ; CPU:$80E0 PRG:00E0 C8 @@ -215,7 +213,7 @@ NmiHandler_Loop5: pla ; CPU:$80E9 PRG:00E9 68 pla ; CPU:$80EA PRG:00EA 68 pla ; CPU:$80EB PRG:00EB 68 - dec ZpFE ; CPU:$80EC PRG:00EC C6 FE + dec NmiFrameFlag ; CPU:$80EC PRG:00EC C6 FE ; ----------------------------------------------------------------------------- ; Routine: Sub_80EE ; Global: Branch target inside Sub: taken when 80EE. @@ -349,7 +347,7 @@ Sub_8158: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop3: - lda Zp54 ; CPU:$8160 PRG:0160 A5 54 + lda FrameCounter ; CPU:$8160 PRG:0160 A5 54 lsr a ; CPU:$8162 PRG:0162 4A bcs IrqHandler_Loop4 ; CPU:$8163 PRG:0163 B0 0B lda #$00 ; CPU:$8165 PRG:0165 A9 00 @@ -399,7 +397,7 @@ IrqHandler_OnZero: sta PPUMASK ; CPU:$818C PRG:018C 8D 01 20 lda #$10 ; CPU:$818F PRG:018F A9 10 sta PPUCTRL ; CPU:$8191 PRG:0191 8D 00 20 - sta Zp1D ; CPU:$8194 PRG:0194 85 1D + sta PpuCtrlShadow ; CPU:$8194 PRG:0194 85 1D lda #$00 ; CPU:$8196 PRG:0196 A9 00 sta PPUSCROLL ; CPU:$8198 PRG:0198 8D 05 20 sta Zp0A ; CPU:$819B PRG:019B 85 0A @@ -410,10 +408,10 @@ IrqHandler_OnZero: sta Zp1E ; CPU:$81A7 PRG:01A7 85 1E jsr Sub_81E0 ; CPU:$81A9 PRG:01A9 20 E0 81 jsr Sub_8324 ; CPU:$81AC PRG:01AC 20 24 83 - lda Zp1D ; CPU:$81AF PRG:01AF A5 1D + lda PpuCtrlShadow ; CPU:$81AF PRG:01AF A5 1D eor #$80 ; CPU:$81B1 PRG:01B1 49 80 sta PPUCTRL ; CPU:$81B3 PRG:01B3 8D 00 20 - sta Zp1D ; CPU:$81B6 PRG:01B6 85 1D + sta PpuCtrlShadow ; CPU:$81B6 PRG:01B6 85 1D lda #$1A ; CPU:$81B8 PRG:01B8 A9 1A sta PPUMASK ; CPU:$81BA PRG:01BA 8D 01 20 rts ; CPU:$81BD PRG:01BD 60 @@ -471,7 +469,7 @@ Sub_81E0: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_81E7: - lda Zp1D ; CPU:$81E7 PRG:01E7 A5 1D + lda PpuCtrlShadow ; CPU:$81E7 PRG:01E7 A5 1D and #$FB ; CPU:$81E9 PRG:01E9 29 FB sta PPUCTRL ; CPU:$81EB PRG:01EB 8D 00 20 lda #$20 ; CPU:$81EE PRG:01EE A9 20 @@ -539,7 +537,7 @@ Sub_8221: pha ; CPU:$8222 PRG:0222 48 tya ; CPU:$8223 PRG:0223 98 pha ; CPU:$8224 PRG:0224 48 - lda Zp1C ; CPU:$8225 PRG:0225 A5 1C + lda PlayerYHigh ; CPU:$8225 PRG:0225 A5 1C bmi IrqHandler_Loop5 ; CPU:$8227 PRG:0227 30 07 cmp #$02 ; CPU:$8229 PRG:0229 C9 02 bcs IrqHandler_Loop5 ; CPU:$822B PRG:022B B0 03 @@ -567,9 +565,9 @@ IrqHandler_Loop5: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero4: - lda Zp54 ; CPU:$8237 PRG:0237 A5 54 + lda FrameCounter ; CPU:$8237 PRG:0237 A5 54 lsr a ; CPU:$8239 PRG:0239 4A - lda Zp19,x ; CPU:$823A PRG:023A B5 19 + lda PlayerXHigh,x ; CPU:$823A PRG:023A B5 19 bcc IrqHandler_Loop6 ; CPU:$823C PRG:023C 90 05 sta $0200,y ; CPU:$823E PRG:023E 99 00 02 bcs IrqHandler_Loop7 ; CPU:$8241 PRG:0241 B0 03 @@ -611,9 +609,37 @@ Sub_824E: pla ; CPU:$8250 PRG:0250 68 tax ; CPU:$8251 PRG:0251 AA rts ; CPU:$8252 PRG:0252 60 -; ---- data $8253-$826D (27 bytes) ---- - .byte $A5, $15, $8D, $06, $20, $A5, $14, $8D, $06, $20, $60, $48, $A5, $15, $8D, $06 ; CPU:$8253 PRG:0253 A5 15 8D 06 20 A5 14 8D 06 20 60 48 A5 15 8D 06 - .byte $20, $A5, $14, $8D, $06, $20, $68, $8D, $07, $20, $60 ; CPU:$8263 PRG:0263 20 A5 14 8D 06 20 68 8D 07 20 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8253 +; Global: Branch target inside Label: taken when 8253. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8253: + lda Zp15 ; CPU:$8253 PRG:0253 A5 15 + sta PPUADDR ; CPU:$8255 PRG:0255 8D 06 20 + lda Zp14 ; CPU:$8258 PRG:0258 A5 14 + sta PPUADDR ; CPU:$825A PRG:025A 8D 06 20 + rts ; CPU:$825D PRG:025D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_825E +; Global: Branch target inside Label: taken when 825E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_825E: + pha ; CPU:$825E PRG:025E 48 + lda Zp15 ; CPU:$825F PRG:025F A5 15 + sta PPUADDR ; CPU:$8261 PRG:0261 8D 06 20 + lda Zp14 ; CPU:$8264 PRG:0264 A5 14 + sta PPUADDR ; CPU:$8266 PRG:0266 8D 06 20 + pla ; CPU:$8269 PRG:0269 68 + sta PPUDATA ; CPU:$826A PRG:026A 8D 07 20 + rts ; CPU:$826D PRG:026D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_826E ; Global: Branch target inside Sub: taken when 826E. @@ -692,12 +718,12 @@ IrqHandler_Loop9: IrqHandler_OnZero2: clc ; CPU:$829B PRG:029B 18 cld ; CPU:$829C PRG:029C D8 - lda Zp4A ; CPU:$829D PRG:029D A5 4A - adc Zp4D ; CPU:$829F PRG:029F 65 4D - sta Zp4A ; CPU:$82A1 PRG:02A1 85 4A - lda Zp4B ; CPU:$82A3 PRG:02A3 A5 4B - adc Zp4E ; CPU:$82A5 PRG:02A5 65 4E - sta Zp4B ; CPU:$82A7 PRG:02A7 85 4B + lda DispatchPtrLo ; CPU:$829D PRG:029D A5 4A + adc ScrollX ; CPU:$829F PRG:029F 65 4D + sta DispatchPtrLo ; CPU:$82A1 PRG:02A1 85 4A + lda DispatchPtrHi ; CPU:$82A3 PRG:02A3 A5 4B + adc ScrollY ; CPU:$82A5 PRG:02A5 65 4E + sta DispatchPtrHi ; CPU:$82A7 PRG:02A7 85 4B rts ; CPU:$82A9 PRG:02A9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_82AA @@ -708,9 +734,9 @@ IrqHandler_OnZero2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_82AA: - sta Zp4D ; CPU:$82AA PRG:02AA 85 4D + sta ScrollX ; CPU:$82AA PRG:02AA 85 4D lda #$00 ; CPU:$82AC PRG:02AC A9 00 - sta Zp4E ; CPU:$82AE PRG:02AE 85 4E + sta ScrollY ; CPU:$82AE PRG:02AE 85 4E beq IrqHandler_OnZero2 ; CPU:$82B0 PRG:02B0 F0 E9 ; ----------------------------------------------------------------------------- ; Routine: Sub_82B2 @@ -821,8 +847,16 @@ IrqHandler_OnNonzero9: lda #$AA ; CPU:$831D PRG:031D A9 AA sta $07FF ; CPU:$831F PRG:031F 8D FF 07 rts ; CPU:$8322 PRG:0322 60 -; ---- data $8323-$8323 (1 bytes) ---- - .byte $60 ; CPU:$8323 PRG:0323 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8323 +; Global: Branch target inside Sub: taken when 8323. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8323: + rts ; CPU:$8323 PRG:0323 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8324 ; Global: Branch target inside Sub: taken when 8324. @@ -848,14 +882,14 @@ IrqHandler_OnNonzero10: bne IrqHandler_OnNonzero10 ; CPU:$832C PRG:032C D0 F8 rts ; CPU:$832E PRG:032E 60 ; ----------------------------------------------------------------------------- -; Routine: Label_832F -; Global: Branch target inside Label: taken when 832F. -; Local: Part of Label. +; Routine: Sub_832F +; Global: Branch target inside Sub: taken when 832F. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_832F: +Sub_832F: ldx #$20 ; CPU:$832F PRG:032F A2 20 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero11 @@ -874,7 +908,8 @@ IrqHandler_OnNonzero11: ; ---- data $833A-$83A2 (105 bytes) ---- ; referenced by `lda $8359,x` at $8326 (operand $8359 falls inside this region) ; referenced by `lda $8379,x` at $8331 (operand $8379 falls inside this region) - .byte $30, $15, $0F, $21, $30, $25, $0F, $21, $20, $0F, $0F, $21, $0F, $2B, $2B, $21 ; CPU:$833A PRG:033A 30 15 0F 21 30 25 0F 21 20 0F 0F 21 0F 2B 2B 21 +EnemyAnimationScriptTable: + .byte $30, $15, $0F, $21, $30, $25, $0F, $21, $20, $0F, $0F, $21, $0F, $2B, $2B, $21 ; CPU:$833A PRG:-3CC6 30 15 0F 21 30 25 0F 21 20 0F 0F 21 0F 2B 2B 21 .byte $10, $00, $0F, $21, $10, $00, $0F, $21, $18, $29, $08, $21, $0F, $31, $2B, $21 ; CPU:$834A PRG:034A 10 00 0F 21 10 00 0F 21 18 29 08 21 0F 31 2B 21 .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$835A PRG:035A 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$836A PRG:036A 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F @@ -891,23 +926,24 @@ IrqHandler_OnNonzero11: ; ----------------------------------------------------------------------------- Sub_83A3: lda #$C2 ; CPU:$83A3 PRG:03A3 A9 C2 - sta Zp4A ; CPU:$83A5 PRG:03A5 85 4A + sta DispatchPtrLo ; CPU:$83A5 PRG:03A5 85 4A lda #$83 ; CPU:$83A7 PRG:03A7 A9 83 - sta Zp4B ; CPU:$83A9 PRG:03A9 85 4B + sta DispatchPtrHi ; CPU:$83A9 PRG:03A9 85 4B lda Zp50 ; CPU:$83AB PRG:03AB A5 50 clc ; CPU:$83AD PRG:03AD 18 rol a ; CPU:$83AE PRG:03AE 2A jsr Sub_82AA ; CPU:$83AF PRG:03AF 20 AA 82 ldy #$00 ; CPU:$83B2 PRG:03B2 A0 00 - lda (Zp4A),y ; CPU:$83B4 PRG:03B4 B1 4A - sta Zp08 ; CPU:$83B6 PRG:03B6 85 08 + lda (DispatchPtrLo),y ; CPU:$83B4 PRG:03B4 B1 4A + sta PlayerIndex ; CPU:$83B6 PRG:03B6 85 08 iny ; CPU:$83B8 PRG:03B8 C8 - lda (Zp4A),y ; CPU:$83B9 PRG:03B9 B1 4A - sta Zp09 ; CPU:$83BB PRG:03BB 85 09 + lda (DispatchPtrLo),y ; CPU:$83B9 PRG:03B9 B1 4A + sta PlayerIndex2 ; CPU:$83BB PRG:03BB 85 09 ldx Zp51 ; CPU:$83BD PRG:03BD A6 51 - jmp (Zp08) ; CPU:$83BF PRG:03BF 6C 08 00 + jmp (PlayerIndex) ; CPU:$83BF PRG:03BF 6C 08 00 ; ---- data $83C2-$83D3 (18 bytes) ---- - .byte $D4, $83, $F5, $83, $BF, $84, $21, $85, $30, $85, $50, $85, $89, $85, $FC, $85 ; CPU:$83C2 PRG:03C2 D4 83 F5 83 BF 84 21 85 30 85 50 85 89 85 FC 85 +RoutinePointerTable: + .byte $D4, $83, $F5, $83, $BF, $84, $21, $85, $30, $85, $50, $85, $89, $85, $FC, $85 ; CPU:$83C2 PRG:-3C3E D4 83 F5 83 BF 84 21 85 30 85 50 85 89 85 FC 85 .byte $FF, $85 ; CPU:$83D2 PRG:03D2 FF 85 ; ----------------------------------------------------------------------------- ; Routine: Label_83D4 @@ -921,7 +957,7 @@ Label_83D4: dex ; CPU:$83D4 PRG:03D4 CA bne IrqHandler_Loop11 ; CPU:$83D5 PRG:03D5 D0 0D lda #$00 ; CPU:$83D7 PRG:03D7 A9 00 - sta Zp9A ; CPU:$83D9 PRG:03D9 85 9A + sta GameState ; CPU:$83D9 PRG:03D9 85 9A sta $047E ; CPU:$83DB PRG:03DB 8D 7E 04 jsr Sub_8949 ; CPU:$83DE PRG:03DE 20 49 89 jmp Sub_848D ; CPU:$83E1 PRG:03E1 4C 8D 84 @@ -947,27 +983,22 @@ IrqHandler_Loop11: ; ----------------------------------------------------------------------------- IrqHandler_Loop12: lda #$00 ; CPU:$83EA PRG:03EA A9 00 - sta Zp9A ; CPU:$83EC PRG:03EC 85 9A + sta GameState ; CPU:$83EC PRG:03EC 85 9A lda #$01 ; CPU:$83EE PRG:03EE A9 01 sta ZpAC ; CPU:$83F0 PRG:03F0 85 AC jmp Sub_848D ; CPU:$83F2 PRG:03F2 4C 8D 84 -; ---- data $83F5-$840C (24 bytes) ---- - .byte $CA, $D0, $03, $4C, $6E, $84, $CA, $D0, $1B, $20, $51, $89, $20, $07, $86, $A5 ; CPU:$83F5 PRG:03F5 CA D0 03 4C 6E 84 CA D0 1B 20 51 89 20 07 86 A5 - .byte $21, $29, $30, $F0, $03, $4C, $90, $84 ; CPU:$8405 PRG:0405 21 29 30 F0 03 4C 90 84 ; ----------------------------------------------------------------------------- -; Routine: Sub_840D -; Global: Branch target inside Sub: taken when 840D. -; Local: Part of Sub. +; Routine: Label_83F5 +; Global: Branch target inside Label: taken when 83F5. +; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_840D: - dec Zp06 ; CPU:$840D PRG:040D C6 06 - bne IrqHandler_Loop13 ; CPU:$840F PRG:040F D0 07 - dec Zp07 ; CPU:$8411 PRG:0411 C6 07 - bne IrqHandler_Loop13 ; CPU:$8413 PRG:0413 D0 03 - jmp Sub_848D ; CPU:$8415 PRG:0415 4C 8D 84 +Label_83F5: + dex ; CPU:$83F5 PRG:03F5 CA + bne IrqHandler_Loop13 ; CPU:$83F6 PRG:03F6 D0 03 + jmp Sub_846E ; CPU:$83F8 PRG:03F8 4C 6E 84 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop13 ; Global: Branch target inside IrqHandler: taken when Loop13. @@ -977,9 +1008,49 @@ Sub_840D: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop13: + dex ; CPU:$83FB PRG:03FB CA + bne IrqHandler_Loop16 ; CPU:$83FC PRG:03FC D0 1B + jsr Sub_8951 ; CPU:$83FE PRG:03FE 20 51 89 + jsr Sub_8607 ; CPU:$8401 PRG:0401 20 07 86 + lda Zp21 ; CPU:$8404 PRG:0404 A5 21 + and #$30 ; CPU:$8406 PRG:0406 29 30 + beq IrqHandler_Loop14 ; CPU:$8408 PRG:0408 F0 03 + jmp Sub_8490 ; CPU:$840A PRG:040A 4C 90 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop14 +; Global: Branch target inside IrqHandler: taken when Loop14. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop14: + dec Zp06 ; CPU:$840D PRG:040D C6 06 + bne IrqHandler_Loop15 ; CPU:$840F PRG:040F D0 07 + dec Zp07 ; CPU:$8411 PRG:0411 C6 07 + bne IrqHandler_Loop15 ; CPU:$8413 PRG:0413 D0 03 + jmp Sub_848D ; CPU:$8415 PRG:0415 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop15 +; Global: Branch target inside IrqHandler: taken when Loop15. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop15: rts ; CPU:$8418 PRG:0418 60 -; ---- data $8419-$841B (3 bytes) ---- - .byte $CA, $D0, $07 ; CPU:$8419 PRG:0419 CA D0 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop16 +; Global: Branch target inside IrqHandler: taken when Loop16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop16: + dex ; CPU:$8419 PRG:0419 CA + bne IrqHandler_Loop17 ; CPU:$841A PRG:041A D0 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_841C ; Global: Branch target inside Sub: taken when 841C. @@ -1002,14 +1073,98 @@ Sub_841E: lda #$00 ; CPU:$841E PRG:041E A9 00 sta Zp51 ; CPU:$8420 PRG:0420 85 51 rts ; CPU:$8422 PRG:0422 60 -; ---- data $8423-$848C (106 bytes) ---- - .byte $A9, $00, $85, $9A, $85, $0A, $85, $0B, $AD, $7E, $04, $C9, $90, $B0, $21, $20 ; CPU:$8423 PRG:0423 A9 00 85 9A 85 0A 85 0B AD 7E 04 C9 90 B0 21 20 - .byte $1C, $86, $EE, $7E, $04, $AD, $7E, $04, $C9, $05, $F0, $01, $60, $A9, $1A, $85 ; CPU:$8433 PRG:0433 1C 86 EE 7E 04 AD 7E 04 C9 05 F0 01 60 A9 1A 85 - .byte $46, $A9, $DD, $85, $47, $A9, $C0, $85, $48, $A9, $23, $85, $49, $20, $D3, $DC ; CPU:$8443 PRG:0443 46 A9 DD 85 47 A9 C0 85 48 A9 23 85 49 20 D3 DC - .byte $A5, $55, $29, $04, $85, $55, $A9, $00, $85, $04, $8D, $7E, $04, $A9, $CF, $85 ; CPU:$8453 PRG:0453 A5 55 29 04 85 55 A9 00 85 04 8D 7E 04 A9 CF 85 - .byte $12, $A9, $DD, $85, $13, $20, $D8, $86, $4C, $8D, $84, $20, $2F, $83, $20, $BB ; CPU:$8463 PRG:0463 12 A9 DD 85 13 20 D8 86 4C 8D 84 20 2F 83 20 BB - .byte $87, $20, $1B, $87, $A2, $17, $20, $BD, $87, $A9, $0D, $85, $11, $A9, $03, $85 ; CPU:$8473 PRG:0473 87 20 1B 87 A2 17 20 BD 87 A9 0D 85 11 A9 03 85 - .byte $10, $20, $AD, $87, $A9, $05, $85, $06, $85, $07 ; CPU:$8483 PRG:0483 10 20 AD 87 A9 05 85 06 85 07 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop17 +; Global: Branch target inside IrqHandler: taken when Loop17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop17: + lda #$00 ; CPU:$8423 PRG:0423 A9 00 + sta GameState ; CPU:$8425 PRG:0425 85 9A + sta Zp0A ; CPU:$8427 PRG:0427 85 0A + sta Zp0B ; CPU:$8429 PRG:0429 85 0B + lda $047E ; CPU:$842B PRG:042B AD 7E 04 + cmp #$90 ; CPU:$842E PRG:042E C9 90 + bcs IrqHandler_Loop19 ; CPU:$8430 PRG:0430 B0 21 + jsr Sub_861C ; CPU:$8432 PRG:0432 20 1C 86 + inc $047E ; CPU:$8435 PRG:0435 EE 7E 04 + lda $047E ; CPU:$8438 PRG:0438 AD 7E 04 + cmp #$05 ; CPU:$843B PRG:043B C9 05 + beq IrqHandler_Loop18 ; CPU:$843D PRG:043D F0 01 + rts ; CPU:$843F PRG:043F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop18 +; Global: Branch target inside IrqHandler: taken when Loop18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop18: + lda #$1A ; CPU:$8440 PRG:0440 A9 1A + sta VramWritePtrLo ; CPU:$8442 PRG:0442 85 46 + lda #$DD ; CPU:$8444 PRG:0444 A9 DD + sta VramWritePtrHi ; CPU:$8446 PRG:0446 85 47 + lda #$C0 ; CPU:$8448 PRG:0448 A9 C0 + sta Zp48 ; CPU:$844A PRG:044A 85 48 + lda #$23 ; CPU:$844C PRG:044C A9 23 + sta Zp49 ; CPU:$844E PRG:044E 85 49 + jsr Sub_DCD3 ; CPU:$8450 PRG:0450 20 D3 DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop19 +; Global: Branch target inside IrqHandler: taken when Loop19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop19: + lda Zp55 ; CPU:$8453 PRG:0453 A5 55 + and #$04 ; CPU:$8455 PRG:0455 29 04 + sta Zp55 ; CPU:$8457 PRG:0457 85 55 + lda #$00 ; CPU:$8459 PRG:0459 A9 00 + sta Zp04 ; CPU:$845B PRG:045B 85 04 + sta $047E ; CPU:$845D PRG:045D 8D 7E 04 + lda #$CF ; CPU:$8460 PRG:0460 A9 CF + sta Zp12 ; CPU:$8462 PRG:0462 85 12 + lda #$DD ; CPU:$8464 PRG:0464 A9 DD + sta Zp13 ; CPU:$8466 PRG:0466 85 13 + jsr Sub_86D8 ; CPU:$8468 PRG:0468 20 D8 86 + jmp Sub_848D ; CPU:$846B PRG:046B 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_846E +; Global: Branch target inside Sub: taken when 846E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_846E: + jsr Sub_832F ; CPU:$846E PRG:046E 20 2F 83 + jsr Sub_87BB ; CPU:$8471 PRG:0471 20 BB 87 + jsr Sub_871B ; CPU:$8474 PRG:0474 20 1B 87 + ldx #$17 ; CPU:$8477 PRG:0477 A2 17 + jsr Sub_87BD ; CPU:$8479 PRG:0479 20 BD 87 + lda #$0D ; CPU:$847C PRG:047C A9 0D + sta Zp11 ; CPU:$847E PRG:047E 85 11 + lda #$03 ; CPU:$8480 PRG:0480 A9 03 + sta Zp10 ; CPU:$8482 PRG:0482 85 10 + jsr Sub_87AD ; CPU:$8484 PRG:0484 20 AD 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_8487 +; Global: Branch target inside Sub: taken when 8487. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8487: + lda #$05 ; CPU:$8487 PRG:0487 A9 05 + sta Zp06 ; CPU:$8489 PRG:0489 85 06 + sta Zp07 ; CPU:$848B PRG:048B 85 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_848D ; Global: Branch target inside Sub: taken when 848D. @@ -1021,18 +1176,34 @@ Sub_841E: Sub_848D: inc Zp51 ; CPU:$848D PRG:048D E6 51 rts ; CPU:$848F PRG:048F 60 -; ---- data $8490-$84AF (32 bytes) ---- - .byte $A5, $21, $29, $10, $D0, $1A, $A9, $1A, $8D, $01, $20, $C6, $51, $4C, $87, $84 ; CPU:$8490 PRG:0490 A5 21 29 10 D0 1A A9 1A 8D 01 20 C6 51 4C 87 84 - .byte $0A, $12, $3B, $FE, $0A, $14, $00, $FF, $0A, $12, $00, $FE, $0A, $14, $3B, $FF ; CPU:$84A0 PRG:04A0 0A 12 3B FE 0A 14 00 FF 0A 12 00 FE 0A 14 3B FF ; ----------------------------------------------------------------------------- -; Routine: Label_84B0 -; Global: Branch target inside Label: taken when 84B0. -; Local: Part of Label. +; Routine: Sub_8490 +; Global: Branch target inside Sub: taken when 8490. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_84B0: +Sub_8490: + lda Zp21 ; CPU:$8490 PRG:0490 A5 21 + and #$10 ; CPU:$8492 PRG:0492 29 10 + bne IrqHandler_Loop20 ; CPU:$8494 PRG:0494 D0 1A + lda #$1A ; CPU:$8496 PRG:0496 A9 1A + sta PPUMASK ; CPU:$8498 PRG:0498 8D 01 20 + dec Zp51 ; CPU:$849B PRG:049B C6 51 + jmp Sub_8487 ; CPU:$849D PRG:049D 4C 87 84 +; ---- data $84A0-$84AF (16 bytes) ---- +EnemyPathDeltaTable: + .byte $0A, $12, $3B, $FE, $0A, $14, $00, $FF, $0A, $12, $00, $FE, $0A, $14, $3B, $FF ; CPU:$84A0 PRG:-3B60 0A 12 3B FE 0A 14 00 FF 0A 12 00 FE 0A 14 3B FF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop20 +; Global: Branch target inside IrqHandler: taken when Loop20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop20: lda Zp55 ; CPU:$84B0 PRG:04B0 A5 55 lsr Zp55 ; CPU:$84B2 PRG:04B2 46 55 ora #$80 ; CPU:$84B4 PRG:04B4 09 80 @@ -1040,12 +1211,88 @@ Label_84B0: sta Zp55 ; CPU:$84B8 PRG:04B8 85 55 lda #$03 ; CPU:$84BA PRG:04BA A9 03 jmp Sub_850D ; CPU:$84BC PRG:04BC 4C 0D 85 -; ---- data $84BF-$850C (78 bytes) ---- - .byte $CA, $D0, $2B, $A9, $00, $85, $9A, $85, $0A, $85, $0B, $20, $BE, $81, $A9, $0F ; CPU:$84BF PRG:04BF CA D0 2B A9 00 85 9A 85 0A 85 0B 20 BE 81 A9 0F - .byte $85, $65, $A9, $30, $85, $66, $A9, $21, $85, $67, $A9, $D4, $85, $12, $A9, $DE ; CPU:$84CF PRG:04CF 85 65 A9 30 85 66 A9 21 85 67 A9 D4 85 12 A9 DE - .byte $85, $13, $20, $D8, $86, $A9, $03, $85, $06, $85, $07, $4C, $8D, $84, $CA, $D0 ; CPU:$84DF PRG:04DF 85 13 20 D8 86 A9 03 85 06 85 07 4C 8D 84 CA D0 - .byte $06, $20, $56, $86, $4C, $0D, $84, $CA, $D0, $06, $20, $BE, $81, $20, $D9, $88 ; CPU:$84EF PRG:04EF 06 20 56 86 4C 0D 84 CA D0 06 20 BE 81 20 D9 88 - .byte $CA, $D0, $06, $20, $DC, $88, $4C, $0D, $84, $CA, $D0, $07, $A9, $00 ; CPU:$84FF PRG:04FF CA D0 06 20 DC 88 4C 0D 84 CA D0 07 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_84BF +; Global: Branch target inside Label: taken when 84BF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_84BF: + dex ; CPU:$84BF PRG:04BF CA + bne IrqHandler_Loop21 ; CPU:$84C0 PRG:04C0 D0 2B + lda #$00 ; CPU:$84C2 PRG:04C2 A9 00 + sta GameState ; CPU:$84C4 PRG:04C4 85 9A + sta Zp0A ; CPU:$84C6 PRG:04C6 85 0A + sta Zp0B ; CPU:$84C8 PRG:04C8 85 0B + jsr Sub_81BE ; CPU:$84CA PRG:04CA 20 BE 81 + lda #$0F ; CPU:$84CD PRG:04CD A9 0F + sta Zp65 ; CPU:$84CF PRG:04CF 85 65 + lda #$30 ; CPU:$84D1 PRG:04D1 A9 30 + sta Zp66 ; CPU:$84D3 PRG:04D3 85 66 + lda #$21 ; CPU:$84D5 PRG:04D5 A9 21 + sta Zp67 ; CPU:$84D7 PRG:04D7 85 67 + lda #$D4 ; CPU:$84D9 PRG:04D9 A9 D4 + sta Zp12 ; CPU:$84DB PRG:04DB 85 12 + lda #$DE ; CPU:$84DD PRG:04DD A9 DE + sta Zp13 ; CPU:$84DF PRG:04DF 85 13 + jsr Sub_86D8 ; CPU:$84E1 PRG:04E1 20 D8 86 + lda #$03 ; CPU:$84E4 PRG:04E4 A9 03 + sta Zp06 ; CPU:$84E6 PRG:04E6 85 06 + sta Zp07 ; CPU:$84E8 PRG:04E8 85 07 + jmp Sub_848D ; CPU:$84EA PRG:04EA 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop21 +; Global: Branch target inside IrqHandler: taken when Loop21. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop21: + dex ; CPU:$84ED PRG:04ED CA + bne IrqHandler_Loop22 ; CPU:$84EE PRG:04EE D0 06 + jsr Sub_8656 ; CPU:$84F0 PRG:04F0 20 56 86 + jmp IrqHandler_Loop14 ; CPU:$84F3 PRG:04F3 4C 0D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop22 +; Global: Branch target inside IrqHandler: taken when Loop22. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop22: + dex ; CPU:$84F6 PRG:04F6 CA + bne IrqHandler_Loop23 ; CPU:$84F7 PRG:04F7 D0 06 + jsr Sub_81BE ; CPU:$84F9 PRG:04F9 20 BE 81 + jsr Sub_88D9 ; CPU:$84FC PRG:04FC 20 D9 88 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop23 +; Global: Branch target inside IrqHandler: taken when Loop23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop23: + dex ; CPU:$84FF PRG:04FF CA + bne IrqHandler_Loop24 ; CPU:$8500 PRG:0500 D0 06 + jsr Sub_88DC ; CPU:$8502 PRG:0502 20 DC 88 + jmp IrqHandler_Loop14 ; CPU:$8505 PRG:0505 4C 0D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop24 +; Global: Branch target inside IrqHandler: taken when Loop24. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop24: + dex ; CPU:$8508 PRG:0508 CA + bne IrqHandler_Loop25 ; CPU:$8509 PRG:0509 D0 07 + lda #$00 ; CPU:$850B PRG:050B A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_850D ; Global: Branch target inside Sub: taken when 850D. @@ -1057,8 +1304,21 @@ Label_84B0: Sub_850D: sta Zp50 ; CPU:$850D PRG:050D 85 50 jmp Sub_841E ; CPU:$850F PRG:050F 4C 1E 84 -; ---- data $8512-$8520 (15 bytes) ---- - .byte $20, $23, $83, $20, $85, $88, $A9, $07, $85, $06, $85, $07, $4C, $8D, $84 ; CPU:$8512 PRG:0512 20 23 83 20 85 88 A9 07 85 06 85 07 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop25 +; Global: Branch target inside IrqHandler: taken when Loop25. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop25: + jsr Sub_8323 ; CPU:$8512 PRG:0512 20 23 83 + jsr Sub_8885 ; CPU:$8515 PRG:0515 20 85 88 + lda #$07 ; CPU:$8518 PRG:0518 A9 07 + sta Zp06 ; CPU:$851A PRG:051A 85 06 + sta Zp07 ; CPU:$851C PRG:051C 85 07 + jmp Sub_848D ; CPU:$851E PRG:051E 4C 8D 84 ; ----------------------------------------------------------------------------- ; Routine: Label_8521 ; Global: Branch target inside Label: taken when 8521. @@ -1069,62 +1329,86 @@ Sub_850D: ; ----------------------------------------------------------------------------- Label_8521: dex ; CPU:$8521 PRG:0521 CA - bne IrqHandler_Loop14 ; CPU:$8522 PRG:0522 D0 03 + bne IrqHandler_Loop26 ; CPU:$8522 PRG:0522 D0 03 jmp Sub_841C ; CPU:$8524 PRG:0524 4C 1C 84 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop14 -; Global: Branch target inside IrqHandler: taken when Loop14. +; Routine: IrqHandler_Loop26 +; Global: Branch target inside IrqHandler: taken when Loop26. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop14: +IrqHandler_Loop26: jsr Sub_8B56 ; CPU:$8527 PRG:0527 20 56 8B jsr Sub_8BC8 ; CPU:$852A PRG:052A 20 C8 8B jmp Sub_848D ; CPU:$852D PRG:052D 4C 8D 84 -; ---- data $8530-$8533 (4 bytes) ---- - .byte $CA, $D0, $03, $4C ; CPU:$8530 PRG:0530 CA D0 03 4C ; ----------------------------------------------------------------------------- -; Routine: Label_8534 -; Global: Branch target inside Label: taken when 8534. +; Routine: Label_8530 +; Global: Branch target inside Label: taken when 8530. ; Local: Part of Label. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8534: - sta $CA84 ; CPU:$8534 PRG:0534 8D 84 CA - bne IrqHandler_Loop16 ; CPU:$8537 PRG:0537 D0 0D +Label_8530: + dex ; CPU:$8530 PRG:0530 CA + bne IrqHandler_Loop27 ; CPU:$8531 PRG:0531 D0 03 + jmp Sub_848D ; CPU:$8533 PRG:0533 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop27 +; Global: Branch target inside IrqHandler: taken when Loop27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop27: + dex ; CPU:$8536 PRG:0536 CA + bne IrqHandler_Loop29 ; CPU:$8537 PRG:0537 D0 0D jsr Sub_8E00 ; CPU:$8539 PRG:0539 20 00 8E lda Zp32 ; CPU:$853C PRG:053C A5 32 - beq IrqHandler_Loop15 ; CPU:$853E PRG:053E F0 03 + beq IrqHandler_Loop28 ; CPU:$853E PRG:053E F0 03 jmp Sub_841C ; CPU:$8540 PRG:0540 4C 1C 84 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop15 -; Global: Branch target inside IrqHandler: taken when Loop15. +; Routine: IrqHandler_Loop28 +; Global: Branch target inside IrqHandler: taken when Loop28. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop15: - jmp IrqHandler_Loop13 ; CPU:$8543 PRG:0543 4C 18 84 +IrqHandler_Loop28: + jmp IrqHandler_Loop15 ; CPU:$8543 PRG:0543 4C 18 84 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop16 -; Global: Branch target inside IrqHandler: taken when Loop16. +; Routine: IrqHandler_Loop29 +; Global: Branch target inside IrqHandler: taken when Loop29. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop16: +IrqHandler_Loop29: lda #$00 ; CPU:$8546 PRG:0546 A9 00 sta Zp7D ; CPU:$8548 PRG:0548 85 7D jsr Sub_8C7C ; CPU:$854A PRG:054A 20 7C 8C jmp Sub_848D ; CPU:$854D PRG:054D 4C 8D 84 -; ---- data $8550-$855E (15 bytes) ---- - .byte $CA, $D0, $27, $A5, $55, $29, $02, $F0, $1C, $20, $5F, $85, $4C, $75, $85 ; CPU:$8550 PRG:0550 CA D0 27 A5 55 29 02 F0 1C 20 5F 85 4C 75 85 +; ----------------------------------------------------------------------------- +; Routine: Label_8550 +; Global: Branch target inside Label: taken when 8550. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8550: + dex ; CPU:$8550 PRG:0550 CA + bne IrqHandler_Loop31 ; CPU:$8551 PRG:0551 D0 27 + lda Zp55 ; CPU:$8553 PRG:0553 A5 55 + and #$02 ; CPU:$8555 PRG:0555 29 02 + beq IrqHandler_Loop30 ; CPU:$8557 PRG:0557 F0 1C + jsr Sub_855F ; CPU:$8559 PRG:0559 20 5F 85 + jmp IrqHandler_Loop30 ; CPU:$855C PRG:055C 4C 75 85 ; ----------------------------------------------------------------------------- ; Routine: Sub_855F ; Global: Branch target inside Sub: taken when 855F. @@ -1156,104 +1440,118 @@ IrqHandler_OnNonzero12: bne IrqHandler_OnNonzero12 ; CPU:$8572 PRG:0572 D0 F3 rts ; CPU:$8574 PRG:0574 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_8575 -; Global: Branch target inside Sub: taken when 8575. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_8575: - lda #$04 ; CPU:$8575 PRG:0575 A9 04 - jmp Sub_850D ; CPU:$8577 PRG:0577 4C 0D 85 -; ---- data $857A-$8586 (13 bytes) ---- - .byte $A5, $2F, $F0, $08, $38, $E9, $01, $85, $2F, $4C, $8D, $84, $4C ; CPU:$857A PRG:057A A5 2F F0 08 38 E9 01 85 2F 4C 8D 84 4C -; ----------------------------------------------------------------------------- -; Routine: Label_8587 -; Global: Branch target inside Label: taken when 8587. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_8587: - .byte $1C, $84, $CA ; CPU:$8587 PRG:0587 1C 84 CA -- nop $CA84,x (undocumented; ca65 cannot encode) - bne IrqHandler_Loop17 ; CPU:$858A PRG:058A D0 06 - inx ; CPU:$858C PRG:058C E8 - stx Zp7D ; CPU:$858D PRG:058D 86 7D - jmp Sub_840D ; CPU:$858F PRG:058F 4C 0D 84 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop17 -; Global: Branch target inside IrqHandler: taken when Loop17. +; Routine: IrqHandler_Loop30 +; Global: Branch target inside IrqHandler: taken when Loop30. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop17: +IrqHandler_Loop30: + lda #$04 ; CPU:$8575 PRG:0575 A9 04 + jmp Sub_850D ; CPU:$8577 PRG:0577 4C 0D 85 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop31 +; Global: Branch target inside IrqHandler: taken when Loop31. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop31: + lda Zp2F ; CPU:$857A PRG:057A A5 2F + beq IrqHandler_Loop32 ; CPU:$857C PRG:057C F0 08 + sec ; CPU:$857E PRG:057E 38 + sbc #$01 ; CPU:$857F PRG:057F E9 01 + sta Zp2F ; CPU:$8581 PRG:0581 85 2F + jmp Sub_848D ; CPU:$8583 PRG:0583 4C 8D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop32 +; Global: Branch target inside IrqHandler: taken when Loop32. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop32: + jmp Sub_841C ; CPU:$8586 PRG:0586 4C 1C 84 +; ----------------------------------------------------------------------------- +; Routine: Label_8589 +; Global: Branch target inside Label: taken when 8589. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8589: + dex ; CPU:$8589 PRG:0589 CA + bne IrqHandler_Loop33 ; CPU:$858A PRG:058A D0 06 + inx ; CPU:$858C PRG:058C E8 + stx Zp7D ; CPU:$858D PRG:058D 86 7D + jmp IrqHandler_Loop14 ; CPU:$858F PRG:058F 4C 0D 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop33 +; Global: Branch target inside IrqHandler: taken when Loop33. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop33: dex ; CPU:$8592 PRG:0592 CA - bne IrqHandler_Loop20 ; CPU:$8593 PRG:0593 D0 24 + bne IrqHandler_Loop36 ; CPU:$8593 PRG:0593 D0 24 lda Zp55 ; CPU:$8595 PRG:0595 A5 55 and #$02 ; CPU:$8597 PRG:0597 29 02 - beq IrqHandler_Loop18 ; CPU:$8599 PRG:0599 F0 0C + beq IrqHandler_Loop34 ; CPU:$8599 PRG:0599 F0 0C lda Zp55 ; CPU:$859B PRG:059B A5 55 eor #$02 ; CPU:$859D PRG:059D 49 02 sta Zp55 ; CPU:$859F PRG:059F 85 55 jsr Sub_855F ; CPU:$85A1 PRG:05A1 20 5F 85 - jmp Sub_8575 ; CPU:$85A4 PRG:05A4 4C 75 85 + jmp IrqHandler_Loop30 ; CPU:$85A4 PRG:05A4 4C 75 85 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop18 -; Global: Branch target inside IrqHandler: taken when Loop18. +; Routine: IrqHandler_Loop34 +; Global: Branch target inside IrqHandler: taken when Loop34. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop18: +IrqHandler_Loop34: lda Zp55 ; CPU:$85A7 PRG:05A7 A5 55 and #$7F ; CPU:$85A9 PRG:05A9 29 7F sta Zp55 ; CPU:$85AB PRG:05AB 85 55 and #$01 ; CPU:$85AD PRG:05AD 29 01 - beq IrqHandler_Loop19 ; CPU:$85AF PRG:05AF F0 03 + beq IrqHandler_Loop35 ; CPU:$85AF PRG:05AF F0 03 jsr Sub_855F ; CPU:$85B1 PRG:05B1 20 5F 85 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop19 -; Global: Branch target inside IrqHandler: taken when Loop19. +; Routine: IrqHandler_Loop35 +; Global: Branch target inside IrqHandler: taken when Loop35. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop19: +IrqHandler_Loop35: lda #$00 ; CPU:$85B4 PRG:05B4 A9 00 jmp Sub_850D ; CPU:$85B6 PRG:05B6 4C 0D 85 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop20 -; Global: Branch target inside IrqHandler: taken when Loop20. +; Routine: IrqHandler_Loop36 +; Global: Branch target inside IrqHandler: taken when Loop36. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop20: +IrqHandler_Loop36: lda #$10 ; CPU:$85B9 PRG:05B9 A9 10 sta Zp03 ; CPU:$85BB PRG:05BB 85 03 jsr Sub_871B ; CPU:$85BD PRG:05BD 20 1B 87 lda #$58 ; CPU:$85C0 PRG:05C0 A9 58 - sta Zp1C ; CPU:$85C2 PRG:05C2 85 1C + sta PlayerYHigh ; CPU:$85C2 PRG:05C2 85 1C lda #$61 ; CPU:$85C4 PRG:05C4 A9 61 - sta Zp19 ; CPU:$85C6 PRG:05C6 85 19 + sta PlayerXHigh ; CPU:$85C6 PRG:05C6 85 19 ldx #$00 ; CPU:$85C8 PRG:05C8 A2 00 -; ----------------------------------------------------------------------------- -; Routine: Label_85CA -; Global: Branch target inside Label: taken when 85CA. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_85CA: - stx Zp1B ; CPU:$85CA PRG:05CA 86 1B + stx PlayerYLow ; CPU:$85CA PRG:05CA 86 1B ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero13 ; Global: Branch target inside IrqHandler: taken when OnNonzero13. @@ -1265,24 +1563,24 @@ Label_85CA: IrqHandler_OnNonzero13: lda $85F3,x ; CPU:$85CC PRG:05CC BD F3 85 cmp #$20 ; CPU:$85CF PRG:05CF C9 20 - beq IrqHandler_Loop21 ; CPU:$85D1 PRG:05D1 F0 09 - sta Zp1A ; CPU:$85D3 PRG:05D3 85 1A + beq IrqHandler_Loop37 ; CPU:$85D1 PRG:05D1 F0 09 + sta PlayerXLow ; CPU:$85D3 PRG:05D3 85 1A lda #$02 ; CPU:$85D5 PRG:05D5 A9 02 - sta Zp1B ; CPU:$85D7 PRG:05D7 85 1B + sta PlayerYLow ; CPU:$85D7 PRG:05D7 85 1B jsr Sub_8221 ; CPU:$85D9 PRG:05D9 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop21 -; Global: Branch target inside IrqHandler: taken when Loop21. +; Routine: IrqHandler_Loop37 +; Global: Branch target inside IrqHandler: taken when Loop37. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop21: - lda Zp1C ; CPU:$85DC PRG:05DC A5 1C +IrqHandler_Loop37: + lda PlayerYHigh ; CPU:$85DC PRG:05DC A5 1C clc ; CPU:$85DE PRG:05DE 18 adc #$08 ; CPU:$85DF PRG:05DF 69 08 - sta Zp1C ; CPU:$85E1 PRG:05E1 85 1C + sta PlayerYHigh ; CPU:$85E1 PRG:05E1 85 1C inx ; CPU:$85E3 PRG:05E3 E8 cpx #$09 ; CPU:$85E4 PRG:05E4 E0 09 bne IrqHandler_OnNonzero13 ; CPU:$85E6 PRG:05E6 D0 E4 @@ -1293,61 +1591,103 @@ IrqHandler_Loop21: jmp Sub_848D ; CPU:$85F0 PRG:05F0 4C 8D 84 ; ---- data $85F3-$8606 (20 bytes) ---- ; referenced by `lda $85F3,x` at $85CC (operand $85F3 falls inside this region) - .byte $47, $41, $4D, $45, $20, $4F, $56, $45, $52, $4C, $1C, $84, $20, $39, $E2, $A9 ; CPU:$85F3 PRG:05F3 47 41 4D 45 20 4F 56 45 52 4C 1C 84 20 39 E2 A9 +GameOverText: + .byte $47, $41, $4D, $45, $20, $4F, $56, $45, $52, $4C, $1C, $84, $20, $39, $E2, $A9 ; CPU:$85F3 PRG:-3A0D 47 41 4D 45 20 4F 56 45 52 4C 1C 84 20 39 E2 A9 .byte $01, $4C, $0D, $85 ; CPU:$8603 PRG:0603 01 4C 0D 85 ; ----------------------------------------------------------------------------- -; Routine: Label_8607 -; Global: Branch target inside Label: taken when 8607. -; Local: Part of Label. +; Routine: Sub_8607 +; Global: Branch target inside Sub: taken when 8607. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8607: - lda Zp54 ; CPU:$8607 PRG:0607 A5 54 +Sub_8607: + lda FrameCounter ; CPU:$8607 PRG:0607 A5 54 and #$03 ; CPU:$8609 PRG:0609 29 03 - beq IrqHandler_Loop22 ; CPU:$860B PRG:060B F0 01 + beq IrqHandler_Loop38 ; CPU:$860B PRG:060B F0 01 rts ; CPU:$860D PRG:060D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop22 -; Global: Branch target inside IrqHandler: taken when Loop22. +; Routine: IrqHandler_Loop38 +; Global: Branch target inside IrqHandler: taken when Loop38. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop22: +IrqHandler_Loop38: lda Zp66 ; CPU:$860E PRG:060E A5 66 cmp #$2C ; CPU:$8610 PRG:0610 C9 2C - bne IrqHandler_Loop23 ; CPU:$8612 PRG:0612 D0 05 + bne IrqHandler_Loop39 ; CPU:$8612 PRG:0612 D0 05 lda #$20 ; CPU:$8614 PRG:0614 A9 20 sta Zp66 ; CPU:$8616 PRG:0616 85 66 rts ; CPU:$8618 PRG:0618 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop23 -; Global: Branch target inside IrqHandler: taken when Loop23. +; Routine: IrqHandler_Loop39 +; Global: Branch target inside IrqHandler: taken when Loop39. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop23: +IrqHandler_Loop39: inc Zp66 ; CPU:$8619 PRG:0619 E6 66 rts ; CPU:$861B PRG:061B 60 -; ---- data $861C-$8655 (58 bytes) ---- - .byte $8A, $48, $A9, $00, $85, $9A, $AD, $7E, $04, $0A, $AA, $D0, $1D, $20, $5C, $A1 ; CPU:$861C PRG:061C 8A 48 A9 00 85 9A AD 7E 04 0A AA D0 1D 20 5C A1 - .byte $A9, $00, $20, $8B, $E0, $20, $24, $83, $A9, $00, $85, $7D, $20, $BE, $81, $A9 ; CPU:$862C PRG:062C A9 00 20 8B E0 20 24 83 A9 00 85 7D 20 BE 81 A9 - .byte $00, $85, $0A, $85, $0C, $A9, $00, $8D, $01, $05, $BD, $90, $86, $85, $12, $BD ; CPU:$863C PRG:063C 00 85 0A 85 0C A9 00 8D 01 05 BD 90 86 85 12 BD - .byte $91, $86, $85, $13, $20, $D8, $86, $68, $AA, $60 ; CPU:$864C PRG:064C 91 86 85 13 20 D8 86 68 AA 60 ; ----------------------------------------------------------------------------- -; Routine: Label_8656 -; Global: Branch target inside Label: taken when 8656. -; Local: Part of Label. +; Routine: Sub_861C +; Global: Branch target inside Sub: taken when 861C. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_8656: +Sub_861C: + txa ; CPU:$861C PRG:061C 8A + pha ; CPU:$861D PRG:061D 48 + lda #$00 ; CPU:$861E PRG:061E A9 00 + sta GameState ; CPU:$8620 PRG:0620 85 9A + lda $047E ; CPU:$8622 PRG:0622 AD 7E 04 + asl a ; CPU:$8625 PRG:0625 0A + tax ; CPU:$8626 PRG:0626 AA + bne IrqHandler_Loop40 ; CPU:$8627 PRG:0627 D0 1D + jsr Sub_A15C ; CPU:$8629 PRG:0629 20 5C A1 + lda #$00 ; CPU:$862C PRG:062C A9 00 + jsr Sub_E08B ; CPU:$862E PRG:062E 20 8B E0 + jsr Sub_8324 ; CPU:$8631 PRG:0631 20 24 83 + lda #$00 ; CPU:$8634 PRG:0634 A9 00 + sta Zp7D ; CPU:$8636 PRG:0636 85 7D + jsr Sub_81BE ; CPU:$8638 PRG:0638 20 BE 81 + lda #$00 ; CPU:$863B PRG:063B A9 00 + sta Zp0A ; CPU:$863D PRG:063D 85 0A + sta Zp0C ; CPU:$863F PRG:063F 85 0C + lda #$00 ; CPU:$8641 PRG:0641 A9 00 + sta $0501 ; CPU:$8643 PRG:0643 8D 01 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop40 +; Global: Branch target inside IrqHandler: taken when Loop40. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop40: + lda $8690,x ; CPU:$8646 PRG:0646 BD 90 86 + sta Zp12 ; CPU:$8649 PRG:0649 85 12 + lda $8691,x ; CPU:$864B PRG:064B BD 91 86 + sta Zp13 ; CPU:$864E PRG:064E 85 13 + jsr Sub_86D8 ; CPU:$8650 PRG:0650 20 D8 86 + pla ; CPU:$8653 PRG:0653 68 + tax ; CPU:$8654 PRG:0654 AA + rts ; CPU:$8655 PRG:0655 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8656 +; Global: Branch target inside Sub: taken when 8656. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8656: tya ; CPU:$8656 PRG:0656 98 pha ; CPU:$8657 PRG:0657 48 ldy #$00 ; CPU:$8658 PRG:0658 A0 00 @@ -1360,31 +1700,31 @@ Label_8656: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero14: - lda Zp54 ; CPU:$865A PRG:065A A5 54 + lda FrameCounter ; CPU:$865A PRG:065A A5 54 and #$08 ; CPU:$865C PRG:065C 29 08 - bne IrqHandler_Loop24 ; CPU:$865E PRG:065E D0 05 + bne IrqHandler_Loop41 ; CPU:$865E PRG:065E D0 05 lda $869A,y ; CPU:$8660 PRG:0660 B9 9A 86 - bne IrqHandler_Loop25 ; CPU:$8663 PRG:0663 D0 03 + bne IrqHandler_Loop42 ; CPU:$8663 PRG:0663 D0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop24 -; Global: Branch target inside IrqHandler: taken when Loop24. +; Routine: IrqHandler_Loop41 +; Global: Branch target inside IrqHandler: taken when Loop41. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop24: +IrqHandler_Loop41: lda $869E,y ; CPU:$8665 PRG:0665 B9 9E 86 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop25 -; Global: Branch target inside IrqHandler: taken when Loop25. +; Routine: IrqHandler_Loop42 +; Global: Branch target inside IrqHandler: taken when Loop42. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop25: - sta Zp1A ; CPU:$8668 PRG:0668 85 1A +IrqHandler_Loop42: + sta PlayerXLow ; CPU:$8668 PRG:0668 85 1A lda #$26 ; CPU:$866A PRG:066A A9 26 sta Zp62 ; CPU:$866C PRG:066C 85 62 lda #$15 ; CPU:$866E PRG:066E A9 15 @@ -1392,11 +1732,11 @@ IrqHandler_Loop25: lda #$30 ; CPU:$8672 PRG:0672 A9 30 sta Zp64 ; CPU:$8674 PRG:0674 85 64 lda #$00 ; CPU:$8676 PRG:0676 A9 00 - sta Zp1B ; CPU:$8678 PRG:0678 85 1B + sta PlayerYLow ; CPU:$8678 PRG:0678 85 1B lda $86A2,y ; CPU:$867A PRG:067A B9 A2 86 - sta Zp1C ; CPU:$867D PRG:067D 85 1C + sta PlayerYHigh ; CPU:$867D PRG:067D 85 1C lda $86A6,y ; CPU:$867F PRG:067F B9 A6 86 - sta Zp19 ; CPU:$8682 PRG:0682 85 19 + sta PlayerXHigh ; CPU:$8682 PRG:0682 85 19 jsr Sub_8221 ; CPU:$8684 PRG:0684 20 21 82 tya ; CPU:$8687 PRG:0687 98 iny ; CPU:$8688 PRG:0688 C8 @@ -1406,11 +1746,14 @@ IrqHandler_Loop25: tay ; CPU:$868E PRG:068E A8 rts ; CPU:$868F PRG:068F 60 ; ---- data $8690-$86A9 (26 bytes) ---- +; referenced by `lda $8690,x` at $8646 (operand $8690 falls inside this region) +; referenced by `lda $8691,x` at $864B (operand $8691 falls inside this region) ; referenced by `lda $869A,y` at $8660 (operand $869A falls inside this region) ; referenced by `lda $869E,y` at $8665 (operand $869E falls inside this region) ; referenced by `lda $86A2,y` at $867A (operand $86A2 falls inside this region) ; referenced by `lda $86A6,y` at $867F (operand $86A6 falls inside this region) - .byte $93, $DF, $CF, $DF, $00, $E0, $2D, $E0, $5B, $E0, $BD, $BE, $CD, $CE, $B9, $BA ; CPU:$8690 PRG:0690 93 DF CF DF 00 E0 2D E0 5B E0 BD BE CD CE B9 BA +EnemyGraphicTileIndexTable: + .byte $93, $DF, $CF, $DF, $00, $E0, $2D, $E0, $5B, $E0, $BD, $BE, $CD, $CE, $B9, $BA ; CPU:$8690 PRG:-3970 93 DF CF DF 00 E0 2D E0 5B E0 BD BE CD CE B9 BA .byte $BB, $BC, $20, $28, $20, $28, $B0, $B0, $B8, $B8 ; CPU:$86A0 PRG:06A0 BB BC 20 28 20 28 B0 B0 B8 B8 ; ----------------------------------------------------------------------------- ; Routine: Sub_86AA @@ -1425,7 +1768,7 @@ Sub_86AA: and #$3F ; CPU:$86AC PRG:06AC 29 3F sta Zp11 ; CPU:$86AE PRG:06AE 85 11 cmp #$20 ; CPU:$86B0 PRG:06B0 C9 20 - bcc IrqHandler_Loop26 ; CPU:$86B2 PRG:06B2 90 0B + bcc IrqHandler_Loop43 ; CPU:$86B2 PRG:06B2 90 0B and #$1F ; CPU:$86B4 PRG:06B4 29 1F sta Zp11 ; CPU:$86B6 PRG:06B6 85 11 lda Zp10 ; CPU:$86B8 PRG:06B8 A5 10 @@ -1433,14 +1776,14 @@ Sub_86AA: adc #$20 ; CPU:$86BB PRG:06BB 69 20 sta Zp10 ; CPU:$86BD PRG:06BD 85 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop26 -; Global: Branch target inside IrqHandler: taken when Loop26. +; Routine: IrqHandler_Loop43 +; Global: Branch target inside IrqHandler: taken when Loop43. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop26: +IrqHandler_Loop43: lda #$04 ; CPU:$86BF PRG:06BF A9 04 sta Zp15 ; CPU:$86C1 PRG:06C1 85 15 lda Zp10 ; CPU:$86C3 PRG:06C3 A5 10 @@ -1513,20 +1856,20 @@ Sub_86F9: lda (Zp12),y ; CPU:$86F9 PRG:06F9 B1 12 iny ; CPU:$86FB PRG:06FB C8 cmp #$FE ; CPU:$86FC PRG:06FC C9 FE - bcs IrqHandler_Loop27 ; CPU:$86FE PRG:06FE B0 09 + bcs IrqHandler_Loop44 ; CPU:$86FE PRG:06FE B0 09 sta $0100,x ; CPU:$8700 PRG:0700 9D 00 01 inx ; CPU:$8703 PRG:0703 E8 inc Zp18 ; CPU:$8704 PRG:0704 E6 18 jmp Sub_86F9 ; CPU:$8706 PRG:0706 4C F9 86 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop27 -; Global: Branch target inside IrqHandler: taken when Loop27. +; Routine: IrqHandler_Loop44 +; Global: Branch target inside IrqHandler: taken when Loop44. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop27: +IrqHandler_Loop44: pha ; CPU:$8709 PRG:0709 48 lda #$FF ; CPU:$870A PRG:070A A9 FF sta $0100,x ; CPU:$870C PRG:070C 9D 00 01 @@ -1557,7 +1900,7 @@ Sub_8718: Sub_871B: lda Zp55 ; CPU:$871B PRG:071B A5 55 asl a ; CPU:$871D PRG:071D 0A - bcc IrqHandler_Loop28 ; CPU:$871E PRG:071E 90 12 + bcc IrqHandler_Loop45 ; CPU:$871E PRG:071E 90 12 ; ----------------------------------------------------------------------------- ; Routine: Sub_8720 ; Global: Branch target inside Sub: taken when 8720. @@ -1570,49 +1913,49 @@ Sub_8720: lda #$01 ; CPU:$8720 PRG:0720 A9 01 sta Zp04 ; CPU:$8722 PRG:0722 85 04 lda #$02 ; CPU:$8724 PRG:0724 A9 02 - sta Zp1B ; CPU:$8726 PRG:0726 85 1B + sta PlayerYLow ; CPU:$8726 PRG:0726 85 1B lda #$38 ; CPU:$8728 PRG:0728 A9 38 - sta Zp1C ; CPU:$872A PRG:072A 85 1C + sta PlayerYHigh ; CPU:$872A PRG:072A 85 1C lda #$16 ; CPU:$872C PRG:072C A9 16 - sta Zp19 ; CPU:$872E PRG:072E 85 19 - bne IrqHandler_Loop30 ; CPU:$8730 PRG:0730 D0 49 + sta PlayerXHigh ; CPU:$872E PRG:072E 85 19 + bne IrqHandler_Loop47 ; CPU:$8730 PRG:0730 D0 49 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop28 -; Global: Branch target inside IrqHandler: taken when Loop28. +; Routine: IrqHandler_Loop45 +; Global: Branch target inside IrqHandler: taken when Loop45. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop28: +IrqHandler_Loop45: lda #$C7 ; CPU:$8732 PRG:0732 A9 C7 sta Zp12 ; CPU:$8734 PRG:0734 85 12 lda #$DD ; CPU:$8736 PRG:0736 A9 DD sta Zp13 ; CPU:$8738 PRG:0738 85 13 lda #$10 ; CPU:$873A PRG:073A A9 10 - sta Zp1C ; CPU:$873C PRG:073C 85 1C + sta PlayerYHigh ; CPU:$873C PRG:073C 85 1C lda #$10 ; CPU:$873E PRG:073E A9 10 - sta Zp19 ; CPU:$8740 PRG:0740 85 19 + sta PlayerXHigh ; CPU:$8740 PRG:0740 85 19 lda #$00 ; CPU:$8742 PRG:0742 A9 00 - sta Zp1B ; CPU:$8744 PRG:0744 85 1B + sta PlayerYLow ; CPU:$8744 PRG:0744 85 1B lda Zp55 ; CPU:$8746 PRG:0746 A5 55 and #$01 ; CPU:$8748 PRG:0748 29 01 - beq IrqHandler_Loop29 ; CPU:$874A PRG:074A F0 08 + beq IrqHandler_Loop46 ; CPU:$874A PRG:074A F0 08 lda #$B0 ; CPU:$874C PRG:074C A9 B0 - sta Zp1C ; CPU:$874E PRG:074E 85 1C + sta PlayerYHigh ; CPU:$874E PRG:074E 85 1C lda #$CB ; CPU:$8750 PRG:0750 A9 CB sta Zp12 ; CPU:$8752 PRG:0752 85 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop29 -; Global: Branch target inside IrqHandler: taken when Loop29. +; Routine: IrqHandler_Loop46 +; Global: Branch target inside IrqHandler: taken when Loop46. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop29: +IrqHandler_Loop46: lda Zp04 ; CPU:$8754 PRG:0754 A5 04 - beq IrqHandler_Loop32 ; CPU:$8756 PRG:0756 F0 3A + beq IrqHandler_Loop49 ; CPU:$8756 PRG:0756 F0 3A ldy #$00 ; CPU:$8758 PRG:0758 A0 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero16 @@ -1624,32 +1967,32 @@ IrqHandler_Loop29: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero16: lda (Zp12),y ; CPU:$875A PRG:075A B1 12 - sta Zp1A ; CPU:$875C PRG:075C 85 1A + sta PlayerXLow ; CPU:$875C PRG:075C 85 1A jsr Sub_8221 ; CPU:$875E PRG:075E 20 21 82 - lda Zp1C ; CPU:$8761 PRG:0761 A5 1C + lda PlayerYHigh ; CPU:$8761 PRG:0761 A5 1C clc ; CPU:$8763 PRG:0763 18 adc #$08 ; CPU:$8764 PRG:0764 69 08 - sta Zp1C ; CPU:$8766 PRG:0766 85 1C + sta PlayerYHigh ; CPU:$8766 PRG:0766 85 1C iny ; CPU:$8768 PRG:0768 C8 cpy #$03 ; CPU:$8769 PRG:0769 C0 03 bne IrqHandler_OnNonzero16 ; CPU:$876B PRG:076B D0 ED - lda Zp1C ; CPU:$876D PRG:076D A5 1C + lda PlayerYHigh ; CPU:$876D PRG:076D A5 1C clc ; CPU:$876F PRG:076F 18 adc #$20 ; CPU:$8770 PRG:0770 69 20 - sta Zp1C ; CPU:$8772 PRG:0772 85 1C - lda Zp19 ; CPU:$8774 PRG:0774 A5 19 + sta PlayerYHigh ; CPU:$8772 PRG:0772 85 1C + lda PlayerXHigh ; CPU:$8774 PRG:0774 A5 19 clc ; CPU:$8776 PRG:0776 18 adc #$08 ; CPU:$8777 PRG:0777 69 08 - sta Zp19 ; CPU:$8779 PRG:0779 85 19 + sta PlayerXHigh ; CPU:$8779 PRG:0779 85 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop30 -; Global: Branch target inside IrqHandler: taken when Loop30. +; Routine: IrqHandler_Loop47 +; Global: Branch target inside IrqHandler: taken when Loop47. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop30: +IrqHandler_Loop47: ldy #$07 ; CPU:$877B PRG:077B A0 07 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero17 @@ -1661,56 +2004,65 @@ IrqHandler_Loop30: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero17: lda a:Zp39,y ; CPU:$877D PRG:077D B9 39 00 - beq IrqHandler_Loop31 ; CPU:$8780 PRG:0780 F0 0F - sta Zp1A ; CPU:$8782 PRG:0782 85 1A + beq IrqHandler_Loop48 ; CPU:$8780 PRG:0780 F0 0F + sta PlayerXLow ; CPU:$8782 PRG:0782 85 1A jsr Sub_8221 ; CPU:$8784 PRG:0784 20 21 82 - lda Zp1C ; CPU:$8787 PRG:0787 A5 1C + lda PlayerYHigh ; CPU:$8787 PRG:0787 A5 1C sec ; CPU:$8789 PRG:0789 38 sbc #$08 ; CPU:$878A PRG:078A E9 08 - sta Zp1C ; CPU:$878C PRG:078C 85 1C + sta PlayerYHigh ; CPU:$878C PRG:078C 85 1C dey ; CPU:$878E PRG:078E 88 bne IrqHandler_OnNonzero17 ; CPU:$878F PRG:078F D0 EC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop31 -; Global: Branch target inside IrqHandler: taken when Loop31. +; Routine: IrqHandler_Loop48 +; Global: Branch target inside IrqHandler: taken when Loop48. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop31: +IrqHandler_Loop48: rts ; CPU:$8791 PRG:0791 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop32 -; Global: Branch target inside IrqHandler: taken when Loop32. +; Routine: IrqHandler_Loop49 +; Global: Branch target inside IrqHandler: taken when Loop49. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop32: +IrqHandler_Loop49: lda #$02 ; CPU:$8792 PRG:0792 A9 02 sta Zp11 ; CPU:$8794 PRG:0794 85 11 lda #$02 ; CPU:$8796 PRG:0796 A9 02 sta Zp10 ; CPU:$8798 PRG:0798 85 10 lda Zp55 ; CPU:$879A PRG:079A A5 55 and #$01 ; CPU:$879C PRG:079C 29 01 - beq IrqHandler_Loop33 ; CPU:$879E PRG:079E F0 04 + beq IrqHandler_Loop50 ; CPU:$879E PRG:079E F0 04 lda #$16 ; CPU:$87A0 PRG:07A0 A9 16 sta Zp11 ; CPU:$87A2 PRG:07A2 85 11 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop33 -; Global: Branch target inside IrqHandler: taken when Loop33. +; Routine: IrqHandler_Loop50 +; Global: Branch target inside IrqHandler: taken when Loop50. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop33: +IrqHandler_Loop50: ldy #$00 ; CPU:$87A4 PRG:07A4 A0 00 jsr Sub_8718 ; CPU:$87A6 PRG:07A6 20 18 87 inc Zp11 ; CPU:$87A9 PRG:07A9 E6 11 inc Zp10 ; CPU:$87AB PRG:07AB E6 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_87AD +; Global: Branch target inside Sub: taken when 87AD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_87AD: lda #$3A ; CPU:$87AD PRG:07AD A9 3A sta Zp12 ; CPU:$87AF PRG:07AF 85 12 lda #$00 ; CPU:$87B1 PRG:07B1 A9 00 @@ -1728,6 +2080,15 @@ IrqHandler_Loop33: ; ----------------------------------------------------------------------------- Sub_87BB: ldx #$0B ; CPU:$87BB PRG:07BB A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_87BD +; Global: Branch target inside Sub: taken when 87BD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_87BD: lda #$FF ; CPU:$87BD PRG:07BD A9 FF sta Zp41 ; CPU:$87BF PRG:07BF 85 41 lda #$30 ; CPU:$87C1 PRG:07C1 A9 30 @@ -1743,13 +2104,13 @@ Sub_87BB: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero18: lda Zp2C,x ; CPU:$87C7 PRG:07C7 B5 2C - sta a:Zp4A,y ; CPU:$87C9 PRG:07C9 99 4A 00 + sta a:DispatchPtrLo,y ; CPU:$87C9 PRG:07C9 99 4A 00 inx ; CPU:$87CC PRG:07CC E8 iny ; CPU:$87CD PRG:07CD C8 cpy #$03 ; CPU:$87CE PRG:07CE C0 03 bne IrqHandler_OnNonzero18 ; CPU:$87D0 PRG:07D0 D0 F5 ldx #$00 ; CPU:$87D2 PRG:07D2 A2 00 - stx Zp46 ; CPU:$87D4 PRG:07D4 86 46 + stx VramWritePtrLo ; CPU:$87D4 PRG:07D4 86 46 ldy #$00 ; CPU:$87D6 PRG:07D6 A0 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero19 @@ -1771,7 +2132,7 @@ IrqHandler_OnNonzero19: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero20: lda $8814,y ; CPU:$87DA PRG:07DA B9 14 88 - sta Zp4D,x ; CPU:$87DD PRG:07DD 95 4D + sta ScrollX,x ; CPU:$87DD PRG:07DD 95 4D iny ; CPU:$87DF PRG:07DF C8 inx ; CPU:$87E0 PRG:07E0 E8 cpx #$03 ; CPU:$87E1 PRG:07E1 E0 03 @@ -1789,25 +2150,25 @@ IrqHandler_OnNonzero20: ; ----------------------------------------------------------------------------- Sub_87E9: jsr Sub_8826 ; CPU:$87E9 PRG:07E9 20 26 88 - bcc IrqHandler_Loop34 ; CPU:$87EC PRG:07EC 90 07 + bcc IrqHandler_Loop51 ; CPU:$87EC PRG:07EC 90 07 jsr Sub_8832 ; CPU:$87EE PRG:07EE 20 32 88 iny ; CPU:$87F1 PRG:07F1 C8 jmp Sub_87E9 ; CPU:$87F2 PRG:07F2 4C E9 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop34 -; Global: Branch target inside IrqHandler: taken when Loop34. +; Routine: IrqHandler_Loop51 +; Global: Branch target inside IrqHandler: taken when Loop51. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop34: - ldx Zp46 ; CPU:$87F5 PRG:07F5 A6 46 +IrqHandler_Loop51: + ldx VramWritePtrLo ; CPU:$87F5 PRG:07F5 A6 46 sty Zp3A,x ; CPU:$87F7 PRG:07F7 94 3A pla ; CPU:$87F9 PRG:07F9 68 tay ; CPU:$87FA PRG:07FA A8 inx ; CPU:$87FB PRG:07FB E8 - stx Zp46 ; CPU:$87FC PRG:07FC 86 46 + stx VramWritePtrLo ; CPU:$87FC PRG:07FC 86 46 cpx #$06 ; CPU:$87FE PRG:07FE E0 06 bne IrqHandler_OnNonzero19 ; CPU:$8800 PRG:0800 D0 D6 ldy #$00 ; CPU:$8802 PRG:0802 A0 00 @@ -1823,24 +2184,25 @@ IrqHandler_Loop34: IrqHandler_OnNonzero21: lda Zp3A,x ; CPU:$8806 PRG:0806 B5 3A cmp #$30 ; CPU:$8808 PRG:0808 C9 30 - bne IrqHandler_Loop35 ; CPU:$880A PRG:080A D0 07 + bne IrqHandler_Loop52 ; CPU:$880A PRG:080A D0 07 sty Zp3A,x ; CPU:$880C PRG:080C 94 3A inx ; CPU:$880E PRG:080E E8 cpx #$06 ; CPU:$880F PRG:080F E0 06 bne IrqHandler_OnNonzero21 ; CPU:$8811 PRG:0811 D0 F3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop35 -; Global: Branch target inside IrqHandler: taken when Loop35. +; Routine: IrqHandler_Loop52 +; Global: Branch target inside IrqHandler: taken when Loop52. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop35: +IrqHandler_Loop52: rts ; CPU:$8813 PRG:0813 60 ; ---- data $8814-$8825 (18 bytes) ---- ; referenced by `lda $8814,y` at $87DA (operand $8814 falls inside this region) - .byte $A0, $86, $01, $10, $27, $00, $E8, $03, $00, $64, $00, $00, $0A, $00, $00, $01 ; CPU:$8814 PRG:0814 A0 86 01 10 27 00 E8 03 00 64 00 00 0A 00 00 01 +LevelObjectDefinitionTable: + .byte $A0, $86, $01, $10, $27, $00, $E8, $03, $00, $64, $00, $00, $0A, $00, $00, $01 ; CPU:$8814 PRG:-37EC A0 86 01 10 27 00 E8 03 00 64 00 00 0A 00 00 01 .byte $00, $00 ; CPU:$8824 PRG:0824 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8826 @@ -1863,18 +2225,18 @@ Sub_8826: IrqHandler_OnNonzero22: lda Zp49,x ; CPU:$8828 PRG:0828 B5 49 cmp Zp4C,x ; CPU:$882A PRG:082A D5 4C - bne IrqHandler_Loop36 ; CPU:$882C PRG:082C D0 03 + bne IrqHandler_Loop53 ; CPU:$882C PRG:082C D0 03 dex ; CPU:$882E PRG:082E CA bne IrqHandler_OnNonzero22 ; CPU:$882F PRG:082F D0 F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop36 -; Global: Branch target inside IrqHandler: taken when Loop36. +; Routine: IrqHandler_Loop53 +; Global: Branch target inside IrqHandler: taken when Loop53. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop36: +IrqHandler_Loop53: rts ; CPU:$8831 PRG:0831 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8832 @@ -1898,9 +2260,9 @@ Sub_8832: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero23: - lda Zp4A,x ; CPU:$8839 PRG:0839 B5 4A - sbc Zp4D,x ; CPU:$883B PRG:083B F5 4D - sta Zp4A,x ; CPU:$883D PRG:083D 95 4A + lda DispatchPtrLo,x ; CPU:$8839 PRG:0839 B5 4A + sbc ScrollX,x ; CPU:$883B PRG:083B F5 4D + sta DispatchPtrLo,x ; CPU:$883D PRG:083D 95 4A inx ; CPU:$883F PRG:083F E8 dey ; CPU:$8840 PRG:0840 88 bne IrqHandler_OnNonzero23 ; CPU:$8841 PRG:0841 D0 F6 @@ -1916,17 +2278,17 @@ IrqHandler_OnNonzero23: ; ----------------------------------------------------------------------------- Sub_8846: lda Zp55 ; CPU:$8846 PRG:0846 A5 55 - bmi IrqHandler_Loop37 ; CPU:$8848 PRG:0848 30 03 + bmi IrqHandler_Loop54 ; CPU:$8848 PRG:0848 30 03 jmp Sub_87BB ; CPU:$884A PRG:084A 4C BB 87 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop37 -; Global: Branch target inside IrqHandler: taken when Loop37. +; Routine: IrqHandler_Loop54 +; Global: Branch target inside IrqHandler: taken when Loop54. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop37: +IrqHandler_Loop54: clc ; CPU:$884D PRG:084D 18 lda Zp3A ; CPU:$884E PRG:084E A5 3A adc Zp37 ; CPU:$8850 PRG:0850 65 37 @@ -1950,30 +2312,30 @@ IrqHandler_Loop37: IrqHandler_OnNonzero24: lda Zp36,x ; CPU:$8863 PRG:0863 B5 36 cmp Zp42,x ; CPU:$8865 PRG:0865 D5 42 - beq IrqHandler_Loop38 ; CPU:$8867 PRG:0867 F0 04 - bcs IrqHandler_Loop39 ; CPU:$8869 PRG:0869 B0 08 - bcc IrqHandler_Loop40 ; CPU:$886B PRG:086B 90 0F + beq IrqHandler_Loop55 ; CPU:$8867 PRG:0867 F0 04 + bcs IrqHandler_Loop56 ; CPU:$8869 PRG:0869 B0 08 + bcc IrqHandler_Loop57 ; CPU:$886B PRG:086B 90 0F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop38 -; Global: Branch target inside IrqHandler: taken when Loop38. +; Routine: IrqHandler_Loop55 +; Global: Branch target inside IrqHandler: taken when Loop55. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop38: +IrqHandler_Loop55: dex ; CPU:$886D PRG:086D CA bne IrqHandler_OnNonzero24 ; CPU:$886E PRG:086E D0 F3 - jmp IrqHandler_Loop40 ; CPU:$8870 PRG:0870 4C 7C 88 + jmp IrqHandler_Loop57 ; CPU:$8870 PRG:0870 4C 7C 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop39 -; Global: Branch target inside IrqHandler: taken when Loop39. +; Routine: IrqHandler_Loop56 +; Global: Branch target inside IrqHandler: taken when Loop56. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop39: +IrqHandler_Loop56: ldx #$03 ; CPU:$8873 PRG:0873 A2 03 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero25 @@ -1989,29 +2351,203 @@ IrqHandler_OnNonzero25: dex ; CPU:$8879 PRG:0879 CA bne IrqHandler_OnNonzero25 ; CPU:$887A PRG:087A D0 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop40 -; Global: Branch target inside IrqHandler: taken when Loop40. +; Routine: IrqHandler_Loop57 +; Global: Branch target inside IrqHandler: taken when Loop57. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop40: +IrqHandler_Loop57: jmp Sub_87BB ; CPU:$887C PRG:087C 4C BB 87 -; ---- data $887F-$8948 (202 bytes) ---- - .byte $18, $65, $42, $85, $42, $60, $20, $56, $8B, $A9, $04, $85, $FC, $20, $1C, $8C ; CPU:$887F PRG:087F 18 65 42 85 42 60 20 56 8B A9 04 85 FC 20 1C 8C - .byte $20, $7C, $8C, $A9, $08, $8D, $A7, $05, $A9, $01, $8D, $18, $05, $A9, $38, $8D ; CPU:$888F PRG:088F 20 7C 8C A9 08 8D A7 05 A9 01 8D 18 05 A9 38 8D - .byte $01, $05, $A9, $B8, $8D, $02, $05, $A9, $B8, $85, $A0, $A9, $CF, $85, $A1, $A9 ; CPU:$889F PRG:089F 01 05 A9 B8 8D 02 05 A9 B8 85 A0 A9 CF 85 A1 A9 - .byte $00, $85, $A5, $85, $A6, $85, $A7, $A9, $01, $85, $9A, $85, $9B, $A9, $16, $85 ; CPU:$88AF PRG:08AF 00 85 A5 85 A6 85 A7 A9 01 85 9A 85 9B A9 16 85 - .byte $79, $A9, $C0, $85, $7A, $A9, $00, $8D, $B4, $07, $8D, $B6, $07, $A9, $30, $85 ; CPU:$88BF PRG:08BF 79 A9 C0 85 7A A9 00 8D B4 07 8D B6 07 A9 30 85 - .byte $62, $A9, $15, $85, $63, $A9, $0F, $85, $64, $60, $4C, $C8, $8B, $A9, $01, $85 ; CPU:$88CF PRG:08CF 62 A9 15 85 63 A9 0F 85 64 60 4C C8 8B A9 01 85 - .byte $9A, $AD, $CE, $06, $D0, $08, $AD, $12, $05, $D0, $03, $20, $17, $96, $AD, $D0 ; CPU:$88DF PRG:08DF 9A AD CE 06 D0 08 AD 12 05 D0 03 20 17 96 AD D0 - .byte $06, $D0, $03, $20, $9D, $96, $AD, $A7, $05, $C9, $09, $D0, $0A, $AD, $02, $05 ; CPU:$88EF PRG:08EF 06 D0 03 20 9D 96 AD A7 05 C9 09 D0 0A AD 02 05 - .byte $C9, $2E, $F0, $03, $CE, $02, $05, $AD, $12, $05, $F0, $09, $AD, $CC, $06, $D0 ; CPU:$88FF PRG:08FF C9 2E F0 03 CE 02 05 AD 12 05 F0 09 AD CC 06 D0 - .byte $04, $A9, $40, $85, $21, $AD, $B1, $05, $C9, $02, $D0, $03, $20, $3F, $94, $AD ; CPU:$890F PRG:090F 04 A9 40 85 21 AD B1 05 C9 02 D0 03 20 3F 94 AD - .byte $18, $05, $C9, $02, $D0, $0D, $AD, $02, $05, $C9, $58, $B0, $06, $20, $5A, $94 ; CPU:$891F PRG:091F 18 05 C9 02 D0 0D AD 02 05 C9 58 B0 06 20 5A 94 - .byte $20, $8B, $94, $20, $00, $8E, $60, $A9, $1A, $85, $46, $A9, $DD, $85, $47, $A9 ; CPU:$892F PRG:092F 20 8B 94 20 00 8E 60 A9 1A 85 46 A9 DD 85 47 A9 - .byte $C0, $85, $48, $A9, $23, $85, $49, $4C, $D3, $DC ; CPU:$893F PRG:093F C0 85 48 A9 23 85 49 4C D3 DC +; ----------------------------------------------------------------------------- +; Routine: Label_887F +; Global: Branch target inside Label: taken when 887F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_887F: + clc ; CPU:$887F PRG:087F 18 + adc Zp42 ; CPU:$8880 PRG:0880 65 42 + sta Zp42 ; CPU:$8882 PRG:0882 85 42 + rts ; CPU:$8884 PRG:0884 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8885 +; Global: Branch target inside Sub: taken when 8885. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8885: + jsr Sub_8B56 ; CPU:$8885 PRG:0885 20 56 8B + lda #$04 ; CPU:$8888 PRG:0888 A9 04 + sta LevelIndex ; CPU:$888A PRG:088A 85 FC + jsr Sub_8C1C ; CPU:$888C PRG:088C 20 1C 8C + jsr Sub_8C7C ; CPU:$888F PRG:088F 20 7C 8C + lda #$08 ; CPU:$8892 PRG:0892 A9 08 + sta $05A7 ; CPU:$8894 PRG:0894 8D A7 05 + lda #$01 ; CPU:$8897 PRG:0897 A9 01 + sta $0518 ; CPU:$8899 PRG:0899 8D 18 05 + lda #$38 ; CPU:$889C PRG:089C A9 38 + sta $0501 ; CPU:$889E PRG:089E 8D 01 05 + lda #$B8 ; CPU:$88A1 PRG:08A1 A9 B8 + sta $0502 ; CPU:$88A3 PRG:08A3 8D 02 05 + lda #$B8 ; CPU:$88A6 PRG:08A6 A9 B8 + sta SpriteX ; CPU:$88A8 PRG:08A8 85 A0 + lda #$CF ; CPU:$88AA PRG:08AA A9 CF + sta SpriteY ; CPU:$88AC PRG:08AC 85 A1 + lda #$00 ; CPU:$88AE PRG:08AE A9 00 + sta ZpA5 ; CPU:$88B0 PRG:08B0 85 A5 + sta ZpA6 ; CPU:$88B2 PRG:08B2 85 A6 + sta ZpA7 ; CPU:$88B4 PRG:08B4 85 A7 + lda #$01 ; CPU:$88B6 PRG:08B6 A9 01 + sta GameState ; CPU:$88B8 PRG:08B8 85 9A + sta Zp9B ; CPU:$88BA PRG:08BA 85 9B + lda #$16 ; CPU:$88BC PRG:08BC A9 16 + sta SpriteTile ; CPU:$88BE PRG:08BE 85 79 + lda #$C0 ; CPU:$88C0 PRG:08C0 A9 C0 + sta SpriteAttr ; CPU:$88C2 PRG:08C2 85 7A + lda #$00 ; CPU:$88C4 PRG:08C4 A9 00 + sta $07B4 ; CPU:$88C6 PRG:08C6 8D B4 07 + sta $07B6 ; CPU:$88C9 PRG:08C9 8D B6 07 + lda #$30 ; CPU:$88CC PRG:08CC A9 30 + sta Zp62 ; CPU:$88CE PRG:08CE 85 62 + lda #$15 ; CPU:$88D0 PRG:08D0 A9 15 + sta Zp63 ; CPU:$88D2 PRG:08D2 85 63 + lda #$0F ; CPU:$88D4 PRG:08D4 A9 0F + sta Zp64 ; CPU:$88D6 PRG:08D6 85 64 + rts ; CPU:$88D8 PRG:08D8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_88D9 +; Global: Branch target inside Sub: taken when 88D9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_88D9: + jmp Sub_8BC8 ; CPU:$88D9 PRG:08D9 4C C8 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_88DC +; Global: Branch target inside Sub: taken when 88DC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_88DC: + lda #$01 ; CPU:$88DC PRG:08DC A9 01 + sta GameState ; CPU:$88DE PRG:08DE 85 9A + lda $06CE ; CPU:$88E0 PRG:08E0 AD CE 06 + bne IrqHandler_Loop58 ; CPU:$88E3 PRG:08E3 D0 08 + lda $0512 ; CPU:$88E5 PRG:08E5 AD 12 05 + bne IrqHandler_Loop58 ; CPU:$88E8 PRG:08E8 D0 03 + jsr Sub_9617 ; CPU:$88EA PRG:08EA 20 17 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop58 +; Global: Branch target inside IrqHandler: taken when Loop58. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop58: + lda $06D0 ; CPU:$88ED PRG:08ED AD D0 06 + bne IrqHandler_Loop59 ; CPU:$88F0 PRG:08F0 D0 03 + jsr Sub_969D ; CPU:$88F2 PRG:08F2 20 9D 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop59 +; Global: Branch target inside IrqHandler: taken when Loop59. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop59: + lda $05A7 ; CPU:$88F5 PRG:08F5 AD A7 05 + cmp #$09 ; CPU:$88F8 PRG:08F8 C9 09 + bne IrqHandler_Loop60 ; CPU:$88FA PRG:08FA D0 0A + lda $0502 ; CPU:$88FC PRG:08FC AD 02 05 + cmp #$2E ; CPU:$88FF PRG:08FF C9 2E + beq IrqHandler_Loop60 ; CPU:$8901 PRG:0901 F0 03 + dec $0502 ; CPU:$8903 PRG:0903 CE 02 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop60 +; Global: Branch target inside IrqHandler: taken when Loop60. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop60: + lda $0512 ; CPU:$8906 PRG:0906 AD 12 05 + beq IrqHandler_Loop61 ; CPU:$8909 PRG:0909 F0 09 + lda $06CC ; CPU:$890B PRG:090B AD CC 06 + bne IrqHandler_Loop61 ; CPU:$890E PRG:090E D0 04 + lda #$40 ; CPU:$8910 PRG:0910 A9 40 + sta Zp21 ; CPU:$8912 PRG:0912 85 21 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop61 +; Global: Branch target inside IrqHandler: taken when Loop61. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop61: + lda $05B1 ; CPU:$8914 PRG:0914 AD B1 05 + cmp #$02 ; CPU:$8917 PRG:0917 C9 02 + bne IrqHandler_Loop62 ; CPU:$8919 PRG:0919 D0 03 + jsr Sub_943F ; CPU:$891B PRG:091B 20 3F 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop62 +; Global: Branch target inside IrqHandler: taken when Loop62. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop62: + lda $0518 ; CPU:$891E PRG:091E AD 18 05 + cmp #$02 ; CPU:$8921 PRG:0921 C9 02 + bne IrqHandler_Loop63 ; CPU:$8923 PRG:0923 D0 0D + lda $0502 ; CPU:$8925 PRG:0925 AD 02 05 + cmp #$58 ; CPU:$8928 PRG:0928 C9 58 + bcs IrqHandler_Loop63 ; CPU:$892A PRG:092A B0 06 + jsr Sub_945A ; CPU:$892C PRG:092C 20 5A 94 + jsr Sub_948B ; CPU:$892F PRG:092F 20 8B 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop63 +; Global: Branch target inside IrqHandler: taken when Loop63. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop63: + jsr Sub_8E00 ; CPU:$8932 PRG:0932 20 00 8E + rts ; CPU:$8935 PRG:0935 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8936 +; Global: Branch target inside Label: taken when 8936. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8936: + lda #$1A ; CPU:$8936 PRG:0936 A9 1A + sta VramWritePtrLo ; CPU:$8938 PRG:0938 85 46 + lda #$DD ; CPU:$893A PRG:093A A9 DD + sta VramWritePtrHi ; CPU:$893C PRG:093C 85 47 + lda #$C0 ; CPU:$893E PRG:093E A9 C0 + sta Zp48 ; CPU:$8940 PRG:0940 85 48 + lda #$23 ; CPU:$8942 PRG:0942 A9 23 + sta Zp49 ; CPU:$8944 PRG:0944 85 49 + jmp Sub_DCD3 ; CPU:$8946 PRG:0946 4C D3 DC ; ----------------------------------------------------------------------------- ; Routine: Sub_8949 ; Global: Branch target inside Sub: taken when 8949. @@ -2022,87 +2558,149 @@ IrqHandler_Loop40: ; ----------------------------------------------------------------------------- Sub_8949: lda #$00 ; CPU:$8949 PRG:0949 A9 00 - sta Zp9A ; CPU:$894B PRG:094B 85 9A + sta GameState ; CPU:$894B PRG:094B 85 9A jsr Sub_A15C ; CPU:$894D PRG:094D 20 5C A1 rts ; CPU:$8950 PRG:0950 60 -; ---- data $8951-$89BE (110 bytes) ---- - .byte $20, $7E, $8D, $AD, $D2, $06, $C9, $0F, $B0, $0E, $A9, $57, $85, $12, $A9, $DE ; CPU:$8951 PRG:0951 20 7E 8D AD D2 06 C9 0F B0 0E A9 57 85 12 A9 DE - .byte $85, $13, $20, $D8, $86, $4C, $74, $89, $A9, $6B, $85, $12, $A9, $DE, $85, $13 ; CPU:$8961 PRG:0961 85 13 20 D8 86 4C 74 89 A9 6B 85 12 A9 DE 85 13 - .byte $20, $D8, $86, $A9, $21, $8D, $06, $05, $A9, $22, $8D, $07, $05, $A9, $23, $8D ; CPU:$8971 PRG:0971 20 D8 86 A9 21 8D 06 05 A9 22 8D 07 05 A9 23 8D - .byte $08, $05, $A9, $12, $8D, $09, $05, $A9, $02, $8D, $0A, $05, $8D, $0B, $05, $8D ; CPU:$8981 PRG:0981 08 05 A9 12 8D 09 05 A9 02 8D 0A 05 8D 0B 05 8D - .byte $0C, $05, $8D, $0D, $05, $A9, $78, $8D, $02, $05, $A9, $00, $8D, $17, $05, $8D ; CPU:$8991 PRG:0991 0C 05 8D 0D 05 A9 78 8D 02 05 A9 00 8D 17 05 8D - .byte $11, $05, $8D, $0F, $05, $8D, $10, $05, $EE, $B4, $07, $20, $DB, $9F, $20, $2D ; CPU:$89A1 PRG:09A1 11 05 8D 0F 05 8D 10 05 EE B4 07 20 DB 9F 20 2D - .byte $F8, $20, $58, $FE, $A5, $54, $D0, $06, $20, $DE, $A0, $20, $0D, $F8 ; CPU:$89B1 PRG:09B1 F8 20 58 FE A5 54 D0 06 20 DE A0 20 0D F8 ; ----------------------------------------------------------------------------- -; Routine: Label_89BF -; Global: Branch target inside Label: taken when 89BF. -; Local: Part of Label. +; Routine: Sub_8951 +; Global: Branch target inside Sub: taken when 8951. +; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Label_89BF: +Sub_8951: + jsr Sub_8D7E ; CPU:$8951 PRG:0951 20 7E 8D + lda $06D2 ; CPU:$8954 PRG:0954 AD D2 06 + cmp #$0F ; CPU:$8957 PRG:0957 C9 0F + bcs IrqHandler_Loop64 ; CPU:$8959 PRG:0959 B0 0E + lda #$57 ; CPU:$895B PRG:095B A9 57 + sta Zp12 ; CPU:$895D PRG:095D 85 12 + lda #$DE ; CPU:$895F PRG:095F A9 DE + sta Zp13 ; CPU:$8961 PRG:0961 85 13 + jsr Sub_86D8 ; CPU:$8963 PRG:0963 20 D8 86 + jmp Sub_8974 ; CPU:$8966 PRG:0966 4C 74 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop64 +; Global: Branch target inside IrqHandler: taken when Loop64. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop64: + lda #$6B ; CPU:$8969 PRG:0969 A9 6B + sta Zp12 ; CPU:$896B PRG:096B 85 12 + lda #$DE ; CPU:$896D PRG:096D A9 DE + sta Zp13 ; CPU:$896F PRG:096F 85 13 + jsr Sub_86D8 ; CPU:$8971 PRG:0971 20 D8 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_8974 +; Global: Branch target inside Sub: taken when 8974. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8974: + lda #$21 ; CPU:$8974 PRG:0974 A9 21 + sta $0506 ; CPU:$8976 PRG:0976 8D 06 05 + lda #$22 ; CPU:$8979 PRG:0979 A9 22 + sta $0507 ; CPU:$897B PRG:097B 8D 07 05 + lda #$23 ; CPU:$897E PRG:097E A9 23 + sta $0508 ; CPU:$8980 PRG:0980 8D 08 05 + lda #$12 ; CPU:$8983 PRG:0983 A9 12 + sta $0509 ; CPU:$8985 PRG:0985 8D 09 05 + lda #$02 ; CPU:$8988 PRG:0988 A9 02 + sta $050A ; CPU:$898A PRG:098A 8D 0A 05 + sta $050B ; CPU:$898D PRG:098D 8D 0B 05 + sta $050C ; CPU:$8990 PRG:0990 8D 0C 05 + sta $050D ; CPU:$8993 PRG:0993 8D 0D 05 + lda #$78 ; CPU:$8996 PRG:0996 A9 78 + sta $0502 ; CPU:$8998 PRG:0998 8D 02 05 + lda #$00 ; CPU:$899B PRG:099B A9 00 + sta $0517 ; CPU:$899D PRG:099D 8D 17 05 + sta $0511 ; CPU:$89A0 PRG:09A0 8D 11 05 + sta $050F ; CPU:$89A3 PRG:09A3 8D 0F 05 + sta $0510 ; CPU:$89A6 PRG:09A6 8D 10 05 + inc $07B4 ; CPU:$89A9 PRG:09A9 EE B4 07 + jsr Sub_9FDB ; CPU:$89AC PRG:09AC 20 DB 9F + jsr Sub_F82D ; CPU:$89AF PRG:09AF 20 2D F8 + jsr Sub_FE58 ; CPU:$89B2 PRG:09B2 20 58 FE + lda FrameCounter ; CPU:$89B5 PRG:09B5 A5 54 + bne IrqHandler_Loop65 ; CPU:$89B7 PRG:09B7 D0 06 + jsr Sub_A0DE ; CPU:$89B9 PRG:09B9 20 DE A0 + jsr Sub_F80D ; CPU:$89BC PRG:09BC 20 0D F8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop65 +; Global: Branch target inside IrqHandler: taken when Loop65. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop65: lda $0501 ; CPU:$89BF PRG:09BF AD 01 05 cmp #$48 ; CPU:$89C2 PRG:09C2 C9 48 - bcs IrqHandler_Loop41 ; CPU:$89C4 PRG:09C4 B0 0A + bcs IrqHandler_Loop66 ; CPU:$89C4 PRG:09C4 B0 0A inc $0501 ; CPU:$89C6 PRG:09C6 EE 01 05 lda #$00 ; CPU:$89C9 PRG:09C9 A9 00 sta $0512 ; CPU:$89CB PRG:09CB 8D 12 05 - beq IrqHandler_Loop42 ; CPU:$89CE PRG:09CE F0 05 + beq IrqHandler_Loop67 ; CPU:$89CE PRG:09CE F0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop41 -; Global: Branch target inside IrqHandler: taken when Loop41. +; Routine: IrqHandler_Loop66 +; Global: Branch target inside IrqHandler: taken when Loop66. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop41: +IrqHandler_Loop66: lda #$01 ; CPU:$89D0 PRG:09D0 A9 01 sta $0512 ; CPU:$89D2 PRG:09D2 8D 12 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop42 -; Global: Branch target inside IrqHandler: taken when Loop42. +; Routine: IrqHandler_Loop67 +; Global: Branch target inside IrqHandler: taken when Loop67. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop42: +IrqHandler_Loop67: jsr Sub_90B0 ; CPU:$89D5 PRG:09D5 20 B0 90 jsr Sub_94B3 ; CPU:$89D8 PRG:09D8 20 B3 94 jsr Sub_FBE5 ; CPU:$89DB PRG:09DB 20 E5 FB jsr Sub_99B7 ; CPU:$89DE PRG:09DE 20 B7 99 lda $0512 ; CPU:$89E1 PRG:09E1 AD 12 05 - beq IrqHandler_Loop43 ; CPU:$89E4 PRG:09E4 F0 29 + beq IrqHandler_Loop68 ; CPU:$89E4 PRG:09E4 F0 29 lda $0501 ; CPU:$89E6 PRG:09E6 AD 01 05 clc ; CPU:$89E9 PRG:09E9 18 adc #$08 ; CPU:$89EA PRG:09EA 69 08 - sta Zp1C ; CPU:$89EC PRG:09EC 85 1C + sta PlayerYHigh ; CPU:$89EC PRG:09EC 85 1C lda $0502 ; CPU:$89EE PRG:09EE AD 02 05 sec ; CPU:$89F1 PRG:09F1 38 sbc #$08 ; CPU:$89F2 PRG:09F2 E9 08 - sta Zp19 ; CPU:$89F4 PRG:09F4 85 19 + sta PlayerXHigh ; CPU:$89F4 PRG:09F4 85 19 lda #$02 ; CPU:$89F6 PRG:09F6 A9 02 - sta Zp1B ; CPU:$89F8 PRG:09F8 85 1B + sta PlayerYLow ; CPU:$89F8 PRG:09F8 85 1B lda #$E2 ; CPU:$89FA PRG:09FA A9 E2 - sta Zp1A ; CPU:$89FC PRG:09FC 85 1A + sta PlayerXLow ; CPU:$89FC PRG:09FC 85 1A jsr Sub_8221 ; CPU:$89FE PRG:09FE 20 21 82 jsr Sub_8A10 ; CPU:$8A01 PRG:0A01 20 10 8A lda #$40 ; CPU:$8A04 PRG:0A04 A9 40 - sta Zp4A ; CPU:$8A06 PRG:0A06 85 4A + sta DispatchPtrLo ; CPU:$8A06 PRG:0A06 85 4A lda #$FF ; CPU:$8A08 PRG:0A08 A9 FF - sta Zp4B ; CPU:$8A0A PRG:0A0A 85 4B + sta DispatchPtrHi ; CPU:$8A0A PRG:0A0A 85 4B jmp Sub_FBCF ; CPU:$8A0C PRG:0A0C 4C CF FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop43 -; Global: Branch target inside IrqHandler: taken when Loop43. +; Routine: IrqHandler_Loop68 +; Global: Branch target inside IrqHandler: taken when Loop68. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop43: +IrqHandler_Loop68: rts ; CPU:$8A0F PRG:0A0F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A10 @@ -2114,9 +2712,9 @@ IrqHandler_Loop43: ; ----------------------------------------------------------------------------- Sub_8A10: lda #$E8 ; CPU:$8A10 PRG:0A10 A9 E8 - sta Zp4A ; CPU:$8A12 PRG:0A12 85 4A + sta DispatchPtrLo ; CPU:$8A12 PRG:0A12 85 4A lda #$78 ; CPU:$8A14 PRG:0A14 A9 78 - sta Zp4B ; CPU:$8A16 PRG:0A16 85 4B + sta DispatchPtrHi ; CPU:$8A16 PRG:0A16 85 4B jsr Sub_992B ; CPU:$8A18 PRG:0A18 20 2B 99 jsr Sub_992B ; CPU:$8A1B PRG:0A1B 20 2B 99 jsr Sub_992B ; CPU:$8A1E PRG:0A1E 20 2B 99 @@ -2138,13 +2736,13 @@ Sub_8A10: Sub_8A36: lda #$64 ; CPU:$8A36 PRG:0A36 A9 64 sta Zp7E ; CPU:$8A38 PRG:0A38 85 7E - sta Zp1C ; CPU:$8A3A PRG:0A3A 85 1C + sta PlayerYHigh ; CPU:$8A3A PRG:0A3A 85 1C lda #$48 ; CPU:$8A3C PRG:0A3C A9 48 - sta Zp19 ; CPU:$8A3E PRG:0A3E 85 19 + sta PlayerXHigh ; CPU:$8A3E PRG:0A3E 85 19 lda #$CF ; CPU:$8A40 PRG:0A40 A9 CF - sta Zp46 ; CPU:$8A42 PRG:0A42 85 46 + sta VramWritePtrLo ; CPU:$8A42 PRG:0A42 85 46 lda #$8A ; CPU:$8A44 PRG:0A44 A9 8A - sta Zp47 ; CPU:$8A46 PRG:0A46 85 47 + sta VramWritePtrHi ; CPU:$8A46 PRG:0A46 85 47 ; ----------------------------------------------------------------------------- ; Routine: Sub_8A48 ; Global: Branch target inside Sub: taken when 8A48. @@ -2161,7 +2759,7 @@ Sub_8A48: jsr Sub_E239 ; CPU:$8A4C PRG:0A4C 20 39 E2 ldy #$00 ; CPU:$8A4F PRG:0A4F A0 00 ldx #$00 ; CPU:$8A51 PRG:0A51 A2 00 - stx Zp47 ; CPU:$8A53 PRG:0A53 86 47 + stx VramWritePtrHi ; CPU:$8A53 PRG:0A53 86 47 lda #$1B ; CPU:$8A55 PRG:0A55 A9 1B sta Zp48 ; CPU:$8A57 PRG:0A57 85 48 ; ----------------------------------------------------------------------------- @@ -2174,8 +2772,8 @@ Sub_8A48: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero26: lda $8AB4,y ; CPU:$8A59 PRG:0A59 B9 B4 8A - sta Zp46 ; CPU:$8A5C PRG:0A5C 85 46 - lda (Zp46,x) ; CPU:$8A5E PRG:0A5E A1 46 + sta VramWritePtrLo ; CPU:$8A5C PRG:0A5C 85 46 + lda (VramWritePtrLo,x) ; CPU:$8A5E PRG:0A5E A1 46 sta $063D,y ; CPU:$8A60 PRG:0A60 99 3D 06 iny ; CPU:$8A63 PRG:0A63 C8 dec Zp48 ; CPU:$8A64 PRG:0A64 C6 48 @@ -2205,7 +2803,7 @@ IrqHandler_OnZero3: sta $0658 ; CPU:$8A86 PRG:0A86 8D 58 06 ldx #$00 ; CPU:$8A89 PRG:0A89 A2 00 ldy #$00 ; CPU:$8A8B PRG:0A8B A0 00 - stx Zp47 ; CPU:$8A8D PRG:0A8D 86 47 + stx VramWritePtrHi ; CPU:$8A8D PRG:0A8D 86 47 lda #$1B ; CPU:$8A8F PRG:0A8F A9 1B sta Zp48 ; CPU:$8A91 PRG:0A91 85 48 ; ----------------------------------------------------------------------------- @@ -2218,9 +2816,9 @@ IrqHandler_OnZero3: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero27: lda $8AB4,y ; CPU:$8A93 PRG:0A93 B9 B4 8A - sta Zp46 ; CPU:$8A96 PRG:0A96 85 46 + sta VramWritePtrLo ; CPU:$8A96 PRG:0A96 85 46 lda $063D,y ; CPU:$8A98 PRG:0A98 B9 3D 06 - sta (Zp46,x) ; CPU:$8A9B PRG:0A9B 81 46 + sta (VramWritePtrLo,x) ; CPU:$8A9B PRG:0A9B 81 46 iny ; CPU:$8A9D PRG:0A9D C8 dec Zp48 ; CPU:$8A9E PRG:0A9E C6 48 bne IrqHandler_OnNonzero27 ; CPU:$8AA0 PRG:0AA0 D0 F1 @@ -2238,7 +2836,8 @@ IrqHandler_OnNonzero27: ; ---- data $8AB4-$8AD7 (36 bytes) ---- ; referenced by `lda $8AB4,y` at $8A59 (operand $8AB4 falls inside this region) ; referenced by `lda $8AB4,y` at $8A93 (operand $8AB4 falls inside this region) - .byte $8F, $90, $91, $92, $93, $94, $95, $96, $AE, $AF, $B0, $B1, $C6, $CA, $CE, $D2 ; CPU:$8AB4 PRG:0AB4 8F 90 91 92 93 94 95 96 AE AF B0 B1 C6 CA CE D2 +EnemyTileIndexTable: + .byte $8F, $90, $91, $92, $93, $94, $95, $96, $AE, $AF, $B0, $B1, $C6, $CA, $CE, $D2 ; CPU:$8AB4 PRG:-354C 8F 90 91 92 93 94 95 96 AE AF B0 B1 C6 CA CE D2 .byte $D6, $DA, $DE, $E2, $BE, $EA, $EC, $B2, $B6, $AC, $C0, $49, $4E, $54, $45, $52 ; CPU:$8AC4 PRG:0AC4 D6 DA DE E2 BE EA EC B2 B6 AC C0 49 4E 54 45 52 .byte $56, $41, $4C, $00 ; CPU:$8AD4 PRG:0AD4 56 41 4C 00 ; ----------------------------------------------------------------------------- @@ -2252,7 +2851,7 @@ IrqHandler_OnNonzero27: Sub_8AD8: ldy #$00 ; CPU:$8AD8 PRG:0AD8 A0 00 lda #$02 ; CPU:$8ADA PRG:0ADA A9 02 - sta Zp1B ; CPU:$8ADC PRG:0ADC 85 1B + sta PlayerYLow ; CPU:$8ADC PRG:0ADC 85 1B ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero28 ; Global: Branch target inside IrqHandler: taken when OnNonzero28. @@ -2262,40 +2861,40 @@ Sub_8AD8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero28: - lda (Zp46),y ; CPU:$8ADE PRG:0ADE B1 46 - beq IrqHandler_Loop45 ; CPU:$8AE0 PRG:0AE0 F0 13 + lda (VramWritePtrLo),y ; CPU:$8ADE PRG:0ADE B1 46 + beq IrqHandler_Loop70 ; CPU:$8AE0 PRG:0AE0 F0 13 cmp #$20 ; CPU:$8AE2 PRG:0AE2 C9 20 - beq IrqHandler_Loop44 ; CPU:$8AE4 PRG:0AE4 F0 05 - sta Zp1A ; CPU:$8AE6 PRG:0AE6 85 1A + beq IrqHandler_Loop69 ; CPU:$8AE4 PRG:0AE4 F0 05 + sta PlayerXLow ; CPU:$8AE6 PRG:0AE6 85 1A jsr Sub_8221 ; CPU:$8AE8 PRG:0AE8 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop44 -; Global: Branch target inside IrqHandler: taken when Loop44. +; Routine: IrqHandler_Loop69 +; Global: Branch target inside IrqHandler: taken when Loop69. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop44: - lda Zp1C ; CPU:$8AEB PRG:0AEB A5 1C +IrqHandler_Loop69: + lda PlayerYHigh ; CPU:$8AEB PRG:0AEB A5 1C clc ; CPU:$8AED PRG:0AED 18 adc #$08 ; CPU:$8AEE PRG:0AEE 69 08 - sta Zp1C ; CPU:$8AF0 PRG:0AF0 85 1C + sta PlayerYHigh ; CPU:$8AF0 PRG:0AF0 85 1C iny ; CPU:$8AF2 PRG:0AF2 C8 bne IrqHandler_OnNonzero28 ; CPU:$8AF3 PRG:0AF3 D0 E9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop45 -; Global: Branch target inside IrqHandler: taken when Loop45. +; Routine: IrqHandler_Loop70 +; Global: Branch target inside IrqHandler: taken when Loop70. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop45: - lda Zp19 ; CPU:$8AF5 PRG:0AF5 A5 19 +IrqHandler_Loop70: + lda PlayerXHigh ; CPU:$8AF5 PRG:0AF5 A5 19 clc ; CPU:$8AF7 PRG:0AF7 18 adc #$10 ; CPU:$8AF8 PRG:0AF8 69 10 - sta Zp19 ; CPU:$8AFA PRG:0AFA 85 19 + sta PlayerXHigh ; CPU:$8AFA PRG:0AFA 85 19 iny ; CPU:$8AFC PRG:0AFC C8 rts ; CPU:$8AFD PRG:0AFD 60 ; ----------------------------------------------------------------------------- @@ -2308,22 +2907,22 @@ IrqHandler_Loop45: ; ----------------------------------------------------------------------------- Sub_8AFE: lda #$02 ; CPU:$8AFE PRG:0AFE A9 02 - sta Zp1B ; CPU:$8B00 PRG:0B00 85 1B + sta PlayerYLow ; CPU:$8B00 PRG:0B00 85 1B lda #$68 ; CPU:$8B02 PRG:0B02 A9 68 - sta Zp1C ; CPU:$8B04 PRG:0B04 85 1C + sta PlayerYHigh ; CPU:$8B04 PRG:0B04 85 1C lda #$40 ; CPU:$8B06 PRG:0B06 A9 40 - sta Zp19 ; CPU:$8B08 PRG:0B08 85 19 + sta PlayerXHigh ; CPU:$8B08 PRG:0B08 85 19 lda #$48 ; CPU:$8B0A PRG:0B0A A9 48 - sta Zp46 ; CPU:$8B0C PRG:0B0C 85 46 + sta VramWritePtrLo ; CPU:$8B0C PRG:0B0C 85 46 lda #$8B ; CPU:$8B0E PRG:0B0E A9 8B - sta Zp47 ; CPU:$8B10 PRG:0B10 85 47 + sta VramWritePtrHi ; CPU:$8B10 PRG:0B10 85 47 jsr Sub_8AD8 ; CPU:$8B12 PRG:0B12 20 D8 8A - lda ZpFC ; CPU:$8B15 PRG:0B15 A5 FC + lda LevelIndex ; CPU:$8B15 PRG:0B15 A5 FC clc ; CPU:$8B17 PRG:0B17 18 adc #$30 ; CPU:$8B18 PRG:0B18 69 30 - sta Zp1A ; CPU:$8B1A PRG:0B1A 85 1A + sta PlayerXLow ; CPU:$8B1A PRG:0B1A 85 1A lda #$40 ; CPU:$8B1C PRG:0B1C A9 40 - sta Zp19 ; CPU:$8B1E PRG:0B1E 85 19 + sta PlayerXHigh ; CPU:$8B1E PRG:0B1E 85 19 jsr Sub_8221 ; CPU:$8B20 PRG:0B20 20 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_8B23 @@ -2335,25 +2934,26 @@ Sub_8AFE: ; ----------------------------------------------------------------------------- Sub_8B23: lda #$02 ; CPU:$8B23 PRG:0B23 A9 02 - sta Zp1B ; CPU:$8B25 PRG:0B25 85 1B + sta PlayerYLow ; CPU:$8B25 PRG:0B25 85 1B lda #$68 ; CPU:$8B27 PRG:0B27 A9 68 - sta Zp1C ; CPU:$8B29 PRG:0B29 85 1C + sta PlayerYHigh ; CPU:$8B29 PRG:0B29 85 1C lda #$58 ; CPU:$8B2B PRG:0B2B A9 58 - sta Zp19 ; CPU:$8B2D PRG:0B2D 85 19 + sta PlayerXHigh ; CPU:$8B2D PRG:0B2D 85 19 lda #$4F ; CPU:$8B2F PRG:0B2F A9 4F - sta Zp46 ; CPU:$8B31 PRG:0B31 85 46 + sta VramWritePtrLo ; CPU:$8B31 PRG:0B31 85 46 lda #$8B ; CPU:$8B33 PRG:0B33 A9 8B - sta Zp47 ; CPU:$8B35 PRG:0B35 85 47 + sta VramWritePtrHi ; CPU:$8B35 PRG:0B35 85 47 jsr Sub_8AD8 ; CPU:$8B37 PRG:0B37 20 D8 8A lda Zp2F ; CPU:$8B3A PRG:0B3A A5 2F clc ; CPU:$8B3C PRG:0B3C 18 adc #$30 ; CPU:$8B3D PRG:0B3D 69 30 - sta Zp1A ; CPU:$8B3F PRG:0B3F 85 1A + sta PlayerXLow ; CPU:$8B3F PRG:0B3F 85 1A lda #$58 ; CPU:$8B41 PRG:0B41 A9 58 - sta Zp19 ; CPU:$8B43 PRG:0B43 85 19 + sta PlayerXHigh ; CPU:$8B43 PRG:0B43 85 19 jmp Sub_8221 ; CPU:$8B45 PRG:0B45 4C 21 82 ; ---- data $8B48-$8B55 (14 bytes) ---- - .byte $50, $48, $41, $53, $45, $20, $00, $4C, $45, $46, $54, $20, $20, $00 ; CPU:$8B48 PRG:0B48 50 48 41 53 45 20 00 4C 45 46 54 20 20 00 +PhaseLeftText: + .byte $50, $48, $41, $53, $45, $20, $00, $4C, $45, $46, $54, $20, $20, $00 ; CPU:$8B48 PRG:-34B8 50 48 41 53 45 20 00 4C 45 46 54 20 20 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8B56 ; Global: Branch target inside Sub: taken when 8B56. @@ -2365,7 +2965,7 @@ Sub_8B23: Sub_8B56: jsr Sub_8D32 ; CPU:$8B56 PRG:0B56 20 32 8D lda #$01 ; CPU:$8B59 PRG:0B59 A9 01 - sta ZpFC ; CPU:$8B5B PRG:0B5B 85 FC + sta LevelIndex ; CPU:$8B5B PRG:0B5B 85 FC jsr Sub_8D1B ; CPU:$8B5D PRG:0B5D 20 1B 8D lda #$00 ; CPU:$8B60 PRG:0B60 A9 00 sta $0517 ; CPU:$8B62 PRG:0B62 8D 17 05 @@ -2388,7 +2988,7 @@ Sub_8B56: lda #$00 ; CPU:$8B8B PRG:0B8B A9 00 sta ZpA5 ; CPU:$8B8D PRG:0B8D 85 A5 lda #$01 ; CPU:$8B8F PRG:0B8F A9 01 - sta Zp9A ; CPU:$8B91 PRG:0B91 85 9A + sta GameState ; CPU:$8B91 PRG:0B91 85 9A sta Zp9B ; CPU:$8B93 PRG:0B93 85 9B lda #$00 ; CPU:$8B95 PRG:0B95 A9 00 sta ZpA8 ; CPU:$8B97 PRG:0B97 85 A8 @@ -2421,7 +3021,8 @@ IrqHandler_OnNonzero29: rts ; CPU:$8BBC PRG:0BBC 60 ; ---- data $8BBD-$8BC7 (11 bytes) ---- ; referenced by `lda $8BBD,x` at $8BAE (operand $8BBD falls inside this region) - .byte $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$8BBD PRG:0BBD 02 00 00 00 00 00 00 00 00 00 00 +LevelStartParameterTable: + .byte $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$8BBD PRG:-3443 02 00 00 00 00 00 00 00 00 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8BC8 ; Global: Branch target inside Sub: taken when 8BC8. @@ -2432,9 +3033,9 @@ IrqHandler_OnNonzero29: ; ----------------------------------------------------------------------------- Sub_8BC8: lda #$23 ; CPU:$8BC8 PRG:0BC8 A9 23 - sta Zp46 ; CPU:$8BCA PRG:0BCA 85 46 + sta VramWritePtrLo ; CPU:$8BCA PRG:0BCA 85 46 lda #$DD ; CPU:$8BCC PRG:0BCC A9 DD - sta Zp47 ; CPU:$8BCE PRG:0BCE 85 47 + sta VramWritePtrHi ; CPU:$8BCE PRG:0BCE 85 47 lda #$00 ; CPU:$8BD0 PRG:0BD0 A9 00 sta Zp48 ; CPU:$8BD2 PRG:0BD2 85 48 lda #$20 ; CPU:$8BD4 PRG:0BD4 A9 20 @@ -2442,9 +3043,9 @@ Sub_8BC8: inc Zp52 ; CPU:$8BD8 PRG:0BD8 E6 52 jsr Sub_DCD3 ; CPU:$8BDA PRG:0BDA 20 D3 DC lda #$23 ; CPU:$8BDD PRG:0BDD A9 23 - sta Zp46 ; CPU:$8BDF PRG:0BDF 85 46 + sta VramWritePtrLo ; CPU:$8BDF PRG:0BDF 85 46 lda #$DD ; CPU:$8BE1 PRG:0BE1 A9 DD - sta Zp47 ; CPU:$8BE3 PRG:0BE3 85 47 + sta VramWritePtrHi ; CPU:$8BE3 PRG:0BE3 85 47 lda #$00 ; CPU:$8BE5 PRG:0BE5 A9 00 sta Zp48 ; CPU:$8BE7 PRG:0BE7 85 48 lda #$24 ; CPU:$8BE9 PRG:0BE9 A9 24 @@ -2452,9 +3053,9 @@ Sub_8BC8: inc Zp52 ; CPU:$8BED PRG:0BED E6 52 jsr Sub_DCD3 ; CPU:$8BEF PRG:0BEF 20 D3 DC lda #$BE ; CPU:$8BF2 PRG:0BF2 A9 BE - sta Zp46 ; CPU:$8BF4 PRG:0BF4 85 46 + sta VramWritePtrLo ; CPU:$8BF4 PRG:0BF4 85 46 lda #$DD ; CPU:$8BF6 PRG:0BF6 A9 DD - sta Zp47 ; CPU:$8BF8 PRG:0BF8 85 47 + sta VramWritePtrHi ; CPU:$8BF8 PRG:0BF8 85 47 lda #$C0 ; CPU:$8BFA PRG:0BFA A9 C0 sta Zp48 ; CPU:$8BFC PRG:0BFC 85 48 lda #$23 ; CPU:$8BFE PRG:0BFE A9 23 @@ -2462,9 +3063,9 @@ Sub_8BC8: inc Zp52 ; CPU:$8C02 PRG:0C02 E6 52 jsr Sub_DCD3 ; CPU:$8C04 PRG:0C04 20 D3 DC lda #$BE ; CPU:$8C07 PRG:0C07 A9 BE - sta Zp46 ; CPU:$8C09 PRG:0C09 85 46 + sta VramWritePtrLo ; CPU:$8C09 PRG:0C09 85 46 lda #$DD ; CPU:$8C0B PRG:0C0B A9 DD - sta Zp47 ; CPU:$8C0D PRG:0C0D 85 47 + sta VramWritePtrHi ; CPU:$8C0D PRG:0C0D 85 47 lda #$C0 ; CPU:$8C0F PRG:0C0F A9 C0 sta Zp48 ; CPU:$8C11 PRG:0C11 85 48 lda #$27 ; CPU:$8C13 PRG:0C13 A9 27 @@ -2480,20 +3081,20 @@ Sub_8BC8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8C1C: - lda ZpFC ; CPU:$8C1C PRG:0C1C A5 FC + lda LevelIndex ; CPU:$8C1C PRG:0C1C A5 FC sec ; CPU:$8C1E PRG:0C1E 38 sbc #$01 ; CPU:$8C1F PRG:0C1F E9 01 asl a ; CPU:$8C21 PRG:0C21 0A tax ; CPU:$8C22 PRG:0C22 AA lda $8C41,x ; CPU:$8C23 PRG:0C23 BD 41 8C - sta ZpA0 ; CPU:$8C26 PRG:0C26 85 A0 + sta SpriteX ; CPU:$8C26 PRG:0C26 85 A0 lda $8C51,x ; CPU:$8C28 PRG:0C28 BD 51 8C - sta Zp79 ; CPU:$8C2B PRG:0C2B 85 79 + sta SpriteTile ; CPU:$8C2B PRG:0C2B 85 79 inx ; CPU:$8C2D PRG:0C2D E8 lda $8C41,x ; CPU:$8C2E PRG:0C2E BD 41 8C - sta ZpA1 ; CPU:$8C31 PRG:0C31 85 A1 + sta SpriteY ; CPU:$8C31 PRG:0C31 85 A1 lda $8C51,x ; CPU:$8C33 PRG:0C33 BD 51 8C - sta Zp7A ; CPU:$8C36 PRG:0C36 85 7A + sta SpriteAttr ; CPU:$8C36 PRG:0C36 85 7A lda #$00 ; CPU:$8C38 PRG:0C38 A9 00 sta $07B6 ; CPU:$8C3A PRG:0C3A 8D B6 07 sta $07B4 ; CPU:$8C3D PRG:0C3D 8D B4 07 @@ -2505,7 +3106,8 @@ Sub_8C1C: ; referenced by `lda $8C51,x` at $8C33 (operand $8C51 falls inside this region) ; referenced by `lda $8C51,x` at $8C68 (operand $8C51 falls inside this region) ; referenced by `lda $8C51,x` at $8C6E (operand $8C51 falls inside this region) - .byte $ED, $C9, $FD, $CB, $E5, $CD, $BA, $CF, $AA, $D1, $5F, $D3, $54, $D5, $09, $D7 ; CPU:$8C41 PRG:0C41 ED C9 FD CB E5 CD BA CF AA D1 5F D3 54 D5 09 D7 +EnemyMovementParameterTable: + .byte $ED, $C9, $FD, $CB, $E5, $CD, $BA, $CF, $AA, $D1, $5F, $D3, $54, $D5, $09, $D7 ; CPU:$8C41 PRG:-33BF ED C9 FD CB E5 CD BA CF AA D1 5F D3 54 D5 09 D7 .byte $39, $BB, $75, $BF, $67, $C3, $26, $C7, $39, $BB, $75, $BF, $67, $C3, $7A, $BD ; CPU:$8C51 PRG:0C51 39 BB 75 BF 67 C3 26 C7 39 BB 75 BF 67 C3 7A BD ; ----------------------------------------------------------------------------- ; Routine: Sub_8C61 @@ -2516,16 +3118,16 @@ Sub_8C1C: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8C61: - lda ZpFC ; CPU:$8C61 PRG:0C61 A5 FC + lda LevelIndex ; CPU:$8C61 PRG:0C61 A5 FC sec ; CPU:$8C63 PRG:0C63 38 sbc #$01 ; CPU:$8C64 PRG:0C64 E9 01 asl a ; CPU:$8C66 PRG:0C66 0A tax ; CPU:$8C67 PRG:0C67 AA lda $8C51,x ; CPU:$8C68 PRG:0C68 BD 51 8C - sta Zp79 ; CPU:$8C6B PRG:0C6B 85 79 + sta SpriteTile ; CPU:$8C6B PRG:0C6B 85 79 inx ; CPU:$8C6D PRG:0C6D E8 lda $8C51,x ; CPU:$8C6E PRG:0C6E BD 51 8C - sta Zp7A ; CPU:$8C71 PRG:0C71 85 7A + sta SpriteAttr ; CPU:$8C71 PRG:0C71 85 7A lda #$00 ; CPU:$8C73 PRG:0C73 A9 00 sta $07B6 ; CPU:$8C75 PRG:0C75 8D B6 07 sta $07B4 ; CPU:$8C78 PRG:0C78 8D B4 07 @@ -2578,17 +3180,17 @@ Sub_8C7C: sta $0634 ; CPU:$8CD8 PRG:0CD8 8D 34 06 lda $0461 ; CPU:$8CDB PRG:0CDB AD 61 04 asl a ; CPU:$8CDE PRG:0CDE 0A - bcc IrqHandler_Loop46 ; CPU:$8CDF PRG:0CDF 90 03 + bcc IrqHandler_Loop71 ; CPU:$8CDF PRG:0CDF 90 03 jsr Sub_B776 ; CPU:$8CE1 PRG:0CE1 20 76 B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop46 -; Global: Branch target inside IrqHandler: taken when Loop46. +; Routine: IrqHandler_Loop71 +; Global: Branch target inside IrqHandler: taken when Loop71. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop46: +IrqHandler_Loop71: lda #$00 ; CPU:$8CE4 PRG:0CE4 A9 00 sta Zp32 ; CPU:$8CE6 PRG:0CE6 85 32 jsr Sub_87BB ; CPU:$8CE8 PRG:0CE8 20 BB 87 @@ -2602,17 +3204,17 @@ IrqHandler_Loop46: sta $0620 ; CPU:$8CFE PRG:0CFE 8D 20 06 sta $0625 ; CPU:$8D01 PRG:0D01 8D 25 06 lda $0518 ; CPU:$8D04 PRG:0D04 AD 18 05 - beq IrqHandler_Loop47 ; CPU:$8D07 PRG:0D07 F0 03 + beq IrqHandler_Loop72 ; CPU:$8D07 PRG:0D07 F0 03 dec $0518 ; CPU:$8D09 PRG:0D09 CE 18 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop47 -; Global: Branch target inside IrqHandler: taken when Loop47. +; Routine: IrqHandler_Loop72 +; Global: Branch target inside IrqHandler: taken when Loop72. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop47: +IrqHandler_Loop72: lda #$00 ; CPU:$8D0C PRG:0D0C A9 00 sta $051A ; CPU:$8D0E PRG:0D0E 8D 1A 05 lda #$00 ; CPU:$8D11 PRG:0D11 A9 00 @@ -2644,9 +3246,9 @@ IrqHandler_OnNonzero30: dex ; CPU:$8D22 PRG:0D22 CA bne IrqHandler_OnNonzero30 ; CPU:$8D23 PRG:0D23 D0 F8 lda #$BD ; CPU:$8D25 PRG:0D25 A9 BD - sta Zp46 ; CPU:$8D27 PRG:0D27 85 46 + sta VramWritePtrLo ; CPU:$8D27 PRG:0D27 85 46 lda #$8B ; CPU:$8D29 PRG:0D29 A9 8B - sta Zp47 ; CPU:$8D2B PRG:0D2B 85 47 + sta VramWritePtrHi ; CPU:$8D2B PRG:0D2B 85 47 sta Zp04 ; CPU:$8D2D PRG:0D2D 85 04 ldy #$00 ; CPU:$8D2F PRG:0D2F A0 00 rts ; CPU:$8D31 PRG:0D31 60 @@ -2734,168 +3336,168 @@ IrqHandler_OnNonzero32: ; ----------------------------------------------------------------------------- Sub_8D7E: dec $06CF ; CPU:$8D7E PRG:0D7E CE CF 06 - bpl IrqHandler_Loop48 ; CPU:$8D81 PRG:0D81 10 05 + bpl IrqHandler_Loop73 ; CPU:$8D81 PRG:0D81 10 05 lda #$0F ; CPU:$8D83 PRG:0D83 A9 0F sta $06CF ; CPU:$8D85 PRG:0D85 8D CF 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop48 -; Global: Branch target inside IrqHandler: taken when Loop48. +; Routine: IrqHandler_Loop73 +; Global: Branch target inside IrqHandler: taken when Loop73. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop48: +IrqHandler_Loop73: dec $06D0 ; CPU:$8D88 PRG:0D88 CE D0 06 - bpl IrqHandler_Loop49 ; CPU:$8D8B PRG:0D8B 10 05 + bpl IrqHandler_Loop74 ; CPU:$8D8B PRG:0D8B 10 05 lda #$10 ; CPU:$8D8D PRG:0D8D A9 10 sta $06D0 ; CPU:$8D8F PRG:0D8F 8D D0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop49 -; Global: Branch target inside IrqHandler: taken when Loop49. +; Routine: IrqHandler_Loop74 +; Global: Branch target inside IrqHandler: taken when Loop74. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop49: +IrqHandler_Loop74: dec $06CD ; CPU:$8D92 PRG:0D92 CE CD 06 - bpl IrqHandler_Loop50 ; CPU:$8D95 PRG:0D95 10 05 + bpl IrqHandler_Loop75 ; CPU:$8D95 PRG:0D95 10 05 lda #$08 ; CPU:$8D97 PRG:0D97 A9 08 sta $06CD ; CPU:$8D99 PRG:0D99 8D CD 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop50 -; Global: Branch target inside IrqHandler: taken when Loop50. +; Routine: IrqHandler_Loop75 +; Global: Branch target inside IrqHandler: taken when Loop75. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop50: +IrqHandler_Loop75: dec $06CE ; CPU:$8D9C PRG:0D9C CE CE 06 - bpl IrqHandler_Loop51 ; CPU:$8D9F PRG:0D9F 10 05 + bpl IrqHandler_Loop76 ; CPU:$8D9F PRG:0D9F 10 05 lda #$0C ; CPU:$8DA1 PRG:0DA1 A9 0C sta $06CE ; CPU:$8DA3 PRG:0DA3 8D CE 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop51 -; Global: Branch target inside IrqHandler: taken when Loop51. +; Routine: IrqHandler_Loop76 +; Global: Branch target inside IrqHandler: taken when Loop76. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop51: +IrqHandler_Loop76: dec $06D1 ; CPU:$8DA6 PRG:0DA6 CE D1 06 - bpl IrqHandler_Loop52 ; CPU:$8DA9 PRG:0DA9 10 05 + bpl IrqHandler_Loop77 ; CPU:$8DA9 PRG:0DA9 10 05 lda #$18 ; CPU:$8DAB PRG:0DAB A9 18 sta $06D1 ; CPU:$8DAD PRG:0DAD 8D D1 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop52 -; Global: Branch target inside IrqHandler: taken when Loop52. +; Routine: IrqHandler_Loop77 +; Global: Branch target inside IrqHandler: taken when Loop77. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop52: +IrqHandler_Loop77: dec $06D2 ; CPU:$8DB0 PRG:0DB0 CE D2 06 - bpl IrqHandler_Loop53 ; CPU:$8DB3 PRG:0DB3 10 05 + bpl IrqHandler_Loop78 ; CPU:$8DB3 PRG:0DB3 10 05 lda #$20 ; CPU:$8DB5 PRG:0DB5 A9 20 sta $06D2 ; CPU:$8DB7 PRG:0DB7 8D D2 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop53 -; Global: Branch target inside IrqHandler: taken when Loop53. +; Routine: IrqHandler_Loop78 +; Global: Branch target inside IrqHandler: taken when Loop78. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop53: +IrqHandler_Loop78: dec $06CB ; CPU:$8DBA PRG:0DBA CE CB 06 - bpl IrqHandler_Loop54 ; CPU:$8DBD PRG:0DBD 10 05 + bpl IrqHandler_Loop79 ; CPU:$8DBD PRG:0DBD 10 05 lda #$04 ; CPU:$8DBF PRG:0DBF A9 04 sta $06CB ; CPU:$8DC1 PRG:0DC1 8D CB 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop54 -; Global: Branch target inside IrqHandler: taken when Loop54. +; Routine: IrqHandler_Loop79 +; Global: Branch target inside IrqHandler: taken when Loop79. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop54: +IrqHandler_Loop79: dec $06CC ; CPU:$8DC4 PRG:0DC4 CE CC 06 - bpl IrqHandler_Loop55 ; CPU:$8DC7 PRG:0DC7 10 05 + bpl IrqHandler_Loop80 ; CPU:$8DC7 PRG:0DC7 10 05 lda #$06 ; CPU:$8DC9 PRG:0DC9 A9 06 sta $06CC ; CPU:$8DCB PRG:0DCB 8D CC 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop55 -; Global: Branch target inside IrqHandler: taken when Loop55. +; Routine: IrqHandler_Loop80 +; Global: Branch target inside IrqHandler: taken when Loop80. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop55: +IrqHandler_Loop80: dec $06CA ; CPU:$8DCE PRG:0DCE CE CA 06 - bpl IrqHandler_Loop56 ; CPU:$8DD1 PRG:0DD1 10 05 + bpl IrqHandler_Loop81 ; CPU:$8DD1 PRG:0DD1 10 05 lda #$03 ; CPU:$8DD3 PRG:0DD3 A9 03 sta $06CA ; CPU:$8DD5 PRG:0DD5 8D CA 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop56 -; Global: Branch target inside IrqHandler: taken when Loop56. +; Routine: IrqHandler_Loop81 +; Global: Branch target inside IrqHandler: taken when Loop81. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop56: +IrqHandler_Loop81: lda $06CC ; CPU:$8DD8 PRG:0DD8 AD CC 06 cmp #$04 ; CPU:$8DDB PRG:0DDB C9 04 - bcs IrqHandler_Loop57 ; CPU:$8DDD PRG:0DDD B0 0A + bcs IrqHandler_Loop82 ; CPU:$8DDD PRG:0DDD B0 0A lda #$15 ; CPU:$8DDF PRG:0DDF A9 15 sta Zp5E ; CPU:$8DE1 PRG:0DE1 85 5E lda #$26 ; CPU:$8DE3 PRG:0DE3 A9 26 sta Zp5F ; CPU:$8DE5 PRG:0DE5 85 5F - bne IrqHandler_Loop59 ; CPU:$8DE7 PRG:0DE7 D0 16 + bne IrqHandler_Loop84 ; CPU:$8DE7 PRG:0DE7 D0 16 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop57 -; Global: Branch target inside IrqHandler: taken when Loop57. +; Routine: IrqHandler_Loop82 +; Global: Branch target inside IrqHandler: taken when Loop82. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop57: +IrqHandler_Loop82: cmp #$02 ; CPU:$8DE9 PRG:0DE9 C9 02 - bcs IrqHandler_Loop58 ; CPU:$8DEB PRG:0DEB B0 0A + bcs IrqHandler_Loop83 ; CPU:$8DEB PRG:0DEB B0 0A lda #$17 ; CPU:$8DED PRG:0DED A9 17 sta Zp5F ; CPU:$8DEF PRG:0DEF 85 5F lda #$27 ; CPU:$8DF1 PRG:0DF1 A9 27 sta Zp5E ; CPU:$8DF3 PRG:0DF3 85 5E - bne IrqHandler_Loop59 ; CPU:$8DF5 PRG:0DF5 D0 08 + bne IrqHandler_Loop84 ; CPU:$8DF5 PRG:0DF5 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop58 -; Global: Branch target inside IrqHandler: taken when Loop58. +; Routine: IrqHandler_Loop83 +; Global: Branch target inside IrqHandler: taken when Loop83. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop58: +IrqHandler_Loop83: lda #$30 ; CPU:$8DF7 PRG:0DF7 A9 30 sta Zp5F ; CPU:$8DF9 PRG:0DF9 85 5F lda #$30 ; CPU:$8DFB PRG:0DFB A9 30 sta Zp5E ; CPU:$8DFD PRG:0DFD 85 5E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop59 -; Global: Branch target inside IrqHandler: taken when Loop59. +; Routine: IrqHandler_Loop84 +; Global: Branch target inside IrqHandler: taken when Loop84. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop59: +IrqHandler_Loop84: rts ; CPU:$8DFF PRG:0DFF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8E00 @@ -2907,389 +3509,11 @@ IrqHandler_Loop59: ; ----------------------------------------------------------------------------- Sub_8E00: lda $07E9 ; CPU:$8E00 PRG:0E00 AD E9 07 - bne IrqHandler_Loop60 ; CPU:$8E03 PRG:0E03 D0 06 + bne IrqHandler_Loop85 ; CPU:$8E03 PRG:0E03 D0 06 lda #$00 ; CPU:$8E05 PRG:0E05 A9 00 sta Zp0C ; CPU:$8E07 PRG:0E07 85 0C sta Zp0D ; CPU:$8E09 PRG:0E09 85 0D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop60 -; Global: Branch target inside IrqHandler: taken when Loop60. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop60: - lda $0472 ; CPU:$8E0B PRG:0E0B AD 72 04 - beq IrqHandler_Loop62 ; CPU:$8E0E PRG:0E0E F0 2A - dec $0472 ; CPU:$8E10 PRG:0E10 CE 72 04 - bne IrqHandler_Loop61 ; CPU:$8E13 PRG:0E13 D0 20 - jsr Sub_8BC8 ; CPU:$8E15 PRG:0E15 20 C8 8B - lda #$00 ; CPU:$8E18 PRG:0E18 A9 00 - sta ZpA5 ; CPU:$8E1A PRG:0E1A 85 A5 - sta ZpA8 ; CPU:$8E1C PRG:0E1C 85 A8 - sta Zp0A ; CPU:$8E1E PRG:0E1E 85 0A -; ----------------------------------------------------------------------------- -; Routine: Label_8E20 -; Global: Branch target inside Label: taken when 8E20. -; Local: Part of Label. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Label_8E20: - sta ZpA6 ; CPU:$8E20 PRG:0E20 85 A6 - sta ZpA7 ; CPU:$8E22 PRG:0E22 85 A7 - lda #$01 ; CPU:$8E24 PRG:0E24 A9 01 - sta Zp9A ; CPU:$8E26 PRG:0E26 85 9A - sta Zp9B ; CPU:$8E28 PRG:0E28 85 9B - lda #$26 ; CPU:$8E2A PRG:0E2A A9 26 - sta ZpA9 ; CPU:$8E2C PRG:0E2C 85 A9 - jsr Sub_8C1C ; CPU:$8E2E PRG:0E2E 20 1C 8C - jsr Sub_B4BA ; CPU:$8E31 PRG:0E31 20 BA B4 - rts ; CPU:$8E34 PRG:0E34 60 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop61 -; Global: Branch target inside IrqHandler: taken when Loop61. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop61: - lda #$00 ; CPU:$8E35 PRG:0E35 A9 00 - sta Zp9A ; CPU:$8E37 PRG:0E37 85 9A - rts ; CPU:$8E39 PRG:0E39 60 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop62 -; Global: Branch target inside IrqHandler: taken when Loop62. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop62: - jsr Sub_8D6F ; CPU:$8E3A PRG:0E3A 20 6F 8D - lda Zp7E ; CPU:$8E3D PRG:0E3D A5 7E - beq IrqHandler_Loop63 ; CPU:$8E3F PRG:0E3F F0 06 - lda Zp1F ; CPU:$8E41 PRG:0E41 A5 1F - and #$30 ; CPU:$8E43 PRG:0E43 29 30 - sta Zp1F ; CPU:$8E45 PRG:0E45 85 1F -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop63 -; Global: Branch target inside IrqHandler: taken when Loop63. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop63: - lda Zp7E ; CPU:$8E47 PRG:0E47 A5 7E - beq IrqHandler_Loop64 ; CPU:$8E49 PRG:0E49 F0 03 - jmp Sub_8A48 ; CPU:$8E4B PRG:0E4B 4C 48 8A -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop64 -; Global: Branch target inside IrqHandler: taken when Loop64. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop64: - lda Zp05 ; CPU:$8E4E PRG:0E4E A5 05 - beq IrqHandler_Loop65 ; CPU:$8E50 PRG:0E50 F0 0B - lda #$00 ; CPU:$8E52 PRG:0E52 A9 00 - sta $050F ; CPU:$8E54 PRG:0E54 8D 0F 05 - sta $0510 ; CPU:$8E57 PRG:0E57 8D 10 05 - sta $0511 ; CPU:$8E5A PRG:0E5A 8D 11 05 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop65 -; Global: Branch target inside IrqHandler: taken when Loop65. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop65: - lda $07E9 ; CPU:$8E5D PRG:0E5D AD E9 07 - beq IrqHandler_Loop69 ; CPU:$8E60 PRG:0E60 F0 37 - lda $06CC ; CPU:$8E62 PRG:0E62 AD CC 06 - cmp #$03 ; CPU:$8E65 PRG:0E65 C9 03 - beq IrqHandler_Loop67 ; CPU:$8E67 PRG:0E67 F0 11 - cmp #$04 ; CPU:$8E69 PRG:0E69 C9 04 - bcc IrqHandler_Loop66 ; CPU:$8E6B PRG:0E6B 90 08 - inc Zp0C ; CPU:$8E6D PRG:0E6D E6 0C - inc $0501 ; CPU:$8E6F PRG:0E6F EE 01 05 - jmp IrqHandler_Loop67 ; CPU:$8E72 PRG:0E72 4C 7A 8E -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop66 -; Global: Branch target inside IrqHandler: taken when Loop66. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop66: - dec Zp0C ; CPU:$8E75 PRG:0E75 C6 0C - dec $0501 ; CPU:$8E77 PRG:0E77 CE 01 05 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop67 -; Global: Branch target inside IrqHandler: taken when Loop67. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop67: - lda $0502 ; CPU:$8E7A PRG:0E7A AD 02 05 - cmp #$C8 ; CPU:$8E7D PRG:0E7D C9 C8 - bcs IrqHandler_Loop68 ; CPU:$8E7F PRG:0E7F B0 03 - inc $0502 ; CPU:$8E81 PRG:0E81 EE 02 05 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop68 -; Global: Branch target inside IrqHandler: taken when Loop68. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop68: - inc $07E9 ; CPU:$8E84 PRG:0E84 EE E9 07 - lda $07E9 ; CPU:$8E87 PRG:0E87 AD E9 07 - cmp #$97 ; CPU:$8E8A PRG:0E8A C9 97 - bne IrqHandler_Loop69 ; CPU:$8E8C PRG:0E8C D0 0B - lda #$00 ; CPU:$8E8E PRG:0E8E A9 00 - sta Zp52 ; CPU:$8E90 PRG:0E90 85 52 - sta Zp9A ; CPU:$8E92 PRG:0E92 85 9A - lda $0517 ; CPU:$8E94 PRG:0E94 AD 17 05 - dec Zp32 ; CPU:$8E97 PRG:0E97 C6 32 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop69 -; Global: Branch target inside IrqHandler: taken when Loop69. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop69: - lda Zp65 ; CPU:$8E99 PRG:0E99 A5 65 - cmp #$30 ; CPU:$8E9B PRG:0E9B C9 30 - beq IrqHandler_Loop70 ; CPU:$8E9D PRG:0E9D F0 05 - lda $07EC ; CPU:$8E9F PRG:0E9F AD EC 07 - beq IrqHandler_Loop71 ; CPU:$8EA2 PRG:0EA2 F0 03 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop70 -; Global: Branch target inside IrqHandler: taken when Loop70. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop70: - jsr Sub_DC8B ; CPU:$8EA4 PRG:0EA4 20 8B DC -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop71 -; Global: Branch target inside IrqHandler: taken when Loop71. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop71: - lda $0628 ; CPU:$8EA7 PRG:0EA7 AD 28 06 - beq IrqHandler_Loop72 ; CPU:$8EAA PRG:0EAA F0 0C - lda Zp54 ; CPU:$8EAC PRG:0EAC A5 54 - and #$03 ; CPU:$8EAE PRG:0EAE 29 03 - bne IrqHandler_Loop73 ; CPU:$8EB0 PRG:0EB0 D0 0A - dec $0628 ; CPU:$8EB2 PRG:0EB2 CE 28 06 - jmp IrqHandler_Loop73 ; CPU:$8EB5 PRG:0EB5 4C BC 8E -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop72 -; Global: Branch target inside IrqHandler: taken when Loop72. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop72: - lda #$01 ; CPU:$8EB8 PRG:0EB8 A9 01 - sta Zp9A ; CPU:$8EBA PRG:0EBA 85 9A -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop73 -; Global: Branch target inside IrqHandler: taken when Loop73. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop73: - jsr Sub_8D7E ; CPU:$8EBC PRG:0EBC 20 7E 8D - inc $07B4 ; CPU:$8EBF PRG:0EBF EE B4 07 - jsr Sub_A170 ; CPU:$8EC2 PRG:0EC2 20 70 A1 - jsr Sub_9BE0 ; CPU:$8EC5 PRG:0EC5 20 E0 9B - jsr Sub_9FDB ; CPU:$8EC8 PRG:0EC8 20 DB 9F - lda $0502 ; CPU:$8ECB PRG:0ECB AD 02 05 - cmp #$2E ; CPU:$8ECE PRG:0ECE C9 2E - beq IrqHandler_Loop74 ; CPU:$8ED0 PRG:0ED0 F0 0F - cmp #$2D ; CPU:$8ED2 PRG:0ED2 C9 2D - beq IrqHandler_Loop74 ; CPU:$8ED4 PRG:0ED4 F0 0B - cmp #$2C ; CPU:$8ED6 PRG:0ED6 C9 2C - beq IrqHandler_Loop74 ; CPU:$8ED8 PRG:0ED8 F0 07 - lda #$00 ; CPU:$8EDA PRG:0EDA A9 00 - sta $0512 ; CPU:$8EDC PRG:0EDC 8D 12 05 - beq IrqHandler_Loop75 ; CPU:$8EDF PRG:0EDF F0 05 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop74 -; Global: Branch target inside IrqHandler: taken when Loop74. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop74: - lda #$01 ; CPU:$8EE1 PRG:0EE1 A9 01 - sta $0512 ; CPU:$8EE3 PRG:0EE3 8D 12 05 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop75 -; Global: Branch target inside IrqHandler: taken when Loop75. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop75: - jsr Sub_90B0 ; CPU:$8EE6 PRG:0EE6 20 B0 90 - jsr Sub_94A1 ; CPU:$8EE9 PRG:0EE9 20 A1 94 - lda $05B1 ; CPU:$8EEC PRG:0EEC AD B1 05 - beq IrqHandler_Loop76 ; CPU:$8EEF PRG:0EEF F0 03 - jsr Sub_9C1A ; CPU:$8EF1 PRG:0EF1 20 1A 9C -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop76 -; Global: Branch target inside IrqHandler: taken when Loop76. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop76: - lda $07E7 ; CPU:$8EF4 PRG:0EF4 AD E7 07 - beq IrqHandler_Loop77 ; CPU:$8EF7 PRG:0EF7 F0 03 - jsr Sub_9F1D ; CPU:$8EF9 PRG:0EF9 20 1D 9F -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop77 -; Global: Branch target inside IrqHandler: taken when Loop77. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop77: - jsr Sub_972A ; CPU:$8EFC PRG:0EFC 20 2A 97 - lda $057D ; CPU:$8EFF PRG:0EFF AD 7D 05 - beq IrqHandler_Loop78 ; CPU:$8F02 PRG:0F02 F0 03 - jsr Sub_9640 ; CPU:$8F04 PRG:0F04 20 40 96 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop78 -; Global: Branch target inside IrqHandler: taken when Loop78. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop78: - jsr Sub_99B7 ; CPU:$8F07 PRG:0F07 20 B7 99 - lda $0633 ; CPU:$8F0A PRG:0F0A AD 33 06 - beq IrqHandler_Loop79 ; CPU:$8F0D PRG:0F0D F0 03 - jsr Sub_F82D ; CPU:$8F0F PRG:0F0F 20 2D F8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop79 -; Global: Branch target inside IrqHandler: taken when Loop79. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop79: - jsr Sub_FCD0 ; CPU:$8F12 PRG:0F12 20 D0 FC - jsr Sub_FE58 ; CPU:$8F15 PRG:0F15 20 58 FE - jsr Sub_9553 ; CPU:$8F18 PRG:0F18 20 53 95 - lda $0639 ; CPU:$8F1B PRG:0F1B AD 39 06 - beq IrqHandler_Loop80 ; CPU:$8F1E PRG:0F1E F0 03 - jsr Sub_F5EF ; CPU:$8F20 PRG:0F20 20 EF F5 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop80 -; Global: Branch target inside IrqHandler: taken when Loop80. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop80: - lda $0634 ; CPU:$8F23 PRG:0F23 AD 34 06 - beq IrqHandler_Loop81 ; CPU:$8F26 PRG:0F26 F0 0E - lda Zp54 ; CPU:$8F28 PRG:0F28 A5 54 - and #$03 ; CPU:$8F2A PRG:0F2A 29 03 - bne IrqHandler_Loop81 ; CPU:$8F2C PRG:0F2C D0 08 - dec $0634 ; CPU:$8F2E PRG:0F2E CE 34 06 - bne IrqHandler_Loop81 ; CPU:$8F31 PRG:0F31 D0 03 - jsr Sub_F80D ; CPU:$8F33 PRG:0F33 20 0D F8 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop81 -; Global: Branch target inside IrqHandler: taken when Loop81. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop81: - lda Zp54 ; CPU:$8F36 PRG:0F36 A5 54 - bne IrqHandler_Loop82 ; CPU:$8F38 PRG:0F38 D0 03 - jsr Sub_A0DE ; CPU:$8F3A PRG:0F3A 20 DE A0 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop82 -; Global: Branch target inside IrqHandler: taken when Loop82. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop82: - lda Zp55 ; CPU:$8F3D PRG:0F3D A5 55 - asl a ; CPU:$8F3F PRG:0F3F 0A - bcc IrqHandler_Loop88 ; CPU:$8F40 PRG:0F40 90 40 - lda $07E9 ; CPU:$8F42 PRG:0F42 AD E9 07 - bne IrqHandler_Loop88 ; CPU:$8F45 PRG:0F45 D0 3B - lda Zp1F ; CPU:$8F47 PRG:0F47 A5 1F - and #$01 ; CPU:$8F49 PRG:0F49 29 01 - beq IrqHandler_Loop83 ; CPU:$8F4B PRG:0F4B F0 03 - jsr Sub_945A ; CPU:$8F4D PRG:0F4D 20 5A 94 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop83 -; Global: Branch target inside IrqHandler: taken when Loop83. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop83: - lda Zp1F ; CPU:$8F50 PRG:0F50 A5 1F - and #$02 ; CPU:$8F52 PRG:0F52 29 02 - beq IrqHandler_Loop84 ; CPU:$8F54 PRG:0F54 F0 03 - jsr Sub_943F ; CPU:$8F56 PRG:0F56 20 3F 94 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop84 -; Global: Branch target inside IrqHandler: taken when Loop84. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop84: - lda Zp1F ; CPU:$8F59 PRG:0F59 A5 1F - and #$04 ; CPU:$8F5B PRG:0F5B 29 04 - beq IrqHandler_Loop85 ; CPU:$8F5D PRG:0F5D F0 03 - jsr Sub_948B ; CPU:$8F5F PRG:0F5F 20 8B 94 -; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop85 ; Global: Branch target inside IrqHandler: taken when Loop85. ; Local: Part of IrqHandler. @@ -3298,10 +3522,25 @@ IrqHandler_Loop84: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop85: - lda Zp1F ; CPU:$8F62 PRG:0F62 A5 1F - and #$08 ; CPU:$8F64 PRG:0F64 29 08 - beq IrqHandler_Loop86 ; CPU:$8F66 PRG:0F66 F0 03 - jsr Sub_9475 ; CPU:$8F68 PRG:0F68 20 75 94 + lda $0472 ; CPU:$8E0B PRG:0E0B AD 72 04 + beq IrqHandler_Loop87 ; CPU:$8E0E PRG:0E0E F0 2A + dec $0472 ; CPU:$8E10 PRG:0E10 CE 72 04 + bne IrqHandler_Loop86 ; CPU:$8E13 PRG:0E13 D0 20 + jsr Sub_8BC8 ; CPU:$8E15 PRG:0E15 20 C8 8B + lda #$00 ; CPU:$8E18 PRG:0E18 A9 00 + sta ZpA5 ; CPU:$8E1A PRG:0E1A 85 A5 + sta ZpA8 ; CPU:$8E1C PRG:0E1C 85 A8 + sta Zp0A ; CPU:$8E1E PRG:0E1E 85 0A + sta ZpA6 ; CPU:$8E20 PRG:0E20 85 A6 + sta ZpA7 ; CPU:$8E22 PRG:0E22 85 A7 + lda #$01 ; CPU:$8E24 PRG:0E24 A9 01 + sta GameState ; CPU:$8E26 PRG:0E26 85 9A + sta Zp9B ; CPU:$8E28 PRG:0E28 85 9B + lda #$26 ; CPU:$8E2A PRG:0E2A A9 26 + sta ZpA9 ; CPU:$8E2C PRG:0E2C 85 A9 + jsr Sub_8C1C ; CPU:$8E2E PRG:0E2E 20 1C 8C + jsr Sub_B4BA ; CPU:$8E31 PRG:0E31 20 BA B4 + rts ; CPU:$8E34 PRG:0E34 60 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop86 ; Global: Branch target inside IrqHandler: taken when Loop86. @@ -3311,10 +3550,9 @@ IrqHandler_Loop85: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop86: - lda Zp21 ; CPU:$8F6B PRG:0F6B A5 21 - and #$80 ; CPU:$8F6D PRG:0F6D 29 80 - beq IrqHandler_Loop87 ; CPU:$8F6F PRG:0F6F F0 03 - jsr Sub_969D ; CPU:$8F71 PRG:0F71 20 9D 96 + lda #$00 ; CPU:$8E35 PRG:0E35 A9 00 + sta GameState ; CPU:$8E37 PRG:0E37 85 9A + rts ; CPU:$8E39 PRG:0E39 60 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop87 ; Global: Branch target inside IrqHandler: taken when Loop87. @@ -3324,12 +3562,12 @@ IrqHandler_Loop86: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop87: - lda Zp21 ; CPU:$8F74 PRG:0F74 A5 21 - and #$40 ; CPU:$8F76 PRG:0F76 29 40 - beq IrqHandler_Loop88 ; CPU:$8F78 PRG:0F78 F0 08 - lda $0512 ; CPU:$8F7A PRG:0F7A AD 12 05 - bne IrqHandler_Loop88 ; CPU:$8F7D PRG:0F7D D0 03 - jsr Sub_9617 ; CPU:$8F7F PRG:0F7F 20 17 96 + jsr Sub_8D6F ; CPU:$8E3A PRG:0E3A 20 6F 8D + lda Zp7E ; CPU:$8E3D PRG:0E3D A5 7E + beq IrqHandler_Loop88 ; CPU:$8E3F PRG:0E3F F0 06 + lda Zp1F ; CPU:$8E41 PRG:0E41 A5 1F + and #$30 ; CPU:$8E43 PRG:0E43 29 30 + sta Zp1F ; CPU:$8E45 PRG:0E45 85 1F ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop88 ; Global: Branch target inside IrqHandler: taken when Loop88. @@ -3339,9 +3577,9 @@ IrqHandler_Loop87: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop88: - lda Zp21 ; CPU:$8F82 PRG:0F82 A5 21 - and #$20 ; CPU:$8F84 PRG:0F84 29 20 - beq IrqHandler_Loop89 ; CPU:$8F86 PRG:0F86 F0 00 + lda Zp7E ; CPU:$8E47 PRG:0E47 A5 7E + beq IrqHandler_Loop89 ; CPU:$8E49 PRG:0E49 F0 03 + jmp Sub_8A48 ; CPU:$8E4B PRG:0E4B 4C 48 8A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop89 ; Global: Branch target inside IrqHandler: taken when Loop89. @@ -3351,6 +3589,361 @@ IrqHandler_Loop88: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop89: + lda Zp05 ; CPU:$8E4E PRG:0E4E A5 05 + beq IrqHandler_Loop90 ; CPU:$8E50 PRG:0E50 F0 0B + lda #$00 ; CPU:$8E52 PRG:0E52 A9 00 + sta $050F ; CPU:$8E54 PRG:0E54 8D 0F 05 + sta $0510 ; CPU:$8E57 PRG:0E57 8D 10 05 + sta $0511 ; CPU:$8E5A PRG:0E5A 8D 11 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop90 +; Global: Branch target inside IrqHandler: taken when Loop90. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop90: + lda $07E9 ; CPU:$8E5D PRG:0E5D AD E9 07 + beq IrqHandler_Loop94 ; CPU:$8E60 PRG:0E60 F0 37 + lda $06CC ; CPU:$8E62 PRG:0E62 AD CC 06 + cmp #$03 ; CPU:$8E65 PRG:0E65 C9 03 + beq IrqHandler_Loop92 ; CPU:$8E67 PRG:0E67 F0 11 + cmp #$04 ; CPU:$8E69 PRG:0E69 C9 04 + bcc IrqHandler_Loop91 ; CPU:$8E6B PRG:0E6B 90 08 + inc Zp0C ; CPU:$8E6D PRG:0E6D E6 0C + inc $0501 ; CPU:$8E6F PRG:0E6F EE 01 05 + jmp IrqHandler_Loop92 ; CPU:$8E72 PRG:0E72 4C 7A 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop91 +; Global: Branch target inside IrqHandler: taken when Loop91. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop91: + dec Zp0C ; CPU:$8E75 PRG:0E75 C6 0C + dec $0501 ; CPU:$8E77 PRG:0E77 CE 01 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop92 +; Global: Branch target inside IrqHandler: taken when Loop92. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop92: + lda $0502 ; CPU:$8E7A PRG:0E7A AD 02 05 + cmp #$C8 ; CPU:$8E7D PRG:0E7D C9 C8 + bcs IrqHandler_Loop93 ; CPU:$8E7F PRG:0E7F B0 03 + inc $0502 ; CPU:$8E81 PRG:0E81 EE 02 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop93 +; Global: Branch target inside IrqHandler: taken when Loop93. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop93: + inc $07E9 ; CPU:$8E84 PRG:0E84 EE E9 07 + lda $07E9 ; CPU:$8E87 PRG:0E87 AD E9 07 + cmp #$97 ; CPU:$8E8A PRG:0E8A C9 97 + bne IrqHandler_Loop94 ; CPU:$8E8C PRG:0E8C D0 0B + lda #$00 ; CPU:$8E8E PRG:0E8E A9 00 + sta Zp52 ; CPU:$8E90 PRG:0E90 85 52 + sta GameState ; CPU:$8E92 PRG:0E92 85 9A + lda $0517 ; CPU:$8E94 PRG:0E94 AD 17 05 + dec Zp32 ; CPU:$8E97 PRG:0E97 C6 32 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop94 +; Global: Branch target inside IrqHandler: taken when Loop94. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop94: + lda Zp65 ; CPU:$8E99 PRG:0E99 A5 65 + cmp #$30 ; CPU:$8E9B PRG:0E9B C9 30 + beq IrqHandler_Loop95 ; CPU:$8E9D PRG:0E9D F0 05 + lda $07EC ; CPU:$8E9F PRG:0E9F AD EC 07 + beq IrqHandler_Loop96 ; CPU:$8EA2 PRG:0EA2 F0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop95 +; Global: Branch target inside IrqHandler: taken when Loop95. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop95: + jsr Sub_DC8B ; CPU:$8EA4 PRG:0EA4 20 8B DC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop96 +; Global: Branch target inside IrqHandler: taken when Loop96. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop96: + lda $0628 ; CPU:$8EA7 PRG:0EA7 AD 28 06 + beq IrqHandler_Loop97 ; CPU:$8EAA PRG:0EAA F0 0C + lda FrameCounter ; CPU:$8EAC PRG:0EAC A5 54 + and #$03 ; CPU:$8EAE PRG:0EAE 29 03 + bne IrqHandler_Loop98 ; CPU:$8EB0 PRG:0EB0 D0 0A + dec $0628 ; CPU:$8EB2 PRG:0EB2 CE 28 06 + jmp IrqHandler_Loop98 ; CPU:$8EB5 PRG:0EB5 4C BC 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop97 +; Global: Branch target inside IrqHandler: taken when Loop97. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop97: + lda #$01 ; CPU:$8EB8 PRG:0EB8 A9 01 + sta GameState ; CPU:$8EBA PRG:0EBA 85 9A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop98 +; Global: Branch target inside IrqHandler: taken when Loop98. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop98: + jsr Sub_8D7E ; CPU:$8EBC PRG:0EBC 20 7E 8D + inc $07B4 ; CPU:$8EBF PRG:0EBF EE B4 07 + jsr Sub_A170 ; CPU:$8EC2 PRG:0EC2 20 70 A1 + jsr Sub_9BE0 ; CPU:$8EC5 PRG:0EC5 20 E0 9B + jsr Sub_9FDB ; CPU:$8EC8 PRG:0EC8 20 DB 9F + lda $0502 ; CPU:$8ECB PRG:0ECB AD 02 05 + cmp #$2E ; CPU:$8ECE PRG:0ECE C9 2E + beq IrqHandler_Loop99 ; CPU:$8ED0 PRG:0ED0 F0 0F + cmp #$2D ; CPU:$8ED2 PRG:0ED2 C9 2D + beq IrqHandler_Loop99 ; CPU:$8ED4 PRG:0ED4 F0 0B + cmp #$2C ; CPU:$8ED6 PRG:0ED6 C9 2C + beq IrqHandler_Loop99 ; CPU:$8ED8 PRG:0ED8 F0 07 + lda #$00 ; CPU:$8EDA PRG:0EDA A9 00 + sta $0512 ; CPU:$8EDC PRG:0EDC 8D 12 05 + beq IrqHandler_Loop100 ; CPU:$8EDF PRG:0EDF F0 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop99 +; Global: Branch target inside IrqHandler: taken when Loop99. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop99: + lda #$01 ; CPU:$8EE1 PRG:0EE1 A9 01 + sta $0512 ; CPU:$8EE3 PRG:0EE3 8D 12 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop100 +; Global: Branch target inside IrqHandler: taken when Loop100. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop100: + jsr Sub_90B0 ; CPU:$8EE6 PRG:0EE6 20 B0 90 + jsr Sub_94A1 ; CPU:$8EE9 PRG:0EE9 20 A1 94 + lda $05B1 ; CPU:$8EEC PRG:0EEC AD B1 05 + beq IrqHandler_Loop101 ; CPU:$8EEF PRG:0EEF F0 03 + jsr Sub_9C1A ; CPU:$8EF1 PRG:0EF1 20 1A 9C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop101 +; Global: Branch target inside IrqHandler: taken when Loop101. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop101: + lda $07E7 ; CPU:$8EF4 PRG:0EF4 AD E7 07 + beq IrqHandler_Loop102 ; CPU:$8EF7 PRG:0EF7 F0 03 + jsr Sub_9F1D ; CPU:$8EF9 PRG:0EF9 20 1D 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop102 +; Global: Branch target inside IrqHandler: taken when Loop102. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop102: + jsr Sub_972A ; CPU:$8EFC PRG:0EFC 20 2A 97 + lda $057D ; CPU:$8EFF PRG:0EFF AD 7D 05 + beq IrqHandler_Loop103 ; CPU:$8F02 PRG:0F02 F0 03 + jsr Sub_9640 ; CPU:$8F04 PRG:0F04 20 40 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop103 +; Global: Branch target inside IrqHandler: taken when Loop103. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop103: + jsr Sub_99B7 ; CPU:$8F07 PRG:0F07 20 B7 99 + lda $0633 ; CPU:$8F0A PRG:0F0A AD 33 06 + beq IrqHandler_Loop104 ; CPU:$8F0D PRG:0F0D F0 03 + jsr Sub_F82D ; CPU:$8F0F PRG:0F0F 20 2D F8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop104 +; Global: Branch target inside IrqHandler: taken when Loop104. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop104: + jsr Sub_FCD0 ; CPU:$8F12 PRG:0F12 20 D0 FC + jsr Sub_FE58 ; CPU:$8F15 PRG:0F15 20 58 FE + jsr Sub_9553 ; CPU:$8F18 PRG:0F18 20 53 95 + lda $0639 ; CPU:$8F1B PRG:0F1B AD 39 06 + beq IrqHandler_Loop105 ; CPU:$8F1E PRG:0F1E F0 03 + jsr Sub_F5EF ; CPU:$8F20 PRG:0F20 20 EF F5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop105 +; Global: Branch target inside IrqHandler: taken when Loop105. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop105: + lda $0634 ; CPU:$8F23 PRG:0F23 AD 34 06 + beq IrqHandler_Loop106 ; CPU:$8F26 PRG:0F26 F0 0E + lda FrameCounter ; CPU:$8F28 PRG:0F28 A5 54 + and #$03 ; CPU:$8F2A PRG:0F2A 29 03 + bne IrqHandler_Loop106 ; CPU:$8F2C PRG:0F2C D0 08 + dec $0634 ; CPU:$8F2E PRG:0F2E CE 34 06 + bne IrqHandler_Loop106 ; CPU:$8F31 PRG:0F31 D0 03 + jsr Sub_F80D ; CPU:$8F33 PRG:0F33 20 0D F8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop106 +; Global: Branch target inside IrqHandler: taken when Loop106. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop106: + lda FrameCounter ; CPU:$8F36 PRG:0F36 A5 54 + bne IrqHandler_Loop107 ; CPU:$8F38 PRG:0F38 D0 03 + jsr Sub_A0DE ; CPU:$8F3A PRG:0F3A 20 DE A0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop107 +; Global: Branch target inside IrqHandler: taken when Loop107. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop107: + lda Zp55 ; CPU:$8F3D PRG:0F3D A5 55 + asl a ; CPU:$8F3F PRG:0F3F 0A + bcc IrqHandler_Loop113 ; CPU:$8F40 PRG:0F40 90 40 + lda $07E9 ; CPU:$8F42 PRG:0F42 AD E9 07 + bne IrqHandler_Loop113 ; CPU:$8F45 PRG:0F45 D0 3B + lda Zp1F ; CPU:$8F47 PRG:0F47 A5 1F + and #$01 ; CPU:$8F49 PRG:0F49 29 01 + beq IrqHandler_Loop108 ; CPU:$8F4B PRG:0F4B F0 03 + jsr Sub_945A ; CPU:$8F4D PRG:0F4D 20 5A 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop108 +; Global: Branch target inside IrqHandler: taken when Loop108. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop108: + lda Zp1F ; CPU:$8F50 PRG:0F50 A5 1F + and #$02 ; CPU:$8F52 PRG:0F52 29 02 + beq IrqHandler_Loop109 ; CPU:$8F54 PRG:0F54 F0 03 + jsr Sub_943F ; CPU:$8F56 PRG:0F56 20 3F 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop109 +; Global: Branch target inside IrqHandler: taken when Loop109. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop109: + lda Zp1F ; CPU:$8F59 PRG:0F59 A5 1F + and #$04 ; CPU:$8F5B PRG:0F5B 29 04 + beq IrqHandler_Loop110 ; CPU:$8F5D PRG:0F5D F0 03 + jsr Sub_948B ; CPU:$8F5F PRG:0F5F 20 8B 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop110 +; Global: Branch target inside IrqHandler: taken when Loop110. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop110: + lda Zp1F ; CPU:$8F62 PRG:0F62 A5 1F + and #$08 ; CPU:$8F64 PRG:0F64 29 08 + beq IrqHandler_Loop111 ; CPU:$8F66 PRG:0F66 F0 03 + jsr Sub_9475 ; CPU:$8F68 PRG:0F68 20 75 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop111 +; Global: Branch target inside IrqHandler: taken when Loop111. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop111: + lda Zp21 ; CPU:$8F6B PRG:0F6B A5 21 + and #$80 ; CPU:$8F6D PRG:0F6D 29 80 + beq IrqHandler_Loop112 ; CPU:$8F6F PRG:0F6F F0 03 + jsr Sub_969D ; CPU:$8F71 PRG:0F71 20 9D 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop112 +; Global: Branch target inside IrqHandler: taken when Loop112. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop112: + lda Zp21 ; CPU:$8F74 PRG:0F74 A5 21 + and #$40 ; CPU:$8F76 PRG:0F76 29 40 + beq IrqHandler_Loop113 ; CPU:$8F78 PRG:0F78 F0 08 + lda $0512 ; CPU:$8F7A PRG:0F7A AD 12 05 + bne IrqHandler_Loop113 ; CPU:$8F7D PRG:0F7D D0 03 + jsr Sub_9617 ; CPU:$8F7F PRG:0F7F 20 17 96 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop113 +; Global: Branch target inside IrqHandler: taken when Loop113. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop113: + lda Zp21 ; CPU:$8F82 PRG:0F82 A5 21 + and #$20 ; CPU:$8F84 PRG:0F84 29 20 + beq IrqHandler_Loop114 ; CPU:$8F86 PRG:0F86 F0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop114 +; Global: Branch target inside IrqHandler: taken when Loop114. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop114: ldx #$38 ; CPU:$8F88 PRG:0F88 A2 38 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative2 @@ -3362,103 +3955,103 @@ IrqHandler_Loop89: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative2: lda $0427,x ; CPU:$8F8A PRG:0F8A BD 27 04 - beq IrqHandler_Loop90 ; CPU:$8F8D PRG:0F8D F0 1A + beq IrqHandler_Loop115 ; CPU:$8F8D PRG:0F8D F0 1A lda $0421,x ; CPU:$8F8F PRG:0F8F BD 21 04 sec ; CPU:$8F92 PRG:0F92 38 sbc #$01 ; CPU:$8F93 PRG:0F93 E9 01 - sta Zp19 ; CPU:$8F95 PRG:0F95 85 19 + sta PlayerXHigh ; CPU:$8F95 PRG:0F95 85 19 lda $0422,x ; CPU:$8F97 PRG:0F97 BD 22 04 - sta Zp1C ; CPU:$8F9A PRG:0F9A 85 1C + sta PlayerYHigh ; CPU:$8F9A PRG:0F9A 85 1C lda $0423,x ; CPU:$8F9C PRG:0F9C BD 23 04 - sta Zp1A ; CPU:$8F9F PRG:0F9F 85 1A + sta PlayerXLow ; CPU:$8F9F PRG:0F9F 85 1A lda $0424,x ; CPU:$8FA1 PRG:0FA1 BD 24 04 - sta Zp1B ; CPU:$8FA4 PRG:0FA4 85 1B + sta PlayerYLow ; CPU:$8FA4 PRG:0FA4 85 1B jsr Sub_8221 ; CPU:$8FA6 PRG:0FA6 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop90 -; Global: Branch target inside IrqHandler: taken when Loop90. +; Routine: IrqHandler_Loop115 +; Global: Branch target inside IrqHandler: taken when Loop115. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop90: +IrqHandler_Loop115: txa ; CPU:$8FA9 PRG:0FA9 8A sec ; CPU:$8FAA PRG:0FAA 38 sbc #$08 ; CPU:$8FAB PRG:0FAB E9 08 tax ; CPU:$8FAD PRG:0FAD AA bpl IrqHandler_OnNonnegative2 ; CPU:$8FAE PRG:0FAE 10 DA lda $07E0 ; CPU:$8FB0 PRG:0FB0 AD E0 07 - beq IrqHandler_Loop91 ; CPU:$8FB3 PRG:0FB3 F0 27 + beq IrqHandler_Loop116 ; CPU:$8FB3 PRG:0FB3 F0 27 lda $07E9 ; CPU:$8FB5 PRG:0FB5 AD E9 07 - bne IrqHandler_Loop91 ; CPU:$8FB8 PRG:0FB8 D0 22 + bne IrqHandler_Loop116 ; CPU:$8FB8 PRG:0FB8 D0 22 dec $07E0 ; CPU:$8FBA PRG:0FBA CE E0 07 lda $05A7 ; CPU:$8FBD PRG:0FBD AD A7 05 clc ; CPU:$8FC0 PRG:0FC0 18 adc #$30 ; CPU:$8FC1 PRG:0FC1 69 30 - sta Zp1A ; CPU:$8FC3 PRG:0FC3 85 1A + sta PlayerXLow ; CPU:$8FC3 PRG:0FC3 85 1A lda $0502 ; CPU:$8FC5 PRG:0FC5 AD 02 05 sec ; CPU:$8FC8 PRG:0FC8 38 sbc #$10 ; CPU:$8FC9 PRG:0FC9 E9 10 - sta Zp19 ; CPU:$8FCB PRG:0FCB 85 19 + sta PlayerXHigh ; CPU:$8FCB PRG:0FCB 85 19 lda $0501 ; CPU:$8FCD PRG:0FCD AD 01 05 sec ; CPU:$8FD0 PRG:0FD0 38 sbc #$08 ; CPU:$8FD1 PRG:0FD1 E9 08 - sta Zp1C ; CPU:$8FD3 PRG:0FD3 85 1C + sta PlayerYHigh ; CPU:$8FD3 PRG:0FD3 85 1C lda #$02 ; CPU:$8FD5 PRG:0FD5 A9 02 - sta Zp1B ; CPU:$8FD7 PRG:0FD7 85 1B + sta PlayerYLow ; CPU:$8FD7 PRG:0FD7 85 1B jsr Sub_8221 ; CPU:$8FD9 PRG:0FD9 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop91 -; Global: Branch target inside IrqHandler: taken when Loop91. +; Routine: IrqHandler_Loop116 +; Global: Branch target inside IrqHandler: taken when Loop116. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop91: +IrqHandler_Loop116: jsr Sub_B528 ; CPU:$8FDC PRG:0FDC 20 28 B5 lda $0511 ; CPU:$8FDF PRG:0FDF AD 11 05 - beq IrqHandler_Loop92 ; CPU:$8FE2 PRG:0FE2 F0 07 + beq IrqHandler_Loop117 ; CPU:$8FE2 PRG:0FE2 F0 07 lda $06D0 ; CPU:$8FE4 PRG:0FE4 AD D0 06 cmp #$08 ; CPU:$8FE7 PRG:0FE7 C9 08 - bcs IrqHandler_Loop93 ; CPU:$8FE9 PRG:0FE9 B0 26 + bcs IrqHandler_Loop118 ; CPU:$8FE9 PRG:0FE9 B0 26 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop92 -; Global: Branch target inside IrqHandler: taken when Loop92. +; Routine: IrqHandler_Loop117 +; Global: Branch target inside IrqHandler: taken when Loop117. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop92: +IrqHandler_Loop117: lda #$10 ; CPU:$8FEB PRG:0FEB A9 10 - sta Zp1C ; CPU:$8FED PRG:0FED 85 1C + sta PlayerYHigh ; CPU:$8FED PRG:0FED 85 1C lda #$D8 ; CPU:$8FEF PRG:0FEF A9 D8 - sta Zp19 ; CPU:$8FF1 PRG:0FF1 85 19 + sta PlayerXHigh ; CPU:$8FF1 PRG:0FF1 85 19 lda #$84 ; CPU:$8FF3 PRG:0FF3 A9 84 - sta Zp46 ; CPU:$8FF5 PRG:0FF5 85 46 + sta VramWritePtrLo ; CPU:$8FF5 PRG:0FF5 85 46 lda #$DE ; CPU:$8FF7 PRG:0FF7 A9 DE - sta Zp47 ; CPU:$8FF9 PRG:0FF9 85 47 + sta VramWritePtrHi ; CPU:$8FF9 PRG:0FF9 85 47 jsr Sub_8AD8 ; CPU:$8FFB PRG:0FFB 20 D8 8A lda #$38 ; CPU:$8FFE PRG:0FFE A9 38 - sta Zp1C ; CPU:$9000 PRG:1000 85 1C + sta PlayerYHigh ; CPU:$9000 PRG:1000 85 1C lda #$D8 ; CPU:$9002 PRG:1002 A9 D8 - sta Zp19 ; CPU:$9004 PRG:1004 85 19 + sta PlayerXHigh ; CPU:$9004 PRG:1004 85 19 lda #$76 ; CPU:$9006 PRG:1006 A9 76 - sta Zp46 ; CPU:$9008 PRG:1008 85 46 + sta VramWritePtrLo ; CPU:$9008 PRG:1008 85 46 lda #$00 ; CPU:$900A PRG:100A A9 00 - sta Zp47 ; CPU:$900C PRG:100C 85 47 + sta VramWritePtrHi ; CPU:$900C PRG:100C 85 47 jsr Sub_8AD8 ; CPU:$900E PRG:100E 20 D8 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop93 -; Global: Branch target inside IrqHandler: taken when Loop93. +; Routine: IrqHandler_Loop118 +; Global: Branch target inside IrqHandler: taken when Loop118. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop93: +IrqHandler_Loop118: jsr Sub_8720 ; CPU:$9011 PRG:1011 20 20 87 pha ; CPU:$9014 PRG:1014 48 txa ; CPU:$9015 PRG:1015 8A @@ -3479,50 +4072,50 @@ IrqHandler_Loop93: sta Zp7B ; CPU:$902B PRG:102B 85 7B sta Zp7C ; CPU:$902D PRG:102D 85 7C lda $0465 ; CPU:$902F PRG:102F AD 65 04 - beq IrqHandler_Loop97 ; CPU:$9032 PRG:1032 F0 31 + beq IrqHandler_Loop122 ; CPU:$9032 PRG:1032 F0 31 lda ZpAC ; CPU:$9034 PRG:1034 A5 AC - beq IrqHandler_Loop94 ; CPU:$9036 PRG:1036 F0 04 + beq IrqHandler_Loop119 ; CPU:$9036 PRG:1036 F0 04 cmp #$01 ; CPU:$9038 PRG:1038 C9 01 - bne IrqHandler_Loop95 ; CPU:$903A PRG:103A D0 07 + bne IrqHandler_Loop120 ; CPU:$903A PRG:103A D0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop94 -; Global: Branch target inside IrqHandler: taken when Loop94. +; Routine: IrqHandler_Loop119 +; Global: Branch target inside IrqHandler: taken when Loop119. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop94: +IrqHandler_Loop119: lda #$00 ; CPU:$903C PRG:103C A9 00 sta $0465 ; CPU:$903E PRG:103E 8D 65 04 - beq IrqHandler_Loop97 ; CPU:$9041 PRG:1041 F0 22 + beq IrqHandler_Loop122 ; CPU:$9041 PRG:1041 F0 22 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop95 -; Global: Branch target inside IrqHandler: taken when Loop95. +; Routine: IrqHandler_Loop120 +; Global: Branch target inside IrqHandler: taken when Loop120. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop95: +IrqHandler_Loop120: lda $0462 ; CPU:$9043 PRG:1043 AD 62 04 - beq IrqHandler_Loop97 ; CPU:$9046 PRG:1046 F0 1D - lda Zp54 ; CPU:$9048 PRG:1048 A5 54 + beq IrqHandler_Loop122 ; CPU:$9046 PRG:1046 F0 1D + lda FrameCounter ; CPU:$9048 PRG:1048 A5 54 and #$07 ; CPU:$904A PRG:104A 29 07 - bne IrqHandler_Loop97 ; CPU:$904C PRG:104C D0 17 + bne IrqHandler_Loop122 ; CPU:$904C PRG:104C D0 17 lda $0469 ; CPU:$904E PRG:104E AD 69 04 cmp #$04 ; CPU:$9051 PRG:1051 C9 04 - bcc IrqHandler_Loop96 ; CPU:$9053 PRG:1053 90 02 + bcc IrqHandler_Loop121 ; CPU:$9053 PRG:1053 90 02 lda #$FF ; CPU:$9055 PRG:1055 A9 FF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop96 -; Global: Branch target inside IrqHandler: taken when Loop96. +; Routine: IrqHandler_Loop121 +; Global: Branch target inside IrqHandler: taken when Loop121. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop96: +IrqHandler_Loop121: clc ; CPU:$9057 PRG:1057 18 adc #$01 ; CPU:$9058 PRG:1058 69 01 sta $0469 ; CPU:$905A PRG:105A 8D 69 04 @@ -3531,55 +4124,55 @@ IrqHandler_Loop96: sta Zp67 ; CPU:$9061 PRG:1061 85 67 sta Zp6B ; CPU:$9063 PRG:1063 85 6B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop97 -; Global: Branch target inside IrqHandler: taken when Loop97. +; Routine: IrqHandler_Loop122 +; Global: Branch target inside IrqHandler: taken when Loop122. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop97: +IrqHandler_Loop122: jsr Sub_F696 ; CPU:$9065 PRG:1065 20 96 F6 lda ZpAC ; CPU:$9068 PRG:1068 A5 AC cmp #$01 ; CPU:$906A PRG:106A C9 01 - bne IrqHandler_Loop98 ; CPU:$906C PRG:106C D0 06 + bne IrqHandler_Loop123 ; CPU:$906C PRG:106C D0 06 jsr Sub_8AFE ; CPU:$906E PRG:106E 20 FE 8A - jmp IrqHandler_Loop99 ; CPU:$9071 PRG:1071 4C 7F 90 + jmp IrqHandler_Loop124 ; CPU:$9071 PRG:1071 4C 7F 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop98 -; Global: Branch target inside IrqHandler: taken when Loop98. +; Routine: IrqHandler_Loop123 +; Global: Branch target inside IrqHandler: taken when Loop123. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop98: +IrqHandler_Loop123: lda $07EA ; CPU:$9074 PRG:1074 AD EA 07 - beq IrqHandler_Loop99 ; CPU:$9077 PRG:1077 F0 06 + beq IrqHandler_Loop124 ; CPU:$9077 PRG:1077 F0 06 dec $07EA ; CPU:$9079 PRG:1079 CE EA 07 jsr Sub_8B23 ; CPU:$907C PRG:107C 20 23 8B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop99 -; Global: Branch target inside IrqHandler: taken when Loop99. +; Routine: IrqHandler_Loop124 +; Global: Branch target inside IrqHandler: taken when Loop124. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop99: +IrqHandler_Loop124: lda Zp21 ; CPU:$907F PRG:107F A5 21 and #$10 ; CPU:$9081 PRG:1081 29 10 - beq IrqHandler_Loop100 ; CPU:$9083 PRG:1083 F0 03 + beq IrqHandler_Loop125 ; CPU:$9083 PRG:1083 F0 03 jmp Sub_8A36 ; CPU:$9085 PRG:1085 4C 36 8A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop100 -; Global: Branch target inside IrqHandler: taken when Loop100. +; Routine: IrqHandler_Loop125 +; Global: Branch target inside IrqHandler: taken when Loop125. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop100: +IrqHandler_Loop125: rts ; CPU:$9088 PRG:1088 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9089 @@ -3590,28 +4183,28 @@ IrqHandler_Loop100: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9089: - lda Zp54 ; CPU:$9089 PRG:1089 A5 54 + lda FrameCounter ; CPU:$9089 PRG:1089 A5 54 lsr a ; CPU:$908B PRG:108B 4A - bcs IrqHandler_Loop102 ; CPU:$908C PRG:108C B0 21 + bcs IrqHandler_Loop127 ; CPU:$908C PRG:108C B0 21 lda Zp0B ; CPU:$908E PRG:108E A5 0B cmp #$01 ; CPU:$9090 PRG:1090 C9 01 - bne IrqHandler_Loop101 ; CPU:$9092 PRG:1092 D0 0D + bne IrqHandler_Loop126 ; CPU:$9092 PRG:1092 D0 0D lda Zp0A ; CPU:$9094 PRG:1094 A5 0A cmp #$FF ; CPU:$9096 PRG:1096 C9 FF - bne IrqHandler_Loop101 ; CPU:$9098 PRG:1098 D0 07 + bne IrqHandler_Loop126 ; CPU:$9098 PRG:1098 D0 07 lda #$00 ; CPU:$909A PRG:109A A9 00 sta Zp0A ; CPU:$909C PRG:109C 85 0A sta Zp0B ; CPU:$909E PRG:109E 85 0B rts ; CPU:$90A0 PRG:10A0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop101 -; Global: Branch target inside IrqHandler: taken when Loop101. +; Routine: IrqHandler_Loop126 +; Global: Branch target inside IrqHandler: taken when Loop126. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop101: +IrqHandler_Loop126: lda Zp0A ; CPU:$90A1 PRG:10A1 A5 0A clc ; CPU:$90A3 PRG:10A3 18 adc #$01 ; CPU:$90A4 PRG:10A4 69 01 @@ -3621,14 +4214,14 @@ IrqHandler_Loop101: sta Zp0B ; CPU:$90AC PRG:10AC 85 0B rts ; CPU:$90AE PRG:10AE 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop102 -; Global: Branch target inside IrqHandler: taken when Loop102. +; Routine: IrqHandler_Loop127 +; Global: Branch target inside IrqHandler: taken when Loop127. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop102: +IrqHandler_Loop127: rts ; CPU:$90AF PRG:10AF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_90B0 @@ -3641,91 +4234,91 @@ IrqHandler_Loop102: Sub_90B0: lda $0517 ; CPU:$90B0 PRG:10B0 AD 17 05 cmp #$03 ; CPU:$90B3 PRG:10B3 C9 03 - bne IrqHandler_Loop103 ; CPU:$90B5 PRG:10B5 D0 03 + bne IrqHandler_Loop128 ; CPU:$90B5 PRG:10B5 D0 03 jmp Sub_92CD ; CPU:$90B7 PRG:10B7 4C CD 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop103 -; Global: Branch target inside IrqHandler: taken when Loop103. +; Routine: IrqHandler_Loop128 +; Global: Branch target inside IrqHandler: taken when Loop128. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop103: +IrqHandler_Loop128: lda $07E9 ; CPU:$90BA PRG:10BA AD E9 07 - beq IrqHandler_Loop104 ; CPU:$90BD PRG:10BD F0 0D + beq IrqHandler_Loop129 ; CPU:$90BD PRG:10BD F0 0D lda $0502 ; CPU:$90BF PRG:10BF AD 02 05 cmp #$C8 ; CPU:$90C2 PRG:10C2 C9 C8 - bcc IrqHandler_Loop104 ; CPU:$90C4 PRG:10C4 90 06 + bcc IrqHandler_Loop129 ; CPU:$90C4 PRG:10C4 90 06 lda #$03 ; CPU:$90C6 PRG:10C6 A9 03 sta $0517 ; CPU:$90C8 PRG:10C8 8D 17 05 rts ; CPU:$90CB PRG:10CB 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop104 -; Global: Branch target inside IrqHandler: taken when Loop104. +; Routine: IrqHandler_Loop129 +; Global: Branch target inside IrqHandler: taken when Loop129. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop104: +IrqHandler_Loop129: lda $0511 ; CPU:$90CC PRG:10CC AD 11 05 - beq IrqHandler_Loop105 ; CPU:$90CF PRG:10CF F0 0A + beq IrqHandler_Loop130 ; CPU:$90CF PRG:10CF F0 0A lda $06D1 ; CPU:$90D1 PRG:10D1 AD D1 06 - bne IrqHandler_Loop105 ; CPU:$90D4 PRG:10D4 D0 05 + bne IrqHandler_Loop130 ; CPU:$90D4 PRG:10D4 D0 05 lda #$17 ; CPU:$90D6 PRG:10D6 A9 17 jsr Sub_E08B ; CPU:$90D8 PRG:10D8 20 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop105 -; Global: Branch target inside IrqHandler: taken when Loop105. +; Routine: IrqHandler_Loop130 +; Global: Branch target inside IrqHandler: taken when Loop130. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop105: +IrqHandler_Loop130: lda ZpAC ; CPU:$90DB PRG:10DB A5 AC cmp #$01 ; CPU:$90DD PRG:10DD C9 01 - beq IrqHandler_Loop106 ; CPU:$90DF PRG:10DF F0 05 + beq IrqHandler_Loop131 ; CPU:$90DF PRG:10DF F0 05 lda $0464 ; CPU:$90E1 PRG:10E1 AD 64 04 - beq IrqHandler_Loop107 ; CPU:$90E4 PRG:10E4 F0 03 + beq IrqHandler_Loop132 ; CPU:$90E4 PRG:10E4 F0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop106 -; Global: Branch target inside IrqHandler: taken when Loop106. +; Routine: IrqHandler_Loop131 +; Global: Branch target inside IrqHandler: taken when Loop131. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop106: +IrqHandler_Loop131: jmp Sub_926E ; CPU:$90E6 PRG:10E6 4C 6E 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop107 -; Global: Branch target inside IrqHandler: taken when Loop107. +; Routine: IrqHandler_Loop132 +; Global: Branch target inside IrqHandler: taken when Loop132. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop107: +IrqHandler_Loop132: lda Zp05 ; CPU:$90E9 PRG:10E9 A5 05 - beq IrqHandler_Loop108 ; CPU:$90EB PRG:10EB F0 03 + beq IrqHandler_Loop133 ; CPU:$90EB PRG:10EB F0 03 jmp Sub_926E ; CPU:$90ED PRG:10ED 4C 6E 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop108 -; Global: Branch target inside IrqHandler: taken when Loop108. +; Routine: IrqHandler_Loop133 +; Global: Branch target inside IrqHandler: taken when Loop133. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop108: +IrqHandler_Loop133: lda $050F ; CPU:$90F0 PRG:10F0 AD 0F 05 cmp #$10 ; CPU:$90F3 PRG:10F3 C9 10 - bne IrqHandler_Loop109 ; CPU:$90F5 PRG:10F5 D0 1A + bne IrqHandler_Loop134 ; CPU:$90F5 PRG:10F5 D0 1A lda $0510 ; CPU:$90F7 PRG:10F7 AD 10 05 cmp #$0E ; CPU:$90FA PRG:10FA C9 0E - bne IrqHandler_Loop109 ; CPU:$90FC PRG:10FC D0 13 + bne IrqHandler_Loop134 ; CPU:$90FC PRG:10FC D0 13 lda #$30 ; CPU:$90FE PRG:10FE A9 30 sta Zp76 ; CPU:$9100 PRG:1100 85 76 sta Zp77 ; CPU:$9102 PRG:1102 85 77 @@ -3735,285 +4328,285 @@ IrqHandler_Loop108: jsr Sub_E08B ; CPU:$910B PRG:110B 20 8B E0 jmp Sub_926E ; CPU:$910E PRG:110E 4C 6E 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop109 -; Global: Branch target inside IrqHandler: taken when Loop109. +; Routine: IrqHandler_Loop134 +; Global: Branch target inside IrqHandler: taken when Loop134. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop109: +IrqHandler_Loop134: lda $050F ; CPU:$9111 PRG:1111 AD 0F 05 cmp #$60 ; CPU:$9114 PRG:1114 C9 60 - bne IrqHandler_Loop110 ; CPU:$9116 PRG:1116 D0 13 + bne IrqHandler_Loop135 ; CPU:$9116 PRG:1116 D0 13 lda $0510 ; CPU:$9118 PRG:1118 AD 10 05 cmp #$09 ; CPU:$911B PRG:111B C9 09 - bne IrqHandler_Loop110 ; CPU:$911D PRG:111D D0 0C + bne IrqHandler_Loop135 ; CPU:$911D PRG:111D D0 0C lda #$32 ; CPU:$911F PRG:111F A9 32 sta Zp76 ; CPU:$9121 PRG:1121 85 76 lda #$01 ; CPU:$9123 PRG:1123 A9 01 sta $0511 ; CPU:$9125 PRG:1125 8D 11 05 - jmp IrqHandler_Loop123 ; CPU:$9128 PRG:1128 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9128 PRG:1128 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop110 -; Global: Branch target inside IrqHandler: taken when Loop110. +; Routine: IrqHandler_Loop135 +; Global: Branch target inside IrqHandler: taken when Loop135. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop110: +IrqHandler_Loop135: lda $050F ; CPU:$912B PRG:112B AD 0F 05 cmp #$B0 ; CPU:$912E PRG:112E C9 B0 - bne IrqHandler_Loop111 ; CPU:$9130 PRG:1130 D0 0E + bne IrqHandler_Loop136 ; CPU:$9130 PRG:1130 D0 0E lda $0510 ; CPU:$9132 PRG:1132 AD 10 05 cmp #$04 ; CPU:$9135 PRG:1135 C9 04 - bne IrqHandler_Loop111 ; CPU:$9137 PRG:1137 D0 07 + bne IrqHandler_Loop136 ; CPU:$9137 PRG:1137 D0 07 lda #$34 ; CPU:$9139 PRG:1139 A9 34 sta Zp76 ; CPU:$913B PRG:113B 85 76 - jmp IrqHandler_Loop123 ; CPU:$913D PRG:113D 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$913D PRG:113D 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop111 -; Global: Branch target inside IrqHandler: taken when Loop111. +; Routine: IrqHandler_Loop136 +; Global: Branch target inside IrqHandler: taken when Loop136. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop111: +IrqHandler_Loop136: lda $050F ; CPU:$9140 PRG:1140 AD 0F 05 cmp #$08 ; CPU:$9143 PRG:1143 C9 08 - bne IrqHandler_Loop112 ; CPU:$9145 PRG:1145 D0 0E + bne IrqHandler_Loop137 ; CPU:$9145 PRG:1145 D0 0E lda $0510 ; CPU:$9147 PRG:1147 AD 10 05 cmp #$07 ; CPU:$914A PRG:114A C9 07 - bne IrqHandler_Loop112 ; CPU:$914C PRG:114C D0 07 + bne IrqHandler_Loop137 ; CPU:$914C PRG:114C D0 07 lda #$33 ; CPU:$914E PRG:114E A9 33 sta Zp76 ; CPU:$9150 PRG:1150 85 76 - jmp IrqHandler_Loop123 ; CPU:$9152 PRG:1152 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9152 PRG:1152 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop112 -; Global: Branch target inside IrqHandler: taken when Loop112. +; Routine: IrqHandler_Loop137 +; Global: Branch target inside IrqHandler: taken when Loop137. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop112: +IrqHandler_Loop137: lda $050F ; CPU:$9155 PRG:1155 AD 0F 05 cmp #$58 ; CPU:$9158 PRG:1158 C9 58 - bne IrqHandler_Loop113 ; CPU:$915A PRG:115A D0 0E + bne IrqHandler_Loop138 ; CPU:$915A PRG:115A D0 0E lda $0510 ; CPU:$915C PRG:115C AD 10 05 cmp #$02 ; CPU:$915F PRG:115F C9 02 - bne IrqHandler_Loop113 ; CPU:$9161 PRG:1161 D0 07 + bne IrqHandler_Loop138 ; CPU:$9161 PRG:1161 D0 07 lda #$35 ; CPU:$9163 PRG:1163 A9 35 sta Zp76 ; CPU:$9165 PRG:1165 85 76 - jmp IrqHandler_Loop123 ; CPU:$9167 PRG:1167 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9167 PRG:1167 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop113 -; Global: Branch target inside IrqHandler: taken when Loop113. +; Routine: IrqHandler_Loop138 +; Global: Branch target inside IrqHandler: taken when Loop138. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop113: +IrqHandler_Loop138: lda $050F ; CPU:$916A PRG:116A AD 0F 05 cmp #$B0 ; CPU:$916D PRG:116D C9 B0 - bne IrqHandler_Loop114 ; CPU:$916F PRG:116F D0 0E + bne IrqHandler_Loop139 ; CPU:$916F PRG:116F D0 0E lda $0510 ; CPU:$9171 PRG:1171 AD 10 05 cmp #$0B ; CPU:$9174 PRG:1174 C9 0B - bne IrqHandler_Loop114 ; CPU:$9176 PRG:1176 D0 07 + bne IrqHandler_Loop139 ; CPU:$9176 PRG:1176 D0 07 lda #$31 ; CPU:$9178 PRG:1178 A9 31 sta Zp76 ; CPU:$917A PRG:117A 85 76 - jmp IrqHandler_Loop123 ; CPU:$917C PRG:117C 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$917C PRG:117C 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop114 -; Global: Branch target inside IrqHandler: taken when Loop114. +; Routine: IrqHandler_Loop139 +; Global: Branch target inside IrqHandler: taken when Loop139. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop114: +IrqHandler_Loop139: lda $050F ; CPU:$917F PRG:117F AD 0F 05 cmp #$F4 ; CPU:$9182 PRG:1182 C9 F4 - bne IrqHandler_Loop115 ; CPU:$9184 PRG:1184 D0 12 + bne IrqHandler_Loop140 ; CPU:$9184 PRG:1184 D0 12 lda $0510 ; CPU:$9186 PRG:1186 AD 10 05 cmp #$0B ; CPU:$9189 PRG:1189 C9 0B - bne IrqHandler_Loop115 ; CPU:$918B PRG:118B D0 0B + bne IrqHandler_Loop140 ; CPU:$918B PRG:118B D0 0B lda #$30 ; CPU:$918D PRG:118D A9 30 sta Zp76 ; CPU:$918F PRG:118F 85 76 lda #$39 ; CPU:$9191 PRG:1191 A9 39 sta Zp77 ; CPU:$9193 PRG:1193 85 77 - jmp IrqHandler_Loop123 ; CPU:$9195 PRG:1195 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9195 PRG:1195 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop115 -; Global: Branch target inside IrqHandler: taken when Loop115. +; Routine: IrqHandler_Loop140 +; Global: Branch target inside IrqHandler: taken when Loop140. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop115: +IrqHandler_Loop140: lda $050F ; CPU:$9198 PRG:1198 AD 0F 05 cmp #$30 ; CPU:$919B PRG:119B C9 30 - bne IrqHandler_Loop116 ; CPU:$919D PRG:119D D0 12 + bne IrqHandler_Loop141 ; CPU:$919D PRG:119D D0 12 lda $0510 ; CPU:$919F PRG:119F AD 10 05 cmp #$0C ; CPU:$91A2 PRG:11A2 C9 0C - bne IrqHandler_Loop116 ; CPU:$91A4 PRG:11A4 D0 0B + bne IrqHandler_Loop141 ; CPU:$91A4 PRG:11A4 D0 0B lda #$30 ; CPU:$91A6 PRG:11A6 A9 30 sta Zp76 ; CPU:$91A8 PRG:11A8 85 76 lda #$38 ; CPU:$91AA PRG:11AA A9 38 sta Zp77 ; CPU:$91AC PRG:11AC 85 77 - jmp IrqHandler_Loop123 ; CPU:$91AE PRG:11AE 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$91AE PRG:11AE 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop116 -; Global: Branch target inside IrqHandler: taken when Loop116. +; Routine: IrqHandler_Loop141 +; Global: Branch target inside IrqHandler: taken when Loop141. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop116: +IrqHandler_Loop141: lda $050F ; CPU:$91B1 PRG:11B1 AD 0F 05 cmp #$6C ; CPU:$91B4 PRG:11B4 C9 6C - bne IrqHandler_Loop117 ; CPU:$91B6 PRG:11B6 D0 12 + bne IrqHandler_Loop142 ; CPU:$91B6 PRG:11B6 D0 12 lda $0510 ; CPU:$91B8 PRG:11B8 AD 10 05 cmp #$0C ; CPU:$91BB PRG:11BB C9 0C - bne IrqHandler_Loop117 ; CPU:$91BD PRG:11BD D0 0B + bne IrqHandler_Loop142 ; CPU:$91BD PRG:11BD D0 0B lda #$30 ; CPU:$91BF PRG:11BF A9 30 sta Zp76 ; CPU:$91C1 PRG:11C1 85 76 lda #$37 ; CPU:$91C3 PRG:11C3 A9 37 sta Zp77 ; CPU:$91C5 PRG:11C5 85 77 - jmp IrqHandler_Loop123 ; CPU:$91C7 PRG:11C7 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$91C7 PRG:11C7 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop117 -; Global: Branch target inside IrqHandler: taken when Loop117. +; Routine: IrqHandler_Loop142 +; Global: Branch target inside IrqHandler: taken when Loop142. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop117: +IrqHandler_Loop142: lda $050F ; CPU:$91CA PRG:11CA AD 0F 05 cmp #$A8 ; CPU:$91CD PRG:11CD C9 A8 - bne IrqHandler_Loop118 ; CPU:$91CF PRG:11CF D0 12 + bne IrqHandler_Loop143 ; CPU:$91CF PRG:11CF D0 12 lda $0510 ; CPU:$91D1 PRG:11D1 AD 10 05 cmp #$0C ; CPU:$91D4 PRG:11D4 C9 0C - bne IrqHandler_Loop118 ; CPU:$91D6 PRG:11D6 D0 0B + bne IrqHandler_Loop143 ; CPU:$91D6 PRG:11D6 D0 0B lda #$30 ; CPU:$91D8 PRG:11D8 A9 30 sta Zp76 ; CPU:$91DA PRG:11DA 85 76 lda #$36 ; CPU:$91DC PRG:11DC A9 36 sta Zp77 ; CPU:$91DE PRG:11DE 85 77 - jmp IrqHandler_Loop123 ; CPU:$91E0 PRG:11E0 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$91E0 PRG:11E0 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop118 -; Global: Branch target inside IrqHandler: taken when Loop118. +; Routine: IrqHandler_Loop143 +; Global: Branch target inside IrqHandler: taken when Loop143. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop118: +IrqHandler_Loop143: lda $050F ; CPU:$91E3 PRG:11E3 AD 0F 05 cmp #$E4 ; CPU:$91E6 PRG:11E6 C9 E4 - bne IrqHandler_Loop119 ; CPU:$91E8 PRG:11E8 D0 12 + bne IrqHandler_Loop144 ; CPU:$91E8 PRG:11E8 D0 12 lda $0510 ; CPU:$91EA PRG:11EA AD 10 05 cmp #$0C ; CPU:$91ED PRG:11ED C9 0C - bne IrqHandler_Loop119 ; CPU:$91EF PRG:11EF D0 0B + bne IrqHandler_Loop144 ; CPU:$91EF PRG:11EF D0 0B lda #$30 ; CPU:$91F1 PRG:11F1 A9 30 sta Zp76 ; CPU:$91F3 PRG:11F3 85 76 lda #$35 ; CPU:$91F5 PRG:11F5 A9 35 sta Zp77 ; CPU:$91F7 PRG:11F7 85 77 - jmp IrqHandler_Loop123 ; CPU:$91F9 PRG:11F9 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$91F9 PRG:11F9 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop119 -; Global: Branch target inside IrqHandler: taken when Loop119. +; Routine: IrqHandler_Loop144 +; Global: Branch target inside IrqHandler: taken when Loop144. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop119: +IrqHandler_Loop144: lda $050F ; CPU:$91FC PRG:11FC AD 0F 05 cmp #$20 ; CPU:$91FF PRG:11FF C9 20 - bne IrqHandler_Loop120 ; CPU:$9201 PRG:1201 D0 12 + bne IrqHandler_Loop145 ; CPU:$9201 PRG:1201 D0 12 lda $0510 ; CPU:$9203 PRG:1203 AD 10 05 cmp #$0D ; CPU:$9206 PRG:1206 C9 0D - bne IrqHandler_Loop120 ; CPU:$9208 PRG:1208 D0 0B + bne IrqHandler_Loop145 ; CPU:$9208 PRG:1208 D0 0B lda #$30 ; CPU:$920A PRG:120A A9 30 sta Zp76 ; CPU:$920C PRG:120C 85 76 lda #$34 ; CPU:$920E PRG:120E A9 34 sta Zp77 ; CPU:$9210 PRG:1210 85 77 - jmp IrqHandler_Loop123 ; CPU:$9212 PRG:1212 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9212 PRG:1212 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop120 -; Global: Branch target inside IrqHandler: taken when Loop120. +; Routine: IrqHandler_Loop145 +; Global: Branch target inside IrqHandler: taken when Loop145. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop120: +IrqHandler_Loop145: lda $050F ; CPU:$9215 PRG:1215 AD 0F 05 cmp #$5C ; CPU:$9218 PRG:1218 C9 5C - bne IrqHandler_Loop121 ; CPU:$921A PRG:121A D0 12 + bne IrqHandler_Loop146 ; CPU:$921A PRG:121A D0 12 lda $0510 ; CPU:$921C PRG:121C AD 10 05 cmp #$0D ; CPU:$921F PRG:121F C9 0D - bne IrqHandler_Loop121 ; CPU:$9221 PRG:1221 D0 0B + bne IrqHandler_Loop146 ; CPU:$9221 PRG:1221 D0 0B lda #$30 ; CPU:$9223 PRG:1223 A9 30 sta Zp76 ; CPU:$9225 PRG:1225 85 76 lda #$33 ; CPU:$9227 PRG:1227 A9 33 sta Zp77 ; CPU:$9229 PRG:1229 85 77 - jmp IrqHandler_Loop123 ; CPU:$922B PRG:122B 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$922B PRG:122B 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop121 -; Global: Branch target inside IrqHandler: taken when Loop121. +; Routine: IrqHandler_Loop146 +; Global: Branch target inside IrqHandler: taken when Loop146. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop121: +IrqHandler_Loop146: lda $050F ; CPU:$922E PRG:122E AD 0F 05 cmp #$98 ; CPU:$9231 PRG:1231 C9 98 - bne IrqHandler_Loop122 ; CPU:$9233 PRG:1233 D0 12 + bne IrqHandler_Loop147 ; CPU:$9233 PRG:1233 D0 12 lda $0510 ; CPU:$9235 PRG:1235 AD 10 05 cmp #$0D ; CPU:$9238 PRG:1238 C9 0D - bne IrqHandler_Loop122 ; CPU:$923A PRG:123A D0 0B + bne IrqHandler_Loop147 ; CPU:$923A PRG:123A D0 0B lda #$30 ; CPU:$923C PRG:123C A9 30 sta Zp76 ; CPU:$923E PRG:123E 85 76 lda #$32 ; CPU:$9240 PRG:1240 A9 32 sta Zp77 ; CPU:$9242 PRG:1242 85 77 - jmp IrqHandler_Loop123 ; CPU:$9244 PRG:1244 4C 5D 92 + jmp IrqHandler_Loop148 ; CPU:$9244 PRG:1244 4C 5D 92 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop122 -; Global: Branch target inside IrqHandler: taken when Loop122. +; Routine: IrqHandler_Loop147 +; Global: Branch target inside IrqHandler: taken when Loop147. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop122: +IrqHandler_Loop147: lda $050F ; CPU:$9247 PRG:1247 AD 0F 05 cmp #$D4 ; CPU:$924A PRG:124A C9 D4 - bne IrqHandler_Loop123 ; CPU:$924C PRG:124C D0 0F + bne IrqHandler_Loop148 ; CPU:$924C PRG:124C D0 0F lda $0510 ; CPU:$924E PRG:124E AD 10 05 cmp #$0D ; CPU:$9251 PRG:1251 C9 0D - bne IrqHandler_Loop123 ; CPU:$9253 PRG:1253 D0 08 + bne IrqHandler_Loop148 ; CPU:$9253 PRG:1253 D0 08 lda #$30 ; CPU:$9255 PRG:1255 A9 30 sta Zp76 ; CPU:$9257 PRG:1257 85 76 lda #$31 ; CPU:$9259 PRG:1259 A9 31 sta Zp77 ; CPU:$925B PRG:125B 85 77 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop123 -; Global: Branch target inside IrqHandler: taken when Loop123. +; Routine: IrqHandler_Loop148 +; Global: Branch target inside IrqHandler: taken when Loop148. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop123: +IrqHandler_Loop148: lda $050F ; CPU:$925D PRG:125D AD 0F 05 clc ; CPU:$9260 PRG:1260 18 adc #$01 ; CPU:$9261 PRG:1261 69 01 @@ -4032,102 +4625,102 @@ IrqHandler_Loop123: Sub_926E: lda $0509 ; CPU:$926E PRG:126E AD 09 05 cmp #$5E ; CPU:$9271 PRG:1271 C9 5E - bne IrqHandler_Loop124 ; CPU:$9273 PRG:1273 D0 05 + bne IrqHandler_Loop149 ; CPU:$9273 PRG:1273 D0 05 lda #$12 ; CPU:$9275 PRG:1275 A9 12 sta $0509 ; CPU:$9277 PRG:1277 8D 09 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop124 -; Global: Branch target inside IrqHandler: taken when Loop124. +; Routine: IrqHandler_Loop149 +; Global: Branch target inside IrqHandler: taken when Loop149. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop124: +IrqHandler_Loop149: lda $06CA ; CPU:$927A PRG:127A AD CA 06 - bne IrqHandler_Loop127 ; CPU:$927D PRG:127D D0 1E + bne IrqHandler_Loop152 ; CPU:$927D PRG:127D D0 1E lda $0506 ; CPU:$927F PRG:127F AD 06 05 cmp #$21 ; CPU:$9282 PRG:1282 C9 21 - bne IrqHandler_Loop125 ; CPU:$9284 PRG:1284 D0 07 + bne IrqHandler_Loop150 ; CPU:$9284 PRG:1284 D0 07 lda #$03 ; CPU:$9286 PRG:1286 A9 03 sta $0506 ; CPU:$9288 PRG:1288 8D 06 05 - bne IrqHandler_Loop127 ; CPU:$928B PRG:128B D0 10 + bne IrqHandler_Loop152 ; CPU:$928B PRG:128B D0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop125 -; Global: Branch target inside IrqHandler: taken when Loop125. +; Routine: IrqHandler_Loop150 +; Global: Branch target inside IrqHandler: taken when Loop150. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop125: +IrqHandler_Loop150: cmp #$03 ; CPU:$928D PRG:128D C9 03 - bne IrqHandler_Loop126 ; CPU:$928F PRG:128F D0 07 + bne IrqHandler_Loop151 ; CPU:$928F PRG:128F D0 07 lda #$13 ; CPU:$9291 PRG:1291 A9 13 sta $0506 ; CPU:$9293 PRG:1293 8D 06 05 - bne IrqHandler_Loop127 ; CPU:$9296 PRG:1296 D0 05 + bne IrqHandler_Loop152 ; CPU:$9296 PRG:1296 D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop126 -; Global: Branch target inside IrqHandler: taken when Loop126. +; Routine: IrqHandler_Loop151 +; Global: Branch target inside IrqHandler: taken when Loop151. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop126: +IrqHandler_Loop151: lda #$21 ; CPU:$9298 PRG:1298 A9 21 sta $0506 ; CPU:$929A PRG:129A 8D 06 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop127 -; Global: Branch target inside IrqHandler: taken when Loop127. +; Routine: IrqHandler_Loop152 +; Global: Branch target inside IrqHandler: taken when Loop152. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop127: +IrqHandler_Loop152: lda $0511 ; CPU:$929D PRG:129D AD 11 05 - beq IrqHandler_Loop129 ; CPU:$92A0 PRG:12A0 F0 17 + beq IrqHandler_Loop154 ; CPU:$92A0 PRG:12A0 F0 17 lda $06CA ; CPU:$92A2 PRG:12A2 AD CA 06 - bne IrqHandler_Loop130 ; CPU:$92A5 PRG:12A5 D0 16 + bne IrqHandler_Loop155 ; CPU:$92A5 PRG:12A5 D0 16 lda Zp5B ; CPU:$92A7 PRG:12A7 A5 5B cmp #$25 ; CPU:$92A9 PRG:12A9 C9 25 - bne IrqHandler_Loop128 ; CPU:$92AB PRG:12AB D0 06 + bne IrqHandler_Loop153 ; CPU:$92AB PRG:12AB D0 06 lda #$37 ; CPU:$92AD PRG:12AD A9 37 sta Zp5B ; CPU:$92AF PRG:12AF 85 5B - bne IrqHandler_Loop130 ; CPU:$92B1 PRG:12B1 D0 0A + bne IrqHandler_Loop155 ; CPU:$92B1 PRG:12B1 D0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop128 -; Global: Branch target inside IrqHandler: taken when Loop128. +; Routine: IrqHandler_Loop153 +; Global: Branch target inside IrqHandler: taken when Loop153. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop128: +IrqHandler_Loop153: lda #$25 ; CPU:$92B3 PRG:12B3 A9 25 sta Zp5B ; CPU:$92B5 PRG:12B5 85 5B - bne IrqHandler_Loop130 ; CPU:$92B7 PRG:12B7 D0 04 + bne IrqHandler_Loop155 ; CPU:$92B7 PRG:12B7 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop129 -; Global: Branch target inside IrqHandler: taken when Loop129. +; Routine: IrqHandler_Loop154 +; Global: Branch target inside IrqHandler: taken when Loop154. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop129: +IrqHandler_Loop154: lda #$25 ; CPU:$92B9 PRG:12B9 A9 25 sta Zp5B ; CPU:$92BB PRG:12BB 85 5B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop130 -; Global: Branch target inside IrqHandler: taken when Loop130. +; Routine: IrqHandler_Loop155 +; Global: Branch target inside IrqHandler: taken when Loop155. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop130: +IrqHandler_Loop155: lda #$22 ; CPU:$92BD PRG:12BD A9 22 sta $0507 ; CPU:$92BF PRG:12BF 8D 07 05 lda #$23 ; CPU:$92C2 PRG:12C2 A9 23 @@ -4153,97 +4746,97 @@ Sub_92CA: ; ----------------------------------------------------------------------------- Sub_92CD: lda $0501 ; CPU:$92CD PRG:12CD AD 01 05 - sta Zp1C ; CPU:$92D0 PRG:12D0 85 1C + sta PlayerYHigh ; CPU:$92D0 PRG:12D0 85 1C lda $0502 ; CPU:$92D2 PRG:12D2 AD 02 05 - sta Zp19 ; CPU:$92D5 PRG:12D5 85 19 + sta PlayerXHigh ; CPU:$92D5 PRG:12D5 85 19 lda $0506 ; CPU:$92D7 PRG:12D7 AD 06 05 - sta Zp1A ; CPU:$92DA PRG:12DA 85 1A + sta PlayerXLow ; CPU:$92DA PRG:12DA 85 1A lda $050A ; CPU:$92DC PRG:12DC AD 0A 05 - sta Zp1B ; CPU:$92DF PRG:12DF 85 1B + sta PlayerYLow ; CPU:$92DF PRG:12DF 85 1B jsr Sub_8221 ; CPU:$92E1 PRG:12E1 20 21 82 - lda Zp1C ; CPU:$92E4 PRG:12E4 A5 1C + lda PlayerYHigh ; CPU:$92E4 PRG:12E4 A5 1C clc ; CPU:$92E6 PRG:12E6 18 adc #$08 ; CPU:$92E7 PRG:12E7 69 08 - sta Zp1C ; CPU:$92E9 PRG:12E9 85 1C + sta PlayerYHigh ; CPU:$92E9 PRG:12E9 85 1C lda $0507 ; CPU:$92EB PRG:12EB AD 07 05 - sta Zp1A ; CPU:$92EE PRG:12EE 85 1A + sta PlayerXLow ; CPU:$92EE PRG:12EE 85 1A lda $050B ; CPU:$92F0 PRG:12F0 AD 0B 05 - sta Zp1B ; CPU:$92F3 PRG:12F3 85 1B + sta PlayerYLow ; CPU:$92F3 PRG:12F3 85 1B jsr Sub_8221 ; CPU:$92F5 PRG:12F5 20 21 82 - lda Zp1C ; CPU:$92F8 PRG:12F8 A5 1C + lda PlayerYHigh ; CPU:$92F8 PRG:12F8 A5 1C clc ; CPU:$92FA PRG:12FA 18 adc #$08 ; CPU:$92FB PRG:12FB 69 08 - sta Zp1C ; CPU:$92FD PRG:12FD 85 1C + sta PlayerYHigh ; CPU:$92FD PRG:12FD 85 1C lda $0508 ; CPU:$92FF PRG:12FF AD 08 05 - sta Zp1A ; CPU:$9302 PRG:1302 85 1A + sta PlayerXLow ; CPU:$9302 PRG:1302 85 1A lda $050C ; CPU:$9304 PRG:1304 AD 0C 05 - sta Zp1B ; CPU:$9307 PRG:1307 85 1B + sta PlayerYLow ; CPU:$9307 PRG:1307 85 1B jsr Sub_8221 ; CPU:$9309 PRG:1309 20 21 82 lda $0512 ; CPU:$930C PRG:130C AD 12 05 - bne IrqHandler_Loop133 ; CPU:$930F PRG:130F D0 3B + bne IrqHandler_Loop158 ; CPU:$930F PRG:130F D0 3B lda $07E0 ; CPU:$9311 PRG:1311 AD E0 07 - beq IrqHandler_Loop131 ; CPU:$9314 PRG:1314 F0 10 + beq IrqHandler_Loop156 ; CPU:$9314 PRG:1314 F0 10 cmp #$2D ; CPU:$9316 PRG:1316 C9 2D - bcc IrqHandler_Loop131 ; CPU:$9318 PRG:1318 90 0C + bcc IrqHandler_Loop156 ; CPU:$9318 PRG:1318 90 0C lda $05A7 ; CPU:$931A PRG:131A AD A7 05 - beq IrqHandler_Loop131 ; CPU:$931D PRG:131D F0 07 + beq IrqHandler_Loop156 ; CPU:$931D PRG:131D F0 07 lda #$03 ; CPU:$931F PRG:131F A9 03 sta $0513 ; CPU:$9321 PRG:1321 8D 13 05 - bne IrqHandler_Loop132 ; CPU:$9324 PRG:1324 D0 05 + bne IrqHandler_Loop157 ; CPU:$9324 PRG:1324 D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop131 -; Global: Branch target inside IrqHandler: taken when Loop131. +; Routine: IrqHandler_Loop156 +; Global: Branch target inside IrqHandler: taken when Loop156. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop131: +IrqHandler_Loop156: lda #$00 ; CPU:$9326 PRG:1326 A9 00 sta $0513 ; CPU:$9328 PRG:1328 8D 13 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop132 -; Global: Branch target inside IrqHandler: taken when Loop132. +; Routine: IrqHandler_Loop157 +; Global: Branch target inside IrqHandler: taken when Loop157. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop132: +IrqHandler_Loop157: lda $0501 ; CPU:$932B PRG:132B AD 01 05 clc ; CPU:$932E PRG:132E 18 adc #$08 ; CPU:$932F PRG:132F 69 08 - sta Zp1C ; CPU:$9331 PRG:1331 85 1C + sta PlayerYHigh ; CPU:$9331 PRG:1331 85 1C lda $0502 ; CPU:$9333 PRG:1333 AD 02 05 sec ; CPU:$9336 PRG:1336 38 sbc #$08 ; CPU:$9337 PRG:1337 E9 08 sec ; CPU:$9339 PRG:1339 38 sbc $0513 ; CPU:$933A PRG:133A ED 13 05 - sta Zp19 ; CPU:$933D PRG:133D 85 19 + sta PlayerXHigh ; CPU:$933D PRG:133D 85 19 lda $0509 ; CPU:$933F PRG:133F AD 09 05 - sta Zp1A ; CPU:$9342 PRG:1342 85 1A + sta PlayerXLow ; CPU:$9342 PRG:1342 85 1A lda $050D ; CPU:$9344 PRG:1344 AD 0D 05 - sta Zp1B ; CPU:$9347 PRG:1347 85 1B + sta PlayerYLow ; CPU:$9347 PRG:1347 85 1B jmp Sub_8221 ; CPU:$9349 PRG:1349 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop133 -; Global: Branch target inside IrqHandler: taken when Loop133. +; Routine: IrqHandler_Loop158 +; Global: Branch target inside IrqHandler: taken when Loop158. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop133: +IrqHandler_Loop158: lda $0501 ; CPU:$934C PRG:134C AD 01 05 - sta Zp1C ; CPU:$934F PRG:134F 85 1C + sta PlayerYHigh ; CPU:$934F PRG:134F 85 1C lda $0502 ; CPU:$9351 PRG:1351 AD 02 05 sec ; CPU:$9354 PRG:1354 38 sbc #$08 ; CPU:$9355 PRG:1355 E9 08 - sta Zp19 ; CPU:$9357 PRG:1357 85 19 + sta PlayerXHigh ; CPU:$9357 PRG:1357 85 19 lda #$11 ; CPU:$9359 PRG:1359 A9 11 - sta Zp1A ; CPU:$935B PRG:135B 85 1A + sta PlayerXLow ; CPU:$935B PRG:135B 85 1A lda $050D ; CPU:$935D PRG:135D AD 0D 05 - sta Zp1B ; CPU:$9360 PRG:1360 85 1B + sta PlayerYLow ; CPU:$9360 PRG:1360 85 1B jmp Sub_8221 ; CPU:$9362 PRG:1362 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9365 @@ -4265,17 +4858,17 @@ Sub_9365: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative3: lda $0427,x ; CPU:$9367 PRG:1367 BD 27 04 - beq IrqHandler_Loop134 ; CPU:$936A PRG:136A F0 03 + beq IrqHandler_Loop159 ; CPU:$936A PRG:136A F0 03 jsr Sub_9377 ; CPU:$936C PRG:136C 20 77 93 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop134 -; Global: Branch target inside IrqHandler: taken when Loop134. +; Routine: IrqHandler_Loop159 +; Global: Branch target inside IrqHandler: taken when Loop159. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop134: +IrqHandler_Loop159: txa ; CPU:$936F PRG:136F 8A sec ; CPU:$9370 PRG:1370 38 sbc #$08 ; CPU:$9371 PRG:1371 E9 08 @@ -4292,87 +4885,87 @@ IrqHandler_Loop134: ; ----------------------------------------------------------------------------- Sub_9377: lda $0425,x ; CPU:$9377 PRG:1377 BD 25 04 - bne IrqHandler_Loop135 ; CPU:$937A PRG:137A D0 01 + bne IrqHandler_Loop160 ; CPU:$937A PRG:137A D0 01 rts ; CPU:$937C PRG:137C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop135 -; Global: Branch target inside IrqHandler: taken when Loop135. +; Routine: IrqHandler_Loop160 +; Global: Branch target inside IrqHandler: taken when Loop160. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop135: +IrqHandler_Loop160: lda $0422,x ; CPU:$937D PRG:137D BD 22 04 sec ; CPU:$9380 PRG:1380 38 sbc #$14 ; CPU:$9381 PRG:1381 E9 14 cmp $0501 ; CPU:$9383 PRG:1383 CD 01 05 - bcs IrqHandler_Loop137 ; CPU:$9386 PRG:1386 B0 48 + bcs IrqHandler_Loop162 ; CPU:$9386 PRG:1386 B0 48 lda $0422,x ; CPU:$9388 PRG:1388 BD 22 04 clc ; CPU:$938B PRG:138B 18 adc #$04 ; CPU:$938C PRG:138C 69 04 cmp $0501 ; CPU:$938E PRG:138E CD 01 05 - bcc IrqHandler_Loop137 ; CPU:$9391 PRG:1391 90 3D + bcc IrqHandler_Loop162 ; CPU:$9391 PRG:1391 90 3D lda $0421,x ; CPU:$9393 PRG:1393 BD 21 04 sec ; CPU:$9396 PRG:1396 38 sbc #$04 ; CPU:$9397 PRG:1397 E9 04 cmp $0502 ; CPU:$9399 PRG:1399 CD 02 05 - bcs IrqHandler_Loop137 ; CPU:$939C PRG:139C B0 32 + bcs IrqHandler_Loop162 ; CPU:$939C PRG:139C B0 32 lda $0421,x ; CPU:$939E PRG:139E BD 21 04 clc ; CPU:$93A1 PRG:13A1 18 adc #$08 ; CPU:$93A2 PRG:13A2 69 08 cmp $0502 ; CPU:$93A4 PRG:13A4 CD 02 05 - bcc IrqHandler_Loop137 ; CPU:$93A7 PRG:13A7 90 27 + bcc IrqHandler_Loop162 ; CPU:$93A7 PRG:13A7 90 27 lda $0427,x ; CPU:$93A9 PRG:13A9 BD 27 04 cmp #$10 ; CPU:$93AC PRG:13AC C9 10 - beq IrqHandler_Loop138 ; CPU:$93AE PRG:13AE F0 21 + beq IrqHandler_Loop163 ; CPU:$93AE PRG:13AE F0 21 cmp #$2D ; CPU:$93B0 PRG:13B0 C9 2D - beq IrqHandler_Loop138 ; CPU:$93B2 PRG:13B2 F0 1D + beq IrqHandler_Loop163 ; CPU:$93B2 PRG:13B2 F0 1D lda Zp05 ; CPU:$93B4 PRG:13B4 A5 05 - bne IrqHandler_Loop137 ; CPU:$93B6 PRG:13B6 D0 18 + bne IrqHandler_Loop162 ; CPU:$93B6 PRG:13B6 D0 18 clc ; CPU:$93B8 PRG:13B8 18 lda $07EC ; CPU:$93B9 PRG:13B9 AD EC 07 - bne IrqHandler_Loop136 ; CPU:$93BC PRG:13BC D0 05 + bne IrqHandler_Loop161 ; CPU:$93BC PRG:13BC D0 05 adc #$04 ; CPU:$93BE PRG:13BE 69 04 sta $07EC ; CPU:$93C0 PRG:13C0 8D EC 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop136 -; Global: Branch target inside IrqHandler: taken when Loop136. +; Routine: IrqHandler_Loop161 +; Global: Branch target inside IrqHandler: taken when Loop161. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop136: +IrqHandler_Loop161: lda #$00 ; CPU:$93C3 PRG:13C3 A9 00 sta $0427,x ; CPU:$93C5 PRG:13C5 9D 27 04 inc $07E9 ; CPU:$93C8 PRG:13C8 EE E9 07 lda #$0D ; CPU:$93CB PRG:13CB A9 0D jmp Sub_E08B ; CPU:$93CD PRG:13CD 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop137 -; Global: Branch target inside IrqHandler: taken when Loop137. +; Routine: IrqHandler_Loop162 +; Global: Branch target inside IrqHandler: taken when Loop162. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop137: +IrqHandler_Loop162: rts ; CPU:$93D0 PRG:13D0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop138 -; Global: Branch target inside IrqHandler: taken when Loop138. +; Routine: IrqHandler_Loop163 +; Global: Branch target inside IrqHandler: taken when Loop163. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop138: +IrqHandler_Loop163: lda #$00 ; CPU:$93D1 PRG:13D1 A9 00 sta $0427,x ; CPU:$93D3 PRG:13D3 9D 27 04 - lda ZpFC ; CPU:$93D6 PRG:13D6 A5 FC + lda LevelIndex ; CPU:$93D6 PRG:13D6 A5 FC cmp #$01 ; CPU:$93D8 PRG:13D8 C9 01 - bne IrqHandler_Loop139 ; CPU:$93DA PRG:13DA D0 0E + bne IrqHandler_Loop164 ; CPU:$93DA PRG:13DA D0 0E inc Zp2F ; CPU:$93DC PRG:13DC E6 2F lda #$0F ; CPU:$93DE PRG:13DE A9 0F jsr Sub_E08B ; CPU:$93E0 PRG:13E0 20 8B E0 @@ -4380,112 +4973,112 @@ IrqHandler_Loop138: sta Zp4C ; CPU:$93E5 PRG:13E5 85 4C jmp Sub_9431 ; CPU:$93E7 PRG:13E7 4C 31 94 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop139 -; Global: Branch target inside IrqHandler: taken when Loop139. +; Routine: IrqHandler_Loop164 +; Global: Branch target inside IrqHandler: taken when Loop164. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop139: +IrqHandler_Loop164: cmp #$08 ; CPU:$93EA PRG:13EA C9 08 - bne IrqHandler_Loop140 ; CPU:$93EC PRG:13EC D0 06 + bne IrqHandler_Loop165 ; CPU:$93EC PRG:13EC D0 06 lda #$01 ; CPU:$93EE PRG:13EE A9 01 sta $0473 ; CPU:$93F0 PRG:13F0 8D 73 04 rts ; CPU:$93F3 PRG:13F3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop140 -; Global: Branch target inside IrqHandler: taken when Loop140. +; Routine: IrqHandler_Loop165 +; Global: Branch target inside IrqHandler: taken when Loop165. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop140: +IrqHandler_Loop165: cmp #$02 ; CPU:$93F4 PRG:13F4 C9 02 - bne IrqHandler_Loop141 ; CPU:$93F6 PRG:13F6 D0 06 + bne IrqHandler_Loop166 ; CPU:$93F6 PRG:13F6 D0 06 lda #$01 ; CPU:$93F8 PRG:13F8 A9 01 sta $0475 ; CPU:$93FA PRG:13FA 8D 75 04 rts ; CPU:$93FD PRG:13FD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop141 -; Global: Branch target inside IrqHandler: taken when Loop141. +; Routine: IrqHandler_Loop166 +; Global: Branch target inside IrqHandler: taken when Loop166. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop141: +IrqHandler_Loop166: cmp #$03 ; CPU:$93FE PRG:13FE C9 03 - bne IrqHandler_Loop142 ; CPU:$9400 PRG:1400 D0 06 + bne IrqHandler_Loop167 ; CPU:$9400 PRG:1400 D0 06 lda #$01 ; CPU:$9402 PRG:1402 A9 01 sta $0476 ; CPU:$9404 PRG:1404 8D 76 04 rts ; CPU:$9407 PRG:1407 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop142 -; Global: Branch target inside IrqHandler: taken when Loop142. +; Routine: IrqHandler_Loop167 +; Global: Branch target inside IrqHandler: taken when Loop167. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop142: +IrqHandler_Loop167: cmp #$04 ; CPU:$9408 PRG:1408 C9 04 - bne IrqHandler_Loop143 ; CPU:$940A PRG:140A D0 06 + bne IrqHandler_Loop168 ; CPU:$940A PRG:140A D0 06 lda #$01 ; CPU:$940C PRG:140C A9 01 sta $0478 ; CPU:$940E PRG:140E 8D 78 04 rts ; CPU:$9411 PRG:1411 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop143 -; Global: Branch target inside IrqHandler: taken when Loop143. +; Routine: IrqHandler_Loop168 +; Global: Branch target inside IrqHandler: taken when Loop168. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop143: +IrqHandler_Loop168: cmp #$06 ; CPU:$9412 PRG:1412 C9 06 - bne IrqHandler_Loop144 ; CPU:$9414 PRG:1414 D0 06 + bne IrqHandler_Loop169 ; CPU:$9414 PRG:1414 D0 06 lda #$01 ; CPU:$9416 PRG:1416 A9 01 sta $0479 ; CPU:$9418 PRG:1418 8D 79 04 rts ; CPU:$941B PRG:141B 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop144 -; Global: Branch target inside IrqHandler: taken when Loop144. +; Routine: IrqHandler_Loop169 +; Global: Branch target inside IrqHandler: taken when Loop169. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop144: +IrqHandler_Loop169: cmp #$05 ; CPU:$941C PRG:141C C9 05 - bne IrqHandler_Loop145 ; CPU:$941E PRG:141E D0 06 + bne IrqHandler_Loop170 ; CPU:$941E PRG:141E D0 06 lda #$01 ; CPU:$9420 PRG:1420 A9 01 sta $047A ; CPU:$9422 PRG:1422 8D 7A 04 rts ; CPU:$9425 PRG:1425 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop145 -; Global: Branch target inside IrqHandler: taken when Loop145. +; Routine: IrqHandler_Loop170 +; Global: Branch target inside IrqHandler: taken when Loop170. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop145: +IrqHandler_Loop170: cmp #$07 ; CPU:$9426 PRG:1426 C9 07 - bne IrqHandler_Loop146 ; CPU:$9428 PRG:1428 D0 06 + bne IrqHandler_Loop171 ; CPU:$9428 PRG:1428 D0 06 lda #$01 ; CPU:$942A PRG:142A A9 01 sta $047B ; CPU:$942C PRG:142C 8D 7B 04 rts ; CPU:$942F PRG:142F 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop146 -; Global: Branch target inside IrqHandler: taken when Loop146. +; Routine: IrqHandler_Loop171 +; Global: Branch target inside IrqHandler: taken when Loop171. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop146: +IrqHandler_Loop171: rts ; CPU:$9430 PRG:1430 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9431 @@ -4497,12 +5090,20 @@ IrqHandler_Loop146: ; ----------------------------------------------------------------------------- Sub_9431: lda $0421,x ; CPU:$9431 PRG:1431 BD 21 04 - sta Zp4A ; CPU:$9434 PRG:1434 85 4A + sta DispatchPtrLo ; CPU:$9434 PRG:1434 85 4A lda $0422,x ; CPU:$9436 PRG:1436 BD 22 04 - sta Zp4B ; CPU:$9439 PRG:1439 85 4B + sta DispatchPtrHi ; CPU:$9439 PRG:1439 85 4B jmp Sub_B4FB ; CPU:$943B PRG:143B 4C FB B4 -; ---- data $943E-$943E (1 bytes) ---- - .byte $60 ; CPU:$943E PRG:143E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_943E +; Global: Branch target inside Label: taken when 943E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_943E: + rts ; CPU:$943E PRG:143E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_943F ; Global: Branch target inside Sub: taken when 943F. @@ -4514,33 +5115,33 @@ Sub_9431: Sub_943F: lda $0501 ; CPU:$943F PRG:143F AD 01 05 cmp #$10 ; CPU:$9442 PRG:1442 C9 10 - bcc IrqHandler_Loop148 ; CPU:$9444 PRG:1444 90 13 + bcc IrqHandler_Loop173 ; CPU:$9444 PRG:1444 90 13 lda $051A ; CPU:$9446 PRG:1446 AD 1A 05 - beq IrqHandler_Loop147 ; CPU:$9449 PRG:1449 F0 03 + beq IrqHandler_Loop172 ; CPU:$9449 PRG:1449 F0 03 dec $0501 ; CPU:$944B PRG:144B CE 01 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop147 -; Global: Branch target inside IrqHandler: taken when Loop147. +; Routine: IrqHandler_Loop172 +; Global: Branch target inside IrqHandler: taken when Loop172. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop147: +IrqHandler_Loop172: dec $0501 ; CPU:$944E PRG:144E CE 01 05 - lda Zp54 ; CPU:$9451 PRG:1451 A5 54 + lda FrameCounter ; CPU:$9451 PRG:1451 A5 54 lsr a ; CPU:$9453 PRG:1453 4A - bcs IrqHandler_Loop148 ; CPU:$9454 PRG:1454 B0 03 + bcs IrqHandler_Loop173 ; CPU:$9454 PRG:1454 B0 03 dec $0501 ; CPU:$9456 PRG:1456 CE 01 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop148 -; Global: Branch target inside IrqHandler: taken when Loop148. +; Routine: IrqHandler_Loop173 +; Global: Branch target inside IrqHandler: taken when Loop173. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop148: +IrqHandler_Loop173: rts ; CPU:$9459 PRG:1459 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_945A @@ -4553,33 +5154,33 @@ IrqHandler_Loop148: Sub_945A: lda $0501 ; CPU:$945A PRG:145A AD 01 05 cmp #$DC ; CPU:$945D PRG:145D C9 DC - bcs IrqHandler_Loop150 ; CPU:$945F PRG:145F B0 13 + bcs IrqHandler_Loop175 ; CPU:$945F PRG:145F B0 13 lda $051A ; CPU:$9461 PRG:1461 AD 1A 05 - beq IrqHandler_Loop149 ; CPU:$9464 PRG:1464 F0 03 + beq IrqHandler_Loop174 ; CPU:$9464 PRG:1464 F0 03 inc $0501 ; CPU:$9466 PRG:1466 EE 01 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop149 -; Global: Branch target inside IrqHandler: taken when Loop149. +; Routine: IrqHandler_Loop174 +; Global: Branch target inside IrqHandler: taken when Loop174. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop149: +IrqHandler_Loop174: inc $0501 ; CPU:$9469 PRG:1469 EE 01 05 - lda Zp54 ; CPU:$946C PRG:146C A5 54 + lda FrameCounter ; CPU:$946C PRG:146C A5 54 lsr a ; CPU:$946E PRG:146E 4A - bcs IrqHandler_Loop150 ; CPU:$946F PRG:146F B0 03 + bcs IrqHandler_Loop175 ; CPU:$946F PRG:146F B0 03 inc $0501 ; CPU:$9471 PRG:1471 EE 01 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop150 -; Global: Branch target inside IrqHandler: taken when Loop150. +; Routine: IrqHandler_Loop175 +; Global: Branch target inside IrqHandler: taken when Loop175. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop150: +IrqHandler_Loop175: rts ; CPU:$9474 PRG:1474 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9475 @@ -4592,30 +5193,30 @@ IrqHandler_Loop150: Sub_9475: lda $0502 ; CPU:$9475 PRG:1475 AD 02 05 cmp #$2F ; CPU:$9478 PRG:1478 C9 2F - bcc IrqHandler_Loop152 ; CPU:$947A PRG:147A 90 0E + bcc IrqHandler_Loop177 ; CPU:$947A PRG:147A 90 0E lda $051A ; CPU:$947C PRG:147C AD 1A 05 - beq IrqHandler_Loop151 ; CPU:$947F PRG:147F F0 03 + beq IrqHandler_Loop176 ; CPU:$947F PRG:147F F0 03 dec $0502 ; CPU:$9481 PRG:1481 CE 02 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop151 -; Global: Branch target inside IrqHandler: taken when Loop151. +; Routine: IrqHandler_Loop176 +; Global: Branch target inside IrqHandler: taken when Loop176. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop151: +IrqHandler_Loop176: dec $0502 ; CPU:$9484 PRG:1484 CE 02 05 dec $0502 ; CPU:$9487 PRG:1487 CE 02 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop152 -; Global: Branch target inside IrqHandler: taken when Loop152. +; Routine: IrqHandler_Loop177 +; Global: Branch target inside IrqHandler: taken when Loop177. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop152: +IrqHandler_Loop177: rts ; CPU:$948A PRG:148A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_948B @@ -4628,30 +5229,30 @@ IrqHandler_Loop152: Sub_948B: lda $0502 ; CPU:$948B PRG:148B AD 02 05 cmp #$C8 ; CPU:$948E PRG:148E C9 C8 - bcs IrqHandler_Loop154 ; CPU:$9490 PRG:1490 B0 0E + bcs IrqHandler_Loop179 ; CPU:$9490 PRG:1490 B0 0E lda $051A ; CPU:$9492 PRG:1492 AD 1A 05 - beq IrqHandler_Loop153 ; CPU:$9495 PRG:1495 F0 03 + beq IrqHandler_Loop178 ; CPU:$9495 PRG:1495 F0 03 inc $0502 ; CPU:$9497 PRG:1497 EE 02 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop153 -; Global: Branch target inside IrqHandler: taken when Loop153. +; Routine: IrqHandler_Loop178 +; Global: Branch target inside IrqHandler: taken when Loop178. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop153: +IrqHandler_Loop178: inc $0502 ; CPU:$949A PRG:149A EE 02 05 inc $0502 ; CPU:$949D PRG:149D EE 02 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop154 -; Global: Branch target inside IrqHandler: taken when Loop154. +; Routine: IrqHandler_Loop179 +; Global: Branch target inside IrqHandler: taken when Loop179. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop154: +IrqHandler_Loop179: rts ; CPU:$94A0 PRG:14A0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94A1 @@ -4663,13 +5264,13 @@ IrqHandler_Loop154: ; ----------------------------------------------------------------------------- Sub_94A1: lda $07E9 ; CPU:$94A1 PRG:14A1 AD E9 07 - bne IrqHandler_Loop158 ; CPU:$94A4 PRG:14A4 D0 47 + bne IrqHandler_Loop183 ; CPU:$94A4 PRG:14A4 D0 47 lda $0501 ; CPU:$94A6 PRG:14A6 AD 01 05 cmp #$14 ; CPU:$94A9 PRG:14A9 C9 14 - bcc IrqHandler_Loop158 ; CPU:$94AB PRG:14AB 90 40 + bcc IrqHandler_Loop183 ; CPU:$94AB PRG:14AB 90 40 lda Zp1F ; CPU:$94AD PRG:14AD A5 1F and #$02 ; CPU:$94AF PRG:14AF 29 02 - bne IrqHandler_Loop158 ; CPU:$94B1 PRG:14B1 D0 3A + bne IrqHandler_Loop183 ; CPU:$94B1 PRG:14B1 D0 3A ; ----------------------------------------------------------------------------- ; Routine: Sub_94B3 ; Global: Branch target inside Sub: taken when 94B3. @@ -4681,68 +5282,68 @@ Sub_94A1: Sub_94B3: lda $06D1 ; CPU:$94B3 PRG:14B3 AD D1 06 cmp #$12 ; CPU:$94B6 PRG:14B6 C9 12 - bcc IrqHandler_Loop155 ; CPU:$94B8 PRG:14B8 90 06 + bcc IrqHandler_Loop180 ; CPU:$94B8 PRG:14B8 90 06 lda #$08 ; CPU:$94BA PRG:14BA A9 08 - sta Zp4A ; CPU:$94BC PRG:14BC 85 4A - bne IrqHandler_Loop157 ; CPU:$94BE PRG:14BE D0 12 + sta DispatchPtrLo ; CPU:$94BC PRG:14BC 85 4A + bne IrqHandler_Loop182 ; CPU:$94BE PRG:14BE D0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop155 -; Global: Branch target inside IrqHandler: taken when Loop155. +; Routine: IrqHandler_Loop180 +; Global: Branch target inside IrqHandler: taken when Loop180. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop155: +IrqHandler_Loop180: cmp #$0C ; CPU:$94C0 PRG:14C0 C9 0C - bcc IrqHandler_Loop156 ; CPU:$94C2 PRG:14C2 90 06 + bcc IrqHandler_Loop181 ; CPU:$94C2 PRG:14C2 90 06 lda #$10 ; CPU:$94C4 PRG:14C4 A9 10 - sta Zp4A ; CPU:$94C6 PRG:14C6 85 4A - bne IrqHandler_Loop157 ; CPU:$94C8 PRG:14C8 D0 08 + sta DispatchPtrLo ; CPU:$94C6 PRG:14C6 85 4A + bne IrqHandler_Loop182 ; CPU:$94C8 PRG:14C8 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop156 -; Global: Branch target inside IrqHandler: taken when Loop156. +; Routine: IrqHandler_Loop181 +; Global: Branch target inside IrqHandler: taken when Loop181. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop156: +IrqHandler_Loop181: cmp #$06 ; CPU:$94CA PRG:14CA C9 06 - bcc IrqHandler_Loop158 ; CPU:$94CC PRG:14CC 90 1F + bcc IrqHandler_Loop183 ; CPU:$94CC PRG:14CC 90 1F lda #$18 ; CPU:$94CE PRG:14CE A9 18 - sta Zp4A ; CPU:$94D0 PRG:14D0 85 4A + sta DispatchPtrLo ; CPU:$94D0 PRG:14D0 85 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop157 -; Global: Branch target inside IrqHandler: taken when Loop157. +; Routine: IrqHandler_Loop182 +; Global: Branch target inside IrqHandler: taken when Loop182. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop157: +IrqHandler_Loop182: lda $0501 ; CPU:$94D2 PRG:14D2 AD 01 05 sec ; CPU:$94D5 PRG:14D5 38 - sbc Zp4A ; CPU:$94D6 PRG:14D6 E5 4A - sta Zp1C ; CPU:$94D8 PRG:14D8 85 1C + sbc DispatchPtrLo ; CPU:$94D6 PRG:14D6 E5 4A + sta PlayerYHigh ; CPU:$94D8 PRG:14D8 85 1C lda $0502 ; CPU:$94DA PRG:14DA AD 02 05 sec ; CPU:$94DD PRG:14DD 38 sbc #$02 ; CPU:$94DE PRG:14DE E9 02 - sta Zp19 ; CPU:$94E0 PRG:14E0 85 19 + sta PlayerXHigh ; CPU:$94E0 PRG:14E0 85 19 lda #$01 ; CPU:$94E2 PRG:14E2 A9 01 - sta Zp1B ; CPU:$94E4 PRG:14E4 85 1B + sta PlayerYLow ; CPU:$94E4 PRG:14E4 85 1B lda #$20 ; CPU:$94E6 PRG:14E6 A9 20 - sta Zp1A ; CPU:$94E8 PRG:14E8 85 1A + sta PlayerXLow ; CPU:$94E8 PRG:14E8 85 1A jmp Sub_8221 ; CPU:$94EA PRG:14EA 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop158 -; Global: Branch target inside IrqHandler: taken when Loop158. +; Routine: IrqHandler_Loop183 +; Global: Branch target inside IrqHandler: taken when Loop183. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop158: +IrqHandler_Loop183: rts ; CPU:$94ED PRG:14ED 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_94EE @@ -4755,66 +5356,66 @@ IrqHandler_Loop158: Sub_94EE: lda $06CD ; CPU:$94EE PRG:14EE AD CD 06 cmp #$06 ; CPU:$94F1 PRG:14F1 C9 06 - bcc IrqHandler_Loop159 ; CPU:$94F3 PRG:14F3 90 06 + bcc IrqHandler_Loop184 ; CPU:$94F3 PRG:14F3 90 06 lda #$08 ; CPU:$94F5 PRG:14F5 A9 08 - sta Zp4A ; CPU:$94F7 PRG:14F7 85 4A - bne IrqHandler_Loop161 ; CPU:$94F9 PRG:14F9 D0 12 + sta DispatchPtrLo ; CPU:$94F7 PRG:14F7 85 4A + bne IrqHandler_Loop186 ; CPU:$94F9 PRG:14F9 D0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop159 -; Global: Branch target inside IrqHandler: taken when Loop159. +; Routine: IrqHandler_Loop184 +; Global: Branch target inside IrqHandler: taken when Loop184. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop159: +IrqHandler_Loop184: cmp #$04 ; CPU:$94FB PRG:14FB C9 04 - bcc IrqHandler_Loop160 ; CPU:$94FD PRG:14FD 90 06 + bcc IrqHandler_Loop185 ; CPU:$94FD PRG:14FD 90 06 lda #$10 ; CPU:$94FF PRG:14FF A9 10 - sta Zp4A ; CPU:$9501 PRG:1501 85 4A - bne IrqHandler_Loop161 ; CPU:$9503 PRG:1503 D0 08 + sta DispatchPtrLo ; CPU:$9501 PRG:1501 85 4A + bne IrqHandler_Loop186 ; CPU:$9503 PRG:1503 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop160 -; Global: Branch target inside IrqHandler: taken when Loop160. +; Routine: IrqHandler_Loop185 +; Global: Branch target inside IrqHandler: taken when Loop185. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop160: +IrqHandler_Loop185: cmp #$02 ; CPU:$9505 PRG:1505 C9 02 - bcc IrqHandler_Loop162 ; CPU:$9507 PRG:1507 90 1D + bcc IrqHandler_Loop187 ; CPU:$9507 PRG:1507 90 1D lda #$18 ; CPU:$9509 PRG:1509 A9 18 - sta Zp4A ; CPU:$950B PRG:150B 85 4A + sta DispatchPtrLo ; CPU:$950B PRG:150B 85 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop161 -; Global: Branch target inside IrqHandler: taken when Loop161. +; Routine: IrqHandler_Loop186 +; Global: Branch target inside IrqHandler: taken when Loop186. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop161: +IrqHandler_Loop186: lda $051D,x ; CPU:$950D PRG:150D BD 1D 05 sec ; CPU:$9510 PRG:1510 38 - sbc Zp4A ; CPU:$9511 PRG:1511 E5 4A - sta Zp1C ; CPU:$9513 PRG:1513 85 1C + sbc DispatchPtrLo ; CPU:$9511 PRG:1511 E5 4A + sta PlayerYHigh ; CPU:$9513 PRG:1513 85 1C lda $051B,x ; CPU:$9515 PRG:1515 BD 1B 05 - sta Zp19 ; CPU:$9518 PRG:1518 85 19 + sta PlayerXHigh ; CPU:$9518 PRG:1518 85 19 lda #$02 ; CPU:$951A PRG:151A A9 02 - sta Zp1B ; CPU:$951C PRG:151C 85 1B + sta PlayerYLow ; CPU:$951C PRG:151C 85 1B lda $0533 ; CPU:$951E PRG:151E AD 33 05 - sta Zp1A ; CPU:$9521 PRG:1521 85 1A + sta PlayerXLow ; CPU:$9521 PRG:1521 85 1A jmp Sub_8221 ; CPU:$9523 PRG:1523 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop162 -; Global: Branch target inside IrqHandler: taken when Loop162. +; Routine: IrqHandler_Loop187 +; Global: Branch target inside IrqHandler: taken when Loop187. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop162: +IrqHandler_Loop187: rts ; CPU:$9526 PRG:1526 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9527 @@ -4836,17 +5437,17 @@ Sub_9527: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative4: lda $05D4,x ; CPU:$9529 PRG:1529 BD D4 05 - bne IrqHandler_Loop163 ; CPU:$952C PRG:152C D0 03 + bne IrqHandler_Loop188 ; CPU:$952C PRG:152C D0 03 jmp Sub_9539 ; CPU:$952E PRG:152E 4C 39 95 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop163 -; Global: Branch target inside IrqHandler: taken when Loop163. +; Routine: IrqHandler_Loop188 +; Global: Branch target inside IrqHandler: taken when Loop188. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop163: +IrqHandler_Loop188: txa ; CPU:$9531 PRG:1531 8A sec ; CPU:$9532 PRG:1532 38 sbc #$04 ; CPU:$9533 PRG:1533 E9 04 @@ -4862,13 +5463,13 @@ IrqHandler_Loop163: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9539: - lda Zp4A ; CPU:$9539 PRG:1539 A5 4A + lda DispatchPtrLo ; CPU:$9539 PRG:1539 A5 4A sta $05D2,x ; CPU:$953B PRG:153B 9D D2 05 - lda Zp4B ; CPU:$953E PRG:153E A5 4B + lda DispatchPtrHi ; CPU:$953E PRG:153E A5 4B sta $05D3,x ; CPU:$9540 PRG:1540 9D D3 05 lda #$01 ; CPU:$9543 PRG:1543 A9 01 sta $05D4,x ; CPU:$9545 PRG:1545 9D D4 05 - lda Zp4D ; CPU:$9548 PRG:1548 A5 4D + lda ScrollX ; CPU:$9548 PRG:1548 A5 4D sta $05D5,x ; CPU:$954A PRG:154A 9D D5 05 lda #$14 ; CPU:$954D PRG:154D A9 14 jsr Sub_E08B ; CPU:$954F PRG:154F 20 8B E0 @@ -4893,17 +5494,17 @@ Sub_9553: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative5: lda $05D4,x ; CPU:$9555 PRG:1555 BD D4 05 - beq IrqHandler_Loop164 ; CPU:$9558 PRG:1558 F0 03 + beq IrqHandler_Loop189 ; CPU:$9558 PRG:1558 F0 03 jsr Sub_9565 ; CPU:$955A PRG:155A 20 65 95 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop164 -; Global: Branch target inside IrqHandler: taken when Loop164. +; Routine: IrqHandler_Loop189 +; Global: Branch target inside IrqHandler: taken when Loop189. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop164: +IrqHandler_Loop189: txa ; CPU:$955D PRG:155D 8A sec ; CPU:$955E PRG:155E 38 sbc #$04 ; CPU:$955F PRG:155F E9 04 @@ -4920,144 +5521,144 @@ IrqHandler_Loop164: ; ----------------------------------------------------------------------------- Sub_9565: lda $05D5,x ; CPU:$9565 PRG:1565 BD D5 05 - bne IrqHandler_Loop165 ; CPU:$9568 PRG:1568 D0 03 + bne IrqHandler_Loop190 ; CPU:$9568 PRG:1568 D0 03 jmp Sub_9611 ; CPU:$956A PRG:156A 4C 11 96 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop165 -; Global: Branch target inside IrqHandler: taken when Loop165. +; Routine: IrqHandler_Loop190 +; Global: Branch target inside IrqHandler: taken when Loop190. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop165: - lda Zp9A ; CPU:$956D PRG:156D A5 9A - beq IrqHandler_Loop166 ; CPU:$956F PRG:156F F0 08 - lda Zp54 ; CPU:$9571 PRG:1571 A5 54 +IrqHandler_Loop190: + lda GameState ; CPU:$956D PRG:156D A5 9A + beq IrqHandler_Loop191 ; CPU:$956F PRG:156F F0 08 + lda FrameCounter ; CPU:$9571 PRG:1571 A5 54 lsr a ; CPU:$9573 PRG:1573 4A - bcc IrqHandler_Loop166 ; CPU:$9574 PRG:1574 90 03 + bcc IrqHandler_Loop191 ; CPU:$9574 PRG:1574 90 03 dec $05D3,x ; CPU:$9576 PRG:1576 DE D3 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop166 -; Global: Branch target inside IrqHandler: taken when Loop166. +; Routine: IrqHandler_Loop191 +; Global: Branch target inside IrqHandler: taken when Loop191. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop166: +IrqHandler_Loop191: dec $05D5,x ; CPU:$9579 PRG:1579 DE D5 05 lda $05D5,x ; CPU:$957C PRG:157C BD D5 05 cmp #$08 ; CPU:$957F PRG:157F C9 08 - bcc IrqHandler_Loop171 ; CPU:$9581 PRG:1581 90 79 + bcc IrqHandler_Loop196 ; CPU:$9581 PRG:1581 90 79 cmp #$10 ; CPU:$9583 PRG:1583 C9 10 - bcc IrqHandler_Loop170 ; CPU:$9585 PRG:1585 90 52 + bcc IrqHandler_Loop195 ; CPU:$9585 PRG:1585 90 52 cmp #$18 ; CPU:$9587 PRG:1587 C9 18 - bcc IrqHandler_Loop167 ; CPU:$9589 PRG:1589 90 06 + bcc IrqHandler_Loop192 ; CPU:$9589 PRG:1589 90 06 cmp #$20 ; CPU:$958B PRG:158B C9 20 - bcc IrqHandler_Loop168 ; CPU:$958D PRG:158D 90 1A - bcs IrqHandler_Loop169 ; CPU:$958F PRG:158F B0 30 + bcc IrqHandler_Loop193 ; CPU:$958D PRG:158D 90 1A + bcs IrqHandler_Loop194 ; CPU:$958F PRG:158F B0 30 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop167 -; Global: Branch target inside IrqHandler: taken when Loop167. +; Routine: IrqHandler_Loop192 +; Global: Branch target inside IrqHandler: taken when Loop192. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop167: +IrqHandler_Loop192: lda $05D2,x ; CPU:$9591 PRG:1591 BD D2 05 sec ; CPU:$9594 PRG:1594 38 sbc #$10 ; CPU:$9595 PRG:1595 E9 10 - sta Zp19 ; CPU:$9597 PRG:1597 85 19 + sta PlayerXHigh ; CPU:$9597 PRG:1597 85 19 lda $05D3,x ; CPU:$9599 PRG:1599 BD D3 05 - sta Zp1C ; CPU:$959C PRG:159C 85 1C + sta PlayerYHigh ; CPU:$959C PRG:159C 85 1C lda #$05 ; CPU:$959E PRG:159E A9 05 - sta Zp1A ; CPU:$95A0 PRG:15A0 85 1A + sta PlayerXLow ; CPU:$95A0 PRG:15A0 85 1A lda #$02 ; CPU:$95A2 PRG:15A2 A9 02 - sta Zp1B ; CPU:$95A4 PRG:15A4 85 1B + sta PlayerYLow ; CPU:$95A4 PRG:15A4 85 1B jsr Sub_8221 ; CPU:$95A6 PRG:15A6 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop168 -; Global: Branch target inside IrqHandler: taken when Loop168. +; Routine: IrqHandler_Loop193 +; Global: Branch target inside IrqHandler: taken when Loop193. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop168: +IrqHandler_Loop193: lda $05D2,x ; CPU:$95A9 PRG:15A9 BD D2 05 sec ; CPU:$95AC PRG:15AC 38 sbc #$08 ; CPU:$95AD PRG:15AD E9 08 - sta Zp19 ; CPU:$95AF PRG:15AF 85 19 + sta PlayerXHigh ; CPU:$95AF PRG:15AF 85 19 lda $05D3,x ; CPU:$95B1 PRG:15B1 BD D3 05 - sta Zp1C ; CPU:$95B4 PRG:15B4 85 1C + sta PlayerYHigh ; CPU:$95B4 PRG:15B4 85 1C lda #$15 ; CPU:$95B6 PRG:15B6 A9 15 - sta Zp1A ; CPU:$95B8 PRG:15B8 85 1A + sta PlayerXLow ; CPU:$95B8 PRG:15B8 85 1A lda #$02 ; CPU:$95BA PRG:15BA A9 02 - sta Zp1B ; CPU:$95BC PRG:15BC 85 1B + sta PlayerYLow ; CPU:$95BC PRG:15BC 85 1B jsr Sub_8221 ; CPU:$95BE PRG:15BE 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop169 -; Global: Branch target inside IrqHandler: taken when Loop169. +; Routine: IrqHandler_Loop194 +; Global: Branch target inside IrqHandler: taken when Loop194. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop169: +IrqHandler_Loop194: lda $05D2,x ; CPU:$95C1 PRG:15C1 BD D2 05 - sta Zp19 ; CPU:$95C4 PRG:15C4 85 19 + sta PlayerXHigh ; CPU:$95C4 PRG:15C4 85 19 lda $05D3,x ; CPU:$95C6 PRG:15C6 BD D3 05 - sta Zp1C ; CPU:$95C9 PRG:15C9 85 1C + sta PlayerYHigh ; CPU:$95C9 PRG:15C9 85 1C lda #$15 ; CPU:$95CB PRG:15CB A9 15 - sta Zp1A ; CPU:$95CD PRG:15CD 85 1A + sta PlayerXLow ; CPU:$95CD PRG:15CD 85 1A jsr Sub_8221 ; CPU:$95CF PRG:15CF 20 21 82 lda #$02 ; CPU:$95D2 PRG:15D2 A9 02 - sta Zp1B ; CPU:$95D4 PRG:15D4 85 1B + sta PlayerYLow ; CPU:$95D4 PRG:15D4 85 1B jmp Sub_8221 ; CPU:$95D6 PRG:15D6 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop170 -; Global: Branch target inside IrqHandler: taken when Loop170. +; Routine: IrqHandler_Loop195 +; Global: Branch target inside IrqHandler: taken when Loop195. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop170: +IrqHandler_Loop195: lda $05D2,x ; CPU:$95D9 PRG:15D9 BD D2 05 - sta Zp19 ; CPU:$95DC PRG:15DC 85 19 + sta PlayerXHigh ; CPU:$95DC PRG:15DC 85 19 lda $05D3,x ; CPU:$95DE PRG:15DE BD D3 05 - sta Zp1C ; CPU:$95E1 PRG:15E1 85 1C + sta PlayerYHigh ; CPU:$95E1 PRG:15E1 85 1C lda #$15 ; CPU:$95E3 PRG:15E3 A9 15 - sta Zp1A ; CPU:$95E5 PRG:15E5 85 1A + sta PlayerXLow ; CPU:$95E5 PRG:15E5 85 1A lda #$02 ; CPU:$95E7 PRG:15E7 A9 02 - sta Zp1B ; CPU:$95E9 PRG:15E9 85 1B + sta PlayerYLow ; CPU:$95E9 PRG:15E9 85 1B jsr Sub_8221 ; CPU:$95EB PRG:15EB 20 21 82 - lda Zp19 ; CPU:$95EE PRG:15EE A5 19 + lda PlayerXHigh ; CPU:$95EE PRG:15EE A5 19 sec ; CPU:$95F0 PRG:15F0 38 sbc #$08 ; CPU:$95F1 PRG:15F1 E9 08 - sta Zp19 ; CPU:$95F3 PRG:15F3 85 19 + sta PlayerXHigh ; CPU:$95F3 PRG:15F3 85 19 lda #$05 ; CPU:$95F5 PRG:15F5 A9 05 - sta Zp1A ; CPU:$95F7 PRG:15F7 85 1A + sta PlayerXLow ; CPU:$95F7 PRG:15F7 85 1A jmp Sub_8221 ; CPU:$95F9 PRG:15F9 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop171 -; Global: Branch target inside IrqHandler: taken when Loop171. +; Routine: IrqHandler_Loop196 +; Global: Branch target inside IrqHandler: taken when Loop196. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop171: +IrqHandler_Loop196: lda $05D2,x ; CPU:$95FC PRG:15FC BD D2 05 - sta Zp19 ; CPU:$95FF PRG:15FF 85 19 + sta PlayerXHigh ; CPU:$95FF PRG:15FF 85 19 lda $05D3,x ; CPU:$9601 PRG:1601 BD D3 05 - sta Zp1C ; CPU:$9604 PRG:1604 85 1C + sta PlayerYHigh ; CPU:$9604 PRG:1604 85 1C lda #$05 ; CPU:$9606 PRG:1606 A9 05 - sta Zp1A ; CPU:$9608 PRG:1608 85 1A + sta PlayerXLow ; CPU:$9608 PRG:1608 85 1A lda #$02 ; CPU:$960A PRG:160A A9 02 - sta Zp1B ; CPU:$960C PRG:160C 85 1B + sta PlayerYLow ; CPU:$960C PRG:160C 85 1B jmp Sub_8221 ; CPU:$960E PRG:160E 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9611 @@ -5128,52 +5729,60 @@ Sub_9640: sta $0579 ; CPU:$9657 PRG:1657 8D 79 05 lda $0579 ; CPU:$965A PRG:165A AD 79 05 cmp #$FC ; CPU:$965D PRG:165D C9 FC - bcc IrqHandler_Loop172 ; CPU:$965F PRG:165F 90 06 + bcc IrqHandler_Loop197 ; CPU:$965F PRG:165F 90 06 lda #$00 ; CPU:$9661 PRG:1661 A9 00 sta $057D ; CPU:$9663 PRG:1663 8D 7D 05 rts ; CPU:$9666 PRG:1666 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop172 -; Global: Branch target inside IrqHandler: taken when Loop172. +; Routine: IrqHandler_Loop197 +; Global: Branch target inside IrqHandler: taken when Loop197. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop172: +IrqHandler_Loop197: lda $0577 ; CPU:$9667 PRG:1667 AD 77 05 cmp #$C8 ; CPU:$966A PRG:166A C9 C8 - bcc IrqHandler_Loop173 ; CPU:$966C PRG:166C 90 17 + bcc IrqHandler_Loop198 ; CPU:$966C PRG:166C 90 17 lda #$00 ; CPU:$966E PRG:166E A9 00 sta $057D ; CPU:$9670 PRG:1670 8D 7D 05 lda $0577 ; CPU:$9673 PRG:1673 AD 77 05 - sta Zp4A ; CPU:$9676 PRG:1676 85 4A + sta DispatchPtrLo ; CPU:$9676 PRG:1676 85 4A lda $0579 ; CPU:$9678 PRG:1678 AD 79 05 - sta Zp4B ; CPU:$967B PRG:167B 85 4B + sta DispatchPtrHi ; CPU:$967B PRG:167B 85 4B lda #$28 ; CPU:$967D PRG:167D A9 28 - sta Zp4D ; CPU:$967F PRG:167F 85 4D + sta ScrollX ; CPU:$967F PRG:167F 85 4D jsr Sub_9527 ; CPU:$9681 PRG:1681 20 27 95 rts ; CPU:$9684 PRG:1684 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop173 -; Global: Branch target inside IrqHandler: taken when Loop173. +; Routine: IrqHandler_Loop198 +; Global: Branch target inside IrqHandler: taken when Loop198. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop173: +IrqHandler_Loop198: lda $0577 ; CPU:$9685 PRG:1685 AD 77 05 - sta Zp19 ; CPU:$9688 PRG:1688 85 19 + sta PlayerXHigh ; CPU:$9688 PRG:1688 85 19 lda $0579 ; CPU:$968A PRG:168A AD 79 05 - sta Zp1C ; CPU:$968D PRG:168D 85 1C + sta PlayerYHigh ; CPU:$968D PRG:168D 85 1C lda $057B ; CPU:$968F PRG:168F AD 7B 05 - sta Zp1A ; CPU:$9692 PRG:1692 85 1A + sta PlayerXLow ; CPU:$9692 PRG:1692 85 1A lda $057C ; CPU:$9694 PRG:1694 AD 7C 05 - sta Zp1B ; CPU:$9697 PRG:1697 85 1B + sta PlayerYLow ; CPU:$9697 PRG:1697 85 1B jmp Sub_8221 ; CPU:$9699 PRG:1699 4C 21 82 -; ---- data $969C-$969C (1 bytes) ---- - .byte $60 ; CPU:$969C PRG:169C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_969C +; Global: Branch target inside Label: taken when 969C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_969C: + rts ; CPU:$969C PRG:169C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_969D ; Global: Branch target inside Sub: taken when 969D. @@ -5185,13 +5794,13 @@ IrqHandler_Loop173: Sub_969D: lda $0518 ; CPU:$969D PRG:169D AD 18 05 cmp #$02 ; CPU:$96A0 PRG:16A0 C9 02 - bne IrqHandler_Loop175 ; CPU:$96A2 PRG:16A2 D0 3E + bne IrqHandler_Loop200 ; CPU:$96A2 PRG:16A2 D0 3E lda $0521 ; CPU:$96A4 PRG:16A4 AD 21 05 - bne IrqHandler_Loop174 ; CPU:$96A7 PRG:16A7 D0 38 + bne IrqHandler_Loop199 ; CPU:$96A7 PRG:16A7 D0 38 lda $0529 ; CPU:$96A9 PRG:16A9 AD 29 05 - bne IrqHandler_Loop174 ; CPU:$96AC PRG:16AC D0 33 + bne IrqHandler_Loop199 ; CPU:$96AC PRG:16AC D0 33 lda $0531 ; CPU:$96AE PRG:16AE AD 31 05 - bne IrqHandler_Loop174 ; CPU:$96B1 PRG:16B1 D0 2E + bne IrqHandler_Loop199 ; CPU:$96B1 PRG:16B1 D0 2E lda $0502 ; CPU:$96B3 PRG:16B3 AD 02 05 sec ; CPU:$96B6 PRG:16B6 38 sbc #$02 ; CPU:$96B7 PRG:16B7 E9 02 @@ -5211,88 +5820,88 @@ Sub_969D: lda #$1B ; CPU:$96DC PRG:16DC A9 1B jmp Sub_E08B ; CPU:$96DE PRG:16DE 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop174 -; Global: Branch target inside IrqHandler: taken when Loop174. +; Routine: IrqHandler_Loop199 +; Global: Branch target inside IrqHandler: taken when Loop199. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop174: +IrqHandler_Loop199: rts ; CPU:$96E1 PRG:16E1 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop175 -; Global: Branch target inside IrqHandler: taken when Loop175. +; Routine: IrqHandler_Loop200 +; Global: Branch target inside IrqHandler: taken when Loop200. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop175: +IrqHandler_Loop200: lda $0521 ; CPU:$96E2 PRG:16E2 AD 21 05 - bne IrqHandler_Loop176 ; CPU:$96E5 PRG:16E5 D0 04 + bne IrqHandler_Loop201 ; CPU:$96E5 PRG:16E5 D0 04 ldx #$00 ; CPU:$96E7 PRG:16E7 A2 00 - beq IrqHandler_Loop179 ; CPU:$96E9 PRG:16E9 F0 13 + beq IrqHandler_Loop204 ; CPU:$96E9 PRG:16E9 F0 13 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop176 -; Global: Branch target inside IrqHandler: taken when Loop176. +; Routine: IrqHandler_Loop201 +; Global: Branch target inside IrqHandler: taken when Loop201. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop176: +IrqHandler_Loop201: lda $0529 ; CPU:$96EB PRG:16EB AD 29 05 - bne IrqHandler_Loop177 ; CPU:$96EE PRG:16EE D0 04 + bne IrqHandler_Loop202 ; CPU:$96EE PRG:16EE D0 04 ldx #$08 ; CPU:$96F0 PRG:16F0 A2 08 - bne IrqHandler_Loop179 ; CPU:$96F2 PRG:16F2 D0 0A + bne IrqHandler_Loop204 ; CPU:$96F2 PRG:16F2 D0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop177 -; Global: Branch target inside IrqHandler: taken when Loop177. +; Routine: IrqHandler_Loop202 +; Global: Branch target inside IrqHandler: taken when Loop202. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop177: +IrqHandler_Loop202: lda $0531 ; CPU:$96F4 PRG:16F4 AD 31 05 - bne IrqHandler_Loop178 ; CPU:$96F7 PRG:16F7 D0 04 + bne IrqHandler_Loop203 ; CPU:$96F7 PRG:16F7 D0 04 ldx #$10 ; CPU:$96F9 PRG:16F9 A2 10 - bne IrqHandler_Loop179 ; CPU:$96FB PRG:16FB D0 01 + bne IrqHandler_Loop204 ; CPU:$96FB PRG:16FB D0 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop178 -; Global: Branch target inside IrqHandler: taken when Loop178. +; Routine: IrqHandler_Loop203 +; Global: Branch target inside IrqHandler: taken when Loop203. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop178: +IrqHandler_Loop203: rts ; CPU:$96FD PRG:16FD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop179 -; Global: Branch target inside IrqHandler: taken when Loop179. +; Routine: IrqHandler_Loop204 +; Global: Branch target inside IrqHandler: taken when Loop204. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop179: +IrqHandler_Loop204: lda $0518 ; CPU:$96FE PRG:16FE AD 18 05 cmp #$01 ; CPU:$9701 PRG:1701 C9 01 - bne IrqHandler_Loop180 ; CPU:$9703 PRG:1703 D0 08 + bne IrqHandler_Loop205 ; CPU:$9703 PRG:1703 D0 08 lda #$1C ; CPU:$9705 PRG:1705 A9 1C jsr Sub_E08B ; CPU:$9707 PRG:1707 20 8B E0 jmp Sub_9712 ; CPU:$970A PRG:170A 4C 12 97 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop180 -; Global: Branch target inside IrqHandler: taken when Loop180. +; Routine: IrqHandler_Loop205 +; Global: Branch target inside IrqHandler: taken when Loop205. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop180: +IrqHandler_Loop205: lda #$19 ; CPU:$970D PRG:170D A9 19 jsr Sub_E08B ; CPU:$970F PRG:170F 20 8B E0 ; ----------------------------------------------------------------------------- @@ -5326,7 +5935,7 @@ Sub_9712: Sub_972A: lda $0518 ; CPU:$972A PRG:172A AD 18 05 cmp #$02 ; CPU:$972D PRG:172D C9 02 - beq IrqHandler_Loop184 ; CPU:$972F PRG:172F F0 42 + beq IrqHandler_Loop209 ; CPU:$972F PRG:172F F0 42 ldx #$10 ; CPU:$9731 PRG:1731 A2 10 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonnegative6 @@ -5338,19 +5947,19 @@ Sub_972A: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative6: lda $0521,x ; CPU:$9733 PRG:1733 BD 21 05 - beq IrqHandler_Loop181 ; CPU:$9736 PRG:1736 F0 09 + beq IrqHandler_Loop206 ; CPU:$9736 PRG:1736 F0 09 jsr Sub_9749 ; CPU:$9738 PRG:1738 20 49 97 jsr Sub_B09F ; CPU:$973B PRG:173B 20 9F B0 jsr Sub_97E3 ; CPU:$973E PRG:173E 20 E3 97 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop181 -; Global: Branch target inside IrqHandler: taken when Loop181. +; Routine: IrqHandler_Loop206 +; Global: Branch target inside IrqHandler: taken when Loop206. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop181: +IrqHandler_Loop206: txa ; CPU:$9741 PRG:1741 8A sec ; CPU:$9742 PRG:1742 38 sbc #$08 ; CPU:$9743 PRG:1743 E9 08 @@ -5368,147 +5977,147 @@ IrqHandler_Loop181: Sub_9749: lda $051D,x ; CPU:$9749 PRG:1749 BD 1D 05 cmp #$F0 ; CPU:$974C PRG:174C C9 F0 - bcc IrqHandler_Loop182 ; CPU:$974E PRG:174E 90 06 + bcc IrqHandler_Loop207 ; CPU:$974E PRG:174E 90 06 lda #$00 ; CPU:$9750 PRG:1750 A9 00 sta $0521,x ; CPU:$9752 PRG:1752 9D 21 05 rts ; CPU:$9755 PRG:1755 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop182 -; Global: Branch target inside IrqHandler: taken when Loop182. +; Routine: IrqHandler_Loop207 +; Global: Branch target inside IrqHandler: taken when Loop207. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop182: +IrqHandler_Loop207: lda $0518 ; CPU:$9756 PRG:1756 AD 18 05 - bne IrqHandler_Loop183 ; CPU:$9759 PRG:1759 D0 0C + bne IrqHandler_Loop208 ; CPU:$9759 PRG:1759 D0 0C lda $051D,x ; CPU:$975B PRG:175B BD 1D 05 clc ; CPU:$975E PRG:175E 18 adc #$04 ; CPU:$975F PRG:175F 69 04 sta $051D,x ; CPU:$9761 PRG:1761 9D 1D 05 jmp Sub_9839 ; CPU:$9764 PRG:1764 4C 39 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop183 -; Global: Branch target inside IrqHandler: taken when Loop183. +; Routine: IrqHandler_Loop208 +; Global: Branch target inside IrqHandler: taken when Loop208. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop183: +IrqHandler_Loop208: lda $051D,x ; CPU:$9767 PRG:1767 BD 1D 05 clc ; CPU:$976A PRG:176A 18 adc #$05 ; CPU:$976B PRG:176B 69 05 sta $051D,x ; CPU:$976D PRG:176D 9D 1D 05 jmp Sub_9839 ; CPU:$9770 PRG:1770 4C 39 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop184 -; Global: Branch target inside IrqHandler: taken when Loop184. +; Routine: IrqHandler_Loop209 +; Global: Branch target inside IrqHandler: taken when Loop209. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop184: +IrqHandler_Loop209: lda $0521 ; CPU:$9773 PRG:1773 AD 21 05 - beq IrqHandler_Loop186 ; CPU:$9776 PRG:1776 F0 21 + beq IrqHandler_Loop211 ; CPU:$9776 PRG:1776 F0 21 dec $051B ; CPU:$9778 PRG:1778 CE 1B 05 lda $051D ; CPU:$977B PRG:177B AD 1D 05 clc ; CPU:$977E PRG:177E 18 adc #$06 ; CPU:$977F PRG:177F 69 06 sta $051D ; CPU:$9781 PRG:1781 8D 1D 05 cmp #$F0 ; CPU:$9784 PRG:1784 C9 F0 - bcc IrqHandler_Loop185 ; CPU:$9786 PRG:1786 90 06 + bcc IrqHandler_Loop210 ; CPU:$9786 PRG:1786 90 06 lda #$00 ; CPU:$9788 PRG:1788 A9 00 sta $0521 ; CPU:$978A PRG:178A 8D 21 05 rts ; CPU:$978D PRG:178D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop185 -; Global: Branch target inside IrqHandler: taken when Loop185. +; Routine: IrqHandler_Loop210 +; Global: Branch target inside IrqHandler: taken when Loop210. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop185: +IrqHandler_Loop210: ldx #$00 ; CPU:$978E PRG:178E A2 00 jsr Sub_B09F ; CPU:$9790 PRG:1790 20 9F B0 jsr Sub_97E3 ; CPU:$9793 PRG:1793 20 E3 97 jsr Sub_9880 ; CPU:$9796 PRG:1796 20 80 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop186 -; Global: Branch target inside IrqHandler: taken when Loop186. +; Routine: IrqHandler_Loop211 +; Global: Branch target inside IrqHandler: taken when Loop211. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop186: +IrqHandler_Loop211: lda $0529 ; CPU:$9799 PRG:1799 AD 29 05 - beq IrqHandler_Loop188 ; CPU:$979C PRG:179C F0 1E + beq IrqHandler_Loop213 ; CPU:$979C PRG:179C F0 1E lda $0525 ; CPU:$979E PRG:179E AD 25 05 clc ; CPU:$97A1 PRG:17A1 18 adc #$06 ; CPU:$97A2 PRG:17A2 69 06 sta $0525 ; CPU:$97A4 PRG:17A4 8D 25 05 cmp #$F0 ; CPU:$97A7 PRG:17A7 C9 F0 - bcc IrqHandler_Loop187 ; CPU:$97A9 PRG:17A9 90 06 + bcc IrqHandler_Loop212 ; CPU:$97A9 PRG:17A9 90 06 lda #$00 ; CPU:$97AB PRG:17AB A9 00 sta $0529 ; CPU:$97AD PRG:17AD 8D 29 05 rts ; CPU:$97B0 PRG:17B0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop187 -; Global: Branch target inside IrqHandler: taken when Loop187. +; Routine: IrqHandler_Loop212 +; Global: Branch target inside IrqHandler: taken when Loop212. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop187: +IrqHandler_Loop212: ldx #$08 ; CPU:$97B1 PRG:17B1 A2 08 jsr Sub_B09F ; CPU:$97B3 PRG:17B3 20 9F B0 jsr Sub_97E3 ; CPU:$97B6 PRG:17B6 20 E3 97 jsr Sub_9880 ; CPU:$97B9 PRG:17B9 20 80 98 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop188 -; Global: Branch target inside IrqHandler: taken when Loop188. +; Routine: IrqHandler_Loop213 +; Global: Branch target inside IrqHandler: taken when Loop213. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop188: +IrqHandler_Loop213: lda $0531 ; CPU:$97BC PRG:17BC AD 31 05 - bne IrqHandler_Loop189 ; CPU:$97BF PRG:17BF D0 01 + bne IrqHandler_Loop214 ; CPU:$97BF PRG:17BF D0 01 rts ; CPU:$97C1 PRG:17C1 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop189 -; Global: Branch target inside IrqHandler: taken when Loop189. +; Routine: IrqHandler_Loop214 +; Global: Branch target inside IrqHandler: taken when Loop214. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop189: +IrqHandler_Loop214: inc $052B ; CPU:$97C2 PRG:17C2 EE 2B 05 lda $052D ; CPU:$97C5 PRG:17C5 AD 2D 05 clc ; CPU:$97C8 PRG:17C8 18 adc #$06 ; CPU:$97C9 PRG:17C9 69 06 sta $052D ; CPU:$97CB PRG:17CB 8D 2D 05 cmp #$F0 ; CPU:$97CE PRG:17CE C9 F0 - bcc IrqHandler_Loop190 ; CPU:$97D0 PRG:17D0 90 06 + bcc IrqHandler_Loop215 ; CPU:$97D0 PRG:17D0 90 06 lda #$00 ; CPU:$97D2 PRG:17D2 A9 00 sta $0531 ; CPU:$97D4 PRG:17D4 8D 31 05 rts ; CPU:$97D7 PRG:17D7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop190 -; Global: Branch target inside IrqHandler: taken when Loop190. +; Routine: IrqHandler_Loop215 +; Global: Branch target inside IrqHandler: taken when Loop215. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop190: +IrqHandler_Loop215: ldx #$10 ; CPU:$97D8 PRG:17D8 A2 10 jsr Sub_B09F ; CPU:$97DA PRG:17DA 20 9F B0 jsr Sub_97E3 ; CPU:$97DD PRG:17DD 20 E3 97 @@ -5533,20 +6142,20 @@ Sub_97E3: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative7: lda $0427,y ; CPU:$97E5 PRG:17E5 B9 27 04 - beq IrqHandler_Loop191 ; CPU:$97E8 PRG:17E8 F0 0A + beq IrqHandler_Loop216 ; CPU:$97E8 PRG:17E8 F0 0A lda $0427,y ; CPU:$97EA PRG:17EA B9 27 04 cmp #$10 ; CPU:$97ED PRG:17ED C9 10 - beq IrqHandler_Loop191 ; CPU:$97EF PRG:17EF F0 03 + beq IrqHandler_Loop216 ; CPU:$97EF PRG:17EF F0 03 jsr Sub_97FC ; CPU:$97F1 PRG:17F1 20 FC 97 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop191 -; Global: Branch target inside IrqHandler: taken when Loop191. +; Routine: IrqHandler_Loop216 +; Global: Branch target inside IrqHandler: taken when Loop216. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop191: +IrqHandler_Loop216: tya ; CPU:$97F4 PRG:17F4 98 sec ; CPU:$97F5 PRG:17F5 38 sbc #$08 ; CPU:$97F6 PRG:17F6 E9 08 @@ -5563,50 +6172,50 @@ IrqHandler_Loop191: ; ----------------------------------------------------------------------------- Sub_97FC: lda $0425,y ; CPU:$97FC PRG:17FC B9 25 04 - bne IrqHandler_Loop192 ; CPU:$97FF PRG:17FF D0 01 + bne IrqHandler_Loop217 ; CPU:$97FF PRG:17FF D0 01 rts ; CPU:$9801 PRG:1801 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop192 -; Global: Branch target inside IrqHandler: taken when Loop192. +; Routine: IrqHandler_Loop217 +; Global: Branch target inside IrqHandler: taken when Loop217. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop192: +IrqHandler_Loop217: lda $0422,y ; CPU:$9802 PRG:1802 B9 22 04 sec ; CPU:$9805 PRG:1805 38 sbc #$04 ; CPU:$9806 PRG:1806 E9 04 cmp $051D,x ; CPU:$9808 PRG:1808 DD 1D 05 - bcs IrqHandler_Loop193 ; CPU:$980B PRG:180B B0 2B + bcs IrqHandler_Loop218 ; CPU:$980B PRG:180B B0 2B lda $0422,y ; CPU:$980D PRG:180D B9 22 04 clc ; CPU:$9810 PRG:1810 18 adc #$04 ; CPU:$9811 PRG:1811 69 04 cmp $051D,x ; CPU:$9813 PRG:1813 DD 1D 05 - bcc IrqHandler_Loop193 ; CPU:$9816 PRG:1816 90 20 + bcc IrqHandler_Loop218 ; CPU:$9816 PRG:1816 90 20 lda $0421,y ; CPU:$9818 PRG:1818 B9 21 04 sec ; CPU:$981B PRG:181B 38 sbc #$04 ; CPU:$981C PRG:181C E9 04 cmp $051B,x ; CPU:$981E PRG:181E DD 1B 05 - bcs IrqHandler_Loop193 ; CPU:$9821 PRG:1821 B0 15 + bcs IrqHandler_Loop218 ; CPU:$9821 PRG:1821 B0 15 lda $0421,y ; CPU:$9823 PRG:1823 B9 21 04 clc ; CPU:$9826 PRG:1826 18 adc #$04 ; CPU:$9827 PRG:1827 69 04 cmp $051B,x ; CPU:$9829 PRG:1829 DD 1B 05 - bcc IrqHandler_Loop193 ; CPU:$982C PRG:182C 90 0A + bcc IrqHandler_Loop218 ; CPU:$982C PRG:182C 90 0A lda #$00 ; CPU:$982E PRG:182E A9 00 sta $0521,x ; CPU:$9830 PRG:1830 9D 21 05 lda #$0A ; CPU:$9833 PRG:1833 A9 0A jmp Sub_E08B ; CPU:$9835 PRG:1835 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop193 -; Global: Branch target inside IrqHandler: taken when Loop193. +; Routine: IrqHandler_Loop218 +; Global: Branch target inside IrqHandler: taken when Loop218. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop193: +IrqHandler_Loop218: rts ; CPU:$9838 PRG:1838 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9839 @@ -5618,60 +6227,60 @@ IrqHandler_Loop193: ; ----------------------------------------------------------------------------- Sub_9839: lda $051B,x ; CPU:$9839 PRG:1839 BD 1B 05 - sta Zp19 ; CPU:$983C PRG:183C 85 19 + sta PlayerXHigh ; CPU:$983C PRG:183C 85 19 lda $051D,x ; CPU:$983E PRG:183E BD 1D 05 - sta Zp1C ; CPU:$9841 PRG:1841 85 1C + sta PlayerYHigh ; CPU:$9841 PRG:1841 85 1C lda $0518 ; CPU:$9843 PRG:1843 AD 18 05 - bne IrqHandler_Loop194 ; CPU:$9846 PRG:1846 D0 13 + bne IrqHandler_Loop219 ; CPU:$9846 PRG:1846 D0 13 lda #$25 ; CPU:$9848 PRG:1848 A9 25 - sta Zp1A ; CPU:$984A PRG:184A 85 1A + sta PlayerXLow ; CPU:$984A PRG:184A 85 1A lda #$20 ; CPU:$984C PRG:184C A9 20 sta $0533 ; CPU:$984E PRG:184E 8D 33 05 lda #$02 ; CPU:$9851 PRG:1851 A9 02 - sta Zp1B ; CPU:$9853 PRG:1853 85 1B + sta PlayerYLow ; CPU:$9853 PRG:1853 85 1B jsr Sub_8221 ; CPU:$9855 PRG:1855 20 21 82 jmp Sub_94EE ; CPU:$9858 PRG:1858 4C EE 94 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop194 -; Global: Branch target inside IrqHandler: taken when Loop194. +; Routine: IrqHandler_Loop219 +; Global: Branch target inside IrqHandler: taken when Loop219. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop194: +IrqHandler_Loop219: lda $06CD ; CPU:$985B PRG:185B AD CD 06 cmp #$04 ; CPU:$985E PRG:185E C9 04 - bcs IrqHandler_Loop195 ; CPU:$9860 PRG:1860 B0 0B + bcs IrqHandler_Loop220 ; CPU:$9860 PRG:1860 B0 0B lda #$0A ; CPU:$9862 PRG:1862 A9 0A - sta Zp1A ; CPU:$9864 PRG:1864 85 1A + sta PlayerXLow ; CPU:$9864 PRG:1864 85 1A lda #$09 ; CPU:$9866 PRG:1866 A9 09 sta $0533 ; CPU:$9868 PRG:1868 8D 33 05 - bne IrqHandler_Loop196 ; CPU:$986B PRG:186B D0 09 + bne IrqHandler_Loop221 ; CPU:$986B PRG:186B D0 09 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop195 -; Global: Branch target inside IrqHandler: taken when Loop195. +; Routine: IrqHandler_Loop220 +; Global: Branch target inside IrqHandler: taken when Loop220. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop195: +IrqHandler_Loop220: lda #$1B ; CPU:$986D PRG:186D A9 1B - sta Zp1A ; CPU:$986F PRG:186F 85 1A + sta PlayerXLow ; CPU:$986F PRG:186F 85 1A lda #$1A ; CPU:$9871 PRG:1871 A9 1A sta $0533 ; CPU:$9873 PRG:1873 8D 33 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop196 -; Global: Branch target inside IrqHandler: taken when Loop196. +; Routine: IrqHandler_Loop221 +; Global: Branch target inside IrqHandler: taken when Loop221. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop196: +IrqHandler_Loop221: lda #$01 ; CPU:$9876 PRG:1876 A9 01 - sta Zp1B ; CPU:$9878 PRG:1878 85 1B + sta PlayerYLow ; CPU:$9878 PRG:1878 85 1B jsr Sub_8221 ; CPU:$987A PRG:187A 20 21 82 jmp Sub_94EE ; CPU:$987D PRG:187D 4C EE 94 ; ----------------------------------------------------------------------------- @@ -5684,25 +6293,192 @@ IrqHandler_Loop196: ; ----------------------------------------------------------------------------- Sub_9880: lda $051B,x ; CPU:$9880 PRG:1880 BD 1B 05 - sta Zp19 ; CPU:$9883 PRG:1883 85 19 + sta PlayerXHigh ; CPU:$9883 PRG:1883 85 19 lda $051D,x ; CPU:$9885 PRG:1885 BD 1D 05 - sta Zp1C ; CPU:$9888 PRG:1888 85 1C + sta PlayerYHigh ; CPU:$9888 PRG:1888 85 1C lda #$01 ; CPU:$988A PRG:188A A9 01 - sta Zp1B ; CPU:$988C PRG:188C 85 1B + sta PlayerYLow ; CPU:$988C PRG:188C 85 1B lda #$24 ; CPU:$988E PRG:188E A9 24 - sta Zp1A ; CPU:$9890 PRG:1890 85 1A + sta PlayerXLow ; CPU:$9890 PRG:1890 85 1A jmp Sub_8221 ; CPU:$9892 PRG:1892 4C 21 82 -; ---- data $9895-$992A (150 bytes) ---- - .byte $A5, $FB, $D0, $04, $A2, $00, $F0, $02, $A2, $20, $BD, $54, $05, $D0, $03, $4C ; CPU:$9895 PRG:1895 A5 FB D0 04 A2 00 F0 02 A2 20 BD 54 05 D0 03 4C - .byte $B4, $98, $8A, $38, $E9, $08, $AA, $10, $F1, $A9, $00, $8D, $76, $05, $60, $A9 ; CPU:$98A5 PRG:18A5 B4 98 8A 38 E9 08 AA 10 F1 A9 00 8D 76 05 60 A9 - .byte $01, $8D, $76, $05, $A5, $4A, $9D, $4E, $05, $A5, $4B, $9D, $50, $05, $A5, $4D ; CPU:$98B5 PRG:18B5 01 8D 76 05 A5 4A 9D 4E 05 A5 4B 9D 50 05 A5 4D - .byte $9D, $55, $05, $A5, $4E, $9D, $52, $05, $A9, $01, $9D, $54, $05, $60, $A5, $FB ; CPU:$98C5 PRG:18C5 9D 55 05 A5 4E 9D 52 05 A9 01 9D 54 05 60 A5 FB - .byte $D0, $04, $A2, $00, $F0, $02, $A2, $20, $BD, $54, $05, $F0, $03, $20, $ED, $98 ; CPU:$98D5 PRG:18D5 D0 04 A2 00 F0 02 A2 20 BD 54 05 F0 03 20 ED 98 - .byte $8A, $38, $E9, $08, $AA, $10, $F1, $60, $BD, $50, $05, $C9, $04, $B0, $06, $A9 ; CPU:$98E5 PRG:18E5 8A 38 E9 08 AA 10 F1 60 BD 50 05 C9 04 B0 06 A9 - .byte $00, $9D, $54, $05, $60, $BD, $50, $05, $38, $FD, $55, $05, $9D, $50, $05, $BD ; CPU:$98F5 PRG:18F5 00 9D 54 05 60 BD 50 05 38 FD 55 05 9D 50 05 BD - .byte $4E, $05, $85, $19, $BD, $50, $05, $85, $1C, $BD, $52, $05, $85, $1A, $A9, $02 ; CPU:$9905 PRG:1905 4E 05 85 19 BD 50 05 85 1C BD 52 05 85 1A A9 02 - .byte $85, $1B, $20, $21, $82, $A5, $1A, $C9, $25, $D0, $0A, $BD, $4E, $05, $85, $4A ; CPU:$9915 PRG:1915 85 1B 20 21 82 A5 1A C9 25 D0 0A BD 4E 05 85 4A - .byte $BD, $50, $05, $85, $4B, $60 ; CPU:$9925 PRG:1925 BD 50 05 85 4B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9895 +; Global: Branch target inside Label: taken when 9895. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9895: + lda ZpFB ; CPU:$9895 PRG:1895 A5 FB + bne IrqHandler_Loop222 ; CPU:$9897 PRG:1897 D0 04 + ldx #$00 ; CPU:$9899 PRG:1899 A2 00 + beq IrqHandler_OnNonnegative8 ; CPU:$989B PRG:189B F0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop222 +; Global: Branch target inside IrqHandler: taken when Loop222. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop222: + ldx #$20 ; CPU:$989D PRG:189D A2 20 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative8 +; Global: Branch target inside IrqHandler: taken when OnNonnegative8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative8: + lda $0554,x ; CPU:$989F PRG:189F BD 54 05 + bne IrqHandler_Loop223 ; CPU:$98A2 PRG:18A2 D0 03 + jmp Sub_98B4 ; CPU:$98A4 PRG:18A4 4C B4 98 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop223 +; Global: Branch target inside IrqHandler: taken when Loop223. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop223: + txa ; CPU:$98A7 PRG:18A7 8A + sec ; CPU:$98A8 PRG:18A8 38 + sbc #$08 ; CPU:$98A9 PRG:18A9 E9 08 + tax ; CPU:$98AB PRG:18AB AA + bpl IrqHandler_OnNonnegative8 ; CPU:$98AC PRG:18AC 10 F1 + lda #$00 ; CPU:$98AE PRG:18AE A9 00 + sta $0576 ; CPU:$98B0 PRG:18B0 8D 76 05 + rts ; CPU:$98B3 PRG:18B3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_98B4 +; Global: Branch target inside Sub: taken when 98B4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_98B4: + lda #$01 ; CPU:$98B4 PRG:18B4 A9 01 + sta $0576 ; CPU:$98B6 PRG:18B6 8D 76 05 + lda DispatchPtrLo ; CPU:$98B9 PRG:18B9 A5 4A + sta $054E,x ; CPU:$98BB PRG:18BB 9D 4E 05 + lda DispatchPtrHi ; CPU:$98BE PRG:18BE A5 4B + sta $0550,x ; CPU:$98C0 PRG:18C0 9D 50 05 + lda ScrollX ; CPU:$98C3 PRG:18C3 A5 4D + sta $0555,x ; CPU:$98C5 PRG:18C5 9D 55 05 + lda ScrollY ; CPU:$98C8 PRG:18C8 A5 4E + sta $0552,x ; CPU:$98CA PRG:18CA 9D 52 05 + lda #$01 ; CPU:$98CD PRG:18CD A9 01 + sta $0554,x ; CPU:$98CF PRG:18CF 9D 54 05 + rts ; CPU:$98D2 PRG:18D2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_98D3 +; Global: Branch target inside Label: taken when 98D3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_98D3: + lda ZpFB ; CPU:$98D3 PRG:18D3 A5 FB + bne IrqHandler_Loop224 ; CPU:$98D5 PRG:18D5 D0 04 + ldx #$00 ; CPU:$98D7 PRG:18D7 A2 00 + beq IrqHandler_OnNonnegative9 ; CPU:$98D9 PRG:18D9 F0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop224 +; Global: Branch target inside IrqHandler: taken when Loop224. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop224: + ldx #$20 ; CPU:$98DB PRG:18DB A2 20 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative9 +; Global: Branch target inside IrqHandler: taken when OnNonnegative9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative9: + lda $0554,x ; CPU:$98DD PRG:18DD BD 54 05 + beq IrqHandler_Loop225 ; CPU:$98E0 PRG:18E0 F0 03 + jsr Sub_98ED ; CPU:$98E2 PRG:18E2 20 ED 98 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop225 +; Global: Branch target inside IrqHandler: taken when Loop225. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop225: + txa ; CPU:$98E5 PRG:18E5 8A + sec ; CPU:$98E6 PRG:18E6 38 + sbc #$08 ; CPU:$98E7 PRG:18E7 E9 08 + tax ; CPU:$98E9 PRG:18E9 AA + bpl IrqHandler_OnNonnegative9 ; CPU:$98EA PRG:18EA 10 F1 + rts ; CPU:$98EC PRG:18EC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_98ED +; Global: Branch target inside Sub: taken when 98ED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_98ED: + lda $0550,x ; CPU:$98ED PRG:18ED BD 50 05 + cmp #$04 ; CPU:$98F0 PRG:18F0 C9 04 + bcs IrqHandler_Loop226 ; CPU:$98F2 PRG:18F2 B0 06 + lda #$00 ; CPU:$98F4 PRG:18F4 A9 00 + sta $0554,x ; CPU:$98F6 PRG:18F6 9D 54 05 + rts ; CPU:$98F9 PRG:18F9 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop226 +; Global: Branch target inside IrqHandler: taken when Loop226. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop226: + lda $0550,x ; CPU:$98FA PRG:18FA BD 50 05 + sec ; CPU:$98FD PRG:18FD 38 + sbc $0555,x ; CPU:$98FE PRG:18FE FD 55 05 + sta $0550,x ; CPU:$9901 PRG:1901 9D 50 05 + lda $054E,x ; CPU:$9904 PRG:1904 BD 4E 05 + sta PlayerXHigh ; CPU:$9907 PRG:1907 85 19 + lda $0550,x ; CPU:$9909 PRG:1909 BD 50 05 + sta PlayerYHigh ; CPU:$990C PRG:190C 85 1C + lda $0552,x ; CPU:$990E PRG:190E BD 52 05 + sta PlayerXLow ; CPU:$9911 PRG:1911 85 1A + lda #$02 ; CPU:$9913 PRG:1913 A9 02 + sta PlayerYLow ; CPU:$9915 PRG:1915 85 1B + jsr Sub_8221 ; CPU:$9917 PRG:1917 20 21 82 + lda PlayerXLow ; CPU:$991A PRG:191A A5 1A + cmp #$25 ; CPU:$991C PRG:191C C9 25 + bne IrqHandler_Loop227 ; CPU:$991E PRG:191E D0 0A + lda $054E,x ; CPU:$9920 PRG:1920 BD 4E 05 + sta DispatchPtrLo ; CPU:$9923 PRG:1923 85 4A + lda $0550,x ; CPU:$9925 PRG:1925 BD 50 05 + sta DispatchPtrHi ; CPU:$9928 PRG:1928 85 4B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop227 +; Global: Branch target inside IrqHandler: taken when Loop227. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop227: + rts ; CPU:$992A PRG:192A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_992B ; Global: Branch target inside Sub: taken when 992B. @@ -5714,31 +6490,31 @@ Sub_9880: Sub_992B: ldx #$48 ; CPU:$992B PRG:192B A2 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative8 -; Global: Branch target inside IrqHandler: taken when OnNonnegative8. +; Routine: IrqHandler_OnNonnegative10 +; Global: Branch target inside IrqHandler: taken when OnNonnegative10. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative8: +IrqHandler_OnNonnegative10: lda $065F,x ; CPU:$992D PRG:192D BD 5F 06 - bne IrqHandler_Loop197 ; CPU:$9930 PRG:1930 D0 03 + bne IrqHandler_Loop228 ; CPU:$9930 PRG:1930 D0 03 jmp Sub_993D ; CPU:$9932 PRG:1932 4C 3D 99 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop197 -; Global: Branch target inside IrqHandler: taken when Loop197. +; Routine: IrqHandler_Loop228 +; Global: Branch target inside IrqHandler: taken when Loop228. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop197: +IrqHandler_Loop228: txa ; CPU:$9935 PRG:1935 8A sec ; CPU:$9936 PRG:1936 38 sbc #$08 ; CPU:$9937 PRG:1937 E9 08 tax ; CPU:$9939 PRG:1939 AA - bpl IrqHandler_OnNonnegative8 ; CPU:$993A PRG:193A 10 F1 + bpl IrqHandler_OnNonnegative10 ; CPU:$993A PRG:193A 10 F1 rts ; CPU:$993C PRG:193C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_993D @@ -5749,9 +6525,9 @@ IrqHandler_Loop197: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_993D: - lda Zp4A ; CPU:$993D PRG:193D A5 4A + lda DispatchPtrLo ; CPU:$993D PRG:193D A5 4A sta $0659,x ; CPU:$993F PRG:193F 9D 59 06 - lda Zp4B ; CPU:$9942 PRG:1942 A5 4B + lda DispatchPtrHi ; CPU:$9942 PRG:1942 A5 4B sta $065B,x ; CPU:$9944 PRG:1944 9D 5B 06 lda #$F0 ; CPU:$9947 PRG:1947 A9 F0 sta $065D,x ; CPU:$9949 PRG:1949 9D 5D 06 @@ -5761,131 +6537,131 @@ Sub_993D: sta $065F,x ; CPU:$9953 PRG:1953 9D 5F 06 lda Zp55 ; CPU:$9956 PRG:1956 A5 55 asl a ; CPU:$9958 PRG:1958 0A - bcc IrqHandler_Loop202 ; CPU:$9959 PRG:1959 90 2E + bcc IrqHandler_Loop233 ; CPU:$9959 PRG:1959 90 2E cpx #$48 ; CPU:$995B PRG:195B E0 48 - bne IrqHandler_Loop198 ; CPU:$995D PRG:195D D0 06 + bne IrqHandler_Loop229 ; CPU:$995D PRG:195D D0 06 lda #$04 ; CPU:$995F PRG:195F A9 04 sta $0660,x ; CPU:$9961 PRG:1961 9D 60 06 rts ; CPU:$9964 PRG:1964 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop198 -; Global: Branch target inside IrqHandler: taken when Loop198. +; Routine: IrqHandler_Loop229 +; Global: Branch target inside IrqHandler: taken when Loop229. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop198: +IrqHandler_Loop229: cpx #$40 ; CPU:$9965 PRG:1965 E0 40 - bne IrqHandler_Loop199 ; CPU:$9967 PRG:1967 D0 06 + bne IrqHandler_Loop230 ; CPU:$9967 PRG:1967 D0 06 lda #$14 ; CPU:$9969 PRG:1969 A9 14 sta $0660,x ; CPU:$996B PRG:196B 9D 60 06 rts ; CPU:$996E PRG:196E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop199 -; Global: Branch target inside IrqHandler: taken when Loop199. +; Routine: IrqHandler_Loop230 +; Global: Branch target inside IrqHandler: taken when Loop230. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop199: +IrqHandler_Loop230: cpx #$38 ; CPU:$996F PRG:196F E0 38 - bne IrqHandler_Loop200 ; CPU:$9971 PRG:1971 D0 06 + bne IrqHandler_Loop231 ; CPU:$9971 PRG:1971 D0 06 lda #$0E ; CPU:$9973 PRG:1973 A9 0E sta $0660,x ; CPU:$9975 PRG:1975 9D 60 06 rts ; CPU:$9978 PRG:1978 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop200 -; Global: Branch target inside IrqHandler: taken when Loop200. +; Routine: IrqHandler_Loop231 +; Global: Branch target inside IrqHandler: taken when Loop231. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop200: +IrqHandler_Loop231: cpx #$54 ; CPU:$9979 PRG:1979 E0 54 - bne IrqHandler_Loop201 ; CPU:$997B PRG:197B D0 06 + bne IrqHandler_Loop232 ; CPU:$997B PRG:197B D0 06 lda #$1E ; CPU:$997D PRG:197D A9 1E sta $0660,x ; CPU:$997F PRG:197F 9D 60 06 rts ; CPU:$9982 PRG:1982 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop201 -; Global: Branch target inside IrqHandler: taken when Loop201. +; Routine: IrqHandler_Loop232 +; Global: Branch target inside IrqHandler: taken when Loop232. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop201: +IrqHandler_Loop232: lda #$3C ; CPU:$9983 PRG:1983 A9 3C sta $0660,x ; CPU:$9985 PRG:1985 9D 60 06 rts ; CPU:$9988 PRG:1988 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop202 -; Global: Branch target inside IrqHandler: taken when Loop202. +; Routine: IrqHandler_Loop233 +; Global: Branch target inside IrqHandler: taken when Loop233. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop202: +IrqHandler_Loop233: cpx #$48 ; CPU:$9989 PRG:1989 E0 48 - bne IrqHandler_Loop203 ; CPU:$998B PRG:198B D0 06 + bne IrqHandler_Loop234 ; CPU:$998B PRG:198B D0 06 lda #$3C ; CPU:$998D PRG:198D A9 3C sta $0660,x ; CPU:$998F PRG:198F 9D 60 06 rts ; CPU:$9992 PRG:1992 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop203 -; Global: Branch target inside IrqHandler: taken when Loop203. +; Routine: IrqHandler_Loop234 +; Global: Branch target inside IrqHandler: taken when Loop234. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop203: +IrqHandler_Loop234: cpx #$40 ; CPU:$9993 PRG:1993 E0 40 - bne IrqHandler_Loop204 ; CPU:$9995 PRG:1995 D0 06 + bne IrqHandler_Loop235 ; CPU:$9995 PRG:1995 D0 06 lda #$1E ; CPU:$9997 PRG:1997 A9 1E sta $0660,x ; CPU:$9999 PRG:1999 9D 60 06 rts ; CPU:$999C PRG:199C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop204 -; Global: Branch target inside IrqHandler: taken when Loop204. +; Routine: IrqHandler_Loop235 +; Global: Branch target inside IrqHandler: taken when Loop235. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop204: +IrqHandler_Loop235: cpx #$38 ; CPU:$999D PRG:199D E0 38 - bne IrqHandler_Loop205 ; CPU:$999F PRG:199F D0 06 + bne IrqHandler_Loop236 ; CPU:$999F PRG:199F D0 06 lda #$32 ; CPU:$99A1 PRG:19A1 A9 32 sta $0660,x ; CPU:$99A3 PRG:19A3 9D 60 06 rts ; CPU:$99A6 PRG:19A6 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop205 -; Global: Branch target inside IrqHandler: taken when Loop205. +; Routine: IrqHandler_Loop236 +; Global: Branch target inside IrqHandler: taken when Loop236. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop205: +IrqHandler_Loop236: cpx #$54 ; CPU:$99A7 PRG:19A7 E0 54 - bne IrqHandler_Loop206 ; CPU:$99A9 PRG:19A9 D0 06 + bne IrqHandler_Loop237 ; CPU:$99A9 PRG:19A9 D0 06 lda #$19 ; CPU:$99AB PRG:19AB A9 19 sta $0660,x ; CPU:$99AD PRG:19AD 9D 60 06 rts ; CPU:$99B0 PRG:19B0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop206 -; Global: Branch target inside IrqHandler: taken when Loop206. +; Routine: IrqHandler_Loop237 +; Global: Branch target inside IrqHandler: taken when Loop237. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop206: +IrqHandler_Loop237: lda #$2D ; CPU:$99B1 PRG:19B1 A9 2D sta $0660,x ; CPU:$99B3 PRG:19B3 9D 60 06 rts ; CPU:$99B6 PRG:19B6 60 @@ -5900,31 +6676,31 @@ IrqHandler_Loop206: Sub_99B7: ldx #$48 ; CPU:$99B7 PRG:19B7 A2 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative9 -; Global: Branch target inside IrqHandler: taken when OnNonnegative9. +; Routine: IrqHandler_OnNonnegative11 +; Global: Branch target inside IrqHandler: taken when OnNonnegative11. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative9: +IrqHandler_OnNonnegative11: lda $065F,x ; CPU:$99B9 PRG:19B9 BD 5F 06 - beq IrqHandler_Loop207 ; CPU:$99BC PRG:19BC F0 03 + beq IrqHandler_Loop238 ; CPU:$99BC PRG:19BC F0 03 jsr Sub_99C9 ; CPU:$99BE PRG:19BE 20 C9 99 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop207 -; Global: Branch target inside IrqHandler: taken when Loop207. +; Routine: IrqHandler_Loop238 +; Global: Branch target inside IrqHandler: taken when Loop238. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop207: +IrqHandler_Loop238: txa ; CPU:$99C1 PRG:19C1 8A sec ; CPU:$99C2 PRG:19C2 38 sbc #$08 ; CPU:$99C3 PRG:19C3 E9 08 tax ; CPU:$99C5 PRG:19C5 AA - bpl IrqHandler_OnNonnegative9 ; CPU:$99C6 PRG:19C6 10 F1 + bpl IrqHandler_OnNonnegative11 ; CPU:$99C6 PRG:19C6 10 F1 rts ; CPU:$99C8 PRG:19C8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_99C9 @@ -5937,295 +6713,295 @@ IrqHandler_Loop207: Sub_99C9: lda $065F,x ; CPU:$99C9 PRG:19C9 BD 5F 06 cmp #$04 ; CPU:$99CC PRG:19CC C9 04 - bne IrqHandler_Loop208 ; CPU:$99CE PRG:19CE D0 03 + bne IrqHandler_Loop239 ; CPU:$99CE PRG:19CE D0 03 jmp Sub_9B38 ; CPU:$99D0 PRG:19D0 4C 38 9B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop208 -; Global: Branch target inside IrqHandler: taken when Loop208. +; Routine: IrqHandler_Loop239 +; Global: Branch target inside IrqHandler: taken when Loop239. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop208: +IrqHandler_Loop239: lda $06CB ; CPU:$99D3 PRG:19D3 AD CB 06 - bne IrqHandler_Loop209 ; CPU:$99D6 PRG:19D6 D0 0F + bne IrqHandler_Loop240 ; CPU:$99D6 PRG:19D6 D0 0F dec $065B,x ; CPU:$99D8 PRG:19D8 DE 5B 06 lda $065B,x ; CPU:$99DB PRG:19DB BD 5B 06 cmp #$04 ; CPU:$99DE PRG:19DE C9 04 - bcs IrqHandler_Loop209 ; CPU:$99E0 PRG:19E0 B0 05 + bcs IrqHandler_Loop240 ; CPU:$99E0 PRG:19E0 B0 05 lda #$00 ; CPU:$99E2 PRG:19E2 A9 00 sta $065F,x ; CPU:$99E4 PRG:19E4 9D 5F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop209 -; Global: Branch target inside IrqHandler: taken when Loop209. +; Routine: IrqHandler_Loop240 +; Global: Branch target inside IrqHandler: taken when Loop240. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop209: +IrqHandler_Loop240: lda $065F,x ; CPU:$99E7 PRG:19E7 BD 5F 06 cmp #$02 ; CPU:$99EA PRG:19EA C9 02 - beq IrqHandler_Loop217 ; CPU:$99EC PRG:19EC F0 64 + beq IrqHandler_Loop248 ; CPU:$99EC PRG:19EC F0 64 lda $06CB ; CPU:$99EE PRG:19EE AD CB 06 - bne IrqHandler_Loop211 ; CPU:$99F1 PRG:19F1 D0 0A + bne IrqHandler_Loop242 ; CPU:$99F1 PRG:19F1 D0 0A txa ; CPU:$99F3 PRG:19F3 8A lsr a ; CPU:$99F4 PRG:19F4 4A - bcs IrqHandler_Loop210 ; CPU:$99F5 PRG:19F5 B0 03 + bcs IrqHandler_Loop241 ; CPU:$99F5 PRG:19F5 B0 03 dec $0659,x ; CPU:$99F7 PRG:19F7 DE 59 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop210 -; Global: Branch target inside IrqHandler: taken when Loop210. +; Routine: IrqHandler_Loop241 +; Global: Branch target inside IrqHandler: taken when Loop241. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop210: +IrqHandler_Loop241: dec $0659,x ; CPU:$99FA PRG:19FA DE 59 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop211 -; Global: Branch target inside IrqHandler: taken when Loop211. +; Routine: IrqHandler_Loop242 +; Global: Branch target inside IrqHandler: taken when Loop242. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop211: +IrqHandler_Loop242: lda $06D1 ; CPU:$99FD PRG:19FD AD D1 06 - bne IrqHandler_Loop213 ; CPU:$9A00 PRG:1A00 D0 13 + bne IrqHandler_Loop244 ; CPU:$9A00 PRG:1A00 D0 13 lda $065D,x ; CPU:$9A02 PRG:1A02 BD 5D 06 cmp #$F0 ; CPU:$9A05 PRG:1A05 C9 F0 - beq IrqHandler_Loop212 ; CPU:$9A07 PRG:1A07 F0 07 + beq IrqHandler_Loop243 ; CPU:$9A07 PRG:1A07 F0 07 lda #$F0 ; CPU:$9A09 PRG:1A09 A9 F0 sta $065D,x ; CPU:$9A0B PRG:1A0B 9D 5D 06 - bne IrqHandler_Loop213 ; CPU:$9A0E PRG:1A0E D0 05 + bne IrqHandler_Loop244 ; CPU:$9A0E PRG:1A0E D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop212 -; Global: Branch target inside IrqHandler: taken when Loop212. +; Routine: IrqHandler_Loop243 +; Global: Branch target inside IrqHandler: taken when Loop243. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop212: +IrqHandler_Loop243: lda #$F1 ; CPU:$9A10 PRG:1A10 A9 F1 sta $065D,x ; CPU:$9A12 PRG:1A12 9D 5D 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop213 -; Global: Branch target inside IrqHandler: taken when Loop213. +; Routine: IrqHandler_Loop244 +; Global: Branch target inside IrqHandler: taken when Loop244. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop213: +IrqHandler_Loop244: lda $065F,x ; CPU:$9A15 PRG:1A15 BD 5F 06 cmp #$03 ; CPU:$9A18 PRG:1A18 C9 03 - bne IrqHandler_Loop215 ; CPU:$9A1A PRG:1A1A D0 1A + bne IrqHandler_Loop246 ; CPU:$9A1A PRG:1A1A D0 1A lda $0659,x ; CPU:$9A1C PRG:1A1C BD 59 06 cmp #$EC ; CPU:$9A1F PRG:1A1F C9 EC - bcc IrqHandler_Loop214 ; CPU:$9A21 PRG:1A21 90 08 + bcc IrqHandler_Loop245 ; CPU:$9A21 PRG:1A21 90 08 lda #$00 ; CPU:$9A23 PRG:1A23 A9 00 sta $065F,x ; CPU:$9A25 PRG:1A25 9D 5F 06 - jmp IrqHandler_Loop222 ; CPU:$9A28 PRG:1A28 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9A28 PRG:1A28 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop214 -; Global: Branch target inside IrqHandler: taken when Loop214. +; Routine: IrqHandler_Loop245 +; Global: Branch target inside IrqHandler: taken when Loop245. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop214: +IrqHandler_Loop245: lda $06CB ; CPU:$9A2B PRG:1A2B AD CB 06 - bne IrqHandler_Loop222 ; CPU:$9A2E PRG:1A2E D0 5A + bne IrqHandler_Loop253 ; CPU:$9A2E PRG:1A2E D0 5A dec $0659,x ; CPU:$9A30 PRG:1A30 DE 59 06 - jmp IrqHandler_Loop222 ; CPU:$9A33 PRG:1A33 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9A33 PRG:1A33 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop215 -; Global: Branch target inside IrqHandler: taken when Loop215. +; Routine: IrqHandler_Loop246 +; Global: Branch target inside IrqHandler: taken when Loop246. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop215: +IrqHandler_Loop246: lda $0660,x ; CPU:$9A36 PRG:1A36 BD 60 06 - bne IrqHandler_Loop216 ; CPU:$9A39 PRG:1A39 D0 11 + bne IrqHandler_Loop247 ; CPU:$9A39 PRG:1A39 D0 11 lda #$02 ; CPU:$9A3B PRG:1A3B A9 02 sta $065F,x ; CPU:$9A3D PRG:1A3D 9D 5F 06 lda #$64 ; CPU:$9A40 PRG:1A40 A9 64 sta $0660,x ; CPU:$9A42 PRG:1A42 9D 60 06 lda #$F2 ; CPU:$9A45 PRG:1A45 A9 F2 sta $065D,x ; CPU:$9A47 PRG:1A47 9D 5D 06 - bne IrqHandler_Loop222 ; CPU:$9A4A PRG:1A4A D0 3E + bne IrqHandler_Loop253 ; CPU:$9A4A PRG:1A4A D0 3E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop216 -; Global: Branch target inside IrqHandler: taken when Loop216. +; Routine: IrqHandler_Loop247 +; Global: Branch target inside IrqHandler: taken when Loop247. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop216: +IrqHandler_Loop247: dec $0660,x ; CPU:$9A4C PRG:1A4C DE 60 06 - jmp IrqHandler_Loop222 ; CPU:$9A4F PRG:1A4F 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9A4F PRG:1A4F 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop217 -; Global: Branch target inside IrqHandler: taken when Loop217. +; Routine: IrqHandler_Loop248 +; Global: Branch target inside IrqHandler: taken when Loop248. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop217: +IrqHandler_Loop248: lda $06CB ; CPU:$9A52 PRG:1A52 AD CB 06 - bne IrqHandler_Loop218 ; CPU:$9A55 PRG:1A55 D0 07 + bne IrqHandler_Loop249 ; CPU:$9A55 PRG:1A55 D0 07 txa ; CPU:$9A57 PRG:1A57 8A lsr a ; CPU:$9A58 PRG:1A58 4A - bcc IrqHandler_Loop218 ; CPU:$9A59 PRG:1A59 90 03 + bcc IrqHandler_Loop249 ; CPU:$9A59 PRG:1A59 90 03 inc $0659,x ; CPU:$9A5B PRG:1A5B FE 59 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop218 -; Global: Branch target inside IrqHandler: taken when Loop218. +; Routine: IrqHandler_Loop249 +; Global: Branch target inside IrqHandler: taken when Loop249. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop218: +IrqHandler_Loop249: lda $06D1 ; CPU:$9A5E PRG:1A5E AD D1 06 - bne IrqHandler_Loop220 ; CPU:$9A61 PRG:1A61 D0 13 + bne IrqHandler_Loop251 ; CPU:$9A61 PRG:1A61 D0 13 lda $065D,x ; CPU:$9A63 PRG:1A63 BD 5D 06 cmp #$F1 ; CPU:$9A66 PRG:1A66 C9 F1 - beq IrqHandler_Loop219 ; CPU:$9A68 PRG:1A68 F0 07 + beq IrqHandler_Loop250 ; CPU:$9A68 PRG:1A68 F0 07 lda #$F1 ; CPU:$9A6A PRG:1A6A A9 F1 sta $065D,x ; CPU:$9A6C PRG:1A6C 9D 5D 06 - bne IrqHandler_Loop220 ; CPU:$9A6F PRG:1A6F D0 05 + bne IrqHandler_Loop251 ; CPU:$9A6F PRG:1A6F D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop219 -; Global: Branch target inside IrqHandler: taken when Loop219. +; Routine: IrqHandler_Loop250 +; Global: Branch target inside IrqHandler: taken when Loop250. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop219: +IrqHandler_Loop250: lda #$F2 ; CPU:$9A71 PRG:1A71 A9 F2 sta $065D,x ; CPU:$9A73 PRG:1A73 9D 5D 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop220 -; Global: Branch target inside IrqHandler: taken when Loop220. +; Routine: IrqHandler_Loop251 +; Global: Branch target inside IrqHandler: taken when Loop251. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop220: +IrqHandler_Loop251: lda $0660,x ; CPU:$9A76 PRG:1A76 BD 60 06 - bne IrqHandler_Loop221 ; CPU:$9A79 PRG:1A79 D0 0C + bne IrqHandler_Loop252 ; CPU:$9A79 PRG:1A79 D0 0C lda #$03 ; CPU:$9A7B PRG:1A7B A9 03 sta $065F,x ; CPU:$9A7D PRG:1A7D 9D 5F 06 lda #$F1 ; CPU:$9A80 PRG:1A80 A9 F1 sta $065D,x ; CPU:$9A82 PRG:1A82 9D 5D 06 - bne IrqHandler_Loop222 ; CPU:$9A85 PRG:1A85 D0 03 + bne IrqHandler_Loop253 ; CPU:$9A85 PRG:1A85 D0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop221 -; Global: Branch target inside IrqHandler: taken when Loop221. +; Routine: IrqHandler_Loop252 +; Global: Branch target inside IrqHandler: taken when Loop252. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop221: +IrqHandler_Loop252: dec $0660,x ; CPU:$9A87 PRG:1A87 DE 60 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop222 -; Global: Branch target inside IrqHandler: taken when Loop222. +; Routine: IrqHandler_Loop253 +; Global: Branch target inside IrqHandler: taken when Loop253. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop222: +IrqHandler_Loop253: lda $065B,x ; CPU:$9A8A PRG:1A8A BD 5B 06 cmp #$04 ; CPU:$9A8D PRG:1A8D C9 04 - bcs IrqHandler_Loop223 ; CPU:$9A8F PRG:1A8F B0 06 + bcs IrqHandler_Loop254 ; CPU:$9A8F PRG:1A8F B0 06 lda #$00 ; CPU:$9A91 PRG:1A91 A9 00 sta $065F,x ; CPU:$9A93 PRG:1A93 9D 5F 06 rts ; CPU:$9A96 PRG:1A96 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop223 -; Global: Branch target inside IrqHandler: taken when Loop223. +; Routine: IrqHandler_Loop254 +; Global: Branch target inside IrqHandler: taken when Loop254. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop223: +IrqHandler_Loop254: lda $05A7 ; CPU:$9A97 PRG:1A97 AD A7 05 cmp #$09 ; CPU:$9A9A PRG:1A9A C9 09 - bne IrqHandler_Loop224 ; CPU:$9A9C PRG:1A9C D0 03 - jmp IrqHandler_Loop226 ; CPU:$9A9E PRG:1A9E 4C 21 9B + bne IrqHandler_Loop255 ; CPU:$9A9C PRG:1A9C D0 03 + jmp IrqHandler_Loop257 ; CPU:$9A9E PRG:1A9E 4C 21 9B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop224 -; Global: Branch target inside IrqHandler: taken when Loop224. +; Routine: IrqHandler_Loop255 +; Global: Branch target inside IrqHandler: taken when Loop255. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop224: +IrqHandler_Loop255: lda $0501 ; CPU:$9AA1 PRG:1AA1 AD 01 05 cmp $065B,x ; CPU:$9AA4 PRG:1AA4 DD 5B 06 - bcs IrqHandler_Loop225 ; CPU:$9AA7 PRG:1AA7 B0 24 + bcs IrqHandler_Loop256 ; CPU:$9AA7 PRG:1AA7 B0 24 lda $0501 ; CPU:$9AA9 PRG:1AA9 AD 01 05 clc ; CPU:$9AAC PRG:1AAC 18 adc #$10 ; CPU:$9AAD PRG:1AAD 69 10 cmp $065B,x ; CPU:$9AAF PRG:1AAF DD 5B 06 - bcc IrqHandler_Loop225 ; CPU:$9AB2 PRG:1AB2 90 19 + bcc IrqHandler_Loop256 ; CPU:$9AB2 PRG:1AB2 90 19 lda $0502 ; CPU:$9AB4 PRG:1AB4 AD 02 05 sec ; CPU:$9AB7 PRG:1AB7 38 sbc #$04 ; CPU:$9AB8 PRG:1AB8 E9 04 cmp $0659,x ; CPU:$9ABA PRG:1ABA DD 59 06 - bcs IrqHandler_Loop225 ; CPU:$9ABD PRG:1ABD B0 0E + bcs IrqHandler_Loop256 ; CPU:$9ABD PRG:1ABD B0 0E lda $0502 ; CPU:$9ABF PRG:1ABF AD 02 05 clc ; CPU:$9AC2 PRG:1AC2 18 adc #$0C ; CPU:$9AC3 PRG:1AC3 69 0C cmp $0659,x ; CPU:$9AC5 PRG:1AC5 DD 59 06 - bcc IrqHandler_Loop225 ; CPU:$9AC8 PRG:1AC8 90 03 + bcc IrqHandler_Loop256 ; CPU:$9AC8 PRG:1AC8 90 03 jmp Sub_9AF9 ; CPU:$9ACA PRG:1ACA 4C F9 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop225 -; Global: Branch target inside IrqHandler: taken when Loop225. +; Routine: IrqHandler_Loop256 +; Global: Branch target inside IrqHandler: taken when Loop256. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop225: +IrqHandler_Loop256: lda $0501 ; CPU:$9ACD PRG:1ACD AD 01 05 clc ; CPU:$9AD0 PRG:1AD0 18 adc #$02 ; CPU:$9AD1 PRG:1AD1 69 02 cmp $065B,x ; CPU:$9AD3 PRG:1AD3 DD 5B 06 - bcs IrqHandler_Loop226 ; CPU:$9AD6 PRG:1AD6 B0 49 + bcs IrqHandler_Loop257 ; CPU:$9AD6 PRG:1AD6 B0 49 lda $0501 ; CPU:$9AD8 PRG:1AD8 AD 01 05 clc ; CPU:$9ADB PRG:1ADB 18 adc #$0C ; CPU:$9ADC PRG:1ADC 69 0C cmp $065B,x ; CPU:$9ADE PRG:1ADE DD 5B 06 - bcc IrqHandler_Loop226 ; CPU:$9AE1 PRG:1AE1 90 3E + bcc IrqHandler_Loop257 ; CPU:$9AE1 PRG:1AE1 90 3E lda $0502 ; CPU:$9AE3 PRG:1AE3 AD 02 05 sec ; CPU:$9AE6 PRG:1AE6 38 sbc #$0E ; CPU:$9AE7 PRG:1AE7 E9 0E cmp $0659,x ; CPU:$9AE9 PRG:1AE9 DD 59 06 - bcs IrqHandler_Loop226 ; CPU:$9AEC PRG:1AEC B0 33 + bcs IrqHandler_Loop257 ; CPU:$9AEC PRG:1AEC B0 33 lda $0502 ; CPU:$9AEE PRG:1AEE AD 02 05 sec ; CPU:$9AF1 PRG:1AF1 38 sbc #$04 ; CPU:$9AF2 PRG:1AF2 E9 04 cmp $0659,x ; CPU:$9AF4 PRG:1AF4 DD 59 06 - bcc IrqHandler_Loop226 ; CPU:$9AF7 PRG:1AF7 90 28 + bcc IrqHandler_Loop257 ; CPU:$9AF7 PRG:1AF7 90 28 ; ----------------------------------------------------------------------------- ; Routine: Sub_9AF9 ; Global: Branch target inside Sub: taken when 9AF9. @@ -6245,29 +7021,29 @@ Sub_9AF9: lda #$00 ; CPU:$9B0B PRG:1B0B A9 00 sta $065F,x ; CPU:$9B0D PRG:1B0D 9D 5F 06 lda $0659,x ; CPU:$9B10 PRG:1B10 BD 59 06 - sta Zp4A ; CPU:$9B13 PRG:1B13 85 4A + sta DispatchPtrLo ; CPU:$9B13 PRG:1B13 85 4A lda $065B,x ; CPU:$9B15 PRG:1B15 BD 5B 06 - sta Zp4B ; CPU:$9B18 PRG:1B18 85 4B + sta DispatchPtrHi ; CPU:$9B18 PRG:1B18 85 4B lda #$81 ; CPU:$9B1A PRG:1B1A A9 81 sta Zp4C ; CPU:$9B1C PRG:1B1C 85 4C jmp Sub_B4FB ; CPU:$9B1E PRG:1B1E 4C FB B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop226 -; Global: Branch target inside IrqHandler: taken when Loop226. +; Routine: IrqHandler_Loop257 +; Global: Branch target inside IrqHandler: taken when Loop257. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop226: +IrqHandler_Loop257: lda $0659,x ; CPU:$9B21 PRG:1B21 BD 59 06 - sta Zp19 ; CPU:$9B24 PRG:1B24 85 19 + sta PlayerXHigh ; CPU:$9B24 PRG:1B24 85 19 lda $065B,x ; CPU:$9B26 PRG:1B26 BD 5B 06 - sta Zp1C ; CPU:$9B29 PRG:1B29 85 1C + sta PlayerYHigh ; CPU:$9B29 PRG:1B29 85 1C lda $065D,x ; CPU:$9B2B PRG:1B2B BD 5D 06 - sta Zp1A ; CPU:$9B2E PRG:1B2E 85 1A + sta PlayerXLow ; CPU:$9B2E PRG:1B2E 85 1A lda $065E,x ; CPU:$9B30 PRG:1B30 BD 5E 06 - sta Zp1B ; CPU:$9B33 PRG:1B33 85 1B + sta PlayerYLow ; CPU:$9B33 PRG:1B33 85 1B jmp Sub_8221 ; CPU:$9B35 PRG:1B35 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9B38 @@ -6279,158 +7055,158 @@ IrqHandler_Loop226: ; ----------------------------------------------------------------------------- Sub_9B38: lda $0660,x ; CPU:$9B38 PRG:1B38 BD 60 06 - bne IrqHandler_Loop227 ; CPU:$9B3B PRG:1B3B D0 0D + bne IrqHandler_Loop258 ; CPU:$9B3B PRG:1B3B D0 0D lda #$01 ; CPU:$9B3D PRG:1B3D A9 01 sta $065F,x ; CPU:$9B3F PRG:1B3F 9D 5F 06 lda #$14 ; CPU:$9B42 PRG:1B42 A9 14 sta $0660,x ; CPU:$9B44 PRG:1B44 9D 60 06 - jmp IrqHandler_Loop222 ; CPU:$9B47 PRG:1B47 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B47 PRG:1B47 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop227 -; Global: Branch target inside IrqHandler: taken when Loop227. +; Routine: IrqHandler_Loop258 +; Global: Branch target inside IrqHandler: taken when Loop258. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop227: +IrqHandler_Loop258: dec $0660,x ; CPU:$9B4A PRG:1B4A DE 60 06 cpx #$48 ; CPU:$9B4D PRG:1B4D E0 48 - bne IrqHandler_Loop228 ; CPU:$9B4F PRG:1B4F D0 0F + bne IrqHandler_Loop259 ; CPU:$9B4F PRG:1B4F D0 0F dec $0659,x ; CPU:$9B51 PRG:1B51 DE 59 06 dec $0659,x ; CPU:$9B54 PRG:1B54 DE 59 06 inc $065B,x ; CPU:$9B57 PRG:1B57 FE 5B 06 inc $065B,x ; CPU:$9B5A PRG:1B5A FE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9B5D PRG:1B5D 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B5D PRG:1B5D 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop228 -; Global: Branch target inside IrqHandler: taken when Loop228. +; Routine: IrqHandler_Loop259 +; Global: Branch target inside IrqHandler: taken when Loop259. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop228: +IrqHandler_Loop259: cpx #$40 ; CPU:$9B60 PRG:1B60 E0 40 - bne IrqHandler_Loop229 ; CPU:$9B62 PRG:1B62 D0 0C + bne IrqHandler_Loop260 ; CPU:$9B62 PRG:1B62 D0 0C dec $0659,x ; CPU:$9B64 PRG:1B64 DE 59 06 dec $0659,x ; CPU:$9B67 PRG:1B67 DE 59 06 inc $065B,x ; CPU:$9B6A PRG:1B6A FE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9B6D PRG:1B6D 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B6D PRG:1B6D 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop229 -; Global: Branch target inside IrqHandler: taken when Loop229. +; Routine: IrqHandler_Loop260 +; Global: Branch target inside IrqHandler: taken when Loop260. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop229: +IrqHandler_Loop260: cpx #$38 ; CPU:$9B70 PRG:1B70 E0 38 - bne IrqHandler_Loop230 ; CPU:$9B72 PRG:1B72 D0 0C + bne IrqHandler_Loop261 ; CPU:$9B72 PRG:1B72 D0 0C dec $0659,x ; CPU:$9B74 PRG:1B74 DE 59 06 dec $0659,x ; CPU:$9B77 PRG:1B77 DE 59 06 dec $065B,x ; CPU:$9B7A PRG:1B7A DE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9B7D PRG:1B7D 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B7D PRG:1B7D 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop230 -; Global: Branch target inside IrqHandler: taken when Loop230. +; Routine: IrqHandler_Loop261 +; Global: Branch target inside IrqHandler: taken when Loop261. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop230: +IrqHandler_Loop261: cpx #$30 ; CPU:$9B80 PRG:1B80 E0 30 - bne IrqHandler_Loop231 ; CPU:$9B82 PRG:1B82 D0 0F + bne IrqHandler_Loop262 ; CPU:$9B82 PRG:1B82 D0 0F dec $0659,x ; CPU:$9B84 PRG:1B84 DE 59 06 dec $0659,x ; CPU:$9B87 PRG:1B87 DE 59 06 dec $065B,x ; CPU:$9B8A PRG:1B8A DE 5B 06 dec $065B,x ; CPU:$9B8D PRG:1B8D DE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9B90 PRG:1B90 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B90 PRG:1B90 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop231 -; Global: Branch target inside IrqHandler: taken when Loop231. +; Routine: IrqHandler_Loop262 +; Global: Branch target inside IrqHandler: taken when Loop262. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop231: +IrqHandler_Loop262: cpx #$28 ; CPU:$9B93 PRG:1B93 E0 28 - bne IrqHandler_Loop232 ; CPU:$9B95 PRG:1B95 D0 09 + bne IrqHandler_Loop263 ; CPU:$9B95 PRG:1B95 D0 09 dec $0659,x ; CPU:$9B97 PRG:1B97 DE 59 06 dec $065B,x ; CPU:$9B9A PRG:1B9A DE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9B9D PRG:1B9D 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9B9D PRG:1B9D 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop232 -; Global: Branch target inside IrqHandler: taken when Loop232. +; Routine: IrqHandler_Loop263 +; Global: Branch target inside IrqHandler: taken when Loop263. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop232: +IrqHandler_Loop263: cpx #$20 ; CPU:$9BA0 PRG:1BA0 E0 20 - bne IrqHandler_Loop233 ; CPU:$9BA2 PRG:1BA2 D0 06 + bne IrqHandler_Loop264 ; CPU:$9BA2 PRG:1BA2 D0 06 dec $0659,x ; CPU:$9BA4 PRG:1BA4 DE 59 06 - jmp IrqHandler_Loop222 ; CPU:$9BA7 PRG:1BA7 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9BA7 PRG:1BA7 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop233 -; Global: Branch target inside IrqHandler: taken when Loop233. +; Routine: IrqHandler_Loop264 +; Global: Branch target inside IrqHandler: taken when Loop264. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop233: +IrqHandler_Loop264: cpx #$18 ; CPU:$9BAA PRG:1BAA E0 18 - bne IrqHandler_Loop234 ; CPU:$9BAC PRG:1BAC D0 0C + bne IrqHandler_Loop265 ; CPU:$9BAC PRG:1BAC D0 0C inc $0659,x ; CPU:$9BAE PRG:1BAE FE 59 06 dec $065B,x ; CPU:$9BB1 PRG:1BB1 DE 5B 06 dec $065B,x ; CPU:$9BB4 PRG:1BB4 DE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9BB7 PRG:1BB7 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9BB7 PRG:1BB7 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop234 -; Global: Branch target inside IrqHandler: taken when Loop234. +; Routine: IrqHandler_Loop265 +; Global: Branch target inside IrqHandler: taken when Loop265. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop234: +IrqHandler_Loop265: cpx #$10 ; CPU:$9BBA PRG:1BBA E0 10 - bne IrqHandler_Loop235 ; CPU:$9BBC PRG:1BBC D0 09 + bne IrqHandler_Loop266 ; CPU:$9BBC PRG:1BBC D0 09 dec $0659,x ; CPU:$9BBE PRG:1BBE DE 59 06 dec $065B,x ; CPU:$9BC1 PRG:1BC1 DE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9BC4 PRG:1BC4 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9BC4 PRG:1BC4 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop235 -; Global: Branch target inside IrqHandler: taken when Loop235. +; Routine: IrqHandler_Loop266 +; Global: Branch target inside IrqHandler: taken when Loop266. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop235: +IrqHandler_Loop266: cpx #$08 ; CPU:$9BC7 PRG:1BC7 E0 08 - bne IrqHandler_Loop236 ; CPU:$9BC9 PRG:1BC9 D0 09 + bne IrqHandler_Loop267 ; CPU:$9BC9 PRG:1BC9 D0 09 dec $0659,x ; CPU:$9BCB PRG:1BCB DE 59 06 inc $065B,x ; CPU:$9BCE PRG:1BCE FE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9BD1 PRG:1BD1 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9BD1 PRG:1BD1 4C 8A 9A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop236 -; Global: Branch target inside IrqHandler: taken when Loop236. +; Routine: IrqHandler_Loop267 +; Global: Branch target inside IrqHandler: taken when Loop267. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop236: +IrqHandler_Loop267: dec $0659,x ; CPU:$9BD4 PRG:1BD4 DE 59 06 inc $065B,x ; CPU:$9BD7 PRG:1BD7 FE 5B 06 inc $065B,x ; CPU:$9BDA PRG:1BDA FE 5B 06 - jmp IrqHandler_Loop222 ; CPU:$9BDD PRG:1BDD 4C 8A 9A + jmp IrqHandler_Loop253 ; CPU:$9BDD PRG:1BDD 4C 8A 9A ; ----------------------------------------------------------------------------- ; Routine: Sub_9BE0 ; Global: Branch target inside Sub: taken when 9BE0. @@ -6441,33 +7217,33 @@ IrqHandler_Loop236: ; ----------------------------------------------------------------------------- Sub_9BE0: lda $0514 ; CPU:$9BE0 PRG:1BE0 AD 14 05 - beq IrqHandler_Loop237 ; CPU:$9BE3 PRG:1BE3 F0 06 + beq IrqHandler_Loop268 ; CPU:$9BE3 PRG:1BE3 F0 06 lda $05A7 ; CPU:$9BE5 PRG:1BE5 AD A7 05 - bne IrqHandler_Loop238 ; CPU:$9BE8 PRG:1BE8 D0 08 + bne IrqHandler_Loop269 ; CPU:$9BE8 PRG:1BE8 D0 08 rts ; CPU:$9BEA PRG:1BEA 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop237 -; Global: Branch target inside IrqHandler: taken when Loop237. +; Routine: IrqHandler_Loop268 +; Global: Branch target inside IrqHandler: taken when Loop268. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop237: +IrqHandler_Loop268: lda $05A7 ; CPU:$9BEB PRG:1BEB AD A7 05 cmp #$09 ; CPU:$9BEE PRG:1BEE C9 09 - bne IrqHandler_Loop239 ; CPU:$9BF0 PRG:1BF0 D0 27 + bne IrqHandler_Loop270 ; CPU:$9BF0 PRG:1BF0 D0 27 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop238 -; Global: Branch target inside IrqHandler: taken when Loop238. +; Routine: IrqHandler_Loop269 +; Global: Branch target inside IrqHandler: taken when Loop269. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop238: +IrqHandler_Loop269: lda $05B1 ; CPU:$9BF2 PRG:1BF2 AD B1 05 - bne IrqHandler_Loop239 ; CPU:$9BF5 PRG:1BF5 D0 22 + bne IrqHandler_Loop270 ; CPU:$9BF5 PRG:1BF5 D0 22 lda #$01 ; CPU:$9BF7 PRG:1BF7 A9 01 sta $05B1 ; CPU:$9BF9 PRG:1BF9 8D B1 05 lda #$00 ; CPU:$9BFC PRG:1BFC A9 00 @@ -6483,14 +7259,14 @@ IrqHandler_Loop238: lda #$00 ; CPU:$9C14 PRG:1C14 A9 00 sta $07C9 ; CPU:$9C16 PRG:1C16 8D C9 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop239 -; Global: Branch target inside IrqHandler: taken when Loop239. +; Routine: IrqHandler_Loop270 +; Global: Branch target inside IrqHandler: taken when Loop270. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop239: +IrqHandler_Loop270: rts ; CPU:$9C19 PRG:1C19 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C1A @@ -6502,80 +7278,80 @@ IrqHandler_Loop239: ; ----------------------------------------------------------------------------- Sub_9C1A: lda $05B1 ; CPU:$9C1A PRG:1C1A AD B1 05 - beq IrqHandler_Loop239 ; CPU:$9C1D PRG:1C1D F0 FA + beq IrqHandler_Loop270 ; CPU:$9C1D PRG:1C1D F0 FA lda $05B1 ; CPU:$9C1F PRG:1C1F AD B1 05 cmp #$02 ; CPU:$9C22 PRG:1C22 C9 02 - beq IrqHandler_Loop244 ; CPU:$9C24 PRG:1C24 F0 3E + beq IrqHandler_Loop275 ; CPU:$9C24 PRG:1C24 F0 3E lda $0514 ; CPU:$9C26 PRG:1C26 AD 14 05 - beq IrqHandler_Loop240 ; CPU:$9C29 PRG:1C29 F0 03 - jmp IrqHandler_Loop241 ; CPU:$9C2B PRG:1C2B 4C 3F 9C + beq IrqHandler_Loop271 ; CPU:$9C29 PRG:1C29 F0 03 + jmp IrqHandler_Loop272 ; CPU:$9C2B PRG:1C2B 4C 3F 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop240 -; Global: Branch target inside IrqHandler: taken when Loop240. +; Routine: IrqHandler_Loop271 +; Global: Branch target inside IrqHandler: taken when Loop271. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop240: +IrqHandler_Loop271: lda $05B2 ; CPU:$9C2E PRG:1C2E AD B2 05 cmp #$09 ; CPU:$9C31 PRG:1C31 C9 09 - bne IrqHandler_Loop241 ; CPU:$9C33 PRG:1C33 D0 0A + bne IrqHandler_Loop272 ; CPU:$9C33 PRG:1C33 D0 0A inc $0519 ; CPU:$9C35 PRG:1C35 EE 19 05 sec ; CPU:$9C38 PRG:1C38 38 jsr Sub_9EED ; CPU:$9C39 PRG:1C39 20 ED 9E - jmp IrqHandler_Loop244 ; CPU:$9C3C PRG:1C3C 4C 64 9C + jmp IrqHandler_Loop275 ; CPU:$9C3C PRG:1C3C 4C 64 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop241 -; Global: Branch target inside IrqHandler: taken when Loop241. +; Routine: IrqHandler_Loop272 +; Global: Branch target inside IrqHandler: taken when Loop272. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop241: +IrqHandler_Loop272: lda $0501 ; CPU:$9C3F PRG:1C3F AD 01 05 clc ; CPU:$9C42 PRG:1C42 18 adc #$10 ; CPU:$9C43 PRG:1C43 69 10 cmp $05AD ; CPU:$9C45 PRG:1C45 CD AD 05 - beq IrqHandler_Loop243 ; CPU:$9C48 PRG:1C48 F0 17 + beq IrqHandler_Loop274 ; CPU:$9C48 PRG:1C48 F0 17 lda $0501 ; CPU:$9C4A PRG:1C4A AD 01 05 clc ; CPU:$9C4D PRG:1C4D 18 adc #$10 ; CPU:$9C4E PRG:1C4E 69 10 cmp $05AD ; CPU:$9C50 PRG:1C50 CD AD 05 - bcs IrqHandler_Loop242 ; CPU:$9C53 PRG:1C53 B0 06 + bcs IrqHandler_Loop273 ; CPU:$9C53 PRG:1C53 B0 06 dec $05AD ; CPU:$9C55 PRG:1C55 CE AD 05 jmp Sub_9C7B ; CPU:$9C58 PRG:1C58 4C 7B 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop242 -; Global: Branch target inside IrqHandler: taken when Loop242. +; Routine: IrqHandler_Loop273 +; Global: Branch target inside IrqHandler: taken when Loop273. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop242: +IrqHandler_Loop273: inc $05AD ; CPU:$9C5B PRG:1C5B EE AD 05 jmp Sub_9C7B ; CPU:$9C5E PRG:1C5E 4C 7B 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop243 -; Global: Branch target inside IrqHandler: taken when Loop243. +; Routine: IrqHandler_Loop274 +; Global: Branch target inside IrqHandler: taken when Loop274. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop243: +IrqHandler_Loop274: jmp Sub_9C7B ; CPU:$9C61 PRG:1C61 4C 7B 9C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop244 -; Global: Branch target inside IrqHandler: taken when Loop244. +; Routine: IrqHandler_Loop275 +; Global: Branch target inside IrqHandler: taken when Loop275. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop244: +IrqHandler_Loop275: lda #$02 ; CPU:$9C64 PRG:1C64 A9 02 sta $05B1 ; CPU:$9C66 PRG:1C66 8D B1 05 dec $05AD ; CPU:$9C69 PRG:1C69 CE AD 05 @@ -6595,64 +7371,64 @@ IrqHandler_Loop244: ; ----------------------------------------------------------------------------- Sub_9C7B: lda $05AD ; CPU:$9C7B PRG:1C7B AD AD 05 - bne IrqHandler_Loop245 ; CPU:$9C7E PRG:1C7E D0 06 + bne IrqHandler_Loop276 ; CPU:$9C7E PRG:1C7E D0 06 lda #$00 ; CPU:$9C80 PRG:1C80 A9 00 sta $05B1 ; CPU:$9C82 PRG:1C82 8D B1 05 rts ; CPU:$9C85 PRG:1C85 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop245 -; Global: Branch target inside IrqHandler: taken when Loop245. +; Routine: IrqHandler_Loop276 +; Global: Branch target inside IrqHandler: taken when Loop276. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop245: +IrqHandler_Loop276: lda $05AD ; CPU:$9C86 PRG:1C86 AD AD 05 cmp #$08 ; CPU:$9C89 PRG:1C89 C9 08 - bcs IrqHandler_Loop246 ; CPU:$9C8B PRG:1C8B B0 06 + bcs IrqHandler_Loop277 ; CPU:$9C8B PRG:1C8B B0 06 jsr Sub_9D79 ; CPU:$9C8D PRG:1C8D 20 79 9D jmp Sub_9D61 ; CPU:$9C90 PRG:1C90 4C 61 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop246 -; Global: Branch target inside IrqHandler: taken when Loop246. +; Routine: IrqHandler_Loop277 +; Global: Branch target inside IrqHandler: taken when Loop277. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop246: +IrqHandler_Loop277: cmp #$10 ; CPU:$9C93 PRG:1C93 C9 10 - bcs IrqHandler_Loop247 ; CPU:$9C95 PRG:1C95 B0 0C + bcs IrqHandler_Loop278 ; CPU:$9C95 PRG:1C95 B0 0C jsr Sub_9D46 ; CPU:$9C97 PRG:1C97 20 46 9D jsr Sub_9D79 ; CPU:$9C9A PRG:1C9A 20 79 9D jsr Sub_9D2B ; CPU:$9C9D PRG:1C9D 20 2B 9D jmp Sub_9D61 ; CPU:$9CA0 PRG:1CA0 4C 61 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop247 -; Global: Branch target inside IrqHandler: taken when Loop247. +; Routine: IrqHandler_Loop278 +; Global: Branch target inside IrqHandler: taken when Loop278. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop247: +IrqHandler_Loop278: cmp #$18 ; CPU:$9CA3 PRG:1CA3 C9 18 - bcs IrqHandler_Loop248 ; CPU:$9CA5 PRG:1CA5 B0 0F + bcs IrqHandler_Loop279 ; CPU:$9CA5 PRG:1CA5 B0 0F jsr Sub_9D46 ; CPU:$9CA7 PRG:1CA7 20 46 9D jsr Sub_9D79 ; CPU:$9CAA PRG:1CAA 20 79 9D jsr Sub_9CF0 ; CPU:$9CAD PRG:1CAD 20 F0 9C jsr Sub_9D2B ; CPU:$9CB0 PRG:1CB0 20 2B 9D jmp Sub_9D61 ; CPU:$9CB3 PRG:1CB3 4C 61 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop248 -; Global: Branch target inside IrqHandler: taken when Loop248. +; Routine: IrqHandler_Loop279 +; Global: Branch target inside IrqHandler: taken when Loop279. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop248: +IrqHandler_Loop279: jsr Sub_9D46 ; CPU:$9CB6 PRG:1CB6 20 46 9D jsr Sub_9D79 ; CPU:$9CB9 PRG:1CB9 20 79 9D jsr Sub_9CC8 ; CPU:$9CBC PRG:1CBC 20 C8 9C @@ -6670,40 +7446,40 @@ IrqHandler_Loop248: Sub_9CC8: lda $06CE ; CPU:$9CC8 PRG:1CC8 AD CE 06 cmp #$06 ; CPU:$9CCB PRG:1CCB C9 06 - bcs IrqHandler_Loop249 ; CPU:$9CCD PRG:1CCD B0 06 + bcs IrqHandler_Loop280 ; CPU:$9CCD PRG:1CCD B0 06 lda #$C0 ; CPU:$9CCF PRG:1CCF A9 C0 - sta Zp1A ; CPU:$9CD1 PRG:1CD1 85 1A - bne IrqHandler_Loop250 ; CPU:$9CD3 PRG:1CD3 D0 04 + sta PlayerXLow ; CPU:$9CD1 PRG:1CD1 85 1A + bne IrqHandler_Loop281 ; CPU:$9CD3 PRG:1CD3 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop249 -; Global: Branch target inside IrqHandler: taken when Loop249. +; Routine: IrqHandler_Loop280 +; Global: Branch target inside IrqHandler: taken when Loop280. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop249: +IrqHandler_Loop280: lda #$B4 ; CPU:$9CD5 PRG:1CD5 A9 B4 - sta Zp1A ; CPU:$9CD7 PRG:1CD7 85 1A + sta PlayerXLow ; CPU:$9CD7 PRG:1CD7 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop250 -; Global: Branch target inside IrqHandler: taken when Loop250. +; Routine: IrqHandler_Loop281 +; Global: Branch target inside IrqHandler: taken when Loop281. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop250: +IrqHandler_Loop281: lda $05AB ; CPU:$9CD9 PRG:1CD9 AD AB 05 clc ; CPU:$9CDC PRG:1CDC 18 adc #$12 ; CPU:$9CDD PRG:1CDD 69 12 - sta Zp19 ; CPU:$9CDF PRG:1CDF 85 19 + sta PlayerXHigh ; CPU:$9CDF PRG:1CDF 85 19 lda $05AD ; CPU:$9CE1 PRG:1CE1 AD AD 05 sec ; CPU:$9CE4 PRG:1CE4 38 sbc #$18 ; CPU:$9CE5 PRG:1CE5 E9 18 - sta Zp1C ; CPU:$9CE7 PRG:1CE7 85 1C + sta PlayerYHigh ; CPU:$9CE7 PRG:1CE7 85 1C lda #$02 ; CPU:$9CE9 PRG:1CE9 A9 02 - sta Zp1B ; CPU:$9CEB PRG:1CEB 85 1B + sta PlayerYLow ; CPU:$9CEB PRG:1CEB 85 1B jmp Sub_8221 ; CPU:$9CED PRG:1CED 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9CF0 @@ -6717,48 +7493,48 @@ Sub_9CF0: lda $05AB ; CPU:$9CF0 PRG:1CF0 AD AB 05 clc ; CPU:$9CF3 PRG:1CF3 18 adc #$12 ; CPU:$9CF4 PRG:1CF4 69 12 - sta Zp19 ; CPU:$9CF6 PRG:1CF6 85 19 + sta PlayerXHigh ; CPU:$9CF6 PRG:1CF6 85 19 lda $05AD ; CPU:$9CF8 PRG:1CF8 AD AD 05 sec ; CPU:$9CFB PRG:1CFB 38 sbc #$10 ; CPU:$9CFC PRG:1CFC E9 10 - sta Zp1C ; CPU:$9CFE PRG:1CFE 85 1C + sta PlayerYHigh ; CPU:$9CFE PRG:1CFE 85 1C lda #$C1 ; CPU:$9D00 PRG:1D00 A9 C1 - sta Zp1A ; CPU:$9D02 PRG:1D02 85 1A + sta PlayerXLow ; CPU:$9D02 PRG:1D02 85 1A lda #$02 ; CPU:$9D04 PRG:1D04 A9 02 - sta Zp1B ; CPU:$9D06 PRG:1D06 85 1B + sta PlayerYLow ; CPU:$9D06 PRG:1D06 85 1B jsr Sub_8221 ; CPU:$9D08 PRG:1D08 20 21 82 lda $0511 ; CPU:$9D0B PRG:1D0B AD 11 05 - beq IrqHandler_Loop251 ; CPU:$9D0E PRG:1D0E F0 0D + beq IrqHandler_Loop282 ; CPU:$9D0E PRG:1D0E F0 0D lda $06D2 ; CPU:$9D10 PRG:1D10 AD D2 06 cmp #$10 ; CPU:$9D13 PRG:1D13 C9 10 - bcs IrqHandler_Loop251 ; CPU:$9D15 PRG:1D15 B0 06 + bcs IrqHandler_Loop282 ; CPU:$9D15 PRG:1D15 B0 06 lda #$B5 ; CPU:$9D17 PRG:1D17 A9 B5 - sta Zp1A ; CPU:$9D19 PRG:1D19 85 1A - bne IrqHandler_Loop252 ; CPU:$9D1B PRG:1D1B D0 04 + sta PlayerXLow ; CPU:$9D19 PRG:1D19 85 1A + bne IrqHandler_Loop283 ; CPU:$9D1B PRG:1D1B D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop251 -; Global: Branch target inside IrqHandler: taken when Loop251. +; Routine: IrqHandler_Loop282 +; Global: Branch target inside IrqHandler: taken when Loop282. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop251: +IrqHandler_Loop282: lda #$EF ; CPU:$9D1D PRG:1D1D A9 EF - sta Zp1A ; CPU:$9D1F PRG:1D1F 85 1A + sta PlayerXLow ; CPU:$9D1F PRG:1D1F 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop252 -; Global: Branch target inside IrqHandler: taken when Loop252. +; Routine: IrqHandler_Loop283 +; Global: Branch target inside IrqHandler: taken when Loop283. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop252: - lda Zp19 ; CPU:$9D21 PRG:1D21 A5 19 +IrqHandler_Loop283: + lda PlayerXHigh ; CPU:$9D21 PRG:1D21 A5 19 sec ; CPU:$9D23 PRG:1D23 38 sbc #$08 ; CPU:$9D24 PRG:1D24 E9 08 - sta Zp19 ; CPU:$9D26 PRG:1D26 85 19 + sta PlayerXHigh ; CPU:$9D26 PRG:1D26 85 19 jmp Sub_8221 ; CPU:$9D28 PRG:1D28 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D2B @@ -6772,15 +7548,15 @@ Sub_9D2B: lda $05AB ; CPU:$9D2B PRG:1D2B AD AB 05 clc ; CPU:$9D2E PRG:1D2E 18 adc #$12 ; CPU:$9D2F PRG:1D2F 69 12 - sta Zp19 ; CPU:$9D31 PRG:1D31 85 19 + sta PlayerXHigh ; CPU:$9D31 PRG:1D31 85 19 lda $05AD ; CPU:$9D33 PRG:1D33 AD AD 05 sec ; CPU:$9D36 PRG:1D36 38 sbc #$08 ; CPU:$9D37 PRG:1D37 E9 08 - sta Zp1C ; CPU:$9D39 PRG:1D39 85 1C + sta PlayerYHigh ; CPU:$9D39 PRG:1D39 85 1C lda #$C2 ; CPU:$9D3B PRG:1D3B A9 C2 - sta Zp1A ; CPU:$9D3D PRG:1D3D 85 1A + sta PlayerXLow ; CPU:$9D3D PRG:1D3D 85 1A lda #$02 ; CPU:$9D3F PRG:1D3F A9 02 - sta Zp1B ; CPU:$9D41 PRG:1D41 85 1B + sta PlayerYLow ; CPU:$9D41 PRG:1D41 85 1B jmp Sub_8221 ; CPU:$9D43 PRG:1D43 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D46 @@ -6794,15 +7570,15 @@ Sub_9D46: lda $05AB ; CPU:$9D46 PRG:1D46 AD AB 05 clc ; CPU:$9D49 PRG:1D49 18 adc #$0A ; CPU:$9D4A PRG:1D4A 69 0A - sta Zp19 ; CPU:$9D4C PRG:1D4C 85 19 + sta PlayerXHigh ; CPU:$9D4C PRG:1D4C 85 19 lda $05AD ; CPU:$9D4E PRG:1D4E AD AD 05 sec ; CPU:$9D51 PRG:1D51 38 sbc #$08 ; CPU:$9D52 PRG:1D52 E9 08 - sta Zp1C ; CPU:$9D54 PRG:1D54 85 1C + sta PlayerYHigh ; CPU:$9D54 PRG:1D54 85 1C lda #$B2 ; CPU:$9D56 PRG:1D56 A9 B2 - sta Zp1A ; CPU:$9D58 PRG:1D58 85 1A + sta PlayerXLow ; CPU:$9D58 PRG:1D58 85 1A lda #$02 ; CPU:$9D5A PRG:1D5A A9 02 - sta Zp1B ; CPU:$9D5C PRG:1D5C 85 1B + sta PlayerYLow ; CPU:$9D5C PRG:1D5C 85 1B jmp Sub_8221 ; CPU:$9D5E PRG:1D5E 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D61 @@ -6816,13 +7592,13 @@ Sub_9D61: lda $05AB ; CPU:$9D61 PRG:1D61 AD AB 05 clc ; CPU:$9D64 PRG:1D64 18 adc #$12 ; CPU:$9D65 PRG:1D65 69 12 - sta Zp19 ; CPU:$9D67 PRG:1D67 85 19 + sta PlayerXHigh ; CPU:$9D67 PRG:1D67 85 19 lda $05AD ; CPU:$9D69 PRG:1D69 AD AD 05 - sta Zp1C ; CPU:$9D6C PRG:1D6C 85 1C + sta PlayerYHigh ; CPU:$9D6C PRG:1D6C 85 1C lda #$C3 ; CPU:$9D6E PRG:1D6E A9 C3 - sta Zp1A ; CPU:$9D70 PRG:1D70 85 1A + sta PlayerXLow ; CPU:$9D70 PRG:1D70 85 1A lda #$02 ; CPU:$9D72 PRG:1D72 A9 02 - sta Zp1B ; CPU:$9D74 PRG:1D74 85 1B + sta PlayerYLow ; CPU:$9D74 PRG:1D74 85 1B jmp Sub_8221 ; CPU:$9D76 PRG:1D76 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9D79 @@ -6843,65 +7619,65 @@ Sub_9D79: adc #$08 ; CPU:$9D89 PRG:1D89 69 08 sta $07C0 ; CPU:$9D8B PRG:1D8B 8D C0 07 lda $07C9 ; CPU:$9D8E PRG:1D8E AD C9 07 - bne IrqHandler_Loop253 ; CPU:$9D91 PRG:1D91 D0 1D + bne IrqHandler_Loop284 ; CPU:$9D91 PRG:1D91 D0 1D lda $0502 ; CPU:$9D93 PRG:1D93 AD 02 05 cmp #$3E ; CPU:$9D96 PRG:1D96 C9 3E - bcs IrqHandler_Loop254 ; CPU:$9D98 PRG:1D98 B0 21 + bcs IrqHandler_Loop285 ; CPU:$9D98 PRG:1D98 B0 21 lda #$3E ; CPU:$9D9A PRG:1D9A A9 3E sec ; CPU:$9D9C PRG:1D9C 38 sbc $0502 ; CPU:$9D9D PRG:1D9D ED 02 05 sta $07C2 ; CPU:$9DA0 PRG:1DA0 8D C2 07 cmp #$07 ; CPU:$9DA3 PRG:1DA3 C9 07 - bcs IrqHandler_Loop253 ; CPU:$9DA5 PRG:1DA5 B0 09 + bcs IrqHandler_Loop284 ; CPU:$9DA5 PRG:1DA5 B0 09 clc ; CPU:$9DA7 PRG:1DA7 18 adc $07C0 ; CPU:$9DA8 PRG:1DA8 6D C0 07 - sta Zp19 ; CPU:$9DAB PRG:1DAB 85 19 + sta PlayerXHigh ; CPU:$9DAB PRG:1DAB 85 19 jmp Sub_9DD9 ; CPU:$9DAD PRG:1DAD 4C D9 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop253 -; Global: Branch target inside IrqHandler: taken when Loop253. +; Routine: IrqHandler_Loop284 +; Global: Branch target inside IrqHandler: taken when Loop284. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop253: +IrqHandler_Loop284: lda #$07 ; CPU:$9DB0 PRG:1DB0 A9 07 clc ; CPU:$9DB2 PRG:1DB2 18 adc $07C0 ; CPU:$9DB3 PRG:1DB3 6D C0 07 - sta Zp19 ; CPU:$9DB6 PRG:1DB6 85 19 + sta PlayerXHigh ; CPU:$9DB6 PRG:1DB6 85 19 jmp Sub_9DD9 ; CPU:$9DB8 PRG:1DB8 4C D9 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop254 -; Global: Branch target inside IrqHandler: taken when Loop254. +; Routine: IrqHandler_Loop285 +; Global: Branch target inside IrqHandler: taken when Loop285. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop254: +IrqHandler_Loop285: lda $0502 ; CPU:$9DBB PRG:1DBB AD 02 05 sec ; CPU:$9DBE PRG:1DBE 38 sbc #$3E ; CPU:$9DBF PRG:1DBF E9 3E sta $07C2 ; CPU:$9DC1 PRG:1DC1 8D C2 07 cmp #$05 ; CPU:$9DC4 PRG:1DC4 C9 05 - bcs IrqHandler_Loop255 ; CPU:$9DC6 PRG:1DC6 B0 0C + bcs IrqHandler_Loop286 ; CPU:$9DC6 PRG:1DC6 B0 0C lda $07C0 ; CPU:$9DC8 PRG:1DC8 AD C0 07 sec ; CPU:$9DCB PRG:1DCB 38 sbc $07C2 ; CPU:$9DCC PRG:1DCC ED C2 07 - sta Zp19 ; CPU:$9DCF PRG:1DCF 85 19 + sta PlayerXHigh ; CPU:$9DCF PRG:1DCF 85 19 jmp Sub_9DD9 ; CPU:$9DD1 PRG:1DD1 4C D9 9D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop255 -; Global: Branch target inside IrqHandler: taken when Loop255. +; Routine: IrqHandler_Loop286 +; Global: Branch target inside IrqHandler: taken when Loop286. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop255: +IrqHandler_Loop286: lda $07C0 ; CPU:$9DD4 PRG:1DD4 AD C0 07 - sta Zp19 ; CPU:$9DD7 PRG:1DD7 85 19 + sta PlayerXHigh ; CPU:$9DD7 PRG:1DD7 85 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_9DD9 ; Global: Branch target inside Sub: taken when 9DD9. @@ -6912,11 +7688,11 @@ IrqHandler_Loop255: ; ----------------------------------------------------------------------------- Sub_9DD9: lda $07BF ; CPU:$9DD9 PRG:1DD9 AD BF 07 - sta Zp1C ; CPU:$9DDC PRG:1DDC 85 1C + sta PlayerYHigh ; CPU:$9DDC PRG:1DDC 85 1C lda #$B8 ; CPU:$9DDE PRG:1DDE A9 B8 - sta Zp1A ; CPU:$9DE0 PRG:1DE0 85 1A + sta PlayerXLow ; CPU:$9DE0 PRG:1DE0 85 1A lda #$02 ; CPU:$9DE2 PRG:1DE2 A9 02 - sta Zp1B ; CPU:$9DE4 PRG:1DE4 85 1B + sta PlayerYLow ; CPU:$9DE4 PRG:1DE4 85 1B jmp Sub_8221 ; CPU:$9DE6 PRG:1DE6 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9DE9 @@ -6928,48 +7704,48 @@ Sub_9DD9: ; ----------------------------------------------------------------------------- Sub_9DE9: lda $05A7 ; CPU:$9DE9 PRG:1DE9 AD A7 05 - beq IrqHandler_Loop258 ; CPU:$9DEC PRG:1DEC F0 5B + beq IrqHandler_Loop289 ; CPU:$9DEC PRG:1DEC F0 5B lda $0512 ; CPU:$9DEE PRG:1DEE AD 12 05 - beq IrqHandler_Loop258 ; CPU:$9DF1 PRG:1DF1 F0 56 + beq IrqHandler_Loop289 ; CPU:$9DF1 PRG:1DF1 F0 56 lda $05B2 ; CPU:$9DF3 PRG:1DF3 AD B2 05 cmp #$09 ; CPU:$9DF6 PRG:1DF6 C9 09 - beq IrqHandler_Loop258 ; CPU:$9DF8 PRG:1DF8 F0 4F + beq IrqHandler_Loop289 ; CPU:$9DF8 PRG:1DF8 F0 4F lda Zp21 ; CPU:$9DFA PRG:1DFA A5 21 and #$40 ; CPU:$9DFC PRG:1DFC 29 40 - beq IrqHandler_Loop258 ; CPU:$9DFE PRG:1DFE F0 49 + beq IrqHandler_Loop289 ; CPU:$9DFE PRG:1DFE F0 49 lda $0501 ; CPU:$9E00 PRG:1E00 AD 01 05 clc ; CPU:$9E03 PRG:1E03 18 adc #$10 ; CPU:$9E04 PRG:1E04 69 10 cmp $05AD ; CPU:$9E06 PRG:1E06 CD AD 05 - bne IrqHandler_Loop258 ; CPU:$9E09 PRG:1E09 D0 3E + bne IrqHandler_Loop289 ; CPU:$9E09 PRG:1E09 D0 3E lda $07C9 ; CPU:$9E0B PRG:1E0B AD C9 07 - beq IrqHandler_Loop256 ; CPU:$9E0E PRG:1E0E F0 0B + beq IrqHandler_Loop287 ; CPU:$9E0E PRG:1E0E F0 0B lda $0502 ; CPU:$9E10 PRG:1E10 AD 02 05 sec ; CPU:$9E13 PRG:1E13 38 sbc #$18 ; CPU:$9E14 PRG:1E14 E9 18 cmp $07C3 ; CPU:$9E16 PRG:1E16 CD C3 07 - bcc IrqHandler_Loop258 ; CPU:$9E19 PRG:1E19 90 2E + bcc IrqHandler_Loop289 ; CPU:$9E19 PRG:1E19 90 2E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop256 -; Global: Branch target inside IrqHandler: taken when Loop256. +; Routine: IrqHandler_Loop287 +; Global: Branch target inside IrqHandler: taken when Loop287. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop256: +IrqHandler_Loop287: lda $07C9 ; CPU:$9E1B PRG:1E1B AD C9 07 - beq IrqHandler_Loop257 ; CPU:$9E1E PRG:1E1E F0 03 - jmp IrqHandler_Loop258 ; CPU:$9E20 PRG:1E20 4C 49 9E + beq IrqHandler_Loop288 ; CPU:$9E1E PRG:1E1E F0 03 + jmp IrqHandler_Loop289 ; CPU:$9E20 PRG:1E20 4C 49 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop257 -; Global: Branch target inside IrqHandler: taken when Loop257. +; Routine: IrqHandler_Loop288 +; Global: Branch target inside IrqHandler: taken when Loop288. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop257: +IrqHandler_Loop288: lda $07BF ; CPU:$9E23 PRG:1E23 AD BF 07 sec ; CPU:$9E26 PRG:1E26 38 sbc #$01 ; CPU:$9E27 PRG:1E27 E9 01 @@ -6986,27 +7762,27 @@ IrqHandler_Loop257: lda #$3C ; CPU:$9E44 PRG:1E44 A9 3C sta $07E0 ; CPU:$9E46 PRG:1E46 8D E0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop258 -; Global: Branch target inside IrqHandler: taken when Loop258. +; Routine: IrqHandler_Loop289 +; Global: Branch target inside IrqHandler: taken when Loop289. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop258: +IrqHandler_Loop289: ldx #$00 ; CPU:$9E49 PRG:1E49 A2 00 lda $07C9 ; CPU:$9E4B PRG:1E4B AD C9 07 - beq IrqHandler_Loop259 ; CPU:$9E4E PRG:1E4E F0 03 + beq IrqHandler_Loop290 ; CPU:$9E4E PRG:1E4E F0 03 jsr Sub_9E54 ; CPU:$9E50 PRG:1E50 20 54 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop259 -; Global: Branch target inside IrqHandler: taken when Loop259. +; Routine: IrqHandler_Loop290 +; Global: Branch target inside IrqHandler: taken when Loop290. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop259: +IrqHandler_Loop290: rts ; CPU:$9E53 PRG:1E53 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9E54 @@ -7018,20 +7794,20 @@ IrqHandler_Loop259: ; ----------------------------------------------------------------------------- Sub_9E54: lda $0512 ; CPU:$9E54 PRG:1E54 AD 12 05 - bne IrqHandler_Loop260 ; CPU:$9E57 PRG:1E57 D0 03 - jmp IrqHandler_Loop263 ; CPU:$9E59 PRG:1E59 4C B5 9E + bne IrqHandler_Loop291 ; CPU:$9E57 PRG:1E57 D0 03 + jmp IrqHandler_Loop294 ; CPU:$9E59 PRG:1E59 4C B5 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop260 -; Global: Branch target inside IrqHandler: taken when Loop260. +; Routine: IrqHandler_Loop291 +; Global: Branch target inside IrqHandler: taken when Loop291. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop260: +IrqHandler_Loop291: lda Zp21 ; CPU:$9E5C PRG:1E5C A5 21 and #$40 ; CPU:$9E5E PRG:1E5E 29 40 - beq IrqHandler_Loop261 ; CPU:$9E60 PRG:1E60 F0 0B + beq IrqHandler_Loop292 ; CPU:$9E60 PRG:1E60 F0 0B lda $07C3,x ; CPU:$9E62 PRG:1E62 BD C3 07 sec ; CPU:$9E65 PRG:1E65 38 sbc #$03 ; CPU:$9E66 PRG:1E66 E9 03 @@ -7039,47 +7815,47 @@ IrqHandler_Loop260: nop ; CPU:$9E6B PRG:1E6B EA nop ; CPU:$9E6C PRG:1E6C EA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop261 -; Global: Branch target inside IrqHandler: taken when Loop261. +; Routine: IrqHandler_Loop292 +; Global: Branch target inside IrqHandler: taken when Loop292. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop261: +IrqHandler_Loop292: lda $05AB ; CPU:$9E6D PRG:1E6D AD AB 05 clc ; CPU:$9E70 PRG:1E70 18 adc #$0A ; CPU:$9E71 PRG:1E71 69 0A cmp $07C3,x ; CPU:$9E73 PRG:1E73 DD C3 07 - bcc IrqHandler_Loop263 ; CPU:$9E76 PRG:1E76 90 3D + bcc IrqHandler_Loop294 ; CPU:$9E76 PRG:1E76 90 3D inc $05B2 ; CPU:$9E78 PRG:1E78 EE B2 05 lda $0514 ; CPU:$9E7B PRG:1E7B AD 14 05 - beq IrqHandler_Loop262 ; CPU:$9E7E PRG:1E7E F0 0C + beq IrqHandler_Loop293 ; CPU:$9E7E PRG:1E7E F0 0C lda #$00 ; CPU:$9E80 PRG:1E80 A9 00 sta $0514 ; CPU:$9E82 PRG:1E82 8D 14 05 sta $0519 ; CPU:$9E85 PRG:1E85 8D 19 05 clc ; CPU:$9E88 PRG:1E88 18 jsr Sub_9EED ; CPU:$9E89 PRG:1E89 20 ED 9E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop262 -; Global: Branch target inside IrqHandler: taken when Loop262. +; Routine: IrqHandler_Loop293 +; Global: Branch target inside IrqHandler: taken when Loop293. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop262: +IrqHandler_Loop293: inc $05A8 ; CPU:$9E8C PRG:1E8C EE A8 05 lda #$13 ; CPU:$9E8F PRG:1E8F A9 13 jsr Sub_DC19 ; CPU:$9E91 PRG:1E91 20 19 DC lda $07C3,x ; CPU:$9E94 PRG:1E94 BD C3 07 clc ; CPU:$9E97 PRG:1E97 18 adc #$08 ; CPU:$9E98 PRG:1E98 69 08 - sta Zp4A ; CPU:$9E9A PRG:1E9A 85 4A + sta DispatchPtrLo ; CPU:$9E9A PRG:1E9A 85 4A lda $07C5,x ; CPU:$9E9C PRG:1E9C BD C5 07 clc ; CPU:$9E9F PRG:1E9F 18 adc #$0B ; CPU:$9EA0 PRG:1EA0 69 0B - sta Zp4B ; CPU:$9EA2 PRG:1EA2 85 4B + sta DispatchPtrHi ; CPU:$9EA2 PRG:1EA2 85 4B lda #$82 ; CPU:$9EA4 PRG:1EA4 A9 82 sta Zp4C ; CPU:$9EA6 PRG:1EA6 85 4C jsr Sub_B4FB ; CPU:$9EA8 PRG:1EA8 20 FB B4 @@ -7088,48 +7864,48 @@ IrqHandler_Loop262: lda #$00 ; CPU:$9EB0 PRG:1EB0 A9 00 sta $07C9,x ; CPU:$9EB2 PRG:1EB2 9D C9 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop263 -; Global: Branch target inside IrqHandler: taken when Loop263. +; Routine: IrqHandler_Loop294 +; Global: Branch target inside IrqHandler: taken when Loop294. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop263: +IrqHandler_Loop294: lda $0514 ; CPU:$9EB5 PRG:1EB5 AD 14 05 - beq IrqHandler_Loop264 ; CPU:$9EB8 PRG:1EB8 F0 1B + beq IrqHandler_Loop295 ; CPU:$9EB8 PRG:1EB8 F0 1B lda $07C3,x ; CPU:$9EBA PRG:1EBA BD C3 07 sec ; CPU:$9EBD PRG:1EBD 38 sbc #$06 ; CPU:$9EBE PRG:1EBE E9 06 - sta Zp19 ; CPU:$9EC0 PRG:1EC0 85 19 + sta PlayerXHigh ; CPU:$9EC0 PRG:1EC0 85 19 lda $07BF ; CPU:$9EC2 PRG:1EC2 AD BF 07 clc ; CPU:$9EC5 PRG:1EC5 18 adc #$01 ; CPU:$9EC6 PRG:1EC6 69 01 - sta Zp1C ; CPU:$9EC8 PRG:1EC8 85 1C + sta PlayerYHigh ; CPU:$9EC8 PRG:1EC8 85 1C lda #$6B ; CPU:$9ECA PRG:1ECA A9 6B - sta Zp1A ; CPU:$9ECC PRG:1ECC 85 1A + sta PlayerXLow ; CPU:$9ECC PRG:1ECC 85 1A lda #$01 ; CPU:$9ECE PRG:1ECE A9 01 - sta Zp1B ; CPU:$9ED0 PRG:1ED0 85 1B + sta PlayerYLow ; CPU:$9ED0 PRG:1ED0 85 1B jsr Sub_8221 ; CPU:$9ED2 PRG:1ED2 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop264 -; Global: Branch target inside IrqHandler: taken when Loop264. +; Routine: IrqHandler_Loop295 +; Global: Branch target inside IrqHandler: taken when Loop295. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop264: +IrqHandler_Loop295: lda $07C3,x ; CPU:$9ED5 PRG:1ED5 BD C3 07 - sta Zp19 ; CPU:$9ED8 PRG:1ED8 85 19 + sta PlayerXHigh ; CPU:$9ED8 PRG:1ED8 85 19 lda $07BF ; CPU:$9EDA PRG:1EDA AD BF 07 clc ; CPU:$9EDD PRG:1EDD 18 adc #$01 ; CPU:$9EDE PRG:1EDE 69 01 - sta Zp1C ; CPU:$9EE0 PRG:1EE0 85 1C + sta PlayerYHigh ; CPU:$9EE0 PRG:1EE0 85 1C lda #$FE ; CPU:$9EE2 PRG:1EE2 A9 FE - sta Zp1A ; CPU:$9EE4 PRG:1EE4 85 1A + sta PlayerXLow ; CPU:$9EE4 PRG:1EE4 85 1A lda #$02 ; CPU:$9EE6 PRG:1EE6 A9 02 - sta Zp1B ; CPU:$9EE8 PRG:1EE8 85 1B + sta PlayerYLow ; CPU:$9EE8 PRG:1EE8 85 1B jmp Sub_8221 ; CPU:$9EEA PRG:1EEA 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9EED @@ -7140,30 +7916,30 @@ IrqHandler_Loop264: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9EED: - bcs IrqHandler_Loop265 ; CPU:$9EED PRG:1EED B0 07 + bcs IrqHandler_Loop296 ; CPU:$9EED PRG:1EED B0 07 lda #$00 ; CPU:$9EEF PRG:1EEF A9 00 sta $07E2 ; CPU:$9EF1 PRG:1EF1 8D E2 07 - beq IrqHandler_Loop266 ; CPU:$9EF4 PRG:1EF4 F0 05 + beq IrqHandler_Loop297 ; CPU:$9EF4 PRG:1EF4 F0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop265 -; Global: Branch target inside IrqHandler: taken when Loop265. +; Routine: IrqHandler_Loop296 +; Global: Branch target inside IrqHandler: taken when Loop296. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop265: +IrqHandler_Loop296: lda #$01 ; CPU:$9EF6 PRG:1EF6 A9 01 sta $07E2 ; CPU:$9EF8 PRG:1EF8 8D E2 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop266 -; Global: Branch target inside IrqHandler: taken when Loop266. +; Routine: IrqHandler_Loop297 +; Global: Branch target inside IrqHandler: taken when Loop297. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop266: +IrqHandler_Loop297: lda $05AB ; CPU:$9EFB PRG:1EFB AD AB 05 clc ; CPU:$9EFE PRG:1EFE 18 adc #$08 ; CPU:$9EFF PRG:1EFF 69 08 @@ -7201,59 +7977,59 @@ Sub_9F1D: beq IrqHandler_OnZero5 ; CPU:$9F20 PRG:1F20 F0 F5 lda $07E1 ; CPU:$9F22 PRG:1F22 AD E1 07 cmp #$C8 ; CPU:$9F25 PRG:1F25 C9 C8 - bcc IrqHandler_Loop270 ; CPU:$9F27 PRG:1F27 90 24 + bcc IrqHandler_Loop301 ; CPU:$9F27 PRG:1F27 90 24 lda $07E7 ; CPU:$9F29 PRG:1F29 AD E7 07 cmp #$02 ; CPU:$9F2C PRG:1F2C C9 02 - beq IrqHandler_Loop267 ; CPU:$9F2E PRG:1F2E F0 05 + beq IrqHandler_Loop298 ; CPU:$9F2E PRG:1F2E F0 05 lda #$02 ; CPU:$9F30 PRG:1F30 A9 02 sta $07E7 ; CPU:$9F32 PRG:1F32 8D E7 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop267 -; Global: Branch target inside IrqHandler: taken when Loop267. +; Routine: IrqHandler_Loop298 +; Global: Branch target inside IrqHandler: taken when Loop298. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop267: - lda Zp54 ; CPU:$9F35 PRG:1F35 A5 54 +IrqHandler_Loop298: + lda FrameCounter ; CPU:$9F35 PRG:1F35 A5 54 lsr a ; CPU:$9F37 PRG:1F37 4A - bcc IrqHandler_Loop268 ; CPU:$9F38 PRG:1F38 90 03 + bcc IrqHandler_Loop299 ; CPU:$9F38 PRG:1F38 90 03 dec $07E3 ; CPU:$9F3A PRG:1F3A CE E3 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop268 -; Global: Branch target inside IrqHandler: taken when Loop268. +; Routine: IrqHandler_Loop299 +; Global: Branch target inside IrqHandler: taken when Loop299. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop268: +IrqHandler_Loop299: lda $07E3 ; CPU:$9F3D PRG:1F3D AD E3 07 cmp #$04 ; CPU:$9F40 PRG:1F40 C9 04 - bcs IrqHandler_Loop269 ; CPU:$9F42 PRG:1F42 B0 06 + bcs IrqHandler_Loop300 ; CPU:$9F42 PRG:1F42 B0 06 lda #$00 ; CPU:$9F44 PRG:1F44 A9 00 sta $07E7 ; CPU:$9F46 PRG:1F46 8D E7 07 rts ; CPU:$9F49 PRG:1F49 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop269 -; Global: Branch target inside IrqHandler: taken when Loop269. +; Routine: IrqHandler_Loop300 +; Global: Branch target inside IrqHandler: taken when Loop300. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop269: +IrqHandler_Loop300: jmp Sub_9F50 ; CPU:$9F4A PRG:1F4A 4C 50 9F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop270 -; Global: Branch target inside IrqHandler: taken when Loop270. +; Routine: IrqHandler_Loop301 +; Global: Branch target inside IrqHandler: taken when Loop301. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop270: +IrqHandler_Loop301: inc $07E1 ; CPU:$9F4D PRG:1F4D EE E1 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F50 @@ -7268,53 +8044,53 @@ Sub_9F50: clc ; CPU:$9F53 PRG:1F53 18 adc #$02 ; CPU:$9F54 PRG:1F54 69 02 cmp $07E3 ; CPU:$9F56 PRG:1F56 CD E3 07 - bcs IrqHandler_Loop273 ; CPU:$9F59 PRG:1F59 B0 55 + bcs IrqHandler_Loop304 ; CPU:$9F59 PRG:1F59 B0 55 lda $0501 ; CPU:$9F5B PRG:1F5B AD 01 05 clc ; CPU:$9F5E PRG:1F5E 18 adc #$0C ; CPU:$9F5F PRG:1F5F 69 0C cmp $07E3 ; CPU:$9F61 PRG:1F61 CD E3 07 - bcc IrqHandler_Loop273 ; CPU:$9F64 PRG:1F64 90 4A + bcc IrqHandler_Loop304 ; CPU:$9F64 PRG:1F64 90 4A lda $0502 ; CPU:$9F66 PRG:1F66 AD 02 05 sec ; CPU:$9F69 PRG:1F69 38 sbc #$0E ; CPU:$9F6A PRG:1F6A E9 0E cmp $07E1 ; CPU:$9F6C PRG:1F6C CD E1 07 - bcs IrqHandler_Loop273 ; CPU:$9F6F PRG:1F6F B0 3F + bcs IrqHandler_Loop304 ; CPU:$9F6F PRG:1F6F B0 3F lda $0502 ; CPU:$9F71 PRG:1F71 AD 02 05 clc ; CPU:$9F74 PRG:1F74 18 adc #$08 ; CPU:$9F75 PRG:1F75 69 08 cmp $07E1 ; CPU:$9F77 PRG:1F77 CD E1 07 - bcc IrqHandler_Loop273 ; CPU:$9F7A PRG:1F7A 90 34 + bcc IrqHandler_Loop304 ; CPU:$9F7A PRG:1F7A 90 34 lda #$0F ; CPU:$9F7C PRG:1F7C A9 0F jsr Sub_E08B ; CPU:$9F7E PRG:1F7E 20 8B E0 lda #$00 ; CPU:$9F81 PRG:1F81 A9 00 sta $07E7 ; CPU:$9F83 PRG:1F83 8D E7 07 lda $07E2 ; CPU:$9F86 PRG:1F86 AD E2 07 - beq IrqHandler_Loop272 ; CPU:$9F89 PRG:1F89 F0 11 + beq IrqHandler_Loop303 ; CPU:$9F89 PRG:1F89 F0 11 lda $0518 ; CPU:$9F8B PRG:1F8B AD 18 05 - beq IrqHandler_Loop271 ; CPU:$9F8E PRG:1F8E F0 07 + beq IrqHandler_Loop302 ; CPU:$9F8E PRG:1F8E F0 07 lda #$02 ; CPU:$9F90 PRG:1F90 A9 02 sta $0518 ; CPU:$9F92 PRG:1F92 8D 18 05 - bne IrqHandler_Loop272 ; CPU:$9F95 PRG:1F95 D0 05 + bne IrqHandler_Loop303 ; CPU:$9F95 PRG:1F95 D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop271 -; Global: Branch target inside IrqHandler: taken when Loop271. +; Routine: IrqHandler_Loop302 +; Global: Branch target inside IrqHandler: taken when Loop302. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop271: +IrqHandler_Loop302: lda #$01 ; CPU:$9F97 PRG:1F97 A9 01 sta $0518 ; CPU:$9F99 PRG:1F99 8D 18 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop272 -; Global: Branch target inside IrqHandler: taken when Loop272. +; Routine: IrqHandler_Loop303 +; Global: Branch target inside IrqHandler: taken when Loop303. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop272: +IrqHandler_Loop303: lda #$00 ; CPU:$9F9C PRG:1F9C A9 00 sta $050F ; CPU:$9F9E PRG:1F9E 8D 0F 05 sta $0510 ; CPU:$9FA1 PRG:1FA1 8D 10 05 @@ -7325,68 +8101,68 @@ IrqHandler_Loop272: sta Zp76 ; CPU:$9FAD PRG:1FAD 85 76 rts ; CPU:$9FAF PRG:1FAF 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop273 -; Global: Branch target inside IrqHandler: taken when Loop273. +; Routine: IrqHandler_Loop304 +; Global: Branch target inside IrqHandler: taken when Loop304. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop273: +IrqHandler_Loop304: lda $07E2 ; CPU:$9FB0 PRG:1FB0 AD E2 07 - bne IrqHandler_Loop274 ; CPU:$9FB3 PRG:1FB3 D0 06 + bne IrqHandler_Loop305 ; CPU:$9FB3 PRG:1FB3 D0 06 lda #$02 ; CPU:$9FB5 PRG:1FB5 A9 02 - sta Zp1B ; CPU:$9FB7 PRG:1FB7 85 1B - bne IrqHandler_Loop275 ; CPU:$9FB9 PRG:1FB9 D0 04 + sta PlayerYLow ; CPU:$9FB7 PRG:1FB7 85 1B + bne IrqHandler_Loop306 ; CPU:$9FB9 PRG:1FB9 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop274 -; Global: Branch target inside IrqHandler: taken when Loop274. +; Routine: IrqHandler_Loop305 +; Global: Branch target inside IrqHandler: taken when Loop305. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop274: +IrqHandler_Loop305: lda #$02 ; CPU:$9FBB PRG:1FBB A9 02 - sta Zp1B ; CPU:$9FBD PRG:1FBD 85 1B + sta PlayerYLow ; CPU:$9FBD PRG:1FBD 85 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop275 -; Global: Branch target inside IrqHandler: taken when Loop275. +; Routine: IrqHandler_Loop306 +; Global: Branch target inside IrqHandler: taken when Loop306. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop275: +IrqHandler_Loop306: lda $07E1 ; CPU:$9FBF PRG:1FBF AD E1 07 - sta Zp19 ; CPU:$9FC2 PRG:1FC2 85 19 + sta PlayerXHigh ; CPU:$9FC2 PRG:1FC2 85 19 lda $07E3 ; CPU:$9FC4 PRG:1FC4 AD E3 07 - sta Zp1C ; CPU:$9FC7 PRG:1FC7 85 1C + sta PlayerYHigh ; CPU:$9FC7 PRG:1FC7 85 1C lda $07E2 ; CPU:$9FC9 PRG:1FC9 AD E2 07 - beq IrqHandler_Loop276 ; CPU:$9FCC PRG:1FCC F0 06 + beq IrqHandler_Loop307 ; CPU:$9FCC PRG:1FCC F0 06 lda #$FC ; CPU:$9FCE PRG:1FCE A9 FC - sta Zp1A ; CPU:$9FD0 PRG:1FD0 85 1A - bne IrqHandler_Loop277 ; CPU:$9FD2 PRG:1FD2 D0 04 + sta PlayerXLow ; CPU:$9FD0 PRG:1FD0 85 1A + bne IrqHandler_Loop308 ; CPU:$9FD2 PRG:1FD2 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop276 -; Global: Branch target inside IrqHandler: taken when Loop276. +; Routine: IrqHandler_Loop307 +; Global: Branch target inside IrqHandler: taken when Loop307. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop276: +IrqHandler_Loop307: lda #$A6 ; CPU:$9FD4 PRG:1FD4 A9 A6 - sta Zp1A ; CPU:$9FD6 PRG:1FD6 85 1A + sta PlayerXLow ; CPU:$9FD6 PRG:1FD6 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop277 -; Global: Branch target inside IrqHandler: taken when Loop277. +; Routine: IrqHandler_Loop308 +; Global: Branch target inside IrqHandler: taken when Loop308. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop277: +IrqHandler_Loop308: jmp Sub_8221 ; CPU:$9FD8 PRG:1FD8 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_9FDB @@ -7408,337 +8184,345 @@ Sub_9FDB: ; ----------------------------------------------------------------------------- Sub_9FDD: lda $0706,x ; CPU:$9FDD PRG:1FDD BD 06 07 - bne IrqHandler_Loop278 ; CPU:$9FE0 PRG:1FE0 D0 03 - jmp IrqHandler_Loop301 ; CPU:$9FE2 PRG:1FE2 4C D0 A0 + bne IrqHandler_Loop309 ; CPU:$9FE0 PRG:1FE0 D0 03 + jmp IrqHandler_Loop332 ; CPU:$9FE2 PRG:1FE2 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop278 -; Global: Branch target inside IrqHandler: taken when Loop278. +; Routine: IrqHandler_Loop309 +; Global: Branch target inside IrqHandler: taken when Loop309. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop278: +IrqHandler_Loop309: lda $0708,x ; CPU:$9FE5 PRG:1FE5 BD 08 07 and #$3F ; CPU:$9FE8 PRG:1FE8 29 3F cmp #$04 ; CPU:$9FEA PRG:1FEA C9 04 - bne IrqHandler_Loop279 ; CPU:$9FEC PRG:1FEC D0 06 + bne IrqHandler_Loop310 ; CPU:$9FEC PRG:1FEC D0 06 jsr Sub_A41B ; CPU:$9FEE PRG:1FEE 20 1B A4 - jmp IrqHandler_Loop301 ; CPU:$9FF1 PRG:1FF1 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$9FF1 PRG:1FF1 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop279 -; Global: Branch target inside IrqHandler: taken when Loop279. +; Routine: IrqHandler_Loop310 +; Global: Branch target inside IrqHandler: taken when Loop310. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop279: +IrqHandler_Loop310: cmp #$16 ; CPU:$9FF4 PRG:1FF4 C9 16 - bne IrqHandler_Loop280 ; CPU:$9FF6 PRG:1FF6 D0 06 + bne IrqHandler_Loop311 ; CPU:$9FF6 PRG:1FF6 D0 06 jsr Sub_A5BC ; CPU:$9FF8 PRG:1FF8 20 BC A5 - jmp IrqHandler_Loop301 ; CPU:$9FFB PRG:1FFB 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$9FFB PRG:1FFB 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop280 -; Global: Branch target inside IrqHandler: taken when Loop280. +; Routine: IrqHandler_Loop311 +; Global: Branch target inside IrqHandler: taken when Loop311. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop280: +IrqHandler_Loop311: cmp #$20 ; CPU:$9FFE PRG:1FFE C9 20 - bne IrqHandler_Loop281 ; CPU:$A000 PRG:2000 D0 06 + bne IrqHandler_Loop312 ; CPU:$A000 PRG:2000 D0 06 jsr Sub_AD6D ; CPU:$A002 PRG:2002 20 6D AD - jmp IrqHandler_Loop301 ; CPU:$A005 PRG:2005 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A005 PRG:2005 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop281 -; Global: Branch target inside IrqHandler: taken when Loop281. +; Routine: IrqHandler_Loop312 +; Global: Branch target inside IrqHandler: taken when Loop312. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop281: +IrqHandler_Loop312: cmp #$18 ; CPU:$A008 PRG:2008 C9 18 - bne IrqHandler_Loop282 ; CPU:$A00A PRG:200A D0 06 + bne IrqHandler_Loop313 ; CPU:$A00A PRG:200A D0 06 jsr Sub_AD6D ; CPU:$A00C PRG:200C 20 6D AD - jmp IrqHandler_Loop301 ; CPU:$A00F PRG:200F 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A00F PRG:200F 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop282 -; Global: Branch target inside IrqHandler: taken when Loop282. +; Routine: IrqHandler_Loop313 +; Global: Branch target inside IrqHandler: taken when Loop313. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop282: +IrqHandler_Loop313: cmp #$1E ; CPU:$A012 PRG:2012 C9 1E - bne IrqHandler_Loop283 ; CPU:$A014 PRG:2014 D0 06 + bne IrqHandler_Loop314 ; CPU:$A014 PRG:2014 D0 06 jsr Sub_A5BC ; CPU:$A016 PRG:2016 20 BC A5 - jmp IrqHandler_Loop301 ; CPU:$A019 PRG:2019 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A019 PRG:2019 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop283 -; Global: Branch target inside IrqHandler: taken when Loop283. +; Routine: IrqHandler_Loop314 +; Global: Branch target inside IrqHandler: taken when Loop314. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop283: +IrqHandler_Loop314: cmp #$14 ; CPU:$A01C PRG:201C C9 14 - bne IrqHandler_Loop284 ; CPU:$A01E PRG:201E D0 06 + bne IrqHandler_Loop315 ; CPU:$A01E PRG:201E D0 06 jsr Sub_A804 ; CPU:$A020 PRG:2020 20 04 A8 - jmp IrqHandler_Loop301 ; CPU:$A023 PRG:2023 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A023 PRG:2023 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop284 -; Global: Branch target inside IrqHandler: taken when Loop284. +; Routine: IrqHandler_Loop315 +; Global: Branch target inside IrqHandler: taken when Loop315. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop284: +IrqHandler_Loop315: cmp #$36 ; CPU:$A026 PRG:2026 C9 36 - bne IrqHandler_Loop285 ; CPU:$A028 PRG:2028 D0 06 + bne IrqHandler_Loop316 ; CPU:$A028 PRG:2028 D0 06 jsr Sub_A804 ; CPU:$A02A PRG:202A 20 04 A8 - jmp IrqHandler_Loop301 ; CPU:$A02D PRG:202D 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A02D PRG:202D 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop285 -; Global: Branch target inside IrqHandler: taken when Loop285. +; Routine: IrqHandler_Loop316 +; Global: Branch target inside IrqHandler: taken when Loop316. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop285: +IrqHandler_Loop316: cmp #$1C ; CPU:$A030 PRG:2030 C9 1C - bne IrqHandler_Loop286 ; CPU:$A032 PRG:2032 D0 06 + bne IrqHandler_Loop317 ; CPU:$A032 PRG:2032 D0 06 jsr Sub_A804 ; CPU:$A034 PRG:2034 20 04 A8 - jmp IrqHandler_Loop301 ; CPU:$A037 PRG:2037 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A037 PRG:2037 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop286 -; Global: Branch target inside IrqHandler: taken when Loop286. +; Routine: IrqHandler_Loop317 +; Global: Branch target inside IrqHandler: taken when Loop317. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop286: +IrqHandler_Loop317: cmp #$0C ; CPU:$A03A PRG:203A C9 0C - bne IrqHandler_Loop287 ; CPU:$A03C PRG:203C D0 06 + bne IrqHandler_Loop318 ; CPU:$A03C PRG:203C D0 06 jsr Sub_A41B ; CPU:$A03E PRG:203E 20 1B A4 - jmp IrqHandler_Loop301 ; CPU:$A041 PRG:2041 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A041 PRG:2041 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop287 -; Global: Branch target inside IrqHandler: taken when Loop287. +; Routine: IrqHandler_Loop318 +; Global: Branch target inside IrqHandler: taken when Loop318. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop287: +IrqHandler_Loop318: cmp #$0A ; CPU:$A044 PRG:2044 C9 0A - bne IrqHandler_Loop288 ; CPU:$A046 PRG:2046 D0 06 + bne IrqHandler_Loop319 ; CPU:$A046 PRG:2046 D0 06 jsr Sub_ABAF ; CPU:$A048 PRG:2048 20 AF AB - jmp IrqHandler_Loop301 ; CPU:$A04B PRG:204B 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A04B PRG:204B 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop288 -; Global: Branch target inside IrqHandler: taken when Loop288. +; Routine: IrqHandler_Loop319 +; Global: Branch target inside IrqHandler: taken when Loop319. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop288: +IrqHandler_Loop319: cmp #$26 ; CPU:$A04E PRG:204E C9 26 - bne IrqHandler_Loop289 ; CPU:$A050 PRG:2050 D0 06 + bne IrqHandler_Loop320 ; CPU:$A050 PRG:2050 D0 06 jsr Sub_AC89 ; CPU:$A052 PRG:2052 20 89 AC - jmp IrqHandler_Loop301 ; CPU:$A055 PRG:2055 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A055 PRG:2055 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop289 -; Global: Branch target inside IrqHandler: taken when Loop289. +; Routine: IrqHandler_Loop320 +; Global: Branch target inside IrqHandler: taken when Loop320. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop289: +IrqHandler_Loop320: cmp #$08 ; CPU:$A058 PRG:2058 C9 08 - bne IrqHandler_Loop290 ; CPU:$A05A PRG:205A D0 06 + bne IrqHandler_Loop321 ; CPU:$A05A PRG:205A D0 06 jsr Sub_ABAF ; CPU:$A05C PRG:205C 20 AF AB - jmp IrqHandler_Loop301 ; CPU:$A05F PRG:205F 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A05F PRG:205F 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop290 -; Global: Branch target inside IrqHandler: taken when Loop290. +; Routine: IrqHandler_Loop321 +; Global: Branch target inside IrqHandler: taken when Loop321. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop290: +IrqHandler_Loop321: cmp #$24 ; CPU:$A062 PRG:2062 C9 24 - bne IrqHandler_Loop291 ; CPU:$A064 PRG:2064 D0 06 + bne IrqHandler_Loop322 ; CPU:$A064 PRG:2064 D0 06 jsr Sub_A804 ; CPU:$A066 PRG:2066 20 04 A8 - jmp IrqHandler_Loop301 ; CPU:$A069 PRG:2069 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A069 PRG:2069 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop291 -; Global: Branch target inside IrqHandler: taken when Loop291. +; Routine: IrqHandler_Loop322 +; Global: Branch target inside IrqHandler: taken when Loop322. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop291: +IrqHandler_Loop322: cmp #$00 ; CPU:$A06C PRG:206C C9 00 - bne IrqHandler_Loop292 ; CPU:$A06E PRG:206E D0 06 + bne IrqHandler_Loop323 ; CPU:$A06E PRG:206E D0 06 jsr Sub_AB0F ; CPU:$A070 PRG:2070 20 0F AB - jmp IrqHandler_Loop301 ; CPU:$A073 PRG:2073 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A073 PRG:2073 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop292 -; Global: Branch target inside IrqHandler: taken when Loop292. +; Routine: IrqHandler_Loop323 +; Global: Branch target inside IrqHandler: taken when Loop323. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop292: +IrqHandler_Loop323: cmp #$02 ; CPU:$A076 PRG:2076 C9 02 - bne IrqHandler_Loop293 ; CPU:$A078 PRG:2078 D0 06 + bne IrqHandler_Loop324 ; CPU:$A078 PRG:2078 D0 06 jsr Sub_AED3 ; CPU:$A07A PRG:207A 20 D3 AE - jmp IrqHandler_Loop301 ; CPU:$A07D PRG:207D 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A07D PRG:207D 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop293 -; Global: Branch target inside IrqHandler: taken when Loop293. +; Routine: IrqHandler_Loop324 +; Global: Branch target inside IrqHandler: taken when Loop324. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop293: +IrqHandler_Loop324: cmp #$06 ; CPU:$A080 PRG:2080 C9 06 - bne IrqHandler_Loop294 ; CPU:$A082 PRG:2082 D0 06 + bne IrqHandler_Loop325 ; CPU:$A082 PRG:2082 D0 06 jsr Sub_A767 ; CPU:$A084 PRG:2084 20 67 A7 - jmp IrqHandler_Loop301 ; CPU:$A087 PRG:2087 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A087 PRG:2087 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop294 -; Global: Branch target inside IrqHandler: taken when Loop294. +; Routine: IrqHandler_Loop325 +; Global: Branch target inside IrqHandler: taken when Loop325. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop294: +IrqHandler_Loop325: cmp #$10 ; CPU:$A08A PRG:208A C9 10 - bne IrqHandler_Loop295 ; CPU:$A08C PRG:208C D0 06 + bne IrqHandler_Loop326 ; CPU:$A08C PRG:208C D0 06 jsr Sub_AAA6 ; CPU:$A08E PRG:208E 20 A6 AA - jmp IrqHandler_Loop301 ; CPU:$A091 PRG:2091 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A091 PRG:2091 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop295 -; Global: Branch target inside IrqHandler: taken when Loop295. +; Routine: IrqHandler_Loop326 +; Global: Branch target inside IrqHandler: taken when Loop326. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop295: +IrqHandler_Loop326: cmp #$0E ; CPU:$A094 PRG:2094 C9 0E - bne IrqHandler_Loop296 ; CPU:$A096 PRG:2096 D0 06 + bne IrqHandler_Loop327 ; CPU:$A096 PRG:2096 D0 06 jsr Sub_A6C4 ; CPU:$A098 PRG:2098 20 C4 A6 - jmp IrqHandler_Loop301 ; CPU:$A09B PRG:209B 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A09B PRG:209B 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop296 -; Global: Branch target inside IrqHandler: taken when Loop296. +; Routine: IrqHandler_Loop327 +; Global: Branch target inside IrqHandler: taken when Loop327. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop296: +IrqHandler_Loop327: cmp #$1A ; CPU:$A09E PRG:209E C9 1A - bne IrqHandler_Loop297 ; CPU:$A0A0 PRG:20A0 D0 06 + bne IrqHandler_Loop328 ; CPU:$A0A0 PRG:20A0 D0 06 jsr Sub_A6C4 ; CPU:$A0A2 PRG:20A2 20 C4 A6 - jmp IrqHandler_Loop301 ; CPU:$A0A5 PRG:20A5 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A0A5 PRG:20A5 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop297 -; Global: Branch target inside IrqHandler: taken when Loop297. +; Routine: IrqHandler_Loop328 +; Global: Branch target inside IrqHandler: taken when Loop328. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop297: +IrqHandler_Loop328: cmp #$22 ; CPU:$A0A8 PRG:20A8 C9 22 - bne IrqHandler_Loop298 ; CPU:$A0AA PRG:20AA D0 06 + bne IrqHandler_Loop329 ; CPU:$A0AA PRG:20AA D0 06 jsr Sub_AE5D ; CPU:$A0AC PRG:20AC 20 5D AE - jmp IrqHandler_Loop301 ; CPU:$A0AF PRG:20AF 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A0AF PRG:20AF 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop298 -; Global: Branch target inside IrqHandler: taken when Loop298. +; Routine: IrqHandler_Loop329 +; Global: Branch target inside IrqHandler: taken when Loop329. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop298: +IrqHandler_Loop329: cmp #$12 ; CPU:$A0B2 PRG:20B2 C9 12 - bne IrqHandler_Loop299 ; CPU:$A0B4 PRG:20B4 D0 06 + bne IrqHandler_Loop330 ; CPU:$A0B4 PRG:20B4 D0 06 jsr Sub_A557 ; CPU:$A0B6 PRG:20B6 20 57 A5 - jmp IrqHandler_Loop301 ; CPU:$A0B9 PRG:20B9 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A0B9 PRG:20B9 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop299 -; Global: Branch target inside IrqHandler: taken when Loop299. +; Routine: IrqHandler_Loop330 +; Global: Branch target inside IrqHandler: taken when Loop330. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop299: +IrqHandler_Loop330: cmp #$30 ; CPU:$A0BC PRG:20BC C9 30 - bne IrqHandler_Loop300 ; CPU:$A0BE PRG:20BE D0 06 + bne IrqHandler_Loop331 ; CPU:$A0BE PRG:20BE D0 06 jsr Sub_A95D ; CPU:$A0C0 PRG:20C0 20 5D A9 - jmp IrqHandler_Loop301 ; CPU:$A0C3 PRG:20C3 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A0C3 PRG:20C3 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop300 -; Global: Branch target inside IrqHandler: taken when Loop300. +; Routine: IrqHandler_Loop331 +; Global: Branch target inside IrqHandler: taken when Loop331. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop300: +IrqHandler_Loop331: cmp #$38 ; CPU:$A0C6 PRG:20C6 C9 38 - bne IrqHandler_Loop301 ; CPU:$A0C8 PRG:20C8 D0 06 + bne IrqHandler_Loop332 ; CPU:$A0C8 PRG:20C8 D0 06 jsr Sub_AD6D ; CPU:$A0CA PRG:20CA 20 6D AD - jmp IrqHandler_Loop301 ; CPU:$A0CD PRG:20CD 4C D0 A0 + jmp IrqHandler_Loop332 ; CPU:$A0CD PRG:20CD 4C D0 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop301 -; Global: Branch target inside IrqHandler: taken when Loop301. +; Routine: IrqHandler_Loop332 +; Global: Branch target inside IrqHandler: taken when Loop332. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop301: +IrqHandler_Loop332: txa ; CPU:$A0D0 PRG:20D0 8A sec ; CPU:$A0D1 PRG:20D1 38 sbc #$14 ; CPU:$A0D2 PRG:20D2 E9 14 tax ; CPU:$A0D4 PRG:20D4 AA cpx #$EC ; CPU:$A0D5 PRG:20D5 E0 EC - beq IrqHandler_Loop302 ; CPU:$A0D7 PRG:20D7 F0 03 + beq IrqHandler_Loop333 ; CPU:$A0D7 PRG:20D7 F0 03 jmp Sub_9FDD ; CPU:$A0D9 PRG:20D9 4C DD 9F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop302 -; Global: Branch target inside IrqHandler: taken when Loop302. +; Routine: IrqHandler_Loop333 +; Global: Branch target inside IrqHandler: taken when Loop333. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop302: +IrqHandler_Loop333: rts ; CPU:$A0DC PRG:20DC 60 -; ---- data $A0DD-$A0DD (1 bytes) ---- - .byte $60 ; CPU:$A0DD PRG:20DD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A0DD +; Global: Branch target inside Label: taken when A0DD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A0DD: + rts ; CPU:$A0DD PRG:20DD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A0DE ; Global: Branch target inside Sub: taken when A0DE. @@ -7749,33 +8533,33 @@ IrqHandler_Loop302: ; ----------------------------------------------------------------------------- Sub_A0DE: lda $07E9 ; CPU:$A0DE PRG:20DE AD E9 07 - bne IrqHandler_Loop303 ; CPU:$A0E1 PRG:20E1 D0 0F + bne IrqHandler_Loop334 ; CPU:$A0E1 PRG:20E1 D0 0F lda Zp55 ; CPU:$A0E3 PRG:20E3 A5 55 asl a ; CPU:$A0E5 PRG:20E5 0A - bcc IrqHandler_Loop304 ; CPU:$A0E6 PRG:20E6 90 0B + bcc IrqHandler_Loop335 ; CPU:$A0E6 PRG:20E6 90 0B jsr Sub_B082 ; CPU:$A0E8 PRG:20E8 20 82 B0 lda $07E8 ; CPU:$A0EB PRG:20EB AD E8 07 cmp #$02 ; CPU:$A0EE PRG:20EE C9 02 - bcc IrqHandler_Loop304 ; CPU:$A0F0 PRG:20F0 90 01 + bcc IrqHandler_Loop335 ; CPU:$A0F0 PRG:20F0 90 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop303 -; Global: Branch target inside IrqHandler: taken when Loop303. +; Routine: IrqHandler_Loop334 +; Global: Branch target inside IrqHandler: taken when Loop334. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop303: +IrqHandler_Loop334: rts ; CPU:$A0F2 PRG:20F2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop304 -; Global: Branch target inside IrqHandler: taken when Loop304. +; Routine: IrqHandler_Loop335 +; Global: Branch target inside IrqHandler: taken when Loop335. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop304: +IrqHandler_Loop335: ldx #$A0 ; CPU:$A0F3 PRG:20F3 A2 A0 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero33 @@ -7787,17 +8571,17 @@ IrqHandler_Loop304: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero33: lda $0706,x ; CPU:$A0F5 PRG:20F5 BD 06 07 - bne IrqHandler_Loop305 ; CPU:$A0F8 PRG:20F8 D0 03 + bne IrqHandler_Loop336 ; CPU:$A0F8 PRG:20F8 D0 03 jmp Sub_A106 ; CPU:$A0FA PRG:20FA 4C 06 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop305 -; Global: Branch target inside IrqHandler: taken when Loop305. +; Routine: IrqHandler_Loop336 +; Global: Branch target inside IrqHandler: taken when Loop336. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop305: +IrqHandler_Loop336: txa ; CPU:$A0FD PRG:20FD 8A sec ; CPU:$A0FE PRG:20FE 38 sbc #$14 ; CPU:$A0FF PRG:20FF E9 14 @@ -7822,29 +8606,29 @@ Sub_A106: sta $0713,x ; CPU:$A116 PRG:2116 9D 13 07 lda $0502 ; CPU:$A119 PRG:2119 AD 02 05 cmp #$C8 ; CPU:$A11C PRG:211C C9 C8 - bcc IrqHandler_Loop306 ; CPU:$A11E PRG:211E 90 02 - bcs IrqHandler_Loop307 ; CPU:$A120 PRG:2120 B0 06 + bcc IrqHandler_Loop337 ; CPU:$A11E PRG:211E 90 02 + bcs IrqHandler_Loop338 ; CPU:$A120 PRG:2120 B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop306 -; Global: Branch target inside IrqHandler: taken when Loop306. +; Routine: IrqHandler_Loop337 +; Global: Branch target inside IrqHandler: taken when Loop337. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop306: +IrqHandler_Loop337: lda $0502 ; CPU:$A122 PRG:2122 AD 02 05 clc ; CPU:$A125 PRG:2125 18 adc #$08 ; CPU:$A126 PRG:2126 69 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop307 -; Global: Branch target inside IrqHandler: taken when Loop307. +; Routine: IrqHandler_Loop338 +; Global: Branch target inside IrqHandler: taken when Loop338. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop307: +IrqHandler_Loop338: sta $0700,x ; CPU:$A128 PRG:2128 9D 00 07 sta $0703,x ; CPU:$A12B PRG:212B 9D 03 07 lda #$FA ; CPU:$A12E PRG:212E A9 FA @@ -7911,54 +8695,54 @@ IrqHandler_OnZero6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A170: - lda Zp79 ; CPU:$A170 PRG:2170 A5 79 + lda SpriteTile ; CPU:$A170 PRG:2170 A5 79 clc ; CPU:$A172 PRG:2172 18 adc $07B6 ; CPU:$A173 PRG:2173 6D B6 07 - sta Zp79 ; CPU:$A176 PRG:2176 85 79 + sta SpriteTile ; CPU:$A176 PRG:2176 85 79 lda #$00 ; CPU:$A178 PRG:2178 A9 00 - adc Zp7A ; CPU:$A17A PRG:217A 65 7A - sta Zp7A ; CPU:$A17C PRG:217C 85 7A + adc SpriteAttr ; CPU:$A17A PRG:217A 65 7A + sta SpriteAttr ; CPU:$A17C PRG:217C 85 7A ldy #$00 ; CPU:$A17E PRG:217E A0 00 sty $07B6 ; CPU:$A180 PRG:2180 8C B6 07 - lda (Zp79),y ; CPU:$A183 PRG:2183 B1 79 + lda (SpriteTile),y ; CPU:$A183 PRG:2183 B1 79 cmp #$FE ; CPU:$A185 PRG:2185 C9 FE beq IrqHandler_OnZero6 ; CPU:$A187 PRG:2187 F0 E6 cmp $07B4 ; CPU:$A189 PRG:2189 CD B4 07 - beq IrqHandler_Loop308 ; CPU:$A18C PRG:218C F0 01 + beq IrqHandler_Loop339 ; CPU:$A18C PRG:218C F0 01 rts ; CPU:$A18E PRG:218E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop308 -; Global: Branch target inside IrqHandler: taken when Loop308. +; Routine: IrqHandler_Loop339 +; Global: Branch target inside IrqHandler: taken when Loop339. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop308: +IrqHandler_Loop339: lda #$00 ; CPU:$A18F PRG:218F A9 00 sta $07B4 ; CPU:$A191 PRG:2191 8D B4 07 iny ; CPU:$A194 PRG:2194 C8 - lda (Zp79),y ; CPU:$A195 PRG:2195 B1 79 + lda (SpriteTile),y ; CPU:$A195 PRG:2195 B1 79 sta $07B8 ; CPU:$A197 PRG:2197 8D B8 07 lsr a ; CPU:$A19A PRG:219A 4A - bcc IrqHandler_Loop309 ; CPU:$A19B PRG:219B 90 0E + bcc IrqHandler_Loop340 ; CPU:$A19B PRG:219B 90 0E lda $07B8 ; CPU:$A19D PRG:219D AD B8 07 - sta Zp4A ; CPU:$A1A0 PRG:21A0 85 4A + sta DispatchPtrLo ; CPU:$A1A0 PRG:21A0 85 4A lda $07B9 ; CPU:$A1A2 PRG:21A2 AD B9 07 sta $07B8 ; CPU:$A1A5 PRG:21A5 8D B8 07 jmp Sub_A1B6 ; CPU:$A1A8 PRG:21A8 4C B6 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop309 -; Global: Branch target inside IrqHandler: taken when Loop309. +; Routine: IrqHandler_Loop340 +; Global: Branch target inside IrqHandler: taken when Loop340. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop309: +IrqHandler_Loop340: iny ; CPU:$A1AB PRG:21AB C8 - lda (Zp79),y ; CPU:$A1AC PRG:21AC B1 79 - sta Zp4A ; CPU:$A1AE PRG:21AE 85 4A + lda (SpriteTile),y ; CPU:$A1AC PRG:21AC B1 79 + sta DispatchPtrLo ; CPU:$A1AE PRG:21AE 85 4A lda $07B8 ; CPU:$A1B0 PRG:21B0 AD B8 07 sta $07B9 ; CPU:$A1B3 PRG:21B3 8D B9 07 ; ----------------------------------------------------------------------------- @@ -7972,21 +8756,21 @@ IrqHandler_Loop309: Sub_A1B6: and #$3F ; CPU:$A1B6 PRG:21B6 29 3F cmp #$32 ; CPU:$A1B8 PRG:21B8 C9 32 - beq IrqHandler_Loop310 ; CPU:$A1BA PRG:21BA F0 07 + beq IrqHandler_Loop341 ; CPU:$A1BA PRG:21BA F0 07 cmp #$34 ; CPU:$A1BC PRG:21BC C9 34 - beq IrqHandler_Loop310 ; CPU:$A1BE PRG:21BE F0 03 + beq IrqHandler_Loop341 ; CPU:$A1BE PRG:21BE F0 03 jmp Sub_A1D0 ; CPU:$A1C0 PRG:21C0 4C D0 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop310 -; Global: Branch target inside IrqHandler: taken when Loop310. +; Routine: IrqHandler_Loop341 +; Global: Branch target inside IrqHandler: taken when Loop341. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop310: +IrqHandler_Loop341: lda $07B8 ; CPU:$A1C3 PRG:21C3 AD B8 07 - sta Zp4B ; CPU:$A1C6 PRG:21C6 85 4B + sta DispatchPtrHi ; CPU:$A1C6 PRG:21C6 85 4B jsr Sub_FCA7 ; CPU:$A1C8 PRG:21C8 20 A7 FC iny ; CPU:$A1CB PRG:21CB C8 sty $07B6 ; CPU:$A1CC PRG:21CC 8C B6 07 @@ -8001,19 +8785,19 @@ IrqHandler_Loop310: ; ----------------------------------------------------------------------------- Sub_A1D0: lda $07E9 ; CPU:$A1D0 PRG:21D0 AD E9 07 - beq IrqHandler_Loop311 ; CPU:$A1D3 PRG:21D3 F0 05 + beq IrqHandler_Loop342 ; CPU:$A1D3 PRG:21D3 F0 05 iny ; CPU:$A1D5 PRG:21D5 C8 sty $07B6 ; CPU:$A1D6 PRG:21D6 8C B6 07 rts ; CPU:$A1D9 PRG:21D9 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop311 -; Global: Branch target inside IrqHandler: taken when Loop311. +; Routine: IrqHandler_Loop342 +; Global: Branch target inside IrqHandler: taken when Loop342. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop311: +IrqHandler_Loop342: ldx #$A0 ; CPU:$A1DA PRG:21DA A2 A0 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero35 @@ -8025,17 +8809,17 @@ IrqHandler_Loop311: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero35: lda $0706,x ; CPU:$A1DC PRG:21DC BD 06 07 - bne IrqHandler_Loop312 ; CPU:$A1DF PRG:21DF D0 03 + bne IrqHandler_Loop343 ; CPU:$A1DF PRG:21DF D0 03 jmp Sub_A1F2 ; CPU:$A1E1 PRG:21E1 4C F2 A1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop312 -; Global: Branch target inside IrqHandler: taken when Loop312. +; Routine: IrqHandler_Loop343 +; Global: Branch target inside IrqHandler: taken when Loop343. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop312: +IrqHandler_Loop343: txa ; CPU:$A1E4 PRG:21E4 8A sec ; CPU:$A1E5 PRG:21E5 38 sbc #$14 ; CPU:$A1E6 PRG:21E6 E9 14 @@ -8056,69 +8840,69 @@ IrqHandler_Loop312: Sub_A1F2: lda $07B8 ; CPU:$A1F2 PRG:21F2 AD B8 07 cmp #$3E ; CPU:$A1F5 PRG:21F5 C9 3E - bne IrqHandler_Loop313 ; CPU:$A1F7 PRG:21F7 D0 05 + bne IrqHandler_Loop344 ; CPU:$A1F7 PRG:21F7 D0 05 iny ; CPU:$A1F9 PRG:21F9 C8 sty $07B6 ; CPU:$A1FA PRG:21FA 8C B6 07 rts ; CPU:$A1FD PRG:21FD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop313 -; Global: Branch target inside IrqHandler: taken when Loop313. +; Routine: IrqHandler_Loop344 +; Global: Branch target inside IrqHandler: taken when Loop344. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop313: +IrqHandler_Loop344: lda #$00 ; CPU:$A1FE PRG:21FE A9 00 sta $0710,x ; CPU:$A200 PRG:2200 9D 10 07 sta $0711,x ; CPU:$A203 PRG:2203 9D 11 07 sta $0712,x ; CPU:$A206 PRG:2206 9D 12 07 sta $0713,x ; CPU:$A209 PRG:2209 9D 13 07 - lda Zp4A ; CPU:$A20C PRG:220C A5 4A + lda DispatchPtrLo ; CPU:$A20C PRG:220C A5 4A sta $0700,x ; CPU:$A20E PRG:220E 9D 00 07 sta $0703,x ; CPU:$A211 PRG:2211 9D 03 07 lda $07B8 ; CPU:$A214 PRG:2214 AD B8 07 and #$3F ; CPU:$A217 PRG:2217 29 3F cmp #$10 ; CPU:$A219 PRG:2219 C9 10 - beq IrqHandler_Loop314 ; CPU:$A21B PRG:221B F0 06 + beq IrqHandler_Loop345 ; CPU:$A21B PRG:221B F0 06 cmp #$00 ; CPU:$A21D PRG:221D C9 00 - beq IrqHandler_Loop314 ; CPU:$A21F PRG:221F F0 02 - bne IrqHandler_Loop315 ; CPU:$A221 PRG:2221 D0 0C + beq IrqHandler_Loop345 ; CPU:$A21F PRG:221F F0 02 + bne IrqHandler_Loop346 ; CPU:$A221 PRG:2221 D0 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop314 -; Global: Branch target inside IrqHandler: taken when Loop314. +; Routine: IrqHandler_Loop345 +; Global: Branch target inside IrqHandler: taken when Loop345. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop314: +IrqHandler_Loop345: lda #$0A ; CPU:$A223 PRG:2223 A9 0A sta $0701,x ; CPU:$A225 PRG:2225 9D 01 07 lda #$FA ; CPU:$A228 PRG:2228 A9 FA sta $0702,x ; CPU:$A22A PRG:222A 9D 02 07 - bne IrqHandler_Loop316 ; CPU:$A22D PRG:222D D0 08 + bne IrqHandler_Loop347 ; CPU:$A22D PRG:222D D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop315 -; Global: Branch target inside IrqHandler: taken when Loop315. +; Routine: IrqHandler_Loop346 +; Global: Branch target inside IrqHandler: taken when Loop346. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop315: +IrqHandler_Loop346: lda #$FA ; CPU:$A22F PRG:222F A9 FA sta $0701,x ; CPU:$A231 PRG:2231 9D 01 07 sta $0702,x ; CPU:$A234 PRG:2234 9D 02 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop316 -; Global: Branch target inside IrqHandler: taken when Loop316. +; Routine: IrqHandler_Loop347 +; Global: Branch target inside IrqHandler: taken when Loop347. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop316: +IrqHandler_Loop347: lda #$01 ; CPU:$A237 PRG:2237 A9 01 sta $0706,x ; CPU:$A239 PRG:2239 9D 06 07 lda $07B8 ; CPU:$A23C PRG:223C AD B8 07 @@ -8154,75 +8938,75 @@ Sub_A26F: lda $0703,x ; CPU:$A26F PRG:226F BD 03 07 sta $07BE ; CPU:$A272 PRG:2272 8D BE 07 lda $070A,x ; CPU:$A275 PRG:2275 BD 0A 07 - bmi IrqHandler_Loop318 ; CPU:$A278 PRG:2278 30 2A + bmi IrqHandler_Loop349 ; CPU:$A278 PRG:2278 30 2A lda $0708,x ; CPU:$A27A PRG:227A BD 08 07 and #$3F ; CPU:$A27D PRG:227D 29 3F cmp #$06 ; CPU:$A27F PRG:227F C9 06 - bne IrqHandler_Loop317 ; CPU:$A281 PRG:2281 D0 14 + bne IrqHandler_Loop348 ; CPU:$A281 PRG:2281 D0 14 lda #$00 ; CPU:$A283 PRG:2283 A9 00 sec ; CPU:$A285 PRG:2285 38 sbc $070A,x ; CPU:$A286 PRG:2286 FD 0A 07 - sta Zp4A ; CPU:$A289 PRG:2289 85 4A + sta DispatchPtrLo ; CPU:$A289 PRG:2289 85 4A lda $0701,x ; CPU:$A28B PRG:228B BD 01 07 sec ; CPU:$A28E PRG:228E 38 - sbc Zp4A ; CPU:$A28F PRG:228F E5 4A + sbc DispatchPtrLo ; CPU:$A28F PRG:228F E5 4A sta $0702,x ; CPU:$A291 PRG:2291 9D 02 07 jmp Sub_A2C4 ; CPU:$A294 PRG:2294 4C C4 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop317 -; Global: Branch target inside IrqHandler: taken when Loop317. +; Routine: IrqHandler_Loop348 +; Global: Branch target inside IrqHandler: taken when Loop348. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop317: +IrqHandler_Loop348: lda $070A,x ; CPU:$A297 PRG:2297 BD 0A 07 clc ; CPU:$A29A PRG:229A 18 adc $0701,x ; CPU:$A29B PRG:229B 7D 01 07 sta $0702,x ; CPU:$A29E PRG:229E 9D 02 07 jmp Sub_A2C4 ; CPU:$A2A1 PRG:22A1 4C C4 A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop318 -; Global: Branch target inside IrqHandler: taken when Loop318. +; Routine: IrqHandler_Loop349 +; Global: Branch target inside IrqHandler: taken when Loop349. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop318: +IrqHandler_Loop349: lda $0708,x ; CPU:$A2A4 PRG:22A4 BD 08 07 and #$3F ; CPU:$A2A7 PRG:22A7 29 3F cmp #$06 ; CPU:$A2A9 PRG:22A9 C9 06 - bne IrqHandler_Loop319 ; CPU:$A2AB PRG:22AB D0 06 + bne IrqHandler_Loop350 ; CPU:$A2AB PRG:22AB D0 06 lda #$00 ; CPU:$A2AD PRG:22AD A9 00 - sta Zp4A ; CPU:$A2AF PRG:22AF 85 4A - beq IrqHandler_Loop320 ; CPU:$A2B1 PRG:22B1 F0 08 + sta DispatchPtrLo ; CPU:$A2AF PRG:22AF 85 4A + beq IrqHandler_Loop351 ; CPU:$A2B1 PRG:22B1 F0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop319 -; Global: Branch target inside IrqHandler: taken when Loop319. +; Routine: IrqHandler_Loop350 +; Global: Branch target inside IrqHandler: taken when Loop350. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop319: +IrqHandler_Loop350: lda #$00 ; CPU:$A2B3 PRG:22B3 A9 00 sec ; CPU:$A2B5 PRG:22B5 38 sbc $070A,x ; CPU:$A2B6 PRG:22B6 FD 0A 07 - sta Zp4A ; CPU:$A2B9 PRG:22B9 85 4A + sta DispatchPtrLo ; CPU:$A2B9 PRG:22B9 85 4A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop320 -; Global: Branch target inside IrqHandler: taken when Loop320. +; Routine: IrqHandler_Loop351 +; Global: Branch target inside IrqHandler: taken when Loop351. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop320: +IrqHandler_Loop351: lda $0701,x ; CPU:$A2BB PRG:22BB BD 01 07 sec ; CPU:$A2BE PRG:22BE 38 - sbc Zp4A ; CPU:$A2BF PRG:22BF E5 4A + sbc DispatchPtrLo ; CPU:$A2BF PRG:22BF E5 4A sta $0702,x ; CPU:$A2C1 PRG:22C1 9D 02 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_A2C4 @@ -8236,74 +9020,74 @@ Sub_A2C4: lda $0708,x ; CPU:$A2C4 PRG:22C4 BD 08 07 asl a ; CPU:$A2C7 PRG:22C7 0A asl a ; CPU:$A2C8 PRG:22C8 0A - bcs IrqHandler_Loop324 ; CPU:$A2C9 PRG:22C9 B0 48 + bcs IrqHandler_Loop355 ; CPU:$A2C9 PRG:22C9 B0 48 lda $0708,x ; CPU:$A2CB PRG:22CB BD 08 07 asl a ; CPU:$A2CE PRG:22CE 0A - bcc IrqHandler_Loop322 ; CPU:$A2CF PRG:22CF 90 22 + bcc IrqHandler_Loop353 ; CPU:$A2CF PRG:22CF 90 22 lda $070C,x ; CPU:$A2D1 PRG:22D1 BD 0C 07 - bmi IrqHandler_Loop321 ; CPU:$A2D4 PRG:22D4 30 0D + bmi IrqHandler_Loop352 ; CPU:$A2D4 PRG:22D4 30 0D lda $07BE ; CPU:$A2D6 PRG:22D6 AD BE 07 sec ; CPU:$A2D9 PRG:22D9 38 sbc $070C,x ; CPU:$A2DA PRG:22DA FD 0C 07 sta $0700,x ; CPU:$A2DD PRG:22DD 9D 00 07 - jmp IrqHandler_Loop324 ; CPU:$A2E0 PRG:22E0 4C 13 A3 + jmp IrqHandler_Loop355 ; CPU:$A2E0 PRG:22E0 4C 13 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop321 -; Global: Branch target inside IrqHandler: taken when Loop321. +; Routine: IrqHandler_Loop352 +; Global: Branch target inside IrqHandler: taken when Loop352. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop321: +IrqHandler_Loop352: lda #$00 ; CPU:$A2E3 PRG:22E3 A9 00 sec ; CPU:$A2E5 PRG:22E5 38 sbc $070C,x ; CPU:$A2E6 PRG:22E6 FD 0C 07 clc ; CPU:$A2E9 PRG:22E9 18 adc $07BE ; CPU:$A2EA PRG:22EA 6D BE 07 sta $0700,x ; CPU:$A2ED PRG:22ED 9D 00 07 - jmp IrqHandler_Loop324 ; CPU:$A2F0 PRG:22F0 4C 13 A3 + jmp IrqHandler_Loop355 ; CPU:$A2F0 PRG:22F0 4C 13 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop322 -; Global: Branch target inside IrqHandler: taken when Loop322. +; Routine: IrqHandler_Loop353 +; Global: Branch target inside IrqHandler: taken when Loop353. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop322: +IrqHandler_Loop353: lda $070C,x ; CPU:$A2F3 PRG:22F3 BD 0C 07 - bmi IrqHandler_Loop323 ; CPU:$A2F6 PRG:22F6 30 0A + bmi IrqHandler_Loop354 ; CPU:$A2F6 PRG:22F6 30 0A clc ; CPU:$A2F8 PRG:22F8 18 adc $07BE ; CPU:$A2F9 PRG:22F9 6D BE 07 sta $0700,x ; CPU:$A2FC PRG:22FC 9D 00 07 - jmp IrqHandler_Loop324 ; CPU:$A2FF PRG:22FF 4C 13 A3 + jmp IrqHandler_Loop355 ; CPU:$A2FF PRG:22FF 4C 13 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop323 -; Global: Branch target inside IrqHandler: taken when Loop323. +; Routine: IrqHandler_Loop354 +; Global: Branch target inside IrqHandler: taken when Loop354. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop323: +IrqHandler_Loop354: lda #$00 ; CPU:$A302 PRG:2302 A9 00 sec ; CPU:$A304 PRG:2304 38 sbc $070C,x ; CPU:$A305 PRG:2305 FD 0C 07 - sta Zp4A ; CPU:$A308 PRG:2308 85 4A + sta DispatchPtrLo ; CPU:$A308 PRG:2308 85 4A lda $07BE ; CPU:$A30A PRG:230A AD BE 07 sec ; CPU:$A30D PRG:230D 38 - sbc Zp4A ; CPU:$A30E PRG:230E E5 4A + sbc DispatchPtrLo ; CPU:$A30E PRG:230E E5 4A sta $0700,x ; CPU:$A310 PRG:2310 9D 00 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop324 -; Global: Branch target inside IrqHandler: taken when Loop324. +; Routine: IrqHandler_Loop355 +; Global: Branch target inside IrqHandler: taken when Loop355. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop324: +IrqHandler_Loop355: lda $0709,x ; CPU:$A313 PRG:2313 BD 09 07 sta $0707,x ; CPU:$A316 PRG:2316 9D 07 07 lda $070A,x ; CPU:$A319 PRG:2319 BD 0A 07 @@ -8313,58 +9097,58 @@ IrqHandler_Loop324: lda $070C,x ; CPU:$A325 PRG:2325 BD 0C 07 sta $070F,x ; CPU:$A328 PRG:2328 9D 0F 07 lda $070F,x ; CPU:$A32B PRG:232B BD 0F 07 - bmi IrqHandler_Loop325 ; CPU:$A32E PRG:232E 30 26 + bmi IrqHandler_Loop356 ; CPU:$A32E PRG:232E 30 26 lda $070F,x ; CPU:$A330 PRG:2330 BD 0F 07 lsr a ; CPU:$A333 PRG:2333 4A lsr a ; CPU:$A334 PRG:2334 4A lsr a ; CPU:$A335 PRG:2335 4A lsr a ; CPU:$A336 PRG:2336 4A - sta Zp4E ; CPU:$A337 PRG:2337 85 4E + sta ScrollY ; CPU:$A337 PRG:2337 85 4E lda $070F,x ; CPU:$A339 PRG:2339 BD 0F 07 asl a ; CPU:$A33C PRG:233C 0A asl a ; CPU:$A33D PRG:233D 0A asl a ; CPU:$A33E PRG:233E 0A asl a ; CPU:$A33F PRG:233F 0A - sta Zp4D ; CPU:$A340 PRG:2340 85 4D + sta ScrollX ; CPU:$A340 PRG:2340 85 4D clc ; CPU:$A342 PRG:2342 18 lda $0707,x ; CPU:$A343 PRG:2343 BD 07 07 - adc Zp4D ; CPU:$A346 PRG:2346 65 4D + adc ScrollX ; CPU:$A346 PRG:2346 65 4D sta $0709,x ; CPU:$A348 PRG:2348 9D 09 07 lda $070D,x ; CPU:$A34B PRG:234B BD 0D 07 - adc Zp4E ; CPU:$A34E PRG:234E 65 4E + adc ScrollY ; CPU:$A34E PRG:234E 65 4E sta $070A,x ; CPU:$A350 PRG:2350 9D 0A 07 jmp Sub_A37F ; CPU:$A353 PRG:2353 4C 7F A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop325 -; Global: Branch target inside IrqHandler: taken when Loop325. +; Routine: IrqHandler_Loop356 +; Global: Branch target inside IrqHandler: taken when Loop356. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop325: +IrqHandler_Loop356: lda #$00 ; CPU:$A356 PRG:2356 A9 00 sec ; CPU:$A358 PRG:2358 38 sbc $070F,x ; CPU:$A359 PRG:2359 FD 0F 07 - sta Zp46 ; CPU:$A35C PRG:235C 85 46 - lda Zp46 ; CPU:$A35E PRG:235E A5 46 + sta VramWritePtrLo ; CPU:$A35C PRG:235C 85 46 + lda VramWritePtrLo ; CPU:$A35E PRG:235E A5 46 lsr a ; CPU:$A360 PRG:2360 4A lsr a ; CPU:$A361 PRG:2361 4A lsr a ; CPU:$A362 PRG:2362 4A lsr a ; CPU:$A363 PRG:2363 4A - sta Zp4E ; CPU:$A364 PRG:2364 85 4E - lda Zp46 ; CPU:$A366 PRG:2366 A5 46 + sta ScrollY ; CPU:$A364 PRG:2364 85 4E + lda VramWritePtrLo ; CPU:$A366 PRG:2366 A5 46 asl a ; CPU:$A368 PRG:2368 0A asl a ; CPU:$A369 PRG:2369 0A asl a ; CPU:$A36A PRG:236A 0A asl a ; CPU:$A36B PRG:236B 0A - sta Zp4D ; CPU:$A36C PRG:236C 85 4D + sta ScrollX ; CPU:$A36C PRG:236C 85 4D sec ; CPU:$A36E PRG:236E 38 lda $0707,x ; CPU:$A36F PRG:236F BD 07 07 - sbc Zp4D ; CPU:$A372 PRG:2372 E5 4D + sbc ScrollX ; CPU:$A372 PRG:2372 E5 4D sta $0709,x ; CPU:$A374 PRG:2374 9D 09 07 lda $070D,x ; CPU:$A377 PRG:2377 BD 0D 07 - sbc Zp4E ; CPU:$A37A PRG:237A E5 4E + sbc ScrollY ; CPU:$A37A PRG:237A E5 4E sta $070A,x ; CPU:$A37C PRG:237C 9D 0A 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_A37F @@ -8376,58 +9160,58 @@ IrqHandler_Loop325: ; ----------------------------------------------------------------------------- Sub_A37F: lda $070A,x ; CPU:$A37F PRG:237F BD 0A 07 - bmi IrqHandler_Loop326 ; CPU:$A382 PRG:2382 30 25 + bmi IrqHandler_Loop357 ; CPU:$A382 PRG:2382 30 25 lda $070A,x ; CPU:$A384 PRG:2384 BD 0A 07 lsr a ; CPU:$A387 PRG:2387 4A lsr a ; CPU:$A388 PRG:2388 4A lsr a ; CPU:$A389 PRG:2389 4A lsr a ; CPU:$A38A PRG:238A 4A - sta Zp4E ; CPU:$A38B PRG:238B 85 4E + sta ScrollY ; CPU:$A38B PRG:238B 85 4E lda $070A,x ; CPU:$A38D PRG:238D BD 0A 07 asl a ; CPU:$A390 PRG:2390 0A asl a ; CPU:$A391 PRG:2391 0A asl a ; CPU:$A392 PRG:2392 0A asl a ; CPU:$A393 PRG:2393 0A - sta Zp4D ; CPU:$A394 PRG:2394 85 4D + sta ScrollX ; CPU:$A394 PRG:2394 85 4D sec ; CPU:$A396 PRG:2396 38 cld ; CPU:$A397 PRG:2397 D8 lda $070E,x ; CPU:$A398 PRG:2398 BD 0E 07 - sbc Zp4D ; CPU:$A39B PRG:239B E5 4D + sbc ScrollX ; CPU:$A39B PRG:239B E5 4D sta $070B,x ; CPU:$A39D PRG:239D 9D 0B 07 lda $070F,x ; CPU:$A3A0 PRG:23A0 BD 0F 07 - sbc Zp4E ; CPU:$A3A3 PRG:23A3 E5 4E + sbc ScrollY ; CPU:$A3A3 PRG:23A3 E5 4E sta $070C,x ; CPU:$A3A5 PRG:23A5 9D 0C 07 rts ; CPU:$A3A8 PRG:23A8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop326 -; Global: Branch target inside IrqHandler: taken when Loop326. +; Routine: IrqHandler_Loop357 +; Global: Branch target inside IrqHandler: taken when Loop357. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop326: +IrqHandler_Loop357: lda #$00 ; CPU:$A3A9 PRG:23A9 A9 00 sec ; CPU:$A3AB PRG:23AB 38 sbc $070A,x ; CPU:$A3AC PRG:23AC FD 0A 07 - sta Zp46 ; CPU:$A3AF PRG:23AF 85 46 + sta VramWritePtrLo ; CPU:$A3AF PRG:23AF 85 46 lsr a ; CPU:$A3B1 PRG:23B1 4A lsr a ; CPU:$A3B2 PRG:23B2 4A lsr a ; CPU:$A3B3 PRG:23B3 4A lsr a ; CPU:$A3B4 PRG:23B4 4A - sta Zp4E ; CPU:$A3B5 PRG:23B5 85 4E - lda Zp46 ; CPU:$A3B7 PRG:23B7 A5 46 + sta ScrollY ; CPU:$A3B5 PRG:23B5 85 4E + lda VramWritePtrLo ; CPU:$A3B7 PRG:23B7 A5 46 asl a ; CPU:$A3B9 PRG:23B9 0A asl a ; CPU:$A3BA PRG:23BA 0A asl a ; CPU:$A3BB PRG:23BB 0A asl a ; CPU:$A3BC PRG:23BC 0A - sta Zp4D ; CPU:$A3BD PRG:23BD 85 4D + sta ScrollX ; CPU:$A3BD PRG:23BD 85 4D clc ; CPU:$A3BF PRG:23BF 18 lda $070E,x ; CPU:$A3C0 PRG:23C0 BD 0E 07 - adc Zp4D ; CPU:$A3C3 PRG:23C3 65 4D + adc ScrollX ; CPU:$A3C3 PRG:23C3 65 4D sta $070B,x ; CPU:$A3C5 PRG:23C5 9D 0B 07 lda $070F,x ; CPU:$A3C8 PRG:23C8 BD 0F 07 - adc Zp4E ; CPU:$A3CB PRG:23CB 65 4E + adc ScrollY ; CPU:$A3CB PRG:23CB 65 4E sta $070C,x ; CPU:$A3CD PRG:23CD 9D 0C 07 rts ; CPU:$A3D0 PRG:23D0 60 ; ----------------------------------------------------------------------------- @@ -8441,75 +9225,117 @@ IrqHandler_Loop326: Sub_A3D1: lda $0701,x ; CPU:$A3D1 PRG:23D1 BD 01 07 cmp $0702,x ; CPU:$A3D4 PRG:23D4 DD 02 07 - bcc IrqHandler_Loop327 ; CPU:$A3D7 PRG:23D7 90 0A + bcc IrqHandler_Loop358 ; CPU:$A3D7 PRG:23D7 90 0A sec ; CPU:$A3D9 PRG:23D9 38 sbc $0702,x ; CPU:$A3DA PRG:23DA FD 02 07 cmp #$0A ; CPU:$A3DD PRG:23DD C9 0A - bcs IrqHandler_Loop331 ; CPU:$A3DF PRG:23DF B0 24 - bcc IrqHandler_Loop328 ; CPU:$A3E1 PRG:23E1 90 0B + bcs IrqHandler_Loop362 ; CPU:$A3DF PRG:23DF B0 24 + bcc IrqHandler_Loop359 ; CPU:$A3E1 PRG:23E1 90 0B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop327 -; Global: Branch target inside IrqHandler: taken when Loop327. +; Routine: IrqHandler_Loop358 +; Global: Branch target inside IrqHandler: taken when Loop358. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop327: +IrqHandler_Loop358: lda $0701,x ; CPU:$A3E3 PRG:23E3 BD 01 07 sec ; CPU:$A3E6 PRG:23E6 38 sbc $0702,x ; CPU:$A3E7 PRG:23E7 FD 02 07 cmp #$0A ; CPU:$A3EA PRG:23EA C9 0A - bcs IrqHandler_Loop331 ; CPU:$A3EC PRG:23EC B0 17 + bcs IrqHandler_Loop362 ; CPU:$A3EC PRG:23EC B0 17 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop328 -; Global: Branch target inside IrqHandler: taken when Loop328. +; Routine: IrqHandler_Loop359 +; Global: Branch target inside IrqHandler: taken when Loop359. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop328: +IrqHandler_Loop359: lda $070A,x ; CPU:$A3EE PRG:23EE BD 0A 07 - bpl IrqHandler_Loop329 ; CPU:$A3F1 PRG:23F1 10 06 + bpl IrqHandler_Loop360 ; CPU:$A3F1 PRG:23F1 10 06 dec $070A,x ; CPU:$A3F3 PRG:23F3 DE 0A 07 - jmp IrqHandler_Loop329 ; CPU:$A3F6 PRG:23F6 4C F9 A3 + jmp IrqHandler_Loop360 ; CPU:$A3F6 PRG:23F6 4C F9 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop329 -; Global: Branch target inside IrqHandler: taken when Loop329. +; Routine: IrqHandler_Loop360 +; Global: Branch target inside IrqHandler: taken when Loop360. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop329: +IrqHandler_Loop360: lda $070C,x ; CPU:$A3F9 PRG:23F9 BD 0C 07 - bpl IrqHandler_Loop330 ; CPU:$A3FC PRG:23FC 10 04 + bpl IrqHandler_Loop361 ; CPU:$A3FC PRG:23FC 10 04 dec $070C,x ; CPU:$A3FE PRG:23FE DE 0C 07 rts ; CPU:$A401 PRG:2401 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop330 -; Global: Branch target inside IrqHandler: taken when Loop330. +; Routine: IrqHandler_Loop361 +; Global: Branch target inside IrqHandler: taken when Loop361. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop330: +IrqHandler_Loop361: inc $070C,x ; CPU:$A402 PRG:2402 FE 0C 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop331 -; Global: Branch target inside IrqHandler: taken when Loop331. +; Routine: IrqHandler_Loop362 +; Global: Branch target inside IrqHandler: taken when Loop362. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop331: +IrqHandler_Loop362: rts ; CPU:$A405 PRG:2405 60 -; ---- data $A406-$A41A (21 bytes) ---- - .byte $BD, $0A, $07, $10, $03, $4C, $11, $A4, $DE, $0A, $07, $BD, $0C, $07, $10, $01 ; CPU:$A406 PRG:2406 BD 0A 07 10 03 4C 11 A4 DE 0A 07 BD 0C 07 10 01 - .byte $60, $DE, $0C, $07, $60 ; CPU:$A416 PRG:2416 60 DE 0C 07 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A406 +; Global: Branch target inside Label: taken when A406. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A406: + lda $070A,x ; CPU:$A406 PRG:2406 BD 0A 07 + bpl IrqHandler_Loop363 ; CPU:$A409 PRG:2409 10 03 + jmp Sub_A411 ; CPU:$A40B PRG:240B 4C 11 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop363 +; Global: Branch target inside IrqHandler: taken when Loop363. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop363: + dec $070A,x ; CPU:$A40E PRG:240E DE 0A 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_A411 +; Global: Branch target inside Sub: taken when A411. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A411: + lda $070C,x ; CPU:$A411 PRG:2411 BD 0C 07 + bpl IrqHandler_Loop364 ; CPU:$A414 PRG:2414 10 01 + rts ; CPU:$A416 PRG:2416 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop364 +; Global: Branch target inside IrqHandler: taken when Loop364. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop364: + dec $070C,x ; CPU:$A417 PRG:2417 DE 0C 07 + rts ; CPU:$A41A PRG:241A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A41B ; Global: Branch target inside Sub: taken when A41B. @@ -8520,115 +9346,115 @@ IrqHandler_Loop331: ; ----------------------------------------------------------------------------- Sub_A41B: lda $0710,x ; CPU:$A41B PRG:241B BD 10 07 - beq IrqHandler_Loop332 ; CPU:$A41E PRG:241E F0 03 + beq IrqHandler_Loop365 ; CPU:$A41E PRG:241E F0 03 jmp Sub_B460 ; CPU:$A420 PRG:2420 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop332 -; Global: Branch target inside IrqHandler: taken when Loop332. +; Routine: IrqHandler_Loop365 +; Global: Branch target inside IrqHandler: taken when Loop365. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop332: +IrqHandler_Loop365: jsr Sub_B29D ; CPU:$A423 PRG:2423 20 9D B2 jsr Sub_B0A0 ; CPU:$A426 PRG:2426 20 A0 B0 dec $0701,x ; CPU:$A429 PRG:2429 DE 01 07 jsr Sub_A26F ; CPU:$A42C PRG:242C 20 6F A2 - lda Zp54 ; CPU:$A42F PRG:242F A5 54 + lda FrameCounter ; CPU:$A42F PRG:242F A5 54 and #$03 ; CPU:$A431 PRG:2431 29 03 - bne IrqHandler_Loop333 ; CPU:$A433 PRG:2433 D0 03 + bne IrqHandler_Loop366 ; CPU:$A433 PRG:2433 D0 03 jsr Sub_A3D1 ; CPU:$A435 PRG:2435 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop333 -; Global: Branch target inside IrqHandler: taken when Loop333. +; Routine: IrqHandler_Loop366 +; Global: Branch target inside IrqHandler: taken when Loop366. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop333: +IrqHandler_Loop366: lda $0702,x ; CPU:$A438 PRG:2438 BD 02 07 cmp #$04 ; CPU:$A43B PRG:243B C9 04 - bcs IrqHandler_Loop334 ; CPU:$A43D PRG:243D B0 08 + bcs IrqHandler_Loop367 ; CPU:$A43D PRG:243D B0 08 lda #$00 ; CPU:$A43F PRG:243F A9 00 sta $0706,x ; CPU:$A441 PRG:2441 9D 06 07 - jmp IrqHandler_Loop338 ; CPU:$A444 PRG:2444 4C 89 A4 + jmp IrqHandler_Loop371 ; CPU:$A444 PRG:2444 4C 89 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop334 -; Global: Branch target inside IrqHandler: taken when Loop334. +; Routine: IrqHandler_Loop367 +; Global: Branch target inside IrqHandler: taken when Loop367. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop334: +IrqHandler_Loop367: lda $0700,x ; CPU:$A447 PRG:2447 BD 00 07 cmp $0502 ; CPU:$A44A PRG:244A CD 02 05 - bne IrqHandler_Loop335 ; CPU:$A44D PRG:244D D0 05 + bne IrqHandler_Loop368 ; CPU:$A44D PRG:244D D0 05 lda $0702,x ; CPU:$A44F PRG:244F BD 02 07 - sta Zp4B ; CPU:$A452 PRG:2452 85 4B + sta DispatchPtrHi ; CPU:$A452 PRG:2452 85 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop335 -; Global: Branch target inside IrqHandler: taken when Loop335. +; Routine: IrqHandler_Loop368 +; Global: Branch target inside IrqHandler: taken when Loop368. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop335: - lda Zp54 ; CPU:$A454 PRG:2454 A5 54 +IrqHandler_Loop368: + lda FrameCounter ; CPU:$A454 PRG:2454 A5 54 lsr a ; CPU:$A456 PRG:2456 4A - bcs IrqHandler_Loop338 ; CPU:$A457 PRG:2457 B0 30 + bcs IrqHandler_Loop371 ; CPU:$A457 PRG:2457 B0 30 lda $0502 ; CPU:$A459 PRG:2459 AD 02 05 cmp #$64 ; CPU:$A45C PRG:245C C9 64 - bcc IrqHandler_Loop338 ; CPU:$A45E PRG:245E 90 29 + bcc IrqHandler_Loop371 ; CPU:$A45E PRG:245E 90 29 lda $0703,x ; CPU:$A460 PRG:2460 BD 03 07 sec ; CPU:$A463 PRG:2463 38 sbc $0502 ; CPU:$A464 PRG:2464 ED 02 05 - bmi IrqHandler_Loop336 ; CPU:$A467 PRG:2467 30 04 + bmi IrqHandler_Loop369 ; CPU:$A467 PRG:2467 30 04 cmp #$10 ; CPU:$A469 PRG:2469 C9 10 - bcc IrqHandler_Loop338 ; CPU:$A46B PRG:246B 90 1C + bcc IrqHandler_Loop371 ; CPU:$A46B PRG:246B 90 1C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop336 -; Global: Branch target inside IrqHandler: taken when Loop336. +; Routine: IrqHandler_Loop369 +; Global: Branch target inside IrqHandler: taken when Loop369. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop336: +IrqHandler_Loop369: lda $0502 ; CPU:$A46D PRG:246D AD 02 05 sec ; CPU:$A470 PRG:2470 38 sbc $0703,x ; CPU:$A471 PRG:2471 FD 03 07 cmp #$10 ; CPU:$A474 PRG:2474 C9 10 - bcc IrqHandler_Loop338 ; CPU:$A476 PRG:2476 90 11 + bcc IrqHandler_Loop371 ; CPU:$A476 PRG:2476 90 11 lda $0703,x ; CPU:$A478 PRG:2478 BD 03 07 cmp $0502 ; CPU:$A47B PRG:247B CD 02 05 - bcs IrqHandler_Loop337 ; CPU:$A47E PRG:247E B0 06 + bcs IrqHandler_Loop370 ; CPU:$A47E PRG:247E B0 06 inc $0703,x ; CPU:$A480 PRG:2480 FE 03 07 - jmp IrqHandler_Loop338 ; CPU:$A483 PRG:2483 4C 89 A4 + jmp IrqHandler_Loop371 ; CPU:$A483 PRG:2483 4C 89 A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop337 -; Global: Branch target inside IrqHandler: taken when Loop337. +; Routine: IrqHandler_Loop370 +; Global: Branch target inside IrqHandler: taken when Loop370. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop337: +IrqHandler_Loop370: dec $0703,x ; CPU:$A486 PRG:2486 DE 03 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop338 -; Global: Branch target inside IrqHandler: taken when Loop338. +; Routine: IrqHandler_Loop371 +; Global: Branch target inside IrqHandler: taken when Loop371. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop338: +IrqHandler_Loop371: lda $06CB ; CPU:$A489 PRG:2489 AD CB 06 - beq IrqHandler_Loop339 ; CPU:$A48C PRG:248C F0 2B + beq IrqHandler_Loop372 ; CPU:$A48C PRG:248C F0 2B ; ----------------------------------------------------------------------------- ; Routine: Sub_A48E ; Global: Branch target inside Sub: taken when A48E. @@ -8639,35 +9465,35 @@ IrqHandler_Loop338: ; ----------------------------------------------------------------------------- Sub_A48E: lda $0700,x ; CPU:$A48E PRG:248E BD 00 07 - sta Zp19 ; CPU:$A491 PRG:2491 85 19 + sta PlayerXHigh ; CPU:$A491 PRG:2491 85 19 lda $0702,x ; CPU:$A493 PRG:2493 BD 02 07 - sta Zp1C ; CPU:$A496 PRG:2496 85 1C + sta PlayerYHigh ; CPU:$A496 PRG:2496 85 1C lda $0712,x ; CPU:$A498 PRG:2498 BD 12 07 - sta Zp1A ; CPU:$A49B PRG:249B 85 1A + sta PlayerXLow ; CPU:$A49B PRG:249B 85 1A lda $0711,x ; CPU:$A49D PRG:249D BD 11 07 - sta Zp1B ; CPU:$A4A0 PRG:24A0 85 1B + sta PlayerYLow ; CPU:$A4A0 PRG:24A0 85 1B jsr Sub_8221 ; CPU:$A4A2 PRG:24A2 20 21 82 - lda Zp1C ; CPU:$A4A5 PRG:24A5 A5 1C + lda PlayerYHigh ; CPU:$A4A5 PRG:24A5 A5 1C clc ; CPU:$A4A7 PRG:24A7 18 adc #$08 ; CPU:$A4A8 PRG:24A8 69 08 - sta Zp1C ; CPU:$A4AA PRG:24AA 85 1C + sta PlayerYHigh ; CPU:$A4AA PRG:24AA 85 1C lda $0711,x ; CPU:$A4AC PRG:24AC BD 11 07 - sta Zp1B ; CPU:$A4AF PRG:24AF 85 1B + sta PlayerYLow ; CPU:$A4AF PRG:24AF 85 1B lda $0713,x ; CPU:$A4B1 PRG:24B1 BD 13 07 - sta Zp1A ; CPU:$A4B4 PRG:24B4 85 1A + sta PlayerXLow ; CPU:$A4B4 PRG:24B4 85 1A jmp Sub_8221 ; CPU:$A4B6 PRG:24B6 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop339 -; Global: Branch target inside IrqHandler: taken when Loop339. +; Routine: IrqHandler_Loop372 +; Global: Branch target inside IrqHandler: taken when Loop372. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop339: +IrqHandler_Loop372: lda $0704,x ; CPU:$A4B9 PRG:24B9 BD 04 07 cmp #$68 ; CPU:$A4BC PRG:24BC C9 68 - bne IrqHandler_Loop340 ; CPU:$A4BE PRG:24BE D0 16 + bne IrqHandler_Loop373 ; CPU:$A4BE PRG:24BE D0 16 lda #$78 ; CPU:$A4C0 PRG:24C0 A9 78 sta $0704,x ; CPU:$A4C2 PRG:24C2 9D 04 07 sta $0712,x ; CPU:$A4C5 PRG:24C5 9D 12 07 @@ -8677,16 +9503,16 @@ IrqHandler_Loop339: sta $0711,x ; CPU:$A4D0 PRG:24D0 9D 11 07 jmp Sub_A48E ; CPU:$A4D3 PRG:24D3 4C 8E A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop340 -; Global: Branch target inside IrqHandler: taken when Loop340. +; Routine: IrqHandler_Loop373 +; Global: Branch target inside IrqHandler: taken when Loop373. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop340: +IrqHandler_Loop373: cmp #$78 ; CPU:$A4D6 PRG:24D6 C9 78 - bne IrqHandler_Loop341 ; CPU:$A4D8 PRG:24D8 D0 16 + bne IrqHandler_Loop374 ; CPU:$A4D8 PRG:24D8 D0 16 lda #$88 ; CPU:$A4DA PRG:24DA A9 88 sta $0704,x ; CPU:$A4DC PRG:24DC 9D 04 07 sta $0712,x ; CPU:$A4DF PRG:24DF 9D 12 07 @@ -8696,16 +9522,16 @@ IrqHandler_Loop340: sta $0711,x ; CPU:$A4EA PRG:24EA 9D 11 07 jmp Sub_A48E ; CPU:$A4ED PRG:24ED 4C 8E A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop341 -; Global: Branch target inside IrqHandler: taken when Loop341. +; Routine: IrqHandler_Loop374 +; Global: Branch target inside IrqHandler: taken when Loop374. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop341: +IrqHandler_Loop374: cmp #$88 ; CPU:$A4F0 PRG:24F0 C9 88 - bne IrqHandler_Loop342 ; CPU:$A4F2 PRG:24F2 D0 15 + bne IrqHandler_Loop375 ; CPU:$A4F2 PRG:24F2 D0 15 lda #$7B ; CPU:$A4F4 PRG:24F4 A9 7B sta $0704,x ; CPU:$A4F6 PRG:24F6 9D 04 07 sta $0712,x ; CPU:$A4F9 PRG:24F9 9D 12 07 @@ -8715,16 +9541,16 @@ IrqHandler_Loop341: sta $0711,x ; CPU:$A503 PRG:2503 9D 11 07 jmp Sub_A48E ; CPU:$A506 PRG:2506 4C 8E A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop342 -; Global: Branch target inside IrqHandler: taken when Loop342. +; Routine: IrqHandler_Loop375 +; Global: Branch target inside IrqHandler: taken when Loop375. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop342: +IrqHandler_Loop375: cmp #$7B ; CPU:$A509 PRG:2509 C9 7B - bne IrqHandler_Loop343 ; CPU:$A50B PRG:250B D0 18 + bne IrqHandler_Loop376 ; CPU:$A50B PRG:250B D0 18 lda #$8C ; CPU:$A50D PRG:250D A9 8C sta $0704,x ; CPU:$A50F PRG:250F 9D 04 07 lda #$88 ; CPU:$A512 PRG:2512 A9 88 @@ -8735,16 +9561,16 @@ IrqHandler_Loop342: sta $0711,x ; CPU:$A51F PRG:251F 9D 11 07 jmp Sub_A48E ; CPU:$A522 PRG:2522 4C 8E A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop343 -; Global: Branch target inside IrqHandler: taken when Loop343. +; Routine: IrqHandler_Loop376 +; Global: Branch target inside IrqHandler: taken when Loop376. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop343: +IrqHandler_Loop376: cmp #$8C ; CPU:$A525 PRG:2525 C9 8C - bne IrqHandler_Loop344 ; CPU:$A527 PRG:2527 D0 18 + bne IrqHandler_Loop377 ; CPU:$A527 PRG:2527 D0 18 lda #$7C ; CPU:$A529 PRG:2529 A9 7C sta $0704,x ; CPU:$A52B PRG:252B 9D 04 07 lda #$78 ; CPU:$A52E PRG:252E A9 78 @@ -8755,14 +9581,14 @@ IrqHandler_Loop343: sta $0711,x ; CPU:$A53B PRG:253B 9D 11 07 jmp Sub_A48E ; CPU:$A53E PRG:253E 4C 8E A4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop344 -; Global: Branch target inside IrqHandler: taken when Loop344. +; Routine: IrqHandler_Loop377 +; Global: Branch target inside IrqHandler: taken when Loop377. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop344: +IrqHandler_Loop377: lda #$68 ; CPU:$A541 PRG:2541 A9 68 sta $0704,x ; CPU:$A543 PRG:2543 9D 04 07 sta $0712,x ; CPU:$A546 PRG:2546 9D 12 07 @@ -8781,92 +9607,92 @@ IrqHandler_Loop344: ; ----------------------------------------------------------------------------- Sub_A557: lda $0710,x ; CPU:$A557 PRG:2557 BD 10 07 - beq IrqHandler_Loop345 ; CPU:$A55A PRG:255A F0 03 + beq IrqHandler_Loop378 ; CPU:$A55A PRG:255A F0 03 jmp Sub_B460 ; CPU:$A55C PRG:255C 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop345 -; Global: Branch target inside IrqHandler: taken when Loop345. +; Routine: IrqHandler_Loop378 +; Global: Branch target inside IrqHandler: taken when Loop378. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop345: +IrqHandler_Loop378: jsr Sub_B29D ; CPU:$A55F PRG:255F 20 9D B2 jsr Sub_B0A0 ; CPU:$A562 PRG:2562 20 A0 B0 dec $0701,x ; CPU:$A565 PRG:2565 DE 01 07 jsr Sub_A26F ; CPU:$A568 PRG:2568 20 6F A2 lda $0501 ; CPU:$A56B PRG:256B AD 01 05 cmp $0702,x ; CPU:$A56E PRG:256E DD 02 07 - bcs IrqHandler_Loop346 ; CPU:$A571 PRG:2571 B0 09 - lda Zp54 ; CPU:$A573 PRG:2573 A5 54 + bcs IrqHandler_Loop379 ; CPU:$A571 PRG:2571 B0 09 + lda FrameCounter ; CPU:$A573 PRG:2573 A5 54 and #$03 ; CPU:$A575 PRG:2575 29 03 - bne IrqHandler_Loop346 ; CPU:$A577 PRG:2577 D0 03 + bne IrqHandler_Loop379 ; CPU:$A577 PRG:2577 D0 03 jsr Sub_A3D1 ; CPU:$A579 PRG:2579 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop346 -; Global: Branch target inside IrqHandler: taken when Loop346. +; Routine: IrqHandler_Loop379 +; Global: Branch target inside IrqHandler: taken when Loop379. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop346: +IrqHandler_Loop379: lda $0702,x ; CPU:$A57C PRG:257C BD 02 07 cmp #$04 ; CPU:$A57F PRG:257F C9 04 - bcs IrqHandler_Loop347 ; CPU:$A581 PRG:2581 B0 06 + bcs IrqHandler_Loop380 ; CPU:$A581 PRG:2581 B0 06 lda #$00 ; CPU:$A583 PRG:2583 A9 00 sta $0706,x ; CPU:$A585 PRG:2585 9D 06 07 rts ; CPU:$A588 PRG:2588 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop347 -; Global: Branch target inside IrqHandler: taken when Loop347. +; Routine: IrqHandler_Loop380 +; Global: Branch target inside IrqHandler: taken when Loop380. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop347: +IrqHandler_Loop380: dec $0702,x ; CPU:$A589 PRG:2589 DE 02 07 lda $06D0 ; CPU:$A58C PRG:258C AD D0 06 cmp #$08 ; CPU:$A58F PRG:258F C9 08 - bcs IrqHandler_Loop348 ; CPU:$A591 PRG:2591 B0 06 + bcs IrqHandler_Loop381 ; CPU:$A591 PRG:2591 B0 06 lda #$AB ; CPU:$A593 PRG:2593 A9 AB - sta Zp1A ; CPU:$A595 PRG:2595 85 1A - bne IrqHandler_Loop349 ; CPU:$A597 PRG:2597 D0 04 + sta PlayerXLow ; CPU:$A595 PRG:2595 85 1A + bne IrqHandler_Loop382 ; CPU:$A597 PRG:2597 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop348 -; Global: Branch target inside IrqHandler: taken when Loop348. +; Routine: IrqHandler_Loop381 +; Global: Branch target inside IrqHandler: taken when Loop381. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop348: +IrqHandler_Loop381: lda #$9B ; CPU:$A599 PRG:2599 A9 9B - sta Zp1A ; CPU:$A59B PRG:259B 85 1A + sta PlayerXLow ; CPU:$A59B PRG:259B 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop349 -; Global: Branch target inside IrqHandler: taken when Loop349. +; Routine: IrqHandler_Loop382 +; Global: Branch target inside IrqHandler: taken when Loop382. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop349: +IrqHandler_Loop382: lda $0700,x ; CPU:$A59D PRG:259D BD 00 07 - sta Zp19 ; CPU:$A5A0 PRG:25A0 85 19 + sta PlayerXHigh ; CPU:$A5A0 PRG:25A0 85 19 lda $0702,x ; CPU:$A5A2 PRG:25A2 BD 02 07 - sta Zp1C ; CPU:$A5A5 PRG:25A5 85 1C + sta PlayerYHigh ; CPU:$A5A5 PRG:25A5 85 1C lda #$00 ; CPU:$A5A7 PRG:25A7 A9 00 - sta Zp1B ; CPU:$A5A9 PRG:25A9 85 1B + sta PlayerYLow ; CPU:$A5A9 PRG:25A9 85 1B jsr Sub_8221 ; CPU:$A5AB PRG:25AB 20 21 82 - lda Zp1C ; CPU:$A5AE PRG:25AE A5 1C + lda PlayerYHigh ; CPU:$A5AE PRG:25AE A5 1C clc ; CPU:$A5B0 PRG:25B0 18 adc #$08 ; CPU:$A5B1 PRG:25B1 69 08 - sta Zp1C ; CPU:$A5B3 PRG:25B3 85 1C + sta PlayerYHigh ; CPU:$A5B3 PRG:25B3 85 1C lda #$AC ; CPU:$A5B5 PRG:25B5 A9 AC - sta Zp1A ; CPU:$A5B7 PRG:25B7 85 1A + sta PlayerXLow ; CPU:$A5B7 PRG:25B7 85 1A jmp Sub_8221 ; CPU:$A5B9 PRG:25B9 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5BC @@ -8878,52 +9704,52 @@ IrqHandler_Loop349: ; ----------------------------------------------------------------------------- Sub_A5BC: lda $0710,x ; CPU:$A5BC PRG:25BC BD 10 07 - beq IrqHandler_Loop350 ; CPU:$A5BF PRG:25BF F0 03 + beq IrqHandler_Loop383 ; CPU:$A5BF PRG:25BF F0 03 jmp Sub_B460 ; CPU:$A5C1 PRG:25C1 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop350 -; Global: Branch target inside IrqHandler: taken when Loop350. +; Routine: IrqHandler_Loop383 +; Global: Branch target inside IrqHandler: taken when Loop383. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop350: +IrqHandler_Loop383: jsr Sub_B234 ; CPU:$A5C4 PRG:25C4 20 34 B2 jsr Sub_B16A ; CPU:$A5C7 PRG:25C7 20 6A B1 lda $0702,x ; CPU:$A5CA PRG:25CA BD 02 07 cmp #$04 ; CPU:$A5CD PRG:25CD C9 04 - bcs IrqHandler_Loop351 ; CPU:$A5CF PRG:25CF B0 06 + bcs IrqHandler_Loop384 ; CPU:$A5CF PRG:25CF B0 06 lda #$00 ; CPU:$A5D1 PRG:25D1 A9 00 sta $0706,x ; CPU:$A5D3 PRG:25D3 9D 06 07 rts ; CPU:$A5D6 PRG:25D6 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop351 -; Global: Branch target inside IrqHandler: taken when Loop351. +; Routine: IrqHandler_Loop384 +; Global: Branch target inside IrqHandler: taken when Loop384. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop351: +IrqHandler_Loop384: lda $0708,x ; CPU:$A5D7 PRG:25D7 BD 08 07 and #$3F ; CPU:$A5DA PRG:25DA 29 3F cmp #$16 ; CPU:$A5DC PRG:25DC C9 16 - beq IrqHandler_Loop352 ; CPU:$A5DE PRG:25DE F0 0C + beq IrqHandler_Loop385 ; CPU:$A5DE PRG:25DE F0 0C lda $0702,x ; CPU:$A5E0 PRG:25E0 BD 02 07 sec ; CPU:$A5E3 PRG:25E3 38 sbc #$05 ; CPU:$A5E4 PRG:25E4 E9 05 sta $0702,x ; CPU:$A5E6 PRG:25E6 9D 02 07 jmp Sub_A5F5 ; CPU:$A5E9 PRG:25E9 4C F5 A5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop352 -; Global: Branch target inside IrqHandler: taken when Loop352. +; Routine: IrqHandler_Loop385 +; Global: Branch target inside IrqHandler: taken when Loop385. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop352: +IrqHandler_Loop385: lda $0702,x ; CPU:$A5EC PRG:25EC BD 02 07 sec ; CPU:$A5EF PRG:25EF 38 sbc #$03 ; CPU:$A5F0 PRG:25F0 E9 03 @@ -8939,73 +9765,182 @@ IrqHandler_Loop352: Sub_A5F5: lda $06CE ; CPU:$A5F5 PRG:25F5 AD CE 06 cmp #$06 ; CPU:$A5F8 PRG:25F8 C9 06 - bcs IrqHandler_Loop353 ; CPU:$A5FA PRG:25FA B0 0C + bcs IrqHandler_Loop386 ; CPU:$A5FA PRG:25FA B0 0C lda #$A9 ; CPU:$A5FC PRG:25FC A9 A9 sta $0711,x ; CPU:$A5FE PRG:25FE 9D 11 07 lda #$99 ; CPU:$A601 PRG:2601 A9 99 sta $0712,x ; CPU:$A603 PRG:2603 9D 12 07 - bne IrqHandler_Loop354 ; CPU:$A606 PRG:2606 D0 0A + bne IrqHandler_Loop387 ; CPU:$A606 PRG:2606 D0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop353 -; Global: Branch target inside IrqHandler: taken when Loop353. +; Routine: IrqHandler_Loop386 +; Global: Branch target inside IrqHandler: taken when Loop386. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop353: +IrqHandler_Loop386: lda #$8A ; CPU:$A608 PRG:2608 A9 8A sta $0711,x ; CPU:$A60A PRG:260A 9D 11 07 lda #$96 ; CPU:$A60D PRG:260D A9 96 sta $0712,x ; CPU:$A60F PRG:260F 9D 12 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop354 -; Global: Branch target inside IrqHandler: taken when Loop354. +; Routine: IrqHandler_Loop387 +; Global: Branch target inside IrqHandler: taken when Loop387. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop354: +IrqHandler_Loop387: lda $0712,x ; CPU:$A612 PRG:2612 BD 12 07 - sta Zp1A ; CPU:$A615 PRG:2615 85 1A + sta PlayerXLow ; CPU:$A615 PRG:2615 85 1A lda $0700,x ; CPU:$A617 PRG:2617 BD 00 07 - sta Zp19 ; CPU:$A61A PRG:261A 85 19 + sta PlayerXHigh ; CPU:$A61A PRG:261A 85 19 lda $0702,x ; CPU:$A61C PRG:261C BD 02 07 - sta Zp1C ; CPU:$A61F PRG:261F 85 1C + sta PlayerYHigh ; CPU:$A61F PRG:261F 85 1C lda #$00 ; CPU:$A621 PRG:2621 A9 00 - sta Zp1B ; CPU:$A623 PRG:2623 85 1B + sta PlayerYLow ; CPU:$A623 PRG:2623 85 1B jsr Sub_8221 ; CPU:$A625 PRG:2625 20 21 82 - lda Zp19 ; CPU:$A628 PRG:2628 A5 19 + lda PlayerXHigh ; CPU:$A628 PRG:2628 A5 19 clc ; CPU:$A62A PRG:262A 18 adc #$08 ; CPU:$A62B PRG:262B 69 08 - sta Zp19 ; CPU:$A62D PRG:262D 85 19 + sta PlayerXHigh ; CPU:$A62D PRG:262D 85 19 lda $0711,x ; CPU:$A62F PRG:262F BD 11 07 - sta Zp1A ; CPU:$A632 PRG:2632 85 1A + sta PlayerXLow ; CPU:$A632 PRG:2632 85 1A jsr Sub_8221 ; CPU:$A634 PRG:2634 20 21 82 - lda Zp1C ; CPU:$A637 PRG:2637 A5 1C + lda PlayerYHigh ; CPU:$A637 PRG:2637 A5 1C clc ; CPU:$A639 PRG:2639 18 adc #$08 ; CPU:$A63A PRG:263A 69 08 - sta Zp1C ; CPU:$A63C PRG:263C 85 1C + sta PlayerYHigh ; CPU:$A63C PRG:263C 85 1C lda #$AA ; CPU:$A63E PRG:263E A9 AA - sta Zp1A ; CPU:$A640 PRG:2640 85 1A + sta PlayerXLow ; CPU:$A640 PRG:2640 85 1A jsr Sub_8221 ; CPU:$A642 PRG:2642 20 21 82 - lda Zp19 ; CPU:$A645 PRG:2645 A5 19 + lda PlayerXHigh ; CPU:$A645 PRG:2645 A5 19 sec ; CPU:$A647 PRG:2647 38 sbc #$08 ; CPU:$A648 PRG:2648 E9 08 - sta Zp19 ; CPU:$A64A PRG:264A 85 19 + sta PlayerXHigh ; CPU:$A64A PRG:264A 85 19 lda #$9A ; CPU:$A64C PRG:264C A9 9A - sta Zp1A ; CPU:$A64E PRG:264E 85 1A + sta PlayerXLow ; CPU:$A64E PRG:264E 85 1A jmp Sub_8221 ; CPU:$A650 PRG:2650 4C 21 82 -; ---- data $A653-$A6C3 (113 bytes) ---- - .byte $BD, $10, $07, $F0, $03, $4C, $60, $B4, $20, $34, $B2, $20, $6A, $B1, $BD, $06 ; CPU:$A653 PRG:2653 BD 10 07 F0 03 4C 60 B4 20 34 B2 20 6A B1 BD 06 - .byte $07, $0A, $B0, $08, $BD, $01, $07, $CD, $01, $05, $B0, $1A, $FE, $01, $07, $FE ; CPU:$A663 PRG:2663 07 0A B0 08 BD 01 07 CD 01 05 B0 1A FE 01 07 FE - .byte $01, $07, $FE, $01, $07, $FE, $01, $07, $FE, $01, $07, $BD, $06, $07, $09, $80 ; CPU:$A673 PRG:2673 01 07 FE 01 07 FE 01 07 FE 01 07 BD 06 07 09 80 - .byte $9D, $06, $07, $4C, $8C, $A6, $DE, $01, $07, $20, $6F, $A2, $A5, $54, $29, $03 ; CPU:$A683 PRG:2683 9D 06 07 4C 8C A6 DE 01 07 20 6F A2 A5 54 29 03 - .byte $D0, $03, $20, $D1, $A3, $BD, $06, $07, $0A, $B0, $0D, $BD, $02, $07, $C9, $05 ; CPU:$A693 PRG:2693 D0 03 20 D1 A3 BD 06 07 0A B0 0D BD 02 07 C9 05 - .byte $B0, $13, $A9, $00, $9D, $06, $07, $60, $BD, $02, $07, $C9, $FB, $90, $06, $A9 ; CPU:$A6A3 PRG:26A3 B0 13 A9 00 9D 06 07 60 BD 02 07 C9 FB 90 06 A9 - .byte $00, $9D, $06, $07, $60, $BD, $02, $07, $38, $E9, $02, $9D, $02, $07, $4C, $C3 ; CPU:$A6B3 PRG:26B3 00 9D 06 07 60 BD 02 07 38 E9 02 9D 02 07 4C C3 - .byte $A8 ; CPU:$A6C3 PRG:26C3 A8 +; ----------------------------------------------------------------------------- +; Routine: Label_A653 +; Global: Branch target inside Label: taken when A653. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A653: + lda $0710,x ; CPU:$A653 PRG:2653 BD 10 07 + beq IrqHandler_Loop388 ; CPU:$A656 PRG:2656 F0 03 + jmp Sub_B460 ; CPU:$A658 PRG:2658 4C 60 B4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop388 +; Global: Branch target inside IrqHandler: taken when Loop388. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop388: + jsr Sub_B234 ; CPU:$A65B PRG:265B 20 34 B2 + jsr Sub_B16A ; CPU:$A65E PRG:265E 20 6A B1 + lda $0706,x ; CPU:$A661 PRG:2661 BD 06 07 + asl a ; CPU:$A664 PRG:2664 0A + bcs IrqHandler_Loop389 ; CPU:$A665 PRG:2665 B0 08 + lda $0701,x ; CPU:$A667 PRG:2667 BD 01 07 + cmp $0501 ; CPU:$A66A PRG:266A CD 01 05 + bcs IrqHandler_Loop390 ; CPU:$A66D PRG:266D B0 1A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop389 +; Global: Branch target inside IrqHandler: taken when Loop389. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop389: + inc $0701,x ; CPU:$A66F PRG:266F FE 01 07 + inc $0701,x ; CPU:$A672 PRG:2672 FE 01 07 + inc $0701,x ; CPU:$A675 PRG:2675 FE 01 07 + inc $0701,x ; CPU:$A678 PRG:2678 FE 01 07 + inc $0701,x ; CPU:$A67B PRG:267B FE 01 07 + lda $0706,x ; CPU:$A67E PRG:267E BD 06 07 + ora #$80 ; CPU:$A681 PRG:2681 09 80 + sta $0706,x ; CPU:$A683 PRG:2683 9D 06 07 + jmp Sub_A68C ; CPU:$A686 PRG:2686 4C 8C A6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop390 +; Global: Branch target inside IrqHandler: taken when Loop390. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop390: + dec $0701,x ; CPU:$A689 PRG:2689 DE 01 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_A68C +; Global: Branch target inside Sub: taken when A68C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A68C: + jsr Sub_A26F ; CPU:$A68C PRG:268C 20 6F A2 + lda FrameCounter ; CPU:$A68F PRG:268F A5 54 + and #$03 ; CPU:$A691 PRG:2691 29 03 + bne IrqHandler_Loop391 ; CPU:$A693 PRG:2693 D0 03 + jsr Sub_A3D1 ; CPU:$A695 PRG:2695 20 D1 A3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop391 +; Global: Branch target inside IrqHandler: taken when Loop391. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop391: + lda $0706,x ; CPU:$A698 PRG:2698 BD 06 07 + asl a ; CPU:$A69B PRG:269B 0A + bcs IrqHandler_Loop392 ; CPU:$A69C PRG:269C B0 0D + lda $0702,x ; CPU:$A69E PRG:269E BD 02 07 + cmp #$05 ; CPU:$A6A1 PRG:26A1 C9 05 + bcs IrqHandler_Loop393 ; CPU:$A6A3 PRG:26A3 B0 13 + lda #$00 ; CPU:$A6A5 PRG:26A5 A9 00 + sta $0706,x ; CPU:$A6A7 PRG:26A7 9D 06 07 + rts ; CPU:$A6AA PRG:26AA 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop392 +; Global: Branch target inside IrqHandler: taken when Loop392. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop392: + lda $0702,x ; CPU:$A6AB PRG:26AB BD 02 07 + cmp #$FB ; CPU:$A6AE PRG:26AE C9 FB + bcc IrqHandler_Loop393 ; CPU:$A6B0 PRG:26B0 90 06 + lda #$00 ; CPU:$A6B2 PRG:26B2 A9 00 + sta $0706,x ; CPU:$A6B4 PRG:26B4 9D 06 07 + rts ; CPU:$A6B7 PRG:26B7 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop393 +; Global: Branch target inside IrqHandler: taken when Loop393. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop393: + lda $0702,x ; CPU:$A6B8 PRG:26B8 BD 02 07 + sec ; CPU:$A6BB PRG:26BB 38 + sbc #$02 ; CPU:$A6BC PRG:26BC E9 02 + sta $0702,x ; CPU:$A6BE PRG:26BE 9D 02 07 + jmp IrqHandler_Loop423 ; CPU:$A6C1 PRG:26C1 4C C3 A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6C4 ; Global: Branch target inside Sub: taken when A6C4. @@ -9016,183 +9951,183 @@ IrqHandler_Loop354: ; ----------------------------------------------------------------------------- Sub_A6C4: lda $0710,x ; CPU:$A6C4 PRG:26C4 BD 10 07 - beq IrqHandler_Loop355 ; CPU:$A6C7 PRG:26C7 F0 03 + beq IrqHandler_Loop394 ; CPU:$A6C7 PRG:26C7 F0 03 jmp Sub_B460 ; CPU:$A6C9 PRG:26C9 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop355 -; Global: Branch target inside IrqHandler: taken when Loop355. +; Routine: IrqHandler_Loop394 +; Global: Branch target inside IrqHandler: taken when Loop394. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop355: +IrqHandler_Loop394: jsr Sub_B29D ; CPU:$A6CC PRG:26CC 20 9D B2 jsr Sub_B0A0 ; CPU:$A6CF PRG:26CF 20 A0 B0 lda $0706,x ; CPU:$A6D2 PRG:26D2 BD 06 07 asl a ; CPU:$A6D5 PRG:26D5 0A - bcs IrqHandler_Loop356 ; CPU:$A6D6 PRG:26D6 B0 08 + bcs IrqHandler_Loop395 ; CPU:$A6D6 PRG:26D6 B0 08 lda $0701,x ; CPU:$A6D8 PRG:26D8 BD 01 07 cmp $0501 ; CPU:$A6DB PRG:26DB CD 01 05 - bcs IrqHandler_Loop357 ; CPU:$A6DE PRG:26DE B0 13 + bcs IrqHandler_Loop396 ; CPU:$A6DE PRG:26DE B0 13 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop356 -; Global: Branch target inside IrqHandler: taken when Loop356. +; Routine: IrqHandler_Loop395 +; Global: Branch target inside IrqHandler: taken when Loop395. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop356: +IrqHandler_Loop395: inc $0701,x ; CPU:$A6E0 PRG:26E0 FE 01 07 inc $0701,x ; CPU:$A6E3 PRG:26E3 FE 01 07 inc $0701,x ; CPU:$A6E6 PRG:26E6 FE 01 07 lda $0706,x ; CPU:$A6E9 PRG:26E9 BD 06 07 ora #$80 ; CPU:$A6EC PRG:26EC 09 80 sta $0706,x ; CPU:$A6EE PRG:26EE 9D 06 07 - bne IrqHandler_Loop358 ; CPU:$A6F1 PRG:26F1 D0 03 + bne IrqHandler_Loop397 ; CPU:$A6F1 PRG:26F1 D0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop357 -; Global: Branch target inside IrqHandler: taken when Loop357. +; Routine: IrqHandler_Loop396 +; Global: Branch target inside IrqHandler: taken when Loop396. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop357: +IrqHandler_Loop396: dec $0701,x ; CPU:$A6F3 PRG:26F3 DE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop358 -; Global: Branch target inside IrqHandler: taken when Loop358. +; Routine: IrqHandler_Loop397 +; Global: Branch target inside IrqHandler: taken when Loop397. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop358: +IrqHandler_Loop397: jsr Sub_A26F ; CPU:$A6F6 PRG:26F6 20 6F A2 - lda Zp54 ; CPU:$A6F9 PRG:26F9 A5 54 + lda FrameCounter ; CPU:$A6F9 PRG:26F9 A5 54 and #$03 ; CPU:$A6FB PRG:26FB 29 03 - bne IrqHandler_Loop359 ; CPU:$A6FD PRG:26FD D0 03 + bne IrqHandler_Loop398 ; CPU:$A6FD PRG:26FD D0 03 jsr Sub_A3D1 ; CPU:$A6FF PRG:26FF 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop359 -; Global: Branch target inside IrqHandler: taken when Loop359. +; Routine: IrqHandler_Loop398 +; Global: Branch target inside IrqHandler: taken when Loop398. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop359: +IrqHandler_Loop398: lda $0706,x ; CPU:$A702 PRG:2702 BD 06 07 asl a ; CPU:$A705 PRG:2705 0A - bcs IrqHandler_Loop360 ; CPU:$A706 PRG:2706 B0 0D + bcs IrqHandler_Loop399 ; CPU:$A706 PRG:2706 B0 0D lda $0702,x ; CPU:$A708 PRG:2708 BD 02 07 cmp #$05 ; CPU:$A70B PRG:270B C9 05 - bcs IrqHandler_Loop361 ; CPU:$A70D PRG:270D B0 13 + bcs IrqHandler_Loop400 ; CPU:$A70D PRG:270D B0 13 lda #$00 ; CPU:$A70F PRG:270F A9 00 sta $0706,x ; CPU:$A711 PRG:2711 9D 06 07 rts ; CPU:$A714 PRG:2714 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop360 -; Global: Branch target inside IrqHandler: taken when Loop360. +; Routine: IrqHandler_Loop399 +; Global: Branch target inside IrqHandler: taken when Loop399. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop360: +IrqHandler_Loop399: lda $0702,x ; CPU:$A715 PRG:2715 BD 02 07 cmp #$FB ; CPU:$A718 PRG:2718 C9 FB - bcc IrqHandler_Loop361 ; CPU:$A71A PRG:271A 90 06 + bcc IrqHandler_Loop400 ; CPU:$A71A PRG:271A 90 06 lda #$00 ; CPU:$A71C PRG:271C A9 00 sta $0706,x ; CPU:$A71E PRG:271E 9D 06 07 rts ; CPU:$A721 PRG:2721 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop361 -; Global: Branch target inside IrqHandler: taken when Loop361. +; Routine: IrqHandler_Loop400 +; Global: Branch target inside IrqHandler: taken when Loop400. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop361: +IrqHandler_Loop400: lda $0702,x ; CPU:$A722 PRG:2722 BD 02 07 sec ; CPU:$A725 PRG:2725 38 sbc #$02 ; CPU:$A726 PRG:2726 E9 02 sta $0702,x ; CPU:$A728 PRG:2728 9D 02 07 lda $0706,x ; CPU:$A72B PRG:272B BD 06 07 asl a ; CPU:$A72E PRG:272E 0A - bcs IrqHandler_Loop362 ; CPU:$A72F PRG:272F B0 06 + bcs IrqHandler_Loop401 ; CPU:$A72F PRG:272F B0 06 lda #$03 ; CPU:$A731 PRG:2731 A9 03 - sta Zp1B ; CPU:$A733 PRG:2733 85 1B - bne IrqHandler_Loop363 ; CPU:$A735 PRG:2735 D0 04 + sta PlayerYLow ; CPU:$A733 PRG:2733 85 1B + bne IrqHandler_Loop402 ; CPU:$A735 PRG:2735 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop362 -; Global: Branch target inside IrqHandler: taken when Loop362. +; Routine: IrqHandler_Loop401 +; Global: Branch target inside IrqHandler: taken when Loop401. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop362: +IrqHandler_Loop401: lda #$43 ; CPU:$A737 PRG:2737 A9 43 - sta Zp1B ; CPU:$A739 PRG:2739 85 1B + sta PlayerYLow ; CPU:$A739 PRG:2739 85 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop363 -; Global: Branch target inside IrqHandler: taken when Loop363. +; Routine: IrqHandler_Loop402 +; Global: Branch target inside IrqHandler: taken when Loop402. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop363: +IrqHandler_Loop402: lda $0702,x ; CPU:$A73B PRG:273B BD 02 07 - sta Zp1C ; CPU:$A73E PRG:273E 85 1C + sta PlayerYHigh ; CPU:$A73E PRG:273E 85 1C lda $0700,x ; CPU:$A740 PRG:2740 BD 00 07 - sta Zp19 ; CPU:$A743 PRG:2743 85 19 - lda ZpFC ; CPU:$A745 PRG:2745 A5 FC + sta PlayerXHigh ; CPU:$A743 PRG:2743 85 19 + lda LevelIndex ; CPU:$A745 PRG:2745 A5 FC cmp #$03 ; CPU:$A747 PRG:2747 C9 03 - bne IrqHandler_Loop365 ; CPU:$A749 PRG:2749 D0 15 + bne IrqHandler_Loop404 ; CPU:$A749 PRG:2749 D0 15 lda $0708,x ; CPU:$A74B PRG:274B BD 08 07 and #$3F ; CPU:$A74E PRG:274E 29 3F cmp #$1A ; CPU:$A750 PRG:2750 C9 1A - bne IrqHandler_Loop364 ; CPU:$A752 PRG:2752 D0 06 + bne IrqHandler_Loop403 ; CPU:$A752 PRG:2752 D0 06 lda #$9C ; CPU:$A754 PRG:2754 A9 9C - sta Zp1A ; CPU:$A756 PRG:2756 85 1A - bne IrqHandler_Loop366 ; CPU:$A758 PRG:2758 D0 0A + sta PlayerXLow ; CPU:$A756 PRG:2756 85 1A + bne IrqHandler_Loop405 ; CPU:$A758 PRG:2758 D0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop364 -; Global: Branch target inside IrqHandler: taken when Loop364. +; Routine: IrqHandler_Loop403 +; Global: Branch target inside IrqHandler: taken when Loop403. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop364: +IrqHandler_Loop403: lda #$AE ; CPU:$A75A PRG:275A A9 AE - sta Zp1A ; CPU:$A75C PRG:275C 85 1A - bne IrqHandler_Loop366 ; CPU:$A75E PRG:275E D0 04 + sta PlayerXLow ; CPU:$A75C PRG:275C 85 1A + bne IrqHandler_Loop405 ; CPU:$A75E PRG:275E D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop365 -; Global: Branch target inside IrqHandler: taken when Loop365. +; Routine: IrqHandler_Loop404 +; Global: Branch target inside IrqHandler: taken when Loop404. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop365: +IrqHandler_Loop404: lda #$AD ; CPU:$A760 PRG:2760 A9 AD - sta Zp1A ; CPU:$A762 PRG:2762 85 1A + sta PlayerXLow ; CPU:$A762 PRG:2762 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop366 -; Global: Branch target inside IrqHandler: taken when Loop366. +; Routine: IrqHandler_Loop405 +; Global: Branch target inside IrqHandler: taken when Loop405. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop366: +IrqHandler_Loop405: jmp Sub_8221 ; CPU:$A764 PRG:2764 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A767 @@ -9204,105 +10139,105 @@ IrqHandler_Loop366: ; ----------------------------------------------------------------------------- Sub_A767: lda $0710,x ; CPU:$A767 PRG:2767 BD 10 07 - beq IrqHandler_Loop367 ; CPU:$A76A PRG:276A F0 03 + beq IrqHandler_Loop406 ; CPU:$A76A PRG:276A F0 03 jmp Sub_B460 ; CPU:$A76C PRG:276C 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop367 -; Global: Branch target inside IrqHandler: taken when Loop367. +; Routine: IrqHandler_Loop406 +; Global: Branch target inside IrqHandler: taken when Loop406. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop367: +IrqHandler_Loop406: jsr Sub_B234 ; CPU:$A76F PRG:276F 20 34 B2 jsr Sub_B16A ; CPU:$A772 PRG:2772 20 6A B1 - lda Zp54 ; CPU:$A775 PRG:2775 A5 54 + lda FrameCounter ; CPU:$A775 PRG:2775 A5 54 lsr a ; CPU:$A777 PRG:2777 4A - bcs IrqHandler_Loop368 ; CPU:$A778 PRG:2778 B0 09 + bcs IrqHandler_Loop407 ; CPU:$A778 PRG:2778 B0 09 dec $0701,x ; CPU:$A77A PRG:277A DE 01 07 dec $0701,x ; CPU:$A77D PRG:277D DE 01 07 dec $0701,x ; CPU:$A780 PRG:2780 DE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop368 -; Global: Branch target inside IrqHandler: taken when Loop368. +; Routine: IrqHandler_Loop407 +; Global: Branch target inside IrqHandler: taken when Loop407. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop368: +IrqHandler_Loop407: jsr Sub_A26F ; CPU:$A783 PRG:2783 20 6F A2 lda $06CC ; CPU:$A786 PRG:2786 AD CC 06 - bne IrqHandler_Loop369 ; CPU:$A789 PRG:2789 D0 03 + bne IrqHandler_Loop408 ; CPU:$A789 PRG:2789 D0 03 jsr Sub_A3D1 ; CPU:$A78B PRG:278B 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop369 -; Global: Branch target inside IrqHandler: taken when Loop369. +; Routine: IrqHandler_Loop408 +; Global: Branch target inside IrqHandler: taken when Loop408. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop369: +IrqHandler_Loop408: lda $0702,x ; CPU:$A78E PRG:278E BD 02 07 cmp #$05 ; CPU:$A791 PRG:2791 C9 05 - bcs IrqHandler_Loop370 ; CPU:$A793 PRG:2793 B0 06 + bcs IrqHandler_Loop409 ; CPU:$A793 PRG:2793 B0 06 lda #$00 ; CPU:$A795 PRG:2795 A9 00 sta $0706,x ; CPU:$A797 PRG:2797 9D 06 07 rts ; CPU:$A79A PRG:279A 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop370 -; Global: Branch target inside IrqHandler: taken when Loop370. +; Routine: IrqHandler_Loop409 +; Global: Branch target inside IrqHandler: taken when Loop409. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop370: +IrqHandler_Loop409: lda $0702,x ; CPU:$A79B PRG:279B BD 02 07 sec ; CPU:$A79E PRG:279E 38 sbc #$01 ; CPU:$A79F PRG:279F E9 01 sta $0702,x ; CPU:$A7A1 PRG:27A1 9D 02 07 lda $0702,x ; CPU:$A7A4 PRG:27A4 BD 02 07 - sta Zp1C ; CPU:$A7A7 PRG:27A7 85 1C + sta PlayerYHigh ; CPU:$A7A7 PRG:27A7 85 1C lda $0700,x ; CPU:$A7A9 PRG:27A9 BD 00 07 - sta Zp19 ; CPU:$A7AC PRG:27AC 85 19 + sta PlayerXHigh ; CPU:$A7AC PRG:27AC 85 19 lda #$C4 ; CPU:$A7AE PRG:27AE A9 C4 - sta Zp1A ; CPU:$A7B0 PRG:27B0 85 1A + sta PlayerXLow ; CPU:$A7B0 PRG:27B0 85 1A lda #$03 ; CPU:$A7B2 PRG:27B2 A9 03 - sta Zp1B ; CPU:$A7B4 PRG:27B4 85 1B + sta PlayerYLow ; CPU:$A7B4 PRG:27B4 85 1B jsr Sub_8221 ; CPU:$A7B6 PRG:27B6 20 21 82 lda $06CE ; CPU:$A7B9 PRG:27B9 AD CE 06 cmp #$06 ; CPU:$A7BC PRG:27BC C9 06 - bcs IrqHandler_Loop371 ; CPU:$A7BE PRG:27BE B0 06 + bcs IrqHandler_Loop410 ; CPU:$A7BE PRG:27BE B0 06 lda #$D3 ; CPU:$A7C0 PRG:27C0 A9 D3 - sta Zp1A ; CPU:$A7C2 PRG:27C2 85 1A - bne IrqHandler_Loop372 ; CPU:$A7C4 PRG:27C4 D0 04 + sta PlayerXLow ; CPU:$A7C2 PRG:27C2 85 1A + bne IrqHandler_Loop411 ; CPU:$A7C4 PRG:27C4 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop371 -; Global: Branch target inside IrqHandler: taken when Loop371. +; Routine: IrqHandler_Loop410 +; Global: Branch target inside IrqHandler: taken when Loop410. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop371: +IrqHandler_Loop410: lda #$D4 ; CPU:$A7C6 PRG:27C6 A9 D4 - sta Zp1A ; CPU:$A7C8 PRG:27C8 85 1A + sta PlayerXLow ; CPU:$A7C8 PRG:27C8 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop372 -; Global: Branch target inside IrqHandler: taken when Loop372. +; Routine: IrqHandler_Loop411 +; Global: Branch target inside IrqHandler: taken when Loop411. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop372: - lda Zp19 ; CPU:$A7CA PRG:27CA A5 19 +IrqHandler_Loop411: + lda PlayerXHigh ; CPU:$A7CA PRG:27CA A5 19 clc ; CPU:$A7CC PRG:27CC 18 adc #$08 ; CPU:$A7CD PRG:27CD 69 08 - sta Zp19 ; CPU:$A7CF PRG:27CF 85 19 + sta PlayerXHigh ; CPU:$A7CF PRG:27CF 85 19 jmp Sub_8221 ; CPU:$A7D1 PRG:27D1 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A7D4 @@ -9314,44 +10249,44 @@ IrqHandler_Loop372: ; ----------------------------------------------------------------------------- Sub_A7D4: lda $0702,x ; CPU:$A7D4 PRG:27D4 BD 02 07 - sta Zp1C ; CPU:$A7D7 PRG:27D7 85 1C + sta PlayerYHigh ; CPU:$A7D7 PRG:27D7 85 1C lda $0700,x ; CPU:$A7D9 PRG:27D9 BD 00 07 - sta Zp19 ; CPU:$A7DC PRG:27DC 85 19 + sta PlayerXHigh ; CPU:$A7DC PRG:27DC 85 19 lda #$D9 ; CPU:$A7DE PRG:27DE A9 D9 - sta Zp1A ; CPU:$A7E0 PRG:27E0 85 1A + sta PlayerXLow ; CPU:$A7E0 PRG:27E0 85 1A lda #$03 ; CPU:$A7E2 PRG:27E2 A9 03 - sta Zp1B ; CPU:$A7E4 PRG:27E4 85 1B + sta PlayerYLow ; CPU:$A7E4 PRG:27E4 85 1B jsr Sub_8221 ; CPU:$A7E6 PRG:27E6 20 21 82 lda $06CE ; CPU:$A7E9 PRG:27E9 AD CE 06 cmp #$06 ; CPU:$A7EC PRG:27EC C9 06 - bcs IrqHandler_Loop373 ; CPU:$A7EE PRG:27EE B0 06 + bcs IrqHandler_Loop412 ; CPU:$A7EE PRG:27EE B0 06 lda #$E8 ; CPU:$A7F0 PRG:27F0 A9 E8 - sta Zp1A ; CPU:$A7F2 PRG:27F2 85 1A - bne IrqHandler_Loop374 ; CPU:$A7F4 PRG:27F4 D0 04 + sta PlayerXLow ; CPU:$A7F2 PRG:27F2 85 1A + bne IrqHandler_Loop413 ; CPU:$A7F4 PRG:27F4 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop373 -; Global: Branch target inside IrqHandler: taken when Loop373. +; Routine: IrqHandler_Loop412 +; Global: Branch target inside IrqHandler: taken when Loop412. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop373: +IrqHandler_Loop412: lda #$E9 ; CPU:$A7F6 PRG:27F6 A9 E9 - sta Zp1A ; CPU:$A7F8 PRG:27F8 85 1A + sta PlayerXLow ; CPU:$A7F8 PRG:27F8 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop374 -; Global: Branch target inside IrqHandler: taken when Loop374. +; Routine: IrqHandler_Loop413 +; Global: Branch target inside IrqHandler: taken when Loop413. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop374: - lda Zp19 ; CPU:$A7FA PRG:27FA A5 19 +IrqHandler_Loop413: + lda PlayerXHigh ; CPU:$A7FA PRG:27FA A5 19 clc ; CPU:$A7FC PRG:27FC 18 adc #$08 ; CPU:$A7FD PRG:27FD 69 08 - sta Zp19 ; CPU:$A7FF PRG:27FF 85 19 + sta PlayerXHigh ; CPU:$A7FF PRG:27FF 85 19 jmp Sub_8221 ; CPU:$A801 PRG:2801 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A804 @@ -9363,38 +10298,38 @@ IrqHandler_Loop374: ; ----------------------------------------------------------------------------- Sub_A804: lda $0710,x ; CPU:$A804 PRG:2804 BD 10 07 - beq IrqHandler_Loop375 ; CPU:$A807 PRG:2807 F0 03 + beq IrqHandler_Loop414 ; CPU:$A807 PRG:2807 F0 03 jmp Sub_B460 ; CPU:$A809 PRG:2809 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop375 -; Global: Branch target inside IrqHandler: taken when Loop375. +; Routine: IrqHandler_Loop414 +; Global: Branch target inside IrqHandler: taken when Loop414. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop375: +IrqHandler_Loop414: jsr Sub_B234 ; CPU:$A80C PRG:280C 20 34 B2 jsr Sub_B16A ; CPU:$A80F PRG:280F 20 6A B1 lda $0708,x ; CPU:$A812 PRG:2812 BD 08 07 and #$3F ; CPU:$A815 PRG:2815 29 3F cmp #$1C ; CPU:$A817 PRG:2817 C9 1C - beq IrqHandler_Loop377 ; CPU:$A819 PRG:2819 F0 22 + beq IrqHandler_Loop416 ; CPU:$A819 PRG:2819 F0 22 lda $0706,x ; CPU:$A81B PRG:281B BD 06 07 asl a ; CPU:$A81E PRG:281E 0A - bcs IrqHandler_Loop376 ; CPU:$A81F PRG:281F B0 08 + bcs IrqHandler_Loop415 ; CPU:$A81F PRG:281F B0 08 lda $0501 ; CPU:$A821 PRG:2821 AD 01 05 cmp $0701,x ; CPU:$A824 PRG:2824 DD 01 07 - bcc IrqHandler_Loop377 ; CPU:$A827 PRG:2827 90 14 + bcc IrqHandler_Loop416 ; CPU:$A827 PRG:2827 90 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop376 -; Global: Branch target inside IrqHandler: taken when Loop376. +; Routine: IrqHandler_Loop415 +; Global: Branch target inside IrqHandler: taken when Loop415. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop376: +IrqHandler_Loop415: inc $0701,x ; CPU:$A829 PRG:2829 FE 01 07 inc $0701,x ; CPU:$A82C PRG:282C FE 01 07 inc $0701,x ; CPU:$A82F PRG:282F FE 01 07 @@ -9403,28 +10338,28 @@ IrqHandler_Loop376: sta $0706,x ; CPU:$A837 PRG:2837 9D 06 07 jmp Sub_A84F ; CPU:$A83A PRG:283A 4C 4F A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop377 -; Global: Branch target inside IrqHandler: taken when Loop377. +; Routine: IrqHandler_Loop416 +; Global: Branch target inside IrqHandler: taken when Loop416. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop377: +IrqHandler_Loop416: lda $0708,x ; CPU:$A83D PRG:283D BD 08 07 and #$3F ; CPU:$A840 PRG:2840 29 3F cmp #$1C ; CPU:$A842 PRG:2842 C9 1C - bne IrqHandler_Loop378 ; CPU:$A844 PRG:2844 D0 03 + bne IrqHandler_Loop417 ; CPU:$A844 PRG:2844 D0 03 dec $0701,x ; CPU:$A846 PRG:2846 DE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop378 -; Global: Branch target inside IrqHandler: taken when Loop378. +; Routine: IrqHandler_Loop417 +; Global: Branch target inside IrqHandler: taken when Loop417. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop378: +IrqHandler_Loop417: dec $0701,x ; CPU:$A849 PRG:2849 DE 01 07 dec $0701,x ; CPU:$A84C PRG:284C DE 01 07 ; ----------------------------------------------------------------------------- @@ -9437,52 +10372,52 @@ IrqHandler_Loop378: ; ----------------------------------------------------------------------------- Sub_A84F: jsr Sub_A26F ; CPU:$A84F PRG:284F 20 6F A2 - lda Zp54 ; CPU:$A852 PRG:2852 A5 54 + lda FrameCounter ; CPU:$A852 PRG:2852 A5 54 and #$03 ; CPU:$A854 PRG:2854 29 03 - bne IrqHandler_Loop379 ; CPU:$A856 PRG:2856 D0 03 + bne IrqHandler_Loop418 ; CPU:$A856 PRG:2856 D0 03 jsr Sub_A3D1 ; CPU:$A858 PRG:2858 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop379 -; Global: Branch target inside IrqHandler: taken when Loop379. +; Routine: IrqHandler_Loop418 +; Global: Branch target inside IrqHandler: taken when Loop418. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop379: +IrqHandler_Loop418: lda $0706,x ; CPU:$A85B PRG:285B BD 06 07 asl a ; CPU:$A85E PRG:285E 0A - bcs IrqHandler_Loop380 ; CPU:$A85F PRG:285F B0 0D + bcs IrqHandler_Loop419 ; CPU:$A85F PRG:285F B0 0D lda $0702,x ; CPU:$A861 PRG:2861 BD 02 07 cmp #$04 ; CPU:$A864 PRG:2864 C9 04 - bcs IrqHandler_Loop381 ; CPU:$A866 PRG:2866 B0 13 + bcs IrqHandler_Loop420 ; CPU:$A866 PRG:2866 B0 13 lda #$00 ; CPU:$A868 PRG:2868 A9 00 sta $0706,x ; CPU:$A86A PRG:286A 9D 06 07 rts ; CPU:$A86D PRG:286D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop380 -; Global: Branch target inside IrqHandler: taken when Loop380. +; Routine: IrqHandler_Loop419 +; Global: Branch target inside IrqHandler: taken when Loop419. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop380: +IrqHandler_Loop419: lda $0702,x ; CPU:$A86E PRG:286E BD 02 07 cmp #$FB ; CPU:$A871 PRG:2871 C9 FB - bcc IrqHandler_Loop381 ; CPU:$A873 PRG:2873 90 06 + bcc IrqHandler_Loop420 ; CPU:$A873 PRG:2873 90 06 lda #$00 ; CPU:$A875 PRG:2875 A9 00 sta $0706,x ; CPU:$A877 PRG:2877 9D 06 07 rts ; CPU:$A87A PRG:287A 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop381 -; Global: Branch target inside IrqHandler: taken when Loop381. +; Routine: IrqHandler_Loop420 +; Global: Branch target inside IrqHandler: taken when Loop420. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop381: +IrqHandler_Loop420: lda $0702,x ; CPU:$A87B PRG:287B BD 02 07 sec ; CPU:$A87E PRG:287E 38 sbc #$02 ; CPU:$A87F PRG:287F E9 02 @@ -9490,60 +10425,60 @@ IrqHandler_Loop381: lda $0708,x ; CPU:$A884 PRG:2884 BD 08 07 and #$3F ; CPU:$A887 PRG:2887 29 3F cmp #$36 ; CPU:$A889 PRG:2889 C9 36 - beq IrqHandler_Loop384 ; CPU:$A88B PRG:288B F0 36 + beq IrqHandler_Loop423 ; CPU:$A88B PRG:288B F0 36 lda $0706,x ; CPU:$A88D PRG:288D BD 06 07 asl a ; CPU:$A890 PRG:2890 0A - bcs IrqHandler_Loop384 ; CPU:$A891 PRG:2891 B0 30 + bcs IrqHandler_Loop423 ; CPU:$A891 PRG:2891 B0 30 lda $0502 ; CPU:$A893 PRG:2893 AD 02 05 cmp #$64 ; CPU:$A896 PRG:2896 C9 64 - bcc IrqHandler_Loop384 ; CPU:$A898 PRG:2898 90 29 + bcc IrqHandler_Loop423 ; CPU:$A898 PRG:2898 90 29 lda $0703,x ; CPU:$A89A PRG:289A BD 03 07 sec ; CPU:$A89D PRG:289D 38 sbc $0502 ; CPU:$A89E PRG:289E ED 02 05 - bmi IrqHandler_Loop382 ; CPU:$A8A1 PRG:28A1 30 04 + bmi IrqHandler_Loop421 ; CPU:$A8A1 PRG:28A1 30 04 cmp #$10 ; CPU:$A8A3 PRG:28A3 C9 10 - bcc IrqHandler_Loop384 ; CPU:$A8A5 PRG:28A5 90 1C + bcc IrqHandler_Loop423 ; CPU:$A8A5 PRG:28A5 90 1C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop382 -; Global: Branch target inside IrqHandler: taken when Loop382. +; Routine: IrqHandler_Loop421 +; Global: Branch target inside IrqHandler: taken when Loop421. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop382: +IrqHandler_Loop421: lda $0502 ; CPU:$A8A7 PRG:28A7 AD 02 05 sec ; CPU:$A8AA PRG:28AA 38 sbc $0703,x ; CPU:$A8AB PRG:28AB FD 03 07 cmp #$10 ; CPU:$A8AE PRG:28AE C9 10 - bcc IrqHandler_Loop384 ; CPU:$A8B0 PRG:28B0 90 11 + bcc IrqHandler_Loop423 ; CPU:$A8B0 PRG:28B0 90 11 lda $0703,x ; CPU:$A8B2 PRG:28B2 BD 03 07 cmp $0502 ; CPU:$A8B5 PRG:28B5 CD 02 05 - bcs IrqHandler_Loop383 ; CPU:$A8B8 PRG:28B8 B0 06 + bcs IrqHandler_Loop422 ; CPU:$A8B8 PRG:28B8 B0 06 inc $0703,x ; CPU:$A8BA PRG:28BA FE 03 07 - jmp IrqHandler_Loop384 ; CPU:$A8BD PRG:28BD 4C C3 A8 + jmp IrqHandler_Loop423 ; CPU:$A8BD PRG:28BD 4C C3 A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop383 -; Global: Branch target inside IrqHandler: taken when Loop383. +; Routine: IrqHandler_Loop422 +; Global: Branch target inside IrqHandler: taken when Loop422. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop383: +IrqHandler_Loop422: dec $0703,x ; CPU:$A8C0 PRG:28C0 DE 03 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop384 -; Global: Branch target inside IrqHandler: taken when Loop384. +; Routine: IrqHandler_Loop423 +; Global: Branch target inside IrqHandler: taken when Loop423. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop384: +IrqHandler_Loop423: lda $0706,x ; CPU:$A8C3 PRG:28C3 BD 06 07 asl a ; CPU:$A8C6 PRG:28C6 0A - bcs IrqHandler_Loop385 ; CPU:$A8C7 PRG:28C7 B0 06 + bcs IrqHandler_Loop424 ; CPU:$A8C7 PRG:28C7 B0 06 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet ; Global: Branch target inside IrqHandler: taken when the addition or subtraction carried. @@ -9565,14 +10500,14 @@ IrqHandler_OnCarrySet: IrqHandler_OnCarrySet2: jmp Sub_A8DC ; CPU:$A8CC PRG:28CC 4C DC A8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop385 -; Global: Branch target inside IrqHandler: taken when Loop385. +; Routine: IrqHandler_Loop424 +; Global: Branch target inside IrqHandler: taken when Loop424. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop385: +IrqHandler_Loop424: lda $0702,x ; CPU:$A8CF PRG:28CF BD 02 07 cmp #$F7 ; CPU:$A8D2 PRG:28D2 C9 F7 bcs IrqHandler_OnCarrySet2 ; CPU:$A8D4 PRG:28D4 B0 F6 @@ -9589,70 +10524,70 @@ IrqHandler_Loop385: ; ----------------------------------------------------------------------------- Sub_A8DC: lda $0702,x ; CPU:$A8DC PRG:28DC BD 02 07 - sta Zp1C ; CPU:$A8DF PRG:28DF 85 1C + sta PlayerYHigh ; CPU:$A8DF PRG:28DF 85 1C lda $0700,x ; CPU:$A8E1 PRG:28E1 BD 00 07 - sta Zp19 ; CPU:$A8E4 PRG:28E4 85 19 + sta PlayerXHigh ; CPU:$A8E4 PRG:28E4 85 19 lda $0706,x ; CPU:$A8E6 PRG:28E6 BD 06 07 asl a ; CPU:$A8E9 PRG:28E9 0A - bcs IrqHandler_Loop386 ; CPU:$A8EA PRG:28EA B0 0A + bcs IrqHandler_Loop425 ; CPU:$A8EA PRG:28EA B0 0A lda #$00 ; CPU:$A8EC PRG:28EC A9 00 - sta Zp1B ; CPU:$A8EE PRG:28EE 85 1B + sta PlayerYLow ; CPU:$A8EE PRG:28EE 85 1B lda #$9D ; CPU:$A8F0 PRG:28F0 A9 9D - sta Zp1A ; CPU:$A8F2 PRG:28F2 85 1A - bne IrqHandler_Loop387 ; CPU:$A8F4 PRG:28F4 D0 08 + sta PlayerXLow ; CPU:$A8F2 PRG:28F2 85 1A + bne IrqHandler_Loop426 ; CPU:$A8F4 PRG:28F4 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop386 -; Global: Branch target inside IrqHandler: taken when Loop386. +; Routine: IrqHandler_Loop425 +; Global: Branch target inside IrqHandler: taken when Loop425. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop386: +IrqHandler_Loop425: lda #$40 ; CPU:$A8F6 PRG:28F6 A9 40 - sta Zp1B ; CPU:$A8F8 PRG:28F8 85 1B + sta PlayerYLow ; CPU:$A8F8 PRG:28F8 85 1B lda #$9E ; CPU:$A8FA PRG:28FA A9 9E - sta Zp1A ; CPU:$A8FC PRG:28FC 85 1A + sta PlayerXLow ; CPU:$A8FC PRG:28FC 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop387 -; Global: Branch target inside IrqHandler: taken when Loop387. +; Routine: IrqHandler_Loop426 +; Global: Branch target inside IrqHandler: taken when Loop426. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop387: +IrqHandler_Loop426: jsr Sub_8221 ; CPU:$A8FE PRG:28FE 20 21 82 - lda Zp19 ; CPU:$A901 PRG:2901 A5 19 + lda PlayerXHigh ; CPU:$A901 PRG:2901 A5 19 clc ; CPU:$A903 PRG:2903 18 adc #$08 ; CPU:$A904 PRG:2904 69 08 - sta Zp19 ; CPU:$A906 PRG:2906 85 19 + sta PlayerXHigh ; CPU:$A906 PRG:2906 85 19 lda $0706,x ; CPU:$A908 PRG:2908 BD 06 07 asl a ; CPU:$A90B PRG:290B 0A - bcs IrqHandler_Loop388 ; CPU:$A90C PRG:290C B0 06 + bcs IrqHandler_Loop427 ; CPU:$A90C PRG:290C B0 06 lda #$80 ; CPU:$A90E PRG:290E A9 80 - sta Zp1B ; CPU:$A910 PRG:2910 85 1B - bne IrqHandler_Loop389 ; CPU:$A912 PRG:2912 D0 04 + sta PlayerYLow ; CPU:$A910 PRG:2910 85 1B + bne IrqHandler_Loop428 ; CPU:$A912 PRG:2912 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop388 -; Global: Branch target inside IrqHandler: taken when Loop388. +; Routine: IrqHandler_Loop427 +; Global: Branch target inside IrqHandler: taken when Loop427. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop388: +IrqHandler_Loop427: lda #$C0 ; CPU:$A914 PRG:2914 A9 C0 - sta Zp1B ; CPU:$A916 PRG:2916 85 1B + sta PlayerYLow ; CPU:$A916 PRG:2916 85 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop389 -; Global: Branch target inside IrqHandler: taken when Loop389. +; Routine: IrqHandler_Loop428 +; Global: Branch target inside IrqHandler: taken when Loop428. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop389: +IrqHandler_Loop428: jmp Sub_8221 ; CPU:$A918 PRG:2918 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A91B @@ -9666,70 +10601,70 @@ Sub_A91B: lda $0702,x ; CPU:$A91B PRG:291B BD 02 07 clc ; CPU:$A91E PRG:291E 18 adc #$08 ; CPU:$A91F PRG:291F 69 08 - sta Zp1C ; CPU:$A921 PRG:2921 85 1C + sta PlayerYHigh ; CPU:$A921 PRG:2921 85 1C lda $0700,x ; CPU:$A923 PRG:2923 BD 00 07 - sta Zp19 ; CPU:$A926 PRG:2926 85 19 + sta PlayerXHigh ; CPU:$A926 PRG:2926 85 19 lda $0706,x ; CPU:$A928 PRG:2928 BD 06 07 asl a ; CPU:$A92B PRG:292B 0A - bcs IrqHandler_Loop390 ; CPU:$A92C PRG:292C B0 0A + bcs IrqHandler_Loop429 ; CPU:$A92C PRG:292C B0 0A lda #$00 ; CPU:$A92E PRG:292E A9 00 - sta Zp1B ; CPU:$A930 PRG:2930 85 1B + sta PlayerYLow ; CPU:$A930 PRG:2930 85 1B lda #$9E ; CPU:$A932 PRG:2932 A9 9E - sta Zp1A ; CPU:$A934 PRG:2934 85 1A - bne IrqHandler_Loop391 ; CPU:$A936 PRG:2936 D0 08 + sta PlayerXLow ; CPU:$A934 PRG:2934 85 1A + bne IrqHandler_Loop430 ; CPU:$A936 PRG:2936 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop390 -; Global: Branch target inside IrqHandler: taken when Loop390. +; Routine: IrqHandler_Loop429 +; Global: Branch target inside IrqHandler: taken when Loop429. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop390: +IrqHandler_Loop429: lda #$40 ; CPU:$A938 PRG:2938 A9 40 - sta Zp1B ; CPU:$A93A PRG:293A 85 1B + sta PlayerYLow ; CPU:$A93A PRG:293A 85 1B lda #$9D ; CPU:$A93C PRG:293C A9 9D - sta Zp1A ; CPU:$A93E PRG:293E 85 1A + sta PlayerXLow ; CPU:$A93E PRG:293E 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop391 -; Global: Branch target inside IrqHandler: taken when Loop391. +; Routine: IrqHandler_Loop430 +; Global: Branch target inside IrqHandler: taken when Loop430. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop391: +IrqHandler_Loop430: jsr Sub_8221 ; CPU:$A940 PRG:2940 20 21 82 - lda Zp19 ; CPU:$A943 PRG:2943 A5 19 + lda PlayerXHigh ; CPU:$A943 PRG:2943 A5 19 clc ; CPU:$A945 PRG:2945 18 adc #$08 ; CPU:$A946 PRG:2946 69 08 - sta Zp19 ; CPU:$A948 PRG:2948 85 19 + sta PlayerXHigh ; CPU:$A948 PRG:2948 85 19 lda $0706,x ; CPU:$A94A PRG:294A BD 06 07 asl a ; CPU:$A94D PRG:294D 0A - bcs IrqHandler_Loop392 ; CPU:$A94E PRG:294E B0 06 + bcs IrqHandler_Loop431 ; CPU:$A94E PRG:294E B0 06 lda #$80 ; CPU:$A950 PRG:2950 A9 80 - sta Zp1B ; CPU:$A952 PRG:2952 85 1B - bne IrqHandler_Loop393 ; CPU:$A954 PRG:2954 D0 04 + sta PlayerYLow ; CPU:$A952 PRG:2952 85 1B + bne IrqHandler_Loop432 ; CPU:$A954 PRG:2954 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop392 -; Global: Branch target inside IrqHandler: taken when Loop392. +; Routine: IrqHandler_Loop431 +; Global: Branch target inside IrqHandler: taken when Loop431. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop392: +IrqHandler_Loop431: lda #$C0 ; CPU:$A956 PRG:2956 A9 C0 - sta Zp1B ; CPU:$A958 PRG:2958 85 1B + sta PlayerYLow ; CPU:$A958 PRG:2958 85 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop393 -; Global: Branch target inside IrqHandler: taken when Loop393. +; Routine: IrqHandler_Loop432 +; Global: Branch target inside IrqHandler: taken when Loop432. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop393: +IrqHandler_Loop432: jmp Sub_8221 ; CPU:$A95A PRG:295A 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_A95D @@ -9741,185 +10676,185 @@ IrqHandler_Loop393: ; ----------------------------------------------------------------------------- Sub_A95D: lda $0710,x ; CPU:$A95D PRG:295D BD 10 07 - beq IrqHandler_Loop394 ; CPU:$A960 PRG:2960 F0 03 + beq IrqHandler_Loop433 ; CPU:$A960 PRG:2960 F0 03 jmp Sub_B460 ; CPU:$A962 PRG:2962 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop394 -; Global: Branch target inside IrqHandler: taken when Loop394. +; Routine: IrqHandler_Loop433 +; Global: Branch target inside IrqHandler: taken when Loop433. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop394: +IrqHandler_Loop433: jsr Sub_B234 ; CPU:$A965 PRG:2965 20 34 B2 jsr Sub_B16A ; CPU:$A968 PRG:2968 20 6A B1 lda $0706,x ; CPU:$A96B PRG:296B BD 06 07 asl a ; CPU:$A96E PRG:296E 0A - bcs IrqHandler_Loop395 ; CPU:$A96F PRG:296F B0 08 + bcs IrqHandler_Loop434 ; CPU:$A96F PRG:296F B0 08 lda $0501 ; CPU:$A971 PRG:2971 AD 01 05 cmp $0701,x ; CPU:$A974 PRG:2974 DD 01 07 - bcc IrqHandler_Loop396 ; CPU:$A977 PRG:2977 90 0D + bcc IrqHandler_Loop435 ; CPU:$A977 PRG:2977 90 0D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop395 -; Global: Branch target inside IrqHandler: taken when Loop395. +; Routine: IrqHandler_Loop434 +; Global: Branch target inside IrqHandler: taken when Loop434. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop395: +IrqHandler_Loop434: inc $0701,x ; CPU:$A979 PRG:2979 FE 01 07 lda $0706,x ; CPU:$A97C PRG:297C BD 06 07 ora #$80 ; CPU:$A97F PRG:297F 09 80 sta $0706,x ; CPU:$A981 PRG:2981 9D 06 07 - bne IrqHandler_Loop397 ; CPU:$A984 PRG:2984 D0 03 + bne IrqHandler_Loop436 ; CPU:$A984 PRG:2984 D0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop396 -; Global: Branch target inside IrqHandler: taken when Loop396. +; Routine: IrqHandler_Loop435 +; Global: Branch target inside IrqHandler: taken when Loop435. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop396: +IrqHandler_Loop435: dec $0701,x ; CPU:$A986 PRG:2986 DE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop397 -; Global: Branch target inside IrqHandler: taken when Loop397. +; Routine: IrqHandler_Loop436 +; Global: Branch target inside IrqHandler: taken when Loop436. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop397: +IrqHandler_Loop436: jsr Sub_A26F ; CPU:$A989 PRG:2989 20 6F A2 - lda Zp54 ; CPU:$A98C PRG:298C A5 54 + lda FrameCounter ; CPU:$A98C PRG:298C A5 54 and #$03 ; CPU:$A98E PRG:298E 29 03 - bne IrqHandler_Loop398 ; CPU:$A990 PRG:2990 D0 03 + bne IrqHandler_Loop437 ; CPU:$A990 PRG:2990 D0 03 jsr Sub_A3D1 ; CPU:$A992 PRG:2992 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop398 -; Global: Branch target inside IrqHandler: taken when Loop398. +; Routine: IrqHandler_Loop437 +; Global: Branch target inside IrqHandler: taken when Loop437. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop398: +IrqHandler_Loop437: lda $0706,x ; CPU:$A995 PRG:2995 BD 06 07 asl a ; CPU:$A998 PRG:2998 0A - bcs IrqHandler_Loop399 ; CPU:$A999 PRG:2999 B0 0D + bcs IrqHandler_Loop438 ; CPU:$A999 PRG:2999 B0 0D lda $0702,x ; CPU:$A99B PRG:299B BD 02 07 cmp #$04 ; CPU:$A99E PRG:299E C9 04 - bcs IrqHandler_Loop400 ; CPU:$A9A0 PRG:29A0 B0 13 + bcs IrqHandler_Loop439 ; CPU:$A9A0 PRG:29A0 B0 13 lda #$00 ; CPU:$A9A2 PRG:29A2 A9 00 sta $0706,x ; CPU:$A9A4 PRG:29A4 9D 06 07 rts ; CPU:$A9A7 PRG:29A7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop399 -; Global: Branch target inside IrqHandler: taken when Loop399. +; Routine: IrqHandler_Loop438 +; Global: Branch target inside IrqHandler: taken when Loop438. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop399: +IrqHandler_Loop438: lda $0702,x ; CPU:$A9A8 PRG:29A8 BD 02 07 cmp #$FB ; CPU:$A9AB PRG:29AB C9 FB - bcc IrqHandler_Loop400 ; CPU:$A9AD PRG:29AD 90 06 + bcc IrqHandler_Loop439 ; CPU:$A9AD PRG:29AD 90 06 lda #$00 ; CPU:$A9AF PRG:29AF A9 00 sta $0706,x ; CPU:$A9B1 PRG:29B1 9D 06 07 rts ; CPU:$A9B4 PRG:29B4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop400 -; Global: Branch target inside IrqHandler: taken when Loop400. +; Routine: IrqHandler_Loop439 +; Global: Branch target inside IrqHandler: taken when Loop439. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop400: +IrqHandler_Loop439: lda $0702,x ; CPU:$A9B5 PRG:29B5 BD 02 07 sec ; CPU:$A9B8 PRG:29B8 38 sbc #$02 ; CPU:$A9B9 PRG:29B9 E9 02 sta $0702,x ; CPU:$A9BB PRG:29BB 9D 02 07 lda $0706,x ; CPU:$A9BE PRG:29BE BD 06 07 asl a ; CPU:$A9C1 PRG:29C1 0A - bcs IrqHandler_Loop403 ; CPU:$A9C2 PRG:29C2 B0 30 + bcs IrqHandler_Loop442 ; CPU:$A9C2 PRG:29C2 B0 30 lda $0502 ; CPU:$A9C4 PRG:29C4 AD 02 05 cmp #$64 ; CPU:$A9C7 PRG:29C7 C9 64 - bcc IrqHandler_Loop403 ; CPU:$A9C9 PRG:29C9 90 29 + bcc IrqHandler_Loop442 ; CPU:$A9C9 PRG:29C9 90 29 lda $0703,x ; CPU:$A9CB PRG:29CB BD 03 07 sec ; CPU:$A9CE PRG:29CE 38 sbc $0502 ; CPU:$A9CF PRG:29CF ED 02 05 - bmi IrqHandler_Loop401 ; CPU:$A9D2 PRG:29D2 30 04 + bmi IrqHandler_Loop440 ; CPU:$A9D2 PRG:29D2 30 04 cmp #$10 ; CPU:$A9D4 PRG:29D4 C9 10 - bcc IrqHandler_Loop403 ; CPU:$A9D6 PRG:29D6 90 1C + bcc IrqHandler_Loop442 ; CPU:$A9D6 PRG:29D6 90 1C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop401 -; Global: Branch target inside IrqHandler: taken when Loop401. +; Routine: IrqHandler_Loop440 +; Global: Branch target inside IrqHandler: taken when Loop440. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop401: +IrqHandler_Loop440: lda $0502 ; CPU:$A9D8 PRG:29D8 AD 02 05 sec ; CPU:$A9DB PRG:29DB 38 sbc $0703,x ; CPU:$A9DC PRG:29DC FD 03 07 cmp #$10 ; CPU:$A9DF PRG:29DF C9 10 - bcc IrqHandler_Loop403 ; CPU:$A9E1 PRG:29E1 90 11 + bcc IrqHandler_Loop442 ; CPU:$A9E1 PRG:29E1 90 11 lda $0703,x ; CPU:$A9E3 PRG:29E3 BD 03 07 cmp $0502 ; CPU:$A9E6 PRG:29E6 CD 02 05 - bcs IrqHandler_Loop402 ; CPU:$A9E9 PRG:29E9 B0 06 + bcs IrqHandler_Loop441 ; CPU:$A9E9 PRG:29E9 B0 06 inc $0703,x ; CPU:$A9EB PRG:29EB FE 03 07 - jmp IrqHandler_Loop403 ; CPU:$A9EE PRG:29EE 4C F4 A9 + jmp IrqHandler_Loop442 ; CPU:$A9EE PRG:29EE 4C F4 A9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop402 -; Global: Branch target inside IrqHandler: taken when Loop402. +; Routine: IrqHandler_Loop441 +; Global: Branch target inside IrqHandler: taken when Loop441. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop402: +IrqHandler_Loop441: dec $0703,x ; CPU:$A9F1 PRG:29F1 DE 03 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop403 -; Global: Branch target inside IrqHandler: taken when Loop403. +; Routine: IrqHandler_Loop442 +; Global: Branch target inside IrqHandler: taken when Loop442. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop403: +IrqHandler_Loop442: lda $0702,x ; CPU:$A9F4 PRG:29F4 BD 02 07 cmp #$F8 ; CPU:$A9F7 PRG:29F7 C9 F8 - bcc IrqHandler_Loop404 ; CPU:$A9F9 PRG:29F9 90 03 + bcc IrqHandler_Loop443 ; CPU:$A9F9 PRG:29F9 90 03 jmp Sub_AA11 ; CPU:$A9FB PRG:29FB 4C 11 AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop404 -; Global: Branch target inside IrqHandler: taken when Loop404. +; Routine: IrqHandler_Loop443 +; Global: Branch target inside IrqHandler: taken when Loop443. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop404: +IrqHandler_Loop443: cmp #$F0 ; CPU:$A9FE PRG:29FE C9 F0 - bcc IrqHandler_Loop405 ; CPU:$AA00 PRG:2A00 90 06 + bcc IrqHandler_Loop444 ; CPU:$AA00 PRG:2A00 90 06 jsr Sub_AA11 ; CPU:$AA02 PRG:2A02 20 11 AA jmp Sub_AA3F ; CPU:$AA05 PRG:2A05 4C 3F AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop405 -; Global: Branch target inside IrqHandler: taken when Loop405. +; Routine: IrqHandler_Loop444 +; Global: Branch target inside IrqHandler: taken when Loop444. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop405: +IrqHandler_Loop444: jsr Sub_AA11 ; CPU:$AA08 PRG:2A08 20 11 AA jsr Sub_AA3F ; CPU:$AA0B PRG:2A0B 20 3F AA jmp Sub_AA73 ; CPU:$AA0E PRG:2A0E 4C 73 AA @@ -9933,25 +10868,25 @@ IrqHandler_Loop405: ; ----------------------------------------------------------------------------- Sub_AA11: lda $0700,x ; CPU:$AA11 PRG:2A11 BD 00 07 - sta Zp19 ; CPU:$AA14 PRG:2A14 85 19 + sta PlayerXHigh ; CPU:$AA14 PRG:2A14 85 19 lda $0702,x ; CPU:$AA16 PRG:2A16 BD 02 07 - sta Zp1C ; CPU:$AA19 PRG:2A19 85 1C + sta PlayerYHigh ; CPU:$AA19 PRG:2A19 85 1C lda #$0D ; CPU:$AA1B PRG:2A1B A9 0D - sta Zp1A ; CPU:$AA1D PRG:2A1D 85 1A + sta PlayerXLow ; CPU:$AA1D PRG:2A1D 85 1A lda #$02 ; CPU:$AA1F PRG:2A1F A9 02 - sta Zp1B ; CPU:$AA21 PRG:2A21 85 1B + sta PlayerYLow ; CPU:$AA21 PRG:2A21 85 1B jsr Sub_8221 ; CPU:$AA23 PRG:2A23 20 21 82 lda #$60 ; CPU:$AA26 PRG:2A26 A9 60 - sta Zp1A ; CPU:$AA28 PRG:2A28 85 1A + sta PlayerXLow ; CPU:$AA28 PRG:2A28 85 1A lda #$01 ; CPU:$AA2A PRG:2A2A A9 01 - sta Zp1B ; CPU:$AA2C PRG:2A2C 85 1B + sta PlayerYLow ; CPU:$AA2C PRG:2A2C 85 1B jsr Sub_8221 ; CPU:$AA2E PRG:2A2E 20 21 82 - lda Zp19 ; CPU:$AA31 PRG:2A31 A5 19 + lda PlayerXHigh ; CPU:$AA31 PRG:2A31 A5 19 clc ; CPU:$AA33 PRG:2A33 18 adc #$08 ; CPU:$AA34 PRG:2A34 69 08 - sta Zp19 ; CPU:$AA36 PRG:2A36 85 19 + sta PlayerXHigh ; CPU:$AA36 PRG:2A36 85 19 lda #$71 ; CPU:$AA38 PRG:2A38 A9 71 - sta Zp1A ; CPU:$AA3A PRG:2A3A 85 1A + sta PlayerXLow ; CPU:$AA3A PRG:2A3A 85 1A jmp Sub_8221 ; CPU:$AA3C PRG:2A3C 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AA3F @@ -9963,29 +10898,29 @@ Sub_AA11: ; ----------------------------------------------------------------------------- Sub_AA3F: lda $0700,x ; CPU:$AA3F PRG:2A3F BD 00 07 - sta Zp19 ; CPU:$AA42 PRG:2A42 85 19 + sta PlayerXHigh ; CPU:$AA42 PRG:2A42 85 19 lda $0702,x ; CPU:$AA44 PRG:2A44 BD 02 07 clc ; CPU:$AA47 PRG:2A47 18 adc #$08 ; CPU:$AA48 PRG:2A48 69 08 - sta Zp1C ; CPU:$AA4A PRG:2A4A 85 1C + sta PlayerYHigh ; CPU:$AA4A PRG:2A4A 85 1C lda #$0E ; CPU:$AA4C PRG:2A4C A9 0E - sta Zp1A ; CPU:$AA4E PRG:2A4E 85 1A + sta PlayerXLow ; CPU:$AA4E PRG:2A4E 85 1A lda #$02 ; CPU:$AA50 PRG:2A50 A9 02 - sta Zp1B ; CPU:$AA52 PRG:2A52 85 1B + sta PlayerYLow ; CPU:$AA52 PRG:2A52 85 1B jsr Sub_8221 ; CPU:$AA54 PRG:2A54 20 21 82 - lda Zp19 ; CPU:$AA57 PRG:2A57 A5 19 + lda PlayerXHigh ; CPU:$AA57 PRG:2A57 A5 19 clc ; CPU:$AA59 PRG:2A59 18 adc #$08 ; CPU:$AA5A PRG:2A5A 69 08 - sta Zp19 ; CPU:$AA5C PRG:2A5C 85 19 + sta PlayerXHigh ; CPU:$AA5C PRG:2A5C 85 19 lda #$1E ; CPU:$AA5E PRG:2A5E A9 1E - sta Zp1A ; CPU:$AA60 PRG:2A60 85 1A + sta PlayerXLow ; CPU:$AA60 PRG:2A60 85 1A jsr Sub_8221 ; CPU:$AA62 PRG:2A62 20 21 82 - lda Zp19 ; CPU:$AA65 PRG:2A65 A5 19 + lda PlayerXHigh ; CPU:$AA65 PRG:2A65 A5 19 clc ; CPU:$AA67 PRG:2A67 18 adc #$08 ; CPU:$AA68 PRG:2A68 69 08 - sta Zp19 ; CPU:$AA6A PRG:2A6A 85 19 + sta PlayerXHigh ; CPU:$AA6A PRG:2A6A 85 19 lda #$2E ; CPU:$AA6C PRG:2A6C A9 2E - sta Zp1A ; CPU:$AA6E PRG:2A6E 85 1A + sta PlayerXLow ; CPU:$AA6E PRG:2A6E 85 1A jmp Sub_8221 ; CPU:$AA70 PRG:2A70 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AA73 @@ -9997,46 +10932,46 @@ Sub_AA3F: ; ----------------------------------------------------------------------------- Sub_AA73: lda $0700,x ; CPU:$AA73 PRG:2A73 BD 00 07 - sta Zp19 ; CPU:$AA76 PRG:2A76 85 19 + sta PlayerXHigh ; CPU:$AA76 PRG:2A76 85 19 lda $0702,x ; CPU:$AA78 PRG:2A78 BD 02 07 clc ; CPU:$AA7B PRG:2A7B 18 adc #$10 ; CPU:$AA7C PRG:2A7C 69 10 - sta Zp1C ; CPU:$AA7E PRG:2A7E 85 1C + sta PlayerYHigh ; CPU:$AA7E PRG:2A7E 85 1C lda #$0F ; CPU:$AA80 PRG:2A80 A9 0F - sta Zp1A ; CPU:$AA82 PRG:2A82 85 1A + sta PlayerXLow ; CPU:$AA82 PRG:2A82 85 1A lda #$02 ; CPU:$AA84 PRG:2A84 A9 02 - sta Zp1B ; CPU:$AA86 PRG:2A86 85 1B + sta PlayerYLow ; CPU:$AA86 PRG:2A86 85 1B jsr Sub_8221 ; CPU:$AA88 PRG:2A88 20 21 82 lda $06D1 ; CPU:$AA8B PRG:2A8B AD D1 06 cmp #$0C ; CPU:$AA8E PRG:2A8E C9 0C - bcs IrqHandler_Loop406 ; CPU:$AA90 PRG:2A90 B0 06 + bcs IrqHandler_Loop445 ; CPU:$AA90 PRG:2A90 B0 06 lda #$2F ; CPU:$AA92 PRG:2A92 A9 2F - sta Zp1A ; CPU:$AA94 PRG:2A94 85 1A - bne IrqHandler_Loop407 ; CPU:$AA96 PRG:2A96 D0 04 + sta PlayerXLow ; CPU:$AA94 PRG:2A94 85 1A + bne IrqHandler_Loop446 ; CPU:$AA96 PRG:2A96 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop406 -; Global: Branch target inside IrqHandler: taken when Loop406. +; Routine: IrqHandler_Loop445 +; Global: Branch target inside IrqHandler: taken when Loop445. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop406: +IrqHandler_Loop445: lda #$1F ; CPU:$AA98 PRG:2A98 A9 1F - sta Zp1A ; CPU:$AA9A PRG:2A9A 85 1A + sta PlayerXLow ; CPU:$AA9A PRG:2A9A 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop407 -; Global: Branch target inside IrqHandler: taken when Loop407. +; Routine: IrqHandler_Loop446 +; Global: Branch target inside IrqHandler: taken when Loop446. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop407: - lda Zp19 ; CPU:$AA9C PRG:2A9C A5 19 +IrqHandler_Loop446: + lda PlayerXHigh ; CPU:$AA9C PRG:2A9C A5 19 clc ; CPU:$AA9E PRG:2A9E 18 adc #$10 ; CPU:$AA9F PRG:2A9F 69 10 - sta Zp19 ; CPU:$AAA1 PRG:2AA1 85 19 + sta PlayerXHigh ; CPU:$AAA1 PRG:2AA1 85 19 jmp Sub_8221 ; CPU:$AAA3 PRG:2AA3 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AAA6 @@ -10048,98 +10983,98 @@ IrqHandler_Loop407: ; ----------------------------------------------------------------------------- Sub_AAA6: lda $0710,x ; CPU:$AAA6 PRG:2AA6 BD 10 07 - beq IrqHandler_Loop408 ; CPU:$AAA9 PRG:2AA9 F0 03 + beq IrqHandler_Loop447 ; CPU:$AAA9 PRG:2AA9 F0 03 jmp Sub_B460 ; CPU:$AAAB PRG:2AAB 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop408 -; Global: Branch target inside IrqHandler: taken when Loop408. +; Routine: IrqHandler_Loop447 +; Global: Branch target inside IrqHandler: taken when Loop447. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop408: +IrqHandler_Loop447: jsr Sub_B234 ; CPU:$AAAE PRG:2AAE 20 34 B2 jsr Sub_B16A ; CPU:$AAB1 PRG:2AB1 20 6A B1 lda $0702,x ; CPU:$AAB4 PRG:2AB4 BD 02 07 cmp #$04 ; CPU:$AAB7 PRG:2AB7 C9 04 - bcs IrqHandler_Loop409 ; CPU:$AAB9 PRG:2AB9 B0 06 + bcs IrqHandler_Loop448 ; CPU:$AAB9 PRG:2AB9 B0 06 lda #$00 ; CPU:$AABB PRG:2ABB A9 00 sta $0706,x ; CPU:$AABD PRG:2ABD 9D 06 07 rts ; CPU:$AAC0 PRG:2AC0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop409 -; Global: Branch target inside IrqHandler: taken when Loop409. +; Routine: IrqHandler_Loop448 +; Global: Branch target inside IrqHandler: taken when Loop448. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop409: +IrqHandler_Loop448: lda $0706,x ; CPU:$AAC1 PRG:2AC1 BD 06 07 cmp #$02 ; CPU:$AAC4 PRG:2AC4 C9 02 - beq IrqHandler_Loop411 ; CPU:$AAC6 PRG:2AC6 F0 23 + beq IrqHandler_Loop450 ; CPU:$AAC6 PRG:2AC6 F0 23 lda $0701,x ; CPU:$AAC8 PRG:2AC8 BD 01 07 - beq IrqHandler_Loop410 ; CPU:$AACB PRG:2ACB F0 12 + beq IrqHandler_Loop449 ; CPU:$AACB PRG:2ACB F0 12 dec $0701,x ; CPU:$AACD PRG:2ACD DE 01 07 dec $0700,x ; CPU:$AAD0 PRG:2AD0 DE 00 07 dec $0700,x ; CPU:$AAD3 PRG:2AD3 DE 00 07 dec $0702,x ; CPU:$AAD6 PRG:2AD6 DE 02 07 dec $0702,x ; CPU:$AAD9 PRG:2AD9 DE 02 07 - jmp IrqHandler_Loop413 ; CPU:$AADC PRG:2ADC 4C 0C AB + jmp IrqHandler_Loop452 ; CPU:$AADC PRG:2ADC 4C 0C AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop410 -; Global: Branch target inside IrqHandler: taken when Loop410. +; Routine: IrqHandler_Loop449 +; Global: Branch target inside IrqHandler: taken when Loop449. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop410: +IrqHandler_Loop449: lda #$14 ; CPU:$AADF PRG:2ADF A9 14 sta $0701,x ; CPU:$AAE1 PRG:2AE1 9D 01 07 lda #$02 ; CPU:$AAE4 PRG:2AE4 A9 02 sta $0706,x ; CPU:$AAE6 PRG:2AE6 9D 06 07 - bne IrqHandler_Loop413 ; CPU:$AAE9 PRG:2AE9 D0 21 + bne IrqHandler_Loop452 ; CPU:$AAE9 PRG:2AE9 D0 21 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop411 -; Global: Branch target inside IrqHandler: taken when Loop411. +; Routine: IrqHandler_Loop450 +; Global: Branch target inside IrqHandler: taken when Loop450. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop411: +IrqHandler_Loop450: lda $0701,x ; CPU:$AAEB PRG:2AEB BD 01 07 - beq IrqHandler_Loop412 ; CPU:$AAEE PRG:2AEE F0 12 + beq IrqHandler_Loop451 ; CPU:$AAEE PRG:2AEE F0 12 dec $0701,x ; CPU:$AAF0 PRG:2AF0 DE 01 07 inc $0700,x ; CPU:$AAF3 PRG:2AF3 FE 00 07 inc $0700,x ; CPU:$AAF6 PRG:2AF6 FE 00 07 dec $0702,x ; CPU:$AAF9 PRG:2AF9 DE 02 07 dec $0702,x ; CPU:$AAFC PRG:2AFC DE 02 07 - jmp IrqHandler_Loop413 ; CPU:$AAFF PRG:2AFF 4C 0C AB + jmp IrqHandler_Loop452 ; CPU:$AAFF PRG:2AFF 4C 0C AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop412 -; Global: Branch target inside IrqHandler: taken when Loop412. +; Routine: IrqHandler_Loop451 +; Global: Branch target inside IrqHandler: taken when Loop451. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop412: +IrqHandler_Loop451: lda #$14 ; CPU:$AB02 PRG:2B02 A9 14 sta $0701,x ; CPU:$AB04 PRG:2B04 9D 01 07 lda #$01 ; CPU:$AB07 PRG:2B07 A9 01 sta $0706,x ; CPU:$AB09 PRG:2B09 9D 06 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop413 -; Global: Branch target inside IrqHandler: taken when Loop413. +; Routine: IrqHandler_Loop452 +; Global: Branch target inside IrqHandler: taken when Loop452. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop413: +IrqHandler_Loop452: jmp Sub_A7D4 ; CPU:$AB0C PRG:2B0C 4C D4 A7 ; ----------------------------------------------------------------------------- ; Routine: Sub_AB0F @@ -10151,143 +11086,143 @@ IrqHandler_Loop413: ; ----------------------------------------------------------------------------- Sub_AB0F: lda $0710,x ; CPU:$AB0F PRG:2B0F BD 10 07 - beq IrqHandler_Loop414 ; CPU:$AB12 PRG:2B12 F0 03 + beq IrqHandler_Loop453 ; CPU:$AB12 PRG:2B12 F0 03 jmp Sub_B460 ; CPU:$AB14 PRG:2B14 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop414 -; Global: Branch target inside IrqHandler: taken when Loop414. +; Routine: IrqHandler_Loop453 +; Global: Branch target inside IrqHandler: taken when Loop453. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop414: +IrqHandler_Loop453: jsr Sub_B234 ; CPU:$AB17 PRG:2B17 20 34 B2 jsr Sub_B16A ; CPU:$AB1A PRG:2B1A 20 6A B1 lda $0702,x ; CPU:$AB1D PRG:2B1D BD 02 07 cmp #$04 ; CPU:$AB20 PRG:2B20 C9 04 - bcs IrqHandler_Loop415 ; CPU:$AB22 PRG:2B22 B0 06 + bcs IrqHandler_Loop454 ; CPU:$AB22 PRG:2B22 B0 06 lda #$00 ; CPU:$AB24 PRG:2B24 A9 00 sta $0706,x ; CPU:$AB26 PRG:2B26 9D 06 07 rts ; CPU:$AB29 PRG:2B29 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop415 -; Global: Branch target inside IrqHandler: taken when Loop415. +; Routine: IrqHandler_Loop454 +; Global: Branch target inside IrqHandler: taken when Loop454. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop415: +IrqHandler_Loop454: lda $0706,x ; CPU:$AB2A PRG:2B2A BD 06 07 cmp #$02 ; CPU:$AB2D PRG:2B2D C9 02 - beq IrqHandler_Loop417 ; CPU:$AB2F PRG:2B2F F0 23 + beq IrqHandler_Loop456 ; CPU:$AB2F PRG:2B2F F0 23 lda $0701,x ; CPU:$AB31 PRG:2B31 BD 01 07 - beq IrqHandler_Loop416 ; CPU:$AB34 PRG:2B34 F0 12 + beq IrqHandler_Loop455 ; CPU:$AB34 PRG:2B34 F0 12 dec $0701,x ; CPU:$AB36 PRG:2B36 DE 01 07 dec $0700,x ; CPU:$AB39 PRG:2B39 DE 00 07 dec $0700,x ; CPU:$AB3C PRG:2B3C DE 00 07 dec $0702,x ; CPU:$AB3F PRG:2B3F DE 02 07 dec $0702,x ; CPU:$AB42 PRG:2B42 DE 02 07 - jmp IrqHandler_Loop419 ; CPU:$AB45 PRG:2B45 4C 6C AB + jmp IrqHandler_Loop458 ; CPU:$AB45 PRG:2B45 4C 6C AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop416 -; Global: Branch target inside IrqHandler: taken when Loop416. +; Routine: IrqHandler_Loop455 +; Global: Branch target inside IrqHandler: taken when Loop455. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop416: +IrqHandler_Loop455: lda #$28 ; CPU:$AB48 PRG:2B48 A9 28 sta $0701,x ; CPU:$AB4A PRG:2B4A 9D 01 07 lda #$02 ; CPU:$AB4D PRG:2B4D A9 02 sta $0706,x ; CPU:$AB4F PRG:2B4F 9D 06 07 - bne IrqHandler_Loop419 ; CPU:$AB52 PRG:2B52 D0 18 + bne IrqHandler_Loop458 ; CPU:$AB52 PRG:2B52 D0 18 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop417 -; Global: Branch target inside IrqHandler: taken when Loop417. +; Routine: IrqHandler_Loop456 +; Global: Branch target inside IrqHandler: taken when Loop456. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop417: +IrqHandler_Loop456: lda $0701,x ; CPU:$AB54 PRG:2B54 BD 01 07 - beq IrqHandler_Loop418 ; CPU:$AB57 PRG:2B57 F0 09 + beq IrqHandler_Loop457 ; CPU:$AB57 PRG:2B57 F0 09 dec $0701,x ; CPU:$AB59 PRG:2B59 DE 01 07 inc $0700,x ; CPU:$AB5C PRG:2B5C FE 00 07 - jmp IrqHandler_Loop419 ; CPU:$AB5F PRG:2B5F 4C 6C AB + jmp IrqHandler_Loop458 ; CPU:$AB5F PRG:2B5F 4C 6C AB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop418 -; Global: Branch target inside IrqHandler: taken when Loop418. +; Routine: IrqHandler_Loop457 +; Global: Branch target inside IrqHandler: taken when Loop457. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop418: +IrqHandler_Loop457: lda #$14 ; CPU:$AB62 PRG:2B62 A9 14 sta $0701,x ; CPU:$AB64 PRG:2B64 9D 01 07 lda #$01 ; CPU:$AB67 PRG:2B67 A9 01 sta $0706,x ; CPU:$AB69 PRG:2B69 9D 06 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop419 -; Global: Branch target inside IrqHandler: taken when Loop419. +; Routine: IrqHandler_Loop458 +; Global: Branch target inside IrqHandler: taken when Loop458. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop419: +IrqHandler_Loop458: lda $0700,x ; CPU:$AB6C PRG:2B6C BD 00 07 - sta Zp19 ; CPU:$AB6F PRG:2B6F 85 19 + sta PlayerXHigh ; CPU:$AB6F PRG:2B6F 85 19 lda $0702,x ; CPU:$AB71 PRG:2B71 BD 02 07 - sta Zp1C ; CPU:$AB74 PRG:2B74 85 1C + sta PlayerYHigh ; CPU:$AB74 PRG:2B74 85 1C lda #$03 ; CPU:$AB76 PRG:2B76 A9 03 - sta Zp1B ; CPU:$AB78 PRG:2B78 85 1B + sta PlayerYLow ; CPU:$AB78 PRG:2B78 85 1B lda #$93 ; CPU:$AB7A PRG:2B7A A9 93 - sta Zp1A ; CPU:$AB7C PRG:2B7C 85 1A + sta PlayerXLow ; CPU:$AB7C PRG:2B7C 85 1A jsr Sub_8221 ; CPU:$AB7E PRG:2B7E 20 21 82 - lda Zp1C ; CPU:$AB81 PRG:2B81 A5 1C + lda PlayerYHigh ; CPU:$AB81 PRG:2B81 A5 1C clc ; CPU:$AB83 PRG:2B83 18 adc #$08 ; CPU:$AB84 PRG:2B84 69 08 - sta Zp1C ; CPU:$AB86 PRG:2B86 85 1C + sta PlayerYHigh ; CPU:$AB86 PRG:2B86 85 1C lda #$94 ; CPU:$AB88 PRG:2B88 A9 94 - sta Zp1A ; CPU:$AB8A PRG:2B8A 85 1A + sta PlayerXLow ; CPU:$AB8A PRG:2B8A 85 1A jsr Sub_8221 ; CPU:$AB8C PRG:2B8C 20 21 82 lda $0706,x ; CPU:$AB8F PRG:2B8F BD 06 07 cmp #$02 ; CPU:$AB92 PRG:2B92 C9 02 - beq IrqHandler_Loop420 ; CPU:$AB94 PRG:2B94 F0 06 + beq IrqHandler_Loop459 ; CPU:$AB94 PRG:2B94 F0 06 lda #$92 ; CPU:$AB96 PRG:2B96 A9 92 - sta Zp1A ; CPU:$AB98 PRG:2B98 85 1A - bne IrqHandler_Loop421 ; CPU:$AB9A PRG:2B9A D0 04 + sta PlayerXLow ; CPU:$AB98 PRG:2B98 85 1A + bne IrqHandler_Loop460 ; CPU:$AB9A PRG:2B9A D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop420 -; Global: Branch target inside IrqHandler: taken when Loop420. +; Routine: IrqHandler_Loop459 +; Global: Branch target inside IrqHandler: taken when Loop459. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop420: +IrqHandler_Loop459: lda #$84 ; CPU:$AB9C PRG:2B9C A9 84 - sta Zp1A ; CPU:$AB9E PRG:2B9E 85 1A + sta PlayerXLow ; CPU:$AB9E PRG:2B9E 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop421 -; Global: Branch target inside IrqHandler: taken when Loop421. +; Routine: IrqHandler_Loop460 +; Global: Branch target inside IrqHandler: taken when Loop460. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop421: +IrqHandler_Loop460: lda $0702,x ; CPU:$ABA0 PRG:2BA0 BD 02 07 - sta Zp1C ; CPU:$ABA3 PRG:2BA3 85 1C - lda Zp19 ; CPU:$ABA5 PRG:2BA5 A5 19 + sta PlayerYHigh ; CPU:$ABA3 PRG:2BA3 85 1C + lda PlayerXHigh ; CPU:$ABA5 PRG:2BA5 A5 19 clc ; CPU:$ABA7 PRG:2BA7 18 adc #$08 ; CPU:$ABA8 PRG:2BA8 69 08 - sta Zp19 ; CPU:$ABAA PRG:2BAA 85 19 + sta PlayerXHigh ; CPU:$ABAA PRG:2BAA 85 19 jmp Sub_8221 ; CPU:$ABAC PRG:2BAC 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_ABAF @@ -10299,187 +11234,187 @@ IrqHandler_Loop421: ; ----------------------------------------------------------------------------- Sub_ABAF: lda $0710,x ; CPU:$ABAF PRG:2BAF BD 10 07 - beq IrqHandler_Loop422 ; CPU:$ABB2 PRG:2BB2 F0 03 + beq IrqHandler_Loop461 ; CPU:$ABB2 PRG:2BB2 F0 03 jmp Sub_B460 ; CPU:$ABB4 PRG:2BB4 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop422 -; Global: Branch target inside IrqHandler: taken when Loop422. +; Routine: IrqHandler_Loop461 +; Global: Branch target inside IrqHandler: taken when Loop461. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop422: +IrqHandler_Loop461: jsr Sub_B234 ; CPU:$ABB7 PRG:2BB7 20 34 B2 jsr Sub_B16A ; CPU:$ABBA PRG:2BBA 20 6A B1 dec $0701,x ; CPU:$ABBD PRG:2BBD DE 01 07 dec $0701,x ; CPU:$ABC0 PRG:2BC0 DE 01 07 dec $0701,x ; CPU:$ABC3 PRG:2BC3 DE 01 07 jsr Sub_A26F ; CPU:$ABC6 PRG:2BC6 20 6F A2 - lda Zp54 ; CPU:$ABC9 PRG:2BC9 A5 54 + lda FrameCounter ; CPU:$ABC9 PRG:2BC9 A5 54 and #$03 ; CPU:$ABCB PRG:2BCB 29 03 - bne IrqHandler_Loop423 ; CPU:$ABCD PRG:2BCD D0 10 + bne IrqHandler_Loop462 ; CPU:$ABCD PRG:2BCD D0 10 jsr Sub_A3D1 ; CPU:$ABCF PRG:2BCF 20 D1 A3 lda $0702,x ; CPU:$ABD2 PRG:2BD2 BD 02 07 cmp #$B4 ; CPU:$ABD5 PRG:2BD5 C9 B4 - bcs IrqHandler_Loop423 ; CPU:$ABD7 PRG:2BD7 B0 06 + bcs IrqHandler_Loop462 ; CPU:$ABD7 PRG:2BD7 B0 06 jsr Sub_A3D1 ; CPU:$ABD9 PRG:2BD9 20 D1 A3 jsr Sub_A3D1 ; CPU:$ABDC PRG:2BDC 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop423 -; Global: Branch target inside IrqHandler: taken when Loop423. +; Routine: IrqHandler_Loop462 +; Global: Branch target inside IrqHandler: taken when Loop462. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop423: +IrqHandler_Loop462: lda $0702,x ; CPU:$ABDF PRG:2BDF BD 02 07 cmp #$04 ; CPU:$ABE2 PRG:2BE2 C9 04 - bcs IrqHandler_Loop424 ; CPU:$ABE4 PRG:2BE4 B0 06 + bcs IrqHandler_Loop463 ; CPU:$ABE4 PRG:2BE4 B0 06 lda #$00 ; CPU:$ABE6 PRG:2BE6 A9 00 sta $0706,x ; CPU:$ABE8 PRG:2BE8 9D 06 07 rts ; CPU:$ABEB PRG:2BEB 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop424 -; Global: Branch target inside IrqHandler: taken when Loop424. +; Routine: IrqHandler_Loop463 +; Global: Branch target inside IrqHandler: taken when Loop463. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop424: +IrqHandler_Loop463: lda $0702,x ; CPU:$ABEC PRG:2BEC BD 02 07 sec ; CPU:$ABEF PRG:2BEF 38 sbc #$02 ; CPU:$ABF0 PRG:2BF0 E9 02 sta $0702,x ; CPU:$ABF2 PRG:2BF2 9D 02 07 lda $0702,x ; CPU:$ABF5 PRG:2BF5 BD 02 07 cmp $0501 ; CPU:$ABF8 PRG:2BF8 CD 01 05 - bcc IrqHandler_Loop427 ; CPU:$ABFB PRG:2BFB 90 36 + bcc IrqHandler_Loop466 ; CPU:$ABFB PRG:2BFB 90 36 lda $0502 ; CPU:$ABFD PRG:2BFD AD 02 05 cmp #$8C ; CPU:$AC00 PRG:2C00 C9 8C - bcc IrqHandler_Loop427 ; CPU:$AC02 PRG:2C02 90 2F + bcc IrqHandler_Loop466 ; CPU:$AC02 PRG:2C02 90 2F lda $0703,x ; CPU:$AC04 PRG:2C04 BD 03 07 sec ; CPU:$AC07 PRG:2C07 38 sbc $0502 ; CPU:$AC08 PRG:2C08 ED 02 05 - bmi IrqHandler_Loop425 ; CPU:$AC0B PRG:2C0B 30 04 + bmi IrqHandler_Loop464 ; CPU:$AC0B PRG:2C0B 30 04 cmp #$10 ; CPU:$AC0D PRG:2C0D C9 10 - bcc IrqHandler_Loop427 ; CPU:$AC0F PRG:2C0F 90 22 + bcc IrqHandler_Loop466 ; CPU:$AC0F PRG:2C0F 90 22 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop425 -; Global: Branch target inside IrqHandler: taken when Loop425. +; Routine: IrqHandler_Loop464 +; Global: Branch target inside IrqHandler: taken when Loop464. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop425: +IrqHandler_Loop464: lda $0502 ; CPU:$AC11 PRG:2C11 AD 02 05 sec ; CPU:$AC14 PRG:2C14 38 sbc $0703,x ; CPU:$AC15 PRG:2C15 FD 03 07 cmp #$10 ; CPU:$AC18 PRG:2C18 C9 10 - bcc IrqHandler_Loop427 ; CPU:$AC1A PRG:2C1A 90 17 + bcc IrqHandler_Loop466 ; CPU:$AC1A PRG:2C1A 90 17 lda $0703,x ; CPU:$AC1C PRG:2C1C BD 03 07 cmp $0502 ; CPU:$AC1F PRG:2C1F CD 02 05 - bcs IrqHandler_Loop426 ; CPU:$AC22 PRG:2C22 B0 09 + bcs IrqHandler_Loop465 ; CPU:$AC22 PRG:2C22 B0 09 inc $0703,x ; CPU:$AC24 PRG:2C24 FE 03 07 inc $0703,x ; CPU:$AC27 PRG:2C27 FE 03 07 - jmp IrqHandler_Loop427 ; CPU:$AC2A PRG:2C2A 4C 33 AC + jmp IrqHandler_Loop466 ; CPU:$AC2A PRG:2C2A 4C 33 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop426 -; Global: Branch target inside IrqHandler: taken when Loop426. +; Routine: IrqHandler_Loop465 +; Global: Branch target inside IrqHandler: taken when Loop465. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop426: +IrqHandler_Loop465: dec $0703,x ; CPU:$AC2D PRG:2C2D DE 03 07 dec $0703,x ; CPU:$AC30 PRG:2C30 DE 03 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop427 -; Global: Branch target inside IrqHandler: taken when Loop427. +; Routine: IrqHandler_Loop466 +; Global: Branch target inside IrqHandler: taken when Loop466. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop427: +IrqHandler_Loop466: lda $0708,x ; CPU:$AC33 PRG:2C33 BD 08 07 cmp #$48 ; CPU:$AC36 PRG:2C36 C9 48 - bne IrqHandler_Loop429 ; CPU:$AC38 PRG:2C38 D0 17 + bne IrqHandler_Loop468 ; CPU:$AC38 PRG:2C38 D0 17 lda #$26 ; CPU:$AC3A PRG:2C3A A9 26 - sta Zp4A ; CPU:$AC3C PRG:2C3C 85 4A + sta DispatchPtrLo ; CPU:$AC3C PRG:2C3C 85 4A lda $06CE ; CPU:$AC3E PRG:2C3E AD CE 06 cmp #$06 ; CPU:$AC41 PRG:2C41 C9 06 - bcs IrqHandler_Loop428 ; CPU:$AC43 PRG:2C43 B0 06 + bcs IrqHandler_Loop467 ; CPU:$AC43 PRG:2C43 B0 06 lda #$27 ; CPU:$AC45 PRG:2C45 A9 27 - sta Zp4B ; CPU:$AC47 PRG:2C47 85 4B - bne IrqHandler_Loop431 ; CPU:$AC49 PRG:2C49 D0 1B + sta DispatchPtrHi ; CPU:$AC47 PRG:2C47 85 4B + bne IrqHandler_Loop470 ; CPU:$AC49 PRG:2C49 D0 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop428 -; Global: Branch target inside IrqHandler: taken when Loop428. +; Routine: IrqHandler_Loop467 +; Global: Branch target inside IrqHandler: taken when Loop467. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop428: +IrqHandler_Loop467: lda #$28 ; CPU:$AC4B PRG:2C4B A9 28 - sta Zp4B ; CPU:$AC4D PRG:2C4D 85 4B - bne IrqHandler_Loop431 ; CPU:$AC4F PRG:2C4F D0 15 + sta DispatchPtrHi ; CPU:$AC4D PRG:2C4D 85 4B + bne IrqHandler_Loop470 ; CPU:$AC4F PRG:2C4F D0 15 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop429 -; Global: Branch target inside IrqHandler: taken when Loop429. +; Routine: IrqHandler_Loop468 +; Global: Branch target inside IrqHandler: taken when Loop468. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop429: +IrqHandler_Loop468: lda #$72 ; CPU:$AC51 PRG:2C51 A9 72 - sta Zp4A ; CPU:$AC53 PRG:2C53 85 4A + sta DispatchPtrLo ; CPU:$AC53 PRG:2C53 85 4A lda $06CE ; CPU:$AC55 PRG:2C55 AD CE 06 cmp #$06 ; CPU:$AC58 PRG:2C58 C9 06 - bcs IrqHandler_Loop430 ; CPU:$AC5A PRG:2C5A B0 06 + bcs IrqHandler_Loop469 ; CPU:$AC5A PRG:2C5A B0 06 lda #$73 ; CPU:$AC5C PRG:2C5C A9 73 - sta Zp4B ; CPU:$AC5E PRG:2C5E 85 4B - bne IrqHandler_Loop431 ; CPU:$AC60 PRG:2C60 D0 04 + sta DispatchPtrHi ; CPU:$AC5E PRG:2C5E 85 4B + bne IrqHandler_Loop470 ; CPU:$AC60 PRG:2C60 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop430 -; Global: Branch target inside IrqHandler: taken when Loop430. +; Routine: IrqHandler_Loop469 +; Global: Branch target inside IrqHandler: taken when Loop469. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop430: +IrqHandler_Loop469: lda #$74 ; CPU:$AC62 PRG:2C62 A9 74 - sta Zp4B ; CPU:$AC64 PRG:2C64 85 4B + sta DispatchPtrHi ; CPU:$AC64 PRG:2C64 85 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop431 -; Global: Branch target inside IrqHandler: taken when Loop431. +; Routine: IrqHandler_Loop470 +; Global: Branch target inside IrqHandler: taken when Loop470. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop431: +IrqHandler_Loop470: lda $0700,x ; CPU:$AC66 PRG:2C66 BD 00 07 - sta Zp19 ; CPU:$AC69 PRG:2C69 85 19 + sta PlayerXHigh ; CPU:$AC69 PRG:2C69 85 19 lda $0702,x ; CPU:$AC6B PRG:2C6B BD 02 07 - sta Zp1C ; CPU:$AC6E PRG:2C6E 85 1C - lda Zp4A ; CPU:$AC70 PRG:2C70 A5 4A - sta Zp1A ; CPU:$AC72 PRG:2C72 85 1A + sta PlayerYHigh ; CPU:$AC6E PRG:2C6E 85 1C + lda DispatchPtrLo ; CPU:$AC70 PRG:2C70 A5 4A + sta PlayerXLow ; CPU:$AC72 PRG:2C72 85 1A lda #$00 ; CPU:$AC74 PRG:2C74 A9 00 - sta Zp1B ; CPU:$AC76 PRG:2C76 85 1B + sta PlayerYLow ; CPU:$AC76 PRG:2C76 85 1B jsr Sub_8221 ; CPU:$AC78 PRG:2C78 20 21 82 - lda Zp1C ; CPU:$AC7B PRG:2C7B A5 1C + lda PlayerYHigh ; CPU:$AC7B PRG:2C7B A5 1C clc ; CPU:$AC7D PRG:2C7D 18 adc #$08 ; CPU:$AC7E PRG:2C7E 69 08 - sta Zp1C ; CPU:$AC80 PRG:2C80 85 1C - lda Zp4B ; CPU:$AC82 PRG:2C82 A5 4B - sta Zp1A ; CPU:$AC84 PRG:2C84 85 1A + sta PlayerYHigh ; CPU:$AC80 PRG:2C80 85 1C + lda DispatchPtrHi ; CPU:$AC82 PRG:2C82 A5 4B + sta PlayerXLow ; CPU:$AC84 PRG:2C84 85 1A jmp Sub_8221 ; CPU:$AC86 PRG:2C86 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AC89 @@ -10491,122 +11426,122 @@ IrqHandler_Loop431: ; ----------------------------------------------------------------------------- Sub_AC89: lda $0710,x ; CPU:$AC89 PRG:2C89 BD 10 07 - beq IrqHandler_Loop432 ; CPU:$AC8C PRG:2C8C F0 03 + beq IrqHandler_Loop471 ; CPU:$AC8C PRG:2C8C F0 03 jmp Sub_B460 ; CPU:$AC8E PRG:2C8E 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop432 -; Global: Branch target inside IrqHandler: taken when Loop432. +; Routine: IrqHandler_Loop471 +; Global: Branch target inside IrqHandler: taken when Loop471. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop432: +IrqHandler_Loop471: jsr Sub_B234 ; CPU:$AC91 PRG:2C91 20 34 B2 jsr Sub_B16A ; CPU:$AC94 PRG:2C94 20 6A B1 lda $0713,x ; CPU:$AC97 PRG:2C97 BD 13 07 cmp #$FF ; CPU:$AC9A PRG:2C9A C9 FF - beq IrqHandler_Loop433 ; CPU:$AC9C PRG:2C9C F0 03 + beq IrqHandler_Loop472 ; CPU:$AC9C PRG:2C9C F0 03 inc $0713,x ; CPU:$AC9E PRG:2C9E FE 13 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop433 -; Global: Branch target inside IrqHandler: taken when Loop433. +; Routine: IrqHandler_Loop472 +; Global: Branch target inside IrqHandler: taken when Loop472. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop433: +IrqHandler_Loop472: lda $0501 ; CPU:$ACA1 PRG:2CA1 AD 01 05 cmp $0701,x ; CPU:$ACA4 PRG:2CA4 DD 01 07 - bcs IrqHandler_Loop434 ; CPU:$ACA7 PRG:2CA7 B0 09 + bcs IrqHandler_Loop473 ; CPU:$ACA7 PRG:2CA7 B0 09 dec $0701,x ; CPU:$ACA9 PRG:2CA9 DE 01 07 dec $0701,x ; CPU:$ACAC PRG:2CAC DE 01 07 - jmp IrqHandler_Loop434 ; CPU:$ACAF PRG:2CAF 4C B2 AC + jmp IrqHandler_Loop473 ; CPU:$ACAF PRG:2CAF 4C B2 AC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop434 -; Global: Branch target inside IrqHandler: taken when Loop434. +; Routine: IrqHandler_Loop473 +; Global: Branch target inside IrqHandler: taken when Loop473. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop434: +IrqHandler_Loop473: lda $0713,x ; CPU:$ACB2 PRG:2CB2 BD 13 07 cmp #$FF ; CPU:$ACB5 PRG:2CB5 C9 FF - beq IrqHandler_Loop435 ; CPU:$ACB7 PRG:2CB7 F0 03 + beq IrqHandler_Loop474 ; CPU:$ACB7 PRG:2CB7 F0 03 jsr Sub_A26F ; CPU:$ACB9 PRG:2CB9 20 6F A2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop435 -; Global: Branch target inside IrqHandler: taken when Loop435. +; Routine: IrqHandler_Loop474 +; Global: Branch target inside IrqHandler: taken when Loop474. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop435: - lda Zp54 ; CPU:$ACBC PRG:2CBC A5 54 +IrqHandler_Loop474: + lda FrameCounter ; CPU:$ACBC PRG:2CBC A5 54 and #$03 ; CPU:$ACBE PRG:2CBE 29 03 - bne IrqHandler_Loop436 ; CPU:$ACC0 PRG:2CC0 D0 03 + bne IrqHandler_Loop475 ; CPU:$ACC0 PRG:2CC0 D0 03 jsr Sub_A3D1 ; CPU:$ACC2 PRG:2CC2 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop436 -; Global: Branch target inside IrqHandler: taken when Loop436. +; Routine: IrqHandler_Loop475 +; Global: Branch target inside IrqHandler: taken when Loop475. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop436: +IrqHandler_Loop475: lda $0706,x ; CPU:$ACC5 PRG:2CC5 BD 06 07 asl a ; CPU:$ACC8 PRG:2CC8 0A - bcs IrqHandler_Loop437 ; CPU:$ACC9 PRG:2CC9 B0 0D + bcs IrqHandler_Loop476 ; CPU:$ACC9 PRG:2CC9 B0 0D lda $0702,x ; CPU:$ACCB PRG:2CCB BD 02 07 cmp #$04 ; CPU:$ACCE PRG:2CCE C9 04 - bcs IrqHandler_Loop438 ; CPU:$ACD0 PRG:2CD0 B0 13 + bcs IrqHandler_Loop477 ; CPU:$ACD0 PRG:2CD0 B0 13 lda #$00 ; CPU:$ACD2 PRG:2CD2 A9 00 sta $0706,x ; CPU:$ACD4 PRG:2CD4 9D 06 07 rts ; CPU:$ACD7 PRG:2CD7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop437 -; Global: Branch target inside IrqHandler: taken when Loop437. +; Routine: IrqHandler_Loop476 +; Global: Branch target inside IrqHandler: taken when Loop476. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop437: +IrqHandler_Loop476: lda $0702,x ; CPU:$ACD8 PRG:2CD8 BD 02 07 cmp #$FB ; CPU:$ACDB PRG:2CDB C9 FB - bcc IrqHandler_Loop438 ; CPU:$ACDD PRG:2CDD 90 06 + bcc IrqHandler_Loop477 ; CPU:$ACDD PRG:2CDD 90 06 lda #$00 ; CPU:$ACDF PRG:2CDF A9 00 sta $0706,x ; CPU:$ACE1 PRG:2CE1 9D 06 07 rts ; CPU:$ACE4 PRG:2CE4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop438 -; Global: Branch target inside IrqHandler: taken when Loop438. +; Routine: IrqHandler_Loop477 +; Global: Branch target inside IrqHandler: taken when Loop477. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop438: +IrqHandler_Loop477: lda $0713,x ; CPU:$ACE5 PRG:2CE5 BD 13 07 cmp #$FF ; CPU:$ACE8 PRG:2CE8 C9 FF - bne IrqHandler_Loop439 ; CPU:$ACEA PRG:2CEA D0 0C + bne IrqHandler_Loop478 ; CPU:$ACEA PRG:2CEA D0 0C dec $0702,x ; CPU:$ACEC PRG:2CEC DE 02 07 dec $0702,x ; CPU:$ACEF PRG:2CEF DE 02 07 dec $0702,x ; CPU:$ACF2 PRG:2CF2 DE 02 07 jmp Sub_AD01 ; CPU:$ACF5 PRG:2CF5 4C 01 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop439 -; Global: Branch target inside IrqHandler: taken when Loop439. +; Routine: IrqHandler_Loop478 +; Global: Branch target inside IrqHandler: taken when Loop478. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop439: +IrqHandler_Loop478: lda $0702,x ; CPU:$ACF8 PRG:2CF8 BD 02 07 sec ; CPU:$ACFB PRG:2CFB 38 sbc #$02 ; CPU:$ACFC PRG:2CFC E9 02 @@ -10622,79 +11557,79 @@ IrqHandler_Loop439: Sub_AD01: lda $0706,x ; CPU:$AD01 PRG:2D01 BD 06 07 asl a ; CPU:$AD04 PRG:2D04 0A - bcs IrqHandler_Loop442 ; CPU:$AD05 PRG:2D05 B0 30 + bcs IrqHandler_Loop481 ; CPU:$AD05 PRG:2D05 B0 30 lda $0502 ; CPU:$AD07 PRG:2D07 AD 02 05 cmp #$60 ; CPU:$AD0A PRG:2D0A C9 60 - bcc IrqHandler_Loop442 ; CPU:$AD0C PRG:2D0C 90 29 + bcc IrqHandler_Loop481 ; CPU:$AD0C PRG:2D0C 90 29 lda $0703,x ; CPU:$AD0E PRG:2D0E BD 03 07 sec ; CPU:$AD11 PRG:2D11 38 sbc $0502 ; CPU:$AD12 PRG:2D12 ED 02 05 - bmi IrqHandler_Loop440 ; CPU:$AD15 PRG:2D15 30 04 + bmi IrqHandler_Loop479 ; CPU:$AD15 PRG:2D15 30 04 cmp #$10 ; CPU:$AD17 PRG:2D17 C9 10 - bcc IrqHandler_Loop442 ; CPU:$AD19 PRG:2D19 90 1C + bcc IrqHandler_Loop481 ; CPU:$AD19 PRG:2D19 90 1C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop440 -; Global: Branch target inside IrqHandler: taken when Loop440. +; Routine: IrqHandler_Loop479 +; Global: Branch target inside IrqHandler: taken when Loop479. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop440: +IrqHandler_Loop479: lda $0502 ; CPU:$AD1B PRG:2D1B AD 02 05 sec ; CPU:$AD1E PRG:2D1E 38 sbc $0703,x ; CPU:$AD1F PRG:2D1F FD 03 07 cmp #$10 ; CPU:$AD22 PRG:2D22 C9 10 - bcc IrqHandler_Loop442 ; CPU:$AD24 PRG:2D24 90 11 + bcc IrqHandler_Loop481 ; CPU:$AD24 PRG:2D24 90 11 lda $0703,x ; CPU:$AD26 PRG:2D26 BD 03 07 cmp $0502 ; CPU:$AD29 PRG:2D29 CD 02 05 - bcs IrqHandler_Loop441 ; CPU:$AD2C PRG:2D2C B0 06 + bcs IrqHandler_Loop480 ; CPU:$AD2C PRG:2D2C B0 06 inc $0703,x ; CPU:$AD2E PRG:2D2E FE 03 07 - jmp IrqHandler_Loop442 ; CPU:$AD31 PRG:2D31 4C 37 AD + jmp IrqHandler_Loop481 ; CPU:$AD31 PRG:2D31 4C 37 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop441 -; Global: Branch target inside IrqHandler: taken when Loop441. +; Routine: IrqHandler_Loop480 +; Global: Branch target inside IrqHandler: taken when Loop480. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop441: +IrqHandler_Loop480: dec $0703,x ; CPU:$AD34 PRG:2D34 DE 03 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop442 -; Global: Branch target inside IrqHandler: taken when Loop442. +; Routine: IrqHandler_Loop481 +; Global: Branch target inside IrqHandler: taken when Loop481. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop442: +IrqHandler_Loop481: lda $0700,x ; CPU:$AD37 PRG:2D37 BD 00 07 - sta Zp19 ; CPU:$AD3A PRG:2D3A 85 19 + sta PlayerXHigh ; CPU:$AD3A PRG:2D3A 85 19 lda $0702,x ; CPU:$AD3C PRG:2D3C BD 02 07 - sta Zp1C ; CPU:$AD3F PRG:2D3F 85 1C + sta PlayerYHigh ; CPU:$AD3F PRG:2D3F 85 1C lda #$B6 ; CPU:$AD41 PRG:2D41 A9 B6 - sta Zp1A ; CPU:$AD43 PRG:2D43 85 1A + sta PlayerXLow ; CPU:$AD43 PRG:2D43 85 1A lda #$00 ; CPU:$AD45 PRG:2D45 A9 00 - sta Zp1B ; CPU:$AD47 PRG:2D47 85 1B + sta PlayerYLow ; CPU:$AD47 PRG:2D47 85 1B jsr Sub_8221 ; CPU:$AD49 PRG:2D49 20 21 82 - lda Zp1C ; CPU:$AD4C PRG:2D4C A5 1C + lda PlayerYHigh ; CPU:$AD4C PRG:2D4C A5 1C clc ; CPU:$AD4E PRG:2D4E 18 adc #$08 ; CPU:$AD4F PRG:2D4F 69 08 - sta Zp1C ; CPU:$AD51 PRG:2D51 85 1C - lda Zp19 ; CPU:$AD53 PRG:2D53 A5 19 + sta PlayerYHigh ; CPU:$AD51 PRG:2D51 85 1C + lda PlayerXHigh ; CPU:$AD53 PRG:2D53 A5 19 clc ; CPU:$AD55 PRG:2D55 18 adc #$08 ; CPU:$AD56 PRG:2D56 69 08 - sta Zp19 ; CPU:$AD58 PRG:2D58 85 19 + sta PlayerXHigh ; CPU:$AD58 PRG:2D58 85 19 lda #$C7 ; CPU:$AD5A PRG:2D5A A9 C7 - sta Zp1A ; CPU:$AD5C PRG:2D5C 85 1A + sta PlayerXLow ; CPU:$AD5C PRG:2D5C 85 1A jsr Sub_8221 ; CPU:$AD5E PRG:2D5E 20 21 82 - lda Zp1C ; CPU:$AD61 PRG:2D61 A5 1C + lda PlayerYHigh ; CPU:$AD61 PRG:2D61 A5 1C sec ; CPU:$AD63 PRG:2D63 38 sbc #$08 ; CPU:$AD64 PRG:2D64 E9 08 - sta Zp1C ; CPU:$AD66 PRG:2D66 85 1C - dec Zp1A ; CPU:$AD68 PRG:2D68 C6 1A + sta PlayerYHigh ; CPU:$AD66 PRG:2D66 85 1C + dec PlayerXLow ; CPU:$AD68 PRG:2D68 C6 1A jmp Sub_8221 ; CPU:$AD6A PRG:2D6A 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AD6D @@ -10706,37 +11641,37 @@ IrqHandler_Loop442: ; ----------------------------------------------------------------------------- Sub_AD6D: lda $0710,x ; CPU:$AD6D PRG:2D6D BD 10 07 - beq IrqHandler_Loop443 ; CPU:$AD70 PRG:2D70 F0 03 + beq IrqHandler_Loop482 ; CPU:$AD70 PRG:2D70 F0 03 jmp Sub_B460 ; CPU:$AD72 PRG:2D72 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop443 -; Global: Branch target inside IrqHandler: taken when Loop443. +; Routine: IrqHandler_Loop482 +; Global: Branch target inside IrqHandler: taken when Loop482. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop443: +IrqHandler_Loop482: jsr Sub_B234 ; CPU:$AD75 PRG:2D75 20 34 B2 jsr Sub_B16A ; CPU:$AD78 PRG:2D78 20 6A B1 lda $0708,x ; CPU:$AD7B PRG:2D7B BD 08 07 and #$3F ; CPU:$AD7E PRG:2D7E 29 3F cmp #$18 ; CPU:$AD80 PRG:2D80 C9 18 - bne IrqHandler_Loop444 ; CPU:$AD82 PRG:2D82 D0 0C + bne IrqHandler_Loop483 ; CPU:$AD82 PRG:2D82 D0 0C lda $0701,x ; CPU:$AD84 PRG:2D84 BD 01 07 sec ; CPU:$AD87 PRG:2D87 38 sbc #$02 ; CPU:$AD88 PRG:2D88 E9 02 sta $0701,x ; CPU:$AD8A PRG:2D8A 9D 01 07 jmp Sub_AD99 ; CPU:$AD8D PRG:2D8D 4C 99 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop444 -; Global: Branch target inside IrqHandler: taken when Loop444. +; Routine: IrqHandler_Loop483 +; Global: Branch target inside IrqHandler: taken when Loop483. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop444: +IrqHandler_Loop483: lda $0701,x ; CPU:$AD90 PRG:2D90 BD 01 07 sec ; CPU:$AD93 PRG:2D93 38 sbc #$04 ; CPU:$AD94 PRG:2D94 E9 04 @@ -10751,52 +11686,52 @@ IrqHandler_Loop444: ; ----------------------------------------------------------------------------- Sub_AD99: jsr Sub_A26F ; CPU:$AD99 PRG:2D99 20 6F A2 - lda Zp54 ; CPU:$AD9C PRG:2D9C A5 54 + lda FrameCounter ; CPU:$AD9C PRG:2D9C A5 54 lsr a ; CPU:$AD9E PRG:2D9E 4A - bcs IrqHandler_Loop445 ; CPU:$AD9F PRG:2D9F B0 03 + bcs IrqHandler_Loop484 ; CPU:$AD9F PRG:2D9F B0 03 jsr Sub_A3D1 ; CPU:$ADA1 PRG:2DA1 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop445 -; Global: Branch target inside IrqHandler: taken when Loop445. +; Routine: IrqHandler_Loop484 +; Global: Branch target inside IrqHandler: taken when Loop484. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop445: +IrqHandler_Loop484: lda $0702,x ; CPU:$ADA4 PRG:2DA4 BD 02 07 cmp #$04 ; CPU:$ADA7 PRG:2DA7 C9 04 - bcs IrqHandler_Loop446 ; CPU:$ADA9 PRG:2DA9 B0 06 + bcs IrqHandler_Loop485 ; CPU:$ADA9 PRG:2DA9 B0 06 lda #$00 ; CPU:$ADAB PRG:2DAB A9 00 sta $0706,x ; CPU:$ADAD PRG:2DAD 9D 06 07 rts ; CPU:$ADB0 PRG:2DB0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop446 -; Global: Branch target inside IrqHandler: taken when Loop446. +; Routine: IrqHandler_Loop485 +; Global: Branch target inside IrqHandler: taken when Loop485. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop446: +IrqHandler_Loop485: lda $0708,x ; CPU:$ADB1 PRG:2DB1 BD 08 07 and #$3F ; CPU:$ADB4 PRG:2DB4 29 3F cmp #$1E ; CPU:$ADB6 PRG:2DB6 C9 1E - bne IrqHandler_Loop447 ; CPU:$ADB8 PRG:2DB8 D0 0C + bne IrqHandler_Loop486 ; CPU:$ADB8 PRG:2DB8 D0 0C lda $0702,x ; CPU:$ADBA PRG:2DBA BD 02 07 sec ; CPU:$ADBD PRG:2DBD 38 sbc #$02 ; CPU:$ADBE PRG:2DBE E9 02 sta $0702,x ; CPU:$ADC0 PRG:2DC0 9D 02 07 jmp Sub_ADCF ; CPU:$ADC3 PRG:2DC3 4C CF AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop447 -; Global: Branch target inside IrqHandler: taken when Loop447. +; Routine: IrqHandler_Loop486 +; Global: Branch target inside IrqHandler: taken when Loop486. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop447: +IrqHandler_Loop486: lda $0702,x ; CPU:$ADC6 PRG:2DC6 BD 02 07 sec ; CPU:$ADC9 PRG:2DC9 38 sbc #$04 ; CPU:$ADCA PRG:2DCA E9 04 @@ -10813,96 +11748,96 @@ Sub_ADCF: lda $0708,x ; CPU:$ADCF PRG:2DCF BD 08 07 and #$3F ; CPU:$ADD2 PRG:2DD2 29 3F cmp #$38 ; CPU:$ADD4 PRG:2DD4 C9 38 - beq IrqHandler_Loop450 ; CPU:$ADD6 PRG:2DD6 F0 4A + beq IrqHandler_Loop489 ; CPU:$ADD6 PRG:2DD6 F0 4A lda $0700,x ; CPU:$ADD8 PRG:2DD8 BD 00 07 - sta Zp19 ; CPU:$ADDB PRG:2DDB 85 19 + sta PlayerXHigh ; CPU:$ADDB PRG:2DDB 85 19 lda $0702,x ; CPU:$ADDD PRG:2DDD BD 02 07 - sta Zp1C ; CPU:$ADE0 PRG:2DE0 85 1C + sta PlayerYHigh ; CPU:$ADE0 PRG:2DE0 85 1C lda #$97 ; CPU:$ADE2 PRG:2DE2 A9 97 - sta Zp1A ; CPU:$ADE4 PRG:2DE4 85 1A + sta PlayerXLow ; CPU:$ADE4 PRG:2DE4 85 1A lda #$03 ; CPU:$ADE6 PRG:2DE6 A9 03 - sta Zp1B ; CPU:$ADE8 PRG:2DE8 85 1B + sta PlayerYLow ; CPU:$ADE8 PRG:2DE8 85 1B jsr Sub_8221 ; CPU:$ADEA PRG:2DEA 20 21 82 - lda Zp1C ; CPU:$ADED PRG:2DED A5 1C + lda PlayerYHigh ; CPU:$ADED PRG:2DED A5 1C clc ; CPU:$ADEF PRG:2DEF 18 adc #$08 ; CPU:$ADF0 PRG:2DF0 69 08 - sta Zp1C ; CPU:$ADF2 PRG:2DF2 85 1C - inc Zp1A ; CPU:$ADF4 PRG:2DF4 E6 1A + sta PlayerYHigh ; CPU:$ADF2 PRG:2DF2 85 1C + inc PlayerXLow ; CPU:$ADF4 PRG:2DF4 E6 1A jsr Sub_8221 ; CPU:$ADF6 PRG:2DF6 20 21 82 - lda Zp19 ; CPU:$ADF9 PRG:2DF9 A5 19 + lda PlayerXHigh ; CPU:$ADF9 PRG:2DF9 A5 19 clc ; CPU:$ADFB PRG:2DFB 18 adc #$08 ; CPU:$ADFC PRG:2DFC 69 08 - sta Zp19 ; CPU:$ADFE PRG:2DFE 85 19 + sta PlayerXHigh ; CPU:$ADFE PRG:2DFE 85 19 lda #$A8 ; CPU:$AE00 PRG:2E00 A9 A8 - sta Zp1A ; CPU:$AE02 PRG:2E02 85 1A + sta PlayerXLow ; CPU:$AE02 PRG:2E02 85 1A jsr Sub_8221 ; CPU:$AE04 PRG:2E04 20 21 82 lda $06CE ; CPU:$AE07 PRG:2E07 AD CE 06 cmp #$06 ; CPU:$AE0A PRG:2E0A C9 06 - bcs IrqHandler_Loop448 ; CPU:$AE0C PRG:2E0C B0 06 + bcs IrqHandler_Loop487 ; CPU:$AE0C PRG:2E0C B0 06 lda #$B7 ; CPU:$AE0E PRG:2E0E A9 B7 - sta Zp1A ; CPU:$AE10 PRG:2E10 85 1A - bne IrqHandler_Loop449 ; CPU:$AE12 PRG:2E12 D0 04 + sta PlayerXLow ; CPU:$AE10 PRG:2E10 85 1A + bne IrqHandler_Loop488 ; CPU:$AE12 PRG:2E12 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop448 -; Global: Branch target inside IrqHandler: taken when Loop448. +; Routine: IrqHandler_Loop487 +; Global: Branch target inside IrqHandler: taken when Loop487. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop448: +IrqHandler_Loop487: lda #$A7 ; CPU:$AE14 PRG:2E14 A9 A7 - sta Zp1A ; CPU:$AE16 PRG:2E16 85 1A + sta PlayerXLow ; CPU:$AE16 PRG:2E16 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop449 -; Global: Branch target inside IrqHandler: taken when Loop449. +; Routine: IrqHandler_Loop488 +; Global: Branch target inside IrqHandler: taken when Loop488. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop449: - lda Zp1C ; CPU:$AE18 PRG:2E18 A5 1C +IrqHandler_Loop488: + lda PlayerYHigh ; CPU:$AE18 PRG:2E18 A5 1C sec ; CPU:$AE1A PRG:2E1A 38 sbc #$08 ; CPU:$AE1B PRG:2E1B E9 08 - sta Zp1C ; CPU:$AE1D PRG:2E1D 85 1C + sta PlayerYHigh ; CPU:$AE1D PRG:2E1D 85 1C jmp Sub_8221 ; CPU:$AE1F PRG:2E1F 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop450 -; Global: Branch target inside IrqHandler: taken when Loop450. +; Routine: IrqHandler_Loop489 +; Global: Branch target inside IrqHandler: taken when Loop489. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop450: +IrqHandler_Loop489: lda $0700,x ; CPU:$AE22 PRG:2E22 BD 00 07 - sta Zp19 ; CPU:$AE25 PRG:2E25 85 19 + sta PlayerXHigh ; CPU:$AE25 PRG:2E25 85 19 lda $0702,x ; CPU:$AE27 PRG:2E27 BD 02 07 - sta Zp1C ; CPU:$AE2A PRG:2E2A 85 1C + sta PlayerYHigh ; CPU:$AE2A PRG:2E2A 85 1C lda #$E0 ; CPU:$AE2C PRG:2E2C A9 E0 - sta Zp1A ; CPU:$AE2E PRG:2E2E 85 1A + sta PlayerXLow ; CPU:$AE2E PRG:2E2E 85 1A lda #$03 ; CPU:$AE30 PRG:2E30 A9 03 - sta Zp1B ; CPU:$AE32 PRG:2E32 85 1B + sta PlayerYLow ; CPU:$AE32 PRG:2E32 85 1B jsr Sub_8221 ; CPU:$AE34 PRG:2E34 20 21 82 - lda Zp1C ; CPU:$AE37 PRG:2E37 A5 1C + lda PlayerYHigh ; CPU:$AE37 PRG:2E37 A5 1C clc ; CPU:$AE39 PRG:2E39 18 adc #$08 ; CPU:$AE3A PRG:2E3A 69 08 - sta Zp1C ; CPU:$AE3C PRG:2E3C 85 1C - inc Zp1A ; CPU:$AE3E PRG:2E3E E6 1A + sta PlayerYHigh ; CPU:$AE3C PRG:2E3C 85 1C + inc PlayerXLow ; CPU:$AE3E PRG:2E3E E6 1A jsr Sub_8221 ; CPU:$AE40 PRG:2E40 20 21 82 - lda Zp19 ; CPU:$AE43 PRG:2E43 A5 19 + lda PlayerXHigh ; CPU:$AE43 PRG:2E43 A5 19 clc ; CPU:$AE45 PRG:2E45 18 adc #$08 ; CPU:$AE46 PRG:2E46 69 08 - sta Zp19 ; CPU:$AE48 PRG:2E48 85 19 + sta PlayerXHigh ; CPU:$AE48 PRG:2E48 85 19 lda #$E4 ; CPU:$AE4A PRG:2E4A A9 E4 - sta Zp1A ; CPU:$AE4C PRG:2E4C 85 1A + sta PlayerXLow ; CPU:$AE4C PRG:2E4C 85 1A jsr Sub_8221 ; CPU:$AE4E PRG:2E4E 20 21 82 - lda Zp1C ; CPU:$AE51 PRG:2E51 A5 1C + lda PlayerYHigh ; CPU:$AE51 PRG:2E51 A5 1C sec ; CPU:$AE53 PRG:2E53 38 sbc #$08 ; CPU:$AE54 PRG:2E54 E9 08 - sta Zp1C ; CPU:$AE56 PRG:2E56 85 1C - dec Zp1A ; CPU:$AE58 PRG:2E58 C6 1A + sta PlayerYHigh ; CPU:$AE56 PRG:2E56 85 1C + dec PlayerXLow ; CPU:$AE58 PRG:2E58 C6 1A jmp Sub_8221 ; CPU:$AE5A PRG:2E5A 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AE5D @@ -10914,17 +11849,17 @@ IrqHandler_Loop450: ; ----------------------------------------------------------------------------- Sub_AE5D: lda $0710,x ; CPU:$AE5D PRG:2E5D BD 10 07 - beq IrqHandler_Loop451 ; CPU:$AE60 PRG:2E60 F0 03 + beq IrqHandler_Loop490 ; CPU:$AE60 PRG:2E60 F0 03 jmp Sub_B460 ; CPU:$AE62 PRG:2E62 4C 60 B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop451 -; Global: Branch target inside IrqHandler: taken when Loop451. +; Routine: IrqHandler_Loop490 +; Global: Branch target inside IrqHandler: taken when Loop490. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop451: +IrqHandler_Loop490: jsr Sub_B29D ; CPU:$AE65 PRG:2E65 20 9D B2 jsr Sub_B0A0 ; CPU:$AE68 PRG:2E68 20 A0 B0 lda $0708,x ; CPU:$AE6B PRG:2E6B BD 08 07 @@ -10932,83 +11867,83 @@ IrqHandler_Loop451: sta $0708,x ; CPU:$AE70 PRG:2E70 9D 08 07 dec $0701,x ; CPU:$AE73 PRG:2E73 DE 01 07 jsr Sub_A26F ; CPU:$AE76 PRG:2E76 20 6F A2 - lda Zp54 ; CPU:$AE79 PRG:2E79 A5 54 + lda FrameCounter ; CPU:$AE79 PRG:2E79 A5 54 lsr a ; CPU:$AE7B PRG:2E7B 4A - bcs IrqHandler_Loop452 ; CPU:$AE7C PRG:2E7C B0 03 + bcs IrqHandler_Loop491 ; CPU:$AE7C PRG:2E7C B0 03 jsr Sub_A3D1 ; CPU:$AE7E PRG:2E7E 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop452 -; Global: Branch target inside IrqHandler: taken when Loop452. +; Routine: IrqHandler_Loop491 +; Global: Branch target inside IrqHandler: taken when Loop491. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop452: +IrqHandler_Loop491: lda $0700,x ; CPU:$AE81 PRG:2E81 BD 00 07 cmp #$04 ; CPU:$AE84 PRG:2E84 C9 04 - bcs IrqHandler_Loop453 ; CPU:$AE86 PRG:2E86 B0 06 + bcs IrqHandler_Loop492 ; CPU:$AE86 PRG:2E86 B0 06 lda #$00 ; CPU:$AE88 PRG:2E88 A9 00 sta $0706,x ; CPU:$AE8A PRG:2E8A 9D 06 07 rts ; CPU:$AE8D PRG:2E8D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop453 -; Global: Branch target inside IrqHandler: taken when Loop453. +; Routine: IrqHandler_Loop492 +; Global: Branch target inside IrqHandler: taken when Loop492. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop453: +IrqHandler_Loop492: lda $0702,x ; CPU:$AE8E PRG:2E8E BD 02 07 sec ; CPU:$AE91 PRG:2E91 38 sbc #$02 ; CPU:$AE92 PRG:2E92 E9 02 sta $0702,x ; CPU:$AE94 PRG:2E94 9D 02 07 lda $06CE ; CPU:$AE97 PRG:2E97 AD CE 06 cmp #$06 ; CPU:$AE9A PRG:2E9A C9 06 - bcs IrqHandler_Loop454 ; CPU:$AE9C PRG:2E9C B0 0A + bcs IrqHandler_Loop493 ; CPU:$AE9C PRG:2E9C B0 0A lda #$86 ; CPU:$AE9E PRG:2E9E A9 86 - sta Zp4A ; CPU:$AEA0 PRG:2EA0 85 4A + sta DispatchPtrLo ; CPU:$AEA0 PRG:2EA0 85 4A lda #$87 ; CPU:$AEA2 PRG:2EA2 A9 87 - sta Zp4B ; CPU:$AEA4 PRG:2EA4 85 4B - bne IrqHandler_Loop455 ; CPU:$AEA6 PRG:2EA6 D0 08 + sta DispatchPtrHi ; CPU:$AEA4 PRG:2EA4 85 4B + bne IrqHandler_Loop494 ; CPU:$AEA6 PRG:2EA6 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop454 -; Global: Branch target inside IrqHandler: taken when Loop454. +; Routine: IrqHandler_Loop493 +; Global: Branch target inside IrqHandler: taken when Loop493. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop454: +IrqHandler_Loop493: lda #$82 ; CPU:$AEA8 PRG:2EA8 A9 82 - sta Zp4A ; CPU:$AEAA PRG:2EAA 85 4A + sta DispatchPtrLo ; CPU:$AEAA PRG:2EAA 85 4A lda #$83 ; CPU:$AEAC PRG:2EAC A9 83 - sta Zp4B ; CPU:$AEAE PRG:2EAE 85 4B + sta DispatchPtrHi ; CPU:$AEAE PRG:2EAE 85 4B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop455 -; Global: Branch target inside IrqHandler: taken when Loop455. +; Routine: IrqHandler_Loop494 +; Global: Branch target inside IrqHandler: taken when Loop494. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop455: +IrqHandler_Loop494: lda $0700,x ; CPU:$AEB0 PRG:2EB0 BD 00 07 - sta Zp19 ; CPU:$AEB3 PRG:2EB3 85 19 + sta PlayerXHigh ; CPU:$AEB3 PRG:2EB3 85 19 lda $0702,x ; CPU:$AEB5 PRG:2EB5 BD 02 07 - sta Zp1C ; CPU:$AEB8 PRG:2EB8 85 1C - lda Zp4A ; CPU:$AEBA PRG:2EBA A5 4A - sta Zp1A ; CPU:$AEBC PRG:2EBC 85 1A + sta PlayerYHigh ; CPU:$AEB8 PRG:2EB8 85 1C + lda DispatchPtrLo ; CPU:$AEBA PRG:2EBA A5 4A + sta PlayerXLow ; CPU:$AEBC PRG:2EBC 85 1A lda #$03 ; CPU:$AEBE PRG:2EBE A9 03 - sta Zp1B ; CPU:$AEC0 PRG:2EC0 85 1B + sta PlayerYLow ; CPU:$AEC0 PRG:2EC0 85 1B jsr Sub_8221 ; CPU:$AEC2 PRG:2EC2 20 21 82 - lda Zp1C ; CPU:$AEC5 PRG:2EC5 A5 1C + lda PlayerYHigh ; CPU:$AEC5 PRG:2EC5 A5 1C clc ; CPU:$AEC7 PRG:2EC7 18 adc #$08 ; CPU:$AEC8 PRG:2EC8 69 08 - sta Zp1C ; CPU:$AECA PRG:2ECA 85 1C - lda Zp4B ; CPU:$AECC PRG:2ECC A5 4B - sta Zp1A ; CPU:$AECE PRG:2ECE 85 1A + sta PlayerYHigh ; CPU:$AECA PRG:2ECA 85 1C + lda DispatchPtrHi ; CPU:$AECC PRG:2ECC A5 4B + sta PlayerXLow ; CPU:$AECE PRG:2ECE 85 1A jmp Sub_8221 ; CPU:$AED0 PRG:2ED0 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_AED3 @@ -11022,182 +11957,182 @@ Sub_AED3: jsr Sub_B0A0 ; CPU:$AED3 PRG:2ED3 20 A0 B0 lda $0706,x ; CPU:$AED6 PRG:2ED6 BD 06 07 asl a ; CPU:$AED9 PRG:2ED9 0A - bcs IrqHandler_Loop457 ; CPU:$AEDA PRG:2EDA B0 1C + bcs IrqHandler_Loop496 ; CPU:$AEDA PRG:2EDA B0 1C lda $0501 ; CPU:$AEDC PRG:2EDC AD 01 05 cmp #$20 ; CPU:$AEDF PRG:2EDF C9 20 - bcc IrqHandler_Loop456 ; CPU:$AEE1 PRG:2EE1 90 0D + bcc IrqHandler_Loop495 ; CPU:$AEE1 PRG:2EE1 90 0D lda $0501 ; CPU:$AEE3 PRG:2EE3 AD 01 05 sec ; CPU:$AEE6 PRG:2EE6 38 sbc #$10 ; CPU:$AEE7 PRG:2EE7 E9 10 cmp $0701,x ; CPU:$AEE9 PRG:2EE9 DD 01 07 - bcc IrqHandler_Loop459 ; CPU:$AEEC PRG:2EEC 90 20 - bcs IrqHandler_Loop457 ; CPU:$AEEE PRG:2EEE B0 08 + bcc IrqHandler_Loop498 ; CPU:$AEEC PRG:2EEC 90 20 + bcs IrqHandler_Loop496 ; CPU:$AEEE PRG:2EEE B0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop456 -; Global: Branch target inside IrqHandler: taken when Loop456. +; Routine: IrqHandler_Loop495 +; Global: Branch target inside IrqHandler: taken when Loop495. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop456: +IrqHandler_Loop495: lda $0701,x ; CPU:$AEF0 PRG:2EF0 BD 01 07 cmp $0501 ; CPU:$AEF3 PRG:2EF3 CD 01 05 - bcs IrqHandler_Loop459 ; CPU:$AEF6 PRG:2EF6 B0 16 + bcs IrqHandler_Loop498 ; CPU:$AEF6 PRG:2EF6 B0 16 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop457 -; Global: Branch target inside IrqHandler: taken when Loop457. +; Routine: IrqHandler_Loop496 +; Global: Branch target inside IrqHandler: taken when Loop496. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop457: +IrqHandler_Loop496: inc $0701,x ; CPU:$AEF8 PRG:2EF8 FE 01 07 - lda Zp54 ; CPU:$AEFB PRG:2EFB A5 54 + lda FrameCounter ; CPU:$AEFB PRG:2EFB A5 54 lsr a ; CPU:$AEFD PRG:2EFD 4A - bcc IrqHandler_Loop458 ; CPU:$AEFE PRG:2EFE 90 03 + bcc IrqHandler_Loop497 ; CPU:$AEFE PRG:2EFE 90 03 inc $0701,x ; CPU:$AF00 PRG:2F00 FE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop458 -; Global: Branch target inside IrqHandler: taken when Loop458. +; Routine: IrqHandler_Loop497 +; Global: Branch target inside IrqHandler: taken when Loop497. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop458: +IrqHandler_Loop497: lda $0706,x ; CPU:$AF03 PRG:2F03 BD 06 07 ora #$80 ; CPU:$AF06 PRG:2F06 09 80 sta $0706,x ; CPU:$AF08 PRG:2F08 9D 06 07 - jmp IrqHandler_Loop460 ; CPU:$AF0B PRG:2F0B 4C 19 AF + jmp IrqHandler_Loop499 ; CPU:$AF0B PRG:2F0B 4C 19 AF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop459 -; Global: Branch target inside IrqHandler: taken when Loop459. +; Routine: IrqHandler_Loop498 +; Global: Branch target inside IrqHandler: taken when Loop498. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop459: +IrqHandler_Loop498: dec $0701,x ; CPU:$AF0E PRG:2F0E DE 01 07 - lda Zp54 ; CPU:$AF11 PRG:2F11 A5 54 + lda FrameCounter ; CPU:$AF11 PRG:2F11 A5 54 lsr a ; CPU:$AF13 PRG:2F13 4A - bcc IrqHandler_Loop460 ; CPU:$AF14 PRG:2F14 90 03 + bcc IrqHandler_Loop499 ; CPU:$AF14 PRG:2F14 90 03 dec $0701,x ; CPU:$AF16 PRG:2F16 DE 01 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop460 -; Global: Branch target inside IrqHandler: taken when Loop460. +; Routine: IrqHandler_Loop499 +; Global: Branch target inside IrqHandler: taken when Loop499. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop460: +IrqHandler_Loop499: jsr Sub_A26F ; CPU:$AF19 PRG:2F19 20 6F A2 lda $06CE ; CPU:$AF1C PRG:2F1C AD CE 06 - bne IrqHandler_Loop463 ; CPU:$AF1F PRG:2F1F D0 12 + bne IrqHandler_Loop502 ; CPU:$AF1F PRG:2F1F D0 12 lda $070C,x ; CPU:$AF21 PRG:2F21 BD 0C 07 - bmi IrqHandler_Loop461 ; CPU:$AF24 PRG:2F24 30 06 + bmi IrqHandler_Loop500 ; CPU:$AF24 PRG:2F24 30 06 cmp #$03 ; CPU:$AF26 PRG:2F26 C9 03 - bcs IrqHandler_Loop463 ; CPU:$AF28 PRG:2F28 B0 09 - bcc IrqHandler_Loop462 ; CPU:$AF2A PRG:2F2A 90 04 + bcs IrqHandler_Loop502 ; CPU:$AF28 PRG:2F28 B0 09 + bcc IrqHandler_Loop501 ; CPU:$AF2A PRG:2F2A 90 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop461 -; Global: Branch target inside IrqHandler: taken when Loop461. +; Routine: IrqHandler_Loop500 +; Global: Branch target inside IrqHandler: taken when Loop500. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop461: +IrqHandler_Loop500: cmp #$FC ; CPU:$AF2C PRG:2F2C C9 FC - bcc IrqHandler_Loop463 ; CPU:$AF2E PRG:2F2E 90 03 + bcc IrqHandler_Loop502 ; CPU:$AF2E PRG:2F2E 90 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop462 -; Global: Branch target inside IrqHandler: taken when Loop462. +; Routine: IrqHandler_Loop501 +; Global: Branch target inside IrqHandler: taken when Loop501. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop462: +IrqHandler_Loop501: jsr Sub_A3D1 ; CPU:$AF30 PRG:2F30 20 D1 A3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop463 -; Global: Branch target inside IrqHandler: taken when Loop463. +; Routine: IrqHandler_Loop502 +; Global: Branch target inside IrqHandler: taken when Loop502. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop463: +IrqHandler_Loop502: lda $0706,x ; CPU:$AF33 PRG:2F33 BD 06 07 asl a ; CPU:$AF36 PRG:2F36 0A - bcs IrqHandler_Loop464 ; CPU:$AF37 PRG:2F37 B0 0D + bcs IrqHandler_Loop503 ; CPU:$AF37 PRG:2F37 B0 0D lda $0702,x ; CPU:$AF39 PRG:2F39 BD 02 07 cmp #$05 ; CPU:$AF3C PRG:2F3C C9 05 - bcs IrqHandler_Loop465 ; CPU:$AF3E PRG:2F3E B0 19 + bcs IrqHandler_Loop504 ; CPU:$AF3E PRG:2F3E B0 19 lda #$00 ; CPU:$AF40 PRG:2F40 A9 00 sta $0706,x ; CPU:$AF42 PRG:2F42 9D 06 07 rts ; CPU:$AF45 PRG:2F45 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop464 -; Global: Branch target inside IrqHandler: taken when Loop464. +; Routine: IrqHandler_Loop503 +; Global: Branch target inside IrqHandler: taken when Loop503. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop464: +IrqHandler_Loop503: lda $0501 ; CPU:$AF46 PRG:2F46 AD 01 05 clc ; CPU:$AF49 PRG:2F49 18 adc #$30 ; CPU:$AF4A PRG:2F4A 69 30 cmp $0702,x ; CPU:$AF4C PRG:2F4C DD 02 07 - bcs IrqHandler_Loop465 ; CPU:$AF4F PRG:2F4F B0 08 + bcs IrqHandler_Loop504 ; CPU:$AF4F PRG:2F4F B0 08 lda $0706,x ; CPU:$AF51 PRG:2F51 BD 06 07 and #$7F ; CPU:$AF54 PRG:2F54 29 7F sta $0706,x ; CPU:$AF56 PRG:2F56 9D 06 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop465 -; Global: Branch target inside IrqHandler: taken when Loop465. +; Routine: IrqHandler_Loop504 +; Global: Branch target inside IrqHandler: taken when Loop504. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop465: +IrqHandler_Loop504: lda $0702,x ; CPU:$AF59 PRG:2F59 BD 02 07 sec ; CPU:$AF5C PRG:2F5C 38 sbc #$02 ; CPU:$AF5D PRG:2F5D E9 02 sta $0702,x ; CPU:$AF5F PRG:2F5F 9D 02 07 ldy #$48 ; CPU:$AF62 PRG:2F62 A0 48 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative10 -; Global: Branch target inside IrqHandler: taken when OnNonnegative10. +; Routine: IrqHandler_OnNonnegative12 +; Global: Branch target inside IrqHandler: taken when OnNonnegative12. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative10: +IrqHandler_OnNonnegative12: lda $065F,y ; CPU:$AF64 PRG:2F64 B9 5F 06 - beq IrqHandler_Loop466 ; CPU:$AF67 PRG:2F67 F0 03 + beq IrqHandler_Loop505 ; CPU:$AF67 PRG:2F67 F0 03 jsr Sub_AF76 ; CPU:$AF69 PRG:2F69 20 76 AF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop466 -; Global: Branch target inside IrqHandler: taken when Loop466. +; Routine: IrqHandler_Loop505 +; Global: Branch target inside IrqHandler: taken when Loop505. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop466: +IrqHandler_Loop505: tya ; CPU:$AF6C PRG:2F6C 98 sec ; CPU:$AF6D PRG:2F6D 38 sbc #$08 ; CPU:$AF6E PRG:2F6E E9 08 tay ; CPU:$AF70 PRG:2F70 A8 - bpl IrqHandler_OnNonnegative10 ; CPU:$AF71 PRG:2F71 10 F1 + bpl IrqHandler_OnNonnegative12 ; CPU:$AF71 PRG:2F71 10 F1 jmp Sub_AFBE ; CPU:$AF73 PRG:2F73 4C BE AF ; ----------------------------------------------------------------------------- ; Routine: Sub_AF76 @@ -11212,61 +12147,61 @@ Sub_AF76: sec ; CPU:$AF79 PRG:2F79 38 sbc #$04 ; CPU:$AF7A PRG:2F7A E9 04 cmp $065B,y ; CPU:$AF7C PRG:2F7C D9 5B 06 - bcs IrqHandler_Loop469 ; CPU:$AF7F PRG:2F7F B0 3C + bcs IrqHandler_Loop508 ; CPU:$AF7F PRG:2F7F B0 3C lda $0702,x ; CPU:$AF81 PRG:2F81 BD 02 07 clc ; CPU:$AF84 PRG:2F84 18 adc #$04 ; CPU:$AF85 PRG:2F85 69 04 cmp $065B,y ; CPU:$AF87 PRG:2F87 D9 5B 06 - bcc IrqHandler_Loop469 ; CPU:$AF8A PRG:2F8A 90 31 + bcc IrqHandler_Loop508 ; CPU:$AF8A PRG:2F8A 90 31 lda $0700,x ; CPU:$AF8C PRG:2F8C BD 00 07 sec ; CPU:$AF8F PRG:2F8F 38 sbc #$04 ; CPU:$AF90 PRG:2F90 E9 04 cmp $0659,y ; CPU:$AF92 PRG:2F92 D9 59 06 - bcs IrqHandler_Loop469 ; CPU:$AF95 PRG:2F95 B0 26 + bcs IrqHandler_Loop508 ; CPU:$AF95 PRG:2F95 B0 26 lda $0700,x ; CPU:$AF97 PRG:2F97 BD 00 07 clc ; CPU:$AF9A PRG:2F9A 18 adc #$04 ; CPU:$AF9B PRG:2F9B 69 04 cmp $0659,y ; CPU:$AF9D PRG:2F9D D9 59 06 - bcc IrqHandler_Loop469 ; CPU:$AFA0 PRG:2FA0 90 1B + bcc IrqHandler_Loop508 ; CPU:$AFA0 PRG:2FA0 90 1B lda #$00 ; CPU:$AFA2 PRG:2FA2 A9 00 sta $065F,y ; CPU:$AFA4 PRG:2FA4 99 5F 06 - lda Zp54 ; CPU:$AFA7 PRG:2FA7 A5 54 + lda FrameCounter ; CPU:$AFA7 PRG:2FA7 A5 54 lsr a ; CPU:$AFA9 PRG:2FA9 4A - bcc IrqHandler_Loop467 ; CPU:$AFAA PRG:2FAA 90 07 + bcc IrqHandler_Loop506 ; CPU:$AFAA PRG:2FAA 90 07 lda #$78 ; CPU:$AFAC PRG:2FAC A9 78 sta $0710,x ; CPU:$AFAE PRG:2FAE 9D 10 07 - bne IrqHandler_Loop468 ; CPU:$AFB1 PRG:2FB1 D0 05 + bne IrqHandler_Loop507 ; CPU:$AFB1 PRG:2FB1 D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop467 -; Global: Branch target inside IrqHandler: taken when Loop467. +; Routine: IrqHandler_Loop506 +; Global: Branch target inside IrqHandler: taken when Loop506. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop467: +IrqHandler_Loop506: lda #$3C ; CPU:$AFB3 PRG:2FB3 A9 3C sta $0710,x ; CPU:$AFB5 PRG:2FB5 9D 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop468 -; Global: Branch target inside IrqHandler: taken when Loop468. +; Routine: IrqHandler_Loop507 +; Global: Branch target inside IrqHandler: taken when Loop507. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop468: +IrqHandler_Loop507: lda #$16 ; CPU:$AFB8 PRG:2FB8 A9 16 jsr Sub_E08B ; CPU:$AFBA PRG:2FBA 20 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop469 -; Global: Branch target inside IrqHandler: taken when Loop469. +; Routine: IrqHandler_Loop508 +; Global: Branch target inside IrqHandler: taken when Loop508. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop469: +IrqHandler_Loop508: rts ; CPU:$AFBD PRG:2FBD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_AFBE @@ -11278,20 +12213,20 @@ IrqHandler_Loop469: ; ----------------------------------------------------------------------------- Sub_AFBE: lda $0710,x ; CPU:$AFBE PRG:2FBE BD 10 07 - beq IrqHandler_Loop470 ; CPU:$AFC1 PRG:2FC1 F0 03 + beq IrqHandler_Loop509 ; CPU:$AFC1 PRG:2FC1 F0 03 dec $0710,x ; CPU:$AFC3 PRG:2FC3 DE 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop470 -; Global: Branch target inside IrqHandler: taken when Loop470. +; Routine: IrqHandler_Loop509 +; Global: Branch target inside IrqHandler: taken when Loop509. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop470: +IrqHandler_Loop509: lda $0706,x ; CPU:$AFC6 PRG:2FC6 BD 06 07 asl a ; CPU:$AFC9 PRG:2FC9 0A - bcs IrqHandler_Loop471 ; CPU:$AFCA PRG:2FCA B0 06 + bcs IrqHandler_Loop510 ; CPU:$AFCA PRG:2FCA B0 06 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarrySet3 ; Global: Branch target inside IrqHandler: taken when OnCarrySet3. @@ -11313,14 +12248,14 @@ IrqHandler_OnCarrySet3: IrqHandler_OnCarrySet4: jmp Sub_AFDF ; CPU:$AFCF PRG:2FCF 4C DF AF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop471 -; Global: Branch target inside IrqHandler: taken when Loop471. +; Routine: IrqHandler_Loop510 +; Global: Branch target inside IrqHandler: taken when Loop510. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop471: +IrqHandler_Loop510: lda $0702,x ; CPU:$AFD2 PRG:2FD2 BD 02 07 cmp #$F7 ; CPU:$AFD5 PRG:2FD5 C9 F7 bcs IrqHandler_OnCarrySet4 ; CPU:$AFD7 PRG:2FD7 B0 F6 @@ -11337,54 +12272,54 @@ IrqHandler_Loop471: ; ----------------------------------------------------------------------------- Sub_AFDF: lda $0702,x ; CPU:$AFDF PRG:2FDF BD 02 07 - sta Zp1C ; CPU:$AFE2 PRG:2FE2 85 1C + sta PlayerYHigh ; CPU:$AFE2 PRG:2FE2 85 1C lda $0700,x ; CPU:$AFE4 PRG:2FE4 BD 00 07 - sta Zp19 ; CPU:$AFE7 PRG:2FE7 85 19 + sta PlayerXHigh ; CPU:$AFE7 PRG:2FE7 85 19 lda $0706,x ; CPU:$AFE9 PRG:2FE9 BD 06 07 asl a ; CPU:$AFEC PRG:2FEC 0A - bcs IrqHandler_Loop472 ; CPU:$AFED PRG:2FED B0 0A + bcs IrqHandler_Loop511 ; CPU:$AFED PRG:2FED B0 0A lda #$02 ; CPU:$AFEF PRG:2FEF A9 02 - sta Zp1B ; CPU:$AFF1 PRG:2FF1 85 1B + sta PlayerYLow ; CPU:$AFF1 PRG:2FF1 85 1B lda #$D0 ; CPU:$AFF3 PRG:2FF3 A9 D0 - sta Zp1A ; CPU:$AFF5 PRG:2FF5 85 1A - bne IrqHandler_Loop474 ; CPU:$AFF7 PRG:2FF7 D0 15 + sta PlayerXLow ; CPU:$AFF5 PRG:2FF5 85 1A + bne IrqHandler_Loop513 ; CPU:$AFF7 PRG:2FF7 D0 15 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop472 -; Global: Branch target inside IrqHandler: taken when Loop472. +; Routine: IrqHandler_Loop511 +; Global: Branch target inside IrqHandler: taken when Loop511. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop472: +IrqHandler_Loop511: lda #$42 ; CPU:$AFF9 PRG:2FF9 A9 42 - sta Zp1B ; CPU:$AFFB PRG:2FFB 85 1B + sta PlayerYLow ; CPU:$AFFB PRG:2FFB 85 1B lda $06D1 ; CPU:$AFFD PRG:2FFD AD D1 06 cmp #$0C ; CPU:$B000 PRG:3000 C9 0C - bcc IrqHandler_Loop473 ; CPU:$B002 PRG:3002 90 06 + bcc IrqHandler_Loop512 ; CPU:$B002 PRG:3002 90 06 lda #$D2 ; CPU:$B004 PRG:3004 A9 D2 - sta Zp1A ; CPU:$B006 PRG:3006 85 1A - bne IrqHandler_Loop474 ; CPU:$B008 PRG:3008 D0 04 + sta PlayerXLow ; CPU:$B006 PRG:3006 85 1A + bne IrqHandler_Loop513 ; CPU:$B008 PRG:3008 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop473 -; Global: Branch target inside IrqHandler: taken when Loop473. +; Routine: IrqHandler_Loop512 +; Global: Branch target inside IrqHandler: taken when Loop512. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop473: +IrqHandler_Loop512: lda #$D1 ; CPU:$B00A PRG:300A A9 D1 - sta Zp1A ; CPU:$B00C PRG:300C 85 1A + sta PlayerXLow ; CPU:$B00C PRG:300C 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop474 -; Global: Branch target inside IrqHandler: taken when Loop474. +; Routine: IrqHandler_Loop513 +; Global: Branch target inside IrqHandler: taken when Loop513. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop474: +IrqHandler_Loop513: jsr Sub_8221 ; CPU:$B00E PRG:300E 20 21 82 jsr Sub_B04E ; CPU:$B011 PRG:3011 20 4E B0 rts ; CPU:$B014 PRG:3014 60 @@ -11400,54 +12335,54 @@ Sub_B015: lda $0702,x ; CPU:$B015 PRG:3015 BD 02 07 clc ; CPU:$B018 PRG:3018 18 adc #$08 ; CPU:$B019 PRG:3019 69 08 - sta Zp1C ; CPU:$B01B PRG:301B 85 1C + sta PlayerYHigh ; CPU:$B01B PRG:301B 85 1C lda $0700,x ; CPU:$B01D PRG:301D BD 00 07 - sta Zp19 ; CPU:$B020 PRG:3020 85 19 + sta PlayerXHigh ; CPU:$B020 PRG:3020 85 19 lda $0706,x ; CPU:$B022 PRG:3022 BD 06 07 asl a ; CPU:$B025 PRG:3025 0A - bcs IrqHandler_Loop476 ; CPU:$B026 PRG:3026 B0 17 + bcs IrqHandler_Loop515 ; CPU:$B026 PRG:3026 B0 17 lda #$02 ; CPU:$B028 PRG:3028 A9 02 - sta Zp1B ; CPU:$B02A PRG:302A 85 1B + sta PlayerYLow ; CPU:$B02A PRG:302A 85 1B lda $06D1 ; CPU:$B02C PRG:302C AD D1 06 cmp #$0C ; CPU:$B02F PRG:302F C9 0C - bcc IrqHandler_Loop475 ; CPU:$B031 PRG:3031 90 06 + bcc IrqHandler_Loop514 ; CPU:$B031 PRG:3031 90 06 lda #$D2 ; CPU:$B033 PRG:3033 A9 D2 - sta Zp1A ; CPU:$B035 PRG:3035 85 1A - bne IrqHandler_Loop477 ; CPU:$B037 PRG:3037 D0 0E + sta PlayerXLow ; CPU:$B035 PRG:3035 85 1A + bne IrqHandler_Loop516 ; CPU:$B037 PRG:3037 D0 0E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop475 -; Global: Branch target inside IrqHandler: taken when Loop475. +; Routine: IrqHandler_Loop514 +; Global: Branch target inside IrqHandler: taken when Loop514. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop475: +IrqHandler_Loop514: lda #$D1 ; CPU:$B039 PRG:3039 A9 D1 - sta Zp1A ; CPU:$B03B PRG:303B 85 1A - bne IrqHandler_Loop477 ; CPU:$B03D PRG:303D D0 08 + sta PlayerXLow ; CPU:$B03B PRG:303B 85 1A + bne IrqHandler_Loop516 ; CPU:$B03D PRG:303D D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop476 -; Global: Branch target inside IrqHandler: taken when Loop476. +; Routine: IrqHandler_Loop515 +; Global: Branch target inside IrqHandler: taken when Loop515. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop476: +IrqHandler_Loop515: lda #$42 ; CPU:$B03F PRG:303F A9 42 - sta Zp1B ; CPU:$B041 PRG:3041 85 1B + sta PlayerYLow ; CPU:$B041 PRG:3041 85 1B lda #$D0 ; CPU:$B043 PRG:3043 A9 D0 - sta Zp1A ; CPU:$B045 PRG:3045 85 1A + sta PlayerXLow ; CPU:$B045 PRG:3045 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop477 -; Global: Branch target inside IrqHandler: taken when Loop477. +; Routine: IrqHandler_Loop516 +; Global: Branch target inside IrqHandler: taken when Loop516. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop477: +IrqHandler_Loop516: jsr Sub_8221 ; CPU:$B047 PRG:3047 20 21 82 jsr Sub_B04E ; CPU:$B04A PRG:304A 20 4E B0 rts ; CPU:$B04D PRG:304D 60 @@ -11461,26 +12396,26 @@ IrqHandler_Loop477: ; ----------------------------------------------------------------------------- Sub_B04E: lda $0710,x ; CPU:$B04E PRG:304E BD 10 07 - beq IrqHandler_Loop481 ; CPU:$B051 PRG:3051 F0 2E + beq IrqHandler_Loop520 ; CPU:$B051 PRG:3051 F0 2E lda $0706,x ; CPU:$B053 PRG:3053 BD 06 07 asl a ; CPU:$B056 PRG:3056 0A - bcc IrqHandler_Loop478 ; CPU:$B057 PRG:3057 90 0B + bcc IrqHandler_Loop517 ; CPU:$B057 PRG:3057 90 0B lda $0702,x ; CPU:$B059 PRG:3059 BD 02 07 clc ; CPU:$B05C PRG:305C 18 adc #$08 ; CPU:$B05D PRG:305D 69 08 - sta Zp1C ; CPU:$B05F PRG:305F 85 1C + sta PlayerYHigh ; CPU:$B05F PRG:305F 85 1C jmp Sub_B069 ; CPU:$B061 PRG:3061 4C 69 B0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop478 -; Global: Branch target inside IrqHandler: taken when Loop478. +; Routine: IrqHandler_Loop517 +; Global: Branch target inside IrqHandler: taken when Loop517. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop478: +IrqHandler_Loop517: lda $0702,x ; CPU:$B064 PRG:3064 BD 02 07 - sta Zp1C ; CPU:$B067 PRG:3067 85 1C + sta PlayerYHigh ; CPU:$B067 PRG:3067 85 1C ; ----------------------------------------------------------------------------- ; Routine: Sub_B069 ; Global: Branch target inside Sub: taken when B069. @@ -11492,42 +12427,42 @@ IrqHandler_Loop478: Sub_B069: lda $06D0 ; CPU:$B069 PRG:3069 AD D0 06 cmp #$08 ; CPU:$B06C PRG:306C C9 08 - bcc IrqHandler_Loop479 ; CPU:$B06E PRG:306E 90 06 + bcc IrqHandler_Loop518 ; CPU:$B06E PRG:306E 90 06 lda #$F0 ; CPU:$B070 PRG:3070 A9 F0 - sta Zp1A ; CPU:$B072 PRG:3072 85 1A - bne IrqHandler_Loop480 ; CPU:$B074 PRG:3074 D0 04 + sta PlayerXLow ; CPU:$B072 PRG:3072 85 1A + bne IrqHandler_Loop519 ; CPU:$B074 PRG:3074 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop479 -; Global: Branch target inside IrqHandler: taken when Loop479. +; Routine: IrqHandler_Loop518 +; Global: Branch target inside IrqHandler: taken when Loop518. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop479: +IrqHandler_Loop518: lda #$FE ; CPU:$B076 PRG:3076 A9 FE - sta Zp1A ; CPU:$B078 PRG:3078 85 1A + sta PlayerXLow ; CPU:$B078 PRG:3078 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop480 -; Global: Branch target inside IrqHandler: taken when Loop480. +; Routine: IrqHandler_Loop519 +; Global: Branch target inside IrqHandler: taken when Loop519. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop480: +IrqHandler_Loop519: lda #$02 ; CPU:$B07A PRG:307A A9 02 - sta Zp1B ; CPU:$B07C PRG:307C 85 1B + sta PlayerYLow ; CPU:$B07C PRG:307C 85 1B jsr Sub_8221 ; CPU:$B07E PRG:307E 20 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop481 -; Global: Branch target inside IrqHandler: taken when Loop481. +; Routine: IrqHandler_Loop520 +; Global: Branch target inside IrqHandler: taken when Loop520. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop481: +IrqHandler_Loop520: rts ; CPU:$B081 PRG:3081 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B082 @@ -11553,17 +12488,17 @@ IrqHandler_OnNonzero36: lda $0708,y ; CPU:$B089 PRG:3089 B9 08 07 and #$3F ; CPU:$B08C PRG:308C 29 3F cmp #$02 ; CPU:$B08E PRG:308E C9 02 - bne IrqHandler_Loop482 ; CPU:$B090 PRG:3090 D0 03 + bne IrqHandler_Loop521 ; CPU:$B090 PRG:3090 D0 03 inc $07E8 ; CPU:$B092 PRG:3092 EE E8 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop482 -; Global: Branch target inside IrqHandler: taken when Loop482. +; Routine: IrqHandler_Loop521 +; Global: Branch target inside IrqHandler: taken when Loop521. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop482: +IrqHandler_Loop521: tya ; CPU:$B095 PRG:3095 98 sec ; CPU:$B096 PRG:3096 38 sbc #$14 ; CPU:$B097 PRG:3097 E9 14 @@ -11592,109 +12527,109 @@ Sub_B09F: Sub_B0A0: ldy #$10 ; CPU:$B0A0 PRG:30A0 A0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative11 -; Global: Branch target inside IrqHandler: taken when OnNonnegative11. +; Routine: IrqHandler_OnNonnegative13 +; Global: Branch target inside IrqHandler: taken when OnNonnegative13. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative11: +IrqHandler_OnNonnegative13: lda $0521,y ; CPU:$B0A2 PRG:30A2 B9 21 05 - beq IrqHandler_Loop483 ; CPU:$B0A5 PRG:30A5 F0 0E + beq IrqHandler_Loop522 ; CPU:$B0A5 PRG:30A5 F0 0E lda $0501 ; CPU:$B0A7 PRG:30A7 AD 01 05 clc ; CPU:$B0AA PRG:30AA 18 adc #$18 ; CPU:$B0AB PRG:30AB 69 18 cmp $051D,y ; CPU:$B0AD PRG:30AD D9 1D 05 - bcs IrqHandler_Loop483 ; CPU:$B0B0 PRG:30B0 B0 03 + bcs IrqHandler_Loop522 ; CPU:$B0B0 PRG:30B0 B0 03 jsr Sub_B111 ; CPU:$B0B2 PRG:30B2 20 11 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop483 -; Global: Branch target inside IrqHandler: taken when Loop483. +; Routine: IrqHandler_Loop522 +; Global: Branch target inside IrqHandler: taken when Loop522. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop483: +IrqHandler_Loop522: tya ; CPU:$B0B5 PRG:30B5 98 sec ; CPU:$B0B6 PRG:30B6 38 sbc #$08 ; CPU:$B0B7 PRG:30B7 E9 08 tay ; CPU:$B0B9 PRG:30B9 A8 - bpl IrqHandler_OnNonnegative11 ; CPU:$B0BA PRG:30BA 10 E6 + bpl IrqHandler_OnNonnegative13 ; CPU:$B0BA PRG:30BA 10 E6 lda $057D ; CPU:$B0BC PRG:30BC AD 7D 05 - bne IrqHandler_Loop484 ; CPU:$B0BF PRG:30BF D0 01 + bne IrqHandler_Loop523 ; CPU:$B0BF PRG:30BF D0 01 rts ; CPU:$B0C1 PRG:30C1 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop484 -; Global: Branch target inside IrqHandler: taken when Loop484. +; Routine: IrqHandler_Loop523 +; Global: Branch target inside IrqHandler: taken when Loop523. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop484: +IrqHandler_Loop523: lda $0702,x ; CPU:$B0C2 PRG:30C2 BD 02 07 sec ; CPU:$B0C5 PRG:30C5 38 sbc #$08 ; CPU:$B0C6 PRG:30C6 E9 08 cmp $0579 ; CPU:$B0C8 PRG:30C8 CD 79 05 - bcs IrqHandler_Loop487 ; CPU:$B0CB PRG:30CB B0 43 + bcs IrqHandler_Loop526 ; CPU:$B0CB PRG:30CB B0 43 lda $0702,x ; CPU:$B0CD PRG:30CD BD 02 07 clc ; CPU:$B0D0 PRG:30D0 18 adc #$10 ; CPU:$B0D1 PRG:30D1 69 10 cmp $0579 ; CPU:$B0D3 PRG:30D3 CD 79 05 - bcc IrqHandler_Loop487 ; CPU:$B0D6 PRG:30D6 90 38 + bcc IrqHandler_Loop526 ; CPU:$B0D6 PRG:30D6 90 38 lda $0700,x ; CPU:$B0D8 PRG:30D8 BD 00 07 sec ; CPU:$B0DB PRG:30DB 38 sbc #$04 ; CPU:$B0DC PRG:30DC E9 04 cmp $0577 ; CPU:$B0DE PRG:30DE CD 77 05 - bcs IrqHandler_Loop487 ; CPU:$B0E1 PRG:30E1 B0 2D + bcs IrqHandler_Loop526 ; CPU:$B0E1 PRG:30E1 B0 2D lda $0700,x ; CPU:$B0E3 PRG:30E3 BD 00 07 clc ; CPU:$B0E6 PRG:30E6 18 adc #$04 ; CPU:$B0E7 PRG:30E7 69 04 cmp $0577 ; CPU:$B0E9 PRG:30E9 CD 77 05 - bcc IrqHandler_Loop487 ; CPU:$B0EC PRG:30EC 90 22 + bcc IrqHandler_Loop526 ; CPU:$B0EC PRG:30EC 90 22 lda $0708,x ; CPU:$B0EE PRG:30EE BD 08 07 cmp #$02 ; CPU:$B0F1 PRG:30F1 C9 02 - bne IrqHandler_Loop485 ; CPU:$B0F3 PRG:30F3 D0 0A + bne IrqHandler_Loop524 ; CPU:$B0F3 PRG:30F3 D0 0A lda #$00 ; CPU:$B0F5 PRG:30F5 A9 00 sta $0706,x ; CPU:$B0F7 PRG:30F7 9D 06 07 sta $0708,x ; CPU:$B0FA PRG:30FA 9D 08 07 - beq IrqHandler_Loop486 ; CPU:$B0FD PRG:30FD F0 05 + beq IrqHandler_Loop525 ; CPU:$B0FD PRG:30FD F0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop485 -; Global: Branch target inside IrqHandler: taken when Loop485. +; Routine: IrqHandler_Loop524 +; Global: Branch target inside IrqHandler: taken when Loop524. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop485: +IrqHandler_Loop524: lda #$10 ; CPU:$B0FF PRG:30FF A9 10 sta $0710,x ; CPU:$B101 PRG:3101 9D 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop486 -; Global: Branch target inside IrqHandler: taken when Loop486. +; Routine: IrqHandler_Loop525 +; Global: Branch target inside IrqHandler: taken when Loop525. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop486: +IrqHandler_Loop525: lda $0708,x ; CPU:$B104 PRG:3104 BD 08 07 lsr a ; CPU:$B107 PRG:3107 4A jsr Sub_DC19 ; CPU:$B108 PRG:3108 20 19 DC lda #$15 ; CPU:$B10B PRG:310B A9 15 jmp Sub_E08B ; CPU:$B10D PRG:310D 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop487 -; Global: Branch target inside IrqHandler: taken when Loop487. +; Routine: IrqHandler_Loop526 +; Global: Branch target inside IrqHandler: taken when Loop526. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop487: +IrqHandler_Loop526: rts ; CPU:$B110 PRG:3110 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B111 @@ -11709,76 +12644,76 @@ Sub_B111: sec ; CPU:$B114 PRG:3114 38 sbc #$08 ; CPU:$B115 PRG:3115 E9 08 cmp $051D,y ; CPU:$B117 PRG:3117 D9 1D 05 - bcs IrqHandler_Loop491 ; CPU:$B11A PRG:311A B0 4D + bcs IrqHandler_Loop530 ; CPU:$B11A PRG:311A B0 4D lda $0702,x ; CPU:$B11C PRG:311C BD 02 07 clc ; CPU:$B11F PRG:311F 18 adc #$10 ; CPU:$B120 PRG:3120 69 10 cmp $051D,y ; CPU:$B122 PRG:3122 D9 1D 05 - bcc IrqHandler_Loop491 ; CPU:$B125 PRG:3125 90 42 + bcc IrqHandler_Loop530 ; CPU:$B125 PRG:3125 90 42 lda $0700,x ; CPU:$B127 PRG:3127 BD 00 07 sec ; CPU:$B12A PRG:312A 38 sbc #$04 ; CPU:$B12B PRG:312B E9 04 cmp $051B,y ; CPU:$B12D PRG:312D D9 1B 05 - bcs IrqHandler_Loop491 ; CPU:$B130 PRG:3130 B0 37 + bcs IrqHandler_Loop530 ; CPU:$B130 PRG:3130 B0 37 lda $0700,x ; CPU:$B132 PRG:3132 BD 00 07 clc ; CPU:$B135 PRG:3135 18 adc #$04 ; CPU:$B136 PRG:3136 69 04 cmp $051B,y ; CPU:$B138 PRG:3138 D9 1B 05 - bcc IrqHandler_Loop491 ; CPU:$B13B PRG:313B 90 2C + bcc IrqHandler_Loop530 ; CPU:$B13B PRG:313B 90 2C lda $0708,x ; CPU:$B13D PRG:313D BD 08 07 cmp #$02 ; CPU:$B140 PRG:3140 C9 02 - bne IrqHandler_Loop488 ; CPU:$B142 PRG:3142 D0 0A + bne IrqHandler_Loop527 ; CPU:$B142 PRG:3142 D0 0A lda #$00 ; CPU:$B144 PRG:3144 A9 00 sta $0706,x ; CPU:$B146 PRG:3146 9D 06 07 sta $0708,x ; CPU:$B149 PRG:3149 9D 08 07 - beq IrqHandler_Loop489 ; CPU:$B14C PRG:314C F0 05 + beq IrqHandler_Loop528 ; CPU:$B14C PRG:314C F0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop488 -; Global: Branch target inside IrqHandler: taken when Loop488. +; Routine: IrqHandler_Loop527 +; Global: Branch target inside IrqHandler: taken when Loop527. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop488: +IrqHandler_Loop527: lda #$10 ; CPU:$B14E PRG:314E A9 10 sta $0710,x ; CPU:$B150 PRG:3150 9D 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop489 -; Global: Branch target inside IrqHandler: taken when Loop489. +; Routine: IrqHandler_Loop528 +; Global: Branch target inside IrqHandler: taken when Loop528. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop489: +IrqHandler_Loop528: lda $0518 ; CPU:$B153 PRG:3153 AD 18 05 - bne IrqHandler_Loop490 ; CPU:$B156 PRG:3156 D0 05 + bne IrqHandler_Loop529 ; CPU:$B156 PRG:3156 D0 05 lda #$00 ; CPU:$B158 PRG:3158 A9 00 sta $0521,y ; CPU:$B15A PRG:315A 99 21 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop490 -; Global: Branch target inside IrqHandler: taken when Loop490. +; Routine: IrqHandler_Loop529 +; Global: Branch target inside IrqHandler: taken when Loop529. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop490: +IrqHandler_Loop529: lda $0708,x ; CPU:$B15D PRG:315D BD 08 07 lsr a ; CPU:$B160 PRG:3160 4A jsr Sub_DC19 ; CPU:$B161 PRG:3161 20 19 DC lda #$15 ; CPU:$B164 PRG:3164 A9 15 jmp Sub_E08B ; CPU:$B166 PRG:3166 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop491 -; Global: Branch target inside IrqHandler: taken when Loop491. +; Routine: IrqHandler_Loop530 +; Global: Branch target inside IrqHandler: taken when Loop530. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop491: +IrqHandler_Loop530: rts ; CPU:$B169 PRG:3169 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B16A @@ -11791,68 +12726,68 @@ IrqHandler_Loop491: Sub_B16A: ldy #$10 ; CPU:$B16A PRG:316A A0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative12 -; Global: Branch target inside IrqHandler: taken when OnNonnegative12. +; Routine: IrqHandler_OnNonnegative14 +; Global: Branch target inside IrqHandler: taken when OnNonnegative14. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative12: +IrqHandler_OnNonnegative14: lda $0521,y ; CPU:$B16C PRG:316C B9 21 05 - beq IrqHandler_Loop492 ; CPU:$B16F PRG:316F F0 0E + beq IrqHandler_Loop531 ; CPU:$B16F PRG:316F F0 0E lda $0501 ; CPU:$B171 PRG:3171 AD 01 05 clc ; CPU:$B174 PRG:3174 18 adc #$18 ; CPU:$B175 PRG:3175 69 18 cmp $051D,y ; CPU:$B177 PRG:3177 D9 1D 05 - bcs IrqHandler_Loop492 ; CPU:$B17A PRG:317A B0 03 + bcs IrqHandler_Loop531 ; CPU:$B17A PRG:317A B0 03 jsr Sub_B1CA ; CPU:$B17C PRG:317C 20 CA B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop492 -; Global: Branch target inside IrqHandler: taken when Loop492. +; Routine: IrqHandler_Loop531 +; Global: Branch target inside IrqHandler: taken when Loop531. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop492: +IrqHandler_Loop531: tya ; CPU:$B17F PRG:317F 98 sec ; CPU:$B180 PRG:3180 38 sbc #$08 ; CPU:$B181 PRG:3181 E9 08 tay ; CPU:$B183 PRG:3183 A8 - bpl IrqHandler_OnNonnegative12 ; CPU:$B184 PRG:3184 10 E6 + bpl IrqHandler_OnNonnegative14 ; CPU:$B184 PRG:3184 10 E6 lda $057D ; CPU:$B186 PRG:3186 AD 7D 05 - bne IrqHandler_Loop493 ; CPU:$B189 PRG:3189 D0 01 + bne IrqHandler_Loop532 ; CPU:$B189 PRG:3189 D0 01 rts ; CPU:$B18B PRG:318B 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop493 -; Global: Branch target inside IrqHandler: taken when Loop493. +; Routine: IrqHandler_Loop532 +; Global: Branch target inside IrqHandler: taken when Loop532. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop493: +IrqHandler_Loop532: lda $0702,x ; CPU:$B18C PRG:318C BD 02 07 sec ; CPU:$B18F PRG:318F 38 sbc #$08 ; CPU:$B190 PRG:3190 E9 08 cmp $0579 ; CPU:$B192 PRG:3192 CD 79 05 - bcs IrqHandler_Loop494 ; CPU:$B195 PRG:3195 B0 32 + bcs IrqHandler_Loop533 ; CPU:$B195 PRG:3195 B0 32 lda $0702,x ; CPU:$B197 PRG:3197 BD 02 07 clc ; CPU:$B19A PRG:319A 18 adc #$10 ; CPU:$B19B PRG:319B 69 10 cmp $0579 ; CPU:$B19D PRG:319D CD 79 05 - bcc IrqHandler_Loop494 ; CPU:$B1A0 PRG:31A0 90 27 + bcc IrqHandler_Loop533 ; CPU:$B1A0 PRG:31A0 90 27 lda $0700,x ; CPU:$B1A2 PRG:31A2 BD 00 07 sec ; CPU:$B1A5 PRG:31A5 38 sbc #$04 ; CPU:$B1A6 PRG:31A6 E9 04 cmp $0577 ; CPU:$B1A8 PRG:31A8 CD 77 05 - bcs IrqHandler_Loop494 ; CPU:$B1AB PRG:31AB B0 1C + bcs IrqHandler_Loop533 ; CPU:$B1AB PRG:31AB B0 1C lda $0700,x ; CPU:$B1AD PRG:31AD BD 00 07 clc ; CPU:$B1B0 PRG:31B0 18 adc #$0C ; CPU:$B1B1 PRG:31B1 69 0C cmp $0577 ; CPU:$B1B3 PRG:31B3 CD 77 05 - bcc IrqHandler_Loop494 ; CPU:$B1B6 PRG:31B6 90 11 + bcc IrqHandler_Loop533 ; CPU:$B1B6 PRG:31B6 90 11 lda $0708,x ; CPU:$B1B8 PRG:31B8 BD 08 07 lsr a ; CPU:$B1BB PRG:31BB 4A jsr Sub_DC19 ; CPU:$B1BC PRG:31BC 20 19 DC @@ -11861,14 +12796,14 @@ IrqHandler_Loop493: lda #$10 ; CPU:$B1C4 PRG:31C4 A9 10 sta $0710,x ; CPU:$B1C6 PRG:31C6 9D 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop494 -; Global: Branch target inside IrqHandler: taken when Loop494. +; Routine: IrqHandler_Loop533 +; Global: Branch target inside IrqHandler: taken when Loop533. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop494: +IrqHandler_Loop533: rts ; CPU:$B1C9 PRG:31C9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B1CA @@ -11883,55 +12818,55 @@ Sub_B1CA: sec ; CPU:$B1CD PRG:31CD 38 sbc #$08 ; CPU:$B1CE PRG:31CE E9 08 cmp $051D,y ; CPU:$B1D0 PRG:31D0 D9 1D 05 - bcs IrqHandler_Loop497 ; CPU:$B1D3 PRG:31D3 B0 5E + bcs IrqHandler_Loop536 ; CPU:$B1D3 PRG:31D3 B0 5E lda $0702,x ; CPU:$B1D5 PRG:31D5 BD 02 07 clc ; CPU:$B1D8 PRG:31D8 18 adc #$10 ; CPU:$B1D9 PRG:31D9 69 10 cmp $051D,y ; CPU:$B1DB PRG:31DB D9 1D 05 - bcc IrqHandler_Loop497 ; CPU:$B1DE PRG:31DE 90 53 + bcc IrqHandler_Loop536 ; CPU:$B1DE PRG:31DE 90 53 lda $0700,x ; CPU:$B1E0 PRG:31E0 BD 00 07 sec ; CPU:$B1E3 PRG:31E3 38 sbc #$04 ; CPU:$B1E4 PRG:31E4 E9 04 cmp $051B,y ; CPU:$B1E6 PRG:31E6 D9 1B 05 - bcs IrqHandler_Loop497 ; CPU:$B1E9 PRG:31E9 B0 48 + bcs IrqHandler_Loop536 ; CPU:$B1E9 PRG:31E9 B0 48 lda $0700,x ; CPU:$B1EB PRG:31EB BD 00 07 clc ; CPU:$B1EE PRG:31EE 18 adc #$0C ; CPU:$B1EF PRG:31EF 69 0C cmp $051B,y ; CPU:$B1F1 PRG:31F1 D9 1B 05 - bcc IrqHandler_Loop497 ; CPU:$B1F4 PRG:31F4 90 3D + bcc IrqHandler_Loop536 ; CPU:$B1F4 PRG:31F4 90 3D lda $0708,x ; CPU:$B1F6 PRG:31F6 BD 08 07 and #$3F ; CPU:$B1F9 PRG:31F9 29 3F cmp #$26 ; CPU:$B1FB PRG:31FB C9 26 - beq IrqHandler_Loop495 ; CPU:$B1FD PRG:31FD F0 04 + beq IrqHandler_Loop534 ; CPU:$B1FD PRG:31FD F0 04 cmp #$30 ; CPU:$B1FF PRG:31FF C9 30 - bne IrqHandler_Loop496 ; CPU:$B201 PRG:3201 D0 15 + bne IrqHandler_Loop535 ; CPU:$B201 PRG:3201 D0 15 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop495 -; Global: Branch target inside IrqHandler: taken when Loop495. +; Routine: IrqHandler_Loop534 +; Global: Branch target inside IrqHandler: taken when Loop534. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop495: +IrqHandler_Loop534: inc $0712,x ; CPU:$B203 PRG:3203 FE 12 07 lda $0712,x ; CPU:$B206 PRG:3206 BD 12 07 cmp #$03 ; CPU:$B209 PRG:3209 C9 03 - bcs IrqHandler_Loop496 ; CPU:$B20B PRG:320B B0 0B + bcs IrqHandler_Loop535 ; CPU:$B20B PRG:320B B0 0B lda #$0A ; CPU:$B20D PRG:320D A9 0A jsr Sub_E08B ; CPU:$B20F PRG:320F 20 8B E0 lda #$00 ; CPU:$B212 PRG:3212 A9 00 sta $0521,y ; CPU:$B214 PRG:3214 99 21 05 rts ; CPU:$B217 PRG:3217 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop496 -; Global: Branch target inside IrqHandler: taken when Loop496. +; Routine: IrqHandler_Loop535 +; Global: Branch target inside IrqHandler: taken when Loop535. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop496: +IrqHandler_Loop535: lda #$10 ; CPU:$B218 PRG:3218 A9 10 sta $0710,x ; CPU:$B21A PRG:321A 9D 10 07 lda $0708,x ; CPU:$B21D PRG:321D BD 08 07 @@ -11940,18 +12875,18 @@ IrqHandler_Loop496: lda #$15 ; CPU:$B224 PRG:3224 A9 15 jsr Sub_E08B ; CPU:$B226 PRG:3226 20 8B E0 lda $0518 ; CPU:$B229 PRG:3229 AD 18 05 - bne IrqHandler_Loop497 ; CPU:$B22C PRG:322C D0 05 + bne IrqHandler_Loop536 ; CPU:$B22C PRG:322C D0 05 lda #$00 ; CPU:$B22E PRG:322E A9 00 sta $0521,y ; CPU:$B230 PRG:3230 99 21 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop497 -; Global: Branch target inside IrqHandler: taken when Loop497. +; Routine: IrqHandler_Loop536 +; Global: Branch target inside IrqHandler: taken when Loop536. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop497: +IrqHandler_Loop536: rts ; CPU:$B233 PRG:3233 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B234 @@ -11963,27 +12898,27 @@ IrqHandler_Loop497: ; ----------------------------------------------------------------------------- Sub_B234: lda $07E9 ; CPU:$B234 PRG:3234 AD E9 07 - bne IrqHandler_Loop500 ; CPU:$B237 PRG:3237 D0 63 + bne IrqHandler_Loop539 ; CPU:$B237 PRG:3237 D0 63 lda $0501 ; CPU:$B239 PRG:3239 AD 01 05 sec ; CPU:$B23C PRG:323C 38 sbc #$0A ; CPU:$B23D PRG:323D E9 0A cmp $0702,x ; CPU:$B23F PRG:323F DD 02 07 - bcs IrqHandler_Loop500 ; CPU:$B242 PRG:3242 B0 58 + bcs IrqHandler_Loop539 ; CPU:$B242 PRG:3242 B0 58 lda $0501 ; CPU:$B244 PRG:3244 AD 01 05 clc ; CPU:$B247 PRG:3247 18 adc #$12 ; CPU:$B248 PRG:3248 69 12 cmp $0702,x ; CPU:$B24A PRG:324A DD 02 07 - bcc IrqHandler_Loop500 ; CPU:$B24D PRG:324D 90 4D + bcc IrqHandler_Loop539 ; CPU:$B24D PRG:324D 90 4D lda $0502 ; CPU:$B24F PRG:324F AD 02 05 sec ; CPU:$B252 PRG:3252 38 sbc #$0A ; CPU:$B253 PRG:3253 E9 0A cmp $0700,x ; CPU:$B255 PRG:3255 DD 00 07 - bcs IrqHandler_Loop500 ; CPU:$B258 PRG:3258 B0 42 + bcs IrqHandler_Loop539 ; CPU:$B258 PRG:3258 B0 42 lda $0502 ; CPU:$B25A PRG:325A AD 02 05 clc ; CPU:$B25D PRG:325D 18 adc #$04 ; CPU:$B25E PRG:325E 69 04 cmp $0700,x ; CPU:$B260 PRG:3260 DD 00 07 - bcc IrqHandler_Loop500 ; CPU:$B263 PRG:3263 90 37 + bcc IrqHandler_Loop539 ; CPU:$B263 PRG:3263 90 37 lda #$3C ; CPU:$B265 PRG:3265 A9 3C sta $07E0 ; CPU:$B267 PRG:3267 8D E0 07 lda #$10 ; CPU:$B26A PRG:326A A9 10 @@ -11992,48 +12927,48 @@ Sub_B234: sta $05A7 ; CPU:$B271 PRG:3271 8D A7 05 clc ; CPU:$B274 PRG:3274 18 lda $07EC ; CPU:$B275 PRG:3275 AD EC 07 - bne IrqHandler_Loop498 ; CPU:$B278 PRG:3278 D0 05 + bne IrqHandler_Loop537 ; CPU:$B278 PRG:3278 D0 05 adc #$04 ; CPU:$B27A PRG:327A 69 04 sta $07EC ; CPU:$B27C PRG:327C 8D EC 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop498 -; Global: Branch target inside IrqHandler: taken when Loop498. +; Routine: IrqHandler_Loop537 +; Global: Branch target inside IrqHandler: taken when Loop537. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop498: +IrqHandler_Loop537: lda Zp05 ; CPU:$B27F PRG:327F A5 05 - bne IrqHandler_Loop500 ; CPU:$B281 PRG:3281 D0 19 + bne IrqHandler_Loop539 ; CPU:$B281 PRG:3281 D0 19 lda $0708,x ; CPU:$B283 PRG:3283 BD 08 07 cmp #$30 ; CPU:$B286 PRG:3286 C9 30 - bne IrqHandler_Loop499 ; CPU:$B288 PRG:3288 D0 08 + bne IrqHandler_Loop538 ; CPU:$B288 PRG:3288 D0 08 lda $06B1 ; CPU:$B28A PRG:328A AD B1 06 eor #$01 ; CPU:$B28D PRG:328D 49 01 sta $06B1 ; CPU:$B28F PRG:328F 8D B1 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop499 -; Global: Branch target inside IrqHandler: taken when Loop499. +; Routine: IrqHandler_Loop538 +; Global: Branch target inside IrqHandler: taken when Loop538. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop499: +IrqHandler_Loop538: lda #$0D ; CPU:$B292 PRG:3292 A9 0D jsr Sub_E08B ; CPU:$B294 PRG:3294 20 8B E0 lda #$01 ; CPU:$B297 PRG:3297 A9 01 sta $07E9 ; CPU:$B299 PRG:3299 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop500 -; Global: Branch target inside IrqHandler: taken when Loop500. +; Routine: IrqHandler_Loop539 +; Global: Branch target inside IrqHandler: taken when Loop539. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop500: +IrqHandler_Loop539: rts ; CPU:$B29C PRG:329C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B29D @@ -12045,27 +12980,27 @@ IrqHandler_Loop500: ; ----------------------------------------------------------------------------- Sub_B29D: lda $07E9 ; CPU:$B29D PRG:329D AD E9 07 - bne IrqHandler_Loop502 ; CPU:$B2A0 PRG:32A0 D0 54 + bne IrqHandler_Loop541 ; CPU:$B2A0 PRG:32A0 D0 54 lda $0501 ; CPU:$B2A2 PRG:32A2 AD 01 05 sec ; CPU:$B2A5 PRG:32A5 38 sbc #$0A ; CPU:$B2A6 PRG:32A6 E9 0A cmp $0702,x ; CPU:$B2A8 PRG:32A8 DD 02 07 - bcs IrqHandler_Loop502 ; CPU:$B2AB PRG:32AB B0 49 + bcs IrqHandler_Loop541 ; CPU:$B2AB PRG:32AB B0 49 lda $0501 ; CPU:$B2AD PRG:32AD AD 01 05 clc ; CPU:$B2B0 PRG:32B0 18 adc #$12 ; CPU:$B2B1 PRG:32B1 69 12 cmp $0702,x ; CPU:$B2B3 PRG:32B3 DD 02 07 - bcc IrqHandler_Loop502 ; CPU:$B2B6 PRG:32B6 90 3E + bcc IrqHandler_Loop541 ; CPU:$B2B6 PRG:32B6 90 3E lda $0502 ; CPU:$B2B8 PRG:32B8 AD 02 05 sec ; CPU:$B2BB PRG:32BB 38 sbc #$04 ; CPU:$B2BC PRG:32BC E9 04 cmp $0700,x ; CPU:$B2BE PRG:32BE DD 00 07 - bcs IrqHandler_Loop502 ; CPU:$B2C1 PRG:32C1 B0 33 + bcs IrqHandler_Loop541 ; CPU:$B2C1 PRG:32C1 B0 33 lda $0502 ; CPU:$B2C3 PRG:32C3 AD 02 05 clc ; CPU:$B2C6 PRG:32C6 18 adc #$04 ; CPU:$B2C7 PRG:32C7 69 04 cmp $0700,x ; CPU:$B2C9 PRG:32C9 DD 00 07 - bcc IrqHandler_Loop502 ; CPU:$B2CC PRG:32CC 90 28 + bcc IrqHandler_Loop541 ; CPU:$B2CC PRG:32CC 90 28 lda #$3C ; CPU:$B2CE PRG:32CE A9 3C sta $07E0 ; CPU:$B2D0 PRG:32D0 8D E0 07 lda #$10 ; CPU:$B2D3 PRG:32D3 A9 10 @@ -12074,33 +13009,33 @@ Sub_B29D: sta $05A7 ; CPU:$B2DA PRG:32DA 8D A7 05 clc ; CPU:$B2DD PRG:32DD 18 lda $07EC ; CPU:$B2DE PRG:32DE AD EC 07 - bne IrqHandler_Loop501 ; CPU:$B2E1 PRG:32E1 D0 05 + bne IrqHandler_Loop540 ; CPU:$B2E1 PRG:32E1 D0 05 adc #$04 ; CPU:$B2E3 PRG:32E3 69 04 sta $07EC ; CPU:$B2E5 PRG:32E5 8D EC 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop501 -; Global: Branch target inside IrqHandler: taken when Loop501. +; Routine: IrqHandler_Loop540 +; Global: Branch target inside IrqHandler: taken when Loop540. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop501: +IrqHandler_Loop540: lda Zp05 ; CPU:$B2E8 PRG:32E8 A5 05 - bne IrqHandler_Loop502 ; CPU:$B2EA PRG:32EA D0 0A + bne IrqHandler_Loop541 ; CPU:$B2EA PRG:32EA D0 0A lda #$0D ; CPU:$B2EC PRG:32EC A9 0D jsr Sub_E08B ; CPU:$B2EE PRG:32EE 20 8B E0 lda #$01 ; CPU:$B2F1 PRG:32F1 A9 01 sta $07E9 ; CPU:$B2F3 PRG:32F3 8D E9 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop502 -; Global: Branch target inside IrqHandler: taken when Loop502. +; Routine: IrqHandler_Loop541 +; Global: Branch target inside IrqHandler: taken when Loop541. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop502: +IrqHandler_Loop541: rts ; CPU:$B2F6 PRG:32F6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2F7 @@ -12113,31 +13048,31 @@ IrqHandler_Loop502: Sub_B2F7: ldx #$38 ; CPU:$B2F7 PRG:32F7 A2 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative13 -; Global: Branch target inside IrqHandler: taken when OnNonnegative13. +; Routine: IrqHandler_OnNonnegative15 +; Global: Branch target inside IrqHandler: taken when OnNonnegative15. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative13: +IrqHandler_OnNonnegative15: lda $0427,x ; CPU:$B2F9 PRG:32F9 BD 27 04 - beq IrqHandler_Loop503 ; CPU:$B2FC PRG:32FC F0 03 + beq IrqHandler_Loop542 ; CPU:$B2FC PRG:32FC F0 03 jsr Sub_B309 ; CPU:$B2FE PRG:32FE 20 09 B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop503 -; Global: Branch target inside IrqHandler: taken when Loop503. +; Routine: IrqHandler_Loop542 +; Global: Branch target inside IrqHandler: taken when Loop542. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop503: +IrqHandler_Loop542: txa ; CPU:$B301 PRG:3301 8A sec ; CPU:$B302 PRG:3302 38 sbc #$08 ; CPU:$B303 PRG:3303 E9 08 tax ; CPU:$B305 PRG:3305 AA - bpl IrqHandler_OnNonnegative13 ; CPU:$B306 PRG:3306 10 F1 + bpl IrqHandler_OnNonnegative15 ; CPU:$B306 PRG:3306 10 F1 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero7 ; Global: Branch target inside IrqHandler: taken when OnZero7. @@ -12166,89 +13101,89 @@ Sub_B309: sec ; CPU:$B318 PRG:3318 38 sbc #$04 ; CPU:$B319 PRG:3319 E9 04 cmp $0579 ; CPU:$B31B PRG:331B CD 79 05 - bcc IrqHandler_Loop504 ; CPU:$B31E PRG:331E 90 03 - jmp IrqHandler_Loop502 ; CPU:$B320 PRG:3320 4C F6 B2 + bcc IrqHandler_Loop543 ; CPU:$B31E PRG:331E 90 03 + jmp IrqHandler_Loop541 ; CPU:$B320 PRG:3320 4C F6 B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop504 -; Global: Branch target inside IrqHandler: taken when Loop504. +; Routine: IrqHandler_Loop543 +; Global: Branch target inside IrqHandler: taken when Loop543. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop504: +IrqHandler_Loop543: lda $0422,x ; CPU:$B323 PRG:3323 BD 22 04 clc ; CPU:$B326 PRG:3326 18 adc #$04 ; CPU:$B327 PRG:3327 69 04 cmp $0579 ; CPU:$B329 PRG:3329 CD 79 05 - bcc IrqHandler_Loop502 ; CPU:$B32C PRG:332C 90 C8 + bcc IrqHandler_Loop541 ; CPU:$B32C PRG:332C 90 C8 lda $0421,x ; CPU:$B32E PRG:332E BD 21 04 sec ; CPU:$B331 PRG:3331 38 sbc #$04 ; CPU:$B332 PRG:3332 E9 04 cmp $0577 ; CPU:$B334 PRG:3334 CD 77 05 - bcs IrqHandler_Loop502 ; CPU:$B337 PRG:3337 B0 BD + bcs IrqHandler_Loop541 ; CPU:$B337 PRG:3337 B0 BD lda $0421,x ; CPU:$B339 PRG:3339 BD 21 04 sta Zp4F ; CPU:$B33C PRG:333C 85 4F clc ; CPU:$B33E PRG:333E 18 adc #$04 ; CPU:$B33F PRG:333F 69 04 cmp $0577 ; CPU:$B341 PRG:3341 CD 77 05 - bcs IrqHandler_Loop505 ; CPU:$B344 PRG:3344 B0 03 + bcs IrqHandler_Loop544 ; CPU:$B344 PRG:3344 B0 03 jmp Sub_B3FA ; CPU:$B346 PRG:3346 4C FA B3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop505 -; Global: Branch target inside IrqHandler: taken when Loop505. +; Routine: IrqHandler_Loop544 +; Global: Branch target inside IrqHandler: taken when Loop544. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop505: +IrqHandler_Loop544: lda $0427,x ; CPU:$B349 PRG:3349 BD 27 04 cmp #$61 ; CPU:$B34C PRG:334C C9 61 - beq IrqHandler_Loop507 ; CPU:$B34E PRG:334E F0 2E + beq IrqHandler_Loop546 ; CPU:$B34E PRG:334E F0 2E cmp #$6F ; CPU:$B350 PRG:3350 C9 6F - beq IrqHandler_Loop507 ; CPU:$B352 PRG:3352 F0 2A + beq IrqHandler_Loop546 ; CPU:$B352 PRG:3352 F0 2A cmp #$6F ; CPU:$B354 PRG:3354 C9 6F - beq IrqHandler_Loop507 ; CPU:$B356 PRG:3356 F0 26 + beq IrqHandler_Loop546 ; CPU:$B356 PRG:3356 F0 26 cmp #$D6 ; CPU:$B358 PRG:3358 C9 D6 - bne IrqHandler_Loop506 ; CPU:$B35A PRG:335A D0 15 + bne IrqHandler_Loop545 ; CPU:$B35A PRG:335A D0 15 inc $0426,x ; CPU:$B35C PRG:335C FE 26 04 lda $0426,x ; CPU:$B35F PRG:335F BD 26 04 cmp #$05 ; CPU:$B362 PRG:3362 C9 05 - beq IrqHandler_Loop506 ; CPU:$B364 PRG:3364 F0 0B + beq IrqHandler_Loop545 ; CPU:$B364 PRG:3364 F0 0B lda #$0A ; CPU:$B366 PRG:3366 A9 0A jsr Sub_E08B ; CPU:$B368 PRG:3368 20 8B E0 lda #$00 ; CPU:$B36B PRG:336B A9 00 sta $057D ; CPU:$B36D PRG:336D 8D 7D 05 rts ; CPU:$B370 PRG:3370 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop506 -; Global: Branch target inside IrqHandler: taken when Loop506. +; Routine: IrqHandler_Loop545 +; Global: Branch target inside IrqHandler: taken when Loop545. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop506: +IrqHandler_Loop545: clc ; CPU:$B371 PRG:3371 18 lda $07EC ; CPU:$B372 PRG:3372 AD EC 07 - bne IrqHandler_Loop508 ; CPU:$B375 PRG:3375 D0 27 + bne IrqHandler_Loop547 ; CPU:$B375 PRG:3375 D0 27 adc #$04 ; CPU:$B377 PRG:3377 69 04 sta $07EC ; CPU:$B379 PRG:3379 8D EC 07 - bne IrqHandler_Loop508 ; CPU:$B37C PRG:337C D0 20 + bne IrqHandler_Loop547 ; CPU:$B37C PRG:337C D0 20 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop507 -; Global: Branch target inside IrqHandler: taken when Loop507. +; Routine: IrqHandler_Loop546 +; Global: Branch target inside IrqHandler: taken when Loop546. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop507: +IrqHandler_Loop546: lda $0421,x ; CPU:$B37E PRG:337E BD 21 04 - sta Zp4A ; CPU:$B381 PRG:3381 85 4A + sta DispatchPtrLo ; CPU:$B381 PRG:3381 85 4A lda $0422,x ; CPU:$B383 PRG:3383 BD 22 04 - sta Zp4B ; CPU:$B386 PRG:3386 85 4B + sta DispatchPtrHi ; CPU:$B386 PRG:3386 85 4B txa ; CPU:$B388 PRG:3388 8A pha ; CPU:$B389 PRG:3389 48 jsr Sub_992B ; CPU:$B38A PRG:338A 20 2B 99 @@ -12260,28 +13195,28 @@ IrqHandler_Loop507: pla ; CPU:$B39C PRG:339C 68 tax ; CPU:$B39D PRG:339D AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop508 -; Global: Branch target inside IrqHandler: taken when Loop508. +; Routine: IrqHandler_Loop547 +; Global: Branch target inside IrqHandler: taken when Loop547. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop508: +IrqHandler_Loop547: lda $0427,x ; CPU:$B39E PRG:339E BD 27 04 cmp #$42 ; CPU:$B3A1 PRG:33A1 C9 42 - beq IrqHandler_Loop509 ; CPU:$B3A3 PRG:33A3 F0 04 + beq IrqHandler_Loop548 ; CPU:$B3A3 PRG:33A3 F0 04 cmp #$DA ; CPU:$B3A5 PRG:33A5 C9 DA - bne IrqHandler_Loop510 ; CPU:$B3A7 PRG:33A7 D0 0C + bne IrqHandler_Loop549 ; CPU:$B3A7 PRG:33A7 D0 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop509 -; Global: Branch target inside IrqHandler: taken when Loop509. +; Routine: IrqHandler_Loop548 +; Global: Branch target inside IrqHandler: taken when Loop548. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop509: +IrqHandler_Loop548: txa ; CPU:$B3A9 PRG:33A9 8A pha ; CPU:$B3AA PRG:33AA 48 lda #$0F ; CPU:$B3AB PRG:33AB A9 0F @@ -12290,53 +13225,53 @@ IrqHandler_Loop509: pla ; CPU:$B3B3 PRG:33B3 68 tax ; CPU:$B3B4 PRG:33B4 AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop510 -; Global: Branch target inside IrqHandler: taken when Loop510. +; Routine: IrqHandler_Loop549 +; Global: Branch target inside IrqHandler: taken when Loop549. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop510: +IrqHandler_Loop549: lda $0462 ; CPU:$B3B5 PRG:33B5 AD 62 04 cmp #$FF ; CPU:$B3B8 PRG:33B8 C9 FF - beq IrqHandler_Loop512 ; CPU:$B3BA PRG:33BA F0 18 + beq IrqHandler_Loop551 ; CPU:$B3BA PRG:33BA F0 18 dec $0462 ; CPU:$B3BC PRG:33BC CE 62 04 - beq IrqHandler_Loop511 ; CPU:$B3BF PRG:33BF F0 02 - bpl IrqHandler_Loop512 ; CPU:$B3C1 PRG:33C1 10 11 + beq IrqHandler_Loop550 ; CPU:$B3BF PRG:33BF F0 02 + bpl IrqHandler_Loop551 ; CPU:$B3C1 PRG:33C1 10 11 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop511 -; Global: Branch target inside IrqHandler: taken when Loop511. +; Routine: IrqHandler_Loop550 +; Global: Branch target inside IrqHandler: taken when Loop550. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop511: +IrqHandler_Loop550: jsr Sub_B3FB ; CPU:$B3C3 PRG:33C3 20 FB B3 lda $0461 ; CPU:$B3C6 PRG:33C6 AD 61 04 asl a ; CPU:$B3C9 PRG:33C9 0A - bcs IrqHandler_Loop512 ; CPU:$B3CA PRG:33CA B0 08 + bcs IrqHandler_Loop551 ; CPU:$B3CA PRG:33CA B0 08 jsr Sub_B413 ; CPU:$B3CC PRG:33CC 20 13 B4 lda #$00 ; CPU:$B3CF PRG:33CF A9 00 sta $046A ; CPU:$B3D1 PRG:33D1 8D 6A 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop512 -; Global: Branch target inside IrqHandler: taken when Loop512. +; Routine: IrqHandler_Loop551 +; Global: Branch target inside IrqHandler: taken when Loop551. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop512: +IrqHandler_Loop551: lda #$00 ; CPU:$B3D4 PRG:33D4 A9 00 sta $0427,x ; CPU:$B3D6 PRG:33D6 9D 27 04 sta $0426,x ; CPU:$B3D9 PRG:33D9 9D 26 04 sta $057D ; CPU:$B3DC PRG:33DC 8D 7D 05 lda $0577 ; CPU:$B3DF PRG:33DF AD 77 05 - sta Zp4A ; CPU:$B3E2 PRG:33E2 85 4A + sta DispatchPtrLo ; CPU:$B3E2 PRG:33E2 85 4A lda $0579 ; CPU:$B3E4 PRG:33E4 AD 79 05 - sta Zp4B ; CPU:$B3E7 PRG:33E7 85 4B + sta DispatchPtrHi ; CPU:$B3E7 PRG:33E7 85 4B lda #$03 ; CPU:$B3E9 PRG:33E9 A9 03 sta Zp4C ; CPU:$B3EB PRG:33EB 85 4C jsr Sub_B4FB ; CPU:$B3ED PRG:33ED 20 FB B4 @@ -12370,19 +13305,19 @@ Sub_B3FB: sta Zp67 ; CPU:$B403 PRG:3403 85 67 sta Zp6B ; CPU:$B405 PRG:3405 85 6B lda $07EC ; CPU:$B407 PRG:3407 AD EC 07 - bne IrqHandler_Loop513 ; CPU:$B40A PRG:340A D0 06 + bne IrqHandler_Loop552 ; CPU:$B40A PRG:340A D0 06 clc ; CPU:$B40C PRG:340C 18 adc #$04 ; CPU:$B40D PRG:340D 69 04 sta $07EC ; CPU:$B40F PRG:340F 8D EC 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop513 -; Global: Branch target inside IrqHandler: taken when Loop513. +; Routine: IrqHandler_Loop552 +; Global: Branch target inside IrqHandler: taken when Loop552. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop513: +IrqHandler_Loop552: rts ; CPU:$B412 PRG:3412 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B413 @@ -12393,30 +13328,30 @@ IrqHandler_Loop513: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B413: - lda ZpFC ; CPU:$B413 PRG:3413 A5 FC + lda LevelIndex ; CPU:$B413 PRG:3413 A5 FC cmp #$01 ; CPU:$B415 PRG:3415 C9 01 - beq IrqHandler_Loop517 ; CPU:$B417 PRG:3417 F0 46 + beq IrqHandler_Loop556 ; CPU:$B417 PRG:3417 F0 46 lda $046A ; CPU:$B419 PRG:3419 AD 6A 04 - bne IrqHandler_Loop517 ; CPU:$B41C PRG:341C D0 41 + bne IrqHandler_Loop556 ; CPU:$B41C PRG:341C D0 41 lda $05AA ; CPU:$B41E PRG:341E AD AA 05 - beq IrqHandler_Loop517 ; CPU:$B421 PRG:3421 F0 3C + beq IrqHandler_Loop556 ; CPU:$B421 PRG:3421 F0 3C txa ; CPU:$B423 PRG:3423 8A pha ; CPU:$B424 PRG:3424 48 lda $0461 ; CPU:$B425 PRG:3425 AD 61 04 and #$7F ; CPU:$B428 PRG:3428 29 7F cmp #$0A ; CPU:$B42A PRG:342A C9 0A - bne IrqHandler_Loop514 ; CPU:$B42C PRG:342C D0 02 + bne IrqHandler_Loop553 ; CPU:$B42C PRG:342C D0 02 lda #$00 ; CPU:$B42E PRG:342E A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop514 -; Global: Branch target inside IrqHandler: taken when Loop514. +; Routine: IrqHandler_Loop553 +; Global: Branch target inside IrqHandler: taken when Loop553. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop514: - sta Zp46 ; CPU:$B430 PRG:3430 85 46 +IrqHandler_Loop553: + sta VramWritePtrLo ; CPU:$B430 PRG:3430 85 46 tax ; CPU:$B432 PRG:3432 AA lda $DC08,x ; CPU:$B433 PRG:3433 BD 08 DC sta Zp65 ; CPU:$B436 PRG:3436 85 65 @@ -12425,31 +13360,31 @@ IrqHandler_Loop514: sta Zp73 ; CPU:$B43C PRG:343C 85 73 sta Zp74 ; CPU:$B43E PRG:343E 85 74 cmp #$0F ; CPU:$B440 PRG:3440 C9 0F - bne IrqHandler_Loop515 ; CPU:$B442 PRG:3442 D0 04 + bne IrqHandler_Loop554 ; CPU:$B442 PRG:3442 D0 04 lda #$00 ; CPU:$B444 PRG:3444 A9 00 - beq IrqHandler_Loop516 ; CPU:$B446 PRG:3446 F0 02 + beq IrqHandler_Loop555 ; CPU:$B446 PRG:3446 F0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop515 -; Global: Branch target inside IrqHandler: taken when Loop515. +; Routine: IrqHandler_Loop554 +; Global: Branch target inside IrqHandler: taken when Loop554. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop515: +IrqHandler_Loop554: lda #$0F ; CPU:$B448 PRG:3448 A9 0F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop516 -; Global: Branch target inside IrqHandler: taken when Loop516. +; Routine: IrqHandler_Loop555 +; Global: Branch target inside IrqHandler: taken when Loop555. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop516: +IrqHandler_Loop555: sta Zp5C ; CPU:$B44A PRG:344A 85 5C - inc Zp46 ; CPU:$B44C PRG:344C E6 46 - lda Zp46 ; CPU:$B44E PRG:344E A5 46 + inc VramWritePtrLo ; CPU:$B44C PRG:344C E6 46 + lda VramWritePtrLo ; CPU:$B44E PRG:344E A5 46 ora #$80 ; CPU:$B450 PRG:3450 09 80 sta $0461 ; CPU:$B452 PRG:3452 8D 61 04 lda #$02 ; CPU:$B455 PRG:3455 A9 02 @@ -12458,14 +13393,14 @@ IrqHandler_Loop516: pla ; CPU:$B45D PRG:345D 68 tax ; CPU:$B45E PRG:345E AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop517 -; Global: Branch target inside IrqHandler: taken when Loop517. +; Routine: IrqHandler_Loop556 +; Global: Branch target inside IrqHandler: taken when Loop556. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop517: +IrqHandler_Loop556: rts ; CPU:$B45F PRG:345F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B460 @@ -12478,72 +13413,72 @@ IrqHandler_Loop517: Sub_B460: dec $0710,x ; CPU:$B460 PRG:3460 DE 10 07 lda $0710,x ; CPU:$B463 PRG:3463 BD 10 07 - bne IrqHandler_Loop518 ; CPU:$B466 PRG:3466 D0 06 + bne IrqHandler_Loop557 ; CPU:$B466 PRG:3466 D0 06 lda #$00 ; CPU:$B468 PRG:3468 A9 00 sta $0706,x ; CPU:$B46A PRG:346A 9D 06 07 rts ; CPU:$B46D PRG:346D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop518 -; Global: Branch target inside IrqHandler: taken when Loop518. +; Routine: IrqHandler_Loop557 +; Global: Branch target inside IrqHandler: taken when Loop557. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop518: +IrqHandler_Loop557: lda $0710,x ; CPU:$B46E PRG:346E BD 10 07 cmp #$08 ; CPU:$B471 PRG:3471 C9 08 - bcc IrqHandler_Loop519 ; CPU:$B473 PRG:3473 90 06 + bcc IrqHandler_Loop558 ; CPU:$B473 PRG:3473 90 06 lda #$8D ; CPU:$B475 PRG:3475 A9 8D - sta Zp1A ; CPU:$B477 PRG:3477 85 1A - bne IrqHandler_Loop520 ; CPU:$B479 PRG:3479 D0 04 + sta PlayerXLow ; CPU:$B477 PRG:3477 85 1A + bne IrqHandler_Loop559 ; CPU:$B479 PRG:3479 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop519 -; Global: Branch target inside IrqHandler: taken when Loop519. +; Routine: IrqHandler_Loop558 +; Global: Branch target inside IrqHandler: taken when Loop558. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop519: +IrqHandler_Loop558: lda #$8C ; CPU:$B47B PRG:347B A9 8C - sta Zp1A ; CPU:$B47D PRG:347D 85 1A + sta PlayerXLow ; CPU:$B47D PRG:347D 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop520 -; Global: Branch target inside IrqHandler: taken when Loop520. +; Routine: IrqHandler_Loop559 +; Global: Branch target inside IrqHandler: taken when Loop559. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop520: +IrqHandler_Loop559: lda $0700,x ; CPU:$B47F PRG:347F BD 00 07 - sta Zp19 ; CPU:$B482 PRG:3482 85 19 + sta PlayerXHigh ; CPU:$B482 PRG:3482 85 19 lda $0702,x ; CPU:$B484 PRG:3484 BD 02 07 - sta Zp1C ; CPU:$B487 PRG:3487 85 1C + sta PlayerYHigh ; CPU:$B487 PRG:3487 85 1C lda #$02 ; CPU:$B489 PRG:3489 A9 02 - sta Zp1B ; CPU:$B48B PRG:348B 85 1B + sta PlayerYLow ; CPU:$B48B PRG:348B 85 1B jsr Sub_8221 ; CPU:$B48D PRG:348D 20 21 82 - lda Zp1C ; CPU:$B490 PRG:3490 A5 1C + lda PlayerYHigh ; CPU:$B490 PRG:3490 A5 1C clc ; CPU:$B492 PRG:3492 18 adc #$08 ; CPU:$B493 PRG:3493 69 08 - sta Zp1C ; CPU:$B495 PRG:3495 85 1C + sta PlayerYHigh ; CPU:$B495 PRG:3495 85 1C lda #$42 ; CPU:$B497 PRG:3497 A9 42 - sta Zp1B ; CPU:$B499 PRG:3499 85 1B + sta PlayerYLow ; CPU:$B499 PRG:3499 85 1B jsr Sub_8221 ; CPU:$B49B PRG:349B 20 21 82 - lda Zp19 ; CPU:$B49E PRG:349E A5 19 + lda PlayerXHigh ; CPU:$B49E PRG:349E A5 19 clc ; CPU:$B4A0 PRG:34A0 18 adc #$08 ; CPU:$B4A1 PRG:34A1 69 08 - sta Zp19 ; CPU:$B4A3 PRG:34A3 85 19 + sta PlayerXHigh ; CPU:$B4A3 PRG:34A3 85 19 lda #$C2 ; CPU:$B4A5 PRG:34A5 A9 C2 - sta Zp1B ; CPU:$B4A7 PRG:34A7 85 1B + sta PlayerYLow ; CPU:$B4A7 PRG:34A7 85 1B jsr Sub_8221 ; CPU:$B4A9 PRG:34A9 20 21 82 - lda Zp1C ; CPU:$B4AC PRG:34AC A5 1C + lda PlayerYHigh ; CPU:$B4AC PRG:34AC A5 1C sec ; CPU:$B4AE PRG:34AE 38 sbc #$08 ; CPU:$B4AF PRG:34AF E9 08 - sta Zp1C ; CPU:$B4B1 PRG:34B1 85 1C + sta PlayerYHigh ; CPU:$B4B1 PRG:34B1 85 1C lda #$82 ; CPU:$B4B3 PRG:34B3 A9 82 - sta Zp1B ; CPU:$B4B5 PRG:34B5 85 1B + sta PlayerYLow ; CPU:$B4B5 PRG:34B5 85 1B jmp Sub_8221 ; CPU:$B4B7 PRG:34B7 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_B4BA @@ -12565,22 +13500,22 @@ Sub_B4BA: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero37: lda $0706,x ; CPU:$B4BC PRG:34BC BD 06 07 - beq IrqHandler_Loop521 ; CPU:$B4BF PRG:34BF F0 0E + beq IrqHandler_Loop560 ; CPU:$B4BF PRG:34BF F0 0E lda $0708,x ; CPU:$B4C1 PRG:34C1 BD 08 07 and #$0F ; CPU:$B4C4 PRG:34C4 29 0F cmp #$02 ; CPU:$B4C6 PRG:34C6 C9 02 - beq IrqHandler_Loop521 ; CPU:$B4C8 PRG:34C8 F0 05 + beq IrqHandler_Loop560 ; CPU:$B4C8 PRG:34C8 F0 05 lda #$10 ; CPU:$B4CA PRG:34CA A9 10 sta $0710,x ; CPU:$B4CC PRG:34CC 9D 10 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop521 -; Global: Branch target inside IrqHandler: taken when Loop521. +; Routine: IrqHandler_Loop560 +; Global: Branch target inside IrqHandler: taken when Loop560. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop521: +IrqHandler_Loop560: txa ; CPU:$B4CF PRG:34CF 8A sec ; CPU:$B4D0 PRG:34D0 38 sbc #$14 ; CPU:$B4D1 PRG:34D1 E9 14 @@ -12601,34 +13536,34 @@ Sub_B4D9: pha ; CPU:$B4DA PRG:34DA 48 ldx #$38 ; CPU:$B4DB PRG:34DB A2 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative14 -; Global: Branch target inside IrqHandler: taken when OnNonnegative14. +; Routine: IrqHandler_OnNonnegative16 +; Global: Branch target inside IrqHandler: taken when OnNonnegative16. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative14: +IrqHandler_OnNonnegative16: lda $0427,x ; CPU:$B4DD PRG:34DD BD 27 04 cmp #$DF ; CPU:$B4E0 PRG:34E0 C9 DF - bne IrqHandler_Loop522 ; CPU:$B4E2 PRG:34E2 D0 08 + bne IrqHandler_Loop561 ; CPU:$B4E2 PRG:34E2 D0 08 lda #$00 ; CPU:$B4E4 PRG:34E4 A9 00 sta $0427,x ; CPU:$B4E6 PRG:34E6 9D 27 04 sta $0426,x ; CPU:$B4E9 PRG:34E9 9D 26 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop522 -; Global: Branch target inside IrqHandler: taken when Loop522. +; Routine: IrqHandler_Loop561 +; Global: Branch target inside IrqHandler: taken when Loop561. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop522: +IrqHandler_Loop561: txa ; CPU:$B4EC PRG:34EC 8A sec ; CPU:$B4ED PRG:34ED 38 sbc #$08 ; CPU:$B4EE PRG:34EE E9 08 tax ; CPU:$B4F0 PRG:34F0 AA - bpl IrqHandler_OnNonnegative14 ; CPU:$B4F1 PRG:34F1 10 EA + bpl IrqHandler_OnNonnegative16 ; CPU:$B4F1 PRG:34F1 10 EA lda #$19 ; CPU:$B4F3 PRG:34F3 A9 19 jsr Sub_E08B ; CPU:$B4F5 PRG:34F5 20 8B E0 pla ; CPU:$B4F8 PRG:34F8 68 @@ -12647,38 +13582,38 @@ Sub_B4FB: pha ; CPU:$B4FC PRG:34FC 48 ldx #$0C ; CPU:$B4FD PRG:34FD A2 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative15 -; Global: Branch target inside IrqHandler: taken when OnNonnegative15. +; Routine: IrqHandler_OnNonnegative17 +; Global: Branch target inside IrqHandler: taken when OnNonnegative17. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative15: +IrqHandler_OnNonnegative17: lda $05EA,x ; CPU:$B4FF PRG:34FF BD EA 05 - beq IrqHandler_Loop523 ; CPU:$B502 PRG:3502 F0 0A + beq IrqHandler_Loop562 ; CPU:$B502 PRG:3502 F0 0A txa ; CPU:$B504 PRG:3504 8A sec ; CPU:$B505 PRG:3505 38 sbc #$04 ; CPU:$B506 PRG:3506 E9 04 tax ; CPU:$B508 PRG:3508 AA - bpl IrqHandler_OnNonnegative15 ; CPU:$B509 PRG:3509 10 F4 + bpl IrqHandler_OnNonnegative17 ; CPU:$B509 PRG:3509 10 F4 pla ; CPU:$B50B PRG:350B 68 tax ; CPU:$B50C PRG:350C AA rts ; CPU:$B50D PRG:350D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop523 -; Global: Branch target inside IrqHandler: taken when Loop523. +; Routine: IrqHandler_Loop562 +; Global: Branch target inside IrqHandler: taken when Loop562. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop523: - lda Zp4A ; CPU:$B50E PRG:350E A5 4A +IrqHandler_Loop562: + lda DispatchPtrLo ; CPU:$B50E PRG:350E A5 4A sec ; CPU:$B510 PRG:3510 38 sbc #$08 ; CPU:$B511 PRG:3511 E9 08 sta $05E8,x ; CPU:$B513 PRG:3513 9D E8 05 - lda Zp4B ; CPU:$B516 PRG:3516 A5 4B + lda DispatchPtrHi ; CPU:$B516 PRG:3516 A5 4B sta $05E9,x ; CPU:$B518 PRG:3518 9D E9 05 lda #$1E ; CPU:$B51B PRG:351B A9 1E sta $05EA,x ; CPU:$B51D PRG:351D 9D EA 05 @@ -12698,31 +13633,31 @@ IrqHandler_Loop523: Sub_B528: ldx #$0C ; CPU:$B528 PRG:3528 A2 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative16 -; Global: Branch target inside IrqHandler: taken when OnNonnegative16. +; Routine: IrqHandler_OnNonnegative18 +; Global: Branch target inside IrqHandler: taken when OnNonnegative18. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative16: +IrqHandler_OnNonnegative18: lda $05EA,x ; CPU:$B52A PRG:352A BD EA 05 - beq IrqHandler_Loop524 ; CPU:$B52D PRG:352D F0 03 + beq IrqHandler_Loop563 ; CPU:$B52D PRG:352D F0 03 jsr Sub_B53A ; CPU:$B52F PRG:352F 20 3A B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop524 -; Global: Branch target inside IrqHandler: taken when Loop524. +; Routine: IrqHandler_Loop563 +; Global: Branch target inside IrqHandler: taken when Loop563. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop524: +IrqHandler_Loop563: txa ; CPU:$B532 PRG:3532 8A sec ; CPU:$B533 PRG:3533 38 sbc #$04 ; CPU:$B534 PRG:3534 E9 04 tax ; CPU:$B536 PRG:3536 AA - bpl IrqHandler_OnNonnegative16 ; CPU:$B537 PRG:3537 10 F1 + bpl IrqHandler_OnNonnegative18 ; CPU:$B537 PRG:3537 10 F1 rts ; CPU:$B539 PRG:3539 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B53A @@ -12737,125 +13672,125 @@ Sub_B53A: dec $05E8,x ; CPU:$B53D PRG:353D DE E8 05 lda $05EB,x ; CPU:$B540 PRG:3540 BD EB 05 asl a ; CPU:$B543 PRG:3543 0A - bcs IrqHandler_Loop525 ; CPU:$B544 PRG:3544 B0 08 - lda Zp54 ; CPU:$B546 PRG:3546 A5 54 + bcs IrqHandler_Loop564 ; CPU:$B544 PRG:3544 B0 08 + lda FrameCounter ; CPU:$B546 PRG:3546 A5 54 lsr a ; CPU:$B548 PRG:3548 4A - bcc IrqHandler_Loop525 ; CPU:$B549 PRG:3549 90 03 + bcc IrqHandler_Loop564 ; CPU:$B549 PRG:3549 90 03 dec $05E9,x ; CPU:$B54B PRG:354B DE E9 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop525 -; Global: Branch target inside IrqHandler: taken when Loop525. +; Routine: IrqHandler_Loop564 +; Global: Branch target inside IrqHandler: taken when Loop564. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop525: +IrqHandler_Loop564: lda #$A5 ; CPU:$B54E PRG:354E A9 A5 - sta Zp4E ; CPU:$B550 PRG:3550 85 4E + sta ScrollY ; CPU:$B550 PRG:3550 85 4E lda $05EB,x ; CPU:$B552 PRG:3552 BD EB 05 and #$0F ; CPU:$B555 PRG:3555 29 0F - bne IrqHandler_Loop526 ; CPU:$B557 PRG:3557 D0 0B + bne IrqHandler_Loop565 ; CPU:$B557 PRG:3557 D0 0B lda #$01 ; CPU:$B559 PRG:3559 A9 01 - sta Zp4D ; CPU:$B55B PRG:355B 85 4D + sta ScrollX ; CPU:$B55B PRG:355B 85 4D lda #$02 ; CPU:$B55D PRG:355D A9 02 - sta Zp4E ; CPU:$B55F PRG:355F 85 4E + sta ScrollY ; CPU:$B55F PRG:355F 85 4E jmp Sub_B5AB ; CPU:$B561 PRG:3561 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop526 -; Global: Branch target inside IrqHandler: taken when Loop526. +; Routine: IrqHandler_Loop565 +; Global: Branch target inside IrqHandler: taken when Loop565. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop526: +IrqHandler_Loop565: cmp #$01 ; CPU:$B564 PRG:3564 C9 01 - bne IrqHandler_Loop527 ; CPU:$B566 PRG:3566 D0 07 + bne IrqHandler_Loop566 ; CPU:$B566 PRG:3566 D0 07 lda #$7D ; CPU:$B568 PRG:3568 A9 7D - sta Zp4D ; CPU:$B56A PRG:356A 85 4D + sta ScrollX ; CPU:$B56A PRG:356A 85 4D jmp Sub_B5AB ; CPU:$B56C PRG:356C 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop527 -; Global: Branch target inside IrqHandler: taken when Loop527. +; Routine: IrqHandler_Loop566 +; Global: Branch target inside IrqHandler: taken when Loop566. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop527: +IrqHandler_Loop566: cmp #$02 ; CPU:$B56F PRG:356F C9 02 - bne IrqHandler_Loop528 ; CPU:$B571 PRG:3571 D0 07 + bne IrqHandler_Loop567 ; CPU:$B571 PRG:3571 D0 07 lda #$C9 ; CPU:$B573 PRG:3573 A9 C9 - sta Zp4D ; CPU:$B575 PRG:3575 85 4D + sta ScrollX ; CPU:$B575 PRG:3575 85 4D jmp Sub_B5AB ; CPU:$B577 PRG:3577 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop528 -; Global: Branch target inside IrqHandler: taken when Loop528. +; Routine: IrqHandler_Loop567 +; Global: Branch target inside IrqHandler: taken when Loop567. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop528: +IrqHandler_Loop567: cmp #$03 ; CPU:$B57A PRG:357A C9 03 - bne IrqHandler_Loop529 ; CPU:$B57C PRG:357C D0 07 + bne IrqHandler_Loop568 ; CPU:$B57C PRG:357C D0 07 lda #$85 ; CPU:$B57E PRG:357E A9 85 - sta Zp4D ; CPU:$B580 PRG:3580 85 4D + sta ScrollX ; CPU:$B580 PRG:3580 85 4D jmp Sub_B5AB ; CPU:$B582 PRG:3582 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop529 -; Global: Branch target inside IrqHandler: taken when Loop529. +; Routine: IrqHandler_Loop568 +; Global: Branch target inside IrqHandler: taken when Loop568. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop529: +IrqHandler_Loop568: cmp #$04 ; CPU:$B585 PRG:3585 C9 04 - bne IrqHandler_Loop530 ; CPU:$B587 PRG:3587 D0 07 + bne IrqHandler_Loop569 ; CPU:$B587 PRG:3587 D0 07 lda #$95 ; CPU:$B589 PRG:3589 A9 95 - sta Zp4D ; CPU:$B58B PRG:358B 85 4D + sta ScrollX ; CPU:$B58B PRG:358B 85 4D jmp Sub_B5AB ; CPU:$B58D PRG:358D 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop530 -; Global: Branch target inside IrqHandler: taken when Loop530. +; Routine: IrqHandler_Loop569 +; Global: Branch target inside IrqHandler: taken when Loop569. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop530: +IrqHandler_Loop569: cmp #$05 ; CPU:$B590 PRG:3590 C9 05 - bne IrqHandler_Loop531 ; CPU:$B592 PRG:3592 D0 07 + bne IrqHandler_Loop570 ; CPU:$B592 PRG:3592 D0 07 lda #$A4 ; CPU:$B594 PRG:3594 A9 A4 - sta Zp4D ; CPU:$B596 PRG:3596 85 4D + sta ScrollX ; CPU:$B596 PRG:3596 85 4D jmp Sub_B5AB ; CPU:$B598 PRG:3598 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop531 -; Global: Branch target inside IrqHandler: taken when Loop531. +; Routine: IrqHandler_Loop570 +; Global: Branch target inside IrqHandler: taken when Loop570. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop531: +IrqHandler_Loop570: cmp #$06 ; CPU:$B59B PRG:359B C9 06 - bne IrqHandler_Loop532 ; CPU:$B59D PRG:359D D0 0B + bne IrqHandler_Loop571 ; CPU:$B59D PRG:359D D0 0B lda #$CA ; CPU:$B59F PRG:359F A9 CA - sta Zp4D ; CPU:$B5A1 PRG:35A1 85 4D + sta ScrollX ; CPU:$B5A1 PRG:35A1 85 4D lda #$CB ; CPU:$B5A3 PRG:35A3 A9 CB - sta Zp4E ; CPU:$B5A5 PRG:35A5 85 4E + sta ScrollY ; CPU:$B5A5 PRG:35A5 85 4E jmp Sub_B5AB ; CPU:$B5A7 PRG:35A7 4C AB B5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop532 -; Global: Branch target inside IrqHandler: taken when Loop532. +; Routine: IrqHandler_Loop571 +; Global: Branch target inside IrqHandler: taken when Loop571. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop532: +IrqHandler_Loop571: rts ; CPU:$B5AA PRG:35AA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B5AB @@ -12868,34 +13803,35 @@ IrqHandler_Loop532: Sub_B5AB: lda $05EA,x ; CPU:$B5AB PRG:35AB BD EA 05 cmp #$1D ; CPU:$B5AE PRG:35AE C9 1D - bne IrqHandler_Loop533 ; CPU:$B5B0 PRG:35B0 D0 00 + bne IrqHandler_Loop572 ; CPU:$B5B0 PRG:35B0 D0 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop533 -; Global: Branch target inside IrqHandler: taken when Loop533. +; Routine: IrqHandler_Loop572 +; Global: Branch target inside IrqHandler: taken when Loop572. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop533: +IrqHandler_Loop572: lda #$02 ; CPU:$B5B2 PRG:35B2 A9 02 - sta Zp1B ; CPU:$B5B4 PRG:35B4 85 1B + sta PlayerYLow ; CPU:$B5B4 PRG:35B4 85 1B lda $05E8,x ; CPU:$B5B6 PRG:35B6 BD E8 05 - sta Zp19 ; CPU:$B5B9 PRG:35B9 85 19 + sta PlayerXHigh ; CPU:$B5B9 PRG:35B9 85 19 lda $05E9,x ; CPU:$B5BB PRG:35BB BD E9 05 - sta Zp1C ; CPU:$B5BE PRG:35BE 85 1C - lda Zp4D ; CPU:$B5C0 PRG:35C0 A5 4D - sta Zp1A ; CPU:$B5C2 PRG:35C2 85 1A + sta PlayerYHigh ; CPU:$B5BE PRG:35BE 85 1C + lda ScrollX ; CPU:$B5C0 PRG:35C0 A5 4D + sta PlayerXLow ; CPU:$B5C2 PRG:35C2 85 1A jsr Sub_8221 ; CPU:$B5C4 PRG:35C4 20 21 82 - lda Zp1C ; CPU:$B5C7 PRG:35C7 A5 1C + lda PlayerYHigh ; CPU:$B5C7 PRG:35C7 A5 1C clc ; CPU:$B5C9 PRG:35C9 18 adc #$08 ; CPU:$B5CA PRG:35CA 69 08 - sta Zp1C ; CPU:$B5CC PRG:35CC 85 1C - lda Zp4E ; CPU:$B5CE PRG:35CE A5 4E - sta Zp1A ; CPU:$B5D0 PRG:35D0 85 1A + sta PlayerYHigh ; CPU:$B5CC PRG:35CC 85 1C + lda ScrollY ; CPU:$B5CE PRG:35CE A5 4E + sta PlayerXLow ; CPU:$B5D0 PRG:35D0 85 1A jmp Sub_8221 ; CPU:$B5D2 PRG:35D2 4C 21 82 ; ---- data $B5D5-$B5DD (9 bytes) ---- - .byte $3A, $48, $4F, $4D, $45, $44, $41, $54, $41 ; CPU:$B5D5 PRG:35D5 3A 48 4F 4D 45 44 41 54 41 +HomeDataText: + .byte $3A, $48, $4F, $4D, $45, $44, $41, $54, $41 ; CPU:$B5D5 PRG:-A2B 3A 48 4F 4D 45 44 41 54 41 ; ----------------------------------------------------------------------------- ; Routine: Sub_B5DE ; Global: Branch target inside Sub: taken when B5DE. @@ -12905,66 +13841,66 @@ IrqHandler_Loop533: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B5DE: - lda Zp9A ; CPU:$B5DE PRG:35DE A5 9A - bne IrqHandler_Loop534 ; CPU:$B5E0 PRG:35E0 D0 01 + lda GameState ; CPU:$B5DE PRG:35DE A5 9A + bne IrqHandler_Loop573 ; CPU:$B5E0 PRG:35E0 D0 01 rts ; CPU:$B5E2 PRG:35E2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop534 -; Global: Branch target inside IrqHandler: taken when Loop534. +; Routine: IrqHandler_Loop573 +; Global: Branch target inside IrqHandler: taken when Loop573. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop534: +IrqHandler_Loop573: dec Zp9B ; CPU:$B5E3 PRG:35E3 C6 9B - bmi IrqHandler_Loop535 ; CPU:$B5E5 PRG:35E5 30 01 + bmi IrqHandler_Loop574 ; CPU:$B5E5 PRG:35E5 30 01 rts ; CPU:$B5E7 PRG:35E7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop535 -; Global: Branch target inside IrqHandler: taken when Loop535. +; Routine: IrqHandler_Loop574 +; Global: Branch target inside IrqHandler: taken when Loop574. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop535: +IrqHandler_Loop574: lda #$0F ; CPU:$B5E8 PRG:35E8 A9 0F sta Zp9B ; CPU:$B5EA PRG:35EA 85 9B lda $0627 ; CPU:$B5EC PRG:35EC AD 27 06 - beq IrqHandler_Loop536 ; CPU:$B5EF PRG:35EF F0 16 + beq IrqHandler_Loop575 ; CPU:$B5EF PRG:35EF F0 16 dec $0627 ; CPU:$B5F1 PRG:35F1 CE 27 06 lda $0627 ; CPU:$B5F4 PRG:35F4 AD 27 06 cmp #$F0 ; CPU:$B5F7 PRG:35F7 C9 F0 - bne IrqHandler_Loop536 ; CPU:$B5F9 PRG:35F9 D0 0C + bne IrqHandler_Loop575 ; CPU:$B5F9 PRG:35F9 D0 0C lda #$00 ; CPU:$B5FB PRG:35FB A9 00 - sta Zp9A ; CPU:$B5FD PRG:35FD 85 9A + sta GameState ; CPU:$B5FD PRG:35FD 85 9A lda #$FF ; CPU:$B5FF PRG:35FF A9 FF sta $0628 ; CPU:$B601 PRG:3601 8D 28 06 - jmp IrqHandler_Loop536 ; CPU:$B604 PRG:3604 4C 07 B6 + jmp IrqHandler_Loop575 ; CPU:$B604 PRG:3604 4C 07 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop536 -; Global: Branch target inside IrqHandler: taken when Loop536. +; Routine: IrqHandler_Loop575 +; Global: Branch target inside IrqHandler: taken when Loop575. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop536: +IrqHandler_Loop575: lda ZpA5 ; CPU:$B607 PRG:3607 A5 A5 clc ; CPU:$B609 PRG:3609 18 - adc ZpA0 ; CPU:$B60A PRG:360A 65 A0 - sta ZpA0 ; CPU:$B60C PRG:360C 85 A0 + adc SpriteX ; CPU:$B60A PRG:360A 65 A0 + sta SpriteX ; CPU:$B60C PRG:360C 85 A0 lda #$00 ; CPU:$B60E PRG:360E A9 00 - adc ZpA1 ; CPU:$B610 PRG:3610 65 A1 - sta ZpA1 ; CPU:$B612 PRG:3612 85 A1 + adc SpriteY ; CPU:$B610 PRG:3610 65 A1 + sta SpriteY ; CPU:$B612 PRG:3612 85 A1 lda #$00 ; CPU:$B614 PRG:3614 A9 00 sta PPUMASK ; CPU:$B616 PRG:3616 8D 01 20 lda ZpA9 ; CPU:$B619 PRG:3619 A5 A9 sta PPUADDR ; CPU:$B61B PRG:361B 8D 06 20 lda ZpA8 ; CPU:$B61E PRG:361E A5 A8 sta PPUADDR ; CPU:$B620 PRG:3620 8D 06 20 - lda Zp1D ; CPU:$B623 PRG:3623 A5 1D + lda PpuCtrlShadow ; CPU:$B623 PRG:3623 A5 1D ora #$04 ; CPU:$B625 PRG:3625 09 04 sta PPUCTRL ; CPU:$B627 PRG:3627 8D 00 20 ; ----------------------------------------------------------------------------- @@ -12987,66 +13923,66 @@ Sub_B62A: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B62E: - lda (ZpA0),y ; CPU:$B62E PRG:362E B1 A0 + lda (SpriteX),y ; CPU:$B62E PRG:362E B1 A0 cmp #$E7 ; CPU:$B630 PRG:3630 C9 E7 - bne IrqHandler_Loop537 ; CPU:$B632 PRG:3632 D0 03 + bne IrqHandler_Loop576 ; CPU:$B632 PRG:3632 D0 03 jmp Sub_B97A ; CPU:$B634 PRG:3634 4C 7A B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop537 -; Global: Branch target inside IrqHandler: taken when Loop537. +; Routine: IrqHandler_Loop576 +; Global: Branch target inside IrqHandler: taken when Loop576. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop537: +IrqHandler_Loop576: cmp #$E8 ; CPU:$B637 PRG:3637 C9 E8 - bne IrqHandler_Loop538 ; CPU:$B639 PRG:3639 D0 03 + bne IrqHandler_Loop577 ; CPU:$B639 PRG:3639 D0 03 jmp Sub_B97A ; CPU:$B63B PRG:363B 4C 7A B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop538 -; Global: Branch target inside IrqHandler: taken when Loop538. +; Routine: IrqHandler_Loop577 +; Global: Branch target inside IrqHandler: taken when Loop577. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop538: +IrqHandler_Loop577: cmp #$E9 ; CPU:$B63E PRG:363E C9 E9 - bne IrqHandler_Loop539 ; CPU:$B640 PRG:3640 D0 03 + bne IrqHandler_Loop578 ; CPU:$B640 PRG:3640 D0 03 jmp Sub_B985 ; CPU:$B642 PRG:3642 4C 85 B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop539 -; Global: Branch target inside IrqHandler: taken when Loop539. +; Routine: IrqHandler_Loop578 +; Global: Branch target inside IrqHandler: taken when Loop578. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop539: +IrqHandler_Loop578: cmp #$F0 ; CPU:$B645 PRG:3645 C9 F0 - bne IrqHandler_Loop540 ; CPU:$B647 PRG:3647 D0 10 + bne IrqHandler_Loop579 ; CPU:$B647 PRG:3647 D0 10 lda ZpFB ; CPU:$B649 PRG:3649 A5 FB eor #$01 ; CPU:$B64B PRG:364B 49 01 sta ZpFB ; CPU:$B64D PRG:364D 85 FB lda #$01 ; CPU:$B64F PRG:364F A9 01 - sta ZpFC ; CPU:$B651 PRG:3651 85 FC + sta LevelIndex ; CPU:$B651 PRG:3651 85 FC lda #$01 ; CPU:$B653 PRG:3653 A9 01 sta $0472 ; CPU:$B655 PRG:3655 8D 72 04 rts ; CPU:$B658 PRG:3658 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop540 -; Global: Branch target inside IrqHandler: taken when Loop540. +; Routine: IrqHandler_Loop579 +; Global: Branch target inside IrqHandler: taken when Loop579. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop540: +IrqHandler_Loop579: cmp #$C0 ; CPU:$B659 PRG:3659 C9 C0 - bne IrqHandler_Loop541 ; CPU:$B65B PRG:365B D0 18 + bne IrqHandler_Loop580 ; CPU:$B65B PRG:365B D0 18 lda #$08 ; CPU:$B65D PRG:365D A9 08 - sta ZpFC ; CPU:$B65F PRG:365F 85 FC + sta LevelIndex ; CPU:$B65F PRG:365F 85 FC lda #$FF ; CPU:$B661 PRG:3661 A9 FF sta $0472 ; CPU:$B663 PRG:3663 8D 72 04 jsr Sub_81BE ; CPU:$B666 PRG:3666 20 BE 81 @@ -13057,27 +13993,27 @@ IrqHandler_Loop540: jsr Sub_86D8 ; CPU:$B671 PRG:3671 20 D8 86 rts ; CPU:$B674 PRG:3674 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop541 -; Global: Branch target inside IrqHandler: taken when Loop541. +; Routine: IrqHandler_Loop580 +; Global: Branch target inside IrqHandler: taken when Loop580. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop541: +IrqHandler_Loop580: sta Zp4C ; CPU:$B675 PRG:3675 85 4C cmp #$E0 ; CPU:$B677 PRG:3677 C9 E0 - beq IrqHandler_Loop543 ; CPU:$B679 PRG:3679 F0 2F + beq IrqHandler_Loop582 ; CPU:$B679 PRG:3679 F0 2F cmp #$D1 ; CPU:$B67B PRG:367B C9 D1 - beq IrqHandler_Loop543 ; CPU:$B67D PRG:367D F0 2B + beq IrqHandler_Loop582 ; CPU:$B67D PRG:367D F0 2B cmp #$D2 ; CPU:$B67F PRG:367F C9 D2 - beq IrqHandler_Loop543 ; CPU:$B681 PRG:3681 F0 27 + beq IrqHandler_Loop582 ; CPU:$B681 PRG:3681 F0 27 cmp #$D3 ; CPU:$B683 PRG:3683 C9 D3 - beq IrqHandler_Loop543 ; CPU:$B685 PRG:3685 F0 23 + beq IrqHandler_Loop582 ; CPU:$B685 PRG:3685 F0 23 cmp #$D4 ; CPU:$B687 PRG:3687 C9 D4 - beq IrqHandler_Loop543 ; CPU:$B689 PRG:3689 F0 1F + beq IrqHandler_Loop582 ; CPU:$B689 PRG:3689 F0 1F cmp #$C1 ; CPU:$B68B PRG:368B C9 C1 - beq IrqHandler_Loop543 ; CPU:$B68D PRG:368D F0 1B + beq IrqHandler_Loop582 ; CPU:$B68D PRG:368D F0 1B jmp Sub_B750 ; CPU:$B68F PRG:368F 4C 50 B7 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero8 @@ -13089,75 +14025,75 @@ IrqHandler_Loop541: ; ----------------------------------------------------------------------------- IrqHandler_OnZero8: lda $06B1 ; CPU:$B692 PRG:3692 AD B1 06 - beq IrqHandler_Loop542 ; CPU:$B695 PRG:3695 F0 10 + beq IrqHandler_Loop581 ; CPU:$B695 PRG:3695 F0 10 lda #$55 ; CPU:$B697 PRG:3697 A9 55 - sta ZpA0 ; CPU:$B699 PRG:3699 85 A0 + sta SpriteX ; CPU:$B699 PRG:3699 85 A0 lda #$DB ; CPU:$B69B PRG:369B A9 DB - sta ZpA1 ; CPU:$B69D PRG:369D 85 A1 + sta SpriteY ; CPU:$B69D PRG:369D 85 A1 lda #$FF ; CPU:$B69F PRG:369F A9 FF sta $0462 ; CPU:$B6A1 PRG:36A1 8D 62 04 jmp Sub_B73C ; CPU:$B6A4 PRG:36A4 4C 3C B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop542 -; Global: Branch target inside IrqHandler: taken when Loop542. +; Routine: IrqHandler_Loop581 +; Global: Branch target inside IrqHandler: taken when Loop581. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop542: - jmp IrqHandler_Loop549 ; CPU:$B6A7 PRG:36A7 4C 57 B7 +IrqHandler_Loop581: + jmp IrqHandler_Loop588 ; CPU:$B6A7 PRG:36A7 4C 57 B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop543 -; Global: Branch target inside IrqHandler: taken when Loop543. +; Routine: IrqHandler_Loop582 +; Global: Branch target inside IrqHandler: taken when Loop582. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop543: - lda ZpA0 ; CPU:$B6AA PRG:36AA A5 A0 +IrqHandler_Loop582: + lda SpriteX ; CPU:$B6AA PRG:36AA A5 A0 sta ZpA2 ; CPU:$B6AC PRG:36AC 85 A2 - lda ZpA1 ; CPU:$B6AE PRG:36AE A5 A1 + lda SpriteY ; CPU:$B6AE PRG:36AE A5 A1 sta ZpA3 ; CPU:$B6B0 PRG:36B0 85 A3 sty ZpA4 ; CPU:$B6B2 PRG:36B2 84 A4 lda ZpA5 ; CPU:$B6B4 PRG:36B4 A5 A5 sta ZpA5 ; CPU:$B6B6 PRG:36B6 85 A5 lda Zp4C ; CPU:$B6B8 PRG:36B8 A5 4C cmp #$D4 ; CPU:$B6BA PRG:36BA C9 D4 - beq IrqHandler_Loop548 ; CPU:$B6BC PRG:36BC F0 71 + beq IrqHandler_Loop587 ; CPU:$B6BC PRG:36BC F0 71 cmp #$C1 ; CPU:$B6BE PRG:36BE C9 C1 beq IrqHandler_OnZero8 ; CPU:$B6C0 PRG:36C0 F0 D0 lda #$01 ; CPU:$B6C2 PRG:36C2 A9 01 sta $0465 ; CPU:$B6C4 PRG:36C4 8D 65 04 lda $0462 ; CPU:$B6C7 PRG:36C7 AD 62 04 - beq IrqHandler_Loop544 ; CPU:$B6CA PRG:36CA F0 0D + beq IrqHandler_Loop583 ; CPU:$B6CA PRG:36CA F0 0D cmp #$FF ; CPU:$B6CC PRG:36CC C9 FF - beq IrqHandler_Loop544 ; CPU:$B6CE PRG:36CE F0 09 + beq IrqHandler_Loop583 ; CPU:$B6CE PRG:36CE F0 09 lda $0461 ; CPU:$B6D0 PRG:36D0 AD 61 04 asl a ; CPU:$B6D3 PRG:36D3 0A - bcc IrqHandler_Loop544 ; CPU:$B6D4 PRG:36D4 90 03 + bcc IrqHandler_Loop583 ; CPU:$B6D4 PRG:36D4 90 03 jsr Sub_B776 ; CPU:$B6D6 PRG:36D6 20 76 B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop544 -; Global: Branch target inside IrqHandler: taken when Loop544. +; Routine: IrqHandler_Loop583 +; Global: Branch target inside IrqHandler: taken when Loop583. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop544: +IrqHandler_Loop583: lda Zp4C ; CPU:$B6D9 PRG:36D9 A5 4C cmp #$D1 ; CPU:$B6DB PRG:36DB C9 D1 - beq IrqHandler_Loop545 ; CPU:$B6DD PRG:36DD F0 20 + beq IrqHandler_Loop584 ; CPU:$B6DD PRG:36DD F0 20 cmp #$D2 ; CPU:$B6DF PRG:36DF C9 D2 - beq IrqHandler_Loop546 ; CPU:$B6E1 PRG:36E1 F0 2C + beq IrqHandler_Loop585 ; CPU:$B6E1 PRG:36E1 F0 2C cmp #$D3 ; CPU:$B6E3 PRG:36E3 C9 D3 - beq IrqHandler_Loop547 ; CPU:$B6E5 PRG:36E5 F0 38 + beq IrqHandler_Loop586 ; CPU:$B6E5 PRG:36E5 F0 38 lda #$5A ; CPU:$B6E7 PRG:36E7 A9 5A - sta ZpA0 ; CPU:$B6E9 PRG:36E9 85 A0 + sta SpriteX ; CPU:$B6E9 PRG:36E9 85 A0 lda #$D8 ; CPU:$B6EB PRG:36EB A9 D8 - sta ZpA1 ; CPU:$B6ED PRG:36ED 85 A1 + sta SpriteY ; CPU:$B6ED PRG:36ED 85 A1 lda #$FF ; CPU:$B6EF PRG:36EF A9 FF sta $0627 ; CPU:$B6F1 PRG:36F1 8D 27 06 lda #$04 ; CPU:$B6F4 PRG:36F4 A9 04 @@ -13165,66 +14101,66 @@ IrqHandler_Loop544: sta $046A ; CPU:$B6F9 PRG:36F9 8D 6A 04 jmp Sub_B73C ; CPU:$B6FC PRG:36FC 4C 3C B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop545 -; Global: Branch target inside IrqHandler: taken when Loop545. +; Routine: IrqHandler_Loop584 +; Global: Branch target inside IrqHandler: taken when Loop584. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop545: +IrqHandler_Loop584: lda #$14 ; CPU:$B6FF PRG:36FF A9 14 - sta ZpA0 ; CPU:$B701 PRG:3701 85 A0 + sta SpriteX ; CPU:$B701 PRG:3701 85 A0 lda #$DA ; CPU:$B703 PRG:3703 A9 DA - sta ZpA1 ; CPU:$B705 PRG:3705 85 A1 + sta SpriteY ; CPU:$B705 PRG:3705 85 A1 lda #$FF ; CPU:$B707 PRG:3707 A9 FF sta $0462 ; CPU:$B709 PRG:3709 8D 62 04 jmp Sub_B73C ; CPU:$B70C PRG:370C 4C 3C B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop546 -; Global: Branch target inside IrqHandler: taken when Loop546. +; Routine: IrqHandler_Loop585 +; Global: Branch target inside IrqHandler: taken when Loop585. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop546: +IrqHandler_Loop585: lda #$42 ; CPU:$B70F PRG:370F A9 42 - sta ZpA0 ; CPU:$B711 PRG:3711 85 A0 + sta SpriteX ; CPU:$B711 PRG:3711 85 A0 lda #$DA ; CPU:$B713 PRG:3713 A9 DA - sta ZpA1 ; CPU:$B715 PRG:3715 85 A1 + sta SpriteY ; CPU:$B715 PRG:3715 85 A1 lda #$06 ; CPU:$B717 PRG:3717 A9 06 sta $0462 ; CPU:$B719 PRG:3719 8D 62 04 jmp Sub_B73C ; CPU:$B71C PRG:371C 4C 3C B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop547 -; Global: Branch target inside IrqHandler: taken when Loop547. +; Routine: IrqHandler_Loop586 +; Global: Branch target inside IrqHandler: taken when Loop586. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop547: +IrqHandler_Loop586: lda #$48 ; CPU:$B71F PRG:371F A9 48 - sta ZpA0 ; CPU:$B721 PRG:3721 85 A0 + sta SpriteX ; CPU:$B721 PRG:3721 85 A0 lda #$D9 ; CPU:$B723 PRG:3723 A9 D9 - sta ZpA1 ; CPU:$B725 PRG:3725 85 A1 + sta SpriteY ; CPU:$B725 PRG:3725 85 A1 lda #$06 ; CPU:$B727 PRG:3727 A9 06 sta $0462 ; CPU:$B729 PRG:3729 8D 62 04 jmp Sub_B73C ; CPU:$B72C PRG:372C 4C 3C B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop548 -; Global: Branch target inside IrqHandler: taken when Loop548. +; Routine: IrqHandler_Loop587 +; Global: Branch target inside IrqHandler: taken when Loop587. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop548: +IrqHandler_Loop587: lda #$04 ; CPU:$B72F PRG:372F A9 04 - sta ZpA0 ; CPU:$B731 PRG:3731 85 A0 + sta SpriteX ; CPU:$B731 PRG:3731 85 A0 lda #$DB ; CPU:$B733 PRG:3733 A9 DB - sta ZpA1 ; CPU:$B735 PRG:3735 85 A1 + sta SpriteY ; CPU:$B735 PRG:3735 85 A1 lda #$FF ; CPU:$B737 PRG:3737 A9 FF sta $0462 ; CPU:$B739 PRG:3739 8D 62 04 ; ----------------------------------------------------------------------------- @@ -13240,11 +14176,11 @@ Sub_B73C: sty ZpA5 ; CPU:$B73E PRG:373E 84 A5 lda ZpA5 ; CPU:$B740 PRG:3740 A5 A5 clc ; CPU:$B742 PRG:3742 18 - adc ZpA0 ; CPU:$B743 PRG:3743 65 A0 - sta ZpA0 ; CPU:$B745 PRG:3745 85 A0 + adc SpriteX ; CPU:$B743 PRG:3743 65 A0 + sta SpriteX ; CPU:$B745 PRG:3745 85 A0 lda #$00 ; CPU:$B747 PRG:3747 A9 00 - adc ZpA1 ; CPU:$B749 PRG:3749 65 A1 - sta ZpA1 ; CPU:$B74B PRG:374B 85 A1 + adc SpriteY ; CPU:$B749 PRG:3749 65 A1 + sta SpriteY ; CPU:$B74B PRG:374B 85 A1 jmp Sub_B62A ; CPU:$B74D PRG:374D 4C 2A B6 ; ----------------------------------------------------------------------------- ; Routine: Sub_B750 @@ -13256,32 +14192,32 @@ Sub_B73C: ; ----------------------------------------------------------------------------- Sub_B750: cmp #$E1 ; CPU:$B750 PRG:3750 C9 E1 - beq IrqHandler_Loop549 ; CPU:$B752 PRG:3752 F0 03 + beq IrqHandler_Loop588 ; CPU:$B752 PRG:3752 F0 03 jmp Sub_B7ED ; CPU:$B754 PRG:3754 4C ED B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop549 -; Global: Branch target inside IrqHandler: taken when Loop549. +; Routine: IrqHandler_Loop588 +; Global: Branch target inside IrqHandler: taken when Loop588. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop549: +IrqHandler_Loop588: lda ZpA2 ; CPU:$B757 PRG:3757 A5 A2 - sta ZpA0 ; CPU:$B759 PRG:3759 85 A0 + sta SpriteX ; CPU:$B759 PRG:3759 85 A0 lda ZpA3 ; CPU:$B75B PRG:375B A5 A3 - sta ZpA1 ; CPU:$B75D PRG:375D 85 A1 + sta SpriteY ; CPU:$B75D PRG:375D 85 A1 ldy ZpA4 ; CPU:$B75F PRG:375F A4 A4 iny ; CPU:$B761 PRG:3761 C8 lda ZpA5 ; CPU:$B762 PRG:3762 A5 A5 sta ZpA5 ; CPU:$B764 PRG:3764 85 A5 lda ZpA5 ; CPU:$B766 PRG:3766 A5 A5 clc ; CPU:$B768 PRG:3768 18 - adc ZpA0 ; CPU:$B769 PRG:3769 65 A0 - sta ZpA0 ; CPU:$B76B PRG:376B 85 A0 + adc SpriteX ; CPU:$B769 PRG:3769 65 A0 + sta SpriteX ; CPU:$B76B PRG:376B 85 A0 lda #$00 ; CPU:$B76D PRG:376D A9 00 - adc ZpA1 ; CPU:$B76F PRG:376F 65 A1 - sta ZpA1 ; CPU:$B771 PRG:3771 85 A1 + adc SpriteY ; CPU:$B76F PRG:376F 65 A1 + sta SpriteY ; CPU:$B771 PRG:3771 85 A1 jmp Sub_B62A ; CPU:$B773 PRG:3773 4C 2A B6 ; ----------------------------------------------------------------------------- ; Routine: Sub_B776 @@ -13292,65 +14228,65 @@ IrqHandler_Loop549: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B776: - lda ZpFC ; CPU:$B776 PRG:3776 A5 FC + lda LevelIndex ; CPU:$B776 PRG:3776 A5 FC cmp #$05 ; CPU:$B778 PRG:3778 C9 05 - bcs IrqHandler_Loop551 ; CPU:$B77A PRG:377A B0 24 + bcs IrqHandler_Loop590 ; CPU:$B77A PRG:377A B0 24 lda #$11 ; CPU:$B77C PRG:377C A9 11 sta Zp65 ; CPU:$B77E PRG:377E 85 65 lda ZpFB ; CPU:$B780 PRG:3780 A5 FB - bne IrqHandler_Loop550 ; CPU:$B782 PRG:3782 D0 0E + bne IrqHandler_Loop589 ; CPU:$B782 PRG:3782 D0 0E lda #$21 ; CPU:$B784 PRG:3784 A9 21 sta Zp73 ; CPU:$B786 PRG:3786 85 73 lda #$29 ; CPU:$B788 PRG:3788 A9 29 sta Zp6F ; CPU:$B78A PRG:378A 85 6F lda #$08 ; CPU:$B78C PRG:378C A9 08 sta Zp70 ; CPU:$B78E PRG:378E 85 70 - bne IrqHandler_Loop553 ; CPU:$B790 PRG:3790 D0 40 + bne IrqHandler_Loop592 ; CPU:$B790 PRG:3790 D0 40 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop550 -; Global: Branch target inside IrqHandler: taken when Loop550. +; Routine: IrqHandler_Loop589 +; Global: Branch target inside IrqHandler: taken when Loop589. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop550: +IrqHandler_Loop589: lda #$0F ; CPU:$B792 PRG:3792 A9 0F sta Zp73 ; CPU:$B794 PRG:3794 85 73 lda #$26 ; CPU:$B796 PRG:3796 A9 26 sta Zp6F ; CPU:$B798 PRG:3798 85 6F lda #$0F ; CPU:$B79A PRG:379A A9 0F sta Zp70 ; CPU:$B79C PRG:379C 85 70 - bne IrqHandler_Loop553 ; CPU:$B79E PRG:379E D0 32 + bne IrqHandler_Loop592 ; CPU:$B79E PRG:379E D0 32 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop551 -; Global: Branch target inside IrqHandler: taken when Loop551. +; Routine: IrqHandler_Loop590 +; Global: Branch target inside IrqHandler: taken when Loop590. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop551: +IrqHandler_Loop590: lda #$0C ; CPU:$B7A0 PRG:37A0 A9 0C sta Zp6F ; CPU:$B7A2 PRG:37A2 85 6F lda #$22 ; CPU:$B7A4 PRG:37A4 A9 22 sta Zp70 ; CPU:$B7A6 PRG:37A6 85 70 lda ZpFB ; CPU:$B7A8 PRG:37A8 A5 FB - bne IrqHandler_Loop552 ; CPU:$B7AA PRG:37AA D0 0A + bne IrqHandler_Loop591 ; CPU:$B7AA PRG:37AA D0 0A lda #$26 ; CPU:$B7AC PRG:37AC A9 26 sta Zp73 ; CPU:$B7AE PRG:37AE 85 73 lda #$01 ; CPU:$B7B0 PRG:37B0 A9 01 sta Zp65 ; CPU:$B7B2 PRG:37B2 85 65 - bne IrqHandler_Loop553 ; CPU:$B7B4 PRG:37B4 D0 1C + bne IrqHandler_Loop592 ; CPU:$B7B4 PRG:37B4 D0 1C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop552 -; Global: Branch target inside IrqHandler: taken when Loop552. +; Routine: IrqHandler_Loop591 +; Global: Branch target inside IrqHandler: taken when Loop591. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop552: +IrqHandler_Loop591: lda #$01 ; CPU:$B7B6 PRG:37B6 A9 01 sta Zp73 ; CPU:$B7B8 PRG:37B8 85 73 lda #$0F ; CPU:$B7BA PRG:37BA A9 0F @@ -13364,27 +14300,27 @@ IrqHandler_Loop552: sta Zp75 ; CPU:$B7CA PRG:37CA 85 75 lda #$00 ; CPU:$B7CC PRG:37CC A9 00 sta Zp5C ; CPU:$B7CE PRG:37CE 85 5C - beq IrqHandler_Loop554 ; CPU:$B7D0 PRG:37D0 F0 04 + beq IrqHandler_Loop593 ; CPU:$B7D0 PRG:37D0 F0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop553 -; Global: Branch target inside IrqHandler: taken when Loop553. +; Routine: IrqHandler_Loop592 +; Global: Branch target inside IrqHandler: taken when Loop592. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop553: +IrqHandler_Loop592: lda #$0F ; CPU:$B7D2 PRG:37D2 A9 0F sta Zp5C ; CPU:$B7D4 PRG:37D4 85 5C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop554 -; Global: Branch target inside IrqHandler: taken when Loop554. +; Routine: IrqHandler_Loop593 +; Global: Branch target inside IrqHandler: taken when Loop593. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop554: +IrqHandler_Loop593: lda #$2B ; CPU:$B7D6 PRG:37D6 A9 2B sta Zp74 ; CPU:$B7D8 PRG:37D8 85 74 lda #$01 ; CPU:$B7DA PRG:37DA A9 01 @@ -13405,140 +14341,140 @@ IrqHandler_Loop554: ; ----------------------------------------------------------------------------- Sub_B7ED: cmp #$EF ; CPU:$B7ED PRG:37ED C9 EF - bne IrqHandler_Loop556 ; CPU:$B7EF PRG:37EF D0 25 + bne IrqHandler_Loop595 ; CPU:$B7EF PRG:37EF D0 25 lda #$00 ; CPU:$B7F1 PRG:37F1 A9 00 sta $046A ; CPU:$B7F3 PRG:37F3 8D 6A 04 sta $05AA ; CPU:$B7F6 PRG:37F6 8D AA 05 lda #$FF ; CPU:$B7F9 PRG:37F9 A9 FF sta $0462 ; CPU:$B7FB PRG:37FB 8D 62 04 iny ; CPU:$B7FE PRG:37FE C8 - lda (ZpA0),y ; CPU:$B7FF PRG:37FF B1 A0 - sta Zp4A ; CPU:$B801 PRG:3801 85 4A + lda (SpriteX),y ; CPU:$B7FF PRG:37FF B1 A0 + sta DispatchPtrLo ; CPU:$B801 PRG:3801 85 4A lda Zp55 ; CPU:$B803 PRG:3803 A5 55 asl a ; CPU:$B805 PRG:3805 0A - bcc IrqHandler_Loop555 ; CPU:$B806 PRG:3806 90 07 - lda Zp4A ; CPU:$B808 PRG:3808 A5 4A - sta ZpFC ; CPU:$B80A PRG:380A 85 FC + bcc IrqHandler_Loop594 ; CPU:$B806 PRG:3806 90 07 + lda DispatchPtrLo ; CPU:$B808 PRG:3808 A5 4A + sta LevelIndex ; CPU:$B80A PRG:380A 85 FC jsr Sub_E08B ; CPU:$B80C PRG:380C 20 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop555 -; Global: Branch target inside IrqHandler: taken when Loop555. +; Routine: IrqHandler_Loop594 +; Global: Branch target inside IrqHandler: taken when Loop594. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop555: +IrqHandler_Loop594: jsr Sub_FE3E ; CPU:$B80F PRG:380F 20 3E FE iny ; CPU:$B812 PRG:3812 C8 jmp Sub_B62E ; CPU:$B813 PRG:3813 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop556 -; Global: Branch target inside IrqHandler: taken when Loop556. +; Routine: IrqHandler_Loop595 +; Global: Branch target inside IrqHandler: taken when Loop595. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop556: +IrqHandler_Loop595: cmp #$EE ; CPU:$B816 PRG:3816 C9 EE - bne IrqHandler_Loop557 ; CPU:$B818 PRG:3818 D0 09 + bne IrqHandler_Loop596 ; CPU:$B818 PRG:3818 D0 09 lda #$0B ; CPU:$B81A PRG:381A A9 0B jsr Sub_E08B ; CPU:$B81C PRG:381C 20 8B E0 iny ; CPU:$B81F PRG:381F C8 jmp Sub_B62E ; CPU:$B820 PRG:3820 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop557 -; Global: Branch target inside IrqHandler: taken when Loop557. +; Routine: IrqHandler_Loop596 +; Global: Branch target inside IrqHandler: taken when Loop596. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop557: +IrqHandler_Loop596: cmp #$ED ; CPU:$B823 PRG:3823 C9 ED - bne IrqHandler_Loop559 ; CPU:$B825 PRG:3825 D0 0C + bne IrqHandler_Loop598 ; CPU:$B825 PRG:3825 D0 0C lda Zp55 ; CPU:$B827 PRG:3827 A5 55 asl a ; CPU:$B829 PRG:3829 0A - bcc IrqHandler_Loop558 ; CPU:$B82A PRG:382A 90 03 + bcc IrqHandler_Loop597 ; CPU:$B82A PRG:382A 90 03 jsr Sub_8C61 ; CPU:$B82C PRG:382C 20 61 8C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop558 -; Global: Branch target inside IrqHandler: taken when Loop558. +; Routine: IrqHandler_Loop597 +; Global: Branch target inside IrqHandler: taken when Loop597. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop558: +IrqHandler_Loop597: iny ; CPU:$B82F PRG:382F C8 jmp Sub_B62E ; CPU:$B830 PRG:3830 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop559 -; Global: Branch target inside IrqHandler: taken when Loop559. +; Routine: IrqHandler_Loop598 +; Global: Branch target inside IrqHandler: taken when Loop598. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop559: +IrqHandler_Loop598: cmp #$EC ; CPU:$B833 PRG:3833 C9 EC - bne IrqHandler_Loop561 ; CPU:$B835 PRG:3835 D0 12 + bne IrqHandler_Loop600 ; CPU:$B835 PRG:3835 D0 12 lda $0461 ; CPU:$B837 PRG:3837 AD 61 04 asl a ; CPU:$B83A PRG:383A 0A - bcc IrqHandler_Loop560 ; CPU:$B83B PRG:383B 90 03 + bcc IrqHandler_Loop599 ; CPU:$B83B PRG:383B 90 03 jsr Sub_B776 ; CPU:$B83D PRG:383D 20 76 B7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop560 -; Global: Branch target inside IrqHandler: taken when Loop560. +; Routine: IrqHandler_Loop599 +; Global: Branch target inside IrqHandler: taken when Loop599. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop560: +IrqHandler_Loop599: lda #$0C ; CPU:$B840 PRG:3840 A9 0C jsr Sub_E08B ; CPU:$B842 PRG:3842 20 8B E0 iny ; CPU:$B845 PRG:3845 C8 jmp Sub_B62E ; CPU:$B846 PRG:3846 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop561 -; Global: Branch target inside IrqHandler: taken when Loop561. +; Routine: IrqHandler_Loop600 +; Global: Branch target inside IrqHandler: taken when Loop600. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop561: +IrqHandler_Loop600: cmp #$FA ; CPU:$B849 PRG:3849 C9 FA - bne IrqHandler_Loop565 ; CPU:$B84B PRG:384B D0 59 + bne IrqHandler_Loop604 ; CPU:$B84B PRG:384B D0 59 ldx #$38 ; CPU:$B84D PRG:384D A2 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative17 -; Global: Branch target inside IrqHandler: taken when OnNonnegative17. +; Routine: IrqHandler_OnNonnegative19 +; Global: Branch target inside IrqHandler: taken when OnNonnegative19. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative17: +IrqHandler_OnNonnegative19: lda $0427,x ; CPU:$B84F PRG:384F BD 27 04 - bne IrqHandler_Loop562 ; CPU:$B852 PRG:3852 D0 03 + bne IrqHandler_Loop601 ; CPU:$B852 PRG:3852 D0 03 jmp Sub_B86A ; CPU:$B854 PRG:3854 4C 6A B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop562 -; Global: Branch target inside IrqHandler: taken when Loop562. +; Routine: IrqHandler_Loop601 +; Global: Branch target inside IrqHandler: taken when Loop601. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop562: +IrqHandler_Loop601: txa ; CPU:$B857 PRG:3857 8A sec ; CPU:$B858 PRG:3858 38 sbc #$08 ; CPU:$B859 PRG:3859 E9 08 tax ; CPU:$B85B PRG:385B AA - bpl IrqHandler_OnNonnegative17 ; CPU:$B85C PRG:385C 10 F1 + bpl IrqHandler_OnNonnegative19 ; CPU:$B85C PRG:385C 10 F1 iny ; CPU:$B85E PRG:385E C8 iny ; CPU:$B85F PRG:385F C8 iny ; CPU:$B860 PRG:3860 C8 @@ -13557,170 +14493,170 @@ IrqHandler_Loop562: ; ----------------------------------------------------------------------------- Sub_B86A: iny ; CPU:$B86A PRG:386A C8 - lda (ZpA0),y ; CPU:$B86B PRG:386B B1 A0 + lda (SpriteX),y ; CPU:$B86B PRG:386B B1 A0 clc ; CPU:$B86D PRG:386D 18 adc #$80 ; CPU:$B86E PRG:386E 69 80 sta $0421,x ; CPU:$B870 PRG:3870 9D 21 04 iny ; CPU:$B873 PRG:3873 C8 - lda (ZpA0),y ; CPU:$B874 PRG:3874 B1 A0 + lda (SpriteX),y ; CPU:$B874 PRG:3874 B1 A0 sta $0422,x ; CPU:$B876 PRG:3876 9D 22 04 iny ; CPU:$B879 PRG:3879 C8 - lda (ZpA0),y ; CPU:$B87A PRG:387A B1 A0 + lda (SpriteX),y ; CPU:$B87A PRG:387A B1 A0 sta $0427,x ; CPU:$B87C PRG:387C 9D 27 04 iny ; CPU:$B87F PRG:387F C8 - lda ZpFC ; CPU:$B880 PRG:3880 A5 FC + lda LevelIndex ; CPU:$B880 PRG:3880 A5 FC lsr a ; CPU:$B882 PRG:3882 4A lda ZpFB ; CPU:$B883 PRG:3883 A5 FB adc #$00 ; CPU:$B885 PRG:3885 69 00 cmp #$01 ; CPU:$B887 PRG:3887 C9 01 - bne IrqHandler_Loop563 ; CPU:$B889 PRG:3889 D0 08 + bne IrqHandler_Loop602 ; CPU:$B889 PRG:3889 D0 08 lda $0427,x ; CPU:$B88B PRG:388B BD 27 04 sta $0423,x ; CPU:$B88E PRG:388E 9D 23 04 - bne IrqHandler_Loop564 ; CPU:$B891 PRG:3891 D0 05 + bne IrqHandler_Loop603 ; CPU:$B891 PRG:3891 D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop563 -; Global: Branch target inside IrqHandler: taken when Loop563. +; Routine: IrqHandler_Loop602 +; Global: Branch target inside IrqHandler: taken when Loop602. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop563: - lda (ZpA0),y ; CPU:$B893 PRG:3893 B1 A0 +IrqHandler_Loop602: + lda (SpriteX),y ; CPU:$B893 PRG:3893 B1 A0 sta $0423,x ; CPU:$B895 PRG:3895 9D 23 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop564 -; Global: Branch target inside IrqHandler: taken when Loop564. +; Routine: IrqHandler_Loop603 +; Global: Branch target inside IrqHandler: taken when Loop603. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop564: +IrqHandler_Loop603: iny ; CPU:$B898 PRG:3898 C8 - lda (ZpA0),y ; CPU:$B899 PRG:3899 B1 A0 + lda (SpriteX),y ; CPU:$B899 PRG:3899 B1 A0 sta $0424,x ; CPU:$B89B PRG:389B 9D 24 04 iny ; CPU:$B89E PRG:389E C8 lda #$00 ; CPU:$B89F PRG:389F A9 00 sta ZpA6 ; CPU:$B8A1 PRG:38A1 85 A6 jmp Sub_B62E ; CPU:$B8A3 PRG:38A3 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop565 -; Global: Branch target inside IrqHandler: taken when Loop565. +; Routine: IrqHandler_Loop604 +; Global: Branch target inside IrqHandler: taken when Loop604. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop565: +IrqHandler_Loop604: tya ; CPU:$B8A6 PRG:38A6 98 clc ; CPU:$B8A7 PRG:38A7 18 - adc ZpA0 ; CPU:$B8A8 PRG:38A8 65 A0 - sta ZpA0 ; CPU:$B8AA PRG:38AA 85 A0 + adc SpriteX ; CPU:$B8A8 PRG:38A8 65 A0 + sta SpriteX ; CPU:$B8AA PRG:38AA 85 A0 lda #$00 ; CPU:$B8AC PRG:38AC A9 00 - adc ZpA1 ; CPU:$B8AE PRG:38AE 65 A1 - sta ZpA1 ; CPU:$B8B0 PRG:38B0 85 A1 + adc SpriteY ; CPU:$B8AE PRG:38AE 65 A1 + sta SpriteY ; CPU:$B8B0 PRG:38B0 85 A1 ldy #$00 ; CPU:$B8B2 PRG:38B2 A0 00 lda ZpA9 ; CPU:$B8B4 PRG:38B4 A5 A9 sta PPUADDR ; CPU:$B8B6 PRG:38B6 8D 06 20 lda ZpA8 ; CPU:$B8B9 PRG:38B9 A5 A8 sta PPUADDR ; CPU:$B8BB PRG:38BB 8D 06 20 lda ZpA7 ; CPU:$B8BE PRG:38BE A5 A7 - beq IrqHandler_Loop566 ; CPU:$B8C0 PRG:38C0 F0 07 + beq IrqHandler_Loop605 ; CPU:$B8C0 PRG:38C0 F0 07 dec ZpA7 ; CPU:$B8C2 PRG:38C2 C6 A7 - beq IrqHandler_Loop570 ; CPU:$B8C4 PRG:38C4 F0 25 - jmp IrqHandler_Loop569 ; CPU:$B8C6 PRG:38C6 4C EA B8 + beq IrqHandler_Loop609 ; CPU:$B8C4 PRG:38C4 F0 25 + jmp IrqHandler_Loop608 ; CPU:$B8C6 PRG:38C6 4C EA B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop566 -; Global: Branch target inside IrqHandler: taken when Loop566. +; Routine: IrqHandler_Loop605 +; Global: Branch target inside IrqHandler: taken when Loop605. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop566: - lda (ZpA0),y ; CPU:$B8C9 PRG:38C9 B1 A0 +IrqHandler_Loop605: + lda (SpriteX),y ; CPU:$B8C9 PRG:38C9 B1 A0 ldx ZpA6 ; CPU:$B8CB PRG:38CB A6 A6 cpx #$0A ; CPU:$B8CD PRG:38CD E0 0A - beq IrqHandler_Loop576 ; CPU:$B8CF PRG:38CF F0 64 + beq IrqHandler_Loop615 ; CPU:$B8CF PRG:38CF F0 64 cmp #$FF ; CPU:$B8D1 PRG:38D1 C9 FF - bne IrqHandler_Loop567 ; CPU:$B8D3 PRG:38D3 D0 03 + bne IrqHandler_Loop606 ; CPU:$B8D3 PRG:38D3 D0 03 jmp Sub_B975 ; CPU:$B8D5 PRG:38D5 4C 75 B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop567 -; Global: Branch target inside IrqHandler: taken when Loop567. +; Routine: IrqHandler_Loop606 +; Global: Branch target inside IrqHandler: taken when Loop606. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop567: +IrqHandler_Loop606: cmp #$FE ; CPU:$B8D8 PRG:38D8 C9 FE - bne IrqHandler_Loop568 ; CPU:$B8DA PRG:38DA D0 06 + bne IrqHandler_Loop607 ; CPU:$B8DA PRG:38DA D0 06 ldx #$1F ; CPU:$B8DC PRG:38DC A2 1F stx ZpA7 ; CPU:$B8DE PRG:38DE 86 A7 - bne IrqHandler_Loop569 ; CPU:$B8E0 PRG:38E0 D0 08 + bne IrqHandler_Loop608 ; CPU:$B8E0 PRG:38E0 D0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop568 -; Global: Branch target inside IrqHandler: taken when Loop568. +; Routine: IrqHandler_Loop607 +; Global: Branch target inside IrqHandler: taken when Loop607. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop568: +IrqHandler_Loop607: cmp #$FD ; CPU:$B8E2 PRG:38E2 C9 FD - bne IrqHandler_Loop571 ; CPU:$B8E4 PRG:38E4 D0 09 + bne IrqHandler_Loop610 ; CPU:$B8E4 PRG:38E4 D0 09 ldx #$0F ; CPU:$B8E6 PRG:38E6 A2 0F stx ZpA7 ; CPU:$B8E8 PRG:38E8 86 A7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop569 -; Global: Branch target inside IrqHandler: taken when Loop569. +; Routine: IrqHandler_Loop608 +; Global: Branch target inside IrqHandler: taken when Loop608. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop569: +IrqHandler_Loop608: dey ; CPU:$B8EA PRG:38EA 88 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop570 -; Global: Branch target inside IrqHandler: taken when Loop570. +; Routine: IrqHandler_Loop609 +; Global: Branch target inside IrqHandler: taken when Loop609. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop570: +IrqHandler_Loop609: ldx #$0A ; CPU:$B8EB PRG:38EB A2 0A - bne IrqHandler_Loop572 ; CPU:$B8ED PRG:38ED D0 0C + bne IrqHandler_Loop611 ; CPU:$B8ED PRG:38ED D0 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop571 -; Global: Branch target inside IrqHandler: taken when Loop571. +; Routine: IrqHandler_Loop610 +; Global: Branch target inside IrqHandler: taken when Loop610. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop571: +IrqHandler_Loop610: tax ; CPU:$B8EF PRG:38EF AA cpy #$00 ; CPU:$B8F0 PRG:38F0 C0 00 - beq IrqHandler_Loop572 ; CPU:$B8F2 PRG:38F2 F0 07 + beq IrqHandler_Loop611 ; CPU:$B8F2 PRG:38F2 F0 07 tax ; CPU:$B8F4 PRG:38F4 AA asl a ; CPU:$B8F5 PRG:38F5 0A - bcs IrqHandler_Loop574 ; CPU:$B8F6 PRG:38F6 B0 22 + bcs IrqHandler_Loop613 ; CPU:$B8F6 PRG:38F6 B0 22 jmp Sub_B8FF ; CPU:$B8F8 PRG:38F8 4C FF B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop572 -; Global: Branch target inside IrqHandler: taken when Loop572. +; Routine: IrqHandler_Loop611 +; Global: Branch target inside IrqHandler: taken when Loop611. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop572: +IrqHandler_Loop611: lda #$00 ; CPU:$B8FB PRG:38FB A9 00 - beq IrqHandler_Loop573 ; CPU:$B8FD PRG:38FD F0 03 + beq IrqHandler_Loop612 ; CPU:$B8FD PRG:38FD F0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_B8FF ; Global: Branch target inside Sub: taken when B8FF. @@ -13731,24 +14667,24 @@ IrqHandler_Loop572: ; ----------------------------------------------------------------------------- Sub_B8FF: iny ; CPU:$B8FF PRG:38FF C8 - lda (ZpA0),y ; CPU:$B900 PRG:3900 B1 A0 + lda (SpriteX),y ; CPU:$B900 PRG:3900 B1 A0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop573 -; Global: Branch target inside IrqHandler: taken when Loop573. +; Routine: IrqHandler_Loop612 +; Global: Branch target inside IrqHandler: taken when Loop612. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop573: - sta Zp4A ; CPU:$B902 PRG:3902 85 4A +IrqHandler_Loop612: + sta DispatchPtrLo ; CPU:$B902 PRG:3902 85 4A txa ; CPU:$B904 PRG:3904 8A clc ; CPU:$B905 PRG:3905 18 adc ZpA6 ; CPU:$B906 PRG:3906 65 A6 sta ZpA6 ; CPU:$B908 PRG:3908 85 A6 jsr Sub_B911 ; CPU:$B90A PRG:390A 20 11 B9 iny ; CPU:$B90D PRG:390D C8 - jmp IrqHandler_Loop566 ; CPU:$B90E PRG:390E 4C C9 B8 + jmp IrqHandler_Loop605 ; CPU:$B90E PRG:390E 4C C9 B8 ; ----------------------------------------------------------------------------- ; Routine: Sub_B911 ; Global: Branch target inside Sub: taken when B911. @@ -13758,7 +14694,7 @@ IrqHandler_Loop573: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B911: - lda Zp4A ; CPU:$B911 PRG:3911 A5 4A + lda DispatchPtrLo ; CPU:$B911 PRG:3911 A5 4A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero38 ; Global: Branch target inside IrqHandler: taken when OnNonzero38. @@ -13773,14 +14709,14 @@ IrqHandler_OnNonzero38: bne IrqHandler_OnNonzero38 ; CPU:$B917 PRG:3917 D0 FA rts ; CPU:$B919 PRG:3919 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop574 -; Global: Branch target inside IrqHandler: taken when Loop574. +; Routine: IrqHandler_Loop613 +; Global: Branch target inside IrqHandler: taken when Loop613. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop574: +IrqHandler_Loop613: txa ; CPU:$B91A PRG:391A 8A sec ; CPU:$B91B PRG:391B 38 sbc #$80 ; CPU:$B91C PRG:391C E9 80 @@ -13798,68 +14734,68 @@ IrqHandler_Loop574: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B925: - lda (ZpA0),y ; CPU:$B925 PRG:3925 B1 A0 + lda (SpriteX),y ; CPU:$B925 PRG:3925 B1 A0 sta PPUDATA ; CPU:$B927 PRG:3927 8D 07 20 dex ; CPU:$B92A PRG:392A CA - beq IrqHandler_Loop575 ; CPU:$B92B PRG:392B F0 04 + beq IrqHandler_Loop614 ; CPU:$B92B PRG:392B F0 04 iny ; CPU:$B92D PRG:392D C8 jmp Sub_B925 ; CPU:$B92E PRG:392E 4C 25 B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop575 -; Global: Branch target inside IrqHandler: taken when Loop575. +; Routine: IrqHandler_Loop614 +; Global: Branch target inside IrqHandler: taken when Loop614. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop575: +IrqHandler_Loop614: iny ; CPU:$B931 PRG:3931 C8 - jmp IrqHandler_Loop566 ; CPU:$B932 PRG:3932 4C C9 B8 + jmp IrqHandler_Loop605 ; CPU:$B932 PRG:3932 4C C9 B8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop576 -; Global: Branch target inside IrqHandler: taken when Loop576. +; Routine: IrqHandler_Loop615 +; Global: Branch target inside IrqHandler: taken when Loop615. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop576: +IrqHandler_Loop615: lda ZpA8 ; CPU:$B935 PRG:3935 A5 A8 cmp #$1F ; CPU:$B937 PRG:3937 C9 1F - bne IrqHandler_Loop578 ; CPU:$B939 PRG:3939 D0 1E + bne IrqHandler_Loop617 ; CPU:$B939 PRG:3939 D0 1E lda ZpA9 ; CPU:$B93B PRG:393B A5 A9 cmp #$26 ; CPU:$B93D PRG:393D C9 26 - bne IrqHandler_Loop577 ; CPU:$B93F PRG:393F D0 0A + bne IrqHandler_Loop616 ; CPU:$B93F PRG:393F D0 0A lda #$00 ; CPU:$B941 PRG:3941 A9 00 sta ZpA8 ; CPU:$B943 PRG:3943 85 A8 lda #$22 ; CPU:$B945 PRG:3945 A9 22 sta ZpA9 ; CPU:$B947 PRG:3947 85 A9 - bne IrqHandler_Loop579 ; CPU:$B949 PRG:3949 D0 1B + bne IrqHandler_Loop618 ; CPU:$B949 PRG:3949 D0 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop577 -; Global: Branch target inside IrqHandler: taken when Loop577. +; Routine: IrqHandler_Loop616 +; Global: Branch target inside IrqHandler: taken when Loop616. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop577: +IrqHandler_Loop616: cmp #$22 ; CPU:$B94B PRG:394B C9 22 - bne IrqHandler_Loop578 ; CPU:$B94D PRG:394D D0 0A + bne IrqHandler_Loop617 ; CPU:$B94D PRG:394D D0 0A lda #$00 ; CPU:$B94F PRG:394F A9 00 sta ZpA8 ; CPU:$B951 PRG:3951 85 A8 lda #$26 ; CPU:$B953 PRG:3953 A9 26 sta ZpA9 ; CPU:$B955 PRG:3955 85 A9 - bne IrqHandler_Loop579 ; CPU:$B957 PRG:3957 D0 0D + bne IrqHandler_Loop618 ; CPU:$B957 PRG:3957 D0 0D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop578 -; Global: Branch target inside IrqHandler: taken when Loop578. +; Routine: IrqHandler_Loop617 +; Global: Branch target inside IrqHandler: taken when Loop617. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop578: +IrqHandler_Loop617: lda ZpA8 ; CPU:$B959 PRG:3959 A5 A8 clc ; CPU:$B95B PRG:395B 18 adc #$01 ; CPU:$B95C PRG:395C 69 01 @@ -13868,16 +14804,16 @@ IrqHandler_Loop578: adc ZpA9 ; CPU:$B962 PRG:3962 65 A9 sta ZpA9 ; CPU:$B964 PRG:3964 85 A9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop579 -; Global: Branch target inside IrqHandler: taken when Loop579. +; Routine: IrqHandler_Loop618 +; Global: Branch target inside IrqHandler: taken when Loop618. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop579: +IrqHandler_Loop618: sty ZpA5 ; CPU:$B966 PRG:3966 84 A5 - lda Zp1D ; CPU:$B968 PRG:3968 A5 1D + lda PpuCtrlShadow ; CPU:$B968 PRG:3968 A5 1D and #$FB ; CPU:$B96A PRG:396A 29 FB sta PPUCTRL ; CPU:$B96C PRG:396C 8D 00 20 lda #$1A ; CPU:$B96F PRG:396F A9 1A @@ -13893,7 +14829,7 @@ IrqHandler_Loop579: ; ----------------------------------------------------------------------------- Sub_B975: lda #$00 ; CPU:$B975 PRG:3975 A9 00 - sta Zp9A ; CPU:$B977 PRG:3977 85 9A + sta GameState ; CPU:$B977 PRG:3977 85 9A rts ; CPU:$B979 PRG:3979 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B97A @@ -13904,12 +14840,12 @@ Sub_B975: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B97A: - sta Zp46 ; CPU:$B97A PRG:397A 85 46 + sta VramWritePtrLo ; CPU:$B97A PRG:397A 85 46 lda ZpFB ; CPU:$B97C PRG:397C A5 FB clc ; CPU:$B97E PRG:397E 18 adc #$E7 ; CPU:$B97F PRG:397F 69 E7 - cmp Zp46 ; CPU:$B981 PRG:3981 C5 46 - bne IrqHandler_Loop580 ; CPU:$B983 PRG:3983 D0 0D + cmp VramWritePtrLo ; CPU:$B981 PRG:3981 C5 46 + bne IrqHandler_Loop619 ; CPU:$B983 PRG:3983 D0 0D ; ----------------------------------------------------------------------------- ; Routine: Sub_B985 ; Global: Branch target inside Sub: taken when B985. @@ -13920,22 +14856,22 @@ Sub_B97A: ; ----------------------------------------------------------------------------- Sub_B985: iny ; CPU:$B985 PRG:3985 C8 - lda (ZpA0),y ; CPU:$B986 PRG:3986 B1 A0 + lda (SpriteX),y ; CPU:$B986 PRG:3986 B1 A0 tax ; CPU:$B988 PRG:3988 AA iny ; CPU:$B989 PRG:3989 C8 - lda (ZpA0),y ; CPU:$B98A PRG:398A B1 A0 + lda (SpriteX),y ; CPU:$B98A PRG:398A B1 A0 sta Zp56,x ; CPU:$B98C PRG:398C 95 56 iny ; CPU:$B98E PRG:398E C8 jmp Sub_B62E ; CPU:$B98F PRG:398F 4C 2E B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop580 -; Global: Branch target inside IrqHandler: taken when Loop580. +; Routine: IrqHandler_Loop619 +; Global: Branch target inside IrqHandler: taken when Loop619. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop580: +IrqHandler_Loop619: iny ; CPU:$B992 PRG:3992 C8 iny ; CPU:$B993 PRG:3993 C8 iny ; CPU:$B994 PRG:3994 C8 @@ -13951,31 +14887,31 @@ IrqHandler_Loop580: Sub_B998: ldx #$38 ; CPU:$B998 PRG:3998 A2 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative18 -; Global: Branch target inside IrqHandler: taken when OnNonnegative18. +; Routine: IrqHandler_OnNonnegative20 +; Global: Branch target inside IrqHandler: taken when OnNonnegative20. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative18: +IrqHandler_OnNonnegative20: lda $0427,x ; CPU:$B99A PRG:399A BD 27 04 - beq IrqHandler_Loop581 ; CPU:$B99D PRG:399D F0 03 + beq IrqHandler_Loop620 ; CPU:$B99D PRG:399D F0 03 jsr Sub_B9AA ; CPU:$B99F PRG:399F 20 AA B9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop581 -; Global: Branch target inside IrqHandler: taken when Loop581. +; Routine: IrqHandler_Loop620 +; Global: Branch target inside IrqHandler: taken when Loop620. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop581: +IrqHandler_Loop620: txa ; CPU:$B9A2 PRG:39A2 8A sec ; CPU:$B9A3 PRG:39A3 38 sbc #$08 ; CPU:$B9A4 PRG:39A4 E9 08 tax ; CPU:$B9A6 PRG:39A6 AA - bpl IrqHandler_OnNonnegative18 ; CPU:$B9A7 PRG:39A7 10 F1 + bpl IrqHandler_OnNonnegative20 ; CPU:$B9A7 PRG:39A7 10 F1 rts ; CPU:$B9A9 PRG:39A9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B9AA @@ -13986,13 +14922,13 @@ IrqHandler_Loop581: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_B9AA: - lda Zp54 ; CPU:$B9AA PRG:39AA A5 54 + lda FrameCounter ; CPU:$B9AA PRG:39AA A5 54 lsr a ; CPU:$B9AC PRG:39AC 4A - bcc IrqHandler_Loop583 ; CPU:$B9AD PRG:39AD 90 1F + bcc IrqHandler_Loop622 ; CPU:$B9AD PRG:39AD 90 1F dec $0422,x ; CPU:$B9AF PRG:39AF DE 22 04 lda $0422,x ; CPU:$B9B2 PRG:39B2 BD 22 04 cmp #$08 ; CPU:$B9B5 PRG:39B5 C9 08 - bcs IrqHandler_Loop582 ; CPU:$B9B7 PRG:39B7 B0 06 + bcs IrqHandler_Loop621 ; CPU:$B9B7 PRG:39B7 B0 06 lda #$00 ; CPU:$B9B9 PRG:39B9 A9 00 sta $0427,x ; CPU:$B9BB PRG:39BB 9D 27 04 ; ----------------------------------------------------------------------------- @@ -14006,14 +14942,14 @@ Sub_B9AA: IrqHandler_OnZero9: rts ; CPU:$B9BE PRG:39BE 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop582 -; Global: Branch target inside IrqHandler: taken when Loop582. +; Routine: IrqHandler_Loop621 +; Global: Branch target inside IrqHandler: taken when Loop621. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop582: +IrqHandler_Loop621: lda $0427,x ; CPU:$B9BF PRG:39BF BD 27 04 cmp #$42 ; CPU:$B9C2 PRG:39C2 C9 42 beq IrqHandler_OnZero9 ; CPU:$B9C4 PRG:39C4 F0 F8 @@ -14022,18 +14958,18 @@ IrqHandler_Loop582: cmp #$DF ; CPU:$B9CA PRG:39CA C9 DF beq IrqHandler_OnZero9 ; CPU:$B9CC PRG:39CC F0 F0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop583 -; Global: Branch target inside IrqHandler: taken when Loop583. +; Routine: IrqHandler_Loop622 +; Global: Branch target inside IrqHandler: taken when Loop622. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop583: +IrqHandler_Loop622: inc $0428,x ; CPU:$B9CE PRG:39CE FE 28 04 lda $0422,x ; CPU:$B9D1 PRG:39D1 BD 22 04 cmp #$F8 ; CPU:$B9D4 PRG:39D4 C9 F8 - bcc IrqHandler_Loop585 ; CPU:$B9D6 PRG:39D6 90 15 + bcc IrqHandler_Loop624 ; CPU:$B9D6 PRG:39D6 90 15 lda #$00 ; CPU:$B9D8 PRG:39D8 A9 00 sta $0428,x ; CPU:$B9DA PRG:39DA 9D 28 04 rts ; CPU:$B9DD PRG:39DD 60 @@ -14048,393 +14984,393 @@ IrqHandler_Loop583: IrqHandler_OnZero10: lda $0428,x ; CPU:$B9DE PRG:39DE BD 28 04 and #$40 ; CPU:$B9E1 PRG:39E1 29 40 - bne IrqHandler_Loop584 ; CPU:$B9E3 PRG:39E3 D0 04 + bne IrqHandler_Loop623 ; CPU:$B9E3 PRG:39E3 D0 04 dec $0421,x ; CPU:$B9E5 PRG:39E5 DE 21 04 rts ; CPU:$B9E8 PRG:39E8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop584 -; Global: Branch target inside IrqHandler: taken when Loop584. +; Routine: IrqHandler_Loop623 +; Global: Branch target inside IrqHandler: taken when Loop623. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop584: +IrqHandler_Loop623: inc $0421,x ; CPU:$B9E9 PRG:39E9 FE 21 04 rts ; CPU:$B9EC PRG:39EC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop585 -; Global: Branch target inside IrqHandler: taken when Loop585. +; Routine: IrqHandler_Loop624 +; Global: Branch target inside IrqHandler: taken when Loop624. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop585: +IrqHandler_Loop624: lda #$01 ; CPU:$B9ED PRG:39ED A9 01 sta $0425,x ; CPU:$B9EF PRG:39EF 9D 25 04 lda $0427,x ; CPU:$B9F2 PRG:39F2 BD 27 04 cmp #$DF ; CPU:$B9F5 PRG:39F5 C9 DF beq IrqHandler_OnZero10 ; CPU:$B9F7 PRG:39F7 F0 E5 cmp #$D5 ; CPU:$B9F9 PRG:39F9 C9 D5 - bne IrqHandler_Loop586 ; CPU:$B9FB PRG:39FB D0 01 + bne IrqHandler_Loop625 ; CPU:$B9FB PRG:39FB D0 01 rts ; CPU:$B9FD PRG:39FD 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop586 -; Global: Branch target inside IrqHandler: taken when Loop586. +; Routine: IrqHandler_Loop625 +; Global: Branch target inside IrqHandler: taken when Loop625. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop586: +IrqHandler_Loop625: cmp #$D6 ; CPU:$B9FE PRG:39FE C9 D6 - bne IrqHandler_Loop587 ; CPU:$BA00 PRG:3A00 D0 01 + bne IrqHandler_Loop626 ; CPU:$BA00 PRG:3A00 D0 01 rts ; CPU:$BA02 PRG:3A02 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop587 -; Global: Branch target inside IrqHandler: taken when Loop587. +; Routine: IrqHandler_Loop626 +; Global: Branch target inside IrqHandler: taken when Loop626. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop587: +IrqHandler_Loop626: cmp #$D7 ; CPU:$BA03 PRG:3A03 C9 D7 - bne IrqHandler_Loop588 ; CPU:$BA05 PRG:3A05 D0 01 + bne IrqHandler_Loop627 ; CPU:$BA05 PRG:3A05 D0 01 rts ; CPU:$BA07 PRG:3A07 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop588 -; Global: Branch target inside IrqHandler: taken when Loop588. +; Routine: IrqHandler_Loop627 +; Global: Branch target inside IrqHandler: taken when Loop627. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop588: +IrqHandler_Loop627: cmp #$91 ; CPU:$BA08 PRG:3A08 C9 91 - bne IrqHandler_Loop589 ; CPU:$BA0A PRG:3A0A D0 01 + bne IrqHandler_Loop628 ; CPU:$BA0A PRG:3A0A D0 01 rts ; CPU:$BA0C PRG:3A0C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop589 -; Global: Branch target inside IrqHandler: taken when Loop589. +; Routine: IrqHandler_Loop628 +; Global: Branch target inside IrqHandler: taken when Loop628. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop589: +IrqHandler_Loop628: cmp #$10 ; CPU:$BA0D PRG:3A0D C9 10 - bne IrqHandler_Loop590 ; CPU:$BA0F PRG:3A0F D0 01 + bne IrqHandler_Loop629 ; CPU:$BA0F PRG:3A0F D0 01 rts ; CPU:$BA11 PRG:3A11 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop590 -; Global: Branch target inside IrqHandler: taken when Loop590. +; Routine: IrqHandler_Loop629 +; Global: Branch target inside IrqHandler: taken when Loop629. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop590: +IrqHandler_Loop629: cmp #$6C ; CPU:$BA12 PRG:3A12 C9 6C - bne IrqHandler_Loop591 ; CPU:$BA14 PRG:3A14 D0 01 + bne IrqHandler_Loop630 ; CPU:$BA14 PRG:3A14 D0 01 rts ; CPU:$BA16 PRG:3A16 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop591 -; Global: Branch target inside IrqHandler: taken when Loop591. +; Routine: IrqHandler_Loop630 +; Global: Branch target inside IrqHandler: taken when Loop630. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop591: +IrqHandler_Loop630: cmp #$7C ; CPU:$BA17 PRG:3A17 C9 7C - bne IrqHandler_Loop592 ; CPU:$BA19 PRG:3A19 D0 01 + bne IrqHandler_Loop631 ; CPU:$BA19 PRG:3A19 D0 01 rts ; CPU:$BA1B PRG:3A1B 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop592 -; Global: Branch target inside IrqHandler: taken when Loop592. +; Routine: IrqHandler_Loop631 +; Global: Branch target inside IrqHandler: taken when Loop631. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop592: +IrqHandler_Loop631: cmp #$51 ; CPU:$BA1C PRG:3A1C C9 51 - beq IrqHandler_Loop593 ; CPU:$BA1E PRG:3A1E F0 36 + beq IrqHandler_Loop632 ; CPU:$BA1E PRG:3A1E F0 36 cmp #$61 ; CPU:$BA20 PRG:3A20 C9 61 - beq IrqHandler_Loop593 ; CPU:$BA22 PRG:3A22 F0 32 + beq IrqHandler_Loop632 ; CPU:$BA22 PRG:3A22 F0 32 cmp #$6F ; CPU:$BA24 PRG:3A24 C9 6F - beq IrqHandler_Loop593 ; CPU:$BA26 PRG:3A26 F0 2E + beq IrqHandler_Loop632 ; CPU:$BA26 PRG:3A26 F0 2E cmp #$6F ; CPU:$BA28 PRG:3A28 C9 6F - beq IrqHandler_Loop593 ; CPU:$BA2A PRG:3A2A F0 2A + beq IrqHandler_Loop632 ; CPU:$BA2A PRG:3A2A F0 2A cmp #$A2 ; CPU:$BA2C PRG:3A2C C9 A2 - beq IrqHandler_Loop593 ; CPU:$BA2E PRG:3A2E F0 26 + beq IrqHandler_Loop632 ; CPU:$BA2E PRG:3A2E F0 26 cmp #$6E ; CPU:$BA30 PRG:3A30 C9 6E - beq IrqHandler_Loop598 ; CPU:$BA32 PRG:3A32 F0 4E + beq IrqHandler_Loop637 ; CPU:$BA32 PRG:3A32 F0 4E cmp #$B1 ; CPU:$BA34 PRG:3A34 C9 B1 - beq IrqHandler_Loop598 ; CPU:$BA36 PRG:3A36 F0 4A + beq IrqHandler_Loop637 ; CPU:$BA36 PRG:3A36 F0 4A cmp #$42 ; CPU:$BA38 PRG:3A38 C9 42 - beq IrqHandler_Loop600 ; CPU:$BA3A PRG:3A3A F0 65 + beq IrqHandler_Loop639 ; CPU:$BA3A PRG:3A3A F0 65 cmp #$DA ; CPU:$BA3C PRG:3A3C C9 DA - beq IrqHandler_Loop600 ; CPU:$BA3E PRG:3A3E F0 61 + beq IrqHandler_Loop639 ; CPU:$BA3E PRG:3A3E F0 61 cmp #$A3 ; CPU:$BA40 PRG:3A40 C9 A3 - beq IrqHandler_Loop602 ; CPU:$BA42 PRG:3A42 F0 7C + beq IrqHandler_Loop641 ; CPU:$BA42 PRG:3A42 F0 7C cmp #$5F ; CPU:$BA44 PRG:3A44 C9 5F - beq IrqHandler_Loop602 ; CPU:$BA46 PRG:3A46 F0 78 + beq IrqHandler_Loop641 ; CPU:$BA46 PRG:3A46 F0 78 cmp #$5A ; CPU:$BA48 PRG:3A48 C9 5A - beq IrqHandler_Loop602 ; CPU:$BA4A PRG:3A4A F0 74 + beq IrqHandler_Loop641 ; CPU:$BA4A PRG:3A4A F0 74 cmp #$81 ; CPU:$BA4C PRG:3A4C C9 81 - beq IrqHandler_Loop602 ; CPU:$BA4E PRG:3A4E F0 70 + beq IrqHandler_Loop641 ; CPU:$BA4E PRG:3A4E F0 70 lda #$00 ; CPU:$BA50 PRG:3A50 A9 00 sta $0425,x ; CPU:$BA52 PRG:3A52 9D 25 04 rts ; CPU:$BA55 PRG:3A55 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop593 -; Global: Branch target inside IrqHandler: taken when Loop593. +; Routine: IrqHandler_Loop632 +; Global: Branch target inside IrqHandler: taken when Loop632. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop593: +IrqHandler_Loop632: lda $0428,x ; CPU:$BA56 PRG:3A56 BD 28 04 and #$08 ; CPU:$BA59 PRG:3A59 29 08 - bne IrqHandler_Loop594 ; CPU:$BA5B PRG:3A5B D0 05 + bne IrqHandler_Loop633 ; CPU:$BA5B PRG:3A5B D0 05 dec $0421,x ; CPU:$BA5D PRG:3A5D DE 21 04 - bne IrqHandler_Loop595 ; CPU:$BA60 PRG:3A60 D0 03 + bne IrqHandler_Loop634 ; CPU:$BA60 PRG:3A60 D0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop594 -; Global: Branch target inside IrqHandler: taken when Loop594. +; Routine: IrqHandler_Loop633 +; Global: Branch target inside IrqHandler: taken when Loop633. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop594: +IrqHandler_Loop633: inc $0421,x ; CPU:$BA62 PRG:3A62 FE 21 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop595 -; Global: Branch target inside IrqHandler: taken when Loop595. +; Routine: IrqHandler_Loop634 +; Global: Branch target inside IrqHandler: taken when Loop634. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop595: +IrqHandler_Loop634: lda $0427,x ; CPU:$BA65 PRG:3A65 BD 27 04 cmp #$A2 ; CPU:$BA68 PRG:3A68 C9 A2 - beq IrqHandler_Loop596 ; CPU:$BA6A PRG:3A6A F0 01 + beq IrqHandler_Loop635 ; CPU:$BA6A PRG:3A6A F0 01 rts ; CPU:$BA6C PRG:3A6C 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop596 -; Global: Branch target inside IrqHandler: taken when Loop596. +; Routine: IrqHandler_Loop635 +; Global: Branch target inside IrqHandler: taken when Loop635. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop596: +IrqHandler_Loop635: lda $0428,x ; CPU:$BA6D PRG:3A6D BD 28 04 and #$10 ; CPU:$BA70 PRG:3A70 29 10 - bne IrqHandler_Loop597 ; CPU:$BA72 PRG:3A72 D0 07 + bne IrqHandler_Loop636 ; CPU:$BA72 PRG:3A72 D0 07 dec $0421,x ; CPU:$BA74 PRG:3A74 DE 21 04 dec $0422,x ; CPU:$BA77 PRG:3A77 DE 22 04 rts ; CPU:$BA7A PRG:3A7A 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop597 -; Global: Branch target inside IrqHandler: taken when Loop597. +; Routine: IrqHandler_Loop636 +; Global: Branch target inside IrqHandler: taken when Loop636. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop597: +IrqHandler_Loop636: inc $0421,x ; CPU:$BA7B PRG:3A7B FE 21 04 inc $0422,x ; CPU:$BA7E PRG:3A7E FE 22 04 rts ; CPU:$BA81 PRG:3A81 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop598 -; Global: Branch target inside IrqHandler: taken when Loop598. +; Routine: IrqHandler_Loop637 +; Global: Branch target inside IrqHandler: taken when Loop637. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop598: +IrqHandler_Loop637: lda $0428,x ; CPU:$BA82 PRG:3A82 BD 28 04 and #$10 ; CPU:$BA85 PRG:3A85 29 10 - bne IrqHandler_Loop599 ; CPU:$BA87 PRG:3A87 D0 0C + bne IrqHandler_Loop638 ; CPU:$BA87 PRG:3A87 D0 0C dec $0422,x ; CPU:$BA89 PRG:3A89 DE 22 04 lda #$20 ; CPU:$BA8C PRG:3A8C A9 20 ora $0424,x ; CPU:$BA8E PRG:3A8E 1D 24 04 sta $0424,x ; CPU:$BA91 PRG:3A91 9D 24 04 rts ; CPU:$BA94 PRG:3A94 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop599 -; Global: Branch target inside IrqHandler: taken when Loop599. +; Routine: IrqHandler_Loop638 +; Global: Branch target inside IrqHandler: taken when Loop638. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop599: +IrqHandler_Loop638: inc $0422,x ; CPU:$BA95 PRG:3A95 FE 22 04 lda #$DF ; CPU:$BA98 PRG:3A98 A9 DF and $0424,x ; CPU:$BA9A PRG:3A9A 3D 24 04 sta $0424,x ; CPU:$BA9D PRG:3A9D 9D 24 04 rts ; CPU:$BAA0 PRG:3AA0 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop600 -; Global: Branch target inside IrqHandler: taken when Loop600. +; Routine: IrqHandler_Loop639 +; Global: Branch target inside IrqHandler: taken when Loop639. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop600: +IrqHandler_Loop639: lda $0428,x ; CPU:$BAA1 PRG:3AA1 BD 28 04 and #$40 ; CPU:$BAA4 PRG:3AA4 29 40 - bne IrqHandler_Loop601 ; CPU:$BAA6 PRG:3AA6 D0 0C + bne IrqHandler_Loop640 ; CPU:$BAA6 PRG:3AA6 D0 0C dec $0422,x ; CPU:$BAA8 PRG:3AA8 DE 22 04 lda $0424,x ; CPU:$BAAB PRG:3AAB BD 24 04 and #$DF ; CPU:$BAAE PRG:3AAE 29 DF sta $0424,x ; CPU:$BAB0 PRG:3AB0 9D 24 04 rts ; CPU:$BAB3 PRG:3AB3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop601 -; Global: Branch target inside IrqHandler: taken when Loop601. +; Routine: IrqHandler_Loop640 +; Global: Branch target inside IrqHandler: taken when Loop640. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop601: +IrqHandler_Loop640: inc $0422,x ; CPU:$BAB4 PRG:3AB4 FE 22 04 lda $0424,x ; CPU:$BAB7 PRG:3AB7 BD 24 04 ora #$20 ; CPU:$BABA PRG:3ABA 09 20 sta $0424,x ; CPU:$BABC PRG:3ABC 9D 24 04 rts ; CPU:$BABF PRG:3ABF 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop602 -; Global: Branch target inside IrqHandler: taken when Loop602. +; Routine: IrqHandler_Loop641 +; Global: Branch target inside IrqHandler: taken when Loop641. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop602: +IrqHandler_Loop641: lda $0428,x ; CPU:$BAC0 PRG:3AC0 BD 28 04 and #$40 ; CPU:$BAC3 PRG:3AC3 29 40 - bne IrqHandler_Loop604 ; CPU:$BAC5 PRG:3AC5 D0 12 + bne IrqHandler_Loop643 ; CPU:$BAC5 PRG:3AC5 D0 12 dec $0422,x ; CPU:$BAC7 PRG:3AC7 DE 22 04 lda $0427,x ; CPU:$BACA PRG:3ACA BD 27 04 cmp #$A3 ; CPU:$BACD PRG:3ACD C9 A3 - beq IrqHandler_Loop603 ; CPU:$BACF PRG:3ACF F0 04 + beq IrqHandler_Loop642 ; CPU:$BACF PRG:3ACF F0 04 cmp #$5F ; CPU:$BAD1 PRG:3AD1 C9 5F - bne IrqHandler_Loop606 ; CPU:$BAD3 PRG:3AD3 D0 16 + bne IrqHandler_Loop645 ; CPU:$BAD3 PRG:3AD3 D0 16 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop603 -; Global: Branch target inside IrqHandler: taken when Loop603. +; Routine: IrqHandler_Loop642 +; Global: Branch target inside IrqHandler: taken when Loop642. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop603: +IrqHandler_Loop642: dec $0422,x ; CPU:$BAD5 PRG:3AD5 DE 22 04 rts ; CPU:$BAD8 PRG:3AD8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop604 -; Global: Branch target inside IrqHandler: taken when Loop604. +; Routine: IrqHandler_Loop643 +; Global: Branch target inside IrqHandler: taken when Loop643. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop604: +IrqHandler_Loop643: inc $0422,x ; CPU:$BAD9 PRG:3AD9 FE 22 04 lda $0427,x ; CPU:$BADC PRG:3ADC BD 27 04 cmp #$A3 ; CPU:$BADF PRG:3ADF C9 A3 - beq IrqHandler_Loop605 ; CPU:$BAE1 PRG:3AE1 F0 04 + beq IrqHandler_Loop644 ; CPU:$BAE1 PRG:3AE1 F0 04 cmp #$5F ; CPU:$BAE3 PRG:3AE3 C9 5F - bne IrqHandler_Loop606 ; CPU:$BAE5 PRG:3AE5 D0 04 + bne IrqHandler_Loop645 ; CPU:$BAE5 PRG:3AE5 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop605 -; Global: Branch target inside IrqHandler: taken when Loop605. +; Routine: IrqHandler_Loop644 +; Global: Branch target inside IrqHandler: taken when Loop644. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop605: +IrqHandler_Loop644: inc $0422,x ; CPU:$BAE7 PRG:3AE7 FE 22 04 rts ; CPU:$BAEA PRG:3AEA 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop606 -; Global: Branch target inside IrqHandler: taken when Loop606. +; Routine: IrqHandler_Loop645 +; Global: Branch target inside IrqHandler: taken when Loop645. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop606: +IrqHandler_Loop645: lda $0427,x ; CPU:$BAEB PRG:3AEB BD 27 04 cmp #$81 ; CPU:$BAEE PRG:3AEE C9 81 - beq IrqHandler_Loop609 ; CPU:$BAF0 PRG:3AF0 F0 16 + beq IrqHandler_Loop648 ; CPU:$BAF0 PRG:3AF0 F0 16 cmp #$5D ; CPU:$BAF2 PRG:3AF2 C9 5D - bne IrqHandler_Loop607 ; CPU:$BAF4 PRG:3AF4 D0 01 + bne IrqHandler_Loop646 ; CPU:$BAF4 PRG:3AF4 D0 01 rts ; CPU:$BAF6 PRG:3AF6 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop607 -; Global: Branch target inside IrqHandler: taken when Loop607. +; Routine: IrqHandler_Loop646 +; Global: Branch target inside IrqHandler: taken when Loop646. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop607: +IrqHandler_Loop646: lda $0428,x ; CPU:$BAF7 PRG:3AF7 BD 28 04 and #$1F ; CPU:$BAFA PRG:3AFA 29 1F - beq IrqHandler_Loop608 ; CPU:$BAFC PRG:3AFC F0 01 + beq IrqHandler_Loop647 ; CPU:$BAFC PRG:3AFC F0 01 rts ; CPU:$BAFE PRG:3AFE 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop608 -; Global: Branch target inside IrqHandler: taken when Loop608. +; Routine: IrqHandler_Loop647 +; Global: Branch target inside IrqHandler: taken when Loop647. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop608: +IrqHandler_Loop647: lda $0424,x ; CPU:$BAFF PRG:3AFF BD 24 04 eor #$20 ; CPU:$BB02 PRG:3B02 49 20 sta $0424,x ; CPU:$BB04 PRG:3B04 9D 24 04 rts ; CPU:$BB07 PRG:3B07 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop609 -; Global: Branch target inside IrqHandler: taken when Loop609. +; Routine: IrqHandler_Loop648 +; Global: Branch target inside IrqHandler: taken when Loop648. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop609: +IrqHandler_Loop648: lda $0428,x ; CPU:$BB08 PRG:3B08 BD 28 04 and #$08 ; CPU:$BB0B PRG:3B0B 29 08 - bne IrqHandler_Loop611 ; CPU:$BB0D PRG:3B0D D0 15 + bne IrqHandler_Loop650 ; CPU:$BB0D PRG:3B0D D0 15 lda $0424,x ; CPU:$BB0F PRG:3B0F BD 24 04 - bpl IrqHandler_Loop610 ; CPU:$BB12 PRG:3B12 10 01 + bpl IrqHandler_Loop649 ; CPU:$BB12 PRG:3B12 10 01 rts ; CPU:$BB14 PRG:3B14 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop610 -; Global: Branch target inside IrqHandler: taken when Loop610. +; Routine: IrqHandler_Loop649 +; Global: Branch target inside IrqHandler: taken when Loop649. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop610: +IrqHandler_Loop649: eor #$80 ; CPU:$BB15 PRG:3B15 49 80 sta $0424,x ; CPU:$BB17 PRG:3B17 9D 24 04 lda $0421,x ; CPU:$BB1A PRG:3B1A BD 21 04 @@ -14443,26 +15379,26 @@ IrqHandler_Loop610: sta $0421,x ; CPU:$BB20 PRG:3B20 9D 21 04 rts ; CPU:$BB23 PRG:3B23 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop611 -; Global: Branch target inside IrqHandler: taken when Loop611. +; Routine: IrqHandler_Loop650 +; Global: Branch target inside IrqHandler: taken when Loop650. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop611: +IrqHandler_Loop650: lda $0424,x ; CPU:$BB24 PRG:3B24 BD 24 04 - bmi IrqHandler_Loop612 ; CPU:$BB27 PRG:3B27 30 01 + bmi IrqHandler_Loop651 ; CPU:$BB27 PRG:3B27 30 01 rts ; CPU:$BB29 PRG:3B29 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop612 -; Global: Branch target inside IrqHandler: taken when Loop612. +; Routine: IrqHandler_Loop651 +; Global: Branch target inside IrqHandler: taken when Loop651. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop612: +IrqHandler_Loop651: eor #$80 ; CPU:$BB2A PRG:3B2A 49 80 sta $0424,x ; CPU:$BB2C PRG:3B2C 9D 24 04 lda $0421,x ; CPU:$BB2F PRG:3B2F BD 21 04 @@ -14471,11 +15407,10 @@ IrqHandler_Loop612: sta $0421,x ; CPU:$BB35 PRG:3B35 9D 21 04 rts ; CPU:$BB38 PRG:3B38 60 ; ---- data $BB39-$DC18 (8416 bytes) ---- -; referenced by `sta $CA84` at $8534 (operand $CA84 falls inside this region) -; referenced by `nop $CA84,x` at $8587 (operand $CA84 falls inside this region) ; referenced by `lda $DC13,x` at $905E (operand $DC13 falls inside this region) ; referenced by `lda $DC08,x` at $B433 (operand $DC08 falls inside this region) - .byte $FF, $3E, $01, $FF, $01, $FF, $01, $FF, $01, $05, $04, $51, $11, $51, $0F, $51 ; CPU:$BB39 PRG:3B39 FF 3E 01 FF 01 FF 01 FF 01 05 04 51 11 51 0F 51 +LevelGraphicData: + .byte $FF, $3E, $01, $FF, $01, $FF, $01, $FF, $01, $05, $04, $51, $11, $51, $0F, $51 ; CPU:$BB39 PRG:-4C7 FF 3E 01 FF 01 FF 01 FF 01 05 04 51 11 51 0F 51 .byte $11, $51, $0F, $51, $AF, $84, $B1, $0F, $B1, $11, $B1, $11, $B1, $11, $B1, $BD ; CPU:$BB49 PRG:3B49 11 51 0F 51 AF 84 B1 0F B1 11 B1 11 B1 11 B1 BD .byte $04, $51, $11, $51, $11, $51, $11, $51, $11, $51, $BC, $84, $B1, $11, $B1, $11 ; CPU:$BB59 PRG:3B59 04 51 11 51 11 51 11 51 11 51 BC 84 B1 11 B1 11 .byte $B1, $11, $B1, $11, $B1, $BC, $3E, $01, $0F, $04, $51, $01, $71, $0F, $51, $01 ; CPU:$BB69 PRG:3B69 B1 11 B1 11 B1 BC 3E 01 0F 04 51 01 71 0F 51 01 @@ -15011,15 +15946,15 @@ IrqHandler_Loop612: ; ----------------------------------------------------------------------------- Sub_DC19: and #$1F ; CPU:$DC19 PRG:5C19 29 1F - sta Zp46 ; CPU:$DC1B PRG:5C1B 85 46 + sta VramWritePtrLo ; CPU:$DC1B PRG:5C1B 85 46 txa ; CPU:$DC1D PRG:5C1D 8A pha ; CPU:$DC1E PRG:5C1E 48 - ldx Zp46 ; CPU:$DC1F PRG:5C1F A6 46 + ldx VramWritePtrLo ; CPU:$DC1F PRG:5C1F A6 46 lda $0461 ; CPU:$DC21 PRG:5C21 AD 61 04 asl a ; CPU:$DC24 PRG:5C24 0A lda #$00 ; CPU:$DC25 PRG:5C25 A9 00 adc #$01 ; CPU:$DC27 PRG:5C27 69 01 - sta Zp46 ; CPU:$DC29 PRG:5C29 85 46 + sta VramWritePtrLo ; CPU:$DC29 PRG:5C29 85 46 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero39 ; Global: Branch target inside IrqHandler: taken when OnNonzero39. @@ -15039,7 +15974,7 @@ IrqHandler_OnNonzero39: lda #$00 ; CPU:$DC39 PRG:5C39 A9 00 adc Zp7C ; CPU:$DC3B PRG:5C3B 65 7C sta Zp7C ; CPU:$DC3D PRG:5C3D 85 7C - dec Zp46 ; CPU:$DC3F PRG:5C3F C6 46 + dec VramWritePtrLo ; CPU:$DC3F PRG:5C3F C6 46 bne IrqHandler_OnNonzero39 ; CPU:$DC41 PRG:5C41 D0 E8 pla ; CPU:$DC43 PRG:5C43 68 tax ; CPU:$DC44 PRG:5C44 AA @@ -15060,7 +15995,7 @@ IrqHandler_OnNonzero40: lda #$01 ; CPU:$DC4D PRG:5C4D A9 01 adc Zp7C ; CPU:$DC4F PRG:5C4F 65 7C sta Zp7C ; CPU:$DC51 PRG:5C51 85 7C - dec Zp46 ; CPU:$DC53 PRG:5C53 C6 46 + dec VramWritePtrLo ; CPU:$DC53 PRG:5C53 C6 46 bne IrqHandler_OnNonzero40 ; CPU:$DC55 PRG:5C55 D0 EF pla ; CPU:$DC57 PRG:5C57 68 tax ; CPU:$DC58 PRG:5C58 AA @@ -15081,14 +16016,15 @@ IrqHandler_OnNonzero41: lda #$03 ; CPU:$DC61 PRG:5C61 A9 03 adc Zp7C ; CPU:$DC63 PRG:5C63 65 7C sta Zp7C ; CPU:$DC65 PRG:5C65 85 7C - dec Zp46 ; CPU:$DC67 PRG:5C67 C6 46 + dec VramWritePtrLo ; CPU:$DC67 PRG:5C67 C6 46 bne IrqHandler_OnNonzero41 ; CPU:$DC69 PRG:5C69 D0 EF pla ; CPU:$DC6B PRG:5C6B 68 tax ; CPU:$DC6C PRG:5C6C AA rts ; CPU:$DC6D PRG:5C6D 60 ; ---- data $DC6E-$DC8A (29 bytes) ---- ; referenced by `lda $DC6E,x` at $DC2B (operand $DC6E falls inside this region) - .byte $02, $02, $02, $02, $05, $05, $05, $05, $05, $05, $05, $05, $07, $0A, $0A, $0A ; CPU:$DC6E PRG:5C6E 02 02 02 02 05 05 05 05 05 05 05 05 07 0A 0A 0A +EnemySpeedParameterTable: + .byte $02, $02, $02, $02, $05, $05, $05, $05, $05, $05, $05, $05, $07, $0A, $0A, $0A ; CPU:$DC6E PRG:1C6E 02 02 02 02 05 05 05 05 05 05 05 05 07 0A 0A 0A .byte $0D, $0D, $0D, $14, $1E, $64, $C8, $F0, $00, $14, $0A, $05, $0A ; CPU:$DC7E PRG:5C7E 0D 0D 0D 14 1E 64 C8 F0 00 14 0A 05 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_DC8B @@ -15099,46 +16035,46 @@ IrqHandler_OnNonzero41: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DC8B: - lda Zp54 ; CPU:$DC8B PRG:5C8B A5 54 + lda FrameCounter ; CPU:$DC8B PRG:5C8B A5 54 lsr a ; CPU:$DC8D PRG:5C8D 4A - bcc IrqHandler_Loop613 ; CPU:$DC8E PRG:5C8E 90 01 + bcc IrqHandler_Loop652 ; CPU:$DC8E PRG:5C8E 90 01 rts ; CPU:$DC90 PRG:5C90 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop613 -; Global: Branch target inside IrqHandler: taken when Loop613. +; Routine: IrqHandler_Loop652 +; Global: Branch target inside IrqHandler: taken when Loop652. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop613: +IrqHandler_Loop652: txa ; CPU:$DC91 PRG:5C91 8A pha ; CPU:$DC92 PRG:5C92 48 ldx #$0F ; CPU:$DC93 PRG:5C93 A2 0F lda $07EC ; CPU:$DC95 PRG:5C95 AD EC 07 dec $07EC ; CPU:$DC98 PRG:5C98 CE EC 07 cmp #$05 ; CPU:$DC9B PRG:5C9B C9 05 - bcc IrqHandler_Loop614 ; CPU:$DC9D PRG:5C9D 90 0E + bcc IrqHandler_Loop653 ; CPU:$DC9D PRG:5C9D 90 0E lda #$00 ; CPU:$DC9F PRG:5C9F A9 00 sta $07EC ; CPU:$DCA1 PRG:5CA1 8D EC 07 lda Zp65 ; CPU:$DCA4 PRG:5CA4 A5 65 cmp #$30 ; CPU:$DCA6 PRG:5CA6 C9 30 - beq IrqHandler_Loop615 ; CPU:$DCA8 PRG:5CA8 F0 1B + beq IrqHandler_Loop654 ; CPU:$DCA8 PRG:5CA8 F0 1B pla ; CPU:$DCAA PRG:5CAA 68 tax ; CPU:$DCAB PRG:5CAB AA rts ; CPU:$DCAC PRG:5CAC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop614 -; Global: Branch target inside IrqHandler: taken when Loop614. +; Routine: IrqHandler_Loop653 +; Global: Branch target inside IrqHandler: taken when Loop653. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop614: +IrqHandler_Loop653: lda Zp65 ; CPU:$DCAD PRG:5CAD A5 65 cmp #$30 ; CPU:$DCAF PRG:5CAF C9 30 - beq IrqHandler_Loop615 ; CPU:$DCB1 PRG:5CB1 F0 12 + beq IrqHandler_Loop654 ; CPU:$DCB1 PRG:5CB1 F0 12 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnCarryClear ; Global: Branch target inside IrqHandler: taken when the addition or subtraction did not carry. @@ -15160,20 +16096,20 @@ IrqHandler_OnCarryClear: tax ; CPU:$DCC3 PRG:5CC3 AA rts ; CPU:$DCC4 PRG:5CC4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop615 -; Global: Branch target inside IrqHandler: taken when Loop615. +; Routine: IrqHandler_Loop654 +; Global: Branch target inside IrqHandler: taken when Loop654. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop615: +IrqHandler_Loop654: lda $0401,x ; CPU:$DCC5 PRG:5CC5 BD 01 04 sta Zp56,x ; CPU:$DCC8 PRG:5CC8 95 56 inx ; CPU:$DCCA PRG:5CCA E8 txa ; CPU:$DCCB PRG:5CCB 8A cmp #$20 ; CPU:$DCCC PRG:5CCC C9 20 - bcc IrqHandler_Loop615 ; CPU:$DCCE PRG:5CCE 90 F5 + bcc IrqHandler_Loop654 ; CPU:$DCCE PRG:5CCE 90 F5 pla ; CPU:$DCD0 PRG:5CD0 68 tax ; CPU:$DCD1 PRG:5CD1 AA rts ; CPU:$DCD2 PRG:5CD2 60 @@ -15202,26 +16138,26 @@ Sub_DCD3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero42: - lda (Zp46),y ; CPU:$DCE4 PRG:5CE4 B1 46 - beq IrqHandler_Loop618 ; CPU:$DCE6 PRG:5CE6 F0 2C + lda (VramWritePtrLo),y ; CPU:$DCE4 PRG:5CE4 B1 46 + beq IrqHandler_Loop657 ; CPU:$DCE6 PRG:5CE6 F0 2C tax ; CPU:$DCE8 PRG:5CE8 AA asl a ; CPU:$DCE9 PRG:5CE9 0A - bcs IrqHandler_Loop616 ; CPU:$DCEA PRG:5CEA B0 0B + bcs IrqHandler_Loop655 ; CPU:$DCEA PRG:5CEA B0 0B iny ; CPU:$DCEC PRG:5CEC C8 - lda (Zp46),y ; CPU:$DCED PRG:5CED B1 46 - sta Zp4A ; CPU:$DCEF PRG:5CEF 85 4A + lda (VramWritePtrLo),y ; CPU:$DCED PRG:5CED B1 46 + sta DispatchPtrLo ; CPU:$DCEF PRG:5CEF 85 4A jsr Sub_DD0B ; CPU:$DCF1 PRG:5CF1 20 0B DD iny ; CPU:$DCF4 PRG:5CF4 C8 bne IrqHandler_OnNonzero42 ; CPU:$DCF5 PRG:5CF5 D0 ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop616 -; Global: Branch target inside IrqHandler: taken when Loop616. +; Routine: IrqHandler_Loop655 +; Global: Branch target inside IrqHandler: taken when Loop655. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop616: +IrqHandler_Loop655: txa ; CPU:$DCF7 PRG:5CF7 8A sec ; CPU:$DCF8 PRG:5CF8 38 sbc #$80 ; CPU:$DCF9 PRG:5CF9 E9 80 @@ -15236,21 +16172,21 @@ IrqHandler_Loop616: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero43: - lda (Zp46),y ; CPU:$DCFD PRG:5CFD B1 46 + lda (VramWritePtrLo),y ; CPU:$DCFD PRG:5CFD B1 46 sta PPUDATA ; CPU:$DCFF PRG:5CFF 8D 07 20 dex ; CPU:$DD02 PRG:5D02 CA - beq IrqHandler_Loop617 ; CPU:$DD03 PRG:5D03 F0 03 + beq IrqHandler_Loop656 ; CPU:$DD03 PRG:5D03 F0 03 iny ; CPU:$DD05 PRG:5D05 C8 bne IrqHandler_OnNonzero43 ; CPU:$DD06 PRG:5D06 D0 F5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop617 -; Global: Branch target inside IrqHandler: taken when Loop617. +; Routine: IrqHandler_Loop656 +; Global: Branch target inside IrqHandler: taken when Loop656. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop617: +IrqHandler_Loop656: iny ; CPU:$DD08 PRG:5D08 C8 bne IrqHandler_OnNonzero42 ; CPU:$DD09 PRG:5D09 D0 D9 ; ----------------------------------------------------------------------------- @@ -15262,7 +16198,7 @@ IrqHandler_Loop617: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_DD0B: - lda Zp4A ; CPU:$DD0B PRG:5D0B A5 4A + lda DispatchPtrLo ; CPU:$DD0B PRG:5D0B A5 4A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero44 ; Global: Branch target inside IrqHandler: taken when OnNonzero44. @@ -15277,19 +16213,20 @@ IrqHandler_OnNonzero44: bne IrqHandler_OnNonzero44 ; CPU:$DD11 PRG:5D11 D0 FA rts ; CPU:$DD13 PRG:5D13 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop618 -; Global: Branch target inside IrqHandler: taken when Loop618. +; Routine: IrqHandler_Loop657 +; Global: Branch target inside IrqHandler: taken when Loop657. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop618: +IrqHandler_Loop657: lda #$1A ; CPU:$DD14 PRG:5D14 A9 1A sta PPUMASK ; CPU:$DD16 PRG:5D16 8D 01 20 rts ; CPU:$DD19 PRG:5D19 60 ; ---- data $DD1A-$E08A (881 bytes) ---- - .byte $08, $55, $18, $FF, $08, $5F, $18, $55, $00, $7F, $FE, $41, $FE, $20, $A8, $5F ; CPU:$DD1A PRG:5D1A 08 55 18 FF 08 5F 18 55 00 7F FE 41 FE 20 A8 5F +SpriteGraphicData: + .byte $08, $55, $18, $FF, $08, $5F, $18, $55, $00, $7F, $FE, $41, $FE, $20, $A8, $5F ; CPU:$DD1A PRG:1D1A 08 55 18 FF 08 5F 18 55 00 7F FE 41 FE 20 A8 5F .byte $00, $7F, $00, $7F, $00, $7F, $00, $7F, $00, $05, $00, $90, $F5, $4A, $97, $88 ; CPU:$DD2A PRG:5D2A 00 7F 00 7F 00 7F 00 7F 00 05 00 90 F5 4A 97 88 .byte $F5, $97, $F5, $F5, $88, $F5, $88, $4A, $97, $88, $97, $87, $90, $98, $99, $97 ; CPU:$DD3A PRG:5D3A F5 97 F5 F5 88 F5 88 4A 97 88 97 87 90 98 99 97 .byte $88, $F5, $97, $88, $4A, $4A, $F5, $99, $4A, $4A, $88, $97, $97, $90, $4B, $F5 ; CPU:$DD4A PRG:5D4A 88 F5 97 88 4A 4A F5 99 4A 4A 88 97 97 90 4B F5 @@ -15358,24 +16295,24 @@ Sub_E08B: asl a ; CPU:$E08D PRG:608D 0A clc ; CPU:$E08E PRG:608E 18 adc ZpAB ; CPU:$E08F PRG:608F 65 AB - sta Zp4A ; CPU:$E091 PRG:6091 85 4A + sta DispatchPtrLo ; CPU:$E091 PRG:6091 85 4A tya ; CPU:$E093 PRG:6093 98 pha ; CPU:$E094 PRG:6094 48 - lda Zp4A ; CPU:$E095 PRG:6095 A5 4A + lda DispatchPtrLo ; CPU:$E095 PRG:6095 A5 4A tay ; CPU:$E097 PRG:6097 A8 lda $E134,y ; CPU:$E098 PRG:6098 B9 34 E1 - beq IrqHandler_Loop621 ; CPU:$E09B PRG:609B F0 26 + beq IrqHandler_Loop660 ; CPU:$E09B PRG:609B F0 26 cmp #$01 ; CPU:$E09D PRG:609D C9 01 - beq IrqHandler_Loop620 ; CPU:$E09F PRG:609F F0 1E + beq IrqHandler_Loop659 ; CPU:$E09F PRG:609F F0 1E lda ZpAC ; CPU:$E0A1 PRG:60A1 A5 AC beq IrqHandler_OnZero11 ; CPU:$E0A3 PRG:60A3 F0 10 cmp #$FE ; CPU:$E0A5 PRG:60A5 C9 FE - beq IrqHandler_Loop619 ; CPU:$E0A7 PRG:60A7 F0 0F + beq IrqHandler_Loop658 ; CPU:$E0A7 PRG:60A7 F0 0F cmp $E134,y ; CPU:$E0A9 PRG:60A9 D9 34 E1 - bcs IrqHandler_Loop620 ; CPU:$E0AC PRG:60AC B0 11 + bcs IrqHandler_Loop659 ; CPU:$E0AC PRG:60AC B0 11 ora $E134,y ; CPU:$E0AE PRG:60AE 19 34 E1 and #$80 ; CPU:$E0B1 PRG:60B1 29 80 - bne IrqHandler_Loop620 ; CPU:$E0B3 PRG:60B3 D0 0A + bne IrqHandler_Loop659 ; CPU:$E0B3 PRG:60B3 D0 0A ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnZero11 ; Global: Branch target inside IrqHandler: taken when OnZero11. @@ -15389,127 +16326,127 @@ IrqHandler_OnZero11: tay ; CPU:$E0B6 PRG:60B6 A8 rts ; CPU:$E0B7 PRG:60B7 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop619 -; Global: Branch target inside IrqHandler: taken when Loop619. +; Routine: IrqHandler_Loop658 +; Global: Branch target inside IrqHandler: taken when Loop658. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop619: +IrqHandler_Loop658: lda $E134,y ; CPU:$E0B8 PRG:60B8 B9 34 E1 cmp #$FE ; CPU:$E0BB PRG:60BB C9 FE beq IrqHandler_OnZero11 ; CPU:$E0BD PRG:60BD F0 F6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop620 -; Global: Branch target inside IrqHandler: taken when Loop620. +; Routine: IrqHandler_Loop659 +; Global: Branch target inside IrqHandler: taken when Loop659. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop620: +IrqHandler_Loop659: lda #$FC ; CPU:$E0BF PRG:60BF A9 FC sta ZpAD ; CPU:$E0C1 PRG:60C1 85 AD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop621 -; Global: Branch target inside IrqHandler: taken when Loop621. +; Routine: IrqHandler_Loop660 +; Global: Branch target inside IrqHandler: taken when Loop660. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop621: +IrqHandler_Loop660: lda $E134,y ; CPU:$E0C3 PRG:60C3 B9 34 E1 sta ZpAC ; CPU:$E0C6 PRG:60C6 85 AC lda $E135,y ; CPU:$E0C8 PRG:60C8 B9 35 E1 - sta Zp46 ; CPU:$E0CB PRG:60CB 85 46 + sta VramWritePtrLo ; CPU:$E0CB PRG:60CB 85 46 lda $E136,y ; CPU:$E0CD PRG:60CD B9 36 E1 - sta Zp47 ; CPU:$E0D0 PRG:60D0 85 47 + sta VramWritePtrHi ; CPU:$E0D0 PRG:60D0 85 47 ldy #$00 ; CPU:$E0D2 PRG:60D2 A0 00 - lda (Zp46),y ; CPU:$E0D4 PRG:60D4 B1 46 - sta Zp4A ; CPU:$E0D6 PRG:60D6 85 4A + lda (VramWritePtrLo),y ; CPU:$E0D4 PRG:60D4 B1 46 + sta DispatchPtrLo ; CPU:$E0D6 PRG:60D6 85 4A and #$01 ; CPU:$E0D8 PRG:60D8 29 01 - bne IrqHandler_Loop622 ; CPU:$E0DA PRG:60DA D0 0E + bne IrqHandler_Loop661 ; CPU:$E0DA PRG:60DA D0 0E iny ; CPU:$E0DC PRG:60DC C8 - lda (Zp46),y ; CPU:$E0DD PRG:60DD B1 46 + lda (VramWritePtrLo),y ; CPU:$E0DD PRG:60DD B1 46 sta Zp8F ; CPU:$E0DF PRG:60DF 85 8F iny ; CPU:$E0E1 PRG:60E1 C8 - lda (Zp46),y ; CPU:$E0E2 PRG:60E2 B1 46 + lda (VramWritePtrLo),y ; CPU:$E0E2 PRG:60E2 B1 46 sta Zp90 ; CPU:$E0E4 PRG:60E4 85 90 lda #$01 ; CPU:$E0E6 PRG:60E6 A9 01 sta ZpAE ; CPU:$E0E8 PRG:60E8 85 AE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop622 -; Global: Branch target inside IrqHandler: taken when Loop622. +; Routine: IrqHandler_Loop661 +; Global: Branch target inside IrqHandler: taken when Loop661. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop622: - lda Zp4A ; CPU:$E0EA PRG:60EA A5 4A +IrqHandler_Loop661: + lda DispatchPtrLo ; CPU:$E0EA PRG:60EA A5 4A and #$02 ; CPU:$E0EC PRG:60EC 29 02 - bne IrqHandler_Loop623 ; CPU:$E0EE PRG:60EE D0 0E + bne IrqHandler_Loop662 ; CPU:$E0EE PRG:60EE D0 0E iny ; CPU:$E0F0 PRG:60F0 C8 - lda (Zp46),y ; CPU:$E0F1 PRG:60F1 B1 46 + lda (VramWritePtrLo),y ; CPU:$E0F1 PRG:60F1 B1 46 sta Zp91 ; CPU:$E0F3 PRG:60F3 85 91 iny ; CPU:$E0F5 PRG:60F5 C8 - lda (Zp46),y ; CPU:$E0F6 PRG:60F6 B1 46 + lda (VramWritePtrLo),y ; CPU:$E0F6 PRG:60F6 B1 46 sta Zp92 ; CPU:$E0F8 PRG:60F8 85 92 lda #$01 ; CPU:$E0FA PRG:60FA A9 01 sta ZpAF ; CPU:$E0FC PRG:60FC 85 AF ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop623 -; Global: Branch target inside IrqHandler: taken when Loop623. +; Routine: IrqHandler_Loop662 +; Global: Branch target inside IrqHandler: taken when Loop662. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop623: - lda Zp4A ; CPU:$E0FE PRG:60FE A5 4A +IrqHandler_Loop662: + lda DispatchPtrLo ; CPU:$E0FE PRG:60FE A5 4A and #$04 ; CPU:$E100 PRG:6100 29 04 - bne IrqHandler_Loop624 ; CPU:$E102 PRG:6102 D0 0E + bne IrqHandler_Loop663 ; CPU:$E102 PRG:6102 D0 0E iny ; CPU:$E104 PRG:6104 C8 - lda (Zp46),y ; CPU:$E105 PRG:6105 B1 46 + lda (VramWritePtrLo),y ; CPU:$E105 PRG:6105 B1 46 sta Zp93 ; CPU:$E107 PRG:6107 85 93 iny ; CPU:$E109 PRG:6109 C8 - lda (Zp46),y ; CPU:$E10A PRG:610A B1 46 + lda (VramWritePtrLo),y ; CPU:$E10A PRG:610A B1 46 sta Zp94 ; CPU:$E10C PRG:610C 85 94 lda #$01 ; CPU:$E10E PRG:610E A9 01 sta ZpB0 ; CPU:$E110 PRG:6110 85 B0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop624 -; Global: Branch target inside IrqHandler: taken when Loop624. +; Routine: IrqHandler_Loop663 +; Global: Branch target inside IrqHandler: taken when Loop663. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop624: - lda Zp4A ; CPU:$E112 PRG:6112 A5 4A +IrqHandler_Loop663: + lda DispatchPtrLo ; CPU:$E112 PRG:6112 A5 4A and #$08 ; CPU:$E114 PRG:6114 29 08 - bne IrqHandler_Loop625 ; CPU:$E116 PRG:6116 D0 0E + bne IrqHandler_Loop664 ; CPU:$E116 PRG:6116 D0 0E iny ; CPU:$E118 PRG:6118 C8 - lda (Zp46),y ; CPU:$E119 PRG:6119 B1 46 + lda (VramWritePtrLo),y ; CPU:$E119 PRG:6119 B1 46 sta Zp95 ; CPU:$E11B PRG:611B 85 95 iny ; CPU:$E11D PRG:611D C8 - lda (Zp46),y ; CPU:$E11E PRG:611E B1 46 + lda (VramWritePtrLo),y ; CPU:$E11E PRG:611E B1 46 sta Zp96 ; CPU:$E120 PRG:6120 85 96 lda #$01 ; CPU:$E122 PRG:6122 A9 01 sta ZpB1 ; CPU:$E124 PRG:6124 85 B1 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop625 -; Global: Branch target inside IrqHandler: taken when Loop625. +; Routine: IrqHandler_Loop664 +; Global: Branch target inside IrqHandler: taken when Loop664. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop625: +IrqHandler_Loop664: lda Zp8D ; CPU:$E126 PRG:6126 A5 8D - and Zp4A ; CPU:$E128 PRG:6128 25 4A + and DispatchPtrLo ; CPU:$E128 PRG:6128 25 4A sta Zp8D ; CPU:$E12A PRG:612A 85 8D eor #$0F ; CPU:$E12C PRG:612C 49 0F sta APUSTATUS ; CPU:$E12E PRG:612E 8D 15 40 @@ -15524,7 +16461,8 @@ IrqHandler_Loop625: ; referenced by `lda $E134,y` at $E0C3 (operand $E134 falls inside this region) ; referenced by `lda $E135,y` at $E0C8 (operand $E135 falls inside this region) ; ... and 1 further references from decoded code - .byte $00, $8B, $E1, $01, $94, $E1, $01, $9D, $E1, $01, $A6, $E1, $01, $AF, $E1, $01 ; CPU:$E134 PRG:6134 00 8B E1 01 94 E1 01 9D E1 01 A6 E1 01 AF E1 01 +EnemyHandlerPointerTable: + .byte $00, $8B, $E1, $01, $94, $E1, $01, $9D, $E1, $01, $A6, $E1, $01, $AF, $E1, $01 ; CPU:$E134 PRG:2134 00 8B E1 01 94 E1 01 9D E1 01 A6 E1 01 AF E1 01 .byte $B8, $E1, $01, $C1, $E1, $01, $CA, $E1, $01, $D3, $E1, $FF, $DC, $E1, $04, $E5 ; CPU:$E144 PRG:6144 B8 E1 01 C1 E1 01 CA E1 01 D3 E1 FF DC E1 04 E5 .byte $E1, $FF, $E8, $E1, $FF, $F1, $E1, $FE, $F6, $E1, $FF, $FB, $E1, $02, $04, $E2 ; CPU:$E154 PRG:6154 E1 FF E8 E1 FF F1 E1 FE F6 E1 FF FB E1 02 04 E2 .byte $03, $07, $E2, $04, $0A, $E2, $05, $0D, $E2, $02, $10, $E2, $06, $15, $E2, $05 ; CPU:$E164 PRG:6164 03 07 E2 04 0A E2 05 0D E2 02 10 E2 06 15 E2 05 @@ -15577,17 +16515,17 @@ Sub_E243: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero45: lsr Zp4C ; CPU:$E249 PRG:6249 46 4C - bcs IrqHandler_Loop626 ; CPU:$E24B PRG:624B B0 03 + bcs IrqHandler_Loop665 ; CPU:$E24B PRG:624B B0 03 jsr Sub_E256 ; CPU:$E24D PRG:624D 20 56 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop626 -; Global: Branch target inside IrqHandler: taken when Loop626. +; Routine: IrqHandler_Loop665 +; Global: Branch target inside IrqHandler: taken when Loop665. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop626: +IrqHandler_Loop665: inx ; CPU:$E250 PRG:6250 E8 cpx #$04 ; CPU:$E251 PRG:6251 E0 04 bne IrqHandler_OnNonzero45 ; CPU:$E253 PRG:6253 D0 F4 @@ -15602,133 +16540,133 @@ IrqHandler_Loop626: ; ----------------------------------------------------------------------------- Sub_E256: dec ZpAE,x ; CPU:$E256 PRG:6256 D6 AE - beq IrqHandler_Loop636 ; CPU:$E258 PRG:6258 F0 72 + beq IrqHandler_Loop675 ; CPU:$E258 PRG:6258 F0 72 ldy ZpB6,x ; CPU:$E25A PRG:625A B4 B6 dey ; CPU:$E25C PRG:625C 88 - bne IrqHandler_Loop629 ; CPU:$E25D PRG:625D D0 1A + bne IrqHandler_Loop668 ; CPU:$E25D PRG:625D D0 1A lda ZpB2,x ; CPU:$E25F PRG:625F B5 B2 sec ; CPU:$E261 PRG:6261 38 sbc ZpD6,x ; CPU:$E262 PRG:6262 F5 D6 sta ZpB2,x ; CPU:$E264 PRG:6264 95 B2 cmp ZpCE,x ; CPU:$E266 PRG:6266 D5 CE - beq IrqHandler_Loop627 ; CPU:$E268 PRG:6268 F0 02 - bcs IrqHandler_Loop628 ; CPU:$E26A PRG:626A B0 0A + beq IrqHandler_Loop666 ; CPU:$E268 PRG:6268 F0 02 + bcs IrqHandler_Loop667 ; CPU:$E26A PRG:626A B0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop627 -; Global: Branch target inside IrqHandler: taken when Loop627. +; Routine: IrqHandler_Loop666 +; Global: Branch target inside IrqHandler: taken when Loop666. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop627: +IrqHandler_Loop666: lda ZpCE,x ; CPU:$E26C PRG:626C B5 CE sta ZpB2,x ; CPU:$E26E PRG:626E 95 B2 inc ZpB6,x ; CPU:$E270 PRG:6270 F6 B6 lda ZpDA,x ; CPU:$E272 PRG:6272 B5 DA sta ZpBA,x ; CPU:$E274 PRG:6274 95 BA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop628 -; Global: Branch target inside IrqHandler: taken when Loop628. +; Routine: IrqHandler_Loop667 +; Global: Branch target inside IrqHandler: taken when Loop667. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop628: - jmp IrqHandler_Loop635 ; CPU:$E276 PRG:6276 4C B0 E2 +IrqHandler_Loop667: + jmp IrqHandler_Loop674 ; CPU:$E276 PRG:6276 4C B0 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop629 -; Global: Branch target inside IrqHandler: taken when Loop629. +; Routine: IrqHandler_Loop668 +; Global: Branch target inside IrqHandler: taken when Loop668. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop629: +IrqHandler_Loop668: dey ; CPU:$E279 PRG:6279 88 - bne IrqHandler_Loop631 ; CPU:$E27A PRG:627A D0 09 + bne IrqHandler_Loop670 ; CPU:$E27A PRG:627A D0 09 dec ZpBA,x ; CPU:$E27C PRG:627C D6 BA - bne IrqHandler_Loop630 ; CPU:$E27E PRG:627E D0 02 + bne IrqHandler_Loop669 ; CPU:$E27E PRG:627E D0 02 inc ZpB6,x ; CPU:$E280 PRG:6280 F6 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop630 -; Global: Branch target inside IrqHandler: taken when Loop630. +; Routine: IrqHandler_Loop669 +; Global: Branch target inside IrqHandler: taken when Loop669. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop630: - jmp IrqHandler_Loop635 ; CPU:$E282 PRG:6282 4C B0 E2 +IrqHandler_Loop669: + jmp IrqHandler_Loop674 ; CPU:$E282 PRG:6282 4C B0 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop631 -; Global: Branch target inside IrqHandler: taken when Loop631. +; Routine: IrqHandler_Loop670 +; Global: Branch target inside IrqHandler: taken when Loop670. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop631: +IrqHandler_Loop670: dey ; CPU:$E285 PRG:6285 88 - bne IrqHandler_Loop634 ; CPU:$E286 PRG:6286 D0 14 + bne IrqHandler_Loop673 ; CPU:$E286 PRG:6286 D0 14 lda ZpB2,x ; CPU:$E288 PRG:6288 B5 B2 sec ; CPU:$E28A PRG:628A 38 sbc ZpDE,x ; CPU:$E28B PRG:628B F5 DE sta ZpB2,x ; CPU:$E28D PRG:628D 95 B2 - beq IrqHandler_Loop632 ; CPU:$E28F PRG:628F F0 02 - bcs IrqHandler_Loop633 ; CPU:$E291 PRG:6291 B0 06 + beq IrqHandler_Loop671 ; CPU:$E28F PRG:628F F0 02 + bcs IrqHandler_Loop672 ; CPU:$E291 PRG:6291 B0 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop632 -; Global: Branch target inside IrqHandler: taken when Loop632. +; Routine: IrqHandler_Loop671 +; Global: Branch target inside IrqHandler: taken when Loop671. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop632: +IrqHandler_Loop671: lda #$00 ; CPU:$E293 PRG:6293 A9 00 sta ZpB2,x ; CPU:$E295 PRG:6295 95 B2 inc ZpB6,x ; CPU:$E297 PRG:6297 F6 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop633 -; Global: Branch target inside IrqHandler: taken when Loop633. +; Routine: IrqHandler_Loop672 +; Global: Branch target inside IrqHandler: taken when Loop672. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop633: - jmp IrqHandler_Loop635 ; CPU:$E299 PRG:6299 4C B0 E2 +IrqHandler_Loop672: + jmp IrqHandler_Loop674 ; CPU:$E299 PRG:6299 4C B0 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop634 -; Global: Branch target inside IrqHandler: taken when Loop634. +; Routine: IrqHandler_Loop673 +; Global: Branch target inside IrqHandler: taken when Loop673. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop634: +IrqHandler_Loop673: dey ; CPU:$E29C PRG:629C 88 - beq IrqHandler_Loop635 ; CPU:$E29D PRG:629D F0 11 + beq IrqHandler_Loop674 ; CPU:$E29D PRG:629D F0 11 lda ZpB2,x ; CPU:$E29F PRG:629F B5 B2 clc ; CPU:$E2A1 PRG:62A1 18 adc ZpD2,x ; CPU:$E2A2 PRG:62A2 75 D2 sta ZpB2,x ; CPU:$E2A4 PRG:62A4 95 B2 cmp ZpCA,x ; CPU:$E2A6 PRG:62A6 D5 CA - bcc IrqHandler_Loop635 ; CPU:$E2A8 PRG:62A8 90 06 + bcc IrqHandler_Loop674 ; CPU:$E2A8 PRG:62A8 90 06 lda ZpCA,x ; CPU:$E2AA PRG:62AA B5 CA sta ZpB2,x ; CPU:$E2AC PRG:62AC 95 B2 inc ZpB6,x ; CPU:$E2AE PRG:62AE F6 B6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop635 -; Global: Branch target inside IrqHandler: taken when Loop635. +; Routine: IrqHandler_Loop674 +; Global: Branch target inside IrqHandler: taken when Loop674. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop635: +IrqHandler_Loop674: lda ZpB2,x ; CPU:$E2B0 PRG:62B0 B5 B2 lsr a ; CPU:$E2B2 PRG:62B2 4A lsr a ; CPU:$E2B3 PRG:62B3 4A @@ -15747,14 +16685,14 @@ IrqHandler_Loop635: sta APUPULSE1TIMERLO,y ; CPU:$E2C8 PRG:62C8 99 02 40 rts ; CPU:$E2CB PRG:62CB 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop636 -; Global: Branch target inside IrqHandler: taken when Loop636. +; Routine: IrqHandler_Loop675 +; Global: Branch target inside IrqHandler: taken when Loop675. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop636: +IrqHandler_Loop675: txa ; CPU:$E2CC PRG:62CC 8A asl a ; CPU:$E2CD PRG:62CD 0A tax ; CPU:$E2CE PRG:62CE AA @@ -15768,33 +16706,33 @@ IrqHandler_Loop636: ; ----------------------------------------------------------------------------- Sub_E2CF: lda (Zp8F,x) ; CPU:$E2CF PRG:62CF A1 8F - sta Zp4A ; CPU:$E2D1 PRG:62D1 85 4A + sta DispatchPtrLo ; CPU:$E2D1 PRG:62D1 85 4A txa ; CPU:$E2D3 PRG:62D3 8A lsr a ; CPU:$E2D4 PRG:62D4 4A tax ; CPU:$E2D5 PRG:62D5 AA - lda Zp4A ; CPU:$E2D6 PRG:62D6 A5 4A + lda DispatchPtrLo ; CPU:$E2D6 PRG:62D6 A5 4A cmp #$FF ; CPU:$E2D8 PRG:62D8 C9 FF - beq IrqHandler_Loop640 ; CPU:$E2DA PRG:62DA F0 5D + beq IrqHandler_Loop679 ; CPU:$E2DA PRG:62DA F0 5D and #$0F ; CPU:$E2DC PRG:62DC 29 0F cmp #$0D ; CPU:$E2DE PRG:62DE C9 0D - bcc IrqHandler_Loop637 ; CPU:$E2E0 PRG:62E0 90 03 + bcc IrqHandler_Loop676 ; CPU:$E2E0 PRG:62E0 90 03 jmp Sub_E36B ; CPU:$E2E2 PRG:62E2 4C 6B E3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop637 -; Global: Branch target inside IrqHandler: taken when Loop637. +; Routine: IrqHandler_Loop676 +; Global: Branch target inside IrqHandler: taken when Loop676. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop637: +IrqHandler_Loop676: asl a ; CPU:$E2E5 PRG:62E5 0A tay ; CPU:$E2E6 PRG:62E6 A8 lda $E4B7,y ; CPU:$E2E7 PRG:62E7 B9 B7 E4 - sta Zp46 ; CPU:$E2EA PRG:62EA 85 46 + sta VramWritePtrLo ; CPU:$E2EA PRG:62EA 85 46 lda $E4B8,y ; CPU:$E2EC PRG:62EC B9 B8 E4 - sta Zp47 ; CPU:$E2EF PRG:62EF 85 47 - lda Zp4A ; CPU:$E2F1 PRG:62F1 A5 4A + sta VramWritePtrHi ; CPU:$E2EF PRG:62EF 85 47 + lda DispatchPtrLo ; CPU:$E2F1 PRG:62F1 A5 4A lsr a ; CPU:$E2F3 PRG:62F3 4A lsr a ; CPU:$E2F4 PRG:62F4 4A lsr a ; CPU:$E2F5 PRG:62F5 4A @@ -15802,34 +16740,34 @@ IrqHandler_Loop637: tay ; CPU:$E2F7 PRG:62F7 A8 txa ; CPU:$E2F8 PRG:62F8 8A cmp #$03 ; CPU:$E2F9 PRG:62F9 C9 03 - bne IrqHandler_Loop638 ; CPU:$E2FB PRG:62FB D0 08 - sty Zp46 ; CPU:$E2FD PRG:62FD 84 46 + bne IrqHandler_Loop677 ; CPU:$E2FB PRG:62FB D0 08 + sty VramWritePtrLo ; CPU:$E2FD PRG:62FD 84 46 lda #$00 ; CPU:$E2FF PRG:62FF A9 00 - sta Zp47 ; CPU:$E301 PRG:6301 85 47 - beq IrqHandler_Loop639 ; CPU:$E303 PRG:6303 F0 0A + sta VramWritePtrHi ; CPU:$E301 PRG:6301 85 47 + beq IrqHandler_Loop678 ; CPU:$E303 PRG:6303 F0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop638 -; Global: Branch target inside IrqHandler: taken when Loop638. +; Routine: IrqHandler_Loop677 +; Global: Branch target inside IrqHandler: taken when Loop677. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop638: +IrqHandler_Loop677: dey ; CPU:$E305 PRG:6305 88 - beq IrqHandler_Loop639 ; CPU:$E306 PRG:6306 F0 07 - lsr Zp47 ; CPU:$E308 PRG:6308 46 47 - ror Zp46 ; CPU:$E30A PRG:630A 66 46 - jmp IrqHandler_Loop638 ; CPU:$E30C PRG:630C 4C 05 E3 + beq IrqHandler_Loop678 ; CPU:$E306 PRG:6306 F0 07 + lsr VramWritePtrHi ; CPU:$E308 PRG:6308 46 47 + ror VramWritePtrLo ; CPU:$E30A PRG:630A 66 46 + jmp IrqHandler_Loop677 ; CPU:$E30C PRG:630C 4C 05 E3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop639 -; Global: Branch target inside IrqHandler: taken when Loop639. +; Routine: IrqHandler_Loop678 +; Global: Branch target inside IrqHandler: taken when Loop678. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop639: +IrqHandler_Loop678: txa ; CPU:$E30F PRG:630F 8A asl a ; CPU:$E310 PRG:6310 0A asl a ; CPU:$E311 PRG:6311 0A @@ -15838,10 +16776,10 @@ IrqHandler_Loop639: sta ZpB2,x ; CPU:$E315 PRG:6315 95 B2 lda #$00 ; CPU:$E317 PRG:6317 A9 00 sta ZpB6,x ; CPU:$E319 PRG:6319 95 B6 - lda Zp46 ; CPU:$E31B PRG:631B A5 46 + lda VramWritePtrLo ; CPU:$E31B PRG:631B A5 46 sta ZpC2,x ; CPU:$E31D PRG:631D 95 C2 sta APUPULSE1TIMERLO,y ; CPU:$E31F PRG:631F 99 02 40 - lda Zp47 ; CPU:$E322 PRG:6322 A5 47 + lda VramWritePtrHi ; CPU:$E322 PRG:6322 A5 47 sta APUPULSE1TIMERHI,y ; CPU:$E324 PRG:6324 99 03 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_E327 @@ -15861,16 +16799,16 @@ Sub_E327: jsr Sub_E4A0 ; CPU:$E331 PRG:6331 20 A0 E4 tya ; CPU:$E334 PRG:6334 98 tax ; CPU:$E335 PRG:6335 AA - jmp IrqHandler_Loop635 ; CPU:$E336 PRG:6336 4C B0 E2 + jmp IrqHandler_Loop674 ; CPU:$E336 PRG:6336 4C B0 E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop640 -; Global: Branch target inside IrqHandler: taken when Loop640. +; Routine: IrqHandler_Loop679 +; Global: Branch target inside IrqHandler: taken when Loop679. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop640: +IrqHandler_Loop679: txa ; CPU:$E339 PRG:6339 8A tay ; CPU:$E33A PRG:633A A8 iny ; CPU:$E33B PRG:633B C8 @@ -15885,54 +16823,54 @@ IrqHandler_Loop640: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero46: dey ; CPU:$E33E PRG:633E 88 - beq IrqHandler_Loop641 ; CPU:$E33F PRG:633F F0 03 + beq IrqHandler_Loop680 ; CPU:$E33F PRG:633F F0 03 asl a ; CPU:$E341 PRG:6341 0A bne IrqHandler_OnNonzero46 ; CPU:$E342 PRG:6342 D0 FA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop641 -; Global: Branch target inside IrqHandler: taken when Loop641. +; Routine: IrqHandler_Loop680 +; Global: Branch target inside IrqHandler: taken when Loop680. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop641: +IrqHandler_Loop680: ora Zp8D ; CPU:$E344 PRG:6344 05 8D sta Zp8D ; CPU:$E346 PRG:6346 85 8D lda #$00 ; CPU:$E348 PRG:6348 A9 00 sta ZpB2,x ; CPU:$E34A PRG:634A 95 B2 lda $0658 ; CPU:$E34C PRG:634C AD 58 06 - bne IrqHandler_Loop643 ; CPU:$E34F PRG:634F D0 17 + bne IrqHandler_Loop682 ; CPU:$E34F PRG:634F D0 17 inc ZpAD ; CPU:$E351 PRG:6351 E6 AD lda ZpAC ; CPU:$E353 PRG:6353 A5 AC - beq IrqHandler_Loop643 ; CPU:$E355 PRG:6355 F0 11 + beq IrqHandler_Loop682 ; CPU:$E355 PRG:6355 F0 11 cmp #$01 ; CPU:$E357 PRG:6357 C9 01 - beq IrqHandler_Loop642 ; CPU:$E359 PRG:6359 F0 06 + beq IrqHandler_Loop681 ; CPU:$E359 PRG:6359 F0 06 lda #$FF ; CPU:$E35B PRG:635B A9 FF sta ZpAC ; CPU:$E35D PRG:635D 85 AC - bne IrqHandler_Loop643 ; CPU:$E35F PRG:635F D0 07 + bne IrqHandler_Loop682 ; CPU:$E35F PRG:635F D0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop642 -; Global: Branch target inside IrqHandler: taken when Loop642. +; Routine: IrqHandler_Loop681 +; Global: Branch target inside IrqHandler: taken when Loop681. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop642: +IrqHandler_Loop681: lda ZpAD ; CPU:$E361 PRG:6361 A5 AD - bne IrqHandler_Loop643 ; CPU:$E363 PRG:6363 D0 03 + bne IrqHandler_Loop682 ; CPU:$E363 PRG:6363 D0 03 jsr Sub_E3CF ; CPU:$E365 PRG:6365 20 CF E3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop643 -; Global: Branch target inside IrqHandler: taken when Loop643. +; Routine: IrqHandler_Loop682 +; Global: Branch target inside IrqHandler: taken when Loop682. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop643: - jmp IrqHandler_Loop635 ; CPU:$E368 PRG:6368 4C B0 E2 +IrqHandler_Loop682: + jmp IrqHandler_Loop674 ; CPU:$E368 PRG:6368 4C B0 E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E36B ; Global: Branch target inside Sub: taken when E36B. @@ -15942,107 +16880,107 @@ IrqHandler_Loop643: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_E36B: - beq IrqHandler_Loop648 ; CPU:$E36B PRG:636B F0 5F + beq IrqHandler_Loop687 ; CPU:$E36B PRG:636B F0 5F txa ; CPU:$E36D PRG:636D 8A asl a ; CPU:$E36E PRG:636E 0A tax ; CPU:$E36F PRG:636F AA - lda Zp4A ; CPU:$E370 PRG:6370 A5 4A + lda DispatchPtrLo ; CPU:$E370 PRG:6370 A5 4A lsr a ; CPU:$E372 PRG:6372 4A lsr a ; CPU:$E373 PRG:6373 4A lsr a ; CPU:$E374 PRG:6374 4A lsr a ; CPU:$E375 PRG:6375 4A - sta Zp4A ; CPU:$E376 PRG:6376 85 4A + sta DispatchPtrLo ; CPU:$E376 PRG:6376 85 4A jsr Sub_E4A0 ; CPU:$E378 PRG:6378 20 A0 E4 - sta Zp4B ; CPU:$E37B PRG:637B 85 4B + sta DispatchPtrHi ; CPU:$E37B PRG:637B 85 4B jsr Sub_E4A0 ; CPU:$E37D PRG:637D 20 A0 E4 - lda Zp4A ; CPU:$E380 PRG:6380 A5 4A + lda DispatchPtrLo ; CPU:$E380 PRG:6380 A5 4A cmp #$0C ; CPU:$E382 PRG:6382 C9 0C - bcs IrqHandler_Loop649 ; CPU:$E384 PRG:6384 B0 6D + bcs IrqHandler_Loop688 ; CPU:$E384 PRG:6384 B0 6D cmp #$04 ; CPU:$E386 PRG:6386 C9 04 - bcs IrqHandler_Loop646 ; CPU:$E388 PRG:6388 B0 22 + bcs IrqHandler_Loop685 ; CPU:$E388 PRG:6388 B0 22 txa ; CPU:$E38A PRG:638A 8A asl a ; CPU:$E38B PRG:638B 0A clc ; CPU:$E38C PRG:638C 18 - adc Zp4A ; CPU:$E38D PRG:638D 65 4A + adc DispatchPtrLo ; CPU:$E38D PRG:638D 65 4A tay ; CPU:$E38F PRG:638F A8 - lda Zp4B ; CPU:$E390 PRG:6390 A5 4B + lda DispatchPtrHi ; CPU:$E390 PRG:6390 A5 4B sta APUPULSE1CTRL,y ; CPU:$E392 PRG:6392 99 00 40 txa ; CPU:$E395 PRG:6395 8A lsr a ; CPU:$E396 PRG:6396 4A tay ; CPU:$E397 PRG:6397 A8 - lda Zp4A ; CPU:$E398 PRG:6398 A5 4A - beq IrqHandler_Loop644 ; CPU:$E39A PRG:639A F0 08 + lda DispatchPtrLo ; CPU:$E398 PRG:6398 A5 4A + beq IrqHandler_Loop683 ; CPU:$E39A PRG:639A F0 08 cmp #$02 ; CPU:$E39C PRG:639C C9 02 - bne IrqHandler_Loop645 ; CPU:$E39E PRG:639E D0 09 + bne IrqHandler_Loop684 ; CPU:$E39E PRG:639E D0 09 iny ; CPU:$E3A0 PRG:63A0 C8 iny ; CPU:$E3A1 PRG:63A1 C8 iny ; CPU:$E3A2 PRG:63A2 C8 iny ; CPU:$E3A3 PRG:63A3 C8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop644 -; Global: Branch target inside IrqHandler: taken when Loop644. +; Routine: IrqHandler_Loop683 +; Global: Branch target inside IrqHandler: taken when Loop683. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop644: - lda Zp4B ; CPU:$E3A4 PRG:63A4 A5 4B +IrqHandler_Loop683: + lda DispatchPtrHi ; CPU:$E3A4 PRG:63A4 A5 4B sta a:ZpBE,y ; CPU:$E3A6 PRG:63A6 99 BE 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop645 -; Global: Branch target inside IrqHandler: taken when Loop645. +; Routine: IrqHandler_Loop684 +; Global: Branch target inside IrqHandler: taken when Loop684. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop645: +IrqHandler_Loop684: jmp Sub_E2CF ; CPU:$E3A9 PRG:63A9 4C CF E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop646 -; Global: Branch target inside IrqHandler: taken when Loop646. +; Routine: IrqHandler_Loop685 +; Global: Branch target inside IrqHandler: taken when Loop685. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop646: +IrqHandler_Loop685: sbc #$04 ; CPU:$E3AC PRG:63AC E9 04 asl a ; CPU:$E3AE PRG:63AE 0A asl a ; CPU:$E3AF PRG:63AF 0A - stx Zp4A ; CPU:$E3B0 PRG:63B0 86 4A - lsr Zp4A ; CPU:$E3B2 PRG:63B2 46 4A + stx DispatchPtrLo ; CPU:$E3B0 PRG:63B0 86 4A + lsr DispatchPtrLo ; CPU:$E3B2 PRG:63B2 46 4A clc ; CPU:$E3B4 PRG:63B4 18 - adc Zp4A ; CPU:$E3B5 PRG:63B5 65 4A + adc DispatchPtrLo ; CPU:$E3B5 PRG:63B5 65 4A tay ; CPU:$E3B7 PRG:63B7 A8 - lda Zp4B ; CPU:$E3B8 PRG:63B8 A5 4B + lda DispatchPtrHi ; CPU:$E3B8 PRG:63B8 A5 4B sta a:ZpC6,y ; CPU:$E3BA PRG:63BA 99 C6 00 tya ; CPU:$E3BD PRG:63BD 98 cmp #$1C ; CPU:$E3BE PRG:63BE C9 1C - bcc IrqHandler_Loop647 ; CPU:$E3C0 PRG:63C0 90 07 + bcc IrqHandler_Loop686 ; CPU:$E3C0 PRG:63C0 90 07 lda #$01 ; CPU:$E3C2 PRG:63C2 A9 01 - ldy Zp4A ; CPU:$E3C4 PRG:63C4 A4 4A + ldy DispatchPtrLo ; CPU:$E3C4 PRG:63C4 A4 4A sta a:ZpE6,y ; CPU:$E3C6 PRG:63C6 99 E6 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop647 -; Global: Branch target inside IrqHandler: taken when Loop647. +; Routine: IrqHandler_Loop686 +; Global: Branch target inside IrqHandler: taken when Loop686. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop647: +IrqHandler_Loop686: jmp Sub_E2CF ; CPU:$E3C9 PRG:63C9 4C CF E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop648 -; Global: Branch target inside IrqHandler: taken when Loop648. +; Routine: IrqHandler_Loop687 +; Global: Branch target inside IrqHandler: taken when Loop687. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop648: +IrqHandler_Loop687: jmp Sub_E327 ; CPU:$E3CC PRG:63CC 4C 27 E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_E3CF @@ -16072,38 +17010,38 @@ Sub_E3CF: sta ZpAC ; CPU:$E3F0 PRG:63F0 85 AC rts ; CPU:$E3F2 PRG:63F2 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop649 -; Global: Branch target inside IrqHandler: taken when Loop649. +; Routine: IrqHandler_Loop688 +; Global: Branch target inside IrqHandler: taken when Loop688. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop649: +IrqHandler_Loop688: txa ; CPU:$E3F3 PRG:63F3 8A lsr a ; CPU:$E3F4 PRG:63F4 4A tay ; CPU:$E3F5 PRG:63F5 A8 - lda Zp4B ; CPU:$E3F6 PRG:63F6 A5 4B - beq IrqHandler_Loop653 ; CPU:$E3F8 PRG:63F8 F0 38 + lda DispatchPtrHi ; CPU:$E3F6 PRG:63F6 A5 4B + beq IrqHandler_Loop692 ; CPU:$E3F8 PRG:63F8 F0 38 cmp #$FF ; CPU:$E3FA PRG:63FA C9 FF - beq IrqHandler_Loop654 ; CPU:$E3FC PRG:63FC F0 3C + beq IrqHandler_Loop693 ; CPU:$E3FC PRG:63FC F0 3C cmp a:$00EA,y ; CPU:$E3FE PRG:63FE D9 EA 00 - bcc IrqHandler_Loop650 ; CPU:$E401 PRG:6401 90 03 + bcc IrqHandler_Loop689 ; CPU:$E401 PRG:6401 90 03 jmp Sub_E2CF ; CPU:$E403 PRG:6403 4C CF E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop650 -; Global: Branch target inside IrqHandler: taken when Loop650. +; Routine: IrqHandler_Loop689 +; Global: Branch target inside IrqHandler: taken when Loop689. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop650: +IrqHandler_Loop689: lda (Zp8F,x) ; CPU:$E406 PRG:6406 A1 8F cmp #$CE ; CPU:$E408 PRG:6408 C9 CE - beq IrqHandler_Loop651 ; CPU:$E40A PRG:640A F0 0D + beq IrqHandler_Loop690 ; CPU:$E40A PRG:640A F0 0D cmp #$FF ; CPU:$E40C PRG:640C C9 FF - beq IrqHandler_Loop655 ; CPU:$E40E PRG:640E F0 4C + beq IrqHandler_Loop694 ; CPU:$E40E PRG:640E F0 4C jsr Sub_E4A0 ; CPU:$E410 PRG:6410 20 A0 E4 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_OnNonzero47 @@ -16115,19 +17053,19 @@ IrqHandler_Loop650: ; ----------------------------------------------------------------------------- IrqHandler_OnNonzero47: jsr Sub_E4A0 ; CPU:$E413 PRG:6413 20 A0 E4 - jmp IrqHandler_Loop650 ; CPU:$E416 PRG:6416 4C 06 E4 + jmp IrqHandler_Loop689 ; CPU:$E416 PRG:6416 4C 06 E4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop651 -; Global: Branch target inside IrqHandler: taken when Loop651. +; Routine: IrqHandler_Loop690 +; Global: Branch target inside IrqHandler: taken when Loop690. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop651: +IrqHandler_Loop690: jsr Sub_E4A0 ; CPU:$E419 PRG:6419 20 A0 E4 cmp #$FE ; CPU:$E41C PRG:641C C9 FE - beq IrqHandler_Loop652 ; CPU:$E41E PRG:641E F0 0B + beq IrqHandler_Loop691 ; CPU:$E41E PRG:641E F0 0B cmp a:$00EA,y ; CPU:$E420 PRG:6420 D9 EA 00 bne IrqHandler_OnNonzero47 ; CPU:$E423 PRG:6423 D0 EE ; ----------------------------------------------------------------------------- @@ -16142,38 +17080,38 @@ IrqHandler_OnZero12: jsr Sub_E4A0 ; CPU:$E425 PRG:6425 20 A0 E4 jmp Sub_E2CF ; CPU:$E428 PRG:6428 4C CF E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop652 -; Global: Branch target inside IrqHandler: taken when Loop652. +; Routine: IrqHandler_Loop691 +; Global: Branch target inside IrqHandler: taken when Loop691. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop652: +IrqHandler_Loop691: lda #$00 ; CPU:$E42B PRG:642B A9 00 sta a:$00EA,y ; CPU:$E42D PRG:642D 99 EA 00 beq IrqHandler_OnZero12 ; CPU:$E430 PRG:6430 F0 F3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop653 -; Global: Branch target inside IrqHandler: taken when Loop653. +; Routine: IrqHandler_Loop692 +; Global: Branch target inside IrqHandler: taken when Loop692. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop653: +IrqHandler_Loop692: lda #$01 ; CPU:$E432 PRG:6432 A9 01 sta a:$00EA,y ; CPU:$E434 PRG:6434 99 EA 00 jmp Sub_E2CF ; CPU:$E437 PRG:6437 4C CF E2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop654 -; Global: Branch target inside IrqHandler: taken when Loop654. +; Routine: IrqHandler_Loop693 +; Global: Branch target inside IrqHandler: taken when Loop693. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop654: +IrqHandler_Loop693: lda a:$00EA,y ; CPU:$E43A PRG:643A B9 EA 00 clc ; CPU:$E43D PRG:643D 18 adc #$01 ; CPU:$E43E PRG:643E 69 01 @@ -16190,7 +17128,7 @@ IrqHandler_OnNonzero48: jsr Sub_E4A9 ; CPU:$E443 PRG:6443 20 A9 E4 jsr Sub_E4A9 ; CPU:$E446 PRG:6446 20 A9 E4 cmp #$FF ; CPU:$E449 PRG:6449 C9 FF - beq IrqHandler_Loop655 ; CPU:$E44B PRG:644B F0 0F + beq IrqHandler_Loop694 ; CPU:$E44B PRG:644B F0 0F cmp #$CE ; CPU:$E44D PRG:644D C9 CE bne IrqHandler_OnNonzero48 ; CPU:$E44F PRG:644F D0 F2 jsr Sub_E4A0 ; CPU:$E451 PRG:6451 20 A0 E4 @@ -16198,18 +17136,18 @@ IrqHandler_OnNonzero48: jsr Sub_E4A9 ; CPU:$E456 PRG:6456 20 A9 E4 jmp IrqHandler_OnNonzero48 ; CPU:$E459 PRG:6459 4C 43 E4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop655 -; Global: Branch target inside IrqHandler: taken when Loop655. +; Routine: IrqHandler_Loop694 +; Global: Branch target inside IrqHandler: taken when Loop694. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop655: +IrqHandler_Loop694: txa ; CPU:$E45C PRG:645C 8A lsr a ; CPU:$E45D PRG:645D 4A tax ; CPU:$E45E PRG:645E AA - jmp IrqHandler_Loop640 ; CPU:$E45F PRG:645F 4C 39 E3 + jmp IrqHandler_Loop679 ; CPU:$E45F PRG:645F 4C 39 E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_E462 ; Global: Branch target inside Sub: taken when E462. @@ -16223,11 +17161,11 @@ Sub_E462: lda ZpC2,x ; CPU:$E464 PRG:6464 B5 C2 sta Zp49 ; CPU:$E466 PRG:6466 85 49 lda ZpE2,x ; CPU:$E468 PRG:6468 B5 E2 - beq IrqHandler_Loop658 ; CPU:$E46A PRG:646A F0 33 + beq IrqHandler_Loop697 ; CPU:$E46A PRG:646A F0 33 dec ZpE6,x ; CPU:$E46C PRG:646C D6 E6 lda ZpE6,x ; CPU:$E46E PRG:646E B5 E6 and #$7F ; CPU:$E470 PRG:6470 29 7F - bne IrqHandler_Loop656 ; CPU:$E472 PRG:6472 D0 12 + bne IrqHandler_Loop695 ; CPU:$E472 PRG:6472 D0 12 lda ZpE6,x ; CPU:$E474 PRG:6474 B5 E6 and #$80 ; CPU:$E476 PRG:6476 29 80 eor #$80 ; CPU:$E478 PRG:6478 49 80 @@ -16240,45 +17178,45 @@ Sub_E462: ora ZpE6,x ; CPU:$E482 PRG:6482 15 E6 sta ZpE6,x ; CPU:$E484 PRG:6484 95 E6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop656 -; Global: Branch target inside IrqHandler: taken when Loop656. +; Routine: IrqHandler_Loop695 +; Global: Branch target inside IrqHandler: taken when Loop695. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop656: +IrqHandler_Loop695: lda ZpE6,x ; CPU:$E486 PRG:6486 B5 E6 and #$80 ; CPU:$E488 PRG:6488 29 80 - beq IrqHandler_Loop658 ; CPU:$E48A PRG:648A F0 13 + beq IrqHandler_Loop697 ; CPU:$E48A PRG:648A F0 13 lda ZpE2,x ; CPU:$E48C PRG:648C B5 E2 and #$0F ; CPU:$E48E PRG:648E 29 0F - sta Zp46 ; CPU:$E490 PRG:6490 85 46 + sta VramWritePtrLo ; CPU:$E490 PRG:6490 85 46 lda Zp49 ; CPU:$E492 PRG:6492 A5 49 sec ; CPU:$E494 PRG:6494 38 - sbc Zp46 ; CPU:$E495 PRG:6495 E5 46 - bcs IrqHandler_Loop657 ; CPU:$E497 PRG:6497 B0 04 - adc Zp46 ; CPU:$E499 PRG:6499 65 46 - adc Zp46 ; CPU:$E49B PRG:649B 65 46 + sbc VramWritePtrLo ; CPU:$E495 PRG:6495 E5 46 + bcs IrqHandler_Loop696 ; CPU:$E497 PRG:6497 B0 04 + adc VramWritePtrLo ; CPU:$E499 PRG:6499 65 46 + adc VramWritePtrLo ; CPU:$E49B PRG:649B 65 46 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop657 -; Global: Branch target inside IrqHandler: taken when Loop657. +; Routine: IrqHandler_Loop696 +; Global: Branch target inside IrqHandler: taken when Loop696. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop657: +IrqHandler_Loop696: sta Zp49 ; CPU:$E49D PRG:649D 85 49 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop658 -; Global: Branch target inside IrqHandler: taken when Loop658. +; Routine: IrqHandler_Loop697 +; Global: Branch target inside IrqHandler: taken when Loop697. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop658: +IrqHandler_Loop697: rts ; CPU:$E49F PRG:649F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4A0 @@ -16290,17 +17228,17 @@ IrqHandler_Loop658: ; ----------------------------------------------------------------------------- Sub_E4A0: inc Zp8F,x ; CPU:$E4A0 PRG:64A0 F6 8F - bne IrqHandler_Loop659 ; CPU:$E4A2 PRG:64A2 D0 02 + bne IrqHandler_Loop698 ; CPU:$E4A2 PRG:64A2 D0 02 inc Zp90,x ; CPU:$E4A4 PRG:64A4 F6 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop659 -; Global: Branch target inside IrqHandler: taken when Loop659. +; Routine: IrqHandler_Loop698 +; Global: Branch target inside IrqHandler: taken when Loop698. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop659: +IrqHandler_Loop698: lda (Zp8F,x) ; CPU:$E4A6 PRG:64A6 A1 8F rts ; CPU:$E4A8 PRG:64A8 60 ; ----------------------------------------------------------------------------- @@ -16316,23 +17254,24 @@ Sub_E4A9: sec ; CPU:$E4AB PRG:64AB 38 sbc #$01 ; CPU:$E4AC PRG:64AC E9 01 sta Zp8F,x ; CPU:$E4AE PRG:64AE 95 8F - bcs IrqHandler_Loop660 ; CPU:$E4B0 PRG:64B0 B0 02 + bcs IrqHandler_Loop699 ; CPU:$E4B0 PRG:64B0 B0 02 dec Zp90,x ; CPU:$E4B2 PRG:64B2 D6 90 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop660 -; Global: Branch target inside IrqHandler: taken when Loop660. +; Routine: IrqHandler_Loop699 +; Global: Branch target inside IrqHandler: taken when Loop699. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop660: +IrqHandler_Loop699: lda (Zp8F,x) ; CPU:$E4B4 PRG:64B4 A1 8F rts ; CPU:$E4B6 PRG:64B6 60 ; ---- data $E4B7-$F5D3 (4381 bytes) ---- ; referenced by `lda $E4B7,y` at $E2E7 (operand $E4B7 falls inside this region) ; referenced by `lda $E4B8,y` at $E2EC (operand $E4B8 falls inside this region) - .byte $AE, $06, $4E, $06, $F4, $05, $9E, $05, $40, $05, $01, $05, $B9, $04, $75, $04 ; CPU:$E4B7 PRG:64B7 AE 06 4E 06 F4 05 9E 05 40 05 01 05 B9 04 75 04 +LevelCollisionData: + .byte $AE, $06, $4E, $06, $F4, $05, $9E, $05, $40, $05, $01, $05, $B9, $04, $75, $04 ; CPU:$E4B7 PRG:24B7 AE 06 4E 06 F4 05 9E 05 40 05 01 05 B9 04 75 04 .byte $35, $04, $F9, $03, $D0, $03, $8A, $03, $00, $00, $1E, $00, $0E, $80, $4E, $E0 ; CPU:$E4C7 PRG:64C7 35 04 F9 03 D0 03 8A 03 00 00 1E 00 0E 80 4E E0 .byte $5E, $F0, $6E, $80, $7E, $10, $8E, $18, $9E, $03, $AE, $06, $BE, $00, $CE, $00 ; CPU:$E4D7 PRG:64D7 5E F0 6E 80 7E 10 8E 18 9E 03 AE 06 BE 00 CE 00 .byte $FC, $08, $37, $08, $40, $08, $47, $08, $45, $08, $44, $08, $42, $08, $44, $08 ; CPU:$E4E7 PRG:64E7 FC 08 37 08 40 08 47 08 45 08 44 08 42 08 44 08 @@ -16616,22 +17555,22 @@ IrqHandler_Loop660: ; ----------------------------------------------------------------------------- Sub_F5D4: lda $0639 ; CPU:$F5D4 PRG:75D4 AD 39 06 - beq IrqHandler_Loop661 ; CPU:$F5D7 PRG:75D7 F0 01 + beq IrqHandler_Loop700 ; CPU:$F5D7 PRG:75D7 F0 01 rts ; CPU:$F5D9 PRG:75D9 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop661 -; Global: Branch target inside IrqHandler: taken when Loop661. +; Routine: IrqHandler_Loop700 +; Global: Branch target inside IrqHandler: taken when Loop700. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop661: - lda Zp4A ; CPU:$F5DA PRG:75DA A5 4A +IrqHandler_Loop700: + lda DispatchPtrLo ; CPU:$F5DA PRG:75DA A5 4A sta $0635 ; CPU:$F5DC PRG:75DC 8D 35 06 - lda Zp4B ; CPU:$F5DF PRG:75DF A5 4B + lda DispatchPtrHi ; CPU:$F5DF PRG:75DF A5 4B sta $0636 ; CPU:$F5E1 PRG:75E1 8D 36 06 - lda Zp4D ; CPU:$F5E4 PRG:75E4 A5 4D + lda ScrollX ; CPU:$F5E4 PRG:75E4 A5 4D sta $0637 ; CPU:$F5E6 PRG:75E6 8D 37 06 lda #$01 ; CPU:$F5E9 PRG:75E9 A9 01 sta $0639 ; CPU:$F5EB PRG:75EB 8D 39 06 @@ -16645,61 +17584,61 @@ IrqHandler_Loop661: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F5EF: - lda Zp54 ; CPU:$F5EF PRG:75EF A5 54 + lda FrameCounter ; CPU:$F5EF PRG:75EF A5 54 lsr a ; CPU:$F5F1 PRG:75F1 4A - bcc IrqHandler_Loop662 ; CPU:$F5F2 PRG:75F2 90 03 + bcc IrqHandler_Loop701 ; CPU:$F5F2 PRG:75F2 90 03 dec $0636 ; CPU:$F5F4 PRG:75F4 CE 36 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop662 -; Global: Branch target inside IrqHandler: taken when Loop662. +; Routine: IrqHandler_Loop701 +; Global: Branch target inside IrqHandler: taken when Loop701. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop662: +IrqHandler_Loop701: lda $0636 ; CPU:$F5F7 PRG:75F7 AD 36 06 cmp #$03 ; CPU:$F5FA PRG:75FA C9 03 - bcs IrqHandler_Loop663 ; CPU:$F5FC PRG:75FC B0 06 + bcs IrqHandler_Loop702 ; CPU:$F5FC PRG:75FC B0 06 lda #$00 ; CPU:$F5FE PRG:75FE A9 00 sta $0639 ; CPU:$F600 PRG:7600 8D 39 06 rts ; CPU:$F603 PRG:7603 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop663 -; Global: Branch target inside IrqHandler: taken when Loop663. +; Routine: IrqHandler_Loop702 +; Global: Branch target inside IrqHandler: taken when Loop702. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop663: +IrqHandler_Loop702: lda $0501 ; CPU:$F604 PRG:7604 AD 01 05 clc ; CPU:$F607 PRG:7607 18 adc #$02 ; CPU:$F608 PRG:7608 69 02 cmp $0636 ; CPU:$F60A PRG:760A CD 36 06 - bcs IrqHandler_Loop664 ; CPU:$F60D PRG:760D B0 4A + bcs IrqHandler_Loop703 ; CPU:$F60D PRG:760D B0 4A lda $0501 ; CPU:$F60F PRG:760F AD 01 05 clc ; CPU:$F612 PRG:7612 18 adc #$0C ; CPU:$F613 PRG:7613 69 0C cmp $0636 ; CPU:$F615 PRG:7615 CD 36 06 - bcc IrqHandler_Loop664 ; CPU:$F618 PRG:7618 90 3F + bcc IrqHandler_Loop703 ; CPU:$F618 PRG:7618 90 3F lda $0502 ; CPU:$F61A PRG:761A AD 02 05 sec ; CPU:$F61D PRG:761D 38 sbc #$0E ; CPU:$F61E PRG:761E E9 0E cmp $0635 ; CPU:$F620 PRG:7620 CD 35 06 - bcs IrqHandler_Loop664 ; CPU:$F623 PRG:7623 B0 34 + bcs IrqHandler_Loop703 ; CPU:$F623 PRG:7623 B0 34 lda $0502 ; CPU:$F625 PRG:7625 AD 02 05 clc ; CPU:$F628 PRG:7628 18 adc #$08 ; CPU:$F629 PRG:7629 69 08 cmp $0635 ; CPU:$F62B PRG:762B CD 35 06 - bcc IrqHandler_Loop664 ; CPU:$F62E PRG:762E 90 29 + bcc IrqHandler_Loop703 ; CPU:$F62E PRG:762E 90 29 lda #$00 ; CPU:$F630 PRG:7630 A9 00 sta $0639 ; CPU:$F632 PRG:7632 8D 39 06 inc Zp2F ; CPU:$F635 PRG:7635 E6 2F lda $0635 ; CPU:$F637 PRG:7637 AD 35 06 - sta Zp4A ; CPU:$F63A PRG:763A 85 4A + sta DispatchPtrLo ; CPU:$F63A PRG:763A 85 4A lda $0636 ; CPU:$F63C PRG:763C AD 36 06 - sta Zp4B ; CPU:$F63F PRG:763F 85 4B + sta DispatchPtrHi ; CPU:$F63F PRG:763F 85 4B lda #$80 ; CPU:$F641 PRG:7641 A9 80 sta Zp4C ; CPU:$F643 PRG:7643 85 4C jsr Sub_B4FB ; CPU:$F645 PRG:7645 20 FB B4 @@ -16707,64 +17646,64 @@ IrqHandler_Loop663: jsr Sub_E08B ; CPU:$F64A PRG:764A 20 8B E0 lda $0637 ; CPU:$F64D PRG:764D AD 37 06 cmp #$1C ; CPU:$F650 PRG:7650 C9 1C - bne IrqHandler_Loop664 ; CPU:$F652 PRG:7652 D0 05 + bne IrqHandler_Loop703 ; CPU:$F652 PRG:7652 D0 05 lda #$01 ; CPU:$F654 PRG:7654 A9 01 sta $051A ; CPU:$F656 PRG:7656 8D 1A 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop664 -; Global: Branch target inside IrqHandler: taken when Loop664. +; Routine: IrqHandler_Loop703 +; Global: Branch target inside IrqHandler: taken when Loop703. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop664: +IrqHandler_Loop703: lda $0635 ; CPU:$F659 PRG:7659 AD 35 06 - sta Zp19 ; CPU:$F65C PRG:765C 85 19 + sta PlayerXHigh ; CPU:$F65C PRG:765C 85 19 lda $0636 ; CPU:$F65E PRG:765E AD 36 06 - sta Zp1C ; CPU:$F661 PRG:7661 85 1C + sta PlayerYHigh ; CPU:$F661 PRG:7661 85 1C lda $0637 ; CPU:$F663 PRG:7663 AD 37 06 - sta Zp1A ; CPU:$F666 PRG:7666 85 1A + sta PlayerXLow ; CPU:$F666 PRG:7666 85 1A lda #$02 ; CPU:$F668 PRG:7668 A9 02 - sta Zp1B ; CPU:$F66A PRG:766A 85 1B + sta PlayerYLow ; CPU:$F66A PRG:766A 85 1B jsr Sub_8221 ; CPU:$F66C PRG:766C 20 21 82 - lda Zp1A ; CPU:$F66F PRG:766F A5 1A + lda PlayerXLow ; CPU:$F66F PRG:766F A5 1A cmp #$14 ; CPU:$F671 PRG:7671 C9 14 - beq IrqHandler_Loop665 ; CPU:$F673 PRG:7673 F0 05 + beq IrqHandler_Loop704 ; CPU:$F673 PRG:7673 F0 05 cmp #$3D ; CPU:$F675 PRG:7675 C9 3D - beq IrqHandler_Loop666 ; CPU:$F677 PRG:7677 F0 0F + beq IrqHandler_Loop705 ; CPU:$F677 PRG:7677 F0 0F rts ; CPU:$F679 PRG:7679 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop665 -; Global: Branch target inside IrqHandler: taken when Loop665. +; Routine: IrqHandler_Loop704 +; Global: Branch target inside IrqHandler: taken when Loop704. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop665: - lda Zp19 ; CPU:$F67A PRG:767A A5 19 +IrqHandler_Loop704: + lda PlayerXHigh ; CPU:$F67A PRG:767A A5 19 sec ; CPU:$F67C PRG:767C 38 sbc #$08 ; CPU:$F67D PRG:767D E9 08 - sta Zp19 ; CPU:$F67F PRG:767F 85 19 + sta PlayerXHigh ; CPU:$F67F PRG:767F 85 19 lda #$04 ; CPU:$F681 PRG:7681 A9 04 - sta Zp1A ; CPU:$F683 PRG:7683 85 1A + sta PlayerXLow ; CPU:$F683 PRG:7683 85 1A jmp Sub_8221 ; CPU:$F685 PRG:7685 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop666 -; Global: Branch target inside IrqHandler: taken when Loop666. +; Routine: IrqHandler_Loop705 +; Global: Branch target inside IrqHandler: taken when Loop705. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop666: - lda Zp1C ; CPU:$F688 PRG:7688 A5 1C +IrqHandler_Loop705: + lda PlayerYHigh ; CPU:$F688 PRG:7688 A5 1C clc ; CPU:$F68A PRG:768A 18 adc #$08 ; CPU:$F68B PRG:768B 69 08 - sta Zp1C ; CPU:$F68D PRG:768D 85 1C + sta PlayerYHigh ; CPU:$F68D PRG:768D 85 1C lda #$3E ; CPU:$F68F PRG:768F A9 3E - sta Zp1A ; CPU:$F691 PRG:7691 85 1A + sta PlayerXLow ; CPU:$F691 PRG:7691 85 1A jmp Sub_8221 ; CPU:$F693 PRG:7693 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_F696 @@ -16775,110 +17714,110 @@ IrqHandler_Loop666: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F696: - lda ZpFC ; CPU:$F696 PRG:7696 A5 FC + lda LevelIndex ; CPU:$F696 PRG:7696 A5 FC cmp #$01 ; CPU:$F698 PRG:7698 C9 01 - bne IrqHandler_Loop667 ; CPU:$F69A PRG:769A D0 03 + bne IrqHandler_Loop706 ; CPU:$F69A PRG:769A D0 03 jmp Sub_F709 ; CPU:$F69C PRG:769C 4C 09 F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop667 -; Global: Branch target inside IrqHandler: taken when Loop667. +; Routine: IrqHandler_Loop706 +; Global: Branch target inside IrqHandler: taken when Loop706. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop667: - lda ZpFC ; CPU:$F69F PRG:769F A5 FC +IrqHandler_Loop706: + lda LevelIndex ; CPU:$F69F PRG:769F A5 FC cmp #$02 ; CPU:$F6A1 PRG:76A1 C9 02 - bne IrqHandler_Loop668 ; CPU:$F6A3 PRG:76A3 D0 03 + bne IrqHandler_Loop707 ; CPU:$F6A3 PRG:76A3 D0 03 jmp Sub_F72A ; CPU:$F6A5 PRG:76A5 4C 2A F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop668 -; Global: Branch target inside IrqHandler: taken when Loop668. +; Routine: IrqHandler_Loop707 +; Global: Branch target inside IrqHandler: taken when Loop707. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop668: - lda ZpFC ; CPU:$F6A8 PRG:76A8 A5 FC +IrqHandler_Loop707: + lda LevelIndex ; CPU:$F6A8 PRG:76A8 A5 FC cmp #$03 ; CPU:$F6AA PRG:76AA C9 03 - bne IrqHandler_Loop669 ; CPU:$F6AC PRG:76AC D0 03 + bne IrqHandler_Loop708 ; CPU:$F6AC PRG:76AC D0 03 jmp Sub_F74D ; CPU:$F6AE PRG:76AE 4C 4D F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop669 -; Global: Branch target inside IrqHandler: taken when Loop669. +; Routine: IrqHandler_Loop708 +; Global: Branch target inside IrqHandler: taken when Loop708. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop669: - lda ZpFC ; CPU:$F6B1 PRG:76B1 A5 FC +IrqHandler_Loop708: + lda LevelIndex ; CPU:$F6B1 PRG:76B1 A5 FC cmp #$04 ; CPU:$F6B3 PRG:76B3 C9 04 - bne IrqHandler_Loop670 ; CPU:$F6B5 PRG:76B5 D0 03 + bne IrqHandler_Loop709 ; CPU:$F6B5 PRG:76B5 D0 03 jmp Sub_F76B ; CPU:$F6B7 PRG:76B7 4C 6B F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop670 -; Global: Branch target inside IrqHandler: taken when Loop670. +; Routine: IrqHandler_Loop709 +; Global: Branch target inside IrqHandler: taken when Loop709. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop670: - lda ZpFC ; CPU:$F6BA PRG:76BA A5 FC +IrqHandler_Loop709: + lda LevelIndex ; CPU:$F6BA PRG:76BA A5 FC cmp #$05 ; CPU:$F6BC PRG:76BC C9 05 - bne IrqHandler_Loop671 ; CPU:$F6BE PRG:76BE D0 03 + bne IrqHandler_Loop710 ; CPU:$F6BE PRG:76BE D0 03 jmp Sub_F791 ; CPU:$F6C0 PRG:76C0 4C 91 F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop671 -; Global: Branch target inside IrqHandler: taken when Loop671. +; Routine: IrqHandler_Loop710 +; Global: Branch target inside IrqHandler: taken when Loop710. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop671: - lda ZpFC ; CPU:$F6C3 PRG:76C3 A5 FC +IrqHandler_Loop710: + lda LevelIndex ; CPU:$F6C3 PRG:76C3 A5 FC cmp #$06 ; CPU:$F6C5 PRG:76C5 C9 06 - bne IrqHandler_Loop672 ; CPU:$F6C7 PRG:76C7 D0 03 + bne IrqHandler_Loop711 ; CPU:$F6C7 PRG:76C7 D0 03 jmp Sub_F7B4 ; CPU:$F6C9 PRG:76C9 4C B4 F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop672 -; Global: Branch target inside IrqHandler: taken when Loop672. +; Routine: IrqHandler_Loop711 +; Global: Branch target inside IrqHandler: taken when Loop711. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop672: - lda ZpFC ; CPU:$F6CC PRG:76CC A5 FC +IrqHandler_Loop711: + lda LevelIndex ; CPU:$F6CC PRG:76CC A5 FC cmp #$07 ; CPU:$F6CE PRG:76CE C9 07 - bne IrqHandler_Loop673 ; CPU:$F6D0 PRG:76D0 D0 03 + bne IrqHandler_Loop712 ; CPU:$F6D0 PRG:76D0 D0 03 jmp Sub_F7EF ; CPU:$F6D2 PRG:76D2 4C EF F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop673 -; Global: Branch target inside IrqHandler: taken when Loop673. +; Routine: IrqHandler_Loop712 +; Global: Branch target inside IrqHandler: taken when Loop712. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop673: - lda ZpFC ; CPU:$F6D5 PRG:76D5 A5 FC +IrqHandler_Loop712: + lda LevelIndex ; CPU:$F6D5 PRG:76D5 A5 FC cmp #$08 ; CPU:$F6D7 PRG:76D7 C9 08 - bne IrqHandler_Loop674 ; CPU:$F6D9 PRG:76D9 D0 03 + bne IrqHandler_Loop713 ; CPU:$F6D9 PRG:76D9 D0 03 jmp Sub_F6DF ; CPU:$F6DB PRG:76DB 4C DF F6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop674 -; Global: Branch target inside IrqHandler: taken when Loop674. +; Routine: IrqHandler_Loop713 +; Global: Branch target inside IrqHandler: taken when Loop713. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop674: +IrqHandler_Loop713: rts ; CPU:$F6DE PRG:76DE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6DF @@ -16890,51 +17829,51 @@ IrqHandler_Loop674: ; ----------------------------------------------------------------------------- Sub_F6DF: lda $0473 ; CPU:$F6DF PRG:76DF AD 73 04 - beq IrqHandler_Loop677 ; CPU:$F6E2 PRG:76E2 F0 24 + beq IrqHandler_Loop716 ; CPU:$F6E2 PRG:76E2 F0 24 cmp #$02 ; CPU:$F6E4 PRG:76E4 C9 02 - beq IrqHandler_Loop677 ; CPU:$F6E6 PRG:76E6 F0 20 + beq IrqHandler_Loop716 ; CPU:$F6E6 PRG:76E6 F0 20 lda #$02 ; CPU:$F6E8 PRG:76E8 A9 02 sta $0473 ; CPU:$F6EA PRG:76EA 8D 73 04 lda Zp1F ; CPU:$F6ED PRG:76ED A5 1F and #$40 ; CPU:$F6EF PRG:76EF 29 40 - beq IrqHandler_Loop675 ; CPU:$F6F1 PRG:76F1 F0 06 + beq IrqHandler_Loop714 ; CPU:$F6F1 PRG:76F1 F0 06 lda #$EE ; CPU:$F6F3 PRG:76F3 A9 EE - sta Zp4D ; CPU:$F6F5 PRG:76F5 85 4D - bne IrqHandler_Loop676 ; CPU:$F6F7 PRG:76F7 D0 04 + sta ScrollX ; CPU:$F6F5 PRG:76F5 85 4D + bne IrqHandler_Loop715 ; CPU:$F6F7 PRG:76F7 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop675 -; Global: Branch target inside IrqHandler: taken when Loop675. +; Routine: IrqHandler_Loop714 +; Global: Branch target inside IrqHandler: taken when Loop714. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop675: +IrqHandler_Loop714: lda #$FF ; CPU:$F6F9 PRG:76F9 A9 FF - sta Zp4D ; CPU:$F6FB PRG:76FB 85 4D + sta ScrollX ; CPU:$F6FB PRG:76FB 85 4D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop676 -; Global: Branch target inside IrqHandler: taken when Loop676. +; Routine: IrqHandler_Loop715 +; Global: Branch target inside IrqHandler: taken when Loop715. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop676: +IrqHandler_Loop715: lda #$C8 ; CPU:$F6FD PRG:76FD A9 C8 - sta Zp4A ; CPU:$F6FF PRG:76FF 85 4A + sta DispatchPtrLo ; CPU:$F6FF PRG:76FF 85 4A lda #$FF ; CPU:$F701 PRG:7701 A9 FF - sta Zp4B ; CPU:$F703 PRG:7703 85 4B + sta DispatchPtrHi ; CPU:$F703 PRG:7703 85 4B jmp Sub_F5D4 ; CPU:$F705 PRG:7705 4C D4 F5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop677 -; Global: Branch target inside IrqHandler: taken when Loop677. +; Routine: IrqHandler_Loop716 +; Global: Branch target inside IrqHandler: taken when Loop716. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop677: +IrqHandler_Loop716: rts ; CPU:$F708 PRG:7708 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F709 @@ -16947,27 +17886,27 @@ IrqHandler_Loop677: Sub_F709: lda $0474 ; CPU:$F709 PRG:7709 AD 74 04 cmp #$03 ; CPU:$F70C PRG:770C C9 03 - beq IrqHandler_Loop678 ; CPU:$F70E PRG:770E F0 19 + beq IrqHandler_Loop717 ; CPU:$F70E PRG:770E F0 19 lda $05A7 ; CPU:$F710 PRG:7710 AD A7 05 cmp #$09 ; CPU:$F713 PRG:7713 C9 09 - bne IrqHandler_Loop678 ; CPU:$F715 PRG:7715 D0 12 + bne IrqHandler_Loop717 ; CPU:$F715 PRG:7715 D0 12 lda #$28 ; CPU:$F717 PRG:7717 A9 28 - sta Zp4A ; CPU:$F719 PRG:7719 85 4A + sta DispatchPtrLo ; CPU:$F719 PRG:7719 85 4A lda #$FF ; CPU:$F71B PRG:771B A9 FF - sta Zp4B ; CPU:$F71D PRG:771D 85 4B + sta DispatchPtrHi ; CPU:$F71D PRG:771D 85 4B lda #$1C ; CPU:$F71F PRG:771F A9 1C - sta Zp4D ; CPU:$F721 PRG:7721 85 4D + sta ScrollX ; CPU:$F721 PRG:7721 85 4D jsr Sub_F5D4 ; CPU:$F723 PRG:7723 20 D4 F5 inc $0474 ; CPU:$F726 PRG:7726 EE 74 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop678 -; Global: Branch target inside IrqHandler: taken when Loop678. +; Routine: IrqHandler_Loop717 +; Global: Branch target inside IrqHandler: taken when Loop717. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop678: +IrqHandler_Loop717: rts ; CPU:$F729 PRG:7729 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F72A @@ -16979,29 +17918,29 @@ IrqHandler_Loop678: ; ----------------------------------------------------------------------------- Sub_F72A: lda $0475 ; CPU:$F72A PRG:772A AD 75 04 - beq IrqHandler_Loop679 ; CPU:$F72D PRG:772D F0 1D + beq IrqHandler_Loop718 ; CPU:$F72D PRG:772D F0 1D cmp #$02 ; CPU:$F72F PRG:772F C9 02 - beq IrqHandler_Loop679 ; CPU:$F731 PRG:7731 F0 19 + beq IrqHandler_Loop718 ; CPU:$F731 PRG:7731 F0 19 lda #$02 ; CPU:$F733 PRG:7733 A9 02 sta $0475 ; CPU:$F735 PRG:7735 8D 75 04 lda #$C8 ; CPU:$F738 PRG:7738 A9 C8 - sta Zp4A ; CPU:$F73A PRG:773A 85 4A + sta DispatchPtrLo ; CPU:$F73A PRG:773A 85 4A lda #$FF ; CPU:$F73C PRG:773C A9 FF - sta Zp4B ; CPU:$F73E PRG:773E 85 4B + sta DispatchPtrHi ; CPU:$F73E PRG:773E 85 4B lda #$14 ; CPU:$F740 PRG:7740 A9 14 - sta Zp4D ; CPU:$F742 PRG:7742 85 4D + sta ScrollX ; CPU:$F742 PRG:7742 85 4D jsr Sub_F5D4 ; CPU:$F744 PRG:7744 20 D4 F5 lda #$02 ; CPU:$F747 PRG:7747 A9 02 sta $0475 ; CPU:$F749 PRG:7749 8D 75 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop679 -; Global: Branch target inside IrqHandler: taken when Loop679. +; Routine: IrqHandler_Loop718 +; Global: Branch target inside IrqHandler: taken when Loop718. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop679: +IrqHandler_Loop718: rts ; CPU:$F74C PRG:774C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F74D @@ -17013,27 +17952,27 @@ IrqHandler_Loop679: ; ----------------------------------------------------------------------------- Sub_F74D: lda $0476 ; CPU:$F74D PRG:774D AD 76 04 - beq IrqHandler_Loop680 ; CPU:$F750 PRG:7750 F0 18 + beq IrqHandler_Loop719 ; CPU:$F750 PRG:7750 F0 18 cmp #$02 ; CPU:$F752 PRG:7752 C9 02 - beq IrqHandler_Loop680 ; CPU:$F754 PRG:7754 F0 14 + beq IrqHandler_Loop719 ; CPU:$F754 PRG:7754 F0 14 lda #$C8 ; CPU:$F756 PRG:7756 A9 C8 - sta Zp4A ; CPU:$F758 PRG:7758 85 4A + sta DispatchPtrLo ; CPU:$F758 PRG:7758 85 4A lda #$FF ; CPU:$F75A PRG:775A A9 FF - sta Zp4B ; CPU:$F75C PRG:775C 85 4B + sta DispatchPtrHi ; CPU:$F75C PRG:775C 85 4B lda #$DD ; CPU:$F75E PRG:775E A9 DD - sta Zp4D ; CPU:$F760 PRG:7760 85 4D + sta ScrollX ; CPU:$F760 PRG:7760 85 4D jsr Sub_F5D4 ; CPU:$F762 PRG:7762 20 D4 F5 lda #$02 ; CPU:$F765 PRG:7765 A9 02 sta $0476 ; CPU:$F767 PRG:7767 8D 76 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop680 -; Global: Branch target inside IrqHandler: taken when Loop680. +; Routine: IrqHandler_Loop719 +; Global: Branch target inside IrqHandler: taken when Loop719. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop680: +IrqHandler_Loop719: rts ; CPU:$F76A PRG:776A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F76B @@ -17045,31 +17984,31 @@ IrqHandler_Loop680: ; ----------------------------------------------------------------------------- Sub_F76B: lda $0478 ; CPU:$F76B PRG:776B AD 78 04 - beq IrqHandler_Loop681 ; CPU:$F76E PRG:776E F0 20 + beq IrqHandler_Loop720 ; CPU:$F76E PRG:776E F0 20 cmp #$02 ; CPU:$F770 PRG:7770 C9 02 - beq IrqHandler_Loop681 ; CPU:$F772 PRG:7772 F0 1C + beq IrqHandler_Loop720 ; CPU:$F772 PRG:7772 F0 1C lda $0502 ; CPU:$F774 PRG:7774 AD 02 05 clc ; CPU:$F777 PRG:7777 18 adc #$10 ; CPU:$F778 PRG:7778 69 10 - sta Zp4A ; CPU:$F77A PRG:777A 85 4A + sta DispatchPtrLo ; CPU:$F77A PRG:777A 85 4A lda $0501 ; CPU:$F77C PRG:777C AD 01 05 clc ; CPU:$F77F PRG:777F 18 adc #$18 ; CPU:$F780 PRG:7780 69 18 - sta Zp4B ; CPU:$F782 PRG:7782 85 4B + sta DispatchPtrHi ; CPU:$F782 PRG:7782 85 4B lda #$3D ; CPU:$F784 PRG:7784 A9 3D - sta Zp4D ; CPU:$F786 PRG:7786 85 4D + sta ScrollX ; CPU:$F786 PRG:7786 85 4D jsr Sub_F5D4 ; CPU:$F788 PRG:7788 20 D4 F5 lda #$02 ; CPU:$F78B PRG:778B A9 02 sta $0478 ; CPU:$F78D PRG:778D 8D 78 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop681 -; Global: Branch target inside IrqHandler: taken when Loop681. +; Routine: IrqHandler_Loop720 +; Global: Branch target inside IrqHandler: taken when Loop720. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop681: +IrqHandler_Loop720: rts ; CPU:$F790 PRG:7790 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F791 @@ -17081,29 +18020,29 @@ IrqHandler_Loop681: ; ----------------------------------------------------------------------------- Sub_F791: lda $047A ; CPU:$F791 PRG:7791 AD 7A 04 - beq IrqHandler_Loop682 ; CPU:$F794 PRG:7794 F0 1D + beq IrqHandler_Loop721 ; CPU:$F794 PRG:7794 F0 1D cmp #$02 ; CPU:$F796 PRG:7796 C9 02 - beq IrqHandler_Loop682 ; CPU:$F798 PRG:7798 F0 19 + beq IrqHandler_Loop721 ; CPU:$F798 PRG:7798 F0 19 lda $05AA ; CPU:$F79A PRG:779A AD AA 05 - beq IrqHandler_Loop682 ; CPU:$F79D PRG:779D F0 14 + beq IrqHandler_Loop721 ; CPU:$F79D PRG:779D F0 14 lda #$C8 ; CPU:$F79F PRG:779F A9 C8 - sta Zp4A ; CPU:$F7A1 PRG:77A1 85 4A + sta DispatchPtrLo ; CPU:$F7A1 PRG:77A1 85 4A lda #$FF ; CPU:$F7A3 PRG:77A3 A9 FF - sta Zp4B ; CPU:$F7A5 PRG:77A5 85 4B + sta DispatchPtrHi ; CPU:$F7A5 PRG:77A5 85 4B lda #$DE ; CPU:$F7A7 PRG:77A7 A9 DE - sta Zp4D ; CPU:$F7A9 PRG:77A9 85 4D + sta ScrollX ; CPU:$F7A9 PRG:77A9 85 4D jsr Sub_F5D4 ; CPU:$F7AB PRG:77AB 20 D4 F5 lda #$02 ; CPU:$F7AE PRG:77AE A9 02 sta $047A ; CPU:$F7B0 PRG:77B0 8D 7A 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop682 -; Global: Branch target inside IrqHandler: taken when Loop682. +; Routine: IrqHandler_Loop721 +; Global: Branch target inside IrqHandler: taken when Loop721. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop682: +IrqHandler_Loop721: rts ; CPU:$F7B3 PRG:77B3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F7B4 @@ -17115,49 +18054,49 @@ IrqHandler_Loop682: ; ----------------------------------------------------------------------------- Sub_F7B4: lda $0479 ; CPU:$F7B4 PRG:77B4 AD 79 04 - beq IrqHandler_Loop683 ; CPU:$F7B7 PRG:77B7 F0 18 + beq IrqHandler_Loop722 ; CPU:$F7B7 PRG:77B7 F0 18 cmp #$02 ; CPU:$F7B9 PRG:77B9 C9 02 - beq IrqHandler_Loop683 ; CPU:$F7BB PRG:77BB F0 14 + beq IrqHandler_Loop722 ; CPU:$F7BB PRG:77BB F0 14 lda #$C8 ; CPU:$F7BD PRG:77BD A9 C8 - sta Zp4A ; CPU:$F7BF PRG:77BF 85 4A + sta DispatchPtrLo ; CPU:$F7BF PRG:77BF 85 4A lda #$FF ; CPU:$F7C1 PRG:77C1 A9 FF - sta Zp4B ; CPU:$F7C3 PRG:77C3 85 4B + sta DispatchPtrHi ; CPU:$F7C3 PRG:77C3 85 4B lda #$40 ; CPU:$F7C5 PRG:77C5 A9 40 - sta Zp4D ; CPU:$F7C7 PRG:77C7 85 4D + sta ScrollX ; CPU:$F7C7 PRG:77C7 85 4D jsr Sub_F5D4 ; CPU:$F7C9 PRG:77C9 20 D4 F5 lda #$02 ; CPU:$F7CC PRG:77CC A9 02 sta $0479 ; CPU:$F7CE PRG:77CE 8D 79 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop683 -; Global: Branch target inside IrqHandler: taken when Loop683. +; Routine: IrqHandler_Loop722 +; Global: Branch target inside IrqHandler: taken when Loop722. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop683: +IrqHandler_Loop722: lda $047C ; CPU:$F7D1 PRG:77D1 AD 7C 04 - beq IrqHandler_Loop684 ; CPU:$F7D4 PRG:77D4 F0 18 + beq IrqHandler_Loop723 ; CPU:$F7D4 PRG:77D4 F0 18 cmp #$02 ; CPU:$F7D6 PRG:77D6 C9 02 - beq IrqHandler_Loop684 ; CPU:$F7D8 PRG:77D8 F0 14 + beq IrqHandler_Loop723 ; CPU:$F7D8 PRG:77D8 F0 14 lda #$64 ; CPU:$F7DA PRG:77DA A9 64 - sta Zp4A ; CPU:$F7DC PRG:77DC 85 4A + sta DispatchPtrLo ; CPU:$F7DC PRG:77DC 85 4A lda #$FF ; CPU:$F7DE PRG:77DE A9 FF - sta Zp4B ; CPU:$F7E0 PRG:77E0 85 4B + sta DispatchPtrHi ; CPU:$F7E0 PRG:77E0 85 4B lda #$CB ; CPU:$F7E2 PRG:77E2 A9 CB - sta Zp4D ; CPU:$F7E4 PRG:77E4 85 4D + sta ScrollX ; CPU:$F7E4 PRG:77E4 85 4D jsr Sub_F5D4 ; CPU:$F7E6 PRG:77E6 20 D4 F5 lda #$02 ; CPU:$F7E9 PRG:77E9 A9 02 sta $047C ; CPU:$F7EB PRG:77EB 8D 7C 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop684 -; Global: Branch target inside IrqHandler: taken when Loop684. +; Routine: IrqHandler_Loop723 +; Global: Branch target inside IrqHandler: taken when Loop723. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop684: +IrqHandler_Loop723: rts ; CPU:$F7EE PRG:77EE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F7EF @@ -17169,27 +18108,27 @@ IrqHandler_Loop684: ; ----------------------------------------------------------------------------- Sub_F7EF: lda $047B ; CPU:$F7EF PRG:77EF AD 7B 04 - beq IrqHandler_Loop685 ; CPU:$F7F2 PRG:77F2 F0 18 + beq IrqHandler_Loop724 ; CPU:$F7F2 PRG:77F2 F0 18 cmp #$02 ; CPU:$F7F4 PRG:77F4 C9 02 - beq IrqHandler_Loop685 ; CPU:$F7F6 PRG:77F6 F0 14 + beq IrqHandler_Loop724 ; CPU:$F7F6 PRG:77F6 F0 14 lda #$C8 ; CPU:$F7F8 PRG:77F8 A9 C8 - sta Zp4A ; CPU:$F7FA PRG:77FA 85 4A + sta DispatchPtrLo ; CPU:$F7FA PRG:77FA 85 4A lda #$FF ; CPU:$F7FC PRG:77FC A9 FF - sta Zp4B ; CPU:$F7FE PRG:77FE 85 4B + sta DispatchPtrHi ; CPU:$F7FE PRG:77FE 85 4B lda #$F7 ; CPU:$F800 PRG:7800 A9 F7 - sta Zp4D ; CPU:$F802 PRG:7802 85 4D + sta ScrollX ; CPU:$F802 PRG:7802 85 4D jsr Sub_F5D4 ; CPU:$F804 PRG:7804 20 D4 F5 lda #$02 ; CPU:$F807 PRG:7807 A9 02 sta $047B ; CPU:$F809 PRG:7809 8D 7B 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop685 -; Global: Branch target inside IrqHandler: taken when Loop685. +; Routine: IrqHandler_Loop724 +; Global: Branch target inside IrqHandler: taken when Loop724. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop685: +IrqHandler_Loop724: rts ; CPU:$F80C PRG:780C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F80D @@ -17201,17 +18140,17 @@ IrqHandler_Loop685: ; ----------------------------------------------------------------------------- Sub_F80D: lda $0633 ; CPU:$F80D PRG:780D AD 33 06 - beq IrqHandler_Loop686 ; CPU:$F810 PRG:7810 F0 01 + beq IrqHandler_Loop725 ; CPU:$F810 PRG:7810 F0 01 rts ; CPU:$F812 PRG:7812 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop686 -; Global: Branch target inside IrqHandler: taken when Loop686. +; Routine: IrqHandler_Loop725 +; Global: Branch target inside IrqHandler: taken when Loop725. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop686: +IrqHandler_Loop725: lda #$C0 ; CPU:$F813 PRG:7813 A9 C0 sta $062D ; CPU:$F815 PRG:7815 8D 2D 06 lda #$FF ; CPU:$F818 PRG:7818 A9 FF @@ -17233,131 +18172,131 @@ IrqHandler_Loop686: ; ----------------------------------------------------------------------------- Sub_F82D: lda $0633 ; CPU:$F82D PRG:782D AD 33 06 - bne IrqHandler_Loop687 ; CPU:$F830 PRG:7830 D0 01 + bne IrqHandler_Loop726 ; CPU:$F830 PRG:7830 D0 01 rts ; CPU:$F832 PRG:7832 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop687 -; Global: Branch target inside IrqHandler: taken when Loop687. +; Routine: IrqHandler_Loop726 +; Global: Branch target inside IrqHandler: taken when Loop726. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop687: +IrqHandler_Loop726: lda $0633 ; CPU:$F833 PRG:7833 AD 33 06 cmp #$02 ; CPU:$F836 PRG:7836 C9 02 - beq IrqHandler_Loop693 ; CPU:$F838 PRG:7838 F0 47 + beq IrqHandler_Loop732 ; CPU:$F838 PRG:7838 F0 47 cmp #$05 ; CPU:$F83A PRG:783A C9 05 - bne IrqHandler_Loop688 ; CPU:$F83C PRG:783C D0 03 + bne IrqHandler_Loop727 ; CPU:$F83C PRG:783C D0 03 jmp Sub_F8A6 ; CPU:$F83E PRG:783E 4C A6 F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop688 -; Global: Branch target inside IrqHandler: taken when Loop688. +; Routine: IrqHandler_Loop727 +; Global: Branch target inside IrqHandler: taken when Loop727. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop688: +IrqHandler_Loop727: cmp #$03 ; CPU:$F841 PRG:7841 C9 03 - bne IrqHandler_Loop689 ; CPU:$F843 PRG:7843 D0 03 + bne IrqHandler_Loop728 ; CPU:$F843 PRG:7843 D0 03 jmp Sub_F8CA ; CPU:$F845 PRG:7845 4C CA F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop689 -; Global: Branch target inside IrqHandler: taken when Loop689. +; Routine: IrqHandler_Loop728 +; Global: Branch target inside IrqHandler: taken when Loop728. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop689: +IrqHandler_Loop728: cmp #$04 ; CPU:$F848 PRG:7848 C9 04 - bne IrqHandler_Loop690 ; CPU:$F84A PRG:784A D0 03 + bne IrqHandler_Loop729 ; CPU:$F84A PRG:784A D0 03 jmp Sub_F8F3 ; CPU:$F84C PRG:784C 4C F3 F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop690 -; Global: Branch target inside IrqHandler: taken when Loop690. +; Routine: IrqHandler_Loop729 +; Global: Branch target inside IrqHandler: taken when Loop729. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop690: +IrqHandler_Loop729: lda #$01 ; CPU:$F84F PRG:784F A9 01 sta $0633 ; CPU:$F851 PRG:7851 8D 33 06 lda $062E ; CPU:$F854 PRG:7854 AD 2E 06 - beq IrqHandler_Loop692 ; CPU:$F857 PRG:7857 F0 1B + beq IrqHandler_Loop731 ; CPU:$F857 PRG:7857 F0 1B dec $062E ; CPU:$F859 PRG:7859 CE 2E 06 dec $062F ; CPU:$F85C PRG:785C CE 2F 06 lda $062F ; CPU:$F85F PRG:785F AD 2F 06 cmp #$03 ; CPU:$F862 PRG:7862 C9 03 - bcc IrqHandler_Loop691 ; CPU:$F864 PRG:7864 90 03 + bcc IrqHandler_Loop730 ; CPU:$F864 PRG:7864 90 03 jmp Sub_F919 ; CPU:$F866 PRG:7866 4C 19 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop691 -; Global: Branch target inside IrqHandler: taken when Loop691. +; Routine: IrqHandler_Loop730 +; Global: Branch target inside IrqHandler: taken when Loop730. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop691: +IrqHandler_Loop730: lda #$00 ; CPU:$F869 PRG:7869 A9 00 sta $0633 ; CPU:$F86B PRG:786B 8D 33 06 lda #$FF ; CPU:$F86E PRG:786E A9 FF sta $0634 ; CPU:$F870 PRG:7870 8D 34 06 rts ; CPU:$F873 PRG:7873 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop692 -; Global: Branch target inside IrqHandler: taken when Loop692. +; Routine: IrqHandler_Loop731 +; Global: Branch target inside IrqHandler: taken when Loop731. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop692: +IrqHandler_Loop731: lda #$02 ; CPU:$F874 PRG:7874 A9 02 sta $0633 ; CPU:$F876 PRG:7876 8D 33 06 lda #$20 ; CPU:$F879 PRG:7879 A9 20 sta $062E ; CPU:$F87B PRG:787B 8D 2E 06 jmp Sub_F919 ; CPU:$F87E PRG:787E 4C 19 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop693 -; Global: Branch target inside IrqHandler: taken when Loop693. +; Routine: IrqHandler_Loop732 +; Global: Branch target inside IrqHandler: taken when Loop732. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop693: +IrqHandler_Loop732: lda #$02 ; CPU:$F881 PRG:7881 A9 02 sta $0633 ; CPU:$F883 PRG:7883 8D 33 06 lda $062E ; CPU:$F886 PRG:7886 AD 2E 06 - beq IrqHandler_Loop695 ; CPU:$F889 PRG:7889 F0 0E + beq IrqHandler_Loop734 ; CPU:$F889 PRG:7889 F0 0E dec $062E ; CPU:$F88B PRG:788B CE 2E 06 - lda Zp54 ; CPU:$F88E PRG:788E A5 54 + lda FrameCounter ; CPU:$F88E PRG:788E A5 54 lsr a ; CPU:$F890 PRG:7890 4A - bcc IrqHandler_Loop694 ; CPU:$F891 PRG:7891 90 03 + bcc IrqHandler_Loop733 ; CPU:$F891 PRG:7891 90 03 inc $062F ; CPU:$F893 PRG:7893 EE 2F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop694 -; Global: Branch target inside IrqHandler: taken when Loop694. +; Routine: IrqHandler_Loop733 +; Global: Branch target inside IrqHandler: taken when Loop733. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop694: +IrqHandler_Loop733: jmp Sub_F919 ; CPU:$F896 PRG:7896 4C 19 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop695 -; Global: Branch target inside IrqHandler: taken when Loop695. +; Routine: IrqHandler_Loop734 +; Global: Branch target inside IrqHandler: taken when Loop734. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop695: +IrqHandler_Loop734: lda #$01 ; CPU:$F899 PRG:7899 A9 01 sta $0633 ; CPU:$F89B PRG:789B 8D 33 06 lda #$60 ; CPU:$F89E PRG:789E A9 60 @@ -17373,33 +18312,33 @@ IrqHandler_Loop695: ; ----------------------------------------------------------------------------- Sub_F8A6: lda $062E ; CPU:$F8A6 PRG:78A6 AD 2E 06 - beq IrqHandler_Loop697 ; CPU:$F8A9 PRG:78A9 F0 12 + beq IrqHandler_Loop736 ; CPU:$F8A9 PRG:78A9 F0 12 dec $062E ; CPU:$F8AB PRG:78AB CE 2E 06 - lda Zp9A ; CPU:$F8AE PRG:78AE A5 9A - beq IrqHandler_Loop696 ; CPU:$F8B0 PRG:78B0 F0 08 - lda Zp54 ; CPU:$F8B2 PRG:78B2 A5 54 + lda GameState ; CPU:$F8AE PRG:78AE A5 9A + beq IrqHandler_Loop735 ; CPU:$F8B0 PRG:78B0 F0 08 + lda FrameCounter ; CPU:$F8B2 PRG:78B2 A5 54 lsr a ; CPU:$F8B4 PRG:78B4 4A - bcc IrqHandler_Loop696 ; CPU:$F8B5 PRG:78B5 90 03 + bcc IrqHandler_Loop735 ; CPU:$F8B5 PRG:78B5 90 03 dec $062F ; CPU:$F8B7 PRG:78B7 CE 2F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop696 -; Global: Branch target inside IrqHandler: taken when Loop696. +; Routine: IrqHandler_Loop735 +; Global: Branch target inside IrqHandler: taken when Loop735. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop696: +IrqHandler_Loop735: jmp Sub_FA66 ; CPU:$F8BA PRG:78BA 4C 66 FA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop697 -; Global: Branch target inside IrqHandler: taken when Loop697. +; Routine: IrqHandler_Loop736 +; Global: Branch target inside IrqHandler: taken when Loop736. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop697: +IrqHandler_Loop736: lda #$01 ; CPU:$F8BD PRG:78BD A9 01 sta $0633 ; CPU:$F8BF PRG:78BF 8D 33 06 lda #$60 ; CPU:$F8C2 PRG:78C2 A9 60 @@ -17415,39 +18354,39 @@ IrqHandler_Loop697: ; ----------------------------------------------------------------------------- Sub_F8CA: lda $062E ; CPU:$F8CA PRG:78CA AD 2E 06 - beq IrqHandler_Loop699 ; CPU:$F8CD PRG:78CD F0 17 + beq IrqHandler_Loop738 ; CPU:$F8CD PRG:78CD F0 17 dec $062E ; CPU:$F8CF PRG:78CF CE 2E 06 dec $062D ; CPU:$F8D2 PRG:78D2 CE 2D 06 dec $062D ; CPU:$F8D5 PRG:78D5 CE 2D 06 - lda Zp54 ; CPU:$F8D8 PRG:78D8 A5 54 + lda FrameCounter ; CPU:$F8D8 PRG:78D8 A5 54 lsr a ; CPU:$F8DA PRG:78DA 4A - bcs IrqHandler_Loop698 ; CPU:$F8DB PRG:78DB B0 03 + bcs IrqHandler_Loop737 ; CPU:$F8DB PRG:78DB B0 03 inc $062F ; CPU:$F8DD PRG:78DD EE 2F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop698 -; Global: Branch target inside IrqHandler: taken when Loop698. +; Routine: IrqHandler_Loop737 +; Global: Branch target inside IrqHandler: taken when Loop737. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop698: +IrqHandler_Loop737: inc $062F ; CPU:$F8E0 PRG:78E0 EE 2F 06 - jmp IrqHandler_Loop706 ; CPU:$F8E3 PRG:78E3 4C 9E F9 + jmp IrqHandler_Loop745 ; CPU:$F8E3 PRG:78E3 4C 9E F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop699 -; Global: Branch target inside IrqHandler: taken when Loop699. +; Routine: IrqHandler_Loop738 +; Global: Branch target inside IrqHandler: taken when Loop738. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop699: +IrqHandler_Loop738: lda #$14 ; CPU:$F8E6 PRG:78E6 A9 14 sta $062E ; CPU:$F8E8 PRG:78E8 8D 2E 06 lda #$04 ; CPU:$F8EB PRG:78EB A9 04 sta $0633 ; CPU:$F8ED PRG:78ED 8D 33 06 - jmp IrqHandler_Loop706 ; CPU:$F8F0 PRG:78F0 4C 9E F9 + jmp IrqHandler_Loop745 ; CPU:$F8F0 PRG:78F0 4C 9E F9 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8F3 ; Global: Branch target inside Sub: taken when F8F3. @@ -17458,33 +18397,33 @@ IrqHandler_Loop699: ; ----------------------------------------------------------------------------- Sub_F8F3: lda $062E ; CPU:$F8F3 PRG:78F3 AD 2E 06 - beq IrqHandler_Loop701 ; CPU:$F8F6 PRG:78F6 F0 14 + beq IrqHandler_Loop740 ; CPU:$F8F6 PRG:78F6 F0 14 dec $062E ; CPU:$F8F8 PRG:78F8 CE 2E 06 inc $062D ; CPU:$F8FB PRG:78FB EE 2D 06 - lda Zp54 ; CPU:$F8FE PRG:78FE A5 54 + lda FrameCounter ; CPU:$F8FE PRG:78FE A5 54 lsr a ; CPU:$F900 PRG:7900 4A - bcs IrqHandler_Loop700 ; CPU:$F901 PRG:7901 B0 03 + bcs IrqHandler_Loop739 ; CPU:$F901 PRG:7901 B0 03 inc $062F ; CPU:$F903 PRG:7903 EE 2F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop700 -; Global: Branch target inside IrqHandler: taken when Loop700. +; Routine: IrqHandler_Loop739 +; Global: Branch target inside IrqHandler: taken when Loop739. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop700: +IrqHandler_Loop739: inc $062F ; CPU:$F906 PRG:7906 EE 2F 06 - jmp IrqHandler_Loop706 ; CPU:$F909 PRG:7909 4C 9E F9 + jmp IrqHandler_Loop745 ; CPU:$F909 PRG:7909 4C 9E F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop701 -; Global: Branch target inside IrqHandler: taken when Loop701. +; Routine: IrqHandler_Loop740 +; Global: Branch target inside IrqHandler: taken when Loop740. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop701: +IrqHandler_Loop740: lda #$3C ; CPU:$F90C PRG:790C A9 3C sta $062E ; CPU:$F90E PRG:790E 8D 2E 06 lda #$05 ; CPU:$F911 PRG:7911 A9 05 @@ -17501,163 +18440,163 @@ IrqHandler_Loop701: Sub_F919: lda $062F ; CPU:$F919 PRG:7919 AD 2F 06 cmp #$04 ; CPU:$F91C PRG:791C C9 04 - bcs IrqHandler_Loop702 ; CPU:$F91E PRG:791E B0 0B + bcs IrqHandler_Loop741 ; CPU:$F91E PRG:791E B0 0B lda #$00 ; CPU:$F920 PRG:7920 A9 00 sta $0633 ; CPU:$F922 PRG:7922 8D 33 06 lda #$B4 ; CPU:$F925 PRG:7925 A9 B4 sta $0634 ; CPU:$F927 PRG:7927 8D 34 06 rts ; CPU:$F92A PRG:792A 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop702 -; Global: Branch target inside IrqHandler: taken when Loop702. +; Routine: IrqHandler_Loop741 +; Global: Branch target inside IrqHandler: taken when Loop741. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop702: +IrqHandler_Loop741: jsr Sub_FB1C ; CPU:$F92B PRG:792B 20 1C FB lda $057D ; CPU:$F92E PRG:792E AD 7D 05 - beq IrqHandler_Loop703 ; CPU:$F931 PRG:7931 F0 4D + beq IrqHandler_Loop742 ; CPU:$F931 PRG:7931 F0 4D lda $062F ; CPU:$F933 PRG:7933 AD 2F 06 sec ; CPU:$F936 PRG:7936 38 sbc #$0C ; CPU:$F937 PRG:7937 E9 0C cmp $0579 ; CPU:$F939 PRG:7939 CD 79 05 - bcs IrqHandler_Loop703 ; CPU:$F93C PRG:793C B0 42 + bcs IrqHandler_Loop742 ; CPU:$F93C PRG:793C B0 42 lda $062F ; CPU:$F93E PRG:793E AD 2F 06 clc ; CPU:$F941 PRG:7941 18 adc #$0C ; CPU:$F942 PRG:7942 69 0C cmp $0579 ; CPU:$F944 PRG:7944 CD 79 05 - bcc IrqHandler_Loop703 ; CPU:$F947 PRG:7947 90 37 + bcc IrqHandler_Loop742 ; CPU:$F947 PRG:7947 90 37 lda $062D ; CPU:$F949 PRG:7949 AD 2D 06 cmp $0577 ; CPU:$F94C PRG:794C CD 77 05 - bcs IrqHandler_Loop703 ; CPU:$F94F PRG:794F B0 2F + bcs IrqHandler_Loop742 ; CPU:$F94F PRG:794F B0 2F lda $062D ; CPU:$F951 PRG:7951 AD 2D 06 clc ; CPU:$F954 PRG:7954 18 adc #$10 ; CPU:$F955 PRG:7955 69 10 cmp $0577 ; CPU:$F957 PRG:7957 CD 77 05 - bcc IrqHandler_Loop703 ; CPU:$F95A PRG:795A 90 24 + bcc IrqHandler_Loop742 ; CPU:$F95A PRG:795A 90 24 lda #$00 ; CPU:$F95C PRG:795C A9 00 sta $057D ; CPU:$F95E PRG:795E 8D 7D 05 lda #$0A ; CPU:$F961 PRG:7961 A9 0A sta $062E ; CPU:$F963 PRG:7963 8D 2E 06 lda #$03 ; CPU:$F966 PRG:7966 A9 03 sta $0633 ; CPU:$F968 PRG:7968 8D 33 06 - lda ZpFC ; CPU:$F96B PRG:796B A5 FC + lda LevelIndex ; CPU:$F96B PRG:796B A5 FC cmp #$06 ; CPU:$F96D PRG:796D C9 06 - bne IrqHandler_Loop703 ; CPU:$F96F PRG:796F D0 0F + bne IrqHandler_Loop742 ; CPU:$F96F PRG:796F D0 0F inc $047D ; CPU:$F971 PRG:7971 EE 7D 04 lda $047D ; CPU:$F974 PRG:7974 AD 7D 04 cmp #$08 ; CPU:$F977 PRG:7977 C9 08 - bne IrqHandler_Loop703 ; CPU:$F979 PRG:7979 D0 05 + bne IrqHandler_Loop742 ; CPU:$F979 PRG:7979 D0 05 lda #$01 ; CPU:$F97B PRG:797B A9 01 sta $047C ; CPU:$F97D PRG:797D 8D 7C 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop703 -; Global: Branch target inside IrqHandler: taken when Loop703. +; Routine: IrqHandler_Loop742 +; Global: Branch target inside IrqHandler: taken when Loop742. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop703: +IrqHandler_Loop742: lda $06CE ; CPU:$F980 PRG:7980 AD CE 06 cmp #$06 ; CPU:$F983 PRG:7983 C9 06 - bcc IrqHandler_Loop706 ; CPU:$F985 PRG:7985 90 17 + bcc IrqHandler_Loop745 ; CPU:$F985 PRG:7985 90 17 lda $062F ; CPU:$F987 PRG:7987 AD 2F 06 cmp #$F8 ; CPU:$F98A PRG:798A C9 F8 - bcc IrqHandler_Loop704 ; CPU:$F98C PRG:798C 90 03 + bcc IrqHandler_Loop743 ; CPU:$F98C PRG:798C 90 03 jmp Sub_F9D4 ; CPU:$F98E PRG:798E 4C D4 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop704 -; Global: Branch target inside IrqHandler: taken when Loop704. +; Routine: IrqHandler_Loop743 +; Global: Branch target inside IrqHandler: taken when Loop743. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop704: +IrqHandler_Loop743: cmp #$08 ; CPU:$F991 PRG:7991 C9 08 - bcc IrqHandler_Loop705 ; CPU:$F993 PRG:7993 90 06 + bcc IrqHandler_Loop744 ; CPU:$F993 PRG:7993 90 06 jsr Sub_F9D4 ; CPU:$F995 PRG:7995 20 D4 F9 jmp Sub_F9FA ; CPU:$F998 PRG:7998 4C FA F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop705 -; Global: Branch target inside IrqHandler: taken when Loop705. +; Routine: IrqHandler_Loop744 +; Global: Branch target inside IrqHandler: taken when Loop744. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop705: +IrqHandler_Loop744: jmp Sub_F9FA ; CPU:$F99B PRG:799B 4C FA F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop706 -; Global: Branch target inside IrqHandler: taken when Loop706. +; Routine: IrqHandler_Loop745 +; Global: Branch target inside IrqHandler: taken when Loop745. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop706: +IrqHandler_Loop745: lda $0633 ; CPU:$F99E PRG:799E AD 33 06 cmp #$03 ; CPU:$F9A1 PRG:79A1 C9 03 - beq IrqHandler_Loop707 ; CPU:$F9A3 PRG:79A3 F0 06 + beq IrqHandler_Loop746 ; CPU:$F9A3 PRG:79A3 F0 06 cmp #$04 ; CPU:$F9A5 PRG:79A5 C9 04 - beq IrqHandler_Loop707 ; CPU:$F9A7 PRG:79A7 F0 02 - bne IrqHandler_Loop708 ; CPU:$F9A9 PRG:79A9 D0 12 + beq IrqHandler_Loop746 ; CPU:$F9A7 PRG:79A7 F0 02 + bne IrqHandler_Loop747 ; CPU:$F9A9 PRG:79A9 D0 12 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop707 -; Global: Branch target inside IrqHandler: taken when Loop707. +; Routine: IrqHandler_Loop746 +; Global: Branch target inside IrqHandler: taken when Loop746. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop707: +IrqHandler_Loop746: lda $062F ; CPU:$F9AB PRG:79AB AD 2F 06 cmp #$F8 ; CPU:$F9AE PRG:79AE C9 F8 - bcc IrqHandler_Loop708 ; CPU:$F9B0 PRG:79B0 90 0B + bcc IrqHandler_Loop747 ; CPU:$F9B0 PRG:79B0 90 0B lda #$00 ; CPU:$F9B2 PRG:79B2 A9 00 sta $0633 ; CPU:$F9B4 PRG:79B4 8D 33 06 lda #$3C ; CPU:$F9B7 PRG:79B7 A9 3C sta $0634 ; CPU:$F9B9 PRG:79B9 8D 34 06 rts ; CPU:$F9BC PRG:79BC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop708 -; Global: Branch target inside IrqHandler: taken when Loop708. +; Routine: IrqHandler_Loop747 +; Global: Branch target inside IrqHandler: taken when Loop747. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop708: +IrqHandler_Loop747: lda $062F ; CPU:$F9BD PRG:79BD AD 2F 06 cmp #$F8 ; CPU:$F9C0 PRG:79C0 C9 F8 - bcc IrqHandler_Loop709 ; CPU:$F9C2 PRG:79C2 90 03 + bcc IrqHandler_Loop748 ; CPU:$F9C2 PRG:79C2 90 03 jmp Sub_FA1D ; CPU:$F9C4 PRG:79C4 4C 1D FA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop709 -; Global: Branch target inside IrqHandler: taken when Loop709. +; Routine: IrqHandler_Loop748 +; Global: Branch target inside IrqHandler: taken when Loop748. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop709: +IrqHandler_Loop748: cmp #$08 ; CPU:$F9C7 PRG:79C7 C9 08 - bcc IrqHandler_Loop710 ; CPU:$F9C9 PRG:79C9 90 06 + bcc IrqHandler_Loop749 ; CPU:$F9C9 PRG:79C9 90 06 jsr Sub_FA1D ; CPU:$F9CB PRG:79CB 20 1D FA jmp Sub_FA43 ; CPU:$F9CE PRG:79CE 4C 43 FA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop710 -; Global: Branch target inside IrqHandler: taken when Loop710. +; Routine: IrqHandler_Loop749 +; Global: Branch target inside IrqHandler: taken when Loop749. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop710: +IrqHandler_Loop749: jmp Sub_FA43 ; CPU:$F9D1 PRG:79D1 4C 43 FA ; ----------------------------------------------------------------------------- ; Routine: Sub_F9D4 @@ -17669,22 +18608,22 @@ IrqHandler_Loop710: ; ----------------------------------------------------------------------------- Sub_F9D4: lda $062D ; CPU:$F9D4 PRG:79D4 AD 2D 06 - sta Zp19 ; CPU:$F9D7 PRG:79D7 85 19 + sta PlayerXHigh ; CPU:$F9D7 PRG:79D7 85 19 lda $062F ; CPU:$F9D9 PRG:79D9 AD 2F 06 sec ; CPU:$F9DC PRG:79DC 38 sbc #$08 ; CPU:$F9DD PRG:79DD E9 08 - sta Zp1C ; CPU:$F9DF PRG:79DF 85 1C + sta PlayerYHigh ; CPU:$F9DF PRG:79DF 85 1C lda #$7E ; CPU:$F9E1 PRG:79E1 A9 7E - sta Zp1A ; CPU:$F9E3 PRG:79E3 85 1A + sta PlayerXLow ; CPU:$F9E3 PRG:79E3 85 1A lda #$02 ; CPU:$F9E5 PRG:79E5 A9 02 - sta Zp1B ; CPU:$F9E7 PRG:79E7 85 1B + sta PlayerYLow ; CPU:$F9E7 PRG:79E7 85 1B jsr Sub_8221 ; CPU:$F9E9 PRG:79E9 20 21 82 - lda Zp19 ; CPU:$F9EC PRG:79EC A5 19 + lda PlayerXHigh ; CPU:$F9EC PRG:79EC A5 19 clc ; CPU:$F9EE PRG:79EE 18 adc #$08 ; CPU:$F9EF PRG:79EF 69 08 - sta Zp19 ; CPU:$F9F1 PRG:79F1 85 19 + sta PlayerXHigh ; CPU:$F9F1 PRG:79F1 85 19 lda #$8E ; CPU:$F9F3 PRG:79F3 A9 8E - sta Zp1A ; CPU:$F9F5 PRG:79F5 85 1A + sta PlayerXLow ; CPU:$F9F5 PRG:79F5 85 1A jmp Sub_8221 ; CPU:$F9F7 PRG:79F7 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_F9FA @@ -17696,20 +18635,20 @@ Sub_F9D4: ; ----------------------------------------------------------------------------- Sub_F9FA: lda $062D ; CPU:$F9FA PRG:79FA AD 2D 06 - sta Zp19 ; CPU:$F9FD PRG:79FD 85 19 + sta PlayerXHigh ; CPU:$F9FD PRG:79FD 85 19 lda $062F ; CPU:$F9FF PRG:79FF AD 2F 06 - sta Zp1C ; CPU:$FA02 PRG:7A02 85 1C + sta PlayerYHigh ; CPU:$FA02 PRG:7A02 85 1C lda #$6A ; CPU:$FA04 PRG:7A04 A9 6A - sta Zp1A ; CPU:$FA06 PRG:7A06 85 1A + sta PlayerXLow ; CPU:$FA06 PRG:7A06 85 1A lda #$02 ; CPU:$FA08 PRG:7A08 A9 02 - sta Zp1B ; CPU:$FA0A PRG:7A0A 85 1B + sta PlayerYLow ; CPU:$FA0A PRG:7A0A 85 1B jsr Sub_8221 ; CPU:$FA0C PRG:7A0C 20 21 82 - lda Zp19 ; CPU:$FA0F PRG:7A0F A5 19 + lda PlayerXHigh ; CPU:$FA0F PRG:7A0F A5 19 clc ; CPU:$FA11 PRG:7A11 18 adc #$08 ; CPU:$FA12 PRG:7A12 69 08 - sta Zp19 ; CPU:$FA14 PRG:7A14 85 19 + sta PlayerXHigh ; CPU:$FA14 PRG:7A14 85 19 lda #$7A ; CPU:$FA16 PRG:7A16 A9 7A - sta Zp1A ; CPU:$FA18 PRG:7A18 85 1A + sta PlayerXLow ; CPU:$FA18 PRG:7A18 85 1A jmp Sub_8221 ; CPU:$FA1A PRG:7A1A 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA1D @@ -17721,22 +18660,22 @@ Sub_F9FA: ; ----------------------------------------------------------------------------- Sub_FA1D: lda $062D ; CPU:$FA1D PRG:7A1D AD 2D 06 - sta Zp19 ; CPU:$FA20 PRG:7A20 85 19 + sta PlayerXHigh ; CPU:$FA20 PRG:7A20 85 19 lda $062F ; CPU:$FA22 PRG:7A22 AD 2F 06 sec ; CPU:$FA25 PRG:7A25 38 sbc #$08 ; CPU:$FA26 PRG:7A26 E9 08 - sta Zp1C ; CPU:$FA28 PRG:7A28 85 1C + sta PlayerYHigh ; CPU:$FA28 PRG:7A28 85 1C lda #$6A ; CPU:$FA2A PRG:7A2A A9 6A - sta Zp1A ; CPU:$FA2C PRG:7A2C 85 1A + sta PlayerXLow ; CPU:$FA2C PRG:7A2C 85 1A lda #$42 ; CPU:$FA2E PRG:7A2E A9 42 - sta Zp1B ; CPU:$FA30 PRG:7A30 85 1B + sta PlayerYLow ; CPU:$FA30 PRG:7A30 85 1B jsr Sub_8221 ; CPU:$FA32 PRG:7A32 20 21 82 - lda Zp19 ; CPU:$FA35 PRG:7A35 A5 19 + lda PlayerXHigh ; CPU:$FA35 PRG:7A35 A5 19 clc ; CPU:$FA37 PRG:7A37 18 adc #$08 ; CPU:$FA38 PRG:7A38 69 08 - sta Zp19 ; CPU:$FA3A PRG:7A3A 85 19 + sta PlayerXHigh ; CPU:$FA3A PRG:7A3A 85 19 lda #$7A ; CPU:$FA3C PRG:7A3C A9 7A - sta Zp1A ; CPU:$FA3E PRG:7A3E 85 1A + sta PlayerXLow ; CPU:$FA3E PRG:7A3E 85 1A jmp Sub_8221 ; CPU:$FA40 PRG:7A40 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA43 @@ -17748,20 +18687,20 @@ Sub_FA1D: ; ----------------------------------------------------------------------------- Sub_FA43: lda $062D ; CPU:$FA43 PRG:7A43 AD 2D 06 - sta Zp19 ; CPU:$FA46 PRG:7A46 85 19 + sta PlayerXHigh ; CPU:$FA46 PRG:7A46 85 19 lda $062F ; CPU:$FA48 PRG:7A48 AD 2F 06 - sta Zp1C ; CPU:$FA4B PRG:7A4B 85 1C + sta PlayerYHigh ; CPU:$FA4B PRG:7A4B 85 1C lda #$7E ; CPU:$FA4D PRG:7A4D A9 7E - sta Zp1A ; CPU:$FA4F PRG:7A4F 85 1A + sta PlayerXLow ; CPU:$FA4F PRG:7A4F 85 1A lda #$42 ; CPU:$FA51 PRG:7A51 A9 42 - sta Zp1B ; CPU:$FA53 PRG:7A53 85 1B + sta PlayerYLow ; CPU:$FA53 PRG:7A53 85 1B jsr Sub_8221 ; CPU:$FA55 PRG:7A55 20 21 82 - lda Zp19 ; CPU:$FA58 PRG:7A58 A5 19 + lda PlayerXHigh ; CPU:$FA58 PRG:7A58 A5 19 clc ; CPU:$FA5A PRG:7A5A 18 adc #$08 ; CPU:$FA5B PRG:7A5B 69 08 - sta Zp19 ; CPU:$FA5D PRG:7A5D 85 19 + sta PlayerXHigh ; CPU:$FA5D PRG:7A5D 85 19 lda #$8E ; CPU:$FA5F PRG:7A5F A9 8E - sta Zp1A ; CPU:$FA61 PRG:7A61 85 1A + sta PlayerXLow ; CPU:$FA61 PRG:7A61 85 1A jmp Sub_8221 ; CPU:$FA63 PRG:7A63 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FA66 @@ -17773,25 +18712,25 @@ Sub_FA43: ; ----------------------------------------------------------------------------- Sub_FA66: lda $0514 ; CPU:$FA66 PRG:7A66 AD 14 05 - bne IrqHandler_Loop711 ; CPU:$FA69 PRG:7A69 D0 5E + bne IrqHandler_Loop750 ; CPU:$FA69 PRG:7A69 D0 5E lda $0501 ; CPU:$FA6B PRG:7A6B AD 01 05 clc ; CPU:$FA6E PRG:7A6E 18 adc #$02 ; CPU:$FA6F PRG:7A6F 69 02 cmp $062F ; CPU:$FA71 PRG:7A71 CD 2F 06 - bcs IrqHandler_Loop711 ; CPU:$FA74 PRG:7A74 B0 53 + bcs IrqHandler_Loop750 ; CPU:$FA74 PRG:7A74 B0 53 lda $0501 ; CPU:$FA76 PRG:7A76 AD 01 05 clc ; CPU:$FA79 PRG:7A79 18 adc #$0C ; CPU:$FA7A PRG:7A7A 69 0C cmp $062F ; CPU:$FA7C PRG:7A7C CD 2F 06 - bcc IrqHandler_Loop711 ; CPU:$FA7F PRG:7A7F 90 48 + bcc IrqHandler_Loop750 ; CPU:$FA7F PRG:7A7F 90 48 lda $0502 ; CPU:$FA81 PRG:7A81 AD 02 05 sec ; CPU:$FA84 PRG:7A84 38 sbc #$0E ; CPU:$FA85 PRG:7A85 E9 0E cmp $062D ; CPU:$FA87 PRG:7A87 CD 2D 06 - bcs IrqHandler_Loop711 ; CPU:$FA8A PRG:7A8A B0 3D + bcs IrqHandler_Loop750 ; CPU:$FA8A PRG:7A8A B0 3D lda $0502 ; CPU:$FA8C PRG:7A8C AD 02 05 cmp $062D ; CPU:$FA8F PRG:7A8F CD 2D 06 - bcc IrqHandler_Loop711 ; CPU:$FA92 PRG:7A92 90 35 + bcc IrqHandler_Loop750 ; CPU:$FA92 PRG:7A92 90 35 lda #$15 ; CPU:$FA94 PRG:7A94 A9 15 jsr Sub_DC19 ; CPU:$FA96 PRG:7A96 20 19 DC lda #$1A ; CPU:$FA99 PRG:7A99 A9 1A @@ -17815,60 +18754,60 @@ Sub_FA66: sta $062F ; CPU:$FAC5 PRG:7AC5 8D 2F 06 rts ; CPU:$FAC8 PRG:7AC8 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop711 -; Global: Branch target inside IrqHandler: taken when Loop711. +; Routine: IrqHandler_Loop750 +; Global: Branch target inside IrqHandler: taken when Loop750. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop711: +IrqHandler_Loop750: lda $062F ; CPU:$FAC9 PRG:7AC9 AD 2F 06 sec ; CPU:$FACC PRG:7ACC 38 sbc #$04 ; CPU:$FACD PRG:7ACD E9 04 cmp $0579 ; CPU:$FACF PRG:7ACF CD 79 05 - bcs IrqHandler_Loop712 ; CPU:$FAD2 PRG:7AD2 B0 2D + bcs IrqHandler_Loop751 ; CPU:$FAD2 PRG:7AD2 B0 2D lda $062F ; CPU:$FAD4 PRG:7AD4 AD 2F 06 clc ; CPU:$FAD7 PRG:7AD7 18 adc #$04 ; CPU:$FAD8 PRG:7AD8 69 04 cmp $0579 ; CPU:$FADA PRG:7ADA CD 79 05 - bcc IrqHandler_Loop712 ; CPU:$FADD PRG:7ADD 90 22 + bcc IrqHandler_Loop751 ; CPU:$FADD PRG:7ADD 90 22 lda $062D ; CPU:$FADF PRG:7ADF AD 2D 06 clc ; CPU:$FAE2 PRG:7AE2 18 adc #$04 ; CPU:$FAE3 PRG:7AE3 69 04 cmp $0577 ; CPU:$FAE5 PRG:7AE5 CD 77 05 - bcs IrqHandler_Loop712 ; CPU:$FAE8 PRG:7AE8 B0 17 + bcs IrqHandler_Loop751 ; CPU:$FAE8 PRG:7AE8 B0 17 lda $062D ; CPU:$FAEA PRG:7AEA AD 2D 06 clc ; CPU:$FAED PRG:7AED 18 adc #$0C ; CPU:$FAEE PRG:7AEE 69 0C cmp $0577 ; CPU:$FAF0 PRG:7AF0 CD 77 05 - bcc IrqHandler_Loop712 ; CPU:$FAF3 PRG:7AF3 90 0C + bcc IrqHandler_Loop751 ; CPU:$FAF3 PRG:7AF3 90 0C lda $0633 ; CPU:$FAF5 PRG:7AF5 AD 33 06 cmp #$05 ; CPU:$FAF8 PRG:7AF8 C9 05 - bne IrqHandler_Loop712 ; CPU:$FAFA PRG:7AFA D0 05 + bne IrqHandler_Loop751 ; CPU:$FAFA PRG:7AFA D0 05 lda #$3C ; CPU:$FAFC PRG:7AFC A9 3C sta $062E ; CPU:$FAFE PRG:7AFE 8D 2E 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop712 -; Global: Branch target inside IrqHandler: taken when Loop712. +; Routine: IrqHandler_Loop751 +; Global: Branch target inside IrqHandler: taken when Loop751. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop712: +IrqHandler_Loop751: lda $062D ; CPU:$FB01 PRG:7B01 AD 2D 06 clc ; CPU:$FB04 PRG:7B04 18 adc #$08 ; CPU:$FB05 PRG:7B05 69 08 - sta Zp19 ; CPU:$FB07 PRG:7B07 85 19 + sta PlayerXHigh ; CPU:$FB07 PRG:7B07 85 19 lda $062F ; CPU:$FB09 PRG:7B09 AD 2F 06 sec ; CPU:$FB0C PRG:7B0C 38 sbc #$04 ; CPU:$FB0D PRG:7B0D E9 04 - sta Zp1C ; CPU:$FB0F PRG:7B0F 85 1C + sta PlayerYHigh ; CPU:$FB0F PRG:7B0F 85 1C lda #$6B ; CPU:$FB11 PRG:7B11 A9 6B - sta Zp1A ; CPU:$FB13 PRG:7B13 85 1A + sta PlayerXLow ; CPU:$FB13 PRG:7B13 85 1A lda #$01 ; CPU:$FB15 PRG:7B15 A9 01 - sta Zp1B ; CPU:$FB17 PRG:7B17 85 1B + sta PlayerYLow ; CPU:$FB17 PRG:7B17 85 1B jmp Sub_8221 ; CPU:$FB19 PRG:7B19 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FB1C @@ -17881,68 +18820,68 @@ IrqHandler_Loop712: Sub_FB1C: lda $0633 ; CPU:$FB1C PRG:7B1C AD 33 06 cmp #$04 ; CPU:$FB1F PRG:7B1F C9 04 - bne IrqHandler_Loop713 ; CPU:$FB21 PRG:7B21 D0 03 - jmp IrqHandler_Loop718 ; CPU:$FB23 PRG:7B23 4C CE FB + bne IrqHandler_Loop752 ; CPU:$FB21 PRG:7B21 D0 03 + jmp IrqHandler_Loop757 ; CPU:$FB23 PRG:7B23 4C CE FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop713 -; Global: Branch target inside IrqHandler: taken when Loop713. +; Routine: IrqHandler_Loop752 +; Global: Branch target inside IrqHandler: taken when Loop752. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop713: +IrqHandler_Loop752: cmp #$05 ; CPU:$FB26 PRG:7B26 C9 05 - bne IrqHandler_Loop714 ; CPU:$FB28 PRG:7B28 D0 03 - jmp IrqHandler_Loop718 ; CPU:$FB2A PRG:7B2A 4C CE FB + bne IrqHandler_Loop753 ; CPU:$FB28 PRG:7B28 D0 03 + jmp IrqHandler_Loop757 ; CPU:$FB2A PRG:7B2A 4C CE FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop714 -; Global: Branch target inside IrqHandler: taken when Loop714. +; Routine: IrqHandler_Loop753 +; Global: Branch target inside IrqHandler: taken when Loop753. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop714: +IrqHandler_Loop753: lda $07E9 ; CPU:$FB2D PRG:7B2D AD E9 07 - beq IrqHandler_Loop715 ; CPU:$FB30 PRG:7B30 F0 03 - jmp IrqHandler_Loop718 ; CPU:$FB32 PRG:7B32 4C CE FB + beq IrqHandler_Loop754 ; CPU:$FB30 PRG:7B30 F0 03 + jmp IrqHandler_Loop757 ; CPU:$FB32 PRG:7B32 4C CE FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop715 -; Global: Branch target inside IrqHandler: taken when Loop715. +; Routine: IrqHandler_Loop754 +; Global: Branch target inside IrqHandler: taken when Loop754. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop715: +IrqHandler_Loop754: ldy #$10 ; CPU:$FB35 PRG:7B35 A0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative19 -; Global: Branch target inside IrqHandler: taken when OnNonnegative19. +; Routine: IrqHandler_OnNonnegative21 +; Global: Branch target inside IrqHandler: taken when OnNonnegative21. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative19: +IrqHandler_OnNonnegative21: lda $0521,y ; CPU:$FB37 PRG:7B37 B9 21 05 - beq IrqHandler_Loop716 ; CPU:$FB3A PRG:7B3A F0 03 + beq IrqHandler_Loop755 ; CPU:$FB3A PRG:7B3A F0 03 jsr Sub_FB49 ; CPU:$FB3C PRG:7B3C 20 49 FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop716 -; Global: Branch target inside IrqHandler: taken when Loop716. +; Routine: IrqHandler_Loop755 +; Global: Branch target inside IrqHandler: taken when Loop755. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop716: +IrqHandler_Loop755: tya ; CPU:$FB3F PRG:7B3F 98 sec ; CPU:$FB40 PRG:7B40 38 sbc #$08 ; CPU:$FB41 PRG:7B41 E9 08 tay ; CPU:$FB43 PRG:7B43 A8 - bpl IrqHandler_OnNonnegative19 ; CPU:$FB44 PRG:7B44 10 F1 + bpl IrqHandler_OnNonnegative21 ; CPU:$FB44 PRG:7B44 10 F1 jmp Sub_FB83 ; CPU:$FB46 PRG:7B46 4C 83 FB ; ----------------------------------------------------------------------------- ; Routine: Sub_FB49 @@ -17955,20 +18894,20 @@ IrqHandler_Loop716: Sub_FB49: lda $062D ; CPU:$FB49 PRG:7B49 AD 2D 06 cmp $051B,y ; CPU:$FB4C PRG:7B4C D9 1B 05 - bcs IrqHandler_Loop717 ; CPU:$FB4F PRG:7B4F B0 31 + bcs IrqHandler_Loop756 ; CPU:$FB4F PRG:7B4F B0 31 lda $062D ; CPU:$FB51 PRG:7B51 AD 2D 06 clc ; CPU:$FB54 PRG:7B54 18 adc #$08 ; CPU:$FB55 PRG:7B55 69 08 cmp $051B,y ; CPU:$FB57 PRG:7B57 D9 1B 05 - bcc IrqHandler_Loop717 ; CPU:$FB5A PRG:7B5A 90 26 + bcc IrqHandler_Loop756 ; CPU:$FB5A PRG:7B5A 90 26 lda $062F ; CPU:$FB5C PRG:7B5C AD 2F 06 sec ; CPU:$FB5F PRG:7B5F 38 sbc #$18 ; CPU:$FB60 PRG:7B60 E9 18 cmp $051D,y ; CPU:$FB62 PRG:7B62 D9 1D 05 - bcs IrqHandler_Loop717 ; CPU:$FB65 PRG:7B65 B0 1B + bcs IrqHandler_Loop756 ; CPU:$FB65 PRG:7B65 B0 1B lda $062F ; CPU:$FB67 PRG:7B67 AD 2F 06 cmp $051D,y ; CPU:$FB6A PRG:7B6A D9 1D 05 - bcc IrqHandler_Loop717 ; CPU:$FB6D PRG:7B6D 90 13 + bcc IrqHandler_Loop756 ; CPU:$FB6D PRG:7B6D 90 13 lda #$00 ; CPU:$FB6F PRG:7B6F A9 00 sta $0521,y ; CPU:$FB71 PRG:7B71 99 21 05 lda #$0A ; CPU:$FB74 PRG:7B74 A9 0A @@ -17978,14 +18917,14 @@ Sub_FB49: adc #$04 ; CPU:$FB7D PRG:7B7D 69 04 sta $062F ; CPU:$FB7F PRG:7B7F 8D 2F 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop717 -; Global: Branch target inside IrqHandler: taken when Loop717. +; Routine: IrqHandler_Loop756 +; Global: Branch target inside IrqHandler: taken when Loop756. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop717: +IrqHandler_Loop756: rts ; CPU:$FB82 PRG:7B82 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FB83 @@ -18000,20 +18939,20 @@ Sub_FB83: sec ; CPU:$FB86 PRG:7B86 38 sbc #$1A ; CPU:$FB87 PRG:7B87 E9 1A cmp $0501 ; CPU:$FB89 PRG:7B89 CD 01 05 - bcs IrqHandler_Loop718 ; CPU:$FB8C PRG:7B8C B0 40 + bcs IrqHandler_Loop757 ; CPU:$FB8C PRG:7B8C B0 40 lda $062F ; CPU:$FB8E PRG:7B8E AD 2F 06 cmp $0501 ; CPU:$FB91 PRG:7B91 CD 01 05 - bcc IrqHandler_Loop718 ; CPU:$FB94 PRG:7B94 90 38 + bcc IrqHandler_Loop757 ; CPU:$FB94 PRG:7B94 90 38 lda $062D ; CPU:$FB96 PRG:7B96 AD 2D 06 clc ; CPU:$FB99 PRG:7B99 18 adc #$0E ; CPU:$FB9A PRG:7B9A 69 0E cmp $0502 ; CPU:$FB9C PRG:7B9C CD 02 05 - bcc IrqHandler_Loop718 ; CPU:$FB9F PRG:7B9F 90 2D + bcc IrqHandler_Loop757 ; CPU:$FB9F PRG:7B9F 90 2D lda $062D ; CPU:$FBA1 PRG:7BA1 AD 2D 06 clc ; CPU:$FBA4 PRG:7BA4 18 adc #$02 ; CPU:$FBA5 PRG:7BA5 69 02 cmp $0502 ; CPU:$FBA7 PRG:7BA7 CD 02 05 - bcs IrqHandler_Loop718 ; CPU:$FBAA PRG:7BAA B0 22 + bcs IrqHandler_Loop757 ; CPU:$FBAA PRG:7BAA B0 22 lda #$3C ; CPU:$FBAC PRG:7BAC A9 3C sta $07E0 ; CPU:$FBAE PRG:7BAE 8D E0 07 lda #$00 ; CPU:$FBB1 PRG:7BB1 A9 00 @@ -18021,7 +18960,7 @@ Sub_FB83: lda #$B4 ; CPU:$FBB6 PRG:7BB6 A9 B4 sta $0634 ; CPU:$FBB8 PRG:7BB8 8D 34 06 lda Zp05 ; CPU:$FBBB PRG:7BBB A5 05 - bne IrqHandler_Loop718 ; CPU:$FBBD PRG:7BBD D0 0F + bne IrqHandler_Loop757 ; CPU:$FBBD PRG:7BBD D0 0F lda #$00 ; CPU:$FBBF PRG:7BBF A9 00 sta $05A7 ; CPU:$FBC1 PRG:7BC1 8D A7 05 lda #$01 ; CPU:$FBC4 PRG:7BC4 A9 01 @@ -18029,14 +18968,14 @@ Sub_FB83: lda #$0D ; CPU:$FBC9 PRG:7BC9 A9 0D jsr Sub_E08B ; CPU:$FBCB PRG:7BCB 20 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop718 -; Global: Branch target inside IrqHandler: taken when Loop718. +; Routine: IrqHandler_Loop757 +; Global: Branch target inside IrqHandler: taken when Loop757. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop718: +IrqHandler_Loop757: rts ; CPU:$FBCE PRG:7BCE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FBCF @@ -18048,20 +18987,20 @@ IrqHandler_Loop718: ; ----------------------------------------------------------------------------- Sub_FBCF: lda $06AF ; CPU:$FBCF PRG:7BCF AD AF 06 - beq IrqHandler_Loop719 ; CPU:$FBD2 PRG:7BD2 F0 01 + beq IrqHandler_Loop758 ; CPU:$FBD2 PRG:7BD2 F0 01 rts ; CPU:$FBD4 PRG:7BD4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop719 -; Global: Branch target inside IrqHandler: taken when Loop719. +; Routine: IrqHandler_Loop758 +; Global: Branch target inside IrqHandler: taken when Loop758. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop719: - lda Zp4A ; CPU:$FBD5 PRG:7BD5 A5 4A +IrqHandler_Loop758: + lda DispatchPtrLo ; CPU:$FBD5 PRG:7BD5 A5 4A sta $06A9 ; CPU:$FBD7 PRG:7BD7 8D A9 06 - lda Zp4B ; CPU:$FBDA PRG:7BDA A5 4B + lda DispatchPtrHi ; CPU:$FBDA PRG:7BDA A5 4B sta $06AB ; CPU:$FBDC PRG:7BDC 8D AB 06 lda #$01 ; CPU:$FBDF PRG:7BDF A9 01 sta $06AF ; CPU:$FBE1 PRG:7BE1 8D AF 06 @@ -18076,56 +19015,56 @@ IrqHandler_Loop719: ; ----------------------------------------------------------------------------- Sub_FBE5: lda $06AF ; CPU:$FBE5 PRG:7BE5 AD AF 06 - bne IrqHandler_Loop720 ; CPU:$FBE8 PRG:7BE8 D0 01 + bne IrqHandler_Loop759 ; CPU:$FBE8 PRG:7BE8 D0 01 rts ; CPU:$FBEA PRG:7BEA 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop720 -; Global: Branch target inside IrqHandler: taken when Loop720. +; Routine: IrqHandler_Loop759 +; Global: Branch target inside IrqHandler: taken when Loop759. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop720: +IrqHandler_Loop759: lda $06AB ; CPU:$FBEB PRG:7BEB AD AB 06 cmp #$C0 ; CPU:$FBEE PRG:7BEE C9 C0 - bcc IrqHandler_Loop721 ; CPU:$FBF0 PRG:7BF0 90 03 + bcc IrqHandler_Loop760 ; CPU:$FBF0 PRG:7BF0 90 03 dec $06AB ; CPU:$FBF2 PRG:7BF2 CE AB 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop721 -; Global: Branch target inside IrqHandler: taken when Loop721. +; Routine: IrqHandler_Loop760 +; Global: Branch target inside IrqHandler: taken when Loop760. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop721: +IrqHandler_Loop760: lda $06AB ; CPU:$FBF5 PRG:7BF5 AD AB 06 cmp #$F8 ; CPU:$FBF8 PRG:7BF8 C9 F8 - bcc IrqHandler_Loop722 ; CPU:$FBFA PRG:7BFA 90 03 + bcc IrqHandler_Loop761 ; CPU:$FBFA PRG:7BFA 90 03 jmp Sub_FC12 ; CPU:$FBFC PRG:7BFC 4C 12 FC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop722 -; Global: Branch target inside IrqHandler: taken when Loop722. +; Routine: IrqHandler_Loop761 +; Global: Branch target inside IrqHandler: taken when Loop761. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop722: +IrqHandler_Loop761: cmp #$F0 ; CPU:$FBFF PRG:7BFF C9 F0 - bcc IrqHandler_Loop723 ; CPU:$FC01 PRG:7C01 90 06 + bcc IrqHandler_Loop762 ; CPU:$FC01 PRG:7C01 90 06 jsr Sub_FC12 ; CPU:$FC03 PRG:7C03 20 12 FC jmp Sub_FC40 ; CPU:$FC06 PRG:7C06 4C 40 FC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop723 -; Global: Branch target inside IrqHandler: taken when Loop723. +; Routine: IrqHandler_Loop762 +; Global: Branch target inside IrqHandler: taken when Loop762. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop723: +IrqHandler_Loop762: jsr Sub_FC12 ; CPU:$FC09 PRG:7C09 20 12 FC jsr Sub_FC40 ; CPU:$FC0C PRG:7C0C 20 40 FC jmp Sub_FC74 ; CPU:$FC0F PRG:7C0F 4C 74 FC @@ -18139,25 +19078,25 @@ IrqHandler_Loop723: ; ----------------------------------------------------------------------------- Sub_FC12: lda $06A9 ; CPU:$FC12 PRG:7C12 AD A9 06 - sta Zp19 ; CPU:$FC15 PRG:7C15 85 19 + sta PlayerXHigh ; CPU:$FC15 PRG:7C15 85 19 lda $06AB ; CPU:$FC17 PRG:7C17 AD AB 06 - sta Zp1C ; CPU:$FC1A PRG:7C1A 85 1C + sta PlayerYHigh ; CPU:$FC1A PRG:7C1A 85 1C lda #$0D ; CPU:$FC1C PRG:7C1C A9 0D - sta Zp1A ; CPU:$FC1E PRG:7C1E 85 1A + sta PlayerXLow ; CPU:$FC1E PRG:7C1E 85 1A lda #$03 ; CPU:$FC20 PRG:7C20 A9 03 - sta Zp1B ; CPU:$FC22 PRG:7C22 85 1B + sta PlayerYLow ; CPU:$FC22 PRG:7C22 85 1B jsr Sub_8221 ; CPU:$FC24 PRG:7C24 20 21 82 lda #$60 ; CPU:$FC27 PRG:7C27 A9 60 - sta Zp1A ; CPU:$FC29 PRG:7C29 85 1A + sta PlayerXLow ; CPU:$FC29 PRG:7C29 85 1A lda #$01 ; CPU:$FC2B PRG:7C2B A9 01 - sta Zp1B ; CPU:$FC2D PRG:7C2D 85 1B + sta PlayerYLow ; CPU:$FC2D PRG:7C2D 85 1B jsr Sub_8221 ; CPU:$FC2F PRG:7C2F 20 21 82 - lda Zp19 ; CPU:$FC32 PRG:7C32 A5 19 + lda PlayerXHigh ; CPU:$FC32 PRG:7C32 A5 19 clc ; CPU:$FC34 PRG:7C34 18 adc #$08 ; CPU:$FC35 PRG:7C35 69 08 - sta Zp19 ; CPU:$FC37 PRG:7C37 85 19 + sta PlayerXHigh ; CPU:$FC37 PRG:7C37 85 19 lda #$71 ; CPU:$FC39 PRG:7C39 A9 71 - sta Zp1A ; CPU:$FC3B PRG:7C3B 85 1A + sta PlayerXLow ; CPU:$FC3B PRG:7C3B 85 1A jmp Sub_8221 ; CPU:$FC3D PRG:7C3D 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FC40 @@ -18169,29 +19108,29 @@ Sub_FC12: ; ----------------------------------------------------------------------------- Sub_FC40: lda $06A9 ; CPU:$FC40 PRG:7C40 AD A9 06 - sta Zp19 ; CPU:$FC43 PRG:7C43 85 19 + sta PlayerXHigh ; CPU:$FC43 PRG:7C43 85 19 lda $06AB ; CPU:$FC45 PRG:7C45 AD AB 06 clc ; CPU:$FC48 PRG:7C48 18 adc #$08 ; CPU:$FC49 PRG:7C49 69 08 - sta Zp1C ; CPU:$FC4B PRG:7C4B 85 1C + sta PlayerYHigh ; CPU:$FC4B PRG:7C4B 85 1C lda #$0E ; CPU:$FC4D PRG:7C4D A9 0E - sta Zp1A ; CPU:$FC4F PRG:7C4F 85 1A + sta PlayerXLow ; CPU:$FC4F PRG:7C4F 85 1A lda #$03 ; CPU:$FC51 PRG:7C51 A9 03 - sta Zp1B ; CPU:$FC53 PRG:7C53 85 1B + sta PlayerYLow ; CPU:$FC53 PRG:7C53 85 1B jsr Sub_8221 ; CPU:$FC55 PRG:7C55 20 21 82 - lda Zp19 ; CPU:$FC58 PRG:7C58 A5 19 + lda PlayerXHigh ; CPU:$FC58 PRG:7C58 A5 19 clc ; CPU:$FC5A PRG:7C5A 18 adc #$08 ; CPU:$FC5B PRG:7C5B 69 08 - sta Zp19 ; CPU:$FC5D PRG:7C5D 85 19 + sta PlayerXHigh ; CPU:$FC5D PRG:7C5D 85 19 lda #$1E ; CPU:$FC5F PRG:7C5F A9 1E - sta Zp1A ; CPU:$FC61 PRG:7C61 85 1A + sta PlayerXLow ; CPU:$FC61 PRG:7C61 85 1A jsr Sub_8221 ; CPU:$FC63 PRG:7C63 20 21 82 - lda Zp19 ; CPU:$FC66 PRG:7C66 A5 19 + lda PlayerXHigh ; CPU:$FC66 PRG:7C66 A5 19 clc ; CPU:$FC68 PRG:7C68 18 adc #$08 ; CPU:$FC69 PRG:7C69 69 08 - sta Zp19 ; CPU:$FC6B PRG:7C6B 85 19 + sta PlayerXHigh ; CPU:$FC6B PRG:7C6B 85 19 lda #$2E ; CPU:$FC6D PRG:7C6D A9 2E - sta Zp1A ; CPU:$FC6F PRG:7C6F 85 1A + sta PlayerXLow ; CPU:$FC6F PRG:7C6F 85 1A jmp Sub_8221 ; CPU:$FC71 PRG:7C71 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FC74 @@ -18203,46 +19142,46 @@ Sub_FC40: ; ----------------------------------------------------------------------------- Sub_FC74: lda $06A9 ; CPU:$FC74 PRG:7C74 AD A9 06 - sta Zp19 ; CPU:$FC77 PRG:7C77 85 19 + sta PlayerXHigh ; CPU:$FC77 PRG:7C77 85 19 lda $06AB ; CPU:$FC79 PRG:7C79 AD AB 06 clc ; CPU:$FC7C PRG:7C7C 18 adc #$10 ; CPU:$FC7D PRG:7C7D 69 10 - sta Zp1C ; CPU:$FC7F PRG:7C7F 85 1C + sta PlayerYHigh ; CPU:$FC7F PRG:7C7F 85 1C lda #$0F ; CPU:$FC81 PRG:7C81 A9 0F - sta Zp1A ; CPU:$FC83 PRG:7C83 85 1A + sta PlayerXLow ; CPU:$FC83 PRG:7C83 85 1A lda #$03 ; CPU:$FC85 PRG:7C85 A9 03 - sta Zp1B ; CPU:$FC87 PRG:7C87 85 1B + sta PlayerYLow ; CPU:$FC87 PRG:7C87 85 1B jsr Sub_8221 ; CPU:$FC89 PRG:7C89 20 21 82 lda $06D1 ; CPU:$FC8C PRG:7C8C AD D1 06 cmp #$0C ; CPU:$FC8F PRG:7C8F C9 0C - bcs IrqHandler_Loop724 ; CPU:$FC91 PRG:7C91 B0 06 + bcs IrqHandler_Loop763 ; CPU:$FC91 PRG:7C91 B0 06 lda #$2F ; CPU:$FC93 PRG:7C93 A9 2F - sta Zp1A ; CPU:$FC95 PRG:7C95 85 1A - bne IrqHandler_Loop725 ; CPU:$FC97 PRG:7C97 D0 04 + sta PlayerXLow ; CPU:$FC95 PRG:7C95 85 1A + bne IrqHandler_Loop764 ; CPU:$FC97 PRG:7C97 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop724 -; Global: Branch target inside IrqHandler: taken when Loop724. +; Routine: IrqHandler_Loop763 +; Global: Branch target inside IrqHandler: taken when Loop763. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop724: +IrqHandler_Loop763: lda #$1F ; CPU:$FC99 PRG:7C99 A9 1F - sta Zp1A ; CPU:$FC9B PRG:7C9B 85 1A + sta PlayerXLow ; CPU:$FC9B PRG:7C9B 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop725 -; Global: Branch target inside IrqHandler: taken when Loop725. +; Routine: IrqHandler_Loop764 +; Global: Branch target inside IrqHandler: taken when Loop764. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop725: - lda Zp19 ; CPU:$FC9D PRG:7C9D A5 19 +IrqHandler_Loop764: + lda PlayerXHigh ; CPU:$FC9D PRG:7C9D A5 19 clc ; CPU:$FC9F PRG:7C9F 18 adc #$10 ; CPU:$FCA0 PRG:7CA0 69 10 - sta Zp19 ; CPU:$FCA2 PRG:7CA2 85 19 + sta PlayerXHigh ; CPU:$FCA2 PRG:7CA2 85 19 jmp Sub_8221 ; CPU:$FCA4 PRG:7CA4 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCA7 @@ -18255,36 +19194,36 @@ IrqHandler_Loop725: Sub_FCA7: ldx #$14 ; CPU:$FCA7 PRG:7CA7 A2 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative20 -; Global: Branch target inside IrqHandler: taken when OnNonnegative20. +; Routine: IrqHandler_OnNonnegative22 +; Global: Branch target inside IrqHandler: taken when OnNonnegative22. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative20: +IrqHandler_OnNonnegative22: lda $0611,x ; CPU:$FCA9 PRG:7CA9 BD 11 06 - beq IrqHandler_Loop726 ; CPU:$FCAC PRG:7CAC F0 08 + beq IrqHandler_Loop765 ; CPU:$FCAC PRG:7CAC F0 08 txa ; CPU:$FCAE PRG:7CAE 8A sec ; CPU:$FCAF PRG:7CAF 38 sbc #$05 ; CPU:$FCB0 PRG:7CB0 E9 05 tax ; CPU:$FCB2 PRG:7CB2 AA - bpl IrqHandler_OnNonnegative20 ; CPU:$FCB3 PRG:7CB3 10 F4 + bpl IrqHandler_OnNonnegative22 ; CPU:$FCB3 PRG:7CB3 10 F4 rts ; CPU:$FCB5 PRG:7CB5 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop726 -; Global: Branch target inside IrqHandler: taken when Loop726. +; Routine: IrqHandler_Loop765 +; Global: Branch target inside IrqHandler: taken when Loop765. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop726: +IrqHandler_Loop765: lda #$D8 ; CPU:$FCB6 PRG:7CB6 A9 D8 sta $060E,x ; CPU:$FCB8 PRG:7CB8 9D 0E 06 - lda Zp4A ; CPU:$FCBB PRG:7CBB A5 4A + lda DispatchPtrLo ; CPU:$FCBB PRG:7CBB A5 4A sta $0610,x ; CPU:$FCBD PRG:7CBD 9D 10 06 - lda Zp4B ; CPU:$FCC0 PRG:7CC0 A5 4B + lda DispatchPtrHi ; CPU:$FCC0 PRG:7CC0 A5 4B sta $0611,x ; CPU:$FCC2 PRG:7CC2 9D 11 06 lda #$00 ; CPU:$FCC5 PRG:7CC5 A9 00 sta $060F,x ; CPU:$FCC7 PRG:7CC7 9D 0F 06 @@ -18302,31 +19241,31 @@ IrqHandler_Loop726: Sub_FCD0: ldx #$14 ; CPU:$FCD0 PRG:7CD0 A2 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative21 -; Global: Branch target inside IrqHandler: taken when OnNonnegative21. +; Routine: IrqHandler_OnNonnegative23 +; Global: Branch target inside IrqHandler: taken when OnNonnegative23. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative21: +IrqHandler_OnNonnegative23: lda $0611,x ; CPU:$FCD2 PRG:7CD2 BD 11 06 - beq IrqHandler_Loop727 ; CPU:$FCD5 PRG:7CD5 F0 03 + beq IrqHandler_Loop766 ; CPU:$FCD5 PRG:7CD5 F0 03 jsr Sub_FCE2 ; CPU:$FCD7 PRG:7CD7 20 E2 FC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop727 -; Global: Branch target inside IrqHandler: taken when Loop727. +; Routine: IrqHandler_Loop766 +; Global: Branch target inside IrqHandler: taken when Loop766. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop727: +IrqHandler_Loop766: txa ; CPU:$FCDA PRG:7CDA 8A sec ; CPU:$FCDB PRG:7CDB 38 sbc #$05 ; CPU:$FCDC PRG:7CDC E9 05 tax ; CPU:$FCDE PRG:7CDE AA - bpl IrqHandler_OnNonnegative21 ; CPU:$FCDF PRG:7CDF 10 F1 + bpl IrqHandler_OnNonnegative23 ; CPU:$FCDF PRG:7CDF 10 F1 rts ; CPU:$FCE1 PRG:7CE1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCE2 @@ -18339,117 +19278,117 @@ IrqHandler_Loop727: Sub_FCE2: lda $0612,x ; CPU:$FCE2 PRG:7CE2 BD 12 06 cmp #$02 ; CPU:$FCE5 PRG:7CE5 C9 02 - bne IrqHandler_Loop729 ; CPU:$FCE7 PRG:7CE7 D0 13 + bne IrqHandler_Loop768 ; CPU:$FCE7 PRG:7CE7 D0 13 lda $060F,x ; CPU:$FCE9 PRG:7CE9 BD 0F 06 - beq IrqHandler_Loop728 ; CPU:$FCEC PRG:7CEC F0 06 + beq IrqHandler_Loop767 ; CPU:$FCEC PRG:7CEC F0 06 dec $060F,x ; CPU:$FCEE PRG:7CEE DE 0F 06 - jmp IrqHandler_Loop732 ; CPU:$FCF1 PRG:7CF1 4C 36 FD + jmp IrqHandler_Loop771 ; CPU:$FCF1 PRG:7CF1 4C 36 FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop728 -; Global: Branch target inside IrqHandler: taken when Loop728. +; Routine: IrqHandler_Loop767 +; Global: Branch target inside IrqHandler: taken when Loop767. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop728: +IrqHandler_Loop767: lda #$03 ; CPU:$FCF4 PRG:7CF4 A9 03 sta $0612,x ; CPU:$FCF6 PRG:7CF6 9D 12 06 - jmp IrqHandler_Loop732 ; CPU:$FCF9 PRG:7CF9 4C 36 FD + jmp IrqHandler_Loop771 ; CPU:$FCF9 PRG:7CF9 4C 36 FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop729 -; Global: Branch target inside IrqHandler: taken when Loop729. +; Routine: IrqHandler_Loop768 +; Global: Branch target inside IrqHandler: taken when Loop768. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop729: +IrqHandler_Loop768: lda $0611,x ; CPU:$FCFC PRG:7CFC BD 11 06 and #$0F ; CPU:$FCFF PRG:7CFF 29 0F cmp #$04 ; CPU:$FD01 PRG:7D01 C9 04 - beq IrqHandler_Loop730 ; CPU:$FD03 PRG:7D03 F0 06 + beq IrqHandler_Loop769 ; CPU:$FD03 PRG:7D03 F0 06 dec $060E,x ; CPU:$FD05 PRG:7D05 DE 0E 06 dec $060E,x ; CPU:$FD08 PRG:7D08 DE 0E 06 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop730 -; Global: Branch target inside IrqHandler: taken when Loop730. +; Routine: IrqHandler_Loop769 +; Global: Branch target inside IrqHandler: taken when Loop769. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop730: +IrqHandler_Loop769: dec $060E,x ; CPU:$FD0B PRG:7D0B DE 0E 06 lda $0612,x ; CPU:$FD0E PRG:7D0E BD 12 06 cmp #$01 ; CPU:$FD11 PRG:7D11 C9 01 - bne IrqHandler_Loop731 ; CPU:$FD13 PRG:7D13 D0 14 + bne IrqHandler_Loop770 ; CPU:$FD13 PRG:7D13 D0 14 lda $060E,x ; CPU:$FD15 PRG:7D15 BD 0E 06 cmp #$C8 ; CPU:$FD18 PRG:7D18 C9 C8 - bcs IrqHandler_Loop731 ; CPU:$FD1A PRG:7D1A B0 0D + bcs IrqHandler_Loop770 ; CPU:$FD1A PRG:7D1A B0 0D lda #$1E ; CPU:$FD1C PRG:7D1C A9 1E sta $060F,x ; CPU:$FD1E PRG:7D1E 9D 0F 06 lda #$02 ; CPU:$FD21 PRG:7D21 A9 02 sta $0612,x ; CPU:$FD23 PRG:7D23 9D 12 06 - jmp IrqHandler_Loop732 ; CPU:$FD26 PRG:7D26 4C 36 FD + jmp IrqHandler_Loop771 ; CPU:$FD26 PRG:7D26 4C 36 FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop731 -; Global: Branch target inside IrqHandler: taken when Loop731. +; Routine: IrqHandler_Loop770 +; Global: Branch target inside IrqHandler: taken when Loop770. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop731: +IrqHandler_Loop770: lda $060E,x ; CPU:$FD29 PRG:7D29 BD 0E 06 cmp #$08 ; CPU:$FD2C PRG:7D2C C9 08 - bcs IrqHandler_Loop732 ; CPU:$FD2E PRG:7D2E B0 06 + bcs IrqHandler_Loop771 ; CPU:$FD2E PRG:7D2E B0 06 lda #$00 ; CPU:$FD30 PRG:7D30 A9 00 sta $0611,x ; CPU:$FD32 PRG:7D32 9D 11 06 rts ; CPU:$FD35 PRG:7D35 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop732 -; Global: Branch target inside IrqHandler: taken when Loop732. +; Routine: IrqHandler_Loop771 +; Global: Branch target inside IrqHandler: taken when Loop771. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop732: +IrqHandler_Loop771: lda Zp05 ; CPU:$FD36 PRG:7D36 A5 05 - beq IrqHandler_Loop733 ; CPU:$FD38 PRG:7D38 F0 08 + beq IrqHandler_Loop772 ; CPU:$FD38 PRG:7D38 F0 08 lda $07E9 ; CPU:$FD3A PRG:7D3A AD E9 07 - beq IrqHandler_Loop733 ; CPU:$FD3D PRG:7D3D F0 03 - jmp IrqHandler_Loop734 ; CPU:$FD3F PRG:7D3F 4C 7C FD + beq IrqHandler_Loop772 ; CPU:$FD3D PRG:7D3D F0 03 + jmp IrqHandler_Loop773 ; CPU:$FD3F PRG:7D3F 4C 7C FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop733 -; Global: Branch target inside IrqHandler: taken when Loop733. +; Routine: IrqHandler_Loop772 +; Global: Branch target inside IrqHandler: taken when Loop772. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop733: +IrqHandler_Loop772: lda $0610,x ; CPU:$FD42 PRG:7D42 BD 10 06 sec ; CPU:$FD45 PRG:7D45 38 sbc #$14 ; CPU:$FD46 PRG:7D46 E9 14 cmp $0501 ; CPU:$FD48 PRG:7D48 CD 01 05 - bcs IrqHandler_Loop734 ; CPU:$FD4B PRG:7D4B B0 2F + bcs IrqHandler_Loop773 ; CPU:$FD4B PRG:7D4B B0 2F lda $0610,x ; CPU:$FD4D PRG:7D4D BD 10 06 clc ; CPU:$FD50 PRG:7D50 18 adc #$04 ; CPU:$FD51 PRG:7D51 69 04 cmp $0501 ; CPU:$FD53 PRG:7D53 CD 01 05 - bcc IrqHandler_Loop734 ; CPU:$FD56 PRG:7D56 90 24 + bcc IrqHandler_Loop773 ; CPU:$FD56 PRG:7D56 90 24 lda $060E,x ; CPU:$FD58 PRG:7D58 BD 0E 06 sec ; CPU:$FD5B PRG:7D5B 38 sbc #$04 ; CPU:$FD5C PRG:7D5C E9 04 cmp $0502 ; CPU:$FD5E PRG:7D5E CD 02 05 - bcs IrqHandler_Loop734 ; CPU:$FD61 PRG:7D61 B0 19 + bcs IrqHandler_Loop773 ; CPU:$FD61 PRG:7D61 B0 19 lda $060E,x ; CPU:$FD63 PRG:7D63 BD 0E 06 clc ; CPU:$FD66 PRG:7D66 18 adc #$10 ; CPU:$FD67 PRG:7D67 69 10 cmp $0502 ; CPU:$FD69 PRG:7D69 CD 02 05 - bcc IrqHandler_Loop734 ; CPU:$FD6C PRG:7D6C 90 0E + bcc IrqHandler_Loop773 ; CPU:$FD6C PRG:7D6C 90 0E lda #$0D ; CPU:$FD6E PRG:7D6E A9 0D jsr Sub_E08B ; CPU:$FD70 PRG:7D70 20 8B E0 lda #$00 ; CPU:$FD73 PRG:7D73 A9 00 @@ -18457,41 +19396,41 @@ IrqHandler_Loop733: inc $07E9 ; CPU:$FD78 PRG:7D78 EE E9 07 rts ; CPU:$FD7B PRG:7D7B 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop734 -; Global: Branch target inside IrqHandler: taken when Loop734. +; Routine: IrqHandler_Loop773 +; Global: Branch target inside IrqHandler: taken when Loop773. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop734: +IrqHandler_Loop773: ldy #$10 ; CPU:$FD7C PRG:7D7C A0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonnegative22 -; Global: Branch target inside IrqHandler: taken when OnNonnegative22. +; Routine: IrqHandler_OnNonnegative24 +; Global: Branch target inside IrqHandler: taken when OnNonnegative24. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonnegative22: +IrqHandler_OnNonnegative24: lda $0521,y ; CPU:$FD7E PRG:7D7E B9 21 05 - beq IrqHandler_Loop735 ; CPU:$FD81 PRG:7D81 F0 03 + beq IrqHandler_Loop774 ; CPU:$FD81 PRG:7D81 F0 03 jsr Sub_FD90 ; CPU:$FD83 PRG:7D83 20 90 FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop735 -; Global: Branch target inside IrqHandler: taken when Loop735. +; Routine: IrqHandler_Loop774 +; Global: Branch target inside IrqHandler: taken when Loop774. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop735: +IrqHandler_Loop774: tya ; CPU:$FD86 PRG:7D86 98 sec ; CPU:$FD87 PRG:7D87 38 sbc #$08 ; CPU:$FD88 PRG:7D88 E9 08 tay ; CPU:$FD8A PRG:7D8A A8 - bpl IrqHandler_OnNonnegative22 ; CPU:$FD8B PRG:7D8B 10 F1 + bpl IrqHandler_OnNonnegative24 ; CPU:$FD8B PRG:7D8B 10 F1 jmp Sub_FDC4 ; CPU:$FD8D PRG:7D8D 4C C4 FD ; ----------------------------------------------------------------------------- ; Routine: Sub_FD90 @@ -18504,35 +19443,35 @@ IrqHandler_Loop735: Sub_FD90: lda $060E,x ; CPU:$FD90 PRG:7D90 BD 0E 06 cmp $051B,y ; CPU:$FD93 PRG:7D93 D9 1B 05 - bcs IrqHandler_Loop736 ; CPU:$FD96 PRG:7D96 B0 2B + bcs IrqHandler_Loop775 ; CPU:$FD96 PRG:7D96 B0 2B lda $060E,x ; CPU:$FD98 PRG:7D98 BD 0E 06 clc ; CPU:$FD9B PRG:7D9B 18 adc #$08 ; CPU:$FD9C PRG:7D9C 69 08 cmp $051B,y ; CPU:$FD9E PRG:7D9E D9 1B 05 - bcc IrqHandler_Loop736 ; CPU:$FDA1 PRG:7DA1 90 20 + bcc IrqHandler_Loop775 ; CPU:$FDA1 PRG:7DA1 90 20 lda $0610,x ; CPU:$FDA3 PRG:7DA3 BD 10 06 sec ; CPU:$FDA6 PRG:7DA6 38 sbc #$08 ; CPU:$FDA7 PRG:7DA7 E9 08 cmp $051D,y ; CPU:$FDA9 PRG:7DA9 D9 1D 05 - bcs IrqHandler_Loop736 ; CPU:$FDAC PRG:7DAC B0 15 + bcs IrqHandler_Loop775 ; CPU:$FDAC PRG:7DAC B0 15 lda $0610,x ; CPU:$FDAE PRG:7DAE BD 10 06 clc ; CPU:$FDB1 PRG:7DB1 18 adc #$08 ; CPU:$FDB2 PRG:7DB2 69 08 cmp $051D,y ; CPU:$FDB4 PRG:7DB4 D9 1D 05 - bcc IrqHandler_Loop736 ; CPU:$FDB7 PRG:7DB7 90 0A + bcc IrqHandler_Loop775 ; CPU:$FDB7 PRG:7DB7 90 0A lda #$00 ; CPU:$FDB9 PRG:7DB9 A9 00 sta $0521,y ; CPU:$FDBB PRG:7DBB 99 21 05 lda #$0A ; CPU:$FDBE PRG:7DBE A9 0A jmp Sub_E08B ; CPU:$FDC0 PRG:7DC0 4C 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop736 -; Global: Branch target inside IrqHandler: taken when Loop736. +; Routine: IrqHandler_Loop775 +; Global: Branch target inside IrqHandler: taken when Loop775. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop736: +IrqHandler_Loop775: rts ; CPU:$FDC3 PRG:7DC3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDC4 @@ -18544,25 +19483,25 @@ IrqHandler_Loop736: ; ----------------------------------------------------------------------------- Sub_FDC4: lda $057D ; CPU:$FDC4 PRG:7DC4 AD 7D 05 - beq IrqHandler_Loop737 ; CPU:$FDC7 PRG:7DC7 F0 45 + beq IrqHandler_Loop776 ; CPU:$FDC7 PRG:7DC7 F0 45 lda $0610,x ; CPU:$FDC9 PRG:7DC9 BD 10 06 sec ; CPU:$FDCC PRG:7DCC 38 sbc #$08 ; CPU:$FDCD PRG:7DCD E9 08 cmp $0579 ; CPU:$FDCF PRG:7DCF CD 79 05 - bcs IrqHandler_Loop737 ; CPU:$FDD2 PRG:7DD2 B0 3A + bcs IrqHandler_Loop776 ; CPU:$FDD2 PRG:7DD2 B0 3A lda $0610,x ; CPU:$FDD4 PRG:7DD4 BD 10 06 clc ; CPU:$FDD7 PRG:7DD7 18 adc #$06 ; CPU:$FDD8 PRG:7DD8 69 06 cmp $0579 ; CPU:$FDDA PRG:7DDA CD 79 05 - bcc IrqHandler_Loop737 ; CPU:$FDDD PRG:7DDD 90 2F + bcc IrqHandler_Loop776 ; CPU:$FDDD PRG:7DDD 90 2F lda $060E,x ; CPU:$FDDF PRG:7DDF BD 0E 06 cmp $0577 ; CPU:$FDE2 PRG:7DE2 CD 77 05 - bcs IrqHandler_Loop737 ; CPU:$FDE5 PRG:7DE5 B0 27 + bcs IrqHandler_Loop776 ; CPU:$FDE5 PRG:7DE5 B0 27 lda $060E,x ; CPU:$FDE7 PRG:7DE7 BD 0E 06 clc ; CPU:$FDEA PRG:7DEA 18 adc #$08 ; CPU:$FDEB PRG:7DEB 69 08 cmp $0577 ; CPU:$FDED PRG:7DED CD 77 05 - bcc IrqHandler_Loop737 ; CPU:$FDF0 PRG:7DF0 90 1C + bcc IrqHandler_Loop776 ; CPU:$FDF0 PRG:7DF0 90 1C lda #$00 ; CPU:$FDF2 PRG:7DF2 A9 00 sta $057D ; CPU:$FDF4 PRG:7DF4 8D 7D 05 lda $0610,x ; CPU:$FDF7 PRG:7DF7 BD 10 06 @@ -18576,53 +19515,53 @@ Sub_FDC4: lda #$13 ; CPU:$FE09 PRG:7E09 A9 13 jsr Sub_E08B ; CPU:$FE0B PRG:7E0B 20 8B E0 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop737 -; Global: Branch target inside IrqHandler: taken when Loop737. +; Routine: IrqHandler_Loop776 +; Global: Branch target inside IrqHandler: taken when Loop776. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop737: +IrqHandler_Loop776: lda $0612,x ; CPU:$FE0E PRG:7E0E BD 12 06 cmp #$03 ; CPU:$FE11 PRG:7E11 C9 03 - bne IrqHandler_Loop738 ; CPU:$FE13 PRG:7E13 D0 06 + bne IrqHandler_Loop777 ; CPU:$FE13 PRG:7E13 D0 06 lda #$23 ; CPU:$FE15 PRG:7E15 A9 23 - sta Zp1B ; CPU:$FE17 PRG:7E17 85 1B - bne IrqHandler_Loop739 ; CPU:$FE19 PRG:7E19 D0 04 + sta PlayerYLow ; CPU:$FE17 PRG:7E17 85 1B + bne IrqHandler_Loop778 ; CPU:$FE19 PRG:7E19 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop738 -; Global: Branch target inside IrqHandler: taken when Loop738. +; Routine: IrqHandler_Loop777 +; Global: Branch target inside IrqHandler: taken when Loop777. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop738: +IrqHandler_Loop777: lda #$21 ; CPU:$FE1B PRG:7E1B A9 21 - sta Zp1B ; CPU:$FE1D PRG:7E1D 85 1B + sta PlayerYLow ; CPU:$FE1D PRG:7E1D 85 1B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop739 -; Global: Branch target inside IrqHandler: taken when Loop739. +; Routine: IrqHandler_Loop778 +; Global: Branch target inside IrqHandler: taken when Loop778. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop739: +IrqHandler_Loop778: lda $060E,x ; CPU:$FE1F PRG:7E1F BD 0E 06 - sta Zp19 ; CPU:$FE22 PRG:7E22 85 19 + sta PlayerXHigh ; CPU:$FE22 PRG:7E22 85 19 lda $0610,x ; CPU:$FE24 PRG:7E24 BD 10 06 - sta Zp1C ; CPU:$FE27 PRG:7E27 85 1C + sta PlayerYHigh ; CPU:$FE27 PRG:7E27 85 1C lda #$BF ; CPU:$FE29 PRG:7E29 A9 BF - sta Zp1A ; CPU:$FE2B PRG:7E2B 85 1A + sta PlayerXLow ; CPU:$FE2B PRG:7E2B 85 1A jsr Sub_8221 ; CPU:$FE2D PRG:7E2D 20 21 82 - lda Zp19 ; CPU:$FE30 PRG:7E30 A5 19 + lda PlayerXHigh ; CPU:$FE30 PRG:7E30 A5 19 clc ; CPU:$FE32 PRG:7E32 18 adc #$08 ; CPU:$FE33 PRG:7E33 69 08 - sta Zp19 ; CPU:$FE35 PRG:7E35 85 19 + sta PlayerXHigh ; CPU:$FE35 PRG:7E35 85 19 lda #$CF ; CPU:$FE37 PRG:7E37 A9 CF - sta Zp1A ; CPU:$FE39 PRG:7E39 85 1A + sta PlayerXLow ; CPU:$FE39 PRG:7E39 85 1A jmp Sub_8221 ; CPU:$FE3B PRG:7E3B 4C 21 82 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE3E @@ -18668,118 +19607,118 @@ Sub_FE58: beq IrqHandler_OnZero13 ; CPU:$FE60 PRG:7E60 F0 F5 lda $046C ; CPU:$FE62 PRG:7E62 AD 6C 04 cmp #$0A ; CPU:$FE65 PRG:7E65 C9 0A - beq IrqHandler_Loop741 ; CPU:$FE67 PRG:7E67 F0 26 + beq IrqHandler_Loop780 ; CPU:$FE67 PRG:7E67 F0 26 cmp #$1E ; CPU:$FE69 PRG:7E69 C9 1E - beq IrqHandler_Loop741 ; CPU:$FE6B PRG:7E6B F0 22 + beq IrqHandler_Loop780 ; CPU:$FE6B PRG:7E6B F0 22 lda $057D ; CPU:$FE6D PRG:7E6D AD 7D 05 - beq IrqHandler_Loop740 ; CPU:$FE70 PRG:7E70 F0 11 + beq IrqHandler_Loop779 ; CPU:$FE70 PRG:7E70 F0 11 lda $0577 ; CPU:$FE72 PRG:7E72 AD 77 05 cmp #$C0 ; CPU:$FE75 PRG:7E75 C9 C0 - bcc IrqHandler_Loop740 ; CPU:$FE77 PRG:7E77 90 0A + bcc IrqHandler_Loop779 ; CPU:$FE77 PRG:7E77 90 0A lda $046D ; CPU:$FE79 PRG:7E79 AD 6D 04 sbc $0579 ; CPU:$FE7C PRG:7E7C ED 79 05 cmp #$10 ; CPU:$FE7F PRG:7E7F C9 10 - bcc IrqHandler_Loop741 ; CPU:$FE81 PRG:7E81 90 0C + bcc IrqHandler_Loop780 ; CPU:$FE81 PRG:7E81 90 0C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop740 -; Global: Branch target inside IrqHandler: taken when Loop740. +; Routine: IrqHandler_Loop779 +; Global: Branch target inside IrqHandler: taken when Loop779. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop740: +IrqHandler_Loop779: dec $046D ; CPU:$FE83 PRG:7E83 CE 6D 04 - lda Zp54 ; CPU:$FE86 PRG:7E86 A5 54 + lda FrameCounter ; CPU:$FE86 PRG:7E86 A5 54 and #$03 ; CPU:$FE88 PRG:7E88 29 03 - bne IrqHandler_Loop741 ; CPU:$FE8A PRG:7E8A D0 03 + bne IrqHandler_Loop780 ; CPU:$FE8A PRG:7E8A D0 03 inc $046D ; CPU:$FE8C PRG:7E8C EE 6D 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop741 -; Global: Branch target inside IrqHandler: taken when Loop741. +; Routine: IrqHandler_Loop780 +; Global: Branch target inside IrqHandler: taken when Loop780. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop741: +IrqHandler_Loop780: lda $046D ; CPU:$FE8F PRG:7E8F AD 6D 04 cmp #$04 ; CPU:$FE92 PRG:7E92 C9 04 - bcs IrqHandler_Loop742 ; CPU:$FE94 PRG:7E94 B0 06 + bcs IrqHandler_Loop781 ; CPU:$FE94 PRG:7E94 B0 06 lda #$00 ; CPU:$FE96 PRG:7E96 A9 00 sta $0471 ; CPU:$FE98 PRG:7E98 8D 71 04 rts ; CPU:$FE9B PRG:7E9B 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop742 -; Global: Branch target inside IrqHandler: taken when Loop742. +; Routine: IrqHandler_Loop781 +; Global: Branch target inside IrqHandler: taken when Loop781. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop742: +IrqHandler_Loop781: lda $0501 ; CPU:$FE9C PRG:7E9C AD 01 05 clc ; CPU:$FE9F PRG:7E9F 18 adc #$02 ; CPU:$FEA0 PRG:7EA0 69 02 cmp $046D ; CPU:$FEA2 PRG:7EA2 CD 6D 04 - bcs IrqHandler_Loop747 ; CPU:$FEA5 PRG:7EA5 B0 71 + bcs IrqHandler_Loop786 ; CPU:$FEA5 PRG:7EA5 B0 71 lda $0501 ; CPU:$FEA7 PRG:7EA7 AD 01 05 clc ; CPU:$FEAA PRG:7EAA 18 adc #$0C ; CPU:$FEAB PRG:7EAB 69 0C cmp $046D ; CPU:$FEAD PRG:7EAD CD 6D 04 - bcc IrqHandler_Loop747 ; CPU:$FEB0 PRG:7EB0 90 66 + bcc IrqHandler_Loop786 ; CPU:$FEB0 PRG:7EB0 90 66 lda $0502 ; CPU:$FEB2 PRG:7EB2 AD 02 05 sec ; CPU:$FEB5 PRG:7EB5 38 sbc #$0E ; CPU:$FEB6 PRG:7EB6 E9 0E cmp $046B ; CPU:$FEB8 PRG:7EB8 CD 6B 04 - bcs IrqHandler_Loop747 ; CPU:$FEBB PRG:7EBB B0 5B + bcs IrqHandler_Loop786 ; CPU:$FEBB PRG:7EBB B0 5B lda $0502 ; CPU:$FEBD PRG:7EBD AD 02 05 clc ; CPU:$FEC0 PRG:7EC0 18 adc #$06 ; CPU:$FEC1 PRG:7EC1 69 06 cmp $046B ; CPU:$FEC3 PRG:7EC3 CD 6B 04 - bcc IrqHandler_Loop747 ; CPU:$FEC6 PRG:7EC6 90 50 + bcc IrqHandler_Loop786 ; CPU:$FEC6 PRG:7EC6 90 50 lda $046C ; CPU:$FEC8 PRG:7EC8 AD 6C 04 cmp #$0A ; CPU:$FECB PRG:7ECB C9 0A - beq IrqHandler_Loop745 ; CPU:$FECD PRG:7ECD F0 1A + beq IrqHandler_Loop784 ; CPU:$FECD PRG:7ECD F0 1A cmp #$1E ; CPU:$FECF PRG:7ECF C9 1E - beq IrqHandler_Loop744 ; CPU:$FED1 PRG:7ED1 F0 12 + beq IrqHandler_Loop783 ; CPU:$FED1 PRG:7ED1 F0 12 lda Zp05 ; CPU:$FED3 PRG:7ED3 A5 05 - bne IrqHandler_Loop743 ; CPU:$FED5 PRG:7ED5 D0 0D + bne IrqHandler_Loop782 ; CPU:$FED5 PRG:7ED5 D0 0D lda #$0D ; CPU:$FED7 PRG:7ED7 A9 0D jsr Sub_E08B ; CPU:$FED9 PRG:7ED9 20 8B E0 inc $07E9 ; CPU:$FEDC PRG:7EDC EE E9 07 lda #$00 ; CPU:$FEDF PRG:7EDF A9 00 sta $0471 ; CPU:$FEE1 PRG:7EE1 8D 71 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop743 -; Global: Branch target inside IrqHandler: taken when Loop743. +; Routine: IrqHandler_Loop782 +; Global: Branch target inside IrqHandler: taken when Loop782. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop743: +IrqHandler_Loop782: rts ; CPU:$FEE4 PRG:7EE4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop744 -; Global: Branch target inside IrqHandler: taken when Loop744. +; Routine: IrqHandler_Loop783 +; Global: Branch target inside IrqHandler: taken when Loop783. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop744: +IrqHandler_Loop783: inc Zp2F ; CPU:$FEE5 PRG:7EE5 E6 2F inc Zp2F ; CPU:$FEE7 PRG:7EE7 E6 2F ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop745 -; Global: Branch target inside IrqHandler: taken when Loop745. +; Routine: IrqHandler_Loop784 +; Global: Branch target inside IrqHandler: taken when Loop784. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop745: +IrqHandler_Loop784: inc Zp2F ; CPU:$FEE9 PRG:7EE9 E6 2F lda #$17 ; CPU:$FEEB PRG:7EEB A9 17 jsr Sub_DC19 ; CPU:$FEED PRG:7EED 20 19 DC @@ -18791,55 +19730,55 @@ IrqHandler_Loop745: sta $05AA ; CPU:$FEFC PRG:7EFC 8D AA 05 lda $046C ; CPU:$FEFF PRG:7EFF AD 6C 04 cmp #$1E ; CPU:$FF02 PRG:7F02 C9 1E - bne IrqHandler_Loop746 ; CPU:$FF04 PRG:7F04 D0 01 + bne IrqHandler_Loop785 ; CPU:$FF04 PRG:7F04 D0 01 rts ; CPU:$FF06 PRG:7F06 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop746 -; Global: Branch target inside IrqHandler: taken when Loop746. +; Routine: IrqHandler_Loop785 +; Global: Branch target inside IrqHandler: taken when Loop785. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop746: +IrqHandler_Loop785: lda $046B ; CPU:$FF07 PRG:7F07 AD 6B 04 - sta Zp4A ; CPU:$FF0A PRG:7F0A 85 4A + sta DispatchPtrLo ; CPU:$FF0A PRG:7F0A 85 4A lda $046D ; CPU:$FF0C PRG:7F0C AD 6D 04 - sta Zp4B ; CPU:$FF0F PRG:7F0F 85 4B + sta DispatchPtrHi ; CPU:$FF0F PRG:7F0F 85 4B lda #$80 ; CPU:$FF11 PRG:7F11 A9 80 sta Zp4C ; CPU:$FF13 PRG:7F13 85 4C jmp Sub_B4FB ; CPU:$FF15 PRG:7F15 4C FB B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop747 -; Global: Branch target inside IrqHandler: taken when Loop747. +; Routine: IrqHandler_Loop786 +; Global: Branch target inside IrqHandler: taken when Loop786. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop747: +IrqHandler_Loop786: lda $057D ; CPU:$FF18 PRG:7F18 AD 7D 05 - beq IrqHandler_Loop748 ; CPU:$FF1B PRG:7F1B F0 4F + beq IrqHandler_Loop787 ; CPU:$FF1B PRG:7F1B F0 4F lda $046D ; CPU:$FF1D PRG:7F1D AD 6D 04 sec ; CPU:$FF20 PRG:7F20 38 sbc #$04 ; CPU:$FF21 PRG:7F21 E9 04 cmp $0579 ; CPU:$FF23 PRG:7F23 CD 79 05 - bcs IrqHandler_Loop748 ; CPU:$FF26 PRG:7F26 B0 44 + bcs IrqHandler_Loop787 ; CPU:$FF26 PRG:7F26 B0 44 lda $046D ; CPU:$FF28 PRG:7F28 AD 6D 04 clc ; CPU:$FF2B PRG:7F2B 18 adc #$10 ; CPU:$FF2C PRG:7F2C 69 10 cmp $0579 ; CPU:$FF2E PRG:7F2E CD 79 05 - bcc IrqHandler_Loop748 ; CPU:$FF31 PRG:7F31 90 39 + bcc IrqHandler_Loop787 ; CPU:$FF31 PRG:7F31 90 39 lda $046B ; CPU:$FF33 PRG:7F33 AD 6B 04 sec ; CPU:$FF36 PRG:7F36 38 sbc #$04 ; CPU:$FF37 PRG:7F37 E9 04 cmp $0577 ; CPU:$FF39 PRG:7F39 CD 77 05 - bcs IrqHandler_Loop748 ; CPU:$FF3C PRG:7F3C B0 2E + bcs IrqHandler_Loop787 ; CPU:$FF3C PRG:7F3C B0 2E lda $046B ; CPU:$FF3E PRG:7F3E AD 6B 04 clc ; CPU:$FF41 PRG:7F41 18 adc #$04 ; CPU:$FF42 PRG:7F42 69 04 cmp $0577 ; CPU:$FF44 PRG:7F44 CD 77 05 - bcc IrqHandler_Loop748 ; CPU:$FF47 PRG:7F47 90 23 + bcc IrqHandler_Loop787 ; CPU:$FF47 PRG:7F47 90 23 lda #$00 ; CPU:$FF49 PRG:7F49 A9 00 sta $057D ; CPU:$FF4B PRG:7F4B 8D 7D 05 inc $046C ; CPU:$FF4E PRG:7F4E EE 6C 04 @@ -18848,142 +19787,143 @@ IrqHandler_Loop747: lda #$13 ; CPU:$FF56 PRG:7F56 A9 13 jsr Sub_DC19 ; CPU:$FF58 PRG:7F58 20 19 DC lda $046B ; CPU:$FF5B PRG:7F5B AD 6B 04 - sta Zp4A ; CPU:$FF5E PRG:7F5E 85 4A + sta DispatchPtrLo ; CPU:$FF5E PRG:7F5E 85 4A lda $046D ; CPU:$FF60 PRG:7F60 AD 6D 04 - sta Zp4B ; CPU:$FF63 PRG:7F63 85 4B + sta DispatchPtrHi ; CPU:$FF63 PRG:7F63 85 4B lda #$82 ; CPU:$FF65 PRG:7F65 A9 82 sta Zp4C ; CPU:$FF67 PRG:7F67 85 4C jsr Sub_B4FB ; CPU:$FF69 PRG:7F69 20 FB B4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop748 -; Global: Branch target inside IrqHandler: taken when Loop748. +; Routine: IrqHandler_Loop787 +; Global: Branch target inside IrqHandler: taken when Loop787. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop748: +IrqHandler_Loop787: lda $046C ; CPU:$FF6C PRG:7F6C AD 6C 04 cmp #$0A ; CPU:$FF6F PRG:7F6F C9 0A - beq IrqHandler_Loop755 ; CPU:$FF71 PRG:7F71 F0 52 + beq IrqHandler_Loop794 ; CPU:$FF71 PRG:7F71 F0 52 cmp #$1E ; CPU:$FF73 PRG:7F73 C9 1E - beq IrqHandler_Loop755 ; CPU:$FF75 PRG:7F75 F0 4E + beq IrqHandler_Loop794 ; CPU:$FF75 PRG:7F75 F0 4E lda #$02 ; CPU:$FF77 PRG:7F77 A9 02 - sta Zp1B ; CPU:$FF79 PRG:7F79 85 1B + sta PlayerYLow ; CPU:$FF79 PRG:7F79 85 1B lda $046B ; CPU:$FF7B PRG:7F7B AD 6B 04 - sta Zp19 ; CPU:$FF7E PRG:7F7E 85 19 + sta PlayerXHigh ; CPU:$FF7E PRG:7F7E 85 19 lda $046D ; CPU:$FF80 PRG:7F80 AD 6D 04 - sta Zp1C ; CPU:$FF83 PRG:7F83 85 1C + sta PlayerYHigh ; CPU:$FF83 PRG:7F83 85 1C lda ZpFB ; CPU:$FF85 PRG:7F85 A5 FB - beq IrqHandler_Loop749 ; CPU:$FF87 PRG:7F87 F0 06 + beq IrqHandler_Loop788 ; CPU:$FF87 PRG:7F87 F0 06 lda #$F7 ; CPU:$FF89 PRG:7F89 A9 F7 - sta Zp1A ; CPU:$FF8B PRG:7F8B 85 1A - bne IrqHandler_Loop750 ; CPU:$FF8D PRG:7F8D D0 04 + sta PlayerXLow ; CPU:$FF8B PRG:7F8B 85 1A + bne IrqHandler_Loop789 ; CPU:$FF8D PRG:7F8D D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop749 -; Global: Branch target inside IrqHandler: taken when Loop749. +; Routine: IrqHandler_Loop788 +; Global: Branch target inside IrqHandler: taken when Loop788. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop749: +IrqHandler_Loop788: lda #$5C ; CPU:$FF8F PRG:7F8F A9 5C - sta Zp1A ; CPU:$FF91 PRG:7F91 85 1A + sta PlayerXLow ; CPU:$FF91 PRG:7F91 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop750 -; Global: Branch target inside IrqHandler: taken when Loop750. +; Routine: IrqHandler_Loop789 +; Global: Branch target inside IrqHandler: taken when Loop789. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop750: +IrqHandler_Loop789: jsr Sub_8221 ; CPU:$FF93 PRG:7F93 20 21 82 lda $06D0 ; CPU:$FF96 PRG:7F96 AD D0 06 cmp #$08 ; CPU:$FF99 PRG:7F99 C9 08 - bcs IrqHandler_Loop752 ; CPU:$FF9B PRG:7F9B B0 10 + bcs IrqHandler_Loop791 ; CPU:$FF9B PRG:7F9B B0 10 lda ZpFB ; CPU:$FF9D PRG:7F9D A5 FB - beq IrqHandler_Loop751 ; CPU:$FF9F PRG:7F9F F0 06 + beq IrqHandler_Loop790 ; CPU:$FF9F PRG:7F9F F0 06 lda #$F8 ; CPU:$FFA1 PRG:7FA1 A9 F8 - sta Zp1A ; CPU:$FFA3 PRG:7FA3 85 1A - bne IrqHandler_Loop754 ; CPU:$FFA5 PRG:7FA5 D0 14 + sta PlayerXLow ; CPU:$FFA3 PRG:7FA3 85 1A + bne IrqHandler_Loop793 ; CPU:$FFA5 PRG:7FA5 D0 14 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop751 -; Global: Branch target inside IrqHandler: taken when Loop751. +; Routine: IrqHandler_Loop790 +; Global: Branch target inside IrqHandler: taken when Loop790. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop751: +IrqHandler_Loop790: lda #$5D ; CPU:$FFA7 PRG:7FA7 A9 5D - sta Zp1A ; CPU:$FFA9 PRG:7FA9 85 1A - bne IrqHandler_Loop754 ; CPU:$FFAB PRG:7FAB D0 0E + sta PlayerXLow ; CPU:$FFA9 PRG:7FA9 85 1A + bne IrqHandler_Loop793 ; CPU:$FFAB PRG:7FAB D0 0E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop752 -; Global: Branch target inside IrqHandler: taken when Loop752. +; Routine: IrqHandler_Loop791 +; Global: Branch target inside IrqHandler: taken when Loop791. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop752: +IrqHandler_Loop791: lda ZpFB ; CPU:$FFAD PRG:7FAD A5 FB - beq IrqHandler_Loop753 ; CPU:$FFAF PRG:7FAF F0 06 + beq IrqHandler_Loop792 ; CPU:$FFAF PRG:7FAF F0 06 lda #$F9 ; CPU:$FFB1 PRG:7FB1 A9 F9 - sta Zp1A ; CPU:$FFB3 PRG:7FB3 85 1A - bne IrqHandler_Loop754 ; CPU:$FFB5 PRG:7FB5 D0 04 + sta PlayerXLow ; CPU:$FFB3 PRG:7FB3 85 1A + bne IrqHandler_Loop793 ; CPU:$FFB5 PRG:7FB5 D0 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop753 -; Global: Branch target inside IrqHandler: taken when Loop753. +; Routine: IrqHandler_Loop792 +; Global: Branch target inside IrqHandler: taken when Loop792. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop753: +IrqHandler_Loop792: lda #$5B ; CPU:$FFB7 PRG:7FB7 A9 5B - sta Zp1A ; CPU:$FFB9 PRG:7FB9 85 1A + sta PlayerXLow ; CPU:$FFB9 PRG:7FB9 85 1A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop754 -; Global: Branch target inside IrqHandler: taken when Loop754. +; Routine: IrqHandler_Loop793 +; Global: Branch target inside IrqHandler: taken when Loop793. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop754: - lda Zp1C ; CPU:$FFBB PRG:7FBB A5 1C +IrqHandler_Loop793: + lda PlayerYHigh ; CPU:$FFBB PRG:7FBB A5 1C clc ; CPU:$FFBD PRG:7FBD 18 adc #$08 ; CPU:$FFBE PRG:7FBE 69 08 - sta Zp1C ; CPU:$FFC0 PRG:7FC0 85 1C + sta PlayerYHigh ; CPU:$FFC0 PRG:7FC0 85 1C jmp Sub_8221 ; CPU:$FFC2 PRG:7FC2 4C 21 82 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop755 -; Global: Branch target inside IrqHandler: taken when Loop755. +; Routine: IrqHandler_Loop794 +; Global: Branch target inside IrqHandler: taken when Loop794. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop755: +IrqHandler_Loop794: lda #$01 ; CPU:$FFC5 PRG:7FC5 A9 01 - sta Zp1B ; CPU:$FFC7 PRG:7FC7 85 1B + sta PlayerYLow ; CPU:$FFC7 PRG:7FC7 85 1B lda $046B ; CPU:$FFC9 PRG:7FC9 AD 6B 04 - sta Zp19 ; CPU:$FFCC PRG:7FCC 85 19 + sta PlayerXHigh ; CPU:$FFCC PRG:7FCC 85 19 lda $046D ; CPU:$FFCE PRG:7FCE AD 6D 04 - sta Zp1C ; CPU:$FFD1 PRG:7FD1 85 1C + sta PlayerYHigh ; CPU:$FFD1 PRG:7FD1 85 1C lda #$60 ; CPU:$FFD3 PRG:7FD3 A9 60 - sta Zp1A ; CPU:$FFD5 PRG:7FD5 85 1A + sta PlayerXLow ; CPU:$FFD5 PRG:7FD5 85 1A jsr Sub_8221 ; CPU:$FFD7 PRG:7FD7 20 21 82 - lda Zp19 ; CPU:$FFDA PRG:7FDA A5 19 + lda PlayerXHigh ; CPU:$FFDA PRG:7FDA A5 19 clc ; CPU:$FFDC PRG:7FDC 18 adc #$08 ; CPU:$FFDD PRG:7FDD 69 08 - sta Zp19 ; CPU:$FFDF PRG:7FDF 85 19 + sta PlayerXHigh ; CPU:$FFDF PRG:7FDF 85 19 lda #$71 ; CPU:$FFE1 PRG:7FE1 A9 71 - sta Zp1A ; CPU:$FFE3 PRG:7FE3 85 1A + sta PlayerXLow ; CPU:$FFE3 PRG:7FE3 85 1A jmp Sub_8221 ; CPU:$FFE5 PRG:7FE5 4C 21 82 ; ---- data $FFE8-$FFFF (24 bytes) ---- - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE8 PRG:7FE8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +VectorTable: + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE8 PRG:3FE8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $14, $80, $00, $80, $F1, $80 ; CPU:$FFF8 PRG:7FF8 FF FF 14 80 00 80 F1 80 diff --git a/NROM/Stack-Up (JU)/README.md b/NROM/Stack-Up (JU)/README.md index 14d5b4a..0317f3b 100644 --- a/NROM/Stack-Up (JU)/README.md +++ b/NROM/Stack-Up (JU)/README.md @@ -2,66 +2,71 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 10,586 / 32,768 bytes (32.3%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $81AD | | RESET vector | $8100 | | IRQ vector | $81E6 | -| ROM file | `Stack-Up (JU).nes` | -| SHA-256 | `3ab6bc99246783a6bf7083481027fe358ccdb147dcf1165eaf08aaf4e1b06548` | -### Header notes +## Power-on flow -- none +RESET enters at `$8100`: -## Open work + cld ; CPU:$8100 PRG:0100 D8 + sei ; CPU:$8101 PRG:0101 78 + ldx #$00 ; CPU:$8102 PRG:0102 A2 00 + stx PPUCTRL ; CPU:$8104 PRG:0104 8E 00 20 + stx PPUMASK ; CPU:$8107 PRG:0107 8E 01 20 + lda PPUSTATUS ; CPU:$810A PRG:010A AD 02 20 + bpl Reset_OnNonnegative ; CPU:$810D PRG:010D 10 FB + dex ; CPU:$810F PRG:010F CA + txs ; CPU:$8110 PRG:0110 9A + ldx Zp2F ; CPU:$8111 PRG:0111 A6 2F + ldy #$07 ; CPU:$8113 PRG:0113 A0 07 + sty Zp01 ; CPU:$8115 PRG:0115 84 01 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$81AD`: -## Files + pha ; CPU:$81AD PRG:01AD 48 + txa ; CPU:$81AE PRG:01AE 8A + pha ; CPU:$81AF PRG:01AF 48 + tya ; CPU:$81B0 PRG:01B0 98 + pha ; CPU:$81B1 PRG:01B1 48 + lda #$00 ; CPU:$81B2 PRG:01B2 A9 00 + sta OAMADDR ; CPU:$81B4 PRG:01B4 8D 03 20 + lda #$02 ; CPU:$81B7 PRG:01B7 A9 02 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8000-$80FF` (256 bytes) - `CopyrightText` +- `$82EA-$8309` (32 bytes) - `PlayerNameTable` +- `$8827-$8875` (79 bytes) - `LevelHandlerPointerTable` +- `$8BFD-$8C04` (8 bytes) - `BlockHeightTable` +- `$8C3A-$8C69` (48 bytes) - `BlockPatternTable` +- `$8FCF-$8FE3` (21 bytes) - `BlockShapeTable` +- `$9017-$9066` (80 bytes) - `BlockLayoutTable` +- `$9090-$9317` (648 bytes) - `BlockPlacementCode` +- `$9344-$935D` (26 bytes) - `BlockAttributeTable` +- `$943F-$99FD` (1471 bytes) - `BlockPointerTable` +- `$9A2C-$9A96` (107 bytes) - `BlockColorTable` +- `$9AB4-$9AC7` (20 bytes) - `BlockCountTable` +- `$9C52-$9C5E` (13 bytes) - `BlockSizeTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Stack-Up (JU)/labelmap.tsv b/NROM/Stack-Up (JU)/labelmap.tsv index fdf51dd..272f653 100644 --- a/NROM/Stack-Up (JU)/labelmap.tsv +++ b/NROM/Stack-Up (JU)/labelmap.tsv @@ -10,6 +10,14 @@ 8154 Reset_OnZero 815F Sub_815F 8163 Reset_OnZero2 +8173 Sub_8173 +8178 Reset_OnZero3 +817D Sub_817D +8184 Reset_OnNonzero2 +818A Sub_818A +8196 Reset_OnNonzero3 +81A3 Sub_81A3 +81A7 Reset_Loop2 81AD NmiHandler 81DA NmiHandler_Loop 81E6 IrqHandler @@ -17,167 +25,680 @@ 81EE IrqHandler_Loop 820E IrqHandler_Loop2 8218 IrqHandler_Loop3 -8239 IrqHandler_Loop4 -8251 IrqHandler_Loop5 +8251 IrqHandler_Loop4 8266 Sub_8266 +8269 Sub_8269 8271 Sub_8271 -8277 IrqHandler_Loop6 +8277 IrqHandler_Loop5 8299 IrqHandler_OnNonzero 82B3 IrqHandler_OnNonzero2 82BA Sub_82BA 82BE IrqHandler_OnNonzero3 82C4 IrqHandler_OnZero 82C5 Sub_82C5 +830A Sub_830A +8313 Sub_8313 +8340 IrqHandler_Loop6 +8362 IrqHandler_OnNonzero4 +838F IrqHandler_Loop7 +8395 IrqHandler_Loop8 +839B IrqHandler_Loop9 +83AF IrqHandler_OnNonzero5 +83B9 IrqHandler_Loop10 83BA Sub_83BA 83C8 Sub_83C8 -83CA IrqHandler_OnNonzero4 -83EE IrqHandler_Loop7 +83CA IrqHandler_OnNonzero6 +83EE IrqHandler_Loop11 83F0 Sub_83F0 -83F4 IrqHandler_Loop8 -8410 IrqHandler_Loop9 -8412 IrqHandler_Loop10 +83F4 IrqHandler_Loop12 +8410 IrqHandler_Loop13 +8412 IrqHandler_Loop14 8413 Sub_8413 -842F IrqHandler_OnNonzero5 -843E IrqHandler_OnNonzero6 -8448 IrqHandler_Loop11 -8456 IrqHandler_Loop12 +842F IrqHandler_OnNonzero7 +843E IrqHandler_OnNonzero8 +8448 IrqHandler_Loop15 +8456 IrqHandler_Loop16 8457 Sub_8457 8463 IrqHandler_OnNonnegative -8469 IrqHandler_Loop13 +8469 IrqHandler_Loop17 846D Sub_846D 8483 Sub_8483 -848A IrqHandler_OnNonzero7 -84A0 IrqHandler_Loop14 -84AC IrqHandler_Loop15 -84AF IrqHandler_OnNonzero8 -84B2 IrqHandler_Loop16 +848A IrqHandler_OnNonzero9 +84A0 IrqHandler_Loop18 +84AC IrqHandler_Loop19 +84AF IrqHandler_OnNonzero10 +84B2 IrqHandler_Loop20 84C6 Sub_84C6 84CF Sub_84CF 84DC Sub_84DC -84F4 IrqHandler_Loop17 +84F4 IrqHandler_Loop21 +850A Sub_850A +8521 IrqHandler_OnNonzero11 +852F IrqHandler_OnNonzero12 +8552 Sub_8552 +8568 IrqHandler_OnNonzero13 +8572 Sub_8572 +8575 IrqHandler_Loop22 +857F Sub_857F +858E Sub_858E +85A1 IrqHandler_Loop23 +85A2 Sub_85A2 +85BC Sub_85BC +85F4 IrqHandler_OnZero2 +85F5 Sub_85F5 +85FF IrqHandler_OnNonzero14 +8644 IrqHandler_Loop24 +864B IrqHandler_Loop25 +866A Sub_866A +8698 IrqHandler_OnNonzero15 +86B3 IrqHandler_Loop26 +86B4 Sub_86B4 +86BF IrqHandler_Loop27 +86CC IrqHandler_OnCarrySet +86D0 IrqHandler_Loop28 +86D5 Sub_86D5 +86E8 IrqHandler_Loop29 +86F4 IrqHandler_Loop30 +86F7 Sub_86F7 +8705 IrqHandler_OnZero3 +8706 Sub_8706 +8718 IrqHandler_Loop31 +8731 Sub_8731 +8752 Sub_8752 +877E IrqHandler_Loop32 +878E IrqHandler_Loop33 +8796 IrqHandler_Loop34 +8797 Sub_8797 +87A1 IrqHandler_OnNonzero16 +87C9 Sub_87C9 +87DE IrqHandler_Loop35 +87EA IrqHandler_Loop36 +87F1 IrqHandler_Loop37 +87F9 IrqHandler_Loop38 +87FA Sub_87FA +880F IrqHandler_Loop39 +8811 IrqHandler_Loop40 +8813 IrqHandler_Loop41 +8815 IrqHandler_Loop42 +8817 IrqHandler_Loop43 +8819 IrqHandler_Loop44 +881B IrqHandler_Loop45 +881D IrqHandler_Loop46 +881F IrqHandler_Loop47 8876 Sub_8876 +8881 Sub_8881 +8891 IrqHandler_Loop48 +88A8 IrqHandler_Loop49 +88C0 IrqHandler_Loop50 +88D2 IrqHandler_Loop51 +8928 IrqHandler_Loop52 +892C IrqHandler_Loop53 +8932 IrqHandler_Loop54 +8942 IrqHandler_OnNonzero17 +894D IrqHandler_OnNonzero18 +8974 IrqHandler_Loop55 +897E IrqHandler_Loop56 +8981 Sub_8981 +8998 IrqHandler_Loop57 +89A6 IrqHandler_Loop58 +89B8 IrqHandler_Loop59 +89E5 IrqHandler_Loop60 +89EB IrqHandler_Loop61 +89EE Sub_89EE +8A25 IrqHandler_Loop62 +8A2B IrqHandler_OnNegative +8A2E IrqHandler_OnOverflowSet +8A31 Sub_8A31 +8A74 IrqHandler_Loop63 +8A75 IrqHandler_Loop64 +8A7E IrqHandler_Loop65 +8AAA IrqHandler_Loop66 +8AB5 IrqHandler_OnNonzero19 +8AD8 IrqHandler_Loop67 +8AD9 Sub_8AD9 +8AF9 IrqHandler_Loop68 +8B0A IrqHandler_Loop69 +8B18 IrqHandler_Loop70 +8B19 Sub_8B19 +8B27 IrqHandler_Loop71 +8B47 IrqHandler_Loop72 +8B48 IrqHandler_Loop73 +8B51 Sub_8B51 +8B5F IrqHandler_Loop74 +8B6D IrqHandler_Loop75 +8B78 IrqHandler_Loop76 +8B81 IrqHandler_Loop77 +8B93 IrqHandler_Loop78 +8B98 IrqHandler_OnNonzero20 +8BAE IrqHandler_Loop79 +8BBD IrqHandler_Loop80 +8BBE IrqHandler_Loop81 +8BCD IrqHandler_Loop82 +8BDD IrqHandler_Loop83 +8BE1 IrqHandler_OnNonzero21 +8BE7 IrqHandler_Loop84 +8BF6 IrqHandler_Loop85 +8C05 IrqHandler_Loop86 +8C0B IrqHandler_Loop87 +8C0C IrqHandler_Loop88 +8C17 IrqHandler_OnNonzero22 +8C37 IrqHandler_Loop89 +8C6A Sub_8C6A +8C74 IrqHandler_Loop90 +8CA5 IrqHandler_Loop91 +8CAB IrqHandler_Loop92 +8CB9 Sub_8CB9 +8CDA IrqHandler_Loop93 +8CE7 IrqHandler_Loop94 +8CE8 IrqHandler_Loop95 +8CFE IrqHandler_Loop96 +8CFF IrqHandler_Loop97 +8D17 IrqHandler_OnNonzero23 +8D35 IrqHandler_Loop98 +8D3F IrqHandler_Loop99 +8D44 IrqHandler_Loop100 +8D46 IrqHandler_OnNonzero24 +8D51 IrqHandler_Loop101 +8D55 IrqHandler_Loop102 +8D6D IrqHandler_Loop103 +8D72 IrqHandler_OnNonzero25 +8D8A IrqHandler_Loop104 +8D9F IrqHandler_Loop105 +8DB8 Sub_8DB8 +8DBF IrqHandler_Loop106 +8DD4 IrqHandler_Loop107 +8DEC IrqHandler_Loop108 +8E07 IrqHandler_Loop109 +8E0C IrqHandler_Loop110 +8E16 IrqHandler_Loop111 +8E1C IrqHandler_Loop112 +8E38 IrqHandler_Loop113 +8E3D IrqHandler_Loop114 +8E40 IrqHandler_Loop115 +8E57 IrqHandler_Loop116 +8E5A IrqHandler_OnNonzero26 +8E5B IrqHandler_Loop117 +8E70 Sub_8E70 +8E74 IrqHandler_OnNonzero27 +8E82 Sub_8E82 +8E91 IrqHandler_OnNonzero28 +8E9B IrqHandler_Loop118 +8EAF IrqHandler_Loop119 +8F57 IrqHandler_Loop120 +8F5D IrqHandler_Loop121 +8F8E IrqHandler_Loop122 +8FAA IrqHandler_Loop123 +8FBE Sub_8FBE +8FC8 IrqHandler_Loop124 +8FCA IrqHandler_Loop125 +8FE4 Sub_8FE4 +8FF8 IrqHandler_Loop126 +8FFA IrqHandler_OnNonnegative2 +900C IrqHandler_OnNonnegative3 +9016 IrqHandler_Loop127 +9067 Sub_9067 +906F Sub_906F +9075 IrqHandler_Loop128 +9318 Sub_9318 +931D Sub_931D +932C Sub_932C +9343 IrqHandler_Loop129 +935E Sub_935E +93AC IrqHandler_Loop130 +93AD Sub_93AD +93B9 IrqHandler_Loop131 +93BA Sub_93BA +93E9 IrqHandler_Loop132 +941E IrqHandler_Loop133 +9424 IrqHandler_Loop134 +9438 IrqHandler_Loop135 +943E IrqHandler_Loop136 +99FE Sub_99FE +9A0B IrqHandler_Loop137 +9A14 IrqHandler_OnZero4 +9A1B Sub_9A1B +9A97 Sub_9A97 +9A99 IrqHandler_OnNonnegative4 +9AB3 IrqHandler_Loop138 +9AC8 Sub_9AC8 +9AD6 IrqHandler_OnOverflowSet2 +9AE4 IrqHandler_Loop139 +9AE7 Sub_9AE7 +9B11 IrqHandler_Loop140 +9B2B IrqHandler_Loop141 +9B33 IrqHandler_Loop142 +9B57 IrqHandler_Loop143 +9B5C Sub_9B5C +9B88 Sub_9B88 +9B98 IrqHandler_Loop144 +9B9C IrqHandler_OnZero5 +9B9D IrqHandler_Loop145 +9BB1 IrqHandler_Loop146 +9BB4 IrqHandler_Loop147 +9BB8 IrqHandler_OnOverflowSet3 +9BC6 IrqHandler_Loop148 +9BC9 Sub_9BC9 +9BD9 IrqHandler_Loop149 +9BF4 IrqHandler_Loop150 +9C1A IrqHandler_Loop151 +9C22 IrqHandler_Loop152 +9C3D IrqHandler_Loop153 +9C42 Sub_9C42 +9C5F Sub_9C5F +9C6B IrqHandler_OnZero6 +9C6C IrqHandler_Loop154 +9CA6 IrqHandler_Loop155 +9D3D Sub_9D3D +9D59 IrqHandler_Loop156 +9D93 IrqHandler_Loop157 +9DA6 IrqHandler_Loop158 +9DB4 IrqHandler_Loop159 +9DBA IrqHandler_Loop160 +9DCC IrqHandler_Loop161 +9DDA IrqHandler_Loop162 +9E0D IrqHandler_Loop163 +9E13 IrqHandler_Loop164 +9E21 Sub_9E21 +9E27 Sub_9E27 +9E2D IrqHandler_OnNonnegative5 +9E36 IrqHandler_Loop165 +9E41 IrqHandler_Loop166 +9E57 IrqHandler_OnZero7 +9E58 Sub_9E58 +9E63 IrqHandler_Loop167 +9E81 IrqHandler_Loop168 +9EA0 IrqHandler_Loop169 +9EA3 IrqHandler_Loop170 +9EB8 IrqHandler_Loop171 +9EC5 IrqHandler_Loop172 +9EE2 IrqHandler_Loop173 +9F04 IrqHandler_Loop174 +9F09 IrqHandler_Loop175 +9F1E IrqHandler_Loop176 +9F23 IrqHandler_Loop177 +9F38 IrqHandler_Loop178 +9F3D IrqHandler_Loop179 +9F63 IrqHandler_Loop180 +9F6F IrqHandler_Loop181 +9F75 IrqHandler_OnZero8 +9F81 IrqHandler_Loop182 +9F8A IrqHandler_Loop183 +9F93 IrqHandler_Loop184 +9F99 IrqHandler_Loop185 +9FAF IrqHandler_Loop186 +9FD1 Sub_9FD1 +9FF0 Sub_9FF0 +9FF8 IrqHandler_Loop187 +A000 IrqHandler_Loop188 +A011 IrqHandler_Loop189 +A02A IrqHandler_Loop190 +A03C IrqHandler_Loop191 +A041 IrqHandler_Loop192 +A04F IrqHandler_Loop193 +A050 IrqHandler_Loop194 +A06C IrqHandler_Loop195 +A079 IrqHandler_Loop196 +A087 IrqHandler_Loop197 +A091 Sub_A091 +A0C5 IrqHandler_Loop198 +A0D3 IrqHandler_Loop199 +A0DB IrqHandler_Loop200 +A0DC IrqHandler_Loop201 +A0E2 IrqHandler_Loop202 +A0E8 Sub_A0E8 +A112 IrqHandler_Loop203 +A123 IrqHandler_Loop204 +A12E IrqHandler_Loop205 +A13C IrqHandler_Loop206 +A14D IrqHandler_Loop207 +A158 IrqHandler_Loop208 +A166 IrqHandler_Loop209 +A16C IrqHandler_Loop210 +A18F Sub_A18F +A194 IrqHandler_OnZero9 +A195 IrqHandler_Loop211 +A19C IrqHandler_Loop212 +A1DE IrqHandler_Loop213 +A1EB IrqHandler_Loop214 +A1ED IrqHandler_Loop215 +A21F IrqHandler_Loop216 +A23B IrqHandler_Loop217 +A24C IrqHandler_Loop218 +A25B IrqHandler_OnNonzero29 +A25C Sub_A25C +A27E IrqHandler_Loop219 +A295 IrqHandler_Loop220 +A2C4 IrqHandler_Loop221 +A2DF IrqHandler_Loop222 +A2F1 Sub_A2F1 +A33E Sub_A33E +A3C2 IrqHandler_Loop223 +A3D7 Sub_A3D7 +A3DB IrqHandler_OnNonzero30 +A3F3 Sub_A3F3 +A420 Sub_A420 +A42D IrqHandler_Loop224 +A42E IrqHandler_Loop225 +A436 IrqHandler_Loop226 +A44B IrqHandler_Loop227 +A44E IrqHandler_Loop228 +A457 IrqHandler_Loop229 +A45A IrqHandler_Loop230 +A479 IrqHandler_Loop231 +A480 IrqHandler_Loop232 +A488 IrqHandler_Loop233 +A495 IrqHandler_Loop234 +A4EA Sub_A4EA +A4F6 IrqHandler_OnNonzero31 +A505 IrqHandler_Loop235 +A510 IrqHandler_Loop236 +A514 IrqHandler_OnNonzero32 +A525 Sub_A525 +A52B IrqHandler_OnNonzero33 +A546 IrqHandler_Loop237 +A54F Sub_A54F +A563 Sub_A563 +A572 Sub_A572 +A57E IrqHandler_OnNonzero34 +A58B Sub_A58B +A58E Sub_A58E +A5AA IrqHandler_OnNonzero35 +A5B7 Sub_A5B7 +A5DB IrqHandler_Loop238 +A5DD IrqHandler_Loop239 +A5E2 IrqHandler_OnNonzero36 +A5FE IrqHandler_Loop240 +A606 IrqHandler_Loop241 +A608 IrqHandler_Loop242 +A60D IrqHandler_OnNonzero37 +A619 IrqHandler_Loop243 +A62E IrqHandler_Loop244 +A634 IrqHandler_OnNonzero38 +A64A IrqHandler_OnNonzero39 +A666 IrqHandler_Loop245 +A66E IrqHandler_Loop246 +A670 IrqHandler_Loop247 +A675 IrqHandler_OnNonzero40 +A67F IrqHandler_Loop248 +A68A Sub_A68A +A8E3 Sub_A8E3 +A93F IrqHandler_Loop249 +A98E IrqHandler_Loop250 +A995 IrqHandler_Loop251 +A9A4 IrqHandler_Loop252 +A9C8 IrqHandler_Loop253 +A9DD IrqHandler_Loop254 +AA2A IrqHandler_Loop255 +AA31 IrqHandler_Loop256 +AA44 Sub_AA44 +AA5B IrqHandler_Loop257 +AA68 Sub_AA68 +AA74 IrqHandler_Loop258 +AA85 IrqHandler_Loop259 +AAA6 Sub_AAA6 +AABF Sub_AABF +AAC1 IrqHandler_OnNonzero41 +AAF4 IrqHandler_Loop260 +AAFB IrqHandler_Loop261 +AB14 IrqHandler_Loop262 +AB1F Sub_AB1F +AB47 Sub_AB47 +AB4B IrqHandler_OnCarrySet2 +AB54 IrqHandler_OnCarrySet3 +AB5E IrqHandler_Loop263 +AB62 Sub_AB62 +AB8A Sub_AB8A +ABB4 Sub_ABB4 +ABBE IrqHandler_Loop264 +ABCC IrqHandler_Loop265 +ABCE IrqHandler_OnNonzero42 +ABF3 Sub_ABF3 +ABF5 IrqHandler_OnNonzero43 +AC03 IrqHandler_Loop266 +AC0A IrqHandler_OnNonzero44 +AC18 IrqHandler_Loop267 +AC1E Sub_AC1E +AC28 IrqHandler_Loop268 +AC45 IrqHandler_Loop269 +AC58 IrqHandler_Loop270 +AC86 IrqHandler_Loop271 +ACD8 Sub_ACD8 +ACDE IrqHandler_OnNonzero45 +ACE8 IrqHandler_Loop272 +ACEE IrqHandler_OnNonzero46 +ACFC IrqHandler_Loop273 +ACFD Sub_ACFD +AD03 IrqHandler_Loop274 +AD05 IrqHandler_OnNonzero47 +AD3D Sub_AD3D +AD3F IrqHandler_OnNonnegative6 +AD6E IrqHandler_OnCarryClear +AD79 IrqHandler_Loop275 +ADAB Sub_ADAB +ADD5 IrqHandler_Loop276 +ADED IrqHandler_OnNonzero48 +ADF7 IrqHandler_Loop277 +AE0F Sub_AE0F +AE1F IrqHandler_Loop278 +AE2C IrqHandler_Loop279 +AE39 IrqHandler_Loop280 +AE4A IrqHandler_Loop281 +AE52 IrqHandler_OnNonnegative7 +AE68 IrqHandler_OnZero10 +AE81 Sub_AE81 +AE91 IrqHandler_Loop282 +AE9E IrqHandler_Loop283 +AEAB Sub_AEAB +AEC3 IrqHandler_Loop284 +AEC8 IrqHandler_OnNonnegative8 +AED8 IrqHandler_Loop285 +AEDC Sub_AEDC +AEF2 IrqHandler_Loop286 +AEF7 IrqHandler_OnNonzero49 +AF05 IrqHandler_OnNonzero50 +AF10 IrqHandler_Loop287 +AF14 IrqHandler_Loop288 +AF17 Sub_AF17 +AF27 Sub_AF27 +AF29 IrqHandler_OnCarrySet4 +AF32 IrqHandler_Loop289 +AF34 Sub_AF34 +AF45 IrqHandler_Loop290 +AF50 IrqHandler_Loop291 +AF5F IrqHandler_Loop292 +AF67 Sub_AF67 +AF69 IrqHandler_OnNonnegative9 +B032 Sub_B032 +B047 IrqHandler_OnNonzero51 +B04E IrqHandler_OnZero11 +B06A Sub_B06A +B079 IrqHandler_Loop293 +B07A IrqHandler_Loop294 +B091 IrqHandler_Loop295 +B0A9 IrqHandler_Loop296 +B0AD IrqHandler_Loop297 +B0AF IrqHandler_Loop298 +B0D2 IrqHandler_OnNonzero52 +B0FC IrqHandler_Loop299 +B0FF IrqHandler_Loop300 +B10B IrqHandler_Loop301 +B10C Sub_B10C +B114 IrqHandler_Loop302 +B137 IrqHandler_OnNonzero53 +B148 Sub_B148 +B158 IrqHandler_Loop303 +B162 IrqHandler_Loop304 +B164 IrqHandler_Loop305 +B167 IrqHandler_Loop306 +B16D IrqHandler_OnNonzero54 +B19C Sub_B19C +B1B6 IrqHandler_OnZero12 +B1B8 IrqHandler_Loop307 +B1D5 IrqHandler_Loop308 B1E7 Sub_B1E7 -B1F3 IrqHandler_Loop18 -B202 IrqHandler_Loop19 -B21D IrqHandler_Loop20 -B237 IrqHandler_Loop21 -B238 IrqHandler_Loop22 -B23B IrqHandler_Loop23 -B23E IrqHandler_Loop24 -B241 IrqHandler_Loop25 -B244 IrqHandler_Loop26 -B247 IrqHandler_Loop27 +B1F3 IrqHandler_Loop309 +B202 IrqHandler_Loop310 +B213 IrqHandler_Loop311 +B21D IrqHandler_Loop312 +B237 IrqHandler_Loop313 +B238 IrqHandler_Loop314 +B23B IrqHandler_Loop315 +B23E IrqHandler_Loop316 +B241 IrqHandler_Loop317 +B244 IrqHandler_Loop318 +B247 IrqHandler_Loop319 +B257 Sub_B257 +B26F Sub_B26F +B273 Sub_B273 +B275 IrqHandler_Loop320 +B278 Sub_B278 +B27C Sub_B27C +B280 Sub_B280 +B284 Sub_B284 +B288 Sub_B288 +B28C Sub_B28C +B290 Sub_B290 +B294 Sub_B294 +B296 IrqHandler_Loop321 +B299 Sub_B299 +B2A1 Sub_B2A1 +B2A5 Sub_B2A5 +B2A9 Sub_B2A9 +B2B1 Sub_B2B1 +B2B5 Sub_B2B5 +B2B7 IrqHandler_Loop322 B2BA Sub_B2BA B2BE Sub_B2BE B2C2 Sub_B2C2 B2C6 Sub_B2C6 B2CA Sub_B2CA B2CE Sub_B2CE -B2D8 IrqHandler_Loop28 +B2D8 IrqHandler_Loop323 +B2DB Sub_B2DB +B2ED Sub_B2ED +B2F5 IrqHandler_Loop324 +B301 IrqHandler_Loop325 +B30F IrqHandler_Loop326 +B31B IrqHandler_Loop327 +B326 Sub_B326 +B32B IrqHandler_OnNonzero55 +B337 IrqHandler_Loop328 +B4EA Sub_B4EA +B4F6 IrqHandler_OnNonnegative10 +B510 IrqHandler_Loop329 +B517 IrqHandler_Loop330 +B51B IrqHandler_Loop331 +B527 IrqHandler_OnNonnegative11 +B52B IrqHandler_Loop332 +B536 IrqHandler_Loop333 +B541 IrqHandler_Loop334 +B54A Sub_B54A +B556 IrqHandler_OnNonnegative12 +B563 IrqHandler_Loop335 F394 Sub_F394 F398 Sub_F398 F3A0 Sub_F3A0 -F3A2 IrqHandler_Loop29 -F3AE IrqHandler_OnNonzero9 +F3A2 IrqHandler_Loop336 +F3AE IrqHandler_OnNonzero56 F3B9 Sub_F3B9 -F3C6 IrqHandler_OnNonzero10 +F3C6 IrqHandler_OnNonzero57 F3E7 Sub_F3E7 -F412 IrqHandler_OnZero2 -F415 IrqHandler_OnZero3 +F412 IrqHandler_OnZero13 +F415 IrqHandler_OnZero14 F416 Sub_F416 -F41D IrqHandler_OnZero4 -F420 IrqHandler_OnNonzero11 -F42D IrqHandler_Loop30 +F41D IrqHandler_OnZero15 +F420 IrqHandler_OnNonzero58 +F42D IrqHandler_Loop337 F443 Sub_F443 -F459 IrqHandler_Loop31 -F465 IrqHandler_Loop32 -F470 IrqHandler_Loop33 +F459 IrqHandler_Loop338 +F465 IrqHandler_Loop339 +F470 IrqHandler_Loop340 F473 Sub_F473 F487 Sub_F487 -F48D IrqHandler_Loop34 -F4B2 IrqHandler_Loop35 -F4C3 IrqHandler_Loop36 -F4C5 IrqHandler_Loop37 +F48D IrqHandler_Loop341 +F4B2 IrqHandler_Loop342 +F4C3 IrqHandler_Loop343 +F4C5 IrqHandler_Loop344 F4D1 Sub_F4D1 -F4D8 IrqHandler_Loop38 -F4E0 IrqHandler_Loop39 -F4E9 IrqHandler_Loop40 -F4F4 IrqHandler_Loop41 -F4FC IrqHandler_Loop42 -F515 IrqHandler_Loop43 +F4D8 IrqHandler_Loop345 +F4E0 IrqHandler_Loop346 +F4E9 IrqHandler_Loop347 +F4F4 IrqHandler_Loop348 +F4FC IrqHandler_Loop349 +F515 IrqHandler_Loop350 F518 Sub_F518 -F52D IrqHandler_OnZero5 -F52E IrqHandler_OnZero6 +F52D IrqHandler_OnZero16 +F52E IrqHandler_OnZero17 F545 Sub_F545 -F568 IrqHandler_Loop44 -F581 IrqHandler_Loop45 -F586 IrqHandler_Loop46 -F599 IrqHandler_Loop47 -F59E IrqHandler_Loop48 -F5A3 IrqHandler_Loop49 -F5A6 IrqHandler_Loop50 -F5AD IrqHandler_OnCarrySet +F568 IrqHandler_Loop351 +F581 IrqHandler_Loop352 +F586 IrqHandler_Loop353 +F599 IrqHandler_Loop354 +F59E IrqHandler_Loop355 +F5A3 IrqHandler_Loop356 +F5A6 IrqHandler_Loop357 +F5AD IrqHandler_OnCarrySet5 F5B0 Sub_F5B0 -F5D4 IrqHandler_OnCarrySet2 -F5DA IrqHandler_OnCarrySet3 +F5D4 IrqHandler_OnCarrySet6 +F5DA IrqHandler_OnCarrySet7 F5E0 Sub_F5E0 -F5F2 IrqHandler_Loop51 -F607 IrqHandler_OnNonzero12 -F62F IrqHandler_Loop52 -F635 IrqHandler_Loop53 -F63B IrqHandler_Loop54 -F641 IrqHandler_Loop55 +F5F2 IrqHandler_Loop358 +F607 IrqHandler_OnNonzero59 +F62F IrqHandler_Loop359 +F635 IrqHandler_Loop360 +F63B IrqHandler_Loop361 +F641 IrqHandler_Loop362 F647 Sub_F647 -F65D IrqHandler_Loop56 +F65D IrqHandler_Loop363 F661 Sub_F661 -F667 IrqHandler_Loop57 +F667 IrqHandler_Loop364 F6A7 Sub_F6A7 -F6B9 IrqHandler_Loop58 -F6D9 IrqHandler_Loop59 -F6FC IrqHandler_OnNonzero13 -F710 IrqHandler_OnCarrySet4 +F6B9 IrqHandler_Loop365 +F6D9 IrqHandler_Loop366 +F6FC IrqHandler_OnNonzero60 +F710 IrqHandler_OnCarrySet8 F714 Sub_F714 -F718 IrqHandler_OnCarrySet5 -F71F IrqHandler_OnCarrySet6 +F718 IrqHandler_OnCarrySet9 +F71F IrqHandler_OnCarrySet10 F722 Sub_F722 F73B Sub_F73B -F758 IrqHandler_OnCarrySet7 -F77D IrqHandler_OnCarrySet8 +F758 IrqHandler_OnCarrySet11 +F77D IrqHandler_OnCarrySet12 F797 Sub_F797 -F7B3 IrqHandler_Loop60 -F7B4 IrqHandler_Loop61 -F7B7 IrqHandler_Loop62 +F7B3 IrqHandler_Loop367 +F7B4 IrqHandler_Loop368 +F7B7 IrqHandler_Loop369 F7C5 Sub_F7C5 -F7D8 IrqHandler_Loop63 -F7F6 IrqHandler_Loop64 +F7D8 IrqHandler_Loop370 +F7F6 IrqHandler_Loop371 F7FF Sub_F7FF -F804 IrqHandler_Loop65 -F805 IrqHandler_Loop66 -F828 IrqHandler_OnCarrySet9 -F83E IrqHandler_OnCarrySet10 -F849 IrqHandler_OnCarrySet11 +F804 IrqHandler_Loop372 +F805 IrqHandler_Loop373 +F828 IrqHandler_OnCarrySet13 +F83E IrqHandler_OnCarrySet14 +F849 IrqHandler_OnCarrySet15 F85C Sub_F85C -F864 IrqHandler_OnNonzero14 -F865 IrqHandler_OnCarrySet12 -F877 IrqHandler_Loop67 -F87E IrqHandler_Loop68 +F864 IrqHandler_OnNonzero61 +F865 IrqHandler_OnCarrySet16 +F877 IrqHandler_Loop374 +F87E IrqHandler_Loop375 F893 Sub_F893 -F8A5 IrqHandler_OnCarrySet13 -F8AC IrqHandler_OnZero7 -F8B8 IrqHandler_OnCarrySet14 -F8BF IrqHandler_OnCarrySet15 +F8A5 IrqHandler_OnCarrySet17 +F8AC IrqHandler_OnZero18 +F8B8 IrqHandler_OnCarrySet18 +F8BF IrqHandler_OnCarrySet19 F8CB Sub_F8CB -F903 IrqHandler_Loop69 -F906 IrqHandler_Loop70 -F90D IrqHandler_Loop71 -F919 IrqHandler_Loop72 -F920 IrqHandler_Loop73 -F92B IrqHandler_Loop74 -F932 IrqHandler_Loop75 +F903 IrqHandler_Loop376 +F906 IrqHandler_Loop377 +F90D IrqHandler_Loop378 +F919 IrqHandler_Loop379 +F920 IrqHandler_Loop380 +F92B IrqHandler_Loop381 +F932 IrqHandler_Loop382 F93B Sub_F93B F944 Sub_F944 F94D Sub_F94D -F954 IrqHandler_Loop76 +F954 IrqHandler_Loop383 F95E Sub_F95E F96F Sub_F96F FFF7 Sub_FFF7 diff --git a/NROM/Stack-Up (JU)/locals.inc b/NROM/Stack-Up (JU)/locals.inc index b4f434e..c102c96 100644 --- a/NROM/Stack-Up (JU)/locals.inc +++ b/NROM/Stack-Up (JU)/locals.inc @@ -4,38 +4,103 @@ ; 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 ; 19 refs; reads=12 writes=7; used at $8119, 811D, 83CE, 83D1, +15 more -Zp01 = $01 ; 10 refs; reads=4 writes=6; used at $8115, 8122, 827B, 8289, +5 more -Zp02 = $02 ; 2 refs; reads=1 writes=1; used at $8277, 8297 -Zp03 = $03 ; 2 refs; reads=1 writes=1; used at $8279, 82B1 -Zp08 = $08 ; 8 refs; reads=4 writes=4; used at $814A, 81C9, 8280, 8287, +4 more -Zp09 = $09 ; 6 refs; reads=3 writes=3; used at $814E, 81CE, B1ED, B1F1, +2 more -Zp0B = $0B ; 1 refs; reads=1 writes=0; used at $84D5 -Zp14 = $14 ; 4 refs; reads=2 writes=2; used at $8471, 8476, 847A, 847E -Zp15 = $15 ; 2 refs; reads=0 writes=2; used at $8474, 847C -Zp18 = $18 ; 5 refs; reads=4 writes=1; used at $820E, 83D9, 83F6, 83FA, +1 more -Zp1A = $1A ; 2 refs; reads=1 writes=1; used at $8239, 83FC +Zp00 = $00 ; 34 refs; reads=18 writes=16; used at $8119, 811D, 83CE, 83D1, +30 more +Zp01 = $01 ; 27 refs; reads=10 writes=17; used at $8115, 8122, 827B, 8289, +22 more +Zp02 = $02 ; 15 refs; reads=8 writes=7; used at $8277, 8297, 8506, 8510, +11 more +Zp03 = $03 ; 25 refs; reads=5 writes=20; used at $8279, 82B1, 8508, 8607, +20 more +Zp04 = $04 ; 3 refs; reads=1 writes=2; used at $851C, 854C +Zp05 = $05 ; 3 refs; reads=2 writes=1; used at $8514, 852B, AAD4 +Zp06 = $06 ; 3 refs; reads=1 writes=2; used at $852D, 8535 +Zp08 = $08 ; 35 refs; reads=18 writes=17; used at $814A, 819D, 81A3, 81AA, +31 more +Zp09 = $09 ; 9 refs; reads=5 writes=4; used at $814E, 8180, 8187, 8190, +5 more +Zp0A = $0A ; 7 refs; reads=3 writes=4; used at $894A, 8ED8, 8F23, B05F, +3 more +Zp0B = $0B ; 19 refs; reads=8 writes=11; used at $84D5, 890A, 89FE, 8DA1, +13 more +Zp0C = $0C ; 21 refs; reads=12 writes=9; used at $836F, 837B, A058, A13C, +14 more +Zp0D = $0D ; 11 refs; reads=5 writes=6; used at $8341, 8371, 8379, A4F4, +5 more +Zp0E = $0E ; 6 refs; reads=3 writes=3; used at $A05A, A112, ABFA, AC01, +2 more +Zp10 = $10 ; 19 refs; reads=12 writes=7; used at $837F, 839E, 83A6, A015, +13 more +Zp11 = $11 ; 12 refs; reads=7 writes=5; used at $8562, 856E, AC28, AC4D, +6 more +Zp12 = $12 ; 14 refs; reads=8 writes=6; used at $8322, 832B, 8330, 8337, +10 more +Zp13 = $13 ; 10 refs; reads=5 writes=5; used at $8327, A011, A114, AC20, +6 more +Zp14 = $14 ; 38 refs; reads=24 writes=14; used at $8317, 8320, 8325, 832D, +34 more +Zp15 = $15 ; 20 refs; reads=2 writes=18; used at $831E, 8332, 8474, 847C, +14 more +Zp16 = $16 ; 51 refs; reads=28 writes=23; used at $857F, 858A, 8C11, 8C14, +43 more +Zp17 = $17 ; 10 refs; reads=6 writes=4; used at $9C76, 9C88, AB3F, AB5E, +6 more +Zp18 = $18 ; 18 refs; reads=13 writes=5; used at $820E, 83D9, 83F6, 83FA, +14 more +Zp19 = $19 ; 2 refs; reads=2 writes=0; used at $8F93, 9067 +Zp1A = $1A ; 26 refs; reads=19 writes=7; used at $8239, 83FC, 8A3A, 8AFF, +22 more +Zp1B = $1B ; 1 refs; reads=1 writes=0; used at $9069 Zp1C = $1C ; 2 refs; reads=0 writes=2; used at $83FE, 840C Zp1E = $1E ; 3 refs; reads=1 writes=2; used at $8408, 8410 -Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $83DD, 83EE +Zp20 = $20 ; 6 refs; reads=3 writes=3; used at $83DD, 83EE, A8F1, A8FC Zp22 = $22 ; 4 refs; reads=2 writes=2; used at $83E1, 83E3, 83F2 Zp24 = $24 ; 2 refs; reads=1 writes=1; used at $83E9, 83F4 Zp28 = $28 ; 3 refs; reads=1 writes=2; used at $8459, 845F -Zp29 = $29 ; 3 refs; reads=2 writes=1; used at $8463, 8467 -Zp2F = $2F ; 3 refs; reads=2 writes=1; used at $8111, 816A +Zp29 = $29 ; 9 refs; reads=5 writes=4; used at $8463, 8467, 8921, 8928, +4 more +Zp2D = $2D ; 5 refs; reads=1 writes=4; used at $8F3D, 8F55, 8F57, 8FCC, +1 more +Zp2F = $2F ; 14 refs; reads=13 writes=1; used at $8111, 816A, 8F95, 9BD0, +9 more Zp30 = $30 ; 3 refs; reads=1 writes=2; used at $8166, 8170, 81D8 -Zp31 = $31 ; 2 refs; reads=1 writes=1; used at $8413, 8454 +Zp31 = $31 ; 4 refs; reads=1 writes=3; used at $8413, 8454, 850C, 857C Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $8161, 816C, 81BC -Zp33 = $33 ; 1 refs; reads=0 writes=1; used at $81DC -Zp34 = $34 ; 4 refs; reads=1 writes=3; used at $82C5, 82D4, B205, B21D -Zp3A = $3A ; 3 refs; reads=1 writes=2; used at $813B, 81EE, 824C -Zp3B = $3B ; 4 refs; reads=2 writes=2; used at $81F2, 8216, 8218, 824E -Zp3C = $3C ; 3 refs; reads=2 writes=1; used at $813E, 8241, 8251 -Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $B1FC -Zp47 = $47 ; 1 refs; reads=1 writes=0; used at $B223 -Zp48 = $48 ; 7 refs; reads=5 writes=2; used at $81E7, B1E7, B1F3, B207, +2 more -Zp49 = $49 ; 1 refs; reads=1 writes=0; used at $B217 -Zp50 = $50 ; 1 refs; reads=0 writes=1; used at $8152 +Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $8175, 8178, 81DC +Zp34 = $34 ; 18 refs; reads=1 writes=17; used at $82C5, 82D4, 891A, 8974, +14 more +Zp38 = $38 ; 4 refs; reads=3 writes=1; used at $88AF, 88C0, 8F2C, 8F4D +Zp3A = $3A ; 4 refs; reads=1 writes=3; used at $813B, 81EE, 824C, 8D10 +Zp3B = $3B ; 32 refs; reads=6 writes=26; used at $81F2, 8216, 8218, 824E, +24 more +Zp3C = $3C ; 14 refs; reads=7 writes=7; used at $813E, 8241, 8251, 8D15, +6 more +Zp3D = $3D ; 3 refs; reads=1 writes=2; used at $88B9, 8D4E, 8DD4 +Zp3E = $3E ; 9 refs; reads=4 writes=5; used at $8EE3, 8F9A, 8F9E, 8FB9, +3 more +Zp3F = $3F ; 9 refs; reads=4 writes=5; used at $8EDF, 8FAA, 8FBC, B1B6, +3 more +Zp40 = $40 ; 21 refs; reads=20 writes=1; used at $87C9, 88D4, 88F1, 896E, +17 more +Zp44 = $44 ; 59 refs; reads=27 writes=32; used at $88B5, 88EA, 88F5, 8923, +38 more +Zp46 = $46 ; 3 refs; reads=1 writes=2; used at $B1DE, B1FC +Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $B1E0, B223 +Zp48 = $48 ; 8 refs; reads=5 writes=3; used at $81E7, B1E4, B1E7, B1F3, +3 more +Zp49 = $49 ; 36 refs; reads=32 writes=4; used at $8712, 87DE, 88D2, 8976, +32 more +Zp4A = $4A ; 23 refs; reads=12 writes=11; used at $830A, 9075, 9318, 9321, +19 more +Zp4C = $4C ; 6 refs; reads=4 writes=2; used at $867C, 8708, 8726, 872F, +2 more +Zp4D = $4D ; 6 refs; reads=4 writes=2; used at $8670, 8706, 871B, 8724, +2 more +Zp4E = $4E ; 4 refs; reads=1 writes=3; used at $870C, 8718, 8807 +Zp4F = $4F ; 4 refs; reads=2 writes=2; used at $89F0, 8AAA, 8AAE +Zp50 = $50 ; 12 refs; reads=9 writes=3; used at $8152, 9C0F, AA50, AA54, +6 more +Zp51 = $51 ; 5 refs; reads=3 writes=2; used at $AA44, AA6E, AA74, AA76 +Zp52 = $52 ; 4 refs; reads=2 writes=2; used at $AA6A, AA7B, AA80 +Zp53 = $53 ; 5 refs; reads=2 writes=3; used at $AA11, AA1E, AA28, AA72 +Zp54 = $54 ; 3 refs; reads=1 writes=2; used at $8A1F, 8E5B +Zp55 = $55 ; 8 refs; reads=4 writes=4; used at $89F7, 8EDD, B07A, B091, +4 more +Zp56 = $56 ; 5 refs; reads=3 writes=2; used at $B095, B0E3, B0FF, B101 +Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $B0AD, B12E +Zp58 = $58 ; 2 refs; reads=1 writes=1; used at $B09B, B116 +Zp59 = $59 ; 6 refs; reads=4 writes=2; used at $89CF, 8C91, 8ED0, A268, +2 more +Zp5A = $5A ; 9 refs; reads=5 writes=4; used at $89D7, A279, B150, B158, +3 more +Zp5C = $5C ; 6 refs; reads=4 writes=2; used at $8771, 877A, 8781, 8790, +2 more +Zp5D = $5D ; 7 refs; reads=4 writes=3; used at $875F, 8768, 876E, 8785, +3 more +Zp5E = $5E ; 4 refs; reads=1 writes=3; used at $8756, 875C, 87DB +Zp5F = $5F ; 4 refs; reads=2 writes=2; used at $8752, 8794, 87CF, 8A7E +Zp60 = $60 ; 7 refs; reads=4 writes=3; used at $8A68, 8A9D, B4F0, B50E, +2 more +Zp61 = $61 ; 9 refs; reads=8 writes=1; used at $8BDF, B2EB, B4EA, B502, +5 more +Zp62 = $62 ; 2 refs; reads=1 writes=1; used at $8BE7, 8C0C +Zp63 = $63 ; 4 refs; reads=2 writes=2; used at $B506, B508, B532 +Zp64 = $64 ; 6 refs; reads=2 writes=4; used at $89F5, 8AD9, 8B07, 8C79, +2 more +Zp65 = $65 ; 3 refs; reads=1 writes=2; used at $8C77, 8CB7, 8CCE +Zp66 = $66 ; 4 refs; reads=1 writes=3; used at $89D3, 8ED4, B06A, B077 +Zp67 = $67 ; 3 refs; reads=1 writes=2; used at $8B5D, 8B6B, 8BEF +Zp70 = $70 ; 13 refs; reads=8 writes=5; used at $85B4, 85EC, 87E2, 87F1, +9 more +Zp80 = $80 ; 5 refs; reads=2 writes=3; used at $8628, 8631, 8637, 865D, +1 more +Zp81 = $81 ; 5 refs; reads=2 writes=3; used at $861C, 8626, 8639, 8662, +1 more +Zp82 = $82 ; 13 refs; reads=7 writes=6; used at $85F5, 85FF, 8611, 861A, +9 more +Zp83 = $83 ; 13 refs; reads=7 writes=6; used at $85F7, 8601, 8605, 860F, +9 more +Zp85 = $85 ; 3 refs; reads=2 writes=1; used at $B1DF, B1E3 +Zp89 = $89 ; 2 refs; reads=1 writes=1; used at $8221 +Zp8F = $8F ; 4 refs; reads=2 writes=2; used at $8256, 8258 +Zp90 = $90 ; 2 refs; reads=1 writes=1; used at $9089 +ZpA5 = $A5 ; 3 refs; reads=2 writes=1; used at $AAD8, B1EC +ZpA9 = $A9 ; 4 refs; reads=2 writes=2; used at $A8E8, B1E1 +ZpAA = $AA ; 6 refs; reads=3 writes=3; used at $A3D9, A3DB, A3E6, A3EC, +1 more +ZpAD = $AD ; 2 refs; reads=1 writes=1; used at $9D4D +ZpB7 = $B7 ; 6 refs; reads=3 writes=3; used at $830E, 8339, 8348, 834A, +2 more +ZpB8 = $B8 ; 2 refs; reads=1 writes=1; used at $8353, 8366 +ZpB9 = $B9 ; 2 refs; reads=1 writes=1; used at $8358, 8395 ZpD0 = $D0 ; 4 refs; reads=1 writes=3; used at $F3D4, F43F, F4D3 ZpD1 = $D1 ; 1 refs; reads=0 writes=1; used at $F3D6 ZpD2 = $D2 ; 1 refs; reads=0 writes=1; used at $F3D8 @@ -53,17 +118,34 @@ ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $F3E0 ZpEA = $EA ; 1 refs; reads=0 writes=1; used at $F3E2 ZpEB = $EB ; 1 refs; reads=0 writes=1; used at $F3E4 ZpEC = $EC ; 2 refs; reads=1 writes=1; used at $F45F, F46E -ZpF0 = $F0 ; 4 refs; reads=2 writes=2; used at $8878, F5B5, F5CB, F8E2 -ZpF1 = $F1 ; 4 refs; reads=2 writes=2; used at $887A, F5CD, F722, F8CB -ZpF2 = $F2 ; 7 refs; reads=4 writes=3; used at $887C, F5CF, F6C6, F6CA, +3 more +ZpF0 = $F0 ; 5 refs; reads=2 writes=3; used at $8878, B275, F5B5, F5CB, +1 more +ZpF1 = $F1 ; 5 refs; reads=2 writes=3; used at $887A, B296, F5CD, F722, +1 more +ZpF2 = $F2 ; 8 refs; reads=4 writes=4; used at $887C, B2B7, F5CF, F6C6, +4 more ZpF3 = $F3 ; 4 refs; reads=1 writes=3; used at $887E, B2D8, F5D1, F5F2 ZpF5 = $F5 ; 3 refs; reads=2 writes=1; used at $F518, F555, F566 ZpF6 = $F6 ; 1 refs; reads=0 writes=1; used at $F51A ZpF7 = $F7 ; 5 refs; reads=2 writes=3; used at $F4E1, F678, F959, F96A -ZpF9 = $F9 ; 2 refs; reads=0 writes=2; used at $F3A2, F3B0 +ZpF9 = $F9 ; 3 refs; reads=0 writes=3; used at $908C, F3A2, F3B0 ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $F3A6 ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $F3A8, F3AE ZpFC = $FC ; 1 refs; reads=0 writes=1; used at $F3AA ZpFD = $FD ; 5 refs; reads=3 writes=2; used at $F419, F426, F42B, F4A0, +1 more -ZpFE = $FE ; 3 refs; reads=2 writes=1; used at $F432, F447, F48B -ZpFF = $FF ; 1 refs; reads=0 writes=1; used at $F436 +ZpFE = $FE ; 6 refs; reads=4 writes=2; used at $F432, F447, F48B, F982, +1 more +ZpFF = $FF ; 7 refs; reads=5 writes=2; used at $B24F, B251, B253, B255, +2 more + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp08 +PpuMaskShadow = Zp09 +VramWritePtrLo = Zp00 +VramWritePtrHi = Zp01 +BlockPtrLo = Zp14 +BlockPtrHi = Zp15 +BlockTileIndex = Zp12 +BlockTileIndex2 = Zp13 +BlockType = Zp16 +PlayerIndex = Zp3B +PlayerColumn = Zp3D +BoardState = Zp40 +GameState = Zp49 +BlockIndex = Zp4A +FrameCounter = Zp32 diff --git a/NROM/Stack-Up (JU)/prg.s b/NROM/Stack-Up (JU)/prg.s index 6d68367..07b782b 100644 --- a/NROM/Stack-Up (JU)/prg.s +++ b/NROM/Stack-Up (JU)/prg.s @@ -9,6 +9,10 @@ ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): +; 15 further routine entries recovered from table references elsewhere in the image: +; $88AF, $88B5, $8BCE, $8DCB, $8DDD, $8E01, $8EA6, $A940, $A95E, $A982, $A984, $A9B2, $A9BD, $A9C9, $D57D +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $8238, $84FE, $85BC, $866A, $8752, $87BD, $880A, $880B, $880C, $880D, $8820, $8821, $8822, $8823, $8824, $8825, $8826, $8881, $8898, $88F1, $8928, $8933, $89B9, $8A2B, $8A2E, $8A31, $8AF8, $8B19, $8B51, $8B6E, $8C75, $8D0E, $8D18, $8D51, $8DC6, $8F02, $8F03, $8F47, $8F5E, $8F86, $8F8F, $931D, $93BA, $9404, $9AA8, $9AAD, $9AAE, $9AAF, $9AB0, $9AB1, $9BB8, $9D7A, $9DF7, $9E16, $9E17, $9E18, $9E1C, $9E42, $A525, $A54F, $A563, $A8EF, $A8FA, $A92E, $A9E2, $AA18, $AAD4, $AAD8, $AB8A, $B06A, $B116, $B18C, $B18D, $B18E, $B192, $B1D6, $B1DC, $B1DD, $B1EB, $B24A, $B24B, $B24C, $B24D ; indirect dispatch through zero page (not followed statically): ; jmp ($0014) at $8480 ; @@ -20,7 +24,8 @@ .segment "PRG" ; ---- data $8000-$80FF (256 bytes) ---- - .byte $20, $50, $72, $6F, $67, $72, $61, $6D, $65, $64, $20, $62, $79, $20, $20, $20 ; CPU:$8000 PRG:0000 20 50 72 6F 67 72 61 6D 65 64 20 62 79 20 20 20 +CopyrightText: + .byte $20, $50, $72, $6F, $67, $72, $61, $6D, $65, $64, $20, $62, $79, $20, $20, $20 ; CPU:$8000 PRG:-4000 20 50 72 6F 67 72 61 6D 65 64 20 62 79 20 20 20 .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8010 PRG:0010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .byte $20, $20, $54, $2E, $4E, $41, $4B, $41, $4D, $55, $52, $41, $20, $20, $20, $20 ; CPU:$8020 PRG:0020 20 20 54 2E 4E 41 4B 41 4D 55 52 41 20 20 20 20 .byte $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$8030 PRG:0030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 @@ -65,9 +70,9 @@ Reset_OnNonnegative: txs ; CPU:$8110 PRG:0110 9A ldx Zp2F ; CPU:$8111 PRG:0111 A6 2F ldy #$07 ; CPU:$8113 PRG:0113 A0 07 - sty Zp01 ; CPU:$8115 PRG:0115 84 01 + sty VramWritePtrHi ; CPU:$8115 PRG:0115 84 01 ldy #$00 ; CPU:$8117 PRG:0117 A0 00 - sty Zp00 ; CPU:$8119 PRG:0119 84 00 + sty VramWritePtrLo ; CPU:$8119 PRG:0119 84 00 lda #$00 ; CPU:$811B PRG:011B A9 00 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnNonzero @@ -78,10 +83,10 @@ Reset_OnNonnegative: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Reset_OnNonzero: - sta (Zp00),y ; CPU:$811D PRG:011D 91 00 + sta (VramWritePtrLo),y ; CPU:$811D PRG:011D 91 00 dey ; CPU:$811F PRG:011F 88 bne Reset_OnNonzero ; CPU:$8120 PRG:0120 D0 FB - dec Zp01 ; CPU:$8122 PRG:0122 C6 01 + dec VramWritePtrHi ; CPU:$8122 PRG:0122 C6 01 bpl Reset_OnNonzero ; CPU:$8124 PRG:0124 10 F7 txa ; CPU:$8126 PRG:0126 8A bne Reset_Loop ; CPU:$8127 PRG:0127 D0 02 @@ -108,9 +113,9 @@ Reset_Loop: sta APUSTATUS ; CPU:$8142 PRG:0142 8D 15 40 lda #$90 ; CPU:$8145 PRG:0145 A9 90 sta PPUCTRL ; CPU:$8147 PRG:0147 8D 00 20 - sta Zp08 ; CPU:$814A PRG:014A 85 08 + sta PpuCtrlShadow ; CPU:$814A PRG:014A 85 08 lda #$06 ; CPU:$814C PRG:014C A9 06 - sta Zp09 ; CPU:$814E PRG:014E 85 09 + sta PpuMaskShadow ; CPU:$814E PRG:014E 85 09 lda #$01 ; CPU:$8150 PRG:0150 A9 01 sta Zp50 ; CPU:$8152 PRG:0152 85 50 ; ----------------------------------------------------------------------------- @@ -136,7 +141,7 @@ Reset_OnZero: ; ----------------------------------------------------------------------------- Sub_815F: lda #$01 ; CPU:$815F PRG:015F A9 01 - sta Zp32 ; CPU:$8161 PRG:0161 85 32 + sta FrameCounter ; CPU:$8161 PRG:0161 85 32 ; ----------------------------------------------------------------------------- ; Routine: Reset_OnZero2 ; Global: Branch target inside Reset: taken when OnZero2. @@ -150,15 +155,110 @@ Reset_OnZero2: lda Zp30 ; CPU:$8166 PRG:0166 A5 30 beq Reset_OnZero2 ; CPU:$8168 PRG:0168 F0 F9 inc Zp2F ; CPU:$816A PRG:016A E6 2F - dec Zp32 ; CPU:$816C PRG:016C C6 32 + dec FrameCounter ; CPU:$816C PRG:016C C6 32 lda #$00 ; CPU:$816E PRG:016E A9 00 sta Zp30 ; CPU:$8170 PRG:0170 85 30 rts ; CPU:$8172 PRG:0172 60 -; ---- data $8173-$81AC (58 bytes) ---- - .byte $A9, $00, $85, $33, $EA, $A5, $33, $F0, $FC, $60, $20, $73, $81, $A5, $09, $29 ; CPU:$8173 PRG:0173 A9 00 85 33 EA A5 33 F0 FC 60 20 73 81 A5 09 29 - .byte $E1, $8D, $01, $20, $85, $09, $60, $20, $73, $81, $20, $CF, $84, $A5, $09, $09 ; CPU:$8183 PRG:0183 E1 8D 01 20 85 09 60 20 73 81 20 CF 84 A5 09 09 - .byte $1E, $D0, $EE, $AD, $02, $20, $29, $80, $D0, $F9, $A5, $08, $09, $80, $D0, $04 ; CPU:$8193 PRG:0193 1E D0 EE AD 02 20 29 80 D0 F9 A5 08 09 80 D0 04 - .byte $A5, $08, $29, $7F, $8D, $00, $20, $85, $08, $60 ; CPU:$81A3 PRG:01A3 A5 08 29 7F 8D 00 20 85 08 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8173 +; Global: Branch target inside Sub: taken when 8173. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8173: + lda #$00 ; CPU:$8173 PRG:0173 A9 00 + sta Zp33 ; CPU:$8175 PRG:0175 85 33 + nop ; CPU:$8177 PRG:0177 EA +; ----------------------------------------------------------------------------- +; Routine: Reset_OnZero3 +; Global: Branch target inside Reset: taken when OnZero3. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnZero3: + lda Zp33 ; CPU:$8178 PRG:0178 A5 33 + beq Reset_OnZero3 ; CPU:$817A PRG:017A F0 FC + rts ; CPU:$817C PRG:017C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_817D +; Global: Branch target inside Sub: taken when 817D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_817D: + jsr Sub_8173 ; CPU:$817D PRG:017D 20 73 81 + lda PpuMaskShadow ; CPU:$8180 PRG:0180 A5 09 + and #$E1 ; CPU:$8182 PRG:0182 29 E1 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero2 +; Global: Branch target inside Reset: taken when OnNonzero2. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero2: + sta PPUMASK ; CPU:$8184 PRG:0184 8D 01 20 + sta PpuMaskShadow ; CPU:$8187 PRG:0187 85 09 + rts ; CPU:$8189 PRG:0189 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_818A +; Global: Branch target inside Sub: taken when 818A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_818A: + jsr Sub_8173 ; CPU:$818A PRG:018A 20 73 81 + jsr Sub_84CF ; CPU:$818D PRG:018D 20 CF 84 + lda PpuMaskShadow ; CPU:$8190 PRG:0190 A5 09 + ora #$1E ; CPU:$8192 PRG:0192 09 1E + bne Reset_OnNonzero2 ; CPU:$8194 PRG:0194 D0 EE +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero3 +; Global: Branch target inside Reset: taken when OnNonzero3. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero3: + lda PPUSTATUS ; CPU:$8196 PRG:0196 AD 02 20 + and #$80 ; CPU:$8199 PRG:0199 29 80 + bne Reset_OnNonzero3 ; CPU:$819B PRG:019B D0 F9 + lda PpuCtrlShadow ; CPU:$819D PRG:019D A5 08 + ora #$80 ; CPU:$819F PRG:019F 09 80 + bne Reset_Loop2 ; CPU:$81A1 PRG:01A1 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_81A3 +; Global: Branch target inside Sub: taken when 81A3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_81A3: + lda PpuCtrlShadow ; CPU:$81A3 PRG:01A3 A5 08 + and #$7F ; CPU:$81A5 PRG:01A5 29 7F +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop2 +; Global: Branch target inside Reset: taken when Loop2. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop2: + sta PPUCTRL ; CPU:$81A7 PRG:01A7 8D 00 20 + sta PpuCtrlShadow ; CPU:$81AA PRG:01AA 85 08 + rts ; CPU:$81AC PRG:01AC 60 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Routine NmiHandler. @@ -177,14 +277,14 @@ NmiHandler: sta OAMADDR ; CPU:$81B4 PRG:01B4 8D 03 20 lda #$02 ; CPU:$81B7 PRG:01B7 A9 02 sta OAMDMA ; CPU:$81B9 PRG:01B9 8D 14 40 - lda Zp32 ; CPU:$81BC PRG:01BC A5 32 + lda FrameCounter ; CPU:$81BC PRG:01BC A5 32 beq NmiHandler_Loop ; CPU:$81BE PRG:01BE F0 1A jsr Sub_82C5 ; CPU:$81C0 PRG:01C0 20 C5 82 jsr Sub_8413 ; CPU:$81C3 PRG:01C3 20 13 84 jsr Sub_84CF ; CPU:$81C6 PRG:01C6 20 CF 84 - lda Zp08 ; CPU:$81C9 PRG:01C9 A5 08 + lda PpuCtrlShadow ; CPU:$81C9 PRG:01C9 A5 08 sta PPUCTRL ; CPU:$81CB PRG:01CB 8D 00 20 - lda Zp09 ; CPU:$81CE PRG:01CE A5 09 + lda PpuMaskShadow ; CPU:$81CE PRG:01CE A5 09 sta PPUMASK ; CPU:$81D0 PRG:01D0 8D 01 20 jsr Sub_83BA ; CPU:$81D3 PRG:01D3 20 BA 83 ldy #$01 ; CPU:$81D6 PRG:01D6 A0 01 @@ -238,8 +338,8 @@ Sub_81E7: ; ----------------------------------------------------------------------------- IrqHandler_Loop: lda Zp3A ; CPU:$81EE PRG:01EE A5 3A - bne IrqHandler_Loop4 ; CPU:$81F0 PRG:01F0 D0 47 - ldy Zp3B ; CPU:$81F2 PRG:01F2 A4 3B + .byte $D0, $47 ; CPU:$81F0 PRG:01F0 D0 47 + ldy PlayerIndex ; CPU:$81F2 PRG:01F2 A4 3B cpy #$04 ; CPU:$81F4 PRG:01F4 C0 04 beq IrqHandler_Loop2 ; CPU:$81F6 PRG:01F6 F0 16 cpy #$06 ; CPU:$81F8 PRG:01F8 C0 06 @@ -266,7 +366,7 @@ IrqHandler_Loop2: and #$20 ; CPU:$8210 PRG:0210 29 20 beq IrqHandler_Loop3 ; CPU:$8212 PRG:0212 F0 04 lda #$08 ; CPU:$8214 PRG:0214 A9 08 - sta Zp3B ; CPU:$8216 PRG:0216 85 3B + sta PlayerIndex ; CPU:$8216 PRG:0216 85 3B ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop3 ; Global: Branch target inside IrqHandler: taken when Loop3. @@ -276,11 +376,41 @@ IrqHandler_Loop2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop3: - lda Zp3B ; CPU:$8218 PRG:0218 A5 3B + lda PlayerIndex ; CPU:$8218 PRG:0218 A5 3B jsr Sub_846D ; CPU:$821A PRG:021A 20 6D 84 -; ---- data $821D-$8238 (28 bytes) ---- - .byte $AF, $88, $F1, $88, $33, $89, $B9, $89, $31, $8A, $6E, $8B, $CE, $8B, $75, $8C ; CPU:$821D PRG:021D AF 88 F1 88 33 89 B9 89 31 8A 6E 8B CE 8B 75 8C - .byte $0E, $8D, $18, $8D, $C6, $8D, $CB, $8D, $DD, $8D, $A6, $8E ; CPU:$822D PRG:022D 0E 8D 18 8D C6 8D CB 8D DD 8D A6 8E + .byte $AF, $88, $F1 ; CPU:$821D PRG:021D AF 88 F1 -- lax $F188 (undocumented; ca65 cannot encode) + dey ; CPU:$8220 PRG:0220 88 + .byte $33, $89 ; CPU:$8221 PRG:0221 33 89 -- rla (Zp89),y (undocumented; ca65 cannot encode) + lda $3189,y ; CPU:$8223 PRG:0223 B9 89 31 + txa ; CPU:$8226 PRG:0226 8A + ror $CE8B ; CPU:$8227 PRG:0227 6E 8B CE + .byte $8B, $75 ; CPU:$822A PRG:022A 8B 75 -- xaa #$75 (undocumented; ca65 cannot encode) + sty $8D0E ; CPU:$822C PRG:022C 8C 0E 8D + clc ; CPU:$822F PRG:022F 18 + sta $8DC6 ; CPU:$8230 PRG:0230 8D C6 8D + .byte $CB, $8D ; CPU:$8233 PRG:0233 CB 8D -- axs #$8D (undocumented; ca65 cannot encode) + cmp $A68D,x ; CPU:$8235 PRG:0235 DD 8D A6 +; ----------------------------------------------------------------------------- +; Routine: Label_8238 +; Global: Branch target inside Label: taken when 8238. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8238: + stx $1AA5 ; CPU:$8238 PRG:0238 8E A5 1A + and #$30 ; CPU:$823B PRG:023B 29 30 + cmp #$10 ; CPU:$823D PRG:023D C9 10 + bne IrqHandler_Loop4 ; CPU:$823F PRG:023F D0 10 + lda Zp3C ; CPU:$8241 PRG:0241 A5 3C + cmp #$01 ; CPU:$8243 PRG:0243 C9 01 + bne IrqHandler_Loop4 ; CPU:$8245 PRG:0245 D0 0A + jsr Sub_8876 ; CPU:$8247 PRG:0247 20 76 88 + lda #$00 ; CPU:$824A PRG:024A A9 00 + sta Zp3A ; CPU:$824C PRG:024C 85 3A + sta PlayerIndex ; CPU:$824E PRG:024E 85 3B + rts ; CPU:$8250 PRG:0250 60 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler_Loop4 ; Global: Branch target inside IrqHandler: taken when Loop4. @@ -290,31 +420,14 @@ IrqHandler_Loop3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- IrqHandler_Loop4: - lda Zp1A ; CPU:$8239 PRG:0239 A5 1A - and #$30 ; CPU:$823B PRG:023B 29 30 - cmp #$10 ; CPU:$823D PRG:023D C9 10 - bne IrqHandler_Loop5 ; CPU:$823F PRG:023F D0 10 - lda Zp3C ; CPU:$8241 PRG:0241 A5 3C - cmp #$01 ; CPU:$8243 PRG:0243 C9 01 - bne IrqHandler_Loop5 ; CPU:$8245 PRG:0245 D0 0A - jsr Sub_8876 ; CPU:$8247 PRG:0247 20 76 88 - lda #$00 ; CPU:$824A PRG:024A A9 00 - sta Zp3A ; CPU:$824C PRG:024C 85 3A - sta Zp3B ; CPU:$824E PRG:024E 85 3B - rts ; CPU:$8250 PRG:0250 60 -; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop5 -; Global: Branch target inside IrqHandler: taken when Loop5. -; Local: Part of IrqHandler. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -IrqHandler_Loop5: lda Zp3C ; CPU:$8251 PRG:0251 A5 3C jsr Sub_846D ; CPU:$8253 PRG:0253 20 6D 84 -; ---- data $8256-$8265 (16 bytes) ---- - .byte $03, $8F, $47, $8F, $5E, $8F, $86, $8F, $8F, $8F, $8F, $8F, $8F, $8F, $DA, $8F ; CPU:$8256 PRG:0256 03 8F 47 8F 5E 8F 86 8F 8F 8F 8F 8F 8F 8F DA 8F + .byte $03, $8F ; CPU:$8256 PRG:0256 03 8F -- slo (Zp8F,x) (undocumented; ca65 cannot encode) + .byte $47, $8F ; CPU:$8258 PRG:0258 47 8F -- sre Zp8F (undocumented; ca65 cannot encode) + lsr $868F,x ; CPU:$825A PRG:025A 5E 8F 86 + .byte $8F, $8F, $8F ; CPU:$825D PRG:025D 8F 8F 8F -- sax $8F8F (undocumented; ca65 cannot encode) + .byte $8F, $8F, $8F ; CPU:$8260 PRG:0260 8F 8F 8F -- sax $8F8F (undocumented; ca65 cannot encode) + .byte $8F, $DA, $8F ; CPU:$8263 PRG:0263 8F DA 8F -- sax $8FDA (undocumented; ca65 cannot encode) ; ----------------------------------------------------------------------------- ; Routine: Sub_8266 ; Global: Branch target inside Sub: taken when 8266. @@ -325,10 +438,19 @@ IrqHandler_Loop5: ; ----------------------------------------------------------------------------- Sub_8266: jsr Sub_8271 ; CPU:$8266 PRG:0266 20 71 82 +; ----------------------------------------------------------------------------- +; Routine: Sub_8269 +; Global: Branch target inside Sub: taken when 8269. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8269: lda #$28 ; CPU:$8269 PRG:0269 A9 28 ldx #$24 ; CPU:$826B PRG:026B A2 24 ldy #$00 ; CPU:$826D PRG:026D A0 00 - beq IrqHandler_Loop6 ; CPU:$826F PRG:026F F0 06 + beq IrqHandler_Loop5 ; CPU:$826F PRG:026F F0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_8271 ; Global: Branch target inside Sub: taken when 8271. @@ -342,23 +464,23 @@ Sub_8271: ldx #$24 ; CPU:$8273 PRG:0273 A2 24 ldy #$00 ; CPU:$8275 PRG:0275 A0 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop6 -; Global: Branch target inside IrqHandler: taken when Loop6. +; Routine: IrqHandler_Loop5 +; Global: Branch target inside IrqHandler: taken when Loop5. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop6: +IrqHandler_Loop5: stx Zp02 ; CPU:$8277 PRG:0277 86 02 sty Zp03 ; CPU:$8279 PRG:0279 84 03 - sta Zp01 ; CPU:$827B PRG:027B 85 01 + sta VramWritePtrHi ; CPU:$827B PRG:027B 85 01 lda PPUSTATUS ; CPU:$827D PRG:027D AD 02 20 - lda Zp08 ; CPU:$8280 PRG:0280 A5 08 + lda PpuCtrlShadow ; CPU:$8280 PRG:0280 A5 08 and #$FB ; CPU:$8282 PRG:0282 29 FB sta PPUCTRL ; CPU:$8284 PRG:0284 8D 00 20 - sta Zp08 ; CPU:$8287 PRG:0287 85 08 - lda Zp01 ; CPU:$8289 PRG:0289 A5 01 + sta PpuCtrlShadow ; CPU:$8287 PRG:0287 85 08 + lda VramWritePtrHi ; CPU:$8289 PRG:0289 A5 01 sta PPUADDR ; CPU:$828B PRG:028B 8D 06 20 lda #$00 ; CPU:$828E PRG:028E A9 00 sta PPUADDR ; CPU:$8290 PRG:0290 8D 06 20 @@ -379,7 +501,7 @@ IrqHandler_OnNonzero: bne IrqHandler_OnNonzero ; CPU:$829D PRG:029D D0 FA dex ; CPU:$829F PRG:029F CA bne IrqHandler_OnNonzero ; CPU:$82A0 PRG:02A0 D0 F7 - lda Zp01 ; CPU:$82A2 PRG:02A2 A5 01 + lda VramWritePtrHi ; CPU:$82A2 PRG:02A2 A5 01 clc ; CPU:$82A4 PRG:02A4 18 adc #$03 ; CPU:$82A5 PRG:02A5 69 03 sta PPUADDR ; CPU:$82A7 PRG:02A7 8D 06 20 @@ -459,20 +581,187 @@ Sub_82C5: sta PPUADDR ; CPU:$82E3 PRG:02E3 8D 06 20 sta PPUADDR ; CPU:$82E6 PRG:02E6 8D 06 20 rts ; CPU:$82E9 PRG:02E9 60 -; ---- data $82EA-$83B9 (208 bytes) ---- - .byte $74, $B5, $98, $B5, $AC, $B5, $98, $B5, $C0, $B5, $D4, $B5, $E8, $B5, $08, $B6 ; CPU:$82EA PRG:02EA 74 B5 98 B5 AC B5 98 B5 C0 B5 D4 B5 E8 B5 08 B6 +; ---- data $82EA-$8309 (32 bytes) ---- +PlayerNameTable: + .byte $74, $B5, $98, $B5, $AC, $B5, $98, $B5, $C0, $B5, $D4, $B5, $E8, $B5, $08, $B6 ; CPU:$82EA PRG:-3D16 74 B5 98 B5 AC B5 98 B5 C0 B5 D4 B5 E8 B5 08 B6 .byte $1C, $B6, $40, $B6, $54, $B6, $5C, $B6, $64, $B6, $6C, $B6, $74, $B6, $98, $B6 ; CPU:$82FA PRG:02FA 1C B6 40 B6 54 B6 5C B6 64 B6 6C B6 74 B6 98 B6 - .byte $A6, $4A, $A9, $00, $85, $B7, $BD, $06, $03, $0A, $18, $69, $BC, $85, $14, $A9 ; CPU:$830A PRG:030A A6 4A A9 00 85 B7 BD 06 03 0A 18 69 BC 85 14 A9 - .byte $00, $A8, $69, $C0, $85, $15, $B1, $14, $85, $12, $C8, $B1, $14, $85, $13, $A0 ; CPU:$831A PRG:031A 00 A8 69 C0 85 15 B1 14 85 12 C8 B1 14 85 13 A0 - .byte $00, $B1, $12, $85, $14, $C8, $B1, $12, $85, $15, $D0, $0A, $C8, $B1, $12, $85 ; CPU:$832A PRG:032A 00 B1 12 85 14 C8 B1 12 85 15 D0 0A C8 B1 12 85 - .byte $B7, $A5, $14, $4C, $13, $83, $C8, $84, $0D, $BD, $07, $03, $29, $03, $45, $B7 ; CPU:$833A PRG:033A B7 A5 14 4C 13 83 C8 84 0D BD 07 03 29 03 45 B7 - .byte $85, $B7, $BD, $08, $03, $38, $FD, $0B, $03, $85, $B8, $BD, $09, $03, $85, $B9 ; CPU:$834A PRG:034A 85 B7 BD 08 03 38 FD 0B 03 85 B8 BD 09 03 85 B9 - .byte $BD, $0A, $03, $AA, $A0, $00, $F0, $39, $B1, $14, $C8, $18, $65, $B8, $18, $69 ; CPU:$835A PRG:035A BD 0A 03 AA A0 00 F0 39 B1 14 C8 18 65 B8 18 69 - .byte $FF, $9D, $00, $02, $E8, $84, $0C, $A4, $0D, $B1, $12, $9D, $00, $02, $E8, $E6 ; CPU:$836A PRG:036A FF 9D 00 02 E8 84 0C A4 0D B1 12 9D 00 02 E8 E6 - .byte $0D, $A4, $0C, $A5, $B7, $45, $10, $9D, $00, $02, $E8, $B1, $14, $C8, $24, $B7 ; CPU:$837A PRG:037A 0D A4 0C A5 B7 45 10 9D 00 02 E8 B1 14 C8 24 B7 - .byte $70, $03, $18, $90, $06, $49, $FF, $38, $E9, $08, $38, $65, $B9, $9D, $00, $02 ; CPU:$838A PRG:038A 70 03 18 90 06 49 FF 38 E9 08 38 65 B9 9D 00 02 - .byte $E8, $B1, $14, $C8, $85, $10, $29, $F0, $C9, $10, $D0, $BC, $A5, $10, $29, $0F ; CPU:$839A PRG:039A E8 B1 14 C8 85 10 29 F0 C9 10 D0 BC A5 10 29 0F - .byte $F0, $0D, $A8, $A9, $F4, $9D, $00, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$83AA PRG:03AA F0 0D A8 A9 F4 9D 00 02 E8 E8 E8 E8 88 D0 F6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_830A +; Global: Branch target inside Sub: taken when 830A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_830A: + ldx BlockIndex ; CPU:$830A PRG:030A A6 4A + lda #$00 ; CPU:$830C PRG:030C A9 00 + sta ZpB7 ; CPU:$830E PRG:030E 85 B7 + lda $0306,x ; CPU:$8310 PRG:0310 BD 06 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_8313 +; Global: Branch target inside Sub: taken when 8313. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8313: + asl a ; CPU:$8313 PRG:0313 0A + clc ; CPU:$8314 PRG:0314 18 + adc #$BC ; CPU:$8315 PRG:0315 69 BC + sta BlockPtrLo ; CPU:$8317 PRG:0317 85 14 + lda #$00 ; CPU:$8319 PRG:0319 A9 00 + tay ; CPU:$831B PRG:031B A8 + adc #$C0 ; CPU:$831C PRG:031C 69 C0 + sta BlockPtrHi ; CPU:$831E PRG:031E 85 15 + lda (BlockPtrLo),y ; CPU:$8320 PRG:0320 B1 14 + sta BlockTileIndex ; CPU:$8322 PRG:0322 85 12 + iny ; CPU:$8324 PRG:0324 C8 + lda (BlockPtrLo),y ; CPU:$8325 PRG:0325 B1 14 + sta BlockTileIndex2 ; CPU:$8327 PRG:0327 85 13 + ldy #$00 ; CPU:$8329 PRG:0329 A0 00 + lda (BlockTileIndex),y ; CPU:$832B PRG:032B B1 12 + sta BlockPtrLo ; CPU:$832D PRG:032D 85 14 + iny ; CPU:$832F PRG:032F C8 + lda (BlockTileIndex),y ; CPU:$8330 PRG:0330 B1 12 + sta BlockPtrHi ; CPU:$8332 PRG:0332 85 15 + bne IrqHandler_Loop6 ; CPU:$8334 PRG:0334 D0 0A + iny ; CPU:$8336 PRG:0336 C8 + lda (BlockTileIndex),y ; CPU:$8337 PRG:0337 B1 12 + sta ZpB7 ; CPU:$8339 PRG:0339 85 B7 + lda BlockPtrLo ; CPU:$833B PRG:033B A5 14 + jmp Sub_8313 ; CPU:$833D PRG:033D 4C 13 83 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop6 +; Global: Branch target inside IrqHandler: taken when Loop6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop6: + iny ; CPU:$8340 PRG:0340 C8 + sty Zp0D ; CPU:$8341 PRG:0341 84 0D + lda $0307,x ; CPU:$8343 PRG:0343 BD 07 03 + and #$03 ; CPU:$8346 PRG:0346 29 03 + eor ZpB7 ; CPU:$8348 PRG:0348 45 B7 + sta ZpB7 ; CPU:$834A PRG:034A 85 B7 + lda $0308,x ; CPU:$834C PRG:034C BD 08 03 + sec ; CPU:$834F PRG:034F 38 + sbc $030B,x ; CPU:$8350 PRG:0350 FD 0B 03 + sta ZpB8 ; CPU:$8353 PRG:0353 85 B8 + lda $0309,x ; CPU:$8355 PRG:0355 BD 09 03 + sta ZpB9 ; CPU:$8358 PRG:0358 85 B9 + lda $030A,x ; CPU:$835A PRG:035A BD 0A 03 + tax ; CPU:$835D PRG:035D AA + ldy #$00 ; CPU:$835E PRG:035E A0 00 + beq IrqHandler_Loop9 ; CPU:$8360 PRG:0360 F0 39 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero4 +; Global: Branch target inside IrqHandler: taken when OnNonzero4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero4: + lda (BlockPtrLo),y ; CPU:$8362 PRG:0362 B1 14 + iny ; CPU:$8364 PRG:0364 C8 + clc ; CPU:$8365 PRG:0365 18 + adc ZpB8 ; CPU:$8366 PRG:0366 65 B8 + clc ; CPU:$8368 PRG:0368 18 + adc #$FF ; CPU:$8369 PRG:0369 69 FF + sta $0200,x ; CPU:$836B PRG:036B 9D 00 02 + inx ; CPU:$836E PRG:036E E8 + sty Zp0C ; CPU:$836F PRG:036F 84 0C + ldy Zp0D ; CPU:$8371 PRG:0371 A4 0D + lda (BlockTileIndex),y ; CPU:$8373 PRG:0373 B1 12 + sta $0200,x ; CPU:$8375 PRG:0375 9D 00 02 + inx ; CPU:$8378 PRG:0378 E8 + inc Zp0D ; CPU:$8379 PRG:0379 E6 0D + ldy Zp0C ; CPU:$837B PRG:037B A4 0C + lda ZpB7 ; CPU:$837D PRG:037D A5 B7 + eor Zp10 ; CPU:$837F PRG:037F 45 10 + sta $0200,x ; CPU:$8381 PRG:0381 9D 00 02 + inx ; CPU:$8384 PRG:0384 E8 + lda (BlockPtrLo),y ; CPU:$8385 PRG:0385 B1 14 + iny ; CPU:$8387 PRG:0387 C8 + bit ZpB7 ; CPU:$8388 PRG:0388 24 B7 + bvs IrqHandler_Loop7 ; CPU:$838A PRG:038A 70 03 + clc ; CPU:$838C PRG:038C 18 + bcc IrqHandler_Loop8 ; CPU:$838D PRG:038D 90 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop7 +; Global: Branch target inside IrqHandler: taken when Loop7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop7: + eor #$FF ; CPU:$838F PRG:038F 49 FF + sec ; CPU:$8391 PRG:0391 38 + sbc #$08 ; CPU:$8392 PRG:0392 E9 08 + sec ; CPU:$8394 PRG:0394 38 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop8 +; Global: Branch target inside IrqHandler: taken when Loop8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop8: + adc ZpB9 ; CPU:$8395 PRG:0395 65 B9 + sta $0200,x ; CPU:$8397 PRG:0397 9D 00 02 + inx ; CPU:$839A PRG:039A E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop9 +; Global: Branch target inside IrqHandler: taken when Loop9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop9: + lda (BlockPtrLo),y ; CPU:$839B PRG:039B B1 14 + iny ; CPU:$839D PRG:039D C8 + sta Zp10 ; CPU:$839E PRG:039E 85 10 + and #$F0 ; CPU:$83A0 PRG:03A0 29 F0 + cmp #$10 ; CPU:$83A2 PRG:03A2 C9 10 + bne IrqHandler_OnNonzero4 ; CPU:$83A4 PRG:03A4 D0 BC + lda Zp10 ; CPU:$83A6 PRG:03A6 A5 10 + and #$0F ; CPU:$83A8 PRG:03A8 29 0F + beq IrqHandler_Loop10 ; CPU:$83AA PRG:03AA F0 0D + tay ; CPU:$83AC PRG:03AC A8 + lda #$F4 ; CPU:$83AD PRG:03AD A9 F4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero5 +; Global: Branch target inside IrqHandler: taken when OnNonzero5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero5: + sta $0200,x ; CPU:$83AF PRG:03AF 9D 00 02 + inx ; CPU:$83B2 PRG:03B2 E8 + inx ; CPU:$83B3 PRG:03B3 E8 + inx ; CPU:$83B4 PRG:03B4 E8 + inx ; CPU:$83B5 PRG:03B5 E8 + dey ; CPU:$83B6 PRG:03B6 88 + bne IrqHandler_OnNonzero5 ; CPU:$83B7 PRG:03B7 D0 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop10 +; Global: Branch target inside IrqHandler: taken when Loop10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop10: + rts ; CPU:$83B9 PRG:03B9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_83BA ; Global: Branch target inside Sub: taken when 83BA. @@ -500,43 +789,43 @@ Sub_83BA: Sub_83C8: ldy #$08 ; CPU:$83C8 PRG:03C8 A0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero4 -; Global: Branch target inside IrqHandler: taken when OnNonzero4. +; Routine: IrqHandler_OnNonzero6 +; Global: Branch target inside IrqHandler: taken when OnNonzero6. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero4: +IrqHandler_OnNonzero6: pha ; CPU:$83CA PRG:03CA 48 lda JOY1,x ; CPU:$83CB PRG:03CB BD 16 40 - sta Zp00 ; CPU:$83CE PRG:03CE 85 00 + sta VramWritePtrLo ; CPU:$83CE PRG:03CE 85 00 lsr a ; CPU:$83D0 PRG:03D0 4A - ora Zp00 ; CPU:$83D1 PRG:03D1 05 00 + ora VramWritePtrLo ; CPU:$83D1 PRG:03D1 05 00 lsr a ; CPU:$83D3 PRG:03D3 4A pla ; CPU:$83D4 PRG:03D4 68 rol a ; CPU:$83D5 PRG:03D5 2A dey ; CPU:$83D6 PRG:03D6 88 - bne IrqHandler_OnNonzero4 ; CPU:$83D7 PRG:03D7 D0 F1 + bne IrqHandler_OnNonzero6 ; CPU:$83D7 PRG:03D7 D0 F1 ldy Zp18,x ; CPU:$83D9 PRG:03D9 B4 18 - sty Zp00 ; CPU:$83DB PRG:03DB 84 00 + sty VramWritePtrLo ; CPU:$83DB PRG:03DB 84 00 cmp Zp20,x ; CPU:$83DD PRG:03DD D5 20 - bne IrqHandler_Loop7 ; CPU:$83DF PRG:03DF D0 0D + bne IrqHandler_Loop11 ; CPU:$83DF PRG:03DF D0 0D inc Zp22,x ; CPU:$83E1 PRG:03E1 F6 22 ldy Zp22,x ; CPU:$83E3 PRG:03E3 B4 22 cpy #$03 ; CPU:$83E5 PRG:03E5 C0 03 - bcc IrqHandler_Loop8 ; CPU:$83E7 PRG:03E7 90 0B + bcc IrqHandler_Loop12 ; CPU:$83E7 PRG:03E7 90 0B sta Zp24,x ; CPU:$83E9 PRG:03E9 95 24 jmp Sub_83F0 ; CPU:$83EB PRG:03EB 4C F0 83 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop7 -; Global: Branch target inside IrqHandler: taken when Loop7. +; Routine: IrqHandler_Loop11 +; Global: Branch target inside IrqHandler: taken when Loop11. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop7: +IrqHandler_Loop11: sta Zp20,x ; CPU:$83EE PRG:03EE 95 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_83F0 @@ -550,47 +839,47 @@ Sub_83F0: lda #$00 ; CPU:$83F0 PRG:03F0 A9 00 sta Zp22,x ; CPU:$83F2 PRG:03F2 95 22 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop8 -; Global: Branch target inside IrqHandler: taken when Loop8. +; Routine: IrqHandler_Loop12 +; Global: Branch target inside IrqHandler: taken when Loop12. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop8: +IrqHandler_Loop12: lda Zp24,x ; CPU:$83F4 PRG:03F4 B5 24 sta Zp18,x ; CPU:$83F6 PRG:03F6 95 18 - eor Zp00 ; CPU:$83F8 PRG:03F8 45 00 + eor VramWritePtrLo ; CPU:$83F8 PRG:03F8 45 00 and Zp18,x ; CPU:$83FA PRG:03FA 35 18 sta Zp1A,x ; CPU:$83FC PRG:03FC 95 1A sta Zp1C,x ; CPU:$83FE PRG:03FE 95 1C ldy #$40 ; CPU:$8400 PRG:0400 A0 40 lda Zp18,x ; CPU:$8402 PRG:0402 B5 18 - cmp Zp00 ; CPU:$8404 PRG:0404 C5 00 - bne IrqHandler_Loop9 ; CPU:$8406 PRG:0406 D0 08 + cmp VramWritePtrLo ; CPU:$8404 PRG:0404 C5 00 + bne IrqHandler_Loop13 ; CPU:$8406 PRG:0406 D0 08 dec Zp1E,x ; CPU:$8408 PRG:0408 D6 1E - bne IrqHandler_Loop10 ; CPU:$840A PRG:040A D0 06 + bne IrqHandler_Loop14 ; CPU:$840A PRG:040A D0 06 sta Zp1C,x ; CPU:$840C PRG:040C 95 1C ldy #$08 ; CPU:$840E PRG:040E A0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop9 -; Global: Branch target inside IrqHandler: taken when Loop9. +; Routine: IrqHandler_Loop13 +; Global: Branch target inside IrqHandler: taken when Loop13. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop9: +IrqHandler_Loop13: sty Zp1E,x ; CPU:$8410 PRG:0410 94 1E ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop10 -; Global: Branch target inside IrqHandler: taken when Loop10. +; Routine: IrqHandler_Loop14 +; Global: Branch target inside IrqHandler: taken when Loop14. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop10: +IrqHandler_Loop14: rts ; CPU:$8412 PRG:0412 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8413 @@ -602,74 +891,74 @@ IrqHandler_Loop10: ; ----------------------------------------------------------------------------- Sub_8413: lda Zp31 ; CPU:$8413 PRG:0413 A5 31 - beq IrqHandler_Loop12 ; CPU:$8415 PRG:0415 F0 3F + beq IrqHandler_Loop16 ; CPU:$8415 PRG:0415 F0 3F lda #$61 ; CPU:$8417 PRG:0417 A9 61 - sta Zp00 ; CPU:$8419 PRG:0419 85 00 + sta VramWritePtrLo ; CPU:$8419 PRG:0419 85 00 lda #$06 ; CPU:$841B PRG:041B A9 06 - sta Zp01 ; CPU:$841D PRG:041D 85 01 - lda Zp08 ; CPU:$841F PRG:041F A5 08 + sta VramWritePtrHi ; CPU:$841D PRG:041D 85 01 + lda PpuCtrlShadow ; CPU:$841F PRG:041F A5 08 and #$FB ; CPU:$8421 PRG:0421 29 FB sta PPUCTRL ; CPU:$8423 PRG:0423 8D 00 20 - sta Zp08 ; CPU:$8426 PRG:0426 85 08 + sta PpuCtrlShadow ; CPU:$8426 PRG:0426 85 08 ldx PPUSTATUS ; CPU:$8428 PRG:0428 AE 02 20 ldy #$00 ; CPU:$842B PRG:042B A0 00 - beq IrqHandler_Loop11 ; CPU:$842D PRG:042D F0 19 + beq IrqHandler_Loop15 ; CPU:$842D PRG:042D F0 19 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero5 -; Global: Branch target inside IrqHandler: taken when OnNonzero5. +; Routine: IrqHandler_OnNonzero7 +; Global: Branch target inside IrqHandler: taken when OnNonzero7. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero5: +IrqHandler_OnNonzero7: sta PPUADDR ; CPU:$842F PRG:042F 8D 06 20 iny ; CPU:$8432 PRG:0432 C8 - lda (Zp00),y ; CPU:$8433 PRG:0433 B1 00 + lda (VramWritePtrLo),y ; CPU:$8433 PRG:0433 B1 00 sta PPUADDR ; CPU:$8435 PRG:0435 8D 06 20 iny ; CPU:$8438 PRG:0438 C8 - lda (Zp00),y ; CPU:$8439 PRG:0439 B1 00 + lda (VramWritePtrLo),y ; CPU:$8439 PRG:0439 B1 00 and #$3F ; CPU:$843B PRG:043B 29 3F tax ; CPU:$843D PRG:043D AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero6 -; Global: Branch target inside IrqHandler: taken when OnNonzero6. +; Routine: IrqHandler_OnNonzero8 +; Global: Branch target inside IrqHandler: taken when OnNonzero8. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero6: +IrqHandler_OnNonzero8: iny ; CPU:$843E PRG:043E C8 - lda (Zp00),y ; CPU:$843F PRG:043F B1 00 + lda (VramWritePtrLo),y ; CPU:$843F PRG:043F B1 00 sta PPUDATA ; CPU:$8441 PRG:0441 8D 07 20 dex ; CPU:$8444 PRG:0444 CA - bne IrqHandler_OnNonzero6 ; CPU:$8445 PRG:0445 D0 F7 + bne IrqHandler_OnNonzero8 ; CPU:$8445 PRG:0445 D0 F7 iny ; CPU:$8447 PRG:0447 C8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop11 -; Global: Branch target inside IrqHandler: taken when Loop11. +; Routine: IrqHandler_Loop15 +; Global: Branch target inside IrqHandler: taken when Loop15. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop11: - lda (Zp00),y ; CPU:$8448 PRG:0448 B1 00 - bne IrqHandler_OnNonzero5 ; CPU:$844A PRG:044A D0 E3 +IrqHandler_Loop15: + lda (VramWritePtrLo),y ; CPU:$8448 PRG:0448 B1 00 + bne IrqHandler_OnNonzero7 ; CPU:$844A PRG:044A D0 E3 lda #$00 ; CPU:$844C PRG:044C A9 00 sta $0660 ; CPU:$844E PRG:044E 8D 60 06 sta $0661 ; CPU:$8451 PRG:0451 8D 61 06 sta Zp31 ; CPU:$8454 PRG:0454 85 31 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop12 -; Global: Branch target inside IrqHandler: taken when Loop12. +; Routine: IrqHandler_Loop16 +; Global: Branch target inside IrqHandler: taken when Loop16. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop12: +IrqHandler_Loop16: rts ; CPU:$8456 PRG:0456 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_8457 @@ -696,17 +985,17 @@ Sub_8457: ; ----------------------------------------------------------------------------- IrqHandler_OnNonnegative: lda Zp29,x ; CPU:$8463 PRG:0463 B5 29 - beq IrqHandler_Loop13 ; CPU:$8465 PRG:0465 F0 02 + beq IrqHandler_Loop17 ; CPU:$8465 PRG:0465 F0 02 dec Zp29,x ; CPU:$8467 PRG:0467 D6 29 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop13 -; Global: Branch target inside IrqHandler: taken when Loop13. +; Routine: IrqHandler_Loop17 +; Global: Branch target inside IrqHandler: taken when Loop17. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop13: +IrqHandler_Loop17: dex ; CPU:$8469 PRG:0469 CA bpl IrqHandler_OnNonnegative ; CPU:$846A PRG:046A 10 F7 rts ; CPU:$846C PRG:046C 60 @@ -723,16 +1012,16 @@ Sub_846D: tay ; CPU:$846E PRG:046E A8 iny ; CPU:$846F PRG:046F C8 pla ; CPU:$8470 PRG:0470 68 - sta Zp14 ; CPU:$8471 PRG:0471 85 14 + sta BlockPtrLo ; CPU:$8471 PRG:0471 85 14 pla ; CPU:$8473 PRG:0473 68 - sta Zp15 ; CPU:$8474 PRG:0474 85 15 - lda (Zp14),y ; CPU:$8476 PRG:0476 B1 14 + sta BlockPtrHi ; CPU:$8474 PRG:0474 85 15 + lda (BlockPtrLo),y ; CPU:$8476 PRG:0476 B1 14 tax ; CPU:$8478 PRG:0478 AA iny ; CPU:$8479 PRG:0479 C8 - lda (Zp14),y ; CPU:$847A PRG:047A B1 14 - sta Zp15 ; CPU:$847C PRG:047C 85 15 - stx Zp14 ; CPU:$847E PRG:047E 86 14 - jmp (Zp14) ; CPU:$8480 PRG:0480 6C 14 00 + lda (BlockPtrLo),y ; CPU:$847A PRG:047A B1 14 + sta BlockPtrHi ; CPU:$847C PRG:047C 85 15 + stx BlockPtrLo ; CPU:$847E PRG:047E 86 14 + jmp (BlockPtrLo) ; CPU:$8480 PRG:0480 6C 14 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_8483 ; Global: Branch target inside Sub: taken when 8483. @@ -742,89 +1031,89 @@ Sub_846D: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_8483: - stx Zp00 ; CPU:$8483 PRG:0483 86 00 - sty Zp01 ; CPU:$8485 PRG:0485 84 01 + stx VramWritePtrLo ; CPU:$8483 PRG:0483 86 00 + sty VramWritePtrHi ; CPU:$8485 PRG:0485 84 01 jmp Sub_84C6 ; CPU:$8487 PRG:0487 4C C6 84 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero7 -; Global: Branch target inside IrqHandler: taken when OnNonzero7. +; Routine: IrqHandler_OnNonzero9 +; Global: Branch target inside IrqHandler: taken when OnNonzero9. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero7: +IrqHandler_OnNonzero9: sta PPUADDR ; CPU:$848A PRG:048A 8D 06 20 iny ; CPU:$848D PRG:048D C8 - lda (Zp00),y ; CPU:$848E PRG:048E B1 00 + lda (VramWritePtrLo),y ; CPU:$848E PRG:048E B1 00 sta PPUADDR ; CPU:$8490 PRG:0490 8D 06 20 iny ; CPU:$8493 PRG:0493 C8 - lda (Zp00),y ; CPU:$8494 PRG:0494 B1 00 + lda (VramWritePtrLo),y ; CPU:$8494 PRG:0494 B1 00 asl a ; CPU:$8496 PRG:0496 0A pha ; CPU:$8497 PRG:0497 48 - lda Zp08 ; CPU:$8498 PRG:0498 A5 08 + lda PpuCtrlShadow ; CPU:$8498 PRG:0498 A5 08 ora #$04 ; CPU:$849A PRG:049A 09 04 - bcs IrqHandler_Loop14 ; CPU:$849C PRG:049C B0 02 + bcs IrqHandler_Loop18 ; CPU:$849C PRG:049C B0 02 and #$FB ; CPU:$849E PRG:049E 29 FB ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop14 -; Global: Branch target inside IrqHandler: taken when Loop14. +; Routine: IrqHandler_Loop18 +; Global: Branch target inside IrqHandler: taken when Loop18. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop14: +IrqHandler_Loop18: sta PPUCTRL ; CPU:$84A0 PRG:04A0 8D 00 20 - sta Zp08 ; CPU:$84A3 PRG:04A3 85 08 + sta PpuCtrlShadow ; CPU:$84A3 PRG:04A3 85 08 pla ; CPU:$84A5 PRG:04A5 68 asl a ; CPU:$84A6 PRG:04A6 0A - bcc IrqHandler_Loop15 ; CPU:$84A7 PRG:04A7 90 03 + bcc IrqHandler_Loop19 ; CPU:$84A7 PRG:04A7 90 03 ora #$02 ; CPU:$84A9 PRG:04A9 09 02 iny ; CPU:$84AB PRG:04AB C8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop15 -; Global: Branch target inside IrqHandler: taken when Loop15. +; Routine: IrqHandler_Loop19 +; Global: Branch target inside IrqHandler: taken when Loop19. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop15: +IrqHandler_Loop19: lsr a ; CPU:$84AC PRG:04AC 4A lsr a ; CPU:$84AD PRG:04AD 4A tax ; CPU:$84AE PRG:04AE AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero8 -; Global: Branch target inside IrqHandler: taken when OnNonzero8. +; Routine: IrqHandler_OnNonzero10 +; Global: Branch target inside IrqHandler: taken when OnNonzero10. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero8: - bcs IrqHandler_Loop16 ; CPU:$84AF PRG:04AF B0 01 +IrqHandler_OnNonzero10: + bcs IrqHandler_Loop20 ; CPU:$84AF PRG:04AF B0 01 iny ; CPU:$84B1 PRG:04B1 C8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop16 -; Global: Branch target inside IrqHandler: taken when Loop16. +; Routine: IrqHandler_Loop20 +; Global: Branch target inside IrqHandler: taken when Loop20. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop16: - lda (Zp00),y ; CPU:$84B2 PRG:04B2 B1 00 +IrqHandler_Loop20: + lda (VramWritePtrLo),y ; CPU:$84B2 PRG:04B2 B1 00 sta PPUDATA ; CPU:$84B4 PRG:04B4 8D 07 20 dex ; CPU:$84B7 PRG:04B7 CA - bne IrqHandler_OnNonzero8 ; CPU:$84B8 PRG:04B8 D0 F5 + bne IrqHandler_OnNonzero10 ; CPU:$84B8 PRG:04B8 D0 F5 sec ; CPU:$84BA PRG:04BA 38 tya ; CPU:$84BB PRG:04BB 98 - adc Zp00 ; CPU:$84BC PRG:04BC 65 00 - sta Zp00 ; CPU:$84BE PRG:04BE 85 00 + adc VramWritePtrLo ; CPU:$84BC PRG:04BC 65 00 + sta VramWritePtrLo ; CPU:$84BE PRG:04BE 85 00 lda #$00 ; CPU:$84C0 PRG:04C0 A9 00 - adc Zp01 ; CPU:$84C2 PRG:04C2 65 01 - sta Zp01 ; CPU:$84C4 PRG:04C4 85 01 + adc VramWritePtrHi ; CPU:$84C2 PRG:04C2 65 01 + sta VramWritePtrHi ; CPU:$84C4 PRG:04C4 85 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_84C6 ; Global: Branch target inside Sub: taken when 84C6. @@ -836,8 +1125,8 @@ IrqHandler_Loop16: Sub_84C6: ldx PPUSTATUS ; CPU:$84C6 PRG:04C6 AE 02 20 ldy #$00 ; CPU:$84C9 PRG:04C9 A0 00 - lda (Zp00),y ; CPU:$84CB PRG:04CB B1 00 - bne IrqHandler_OnNonzero7 ; CPU:$84CD PRG:04CD D0 BB + lda (VramWritePtrLo),y ; CPU:$84CB PRG:04CB B1 00 + bne IrqHandler_OnNonzero9 ; CPU:$84CD PRG:04CD D0 BB ; ----------------------------------------------------------------------------- ; Routine: Sub_84CF ; Global: Branch target inside Sub: taken when 84CF. @@ -872,78 +1161,1015 @@ Sub_84DC: sta $0619 ; CPU:$84EA PRG:04EA 8D 19 06 eor $0618 ; CPU:$84ED PRG:04ED 4D 18 06 clc ; CPU:$84F0 PRG:04F0 18 - bpl IrqHandler_Loop17 ; CPU:$84F1 PRG:04F1 10 01 + bpl IrqHandler_Loop21 ; CPU:$84F1 PRG:04F1 10 01 sec ; CPU:$84F3 PRG:04F3 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop17 -; Global: Branch target inside IrqHandler: taken when Loop17. +; Routine: IrqHandler_Loop21 +; Global: Branch target inside IrqHandler: taken when Loop21. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop17: +IrqHandler_Loop21: ror $061A ; CPU:$84F4 PRG:04F4 6E 1A 06 ror $061B ; CPU:$84F7 PRG:04F7 6E 1B 06 lda $0618 ; CPU:$84FA PRG:04FA AD 18 06 rts ; CPU:$84FD PRG:04FD 60 -; ---- data $84FE-$8875 (888 bytes) ---- - .byte $86, $00, $84, $01, $A2, $20, $A0, $06, $86, $02, $84, $03, $A9, $01, $85, $31 ; CPU:$84FE PRG:04FE 86 00 84 01 A2 20 A0 06 86 02 84 03 A9 01 85 31 - .byte $A0, $00, $B1, $02, $29, $0F, $85, $05, $B1, $02, $4A, $4A, $4A, $4A, $85, $04 ; CPU:$850E PRG:050E A0 00 B1 02 29 0F 85 05 B1 02 4A 4A 4A 4A 85 04 - .byte $AE, $60, $06, $A5, $01, $20, $8E, $85, $A5, $00, $20, $8E, $85, $A5, $05, $85 ; CPU:$851E PRG:051E AE 60 06 A5 01 20 8E 85 A5 00 20 8E 85 A5 05 85 - .byte $06, $20, $8E, $85, $C8, $B1, $02, $C6, $06, $D0, $F6, $20, $8E, $85, $8E, $60 ; CPU:$852E PRG:052E 06 20 8E 85 C8 B1 02 C6 06 D0 F6 20 8E 85 8E 60 - .byte $06, $18, $A9, $20, $65, $00, $85, $00, $A9, $00, $65, $01, $85, $01, $C6, $04 ; CPU:$853E PRG:053E 06 18 A9 20 65 00 85 00 A9 00 65 01 85 01 C6 04 - .byte $D0, $D1, $F0, $23, $0A, $A8, $B9, $BC, $B6, $85, $14, $B9, $BD, $B6, $85, $15 ; CPU:$854E PRG:054E D0 D1 F0 23 0A A8 B9 BC B6 85 14 B9 BD B6 85 15 - .byte $A0, $00, $B1, $14, $85, $11, $C8, $AE, $60, $06, $B1, $14, $20, $8E, $85, $C8 ; CPU:$855E PRG:055E A0 00 B1 14 85 11 C8 AE 60 06 B1 14 20 8E 85 C8 - .byte $C6, $11, $D0, $F6, $8E, $60, $06, $A9, $00, $9D, $61, $06, $A9, $01, $85, $31 ; CPU:$856E PRG:056E C6 11 D0 F6 8E 60 06 A9 00 9D 61 06 A9 01 85 31 - .byte $60, $85, $16, $29, $F0, $4A, $4A, $4A, $4A, $20, $8E, $85, $A5, $16, $29, $0F ; CPU:$857E PRG:057E 60 85 16 29 F0 4A 4A 4A 4A 20 8E 85 A5 16 29 0F - .byte $9D, $61, $06, $E8, $8A, $C9, $55, $90, $0A, $AE, $60, $06, $A9, $00, $9D, $61 ; CPU:$858E PRG:058E 9D 61 06 E8 8A C9 55 90 0A AE 60 06 A9 00 9D 61 - .byte $06, $68, $68, $60, $AE, $60, $06, $A9, $2A, $20, $8E, $85, $A9, $7C, $20, $8E ; CPU:$859E PRG:059E 06 68 68 60 AE 60 06 A9 2A 20 8E 85 A9 7C 20 8E - .byte $85, $A9, $02, $20, $8E, $85, $A5, $70, $20, $7F, $85, $4C, $72, $85, $AE, $60 ; CPU:$85AE PRG:05AE 85 A9 02 20 8E 85 A5 70 20 7F 85 4C 72 85 AE 60 - .byte $06, $A9, $21, $20, $8E, $85, $A9, $CC, $20, $8E, $85, $A9, $08, $20, $8E, $85 ; CPU:$85BE PRG:05BE 06 A9 21 20 8E 85 A9 CC 20 8E 85 A9 08 20 8E 85 - .byte $A9, $19, $20, $8E, $85, $A9, $11, $20, $8E, $85, $A9, $0A, $20, $8E, $85, $A9 ; CPU:$85CE PRG:05CE A9 19 20 8E 85 A9 11 20 8E 85 A9 0A 20 8E 85 A9 - .byte $1C, $20, $8E, $85, $A9, $0E, $20, $8E, $85, $A9, $24, $20, $8E, $85, $A5, $70 ; CPU:$85DE PRG:05DE 1C 20 8E 85 A9 0E 20 8E 85 A9 24 20 8E 85 A5 70 - .byte $20, $7F, $85, $4C, $72, $85, $60, $A5, $82, $05, $83, $F0, $F9, $A9, $05, $85 ; CPU:$85EE PRG:05EE 20 7F 85 4C 72 85 60 A5 82 05 83 F0 F9 A9 05 85 - .byte $15, $A5, $82, $05, $83, $F0, $46, $A5, $83, $85, $03, $38, $A9, $01, $20, $D5 ; CPU:$85FE PRG:05FE 15 A5 82 05 83 F0 46 A5 83 85 03 38 A9 01 20 D5 - .byte $86, $85, $83, $A5, $82, $85, $03, $A9, $00, $20, $D5, $86, $85, $82, $A5, $81 ; CPU:$860E PRG:060E 86 85 83 A5 82 85 03 A9 00 20 D5 86 85 82 A5 81 - .byte $85, $03, $18, $A9, $01, $20, $B4, $86, $85, $81, $A5, $80, $85, $03, $A9, $00 ; CPU:$861E PRG:061E 85 03 18 A9 01 20 B4 86 85 81 A5 80 85 03 A9 00 - .byte $20, $B4, $86, $85, $80, $90, $0F, $A9, $99, $85, $80, $85, $81, $A9, $00, $85 ; CPU:$862E PRG:062E 20 B4 86 85 80 90 0F A9 99 85 80 85 81 A9 00 85 - .byte $82, $85, $83, $4C, $4B, $86, $C6, $15, $D0, $B7, $20, $99, $B2, $AE, $60, $06 ; CPU:$863E PRG:063E 82 85 83 4C 4B 86 C6 15 D0 B7 20 99 B2 AE 60 06 - .byte $A9, $2A, $20, $8E, $85, $A9, $CA, $20, $8E, $85, $A9, $04, $20, $8E, $85, $A5 ; CPU:$864E PRG:064E A9 2A 20 8E 85 A9 CA 20 8E 85 A9 04 20 8E 85 A5 - .byte $80, $20, $7F, $85, $A5, $81, $20, $7F, $85, $4C, $72, $85, $A9, $00, $85, $82 ; CPU:$865E PRG:065E 80 20 7F 85 A5 81 20 7F 85 4C 72 85 A9 00 85 82 - .byte $85, $83, $A5, $4D, $85, $03, $18, $A5, $83, $20, $B4, $86, $85, $83, $A5, $4C ; CPU:$866E PRG:066E 85 83 A5 4D 85 03 18 A5 83 20 B4 86 85 83 A5 4C - .byte $85, $03, $A5, $82, $20, $B4, $86, $85, $82, $A9, $00, $85, $03, $38, $AD, $67 ; CPU:$867E PRG:067E 85 03 A5 82 20 B4 86 85 82 A9 00 85 03 38 AD 67 - .byte $05, $ED, $66, $05, $90, $1F, $F0, $1D, $85, $15, $A9, $10, $85, $03, $18, $A5 ; CPU:$868E PRG:068E 05 ED 66 05 90 1F F0 1D 85 15 A9 10 85 03 18 A5 - .byte $83, $20, $B4, $86, $85, $83, $A9, $00, $85, $03, $A5, $82, $20, $B4, $86, $85 ; CPU:$869E PRG:069E 83 20 B4 86 85 83 A9 00 85 03 A5 82 20 B4 86 85 - .byte $82, $C6, $15, $D0, $E5, $60, $20, $F7, $86, $65, $01, $C9, $0A, $90, $02, $69 ; CPU:$86AE PRG:06AE 82 C6 15 D0 E5 60 20 F7 86 65 01 C9 0A 90 02 69 - .byte $05, $18, $65, $02, $85, $02, $A5, $03, $29, $F0, $65, $02, $90, $04, $69, $5F ; CPU:$86BE PRG:06BE 05 18 65 02 85 02 A5 03 29 F0 65 02 90 04 69 5F - .byte $38, $60, $C9, $A0, $B0, $F8, $60, $20, $F7, $86, $E5, $01, $85, $01, $B0, $0A ; CPU:$86CE PRG:06CE 38 60 C9 A0 B0 F8 60 20 F7 86 E5 01 85 01 B0 0A - .byte $69, $0A, $85, $01, $A5, $02, $69, $0F, $85, $02, $A5, $03, $29, $F0, $38, $E5 ; CPU:$86DE PRG:06DE 69 0A 85 01 A5 02 69 0F 85 02 A5 03 29 F0 38 E5 - .byte $02, $B0, $03, $69, $A0, $18, $05, $01, $60, $48, $29, $0F, $85, $01, $68, $29 ; CPU:$86EE PRG:06EE 02 B0 03 69 A0 18 05 01 60 48 29 0F 85 01 68 29 - .byte $F0, $85, $02, $A5, $03, $29, $0F, $60, $A5, $4D, $05, $4C, $F0, $F9, $C6, $4E ; CPU:$86FE PRG:06FE F0 85 02 A5 03 29 0F 60 A5 4D 05 4C F0 F9 C6 4E - .byte $D0, $F5, $A9, $1E, $A5, $49, $F0, $02, $A9, $78, $85, $4E, $38, $A5, $4D, $85 ; CPU:$870E PRG:070E D0 F5 A9 1E A5 49 F0 02 A9 78 85 4E 38 A5 4D 85 - .byte $03, $A9, $01, $20, $D5, $86, $85, $4D, $A5, $4C, $85, $03, $A9, $00, $20, $D5 ; CPU:$871E PRG:071E 03 A9 01 20 D5 86 85 4D A5 4C 85 03 A9 00 20 D5 - .byte $86, $85, $4C, $AE, $60, $06, $A9, $2B, $20, $8E, $85, $A9, $2B, $20, $8E, $85 ; CPU:$872E PRG:072E 86 85 4C AE 60 06 A9 2B 20 8E 85 A9 2B 20 8E 85 - .byte $A9, $03, $20, $8E, $85, $A5, $4C, $29, $0F, $20, $8E, $85, $A5, $4D, $20, $7F ; CPU:$873E PRG:073E A9 03 20 8E 85 A5 4C 29 0F 20 8E 85 A5 4D 20 7F - .byte $85, $4C, $72, $85, $A5, $5F, $F0, $40, $C6, $5E, $D0, $3C, $A9, $3C, $85, $5E ; CPU:$874E PRG:074E 85 4C 72 85 A5 5F F0 40 C6 5E D0 3C A9 3C 85 5E - .byte $38, $A5, $5D, $85, $03, $A9, $01, $20, $D5, $86, $85, $5D, $B0, $12, $A9, $59 ; CPU:$875E PRG:075E 38 A5 5D 85 03 A9 01 20 D5 86 85 5D B0 12 A9 59 - .byte $85, $5D, $38, $A5, $5C, $85, $03, $A9, $01, $20, $D5, $86, $85, $5C, $B0, $00 ; CPU:$876E PRG:076E 85 5D 38 A5 5C 85 03 A9 01 20 D5 86 85 5C B0 00 - .byte $20, $97, $87, $A5, $5C, $D0, $09, $A5, $5D, $C9, $30, $D0, $03, $20, $73, $B2 ; CPU:$877E PRG:077E 20 97 87 A5 5C D0 09 A5 5D C9 30 D0 03 20 73 B2 - .byte $A5, $5D, $05, $5C, $D0, $02, $85, $5F, $60, $AE, $60, $06, $A9, $20, $20, $8E ; CPU:$878E PRG:078E A5 5D 05 5C D0 02 85 5F 60 AE 60 06 A9 20 20 8E - .byte $85, $A9, $91, $20, $8E, $85, $A9, $04, $20, $8E, $85, $A5, $5C, $29, $0F, $20 ; CPU:$879E PRG:079E 85 A9 91 20 8E 85 A9 04 20 8E 85 A5 5C 29 0F 20 - .byte $8E, $85, $A9, $FF, $20, $8E, $85, $A5, $5D, $20, $7F, $85, $4C, $72, $85, $AE ; CPU:$87AE PRG:07AE 8E 85 A9 FF 20 8E 85 A5 5D 20 7F 85 4C 72 85 AE - .byte $60, $06, $A9, $2B, $20, $8E, $85, $A9, $06, $D0, $D8, $A5, $40, $F0, $11, $A9 ; CPU:$87BE PRG:07BE 60 06 A9 2B 20 8E 85 A9 06 D0 D8 A5 40 F0 11 A9 - .byte $01, $85, $5F, $A9, $05, $85, $5C, $A9, $00, $85, $5D, $A9, $40, $85, $5E, $60 ; CPU:$87CE PRG:07CE 01 85 5F A9 05 85 5C A9 00 85 5D A9 40 85 5E 60 - .byte $A5, $49, $D0, $0F, $A5, $70, $C9, $20, $90, $02, $A9, $1A, $0A, $18, $69, $36 ; CPU:$87DE PRG:07DE A5 49 D0 0F A5 70 C9 20 90 02 A9 1A 0A 18 69 36 - .byte $4C, $FA, $87, $A5, $70, $C9, $20, $90, $02, $A9, $1A, $0A, $AA, $BD, $0A, $88 ; CPU:$87EE PRG:07EE 4C FA 87 A5 70 C9 20 90 02 A9 1A 0A AA BD 0A 88 - .byte $85, $4C, $BD, $0B, $88, $85, $4D, $A9, $78, $85, $4E, $60, $00, $00, $00, $50 ; CPU:$87FE PRG:07FE 85 4C BD 0B 88 85 4D A9 78 85 4E 60 00 00 00 50 - .byte $00, $50, $00, $70, $00, $70, $00, $70, $00, $90, $00, $90, $00, $90, $00, $90 ; CPU:$880E PRG:080E 00 50 00 70 00 70 00 70 00 90 00 90 00 90 00 90 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $01, $10 ; CPU:$881E PRG:081E 00 00 00 00 00 00 00 00 00 00 00 00 00 90 01 10 - .byte $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10 ; CPU:$882E PRG:082E 01 10 01 10 01 10 01 10 01 10 01 10 01 10 01 10 - .byte $01, $30, $00, $00, $00, $50, $00, $50, $00, $70, $00, $70, $00, $70, $00, $90 ; CPU:$883E PRG:083E 01 30 00 00 00 50 00 50 00 70 00 70 00 70 00 90 - .byte $00, $90, $00, $90, $00, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$884E PRG:084E 00 90 00 90 00 90 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $90, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10 ; CPU:$885E PRG:085E 00 00 00 90 01 10 01 10 01 10 01 10 01 10 01 10 - .byte $01, $10, $01, $10, $01, $10, $01, $30 ; CPU:$886E PRG:086E 01 10 01 10 01 10 01 30 +; ----------------------------------------------------------------------------- +; Routine: Label_84FE +; Global: Branch target inside Label: taken when 84FE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_84FE: + stx VramWritePtrLo ; CPU:$84FE PRG:04FE 86 00 + sty VramWritePtrHi ; CPU:$8500 PRG:0500 84 01 + ldx #$20 ; CPU:$8502 PRG:0502 A2 20 + ldy #$06 ; CPU:$8504 PRG:0504 A0 06 + stx Zp02 ; CPU:$8506 PRG:0506 86 02 + sty Zp03 ; CPU:$8508 PRG:0508 84 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_850A +; Global: Branch target inside Sub: taken when 850A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_850A: + lda #$01 ; CPU:$850A PRG:050A A9 01 + sta Zp31 ; CPU:$850C PRG:050C 85 31 + ldy #$00 ; CPU:$850E PRG:050E A0 00 + lda (Zp02),y ; CPU:$8510 PRG:0510 B1 02 + and #$0F ; CPU:$8512 PRG:0512 29 0F + sta Zp05 ; CPU:$8514 PRG:0514 85 05 + lda (Zp02),y ; CPU:$8516 PRG:0516 B1 02 + lsr a ; CPU:$8518 PRG:0518 4A + lsr a ; CPU:$8519 PRG:0519 4A + lsr a ; CPU:$851A PRG:051A 4A + lsr a ; CPU:$851B PRG:051B 4A + sta Zp04 ; CPU:$851C PRG:051C 85 04 + ldx $0660 ; CPU:$851E PRG:051E AE 60 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero11 +; Global: Branch target inside IrqHandler: taken when OnNonzero11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero11: + lda VramWritePtrHi ; CPU:$8521 PRG:0521 A5 01 + jsr Sub_858E ; CPU:$8523 PRG:0523 20 8E 85 + lda VramWritePtrLo ; CPU:$8526 PRG:0526 A5 00 + jsr Sub_858E ; CPU:$8528 PRG:0528 20 8E 85 + lda Zp05 ; CPU:$852B PRG:052B A5 05 + sta Zp06 ; CPU:$852D PRG:052D 85 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero12 +; Global: Branch target inside IrqHandler: taken when OnNonzero12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero12: + jsr Sub_858E ; CPU:$852F PRG:052F 20 8E 85 + iny ; CPU:$8532 PRG:0532 C8 + lda (Zp02),y ; CPU:$8533 PRG:0533 B1 02 + dec Zp06 ; CPU:$8535 PRG:0535 C6 06 + bne IrqHandler_OnNonzero12 ; CPU:$8537 PRG:0537 D0 F6 + jsr Sub_858E ; CPU:$8539 PRG:0539 20 8E 85 + stx $0660 ; CPU:$853C PRG:053C 8E 60 06 + clc ; CPU:$853F PRG:053F 18 + lda #$20 ; CPU:$8540 PRG:0540 A9 20 + adc VramWritePtrLo ; CPU:$8542 PRG:0542 65 00 + sta VramWritePtrLo ; CPU:$8544 PRG:0544 85 00 + lda #$00 ; CPU:$8546 PRG:0546 A9 00 + adc VramWritePtrHi ; CPU:$8548 PRG:0548 65 01 + sta VramWritePtrHi ; CPU:$854A PRG:054A 85 01 + dec Zp04 ; CPU:$854C PRG:054C C6 04 + bne IrqHandler_OnNonzero11 ; CPU:$854E PRG:054E D0 D1 + beq IrqHandler_Loop22 ; CPU:$8550 PRG:0550 F0 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_8552 +; Global: Branch target inside Sub: taken when 8552. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8552: + asl a ; CPU:$8552 PRG:0552 0A + tay ; CPU:$8553 PRG:0553 A8 + lda $B6BC,y ; CPU:$8554 PRG:0554 B9 BC B6 + sta BlockPtrLo ; CPU:$8557 PRG:0557 85 14 + lda $B6BD,y ; CPU:$8559 PRG:0559 B9 BD B6 + sta BlockPtrHi ; CPU:$855C PRG:055C 85 15 + ldy #$00 ; CPU:$855E PRG:055E A0 00 + lda (BlockPtrLo),y ; CPU:$8560 PRG:0560 B1 14 + sta Zp11 ; CPU:$8562 PRG:0562 85 11 + iny ; CPU:$8564 PRG:0564 C8 + ldx $0660 ; CPU:$8565 PRG:0565 AE 60 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero13 +; Global: Branch target inside IrqHandler: taken when OnNonzero13. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero13: + lda (BlockPtrLo),y ; CPU:$8568 PRG:0568 B1 14 + jsr Sub_858E ; CPU:$856A PRG:056A 20 8E 85 + iny ; CPU:$856D PRG:056D C8 + dec Zp11 ; CPU:$856E PRG:056E C6 11 + bne IrqHandler_OnNonzero13 ; CPU:$8570 PRG:0570 D0 F6 +; ----------------------------------------------------------------------------- +; Routine: Sub_8572 +; Global: Branch target inside Sub: taken when 8572. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8572: + stx $0660 ; CPU:$8572 PRG:0572 8E 60 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop22 +; Global: Branch target inside IrqHandler: taken when Loop22. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop22: + lda #$00 ; CPU:$8575 PRG:0575 A9 00 + sta $0661,x ; CPU:$8577 PRG:0577 9D 61 06 + lda #$01 ; CPU:$857A PRG:057A A9 01 + sta Zp31 ; CPU:$857C PRG:057C 85 31 + rts ; CPU:$857E PRG:057E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_857F +; Global: Branch target inside Sub: taken when 857F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_857F: + sta BlockType ; CPU:$857F PRG:057F 85 16 + and #$F0 ; CPU:$8581 PRG:0581 29 F0 + lsr a ; CPU:$8583 PRG:0583 4A + lsr a ; CPU:$8584 PRG:0584 4A + lsr a ; CPU:$8585 PRG:0585 4A + lsr a ; CPU:$8586 PRG:0586 4A + jsr Sub_858E ; CPU:$8587 PRG:0587 20 8E 85 + lda BlockType ; CPU:$858A PRG:058A A5 16 + and #$0F ; CPU:$858C PRG:058C 29 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_858E +; Global: Branch target inside Sub: taken when 858E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_858E: + sta $0661,x ; CPU:$858E PRG:058E 9D 61 06 + inx ; CPU:$8591 PRG:0591 E8 + txa ; CPU:$8592 PRG:0592 8A + cmp #$55 ; CPU:$8593 PRG:0593 C9 55 + bcc IrqHandler_Loop23 ; CPU:$8595 PRG:0595 90 0A + ldx $0660 ; CPU:$8597 PRG:0597 AE 60 06 + lda #$00 ; CPU:$859A PRG:059A A9 00 + sta $0661,x ; CPU:$859C PRG:059C 9D 61 06 + pla ; CPU:$859F PRG:059F 68 + pla ; CPU:$85A0 PRG:05A0 68 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop23 +; Global: Branch target inside IrqHandler: taken when Loop23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop23: + rts ; CPU:$85A1 PRG:05A1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_85A2 +; Global: Branch target inside Sub: taken when 85A2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_85A2: + ldx $0660 ; CPU:$85A2 PRG:05A2 AE 60 06 + lda #$2A ; CPU:$85A5 PRG:05A5 A9 2A + jsr Sub_858E ; CPU:$85A7 PRG:05A7 20 8E 85 + lda #$7C ; CPU:$85AA PRG:05AA A9 7C + jsr Sub_858E ; CPU:$85AC PRG:05AC 20 8E 85 + lda #$02 ; CPU:$85AF PRG:05AF A9 02 + jsr Sub_858E ; CPU:$85B1 PRG:05B1 20 8E 85 + lda Zp70 ; CPU:$85B4 PRG:05B4 A5 70 + jsr Sub_857F ; CPU:$85B6 PRG:05B6 20 7F 85 + jmp Sub_8572 ; CPU:$85B9 PRG:05B9 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_85BC +; Global: Branch target inside Sub: taken when 85BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_85BC: + ldx $0660 ; CPU:$85BC PRG:05BC AE 60 06 + lda #$21 ; CPU:$85BF PRG:05BF A9 21 + jsr Sub_858E ; CPU:$85C1 PRG:05C1 20 8E 85 + lda #$CC ; CPU:$85C4 PRG:05C4 A9 CC + jsr Sub_858E ; CPU:$85C6 PRG:05C6 20 8E 85 + lda #$08 ; CPU:$85C9 PRG:05C9 A9 08 + jsr Sub_858E ; CPU:$85CB PRG:05CB 20 8E 85 + lda #$19 ; CPU:$85CE PRG:05CE A9 19 + jsr Sub_858E ; CPU:$85D0 PRG:05D0 20 8E 85 + lda #$11 ; CPU:$85D3 PRG:05D3 A9 11 + jsr Sub_858E ; CPU:$85D5 PRG:05D5 20 8E 85 + lda #$0A ; CPU:$85D8 PRG:05D8 A9 0A + jsr Sub_858E ; CPU:$85DA PRG:05DA 20 8E 85 + lda #$1C ; CPU:$85DD PRG:05DD A9 1C + jsr Sub_858E ; CPU:$85DF PRG:05DF 20 8E 85 + lda #$0E ; CPU:$85E2 PRG:05E2 A9 0E + jsr Sub_858E ; CPU:$85E4 PRG:05E4 20 8E 85 + lda #$24 ; CPU:$85E7 PRG:05E7 A9 24 + jsr Sub_858E ; CPU:$85E9 PRG:05E9 20 8E 85 + lda Zp70 ; CPU:$85EC PRG:05EC A5 70 + jsr Sub_857F ; CPU:$85EE PRG:05EE 20 7F 85 + jmp Sub_8572 ; CPU:$85F1 PRG:05F1 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero2 +; Global: Branch target inside IrqHandler: taken when OnZero2. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero2: + rts ; CPU:$85F4 PRG:05F4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_85F5 +; Global: Branch target inside Sub: taken when 85F5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_85F5: + lda Zp82 ; CPU:$85F5 PRG:05F5 A5 82 + ora Zp83 ; CPU:$85F7 PRG:05F7 05 83 + beq IrqHandler_OnZero2 ; CPU:$85F9 PRG:05F9 F0 F9 + lda #$05 ; CPU:$85FB PRG:05FB A9 05 + sta BlockPtrHi ; CPU:$85FD PRG:05FD 85 15 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero14 +; Global: Branch target inside IrqHandler: taken when OnNonzero14. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero14: + lda Zp82 ; CPU:$85FF PRG:05FF A5 82 + ora Zp83 ; CPU:$8601 PRG:0601 05 83 + beq IrqHandler_Loop25 ; CPU:$8603 PRG:0603 F0 46 + lda Zp83 ; CPU:$8605 PRG:0605 A5 83 + sta Zp03 ; CPU:$8607 PRG:0607 85 03 + sec ; CPU:$8609 PRG:0609 38 + lda #$01 ; CPU:$860A PRG:060A A9 01 + jsr Sub_86D5 ; CPU:$860C PRG:060C 20 D5 86 + sta Zp83 ; CPU:$860F PRG:060F 85 83 + lda Zp82 ; CPU:$8611 PRG:0611 A5 82 + sta Zp03 ; CPU:$8613 PRG:0613 85 03 + lda #$00 ; CPU:$8615 PRG:0615 A9 00 + jsr Sub_86D5 ; CPU:$8617 PRG:0617 20 D5 86 + sta Zp82 ; CPU:$861A PRG:061A 85 82 + lda Zp81 ; CPU:$861C PRG:061C A5 81 + sta Zp03 ; CPU:$861E PRG:061E 85 03 + clc ; CPU:$8620 PRG:0620 18 + lda #$01 ; CPU:$8621 PRG:0621 A9 01 + jsr Sub_86B4 ; CPU:$8623 PRG:0623 20 B4 86 + sta Zp81 ; CPU:$8626 PRG:0626 85 81 + lda Zp80 ; CPU:$8628 PRG:0628 A5 80 + sta Zp03 ; CPU:$862A PRG:062A 85 03 + lda #$00 ; CPU:$862C PRG:062C A9 00 + jsr Sub_86B4 ; CPU:$862E PRG:062E 20 B4 86 + sta Zp80 ; CPU:$8631 PRG:0631 85 80 + bcc IrqHandler_Loop24 ; CPU:$8633 PRG:0633 90 0F + lda #$99 ; CPU:$8635 PRG:0635 A9 99 + sta Zp80 ; CPU:$8637 PRG:0637 85 80 + sta Zp81 ; CPU:$8639 PRG:0639 85 81 + lda #$00 ; CPU:$863B PRG:063B A9 00 + sta Zp82 ; CPU:$863D PRG:063D 85 82 + sta Zp83 ; CPU:$863F PRG:063F 85 83 + jmp IrqHandler_Loop25 ; CPU:$8641 PRG:0641 4C 4B 86 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop24 +; Global: Branch target inside IrqHandler: taken when Loop24. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop24: + dec BlockPtrHi ; CPU:$8644 PRG:0644 C6 15 + bne IrqHandler_OnNonzero14 ; CPU:$8646 PRG:0646 D0 B7 + jsr Sub_B299 ; CPU:$8648 PRG:0648 20 99 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop25 +; Global: Branch target inside IrqHandler: taken when Loop25. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop25: + ldx $0660 ; CPU:$864B PRG:064B AE 60 06 + lda #$2A ; CPU:$864E PRG:064E A9 2A + jsr Sub_858E ; CPU:$8650 PRG:0650 20 8E 85 + lda #$CA ; CPU:$8653 PRG:0653 A9 CA + jsr Sub_858E ; CPU:$8655 PRG:0655 20 8E 85 + lda #$04 ; CPU:$8658 PRG:0658 A9 04 + jsr Sub_858E ; CPU:$865A PRG:065A 20 8E 85 + lda Zp80 ; CPU:$865D PRG:065D A5 80 + jsr Sub_857F ; CPU:$865F PRG:065F 20 7F 85 + lda Zp81 ; CPU:$8662 PRG:0662 A5 81 + jsr Sub_857F ; CPU:$8664 PRG:0664 20 7F 85 + jmp Sub_8572 ; CPU:$8667 PRG:0667 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_866A +; Global: Branch target inside Sub: taken when 866A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_866A: + lda #$00 ; CPU:$866A PRG:066A A9 00 + sta Zp82 ; CPU:$866C PRG:066C 85 82 + sta Zp83 ; CPU:$866E PRG:066E 85 83 + lda Zp4D ; CPU:$8670 PRG:0670 A5 4D + sta Zp03 ; CPU:$8672 PRG:0672 85 03 + clc ; CPU:$8674 PRG:0674 18 + lda Zp83 ; CPU:$8675 PRG:0675 A5 83 + jsr Sub_86B4 ; CPU:$8677 PRG:0677 20 B4 86 + sta Zp83 ; CPU:$867A PRG:067A 85 83 + lda Zp4C ; CPU:$867C PRG:067C A5 4C + sta Zp03 ; CPU:$867E PRG:067E 85 03 + lda Zp82 ; CPU:$8680 PRG:0680 A5 82 + jsr Sub_86B4 ; CPU:$8682 PRG:0682 20 B4 86 + sta Zp82 ; CPU:$8685 PRG:0685 85 82 + lda #$00 ; CPU:$8687 PRG:0687 A9 00 + sta Zp03 ; CPU:$8689 PRG:0689 85 03 + sec ; CPU:$868B PRG:068B 38 + lda $0567 ; CPU:$868C PRG:068C AD 67 05 + sbc $0566 ; CPU:$868F PRG:068F ED 66 05 + bcc IrqHandler_Loop26 ; CPU:$8692 PRG:0692 90 1F + beq IrqHandler_Loop26 ; CPU:$8694 PRG:0694 F0 1D + sta BlockPtrHi ; CPU:$8696 PRG:0696 85 15 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero15 +; Global: Branch target inside IrqHandler: taken when OnNonzero15. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero15: + lda #$10 ; CPU:$8698 PRG:0698 A9 10 + sta Zp03 ; CPU:$869A PRG:069A 85 03 + clc ; CPU:$869C PRG:069C 18 + lda Zp83 ; CPU:$869D PRG:069D A5 83 + jsr Sub_86B4 ; CPU:$869F PRG:069F 20 B4 86 + sta Zp83 ; CPU:$86A2 PRG:06A2 85 83 + lda #$00 ; CPU:$86A4 PRG:06A4 A9 00 + sta Zp03 ; CPU:$86A6 PRG:06A6 85 03 + lda Zp82 ; CPU:$86A8 PRG:06A8 A5 82 + jsr Sub_86B4 ; CPU:$86AA PRG:06AA 20 B4 86 + sta Zp82 ; CPU:$86AD PRG:06AD 85 82 + dec BlockPtrHi ; CPU:$86AF PRG:06AF C6 15 + bne IrqHandler_OnNonzero15 ; CPU:$86B1 PRG:06B1 D0 E5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop26 +; Global: Branch target inside IrqHandler: taken when Loop26. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop26: + rts ; CPU:$86B3 PRG:06B3 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_86B4 +; Global: Branch target inside Sub: taken when 86B4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86B4: + jsr Sub_86F7 ; CPU:$86B4 PRG:06B4 20 F7 86 + adc VramWritePtrHi ; CPU:$86B7 PRG:06B7 65 01 + cmp #$0A ; CPU:$86B9 PRG:06B9 C9 0A + bcc IrqHandler_Loop27 ; CPU:$86BB PRG:06BB 90 02 + adc #$05 ; CPU:$86BD PRG:06BD 69 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop27 +; Global: Branch target inside IrqHandler: taken when Loop27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop27: + clc ; CPU:$86BF PRG:06BF 18 + adc Zp02 ; CPU:$86C0 PRG:06C0 65 02 + sta Zp02 ; CPU:$86C2 PRG:06C2 85 02 + lda Zp03 ; CPU:$86C4 PRG:06C4 A5 03 + and #$F0 ; CPU:$86C6 PRG:06C6 29 F0 + adc Zp02 ; CPU:$86C8 PRG:06C8 65 02 + bcc IrqHandler_Loop28 ; CPU:$86CA PRG:06CA 90 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet +; Global: Branch target inside IrqHandler: taken when the addition or subtraction carried. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet: + adc #$5F ; CPU:$86CC PRG:06CC 69 5F + sec ; CPU:$86CE PRG:06CE 38 + rts ; CPU:$86CF PRG:06CF 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop28 +; Global: Branch target inside IrqHandler: taken when Loop28. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop28: + cmp #$A0 ; CPU:$86D0 PRG:06D0 C9 A0 + bcs IrqHandler_OnCarrySet ; CPU:$86D2 PRG:06D2 B0 F8 + rts ; CPU:$86D4 PRG:06D4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_86D5 +; Global: Branch target inside Sub: taken when 86D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86D5: + jsr Sub_86F7 ; CPU:$86D5 PRG:06D5 20 F7 86 + sbc VramWritePtrHi ; CPU:$86D8 PRG:06D8 E5 01 + sta VramWritePtrHi ; CPU:$86DA PRG:06DA 85 01 + bcs IrqHandler_Loop29 ; CPU:$86DC PRG:06DC B0 0A + adc #$0A ; CPU:$86DE PRG:06DE 69 0A + sta VramWritePtrHi ; CPU:$86E0 PRG:06E0 85 01 + lda Zp02 ; CPU:$86E2 PRG:06E2 A5 02 + adc #$0F ; CPU:$86E4 PRG:06E4 69 0F + sta Zp02 ; CPU:$86E6 PRG:06E6 85 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop29 +; Global: Branch target inside IrqHandler: taken when Loop29. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop29: + lda Zp03 ; CPU:$86E8 PRG:06E8 A5 03 + and #$F0 ; CPU:$86EA PRG:06EA 29 F0 + sec ; CPU:$86EC PRG:06EC 38 + sbc Zp02 ; CPU:$86ED PRG:06ED E5 02 + bcs IrqHandler_Loop30 ; CPU:$86EF PRG:06EF B0 03 + adc #$A0 ; CPU:$86F1 PRG:06F1 69 A0 + clc ; CPU:$86F3 PRG:06F3 18 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop30 +; Global: Branch target inside IrqHandler: taken when Loop30. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop30: + ora VramWritePtrHi ; CPU:$86F4 PRG:06F4 05 01 + rts ; CPU:$86F6 PRG:06F6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_86F7 +; Global: Branch target inside Sub: taken when 86F7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_86F7: + pha ; CPU:$86F7 PRG:06F7 48 + and #$0F ; CPU:$86F8 PRG:06F8 29 0F + sta VramWritePtrHi ; CPU:$86FA PRG:06FA 85 01 + pla ; CPU:$86FC PRG:06FC 68 + and #$F0 ; CPU:$86FD PRG:06FD 29 F0 + sta Zp02 ; CPU:$86FF PRG:06FF 85 02 + lda Zp03 ; CPU:$8701 PRG:0701 A5 03 + and #$0F ; CPU:$8703 PRG:0703 29 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero3 +; Global: Branch target inside IrqHandler: taken when OnZero3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero3: + rts ; CPU:$8705 PRG:0705 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8706 +; Global: Branch target inside Sub: taken when 8706. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8706: + lda Zp4D ; CPU:$8706 PRG:0706 A5 4D + ora Zp4C ; CPU:$8708 PRG:0708 05 4C + beq IrqHandler_OnZero3 ; CPU:$870A PRG:070A F0 F9 + dec Zp4E ; CPU:$870C PRG:070C C6 4E + bne IrqHandler_OnZero3 ; CPU:$870E PRG:070E D0 F5 + lda #$1E ; CPU:$8710 PRG:0710 A9 1E + lda GameState ; CPU:$8712 PRG:0712 A5 49 + beq IrqHandler_Loop31 ; CPU:$8714 PRG:0714 F0 02 + lda #$78 ; CPU:$8716 PRG:0716 A9 78 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop31 +; Global: Branch target inside IrqHandler: taken when Loop31. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop31: + sta Zp4E ; CPU:$8718 PRG:0718 85 4E + sec ; CPU:$871A PRG:071A 38 + lda Zp4D ; CPU:$871B PRG:071B A5 4D + sta Zp03 ; CPU:$871D PRG:071D 85 03 + lda #$01 ; CPU:$871F PRG:071F A9 01 + jsr Sub_86D5 ; CPU:$8721 PRG:0721 20 D5 86 + sta Zp4D ; CPU:$8724 PRG:0724 85 4D + lda Zp4C ; CPU:$8726 PRG:0726 A5 4C + sta Zp03 ; CPU:$8728 PRG:0728 85 03 + lda #$00 ; CPU:$872A PRG:072A A9 00 + jsr Sub_86D5 ; CPU:$872C PRG:072C 20 D5 86 + sta Zp4C ; CPU:$872F PRG:072F 85 4C +; ----------------------------------------------------------------------------- +; Routine: Sub_8731 +; Global: Branch target inside Sub: taken when 8731. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8731: + ldx $0660 ; CPU:$8731 PRG:0731 AE 60 06 + lda #$2B ; CPU:$8734 PRG:0734 A9 2B + jsr Sub_858E ; CPU:$8736 PRG:0736 20 8E 85 + lda #$2B ; CPU:$8739 PRG:0739 A9 2B + jsr Sub_858E ; CPU:$873B PRG:073B 20 8E 85 + lda #$03 ; CPU:$873E PRG:073E A9 03 + jsr Sub_858E ; CPU:$8740 PRG:0740 20 8E 85 + lda Zp4C ; CPU:$8743 PRG:0743 A5 4C + and #$0F ; CPU:$8745 PRG:0745 29 0F + jsr Sub_858E ; CPU:$8747 PRG:0747 20 8E 85 + lda Zp4D ; CPU:$874A PRG:074A A5 4D + jsr Sub_857F ; CPU:$874C PRG:074C 20 7F 85 + jmp Sub_8572 ; CPU:$874F PRG:074F 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_8752 +; Global: Branch target inside Sub: taken when 8752. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8752: + lda Zp5F ; CPU:$8752 PRG:0752 A5 5F + beq IrqHandler_Loop34 ; CPU:$8754 PRG:0754 F0 40 + dec Zp5E ; CPU:$8756 PRG:0756 C6 5E + bne IrqHandler_Loop34 ; CPU:$8758 PRG:0758 D0 3C + lda #$3C ; CPU:$875A PRG:075A A9 3C + sta Zp5E ; CPU:$875C PRG:075C 85 5E + sec ; CPU:$875E PRG:075E 38 + lda Zp5D ; CPU:$875F PRG:075F A5 5D + sta Zp03 ; CPU:$8761 PRG:0761 85 03 + lda #$01 ; CPU:$8763 PRG:0763 A9 01 + jsr Sub_86D5 ; CPU:$8765 PRG:0765 20 D5 86 + sta Zp5D ; CPU:$8768 PRG:0768 85 5D + bcs IrqHandler_Loop32 ; CPU:$876A PRG:076A B0 12 + lda #$59 ; CPU:$876C PRG:076C A9 59 + sta Zp5D ; CPU:$876E PRG:076E 85 5D + sec ; CPU:$8770 PRG:0770 38 + lda Zp5C ; CPU:$8771 PRG:0771 A5 5C + sta Zp03 ; CPU:$8773 PRG:0773 85 03 + lda #$01 ; CPU:$8775 PRG:0775 A9 01 + jsr Sub_86D5 ; CPU:$8777 PRG:0777 20 D5 86 + sta Zp5C ; CPU:$877A PRG:077A 85 5C + bcs IrqHandler_Loop32 ; CPU:$877C PRG:077C B0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop32 +; Global: Branch target inside IrqHandler: taken when Loop32. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop32: + jsr Sub_8797 ; CPU:$877E PRG:077E 20 97 87 + lda Zp5C ; CPU:$8781 PRG:0781 A5 5C + bne IrqHandler_Loop33 ; CPU:$8783 PRG:0783 D0 09 + lda Zp5D ; CPU:$8785 PRG:0785 A5 5D + cmp #$30 ; CPU:$8787 PRG:0787 C9 30 + bne IrqHandler_Loop33 ; CPU:$8789 PRG:0789 D0 03 + jsr Sub_B273 ; CPU:$878B PRG:078B 20 73 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop33 +; Global: Branch target inside IrqHandler: taken when Loop33. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop33: + lda Zp5D ; CPU:$878E PRG:078E A5 5D + ora Zp5C ; CPU:$8790 PRG:0790 05 5C + bne IrqHandler_Loop34 ; CPU:$8792 PRG:0792 D0 02 + sta Zp5F ; CPU:$8794 PRG:0794 85 5F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop34 +; Global: Branch target inside IrqHandler: taken when Loop34. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop34: + rts ; CPU:$8796 PRG:0796 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8797 +; Global: Branch target inside Sub: taken when 8797. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8797: + ldx $0660 ; CPU:$8797 PRG:0797 AE 60 06 + lda #$20 ; CPU:$879A PRG:079A A9 20 + jsr Sub_858E ; CPU:$879C PRG:079C 20 8E 85 + lda #$91 ; CPU:$879F PRG:079F A9 91 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero16 +; Global: Branch target inside IrqHandler: taken when OnNonzero16. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero16: + jsr Sub_858E ; CPU:$87A1 PRG:07A1 20 8E 85 + lda #$04 ; CPU:$87A4 PRG:07A4 A9 04 + jsr Sub_858E ; CPU:$87A6 PRG:07A6 20 8E 85 + lda Zp5C ; CPU:$87A9 PRG:07A9 A5 5C + and #$0F ; CPU:$87AB PRG:07AB 29 0F + jsr Sub_858E ; CPU:$87AD PRG:07AD 20 8E 85 + lda #$FF ; CPU:$87B0 PRG:07B0 A9 FF + jsr Sub_858E ; CPU:$87B2 PRG:07B2 20 8E 85 + lda Zp5D ; CPU:$87B5 PRG:07B5 A5 5D + jsr Sub_857F ; CPU:$87B7 PRG:07B7 20 7F 85 + jmp Sub_8572 ; CPU:$87BA PRG:07BA 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Label_87BD +; Global: Branch target inside Label: taken when 87BD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_87BD: + ldx $0660 ; CPU:$87BD PRG:07BD AE 60 06 + lda #$2B ; CPU:$87C0 PRG:07C0 A9 2B + jsr Sub_858E ; CPU:$87C2 PRG:07C2 20 8E 85 + lda #$06 ; CPU:$87C5 PRG:07C5 A9 06 + bne IrqHandler_OnNonzero16 ; CPU:$87C7 PRG:07C7 D0 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_87C9 +; Global: Branch target inside Sub: taken when 87C9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_87C9: + lda BoardState ; CPU:$87C9 PRG:07C9 A5 40 + beq IrqHandler_Loop35 ; CPU:$87CB PRG:07CB F0 11 + lda #$01 ; CPU:$87CD PRG:07CD A9 01 + sta Zp5F ; CPU:$87CF PRG:07CF 85 5F + lda #$05 ; CPU:$87D1 PRG:07D1 A9 05 + sta Zp5C ; CPU:$87D3 PRG:07D3 85 5C + lda #$00 ; CPU:$87D5 PRG:07D5 A9 00 + sta Zp5D ; CPU:$87D7 PRG:07D7 85 5D + lda #$40 ; CPU:$87D9 PRG:07D9 A9 40 + sta Zp5E ; CPU:$87DB PRG:07DB 85 5E + rts ; CPU:$87DD PRG:07DD 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop35 +; Global: Branch target inside IrqHandler: taken when Loop35. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop35: + lda GameState ; CPU:$87DE PRG:07DE A5 49 + bne IrqHandler_Loop37 ; CPU:$87E0 PRG:07E0 D0 0F + lda Zp70 ; CPU:$87E2 PRG:07E2 A5 70 + cmp #$20 ; CPU:$87E4 PRG:07E4 C9 20 + bcc IrqHandler_Loop36 ; CPU:$87E6 PRG:07E6 90 02 + lda #$1A ; CPU:$87E8 PRG:07E8 A9 1A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop36 +; Global: Branch target inside IrqHandler: taken when Loop36. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop36: + asl a ; CPU:$87EA PRG:07EA 0A + clc ; CPU:$87EB PRG:07EB 18 + adc #$36 ; CPU:$87EC PRG:07EC 69 36 + jmp Sub_87FA ; CPU:$87EE PRG:07EE 4C FA 87 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop37 +; Global: Branch target inside IrqHandler: taken when Loop37. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop37: + lda Zp70 ; CPU:$87F1 PRG:07F1 A5 70 + cmp #$20 ; CPU:$87F3 PRG:07F3 C9 20 + bcc IrqHandler_Loop38 ; CPU:$87F5 PRG:07F5 90 02 + lda #$1A ; CPU:$87F7 PRG:07F7 A9 1A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop38 +; Global: Branch target inside IrqHandler: taken when Loop38. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop38: + asl a ; CPU:$87F9 PRG:07F9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_87FA +; Global: Branch target inside Sub: taken when 87FA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_87FA: + tax ; CPU:$87FA PRG:07FA AA + lda $880A,x ; CPU:$87FB PRG:07FB BD 0A 88 + sta Zp4C ; CPU:$87FE PRG:07FE 85 4C + lda $880B,x ; CPU:$8800 PRG:0800 BD 0B 88 + sta Zp4D ; CPU:$8803 PRG:0803 85 4D + lda #$78 ; CPU:$8805 PRG:0805 A9 78 + sta Zp4E ; CPU:$8807 PRG:0807 85 4E + rts ; CPU:$8809 PRG:0809 60 +; ----------------------------------------------------------------------------- +; Routine: Label_880A +; Global: Branch target inside Label: taken when 880A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_880A: + brk ; CPU:$880A PRG:080A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_880B +; Global: Branch target inside Label: taken when 880B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_880B: + brk ; CPU:$880B PRG:080B 00 +; ----------------------------------------------------------------------------- +; Routine: Label_880C +; Global: Branch target inside Label: taken when 880C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_880C: + brk ; CPU:$880C PRG:080C 00 +; ----------------------------------------------------------------------------- +; Routine: Label_880D +; Global: Branch target inside Label: taken when 880D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_880D: + bvc IrqHandler_Loop39 ; CPU:$880D PRG:080D 50 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop39 +; Global: Branch target inside IrqHandler: taken when Loop39. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop39: + bvc IrqHandler_Loop40 ; CPU:$880F PRG:080F 50 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop40 +; Global: Branch target inside IrqHandler: taken when Loop40. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop40: + bvs IrqHandler_Loop41 ; CPU:$8811 PRG:0811 70 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop41 +; Global: Branch target inside IrqHandler: taken when Loop41. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop41: + bvs IrqHandler_Loop42 ; CPU:$8813 PRG:0813 70 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop42 +; Global: Branch target inside IrqHandler: taken when Loop42. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop42: + bvs IrqHandler_Loop43 ; CPU:$8815 PRG:0815 70 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop43 +; Global: Branch target inside IrqHandler: taken when Loop43. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop43: + bcc IrqHandler_Loop44 ; CPU:$8817 PRG:0817 90 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop44 +; Global: Branch target inside IrqHandler: taken when Loop44. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop44: + bcc IrqHandler_Loop45 ; CPU:$8819 PRG:0819 90 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop45 +; Global: Branch target inside IrqHandler: taken when Loop45. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop45: + bcc IrqHandler_Loop46 ; CPU:$881B PRG:081B 90 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop46 +; Global: Branch target inside IrqHandler: taken when Loop46. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop46: + bcc IrqHandler_Loop47 ; CPU:$881D PRG:081D 90 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop47 +; Global: Branch target inside IrqHandler: taken when Loop47. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop47: + brk ; CPU:$881F PRG:081F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8820 +; Global: Branch target inside Label: taken when 8820. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8820: + brk ; CPU:$8820 PRG:0820 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8821 +; Global: Branch target inside Label: taken when 8821. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8821: + brk ; CPU:$8821 PRG:0821 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8822 +; Global: Branch target inside Label: taken when 8822. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8822: + brk ; CPU:$8822 PRG:0822 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8823 +; Global: Branch target inside Label: taken when 8823. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8823: + brk ; CPU:$8823 PRG:0823 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8824 +; Global: Branch target inside Label: taken when 8824. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8824: + brk ; CPU:$8824 PRG:0824 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8825 +; Global: Branch target inside Label: taken when 8825. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8825: + brk ; CPU:$8825 PRG:0825 00 +; ----------------------------------------------------------------------------- +; Routine: Label_8826 +; Global: Branch target inside Label: taken when 8826. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8826: + brk ; CPU:$8826 PRG:0826 00 +; ---- data $8827-$8875 (79 bytes) ---- +LevelHandlerPointerTable: + .byte $00, $00, $00, $00, $90, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01 ; CPU:$8827 PRG:-37D9 00 00 00 00 90 01 10 01 10 01 10 01 10 01 10 01 + .byte $10, $01, $10, $01, $10, $01, $10, $01, $30, $00, $00, $00, $50, $00, $50, $00 ; CPU:$8837 PRG:0837 10 01 10 01 10 01 10 01 30 00 00 00 50 00 50 00 + .byte $70, $00, $70, $00, $70, $00, $90, $00, $90, $00, $90, $00, $90, $00, $00, $00 ; CPU:$8847 PRG:0847 70 00 70 00 70 00 90 00 90 00 90 00 90 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $01, $10, $01, $10, $01 ; CPU:$8857 PRG:0857 00 00 00 00 00 00 00 00 00 00 90 01 10 01 10 01 + .byte $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $10, $01, $30 ; CPU:$8867 PRG:0867 10 01 10 01 10 01 10 01 10 01 10 01 10 01 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_8876 ; Global: Branch target inside Sub: taken when 8876. @@ -959,670 +2185,7748 @@ Sub_8876: sta ZpF2 ; CPU:$887C PRG:087C 85 F2 sta ZpF3 ; CPU:$887E PRG:087E 85 F3 rts ; CPU:$8880 PRG:0880 60 -; ---- data $8881-$B1E6 (10598 bytes) ---- - .byte $A2, $04, $A0, $20, $AD, $08, $03, $CD, $28, $03, $B0, $04, $A2, $20, $A0, $04 ; CPU:$8881 PRG:0881 A2 04 A0 20 AD 08 03 CD 28 03 B0 04 A2 20 A0 04 - .byte $8E, $0A, $03, $8C, $2A, $03, $60, $A2, $04, $A0, $30, $AD, $08, $03, $CD, $28 ; CPU:$8891 PRG:0891 8E 0A 03 8C 2A 03 60 A2 04 A0 30 AD 08 03 CD 28 - .byte $03, $B0, $04, $A2, $30, $A0, $04, $8E, $0A, $03, $8C, $2A, $03, $60, $A5, $38 ; CPU:$88A1 PRG:08A1 03 B0 04 A2 30 A0 04 8E 0A 03 8C 2A 03 60 A5 38 - .byte $D0, $0D, $A9, $00, $85, $44, $A9, $08, $85, $3D, $A9, $0B, $85, $3B, $60, $A4 ; CPU:$88B1 PRG:08B1 D0 0D A9 00 85 44 A9 08 85 3D A9 0B 85 3B 60 A4 - .byte $38, $A2, $00, $A9, $40, $88, $F0, $09, $0A, $88, $F0, $05, $0A, $88, $F0, $01 ; CPU:$88C1 PRG:08C1 38 A2 00 A9 40 88 F0 09 0A 88 F0 05 0A 88 F0 01 - .byte $E8, $85, $49, $86, $40, $A9, $01, $85, $70, $20, $FD, $AC, $20, $3D, $AD, $A9 ; CPU:$88D1 PRG:08D1 E8 85 49 86 40 A9 01 85 70 20 FD AC 20 3D AD A9 - .byte $00, $85, $80, $85, $81, $85, $82, $85, $83, $85, $44, $E6, $3B, $4C, $7D, $81 ; CPU:$88E1 PRG:08E1 00 85 80 85 81 85 82 85 83 85 44 E6 3B 4C 7D 81 - .byte $A5, $40, $D0, $37, $A6, $44, $D0, $2F, $20, $57, $B2, $20, $7D, $81, $20, $66 ; CPU:$88F1 PRG:08F1 A5 40 D0 37 A6 44 D0 2F 20 57 B2 20 7D 81 20 66 - .byte $82, $20, $BA, $82, $20, $BC, $85, $A9, $00, $85, $0B, $A5, $08, $29, $FC, $85 ; CPU:$8901 PRG:0901 82 20 BA 82 20 BC 85 A9 00 85 0B A5 08 29 FC 85 - .byte $08, $8D, $00, $20, $20, $CF, $84, $A9, $08, $85, $34, $20, $5F, $81, $A9, $80 ; CPU:$8911 PRG:0911 08 8D 00 20 20 CF 84 A9 08 85 34 20 5F 81 A9 80 - .byte $85, $29, $E6, $44, $4C, $8A, $81, $A5, $29, $D0, $06, $E6, $3B, $A9, $00, $85 ; CPU:$8921 PRG:0921 85 29 E6 44 4C 8A 81 A5 29 D0 06 E6 3B A9 00 85 - .byte $44, $60, $20, $7D, $81, $20, $66, $82, $20, $BA, $82, $20, $76, $88, $A2, $00 ; CPU:$8931 PRG:0931 44 60 20 7D 81 20 66 82 20 BA 82 20 76 88 A2 00 - .byte $8A, $9D, $00, $03, $E8, $D0, $FA, $A9, $00, $85, $0A, $AA, $9D, $80, $05, $E8 ; CPU:$8941 PRG:0941 8A 9D 00 03 E8 D0 FA A9 00 85 0A AA 9D 80 05 E8 - .byte $E0, $6E, $D0, $F8, $A9, $07, $8D, $E4, $05, $20, $C9, $87, $20, $A3, $81, $20 ; CPU:$8951 PRG:0951 E0 6E D0 F8 A9 07 8D E4 05 20 C9 87 20 A3 81 20 - .byte $81, $89, $20, $34, $AF, $20, $EA, $A4, $20, $96, $81, $A9, $01, $A4, $40, $F0 ; CPU:$8961 PRG:0961 81 89 20 34 AF 20 EA A4 20 96 81 A9 01 A4 40 F0 - .byte $02, $A9, $09, $85, $34, $A5, $49, $F0, $04, $A9, $10, $85, $34, $E6, $3B, $60 ; CPU:$8971 PRG:0971 02 A9 09 85 34 A5 49 F0 04 A9 10 85 34 E6 3B 60 - .byte $20, $D9, $AA, $A5, $49, $F0, $1E, $30, $0E, $A2, $75, $A0, $BF, $20, $83, $84 ; CPU:$8981 PRG:0981 20 D9 AA A5 49 F0 1E 30 0E A2 75 A0 BF 20 83 84 - .byte $A2, $B6, $A0, $BF, $4C, $83, $84, $A2, $75, $A0, $BF, $20, $83, $84, $A2, $E2 ; CPU:$8991 PRG:0991 A2 B6 A0 BF 4C 83 84 A2 75 A0 BF 20 83 84 A2 E2 - .byte $A0, $BF, $4C, $83, $84, $A2, $50, $A0, $BE, $20, $83, $84, $A5, $40, $F0, $07 ; CPU:$89A1 PRG:09A1 A0 BF 4C 83 84 A2 50 A0 BE 20 83 84 A5 40 F0 07 - .byte $A2, $9A, $A0, $C0, $20, $83, $84, $60, $A9, $00, $8D, $80, $03, $8D, $A0, $03 ; CPU:$89B1 PRG:09B1 A2 9A A0 C0 20 83 84 60 A9 00 8D 80 03 8D A0 03 - .byte $8D, $C0, $03, $8D, $20, $03, $20, $E4, $8F, $20, $27, $9E, $A9, $FF, $85, $59 ; CPU:$89C1 PRG:09C1 8D C0 03 8D 20 03 20 E4 8F 20 27 9E A9 FF 85 59 - .byte $A9, $01, $85, $66, $A9, $04, $85, $5A, $24, $49, $30, $08, $70, $0C, $20, $8C ; CPU:$89D1 PRG:09D1 A9 01 85 66 A9 04 85 5A 24 49 30 08 70 0C 20 8C - .byte $B2, $4C, $EE, $89, $20, $80, $B2, $4C, $EE, $89, $20, $84, $B2, $A9, $00, $85 ; CPU:$89E1 PRG:09E1 B2 4C EE 89 20 80 B2 4C EE 89 20 84 B2 A9 00 85 - .byte $4F, $8D, $66, $05, $85, $64, $85, $55, $20, $32, $B0, $A9, $80, $85, $0B, $A5 ; CPU:$89F1 PRG:09F1 4F 8D 66 05 85 64 85 55 20 32 B0 A9 80 85 0B A5 - .byte $08, $09, $02, $85, $08, $8D, $00, $20, $20, $CF, $84, $20, $73, $81, $24, $49 ; CPU:$8A01 PRG:0A01 08 09 02 85 08 8D 00 20 20 CF 84 20 73 81 24 49 - .byte $30, $12, $70, $10, $A9, $04, $85, $44, $A9, $0C, $85, $3B, $A9, $78, $85, $54 ; CPU:$8A11 PRG:0A11 30 12 70 10 A9 04 85 44 A9 0C 85 3B A9 78 85 54 - .byte $20, $8A, $81, $60, $E6, $3B, $20, $8A, $81, $60, $4C, $19, $8B, $4C, $D9, $8A ; CPU:$8A21 PRG:0A21 20 8A 81 60 E6 3B 20 8A 81 60 4C 19 8B 4C D9 8A - .byte $20, $76, $88, $24, $49, $30, $F3, $70, $F4, $A5, $1A, $29, $C0, $D0, $35, $20 ; CPU:$8A31 PRG:0A31 20 76 88 24 49 30 F3 70 F4 A5 1A 29 C0 D0 35 20 - .byte $BA, $82, $A5, $40, $D0, $37, $20, $F0, $9F, $20, $81, $88, $20, $6F, $90, $20 ; CPU:$8A41 PRG:0A41 BA 82 A5 40 D0 37 20 F0 9F 20 81 88 20 6F 90 20 - .byte $5F, $9C, $20, $58, $9E, $20, $D7, $A3, $20, $62, $AB, $20, $06, $87, $20, $51 ; CPU:$8A51 PRG:0A51 5F 9C 20 58 9E 20 D7 A3 20 62 AB 20 06 87 20 51 - .byte $8B, $20, $EA, $B4, $20, $DB, $B2, $A5, $60, $F0, $08, $A9, $06, $85, $3B, $A9 ; CPU:$8A61 PRG:0A61 8B 20 EA B4 20 DB B2 A5 60 F0 08 A9 06 85 3B A9 - .byte $00, $85, $44, $60, $A9, $00, $85, $44, $A9, $0C, $85, $3B, $60, $A5, $5F, $F0 ; CPU:$8A71 PRG:0A71 00 85 44 60 A9 00 85 44 A9 0C 85 3B 60 A5 5F F0 - .byte $28, $20, $F0, $9F, $20, $81, $88, $20, $6F, $90, $20, $67, $90, $20, $58, $9E ; CPU:$8A81 PRG:0A81 28 20 F0 9F 20 81 88 20 6F 90 20 67 90 20 58 9E - .byte $20, $D7, $A3, $20, $52, $87, $20, $EA, $B4, $20, $DB, $B2, $A5, $60, $F0, $37 ; CPU:$8A91 PRG:0A91 20 D7 A3 20 52 87 20 EA B4 20 DB B2 A5 60 F0 37 - .byte $A9, $06, $85, $3B, $A9, $00, $85, $44, $60, $A5, $4F, $D0, $2A, $E6, $4F, $20 ; CPU:$8AA1 PRG:0AA1 A9 06 85 3B A9 00 85 44 60 A5 4F D0 2A E6 4F 20 - .byte $6F, $B2, $A0, $00, $B9, $00, $04, $09, $80, $99, $00, $04, $C8, $C0, $38, $D0 ; CPU:$8AB1 PRG:0AB1 6F B2 A0 00 B9 00 04 09 80 99 00 04 C8 C0 38 D0 - .byte $F3, $20, $25, $A5, $20, $5F, $81, $A9, $00, $20, $52, $85, $20, $5F, $81, $A9 ; CPU:$8AC1 PRG:0AC1 F3 20 25 A5 20 5F 81 A9 00 20 52 85 20 5F 81 A9 - .byte $01, $20, $52, $85, $20, $5F, $81, $60, $A5, $64, $D0, $1C, $20, $BA, $82, $20 ; CPU:$8AD1 PRG:0AD1 01 20 52 85 20 5F 81 60 A5 64 D0 1C 20 BA 82 20 - .byte $32, $B0, $20, $47, $B0, $20, $6F, $90, $20, $D7, $A3, $20, $62, $AB, $20, $D8 ; CPU:$8AE1 PRG:0AE1 32 B0 20 47 B0 20 6F 90 20 D7 A3 20 62 AB 20 D8 - .byte $AC, $20, $06, $87, $4C, $0A, $8B, $60, $20, $32, $B0, $20, $47, $B0, $A5, $1A ; CPU:$8AF1 PRG:0AF1 AC 20 06 87 4C 0A 8B 60 20 32 B0 20 47 B0 A5 1A - .byte $29, $C0, $F0, $05, $A9, $00, $85, $64, $60, $A5, $1A, $29, $10, $F0, $08, $A9 ; CPU:$8B01 PRG:0B01 29 C0 F0 05 A9 00 85 64 60 A5 1A 29 10 F0 08 A9 - .byte $05, $85, $3B, $A9, $00, $85, $44, $60, $20, $BA, $82, $AD, $01, $03, $D0, $06 ; CPU:$8B11 PRG:0B11 05 85 3B A9 00 85 44 60 20 BA 82 AD 01 03 D0 06 - .byte $A5, $1A, $29, $10, $D0, $21, $20, $32, $B0, $20, $47, $B0, $20, $6F, $90, $20 ; CPU:$8B21 PRG:0B21 A5 1A 29 10 D0 21 20 32 B0 20 47 B0 20 6F 90 20 - .byte $48, $B1, $20, $D7, $A3, $20, $6A, $B0, $20, $D8, $AC, $20, $06, $87, $AD, $01 ; CPU:$8B31 PRG:0B31 48 B1 20 D7 A3 20 6A B0 20 D8 AC 20 06 87 AD 01 - .byte $03, $D0, $03, $20, $8A, $AB, $60, $A9, $0D, $85, $3B, $A9, $00, $85, $44, $60 ; CPU:$8B41 PRG:0B41 03 D0 03 20 8A AB 60 A9 0D 85 3B A9 00 85 44 60 - .byte $AD, $9F, $03, $F0, $09, $CE, $9F, $03, $D0, $04, $A9, $00, $85, $67, $AD, $BF ; CPU:$8B51 PRG:0B51 AD 9F 03 F0 09 CE 9F 03 D0 04 A9 00 85 67 AD BF - .byte $03, $F0, $09, $CE, $BF, $03, $D0, $04, $A9, $20, $85, $67, $60, $A5, $49, $F0 ; CPU:$8B61 PRG:0B61 03 F0 09 CE BF 03 D0 04 A9 20 85 67 60 A5 49 F0 - .byte $06, $20, $32, $B0, $20, $47, $B0, $A6, $44, $F0, $05, $CA, $F0, $2F, $D0, $3D ; CPU:$8B71 PRG:0B71 06 20 32 B0 20 47 B0 A6 44 F0 05 CA F0 2F D0 3D - .byte $A9, $01, $85, $03, $18, $A5, $70, $20, $B4, $86, $85, $70, $90, $04, $A9, $99 ; CPU:$8B81 PRG:0B81 A9 01 85 03 18 A5 70 20 B4 86 85 70 90 04 A9 99 - .byte $85, $70, $20, $6A, $86, $A2, $00, $BD, $00, $05, $9D, $20, $05, $E8, $E0, $1E ; CPU:$8B91 PRG:0B91 85 70 20 6A 86 A2 00 BD 00 05 9D 20 05 E8 E0 1E - .byte $D0, $F5, $20, $3D, $AD, $A9, $00, $8D, $66, $05, $E6, $44, $60, $20, $F5, $85 ; CPU:$8BA1 PRG:0BA1 D0 F5 20 3D AD A9 00 8D 66 05 E6 44 60 20 F5 85 - .byte $A5, $82, $05, $83, $D0, $06, $A9, $60, $85, $29, $E6, $44, $60, $A5, $29, $D0 ; CPU:$8BB1 PRG:0BB1 A5 82 05 83 D0 06 A9 60 85 29 E6 44 60 A5 29 D0 - .byte $0B, $A9, $01, $85, $3B, $A9, $00, $85, $44, $4C, $7D, $81, $60, $A6, $44, $F0 ; CPU:$8BC1 PRG:0BC1 0B A9 01 85 3B A9 00 85 44 4C 7D 81 60 A6 44 F0 - .byte $0B, $CA, $F0, $30, $CA, $F0, $34, $A9, $04, $85, $3B, $60, $A2, $07, $A5, $61 ; CPU:$8BD1 PRG:0BD1 0B CA F0 30 CA F0 34 A9 04 85 3B 60 A2 07 A5 61 - .byte $0A, $B0, $03, $CA, $D0, $FA, $86, $62, $BD, $FD, $8B, $20, $DE, $B1, $A5, $67 ; CPU:$8BE1 PRG:0BE1 0A B0 03 CA D0 FA 86 62 BD FD 8B 20 DE B1 A5 67 - .byte $D0, $03, $20, $6A, $8C, $A9, $10, $85, $29, $E6, $44, $60, $05, $02, $01, $06 ; CPU:$8BF1 PRG:0BF1 D0 03 20 6A 8C A9 10 85 29 E6 44 60 05 02 01 06 - .byte $03, $01, $02, $04, $A5, $29, $D0, $02, $E6, $44, $60, $A5, $62, $29, $07, $0A ; CPU:$8C01 PRG:0C01 03 01 02 04 A5 29 D0 02 E6 44 60 A5 62 29 07 0A - .byte $85, $16, $0A, $65, $16, $A8, $BE, $3A, $8C, $E0, $FF, $F0, $19, $BD, $00, $04 ; CPU:$8C11 PRG:0C11 85 16 0A 65 16 A8 BE 3A 8C E0 FF F0 19 BD 00 04 - .byte $29, $7F, $9D, $00, $04, $8A, $48, $98, $48, $20, $B7, $A5, $20, $5F, $81, $68 ; CPU:$8C21 PRG:0C21 29 7F 9D 00 04 8A 48 98 48 20 B7 A5 20 5F 81 68 - .byte $A8, $68, $AA, $C8, $D0, $E0, $E6, $44, $60, $0A, $12, $1A, $22, $2A, $FF, $0B ; CPU:$8C31 PRG:0C31 A8 68 AA C8 D0 E0 E6 44 60 0A 12 1A 22 2A FF 0B - .byte $13, $1B, $23, $2B, $FF, $0D, $15, $1D, $25, $2D, $FF, $0E, $16, $1E, $26, $2E ; CPU:$8C41 PRG:0C41 13 1B 23 2B FF 0D 15 1D 25 2D FF 0E 16 1E 26 2E - .byte $FF, $0A, $0B, $0C, $0D, $0E, $FF, $12, $13, $14, $15, $16, $FF, $22, $23, $24 ; CPU:$8C51 PRG:0C51 FF 0A 0B 0C 0D 0E FF 12 13 14 15 16 FF 22 23 24 - .byte $25, $26, $FF, $2A, $2B, $2C, $2D, $2E, $FF, $EE, $66, $05, $D0, $05, $A9, $FF ; CPU:$8C61 PRG:0C61 25 26 FF 2A 2B 2C 2D 2E FF EE 66 05 D0 05 A9 FF - .byte $8D, $66, $05, $60, $A9, $00, $85, $65, $A5, $64, $D0, $6B, $20, $BA, $82, $20 ; CPU:$8C71 PRG:0C71 8D 66 05 60 A9 00 85 65 A5 64 D0 6B 20 BA 82 20 - .byte $32, $B0, $20, $47, $B0, $A5, $1A, $48, $A5, $18, $48, $AD, $01, $03, $D0, $14 ; CPU:$8C81 PRG:0C81 32 B0 20 47 B0 A5 1A 48 A5 18 48 AD 01 03 D0 14 - .byte $A5, $59, $C9, $65, $F0, $14, $C9, $FF, $F0, $0A, $A8, $B9, $80, $05, $F0, $0A ; CPU:$8C91 PRG:0C91 A5 59 C9 65 F0 14 C9 FF F0 0A A8 B9 80 05 F0 0A - .byte $C9, $07, $F0, $06, $20, $9C, $B1, $4C, $B9, $8C, $A5, $18, $29, $30, $85, $18 ; CPU:$8CA1 PRG:0CA1 C9 07 F0 06 20 9C B1 4C B9 8C A5 18 29 30 85 18 - .byte $A9, $00, $85, $1A, $A9, $01, $85, $65, $20, $6F, $90, $20, $D7, $A3, $20, $6A ; CPU:$8CB1 PRG:0CB1 A9 00 85 1A A9 01 85 65 20 6F 90 20 D7 A3 20 6A - .byte $B0, $20, $D8, $AC, $20, $62, $AB, $68, $85, $18, $68, $85, $1A, $A5, $65, $F0 ; CPU:$8CC1 PRG:0CC1 B0 20 D8 AC 20 62 AB 68 85 18 68 85 1A A5 65 F0 - .byte $08, $A5, $1A, $29, $10, $D0, $27, $F0, $0D, $A5, $1A, $29, $C0, $F0, $07, $A9 ; CPU:$8CD1 PRG:0CD1 08 A5 1A 29 10 D0 27 F0 0D A5 1A 29 C0 F0 07 A9 - .byte $01, $85, $64, $20, $94, $B2, $60, $20, $32, $B0, $20, $47, $B0, $20, $B4, $AB ; CPU:$8CE1 PRG:0CE1 01 85 64 20 94 B2 60 20 32 B0 20 47 B0 20 B4 AB - .byte $A5, $1A, $29, $C0, $F0, $07, $A9, $00, $85, $64, $20, $94, $B2, $60, $A5, $49 ; CPU:$8CF1 PRG:0CF1 A5 1A 29 C0 F0 07 A9 00 85 64 20 94 B2 60 A5 49 - .byte $29, $F0, $85, $49, $A9, $05, $85, $3B, $A9, $00, $85, $44, $60, $A9, $01, $85 ; CPU:$8D01 PRG:0D01 29 F0 85 49 A9 05 85 3B A9 00 85 44 60 A9 01 85 - .byte $3A, $20, $76, $88, $85, $3C, $60, $20, $F0, $A8, $A5, $44, $C9, $03, $D0, $F6 ; CPU:$8D11 PRG:0D11 3A 20 76 88 85 3C 60 20 F0 A8 A5 44 C9 03 D0 F6 - .byte $A5, $40, $D0, $10, $AC, $4F, $03, $F0, $60, $88, $F0, $28, $88, $F0, $0F, $88 ; CPU:$8D21 PRG:0D21 A5 40 D0 10 AC 4F 03 F0 60 88 F0 28 88 F0 0F 88 - .byte $F0, $11, $D0, $1C, $AC, $4F, $03, $F0, $50, $88, $F0, $02, $D0, $05, $A9, $08 ; CPU:$8D31 PRG:0D31 F0 11 D0 1C AC 4F 03 F0 50 88 F0 02 D0 05 A9 08 - .byte $85, $3B, $60, $A9, $0B, $85, $3B, $A9, $00, $85, $44, $A9, $09, $85, $3D, $60 ; CPU:$8D41 PRG:0D41 85 3B 60 A9 0B 85 3B A9 00 85 44 A9 09 85 3D 60 - .byte $A9, $0D, $D0, $F1, $A5, $49, $29, $F0, $85, $49, $A9, $01, $85, $03, $18, $A5 ; CPU:$8D51 PRG:0D51 A9 0D D0 F1 A5 49 29 F0 85 49 A9 01 85 03 18 A5 - .byte $70, $20, $B4, $86, $85, $70, $90, $04, $A9, $99, $85, $70, $20, $6A, $86, $A2 ; CPU:$8D61 PRG:0D61 70 20 B4 86 85 70 90 04 A9 99 85 70 20 6A 86 A2 - .byte $00, $BD, $00, $05, $9D, $20, $05, $E8, $E0, $1E, $D0, $F5, $20, $3D, $AD, $A9 ; CPU:$8D71 PRG:0D71 00 BD 00 05 9D 20 05 E8 E0 1E D0 F5 20 3D AD A9 - .byte $00, $8D, $66, $05, $A9, $02, $85, $3B, $60, $24, $49, $30, $11, $70, $0F, $A5 ; CPU:$8D81 PRG:0D81 00 8D 66 05 A9 02 85 3B 60 24 49 30 11 70 0F A5 - .byte $08, $29, $FD, $85, $08, $8D, $00, $20, $20, $8C, $B2, $4C, $B8, $8D, $A9, $80 ; CPU:$8D91 PRG:0D91 08 29 FD 85 08 8D 00 20 20 8C B2 4C B8 8D A9 80 - .byte $85, $0B, $A5, $08, $09, $02, $85, $08, $8D, $00, $20, $20, $CF, $84, $20, $32 ; CPU:$8DA1 PRG:0DA1 85 0B A5 08 09 02 85 08 8D 00 20 20 CF 84 20 32 - .byte $B0, $A5, $49, $C9, $81, $F0, $07, $A9, $04, $85, $3B, $4C, $8A, $81, $A9, $07 ; CPU:$8DB1 PRG:0DB1 B0 A5 49 C9 81 F0 07 A9 04 85 3B 4C 8A 81 A9 07 - .byte $85, $3B, $4C, $8A, $81, $A9, $04, $85, $3B, $60, $A5, $44, $C9, $03, $F0, $03 ; CPU:$8DC1 PRG:0DC1 85 3B 4C 8A 81 A9 04 85 3B 60 A5 44 C9 03 F0 03 - .byte $4C, $E3, $A8, $A5, $3D, $85, $3B, $A9, $00, $85, $44, $60, $A6, $44, $F0, $0B ; CPU:$8DD1 PRG:0DD1 4C E3 A8 A5 3D 85 3B A9 00 85 44 60 A6 44 F0 0B - .byte $CA, $F0, $28, $CA, $F0, $35, $CA, $F0, $56, $D0, $6F, $A9, $02, $05, $08, $85 ; CPU:$8DE1 PRG:0DE1 CA F0 28 CA F0 35 CA F0 56 D0 6F A9 02 05 08 85 - .byte $08, $A9, $EF, $85, $0B, $20, $94, $B2, $20, $70, $8E, $20, $82, $8E, $A5, $40 ; CPU:$8DF1 PRG:0DF1 08 A9 EF 85 0B 20 94 B2 20 70 8E 20 82 8E A5 40 - .byte $F0, $04, $A9, $09, $85, $34, $E6, $44, $4C, $5A, $8E, $C6, $0B, $A5, $0B, $C9 ; CPU:$8E01 PRG:0E01 F0 04 A9 09 85 34 E6 44 4C 5A 8E C6 0B A5 0B C9 - .byte $80, $D0, $02, $E6, $44, $20, $82, $8E, $4C, $5A, $8E, $A5, $1A, $29, $C0, $D0 ; CPU:$8E11 PRG:0E11 80 D0 02 E6 44 20 82 8E 4C 5A 8E A5 1A 29 C0 D0 - .byte $16, $20, $B4, $AB, $A5, $1A, $29, $10, $F0, $12, $A5, $40, $D0, $0E, $A9, $05 ; CPU:$8E21 PRG:0E21 16 20 B4 AB A5 1A 29 10 F0 12 A5 40 D0 0E A9 05 - .byte $85, $3B, $A9, $00, $85, $44, $60, $20, $94, $B2, $E6, $44, $4C, $5A, $8E, $E6 ; CPU:$8E31 PRG:0E31 85 3B A9 00 85 44 60 20 94 B2 E6 44 4C 5A 8E E6 - .byte $0B, $A5, $0B, $C9, $F0, $D0, $0F, $A9, $00, $85, $0B, $A5, $08, $29, $FD, $85 ; CPU:$8E41 PRG:0E41 0B A5 0B C9 F0 D0 0F A9 00 85 0B A5 08 29 FD 85 - .byte $08, $A9, $04, $85, $3B, $60, $20, $82, $8E, $60, $C6, $54, $D0, $FB, $A5, $82 ; CPU:$8E51 PRG:0E51 08 A9 04 85 3B 60 20 82 8E 60 C6 54 D0 FB A5 82 - .byte $05, $83, $D0, $F5, $20, $BA, $82, $20, $70, $8E, $A9, $03, $85, $44, $60, $A2 ; CPU:$8E61 PRG:0E61 05 83 D0 F5 20 BA 82 20 70 8E A9 03 85 44 60 A2 - .byte $00, $A0, $00, $BD, $00, $02, $99, $00, $01, $C8, $E8, $E8, $E8, $E8, $D0, $F3 ; CPU:$8E71 PRG:0E71 00 A0 00 BD 00 02 99 00 01 C8 E8 E8 E8 E8 D0 F3 - .byte $60, $A5, $0B, $18, $69, $10, $49, $FF, $85, $16, $E6, $16, $A2, $00, $A0, $00 ; CPU:$8E81 PRG:0E81 60 A5 0B 18 69 10 49 FF 85 16 E6 16 A2 00 A0 00 - .byte $B9, $00, $01, $18, $65, $16, $90, $02, $A9, $F4, $9D, $00, $02, $C8, $E8, $E8 ; CPU:$8E91 PRG:0E91 B9 00 01 18 65 16 90 02 A9 F4 9D 00 02 C8 E8 E8 - .byte $E8, $E8, $D0, $EC, $60, $A5, $44, $C9, $02, $F0, $03, $4C, $FB, $A8, $20, $7D ; CPU:$8EA1 PRG:0EA1 E8 E8 D0 EC 60 A5 44 C9 02 F0 03 4C FB A8 20 7D - .byte $81, $20, $7C, $B2, $A9, $81, $85, $49, $20, $81, $89, $20, $EA, $A4, $A9, $10 ; CPU:$8EB1 PRG:0EB1 81 20 7C B2 A9 81 85 49 20 81 89 20 EA A4 A9 10 - .byte $85, $34, $20, $5F, $81, $20, $E4, $8F, $A9, $00, $8D, $80, $03, $A9, $FF, $85 ; CPU:$8EC1 PRG:0EC1 85 34 20 5F 81 20 E4 8F A9 00 8D 80 03 A9 FF 85 - .byte $59, $A9, $01, $85, $66, $A9, $00, $85, $0A, $8D, $66, $05, $85, $55, $85, $3F ; CPU:$8ED1 PRG:0ED1 59 A9 01 85 66 A9 00 85 0A 8D 66 05 85 55 85 3F - .byte $A9, $0C, $85, $3E, $A9, $80, $85, $0B, $A5, $08, $09, $02, $85, $08, $8D, $00 ; CPU:$8EE1 PRG:0EE1 A9 0C 85 3E A9 80 85 0B A5 08 09 02 85 08 8D 00 - .byte $20, $20, $CF, $84, $20, $32, $B0, $20, $5F, $81, $A9, $07, $85, $3B, $4C, $8A ; CPU:$8EF1 PRG:0EF1 20 20 CF 84 20 32 B0 20 5F 81 A9 07 85 3B 4C 8A - .byte $81, $60, $20, $7D, $81, $20, $66, $82, $20, $BA, $82, $20, $73, $81, $A2, $BC ; CPU:$8F01 PRG:0F01 81 60 20 7D 81 20 66 82 20 BA 82 20 73 81 A2 BC - .byte $A0, $B8, $20, $83, $84, $A5, $08, $09, $02, $85, $08, $8D, $00, $20, $A9, $00 ; CPU:$8F11 PRG:0F11 A0 B8 20 83 84 A5 08 09 02 85 08 8D 00 20 A9 00 - .byte $85, $0B, $85, $0A, $A9, $07, $85, $34, $20, $97, $9A, $A5, $38, $8D, $58, $03 ; CPU:$8F21 PRG:0F21 85 0B 85 0A A9 07 85 34 20 97 9A A5 38 8D 58 03 - .byte $0A, $0A, $0A, $0A, $0A, $69, $40, $8D, $48, $03, $A9, $30, $85, $2D, $E6, $3C ; CPU:$8F31 PRG:0F31 0A 0A 0A 0A 0A 69 40 8D 48 03 A9 30 85 2D E6 3C - .byte $20, $90, $B2, $4C, $8A, $81, $20, $E7, $9A, $AD, $4F, $03, $85, $38, $A5, $18 ; CPU:$8F41 PRG:0F41 20 90 B2 4C 8A 81 20 E7 9A AD 4F 03 85 38 A5 18 - .byte $F0, $04, $A9, $25, $85, $2D, $A5, $2D, $D0, $02, $E6, $3C, $60, $20, $7D, $81 ; CPU:$8F51 PRG:0F51 F0 04 A9 25 85 2D A5 2D D0 02 E6 3C 60 20 7D 81 - .byte $20, $66, $82, $20, $BA, $82, $20, $73, $81, $A2, $5C, $A0, $B7, $20, $83, $84 ; CPU:$8F61 PRG:0F61 20 66 82 20 BA 82 20 73 81 A2 5C A0 B7 20 83 84 - .byte $A5, $08, $29, $FC, $85, $08, $8D, $00, $20, $A9, $06, $85, $34, $20, $88, $B2 ; CPU:$8F71 PRG:0F71 A5 08 29 FC 85 08 8D 00 20 A9 06 85 34 20 88 B2 - .byte $E6, $3C, $4C, $8A, $81, $A5, $18, $F0, $04, $A9, $00, $85, $3C, $60, $A5, $18 ; CPU:$8F81 PRG:0F81 E6 3C 4C 8A 81 A5 18 F0 04 A9 00 85 3C 60 A5 18 - .byte $2A, $2A, $65, $19, $65, $2F, $8D, $18, $06, $A5, $3E, $F0, $0C, $C6, $3E, $AD ; CPU:$8F91 PRG:0F91 2A 2A 65 19 65 2F 8D 18 06 A5 3E F0 0C C6 3E AD - .byte $10, $03, $29, $7F, $85, $1A, $4C, $BE, $8F, $A4, $3F, $B9, $CF, $8F, $C9, $AA ; CPU:$8FA1 PRG:0FA1 10 03 29 7F 85 1A 4C BE 8F A4 3F B9 CF 8F C9 AA - .byte $F0, $15, $85, $1A, $C8, $B9, $CF, $8F, $85, $3E, $C8, $84, $3F, $20, $31, $8A ; CPU:$8FB1 PRG:0FB1 F0 15 85 1A C8 B9 CF 8F 85 3E C8 84 3F 20 31 8A - .byte $A5, $3C, $C9, $07, $F0, $03, $60, $E6, $3C, $A9, $08, $85, $2D, $60, $00, $D0 ; CPU:$8FC1 PRG:0FC1 A5 3C C9 07 F0 03 60 E6 3C A9 08 85 2D 60 00 D0 - .byte $C8, $60, $80, $20, $C8, $98, $C4, $82, $AA, $A5, $2D, $D0, $05, $20, $76, $88 ; CPU:$8FD1 PRG:0FD1 C8 60 80 20 C8 98 C4 82 AA A5 2D D0 05 20 76 88 - .byte $85, $3C, $60, $A0, $1F, $A5, $49, $C9, $80, $F0, $0C, $A0, $2F, $24, $49, $30 ; CPU:$8FE1 PRG:0FE1 85 3C 60 A0 1F A5 49 C9 80 F0 0C A0 2F 24 49 30 - .byte $06, $A0, $0F, $70, $02, $A0, $3F, $A2, $0F, $B9, $17, $90, $9D, $00, $03, $88 ; CPU:$8FF1 PRG:0FF1 06 A0 0F 70 02 A0 3F A2 0F B9 17 90 9D 00 03 88 - .byte $CA, $10, $F6, $A5, $40, $F0, $0E, $A0, $4F, $A2, $0F, $B9, $17, $90, $9D, $20 ; CPU:$9001 PRG:1001 CA 10 F6 A5 40 F0 0E A0 4F A2 0F B9 17 90 9D 20 - .byte $03, $88, $CA, $10, $F6, $60, $01, $00, $05, $00, $00, $00, $00, $00, $B0, $80 ; CPU:$9011 PRG:1011 03 88 CA 10 F6 60 01 00 05 00 00 00 00 00 B0 80 - .byte $04, $00, $00, $01, $0C, $00, $01, $00, $05, $00, $00, $00, $00, $00, $98, $50 ; CPU:$9021 PRG:1021 04 00 00 01 0C 00 01 00 05 00 00 00 00 00 98 50 - .byte $04, $00, $00, $00, $01, $00, $01, $00, $05, $00, $00, $00, $00, $00, $98, $50 ; CPU:$9031 PRG:1031 04 00 00 00 01 00 01 00 05 00 00 00 00 00 98 50 - .byte $04, $00, $00, $00, $01, $00, $01, $01, $05, $00, $00, $10, $08, $00, $80, $14 ; CPU:$9041 PRG:1041 04 00 00 00 01 00 01 01 05 00 00 10 08 00 80 14 - .byte $04, $11, $2E, $01, $0C, $00, $01, $01, $05, $00, $00, $08, $04, $03, $80, $EB ; CPU:$9051 PRG:1051 04 11 2E 01 0C 00 01 01 05 00 00 08 04 03 80 EB - .byte $30, $11, $2E, $02, $0C, $00, $A5, $19, $A4, $1B, $A2, $20, $D0, $06, $A5, $18 ; CPU:$9061 PRG:1061 30 11 2E 02 0C 00 A5 19 A4 1B A2 20 D0 06 A5 18 - .byte $A4, $1A, $A2, $00, $86, $4A, $29, $8F, $9D, $10, $03, $84, $16, $A9, $00, $9D ; CPU:$9071 PRG:1071 A4 1A A2 00 86 4A 29 8F 9D 10 03 84 16 A9 00 9D - .byte $11, $03, $BD, $01, $03, $20, $6D, $84, $93, $90, $68, $91, $F9, $91, $2D, $92 ; CPU:$9081 PRG:1081 11 03 BD 01 03 20 6D 84 93 90 68 91 F9 91 2D 92 - .byte $9B, $92, $20, $BA, $93, $A6, $4A, $BD, $17, $03, $D0, $45, $20, $FE, $90, $BD ; CPU:$9091 PRG:1091 9B 92 20 BA 93 A6 4A BD 17 03 D0 45 20 FE 90 BD - .byte $10, $03, $9D, $12, $03, $29, $CF, $F0, $4C, $A0, $01, $E6, $59, $4A, $B0, $14 ; CPU:$90A1 PRG:10A1 10 03 9D 12 03 29 CF F0 4C A0 01 E6 59 4A B0 14 - .byte $C8, $C6, $59, $C6, $59, $4A, $B0, $0C, $C8, $E6, $59, $4A, $B0, $06, $C8, $4A ; CPU:$90B1 PRG:10B1 C8 C6 59 C6 59 4A B0 0C C8 E6 59 4A B0 06 C8 4A - .byte $B0, $02, $A0, $00, $20, $A1, $B2, $B9, $44, $93, $9D, $05, $03, $A9, $01, $9D ; CPU:$90C1 PRG:10C1 B0 02 A0 00 20 A1 B2 B9 44 93 9D 05 03 A9 01 9D - .byte $01, $03, $98, $9D, $0D, $03, $A9, $00, $9D, $03, $03, $9D, $0C, $03, $4C, $D1 ; CPU:$90D1 PRG:10D1 01 03 98 9D 0D 03 A9 00 9D 03 03 9D 0C 03 4C D1 - .byte $92, $20, $9D, $B2, $A9, $02, $9D, $02, $03, $A9, $33, $9D, $05, $03, $BC, $15 ; CPU:$90E1 PRG:10E1 92 20 9D B2 A9 02 9D 02 03 A9 33 9D 05 03 BC 15 - .byte $03, $A9, $03, $D0, $DA, $A9, $00, $9D, $05, $03, $4C, $D1, $92, $24, $49, $70 ; CPU:$90F1 PRG:10F1 03 A9 03 D0 DA A9 00 9D 05 03 4C D1 92 24 49 70 - .byte $06, $30, $29, $A9, $0F, $D0, $06, $BC, $0E, $03, $B9, $F5, $90, $3D, $10, $03 ; CPU:$9101 PRG:1101 06 30 29 A9 0F D0 06 BC 0E 03 B9 F5 90 3D 10 03 - .byte $9D, $10, $03, $60, $00, $00, $00, $05, $07, $06, $00, $00, $00, $00, $00, $0D ; CPU:$9111 PRG:1111 9D 10 03 60 00 00 00 05 07 06 00 00 00 00 00 0D - .byte $0F, $0E, $00, $00, $00, $00, $00, $09, $0B, $0A, $00, $00, $A5, $66, $D0, $2F ; CPU:$9121 PRG:1121 0F 0E 00 00 00 00 00 09 0B 0A 00 00 A5 66 D0 2F - .byte $A9, $C7, $BC, $0F, $03, $C0, $03, $F0, $08, $A9, $CB, $C0, $05, $F0, $02, $A9 ; CPU:$9131 PRG:1131 A9 C7 BC 0F 03 C0 03 F0 08 A9 CB C0 05 F0 02 A9 - .byte $CF, $3D, $10, $03, $A4, $49, $C0, $80, $D0, $11, $A4, $59, $F0, $09, $C0, $63 ; CPU:$9141 PRG:1141 CF 3D 10 03 A4 49 C0 80 D0 11 A4 59 F0 09 C0 63 - .byte $D0, $07, $29, $8E, $4C, $5A, $91, $29, $8D, $29, $0F, $9D, $10, $03, $60, $BD ; CPU:$9151 PRG:1151 D0 07 29 8E 4C 5A 91 29 8D 29 0F 9D 10 03 60 BD - .byte $10, $03, $29, $01, $4C, $5C, $91, $20, $04, $94, $20, $BA, $93, $A6, $4A, $BD ; CPU:$9161 PRG:1161 10 03 29 01 4C 5C 91 20 04 94 20 BA 93 A6 4A BD - .byte $17, $03, $F0, $25, $BD, $15, $03, $9D, $0D, $03, $A9, $00, $9D, $0C, $03, $A9 ; CPU:$9171 PRG:1171 17 03 F0 25 BD 15 03 9D 0D 03 A9 00 9D 0C 03 A9 - .byte $01, $9D, $03, $03, $A9, $02, $9D, $02, $03, $A9, $33, $9D, $05, $03, $20, $9D ; CPU:$9181 PRG:1181 01 9D 03 03 A9 02 9D 02 03 A9 33 9D 05 03 20 9D - .byte $B2, $A9, $03, $9D, $01, $03, $4C, $D1, $92, $BD, $18, $03, $F0, $12, $A5, $2F ; CPU:$9191 PRG:1191 B2 A9 03 9D 01 03 4C D1 92 BD 18 03 F0 12 A5 2F - .byte $29, $07, $C9, $00, $F0, $0A, $C9, $02, $F0, $06, $C9, $05, $F0, $02, $D0, $05 ; CPU:$91A1 PRG:11A1 29 07 C9 00 F0 0A C9 02 F0 06 C9 05 F0 02 D0 05 - .byte $20, $5E, $93, $B0, $03, $4C, $D1, $92, $A6, $4A, $BD, $0B, $03, $F0, $0F, $30 ; CPU:$91B1 PRG:11B1 20 5E 93 B0 03 4C D1 92 A6 4A BD 0B 03 F0 0F 30 - .byte $0D, $38, $E9, $03, $10, $02, $A9, $00, $9D, $0B, $03, $4C, $D1, $92, $A9, $02 ; CPU:$91C1 PRG:11C1 0D 38 E9 03 10 02 A9 00 9D 0B 03 4C D1 92 A9 02 - .byte $9D, $01, $03, $20, $1D, $93, $BD, $0D, $03, $A8, $B9, $51, $93, $9D, $05, $03 ; CPU:$91D1 PRG:11D1 9D 01 03 20 1D 93 BD 0D 03 A8 B9 51 93 9D 05 03 - .byte $A9, $00, $9D, $03, $03, $A9, $05, $9D, $02, $03, $20, $8F, $A1, $A6, $4A, $BD ; CPU:$91E1 PRG:11E1 A9 00 9D 03 03 A9 05 9D 02 03 20 8F A1 A6 4A BD - .byte $11, $03, $9D, $92, $03, $4C, $D1, $92, $A6, $4A, $BD, $8B, $03, $9D, $0B, $03 ; CPU:$91F1 PRG:11F1 11 03 9D 92 03 4C D1 92 A6 4A BD 8B 03 9D 0B 03 - .byte $BD, $17, $03, $F0, $03, $4C, $E2, $90, $A5, $49, $C9, $80, $F0, $0B, $BD, $80 ; CPU:$9201 PRG:1201 BD 17 03 F0 03 4C E2 90 A5 49 C9 80 F0 0B BD 80 - .byte $03, $D0, $03, $9D, $01, $03, $4C, $D1, $92, $BD, $80, $03, $F0, $F5, $AC, $8C ; CPU:$9211 PRG:1211 03 D0 03 9D 01 03 4C D1 92 BD 80 03 F0 F5 AC 8C - .byte $03, $B9, $A0, $A4, $C9, $AC, $D0, $EE, $A9, $00, $F0, $E7, $20, $BA, $93, $20 ; CPU:$9221 PRG:1221 03 B9 A0 A4 C9 AC D0 EE A9 00 F0 E7 20 BA 93 20 - .byte $5E, $93, $B0, $03, $4C, $5A, $92, $A6, $4A, $BC, $0D, $03, $BD, $08, $03, $18 ; CPU:$9231 PRG:1231 5E 93 B0 03 4C 5A 92 A6 4A BC 0D 03 BD 08 03 18 - .byte $79, $7E, $92, $9D, $08, $03, $BD, $09, $03, $18, $79, $82, $92, $9D, $09, $03 ; CPU:$9241 PRG:1241 79 7E 92 9D 08 03 BD 09 03 18 79 82 92 9D 09 03 - .byte $A5, $2F, $29, $01, $D0, $03, $DE, $0B, $03, $A6, $4A, $BD, $0D, $03, $C9, $05 ; CPU:$9251 PRG:1251 A5 2F 29 01 D0 03 DE 0B 03 A6 4A BD 0D 03 C9 05 - .byte $F0, $12, $C9, $06, $F0, $0E, $BD, $08, $03, $C9, $0C, $90, $1D, $C9, $F8, $B0 ; CPU:$9261 PRG:1261 F0 12 C9 06 F0 0E BD 08 03 C9 0C 90 1D C9 F8 B0 - .byte $19, $4C, $D1, $92, $BD, $09, $03, $C9, $08, $90, $0F, $C9, $F8, $B0, $0B, $4C ; CPU:$9271 PRG:1271 19 4C D1 92 BD 09 03 C9 08 90 0F C9 F8 B0 0B 4C - .byte $D1, $92, $00, $00, $03, $FD, $03, $FD, $00, $00, $A9, $00, $9D, $00, $03, $A9 ; CPU:$9281 PRG:1281 D1 92 00 00 03 FD 03 FD 00 00 A9 00 9D 00 03 A9 - .byte $04, $9D, $01, $03, $A9, $40, $9D, $14, $03, $60, $A6, $4A, $BD, $14, $03, $F0 ; CPU:$9291 PRG:1291 04 9D 01 03 A9 40 9D 14 03 60 A6 4A BD 14 03 F0 - .byte $04, $DE, $14, $03, $60, $A0, $30, $E0, $00, $F0, $02, $A0, $40, $B9, $17, $90 ; CPU:$92A1 PRG:12A1 04 DE 14 03 60 A0 30 E0 00 F0 02 A0 40 B9 17 90 - .byte $9D, $00, $03, $E8, $C8, $8A, $29, $0F, $D0, $F3, $A5, $40, $F0, $11, $A6, $4A ; CPU:$92B1 PRG:12B1 9D 00 03 E8 C8 8A 29 0F D0 F3 A5 40 F0 11 A6 4A - .byte $BD, $19, $03, $D0, $05, $A9, $40, $9D, $18, $03, $A9, $00, $9D, $19, $03, $60 ; CPU:$92C1 PRG:12C1 BD 19 03 D0 05 A9 40 9D 18 03 A9 00 9D 19 03 60 - .byte $20, $FE, $99, $20, $0A, $83, $A6, $4A, $BD, $18, $03, $F0, $35, $A4, $2F, $E0 ; CPU:$92D1 PRG:12D1 20 FE 99 20 0A 83 A6 4A BD 18 03 F0 35 A4 2F E0 - .byte $00, $F0, $01, $C8, $84, $16, $98, $29, $0F, $D0, $0B, $DE, $18, $03, $D0, $06 ; CPU:$92E1 PRG:12E1 00 F0 01 C8 84 16 98 29 0F D0 0B DE 18 03 D0 06 - .byte $A9, $00, $85, $16, $F0, $0E, $A5, $16, $29, $07, $D0, $16, $A5, $16, $29, $08 ; CPU:$92F1 PRG:12F1 A9 00 85 16 F0 0E A5 16 29 07 D0 16 A5 16 29 08 - .byte $4A, $4A, $85, $16, $8A, $4A, $4A, $4A, $4A, $4A, $65, $16, $AA, $BD, $14, $93 ; CPU:$9301 PRG:1301 4A 4A 85 16 8A 4A 4A 4A 4A 4A 65 16 AA BD 14 93 - .byte $85, $34, $60, $0B, $0C, $0D, $0E, $A6, $4A, $4C, $2C, $93, $A5, $49, $D0, $22 ; CPU:$9311 PRG:1311 85 34 60 0B 0C 0D 0E A6 4A 4C 2C 93 A5 49 D0 22 - .byte $A6, $4A, $BD, $0E, $03, $30, $1B, $C9, $38, $B0, $17, $48, $0A, $0A, $0A, $0A ; CPU:$9321 PRG:1321 A6 4A BD 0E 03 30 1B C9 38 B0 17 48 0A 0A 0A 0A - .byte $0A, $9D, $09, $03, $68, $29, $38, $85, $16, $0A, $65, $16, $18, $69, $38, $9D ; CPU:$9331 PRG:1331 0A 9D 09 03 68 29 38 85 16 0A 65 16 18 69 38 9D - .byte $08, $03, $60, $13, $0B, $03, $13, $1B, $00, $00, $00, $00, $0B, $03, $13, $1B ; CPU:$9341 PRG:1341 08 03 60 13 0B 03 13 1B 00 00 00 00 0B 03 13 1B - .byte $2B, $27, $23, $2B, $2F, $00, $00, $00, $00, $27, $23, $2B, $2F, $A6, $4A, $BD ; CPU:$9351 PRG:1351 2B 27 23 2B 2F 00 00 00 00 27 23 2B 2F A6 4A BD - .byte $0D, $03, $0A, $A8, $B9, $3F, $94, $85, $14, $B9, $40, $94, $85, $15, $BC, $0C ; CPU:$9361 PRG:1361 0D 03 0A A8 B9 3F 94 85 14 B9 40 94 85 15 BC 0C - .byte $03, $B1, $14, $C9, $AA, $F0, $34, $B1, $14, $C8, $18, $7D, $0B, $03, $9D, $0B ; CPU:$9371 PRG:1371 03 B1 14 C9 AA F0 34 B1 14 C8 18 7D 0B 03 9D 0B - .byte $03, $B1, $14, $C8, $48, $29, $F0, $4A, $4A, $4A, $4A, $20, $AD, $93, $BD, $08 ; CPU:$9381 PRG:1381 03 B1 14 C8 48 29 F0 4A 4A 4A 4A 20 AD 93 BD 08 - .byte $03, $18, $65, $16, $9D, $08, $03, $68, $29, $0F, $20, $AD, $93, $BD, $09, $03 ; CPU:$9391 PRG:1391 03 18 65 16 9D 08 03 68 29 0F 20 AD 93 BD 09 03 - .byte $18, $65, $16, $9D, $09, $03, $98, $9D, $0C, $03, $18, $60, $85, $16, $29, $08 ; CPU:$93A1 PRG:13A1 18 65 16 9D 09 03 98 9D 0C 03 18 60 85 16 29 08 - .byte $F0, $06, $A5, $16, $09, $F0, $85, $16, $60, $A6, $4A, $A0, $FF, $BD, $08, $03 ; CPU:$93B1 PRG:13B1 F0 06 A5 16 09 F0 85 16 60 A6 4A A0 FF BD 08 03 - .byte $C9, $2C, $90, $24, $C8, $C9, $44, $90, $1F, $C8, $C9, $5C, $90, $1A, $C8, $C9 ; CPU:$93C1 PRG:13C1 C9 2C 90 24 C8 C9 44 90 1F C8 C9 5C 90 1A C8 C9 - .byte $74, $90, $15, $C8, $C9, $8C, $90, $10, $C8, $C9, $A4, $90, $0B, $C8, $C9, $BC ; CPU:$93D1 PRG:13D1 74 90 15 C8 C9 8C 90 10 C8 C9 A4 90 0B C8 C9 BC - .byte $90, $06, $C8, $C9, $D4, $90, $01, $C8, $98, $9D, $0F, $03, $0A, $0A, $0A, $85 ; CPU:$93E1 PRG:13E1 90 06 C8 C9 D4 90 01 C8 98 9D 0F 03 0A 0A 0A 85 - .byte $16, $BD, $09, $03, $18, $69, $10, $4A, $4A, $4A, $4A, $4A, $18, $65, $16, $9D ; CPU:$93F1 PRG:13F1 16 BD 09 03 18 69 10 4A 4A 4A 4A 4A 18 65 16 9D - .byte $0E, $03, $60, $A5, $49, $D0, $36, $A6, $4A, $BD, $09, $03, $C9, $10, $90, $0D ; CPU:$9401 PRG:1401 0E 03 60 A5 49 D0 36 A6 4A BD 09 03 C9 10 90 0D - .byte $C9, $F0, $90, $0F, $38, $E9, $E0, $9D, $09, $03, $4C, $24, $94, $18, $69, $E0 ; CPU:$9411 PRG:1411 C9 F0 90 0F 38 E9 E0 9D 09 03 4C 24 94 18 69 E0 - .byte $9D, $09, $03, $BD, $08, $03, $C9, $30, $90, $0D, $C9, $D8, $90, $0F, $38, $E9 ; CPU:$9421 PRG:1421 9D 09 03 BD 08 03 C9 30 90 0D C9 D8 90 0F 38 E9 - .byte $A8, $9D, $08, $03, $4C, $3E, $94, $18, $69, $A8, $9D, $08, $03, $60, $75, $94 ; CPU:$9431 PRG:1431 A8 9D 08 03 4C 3E 94 18 69 A8 9D 08 03 60 75 94 - .byte $B4, $94, $FF, $94, $4A, $95, $95, $95, $E0, $95, $26, $96, $6C, $96, $AE, $96 ; CPU:$9441 PRG:1441 B4 94 FF 94 4A 95 95 95 E0 95 26 96 6C 96 AE 96 - .byte $F0, $96, $3B, $97, $86, $97, $D1, $97, $1C, $98, $6F, $98, $C2, $98, $15, $99 ; CPU:$9451 PRG:1451 F0 96 3B 97 86 97 D1 97 1C 98 6F 98 C2 98 15 99 - .byte $F0, $96, $3B, $97, $86, $97, $D1, $97, $1C, $98, $6F, $98, $C2, $98, $15, $99 ; CPU:$9461 PRG:1461 F0 96 3B 97 86 97 D1 97 1C 98 6F 98 C2 98 15 99 - .byte $68, $99, $B3, $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9471 PRG:1471 68 99 B3 99 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $03, $00, $03, $00, $02, $00, $02, $00, $01, $00, $02, $00 ; CPU:$9481 PRG:1481 00 00 00 00 03 00 03 00 02 00 02 00 01 00 02 00 - .byte $01, $00, $01, $00, $00, $00, $01, $00, $00, $00, $FF, $00, $00, $00, $FF, $00 ; CPU:$9491 PRG:1491 01 00 01 00 00 00 01 00 00 00 FF 00 00 00 FF 00 - .byte $FF, $00, $FE, $00, $FF, $00, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00 ; CPU:$94A1 PRG:14A1 FF 00 FE 00 FF 00 FE 00 FE 00 FD 00 FD 00 00 00 - .byte $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$94B1 PRG:14B1 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $01, $03, $01, $03, $01, $02, $01, $02, $01, $01, $01, $02, $01, $01 ; CPU:$94C1 PRG:14C1 00 00 01 03 01 03 01 02 01 02 01 01 01 02 01 01 - .byte $01, $01, $02, $00, $01, $01, $02, $00, $01, $01, $02, $00, $01, $00, $02, $00 ; CPU:$94D1 PRG:14D1 01 01 02 00 01 01 02 00 01 01 02 00 01 00 02 00 - .byte $01, $FF, $01, $00, $01, $FF, $01, $00, $01, $FF, $01, $FF, $01, $FE, $01, $FF ; CPU:$94E1 PRG:14E1 01 FF 01 00 01 FF 01 00 01 FF 01 FF 01 FE 01 FF - .byte $01, $FE, $01, $FE, $01, $FD, $01, $FD, $01, $00, $00, $00, $00, $AA, $00, $00 ; CPU:$94F1 PRG:14F1 01 FE 01 FE 01 FD 01 FD 01 00 00 00 00 AA 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0F, $03, $0F ; CPU:$9501 PRG:1501 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 0F - .byte $03, $0F, $02, $0F, $02, $0F, $01, $0F, $02, $0F, $01, $0F, $01, $0E, $00, $0F ; CPU:$9511 PRG:1511 03 0F 02 0F 02 0F 01 0F 02 0F 01 0F 01 0E 00 0F - .byte $01, $0E, $00, $0F, $01, $0E, $00, $0F, $00, $0E, $00, $0F, $FF, $0F, $00, $0F ; CPU:$9521 PRG:1521 01 0E 00 0F 01 0E 00 0F 00 0E 00 0F FF 0F 00 0F - .byte $FF, $0F, $00, $0F, $FF, $0F, $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F, $FE, $0F ; CPU:$9531 PRG:1531 FF 0F 00 0F FF 0F FF 0F FE 0F FF 0F FE 0F FE 0F - .byte $FD, $0F, $FD, $0F, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9541 PRG:1541 FD 0F FD 0F 00 00 00 00 AA 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $10, $03, $10, $03, $10, $02, $10, $02 ; CPU:$9551 PRG:1551 00 00 00 00 00 00 00 00 10 03 10 03 10 02 10 02 - .byte $10, $01, $10, $02, $10, $01, $10, $01, $10, $00, $10, $01, $10, $00, $10, $01 ; CPU:$9561 PRG:1561 10 01 10 02 10 01 10 01 10 00 10 01 10 00 10 01 - .byte $10, $00, $10, $00, $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $00, $10, $FF ; CPU:$9571 PRG:1571 10 00 10 00 10 00 10 FF 10 00 10 FF 10 00 10 FF - .byte $10, $FF, $10, $FE, $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00 ; CPU:$9581 PRG:1581 10 FF 10 FE 10 FF 10 FE 00 FE 00 FD 00 FD 00 00 - .byte $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9591 PRG:1591 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $F0, $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0, $02, $F0 ; CPU:$95A1 PRG:15A1 00 00 00 F0 03 F0 03 F0 02 F0 02 F0 01 F0 02 F0 - .byte $01, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0, $00, $F0 ; CPU:$95B1 PRG:15B1 01 F0 01 F0 00 F0 01 F0 00 F0 01 F0 00 F0 00 F0 - .byte $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $FF, $F0, $FE, $F0 ; CPU:$95C1 PRG:15C1 00 F0 FF F0 00 F0 FF F0 00 F0 FF F0 FF F0 FE F0 - .byte $FF, $F0, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA, $02 ; CPU:$95D1 PRG:15D1 FF F0 FE 00 FE 00 FD 00 FD 00 00 00 00 00 AA 02 - .byte $04, $02, $03, $01, $04, $02, $03, $01, $03, $02, $03, $01, $03, $01, $03, $00 ; CPU:$95E1 PRG:15E1 04 02 03 01 04 02 03 01 03 02 03 01 03 01 03 00 - .byte $03, $01, $03, $00, $03, $01, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00 ; CPU:$95F1 PRG:15F1 03 01 03 00 03 01 03 00 03 00 03 00 03 00 03 00 - .byte $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $AA, $FF, $03, $00, $03 ; CPU:$9601 PRG:1601 03 00 03 00 03 00 03 00 03 00 03 AA FF 03 00 03 - .byte $FF, $03, $00, $03, $FF, $03, $FF, $03, $FE, $03, $FF, $01, $FE, $01, $FF, $01 ; CPU:$9611 PRG:1611 FF 03 00 03 FF 03 FF 03 FE 03 FF 01 FE 01 FF 01 - .byte $FE, $01, $FE, $01, $AA, $02, $0D, $02, $0D, $01, $0D, $02, $0D, $01, $0D, $02 ; CPU:$9621 PRG:1621 FE 01 FE 01 AA 02 0D 02 0D 01 0D 02 0D 01 0D 02 - .byte $0D, $01, $0D, $01, $0D, $00, $0D, $01, $0D, $00, $0D, $01, $0D, $00, $0D, $00 ; CPU:$9631 PRG:1631 0D 01 0D 01 0D 00 0D 01 0D 00 0D 01 0D 00 0D 00 - .byte $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00 ; CPU:$9641 PRG:1641 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 - .byte $0D, $AA, $FF, $0E, $00, $0E, $FF, $0E, $00, $0E, $FF, $0E, $FF, $0E, $FE, $0E ; CPU:$9651 PRG:1651 0D AA FF 0E 00 0E FF 0E 00 0E FF 0E FF 0E FE 0E - .byte $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F, $FE, $0F, $AA, $02, $30, $02, $30, $01 ; CPU:$9661 PRG:1661 FF 0F FE 0F FF 0F FE 0F FE 0F AA 02 30 02 30 01 - .byte $30, $02, $30, $01, $20, $02, $20, $01, $30, $01, $20, $00, $20, $01, $20, $00 ; CPU:$9671 PRG:1671 30 02 30 01 20 02 20 01 30 01 20 00 20 01 20 00 - .byte $20, $01, $20, $00, $20, $00, $20, $00, $20, $00, $20, $00, $20, $00, $20, $00 ; CPU:$9681 PRG:1681 20 01 20 00 20 00 20 00 20 00 20 00 20 00 20 00 - .byte $20, $00, $20, $AA, $FF, $10, $00, $20, $FF, $10, $00, $20, $FF, $10, $FF, $20 ; CPU:$9691 PRG:1691 20 00 20 AA FF 10 00 20 FF 10 00 20 FF 10 FF 20 - .byte $FE, $10, $FF, $10, $FE, $10, $FF, $10, $FE, $10, $FE, $10, $AA, $02, $D0, $02 ; CPU:$96A1 PRG:16A1 FE 10 FF 10 FE 10 FF 10 FE 10 FE 10 AA 02 D0 02 - .byte $D0, $01, $D0, $02, $D0, $01, $E0, $02, $E0, $01, $E0, $01, $E0, $00, $E0, $01 ; CPU:$96B1 PRG:16B1 D0 01 D0 02 D0 01 E0 02 E0 01 E0 01 E0 00 E0 01 - .byte $E0, $00, $E0, $01, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00 ; CPU:$96C1 PRG:16C1 E0 00 E0 01 E0 00 E0 00 E0 00 E0 00 E0 00 E0 00 - .byte $E0, $00, $E0, $00, $E0, $AA, $FF, $F0, $00, $E0, $FF, $F0, $00, $E0, $FF, $F0 ; CPU:$96D1 PRG:16D1 E0 00 E0 00 E0 AA FF F0 00 E0 FF F0 00 E0 FF F0 - .byte $FF, $E0, $FE, $F0, $FF, $F0, $FE, $F0, $FF, $F0, $FE, $F0, $FE, $F0, $AA, $00 ; CPU:$96E1 PRG:16E1 FF E0 FE F0 FF F0 FE F0 FF F0 FE F0 FE F0 AA 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $03 ; CPU:$96F1 PRG:16F1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 - .byte $01, $03, $01, $02, $01, $02, $01, $01, $01, $02, $01, $01, $01, $01, $02, $00 ; CPU:$9701 PRG:1701 01 03 01 02 01 02 01 01 01 02 01 01 01 01 02 00 - .byte $01, $01, $02, $00, $01, $01, $02, $00, $01, $00, $02, $00, $01, $FF, $01, $00 ; CPU:$9711 PRG:1711 01 01 02 00 01 01 02 00 01 00 02 00 01 FF 01 00 - .byte $01, $FF, $01, $00, $01, $FF, $01, $FF, $01, $FE, $01, $FF, $01, $FE, $01, $FE ; CPU:$9721 PRG:1721 01 FF 01 00 01 FF 01 FF 01 FE 01 FF 01 FE 01 FE - .byte $01, $FD, $01, $FD, $01, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00 ; CPU:$9731 PRG:1731 01 FD 01 FD 01 00 00 00 00 AA 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $0F, $03, $0F, $03, $0F, $02, $0F ; CPU:$9741 PRG:1741 00 00 00 00 00 00 00 00 00 0F 03 0F 03 0F 02 0F - .byte $02, $0F, $01, $0F, $02, $0F, $01, $0F, $01, $0E, $00, $0F, $01, $0E, $00, $0F ; CPU:$9751 PRG:1751 02 0F 01 0F 02 0F 01 0F 01 0E 00 0F 01 0E 00 0F - .byte $01, $0E, $00, $0F, $00, $0E, $00, $0F, $FF, $0F, $00, $0F, $FF, $0F, $00, $0F ; CPU:$9761 PRG:1761 01 0E 00 0F 00 0E 00 0F FF 0F 00 0F FF 0F 00 0F - .byte $FF, $0F, $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F, $FE, $0F, $FD, $0F, $FD, $0F ; CPU:$9771 PRG:1771 FF 0F FF 0F FE 0F FF 0F FE 0F FE 0F FD 0F FD 0F - .byte $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9781 PRG:1781 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $10, $03, $10, $03, $10, $02, $10, $02, $10, $01, $10, $02 ; CPU:$9791 PRG:1791 00 00 00 00 10 03 10 03 10 02 10 02 10 01 10 02 - .byte $10, $01, $10, $01, $10, $00, $10, $01, $10, $00, $10, $01, $10, $00, $10, $00 ; CPU:$97A1 PRG:17A1 10 01 10 01 10 00 10 01 10 00 10 01 10 00 10 00 - .byte $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $FF, $10, $FE ; CPU:$97B1 PRG:17B1 10 00 10 FF 10 00 10 FF 10 00 10 FF 10 FF 10 FE - .byte $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA ; CPU:$97C1 PRG:17C1 10 FF 10 FE 00 FE 00 FD 00 FD 00 00 00 00 00 AA - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0 ; CPU:$97D1 PRG:17D1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 - .byte $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0, $02, $F0, $01, $F0, $01, $F0 ; CPU:$97E1 PRG:17E1 03 F0 03 F0 02 F0 02 F0 01 F0 02 F0 01 F0 01 F0 - .byte $00, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0, $00, $F0, $00, $F0, $FF, $F0 ; CPU:$97F1 PRG:17F1 00 F0 01 F0 00 F0 01 F0 00 F0 00 F0 00 F0 FF F0 - .byte $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $FF, $F0, $FE, $F0, $FF, $F0, $FE, $00 ; CPU:$9801 PRG:1801 00 F0 FF F0 00 F0 FF F0 FF F0 FE F0 FF F0 FE 00 - .byte $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00 ; CPU:$9811 PRG:1811 FE 00 FD 00 FD 00 00 00 00 00 AA 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $1F, $03, $0F, $03, $1F, $02 ; CPU:$9821 PRG:1821 00 00 00 00 00 00 00 00 00 00 1F 03 0F 03 1F 02 - .byte $1F, $02, $1F, $01, $0F, $02, $1F, $01, $1F, $01, $1F, $00, $0F, $01, $1F, $00 ; CPU:$9831 PRG:1831 1F 02 1F 01 0F 02 1F 01 1F 01 1F 00 0F 01 1F 00 - .byte $1F, $00, $1F, $01, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $0F, $FF ; CPU:$9841 PRG:1841 1F 00 1F 01 0F 00 1F 00 1F 00 1F 00 1F 00 0F FF - .byte $1F, $00, $1F, $00, $1F, $FF, $0F, $00, $1F, $FF, $1F, $FF, $1F, $FE, $0F, $FF ; CPU:$9851 PRG:1851 1F 00 1F 00 1F FF 0F 00 1F FF 1F FF 1F FE 0F FF - .byte $1F, $FE, $1F, $FE, $1F, $FD, $0F, $FD, $1F, $00, $00, $00, $00, $AA, $00, $00 ; CPU:$9861 PRG:1861 1F FE 1F FE 1F FD 0F FD 1F 00 00 00 00 AA 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $11, $03, $01 ; CPU:$9871 PRG:1871 00 00 00 00 00 00 00 00 00 00 00 00 00 11 03 01 - .byte $03, $11, $02, $11, $02, $11, $01, $01, $02, $11, $01, $11, $01, $11, $00, $01 ; CPU:$9881 PRG:1881 03 11 02 11 02 11 01 01 02 11 01 11 01 11 00 01 - .byte $01, $11, $00, $11, $00, $11, $01, $01, $00, $11, $00, $11, $00, $11, $00, $11 ; CPU:$9891 PRG:1891 01 11 00 11 00 11 01 01 00 11 00 11 00 11 00 11 - .byte $00, $01, $FF, $11, $00, $11, $00, $11, $FF, $01, $00, $11, $FF, $11, $FF, $11 ; CPU:$98A1 PRG:18A1 00 01 FF 11 00 11 00 11 FF 01 00 11 FF 11 FF 11 - .byte $FE, $01, $FF, $11, $FE, $11, $FE, $11, $FD, $01, $FD, $11, $00, $00, $00, $00 ; CPU:$98B1 PRG:18B1 FE 01 FF 11 FE 11 FE 11 FD 01 FD 11 00 00 00 00 - .byte $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$98C1 PRG:18C1 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $F1, $03, $01, $03, $F1, $02, $F1, $02, $F1, $01, $01, $02, $F1, $01, $F1, $01 ; CPU:$98D1 PRG:18D1 F1 03 01 03 F1 02 F1 02 F1 01 01 02 F1 01 F1 01 - .byte $F1, $00, $01, $01, $F1, $00, $F1, $00, $F1, $01, $01, $00, $F1, $00, $F1, $00 ; CPU:$98E1 PRG:18E1 F1 00 01 01 F1 00 F1 00 F1 01 01 00 F1 00 F1 00 - .byte $F1, $00, $F1, $00, $01, $FF, $F1, $00, $F1, $00, $F1, $FF, $01, $00, $F1, $FF ; CPU:$98F1 PRG:18F1 F1 00 F1 00 01 FF F1 00 F1 00 F1 FF 01 00 F1 FF - .byte $F1, $FF, $F1, $FE, $01, $FF, $F1, $FE, $F1, $FE, $F1, $FD, $01, $FD, $F1, $00 ; CPU:$9901 PRG:1901 F1 FF F1 FE 01 FF F1 FE F1 FE F1 FD 01 FD F1 00 - .byte $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9911 PRG:1911 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $FF, $03, $0F, $03, $FF, $02, $FF, $02, $FF, $01, $0F, $02, $FF ; CPU:$9921 PRG:1921 00 00 00 FF 03 0F 03 FF 02 FF 02 FF 01 0F 02 FF - .byte $01, $FF, $01, $FF, $00, $0F, $01, $FF, $00, $FF, $00, $FF, $01, $0F, $00, $FF ; CPU:$9931 PRG:1931 01 FF 01 FF 00 0F 01 FF 00 FF 00 FF 01 0F 00 FF - .byte $00, $FF, $00, $FF, $00, $FF, $00, $0F, $FF, $FF, $00, $FF, $00, $FF, $FF, $0F ; CPU:$9941 PRG:1941 00 FF 00 FF 00 FF 00 0F FF FF 00 FF 00 FF FF 0F - .byte $00, $FF, $FF, $FF, $FF, $FF, $FE, $0F, $FF, $FF, $FE, $FF, $FE, $FF, $FD, $0F ; CPU:$9951 PRG:1951 00 FF FF FF FF FF FE 0F FF FF FE FF FE FF FD 0F - .byte $FD, $FF, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9961 PRG:1961 FD FF 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $10, $03, $10, $03, $10, $02, $10, $02, $10, $01 ; CPU:$9971 PRG:1971 00 00 00 00 00 00 10 03 10 03 10 02 10 02 10 01 - .byte $10, $02, $10, $01, $10, $01, $10, $00, $20, $01, $10, $00, $20, $01, $10, $00 ; CPU:$9981 PRG:1981 10 02 10 01 10 01 10 00 20 01 10 00 20 01 10 00 - .byte $20, $00, $20, $00, $20, $FF, $20, $00, $10, $FF, $20, $00, $10, $FF, $20, $FF ; CPU:$9991 PRG:1991 20 00 20 00 20 FF 20 00 10 FF 20 00 10 FF 20 FF - .byte $10, $FE, $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00 ; CPU:$99A1 PRG:19A1 10 FE 10 FF 10 FE 00 FE 00 FD 00 FD 00 00 00 00 - .byte $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$99B1 PRG:19B1 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $F0, $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0, $02, $F0, $01, $F0 ; CPU:$99C1 PRG:19C1 00 F0 03 F0 03 F0 02 F0 02 F0 01 F0 02 F0 01 F0 - .byte $01, $F0, $00, $E0, $01, $F0, $00, $E0, $01, $F0, $00, $E0, $00, $E0, $00, $E0 ; CPU:$99D1 PRG:19D1 01 F0 00 E0 01 F0 00 E0 01 F0 00 E0 00 E0 00 E0 - .byte $FF, $E0, $00, $F0, $FF, $E0, $00, $F0, $FF, $E0, $FF, $F0, $FE, $F0, $FF, $F0 ; CPU:$99E1 PRG:19E1 FF E0 00 F0 FF E0 00 F0 FF E0 FF F0 FE F0 FF F0 - .byte $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA, $A6, $4A, $BD ; CPU:$99F1 PRG:19F1 FE 00 FE 00 FD 00 FD 00 00 00 00 00 AA A6 4A BD - .byte $03, $03, $F0, $06, $DE, $03, $03, $F0, $01, $60, $BD, $02, $03, $9D, $03, $03 ; CPU:$9A01 PRG:1A01 03 03 F0 06 DE 03 03 F0 01 60 BD 02 03 9D 03 03 - .byte $4C, $1B, $9A, $C8, $B9, $2C, $9A, $9D, $05, $03, $BC, $05, $03, $B9, $2C, $9A ; CPU:$9A11 PRG:1A11 4C 1B 9A C8 B9 2C 9A 9D 05 03 BC 05 03 B9 2C 9A - .byte $C9, $FF, $F0, $EF, $9D, $06, $03, $FE, $05, $03, $60, $00, $FF, $00, $01, $02 ; CPU:$9A21 PRG:1A21 C9 FF F0 EF 9D 06 03 FE 05 03 60 00 FF 00 01 02 - .byte $03, $03, $03, $04, $FF, $08, $05, $06, $07, $07, $07, $08, $FF, $10, $09, $0A ; CPU:$9A31 PRG:1A31 03 03 03 04 FF 08 05 06 07 07 07 08 FF 10 09 0A - .byte $0B, $0B, $0B, $0C, $FF, $18, $0D, $0E, $0F, $0F, $0F, $10, $FF, $20, $02, $01 ; CPU:$9A41 PRG:1A41 0B 0B 0B 0C FF 18 0D 0E 0F 0F 0F 10 FF 20 02 01 - .byte $FF, $24, $06, $05, $FF, $28, $0A, $09, $FF, $2C, $0E, $0D, $FF, $30, $3B, $3C ; CPU:$9A51 PRG:1A51 FF 24 06 05 FF 28 0A 09 FF 2C 0E 0D FF 30 3B 3C - .byte $3D, $3A, $FF, $33, $3F, $40, $41, $3E, $FF, $39, $28, $29, $28, $2A, $2B, $2C ; CPU:$9A61 PRG:1A61 3D 3A FF 33 3F 40 41 3E FF 39 28 29 28 2A 2B 2C - .byte $2D, $FF, $42, $28, $29, $28, $FF, $4A, $2E, $2F, $30, $2F, $FF, $4D, $31, $32 ; CPU:$9A71 PRG:1A71 2D FF 42 28 29 28 FF 4A 2E 2F 30 2F FF 4D 31 32 - .byte $33, $32, $FF, $53, $34, $35, $36, $35, $FF, $59, $37, $38, $39, $38, $FF, $5F ; CPU:$9A81 PRG:1A81 33 32 FF 53 34 35 36 35 FF 59 37 38 39 38 FF 5F - .byte $25, $26, $24, $27, $FF, $65, $A2, $1F, $BD, $A8, $9A, $9D, $40, $03, $CA, $10 ; CPU:$9A91 PRG:1A91 25 26 24 27 FF 65 A2 1F BD A8 9A 9D 40 03 CA 10 - .byte $F7, $A9, $00, $8D, $C0, $03, $60, $01, $00, $05, $00, $00, $00, $00, $00, $40 ; CPU:$9AA1 PRG:1AA1 F7 A9 00 8D C0 03 60 01 00 05 00 00 00 00 00 40 - .byte $50, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $04, $00 ; CPU:$9AB1 PRG:1AB1 50 00 00 00 00 00 00 00 00 00 00 00 00 04 04 00 - .byte $00, $00, $00, $00, $00, $00, $00, $20, $97, $9A, $A9, $38, $8D, $48, $03, $A9 ; CPU:$9AC1 PRG:1AC1 00 00 00 00 00 00 00 20 97 9A A9 38 8D 48 03 A9 - .byte $20, $8D, $5A, $03, $60, $AD, $CB, $03, $8D, $4B, $03, $AD, $C0, $03, $D0, $03 ; CPU:$9AD1 PRG:1AD1 20 8D 5A 03 60 AD CB 03 8D 4B 03 AD C0 03 D0 03 - .byte $8D, $41, $03, $4C, $5C, $9B, $A2, $40, $86, $4A, $AD, $48, $03, $38, $E9, $30 ; CPU:$9AE1 PRG:1AE1 8D 41 03 4C 5C 9B A2 40 86 4A AD 48 03 38 E9 30 - .byte $4A, $4A, $4A, $4A, $4A, $8D, $4F, $03, $2C, $41, $03, $30, $2D, $70, $D6, $20 ; CPU:$9AF1 PRG:1AF1 4A 4A 4A 4A 4A 8D 4F 03 2C 41 03 30 2D 70 D6 20 - .byte $88, $9B, $29, $0C, $F0, $50, $A2, $19, $A0, $03, $29, $04, $D0, $02, $C8, $E8 ; CPU:$9B01 PRG:1B01 88 9B 29 0C F0 50 A2 19 A0 03 29 04 D0 02 C8 E8 - .byte $8E, $4D, $03, $98, $09, $80, $8D, $41, $03, $A9, $00, $8D, $43, $03, $8D, $4C ; CPU:$9B11 PRG:1B11 8E 4D 03 98 09 80 8D 41 03 A9 00 8D 43 03 8D 4C - .byte $03, $B9, $44, $93, $8D, $45, $03, $20, $A1, $B2, $20, $5E, $93, $B0, $03, $4C ; CPU:$9B21 PRG:1B21 03 B9 44 93 8D 45 03 20 A1 B2 20 5E 93 B0 03 4C - .byte $5C, $9B, $AD, $41, $03, $29, $07, $AA, $BD, $51, $93, $8D, $45, $03, $A9, $00 ; CPU:$9B31 PRG:1B31 5C 9B AD 41 03 29 07 AA BD 51 93 8D 45 03 A9 00 - .byte $8D, $43, $03, $A9, $40, $8D, $41, $03, $AD, $4F, $03, $8D, $58, $03, $A6, $4A ; CPU:$9B41 PRG:1B41 8D 43 03 A9 40 8D 41 03 AD 4F 03 8D 58 03 A6 4A - .byte $20, $F1, $A2, $4C, $5C, $9B, $A9, $00, $8D, $45, $03, $20, $FE, $99, $20, $0A ; CPU:$9B51 PRG:1B51 20 F1 A2 4C 5C 9B A9 00 8D 45 03 20 FE 99 20 0A - .byte $83, $A2, $C0, $86, $4A, $A2, $40, $20, $F3, $A3, $AD, $58, $03, $0A, $0A, $0A ; CPU:$9B61 PRG:1B61 83 A2 C0 86 4A A2 40 20 F3 A3 AD 58 03 0A 0A 0A - .byte $0A, $0A, $69, $3F, $8D, $50, $02, $A9, $F0, $8D, $51, $02, $A9, $02, $8D, $52 ; CPU:$9B71 PRG:1B71 0A 0A 69 3F 8D 50 02 A9 F0 8D 51 02 A9 02 8D 52 - .byte $02, $A9, $6C, $8D, $53, $02, $60, $A9, $04, $AE, $4F, $03, $F0, $09, $A9, $08 ; CPU:$9B81 PRG:1B81 02 A9 6C 8D 53 02 60 A9 04 AE 4F 03 F0 09 A9 08 - .byte $EC, $56, $03, $F0, $02, $A9, $0C, $25, $18, $F0, $01, $60, $A5, $1A, $29, $20 ; CPU:$9B91 PRG:1B91 EC 56 03 F0 02 A9 0C 25 18 F0 01 60 A5 1A 29 20 - .byte $F0, $F9, $A9, $04, $AE, $4F, $03, $F0, $07, $A9, $08, $EC, $56, $03, $D0, $03 ; CPU:$9BA1 PRG:1BA1 F0 F9 A9 04 AE 4F 03 F0 07 A9 08 EC 56 03 D0 03 - .byte $8D, $57, $03, $AD, $57, $03, $60, $AD, $CB, $03, $8D, $4B, $03, $AD, $C0, $03 ; CPU:$9BB1 PRG:1BB1 8D 57 03 AD 57 03 60 AD CB 03 8D 4B 03 AD C0 03 - .byte $D0, $03, $8D, $41, $03, $4C, $42, $9C, $A2, $40, $86, $4A, $20, $BA, $93, $A5 ; CPU:$9BC1 PRG:1BC1 D0 03 8D 41 03 4C 42 9C A2 40 86 4A 20 BA 93 A5 - .byte $2F, $29, $03, $D0, $03, $CE, $5A, $03, $2C, $41, $03, $30, $3C, $70, $D8, $AD ; CPU:$9BD1 PRG:1BD1 2F 29 03 D0 03 CE 5A 03 2C 41 03 30 3C 70 D8 AD - .byte $5A, $03, $D0, $58, $AE, $5B, $03, $BD, $52, $9C, $C9, $FF, $D0, $05, $A2, $00 ; CPU:$9BE1 PRG:1BE1 5A 03 D0 58 AE 5B 03 BD 52 9C C9 FF D0 05 A2 00 - .byte $BD, $52, $9C, $E8, $8E, $5B, $03, $8D, $4D, $03, $A8, $B9, $44, $93, $8D, $45 ; CPU:$9BF1 PRG:1BF1 BD 52 9C E8 8E 5B 03 8D 4D 03 A8 B9 44 93 8D 45 - .byte $03, $A9, $80, $8D, $41, $03, $A9, $00, $8D, $43, $03, $8D, $4C, $03, $A6, $50 ; CPU:$9C01 PRG:1C01 03 A9 80 8D 41 03 A9 00 8D 43 03 8D 4C 03 A6 50 - .byte $BD, $D9, $B1, $8D, $5A, $03, $20, $A1, $B2, $20, $5E, $93, $B0, $03, $4C, $42 ; CPU:$9C11 PRG:1C11 BD D9 B1 8D 5A 03 20 A1 B2 20 5E 93 B0 03 4C 42 - .byte $9C, $AE, $4D, $03, $BD, $51, $93, $8D, $45, $03, $A9, $00, $8D, $43, $03, $A9 ; CPU:$9C21 PRG:1C21 9C AE 4D 03 BD 51 93 8D 45 03 A9 00 8D 43 03 A9 - .byte $40, $8D, $41, $03, $A6, $4A, $20, $3E, $A3, $4C, $42, $9C, $A9, $00, $8D, $45 ; CPU:$9C31 PRG:1C31 40 8D 41 03 A6 4A 20 3E A3 4C 42 9C A9 00 8D 45 - .byte $03, $20, $FE, $99, $20, $0A, $83, $A2, $C0, $86, $4A, $A2, $40, $20, $F3, $A3 ; CPU:$9C41 PRG:1C41 03 20 FE 99 20 0A 83 A2 C0 86 4A A2 40 20 F3 A3 - .byte $60, $01, $01, $01, $03, $03, $03, $02, $02, $02, $04, $04, $04, $FF, $A2, $20 ; CPU:$9C51 PRG:1C51 60 01 01 01 03 03 03 02 02 02 04 04 04 FF A2 20 - .byte $86, $4A, $AD, $20, $03, $F0, $04, $4C, $3D, $9D, $60, $CE, $34, $03, $D0, $FA ; CPU:$9C61 PRG:1C61 86 4A AD 20 03 F0 04 4C 3D 9D 60 CE 34 03 D0 FA - .byte $AD, $18, $06, $29, $1F, $85, $17, $A8, $29, $07, $C9, $07, $F0, $EC, $B9, $C8 ; CPU:$9C71 PRG:1C71 AD 18 06 29 1F 85 17 A8 29 07 C9 07 F0 EC B9 C8 - .byte $9C, $8D, $2E, $03, $20, $18, $93, $A5, $17, $4A, $4A, $4A, $8D, $24, $03, $A9 ; CPU:$9C81 PRG:1C81 9C 8D 2E 03 20 18 93 A5 17 4A 4A 4A 8D 24 03 A9 - .byte $28, $8D, $26, $03, $A9, $4A, $8D, $25, $03, $AC, $2E, $03, $A2, $00, $B9, $00 ; CPU:$9C91 PRG:1C91 28 8D 26 03 A9 4A 8D 25 03 AC 2E 03 A2 00 B9 00 - .byte $04, $10, $02, $A2, $FC, $8E, $2B, $03, $A9, $03, $8D, $21, $03, $A9, $01, $8D ; CPU:$9CA1 PRG:1CA1 04 10 02 A2 FC 8E 2B 03 A9 03 8D 21 03 A9 01 8D - .byte $20, $03, $A9, $40, $8D, $39, $03, $A9, $05, $8D, $22, $03, $A9, $03, $8D, $27 ; CPU:$9CB1 PRG:1CB1 20 03 A9 40 8D 39 03 A9 05 8D 22 03 A9 03 8D 27 - .byte $03, $A9, $30, $8D, $2A, $03, $60, $09, $09, $11, $19, $21, $29, $29, $00, $0F ; CPU:$9CC1 PRG:1CC1 03 A9 30 8D 2A 03 60 09 09 11 19 21 29 29 00 0F - .byte $0F, $17, $1F, $27, $2F, $2F, $00, $02, $02, $03, $04, $05, $06, $06, $00, $32 ; CPU:$9CD1 PRG:1CD1 0F 17 1F 27 2F 2F 00 02 02 03 04 05 06 06 00 32 - .byte $32, $33, $34, $35, $36, $36, $00, $04, $05, $06, $07, $0F, $17, $1F, $00, $19 ; CPU:$9CE1 PRG:1CE1 32 33 34 35 36 36 00 04 05 06 07 0F 17 1F 00 19 - .byte $11, $09, $01, $02, $03, $04, $00, $19, $21, $29, $31, $32, $33, $34, $00, $34 ; CPU:$9CF1 PRG:1CF1 11 09 01 02 03 04 00 19 21 29 31 32 33 34 00 34 - .byte $35, $36, $37, $2F, $27, $1F, $00, $CE, $39, $03, $D0, $15, $A9, $00, $8D, $21 ; CPU:$9D01 PRG:1D01 35 36 37 2F 27 1F 00 CE 39 03 D0 15 A9 00 8D 21 - .byte $03, $A9, $28, $8D, $33, $03, $4C, $0A, $83, $01, $FF, $08, $F8, $07, $09, $F9 ; CPU:$9D11 PRG:1D11 03 A9 28 8D 33 03 4C 0A 83 01 FF 08 F8 07 09 F9 - .byte $F7, $A5, $2F, $29, $04, $F0, $03, $4C, $0A, $83, $60, $00, $00, $00, $00, $00 ; CPU:$9D21 PRG:1D21 F7 A5 2F 29 04 F0 03 4C 0A 83 60 00 00 00 00 00 - .byte $00, $00, $00, $00, $0A, $09, $0C, $0B, $0F, $10, $0D, $0E, $AD, $21, $03, $20 ; CPU:$9D31 PRG:1D31 00 00 00 00 0A 09 0C 0B 0F 10 0D 0E AD 21 03 20 - .byte $6D, $84, $4B, $9D, $7A, $9D, $F7, $9D, $08, $9D, $20, $BA, $93, $AD, $33, $03 ; CPU:$9D41 PRG:1D41 6D 84 4B 9D 7A 9D F7 9D 08 9D 20 BA 93 AD 33 03 - .byte $F0, $06, $CE, $33, $03, $4C, $21, $9E, $AD, $24, $03, $18, $69, $09, $8D, $2D ; CPU:$9D51 PRG:1D51 F0 06 CE 33 03 4C 21 9E AD 24 03 18 69 09 8D 2D - .byte $03, $A9, $01, $8D, $21, $03, $A9, $00, $8D, $23, $03, $8D, $2C, $03, $A9, $3F ; CPU:$9D61 PRG:1D61 03 A9 01 8D 21 03 A9 00 8D 23 03 8D 2C 03 A9 3F - .byte $8D, $25, $03, $20, $A5, $B2, $4C, $21, $9E, $20, $BA, $93, $AD, $37, $03, $F0 ; CPU:$9D71 PRG:1D71 8D 25 03 20 A5 B2 4C 21 9E 20 BA 93 AD 37 03 F0 - .byte $11, $AC, $2D, $03, $B9, $2C, $9D, $8D, $2D, $03, $A9, $00, $8D, $2C, $03, $4C ; CPU:$9D81 PRG:1D81 11 AC 2D 03 B9 2C 9D 8D 2D 03 A9 00 8D 2C 03 4C - .byte $21, $9E, $20, $5E, $93, $B0, $0E, $AD, $29, $03, $C9, $F7, $B0, $2D, $C9, $09 ; CPU:$9D91 PRG:1D91 21 9E 20 5E 93 B0 0E AD 29 03 C9 F7 B0 2D C9 09 - .byte $90, $29, $4C, $21, $9E, $AD, $2B, $03, $F0, $0F, $30, $0D, $38, $E9, $03, $10 ; CPU:$9DA1 PRG:1DA1 90 29 4C 21 9E AD 2B 03 F0 0F 30 0D 38 E9 03 10 - .byte $02, $A9, $00, $8D, $2B, $03, $4C, $21, $9E, $AD, $2E, $03, $29, $07, $F0, $0B ; CPU:$9DB1 PRG:1DB1 02 A9 00 8D 2B 03 4C 21 9E AD 2E 03 29 07 F0 0B - .byte $AD, $2F, $03, $C9, $FF, $F0, $04, $C9, $07, $D0, $0E, $A9, $00, $8D, $20, $03 ; CPU:$9DC1 PRG:1DC1 AD 2F 03 C9 FF F0 04 C9 07 D0 0E A9 00 8D 20 03 - .byte $AD, $18, $06, $29, $1F, $8D, $34, $03, $60, $20, $1D, $93, $AE, $2D, $03, $A9 ; CPU:$9DD1 PRG:1DD1 AD 18 06 29 1F 8D 34 03 60 20 1D 93 AE 2D 03 A9 - .byte $48, $8D, $25, $03, $A9, $00, $8D, $23, $03, $A9, $02, $8D, $21, $03, $A6, $4A ; CPU:$9DE1 PRG:1DE1 48 8D 25 03 A9 00 8D 23 03 A9 02 8D 21 03 A6 4A - .byte $20, $8F, $A1, $4C, $21, $9E, $AD, $AB, $03, $8D, $2B, $03, $AD, $A0, $03, $D0 ; CPU:$9DF1 PRG:1DF1 20 8F A1 4C 21 9E AD AB 03 8D 2B 03 AD A0 03 D0 - .byte $11, $8D, $21, $03, $A6, $70, $E0, $10, $90, $02, $A2, $0A, $BD, $16, $9E, $8D ; CPU:$9E01 PRG:1E01 11 8D 21 03 A6 70 E0 10 90 02 A2 0A BD 16 9E 8D - .byte $33, $03, $4C, $21, $9E, $00, $60, $58, $50, $48, $40, $38, $38, $38, $30, $20 ; CPU:$9E11 PRG:1E11 33 03 4C 21 9E 00 60 58 50 48 40 38 38 38 30 20 - .byte $20, $FE, $99, $4C, $0A, $83, $A5, $49, $D0, $0B, $A0, $1F, $B9, $37, $9E, $99 ; CPU:$9E21 PRG:1E21 20 FE 99 4C 0A 83 A5 49 D0 0B A0 1F B9 37 9E 99 - .byte $60, $03, $88, $10, $F7, $60, $01, $00, $16, $00, $00, $4D, $44, $01, $80, $80 ; CPU:$9E31 PRG:1E31 60 03 88 10 F7 60 01 00 16 00 00 4D 44 01 80 80 - .byte $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9E41 PRG:1E41 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $60, $A2, $60, $86, $4A, $A5, $49, $D0, $F7, $AD ; CPU:$9E51 PRG:1E51 00 00 00 00 00 00 60 A2 60 86 4A A5 49 D0 F7 AD - .byte $60, $03, $F0, $F2, $AD, $74, $03, $F0, $17, $CE, $74, $03, $D0, $31, $AD, $64 ; CPU:$9E61 PRG:1E61 60 03 F0 F2 AD 74 03 F0 17 CE 74 03 D0 31 AD 64 - .byte $03, $8D, $65, $03, $A9, $01, $8D, $63, $03, $A9, $16, $8D, $62, $03, $D0, $1F ; CPU:$9E71 PRG:1E71 03 8D 65 03 A9 01 8D 63 03 A9 16 8D 62 03 D0 1F - .byte $AD, $77, $03, $F0, $1D, $A9, $20, $8D, $74, $03, $AD, $65, $03, $8D, $64, $03 ; CPU:$9E81 PRG:1E81 AD 77 03 F0 1D A9 20 8D 74 03 AD 65 03 8D 64 03 - .byte $A9, $65, $8D, $65, $03, $A9, $01, $8D, $63, $03, $A9, $04, $8D, $62, $03, $4C ; CPU:$9E91 PRG:1E91 A9 65 8D 65 03 A9 01 8D 63 03 A9 04 8D 62 03 4C - .byte $99, $9F, $A5, $2F, $29, $01, $F0, $F7, $20, $BA, $93, $A2, $00, $AC, $6E, $03 ; CPU:$9EA1 PRG:1EA1 99 9F A5 2F 29 01 F0 F7 20 BA 93 A2 00 AC 6E 03 - .byte $B9, $00, $04, $10, $02, $A2, $FC, $8E, $6B, $03, $AD, $6D, $03, $F0, $05, $CE ; CPU:$9EB1 PRG:1EB1 B9 00 04 10 02 A2 FC 8E 6B 03 AD 6D 03 F0 05 CE - .byte $6D, $03, $D0, $DB, $AD, $61, $03, $4A, $B0, $3E, $4A, $B0, $55, $4A, $B0, $11 ; CPU:$9EC1 PRG:1EC1 6D 03 D0 DB AD 61 03 4A B0 3E 4A B0 55 4A B0 11 - .byte $4A, $B0, $0E, $AD, $18, $06, $29, $01, $8D, $61, $03, $18, $69, $01, $4C, $D1 ; CPU:$9ED1 PRG:1ED1 4A B0 0E AD 18 06 29 01 8D 61 03 18 69 01 4C D1 - .byte $9F, $AD, $68, $03, $C9, $38, $F0, $1B, $C9, $50, $F0, $17, $C9, $68, $F0, $13 ; CPU:$9EE1 PRG:1EE1 9F AD 68 03 C9 38 F0 1B C9 50 F0 17 C9 68 F0 13 - .byte $C9, $80, $F0, $0F, $C9, $98, $F0, $0B, $C9, $B0, $F0, $07, $C9, $C8, $F0, $03 ; CPU:$9EF1 PRG:1EF1 C9 80 F0 0F C9 98 F0 0B C9 B0 F0 07 C9 C8 F0 03 - .byte $4C, $75, $9F, $A9, $00, $4C, $D1, $9F, $AD, $69, $03, $29, $1F, $C9, $1F, $D0 ; CPU:$9F01 PRG:1F01 4C 75 9F A9 00 4C D1 9F AD 69 03 29 1F C9 1F D0 - .byte $2B, $AC, $6E, $03, $98, $29, $07, $C9, $06, $F0, $02, $D0, $1F, $A9, $02, $4C ; CPU:$9F11 PRG:1F11 2B AC 6E 03 98 29 07 C9 06 F0 02 D0 1F A9 02 4C - .byte $D1, $9F, $AD, $69, $03, $29, $1F, $C9, $01, $D0, $11, $AC, $6E, $03, $98, $29 ; CPU:$9F21 PRG:1F21 D1 9F AD 69 03 29 1F C9 01 D0 11 AC 6E 03 98 29 - .byte $07, $C9, $02, $F0, $02, $D0, $05, $A9, $01, $4C, $D1, $9F, $AD, $69, $03, $18 ; CPU:$9F31 PRG:1F31 07 C9 02 F0 02 D0 05 A9 01 4C D1 9F AD 69 03 18 - .byte $69, $10, $29, $1F, $C9, $10, $D0, $2C, $AD, $18, $06, $29, $01, $D0, $1F, $AD ; CPU:$9F41 PRG:1F41 69 10 29 1F C9 10 D0 2C AD 18 06 29 01 D0 1F AD - .byte $18, $06, $0A, $0A, $B0, $0C, $AC, $6E, $03, $C0, $10, $90, $11, $A9, $08, $4C ; CPU:$9F51 PRG:1F51 18 06 0A 0A B0 0C AC 6E 03 C0 10 90 11 A9 08 4C - .byte $D1, $9F, $AC, $6E, $03, $C0, $28, $B0, $05, $A9, $04, $4C, $D1, $9F, $AD, $61 ; CPU:$9F61 PRG:1F61 D1 9F AC 6E 03 C0 28 B0 05 A9 04 4C D1 9F AD 61 - .byte $03, $4C, $D1, $9F, $AD, $61, $03, $4A, $90, $06, $EE, $69, $03, $4C, $99, $9F ; CPU:$9F71 PRG:1F71 03 4C D1 9F AD 61 03 4A 90 06 EE 69 03 4C 99 9F - .byte $4A, $90, $06, $CE, $69, $03, $4C, $99, $9F, $4A, $90, $06, $EE, $68, $03, $4C ; CPU:$9F81 PRG:1F81 4A 90 06 CE 69 03 4C 99 9F 4A 90 06 EE 68 03 4C - .byte $99, $9F, $4A, $90, $03, $CE, $68, $03, $20, $FE, $99, $A2, $01, $A5, $2F, $4A ; CPU:$9F91 PRG:1F91 99 9F 4A 90 03 CE 68 03 20 FE 99 A2 01 A5 2F 4A - .byte $4A, $4A, $4A, $29, $03, $F0, $07, $A2, $FF, $C9, $02, $F0, $01, $E8, $86, $16 ; CPU:$9FA1 PRG:1FA1 4A 4A 4A 29 03 F0 07 A2 FF C9 02 F0 01 E8 86 16 - .byte $AD, $68, $03, $48, $18, $65, $16, $8D, $68, $03, $AD, $69, $03, $48, $18, $65 ; CPU:$9FB1 PRG:1FB1 AD 68 03 48 18 65 16 8D 68 03 AD 69 03 48 18 65 - .byte $16, $8D, $69, $03, $20, $0A, $83, $68, $8D, $69, $03, $68, $8D, $68, $03, $60 ; CPU:$9FC1 PRG:1FC1 16 8D 69 03 20 0A 83 68 8D 69 03 68 8D 68 03 60 - .byte $8D, $61, $03, $A8, $B9, $E7, $9F, $8D, $65, $03, $A9, $18, $8D, $6D, $03, $A9 ; CPU:$9FD1 PRG:1FD1 8D 61 03 A8 B9 E7 9F 8D 65 03 A9 18 8D 6D 03 A9 - .byte $00, $8D, $63, $03, $F0, $8E, $4D, $4D, $53, $4D, $59, $4D, $4D, $4D, $5F, $AD ; CPU:$9FE1 PRG:1FE1 00 8D 63 03 F0 8E 4D 4D 53 4D 59 4D 4D 4D 5F AD - .byte $16, $03, $F0, $03, $CE, $16, $03, $AD, $36, $03, $F0, $03, $CE, $36, $03, $A9 ; CPU:$9FF1 PRG:1FF1 16 03 F0 03 CE 16 03 AD 36 03 F0 03 CE 36 03 A9 - .byte $00, $8D, $76, $03, $A9, $08, $A0, $08, $A6, $40, $F0, $04, $A9, $0C, $A0, $0C ; CPU:$A001 PRG:2001 00 8D 76 03 A9 08 A0 08 A6 40 F0 04 A9 0C A0 0C - .byte $85, $13, $85, $12, $84, $10, $A2, $00, $A0, $20, $BD, $18, $03, $D0, $0A, $B9 ; CPU:$A011 PRG:2011 85 13 85 12 84 10 A2 00 A0 20 BD 18 03 D0 0A B9 - .byte $18, $03, $D0, $05, $20, $E8, $A0, $B0, $26, $A9, $06, $85, $10, $A2, $00, $A0 ; CPU:$A021 PRG:2021 18 03 D0 05 20 E8 A0 B0 26 A9 06 85 10 A2 00 A0 - .byte $60, $BD, $18, $03, $D0, $05, $20, $E8, $A0, $B0, $14, $A5, $40, $D0, $01, $60 ; CPU:$A031 PRG:2031 60 BD 18 03 D0 05 20 E8 A0 B0 14 A5 40 D0 01 60 - .byte $A2, $20, $A0, $60, $BD, $18, $03, $D0, $05, $20, $E8, $A0, $B0, $01, $60, $A9 ; CPU:$A041 PRG:2041 A2 20 A0 60 BD 18 03 D0 05 20 E8 A0 B0 01 60 A9 - .byte $10, $9D, $16, $03, $99, $16, $03, $A5, $0C, $C5, $0E, $B0, $1B, $BD, $09, $03 ; CPU:$A051 PRG:2051 10 9D 16 03 99 16 03 A5 0C C5 0E B0 1B BD 09 03 - .byte $D9, $09, $03, $10, $06, $86, $16, $98, $AA, $A4, $16, $A9, $05, $9D, $15, $03 ; CPU:$A061 PRG:2061 D9 09 03 10 06 86 16 98 AA A4 16 A9 05 9D 15 03 - .byte $A9, $06, $99, $15, $03, $4C, $91, $A0, $BD, $08, $03, $D9, $08, $03, $10, $06 ; CPU:$A071 PRG:2071 A9 06 99 15 03 4C 91 A0 BD 08 03 D9 08 03 10 06 - .byte $86, $16, $98, $AA, $A4, $16, $A9, $07, $9D, $15, $03, $A9, $08, $99, $15, $03 ; CPU:$A081 PRG:2081 86 16 98 AA A4 16 A9 07 9D 15 03 A9 08 99 15 03 - .byte $A9, $01, $9D, $17, $03, $99, $17, $03, $A5, $40, $F0, $3E, $C0, $60, $F0, $3A ; CPU:$A091 PRG:2091 A9 01 9D 17 03 99 17 03 A5 40 F0 3E C0 60 F0 3A - .byte $E0, $60, $F0, $36, $B9, $01, $03, $1D, $01, $03, $F0, $26, $BD, $01, $03, $F0 ; CPU:$A0A1 PRG:20A1 E0 60 F0 36 B9 01 03 1D 01 03 F0 26 BD 01 03 F0 - .byte $2A, $B9, $01, $03, $F0, $2B, $BD, $0C, $03, $38, $F9, $0C, $03, $10, $05, $49 ; CPU:$A0B1 PRG:20B1 2A B9 01 03 F0 2B BD 0C 03 38 F9 0C 03 10 05 49 - .byte $FF, $18, $69, $01, $C9, $0A, $90, $0A, $BD, $0C, $03, $D9, $0C, $03, $90, $0B ; CPU:$A0C1 PRG:20C1 FF 18 69 01 C9 0A 90 0A BD 0C 03 D9 0C 03 90 0B - .byte $B0, $0F, $A9, $01, $9D, $19, $03, $99, $19, $03, $60, $A9, $00, $99, $17, $03 ; CPU:$A0D1 PRG:20D1 B0 0F A9 01 9D 19 03 99 19 03 60 A9 00 99 17 03 - .byte $60, $A9, $00, $9D, $17, $03, $60, $A9, $00, $9D, $17, $03, $99, $17, $03, $BD ; CPU:$A0E1 PRG:20E1 60 A9 00 9D 17 03 60 A9 00 9D 17 03 99 17 03 BD - .byte $16, $03, $D0, $77, $B9, $16, $03, $D0, $72, $BD, $00, $03, $F0, $6D, $B9, $00 ; CPU:$A0F1 PRG:20F1 16 03 D0 77 B9 16 03 D0 72 BD 00 03 F0 6D B9 00 - .byte $03, $F0, $68, $BD, $09, $03, $38, $F9, $09, $03, $10, $05, $49, $FF, $18, $69 ; CPU:$A101 PRG:2101 03 F0 68 BD 09 03 38 F9 09 03 10 05 49 FF 18 69 - .byte $01, $85, $0E, $C5, $13, $90, $16, $BD, $09, $03, $C9, $14, $90, $04, $C9, $EC ; CPU:$A111 PRG:2111 01 85 0E C5 13 90 16 BD 09 03 C9 14 90 04 C9 EC - .byte $90, $49, $B9, $09, $03, $C9, $14, $90, $04, $C9, $EC, $90, $3E, $BD, $08, $03 ; CPU:$A121 PRG:2121 90 49 B9 09 03 C9 14 90 04 C9 EC 90 3E BD 08 03 - .byte $38, $F9, $08, $03, $10, $05, $49, $FF, $18, $69, $01, $85, $0C, $C5, $12, $90 ; CPU:$A131 PRG:2131 38 F9 08 03 10 05 49 FF 18 69 01 85 0C C5 12 90 - .byte $16, $BD, $08, $03, $C9, $34, $90, $04, $C9, $D4, $90, $1F, $B9, $08, $03, $C9 ; CPU:$A141 PRG:2141 16 BD 08 03 C9 34 90 04 C9 D4 90 1F B9 08 03 C9 - .byte $34, $90, $04, $C9, $D4, $90, $14, $BD, $0B, $03, $38, $F9, $0B, $03, $10, $05 ; CPU:$A151 PRG:2151 34 90 04 C9 D4 90 14 BD 0B 03 38 F9 0B 03 10 05 - .byte $49, $FF, $18, $69, $01, $C5, $10, $B0, $02, $38, $60, $18, $60, $38, $50, $68 ; CPU:$A161 PRG:2161 49 FF 18 69 01 C5 10 B0 02 38 60 18 60 38 50 68 - .byte $80, $98, $B0, $C8, $00, $38, $50, $68, $80, $98, $B0, $C8, $00, $10, $20, $40 ; CPU:$A171 PRG:2171 80 98 B0 C8 00 38 50 68 80 98 B0 C8 00 10 20 40 - .byte $60, $80, $A0, $C0, $E0, $00, $00, $01, $FC, $05, $02, $00, $2E, $01, $BD, $80 ; CPU:$A181 PRG:2181 60 80 A0 C0 E0 00 00 01 FC 05 02 00 2E 01 BD 80 - .byte $03, $F0, $01, $60, $A5, $49, $10, $03, $4C, $5C, $A2, $BD, $0F, $03, $C9, $FF ; CPU:$A191 PRG:2191 03 F0 01 60 A5 49 10 03 4C 5C A2 BD 0F 03 C9 FF - .byte $F0, $F1, $BC, $0E, $03, $B9, $00, $04, $C9, $FF, $F0, $E7, $29, $40, $D0, $E3 ; CPU:$A1A1 PRG:21A1 F0 F1 BC 0E 03 B9 00 04 C9 FF F0 E7 29 40 D0 E3 - .byte $98, $9D, $8E, $03, $A9, $00, $9D, $92, $03, $B9, $00, $04, $29, $80, $9D, $80 ; CPU:$A1B1 PRG:21B1 98 9D 8E 03 A9 00 9D 92 03 B9 00 04 29 80 9D 80 - .byte $03, $FE, $80, $03, $B9, $00, $04, $29, $0F, $9D, $8F, $03, $18, $69, $14, $9D ; CPU:$A1C1 PRG:21C1 03 FE 80 03 B9 00 04 29 0F 9D 8F 03 18 69 14 9D - .byte $86, $03, $20, $B1, $B2, $BD, $8F, $03, $F0, $03, $20, $B5, $B2, $C0, $30, $B0 ; CPU:$A1D1 PRG:21D1 86 03 20 B1 B2 BD 8F 03 F0 03 20 B5 B2 C0 30 B0 - .byte $09, $B9, $08, $04, $30, $04, $A9, $11, $D0, $02, $A9, $13, $9D, $96, $03, $A9 ; CPU:$A1E1 PRG:21E1 09 B9 08 04 30 04 A9 11 D0 02 A9 13 9D 96 03 A9 - .byte $22, $9D, $97, $03, $BC, $0F, $03, $B9, $6E, $A1, $9D, $88, $03, $9D, $98, $03 ; CPU:$A1F1 PRG:21F1 22 9D 97 03 BC 0F 03 B9 6E A1 9D 88 03 9D 98 03 - .byte $BD, $0E, $03, $29, $07, $A8, $B9, $7E, $A1, $9D, $89, $03, $9D, $99, $03, $A0 ; CPU:$A201 PRG:2201 BD 0E 03 29 07 A8 B9 7E A1 9D 89 03 9D 99 03 A0 - .byte $06, $24, $49, $70, $09, $A0, $00, $BD, $80, $03, $10, $02, $A0, $03, $B9, $86 ; CPU:$A211 PRG:2211 06 24 49 70 09 A0 00 BD 80 03 10 02 A0 03 B9 86 - .byte $A1, $9D, $8B, $03, $B9, $87, $A1, $9D, $8C, $03, $B9, $88, $A1, $9D, $87, $03 ; CPU:$A221 PRG:2221 A1 9D 8B 03 B9 87 A1 9D 8C 03 B9 88 A1 9D 87 03 - .byte $BD, $8F, $03, $D0, $05, $A9, $02, $9D, $87, $03, $A9, $00, $9D, $9B, $03, $A9 ; CPU:$A231 PRG:2231 BD 8F 03 D0 05 A9 02 9D 87 03 A9 00 9D 9B 03 A9 - .byte $B8, $A0, $A8, $E0, $00, $F0, $04, $A9, $78, $A0, $68, $9D, $8A, $03, $98, $9D ; CPU:$A241 PRG:2241 B8 A0 A8 E0 00 F0 04 A9 78 A0 68 9D 8A 03 98 9D - .byte $9A, $03, $A9, $10, $9D, $9F, $03, $20, $63, $A5, $60, $BD, $0F, $03, $C9, $04 ; CPU:$A251 PRG:2251 9A 03 A9 10 9D 9F 03 20 63 A5 60 BD 0F 03 C9 04 - .byte $D0, $F8, $A9, $00, $9D, $92, $03, $A5, $59, $9D, $8E, $03, $A8, $A9, $01, $9D ; CPU:$A261 PRG:2261 D0 F8 A9 00 9D 92 03 A5 59 9D 8E 03 A8 A9 01 9D - .byte $80, $03, $A5, $49, $C9, $81, $F0, $05, $A5, $5A, $99, $80, $05, $B9, $80, $05 ; CPU:$A271 PRG:2271 80 03 A5 49 C9 81 F0 05 A5 5A 99 80 05 B9 80 05 - .byte $9D, $8F, $03, $18, $69, $14, $9D, $86, $03, $20, $B1, $B2, $BD, $8F, $03, $F0 ; CPU:$A281 PRG:2281 9D 8F 03 18 69 14 9D 86 03 20 B1 B2 BD 8F 03 F0 - .byte $03, $20, $B5, $B2, $A9, $13, $9D, $96, $03, $A9, $22, $9D, $97, $03, $A9, $98 ; CPU:$A291 PRG:2291 03 20 B5 B2 A9 13 9D 96 03 A9 22 9D 97 03 A9 98 - .byte $9D, $88, $03, $9D, $98, $03, $BD, $09, $03, $4A, $4A, $4A, $4A, $09, $10, $0A ; CPU:$A2A1 PRG:22A1 9D 88 03 9D 98 03 BD 09 03 4A 4A 4A 4A 09 10 0A - .byte $0A, $0A, $0A, $9D, $89, $03, $9D, $99, $03, $A5, $49, $A0, $0A, $C9, $80, $F0 ; CPU:$A2B1 PRG:22B1 0A 0A 0A 9D 89 03 9D 99 03 A5 49 A0 0A C9 80 F0 - .byte $02, $A0, $1A, $98, $9D, $8C, $03, $A9, $00, $9D, $8B, $03, $9D, $9B, $03, $A0 ; CPU:$A2C1 PRG:22C1 02 A0 1A 98 9D 8C 03 A9 00 9D 8B 03 9D 9B 03 A0 - .byte $02, $A5, $49, $C9, $80, $F0, $07, $BD, $8F, $03, $F0, $02, $A0, $01, $98, $9D ; CPU:$A2D1 PRG:22D1 02 A5 49 C9 80 F0 07 BD 8F 03 F0 02 A0 01 98 9D - .byte $87, $03, $A9, $B8, $9D, $8A, $03, $A9, $A8, $9D, $9A, $03, $20, $4F, $A5, $60 ; CPU:$A2E1 PRG:22E1 87 03 A9 B8 9D 8A 03 A9 A8 9D 9A 03 20 4F A5 60 - .byte $A9, $01, $9D, $80, $03, $A9, $14, $9D, $86, $03, $20, $B1, $B2, $A9, $1C, $9D ; CPU:$A2F1 PRG:22F1 A9 01 9D 80 03 A9 14 9D 86 03 20 B1 B2 A9 1C 9D - .byte $96, $03, $A9, $02, $9D, $97, $03, $AC, $4F, $03, $B9, $39, $A3, $9D, $88, $03 ; CPU:$A301 PRG:2301 96 03 A9 02 9D 97 03 AC 4F 03 B9 39 A3 9D 88 03 - .byte $9D, $98, $03, $A9, $50, $9D, $89, $03, $9D, $99, $03, $A9, $3E, $9D, $8C, $03 ; CPU:$A311 PRG:2311 9D 98 03 A9 50 9D 89 03 9D 99 03 A9 3E 9D 8C 03 - .byte $A9, $00, $9D, $8B, $03, $9D, $9B, $03, $A9, $01, $9D, $87, $03, $A9, $A8, $9D ; CPU:$A321 PRG:2321 A9 00 9D 8B 03 9D 9B 03 A9 01 9D 87 03 A9 A8 9D - .byte $8A, $03, $A9, $D8, $9D, $9A, $03, $60, $40, $60, $80, $A0, $C0, $A9, $01, $9D ; CPU:$A331 PRG:2331 8A 03 A9 D8 9D 9A 03 60 40 60 80 A0 C0 A9 01 9D - .byte $80, $03, $A9, $14, $9D, $86, $03, $20, $B1, $B2, $AC, $4F, $03, $B9, $CB, $A3 ; CPU:$A341 PRG:2341 80 03 A9 14 9D 86 03 20 B1 B2 AC 4F 03 B9 CB A3 - .byte $9D, $88, $03, $9D, $98, $03, $AD, $4E, $03, $29, $07, $A8, $B9, $CF, $A3, $9D ; CPU:$A351 PRG:2351 9D 88 03 9D 98 03 AD 4E 03 29 07 A8 B9 CF A3 9D - .byte $89, $03, $9D, $99, $03, $A9, $3E, $9D, $8C, $03, $A9, $00, $9D, $8B, $03, $9D ; CPU:$A361 PRG:2361 89 03 9D 99 03 A9 3E 9D 8C 03 A9 00 9D 8B 03 9D - .byte $9B, $03, $A9, $02, $9D, $87, $03, $A9, $B8, $9D, $8A, $03, $A9, $E8, $9D, $9A ; CPU:$A371 PRG:2371 9B 03 A9 02 9D 87 03 A9 B8 9D 8A 03 A9 E8 9D 9A - .byte $03, $A9, $1C, $9D, $96, $03, $A9, $01, $9D, $97, $03, $A5, $4A, $48, $8A, $48 ; CPU:$A381 PRG:2381 03 A9 1C 9D 96 03 A9 01 9D 97 03 A5 4A 48 8A 48 - .byte $18, $69, $90, $85, $4A, $20, $0A, $83, $68, $AA, $68, $85, $4A, $A9, $A8, $9D ; CPU:$A391 PRG:2391 18 69 90 85 4A 20 0A 83 68 AA 68 85 4A A9 A8 9D - .byte $9A, $03, $A9, $11, $AC, $4E, $03, $C0, $03, $F0, $16, $C0, $06, $F0, $12, $C0 ; CPU:$A3A1 PRG:23A1 9A 03 A9 11 AC 4E 03 C0 03 F0 16 C0 06 F0 12 C0 - .byte $0B, $F0, $0E, $C0, $0E, $F0, $0A, $C0, $13, $F0, $06, $C0, $16, $F0, $02, $A9 ; CPU:$A3B1 PRG:23B1 0B F0 0E C0 0E F0 0A C0 13 F0 06 C0 16 F0 02 A9 - .byte $13, $9D, $96, $03, $A9, $02, $9D, $97, $03, $60, $38, $50, $68, $80, $00, $01 ; CPU:$A3C1 PRG:23C1 13 9D 96 03 A9 02 9D 97 03 60 38 50 68 80 00 01 - .byte $02, $50, $70, $90, $B0, $00, $A2, $00, $86, $AA, $A5, $AA, $AA, $18, $69, $80 ; CPU:$A3D1 PRG:23D1 02 50 70 90 B0 00 A2 00 86 AA A5 AA AA 18 69 80 - .byte $85, $4A, $20, $F3, $A3, $A5, $AA, $18, $69, $20, $AA, $85, $AA, $C9, $40, $D0 ; CPU:$A3E1 PRG:23E1 85 4A 20 F3 A3 A5 AA 18 69 20 AA 85 AA C9 40 D0 - .byte $E9, $60, $BD, $80, $03, $F0, $35, $BC, $8C, $03, $FE, $8C, $03, $B9, $A0, $A4 ; CPU:$A3F1 PRG:23F1 E9 60 BD 80 03 F0 35 BC 8C 03 FE 8C 03 B9 A0 A4 - .byte $C9, $AA, $F0, $55, $C9, $AB, $F0, $2D, $C9, $AC, $F0, $7B, $C9, $AD, $F0, $1D ; CPU:$A401 PRG:2401 C9 AA F0 55 C9 AB F0 2D C9 AC F0 7B C9 AD F0 1D - .byte $C9, $AE, $F0, $64, $C9, $AF, $F0, $67, $18, $7D, $8B, $03, $9D, $8B, $03, $20 ; CPU:$A411 PRG:2411 C9 AE F0 64 C9 AF F0 67 18 7D 8B 03 9D 8B 03 20 - .byte $0A, $83, $A5, $4A, $18, $69, $10, $85, $4A, $20, $0A, $83, $60, $BD, $80, $03 ; CPU:$A421 PRG:2421 0A 83 A5 4A 18 69 10 85 4A 20 0A 83 60 BD 80 03 - .byte $49, $80, $9D, $80, $03, $BD, $8F, $03, $F0, $13, $C9, $07, $F0, $0F, $BC, $92 ; CPU:$A431 PRG:2431 49 80 9D 80 03 BD 8F 03 F0 13 C9 07 F0 0F BC 92 - .byte $03, $D0, $0A, $E0, $00, $D0, $03, $20, $6A, $8C, $20, $DE, $B1, $A5, $40, $F0 ; CPU:$A441 PRG:2441 03 D0 0A E0 00 D0 03 20 6A 8C 20 DE B1 A5 40 F0 - .byte $05, $A9, $00, $9D, $8F, $03, $4C, $20, $A4, $BC, $8E, $03, $BD, $80, $03, $49 ; CPU:$A451 PRG:2451 05 A9 00 9D 8F 03 4C 20 A4 BC 8E 03 BD 80 03 49 - .byte $80, $29, $80, $1D, $8F, $03, $99, $00, $04, $A9, $00, $9D, $80, $03, $BD, $8E ; CPU:$A461 PRG:2461 80 29 80 1D 8F 03 99 00 04 A9 00 9D 80 03 BD 8E - .byte $03, $AA, $20, $B7, $A5, $4C, $20, $A4, $8A, $48, $20, $8B, $A5, $68, $AA, $A9 ; CPU:$A471 PRG:2471 03 AA 20 B7 A5 4C 20 A4 8A 48 20 8B A5 68 AA A9 - .byte $00, $9D, $80, $03, $4C, $20, $A4, $AD, $01, $03, $C9, $01, $F0, $06, $DE, $8C ; CPU:$A481 PRG:2481 00 9D 80 03 4C 20 A4 AD 01 03 C9 01 F0 06 DE 8C - .byte $03, $4C, $20, $A4, $BD, $80, $03, $49, $80, $9D, $80, $03, $4C, $20, $A4, $FE ; CPU:$A491 PRG:2491 03 4C 20 A4 BD 80 03 49 80 9D 80 03 4C 20 A4 FE - .byte $FF, $FF, $AB, $AA, $01, $01, $01, $01, $AA, $FE, $FF, $00, $FF, $00, $AC, $01 ; CPU:$A4A1 PRG:24A1 FF FF AB AA 01 01 01 01 AA FE FF 00 FF 00 AC 01 - .byte $00, $01, $00, $00, $01, $00, $00, $01, $AE, $FE, $FF, $00, $FF, $00, $AD, $01 ; CPU:$A4B1 PRG:24B1 00 01 00 00 01 00 00 01 AE FE FF 00 FF 00 AD 01 - .byte $00, $00, $00, $01, $00, $00, $00, $01, $00, $00, $00, $01, $AE, $FE, $FF, $00 ; CPU:$A4C1 PRG:24C1 00 00 00 01 00 00 00 01 00 00 00 01 AE FE FF 00 - .byte $FF, $00, $AD, $01, $00, $01, $00, $00, $01, $00, $00, $01, $AA, $FE, $FF, $FF ; CPU:$A4D1 PRG:24D1 FF 00 AD 01 00 01 00 00 01 00 00 01 AA FE FF FF - .byte $00, $00, $00, $00, $01, $01, $01, $01, $AF, $A5, $49, $30, $22, $A2, $00, $86 ; CPU:$A4E1 PRG:24E1 00 00 00 00 01 01 01 01 AF A5 49 30 22 A2 00 86 - .byte $0C, $A2, $38, $86, $0D, $A6, $0C, $BD, $00, $04, $C9, $FF, $F0, $06, $20, $B7 ; CPU:$A4F1 PRG:24F1 0C A2 38 86 0D A6 0C BD 00 04 C9 FF F0 06 20 B7 - .byte $A5, $20, $13, $84, $E6, $0C, $A6, $0C, $E4, $0D, $D0, $E9, $4C, $CF, $84, $A9 ; CPU:$A501 PRG:2501 A5 20 13 84 E6 0C A6 0C E4 0D D0 E9 4C CF 84 A9 - .byte $00, $85, $0C, $20, $8E, $A5, $20, $13, $84, $E6, $0C, $A5, $0C, $C9, $05, $D0 ; CPU:$A511 PRG:2511 00 85 0C 20 8E A5 20 13 84 E6 0C A5 0C C9 05 D0 - .byte $F2, $4C, $CF, $84, $A2, $00, $86, $0C, $86, $0D, $A6, $0C, $BD, $00, $04, $C9 ; CPU:$A521 PRG:2521 F2 4C CF 84 A2 00 86 0C 86 0D A6 0C BD 00 04 C9 - .byte $FF, $F0, $12, $20, $B7, $A5, $E6, $0D, $A4, $0D, $C0, $03, $D0, $07, $A0, $00 ; CPU:$A531 PRG:2531 FF F0 12 20 B7 A5 E6 0D A4 0D C0 03 D0 07 A0 00 - .byte $84, $0D, $20, $5F, $81, $E6, $0C, $A6, $0C, $E0, $38, $D0, $DD, $60, $BD, $8E ; CPU:$A541 PRG:2541 84 0D 20 5F 81 E6 0C A6 0C E0 38 D0 DD 60 BD 8E - .byte $03, $29, $07, $0A, $AA, $BD, $D3, $A8, $85, $00, $BD, $D4, $A8, $85, $01, $4C ; CPU:$A551 PRG:2551 03 29 07 0A AA BD D3 A8 85 00 BD D4 A8 85 01 4C - .byte $72, $A5, $BD, $8E, $03, $0A, $AA, $BD, $53, $A8, $85, $00, $BD, $54, $A8, $85 ; CPU:$A561 PRG:2561 72 A5 BD 8E 03 0A AA BD 53 A8 85 00 BD 54 A8 85 - .byte $01, $A9, $09, $20, $8A, $A6, $A9, $34, $8D, $20, $06, $A0, $00, $B1, $14, $99 ; CPU:$A571 PRG:2571 01 A9 09 20 8A A6 A9 34 8D 20 06 A0 00 B1 14 99 - .byte $21, $06, $C8, $C0, $0C, $D0, $F6, $4C, $7F, $A6, $BD, $8E, $03, $AA, $29, $07 ; CPU:$A581 PRG:2581 21 06 C8 C0 0C D0 F6 4C 7F A6 BD 8E 03 AA 29 07 - .byte $0A, $A8, $B9, $D3, $A8, $85, $00, $B9, $D4, $A8, $85, $01, $A9, $34, $8D, $20 ; CPU:$A591 PRG:2591 0A A8 B9 D3 A8 85 00 B9 D4 A8 85 01 A9 34 8D 20 - .byte $06, $BD, $80, $05, $20, $8A, $A6, $A0, $00, $B1, $14, $99, $21, $06, $C8, $C0 ; CPU:$A5A1 PRG:25A1 06 BD 80 05 20 8A A6 A0 00 B1 14 99 21 06 C8 C0 - .byte $0C, $D0, $F6, $4C, $7F, $A6, $8A, $0A, $A8, $B9, $53, $A8, $85, $00, $B9, $54 ; CPU:$A5B1 PRG:25B1 0C D0 F6 4C 7F A6 8A 0A A8 B9 53 A8 85 00 B9 54 - .byte $A8, $85, $01, $A9, $44, $8D, $20, $06, $BD, $00, $04, $85, $16, $30, $49, $24 ; CPU:$A5C1 PRG:25C1 A8 85 01 A9 44 8D 20 06 BD 00 04 85 16 30 49 24 - .byte $16, $50, $07, $29, $0F, $18, $69, $19, $D0, $02, $29, $0F, $20, $8A, $A6, $A0 ; CPU:$A5D1 PRG:25D1 16 50 07 29 0F 18 69 19 D0 02 29 0F 20 8A A6 A0 - .byte $00, $B1, $14, $99, $21, $06, $C8, $C0, $0C, $D0, $F6, $BD, $08, $04, $85, $16 ; CPU:$A5E1 PRG:25E1 00 B1 14 99 21 06 C8 C0 0C D0 F6 BD 08 04 85 16 - .byte $30, $0B, $24, $16, $50, $11, $29, $0F, $18, $69, $19, $D0, $0A, $C9, $FF, $F0 ; CPU:$A5F1 PRG:25F1 30 0B 24 16 50 11 29 0F 18 69 19 D0 0A C9 FF F0 - .byte $04, $A9, $0B, $D0, $02, $A9, $0A, $20, $8A, $A6, $A0, $00, $B1, $14, $99, $2D ; CPU:$A601 PRG:2601 04 A9 0B D0 02 A9 0A 20 8A A6 A0 00 B1 14 99 2D - .byte $06, $C8, $C0, $04, $D0, $F6, $F0, $66, $A0, $0C, $E0, $08, $90, $0F, $BD, $F8 ; CPU:$A611 PRG:2611 06 C8 C0 04 D0 F6 F0 66 A0 0C E0 08 90 0F BD F8 - .byte $03, $C9, $FF, $F0, $08, $A0, $0B, $29, $FF, $10, $02, $A0, $0D, $98, $20, $8A ; CPU:$A621 PRG:2621 03 C9 FF F0 08 A0 0B 29 FF 10 02 A0 0D 98 20 8A - .byte $A6, $A0, $00, $B1, $14, $99, $21, $06, $C8, $C0, $04, $D0, $F6, $BD, $00, $04 ; CPU:$A631 PRG:2631 A6 A0 00 B1 14 99 21 06 C8 C0 04 D0 F6 BD 00 04 - .byte $29, $0F, $09, $10, $20, $8A, $A6, $A0, $00, $B1, $14, $99, $25, $06, $C8, $C0 ; CPU:$A641 PRG:2641 29 0F 09 10 20 8A A6 A0 00 B1 14 99 25 06 C8 C0 - .byte $08, $D0, $F6, $BD, $08, $04, $85, $16, $30, $0B, $24, $16, $50, $11, $29, $0F ; CPU:$A651 PRG:2651 08 D0 F6 BD 08 04 85 16 30 0B 24 16 50 11 29 0F - .byte $18, $69, $19, $D0, $0A, $C9, $FF, $F0, $04, $A9, $0D, $D0, $02, $A9, $0E, $20 ; CPU:$A661 PRG:2661 18 69 19 D0 0A C9 FF F0 04 A9 0D D0 02 A9 0E 20 - .byte $8A, $A6, $A0, $00, $B1, $14, $99, $2D, $06, $C8, $C0, $04, $D0, $F6, $A9, $20 ; CPU:$A671 PRG:2671 8A A6 A0 00 B1 14 99 2D 06 C8 C0 04 D0 F6 A9 20 - .byte $85, $02, $A9, $06, $85, $03, $4C, $0A, $85, $0A, $A8, $B9, $97, $A6, $85, $14 ; CPU:$A681 PRG:2681 85 02 A9 06 85 03 4C 0A 85 0A A8 B9 97 A6 85 14 - .byte $B9, $98, $A6, $85, $15, $60, $E3, $A6, $EF, $A6, $FB, $A6, $07, $A7, $13, $A7 ; CPU:$A691 PRG:2691 B9 98 A6 85 15 60 E3 A6 EF A6 FB A6 07 A7 13 A7 - .byte $1F, $A7, $2B, $A7, $37, $A7, $43, $A7, $4F, $A7, $5B, $A7, $5F, $A7, $63, $A7 ; CPU:$A6A1 PRG:26A1 1F A7 2B A7 37 A7 43 A7 4F A7 5B A7 5F A7 63 A7 - .byte $67, $A7, $6B, $A7, $6F, $A7, $6F, $A7, $77, $A7, $7F, $A7, $87, $A7, $8F, $A7 ; CPU:$A6B1 PRG:26B1 67 A7 6B A7 6F A7 6F A7 77 A7 7F A7 87 A7 8F A7 - .byte $97, $A7, $9F, $A7, $A7, $A7, $AF, $A7, $B7, $A7, $C3, $A7, $CF, $A7, $DB, $A7 ; CPU:$A6C1 PRG:26C1 97 A7 9F A7 A7 A7 AF A7 B7 A7 C3 A7 CF A7 DB A7 - .byte $E7, $A7, $F3, $A7, $FF, $A7, $0B, $A8, $17, $A8, $23, $A8, $2F, $A8, $3B, $A8 ; CPU:$A6D1 PRG:26D1 E7 A7 F3 A7 FF A7 0B A8 17 A8 23 A8 2F A8 3B A8 - .byte $47, $A8, $30, $31, $31, $32, $33, $34, $34, $35, $36, $37, $37, $38, $30, $3C ; CPU:$A6E1 PRG:26E1 47 A8 30 31 31 32 33 34 34 35 36 37 37 38 30 3C - .byte $3D, $32, $33, $40, $41, $35, $36, $37, $37, $38, $30, $44, $45, $32, $33, $48 ; CPU:$A6F1 PRG:26F1 3D 32 33 40 41 35 36 37 37 38 30 44 45 32 33 48 - .byte $49, $35, $36, $37, $37, $38, $30, $5A, $5B, $32, $33, $5C, $5D, $35, $36, $37 ; CPU:$A701 PRG:2701 49 35 36 37 37 38 30 5A 5B 32 33 5C 5D 35 36 37 - .byte $37, $38, $30, $5F, $60, $32, $33, $63, $64, $35, $36, $37, $37, $38, $30, $4B ; CPU:$A711 PRG:2711 37 38 30 5F 60 32 33 63 64 35 36 37 37 38 30 4B - .byte $4C, $32, $33, $4F, $50, $35, $36, $37, $37, $38, $30, $53, $54, $32, $33, $57 ; CPU:$A721 PRG:2721 4C 32 33 4F 50 35 36 37 37 38 30 53 54 32 33 57 - .byte $58, $35, $36, $37, $37, $38, $30, $66, $67, $32, $33, $68, $69, $35, $36, $37 ; CPU:$A731 PRG:2731 58 35 36 37 37 38 30 66 67 32 33 68 69 35 36 37 - .byte $37, $38, $8A, $8B, $8C, $B9, $8D, $8E, $8F, $BA, $36, $37, $37, $38, $24, $24 ; CPU:$A741 PRG:2741 37 38 8A 8B 8C B9 8D 8E 8F BA 36 37 37 38 24 24 - .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $6E, $39, $39, $39, $99, $9A ; CPU:$A751 PRG:2751 24 24 24 24 24 24 24 24 24 24 6E 39 39 39 99 9A - .byte $9A, $9B, $90, $91, $91, $92, $9C, $9D, $9D, $9E, $9F, $A0, $A0, $A1, $93, $94 ; CPU:$A761 PRG:2761 9A 9B 90 91 91 92 9C 9D 9D 9E 9F A0 A0 A1 93 94 - .byte $94, $95, $96, $97, $97, $98, $A2, $A3, $A4, $A5, $96, $97, $97, $98, $93, $A6 ; CPU:$A771 PRG:2771 94 95 96 97 97 98 A2 A3 A4 A5 96 97 97 98 93 A6 - .byte $A7, $A8, $96, $97, $97, $98, $93, $B1, $B2, $95, $96, $97, $97, $98, $B3, $B4 ; CPU:$A781 PRG:2781 A7 A8 96 97 97 98 93 B1 B2 95 96 97 97 98 B3 B4 - .byte $B5, $B6, $96, $97, $97, $98, $A9, $AA, $AB, $AC, $96, $97, $97, $98, $AD, $AE ; CPU:$A791 PRG:2791 B5 B6 96 97 97 98 A9 AA AB AC 96 97 97 98 AD AE - .byte $AF, $B0, $96, $97, $97, $98, $93, $B7, $B8, $95, $96, $97, $97, $98, $93, $B9 ; CPU:$A7A1 PRG:27A1 AF B0 96 97 97 98 93 B7 B8 95 96 97 97 98 93 B9 - .byte $BA, $95, $96, $97, $97, $98, $CF, $D1, $D1, $D2, $D3, $94, $94, $D4, $D5, $D6 ; CPU:$A7B1 PRG:27B1 BA 95 96 97 97 98 CF D1 D1 D2 D3 94 94 D4 D5 D6 - .byte $D6, $D7, $CF, $D1, $D1, $D2, $D3, $A3, $A4, $D4, $D5, $D6, $D6, $D7, $CF, $D1 ; CPU:$A7C1 PRG:27C1 D6 D7 CF D1 D1 D2 D3 A3 A4 D4 D5 D6 D6 D7 CF D1 - .byte $D1, $D2, $D3, $A6, $A7, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $B1 ; CPU:$A7D1 PRG:27D1 D1 D2 D3 A6 A7 D4 D5 D6 D6 D7 CF D1 D1 D2 D3 B1 - .byte $B2, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $B4, $B5, $D4, $D5, $D6 ; CPU:$A7E1 PRG:27E1 B2 D4 D5 D6 D6 D7 CF D1 D1 D2 D3 B4 B5 D4 D5 D6 - .byte $D6, $D7, $CF, $D1, $D1, $D2, $D3, $AA, $AB, $D4, $D5, $D6, $D6, $D7, $CF, $D1 ; CPU:$A7F1 PRG:27F1 D6 D7 CF D1 D1 D2 D3 AA AB D4 D5 D6 D6 D7 CF D1 - .byte $D1, $D2, $D3, $AE, $AF, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $42, $43 ; CPU:$A801 PRG:2801 D1 D2 D3 AE AF D4 D5 D6 D6 D7 CF D1 D1 D2 42 43 - .byte $46, $47, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $4A, $4D, $D4, $D5, $D6 ; CPU:$A811 PRG:2811 46 47 D5 D6 D6 D7 CF D1 D1 D2 D3 4A 4D D4 D5 D6 - .byte $D6, $D7, $CF, $D1, $D1, $D2, $D3, $62, $65, $D4, $D5, $D6, $D6, $D7, $CF, $D1 ; CPU:$A821 PRG:2821 D6 D7 CF D1 D1 D2 D3 62 65 D4 D5 D6 D6 D7 CF D1 - .byte $D1, $D2, $6A, $6B, $6C, $6D, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $4E, $51 ; CPU:$A831 PRG:2831 D1 D2 6A 6B 6C 6D D5 D6 D6 D7 CF D1 D1 D2 4E 51 - .byte $52, $55, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $56, $59, $5E, $61, $D5, $D6 ; CPU:$A841 PRG:2841 52 55 D5 D6 D6 D7 CF D1 D1 D2 56 59 5E 61 D5 D6 - .byte $D6, $D7, $C0, $20, $C2, $20, $C6, $20, $CA, $20, $CE, $20, $D2, $20, $D6, $20 ; CPU:$A851 PRG:2851 D6 D7 C0 20 C2 20 C6 20 CA 20 CE 20 D2 20 D6 20 - .byte $DA, $20, $20, $21, $22, $21, $26, $21, $2A, $21, $2E, $21, $32, $21, $36, $21 ; CPU:$A861 PRG:2861 DA 20 20 21 22 21 26 21 2A 21 2E 21 32 21 36 21 - .byte $3A, $21, $80, $21, $82, $21, $86, $21, $8A, $21, $8E, $21, $92, $21, $96, $21 ; CPU:$A871 PRG:2871 3A 21 80 21 82 21 86 21 8A 21 8E 21 92 21 96 21 - .byte $9A, $21, $E0, $21, $E2, $21, $E6, $21, $EA, $21, $EE, $21, $F2, $21, $F6, $21 ; CPU:$A881 PRG:2881 9A 21 E0 21 E2 21 E6 21 EA 21 EE 21 F2 21 F6 21 - .byte $FA, $21, $40, $22, $42, $22, $46, $22, $4A, $22, $4E, $22, $52, $22, $56, $22 ; CPU:$A891 PRG:2891 FA 21 40 22 42 22 46 22 4A 22 4E 22 52 22 56 22 - .byte $5A, $22, $A0, $22, $A2, $22, $A6, $22, $AA, $22, $AE, $22, $B2, $22, $B6, $22 ; CPU:$A8A1 PRG:28A1 5A 22 A0 22 A2 22 A6 22 AA 22 AE 22 B2 22 B6 22 - .byte $BA, $22, $00, $23, $02, $23, $06, $23, $0A, $23, $0E, $23, $12, $23, $16, $23 ; CPU:$A8B1 PRG:28B1 BA 22 00 23 02 23 06 23 0A 23 0E 23 12 23 16 23 - .byte $1A, $23, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A8C1 PRG:28C1 1A 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $4C, $22, $50, $22, $54, $22, $58, $22, $5C, $22, $40, $22, $44, $22 ; CPU:$A8D1 PRG:28D1 00 00 4C 22 50 22 54 22 58 22 5C 22 40 22 44 22 - .byte $48, $22, $A5, $44, $20, $6D, $84, $06, $A9, $2E, $A9, $40, $A9, $5D, $A9, $A5 ; CPU:$A8E1 PRG:28E1 48 22 A5 44 20 6D 84 06 A9 2E A9 40 A9 5D A9 A5 - .byte $44, $20, $6D, $84, $5E, $A9, $BD, $A9, $C9, $A9, $A5, $44, $20, $6D, $84, $E2 ; CPU:$A8F1 PRG:28F1 44 20 6D 84 5E A9 BD A9 C9 A9 A5 44 20 6D 84 E2 - .byte $A9, $18, $AA, $43, $AA, $20, $7D, $81, $20, $69, $82, $20, $BA, $82, $A9, $02 ; CPU:$A901 PRG:2901 A9 18 AA 43 AA 20 7D 81 20 69 82 20 BA 82 A9 02 - .byte $85, $34, $20, $73, $81, $A2, $34, $A0, $BC, $20, $83, $84, $A5, $08, $09, $02 ; CPU:$A911 PRG:2911 85 34 20 73 81 A2 34 A0 BC 20 83 84 A5 08 09 02 - .byte $85, $08, $8D, $00, $20, $20, $8A, $81, $E6, $44, $4C, $78, $B2, $A5, $2F, $29 ; CPU:$A921 PRG:2921 85 08 8D 00 20 20 8A 81 E6 44 4C 78 B2 A5 2F 29 - .byte $01, $18, $69, $04, $85, $34, $A5, $1A, $29, $20, $F0, $02, $E6, $44, $60, $20 ; CPU:$A931 PRG:2931 01 18 69 04 85 34 A5 1A 29 20 F0 02 E6 44 60 20 - .byte $7D, $81, $20, $69, $82, $A9, $02, $85, $34, $20, $8A, $81, $20, $5F, $81, $20 ; CPU:$A941 PRG:2941 7D 81 20 69 82 A9 02 85 34 20 8A 81 20 5F 81 20 - .byte $5F, $81, $A9, $09, $20, $DE, $B1, $E6, $44, $20, $57, $B2, $60, $20, $7D, $81 ; CPU:$A951 PRG:2951 5F 81 A9 09 20 DE B1 E6 44 20 57 B2 60 20 7D 81 - .byte $20, $69, $82, $20, $BA, $82, $A9, $08, $85, $34, $20, $73, $81, $A2, $BC, $A0 ; CPU:$A961 PRG:2961 20 69 82 20 BA 82 A9 08 85 34 20 73 81 A2 BC A0 - .byte $B8, $20, $83, $84, $A2, $4F, $A0, $BA, $20, $83, $84, $A5, $49, $30, $15, $A5 ; CPU:$A971 PRG:2971 B8 20 83 84 A2 4F A0 BA 20 83 84 A5 49 30 15 A5 - .byte $40, $F0, $0A, $A2, $B2, $A0, $BA, $20, $83, $84, $4C, $95, $A9, $A2, $D2, $A0 ; CPU:$A981 PRG:2981 40 F0 0A A2 B2 A0 BA 20 83 84 4C 95 A9 A2 D2 A0 - .byte $BA, $20, $83, $84, $20, $97, $9A, $A0, $04, $A5, $49, $30, $06, $88, $A5, $40 ; CPU:$A991 PRG:2991 BA 20 83 84 20 97 9A A0 04 A5 49 30 06 88 A5 40 - .byte $F0, $01, $88, $8C, $56, $03, $A5, $08, $09, $02, $85, $08, $8D, $00, $20, $A9 ; CPU:$A9A1 PRG:29A1 F0 01 88 8C 56 03 A5 08 09 02 85 08 8D 00 20 A9 - .byte $00, $85, $0B, $20, $CF, $84, $20, $8A, $81, $E6, $44, $60, $20, $E7, $9A, $A5 ; CPU:$A9B1 PRG:29B1 00 85 0B 20 CF 84 20 8A 81 E6 44 60 20 E7 9A A5 - .byte $1A, $29, $10, $F0, $02, $E6, $44, $60, $20, $7D, $81, $20, $69, $82, $20, $BA ; CPU:$A9C1 PRG:29C1 1A 29 10 F0 02 E6 44 60 20 7D 81 20 69 82 20 BA - .byte $82, $20, $D9, $AA, $A9, $01, $A4, $40, $F0, $02, $A9, $09, $85, $34, $E6, $44 ; CPU:$A9D1 PRG:29D1 82 20 D9 AA A9 01 A4 40 F0 02 A9 09 85 34 E6 44 - .byte $60, $20, $7D, $81, $20, $69, $82, $20, $BA, $82, $A5, $08, $09, $02, $85, $08 ; CPU:$A9E1 PRG:29E1 60 20 7D 81 20 69 82 20 BA 82 A5 08 09 02 85 08 - .byte $8D, $00, $20, $A9, $00, $85, $0B, $20, $CF, $84, $A9, $0F, $85, $34, $20, $73 ; CPU:$A9F1 PRG:29F1 8D 00 20 A9 00 85 0B 20 CF 84 A9 0F 85 34 20 73 - .byte $81, $A2, $E3, $A0, $BA, $20, $83, $84, $20, $BF, $AA, $20, $C8, $9A, $A9, $B4 ; CPU:$AA01 PRG:2A01 81 A2 E3 A0 BA 20 83 84 20 BF AA 20 C8 9A A9 B4 - .byte $85, $53, $E6, $44, $4C, $8A, $81, $A5, $1A, $29, $10, $D0, $13, $A5, $53, $F0 ; CPU:$AA11 PRG:2A11 85 53 E6 44 4C 8A 81 A5 1A 29 10 D0 13 A5 53 F0 - .byte $0F, $A5, $2F, $29, $03, $D0, $02, $C6, $53, $20, $C9, $9B, $20, $44, $AA, $60 ; CPU:$AA21 PRG:2A21 0F A5 2F 29 03 D0 02 C6 53 20 C9 9B 20 44 AA 60 - .byte $20, $7D, $81, $20, $69, $82, $20, $BA, $82, $20, $D9, $AA, $A9, $01, $85, $34 ; CPU:$AA31 PRG:2A31 20 7D 81 20 69 82 20 BA 82 20 D9 AA A9 01 85 34 - .byte $E6, $44, $60, $A5, $51, $D0, $2C, $A5, $1A, $0A, $B0, $0E, $0A, $90, $35, $A5 ; CPU:$AA41 PRG:2A41 E6 44 60 A5 51 D0 2C A5 1A 0A B0 0E 0A 90 35 A5 - .byte $50, $F0, $31, $C6, $50, $A5, $50, $4C, $68, $AA, $A5, $50, $C9, $04, $F0, $24 ; CPU:$AA51 PRG:2A51 50 F0 31 C6 50 A5 50 4C 68 AA A5 50 C9 04 F0 24 - .byte $E6, $50, $A5, $50, $18, $69, $03, $0A, $0A, $85, $52, $A9, $08, $85, $51, $A9 ; CPU:$AA61 PRG:2A61 E6 50 A5 50 18 69 03 0A 0A 85 52 A9 08 85 51 A9 - .byte $B4, $85, $53, $C6, $51, $A5, $51, $4A, $B0, $0A, $A6, $52, $BD, $86, $AA, $E6 ; CPU:$AA71 PRG:2A71 B4 85 53 C6 51 A5 51 4A B0 0A A6 52 BD 86 AA E6 - .byte $52, $20, $A6, $AA, $60, $03, $02, $01, $00, $07, $06, $05, $04, $0B, $0A, $09 ; CPU:$AA81 PRG:2A81 52 20 A6 AA 60 03 02 01 00 07 06 05 04 0B 0A 09 - .byte $08, $0F, $0E, $0D, $0C, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B ; CPU:$AA91 PRG:2A91 08 0F 0E 0D 0C 01 02 03 04 05 06 07 08 09 0A 0B - .byte $0C, $0D, $0E, $0F, $10, $18, $69, $C7, $85, $00, $A9, $2A, $85, $01, $A9, $BA ; CPU:$AAA1 PRG:2AA1 0C 0D 0E 0F 10 18 69 C7 85 00 A9 2A 85 01 A9 BA - .byte $85, $02, $A9, $AA, $85, $03, $4C, $0A, $85, $22, $FD, $24, $FE, $24, $A9, $00 ; CPU:$AAB1 PRG:2AB1 85 02 A9 AA 85 03 4C 0A 85 22 FD 24 FE 24 A9 00 - .byte $48, $20, $A6, $AA, $20, $13, $84, $68, $18, $69, $01, $A6, $50, $DD, $D4, $AA ; CPU:$AAC1 PRG:2AC1 48 20 A6 AA 20 13 84 68 18 69 01 A6 50 DD D4 AA - .byte $D0, $EE, $60, $01, $05, $09, $0D, $11, $A5, $40, $D0, $37, $A2, $A6, $A0, $BC ; CPU:$AAD1 PRG:2AD1 D0 EE 60 01 05 09 0D 11 A5 40 D0 37 A2 A6 A0 BC - .byte $20, $83, $84, $A5, $49, $F0, $13, $10, $0A, $A2, $94, $A0, $BD, $20, $83, $84 ; CPU:$AAE1 PRG:2AE1 20 83 84 A5 49 F0 13 10 0A A2 94 A0 BD 20 83 84 - .byte $4C, $FB, $AA, $A2, $85, $A0, $BD, $20, $83, $84, $20, $31, $87, $20, $F3, $AB ; CPU:$AAF1 PRG:2AF1 4C FB AA A2 85 A0 BD 20 83 84 20 31 87 20 F3 AB - .byte $20, $1F, $AB, $20, $13, $84, $20, $62, $AB, $20, $A2, $85, $20, $4B, $86, $20 ; CPU:$AB01 PRG:2B01 20 1F AB 20 13 84 20 62 AB 20 A2 85 20 4B 86 20 - .byte $13, $84, $60, $A2, $BE, $A0, $BD, $20, $83, $84, $20, $13, $84, $60, $AE, $60 ; CPU:$AB11 PRG:2B11 13 84 60 A2 BE A0 BD 20 83 84 20 13 84 60 AE 60 - .byte $06, $A9, $2B, $20, $8E, $85, $A9, $0B, $20, $8E, $85, $A9, $03, $20, $8E, $85 ; CPU:$AB21 PRG:2B21 06 A9 2B 20 8E 85 A9 0B 20 8E 85 A9 03 20 8E 85 - .byte $AD, $67, $05, $20, $47, $AB, $20, $8E, $85, $A5, $16, $20, $8E, $85, $A5, $17 ; CPU:$AB31 PRG:2B31 AD 67 05 20 47 AB 20 8E 85 A5 16 20 8E 85 A5 17 - .byte $20, $8E, $85, $4C, $72, $85, $A0, $00, $84, $16, $C9, $64, $90, $05, $E9, $64 ; CPU:$AB41 PRG:2B41 20 8E 85 4C 72 85 A0 00 84 16 C9 64 90 05 E9 64 - .byte $C8, $B0, $F7, $C9, $0A, $90, $06, $E9, $0A, $E6, $16, $B0, $F6, $85, $17, $98 ; CPU:$AB51 PRG:2B51 C8 B0 F7 C9 0A 90 06 E9 0A E6 16 B0 F6 85 17 98 - .byte $60, $AE, $60, $06, $A9, $2A, $20, $8E, $85, $A9, $EB, $20, $8E, $85, $A9, $03 ; CPU:$AB61 PRG:2B61 60 AE 60 06 A9 2A 20 8E 85 A9 EB 20 8E 85 A9 03 - .byte $20, $8E, $85, $AD, $66, $05, $20, $47, $AB, $20, $8E, $85, $A5, $16, $20, $8E ; CPU:$AB71 PRG:2B71 20 8E 85 AD 66 05 20 47 AB 20 8E 85 A5 16 20 8E - .byte $85, $A5, $17, $20, $8E, $85, $4C, $72, $85, $AE, $60, $06, $A9, $2A, $20, $8E ; CPU:$AB81 PRG:2B81 85 A5 17 20 8E 85 4C 72 85 AE 60 06 A9 2A 20 8E - .byte $85, $A9, $EB, $20, $8E, $85, $A9, $03, $20, $8E, $85, $A5, $59, $18, $69, $01 ; CPU:$AB91 PRG:2B91 85 A9 EB 20 8E 85 A9 03 20 8E 85 A5 59 18 69 01 - .byte $20, $47, $AB, $20, $8E, $85, $A5, $16, $20, $8E, $85, $A5, $17, $20, $8E, $85 ; CPU:$ABA1 PRG:2BA1 20 47 AB 20 8E 85 A5 16 20 8E 85 A5 17 20 8E 85 - .byte $4C, $72, $85, $A0, $F1, $A5, $2F, $29, $20, $F0, $02, $A0, $F7, $84, $16, $A9 ; CPU:$ABB1 PRG:2BB1 4C 72 85 A0 F1 A5 2F 29 20 F0 02 A0 F7 84 16 A9 - .byte $7C, $85, $17, $A2, $E8, $A5, $49, $F0, $02, $A2, $80, $A0, $06, $A9, $17, $9D ; CPU:$ABC1 PRG:2BC1 7C 85 17 A2 E8 A5 49 F0 02 A2 80 A0 06 A9 17 9D - .byte $00, $02, $A5, $16, $9D, $01, $02, $A9, $00, $9D, $02, $02, $A5, $17, $9D, $03 ; CPU:$ABD1 PRG:2BD1 00 02 A5 16 9D 01 02 A9 00 9D 02 02 A5 17 9D 03 - .byte $02, $E6, $16, $A5, $17, $18, $69, $08, $85, $17, $E8, $E8, $E8, $E8, $88, $D0 ; CPU:$ABE1 PRG:2BE1 02 E6 16 A5 17 18 69 08 85 17 E8 E8 E8 E8 88 D0 - .byte $DC, $60, $A2, $00, $BD, $20, $05, $F0, $09, $86, $0E, $A0, $00, $20, $1E, $AC ; CPU:$ABF1 PRG:2BF1 DC 60 A2 00 BD 20 05 F0 09 86 0E A0 00 20 1E AC - .byte $A6, $0E, $E8, $E0, $1E, $D0, $ED, $A2, $00, $BD, $00, $05, $F0, $09, $86, $0E ; CPU:$AC01 PRG:2C01 A6 0E E8 E0 1E D0 ED A2 00 BD 00 05 F0 09 86 0E - .byte $A0, $01, $20, $1E, $AC, $A6, $0E, $E8, $E0, $1E, $D0, $ED, $60, $86, $10, $84 ; CPU:$AC11 PRG:2C11 A0 01 20 1E AC A6 0E E8 E0 1E D0 ED 60 86 10 84 - .byte $13, $A6, $49, $D0, $02, $A9, $04, $85, $11, $C9, $04, $90, $2A, $AE, $60, $06 ; CPU:$AC21 PRG:2C21 13 A6 49 D0 02 A9 04 85 11 C9 04 90 2A AE 60 06 - .byte $A5, $10, $0A, $A8, $B9, $9B, $AC, $20, $8E, $85, $B9, $9A, $AC, $A4, $13, $F0 ; CPU:$AC31 PRG:2C31 A5 10 0A A8 B9 9B AC 20 8E 85 B9 9A AC A4 13 F0 - .byte $03, $18, $69, $08, $20, $8E, $85, $A9, $01, $20, $8E, $85, $A4, $11, $B9, $D2 ; CPU:$AC41 PRG:2C41 03 18 69 08 20 8E 85 A9 01 20 8E 85 A4 11 B9 D2 - .byte $AC, $20, $8E, $85, $4C, $72, $85, $A5, $11, $38, $E9, $01, $0A, $18, $65, $13 ; CPU:$AC51 PRG:2C51 AC 20 8E 85 4C 72 85 A5 11 38 E9 01 0A 18 65 13 - .byte $A8, $B9, $98, $AC, $85, $12, $A5, $10, $20, $27, $AF, $98, $0A, $0A, $0A, $18 ; CPU:$AC61 PRG:2C61 A8 B9 98 AC 85 12 A5 10 20 27 AF 98 0A 0A 0A 18 - .byte $69, $9F, $A4, $12, $99, $00, $06, $8A, $0A, $0A, $0A, $18, $69, $80, $A6, $13 ; CPU:$AC71 PRG:2C71 69 9F A4 12 99 00 06 8A 0A 0A 0A 18 69 80 A6 13 - .byte $F0, $03, $18, $69, $40, $99, $03, $06, $A6, $11, $BD, $9D, $AC, $99, $01, $06 ; CPU:$AC81 PRG:2C81 F0 03 18 69 40 99 03 06 A6 11 BD 9D AC 99 01 06 - .byte $BD, $A0, $AC, $99, $02, $06, $60, $00, $04, $08, $0C, $10, $14, $71, $70, $72 ; CPU:$AC91 PRG:2C91 BD A0 AC 99 02 06 60 00 04 08 0C 10 14 71 70 72 - .byte $03, $00, $00, $B0, $2A, $B1, $2A, $B2, $2A, $B3, $2A, $B4, $2A, $D0, $2A, $D1 ; CPU:$ACA1 PRG:2CA1 03 00 00 B0 2A B1 2A B2 2A B3 2A B4 2A D0 2A D1 - .byte $2A, $D2, $2A, $D3, $2A, $D4, $2A, $F0, $2A, $F1, $2A, $F2, $2A, $F3, $2A, $F4 ; CPU:$ACB1 PRG:2CB1 2A D2 2A D3 2A D4 2A F0 2A F1 2A F2 2A F3 2A F4 - .byte $2A, $10, $2B, $11, $2B, $12, $2B, $13, $2B, $14, $2B, $30, $2B, $31, $2B, $32 ; CPU:$ACC1 PRG:2CC1 2A 10 2B 11 2B 12 2B 13 2B 14 2B 30 2B 31 2B 32 - .byte $2B, $33, $2B, $34, $2B, $CE, $D0, $A5, $0B, $F0, $20, $A2, $00, $BD, $00, $06 ; CPU:$ACD1 PRG:2CD1 2B 33 2B 34 2B CE D0 A5 0B F0 20 A2 00 BD 00 06 - .byte $38, $E5, $0B, $B0, $02, $A9, $F4, $9D, $E8, $02, $E8, $A0, $03, $BD, $00, $06 ; CPU:$ACE1 PRG:2CE1 38 E5 0B B0 02 A9 F4 9D E8 02 E8 A0 03 BD 00 06 - .byte $9D, $E8, $02, $E8, $88, $D0, $F6, $E0, $18, $D0, $E2, $60, $A0, $00, $A5, $49 ; CPU:$ACF1 PRG:2CF1 9D E8 02 E8 88 D0 F6 E0 18 D0 E2 60 A0 00 A5 49 - .byte $D0, $00, $A2, $00, $B9, $1F, $AD, $9D, $20, $05, $C8, $E8, $E0, $1E, $D0, $F4 ; CPU:$AD01 PRG:2D01 D0 00 A2 00 B9 1F AD 9D 20 05 C8 E8 E0 1E D0 F4 - .byte $A9, $00, $8D, $61, $05, $A9, $02, $8D, $60, $05, $8D, $62, $05, $60, $00, $00 ; CPU:$AD11 PRG:2D11 A9 00 8D 61 05 A9 02 8D 60 05 8D 62 05 60 00 00 - .byte $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $02, $00, $00, $00, $00, $03 ; CPU:$AD21 PRG:2D21 00 00 00 00 00 01 00 00 00 00 02 00 00 00 00 03 - .byte $00, $00, $00, $00, $04, $00, $00, $00, $00, $05, $00, $00, $A2, $1E, $BD, $20 ; CPU:$AD31 PRG:2D31 00 00 00 00 04 00 00 00 00 05 00 00 A2 1E BD 20 - .byte $05, $9D, $00, $05, $CA, $10, $F7, $A9, $00, $8D, $66, $05, $8D, $40, $05, $8D ; CPU:$AD41 PRG:2D41 05 9D 00 05 CA 10 F7 A9 00 8D 66 05 8D 40 05 8D - .byte $41, $05, $8D, $42, $05, $8D, $43, $05, $8D, $44, $05, $8D, $45, $05, $8D, $50 ; CPU:$AD51 PRG:2D51 41 05 8D 42 05 8D 43 05 8D 44 05 8D 45 05 8D 50 - .byte $05, $8D, $51, $05, $8D, $52, $05, $8D, $53, $05, $8D, $54, $05, $20, $AB, $AD ; CPU:$AD61 PRG:2D61 05 8D 51 05 8D 52 05 8D 53 05 8D 54 05 20 AB AD - .byte $A4, $70, $C0, $20, $90, $02, $A0, $1A, $AD, $66, $05, $D9, $90, $AD, $90, $ED ; CPU:$AD71 PRG:2D71 A4 70 C0 20 90 02 A0 1A AD 66 05 D9 90 AD 90 ED - .byte $AD, $66, $05, $18, $69, $08, $8D, $67, $05, $A9, $00, $8D, $66, $05, $60, $00 ; CPU:$AD81 PRG:2D81 AD 66 05 18 69 08 8D 67 05 A9 00 8D 66 05 60 00 - .byte $03, $03, $0A, $0A, $0A, $0F, $0F, $0F, $0F, $00, $00, $00, $00, $00, $00, $0F ; CPU:$AD91 PRG:2D91 03 03 0A 0A 0A 0F 0F 0F 0F 00 00 00 00 00 00 0F - .byte $19, $19, $19, $19, $19, $19, $19, $19, $19, $28, $AD, $50, $05, $F0, $25, $AD ; CPU:$ADA1 PRG:2DA1 19 19 19 19 19 19 19 19 19 28 AD 50 05 F0 25 AD - .byte $51, $05, $F0, $20, $AD, $52, $05, $F0, $1B, $AD, $53, $05, $F0, $16, $AD, $54 ; CPU:$ADB1 PRG:2DB1 51 05 F0 20 AD 52 05 F0 1B AD 53 05 F0 16 AD 54 - .byte $05, $F0, $11, $A9, $00, $8D, $50, $05, $8D, $51, $05, $8D, $52, $05, $8D, $53 ; CPU:$ADC1 PRG:2DC1 05 F0 11 A9 00 8D 50 05 8D 51 05 8D 52 05 8D 53 - .byte $05, $8D, $54, $05, $20, $DC, $84, $29, $07, $C9, $05, $B0, $F7, $AA, $BC, $50 ; CPU:$ADD1 PRG:2DD1 05 8D 54 05 20 DC 84 29 07 C9 05 B0 F7 AA BC 50 - .byte $05, $D0, $F1, $FE, $50, $05, $69, $01, $85, $16, $A2, $00, $BD, $00, $05, $C5 ; CPU:$ADE1 PRG:2DE1 05 D0 F1 FE 50 05 69 01 85 16 A2 00 BD 00 05 C5 - .byte $16, $F0, $03, $E8, $D0, $F6, $8A, $8D, $65, $05, $20, $27, $AF, $8E, $63, $05 ; CPU:$ADF1 PRG:2DF1 16 F0 03 E8 D0 F6 8A 8D 65 05 20 27 AF 8E 63 05 - .byte $8C, $64, $05, $AD, $60, $05, $CD, $63, $05, $F0, $2D, $20, $DC, $AE, $AD, $61 ; CPU:$AE01 PRG:2E01 8C 64 05 AD 60 05 CD 63 05 F0 2D 20 DC AE AD 61 - .byte $05, $C5, $10, $F0, $09, $CE, $61, $05, $EE, $66, $05, $4C, $0F, $AE, $AD, $60 ; CPU:$AE11 PRG:2E11 05 C5 10 F0 09 CE 61 05 EE 66 05 4C 0F AE AD 60 - .byte $05, $38, $ED, $63, $05, $B0, $04, $49, $FF, $69, $01, $18, $6D, $66, $05, $8D ; CPU:$AE21 PRG:2E21 05 38 ED 63 05 B0 04 49 FF 69 01 18 6D 66 05 8D - .byte $66, $05, $AD, $63, $05, $8D, $60, $05, $AD, $61, $05, $CD, $64, $05, $F0, $09 ; CPU:$AE31 PRG:2E31 66 05 AD 63 05 8D 60 05 AD 61 05 CD 64 05 F0 09 - .byte $EE, $61, $05, $EE, $66, $05, $4C, $39, $AE, $20, $17, $AF, $A2, $00, $AC, $62 ; CPU:$AE41 PRG:2E41 EE 61 05 EE 66 05 4C 39 AE 20 17 AF A2 00 AC 62 - .byte $05, $B9, $00, $05, $9D, $40, $05, $E8, $A9, $00, $99, $00, $05, $88, $88, $88 ; CPU:$AE51 PRG:2E51 05 B9 00 05 9D 40 05 E8 A9 00 99 00 05 88 88 88 - .byte $88, $88, $10, $ED, $EE, $66, $05, $20, $DC, $84, $AD, $19, $06, $29, $07, $C9 ; CPU:$AE61 PRG:2E61 88 88 10 ED EE 66 05 20 DC 84 AD 19 06 29 07 C9 - .byte $05, $B0, $F4, $CD, $60, $05, $F0, $EF, $8D, $63, $05, $20, $DC, $AE, $C6, $10 ; CPU:$AE71 PRG:2E71 05 B0 F4 CD 60 05 F0 EF 8D 63 05 20 DC AE C6 10 - .byte $AD, $61, $05, $C5, $10, $F0, $09, $CE, $61, $05, $EE, $66, $05, $4C, $81, $AE ; CPU:$AE81 PRG:2E81 AD 61 05 C5 10 F0 09 CE 61 05 EE 66 05 4C 81 AE - .byte $AD, $60, $05, $38, $ED, $63, $05, $B0, $04, $49, $FF, $69, $01, $18, $6D, $66 ; CPU:$AE91 PRG:2E91 AD 60 05 38 ED 63 05 B0 04 49 FF 69 01 18 6D 66 - .byte $05, $8D, $66, $05, $AD, $63, $05, $8D, $60, $05, $20, $17, $AF, $AC, $62, $05 ; CPU:$AEA1 PRG:2EA1 05 8D 66 05 AD 63 05 8D 60 05 20 17 AF AC 62 05 - .byte $C0, $19, $B0, $0E, $B9, $05, $05, $D0, $09, $EE, $61, $05, $EE, $66, $05, $4C ; CPU:$AEB1 PRG:2EB1 C0 19 B0 0E B9 05 05 D0 09 EE 61 05 EE 66 05 4C - .byte $AB, $AE, $A2, $00, $AC, $62, $05, $BD, $40, $05, $F0, $0B, $99, $00, $05, $E8 ; CPU:$AEC1 PRG:2EC1 AB AE A2 00 AC 62 05 BD 40 05 F0 0B 99 00 05 E8 - .byte $88, $88, $88, $88, $88, $10, $F0, $EE, $66, $05, $60, $AD, $60, $05, $85, $13 ; CPU:$AED1 PRG:2ED1 88 88 88 88 88 10 F0 EE 66 05 60 AD 60 05 85 13 - .byte $AD, $63, $05, $85, $12, $CD, $60, $05, $B0, $07, $85, $13, $AD, $60, $05, $85 ; CPU:$AEE1 PRG:2EE1 AD 63 05 85 12 CD 60 05 B0 07 85 13 AD 60 05 85 - .byte $12, $AD, $61, $05, $85, $10, $A5, $10, $0A, $0A, $65, $10, $85, $14, $A9, $05 ; CPU:$AEF1 PRG:2EF1 12 AD 61 05 85 10 A5 10 0A 0A 65 10 85 14 A9 05 - .byte $85, $15, $A4, $13, $B1, $14, $D0, $07, $C4, $12, $F0, $07, $C8, $D0, $F5, $C6 ; CPU:$AF01 PRG:2F01 85 15 A4 13 B1 14 D0 07 C4 12 F0 07 C8 D0 F5 C6 - .byte $10, $D0, $E3, $A5, $10, $60, $AD, $61, $05, $0A, $0A, $6D, $61, $05, $18, $6D ; CPU:$AF11 PRG:2F11 10 D0 E3 A5 10 60 AD 61 05 0A 0A 6D 61 05 18 6D - .byte $60, $05, $8D, $62, $05, $60, $A0, $00, $C9, $05, $90, $05, $C8, $E9, $05, $B0 ; CPU:$AF21 PRG:2F21 60 05 8D 62 05 60 A0 00 C9 05 90 05 C8 E9 05 B0 - .byte $F7, $AA, $60, $A5, $49, $F0, $18, $30, $0B, $A9, $72, $85, $14, $A9, $AF, $85 ; CPU:$AF31 PRG:2F31 F7 AA 60 A5 49 F0 18 30 0B A9 72 85 14 A9 AF 85 - .byte $15, $4C, $67, $AF, $A9, $B2, $85, $14, $A9, $AF, $85, $15, $4C, $67, $AF, $A5 ; CPU:$AF41 PRG:2F41 15 4C 67 AF A9 B2 85 14 A9 AF 85 15 4C 67 AF A5 - .byte $40, $D0, $0B, $A9, $F2, $85, $14, $A9, $AF, $85, $15, $4C, $67, $AF, $A9, $F2 ; CPU:$AF51 PRG:2F51 40 D0 0B A9 F2 85 14 A9 AF 85 15 4C 67 AF A9 F2 - .byte $85, $14, $A9, $AF, $85, $15, $A0, $3F, $B1, $14, $99, $00, $04, $88, $10, $F8 ; CPU:$AF61 PRG:2F61 85 14 A9 AF 85 15 A0 3F B1 14 99 00 04 88 10 F8 - .byte $60, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AF71 PRG:2F71 60 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:$AF81 PRG:2F81 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $02, $03, $01, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $FF ; CPU:$AF91 PRG:2F91 FF FF FF FF 02 03 01 FF FF FF FF FF 00 00 00 FF - .byte $FF, $FF, $FF, $FF, $05, $04, $06, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AFA1 PRG:2FA1 FF FF FF FF 05 04 06 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:$AFB1 PRG:2FB1 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:$AFC1 PRG:2FC1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AFD1 PRG:2FD1 FF FF 00 00 00 00 00 00 00 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:$AFE1 PRG:2FE1 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, $00, $00, $00, $00, $00 ; CPU:$AFF1 PRG:2FF1 FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 - .byte $FF, $FF, $FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, $00, $00 ; CPU:$B001 PRG:3001 FF FF FF 00 00 00 00 00 FF FF FF 00 00 00 00 00 - .byte $FF, $FF, $FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, $00, $00 ; CPU:$B011 PRG:3011 FF FF FF 00 00 00 00 00 FF FF FF 00 00 00 00 00 - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$B021 PRG:3021 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $A9, $67, $8D, $00, $02, $A9, $70, $8D, $01, $02, $A9, $00, $8D, $02, $02 ; CPU:$B031 PRG:3031 FF A9 67 8D 00 02 A9 70 8D 01 02 A9 00 8D 02 02 - .byte $A9, $FE, $8D, $03, $02, $60, $AD, $02, $20, $29, $40, $D0, $F9, $AD, $02, $20 ; CPU:$B041 PRG:3041 A9 FE 8D 03 02 60 AD 02 20 29 40 D0 F9 AD 02 20 - .byte $29, $40, $F0, $F9, $A9, $21, $8D, $06, $20, $A9, $A0, $8D, $06, $20, $A6, $0A ; CPU:$B051 PRG:3051 29 40 F0 F9 A9 21 8D 06 20 A9 A0 8D 06 20 A6 0A - .byte $8E, $05, $20, $A2, $00, $8E, $05, $20, $60, $A5, $66, $F0, $0C, $AD, $09, $03 ; CPU:$B061 PRG:3061 8E 05 20 A2 00 8E 05 20 60 A5 66 F0 0C AD 09 03 - .byte $C9, $70, $90, $04, $A9, $00, $85, $66, $60, $A5, $55, $D0, $31, $AD, $09, $03 ; CPU:$B071 PRG:3071 C9 70 90 04 A9 00 85 66 60 A5 55 D0 31 AD 09 03 - .byte $A2, $FE, $A0, $FD, $C9, $61, $90, $08, $C9, $A0, $90, $7E, $A2, $02, $A0, $03 ; CPU:$B081 PRG:3081 A2 FE A0 FD C9 61 90 08 C9 A0 90 7E A2 02 A0 03 - .byte $86, $55, $A9, $00, $85, $56, $98, $18, $65, $59, $85, $58, $10, $0A, $A2, $08 ; CPU:$B091 PRG:3091 86 55 A9 00 85 56 98 18 65 59 85 58 10 0A A2 08 - .byte $C9, $FF, $F0, $08, $A2, $00, $F0, $04, $A8, $BE, $80, $05, $86, $57, $A5, $0A ; CPU:$B0A1 PRG:30A1 C9 FF F0 08 A2 00 F0 04 A8 BE 80 05 86 57 A5 0A - .byte $18, $65, $55, $85, $0A, $A5, $55, $49, $FF, $85, $16, $E6, $16, $AD, $09, $03 ; CPU:$B0B1 PRG:30B1 18 65 55 85 0A A5 55 49 FF 85 16 E6 16 AD 09 03 - .byte $18, $65, $16, $8D, $09, $03, $AD, $89, $03, $18, $65, $16, $8D, $89, $03, $A2 ; CPU:$B0C1 PRG:30C1 18 65 16 8D 09 03 AD 89 03 18 65 16 8D 89 03 A2 - .byte $04, $BD, $03, $02, $18, $65, $16, $9D, $03, $02, $E8, $E8, $E8, $E8, $E0, $80 ; CPU:$B0D1 PRG:30D1 04 BD 03 02 18 65 16 9D 03 02 E8 E8 E8 E8 E0 80 - .byte $D0, $EF, $A5, $56, $A0, $00, $C9, $01, $F0, $11, $C8, $C9, $05, $F0, $0C, $C8 ; CPU:$B0E1 PRG:30E1 D0 EF A5 56 A0 00 C9 01 F0 11 C8 C9 05 F0 0C C8 - .byte $C9, $09, $F0, $07, $C8, $C9, $0D, $F0, $02, $D0, $03, $20, $0C, $B1, $E6, $56 ; CPU:$B0F1 PRG:30F1 C9 09 F0 07 C8 C9 0D F0 02 D0 03 20 0C B1 E6 56 - .byte $A5, $56, $C9, $10, $D0, $04, $A9, $00, $85, $55, $60, $A5, $55, $10, $04, $98 ; CPU:$B101 PRG:3101 A5 56 C9 10 D0 04 A9 00 85 55 60 A5 55 10 04 98 - .byte $49, $03, $A8, $84, $0C, $A5, $58, $29, $07, $0A, $A8, $B9, $D3, $A8, $18, $65 ; CPU:$B111 PRG:3111 49 03 A8 84 0C A5 58 29 07 0A A8 B9 D3 A8 18 65 - .byte $0C, $85, $00, $B9, $D4, $A8, $85, $01, $A9, $31, $8D, $20, $06, $A5, $57, $20 ; CPU:$B121 PRG:3121 0C 85 00 B9 D4 A8 85 01 A9 31 8D 20 06 A5 57 20 - .byte $8A, $A6, $A4, $0C, $A2, $00, $B1, $14, $9D, $21, $06, $C8, $C8, $C8, $C8, $E8 ; CPU:$B131 PRG:3131 8A A6 A4 0C A2 00 B1 14 9D 21 06 C8 C8 C8 C8 E8 - .byte $E0, $03, $D0, $F2, $4C, $7F, $A6, $A5, $1A, $0A, $B0, $0B, $0A, $90, $17, $C6 ; CPU:$B141 PRG:3141 E0 03 D0 F2 4C 7F A6 A5 1A 0A B0 0B 0A 90 17 C6 - .byte $5A, $D0, $10, $A9, $07, $D0, $0A, $E6, $5A, $A5, $5A, $C9, $08, $D0, $04, $A9 ; CPU:$B151 PRG:3151 5A D0 10 A9 07 D0 0A E6 5A A5 5A C9 08 D0 04 A9 - .byte $01, $85, $5A, $20, $99, $B2, $A5, $5A, $0A, $A8, $A2, $80, $A9, $67, $9D, $00 ; CPU:$B161 PRG:3161 01 85 5A 20 99 B2 A5 5A 0A A8 A2 80 A9 67 9D 00 - .byte $02, $A9, $73, $9D, $01, $02, $A9, $03, $9D, $02, $02, $B9, $8C, $B1, $9D, $03 ; CPU:$B171 PRG:3171 02 A9 73 9D 01 02 A9 03 9D 02 02 B9 8C B1 9D 03 - .byte $02, $C8, $E8, $E8, $E8, $E8, $E0, $88, $D0, $E2, $60, $00, $00, $20, $28, $38 ; CPU:$B181 PRG:3181 02 C8 E8 E8 E8 E8 E0 88 D0 E2 60 00 00 20 28 38 - .byte $40, $50, $58, $68, $70, $80, $88, $98, $A0, $B0, $B8, $A5, $18, $29, $30, $85 ; CPU:$B191 PRG:3191 40 50 58 68 70 80 88 98 A0 B0 B8 A5 18 29 30 85 - .byte $18, $A9, $00, $85, $1A, $A5, $2F, $29, $03, $D0, $29, $A5, $3E, $F0, $08, $C6 ; CPU:$B1A1 PRG:31A1 18 A9 00 85 1A A5 2F 29 03 D0 29 A5 3E F0 08 C6 - .byte $3E, $D0, $21, $F0, $02, $C6, $3F, $A6, $3F, $BD, $D6, $B1, $C9, $AA, $F0, $F5 ; CPU:$B1B1 PRG:31B1 3E D0 21 F0 02 C6 3F A6 3F BD D6 B1 C9 AA F0 F5 - .byte $85, $1A, $A5, $18, $29, $30, $05, $1A, $85, $18, $E8, $86, $3F, $A6, $50, $BD ; CPU:$B1C1 PRG:31C1 85 1A A5 18 29 30 05 1A 85 18 E8 86 3F A6 50 BD - .byte $D9, $B1, $85, $3E, $60, $01, $01, $AA, $30, $38, $40, $48, $50, $85, $46, $85 ; CPU:$B1D1 PRG:31D1 D9 B1 85 3E 60 01 01 AA 30 38 40 48 50 85 46 85 - .byte $47, $A9, $01, $85, $48, $60 ; CPU:$B1E1 PRG:31E1 47 A9 01 85 48 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8881 +; Global: Branch target inside Sub: taken when 8881. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8881: + ldx #$04 ; CPU:$8881 PRG:0881 A2 04 + ldy #$20 ; CPU:$8883 PRG:0883 A0 20 + lda $0308 ; CPU:$8885 PRG:0885 AD 08 03 + cmp $0328 ; CPU:$8888 PRG:0888 CD 28 03 + bcs IrqHandler_Loop48 ; CPU:$888B PRG:088B B0 04 + ldx #$20 ; CPU:$888D PRG:088D A2 20 + ldy #$04 ; CPU:$888F PRG:088F A0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop48 +; Global: Branch target inside IrqHandler: taken when Loop48. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop48: + stx $030A ; CPU:$8891 PRG:0891 8E 0A 03 + sty $032A ; CPU:$8894 PRG:0894 8C 2A 03 + rts ; CPU:$8897 PRG:0897 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8898 +; Global: Branch target inside Label: taken when 8898. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8898: + ldx #$04 ; CPU:$8898 PRG:0898 A2 04 + ldy #$30 ; CPU:$889A PRG:089A A0 30 + lda $0308 ; CPU:$889C PRG:089C AD 08 03 + cmp $0328 ; CPU:$889F PRG:089F CD 28 03 + bcs IrqHandler_Loop49 ; CPU:$88A2 PRG:08A2 B0 04 + ldx #$30 ; CPU:$88A4 PRG:08A4 A2 30 + ldy #$04 ; CPU:$88A6 PRG:08A6 A0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop49 +; Global: Branch target inside IrqHandler: taken when Loop49. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop49: + stx $030A ; CPU:$88A8 PRG:08A8 8E 0A 03 + sty $032A ; CPU:$88AB PRG:08AB 8C 2A 03 + rts ; CPU:$88AE PRG:08AE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_88AF +; Global: Branch target inside Label: taken when 88AF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_88AF: + lda Zp38 ; CPU:$88AF PRG:08AF A5 38 + bne IrqHandler_Loop50 ; CPU:$88B1 PRG:08B1 D0 0D + lda #$00 ; CPU:$88B3 PRG:08B3 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_88B5 +; Global: Branch target inside Label: taken when 88B5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_88B5: + sta Zp44 ; CPU:$88B5 PRG:08B5 85 44 + lda #$08 ; CPU:$88B7 PRG:08B7 A9 08 + sta PlayerColumn ; CPU:$88B9 PRG:08B9 85 3D + lda #$0B ; CPU:$88BB PRG:08BB A9 0B + sta PlayerIndex ; CPU:$88BD PRG:08BD 85 3B + rts ; CPU:$88BF PRG:08BF 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop50 +; Global: Branch target inside IrqHandler: taken when Loop50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop50: + ldy Zp38 ; CPU:$88C0 PRG:08C0 A4 38 + ldx #$00 ; CPU:$88C2 PRG:08C2 A2 00 + lda #$40 ; CPU:$88C4 PRG:08C4 A9 40 + dey ; CPU:$88C6 PRG:08C6 88 + beq IrqHandler_Loop51 ; CPU:$88C7 PRG:08C7 F0 09 + asl a ; CPU:$88C9 PRG:08C9 0A + dey ; CPU:$88CA PRG:08CA 88 + beq IrqHandler_Loop51 ; CPU:$88CB PRG:08CB F0 05 + asl a ; CPU:$88CD PRG:08CD 0A + dey ; CPU:$88CE PRG:08CE 88 + beq IrqHandler_Loop51 ; CPU:$88CF PRG:08CF F0 01 + inx ; CPU:$88D1 PRG:08D1 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop51 +; Global: Branch target inside IrqHandler: taken when Loop51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop51: + sta GameState ; CPU:$88D2 PRG:08D2 85 49 + stx BoardState ; CPU:$88D4 PRG:08D4 86 40 + lda #$01 ; CPU:$88D6 PRG:08D6 A9 01 + sta Zp70 ; CPU:$88D8 PRG:08D8 85 70 + jsr Sub_ACFD ; CPU:$88DA PRG:08DA 20 FD AC + jsr Sub_AD3D ; CPU:$88DD PRG:08DD 20 3D AD + lda #$00 ; CPU:$88E0 PRG:08E0 A9 00 + sta Zp80 ; CPU:$88E2 PRG:08E2 85 80 + sta Zp81 ; CPU:$88E4 PRG:08E4 85 81 + sta Zp82 ; CPU:$88E6 PRG:08E6 85 82 + sta Zp83 ; CPU:$88E8 PRG:08E8 85 83 + sta Zp44 ; CPU:$88EA PRG:08EA 85 44 + inc PlayerIndex ; CPU:$88EC PRG:08EC E6 3B + jmp Sub_817D ; CPU:$88EE PRG:08EE 4C 7D 81 +; ----------------------------------------------------------------------------- +; Routine: Label_88F1 +; Global: Branch target inside Label: taken when 88F1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_88F1: + lda BoardState ; CPU:$88F1 PRG:08F1 A5 40 + bne IrqHandler_Loop53 ; CPU:$88F3 PRG:08F3 D0 37 + ldx Zp44 ; CPU:$88F5 PRG:08F5 A6 44 + bne IrqHandler_Loop52 ; CPU:$88F7 PRG:08F7 D0 2F + jsr Sub_B257 ; CPU:$88F9 PRG:08F9 20 57 B2 + jsr Sub_817D ; CPU:$88FC PRG:08FC 20 7D 81 + jsr Sub_8266 ; CPU:$88FF PRG:08FF 20 66 82 + jsr Sub_82BA ; CPU:$8902 PRG:0902 20 BA 82 + jsr Sub_85BC ; CPU:$8905 PRG:0905 20 BC 85 + lda #$00 ; CPU:$8908 PRG:0908 A9 00 + sta Zp0B ; CPU:$890A PRG:090A 85 0B + lda PpuCtrlShadow ; CPU:$890C PRG:090C A5 08 + and #$FC ; CPU:$890E PRG:090E 29 FC + sta PpuCtrlShadow ; CPU:$8910 PRG:0910 85 08 + sta PPUCTRL ; CPU:$8912 PRG:0912 8D 00 20 + jsr Sub_84CF ; CPU:$8915 PRG:0915 20 CF 84 + lda #$08 ; CPU:$8918 PRG:0918 A9 08 + sta Zp34 ; CPU:$891A PRG:091A 85 34 + jsr Sub_815F ; CPU:$891C PRG:091C 20 5F 81 + lda #$80 ; CPU:$891F PRG:091F A9 80 + sta Zp29 ; CPU:$8921 PRG:0921 85 29 + inc Zp44 ; CPU:$8923 PRG:0923 E6 44 + jmp Sub_818A ; CPU:$8925 PRG:0925 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop52 +; Global: Branch target inside IrqHandler: taken when Loop52. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop52: + lda Zp29 ; CPU:$8928 PRG:0928 A5 29 + bne IrqHandler_Loop54 ; CPU:$892A PRG:092A D0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop53 +; Global: Branch target inside IrqHandler: taken when Loop53. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop53: + inc PlayerIndex ; CPU:$892C PRG:092C E6 3B + lda #$00 ; CPU:$892E PRG:092E A9 00 + sta Zp44 ; CPU:$8930 PRG:0930 85 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop54 +; Global: Branch target inside IrqHandler: taken when Loop54. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop54: + rts ; CPU:$8932 PRG:0932 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8933 +; Global: Branch target inside Label: taken when 8933. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8933: + jsr Sub_817D ; CPU:$8933 PRG:0933 20 7D 81 + jsr Sub_8266 ; CPU:$8936 PRG:0936 20 66 82 + jsr Sub_82BA ; CPU:$8939 PRG:0939 20 BA 82 + jsr Sub_8876 ; CPU:$893C PRG:093C 20 76 88 + ldx #$00 ; CPU:$893F PRG:093F A2 00 + txa ; CPU:$8941 PRG:0941 8A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero17 +; Global: Branch target inside IrqHandler: taken when OnNonzero17. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero17: + sta $0300,x ; CPU:$8942 PRG:0942 9D 00 03 + inx ; CPU:$8945 PRG:0945 E8 + bne IrqHandler_OnNonzero17 ; CPU:$8946 PRG:0946 D0 FA + lda #$00 ; CPU:$8948 PRG:0948 A9 00 + sta Zp0A ; CPU:$894A PRG:094A 85 0A + tax ; CPU:$894C PRG:094C AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero18 +; Global: Branch target inside IrqHandler: taken when OnNonzero18. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero18: + sta $0580,x ; CPU:$894D PRG:094D 9D 80 05 + inx ; CPU:$8950 PRG:0950 E8 + cpx #$6E ; CPU:$8951 PRG:0951 E0 6E + bne IrqHandler_OnNonzero18 ; CPU:$8953 PRG:0953 D0 F8 + lda #$07 ; CPU:$8955 PRG:0955 A9 07 + sta $05E4 ; CPU:$8957 PRG:0957 8D E4 05 + jsr Sub_87C9 ; CPU:$895A PRG:095A 20 C9 87 + jsr Sub_81A3 ; CPU:$895D PRG:095D 20 A3 81 + jsr Sub_8981 ; CPU:$8960 PRG:0960 20 81 89 + jsr Sub_AF34 ; CPU:$8963 PRG:0963 20 34 AF + jsr Sub_A4EA ; CPU:$8966 PRG:0966 20 EA A4 + jsr Reset_OnNonzero3 ; CPU:$8969 PRG:0969 20 96 81 + lda #$01 ; CPU:$896C PRG:096C A9 01 + ldy BoardState ; CPU:$896E PRG:096E A4 40 + beq IrqHandler_Loop55 ; CPU:$8970 PRG:0970 F0 02 + lda #$09 ; CPU:$8972 PRG:0972 A9 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop55 +; Global: Branch target inside IrqHandler: taken when Loop55. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop55: + sta Zp34 ; CPU:$8974 PRG:0974 85 34 + lda GameState ; CPU:$8976 PRG:0976 A5 49 + beq IrqHandler_Loop56 ; CPU:$8978 PRG:0978 F0 04 + lda #$10 ; CPU:$897A PRG:097A A9 10 + sta Zp34 ; CPU:$897C PRG:097C 85 34 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop56 +; Global: Branch target inside IrqHandler: taken when Loop56. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop56: + inc PlayerIndex ; CPU:$897E PRG:097E E6 3B + rts ; CPU:$8980 PRG:0980 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8981 +; Global: Branch target inside Sub: taken when 8981. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8981: + jsr $AAD9 ; CPU:$8981 PRG:0981 20 D9 AA + lda GameState ; CPU:$8984 PRG:0984 A5 49 + beq IrqHandler_Loop58 ; CPU:$8986 PRG:0986 F0 1E + bmi IrqHandler_Loop57 ; CPU:$8988 PRG:0988 30 0E + ldx #$75 ; CPU:$898A PRG:098A A2 75 + ldy #$BF ; CPU:$898C PRG:098C A0 BF + jsr Sub_8483 ; CPU:$898E PRG:098E 20 83 84 + ldx #$B6 ; CPU:$8991 PRG:0991 A2 B6 + ldy #$BF ; CPU:$8993 PRG:0993 A0 BF + jmp Sub_8483 ; CPU:$8995 PRG:0995 4C 83 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop57 +; Global: Branch target inside IrqHandler: taken when Loop57. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop57: + ldx #$75 ; CPU:$8998 PRG:0998 A2 75 + ldy #$BF ; CPU:$899A PRG:099A A0 BF + jsr Sub_8483 ; CPU:$899C PRG:099C 20 83 84 + ldx #$E2 ; CPU:$899F PRG:099F A2 E2 + ldy #$BF ; CPU:$89A1 PRG:09A1 A0 BF + jmp Sub_8483 ; CPU:$89A3 PRG:09A3 4C 83 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop58 +; Global: Branch target inside IrqHandler: taken when Loop58. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop58: + ldx #$50 ; CPU:$89A6 PRG:09A6 A2 50 + ldy #$BE ; CPU:$89A8 PRG:09A8 A0 BE + jsr Sub_8483 ; CPU:$89AA PRG:09AA 20 83 84 + lda BoardState ; CPU:$89AD PRG:09AD A5 40 + beq IrqHandler_Loop59 ; CPU:$89AF PRG:09AF F0 07 + ldx #$9A ; CPU:$89B1 PRG:09B1 A2 9A + ldy #$C0 ; CPU:$89B3 PRG:09B3 A0 C0 + jsr Sub_8483 ; CPU:$89B5 PRG:09B5 20 83 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop59 +; Global: Branch target inside IrqHandler: taken when Loop59. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop59: + rts ; CPU:$89B8 PRG:09B8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_89B9 +; Global: Branch target inside Label: taken when 89B9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_89B9: + lda #$00 ; CPU:$89B9 PRG:09B9 A9 00 + sta $0380 ; CPU:$89BB PRG:09BB 8D 80 03 + sta $03A0 ; CPU:$89BE PRG:09BE 8D A0 03 + sta $03C0 ; CPU:$89C1 PRG:09C1 8D C0 03 + sta $0320 ; CPU:$89C4 PRG:09C4 8D 20 03 + jsr Sub_8FE4 ; CPU:$89C7 PRG:09C7 20 E4 8F + jsr Sub_9E27 ; CPU:$89CA PRG:09CA 20 27 9E + lda #$FF ; CPU:$89CD PRG:09CD A9 FF + sta Zp59 ; CPU:$89CF PRG:09CF 85 59 + lda #$01 ; CPU:$89D1 PRG:09D1 A9 01 + sta Zp66 ; CPU:$89D3 PRG:09D3 85 66 + lda #$04 ; CPU:$89D5 PRG:09D5 A9 04 + sta Zp5A ; CPU:$89D7 PRG:09D7 85 5A + bit GameState ; CPU:$89D9 PRG:09D9 24 49 + bmi IrqHandler_Loop60 ; CPU:$89DB PRG:09DB 30 08 + bvs IrqHandler_Loop61 ; CPU:$89DD PRG:09DD 70 0C + jsr Sub_B28C ; CPU:$89DF PRG:09DF 20 8C B2 + jmp Sub_89EE ; CPU:$89E2 PRG:09E2 4C EE 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop60 +; Global: Branch target inside IrqHandler: taken when Loop60. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop60: + jsr Sub_B280 ; CPU:$89E5 PRG:09E5 20 80 B2 + jmp Sub_89EE ; CPU:$89E8 PRG:09E8 4C EE 89 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop61 +; Global: Branch target inside IrqHandler: taken when Loop61. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop61: + jsr Sub_B284 ; CPU:$89EB PRG:09EB 20 84 B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_89EE +; Global: Branch target inside Sub: taken when 89EE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_89EE: + lda #$00 ; CPU:$89EE PRG:09EE A9 00 + sta Zp4F ; CPU:$89F0 PRG:09F0 85 4F + sta $0566 ; CPU:$89F2 PRG:09F2 8D 66 05 + sta Zp64 ; CPU:$89F5 PRG:09F5 85 64 + sta Zp55 ; CPU:$89F7 PRG:09F7 85 55 + jsr Sub_B032 ; CPU:$89F9 PRG:09F9 20 32 B0 + lda #$80 ; CPU:$89FC PRG:09FC A9 80 + sta Zp0B ; CPU:$89FE PRG:09FE 85 0B + lda PpuCtrlShadow ; CPU:$8A00 PRG:0A00 A5 08 + ora #$02 ; CPU:$8A02 PRG:0A02 09 02 + sta PpuCtrlShadow ; CPU:$8A04 PRG:0A04 85 08 + sta PPUCTRL ; CPU:$8A06 PRG:0A06 8D 00 20 + jsr Sub_84CF ; CPU:$8A09 PRG:0A09 20 CF 84 + jsr Sub_8173 ; CPU:$8A0C PRG:0A0C 20 73 81 + bit GameState ; CPU:$8A0F PRG:0A0F 24 49 + bmi IrqHandler_Loop62 ; CPU:$8A11 PRG:0A11 30 12 + bvs IrqHandler_Loop62 ; CPU:$8A13 PRG:0A13 70 10 + lda #$04 ; CPU:$8A15 PRG:0A15 A9 04 + sta Zp44 ; CPU:$8A17 PRG:0A17 85 44 + lda #$0C ; CPU:$8A19 PRG:0A19 A9 0C + sta PlayerIndex ; CPU:$8A1B PRG:0A1B 85 3B + lda #$78 ; CPU:$8A1D PRG:0A1D A9 78 + sta Zp54 ; CPU:$8A1F PRG:0A1F 85 54 + jsr Sub_818A ; CPU:$8A21 PRG:0A21 20 8A 81 + rts ; CPU:$8A24 PRG:0A24 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop62 +; Global: Branch target inside IrqHandler: taken when Loop62. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop62: + inc PlayerIndex ; CPU:$8A25 PRG:0A25 E6 3B + jsr Sub_818A ; CPU:$8A27 PRG:0A27 20 8A 81 + rts ; CPU:$8A2A PRG:0A2A 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNegative +; Global: Branch target inside IrqHandler: taken when the tested value is negative. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNegative: + jmp Sub_8B19 ; CPU:$8A2B PRG:0A2B 4C 19 8B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnOverflowSet +; Global: Branch target inside IrqHandler: taken when the addition overflowed. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnOverflowSet: + jmp Sub_8AD9 ; CPU:$8A2E PRG:0A2E 4C D9 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_8A31 +; Global: Branch target inside Sub: taken when 8A31. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8A31: + jsr Sub_8876 ; CPU:$8A31 PRG:0A31 20 76 88 + bit GameState ; CPU:$8A34 PRG:0A34 24 49 + bmi IrqHandler_OnNegative ; CPU:$8A36 PRG:0A36 30 F3 + bvs IrqHandler_OnOverflowSet ; CPU:$8A38 PRG:0A38 70 F4 + lda Zp1A ; CPU:$8A3A PRG:0A3A A5 1A + and #$C0 ; CPU:$8A3C PRG:0A3C 29 C0 + bne IrqHandler_Loop64 ; CPU:$8A3E PRG:0A3E D0 35 + jsr Sub_82BA ; CPU:$8A40 PRG:0A40 20 BA 82 + lda BoardState ; CPU:$8A43 PRG:0A43 A5 40 + bne IrqHandler_Loop65 ; CPU:$8A45 PRG:0A45 D0 37 + jsr Sub_9FF0 ; CPU:$8A47 PRG:0A47 20 F0 9F + jsr Sub_8881 ; CPU:$8A4A PRG:0A4A 20 81 88 + jsr Sub_906F ; CPU:$8A4D PRG:0A4D 20 6F 90 + jsr Sub_9C5F ; CPU:$8A50 PRG:0A50 20 5F 9C + jsr Sub_9E58 ; CPU:$8A53 PRG:0A53 20 58 9E + jsr Sub_A3D7 ; CPU:$8A56 PRG:0A56 20 D7 A3 + jsr Sub_AB62 ; CPU:$8A59 PRG:0A59 20 62 AB + jsr Sub_8706 ; CPU:$8A5C PRG:0A5C 20 06 87 + jsr Sub_8B51 ; CPU:$8A5F PRG:0A5F 20 51 8B + jsr Sub_B4EA ; CPU:$8A62 PRG:0A62 20 EA B4 + jsr Sub_B2DB ; CPU:$8A65 PRG:0A65 20 DB B2 + lda Zp60 ; CPU:$8A68 PRG:0A68 A5 60 + beq IrqHandler_Loop63 ; CPU:$8A6A PRG:0A6A F0 08 + lda #$06 ; CPU:$8A6C PRG:0A6C A9 06 + sta PlayerIndex ; CPU:$8A6E PRG:0A6E 85 3B + lda #$00 ; CPU:$8A70 PRG:0A70 A9 00 + sta Zp44 ; CPU:$8A72 PRG:0A72 85 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop63 +; Global: Branch target inside IrqHandler: taken when Loop63. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop63: + rts ; CPU:$8A74 PRG:0A74 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop64 +; Global: Branch target inside IrqHandler: taken when Loop64. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop64: + lda #$00 ; CPU:$8A75 PRG:0A75 A9 00 + sta Zp44 ; CPU:$8A77 PRG:0A77 85 44 + lda #$0C ; CPU:$8A79 PRG:0A79 A9 0C + sta PlayerIndex ; CPU:$8A7B PRG:0A7B 85 3B + rts ; CPU:$8A7D PRG:0A7D 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop65 +; Global: Branch target inside IrqHandler: taken when Loop65. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop65: + lda Zp5F ; CPU:$8A7E PRG:0A7E A5 5F + beq IrqHandler_Loop66 ; CPU:$8A80 PRG:0A80 F0 28 + jsr Sub_9FF0 ; CPU:$8A82 PRG:0A82 20 F0 9F + jsr Sub_8881 ; CPU:$8A85 PRG:0A85 20 81 88 + jsr Sub_906F ; CPU:$8A88 PRG:0A88 20 6F 90 + jsr Sub_9067 ; CPU:$8A8B PRG:0A8B 20 67 90 + jsr Sub_9E58 ; CPU:$8A8E PRG:0A8E 20 58 9E + jsr Sub_A3D7 ; CPU:$8A91 PRG:0A91 20 D7 A3 + jsr Sub_8752 ; CPU:$8A94 PRG:0A94 20 52 87 + jsr Sub_B4EA ; CPU:$8A97 PRG:0A97 20 EA B4 + jsr Sub_B2DB ; CPU:$8A9A PRG:0A9A 20 DB B2 + lda Zp60 ; CPU:$8A9D PRG:0A9D A5 60 + beq IrqHandler_Loop67 ; CPU:$8A9F PRG:0A9F F0 37 + lda #$06 ; CPU:$8AA1 PRG:0AA1 A9 06 + sta PlayerIndex ; CPU:$8AA3 PRG:0AA3 85 3B + lda #$00 ; CPU:$8AA5 PRG:0AA5 A9 00 + sta Zp44 ; CPU:$8AA7 PRG:0AA7 85 44 + rts ; CPU:$8AA9 PRG:0AA9 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop66 +; Global: Branch target inside IrqHandler: taken when Loop66. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop66: + lda Zp4F ; CPU:$8AAA PRG:0AAA A5 4F + bne IrqHandler_Loop67 ; CPU:$8AAC PRG:0AAC D0 2A + inc Zp4F ; CPU:$8AAE PRG:0AAE E6 4F + jsr Sub_B26F ; CPU:$8AB0 PRG:0AB0 20 6F B2 + ldy #$00 ; CPU:$8AB3 PRG:0AB3 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero19 +; Global: Branch target inside IrqHandler: taken when OnNonzero19. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero19: + lda $0400,y ; CPU:$8AB5 PRG:0AB5 B9 00 04 + ora #$80 ; CPU:$8AB8 PRG:0AB8 09 80 + sta $0400,y ; CPU:$8ABA PRG:0ABA 99 00 04 + iny ; CPU:$8ABD PRG:0ABD C8 + cpy #$38 ; CPU:$8ABE PRG:0ABE C0 38 + bne IrqHandler_OnNonzero19 ; CPU:$8AC0 PRG:0AC0 D0 F3 + jsr Sub_A525 ; CPU:$8AC2 PRG:0AC2 20 25 A5 + jsr Sub_815F ; CPU:$8AC5 PRG:0AC5 20 5F 81 + lda #$00 ; CPU:$8AC8 PRG:0AC8 A9 00 + jsr Sub_8552 ; CPU:$8ACA PRG:0ACA 20 52 85 + jsr Sub_815F ; CPU:$8ACD PRG:0ACD 20 5F 81 + lda #$01 ; CPU:$8AD0 PRG:0AD0 A9 01 + jsr Sub_8552 ; CPU:$8AD2 PRG:0AD2 20 52 85 + jsr Sub_815F ; CPU:$8AD5 PRG:0AD5 20 5F 81 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop67 +; Global: Branch target inside IrqHandler: taken when Loop67. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop67: + rts ; CPU:$8AD8 PRG:0AD8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8AD9 +; Global: Branch target inside Sub: taken when 8AD9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8AD9: + lda Zp64 ; CPU:$8AD9 PRG:0AD9 A5 64 + bne IrqHandler_Loop68 ; CPU:$8ADB PRG:0ADB D0 1C + jsr Sub_82BA ; CPU:$8ADD PRG:0ADD 20 BA 82 + jsr Sub_B032 ; CPU:$8AE0 PRG:0AE0 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8AE3 PRG:0AE3 20 47 B0 + jsr Sub_906F ; CPU:$8AE6 PRG:0AE6 20 6F 90 + jsr Sub_A3D7 ; CPU:$8AE9 PRG:0AE9 20 D7 A3 + jsr Sub_AB62 ; CPU:$8AEC PRG:0AEC 20 62 AB + jsr Sub_ACD8 ; CPU:$8AEF PRG:0AEF 20 D8 AC + jsr Sub_8706 ; CPU:$8AF2 PRG:0AF2 20 06 87 + jmp IrqHandler_Loop69 ; CPU:$8AF5 PRG:0AF5 4C 0A 8B +; ----------------------------------------------------------------------------- +; Routine: Label_8AF8 +; Global: Branch target inside Label: taken when 8AF8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8AF8: + rts ; CPU:$8AF8 PRG:0AF8 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop68 +; Global: Branch target inside IrqHandler: taken when Loop68. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop68: + jsr Sub_B032 ; CPU:$8AF9 PRG:0AF9 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8AFC PRG:0AFC 20 47 B0 + lda Zp1A ; CPU:$8AFF PRG:0AFF A5 1A + and #$C0 ; CPU:$8B01 PRG:0B01 29 C0 + beq IrqHandler_Loop69 ; CPU:$8B03 PRG:0B03 F0 05 + lda #$00 ; CPU:$8B05 PRG:0B05 A9 00 + sta Zp64 ; CPU:$8B07 PRG:0B07 85 64 + rts ; CPU:$8B09 PRG:0B09 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop69 +; Global: Branch target inside IrqHandler: taken when Loop69. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop69: + lda Zp1A ; CPU:$8B0A PRG:0B0A A5 1A + and #$10 ; CPU:$8B0C PRG:0B0C 29 10 + beq IrqHandler_Loop70 ; CPU:$8B0E PRG:0B0E F0 08 + lda #$05 ; CPU:$8B10 PRG:0B10 A9 05 + sta PlayerIndex ; CPU:$8B12 PRG:0B12 85 3B + lda #$00 ; CPU:$8B14 PRG:0B14 A9 00 + sta Zp44 ; CPU:$8B16 PRG:0B16 85 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop70 +; Global: Branch target inside IrqHandler: taken when Loop70. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop70: + rts ; CPU:$8B18 PRG:0B18 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8B19 +; Global: Branch target inside Sub: taken when 8B19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8B19: + jsr Sub_82BA ; CPU:$8B19 PRG:0B19 20 BA 82 + lda $0301 ; CPU:$8B1C PRG:0B1C AD 01 03 + bne IrqHandler_Loop71 ; CPU:$8B1F PRG:0B1F D0 06 + lda Zp1A ; CPU:$8B21 PRG:0B21 A5 1A + and #$10 ; CPU:$8B23 PRG:0B23 29 10 + bne IrqHandler_Loop73 ; CPU:$8B25 PRG:0B25 D0 21 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop71 +; Global: Branch target inside IrqHandler: taken when Loop71. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop71: + jsr Sub_B032 ; CPU:$8B27 PRG:0B27 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8B2A PRG:0B2A 20 47 B0 + jsr Sub_906F ; CPU:$8B2D PRG:0B2D 20 6F 90 + jsr Sub_B148 ; CPU:$8B30 PRG:0B30 20 48 B1 + jsr Sub_A3D7 ; CPU:$8B33 PRG:0B33 20 D7 A3 + jsr Sub_B06A ; CPU:$8B36 PRG:0B36 20 6A B0 + jsr Sub_ACD8 ; CPU:$8B39 PRG:0B39 20 D8 AC + jsr Sub_8706 ; CPU:$8B3C PRG:0B3C 20 06 87 + lda $0301 ; CPU:$8B3F PRG:0B3F AD 01 03 + bne IrqHandler_Loop72 ; CPU:$8B42 PRG:0B42 D0 03 + jsr Sub_AB8A ; CPU:$8B44 PRG:0B44 20 8A AB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop72 +; Global: Branch target inside IrqHandler: taken when Loop72. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop72: + rts ; CPU:$8B47 PRG:0B47 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop73 +; Global: Branch target inside IrqHandler: taken when Loop73. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop73: + lda #$0D ; CPU:$8B48 PRG:0B48 A9 0D + sta PlayerIndex ; CPU:$8B4A PRG:0B4A 85 3B + lda #$00 ; CPU:$8B4C PRG:0B4C A9 00 + sta Zp44 ; CPU:$8B4E PRG:0B4E 85 44 + rts ; CPU:$8B50 PRG:0B50 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8B51 +; Global: Branch target inside Sub: taken when 8B51. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8B51: + lda $039F ; CPU:$8B51 PRG:0B51 AD 9F 03 + beq IrqHandler_Loop74 ; CPU:$8B54 PRG:0B54 F0 09 + dec $039F ; CPU:$8B56 PRG:0B56 CE 9F 03 + bne IrqHandler_Loop74 ; CPU:$8B59 PRG:0B59 D0 04 + lda #$00 ; CPU:$8B5B PRG:0B5B A9 00 + sta Zp67 ; CPU:$8B5D PRG:0B5D 85 67 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop74 +; Global: Branch target inside IrqHandler: taken when Loop74. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop74: + lda $03BF ; CPU:$8B5F PRG:0B5F AD BF 03 + beq IrqHandler_Loop75 ; CPU:$8B62 PRG:0B62 F0 09 + dec $03BF ; CPU:$8B64 PRG:0B64 CE BF 03 + bne IrqHandler_Loop75 ; CPU:$8B67 PRG:0B67 D0 04 + lda #$20 ; CPU:$8B69 PRG:0B69 A9 20 + sta Zp67 ; CPU:$8B6B PRG:0B6B 85 67 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop75 +; Global: Branch target inside IrqHandler: taken when Loop75. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop75: + rts ; CPU:$8B6D PRG:0B6D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8B6E +; Global: Branch target inside Label: taken when 8B6E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8B6E: + lda GameState ; CPU:$8B6E PRG:0B6E A5 49 + beq IrqHandler_Loop76 ; CPU:$8B70 PRG:0B70 F0 06 + jsr Sub_B032 ; CPU:$8B72 PRG:0B72 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8B75 PRG:0B75 20 47 B0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop76 +; Global: Branch target inside IrqHandler: taken when Loop76. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop76: + ldx Zp44 ; CPU:$8B78 PRG:0B78 A6 44 + beq IrqHandler_Loop77 ; CPU:$8B7A PRG:0B7A F0 05 + dex ; CPU:$8B7C PRG:0B7C CA + beq IrqHandler_Loop79 ; CPU:$8B7D PRG:0B7D F0 2F + bne IrqHandler_Loop81 ; CPU:$8B7F PRG:0B7F D0 3D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop77 +; Global: Branch target inside IrqHandler: taken when Loop77. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop77: + lda #$01 ; CPU:$8B81 PRG:0B81 A9 01 + sta Zp03 ; CPU:$8B83 PRG:0B83 85 03 + clc ; CPU:$8B85 PRG:0B85 18 + lda Zp70 ; CPU:$8B86 PRG:0B86 A5 70 + jsr Sub_86B4 ; CPU:$8B88 PRG:0B88 20 B4 86 + sta Zp70 ; CPU:$8B8B PRG:0B8B 85 70 + bcc IrqHandler_Loop78 ; CPU:$8B8D PRG:0B8D 90 04 + lda #$99 ; CPU:$8B8F PRG:0B8F A9 99 + sta Zp70 ; CPU:$8B91 PRG:0B91 85 70 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop78 +; Global: Branch target inside IrqHandler: taken when Loop78. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop78: + jsr Sub_866A ; CPU:$8B93 PRG:0B93 20 6A 86 + ldx #$00 ; CPU:$8B96 PRG:0B96 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero20 +; Global: Branch target inside IrqHandler: taken when OnNonzero20. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero20: + lda $0500,x ; CPU:$8B98 PRG:0B98 BD 00 05 + sta $0520,x ; CPU:$8B9B PRG:0B9B 9D 20 05 + inx ; CPU:$8B9E PRG:0B9E E8 + cpx #$1E ; CPU:$8B9F PRG:0B9F E0 1E + bne IrqHandler_OnNonzero20 ; CPU:$8BA1 PRG:0BA1 D0 F5 + jsr Sub_AD3D ; CPU:$8BA3 PRG:0BA3 20 3D AD + lda #$00 ; CPU:$8BA6 PRG:0BA6 A9 00 + sta $0566 ; CPU:$8BA8 PRG:0BA8 8D 66 05 + inc Zp44 ; CPU:$8BAB PRG:0BAB E6 44 + rts ; CPU:$8BAD PRG:0BAD 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop79 +; Global: Branch target inside IrqHandler: taken when Loop79. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop79: + jsr Sub_85F5 ; CPU:$8BAE PRG:0BAE 20 F5 85 + lda Zp82 ; CPU:$8BB1 PRG:0BB1 A5 82 + ora Zp83 ; CPU:$8BB3 PRG:0BB3 05 83 + bne IrqHandler_Loop80 ; CPU:$8BB5 PRG:0BB5 D0 06 + lda #$60 ; CPU:$8BB7 PRG:0BB7 A9 60 + sta Zp29 ; CPU:$8BB9 PRG:0BB9 85 29 + inc Zp44 ; CPU:$8BBB PRG:0BBB E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop80 +; Global: Branch target inside IrqHandler: taken when Loop80. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop80: + rts ; CPU:$8BBD PRG:0BBD 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop81 +; Global: Branch target inside IrqHandler: taken when Loop81. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop81: + lda Zp29 ; CPU:$8BBE PRG:0BBE A5 29 + bne IrqHandler_Loop82 ; CPU:$8BC0 PRG:0BC0 D0 0B + lda #$01 ; CPU:$8BC2 PRG:0BC2 A9 01 + sta PlayerIndex ; CPU:$8BC4 PRG:0BC4 85 3B + lda #$00 ; CPU:$8BC6 PRG:0BC6 A9 00 + sta Zp44 ; CPU:$8BC8 PRG:0BC8 85 44 + jmp Sub_817D ; CPU:$8BCA PRG:0BCA 4C 7D 81 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop82 +; Global: Branch target inside IrqHandler: taken when Loop82. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop82: + rts ; CPU:$8BCD PRG:0BCD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8BCE +; Global: Branch target inside Label: taken when 8BCE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8BCE: + ldx Zp44 ; CPU:$8BCE PRG:0BCE A6 44 + beq IrqHandler_Loop83 ; CPU:$8BD0 PRG:0BD0 F0 0B + dex ; CPU:$8BD2 PRG:0BD2 CA + beq IrqHandler_Loop86 ; CPU:$8BD3 PRG:0BD3 F0 30 + dex ; CPU:$8BD5 PRG:0BD5 CA + beq IrqHandler_Loop88 ; CPU:$8BD6 PRG:0BD6 F0 34 + lda #$04 ; CPU:$8BD8 PRG:0BD8 A9 04 + sta PlayerIndex ; CPU:$8BDA PRG:0BDA 85 3B + rts ; CPU:$8BDC PRG:0BDC 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop83 +; Global: Branch target inside IrqHandler: taken when Loop83. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop83: + ldx #$07 ; CPU:$8BDD PRG:0BDD A2 07 + lda Zp61 ; CPU:$8BDF PRG:0BDF A5 61 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero21 +; Global: Branch target inside IrqHandler: taken when OnNonzero21. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero21: + asl a ; CPU:$8BE1 PRG:0BE1 0A + bcs IrqHandler_Loop84 ; CPU:$8BE2 PRG:0BE2 B0 03 + dex ; CPU:$8BE4 PRG:0BE4 CA + bne IrqHandler_OnNonzero21 ; CPU:$8BE5 PRG:0BE5 D0 FA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop84 +; Global: Branch target inside IrqHandler: taken when Loop84. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop84: + stx Zp62 ; CPU:$8BE7 PRG:0BE7 86 62 + lda $8BFD,x ; CPU:$8BE9 PRG:0BE9 BD FD 8B + jsr $B1DE ; CPU:$8BEC PRG:0BEC 20 DE B1 + lda Zp67 ; CPU:$8BEF PRG:0BEF A5 67 + bne IrqHandler_Loop85 ; CPU:$8BF1 PRG:0BF1 D0 03 + jsr Sub_8C6A ; CPU:$8BF3 PRG:0BF3 20 6A 8C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop85 +; Global: Branch target inside IrqHandler: taken when Loop85. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop85: + lda #$10 ; CPU:$8BF6 PRG:0BF6 A9 10 + sta Zp29 ; CPU:$8BF8 PRG:0BF8 85 29 + inc Zp44 ; CPU:$8BFA PRG:0BFA E6 44 + rts ; CPU:$8BFC PRG:0BFC 60 +; ---- data $8BFD-$8C04 (8 bytes) ---- +; referenced by `lda $8BFD,x` at $8BE9 (operand $8BFD falls inside this region) +BlockHeightTable: + .byte $05, $02, $01, $06, $03, $01, $02, $04 ; CPU:$8BFD PRG:-3403 05 02 01 06 03 01 02 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop86 +; Global: Branch target inside IrqHandler: taken when Loop86. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop86: + lda Zp29 ; CPU:$8C05 PRG:0C05 A5 29 + bne IrqHandler_Loop87 ; CPU:$8C07 PRG:0C07 D0 02 + inc Zp44 ; CPU:$8C09 PRG:0C09 E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop87 +; Global: Branch target inside IrqHandler: taken when Loop87. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop87: + rts ; CPU:$8C0B PRG:0C0B 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop88 +; Global: Branch target inside IrqHandler: taken when Loop88. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop88: + lda Zp62 ; CPU:$8C0C PRG:0C0C A5 62 + and #$07 ; CPU:$8C0E PRG:0C0E 29 07 + asl a ; CPU:$8C10 PRG:0C10 0A + sta BlockType ; CPU:$8C11 PRG:0C11 85 16 + asl a ; CPU:$8C13 PRG:0C13 0A + adc BlockType ; CPU:$8C14 PRG:0C14 65 16 + tay ; CPU:$8C16 PRG:0C16 A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero22 +; Global: Branch target inside IrqHandler: taken when OnNonzero22. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero22: + ldx $8C3A,y ; CPU:$8C17 PRG:0C17 BE 3A 8C + cpx #$FF ; CPU:$8C1A PRG:0C1A E0 FF + beq IrqHandler_Loop89 ; CPU:$8C1C PRG:0C1C F0 19 + lda $0400,x ; CPU:$8C1E PRG:0C1E BD 00 04 + and #$7F ; CPU:$8C21 PRG:0C21 29 7F + sta $0400,x ; CPU:$8C23 PRG:0C23 9D 00 04 + txa ; CPU:$8C26 PRG:0C26 8A + pha ; CPU:$8C27 PRG:0C27 48 + tya ; CPU:$8C28 PRG:0C28 98 + pha ; CPU:$8C29 PRG:0C29 48 + jsr Sub_A5B7 ; CPU:$8C2A PRG:0C2A 20 B7 A5 + jsr Sub_815F ; CPU:$8C2D PRG:0C2D 20 5F 81 + pla ; CPU:$8C30 PRG:0C30 68 + tay ; CPU:$8C31 PRG:0C31 A8 + pla ; CPU:$8C32 PRG:0C32 68 + tax ; CPU:$8C33 PRG:0C33 AA + iny ; CPU:$8C34 PRG:0C34 C8 + bne IrqHandler_OnNonzero22 ; CPU:$8C35 PRG:0C35 D0 E0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop89 +; Global: Branch target inside IrqHandler: taken when Loop89. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop89: + inc Zp44 ; CPU:$8C37 PRG:0C37 E6 44 + rts ; CPU:$8C39 PRG:0C39 60 +; ---- data $8C3A-$8C69 (48 bytes) ---- +; referenced by `ldx $8C3A,y` at $8C17 (operand $8C3A falls inside this region) +BlockPatternTable: + .byte $0A, $12, $1A, $22, $2A, $FF, $0B, $13, $1B, $23, $2B, $FF, $0D, $15, $1D, $25 ; CPU:$8C3A PRG:-33C6 0A 12 1A 22 2A FF 0B 13 1B 23 2B FF 0D 15 1D 25 + .byte $2D, $FF, $0E, $16, $1E, $26, $2E, $FF, $0A, $0B, $0C, $0D, $0E, $FF, $12, $13 ; CPU:$8C4A PRG:0C4A 2D FF 0E 16 1E 26 2E FF 0A 0B 0C 0D 0E FF 12 13 + .byte $14, $15, $16, $FF, $22, $23, $24, $25, $26, $FF, $2A, $2B, $2C, $2D, $2E, $FF ; CPU:$8C5A PRG:0C5A 14 15 16 FF 22 23 24 25 26 FF 2A 2B 2C 2D 2E FF +; ----------------------------------------------------------------------------- +; Routine: Sub_8C6A +; Global: Branch target inside Sub: taken when 8C6A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8C6A: + inc $0566 ; CPU:$8C6A PRG:0C6A EE 66 05 + bne IrqHandler_Loop90 ; CPU:$8C6D PRG:0C6D D0 05 + lda #$FF ; CPU:$8C6F PRG:0C6F A9 FF + sta $0566 ; CPU:$8C71 PRG:0C71 8D 66 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop90 +; Global: Branch target inside IrqHandler: taken when Loop90. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop90: + rts ; CPU:$8C74 PRG:0C74 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8C75 +; Global: Branch target inside Label: taken when 8C75. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8C75: + lda #$00 ; CPU:$8C75 PRG:0C75 A9 00 + sta Zp65 ; CPU:$8C77 PRG:0C77 85 65 + lda Zp64 ; CPU:$8C79 PRG:0C79 A5 64 + bne IrqHandler_Loop95 ; CPU:$8C7B PRG:0C7B D0 6B + jsr Sub_82BA ; CPU:$8C7D PRG:0C7D 20 BA 82 + jsr Sub_B032 ; CPU:$8C80 PRG:0C80 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8C83 PRG:0C83 20 47 B0 + lda Zp1A ; CPU:$8C86 PRG:0C86 A5 1A + pha ; CPU:$8C88 PRG:0C88 48 + lda Zp18 ; CPU:$8C89 PRG:0C89 A5 18 + pha ; CPU:$8C8B PRG:0C8B 48 + lda $0301 ; CPU:$8C8C PRG:0C8C AD 01 03 + bne IrqHandler_Loop91 ; CPU:$8C8F PRG:0C8F D0 14 + lda Zp59 ; CPU:$8C91 PRG:0C91 A5 59 + cmp #$65 ; CPU:$8C93 PRG:0C93 C9 65 + beq IrqHandler_Loop92 ; CPU:$8C95 PRG:0C95 F0 14 + cmp #$FF ; CPU:$8C97 PRG:0C97 C9 FF + beq IrqHandler_Loop91 ; CPU:$8C99 PRG:0C99 F0 0A + tay ; CPU:$8C9B PRG:0C9B A8 + lda $0580,y ; CPU:$8C9C PRG:0C9C B9 80 05 + beq IrqHandler_Loop92 ; CPU:$8C9F PRG:0C9F F0 0A + cmp #$07 ; CPU:$8CA1 PRG:0CA1 C9 07 + beq IrqHandler_Loop92 ; CPU:$8CA3 PRG:0CA3 F0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop91 +; Global: Branch target inside IrqHandler: taken when Loop91. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop91: + jsr Sub_B19C ; CPU:$8CA5 PRG:0CA5 20 9C B1 + jmp Sub_8CB9 ; CPU:$8CA8 PRG:0CA8 4C B9 8C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop92 +; Global: Branch target inside IrqHandler: taken when Loop92. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop92: + lda Zp18 ; CPU:$8CAB PRG:0CAB A5 18 + and #$30 ; CPU:$8CAD PRG:0CAD 29 30 + sta Zp18 ; CPU:$8CAF PRG:0CAF 85 18 + lda #$00 ; CPU:$8CB1 PRG:0CB1 A9 00 + sta Zp1A ; CPU:$8CB3 PRG:0CB3 85 1A + lda #$01 ; CPU:$8CB5 PRG:0CB5 A9 01 + sta Zp65 ; CPU:$8CB7 PRG:0CB7 85 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_8CB9 +; Global: Branch target inside Sub: taken when 8CB9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8CB9: + jsr Sub_906F ; CPU:$8CB9 PRG:0CB9 20 6F 90 + jsr Sub_A3D7 ; CPU:$8CBC PRG:0CBC 20 D7 A3 + jsr Sub_B06A ; CPU:$8CBF PRG:0CBF 20 6A B0 + jsr Sub_ACD8 ; CPU:$8CC2 PRG:0CC2 20 D8 AC + jsr Sub_AB62 ; CPU:$8CC5 PRG:0CC5 20 62 AB + pla ; CPU:$8CC8 PRG:0CC8 68 + sta Zp18 ; CPU:$8CC9 PRG:0CC9 85 18 + pla ; CPU:$8CCB PRG:0CCB 68 + sta Zp1A ; CPU:$8CCC PRG:0CCC 85 1A + lda Zp65 ; CPU:$8CCE PRG:0CCE A5 65 + beq IrqHandler_Loop93 ; CPU:$8CD0 PRG:0CD0 F0 08 + lda Zp1A ; CPU:$8CD2 PRG:0CD2 A5 1A + and #$10 ; CPU:$8CD4 PRG:0CD4 29 10 + bne IrqHandler_Loop97 ; CPU:$8CD6 PRG:0CD6 D0 27 + beq IrqHandler_Loop94 ; CPU:$8CD8 PRG:0CD8 F0 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop93 +; Global: Branch target inside IrqHandler: taken when Loop93. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop93: + lda Zp1A ; CPU:$8CDA PRG:0CDA A5 1A + and #$C0 ; CPU:$8CDC PRG:0CDC 29 C0 + beq IrqHandler_Loop94 ; CPU:$8CDE PRG:0CDE F0 07 + lda #$01 ; CPU:$8CE0 PRG:0CE0 A9 01 + sta Zp64 ; CPU:$8CE2 PRG:0CE2 85 64 + jsr Sub_B294 ; CPU:$8CE4 PRG:0CE4 20 94 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop94 +; Global: Branch target inside IrqHandler: taken when Loop94. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop94: + rts ; CPU:$8CE7 PRG:0CE7 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop95 +; Global: Branch target inside IrqHandler: taken when Loop95. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop95: + jsr Sub_B032 ; CPU:$8CE8 PRG:0CE8 20 32 B0 + jsr IrqHandler_OnNonzero51 ; CPU:$8CEB PRG:0CEB 20 47 B0 + jsr Sub_ABB4 ; CPU:$8CEE PRG:0CEE 20 B4 AB + lda Zp1A ; CPU:$8CF1 PRG:0CF1 A5 1A + and #$C0 ; CPU:$8CF3 PRG:0CF3 29 C0 + beq IrqHandler_Loop96 ; CPU:$8CF5 PRG:0CF5 F0 07 + lda #$00 ; CPU:$8CF7 PRG:0CF7 A9 00 + sta Zp64 ; CPU:$8CF9 PRG:0CF9 85 64 + jsr Sub_B294 ; CPU:$8CFB PRG:0CFB 20 94 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop96 +; Global: Branch target inside IrqHandler: taken when Loop96. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop96: + rts ; CPU:$8CFE PRG:0CFE 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop97 +; Global: Branch target inside IrqHandler: taken when Loop97. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop97: + lda GameState ; CPU:$8CFF PRG:0CFF A5 49 + and #$F0 ; CPU:$8D01 PRG:0D01 29 F0 + sta GameState ; CPU:$8D03 PRG:0D03 85 49 + lda #$05 ; CPU:$8D05 PRG:0D05 A9 05 + sta PlayerIndex ; CPU:$8D07 PRG:0D07 85 3B + lda #$00 ; CPU:$8D09 PRG:0D09 A9 00 + sta Zp44 ; CPU:$8D0B PRG:0D0B 85 44 + rts ; CPU:$8D0D PRG:0D0D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8D0E +; Global: Branch target inside Label: taken when 8D0E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8D0E: + lda #$01 ; CPU:$8D0E PRG:0D0E A9 01 + sta Zp3A ; CPU:$8D10 PRG:0D10 85 3A + jsr Sub_8876 ; CPU:$8D12 PRG:0D12 20 76 88 + sta Zp3C ; CPU:$8D15 PRG:0D15 85 3C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero23 +; Global: Branch target inside IrqHandler: taken when OnNonzero23. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero23: + rts ; CPU:$8D17 PRG:0D17 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8D18 +; Global: Branch target inside Label: taken when 8D18. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8D18: + jsr $A8F0 ; CPU:$8D18 PRG:0D18 20 F0 A8 + lda Zp44 ; CPU:$8D1B PRG:0D1B A5 44 + cmp #$03 ; CPU:$8D1D PRG:0D1D C9 03 + bne IrqHandler_OnNonzero23 ; CPU:$8D1F PRG:0D1F D0 F6 + lda BoardState ; CPU:$8D21 PRG:0D21 A5 40 + bne IrqHandler_Loop98 ; CPU:$8D23 PRG:0D23 D0 10 + ldy $034F ; CPU:$8D25 PRG:0D25 AC 4F 03 + beq IrqHandler_Loop104 ; CPU:$8D28 PRG:0D28 F0 60 + dey ; CPU:$8D2A PRG:0D2A 88 + beq IrqHandler_Loop102 ; CPU:$8D2B PRG:0D2B F0 28 + dey ; CPU:$8D2D PRG:0D2D 88 + beq IrqHandler_Loop99 ; CPU:$8D2E PRG:0D2E F0 0F + dey ; CPU:$8D30 PRG:0D30 88 + beq IrqHandler_Loop100 ; CPU:$8D31 PRG:0D31 F0 11 + bne IrqHandler_Loop101 ; CPU:$8D33 PRG:0D33 D0 1C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop98 +; Global: Branch target inside IrqHandler: taken when Loop98. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop98: + ldy $034F ; CPU:$8D35 PRG:0D35 AC 4F 03 + beq IrqHandler_Loop104 ; CPU:$8D38 PRG:0D38 F0 50 + dey ; CPU:$8D3A PRG:0D3A 88 + beq IrqHandler_Loop99 ; CPU:$8D3B PRG:0D3B F0 02 + bne IrqHandler_Loop100 ; CPU:$8D3D PRG:0D3D D0 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop99 +; Global: Branch target inside IrqHandler: taken when Loop99. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop99: + lda #$08 ; CPU:$8D3F PRG:0D3F A9 08 + sta PlayerIndex ; CPU:$8D41 PRG:0D41 85 3B + rts ; CPU:$8D43 PRG:0D43 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop100 +; Global: Branch target inside IrqHandler: taken when Loop100. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop100: + lda #$0B ; CPU:$8D44 PRG:0D44 A9 0B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero24 +; Global: Branch target inside IrqHandler: taken when OnNonzero24. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero24: + sta PlayerIndex ; CPU:$8D46 PRG:0D46 85 3B + lda #$00 ; CPU:$8D48 PRG:0D48 A9 00 + sta Zp44 ; CPU:$8D4A PRG:0D4A 85 44 + lda #$09 ; CPU:$8D4C PRG:0D4C A9 09 + sta PlayerColumn ; CPU:$8D4E PRG:0D4E 85 3D + rts ; CPU:$8D50 PRG:0D50 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop101 +; Global: Branch target inside IrqHandler: taken when Loop101. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop101: + lda #$0D ; CPU:$8D51 PRG:0D51 A9 0D + bne IrqHandler_OnNonzero24 ; CPU:$8D53 PRG:0D53 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop102 +; Global: Branch target inside IrqHandler: taken when Loop102. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop102: + lda GameState ; CPU:$8D55 PRG:0D55 A5 49 + and #$F0 ; CPU:$8D57 PRG:0D57 29 F0 + sta GameState ; CPU:$8D59 PRG:0D59 85 49 + lda #$01 ; CPU:$8D5B PRG:0D5B A9 01 + sta Zp03 ; CPU:$8D5D PRG:0D5D 85 03 + clc ; CPU:$8D5F PRG:0D5F 18 + lda Zp70 ; CPU:$8D60 PRG:0D60 A5 70 + jsr Sub_86B4 ; CPU:$8D62 PRG:0D62 20 B4 86 + sta Zp70 ; CPU:$8D65 PRG:0D65 85 70 + bcc IrqHandler_Loop103 ; CPU:$8D67 PRG:0D67 90 04 + lda #$99 ; CPU:$8D69 PRG:0D69 A9 99 + sta Zp70 ; CPU:$8D6B PRG:0D6B 85 70 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop103 +; Global: Branch target inside IrqHandler: taken when Loop103. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop103: + jsr Sub_866A ; CPU:$8D6D PRG:0D6D 20 6A 86 + ldx #$00 ; CPU:$8D70 PRG:0D70 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero25 +; Global: Branch target inside IrqHandler: taken when OnNonzero25. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero25: + lda $0500,x ; CPU:$8D72 PRG:0D72 BD 00 05 + sta $0520,x ; CPU:$8D75 PRG:0D75 9D 20 05 + inx ; CPU:$8D78 PRG:0D78 E8 + cpx #$1E ; CPU:$8D79 PRG:0D79 E0 1E + bne IrqHandler_OnNonzero25 ; CPU:$8D7B PRG:0D7B D0 F5 + jsr Sub_AD3D ; CPU:$8D7D PRG:0D7D 20 3D AD + lda #$00 ; CPU:$8D80 PRG:0D80 A9 00 + sta $0566 ; CPU:$8D82 PRG:0D82 8D 66 05 + lda #$02 ; CPU:$8D85 PRG:0D85 A9 02 + sta PlayerIndex ; CPU:$8D87 PRG:0D87 85 3B + rts ; CPU:$8D89 PRG:0D89 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop104 +; Global: Branch target inside IrqHandler: taken when Loop104. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop104: + bit GameState ; CPU:$8D8A PRG:0D8A 24 49 + bmi IrqHandler_Loop105 ; CPU:$8D8C PRG:0D8C 30 11 + bvs IrqHandler_Loop105 ; CPU:$8D8E PRG:0D8E 70 0F + lda PpuCtrlShadow ; CPU:$8D90 PRG:0D90 A5 08 + and #$FD ; CPU:$8D92 PRG:0D92 29 FD + sta PpuCtrlShadow ; CPU:$8D94 PRG:0D94 85 08 + sta PPUCTRL ; CPU:$8D96 PRG:0D96 8D 00 20 + jsr Sub_B28C ; CPU:$8D99 PRG:0D99 20 8C B2 + jmp Sub_8DB8 ; CPU:$8D9C PRG:0D9C 4C B8 8D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop105 +; Global: Branch target inside IrqHandler: taken when Loop105. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop105: + lda #$80 ; CPU:$8D9F PRG:0D9F A9 80 + sta Zp0B ; CPU:$8DA1 PRG:0DA1 85 0B + lda PpuCtrlShadow ; CPU:$8DA3 PRG:0DA3 A5 08 + ora #$02 ; CPU:$8DA5 PRG:0DA5 09 02 + sta PpuCtrlShadow ; CPU:$8DA7 PRG:0DA7 85 08 + sta PPUCTRL ; CPU:$8DA9 PRG:0DA9 8D 00 20 + jsr Sub_84CF ; CPU:$8DAC PRG:0DAC 20 CF 84 + jsr Sub_B032 ; CPU:$8DAF PRG:0DAF 20 32 B0 + lda GameState ; CPU:$8DB2 PRG:0DB2 A5 49 + cmp #$81 ; CPU:$8DB4 PRG:0DB4 C9 81 + beq IrqHandler_Loop106 ; CPU:$8DB6 PRG:0DB6 F0 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_8DB8 +; Global: Branch target inside Sub: taken when 8DB8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8DB8: + lda #$04 ; CPU:$8DB8 PRG:0DB8 A9 04 + sta PlayerIndex ; CPU:$8DBA PRG:0DBA 85 3B + jmp Sub_818A ; CPU:$8DBC PRG:0DBC 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop106 +; Global: Branch target inside IrqHandler: taken when Loop106. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop106: + lda #$07 ; CPU:$8DBF PRG:0DBF A9 07 + sta PlayerIndex ; CPU:$8DC1 PRG:0DC1 85 3B + jmp Sub_818A ; CPU:$8DC3 PRG:0DC3 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8DC6 +; Global: Branch target inside Label: taken when 8DC6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DC6: + lda #$04 ; CPU:$8DC6 PRG:0DC6 A9 04 + sta PlayerIndex ; CPU:$8DC8 PRG:0DC8 85 3B + rts ; CPU:$8DCA PRG:0DCA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8DCB +; Global: Branch target inside Label: taken when 8DCB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DCB: + lda Zp44 ; CPU:$8DCB PRG:0DCB A5 44 + cmp #$03 ; CPU:$8DCD PRG:0DCD C9 03 + beq IrqHandler_Loop107 ; CPU:$8DCF PRG:0DCF F0 03 + jmp Sub_A8E3 ; CPU:$8DD1 PRG:0DD1 4C E3 A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop107 +; Global: Branch target inside IrqHandler: taken when Loop107. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop107: + lda PlayerColumn ; CPU:$8DD4 PRG:0DD4 A5 3D + sta PlayerIndex ; CPU:$8DD6 PRG:0DD6 85 3B + lda #$00 ; CPU:$8DD8 PRG:0DD8 A9 00 + sta Zp44 ; CPU:$8DDA PRG:0DDA 85 44 + rts ; CPU:$8DDC PRG:0DDC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8DDD +; Global: Branch target inside Label: taken when 8DDD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8DDD: + ldx Zp44 ; CPU:$8DDD PRG:0DDD A6 44 + beq IrqHandler_Loop108 ; CPU:$8DDF PRG:0DDF F0 0B + dex ; CPU:$8DE1 PRG:0DE1 CA + beq IrqHandler_Loop110 ; CPU:$8DE2 PRG:0DE2 F0 28 + dex ; CPU:$8DE4 PRG:0DE4 CA + beq IrqHandler_Loop112 ; CPU:$8DE5 PRG:0DE5 F0 35 + dex ; CPU:$8DE7 PRG:0DE7 CA + beq IrqHandler_Loop115 ; CPU:$8DE8 PRG:0DE8 F0 56 + bne IrqHandler_Loop117 ; CPU:$8DEA PRG:0DEA D0 6F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop108 +; Global: Branch target inside IrqHandler: taken when Loop108. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop108: + lda #$02 ; CPU:$8DEC PRG:0DEC A9 02 + ora PpuCtrlShadow ; CPU:$8DEE PRG:0DEE 05 08 + sta PpuCtrlShadow ; CPU:$8DF0 PRG:0DF0 85 08 + lda #$EF ; CPU:$8DF2 PRG:0DF2 A9 EF + sta Zp0B ; CPU:$8DF4 PRG:0DF4 85 0B + jsr Sub_B294 ; CPU:$8DF6 PRG:0DF6 20 94 B2 + jsr Sub_8E70 ; CPU:$8DF9 PRG:0DF9 20 70 8E + jsr Sub_8E82 ; CPU:$8DFC PRG:0DFC 20 82 8E + lda BoardState ; CPU:$8DFF PRG:0DFF A5 40 +; ----------------------------------------------------------------------------- +; Routine: Label_8E01 +; Global: Branch target inside Label: taken when 8E01. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8E01: + beq IrqHandler_Loop109 ; CPU:$8E01 PRG:0E01 F0 04 + lda #$09 ; CPU:$8E03 PRG:0E03 A9 09 + sta Zp34 ; CPU:$8E05 PRG:0E05 85 34 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop109 +; Global: Branch target inside IrqHandler: taken when Loop109. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop109: + inc Zp44 ; CPU:$8E07 PRG:0E07 E6 44 + jmp IrqHandler_OnNonzero26 ; CPU:$8E09 PRG:0E09 4C 5A 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop110 +; Global: Branch target inside IrqHandler: taken when Loop110. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop110: + dec Zp0B ; CPU:$8E0C PRG:0E0C C6 0B + lda Zp0B ; CPU:$8E0E PRG:0E0E A5 0B + cmp #$80 ; CPU:$8E10 PRG:0E10 C9 80 + bne IrqHandler_Loop111 ; CPU:$8E12 PRG:0E12 D0 02 + inc Zp44 ; CPU:$8E14 PRG:0E14 E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop111 +; Global: Branch target inside IrqHandler: taken when Loop111. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop111: + jsr Sub_8E82 ; CPU:$8E16 PRG:0E16 20 82 8E + jmp IrqHandler_OnNonzero26 ; CPU:$8E19 PRG:0E19 4C 5A 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop112 +; Global: Branch target inside IrqHandler: taken when Loop112. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop112: + lda Zp1A ; CPU:$8E1C PRG:0E1C A5 1A + and #$C0 ; CPU:$8E1E PRG:0E1E 29 C0 + bne IrqHandler_Loop113 ; CPU:$8E20 PRG:0E20 D0 16 + jsr Sub_ABB4 ; CPU:$8E22 PRG:0E22 20 B4 AB + lda Zp1A ; CPU:$8E25 PRG:0E25 A5 1A + and #$10 ; CPU:$8E27 PRG:0E27 29 10 + beq IrqHandler_Loop114 ; CPU:$8E29 PRG:0E29 F0 12 + lda BoardState ; CPU:$8E2B PRG:0E2B A5 40 + bne IrqHandler_Loop114 ; CPU:$8E2D PRG:0E2D D0 0E + lda #$05 ; CPU:$8E2F PRG:0E2F A9 05 + sta PlayerIndex ; CPU:$8E31 PRG:0E31 85 3B + lda #$00 ; CPU:$8E33 PRG:0E33 A9 00 + sta Zp44 ; CPU:$8E35 PRG:0E35 85 44 + rts ; CPU:$8E37 PRG:0E37 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop113 +; Global: Branch target inside IrqHandler: taken when Loop113. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop113: + jsr Sub_B294 ; CPU:$8E38 PRG:0E38 20 94 B2 + inc Zp44 ; CPU:$8E3B PRG:0E3B E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop114 +; Global: Branch target inside IrqHandler: taken when Loop114. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop114: + jmp IrqHandler_OnNonzero26 ; CPU:$8E3D PRG:0E3D 4C 5A 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop115 +; Global: Branch target inside IrqHandler: taken when Loop115. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop115: + inc Zp0B ; CPU:$8E40 PRG:0E40 E6 0B + lda Zp0B ; CPU:$8E42 PRG:0E42 A5 0B + cmp #$F0 ; CPU:$8E44 PRG:0E44 C9 F0 + bne IrqHandler_Loop116 ; CPU:$8E46 PRG:0E46 D0 0F + lda #$00 ; CPU:$8E48 PRG:0E48 A9 00 + sta Zp0B ; CPU:$8E4A PRG:0E4A 85 0B + lda PpuCtrlShadow ; CPU:$8E4C PRG:0E4C A5 08 + and #$FD ; CPU:$8E4E PRG:0E4E 29 FD + sta PpuCtrlShadow ; CPU:$8E50 PRG:0E50 85 08 + lda #$04 ; CPU:$8E52 PRG:0E52 A9 04 + sta PlayerIndex ; CPU:$8E54 PRG:0E54 85 3B + rts ; CPU:$8E56 PRG:0E56 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop116 +; Global: Branch target inside IrqHandler: taken when Loop116. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop116: + jsr Sub_8E82 ; CPU:$8E57 PRG:0E57 20 82 8E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero26 +; Global: Branch target inside IrqHandler: taken when OnNonzero26. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero26: + rts ; CPU:$8E5A PRG:0E5A 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop117 +; Global: Branch target inside IrqHandler: taken when Loop117. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop117: + dec Zp54 ; CPU:$8E5B PRG:0E5B C6 54 + bne IrqHandler_OnNonzero26 ; CPU:$8E5D PRG:0E5D D0 FB + lda Zp82 ; CPU:$8E5F PRG:0E5F A5 82 + ora Zp83 ; CPU:$8E61 PRG:0E61 05 83 + bne IrqHandler_OnNonzero26 ; CPU:$8E63 PRG:0E63 D0 F5 + jsr Sub_82BA ; CPU:$8E65 PRG:0E65 20 BA 82 + jsr Sub_8E70 ; CPU:$8E68 PRG:0E68 20 70 8E + lda #$03 ; CPU:$8E6B PRG:0E6B A9 03 + sta Zp44 ; CPU:$8E6D PRG:0E6D 85 44 + rts ; CPU:$8E6F PRG:0E6F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E70 +; Global: Branch target inside Sub: taken when 8E70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E70: + ldx #$00 ; CPU:$8E70 PRG:0E70 A2 00 + ldy #$00 ; CPU:$8E72 PRG:0E72 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero27 +; Global: Branch target inside IrqHandler: taken when OnNonzero27. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero27: + lda $0200,x ; CPU:$8E74 PRG:0E74 BD 00 02 + sta $0100,y ; CPU:$8E77 PRG:0E77 99 00 01 + iny ; CPU:$8E7A PRG:0E7A C8 + inx ; CPU:$8E7B PRG:0E7B E8 + inx ; CPU:$8E7C PRG:0E7C E8 + inx ; CPU:$8E7D PRG:0E7D E8 + inx ; CPU:$8E7E PRG:0E7E E8 + bne IrqHandler_OnNonzero27 ; CPU:$8E7F PRG:0E7F D0 F3 + rts ; CPU:$8E81 PRG:0E81 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8E82 +; Global: Branch target inside Sub: taken when 8E82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8E82: + lda Zp0B ; CPU:$8E82 PRG:0E82 A5 0B + clc ; CPU:$8E84 PRG:0E84 18 + adc #$10 ; CPU:$8E85 PRG:0E85 69 10 + eor #$FF ; CPU:$8E87 PRG:0E87 49 FF + sta BlockType ; CPU:$8E89 PRG:0E89 85 16 + inc BlockType ; CPU:$8E8B PRG:0E8B E6 16 + ldx #$00 ; CPU:$8E8D PRG:0E8D A2 00 + ldy #$00 ; CPU:$8E8F PRG:0E8F A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero28 +; Global: Branch target inside IrqHandler: taken when OnNonzero28. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero28: + lda $0100,y ; CPU:$8E91 PRG:0E91 B9 00 01 + clc ; CPU:$8E94 PRG:0E94 18 + adc BlockType ; CPU:$8E95 PRG:0E95 65 16 + bcc IrqHandler_Loop118 ; CPU:$8E97 PRG:0E97 90 02 + lda #$F4 ; CPU:$8E99 PRG:0E99 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop118 +; Global: Branch target inside IrqHandler: taken when Loop118. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop118: + sta $0200,x ; CPU:$8E9B PRG:0E9B 9D 00 02 + iny ; CPU:$8E9E PRG:0E9E C8 + inx ; CPU:$8E9F PRG:0E9F E8 + inx ; CPU:$8EA0 PRG:0EA0 E8 + inx ; CPU:$8EA1 PRG:0EA1 E8 + inx ; CPU:$8EA2 PRG:0EA2 E8 + bne IrqHandler_OnNonzero28 ; CPU:$8EA3 PRG:0EA3 D0 EC + rts ; CPU:$8EA5 PRG:0EA5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8EA6 +; Global: Branch target inside Label: taken when 8EA6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8EA6: + lda Zp44 ; CPU:$8EA6 PRG:0EA6 A5 44 + cmp #$02 ; CPU:$8EA8 PRG:0EA8 C9 02 + beq IrqHandler_Loop119 ; CPU:$8EAA PRG:0EAA F0 03 + jmp $A8FB ; CPU:$8EAC PRG:0EAC 4C FB A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop119 +; Global: Branch target inside IrqHandler: taken when Loop119. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop119: + jsr Sub_817D ; CPU:$8EAF PRG:0EAF 20 7D 81 + jsr Sub_B27C ; CPU:$8EB2 PRG:0EB2 20 7C B2 + lda #$81 ; CPU:$8EB5 PRG:0EB5 A9 81 + sta GameState ; CPU:$8EB7 PRG:0EB7 85 49 + jsr Sub_8981 ; CPU:$8EB9 PRG:0EB9 20 81 89 + jsr Sub_A4EA ; CPU:$8EBC PRG:0EBC 20 EA A4 + lda #$10 ; CPU:$8EBF PRG:0EBF A9 10 + sta Zp34 ; CPU:$8EC1 PRG:0EC1 85 34 + jsr Sub_815F ; CPU:$8EC3 PRG:0EC3 20 5F 81 + jsr Sub_8FE4 ; CPU:$8EC6 PRG:0EC6 20 E4 8F + lda #$00 ; CPU:$8EC9 PRG:0EC9 A9 00 + sta $0380 ; CPU:$8ECB PRG:0ECB 8D 80 03 + lda #$FF ; CPU:$8ECE PRG:0ECE A9 FF + sta Zp59 ; CPU:$8ED0 PRG:0ED0 85 59 + lda #$01 ; CPU:$8ED2 PRG:0ED2 A9 01 + sta Zp66 ; CPU:$8ED4 PRG:0ED4 85 66 + lda #$00 ; CPU:$8ED6 PRG:0ED6 A9 00 + sta Zp0A ; CPU:$8ED8 PRG:0ED8 85 0A + sta $0566 ; CPU:$8EDA PRG:0EDA 8D 66 05 + sta Zp55 ; CPU:$8EDD PRG:0EDD 85 55 + sta Zp3F ; CPU:$8EDF PRG:0EDF 85 3F + lda #$0C ; CPU:$8EE1 PRG:0EE1 A9 0C + sta Zp3E ; CPU:$8EE3 PRG:0EE3 85 3E + lda #$80 ; CPU:$8EE5 PRG:0EE5 A9 80 + sta Zp0B ; CPU:$8EE7 PRG:0EE7 85 0B + lda PpuCtrlShadow ; CPU:$8EE9 PRG:0EE9 A5 08 + ora #$02 ; CPU:$8EEB PRG:0EEB 09 02 + sta PpuCtrlShadow ; CPU:$8EED PRG:0EED 85 08 + sta PPUCTRL ; CPU:$8EEF PRG:0EEF 8D 00 20 + jsr Sub_84CF ; CPU:$8EF2 PRG:0EF2 20 CF 84 + jsr Sub_B032 ; CPU:$8EF5 PRG:0EF5 20 32 B0 + jsr Sub_815F ; CPU:$8EF8 PRG:0EF8 20 5F 81 + lda #$07 ; CPU:$8EFB PRG:0EFB A9 07 + sta PlayerIndex ; CPU:$8EFD PRG:0EFD 85 3B + jmp Sub_818A ; CPU:$8EFF PRG:0EFF 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8F02 +; Global: Branch target inside Label: taken when 8F02. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F02: + rts ; CPU:$8F02 PRG:0F02 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8F03 +; Global: Branch target inside Label: taken when 8F03. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F03: + jsr Sub_817D ; CPU:$8F03 PRG:0F03 20 7D 81 + jsr Sub_8266 ; CPU:$8F06 PRG:0F06 20 66 82 + jsr Sub_82BA ; CPU:$8F09 PRG:0F09 20 BA 82 + jsr Sub_8173 ; CPU:$8F0C PRG:0F0C 20 73 81 + ldx #$BC ; CPU:$8F0F PRG:0F0F A2 BC + ldy #$B8 ; CPU:$8F11 PRG:0F11 A0 B8 + jsr Sub_8483 ; CPU:$8F13 PRG:0F13 20 83 84 + lda PpuCtrlShadow ; CPU:$8F16 PRG:0F16 A5 08 + ora #$02 ; CPU:$8F18 PRG:0F18 09 02 + sta PpuCtrlShadow ; CPU:$8F1A PRG:0F1A 85 08 + sta PPUCTRL ; CPU:$8F1C PRG:0F1C 8D 00 20 + lda #$00 ; CPU:$8F1F PRG:0F1F A9 00 + sta Zp0B ; CPU:$8F21 PRG:0F21 85 0B + sta Zp0A ; CPU:$8F23 PRG:0F23 85 0A + lda #$07 ; CPU:$8F25 PRG:0F25 A9 07 + sta Zp34 ; CPU:$8F27 PRG:0F27 85 34 + jsr Sub_9A97 ; CPU:$8F29 PRG:0F29 20 97 9A + lda Zp38 ; CPU:$8F2C PRG:0F2C A5 38 + sta $0358 ; CPU:$8F2E PRG:0F2E 8D 58 03 + asl a ; CPU:$8F31 PRG:0F31 0A + asl a ; CPU:$8F32 PRG:0F32 0A + asl a ; CPU:$8F33 PRG:0F33 0A + asl a ; CPU:$8F34 PRG:0F34 0A + asl a ; CPU:$8F35 PRG:0F35 0A + adc #$40 ; CPU:$8F36 PRG:0F36 69 40 + sta $0348 ; CPU:$8F38 PRG:0F38 8D 48 03 + lda #$30 ; CPU:$8F3B PRG:0F3B A9 30 + sta Zp2D ; CPU:$8F3D PRG:0F3D 85 2D + inc Zp3C ; CPU:$8F3F PRG:0F3F E6 3C + jsr Sub_B290 ; CPU:$8F41 PRG:0F41 20 90 B2 + jmp Sub_818A ; CPU:$8F44 PRG:0F44 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8F47 +; Global: Branch target inside Label: taken when 8F47. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F47: + jsr Sub_9AE7 ; CPU:$8F47 PRG:0F47 20 E7 9A + lda $034F ; CPU:$8F4A PRG:0F4A AD 4F 03 + sta Zp38 ; CPU:$8F4D PRG:0F4D 85 38 + lda Zp18 ; CPU:$8F4F PRG:0F4F A5 18 + beq IrqHandler_Loop120 ; CPU:$8F51 PRG:0F51 F0 04 + lda #$25 ; CPU:$8F53 PRG:0F53 A9 25 + sta Zp2D ; CPU:$8F55 PRG:0F55 85 2D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop120 +; Global: Branch target inside IrqHandler: taken when Loop120. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop120: + lda Zp2D ; CPU:$8F57 PRG:0F57 A5 2D + bne IrqHandler_Loop121 ; CPU:$8F59 PRG:0F59 D0 02 + inc Zp3C ; CPU:$8F5B PRG:0F5B E6 3C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop121 +; Global: Branch target inside IrqHandler: taken when Loop121. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop121: + rts ; CPU:$8F5D PRG:0F5D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8F5E +; Global: Branch target inside Label: taken when 8F5E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F5E: + jsr Sub_817D ; CPU:$8F5E PRG:0F5E 20 7D 81 + jsr Sub_8266 ; CPU:$8F61 PRG:0F61 20 66 82 + jsr Sub_82BA ; CPU:$8F64 PRG:0F64 20 BA 82 + jsr Sub_8173 ; CPU:$8F67 PRG:0F67 20 73 81 + ldx #$5C ; CPU:$8F6A PRG:0F6A A2 5C + ldy #$B7 ; CPU:$8F6C PRG:0F6C A0 B7 + jsr Sub_8483 ; CPU:$8F6E PRG:0F6E 20 83 84 + lda PpuCtrlShadow ; CPU:$8F71 PRG:0F71 A5 08 + and #$FC ; CPU:$8F73 PRG:0F73 29 FC + sta PpuCtrlShadow ; CPU:$8F75 PRG:0F75 85 08 + sta PPUCTRL ; CPU:$8F77 PRG:0F77 8D 00 20 + lda #$06 ; CPU:$8F7A PRG:0F7A A9 06 + sta Zp34 ; CPU:$8F7C PRG:0F7C 85 34 + jsr Sub_B288 ; CPU:$8F7E PRG:0F7E 20 88 B2 + inc Zp3C ; CPU:$8F81 PRG:0F81 E6 3C + jmp Sub_818A ; CPU:$8F83 PRG:0F83 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: Label_8F86 +; Global: Branch target inside Label: taken when 8F86. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F86: + lda Zp18 ; CPU:$8F86 PRG:0F86 A5 18 + beq IrqHandler_Loop122 ; CPU:$8F88 PRG:0F88 F0 04 + lda #$00 ; CPU:$8F8A PRG:0F8A A9 00 + sta Zp3C ; CPU:$8F8C PRG:0F8C 85 3C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop122 +; Global: Branch target inside IrqHandler: taken when Loop122. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop122: + rts ; CPU:$8F8E PRG:0F8E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_8F8F +; Global: Branch target inside Label: taken when 8F8F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8F8F: + lda Zp18 ; CPU:$8F8F PRG:0F8F A5 18 + rol a ; CPU:$8F91 PRG:0F91 2A + rol a ; CPU:$8F92 PRG:0F92 2A + adc Zp19 ; CPU:$8F93 PRG:0F93 65 19 + adc Zp2F ; CPU:$8F95 PRG:0F95 65 2F + sta $0618 ; CPU:$8F97 PRG:0F97 8D 18 06 + lda Zp3E ; CPU:$8F9A PRG:0F9A A5 3E + beq IrqHandler_Loop123 ; CPU:$8F9C PRG:0F9C F0 0C + dec Zp3E ; CPU:$8F9E PRG:0F9E C6 3E + lda $0310 ; CPU:$8FA0 PRG:0FA0 AD 10 03 + and #$7F ; CPU:$8FA3 PRG:0FA3 29 7F + sta Zp1A ; CPU:$8FA5 PRG:0FA5 85 1A + jmp Sub_8FBE ; CPU:$8FA7 PRG:0FA7 4C BE 8F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop123 +; Global: Branch target inside IrqHandler: taken when Loop123. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop123: + ldy Zp3F ; CPU:$8FAA PRG:0FAA A4 3F + lda $8FCF,y ; CPU:$8FAC PRG:0FAC B9 CF 8F + cmp #$AA ; CPU:$8FAF PRG:0FAF C9 AA + beq IrqHandler_Loop124 ; CPU:$8FB1 PRG:0FB1 F0 15 + sta Zp1A ; CPU:$8FB3 PRG:0FB3 85 1A + iny ; CPU:$8FB5 PRG:0FB5 C8 + lda $8FCF,y ; CPU:$8FB6 PRG:0FB6 B9 CF 8F + sta Zp3E ; CPU:$8FB9 PRG:0FB9 85 3E + iny ; CPU:$8FBB PRG:0FBB C8 + sty Zp3F ; CPU:$8FBC PRG:0FBC 84 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_8FBE +; Global: Branch target inside Sub: taken when 8FBE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8FBE: + jsr Sub_8A31 ; CPU:$8FBE PRG:0FBE 20 31 8A + lda Zp3C ; CPU:$8FC1 PRG:0FC1 A5 3C + cmp #$07 ; CPU:$8FC3 PRG:0FC3 C9 07 + beq IrqHandler_Loop125 ; CPU:$8FC5 PRG:0FC5 F0 03 + rts ; CPU:$8FC7 PRG:0FC7 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop124 +; Global: Branch target inside IrqHandler: taken when Loop124. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop124: + inc Zp3C ; CPU:$8FC8 PRG:0FC8 E6 3C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop125 +; Global: Branch target inside IrqHandler: taken when Loop125. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop125: + lda #$08 ; CPU:$8FCA PRG:0FCA A9 08 + sta Zp2D ; CPU:$8FCC PRG:0FCC 85 2D + rts ; CPU:$8FCE PRG:0FCE 60 +; ---- data $8FCF-$8FE3 (21 bytes) ---- +; referenced by `sax $8FDA` at $8263 (operand $8FDA falls inside this region) +; referenced by `lda $8FCF,y` at $8FAC (operand $8FCF falls inside this region) +; referenced by `lda $8FCF,y` at $8FB6 (operand $8FCF falls inside this region) +BlockShapeTable: + .byte $00, $D0, $C8, $60, $80, $20, $C8, $98, $C4, $82, $AA, $A5, $2D, $D0, $05, $20 ; CPU:$8FCF PRG:-3031 00 D0 C8 60 80 20 C8 98 C4 82 AA A5 2D D0 05 20 + .byte $76, $88, $85, $3C, $60 ; CPU:$8FDF PRG:0FDF 76 88 85 3C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_8FE4 +; Global: Branch target inside Sub: taken when 8FE4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8FE4: + ldy #$1F ; CPU:$8FE4 PRG:0FE4 A0 1F + lda GameState ; CPU:$8FE6 PRG:0FE6 A5 49 + cmp #$80 ; CPU:$8FE8 PRG:0FE8 C9 80 + beq IrqHandler_Loop126 ; CPU:$8FEA PRG:0FEA F0 0C + ldy #$2F ; CPU:$8FEC PRG:0FEC A0 2F + bit GameState ; CPU:$8FEE PRG:0FEE 24 49 + bmi IrqHandler_Loop126 ; CPU:$8FF0 PRG:0FF0 30 06 + ldy #$0F ; CPU:$8FF2 PRG:0FF2 A0 0F + bvs IrqHandler_Loop126 ; CPU:$8FF4 PRG:0FF4 70 02 + ldy #$3F ; CPU:$8FF6 PRG:0FF6 A0 3F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop126 +; Global: Branch target inside IrqHandler: taken when Loop126. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop126: + ldx #$0F ; CPU:$8FF8 PRG:0FF8 A2 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative2 +; Global: Branch target inside IrqHandler: taken when OnNonnegative2. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative2: + lda $9017,y ; CPU:$8FFA PRG:0FFA B9 17 90 + sta $0300,x ; CPU:$8FFD PRG:0FFD 9D 00 03 + dey ; CPU:$9000 PRG:1000 88 + dex ; CPU:$9001 PRG:1001 CA + bpl IrqHandler_OnNonnegative2 ; CPU:$9002 PRG:1002 10 F6 + lda BoardState ; CPU:$9004 PRG:1004 A5 40 + beq IrqHandler_Loop127 ; CPU:$9006 PRG:1006 F0 0E + ldy #$4F ; CPU:$9008 PRG:1008 A0 4F + ldx #$0F ; CPU:$900A PRG:100A A2 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative3 +; Global: Branch target inside IrqHandler: taken when OnNonnegative3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative3: + lda $9017,y ; CPU:$900C PRG:100C B9 17 90 + sta $0320,x ; CPU:$900F PRG:100F 9D 20 03 + dey ; CPU:$9012 PRG:1012 88 + dex ; CPU:$9013 PRG:1013 CA + bpl IrqHandler_OnNonnegative3 ; CPU:$9014 PRG:1014 10 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop127 +; Global: Branch target inside IrqHandler: taken when Loop127. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop127: + rts ; CPU:$9016 PRG:1016 60 +; ---- data $9017-$9066 (80 bytes) ---- +; referenced by `lda $9017,y` at $8FFA (operand $9017 falls inside this region) +; referenced by `lda $9017,y` at $900C (operand $9017 falls inside this region) +BlockLayoutTable: + .byte $01, $00, $05, $00, $00, $00, $00, $00, $B0, $80, $04, $00, $00, $01, $0C, $00 ; CPU:$9017 PRG:-2FE9 01 00 05 00 00 00 00 00 B0 80 04 00 00 01 0C 00 + .byte $01, $00, $05, $00, $00, $00, $00, $00, $98, $50, $04, $00, $00, $00, $01, $00 ; CPU:$9027 PRG:1027 01 00 05 00 00 00 00 00 98 50 04 00 00 00 01 00 + .byte $01, $00, $05, $00, $00, $00, $00, $00, $98, $50, $04, $00, $00, $00, $01, $00 ; CPU:$9037 PRG:1037 01 00 05 00 00 00 00 00 98 50 04 00 00 00 01 00 + .byte $01, $01, $05, $00, $00, $10, $08, $00, $80, $14, $04, $11, $2E, $01, $0C, $00 ; CPU:$9047 PRG:1047 01 01 05 00 00 10 08 00 80 14 04 11 2E 01 0C 00 + .byte $01, $01, $05, $00, $00, $08, $04, $03, $80, $EB, $30, $11, $2E, $02, $0C, $00 ; CPU:$9057 PRG:1057 01 01 05 00 00 08 04 03 80 EB 30 11 2E 02 0C 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_9067 +; Global: Branch target inside Sub: taken when 9067. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9067: + lda Zp19 ; CPU:$9067 PRG:1067 A5 19 + ldy Zp1B ; CPU:$9069 PRG:1069 A4 1B + ldx #$20 ; CPU:$906B PRG:106B A2 20 + bne IrqHandler_Loop128 ; CPU:$906D PRG:106D D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_906F +; Global: Branch target inside Sub: taken when 906F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_906F: + lda Zp18 ; CPU:$906F PRG:106F A5 18 + ldy Zp1A ; CPU:$9071 PRG:1071 A4 1A + ldx #$00 ; CPU:$9073 PRG:1073 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop128 +; Global: Branch target inside IrqHandler: taken when Loop128. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop128: + stx BlockIndex ; CPU:$9075 PRG:1075 86 4A + and #$8F ; CPU:$9077 PRG:1077 29 8F + sta $0310,x ; CPU:$9079 PRG:1079 9D 10 03 + sty BlockType ; CPU:$907C PRG:107C 84 16 + lda #$00 ; CPU:$907E PRG:107E A9 00 + sta $0311,x ; CPU:$9080 PRG:1080 9D 11 03 + lda $0301,x ; CPU:$9083 PRG:1083 BD 01 03 + jsr Sub_846D ; CPU:$9086 PRG:1086 20 6D 84 + .byte $93, $90 ; CPU:$9089 PRG:1089 93 90 -- sha (Zp90),y (undocumented; ca65 cannot encode) + pla ; CPU:$908B PRG:108B 68 + sta (ZpF9),y ; CPU:$908C PRG:108C 91 F9 + sta (Zp2D),y ; CPU:$908E PRG:108E 91 2D +; ---- data $9090-$9317 (648 bytes) ---- +; referenced by `isc $920F,x` at $D582 (operand $920F falls inside this region) +BlockPlacementCode: + .byte $92, $9B, $92, $20, $BA, $93, $A6, $4A, $BD, $17, $03, $D0, $45, $20, $FE, $90 ; CPU:$9090 PRG:-2F70 92 9B 92 20 BA 93 A6 4A BD 17 03 D0 45 20 FE 90 + .byte $BD, $10, $03, $9D, $12, $03, $29, $CF, $F0, $4C, $A0, $01, $E6, $59, $4A, $B0 ; CPU:$90A0 PRG:10A0 BD 10 03 9D 12 03 29 CF F0 4C A0 01 E6 59 4A B0 + .byte $14, $C8, $C6, $59, $C6, $59, $4A, $B0, $0C, $C8, $E6, $59, $4A, $B0, $06, $C8 ; CPU:$90B0 PRG:10B0 14 C8 C6 59 C6 59 4A B0 0C C8 E6 59 4A B0 06 C8 + .byte $4A, $B0, $02, $A0, $00, $20, $A1, $B2, $B9, $44, $93, $9D, $05, $03, $A9, $01 ; CPU:$90C0 PRG:10C0 4A B0 02 A0 00 20 A1 B2 B9 44 93 9D 05 03 A9 01 + .byte $9D, $01, $03, $98, $9D, $0D, $03, $A9, $00, $9D, $03, $03, $9D, $0C, $03, $4C ; CPU:$90D0 PRG:10D0 9D 01 03 98 9D 0D 03 A9 00 9D 03 03 9D 0C 03 4C + .byte $D1, $92, $20, $9D, $B2, $A9, $02, $9D, $02, $03, $A9, $33, $9D, $05, $03, $BC ; CPU:$90E0 PRG:10E0 D1 92 20 9D B2 A9 02 9D 02 03 A9 33 9D 05 03 BC + .byte $15, $03, $A9, $03, $D0, $DA, $A9, $00, $9D, $05, $03, $4C, $D1, $92, $24, $49 ; CPU:$90F0 PRG:10F0 15 03 A9 03 D0 DA A9 00 9D 05 03 4C D1 92 24 49 + .byte $70, $06, $30, $29, $A9, $0F, $D0, $06, $BC, $0E, $03, $B9, $F5, $90, $3D, $10 ; CPU:$9100 PRG:1100 70 06 30 29 A9 0F D0 06 BC 0E 03 B9 F5 90 3D 10 + .byte $03, $9D, $10, $03, $60, $00, $00, $00, $05, $07, $06, $00, $00, $00, $00, $00 ; CPU:$9110 PRG:1110 03 9D 10 03 60 00 00 00 05 07 06 00 00 00 00 00 + .byte $0D, $0F, $0E, $00, $00, $00, $00, $00, $09, $0B, $0A, $00, $00, $A5, $66, $D0 ; CPU:$9120 PRG:1120 0D 0F 0E 00 00 00 00 00 09 0B 0A 00 00 A5 66 D0 + .byte $2F, $A9, $C7, $BC, $0F, $03, $C0, $03, $F0, $08, $A9, $CB, $C0, $05, $F0, $02 ; CPU:$9130 PRG:1130 2F A9 C7 BC 0F 03 C0 03 F0 08 A9 CB C0 05 F0 02 + .byte $A9, $CF, $3D, $10, $03, $A4, $49, $C0, $80, $D0, $11, $A4, $59, $F0, $09, $C0 ; CPU:$9140 PRG:1140 A9 CF 3D 10 03 A4 49 C0 80 D0 11 A4 59 F0 09 C0 + .byte $63, $D0, $07, $29, $8E, $4C, $5A, $91, $29, $8D, $29, $0F, $9D, $10, $03, $60 ; CPU:$9150 PRG:1150 63 D0 07 29 8E 4C 5A 91 29 8D 29 0F 9D 10 03 60 + .byte $BD, $10, $03, $29, $01, $4C, $5C, $91, $20, $04, $94, $20, $BA, $93, $A6, $4A ; CPU:$9160 PRG:1160 BD 10 03 29 01 4C 5C 91 20 04 94 20 BA 93 A6 4A + .byte $BD, $17, $03, $F0, $25, $BD, $15, $03, $9D, $0D, $03, $A9, $00, $9D, $0C, $03 ; CPU:$9170 PRG:1170 BD 17 03 F0 25 BD 15 03 9D 0D 03 A9 00 9D 0C 03 + .byte $A9, $01, $9D, $03, $03, $A9, $02, $9D, $02, $03, $A9, $33, $9D, $05, $03, $20 ; CPU:$9180 PRG:1180 A9 01 9D 03 03 A9 02 9D 02 03 A9 33 9D 05 03 20 + .byte $9D, $B2, $A9, $03, $9D, $01, $03, $4C, $D1, $92, $BD, $18, $03, $F0, $12, $A5 ; CPU:$9190 PRG:1190 9D B2 A9 03 9D 01 03 4C D1 92 BD 18 03 F0 12 A5 + .byte $2F, $29, $07, $C9, $00, $F0, $0A, $C9, $02, $F0, $06, $C9, $05, $F0, $02, $D0 ; CPU:$91A0 PRG:11A0 2F 29 07 C9 00 F0 0A C9 02 F0 06 C9 05 F0 02 D0 + .byte $05, $20, $5E, $93, $B0, $03, $4C, $D1, $92, $A6, $4A, $BD, $0B, $03, $F0, $0F ; CPU:$91B0 PRG:11B0 05 20 5E 93 B0 03 4C D1 92 A6 4A BD 0B 03 F0 0F + .byte $30, $0D, $38, $E9, $03, $10, $02, $A9, $00, $9D, $0B, $03, $4C, $D1, $92, $A9 ; CPU:$91C0 PRG:11C0 30 0D 38 E9 03 10 02 A9 00 9D 0B 03 4C D1 92 A9 + .byte $02, $9D, $01, $03, $20, $1D, $93, $BD, $0D, $03, $A8, $B9, $51, $93, $9D, $05 ; CPU:$91D0 PRG:11D0 02 9D 01 03 20 1D 93 BD 0D 03 A8 B9 51 93 9D 05 + .byte $03, $A9, $00, $9D, $03, $03, $A9, $05, $9D, $02, $03, $20, $8F, $A1, $A6, $4A ; CPU:$91E0 PRG:11E0 03 A9 00 9D 03 03 A9 05 9D 02 03 20 8F A1 A6 4A + .byte $BD, $11, $03, $9D, $92, $03, $4C, $D1, $92, $A6, $4A, $BD, $8B, $03, $9D, $0B ; CPU:$91F0 PRG:11F0 BD 11 03 9D 92 03 4C D1 92 A6 4A BD 8B 03 9D 0B + .byte $03, $BD, $17, $03, $F0, $03, $4C, $E2, $90, $A5, $49, $C9, $80, $F0, $0B, $BD ; CPU:$9200 PRG:1200 03 BD 17 03 F0 03 4C E2 90 A5 49 C9 80 F0 0B BD + .byte $80, $03, $D0, $03, $9D, $01, $03, $4C, $D1, $92, $BD, $80, $03, $F0, $F5, $AC ; CPU:$9210 PRG:1210 80 03 D0 03 9D 01 03 4C D1 92 BD 80 03 F0 F5 AC + .byte $8C, $03, $B9, $A0, $A4, $C9, $AC, $D0, $EE, $A9, $00, $F0, $E7, $20, $BA, $93 ; CPU:$9220 PRG:1220 8C 03 B9 A0 A4 C9 AC D0 EE A9 00 F0 E7 20 BA 93 + .byte $20, $5E, $93, $B0, $03, $4C, $5A, $92, $A6, $4A, $BC, $0D, $03, $BD, $08, $03 ; CPU:$9230 PRG:1230 20 5E 93 B0 03 4C 5A 92 A6 4A BC 0D 03 BD 08 03 + .byte $18, $79, $7E, $92, $9D, $08, $03, $BD, $09, $03, $18, $79, $82, $92, $9D, $09 ; CPU:$9240 PRG:1240 18 79 7E 92 9D 08 03 BD 09 03 18 79 82 92 9D 09 + .byte $03, $A5, $2F, $29, $01, $D0, $03, $DE, $0B, $03, $A6, $4A, $BD, $0D, $03, $C9 ; CPU:$9250 PRG:1250 03 A5 2F 29 01 D0 03 DE 0B 03 A6 4A BD 0D 03 C9 + .byte $05, $F0, $12, $C9, $06, $F0, $0E, $BD, $08, $03, $C9, $0C, $90, $1D, $C9, $F8 ; CPU:$9260 PRG:1260 05 F0 12 C9 06 F0 0E BD 08 03 C9 0C 90 1D C9 F8 + .byte $B0, $19, $4C, $D1, $92, $BD, $09, $03, $C9, $08, $90, $0F, $C9, $F8, $B0, $0B ; CPU:$9270 PRG:1270 B0 19 4C D1 92 BD 09 03 C9 08 90 0F C9 F8 B0 0B + .byte $4C, $D1, $92, $00, $00, $03, $FD, $03, $FD, $00, $00, $A9, $00, $9D, $00, $03 ; CPU:$9280 PRG:1280 4C D1 92 00 00 03 FD 03 FD 00 00 A9 00 9D 00 03 + .byte $A9, $04, $9D, $01, $03, $A9, $40, $9D, $14, $03, $60, $A6, $4A, $BD, $14, $03 ; CPU:$9290 PRG:1290 A9 04 9D 01 03 A9 40 9D 14 03 60 A6 4A BD 14 03 + .byte $F0, $04, $DE, $14, $03, $60, $A0, $30, $E0, $00, $F0, $02, $A0, $40, $B9, $17 ; CPU:$92A0 PRG:12A0 F0 04 DE 14 03 60 A0 30 E0 00 F0 02 A0 40 B9 17 + .byte $90, $9D, $00, $03, $E8, $C8, $8A, $29, $0F, $D0, $F3, $A5, $40, $F0, $11, $A6 ; CPU:$92B0 PRG:12B0 90 9D 00 03 E8 C8 8A 29 0F D0 F3 A5 40 F0 11 A6 + .byte $4A, $BD, $19, $03, $D0, $05, $A9, $40, $9D, $18, $03, $A9, $00, $9D, $19, $03 ; CPU:$92C0 PRG:12C0 4A BD 19 03 D0 05 A9 40 9D 18 03 A9 00 9D 19 03 + .byte $60, $20, $FE, $99, $20, $0A, $83, $A6, $4A, $BD, $18, $03, $F0, $35, $A4, $2F ; CPU:$92D0 PRG:12D0 60 20 FE 99 20 0A 83 A6 4A BD 18 03 F0 35 A4 2F + .byte $E0, $00, $F0, $01, $C8, $84, $16, $98, $29, $0F, $D0, $0B, $DE, $18, $03, $D0 ; CPU:$92E0 PRG:12E0 E0 00 F0 01 C8 84 16 98 29 0F D0 0B DE 18 03 D0 + .byte $06, $A9, $00, $85, $16, $F0, $0E, $A5, $16, $29, $07, $D0, $16, $A5, $16, $29 ; CPU:$92F0 PRG:12F0 06 A9 00 85 16 F0 0E A5 16 29 07 D0 16 A5 16 29 + .byte $08, $4A, $4A, $85, $16, $8A, $4A, $4A, $4A, $4A, $4A, $65, $16, $AA, $BD, $14 ; CPU:$9300 PRG:1300 08 4A 4A 85 16 8A 4A 4A 4A 4A 4A 65 16 AA BD 14 + .byte $93, $85, $34, $60, $0B, $0C, $0D, $0E ; CPU:$9310 PRG:1310 93 85 34 60 0B 0C 0D 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_9318 +; Global: Branch target inside Sub: taken when 9318. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9318: + ldx BlockIndex ; CPU:$9318 PRG:1318 A6 4A + jmp Sub_932C ; CPU:$931A PRG:131A 4C 2C 93 +; ----------------------------------------------------------------------------- +; Routine: Sub_931D +; Global: Branch target inside Sub: taken when 931D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_931D: + lda GameState ; CPU:$931D PRG:131D A5 49 + bne IrqHandler_Loop129 ; CPU:$931F PRG:131F D0 22 + ldx BlockIndex ; CPU:$9321 PRG:1321 A6 4A + lda $030E,x ; CPU:$9323 PRG:1323 BD 0E 03 + bmi IrqHandler_Loop129 ; CPU:$9326 PRG:1326 30 1B + cmp #$38 ; CPU:$9328 PRG:1328 C9 38 + bcs IrqHandler_Loop129 ; CPU:$932A PRG:132A B0 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_932C +; Global: Branch target inside Sub: taken when 932C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_932C: + pha ; CPU:$932C PRG:132C 48 + asl a ; CPU:$932D PRG:132D 0A + asl a ; CPU:$932E PRG:132E 0A + asl a ; CPU:$932F PRG:132F 0A + asl a ; CPU:$9330 PRG:1330 0A + asl a ; CPU:$9331 PRG:1331 0A + sta $0309,x ; CPU:$9332 PRG:1332 9D 09 03 + pla ; CPU:$9335 PRG:1335 68 + and #$38 ; CPU:$9336 PRG:1336 29 38 + sta BlockType ; CPU:$9338 PRG:1338 85 16 + asl a ; CPU:$933A PRG:133A 0A + adc BlockType ; CPU:$933B PRG:133B 65 16 + clc ; CPU:$933D PRG:133D 18 + adc #$38 ; CPU:$933E PRG:133E 69 38 + sta $0308,x ; CPU:$9340 PRG:1340 9D 08 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop129 +; Global: Branch target inside IrqHandler: taken when Loop129. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop129: + rts ; CPU:$9343 PRG:1343 60 +; ---- data $9344-$935D (26 bytes) ---- +; referenced by `lda $9344,y` at $9B22 (operand $9344 falls inside this region) +; referenced by `lda $9351,x` at $9B39 (operand $9351 falls inside this region) +; referenced by `lda $9344,y` at $9BFC (operand $9344 falls inside this region) +; referenced by `lda $9351,x` at $9C25 (operand $9351 falls inside this region) +BlockAttributeTable: + .byte $13, $0B, $03, $13, $1B, $00, $00, $00, $00, $0B, $03, $13, $1B, $2B, $27, $23 ; CPU:$9344 PRG:-2CBC 13 0B 03 13 1B 00 00 00 00 0B 03 13 1B 2B 27 23 + .byte $2B, $2F, $00, $00, $00, $00, $27, $23, $2B, $2F ; CPU:$9354 PRG:1354 2B 2F 00 00 00 00 27 23 2B 2F +; ----------------------------------------------------------------------------- +; Routine: Sub_935E +; Global: Branch target inside Sub: taken when 935E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_935E: + ldx BlockIndex ; CPU:$935E PRG:135E A6 4A + lda $030D,x ; CPU:$9360 PRG:1360 BD 0D 03 + asl a ; CPU:$9363 PRG:1363 0A + tay ; CPU:$9364 PRG:1364 A8 + lda $943F,y ; CPU:$9365 PRG:1365 B9 3F 94 + sta BlockPtrLo ; CPU:$9368 PRG:1368 85 14 + lda $9440,y ; CPU:$936A PRG:136A B9 40 94 + sta BlockPtrHi ; CPU:$936D PRG:136D 85 15 + ldy $030C,x ; CPU:$936F PRG:136F BC 0C 03 + lda (BlockPtrLo),y ; CPU:$9372 PRG:1372 B1 14 + cmp #$AA ; CPU:$9374 PRG:1374 C9 AA + beq IrqHandler_Loop130 ; CPU:$9376 PRG:1376 F0 34 + lda (BlockPtrLo),y ; CPU:$9378 PRG:1378 B1 14 + iny ; CPU:$937A PRG:137A C8 + clc ; CPU:$937B PRG:137B 18 + adc $030B,x ; CPU:$937C PRG:137C 7D 0B 03 + sta $030B,x ; CPU:$937F PRG:137F 9D 0B 03 + lda (BlockPtrLo),y ; CPU:$9382 PRG:1382 B1 14 + iny ; CPU:$9384 PRG:1384 C8 + pha ; CPU:$9385 PRG:1385 48 + and #$F0 ; CPU:$9386 PRG:1386 29 F0 + lsr a ; CPU:$9388 PRG:1388 4A + lsr a ; CPU:$9389 PRG:1389 4A + lsr a ; CPU:$938A PRG:138A 4A + lsr a ; CPU:$938B PRG:138B 4A + jsr Sub_93AD ; CPU:$938C PRG:138C 20 AD 93 + lda $0308,x ; CPU:$938F PRG:138F BD 08 03 + clc ; CPU:$9392 PRG:1392 18 + adc BlockType ; CPU:$9393 PRG:1393 65 16 + sta $0308,x ; CPU:$9395 PRG:1395 9D 08 03 + pla ; CPU:$9398 PRG:1398 68 + and #$0F ; CPU:$9399 PRG:1399 29 0F + jsr Sub_93AD ; CPU:$939B PRG:139B 20 AD 93 + lda $0309,x ; CPU:$939E PRG:139E BD 09 03 + clc ; CPU:$93A1 PRG:13A1 18 + adc BlockType ; CPU:$93A2 PRG:13A2 65 16 + sta $0309,x ; CPU:$93A4 PRG:13A4 9D 09 03 + tya ; CPU:$93A7 PRG:13A7 98 + sta $030C,x ; CPU:$93A8 PRG:13A8 9D 0C 03 + clc ; CPU:$93AB PRG:13AB 18 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop130 +; Global: Branch target inside IrqHandler: taken when Loop130. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop130: + rts ; CPU:$93AC PRG:13AC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_93AD +; Global: Branch target inside Sub: taken when 93AD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_93AD: + sta BlockType ; CPU:$93AD PRG:13AD 85 16 + and #$08 ; CPU:$93AF PRG:13AF 29 08 + beq IrqHandler_Loop131 ; CPU:$93B1 PRG:13B1 F0 06 + lda BlockType ; CPU:$93B3 PRG:13B3 A5 16 + ora #$F0 ; CPU:$93B5 PRG:13B5 09 F0 + sta BlockType ; CPU:$93B7 PRG:13B7 85 16 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop131 +; Global: Branch target inside IrqHandler: taken when Loop131. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop131: + rts ; CPU:$93B9 PRG:13B9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_93BA +; Global: Branch target inside Sub: taken when 93BA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_93BA: + ldx BlockIndex ; CPU:$93BA PRG:13BA A6 4A + ldy #$FF ; CPU:$93BC PRG:13BC A0 FF + lda $0308,x ; CPU:$93BE PRG:13BE BD 08 03 + cmp #$2C ; CPU:$93C1 PRG:13C1 C9 2C + bcc IrqHandler_Loop132 ; CPU:$93C3 PRG:13C3 90 24 + iny ; CPU:$93C5 PRG:13C5 C8 + cmp #$44 ; CPU:$93C6 PRG:13C6 C9 44 + bcc IrqHandler_Loop132 ; CPU:$93C8 PRG:13C8 90 1F + iny ; CPU:$93CA PRG:13CA C8 + cmp #$5C ; CPU:$93CB PRG:13CB C9 5C + bcc IrqHandler_Loop132 ; CPU:$93CD PRG:13CD 90 1A + iny ; CPU:$93CF PRG:13CF C8 + cmp #$74 ; CPU:$93D0 PRG:13D0 C9 74 + bcc IrqHandler_Loop132 ; CPU:$93D2 PRG:13D2 90 15 + iny ; CPU:$93D4 PRG:13D4 C8 + cmp #$8C ; CPU:$93D5 PRG:13D5 C9 8C + bcc IrqHandler_Loop132 ; CPU:$93D7 PRG:13D7 90 10 + iny ; CPU:$93D9 PRG:13D9 C8 + cmp #$A4 ; CPU:$93DA PRG:13DA C9 A4 + bcc IrqHandler_Loop132 ; CPU:$93DC PRG:13DC 90 0B + iny ; CPU:$93DE PRG:13DE C8 + cmp #$BC ; CPU:$93DF PRG:13DF C9 BC + bcc IrqHandler_Loop132 ; CPU:$93E1 PRG:13E1 90 06 + iny ; CPU:$93E3 PRG:13E3 C8 + cmp #$D4 ; CPU:$93E4 PRG:13E4 C9 D4 + bcc IrqHandler_Loop132 ; CPU:$93E6 PRG:13E6 90 01 + iny ; CPU:$93E8 PRG:13E8 C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop132 +; Global: Branch target inside IrqHandler: taken when Loop132. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop132: + tya ; CPU:$93E9 PRG:13E9 98 + sta $030F,x ; CPU:$93EA PRG:13EA 9D 0F 03 + asl a ; CPU:$93ED PRG:13ED 0A + asl a ; CPU:$93EE PRG:13EE 0A + asl a ; CPU:$93EF PRG:13EF 0A + sta BlockType ; CPU:$93F0 PRG:13F0 85 16 + lda $0309,x ; CPU:$93F2 PRG:13F2 BD 09 03 + clc ; CPU:$93F5 PRG:13F5 18 + adc #$10 ; CPU:$93F6 PRG:13F6 69 10 + lsr a ; CPU:$93F8 PRG:13F8 4A + lsr a ; CPU:$93F9 PRG:13F9 4A + lsr a ; CPU:$93FA PRG:13FA 4A + lsr a ; CPU:$93FB PRG:13FB 4A + lsr a ; CPU:$93FC PRG:13FC 4A + clc ; CPU:$93FD PRG:13FD 18 + adc BlockType ; CPU:$93FE PRG:13FE 65 16 + sta $030E,x ; CPU:$9400 PRG:1400 9D 0E 03 + rts ; CPU:$9403 PRG:1403 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9404 +; Global: Branch target inside Label: taken when 9404. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9404: + lda GameState ; CPU:$9404 PRG:1404 A5 49 + bne IrqHandler_Loop136 ; CPU:$9406 PRG:1406 D0 36 + ldx BlockIndex ; CPU:$9408 PRG:1408 A6 4A + lda $0309,x ; CPU:$940A PRG:140A BD 09 03 + cmp #$10 ; CPU:$940D PRG:140D C9 10 + bcc IrqHandler_Loop133 ; CPU:$940F PRG:140F 90 0D + cmp #$F0 ; CPU:$9411 PRG:1411 C9 F0 + bcc IrqHandler_Loop134 ; CPU:$9413 PRG:1413 90 0F + sec ; CPU:$9415 PRG:1415 38 + sbc #$E0 ; CPU:$9416 PRG:1416 E9 E0 + sta $0309,x ; CPU:$9418 PRG:1418 9D 09 03 + jmp IrqHandler_Loop134 ; CPU:$941B PRG:141B 4C 24 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop133 +; Global: Branch target inside IrqHandler: taken when Loop133. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop133: + clc ; CPU:$941E PRG:141E 18 + adc #$E0 ; CPU:$941F PRG:141F 69 E0 + sta $0309,x ; CPU:$9421 PRG:1421 9D 09 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop134 +; Global: Branch target inside IrqHandler: taken when Loop134. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop134: + lda $0308,x ; CPU:$9424 PRG:1424 BD 08 03 + cmp #$30 ; CPU:$9427 PRG:1427 C9 30 + bcc IrqHandler_Loop135 ; CPU:$9429 PRG:1429 90 0D + cmp #$D8 ; CPU:$942B PRG:142B C9 D8 + bcc IrqHandler_Loop136 ; CPU:$942D PRG:142D 90 0F + sec ; CPU:$942F PRG:142F 38 + sbc #$A8 ; CPU:$9430 PRG:1430 E9 A8 + sta $0308,x ; CPU:$9432 PRG:1432 9D 08 03 + jmp IrqHandler_Loop136 ; CPU:$9435 PRG:1435 4C 3E 94 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop135 +; Global: Branch target inside IrqHandler: taken when Loop135. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop135: + clc ; CPU:$9438 PRG:1438 18 + adc #$A8 ; CPU:$9439 PRG:1439 69 A8 + sta $0308,x ; CPU:$943B PRG:143B 9D 08 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop136 +; Global: Branch target inside IrqHandler: taken when Loop136. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop136: + rts ; CPU:$943E PRG:143E 60 +; ---- data $943F-$99FD (1471 bytes) ---- +; referenced by `lda $943F,y` at $9365 (operand $943F falls inside this region) +; referenced by `lda $9440,y` at $936A (operand $9440 falls inside this region) +BlockPointerTable: + .byte $75, $94, $B4, $94, $FF, $94, $4A, $95, $95, $95, $E0, $95, $26, $96, $6C, $96 ; CPU:$943F PRG:-2BC1 75 94 B4 94 FF 94 4A 95 95 95 E0 95 26 96 6C 96 + .byte $AE, $96, $F0, $96, $3B, $97, $86, $97, $D1, $97, $1C, $98, $6F, $98, $C2, $98 ; CPU:$944F PRG:144F AE 96 F0 96 3B 97 86 97 D1 97 1C 98 6F 98 C2 98 + .byte $15, $99, $F0, $96, $3B, $97, $86, $97, $D1, $97, $1C, $98, $6F, $98, $C2, $98 ; CPU:$945F PRG:145F 15 99 F0 96 3B 97 86 97 D1 97 1C 98 6F 98 C2 98 + .byte $15, $99, $68, $99, $B3, $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$946F PRG:146F 15 99 68 99 B3 99 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $03, $00, $03, $00, $02, $00, $02, $00, $01, $00 ; CPU:$947F PRG:147F 00 00 00 00 00 00 03 00 03 00 02 00 02 00 01 00 + .byte $02, $00, $01, $00, $01, $00, $00, $00, $01, $00, $00, $00, $FF, $00, $00, $00 ; CPU:$948F PRG:148F 02 00 01 00 01 00 00 00 01 00 00 00 FF 00 00 00 + .byte $FF, $00, $FF, $00, $FE, $00, $FF, $00, $FE, $00, $FE, $00, $FD, $00, $FD, $00 ; CPU:$949F PRG:149F FF 00 FF 00 FE 00 FF 00 FE 00 FE 00 FD 00 FD 00 + .byte $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$94AF PRG:14AF 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $01, $03, $01, $03, $01, $02, $01, $02, $01, $01, $01, $02 ; CPU:$94BF PRG:14BF 00 00 00 00 01 03 01 03 01 02 01 02 01 01 01 02 + .byte $01, $01, $01, $01, $02, $00, $01, $01, $02, $00, $01, $01, $02, $00, $01, $00 ; CPU:$94CF PRG:14CF 01 01 01 01 02 00 01 01 02 00 01 01 02 00 01 00 + .byte $02, $00, $01, $FF, $01, $00, $01, $FF, $01, $00, $01, $FF, $01, $FF, $01, $FE ; CPU:$94DF PRG:14DF 02 00 01 FF 01 00 01 FF 01 00 01 FF 01 FF 01 FE + .byte $01, $FF, $01, $FE, $01, $FE, $01, $FD, $01, $FD, $01, $00, $00, $00, $00, $AA ; CPU:$94EF PRG:14EF 01 FF 01 FE 01 FE 01 FD 01 FD 01 00 00 00 00 AA + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0F ; CPU:$94FF PRG:14FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F + .byte $03, $0F, $03, $0F, $02, $0F, $02, $0F, $01, $0F, $02, $0F, $01, $0F, $01, $0E ; CPU:$950F PRG:150F 03 0F 03 0F 02 0F 02 0F 01 0F 02 0F 01 0F 01 0E + .byte $00, $0F, $01, $0E, $00, $0F, $01, $0E, $00, $0F, $00, $0E, $00, $0F, $FF, $0F ; CPU:$951F PRG:151F 00 0F 01 0E 00 0F 01 0E 00 0F 00 0E 00 0F FF 0F + .byte $00, $0F, $FF, $0F, $00, $0F, $FF, $0F, $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F ; CPU:$952F PRG:152F 00 0F FF 0F 00 0F FF 0F FF 0F FE 0F FF 0F FE 0F + .byte $FE, $0F, $FD, $0F, $FD, $0F, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00 ; CPU:$953F PRG:153F FE 0F FD 0F FD 0F 00 00 00 00 AA 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $03, $10, $03, $10, $02 ; CPU:$954F PRG:154F 00 00 00 00 00 00 00 00 00 00 10 03 10 03 10 02 + .byte $10, $02, $10, $01, $10, $02, $10, $01, $10, $01, $10, $00, $10, $01, $10, $00 ; CPU:$955F PRG:155F 10 02 10 01 10 02 10 01 10 01 10 00 10 01 10 00 + .byte $10, $01, $10, $00, $10, $00, $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $00 ; CPU:$956F PRG:156F 10 01 10 00 10 00 10 00 10 FF 10 00 10 FF 10 00 + .byte $10, $FF, $10, $FF, $10, $FE, $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD ; CPU:$957F PRG:157F 10 FF 10 FF 10 FE 10 FF 10 FE 00 FE 00 FD 00 FD + .byte $00, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$958F PRG:158F 00 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $F0, $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0 ; CPU:$959F PRG:159F 00 00 00 00 00 F0 03 F0 03 F0 02 F0 02 F0 01 F0 + .byte $02, $F0, $01, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0 ; CPU:$95AF PRG:15AF 02 F0 01 F0 01 F0 00 F0 01 F0 00 F0 01 F0 00 F0 + .byte $00, $F0, $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $FF, $F0 ; CPU:$95BF PRG:15BF 00 F0 00 F0 FF F0 00 F0 FF F0 00 F0 FF F0 FF F0 + .byte $FE, $F0, $FF, $F0, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00 ; CPU:$95CF PRG:15CF FE F0 FF F0 FE 00 FE 00 FD 00 FD 00 00 00 00 00 + .byte $AA, $02, $04, $02, $03, $01, $04, $02, $03, $01, $03, $02, $03, $01, $03, $01 ; CPU:$95DF PRG:15DF AA 02 04 02 03 01 04 02 03 01 03 02 03 01 03 01 + .byte $03, $00, $03, $01, $03, $00, $03, $01, $03, $00, $03, $00, $03, $00, $03, $00 ; CPU:$95EF PRG:15EF 03 00 03 01 03 00 03 01 03 00 03 00 03 00 03 00 + .byte $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $AA, $FF, $03 ; CPU:$95FF PRG:15FF 03 00 03 00 03 00 03 00 03 00 03 00 03 AA FF 03 + .byte $00, $03, $FF, $03, $00, $03, $FF, $03, $FF, $03, $FE, $03, $FF, $01, $FE, $01 ; CPU:$960F PRG:160F 00 03 FF 03 00 03 FF 03 FF 03 FE 03 FF 01 FE 01 + .byte $FF, $01, $FE, $01, $FE, $01, $AA, $02, $0D, $02, $0D, $01, $0D, $02, $0D, $01 ; CPU:$961F PRG:161F FF 01 FE 01 FE 01 AA 02 0D 02 0D 01 0D 02 0D 01 + .byte $0D, $02, $0D, $01, $0D, $01, $0D, $00, $0D, $01, $0D, $00, $0D, $01, $0D, $00 ; CPU:$962F PRG:162F 0D 02 0D 01 0D 01 0D 00 0D 01 0D 00 0D 01 0D 00 + .byte $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00, $0D, $00 ; CPU:$963F PRG:163F 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 0D 00 + .byte $0D, $00, $0D, $AA, $FF, $0E, $00, $0E, $FF, $0E, $00, $0E, $FF, $0E, $FF, $0E ; CPU:$964F PRG:164F 0D 00 0D AA FF 0E 00 0E FF 0E 00 0E FF 0E FF 0E + .byte $FE, $0E, $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F, $FE, $0F, $AA, $02, $30, $02 ; CPU:$965F PRG:165F FE 0E FF 0F FE 0F FF 0F FE 0F FE 0F AA 02 30 02 + .byte $30, $01, $30, $02, $30, $01, $20, $02, $20, $01, $30, $01, $20, $00, $20, $01 ; CPU:$966F PRG:166F 30 01 30 02 30 01 20 02 20 01 30 01 20 00 20 01 + .byte $20, $00, $20, $01, $20, $00, $20, $00, $20, $00, $20, $00, $20, $00, $20, $00 ; CPU:$967F PRG:167F 20 00 20 01 20 00 20 00 20 00 20 00 20 00 20 00 + .byte $20, $00, $20, $00, $20, $AA, $FF, $10, $00, $20, $FF, $10, $00, $20, $FF, $10 ; CPU:$968F PRG:168F 20 00 20 00 20 AA FF 10 00 20 FF 10 00 20 FF 10 + .byte $FF, $20, $FE, $10, $FF, $10, $FE, $10, $FF, $10, $FE, $10, $FE, $10, $AA, $02 ; CPU:$969F PRG:169F FF 20 FE 10 FF 10 FE 10 FF 10 FE 10 FE 10 AA 02 + .byte $D0, $02, $D0, $01, $D0, $02, $D0, $01, $E0, $02, $E0, $01, $E0, $01, $E0, $00 ; CPU:$96AF PRG:16AF D0 02 D0 01 D0 02 D0 01 E0 02 E0 01 E0 01 E0 00 + .byte $E0, $01, $E0, $00, $E0, $01, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00 ; CPU:$96BF PRG:16BF E0 01 E0 00 E0 01 E0 00 E0 00 E0 00 E0 00 E0 00 + .byte $E0, $00, $E0, $00, $E0, $00, $E0, $AA, $FF, $F0, $00, $E0, $FF, $F0, $00, $E0 ; CPU:$96CF PRG:16CF E0 00 E0 00 E0 00 E0 AA FF F0 00 E0 FF F0 00 E0 + .byte $FF, $F0, $FF, $E0, $FE, $F0, $FF, $F0, $FE, $F0, $FF, $F0, $FE, $F0, $FE, $F0 ; CPU:$96DF PRG:16DF FF F0 FF E0 FE F0 FF F0 FE F0 FF F0 FE F0 FE F0 + .byte $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$96EF PRG:16EF AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $01, $03, $01, $03, $01, $02, $01, $02, $01, $01, $01, $02, $01, $01, $01, $01 ; CPU:$96FF PRG:16FF 01 03 01 03 01 02 01 02 01 01 01 02 01 01 01 01 + .byte $02, $00, $01, $01, $02, $00, $01, $01, $02, $00, $01, $00, $02, $00, $01, $FF ; CPU:$970F PRG:170F 02 00 01 01 02 00 01 01 02 00 01 00 02 00 01 FF + .byte $01, $00, $01, $FF, $01, $00, $01, $FF, $01, $FF, $01, $FE, $01, $FF, $01, $FE ; CPU:$971F PRG:171F 01 00 01 FF 01 00 01 FF 01 FF 01 FE 01 FF 01 FE + .byte $01, $FE, $01, $FD, $01, $FD, $01, $00, $00, $00, $00, $AA, $00, $00, $00, $00 ; CPU:$972F PRG:172F 01 FE 01 FD 01 FD 01 00 00 00 00 AA 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0F, $03, $0F, $03, $0F ; CPU:$973F PRG:173F 00 00 00 00 00 00 00 00 00 00 00 0F 03 0F 03 0F + .byte $02, $0F, $02, $0F, $01, $0F, $02, $0F, $01, $0F, $01, $0E, $00, $0F, $01, $0E ; CPU:$974F PRG:174F 02 0F 02 0F 01 0F 02 0F 01 0F 01 0E 00 0F 01 0E + .byte $00, $0F, $01, $0E, $00, $0F, $00, $0E, $00, $0F, $FF, $0F, $00, $0F, $FF, $0F ; CPU:$975F PRG:175F 00 0F 01 0E 00 0F 00 0E 00 0F FF 0F 00 0F FF 0F + .byte $00, $0F, $FF, $0F, $FF, $0F, $FE, $0F, $FF, $0F, $FE, $0F, $FE, $0F, $FD, $0F ; CPU:$976F PRG:176F 00 0F FF 0F FF 0F FE 0F FF 0F FE 0F FE 0F FD 0F + .byte $FD, $0F, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$977F PRG:177F FD 0F 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $10, $03, $10, $03, $10, $02, $10, $02, $10, $01 ; CPU:$978F PRG:178F 00 00 00 00 00 00 10 03 10 03 10 02 10 02 10 01 + .byte $10, $02, $10, $01, $10, $01, $10, $00, $10, $01, $10, $00, $10, $01, $10, $00 ; CPU:$979F PRG:179F 10 02 10 01 10 01 10 00 10 01 10 00 10 01 10 00 + .byte $10, $00, $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $00, $10, $FF, $10, $FF ; CPU:$97AF PRG:17AF 10 00 10 00 10 FF 10 00 10 FF 10 00 10 FF 10 FF + .byte $10, $FE, $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00 ; CPU:$97BF PRG:17BF 10 FE 10 FF 10 FE 00 FE 00 FD 00 FD 00 00 00 00 + .byte $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$97CF PRG:17CF 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $F0, $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0, $02, $F0, $01, $F0 ; CPU:$97DF PRG:17DF 00 F0 03 F0 03 F0 02 F0 02 F0 01 F0 02 F0 01 F0 + .byte $01, $F0, $00, $F0, $01, $F0, $00, $F0, $01, $F0, $00, $F0, $00, $F0, $00, $F0 ; CPU:$97EF PRG:17EF 01 F0 00 F0 01 F0 00 F0 01 F0 00 F0 00 F0 00 F0 + .byte $FF, $F0, $00, $F0, $FF, $F0, $00, $F0, $FF, $F0, $FF, $F0, $FE, $F0, $FF, $F0 ; CPU:$97FF PRG:17FF FF F0 00 F0 FF F0 00 F0 FF F0 FF F0 FE F0 FF F0 + .byte $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA, $00, $00, $00 ; CPU:$980F PRG:180F FE 00 FE 00 FD 00 FD 00 00 00 00 00 AA 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $1F, $03, $0F, $03 ; CPU:$981F PRG:181F 00 00 00 00 00 00 00 00 00 00 00 00 1F 03 0F 03 + .byte $1F, $02, $1F, $02, $1F, $01, $0F, $02, $1F, $01, $1F, $01, $1F, $00, $0F, $01 ; CPU:$982F PRG:182F 1F 02 1F 02 1F 01 0F 02 1F 01 1F 01 1F 00 0F 01 + .byte $1F, $00, $1F, $00, $1F, $01, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00 ; CPU:$983F PRG:183F 1F 00 1F 00 1F 01 0F 00 1F 00 1F 00 1F 00 1F 00 + .byte $0F, $FF, $1F, $00, $1F, $00, $1F, $FF, $0F, $00, $1F, $FF, $1F, $FF, $1F, $FE ; CPU:$984F PRG:184F 0F FF 1F 00 1F 00 1F FF 0F 00 1F FF 1F FF 1F FE + .byte $0F, $FF, $1F, $FE, $1F, $FE, $1F, $FD, $0F, $FD, $1F, $00, $00, $00, $00, $AA ; CPU:$985F PRG:185F 0F FF 1F FE 1F FE 1F FD 0F FD 1F 00 00 00 00 AA + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $11 ; CPU:$986F PRG:186F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 + .byte $03, $01, $03, $11, $02, $11, $02, $11, $01, $01, $02, $11, $01, $11, $01, $11 ; CPU:$987F PRG:187F 03 01 03 11 02 11 02 11 01 01 02 11 01 11 01 11 + .byte $00, $01, $01, $11, $00, $11, $00, $11, $01, $01, $00, $11, $00, $11, $00, $11 ; CPU:$988F PRG:188F 00 01 01 11 00 11 00 11 01 01 00 11 00 11 00 11 + .byte $00, $11, $00, $01, $FF, $11, $00, $11, $00, $11, $FF, $01, $00, $11, $FF, $11 ; CPU:$989F PRG:189F 00 11 00 01 FF 11 00 11 00 11 FF 01 00 11 FF 11 + .byte $FF, $11, $FE, $01, $FF, $11, $FE, $11, $FE, $11, $FD, $01, $FD, $11, $00, $00 ; CPU:$98AF PRG:18AF FF 11 FE 01 FF 11 FE 11 FE 11 FD 01 FD 11 00 00 + .byte $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$98BF PRG:18BF 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $F1, $03, $01, $03, $F1, $02, $F1, $02, $F1, $01, $01, $02, $F1, $01 ; CPU:$98CF PRG:18CF 00 00 F1 03 01 03 F1 02 F1 02 F1 01 01 02 F1 01 + .byte $F1, $01, $F1, $00, $01, $01, $F1, $00, $F1, $00, $F1, $01, $01, $00, $F1, $00 ; CPU:$98DF PRG:18DF F1 01 F1 00 01 01 F1 00 F1 00 F1 01 01 00 F1 00 + .byte $F1, $00, $F1, $00, $F1, $00, $01, $FF, $F1, $00, $F1, $00, $F1, $FF, $01, $00 ; CPU:$98EF PRG:18EF F1 00 F1 00 F1 00 01 FF F1 00 F1 00 F1 FF 01 00 + .byte $F1, $FF, $F1, $FF, $F1, $FE, $01, $FF, $F1, $FE, $F1, $FE, $F1, $FD, $01, $FD ; CPU:$98FF PRG:18FF F1 FF F1 FF F1 FE 01 FF F1 FE F1 FE F1 FD 01 FD + .byte $F1, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$990F PRG:190F F1 00 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $FF, $03, $0F, $03, $FF, $02, $FF, $02, $FF, $01, $0F ; CPU:$991F PRG:191F 00 00 00 00 00 FF 03 0F 03 FF 02 FF 02 FF 01 0F + .byte $02, $FF, $01, $FF, $01, $FF, $00, $0F, $01, $FF, $00, $FF, $00, $FF, $01, $0F ; CPU:$992F PRG:192F 02 FF 01 FF 01 FF 00 0F 01 FF 00 FF 00 FF 01 0F + .byte $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $FF, $FF, $00, $FF, $00, $FF ; CPU:$993F PRG:193F 00 FF 00 FF 00 FF 00 FF 00 0F FF FF 00 FF 00 FF + .byte $FF, $0F, $00, $FF, $FF, $FF, $FF, $FF, $FE, $0F, $FF, $FF, $FE, $FF, $FE, $FF ; CPU:$994F PRG:194F FF 0F 00 FF FF FF FF FF FE 0F FF FF FE FF FE FF + .byte $FD, $0F, $FD, $FF, $00, $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00 ; CPU:$995F PRG:195F FD 0F FD FF 00 00 00 00 AA 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $10, $03, $10, $03, $10, $02, $10, $02 ; CPU:$996F PRG:196F 00 00 00 00 00 00 00 00 10 03 10 03 10 02 10 02 + .byte $10, $01, $10, $02, $10, $01, $10, $01, $10, $00, $20, $01, $10, $00, $20, $01 ; CPU:$997F PRG:197F 10 01 10 02 10 01 10 01 10 00 20 01 10 00 20 01 + .byte $10, $00, $20, $00, $20, $00, $20, $FF, $20, $00, $10, $FF, $20, $00, $10, $FF ; CPU:$998F PRG:198F 10 00 20 00 20 00 20 FF 20 00 10 FF 20 00 10 FF + .byte $20, $FF, $10, $FE, $10, $FF, $10, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00 ; CPU:$999F PRG:199F 20 FF 10 FE 10 FF 10 FE 00 FE 00 FD 00 FD 00 00 + .byte $00, $00, $00, $AA, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$99AF PRG:19AF 00 00 00 AA 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $F0, $03, $F0, $03, $F0, $02, $F0, $02, $F0, $01, $F0, $02, $F0 ; CPU:$99BF PRG:19BF 00 00 00 F0 03 F0 03 F0 02 F0 02 F0 01 F0 02 F0 + .byte $01, $F0, $01, $F0, $00, $E0, $01, $F0, $00, $E0, $01, $F0, $00, $E0, $00, $E0 ; CPU:$99CF PRG:19CF 01 F0 01 F0 00 E0 01 F0 00 E0 01 F0 00 E0 00 E0 + .byte $00, $E0, $FF, $E0, $00, $F0, $FF, $E0, $00, $F0, $FF, $E0, $FF, $F0, $FE, $F0 ; CPU:$99DF PRG:19DF 00 E0 FF E0 00 F0 FF E0 00 F0 FF E0 FF F0 FE F0 + .byte $FF, $F0, $FE, $00, $FE, $00, $FD, $00, $FD, $00, $00, $00, $00, $00, $AA ; CPU:$99EF PRG:19EF FF F0 FE 00 FE 00 FD 00 FD 00 00 00 00 00 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_99FE +; Global: Branch target inside Sub: taken when 99FE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_99FE: + ldx BlockIndex ; CPU:$99FE PRG:19FE A6 4A + lda $0303,x ; CPU:$9A00 PRG:1A00 BD 03 03 + beq IrqHandler_Loop137 ; CPU:$9A03 PRG:1A03 F0 06 + dec $0303,x ; CPU:$9A05 PRG:1A05 DE 03 03 + beq IrqHandler_Loop137 ; CPU:$9A08 PRG:1A08 F0 01 + rts ; CPU:$9A0A PRG:1A0A 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop137 +; Global: Branch target inside IrqHandler: taken when Loop137. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop137: + lda $0302,x ; CPU:$9A0B PRG:1A0B BD 02 03 + sta $0303,x ; CPU:$9A0E PRG:1A0E 9D 03 03 + jmp Sub_9A1B ; CPU:$9A11 PRG:1A11 4C 1B 9A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero4 +; Global: Branch target inside IrqHandler: taken when OnZero4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero4: + iny ; CPU:$9A14 PRG:1A14 C8 + lda $9A2C,y ; CPU:$9A15 PRG:1A15 B9 2C 9A + sta $0305,x ; CPU:$9A18 PRG:1A18 9D 05 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9A1B +; Global: Branch target inside Sub: taken when 9A1B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9A1B: + ldy $0305,x ; CPU:$9A1B PRG:1A1B BC 05 03 + lda $9A2C,y ; CPU:$9A1E PRG:1A1E B9 2C 9A + cmp #$FF ; CPU:$9A21 PRG:1A21 C9 FF + beq IrqHandler_OnZero4 ; CPU:$9A23 PRG:1A23 F0 EF + sta $0306,x ; CPU:$9A25 PRG:1A25 9D 06 03 + inc $0305,x ; CPU:$9A28 PRG:1A28 FE 05 03 + rts ; CPU:$9A2B PRG:1A2B 60 +; ---- data $9A2C-$9A96 (107 bytes) ---- +; referenced by `lda $9A2C,y` at $9A15 (operand $9A2C falls inside this region) +; referenced by `lda $9A2C,y` at $9A1E (operand $9A2C falls inside this region) +BlockColorTable: + .byte $00, $FF, $00, $01, $02, $03, $03, $03, $04, $FF, $08, $05, $06, $07, $07, $07 ; CPU:$9A2C PRG:-25D4 00 FF 00 01 02 03 03 03 04 FF 08 05 06 07 07 07 + .byte $08, $FF, $10, $09, $0A, $0B, $0B, $0B, $0C, $FF, $18, $0D, $0E, $0F, $0F, $0F ; CPU:$9A3C PRG:1A3C 08 FF 10 09 0A 0B 0B 0B 0C FF 18 0D 0E 0F 0F 0F + .byte $10, $FF, $20, $02, $01, $FF, $24, $06, $05, $FF, $28, $0A, $09, $FF, $2C, $0E ; CPU:$9A4C PRG:1A4C 10 FF 20 02 01 FF 24 06 05 FF 28 0A 09 FF 2C 0E + .byte $0D, $FF, $30, $3B, $3C, $3D, $3A, $FF, $33, $3F, $40, $41, $3E, $FF, $39, $28 ; CPU:$9A5C PRG:1A5C 0D FF 30 3B 3C 3D 3A FF 33 3F 40 41 3E FF 39 28 + .byte $29, $28, $2A, $2B, $2C, $2D, $FF, $42, $28, $29, $28, $FF, $4A, $2E, $2F, $30 ; CPU:$9A6C PRG:1A6C 29 28 2A 2B 2C 2D FF 42 28 29 28 FF 4A 2E 2F 30 + .byte $2F, $FF, $4D, $31, $32, $33, $32, $FF, $53, $34, $35, $36, $35, $FF, $59, $37 ; CPU:$9A7C PRG:1A7C 2F FF 4D 31 32 33 32 FF 53 34 35 36 35 FF 59 37 + .byte $38, $39, $38, $FF, $5F, $25, $26, $24, $27, $FF, $65 ; CPU:$9A8C PRG:1A8C 38 39 38 FF 5F 25 26 24 27 FF 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_9A97 +; Global: Branch target inside Sub: taken when 9A97. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9A97: + ldx #$1F ; CPU:$9A97 PRG:1A97 A2 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative4 +; Global: Branch target inside IrqHandler: taken when OnNonnegative4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative4: + lda $9AA8,x ; CPU:$9A99 PRG:1A99 BD A8 9A + sta $0340,x ; CPU:$9A9C PRG:1A9C 9D 40 03 + dex ; CPU:$9A9F PRG:1A9F CA + bpl IrqHandler_OnNonnegative4 ; CPU:$9AA0 PRG:1AA0 10 F7 + lda #$00 ; CPU:$9AA2 PRG:1AA2 A9 00 + sta $03C0 ; CPU:$9AA4 PRG:1AA4 8D C0 03 + rts ; CPU:$9AA7 PRG:1AA7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9AA8 +; Global: Branch target inside Label: taken when 9AA8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AA8: + ora (VramWritePtrLo,x) ; CPU:$9AA8 PRG:1AA8 01 00 + ora VramWritePtrLo ; CPU:$9AAA PRG:1AAA 05 00 + brk ; CPU:$9AAC PRG:1AAC 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9AAD +; Global: Branch target inside Label: taken when 9AAD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AAD: + brk ; CPU:$9AAD PRG:1AAD 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9AAE +; Global: Branch target inside Label: taken when 9AAE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AAE: + brk ; CPU:$9AAE PRG:1AAE 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9AAF +; Global: Branch target inside Label: taken when 9AAF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AAF: + brk ; CPU:$9AAF PRG:1AAF 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9AB0 +; Global: Branch target inside Label: taken when 9AB0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AB0: + rti ; CPU:$9AB0 PRG:1AB0 40 +; ----------------------------------------------------------------------------- +; Routine: Label_9AB1 +; Global: Branch target inside Label: taken when 9AB1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9AB1: + bvc IrqHandler_Loop138 ; CPU:$9AB1 PRG:1AB1 50 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop138 +; Global: Branch target inside IrqHandler: taken when Loop138. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop138: + brk ; CPU:$9AB3 PRG:1AB3 00 +; ---- data $9AB4-$9AC7 (20 bytes) ---- +BlockCountTable: + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $04, $00, $00, $00, $00 ; CPU:$9AB4 PRG:-254C 00 00 00 00 00 00 00 00 00 00 04 04 00 00 00 00 + .byte $00, $00, $00, $00 ; CPU:$9AC4 PRG:1AC4 00 00 00 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_9AC8 +; Global: Branch target inside Sub: taken when 9AC8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9AC8: + jsr Sub_9A97 ; CPU:$9AC8 PRG:1AC8 20 97 9A + lda #$38 ; CPU:$9ACB PRG:1ACB A9 38 + sta $0348 ; CPU:$9ACD PRG:1ACD 8D 48 03 + lda #$20 ; CPU:$9AD0 PRG:1AD0 A9 20 + sta $035A ; CPU:$9AD2 PRG:1AD2 8D 5A 03 + rts ; CPU:$9AD5 PRG:1AD5 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnOverflowSet2 +; Global: Branch target inside IrqHandler: taken when OnOverflowSet2. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnOverflowSet2: + lda $03CB ; CPU:$9AD6 PRG:1AD6 AD CB 03 + sta $034B ; CPU:$9AD9 PRG:1AD9 8D 4B 03 + lda $03C0 ; CPU:$9ADC PRG:1ADC AD C0 03 + bne IrqHandler_Loop139 ; CPU:$9ADF PRG:1ADF D0 03 + sta $0341 ; CPU:$9AE1 PRG:1AE1 8D 41 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop139 +; Global: Branch target inside IrqHandler: taken when Loop139. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop139: + jmp Sub_9B5C ; CPU:$9AE4 PRG:1AE4 4C 5C 9B +; ----------------------------------------------------------------------------- +; Routine: Sub_9AE7 +; Global: Branch target inside Sub: taken when 9AE7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9AE7: + ldx #$40 ; CPU:$9AE7 PRG:1AE7 A2 40 + stx BlockIndex ; CPU:$9AE9 PRG:1AE9 86 4A + lda $0348 ; CPU:$9AEB PRG:1AEB AD 48 03 + sec ; CPU:$9AEE PRG:1AEE 38 + sbc #$30 ; CPU:$9AEF PRG:1AEF E9 30 + lsr a ; CPU:$9AF1 PRG:1AF1 4A + lsr a ; CPU:$9AF2 PRG:1AF2 4A + lsr a ; CPU:$9AF3 PRG:1AF3 4A + lsr a ; CPU:$9AF4 PRG:1AF4 4A + lsr a ; CPU:$9AF5 PRG:1AF5 4A + sta $034F ; CPU:$9AF6 PRG:1AF6 8D 4F 03 + bit $0341 ; CPU:$9AF9 PRG:1AF9 2C 41 03 + bmi IrqHandler_Loop141 ; CPU:$9AFC PRG:1AFC 30 2D + bvs IrqHandler_OnOverflowSet2 ; CPU:$9AFE PRG:1AFE 70 D6 + jsr Sub_9B88 ; CPU:$9B00 PRG:1B00 20 88 9B + and #$0C ; CPU:$9B03 PRG:1B03 29 0C + beq IrqHandler_Loop143 ; CPU:$9B05 PRG:1B05 F0 50 + ldx #$19 ; CPU:$9B07 PRG:1B07 A2 19 + ldy #$03 ; CPU:$9B09 PRG:1B09 A0 03 + and #$04 ; CPU:$9B0B PRG:1B0B 29 04 + bne IrqHandler_Loop140 ; CPU:$9B0D PRG:1B0D D0 02 + iny ; CPU:$9B0F PRG:1B0F C8 + inx ; CPU:$9B10 PRG:1B10 E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop140 +; Global: Branch target inside IrqHandler: taken when Loop140. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop140: + stx $034D ; CPU:$9B11 PRG:1B11 8E 4D 03 + tya ; CPU:$9B14 PRG:1B14 98 + ora #$80 ; CPU:$9B15 PRG:1B15 09 80 + sta $0341 ; CPU:$9B17 PRG:1B17 8D 41 03 + lda #$00 ; CPU:$9B1A PRG:1B1A A9 00 + sta $0343 ; CPU:$9B1C PRG:1B1C 8D 43 03 + sta $034C ; CPU:$9B1F PRG:1B1F 8D 4C 03 + lda $9344,y ; CPU:$9B22 PRG:1B22 B9 44 93 + sta $0345 ; CPU:$9B25 PRG:1B25 8D 45 03 + jsr Sub_B2A1 ; CPU:$9B28 PRG:1B28 20 A1 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop141 +; Global: Branch target inside IrqHandler: taken when Loop141. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop141: + jsr Sub_935E ; CPU:$9B2B PRG:1B2B 20 5E 93 + bcs IrqHandler_Loop142 ; CPU:$9B2E PRG:1B2E B0 03 + jmp Sub_9B5C ; CPU:$9B30 PRG:1B30 4C 5C 9B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop142 +; Global: Branch target inside IrqHandler: taken when Loop142. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop142: + lda $0341 ; CPU:$9B33 PRG:1B33 AD 41 03 + and #$07 ; CPU:$9B36 PRG:1B36 29 07 + tax ; CPU:$9B38 PRG:1B38 AA + lda $9351,x ; CPU:$9B39 PRG:1B39 BD 51 93 + sta $0345 ; CPU:$9B3C PRG:1B3C 8D 45 03 + lda #$00 ; CPU:$9B3F PRG:1B3F A9 00 + sta $0343 ; CPU:$9B41 PRG:1B41 8D 43 03 + lda #$40 ; CPU:$9B44 PRG:1B44 A9 40 + sta $0341 ; CPU:$9B46 PRG:1B46 8D 41 03 + lda $034F ; CPU:$9B49 PRG:1B49 AD 4F 03 + sta $0358 ; CPU:$9B4C PRG:1B4C 8D 58 03 + ldx BlockIndex ; CPU:$9B4F PRG:1B4F A6 4A + jsr Sub_A2F1 ; CPU:$9B51 PRG:1B51 20 F1 A2 + jmp Sub_9B5C ; CPU:$9B54 PRG:1B54 4C 5C 9B +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop143 +; Global: Branch target inside IrqHandler: taken when Loop143. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop143: + lda #$00 ; CPU:$9B57 PRG:1B57 A9 00 + sta $0345 ; CPU:$9B59 PRG:1B59 8D 45 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9B5C +; Global: Branch target inside Sub: taken when 9B5C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9B5C: + jsr Sub_99FE ; CPU:$9B5C PRG:1B5C 20 FE 99 + jsr Sub_830A ; CPU:$9B5F PRG:1B5F 20 0A 83 + ldx #$C0 ; CPU:$9B62 PRG:1B62 A2 C0 + stx BlockIndex ; CPU:$9B64 PRG:1B64 86 4A + ldx #$40 ; CPU:$9B66 PRG:1B66 A2 40 + jsr Sub_A3F3 ; CPU:$9B68 PRG:1B68 20 F3 A3 + lda $0358 ; CPU:$9B6B PRG:1B6B AD 58 03 + asl a ; CPU:$9B6E PRG:1B6E 0A + asl a ; CPU:$9B6F PRG:1B6F 0A + asl a ; CPU:$9B70 PRG:1B70 0A + asl a ; CPU:$9B71 PRG:1B71 0A + asl a ; CPU:$9B72 PRG:1B72 0A + adc #$3F ; CPU:$9B73 PRG:1B73 69 3F + sta $0250 ; CPU:$9B75 PRG:1B75 8D 50 02 + lda #$F0 ; CPU:$9B78 PRG:1B78 A9 F0 + sta $0251 ; CPU:$9B7A PRG:1B7A 8D 51 02 + lda #$02 ; CPU:$9B7D PRG:1B7D A9 02 + sta $0252 ; CPU:$9B7F PRG:1B7F 8D 52 02 + lda #$6C ; CPU:$9B82 PRG:1B82 A9 6C + sta $0253 ; CPU:$9B84 PRG:1B84 8D 53 02 + rts ; CPU:$9B87 PRG:1B87 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9B88 +; Global: Branch target inside Sub: taken when 9B88. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9B88: + lda #$04 ; CPU:$9B88 PRG:1B88 A9 04 + ldx $034F ; CPU:$9B8A PRG:1B8A AE 4F 03 + beq IrqHandler_Loop144 ; CPU:$9B8D PRG:1B8D F0 09 + lda #$08 ; CPU:$9B8F PRG:1B8F A9 08 + cpx $0356 ; CPU:$9B91 PRG:1B91 EC 56 03 + beq IrqHandler_Loop144 ; CPU:$9B94 PRG:1B94 F0 02 + lda #$0C ; CPU:$9B96 PRG:1B96 A9 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop144 +; Global: Branch target inside IrqHandler: taken when Loop144. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop144: + and Zp18 ; CPU:$9B98 PRG:1B98 25 18 + beq IrqHandler_Loop145 ; CPU:$9B9A PRG:1B9A F0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero5 +; Global: Branch target inside IrqHandler: taken when OnZero5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero5: + rts ; CPU:$9B9C PRG:1B9C 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop145 +; Global: Branch target inside IrqHandler: taken when Loop145. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop145: + lda Zp1A ; CPU:$9B9D PRG:1B9D A5 1A + and #$20 ; CPU:$9B9F PRG:1B9F 29 20 + beq IrqHandler_OnZero5 ; CPU:$9BA1 PRG:1BA1 F0 F9 + lda #$04 ; CPU:$9BA3 PRG:1BA3 A9 04 + ldx $034F ; CPU:$9BA5 PRG:1BA5 AE 4F 03 + beq IrqHandler_Loop146 ; CPU:$9BA8 PRG:1BA8 F0 07 + lda #$08 ; CPU:$9BAA PRG:1BAA A9 08 + cpx $0356 ; CPU:$9BAC PRG:1BAC EC 56 03 + bne IrqHandler_Loop147 ; CPU:$9BAF PRG:1BAF D0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop146 +; Global: Branch target inside IrqHandler: taken when Loop146. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop146: + sta $0357 ; CPU:$9BB1 PRG:1BB1 8D 57 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop147 +; Global: Branch target inside IrqHandler: taken when Loop147. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop147: + lda $0357 ; CPU:$9BB4 PRG:1BB4 AD 57 03 + rts ; CPU:$9BB7 PRG:1BB7 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnOverflowSet3 +; Global: Branch target inside IrqHandler: taken when OnOverflowSet3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnOverflowSet3: + lda $03CB ; CPU:$9BB8 PRG:1BB8 AD CB 03 + sta $034B ; CPU:$9BBB PRG:1BBB 8D 4B 03 + lda $03C0 ; CPU:$9BBE PRG:1BBE AD C0 03 + bne IrqHandler_Loop148 ; CPU:$9BC1 PRG:1BC1 D0 03 + sta $0341 ; CPU:$9BC3 PRG:1BC3 8D 41 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop148 +; Global: Branch target inside IrqHandler: taken when Loop148. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop148: + jmp Sub_9C42 ; CPU:$9BC6 PRG:1BC6 4C 42 9C +; ----------------------------------------------------------------------------- +; Routine: Sub_9BC9 +; Global: Branch target inside Sub: taken when 9BC9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BC9: + ldx #$40 ; CPU:$9BC9 PRG:1BC9 A2 40 + stx BlockIndex ; CPU:$9BCB PRG:1BCB 86 4A + jsr Sub_93BA ; CPU:$9BCD PRG:1BCD 20 BA 93 + lda Zp2F ; CPU:$9BD0 PRG:1BD0 A5 2F + and #$03 ; CPU:$9BD2 PRG:1BD2 29 03 + bne IrqHandler_Loop149 ; CPU:$9BD4 PRG:1BD4 D0 03 + dec $035A ; CPU:$9BD6 PRG:1BD6 CE 5A 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop149 +; Global: Branch target inside IrqHandler: taken when Loop149. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop149: + bit $0341 ; CPU:$9BD9 PRG:1BD9 2C 41 03 + bmi IrqHandler_Loop151 ; CPU:$9BDC PRG:1BDC 30 3C + bvs IrqHandler_OnOverflowSet3 ; CPU:$9BDE PRG:1BDE 70 D8 + lda $035A ; CPU:$9BE0 PRG:1BE0 AD 5A 03 + bne IrqHandler_Loop153 ; CPU:$9BE3 PRG:1BE3 D0 58 + ldx $035B ; CPU:$9BE5 PRG:1BE5 AE 5B 03 + lda $9C52,x ; CPU:$9BE8 PRG:1BE8 BD 52 9C + cmp #$FF ; CPU:$9BEB PRG:1BEB C9 FF + bne IrqHandler_Loop150 ; CPU:$9BED PRG:1BED D0 05 + ldx #$00 ; CPU:$9BEF PRG:1BEF A2 00 + lda $9C52,x ; CPU:$9BF1 PRG:1BF1 BD 52 9C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop150 +; Global: Branch target inside IrqHandler: taken when Loop150. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop150: + inx ; CPU:$9BF4 PRG:1BF4 E8 + stx $035B ; CPU:$9BF5 PRG:1BF5 8E 5B 03 + sta $034D ; CPU:$9BF8 PRG:1BF8 8D 4D 03 + tay ; CPU:$9BFB PRG:1BFB A8 + lda $9344,y ; CPU:$9BFC PRG:1BFC B9 44 93 + sta $0345 ; CPU:$9BFF PRG:1BFF 8D 45 03 + lda #$80 ; CPU:$9C02 PRG:1C02 A9 80 + sta $0341 ; CPU:$9C04 PRG:1C04 8D 41 03 + lda #$00 ; CPU:$9C07 PRG:1C07 A9 00 + sta $0343 ; CPU:$9C09 PRG:1C09 8D 43 03 + sta $034C ; CPU:$9C0C PRG:1C0C 8D 4C 03 + ldx Zp50 ; CPU:$9C0F PRG:1C0F A6 50 + lda $B1D9,x ; CPU:$9C11 PRG:1C11 BD D9 B1 + sta $035A ; CPU:$9C14 PRG:1C14 8D 5A 03 + jsr Sub_B2A1 ; CPU:$9C17 PRG:1C17 20 A1 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop151 +; Global: Branch target inside IrqHandler: taken when Loop151. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop151: + jsr Sub_935E ; CPU:$9C1A PRG:1C1A 20 5E 93 + bcs IrqHandler_Loop152 ; CPU:$9C1D PRG:1C1D B0 03 + jmp Sub_9C42 ; CPU:$9C1F PRG:1C1F 4C 42 9C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop152 +; Global: Branch target inside IrqHandler: taken when Loop152. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop152: + ldx $034D ; CPU:$9C22 PRG:1C22 AE 4D 03 + lda $9351,x ; CPU:$9C25 PRG:1C25 BD 51 93 + sta $0345 ; CPU:$9C28 PRG:1C28 8D 45 03 + lda #$00 ; CPU:$9C2B PRG:1C2B A9 00 + sta $0343 ; CPU:$9C2D PRG:1C2D 8D 43 03 + lda #$40 ; CPU:$9C30 PRG:1C30 A9 40 + sta $0341 ; CPU:$9C32 PRG:1C32 8D 41 03 + ldx BlockIndex ; CPU:$9C35 PRG:1C35 A6 4A + jsr Sub_A33E ; CPU:$9C37 PRG:1C37 20 3E A3 + jmp Sub_9C42 ; CPU:$9C3A PRG:1C3A 4C 42 9C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop153 +; Global: Branch target inside IrqHandler: taken when Loop153. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop153: + lda #$00 ; CPU:$9C3D PRG:1C3D A9 00 + sta $0345 ; CPU:$9C3F PRG:1C3F 8D 45 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_9C42 +; Global: Branch target inside Sub: taken when 9C42. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9C42: + jsr Sub_99FE ; CPU:$9C42 PRG:1C42 20 FE 99 + jsr Sub_830A ; CPU:$9C45 PRG:1C45 20 0A 83 + ldx #$C0 ; CPU:$9C48 PRG:1C48 A2 C0 + stx BlockIndex ; CPU:$9C4A PRG:1C4A 86 4A + ldx #$40 ; CPU:$9C4C PRG:1C4C A2 40 + jsr Sub_A3F3 ; CPU:$9C4E PRG:1C4E 20 F3 A3 + rts ; CPU:$9C51 PRG:1C51 60 +; ---- data $9C52-$9C5E (13 bytes) ---- +; referenced by `lda $9C52,x` at $9BE8 (operand $9C52 falls inside this region) +; referenced by `lda $9C52,x` at $9BF1 (operand $9C52 falls inside this region) +BlockSizeTable: + .byte $01, $01, $01, $03, $03, $03, $02, $02, $02, $04, $04, $04, $FF ; CPU:$9C52 PRG:-23AE 01 01 01 03 03 03 02 02 02 04 04 04 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_9C5F +; Global: Branch target inside Sub: taken when 9C5F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9C5F: + ldx #$20 ; CPU:$9C5F PRG:1C5F A2 20 + stx BlockIndex ; CPU:$9C61 PRG:1C61 86 4A + lda $0320 ; CPU:$9C63 PRG:1C63 AD 20 03 + beq IrqHandler_Loop154 ; CPU:$9C66 PRG:1C66 F0 04 + jmp Sub_9D3D ; CPU:$9C68 PRG:1C68 4C 3D 9D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero6 +; Global: Branch target inside IrqHandler: taken when OnZero6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero6: + rts ; CPU:$9C6B PRG:1C6B 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop154 +; Global: Branch target inside IrqHandler: taken when Loop154. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop154: + dec $0334 ; CPU:$9C6C PRG:1C6C CE 34 03 + bne IrqHandler_OnZero6 ; CPU:$9C6F PRG:1C6F D0 FA + lda $0618 ; CPU:$9C71 PRG:1C71 AD 18 06 + and #$1F ; CPU:$9C74 PRG:1C74 29 1F + sta Zp17 ; CPU:$9C76 PRG:1C76 85 17 + tay ; CPU:$9C78 PRG:1C78 A8 + and #$07 ; CPU:$9C79 PRG:1C79 29 07 + cmp #$07 ; CPU:$9C7B PRG:1C7B C9 07 + beq IrqHandler_OnZero6 ; CPU:$9C7D PRG:1C7D F0 EC + lda $9CC8,y ; CPU:$9C7F PRG:1C7F B9 C8 9C + sta $032E ; CPU:$9C82 PRG:1C82 8D 2E 03 + jsr Sub_9318 ; CPU:$9C85 PRG:1C85 20 18 93 + lda Zp17 ; CPU:$9C88 PRG:1C88 A5 17 + lsr a ; CPU:$9C8A PRG:1C8A 4A + lsr a ; CPU:$9C8B PRG:1C8B 4A + lsr a ; CPU:$9C8C PRG:1C8C 4A + sta $0324 ; CPU:$9C8D PRG:1C8D 8D 24 03 + lda #$28 ; CPU:$9C90 PRG:1C90 A9 28 + sta $0326 ; CPU:$9C92 PRG:1C92 8D 26 03 + lda #$4A ; CPU:$9C95 PRG:1C95 A9 4A + sta $0325 ; CPU:$9C97 PRG:1C97 8D 25 03 + ldy $032E ; CPU:$9C9A PRG:1C9A AC 2E 03 + ldx #$00 ; CPU:$9C9D PRG:1C9D A2 00 + lda $0400,y ; CPU:$9C9F PRG:1C9F B9 00 04 + bpl IrqHandler_Loop155 ; CPU:$9CA2 PRG:1CA2 10 02 + ldx #$FC ; CPU:$9CA4 PRG:1CA4 A2 FC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop155 +; Global: Branch target inside IrqHandler: taken when Loop155. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop155: + stx $032B ; CPU:$9CA6 PRG:1CA6 8E 2B 03 + lda #$03 ; CPU:$9CA9 PRG:1CA9 A9 03 + sta $0321 ; CPU:$9CAB PRG:1CAB 8D 21 03 + lda #$01 ; CPU:$9CAE PRG:1CAE A9 01 + sta $0320 ; CPU:$9CB0 PRG:1CB0 8D 20 03 + lda #$40 ; CPU:$9CB3 PRG:1CB3 A9 40 + sta $0339 ; CPU:$9CB5 PRG:1CB5 8D 39 03 + lda #$05 ; CPU:$9CB8 PRG:1CB8 A9 05 + sta $0322 ; CPU:$9CBA PRG:1CBA 8D 22 03 + lda #$03 ; CPU:$9CBD PRG:1CBD A9 03 + sta $0327 ; CPU:$9CBF PRG:1CBF 8D 27 03 + lda #$30 ; CPU:$9CC2 PRG:1CC2 A9 30 + sta $032A ; CPU:$9CC4 PRG:1CC4 8D 2A 03 + rts ; CPU:$9CC7 PRG:1CC7 60 +; ---- data $9CC8-$9D3C (117 bytes) ---- +; referenced by `lda $9CC8,y` at $9C7F (operand $9CC8 falls inside this region) +; referenced by `lda $9D2C,y` at $9D85 (operand $9D2C falls inside this region) + .byte $09, $09, $11, $19, $21, $29, $29, $00, $0F, $0F, $17, $1F, $27, $2F, $2F, $00 ; CPU:$9CC8 PRG:1CC8 09 09 11 19 21 29 29 00 0F 0F 17 1F 27 2F 2F 00 + .byte $02, $02, $03, $04, $05, $06, $06, $00, $32, $32, $33, $34, $35, $36, $36, $00 ; CPU:$9CD8 PRG:1CD8 02 02 03 04 05 06 06 00 32 32 33 34 35 36 36 00 + .byte $04, $05, $06, $07, $0F, $17, $1F, $00, $19, $11, $09, $01, $02, $03, $04, $00 ; CPU:$9CE8 PRG:1CE8 04 05 06 07 0F 17 1F 00 19 11 09 01 02 03 04 00 + .byte $19, $21, $29, $31, $32, $33, $34, $00, $34, $35, $36, $37, $2F, $27, $1F, $00 ; CPU:$9CF8 PRG:1CF8 19 21 29 31 32 33 34 00 34 35 36 37 2F 27 1F 00 + .byte $CE, $39, $03, $D0, $15, $A9, $00, $8D, $21, $03, $A9, $28, $8D, $33, $03, $4C ; CPU:$9D08 PRG:1D08 CE 39 03 D0 15 A9 00 8D 21 03 A9 28 8D 33 03 4C + .byte $0A, $83, $01, $FF, $08, $F8, $07, $09, $F9, $F7, $A5, $2F, $29, $04, $F0, $03 ; CPU:$9D18 PRG:1D18 0A 83 01 FF 08 F8 07 09 F9 F7 A5 2F 29 04 F0 03 + .byte $4C, $0A, $83, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0A, $09, $0C ; CPU:$9D28 PRG:1D28 4C 0A 83 60 00 00 00 00 00 00 00 00 00 0A 09 0C + .byte $0B, $0F, $10, $0D, $0E ; CPU:$9D38 PRG:1D38 0B 0F 10 0D 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_9D3D +; Global: Branch target inside Sub: taken when 9D3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9D3D: + lda $0321 ; CPU:$9D3D PRG:1D3D AD 21 03 + jsr Sub_846D ; CPU:$9D40 PRG:1D40 20 6D 84 + .byte $4B, $9D ; CPU:$9D43 PRG:1D43 4B 9D -- alr #$9D (undocumented; ca65 cannot encode) + .byte $7A ; CPU:$9D45 PRG:1D45 7A -- nop (undocumented; ca65 cannot encode) + sta $9DF7,x ; CPU:$9D46 PRG:1D46 9D F7 9D + php ; CPU:$9D49 PRG:1D49 08 + sta $BA20,x ; CPU:$9D4A PRG:1D4A 9D 20 BA + .byte $93, $AD ; CPU:$9D4D PRG:1D4D 93 AD -- sha (ZpAD),y (undocumented; ca65 cannot encode) + .byte $33, $03 ; CPU:$9D4F PRG:1D4F 33 03 -- rla (Zp03),y (undocumented; ca65 cannot encode) + beq IrqHandler_Loop156 ; CPU:$9D51 PRG:1D51 F0 06 + dec $0333 ; CPU:$9D53 PRG:1D53 CE 33 03 + jmp Sub_9E21 ; CPU:$9D56 PRG:1D56 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop156 +; Global: Branch target inside IrqHandler: taken when Loop156. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop156: + lda $0324 ; CPU:$9D59 PRG:1D59 AD 24 03 + clc ; CPU:$9D5C PRG:1D5C 18 + adc #$09 ; CPU:$9D5D PRG:1D5D 69 09 + sta $032D ; CPU:$9D5F PRG:1D5F 8D 2D 03 + lda #$01 ; CPU:$9D62 PRG:1D62 A9 01 + sta $0321 ; CPU:$9D64 PRG:1D64 8D 21 03 + lda #$00 ; CPU:$9D67 PRG:1D67 A9 00 + sta $0323 ; CPU:$9D69 PRG:1D69 8D 23 03 + sta $032C ; CPU:$9D6C PRG:1D6C 8D 2C 03 + lda #$3F ; CPU:$9D6F PRG:1D6F A9 3F + sta $0325 ; CPU:$9D71 PRG:1D71 8D 25 03 + jsr Sub_B2A5 ; CPU:$9D74 PRG:1D74 20 A5 B2 + jmp Sub_9E21 ; CPU:$9D77 PRG:1D77 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: Label_9D7A +; Global: Branch target inside Label: taken when 9D7A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9D7A: + jsr Sub_93BA ; CPU:$9D7A PRG:1D7A 20 BA 93 + lda $0337 ; CPU:$9D7D PRG:1D7D AD 37 03 + beq IrqHandler_Loop157 ; CPU:$9D80 PRG:1D80 F0 11 + ldy $032D ; CPU:$9D82 PRG:1D82 AC 2D 03 + lda $9D2C,y ; CPU:$9D85 PRG:1D85 B9 2C 9D + sta $032D ; CPU:$9D88 PRG:1D88 8D 2D 03 + lda #$00 ; CPU:$9D8B PRG:1D8B A9 00 + sta $032C ; CPU:$9D8D PRG:1D8D 8D 2C 03 + jmp Sub_9E21 ; CPU:$9D90 PRG:1D90 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop157 +; Global: Branch target inside IrqHandler: taken when Loop157. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop157: + jsr Sub_935E ; CPU:$9D93 PRG:1D93 20 5E 93 + bcs IrqHandler_Loop158 ; CPU:$9D96 PRG:1D96 B0 0E + lda $0329 ; CPU:$9D98 PRG:1D98 AD 29 03 + cmp #$F7 ; CPU:$9D9B PRG:1D9B C9 F7 + bcs IrqHandler_Loop161 ; CPU:$9D9D PRG:1D9D B0 2D + cmp #$09 ; CPU:$9D9F PRG:1D9F C9 09 + bcc IrqHandler_Loop161 ; CPU:$9DA1 PRG:1DA1 90 29 + jmp Sub_9E21 ; CPU:$9DA3 PRG:1DA3 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop158 +; Global: Branch target inside IrqHandler: taken when Loop158. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop158: + lda $032B ; CPU:$9DA6 PRG:1DA6 AD 2B 03 + beq IrqHandler_Loop160 ; CPU:$9DA9 PRG:1DA9 F0 0F + bmi IrqHandler_Loop160 ; CPU:$9DAB PRG:1DAB 30 0D + sec ; CPU:$9DAD PRG:1DAD 38 + sbc #$03 ; CPU:$9DAE PRG:1DAE E9 03 + bpl IrqHandler_Loop159 ; CPU:$9DB0 PRG:1DB0 10 02 + lda #$00 ; CPU:$9DB2 PRG:1DB2 A9 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop159 +; Global: Branch target inside IrqHandler: taken when Loop159. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop159: + sta $032B ; CPU:$9DB4 PRG:1DB4 8D 2B 03 + jmp Sub_9E21 ; CPU:$9DB7 PRG:1DB7 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop160 +; Global: Branch target inside IrqHandler: taken when Loop160. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop160: + lda $032E ; CPU:$9DBA PRG:1DBA AD 2E 03 + and #$07 ; CPU:$9DBD PRG:1DBD 29 07 + beq IrqHandler_Loop161 ; CPU:$9DBF PRG:1DBF F0 0B + lda $032F ; CPU:$9DC1 PRG:1DC1 AD 2F 03 + cmp #$FF ; CPU:$9DC4 PRG:1DC4 C9 FF + beq IrqHandler_Loop161 ; CPU:$9DC6 PRG:1DC6 F0 04 + cmp #$07 ; CPU:$9DC8 PRG:1DC8 C9 07 + bne IrqHandler_Loop162 ; CPU:$9DCA PRG:1DCA D0 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop161 +; Global: Branch target inside IrqHandler: taken when Loop161. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop161: + lda #$00 ; CPU:$9DCC PRG:1DCC A9 00 + sta $0320 ; CPU:$9DCE PRG:1DCE 8D 20 03 + lda $0618 ; CPU:$9DD1 PRG:1DD1 AD 18 06 + and #$1F ; CPU:$9DD4 PRG:1DD4 29 1F + sta $0334 ; CPU:$9DD6 PRG:1DD6 8D 34 03 + rts ; CPU:$9DD9 PRG:1DD9 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop162 +; Global: Branch target inside IrqHandler: taken when Loop162. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop162: + jsr Sub_931D ; CPU:$9DDA PRG:1DDA 20 1D 93 + ldx $032D ; CPU:$9DDD PRG:1DDD AE 2D 03 + lda #$48 ; CPU:$9DE0 PRG:1DE0 A9 48 + sta $0325 ; CPU:$9DE2 PRG:1DE2 8D 25 03 + lda #$00 ; CPU:$9DE5 PRG:1DE5 A9 00 + sta $0323 ; CPU:$9DE7 PRG:1DE7 8D 23 03 + lda #$02 ; CPU:$9DEA PRG:1DEA A9 02 + sta $0321 ; CPU:$9DEC PRG:1DEC 8D 21 03 + ldx BlockIndex ; CPU:$9DEF PRG:1DEF A6 4A + jsr Sub_A18F ; CPU:$9DF1 PRG:1DF1 20 8F A1 + jmp Sub_9E21 ; CPU:$9DF4 PRG:1DF4 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: Label_9DF7 +; Global: Branch target inside Label: taken when 9DF7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9DF7: + lda $03AB ; CPU:$9DF7 PRG:1DF7 AD AB 03 + sta $032B ; CPU:$9DFA PRG:1DFA 8D 2B 03 + lda $03A0 ; CPU:$9DFD PRG:1DFD AD A0 03 + bne IrqHandler_Loop164 ; CPU:$9E00 PRG:1E00 D0 11 + sta $0321 ; CPU:$9E02 PRG:1E02 8D 21 03 + ldx Zp70 ; CPU:$9E05 PRG:1E05 A6 70 + cpx #$10 ; CPU:$9E07 PRG:1E07 E0 10 + bcc IrqHandler_Loop163 ; CPU:$9E09 PRG:1E09 90 02 + ldx #$0A ; CPU:$9E0B PRG:1E0B A2 0A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop163 +; Global: Branch target inside IrqHandler: taken when Loop163. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop163: + lda $9E16,x ; CPU:$9E0D PRG:1E0D BD 16 9E + sta $0333 ; CPU:$9E10 PRG:1E10 8D 33 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop164 +; Global: Branch target inside IrqHandler: taken when Loop164. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop164: + jmp Sub_9E21 ; CPU:$9E13 PRG:1E13 4C 21 9E +; ----------------------------------------------------------------------------- +; Routine: Label_9E16 +; Global: Branch target inside Label: taken when 9E16. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E16: + brk ; CPU:$9E16 PRG:1E16 00 +; ----------------------------------------------------------------------------- +; Routine: Label_9E17 +; Global: Branch target inside Label: taken when 9E17. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E17: + rts ; CPU:$9E17 PRG:1E17 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9E18 +; Global: Branch target inside Label: taken when 9E18. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E18: + cli ; CPU:$9E18 PRG:1E18 58 + bvc IrqHandler_Loop167 ; CPU:$9E19 PRG:1E19 50 48 + rti ; CPU:$9E1B PRG:1E1B 40 +; ----------------------------------------------------------------------------- +; Routine: Label_9E1C +; Global: Branch target inside Label: taken when 9E1C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E1C: + sec ; CPU:$9E1C PRG:1E1C 38 + sec ; CPU:$9E1D PRG:1E1D 38 + sec ; CPU:$9E1E PRG:1E1E 38 + bmi IrqHandler_Loop166 ; CPU:$9E1F PRG:1E1F 30 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_9E21 +; Global: Branch target inside Sub: taken when 9E21. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9E21: + jsr Sub_99FE ; CPU:$9E21 PRG:1E21 20 FE 99 + jmp Sub_830A ; CPU:$9E24 PRG:1E24 4C 0A 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_9E27 +; Global: Branch target inside Sub: taken when 9E27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9E27: + lda GameState ; CPU:$9E27 PRG:1E27 A5 49 + bne IrqHandler_Loop165 ; CPU:$9E29 PRG:1E29 D0 0B + ldy #$1F ; CPU:$9E2B PRG:1E2B A0 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative5 +; Global: Branch target inside IrqHandler: taken when OnNonnegative5. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative5: + lda $9E37,y ; CPU:$9E2D PRG:1E2D B9 37 9E + sta $0360,y ; CPU:$9E30 PRG:1E30 99 60 03 + dey ; CPU:$9E33 PRG:1E33 88 + bpl IrqHandler_OnNonnegative5 ; CPU:$9E34 PRG:1E34 10 F7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop165 +; Global: Branch target inside IrqHandler: taken when Loop165. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop165: + rts ; CPU:$9E36 PRG:1E36 60 +; ---- data $9E37-$9E40 (10 bytes) ---- +; referenced by `lda $9E37,y` at $9E2D (operand $9E37 falls inside this region) + .byte $01, $00, $16, $00, $00, $4D, $44, $01, $80, $80 ; CPU:$9E37 PRG:1E37 01 00 16 00 00 4D 44 01 80 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop166 +; Global: Branch target inside IrqHandler: taken when Loop166. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop166: + rti ; CPU:$9E41 PRG:1E41 40 +; ----------------------------------------------------------------------------- +; Routine: Label_9E42 +; Global: Branch target inside Label: taken when 9E42. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E42: + brk ; CPU:$9E42 PRG:1E42 00 +; ---- data $9E43-$9E56 (20 bytes) ---- + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$9E43 PRG:1E43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00 ; CPU:$9E53 PRG:1E53 00 00 00 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero7 +; Global: Branch target inside IrqHandler: taken when OnZero7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero7: + rts ; CPU:$9E57 PRG:1E57 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9E58 +; Global: Branch target inside Sub: taken when 9E58. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9E58: + ldx #$60 ; CPU:$9E58 PRG:1E58 A2 60 + stx BlockIndex ; CPU:$9E5A PRG:1E5A 86 4A + lda GameState ; CPU:$9E5C PRG:1E5C A5 49 + bne IrqHandler_OnZero7 ; CPU:$9E5E PRG:1E5E D0 F7 + lda $0360 ; CPU:$9E60 PRG:1E60 AD 60 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop167 +; Global: Branch target inside IrqHandler: taken when Loop167. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop167: + beq IrqHandler_OnZero7 ; CPU:$9E63 PRG:1E63 F0 F2 + lda $0374 ; CPU:$9E65 PRG:1E65 AD 74 03 + beq IrqHandler_Loop168 ; CPU:$9E68 PRG:1E68 F0 17 + dec $0374 ; CPU:$9E6A PRG:1E6A CE 74 03 + bne IrqHandler_Loop169 ; CPU:$9E6D PRG:1E6D D0 31 + lda $0364 ; CPU:$9E6F PRG:1E6F AD 64 03 + sta $0365 ; CPU:$9E72 PRG:1E72 8D 65 03 + lda #$01 ; CPU:$9E75 PRG:1E75 A9 01 + sta $0363 ; CPU:$9E77 PRG:1E77 8D 63 03 + lda #$16 ; CPU:$9E7A PRG:1E7A A9 16 + sta $0362 ; CPU:$9E7C PRG:1E7C 8D 62 03 + bne IrqHandler_Loop169 ; CPU:$9E7F PRG:1E7F D0 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop168 +; Global: Branch target inside IrqHandler: taken when Loop168. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop168: + lda $0377 ; CPU:$9E81 PRG:1E81 AD 77 03 + beq IrqHandler_Loop170 ; CPU:$9E84 PRG:1E84 F0 1D + lda #$20 ; CPU:$9E86 PRG:1E86 A9 20 + sta $0374 ; CPU:$9E88 PRG:1E88 8D 74 03 + lda $0365 ; CPU:$9E8B PRG:1E8B AD 65 03 + sta $0364 ; CPU:$9E8E PRG:1E8E 8D 64 03 + lda #$65 ; CPU:$9E91 PRG:1E91 A9 65 + sta $0365 ; CPU:$9E93 PRG:1E93 8D 65 03 + lda #$01 ; CPU:$9E96 PRG:1E96 A9 01 + sta $0363 ; CPU:$9E98 PRG:1E98 8D 63 03 + lda #$04 ; CPU:$9E9B PRG:1E9B A9 04 + sta $0362 ; CPU:$9E9D PRG:1E9D 8D 62 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop169 +; Global: Branch target inside IrqHandler: taken when Loop169. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop169: + jmp IrqHandler_Loop185 ; CPU:$9EA0 PRG:1EA0 4C 99 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop170 +; Global: Branch target inside IrqHandler: taken when Loop170. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop170: + lda Zp2F ; CPU:$9EA3 PRG:1EA3 A5 2F + and #$01 ; CPU:$9EA5 PRG:1EA5 29 01 + beq IrqHandler_Loop169 ; CPU:$9EA7 PRG:1EA7 F0 F7 + jsr Sub_93BA ; CPU:$9EA9 PRG:1EA9 20 BA 93 + ldx #$00 ; CPU:$9EAC PRG:1EAC A2 00 + ldy $036E ; CPU:$9EAE PRG:1EAE AC 6E 03 + lda $0400,y ; CPU:$9EB1 PRG:1EB1 B9 00 04 + bpl IrqHandler_Loop171 ; CPU:$9EB4 PRG:1EB4 10 02 + ldx #$FC ; CPU:$9EB6 PRG:1EB6 A2 FC +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop171 +; Global: Branch target inside IrqHandler: taken when Loop171. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop171: + stx $036B ; CPU:$9EB8 PRG:1EB8 8E 6B 03 + lda $036D ; CPU:$9EBB PRG:1EBB AD 6D 03 + beq IrqHandler_Loop172 ; CPU:$9EBE PRG:1EBE F0 05 + dec $036D ; CPU:$9EC0 PRG:1EC0 CE 6D 03 + bne IrqHandler_Loop169 ; CPU:$9EC3 PRG:1EC3 D0 DB +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop172 +; Global: Branch target inside IrqHandler: taken when Loop172. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop172: + lda $0361 ; CPU:$9EC5 PRG:1EC5 AD 61 03 + lsr a ; CPU:$9EC8 PRG:1EC8 4A + bcs IrqHandler_Loop175 ; CPU:$9EC9 PRG:1EC9 B0 3E + lsr a ; CPU:$9ECB PRG:1ECB 4A + bcs IrqHandler_Loop177 ; CPU:$9ECC PRG:1ECC B0 55 + lsr a ; CPU:$9ECE PRG:1ECE 4A + bcs IrqHandler_Loop173 ; CPU:$9ECF PRG:1ECF B0 11 + lsr a ; CPU:$9ED1 PRG:1ED1 4A + bcs IrqHandler_Loop173 ; CPU:$9ED2 PRG:1ED2 B0 0E + lda $0618 ; CPU:$9ED4 PRG:1ED4 AD 18 06 + and #$01 ; CPU:$9ED7 PRG:1ED7 29 01 + sta $0361 ; CPU:$9ED9 PRG:1ED9 8D 61 03 + clc ; CPU:$9EDC PRG:1EDC 18 + adc #$01 ; CPU:$9EDD PRG:1EDD 69 01 + jmp Sub_9FD1 ; CPU:$9EDF PRG:1EDF 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop173 +; Global: Branch target inside IrqHandler: taken when Loop173. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop173: + lda $0368 ; CPU:$9EE2 PRG:1EE2 AD 68 03 + cmp #$38 ; CPU:$9EE5 PRG:1EE5 C9 38 + beq IrqHandler_Loop174 ; CPU:$9EE7 PRG:1EE7 F0 1B + cmp #$50 ; CPU:$9EE9 PRG:1EE9 C9 50 + beq IrqHandler_Loop174 ; CPU:$9EEB PRG:1EEB F0 17 + cmp #$68 ; CPU:$9EED PRG:1EED C9 68 + beq IrqHandler_Loop174 ; CPU:$9EEF PRG:1EEF F0 13 + cmp #$80 ; CPU:$9EF1 PRG:1EF1 C9 80 + beq IrqHandler_Loop174 ; CPU:$9EF3 PRG:1EF3 F0 0F + cmp #$98 ; CPU:$9EF5 PRG:1EF5 C9 98 + beq IrqHandler_Loop174 ; CPU:$9EF7 PRG:1EF7 F0 0B + cmp #$B0 ; CPU:$9EF9 PRG:1EF9 C9 B0 + beq IrqHandler_Loop174 ; CPU:$9EFB PRG:1EFB F0 07 + cmp #$C8 ; CPU:$9EFD PRG:1EFD C9 C8 + beq IrqHandler_Loop174 ; CPU:$9EFF PRG:1EFF F0 03 + jmp IrqHandler_OnZero8 ; CPU:$9F01 PRG:1F01 4C 75 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop174 +; Global: Branch target inside IrqHandler: taken when Loop174. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop174: + lda #$00 ; CPU:$9F04 PRG:1F04 A9 00 + jmp Sub_9FD1 ; CPU:$9F06 PRG:1F06 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop175 +; Global: Branch target inside IrqHandler: taken when Loop175. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop175: + lda $0369 ; CPU:$9F09 PRG:1F09 AD 69 03 + and #$1F ; CPU:$9F0C PRG:1F0C 29 1F + cmp #$1F ; CPU:$9F0E PRG:1F0E C9 1F + bne IrqHandler_Loop179 ; CPU:$9F10 PRG:1F10 D0 2B + ldy $036E ; CPU:$9F12 PRG:1F12 AC 6E 03 + tya ; CPU:$9F15 PRG:1F15 98 + and #$07 ; CPU:$9F16 PRG:1F16 29 07 + cmp #$06 ; CPU:$9F18 PRG:1F18 C9 06 + beq IrqHandler_Loop176 ; CPU:$9F1A PRG:1F1A F0 02 + bne IrqHandler_Loop179 ; CPU:$9F1C PRG:1F1C D0 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop176 +; Global: Branch target inside IrqHandler: taken when Loop176. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop176: + lda #$02 ; CPU:$9F1E PRG:1F1E A9 02 + jmp Sub_9FD1 ; CPU:$9F20 PRG:1F20 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop177 +; Global: Branch target inside IrqHandler: taken when Loop177. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop177: + lda $0369 ; CPU:$9F23 PRG:1F23 AD 69 03 + and #$1F ; CPU:$9F26 PRG:1F26 29 1F + cmp #$01 ; CPU:$9F28 PRG:1F28 C9 01 + bne IrqHandler_Loop179 ; CPU:$9F2A PRG:1F2A D0 11 + ldy $036E ; CPU:$9F2C PRG:1F2C AC 6E 03 + tya ; CPU:$9F2F PRG:1F2F 98 + and #$07 ; CPU:$9F30 PRG:1F30 29 07 + cmp #$02 ; CPU:$9F32 PRG:1F32 C9 02 + beq IrqHandler_Loop178 ; CPU:$9F34 PRG:1F34 F0 02 + bne IrqHandler_Loop179 ; CPU:$9F36 PRG:1F36 D0 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop178 +; Global: Branch target inside IrqHandler: taken when Loop178. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop178: + lda #$01 ; CPU:$9F38 PRG:1F38 A9 01 + jmp Sub_9FD1 ; CPU:$9F3A PRG:1F3A 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop179 +; Global: Branch target inside IrqHandler: taken when Loop179. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop179: + lda $0369 ; CPU:$9F3D PRG:1F3D AD 69 03 + clc ; CPU:$9F40 PRG:1F40 18 + adc #$10 ; CPU:$9F41 PRG:1F41 69 10 + and #$1F ; CPU:$9F43 PRG:1F43 29 1F + cmp #$10 ; CPU:$9F45 PRG:1F45 C9 10 + bne IrqHandler_OnZero8 ; CPU:$9F47 PRG:1F47 D0 2C + lda $0618 ; CPU:$9F49 PRG:1F49 AD 18 06 + and #$01 ; CPU:$9F4C PRG:1F4C 29 01 + bne IrqHandler_Loop181 ; CPU:$9F4E PRG:1F4E D0 1F + lda $0618 ; CPU:$9F50 PRG:1F50 AD 18 06 + asl a ; CPU:$9F53 PRG:1F53 0A + asl a ; CPU:$9F54 PRG:1F54 0A + bcs IrqHandler_Loop180 ; CPU:$9F55 PRG:1F55 B0 0C + ldy $036E ; CPU:$9F57 PRG:1F57 AC 6E 03 + cpy #$10 ; CPU:$9F5A PRG:1F5A C0 10 + bcc IrqHandler_Loop181 ; CPU:$9F5C PRG:1F5C 90 11 + lda #$08 ; CPU:$9F5E PRG:1F5E A9 08 + jmp Sub_9FD1 ; CPU:$9F60 PRG:1F60 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop180 +; Global: Branch target inside IrqHandler: taken when Loop180. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop180: + ldy $036E ; CPU:$9F63 PRG:1F63 AC 6E 03 + cpy #$28 ; CPU:$9F66 PRG:1F66 C0 28 + bcs IrqHandler_Loop181 ; CPU:$9F68 PRG:1F68 B0 05 + lda #$04 ; CPU:$9F6A PRG:1F6A A9 04 + jmp Sub_9FD1 ; CPU:$9F6C PRG:1F6C 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop181 +; Global: Branch target inside IrqHandler: taken when Loop181. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop181: + lda $0361 ; CPU:$9F6F PRG:1F6F AD 61 03 + jmp Sub_9FD1 ; CPU:$9F72 PRG:1F72 4C D1 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero8 +; Global: Branch target inside IrqHandler: taken when OnZero8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero8: + lda $0361 ; CPU:$9F75 PRG:1F75 AD 61 03 + lsr a ; CPU:$9F78 PRG:1F78 4A + bcc IrqHandler_Loop182 ; CPU:$9F79 PRG:1F79 90 06 + inc $0369 ; CPU:$9F7B PRG:1F7B EE 69 03 + jmp IrqHandler_Loop185 ; CPU:$9F7E PRG:1F7E 4C 99 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop182 +; Global: Branch target inside IrqHandler: taken when Loop182. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop182: + lsr a ; CPU:$9F81 PRG:1F81 4A + bcc IrqHandler_Loop183 ; CPU:$9F82 PRG:1F82 90 06 + dec $0369 ; CPU:$9F84 PRG:1F84 CE 69 03 + jmp IrqHandler_Loop185 ; CPU:$9F87 PRG:1F87 4C 99 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop183 +; Global: Branch target inside IrqHandler: taken when Loop183. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop183: + lsr a ; CPU:$9F8A PRG:1F8A 4A + bcc IrqHandler_Loop184 ; CPU:$9F8B PRG:1F8B 90 06 + inc $0368 ; CPU:$9F8D PRG:1F8D EE 68 03 + jmp IrqHandler_Loop185 ; CPU:$9F90 PRG:1F90 4C 99 9F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop184 +; Global: Branch target inside IrqHandler: taken when Loop184. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop184: + lsr a ; CPU:$9F93 PRG:1F93 4A + bcc IrqHandler_Loop185 ; CPU:$9F94 PRG:1F94 90 03 + dec $0368 ; CPU:$9F96 PRG:1F96 CE 68 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop185 +; Global: Branch target inside IrqHandler: taken when Loop185. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop185: + jsr Sub_99FE ; CPU:$9F99 PRG:1F99 20 FE 99 + ldx #$01 ; CPU:$9F9C PRG:1F9C A2 01 + lda Zp2F ; CPU:$9F9E PRG:1F9E A5 2F + lsr a ; CPU:$9FA0 PRG:1FA0 4A + lsr a ; CPU:$9FA1 PRG:1FA1 4A + lsr a ; CPU:$9FA2 PRG:1FA2 4A + lsr a ; CPU:$9FA3 PRG:1FA3 4A + and #$03 ; CPU:$9FA4 PRG:1FA4 29 03 + beq IrqHandler_Loop186 ; CPU:$9FA6 PRG:1FA6 F0 07 + ldx #$FF ; CPU:$9FA8 PRG:1FA8 A2 FF + cmp #$02 ; CPU:$9FAA PRG:1FAA C9 02 + beq IrqHandler_Loop186 ; CPU:$9FAC PRG:1FAC F0 01 + inx ; CPU:$9FAE PRG:1FAE E8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop186 +; Global: Branch target inside IrqHandler: taken when Loop186. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop186: + stx BlockType ; CPU:$9FAF PRG:1FAF 86 16 + lda $0368 ; CPU:$9FB1 PRG:1FB1 AD 68 03 + pha ; CPU:$9FB4 PRG:1FB4 48 + clc ; CPU:$9FB5 PRG:1FB5 18 + adc BlockType ; CPU:$9FB6 PRG:1FB6 65 16 + sta $0368 ; CPU:$9FB8 PRG:1FB8 8D 68 03 + lda $0369 ; CPU:$9FBB PRG:1FBB AD 69 03 + pha ; CPU:$9FBE PRG:1FBE 48 + clc ; CPU:$9FBF PRG:1FBF 18 + adc BlockType ; CPU:$9FC0 PRG:1FC0 65 16 + sta $0369 ; CPU:$9FC2 PRG:1FC2 8D 69 03 + jsr Sub_830A ; CPU:$9FC5 PRG:1FC5 20 0A 83 + pla ; CPU:$9FC8 PRG:1FC8 68 + sta $0369 ; CPU:$9FC9 PRG:1FC9 8D 69 03 + pla ; CPU:$9FCC PRG:1FCC 68 + sta $0368 ; CPU:$9FCD PRG:1FCD 8D 68 03 + rts ; CPU:$9FD0 PRG:1FD0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_9FD1 +; Global: Branch target inside Sub: taken when 9FD1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9FD1: + sta $0361 ; CPU:$9FD1 PRG:1FD1 8D 61 03 + tay ; CPU:$9FD4 PRG:1FD4 A8 + lda $9FE7,y ; CPU:$9FD5 PRG:1FD5 B9 E7 9F + sta $0365 ; CPU:$9FD8 PRG:1FD8 8D 65 03 + lda #$18 ; CPU:$9FDB PRG:1FDB A9 18 + sta $036D ; CPU:$9FDD PRG:1FDD 8D 6D 03 + lda #$00 ; CPU:$9FE0 PRG:1FE0 A9 00 + sta $0363 ; CPU:$9FE2 PRG:1FE2 8D 63 03 + beq IrqHandler_OnZero8 ; CPU:$9FE5 PRG:1FE5 F0 8E + eor $534D ; CPU:$9FE7 PRG:1FE7 4D 4D 53 + eor $4D59 ; CPU:$9FEA PRG:1FEA 4D 59 4D + eor $5F4D ; CPU:$9FED PRG:1FED 4D 4D 5F +; ----------------------------------------------------------------------------- +; Routine: Sub_9FF0 +; Global: Branch target inside Sub: taken when 9FF0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9FF0: + lda $0316 ; CPU:$9FF0 PRG:1FF0 AD 16 03 + beq IrqHandler_Loop187 ; CPU:$9FF3 PRG:1FF3 F0 03 + dec $0316 ; CPU:$9FF5 PRG:1FF5 CE 16 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop187 +; Global: Branch target inside IrqHandler: taken when Loop187. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop187: + lda $0336 ; CPU:$9FF8 PRG:1FF8 AD 36 03 + beq IrqHandler_Loop188 ; CPU:$9FFB PRG:1FFB F0 03 + dec $0336 ; CPU:$9FFD PRG:1FFD CE 36 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop188 +; Global: Branch target inside IrqHandler: taken when Loop188. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop188: + lda #$00 ; CPU:$A000 PRG:2000 A9 00 + sta $0376 ; CPU:$A002 PRG:2002 8D 76 03 + lda #$08 ; CPU:$A005 PRG:2005 A9 08 + ldy #$08 ; CPU:$A007 PRG:2007 A0 08 + ldx BoardState ; CPU:$A009 PRG:2009 A6 40 + beq IrqHandler_Loop189 ; CPU:$A00B PRG:200B F0 04 + lda #$0C ; CPU:$A00D PRG:200D A9 0C + ldy #$0C ; CPU:$A00F PRG:200F A0 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop189 +; Global: Branch target inside IrqHandler: taken when Loop189. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop189: + sta BlockTileIndex2 ; CPU:$A011 PRG:2011 85 13 + sta BlockTileIndex ; CPU:$A013 PRG:2013 85 12 + sty Zp10 ; CPU:$A015 PRG:2015 84 10 + ldx #$00 ; CPU:$A017 PRG:2017 A2 00 + ldy #$20 ; CPU:$A019 PRG:2019 A0 20 + lda $0318,x ; CPU:$A01B PRG:201B BD 18 03 + bne IrqHandler_Loop190 ; CPU:$A01E PRG:201E D0 0A + lda $0318,y ; CPU:$A020 PRG:2020 B9 18 03 + bne IrqHandler_Loop190 ; CPU:$A023 PRG:2023 D0 05 + jsr Sub_A0E8 ; CPU:$A025 PRG:2025 20 E8 A0 + bcs IrqHandler_Loop194 ; CPU:$A028 PRG:2028 B0 26 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop190 +; Global: Branch target inside IrqHandler: taken when Loop190. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop190: + lda #$06 ; CPU:$A02A PRG:202A A9 06 + sta Zp10 ; CPU:$A02C PRG:202C 85 10 + ldx #$00 ; CPU:$A02E PRG:202E A2 00 + ldy #$60 ; CPU:$A030 PRG:2030 A0 60 + lda $0318,x ; CPU:$A032 PRG:2032 BD 18 03 + bne IrqHandler_Loop191 ; CPU:$A035 PRG:2035 D0 05 + jsr Sub_A0E8 ; CPU:$A037 PRG:2037 20 E8 A0 + bcs IrqHandler_Loop194 ; CPU:$A03A PRG:203A B0 14 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop191 +; Global: Branch target inside IrqHandler: taken when Loop191. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop191: + lda BoardState ; CPU:$A03C PRG:203C A5 40 + bne IrqHandler_Loop192 ; CPU:$A03E PRG:203E D0 01 + rts ; CPU:$A040 PRG:2040 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop192 +; Global: Branch target inside IrqHandler: taken when Loop192. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop192: + ldx #$20 ; CPU:$A041 PRG:2041 A2 20 + ldy #$60 ; CPU:$A043 PRG:2043 A0 60 + lda $0318,x ; CPU:$A045 PRG:2045 BD 18 03 + bne IrqHandler_Loop193 ; CPU:$A048 PRG:2048 D0 05 + jsr Sub_A0E8 ; CPU:$A04A PRG:204A 20 E8 A0 + bcs IrqHandler_Loop194 ; CPU:$A04D PRG:204D B0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop193 +; Global: Branch target inside IrqHandler: taken when Loop193. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop193: + rts ; CPU:$A04F PRG:204F 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop194 +; Global: Branch target inside IrqHandler: taken when Loop194. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop194: + lda #$10 ; CPU:$A050 PRG:2050 A9 10 + sta $0316,x ; CPU:$A052 PRG:2052 9D 16 03 + sta $0316,y ; CPU:$A055 PRG:2055 99 16 03 + lda Zp0C ; CPU:$A058 PRG:2058 A5 0C + cmp Zp0E ; CPU:$A05A PRG:205A C5 0E + bcs IrqHandler_Loop196 ; CPU:$A05C PRG:205C B0 1B + lda $0309,x ; CPU:$A05E PRG:205E BD 09 03 + cmp $0309,y ; CPU:$A061 PRG:2061 D9 09 03 + bpl IrqHandler_Loop195 ; CPU:$A064 PRG:2064 10 06 + stx BlockType ; CPU:$A066 PRG:2066 86 16 + tya ; CPU:$A068 PRG:2068 98 + tax ; CPU:$A069 PRG:2069 AA + ldy BlockType ; CPU:$A06A PRG:206A A4 16 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop195 +; Global: Branch target inside IrqHandler: taken when Loop195. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop195: + lda #$05 ; CPU:$A06C PRG:206C A9 05 + sta $0315,x ; CPU:$A06E PRG:206E 9D 15 03 + lda #$06 ; CPU:$A071 PRG:2071 A9 06 + sta $0315,y ; CPU:$A073 PRG:2073 99 15 03 + jmp Sub_A091 ; CPU:$A076 PRG:2076 4C 91 A0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop196 +; Global: Branch target inside IrqHandler: taken when Loop196. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop196: + lda $0308,x ; CPU:$A079 PRG:2079 BD 08 03 + cmp $0308,y ; CPU:$A07C PRG:207C D9 08 03 + bpl IrqHandler_Loop197 ; CPU:$A07F PRG:207F 10 06 + stx BlockType ; CPU:$A081 PRG:2081 86 16 + tya ; CPU:$A083 PRG:2083 98 + tax ; CPU:$A084 PRG:2084 AA + ldy BlockType ; CPU:$A085 PRG:2085 A4 16 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop197 +; Global: Branch target inside IrqHandler: taken when Loop197. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop197: + lda #$07 ; CPU:$A087 PRG:2087 A9 07 + sta $0315,x ; CPU:$A089 PRG:2089 9D 15 03 + lda #$08 ; CPU:$A08C PRG:208C A9 08 + sta $0315,y ; CPU:$A08E PRG:208E 99 15 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A091 +; Global: Branch target inside Sub: taken when A091. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A091: + lda #$01 ; CPU:$A091 PRG:2091 A9 01 + sta $0317,x ; CPU:$A093 PRG:2093 9D 17 03 + sta $0317,y ; CPU:$A096 PRG:2096 99 17 03 + lda BoardState ; CPU:$A099 PRG:2099 A5 40 + beq IrqHandler_Loop200 ; CPU:$A09B PRG:209B F0 3E + cpy #$60 ; CPU:$A09D PRG:209D C0 60 + beq IrqHandler_Loop200 ; CPU:$A09F PRG:209F F0 3A + cpx #$60 ; CPU:$A0A1 PRG:20A1 E0 60 + beq IrqHandler_Loop200 ; CPU:$A0A3 PRG:20A3 F0 36 + lda $0301,y ; CPU:$A0A5 PRG:20A5 B9 01 03 + ora $0301,x ; CPU:$A0A8 PRG:20A8 1D 01 03 + beq IrqHandler_Loop199 ; CPU:$A0AB PRG:20AB F0 26 + lda $0301,x ; CPU:$A0AD PRG:20AD BD 01 03 + beq IrqHandler_Loop201 ; CPU:$A0B0 PRG:20B0 F0 2A + lda $0301,y ; CPU:$A0B2 PRG:20B2 B9 01 03 + beq IrqHandler_Loop202 ; CPU:$A0B5 PRG:20B5 F0 2B + lda $030C,x ; CPU:$A0B7 PRG:20B7 BD 0C 03 + sec ; CPU:$A0BA PRG:20BA 38 + sbc $030C,y ; CPU:$A0BB PRG:20BB F9 0C 03 + bpl IrqHandler_Loop198 ; CPU:$A0BE PRG:20BE 10 05 + eor #$FF ; CPU:$A0C0 PRG:20C0 49 FF + clc ; CPU:$A0C2 PRG:20C2 18 + adc #$01 ; CPU:$A0C3 PRG:20C3 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop198 +; Global: Branch target inside IrqHandler: taken when Loop198. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop198: + cmp #$0A ; CPU:$A0C5 PRG:20C5 C9 0A + bcc IrqHandler_Loop199 ; CPU:$A0C7 PRG:20C7 90 0A + lda $030C,x ; CPU:$A0C9 PRG:20C9 BD 0C 03 + cmp $030C,y ; CPU:$A0CC PRG:20CC D9 0C 03 + bcc IrqHandler_Loop201 ; CPU:$A0CF PRG:20CF 90 0B + bcs IrqHandler_Loop202 ; CPU:$A0D1 PRG:20D1 B0 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop199 +; Global: Branch target inside IrqHandler: taken when Loop199. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop199: + lda #$01 ; CPU:$A0D3 PRG:20D3 A9 01 + sta $0319,x ; CPU:$A0D5 PRG:20D5 9D 19 03 + sta $0319,y ; CPU:$A0D8 PRG:20D8 99 19 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop200 +; Global: Branch target inside IrqHandler: taken when Loop200. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop200: + rts ; CPU:$A0DB PRG:20DB 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop201 +; Global: Branch target inside IrqHandler: taken when Loop201. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop201: + lda #$00 ; CPU:$A0DC PRG:20DC A9 00 + sta $0317,y ; CPU:$A0DE PRG:20DE 99 17 03 + rts ; CPU:$A0E1 PRG:20E1 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop202 +; Global: Branch target inside IrqHandler: taken when Loop202. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop202: + lda #$00 ; CPU:$A0E2 PRG:20E2 A9 00 + sta $0317,x ; CPU:$A0E4 PRG:20E4 9D 17 03 + rts ; CPU:$A0E7 PRG:20E7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A0E8 +; Global: Branch target inside Sub: taken when A0E8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A0E8: + lda #$00 ; CPU:$A0E8 PRG:20E8 A9 00 + sta $0317,x ; CPU:$A0EA PRG:20EA 9D 17 03 + sta $0317,y ; CPU:$A0ED PRG:20ED 99 17 03 + lda $0316,x ; CPU:$A0F0 PRG:20F0 BD 16 03 + bne IrqHandler_Loop210 ; CPU:$A0F3 PRG:20F3 D0 77 + lda $0316,y ; CPU:$A0F5 PRG:20F5 B9 16 03 + bne IrqHandler_Loop210 ; CPU:$A0F8 PRG:20F8 D0 72 + lda $0300,x ; CPU:$A0FA PRG:20FA BD 00 03 + beq IrqHandler_Loop210 ; CPU:$A0FD PRG:20FD F0 6D + lda $0300,y ; CPU:$A0FF PRG:20FF B9 00 03 + beq IrqHandler_Loop210 ; CPU:$A102 PRG:2102 F0 68 + lda $0309,x ; CPU:$A104 PRG:2104 BD 09 03 + sec ; CPU:$A107 PRG:2107 38 + sbc $0309,y ; CPU:$A108 PRG:2108 F9 09 03 + bpl IrqHandler_Loop203 ; CPU:$A10B PRG:210B 10 05 + eor #$FF ; CPU:$A10D PRG:210D 49 FF + clc ; CPU:$A10F PRG:210F 18 + adc #$01 ; CPU:$A110 PRG:2110 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop203 +; Global: Branch target inside IrqHandler: taken when Loop203. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop203: + sta Zp0E ; CPU:$A112 PRG:2112 85 0E + cmp BlockTileIndex2 ; CPU:$A114 PRG:2114 C5 13 + bcc IrqHandler_Loop205 ; CPU:$A116 PRG:2116 90 16 + lda $0309,x ; CPU:$A118 PRG:2118 BD 09 03 + cmp #$14 ; CPU:$A11B PRG:211B C9 14 + bcc IrqHandler_Loop204 ; CPU:$A11D PRG:211D 90 04 + cmp #$EC ; CPU:$A11F PRG:211F C9 EC + bcc IrqHandler_Loop210 ; CPU:$A121 PRG:2121 90 49 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop204 +; Global: Branch target inside IrqHandler: taken when Loop204. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop204: + lda $0309,y ; CPU:$A123 PRG:2123 B9 09 03 + cmp #$14 ; CPU:$A126 PRG:2126 C9 14 + bcc IrqHandler_Loop205 ; CPU:$A128 PRG:2128 90 04 + cmp #$EC ; CPU:$A12A PRG:212A C9 EC + bcc IrqHandler_Loop210 ; CPU:$A12C PRG:212C 90 3E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop205 +; Global: Branch target inside IrqHandler: taken when Loop205. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop205: + lda $0308,x ; CPU:$A12E PRG:212E BD 08 03 + sec ; CPU:$A131 PRG:2131 38 + sbc $0308,y ; CPU:$A132 PRG:2132 F9 08 03 + bpl IrqHandler_Loop206 ; CPU:$A135 PRG:2135 10 05 + eor #$FF ; CPU:$A137 PRG:2137 49 FF + clc ; CPU:$A139 PRG:2139 18 + adc #$01 ; CPU:$A13A PRG:213A 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop206 +; Global: Branch target inside IrqHandler: taken when Loop206. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop206: + sta Zp0C ; CPU:$A13C PRG:213C 85 0C + cmp BlockTileIndex ; CPU:$A13E PRG:213E C5 12 + bcc IrqHandler_Loop208 ; CPU:$A140 PRG:2140 90 16 + lda $0308,x ; CPU:$A142 PRG:2142 BD 08 03 + cmp #$34 ; CPU:$A145 PRG:2145 C9 34 + bcc IrqHandler_Loop207 ; CPU:$A147 PRG:2147 90 04 + cmp #$D4 ; CPU:$A149 PRG:2149 C9 D4 + bcc IrqHandler_Loop210 ; CPU:$A14B PRG:214B 90 1F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop207 +; Global: Branch target inside IrqHandler: taken when Loop207. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop207: + lda $0308,y ; CPU:$A14D PRG:214D B9 08 03 + cmp #$34 ; CPU:$A150 PRG:2150 C9 34 + bcc IrqHandler_Loop208 ; CPU:$A152 PRG:2152 90 04 + cmp #$D4 ; CPU:$A154 PRG:2154 C9 D4 + bcc IrqHandler_Loop210 ; CPU:$A156 PRG:2156 90 14 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop208 +; Global: Branch target inside IrqHandler: taken when Loop208. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop208: + lda $030B,x ; CPU:$A158 PRG:2158 BD 0B 03 + sec ; CPU:$A15B PRG:215B 38 + sbc $030B,y ; CPU:$A15C PRG:215C F9 0B 03 + bpl IrqHandler_Loop209 ; CPU:$A15F PRG:215F 10 05 + eor #$FF ; CPU:$A161 PRG:2161 49 FF + clc ; CPU:$A163 PRG:2163 18 + adc #$01 ; CPU:$A164 PRG:2164 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop209 +; Global: Branch target inside IrqHandler: taken when Loop209. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop209: + cmp Zp10 ; CPU:$A166 PRG:2166 C5 10 + bcs IrqHandler_Loop210 ; CPU:$A168 PRG:2168 B0 02 + sec ; CPU:$A16A PRG:216A 38 + rts ; CPU:$A16B PRG:216B 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop210 +; Global: Branch target inside IrqHandler: taken when Loop210. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop210: + clc ; CPU:$A16C PRG:216C 18 + rts ; CPU:$A16D PRG:216D 60 +; ---- data $A16E-$A18E (33 bytes) ---- +; referenced by `lda $A16E,y` at $A1F8 (operand $A16E falls inside this region) +; referenced by `lda $A17E,y` at $A207 (operand $A17E falls inside this region) +; referenced by `lda $A186,y` at $A21F (operand $A186 falls inside this region) +; referenced by `lda $A187,y` at $A225 (operand $A187 falls inside this region) +; referenced by `lda $A188,y` at $A22B (operand $A188 falls inside this region) + .byte $38, $50, $68, $80, $98, $B0, $C8, $00, $38, $50, $68, $80, $98, $B0, $C8, $00 ; CPU:$A16E PRG:216E 38 50 68 80 98 B0 C8 00 38 50 68 80 98 B0 C8 00 + .byte $10, $20, $40, $60, $80, $A0, $C0, $E0, $00, $00, $01, $FC, $05, $02, $00, $2E ; CPU:$A17E PRG:217E 10 20 40 60 80 A0 C0 E0 00 00 01 FC 05 02 00 2E + .byte $01 ; CPU:$A18E PRG:218E 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_A18F +; Global: Branch target inside Sub: taken when A18F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A18F: + lda $0380,x ; CPU:$A18F PRG:218F BD 80 03 + beq IrqHandler_Loop211 ; CPU:$A192 PRG:2192 F0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero9 +; Global: Branch target inside IrqHandler: taken when OnZero9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero9: + rts ; CPU:$A194 PRG:2194 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop211 +; Global: Branch target inside IrqHandler: taken when Loop211. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop211: + lda GameState ; CPU:$A195 PRG:2195 A5 49 + bpl IrqHandler_Loop212 ; CPU:$A197 PRG:2197 10 03 + jmp Sub_A25C ; CPU:$A199 PRG:2199 4C 5C A2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop212 +; Global: Branch target inside IrqHandler: taken when Loop212. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop212: + lda $030F,x ; CPU:$A19C PRG:219C BD 0F 03 + cmp #$FF ; CPU:$A19F PRG:219F C9 FF + beq IrqHandler_OnZero9 ; CPU:$A1A1 PRG:21A1 F0 F1 + ldy $030E,x ; CPU:$A1A3 PRG:21A3 BC 0E 03 + lda $0400,y ; CPU:$A1A6 PRG:21A6 B9 00 04 + cmp #$FF ; CPU:$A1A9 PRG:21A9 C9 FF + beq IrqHandler_OnZero9 ; CPU:$A1AB PRG:21AB F0 E7 + and #$40 ; CPU:$A1AD PRG:21AD 29 40 + bne IrqHandler_OnZero9 ; CPU:$A1AF PRG:21AF D0 E3 + tya ; CPU:$A1B1 PRG:21B1 98 + sta $038E,x ; CPU:$A1B2 PRG:21B2 9D 8E 03 + lda #$00 ; CPU:$A1B5 PRG:21B5 A9 00 + sta $0392,x ; CPU:$A1B7 PRG:21B7 9D 92 03 + lda $0400,y ; CPU:$A1BA PRG:21BA B9 00 04 + and #$80 ; CPU:$A1BD PRG:21BD 29 80 + sta $0380,x ; CPU:$A1BF PRG:21BF 9D 80 03 + inc $0380,x ; CPU:$A1C2 PRG:21C2 FE 80 03 + lda $0400,y ; CPU:$A1C5 PRG:21C5 B9 00 04 + and #$0F ; CPU:$A1C8 PRG:21C8 29 0F + sta $038F,x ; CPU:$A1CA PRG:21CA 9D 8F 03 + clc ; CPU:$A1CD PRG:21CD 18 + adc #$14 ; CPU:$A1CE PRG:21CE 69 14 + sta $0386,x ; CPU:$A1D0 PRG:21D0 9D 86 03 + jsr Sub_B2B1 ; CPU:$A1D3 PRG:21D3 20 B1 B2 + lda $038F,x ; CPU:$A1D6 PRG:21D6 BD 8F 03 + beq IrqHandler_Loop213 ; CPU:$A1D9 PRG:21D9 F0 03 + jsr Sub_B2B5 ; CPU:$A1DB PRG:21DB 20 B5 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop213 +; Global: Branch target inside IrqHandler: taken when Loop213. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop213: + cpy #$30 ; CPU:$A1DE PRG:21DE C0 30 + bcs IrqHandler_Loop214 ; CPU:$A1E0 PRG:21E0 B0 09 + lda $0408,y ; CPU:$A1E2 PRG:21E2 B9 08 04 + bmi IrqHandler_Loop214 ; CPU:$A1E5 PRG:21E5 30 04 + lda #$11 ; CPU:$A1E7 PRG:21E7 A9 11 + bne IrqHandler_Loop215 ; CPU:$A1E9 PRG:21E9 D0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop214 +; Global: Branch target inside IrqHandler: taken when Loop214. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop214: + lda #$13 ; CPU:$A1EB PRG:21EB A9 13 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop215 +; Global: Branch target inside IrqHandler: taken when Loop215. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop215: + sta $0396,x ; CPU:$A1ED PRG:21ED 9D 96 03 + lda #$22 ; CPU:$A1F0 PRG:21F0 A9 22 + sta $0397,x ; CPU:$A1F2 PRG:21F2 9D 97 03 + ldy $030F,x ; CPU:$A1F5 PRG:21F5 BC 0F 03 + lda $A16E,y ; CPU:$A1F8 PRG:21F8 B9 6E A1 + sta $0388,x ; CPU:$A1FB PRG:21FB 9D 88 03 + sta $0398,x ; CPU:$A1FE PRG:21FE 9D 98 03 + lda $030E,x ; CPU:$A201 PRG:2201 BD 0E 03 + and #$07 ; CPU:$A204 PRG:2204 29 07 + tay ; CPU:$A206 PRG:2206 A8 + lda $A17E,y ; CPU:$A207 PRG:2207 B9 7E A1 + sta $0389,x ; CPU:$A20A PRG:220A 9D 89 03 + sta $0399,x ; CPU:$A20D PRG:220D 9D 99 03 + ldy #$06 ; CPU:$A210 PRG:2210 A0 06 + bit GameState ; CPU:$A212 PRG:2212 24 49 + bvs IrqHandler_Loop216 ; CPU:$A214 PRG:2214 70 09 + ldy #$00 ; CPU:$A216 PRG:2216 A0 00 + lda $0380,x ; CPU:$A218 PRG:2218 BD 80 03 + bpl IrqHandler_Loop216 ; CPU:$A21B PRG:221B 10 02 + ldy #$03 ; CPU:$A21D PRG:221D A0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop216 +; Global: Branch target inside IrqHandler: taken when Loop216. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop216: + lda $A186,y ; CPU:$A21F PRG:221F B9 86 A1 + sta $038B,x ; CPU:$A222 PRG:2222 9D 8B 03 + lda $A187,y ; CPU:$A225 PRG:2225 B9 87 A1 + sta $038C,x ; CPU:$A228 PRG:2228 9D 8C 03 + lda $A188,y ; CPU:$A22B PRG:222B B9 88 A1 + sta $0387,x ; CPU:$A22E PRG:222E 9D 87 03 + lda $038F,x ; CPU:$A231 PRG:2231 BD 8F 03 + bne IrqHandler_Loop217 ; CPU:$A234 PRG:2234 D0 05 + lda #$02 ; CPU:$A236 PRG:2236 A9 02 + sta $0387,x ; CPU:$A238 PRG:2238 9D 87 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop217 +; Global: Branch target inside IrqHandler: taken when Loop217. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop217: + lda #$00 ; CPU:$A23B PRG:223B A9 00 + sta $039B,x ; CPU:$A23D PRG:223D 9D 9B 03 + lda #$B8 ; CPU:$A240 PRG:2240 A9 B8 + ldy #$A8 ; CPU:$A242 PRG:2242 A0 A8 + cpx #$00 ; CPU:$A244 PRG:2244 E0 00 + beq IrqHandler_Loop218 ; CPU:$A246 PRG:2246 F0 04 + lda #$78 ; CPU:$A248 PRG:2248 A9 78 + ldy #$68 ; CPU:$A24A PRG:224A A0 68 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop218 +; Global: Branch target inside IrqHandler: taken when Loop218. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop218: + sta $038A,x ; CPU:$A24C PRG:224C 9D 8A 03 + tya ; CPU:$A24F PRG:224F 98 + sta $039A,x ; CPU:$A250 PRG:2250 9D 9A 03 + lda #$10 ; CPU:$A253 PRG:2253 A9 10 + sta $039F,x ; CPU:$A255 PRG:2255 9D 9F 03 + jsr Sub_A563 ; CPU:$A258 PRG:2258 20 63 A5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero29 +; Global: Branch target inside IrqHandler: taken when OnNonzero29. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero29: + rts ; CPU:$A25B PRG:225B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A25C +; Global: Branch target inside Sub: taken when A25C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A25C: + lda $030F,x ; CPU:$A25C PRG:225C BD 0F 03 + cmp #$04 ; CPU:$A25F PRG:225F C9 04 + bne IrqHandler_OnNonzero29 ; CPU:$A261 PRG:2261 D0 F8 + lda #$00 ; CPU:$A263 PRG:2263 A9 00 + sta $0392,x ; CPU:$A265 PRG:2265 9D 92 03 + lda Zp59 ; CPU:$A268 PRG:2268 A5 59 + sta $038E,x ; CPU:$A26A PRG:226A 9D 8E 03 + tay ; CPU:$A26D PRG:226D A8 + lda #$01 ; CPU:$A26E PRG:226E A9 01 + sta $0380,x ; CPU:$A270 PRG:2270 9D 80 03 + lda GameState ; CPU:$A273 PRG:2273 A5 49 + cmp #$81 ; CPU:$A275 PRG:2275 C9 81 + beq IrqHandler_Loop219 ; CPU:$A277 PRG:2277 F0 05 + lda Zp5A ; CPU:$A279 PRG:2279 A5 5A + sta $0580,y ; CPU:$A27B PRG:227B 99 80 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop219 +; Global: Branch target inside IrqHandler: taken when Loop219. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop219: + lda $0580,y ; CPU:$A27E PRG:227E B9 80 05 + sta $038F,x ; CPU:$A281 PRG:2281 9D 8F 03 + clc ; CPU:$A284 PRG:2284 18 + adc #$14 ; CPU:$A285 PRG:2285 69 14 + sta $0386,x ; CPU:$A287 PRG:2287 9D 86 03 + jsr Sub_B2B1 ; CPU:$A28A PRG:228A 20 B1 B2 + lda $038F,x ; CPU:$A28D PRG:228D BD 8F 03 + beq IrqHandler_Loop220 ; CPU:$A290 PRG:2290 F0 03 + jsr Sub_B2B5 ; CPU:$A292 PRG:2292 20 B5 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop220 +; Global: Branch target inside IrqHandler: taken when Loop220. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop220: + lda #$13 ; CPU:$A295 PRG:2295 A9 13 + sta $0396,x ; CPU:$A297 PRG:2297 9D 96 03 + lda #$22 ; CPU:$A29A PRG:229A A9 22 + sta $0397,x ; CPU:$A29C PRG:229C 9D 97 03 + lda #$98 ; CPU:$A29F PRG:229F A9 98 + sta $0388,x ; CPU:$A2A1 PRG:22A1 9D 88 03 + sta $0398,x ; CPU:$A2A4 PRG:22A4 9D 98 03 + lda $0309,x ; CPU:$A2A7 PRG:22A7 BD 09 03 + lsr a ; CPU:$A2AA PRG:22AA 4A + lsr a ; CPU:$A2AB PRG:22AB 4A + lsr a ; CPU:$A2AC PRG:22AC 4A + lsr a ; CPU:$A2AD PRG:22AD 4A + ora #$10 ; CPU:$A2AE PRG:22AE 09 10 + asl a ; CPU:$A2B0 PRG:22B0 0A + asl a ; CPU:$A2B1 PRG:22B1 0A + asl a ; CPU:$A2B2 PRG:22B2 0A + asl a ; CPU:$A2B3 PRG:22B3 0A + sta $0389,x ; CPU:$A2B4 PRG:22B4 9D 89 03 + sta $0399,x ; CPU:$A2B7 PRG:22B7 9D 99 03 + lda GameState ; CPU:$A2BA PRG:22BA A5 49 + ldy #$0A ; CPU:$A2BC PRG:22BC A0 0A + cmp #$80 ; CPU:$A2BE PRG:22BE C9 80 + beq IrqHandler_Loop221 ; CPU:$A2C0 PRG:22C0 F0 02 + ldy #$1A ; CPU:$A2C2 PRG:22C2 A0 1A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop221 +; Global: Branch target inside IrqHandler: taken when Loop221. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop221: + tya ; CPU:$A2C4 PRG:22C4 98 + sta $038C,x ; CPU:$A2C5 PRG:22C5 9D 8C 03 + lda #$00 ; CPU:$A2C8 PRG:22C8 A9 00 + sta $038B,x ; CPU:$A2CA PRG:22CA 9D 8B 03 + sta $039B,x ; CPU:$A2CD PRG:22CD 9D 9B 03 + ldy #$02 ; CPU:$A2D0 PRG:22D0 A0 02 + lda GameState ; CPU:$A2D2 PRG:22D2 A5 49 + cmp #$80 ; CPU:$A2D4 PRG:22D4 C9 80 + beq IrqHandler_Loop222 ; CPU:$A2D6 PRG:22D6 F0 07 + lda $038F,x ; CPU:$A2D8 PRG:22D8 BD 8F 03 + beq IrqHandler_Loop222 ; CPU:$A2DB PRG:22DB F0 02 + ldy #$01 ; CPU:$A2DD PRG:22DD A0 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop222 +; Global: Branch target inside IrqHandler: taken when Loop222. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop222: + tya ; CPU:$A2DF PRG:22DF 98 + sta $0387,x ; CPU:$A2E0 PRG:22E0 9D 87 03 + lda #$B8 ; CPU:$A2E3 PRG:22E3 A9 B8 + sta $038A,x ; CPU:$A2E5 PRG:22E5 9D 8A 03 + lda #$A8 ; CPU:$A2E8 PRG:22E8 A9 A8 + sta $039A,x ; CPU:$A2EA PRG:22EA 9D 9A 03 + jsr Sub_A54F ; CPU:$A2ED PRG:22ED 20 4F A5 + rts ; CPU:$A2F0 PRG:22F0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A2F1 +; Global: Branch target inside Sub: taken when A2F1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A2F1: + lda #$01 ; CPU:$A2F1 PRG:22F1 A9 01 + sta $0380,x ; CPU:$A2F3 PRG:22F3 9D 80 03 + lda #$14 ; CPU:$A2F6 PRG:22F6 A9 14 + sta $0386,x ; CPU:$A2F8 PRG:22F8 9D 86 03 + jsr Sub_B2B1 ; CPU:$A2FB PRG:22FB 20 B1 B2 + lda #$1C ; CPU:$A2FE PRG:22FE A9 1C + sta $0396,x ; CPU:$A300 PRG:2300 9D 96 03 + lda #$02 ; CPU:$A303 PRG:2303 A9 02 + sta $0397,x ; CPU:$A305 PRG:2305 9D 97 03 + ldy $034F ; CPU:$A308 PRG:2308 AC 4F 03 + lda $A339,y ; CPU:$A30B PRG:230B B9 39 A3 + sta $0388,x ; CPU:$A30E PRG:230E 9D 88 03 + sta $0398,x ; CPU:$A311 PRG:2311 9D 98 03 + lda #$50 ; CPU:$A314 PRG:2314 A9 50 + sta $0389,x ; CPU:$A316 PRG:2316 9D 89 03 + sta $0399,x ; CPU:$A319 PRG:2319 9D 99 03 + lda #$3E ; CPU:$A31C PRG:231C A9 3E + sta $038C,x ; CPU:$A31E PRG:231E 9D 8C 03 + lda #$00 ; CPU:$A321 PRG:2321 A9 00 + sta $038B,x ; CPU:$A323 PRG:2323 9D 8B 03 + sta $039B,x ; CPU:$A326 PRG:2326 9D 9B 03 + lda #$01 ; CPU:$A329 PRG:2329 A9 01 + sta $0387,x ; CPU:$A32B PRG:232B 9D 87 03 + lda #$A8 ; CPU:$A32E PRG:232E A9 A8 + sta $038A,x ; CPU:$A330 PRG:2330 9D 8A 03 + lda #$D8 ; CPU:$A333 PRG:2333 A9 D8 + sta $039A,x ; CPU:$A335 PRG:2335 9D 9A 03 + rts ; CPU:$A338 PRG:2338 60 +; ---- data $A339-$A33D (5 bytes) ---- +; referenced by `lda $A339,y` at $A30B (operand $A339 falls inside this region) + .byte $40, $60, $80, $A0, $C0 ; CPU:$A339 PRG:2339 40 60 80 A0 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_A33E +; Global: Branch target inside Sub: taken when A33E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A33E: + lda #$01 ; CPU:$A33E PRG:233E A9 01 + sta $0380,x ; CPU:$A340 PRG:2340 9D 80 03 + lda #$14 ; CPU:$A343 PRG:2343 A9 14 + sta $0386,x ; CPU:$A345 PRG:2345 9D 86 03 + jsr Sub_B2B1 ; CPU:$A348 PRG:2348 20 B1 B2 + ldy $034F ; CPU:$A34B PRG:234B AC 4F 03 + lda $A3CB,y ; CPU:$A34E PRG:234E B9 CB A3 + sta $0388,x ; CPU:$A351 PRG:2351 9D 88 03 + sta $0398,x ; CPU:$A354 PRG:2354 9D 98 03 + lda $034E ; CPU:$A357 PRG:2357 AD 4E 03 + and #$07 ; CPU:$A35A PRG:235A 29 07 + tay ; CPU:$A35C PRG:235C A8 + lda $A3CF,y ; CPU:$A35D PRG:235D B9 CF A3 + sta $0389,x ; CPU:$A360 PRG:2360 9D 89 03 + sta $0399,x ; CPU:$A363 PRG:2363 9D 99 03 + lda #$3E ; CPU:$A366 PRG:2366 A9 3E + sta $038C,x ; CPU:$A368 PRG:2368 9D 8C 03 + lda #$00 ; CPU:$A36B PRG:236B A9 00 + sta $038B,x ; CPU:$A36D PRG:236D 9D 8B 03 + sta $039B,x ; CPU:$A370 PRG:2370 9D 9B 03 + lda #$02 ; CPU:$A373 PRG:2373 A9 02 + sta $0387,x ; CPU:$A375 PRG:2375 9D 87 03 + lda #$B8 ; CPU:$A378 PRG:2378 A9 B8 + sta $038A,x ; CPU:$A37A PRG:237A 9D 8A 03 + lda #$E8 ; CPU:$A37D PRG:237D A9 E8 + sta $039A,x ; CPU:$A37F PRG:237F 9D 9A 03 + lda #$1C ; CPU:$A382 PRG:2382 A9 1C + sta $0396,x ; CPU:$A384 PRG:2384 9D 96 03 + lda #$01 ; CPU:$A387 PRG:2387 A9 01 + sta $0397,x ; CPU:$A389 PRG:2389 9D 97 03 + lda BlockIndex ; CPU:$A38C PRG:238C A5 4A + pha ; CPU:$A38E PRG:238E 48 + txa ; CPU:$A38F PRG:238F 8A + pha ; CPU:$A390 PRG:2390 48 + clc ; CPU:$A391 PRG:2391 18 + adc #$90 ; CPU:$A392 PRG:2392 69 90 + sta BlockIndex ; CPU:$A394 PRG:2394 85 4A + jsr Sub_830A ; CPU:$A396 PRG:2396 20 0A 83 + pla ; CPU:$A399 PRG:2399 68 + tax ; CPU:$A39A PRG:239A AA + pla ; CPU:$A39B PRG:239B 68 + sta BlockIndex ; CPU:$A39C PRG:239C 85 4A + lda #$A8 ; CPU:$A39E PRG:239E A9 A8 + sta $039A,x ; CPU:$A3A0 PRG:23A0 9D 9A 03 + lda #$11 ; CPU:$A3A3 PRG:23A3 A9 11 + ldy $034E ; CPU:$A3A5 PRG:23A5 AC 4E 03 + cpy #$03 ; CPU:$A3A8 PRG:23A8 C0 03 + beq IrqHandler_Loop223 ; CPU:$A3AA PRG:23AA F0 16 + cpy #$06 ; CPU:$A3AC PRG:23AC C0 06 + beq IrqHandler_Loop223 ; CPU:$A3AE PRG:23AE F0 12 + cpy #$0B ; CPU:$A3B0 PRG:23B0 C0 0B + beq IrqHandler_Loop223 ; CPU:$A3B2 PRG:23B2 F0 0E + cpy #$0E ; CPU:$A3B4 PRG:23B4 C0 0E + beq IrqHandler_Loop223 ; CPU:$A3B6 PRG:23B6 F0 0A + cpy #$13 ; CPU:$A3B8 PRG:23B8 C0 13 + beq IrqHandler_Loop223 ; CPU:$A3BA PRG:23BA F0 06 + cpy #$16 ; CPU:$A3BC PRG:23BC C0 16 + beq IrqHandler_Loop223 ; CPU:$A3BE PRG:23BE F0 02 + lda #$13 ; CPU:$A3C0 PRG:23C0 A9 13 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop223 +; Global: Branch target inside IrqHandler: taken when Loop223. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop223: + sta $0396,x ; CPU:$A3C2 PRG:23C2 9D 96 03 + lda #$02 ; CPU:$A3C5 PRG:23C5 A9 02 + sta $0397,x ; CPU:$A3C7 PRG:23C7 9D 97 03 + rts ; CPU:$A3CA PRG:23CA 60 +; ---- data $A3CB-$A3D6 (12 bytes) ---- +; referenced by `lda $A3CB,y` at $A34E (operand $A3CB falls inside this region) +; referenced by `lda $A3CF,y` at $A35D (operand $A3CF falls inside this region) + .byte $38, $50, $68, $80, $00, $01, $02, $50, $70, $90, $B0, $00 ; CPU:$A3CB PRG:23CB 38 50 68 80 00 01 02 50 70 90 B0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_A3D7 +; Global: Branch target inside Sub: taken when A3D7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A3D7: + ldx #$00 ; CPU:$A3D7 PRG:23D7 A2 00 + stx ZpAA ; CPU:$A3D9 PRG:23D9 86 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero30 +; Global: Branch target inside IrqHandler: taken when OnNonzero30. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero30: + lda ZpAA ; CPU:$A3DB PRG:23DB A5 AA + tax ; CPU:$A3DD PRG:23DD AA + clc ; CPU:$A3DE PRG:23DE 18 + adc #$80 ; CPU:$A3DF PRG:23DF 69 80 + sta BlockIndex ; CPU:$A3E1 PRG:23E1 85 4A + jsr Sub_A3F3 ; CPU:$A3E3 PRG:23E3 20 F3 A3 + lda ZpAA ; CPU:$A3E6 PRG:23E6 A5 AA + clc ; CPU:$A3E8 PRG:23E8 18 + adc #$20 ; CPU:$A3E9 PRG:23E9 69 20 + tax ; CPU:$A3EB PRG:23EB AA + sta ZpAA ; CPU:$A3EC PRG:23EC 85 AA + cmp #$40 ; CPU:$A3EE PRG:23EE C9 40 + bne IrqHandler_OnNonzero30 ; CPU:$A3F0 PRG:23F0 D0 E9 + rts ; CPU:$A3F2 PRG:23F2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A3F3 +; Global: Branch target inside Sub: taken when A3F3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A3F3: + lda $0380,x ; CPU:$A3F3 PRG:23F3 BD 80 03 + beq IrqHandler_Loop224 ; CPU:$A3F6 PRG:23F6 F0 35 + ldy $038C,x ; CPU:$A3F8 PRG:23F8 BC 8C 03 + inc $038C,x ; CPU:$A3FB PRG:23FB FE 8C 03 + lda $A4A0,y ; CPU:$A3FE PRG:23FE B9 A0 A4 + cmp #$AA ; CPU:$A401 PRG:2401 C9 AA + beq IrqHandler_Loop230 ; CPU:$A403 PRG:2403 F0 55 + cmp #$AB ; CPU:$A405 PRG:2405 C9 AB + beq IrqHandler_Loop226 ; CPU:$A407 PRG:2407 F0 2D + cmp #$AC ; CPU:$A409 PRG:2409 C9 AC + beq IrqHandler_Loop233 ; CPU:$A40B PRG:240B F0 7B + cmp #$AD ; CPU:$A40D PRG:240D C9 AD + beq IrqHandler_Loop225 ; CPU:$A40F PRG:240F F0 1D + cmp #$AE ; CPU:$A411 PRG:2411 C9 AE + beq IrqHandler_Loop231 ; CPU:$A413 PRG:2413 F0 64 + cmp #$AF ; CPU:$A415 PRG:2415 C9 AF + beq IrqHandler_Loop232 ; CPU:$A417 PRG:2417 F0 67 + clc ; CPU:$A419 PRG:2419 18 + adc $038B,x ; CPU:$A41A PRG:241A 7D 8B 03 + sta $038B,x ; CPU:$A41D PRG:241D 9D 8B 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A420 +; Global: Branch target inside Sub: taken when A420. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A420: + jsr Sub_830A ; CPU:$A420 PRG:2420 20 0A 83 + lda BlockIndex ; CPU:$A423 PRG:2423 A5 4A + clc ; CPU:$A425 PRG:2425 18 + adc #$10 ; CPU:$A426 PRG:2426 69 10 + sta BlockIndex ; CPU:$A428 PRG:2428 85 4A + jsr Sub_830A ; CPU:$A42A PRG:242A 20 0A 83 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop224 +; Global: Branch target inside IrqHandler: taken when Loop224. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop224: + rts ; CPU:$A42D PRG:242D 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop225 +; Global: Branch target inside IrqHandler: taken when Loop225. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop225: + lda $0380,x ; CPU:$A42E PRG:242E BD 80 03 + eor #$80 ; CPU:$A431 PRG:2431 49 80 + sta $0380,x ; CPU:$A433 PRG:2433 9D 80 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop226 +; Global: Branch target inside IrqHandler: taken when Loop226. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop226: + lda $038F,x ; CPU:$A436 PRG:2436 BD 8F 03 + beq IrqHandler_Loop228 ; CPU:$A439 PRG:2439 F0 13 + cmp #$07 ; CPU:$A43B PRG:243B C9 07 + beq IrqHandler_Loop228 ; CPU:$A43D PRG:243D F0 0F + ldy $0392,x ; CPU:$A43F PRG:243F BC 92 03 + bne IrqHandler_Loop228 ; CPU:$A442 PRG:2442 D0 0A + cpx #$00 ; CPU:$A444 PRG:2444 E0 00 + bne IrqHandler_Loop227 ; CPU:$A446 PRG:2446 D0 03 + jsr Sub_8C6A ; CPU:$A448 PRG:2448 20 6A 8C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop227 +; Global: Branch target inside IrqHandler: taken when Loop227. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop227: + jsr $B1DE ; CPU:$A44B PRG:244B 20 DE B1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop228 +; Global: Branch target inside IrqHandler: taken when Loop228. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop228: + lda BoardState ; CPU:$A44E PRG:244E A5 40 + beq IrqHandler_Loop229 ; CPU:$A450 PRG:2450 F0 05 + lda #$00 ; CPU:$A452 PRG:2452 A9 00 + sta $038F,x ; CPU:$A454 PRG:2454 9D 8F 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop229 +; Global: Branch target inside IrqHandler: taken when Loop229. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop229: + jmp Sub_A420 ; CPU:$A457 PRG:2457 4C 20 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop230 +; Global: Branch target inside IrqHandler: taken when Loop230. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop230: + ldy $038E,x ; CPU:$A45A PRG:245A BC 8E 03 + lda $0380,x ; CPU:$A45D PRG:245D BD 80 03 + eor #$80 ; CPU:$A460 PRG:2460 49 80 + and #$80 ; CPU:$A462 PRG:2462 29 80 + ora $038F,x ; CPU:$A464 PRG:2464 1D 8F 03 + sta $0400,y ; CPU:$A467 PRG:2467 99 00 04 + lda #$00 ; CPU:$A46A PRG:246A A9 00 + sta $0380,x ; CPU:$A46C PRG:246C 9D 80 03 + lda $038E,x ; CPU:$A46F PRG:246F BD 8E 03 + tax ; CPU:$A472 PRG:2472 AA + jsr Sub_A5B7 ; CPU:$A473 PRG:2473 20 B7 A5 + jmp Sub_A420 ; CPU:$A476 PRG:2476 4C 20 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop231 +; Global: Branch target inside IrqHandler: taken when Loop231. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop231: + txa ; CPU:$A479 PRG:2479 8A + pha ; CPU:$A47A PRG:247A 48 + jsr Sub_A58B ; CPU:$A47B PRG:247B 20 8B A5 + pla ; CPU:$A47E PRG:247E 68 + tax ; CPU:$A47F PRG:247F AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop232 +; Global: Branch target inside IrqHandler: taken when Loop232. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop232: + lda #$00 ; CPU:$A480 PRG:2480 A9 00 + sta $0380,x ; CPU:$A482 PRG:2482 9D 80 03 + jmp Sub_A420 ; CPU:$A485 PRG:2485 4C 20 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop233 +; Global: Branch target inside IrqHandler: taken when Loop233. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop233: + lda $0301 ; CPU:$A488 PRG:2488 AD 01 03 + cmp #$01 ; CPU:$A48B PRG:248B C9 01 + beq IrqHandler_Loop234 ; CPU:$A48D PRG:248D F0 06 + dec $038C,x ; CPU:$A48F PRG:248F DE 8C 03 + jmp Sub_A420 ; CPU:$A492 PRG:2492 4C 20 A4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop234 +; Global: Branch target inside IrqHandler: taken when Loop234. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop234: + lda $0380,x ; CPU:$A495 PRG:2495 BD 80 03 + eor #$80 ; CPU:$A498 PRG:2498 49 80 + sta $0380,x ; CPU:$A49A PRG:249A 9D 80 03 + jmp Sub_A420 ; CPU:$A49D PRG:249D 4C 20 A4 +; ---- data $A4A0-$A4E9 (74 bytes) ---- +; referenced by `lda $A4A0,y` at $A3FE (operand $A4A0 falls inside this region) + .byte $FE, $FF, $FF, $AB, $AA, $01, $01, $01, $01, $AA, $FE, $FF, $00, $FF, $00, $AC ; CPU:$A4A0 PRG:24A0 FE FF FF AB AA 01 01 01 01 AA FE FF 00 FF 00 AC + .byte $01, $00, $01, $00, $00, $01, $00, $00, $01, $AE, $FE, $FF, $00, $FF, $00, $AD ; CPU:$A4B0 PRG:24B0 01 00 01 00 00 01 00 00 01 AE FE FF 00 FF 00 AD + .byte $01, $00, $00, $00, $01, $00, $00, $00, $01, $00, $00, $00, $01, $AE, $FE, $FF ; CPU:$A4C0 PRG:24C0 01 00 00 00 01 00 00 00 01 00 00 00 01 AE FE FF + .byte $00, $FF, $00, $AD, $01, $00, $01, $00, $00, $01, $00, $00, $01, $AA, $FE, $FF ; CPU:$A4D0 PRG:24D0 00 FF 00 AD 01 00 01 00 00 01 00 00 01 AA FE FF + .byte $FF, $00, $00, $00, $00, $01, $01, $01, $01, $AF ; CPU:$A4E0 PRG:24E0 FF 00 00 00 00 01 01 01 01 AF +; ----------------------------------------------------------------------------- +; Routine: Sub_A4EA +; Global: Branch target inside Sub: taken when A4EA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A4EA: + lda GameState ; CPU:$A4EA PRG:24EA A5 49 + bmi IrqHandler_Loop236 ; CPU:$A4EC PRG:24EC 30 22 + ldx #$00 ; CPU:$A4EE PRG:24EE A2 00 + stx Zp0C ; CPU:$A4F0 PRG:24F0 86 0C + ldx #$38 ; CPU:$A4F2 PRG:24F2 A2 38 + stx Zp0D ; CPU:$A4F4 PRG:24F4 86 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero31 +; Global: Branch target inside IrqHandler: taken when OnNonzero31. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero31: + ldx Zp0C ; CPU:$A4F6 PRG:24F6 A6 0C + lda $0400,x ; CPU:$A4F8 PRG:24F8 BD 00 04 + cmp #$FF ; CPU:$A4FB PRG:24FB C9 FF + beq IrqHandler_Loop235 ; CPU:$A4FD PRG:24FD F0 06 + jsr Sub_A5B7 ; CPU:$A4FF PRG:24FF 20 B7 A5 + jsr Sub_8413 ; CPU:$A502 PRG:2502 20 13 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop235 +; Global: Branch target inside IrqHandler: taken when Loop235. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop235: + inc Zp0C ; CPU:$A505 PRG:2505 E6 0C + ldx Zp0C ; CPU:$A507 PRG:2507 A6 0C + cpx Zp0D ; CPU:$A509 PRG:2509 E4 0D + bne IrqHandler_OnNonzero31 ; CPU:$A50B PRG:250B D0 E9 + jmp Sub_84CF ; CPU:$A50D PRG:250D 4C CF 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop236 +; Global: Branch target inside IrqHandler: taken when Loop236. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop236: + lda #$00 ; CPU:$A510 PRG:2510 A9 00 + sta Zp0C ; CPU:$A512 PRG:2512 85 0C +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero32 +; Global: Branch target inside IrqHandler: taken when OnNonzero32. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero32: + jsr Sub_A58E ; CPU:$A514 PRG:2514 20 8E A5 + jsr Sub_8413 ; CPU:$A517 PRG:2517 20 13 84 + inc Zp0C ; CPU:$A51A PRG:251A E6 0C + lda Zp0C ; CPU:$A51C PRG:251C A5 0C + cmp #$05 ; CPU:$A51E PRG:251E C9 05 + bne IrqHandler_OnNonzero32 ; CPU:$A520 PRG:2520 D0 F2 + jmp Sub_84CF ; CPU:$A522 PRG:2522 4C CF 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_A525 +; Global: Branch target inside Sub: taken when A525. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A525: + ldx #$00 ; CPU:$A525 PRG:2525 A2 00 + stx Zp0C ; CPU:$A527 PRG:2527 86 0C + stx Zp0D ; CPU:$A529 PRG:2529 86 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero33 +; Global: Branch target inside IrqHandler: taken when OnNonzero33. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero33: + ldx Zp0C ; CPU:$A52B PRG:252B A6 0C + lda $0400,x ; CPU:$A52D PRG:252D BD 00 04 + cmp #$FF ; CPU:$A530 PRG:2530 C9 FF + beq IrqHandler_Loop237 ; CPU:$A532 PRG:2532 F0 12 + jsr Sub_A5B7 ; CPU:$A534 PRG:2534 20 B7 A5 + inc Zp0D ; CPU:$A537 PRG:2537 E6 0D + ldy Zp0D ; CPU:$A539 PRG:2539 A4 0D + cpy #$03 ; CPU:$A53B PRG:253B C0 03 + bne IrqHandler_Loop237 ; CPU:$A53D PRG:253D D0 07 + ldy #$00 ; CPU:$A53F PRG:253F A0 00 + sty Zp0D ; CPU:$A541 PRG:2541 84 0D + jsr Sub_815F ; CPU:$A543 PRG:2543 20 5F 81 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop237 +; Global: Branch target inside IrqHandler: taken when Loop237. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop237: + inc Zp0C ; CPU:$A546 PRG:2546 E6 0C + ldx Zp0C ; CPU:$A548 PRG:2548 A6 0C + cpx #$38 ; CPU:$A54A PRG:254A E0 38 + bne IrqHandler_OnNonzero33 ; CPU:$A54C PRG:254C D0 DD + rts ; CPU:$A54E PRG:254E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_A54F +; Global: Branch target inside Sub: taken when A54F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A54F: + lda $038E,x ; CPU:$A54F PRG:254F BD 8E 03 + and #$07 ; CPU:$A552 PRG:2552 29 07 + asl a ; CPU:$A554 PRG:2554 0A + tax ; CPU:$A555 PRG:2555 AA + lda $A8D3,x ; CPU:$A556 PRG:2556 BD D3 A8 + sta VramWritePtrLo ; CPU:$A559 PRG:2559 85 00 + lda $A8D4,x ; CPU:$A55B PRG:255B BD D4 A8 + sta VramWritePtrHi ; CPU:$A55E PRG:255E 85 01 + jmp Sub_A572 ; CPU:$A560 PRG:2560 4C 72 A5 +; ----------------------------------------------------------------------------- +; Routine: Sub_A563 +; Global: Branch target inside Sub: taken when A563. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A563: + lda $038E,x ; CPU:$A563 PRG:2563 BD 8E 03 + asl a ; CPU:$A566 PRG:2566 0A + tax ; CPU:$A567 PRG:2567 AA + lda $A853,x ; CPU:$A568 PRG:2568 BD 53 A8 + sta VramWritePtrLo ; CPU:$A56B PRG:256B 85 00 + lda $A854,x ; CPU:$A56D PRG:256D BD 54 A8 + sta VramWritePtrHi ; CPU:$A570 PRG:2570 85 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_A572 +; Global: Branch target inside Sub: taken when A572. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A572: + lda #$09 ; CPU:$A572 PRG:2572 A9 09 + jsr Sub_A68A ; CPU:$A574 PRG:2574 20 8A A6 + lda #$34 ; CPU:$A577 PRG:2577 A9 34 + sta $0620 ; CPU:$A579 PRG:2579 8D 20 06 + ldy #$00 ; CPU:$A57C PRG:257C A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero34 +; Global: Branch target inside IrqHandler: taken when OnNonzero34. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero34: + lda (BlockPtrLo),y ; CPU:$A57E PRG:257E B1 14 + sta $0621,y ; CPU:$A580 PRG:2580 99 21 06 + iny ; CPU:$A583 PRG:2583 C8 + cpy #$0C ; CPU:$A584 PRG:2584 C0 0C + bne IrqHandler_OnNonzero34 ; CPU:$A586 PRG:2586 D0 F6 + jmp IrqHandler_Loop248 ; CPU:$A588 PRG:2588 4C 7F A6 +; ----------------------------------------------------------------------------- +; Routine: Sub_A58B +; Global: Branch target inside Sub: taken when A58B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A58B: + lda $038E,x ; CPU:$A58B PRG:258B BD 8E 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_A58E +; Global: Branch target inside Sub: taken when A58E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A58E: + tax ; CPU:$A58E PRG:258E AA + and #$07 ; CPU:$A58F PRG:258F 29 07 + asl a ; CPU:$A591 PRG:2591 0A + tay ; CPU:$A592 PRG:2592 A8 + lda $A8D3,y ; CPU:$A593 PRG:2593 B9 D3 A8 + sta VramWritePtrLo ; CPU:$A596 PRG:2596 85 00 + lda $A8D4,y ; CPU:$A598 PRG:2598 B9 D4 A8 + sta VramWritePtrHi ; CPU:$A59B PRG:259B 85 01 + lda #$34 ; CPU:$A59D PRG:259D A9 34 + sta $0620 ; CPU:$A59F PRG:259F 8D 20 06 + lda $0580,x ; CPU:$A5A2 PRG:25A2 BD 80 05 + jsr Sub_A68A ; CPU:$A5A5 PRG:25A5 20 8A A6 + ldy #$00 ; CPU:$A5A8 PRG:25A8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero35 +; Global: Branch target inside IrqHandler: taken when OnNonzero35. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero35: + lda (BlockPtrLo),y ; CPU:$A5AA PRG:25AA B1 14 + sta $0621,y ; CPU:$A5AC PRG:25AC 99 21 06 + iny ; CPU:$A5AF PRG:25AF C8 + cpy #$0C ; CPU:$A5B0 PRG:25B0 C0 0C + bne IrqHandler_OnNonzero35 ; CPU:$A5B2 PRG:25B2 D0 F6 + jmp IrqHandler_Loop248 ; CPU:$A5B4 PRG:25B4 4C 7F A6 +; ----------------------------------------------------------------------------- +; Routine: Sub_A5B7 +; Global: Branch target inside Sub: taken when A5B7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A5B7: + txa ; CPU:$A5B7 PRG:25B7 8A + asl a ; CPU:$A5B8 PRG:25B8 0A + tay ; CPU:$A5B9 PRG:25B9 A8 + lda $A853,y ; CPU:$A5BA PRG:25BA B9 53 A8 + sta VramWritePtrLo ; CPU:$A5BD PRG:25BD 85 00 + lda $A854,y ; CPU:$A5BF PRG:25BF B9 54 A8 + sta VramWritePtrHi ; CPU:$A5C2 PRG:25C2 85 01 + lda #$44 ; CPU:$A5C4 PRG:25C4 A9 44 + sta $0620 ; CPU:$A5C6 PRG:25C6 8D 20 06 + lda $0400,x ; CPU:$A5C9 PRG:25C9 BD 00 04 + sta BlockType ; CPU:$A5CC PRG:25CC 85 16 + bmi IrqHandler_Loop243 ; CPU:$A5CE PRG:25CE 30 49 + bit BlockType ; CPU:$A5D0 PRG:25D0 24 16 + bvc IrqHandler_Loop238 ; CPU:$A5D2 PRG:25D2 50 07 + and #$0F ; CPU:$A5D4 PRG:25D4 29 0F + clc ; CPU:$A5D6 PRG:25D6 18 + adc #$19 ; CPU:$A5D7 PRG:25D7 69 19 + bne IrqHandler_Loop239 ; CPU:$A5D9 PRG:25D9 D0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop238 +; Global: Branch target inside IrqHandler: taken when Loop238. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop238: + and #$0F ; CPU:$A5DB PRG:25DB 29 0F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop239 +; Global: Branch target inside IrqHandler: taken when Loop239. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop239: + jsr Sub_A68A ; CPU:$A5DD PRG:25DD 20 8A A6 + ldy #$00 ; CPU:$A5E0 PRG:25E0 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero36 +; Global: Branch target inside IrqHandler: taken when OnNonzero36. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero36: + lda (BlockPtrLo),y ; CPU:$A5E2 PRG:25E2 B1 14 + sta $0621,y ; CPU:$A5E4 PRG:25E4 99 21 06 + iny ; CPU:$A5E7 PRG:25E7 C8 + cpy #$0C ; CPU:$A5E8 PRG:25E8 C0 0C + bne IrqHandler_OnNonzero36 ; CPU:$A5EA PRG:25EA D0 F6 + lda $0408,x ; CPU:$A5EC PRG:25EC BD 08 04 + sta BlockType ; CPU:$A5EF PRG:25EF 85 16 + bmi IrqHandler_Loop240 ; CPU:$A5F1 PRG:25F1 30 0B + bit BlockType ; CPU:$A5F3 PRG:25F3 24 16 + bvc IrqHandler_Loop242 ; CPU:$A5F5 PRG:25F5 50 11 + and #$0F ; CPU:$A5F7 PRG:25F7 29 0F + clc ; CPU:$A5F9 PRG:25F9 18 + adc #$19 ; CPU:$A5FA PRG:25FA 69 19 + bne IrqHandler_Loop242 ; CPU:$A5FC PRG:25FC D0 0A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop240 +; Global: Branch target inside IrqHandler: taken when Loop240. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop240: + cmp #$FF ; CPU:$A5FE PRG:25FE C9 FF + beq IrqHandler_Loop241 ; CPU:$A600 PRG:2600 F0 04 + lda #$0B ; CPU:$A602 PRG:2602 A9 0B + bne IrqHandler_Loop242 ; CPU:$A604 PRG:2604 D0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop241 +; Global: Branch target inside IrqHandler: taken when Loop241. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop241: + lda #$0A ; CPU:$A606 PRG:2606 A9 0A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop242 +; Global: Branch target inside IrqHandler: taken when Loop242. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop242: + jsr Sub_A68A ; CPU:$A608 PRG:2608 20 8A A6 + ldy #$00 ; CPU:$A60B PRG:260B A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero37 +; Global: Branch target inside IrqHandler: taken when OnNonzero37. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero37: + lda (BlockPtrLo),y ; CPU:$A60D PRG:260D B1 14 + sta $062D,y ; CPU:$A60F PRG:260F 99 2D 06 + iny ; CPU:$A612 PRG:2612 C8 + cpy #$04 ; CPU:$A613 PRG:2613 C0 04 + bne IrqHandler_OnNonzero37 ; CPU:$A615 PRG:2615 D0 F6 + beq IrqHandler_Loop248 ; CPU:$A617 PRG:2617 F0 66 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop243 +; Global: Branch target inside IrqHandler: taken when Loop243. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop243: + ldy #$0C ; CPU:$A619 PRG:2619 A0 0C + cpx #$08 ; CPU:$A61B PRG:261B E0 08 + bcc IrqHandler_Loop244 ; CPU:$A61D PRG:261D 90 0F + lda $03F8,x ; CPU:$A61F PRG:261F BD F8 03 + cmp #$FF ; CPU:$A622 PRG:2622 C9 FF + beq IrqHandler_Loop244 ; CPU:$A624 PRG:2624 F0 08 + ldy #$0B ; CPU:$A626 PRG:2626 A0 0B + and #$FF ; CPU:$A628 PRG:2628 29 FF + bpl IrqHandler_Loop244 ; CPU:$A62A PRG:262A 10 02 + ldy #$0D ; CPU:$A62C PRG:262C A0 0D +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop244 +; Global: Branch target inside IrqHandler: taken when Loop244. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop244: + tya ; CPU:$A62E PRG:262E 98 + jsr Sub_A68A ; CPU:$A62F PRG:262F 20 8A A6 + ldy #$00 ; CPU:$A632 PRG:2632 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero38 +; Global: Branch target inside IrqHandler: taken when OnNonzero38. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero38: + lda (BlockPtrLo),y ; CPU:$A634 PRG:2634 B1 14 + sta $0621,y ; CPU:$A636 PRG:2636 99 21 06 + iny ; CPU:$A639 PRG:2639 C8 + cpy #$04 ; CPU:$A63A PRG:263A C0 04 + bne IrqHandler_OnNonzero38 ; CPU:$A63C PRG:263C D0 F6 + lda $0400,x ; CPU:$A63E PRG:263E BD 00 04 + and #$0F ; CPU:$A641 PRG:2641 29 0F + ora #$10 ; CPU:$A643 PRG:2643 09 10 + jsr Sub_A68A ; CPU:$A645 PRG:2645 20 8A A6 + ldy #$00 ; CPU:$A648 PRG:2648 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero39 +; Global: Branch target inside IrqHandler: taken when OnNonzero39. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero39: + lda (BlockPtrLo),y ; CPU:$A64A PRG:264A B1 14 + sta $0625,y ; CPU:$A64C PRG:264C 99 25 06 + iny ; CPU:$A64F PRG:264F C8 + cpy #$08 ; CPU:$A650 PRG:2650 C0 08 + bne IrqHandler_OnNonzero39 ; CPU:$A652 PRG:2652 D0 F6 + lda $0408,x ; CPU:$A654 PRG:2654 BD 08 04 + sta BlockType ; CPU:$A657 PRG:2657 85 16 + bmi IrqHandler_Loop245 ; CPU:$A659 PRG:2659 30 0B + bit BlockType ; CPU:$A65B PRG:265B 24 16 + bvc IrqHandler_Loop247 ; CPU:$A65D PRG:265D 50 11 + and #$0F ; CPU:$A65F PRG:265F 29 0F + clc ; CPU:$A661 PRG:2661 18 + adc #$19 ; CPU:$A662 PRG:2662 69 19 + bne IrqHandler_Loop247 ; CPU:$A664 PRG:2664 D0 0A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop245 +; Global: Branch target inside IrqHandler: taken when Loop245. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop245: + cmp #$FF ; CPU:$A666 PRG:2666 C9 FF + beq IrqHandler_Loop246 ; CPU:$A668 PRG:2668 F0 04 + lda #$0D ; CPU:$A66A PRG:266A A9 0D + bne IrqHandler_Loop247 ; CPU:$A66C PRG:266C D0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop246 +; Global: Branch target inside IrqHandler: taken when Loop246. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop246: + lda #$0E ; CPU:$A66E PRG:266E A9 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop247 +; Global: Branch target inside IrqHandler: taken when Loop247. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop247: + jsr Sub_A68A ; CPU:$A670 PRG:2670 20 8A A6 + ldy #$00 ; CPU:$A673 PRG:2673 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero40 +; Global: Branch target inside IrqHandler: taken when OnNonzero40. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero40: + lda (BlockPtrLo),y ; CPU:$A675 PRG:2675 B1 14 + sta $062D,y ; CPU:$A677 PRG:2677 99 2D 06 + iny ; CPU:$A67A PRG:267A C8 + cpy #$04 ; CPU:$A67B PRG:267B C0 04 + bne IrqHandler_OnNonzero40 ; CPU:$A67D PRG:267D D0 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop248 +; Global: Branch target inside IrqHandler: taken when Loop248. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop248: + lda #$20 ; CPU:$A67F PRG:267F A9 20 + sta Zp02 ; CPU:$A681 PRG:2681 85 02 + lda #$06 ; CPU:$A683 PRG:2683 A9 06 + sta Zp03 ; CPU:$A685 PRG:2685 85 03 + jmp Sub_850A ; CPU:$A687 PRG:2687 4C 0A 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_A68A +; Global: Branch target inside Sub: taken when A68A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A68A: + asl a ; CPU:$A68A PRG:268A 0A + tay ; CPU:$A68B PRG:268B A8 + lda $A697,y ; CPU:$A68C PRG:268C B9 97 A6 + sta BlockPtrLo ; CPU:$A68F PRG:268F 85 14 + lda $A698,y ; CPU:$A691 PRG:2691 B9 98 A6 + sta BlockPtrHi ; CPU:$A694 PRG:2694 85 15 + rts ; CPU:$A696 PRG:2696 60 +; ---- data $A697-$A8E2 (588 bytes) ---- +; referenced by `lda $A8D3,x` at $A556 (operand $A8D3 falls inside this region) +; referenced by `lda $A8D4,x` at $A55B (operand $A8D4 falls inside this region) +; referenced by `lda $A853,x` at $A568 (operand $A853 falls inside this region) +; referenced by `lda $A854,x` at $A56D (operand $A854 falls inside this region) +; referenced by `lda $A8D3,y` at $A593 (operand $A8D3 falls inside this region) +; referenced by `lda $A8D4,y` at $A598 (operand $A8D4 falls inside this region) +; ... and 6 further references from decoded code + .byte $E3, $A6, $EF, $A6, $FB, $A6, $07, $A7, $13, $A7, $1F, $A7, $2B, $A7, $37, $A7 ; CPU:$A697 PRG:2697 E3 A6 EF A6 FB A6 07 A7 13 A7 1F A7 2B A7 37 A7 + .byte $43, $A7, $4F, $A7, $5B, $A7, $5F, $A7, $63, $A7, $67, $A7, $6B, $A7, $6F, $A7 ; CPU:$A6A7 PRG:26A7 43 A7 4F A7 5B A7 5F A7 63 A7 67 A7 6B A7 6F A7 + .byte $6F, $A7, $77, $A7, $7F, $A7, $87, $A7, $8F, $A7, $97, $A7, $9F, $A7, $A7, $A7 ; CPU:$A6B7 PRG:26B7 6F A7 77 A7 7F A7 87 A7 8F A7 97 A7 9F A7 A7 A7 + .byte $AF, $A7, $B7, $A7, $C3, $A7, $CF, $A7, $DB, $A7, $E7, $A7, $F3, $A7, $FF, $A7 ; CPU:$A6C7 PRG:26C7 AF A7 B7 A7 C3 A7 CF A7 DB A7 E7 A7 F3 A7 FF A7 + .byte $0B, $A8, $17, $A8, $23, $A8, $2F, $A8, $3B, $A8, $47, $A8, $30, $31, $31, $32 ; CPU:$A6D7 PRG:26D7 0B A8 17 A8 23 A8 2F A8 3B A8 47 A8 30 31 31 32 + .byte $33, $34, $34, $35, $36, $37, $37, $38, $30, $3C, $3D, $32, $33, $40, $41, $35 ; CPU:$A6E7 PRG:26E7 33 34 34 35 36 37 37 38 30 3C 3D 32 33 40 41 35 + .byte $36, $37, $37, $38, $30, $44, $45, $32, $33, $48, $49, $35, $36, $37, $37, $38 ; CPU:$A6F7 PRG:26F7 36 37 37 38 30 44 45 32 33 48 49 35 36 37 37 38 + .byte $30, $5A, $5B, $32, $33, $5C, $5D, $35, $36, $37, $37, $38, $30, $5F, $60, $32 ; CPU:$A707 PRG:2707 30 5A 5B 32 33 5C 5D 35 36 37 37 38 30 5F 60 32 + .byte $33, $63, $64, $35, $36, $37, $37, $38, $30, $4B, $4C, $32, $33, $4F, $50, $35 ; CPU:$A717 PRG:2717 33 63 64 35 36 37 37 38 30 4B 4C 32 33 4F 50 35 + .byte $36, $37, $37, $38, $30, $53, $54, $32, $33, $57, $58, $35, $36, $37, $37, $38 ; CPU:$A727 PRG:2727 36 37 37 38 30 53 54 32 33 57 58 35 36 37 37 38 + .byte $30, $66, $67, $32, $33, $68, $69, $35, $36, $37, $37, $38, $8A, $8B, $8C, $B9 ; CPU:$A737 PRG:2737 30 66 67 32 33 68 69 35 36 37 37 38 8A 8B 8C B9 + .byte $8D, $8E, $8F, $BA, $36, $37, $37, $38, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$A747 PRG:2747 8D 8E 8F BA 36 37 37 38 24 24 24 24 24 24 24 24 + .byte $24, $24, $24, $24, $6E, $39, $39, $39, $99, $9A, $9A, $9B, $90, $91, $91, $92 ; CPU:$A757 PRG:2757 24 24 24 24 6E 39 39 39 99 9A 9A 9B 90 91 91 92 + .byte $9C, $9D, $9D, $9E, $9F, $A0, $A0, $A1, $93, $94, $94, $95, $96, $97, $97, $98 ; CPU:$A767 PRG:2767 9C 9D 9D 9E 9F A0 A0 A1 93 94 94 95 96 97 97 98 + .byte $A2, $A3, $A4, $A5, $96, $97, $97, $98, $93, $A6, $A7, $A8, $96, $97, $97, $98 ; CPU:$A777 PRG:2777 A2 A3 A4 A5 96 97 97 98 93 A6 A7 A8 96 97 97 98 + .byte $93, $B1, $B2, $95, $96, $97, $97, $98, $B3, $B4, $B5, $B6, $96, $97, $97, $98 ; CPU:$A787 PRG:2787 93 B1 B2 95 96 97 97 98 B3 B4 B5 B6 96 97 97 98 + .byte $A9, $AA, $AB, $AC, $96, $97, $97, $98, $AD, $AE, $AF, $B0, $96, $97, $97, $98 ; CPU:$A797 PRG:2797 A9 AA AB AC 96 97 97 98 AD AE AF B0 96 97 97 98 + .byte $93, $B7, $B8, $95, $96, $97, $97, $98, $93, $B9, $BA, $95, $96, $97, $97, $98 ; CPU:$A7A7 PRG:27A7 93 B7 B8 95 96 97 97 98 93 B9 BA 95 96 97 97 98 + .byte $CF, $D1, $D1, $D2, $D3, $94, $94, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2 ; CPU:$A7B7 PRG:27B7 CF D1 D1 D2 D3 94 94 D4 D5 D6 D6 D7 CF D1 D1 D2 + .byte $D3, $A3, $A4, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $A6, $A7, $D4 ; CPU:$A7C7 PRG:27C7 D3 A3 A4 D4 D5 D6 D6 D7 CF D1 D1 D2 D3 A6 A7 D4 + .byte $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $B1, $B2, $D4, $D5, $D6, $D6, $D7 ; CPU:$A7D7 PRG:27D7 D5 D6 D6 D7 CF D1 D1 D2 D3 B1 B2 D4 D5 D6 D6 D7 + .byte $CF, $D1, $D1, $D2, $D3, $B4, $B5, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2 ; CPU:$A7E7 PRG:27E7 CF D1 D1 D2 D3 B4 B5 D4 D5 D6 D6 D7 CF D1 D1 D2 + .byte $D3, $AA, $AB, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $D3, $AE, $AF, $D4 ; CPU:$A7F7 PRG:27F7 D3 AA AB D4 D5 D6 D6 D7 CF D1 D1 D2 D3 AE AF D4 + .byte $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $42, $43, $46, $47, $D5, $D6, $D6, $D7 ; CPU:$A807 PRG:2807 D5 D6 D6 D7 CF D1 D1 D2 42 43 46 47 D5 D6 D6 D7 + .byte $CF, $D1, $D1, $D2, $D3, $4A, $4D, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2 ; CPU:$A817 PRG:2817 CF D1 D1 D2 D3 4A 4D D4 D5 D6 D6 D7 CF D1 D1 D2 + .byte $D3, $62, $65, $D4, $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $6A, $6B, $6C, $6D ; CPU:$A827 PRG:2827 D3 62 65 D4 D5 D6 D6 D7 CF D1 D1 D2 6A 6B 6C 6D + .byte $D5, $D6, $D6, $D7, $CF, $D1, $D1, $D2, $4E, $51, $52, $55, $D5, $D6, $D6, $D7 ; CPU:$A837 PRG:2837 D5 D6 D6 D7 CF D1 D1 D2 4E 51 52 55 D5 D6 D6 D7 + .byte $CF, $D1, $D1, $D2, $56, $59, $5E, $61, $D5, $D6, $D6, $D7, $C0, $20, $C2, $20 ; CPU:$A847 PRG:2847 CF D1 D1 D2 56 59 5E 61 D5 D6 D6 D7 C0 20 C2 20 + .byte $C6, $20, $CA, $20, $CE, $20, $D2, $20, $D6, $20, $DA, $20, $20, $21, $22, $21 ; CPU:$A857 PRG:2857 C6 20 CA 20 CE 20 D2 20 D6 20 DA 20 20 21 22 21 + .byte $26, $21, $2A, $21, $2E, $21, $32, $21, $36, $21, $3A, $21, $80, $21, $82, $21 ; CPU:$A867 PRG:2867 26 21 2A 21 2E 21 32 21 36 21 3A 21 80 21 82 21 + .byte $86, $21, $8A, $21, $8E, $21, $92, $21, $96, $21, $9A, $21, $E0, $21, $E2, $21 ; CPU:$A877 PRG:2877 86 21 8A 21 8E 21 92 21 96 21 9A 21 E0 21 E2 21 + .byte $E6, $21, $EA, $21, $EE, $21, $F2, $21, $F6, $21, $FA, $21, $40, $22, $42, $22 ; CPU:$A887 PRG:2887 E6 21 EA 21 EE 21 F2 21 F6 21 FA 21 40 22 42 22 + .byte $46, $22, $4A, $22, $4E, $22, $52, $22, $56, $22, $5A, $22, $A0, $22, $A2, $22 ; CPU:$A897 PRG:2897 46 22 4A 22 4E 22 52 22 56 22 5A 22 A0 22 A2 22 + .byte $A6, $22, $AA, $22, $AE, $22, $B2, $22, $B6, $22, $BA, $22, $00, $23, $02, $23 ; CPU:$A8A7 PRG:28A7 A6 22 AA 22 AE 22 B2 22 B6 22 BA 22 00 23 02 23 + .byte $06, $23, $0A, $23, $0E, $23, $12, $23, $16, $23, $1A, $23, $00, $00, $00, $00 ; CPU:$A8B7 PRG:28B7 06 23 0A 23 0E 23 12 23 16 23 1A 23 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $4C, $22, $50, $22 ; CPU:$A8C7 PRG:28C7 00 00 00 00 00 00 00 00 00 00 00 00 4C 22 50 22 + .byte $54, $22, $58, $22, $5C, $22, $40, $22, $44, $22, $48, $22 ; CPU:$A8D7 PRG:28D7 54 22 58 22 5C 22 40 22 44 22 48 22 +; ----------------------------------------------------------------------------- +; Routine: Sub_A8E3 +; Global: Branch target inside Sub: taken when A8E3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A8E3: + lda Zp44 ; CPU:$A8E3 PRG:28E3 A5 44 + jsr Sub_846D ; CPU:$A8E5 PRG:28E5 20 6D 84 + asl ZpA9 ; CPU:$A8E8 PRG:28E8 06 A9 + rol $40A9 ; CPU:$A8EA PRG:28EA 2E A9 40 + lda #$5D ; CPU:$A8ED PRG:28ED A9 5D +; ----------------------------------------------------------------------------- +; Routine: Label_A8EF +; Global: Branch target inside Label: taken when A8EF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A8EF: + lda #$A5 ; CPU:$A8EF PRG:28EF A9 A5 + .byte $44, $20 ; CPU:$A8F1 PRG:28F1 44 20 -- nop Zp20 (undocumented; ca65 cannot encode) + adc $5E84 ; CPU:$A8F3 PRG:28F3 6D 84 5E + lda #$BD ; CPU:$A8F6 PRG:28F6 A9 BD + lda #$C9 ; CPU:$A8F8 PRG:28F8 A9 C9 +; ----------------------------------------------------------------------------- +; Routine: Label_A8FA +; Global: Branch target inside Label: taken when A8FA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A8FA: + lda #$A5 ; CPU:$A8FA PRG:28FA A9 A5 + .byte $44, $20 ; CPU:$A8FC PRG:28FC 44 20 -- nop Zp20 (undocumented; ca65 cannot encode) + adc $E284 ; CPU:$A8FE PRG:28FE 6D 84 E2 + lda #$18 ; CPU:$A901 PRG:2901 A9 18 + tax ; CPU:$A903 PRG:2903 AA + .byte $43, $AA ; CPU:$A904 PRG:2904 43 AA -- sre (ZpAA,x) (undocumented; ca65 cannot encode) + jsr Sub_817D ; CPU:$A906 PRG:2906 20 7D 81 + jsr Sub_8269 ; CPU:$A909 PRG:2909 20 69 82 + jsr Sub_82BA ; CPU:$A90C PRG:290C 20 BA 82 + lda #$02 ; CPU:$A90F PRG:290F A9 02 + sta Zp34 ; CPU:$A911 PRG:2911 85 34 + jsr Sub_8173 ; CPU:$A913 PRG:2913 20 73 81 + ldx #$34 ; CPU:$A916 PRG:2916 A2 34 + ldy #$BC ; CPU:$A918 PRG:2918 A0 BC + jsr Sub_8483 ; CPU:$A91A PRG:291A 20 83 84 + lda PpuCtrlShadow ; CPU:$A91D PRG:291D A5 08 + ora #$02 ; CPU:$A91F PRG:291F 09 02 + sta PpuCtrlShadow ; CPU:$A921 PRG:2921 85 08 + sta PPUCTRL ; CPU:$A923 PRG:2923 8D 00 20 + jsr Sub_818A ; CPU:$A926 PRG:2926 20 8A 81 + inc Zp44 ; CPU:$A929 PRG:2929 E6 44 + jmp Sub_B278 ; CPU:$A92B PRG:292B 4C 78 B2 +; ----------------------------------------------------------------------------- +; Routine: Label_A92E +; Global: Branch target inside Label: taken when A92E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A92E: + lda Zp2F ; CPU:$A92E PRG:292E A5 2F + and #$01 ; CPU:$A930 PRG:2930 29 01 + clc ; CPU:$A932 PRG:2932 18 + adc #$04 ; CPU:$A933 PRG:2933 69 04 + sta Zp34 ; CPU:$A935 PRG:2935 85 34 + lda Zp1A ; CPU:$A937 PRG:2937 A5 1A + and #$20 ; CPU:$A939 PRG:2939 29 20 + beq IrqHandler_Loop249 ; CPU:$A93B PRG:293B F0 02 + inc Zp44 ; CPU:$A93D PRG:293D E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop249 +; Global: Branch target inside IrqHandler: taken when Loop249. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop249: + rts ; CPU:$A93F PRG:293F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A940 +; Global: Branch target inside Label: taken when A940. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A940: + jsr Sub_817D ; CPU:$A940 PRG:2940 20 7D 81 + jsr Sub_8269 ; CPU:$A943 PRG:2943 20 69 82 + lda #$02 ; CPU:$A946 PRG:2946 A9 02 + sta Zp34 ; CPU:$A948 PRG:2948 85 34 + jsr Sub_818A ; CPU:$A94A PRG:294A 20 8A 81 + jsr Sub_815F ; CPU:$A94D PRG:294D 20 5F 81 + jsr Sub_815F ; CPU:$A950 PRG:2950 20 5F 81 + lda #$09 ; CPU:$A953 PRG:2953 A9 09 + jsr $B1DE ; CPU:$A955 PRG:2955 20 DE B1 + inc Zp44 ; CPU:$A958 PRG:2958 E6 44 + jsr Sub_B257 ; CPU:$A95A PRG:295A 20 57 B2 + rts ; CPU:$A95D PRG:295D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A95E +; Global: Branch target inside Label: taken when A95E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A95E: + jsr Sub_817D ; CPU:$A95E PRG:295E 20 7D 81 + jsr Sub_8269 ; CPU:$A961 PRG:2961 20 69 82 + jsr Sub_82BA ; CPU:$A964 PRG:2964 20 BA 82 + lda #$08 ; CPU:$A967 PRG:2967 A9 08 + sta Zp34 ; CPU:$A969 PRG:2969 85 34 + jsr Sub_8173 ; CPU:$A96B PRG:296B 20 73 81 + ldx #$BC ; CPU:$A96E PRG:296E A2 BC + ldy #$B8 ; CPU:$A970 PRG:2970 A0 B8 + jsr Sub_8483 ; CPU:$A972 PRG:2972 20 83 84 + ldx #$4F ; CPU:$A975 PRG:2975 A2 4F + ldy #$BA ; CPU:$A977 PRG:2977 A0 BA + jsr Sub_8483 ; CPU:$A979 PRG:2979 20 83 84 + lda GameState ; CPU:$A97C PRG:297C A5 49 + bmi IrqHandler_Loop251 ; CPU:$A97E PRG:297E 30 15 + lda BoardState ; CPU:$A980 PRG:2980 A5 40 +; ----------------------------------------------------------------------------- +; Routine: Label_A982 +; Global: Branch target inside Label: taken when A982. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A982: + beq IrqHandler_Loop250 ; CPU:$A982 PRG:2982 F0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_A984 +; Global: Branch target inside Label: taken when A984. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A984: + ldx #$B2 ; CPU:$A984 PRG:2984 A2 B2 + ldy #$BA ; CPU:$A986 PRG:2986 A0 BA + jsr Sub_8483 ; CPU:$A988 PRG:2988 20 83 84 + jmp IrqHandler_Loop251 ; CPU:$A98B PRG:298B 4C 95 A9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop250 +; Global: Branch target inside IrqHandler: taken when Loop250. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop250: + ldx #$D2 ; CPU:$A98E PRG:298E A2 D2 + ldy #$BA ; CPU:$A990 PRG:2990 A0 BA + jsr Sub_8483 ; CPU:$A992 PRG:2992 20 83 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop251 +; Global: Branch target inside IrqHandler: taken when Loop251. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop251: + jsr Sub_9A97 ; CPU:$A995 PRG:2995 20 97 9A + ldy #$04 ; CPU:$A998 PRG:2998 A0 04 + lda GameState ; CPU:$A99A PRG:299A A5 49 + bmi IrqHandler_Loop252 ; CPU:$A99C PRG:299C 30 06 + dey ; CPU:$A99E PRG:299E 88 + lda BoardState ; CPU:$A99F PRG:299F A5 40 + beq IrqHandler_Loop252 ; CPU:$A9A1 PRG:29A1 F0 01 + dey ; CPU:$A9A3 PRG:29A3 88 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop252 +; Global: Branch target inside IrqHandler: taken when Loop252. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop252: + sty $0356 ; CPU:$A9A4 PRG:29A4 8C 56 03 + lda PpuCtrlShadow ; CPU:$A9A7 PRG:29A7 A5 08 + ora #$02 ; CPU:$A9A9 PRG:29A9 09 02 + sta PpuCtrlShadow ; CPU:$A9AB PRG:29AB 85 08 + sta PPUCTRL ; CPU:$A9AD PRG:29AD 8D 00 20 + lda #$00 ; CPU:$A9B0 PRG:29B0 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_A9B2 +; Global: Branch target inside Label: taken when A9B2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9B2: + sta Zp0B ; CPU:$A9B2 PRG:29B2 85 0B + jsr Sub_84CF ; CPU:$A9B4 PRG:29B4 20 CF 84 + jsr Sub_818A ; CPU:$A9B7 PRG:29B7 20 8A 81 + inc Zp44 ; CPU:$A9BA PRG:29BA E6 44 + rts ; CPU:$A9BC PRG:29BC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A9BD +; Global: Branch target inside Label: taken when A9BD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9BD: + jsr Sub_9AE7 ; CPU:$A9BD PRG:29BD 20 E7 9A + lda Zp1A ; CPU:$A9C0 PRG:29C0 A5 1A + and #$10 ; CPU:$A9C2 PRG:29C2 29 10 + beq IrqHandler_Loop253 ; CPU:$A9C4 PRG:29C4 F0 02 + inc Zp44 ; CPU:$A9C6 PRG:29C6 E6 44 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop253 +; Global: Branch target inside IrqHandler: taken when Loop253. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop253: + rts ; CPU:$A9C8 PRG:29C8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A9C9 +; Global: Branch target inside Label: taken when A9C9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9C9: + jsr Sub_817D ; CPU:$A9C9 PRG:29C9 20 7D 81 + jsr Sub_8269 ; CPU:$A9CC PRG:29CC 20 69 82 + jsr Sub_82BA ; CPU:$A9CF PRG:29CF 20 BA 82 + jsr $AAD9 ; CPU:$A9D2 PRG:29D2 20 D9 AA + lda #$01 ; CPU:$A9D5 PRG:29D5 A9 01 + ldy BoardState ; CPU:$A9D7 PRG:29D7 A4 40 + beq IrqHandler_Loop254 ; CPU:$A9D9 PRG:29D9 F0 02 + lda #$09 ; CPU:$A9DB PRG:29DB A9 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop254 +; Global: Branch target inside IrqHandler: taken when Loop254. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop254: + sta Zp34 ; CPU:$A9DD PRG:29DD 85 34 + inc Zp44 ; CPU:$A9DF PRG:29DF E6 44 + rts ; CPU:$A9E1 PRG:29E1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A9E2 +; Global: Branch target inside Label: taken when A9E2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A9E2: + jsr Sub_817D ; CPU:$A9E2 PRG:29E2 20 7D 81 + jsr Sub_8269 ; CPU:$A9E5 PRG:29E5 20 69 82 + jsr Sub_82BA ; CPU:$A9E8 PRG:29E8 20 BA 82 + lda PpuCtrlShadow ; CPU:$A9EB PRG:29EB A5 08 + ora #$02 ; CPU:$A9ED PRG:29ED 09 02 + sta PpuCtrlShadow ; CPU:$A9EF PRG:29EF 85 08 + sta PPUCTRL ; CPU:$A9F1 PRG:29F1 8D 00 20 + lda #$00 ; CPU:$A9F4 PRG:29F4 A9 00 + sta Zp0B ; CPU:$A9F6 PRG:29F6 85 0B + jsr Sub_84CF ; CPU:$A9F8 PRG:29F8 20 CF 84 + lda #$0F ; CPU:$A9FB PRG:29FB A9 0F + sta Zp34 ; CPU:$A9FD PRG:29FD 85 34 + jsr Sub_8173 ; CPU:$A9FF PRG:29FF 20 73 81 + ldx #$E3 ; CPU:$AA02 PRG:2A02 A2 E3 + ldy #$BA ; CPU:$AA04 PRG:2A04 A0 BA + jsr Sub_8483 ; CPU:$AA06 PRG:2A06 20 83 84 + jsr Sub_AABF ; CPU:$AA09 PRG:2A09 20 BF AA + jsr Sub_9AC8 ; CPU:$AA0C PRG:2A0C 20 C8 9A + lda #$B4 ; CPU:$AA0F PRG:2A0F A9 B4 + sta Zp53 ; CPU:$AA11 PRG:2A11 85 53 + inc Zp44 ; CPU:$AA13 PRG:2A13 E6 44 + jmp Sub_818A ; CPU:$AA15 PRG:2A15 4C 8A 81 +; ----------------------------------------------------------------------------- +; Routine: Label_AA18 +; Global: Branch target inside Label: taken when AA18. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AA18: + lda Zp1A ; CPU:$AA18 PRG:2A18 A5 1A + and #$10 ; CPU:$AA1A PRG:2A1A 29 10 + bne IrqHandler_Loop256 ; CPU:$AA1C PRG:2A1C D0 13 + lda Zp53 ; CPU:$AA1E PRG:2A1E A5 53 + beq IrqHandler_Loop256 ; CPU:$AA20 PRG:2A20 F0 0F + lda Zp2F ; CPU:$AA22 PRG:2A22 A5 2F + and #$03 ; CPU:$AA24 PRG:2A24 29 03 + bne IrqHandler_Loop255 ; CPU:$AA26 PRG:2A26 D0 02 + dec Zp53 ; CPU:$AA28 PRG:2A28 C6 53 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop255 +; Global: Branch target inside IrqHandler: taken when Loop255. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop255: + jsr Sub_9BC9 ; CPU:$AA2A PRG:2A2A 20 C9 9B + jsr Sub_AA44 ; CPU:$AA2D PRG:2A2D 20 44 AA + rts ; CPU:$AA30 PRG:2A30 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop256 +; Global: Branch target inside IrqHandler: taken when Loop256. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop256: + jsr Sub_817D ; CPU:$AA31 PRG:2A31 20 7D 81 + jsr Sub_8269 ; CPU:$AA34 PRG:2A34 20 69 82 + jsr Sub_82BA ; CPU:$AA37 PRG:2A37 20 BA 82 + jsr $AAD9 ; CPU:$AA3A PRG:2A3A 20 D9 AA + lda #$01 ; CPU:$AA3D PRG:2A3D A9 01 + sta Zp34 ; CPU:$AA3F PRG:2A3F 85 34 + inc Zp44 ; CPU:$AA41 PRG:2A41 E6 44 + rts ; CPU:$AA43 PRG:2A43 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AA44 +; Global: Branch target inside Sub: taken when AA44. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AA44: + lda Zp51 ; CPU:$AA44 PRG:2A44 A5 51 + bne IrqHandler_Loop258 ; CPU:$AA46 PRG:2A46 D0 2C + lda Zp1A ; CPU:$AA48 PRG:2A48 A5 1A + asl a ; CPU:$AA4A PRG:2A4A 0A + bcs IrqHandler_Loop257 ; CPU:$AA4B PRG:2A4B B0 0E + asl a ; CPU:$AA4D PRG:2A4D 0A + bcc IrqHandler_Loop259 ; CPU:$AA4E PRG:2A4E 90 35 + lda Zp50 ; CPU:$AA50 PRG:2A50 A5 50 + beq IrqHandler_Loop259 ; CPU:$AA52 PRG:2A52 F0 31 + dec Zp50 ; CPU:$AA54 PRG:2A54 C6 50 + lda Zp50 ; CPU:$AA56 PRG:2A56 A5 50 + jmp Sub_AA68 ; CPU:$AA58 PRG:2A58 4C 68 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop257 +; Global: Branch target inside IrqHandler: taken when Loop257. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop257: + lda Zp50 ; CPU:$AA5B PRG:2A5B A5 50 + cmp #$04 ; CPU:$AA5D PRG:2A5D C9 04 + beq IrqHandler_Loop259 ; CPU:$AA5F PRG:2A5F F0 24 + inc Zp50 ; CPU:$AA61 PRG:2A61 E6 50 + lda Zp50 ; CPU:$AA63 PRG:2A63 A5 50 + clc ; CPU:$AA65 PRG:2A65 18 + adc #$03 ; CPU:$AA66 PRG:2A66 69 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_AA68 +; Global: Branch target inside Sub: taken when AA68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AA68: + asl a ; CPU:$AA68 PRG:2A68 0A + asl a ; CPU:$AA69 PRG:2A69 0A + sta Zp52 ; CPU:$AA6A PRG:2A6A 85 52 + lda #$08 ; CPU:$AA6C PRG:2A6C A9 08 + sta Zp51 ; CPU:$AA6E PRG:2A6E 85 51 + lda #$B4 ; CPU:$AA70 PRG:2A70 A9 B4 + sta Zp53 ; CPU:$AA72 PRG:2A72 85 53 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop258 +; Global: Branch target inside IrqHandler: taken when Loop258. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop258: + dec Zp51 ; CPU:$AA74 PRG:2A74 C6 51 + lda Zp51 ; CPU:$AA76 PRG:2A76 A5 51 + lsr a ; CPU:$AA78 PRG:2A78 4A + bcs IrqHandler_Loop259 ; CPU:$AA79 PRG:2A79 B0 0A + ldx Zp52 ; CPU:$AA7B PRG:2A7B A6 52 + lda $AA86,x ; CPU:$AA7D PRG:2A7D BD 86 AA + inc Zp52 ; CPU:$AA80 PRG:2A80 E6 52 + jsr Sub_AAA6 ; CPU:$AA82 PRG:2A82 20 A6 AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop259 +; Global: Branch target inside IrqHandler: taken when Loop259. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop259: + rts ; CPU:$AA85 PRG:2A85 60 +; ---- data $AA86-$AAA5 (32 bytes) ---- +; referenced by `lda $AA86,x` at $AA7D (operand $AA86 falls inside this region) + .byte $03, $02, $01, $00, $07, $06, $05, $04, $0B, $0A, $09, $08, $0F, $0E, $0D, $0C ; CPU:$AA86 PRG:2A86 03 02 01 00 07 06 05 04 0B 0A 09 08 0F 0E 0D 0C + .byte $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E, $0F, $10 ; CPU:$AA96 PRG:2A96 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_AAA6 +; Global: Branch target inside Sub: taken when AAA6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AAA6: + clc ; CPU:$AAA6 PRG:2AA6 18 + adc #$C7 ; CPU:$AAA7 PRG:2AA7 69 C7 + sta VramWritePtrLo ; CPU:$AAA9 PRG:2AA9 85 00 + lda #$2A ; CPU:$AAAB PRG:2AAB A9 2A + sta VramWritePtrHi ; CPU:$AAAD PRG:2AAD 85 01 + lda #$BA ; CPU:$AAAF PRG:2AAF A9 BA + sta Zp02 ; CPU:$AAB1 PRG:2AB1 85 02 + lda #$AA ; CPU:$AAB3 PRG:2AB3 A9 AA + sta Zp03 ; CPU:$AAB5 PRG:2AB5 85 03 + jmp Sub_850A ; CPU:$AAB7 PRG:2AB7 4C 0A 85 +; ---- data $AABA-$AABE (5 bytes) ---- + .byte $22, $FD, $24, $FE, $24 ; CPU:$AABA PRG:2ABA 22 FD 24 FE 24 +; ----------------------------------------------------------------------------- +; Routine: Sub_AABF +; Global: Branch target inside Sub: taken when AABF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AABF: + lda #$00 ; CPU:$AABF PRG:2ABF A9 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero41 +; Global: Branch target inside IrqHandler: taken when OnNonzero41. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero41: + pha ; CPU:$AAC1 PRG:2AC1 48 + jsr Sub_AAA6 ; CPU:$AAC2 PRG:2AC2 20 A6 AA + jsr Sub_8413 ; CPU:$AAC5 PRG:2AC5 20 13 84 + pla ; CPU:$AAC8 PRG:2AC8 68 + clc ; CPU:$AAC9 PRG:2AC9 18 + adc #$01 ; CPU:$AACA PRG:2ACA 69 01 + ldx Zp50 ; CPU:$AACC PRG:2ACC A6 50 + cmp $AAD4,x ; CPU:$AACE PRG:2ACE DD D4 AA + bne IrqHandler_OnNonzero41 ; CPU:$AAD1 PRG:2AD1 D0 EE + rts ; CPU:$AAD3 PRG:2AD3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AAD4 +; Global: Branch target inside Label: taken when AAD4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AAD4: + ora (Zp05,x) ; CPU:$AAD4 PRG:2AD4 01 05 + ora #$0D ; CPU:$AAD6 PRG:2AD6 09 0D +; ----------------------------------------------------------------------------- +; Routine: Label_AAD8 +; Global: Branch target inside Label: taken when AAD8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AAD8: + ora (ZpA5),y ; CPU:$AAD8 PRG:2AD8 11 A5 + rti ; CPU:$AADA PRG:2ADA 40 + bne IrqHandler_Loop262 ; CPU:$AADB PRG:2ADB D0 37 + ldx #$A6 ; CPU:$AADD PRG:2ADD A2 A6 + ldy #$BC ; CPU:$AADF PRG:2ADF A0 BC + jsr Sub_8483 ; CPU:$AAE1 PRG:2AE1 20 83 84 + lda GameState ; CPU:$AAE4 PRG:2AE4 A5 49 + beq IrqHandler_Loop261 ; CPU:$AAE6 PRG:2AE6 F0 13 + bpl IrqHandler_Loop260 ; CPU:$AAE8 PRG:2AE8 10 0A + ldx #$94 ; CPU:$AAEA PRG:2AEA A2 94 + ldy #$BD ; CPU:$AAEC PRG:2AEC A0 BD + jsr Sub_8483 ; CPU:$AAEE PRG:2AEE 20 83 84 + jmp IrqHandler_Loop261 ; CPU:$AAF1 PRG:2AF1 4C FB AA +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop260 +; Global: Branch target inside IrqHandler: taken when Loop260. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop260: + ldx #$85 ; CPU:$AAF4 PRG:2AF4 A2 85 + ldy #$BD ; CPU:$AAF6 PRG:2AF6 A0 BD + jsr Sub_8483 ; CPU:$AAF8 PRG:2AF8 20 83 84 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop261 +; Global: Branch target inside IrqHandler: taken when Loop261. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop261: + jsr Sub_8731 ; CPU:$AAFB PRG:2AFB 20 31 87 + jsr Sub_ABF3 ; CPU:$AAFE PRG:2AFE 20 F3 AB + jsr Sub_AB1F ; CPU:$AB01 PRG:2B01 20 1F AB + jsr Sub_8413 ; CPU:$AB04 PRG:2B04 20 13 84 + jsr Sub_AB62 ; CPU:$AB07 PRG:2B07 20 62 AB + jsr Sub_85A2 ; CPU:$AB0A PRG:2B0A 20 A2 85 + jsr IrqHandler_Loop25 ; CPU:$AB0D PRG:2B0D 20 4B 86 + jsr Sub_8413 ; CPU:$AB10 PRG:2B10 20 13 84 + rts ; CPU:$AB13 PRG:2B13 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop262 +; Global: Branch target inside IrqHandler: taken when Loop262. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop262: + ldx #$BE ; CPU:$AB14 PRG:2B14 A2 BE + ldy #$BD ; CPU:$AB16 PRG:2B16 A0 BD + jsr Sub_8483 ; CPU:$AB18 PRG:2B18 20 83 84 + jsr Sub_8413 ; CPU:$AB1B PRG:2B1B 20 13 84 + rts ; CPU:$AB1E PRG:2B1E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB1F +; Global: Branch target inside Sub: taken when AB1F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB1F: + ldx $0660 ; CPU:$AB1F PRG:2B1F AE 60 06 + lda #$2B ; CPU:$AB22 PRG:2B22 A9 2B + jsr Sub_858E ; CPU:$AB24 PRG:2B24 20 8E 85 + lda #$0B ; CPU:$AB27 PRG:2B27 A9 0B + jsr Sub_858E ; CPU:$AB29 PRG:2B29 20 8E 85 + lda #$03 ; CPU:$AB2C PRG:2B2C A9 03 + jsr Sub_858E ; CPU:$AB2E PRG:2B2E 20 8E 85 + lda $0567 ; CPU:$AB31 PRG:2B31 AD 67 05 + jsr Sub_AB47 ; CPU:$AB34 PRG:2B34 20 47 AB + jsr Sub_858E ; CPU:$AB37 PRG:2B37 20 8E 85 + lda BlockType ; CPU:$AB3A PRG:2B3A A5 16 + jsr Sub_858E ; CPU:$AB3C PRG:2B3C 20 8E 85 + lda Zp17 ; CPU:$AB3F PRG:2B3F A5 17 + jsr Sub_858E ; CPU:$AB41 PRG:2B41 20 8E 85 + jmp Sub_8572 ; CPU:$AB44 PRG:2B44 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB47 +; Global: Branch target inside Sub: taken when AB47. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB47: + ldy #$00 ; CPU:$AB47 PRG:2B47 A0 00 + sty BlockType ; CPU:$AB49 PRG:2B49 84 16 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet2 +; Global: Branch target inside IrqHandler: taken when OnCarrySet2. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet2: + cmp #$64 ; CPU:$AB4B PRG:2B4B C9 64 + bcc IrqHandler_OnCarrySet3 ; CPU:$AB4D PRG:2B4D 90 05 + sbc #$64 ; CPU:$AB4F PRG:2B4F E9 64 + iny ; CPU:$AB51 PRG:2B51 C8 + bcs IrqHandler_OnCarrySet2 ; CPU:$AB52 PRG:2B52 B0 F7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet3 +; Global: Branch target inside IrqHandler: taken when OnCarrySet3. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet3: + cmp #$0A ; CPU:$AB54 PRG:2B54 C9 0A + bcc IrqHandler_Loop263 ; CPU:$AB56 PRG:2B56 90 06 + sbc #$0A ; CPU:$AB58 PRG:2B58 E9 0A + inc BlockType ; CPU:$AB5A PRG:2B5A E6 16 + bcs IrqHandler_OnCarrySet3 ; CPU:$AB5C PRG:2B5C B0 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop263 +; Global: Branch target inside IrqHandler: taken when Loop263. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop263: + sta Zp17 ; CPU:$AB5E PRG:2B5E 85 17 + tya ; CPU:$AB60 PRG:2B60 98 + rts ; CPU:$AB61 PRG:2B61 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB62 +; Global: Branch target inside Sub: taken when AB62. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB62: + ldx $0660 ; CPU:$AB62 PRG:2B62 AE 60 06 + lda #$2A ; CPU:$AB65 PRG:2B65 A9 2A + jsr Sub_858E ; CPU:$AB67 PRG:2B67 20 8E 85 + lda #$EB ; CPU:$AB6A PRG:2B6A A9 EB + jsr Sub_858E ; CPU:$AB6C PRG:2B6C 20 8E 85 + lda #$03 ; CPU:$AB6F PRG:2B6F A9 03 + jsr Sub_858E ; CPU:$AB71 PRG:2B71 20 8E 85 + lda $0566 ; CPU:$AB74 PRG:2B74 AD 66 05 + jsr Sub_AB47 ; CPU:$AB77 PRG:2B77 20 47 AB + jsr Sub_858E ; CPU:$AB7A PRG:2B7A 20 8E 85 + lda BlockType ; CPU:$AB7D PRG:2B7D A5 16 + jsr Sub_858E ; CPU:$AB7F PRG:2B7F 20 8E 85 + lda Zp17 ; CPU:$AB82 PRG:2B82 A5 17 + jsr Sub_858E ; CPU:$AB84 PRG:2B84 20 8E 85 + jmp Sub_8572 ; CPU:$AB87 PRG:2B87 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_AB8A +; Global: Branch target inside Sub: taken when AB8A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AB8A: + ldx $0660 ; CPU:$AB8A PRG:2B8A AE 60 06 + lda #$2A ; CPU:$AB8D PRG:2B8D A9 2A + jsr Sub_858E ; CPU:$AB8F PRG:2B8F 20 8E 85 + lda #$EB ; CPU:$AB92 PRG:2B92 A9 EB + jsr Sub_858E ; CPU:$AB94 PRG:2B94 20 8E 85 + lda #$03 ; CPU:$AB97 PRG:2B97 A9 03 + jsr Sub_858E ; CPU:$AB99 PRG:2B99 20 8E 85 + lda Zp59 ; CPU:$AB9C PRG:2B9C A5 59 + clc ; CPU:$AB9E PRG:2B9E 18 + adc #$01 ; CPU:$AB9F PRG:2B9F 69 01 + jsr Sub_AB47 ; CPU:$ABA1 PRG:2BA1 20 47 AB + jsr Sub_858E ; CPU:$ABA4 PRG:2BA4 20 8E 85 + lda BlockType ; CPU:$ABA7 PRG:2BA7 A5 16 + jsr Sub_858E ; CPU:$ABA9 PRG:2BA9 20 8E 85 + lda Zp17 ; CPU:$ABAC PRG:2BAC A5 17 + jsr Sub_858E ; CPU:$ABAE PRG:2BAE 20 8E 85 + jmp Sub_8572 ; CPU:$ABB1 PRG:2BB1 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_ABB4 +; Global: Branch target inside Sub: taken when ABB4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ABB4: + ldy #$F1 ; CPU:$ABB4 PRG:2BB4 A0 F1 + lda Zp2F ; CPU:$ABB6 PRG:2BB6 A5 2F + and #$20 ; CPU:$ABB8 PRG:2BB8 29 20 + beq IrqHandler_Loop264 ; CPU:$ABBA PRG:2BBA F0 02 + ldy #$F7 ; CPU:$ABBC PRG:2BBC A0 F7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop264 +; Global: Branch target inside IrqHandler: taken when Loop264. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop264: + sty BlockType ; CPU:$ABBE PRG:2BBE 84 16 + lda #$7C ; CPU:$ABC0 PRG:2BC0 A9 7C + sta Zp17 ; CPU:$ABC2 PRG:2BC2 85 17 + ldx #$E8 ; CPU:$ABC4 PRG:2BC4 A2 E8 + lda GameState ; CPU:$ABC6 PRG:2BC6 A5 49 + beq IrqHandler_Loop265 ; CPU:$ABC8 PRG:2BC8 F0 02 + ldx #$80 ; CPU:$ABCA PRG:2BCA A2 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop265 +; Global: Branch target inside IrqHandler: taken when Loop265. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop265: + ldy #$06 ; CPU:$ABCC PRG:2BCC A0 06 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero42 +; Global: Branch target inside IrqHandler: taken when OnNonzero42. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero42: + lda #$17 ; CPU:$ABCE PRG:2BCE A9 17 + sta $0200,x ; CPU:$ABD0 PRG:2BD0 9D 00 02 + lda BlockType ; CPU:$ABD3 PRG:2BD3 A5 16 + sta $0201,x ; CPU:$ABD5 PRG:2BD5 9D 01 02 + lda #$00 ; CPU:$ABD8 PRG:2BD8 A9 00 + sta $0202,x ; CPU:$ABDA PRG:2BDA 9D 02 02 + lda Zp17 ; CPU:$ABDD PRG:2BDD A5 17 + sta $0203,x ; CPU:$ABDF PRG:2BDF 9D 03 02 + inc BlockType ; CPU:$ABE2 PRG:2BE2 E6 16 + lda Zp17 ; CPU:$ABE4 PRG:2BE4 A5 17 + clc ; CPU:$ABE6 PRG:2BE6 18 + adc #$08 ; CPU:$ABE7 PRG:2BE7 69 08 + sta Zp17 ; CPU:$ABE9 PRG:2BE9 85 17 + inx ; CPU:$ABEB PRG:2BEB E8 + inx ; CPU:$ABEC PRG:2BEC E8 + inx ; CPU:$ABED PRG:2BED E8 + inx ; CPU:$ABEE PRG:2BEE E8 + dey ; CPU:$ABEF PRG:2BEF 88 + bne IrqHandler_OnNonzero42 ; CPU:$ABF0 PRG:2BF0 D0 DC + rts ; CPU:$ABF2 PRG:2BF2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_ABF3 +; Global: Branch target inside Sub: taken when ABF3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ABF3: + ldx #$00 ; CPU:$ABF3 PRG:2BF3 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero43 +; Global: Branch target inside IrqHandler: taken when OnNonzero43. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero43: + lda $0520,x ; CPU:$ABF5 PRG:2BF5 BD 20 05 + beq IrqHandler_Loop266 ; CPU:$ABF8 PRG:2BF8 F0 09 + stx Zp0E ; CPU:$ABFA PRG:2BFA 86 0E + ldy #$00 ; CPU:$ABFC PRG:2BFC A0 00 + jsr Sub_AC1E ; CPU:$ABFE PRG:2BFE 20 1E AC + ldx Zp0E ; CPU:$AC01 PRG:2C01 A6 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop266 +; Global: Branch target inside IrqHandler: taken when Loop266. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop266: + inx ; CPU:$AC03 PRG:2C03 E8 + cpx #$1E ; CPU:$AC04 PRG:2C04 E0 1E + bne IrqHandler_OnNonzero43 ; CPU:$AC06 PRG:2C06 D0 ED + ldx #$00 ; CPU:$AC08 PRG:2C08 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero44 +; Global: Branch target inside IrqHandler: taken when OnNonzero44. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero44: + lda $0500,x ; CPU:$AC0A PRG:2C0A BD 00 05 + beq IrqHandler_Loop267 ; CPU:$AC0D PRG:2C0D F0 09 + stx Zp0E ; CPU:$AC0F PRG:2C0F 86 0E + ldy #$01 ; CPU:$AC11 PRG:2C11 A0 01 + jsr Sub_AC1E ; CPU:$AC13 PRG:2C13 20 1E AC + ldx Zp0E ; CPU:$AC16 PRG:2C16 A6 0E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop267 +; Global: Branch target inside IrqHandler: taken when Loop267. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop267: + inx ; CPU:$AC18 PRG:2C18 E8 + cpx #$1E ; CPU:$AC19 PRG:2C19 E0 1E + bne IrqHandler_OnNonzero44 ; CPU:$AC1B PRG:2C1B D0 ED + rts ; CPU:$AC1D PRG:2C1D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AC1E +; Global: Branch target inside Sub: taken when AC1E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC1E: + stx Zp10 ; CPU:$AC1E PRG:2C1E 86 10 + sty BlockTileIndex2 ; CPU:$AC20 PRG:2C20 84 13 + ldx GameState ; CPU:$AC22 PRG:2C22 A6 49 + bne IrqHandler_Loop268 ; CPU:$AC24 PRG:2C24 D0 02 + lda #$04 ; CPU:$AC26 PRG:2C26 A9 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop268 +; Global: Branch target inside IrqHandler: taken when Loop268. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop268: + sta Zp11 ; CPU:$AC28 PRG:2C28 85 11 + cmp #$04 ; CPU:$AC2A PRG:2C2A C9 04 + bcc IrqHandler_Loop270 ; CPU:$AC2C PRG:2C2C 90 2A + ldx $0660 ; CPU:$AC2E PRG:2C2E AE 60 06 + lda Zp10 ; CPU:$AC31 PRG:2C31 A5 10 + asl a ; CPU:$AC33 PRG:2C33 0A + tay ; CPU:$AC34 PRG:2C34 A8 + lda $AC9B,y ; CPU:$AC35 PRG:2C35 B9 9B AC + jsr Sub_858E ; CPU:$AC38 PRG:2C38 20 8E 85 + lda $AC9A,y ; CPU:$AC3B PRG:2C3B B9 9A AC + ldy BlockTileIndex2 ; CPU:$AC3E PRG:2C3E A4 13 + beq IrqHandler_Loop269 ; CPU:$AC40 PRG:2C40 F0 03 + clc ; CPU:$AC42 PRG:2C42 18 + adc #$08 ; CPU:$AC43 PRG:2C43 69 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop269 +; Global: Branch target inside IrqHandler: taken when Loop269. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop269: + jsr Sub_858E ; CPU:$AC45 PRG:2C45 20 8E 85 + lda #$01 ; CPU:$AC48 PRG:2C48 A9 01 + jsr Sub_858E ; CPU:$AC4A PRG:2C4A 20 8E 85 + ldy Zp11 ; CPU:$AC4D PRG:2C4D A4 11 + lda $ACD2,y ; CPU:$AC4F PRG:2C4F B9 D2 AC + jsr Sub_858E ; CPU:$AC52 PRG:2C52 20 8E 85 + jmp Sub_8572 ; CPU:$AC55 PRG:2C55 4C 72 85 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop270 +; Global: Branch target inside IrqHandler: taken when Loop270. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop270: + lda Zp11 ; CPU:$AC58 PRG:2C58 A5 11 + sec ; CPU:$AC5A PRG:2C5A 38 + sbc #$01 ; CPU:$AC5B PRG:2C5B E9 01 + asl a ; CPU:$AC5D PRG:2C5D 0A + clc ; CPU:$AC5E PRG:2C5E 18 + adc BlockTileIndex2 ; CPU:$AC5F PRG:2C5F 65 13 + tay ; CPU:$AC61 PRG:2C61 A8 + lda $AC98,y ; CPU:$AC62 PRG:2C62 B9 98 AC + sta BlockTileIndex ; CPU:$AC65 PRG:2C65 85 12 + lda Zp10 ; CPU:$AC67 PRG:2C67 A5 10 + jsr Sub_AF27 ; CPU:$AC69 PRG:2C69 20 27 AF + tya ; CPU:$AC6C PRG:2C6C 98 + asl a ; CPU:$AC6D PRG:2C6D 0A + asl a ; CPU:$AC6E PRG:2C6E 0A + asl a ; CPU:$AC6F PRG:2C6F 0A + clc ; CPU:$AC70 PRG:2C70 18 + adc #$9F ; CPU:$AC71 PRG:2C71 69 9F + ldy BlockTileIndex ; CPU:$AC73 PRG:2C73 A4 12 + sta $0600,y ; CPU:$AC75 PRG:2C75 99 00 06 + txa ; CPU:$AC78 PRG:2C78 8A + asl a ; CPU:$AC79 PRG:2C79 0A + asl a ; CPU:$AC7A PRG:2C7A 0A + asl a ; CPU:$AC7B PRG:2C7B 0A + clc ; CPU:$AC7C PRG:2C7C 18 + adc #$80 ; CPU:$AC7D PRG:2C7D 69 80 + ldx BlockTileIndex2 ; CPU:$AC7F PRG:2C7F A6 13 + beq IrqHandler_Loop271 ; CPU:$AC81 PRG:2C81 F0 03 + clc ; CPU:$AC83 PRG:2C83 18 + adc #$40 ; CPU:$AC84 PRG:2C84 69 40 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop271 +; Global: Branch target inside IrqHandler: taken when Loop271. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop271: + sta $0603,y ; CPU:$AC86 PRG:2C86 99 03 06 + ldx Zp11 ; CPU:$AC89 PRG:2C89 A6 11 + lda $AC9D,x ; CPU:$AC8B PRG:2C8B BD 9D AC + sta $0601,y ; CPU:$AC8E PRG:2C8E 99 01 06 + lda $ACA0,x ; CPU:$AC91 PRG:2C91 BD A0 AC + sta $0602,y ; CPU:$AC94 PRG:2C94 99 02 06 + rts ; CPU:$AC97 PRG:2C97 60 +; ---- data $AC98-$ACD7 (64 bytes) ---- +; referenced by `lda $AC9B,y` at $AC35 (operand $AC9B falls inside this region) +; referenced by `lda $AC9A,y` at $AC3B (operand $AC9A falls inside this region) +; referenced by `lda $ACD2,y` at $AC4F (operand $ACD2 falls inside this region) +; referenced by `lda $AC98,y` at $AC62 (operand $AC98 falls inside this region) +; referenced by `lda $AC9D,x` at $AC8B (operand $AC9D falls inside this region) +; referenced by `lda $ACA0,x` at $AC91 (operand $ACA0 falls inside this region) + .byte $00, $04, $08, $0C, $10, $14, $71, $70, $72, $03, $00, $00, $B0, $2A, $B1, $2A ; CPU:$AC98 PRG:2C98 00 04 08 0C 10 14 71 70 72 03 00 00 B0 2A B1 2A + .byte $B2, $2A, $B3, $2A, $B4, $2A, $D0, $2A, $D1, $2A, $D2, $2A, $D3, $2A, $D4, $2A ; CPU:$ACA8 PRG:2CA8 B2 2A B3 2A B4 2A D0 2A D1 2A D2 2A D3 2A D4 2A + .byte $F0, $2A, $F1, $2A, $F2, $2A, $F3, $2A, $F4, $2A, $10, $2B, $11, $2B, $12, $2B ; CPU:$ACB8 PRG:2CB8 F0 2A F1 2A F2 2A F3 2A F4 2A 10 2B 11 2B 12 2B + .byte $13, $2B, $14, $2B, $30, $2B, $31, $2B, $32, $2B, $33, $2B, $34, $2B, $CE, $D0 ; CPU:$ACC8 PRG:2CC8 13 2B 14 2B 30 2B 31 2B 32 2B 33 2B 34 2B CE D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_ACD8 +; Global: Branch target inside Sub: taken when ACD8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ACD8: + lda Zp0B ; CPU:$ACD8 PRG:2CD8 A5 0B + beq IrqHandler_Loop273 ; CPU:$ACDA PRG:2CDA F0 20 + ldx #$00 ; CPU:$ACDC PRG:2CDC A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero45 +; Global: Branch target inside IrqHandler: taken when OnNonzero45. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero45: + lda $0600,x ; CPU:$ACDE PRG:2CDE BD 00 06 + sec ; CPU:$ACE1 PRG:2CE1 38 + sbc Zp0B ; CPU:$ACE2 PRG:2CE2 E5 0B + bcs IrqHandler_Loop272 ; CPU:$ACE4 PRG:2CE4 B0 02 + lda #$F4 ; CPU:$ACE6 PRG:2CE6 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop272 +; Global: Branch target inside IrqHandler: taken when Loop272. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop272: + sta $02E8,x ; CPU:$ACE8 PRG:2CE8 9D E8 02 + inx ; CPU:$ACEB PRG:2CEB E8 + ldy #$03 ; CPU:$ACEC PRG:2CEC A0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero46 +; Global: Branch target inside IrqHandler: taken when OnNonzero46. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero46: + lda $0600,x ; CPU:$ACEE PRG:2CEE BD 00 06 + sta $02E8,x ; CPU:$ACF1 PRG:2CF1 9D E8 02 + inx ; CPU:$ACF4 PRG:2CF4 E8 + dey ; CPU:$ACF5 PRG:2CF5 88 + bne IrqHandler_OnNonzero46 ; CPU:$ACF6 PRG:2CF6 D0 F6 + cpx #$18 ; CPU:$ACF8 PRG:2CF8 E0 18 + bne IrqHandler_OnNonzero45 ; CPU:$ACFA PRG:2CFA D0 E2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop273 +; Global: Branch target inside IrqHandler: taken when Loop273. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop273: + rts ; CPU:$ACFC PRG:2CFC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_ACFD +; Global: Branch target inside Sub: taken when ACFD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ACFD: + ldy #$00 ; CPU:$ACFD PRG:2CFD A0 00 + lda GameState ; CPU:$ACFF PRG:2CFF A5 49 + bne IrqHandler_Loop274 ; CPU:$AD01 PRG:2D01 D0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop274 +; Global: Branch target inside IrqHandler: taken when Loop274. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop274: + ldx #$00 ; CPU:$AD03 PRG:2D03 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero47 +; Global: Branch target inside IrqHandler: taken when OnNonzero47. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero47: + lda $AD1F,y ; CPU:$AD05 PRG:2D05 B9 1F AD + sta $0520,x ; CPU:$AD08 PRG:2D08 9D 20 05 + iny ; CPU:$AD0B PRG:2D0B C8 + inx ; CPU:$AD0C PRG:2D0C E8 + cpx #$1E ; CPU:$AD0D PRG:2D0D E0 1E + bne IrqHandler_OnNonzero47 ; CPU:$AD0F PRG:2D0F D0 F4 + lda #$00 ; CPU:$AD11 PRG:2D11 A9 00 + sta $0561 ; CPU:$AD13 PRG:2D13 8D 61 05 + lda #$02 ; CPU:$AD16 PRG:2D16 A9 02 + sta $0560 ; CPU:$AD18 PRG:2D18 8D 60 05 + sta $0562 ; CPU:$AD1B PRG:2D1B 8D 62 05 + rts ; CPU:$AD1E PRG:2D1E 60 +; ---- data $AD1F-$AD3C (30 bytes) ---- +; referenced by `lda $AD1F,y` at $AD05 (operand $AD1F falls inside this region) + .byte $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $02, $00, $00, $00 ; CPU:$AD1F PRG:2D1F 00 00 00 00 00 00 00 01 00 00 00 00 02 00 00 00 + .byte $00, $03, $00, $00, $00, $00, $04, $00, $00, $00, $00, $05, $00, $00 ; CPU:$AD2F PRG:2D2F 00 03 00 00 00 00 04 00 00 00 00 05 00 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_AD3D +; Global: Branch target inside Sub: taken when AD3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AD3D: + ldx #$1E ; CPU:$AD3D PRG:2D3D A2 1E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative6 +; Global: Branch target inside IrqHandler: taken when OnNonnegative6. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative6: + lda $0520,x ; CPU:$AD3F PRG:2D3F BD 20 05 + sta $0500,x ; CPU:$AD42 PRG:2D42 9D 00 05 + dex ; CPU:$AD45 PRG:2D45 CA + bpl IrqHandler_OnNonnegative6 ; CPU:$AD46 PRG:2D46 10 F7 + lda #$00 ; CPU:$AD48 PRG:2D48 A9 00 + sta $0566 ; CPU:$AD4A PRG:2D4A 8D 66 05 + sta $0540 ; CPU:$AD4D PRG:2D4D 8D 40 05 + sta $0541 ; CPU:$AD50 PRG:2D50 8D 41 05 + sta $0542 ; CPU:$AD53 PRG:2D53 8D 42 05 + sta $0543 ; CPU:$AD56 PRG:2D56 8D 43 05 + sta $0544 ; CPU:$AD59 PRG:2D59 8D 44 05 + sta $0545 ; CPU:$AD5C PRG:2D5C 8D 45 05 + sta $0550 ; CPU:$AD5F PRG:2D5F 8D 50 05 + sta $0551 ; CPU:$AD62 PRG:2D62 8D 51 05 + sta $0552 ; CPU:$AD65 PRG:2D65 8D 52 05 + sta $0553 ; CPU:$AD68 PRG:2D68 8D 53 05 + sta $0554 ; CPU:$AD6B PRG:2D6B 8D 54 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarryClear +; Global: Branch target inside IrqHandler: taken when the addition or subtraction did not carry. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarryClear: + jsr Sub_ADAB ; CPU:$AD6E PRG:2D6E 20 AB AD + ldy Zp70 ; CPU:$AD71 PRG:2D71 A4 70 + cpy #$20 ; CPU:$AD73 PRG:2D73 C0 20 + bcc IrqHandler_Loop275 ; CPU:$AD75 PRG:2D75 90 02 + ldy #$1A ; CPU:$AD77 PRG:2D77 A0 1A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop275 +; Global: Branch target inside IrqHandler: taken when Loop275. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop275: + lda $0566 ; CPU:$AD79 PRG:2D79 AD 66 05 + cmp $AD90,y ; CPU:$AD7C PRG:2D7C D9 90 AD + bcc IrqHandler_OnCarryClear ; CPU:$AD7F PRG:2D7F 90 ED + lda $0566 ; CPU:$AD81 PRG:2D81 AD 66 05 + clc ; CPU:$AD84 PRG:2D84 18 + adc #$08 ; CPU:$AD85 PRG:2D85 69 08 + sta $0567 ; CPU:$AD87 PRG:2D87 8D 67 05 + lda #$00 ; CPU:$AD8A PRG:2D8A A9 00 + sta $0566 ; CPU:$AD8C PRG:2D8C 8D 66 05 + rts ; CPU:$AD8F PRG:2D8F 60 +; ---- data $AD90-$ADAA (27 bytes) ---- +; referenced by `cmp $AD90,y` at $AD7C (operand $AD90 falls inside this region) + .byte $00, $03, $03, $0A, $0A, $0A, $0F, $0F, $0F, $0F, $00, $00, $00, $00, $00, $00 ; CPU:$AD90 PRG:2D90 00 03 03 0A 0A 0A 0F 0F 0F 0F 00 00 00 00 00 00 + .byte $0F, $19, $19, $19, $19, $19, $19, $19, $19, $19, $28 ; CPU:$ADA0 PRG:2DA0 0F 19 19 19 19 19 19 19 19 19 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_ADAB +; Global: Branch target inside Sub: taken when ADAB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ADAB: + lda $0550 ; CPU:$ADAB PRG:2DAB AD 50 05 + beq IrqHandler_Loop276 ; CPU:$ADAE PRG:2DAE F0 25 + lda $0551 ; CPU:$ADB0 PRG:2DB0 AD 51 05 + beq IrqHandler_Loop276 ; CPU:$ADB3 PRG:2DB3 F0 20 + lda $0552 ; CPU:$ADB5 PRG:2DB5 AD 52 05 + beq IrqHandler_Loop276 ; CPU:$ADB8 PRG:2DB8 F0 1B + lda $0553 ; CPU:$ADBA PRG:2DBA AD 53 05 + beq IrqHandler_Loop276 ; CPU:$ADBD PRG:2DBD F0 16 + lda $0554 ; CPU:$ADBF PRG:2DBF AD 54 05 + beq IrqHandler_Loop276 ; CPU:$ADC2 PRG:2DC2 F0 11 + lda #$00 ; CPU:$ADC4 PRG:2DC4 A9 00 + sta $0550 ; CPU:$ADC6 PRG:2DC6 8D 50 05 + sta $0551 ; CPU:$ADC9 PRG:2DC9 8D 51 05 + sta $0552 ; CPU:$ADCC PRG:2DCC 8D 52 05 + sta $0553 ; CPU:$ADCF PRG:2DCF 8D 53 05 + sta $0554 ; CPU:$ADD2 PRG:2DD2 8D 54 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop276 +; Global: Branch target inside IrqHandler: taken when Loop276. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop276: + jsr Sub_84DC ; CPU:$ADD5 PRG:2DD5 20 DC 84 + and #$07 ; CPU:$ADD8 PRG:2DD8 29 07 + cmp #$05 ; CPU:$ADDA PRG:2DDA C9 05 + bcs IrqHandler_Loop276 ; CPU:$ADDC PRG:2DDC B0 F7 + tax ; CPU:$ADDE PRG:2DDE AA + ldy $0550,x ; CPU:$ADDF PRG:2DDF BC 50 05 + bne IrqHandler_Loop276 ; CPU:$ADE2 PRG:2DE2 D0 F1 + inc $0550,x ; CPU:$ADE4 PRG:2DE4 FE 50 05 + adc #$01 ; CPU:$ADE7 PRG:2DE7 69 01 + sta BlockType ; CPU:$ADE9 PRG:2DE9 85 16 + ldx #$00 ; CPU:$ADEB PRG:2DEB A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero48 +; Global: Branch target inside IrqHandler: taken when OnNonzero48. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero48: + lda $0500,x ; CPU:$ADED PRG:2DED BD 00 05 + cmp BlockType ; CPU:$ADF0 PRG:2DF0 C5 16 + beq IrqHandler_Loop277 ; CPU:$ADF2 PRG:2DF2 F0 03 + inx ; CPU:$ADF4 PRG:2DF4 E8 + bne IrqHandler_OnNonzero48 ; CPU:$ADF5 PRG:2DF5 D0 F6 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop277 +; Global: Branch target inside IrqHandler: taken when Loop277. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop277: + txa ; CPU:$ADF7 PRG:2DF7 8A + sta $0565 ; CPU:$ADF8 PRG:2DF8 8D 65 05 + jsr Sub_AF27 ; CPU:$ADFB PRG:2DFB 20 27 AF + stx $0563 ; CPU:$ADFE PRG:2DFE 8E 63 05 + sty $0564 ; CPU:$AE01 PRG:2E01 8C 64 05 + lda $0560 ; CPU:$AE04 PRG:2E04 AD 60 05 + cmp $0563 ; CPU:$AE07 PRG:2E07 CD 63 05 + beq IrqHandler_Loop280 ; CPU:$AE0A PRG:2E0A F0 2D + jsr Sub_AEDC ; CPU:$AE0C PRG:2E0C 20 DC AE +; ----------------------------------------------------------------------------- +; Routine: Sub_AE0F +; Global: Branch target inside Sub: taken when AE0F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE0F: + lda $0561 ; CPU:$AE0F PRG:2E0F AD 61 05 + cmp Zp10 ; CPU:$AE12 PRG:2E12 C5 10 + beq IrqHandler_Loop278 ; CPU:$AE14 PRG:2E14 F0 09 + dec $0561 ; CPU:$AE16 PRG:2E16 CE 61 05 + inc $0566 ; CPU:$AE19 PRG:2E19 EE 66 05 + jmp Sub_AE0F ; CPU:$AE1C PRG:2E1C 4C 0F AE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop278 +; Global: Branch target inside IrqHandler: taken when Loop278. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop278: + lda $0560 ; CPU:$AE1F PRG:2E1F AD 60 05 + sec ; CPU:$AE22 PRG:2E22 38 + sbc $0563 ; CPU:$AE23 PRG:2E23 ED 63 05 + bcs IrqHandler_Loop279 ; CPU:$AE26 PRG:2E26 B0 04 + eor #$FF ; CPU:$AE28 PRG:2E28 49 FF + adc #$01 ; CPU:$AE2A PRG:2E2A 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop279 +; Global: Branch target inside IrqHandler: taken when Loop279. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop279: + clc ; CPU:$AE2C PRG:2E2C 18 + adc $0566 ; CPU:$AE2D PRG:2E2D 6D 66 05 + sta $0566 ; CPU:$AE30 PRG:2E30 8D 66 05 + lda $0563 ; CPU:$AE33 PRG:2E33 AD 63 05 + sta $0560 ; CPU:$AE36 PRG:2E36 8D 60 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop280 +; Global: Branch target inside IrqHandler: taken when Loop280. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop280: + lda $0561 ; CPU:$AE39 PRG:2E39 AD 61 05 + cmp $0564 ; CPU:$AE3C PRG:2E3C CD 64 05 + beq IrqHandler_Loop281 ; CPU:$AE3F PRG:2E3F F0 09 + inc $0561 ; CPU:$AE41 PRG:2E41 EE 61 05 + inc $0566 ; CPU:$AE44 PRG:2E44 EE 66 05 + jmp IrqHandler_Loop280 ; CPU:$AE47 PRG:2E47 4C 39 AE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop281 +; Global: Branch target inside IrqHandler: taken when Loop281. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop281: + jsr Sub_AF17 ; CPU:$AE4A PRG:2E4A 20 17 AF + ldx #$00 ; CPU:$AE4D PRG:2E4D A2 00 + ldy $0562 ; CPU:$AE4F PRG:2E4F AC 62 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative7 +; Global: Branch target inside IrqHandler: taken when OnNonnegative7. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative7: + lda $0500,y ; CPU:$AE52 PRG:2E52 B9 00 05 + sta $0540,x ; CPU:$AE55 PRG:2E55 9D 40 05 + inx ; CPU:$AE58 PRG:2E58 E8 + lda #$00 ; CPU:$AE59 PRG:2E59 A9 00 + sta $0500,y ; CPU:$AE5B PRG:2E5B 99 00 05 + dey ; CPU:$AE5E PRG:2E5E 88 + dey ; CPU:$AE5F PRG:2E5F 88 + dey ; CPU:$AE60 PRG:2E60 88 + dey ; CPU:$AE61 PRG:2E61 88 + dey ; CPU:$AE62 PRG:2E62 88 + bpl IrqHandler_OnNonnegative7 ; CPU:$AE63 PRG:2E63 10 ED + inc $0566 ; CPU:$AE65 PRG:2E65 EE 66 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero10 +; Global: Branch target inside IrqHandler: taken when OnZero10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero10: + jsr Sub_84DC ; CPU:$AE68 PRG:2E68 20 DC 84 + lda $0619 ; CPU:$AE6B PRG:2E6B AD 19 06 + and #$07 ; CPU:$AE6E PRG:2E6E 29 07 + cmp #$05 ; CPU:$AE70 PRG:2E70 C9 05 + bcs IrqHandler_OnZero10 ; CPU:$AE72 PRG:2E72 B0 F4 + cmp $0560 ; CPU:$AE74 PRG:2E74 CD 60 05 + beq IrqHandler_OnZero10 ; CPU:$AE77 PRG:2E77 F0 EF + sta $0563 ; CPU:$AE79 PRG:2E79 8D 63 05 + jsr Sub_AEDC ; CPU:$AE7C PRG:2E7C 20 DC AE + dec Zp10 ; CPU:$AE7F PRG:2E7F C6 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_AE81 +; Global: Branch target inside Sub: taken when AE81. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AE81: + lda $0561 ; CPU:$AE81 PRG:2E81 AD 61 05 + cmp Zp10 ; CPU:$AE84 PRG:2E84 C5 10 + beq IrqHandler_Loop282 ; CPU:$AE86 PRG:2E86 F0 09 + dec $0561 ; CPU:$AE88 PRG:2E88 CE 61 05 + inc $0566 ; CPU:$AE8B PRG:2E8B EE 66 05 + jmp Sub_AE81 ; CPU:$AE8E PRG:2E8E 4C 81 AE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop282 +; Global: Branch target inside IrqHandler: taken when Loop282. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop282: + lda $0560 ; CPU:$AE91 PRG:2E91 AD 60 05 + sec ; CPU:$AE94 PRG:2E94 38 + sbc $0563 ; CPU:$AE95 PRG:2E95 ED 63 05 + bcs IrqHandler_Loop283 ; CPU:$AE98 PRG:2E98 B0 04 + eor #$FF ; CPU:$AE9A PRG:2E9A 49 FF + adc #$01 ; CPU:$AE9C PRG:2E9C 69 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop283 +; Global: Branch target inside IrqHandler: taken when Loop283. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop283: + clc ; CPU:$AE9E PRG:2E9E 18 + adc $0566 ; CPU:$AE9F PRG:2E9F 6D 66 05 + sta $0566 ; CPU:$AEA2 PRG:2EA2 8D 66 05 + lda $0563 ; CPU:$AEA5 PRG:2EA5 AD 63 05 + sta $0560 ; CPU:$AEA8 PRG:2EA8 8D 60 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEAB +; Global: Branch target inside Sub: taken when AEAB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEAB: + jsr Sub_AF17 ; CPU:$AEAB PRG:2EAB 20 17 AF + ldy $0562 ; CPU:$AEAE PRG:2EAE AC 62 05 + cpy #$19 ; CPU:$AEB1 PRG:2EB1 C0 19 + bcs IrqHandler_Loop284 ; CPU:$AEB3 PRG:2EB3 B0 0E + lda $0505,y ; CPU:$AEB5 PRG:2EB5 B9 05 05 + bne IrqHandler_Loop284 ; CPU:$AEB8 PRG:2EB8 D0 09 + inc $0561 ; CPU:$AEBA PRG:2EBA EE 61 05 + inc $0566 ; CPU:$AEBD PRG:2EBD EE 66 05 + jmp Sub_AEAB ; CPU:$AEC0 PRG:2EC0 4C AB AE +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop284 +; Global: Branch target inside IrqHandler: taken when Loop284. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop284: + ldx #$00 ; CPU:$AEC3 PRG:2EC3 A2 00 + ldy $0562 ; CPU:$AEC5 PRG:2EC5 AC 62 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative8 +; Global: Branch target inside IrqHandler: taken when OnNonnegative8. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative8: + lda $0540,x ; CPU:$AEC8 PRG:2EC8 BD 40 05 + beq IrqHandler_Loop285 ; CPU:$AECB PRG:2ECB F0 0B + sta $0500,y ; CPU:$AECD PRG:2ECD 99 00 05 + inx ; CPU:$AED0 PRG:2ED0 E8 + dey ; CPU:$AED1 PRG:2ED1 88 + dey ; CPU:$AED2 PRG:2ED2 88 + dey ; CPU:$AED3 PRG:2ED3 88 + dey ; CPU:$AED4 PRG:2ED4 88 + dey ; CPU:$AED5 PRG:2ED5 88 + bpl IrqHandler_OnNonnegative8 ; CPU:$AED6 PRG:2ED6 10 F0 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop285 +; Global: Branch target inside IrqHandler: taken when Loop285. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop285: + inc $0566 ; CPU:$AED8 PRG:2ED8 EE 66 05 + rts ; CPU:$AEDB PRG:2EDB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AEDC +; Global: Branch target inside Sub: taken when AEDC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AEDC: + lda $0560 ; CPU:$AEDC PRG:2EDC AD 60 05 + sta BlockTileIndex2 ; CPU:$AEDF PRG:2EDF 85 13 + lda $0563 ; CPU:$AEE1 PRG:2EE1 AD 63 05 + sta BlockTileIndex ; CPU:$AEE4 PRG:2EE4 85 12 + cmp $0560 ; CPU:$AEE6 PRG:2EE6 CD 60 05 + bcs IrqHandler_Loop286 ; CPU:$AEE9 PRG:2EE9 B0 07 + sta BlockTileIndex2 ; CPU:$AEEB PRG:2EEB 85 13 + lda $0560 ; CPU:$AEED PRG:2EED AD 60 05 + sta BlockTileIndex ; CPU:$AEF0 PRG:2EF0 85 12 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop286 +; Global: Branch target inside IrqHandler: taken when Loop286. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop286: + lda $0561 ; CPU:$AEF2 PRG:2EF2 AD 61 05 + sta Zp10 ; CPU:$AEF5 PRG:2EF5 85 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero49 +; Global: Branch target inside IrqHandler: taken when OnNonzero49. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero49: + lda Zp10 ; CPU:$AEF7 PRG:2EF7 A5 10 + asl a ; CPU:$AEF9 PRG:2EF9 0A + asl a ; CPU:$AEFA PRG:2EFA 0A + adc Zp10 ; CPU:$AEFB PRG:2EFB 65 10 + sta BlockPtrLo ; CPU:$AEFD PRG:2EFD 85 14 + lda #$05 ; CPU:$AEFF PRG:2EFF A9 05 + sta BlockPtrHi ; CPU:$AF01 PRG:2F01 85 15 + ldy BlockTileIndex2 ; CPU:$AF03 PRG:2F03 A4 13 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero50 +; Global: Branch target inside IrqHandler: taken when OnNonzero50. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero50: + lda (BlockPtrLo),y ; CPU:$AF05 PRG:2F05 B1 14 + bne IrqHandler_Loop287 ; CPU:$AF07 PRG:2F07 D0 07 + cpy BlockTileIndex ; CPU:$AF09 PRG:2F09 C4 12 + beq IrqHandler_Loop288 ; CPU:$AF0B PRG:2F0B F0 07 + iny ; CPU:$AF0D PRG:2F0D C8 + bne IrqHandler_OnNonzero50 ; CPU:$AF0E PRG:2F0E D0 F5 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop287 +; Global: Branch target inside IrqHandler: taken when Loop287. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop287: + dec Zp10 ; CPU:$AF10 PRG:2F10 C6 10 + bne IrqHandler_OnNonzero49 ; CPU:$AF12 PRG:2F12 D0 E3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop288 +; Global: Branch target inside IrqHandler: taken when Loop288. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop288: + lda Zp10 ; CPU:$AF14 PRG:2F14 A5 10 + rts ; CPU:$AF16 PRG:2F16 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF17 +; Global: Branch target inside Sub: taken when AF17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF17: + lda $0561 ; CPU:$AF17 PRG:2F17 AD 61 05 + asl a ; CPU:$AF1A PRG:2F1A 0A + asl a ; CPU:$AF1B PRG:2F1B 0A + adc $0561 ; CPU:$AF1C PRG:2F1C 6D 61 05 + clc ; CPU:$AF1F PRG:2F1F 18 + adc $0560 ; CPU:$AF20 PRG:2F20 6D 60 05 + sta $0562 ; CPU:$AF23 PRG:2F23 8D 62 05 + rts ; CPU:$AF26 PRG:2F26 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF27 +; Global: Branch target inside Sub: taken when AF27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF27: + ldy #$00 ; CPU:$AF27 PRG:2F27 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnCarrySet4 +; Global: Branch target inside IrqHandler: taken when OnCarrySet4. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnCarrySet4: + cmp #$05 ; CPU:$AF29 PRG:2F29 C9 05 + bcc IrqHandler_Loop289 ; CPU:$AF2B PRG:2F2B 90 05 + iny ; CPU:$AF2D PRG:2F2D C8 + sbc #$05 ; CPU:$AF2E PRG:2F2E E9 05 + bcs IrqHandler_OnCarrySet4 ; CPU:$AF30 PRG:2F30 B0 F7 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop289 +; Global: Branch target inside IrqHandler: taken when Loop289. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop289: + tax ; CPU:$AF32 PRG:2F32 AA + rts ; CPU:$AF33 PRG:2F33 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF34 +; Global: Branch target inside Sub: taken when AF34. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF34: + lda GameState ; CPU:$AF34 PRG:2F34 A5 49 + beq IrqHandler_Loop291 ; CPU:$AF36 PRG:2F36 F0 18 + bmi IrqHandler_Loop290 ; CPU:$AF38 PRG:2F38 30 0B + lda #$72 ; CPU:$AF3A PRG:2F3A A9 72 + sta BlockPtrLo ; CPU:$AF3C PRG:2F3C 85 14 + lda #$AF ; CPU:$AF3E PRG:2F3E A9 AF + sta BlockPtrHi ; CPU:$AF40 PRG:2F40 85 15 + jmp Sub_AF67 ; CPU:$AF42 PRG:2F42 4C 67 AF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop290 +; Global: Branch target inside IrqHandler: taken when Loop290. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop290: + lda #$B2 ; CPU:$AF45 PRG:2F45 A9 B2 + sta BlockPtrLo ; CPU:$AF47 PRG:2F47 85 14 + lda #$AF ; CPU:$AF49 PRG:2F49 A9 AF + sta BlockPtrHi ; CPU:$AF4B PRG:2F4B 85 15 + jmp Sub_AF67 ; CPU:$AF4D PRG:2F4D 4C 67 AF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop291 +; Global: Branch target inside IrqHandler: taken when Loop291. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop291: + lda BoardState ; CPU:$AF50 PRG:2F50 A5 40 + bne IrqHandler_Loop292 ; CPU:$AF52 PRG:2F52 D0 0B + lda #$F2 ; CPU:$AF54 PRG:2F54 A9 F2 + sta BlockPtrLo ; CPU:$AF56 PRG:2F56 85 14 + lda #$AF ; CPU:$AF58 PRG:2F58 A9 AF + sta BlockPtrHi ; CPU:$AF5A PRG:2F5A 85 15 + jmp Sub_AF67 ; CPU:$AF5C PRG:2F5C 4C 67 AF +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop292 +; Global: Branch target inside IrqHandler: taken when Loop292. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop292: + lda #$F2 ; CPU:$AF5F PRG:2F5F A9 F2 + sta BlockPtrLo ; CPU:$AF61 PRG:2F61 85 14 + lda #$AF ; CPU:$AF63 PRG:2F63 A9 AF + sta BlockPtrHi ; CPU:$AF65 PRG:2F65 85 15 +; ----------------------------------------------------------------------------- +; Routine: Sub_AF67 +; Global: Branch target inside Sub: taken when AF67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AF67: + ldy #$3F ; CPU:$AF67 PRG:2F67 A0 3F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative9 +; Global: Branch target inside IrqHandler: taken when OnNonnegative9. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative9: + lda (BlockPtrLo),y ; CPU:$AF69 PRG:2F69 B1 14 + sta $0400,y ; CPU:$AF6B PRG:2F6B 99 00 04 + dey ; CPU:$AF6E PRG:2F6E 88 + bpl IrqHandler_OnNonnegative9 ; CPU:$AF6F PRG:2F6F 10 F8 + rts ; CPU:$AF71 PRG:2F71 60 +; ---- data $AF72-$B031 (192 bytes) ---- + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AF72 PRG:2F72 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:$AF82 PRG:2F82 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $02, $03, $01, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $FF, $FF ; CPU:$AF92 PRG:2F92 FF FF FF 02 03 01 FF FF FF FF FF 00 00 00 FF FF + .byte $FF, $FF, $FF, $05, $04, $06, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AFA2 PRG:2FA2 FF FF FF 05 04 06 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:$AFB2 PRG:2FB2 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:$AFC2 PRG:2FC2 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$AFD2 PRG:2FD2 FF 00 00 00 00 00 00 00 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:$AFE2 PRG:2FE2 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, $00, $00, $00, $00, $00, $FF ; CPU:$AFF2 PRG:2FF2 FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 FF + .byte $FF, $FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, $00, $00, $FF ; CPU:$B002 PRG:3002 FF FF 00 00 00 00 00 FF FF FF 00 00 00 00 00 FF + .byte $FF, $FF, $00, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, $00, $00, $FF ; CPU:$B012 PRG:3012 FF FF 00 00 00 00 00 FF FF FF 00 00 00 00 00 FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$B022 PRG:3022 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Sub_B032 +; Global: Branch target inside Sub: taken when B032. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B032: + lda #$67 ; CPU:$B032 PRG:3032 A9 67 + sta $0200 ; CPU:$B034 PRG:3034 8D 00 02 + lda #$70 ; CPU:$B037 PRG:3037 A9 70 + sta $0201 ; CPU:$B039 PRG:3039 8D 01 02 + lda #$00 ; CPU:$B03C PRG:303C A9 00 + sta $0202 ; CPU:$B03E PRG:303E 8D 02 02 + lda #$FE ; CPU:$B041 PRG:3041 A9 FE + sta $0203 ; CPU:$B043 PRG:3043 8D 03 02 + rts ; CPU:$B046 PRG:3046 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero51 +; Global: Branch target inside IrqHandler: taken when OnNonzero51. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero51: + lda PPUSTATUS ; CPU:$B047 PRG:3047 AD 02 20 + and #$40 ; CPU:$B04A PRG:304A 29 40 + bne IrqHandler_OnNonzero51 ; CPU:$B04C PRG:304C D0 F9 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero11 +; Global: Branch target inside IrqHandler: taken when OnZero11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero11: + lda PPUSTATUS ; CPU:$B04E PRG:304E AD 02 20 + and #$40 ; CPU:$B051 PRG:3051 29 40 + beq IrqHandler_OnZero11 ; CPU:$B053 PRG:3053 F0 F9 + lda #$21 ; CPU:$B055 PRG:3055 A9 21 + sta PPUADDR ; CPU:$B057 PRG:3057 8D 06 20 + lda #$A0 ; CPU:$B05A PRG:305A A9 A0 + sta PPUADDR ; CPU:$B05C PRG:305C 8D 06 20 + ldx Zp0A ; CPU:$B05F PRG:305F A6 0A + stx PPUSCROLL ; CPU:$B061 PRG:3061 8E 05 20 + ldx #$00 ; CPU:$B064 PRG:3064 A2 00 + stx PPUSCROLL ; CPU:$B066 PRG:3066 8E 05 20 + rts ; CPU:$B069 PRG:3069 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B06A +; Global: Branch target inside Sub: taken when B06A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B06A: + lda Zp66 ; CPU:$B06A PRG:306A A5 66 + beq IrqHandler_Loop294 ; CPU:$B06C PRG:306C F0 0C + lda $0309 ; CPU:$B06E PRG:306E AD 09 03 + cmp #$70 ; CPU:$B071 PRG:3071 C9 70 + bcc IrqHandler_Loop293 ; CPU:$B073 PRG:3073 90 04 + lda #$00 ; CPU:$B075 PRG:3075 A9 00 + sta Zp66 ; CPU:$B077 PRG:3077 85 66 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop293 +; Global: Branch target inside IrqHandler: taken when Loop293. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop293: + rts ; CPU:$B079 PRG:3079 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop294 +; Global: Branch target inside IrqHandler: taken when Loop294. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop294: + lda Zp55 ; CPU:$B07A PRG:307A A5 55 + bne IrqHandler_Loop298 ; CPU:$B07C PRG:307C D0 31 + lda $0309 ; CPU:$B07E PRG:307E AD 09 03 + ldx #$FE ; CPU:$B081 PRG:3081 A2 FE + ldy #$FD ; CPU:$B083 PRG:3083 A0 FD + cmp #$61 ; CPU:$B085 PRG:3085 C9 61 + bcc IrqHandler_Loop295 ; CPU:$B087 PRG:3087 90 08 + cmp #$A0 ; CPU:$B089 PRG:3089 C9 A0 + bcc IrqHandler_Loop301 ; CPU:$B08B PRG:308B 90 7E + ldx #$02 ; CPU:$B08D PRG:308D A2 02 + ldy #$03 ; CPU:$B08F PRG:308F A0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop295 +; Global: Branch target inside IrqHandler: taken when Loop295. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop295: + stx Zp55 ; CPU:$B091 PRG:3091 86 55 + lda #$00 ; CPU:$B093 PRG:3093 A9 00 + sta Zp56 ; CPU:$B095 PRG:3095 85 56 + tya ; CPU:$B097 PRG:3097 98 + clc ; CPU:$B098 PRG:3098 18 + adc Zp59 ; CPU:$B099 PRG:3099 65 59 + sta Zp58 ; CPU:$B09B PRG:309B 85 58 + bpl IrqHandler_Loop296 ; CPU:$B09D PRG:309D 10 0A + ldx #$08 ; CPU:$B09F PRG:309F A2 08 + cmp #$FF ; CPU:$B0A1 PRG:30A1 C9 FF + beq IrqHandler_Loop297 ; CPU:$B0A3 PRG:30A3 F0 08 + ldx #$00 ; CPU:$B0A5 PRG:30A5 A2 00 + beq IrqHandler_Loop297 ; CPU:$B0A7 PRG:30A7 F0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop296 +; Global: Branch target inside IrqHandler: taken when Loop296. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop296: + tay ; CPU:$B0A9 PRG:30A9 A8 + ldx $0580,y ; CPU:$B0AA PRG:30AA BE 80 05 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop297 +; Global: Branch target inside IrqHandler: taken when Loop297. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop297: + stx Zp57 ; CPU:$B0AD PRG:30AD 86 57 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop298 +; Global: Branch target inside IrqHandler: taken when Loop298. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop298: + lda Zp0A ; CPU:$B0AF PRG:30AF A5 0A + clc ; CPU:$B0B1 PRG:30B1 18 + adc Zp55 ; CPU:$B0B2 PRG:30B2 65 55 + sta Zp0A ; CPU:$B0B4 PRG:30B4 85 0A + lda Zp55 ; CPU:$B0B6 PRG:30B6 A5 55 + eor #$FF ; CPU:$B0B8 PRG:30B8 49 FF + sta BlockType ; CPU:$B0BA PRG:30BA 85 16 + inc BlockType ; CPU:$B0BC PRG:30BC E6 16 + lda $0309 ; CPU:$B0BE PRG:30BE AD 09 03 + clc ; CPU:$B0C1 PRG:30C1 18 + adc BlockType ; CPU:$B0C2 PRG:30C2 65 16 + sta $0309 ; CPU:$B0C4 PRG:30C4 8D 09 03 + lda $0389 ; CPU:$B0C7 PRG:30C7 AD 89 03 + clc ; CPU:$B0CA PRG:30CA 18 + adc BlockType ; CPU:$B0CB PRG:30CB 65 16 + sta $0389 ; CPU:$B0CD PRG:30CD 8D 89 03 + ldx #$04 ; CPU:$B0D0 PRG:30D0 A2 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero52 +; Global: Branch target inside IrqHandler: taken when OnNonzero52. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero52: + lda $0203,x ; CPU:$B0D2 PRG:30D2 BD 03 02 + clc ; CPU:$B0D5 PRG:30D5 18 + adc BlockType ; CPU:$B0D6 PRG:30D6 65 16 + sta $0203,x ; CPU:$B0D8 PRG:30D8 9D 03 02 + inx ; CPU:$B0DB PRG:30DB E8 + inx ; CPU:$B0DC PRG:30DC E8 + inx ; CPU:$B0DD PRG:30DD E8 + inx ; CPU:$B0DE PRG:30DE E8 + cpx #$80 ; CPU:$B0DF PRG:30DF E0 80 + bne IrqHandler_OnNonzero52 ; CPU:$B0E1 PRG:30E1 D0 EF + lda Zp56 ; CPU:$B0E3 PRG:30E3 A5 56 + ldy #$00 ; CPU:$B0E5 PRG:30E5 A0 00 + cmp #$01 ; CPU:$B0E7 PRG:30E7 C9 01 + beq IrqHandler_Loop299 ; CPU:$B0E9 PRG:30E9 F0 11 + iny ; CPU:$B0EB PRG:30EB C8 + cmp #$05 ; CPU:$B0EC PRG:30EC C9 05 + beq IrqHandler_Loop299 ; CPU:$B0EE PRG:30EE F0 0C + iny ; CPU:$B0F0 PRG:30F0 C8 + cmp #$09 ; CPU:$B0F1 PRG:30F1 C9 09 + beq IrqHandler_Loop299 ; CPU:$B0F3 PRG:30F3 F0 07 + iny ; CPU:$B0F5 PRG:30F5 C8 + cmp #$0D ; CPU:$B0F6 PRG:30F6 C9 0D + beq IrqHandler_Loop299 ; CPU:$B0F8 PRG:30F8 F0 02 + bne IrqHandler_Loop300 ; CPU:$B0FA PRG:30FA D0 03 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop299 +; Global: Branch target inside IrqHandler: taken when Loop299. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop299: + jsr Sub_B10C ; CPU:$B0FC PRG:30FC 20 0C B1 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop300 +; Global: Branch target inside IrqHandler: taken when Loop300. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop300: + inc Zp56 ; CPU:$B0FF PRG:30FF E6 56 + lda Zp56 ; CPU:$B101 PRG:3101 A5 56 + cmp #$10 ; CPU:$B103 PRG:3103 C9 10 + bne IrqHandler_Loop301 ; CPU:$B105 PRG:3105 D0 04 + lda #$00 ; CPU:$B107 PRG:3107 A9 00 + sta Zp55 ; CPU:$B109 PRG:3109 85 55 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop301 +; Global: Branch target inside IrqHandler: taken when Loop301. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop301: + rts ; CPU:$B10B PRG:310B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B10C +; Global: Branch target inside Sub: taken when B10C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B10C: + lda Zp55 ; CPU:$B10C PRG:310C A5 55 + bpl IrqHandler_Loop302 ; CPU:$B10E PRG:310E 10 04 + tya ; CPU:$B110 PRG:3110 98 + eor #$03 ; CPU:$B111 PRG:3111 49 03 + tay ; CPU:$B113 PRG:3113 A8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop302 +; Global: Branch target inside IrqHandler: taken when Loop302. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop302: + sty Zp0C ; CPU:$B114 PRG:3114 84 0C +; ----------------------------------------------------------------------------- +; Routine: Label_B116 +; Global: Branch target inside Label: taken when B116. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B116: + lda Zp58 ; CPU:$B116 PRG:3116 A5 58 + and #$07 ; CPU:$B118 PRG:3118 29 07 + asl a ; CPU:$B11A PRG:311A 0A + tay ; CPU:$B11B PRG:311B A8 + lda $A8D3,y ; CPU:$B11C PRG:311C B9 D3 A8 + clc ; CPU:$B11F PRG:311F 18 + adc Zp0C ; CPU:$B120 PRG:3120 65 0C + sta VramWritePtrLo ; CPU:$B122 PRG:3122 85 00 + lda $A8D4,y ; CPU:$B124 PRG:3124 B9 D4 A8 + sta VramWritePtrHi ; CPU:$B127 PRG:3127 85 01 + lda #$31 ; CPU:$B129 PRG:3129 A9 31 + sta $0620 ; CPU:$B12B PRG:312B 8D 20 06 + lda Zp57 ; CPU:$B12E PRG:312E A5 57 + jsr Sub_A68A ; CPU:$B130 PRG:3130 20 8A A6 + ldy Zp0C ; CPU:$B133 PRG:3133 A4 0C + ldx #$00 ; CPU:$B135 PRG:3135 A2 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero53 +; Global: Branch target inside IrqHandler: taken when OnNonzero53. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero53: + lda (BlockPtrLo),y ; CPU:$B137 PRG:3137 B1 14 + sta $0621,x ; CPU:$B139 PRG:3139 9D 21 06 + iny ; CPU:$B13C PRG:313C C8 + iny ; CPU:$B13D PRG:313D C8 + iny ; CPU:$B13E PRG:313E C8 + iny ; CPU:$B13F PRG:313F C8 + inx ; CPU:$B140 PRG:3140 E8 + cpx #$03 ; CPU:$B141 PRG:3141 E0 03 + bne IrqHandler_OnNonzero53 ; CPU:$B143 PRG:3143 D0 F2 + jmp IrqHandler_Loop248 ; CPU:$B145 PRG:3145 4C 7F A6 +; ----------------------------------------------------------------------------- +; Routine: Sub_B148 +; Global: Branch target inside Sub: taken when B148. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B148: + lda Zp1A ; CPU:$B148 PRG:3148 A5 1A + asl a ; CPU:$B14A PRG:314A 0A + bcs IrqHandler_Loop303 ; CPU:$B14B PRG:314B B0 0B + asl a ; CPU:$B14D PRG:314D 0A + bcc IrqHandler_Loop306 ; CPU:$B14E PRG:314E 90 17 + dec Zp5A ; CPU:$B150 PRG:3150 C6 5A + bne IrqHandler_Loop305 ; CPU:$B152 PRG:3152 D0 10 + lda #$07 ; CPU:$B154 PRG:3154 A9 07 + bne IrqHandler_Loop304 ; CPU:$B156 PRG:3156 D0 0A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop303 +; Global: Branch target inside IrqHandler: taken when Loop303. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop303: + inc Zp5A ; CPU:$B158 PRG:3158 E6 5A + lda Zp5A ; CPU:$B15A PRG:315A A5 5A + cmp #$08 ; CPU:$B15C PRG:315C C9 08 + bne IrqHandler_Loop305 ; CPU:$B15E PRG:315E D0 04 + lda #$01 ; CPU:$B160 PRG:3160 A9 01 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop304 +; Global: Branch target inside IrqHandler: taken when Loop304. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop304: + sta Zp5A ; CPU:$B162 PRG:3162 85 5A +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop305 +; Global: Branch target inside IrqHandler: taken when Loop305. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop305: + jsr Sub_B299 ; CPU:$B164 PRG:3164 20 99 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop306 +; Global: Branch target inside IrqHandler: taken when Loop306. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop306: + lda Zp5A ; CPU:$B167 PRG:3167 A5 5A + asl a ; CPU:$B169 PRG:3169 0A + tay ; CPU:$B16A PRG:316A A8 + ldx #$80 ; CPU:$B16B PRG:316B A2 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero54 +; Global: Branch target inside IrqHandler: taken when OnNonzero54. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero54: + lda #$67 ; CPU:$B16D PRG:316D A9 67 + sta $0200,x ; CPU:$B16F PRG:316F 9D 00 02 + lda #$73 ; CPU:$B172 PRG:3172 A9 73 + sta $0201,x ; CPU:$B174 PRG:3174 9D 01 02 + lda #$03 ; CPU:$B177 PRG:3177 A9 03 + sta $0202,x ; CPU:$B179 PRG:3179 9D 02 02 + lda $B18C,y ; CPU:$B17C PRG:317C B9 8C B1 + sta $0203,x ; CPU:$B17F PRG:317F 9D 03 02 + iny ; CPU:$B182 PRG:3182 C8 + inx ; CPU:$B183 PRG:3183 E8 + inx ; CPU:$B184 PRG:3184 E8 + inx ; CPU:$B185 PRG:3185 E8 + inx ; CPU:$B186 PRG:3186 E8 + cpx #$88 ; CPU:$B187 PRG:3187 E0 88 + bne IrqHandler_OnNonzero54 ; CPU:$B189 PRG:3189 D0 E2 + rts ; CPU:$B18B PRG:318B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B18C +; Global: Branch target inside Label: taken when B18C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B18C: + brk ; CPU:$B18C PRG:318C 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B18D +; Global: Branch target inside Label: taken when B18D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B18D: + brk ; CPU:$B18D PRG:318D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B18E +; Global: Branch target inside Label: taken when B18E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B18E: + jsr $3828 ; CPU:$B18E PRG:318E 20 28 38 + rti ; CPU:$B191 PRG:3191 40 +; ----------------------------------------------------------------------------- +; Routine: Label_B192 +; Global: Branch target inside Label: taken when B192. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B192: + .byte $50, $58 ; CPU:$B192 PRG:3192 50 58 + pla ; CPU:$B194 PRG:3194 68 + .byte $70, $80 ; CPU:$B195 PRG:3195 70 80 + dey ; CPU:$B197 PRG:3197 88 + tya ; CPU:$B198 PRG:3198 98 + ldy #$B0 ; CPU:$B199 PRG:3199 A0 B0 + clv ; CPU:$B19B PRG:319B B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B19C +; Global: Branch target inside Sub: taken when B19C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B19C: + lda Zp18 ; CPU:$B19C PRG:319C A5 18 + and #$30 ; CPU:$B19E PRG:319E 29 30 + sta Zp18 ; CPU:$B1A0 PRG:31A0 85 18 + lda #$00 ; CPU:$B1A2 PRG:31A2 A9 00 + sta Zp1A ; CPU:$B1A4 PRG:31A4 85 1A + lda Zp2F ; CPU:$B1A6 PRG:31A6 A5 2F + and #$03 ; CPU:$B1A8 PRG:31A8 29 03 + bne IrqHandler_Loop308 ; CPU:$B1AA PRG:31AA D0 29 + lda Zp3E ; CPU:$B1AC PRG:31AC A5 3E + beq IrqHandler_Loop307 ; CPU:$B1AE PRG:31AE F0 08 + dec Zp3E ; CPU:$B1B0 PRG:31B0 C6 3E + bne IrqHandler_Loop308 ; CPU:$B1B2 PRG:31B2 D0 21 + beq IrqHandler_Loop307 ; CPU:$B1B4 PRG:31B4 F0 02 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnZero12 +; Global: Branch target inside IrqHandler: taken when OnZero12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnZero12: + dec Zp3F ; CPU:$B1B6 PRG:31B6 C6 3F +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop307 +; Global: Branch target inside IrqHandler: taken when Loop307. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop307: + ldx Zp3F ; CPU:$B1B8 PRG:31B8 A6 3F + lda $B1D6,x ; CPU:$B1BA PRG:31BA BD D6 B1 + cmp #$AA ; CPU:$B1BD PRG:31BD C9 AA + beq IrqHandler_OnZero12 ; CPU:$B1BF PRG:31BF F0 F5 + sta Zp1A ; CPU:$B1C1 PRG:31C1 85 1A + lda Zp18 ; CPU:$B1C3 PRG:31C3 A5 18 + and #$30 ; CPU:$B1C5 PRG:31C5 29 30 + ora Zp1A ; CPU:$B1C7 PRG:31C7 05 1A + sta Zp18 ; CPU:$B1C9 PRG:31C9 85 18 + inx ; CPU:$B1CB PRG:31CB E8 + stx Zp3F ; CPU:$B1CC PRG:31CC 86 3F + ldx Zp50 ; CPU:$B1CE PRG:31CE A6 50 + lda $B1D9,x ; CPU:$B1D0 PRG:31D0 BD D9 B1 + sta Zp3E ; CPU:$B1D3 PRG:31D3 85 3E +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop308 +; Global: Branch target inside IrqHandler: taken when Loop308. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop308: + rts ; CPU:$B1D5 PRG:31D5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B1D6 +; Global: Branch target inside Label: taken when B1D6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1D6: + ora (VramWritePtrHi,x) ; CPU:$B1D6 PRG:31D6 01 01 + tax ; CPU:$B1D8 PRG:31D8 AA + bmi IrqHandler_Loop311 ; CPU:$B1D9 PRG:31D9 30 38 + rti ; CPU:$B1DB PRG:31DB 40 +; ----------------------------------------------------------------------------- +; Routine: Label_B1DC +; Global: Branch target inside Label: taken when B1DC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1DC: + pha ; CPU:$B1DC PRG:31DC 48 +; ----------------------------------------------------------------------------- +; Routine: Label_B1DD +; Global: Branch target inside Label: taken when B1DD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1DD: + bvc IrqHandler_Loop305 ; CPU:$B1DD PRG:31DD 50 85 + lsr Zp85 ; CPU:$B1DF PRG:31DF 46 85 + .byte $47, $A9 ; CPU:$B1E1 PRG:31E1 47 A9 -- sre ZpA9 (undocumented; ca65 cannot encode) + ora (Zp85,x) ; CPU:$B1E3 PRG:31E3 01 85 + pha ; CPU:$B1E5 PRG:31E5 48 + rts ; CPU:$B1E6 PRG:31E6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B1E7 ; Global: Branch target inside Sub: taken when B1E7. @@ -1634,152 +9938,437 @@ Sub_8876: Sub_B1E7: lda Zp48 ; CPU:$B1E7 PRG:31E7 A5 48 cmp #$01 ; CPU:$B1E9 PRG:31E9 C9 01 - bne IrqHandler_Loop18 ; CPU:$B1EB PRG:31EB D0 06 - lda Zp09 ; CPU:$B1ED PRG:31ED A5 09 - and #$EF ; CPU:$B1EF PRG:31EF 29 EF - sta Zp09 ; CPU:$B1F1 PRG:31F1 85 09 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop18 -; Global: Branch target inside IrqHandler: taken when Loop18. +; Routine: Label_B1EB +; Global: Branch target inside Label: taken when B1EB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B1EB: + bne IrqHandler_Loop309 ; CPU:$B1EB PRG:31EB D0 06 + lda PpuMaskShadow ; CPU:$B1ED PRG:31ED A5 09 + and #$EF ; CPU:$B1EF PRG:31EF 29 EF + sta PpuMaskShadow ; CPU:$B1F1 PRG:31F1 85 09 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop309 +; Global: Branch target inside IrqHandler: taken when Loop309. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop18: +IrqHandler_Loop309: ldx Zp48 ; CPU:$B1F3 PRG:31F3 A6 48 lda $B249,x ; CPU:$B1F5 PRG:31F5 BD 49 B2 - bpl IrqHandler_Loop19 ; CPU:$B1F8 PRG:31F8 10 08 + bpl IrqHandler_Loop310 ; CPU:$B1F8 PRG:31F8 10 08 lda #$01 ; CPU:$B1FA PRG:31FA A9 01 lsr Zp46 ; CPU:$B1FC PRG:31FC 46 46 - bcs IrqHandler_Loop19 ; CPU:$B1FE PRG:31FE B0 02 + bcs IrqHandler_Loop310 ; CPU:$B1FE PRG:31FE B0 02 lda #$00 ; CPU:$B200 PRG:3200 A9 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop19 -; Global: Branch target inside IrqHandler: taken when Loop19. +; Routine: IrqHandler_Loop310 +; Global: Branch target inside IrqHandler: taken when Loop310. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop19: +IrqHandler_Loop310: clc ; CPU:$B202 PRG:3202 18 adc #$02 ; CPU:$B203 PRG:3203 69 02 sta Zp34 ; CPU:$B205 PRG:3205 85 34 inc Zp48 ; CPU:$B207 PRG:3207 E6 48 lda Zp48 ; CPU:$B209 PRG:3209 A5 48 cmp #$0F ; CPU:$B20B PRG:320B C9 0F - bne IrqHandler_Loop21 ; CPU:$B20D PRG:320D D0 28 - lda Zp09 ; CPU:$B20F PRG:320F A5 09 + bne IrqHandler_Loop313 ; CPU:$B20D PRG:320D D0 28 + lda PpuMaskShadow ; CPU:$B20F PRG:320F A5 09 ora #$10 ; CPU:$B211 PRG:3211 09 10 - sta Zp09 ; CPU:$B213 PRG:3213 85 09 - lda #$0A ; CPU:$B215 PRG:3215 A9 0A - ldy Zp49 ; CPU:$B217 PRG:3217 A4 49 - beq IrqHandler_Loop20 ; CPU:$B219 PRG:3219 F0 02 - lda #$10 ; CPU:$B21B PRG:321B A9 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop20 -; Global: Branch target inside IrqHandler: taken when Loop20. +; Routine: IrqHandler_Loop311 +; Global: Branch target inside IrqHandler: taken when Loop311. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop20: +IrqHandler_Loop311: + sta PpuMaskShadow ; CPU:$B213 PRG:3213 85 09 + lda #$0A ; CPU:$B215 PRG:3215 A9 0A + ldy GameState ; CPU:$B217 PRG:3217 A4 49 + beq IrqHandler_Loop312 ; CPU:$B219 PRG:3219 F0 02 + lda #$10 ; CPU:$B21B PRG:321B A9 10 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop312 +; Global: Branch target inside IrqHandler: taken when Loop312. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop312: sta Zp34 ; CPU:$B21D PRG:321D 85 34 lda #$00 ; CPU:$B21F PRG:321F A9 00 sta Zp48 ; CPU:$B221 PRG:3221 85 48 ldx Zp47 ; CPU:$B223 PRG:3223 A6 47 dex ; CPU:$B225 PRG:3225 CA - beq IrqHandler_Loop22 ; CPU:$B226 PRG:3226 F0 10 + beq IrqHandler_Loop314 ; CPU:$B226 PRG:3226 F0 10 dex ; CPU:$B228 PRG:3228 CA - beq IrqHandler_Loop23 ; CPU:$B229 PRG:3229 F0 10 + beq IrqHandler_Loop315 ; CPU:$B229 PRG:3229 F0 10 dex ; CPU:$B22B PRG:322B CA - beq IrqHandler_Loop24 ; CPU:$B22C PRG:322C F0 10 + beq IrqHandler_Loop316 ; CPU:$B22C PRG:322C F0 10 dex ; CPU:$B22E PRG:322E CA - beq IrqHandler_Loop25 ; CPU:$B22F PRG:322F F0 10 + beq IrqHandler_Loop317 ; CPU:$B22F PRG:322F F0 10 dex ; CPU:$B231 PRG:3231 CA - beq IrqHandler_Loop26 ; CPU:$B232 PRG:3232 F0 10 + beq IrqHandler_Loop318 ; CPU:$B232 PRG:3232 F0 10 dex ; CPU:$B234 PRG:3234 CA - beq IrqHandler_Loop27 ; CPU:$B235 PRG:3235 F0 10 + beq IrqHandler_Loop319 ; CPU:$B235 PRG:3235 F0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop21 -; Global: Branch target inside IrqHandler: taken when Loop21. +; Routine: IrqHandler_Loop313 +; Global: Branch target inside IrqHandler: taken when Loop313. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop21: +IrqHandler_Loop313: rts ; CPU:$B237 PRG:3237 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop22 -; Global: Branch target inside IrqHandler: taken when Loop22. +; Routine: IrqHandler_Loop314 +; Global: Branch target inside IrqHandler: taken when Loop314. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop22: +IrqHandler_Loop314: jmp Sub_B2C6 ; CPU:$B238 PRG:3238 4C C6 B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop23 -; Global: Branch target inside IrqHandler: taken when Loop23. +; Routine: IrqHandler_Loop315 +; Global: Branch target inside IrqHandler: taken when Loop315. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop23: +IrqHandler_Loop315: jmp Sub_B2C2 ; CPU:$B23B PRG:323B 4C C2 B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop24 -; Global: Branch target inside IrqHandler: taken when Loop24. +; Routine: IrqHandler_Loop316 +; Global: Branch target inside IrqHandler: taken when Loop316. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop24: +IrqHandler_Loop316: jmp Sub_B2BA ; CPU:$B23E PRG:323E 4C BA B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop25 -; Global: Branch target inside IrqHandler: taken when Loop25. +; Routine: IrqHandler_Loop317 +; Global: Branch target inside IrqHandler: taken when Loop317. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop25: +IrqHandler_Loop317: jmp Sub_B2BE ; CPU:$B241 PRG:3241 4C BE B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop26 -; Global: Branch target inside IrqHandler: taken when Loop26. +; Routine: IrqHandler_Loop318 +; Global: Branch target inside IrqHandler: taken when Loop318. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop26: +IrqHandler_Loop318: jmp Sub_B2CA ; CPU:$B244 PRG:3244 4C CA B2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop27 -; Global: Branch target inside IrqHandler: taken when Loop27. +; Routine: IrqHandler_Loop319 +; Global: Branch target inside IrqHandler: taken when Loop319. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop27: +IrqHandler_Loop319: jmp Sub_B2CE ; CPU:$B247 PRG:3247 4C CE B2 -; ---- data $B24A-$B2B9 (112 bytes) ---- - .byte $00, $00, $00, $01, $00, $01, $FF, $01, $FF, $01, $FF, $01, $FF, $A9, $01, $D0 ; CPU:$B24A PRG:324A 00 00 00 01 00 01 FF 01 FF 01 FF 01 FF A9 01 D0 - .byte $1A, $A9, $02, $D0, $16, $A9, $04, $D0, $12, $A9, $08, $D0, $0E, $A9, $10, $D0 ; CPU:$B25A PRG:325A 1A A9 02 D0 16 A9 04 D0 12 A9 08 D0 0E A9 10 D0 - .byte $0A, $A9, $20, $D0, $06, $A9, $40, $D0, $02, $A9, $80, $85, $F0, $60, $A9, $01 ; CPU:$B26A PRG:326A 0A A9 20 D0 06 A9 40 D0 02 A9 80 85 F0 60 A9 01 - .byte $D0, $1A, $A9, $02, $D0, $16, $A9, $04, $D0, $12, $A9, $08, $D0, $0E, $A9, $10 ; CPU:$B27A PRG:327A D0 1A A9 02 D0 16 A9 04 D0 12 A9 08 D0 0E A9 10 - .byte $D0, $0A, $A9, $20, $D0, $06, $A9, $40, $D0, $02, $A9, $80, $85, $F1, $60, $A9 ; CPU:$B28A PRG:328A D0 0A A9 20 D0 06 A9 40 D0 02 A9 80 85 F1 60 A9 - .byte $01, $D0, $1A, $A9, $02, $D0, $16, $A9, $04, $D0, $12, $A9, $08, $D0, $0E, $A9 ; CPU:$B29A PRG:329A 01 D0 1A A9 02 D0 16 A9 04 D0 12 A9 08 D0 0E A9 - .byte $10, $D0, $0A, $A9, $20, $D0, $06, $A9, $40, $D0, $02, $A9, $80, $85, $F2, $60 ; CPU:$B2AA PRG:32AA 10 D0 0A A9 20 D0 06 A9 40 D0 02 A9 80 85 F2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_B24A +; Global: Branch target inside Label: taken when B24A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B24A: + brk ; CPU:$B24A PRG:324A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B24B +; Global: Branch target inside Label: taken when B24B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B24B: + brk ; CPU:$B24B PRG:324B 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B24C +; Global: Branch target inside Label: taken when B24C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B24C: + brk ; CPU:$B24C PRG:324C 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B24D +; Global: Branch target inside Label: taken when B24D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B24D: + ora (VramWritePtrLo,x) ; CPU:$B24D PRG:324D 01 00 + ora (ZpFF,x) ; CPU:$B24F PRG:324F 01 FF + ora (ZpFF,x) ; CPU:$B251 PRG:3251 01 FF + ora (ZpFF,x) ; CPU:$B253 PRG:3253 01 FF + ora (ZpFF,x) ; CPU:$B255 PRG:3255 01 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_B257 +; Global: Branch target inside Sub: taken when B257. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B257: + lda #$01 ; CPU:$B257 PRG:3257 A9 01 + bne IrqHandler_Loop320 ; CPU:$B259 PRG:3259 D0 1A + lda #$02 ; CPU:$B25B PRG:325B A9 02 + bne IrqHandler_Loop320 ; CPU:$B25D PRG:325D D0 16 + lda #$04 ; CPU:$B25F PRG:325F A9 04 + bne IrqHandler_Loop320 ; CPU:$B261 PRG:3261 D0 12 + lda #$08 ; CPU:$B263 PRG:3263 A9 08 + bne IrqHandler_Loop320 ; CPU:$B265 PRG:3265 D0 0E + lda #$10 ; CPU:$B267 PRG:3267 A9 10 + bne IrqHandler_Loop320 ; CPU:$B269 PRG:3269 D0 0A + lda #$20 ; CPU:$B26B PRG:326B A9 20 + bne IrqHandler_Loop320 ; CPU:$B26D PRG:326D D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_B26F +; Global: Branch target inside Sub: taken when B26F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B26F: + lda #$40 ; CPU:$B26F PRG:326F A9 40 + bne IrqHandler_Loop320 ; CPU:$B271 PRG:3271 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_B273 +; Global: Branch target inside Sub: taken when B273. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B273: + lda #$80 ; CPU:$B273 PRG:3273 A9 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop320 +; Global: Branch target inside IrqHandler: taken when Loop320. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop320: + sta ZpF0 ; CPU:$B275 PRG:3275 85 F0 + rts ; CPU:$B277 PRG:3277 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B278 +; Global: Branch target inside Sub: taken when B278. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B278: + lda #$01 ; CPU:$B278 PRG:3278 A9 01 + bne IrqHandler_Loop321 ; CPU:$B27A PRG:327A D0 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_B27C +; Global: Branch target inside Sub: taken when B27C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B27C: + lda #$02 ; CPU:$B27C PRG:327C A9 02 + bne IrqHandler_Loop321 ; CPU:$B27E PRG:327E D0 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_B280 +; Global: Branch target inside Sub: taken when B280. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B280: + lda #$04 ; CPU:$B280 PRG:3280 A9 04 + bne IrqHandler_Loop321 ; CPU:$B282 PRG:3282 D0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_B284 +; Global: Branch target inside Sub: taken when B284. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B284: + lda #$08 ; CPU:$B284 PRG:3284 A9 08 + bne IrqHandler_Loop321 ; CPU:$B286 PRG:3286 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_B288 +; Global: Branch target inside Sub: taken when B288. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B288: + lda #$10 ; CPU:$B288 PRG:3288 A9 10 + bne IrqHandler_Loop321 ; CPU:$B28A PRG:328A D0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_B28C +; Global: Branch target inside Sub: taken when B28C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B28C: + lda #$20 ; CPU:$B28C PRG:328C A9 20 + bne IrqHandler_Loop321 ; CPU:$B28E PRG:328E D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_B290 +; Global: Branch target inside Sub: taken when B290. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B290: + lda #$40 ; CPU:$B290 PRG:3290 A9 40 + bne IrqHandler_Loop321 ; CPU:$B292 PRG:3292 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_B294 +; Global: Branch target inside Sub: taken when B294. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B294: + lda #$80 ; CPU:$B294 PRG:3294 A9 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop321 +; Global: Branch target inside IrqHandler: taken when Loop321. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop321: + sta ZpF1 ; CPU:$B296 PRG:3296 85 F1 + rts ; CPU:$B298 PRG:3298 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_B299 +; Global: Branch target inside Sub: taken when B299. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B299: + lda #$01 ; CPU:$B299 PRG:3299 A9 01 + bne IrqHandler_Loop322 ; CPU:$B29B PRG:329B D0 1A + lda #$02 ; CPU:$B29D PRG:329D A9 02 + bne IrqHandler_Loop322 ; CPU:$B29F PRG:329F D0 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2A1 +; Global: Branch target inside Sub: taken when B2A1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2A1: + lda #$04 ; CPU:$B2A1 PRG:32A1 A9 04 + bne IrqHandler_Loop322 ; CPU:$B2A3 PRG:32A3 D0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2A5 +; Global: Branch target inside Sub: taken when B2A5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2A5: + lda #$08 ; CPU:$B2A5 PRG:32A5 A9 08 + bne IrqHandler_Loop322 ; CPU:$B2A7 PRG:32A7 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_B2A9 +; Global: Branch target inside Sub: taken when B2A9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2A9: + lda #$10 ; CPU:$B2A9 PRG:32A9 A9 10 + bne IrqHandler_Loop322 ; CPU:$B2AB PRG:32AB D0 0A + lda #$20 ; CPU:$B2AD PRG:32AD A9 20 + bne IrqHandler_Loop322 ; CPU:$B2AF PRG:32AF D0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2B1 +; Global: Branch target inside Sub: taken when B2B1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2B1: + lda #$40 ; CPU:$B2B1 PRG:32B1 A9 40 + bne IrqHandler_Loop322 ; CPU:$B2B3 PRG:32B3 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2B5 +; Global: Branch target inside Sub: taken when B2B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2B5: + lda #$80 ; CPU:$B2B5 PRG:32B5 A9 80 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop322 +; Global: Branch target inside IrqHandler: taken when Loop322. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop322: + sta ZpF2 ; CPU:$B2B7 PRG:32B7 85 F2 + rts ; CPU:$B2B9 PRG:32B9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2BA ; Global: Branch target inside Sub: taken when B2BA. @@ -1790,7 +10379,7 @@ IrqHandler_Loop27: ; ----------------------------------------------------------------------------- Sub_B2BA: lda #$01 ; CPU:$B2BA PRG:32BA A9 01 - bne IrqHandler_Loop28 ; CPU:$B2BC PRG:32BC D0 1A + bne IrqHandler_Loop323 ; CPU:$B2BC PRG:32BC D0 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_B2BE ; Global: Branch target inside Sub: taken when B2BE. @@ -1801,7 +10390,7 @@ Sub_B2BA: ; ----------------------------------------------------------------------------- Sub_B2BE: lda #$02 ; CPU:$B2BE PRG:32BE A9 02 - bne IrqHandler_Loop28 ; CPU:$B2C0 PRG:32C0 D0 16 + bne IrqHandler_Loop323 ; CPU:$B2C0 PRG:32C0 D0 16 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2C2 ; Global: Branch target inside Sub: taken when B2C2. @@ -1812,7 +10401,7 @@ Sub_B2BE: ; ----------------------------------------------------------------------------- Sub_B2C2: lda #$04 ; CPU:$B2C2 PRG:32C2 A9 04 - bne IrqHandler_Loop28 ; CPU:$B2C4 PRG:32C4 D0 12 + bne IrqHandler_Loop323 ; CPU:$B2C4 PRG:32C4 D0 12 ; ----------------------------------------------------------------------------- ; Routine: Sub_B2C6 ; Global: Branch target inside Sub: taken when B2C6. @@ -1823,7 +10412,7 @@ Sub_B2C2: ; ----------------------------------------------------------------------------- Sub_B2C6: lda #$08 ; CPU:$B2C6 PRG:32C6 A9 08 - bne IrqHandler_Loop28 ; CPU:$B2C8 PRG:32C8 D0 0E + bne IrqHandler_Loop323 ; CPU:$B2C8 PRG:32C8 D0 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_B2CA ; Global: Branch target inside Sub: taken when B2CA. @@ -1834,7 +10423,7 @@ Sub_B2C6: ; ----------------------------------------------------------------------------- Sub_B2CA: lda #$10 ; CPU:$B2CA PRG:32CA A9 10 - bne IrqHandler_Loop28 ; CPU:$B2CC PRG:32CC D0 0A + bne IrqHandler_Loop323 ; CPU:$B2CC PRG:32CC D0 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_B2CE ; Global: Branch target inside Sub: taken when B2CE. @@ -1845,582 +10434,902 @@ Sub_B2CA: ; ----------------------------------------------------------------------------- Sub_B2CE: lda #$20 ; CPU:$B2CE PRG:32CE A9 20 - bne IrqHandler_Loop28 ; CPU:$B2D0 PRG:32D0 D0 06 + bne IrqHandler_Loop323 ; CPU:$B2D0 PRG:32D0 D0 06 lda #$40 ; CPU:$B2D2 PRG:32D2 A9 40 - bne IrqHandler_Loop28 ; CPU:$B2D4 PRG:32D4 D0 02 + bne IrqHandler_Loop323 ; CPU:$B2D4 PRG:32D4 D0 02 lda #$80 ; CPU:$B2D6 PRG:32D6 A9 80 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop28 -; Global: Branch target inside IrqHandler: taken when Loop28. +; Routine: IrqHandler_Loop323 +; Global: Branch target inside IrqHandler: taken when Loop323. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop28: +IrqHandler_Loop323: sta ZpF3 ; CPU:$B2D8 PRG:32D8 85 F3 rts ; CPU:$B2DA PRG:32DA 60 -; ---- data $B2DB-$F393 (16569 bytes) ---- +; ----------------------------------------------------------------------------- +; Routine: Sub_B2DB +; Global: Branch target inside Sub: taken when B2DB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2DB: + lda Zp2F ; CPU:$B2DB PRG:32DB A5 2F + and #$04 ; CPU:$B2DD PRG:32DD 29 04 + beq IrqHandler_Loop326 ; CPU:$B2DF PRG:32DF F0 2E + lda Zp2F ; CPU:$B2E1 PRG:32E1 A5 2F + and #$03 ; CPU:$B2E3 PRG:32E3 29 03 + tay ; CPU:$B2E5 PRG:32E5 A8 + asl a ; CPU:$B2E6 PRG:32E6 0A + asl a ; CPU:$B2E7 PRG:32E7 0A + asl a ; CPU:$B2E8 PRG:32E8 0A + sta VramWritePtrLo ; CPU:$B2E9 PRG:32E9 85 00 + lda Zp61 ; CPU:$B2EB PRG:32EB A5 61 +; ----------------------------------------------------------------------------- +; Routine: Sub_B2ED +; Global: Branch target inside Sub: taken when B2ED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B2ED: + dey ; CPU:$B2ED PRG:32ED 88 + bmi IrqHandler_Loop324 ; CPU:$B2EE PRG:32EE 30 05 + lsr a ; CPU:$B2F0 PRG:32F0 4A + lsr a ; CPU:$B2F1 PRG:32F1 4A + jmp Sub_B2ED ; CPU:$B2F2 PRG:32F2 4C ED B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop324 +; Global: Branch target inside IrqHandler: taken when Loop324. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop324: + and #$03 ; CPU:$B2F5 PRG:32F5 29 03 + asl a ; CPU:$B2F7 PRG:32F7 0A + adc VramWritePtrLo ; CPU:$B2F8 PRG:32F8 65 00 + ldy BoardState ; CPU:$B2FA PRG:32FA A4 40 + beq IrqHandler_Loop325 ; CPU:$B2FC PRG:32FC F0 03 + clc ; CPU:$B2FE PRG:32FE 18 + adc #$20 ; CPU:$B2FF PRG:32FF 69 20 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop325 +; Global: Branch target inside IrqHandler: taken when Loop325. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop325: + tay ; CPU:$B301 PRG:3301 A8 + lda $B33A,y ; CPU:$B302 PRG:3302 B9 3A B3 + ldx $B33B,y ; CPU:$B305 PRG:3305 BE 3B B3 + sta BlockPtrLo ; CPU:$B308 PRG:3308 85 14 + stx BlockPtrHi ; CPU:$B30A PRG:330A 86 15 + jmp Sub_B326 ; CPU:$B30C PRG:330C 4C 26 B3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop326 +; Global: Branch target inside IrqHandler: taken when Loop326. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop326: + lda Zp2F ; CPU:$B30F PRG:330F A5 2F + and #$03 ; CPU:$B311 PRG:3311 29 03 + asl a ; CPU:$B313 PRG:3313 0A + ldy BoardState ; CPU:$B314 PRG:3314 A4 40 + beq IrqHandler_Loop327 ; CPU:$B316 PRG:3316 F0 03 + clc ; CPU:$B318 PRG:3318 18 + adc #$08 ; CPU:$B319 PRG:3319 69 08 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop327 +; Global: Branch target inside IrqHandler: taken when Loop327. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop327: + tay ; CPU:$B31B PRG:331B A8 + lda $B482,y ; CPU:$B31C PRG:331C B9 82 B4 + sta BlockPtrLo ; CPU:$B31F PRG:331F 85 14 + lda $B483,y ; CPU:$B321 PRG:3321 B9 83 B4 + sta BlockPtrHi ; CPU:$B324 PRG:3324 85 15 +; ----------------------------------------------------------------------------- +; Routine: Sub_B326 +; Global: Branch target inside Sub: taken when B326. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B326: + ldx $0660 ; CPU:$B326 PRG:3326 AE 60 06 + ldy #$00 ; CPU:$B329 PRG:3329 A0 00 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonzero55 +; Global: Branch target inside IrqHandler: taken when OnNonzero55. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonzero55: + lda (BlockPtrLo),y ; CPU:$B32B PRG:332B B1 14 + cmp #$FF ; CPU:$B32D PRG:332D C9 FF + beq IrqHandler_Loop328 ; CPU:$B32F PRG:332F F0 06 + jsr Sub_858E ; CPU:$B331 PRG:3331 20 8E 85 + iny ; CPU:$B334 PRG:3334 C8 + bne IrqHandler_OnNonzero55 ; CPU:$B335 PRG:3335 D0 F4 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop328 +; Global: Branch target inside IrqHandler: taken when Loop328. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop328: + jmp Sub_8572 ; CPU:$B337 PRG:3337 4C 72 85 +; ---- data $B33A-$B4E9 (432 bytes) ---- +; referenced by `lda $B33A,y` at $B302 (operand $B33A falls inside this region) +; referenced by `ldx $B33B,y` at $B305 (operand $B33B falls inside this region) +; referenced by `lda $B482,y` at $B31C (operand $B482 falls inside this region) +; referenced by `lda $B483,y` at $B321 (operand $B483 falls inside this region) + .byte $92, $B4, $7A, $B3, $87, $B3, $94, $B3, $9F, $B4, $A1, $B3, $AE, $B3, $BB, $B3 ; CPU:$B33A PRG:333A 92 B4 7A B3 87 B3 94 B3 9F B4 A1 B3 AE B3 BB B3 + .byte $AC, $B4, $C8, $B3, $DA, $B3, $EC, $B3, $BE, $B4, $FE, $B3, $10, $B4, $22, $B4 ; CPU:$B34A PRG:334A AC B4 C8 B3 DA B3 EC B3 BE B4 FE B3 10 B4 22 B4 + .byte $D0, $B4, $34, $B4, $41, $B4, $4E, $B4, $DD, $B4, $5B, $B4, $68, $B4, $75, $B4 ; CPU:$B35A PRG:335A D0 B4 34 B4 41 B4 4E B4 DD B4 5B B4 68 B4 75 B4 + .byte $AC, $B4, $C8, $B3, $DA, $B3, $EC, $B3, $BE, $B4, $FE, $B3, $10, $B4, $22, $B4 ; CPU:$B36A PRG:336A AC B4 C8 B3 DA B3 EC B3 BE B4 FE B3 10 B4 22 B4 + .byte $23, $C9, $03, $6F, $9F, $AF, $23, $F1, $03, $60, $90, $A0, $FF, $23, $C9, $03 ; CPU:$B37A PRG:337A 23 C9 03 6F 9F AF 23 F1 03 60 90 A0 FF 23 C9 03 + .byte $AF, $6F, $9F, $23, $F1, $03, $A0, $60, $90, $FF, $23, $C9, $03, $6F, $5F, $9F ; CPU:$B38A PRG:338A AF 6F 9F 23 F1 03 A0 60 90 FF 23 C9 03 6F 5F 9F + .byte $23, $F1, $03, $60, $50, $90, $FF, $23, $CC, $03, $6F, $9F, $AF, $23, $F4, $03 ; CPU:$B39A PRG:339A 23 F1 03 60 50 90 FF 23 CC 03 6F 9F AF 23 F4 03 + .byte $60, $90, $A0, $FF, $23, $CC, $03, $AF, $6F, $9F, $23, $F4, $03, $A0, $60, $90 ; CPU:$B3AA PRG:33AA 60 90 A0 FF 23 CC 03 AF 6F 9F 23 F4 03 A0 60 90 + .byte $FF, $23, $CC, $03, $6F, $5F, $9F, $23, $F4, $03, $60, $50, $90, $FF, $23, $D0 ; CPU:$B3BA PRG:33BA FF 23 CC 03 6F 5F 9F 23 F4 03 60 50 90 FF 23 D0 + .byte $02, $77, $11, $23, $D6, $04, $44, $DD, $BB, $22, $23, $DE, $02, $88, $EE, $FF ; CPU:$B3CA PRG:33CA 02 77 11 23 D6 04 44 DD BB 22 23 DE 02 88 EE FF + .byte $23, $D0, $02, $BB, $22, $23, $D6, $04, $88, $EE, $77, $11, $23, $DE, $02, $44 ; CPU:$B3DA PRG:33DA 23 D0 02 BB 22 23 D6 04 88 EE 77 11 23 DE 02 44 + .byte $DD, $FF, $23, $D0, $02, $77, $11, $23, $D6, $04, $44, $DD, $77, $11, $23, $DE ; CPU:$B3EA PRG:33EA DD FF 23 D0 02 77 11 23 D6 04 44 DD 77 11 23 DE + .byte $02, $44, $DD, $FF, $23, $E0, $02, $77, $11, $23, $E6, $04, $44, $DD, $BB, $22 ; CPU:$B3FA PRG:33FA 02 44 DD FF 23 E0 02 77 11 23 E6 04 44 DD BB 22 + .byte $23, $EE, $02, $88, $EE, $FF, $23, $E0, $02, $BB, $22, $23, $E6, $04, $88, $EE ; CPU:$B40A PRG:340A 23 EE 02 88 EE FF 23 E0 02 BB 22 23 E6 04 88 EE + .byte $77, $11, $23, $EE, $02, $44, $DD, $FF, $23, $E0, $02, $77, $11, $23, $E6, $04 ; CPU:$B41A PRG:341A 77 11 23 EE 02 44 DD FF 23 E0 02 77 11 23 E6 04 + .byte $44, $DD, $77, $11, $23, $EE, $02, $44, $DD, $FF, $23, $C9, $03, $6F, $9F, $A5 ; CPU:$B42A PRG:342A 44 DD 77 11 23 EE 02 44 DD FF 23 C9 03 6F 9F A5 + .byte $23, $F1, $03, $60, $90, $A0, $FF, $23, $C9, $03, $AF, $6F, $95, $23, $F1, $03 ; CPU:$B43A PRG:343A 23 F1 03 60 90 A0 FF 23 C9 03 AF 6F 95 23 F1 03 + .byte $A0, $60, $90, $FF, $23, $C9, $03, $6F, $5F, $95, $23, $F1, $03, $60, $50, $90 ; CPU:$B44A PRG:344A A0 60 90 FF 23 C9 03 6F 5F 95 23 F1 03 60 50 90 + .byte $FF, $23, $CC, $03, $65, $9D, $AF, $23, $F4, $03, $60, $90, $A0, $FF, $23, $CC ; CPU:$B45A PRG:345A FF 23 CC 03 65 9D AF 23 F4 03 60 90 A0 FF 23 CC + .byte $03, $A5, $6D, $9F, $23, $F4, $03, $A0, $60, $90, $FF, $23, $CC, $03, $65, $5D ; CPU:$B46A PRG:346A 03 A5 6D 9F 23 F4 03 A0 60 90 FF 23 CC 03 65 5D + .byte $9F, $23, $F4, $03, $60, $50, $90, $FF, $92, $B4, $9F, $B4, $AC, $B4, $BE, $B4 ; CPU:$B47A PRG:347A 9F 23 F4 03 60 50 90 FF 92 B4 9F B4 AC B4 BE B4 + .byte $D0, $B4, $DD, $B4, $AC, $B4, $BE, $B4, $23, $C9, $03, $AF, $AF, $AF, $23, $F1 ; CPU:$B48A PRG:348A D0 B4 DD B4 AC B4 BE B4 23 C9 03 AF AF AF 23 F1 + .byte $03, $A0, $A0, $A0, $FF, $23, $CC, $03, $AF, $AF, $AF, $23, $F4, $03, $A0, $A0 ; CPU:$B49A PRG:349A 03 A0 A0 A0 FF 23 CC 03 AF AF AF 23 F4 03 A0 A0 + .byte $A0, $FF, $23, $D0, $02, $BB, $22, $23, $D6, $04, $88, $EE, $BB, $22, $23, $DE ; CPU:$B4AA PRG:34AA A0 FF 23 D0 02 BB 22 23 D6 04 88 EE BB 22 23 DE + .byte $02, $88, $EE, $FF, $23, $E0, $02, $BB, $22, $23, $E6, $04, $88, $EE, $BB, $22 ; CPU:$B4BA PRG:34BA 02 88 EE FF 23 E0 02 BB 22 23 E6 04 88 EE BB 22 + .byte $23, $EE, $02, $88, $EE, $FF, $23, $C9, $03, $AF, $AF, $A5, $23, $F1, $03, $A0 ; CPU:$B4CA PRG:34CA 23 EE 02 88 EE FF 23 C9 03 AF AF A5 23 F1 03 A0 + .byte $A0, $A0, $FF, $23, $CC, $03, $A5, $AD, $AF, $23, $F4, $03, $A0, $A0, $A0, $FF ; CPU:$B4DA PRG:34DA A0 A0 FF 23 CC 03 A5 AD AF 23 F4 03 A0 A0 A0 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_B4EA +; Global: Branch target inside Sub: taken when B4EA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B4EA: + lda Zp61 ; CPU:$B4EA PRG:34EA A5 61 + sta BlockType ; CPU:$B4EC PRG:34EC 85 16 + ldx #$00 ; CPU:$B4EE PRG:34EE A2 00 + stx Zp60 ; CPU:$B4F0 PRG:34F0 86 60 + ldx #$07 ; CPU:$B4F2 PRG:34F2 A2 07 + stx Zp11 ; CPU:$B4F4 PRG:34F4 86 11 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative10 +; Global: Branch target inside IrqHandler: taken when OnNonnegative10. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative10: + jsr Sub_B54A ; CPU:$B4F6 PRG:34F6 20 4A B5 + php ; CPU:$B4F9 PRG:34F9 08 + ldx Zp11 ; CPU:$B4FA PRG:34FA A6 11 + lda $B542,x ; CPU:$B4FC PRG:34FC BD 42 B5 + plp ; CPU:$B4FF PRG:34FF 28 + bpl IrqHandler_Loop330 ; CPU:$B500 PRG:3500 10 15 + and Zp61 ; CPU:$B502 PRG:3502 25 61 + beq IrqHandler_Loop329 ; CPU:$B504 PRG:3504 F0 0A + inc Zp63 ; CPU:$B506 PRG:3506 E6 63 + ldy Zp63 ; CPU:$B508 PRG:3508 A4 63 + cpy #$10 ; CPU:$B50A PRG:350A C0 10 + bcc IrqHandler_Loop329 ; CPU:$B50C PRG:350C 90 02 + inc Zp60 ; CPU:$B50E PRG:350E E6 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop329 +; Global: Branch target inside IrqHandler: taken when Loop329. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop329: + lda $B542,x ; CPU:$B510 PRG:3510 BD 42 B5 + ora Zp61 ; CPU:$B513 PRG:3513 05 61 + bne IrqHandler_Loop331 ; CPU:$B515 PRG:3515 D0 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop330 +; Global: Branch target inside IrqHandler: taken when Loop330. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop330: + eor #$FF ; CPU:$B517 PRG:3517 49 FF + and Zp61 ; CPU:$B519 PRG:3519 25 61 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop331 +; Global: Branch target inside IrqHandler: taken when Loop331. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop331: + sta Zp61 ; CPU:$B51B PRG:351B 85 61 + dec Zp11 ; CPU:$B51D PRG:351D C6 11 + bpl IrqHandler_OnNonnegative10 ; CPU:$B51F PRG:351F 10 D5 + ldx #$07 ; CPU:$B521 PRG:3521 A2 07 + ldy #$00 ; CPU:$B523 PRG:3523 A0 00 + lda Zp61 ; CPU:$B525 PRG:3525 A5 61 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative11 +; Global: Branch target inside IrqHandler: taken when OnNonnegative11. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative11: + lsr a ; CPU:$B527 PRG:3527 4A + bcc IrqHandler_Loop332 ; CPU:$B528 PRG:3528 90 01 + iny ; CPU:$B52A PRG:352A C8 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop332 +; Global: Branch target inside IrqHandler: taken when Loop332. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop332: + dex ; CPU:$B52B PRG:352B CA + bpl IrqHandler_OnNonnegative11 ; CPU:$B52C PRG:352C 10 F9 + dey ; CPU:$B52E PRG:352E 88 + beq IrqHandler_Loop333 ; CPU:$B52F PRG:352F F0 05 + inx ; CPU:$B531 PRG:3531 E8 + stx Zp63 ; CPU:$B532 PRG:3532 86 63 + stx Zp60 ; CPU:$B534 PRG:3534 86 60 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop333 +; Global: Branch target inside IrqHandler: taken when Loop333. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop333: + lda BlockType ; CPU:$B536 PRG:3536 A5 16 + bne IrqHandler_Loop334 ; CPU:$B538 PRG:3538 D0 07 + lda Zp61 ; CPU:$B53A PRG:353A A5 61 + beq IrqHandler_Loop334 ; CPU:$B53C PRG:353C F0 03 + jsr Sub_B2A9 ; CPU:$B53E PRG:353E 20 A9 B2 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop334 +; Global: Branch target inside IrqHandler: taken when Loop334. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop334: + rts ; CPU:$B541 PRG:3541 60 +; ---- data $B542-$B549 (8 bytes) ---- +; referenced by `lda $B542,x` at $B4FC (operand $B542 falls inside this region) +; referenced by `lda $B542,x` at $B510 (operand $B542 falls inside this region) + .byte $01, $02, $04, $08, $10, $20, $40, $80 ; CPU:$B542 PRG:3542 01 02 04 08 10 20 40 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_B54A +; Global: Branch target inside Sub: taken when B54A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B54A: + ldx Zp11 ; CPU:$B54A PRG:354A A6 11 + lda $B56C,x ; CPU:$B54C PRG:354C BD 6C B5 + sta BlockTileIndex ; CPU:$B54F PRG:354F 85 12 + ldy $B564,x ; CPU:$B551 PRG:3551 BC 64 B5 + ldx #$04 ; CPU:$B554 PRG:3554 A2 04 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_OnNonnegative12 +; Global: Branch target inside IrqHandler: taken when OnNonnegative12. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_OnNonnegative12: + lda $0400,y ; CPU:$B556 PRG:3556 B9 00 04 + bpl IrqHandler_Loop335 ; CPU:$B559 PRG:3559 10 08 + tya ; CPU:$B55B PRG:355B 98 + clc ; CPU:$B55C PRG:355C 18 + adc BlockTileIndex ; CPU:$B55D PRG:355D 65 12 + tay ; CPU:$B55F PRG:355F A8 + dex ; CPU:$B560 PRG:3560 CA + bpl IrqHandler_OnNonnegative12 ; CPU:$B561 PRG:3561 10 F3 +; ----------------------------------------------------------------------------- +; Routine: IrqHandler_Loop335 +; Global: Branch target inside IrqHandler: taken when Loop335. +; Local: Part of IrqHandler. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +IrqHandler_Loop335: + rts ; CPU:$B563 PRG:3563 60 +; ---- data $B564-$D57C (8217 bytes) ---- +; referenced by `ror $CE8B` at $8227 (operand $CE8B falls inside this region) +; referenced by `lda $B6BC,y` at $8554 (operand $B6BC falls inside this region) +; referenced by `lda $B6BD,y` at $8559 (operand $B6BD falls inside this region) +; referenced by `sta $BA20,x` at $9D4A (operand $BA20 falls inside this region) +; referenced by `lsr $BDA9,x` at $A8F5 (operand $BDA9 falls inside this region) +; referenced by `lda $B56C,x` at $B54C (operand $B56C falls inside this region) +; ... and 2 further references from decoded code + .byte $0A, $0B, $0D, $0E, $0A, $12, $22, $2A, $08, $08, $08, $08, $01, $01, $01, $01 ; CPU:$B564 PRG:3564 0A 0B 0D 0E 0A 12 22 2A 08 08 08 08 01 01 01 01 + .byte $3F, $00, $20, $0F, $31, $1C, $0C, $0F, $24, $28, $1A, $0F, $2A, $21, $1A, $0F ; CPU:$B574 PRG:3574 3F 00 20 0F 31 1C 0C 0F 24 28 1A 0F 2A 21 1A 0F + .byte $0F, $00, $10, $0F, $30, $02, $26, $0F, $37, $26, $07, $0F, $31, $1C, $0C, $0F ; CPU:$B584 PRG:3584 0F 00 10 0F 30 02 26 0F 37 26 07 0F 31 1C 0C 0F + .byte $35, $04, $16, $00, $3F, $00, $10, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$B594 PRG:3594 35 04 16 00 3F 00 10 0F 0F 0F 0F 0F 0F 0F 0F 0F + .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $00, $3F, $00, $10, $2A, $2A, $2A, $2A, $2A ; CPU:$B5A4 PRG:35A4 0F 0F 0F 0F 0F 0F 0F 00 3F 00 10 2A 2A 2A 2A 2A + .byte $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $00, $3F, $00, $10, $0F ; CPU:$B5B4 PRG:35B4 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 3F 00 10 0F + .byte $26, $19, $0F, $0F, $19, $26, $19, $0F, $19, $19, $19, $0F, $19, $19, $19, $00 ; CPU:$B5C4 PRG:35C4 26 19 0F 0F 19 26 19 0F 19 19 19 0F 19 19 19 00 + .byte $3F, $00, $10, $0F, $31, $12, $0F, $0F, $15, $0F, $27, $0F, $27, $10, $0F, $0F ; CPU:$B5D4 PRG:35D4 3F 00 10 0F 31 12 0F 0F 15 0F 27 0F 27 10 0F 0F + .byte $27, $15, $02, $00, $3F, $00, $1C, $0F, $3C, $12, $02, $0F, $24, $28, $1C, $0F ; CPU:$B5E4 PRG:35E4 27 15 02 00 3F 00 1C 0F 3C 12 02 0F 24 28 1C 0F + .byte $26, $2B, $02, $0F, $0F, $15, $0F, $0F, $30, $02, $26, $0F, $3C, $12, $02, $0F ; CPU:$B5F4 PRG:35F4 26 2B 02 0F 0F 15 0F 0F 30 02 26 0F 3C 12 02 0F + .byte $15, $0F, $0F, $00, $3F, $00, $10, $0F, $30, $30, $30, $0F, $0F, $0F, $0F, $0F ; CPU:$B604 PRG:3604 15 0F 0F 00 3F 00 10 0F 30 30 30 0F 0F 0F 0F 0F + .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $00, $3F, $00, $20, $0F, $31, $1C, $0C, $0F ; CPU:$B614 PRG:3614 0F 0F 0F 0F 0F 0F 0F 00 3F 00 20 0F 31 1C 0C 0F + .byte $24, $28, $1A, $0F, $2A, $21, $1A, $0F, $0F, $00, $10, $0F, $30, $02, $26, $0F ; CPU:$B624 PRG:3624 24 28 1A 0F 2A 21 1A 0F 0F 00 10 0F 30 02 26 0F + .byte $37, $26, $07, $0F, $31, $1C, $0C, $0F, $16, $02, $36, $00, $3F, $00, $10, $0F ; CPU:$B634 PRG:3634 37 26 07 0F 31 1C 0C 0F 16 02 36 00 3F 00 10 0F + .byte $31, $1C, $0C, $0F, $24, $28, $1A, $0F, $2A, $21, $1A, $0F, $0F, $00, $10, $00 ; CPU:$B644 PRG:3644 31 1C 0C 0F 24 28 1A 0F 2A 21 1A 0F 0F 00 10 00 + .byte $3F, $10, $04, $0F, $30, $02, $26, $00, $3F, $1C, $04, $0F, $16, $02, $36, $00 ; CPU:$B654 PRG:3654 3F 10 04 0F 30 02 26 00 3F 1C 04 0F 16 02 36 00 + .byte $3F, $10, $04, $0F, $30, $30, $30, $00, $3F, $1C, $04, $0F, $0F, $0F, $0F, $00 ; CPU:$B664 PRG:3664 3F 10 04 0F 30 30 30 00 3F 1C 04 0F 0F 0F 0F 00 + .byte $3F, $00, $20, $0F, $31, $1C, $0C, $0F, $24, $28, $1A, $0F, $2A, $0C, $1A, $0F ; CPU:$B674 PRG:3674 3F 00 20 0F 31 1C 0C 0F 24 28 1A 0F 2A 0C 1A 0F + .byte $0F, $00, $10, $0F, $30, $02, $26, $0F, $37, $0F, $0F, $0F, $31, $1C, $0C, $0F ; CPU:$B684 PRG:3684 0F 00 10 0F 30 02 26 0F 37 0F 0F 0F 31 1C 0C 0F + .byte $33, $04, $16, $00, $3F, $00, $20, $0F, $31, $1C, $0C, $0F, $24, $28, $1A, $0F ; CPU:$B694 PRG:3694 33 04 16 00 3F 00 20 0F 31 1C 0C 0F 24 28 1A 0F + .byte $2B, $21, $1A, $0F, $0F, $00, $10, $0F, $30, $02, $26, $0F, $37, $17, $06, $0F ; CPU:$B6A4 PRG:36A4 2B 21 1A 0F 0F 00 10 0F 30 02 26 0F 37 17 06 0F + .byte $31, $1C, $0C, $0F, $33, $04, $16, $00, $C2, $B6, $0F, $B7, $5C, $B7, $4B, $21 ; CPU:$B6B4 PRG:36B4 31 1C 0C 0F 33 04 16 00 C2 B6 0F B7 5C B7 4B 21 + .byte $8A, $0C, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $21, $AA ; CPU:$B6C4 PRG:36C4 8A 0C 24 24 24 24 24 24 24 24 24 24 24 24 21 AA + .byte $0C, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $21, $CA, $0C ; CPU:$B6D4 PRG:36D4 0C 24 24 24 24 24 24 24 24 24 24 24 24 21 CA 0C + .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $21, $EA, $0C, $24 ; CPU:$B6E4 PRG:36E4 24 24 24 24 24 24 24 24 24 24 24 24 21 EA 0C 24 + .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $22, $0A, $0C, $24, $24 ; CPU:$B6F4 PRG:36F4 24 24 24 24 24 24 24 24 24 24 24 22 0A 0C 24 24 + .byte $1D, $12, $16, $0E, $24, $24, $1E, $19, $24, $24, $00, $4B, $22, $2A, $0C, $24 ; CPU:$B704 PRG:3704 1D 12 16 0E 24 24 1E 19 24 24 00 4B 22 2A 0C 24 + .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $22, $4A, $0C, $24, $24 ; CPU:$B714 PRG:3714 24 24 24 24 24 24 24 24 24 24 24 22 4A 0C 24 24 + .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $22, $6A, $0C, $24, $24, $24 ; CPU:$B724 PRG:3724 24 24 24 24 24 24 24 24 24 24 22 6A 0C 24 24 24 + .byte $24, $24, $24, $24, $24, $24, $24, $24, $24, $22, $8A, $0C, $24, $24, $24, $24 ; CPU:$B734 PRG:3734 24 24 24 24 24 24 24 24 24 22 8A 0C 24 24 24 24 + .byte $24, $24, $24, $24, $24, $24, $24, $24, $22, $AA, $0C, $90, $91, $91, $92, $90 ; CPU:$B744 PRG:3744 24 24 24 24 24 24 24 24 22 AA 0C 90 91 91 92 90 + .byte $91, $91, $92, $90, $91, $91, $92, $00, $20, $E5, $01, $BB, $20, $E6, $54, $C0 ; CPU:$B754 PRG:3754 91 91 92 90 91 91 92 00 20 E5 01 BB 20 E6 54 C0 + .byte $20, $FA, $01, $BC, $21, $05, $C4, $BF, $21, $06, $C4, $70, $21, $07, $C4, $27 ; CPU:$B764 PRG:3764 20 FA 01 BC 21 05 C4 BF 21 06 C4 70 21 07 C4 27 + .byte $21, $08, $12, $71, $73, $75, $27, $27, $73, $70, $27, $71, $73, $75, $27, $27 ; CPU:$B774 PRG:3774 21 08 12 71 73 75 27 27 73 70 27 71 73 75 27 27 + .byte $73, $70, $27, $27, $27, $21, $1A, $C4, $C1, $21, $28, $11, $72, $74, $70, $27 ; CPU:$B784 PRG:3784 73 70 27 27 27 21 1A C4 C1 21 28 11 72 74 70 27 + .byte $70, $27, $70, $27, $72, $74, $70, $27, $70, $27, $2F, $70, $27, $21, $48, $11 ; CPU:$B794 PRG:3794 70 27 70 27 72 74 70 27 70 27 2F 70 27 21 48 11 + .byte $71, $73, $70, $27, $70, $27, $70, $27, $71, $73, $70, $27, $70, $27, $2F, $70 ; CPU:$B7A4 PRG:37A4 71 73 70 27 70 27 70 27 71 73 70 27 70 27 2F 70 + .byte $27, $21, $68, $11, $70, $27, $76, $27, $27, $74, $70, $27, $72, $74, $76, $27 ; CPU:$B7B4 PRG:37B4 27 21 68 11 70 27 76 27 27 74 70 27 72 74 76 27 + .byte $27, $74, $2F, $70, $27, $21, $85, $01, $BD, $21, $86, $54, $C2, $21, $9A, $01 ; CPU:$B7C4 PRG:37C4 27 74 2F 70 27 21 85 01 BD 21 86 54 C2 21 9A 01 + .byte $BE, $22, $00, $44, $F2, $22, $06, $13, $70, $77, $78, $73, $70, $27, $2F, $75 ; CPU:$B7D4 PRG:37D4 BE 22 00 44 F2 22 06 13 70 77 78 73 70 27 2F 75 + .byte $27, $27, $73, $75, $27, $27, $73, $70, $27, $80, $81, $22, $1B, $45, $F2, $22 ; CPU:$B7E4 PRG:37E4 27 27 73 75 27 27 73 70 27 80 81 22 1B 45 F2 22 + .byte $20, $44, $F2, $22, $24, $01, $89, $22, $26, $14, $70, $79, $7A, $74, $7B, $27 ; CPU:$B7F4 PRG:37F4 20 44 F2 22 24 01 89 22 26 14 70 79 7A 74 7B 27 + .byte $29, $70, $77, $78, $27, $7B, $77, $7C, $7C, $7B, $27, $27, $80, $82, $22, $3B ; CPU:$B804 PRG:3804 29 70 77 78 27 7B 77 7C 7C 7B 27 27 80 82 22 3B + .byte $45, $F2, $22, $40, $44, $F2, $22, $44, $01, $89, $22, $46, $14, $70, $77, $78 ; CPU:$B814 PRG:3814 45 F2 22 40 44 F2 22 44 01 89 22 46 14 70 77 78 + .byte $7E, $7B, $27, $29, $70, $79, $7A, $27, $7B, $79, $7D, $7D, $7B, $27, $27, $83 ; CPU:$B824 PRG:3824 7E 7B 27 29 70 79 7A 27 7B 79 7D 7D 7B 27 27 83 + .byte $84, $22, $5B, $45, $F2, $22, $60, $44, $F2, $22, $64, $01, $89, $22, $66, $14 ; CPU:$B834 PRG:3834 84 22 5B 45 F2 22 60 44 F2 22 64 01 89 22 66 14 + .byte $70, $79, $7A, $74, $7B, $27, $27, $7F, $27, $27, $74, $76, $27, $27, $74, $7B ; CPU:$B844 PRG:3844 70 79 7A 74 7B 27 27 7F 27 27 74 76 27 27 74 7B + .byte $27, $85, $86, $87, $22, $7B, $45, $F2, $22, $80, $45, $89, $22, $87, $13, $70 ; CPU:$B854 PRG:3854 27 85 86 87 22 7B 45 F2 22 80 45 89 22 87 13 70 + .byte $27, $27, $74, $70, $27, $27, $76, $27, $27, $74, $76, $27, $27, $74, $70, $27 ; CPU:$B864 PRG:3864 27 27 74 70 27 27 76 27 27 74 76 27 27 74 70 27 + .byte $85, $88, $22, $9C, $44, $89, $23, $28, $05, $25, $01, $09, $08, $05, $23, $30 ; CPU:$B874 PRG:3874 85 88 22 9C 44 89 23 28 05 25 01 09 08 05 23 30 + .byte $08, $17, $12, $17, $1D, $0E, $17, $0D, $18, $23, $C9, $46, $F0, $23, $D1, $01 ; CPU:$B884 PRG:3884 08 17 12 17 1D 0E 17 0D 18 23 C9 46 F0 23 D1 01 + .byte $33, $23, $D6, $01, $CC, $23, $D8, $48, $AF, $23, $E1, $01, $44, $23, $E2, $44 ; CPU:$B894 PRG:3894 33 23 D6 01 CC 23 D8 48 AF 23 E1 01 44 23 E2 44 + .byte $55, $23, $E6, $01, $33, $23, $E8, $08, $00, $08, $0A, $0A, $0A, $0A, $02, $00 ; CPU:$B8A4 PRG:38A4 55 23 E6 01 33 23 E8 08 00 08 0A 0A 0A 0A 02 00 + .byte $23, $F2, $04, $AA, $AA, $AA, $AA, $00, $28, $63, $08, $0F, $1C, $0E, $15, $0E ; CPU:$B8B4 PRG:38B4 23 F2 04 AA AA AA AA 00 28 63 08 0F 1C 0E 15 0E + .byte $0C, $1D, $13, $28, $E8, $10, $30, $31, $31, $32, $24, $24, $24, $24, $BB, $C0 ; CPU:$B8C4 PRG:38C4 0C 1D 13 28 E8 10 30 31 31 32 24 24 24 24 BB C0 + .byte $C0, $C0, $C0, $C0, $C0, $BC, $29, $08, $10, $33, $34, $34, $35, $24, $F3, $F4 ; CPU:$B8D4 PRG:38D4 C0 C0 C0 C0 C0 BC 29 08 10 33 34 34 35 24 F3 F4 + .byte $24, $BF, $1D, $0E, $1C, $1D, $24, $24, $C1, $29, $28, $10, $36, $37, $37, $38 ; CPU:$B8E4 PRG:38E4 24 BF 1D 0E 1C 1D 24 24 C1 29 28 10 36 37 37 38 + .byte $24, $24, $24, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $29, $48, $04, $6E ; CPU:$B8F4 PRG:38F4 24 24 24 24 BD C2 C2 C2 C2 C2 C2 BE 29 48 04 6E + .byte $39, $39, $3A, $29, $68, $10, $30, $31, $31, $32, $24, $24, $24, $24, $BB, $C0 ; CPU:$B904 PRG:3904 39 39 3A 29 68 10 30 31 31 32 24 24 24 24 BB C0 + .byte $C0, $C0, $C0, $C0, $C0, $BC, $29, $88, $10, $33, $34, $34, $35, $24, $F3, $F4 ; CPU:$B914 PRG:3914 C0 C0 C0 C0 C0 BC 29 88 10 33 34 34 35 24 F3 F4 + .byte $24, $BF, $0D, $12, $1B, $0E, $0C, $1D, $C1, $29, $A8, $10, $36, $37, $37, $38 ; CPU:$B924 PRG:3924 24 BF 0D 12 1B 0E 0C 1D C1 29 A8 10 36 37 37 38 + .byte $24, $24, $24, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $29, $C8, $04, $6E ; CPU:$B934 PRG:3934 24 24 24 24 BD C2 C2 C2 C2 C2 C2 BE 29 C8 04 6E + .byte $39, $39, $3A, $29, $E8, $10, $30, $31, $31, $32, $24, $24, $24, $24, $BB, $C0 ; CPU:$B944 PRG:3944 39 39 3A 29 E8 10 30 31 31 32 24 24 24 24 BB C0 + .byte $C0, $C0, $C0, $C0, $C0, $BC, $2A, $08, $10, $33, $34, $34, $35, $24, $F3, $F4 ; CPU:$B954 PRG:3954 C0 C0 C0 C0 C0 BC 2A 08 10 33 34 34 35 24 F3 F4 + .byte $24, $BF, $16, $0E, $16, $18, $1B, $22, $C1, $2A, $28, $10, $36, $37, $37, $38 ; CPU:$B964 PRG:3964 24 BF 16 0E 16 18 1B 22 C1 2A 28 10 36 37 37 38 + .byte $24, $24, $24, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $2A, $48, $04, $6E ; CPU:$B974 PRG:3974 24 24 24 24 BD C2 C2 C2 C2 C2 C2 BE 2A 48 04 6E + .byte $39, $39, $3A, $2A, $68, $14, $30, $31, $31, $32, $24, $24, $24, $24, $BB, $C0 ; CPU:$B984 PRG:3984 39 39 3A 2A 68 14 30 31 31 32 24 24 24 24 BB C0 + .byte $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $2A, $88, $14, $33, $34, $34 ; CPU:$B994 PRG:3994 C0 C0 C0 C0 C0 C0 C0 C0 C0 BC 2A 88 14 33 34 34 + .byte $35, $24, $F3, $F4, $24, $BF, $0B, $12, $17, $10, $18, $24, $1A, $01, $19, $1F ; CPU:$B9A4 PRG:39A4 35 24 F3 F4 24 BF 0B 12 17 10 18 24 1A 01 19 1F + .byte $C1, $2A, $A8, $14, $36, $37, $37, $38, $24, $24, $24, $24, $BD, $C2, $C2, $C2 ; CPU:$B9B4 PRG:39B4 C1 2A A8 14 36 37 37 38 24 24 24 24 BD C2 C2 C2 + .byte $C2, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $2A, $C8, $04, $6E, $39, $39, $3A, $2A ; CPU:$B9C4 PRG:39C4 C2 C2 C2 C2 C2 C2 C2 BE 2A C8 04 6E 39 39 3A 2A + .byte $E8, $14, $30, $31, $31, $32, $24, $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0 ; CPU:$B9D4 PRG:39D4 E8 14 30 31 31 32 24 24 24 24 BB C0 C0 C0 C0 C0 + .byte $C0, $C0, $C0, $C0, $C0, $BC, $2B, $08, $14, $33, $34, $34, $35, $24, $F3, $F4 ; CPU:$B9E4 PRG:39E4 C0 C0 C0 C0 C0 BC 2B 08 14 33 34 34 35 24 F3 F4 + .byte $24, $BF, $0B, $12, $17, $10, $18, $24, $1A, $02, $19, $1F, $C1, $2B, $28, $14 ; CPU:$B9F4 PRG:39F4 24 BF 0B 12 17 10 18 24 1A 02 19 1F C1 2B 28 14 + .byte $36, $37, $37, $38, $24, $24, $24, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2 ; CPU:$BA04 PRG:3A04 36 37 37 38 24 24 24 24 BD C2 C2 C2 C2 C2 C2 C2 + .byte $C2, $C2, $C2, $BE, $2B, $48, $04, $6E, $39, $39, $3A, $2B, $C0, $04, $55, $55 ; CPU:$BA14 PRG:3A14 C2 C2 C2 BE 2B 48 04 6E 39 39 3A 2B C0 04 55 55 + .byte $55, $55, $2B, $CB, $03, $AA, $55, $55, $2B, $D3, $03, $AA, $55, $55, $2B, $DB ; CPU:$BA24 PRG:3A24 55 55 2B CB 03 AA 55 55 2B D3 03 AA 55 55 2B DB + .byte $03, $AA, $55, $55, $2B, $E3, $05, $AA, $55, $55, $55, $37, $2B, $EB, $04, $AA ; CPU:$BA34 PRG:3A34 03 AA 55 55 2B E3 05 AA 55 55 55 37 2B EB 04 AA + .byte $55, $55, $55, $2B, $F3, $04, $AA, $55, $55, $55, $00, $29, $11, $05, $1C, $1D ; CPU:$BA44 PRG:3A44 55 55 55 2B F3 04 AA 55 55 55 00 29 11 05 1C 1D + .byte $0A, $1B, $1D, $29, $91, $05, $17, $0E, $21, $1D, $24, $2A, $11, $05, $0E, $17 ; CPU:$BA54 PRG:3A54 0A 1B 1D 29 91 05 17 0E 21 1D 24 2A 11 05 0E 17 + .byte $0D, $24, $24, $2A, $91, $0B, $1D, $0E, $1C, $1D, $24, $24, $24, $24, $24, $24 ; CPU:$BA64 PRG:3A64 0D 24 24 2A 91 0B 1D 0E 1C 1D 24 24 24 24 24 24 + .byte $24, $2B, $11, $0B, $1C, $19, $0E, $0E, $0D, $24, $24, $24, $24, $24, $24, $2A ; CPU:$BA74 PRG:3A74 24 2B 11 0B 1C 19 0E 0E 0D 24 24 24 24 24 24 2A + .byte $78, $44, $24, $2A, $B8, $44, $24, $2A, $F8, $44, $24, $2B, $38, $44, $24, $28 ; CPU:$BA84 PRG:3A84 78 44 24 2A B8 44 24 2A F8 44 24 2B 38 44 24 28 + .byte $6B, $01, $02, $28, $F6, $93, $BC, $C1, $BE, $24, $BC, $C1, $BE, $24, $BC, $C1 ; CPU:$BA94 PRG:3A94 6B 01 02 28 F6 93 BC C1 BE 24 BC C1 BE 24 BC C1 + .byte $BE, $24, $BC, $C1, $BE, $24, $BC, $C1, $BE, $28, $F7, $D3, $24, $00, $2A, $68 ; CPU:$BAA4 PRG:3AA4 BE 24 BC C1 BE 24 BC C1 BE 28 F7 D3 24 00 2A 68 + .byte $50, $24, $2A, $88, $50, $24, $2A, $A8, $50, $24, $2A, $C8, $50, $24, $29, $91 ; CPU:$BAB4 PRG:3AB4 50 24 2A 88 50 24 2A A8 50 24 2A C8 50 24 29 91 + .byte $05, $0E, $17, $0D, $24, $24, $2A, $11, $05, $1D, $0E, $1C, $1D, $24, $2A, $E8 ; CPU:$BAC4 PRG:3AC4 05 0E 17 0D 24 24 2A 11 05 1D 0E 1C 1D 24 2A E8 + .byte $50, $24, $2B, $08, $50, $24, $2B, $28, $50, $24, $2B, $48, $50, $24, $00, $28 ; CPU:$BAD4 PRG:3AD4 50 24 2B 08 50 24 2B 28 50 24 2B 48 50 24 00 28 + .byte $63, $07, $0F, $1C, $19, $0E, $0E, $0D, $13, $28, $C8, $10, $30, $31, $31, $32 ; CPU:$BAE4 PRG:3AE4 63 07 0F 1C 19 0E 0E 0D 13 28 C8 10 30 31 31 32 + .byte $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31, $32, $28, $E8, $10, $33 ; CPU:$BAF4 PRG:3AF4 30 31 31 32 30 31 31 32 30 31 31 32 28 E8 10 33 + .byte $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $29 ; CPU:$BB04 PRG:3B04 34 34 35 33 34 34 35 33 34 34 35 33 34 34 35 29 + .byte $08, $10, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37 ; CPU:$BB14 PRG:3B14 08 10 36 37 37 38 36 37 37 38 36 37 37 38 36 37 + .byte $37, $38, $29, $28, $10, $30, $31, $31, $32, $6E, $39, $39, $3A, $6E, $39, $39 ; CPU:$BB24 PRG:3B24 37 38 29 28 10 30 31 31 32 6E 39 39 3A 6E 39 39 + .byte $3A, $30, $31, $31, $32, $29, $48, $10, $33, $34, $34, $35, $24, $24, $24, $24 ; CPU:$BB34 PRG:3B34 3A 30 31 31 32 29 48 10 33 34 34 35 24 24 24 24 + .byte $24, $24, $24, $24, $33, $34, $34, $35, $29, $68, $10, $36, $37, $37, $38, $24 ; CPU:$BB44 PRG:3B44 24 24 24 24 33 34 34 35 29 68 10 36 37 37 38 24 + .byte $24, $24, $24, $24, $24, $24, $24, $36, $37, $37, $38, $29, $88, $10, $30, $31 ; CPU:$BB54 PRG:3B54 24 24 24 24 24 24 24 36 37 37 38 29 88 10 30 31 + .byte $31, $32, $24, $24, $24, $24, $24, $24, $24, $24, $30, $31, $31, $32, $29, $A8 ; CPU:$BB64 PRG:3B64 31 32 24 24 24 24 24 24 24 24 30 31 31 32 29 A8 + .byte $10, $33, $34, $34, $35, $24, $24, $24, $24, $24, $24, $24, $24, $33, $34, $34 ; CPU:$BB74 PRG:3B74 10 33 34 34 35 24 24 24 24 24 24 24 24 33 34 34 + .byte $35, $29, $C8, $10, $36, $37, $37, $38, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$BB84 PRG:3B84 35 29 C8 10 36 37 37 38 24 24 24 24 24 24 24 24 + .byte $36, $37, $37, $38, $29, $E8, $10, $30, $31, $31, $32, $30, $31, $31, $32, $30 ; CPU:$BB94 PRG:3B94 36 37 37 38 29 E8 10 30 31 31 32 30 31 31 32 30 + .byte $31, $31, $32, $30, $31, $31, $32, $2A, $08, $10, $33, $34, $34, $35, $33, $34 ; CPU:$BBA4 PRG:3BA4 31 31 32 30 31 31 32 2A 08 10 33 34 34 35 33 34 + .byte $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $2A, $28, $10, $36, $37, $37 ; CPU:$BBB4 PRG:3BB4 34 35 33 34 34 35 33 34 34 35 2A 28 10 36 37 37 + .byte $38, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $2A, $48, $10 ; CPU:$BBC4 PRG:3BC4 38 36 37 37 38 36 37 37 38 36 37 37 38 2A 48 10 + .byte $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A ; CPU:$BBD4 PRG:3BD4 6E 39 39 3A 6E 39 39 3A 6E 39 39 3A 6E 39 39 3A + .byte $2A, $87, $52, $C0, $2B, $27, $52, $C2, $2A, $A6, $C4, $BF, $2A, $B9, $C4, $C1 ; CPU:$BBE4 PRG:3BE4 2A 87 52 C0 2B 27 52 C2 2A A6 C4 BF 2A B9 C4 C1 + .byte $2A, $86, $01, $BB, $2A, $99, $01, $BC, $2B, $26, $01, $BD, $2B, $39, $01, $BE ; CPU:$BBF4 PRG:3BF4 2A 86 01 BB 2A 99 01 BC 2B 26 01 BD 2B 39 01 BE + .byte $2B, $07, $12, $FB, $FC, $24, $24, $FB, $FC, $24, $24, $FB, $FC, $24, $24, $FB ; CPU:$BC04 PRG:3C04 2B 07 12 FB FC 24 24 FB FC 24 24 FB FC 24 24 FB + .byte $FC, $24, $24, $FB, $FC, $2B, $46, $04, $EA, $0A, $1C, $1D, $2B, $56, $04, $1C ; CPU:$BC14 PRG:3C14 FC 24 24 FB FC 2B 46 04 EA 0A 1C 1D 2B 56 04 1C + .byte $15, $18, $EB, $2B, $C0, $43, $55, $2B, $E8, $48, $55, $2B, $F0, $48, $5A, $00 ; CPU:$BC24 PRG:3C24 15 18 EB 2B C0 43 55 2B E8 48 55 2B F0 48 5A 00 + .byte $29, $07, $52, $28, $29, $27, $52, $28, $29, $47, $52, $28, $29, $67, $52, $28 ; CPU:$BC34 PRG:3C34 29 07 52 28 29 27 52 28 29 47 52 28 29 67 52 28 + .byte $29, $87, $52, $28, $29, $A7, $52, $28, $29, $C7, $52, $28, $29, $E7, $52, $28 ; CPU:$BC44 PRG:3C44 29 87 52 28 29 A7 52 28 29 C7 52 28 29 E7 52 28 + .byte $2A, $07, $52, $28, $2A, $27, $52, $28, $2A, $47, $52, $28, $2A, $67, $52, $28 ; CPU:$BC54 PRG:3C54 2A 07 52 28 2A 27 52 28 2A 47 52 28 2A 67 52 28 + .byte $2A, $87, $52, $28, $2A, $A7, $52, $28, $28, $E6, $01, $EE, $28, $E7, $52, $F6 ; CPU:$BC64 PRG:3C64 2A 87 52 28 2A A7 52 28 28 E6 01 EE 28 E7 52 F6 + .byte $28, $F9, $01, $EF, $2A, $C7, $52, $F8, $29, $06, $CE, $F5, $29, $19, $CE, $F7 ; CPU:$BC74 PRG:3C74 28 F9 01 EF 2A C7 52 F8 29 06 CE F5 29 19 CE F7 + .byte $2A, $C6, $01, $F0, $2A, $D9, $01, $F1, $29, $6E, $04, $20, $23, $3B, $20, $29 ; CPU:$BC84 PRG:3C84 2A C6 01 F0 2A D9 01 F1 29 6E 04 20 23 3B 20 29 + .byte $C9, $0F, $3E, $3F, $3B, $6F, $28, $3B, $23, $C5, $23, $C6, $20, $28, $C7, $23 ; CPU:$BC94 PRG:3C94 C9 0F 3E 3F 3B 6F 28 3B 23 C5 23 C6 20 28 C7 23 + .byte $CD, $00, $2A, $83, $1B, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0 ; CPU:$BCA4 PRG:3CA4 CD 00 2A 83 1B BB C0 C0 C0 C0 C0 C0 C0 C0 C0 C0 + .byte $BC, $BB, $C0, $C0, $C0, $C0, $C0, $BC, $24, $BB, $C0, $C0, $C0, $C0, $C0, $BC ; CPU:$BCB4 PRG:3CB4 BC BB C0 C0 C0 C0 C0 BC 24 BB C0 C0 C0 C0 C0 BC + .byte $2A, $A3, $C6, $BF, $2A, $AE, $C6, $C1, $2A, $AF, $C6, $BF, $2A, $B5, $C6, $C1 ; CPU:$BCC4 PRG:3CC4 2A A3 C6 BF 2A AE C6 C1 2A AF C6 BF 2A B5 C6 C1 + .byte $2A, $B7, $C6, $BF, $2A, $BD, $C6, $C1, $2A, $F6, $82, $C3, $C4, $2B, $63, $1B ; CPU:$BCD4 PRG:3CD4 2A B7 C6 BF 2A BD C6 C1 2A F6 82 C3 C4 2B 63 1B + .byte $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $BD, $C2, $C2, $C2 ; CPU:$BCE4 PRG:3CE4 BD C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 BE BD C2 C2 C2 + .byte $C2, $C2, $BE, $24, $BD, $C2, $C2, $C2, $C2, $C2, $BE, $2B, $50, $05, $C8, $C9 ; CPU:$BCF4 PRG:3CF4 C2 C2 BE 24 BD C2 C2 C2 C2 C2 BE 2B 50 05 C8 C9 + .byte $CA, $CB, $CC, $2B, $58, $05, $C8, $C9, $CA, $CB, $CC, $2A, $63, $0C, $0F, $0B ; CPU:$BD04 PRG:3D04 CA CB CC 2B 58 05 C8 C9 CA CB CC 2A 63 0C 0F 0B + .byte $12, $17, $10, $18, $24, $1A, $01, $19, $1F, $13, $2A, $76, $08, $19, $11, $0A ; CPU:$BD14 PRG:3D14 12 17 10 18 24 1A 01 19 1F 13 2A 76 08 19 11 0A + .byte $1C, $0E, $24, $00, $00, $2A, $C4, $0A, $19, $18, $12, $17, $1D, $24, $00, $00 ; CPU:$BD24 PRG:3D24 1C 0E 24 00 00 2A C4 0A 19 18 12 17 1D 24 00 00 + .byte $00, $00, $2A, $E4, $0A, $1C, $1D, $0E, $19, $24, $24, $24, $00, $00, $00, $2B ; CPU:$BD34 PRG:3D34 00 00 2A E4 0A 1C 1D 0E 19 24 24 24 00 00 00 2B + .byte $04, $0A, $19, $0A, $1B, $24, $24, $24, $24, $00, $00, $00, $2B, $24, $0A, $0B ; CPU:$BD44 PRG:3D44 04 0A 19 0A 1B 24 24 24 24 00 00 00 2B 24 0A 0B + .byte $18, $17, $1E, $1C, $24, $24, $03, $00, $00, $2B, $BE, $42, $27, $2B, $E0, $20 ; CPU:$BD54 PRG:3D54 18 17 1E 1C 24 24 03 00 00 2B BE 42 27 2B E0 20 + .byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $A5, $65, $55, $55, $55, $55, $55 ; CPU:$BD64 PRG:3D64 55 55 55 55 55 55 55 55 55 A5 65 55 55 55 55 55 + .byte $55, $5A, $56, $55, $55, $55, $55, $55, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BD74 PRG:3D74 55 5A 56 55 55 55 55 55 FF FF FF FF FF FF FF FF + .byte $00, $2A, $64, $0B, $0D, $12, $1B, $0E, $0C, $1D, $13, $24, $24, $24, $24, $00 ; CPU:$BD84 PRG:3D84 00 2A 64 0B 0D 12 1B 0E 0C 1D 13 24 24 24 24 00 + .byte $2A, $64, $0B, $16, $0E, $16, $18, $1B, $22, $13, $24, $24, $24, $24, $2B, $84 ; CPU:$BD94 PRG:3D94 2A 64 0B 16 0E 16 18 1B 22 13 24 24 24 24 2B 84 + .byte $14, $DC, $DD, $24, $DE, $DF, $24, $E0, $E1, $24, $E2, $E3, $24, $E6, $E7, $24 ; CPU:$BDA4 PRG:3DA4 14 DC DD 24 DE DF 24 E0 E1 24 E2 E3 24 E6 E7 24 + .byte $E4, $E5, $24, $E8, $E9, $2B, $F8, $47, $AA, $00, $2A, $63, $0C, $0F, $0B, $12 ; CPU:$BDB4 PRG:3DB4 E4 E5 24 E8 E9 2B F8 47 AA 00 2A 63 0C 0F 0B 12 + .byte $17, $10, $18, $24, $1A, $02, $19, $1F, $13, $2A, $8D, $11, $BB, $C0, $C0, $C0 ; CPU:$BDC4 PRG:3DC4 17 10 18 24 1A 02 19 1F 13 2A 8D 11 BB C0 C0 C0 + .byte $C0, $C0, $BC, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $2A, $AD, $C6 ; CPU:$BDD4 PRG:3DD4 C0 C0 BC 24 BB C0 C0 C0 C0 C0 C0 C0 BC 2A AD C6 + .byte $BF, $2A, $B3, $C6, $C1, $2A, $B5, $C6, $BF, $2A, $BD, $C6, $C1, $2B, $6D, $11 ; CPU:$BDE4 PRG:3DE4 BF 2A B3 C6 C1 2A B5 C6 BF 2A BD C6 C1 2B 6D 11 + .byte $BD, $C2, $C2, $C2, $C2, $C2, $BE, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2 ; CPU:$BDF4 PRG:3DF4 BD C2 C2 C2 C2 C2 BE 24 BD C2 C2 C2 C2 C2 C2 C2 + .byte $BE, $2A, $F4, $82, $C3, $C4, $2A, $F0, $C2, $CE, $2B, $2F, $43, $CE, $2B, $4E ; CPU:$BE04 PRG:3E04 BE 2A F4 82 C3 C4 2A F0 C2 CE 2B 2F 43 CE 2B 4E + .byte $05, $C8, $C9, $CA, $CB, $CC, $2A, $D6, $07, $0C, $18, $16, $19, $0E, $1D, $0E ; CPU:$BE14 PRG:3E14 05 C8 C9 CA CB CC 2A D6 07 0C 18 16 19 0E 1D 0E + .byte $2A, $F8, $03, $EA, $18, $1B, $2B, $16, $07, $0B, $15, $18, $0C, $14, $1C, $ED ; CPU:$BE24 PRG:3E24 2A F8 03 EA 18 1B 2B 16 07 0B 15 18 0C 14 1C ED + .byte $2B, $E0, $18, $55, $55, $55, $55, $55, $55, $55, $55, $AA, $AA, $AA, $55, $55 ; CPU:$BE34 PRG:3E34 2B E0 18 55 55 55 55 55 55 55 55 AA AA AA 55 55 + .byte $55, $55, $55, $AA, $AA, $AA, $55, $55, $55, $55, $55, $00, $23, $C0, $20, $FF ; CPU:$BE44 PRG:3E44 55 55 55 AA AA AA 55 55 55 55 55 00 23 C0 20 FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $AF, $AF, $AF, $AF, $AF, $AF, $CF, $BB ; CPU:$BE54 PRG:3E54 FF FF FF FF FF FF FF 3F AF AF AF AF AF AF CF BB + .byte $22, $00, $00, $00, $00, $88, $EE, $BB, $22, $00, $00, $00, $00, $88, $EE, $23 ; CPU:$BE64 PRG:3E64 22 00 00 00 00 88 EE BB 22 00 00 00 00 88 EE 23 + .byte $E0, $20, $BB, $22, $00, $00, $00, $00, $88, $EE, $BB, $22, $00, $00, $00, $00 ; CPU:$BE74 PRG:3E74 E0 20 BB 22 00 00 00 00 88 EE BB 22 00 00 00 00 + .byte $88, $EE, $33, $A0, $A0, $A0, $A0, $A0, $A0, $CC, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BE84 PRG:3E84 88 EE 33 A0 A0 A0 A0 A0 A0 CC FF FF FF FF FF FF + .byte $FF, $FF, $20, $00, $60, $F9, $20, $20, $60, $FA, $20, $40, $60, $F9, $20, $60 ; CPU:$BE94 PRG:3E94 FF FF 20 00 60 F9 20 20 60 FA 20 40 60 F9 20 60 + .byte $60, $FA, $20, $80, $60, $F9, $20, $A0, $60, $FA, $20, $C0, $96, $F9, $FA, $F9 ; CPU:$BEA4 PRG:3EA4 60 FA 20 80 60 F9 20 A0 60 FA 20 C0 96 F9 FA F9 + .byte $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9 ; CPU:$BEB4 PRG:3EB4 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 + .byte $FA, $F9, $FA, $20, $C1, $96, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA ; CPU:$BEC4 PRG:3EC4 FA F9 FA 20 C1 96 F9 FA F9 FA F9 FA F9 FA F9 FA + .byte $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $20, $DE, $96, $F9 ; CPU:$BED4 PRG:3ED4 F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA 20 DE 96 F9 + .byte $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9 ; CPU:$BEE4 PRG:3EE4 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 + .byte $FA, $F9, $FA, $F9, $FA, $20, $DF, $96, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA ; CPU:$BEF4 PRG:3EF4 FA F9 FA F9 FA 20 DF 96 F9 FA F9 FA F9 FA F9 FA + .byte $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $23, $80 ; CPU:$BF04 PRG:3F04 F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA 23 80 + .byte $60, $F9, $23, $A0, $60, $FA, $20, $E6, $14, $4E, $51, $52, $55, $24, $4A, $4D ; CPU:$BF14 PRG:3F14 60 F9 23 A0 60 FA 20 E6 14 4E 51 52 55 24 4A 4D + .byte $24, $24, $24, $24, $24, $42, $43, $46, $47, $56, $59, $5E, $61, $23, $46, $14 ; CPU:$BF24 PRG:3F24 24 24 24 24 24 42 43 46 47 56 59 5E 61 23 46 14 + .byte $24, $E6, $E7, $24, $24, $DE, $DF, $24, $24, $24, $24, $24, $24, $DC, $DD, $24 ; CPU:$BF34 PRG:3F34 24 E6 E7 24 24 DE DF 24 24 24 24 24 24 DC DD 24 + .byte $24, $E4, $E5, $24, $21, $43, $02, $E0, $E1, $21, $A3, $02, $DC, $DD, $22, $63 ; CPU:$BF44 PRG:3F44 24 E4 E5 24 21 43 02 E0 E1 21 A3 02 DC DD 22 63 + .byte $02, $DE, $DF, $22, $C3, $02, $E2, $E3, $21, $5B, $02, $62, $65, $21, $BA, $04 ; CPU:$BF54 PRG:3F54 02 DE DF 22 C3 02 E2 E3 21 5B 02 62 65 21 BA 04 + .byte $42, $43, $46, $47, $22, $7B, $02, $4A, $4D, $22, $DA, $04, $6A, $6B, $6C, $6D ; CPU:$BF64 PRG:3F64 42 43 46 47 22 7B 02 4A 4D 22 DA 04 6A 6B 6C 6D + .byte $00, $21, $C0, $60, $F9, $21, $E0, $60, $FA, $22, $00, $60, $F9, $22, $20, $60 ; CPU:$BF74 PRG:3F74 00 21 C0 60 F9 21 E0 60 FA 22 00 60 F9 22 20 60 + .byte $FA, $22, $40, $60, $F9, $22, $60, $60, $FA, $22, $80, $60, $F9, $22, $A0, $60 ; CPU:$BF84 PRG:3F84 FA 22 40 60 F9 22 60 60 FA 22 80 60 F9 22 A0 60 + .byte $FA, $22, $C0, $60, $F9, $22, $E0, $60, $FA, $23, $00, $60, $F9, $23, $20, $60 ; CPU:$BF94 PRG:3F94 FA 22 C0 60 F9 22 E0 60 FA 23 00 60 F9 23 20 60 + .byte $FA, $23, $40, $60, $F9, $23, $60, $60, $FA, $23, $80, $60, $F9, $23, $A0, $60 ; CPU:$BFA4 PRG:3FA4 FA 23 40 60 F9 23 60 60 FA 23 80 60 F9 23 A0 60 + .byte $FA, $00, $23, $D8, $28, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F ; CPU:$BFB4 PRG:3FB4 FA 00 23 D8 28 FF FF FF FF FF FF FF FF FF FF 3F + .byte $0F, $0F, $CF, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33 ; CPU:$BFC4 PRG:3FC4 0F 0F CF FF FF FF FF 33 00 00 CC FF FF FF FF 33 + .byte $00, $00, $CC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $22, $40 ; CPU:$BFD4 PRG:3FD4 00 00 CC FF FF FF FF FF FF FF FF FF FF 00 22 40 + .byte $20, $30, $31, $31, $32, $30, $31, $31, $32, $8A, $8B, $8C, $B9, $30, $31, $31 ; CPU:$BFE4 PRG:3FE4 20 30 31 31 32 30 31 31 32 8A 8B 8C B9 30 31 31 + .byte $32, $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31 ; CPU:$BFF4 PRG:3FF4 32 30 31 31 32 30 31 31 32 30 31 31 32 30 31 31 + .byte $32, $22, $60, $20, $33, $34, $34, $35, $33, $34, $34, $35, $8D, $8E, $8F, $BA ; CPU:$C004 PRG:4004 32 22 60 20 33 34 34 35 33 34 34 35 8D 8E 8F BA + .byte $33, $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35 ; CPU:$C014 PRG:4014 33 34 34 35 33 34 34 35 33 34 34 35 33 34 34 35 + .byte $33, $34, $34, $35, $22, $80, $20, $36, $37, $37, $38, $36, $37, $37, $38, $36 ; CPU:$C024 PRG:4024 33 34 34 35 22 80 20 36 37 37 38 36 37 37 38 36 + .byte $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $36 ; CPU:$C034 PRG:4034 37 37 38 36 37 37 38 36 37 37 38 36 37 37 38 36 + .byte $37, $37, $38, $36, $37, $37, $38, $22, $A0, $20, $6E, $39, $39, $3A, $6E, $39 ; CPU:$C044 PRG:4044 37 37 38 36 37 37 38 22 A0 20 6E 39 39 3A 6E 39 + .byte $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39 ; CPU:$C054 PRG:4054 39 3A 6E 39 39 3A 6E 39 39 3A 6E 39 39 3A 6E 39 + .byte $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $23, $D8, $28, $FF, $FF, $FF ; CPU:$C064 PRG:4064 39 3A 6E 39 39 3A 6E 39 39 3A 23 D8 28 FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $F0, $F0, $F0 ; CPU:$C074 PRG:4074 FF FF FF FF FF 0F 0F 0F 0F 0F 0F 0F 0F F0 F0 F0 + .byte $F0, $F0, $F0, $F0, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C084 PRG:4084 F0 F0 F0 F0 F0 FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $00, $20, $6B, $4B, $24, $20, $8B, $0B, $24, $1D, $12 ; CPU:$C094 PRG:4094 FF FF FF FF FF 00 20 6B 4B 24 20 8B 0B 24 1D 12 + .byte $16, $0E, $24, $05, $FF, $00, $00, $24, $20, $AB, $4B, $24, $23, $C8, $08, $3F ; CPU:$C0A4 PRG:40A4 16 0E 24 05 FF 00 00 24 20 AB 4B 24 23 C8 08 3F + .byte $AF, $AF, $A5, $A5, $AD, $AF, $CF, $00, $76, $C1, $7E, $C1, $86, $C1, $8E, $C1 ; CPU:$C0B4 PRG:40B4 AF AF A5 A5 AD AF CF 00 76 C1 7E C1 86 C1 8E C1 + .byte $96, $C1, $9E, $C1, $A1, $C1, $A4, $C1, $A7, $C1, $AA, $C1, $B2, $C1, $BA, $C1 ; CPU:$C0C4 PRG:40C4 96 C1 9E C1 A1 C1 A4 C1 A7 C1 AA C1 B2 C1 BA C1 + .byte $C2, $C1, $CA, $C1, $D2, $C1, $DA, $C1, $E2, $C1, $EA, $C1, $F0, $C1, $F6, $C1 ; CPU:$C0D4 PRG:40D4 C2 C1 CA C1 D2 C1 DA C1 E2 C1 EA C1 F0 C1 F6 C1 + .byte $F8, $C1, $06, $C2, $14, $C2, $22, $C2, $30, $C2, $3E, $C2, $4C, $C2, $5A, $C2 ; CPU:$C0E4 PRG:40E4 F8 C1 06 C2 14 C2 22 C2 30 C2 3E C2 4C C2 5A C2 + .byte $68, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2 ; CPU:$C0F4 PRG:40F4 68 C2 6E C2 6E C2 6E C2 6E C2 6E C2 6E C2 6E C2 + .byte $6E, $C2, $75, $C2, $7C, $C2, $83, $C2, $8A, $C2, $90, $C2, $96, $C2, $9C, $C2 ; CPU:$C104 PRG:4104 6E C2 75 C2 7C C2 83 C2 8A C2 90 C2 96 C2 9C C2 + .byte $9F, $C2, $A5, $C2, $A8, $C2, $AF, $C2, $B6, $C2, $BD, $C2, $C4, $C2, $CB, $C2 ; CPU:$C114 PRG:4114 9F C2 A5 C2 A8 C2 AF C2 B6 C2 BD C2 C4 C2 CB C2 + .byte $D2, $C2, $D9, $C2, $E0, $C2, $E7, $C2, $EE, $C2, $F5, $C2, $FC, $C2, $04, $C3 ; CPU:$C124 PRG:4124 D2 C2 D9 C2 E0 C2 E7 C2 EE C2 F5 C2 FC C2 04 C3 + .byte $07, $C3, $0F, $C3, $12, $C3, $1B, $C3, $1E, $C3, $27, $C3, $2A, $C3, $32, $C3 ; CPU:$C134 PRG:4134 07 C3 0F C3 12 C3 1B C3 1E C3 27 C3 2A C3 32 C3 + .byte $35, $C3, $3B, $C3, $41, $C3, $41, $C3, $41, $C3, $41, $C3, $41, $C3, $41, $C3 ; CPU:$C144 PRG:4144 35 C3 3B C3 41 C3 41 C3 41 C3 41 C3 41 C3 41 C3 + .byte $41, $C3, $4E, $C3, $5B, $C3, $68, $C3, $75, $C3, $82, $C3, $8F, $C3, $9C, $C3 ; CPU:$C154 PRG:4154 41 C3 4E C3 5B C3 68 C3 75 C3 82 C3 8F C3 9C C3 + .byte $A9, $C3, $B6, $C3, $C3, $C3, $D0, $C3, $DD, $C3, $EA, $C3, $F7, $C3, $04, $C4 ; CPU:$C164 PRG:4164 A9 C3 B6 C3 C3 C3 D0 C3 DD C3 EA C3 F7 C3 04 C4 + .byte $11, $C4, $1E, $C4, $5A, $5B, $5C, $5A, $5B, $5C, $31, $C4, $9A, $9B, $9C, $9D ; CPU:$C174 PRG:4174 11 C4 1E C4 5A 5B 5C 5A 5B 5C 31 C4 9A 9B 9C 9D + .byte $9E, $9F, $44, $C4, $9A, $A1, $A2, $9D, $A4, $A5, $31, $C4, $9A, $A1, $A8, $9D ; CPU:$C184 PRG:4184 9E 9F 44 C4 9A A1 A2 9D A4 A5 31 C4 9A A1 A8 9D + .byte $AA, $AB, $57, $C4, $9A, $AD, $AE, $9D, $B0, $B1, $01, $00, $40, $02, $00, $40 ; CPU:$C194 PRG:4194 AA AB 57 C4 9A AD AE 9D B0 B1 01 00 40 02 00 40 + .byte $03, $00, $40, $04, $00, $40, $1E, $C4, $5A, $5B, $5C, $5A, $5B, $5C, $1E, $C4 ; CPU:$C1A4 PRG:41A4 03 00 40 04 00 40 1E C4 5A 5B 5C 5A 5B 5C 1E C4 + .byte $76, $77, $78, $76, $77, $78, $1E, $C4, $7C, $7D, $7E, $7C, $7D, $7E, $1E, $C4 ; CPU:$C1B4 PRG:41B4 76 77 78 76 77 78 1E C4 7C 7D 7E 7C 7D 7E 1E C4 + .byte $7C, $CB, $CC, $7C, $CB, $CC, $1E, $C4, $B2, $B3, $B4, $B2, $B3, $B4, $1E, $C4 ; CPU:$C1C4 PRG:41C4 7C CB CC 7C CB CC 1E C4 B2 B3 B4 B2 B3 B4 1E C4 + .byte $B8, $B9, $BA, $B8, $B9, $BA, $1E, $C4, $B2, $BF, $C0, $B2, $BF, $C0, $1E, $C4 ; CPU:$C1D4 PRG:41D4 B8 B9 BA B8 B9 BA 1E C4 B2 BF C0 B2 BF C0 1E C4 + .byte $B2, $C5, $C6, $B2, $C5, $C6, $8F, $C4, $3D, $58, $58, $40, $9C, $C4, $24, $23 ; CPU:$C1E4 PRG:41E4 B2 C5 C6 B2 C5 C6 8F C4 3D 58 58 40 9C C4 24 23 + .byte $23, $24, $A9, $C4, $6A, $C4, $3D, $58, $58, $40, $41, $59, $59, $2C, $20, $21 ; CPU:$C1F4 PRG:41F4 23 24 A9 C4 6A C4 3D 58 58 40 41 59 59 2C 20 21 + .byte $21, $22, $6A, $C4, $18, $19, $1A, $1B, $1C, $1D, $1E, $1F, $20, $21, $21, $22 ; CPU:$C204 PRG:4204 21 22 6A C4 18 19 1A 1B 1C 1D 1E 1F 20 21 21 22 + .byte $6A, $C4, $3D, $26, $27, $28, $41, $2A, $2B, $2C, $20, $21, $21, $22, $6A, $C4 ; CPU:$C214 PRG:4214 6A C4 3D 26 27 28 41 2A 2B 2C 20 21 21 22 6A C4 + .byte $3D, $3E, $3F, $40, $41, $42, $43, $2C, $20, $21, $21, $22, $6A, $C4, $44, $45 ; CPU:$C224 PRG:4224 3D 3E 3F 40 41 42 43 2C 20 21 21 22 6A C4 44 45 + .byte $46, $47, $48, $49, $4A, $4B, $20, $21, $21, $22, $6A, $C4, $2D, $2E, $2F, $30 ; CPU:$C234 PRG:4234 46 47 48 49 4A 4B 20 21 21 22 6A C4 2D 2E 2F 30 + .byte $31, $32, $33, $34, $20, $21, $21, $22, $6A, $C4, $35, $36, $37, $38, $39, $3A ; CPU:$C244 PRG:4244 31 32 33 34 20 21 21 22 6A C4 35 36 37 38 39 3A + .byte $3B, $3C, $20, $21, $21, $22, $6A, $C4, $3D, $4C, $4D, $40, $41, $4E, $4F, $2C ; CPU:$C254 PRG:4254 3B 3C 20 21 21 22 6A C4 3D 4C 4D 40 41 4E 4F 2C + .byte $20, $21, $21, $22, $AA, $C4, $59, $59, $59, $59, $DE, $C4, $12, $13, $14, $15 ; CPU:$C264 PRG:4264 20 21 21 22 AA C4 59 59 59 59 DE C4 12 13 14 15 + .byte $10, $EE, $C4, $12, $13, $14, $15, $10, $FE, $C4, $12, $13, $14, $15, $11, $DE ; CPU:$C274 PRG:4274 10 EE C4 12 13 14 15 10 FE C4 12 13 14 15 11 DE + .byte $C4, $12, $13, $14, $15, $11, $B7, $C4, $D0, $D1, $D0, $D1, $B7, $C4, $D2, $D3 ; CPU:$C284 PRG:4284 C4 12 13 14 15 11 B7 C4 D0 D1 D0 D1 B7 C4 D2 D3 + .byte $D2, $D3, $C4, $C4, $D4, $D5, $D6, $D7, $2A, $00, $40, $D1, $C4, $D7, $D6, $D5 ; CPU:$C294 PRG:4294 D2 D3 C4 C4 D4 D5 D6 D7 2A 00 40 D1 C4 D7 D6 D5 + .byte $D4, $2C, $00, $40, $DE, $C4, $04, $05, $06, $07, $10, $DE, $C4, $08, $09, $0A ; CPU:$C2A4 PRG:42A4 D4 2C 00 40 DE C4 04 05 06 07 10 DE C4 08 09 0A + .byte $0B, $10, $DE, $C4, $0C, $0D, $0E, $0F, $10, $EE, $C4, $04, $05, $06, $07, $10 ; CPU:$C2B4 PRG:42B4 0B 10 DE C4 0C 0D 0E 0F 10 EE C4 04 05 06 07 10 + .byte $EE, $C4, $08, $09, $0A, $0B, $10, $EE, $C4, $0C, $0D, $0E, $0F, $10, $FE, $C4 ; CPU:$C2C4 PRG:42C4 EE C4 08 09 0A 0B 10 EE C4 0C 0D 0E 0F 10 FE C4 + .byte $04, $05, $06, $07, $11, $FE, $C4, $08, $09, $0A, $0B, $11, $FE, $C4, $0C, $0D ; CPU:$C2D4 PRG:42D4 04 05 06 07 11 FE C4 08 09 0A 0B 11 FE C4 0C 0D + .byte $0E, $0F, $11, $DE, $C4, $04, $05, $06, $07, $11, $DE, $C4, $08, $09, $0A, $0B ; CPU:$C2E4 PRG:42E4 0E 0F 11 DE C4 04 05 06 07 11 DE C4 08 09 0A 0B + .byte $11, $DE, $C4, $0C, $0D, $0E, $0F, $11, $11, $C5, $DA, $D9, $E0, $DC, $DB, $DF ; CPU:$C2F4 PRG:42F4 11 DE C4 0C 0D 0E 0F 11 11 C5 DA D9 E0 DC DB DF + .byte $3A, $00, $40, $27, $C5, $DF, $DB, $DC, $E0, $D9, $DA, $3C, $00, $40, $0E, $C5 ; CPU:$C304 PRG:4304 3A 00 40 27 C5 DF DB DC E0 D9 DA 3C 00 40 0E C5 + .byte $E1, $DA, $D9, $E0, $DC, $DB, $DF, $3E, $00, $40, $24, $C5, $E1, $DF, $DB, $DC ; CPU:$C314 PRG:4314 E1 DA D9 E0 DC DB DF 3E 00 40 24 C5 E1 DF DB DC + .byte $E0, $D9, $DA, $40, $00, $40, $3A, $C5, $E6, $E7, $E8, $E9, $EA, $EB, $42, $00 ; CPU:$C324 PRG:4324 E0 D9 DA 40 00 40 3A C5 E6 E7 E8 E9 EA EB 42 00 + .byte $40, $4D, $C5, $E2, $E3, $E2, $E3, $4D, $C5, $E4, $E5, $E4, $E5, $26, $C6, $90 ; CPU:$C334 PRG:4334 40 4D C5 E2 E3 E2 E3 4D C5 E4 E5 E4 E5 26 C6 90 + .byte $91, $92, $5A, $5A, $89, $89, $8A, $8A, $5C, $5C, $5A, $C5, $90, $91, $92, $80 ; CPU:$C344 PRG:4344 91 92 5A 5A 89 89 8A 8A 5C 5C 5A C5 90 91 92 80 + .byte $9A, $9D, $81, $9B, $82, $9C, $9F, $7C, $C5, $90, $91, $92, $80, $9A, $9D, $81 ; CPU:$C354 PRG:4354 9A 9D 81 9B 82 9C 9F 7C C5 90 91 92 80 9A 9D 81 + .byte $83, $82, $A2, $A5, $5A, $C5, $90, $91, $92, $80, $9A, $9D, $81, $85, $82, $A8 ; CPU:$C364 PRG:4364 83 82 A2 A5 5A C5 90 91 92 80 9A 9D 81 85 82 A8 + .byte $AB, $5A, $C5, $90, $91, $92, $80, $9A, $9D, $81, $87, $82, $AE, $B1, $C0, $C5 ; CPU:$C374 PRG:4374 AB 5A C5 90 91 92 80 9A 9D 81 87 82 AE B1 C0 C5 + .byte $90, $91, $92, $9D, $9A, $80, $81, $82, $9B, $9F, $9C, $E2, $C5, $90, $91, $92 ; CPU:$C384 PRG:4384 90 91 92 9D 9A 80 81 82 9B 9F 9C E2 C5 90 91 92 + .byte $9D, $9A, $80, $81, $82, $83, $A5, $A2, $C0, $C5, $90, $91, $92, $9D, $9A, $80 ; CPU:$C394 PRG:4394 9D 9A 80 81 82 83 A5 A2 C0 C5 90 91 92 9D 9A 80 + .byte $81, $82, $85, $AB, $A8, $04, $C6, $90, $91, $92, $9D, $9A, $80, $81, $82, $87 ; CPU:$C3A4 PRG:43A4 81 82 85 AB A8 04 C6 90 91 92 9D 9A 80 81 82 87 + .byte $B1, $AE, $26, $C6, $90, $91, $92, $5A, $5A, $89, $89, $8A, $8A, $5C, $5C, $48 ; CPU:$C3B4 PRG:43B4 B1 AE 26 C6 90 91 92 5A 5A 89 89 8A 8A 5C 5C 48 + .byte $C6, $90, $91, $92, $76, $76, $89, $89, $8B, $8B, $78, $78, $6A, $C6, $90, $91 ; CPU:$C3C4 PRG:43C4 C6 90 91 92 76 76 89 89 8B 8B 78 78 6A C6 90 91 + .byte $92, $7C, $7C, $89, $89, $8C, $8C, $7E, $7E, $6A, $C6, $90, $91, $92, $7C, $7C ; CPU:$C3D4 PRG:43D4 92 7C 7C 89 89 8C 8C 7E 7E 6A C6 90 91 92 7C 7C + .byte $89, $89, $8C, $8C, $CC, $CC, $26, $C6, $90, $91, $92, $B2, $B2, $89, $89, $8D ; CPU:$C3E4 PRG:43E4 89 89 8C 8C CC CC 26 C6 90 91 92 B2 B2 89 89 8D + .byte $8D, $B4, $B4, $48, $C6, $90, $91, $92, $B8, $B8, $89, $89, $8E, $8E, $BA, $BA ; CPU:$C3F4 PRG:43F4 8D B4 B4 48 C6 90 91 92 B8 B8 89 89 8E 8E BA BA + .byte $26, $C6, $90, $91, $92, $B2, $B2, $89, $89, $8D, $8D, $C0, $C0, $26, $C6, $90 ; CPU:$C404 PRG:4404 26 C6 90 91 92 B2 B2 89 89 8D 8D C0 C0 26 C6 90 + .byte $91, $92, $B2, $B2, $89, $89, $8D, $8D, $C6, $C6, $00, $EA, $F8, $00, $F2, $F8 ; CPU:$C414 PRG:4414 91 92 B2 B2 89 89 8D 8D C6 C6 00 EA F8 00 F2 F8 + .byte $00, $FA, $F8, $40, $EA, $FF, $40, $F2, $FF, $40, $FA, $FF, $10, $00, $EA, $F8 ; CPU:$C424 PRG:4424 00 FA F8 40 EA FF 40 F2 FF 40 FA FF 10 00 EA F8 + .byte $00, $F2, $F8, $00, $FA, $F8, $00, $EA, $00, $00, $F2, $00, $00, $FA, $00, $10 ; CPU:$C434 PRG:4434 00 F2 F8 00 FA F8 00 EA 00 00 F2 00 00 FA 00 10 + .byte $00, $ED, $F8, $00, $F5, $F8, $00, $FD, $F8, $00, $ED, $00, $00, $F5, $00, $00 ; CPU:$C444 PRG:4444 00 ED F8 00 F5 F8 00 FD F8 00 ED 00 00 F5 00 00 + .byte $FD, $00, $10, $00, $EB, $F8, $00, $F3, $F8, $00, $FB, $F8, $00, $EB, $00, $00 ; CPU:$C454 PRG:4454 FD 00 10 00 EB F8 00 F3 F8 00 FB F8 00 EB 00 00 + .byte $F3, $00, $00, $FB, $00, $10, $00, $F8, $F0, $00, $F8, $F8, $00, $F8, $00, $00 ; CPU:$C464 PRG:4464 F3 00 00 FB 00 10 00 F8 F0 00 F8 F8 00 F8 00 00 + .byte $F8, $08, $00, $00, $F0, $00, $00, $F8, $00, $00, $00, $00, $00, $08, $00, $08 ; CPU:$C474 PRG:4474 F8 08 00 00 F0 00 00 F8 00 00 00 00 00 08 00 08 + .byte $F0, $00, $08, $F8, $00, $08, $00, $00, $08, $08, $10, $20, $10, $F0, $20, $10 ; CPU:$C484 PRG:4484 F0 00 08 F8 00 08 00 00 08 08 10 20 10 F0 20 10 + .byte $F8, $20, $10, $00, $20, $10, $08, $10, $60, $10, $F0, $20, $10, $F8, $20, $10 ; CPU:$C494 PRG:4494 F8 20 10 00 20 10 08 10 60 10 F0 20 10 F8 20 10 + .byte $00, $20, $10, $08, $10, $14, $00, $F8, $F0, $00, $F8, $F8, $00, $F8, $00, $00 ; CPU:$C4A4 PRG:44A4 00 20 10 08 10 14 00 F8 F0 00 F8 F8 00 F8 00 00 + .byte $F8, $08, $10, $00, $F4, $F8, $00, $FC, $F8, $40, $F4, $00, $40, $FC, $00, $10 ; CPU:$C4B4 PRG:44B4 F8 08 10 00 F4 F8 00 FC F8 40 F4 00 40 FC 00 10 + .byte $00, $F4, $F8, $00, $FC, $F8, $00, $F4, $00, $00, $FC, $00, $10, $C0, $F4, $F8 ; CPU:$C4C4 PRG:44C4 00 F4 F8 00 FC F8 00 F4 00 00 FC 00 10 C0 F4 F8 + .byte $C0, $FC, $F8, $C0, $F4, $00, $C0, $FC, $00, $10, $00, $F8, $F8, $00, $F8, $00 ; CPU:$C4D4 PRG:44D4 C0 FC F8 C0 F4 00 C0 FC 00 10 00 F8 F8 00 F8 00 + .byte $00, $00, $F8, $00, $00, $00, $03, $FC, $FC, $10, $00, $F8, $F8, $00, $F8, $00 ; CPU:$C4E4 PRG:44E4 00 00 F8 00 00 00 03 FC FC 10 00 F8 F8 00 F8 00 + .byte $00, $00, $F8, $00, $00, $00, $43, $FC, $FC, $10, $00, $F8, $F8, $00, $F8, $00 ; CPU:$C4F4 PRG:44F4 00 00 F8 00 00 00 43 FC FC 10 00 F8 F8 00 F8 00 + .byte $00, $00, $F8, $00, $00, $00, $83, $FC, $FC, $10, $00, $EB, $FF, $00, $E8, $FA ; CPU:$C504 PRG:4504 00 00 F8 00 00 00 83 FC FC 10 00 EB FF 00 E8 FA + .byte $00, $E8, $02, $00, $F0, $F2, $00, $F0, $FA, $00, $F0, $02, $00, $F8, $FA, $10 ; CPU:$C514 PRG:4514 00 E8 02 00 F0 F2 00 F0 FA 00 F0 02 00 F8 FA 10 + .byte $C0, $F1, $FB, $C0, $E4, $FE, $C0, $EC, $F6, $C0, $EC, $FE, $C0, $EC, $06, $C0 ; CPU:$C524 PRG:4524 C0 F1 FB C0 E4 FE C0 EC F6 C0 EC FE C0 EC 06 C0 + .byte $F4, $F6, $C0, $F4, $FE, $10, $00, $F2, $F8, $00, $FA, $F8, $00, $F2, $00, $00 ; CPU:$C534 PRG:4534 F4 F6 C0 F4 FE 10 00 F2 F8 00 FA F8 00 F2 00 00 + .byte $FA, $00, $00, $F2, $08, $00, $FA, $08, $10, $00, $F2, $F8, $00, $FA, $F8, $40 ; CPU:$C544 PRG:4544 FA 00 00 F2 08 00 FA 08 10 00 F2 F8 00 FA F8 40 + .byte $F2, $00, $40, $FA, $00, $10, $00, $E2, $F5, $00, $E2, $FD, $00, $E2, $05, $00 ; CPU:$C554 PRG:4554 F2 00 40 FA 00 10 00 E2 F5 00 E2 FD 00 E2 05 00 + .byte $EA, $F3, $00, $EA, $F8, $00, $EA, $00, $00, $ED, $08, $00, $F2, $F8, $00, $F2 ; CPU:$C564 PRG:4564 EA F3 00 EA F8 00 EA 00 00 ED 08 00 F2 F8 00 F2 + .byte $00, $00, $FA, $F8, $00, $FA, $00, $10, $00, $E5, $F5, $00, $E5, $FD, $00, $E5 ; CPU:$C574 PRG:4574 00 00 FA F8 00 FA 00 10 00 E5 F5 00 E5 FD 00 E5 + .byte $05, $00, $ED, $F3, $00, $ED, $F8, $00, $ED, $00, $00, $F0, $08, $00, $F5, $F8 ; CPU:$C584 PRG:4584 05 00 ED F3 00 ED F8 00 ED 00 00 F0 08 00 F5 F8 + .byte $00, $F5, $00, $00, $FD, $F8, $00, $FD, $00, $10, $00, $E3, $F5, $00, $E3, $FD ; CPU:$C594 PRG:4594 00 F5 00 00 FD F8 00 FD 00 10 00 E3 F5 00 E3 FD + .byte $00, $E3, $05, $00, $EB, $F3, $00, $EB, $F8, $00, $EB, $00, $00, $EE, $08, $00 ; CPU:$C5A4 PRG:45A4 00 E3 05 00 EB F3 00 EB F8 00 EB 00 00 EE 08 00 + .byte $F3, $F8, $00, $F3, $00, $00, $FB, $F8, $00, $FB, $00, $10, $00, $E2, $F3, $00 ; CPU:$C5B4 PRG:45B4 F3 F8 00 F3 00 00 FB F8 00 FB 00 10 00 E2 F3 00 + .byte $E2, $FB, $00, $E2, $03, $40, $EA, $F8, $40, $EA, $00, $40, $EA, $05, $40, $ED ; CPU:$C5C4 PRG:45C4 E2 FB 00 E2 03 40 EA F8 40 EA 00 40 EA 05 40 ED + .byte $F0, $40, $F2, $F8, $40, $F2, $00, $40, $FA, $F8, $40, $FA, $00, $10, $00, $E5 ; CPU:$C5D4 PRG:45D4 F0 40 F2 F8 40 F2 00 40 FA F8 40 FA 00 10 00 E5 + .byte $F3, $00, $E5, $FB, $00, $E5, $03, $40, $ED, $F8, $40, $ED, $00, $40, $ED, $05 ; CPU:$C5E4 PRG:45E4 F3 00 E5 FB 00 E5 03 40 ED F8 40 ED 00 40 ED 05 + .byte $40, $F0, $F0, $40, $F5, $F8, $40, $F5, $00, $40, $FD, $F8, $40, $FD, $00, $10 ; CPU:$C5F4 PRG:45F4 40 F0 F0 40 F5 F8 40 F5 00 40 FD F8 40 FD 00 10 + .byte $00, $E3, $F3, $00, $E3, $FB, $00, $E3, $03, $40, $EB, $F8, $40, $EB, $00, $40 ; CPU:$C604 PRG:4604 00 E3 F3 00 E3 FB 00 E3 03 40 EB F8 40 EB 00 40 + .byte $EB, $05, $40, $EE, $F0, $40, $F3, $F8, $40, $F3, $00, $40, $FB, $F8, $40, $FB ; CPU:$C614 PRG:4614 EB 05 40 EE F0 40 F3 F8 40 F3 00 40 FB F8 40 FB + .byte $00, $10, $00, $E2, $F4, $00, $E2, $FC, $00, $E2, $04, $00, $EA, $F8, $40, $EA ; CPU:$C624 PRG:4624 00 10 00 E2 F4 00 E2 FC 00 E2 04 00 EA F8 40 EA + .byte $FF, $00, $EC, $F1, $40, $EC, $06, $00, $F2, $F8, $40, $F2, $FF, $00, $FA, $F8 ; CPU:$C634 PRG:4634 FF 00 EC F1 40 EC 06 00 F2 F8 40 F2 FF 00 FA F8 + .byte $40, $FA, $FF, $10, $00, $E5, $F4, $00, $E5, $FC, $00, $E5, $04, $00, $EA, $F8 ; CPU:$C644 PRG:4644 40 FA FF 10 00 E5 F4 00 E5 FC 00 E5 04 00 EA F8 + .byte $40, $EA, $FF, $00, $EF, $F1, $40, $EF, $06, $00, $F2, $F8, $40, $F2, $FF, $00 ; CPU:$C654 PRG:4654 40 EA FF 00 EF F1 40 EF 06 00 F2 F8 40 F2 FF 00 + .byte $FA, $F8, $40, $FA, $FF, $10, $00, $E3, $F4, $00, $E3, $FC, $00, $E3, $04, $00 ; CPU:$C664 PRG:4664 FA F8 40 FA FF 10 00 E3 F4 00 E3 FC 00 E3 04 00 + .byte $EA, $F8, $40, $EA, $FF, $00, $ED, $F1, $40, $ED, $06, $00, $F2, $F8, $40, $F2 ; CPU:$C674 PRG:4674 EA F8 40 EA FF 00 ED F1 40 ED 06 00 F2 F8 40 F2 + .byte $FF, $00, $FA, $F8, $40, $FA, $FF, $10, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C684 PRG:4684 FF 00 FA F8 40 FA FF 10 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:$C694 PRG:4694 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:$C6A4 PRG:46A4 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:$C6B4 PRG:46B4 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:$C6C4 PRG:46C4 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:$C6D4 PRG:46D4 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:$C6E4 PRG:46E4 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:$C6F4 PRG:46F4 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:$C704 PRG:4704 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:$C714 PRG:4714 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:$C724 PRG:4724 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:$C734 PRG:4734 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:$C744 PRG:4744 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:$C754 PRG:4754 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:$C764 PRG:4764 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:$C774 PRG:4774 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:$C784 PRG:4784 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:$C794 PRG:4794 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:$C7A4 PRG:47A4 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:$C7B4 PRG:47B4 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:$C7C4 PRG:47C4 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:$C7D4 PRG:47D4 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:$C7E4 PRG:47E4 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:$C7F4 PRG:47F4 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:$C804 PRG:4804 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:$C814 PRG:4814 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:$C824 PRG:4824 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:$C834 PRG:4834 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:$C844 PRG:4844 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:$C854 PRG:4854 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:$C864 PRG:4864 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:$C874 PRG:4874 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:$C884 PRG:4884 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:$C894 PRG:4894 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:$C8A4 PRG:48A4 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:$C8B4 PRG:48B4 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:$C8C4 PRG:48C4 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:$C8D4 PRG:48D4 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:$C8E4 PRG:48E4 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:$C8F4 PRG:48F4 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:$C904 PRG:4904 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:$C914 PRG:4914 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:$C924 PRG:4924 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:$C934 PRG:4934 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:$C944 PRG:4944 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:$C954 PRG:4954 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:$C964 PRG:4964 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:$C974 PRG:4974 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:$C984 PRG:4984 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:$C994 PRG:4994 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:$C9A4 PRG:49A4 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:$C9B4 PRG:49B4 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:$C9C4 PRG:49C4 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:$C9D4 PRG:49D4 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:$C9E4 PRG:49E4 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:$C9F4 PRG:49F4 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:$CA04 PRG:4A04 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:$CA14 PRG:4A14 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:$CA24 PRG:4A24 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:$CA34 PRG:4A34 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:$CA44 PRG:4A44 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:$CA54 PRG:4A54 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:$CA64 PRG:4A64 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:$CA74 PRG:4A74 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:$CA84 PRG:4A84 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:$CA94 PRG:4A94 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:$CAA4 PRG:4AA4 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:$CAB4 PRG:4AB4 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:$CAC4 PRG:4AC4 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:$CAD4 PRG:4AD4 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:$CAE4 PRG:4AE4 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:$CAF4 PRG:4AF4 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:$CB04 PRG:4B04 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:$CB14 PRG:4B14 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:$CB24 PRG:4B24 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:$CB34 PRG:4B34 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:$CB44 PRG:4B44 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:$CB54 PRG:4B54 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:$CB64 PRG:4B64 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:$CB74 PRG:4B74 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:$CB84 PRG:4B84 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:$CB94 PRG:4B94 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:$CBA4 PRG:4BA4 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:$CBB4 PRG:4BB4 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:$CBC4 PRG:4BC4 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:$CBD4 PRG:4BD4 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:$CBE4 PRG:4BE4 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:$CBF4 PRG:4BF4 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:$CC04 PRG:4C04 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:$CC14 PRG:4C14 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:$CC24 PRG:4C24 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:$CC34 PRG:4C34 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:$CC44 PRG:4C44 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:$CC54 PRG:4C54 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:$CC64 PRG:4C64 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:$CC74 PRG:4C74 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:$CC84 PRG:4C84 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:$CC94 PRG:4C94 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:$CCA4 PRG:4CA4 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:$CCB4 PRG:4CB4 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:$CCC4 PRG:4CC4 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:$CCD4 PRG:4CD4 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:$CCE4 PRG:4CE4 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:$CCF4 PRG:4CF4 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:$CD04 PRG:4D04 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:$CD14 PRG:4D14 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:$CD24 PRG:4D24 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:$CD34 PRG:4D34 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:$CD44 PRG:4D44 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:$CD54 PRG:4D54 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:$CD64 PRG:4D64 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:$CD74 PRG:4D74 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:$CD84 PRG:4D84 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:$CD94 PRG:4D94 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:$CDA4 PRG:4DA4 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:$CDB4 PRG:4DB4 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:$CDC4 PRG:4DC4 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:$CDD4 PRG:4DD4 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:$CDE4 PRG:4DE4 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:$CDF4 PRG:4DF4 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:$CE04 PRG:4E04 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:$CE14 PRG:4E14 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:$CE24 PRG:4E24 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:$CE34 PRG:4E34 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:$CE44 PRG:4E44 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:$CE54 PRG:4E54 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:$CE64 PRG:4E64 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:$CE74 PRG:4E74 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:$CE84 PRG:4E84 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:$CE94 PRG:4E94 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:$CEA4 PRG:4EA4 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:$CEB4 PRG:4EB4 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:$CEC4 PRG:4EC4 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:$CED4 PRG:4ED4 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:$CEE4 PRG:4EE4 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:$CEF4 PRG:4EF4 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:$CF04 PRG:4F04 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:$CF14 PRG:4F14 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:$CF24 PRG:4F24 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:$CF34 PRG:4F34 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:$CF44 PRG:4F44 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:$CF54 PRG:4F54 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:$CF64 PRG:4F64 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:$CF74 PRG:4F74 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:$CF84 PRG:4F84 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:$CF94 PRG:4F94 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:$CFA4 PRG:4FA4 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:$CFB4 PRG:4FB4 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:$CFC4 PRG:4FC4 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:$CFD4 PRG:4FD4 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:$CFE4 PRG:4FE4 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, $55, $55, $55, $55 ; CPU:$CFF4 PRG:4FF4 FF FF FF FF FF FF FF FF FF FF FF FF 55 55 55 55 + .byte $55, $55, $55, $55, $55, $AA, $40, $FF, $7F, $00, $D4, $00, $FC, $FF, $0F, $00 ; CPU:$D004 PRG:5004 55 55 55 55 55 AA 40 FF 7F 00 D4 00 FC FF 0F 00 + .byte $50, $26, $00, $FF, $FF, $FF, $02, $8A, $D8, $FF, $FF, $00, $00, $F4, $DA, $5D ; CPU:$D014 PRG:5014 50 26 00 FF FF FF 02 8A D8 FF FF 00 00 F4 DA 5D + .byte $01, $00, $FC, $FF, $8B, $00, $E2, $FF, $7F, $00, $52, $89, $FF, $FF, $02, $00 ; CPU:$D024 PRG:5024 01 00 FC FF 8B 00 E2 FF 7F 00 52 89 FF FF 02 00 + .byte $5D, $0A, $00, $00, $FC, $FF, $FF, $03, $80, $7D, $FF, $FF, $03, $00, $F0, $FF ; CPU:$D034 PRG:5034 5D 0A 00 00 FC FF FF 03 80 7D FF FF 03 00 F0 FF + .byte $77, $00, $00, $E0, $FF, $FF, $09, $00, $D0, $FF, $0F, $E8, $57, $80, $F6, $7F ; CPU:$D044 PRG:5044 77 00 00 E0 FF FF 09 00 D0 FF 0F E8 57 80 F6 7F + .byte $00, $00, $00, $FC, $FF, $FF, $03, $00, $F0, $FF, $FF, $03, $00, $F0, $FF, $7F ; CPU:$D054 PRG:5054 00 00 00 FC FF FF 03 00 F0 FF FF 03 00 F0 FF 7F + .byte $00, $00, $C0, $FF, $FF, $03, $00, $F0, $FF, $3F, $00, $B7, $A5, $DA, $2D, $01 ; CPU:$D064 PRG:5064 00 00 C0 FF FF 03 00 F0 FF 3F 00 B7 A5 DA 2D 01 + .byte $00, $00, $FC, $FF, $FF, $03, $00, $FC, $FF, $FF, $03, $00, $F0, $FF, $BF, $00 ; CPU:$D074 PRG:5074 00 00 FC FF FF 03 00 FC FF FF 03 00 F0 FF BF 00 + .byte $00, $C0, $FF, $FF, $00, $00, $F8, $FF, $3F, $00, $FE, $35, $B5, $02, $00, $00 ; CPU:$D084 PRG:5084 00 C0 FF FF 00 00 F8 FF 3F 00 FE 35 B5 02 00 00 + .byte $C0, $FF, $FF, $3F, $00, $E0, $FF, $FF, $3F, $00, $00, $FE, $FF, $03, $00, $00 ; CPU:$D094 PRG:5094 C0 FF FF 3F 00 E0 FF FF 3F 00 00 FE FF 03 00 00 + .byte $FC, $FF, $3F, $00, $C0, $FF, $FF, $03, $80, $FF, $2F, $00, $00, $00, $40, $FF ; CPU:$D0A4 PRG:50A4 FC FF 3F 00 C0 FF FF 03 80 FF 2F 00 00 00 40 FF + .byte $FF, $FF, $00, $40, $FF, $FF, $FF, $03, $00, $F0, $FF, $02, $00, $00, $F0, $FF ; CPU:$D0B4 PRG:50B4 FF FF 00 40 FF FF FF 03 00 F0 FF 02 00 00 F0 FF + .byte $FF, $02, $40, $FF, $FF, $0F, $00, $FC, $FF, $02, $00, $00, $00, $FF, $FF, $FF ; CPU:$D0C4 PRG:50C4 FF 02 40 FF FF 0F 00 FC FF 02 00 00 00 FF FF FF + .byte $03, $00, $FC, $FF, $FF, $03, $00, $C0, $FF, $43, $00, $00, $F0, $FF, $FF, $02 ; CPU:$D0D4 PRG:50D4 03 00 FC FF FF 03 00 C0 FF 43 00 00 F0 FF FF 02 + .byte $C0, $FF, $FF, $0B, $00, $FC, $FF, $00, $00, $00, $80, $FF, $FF, $FF, $00, $80 ; CPU:$D0E4 PRG:50E4 C0 FF FF 0B 00 FC FF 00 00 00 80 FF FF FF 00 80 + .byte $FF, $FF, $FF, $03, $0C, $F0, $1F, $80, $00, $00, $F0, $FF, $FF, $00, $E0, $FF ; CPU:$D0F4 PRG:50F4 FF FF FF 03 0C F0 1F 80 00 00 F0 FF FF 00 E0 FF + .byte $FF, $03, $00, $FC, $FF, $02, $00, $00, $E0, $FF, $FF, $0F, $00, $F0, $FF, $FF ; CPU:$D104 PRG:5104 FF 03 00 FC FF 02 00 00 E0 FF FF 0F 00 F0 FF FF + .byte $3F, $C0, $00, $FC, $2F, $08, $00, $00, $FC, $FF, $3F, $00, $FC, $FF, $FF, $00 ; CPU:$D114 PRG:5114 3F C0 00 FC 2F 08 00 00 FC FF 3F 00 FC FF FF 00 + .byte $00, $FF, $8F, $00, $00, $00, $FF, $FF, $FF, $00, $00, $FF, $FF, $FF, $03, $00 ; CPU:$D124 PRG:5124 00 FF 8F 00 00 00 FF FF FF 00 00 FF FF FF 03 00 + .byte $F0, $FF, $00, $00, $00, $C0, $FF, $FF, $03, $C0, $FF, $FF, $3F, $00, $C0, $FF ; CPU:$D134 PRG:5134 F0 FF 00 00 00 C0 FF FF 03 C0 FF FF 3F 00 C0 FF + .byte $0F, $00, $00, $00, $FC, $FF, $FF, $03, $00, $FC, $FF, $FF, $03, $00, $F0, $FF ; CPU:$D144 PRG:5144 0F 00 00 00 FC FF FF 03 00 FC FF FF 03 00 F0 FF + .byte $B2, $0A, $00, $80, $FF, $FF, $03, $A4, $68, $FF, $BF, $08, $C0, $7F, $09, $20 ; CPU:$D154 PRG:5154 B2 0A 00 80 FF FF 03 A4 68 FF BF 08 C0 7F 09 20 + .byte $95, $00, $00, $FE, $FF, $FF, $03, $00, $C0, $FF, $FF, $2F, $00, $00, $FF, $FF ; CPU:$D164 PRG:5164 95 00 00 FE FF FF 03 00 C0 FF FF 2F 00 00 FF FF + .byte $FF, $00, $00, $F0, $FF, $7F, $09, $00, $00, $FF, $FF, $0F, $00, $22, $DD, $FD ; CPU:$D174 PRG:5174 FF 00 00 F0 FF 7F 09 00 00 FF FF 0F 00 22 DD FD + .byte $3F, $00, $00, $C0, $FF, $FF, $0F, $00, $00, $FE, $FF, $3F, $00, $00, $FE, $FF ; CPU:$D184 PRG:5184 3F 00 00 C0 FF FF 0F 00 00 FE FF 3F 00 00 FE FF + .byte $FF, $03, $00, $C0, $FF, $0F, $88, $A2, $6A, $DF, $8D, $52, $55, $92, $DA, $D7 ; CPU:$D194 PRG:5194 FF 03 00 C0 FF 0F 88 A2 6A DF 8D 52 55 92 DA D7 + .byte $54, $A5, $00, $00, $00, $FF, $FF, $FF, $00, $00, $E0, $FF, $FF, $2F, $00, $00 ; CPU:$D1A4 PRG:51A4 54 A5 00 00 00 FF FF FF 00 00 E0 FF FF 2F 00 00 + .byte $FC, $FF, $FF, $03, $00, $C0, $FF, $FF, $77, $00, $00, $F0, $7F, $75, $7F, $05 ; CPU:$D1B4 PRG:51B4 FC FF FF 03 00 C0 FF FF 77 00 00 F0 7F 75 7F 05 + .byte $00, $D0, $FF, $6A, $AD, $08, $00, $00, $FC, $FF, $FF, $3F, $00, $00, $C0, $FF ; CPU:$D1C4 PRG:51C4 00 D0 FF 6A AD 08 00 00 FC FF FF 3F 00 00 C0 FF + .byte $FF, $3F, $00, $00, $00, $FD, $FF, $FF, $9F, $00, $00, $C0, $FF, $7F, $2A, $AB ; CPU:$D1D4 PRG:51D4 FF 3F 00 00 00 FD FF FF 9F 00 00 C0 FF 7F 2A AB + .byte $52, $59, $B5, $88, $A8, $76, $77, $25, $22, $52, $D5, $DD, $B5, $AA, $24, $A2 ; CPU:$D1E4 PRG:51E4 52 59 B5 88 A8 76 77 25 22 52 D5 DD B5 AA 24 A2 + .byte $6A, $5B, $8A, $54, $B5, $B5, $6A, $AD, $A5, $AA, $B6, $B5, $A4, $54, $55, $2A ; CPU:$D1F4 PRG:51F4 6A 5B 8A 54 B5 B5 6A AD A5 AA B6 B5 A4 54 55 2A + .byte $95, $AA, $A4, $52, $55, $AD, $AA, $56, $55, $AB, $56, $AB, $AA, $5A, $D7, $8A ; CPU:$D204 PRG:5204 95 AA A4 52 55 AD AA 56 55 AB 56 AB AA 5A D7 8A + .byte $48, $AA, $D6, $D5, $4A, $22, $48, $DA, $7D, $57, $29, $49, $AA, $DA, $DD, $A6 ; CPU:$D214 PRG:5214 48 AA D6 D5 4A 22 48 DA 7D 57 29 49 AA DA DD A6 + .byte $A2, $28, $55, $AB, $75, $35, $25, $8A, $AA, $B5, $AD, $95, $4A, $2A, $55, $6D ; CPU:$D224 PRG:5224 A2 28 55 AB 75 35 25 8A AA B5 AD 95 4A 2A 55 6D + .byte $AD, $2A, $A9, $AA, $B5, $AA, $4A, $A9, $2A, $AB, $56, $55, $55, $55, $55, $A5 ; CPU:$D234 PRG:5234 AD 2A A9 AA B5 AA 4A A9 2A AB 56 55 55 55 55 A5 + .byte $AA, $AA, $56, $D5, $4A, $95, $AA, $AA, $AA, $55, $AB, $AA, $54, $A5, $AA, $5A ; CPU:$D244 PRG:5244 AA AA 56 D5 4A 95 AA AA AA 55 AB AA 54 A5 AA 5A + .byte $55, $A5, $AA, $6A, $55, $55, $55, $95, $55, $55, $55, $AA, $AA, $FF, $FF, $FF ; CPU:$D254 PRG:5254 55 A5 AA 6A 55 55 55 95 55 55 55 AA AA FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$D264 PRG:5264 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, $55, $55, $55, $55 ; CPU:$D274 PRG:5274 FF FF FF FF FF FF FF FF FF FF FF FF 55 55 55 55 + .byte $55, $55, $6A, $4D, $55, $25, $DB, $D8, $45, $17, $56, $29, $53, $AD, $B4, $AD ; CPU:$D284 PRG:5284 55 55 6A 4D 55 25 DB D8 45 17 56 29 53 AD B4 AD + .byte $54, $25, $55, $37, $74, $57, $5D, $8A, $48, $2B, $D8, $95, $B6, $B5, $56, $97 ; CPU:$D294 PRG:5294 54 25 55 37 74 57 5D 8A 48 2B D8 95 B6 B5 56 97 + .byte $54, $13, $96, $4A, $55, $AD, $D4, $A6, $5A, $AA, $56, $95, $DA, $4A, $9D, $A2 ; CPU:$D2A4 PRG:52A4 54 13 96 4A 55 AD D4 A6 5A AA 56 95 DA 4A 9D A2 + .byte $AA, $92, $A8, $5E, $DD, $77, $5B, $2B, $82, $08, $88, $52, $B5, $FD, $75, $AD ; CPU:$D2B4 PRG:52B4 AA 92 A8 5E DD 77 5B 2B 82 08 88 52 B5 FD 75 AD + .byte $4A, $4A, $A2, $CC, $6C, $D5, $75, $57, $55, $93, $28, $29, $CA, $5D, $D5, $22 ; CPU:$D2C4 PRG:52C4 4A 4A A2 CC 6C D5 75 57 55 93 28 29 CA 5D D5 22 + .byte $20, $E0, $7F, $FF, $FF, $FF, $01, $00, $00, $00, $F6, $FD, $FF, $57, $01, $00 ; CPU:$D2D4 PRG:52D4 20 E0 7F FF FF FF 01 00 00 00 F6 FD FF 57 01 00 + .byte $00, $F0, $FF, $FF, $FF, $21, $02, $00, $60, $EF, $FF, $FF, $07, $00, $00, $58 ; CPU:$D2E4 PRG:52E4 00 F0 FF FF FF 21 02 00 60 EF FF FF 07 00 00 58 + .byte $6B, $A5, $0E, $F0, $FF, $FF, $FF, $80, $02, $00, $28, $F8, $FF, $FF, $03, $00 ; CPU:$D2F4 PRG:52F4 6B A5 0E F0 FF FF FF 80 02 00 28 F8 FF FF 03 00 + .byte $00, $C0, $FF, $FF, $FF, $01, $09, $00, $A6, $FB, $FF, $EF, $0A, $80, $80, $DA ; CPU:$D304 PRG:5304 00 C0 FF FF FF 01 09 00 A6 FB FF EF 0A 80 80 DA + .byte $A6, $FE, $07, $00, $01, $C0, $FF, $FF, $FF, $FF, $00, $00, $00, $F8, $FF, $FF ; CPU:$D314 PRG:5314 A6 FE 07 00 01 C0 FF FF FF FF 00 00 00 F8 FF FF + .byte $0F, $00, $00, $C0, $FF, $FF, $3F, $00, $00, $80, $FF, $FF, $FF, $22, $00, $80 ; CPU:$D324 PRG:5324 0F 00 00 C0 FF FF 3F 00 00 80 FF FF FF 22 00 80 + .byte $4F, $FF, $25, $F7, $00, $00, $00, $FC, $FF, $FF, $FF, $00, $00, $80, $FF, $FF ; CPU:$D334 PRG:5334 4F FF 25 F7 00 00 00 FC FF FF FF 00 00 80 FF FF + .byte $FF, $03, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, $FF, $FF, $FF, $03, $80 ; CPU:$D344 PRG:5344 FF 03 00 00 00 FF FF FF 00 00 00 FF FF FF 03 80 + .byte $80, $FF, $E1, $2F, $90, $00, $00, $F0, $FF, $FF, $FF, $03, $00, $80, $FF, $FF ; CPU:$D354 PRG:5354 80 FF E1 2F 90 00 00 F0 FF FF FF 03 00 80 FF FF + .byte $3F, $00, $00, $80, $FF, $FF, $0F, $00, $80, $FF, $FF, $0B, $82, $5A, $DD, $5F ; CPU:$D364 PRG:5364 3F 00 00 80 FF FF 0F 00 80 FF FF 0B 82 5A DD 5F + .byte $82, $00, $7A, $AF, $02, $00, $C0, $FF, $FF, $FF, $00, $00, $F8, $FF, $FF, $03 ; CPU:$D374 PRG:5374 82 00 7A AF 02 00 C0 FF FF FF 00 00 F8 FF FF 03 + .byte $00, $C0, $FE, $FF, $00, $00, $40, $FF, $FF, $1F, $00, $FC, $FF, $9F, $00, $00 ; CPU:$D384 PRG:5384 00 C0 FE FF 00 00 40 FF FF 1F 00 FC FF 9F 00 00 + .byte $F8, $FF, $00, $00, $00, $FF, $FF, $FF, $03, $00, $D8, $FF, $FF, $0B, $00, $40 ; CPU:$D394 PRG:5394 F8 FF 00 00 00 FF FF FF 03 00 D8 FF FF 0B 00 40 + .byte $FF, $FF, $02, $00, $00, $FF, $FF, $0D, $00, $F6, $FF, $2F, $80, $90, $FD, $0F ; CPU:$D3A4 PRG:53A4 FF FF 02 00 00 FF FF 0D 00 F6 FF 2F 80 90 FD 0F + .byte $02, $00, $C0, $FF, $FF, $3F, $00, $00, $FF, $FF, $BF, $00, $00, $F8, $FF, $0F ; CPU:$D3B4 PRG:53B4 02 00 C0 FF FF 3F 00 00 FF FF BF 00 00 F8 FF 0F + .byte $00, $00, $FC, $FF, $8B, $00, $F0, $FF, $FF, $03, $00, $E0, $FF, $0F, $00, $00 ; CPU:$D3C4 PRG:53C4 00 00 FC FF 8B 00 F0 FF FF 03 00 E0 FF 0F 00 00 + .byte $FF, $FF, $3F, $00, $00, $FE, $FF, $2F, $00, $00, $FD, $FF, $2F, $00, $00, $F8 ; CPU:$D3D4 PRG:53D4 FF FF 3F 00 00 FE FF 2F 00 00 FD FF 2F 00 00 F8 + .byte $FF, $07, $00, $D0, $FF, $FF, $1F, $00, $C0, $FF, $0F, $00, $00, $FF, $FF, $3F ; CPU:$D3E4 PRG:53E4 FF 07 00 D0 FF FF 1F 00 C0 FF 0F 00 00 FF FF 3F + .byte $00, $00, $FF, $FF, $0B, $00, $00, $FF, $FF, $2F, $00, $00, $F8, $FF, $43, $03 ; CPU:$D3F4 PRG:53F4 00 00 FF FF 0B 00 00 FF FF 2F 00 00 F8 FF 43 03 + .byte $C0, $FF, $FF, $0F, $00, $3C, $FA, $0B, $00, $C0, $FF, $FF, $0F, $00, $A0, $FF ; CPU:$D404 PRG:5404 C0 FF FF 0F 00 3C FA 0B 00 C0 FF FF 0F 00 A0 FF + .byte $FF, $01, $00, $80, $FF, $FF, $0F, $00, $00, $FD, $FF, $50, $09, $E0, $FF, $FF ; CPU:$D414 PRG:5414 FF 01 00 80 FF FF 0F 00 00 FD FF 50 09 E0 FF FF + .byte $03, $48, $17, $F8, $01, $00, $F0, $FF, $FF, $03, $00, $FC, $FF, $2F, $00, $00 ; CPU:$D424 PRG:5424 03 48 17 F8 01 00 F0 FF FF 03 00 FC FF 2F 00 00 + .byte $7C, $FF, $FF, $00, $00, $C2, $F7, $0F, $F6, $00, $F6, $5F, $FF, $00, $7E, $02 ; CPU:$D434 PRG:5434 7C FF FF 00 00 C2 F7 0F F6 00 F6 5F FF 00 7E 02 + .byte $3F, $00, $00, $FF, $FF, $3F, $00, $40, $FF, $FF, $00, $00, $B4, $FF, $FB, $03 ; CPU:$D444 PRG:5444 3F 00 00 FF FF 3F 00 40 FF FF 00 00 B4 FF FB 03 + .byte $00, $8C, $DC, $9F, $68, $0F, $E0, $7F, $FD, $0B, $D8, $03, $F8, $00, $00, $FC ; CPU:$D454 PRG:5454 00 8C DC 9F 68 0F E0 7F FD 0B D8 03 F8 00 00 FC + .byte $FF, $FF, $00, $80, $FA, $FF, $03, $00, $C0, $FF, $CF, $3F, $00, $F0, $C2, $BF ; CPU:$D464 PRG:5464 FF FF 00 80 FA FF 03 00 C0 FF CF 3F 00 F0 C2 BF + .byte $00, $7F, $80, $FD, $CF, $5F, $80, $BF, $00, $07, $00, $F0, $FF, $FF, $0F, $00 ; CPU:$D474 PRG:5474 00 7F 80 FD CF 5F 80 BF 00 07 00 F0 FF FF 0F 00 + .byte $8A, $FF, $3F, $00, $00, $FC, $BF, $FC, $02, $80, $3F, $F8, $07, $C0, $3F, $F8 ; CPU:$D484 PRG:5484 8A FF 3F 00 00 FC BF FC 02 80 3F F8 07 C0 3F F8 + .byte $BF, $F0, $0B, $D0, $1F, $70, $02, $00, $FC, $FF, $FF, $00, $C0, $E3, $FF, $0B ; CPU:$D494 PRG:5494 BF F0 0B D0 1F 70 02 00 FC FF FF 00 C0 E3 FF 0B + .byte $00, $00, $FF, $BF, $0E, $00, $F8, $7F, $5D, $02, $D0, $2F, $FF, $1F, $D0, $25 ; CPU:$D4A4 PRG:54A4 00 00 FF BF 0E 00 F8 7F 5D 02 D0 2F FF 1F D0 25 + .byte $F4, $2F, $50, $00, $00, $FE, $FF, $FF, $00, $C0, $FB, $FF, $03, $00, $80, $FF ; CPU:$D4B4 PRG:54B4 F4 2F 50 00 00 FE FF FF 00 C0 FB FF 03 00 80 FF + .byte $3F, $04, $00, $FC, $FF, $17, $00, $D8, $ED, $FF, $0F, $D0, $15, $F2, $3F, $80 ; CPU:$D4C4 PRG:54C4 3F 04 00 FC FF 17 00 D8 ED FF 0F D0 15 F2 3F 80 + .byte $00, $00, $FC, $FF, $FF, $00, $E0, $DF, $FF, $03, $00, $80, $FF, $7F, $08, $00 ; CPU:$D4D4 PRG:54D4 00 00 FC FF FF 00 E0 DF FF 03 00 80 FF 7F 08 00 + .byte $F0, $FF, $7F, $00, $40, $FB, $FF, $0F, $80, $DF, $95, $DA, $01, $00, $00, $F0 ; CPU:$D4E4 PRG:54E4 F0 FF 7F 00 40 FB FF 0F 80 DF 95 DA 01 00 00 F0 + .byte $FF, $FF, $0F, $00, $FE, $FF, $3F, $00, $00, $F8, $FF, $0B, $00, $00, $FF, $FF ; CPU:$D4F4 PRG:54F4 FF FF 0F 00 FE FF 3F 00 00 F8 FF 0B 00 00 FF FF + .byte $0B, $00, $E0, $FF, $FF, $01, $C0, $FF, $2F, $50, $20, $82, $00, $F0, $FF, $FF ; CPU:$D504 PRG:5504 0B 00 E0 FF FF 01 C0 FF 2F 50 20 82 00 F0 FF FF + .byte $0F, $00, $FF, $FF, $2F, $00, $00, $F7, $FF, $01, $00, $00, $FF, $FF, $90, $00 ; CPU:$D514 PRG:5514 0F 00 FF FF 2F 00 00 F7 FF 01 00 00 FF FF 90 00 + .byte $F8, $FF, $BF, $00, $D0, $FD, $3F, $80, $36, $82, $00, $00, $FF, $FF, $FF, $00 ; CPU:$D524 PRG:5524 F8 FF BF 00 D0 FD 3F 80 36 82 00 00 FF FF FF 00 + .byte $F0, $FF, $FF, $00, $00, $FC, $FF, $0F, $00, $00, $D0, $FF, $0F, $02, $C2, $F7 ; CPU:$D534 PRG:5534 F0 FF FF 00 00 FC FF 0F 00 00 D0 FF 0F 02 C2 F7 + .byte $FF, $07, $00, $F6, $FF, $7F, $00, $00, $9A, $20, $00, $FC, $FF, $FF, $0B, $E0 ; CPU:$D544 PRG:5544 FF 07 00 F6 FF 7F 00 00 9A 20 00 FC FF FF 0B E0 + .byte $BF, $76, $09, $00, $FC, $FD, $27, $00, $00, $F5, $FA, $DD, $25, $C0, $BF, $D6 ; CPU:$D554 PRG:5554 BF 76 09 00 FC FD 27 00 00 F5 FA DD 25 C0 BF D6 + .byte $AA, $08, $F6, $77, $5F, $09, $00, $76, $23, $00, $00, $FF, $FF, $FF, $00, $F0 ; CPU:$D564 PRG:5564 AA 08 F6 77 5F 09 00 76 23 00 00 FF FF FF 00 F0 + .byte $FF, $FF, $00, $00, $DE, $FF, $0B, $00, $00 ; CPU:$D574 PRG:5574 FF FF 00 00 DE FF 0B 00 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D57D +; Global: Branch target inside Label: taken when D57D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D57D: + .byte $DC, $FF, $C2 ; CPU:$D57D PRG:557D DC FF C2 -- nop $C2FF,x (undocumented; ca65 cannot encode) + and Zp60 ; CPU:$D580 PRG:5580 25 60 + .byte $FF, $0F, $92 ; CPU:$D582 PRG:5582 FF 0F 92 -- isc $920F,x (undocumented; ca65 cannot encode) + tax ; CPU:$D585 PRG:5585 AA + sbc $B54D,x ; CPU:$D586 PRG:5586 FD 4D B5 + php ; CPU:$D589 PRG:5589 08 + rts ; CPU:$D58A PRG:558A 60 +; ---- data $D58B-$F393 (7689 bytes) ---- +; referenced by `lax $F188` at $821D (operand $F188 falls inside this region) +; referenced by `adc $E284` at $A8FE (operand $E284 falls inside this region) ; referenced by `lda $F374,y` at $F47C (operand $F374 falls inside this region) ; referenced by `lda $F301,y` at $F4A2 (operand $F301 falls inside this region) ; referenced by `lda $F300,y` at $F4AA (operand $F300 falls inside this region) ; referenced by `lda $F301,y` at $F569 (operand $F301 falls inside this region) -; referenced by `lda $F300,y` at $F571 (operand $F300 falls inside this region) - .byte $A5, $2F, $29, $04, $F0, $2E, $A5, $2F, $29, $03, $A8, $0A, $0A, $0A, $85, $00 ; CPU:$B2DB PRG:32DB A5 2F 29 04 F0 2E A5 2F 29 03 A8 0A 0A 0A 85 00 - .byte $A5, $61, $88, $30, $05, $4A, $4A, $4C, $ED, $B2, $29, $03, $0A, $65, $00, $A4 ; CPU:$B2EB PRG:32EB A5 61 88 30 05 4A 4A 4C ED B2 29 03 0A 65 00 A4 - .byte $40, $F0, $03, $18, $69, $20, $A8, $B9, $3A, $B3, $BE, $3B, $B3, $85, $14, $86 ; CPU:$B2FB PRG:32FB 40 F0 03 18 69 20 A8 B9 3A B3 BE 3B B3 85 14 86 - .byte $15, $4C, $26, $B3, $A5, $2F, $29, $03, $0A, $A4, $40, $F0, $03, $18, $69, $08 ; CPU:$B30B PRG:330B 15 4C 26 B3 A5 2F 29 03 0A A4 40 F0 03 18 69 08 - .byte $A8, $B9, $82, $B4, $85, $14, $B9, $83, $B4, $85, $15, $AE, $60, $06, $A0, $00 ; CPU:$B31B PRG:331B A8 B9 82 B4 85 14 B9 83 B4 85 15 AE 60 06 A0 00 - .byte $B1, $14, $C9, $FF, $F0, $06, $20, $8E, $85, $C8, $D0, $F4, $4C, $72, $85, $92 ; CPU:$B32B PRG:332B B1 14 C9 FF F0 06 20 8E 85 C8 D0 F4 4C 72 85 92 - .byte $B4, $7A, $B3, $87, $B3, $94, $B3, $9F, $B4, $A1, $B3, $AE, $B3, $BB, $B3, $AC ; CPU:$B33B PRG:333B B4 7A B3 87 B3 94 B3 9F B4 A1 B3 AE B3 BB B3 AC - .byte $B4, $C8, $B3, $DA, $B3, $EC, $B3, $BE, $B4, $FE, $B3, $10, $B4, $22, $B4, $D0 ; CPU:$B34B PRG:334B B4 C8 B3 DA B3 EC B3 BE B4 FE B3 10 B4 22 B4 D0 - .byte $B4, $34, $B4, $41, $B4, $4E, $B4, $DD, $B4, $5B, $B4, $68, $B4, $75, $B4, $AC ; CPU:$B35B PRG:335B B4 34 B4 41 B4 4E B4 DD B4 5B B4 68 B4 75 B4 AC - .byte $B4, $C8, $B3, $DA, $B3, $EC, $B3, $BE, $B4, $FE, $B3, $10, $B4, $22, $B4, $23 ; CPU:$B36B PRG:336B B4 C8 B3 DA B3 EC B3 BE B4 FE B3 10 B4 22 B4 23 - .byte $C9, $03, $6F, $9F, $AF, $23, $F1, $03, $60, $90, $A0, $FF, $23, $C9, $03, $AF ; CPU:$B37B PRG:337B C9 03 6F 9F AF 23 F1 03 60 90 A0 FF 23 C9 03 AF - .byte $6F, $9F, $23, $F1, $03, $A0, $60, $90, $FF, $23, $C9, $03, $6F, $5F, $9F, $23 ; CPU:$B38B PRG:338B 6F 9F 23 F1 03 A0 60 90 FF 23 C9 03 6F 5F 9F 23 - .byte $F1, $03, $60, $50, $90, $FF, $23, $CC, $03, $6F, $9F, $AF, $23, $F4, $03, $60 ; CPU:$B39B PRG:339B F1 03 60 50 90 FF 23 CC 03 6F 9F AF 23 F4 03 60 - .byte $90, $A0, $FF, $23, $CC, $03, $AF, $6F, $9F, $23, $F4, $03, $A0, $60, $90, $FF ; CPU:$B3AB PRG:33AB 90 A0 FF 23 CC 03 AF 6F 9F 23 F4 03 A0 60 90 FF - .byte $23, $CC, $03, $6F, $5F, $9F, $23, $F4, $03, $60, $50, $90, $FF, $23, $D0, $02 ; CPU:$B3BB PRG:33BB 23 CC 03 6F 5F 9F 23 F4 03 60 50 90 FF 23 D0 02 - .byte $77, $11, $23, $D6, $04, $44, $DD, $BB, $22, $23, $DE, $02, $88, $EE, $FF, $23 ; CPU:$B3CB PRG:33CB 77 11 23 D6 04 44 DD BB 22 23 DE 02 88 EE FF 23 - .byte $D0, $02, $BB, $22, $23, $D6, $04, $88, $EE, $77, $11, $23, $DE, $02, $44, $DD ; CPU:$B3DB PRG:33DB D0 02 BB 22 23 D6 04 88 EE 77 11 23 DE 02 44 DD - .byte $FF, $23, $D0, $02, $77, $11, $23, $D6, $04, $44, $DD, $77, $11, $23, $DE, $02 ; CPU:$B3EB PRG:33EB FF 23 D0 02 77 11 23 D6 04 44 DD 77 11 23 DE 02 - .byte $44, $DD, $FF, $23, $E0, $02, $77, $11, $23, $E6, $04, $44, $DD, $BB, $22, $23 ; CPU:$B3FB PRG:33FB 44 DD FF 23 E0 02 77 11 23 E6 04 44 DD BB 22 23 - .byte $EE, $02, $88, $EE, $FF, $23, $E0, $02, $BB, $22, $23, $E6, $04, $88, $EE, $77 ; CPU:$B40B PRG:340B EE 02 88 EE FF 23 E0 02 BB 22 23 E6 04 88 EE 77 - .byte $11, $23, $EE, $02, $44, $DD, $FF, $23, $E0, $02, $77, $11, $23, $E6, $04, $44 ; CPU:$B41B PRG:341B 11 23 EE 02 44 DD FF 23 E0 02 77 11 23 E6 04 44 - .byte $DD, $77, $11, $23, $EE, $02, $44, $DD, $FF, $23, $C9, $03, $6F, $9F, $A5, $23 ; CPU:$B42B PRG:342B DD 77 11 23 EE 02 44 DD FF 23 C9 03 6F 9F A5 23 - .byte $F1, $03, $60, $90, $A0, $FF, $23, $C9, $03, $AF, $6F, $95, $23, $F1, $03, $A0 ; CPU:$B43B PRG:343B F1 03 60 90 A0 FF 23 C9 03 AF 6F 95 23 F1 03 A0 - .byte $60, $90, $FF, $23, $C9, $03, $6F, $5F, $95, $23, $F1, $03, $60, $50, $90, $FF ; CPU:$B44B PRG:344B 60 90 FF 23 C9 03 6F 5F 95 23 F1 03 60 50 90 FF - .byte $23, $CC, $03, $65, $9D, $AF, $23, $F4, $03, $60, $90, $A0, $FF, $23, $CC, $03 ; CPU:$B45B PRG:345B 23 CC 03 65 9D AF 23 F4 03 60 90 A0 FF 23 CC 03 - .byte $A5, $6D, $9F, $23, $F4, $03, $A0, $60, $90, $FF, $23, $CC, $03, $65, $5D, $9F ; CPU:$B46B PRG:346B A5 6D 9F 23 F4 03 A0 60 90 FF 23 CC 03 65 5D 9F - .byte $23, $F4, $03, $60, $50, $90, $FF, $92, $B4, $9F, $B4, $AC, $B4, $BE, $B4, $D0 ; CPU:$B47B PRG:347B 23 F4 03 60 50 90 FF 92 B4 9F B4 AC B4 BE B4 D0 - .byte $B4, $DD, $B4, $AC, $B4, $BE, $B4, $23, $C9, $03, $AF, $AF, $AF, $23, $F1, $03 ; CPU:$B48B PRG:348B B4 DD B4 AC B4 BE B4 23 C9 03 AF AF AF 23 F1 03 - .byte $A0, $A0, $A0, $FF, $23, $CC, $03, $AF, $AF, $AF, $23, $F4, $03, $A0, $A0, $A0 ; CPU:$B49B PRG:349B A0 A0 A0 FF 23 CC 03 AF AF AF 23 F4 03 A0 A0 A0 - .byte $FF, $23, $D0, $02, $BB, $22, $23, $D6, $04, $88, $EE, $BB, $22, $23, $DE, $02 ; CPU:$B4AB PRG:34AB FF 23 D0 02 BB 22 23 D6 04 88 EE BB 22 23 DE 02 - .byte $88, $EE, $FF, $23, $E0, $02, $BB, $22, $23, $E6, $04, $88, $EE, $BB, $22, $23 ; CPU:$B4BB PRG:34BB 88 EE FF 23 E0 02 BB 22 23 E6 04 88 EE BB 22 23 - .byte $EE, $02, $88, $EE, $FF, $23, $C9, $03, $AF, $AF, $A5, $23, $F1, $03, $A0, $A0 ; CPU:$B4CB PRG:34CB EE 02 88 EE FF 23 C9 03 AF AF A5 23 F1 03 A0 A0 - .byte $A0, $FF, $23, $CC, $03, $A5, $AD, $AF, $23, $F4, $03, $A0, $A0, $A0, $FF, $A5 ; CPU:$B4DB PRG:34DB A0 FF 23 CC 03 A5 AD AF 23 F4 03 A0 A0 A0 FF A5 - .byte $61, $85, $16, $A2, $00, $86, $60, $A2, $07, $86, $11, $20, $4A, $B5, $08, $A6 ; CPU:$B4EB PRG:34EB 61 85 16 A2 00 86 60 A2 07 86 11 20 4A B5 08 A6 - .byte $11, $BD, $42, $B5, $28, $10, $15, $25, $61, $F0, $0A, $E6, $63, $A4, $63, $C0 ; CPU:$B4FB PRG:34FB 11 BD 42 B5 28 10 15 25 61 F0 0A E6 63 A4 63 C0 - .byte $10, $90, $02, $E6, $60, $BD, $42, $B5, $05, $61, $D0, $04, $49, $FF, $25, $61 ; CPU:$B50B PRG:350B 10 90 02 E6 60 BD 42 B5 05 61 D0 04 49 FF 25 61 - .byte $85, $61, $C6, $11, $10, $D5, $A2, $07, $A0, $00, $A5, $61, $4A, $90, $01, $C8 ; CPU:$B51B PRG:351B 85 61 C6 11 10 D5 A2 07 A0 00 A5 61 4A 90 01 C8 - .byte $CA, $10, $F9, $88, $F0, $05, $E8, $86, $63, $86, $60, $A5, $16, $D0, $07, $A5 ; CPU:$B52B PRG:352B CA 10 F9 88 F0 05 E8 86 63 86 60 A5 16 D0 07 A5 - .byte $61, $F0, $03, $20, $A9, $B2, $60, $01, $02, $04, $08, $10, $20, $40, $80, $A6 ; CPU:$B53B PRG:353B 61 F0 03 20 A9 B2 60 01 02 04 08 10 20 40 80 A6 - .byte $11, $BD, $6C, $B5, $85, $12, $BC, $64, $B5, $A2, $04, $B9, $00, $04, $10, $08 ; CPU:$B54B PRG:354B 11 BD 6C B5 85 12 BC 64 B5 A2 04 B9 00 04 10 08 - .byte $98, $18, $65, $12, $A8, $CA, $10, $F3, $60, $0A, $0B, $0D, $0E, $0A, $12, $22 ; CPU:$B55B PRG:355B 98 18 65 12 A8 CA 10 F3 60 0A 0B 0D 0E 0A 12 22 - .byte $2A, $08, $08, $08, $08, $01, $01, $01, $01, $3F, $00, $20, $0F, $31, $1C, $0C ; CPU:$B56B PRG:356B 2A 08 08 08 08 01 01 01 01 3F 00 20 0F 31 1C 0C - .byte $0F, $24, $28, $1A, $0F, $2A, $21, $1A, $0F, $0F, $00, $10, $0F, $30, $02, $26 ; CPU:$B57B PRG:357B 0F 24 28 1A 0F 2A 21 1A 0F 0F 00 10 0F 30 02 26 - .byte $0F, $37, $26, $07, $0F, $31, $1C, $0C, $0F, $35, $04, $16, $00, $3F, $00, $10 ; CPU:$B58B PRG:358B 0F 37 26 07 0F 31 1C 0C 0F 35 04 16 00 3F 00 10 - .byte $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$B59B PRG:359B 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F - .byte $00, $3F, $00, $10, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A, $2A ; CPU:$B5AB PRG:35AB 00 3F 00 10 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A - .byte $2A, $2A, $2A, $2A, $00, $3F, $00, $10, $0F, $26, $19, $0F, $0F, $19, $26, $19 ; CPU:$B5BB PRG:35BB 2A 2A 2A 2A 00 3F 00 10 0F 26 19 0F 0F 19 26 19 - .byte $0F, $19, $19, $19, $0F, $19, $19, $19, $00, $3F, $00, $10, $0F, $31, $12, $0F ; CPU:$B5CB PRG:35CB 0F 19 19 19 0F 19 19 19 00 3F 00 10 0F 31 12 0F - .byte $0F, $15, $0F, $27, $0F, $27, $10, $0F, $0F, $27, $15, $02, $00, $3F, $00, $1C ; CPU:$B5DB PRG:35DB 0F 15 0F 27 0F 27 10 0F 0F 27 15 02 00 3F 00 1C - .byte $0F, $3C, $12, $02, $0F, $24, $28, $1C, $0F, $26, $2B, $02, $0F, $0F, $15, $0F ; CPU:$B5EB PRG:35EB 0F 3C 12 02 0F 24 28 1C 0F 26 2B 02 0F 0F 15 0F - .byte $0F, $30, $02, $26, $0F, $3C, $12, $02, $0F, $15, $0F, $0F, $00, $3F, $00, $10 ; CPU:$B5FB PRG:35FB 0F 30 02 26 0F 3C 12 02 0F 15 0F 0F 00 3F 00 10 - .byte $0F, $30, $30, $30, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$B60B PRG:360B 0F 30 30 30 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F - .byte $00, $3F, $00, $20, $0F, $31, $1C, $0C, $0F, $24, $28, $1A, $0F, $2A, $21, $1A ; CPU:$B61B PRG:361B 00 3F 00 20 0F 31 1C 0C 0F 24 28 1A 0F 2A 21 1A - .byte $0F, $0F, $00, $10, $0F, $30, $02, $26, $0F, $37, $26, $07, $0F, $31, $1C, $0C ; CPU:$B62B PRG:362B 0F 0F 00 10 0F 30 02 26 0F 37 26 07 0F 31 1C 0C - .byte $0F, $16, $02, $36, $00, $3F, $00, $10, $0F, $31, $1C, $0C, $0F, $24, $28, $1A ; CPU:$B63B PRG:363B 0F 16 02 36 00 3F 00 10 0F 31 1C 0C 0F 24 28 1A - .byte $0F, $2A, $21, $1A, $0F, $0F, $00, $10, $00, $3F, $10, $04, $0F, $30, $02, $26 ; CPU:$B64B PRG:364B 0F 2A 21 1A 0F 0F 00 10 00 3F 10 04 0F 30 02 26 - .byte $00, $3F, $1C, $04, $0F, $16, $02, $36, $00, $3F, $10, $04, $0F, $30, $30, $30 ; CPU:$B65B PRG:365B 00 3F 1C 04 0F 16 02 36 00 3F 10 04 0F 30 30 30 - .byte $00, $3F, $1C, $04, $0F, $0F, $0F, $0F, $00, $3F, $00, $20, $0F, $31, $1C, $0C ; CPU:$B66B PRG:366B 00 3F 1C 04 0F 0F 0F 0F 00 3F 00 20 0F 31 1C 0C - .byte $0F, $24, $28, $1A, $0F, $2A, $0C, $1A, $0F, $0F, $00, $10, $0F, $30, $02, $26 ; CPU:$B67B PRG:367B 0F 24 28 1A 0F 2A 0C 1A 0F 0F 00 10 0F 30 02 26 - .byte $0F, $37, $0F, $0F, $0F, $31, $1C, $0C, $0F, $33, $04, $16, $00, $3F, $00, $20 ; CPU:$B68B PRG:368B 0F 37 0F 0F 0F 31 1C 0C 0F 33 04 16 00 3F 00 20 - .byte $0F, $31, $1C, $0C, $0F, $24, $28, $1A, $0F, $2B, $21, $1A, $0F, $0F, $00, $10 ; CPU:$B69B PRG:369B 0F 31 1C 0C 0F 24 28 1A 0F 2B 21 1A 0F 0F 00 10 - .byte $0F, $30, $02, $26, $0F, $37, $17, $06, $0F, $31, $1C, $0C, $0F, $33, $04, $16 ; CPU:$B6AB PRG:36AB 0F 30 02 26 0F 37 17 06 0F 31 1C 0C 0F 33 04 16 - .byte $00, $C2, $B6, $0F, $B7, $5C, $B7, $4B, $21, $8A, $0C, $24, $24, $24, $24, $24 ; CPU:$B6BB PRG:36BB 00 C2 B6 0F B7 5C B7 4B 21 8A 0C 24 24 24 24 24 - .byte $24, $24, $24, $24, $24, $24, $24, $21, $AA, $0C, $24, $24, $24, $24, $24, $24 ; CPU:$B6CB PRG:36CB 24 24 24 24 24 24 24 21 AA 0C 24 24 24 24 24 24 - .byte $24, $24, $24, $24, $24, $24, $21, $CA, $0C, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B6DB PRG:36DB 24 24 24 24 24 24 21 CA 0C 24 24 24 24 24 24 24 - .byte $24, $24, $24, $24, $24, $21, $EA, $0C, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B6EB PRG:36EB 24 24 24 24 24 21 EA 0C 24 24 24 24 24 24 24 24 - .byte $24, $24, $24, $24, $22, $0A, $0C, $24, $24, $1D, $12, $16, $0E, $24, $24, $1E ; CPU:$B6FB PRG:36FB 24 24 24 24 22 0A 0C 24 24 1D 12 16 0E 24 24 1E - .byte $19, $24, $24, $00, $4B, $22, $2A, $0C, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B70B PRG:370B 19 24 24 00 4B 22 2A 0C 24 24 24 24 24 24 24 24 - .byte $24, $24, $24, $24, $22, $4A, $0C, $24, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B71B PRG:371B 24 24 24 24 22 4A 0C 24 24 24 24 24 24 24 24 24 - .byte $24, $24, $24, $22, $6A, $0C, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B72B PRG:372B 24 24 24 22 6A 0C 24 24 24 24 24 24 24 24 24 24 - .byte $24, $24, $22, $8A, $0C, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$B73B PRG:373B 24 24 22 8A 0C 24 24 24 24 24 24 24 24 24 24 24 - .byte $24, $22, $AA, $0C, $90, $91, $91, $92, $90, $91, $91, $92, $90, $91, $91, $92 ; CPU:$B74B PRG:374B 24 22 AA 0C 90 91 91 92 90 91 91 92 90 91 91 92 - .byte $00, $20, $E5, $01, $BB, $20, $E6, $54, $C0, $20, $FA, $01, $BC, $21, $05, $C4 ; CPU:$B75B PRG:375B 00 20 E5 01 BB 20 E6 54 C0 20 FA 01 BC 21 05 C4 - .byte $BF, $21, $06, $C4, $70, $21, $07, $C4, $27, $21, $08, $12, $71, $73, $75, $27 ; CPU:$B76B PRG:376B BF 21 06 C4 70 21 07 C4 27 21 08 12 71 73 75 27 - .byte $27, $73, $70, $27, $71, $73, $75, $27, $27, $73, $70, $27, $27, $27, $21, $1A ; CPU:$B77B PRG:377B 27 73 70 27 71 73 75 27 27 73 70 27 27 27 21 1A - .byte $C4, $C1, $21, $28, $11, $72, $74, $70, $27, $70, $27, $70, $27, $72, $74, $70 ; CPU:$B78B PRG:378B C4 C1 21 28 11 72 74 70 27 70 27 70 27 72 74 70 - .byte $27, $70, $27, $2F, $70, $27, $21, $48, $11, $71, $73, $70, $27, $70, $27, $70 ; CPU:$B79B PRG:379B 27 70 27 2F 70 27 21 48 11 71 73 70 27 70 27 70 - .byte $27, $71, $73, $70, $27, $70, $27, $2F, $70, $27, $21, $68, $11, $70, $27, $76 ; CPU:$B7AB PRG:37AB 27 71 73 70 27 70 27 2F 70 27 21 68 11 70 27 76 - .byte $27, $27, $74, $70, $27, $72, $74, $76, $27, $27, $74, $2F, $70, $27, $21, $85 ; CPU:$B7BB PRG:37BB 27 27 74 70 27 72 74 76 27 27 74 2F 70 27 21 85 - .byte $01, $BD, $21, $86, $54, $C2, $21, $9A, $01, $BE, $22, $00, $44, $F2, $22, $06 ; CPU:$B7CB PRG:37CB 01 BD 21 86 54 C2 21 9A 01 BE 22 00 44 F2 22 06 - .byte $13, $70, $77, $78, $73, $70, $27, $2F, $75, $27, $27, $73, $75, $27, $27, $73 ; CPU:$B7DB PRG:37DB 13 70 77 78 73 70 27 2F 75 27 27 73 75 27 27 73 - .byte $70, $27, $80, $81, $22, $1B, $45, $F2, $22, $20, $44, $F2, $22, $24, $01, $89 ; CPU:$B7EB PRG:37EB 70 27 80 81 22 1B 45 F2 22 20 44 F2 22 24 01 89 - .byte $22, $26, $14, $70, $79, $7A, $74, $7B, $27, $29, $70, $77, $78, $27, $7B, $77 ; CPU:$B7FB PRG:37FB 22 26 14 70 79 7A 74 7B 27 29 70 77 78 27 7B 77 - .byte $7C, $7C, $7B, $27, $27, $80, $82, $22, $3B, $45, $F2, $22, $40, $44, $F2, $22 ; CPU:$B80B PRG:380B 7C 7C 7B 27 27 80 82 22 3B 45 F2 22 40 44 F2 22 - .byte $44, $01, $89, $22, $46, $14, $70, $77, $78, $7E, $7B, $27, $29, $70, $79, $7A ; CPU:$B81B PRG:381B 44 01 89 22 46 14 70 77 78 7E 7B 27 29 70 79 7A - .byte $27, $7B, $79, $7D, $7D, $7B, $27, $27, $83, $84, $22, $5B, $45, $F2, $22, $60 ; CPU:$B82B PRG:382B 27 7B 79 7D 7D 7B 27 27 83 84 22 5B 45 F2 22 60 - .byte $44, $F2, $22, $64, $01, $89, $22, $66, $14, $70, $79, $7A, $74, $7B, $27, $27 ; CPU:$B83B PRG:383B 44 F2 22 64 01 89 22 66 14 70 79 7A 74 7B 27 27 - .byte $7F, $27, $27, $74, $76, $27, $27, $74, $7B, $27, $85, $86, $87, $22, $7B, $45 ; CPU:$B84B PRG:384B 7F 27 27 74 76 27 27 74 7B 27 85 86 87 22 7B 45 - .byte $F2, $22, $80, $45, $89, $22, $87, $13, $70, $27, $27, $74, $70, $27, $27, $76 ; CPU:$B85B PRG:385B F2 22 80 45 89 22 87 13 70 27 27 74 70 27 27 76 - .byte $27, $27, $74, $76, $27, $27, $74, $70, $27, $85, $88, $22, $9C, $44, $89, $23 ; CPU:$B86B PRG:386B 27 27 74 76 27 27 74 70 27 85 88 22 9C 44 89 23 - .byte $28, $05, $25, $01, $09, $08, $05, $23, $30, $08, $17, $12, $17, $1D, $0E, $17 ; CPU:$B87B PRG:387B 28 05 25 01 09 08 05 23 30 08 17 12 17 1D 0E 17 - .byte $0D, $18, $23, $C9, $46, $F0, $23, $D1, $01, $33, $23, $D6, $01, $CC, $23, $D8 ; CPU:$B88B PRG:388B 0D 18 23 C9 46 F0 23 D1 01 33 23 D6 01 CC 23 D8 - .byte $48, $AF, $23, $E1, $01, $44, $23, $E2, $44, $55, $23, $E6, $01, $33, $23, $E8 ; CPU:$B89B PRG:389B 48 AF 23 E1 01 44 23 E2 44 55 23 E6 01 33 23 E8 - .byte $08, $00, $08, $0A, $0A, $0A, $0A, $02, $00, $23, $F2, $04, $AA, $AA, $AA, $AA ; CPU:$B8AB PRG:38AB 08 00 08 0A 0A 0A 0A 02 00 23 F2 04 AA AA AA AA - .byte $00, $28, $63, $08, $0F, $1C, $0E, $15, $0E, $0C, $1D, $13, $28, $E8, $10, $30 ; CPU:$B8BB PRG:38BB 00 28 63 08 0F 1C 0E 15 0E 0C 1D 13 28 E8 10 30 - .byte $31, $31, $32, $24, $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $29 ; CPU:$B8CB PRG:38CB 31 31 32 24 24 24 24 BB C0 C0 C0 C0 C0 C0 BC 29 - .byte $08, $10, $33, $34, $34, $35, $24, $F3, $F4, $24, $BF, $1D, $0E, $1C, $1D, $24 ; CPU:$B8DB PRG:38DB 08 10 33 34 34 35 24 F3 F4 24 BF 1D 0E 1C 1D 24 - .byte $24, $C1, $29, $28, $10, $36, $37, $37, $38, $24, $24, $24, $24, $BD, $C2, $C2 ; CPU:$B8EB PRG:38EB 24 C1 29 28 10 36 37 37 38 24 24 24 24 BD C2 C2 - .byte $C2, $C2, $C2, $C2, $BE, $29, $48, $04, $6E, $39, $39, $3A, $29, $68, $10, $30 ; CPU:$B8FB PRG:38FB C2 C2 C2 C2 BE 29 48 04 6E 39 39 3A 29 68 10 30 - .byte $31, $31, $32, $24, $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $29 ; CPU:$B90B PRG:390B 31 31 32 24 24 24 24 BB C0 C0 C0 C0 C0 C0 BC 29 - .byte $88, $10, $33, $34, $34, $35, $24, $F3, $F4, $24, $BF, $0D, $12, $1B, $0E, $0C ; CPU:$B91B PRG:391B 88 10 33 34 34 35 24 F3 F4 24 BF 0D 12 1B 0E 0C - .byte $1D, $C1, $29, $A8, $10, $36, $37, $37, $38, $24, $24, $24, $24, $BD, $C2, $C2 ; CPU:$B92B PRG:392B 1D C1 29 A8 10 36 37 37 38 24 24 24 24 BD C2 C2 - .byte $C2, $C2, $C2, $C2, $BE, $29, $C8, $04, $6E, $39, $39, $3A, $29, $E8, $10, $30 ; CPU:$B93B PRG:393B C2 C2 C2 C2 BE 29 C8 04 6E 39 39 3A 29 E8 10 30 - .byte $31, $31, $32, $24, $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $2A ; CPU:$B94B PRG:394B 31 31 32 24 24 24 24 BB C0 C0 C0 C0 C0 C0 BC 2A - .byte $08, $10, $33, $34, $34, $35, $24, $F3, $F4, $24, $BF, $16, $0E, $16, $18, $1B ; CPU:$B95B PRG:395B 08 10 33 34 34 35 24 F3 F4 24 BF 16 0E 16 18 1B - .byte $22, $C1, $2A, $28, $10, $36, $37, $37, $38, $24, $24, $24, $24, $BD, $C2, $C2 ; CPU:$B96B PRG:396B 22 C1 2A 28 10 36 37 37 38 24 24 24 24 BD C2 C2 - .byte $C2, $C2, $C2, $C2, $BE, $2A, $48, $04, $6E, $39, $39, $3A, $2A, $68, $14, $30 ; CPU:$B97B PRG:397B C2 C2 C2 C2 BE 2A 48 04 6E 39 39 3A 2A 68 14 30 - .byte $31, $31, $32, $24, $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0 ; CPU:$B98B PRG:398B 31 31 32 24 24 24 24 BB C0 C0 C0 C0 C0 C0 C0 C0 - .byte $C0, $C0, $BC, $2A, $88, $14, $33, $34, $34, $35, $24, $F3, $F4, $24, $BF, $0B ; CPU:$B99B PRG:399B C0 C0 BC 2A 88 14 33 34 34 35 24 F3 F4 24 BF 0B - .byte $12, $17, $10, $18, $24, $1A, $01, $19, $1F, $C1, $2A, $A8, $14, $36, $37, $37 ; CPU:$B9AB PRG:39AB 12 17 10 18 24 1A 01 19 1F C1 2A A8 14 36 37 37 - .byte $38, $24, $24, $24, $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2 ; CPU:$B9BB PRG:39BB 38 24 24 24 24 BD C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 - .byte $BE, $2A, $C8, $04, $6E, $39, $39, $3A, $2A, $E8, $14, $30, $31, $31, $32, $24 ; CPU:$B9CB PRG:39CB BE 2A C8 04 6E 39 39 3A 2A E8 14 30 31 31 32 24 - .byte $24, $24, $24, $BB, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $2B ; CPU:$B9DB PRG:39DB 24 24 24 BB C0 C0 C0 C0 C0 C0 C0 C0 C0 C0 BC 2B - .byte $08, $14, $33, $34, $34, $35, $24, $F3, $F4, $24, $BF, $0B, $12, $17, $10, $18 ; CPU:$B9EB PRG:39EB 08 14 33 34 34 35 24 F3 F4 24 BF 0B 12 17 10 18 - .byte $24, $1A, $02, $19, $1F, $C1, $2B, $28, $14, $36, $37, $37, $38, $24, $24, $24 ; CPU:$B9FB PRG:39FB 24 1A 02 19 1F C1 2B 28 14 36 37 37 38 24 24 24 - .byte $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $2B, $48, $04 ; CPU:$BA0B PRG:3A0B 24 BD C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 BE 2B 48 04 - .byte $6E, $39, $39, $3A, $2B, $C0, $04, $55, $55, $55, $55, $2B, $CB, $03, $AA, $55 ; CPU:$BA1B PRG:3A1B 6E 39 39 3A 2B C0 04 55 55 55 55 2B CB 03 AA 55 - .byte $55, $2B, $D3, $03, $AA, $55, $55, $2B, $DB, $03, $AA, $55, $55, $2B, $E3, $05 ; CPU:$BA2B PRG:3A2B 55 2B D3 03 AA 55 55 2B DB 03 AA 55 55 2B E3 05 - .byte $AA, $55, $55, $55, $37, $2B, $EB, $04, $AA, $55, $55, $55, $2B, $F3, $04, $AA ; CPU:$BA3B PRG:3A3B AA 55 55 55 37 2B EB 04 AA 55 55 55 2B F3 04 AA - .byte $55, $55, $55, $00, $29, $11, $05, $1C, $1D, $0A, $1B, $1D, $29, $91, $05, $17 ; CPU:$BA4B PRG:3A4B 55 55 55 00 29 11 05 1C 1D 0A 1B 1D 29 91 05 17 - .byte $0E, $21, $1D, $24, $2A, $11, $05, $0E, $17, $0D, $24, $24, $2A, $91, $0B, $1D ; CPU:$BA5B PRG:3A5B 0E 21 1D 24 2A 11 05 0E 17 0D 24 24 2A 91 0B 1D - .byte $0E, $1C, $1D, $24, $24, $24, $24, $24, $24, $24, $2B, $11, $0B, $1C, $19, $0E ; CPU:$BA6B PRG:3A6B 0E 1C 1D 24 24 24 24 24 24 24 2B 11 0B 1C 19 0E - .byte $0E, $0D, $24, $24, $24, $24, $24, $24, $2A, $78, $44, $24, $2A, $B8, $44, $24 ; CPU:$BA7B PRG:3A7B 0E 0D 24 24 24 24 24 24 2A 78 44 24 2A B8 44 24 - .byte $2A, $F8, $44, $24, $2B, $38, $44, $24, $28, $6B, $01, $02, $28, $F6, $93, $BC ; CPU:$BA8B PRG:3A8B 2A F8 44 24 2B 38 44 24 28 6B 01 02 28 F6 93 BC - .byte $C1, $BE, $24, $BC, $C1, $BE, $24, $BC, $C1, $BE, $24, $BC, $C1, $BE, $24, $BC ; CPU:$BA9B PRG:3A9B C1 BE 24 BC C1 BE 24 BC C1 BE 24 BC C1 BE 24 BC - .byte $C1, $BE, $28, $F7, $D3, $24, $00, $2A, $68, $50, $24, $2A, $88, $50, $24, $2A ; CPU:$BAAB PRG:3AAB C1 BE 28 F7 D3 24 00 2A 68 50 24 2A 88 50 24 2A - .byte $A8, $50, $24, $2A, $C8, $50, $24, $29, $91, $05, $0E, $17, $0D, $24, $24, $2A ; CPU:$BABB PRG:3ABB A8 50 24 2A C8 50 24 29 91 05 0E 17 0D 24 24 2A - .byte $11, $05, $1D, $0E, $1C, $1D, $24, $2A, $E8, $50, $24, $2B, $08, $50, $24, $2B ; CPU:$BACB PRG:3ACB 11 05 1D 0E 1C 1D 24 2A E8 50 24 2B 08 50 24 2B - .byte $28, $50, $24, $2B, $48, $50, $24, $00, $28, $63, $07, $0F, $1C, $19, $0E, $0E ; CPU:$BADB PRG:3ADB 28 50 24 2B 48 50 24 00 28 63 07 0F 1C 19 0E 0E - .byte $0D, $13, $28, $C8, $10, $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31 ; CPU:$BAEB PRG:3AEB 0D 13 28 C8 10 30 31 31 32 30 31 31 32 30 31 31 - .byte $32, $30, $31, $31, $32, $28, $E8, $10, $33, $34, $34, $35, $33, $34, $34, $35 ; CPU:$BAFB PRG:3AFB 32 30 31 31 32 28 E8 10 33 34 34 35 33 34 34 35 - .byte $33, $34, $34, $35, $33, $34, $34, $35, $29, $08, $10, $36, $37, $37, $38, $36 ; CPU:$BB0B PRG:3B0B 33 34 34 35 33 34 34 35 29 08 10 36 37 37 38 36 - .byte $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $29, $28, $10, $30, $31 ; CPU:$BB1B PRG:3B1B 37 37 38 36 37 37 38 36 37 37 38 29 28 10 30 31 - .byte $31, $32, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $30, $31, $31, $32, $29, $48 ; CPU:$BB2B PRG:3B2B 31 32 6E 39 39 3A 6E 39 39 3A 30 31 31 32 29 48 - .byte $10, $33, $34, $34, $35, $24, $24, $24, $24, $24, $24, $24, $24, $33, $34, $34 ; CPU:$BB3B PRG:3B3B 10 33 34 34 35 24 24 24 24 24 24 24 24 33 34 34 - .byte $35, $29, $68, $10, $36, $37, $37, $38, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$BB4B PRG:3B4B 35 29 68 10 36 37 37 38 24 24 24 24 24 24 24 24 - .byte $36, $37, $37, $38, $29, $88, $10, $30, $31, $31, $32, $24, $24, $24, $24, $24 ; CPU:$BB5B PRG:3B5B 36 37 37 38 29 88 10 30 31 31 32 24 24 24 24 24 - .byte $24, $24, $24, $30, $31, $31, $32, $29, $A8, $10, $33, $34, $34, $35, $24, $24 ; CPU:$BB6B PRG:3B6B 24 24 24 30 31 31 32 29 A8 10 33 34 34 35 24 24 - .byte $24, $24, $24, $24, $24, $24, $33, $34, $34, $35, $29, $C8, $10, $36, $37, $37 ; CPU:$BB7B PRG:3B7B 24 24 24 24 24 24 33 34 34 35 29 C8 10 36 37 37 - .byte $38, $24, $24, $24, $24, $24, $24, $24, $24, $36, $37, $37, $38, $29, $E8, $10 ; CPU:$BB8B PRG:3B8B 38 24 24 24 24 24 24 24 24 36 37 37 38 29 E8 10 - .byte $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31, $32, $30, $31, $31, $32 ; CPU:$BB9B PRG:3B9B 30 31 31 32 30 31 31 32 30 31 31 32 30 31 31 32 - .byte $2A, $08, $10, $33, $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $33 ; CPU:$BBAB PRG:3BAB 2A 08 10 33 34 34 35 33 34 34 35 33 34 34 35 33 - .byte $34, $34, $35, $2A, $28, $10, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37 ; CPU:$BBBB PRG:3BBB 34 34 35 2A 28 10 36 37 37 38 36 37 37 38 36 37 - .byte $37, $38, $36, $37, $37, $38, $2A, $48, $10, $6E, $39, $39, $3A, $6E, $39, $39 ; CPU:$BBCB PRG:3BCB 37 38 36 37 37 38 2A 48 10 6E 39 39 3A 6E 39 39 - .byte $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $2A, $87, $52, $C0, $2B, $27, $52 ; CPU:$BBDB PRG:3BDB 3A 6E 39 39 3A 6E 39 39 3A 2A 87 52 C0 2B 27 52 - .byte $C2, $2A, $A6, $C4, $BF, $2A, $B9, $C4, $C1, $2A, $86, $01, $BB, $2A, $99, $01 ; CPU:$BBEB PRG:3BEB C2 2A A6 C4 BF 2A B9 C4 C1 2A 86 01 BB 2A 99 01 - .byte $BC, $2B, $26, $01, $BD, $2B, $39, $01, $BE, $2B, $07, $12, $FB, $FC, $24, $24 ; CPU:$BBFB PRG:3BFB BC 2B 26 01 BD 2B 39 01 BE 2B 07 12 FB FC 24 24 - .byte $FB, $FC, $24, $24, $FB, $FC, $24, $24, $FB, $FC, $24, $24, $FB, $FC, $2B, $46 ; CPU:$BC0B PRG:3C0B FB FC 24 24 FB FC 24 24 FB FC 24 24 FB FC 2B 46 - .byte $04, $EA, $0A, $1C, $1D, $2B, $56, $04, $1C, $15, $18, $EB, $2B, $C0, $43, $55 ; CPU:$BC1B PRG:3C1B 04 EA 0A 1C 1D 2B 56 04 1C 15 18 EB 2B C0 43 55 - .byte $2B, $E8, $48, $55, $2B, $F0, $48, $5A, $00, $29, $07, $52, $28, $29, $27, $52 ; CPU:$BC2B PRG:3C2B 2B E8 48 55 2B F0 48 5A 00 29 07 52 28 29 27 52 - .byte $28, $29, $47, $52, $28, $29, $67, $52, $28, $29, $87, $52, $28, $29, $A7, $52 ; CPU:$BC3B PRG:3C3B 28 29 47 52 28 29 67 52 28 29 87 52 28 29 A7 52 - .byte $28, $29, $C7, $52, $28, $29, $E7, $52, $28, $2A, $07, $52, $28, $2A, $27, $52 ; CPU:$BC4B PRG:3C4B 28 29 C7 52 28 29 E7 52 28 2A 07 52 28 2A 27 52 - .byte $28, $2A, $47, $52, $28, $2A, $67, $52, $28, $2A, $87, $52, $28, $2A, $A7, $52 ; CPU:$BC5B PRG:3C5B 28 2A 47 52 28 2A 67 52 28 2A 87 52 28 2A A7 52 - .byte $28, $28, $E6, $01, $EE, $28, $E7, $52, $F6, $28, $F9, $01, $EF, $2A, $C7, $52 ; CPU:$BC6B PRG:3C6B 28 28 E6 01 EE 28 E7 52 F6 28 F9 01 EF 2A C7 52 - .byte $F8, $29, $06, $CE, $F5, $29, $19, $CE, $F7, $2A, $C6, $01, $F0, $2A, $D9, $01 ; CPU:$BC7B PRG:3C7B F8 29 06 CE F5 29 19 CE F7 2A C6 01 F0 2A D9 01 - .byte $F1, $29, $6E, $04, $20, $23, $3B, $20, $29, $C9, $0F, $3E, $3F, $3B, $6F, $28 ; CPU:$BC8B PRG:3C8B F1 29 6E 04 20 23 3B 20 29 C9 0F 3E 3F 3B 6F 28 - .byte $3B, $23, $C5, $23, $C6, $20, $28, $C7, $23, $CD, $00, $2A, $83, $1B, $BB, $C0 ; CPU:$BC9B PRG:3C9B 3B 23 C5 23 C6 20 28 C7 23 CD 00 2A 83 1B BB C0 - .byte $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $BC, $BB, $C0, $C0, $C0, $C0, $C0 ; CPU:$BCAB PRG:3CAB C0 C0 C0 C0 C0 C0 C0 C0 C0 BC BB C0 C0 C0 C0 C0 - .byte $BC, $24, $BB, $C0, $C0, $C0, $C0, $C0, $BC, $2A, $A3, $C6, $BF, $2A, $AE, $C6 ; CPU:$BCBB PRG:3CBB BC 24 BB C0 C0 C0 C0 C0 BC 2A A3 C6 BF 2A AE C6 - .byte $C1, $2A, $AF, $C6, $BF, $2A, $B5, $C6, $C1, $2A, $B7, $C6, $BF, $2A, $BD, $C6 ; CPU:$BCCB PRG:3CCB C1 2A AF C6 BF 2A B5 C6 C1 2A B7 C6 BF 2A BD C6 - .byte $C1, $2A, $F6, $82, $C3, $C4, $2B, $63, $1B, $BD, $C2, $C2, $C2, $C2, $C2, $C2 ; CPU:$BCDB PRG:3CDB C1 2A F6 82 C3 C4 2B 63 1B BD C2 C2 C2 C2 C2 C2 - .byte $C2, $C2, $C2, $C2, $BE, $BD, $C2, $C2, $C2, $C2, $C2, $BE, $24, $BD, $C2, $C2 ; CPU:$BCEB PRG:3CEB C2 C2 C2 C2 BE BD C2 C2 C2 C2 C2 BE 24 BD C2 C2 - .byte $C2, $C2, $C2, $BE, $2B, $50, $05, $C8, $C9, $CA, $CB, $CC, $2B, $58, $05, $C8 ; CPU:$BCFB PRG:3CFB C2 C2 C2 BE 2B 50 05 C8 C9 CA CB CC 2B 58 05 C8 - .byte $C9, $CA, $CB, $CC, $2A, $63, $0C, $0F, $0B, $12, $17, $10, $18, $24, $1A, $01 ; CPU:$BD0B PRG:3D0B C9 CA CB CC 2A 63 0C 0F 0B 12 17 10 18 24 1A 01 - .byte $19, $1F, $13, $2A, $76, $08, $19, $11, $0A, $1C, $0E, $24, $00, $00, $2A, $C4 ; CPU:$BD1B PRG:3D1B 19 1F 13 2A 76 08 19 11 0A 1C 0E 24 00 00 2A C4 - .byte $0A, $19, $18, $12, $17, $1D, $24, $00, $00, $00, $00, $2A, $E4, $0A, $1C, $1D ; CPU:$BD2B PRG:3D2B 0A 19 18 12 17 1D 24 00 00 00 00 2A E4 0A 1C 1D - .byte $0E, $19, $24, $24, $24, $00, $00, $00, $2B, $04, $0A, $19, $0A, $1B, $24, $24 ; CPU:$BD3B PRG:3D3B 0E 19 24 24 24 00 00 00 2B 04 0A 19 0A 1B 24 24 - .byte $24, $24, $00, $00, $00, $2B, $24, $0A, $0B, $18, $17, $1E, $1C, $24, $24, $03 ; CPU:$BD4B PRG:3D4B 24 24 00 00 00 2B 24 0A 0B 18 17 1E 1C 24 24 03 - .byte $00, $00, $2B, $BE, $42, $27, $2B, $E0, $20, $55, $55, $55, $55, $55, $55, $55 ; CPU:$BD5B PRG:3D5B 00 00 2B BE 42 27 2B E0 20 55 55 55 55 55 55 55 - .byte $55, $55, $A5, $65, $55, $55, $55, $55, $55, $55, $5A, $56, $55, $55, $55, $55 ; CPU:$BD6B PRG:3D6B 55 55 A5 65 55 55 55 55 55 55 5A 56 55 55 55 55 - .byte $55, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $2A, $64, $0B, $0D, $12, $1B ; CPU:$BD7B PRG:3D7B 55 FF FF FF FF FF FF FF FF 00 2A 64 0B 0D 12 1B - .byte $0E, $0C, $1D, $13, $24, $24, $24, $24, $00, $2A, $64, $0B, $16, $0E, $16, $18 ; CPU:$BD8B PRG:3D8B 0E 0C 1D 13 24 24 24 24 00 2A 64 0B 16 0E 16 18 - .byte $1B, $22, $13, $24, $24, $24, $24, $2B, $84, $14, $DC, $DD, $24, $DE, $DF, $24 ; CPU:$BD9B PRG:3D9B 1B 22 13 24 24 24 24 2B 84 14 DC DD 24 DE DF 24 - .byte $E0, $E1, $24, $E2, $E3, $24, $E6, $E7, $24, $E4, $E5, $24, $E8, $E9, $2B, $F8 ; CPU:$BDAB PRG:3DAB E0 E1 24 E2 E3 24 E6 E7 24 E4 E5 24 E8 E9 2B F8 - .byte $47, $AA, $00, $2A, $63, $0C, $0F, $0B, $12, $17, $10, $18, $24, $1A, $02, $19 ; CPU:$BDBB PRG:3DBB 47 AA 00 2A 63 0C 0F 0B 12 17 10 18 24 1A 02 19 - .byte $1F, $13, $2A, $8D, $11, $BB, $C0, $C0, $C0, $C0, $C0, $BC, $24, $BB, $C0, $C0 ; CPU:$BDCB PRG:3DCB 1F 13 2A 8D 11 BB C0 C0 C0 C0 C0 BC 24 BB C0 C0 - .byte $C0, $C0, $C0, $C0, $C0, $BC, $2A, $AD, $C6, $BF, $2A, $B3, $C6, $C1, $2A, $B5 ; CPU:$BDDB PRG:3DDB C0 C0 C0 C0 C0 BC 2A AD C6 BF 2A B3 C6 C1 2A B5 - .byte $C6, $BF, $2A, $BD, $C6, $C1, $2B, $6D, $11, $BD, $C2, $C2, $C2, $C2, $C2, $BE ; CPU:$BDEB PRG:3DEB C6 BF 2A BD C6 C1 2B 6D 11 BD C2 C2 C2 C2 C2 BE - .byte $24, $BD, $C2, $C2, $C2, $C2, $C2, $C2, $C2, $BE, $2A, $F4, $82, $C3, $C4, $2A ; CPU:$BDFB PRG:3DFB 24 BD C2 C2 C2 C2 C2 C2 C2 BE 2A F4 82 C3 C4 2A - .byte $F0, $C2, $CE, $2B, $2F, $43, $CE, $2B, $4E, $05, $C8, $C9, $CA, $CB, $CC, $2A ; CPU:$BE0B PRG:3E0B F0 C2 CE 2B 2F 43 CE 2B 4E 05 C8 C9 CA CB CC 2A - .byte $D6, $07, $0C, $18, $16, $19, $0E, $1D, $0E, $2A, $F8, $03, $EA, $18, $1B, $2B ; CPU:$BE1B PRG:3E1B D6 07 0C 18 16 19 0E 1D 0E 2A F8 03 EA 18 1B 2B - .byte $16, $07, $0B, $15, $18, $0C, $14, $1C, $ED, $2B, $E0, $18, $55, $55, $55, $55 ; CPU:$BE2B PRG:3E2B 16 07 0B 15 18 0C 14 1C ED 2B E0 18 55 55 55 55 - .byte $55, $55, $55, $55, $AA, $AA, $AA, $55, $55, $55, $55, $55, $AA, $AA, $AA, $55 ; CPU:$BE3B PRG:3E3B 55 55 55 55 AA AA AA 55 55 55 55 55 AA AA AA 55 - .byte $55, $55, $55, $55, $00, $23, $C0, $20, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$BE4B PRG:3E4B 55 55 55 55 00 23 C0 20 FF FF FF FF FF FF FF FF - .byte $3F, $AF, $AF, $AF, $AF, $AF, $AF, $CF, $BB, $22, $00, $00, $00, $00, $88, $EE ; CPU:$BE5B PRG:3E5B 3F AF AF AF AF AF AF CF BB 22 00 00 00 00 88 EE - .byte $BB, $22, $00, $00, $00, $00, $88, $EE, $23, $E0, $20, $BB, $22, $00, $00, $00 ; CPU:$BE6B PRG:3E6B BB 22 00 00 00 00 88 EE 23 E0 20 BB 22 00 00 00 - .byte $00, $88, $EE, $BB, $22, $00, $00, $00, $00, $88, $EE, $33, $A0, $A0, $A0, $A0 ; CPU:$BE7B PRG:3E7B 00 88 EE BB 22 00 00 00 00 88 EE 33 A0 A0 A0 A0 - .byte $A0, $A0, $CC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $20, $00, $60, $F9, $20 ; CPU:$BE8B PRG:3E8B A0 A0 CC FF FF FF FF FF FF FF FF 20 00 60 F9 20 - .byte $20, $60, $FA, $20, $40, $60, $F9, $20, $60, $60, $FA, $20, $80, $60, $F9, $20 ; CPU:$BE9B PRG:3E9B 20 60 FA 20 40 60 F9 20 60 60 FA 20 80 60 F9 20 - .byte $A0, $60, $FA, $20, $C0, $96, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA ; CPU:$BEAB PRG:3EAB A0 60 FA 20 C0 96 F9 FA F9 FA F9 FA F9 FA F9 FA - .byte $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $20, $C1, $96, $F9 ; CPU:$BEBB PRG:3EBB F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA 20 C1 96 F9 - .byte $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9 ; CPU:$BECB PRG:3ECB FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 - .byte $FA, $F9, $FA, $F9, $FA, $20, $DE, $96, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA ; CPU:$BEDB PRG:3EDB FA F9 FA F9 FA 20 DE 96 F9 FA F9 FA F9 FA F9 FA - .byte $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $20, $DF ; CPU:$BEEB PRG:3EEB F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA 20 DF - .byte $96, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9, $FA, $F9 ; CPU:$BEFB PRG:3EFB 96 F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 FA F9 - .byte $FA, $F9, $FA, $F9, $FA, $F9, $FA, $23, $80, $60, $F9, $23, $A0, $60, $FA, $20 ; CPU:$BF0B PRG:3F0B FA F9 FA F9 FA F9 FA 23 80 60 F9 23 A0 60 FA 20 - .byte $E6, $14, $4E, $51, $52, $55, $24, $4A, $4D, $24, $24, $24, $24, $24, $42, $43 ; CPU:$BF1B PRG:3F1B E6 14 4E 51 52 55 24 4A 4D 24 24 24 24 24 42 43 - .byte $46, $47, $56, $59, $5E, $61, $23, $46, $14, $24, $E6, $E7, $24, $24, $DE, $DF ; CPU:$BF2B PRG:3F2B 46 47 56 59 5E 61 23 46 14 24 E6 E7 24 24 DE DF - .byte $24, $24, $24, $24, $24, $24, $DC, $DD, $24, $24, $E4, $E5, $24, $21, $43, $02 ; CPU:$BF3B PRG:3F3B 24 24 24 24 24 24 DC DD 24 24 E4 E5 24 21 43 02 - .byte $E0, $E1, $21, $A3, $02, $DC, $DD, $22, $63, $02, $DE, $DF, $22, $C3, $02, $E2 ; CPU:$BF4B PRG:3F4B E0 E1 21 A3 02 DC DD 22 63 02 DE DF 22 C3 02 E2 - .byte $E3, $21, $5B, $02, $62, $65, $21, $BA, $04, $42, $43, $46, $47, $22, $7B, $02 ; CPU:$BF5B PRG:3F5B E3 21 5B 02 62 65 21 BA 04 42 43 46 47 22 7B 02 - .byte $4A, $4D, $22, $DA, $04, $6A, $6B, $6C, $6D, $00, $21, $C0, $60, $F9, $21, $E0 ; CPU:$BF6B PRG:3F6B 4A 4D 22 DA 04 6A 6B 6C 6D 00 21 C0 60 F9 21 E0 - .byte $60, $FA, $22, $00, $60, $F9, $22, $20, $60, $FA, $22, $40, $60, $F9, $22, $60 ; CPU:$BF7B PRG:3F7B 60 FA 22 00 60 F9 22 20 60 FA 22 40 60 F9 22 60 - .byte $60, $FA, $22, $80, $60, $F9, $22, $A0, $60, $FA, $22, $C0, $60, $F9, $22, $E0 ; CPU:$BF8B PRG:3F8B 60 FA 22 80 60 F9 22 A0 60 FA 22 C0 60 F9 22 E0 - .byte $60, $FA, $23, $00, $60, $F9, $23, $20, $60, $FA, $23, $40, $60, $F9, $23, $60 ; CPU:$BF9B PRG:3F9B 60 FA 23 00 60 F9 23 20 60 FA 23 40 60 F9 23 60 - .byte $60, $FA, $23, $80, $60, $F9, $23, $A0, $60, $FA, $00, $23, $D8, $28, $FF, $FF ; CPU:$BFAB PRG:3FAB 60 FA 23 80 60 F9 23 A0 60 FA 00 23 D8 28 FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $0F, $0F, $CF, $FF, $FF, $FF, $FF ; CPU:$BFBB PRG:3FBB FF FF FF FF FF FF FF FF 3F 0F 0F CF FF FF FF FF - .byte $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$BFCB PRG:3FCB 33 00 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $00, $22, $40, $20, $30, $31, $31, $32, $30, $31 ; CPU:$BFDB PRG:3FDB FF FF FF FF FF FF 00 22 40 20 30 31 31 32 30 31 - .byte $31, $32, $8A, $8B, $8C, $B9, $30, $31, $31, $32, $30, $31, $31, $32, $30, $31 ; CPU:$BFEB PRG:3FEB 31 32 8A 8B 8C B9 30 31 31 32 30 31 31 32 30 31 - .byte $31, $32, $30, $31, $31, $32, $30, $31, $31, $32, $22, $60, $20, $33, $34, $34 ; CPU:$BFFB PRG:3FFB 31 32 30 31 31 32 30 31 31 32 22 60 20 33 34 34 - .byte $35, $33, $34, $34, $35, $8D, $8E, $8F, $BA, $33, $34, $34, $35, $33, $34, $34 ; CPU:$C00B PRG:400B 35 33 34 34 35 8D 8E 8F BA 33 34 34 35 33 34 34 - .byte $35, $33, $34, $34, $35, $33, $34, $34, $35, $33, $34, $34, $35, $22, $80, $20 ; CPU:$C01B PRG:401B 35 33 34 34 35 33 34 34 35 33 34 34 35 22 80 20 - .byte $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38 ; CPU:$C02B PRG:402B 36 37 37 38 36 37 37 38 36 37 37 38 36 37 37 38 - .byte $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38, $36, $37, $37, $38 ; CPU:$C03B PRG:403B 36 37 37 38 36 37 37 38 36 37 37 38 36 37 37 38 - .byte $22, $A0, $20, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E ; CPU:$C04B PRG:404B 22 A0 20 6E 39 39 3A 6E 39 39 3A 6E 39 39 3A 6E - .byte $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E, $39, $39, $3A, $6E ; CPU:$C05B PRG:405B 39 39 3A 6E 39 39 3A 6E 39 39 3A 6E 39 39 3A 6E - .byte $39, $39, $3A, $23, $D8, $28, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $0F ; CPU:$C06B PRG:406B 39 39 3A 23 D8 28 FF FF FF FF FF FF FF FF 0F 0F - .byte $0F, $0F, $0F, $0F, $0F, $0F, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $FF, $FF ; CPU:$C07B PRG:407B 0F 0F 0F 0F 0F 0F F0 F0 F0 F0 F0 F0 F0 F0 FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $20 ; CPU:$C08B PRG:408B FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 20 - .byte $6B, $4B, $24, $20, $8B, $0B, $24, $1D, $12, $16, $0E, $24, $05, $FF, $00, $00 ; CPU:$C09B PRG:409B 6B 4B 24 20 8B 0B 24 1D 12 16 0E 24 05 FF 00 00 - .byte $24, $20, $AB, $4B, $24, $23, $C8, $08, $3F, $AF, $AF, $A5, $A5, $AD, $AF, $CF ; CPU:$C0AB PRG:40AB 24 20 AB 4B 24 23 C8 08 3F AF AF A5 A5 AD AF CF - .byte $00, $76, $C1, $7E, $C1, $86, $C1, $8E, $C1, $96, $C1, $9E, $C1, $A1, $C1, $A4 ; CPU:$C0BB PRG:40BB 00 76 C1 7E C1 86 C1 8E C1 96 C1 9E C1 A1 C1 A4 - .byte $C1, $A7, $C1, $AA, $C1, $B2, $C1, $BA, $C1, $C2, $C1, $CA, $C1, $D2, $C1, $DA ; CPU:$C0CB PRG:40CB C1 A7 C1 AA C1 B2 C1 BA C1 C2 C1 CA C1 D2 C1 DA - .byte $C1, $E2, $C1, $EA, $C1, $F0, $C1, $F6, $C1, $F8, $C1, $06, $C2, $14, $C2, $22 ; CPU:$C0DB PRG:40DB C1 E2 C1 EA C1 F0 C1 F6 C1 F8 C1 06 C2 14 C2 22 - .byte $C2, $30, $C2, $3E, $C2, $4C, $C2, $5A, $C2, $68, $C2, $6E, $C2, $6E, $C2, $6E ; CPU:$C0EB PRG:40EB C2 30 C2 3E C2 4C C2 5A C2 68 C2 6E C2 6E C2 6E - .byte $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $6E, $C2, $75, $C2, $7C, $C2, $83 ; CPU:$C0FB PRG:40FB C2 6E C2 6E C2 6E C2 6E C2 6E C2 75 C2 7C C2 83 - .byte $C2, $8A, $C2, $90, $C2, $96, $C2, $9C, $C2, $9F, $C2, $A5, $C2, $A8, $C2, $AF ; CPU:$C10B PRG:410B C2 8A C2 90 C2 96 C2 9C C2 9F C2 A5 C2 A8 C2 AF - .byte $C2, $B6, $C2, $BD, $C2, $C4, $C2, $CB, $C2, $D2, $C2, $D9, $C2, $E0, $C2, $E7 ; CPU:$C11B PRG:411B C2 B6 C2 BD C2 C4 C2 CB C2 D2 C2 D9 C2 E0 C2 E7 - .byte $C2, $EE, $C2, $F5, $C2, $FC, $C2, $04, $C3, $07, $C3, $0F, $C3, $12, $C3, $1B ; CPU:$C12B PRG:412B C2 EE C2 F5 C2 FC C2 04 C3 07 C3 0F C3 12 C3 1B - .byte $C3, $1E, $C3, $27, $C3, $2A, $C3, $32, $C3, $35, $C3, $3B, $C3, $41, $C3, $41 ; CPU:$C13B PRG:413B C3 1E C3 27 C3 2A C3 32 C3 35 C3 3B C3 41 C3 41 - .byte $C3, $41, $C3, $41, $C3, $41, $C3, $41, $C3, $41, $C3, $4E, $C3, $5B, $C3, $68 ; CPU:$C14B PRG:414B C3 41 C3 41 C3 41 C3 41 C3 41 C3 4E C3 5B C3 68 - .byte $C3, $75, $C3, $82, $C3, $8F, $C3, $9C, $C3, $A9, $C3, $B6, $C3, $C3, $C3, $D0 ; CPU:$C15B PRG:415B C3 75 C3 82 C3 8F C3 9C C3 A9 C3 B6 C3 C3 C3 D0 - .byte $C3, $DD, $C3, $EA, $C3, $F7, $C3, $04, $C4, $11, $C4, $1E, $C4, $5A, $5B, $5C ; CPU:$C16B PRG:416B C3 DD C3 EA C3 F7 C3 04 C4 11 C4 1E C4 5A 5B 5C - .byte $5A, $5B, $5C, $31, $C4, $9A, $9B, $9C, $9D, $9E, $9F, $44, $C4, $9A, $A1, $A2 ; CPU:$C17B PRG:417B 5A 5B 5C 31 C4 9A 9B 9C 9D 9E 9F 44 C4 9A A1 A2 - .byte $9D, $A4, $A5, $31, $C4, $9A, $A1, $A8, $9D, $AA, $AB, $57, $C4, $9A, $AD, $AE ; CPU:$C18B PRG:418B 9D A4 A5 31 C4 9A A1 A8 9D AA AB 57 C4 9A AD AE - .byte $9D, $B0, $B1, $01, $00, $40, $02, $00, $40, $03, $00, $40, $04, $00, $40, $1E ; CPU:$C19B PRG:419B 9D B0 B1 01 00 40 02 00 40 03 00 40 04 00 40 1E - .byte $C4, $5A, $5B, $5C, $5A, $5B, $5C, $1E, $C4, $76, $77, $78, $76, $77, $78, $1E ; CPU:$C1AB PRG:41AB C4 5A 5B 5C 5A 5B 5C 1E C4 76 77 78 76 77 78 1E - .byte $C4, $7C, $7D, $7E, $7C, $7D, $7E, $1E, $C4, $7C, $CB, $CC, $7C, $CB, $CC, $1E ; CPU:$C1BB PRG:41BB C4 7C 7D 7E 7C 7D 7E 1E C4 7C CB CC 7C CB CC 1E - .byte $C4, $B2, $B3, $B4, $B2, $B3, $B4, $1E, $C4, $B8, $B9, $BA, $B8, $B9, $BA, $1E ; CPU:$C1CB PRG:41CB C4 B2 B3 B4 B2 B3 B4 1E C4 B8 B9 BA B8 B9 BA 1E - .byte $C4, $B2, $BF, $C0, $B2, $BF, $C0, $1E, $C4, $B2, $C5, $C6, $B2, $C5, $C6, $8F ; CPU:$C1DB PRG:41DB C4 B2 BF C0 B2 BF C0 1E C4 B2 C5 C6 B2 C5 C6 8F - .byte $C4, $3D, $58, $58, $40, $9C, $C4, $24, $23, $23, $24, $A9, $C4, $6A, $C4, $3D ; CPU:$C1EB PRG:41EB C4 3D 58 58 40 9C C4 24 23 23 24 A9 C4 6A C4 3D - .byte $58, $58, $40, $41, $59, $59, $2C, $20, $21, $21, $22, $6A, $C4, $18, $19, $1A ; CPU:$C1FB PRG:41FB 58 58 40 41 59 59 2C 20 21 21 22 6A C4 18 19 1A - .byte $1B, $1C, $1D, $1E, $1F, $20, $21, $21, $22, $6A, $C4, $3D, $26, $27, $28, $41 ; CPU:$C20B PRG:420B 1B 1C 1D 1E 1F 20 21 21 22 6A C4 3D 26 27 28 41 - .byte $2A, $2B, $2C, $20, $21, $21, $22, $6A, $C4, $3D, $3E, $3F, $40, $41, $42, $43 ; CPU:$C21B PRG:421B 2A 2B 2C 20 21 21 22 6A C4 3D 3E 3F 40 41 42 43 - .byte $2C, $20, $21, $21, $22, $6A, $C4, $44, $45, $46, $47, $48, $49, $4A, $4B, $20 ; CPU:$C22B PRG:422B 2C 20 21 21 22 6A C4 44 45 46 47 48 49 4A 4B 20 - .byte $21, $21, $22, $6A, $C4, $2D, $2E, $2F, $30, $31, $32, $33, $34, $20, $21, $21 ; CPU:$C23B PRG:423B 21 21 22 6A C4 2D 2E 2F 30 31 32 33 34 20 21 21 - .byte $22, $6A, $C4, $35, $36, $37, $38, $39, $3A, $3B, $3C, $20, $21, $21, $22, $6A ; CPU:$C24B PRG:424B 22 6A C4 35 36 37 38 39 3A 3B 3C 20 21 21 22 6A - .byte $C4, $3D, $4C, $4D, $40, $41, $4E, $4F, $2C, $20, $21, $21, $22, $AA, $C4, $59 ; CPU:$C25B PRG:425B C4 3D 4C 4D 40 41 4E 4F 2C 20 21 21 22 AA C4 59 - .byte $59, $59, $59, $DE, $C4, $12, $13, $14, $15, $10, $EE, $C4, $12, $13, $14, $15 ; CPU:$C26B PRG:426B 59 59 59 DE C4 12 13 14 15 10 EE C4 12 13 14 15 - .byte $10, $FE, $C4, $12, $13, $14, $15, $11, $DE, $C4, $12, $13, $14, $15, $11, $B7 ; CPU:$C27B PRG:427B 10 FE C4 12 13 14 15 11 DE C4 12 13 14 15 11 B7 - .byte $C4, $D0, $D1, $D0, $D1, $B7, $C4, $D2, $D3, $D2, $D3, $C4, $C4, $D4, $D5, $D6 ; CPU:$C28B PRG:428B C4 D0 D1 D0 D1 B7 C4 D2 D3 D2 D3 C4 C4 D4 D5 D6 - .byte $D7, $2A, $00, $40, $D1, $C4, $D7, $D6, $D5, $D4, $2C, $00, $40, $DE, $C4, $04 ; CPU:$C29B PRG:429B D7 2A 00 40 D1 C4 D7 D6 D5 D4 2C 00 40 DE C4 04 - .byte $05, $06, $07, $10, $DE, $C4, $08, $09, $0A, $0B, $10, $DE, $C4, $0C, $0D, $0E ; CPU:$C2AB PRG:42AB 05 06 07 10 DE C4 08 09 0A 0B 10 DE C4 0C 0D 0E - .byte $0F, $10, $EE, $C4, $04, $05, $06, $07, $10, $EE, $C4, $08, $09, $0A, $0B, $10 ; CPU:$C2BB PRG:42BB 0F 10 EE C4 04 05 06 07 10 EE C4 08 09 0A 0B 10 - .byte $EE, $C4, $0C, $0D, $0E, $0F, $10, $FE, $C4, $04, $05, $06, $07, $11, $FE, $C4 ; CPU:$C2CB PRG:42CB EE C4 0C 0D 0E 0F 10 FE C4 04 05 06 07 11 FE C4 - .byte $08, $09, $0A, $0B, $11, $FE, $C4, $0C, $0D, $0E, $0F, $11, $DE, $C4, $04, $05 ; CPU:$C2DB PRG:42DB 08 09 0A 0B 11 FE C4 0C 0D 0E 0F 11 DE C4 04 05 - .byte $06, $07, $11, $DE, $C4, $08, $09, $0A, $0B, $11, $DE, $C4, $0C, $0D, $0E, $0F ; CPU:$C2EB PRG:42EB 06 07 11 DE C4 08 09 0A 0B 11 DE C4 0C 0D 0E 0F - .byte $11, $11, $C5, $DA, $D9, $E0, $DC, $DB, $DF, $3A, $00, $40, $27, $C5, $DF, $DB ; CPU:$C2FB PRG:42FB 11 11 C5 DA D9 E0 DC DB DF 3A 00 40 27 C5 DF DB - .byte $DC, $E0, $D9, $DA, $3C, $00, $40, $0E, $C5, $E1, $DA, $D9, $E0, $DC, $DB, $DF ; CPU:$C30B PRG:430B DC E0 D9 DA 3C 00 40 0E C5 E1 DA D9 E0 DC DB DF - .byte $3E, $00, $40, $24, $C5, $E1, $DF, $DB, $DC, $E0, $D9, $DA, $40, $00, $40, $3A ; CPU:$C31B PRG:431B 3E 00 40 24 C5 E1 DF DB DC E0 D9 DA 40 00 40 3A - .byte $C5, $E6, $E7, $E8, $E9, $EA, $EB, $42, $00, $40, $4D, $C5, $E2, $E3, $E2, $E3 ; CPU:$C32B PRG:432B C5 E6 E7 E8 E9 EA EB 42 00 40 4D C5 E2 E3 E2 E3 - .byte $4D, $C5, $E4, $E5, $E4, $E5, $26, $C6, $90, $91, $92, $5A, $5A, $89, $89, $8A ; CPU:$C33B PRG:433B 4D C5 E4 E5 E4 E5 26 C6 90 91 92 5A 5A 89 89 8A - .byte $8A, $5C, $5C, $5A, $C5, $90, $91, $92, $80, $9A, $9D, $81, $9B, $82, $9C, $9F ; CPU:$C34B PRG:434B 8A 5C 5C 5A C5 90 91 92 80 9A 9D 81 9B 82 9C 9F - .byte $7C, $C5, $90, $91, $92, $80, $9A, $9D, $81, $83, $82, $A2, $A5, $5A, $C5, $90 ; CPU:$C35B PRG:435B 7C C5 90 91 92 80 9A 9D 81 83 82 A2 A5 5A C5 90 - .byte $91, $92, $80, $9A, $9D, $81, $85, $82, $A8, $AB, $5A, $C5, $90, $91, $92, $80 ; CPU:$C36B PRG:436B 91 92 80 9A 9D 81 85 82 A8 AB 5A C5 90 91 92 80 - .byte $9A, $9D, $81, $87, $82, $AE, $B1, $C0, $C5, $90, $91, $92, $9D, $9A, $80, $81 ; CPU:$C37B PRG:437B 9A 9D 81 87 82 AE B1 C0 C5 90 91 92 9D 9A 80 81 - .byte $82, $9B, $9F, $9C, $E2, $C5, $90, $91, $92, $9D, $9A, $80, $81, $82, $83, $A5 ; CPU:$C38B PRG:438B 82 9B 9F 9C E2 C5 90 91 92 9D 9A 80 81 82 83 A5 - .byte $A2, $C0, $C5, $90, $91, $92, $9D, $9A, $80, $81, $82, $85, $AB, $A8, $04, $C6 ; CPU:$C39B PRG:439B A2 C0 C5 90 91 92 9D 9A 80 81 82 85 AB A8 04 C6 - .byte $90, $91, $92, $9D, $9A, $80, $81, $82, $87, $B1, $AE, $26, $C6, $90, $91, $92 ; CPU:$C3AB PRG:43AB 90 91 92 9D 9A 80 81 82 87 B1 AE 26 C6 90 91 92 - .byte $5A, $5A, $89, $89, $8A, $8A, $5C, $5C, $48, $C6, $90, $91, $92, $76, $76, $89 ; CPU:$C3BB PRG:43BB 5A 5A 89 89 8A 8A 5C 5C 48 C6 90 91 92 76 76 89 - .byte $89, $8B, $8B, $78, $78, $6A, $C6, $90, $91, $92, $7C, $7C, $89, $89, $8C, $8C ; CPU:$C3CB PRG:43CB 89 8B 8B 78 78 6A C6 90 91 92 7C 7C 89 89 8C 8C - .byte $7E, $7E, $6A, $C6, $90, $91, $92, $7C, $7C, $89, $89, $8C, $8C, $CC, $CC, $26 ; CPU:$C3DB PRG:43DB 7E 7E 6A C6 90 91 92 7C 7C 89 89 8C 8C CC CC 26 - .byte $C6, $90, $91, $92, $B2, $B2, $89, $89, $8D, $8D, $B4, $B4, $48, $C6, $90, $91 ; CPU:$C3EB PRG:43EB C6 90 91 92 B2 B2 89 89 8D 8D B4 B4 48 C6 90 91 - .byte $92, $B8, $B8, $89, $89, $8E, $8E, $BA, $BA, $26, $C6, $90, $91, $92, $B2, $B2 ; CPU:$C3FB PRG:43FB 92 B8 B8 89 89 8E 8E BA BA 26 C6 90 91 92 B2 B2 - .byte $89, $89, $8D, $8D, $C0, $C0, $26, $C6, $90, $91, $92, $B2, $B2, $89, $89, $8D ; CPU:$C40B PRG:440B 89 89 8D 8D C0 C0 26 C6 90 91 92 B2 B2 89 89 8D - .byte $8D, $C6, $C6, $00, $EA, $F8, $00, $F2, $F8, $00, $FA, $F8, $40, $EA, $FF, $40 ; CPU:$C41B PRG:441B 8D C6 C6 00 EA F8 00 F2 F8 00 FA F8 40 EA FF 40 - .byte $F2, $FF, $40, $FA, $FF, $10, $00, $EA, $F8, $00, $F2, $F8, $00, $FA, $F8, $00 ; CPU:$C42B PRG:442B F2 FF 40 FA FF 10 00 EA F8 00 F2 F8 00 FA F8 00 - .byte $EA, $00, $00, $F2, $00, $00, $FA, $00, $10, $00, $ED, $F8, $00, $F5, $F8, $00 ; CPU:$C43B PRG:443B EA 00 00 F2 00 00 FA 00 10 00 ED F8 00 F5 F8 00 - .byte $FD, $F8, $00, $ED, $00, $00, $F5, $00, $00, $FD, $00, $10, $00, $EB, $F8, $00 ; CPU:$C44B PRG:444B FD F8 00 ED 00 00 F5 00 00 FD 00 10 00 EB F8 00 - .byte $F3, $F8, $00, $FB, $F8, $00, $EB, $00, $00, $F3, $00, $00, $FB, $00, $10, $00 ; CPU:$C45B PRG:445B F3 F8 00 FB F8 00 EB 00 00 F3 00 00 FB 00 10 00 - .byte $F8, $F0, $00, $F8, $F8, $00, $F8, $00, $00, $F8, $08, $00, $00, $F0, $00, $00 ; CPU:$C46B PRG:446B F8 F0 00 F8 F8 00 F8 00 00 F8 08 00 00 F0 00 00 - .byte $F8, $00, $00, $00, $00, $00, $08, $00, $08, $F0, $00, $08, $F8, $00, $08, $00 ; CPU:$C47B PRG:447B F8 00 00 00 00 00 08 00 08 F0 00 08 F8 00 08 00 - .byte $00, $08, $08, $10, $20, $10, $F0, $20, $10, $F8, $20, $10, $00, $20, $10, $08 ; CPU:$C48B PRG:448B 00 08 08 10 20 10 F0 20 10 F8 20 10 00 20 10 08 - .byte $10, $60, $10, $F0, $20, $10, $F8, $20, $10, $00, $20, $10, $08, $10, $14, $00 ; CPU:$C49B PRG:449B 10 60 10 F0 20 10 F8 20 10 00 20 10 08 10 14 00 - .byte $F8, $F0, $00, $F8, $F8, $00, $F8, $00, $00, $F8, $08, $10, $00, $F4, $F8, $00 ; CPU:$C4AB PRG:44AB F8 F0 00 F8 F8 00 F8 00 00 F8 08 10 00 F4 F8 00 - .byte $FC, $F8, $40, $F4, $00, $40, $FC, $00, $10, $00, $F4, $F8, $00, $FC, $F8, $00 ; CPU:$C4BB PRG:44BB FC F8 40 F4 00 40 FC 00 10 00 F4 F8 00 FC F8 00 - .byte $F4, $00, $00, $FC, $00, $10, $C0, $F4, $F8, $C0, $FC, $F8, $C0, $F4, $00, $C0 ; CPU:$C4CB PRG:44CB F4 00 00 FC 00 10 C0 F4 F8 C0 FC F8 C0 F4 00 C0 - .byte $FC, $00, $10, $00, $F8, $F8, $00, $F8, $00, $00, $00, $F8, $00, $00, $00, $03 ; CPU:$C4DB PRG:44DB FC 00 10 00 F8 F8 00 F8 00 00 00 F8 00 00 00 03 - .byte $FC, $FC, $10, $00, $F8, $F8, $00, $F8, $00, $00, $00, $F8, $00, $00, $00, $43 ; CPU:$C4EB PRG:44EB FC FC 10 00 F8 F8 00 F8 00 00 00 F8 00 00 00 43 - .byte $FC, $FC, $10, $00, $F8, $F8, $00, $F8, $00, $00, $00, $F8, $00, $00, $00, $83 ; CPU:$C4FB PRG:44FB FC FC 10 00 F8 F8 00 F8 00 00 00 F8 00 00 00 83 - .byte $FC, $FC, $10, $00, $EB, $FF, $00, $E8, $FA, $00, $E8, $02, $00, $F0, $F2, $00 ; CPU:$C50B PRG:450B FC FC 10 00 EB FF 00 E8 FA 00 E8 02 00 F0 F2 00 - .byte $F0, $FA, $00, $F0, $02, $00, $F8, $FA, $10, $C0, $F1, $FB, $C0, $E4, $FE, $C0 ; CPU:$C51B PRG:451B F0 FA 00 F0 02 00 F8 FA 10 C0 F1 FB C0 E4 FE C0 - .byte $EC, $F6, $C0, $EC, $FE, $C0, $EC, $06, $C0, $F4, $F6, $C0, $F4, $FE, $10, $00 ; CPU:$C52B PRG:452B EC F6 C0 EC FE C0 EC 06 C0 F4 F6 C0 F4 FE 10 00 - .byte $F2, $F8, $00, $FA, $F8, $00, $F2, $00, $00, $FA, $00, $00, $F2, $08, $00, $FA ; CPU:$C53B PRG:453B F2 F8 00 FA F8 00 F2 00 00 FA 00 00 F2 08 00 FA - .byte $08, $10, $00, $F2, $F8, $00, $FA, $F8, $40, $F2, $00, $40, $FA, $00, $10, $00 ; CPU:$C54B PRG:454B 08 10 00 F2 F8 00 FA F8 40 F2 00 40 FA 00 10 00 - .byte $E2, $F5, $00, $E2, $FD, $00, $E2, $05, $00, $EA, $F3, $00, $EA, $F8, $00, $EA ; CPU:$C55B PRG:455B E2 F5 00 E2 FD 00 E2 05 00 EA F3 00 EA F8 00 EA - .byte $00, $00, $ED, $08, $00, $F2, $F8, $00, $F2, $00, $00, $FA, $F8, $00, $FA, $00 ; CPU:$C56B PRG:456B 00 00 ED 08 00 F2 F8 00 F2 00 00 FA F8 00 FA 00 - .byte $10, $00, $E5, $F5, $00, $E5, $FD, $00, $E5, $05, $00, $ED, $F3, $00, $ED, $F8 ; CPU:$C57B PRG:457B 10 00 E5 F5 00 E5 FD 00 E5 05 00 ED F3 00 ED F8 - .byte $00, $ED, $00, $00, $F0, $08, $00, $F5, $F8, $00, $F5, $00, $00, $FD, $F8, $00 ; CPU:$C58B PRG:458B 00 ED 00 00 F0 08 00 F5 F8 00 F5 00 00 FD F8 00 - .byte $FD, $00, $10, $00, $E3, $F5, $00, $E3, $FD, $00, $E3, $05, $00, $EB, $F3, $00 ; CPU:$C59B PRG:459B FD 00 10 00 E3 F5 00 E3 FD 00 E3 05 00 EB F3 00 - .byte $EB, $F8, $00, $EB, $00, $00, $EE, $08, $00, $F3, $F8, $00, $F3, $00, $00, $FB ; CPU:$C5AB PRG:45AB EB F8 00 EB 00 00 EE 08 00 F3 F8 00 F3 00 00 FB - .byte $F8, $00, $FB, $00, $10, $00, $E2, $F3, $00, $E2, $FB, $00, $E2, $03, $40, $EA ; CPU:$C5BB PRG:45BB F8 00 FB 00 10 00 E2 F3 00 E2 FB 00 E2 03 40 EA - .byte $F8, $40, $EA, $00, $40, $EA, $05, $40, $ED, $F0, $40, $F2, $F8, $40, $F2, $00 ; CPU:$C5CB PRG:45CB F8 40 EA 00 40 EA 05 40 ED F0 40 F2 F8 40 F2 00 - .byte $40, $FA, $F8, $40, $FA, $00, $10, $00, $E5, $F3, $00, $E5, $FB, $00, $E5, $03 ; CPU:$C5DB PRG:45DB 40 FA F8 40 FA 00 10 00 E5 F3 00 E5 FB 00 E5 03 - .byte $40, $ED, $F8, $40, $ED, $00, $40, $ED, $05, $40, $F0, $F0, $40, $F5, $F8, $40 ; CPU:$C5EB PRG:45EB 40 ED F8 40 ED 00 40 ED 05 40 F0 F0 40 F5 F8 40 - .byte $F5, $00, $40, $FD, $F8, $40, $FD, $00, $10, $00, $E3, $F3, $00, $E3, $FB, $00 ; CPU:$C5FB PRG:45FB F5 00 40 FD F8 40 FD 00 10 00 E3 F3 00 E3 FB 00 - .byte $E3, $03, $40, $EB, $F8, $40, $EB, $00, $40, $EB, $05, $40, $EE, $F0, $40, $F3 ; CPU:$C60B PRG:460B E3 03 40 EB F8 40 EB 00 40 EB 05 40 EE F0 40 F3 - .byte $F8, $40, $F3, $00, $40, $FB, $F8, $40, $FB, $00, $10, $00, $E2, $F4, $00, $E2 ; CPU:$C61B PRG:461B F8 40 F3 00 40 FB F8 40 FB 00 10 00 E2 F4 00 E2 - .byte $FC, $00, $E2, $04, $00, $EA, $F8, $40, $EA, $FF, $00, $EC, $F1, $40, $EC, $06 ; CPU:$C62B PRG:462B FC 00 E2 04 00 EA F8 40 EA FF 00 EC F1 40 EC 06 - .byte $00, $F2, $F8, $40, $F2, $FF, $00, $FA, $F8, $40, $FA, $FF, $10, $00, $E5, $F4 ; CPU:$C63B PRG:463B 00 F2 F8 40 F2 FF 00 FA F8 40 FA FF 10 00 E5 F4 - .byte $00, $E5, $FC, $00, $E5, $04, $00, $EA, $F8, $40, $EA, $FF, $00, $EF, $F1, $40 ; CPU:$C64B PRG:464B 00 E5 FC 00 E5 04 00 EA F8 40 EA FF 00 EF F1 40 - .byte $EF, $06, $00, $F2, $F8, $40, $F2, $FF, $00, $FA, $F8, $40, $FA, $FF, $10, $00 ; CPU:$C65B PRG:465B EF 06 00 F2 F8 40 F2 FF 00 FA F8 40 FA FF 10 00 - .byte $E3, $F4, $00, $E3, $FC, $00, $E3, $04, $00, $EA, $F8, $40, $EA, $FF, $00, $ED ; CPU:$C66B PRG:466B E3 F4 00 E3 FC 00 E3 04 00 EA F8 40 EA FF 00 ED - .byte $F1, $40, $ED, $06, $00, $F2, $F8, $40, $F2, $FF, $00, $FA, $F8, $40, $FA, $FF ; CPU:$C67B PRG:467B F1 40 ED 06 00 F2 F8 40 F2 FF 00 FA F8 40 FA FF - .byte $10, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C68B PRG:468B 10 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:$C69B PRG:469B 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:$C6AB PRG:46AB 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:$C6BB PRG:46BB 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:$C6CB PRG:46CB 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:$C6DB PRG:46DB 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:$C6EB PRG:46EB 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:$C6FB PRG:46FB 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:$C70B PRG:470B 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:$C71B PRG:471B 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:$C72B PRG:472B 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:$C73B PRG:473B 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:$C74B PRG:474B 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:$C75B PRG:475B 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:$C76B PRG:476B 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:$C77B PRG:477B 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:$C78B PRG:478B 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:$C79B PRG:479B 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:$C7AB PRG:47AB 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:$C7BB PRG:47BB 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:$C7CB PRG:47CB 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:$C7DB PRG:47DB 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:$C7EB PRG:47EB 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:$C7FB PRG:47FB 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:$C80B PRG:480B 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:$C81B PRG:481B 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:$C82B PRG:482B 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:$C83B PRG:483B 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:$C84B PRG:484B 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:$C85B PRG:485B 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:$C86B PRG:486B 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:$C87B PRG:487B 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:$C88B PRG:488B 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:$C89B PRG:489B 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:$C8AB PRG:48AB 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:$C8BB PRG:48BB 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:$C8CB PRG:48CB 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:$C8DB PRG:48DB 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:$C8EB PRG:48EB 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:$C8FB PRG:48FB 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:$C90B PRG:490B 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:$C91B PRG:491B 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:$C92B PRG:492B 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:$C93B PRG:493B 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:$C94B PRG:494B 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:$C95B PRG:495B 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:$C96B PRG:496B 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:$C97B PRG:497B 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:$C98B PRG:498B 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:$C99B PRG:499B 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:$C9AB PRG:49AB 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:$C9BB PRG:49BB 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:$C9CB PRG:49CB 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:$C9DB PRG:49DB 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:$C9EB PRG:49EB 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:$C9FB PRG:49FB 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:$CA0B PRG:4A0B 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:$CA1B PRG:4A1B 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:$CA2B PRG:4A2B 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:$CA3B PRG:4A3B 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:$CA4B PRG:4A4B 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:$CA5B PRG:4A5B 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:$CA6B PRG:4A6B 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:$CA7B PRG:4A7B 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:$CA8B PRG:4A8B 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:$CA9B PRG:4A9B 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:$CAAB PRG:4AAB 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:$CABB PRG:4ABB 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:$CACB PRG:4ACB 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:$CADB PRG:4ADB 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:$CAEB PRG:4AEB 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:$CAFB PRG:4AFB 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:$CB0B PRG:4B0B 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:$CB1B PRG:4B1B 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:$CB2B PRG:4B2B 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:$CB3B PRG:4B3B 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:$CB4B PRG:4B4B 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:$CB5B PRG:4B5B 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:$CB6B PRG:4B6B 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:$CB7B PRG:4B7B 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:$CB8B PRG:4B8B 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:$CB9B PRG:4B9B 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:$CBAB PRG:4BAB 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:$CBBB PRG:4BBB 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:$CBCB PRG:4BCB 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:$CBDB PRG:4BDB 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:$CBEB PRG:4BEB 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:$CBFB PRG:4BFB 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:$CC0B PRG:4C0B 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:$CC1B PRG:4C1B 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:$CC2B PRG:4C2B 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:$CC3B PRG:4C3B 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:$CC4B PRG:4C4B 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:$CC5B PRG:4C5B 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:$CC6B PRG:4C6B 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:$CC7B PRG:4C7B 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:$CC8B PRG:4C8B 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:$CC9B PRG:4C9B 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:$CCAB PRG:4CAB 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:$CCBB PRG:4CBB 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:$CCCB PRG:4CCB 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:$CCDB PRG:4CDB 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:$CCEB PRG:4CEB 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:$CCFB PRG:4CFB 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:$CD0B PRG:4D0B 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:$CD1B PRG:4D1B 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:$CD2B PRG:4D2B 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:$CD3B PRG:4D3B 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:$CD4B PRG:4D4B 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:$CD5B PRG:4D5B 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:$CD6B PRG:4D6B 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:$CD7B PRG:4D7B 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:$CD8B PRG:4D8B 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:$CD9B PRG:4D9B 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:$CDAB PRG:4DAB 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:$CDBB PRG:4DBB 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:$CDCB PRG:4DCB 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:$CDDB PRG:4DDB 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:$CDEB PRG:4DEB 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:$CDFB PRG:4DFB 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:$CE0B PRG:4E0B 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:$CE1B PRG:4E1B 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:$CE2B PRG:4E2B 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:$CE3B PRG:4E3B 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:$CE4B PRG:4E4B 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:$CE5B PRG:4E5B 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:$CE6B PRG:4E6B 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:$CE7B PRG:4E7B 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:$CE8B PRG:4E8B 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:$CE9B PRG:4E9B 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:$CEAB PRG:4EAB 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:$CEBB PRG:4EBB 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:$CECB PRG:4ECB 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:$CEDB PRG:4EDB 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:$CEEB PRG:4EEB 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:$CEFB PRG:4EFB 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:$CF0B PRG:4F0B 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:$CF1B PRG:4F1B 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:$CF2B PRG:4F2B 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:$CF3B PRG:4F3B 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:$CF4B PRG:4F4B 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:$CF5B PRG:4F5B 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:$CF6B PRG:4F6B 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:$CF7B PRG:4F7B 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:$CF8B PRG:4F8B 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:$CF9B PRG:4F9B 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:$CFAB PRG:4FAB 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:$CFBB PRG:4FBB 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:$CFCB PRG:4FCB 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:$CFDB PRG:4FDB 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:$CFEB PRG:4FEB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $55, $55, $55, $55, $55, $55, $55, $55, $55, $AA, $40 ; CPU:$CFFB PRG:4FFB FF FF FF FF FF 55 55 55 55 55 55 55 55 55 AA 40 - .byte $FF, $7F, $00, $D4, $00, $FC, $FF, $0F, $00, $50, $26, $00, $FF, $FF, $FF, $02 ; CPU:$D00B PRG:500B FF 7F 00 D4 00 FC FF 0F 00 50 26 00 FF FF FF 02 - .byte $8A, $D8, $FF, $FF, $00, $00, $F4, $DA, $5D, $01, $00, $FC, $FF, $8B, $00, $E2 ; CPU:$D01B PRG:501B 8A D8 FF FF 00 00 F4 DA 5D 01 00 FC FF 8B 00 E2 - .byte $FF, $7F, $00, $52, $89, $FF, $FF, $02, $00, $5D, $0A, $00, $00, $FC, $FF, $FF ; CPU:$D02B PRG:502B FF 7F 00 52 89 FF FF 02 00 5D 0A 00 00 FC FF FF - .byte $03, $80, $7D, $FF, $FF, $03, $00, $F0, $FF, $77, $00, $00, $E0, $FF, $FF, $09 ; CPU:$D03B PRG:503B 03 80 7D FF FF 03 00 F0 FF 77 00 00 E0 FF FF 09 - .byte $00, $D0, $FF, $0F, $E8, $57, $80, $F6, $7F, $00, $00, $00, $FC, $FF, $FF, $03 ; CPU:$D04B PRG:504B 00 D0 FF 0F E8 57 80 F6 7F 00 00 00 FC FF FF 03 - .byte $00, $F0, $FF, $FF, $03, $00, $F0, $FF, $7F, $00, $00, $C0, $FF, $FF, $03, $00 ; CPU:$D05B PRG:505B 00 F0 FF FF 03 00 F0 FF 7F 00 00 C0 FF FF 03 00 - .byte $F0, $FF, $3F, $00, $B7, $A5, $DA, $2D, $01, $00, $00, $FC, $FF, $FF, $03, $00 ; CPU:$D06B PRG:506B F0 FF 3F 00 B7 A5 DA 2D 01 00 00 FC FF FF 03 00 - .byte $FC, $FF, $FF, $03, $00, $F0, $FF, $BF, $00, $00, $C0, $FF, $FF, $00, $00, $F8 ; CPU:$D07B PRG:507B FC FF FF 03 00 F0 FF BF 00 00 C0 FF FF 00 00 F8 - .byte $FF, $3F, $00, $FE, $35, $B5, $02, $00, $00, $C0, $FF, $FF, $3F, $00, $E0, $FF ; CPU:$D08B PRG:508B FF 3F 00 FE 35 B5 02 00 00 C0 FF FF 3F 00 E0 FF - .byte $FF, $3F, $00, $00, $FE, $FF, $03, $00, $00, $FC, $FF, $3F, $00, $C0, $FF, $FF ; CPU:$D09B PRG:509B FF 3F 00 00 FE FF 03 00 00 FC FF 3F 00 C0 FF FF - .byte $03, $80, $FF, $2F, $00, $00, $00, $40, $FF, $FF, $FF, $00, $40, $FF, $FF, $FF ; CPU:$D0AB PRG:50AB 03 80 FF 2F 00 00 00 40 FF FF FF 00 40 FF FF FF - .byte $03, $00, $F0, $FF, $02, $00, $00, $F0, $FF, $FF, $02, $40, $FF, $FF, $0F, $00 ; CPU:$D0BB PRG:50BB 03 00 F0 FF 02 00 00 F0 FF FF 02 40 FF FF 0F 00 - .byte $FC, $FF, $02, $00, $00, $00, $FF, $FF, $FF, $03, $00, $FC, $FF, $FF, $03, $00 ; CPU:$D0CB PRG:50CB FC FF 02 00 00 00 FF FF FF 03 00 FC FF FF 03 00 - .byte $C0, $FF, $43, $00, $00, $F0, $FF, $FF, $02, $C0, $FF, $FF, $0B, $00, $FC, $FF ; CPU:$D0DB PRG:50DB C0 FF 43 00 00 F0 FF FF 02 C0 FF FF 0B 00 FC FF - .byte $00, $00, $00, $80, $FF, $FF, $FF, $00, $80, $FF, $FF, $FF, $03, $0C, $F0, $1F ; CPU:$D0EB PRG:50EB 00 00 00 80 FF FF FF 00 80 FF FF FF 03 0C F0 1F - .byte $80, $00, $00, $F0, $FF, $FF, $00, $E0, $FF, $FF, $03, $00, $FC, $FF, $02, $00 ; CPU:$D0FB PRG:50FB 80 00 00 F0 FF FF 00 E0 FF FF 03 00 FC FF 02 00 - .byte $00, $E0, $FF, $FF, $0F, $00, $F0, $FF, $FF, $3F, $C0, $00, $FC, $2F, $08, $00 ; CPU:$D10B PRG:510B 00 E0 FF FF 0F 00 F0 FF FF 3F C0 00 FC 2F 08 00 - .byte $00, $FC, $FF, $3F, $00, $FC, $FF, $FF, $00, $00, $FF, $8F, $00, $00, $00, $FF ; CPU:$D11B PRG:511B 00 FC FF 3F 00 FC FF FF 00 00 FF 8F 00 00 00 FF - .byte $FF, $FF, $00, $00, $FF, $FF, $FF, $03, $00, $F0, $FF, $00, $00, $00, $C0, $FF ; CPU:$D12B PRG:512B FF FF 00 00 FF FF FF 03 00 F0 FF 00 00 00 C0 FF - .byte $FF, $03, $C0, $FF, $FF, $3F, $00, $C0, $FF, $0F, $00, $00, $00, $FC, $FF, $FF ; CPU:$D13B PRG:513B FF 03 C0 FF FF 3F 00 C0 FF 0F 00 00 00 FC FF FF - .byte $03, $00, $FC, $FF, $FF, $03, $00, $F0, $FF, $B2, $0A, $00, $80, $FF, $FF, $03 ; CPU:$D14B PRG:514B 03 00 FC FF FF 03 00 F0 FF B2 0A 00 80 FF FF 03 - .byte $A4, $68, $FF, $BF, $08, $C0, $7F, $09, $20, $95, $00, $00, $FE, $FF, $FF, $03 ; CPU:$D15B PRG:515B A4 68 FF BF 08 C0 7F 09 20 95 00 00 FE FF FF 03 - .byte $00, $C0, $FF, $FF, $2F, $00, $00, $FF, $FF, $FF, $00, $00, $F0, $FF, $7F, $09 ; CPU:$D16B PRG:516B 00 C0 FF FF 2F 00 00 FF FF FF 00 00 F0 FF 7F 09 - .byte $00, $00, $FF, $FF, $0F, $00, $22, $DD, $FD, $3F, $00, $00, $C0, $FF, $FF, $0F ; CPU:$D17B PRG:517B 00 00 FF FF 0F 00 22 DD FD 3F 00 00 C0 FF FF 0F - .byte $00, $00, $FE, $FF, $3F, $00, $00, $FE, $FF, $FF, $03, $00, $C0, $FF, $0F, $88 ; CPU:$D18B PRG:518B 00 00 FE FF 3F 00 00 FE FF FF 03 00 C0 FF 0F 88 - .byte $A2, $6A, $DF, $8D, $52, $55, $92, $DA, $D7, $54, $A5, $00, $00, $00, $FF, $FF ; CPU:$D19B PRG:519B A2 6A DF 8D 52 55 92 DA D7 54 A5 00 00 00 FF FF - .byte $FF, $00, $00, $E0, $FF, $FF, $2F, $00, $00, $FC, $FF, $FF, $03, $00, $C0, $FF ; CPU:$D1AB PRG:51AB FF 00 00 E0 FF FF 2F 00 00 FC FF FF 03 00 C0 FF - .byte $FF, $77, $00, $00, $F0, $7F, $75, $7F, $05, $00, $D0, $FF, $6A, $AD, $08, $00 ; CPU:$D1BB PRG:51BB FF 77 00 00 F0 7F 75 7F 05 00 D0 FF 6A AD 08 00 - .byte $00, $FC, $FF, $FF, $3F, $00, $00, $C0, $FF, $FF, $3F, $00, $00, $00, $FD, $FF ; CPU:$D1CB PRG:51CB 00 FC FF FF 3F 00 00 C0 FF FF 3F 00 00 00 FD FF - .byte $FF, $9F, $00, $00, $C0, $FF, $7F, $2A, $AB, $52, $59, $B5, $88, $A8, $76, $77 ; CPU:$D1DB PRG:51DB FF 9F 00 00 C0 FF 7F 2A AB 52 59 B5 88 A8 76 77 - .byte $25, $22, $52, $D5, $DD, $B5, $AA, $24, $A2, $6A, $5B, $8A, $54, $B5, $B5, $6A ; CPU:$D1EB PRG:51EB 25 22 52 D5 DD B5 AA 24 A2 6A 5B 8A 54 B5 B5 6A - .byte $AD, $A5, $AA, $B6, $B5, $A4, $54, $55, $2A, $95, $AA, $A4, $52, $55, $AD, $AA ; CPU:$D1FB PRG:51FB AD A5 AA B6 B5 A4 54 55 2A 95 AA A4 52 55 AD AA - .byte $56, $55, $AB, $56, $AB, $AA, $5A, $D7, $8A, $48, $AA, $D6, $D5, $4A, $22, $48 ; CPU:$D20B PRG:520B 56 55 AB 56 AB AA 5A D7 8A 48 AA D6 D5 4A 22 48 - .byte $DA, $7D, $57, $29, $49, $AA, $DA, $DD, $A6, $A2, $28, $55, $AB, $75, $35, $25 ; CPU:$D21B PRG:521B DA 7D 57 29 49 AA DA DD A6 A2 28 55 AB 75 35 25 - .byte $8A, $AA, $B5, $AD, $95, $4A, $2A, $55, $6D, $AD, $2A, $A9, $AA, $B5, $AA, $4A ; CPU:$D22B PRG:522B 8A AA B5 AD 95 4A 2A 55 6D AD 2A A9 AA B5 AA 4A - .byte $A9, $2A, $AB, $56, $55, $55, $55, $55, $A5, $AA, $AA, $56, $D5, $4A, $95, $AA ; CPU:$D23B PRG:523B A9 2A AB 56 55 55 55 55 A5 AA AA 56 D5 4A 95 AA - .byte $AA, $AA, $55, $AB, $AA, $54, $A5, $AA, $5A, $55, $A5, $AA, $6A, $55, $55, $55 ; CPU:$D24B PRG:524B AA AA 55 AB AA 54 A5 AA 5A 55 A5 AA 6A 55 55 55 - .byte $95, $55, $55, $55, $AA, $AA, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$D25B PRG:525B 95 55 55 55 AA AA 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:$D26B PRG:526B FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $55, $55, $55, $55, $55, $55, $6A, $4D, $55, $25, $DB ; CPU:$D27B PRG:527B FF FF FF FF FF 55 55 55 55 55 55 6A 4D 55 25 DB - .byte $D8, $45, $17, $56, $29, $53, $AD, $B4, $AD, $54, $25, $55, $37, $74, $57, $5D ; CPU:$D28B PRG:528B D8 45 17 56 29 53 AD B4 AD 54 25 55 37 74 57 5D - .byte $8A, $48, $2B, $D8, $95, $B6, $B5, $56, $97, $54, $13, $96, $4A, $55, $AD, $D4 ; CPU:$D29B PRG:529B 8A 48 2B D8 95 B6 B5 56 97 54 13 96 4A 55 AD D4 - .byte $A6, $5A, $AA, $56, $95, $DA, $4A, $9D, $A2, $AA, $92, $A8, $5E, $DD, $77, $5B ; CPU:$D2AB PRG:52AB A6 5A AA 56 95 DA 4A 9D A2 AA 92 A8 5E DD 77 5B - .byte $2B, $82, $08, $88, $52, $B5, $FD, $75, $AD, $4A, $4A, $A2, $CC, $6C, $D5, $75 ; CPU:$D2BB PRG:52BB 2B 82 08 88 52 B5 FD 75 AD 4A 4A A2 CC 6C D5 75 - .byte $57, $55, $93, $28, $29, $CA, $5D, $D5, $22, $20, $E0, $7F, $FF, $FF, $FF, $01 ; CPU:$D2CB PRG:52CB 57 55 93 28 29 CA 5D D5 22 20 E0 7F FF FF FF 01 - .byte $00, $00, $00, $F6, $FD, $FF, $57, $01, $00, $00, $F0, $FF, $FF, $FF, $21, $02 ; CPU:$D2DB PRG:52DB 00 00 00 F6 FD FF 57 01 00 00 F0 FF FF FF 21 02 - .byte $00, $60, $EF, $FF, $FF, $07, $00, $00, $58, $6B, $A5, $0E, $F0, $FF, $FF, $FF ; CPU:$D2EB PRG:52EB 00 60 EF FF FF 07 00 00 58 6B A5 0E F0 FF FF FF - .byte $80, $02, $00, $28, $F8, $FF, $FF, $03, $00, $00, $C0, $FF, $FF, $FF, $01, $09 ; CPU:$D2FB PRG:52FB 80 02 00 28 F8 FF FF 03 00 00 C0 FF FF FF 01 09 - .byte $00, $A6, $FB, $FF, $EF, $0A, $80, $80, $DA, $A6, $FE, $07, $00, $01, $C0, $FF ; CPU:$D30B PRG:530B 00 A6 FB FF EF 0A 80 80 DA A6 FE 07 00 01 C0 FF - .byte $FF, $FF, $FF, $00, $00, $00, $F8, $FF, $FF, $0F, $00, $00, $C0, $FF, $FF, $3F ; CPU:$D31B PRG:531B FF FF FF 00 00 00 F8 FF FF 0F 00 00 C0 FF FF 3F - .byte $00, $00, $80, $FF, $FF, $FF, $22, $00, $80, $4F, $FF, $25, $F7, $00, $00, $00 ; CPU:$D32B PRG:532B 00 00 80 FF FF FF 22 00 80 4F FF 25 F7 00 00 00 - .byte $FC, $FF, $FF, $FF, $00, $00, $80, $FF, $FF, $FF, $03, $00, $00, $00, $FF, $FF ; CPU:$D33B PRG:533B FC FF FF FF 00 00 80 FF FF FF 03 00 00 00 FF FF - .byte $FF, $00, $00, $00, $FF, $FF, $FF, $03, $80, $80, $FF, $E1, $2F, $90, $00, $00 ; CPU:$D34B PRG:534B FF 00 00 00 FF FF FF 03 80 80 FF E1 2F 90 00 00 - .byte $F0, $FF, $FF, $FF, $03, $00, $80, $FF, $FF, $3F, $00, $00, $80, $FF, $FF, $0F ; CPU:$D35B PRG:535B F0 FF FF FF 03 00 80 FF FF 3F 00 00 80 FF FF 0F - .byte $00, $80, $FF, $FF, $0B, $82, $5A, $DD, $5F, $82, $00, $7A, $AF, $02, $00, $C0 ; CPU:$D36B PRG:536B 00 80 FF FF 0B 82 5A DD 5F 82 00 7A AF 02 00 C0 - .byte $FF, $FF, $FF, $00, $00, $F8, $FF, $FF, $03, $00, $C0, $FE, $FF, $00, $00, $40 ; CPU:$D37B PRG:537B FF FF FF 00 00 F8 FF FF 03 00 C0 FE FF 00 00 40 - .byte $FF, $FF, $1F, $00, $FC, $FF, $9F, $00, $00, $F8, $FF, $00, $00, $00, $FF, $FF ; CPU:$D38B PRG:538B FF FF 1F 00 FC FF 9F 00 00 F8 FF 00 00 00 FF FF - .byte $FF, $03, $00, $D8, $FF, $FF, $0B, $00, $40, $FF, $FF, $02, $00, $00, $FF, $FF ; CPU:$D39B PRG:539B FF 03 00 D8 FF FF 0B 00 40 FF FF 02 00 00 FF FF - .byte $0D, $00, $F6, $FF, $2F, $80, $90, $FD, $0F, $02, $00, $C0, $FF, $FF, $3F, $00 ; CPU:$D3AB PRG:53AB 0D 00 F6 FF 2F 80 90 FD 0F 02 00 C0 FF FF 3F 00 - .byte $00, $FF, $FF, $BF, $00, $00, $F8, $FF, $0F, $00, $00, $FC, $FF, $8B, $00, $F0 ; CPU:$D3BB PRG:53BB 00 FF FF BF 00 00 F8 FF 0F 00 00 FC FF 8B 00 F0 - .byte $FF, $FF, $03, $00, $E0, $FF, $0F, $00, $00, $FF, $FF, $3F, $00, $00, $FE, $FF ; CPU:$D3CB PRG:53CB FF FF 03 00 E0 FF 0F 00 00 FF FF 3F 00 00 FE FF - .byte $2F, $00, $00, $FD, $FF, $2F, $00, $00, $F8, $FF, $07, $00, $D0, $FF, $FF, $1F ; CPU:$D3DB PRG:53DB 2F 00 00 FD FF 2F 00 00 F8 FF 07 00 D0 FF FF 1F - .byte $00, $C0, $FF, $0F, $00, $00, $FF, $FF, $3F, $00, $00, $FF, $FF, $0B, $00, $00 ; CPU:$D3EB PRG:53EB 00 C0 FF 0F 00 00 FF FF 3F 00 00 FF FF 0B 00 00 - .byte $FF, $FF, $2F, $00, $00, $F8, $FF, $43, $03, $C0, $FF, $FF, $0F, $00, $3C, $FA ; CPU:$D3FB PRG:53FB FF FF 2F 00 00 F8 FF 43 03 C0 FF FF 0F 00 3C FA - .byte $0B, $00, $C0, $FF, $FF, $0F, $00, $A0, $FF, $FF, $01, $00, $80, $FF, $FF, $0F ; CPU:$D40B PRG:540B 0B 00 C0 FF FF 0F 00 A0 FF FF 01 00 80 FF FF 0F - .byte $00, $00, $FD, $FF, $50, $09, $E0, $FF, $FF, $03, $48, $17, $F8, $01, $00, $F0 ; CPU:$D41B PRG:541B 00 00 FD FF 50 09 E0 FF FF 03 48 17 F8 01 00 F0 - .byte $FF, $FF, $03, $00, $FC, $FF, $2F, $00, $00, $7C, $FF, $FF, $00, $00, $C2, $F7 ; CPU:$D42B PRG:542B FF FF 03 00 FC FF 2F 00 00 7C FF FF 00 00 C2 F7 - .byte $0F, $F6, $00, $F6, $5F, $FF, $00, $7E, $02, $3F, $00, $00, $FF, $FF, $3F, $00 ; CPU:$D43B PRG:543B 0F F6 00 F6 5F FF 00 7E 02 3F 00 00 FF FF 3F 00 - .byte $40, $FF, $FF, $00, $00, $B4, $FF, $FB, $03, $00, $8C, $DC, $9F, $68, $0F, $E0 ; CPU:$D44B PRG:544B 40 FF FF 00 00 B4 FF FB 03 00 8C DC 9F 68 0F E0 - .byte $7F, $FD, $0B, $D8, $03, $F8, $00, $00, $FC, $FF, $FF, $00, $80, $FA, $FF, $03 ; CPU:$D45B PRG:545B 7F FD 0B D8 03 F8 00 00 FC FF FF 00 80 FA FF 03 - .byte $00, $C0, $FF, $CF, $3F, $00, $F0, $C2, $BF, $00, $7F, $80, $FD, $CF, $5F, $80 ; CPU:$D46B PRG:546B 00 C0 FF CF 3F 00 F0 C2 BF 00 7F 80 FD CF 5F 80 - .byte $BF, $00, $07, $00, $F0, $FF, $FF, $0F, $00, $8A, $FF, $3F, $00, $00, $FC, $BF ; CPU:$D47B PRG:547B BF 00 07 00 F0 FF FF 0F 00 8A FF 3F 00 00 FC BF - .byte $FC, $02, $80, $3F, $F8, $07, $C0, $3F, $F8, $BF, $F0, $0B, $D0, $1F, $70, $02 ; CPU:$D48B PRG:548B FC 02 80 3F F8 07 C0 3F F8 BF F0 0B D0 1F 70 02 - .byte $00, $FC, $FF, $FF, $00, $C0, $E3, $FF, $0B, $00, $00, $FF, $BF, $0E, $00, $F8 ; CPU:$D49B PRG:549B 00 FC FF FF 00 C0 E3 FF 0B 00 00 FF BF 0E 00 F8 - .byte $7F, $5D, $02, $D0, $2F, $FF, $1F, $D0, $25, $F4, $2F, $50, $00, $00, $FE, $FF ; CPU:$D4AB PRG:54AB 7F 5D 02 D0 2F FF 1F D0 25 F4 2F 50 00 00 FE FF - .byte $FF, $00, $C0, $FB, $FF, $03, $00, $80, $FF, $3F, $04, $00, $FC, $FF, $17, $00 ; CPU:$D4BB PRG:54BB FF 00 C0 FB FF 03 00 80 FF 3F 04 00 FC FF 17 00 - .byte $D8, $ED, $FF, $0F, $D0, $15, $F2, $3F, $80, $00, $00, $FC, $FF, $FF, $00, $E0 ; CPU:$D4CB PRG:54CB D8 ED FF 0F D0 15 F2 3F 80 00 00 FC FF FF 00 E0 - .byte $DF, $FF, $03, $00, $80, $FF, $7F, $08, $00, $F0, $FF, $7F, $00, $40, $FB, $FF ; CPU:$D4DB PRG:54DB DF FF 03 00 80 FF 7F 08 00 F0 FF 7F 00 40 FB FF - .byte $0F, $80, $DF, $95, $DA, $01, $00, $00, $F0, $FF, $FF, $0F, $00, $FE, $FF, $3F ; CPU:$D4EB PRG:54EB 0F 80 DF 95 DA 01 00 00 F0 FF FF 0F 00 FE FF 3F - .byte $00, $00, $F8, $FF, $0B, $00, $00, $FF, $FF, $0B, $00, $E0, $FF, $FF, $01, $C0 ; CPU:$D4FB PRG:54FB 00 00 F8 FF 0B 00 00 FF FF 0B 00 E0 FF FF 01 C0 - .byte $FF, $2F, $50, $20, $82, $00, $F0, $FF, $FF, $0F, $00, $FF, $FF, $2F, $00, $00 ; CPU:$D50B PRG:550B FF 2F 50 20 82 00 F0 FF FF 0F 00 FF FF 2F 00 00 - .byte $F7, $FF, $01, $00, $00, $FF, $FF, $90, $00, $F8, $FF, $BF, $00, $D0, $FD, $3F ; CPU:$D51B PRG:551B F7 FF 01 00 00 FF FF 90 00 F8 FF BF 00 D0 FD 3F - .byte $80, $36, $82, $00, $00, $FF, $FF, $FF, $00, $F0, $FF, $FF, $00, $00, $FC, $FF ; CPU:$D52B PRG:552B 80 36 82 00 00 FF FF FF 00 F0 FF FF 00 00 FC FF - .byte $0F, $00, $00, $D0, $FF, $0F, $02, $C2, $F7, $FF, $07, $00, $F6, $FF, $7F, $00 ; CPU:$D53B PRG:553B 0F 00 00 D0 FF 0F 02 C2 F7 FF 07 00 F6 FF 7F 00 - .byte $00, $9A, $20, $00, $FC, $FF, $FF, $0B, $E0, $BF, $76, $09, $00, $FC, $FD, $27 ; CPU:$D54B PRG:554B 00 9A 20 00 FC FF FF 0B E0 BF 76 09 00 FC FD 27 - .byte $00, $00, $F5, $FA, $DD, $25, $C0, $BF, $D6, $AA, $08, $F6, $77, $5F, $09, $00 ; CPU:$D55B PRG:555B 00 00 F5 FA DD 25 C0 BF D6 AA 08 F6 77 5F 09 00 - .byte $76, $23, $00, $00, $FF, $FF, $FF, $00, $F0, $FF, $FF, $00, $00, $DE, $FF, $0B ; CPU:$D56B PRG:556B 76 23 00 00 FF FF FF 00 F0 FF FF 00 00 DE FF 0B - .byte $00, $00, $DC, $FF, $C2, $25, $60, $FF, $0F, $92, $AA, $FD, $4D, $B5, $08, $60 ; CPU:$D57B PRG:557B 00 00 DC FF C2 25 60 FF 0F 92 AA FD 4D B5 08 60 +; ... and 1 further references from decoded code .byte $DF, $02, $00, $80, $FF, $FF, $3F, $00, $F8, $FF, $5F, $00, $00, $FE, $FF, $03 ; CPU:$D58B PRG:558B DF 02 00 80 FF FF 3F 00 F8 FF 5F 00 00 FE FF 03 .byte $00, $C0, $FB, $7F, $02, $F0, $89, $FF, $0F, $00, $6B, $FF, $2F, $48, $23, $C0 ; CPU:$D59B PRG:559B 00 C0 FB 7F 02 F0 89 FF 0F 00 6B FF 2F 48 23 C0 .byte $7F, $09, $00, $00, $F8, $FF, $FF, $0F, $00, $FD, $FF, $35, $00, $C0, $FF, $2F ; CPU:$D5AB PRG:55AB 7F 09 00 00 F8 FF FF 0F 00 FD FF 35 00 C0 FF 2F @@ -2912,7 +11821,7 @@ IrqHandler_Loop28: ; ----------------------------------------------------------------------------- Sub_F394: lda #$00 ; CPU:$F394 PRG:7394 A9 00 - beq IrqHandler_Loop29 ; CPU:$F396 PRG:7396 F0 0A + beq IrqHandler_Loop336 ; CPU:$F396 PRG:7396 F0 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_F398 ; Global: Branch target inside Sub: taken when F398. @@ -2923,9 +11832,9 @@ Sub_F394: ; ----------------------------------------------------------------------------- Sub_F398: lda #$08 ; CPU:$F398 PRG:7398 A9 08 - bne IrqHandler_Loop29 ; CPU:$F39A PRG:739A D0 06 + bne IrqHandler_Loop336 ; CPU:$F39A PRG:739A D0 06 lda #$0C ; CPU:$F39C PRG:739C A9 0C - bne IrqHandler_Loop29 ; CPU:$F39E PRG:739E D0 02 + bne IrqHandler_Loop336 ; CPU:$F39E PRG:739E D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3A0 ; Global: Branch target inside Sub: taken when F3A0. @@ -2937,14 +11846,14 @@ Sub_F398: Sub_F3A0: lda #$04 ; CPU:$F3A0 PRG:73A0 A9 04 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop29 -; Global: Branch target inside IrqHandler: taken when Loop29. +; Routine: IrqHandler_Loop336 +; Global: Branch target inside IrqHandler: taken when Loop336. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop29: +IrqHandler_Loop336: sta ZpF9 ; CPU:$F3A2 PRG:73A2 85 F9 lda #$40 ; CPU:$F3A4 PRG:73A4 A9 40 sta ZpFA ; CPU:$F3A6 PRG:73A6 85 FA @@ -2952,20 +11861,20 @@ IrqHandler_Loop29: sty ZpFC ; CPU:$F3AA PRG:73AA 84 FC ldy #$00 ; CPU:$F3AC PRG:73AC A0 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero9 -; Global: Branch target inside IrqHandler: taken when OnNonzero9. +; Routine: IrqHandler_OnNonzero56 +; Global: Branch target inside IrqHandler: taken when OnNonzero56. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero9: +IrqHandler_OnNonzero56: lda (ZpFB),y ; CPU:$F3AE PRG:73AE B1 FB sta (ZpF9),y ; CPU:$F3B0 PRG:73B0 91 F9 iny ; CPU:$F3B2 PRG:73B2 C8 tya ; CPU:$F3B3 PRG:73B3 98 cmp #$04 ; CPU:$F3B4 PRG:73B4 C9 04 - bne IrqHandler_OnNonzero9 ; CPU:$F3B6 PRG:73B6 D0 F6 + bne IrqHandler_OnNonzero56 ; CPU:$F3B6 PRG:73B6 D0 F6 rts ; CPU:$F3B8 PRG:73B8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3B9 @@ -2983,21 +11892,21 @@ Sub_F3B9: tay ; CPU:$F3C3 PRG:73C3 A8 ldx #$00 ; CPU:$F3C4 PRG:73C4 A2 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero10 -; Global: Branch target inside IrqHandler: taken when OnNonzero10. +; Routine: IrqHandler_OnNonzero57 +; Global: Branch target inside IrqHandler: taken when OnNonzero57. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero10: +IrqHandler_OnNonzero57: lda $F978,y ; CPU:$F3C6 PRG:73C6 B9 78 F9 sta ZpDF,x ; CPU:$F3C9 PRG:73C9 95 DF iny ; CPU:$F3CB PRG:73CB C8 inx ; CPU:$F3CC PRG:73CC E8 txa ; CPU:$F3CD PRG:73CD 8A cmp #$09 ; CPU:$F3CE PRG:73CE C9 09 - bne IrqHandler_OnNonzero10 ; CPU:$F3D0 PRG:73D0 D0 F4 + bne IrqHandler_OnNonzero57 ; CPU:$F3D0 PRG:73D0 D0 F4 lda #$01 ; CPU:$F3D2 PRG:73D2 A9 01 sta ZpD0 ; CPU:$F3D4 PRG:73D4 85 D0 sta ZpD1 ; CPU:$F3D6 PRG:73D6 85 D1 @@ -3031,24 +11940,24 @@ Sub_F3E7: .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $10, $00, $18, $10 ; CPU:$F3F4 PRG:73F4 FF FF FF FF FF FF FF FF FF FF FF FF 10 00 18 10 .byte $01, $18, $00, $01, $88, $02, $02, $40, $00, $0A, $C0, $04, $07, $40 ; CPU:$F404 PRG:7404 01 18 00 01 88 02 02 40 00 0A C0 04 07 40 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero2 -; Global: Branch target inside IrqHandler: taken when OnZero2. +; Routine: IrqHandler_OnZero13 +; Global: Branch target inside IrqHandler: taken when OnZero13. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero2: +IrqHandler_OnZero13: jsr Sub_F647 ; CPU:$F412 PRG:7412 20 47 F6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero3 -; Global: Branch target inside IrqHandler: taken when OnZero3. +; Routine: IrqHandler_OnZero14 +; Global: Branch target inside IrqHandler: taken when OnZero14. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero3: +IrqHandler_OnZero14: rts ; CPU:$F415 PRG:7415 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F416 @@ -3062,45 +11971,45 @@ Sub_F416: lda #$00 ; CPU:$F416 PRG:7416 A9 00 tax ; CPU:$F418 PRG:7418 AA sta ZpFD ; CPU:$F419 PRG:7419 85 FD - beq IrqHandler_Loop30 ; CPU:$F41B PRG:741B F0 10 + beq IrqHandler_Loop337 ; CPU:$F41B PRG:741B F0 10 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero4 -; Global: Branch target inside IrqHandler: taken when OnZero4. +; Routine: IrqHandler_OnZero15 +; Global: Branch target inside IrqHandler: taken when OnZero15. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero4: +IrqHandler_OnZero15: txa ; CPU:$F41D PRG:741D 8A lsr a ; CPU:$F41E PRG:741E 4A tax ; CPU:$F41F PRG:741F AA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero11 -; Global: Branch target inside IrqHandler: taken when OnNonzero11. +; Routine: IrqHandler_OnNonzero58 +; Global: Branch target inside IrqHandler: taken when OnNonzero58. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero11: +IrqHandler_OnNonzero58: inx ; CPU:$F420 PRG:7420 E8 txa ; CPU:$F421 PRG:7421 8A cmp #$04 ; CPU:$F422 PRG:7422 C9 04 - beq IrqHandler_OnZero3 ; CPU:$F424 PRG:7424 F0 EF + beq IrqHandler_OnZero14 ; CPU:$F424 PRG:7424 F0 EF lda ZpFD ; CPU:$F426 PRG:7426 A5 FD clc ; CPU:$F428 PRG:7428 18 adc #$04 ; CPU:$F429 PRG:7429 69 04 sta ZpFD ; CPU:$F42B PRG:742B 85 FD ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop30 -; Global: Branch target inside IrqHandler: taken when Loop30. +; Routine: IrqHandler_Loop337 +; Global: Branch target inside IrqHandler: taken when Loop337. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop30: +IrqHandler_Loop337: txa ; CPU:$F42D PRG:742D 8A asl a ; CPU:$F42E PRG:742E 0A tax ; CPU:$F42F PRG:742F AA @@ -3109,12 +12018,12 @@ IrqHandler_Loop30: lda ZpE1,x ; CPU:$F434 PRG:7434 B5 E1 sta ZpFF ; CPU:$F436 PRG:7436 85 FF lda ZpE1,x ; CPU:$F438 PRG:7438 B5 E1 - beq IrqHandler_OnZero4 ; CPU:$F43A PRG:743A F0 E1 + beq IrqHandler_OnZero15 ; CPU:$F43A PRG:743A F0 E1 txa ; CPU:$F43C PRG:743C 8A lsr a ; CPU:$F43D PRG:743D 4A tax ; CPU:$F43E PRG:743E AA dec ZpD0,x ; CPU:$F43F PRG:743F D6 D0 - bne IrqHandler_OnNonzero11 ; CPU:$F441 PRG:7441 D0 DD + bne IrqHandler_OnNonzero58 ; CPU:$F441 PRG:7441 D0 DD ; ----------------------------------------------------------------------------- ; Routine: Sub_F443 ; Global: Branch target inside Sub: taken when F443. @@ -3127,38 +12036,38 @@ Sub_F443: ldy ZpE8,x ; CPU:$F443 PRG:7443 B4 E8 inc ZpE8,x ; CPU:$F445 PRG:7445 F6 E8 lda (ZpFE),y ; CPU:$F447 PRG:7447 B1 FE - beq IrqHandler_OnZero2 ; CPU:$F449 PRG:7449 F0 C7 + beq IrqHandler_OnZero13 ; CPU:$F449 PRG:7449 F0 C7 tay ; CPU:$F44B PRG:744B A8 cmp #$FF ; CPU:$F44C PRG:744C C9 FF - beq IrqHandler_Loop31 ; CPU:$F44E PRG:744E F0 09 + beq IrqHandler_Loop338 ; CPU:$F44E PRG:744E F0 09 and #$C0 ; CPU:$F450 PRG:7450 29 C0 cmp #$C0 ; CPU:$F452 PRG:7452 C9 C0 - beq IrqHandler_Loop32 ; CPU:$F454 PRG:7454 F0 0F + beq IrqHandler_Loop339 ; CPU:$F454 PRG:7454 F0 0F jmp Sub_F473 ; CPU:$F456 PRG:7456 4C 73 F4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop31 -; Global: Branch target inside IrqHandler: taken when Loop31. +; Routine: IrqHandler_Loop338 +; Global: Branch target inside IrqHandler: taken when Loop338. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop31: +IrqHandler_Loop338: lda ZpD8,x ; CPU:$F459 PRG:7459 B5 D8 - beq IrqHandler_Loop33 ; CPU:$F45B PRG:745B F0 13 + beq IrqHandler_Loop340 ; CPU:$F45B PRG:745B F0 13 dec ZpD8,x ; CPU:$F45D PRG:745D D6 D8 lda ZpEC,x ; CPU:$F45F PRG:745F B5 EC sta ZpE8,x ; CPU:$F461 PRG:7461 95 E8 - bne IrqHandler_Loop33 ; CPU:$F463 PRG:7463 D0 0B + bne IrqHandler_Loop340 ; CPU:$F463 PRG:7463 D0 0B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop32 -; Global: Branch target inside IrqHandler: taken when Loop32. +; Routine: IrqHandler_Loop339 +; Global: Branch target inside IrqHandler: taken when Loop339. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop32: +IrqHandler_Loop339: tya ; CPU:$F465 PRG:7465 98 and #$3F ; CPU:$F466 PRG:7466 29 3F sta ZpD8,x ; CPU:$F468 PRG:7468 95 D8 @@ -3166,14 +12075,14 @@ IrqHandler_Loop32: lda ZpE8,x ; CPU:$F46C PRG:746C B5 E8 sta ZpEC,x ; CPU:$F46E PRG:746E 95 EC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop33 -; Global: Branch target inside IrqHandler: taken when Loop33. +; Routine: IrqHandler_Loop340 +; Global: Branch target inside IrqHandler: taken when Loop340. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop33: +IrqHandler_Loop340: jmp Sub_F443 ; CPU:$F470 PRG:7470 4C 43 F4 ; ----------------------------------------------------------------------------- ; Routine: Sub_F473 @@ -3185,7 +12094,7 @@ IrqHandler_Loop33: ; ----------------------------------------------------------------------------- Sub_F473: tya ; CPU:$F473 PRG:7473 98 - bpl IrqHandler_Loop34 ; CPU:$F474 PRG:7474 10 17 + bpl IrqHandler_Loop341 ; CPU:$F474 PRG:7474 10 17 and #$0F ; CPU:$F476 PRG:7476 29 0F clc ; CPU:$F478 PRG:7478 18 adc ZpDF ; CPU:$F479 PRG:7479 65 DF @@ -3195,7 +12104,7 @@ Sub_F473: tay ; CPU:$F481 PRG:7481 A8 txa ; CPU:$F482 PRG:7482 8A cmp #$02 ; CPU:$F483 PRG:7483 C9 02 - beq IrqHandler_Loop39 ; CPU:$F485 PRG:7485 F0 59 + beq IrqHandler_Loop346 ; CPU:$F485 PRG:7485 F0 59 ; ----------------------------------------------------------------------------- ; Routine: Sub_F487 ; Global: Branch target inside Sub: taken when F487. @@ -3209,70 +12118,70 @@ Sub_F487: inc ZpE8,x ; CPU:$F489 PRG:7489 F6 E8 lda (ZpFE),y ; CPU:$F48B PRG:748B B1 FE ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop34 -; Global: Branch target inside IrqHandler: taken when Loop34. +; Routine: IrqHandler_Loop341 +; Global: Branch target inside IrqHandler: taken when Loop341. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop34: +IrqHandler_Loop341: tay ; CPU:$F48D PRG:748D A8 txa ; CPU:$F48E PRG:748E 8A cmp #$03 ; CPU:$F48F PRG:748F C9 03 - beq IrqHandler_Loop42 ; CPU:$F491 PRG:7491 F0 69 + beq IrqHandler_Loop349 ; CPU:$F491 PRG:7491 F0 69 pha ; CPU:$F493 PRG:7493 48 tax ; CPU:$F494 PRG:7494 AA dec $07F4,x ; CPU:$F495 PRG:7495 DE F4 07 cmp $07F4,x ; CPU:$F498 PRG:7498 DD F4 07 - beq IrqHandler_Loop38 ; CPU:$F49B PRG:749B F0 3B + beq IrqHandler_Loop345 ; CPU:$F49B PRG:749B F0 3B inc $07F4,x ; CPU:$F49D PRG:749D FE F4 07 ldx ZpFD ; CPU:$F4A0 PRG:74A0 A6 FD lda $F301,y ; CPU:$F4A2 PRG:74A2 B9 01 F3 - beq IrqHandler_Loop35 ; CPU:$F4A5 PRG:74A5 F0 0B + beq IrqHandler_Loop342 ; CPU:$F4A5 PRG:74A5 F0 0B sta APUPULSE1TIMERLO,x ; CPU:$F4A7 PRG:74A7 9D 02 40 lda $F300,y ; CPU:$F4AA PRG:74AA B9 00 F3 ora #$08 ; CPU:$F4AD PRG:74AD 09 08 sta APUPULSE1TIMERHI,x ; CPU:$F4AF PRG:74AF 9D 03 40 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop35 -; Global: Branch target inside IrqHandler: taken when Loop35. +; Routine: IrqHandler_Loop342 +; Global: Branch target inside IrqHandler: taken when Loop342. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop35: +IrqHandler_Loop342: tay ; CPU:$F4B2 PRG:74B2 A8 pla ; CPU:$F4B3 PRG:74B3 68 tax ; CPU:$F4B4 PRG:74B4 AA tya ; CPU:$F4B5 PRG:74B5 98 - bne IrqHandler_Loop36 ; CPU:$F4B6 PRG:74B6 D0 0B + bne IrqHandler_Loop343 ; CPU:$F4B6 PRG:74B6 D0 0B ldy #$00 ; CPU:$F4B8 PRG:74B8 A0 00 txa ; CPU:$F4BA PRG:74BA 8A cmp #$02 ; CPU:$F4BB PRG:74BB C9 02 - beq IrqHandler_Loop37 ; CPU:$F4BD PRG:74BD F0 06 + beq IrqHandler_Loop344 ; CPU:$F4BD PRG:74BD F0 06 ldy #$10 ; CPU:$F4BF PRG:74BF A0 10 - bne IrqHandler_Loop37 ; CPU:$F4C1 PRG:74C1 D0 02 + bne IrqHandler_Loop344 ; CPU:$F4C1 PRG:74C1 D0 02 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop36 -; Global: Branch target inside IrqHandler: taken when Loop36. +; Routine: IrqHandler_Loop343 +; Global: Branch target inside IrqHandler: taken when Loop343. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop36: +IrqHandler_Loop343: ldy ZpDC,x ; CPU:$F4C3 PRG:74C3 B4 DC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop37 -; Global: Branch target inside IrqHandler: taken when Loop37. +; Routine: IrqHandler_Loop344 +; Global: Branch target inside IrqHandler: taken when Loop344. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop37: +IrqHandler_Loop344: tya ; CPU:$F4C5 PRG:74C5 98 ldy ZpFD ; CPU:$F4C6 PRG:74C6 A4 FD sta APUPULSE1CTRL,y ; CPU:$F4C8 PRG:74C8 99 00 40 @@ -3289,74 +12198,74 @@ IrqHandler_Loop37: Sub_F4D1: lda ZpD4,x ; CPU:$F4D1 PRG:74D1 B5 D4 sta ZpD0,x ; CPU:$F4D3 PRG:74D3 95 D0 - jmp IrqHandler_OnNonzero11 ; CPU:$F4D5 PRG:74D5 4C 20 F4 + jmp IrqHandler_OnNonzero58 ; CPU:$F4D5 PRG:74D5 4C 20 F4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop38 -; Global: Branch target inside IrqHandler: taken when Loop38. +; Routine: IrqHandler_Loop345 +; Global: Branch target inside IrqHandler: taken when Loop345. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop38: +IrqHandler_Loop345: inc $07F4,x ; CPU:$F4D8 PRG:74D8 FE F4 07 pla ; CPU:$F4DB PRG:74DB 68 tax ; CPU:$F4DC PRG:74DC AA jmp Sub_F4D1 ; CPU:$F4DD PRG:74DD 4C D1 F4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop39 -; Global: Branch target inside IrqHandler: taken when Loop39. +; Routine: IrqHandler_Loop346 +; Global: Branch target inside IrqHandler: taken when Loop346. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop39: +IrqHandler_Loop346: tya ; CPU:$F4E0 PRG:74E0 98 ldy ZpF7 ; CPU:$F4E1 PRG:74E1 A4 F7 - beq IrqHandler_Loop40 ; CPU:$F4E3 PRG:74E3 F0 04 + beq IrqHandler_Loop347 ; CPU:$F4E3 PRG:74E3 F0 04 lda #$FF ; CPU:$F4E5 PRG:74E5 A9 FF - bne IrqHandler_Loop41 ; CPU:$F4E7 PRG:74E7 D0 0B + bne IrqHandler_Loop348 ; CPU:$F4E7 PRG:74E7 D0 0B ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop40 -; Global: Branch target inside IrqHandler: taken when Loop40. +; Routine: IrqHandler_Loop347 +; Global: Branch target inside IrqHandler: taken when Loop347. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop40: +IrqHandler_Loop347: clc ; CPU:$F4E9 PRG:74E9 18 adc #$FE ; CPU:$F4EA PRG:74EA 69 FE asl a ; CPU:$F4EC PRG:74EC 0A asl a ; CPU:$F4ED PRG:74ED 0A cmp #$3C ; CPU:$F4EE PRG:74EE C9 3C - bcc IrqHandler_Loop41 ; CPU:$F4F0 PRG:74F0 90 02 + bcc IrqHandler_Loop348 ; CPU:$F4F0 PRG:74F0 90 02 lda #$3C ; CPU:$F4F2 PRG:74F2 A9 3C ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop41 -; Global: Branch target inside IrqHandler: taken when Loop41. +; Routine: IrqHandler_Loop348 +; Global: Branch target inside IrqHandler: taken when Loop348. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop41: +IrqHandler_Loop348: sta APUTRIANGLECTRL ; CPU:$F4F4 PRG:74F4 8D 08 40 sta ZpDE ; CPU:$F4F7 PRG:74F7 85 DE jmp Sub_F487 ; CPU:$F4F9 PRG:74F9 4C 87 F4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop42 -; Global: Branch target inside IrqHandler: taken when Loop42. +; Routine: IrqHandler_Loop349 +; Global: Branch target inside IrqHandler: taken when Loop349. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop42: +IrqHandler_Loop349: lda $07F0 ; CPU:$F4FC PRG:74FC AD F0 07 and #$0E ; CPU:$F4FF PRG:74FF 29 0E - bne IrqHandler_Loop43 ; CPU:$F501 PRG:7501 D0 12 + bne IrqHandler_Loop350 ; CPU:$F501 PRG:7501 D0 12 lda $F400,y ; CPU:$F503 PRG:7503 B9 00 F4 sta APUNOISECTRL ; CPU:$F506 PRG:7506 8D 0C 40 lda $F401,y ; CPU:$F509 PRG:7509 B9 01 F4 @@ -3364,14 +12273,14 @@ IrqHandler_Loop42: lda $F402,y ; CPU:$F50F PRG:750F B9 02 F4 sta APUNOISELENGTH ; CPU:$F512 PRG:7512 8D 0F 40 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop43 -; Global: Branch target inside IrqHandler: taken when Loop43. +; Routine: IrqHandler_Loop350 +; Global: Branch target inside IrqHandler: taken when Loop350. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop43: +IrqHandler_Loop350: jmp Sub_F4D1 ; CPU:$F515 PRG:7515 4C D1 F4 ; ----------------------------------------------------------------------------- ; Routine: Sub_F518 @@ -3392,31 +12301,31 @@ Sub_F518: iny ; CPU:$F529 PRG:7529 C8 sty $07FA ; CPU:$F52A PRG:752A 8C FA 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero5 -; Global: Branch target inside IrqHandler: taken when OnZero5. +; Routine: IrqHandler_OnZero16 +; Global: Branch target inside IrqHandler: taken when OnZero16. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero5: +IrqHandler_OnZero16: rts ; CPU:$F52D PRG:752D 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero6 -; Global: Branch target inside IrqHandler: taken when OnZero6. +; Routine: IrqHandler_OnZero17 +; Global: Branch target inside IrqHandler: taken when OnZero17. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero6: +IrqHandler_OnZero17: ldx $07FC ; CPU:$F52E PRG:752E AE FC 07 dex ; CPU:$F531 PRG:7531 CA lda #$00 ; CPU:$F532 PRG:7532 A9 00 sta $07FC ; CPU:$F534 PRG:7534 8D FC 07 sta $07F4,x ; CPU:$F537 PRG:7537 9D F4 07 lda $07DD ; CPU:$F53A PRG:753A AD DD 07 - beq IrqHandler_OnZero5 ; CPU:$F53D PRG:753D F0 EE + beq IrqHandler_OnZero16 ; CPU:$F53D PRG:753D F0 EE lda #$01 ; CPU:$F53F PRG:753F A9 01 sta $07F4 ; CPU:$F541 PRG:7541 8D F4 07 rts ; CPU:$F544 PRG:7544 60 @@ -3430,121 +12339,121 @@ IrqHandler_OnZero6: ; ----------------------------------------------------------------------------- Sub_F545: lda $07FC ; CPU:$F545 PRG:7545 AD FC 07 - beq IrqHandler_OnZero5 ; CPU:$F548 PRG:7548 F0 E3 + beq IrqHandler_OnZero16 ; CPU:$F548 PRG:7548 F0 E3 dec $07FA ; CPU:$F54A PRG:754A CE FA 07 - bne IrqHandler_OnZero5 ; CPU:$F54D PRG:754D D0 DE + bne IrqHandler_OnZero16 ; CPU:$F54D PRG:754D D0 DE ldy $07F9 ; CPU:$F54F PRG:754F AC F9 07 inc $07F9 ; CPU:$F552 PRG:7552 EE F9 07 lda (ZpF5),y ; CPU:$F555 PRG:7555 B1 F5 - beq IrqHandler_OnZero6 ; CPU:$F557 PRG:7557 F0 D5 - bpl IrqHandler_Loop44 ; CPU:$F559 PRG:7559 10 0D + beq IrqHandler_OnZero17 ; CPU:$F557 PRG:7557 F0 D5 + bpl IrqHandler_Loop351 ; CPU:$F559 PRG:7559 10 0D and #$7F ; CPU:$F55B PRG:755B 29 7F sta $07FB ; CPU:$F55D PRG:755D 8D FB 07 ldy $07F9 ; CPU:$F560 PRG:7560 AC F9 07 inc $07F9 ; CPU:$F563 PRG:7563 EE F9 07 lda (ZpF5),y ; CPU:$F566 PRG:7566 B1 F5 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop44 -; Global: Branch target inside IrqHandler: taken when Loop44. +; Routine: IrqHandler_Loop351 +; Global: Branch target inside IrqHandler: taken when Loop351. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop44: +IrqHandler_Loop351: tay ; CPU:$F568 PRG:7568 A8 lda $F301,y ; CPU:$F569 PRG:7569 B9 01 F3 - beq IrqHandler_Loop45 ; CPU:$F56C PRG:756C F0 13 + beq IrqHandler_Loop352 ; CPU:$F56C PRG:756C F0 13 sta $07D2 ; CPU:$F56E PRG:756E 8D D2 07 lda $F300,y ; CPU:$F571 PRG:7571 B9 00 F3 ora #$08 ; CPU:$F574 PRG:7574 09 08 sta $07D3 ; CPU:$F576 PRG:7576 8D D3 07 lda $07F8 ; CPU:$F579 PRG:7579 AD F8 07 sta $07D0 ; CPU:$F57C PRG:757C 8D D0 07 - bne IrqHandler_Loop46 ; CPU:$F57F PRG:757F D0 05 + bne IrqHandler_Loop353 ; CPU:$F57F PRG:757F D0 05 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop45 -; Global: Branch target inside IrqHandler: taken when Loop45. +; Routine: IrqHandler_Loop352 +; Global: Branch target inside IrqHandler: taken when Loop352. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop45: +IrqHandler_Loop352: lda #$10 ; CPU:$F581 PRG:7581 A9 10 sta $07D0 ; CPU:$F583 PRG:7583 8D D0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop46 -; Global: Branch target inside IrqHandler: taken when Loop46. +; Routine: IrqHandler_Loop353 +; Global: Branch target inside IrqHandler: taken when Loop353. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop46: +IrqHandler_Loop353: ldx #$D0 ; CPU:$F586 PRG:7586 A2 D0 ldy #$07 ; CPU:$F588 PRG:7588 A0 07 lda $07FC ; CPU:$F58A PRG:758A AD FC 07 cmp #$01 ; CPU:$F58D PRG:758D C9 01 - beq IrqHandler_Loop47 ; CPU:$F58F PRG:758F F0 08 + beq IrqHandler_Loop354 ; CPU:$F58F PRG:758F F0 08 cmp #$02 ; CPU:$F591 PRG:7591 C9 02 - beq IrqHandler_Loop48 ; CPU:$F593 PRG:7593 F0 09 + beq IrqHandler_Loop355 ; CPU:$F593 PRG:7593 F0 09 cmp #$03 ; CPU:$F595 PRG:7595 C9 03 - beq IrqHandler_Loop49 ; CPU:$F597 PRG:7597 F0 0A + beq IrqHandler_Loop356 ; CPU:$F597 PRG:7597 F0 0A ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop47 -; Global: Branch target inside IrqHandler: taken when Loop47. +; Routine: IrqHandler_Loop354 +; Global: Branch target inside IrqHandler: taken when Loop354. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop47: +IrqHandler_Loop354: jsr Sub_F394 ; CPU:$F599 PRG:7599 20 94 F3 - beq IrqHandler_Loop50 ; CPU:$F59C PRG:759C F0 08 + beq IrqHandler_Loop357 ; CPU:$F59C PRG:759C F0 08 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop48 -; Global: Branch target inside IrqHandler: taken when Loop48. +; Routine: IrqHandler_Loop355 +; Global: Branch target inside IrqHandler: taken when Loop355. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop48: +IrqHandler_Loop355: jsr Sub_F3A0 ; CPU:$F59E PRG:759E 20 A0 F3 - beq IrqHandler_Loop50 ; CPU:$F5A1 PRG:75A1 F0 03 + beq IrqHandler_Loop357 ; CPU:$F5A1 PRG:75A1 F0 03 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop49 -; Global: Branch target inside IrqHandler: taken when Loop49. +; Routine: IrqHandler_Loop356 +; Global: Branch target inside IrqHandler: taken when Loop356. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop49: +IrqHandler_Loop356: jsr Sub_F398 ; CPU:$F5A3 PRG:75A3 20 98 F3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop50 -; Global: Branch target inside IrqHandler: taken when Loop50. +; Routine: IrqHandler_Loop357 +; Global: Branch target inside IrqHandler: taken when Loop357. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop50: +IrqHandler_Loop357: lda $07FB ; CPU:$F5A6 PRG:75A6 AD FB 07 sta $07FA ; CPU:$F5A9 PRG:75A9 8D FA 07 rts ; CPU:$F5AC PRG:75AC 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet -; Global: Branch target inside IrqHandler: taken when the addition or subtraction carried. +; Routine: IrqHandler_OnCarrySet5 +; Global: Branch target inside IrqHandler: taken when OnCarrySet5. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet: - jmp IrqHandler_Loop57 ; CPU:$F5AD PRG:75AD 4C 67 F6 +IrqHandler_OnCarrySet5: + jmp IrqHandler_Loop364 ; CPU:$F5AD PRG:75AD 4C 67 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5B0 ; Global: Branch target inside Sub: taken when F5B0. @@ -3558,7 +12467,7 @@ Sub_F5B0: sta JOY2 ; CPU:$F5B2 PRG:75B2 8D 17 40 lda ZpF0 ; CPU:$F5B5 PRG:75B5 A5 F0 lsr a ; CPU:$F5B7 PRG:75B7 4A - bcs IrqHandler_OnCarrySet ; CPU:$F5B8 PRG:75B8 B0 F3 + bcs IrqHandler_OnCarrySet5 ; CPU:$F5B8 PRG:75B8 B0 F3 jsr Sub_F5E0 ; CPU:$F5BA PRG:75BA 20 E0 F5 jsr Sub_F722 ; CPU:$F5BD PRG:75BD 20 22 F7 jsr Sub_F797 ; CPU:$F5C0 PRG:75C0 20 97 F7 @@ -3571,29 +12480,29 @@ Sub_F5B0: sta ZpF3 ; CPU:$F5D1 PRG:75D1 85 F3 rts ; CPU:$F5D3 PRG:75D3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet2 -; Global: Branch target inside IrqHandler: taken when OnCarrySet2. +; Routine: IrqHandler_OnCarrySet6 +; Global: Branch target inside IrqHandler: taken when OnCarrySet6. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet2: +IrqHandler_OnCarrySet6: lda #$26 ; CPU:$F5D4 PRG:75D4 A9 26 ldx #$40 ; CPU:$F5D6 PRG:75D6 A2 40 - bne IrqHandler_OnNonzero12 ; CPU:$F5D8 PRG:75D8 D0 2D + bne IrqHandler_OnNonzero59 ; CPU:$F5D8 PRG:75D8 D0 2D ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet3 -; Global: Branch target inside IrqHandler: taken when OnCarrySet3. +; Routine: IrqHandler_OnCarrySet7 +; Global: Branch target inside IrqHandler: taken when OnCarrySet7. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet3: +IrqHandler_OnCarrySet7: lda #$67 ; CPU:$F5DA PRG:75DA A9 67 ldx #$4A ; CPU:$F5DC PRG:75DC A2 4A - bne IrqHandler_OnNonzero12 ; CPU:$F5DE PRG:75DE D0 27 + bne IrqHandler_OnNonzero59 ; CPU:$F5DE PRG:75DE D0 27 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5E0 ; Global: Branch target inside Sub: taken when F5E0. @@ -3604,44 +12513,44 @@ IrqHandler_OnCarrySet3: ; ----------------------------------------------------------------------------- Sub_F5E0: lda $07EC ; CPU:$F5E0 PRG:75E0 AD EC 07 - beq IrqHandler_Loop51 ; CPU:$F5E3 PRG:75E3 F0 0D + beq IrqHandler_Loop358 ; CPU:$F5E3 PRG:75E3 F0 0D dec $07EC ; CPU:$F5E5 PRG:75E5 CE EC 07 - bne IrqHandler_Loop51 ; CPU:$F5E8 PRG:75E8 D0 08 + bne IrqHandler_Loop358 ; CPU:$F5E8 PRG:75E8 D0 08 lda #$00 ; CPU:$F5EA PRG:75EA A9 00 sta $07F4 ; CPU:$F5EC PRG:75EC 8D F4 07 sta $07F5 ; CPU:$F5EF PRG:75EF 8D F5 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop51 -; Global: Branch target inside IrqHandler: taken when Loop51. +; Routine: IrqHandler_Loop358 +; Global: Branch target inside IrqHandler: taken when Loop358. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop51: +IrqHandler_Loop358: lda ZpF3 ; CPU:$F5F2 PRG:75F2 A5 F3 lsr a ; CPU:$F5F4 PRG:75F4 4A - bcs IrqHandler_OnCarrySet2 ; CPU:$F5F5 PRG:75F5 B0 DD + bcs IrqHandler_OnCarrySet6 ; CPU:$F5F5 PRG:75F5 B0 DD lsr a ; CPU:$F5F7 PRG:75F7 4A - bcs IrqHandler_OnCarrySet3 ; CPU:$F5F8 PRG:75F8 B0 E0 + bcs IrqHandler_OnCarrySet7 ; CPU:$F5F8 PRG:75F8 B0 E0 lsr a ; CPU:$F5FA PRG:75FA 4A - bcs IrqHandler_Loop52 ; CPU:$F5FB PRG:75FB B0 32 + bcs IrqHandler_Loop359 ; CPU:$F5FB PRG:75FB B0 32 lsr a ; CPU:$F5FD PRG:75FD 4A - bcs IrqHandler_Loop53 ; CPU:$F5FE PRG:75FE B0 35 + bcs IrqHandler_Loop360 ; CPU:$F5FE PRG:75FE B0 35 lsr a ; CPU:$F600 PRG:7600 4A - bcs IrqHandler_Loop54 ; CPU:$F601 PRG:7601 B0 38 + bcs IrqHandler_Loop361 ; CPU:$F601 PRG:7601 B0 38 lsr a ; CPU:$F603 PRG:7603 4A - bcs IrqHandler_Loop55 ; CPU:$F604 PRG:7604 B0 3B + bcs IrqHandler_Loop362 ; CPU:$F604 PRG:7604 B0 3B rts ; CPU:$F606 PRG:7606 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero12 -; Global: Branch target inside IrqHandler: taken when OnNonzero12. +; Routine: IrqHandler_OnNonzero59 +; Global: Branch target inside IrqHandler: taken when OnNonzero59. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero12: +IrqHandler_OnNonzero59: sta APUDMCLENGTH ; CPU:$F607 PRG:7607 8D 13 40 stx APUDMCADDR ; CPU:$F60A PRG:760A 8E 12 40 lda #$0F ; CPU:$F60D PRG:760D A9 0F @@ -3659,53 +12568,53 @@ IrqHandler_OnNonzero12: sta $07EC ; CPU:$F62B PRG:762B 8D EC 07 rts ; CPU:$F62E PRG:762E 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop52 -; Global: Branch target inside IrqHandler: taken when Loop52. +; Routine: IrqHandler_Loop359 +; Global: Branch target inside IrqHandler: taken when Loop359. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop52: +IrqHandler_Loop359: lda #$55 ; CPU:$F62F PRG:762F A9 55 ldx #$64 ; CPU:$F631 PRG:7631 A2 64 - bne IrqHandler_OnNonzero12 ; CPU:$F633 PRG:7633 D0 D2 + bne IrqHandler_OnNonzero59 ; CPU:$F633 PRG:7633 D0 D2 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop53 -; Global: Branch target inside IrqHandler: taken when Loop53. +; Routine: IrqHandler_Loop360 +; Global: Branch target inside IrqHandler: taken when Loop360. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop53: +IrqHandler_Loop360: lda #$45 ; CPU:$F635 PRG:7635 A9 45 ldx #$7A ; CPU:$F637 PRG:7637 A2 7A - bne IrqHandler_OnNonzero12 ; CPU:$F639 PRG:7639 D0 CC + bne IrqHandler_OnNonzero59 ; CPU:$F639 PRG:7639 D0 CC ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop54 -; Global: Branch target inside IrqHandler: taken when Loop54. +; Routine: IrqHandler_Loop361 +; Global: Branch target inside IrqHandler: taken when Loop361. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop54: +IrqHandler_Loop361: lda #$67 ; CPU:$F63B PRG:763B A9 67 ldx #$8C ; CPU:$F63D PRG:763D A2 8C - bne IrqHandler_OnNonzero12 ; CPU:$F63F PRG:763F D0 C6 + bne IrqHandler_OnNonzero59 ; CPU:$F63F PRG:763F D0 C6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop55 -; Global: Branch target inside IrqHandler: taken when Loop55. +; Routine: IrqHandler_Loop362 +; Global: Branch target inside IrqHandler: taken when Loop362. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop55: +IrqHandler_Loop362: lda #$94 ; CPU:$F641 PRG:7641 A9 94 ldx #$A6 ; CPU:$F643 PRG:7643 A2 A6 - bne IrqHandler_OnNonzero12 ; CPU:$F645 PRG:7645 D0 C0 + bne IrqHandler_OnNonzero59 ; CPU:$F645 PRG:7645 D0 C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_F647 ; Global: Branch target inside Sub: taken when F647. @@ -3717,23 +12626,23 @@ IrqHandler_Loop55: Sub_F647: lda $07F3 ; CPU:$F647 PRG:7647 AD F3 07 cmp #$01 ; CPU:$F64A PRG:764A C9 01 - beq IrqHandler_Loop56 ; CPU:$F64C PRG:764C F0 0F + beq IrqHandler_Loop363 ; CPU:$F64C PRG:764C F0 0F cmp #$02 ; CPU:$F64E PRG:764E C9 02 - beq IrqHandler_Loop56 ; CPU:$F650 PRG:7650 F0 0B + beq IrqHandler_Loop363 ; CPU:$F650 PRG:7650 F0 0B cmp #$20 ; CPU:$F652 PRG:7652 C9 20 - beq IrqHandler_Loop56 ; CPU:$F654 PRG:7654 F0 07 + beq IrqHandler_Loop363 ; CPU:$F654 PRG:7654 F0 07 cmp #$7F ; CPU:$F656 PRG:7656 C9 7F - beq IrqHandler_Loop56 ; CPU:$F658 PRG:7658 F0 03 - jmp IrqHandler_Loop57 ; CPU:$F65A PRG:765A 4C 67 F6 + beq IrqHandler_Loop363 ; CPU:$F658 PRG:7658 F0 03 + jmp IrqHandler_Loop364 ; CPU:$F65A PRG:765A 4C 67 F6 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop56 -; Global: Branch target inside IrqHandler: taken when Loop56. +; Routine: IrqHandler_Loop363 +; Global: Branch target inside IrqHandler: taken when Loop363. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop56: +IrqHandler_Loop363: sta $07DB ; CPU:$F65D PRG:765D 8D DB 07 rts ; CPU:$F660 PRG:7660 60 ; ----------------------------------------------------------------------------- @@ -3746,17 +12655,17 @@ IrqHandler_Loop56: ; ----------------------------------------------------------------------------- Sub_F661: lda $07DD ; CPU:$F661 PRG:7661 AD DD 07 - beq IrqHandler_Loop57 ; CPU:$F664 PRG:7664 F0 01 + beq IrqHandler_Loop364 ; CPU:$F664 PRG:7664 F0 01 rts ; CPU:$F666 PRG:7666 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop57 -; Global: Branch target inside IrqHandler: taken when Loop57. +; Routine: IrqHandler_Loop364 +; Global: Branch target inside IrqHandler: taken when Loop364. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop57: +IrqHandler_Loop364: lda #$00 ; CPU:$F667 PRG:7667 A9 00 sta $07F0 ; CPU:$F669 PRG:7669 8D F0 07 sta $07F2 ; CPU:$F66C PRG:766C 8D F2 07 @@ -3788,21 +12697,21 @@ IrqHandler_Loop57: ; ----------------------------------------------------------------------------- Sub_F6A7: lda $07DD ; CPU:$F6A7 PRG:76A7 AD DD 07 - beq IrqHandler_Loop58 ; CPU:$F6AA PRG:76AA F0 0D + beq IrqHandler_Loop365 ; CPU:$F6AA PRG:76AA F0 0D lda #$00 ; CPU:$F6AC PRG:76AC A9 00 sta $07F4 ; CPU:$F6AE PRG:76AE 8D F4 07 sta $07F5 ; CPU:$F6B1 PRG:76B1 8D F5 07 sta $07DD ; CPU:$F6B4 PRG:76B4 8D DD 07 - beq IrqHandler_Loop59 ; CPU:$F6B7 PRG:76B7 F0 20 + beq IrqHandler_Loop366 ; CPU:$F6B7 PRG:76B7 F0 20 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop58 -; Global: Branch target inside IrqHandler: taken when Loop58. +; Routine: IrqHandler_Loop365 +; Global: Branch target inside IrqHandler: taken when Loop365. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop58: +IrqHandler_Loop365: inc $07DD ; CPU:$F6B9 PRG:76B9 EE DD 07 lda #$01 ; CPU:$F6BC PRG:76BC A9 01 sta $07F4 ; CPU:$F6BE PRG:76BE 8D F4 07 @@ -3817,30 +12726,30 @@ IrqHandler_Loop58: lda #$10 ; CPU:$F6D4 PRG:76D4 A9 10 sta APUPULSE2CTRL ; CPU:$F6D6 PRG:76D6 8D 04 40 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop59 -; Global: Branch target inside IrqHandler: taken when Loop59. +; Routine: IrqHandler_Loop366 +; Global: Branch target inside IrqHandler: taken when Loop366. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop59: +IrqHandler_Loop366: ldx #$E2 ; CPU:$F6D9 PRG:76D9 A2 E2 ldy #$F6 ; CPU:$F6DB PRG:76DB A0 F6 lda #$9F ; CPU:$F6DD PRG:76DD A9 9F - jmp IrqHandler_OnNonzero13 ; CPU:$F6DF PRG:76DF 4C FC F6 + jmp IrqHandler_OnNonzero60 ; CPU:$F6DF PRG:76DF 4C FC F6 ; ---- data $F6E2-$F6FB (26 bytes) ---- .byte $83, $12, $02, $6E, $02, $12, $02, $6E, $02, $12, $02, $6E, $02, $12, $02, $6E ; CPU:$F6E2 PRG:76E2 83 12 02 6E 02 12 02 6E 02 12 02 6E 02 12 02 6E .byte $02, $12, $02, $6E, $02, $12, $02, $6E, $02, $00 ; CPU:$F6F2 PRG:76F2 02 12 02 6E 02 12 02 6E 02 00 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero13 -; Global: Branch target inside IrqHandler: taken when OnNonzero13. +; Routine: IrqHandler_OnNonzero60 +; Global: Branch target inside IrqHandler: taken when OnNonzero60. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero13: +IrqHandler_OnNonzero60: jsr Sub_F518 ; CPU:$F6FC PRG:76FC 20 18 F5 lda #$01 ; CPU:$F6FF PRG:76FF A9 01 sta $07F4 ; CPU:$F701 PRG:7701 8D F4 07 @@ -3850,14 +12759,14 @@ IrqHandler_OnNonzero13: sta $07F0 ; CPU:$F70C PRG:770C 8D F0 07 rts ; CPU:$F70F PRG:770F 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet4 -; Global: Branch target inside IrqHandler: taken when OnCarrySet4. +; Routine: IrqHandler_OnCarrySet8 +; Global: Branch target inside IrqHandler: taken when OnCarrySet8. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet4: +IrqHandler_OnCarrySet8: ldx #$9F ; CPU:$F710 PRG:7710 A2 9F ldy #$F6 ; CPU:$F712 PRG:7712 A0 F6 ; ----------------------------------------------------------------------------- @@ -3870,28 +12779,28 @@ IrqHandler_OnCarrySet4: ; ----------------------------------------------------------------------------- Sub_F714: lda #$9F ; CPU:$F714 PRG:7714 A9 9F - bne IrqHandler_OnNonzero13 ; CPU:$F716 PRG:7716 D0 E4 + bne IrqHandler_OnNonzero60 ; CPU:$F716 PRG:7716 D0 E4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet5 -; Global: Branch target inside IrqHandler: taken when OnCarrySet5. +; Routine: IrqHandler_OnCarrySet9 +; Global: Branch target inside IrqHandler: taken when OnCarrySet9. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet5: +IrqHandler_OnCarrySet9: ldx #$9B ; CPU:$F718 PRG:7718 A2 9B ldy #$F6 ; CPU:$F71A PRG:771A A0 F6 jmp Sub_F714 ; CPU:$F71C PRG:771C 4C 14 F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet6 -; Global: Branch target inside IrqHandler: taken when OnCarrySet6. +; Routine: IrqHandler_OnCarrySet10 +; Global: Branch target inside IrqHandler: taken when OnCarrySet10. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet6: +IrqHandler_OnCarrySet10: jmp Sub_F6A7 ; CPU:$F71F PRG:771F 4C A7 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F722 @@ -3904,15 +12813,15 @@ IrqHandler_OnCarrySet6: Sub_F722: lda ZpF1 ; CPU:$F722 PRG:7722 A5 F1 asl a ; CPU:$F724 PRG:7724 0A - bcs IrqHandler_OnCarrySet6 ; CPU:$F725 PRG:7725 B0 F8 + bcs IrqHandler_OnCarrySet10 ; CPU:$F725 PRG:7725 B0 F8 lda ZpF2 ; CPU:$F727 PRG:7727 A5 F2 lsr a ; CPU:$F729 PRG:7729 4A - bcs IrqHandler_OnCarrySet5 ; CPU:$F72A PRG:772A B0 EC + bcs IrqHandler_OnCarrySet9 ; CPU:$F72A PRG:772A B0 EC lsr a ; CPU:$F72C PRG:772C 4A lsr a ; CPU:$F72D PRG:772D 4A lsr a ; CPU:$F72E PRG:772E 4A lsr a ; CPU:$F72F PRG:772F 4A - bcs IrqHandler_OnCarrySet4 ; CPU:$F730 PRG:7730 B0 DE + bcs IrqHandler_OnCarrySet8 ; CPU:$F730 PRG:7730 B0 DE rts ; CPU:$F732 PRG:7732 60 ; ---- data $F733-$F73A (8 bytes) ---- ; referenced by `lda $F733,y` at $F783 (operand $F733 falls inside this region) @@ -3938,14 +12847,14 @@ Sub_F73B: ; referenced by `lda $F750,y` at $F7F0 (operand $F750 falls inside this region) .byte $83, $DC, $B5, $9A, $06, $08, $0E, $00, $BD, $7F, $FF, $01 ; CPU:$F74C PRG:774C 83 DC B5 9A 06 08 0E 00 BD 7F FF 01 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet7 -; Global: Branch target inside IrqHandler: taken when OnCarrySet7. +; Routine: IrqHandler_OnCarrySet11 +; Global: Branch target inside IrqHandler: taken when OnCarrySet11. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet7: +IrqHandler_OnCarrySet11: ldx #$37 ; CPU:$F758 PRG:7758 A2 37 ldy #$F7 ; CPU:$F75A PRG:775A A0 F7 jsr Sub_F3A0 ; CPU:$F75C PRG:775C 20 A0 F3 @@ -3962,14 +12871,14 @@ IrqHandler_OnCarrySet7: ora #$08 ; CPU:$F778 PRG:7778 09 08 sta $07F2 ; CPU:$F77A PRG:777A 8D F2 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet8 -; Global: Branch target inside IrqHandler: taken when OnCarrySet8. +; Routine: IrqHandler_OnCarrySet12 +; Global: Branch target inside IrqHandler: taken when OnCarrySet12. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet8: +IrqHandler_OnCarrySet12: lda $07E2 ; CPU:$F77D PRG:777D AD E2 07 and #$03 ; CPU:$F780 PRG:7780 29 03 tay ; CPU:$F782 PRG:7782 A8 @@ -3978,8 +12887,8 @@ IrqHandler_OnCarrySet8: inc $07E2 ; CPU:$F789 PRG:7789 EE E2 07 lda $07E2 ; CPU:$F78C PRG:778C AD E2 07 cmp $07E3 ; CPU:$F78F PRG:778F CD E3 07 - bne IrqHandler_Loop60 ; CPU:$F792 PRG:7792 D0 1F - jmp IrqHandler_Loop66 ; CPU:$F794 PRG:7794 4C 05 F8 + bne IrqHandler_Loop367 ; CPU:$F792 PRG:7792 D0 1F + jmp IrqHandler_Loop373 ; CPU:$F794 PRG:7794 4C 05 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F797 ; Global: Branch target inside Sub: taken when F797. @@ -3993,48 +12902,48 @@ Sub_F797: lda ZpF2 ; CPU:$F79A PRG:779A A5 F2 lsr a ; CPU:$F79C PRG:779C 4A lsr a ; CPU:$F79D PRG:779D 4A - bcs IrqHandler_Loop61 ; CPU:$F79E PRG:779E B0 14 + bcs IrqHandler_Loop368 ; CPU:$F79E PRG:779E B0 14 lsr a ; CPU:$F7A0 PRG:77A0 4A - bcs IrqHandler_Loop62 ; CPU:$F7A1 PRG:77A1 B0 14 + bcs IrqHandler_Loop369 ; CPU:$F7A1 PRG:77A1 B0 14 lsr a ; CPU:$F7A3 PRG:77A3 4A - bcs IrqHandler_OnCarrySet7 ; CPU:$F7A4 PRG:77A4 B0 B2 + bcs IrqHandler_OnCarrySet11 ; CPU:$F7A4 PRG:77A4 B0 B2 lda $07F2 ; CPU:$F7A6 PRG:77A6 AD F2 07 lsr a ; CPU:$F7A9 PRG:77A9 4A lsr a ; CPU:$F7AA PRG:77AA 4A - bcs IrqHandler_Loop63 ; CPU:$F7AB PRG:77AB B0 2B + bcs IrqHandler_Loop370 ; CPU:$F7AB PRG:77AB B0 2B lsr a ; CPU:$F7AD PRG:77AD 4A - bcs IrqHandler_Loop63 ; CPU:$F7AE PRG:77AE B0 28 + bcs IrqHandler_Loop370 ; CPU:$F7AE PRG:77AE B0 28 lsr a ; CPU:$F7B0 PRG:77B0 4A - bcs IrqHandler_OnCarrySet8 ; CPU:$F7B1 PRG:77B1 B0 CA + bcs IrqHandler_OnCarrySet12 ; CPU:$F7B1 PRG:77B1 B0 CA ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop60 -; Global: Branch target inside IrqHandler: taken when Loop60. +; Routine: IrqHandler_Loop367 +; Global: Branch target inside IrqHandler: taken when Loop367. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop60: +IrqHandler_Loop367: rts ; CPU:$F7B3 PRG:77B3 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop61 -; Global: Branch target inside IrqHandler: taken when Loop61. +; Routine: IrqHandler_Loop368 +; Global: Branch target inside IrqHandler: taken when Loop368. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop61: +IrqHandler_Loop368: jmp Sub_F73B ; CPU:$F7B4 PRG:77B4 4C 3B F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop62 -; Global: Branch target inside IrqHandler: taken when Loop62. +; Routine: IrqHandler_Loop369 +; Global: Branch target inside IrqHandler: taken when Loop369. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop62: +IrqHandler_Loop369: lda $07F2 ; CPU:$F7B7 PRG:77B7 AD F2 07 and #$F0 ; CPU:$F7BA PRG:77BA 29 F0 ora #$04 ; CPU:$F7BC PRG:77BC 09 04 @@ -4058,34 +12967,34 @@ Sub_F7C5: sta $07E2 ; CPU:$F7D2 PRG:77D2 8D E2 07 inc $07E2 ; CPU:$F7D5 PRG:77D5 EE E2 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop63 -; Global: Branch target inside IrqHandler: taken when Loop63. +; Routine: IrqHandler_Loop370 +; Global: Branch target inside IrqHandler: taken when Loop370. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop63: +IrqHandler_Loop370: dec $07E2 ; CPU:$F7D8 PRG:77D8 CE E2 07 - bne IrqHandler_Loop65 ; CPU:$F7DB PRG:77DB D0 27 + bne IrqHandler_Loop372 ; CPU:$F7DB PRG:77DB D0 27 ldy $07E3 ; CPU:$F7DD PRG:77DD AC E3 07 inc $07E3 ; CPU:$F7E0 PRG:77E0 EE E3 07 lda $07F2 ; CPU:$F7E3 PRG:77E3 AD F2 07 and #$04 ; CPU:$F7E6 PRG:77E6 29 04 - bne IrqHandler_Loop64 ; CPU:$F7E8 PRG:77E8 D0 0C + bne IrqHandler_Loop371 ; CPU:$F7E8 PRG:77E8 D0 0C lda $F74C,y ; CPU:$F7EA PRG:77EA B9 4C F7 sta APUPULSE2SWEEP ; CPU:$F7ED PRG:77ED 8D 05 40 lda $F750,y ; CPU:$F7F0 PRG:77F0 B9 50 F7 jmp Sub_F7FF ; CPU:$F7F3 PRG:77F3 4C FF F7 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop64 -; Global: Branch target inside IrqHandler: taken when Loop64. +; Routine: IrqHandler_Loop371 +; Global: Branch target inside IrqHandler: taken when Loop371. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop64: +IrqHandler_Loop371: lda $F818,y ; CPU:$F7F6 PRG:77F6 B9 18 F8 sta APUPULSE2SWEEP ; CPU:$F7F9 PRG:77F9 8D 05 40 lda $F81C,y ; CPU:$F7FC PRG:77FC B9 1C F8 @@ -4098,27 +13007,27 @@ IrqHandler_Loop64: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_F7FF: - beq IrqHandler_Loop66 ; CPU:$F7FF PRG:77FF F0 04 + beq IrqHandler_Loop373 ; CPU:$F7FF PRG:77FF F0 04 sta $07E2 ; CPU:$F801 PRG:7801 8D E2 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop65 -; Global: Branch target inside IrqHandler: taken when Loop65. +; Routine: IrqHandler_Loop372 +; Global: Branch target inside IrqHandler: taken when Loop372. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop65: +IrqHandler_Loop372: rts ; CPU:$F804 PRG:7804 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop66 -; Global: Branch target inside IrqHandler: taken when Loop66. +; Routine: IrqHandler_Loop373 +; Global: Branch target inside IrqHandler: taken when Loop373. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop66: +IrqHandler_Loop373: lda #$10 ; CPU:$F805 PRG:7805 A9 10 sta APUPULSE2CTRL ; CPU:$F807 PRG:7807 8D 04 40 lda #$00 ; CPU:$F80A PRG:780A A9 00 @@ -4132,14 +13041,14 @@ IrqHandler_Loop66: ; referenced by `lda $F81C,y` at $F7FC (operand $F81C falls inside this region) .byte $83, $AB, $93, $9A, $03, $06, $03, $00, $F6, $7F, $C8, $00, $09, $7F, $32, $38 ; CPU:$F818 PRG:7818 83 AB 93 9A 03 06 03 00 F6 7F C8 00 09 7F 32 38 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet9 -; Global: Branch target inside IrqHandler: taken when OnCarrySet9. +; Routine: IrqHandler_OnCarrySet13 +; Global: Branch target inside IrqHandler: taken when OnCarrySet13. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet9: +IrqHandler_OnCarrySet13: lda $07F2 ; CPU:$F828 PRG:7828 AD F2 07 and #$0F ; CPU:$F82B PRG:782B 29 0F ora #$40 ; CPU:$F82D PRG:782D 09 40 @@ -4150,28 +13059,28 @@ IrqHandler_OnCarrySet9: ldy #$F8 ; CPU:$F839 PRG:7839 A0 F8 jmp Sub_F85C ; CPU:$F83B PRG:783B 4C 5C F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet10 -; Global: Branch target inside IrqHandler: taken when OnCarrySet10. +; Routine: IrqHandler_OnCarrySet14 +; Global: Branch target inside IrqHandler: taken when OnCarrySet14. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet10: +IrqHandler_OnCarrySet14: inc $07EB ; CPU:$F83E PRG:783E EE EB 07 lda $07EB ; CPU:$F841 PRG:7841 AD EB 07 cmp #$04 ; CPU:$F844 PRG:7844 C9 04 - beq IrqHandler_Loop68 ; CPU:$F846 PRG:7846 F0 36 + beq IrqHandler_Loop375 ; CPU:$F846 PRG:7846 F0 36 rts ; CPU:$F848 PRG:7848 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet11 -; Global: Branch target inside IrqHandler: taken when OnCarrySet11. +; Routine: IrqHandler_OnCarrySet15 +; Global: Branch target inside IrqHandler: taken when OnCarrySet15. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet11: +IrqHandler_OnCarrySet15: ldx #$8F ; CPU:$F849 PRG:7849 A2 8F ldy #$F8 ; CPU:$F84B PRG:784B A0 F8 lda $07F2 ; CPU:$F84D PRG:784D AD F2 07 @@ -4193,53 +13102,53 @@ Sub_F85C: lda #$03 ; CPU:$F85F PRG:785F A9 03 sta $07F6 ; CPU:$F861 PRG:7861 8D F6 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnNonzero14 -; Global: Branch target inside IrqHandler: taken when OnNonzero14. +; Routine: IrqHandler_OnNonzero61 +; Global: Branch target inside IrqHandler: taken when OnNonzero61. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnNonzero14: +IrqHandler_OnNonzero61: rts ; CPU:$F864 PRG:7864 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet12 -; Global: Branch target inside IrqHandler: taken when OnCarrySet12. +; Routine: IrqHandler_OnCarrySet16 +; Global: Branch target inside IrqHandler: taken when OnCarrySet16. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet12: +IrqHandler_OnCarrySet16: inc $07EB ; CPU:$F865 PRG:7865 EE EB 07 lda $07EB ; CPU:$F868 PRG:7868 AD EB 07 cmp #$0C ; CPU:$F86B PRG:786B C9 0C - beq IrqHandler_Loop68 ; CPU:$F86D PRG:786D F0 0F + beq IrqHandler_Loop375 ; CPU:$F86D PRG:786D F0 0F cmp #$08 ; CPU:$F86F PRG:786F C9 08 - beq IrqHandler_Loop67 ; CPU:$F871 PRG:7871 F0 04 + beq IrqHandler_Loop374 ; CPU:$F871 PRG:7871 F0 04 cmp #$04 ; CPU:$F873 PRG:7873 C9 04 - bne IrqHandler_OnNonzero14 ; CPU:$F875 PRG:7875 D0 ED + bne IrqHandler_OnNonzero61 ; CPU:$F875 PRG:7875 D0 ED ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop67 -; Global: Branch target inside IrqHandler: taken when Loop67. +; Routine: IrqHandler_Loop374 +; Global: Branch target inside IrqHandler: taken when Loop374. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop67: +IrqHandler_Loop374: ldx #$8F ; CPU:$F877 PRG:7877 A2 8F ldy #$F8 ; CPU:$F879 PRG:7879 A0 F8 jmp Sub_F85C ; CPU:$F87B PRG:787B 4C 5C F8 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop68 -; Global: Branch target inside IrqHandler: taken when Loop68. +; Routine: IrqHandler_Loop375 +; Global: Branch target inside IrqHandler: taken when Loop375. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop68: +IrqHandler_Loop375: lda #$00 ; CPU:$F87E PRG:787E A9 00 sta $07F6 ; CPU:$F880 PRG:7880 8D F6 07 sta APUTRIANGLECTRL ; CPU:$F883 PRG:7883 8D 08 40 @@ -4260,62 +13169,62 @@ IrqHandler_Loop68: Sub_F893: lda ZpF2 ; CPU:$F893 PRG:7893 A5 F2 asl a ; CPU:$F895 PRG:7895 0A - bcs IrqHandler_OnCarrySet11 ; CPU:$F896 PRG:7896 B0 B1 + bcs IrqHandler_OnCarrySet15 ; CPU:$F896 PRG:7896 B0 B1 asl a ; CPU:$F898 PRG:7898 0A - bcs IrqHandler_OnCarrySet9 ; CPU:$F899 PRG:7899 B0 8D + bcs IrqHandler_OnCarrySet13 ; CPU:$F899 PRG:7899 B0 8D lda $07F2 ; CPU:$F89B PRG:789B AD F2 07 asl a ; CPU:$F89E PRG:789E 0A - bcs IrqHandler_OnCarrySet12 ; CPU:$F89F PRG:789F B0 C4 + bcs IrqHandler_OnCarrySet16 ; CPU:$F89F PRG:789F B0 C4 asl a ; CPU:$F8A1 PRG:78A1 0A - bcs IrqHandler_OnCarrySet10 ; CPU:$F8A2 PRG:78A2 B0 9A + bcs IrqHandler_OnCarrySet14 ; CPU:$F8A2 PRG:78A2 B0 9A rts ; CPU:$F8A4 PRG:78A4 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet13 -; Global: Branch target inside IrqHandler: taken when OnCarrySet13. +; Routine: IrqHandler_OnCarrySet17 +; Global: Branch target inside IrqHandler: taken when OnCarrySet17. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet13: +IrqHandler_OnCarrySet17: ldy #$07 ; CPU:$F8A5 PRG:78A5 A0 07 lda #$BF ; CPU:$F8A7 PRG:78A7 A9 BF - jmp IrqHandler_Loop75 ; CPU:$F8A9 PRG:78A9 4C 32 F9 + jmp IrqHandler_Loop382 ; CPU:$F8A9 PRG:78A9 4C 32 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnZero7 -; Global: Branch target inside IrqHandler: taken when OnZero7. +; Routine: IrqHandler_OnZero18 +; Global: Branch target inside IrqHandler: taken when OnZero18. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnZero7: +IrqHandler_OnZero18: lda #$00 ; CPU:$F8AC PRG:78AC A9 00 sta $07DB ; CPU:$F8AE PRG:78AE 8D DB 07 ldy #$08 ; CPU:$F8B1 PRG:78B1 A0 08 lda #$7F ; CPU:$F8B3 PRG:78B3 A9 7F jmp Sub_F93B ; CPU:$F8B5 PRG:78B5 4C 3B F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet14 -; Global: Branch target inside IrqHandler: taken when OnCarrySet14. +; Routine: IrqHandler_OnCarrySet18 +; Global: Branch target inside IrqHandler: taken when OnCarrySet18. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet14: +IrqHandler_OnCarrySet18: ldy #$03 ; CPU:$F8B8 PRG:78B8 A0 03 lda #$08 ; CPU:$F8BA PRG:78BA A9 08 jmp Sub_F95E ; CPU:$F8BC PRG:78BC 4C 5E F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_OnCarrySet15 -; Global: Branch target inside IrqHandler: taken when OnCarrySet15. +; Routine: IrqHandler_OnCarrySet19 +; Global: Branch target inside IrqHandler: taken when OnCarrySet19. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_OnCarrySet15: +IrqHandler_OnCarrySet19: lda #$00 ; CPU:$F8BF PRG:78BF A9 00 sta $07DB ; CPU:$F8C1 PRG:78C1 8D DB 07 ldy #$00 ; CPU:$F8C4 PRG:78C4 A0 00 @@ -4332,126 +13241,126 @@ IrqHandler_OnCarrySet15: Sub_F8CB: lda ZpF1 ; CPU:$F8CB PRG:78CB A5 F1 lsr a ; CPU:$F8CD PRG:78CD 4A - bcs IrqHandler_OnCarrySet15 ; CPU:$F8CE PRG:78CE B0 EF + bcs IrqHandler_OnCarrySet19 ; CPU:$F8CE PRG:78CE B0 EF lsr a ; CPU:$F8D0 PRG:78D0 4A - bcs IrqHandler_Loop71 ; CPU:$F8D1 PRG:78D1 B0 3A + bcs IrqHandler_Loop378 ; CPU:$F8D1 PRG:78D1 B0 3A lsr a ; CPU:$F8D3 PRG:78D3 4A - bcs IrqHandler_Loop70 ; CPU:$F8D4 PRG:78D4 B0 30 + bcs IrqHandler_Loop377 ; CPU:$F8D4 PRG:78D4 B0 30 lsr a ; CPU:$F8D6 PRG:78D6 4A - bcs IrqHandler_OnCarrySet14 ; CPU:$F8D7 PRG:78D7 B0 DF + bcs IrqHandler_OnCarrySet18 ; CPU:$F8D7 PRG:78D7 B0 DF lsr a ; CPU:$F8D9 PRG:78D9 4A - bcs IrqHandler_Loop72 ; CPU:$F8DA PRG:78DA B0 3D + bcs IrqHandler_Loop379 ; CPU:$F8DA PRG:78DA B0 3D lsr a ; CPU:$F8DC PRG:78DC 4A - bcs IrqHandler_Loop73 ; CPU:$F8DD PRG:78DD B0 41 + bcs IrqHandler_Loop380 ; CPU:$F8DD PRG:78DD B0 41 lsr a ; CPU:$F8DF PRG:78DF 4A - bcs IrqHandler_Loop74 ; CPU:$F8E0 PRG:78E0 B0 49 + bcs IrqHandler_Loop381 ; CPU:$F8E0 PRG:78E0 B0 49 lda ZpF0 ; CPU:$F8E2 PRG:78E2 A5 F0 asl a ; CPU:$F8E4 PRG:78E4 0A - bcs IrqHandler_OnZero7 ; CPU:$F8E5 PRG:78E5 B0 C5 + bcs IrqHandler_OnZero18 ; CPU:$F8E5 PRG:78E5 B0 C5 asl a ; CPU:$F8E7 PRG:78E7 0A - bcs IrqHandler_OnCarrySet13 ; CPU:$F8E8 PRG:78E8 B0 BB + bcs IrqHandler_OnCarrySet17 ; CPU:$F8E8 PRG:78E8 B0 BB lda $07DB ; CPU:$F8EA PRG:78EA AD DB 07 cmp #$7F ; CPU:$F8ED PRG:78ED C9 7F - beq IrqHandler_OnZero7 ; CPU:$F8EF PRG:78EF F0 BB + beq IrqHandler_OnZero18 ; CPU:$F8EF PRG:78EF F0 BB lsr a ; CPU:$F8F1 PRG:78F1 4A - bcs IrqHandler_OnCarrySet15 ; CPU:$F8F2 PRG:78F2 B0 CB + bcs IrqHandler_OnCarrySet19 ; CPU:$F8F2 PRG:78F2 B0 CB lsr a ; CPU:$F8F4 PRG:78F4 4A - bcs IrqHandler_Loop71 ; CPU:$F8F5 PRG:78F5 B0 16 + bcs IrqHandler_Loop378 ; CPU:$F8F5 PRG:78F5 B0 16 lsr a ; CPU:$F8F7 PRG:78F7 4A lsr a ; CPU:$F8F8 PRG:78F8 4A lsr a ; CPU:$F8F9 PRG:78F9 4A lsr a ; CPU:$F8FA PRG:78FA 4A - bcs IrqHandler_Loop73 ; CPU:$F8FB PRG:78FB B0 23 + bcs IrqHandler_Loop380 ; CPU:$F8FB PRG:78FB B0 23 lda $07F3 ; CPU:$F8FD PRG:78FD AD F3 07 - bne IrqHandler_Loop69 ; CPU:$F900 PRG:7900 D0 01 + bne IrqHandler_Loop376 ; CPU:$F900 PRG:7900 D0 01 rts ; CPU:$F902 PRG:7902 60 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop69 -; Global: Branch target inside IrqHandler: taken when Loop69. +; Routine: IrqHandler_Loop376 +; Global: Branch target inside IrqHandler: taken when Loop376. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop69: +IrqHandler_Loop376: jmp Sub_F416 ; CPU:$F903 PRG:7903 4C 16 F4 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop70 -; Global: Branch target inside IrqHandler: taken when Loop70. +; Routine: IrqHandler_Loop377 +; Global: Branch target inside IrqHandler: taken when Loop377. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop70: +IrqHandler_Loop377: ldy #$02 ; CPU:$F906 PRG:7906 A0 02 lda #$04 ; CPU:$F908 PRG:7908 A9 04 - jmp IrqHandler_Loop75 ; CPU:$F90A PRG:790A 4C 32 F9 + jmp IrqHandler_Loop382 ; CPU:$F90A PRG:790A 4C 32 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop71 -; Global: Branch target inside IrqHandler: taken when Loop71. +; Routine: IrqHandler_Loop378 +; Global: Branch target inside IrqHandler: taken when Loop378. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop71: +IrqHandler_Loop378: lda #$00 ; CPU:$F90D PRG:790D A9 00 sta $07DB ; CPU:$F90F PRG:790F 8D DB 07 ldy #$01 ; CPU:$F912 PRG:7912 A0 01 lda #$02 ; CPU:$F914 PRG:7914 A9 02 jmp Sub_F95E ; CPU:$F916 PRG:7916 4C 5E F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop72 -; Global: Branch target inside IrqHandler: taken when Loop72. +; Routine: IrqHandler_Loop379 +; Global: Branch target inside IrqHandler: taken when Loop379. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop72: +IrqHandler_Loop379: ldy #$04 ; CPU:$F919 PRG:7919 A0 04 lda #$10 ; CPU:$F91B PRG:791B A9 10 jmp Sub_F94D ; CPU:$F91D PRG:791D 4C 4D F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop73 -; Global: Branch target inside IrqHandler: taken when Loop73. +; Routine: IrqHandler_Loop380 +; Global: Branch target inside IrqHandler: taken when Loop380. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop73: +IrqHandler_Loop380: lda #$00 ; CPU:$F920 PRG:7920 A9 00 sta $07DB ; CPU:$F922 PRG:7922 8D DB 07 ldy #$05 ; CPU:$F925 PRG:7925 A0 05 lda #$20 ; CPU:$F927 PRG:7927 A9 20 - bne IrqHandler_Loop75 ; CPU:$F929 PRG:7929 D0 07 + bne IrqHandler_Loop382 ; CPU:$F929 PRG:7929 D0 07 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop74 -; Global: Branch target inside IrqHandler: taken when Loop74. +; Routine: IrqHandler_Loop381 +; Global: Branch target inside IrqHandler: taken when Loop381. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop74: +IrqHandler_Loop381: ldy #$06 ; CPU:$F92B PRG:792B A0 06 lda #$40 ; CPU:$F92D PRG:792D A9 40 jmp Sub_F944 ; CPU:$F92F PRG:792F 4C 44 F9 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop75 -; Global: Branch target inside IrqHandler: taken when Loop75. +; Routine: IrqHandler_Loop382 +; Global: Branch target inside IrqHandler: taken when Loop382. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop75: +IrqHandler_Loop382: jsr Sub_F3B9 ; CPU:$F932 PRG:7932 20 B9 F3 ldx #$45 ; CPU:$F935 PRG:7935 A2 45 ldy #$45 ; CPU:$F937 PRG:7937 A0 45 - bne IrqHandler_Loop76 ; CPU:$F939 PRG:7939 D0 19 + bne IrqHandler_Loop383 ; CPU:$F939 PRG:7939 D0 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_F93B ; Global: Branch target inside Sub: taken when F93B. @@ -4464,7 +13373,7 @@ Sub_F93B: jsr Sub_F3B9 ; CPU:$F93B PRG:793B 20 B9 F3 ldx #$40 ; CPU:$F93E PRG:793E A2 40 ldy #$40 ; CPU:$F940 PRG:7940 A0 40 - bne IrqHandler_Loop76 ; CPU:$F942 PRG:7942 D0 10 + bne IrqHandler_Loop383 ; CPU:$F942 PRG:7942 D0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_F944 ; Global: Branch target inside Sub: taken when F944. @@ -4477,7 +13386,7 @@ Sub_F944: jsr Sub_F3B9 ; CPU:$F944 PRG:7944 20 B9 F3 ldx #$C0 ; CPU:$F947 PRG:7947 A2 C0 ldy #$C0 ; CPU:$F949 PRG:7949 A0 C0 - bne IrqHandler_Loop76 ; CPU:$F94B PRG:794B D0 07 + bne IrqHandler_Loop383 ; CPU:$F94B PRG:794B D0 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_F94D ; Global: Branch target inside Sub: taken when F94D. @@ -4491,14 +13400,14 @@ Sub_F94D: ldx #$C3 ; CPU:$F950 PRG:7950 A2 C3 ldy #$C3 ; CPU:$F952 PRG:7952 A0 C3 ; ----------------------------------------------------------------------------- -; Routine: IrqHandler_Loop76 -; Global: Branch target inside IrqHandler: taken when Loop76. +; Routine: IrqHandler_Loop383 +; Global: Branch target inside IrqHandler: taken when Loop383. ; Local: Part of IrqHandler. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -IrqHandler_Loop76: +IrqHandler_Loop383: jsr Sub_F3E7 ; CPU:$F954 PRG:7954 20 E7 F3 lda #$00 ; CPU:$F957 PRG:7957 A9 00 sta ZpF7 ; CPU:$F959 PRG:7959 85 F7 @@ -4515,7 +13424,7 @@ Sub_F95E: jsr Sub_F3B9 ; CPU:$F95E PRG:795E 20 B9 F3 ldx #$F6 ; CPU:$F961 PRG:7961 A2 F6 ldy #$F4 ; CPU:$F963 PRG:7963 A0 F4 - bne IrqHandler_Loop76 ; CPU:$F965 PRG:7965 D0 ED + bne IrqHandler_Loop383 ; CPU:$F965 PRG:7965 D0 ED jsr Sub_F3E7 ; CPU:$F967 PRG:7967 20 E7 F3 inc ZpF7 ; CPU:$F96A PRG:796A E6 F7 jmp Sub_F416 ; CPU:$F96C PRG:796C 4C 16 F4 @@ -4531,113 +13440,120 @@ Sub_F96F: jsr Sub_F3B9 ; CPU:$F96F PRG:796F 20 B9 F3 ldx #$98 ; CPU:$F972 PRG:7972 A2 98 ldy #$92 ; CPU:$F974 PRG:7974 A0 92 - bne IrqHandler_Loop76 ; CPU:$F976 PRG:7976 D0 DC + bne IrqHandler_Loop383 ; CPU:$F976 PRG:7976 D0 DC ora #$12 ; CPU:$F978 PRG:7978 09 12 -; ---- data $F97A-$FFF6 (1661 bytes) ---- - .byte $1B, $24, $2D, $36, $3F, $48, $51, $0A, $F5, $FE, $F3, $FE, $34, $FF, $00, $00 ; CPU:$F97A PRG:797A 1B 24 2D 36 3F 48 51 0A F5 FE F3 FE 34 FF 00 00 - .byte $00, $51, $FA, $DE, $FA, $E0, $FA, $59, $FB, $0A, $3D, $FE, $64, $FE, $51, $FE ; CPU:$F98A PRG:798A 00 51 FA DE FA E0 FA 59 FB 0A 3D FE 64 FE 51 FE - .byte $77, $FE, $0A, $8A, $FE, $A9, $FE, $C9, $FE, $DF, $FE, $16, $76, $FB, $B6, $FB ; CPU:$F99A PRG:799A 77 FE 0A 8A FE A9 FE C9 FE DF FE 16 76 FB B6 FB - .byte $F6, $FB, $17, $FC, $0A, $2B, $FC, $F6, $FC, $A9, $FD, $2E, $FE, $00, $44, $FA ; CPU:$F9AA PRG:79AA F6 FB 17 FC 0A 2B FC F6 FC A9 FD 2E FE 00 44 FA - .byte $48, $FA, $4B, $FA, $4E, $FA, $0A, $02, $FA, $16, $FA, $2B, $FA, $35, $FA, $0A ; CPU:$F9BA PRG:79BA 48 FA 4B FA 4E FA 0A 02 FA 16 FA 2B FA 35 FA 0A - .byte $E5, $F9, $EF, $F9, $D2, $F9, $F8, $F9, $8A, $02, $80, $60, $02, $68, $02, $1A ; CPU:$F9CA PRG:79CA E5 F9 EF F9 D2 F9 F8 F9 8A 02 80 60 02 68 02 1A - .byte $02, $66, $02, $18, $02, $64, $02, $16, $02, $62, $02, $81, $04, $0C, $32, $0A ; CPU:$F9DA PRG:79DA 02 66 02 18 02 64 02 16 02 62 02 81 04 0C 32 0A - .byte $30, $08, $2E, $1E, $00, $81, $2A, $12, $28, $10, $26, $0E, $24, $0C, $81, $03 ; CPU:$F9EA PRG:79EA 30 08 2E 1E 00 81 2A 12 28 10 26 0E 24 0C 81 03 - .byte $06, $03, $06, $03, $06, $06, $03, $03, $89, $02, $02, $68, $60, $12, $0C, $12 ; CPU:$F9FA PRG:79FA 06 03 06 03 06 06 03 03 89 02 02 68 60 12 0C 12 - .byte $0C, $04, $0C, $04, $2A, $2E, $02, $02, $32, $02, $04, $00, $8A, $02, $89, $02 ; CPU:$FA0A PRG:7A0A 0C 04 0C 04 2A 2E 02 02 32 02 04 00 8A 02 89 02 - .byte $02, $60, $12, $0C, $04, $0C, $04, $2A, $04, $2A, $24, $26, $02, $02, $26, $02 ; CPU:$FA1A PRG:7A1A 02 60 12 0C 04 0C 04 2A 04 2A 24 26 02 02 26 02 - .byte $24, $82, $1C, $4A, $46, $42, $3E, $89, $42, $02, $34, $C2, $89, $06, $03, $06 ; CPU:$FA2A PRG:7A2A 24 82 1C 4A 46 42 3E 89 42 02 34 C2 89 06 03 06 - .byte $0C, $03, $06, $FF, $06, $06, $06, $0C, $03, $0C, $81, $12, $1A, $00, $81, $0C ; CPU:$FA3A PRG:7A3A 0C 03 06 FF 06 06 06 0C 03 0C 81 12 1A 00 81 0C - .byte $14, $81, $64, $6C, $81, $06, $06, $C2, $81, $12, $10, $12, $02, $60, $02, $12 ; CPU:$FA4A PRG:7A4A 14 81 64 6C 81 06 06 C2 81 12 10 12 02 60 02 12 - .byte $02, $12, $10, $12, $02, $60, $02, $12, $02, $62, $64, $1A, $02, $18, $1A, $12 ; CPU:$FA5A PRG:7A5A 02 12 10 12 02 60 02 12 02 62 64 1A 02 18 1A 12 - .byte $02, $10, $12, $08, $02, $1A, $02, $12, $02, $02, $68, $66, $64, $60, $1A, $16 ; CPU:$FA6A PRG:7A6A 02 10 12 08 02 1A 02 12 02 02 68 66 64 60 1A 16 - .byte $12, $02, $0E, $12, $0E, $0C, $0A, $08, $32, $02, $04, $0A, $0C, $16, $12, $02 ; CPU:$FA7A PRG:7A7A 12 02 0E 12 0E 0C 0A 08 32 02 04 0A 0C 16 12 02 - .byte $04, $32, $04, $08, $02, $08, $0C, $0E, $02, $FF, $C2, $02, $04, $0A, $12, $18 ; CPU:$FA8A PRG:7A8A 04 32 04 08 02 08 0C 0E 02 FF C2 02 04 0A 12 18 - .byte $02, $14, $02, $02, $04, $0A, $12, $18, $02, $14, $02, $1A, $60, $1A, $02, $12 ; CPU:$FA9A PRG:7A9A 02 14 02 02 04 0A 12 18 02 14 02 1A 60 1A 02 12 - .byte $02, $0C, $02, $08, $0C, $02, $12, $32, $02, $02, $02, $FF, $C2, $68, $60, $12 ; CPU:$FAAA PRG:7AAA 02 0C 02 08 0C 02 12 32 02 02 02 FF C2 68 60 12 - .byte $0C, $04, $2A, $04, $0C, $08, $32, $08, $12, $1A, $12, $1A, $64, $60, $16, $0E ; CPU:$FABA PRG:7ABA 0C 04 2A 04 0C 08 32 08 12 1A 12 1A 64 60 16 0E - .byte $04, $2E, $26, $2E, $04, $32, $2A, $32, $08, $12, $08, $1A, $02, $FF, $84, $02 ; CPU:$FACA PRG:7ACA 04 2E 26 2E 04 32 2A 32 08 12 08 1A 02 FF 84 02 - .byte $02, $88, $02, $00, $88, $02, $C2, $81, $04, $0C, $02, $12, $16, $02, $12, $02 ; CPU:$FADA PRG:7ADA 02 88 02 00 88 02 C2 81 04 0C 02 12 16 02 12 02 - .byte $04, $0C, $02, $12, $16, $02, $12, $02, $08, $0E, $02, $12, $1A, $02, $12, $02 ; CPU:$FAEA PRG:7AEA 04 0C 02 12 16 02 12 02 08 0E 02 12 1A 02 12 02 - .byte $08, $0E, $02, $12, $1A, $02, $12, $02, $08, $0E, $02, $12, $1A, $02, $12, $02 ; CPU:$FAFA PRG:7AFA 08 0E 02 12 1A 02 12 02 08 0E 02 12 1A 02 12 02 - .byte $08, $0E, $02, $12, $1A, $02, $12, $02, $04, $04, $02, $0C, $12, $02, $0C, $02 ; CPU:$FB0A PRG:7B0A 08 0E 02 12 1A 02 12 02 04 04 02 0C 12 02 0C 02 - .byte $2A, $2E, $32, $02, $32, $04, $08, $02, $FF, $C2, $2C, $2C, $02, $04, $12, $02 ; CPU:$FB1A PRG:7B1A 2A 2E 32 02 32 04 08 02 FF C2 2C 2C 02 04 12 02 - .byte $0E, $02, $2C, $2C, $02, $04, $12, $02, $0E, $02, $04, $02, $02, $04, $0C, $02 ; CPU:$FB2A PRG:7B2A 0E 02 2C 2C 02 04 12 02 0E 02 04 02 02 04 0C 02 - .byte $2A, $02, $04, $04, $02, $04, $0C, $02, $2A, $02, $FF, $C8, $1C, $1C, $02, $04 ; CPU:$FB3A PRG:7B3A 2A 02 04 04 02 04 0C 02 2A 02 FF C8 1C 1C 02 04 - .byte $12, $12, $02, $04, $FF, $C4, $1C, $02, $02, $1C, $1C, $02, $02, $02, $FF, $D0 ; CPU:$FB4A PRG:7B4A 12 12 02 04 FF C4 1C 02 02 1C 1C 02 02 02 FF D0 - .byte $81, $03, $06, $06, $06, $03, $06, $09, $06, $03, $03, $06, $06, $03, $06, $0C ; CPU:$FB5A PRG:7B5A 81 03 06 06 06 03 06 09 06 03 03 06 06 03 06 0C - .byte $06, $FF, $C4, $03, $06, $06, $06, $03, $06, $0C, $06, $FF, $81, $4A, $80, $4A ; CPU:$FB6A PRG:7B6A 06 FF C4 03 06 06 06 03 06 0C 06 FF 81 4A 80 4A - .byte $87, $1C, $1E, $20, $80, $0C, $02, $04, $02, $02, $2A, $87, $32, $2A, $80, $02 ; CPU:$FB7A PRG:7B7A 87 1C 1E 20 80 0C 02 04 02 02 2A 87 32 2A 80 02 - .byte $02, $87, $0E, $80, $26, $81, $0C, $80, $20, $81, $08, $80, $20, $0C, $02, $12 ; CPU:$FB8A PRG:7B8A 02 87 0E 80 26 81 0C 80 20 81 08 80 20 0C 02 12 - .byte $02, $02, $02, $87, $32, $80, $02, $02, $02, $81, $2E, $80, $0E, $02, $02, $1C ; CPU:$FB9A PRG:7B9A 02 02 02 87 32 80 02 02 02 81 2E 80 0E 02 02 1C - .byte $12, $02, $0E, $02, $02, $02, $87, $02, $02, $02, $02, $00, $81, $42, $80, $42 ; CPU:$FBAA PRG:7BAA 12 02 0E 02 02 02 87 02 02 02 02 00 81 42 80 42 - .byte $87, $46, $48, $4A, $80, $2A, $02, $24, $02, $02, $24, $87, $20, $80, $24, $20 ; CPU:$FBBA PRG:7BBA 87 46 48 4A 80 2A 02 24 02 02 24 87 20 80 24 20 - .byte $1C, $81, $46, $87, $2E, $80, $46, $81, $2A, $80, $46, $81, $26, $80, $46, $2A ; CPU:$FBCA PRG:7BCA 1C 81 46 87 2E 80 46 81 2A 80 46 81 26 80 46 2A - .byte $02, $32, $02, $02, $02, $81, $20, $80, $22, $24, $2A, $2E, $81, $04, $80, $2E ; CPU:$FBDA PRG:7BDA 02 32 02 02 02 81 20 80 22 24 2A 2E 81 04 80 2E - .byte $02, $02, $46, $32, $02, $2E, $02, $02, $02, $84, $02, $02, $87, $2A, $26, $24 ; CPU:$FBEA PRG:7BEA 02 02 46 32 02 2E 02 02 02 84 02 02 87 2A 26 24 - .byte $20, $C2, $81, $1C, $80, $1C, $87, $1C, $42, $80, $42, $46, $42, $81, $3E, $80 ; CPU:$FBFA PRG:7BFA 20 C2 81 1C 80 1C 87 1C 42 80 42 46 42 81 3E 80 - .byte $3E, $87, $46, $80, $42, $46, $48, $87, $4A, $FF, $84, $02, $02, $87, $06, $06 ; CPU:$FC0A PRG:7C0A 3E 87 46 80 42 46 48 87 4A FF 84 02 02 87 06 06 - .byte $06, $06, $C8, $80, $06, $06, $03, $09, $03, $06, $0C, $03, $06, $09, $03, $0C ; CPU:$FC1A PRG:7C1A 06 06 C8 80 06 06 03 09 03 06 0C 03 06 09 03 0C - .byte $FF, $C4, $89, $02, $02, $22, $02, $02, $82, $2C, $89, $1C, $02, $02, $02, $83 ; CPU:$FC2A PRG:7C2A FF C4 89 02 02 22 02 02 82 2C 89 1C 02 02 02 83 - .byte $1E, $89, $02, $02, $22, $02, $02, $02, $FF, $C2, $89, $26, $02, $28, $02, $02 ; CPU:$FC3A PRG:7C3A 1E 89 02 02 22 02 02 02 FF C2 89 26 02 28 02 02 - .byte $2C, $02, $02, $82, $06, $89, $02, $1E, $02, $02, $02, $02, $82, $30, $28, $89 ; CPU:$FC4A PRG:7C4A 2C 02 02 82 06 89 02 1E 02 02 02 02 82 30 28 89 - .byte $02, $26, $02, $28, $02, $02, $2C, $02, $02, $82, $06, $89, $02, $1E, $02, $02 ; CPU:$FC5A PRG:7C5A 02 26 02 28 02 02 2C 02 02 82 06 89 02 1E 02 02 - .byte $02, $02, $22, $02, $02, $22, $82, $22, $FF, $C2, $89, $44, $02, $48, $02, $02 ; CPU:$FC6A PRG:7C6A 02 02 22 02 02 22 82 22 FF C2 89 44 02 48 02 02 - .byte $4A, $82, $02, $02, $02, $89, $02, $02, $82, $48, $89, $4A, $82, $48, $89, $44 ; CPU:$FC7A PRG:7C7A 4A 82 02 02 02 89 02 02 82 48 89 4A 82 48 89 44 - .byte $02, $48, $02, $02, $4A, $83, $02, $84, $02, $FF, $89, $02, $02, $06, $02, $02 ; CPU:$FC8A PRG:7C8A 02 48 02 02 4A 83 02 84 02 FF 89 02 02 06 02 02 - .byte $02, $02, $02, $0E, $02, $02, $30, $02, $02, $22, $02, $02, $2E, $30, $06, $0E ; CPU:$FC9A PRG:7C9A 02 02 02 0E 02 02 30 02 02 22 02 02 2E 30 06 0E - .byte $10, $12, $14, $0E, $02, $06, $02, $02, $82, $2C, $89, $02, $26, $22, $1E, $48 ; CPU:$FCAA PRG:7CAA 10 12 14 0E 02 06 02 02 82 2C 89 02 26 22 1E 48 - .byte $02, $1E, $02, $02, $2C, $2E, $30, $06, $0A, $06, $0A, $0E, $02, $06, $02, $02 ; CPU:$FCBA PRG:7CBA 02 1E 02 02 2C 2E 30 06 0A 06 0A 0E 02 06 02 02 - .byte $82, $2C, $89, $14, $02, $02, $82, $18, $89, $02, $82, $14, $89, $10, $0E, $06 ; CPU:$FCCA PRG:7CCA 82 2C 89 14 02 02 82 18 89 02 82 14 89 10 0E 06 - .byte $2C, $2A, $28, $26, $02, $06, $02, $02, $82, $2C, $89, $2C, $02, $3A, $44, $40 ; CPU:$FCDA PRG:7CDA 2C 2A 28 26 02 06 02 02 82 2C 89 2C 02 3A 44 40 - .byte $3E, $40, $44, $40, $44, $48, $44, $48, $1C, $48, $1C, $00, $C4, $89, $02, $02 ; CPU:$FCEA PRG:7CEA 3E 40 44 40 44 48 44 48 1C 48 1C 00 C4 89 02 02 - .byte $48, $02, $02, $82, $22, $89, $44, $82, $02, $48, $44, $89, $40, $02, $40, $02 ; CPU:$FCFA PRG:7CFA 48 02 02 82 22 89 44 82 02 48 44 89 40 02 40 02 - .byte $02, $02, $FF, $C2, $89, $1E, $02, $22, $02, $02, $26, $02, $02, $82, $2C, $89 ; CPU:$FD0A PRG:7D0A 02 02 FF C2 89 1E 02 22 02 02 26 02 02 82 2C 89 - .byte $02, $44, $02, $02, $02, $02, $20, $22, $26, $28, $04, $02, $30, $2C, $02, $22 ; CPU:$FD1A PRG:7D1A 02 44 02 02 02 02 20 22 26 28 04 02 30 2C 02 22 - .byte $02, $02, $26, $02, $02, $82, $2C, $89, $02, $44, $02, $02, $02, $02, $48, $02 ; CPU:$FD2A PRG:7D2A 02 02 26 02 02 82 2C 89 02 44 02 02 02 02 48 02 - .byte $02, $44, $82, $40, $FF, $C2, $89, $1E, $02, $1E, $02, $02, $1E, $82, $02, $02 ; CPU:$FD3A PRG:7D3A 02 44 82 40 FF C2 89 1E 02 1E 02 02 1E 82 02 02 - .byte $02, $89, $02, $02, $82, $1E, $89, $1E, $82, $1E, $89, $1E, $02, $1E, $02, $02 ; CPU:$FD4A PRG:7D4A 02 89 02 02 82 1E 89 1E 82 1E 89 1E 02 1E 02 02 - .byte $1E, $83, $02, $84, $02, $FF, $89, $02, $02, $26, $83, $02, $89, $2C, $02, $1E ; CPU:$FD5A PRG:7D5A 1E 83 02 84 02 FF 89 02 02 26 83 02 89 2C 02 1E - .byte $02, $02, $48, $86, $02, $89, $02, $02, $26, $02, $02, $82, $22, $89, $02, $82 ; CPU:$FD6A PRG:7D6A 02 02 48 86 02 89 02 02 26 02 02 82 22 89 02 82 - .byte $2C, $28, $86, $02, $89, $02, $02, $2C, $02, $02, $82, $22, $89, $0A, $02, $06 ; CPU:$FD7A PRG:7D7A 2C 28 86 02 89 02 02 2C 02 02 82 22 89 0A 02 06 - .byte $0E, $02, $02, $30, $82, $06, $30, $06, $1E, $89, $02, $02, $82, $22, $89, $22 ; CPU:$FD8A PRG:7D8A 0E 02 02 30 82 06 30 06 1E 89 02 02 82 22 89 22 - .byte $02, $40, $44, $48, $44, $48, $1C, $48, $1C, $1E, $1C, $1E, $22, $1E, $22, $C4 ; CPU:$FD9A PRG:7D9A 02 40 44 48 44 48 1C 48 1C 1E 1C 1E 22 1E 22 C4 - .byte $82, $36, $36, $3E, $3E, $40, $40, $44, $44, $FF, $C4, $82, $1E, $89, $1E, $02 ; CPU:$FDAA PRG:7DAA 82 36 36 3E 3E 40 40 44 44 FF C4 82 1E 89 1E 02 - .byte $3C, $82, $3E, $89, $3E, $02, $44, $82, $40, $89, $40, $02, $3A, $82, $44, $89 ; CPU:$FDBA PRG:7DBA 3C 82 3E 89 3E 02 44 82 40 89 40 02 3A 82 44 89 - .byte $44, $02, $3A, $FF, $89, $26, $02, $28, $02, $02, $2C, $86, $02, $89, $02, $02 ; CPU:$FDCA PRG:7DCA 44 02 3A FF 89 26 02 28 02 02 2C 86 02 89 02 02 - .byte $28, $02, $02, $2C, $28, $02, $02, $26, $02, $28, $02, $02, $2C, $83, $02, $89 ; CPU:$FDDA PRG:7DDA 28 02 02 2C 28 02 02 26 02 28 02 02 2C 83 02 89 - .byte $1E, $1E, $1E, $3E, $3E, $3E, $48, $48, $48, $44, $44, $44, $26, $02, $28, $02 ; CPU:$FDEA PRG:7DEA 1E 1E 1E 3E 3E 3E 48 48 48 44 44 44 26 02 28 02 - .byte $02, $2C, $86, $02, $89, $02, $02, $28, $02, $02, $2C, $28, $02, $02, $26, $02 ; CPU:$FDFA PRG:7DFA 02 2C 86 02 89 02 02 28 02 02 2C 28 02 02 26 02 - .byte $28, $02, $02, $2C, $83, $02, $88, $1E, $4A, $44, $40, $3C, $3A, $C4, $82, $1E ; CPU:$FE0A PRG:7E0A 28 02 02 2C 83 02 88 1E 4A 44 40 3C 3A C4 82 1E - .byte $89, $1E, $02, $3C, $82, $3E, $3E, $40, $40, $44, $38, $36, $36, $3E, $3E, $40 ; CPU:$FE1A PRG:7E1A 89 1E 02 3C 82 3E 3E 40 40 44 38 36 36 3E 3E 40 - .byte $48, $44, $44, $FF, $E0, $89, $06, $03, $06, $09, $06, $06, $06, $03, $06, $09 ; CPU:$FE2A PRG:7E2A 48 44 44 FF E0 89 06 03 06 09 06 06 06 03 06 09 - .byte $03, $06, $FF, $89, $24, $02, $0C, $02, $02, $02, $10, $02, $28, $0C, $02, $0C ; CPU:$FE3A PRG:7E3A 03 06 FF 89 24 02 0C 02 02 02 10 02 28 0C 02 0C - .byte $0A, $02, $02, $02, $02, $1A, $00, $89, $62, $1A, $14, $0C, $06, $32, $66, $62 ; CPU:$FE4A PRG:7E4A 0A 02 02 02 02 1A 00 89 62 1A 14 0C 06 32 66 62 - .byte $18, $10, $06, $30, $4A, $02, $02, $02, $02, $6C, $89, $44, $02, $2C, $02, $02 ; CPU:$FE5A PRG:7E5A 18 10 06 30 4A 02 02 02 02 6C 89 44 02 2C 02 02 - .byte $02, $30, $02, $48, $2C, $02, $48, $28, $02, $02, $02, $02, $0A, $89, $06, $03 ; CPU:$FE6A PRG:7E6A 02 30 02 48 2C 02 48 28 02 02 02 02 0A 89 06 03 - .byte $06, $09, $03, $06, $06, $03, $06, $09, $03, $06, $0C, $03, $06, $09, $03, $0C ; CPU:$FE7A PRG:7E7A 06 09 03 06 06 03 06 09 03 06 0C 03 06 09 03 0C - .byte $89, $26, $02, $68, $02, $02, $02, $60, $02, $16, $02, $02, $02, $64, $02, $02 ; CPU:$FE8A PRG:7E8A 89 26 02 68 02 02 02 60 02 16 02 02 02 64 02 02 - .byte $1A, $02, $12, $02, $02, $02, $02, $02, $02, $88, $04, $04, $04, $04, $00, $8A ; CPU:$FE9A PRG:7E9A 1A 02 12 02 02 02 02 02 02 88 04 04 04 04 00 8A - .byte $02, $89, $2E, $2E, $60, $04, $02, $12, $16, $2E, $0E, $04, $02, $12, $1A, $2A ; CPU:$FEAA PRG:7EAA 02 89 2E 2E 60 04 02 12 16 2E 0E 04 02 12 1A 2A - .byte $2A, $12, $02, $08, $2A, $2A, $2A, $32, $02, $32, $88, $26, $26, $26, $26, $C2 ; CPU:$FEBA PRG:7EBA 2A 12 02 08 2A 2A 2A 32 02 32 88 26 26 26 26 C2 - .byte $89, $0E, $0E, $0E, $16, $02, $68, $FF, $C2, $0C, $0C, $0C, $12, $02, $08, $FF ; CPU:$FECA PRG:7ECA 89 0E 0E 0E 16 02 68 FF C2 0C 0C 0C 12 02 08 FF - .byte $88, $12, $12, $12, $12, $C2, $89, $0C, $03, $06, $09, $03, $06, $06, $06, $03 ; CPU:$FEDA PRG:7EDA 88 12 12 12 12 C2 89 0C 03 06 09 03 06 06 06 03 - .byte $0C, $03, $06, $FF, $88, $06, $06, $06, $0C, $88, $02, $C3, $82, $02, $89, $6C ; CPU:$FEEA PRG:7EEA 0C 03 06 FF 88 06 06 06 0C 88 02 C3 82 02 89 6C - .byte $64, $16, $82, $02, $89, $6E, $60, $12, $FF, $89, $70, $68, $62, $16, $14, $0C ; CPU:$FEFA PRG:7EFA 64 16 82 02 89 6E 60 12 FF 89 70 68 62 16 14 0C - .byte $06, $2E, $2C, $24, $1E, $46, $1E, $24, $2C, $2E, $C3, $82, $02, $89, $6E, $66 ; CPU:$FF0A PRG:7F0A 06 2E 2C 24 1E 46 1E 24 2C 2E C3 82 02 89 6E 66 - .byte $18, $82, $02, $89, $70, $62, $14, $FF, $89, $72, $6A, $64, $18, $16, $0E, $08 ; CPU:$FF1A PRG:7F1A 18 82 02 89 70 62 14 FF 89 72 6A 64 18 16 0E 08 - .byte $30, $2E, $26, $20, $48, $20, $26, $2E, $30, $00, $C3, $80, $08, $02, $16, $02 ; CPU:$FF2A PRG:7F2A 30 2E 26 20 48 20 26 2E 30 00 C3 80 08 02 16 02 - .byte $02, $68, $16, $02, $02, $04, $12, $02, $64, $64, $02, $60, $FF, $2E, $2E, $02 ; CPU:$FF3A PRG:7F3A 02 68 16 02 02 04 12 02 64 64 02 60 FF 2E 2E 02 - .byte $0C, $02, $1A, $02, $16, $02, $2E, $02, $0C, $02, $1A, $16, $02, $C3, $0A, $02 ; CPU:$FF4A PRG:7F4A 0C 02 1A 02 16 02 2E 02 0C 02 1A 16 02 C3 0A 02 - .byte $18, $02, $02, $6A, $0A, $02, $06, $02, $14, $02, $66, $66, $02, $62, $FF, $30 ; CPU:$FF5A PRG:7F5A 18 02 02 6A 0A 02 06 02 14 02 66 66 02 62 FF 30 - .byte $30, $02, $0E, $02, $60, $02, $18, $02, $30, $02, $0E, $02, $60, $18, $02, $C8 ; CPU:$FF6A PRG:7F6A 30 02 0E 02 60 02 18 02 30 02 0E 02 60 18 02 C8 - .byte $80, $06, $03, $03, $03, $06, $03, $03, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF7A PRG:7F7A 80 06 03 03 03 06 03 03 03 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:$FF8A PRG:7F8A FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$FF9A PRG:7F9A FF FF FF FF FF FF 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $20, $52, $4F, $42, $4F, $54, $20, $20, $53, $4F ; CPU:$FFAA PRG:7FAA 20 20 20 20 20 20 20 52 4F 42 4F 54 20 20 53 4F - .byte $55, $4E, $44, $20, $20, $20, $20, $20, $35, $2F, $35, $20, $31, $39, $38, $35 ; CPU:$FFBA PRG:7FBA 55 4E 44 20 20 20 20 20 35 2F 35 20 31 39 38 35 - .byte $20, $20, $20, $20, $20, $20, $20, $48, $49, $52, $4F, $4B, $41, $5A, $55, $2E ; CPU:$FFCA PRG:7FCA 20 20 20 20 20 20 20 48 49 52 4F 4B 41 5A 55 2E - .byte $54, $41, $4E, $41, $4B, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$FFDA PRG:7FDA 54 41 4E 41 4B 41 20 20 20 20 20 20 20 20 20 20 - .byte $20, $20, $20, $20, $20, $20, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFEA PRG:7FEA 20 20 20 20 20 20 FF FF FF FF FF FF FF + .byte $1B, $24, $2D ; CPU:$F97A PRG:797A 1B 24 2D -- slo $2D24,y (undocumented; ca65 cannot encode) + rol Zp3F,x ; CPU:$F97D PRG:797D 36 3F + pha ; CPU:$F97F PRG:797F 48 + eor (Zp0A),y ; CPU:$F980 PRG:7980 51 0A + sbc ZpFE,x ; CPU:$F982 PRG:7982 F5 FE + .byte $F3, $FE ; CPU:$F984 PRG:7984 F3 FE -- isc (ZpFE),y (undocumented; ca65 cannot encode) + .byte $34, $FF ; CPU:$F986 PRG:7986 34 FF -- nop ZpFF,x (undocumented; ca65 cannot encode) + brk ; CPU:$F988 PRG:7988 00 +; ---- data $F989-$FFF6 (1646 bytes) ---- + .byte $00, $00, $51, $FA, $DE, $FA, $E0, $FA, $59, $FB, $0A, $3D, $FE, $64, $FE, $51 ; CPU:$F989 PRG:7989 00 00 51 FA DE FA E0 FA 59 FB 0A 3D FE 64 FE 51 + .byte $FE, $77, $FE, $0A, $8A, $FE, $A9, $FE, $C9, $FE, $DF, $FE, $16, $76, $FB, $B6 ; CPU:$F999 PRG:7999 FE 77 FE 0A 8A FE A9 FE C9 FE DF FE 16 76 FB B6 + .byte $FB, $F6, $FB, $17, $FC, $0A, $2B, $FC, $F6, $FC, $A9, $FD, $2E, $FE, $00, $44 ; CPU:$F9A9 PRG:79A9 FB F6 FB 17 FC 0A 2B FC F6 FC A9 FD 2E FE 00 44 + .byte $FA, $48, $FA, $4B, $FA, $4E, $FA, $0A, $02, $FA, $16, $FA, $2B, $FA, $35, $FA ; CPU:$F9B9 PRG:79B9 FA 48 FA 4B FA 4E FA 0A 02 FA 16 FA 2B FA 35 FA + .byte $0A, $E5, $F9, $EF, $F9, $D2, $F9, $F8, $F9, $8A, $02, $80, $60, $02, $68, $02 ; CPU:$F9C9 PRG:79C9 0A E5 F9 EF F9 D2 F9 F8 F9 8A 02 80 60 02 68 02 + .byte $1A, $02, $66, $02, $18, $02, $64, $02, $16, $02, $62, $02, $81, $04, $0C, $32 ; CPU:$F9D9 PRG:79D9 1A 02 66 02 18 02 64 02 16 02 62 02 81 04 0C 32 + .byte $0A, $30, $08, $2E, $1E, $00, $81, $2A, $12, $28, $10, $26, $0E, $24, $0C, $81 ; CPU:$F9E9 PRG:79E9 0A 30 08 2E 1E 00 81 2A 12 28 10 26 0E 24 0C 81 + .byte $03, $06, $03, $06, $03, $06, $06, $03, $03, $89, $02, $02, $68, $60, $12, $0C ; CPU:$F9F9 PRG:79F9 03 06 03 06 03 06 06 03 03 89 02 02 68 60 12 0C + .byte $12, $0C, $04, $0C, $04, $2A, $2E, $02, $02, $32, $02, $04, $00, $8A, $02, $89 ; CPU:$FA09 PRG:7A09 12 0C 04 0C 04 2A 2E 02 02 32 02 04 00 8A 02 89 + .byte $02, $02, $60, $12, $0C, $04, $0C, $04, $2A, $04, $2A, $24, $26, $02, $02, $26 ; CPU:$FA19 PRG:7A19 02 02 60 12 0C 04 0C 04 2A 04 2A 24 26 02 02 26 + .byte $02, $24, $82, $1C, $4A, $46, $42, $3E, $89, $42, $02, $34, $C2, $89, $06, $03 ; CPU:$FA29 PRG:7A29 02 24 82 1C 4A 46 42 3E 89 42 02 34 C2 89 06 03 + .byte $06, $0C, $03, $06, $FF, $06, $06, $06, $0C, $03, $0C, $81, $12, $1A, $00, $81 ; CPU:$FA39 PRG:7A39 06 0C 03 06 FF 06 06 06 0C 03 0C 81 12 1A 00 81 + .byte $0C, $14, $81, $64, $6C, $81, $06, $06, $C2, $81, $12, $10, $12, $02, $60, $02 ; CPU:$FA49 PRG:7A49 0C 14 81 64 6C 81 06 06 C2 81 12 10 12 02 60 02 + .byte $12, $02, $12, $10, $12, $02, $60, $02, $12, $02, $62, $64, $1A, $02, $18, $1A ; CPU:$FA59 PRG:7A59 12 02 12 10 12 02 60 02 12 02 62 64 1A 02 18 1A + .byte $12, $02, $10, $12, $08, $02, $1A, $02, $12, $02, $02, $68, $66, $64, $60, $1A ; CPU:$FA69 PRG:7A69 12 02 10 12 08 02 1A 02 12 02 02 68 66 64 60 1A + .byte $16, $12, $02, $0E, $12, $0E, $0C, $0A, $08, $32, $02, $04, $0A, $0C, $16, $12 ; CPU:$FA79 PRG:7A79 16 12 02 0E 12 0E 0C 0A 08 32 02 04 0A 0C 16 12 + .byte $02, $04, $32, $04, $08, $02, $08, $0C, $0E, $02, $FF, $C2, $02, $04, $0A, $12 ; CPU:$FA89 PRG:7A89 02 04 32 04 08 02 08 0C 0E 02 FF C2 02 04 0A 12 + .byte $18, $02, $14, $02, $02, $04, $0A, $12, $18, $02, $14, $02, $1A, $60, $1A, $02 ; CPU:$FA99 PRG:7A99 18 02 14 02 02 04 0A 12 18 02 14 02 1A 60 1A 02 + .byte $12, $02, $0C, $02, $08, $0C, $02, $12, $32, $02, $02, $02, $FF, $C2, $68, $60 ; CPU:$FAA9 PRG:7AA9 12 02 0C 02 08 0C 02 12 32 02 02 02 FF C2 68 60 + .byte $12, $0C, $04, $2A, $04, $0C, $08, $32, $08, $12, $1A, $12, $1A, $64, $60, $16 ; CPU:$FAB9 PRG:7AB9 12 0C 04 2A 04 0C 08 32 08 12 1A 12 1A 64 60 16 + .byte $0E, $04, $2E, $26, $2E, $04, $32, $2A, $32, $08, $12, $08, $1A, $02, $FF, $84 ; CPU:$FAC9 PRG:7AC9 0E 04 2E 26 2E 04 32 2A 32 08 12 08 1A 02 FF 84 + .byte $02, $02, $88, $02, $00, $88, $02, $C2, $81, $04, $0C, $02, $12, $16, $02, $12 ; CPU:$FAD9 PRG:7AD9 02 02 88 02 00 88 02 C2 81 04 0C 02 12 16 02 12 + .byte $02, $04, $0C, $02, $12, $16, $02, $12, $02, $08, $0E, $02, $12, $1A, $02, $12 ; CPU:$FAE9 PRG:7AE9 02 04 0C 02 12 16 02 12 02 08 0E 02 12 1A 02 12 + .byte $02, $08, $0E, $02, $12, $1A, $02, $12, $02, $08, $0E, $02, $12, $1A, $02, $12 ; CPU:$FAF9 PRG:7AF9 02 08 0E 02 12 1A 02 12 02 08 0E 02 12 1A 02 12 + .byte $02, $08, $0E, $02, $12, $1A, $02, $12, $02, $04, $04, $02, $0C, $12, $02, $0C ; CPU:$FB09 PRG:7B09 02 08 0E 02 12 1A 02 12 02 04 04 02 0C 12 02 0C + .byte $02, $2A, $2E, $32, $02, $32, $04, $08, $02, $FF, $C2, $2C, $2C, $02, $04, $12 ; CPU:$FB19 PRG:7B19 02 2A 2E 32 02 32 04 08 02 FF C2 2C 2C 02 04 12 + .byte $02, $0E, $02, $2C, $2C, $02, $04, $12, $02, $0E, $02, $04, $02, $02, $04, $0C ; CPU:$FB29 PRG:7B29 02 0E 02 2C 2C 02 04 12 02 0E 02 04 02 02 04 0C + .byte $02, $2A, $02, $04, $04, $02, $04, $0C, $02, $2A, $02, $FF, $C8, $1C, $1C, $02 ; CPU:$FB39 PRG:7B39 02 2A 02 04 04 02 04 0C 02 2A 02 FF C8 1C 1C 02 + .byte $04, $12, $12, $02, $04, $FF, $C4, $1C, $02, $02, $1C, $1C, $02, $02, $02, $FF ; CPU:$FB49 PRG:7B49 04 12 12 02 04 FF C4 1C 02 02 1C 1C 02 02 02 FF + .byte $D0, $81, $03, $06, $06, $06, $03, $06, $09, $06, $03, $03, $06, $06, $03, $06 ; CPU:$FB59 PRG:7B59 D0 81 03 06 06 06 03 06 09 06 03 03 06 06 03 06 + .byte $0C, $06, $FF, $C4, $03, $06, $06, $06, $03, $06, $0C, $06, $FF, $81, $4A, $80 ; CPU:$FB69 PRG:7B69 0C 06 FF C4 03 06 06 06 03 06 0C 06 FF 81 4A 80 + .byte $4A, $87, $1C, $1E, $20, $80, $0C, $02, $04, $02, $02, $2A, $87, $32, $2A, $80 ; CPU:$FB79 PRG:7B79 4A 87 1C 1E 20 80 0C 02 04 02 02 2A 87 32 2A 80 + .byte $02, $02, $87, $0E, $80, $26, $81, $0C, $80, $20, $81, $08, $80, $20, $0C, $02 ; CPU:$FB89 PRG:7B89 02 02 87 0E 80 26 81 0C 80 20 81 08 80 20 0C 02 + .byte $12, $02, $02, $02, $87, $32, $80, $02, $02, $02, $81, $2E, $80, $0E, $02, $02 ; CPU:$FB99 PRG:7B99 12 02 02 02 87 32 80 02 02 02 81 2E 80 0E 02 02 + .byte $1C, $12, $02, $0E, $02, $02, $02, $87, $02, $02, $02, $02, $00, $81, $42, $80 ; CPU:$FBA9 PRG:7BA9 1C 12 02 0E 02 02 02 87 02 02 02 02 00 81 42 80 + .byte $42, $87, $46, $48, $4A, $80, $2A, $02, $24, $02, $02, $24, $87, $20, $80, $24 ; CPU:$FBB9 PRG:7BB9 42 87 46 48 4A 80 2A 02 24 02 02 24 87 20 80 24 + .byte $20, $1C, $81, $46, $87, $2E, $80, $46, $81, $2A, $80, $46, $81, $26, $80, $46 ; CPU:$FBC9 PRG:7BC9 20 1C 81 46 87 2E 80 46 81 2A 80 46 81 26 80 46 + .byte $2A, $02, $32, $02, $02, $02, $81, $20, $80, $22, $24, $2A, $2E, $81, $04, $80 ; CPU:$FBD9 PRG:7BD9 2A 02 32 02 02 02 81 20 80 22 24 2A 2E 81 04 80 + .byte $2E, $02, $02, $46, $32, $02, $2E, $02, $02, $02, $84, $02, $02, $87, $2A, $26 ; CPU:$FBE9 PRG:7BE9 2E 02 02 46 32 02 2E 02 02 02 84 02 02 87 2A 26 + .byte $24, $20, $C2, $81, $1C, $80, $1C, $87, $1C, $42, $80, $42, $46, $42, $81, $3E ; CPU:$FBF9 PRG:7BF9 24 20 C2 81 1C 80 1C 87 1C 42 80 42 46 42 81 3E + .byte $80, $3E, $87, $46, $80, $42, $46, $48, $87, $4A, $FF, $84, $02, $02, $87, $06 ; CPU:$FC09 PRG:7C09 80 3E 87 46 80 42 46 48 87 4A FF 84 02 02 87 06 + .byte $06, $06, $06, $C8, $80, $06, $06, $03, $09, $03, $06, $0C, $03, $06, $09, $03 ; CPU:$FC19 PRG:7C19 06 06 06 C8 80 06 06 03 09 03 06 0C 03 06 09 03 + .byte $0C, $FF, $C4, $89, $02, $02, $22, $02, $02, $82, $2C, $89, $1C, $02, $02, $02 ; CPU:$FC29 PRG:7C29 0C FF C4 89 02 02 22 02 02 82 2C 89 1C 02 02 02 + .byte $83, $1E, $89, $02, $02, $22, $02, $02, $02, $FF, $C2, $89, $26, $02, $28, $02 ; CPU:$FC39 PRG:7C39 83 1E 89 02 02 22 02 02 02 FF C2 89 26 02 28 02 + .byte $02, $2C, $02, $02, $82, $06, $89, $02, $1E, $02, $02, $02, $02, $82, $30, $28 ; CPU:$FC49 PRG:7C49 02 2C 02 02 82 06 89 02 1E 02 02 02 02 82 30 28 + .byte $89, $02, $26, $02, $28, $02, $02, $2C, $02, $02, $82, $06, $89, $02, $1E, $02 ; CPU:$FC59 PRG:7C59 89 02 26 02 28 02 02 2C 02 02 82 06 89 02 1E 02 + .byte $02, $02, $02, $22, $02, $02, $22, $82, $22, $FF, $C2, $89, $44, $02, $48, $02 ; CPU:$FC69 PRG:7C69 02 02 02 22 02 02 22 82 22 FF C2 89 44 02 48 02 + .byte $02, $4A, $82, $02, $02, $02, $89, $02, $02, $82, $48, $89, $4A, $82, $48, $89 ; CPU:$FC79 PRG:7C79 02 4A 82 02 02 02 89 02 02 82 48 89 4A 82 48 89 + .byte $44, $02, $48, $02, $02, $4A, $83, $02, $84, $02, $FF, $89, $02, $02, $06, $02 ; CPU:$FC89 PRG:7C89 44 02 48 02 02 4A 83 02 84 02 FF 89 02 02 06 02 + .byte $02, $02, $02, $02, $0E, $02, $02, $30, $02, $02, $22, $02, $02, $2E, $30, $06 ; CPU:$FC99 PRG:7C99 02 02 02 02 0E 02 02 30 02 02 22 02 02 2E 30 06 + .byte $0E, $10, $12, $14, $0E, $02, $06, $02, $02, $82, $2C, $89, $02, $26, $22, $1E ; CPU:$FCA9 PRG:7CA9 0E 10 12 14 0E 02 06 02 02 82 2C 89 02 26 22 1E + .byte $48, $02, $1E, $02, $02, $2C, $2E, $30, $06, $0A, $06, $0A, $0E, $02, $06, $02 ; CPU:$FCB9 PRG:7CB9 48 02 1E 02 02 2C 2E 30 06 0A 06 0A 0E 02 06 02 + .byte $02, $82, $2C, $89, $14, $02, $02, $82, $18, $89, $02, $82, $14, $89, $10, $0E ; CPU:$FCC9 PRG:7CC9 02 82 2C 89 14 02 02 82 18 89 02 82 14 89 10 0E + .byte $06, $2C, $2A, $28, $26, $02, $06, $02, $02, $82, $2C, $89, $2C, $02, $3A, $44 ; CPU:$FCD9 PRG:7CD9 06 2C 2A 28 26 02 06 02 02 82 2C 89 2C 02 3A 44 + .byte $40, $3E, $40, $44, $40, $44, $48, $44, $48, $1C, $48, $1C, $00, $C4, $89, $02 ; CPU:$FCE9 PRG:7CE9 40 3E 40 44 40 44 48 44 48 1C 48 1C 00 C4 89 02 + .byte $02, $48, $02, $02, $82, $22, $89, $44, $82, $02, $48, $44, $89, $40, $02, $40 ; CPU:$FCF9 PRG:7CF9 02 48 02 02 82 22 89 44 82 02 48 44 89 40 02 40 + .byte $02, $02, $02, $FF, $C2, $89, $1E, $02, $22, $02, $02, $26, $02, $02, $82, $2C ; CPU:$FD09 PRG:7D09 02 02 02 FF C2 89 1E 02 22 02 02 26 02 02 82 2C + .byte $89, $02, $44, $02, $02, $02, $02, $20, $22, $26, $28, $04, $02, $30, $2C, $02 ; CPU:$FD19 PRG:7D19 89 02 44 02 02 02 02 20 22 26 28 04 02 30 2C 02 + .byte $22, $02, $02, $26, $02, $02, $82, $2C, $89, $02, $44, $02, $02, $02, $02, $48 ; CPU:$FD29 PRG:7D29 22 02 02 26 02 02 82 2C 89 02 44 02 02 02 02 48 + .byte $02, $02, $44, $82, $40, $FF, $C2, $89, $1E, $02, $1E, $02, $02, $1E, $82, $02 ; CPU:$FD39 PRG:7D39 02 02 44 82 40 FF C2 89 1E 02 1E 02 02 1E 82 02 + .byte $02, $02, $89, $02, $02, $82, $1E, $89, $1E, $82, $1E, $89, $1E, $02, $1E, $02 ; CPU:$FD49 PRG:7D49 02 02 89 02 02 82 1E 89 1E 82 1E 89 1E 02 1E 02 + .byte $02, $1E, $83, $02, $84, $02, $FF, $89, $02, $02, $26, $83, $02, $89, $2C, $02 ; CPU:$FD59 PRG:7D59 02 1E 83 02 84 02 FF 89 02 02 26 83 02 89 2C 02 + .byte $1E, $02, $02, $48, $86, $02, $89, $02, $02, $26, $02, $02, $82, $22, $89, $02 ; CPU:$FD69 PRG:7D69 1E 02 02 48 86 02 89 02 02 26 02 02 82 22 89 02 + .byte $82, $2C, $28, $86, $02, $89, $02, $02, $2C, $02, $02, $82, $22, $89, $0A, $02 ; CPU:$FD79 PRG:7D79 82 2C 28 86 02 89 02 02 2C 02 02 82 22 89 0A 02 + .byte $06, $0E, $02, $02, $30, $82, $06, $30, $06, $1E, $89, $02, $02, $82, $22, $89 ; CPU:$FD89 PRG:7D89 06 0E 02 02 30 82 06 30 06 1E 89 02 02 82 22 89 + .byte $22, $02, $40, $44, $48, $44, $48, $1C, $48, $1C, $1E, $1C, $1E, $22, $1E, $22 ; CPU:$FD99 PRG:7D99 22 02 40 44 48 44 48 1C 48 1C 1E 1C 1E 22 1E 22 + .byte $C4, $82, $36, $36, $3E, $3E, $40, $40, $44, $44, $FF, $C4, $82, $1E, $89, $1E ; CPU:$FDA9 PRG:7DA9 C4 82 36 36 3E 3E 40 40 44 44 FF C4 82 1E 89 1E + .byte $02, $3C, $82, $3E, $89, $3E, $02, $44, $82, $40, $89, $40, $02, $3A, $82, $44 ; CPU:$FDB9 PRG:7DB9 02 3C 82 3E 89 3E 02 44 82 40 89 40 02 3A 82 44 + .byte $89, $44, $02, $3A, $FF, $89, $26, $02, $28, $02, $02, $2C, $86, $02, $89, $02 ; CPU:$FDC9 PRG:7DC9 89 44 02 3A FF 89 26 02 28 02 02 2C 86 02 89 02 + .byte $02, $28, $02, $02, $2C, $28, $02, $02, $26, $02, $28, $02, $02, $2C, $83, $02 ; CPU:$FDD9 PRG:7DD9 02 28 02 02 2C 28 02 02 26 02 28 02 02 2C 83 02 + .byte $89, $1E, $1E, $1E, $3E, $3E, $3E, $48, $48, $48, $44, $44, $44, $26, $02, $28 ; CPU:$FDE9 PRG:7DE9 89 1E 1E 1E 3E 3E 3E 48 48 48 44 44 44 26 02 28 + .byte $02, $02, $2C, $86, $02, $89, $02, $02, $28, $02, $02, $2C, $28, $02, $02, $26 ; CPU:$FDF9 PRG:7DF9 02 02 2C 86 02 89 02 02 28 02 02 2C 28 02 02 26 + .byte $02, $28, $02, $02, $2C, $83, $02, $88, $1E, $4A, $44, $40, $3C, $3A, $C4, $82 ; CPU:$FE09 PRG:7E09 02 28 02 02 2C 83 02 88 1E 4A 44 40 3C 3A C4 82 + .byte $1E, $89, $1E, $02, $3C, $82, $3E, $3E, $40, $40, $44, $38, $36, $36, $3E, $3E ; CPU:$FE19 PRG:7E19 1E 89 1E 02 3C 82 3E 3E 40 40 44 38 36 36 3E 3E + .byte $40, $48, $44, $44, $FF, $E0, $89, $06, $03, $06, $09, $06, $06, $06, $03, $06 ; CPU:$FE29 PRG:7E29 40 48 44 44 FF E0 89 06 03 06 09 06 06 06 03 06 + .byte $09, $03, $06, $FF, $89, $24, $02, $0C, $02, $02, $02, $10, $02, $28, $0C, $02 ; CPU:$FE39 PRG:7E39 09 03 06 FF 89 24 02 0C 02 02 02 10 02 28 0C 02 + .byte $0C, $0A, $02, $02, $02, $02, $1A, $00, $89, $62, $1A, $14, $0C, $06, $32, $66 ; CPU:$FE49 PRG:7E49 0C 0A 02 02 02 02 1A 00 89 62 1A 14 0C 06 32 66 + .byte $62, $18, $10, $06, $30, $4A, $02, $02, $02, $02, $6C, $89, $44, $02, $2C, $02 ; CPU:$FE59 PRG:7E59 62 18 10 06 30 4A 02 02 02 02 6C 89 44 02 2C 02 + .byte $02, $02, $30, $02, $48, $2C, $02, $48, $28, $02, $02, $02, $02, $0A, $89, $06 ; CPU:$FE69 PRG:7E69 02 02 30 02 48 2C 02 48 28 02 02 02 02 0A 89 06 + .byte $03, $06, $09, $03, $06, $06, $03, $06, $09, $03, $06, $0C, $03, $06, $09, $03 ; CPU:$FE79 PRG:7E79 03 06 09 03 06 06 03 06 09 03 06 0C 03 06 09 03 + .byte $0C, $89, $26, $02, $68, $02, $02, $02, $60, $02, $16, $02, $02, $02, $64, $02 ; CPU:$FE89 PRG:7E89 0C 89 26 02 68 02 02 02 60 02 16 02 02 02 64 02 + .byte $02, $1A, $02, $12, $02, $02, $02, $02, $02, $02, $88, $04, $04, $04, $04, $00 ; CPU:$FE99 PRG:7E99 02 1A 02 12 02 02 02 02 02 02 88 04 04 04 04 00 + .byte $8A, $02, $89, $2E, $2E, $60, $04, $02, $12, $16, $2E, $0E, $04, $02, $12, $1A ; CPU:$FEA9 PRG:7EA9 8A 02 89 2E 2E 60 04 02 12 16 2E 0E 04 02 12 1A + .byte $2A, $2A, $12, $02, $08, $2A, $2A, $2A, $32, $02, $32, $88, $26, $26, $26, $26 ; CPU:$FEB9 PRG:7EB9 2A 2A 12 02 08 2A 2A 2A 32 02 32 88 26 26 26 26 + .byte $C2, $89, $0E, $0E, $0E, $16, $02, $68, $FF, $C2, $0C, $0C, $0C, $12, $02, $08 ; CPU:$FEC9 PRG:7EC9 C2 89 0E 0E 0E 16 02 68 FF C2 0C 0C 0C 12 02 08 + .byte $FF, $88, $12, $12, $12, $12, $C2, $89, $0C, $03, $06, $09, $03, $06, $06, $06 ; CPU:$FED9 PRG:7ED9 FF 88 12 12 12 12 C2 89 0C 03 06 09 03 06 06 06 + .byte $03, $0C, $03, $06, $FF, $88, $06, $06, $06, $0C, $88, $02, $C3, $82, $02, $89 ; CPU:$FEE9 PRG:7EE9 03 0C 03 06 FF 88 06 06 06 0C 88 02 C3 82 02 89 + .byte $6C, $64, $16, $82, $02, $89, $6E, $60, $12, $FF, $89, $70, $68, $62, $16, $14 ; CPU:$FEF9 PRG:7EF9 6C 64 16 82 02 89 6E 60 12 FF 89 70 68 62 16 14 + .byte $0C, $06, $2E, $2C, $24, $1E, $46, $1E, $24, $2C, $2E, $C3, $82, $02, $89, $6E ; CPU:$FF09 PRG:7F09 0C 06 2E 2C 24 1E 46 1E 24 2C 2E C3 82 02 89 6E + .byte $66, $18, $82, $02, $89, $70, $62, $14, $FF, $89, $72, $6A, $64, $18, $16, $0E ; CPU:$FF19 PRG:7F19 66 18 82 02 89 70 62 14 FF 89 72 6A 64 18 16 0E + .byte $08, $30, $2E, $26, $20, $48, $20, $26, $2E, $30, $00, $C3, $80, $08, $02, $16 ; CPU:$FF29 PRG:7F29 08 30 2E 26 20 48 20 26 2E 30 00 C3 80 08 02 16 + .byte $02, $02, $68, $16, $02, $02, $04, $12, $02, $64, $64, $02, $60, $FF, $2E, $2E ; CPU:$FF39 PRG:7F39 02 02 68 16 02 02 04 12 02 64 64 02 60 FF 2E 2E + .byte $02, $0C, $02, $1A, $02, $16, $02, $2E, $02, $0C, $02, $1A, $16, $02, $C3, $0A ; CPU:$FF49 PRG:7F49 02 0C 02 1A 02 16 02 2E 02 0C 02 1A 16 02 C3 0A + .byte $02, $18, $02, $02, $6A, $0A, $02, $06, $02, $14, $02, $66, $66, $02, $62, $FF ; CPU:$FF59 PRG:7F59 02 18 02 02 6A 0A 02 06 02 14 02 66 66 02 62 FF + .byte $30, $30, $02, $0E, $02, $60, $02, $18, $02, $30, $02, $0E, $02, $60, $18, $02 ; CPU:$FF69 PRG:7F69 30 30 02 0E 02 60 02 18 02 30 02 0E 02 60 18 02 + .byte $C8, $80, $06, $03, $03, $03, $06, $03, $03, $03, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF79 PRG:7F79 C8 80 06 03 03 03 06 03 03 03 FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF89 PRG:7F89 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$FF99 PRG:7F99 FF FF FF FF FF FF FF 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $20, $52, $4F, $42, $4F, $54, $20, $20, $53 ; CPU:$FFA9 PRG:7FA9 20 20 20 20 20 20 20 20 52 4F 42 4F 54 20 20 53 + .byte $4F, $55, $4E, $44, $20, $20, $20, $20, $20, $35, $2F, $35, $20, $31, $39, $38 ; CPU:$FFB9 PRG:7FB9 4F 55 4E 44 20 20 20 20 20 35 2F 35 20 31 39 38 + .byte $35, $20, $20, $20, $20, $20, $20, $20, $48, $49, $52, $4F, $4B, $41, $5A, $55 ; CPU:$FFC9 PRG:7FC9 35 20 20 20 20 20 20 20 48 49 52 4F 4B 41 5A 55 + .byte $2E, $54, $41, $4E, $41, $4B, $41, $20, $20, $20, $20, $20, $20, $20, $20, $20 ; CPU:$FFD9 PRG:7FD9 2E 54 41 4E 41 4B 41 20 20 20 20 20 20 20 20 20 + .byte $20, $20, $20, $20, $20, $20, $20, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE9 PRG:7FE9 20 20 20 20 20 20 20 FF FF FF FF FF FF FF ; ----------------------------------------------------------------------------- ; Routine: Sub_FFF7 ; Global: Branch target inside Sub: taken when FFF7. diff --git a/NROM/Tag Team Wrestling (U)/README.md b/NROM/Tag Team Wrestling (U)/README.md index e4f3d08..5cf3a36 100644 --- a/NROM/Tag Team Wrestling (U)/README.md +++ b/NROM/Tag Team Wrestling (U)/README.md @@ -2,66 +2,70 @@ ## Status -**Pass 3.** All address-derived `Label_XXXX` definitions replaced; -every `jsr`/`jmp` operand symbolic; hardware-register operands resolved -via `apply_symbols.py` (0 residue); audit comments aligned; `make` -stays byte-identical. - -`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the -result against `rom.nes`: - -``` -Byte-identical ROM verified. -``` +**Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all +address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware +registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. +Code coverage: 17,170 / 32,768 bytes (52.4%). +`make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | -| Mapper | 0 | -| Board | NROM-256 | +| Mapper | 0 (NROM) | +| PRG | 32 KB | +| CHR | 8 KB | | Mirroring | Horizontal | -| Four-screen VRAM | no | -| Battery | no | -| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF | -| CHR | 8 KB (1 x 8 KB) | -| Trainer | none | -| Footer | none | | NMI vector | $FFCD | | RESET vector | $FD43 | | IRQ vector | $FD43 | -| ROM file | `Tag Team Wrestling (U).nes` | -| SHA-256 | `a2df0fc3948a91ef637f804fb793f92ca0a3e510c6ae72d9f9c4738b6194aa5a` | -### Header notes +## Power-on flow -- none +RESET enters at `$FD43`: -## Open work + sei ; CPU:$FD43 PRG:7D43 78 + cld ; CPU:$FD44 PRG:7D44 D8 + lda #$00 ; CPU:$FD45 PRG:7D45 A9 00 + sta PPUCTRL ; CPU:$FD47 PRG:7D47 8D 00 20 + sta PPUMASK ; CPU:$FD4A PRG:7D4A 8D 01 20 + lda PPUSTATUS ; CPU:$FD4D PRG:7D4D AD 02 20 + bpl Reset_OnNonnegative ; CPU:$FD50 PRG:7D50 10 FB + lda PPUSTATUS ; CPU:$FD52 PRG:7D52 AD 02 20 + bpl Reset_OnNonnegative2 ; CPU:$FD55 PRG:7D55 10 FB + lda #$00 ; CPU:$FD57 PRG:7D57 A9 00 + sta Zp0F ; CPU:$FD59 PRG:7D59 85 0F + sta Zp10 ; CPU:$FD5B PRG:7D5B 85 10 -- **Pass 1** - run `nesdis.py` over `prg.bin` to produce the code/data - split. The tracer reads the vectors from the last six bytes of the PRG - image, so the split seeds correctly. -- **Pass 1** must emit the canonical audit comment - `; CPU:$C123 PRG:0123 AD 21 03` at column 35 for every instruction. -- **Pass 2** - replace the address-derived `Label_XXXX` names and the raw - `$XXXX` call operands. -- **Pass 3** - semantic zero-page aliases (applied only at the sites where - their role is proven) and named data tables. -- **Promotion** to `NROM//` once Pass 3 is done, as `git mv`. +NMI handler at `$FFCD`: -## Files + pha ; CPU:$FFCD PRG:7FCD 48 + txa ; CPU:$FFCE PRG:7FCE 8A + pha ; CPU:$FFCF PRG:7FCF 48 + tya ; CPU:$FFD0 PRG:7FD0 98 + pha ; CPU:$FFD1 PRG:7FD1 48 + lda #$00 ; CPU:$FFD2 PRG:7FD2 A9 00 + sta OAMADDR ; CPU:$FFD4 PRG:7FD4 8D 03 20 + lda #$07 ; CPU:$FFD7 PRG:7FD7 A9 07 -| File | Purpose | -|------|---------| -| `prg.s` | Pass 0 PRG include (replaced by the Pass 1 disassembly) | -| `header.s` | iNES header include | -| `chr.s` | CHR include | -| `prg.bin` | 32768 bytes (32 KB) PRG image | -| `chr.bin` | 8192 bytes (8 KB) CHR image | -| `rom.nes` | byte-identical copy of the original ROM | -| `linker.cfg` | HEADER / PRG / CHR memory areas | -| `symbols.inc` | NES hardware register names | -| `locals.inc` | zero-page aliases (empty at Pass 0) | -| `Makefile` | build and byte-identity check | +## Data-table inventory (Pass 3) + +- `$8049-$8786` (1854 bytes) - `RingEntrancePointerTable` +- `$8792-$9BEF` (5214 bytes) - `UnreachedRomData` +- `$9DC5-$9DCB` (7 bytes) - `WrestlerNameLengthTable` +- `$9F44-$9F4B` (8 bytes) - `PpuBitMaskTable` +- `$A281-$A302` (130 bytes) - `UnreachedCodeData` +- `$A30A-$A35B` (82 bytes) - `WrestlerHandlerPointerTable` +- `$A377-$A9F0` (1658 bytes) - `WrestlerMovementData` +- `$A9FA-$AA1C` (35 bytes) - `UnreachedRomData2` +- `$AB05-$AC7E` (378 bytes) - `LevelGraphicData` +- `$ACC6-$AD0B` (70 bytes) - `LevelTilePatternData` +- `$AD3E-$AD9C` (95 bytes) - `LevelObjectPlacementData` +- `$AE01-$AF9F` (415 bytes) - `WrestlerParameterTable` + +## Build + +``` +Byte-identical ROM verified. +``` diff --git a/NROM/Tag Team Wrestling (U)/labelmap.tsv b/NROM/Tag Team Wrestling (U)/labelmap.tsv index 447176b..58e454c 100644 --- a/NROM/Tag Team Wrestling (U)/labelmap.tsv +++ b/NROM/Tag Team Wrestling (U)/labelmap.tsv @@ -2,108 +2,1104 @@ FD43 Reset FFCD NmiHandler # ---- derived internal branch-target names ---- +8000 Sub_8000 +801A Sub_OnNonzero +8026 Sub_OnNonzero2 +802F Sub_Loop +803D Sub_OnNonnegative +803F Sub_OnNonzero3 9BF0 Sub_9BF0 9BF3 Sub_9BF3 +9BF6 Sub_9BF6 9BF9 Sub_9BF9 -9BFD Sub_OnNonzero -9C05 Sub_OnNonnegative +9BFD Sub_OnNonzero4 +9C05 Sub_OnNonnegative2 9C1A Sub_9C1A -9C2E Sub_Loop -9C39 Sub_Loop2 +9C2E Sub_Loop2 +9C39 Sub_Loop3 9C3A Sub_9C3A -9C48 Sub_Loop3 -9C5E Sub_Loop4 -9C61 Sub_Loop5 -9C7F Sub_Loop6 -9C9A Sub_Loop7 -9CAF Sub_Loop8 -9CC4 Sub_Loop9 +9C48 Sub_Loop4 +9C5E Sub_Loop5 +9C61 Sub_Loop6 +9C7F Sub_Loop7 +9C9A Sub_Loop8 +9CAF Sub_Loop9 +9CC4 Sub_Loop10 9CCA Sub_9CCA -9CD3 Sub_Loop10 -9CDB Sub_Loop11 -9CDE Sub_Loop12 -9CED Sub_Loop13 -9CFF Sub_Loop14 -9D10 Sub_Loop15 -9D16 Sub_Loop16 -9D29 Sub_Loop17 -9D3A Sub_Loop18 -9D40 Sub_Loop19 -9D53 Sub_Loop20 -9D5F Sub_Loop21 -9D6C Sub_Loop22 -9D71 Sub_Loop23 -9D8E Sub_Loop24 -9DA7 Sub_Loop25 +9CD3 Sub_Loop11 +9CDB Sub_Loop12 +9CDE Sub_Loop13 +9CED Sub_Loop14 +9CFF Sub_Loop15 +9D10 Sub_Loop16 +9D16 Sub_Loop17 +9D29 Sub_Loop18 +9D3A Sub_Loop19 +9D40 Sub_Loop20 +9D53 Sub_Loop21 +9D5F Sub_Loop22 +9D6C Sub_Loop23 +9D71 Sub_Loop24 +9D8E Sub_Loop25 +9DA7 Sub_Loop26 +9DA8 Sub_9DA8 +9DBC Sub_OnNonzero5 +9DC4 Sub_Loop27 9DCC Sub_9DCC -9DDA Sub_Loop26 +9DDA Sub_Loop28 9DDE Sub_9DDE -9DE3 Sub_Loop27 -9DEB Sub_Loop28 -9DF1 Sub_Loop29 -9DF9 Sub_Loop30 -9E02 Sub_Loop31 -9E1D Sub_Loop32 -9E22 Sub_Loop33 -9E45 Sub_Loop34 -9E4D Sub_Loop35 -9E4F Sub_Loop36 -9E52 Sub_Loop37 +9DE3 Sub_Loop29 +9DEB Sub_Loop30 +9DF1 Sub_Loop31 +9DF9 Sub_Loop32 +9E02 Sub_Loop33 +9E1D Sub_Loop34 +9E22 Sub_Loop35 +9E45 Sub_Loop36 +9E4D Sub_Loop37 +9E4F Sub_Loop38 +9E52 Sub_Loop39 9E78 Sub_9E78 -9E86 Sub_Loop38 -9E91 Sub_Loop39 -9E93 Sub_Loop40 -9E9F Sub_Loop41 -9EAB Sub_Loop42 -9EB7 Sub_Loop43 -9EC7 Sub_Loop44 +9E86 Sub_Loop40 +9E91 Sub_Loop41 +9E93 Sub_Loop42 +9E9F Sub_Loop43 +9EAB Sub_Loop44 +9EB7 Sub_Loop45 +9EC7 Sub_Loop46 9ECB Sub_9ECB -9F13 Sub_Loop45 +9F13 Sub_Loop47 9F22 Sub_9F22 -9F43 Sub_Loop46 +9F43 Sub_Loop48 9F4C Sub_9F4C -9F5A Sub_Loop47 +9F5A Sub_Loop49 9F6F Sub_OnCarryClear -9F8B Sub_Loop48 +9F8B Sub_Loop50 +9F9C Sub_9F9C 9FAA Sub_9FAA -9FC1 Sub_OnNonnegative2 -9FCC Sub_OnNonnegative3 -9FD5 Sub_Loop49 -9FD9 Sub_Loop50 +9FC1 Sub_OnNonnegative3 +9FCC Sub_OnNonnegative4 +9FD5 Sub_Loop51 +9FD9 Sub_Loop52 9FEB Sub_9FEB -A03F Sub_Loop51 -A048 Sub_Loop52 -A05E Sub_Loop53 -A061 Sub_Loop54 -A069 Sub_Loop55 -A06A Sub_Loop56 +A03F Sub_Loop53 +A048 Sub_Loop54 +A05E Sub_Loop55 +A061 Sub_Loop56 +A069 Sub_Loop57 +A06A Sub_Loop58 A070 Sub_OnZero -A089 Sub_Loop57 -A0AC Sub_OnNonzero2 -A0BD Sub_Loop58 +A089 Sub_Loop59 +A0AC Sub_OnNonzero6 +A0BD Sub_Loop60 A0FC Sub_A0FC -A116 Sub_Loop59 +A116 Sub_Loop61 A11F Sub_A11F -A129 Sub_OnNonnegative4 +A129 Sub_OnNonnegative5 +A192 Sub_Loop62 +A1A8 Sub_OnNonzero7 +A1E8 Sub_Loop63 +A22D Sub_OnNonzero8 A35C Sub_A35C +A36F Sub_A36F A9F1 Sub_A9F1 A9F4 Sub_A9F4 A9F7 Sub_A9F7 AA1D Sub_AA1D -AA3C Sub_Loop60 -AA48 Sub_Loop61 +AA3C Sub_Loop64 +AA48 Sub_Loop65 AA7C Sub_AA7C +AADD Sub_Loop66 +AC9A Sub_AC9A +ACAB Sub_Loop67 +ACBF Sub_Loop68 +AD2B Sub_Loop69 +AD39 Sub_Loop70 +AD3D Sub_AD3D +ADCD Sub_Loop71 +ADF1 Sub_Loop72 +ADF9 Sub_Loop73 +AFDA Sub_Loop74 +AFDE Sub_Loop75 +B004 Sub_Loop76 +B007 Sub_B007 +B0DF Sub_Loop77 +B0EB Sub_Loop78 +B102 Sub_Loop79 +B108 Sub_Loop80 +B10E Sub_Loop81 +B114 Sub_B114 +B12E Sub_Loop82 +B138 Sub_Loop83 +B193 Sub_Loop84 +B198 Sub_Loop85 +B1A3 Sub_Loop86 +B1A9 Sub_Loop87 +B1B2 Sub_Loop88 +B1B5 Sub_B1B5 +B1BB Sub_Loop89 +B1C4 Sub_Loop90 +B1CE Sub_Loop91 +B1DD Sub_Loop92 +B1E4 Sub_Loop93 +B1FF Sub_Loop94 +B205 Sub_B205 +B20D Sub_Loop95 +B217 Sub_Loop96 +B21D Sub_Loop97 +B221 Sub_B221 +B2D9 Sub_Loop98 +B3D7 Sub_B3D7 +B42E Sub_Loop99 +B6AE Sub_Loop100 +B6D3 Sub_Loop101 +B6E7 Sub_Loop102 +B6EE Sub_Loop103 +B6F7 Sub_Loop104 +B706 Sub_Loop105 +B70F Sub_Loop106 +B718 Sub_Loop107 +B724 Sub_Loop108 +B72A Sub_Loop109 +B736 Sub_Loop110 +B73C Sub_B73C +B747 Sub_Loop111 +B754 Sub_Loop112 +B762 Sub_Loop113 +B7D4 Sub_Loop114 +B7DF Sub_Loop115 +B7F4 Sub_Loop116 +B7FC Sub_Loop117 +B811 Sub_Loop118 +B82D Sub_Loop119 +B830 Sub_B830 +B835 Sub_Loop120 +B837 Sub_B837 +B83A Sub_B83A +B847 Sub_Loop121 +B86A Sub_Loop122 +B877 Sub_Loop123 +B87F Sub_Loop124 +B886 Sub_Loop125 +B897 Sub_Loop126 +B8A7 Sub_Loop127 +B8AE Sub_Loop128 +B8B0 Sub_B8B0 +B8CD Sub_Loop129 +B8EE Sub_B8EE +B8F7 Sub_Loop130 +B8FC Sub_Loop131 +B90D Sub_B90D +B928 Sub_Loop132 +B94D Sub_Loop133 +B957 Sub_Loop134 +B97A Sub_B97A +B9C8 Sub_OnNonzero9 +B9DE Sub_Loop135 +BA70 Sub_BA70 +BA88 Sub_Loop136 +BA89 Sub_BA89 +BA90 Sub_Loop137 +BAA3 Sub_Loop138 +BAB3 Sub_OnZero2 +BACE Sub_BACE BACF Sub_BACF +BAD2 Sub_BAD2 +BADA Sub_Loop139 +BADD Sub_Loop140 +BB02 Sub_Loop141 +BB19 Sub_Loop142 +BB27 Sub_Loop143 +BB2A Sub_Loop144 +BB30 Sub_Loop145 +BB3C Sub_BB3C +BB4A Sub_Loop146 +BB67 Sub_Loop147 +BB6C Sub_Loop148 +BB74 Sub_BB74 +BB91 Sub_Loop149 +BB9D Sub_Loop150 +BBAC Sub_Loop151 +BBAE Sub_BBAE +BBAF Sub_BBAF +BBCE Sub_Loop152 +BBDB Sub_Loop153 +BBEA Sub_Loop154 +BBF9 Sub_Loop155 +BC04 Sub_Loop156 +BC18 Sub_Loop157 +BC1C Sub_BC1C +BC21 Sub_Loop158 +BC3F Sub_Loop159 +BC43 Sub_Loop160 +BC46 Sub_Loop161 +BC48 Sub_BC48 +BC55 Sub_Loop162 +BC59 Sub_BC59 +BC61 Sub_Loop163 +BC69 Sub_Loop164 +BC81 Sub_Loop165 +BC8D Sub_Loop166 +BC9D Sub_Loop167 +BCA6 Sub_BCA6 +BCCF Sub_Loop168 +BCDF Sub_Loop169 +BD05 Sub_Loop170 +BD17 Sub_Loop171 +BD2B Sub_BD2B +BD2D Sub_BD2D +BD2E Sub_BD2E +BD67 Sub_Loop172 +BD71 Sub_BD71 +BD86 Sub_Loop173 +BD95 Sub_Loop174 +BD97 Sub_BD97 +BD98 Sub_BD98 +BDA2 Sub_Loop175 +BDAE Sub_Loop176 +BDEA Sub_Loop177 +BDF9 Sub_Loop178 +BE0D Sub_Loop179 +BE22 Sub_Loop180 +BE2C Sub_BE2C +BE35 Sub_BE35 +BE3C Sub_Loop181 +BE3E Sub_Loop182 +BE42 Sub_BE42 +BE49 Sub_Loop183 +BE56 Sub_Loop184 +BE78 Sub_Loop185 +BE96 Sub_Loop186 +BEB3 Sub_Loop187 +BEB8 Sub_BEB8 +BED2 Sub_Loop188 +BEEB Sub_Loop189 +BEFD Sub_Loop190 +BF00 Sub_Loop191 +BF0A Sub_Loop192 +BF0D Sub_Loop193 +BF10 Sub_Loop194 +BF15 Sub_Loop195 +BF2F Sub_Loop196 +BF39 Sub_Loop197 +BF3E Sub_BF3E +BF4F Sub_Loop198 +BF78 Sub_Loop199 +BFA4 Sub_Loop200 +BFB2 Sub_Loop201 +BFC7 Sub_Loop202 +BFE9 Sub_BFE9 +BFED Sub_BFED +C00D Sub_C00D +C017 Sub_Loop203 +C04C Sub_Loop204 +C05E Sub_Loop205 +C068 Sub_Loop206 +C070 Sub_Loop207 +C079 Sub_C079 +C080 Sub_Loop208 +C082 Sub_Loop209 +C09D Sub_Loop210 +C0B5 Sub_Loop211 +C0D0 Sub_Loop212 +C0F2 Sub_Loop213 +C117 Sub_Loop214 +C134 Sub_Loop215 +C13B Sub_Loop216 +C14A Sub_Loop217 +C15A Sub_Loop218 +C15E Sub_Loop219 +C16E Sub_Loop220 +C172 Sub_Loop221 +C182 Sub_Loop222 +C186 Sub_C186 +C196 Sub_Loop223 +C197 Sub_C197 +C1B1 Sub_Loop224 +C1C2 Sub_C1C2 +C1ED Sub_Loop225 +C1F3 Sub_C1F3 +C1F8 Sub_Loop226 +C202 Sub_Loop227 +C208 Sub_Loop228 +C216 Sub_Loop229 +C219 Sub_Loop230 +C226 Sub_Loop231 +C22E Sub_C22E +C239 Sub_Loop232 +C248 Sub_Loop233 +C253 Sub_Loop234 +C260 Sub_Loop235 +C269 Sub_Loop236 +C26F Sub_Loop237 +C27F Sub_Loop238 +C28C Sub_Loop239 +C29A Sub_Loop240 +C2A7 Sub_Loop241 +C2B1 Sub_Loop242 +C2BD Sub_C2BD +C2CE Sub_Loop243 +C2F7 Sub_Loop244 +C328 Sub_Loop245 +C33A Sub_Loop246 +C348 Sub_Loop247 +C35D Sub_Loop248 +C37E Sub_C37E +C382 Sub_C382 +C39F Sub_C39F +C3A9 Sub_Loop249 +C3B5 Sub_Loop250 +C3D0 Sub_C3D0 +C3E4 Sub_Loop251 +C3FF Sub_C3FF +C406 Sub_Loop252 +C408 Sub_Loop253 +C40C Sub_C40C +C415 Sub_Loop254 +C422 Sub_Loop255 +C444 Sub_Loop256 +C462 Sub_Loop257 +C477 Sub_Loop258 +C479 Sub_C479 +C4A6 Sub_Loop259 +C4AB Sub_Loop260 +C4B0 Sub_Loop261 +C4B5 Sub_Loop262 +C4B7 Sub_C4B7 +C4DA Sub_C4DA +C4EF Sub_Loop263 +C4F6 Sub_Loop264 +C4F9 Sub_Loop265 +C50B Sub_Loop266 +C50E Sub_Loop267 +C518 Sub_Loop268 +C51B Sub_Loop269 +C531 Sub_Loop270 +C534 Sub_Loop271 +C53D Sub_Loop272 +C53F Sub_C53F +C55A Sub_Loop273 +C566 Sub_Loop274 +C572 Sub_Loop275 +C577 Sub_C577 +C591 Sub_Loop276 +C59B Sub_C59B +C59D Sub_C59D +C5B8 Sub_Loop277 +C5C4 Sub_Loop278 +C5D0 Sub_Loop279 +C5D2 Sub_C5D2 +C5D6 Sub_C5D6 +C5E8 Sub_Loop280 +C5F9 Sub_Loop281 +C622 Sub_Loop282 +C64E Sub_Loop283 +C65C Sub_Loop284 +C671 Sub_Loop285 +C693 Sub_C693 +C697 Sub_C697 +C6CE Sub_C6CE +C6E6 Sub_Loop286 +C6ED Sub_Loop287 +C6F7 Sub_Loop288 +C706 Sub_Loop289 +C712 Sub_C712 +C727 Sub_C727 +C731 Sub_Loop290 +C745 Sub_Loop291 +C747 Sub_C747 +C752 Sub_Loop292 +C773 Sub_Loop293 +C788 Sub_Loop294 +C7A3 Sub_Loop295 +C7B5 Sub_C7B5 +C7C0 Sub_Loop296 +C7C2 Sub_C7C2 +C7D0 Sub_C7D0 +C7F9 Sub_C7F9 +C7FA Sub_C7FA +C81C Sub_Loop297 +C82A Sub_Loop298 +C84B Sub_Loop299 +C852 Sub_Loop300 +C876 Sub_Loop301 +C87E Sub_C87E +C885 Sub_Loop302 +C88D Sub_Loop303 +C899 Sub_Loop304 +C8B5 Sub_Loop305 +C8BD Sub_C8BD +C8C4 Sub_Loop306 +C8CC Sub_Loop307 +C8D5 Sub_C8D5 +C8F1 Sub_Loop308 +C8FC Sub_Loop309 +C903 Sub_Loop310 +C90F Sub_Loop311 +C92E Sub_Loop312 +C939 Sub_Loop313 +C943 Sub_Loop314 +C94F Sub_Loop315 +C96E Sub_Loop316 +C979 Sub_Loop317 +C980 Sub_Loop318 +C989 Sub_C989 +C999 Sub_Loop319 +C99C Sub_C99C +C9A9 Sub_Loop320 +C9CD Sub_Loop321 +C9E6 Sub_Loop322 +C9EE Sub_Loop323 +C9F5 Sub_Loop324 +CA1B Sub_Loop325 +CA2D Sub_Loop326 +CA42 Sub_Loop327 +CA49 Sub_Loop328 +CA63 Sub_Loop329 +CA73 Sub_CA73 +CA78 Sub_Loop330 +CA81 Sub_CA81 +CA94 Sub_Loop331 +CAA0 Sub_Loop332 +CAAF Sub_Loop333 +CAB8 Sub_CAB8 +CAC0 Sub_Loop334 +CAC9 Sub_CAC9 +CADE Sub_Loop335 +CAE9 Sub_CAE9 +CAF1 Sub_Loop336 +CB0A Sub_Loop337 +CB16 Sub_Loop338 +CB1E Sub_Loop339 +CB27 Sub_CB27 +CB2C Sub_Loop340 +CB33 Sub_Loop341 +CB3D Sub_Loop342 +CB44 Sub_Loop343 +CB50 Sub_Loop344 +CB5B Sub_Loop345 +CB64 Sub_Loop346 +CB97 Sub_Loop347 +CB9C Sub_CB9C +CBA8 Sub_Loop348 +CBAF Sub_Loop349 +CBBF Sub_Loop350 +CBC4 Sub_CBC4 +CBCE Sub_Loop351 +CBD5 Sub_Loop352 +CBE6 Sub_Loop353 +CBF7 Sub_Loop354 +CC08 Sub_CC08 +CC21 Sub_Loop355 +CC28 Sub_Loop356 +CC33 Sub_Loop357 +CC3A Sub_Loop358 +CC40 Sub_Loop359 +CC4E Sub_Loop360 +CC58 Sub_Loop361 +CC60 Sub_Loop362 +CC67 Sub_Loop363 +CC6A Sub_Loop364 +CC7F Sub_Loop365 +CC90 Sub_Loop366 +CCA0 Sub_Loop367 +CCA5 Sub_CCA5 +CCA7 Sub_CCA7 +CCAA Sub_CCAA +CCB1 Sub_Loop368 +CCD0 Sub_Loop369 +CCDC Sub_Loop370 +CCE4 Sub_Loop371 +CCED Sub_CCED +CCF5 Sub_Loop372 +CCFD Sub_Loop373 +CD0E Sub_CD0E +CD15 Sub_Loop374 +CD28 Sub_Loop375 +CD52 Sub_Loop376 +CD63 Sub_Loop377 +CD6A Sub_Loop378 +CD7F Sub_Loop379 +CD86 Sub_Loop380 +CDAC Sub_Loop381 +CDB6 Sub_CDB6 +CDBD Sub_Loop382 +CDCD Sub_Loop383 +CDE2 Sub_Loop384 +CE00 Sub_Loop385 +CE0A Sub_CE0A +CE11 Sub_Loop386 +CE26 Sub_Loop387 +CE34 Sub_CE34 +CE55 Sub_Loop388 +CE66 Sub_Loop389 +CE6D Sub_Loop390 +CE7D Sub_Loop391 +CE82 Sub_CE82 +CE8C Sub_Loop392 +CE94 Sub_Loop393 +CEA1 Sub_Loop394 +CEA4 Sub_Loop395 +CEBA Sub_Loop396 +CEC3 Sub_Loop397 +CECB Sub_Loop398 +CED7 Sub_Loop399 +CEEA Sub_Loop400 +CEF6 Sub_Loop401 +CEFC Sub_Loop402 +CEFF Sub_Loop403 +CF11 Sub_Loop404 +CF24 Sub_Loop405 +CF30 Sub_Loop406 +CF3F Sub_Loop407 +CF48 Sub_CF48 +CF4B Sub_Loop408 +CF5D Sub_Loop409 +CF64 Sub_CF64 +CF67 Sub_CF67 +CF6E Sub_CF6E +CF7E Sub_Loop410 +CF8A Sub_Loop411 +CF96 Sub_Loop412 +CF9E Sub_Loop413 +CFA7 Sub_CFA7 +CFAA Sub_Loop414 +CFC5 Sub_Loop415 +CFDA Sub_Loop416 +CFEC Sub_Loop417 +CFEF Sub_Loop418 +D006 Sub_Loop419 +D01B Sub_Loop420 +D02B Sub_Loop421 +D02E Sub_D02E +D031 Sub_D031 +D04E Sub_Loop422 +D055 Sub_Loop423 +D068 Sub_Loop424 +D074 Sub_Loop425 +D083 Sub_Loop426 +D08C Sub_D08C +D09C Sub_Loop427 +D0A4 Sub_Loop428 +D0C1 Sub_Loop429 +D0C6 Sub_Loop430 +D0D1 Sub_Loop431 +D0D6 Sub_Loop432 +D0DE Sub_Loop433 +D0E5 Sub_Loop434 +D101 Sub_Loop435 +D10D Sub_Loop436 +D11C Sub_Loop437 +D125 Sub_D125 +D148 Sub_Loop438 +D15D Sub_Loop439 +D16B Sub_Loop440 +D16E Sub_Loop441 +D173 Sub_Loop442 +D17D Sub_Loop443 +D187 Sub_Loop444 +D18E Sub_D18E +D196 Sub_Loop445 +D1BE Sub_Loop446 +D1D1 Sub_Loop447 +D1D5 Sub_D1D5 +D1EA Sub_Loop448 +D1F5 Sub_Loop449 +D1F7 Sub_Loop450 +D223 Sub_Loop451 +D23B Sub_Loop452 +D244 Sub_Loop453 +D246 Sub_Loop454 +D262 Sub_Loop455 +D26B Sub_Loop456 +D270 Sub_Loop457 +D29B Sub_Loop458 +D2A9 Sub_Loop459 +D2B9 Sub_Loop460 +D2BB Sub_D2BB +D2C5 Sub_Loop461 +D2D5 Sub_Loop462 +D2DD Sub_D2DD +D2E2 Sub_D2E2 +D2E4 Sub_D2E4 +D2E8 Sub_D2E8 +D2FF Sub_D2FF +D304 Sub_D304 +D332 Sub_D332 +D333 Sub_D333 +D33F Sub_Loop463 +D34B Sub_Loop464 +D353 Sub_Loop465 +D35C Sub_D35C +D35D Sub_D35D +D369 Sub_Loop466 +D375 Sub_Loop467 +D37D Sub_Loop468 +D386 Sub_D386 +D387 Sub_D387 +D3A5 Sub_Loop469 +D3B5 Sub_D3B5 +D3BA Sub_Loop470 +D3BC Sub_D3BC +D3BD Sub_D3BD +D3DF Sub_Loop471 +D3F0 Sub_Loop472 +D3F2 Sub_D3F2 +D3F3 Sub_D3F3 +D408 Sub_Loop473 +D41A Sub_Loop474 +D421 Sub_Loop475 +D42C Sub_Loop476 +D430 Sub_D430 +D435 Sub_Loop477 +D437 Sub_D437 +D438 Sub_D438 +D440 Sub_Loop478 +D448 Sub_Loop479 +D4AE Sub_D4AE +D4AF Sub_D4AF +D4D8 Sub_Loop480 +D4E7 Sub_Loop481 +D520 Sub_Loop482 +D538 Sub_Loop483 +D53F Sub_Loop484 +D553 Sub_Loop485 +D565 Sub_Loop486 +D583 Sub_Loop487 +D588 Sub_Loop488 +D58E Sub_D58E +D5B4 Sub_Loop489 +D5C3 Sub_Loop490 +D5CB Sub_Loop491 +D5CC Sub_D5CC +D5E8 Sub_Loop492 +D5EA Sub_Loop493 +D5EB Sub_D5EB +D5F9 Sub_Loop494 +D60B Sub_Loop495 +D614 Sub_Loop496 +D615 Sub_D615 +D61F Sub_Loop497 +D632 Sub_Loop498 +D639 Sub_Loop499 +D640 Sub_Loop500 +D647 Sub_Loop501 +D64E Sub_Loop502 +D653 Sub_Loop503 +D66A Sub_Loop504 +D66D Sub_Loop505 +D674 Sub_Loop506 +D67C Sub_Loop507 +D67F Sub_D67F +D69F Sub_Loop508 +D6A4 Sub_Loop509 +D6AE Sub_Loop510 +D6B3 Sub_Loop511 +D6D0 Sub_Loop512 +D6D6 Sub_D6D6 +D6DB Sub_D6DB +D6EE Sub_Loop513 +D701 Sub_Loop514 +D70A Sub_Loop515 +D714 Sub_D714 +D719 Sub_D719 +D73C Sub_Loop516 +D740 Sub_D740 +D74F Sub_Loop517 +D768 Sub_D768 +D76B Sub_D76B +D772 Sub_Loop518 +D782 Sub_D782 +D789 Sub_Loop519 +D7A6 Sub_D7A6 +D7A9 Sub_D7A9 +D7BE Sub_Loop520 +D7D1 Sub_Loop521 +D7D8 Sub_Loop522 +D7DA Sub_D7DA +D7EF Sub_Loop523 +D7F5 Sub_D7F5 +D7FC Sub_Loop524 +D800 Sub_D800 +D805 Sub_Loop525 +D81C Sub_Loop526 +D81F Sub_Loop527 +D826 Sub_Loop528 +D82E Sub_Loop529 +D831 Sub_D831 +D851 Sub_Loop530 +D856 Sub_Loop531 +D860 Sub_Loop532 +D865 Sub_Loop533 +D882 Sub_Loop534 +D888 Sub_D888 +D88D Sub_D88D +D8A0 Sub_Loop535 +D8B3 Sub_Loop536 +D8BC Sub_Loop537 +D8C6 Sub_D8C6 +D8C8 Sub_D8C8 +D8D2 Sub_Loop538 +D8E2 Sub_Loop539 +D8ED Sub_D8ED +D91E Sub_Loop540 +D938 Sub_Loop541 +D93A Sub_Loop542 +D948 Sub_D948 +D94F Sub_Loop543 +D96D Sub_Loop544 +D97A Sub_Loop545 +D987 Sub_Loop546 +D993 Sub_Loop547 +D9A2 Sub_Loop548 +D9B9 Sub_Loop549 +D9C7 Sub_Loop550 +D9E6 Sub_D9E6 +DA16 Sub_Loop551 +DA1F Sub_Loop552 +DA26 Sub_Loop553 +DA3B Sub_Loop554 +DA42 Sub_Loop555 +DA4C Sub_DA4C +DA58 Sub_Loop556 +DA75 Sub_Loop557 +DA9C Sub_DA9C +DACC Sub_Loop558 +DAD5 Sub_Loop559 +DADC Sub_Loop560 +DAF1 Sub_Loop561 +DAF8 Sub_Loop562 +DB02 Sub_DB02 +DB0E Sub_Loop563 +DB3B Sub_DB3B +DB49 Sub_Loop564 +DB5D Sub_Loop565 +DB71 Sub_Loop566 +DBA8 Sub_Loop567 +DBAE Sub_Loop568 +DBC1 Sub_Loop569 +DBF8 Sub_Loop570 +DBFE Sub_Loop571 +DC15 Sub_Loop572 +DC19 Sub_DC19 +DC2A Sub_Loop573 +DC33 Sub_OnNonzero10 +DC54 Sub_Loop574 +DC5A Sub_Loop575 +DC64 Sub_DC64 +DC6B Sub_Loop576 +DC79 Sub_Loop577 +DC87 Sub_Loop578 +DCB1 Sub_Loop579 +DCB4 Sub_Loop580 +DCBE Sub_Loop581 +DCC4 Sub_Loop582 +DCCE Sub_Loop583 +DCD4 Sub_Loop584 +DCDD Sub_DCDD +DCEA Sub_Loop585 +DCED Sub_Loop586 +DD01 Sub_Loop587 +DD09 Sub_Loop588 +DD10 Sub_Loop589 +DD13 Sub_Loop590 +DD1E Sub_Loop591 +DD25 Sub_Loop592 +DD28 Sub_Loop593 +DD3D Sub_Loop594 +DD47 Sub_Loop595 +DD4F Sub_Loop596 +DD57 Sub_Loop597 +DD5E Sub_Loop598 +DD72 Sub_Loop599 +DD7A Sub_Loop600 +DD81 Sub_Loop601 +DD84 Sub_Loop602 +DD93 Sub_Loop603 +DD9A Sub_Loop604 +DD9D Sub_Loop605 +DDB6 Sub_Loop606 +DDC0 Sub_Loop607 +DDC8 Sub_Loop608 +DDD0 Sub_Loop609 +DDD7 Sub_Loop610 +DDDA Sub_DDDA +DDF5 Sub_Loop611 +DE04 Sub_Loop612 +DE1D Sub_Loop613 +DE20 Sub_Loop614 +DE26 Sub_Loop615 +DE2C Sub_Loop616 +DE32 Sub_Loop617 +DEBC Sub_DEBC +DEC7 Sub_Loop618 +DEF5 Sub_Loop619 +DF09 Sub_Loop620 +DF10 Sub_Loop621 +DF2B Sub_Loop622 +DF32 Sub_Loop623 +DF35 Sub_Loop624 +DF3C Sub_Loop625 +DF44 Sub_Loop626 +DF47 Sub_Loop627 +DF4F Sub_Loop628 +DF56 Sub_Loop629 +DF59 Sub_Loop630 +DF61 Sub_Loop631 +DF69 Sub_Loop632 +DF79 Sub_Loop633 +DF8B Sub_Loop634 +DF93 Sub_Loop635 +DFB2 Sub_DFB2 +DFB3 Sub_DFB3 +DFC4 Sub_Loop636 +DFC7 Sub_DFC7 +DFC8 Sub_DFC8 +DFD9 Sub_Loop637 +DFDC Sub_DFDC +DFDD Sub_DFDD +DFE4 Sub_DFE4 +DFEB Sub_Loop638 +DFEF Sub_Loop639 +DFF3 Sub_DFF3 +E1AA Sub_E1AA +E1C7 Sub_Loop640 +E1C9 Sub_OnNonzero11 +E1E2 Sub_Loop641 +E1E4 Sub_OnNonzero12 +E1F1 Sub_Loop642 +E201 Sub_Loop643 +E213 Sub_Loop644 +E21B Sub_Loop645 +E232 Sub_Loop646 +E244 Sub_OnNonzero13 +E252 Sub_Loop647 +E2D2 Sub_E2D2 +E2E1 Sub_Loop648 +E30E Sub_Loop649 +E317 Sub_Loop650 +E341 Sub_E341 +E342 Sub_E342 +E34E Sub_Loop651 +E355 Sub_Loop652 +E365 Sub_E365 +E378 Sub_E378 +E397 Sub_Loop653 +E3B4 Sub_Loop654 +E3D1 Sub_Loop655 +E3D6 Sub_E3D6 +E3F3 Sub_Loop656 +E400 Sub_Loop657 +E401 Sub_E401 +E40B Sub_Loop658 +E430 Sub_Loop659 +E438 Sub_Loop660 +E43D Sub_Loop661 +E440 Sub_Loop662 +E458 Sub_Loop663 +E45E Sub_Loop664 +E465 Sub_Loop665 +E478 Sub_Loop666 +E480 Sub_Loop667 +E4CD Sub_E4CD +E534 Sub_E534 +E535 Sub_E535 +E53F Sub_Loop668 +E55D Sub_Loop669 +E565 Sub_Loop670 +E57D Sub_Loop671 +E583 Sub_Loop672 +E58A Sub_Loop673 +E59D Sub_Loop674 +E5AD Sub_OnNonzero14 +E5C0 Sub_Loop675 +E5C1 Sub_E5C1 +E5D6 Sub_Loop676 +E5F5 Sub_Loop677 +E5F6 Sub_E5F6 +E5FE Sub_Loop678 +E60F Sub_Loop679 +E61A Sub_OnNonzero15 +E626 Sub_E626 +E62C Sub_OnNonzero16 +E635 Sub_Loop680 +E636 Sub_E636 +E652 Sub_E652 +E65E Sub_OnNonzero17 +E6FF Sub_E6FF +E72B Sub_Loop681 +E73C Sub_Loop682 +E74D Sub_Loop683 +E7BF Sub_E7BF +E7EA Sub_Loop684 +E830 Sub_E830 +E871 Sub_E871 +E892 Sub_Loop685 +E8B3 Sub_E8B3 +E8CE Sub_E8CE +E8D5 Sub_Loop686 +E8E0 Sub_Loop687 +E8EC Sub_Loop688 +E8EF Sub_Loop689 +E8FB Sub_Loop690 +E901 Sub_E901 +E90D Sub_Loop691 +E91C Sub_Loop692 +E932 Sub_E932 +E93D Sub_E93D +E94D Sub_Loop693 +E953 Sub_Loop694 +E955 Sub_E955 +E9C6 Sub_E9C6 +E9DC Sub_Loop695 +E9E0 Sub_OnNonzero18 +E9F2 Sub_OnNonzero19 +EA13 Sub_Loop696 +EA32 Sub_OnNonzero20 +EA5B Sub_Loop697 +EA5F Sub_Loop698 +EA67 Sub_EA67 +EA8B Sub_Loop699 +EA98 Sub_OnNonzero21 +EAA7 Sub_Loop700 +EAAF Sub_Loop701 +EAB9 Sub_Loop702 +EAC4 Sub_Loop703 +EACD Sub_Loop704 +EADE Sub_EADE +EAF6 Sub_Loop705 +EB1F Sub_Loop706 +EB39 Sub_EB39 +EB57 Sub_Loop707 +EB63 Sub_OnNonzero22 +EB7B Sub_Loop708 +EB81 Sub_Loop709 +EBAA Sub_Loop710 +EBBB Sub_Loop711 +EBCA Sub_Loop712 +EBD8 Sub_EBD8 +EBE4 Sub_EBE4 +EBFB Sub_Loop713 +EC08 Sub_Loop714 +EC10 Sub_EC10 +EC15 Sub_Loop715 +EC2C Sub_Loop716 +EC31 Sub_Loop717 +EC3E Sub_Loop718 +EC40 Sub_Loop719 +EC42 Sub_Loop720 +EC43 Sub_EC43 +EC54 Sub_Loop721 +EC69 Sub_Loop722 +EC7B Sub_Loop723 +EC80 Sub_Loop724 +ECA4 Sub_Loop725 +ECC9 Sub_Loop726 +ECD4 Sub_Loop727 +ECE1 Sub_Loop728 +ECEF Sub_Loop729 +ECF4 Sub_Loop730 +ED04 Sub_Loop731 +ED0C Sub_ED0C +ED4D Sub_ED4D +ED7B Sub_Loop732 +ED85 Sub_ED85 +ED8B Sub_Loop733 +EDA4 Sub_Loop734 +EDAE Sub_EDAE +EDB4 Sub_Loop735 +EE00 Sub_EE00 +EE05 Sub_EE05 +EE19 Sub_Loop736 +EE1B Sub_Loop737 +EE27 Sub_Loop738 +EE2D Sub_Loop739 +EE2E Sub_EE2E +EE43 Sub_Loop740 +EE45 Sub_Loop741 +EE46 Sub_EE46 +EE5A Sub_Loop742 +EE5C Sub_Loop743 +EE5D Sub_EE5D +EE72 Sub_Loop744 +EE74 Sub_Loop745 +EE87 Sub_EE87 +EEAF Sub_Loop746 +EEC5 Sub_EEC5 +EEC7 Sub_OnNonzero23 +EED9 Sub_EED9 +EEE7 Sub_Loop747 +EEED Sub_EEED +EF1A Sub_Loop748 +EF2B Sub_Loop749 +EF2F Sub_EF2F +EF3B Sub_EF3B +EF4B Sub_EF4B +EF7E Sub_Loop750 +EF88 Sub_Loop751 +EF8D Sub_EF8D +EF9D Sub_EF9D +EFC0 Sub_OnZero3 +EFCC Sub_Loop752 +EFE0 Sub_EFE0 +F00F Sub_Loop753 +F010 Sub_F010 +F01C Sub_F01C +F028 Sub_F028 +F036 Sub_F036 +F03C Sub_Loop754 +F03D Sub_F03D +F058 Sub_Loop755 +F059 Sub_F059 +F060 Sub_OnNonzero24 +F069 Sub_Loop756 +F0BB Sub_F0BB +F0D1 Sub_Loop757 +F0D5 Sub_F0D5 +F0DE Sub_OnNonzero25 +F121 Sub_F121 +F13A Sub_Loop758 +F13D Sub_Loop759 +F156 Sub_Loop760 +F159 Sub_Loop761 +F15A Sub_F15A +F16C Sub_Loop762 +F18D Sub_Loop763 +F192 Sub_F192 +F196 Sub_F196 +F1A2 Sub_Loop764 +F1C3 Sub_F1C3 +F1E8 Sub_Loop765 +F1FD Sub_F1FD +F211 Sub_Loop766 +F21E Sub_Loop767 +F222 Sub_Loop768 +F226 Sub_Loop769 +F227 Sub_F227 +F228 Sub_OnNonzero26 F22F Sub_F22F -F238 Sub_Loop62 -F23F Sub_Loop63 -F2C4 Sub_F2C4 -F2CA Sub_Loop64 -F2D5 Sub_Loop65 +F238 Sub_Loop770 +F23F Sub_Loop771 +F2C4 Sub_Loop772 +F2CA Sub_Loop773 +F2D5 Sub_Loop774 +FD13 Sub_FD13 +FD19 Sub_FD19 +FD1C Sub_FD1C +FD1F Sub_FD1F +FD22 Sub_FD22 +FD28 Sub_FD28 +FD2B Sub_FD2B +FD2E Sub_FD2E +FD31 Sub_FD31 +FD34 Sub_FD34 +FD37 Sub_FD37 +FD3A Sub_FD3A FD40 Sub_FD40 FD43 Reset FD4D Reset_OnNonnegative FD52 Reset_OnNonnegative2 +FD85 Sub_FD85 FD9C Sub_FD9C FDA4 Sub_FDA4 FDB2 Reset_OnNonzero @@ -111,6 +1107,8 @@ FDB8 Reset_OnNonzero2 FDC0 Reset_Loop FDC5 Reset_Loop2 FDC8 Reset_OnZero +FDD1 Sub_FDD1 +FDD8 Reset_OnNonnegative3 FDE3 Sub_FDE3 FDF1 Sub_FDF1 FDF5 Reset_OnNonzero3 @@ -118,7 +1116,29 @@ FE0D Sub_FE0D FE17 Reset_OnNonzero4 FE1F Reset_Loop3 FE28 Reset_Loop4 +FE34 Sub_FE34 +FE49 Reset_Loop5 +FE50 Reset_OnNonzero5 +FE6D Sub_FE6D +FE78 Reset_OnNonzero6 +FE7F Reset_Loop6 +FE88 Reset_Loop7 +FEAD Reset_Loop8 +FEC5 Reset_Loop9 +FECF Reset_Loop10 +FED6 Reset_Loop11 +FEF9 Reset_Loop12 +FF11 Reset_Loop13 +FF1B Reset_Loop14 +FF22 Reset_Loop15 +FF2A Sub_FF2A +FF3D Sub_FF3D FF53 Sub_FF53 FF5A Sub_FF5A +FF65 Sub_FF65 +FF84 Sub_FF84 +FF89 Sub_FF89 +FF9D Reset_Loop16 +FFC0 Reset_Loop17 FFC4 Sub_FFC4 FFCD NmiHandler diff --git a/NROM/Tag Team Wrestling (U)/locals.inc b/NROM/Tag Team Wrestling (U)/locals.inc index d65673a..e872763 100644 --- a/NROM/Tag Team Wrestling (U)/locals.inc +++ b/NROM/Tag Team Wrestling (U)/locals.inc @@ -4,52 +4,191 @@ ; 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. -Zp04 = $04 ; 1 refs; reads=0 writes=1; used at $FD92 -Zp05 = $05 ; 1 refs; reads=0 writes=1; used at $FD97 +Zp00 = $00 ; 12 refs; reads=11 writes=1; used at $ED0F, ED11, ED16, ED18, +7 more +Zp01 = $01 ; 5 refs; reads=4 writes=1; used at $ED1F, ED23, FE88, FEDF +Zp04 = $04 ; 7 refs; reads=4 writes=3; used at $FD92, FE39, FE50, FF65, +3 more +Zp05 = $05 ; 5 refs; reads=2 writes=3; used at $E029, FD97, FE3B, FF67, +1 more +Zp06 = $06 ; 4 refs; reads=2 writes=2; used at $FF6E, FF89, FFA3, FFA5 +Zp07 = $07 ; 3 refs; reads=1 writes=2; used at $FF74, FFA9, FFAB +Zp08 = $08 ; 5 refs; reads=3 writes=2; used at $FF7A, FF82, FFAD, FFB2, +1 more +Zp09 = $09 ; 3 refs; reads=1 writes=2; used at $FF7F, FFB6, FFB8 +Zp0A = $0A ; 1 refs; reads=1 writes=0; used at $E02B Zp0C = $0C ; 4 refs; reads=1 writes=3; used at $FD9E, FDC8, FDCE, FFE4 -Zp0D = $0D ; 1 refs; reads=0 writes=1; used at $FD73 -Zp0E = $0E ; 1 refs; reads=0 writes=1; used at $FD80 -Zp0F = $0F ; 2 refs; reads=1 writes=1; used at $FD59, FF5A -Zp10 = $10 ; 2 refs; reads=1 writes=1; used at $FD5B, FF5F -Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $FFE6 -Zp12 = $12 ; 3 refs; reads=2 writes=1; used at $F22F, FD8B, FFC4 -Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $FFC8 -Zp14 = $14 ; 1 refs; reads=0 writes=1; used at $FFCA -Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $F24B -Zp23 = $23 ; 1 refs; reads=0 writes=1; used at $F250 -Zp35 = $35 ; 3 refs; reads=2 writes=1; used at $F2C4, F2C8 -Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $AA4C -Zp50 = $50 ; 1 refs; reads=0 writes=1; used at $AA52 +Zp0D = $0D ; 11 refs; reads=7 writes=4; used at $AA83, AA87, F045, F053, +7 more +Zp0E = $0E ; 5 refs; reads=2 writes=3; used at $FD80, FF33, FF37, FF49, +1 more +Zp0F = $0F ; 4 refs; reads=2 writes=2; used at $AA81, E02D, FD59, FF5A +Zp10 = $10 ; 3 refs; reads=1 writes=2; used at $AA7F, FD5B, FF5F +Zp11 = $11 ; 3 refs; reads=2 writes=1; used at $B198, FFE6 +Zp12 = $12 ; 5 refs; reads=4 writes=1; used at $EB08, F15C, F22F, FD8B, +1 more +Zp13 = $13 ; 23 refs; reads=15 writes=8; used at $B125, B211, B217, B40B, +12 more +Zp14 = $14 ; 9 refs; reads=5 writes=4; used at $B1FF, B21B, B40F, B728, +2 more +Zp15 = $15 ; 3 refs; reads=2 writes=1; used at $AD19, AD39, FE8F +Zp16 = $16 ; 5 refs; reads=2 writes=3; used at $BEB3, BED2, EBE6, EC40, +1 more +Zp17 = $17 ; 3 refs; reads=2 writes=1; used at $C477, C4DA, FF22 +Zp18 = $18 ; 20 refs; reads=18 writes=2; used at $B1E8, B8F1, BA90, BAB9, +16 more +Zp19 = $19 ; 12 refs; reads=11 writes=1; used at $BB2A, BB34, BCDD, C3F0, +8 more +Zp1A = $1A ; 126 refs; reads=93 writes=33; used at $B1EF, B1F2, B910, B937, +119 more +Zp1B = $1B ; 55 refs; reads=33 writes=22; used at $B928, B957, BAFB, BDAE, +51 more +Zp1C = $1C ; 98 refs; reads=74 writes=24; used at $BFD5, BFDB, C08A, C0DA, +89 more +Zp1D = $1D ; 79 refs; reads=70 writes=9; used at $C090, C154, C17C, C260, +74 more +Zp1E = $1E ; 97 refs; reads=54 writes=43; used at $C094, C168, C190, C26B, +93 more +Zp1F = $1F ; 18 refs; reads=11 writes=7; used at $D2A1, D2BD, D3A9, D3AD, +14 more +Zp20 = $20 ; 8 refs; reads=5 writes=3; used at $B8B8, D2A9, D2AF, D2B4, +4 more +Zp21 = $21 ; 11 refs; reads=9 writes=2; used at $C82E, C99C, CC82, CCB1, +7 more +Zp22 = $22 ; 51 refs; reads=25 writes=26; used at $B95E, B96F, BDB9, C022, +45 more +Zp23 = $23 ; 38 refs; reads=8 writes=30; used at $B963, BDBE, C027, C3C5, +29 more +Zp24 = $24 ; 28 refs; reads=12 writes=16; used at $E04D, E711, E725, E7D0, +22 more +Zp25 = $25 ; 17 refs; reads=5 writes=12; used at $E715, E729, E7D4, E7E8, +12 more +Zp28 = $28 ; 2 refs; reads=2 writes=0; used at $E033, E035 +Zp32 = $32 ; 116 refs; reads=65 writes=51; used at $BADF, BAE9, BB04, BB0E, +109 more +Zp33 = $33 ; 110 refs; reads=70 writes=40; used at $BB4E, BBB1, BBBB, BCAA, +95 more +Zp34 = $34 ; 143 refs; reads=98 writes=45; used at $BB5B, BB70, BBB5, BBBF, +114 more +Zp35 = $35 ; 31 refs; reads=22 writes=9; used at $BB21, BEC4, BECA, BED0, +22 more +Zp36 = $36 ; 170 refs; reads=117 writes=53; used at $B0D7, B0E3, B117, B168, +148 more +Zp37 = $37 ; 36 refs; reads=31 writes=5; used at $B0F5, B140, BC48, BCBB, +32 more +Zp38 = $38 ; 6 refs; reads=4 writes=2; used at $BCCF, C6DA, C6E6, C7CE, +1 more +Zp39 = $39 ; 11 refs; reads=5 writes=6; used at $BB3A, BCD3, C73D, C73F, +5 more +Zp3A = $3A ; 7 refs; reads=3 writes=4; used at $BB36, BCDF, C6F9, C733, +3 more +Zp3B = $3B ; 33 refs; reads=23 writes=10; used at $B0F1, B13C, B89F, BD74, +29 more +Zp3C = $3C ; 29 refs; reads=22 writes=7; used at $BD88, C70C, C83F, C8E0, +23 more +Zp3D = $3D ; 26 refs; reads=20 writes=6; used at $C710, C84B, C8FC, C98F, +21 more +Zp3E = $3E ; 21 refs; reads=17 writes=4; used at $B0ED, B138, BA89, BAF9, +17 more +Zp3F = $3F ; 4 refs; reads=1 writes=3; used at $BB7A, D4C2, D5F9, E36C +Zp40 = $40 ; 11 refs; reads=8 writes=3; used at $BB7E, D4AF, D4F3, D52C, +6 more +Zp41 = $41 ; 46 refs; reads=38 writes=8; used at $B7C9, B7D4, BA75, BEB8, +42 more +Zp42 = $42 ; 7 refs; reads=4 writes=3; used at $C1FC, C23F, D286, D927, +3 more +Zp43 = $43 ; 7 refs; reads=5 writes=2; used at $C1D0, C1F8, D288, D8F5, +2 more +Zp44 = $44 ; 5 refs; reads=2 writes=3; used at $D28C, D8F1, D925, D938 +Zp45 = $45 ; 3 refs; reads=2 writes=1; used at $AFA4, C290, EBF0 +Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $AFA6, EC31 +Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $AFA8, EC1F +Zp4A = $4A ; 1 refs; reads=1 writes=0; used at $C298 +Zp4C = $4C ; 1 refs; reads=1 writes=0; used at $E04B +Zp4F = $4F ; 2 refs; reads=0 writes=2; used at $AA4C, AFE0 +Zp50 = $50 ; 5 refs; reads=3 writes=2; used at $AA52, AFE4, B8BA, E03B, +1 more +Zp55 = $55 ; 2 refs; reads=1 writes=1; used at $AFAC, EC17 +Zp56 = $56 ; 2 refs; reads=1 writes=1; used at $AFAE, EC33 +Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $AFB0, EC21 +Zp5A = $5A ; 2 refs; reads=2 writes=0; used at $E03F, E041 +Zp64 = $64 ; 1 refs; reads=1 writes=0; used at $E043 +Zp65 = $65 ; 7 refs; reads=4 writes=3; used at $BB76, D5CC, D5D0, D5E8, +2 more +Zp66 = $66 ; 4 refs; reads=2 writes=2; used at $BB57, BB6E, BB84, E35B +Zp67 = $67 ; 4 refs; reads=2 writes=2; used at $BB67, BB72, BB95, E35D +Zp68 = $68 ; 1 refs; reads=0 writes=1; used at $BB82 +Zp69 = $69 ; 2 refs; reads=1 writes=1; used at $BD19, DC2C +Zp6A = $6A ; 2 refs; reads=1 writes=1; used at $BD17, DC2A +Zp6B = $6B ; 3 refs; reads=2 writes=1; used at $BB9D, E365, F260 +Zp6C = $6C ; 3 refs; reads=2 writes=1; used at $BB9F, E367, F262 +Zp6D = $6D ; 6 refs; reads=3 writes=3; used at $BBF9, BCED, BDFD, BE01, +2 more +Zp6E = $6E ; 6 refs; reads=3 writes=3; used at $BCEF, BDF9, BE37, BE3C, +1 more +Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $BCF1, BE22, BE40 +Zp70 = $70 ; 10 refs; reads=5 writes=5; used at $BBFD, BC21, BCF3, C03C, +6 more +Zp71 = $71 ; 9 refs; reads=4 writes=5; used at $BCF5, C038, C07B, C080, +3 more +Zp72 = $72 ; 3 refs; reads=1 writes=2; used at $BCF7, C3EC, C40A Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $AA24, AA56 Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $AA2A, AA5A Zp75 = $75 ; 2 refs; reads=1 writes=1; used at $AA30, AA5E Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $AA36, AA62 -Zp77 = $77 ; 1 refs; reads=0 writes=1; used at $AA46 -Zp78 = $78 ; 1 refs; reads=0 writes=1; used at $AA66 -Zp79 = $79 ; 1 refs; reads=0 writes=1; used at $AA68 -Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $AA72 -Zp7D = $7D ; 1 refs; reads=0 writes=1; used at $AA3E -Zp7E = $7E ; 1 refs; reads=0 writes=1; used at $AA42 -Zp83 = $83 ; 1 refs; reads=0 writes=1; used at $AA4A -Zp84 = $84 ; 1 refs; reads=0 writes=1; used at $AA50 -Zp8A = $8A ; 2 refs; reads=1 writes=1; used at $F238, F2CC -ZpAC = $AC ; 3 refs; reads=2 writes=1; used at $BACF, F242 -ZpAF = $AF ; 2 refs; reads=1 writes=1; used at $AA74, F2CE -ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $AA6A -ZpB2 = $B2 ; 1 refs; reads=0 writes=1; used at $AA6C -ZpB3 = $B3 ; 1 refs; reads=0 writes=1; used at $AA6E -ZpB4 = $B4 ; 1 refs; reads=0 writes=1; used at $AA70 -ZpD0 = $D0 ; 7 refs; reads=4 writes=3; used at $9C22, 9DDE, 9DF6, 9DF9, +3 more -ZpD1 = $D1 ; 22 refs; reads=17 writes=5; used at $9E09, 9E12, 9E54, 9E6C, +18 more -ZpD2 = $D2 ; 9 refs; reads=4 writes=5; used at $9E0E, 9F62, 9F83, 9F87, +5 more +Zp77 = $77 ; 4 refs; reads=3 writes=1; used at $AA46, AAC9, ACA3, ACB7 +Zp78 = $78 ; 3 refs; reads=1 writes=2; used at $AA66, B1FA, E047 +Zp79 = $79 ; 5 refs; reads=1 writes=4; used at $AA68, AAF3, AC83, ADE0, +1 more +Zp7A = $7A ; 2 refs; reads=0 writes=2; used at $AA72, AD10 +Zp7B = $7B ; 41 refs; reads=40 writes=1; used at $AC87, ADA3, ADA9, ADDA, +37 more +Zp7D = $7D ; 3 refs; reads=1 writes=2; used at $AA3E, F21E, F222 +Zp7E = $7E ; 3 refs; reads=1 writes=2; used at $AA42, F215, F224 +Zp82 = $82 ; 1 refs; reads=1 writes=0; used at $E049 +Zp83 = $83 ; 16 refs; reads=11 writes=5; used at $AA4A, ADD8, ADF3, AFDE, +12 more +Zp84 = $84 ; 12 refs; reads=7 writes=5; used at $AA50, ADD3, ADF7, AFE2, +8 more +Zp85 = $85 ; 56 refs; reads=55 writes=1; used at $B0DF, BADD, BB0C, BB1F, +52 more +Zp86 = $86 ; 50 refs; reads=49 writes=1; used at $B0EB, BAE7, BB02, BB40, +46 more +Zp87 = $87 ; 16 refs; reads=12 writes=4; used at $AD9D, B2D1, B7DF, B7E5, +9 more +Zp88 = $88 ; 16 refs; reads=11 writes=5; used at $AD9F, B6CB, B730, B74C, +8 more +Zp89 = $89 ; 8 refs; reads=5 writes=3; used at $BCE1, BCE5, BDCF, BDEA, +3 more +Zp8A = $8A ; 4 refs; reads=1 writes=3; used at $ADA1, B21F, F238, F2CC +Zp8B = $8B ; 7 refs; reads=1 writes=6; used at $AFB4, B0C8, B1D4, BFA2, +3 more +Zp8C = $8C ; 8 refs; reads=3 writes=5; used at $D97C, D987, D993, D99D, +2 more +Zp8D = $8D ; 4 refs; reads=2 writes=2; used at $E938, E93D, E953 +Zp8E = $8E ; 42 refs; reads=13 writes=29; used at $DA58, DB0E, DB5F, DB67, +28 more +Zp8F = $8F ; 33 refs; reads=19 writes=14; used at $D38D, D3C3, EADE, EB6A, +27 more +Zp90 = $90 ; 42 refs; reads=24 writes=18; used at $EAE0, EB4E, EB53, EB84, +36 more +Zp91 = $91 ; 25 refs; reads=2 writes=23; used at $DA5C, DA6F, DB12, DB7C, +21 more +Zp92 = $92 ; 7 refs; reads=3 writes=4; used at $DA60, DA73, DB10, DF7B, +3 more +Zp93 = $93 ; 6 refs; reads=3 writes=3; used at $C0FD, ECFA, ED04, ED06, +1 more +Zp94 = $94 ; 6 refs; reads=2 writes=4; used at $C117, C1B1, EC4F, EC7B, +2 more +Zp95 = $95 ; 53 refs; reads=29 writes=24; used at $BBBD, BBDB, BC4A, BC57, +48 more +Zp96 = $96 ; 120 refs; reads=68 writes=52; used at $BBC1, BBEA, BC0B, BC34, +100 more +Zp97 = $97 ; 48 refs; reads=22 writes=26; used at $BBB3, BBE1, BC4C, BC50, +43 more +Zp98 = $98 ; 116 refs; reads=61 writes=55; used at $BBB7, BBF0, BC0D, BC32, +96 more +Zp99 = $99 ; 3 refs; reads=1 writes=2; used at $D187, D1D1, D1F9 +Zp9A = $9A ; 3 refs; reads=1 writes=2; used at $D189, D1D3, D20B +Zp9B = $9B ; 3 refs; reads=2 writes=1; used at $C7B5, CB68, E230 +Zp9C = $9C ; 3 refs; reads=1 writes=2; used at $C7B7, CB44 +Zp9D = $9D ; 8 refs; reads=4 writes=4; used at $C908, C90F, C924, C92E, +3 more +Zp9E = $9E ; 8 refs; reads=4 writes=4; used at $C90A, C94F, C964, C96E, +3 more +Zp9F = $9F ; 12 refs; reads=1 writes=11; used at $BC5F, C722, C854, C9AB, +8 more +ZpA0 = $A0 ; 4 refs; reads=2 writes=2; used at $B172, B193, B19E +ZpA1 = $A1 ; 7 refs; reads=5 writes=2; used at $BA7F, BD32, BF06, C208, +3 more +ZpA2 = $A2 ; 9 refs; reads=4 writes=5; used at $CEA4, CEE6, CEE8, D6BC, +5 more +ZpA3 = $A3 ; 9 refs; reads=3 writes=6; used at $BEA1, BFE1, C107, C377, +5 more +ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $BC69, E1F9 +ZpA5 = $A5 ; 4 refs; reads=2 writes=2; used at $D510, D517, D757 +ZpA6 = $A6 ; 3 refs; reads=2 writes=1; used at $D506, D51B +ZpA7 = $A7 ; 3 refs; reads=1 writes=2; used at $BAD2, BB3E, BCE9 +ZpA8 = $A8 ; 4 refs; reads=2 writes=2; used at $8787, DA42, E334 +ZpA9 = $A9 ; 2 refs; reads=1 writes=1; used at $DAF8, E2FE +ZpAA = $AA ; 5 refs; reads=3 writes=2; used at $AFB8, AFDC, B9C0, E1C1, +1 more +ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $D4F9, D522 +ZpAC = $AC ; 35 refs; reads=30 writes=5; used at $AC7F, BACF, BE19, C06A, +26 more +ZpAD = $AD ; 5 refs; reads=4 writes=1; used at $E6FF, E732, E743, E750 +ZpAE = $AE ; 3 refs; reads=2 writes=1; used at $E875, E890 +ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $AA74, E9C8, EA64, F2CE +ZpB0 = $B0 ; 8 refs; reads=4 writes=4; used at $B0C1, B1EB, B1ED, BA93, +3 more +ZpB1 = $B1 ; 10 refs; reads=4 writes=6; used at $AA6A, AAF5, AD0C, AD15, +6 more +ZpB2 = $B2 ; 12 refs; reads=7 writes=5; used at $AA6C, AAF7, AD25, AD2B, +7 more +ZpB3 = $B3 ; 11 refs; reads=6 writes=5; used at $AA6E, AAF9, AD1F, AD37, +5 more +ZpB4 = $B4 ; 4 refs; reads=1 writes=3; used at $AA70, AAFB, DBC8, DBE5 +ZpB8 = $B8 ; 2 refs; reads=1 writes=1; used at $B7C7 +ZpC4 = $C4 ; 2 refs; reads=1 writes=1; used at $878B +ZpD0 = $D0 ; 9 refs; reads=4 writes=5; used at $9C22, 9DDE, 9DF6, 9DF9, +5 more +ZpD1 = $D1 ; 41 refs; reads=33 writes=8; used at $9E09, 9E12, 9E54, 9E6C, +37 more +ZpD2 = $D2 ; 14 refs; reads=6 writes=8; used at $9E0E, 9F62, 9F83, 9F87, +10 more ZpD7 = $D7 ; 4 refs; reads=1 writes=3; used at $A11F, A129, A12E, A361 ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $A123, A366 ZpD9 = $D9 ; 4 refs; reads=2 writes=2; used at $9F25, 9F2C, A02F, A03F ZpDA = $DA ; 4 refs; reads=2 writes=2; used at $9F2A, 9F31, 9F36, 9F3B -ZpDC = $DC ; 2 refs; reads=1 writes=1; used at $9E14, 9E16 +ZpDB = $DB ; 2 refs; reads=1 writes=1; used at $A199, A19E +ZpDC = $DC ; 4 refs; reads=2 writes=2; used at $9E14, 9E16, A144, A14B ZpDE = $DE ; 2 refs; reads=1 writes=1; used at $A08B, A0D6 ZpDF = $DF ; 7 refs; reads=3 writes=4; used at $A09D, A0AE, A0B8, A0D4, +2 more ZpE0 = $E0 ; 6 refs; reads=3 writes=3; used at $A0A6, A0AC, A0B3, A0E7, +1 more ZpE1 = $E1 ; 3 refs; reads=2 writes=1; used at $9FEB, A0BD, A0EE ZpE2 = $E2 ; 9 refs; reads=7 writes=2; used at $9F6D, 9F78, 9F8B, 9F95, +5 more -ZpE3 = $E3 ; 4 refs; reads=2 writes=2; used at $9F6B, 9F90, A003, A0FC +ZpE3 = $E3 ; 12 refs; reads=6 writes=6; used at $9F6B, 9F90, A003, A0FC, +8 more +ZpF0 = $F0 ; 5 refs; reads=3 writes=2; used at $8007, 801A, 8029, 802F +ZpF1 = $F1 ; 4 refs; reads=2 writes=2; used at $800C, 802D, 8035 +ZpF2 = $F2 ; 2 refs; reads=1 writes=1; used at $8011, 8031 +ZpF3 = $F3 ; 2 refs; reads=1 writes=1; used at $8016, 8037 +ZpF4 = $F4 ; 2 refs; reads=1 writes=1; used at $8022, 803B +ZpFF = $FF ; 1 refs; reads=1 writes=0; used at $B8BC + +; Pass 3 semantic aliases (proven from the disassembly): +PpuCtrlShadow = Zp0D +PpuMaskShadow = Zp0E +GameState = Zp36 +PlayerState = Zp1A +PlayerX = Zp33 +PlayerY = Zp34 +PlayerTile = Zp32 +SpriteX = Zp96 +SpriteY = Zp98 +WrestlerIndex = Zp85 +WrestlerIndex2 = Zp86 +RingPtrLo = ZpD1 +RingPtrHi = ZpD2 +HandlerPtrLo = ZpD7 +HandlerPtrHi = ZpD8 +RingEntrancePtrLo = ZpF0 +RingEntrancePtrHi = ZpF1 +RingEntrancePtr2Lo = ZpF2 +RingEntrancePtr2Hi = ZpF3 +TimerIndex = ZpDA diff --git a/NROM/Tag Team Wrestling (U)/prg.s b/NROM/Tag Team Wrestling (U)/prg.s index 5fa0c36..82ad6c5 100644 --- a/NROM/Tag Team Wrestling (U)/prg.s +++ b/NROM/Tag Team Wrestling (U)/prg.s @@ -9,10 +9,24 @@ ; PRG mapped at $8000-$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: +; $8787, $A199, $A303, $AA7D, $AAB1, $AC7F, $AD0C, $AD9D, $ADB1, $ADCF, $AFA0, $AFA4, $AFB8, $B0C1, $B0C8, $B2C2, $B2C6, $B3C0, $B698, $B7C7, $B9C0, $BDC3, $BF3F, $C02C, $C040, $C060, $C0D4, $C2BE, $C5E9, $C69A, $C83F, $DA02, $DAB8, $F028 +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $9E3A, $A131, $A152, $A165, $A17E, $A1A7, $A1B4, $A1BE, $A1CF, $A1D6, $A1DD, $A1E9, $A1FE, $A214, $A22A, $A239, $A241, $A249, $A253, $A25D, $A268, $A273, $AD15, $B0D5, $B1B2, $B1BB, $B3CA, $B3D2, $B414, $B6A5, $B6B1, $B73C, $B821, $B83D, $B88B, $B8B3, $B8B6, $BD98, $BF61, $BF68, $BF8A, $BFAB, $BFC0, $BFE8, $C2E0, $C2E7, $C309, $C341, $C356, $C3CA, $C3CD, $C4DA, $C60B, $C612, $C634, $C636, $C655, $C66A, $C692, $C70A, $C7FA, $C8DD, $C8E0, $C99C, $C9EE, $CA35, $CA78, $CA7B, $CAC3, $CAF1, $CAF4, $CB7A, $CC08, $CD0E, $CD39, $CD7F, $CDE2, $CE3C, $CF71, $CFEF, $D01B, $D031, $D08F, $D12D, $D304, $D755, $D7B3, $D7F3, $D8E3, $D8E4, $DA29, $DA2E, $DA33, $DA47, $DA48, $DA49, $DA4A, $DA57, $DADF, $DAE4, $DAE9, $DAFD, $DAFE, $DAFF, $DB00, $DB0D, $DC9C, $DC9F, $DCDA, $DDE0, $DDE3, $DDE6, $DDE9, $DDFB, $DE07, $DE35, $DFDD, $DFE4, $E014, $E017, $E5C1, $E8EF, $E901, $E93D, $ED0D, $ED0E, $ED0F, $ED14, $ED15, $ED16, $ED1B, $ED22, $ED23, $EDC4, $EDC7, $EDCD, $EDD6, $EDDC, $EDE5, $EDEB, $EDF4, $EDFA, $EFCD, $EFCF, $F010, $F255, $F272, $F27F, $F28C, $F299, $F2AC, $F2BB, $F2C1, $FD16, $FD25, $FD3D ; indirect dispatch through zero page (not followed statically): ; jmp ($0004) at $FD99 +; jmp ($4721) at $B8B3 +; jmp ($0022) at $BDC0 +; jmp ($0022) at $C83C +; jmp ($A07D) at $878F +; jmp ($0022) at $D9FF +; jmp ($0022) at $DAB5 +; jmp ($0022) at $C029 +; jmp ($0022) at $DC99 ; jmp ($0022) at $F252 +; jmp ($0022) at $C3C7 ; jmp ($00D7) at $A36C +; jmp ($0024) at $EDC1 ; .setcpu "6502" @@ -21,454 +35,559 @@ .segment "PRG" -; ---- data $8000-$9BEF (7152 bytes) ---- - .byte $0A, $A8, $F0, $39, $B9, $47, $80, $85, $F0, $B9, $48, $80, $85, $F1, $B9, $55 ; CPU:$8000 PRG:0000 0A A8 F0 39 B9 47 80 85 F0 B9 48 80 85 F1 B9 55 - .byte $80, $85, $F2, $B9, $56, $80, $85, $F3, $A0, $00, $B1, $F0, $49, $FF, $4A, $8D ; CPU:$8010 PRG:0010 80 85 F2 B9 56 80 85 F3 A0 00 B1 F0 49 FF 4A 8D - .byte $11, $40, $85, $F4, $A2, $60, $CA, $D0, $FD, $E6, $F0, $D0, $02, $E6, $F1, $A5 ; CPU:$8020 PRG:0020 11 40 85 F4 A2 60 CA D0 FD E6 F0 D0 02 E6 F1 A5 - .byte $F0, $C5, $F2, $D0, $E5, $A5, $F1, $C5, $F3, $D0, $DF, $A4, $F4, $A2, $80, $CA ; CPU:$8030 PRG:0030 F0 C5 F2 D0 E5 A5 F1 C5 F3 D0 DF A4 F4 A2 80 CA - .byte $D0, $FD, $8C, $11, $40, $88, $10, $F5, $60, $65, $80, $25, $84, $05, $88, $DA ; CPU:$8040 PRG:0040 D0 FD 8C 11 40 88 10 F5 60 65 80 25 84 05 88 DA - .byte $8C, $3B, $91, $2B, $94, $EB, $97, $25, $84, $05, $88, $DA, $8C, $3B, $91, $2B ; CPU:$8050 PRG:0050 8C 3B 91 2B 94 EB 97 25 84 05 88 DA 8C 3B 91 2B - .byte $94, $EB, $97, $EA, $9B, $63, $47, $7A, $7A, $26, $58, $FF, $FF, $90, $44, $8E ; CPU:$8060 PRG:0060 94 EB 97 EA 9B 63 47 7A 7A 26 58 FF FF 90 44 8E - .byte $73, $51, $EC, $FF, $CE, $29, $52, $87, $2C, $00, $FF, $FF, $D3, $20, $75, $85 ; CPU:$8070 PRG:0070 73 51 EC FF CE 29 52 87 2C 00 FF FF D3 20 75 85 - .byte $3A, $D3, $FF, $BB, $00, $BA, $96, $53, $FF, $FF, $07, $00, $AE, $46, $00, $FF ; CPU:$8080 PRG:0080 3A D3 FF BB 00 BA 96 53 FF FF 07 00 AE 46 00 FF - .byte $F1, $4F, $00, $9B, $CF, $79, $FF, $FF, $33, $00, $B6, $36, $3F, $FF, $FF, $3D ; CPU:$8090 PRG:0090 F1 4F 00 9B CF 79 FF FF 33 00 B6 36 3F FF FF 3D - .byte $0A, $BD, $C7, $B7, $FF, $B9, $00, $70, $7B, $78, $FF, $FF, $83, $0A, $9A, $F8 ; CPU:$80A0 PRG:00A0 0A BD C7 B7 FF B9 00 70 7B 78 FF FF 83 0A 9A F8 - .byte $D5, $FB, $B7, $22, $4A, $47, $CC, $FF, $F5, $41, $50, $AA, $D5, $FF, $FF, $3A ; CPU:$80B0 PRG:00B0 D5 FB B7 22 4A 47 CC FF F5 41 50 AA D5 FF FF 3A - .byte $1E, $69, $79, $FF, $FF, $6B, $00, $94, $FF, $FF, $F4, $68, $1A, $3A, $9C, $FF ; CPU:$80C0 PRG:00C0 1E 69 79 FF FF 6B 00 94 FF FF F4 68 1A 3A 9C FF - .byte $FF, $73, $12, $80, $EC, $FF, $F0, $4B, $1F, $1A, $BF, $FF, $FF, $45, $4B, $A9 ; CPU:$80D0 PRG:00D0 FF 73 12 80 EC FF F0 4B 1F 1A BF FF FF 45 4B A9 - .byte $FF, $FF, $AC, $2F, $29, $9B, $FF, $FF, $85, $45, $8A, $F4, $FF, $B2, $65, $13 ; CPU:$80E0 PRG:00E0 FF FF AC 2F 29 9B FF FF 85 45 8A F4 FF B2 65 13 - .byte $8F, $FF, $FD, $7F, $76, $A7, $C5, $CF, $AD, $7F, $72, $F3, $FD, $9E, $8D, $C2 ; CPU:$80F0 PRG:00F0 8F FF FD 7F 76 A7 C5 CF AD 7F 72 F3 FD 9E 8D C2 - .byte $E2, $B8, $75, $71, $88, $F9, $FA, $92, $72, $AD, $F6, $CF, $7F, $54, $76, $F6 ; CPU:$8100 PRG:0100 E2 B8 75 71 88 F9 FA 92 72 AD F6 CF 7F 54 76 F6 - .byte $F3, $A6, $85, $BF, $D8, $9F, $7B, $92, $DA, $D5, $AB, $A1, $BC, $CA, $B6, $81 ; CPU:$8110 PRG:0110 F3 A6 85 BF D8 9F 7B 92 DA D5 AB A1 BC CA B6 81 - .byte $7A, $D4, $D6, $9E, $92, $B8, $CB, $B5, $80, $9A, $CD, $C0, $AA, $A6, $A9, $AF ; CPU:$8120 PRG:0120 7A D4 D6 9E 92 B8 CB B5 80 9A CD C0 AA A6 A9 AF - .byte $A3, $91, $C8, $D7, $9E, $99, $BB, $BA, $A6, $97, $A9, $CE, $A6, $9B, $B2, $C6 ; CPU:$8130 PRG:0130 A3 91 C8 D7 9E 99 BB BA A6 97 A9 CE A6 9B B2 C6 - .byte $B8, $A1, $88, $B4, $CA, $AF, $A7, $B1, $B8, $B2, $9D, $9F, $C5, $A4, $A0, $B9 ; CPU:$8140 PRG:0140 B8 A1 88 B4 CA AF A7 B1 B8 B2 9D 9F C5 A4 A0 B9 - .byte $C3, $B3, $A2, $8B, $B9, $D1, $AF, $9C, $A3, $B5, $C1, $A6, $9A, $BF, $B0, $A6 ; CPU:$8150 PRG:0150 C3 B3 A2 8B B9 D1 AF 9C A3 B5 C1 A6 9A BF B0 A6 - .byte $BC, $BC, $AC, $A3, $96, $AE, $C3, $B4, $AA, $AF, $B3, $B9, $A9, $9A, $B2, $AF ; CPU:$8160 PRG:0160 BC BC AC A3 96 AE C3 B4 AA AF B3 B9 A9 9A B2 AF - .byte $A5, $B6, $BB, $B1, $B2, $A3, $A1, $BE, $AE, $A7, $AF, $B1, $B3, $BA, $9F, $A6 ; CPU:$8170 PRG:0170 A5 B6 BB B1 B2 A3 A1 BE AE A7 AF B1 B3 BA 9F A6 - .byte $B8, $AB, $AB, $B2, $AD, $B6, $BA, $9F, $A5, $B5, $AE, $AE, $B2, $AD, $BA, $B6 ; CPU:$8180 PRG:0180 B8 AB AB B2 AD B6 BA 9F A5 B5 AE AE B2 AD BA B6 - .byte $A1, $AC, $AE, $A7, $B0, $B4, $AA, $B8, $B9, $A6, $A8, $AB, $A7, $B2, $B7, $AD ; CPU:$8190 PRG:0190 A1 AC AE A7 B0 B4 AA B8 B9 A6 A8 AB A7 B2 B7 AD - .byte $B8, $B8, $A4, $A7, $AD, $A7, $AD, $B5, $AF, $BD, $BD, $A2, $9E, $AC, $AA, $AD ; CPU:$81A0 PRG:01A0 B8 B8 A4 A7 AD A7 AD B5 AF BD BD A2 9E AC AA AD - .byte $B1, $B0, $BD, $C3, $AA, $98, $A7, $AD, $B1, $AE, $AC, $B0, $C3, $B8, $9D, $A7 ; CPU:$81B0 PRG:01B0 B1 B0 BD C3 AA 98 A7 AD B1 AE AC B0 C3 B8 9D A7 - .byte $A8, $AD, $B2, $B2, $AD, $BA, $BC, $A5, $A1, $AE, $A9, $A8, $AF, $B3, $B7, $C1 ; CPU:$81C0 PRG:01C0 A8 AD B2 B2 AD BA BC A5 A1 AE A9 A8 AF B3 B7 C1 - .byte $B1, $9B, $AA, $AD, $AA, $AE, $B1, $B0, $BF, $BF, $A7, $9C, $AA, $A7, $AA, $AE ; CPU:$81D0 PRG:01D0 B1 9B AA AD AA AE B1 B0 BF BF A7 9C AA A7 AA AE - .byte $B1, $B7, $C6, $B6, $99, $A6, $AA, $A9, $AF, $B1, $AE, $BF, $C0, $A9, $9D, $AA ; CPU:$81E0 PRG:01E0 B1 B7 C6 B6 99 A6 AA A9 AF B1 AE BF C0 A9 9D AA - .byte $A7, $AC, $AC, $B1, $B5, $C5, $B7, $9A, $A3, $A9, $A7, $AD, $B4, $B2, $BB, $BF ; CPU:$81F0 PRG:01F0 A7 AC AC B1 B5 C5 B7 9A A3 A9 A7 AD B4 B2 BB BF - .byte $AF, $9E, $AA, $A7, $AA, $AF, $B4, $B0, $C0, $B9, $A0, $9E, $AA, $A8, $AD, $B3 ; CPU:$8200 PRG:0200 AF 9E AA A7 AA AF B4 B0 C0 B9 A0 9E AA A8 AD B3 - .byte $AF, $B9, $C1, $B3, $98, $A6, $A9, $AD, $B1, $B5, $B1, $BC, $BA, $A9, $9D, $A9 ; CPU:$8210 PRG:0210 AF B9 C1 B3 98 A6 A9 AD B1 B5 B1 BC BA A9 9D A9 - .byte $A5, $AC, $B2, $B1, $B5, $C0, $B6, $9D, $A3, $A8, $A7, $AF, $B5, $B0, $BC, $C1 ; CPU:$8220 PRG:0220 A5 AC B2 B1 B5 C0 B6 9D A3 A8 A7 AF B5 B0 BC C1 - .byte $AD, $99, $A8, $A8, $AC, $B0, $B2, $B1, $BE, $B9, $A4, $9F, $A9, $A5, $AC, $B1 ; CPU:$8230 PRG:0230 AD 99 A8 A8 AC B0 B2 B1 BE B9 A4 9F A9 A5 AC B1 - .byte $B3, $B7, $BF, $B2, $9B, $A5, $A7, $AA, $B0, $B6, $B1, $BC, $BB, $AD, $9E, $A8 ; CPU:$8240 PRG:0240 B3 B7 BF B2 9B A5 A7 AA B0 B6 B1 BC BB AD 9E A8 - .byte $A5, $AC, $B0, $B5, $B4, $BD, $B7, $A2, $9F, $A9, $A7, $AB, $B1, $B1, $B9, $BE ; CPU:$8250 PRG:0250 A5 AC B0 B5 B4 BD B7 A2 9F A9 A7 AB B1 B1 B9 BE - .byte $B3, $9E, $A3, $A5, $AA, $B1, $B6, $B0, $BA, $BB, $B0, $9F, $A8, $A6, $AA, $B2 ; CPU:$8260 PRG:0260 B3 9E A3 A5 AA B1 B6 B0 BA BB B0 9F A8 A6 AA B2 - .byte $B5, $B1, $BC, $BB, $AC, $9F, $A9, $A5, $AB, $B2, $B4, $B4, $BD, $B7, $A6, $9F ; CPU:$8270 PRG:0270 B5 B1 BC BB AC 9F A9 A5 AB B2 B4 B4 BD B7 A6 9F - .byte $A7, $A5, $AC, $B3, $B1, $B6, $BB, $B6, $A6, $A1, $A8, $A4, $AC, $B2, $AF, $B5 ; CPU:$8280 PRG:0280 A7 A5 AC B3 B1 B6 BB B6 A6 A1 A8 A4 AC B2 AF B5 - .byte $BC, $B5, $A4, $A1, $A7, $A4, $AE, $B4, $B0, $B5, $BB, $B4, $A5, $A2, $A6, $A5 ; CPU:$8290 PRG:0290 BC B5 A4 A1 A7 A4 AE B4 B0 B5 BB B4 A5 A2 A6 A5 - .byte $AD, $B5, $B0, $B3, $B9, $B6, $A9, $A3, $A7, $A5, $AC, $B4, $B0, $B2, $BA, $B8 ; CPU:$82A0 PRG:02A0 AD B5 B0 B3 B9 B6 A9 A3 A7 A5 AC B4 B0 B2 BA B8 - .byte $AC, $A3, $A7, $A5, $AC, $B2, $B0, $B1, $BA, $B9, $AF, $A5, $A7, $A3, $A8, $AF ; CPU:$82B0 PRG:02B0 AC A3 A7 A5 AC B2 B0 B1 BA B9 AF A5 A7 A3 A8 AF - .byte $B1, $B1, $BA, $BC, $B3, $A7, $A4, $A2, $A6, $AD, $B2, $B0, $B6, $B9, $B5, $AC ; CPU:$82C0 PRG:02C0 B1 B1 BA BC B3 A7 A4 A2 A6 AD B2 B0 B6 B9 B5 AC - .byte $A5, $A4, $A3, $AC, $B1, $B0, $B3, $B8, $B9, $B0, $A7, $A4, $A2, $A6, $AE, $B0 ; CPU:$82D0 PRG:02D0 A5 A4 A3 AC B1 B0 B3 B8 B9 B0 A7 A4 A2 A6 AE B0 - .byte $B0, $B8, $BB, $B6, $AE, $A5, $A2, $A1, $AB, $AF, $B1, $B4, $BA, $B9, $B4, $A9 ; CPU:$82E0 PRG:02E0 B0 B8 BB B6 AE A5 A2 A1 AB AF B1 B4 BA B9 B4 A9 - .byte $A2, $9F, $A5, $AD, $B1, $B0, $B7, $BC, $B8, $AF, $A4, $A1, $A1, $AA, $AF, $B1 ; CPU:$82F0 PRG:02F0 A2 9F A5 AD B1 B0 B7 BC B8 AF A4 A1 A1 AA AF B1 - .byte $B2, $B9, $BB, $B5, $AA, $A2, $A0, $A3, $AB, $B0, $B0, $B5, $BA, $BA, $B3, $A7 ; CPU:$8300 PRG:0300 B2 B9 BB B5 AA A2 A0 A3 AB B0 B0 B5 BA BA B3 A7 - .byte $A2, $9F, $A5, $AC, $B1, $B1, $B8, $BC, $B8, $AF, $A4, $A1, $9F, $A9, $AE, $B2 ; CPU:$8310 PRG:0310 A2 9F A5 AC B1 B1 B8 BC B8 AF A4 A1 9F A9 AE B2 - .byte $B2, $BA, $BC, $B5, $AB, $A3, $A0, $A2, $AA, $AF, $B1, $B6, $BC, $BA, $B3, $A8 ; CPU:$8320 PRG:0320 B2 BA BC B5 AB A3 A0 A2 AA AF B1 B6 BC BA B3 A8 - .byte $A2, $9D, $A3, $AB, $B1, $B3, $B9, $BC, $B9, $B0, $A5, $A1, $9E, $A8, $AD, $B2 ; CPU:$8330 PRG:0330 A2 9D A3 AB B1 B3 B9 BC B9 B0 A5 A1 9E A8 AD B2 - .byte $B5, $BA, $BB, $B7, $AD, $A3, $9F, $A0, $A8, $AE, $B2, $B7, $BB, $BA, $B5, $AA ; CPU:$8340 PRG:0340 B5 BA BB B7 AD A3 9F A0 A8 AE B2 B7 BB BA B5 AA - .byte $A1, $9D, $A2, $A9, $B0, $B3, $B9, $BC, $B9, $B1, $A6, $A1, $9E, $A6, $AC, $B2 ; CPU:$8350 PRG:0350 A1 9D A2 A9 B0 B3 B9 BC B9 B1 A6 A1 9E A6 AC B2 - .byte $B5, $BB, $BB, $B7, $AF, $A3, $9F, $9F, $A8, $AE, $B3, $B7, $BB, $BA, $B5, $A9 ; CPU:$8360 PRG:0360 B5 BB BB B7 AF A3 9F 9F A8 AE B3 B7 BB BA B5 A9 - .byte $A1, $9E, $A2, $A9, $B0, $B3, $B8, $BB, $B8, $B2, $A6, $A1, $9E, $A5, $AB, $B3 ; CPU:$8370 PRG:0370 A1 9E A2 A9 B0 B3 B8 BB B8 B2 A6 A1 9E A5 AB B3 - .byte $B6, $BB, $BB, $B7, $AE, $A4, $A0, $9F, $A7, $AE, $B3, $B7, $BB, $BA, $B4, $AA ; CPU:$8380 PRG:0380 B6 BB BB B7 AE A4 A0 9F A7 AE B3 B7 BB BA B4 AA - .byte $A2, $9E, $A2, $A9, $B0, $B4, $B8, $BB, $B8, $B2, $A6, $A1, $9D, $A4, $AB, $B2 ; CPU:$8390 PRG:0390 A2 9E A2 A9 B0 B4 B8 BB B8 B2 A6 A1 9D A4 AB B2 - .byte $B6, $BB, $BB, $B7, $AF, $A5, $9F, $A0, $A7, $AE, $B3, $B7, $BB, $B9, $B5, $AA ; CPU:$83A0 PRG:03A0 B6 BB BB B7 AF A5 9F A0 A7 AE B3 B7 BB B9 B5 AA - .byte $A2, $9D, $A1, $A8, $AF, $B4, $B9, $BB, $B8, $B2, $A7, $A1, $9D, $A3, $AA, $B1 ; CPU:$83B0 PRG:03B0 A2 9D A1 A8 AF B4 B9 BB B8 B2 A7 A1 9D A3 AA B1 - .byte $B5, $B9, $BA, $B7, $B1, $A6, $A0, $9E, $A5, $AB, $B2, $B6, $BA, $BA, $B8, $B0 ; CPU:$83C0 PRG:03C0 B5 B9 BA B7 B1 A6 A0 9E A5 AB B2 B6 BA BA B8 B0 - .byte $A5, $9F, $9F, $A5, $AC, $B2, $B7, $BB, $BA, $B7, $AF, $A4, $9F, $9F, $A5, $AD ; CPU:$83D0 PRG:03D0 A5 9F 9F A5 AC B2 B7 BB BA B7 AF A4 9F 9F A5 AD - .byte $B2, $B7, $BA, $BA, $B6, $AE, $A3, $9F, $A1, $A6, $AD, $B2, $B7, $BA, $BA, $B6 ; CPU:$83E0 PRG:03E0 B2 B7 BA BA B6 AE A3 9F A1 A6 AD B2 B7 BA BA B6 - .byte $AE, $A3, $9F, $A0, $A5, $AD, $B2, $B7, $BA, $BB, $B6, $AE, $A4, $9F, $A0, $A6 ; CPU:$83F0 PRG:03F0 AE A3 9F A0 A5 AD B2 B7 BA BB B6 AE A4 9F A0 A6 - .byte $AD, $B2, $B7, $BA, $B9, $B6, $AF, $A4, $A0, $9F, $A5, $AB, $B1, $B6, $B9, $B9 ; CPU:$8400 PRG:0400 AD B2 B7 BA B9 B6 AF A4 A0 9F A5 AB B1 B6 B9 B9 - .byte $B6, $B0, $A6, $A1, $9F, $A4, $AB, $B0, $B5, $B9, $B8, $B7, $B2, $A9, $A1, $A0 ; CPU:$8410 PRG:0410 B6 B0 A6 A1 9F A4 AB B0 B5 B9 B8 B7 B2 A9 A1 A0 - .byte $A3, $A8, $AF, $B4, $B7, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB ; CPU:$8420 PRG:0420 A3 A8 AF B4 B7 AB AB AB AB AB AB AB AB AB AB AB - .byte $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB ; CPU:$8430 PRG:0430 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB - .byte $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB ; CPU:$8440 PRG:0440 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB - .byte $AB, $AB, $AB, $AB, $AB, $AF, $AE, $AD, $AB, $AB, $AA, $A9, $AB, $AB, $AF, $AB ; CPU:$8450 PRG:0450 AB AB AB AB AB AF AE AD AB AB AA A9 AB AB AF AB - .byte $AC, $A9, $A9, $A7, $A7, $AE, $AB, $AF, $AE, $B0, $AD, $AB, $A5, $A7, $A6, $AD ; CPU:$8460 PRG:0460 AC A9 A9 A7 A7 AE AB AF AE B0 AD AB A5 A7 A6 AD - .byte $AE, $AD, $A9, $AA, $A8, $AC, $AF, $AB, $B0, $A6, $AC, $A6, $A8, $A9, $A8, $AD ; CPU:$8470 PRG:0470 AE AD A9 AA A8 AC AF AB B0 A6 AC A6 A8 A9 A8 AD - .byte $A9, $A8, $AC, $AC, $AC, $AE, $AA, $AA, $AC, $A8, $AB, $A4, $A9, $AA, $A8, $AA ; CPU:$8480 PRG:0480 A9 A8 AC AC AC AE AA AA AC A8 AB A4 A9 AA A8 AA - .byte $A9, $AC, $AD, $B3, $AD, $A7, $AA, $AA, $AB, $AB, $AC, $A9, $A7, $A5, $AC, $AC ; CPU:$8490 PRG:0490 A9 AC AD B3 AD A7 AA AA AB AB AC A9 A7 A5 AC AC - .byte $B0, $AD, $B0, $AF, $AD, $A9, $B1, $AA, $AA, $B0, $AA, $AD, $A5, $9D, $99, $9F ; CPU:$84A0 PRG:04A0 B0 AD B0 AF AD A9 B1 AA AA B0 AA AD A5 9D 99 9F - .byte $A3, $B1, $BA, $BE, $C6, $BF, $B4, $A8, $94, $90, $7C, $9A, $9B, $B3, $C8, $CF ; CPU:$84B0 PRG:04B0 A3 B1 BA BE C6 BF B4 A8 94 90 7C 9A 9B B3 C8 CF - .byte $DD, $D5, $C1, $AB, $97, $82, $74, $6A, $91, $A1, $BF, $E6, $E6, $F0, $DB, $BE ; CPU:$84C0 PRG:04C0 DD D5 C1 AB 97 82 74 6A 91 A1 BF E6 E6 F0 DB BE - .byte $95, $79, $62, $50, $71, $94, $B8, $E8, $FF, $FF, $F7, $CC, $8D, $6A, $4F, $32 ; CPU:$84D0 PRG:04D0 95 79 62 50 71 94 B8 E8 FF FF F7 CC 8D 6A 4F 32 - .byte $5E, $92, $B9, $F0, $FF, $FF, $FF, $D5, $97, $68, $52, $2A, $3D, $8D, $B5, $EA ; CPU:$84E0 PRG:04E0 5E 92 B9 F0 FF FF FF D5 97 68 52 2A 3D 8D B5 EA - .byte $FF, $FF, $FF, $E3, $87, $78, $53, $3B, $21, $93, $AC, $EB, $FF, $FF, $F5, $E1 ; CPU:$84F0 PRG:04F0 FF FF FF E3 87 78 53 3B 21 93 AC EB FF FF F5 E1 - .byte $8D, $75, $58, $36, $14, $98, $B6, $F4, $FF, $FF, $EB, $D5, $7D, $65, $50, $24 ; CPU:$8500 PRG:0500 8D 75 58 36 14 98 B6 F4 FF FF EB D5 7D 65 50 24 - .byte $49, $A4, $CB, $FF, $FF, $FF, $DC, $C8, $75, $51, $3B, $06, $80, $D0, $F9, $FF ; CPU:$8510 PRG:0510 49 A4 CB FF FF FF DC C8 75 51 3B 06 80 D0 F9 FF - .byte $FF, $DA, $B6, $80, $50, $44, $26, $71, $B3, $F4, $FF, $FF, $ED, $BB, $91, $66 ; CPU:$8520 PRG:0520 FF DA B6 80 50 44 26 71 B3 F4 FF FF ED BB 91 66 - .byte $3D, $22, $6C, $A2, $EC, $FF, $FF, $F0, $C6, $8E, $5D, $40, $1C, $75, $AB, $EC ; CPU:$8530 PRG:0530 3D 22 6C A2 EC FF FF F0 C6 8E 5D 40 1C 75 AB EC - .byte $FF, $FF, $ED, $C1, $8D, $4B, $39, $16, $7D, $BB, $F5, $FF, $FF, $EB, $B9, $85 ; CPU:$8540 PRG:0540 FF FF ED C1 8D 4B 39 16 7D BB F5 FF FF EB B9 85 - .byte $45, $22, $2E, $8A, $C2, $FE, $FF, $FF, $E8, $BA, $7D, $3E, $19, $45, $8F, $D0 ; CPU:$8550 PRG:0550 45 22 2E 8A C2 FE FF FF E8 BA 7D 3E 19 45 8F D0 - .byte $FF, $FF, $FF, $DD, $B0, $6D, $3A, $11, $59, $9B, $DC, $FF, $FF, $FF, $CF, $A2 ; CPU:$8560 PRG:0560 FF FF FF DD B0 6D 3A 11 59 9B DC FF FF FF CF A2 - .byte $5A, $22, $28, $72, $AD, $E8, $FF, $FF, $FA, $CE, $8F, $4C, $1A, $46, $7E, $C0 ; CPU:$8570 PRG:0570 5A 22 28 72 AD E8 FF FF FA CE 8F 4C 1A 46 7E C0 - .byte $F9, $FF, $FF, $E7, $B8, $67, $2F, $24, $5D, $9C, $D7, $FF, $FF, $FF, $DF, $97 ; CPU:$8580 PRG:0580 F9 FF FF E7 B8 67 2F 24 5D 9C D7 FF FF FF DF 97 - .byte $55, $1A, $36, $71, $BA, $F1, $FF, $FF, $FD, $C1, $6F, $2B, $1C, $46, $94, $D0 ; CPU:$8590 PRG:0590 55 1A 36 71 BA F1 FF FF FD C1 6F 2B 1C 46 94 D0 - .byte $FF, $FF, $FF, $E5, $99, $51, $19, $2C, $67, $B0, $F0, $FF, $FF, $FF, $C1, $77 ; CPU:$85A0 PRG:05A0 FF FF FF E5 99 51 19 2C 67 B0 F0 FF FF FF C1 77 - .byte $2F, $1F, $41, $8E, $D0, $FF, $FF, $FF, $E2, $8F, $4D, $2B, $37, $76, $B9, $F4 ; CPU:$85B0 PRG:05B0 2F 1F 41 8E D0 FF FF FF E2 8F 4D 2B 37 76 B9 F4 - .byte $FF, $FF, $F0, $9B, $5F, $39, $3C, $69, $AE, $E5, $FF, $FF, $F3, $A2, $65, $49 ; CPU:$85C0 PRG:05C0 FF FF F0 9B 5F 39 3C 69 AE E5 FF FF F3 A2 65 49 - .byte $43, $69, $AA, $DF, $FC, $FF, $F6, $A2, $65, $4C, $4A, $69, $A8, $DF, $FB, $FF ; CPU:$85D0 PRG:05D0 43 69 AA DF FC FF F6 A2 65 4C 4A 69 A8 DF FB FF - .byte $F2, $A2, $66, $4B, $4E, $71, $AA, $DF, $FC, $FF, $E9, $99, $60, $4F, $53, $7C ; CPU:$85E0 PRG:05E0 F2 A2 66 4B 4E 71 AA DF FC FF E9 99 60 4F 53 7C - .byte $B4, $E1, $FF, $FF, $D6, $8D, $5A, $58, $61, $8D, $C4, $E8, $FF, $F9, $BB, $73 ; CPU:$85F0 PRG:05F0 B4 E1 FF FF D6 8D 5A 58 61 8D C4 E8 FF F9 BB 73 - .byte $52, $61, $75, $A9, $DD, $F0, $FF, $E2, $95, $58, $4A, $65, $8C, $C6, $F3, $FF ; CPU:$8600 PRG:0600 52 61 75 A9 DD F0 FF E2 95 58 4A 65 8C C6 F3 FF - .byte $FF, $C6, $76, $41, $4B, $6E, $A6, $E1, $FF, $FF, $ED, $9D, $56, $3D, $54, $84 ; CPU:$8610 PRG:0610 FF C6 76 41 4B 6E A6 E1 FF FF ED 9D 56 3D 54 84 - .byte $C7, $FB, $FF, $FF, $C6, $70, $38, $45, $66, $A7, $EB, $FF, $FF, $E8, $93, $45 ; CPU:$8620 PRG:0620 C7 FB FF FF C6 70 38 45 66 A7 EB FF FF E8 93 45 - .byte $2D, $4D, $8A, $CF, $FF, $FF, $FF, $B9, $65, $31, $3F, $6C, $B6, $F4, $FF, $FF ; CPU:$8630 PRG:0630 2D 4D 8A CF FF FF FF B9 65 31 3F 6C B6 F4 FF FF - .byte $D8, $7F, $3B, $37, $5C, $A2, $E8, $FF, $FF, $ED, $95, $44, $2F, $4D, $88, $D3 ; CPU:$8640 PRG:0640 D8 7F 3B 37 5C A2 E8 FF FF ED 95 44 2F 4D 88 D3 - .byte $FF, $FF, $FE, $AD, $57, $33, $47, $7C, $C2, $F9, $FF, $FF, $BF, $69, $3D, $49 ; CPU:$8650 PRG:0650 FF FF FE AD 57 33 47 7C C2 F9 FF FF BF 69 3D 49 - .byte $77, $B8, $F0, $FF, $FF, $C4, $76, $43, $4D, $78, $B4, $EC, $FF, $FF, $C5, $78 ; CPU:$8660 PRG:0660 77 B8 F0 FF FF C4 76 43 4D 78 B4 EC FF FF C5 78 - .byte $45, $4D, $76, $B3, $EB, $FF, $FF, $C8, $7C, $41, $4C, $74, $AF, $E9, $FF, $FF ; CPU:$8670 PRG:0670 45 4D 76 B3 EB FF FF C8 7C 41 4C 74 AF E9 FF FF - .byte $CD, $85, $43, $4B, $6E, $A9, $E3, $FF, $FF, $D1, $8A, $49, $50, $71, $A6, $DE ; CPU:$8680 PRG:0680 CD 85 43 4B 6E A9 E3 FF FF D1 8A 49 50 71 A6 DE - .byte $FE, $FF, $D4, $90, $50, $56, $77, $A9, $D8, $F9, $F9, $CB, $8E, $56, $5E, $7F ; CPU:$8690 PRG:0690 FE FF D4 90 50 56 77 A9 D8 F9 F9 CB 8E 56 5E 7F - .byte $AE, $DA, $F4, $F1, $C3, $85, $57, $64, $89, $B6, $E1, $F3, $E7, $B8, $7E, $58 ; CPU:$86A0 PRG:06A0 AE DA F4 F1 C3 85 57 64 89 B6 E1 F3 E7 B8 7E 58 - .byte $66, $90, $C0, $E6, $F2, $E3, $B1, $75, $58, $6A, $95, $C4, $E8, $F2, $DC, $A6 ; CPU:$86B0 PRG:06B0 66 90 C0 E6 F2 E3 B1 75 58 6A 95 C4 E8 F2 DC A6 - .byte $6C, $57, $6D, $9D, $CB, $EA, $F0, $D3, $9B, $65, $54, $74, $A6, $D1, $ED, $F0 ; CPU:$86C0 PRG:06C0 6C 57 6D 9D CB EA F0 D3 9B 65 54 74 A6 D1 ED F0 - .byte $CA, $8F, $5C, $57, $7D, $AE, $D6, $F0, $EB, $C0, $8A, $57, $60, $86, $B5, $DB ; CPU:$86D0 PRG:06D0 CA 8F 5C 57 7D AE D6 F0 EB C0 8A 57 60 86 B5 DB - .byte $F0, $E7, $B7, $84, $59, $6A, $91, $BB, $E1, $F0, $DF, $B0, $7E, $5D, $6F, $99 ; CPU:$86E0 PRG:06E0 F0 E7 B7 84 59 6A 91 BB E1 F0 DF B0 7E 5D 6F 99 - .byte $C2, $E2, $EB, $D8, $A8, $74, $5D, $75, $A0, $C6, $E1, $E8, $CE, $9C, $6E, $5D ; CPU:$86F0 PRG:06F0 C2 E2 EB D8 A8 74 5D 75 A0 C6 E1 E8 CE 9C 6E 5D - .byte $7A, $A7, $CB, $E3, $E6, $C6, $93, $67, $5D, $80, $B0, $D0, $E5, $E3, $BF, $8C ; CPU:$8700 PRG:0700 7A A7 CB E3 E6 C6 93 67 5D 80 B0 D0 E5 E3 BF 8C - .byte $61, $5F, $85, $B4, $D4, $E8, $E2, $BB, $8B, $5F, $63, $8B, $B7, $D6, $E8, $DF ; CPU:$8710 PRG:0710 61 5F 85 B4 D4 E8 E2 BB 8B 5F 63 8B B7 D6 E8 DF - .byte $B9, $8C, $5F, $6C, $93, $BB, $D8, $E6, $DA, $B4, $89, $61, $73, $9A, $BE, $DA ; CPU:$8720 PRG:0720 B9 8C 5F 6C 93 BB D8 E6 DA B4 89 61 73 9A BE DA - .byte $E5, $D6, $AF, $83, $61, $74, $9E, $C1, $DC, $E4, $D4, $AB, $82, $63, $76, $9E ; CPU:$8730 PRG:0730 E5 D6 AF 83 61 74 9E C1 DC E4 D4 AB 82 63 76 9E - .byte $C2, $DC, $E2, $D2, $AB, $7F, $63, $77, $9F, $C1, $DB, $E2, $CF, $A8, $7F, $64 ; CPU:$8740 PRG:0740 C2 DC E2 D2 AB 7F 63 77 9F C1 DB E2 CF A8 7F 64 - .byte $77, $9F, $C0, $DA, $E0, $CF, $A9, $80, $66, $78, $9E, $BF, $D9, $DF, $CF, $AB ; CPU:$8750 PRG:0750 77 9F C0 DA E0 CF A9 80 66 78 9E BF D9 DF CF AB - .byte $84, $67, $79, $9E, $BE, $D8, $E0, $D1, $AE, $87, $68, $78, $9A, $BB, $D5, $E0 ; CPU:$8760 PRG:0760 84 67 79 9E BE D8 E0 D1 AE 87 68 78 9A BB D5 E0 - .byte $D0, $B2, $8D, $6B, $72, $95, $B6, $CF, $DF, $D4, $B8, $94, $72, $6B, $8C, $AF ; CPU:$8770 PRG:0770 D0 B2 8D 6B 72 95 B6 CF DF D4 B8 94 72 6B 8C AF - .byte $C7, $DA, $D6, $BD, $9B, $7B, $6A, $83, $A8, $C2, $D5, $D6, $C4, $A2, $86, $6C ; CPU:$8780 PRG:0780 C7 DA D6 BD 9B 7B 6A 83 A8 C2 D5 D6 C4 A2 86 6C - .byte $7D, $A0, $BC, $D2, $D9, $CC, $AF, $90, $6D, $74, $95, $B4, $CC, $D9, $D3, $BD ; CPU:$8790 PRG:0790 7D A0 BC D2 D9 CC AF 90 6D 74 95 B4 CC D9 D3 BD - .byte $9E, $7B, $69, $83, $A7, $C0, $D2, $D6, $C6, $AB, $8D, $6D, $78, $9A, $B6, $CD ; CPU:$87A0 PRG:07A0 9E 7B 69 83 A7 C0 D2 D6 C6 AB 8D 6D 78 9A B6 CD - .byte $D7, $D1, $BC, $9D, $79, $69, $84, $A7, $BE, $D1, $D9, $C8, $AD, $91, $6E, $76 ; CPU:$87B0 PRG:07B0 D7 D1 BC 9D 79 69 84 A7 BE D1 D9 C8 AD 91 6E 76 - .byte $97, $B3, $C9, $D9, $D4, $C0, $A5, $83, $6A, $7B, $A0, $B9, $CD, $DA, $CF, $B5 ; CPU:$87C0 PRG:07C0 97 B3 C9 D9 D4 C0 A5 83 6A 7B A0 B9 CD DA CF B5 - .byte $99, $77, $67, $85, $A9, $C2, $D4, $DA, $C6, $AD, $91, $6C, $70, $92, $B4, $CA ; CPU:$87D0 PRG:07D0 99 77 67 85 A9 C2 D4 DA C6 AD 91 6C 70 92 B4 CA - .byte $D7, $D5, $BF, $A6, $8B, $6C, $77, $9D, $BA, $CC, $D6, $CF, $BA, $A1, $89, $71 ; CPU:$87E0 PRG:07E0 D7 D5 BF A6 8B 6C 77 9D BA CC D6 CF BA A1 89 71 - .byte $7F, $A2, $BC, $CA, $D2, $C9, $B6, $9F, $8B, $77, $85, $A2, $BB, $C6, $CD, $C5 ; CPU:$87F0 PRG:07F0 7F A2 BC CA D2 C9 B6 9F 8B 77 85 A2 BB C6 CD C5 - .byte $C7, $C9, $CB, $CD, $CF, $A6, $A6, $D2, $FF, $DE, $E2, $CD, $94, $93, $77, $7F ; CPU:$8800 PRG:0800 C7 C9 CB CD CF A6 A6 D2 FF DE E2 CD 94 93 77 7F - .byte $86, $60, $7F, $99, $AE, $E2, $FF, $E2, $D6, $CF, $86, $8A, $7A, $75, $7C, $51 ; CPU:$8810 PRG:0810 86 60 7F 99 AE E2 FF E2 D6 CF 86 8A 7A 75 7C 51 - .byte $A8, $A8, $C4, $F1, $E7, $D2, $D6, $AB, $91, $84, $75, $6C, $4E, $9C, $AA, $BA ; CPU:$8820 PRG:0820 A8 A8 C4 F1 E7 D2 D6 AB 91 84 75 6C 4E 9C AA BA - .byte $F2, $EC, $D1, $DD, $B6, $95, $85, $6F, $64, $4D, $9D, $A7, $B8, $EA, $F2, $D1 ; CPU:$8830 PRG:0830 F2 EC D1 DD B6 95 85 6F 64 4D 9D A7 B8 EA F2 D1 - .byte $DF, $BA, $8A, $86, $6E, $63, $43, $AD, $9D, $C4, $F1, $EB, $CE, $DB, $B7, $8B ; CPU:$8840 PRG:0840 DF BA 8A 86 6E 63 43 AD 9D C4 F1 EB CE DB B7 8B - .byte $8B, $6A, $58, $4E, $AC, $91, $E1, $F8, $E5, $C7, $DE, $9C, $95, $82, $68, $48 ; CPU:$8850 PRG:0850 8B 6A 58 4E AC 91 E1 F8 E5 C7 DE 9C 95 82 68 48 - .byte $84, $A1, $9C, $EA, $E9, $D6, $D6, $D1, $91, $98, $70, $65, $46, $AF, $86, $C9 ; CPU:$8860 PRG:0860 84 A1 9C EA E9 D6 D6 D1 91 98 70 65 46 AF 86 C9 - .byte $E1, $E3, $C4, $E3, $B3, $A2, $88, $74, $5B, $7D, $A6, $88, $D9, $C8, $D2, $CC ; CPU:$8870 PRG:0870 E1 E3 C4 E3 B3 A2 88 74 5B 7D A6 88 D9 C8 D2 CC - .byte $D9, $A6, $A2, $7C, $77, $5E, $B0, $81, $BC, $CF, $C3, $C8, $D3, $B9, $A3, $8E ; CPU:$8880 PRG:0880 D9 A6 A2 7C 77 5E B0 81 BC CF C3 C8 D3 B9 A3 8E - .byte $83, $67, $9B, $A0, $97, $D4, $B8, $C5, $C8, $CC, $A0, $99, $85, $6D, $8E, $A3 ; CPU:$8890 PRG:0890 83 67 9B A0 97 D4 B8 C5 C8 CC A0 99 85 6D 8E A3 - .byte $91, $CC, $BF, $C3, $CB, $CE, $A7, $94, $86, $65, $8B, $A3, $91, $CF, $BE, $C4 ; CPU:$88A0 PRG:08A0 91 CC BF C3 CB CE A7 94 86 65 8B A3 91 CF BE C4 - .byte $D1, $CE, $A6, $9D, $77, $5F, $94, $94, $9C, $D8, $B8, $D0, $D2, $C7, $A2, $99 ; CPU:$88B0 PRG:08B0 D1 CE A6 9D 77 5F 94 94 9C D8 B8 D0 D2 C7 A2 99 - .byte $68, $71, $9C, $81, $BF, $C6, $BE, $D3, $CC, $B6, $A3, $7F, $5E, $99, $82, $AA ; CPU:$88C0 PRG:08C0 68 71 9C 81 BF C6 BE D3 CC B6 A3 7F 5E 99 82 AA - .byte $D5, $B6, $D6, $D1, $BA, $AC, $89, $55, $90, $87, $95, $E1, $BC, $D5, $D7, $B5 ; CPU:$88D0 PRG:08D0 D5 B6 D6 D1 BA AC 89 55 90 87 95 E1 BC D5 D7 B5 - .byte $A0, $87, $41, $94, $7F, $A6, $EC, $C8, $DC, $E1, $9B, $9F, $67, $3B, $AB, $74 ; CPU:$88E0 PRG:08E0 A0 87 41 94 7F A6 EC C8 DC E1 9B 9F 67 3B AB 74 - .byte $D5, $F1, $D2, $E1, $CC, $79, $8A, $21, $83, $91, $AE, $FF, $E7, $DF, $F0, $79 ; CPU:$88F0 PRG:08F0 D5 F1 D2 E1 CC 79 8A 21 83 91 AE FF E7 DF F0 79 - .byte $8A, $35, $3F, $A3, $92, $FF, $FF, $DF, $F5, $98, $7B, $50, $1F, $A5, $81, $FF ; CPU:$8900 PRG:0900 8A 35 3F A3 92 FF FF DF F5 98 7B 50 1F A5 81 FF - .byte $FF, $E7, $EB, $9E, $76, $57, $18, $A8, $7E, $FF, $FA, $E9, $E2, $97, $6B, $47 ; CPU:$8910 PRG:0910 FF E7 EB 9E 76 57 18 A8 7E FF FA E9 E2 97 6B 47 - .byte $39, $A7, $9E, $FF, $F8, $F1, $DB, $80, $72, $13, $76, $90, $D8, $FF, $F9, $E1 ; CPU:$8920 PRG:0920 39 A7 9E FF F8 F1 DB 80 72 13 76 90 D8 FF F9 E1 - .byte $BA, $61, $62, $09, $A8, $73, $FF, $EF, $FC, $C9, $8A, $5F, $22, $6D, $AF, $CD ; CPU:$8930 PRG:0930 BA 61 62 09 A8 73 FF EF FC C9 8A 5F 22 6D AF CD - .byte $FF, $DD, $EB, $8F, $62, $45, $28, $B1, $A1, $FF, $F6, $F8, $B0, $65, $4C, $03 ; CPU:$8940 PRG:0940 FF DD EB 8F 62 45 28 B1 A1 FF F6 F8 B0 65 4C 03 - .byte $9E, $9C, $FF, $FF, $F2, $D4, $53, $46, $00, $93, $A3, $FF, $FF, $FF, $F4, $67 ; CPU:$8950 PRG:0950 9E 9C FF FF F2 D4 53 46 00 93 A3 FF FF FF F4 67 - .byte $56, $00, $96, $9F, $FF, $FF, $FF, $F1, $76, $59, $00, $9E, $9C, $FF, $FF, $FF ; CPU:$8960 PRG:0960 56 00 96 9F FF FF FF F1 76 59 00 9E 9C FF FF FF - .byte $E9, $6A, $4A, $17, $90, $B9, $FF, $FF, $FF, $D8, $5F, $2F, $3C, $7E, $F0, $FF ; CPU:$8970 PRG:0970 E9 6A 4A 17 90 B9 FF FF FF D8 5F 2F 3C 7E F0 FF - .byte $FF, $FF, $A7, $58, $04, $7E, $96, $FF, $FF, $FF, $CE, $67, $2D, $46, $7D, $FF ; CPU:$8980 PRG:0980 FF FF A7 58 04 7E 96 FF FF FF CE 67 2D 46 7D FF - .byte $FF, $FF, $F7, $90, $35, $05, $69, $AF, $FF, $FF, $FF, $B3, $53, $00, $6B, $87 ; CPU:$8990 PRG:0990 FF FF F7 90 35 05 69 AF FF FF FF B3 53 00 6B 87 - .byte $FF, $FF, $FF, $BE, $69, $00, $5A, $71, $FF, $FF, $FF, $CB, $7F, $00, $5D, $69 ; CPU:$89A0 PRG:09A0 FF FF FF BE 69 00 5A 71 FF FF FF CB 7F 00 5D 69 - .byte $FF, $FF, $FF, $D0, $92, $00, $6A, $66, $FF, $FF, $FF, $C7, $9C, $00, $74, $73 ; CPU:$89B0 PRG:09B0 FF FF FF D0 92 00 6A 66 FF FF FF C7 9C 00 74 73 - .byte $FF, $FF, $FF, $B6, $8E, $00, $63, $9D, $FF, $FF, $FF, $91, $4E, $26, $5B, $FF ; CPU:$89C0 PRG:09C0 FF FF FF B6 8E 00 63 9D FF FF FF 91 4E 26 5B FF - .byte $FF, $FF, $EF, $77, $00, $60, $79, $FF, $FF, $FF, $AC, $4F, $0C, $53, $DE, $FF ; CPU:$89D0 PRG:09D0 FF FF EF 77 00 60 79 FF FF FF AC 4F 0C 53 DE FF - .byte $FF, $FA, $76, $00, $47, $7C, $FF, $FF, $FF, $9B, $34, $10, $43, $FC, $FF, $FF ; CPU:$89E0 PRG:09E0 FF FA 76 00 47 7C FF FF FF 9B 34 10 43 FC FF FF - .byte $DA, $5A, $00, $3E, $A0, $FF, $FF, $FF, $7F, $00, $2B, $62, $FF, $FF, $FF, $A8 ; CPU:$89F0 PRG:09F0 DA 5A 00 3E A0 FF FF FF 7F 00 2B 62 FF FF FF A8 - .byte $2A, $0C, $2D, $FF, $FF, $FF, $D1, $59, $05, $23, $BA, $FF, $FF, $FF, $7F, $08 ; CPU:$8A00 PRG:0A00 2A 0C 2D FF FF FF D1 59 05 23 BA FF FF FF 7F 08 - .byte $30, $8A, $FF, $FF, $FF, $8F, $13, $41, $72, $FF, $FF, $FF, $91, $1F, $50, $70 ; CPU:$8A10 PRG:0A10 30 8A FF FF FF 8F 13 41 72 FF FF FF 91 1F 50 70 - .byte $FF, $FF, $FF, $8E, $23, $5B, $74, $FF, $FF, $FF, $87, $2A, $58, $7E, $FF, $FF ; CPU:$8A20 PRG:0A20 FF FF FF 8E 23 5B 74 FF FF FF 87 2A 58 7E FF FF - .byte $FF, $83, $36, $5C, $8F, $FF, $FF, $FF, $78, $4D, $59, $AA, $FF, $FF, $EB, $69 ; CPU:$8A30 PRG:0A30 FF 83 36 5C 8F FF FF FF 78 4D 59 AA FF FF EB 69 - .byte $5E, $5A, $CD, $FF, $FF, $CB, $4A, $5E, $5C, $F6, $FE, $FF, $AB, $2F, $6F, $72 ; CPU:$8A40 PRG:0A40 5E 5A CD FF FF CB 4A 5E 5C F6 FE FF AB 2F 6F 72 - .byte $FF, $FF, $FF, $8F, $1B, $8A, $8F, $FF, $F8, $E6, $73, $40, $81, $B6, $FF, $F2 ; CPU:$8A50 PRG:0A50 FF FF FF 8F 1B 8A 8F FF F8 E6 73 40 81 B6 FF F2 - .byte $C3, $55, $5F, $71, $F0, $FE, $FF, $A1, $32, $86, $83, $FF, $EE, $E0, $85, $35 ; CPU:$8A60 PRG:0A60 C3 55 5F 71 F0 FE FF A1 32 86 83 FF EE E0 85 35 - .byte $A3, $AE, $FE, $D9, $B7, $62, $7A, $90, $F1, $EF, $DE, $88, $33, $9D, $A7, $FF ; CPU:$8A70 PRG:0A70 A3 AE FE D9 B7 62 7A 90 F1 EF DE 88 33 9D A7 FF - .byte $E8, $C6, $67, $33, $AB, $CC, $FF, $E2, $A0, $4C, $76, $91, $FF, $EC, $E0, $81 ; CPU:$8A80 PRG:0A80 E8 C6 67 33 AB CC FF E2 A0 4C 76 91 FF EC E0 81 - .byte $2D, $AA, $B3, $FF, $DB, $B7, $65, $58, $AE, $E1, $F6, $D1, $90, $3B, $89, $A0 ; CPU:$8A90 PRG:0A90 2D AA B3 FF DB B7 65 58 AE E1 F6 D1 90 3B 89 A0 - .byte $FF, $E6, $C6, $74, $1B, $C3, $C4, $FF, $D9, $A3, $56, $72, $A8, $FD, $F3, $D1 ; CPU:$8AA0 PRG:0AA0 FF E6 C6 74 1B C3 C4 FF D9 A3 56 72 A8 FD F3 D1 - .byte $8D, $2D, $9C, $A1, $FF, $DD, $BF, $79, $28, $C6, $C0, $FE, $CA, $AB, $59, $8C ; CPU:$8AB0 PRG:0AB0 8D 2D 9C A1 FF DD BF 79 28 C6 C0 FE CA AB 59 8C - .byte $A2, $F9, $E1, $BF, $93, $32, $BC, $A8, $FF, $CC, $AE, $75, $3D, $D0, $C4, $F9 ; CPU:$8AC0 PRG:0AC0 A2 F9 E1 BF 93 32 BC A8 FF CC AE 75 3D D0 C4 F9 - .byte $BA, $A5, $53, $96, $A8, $F6, $E2, $B9, $9A, $30, $C6, $A0, $FF, $C6, $AF, $7D ; CPU:$8AD0 PRG:0AD0 BA A5 53 96 A8 F6 E2 B9 9A 30 C6 A0 FF C6 AF 7D - .byte $3F, $DC, $BC, $FC, $AC, $B1, $55, $99, $B0, $E9, $E5, $AF, $A3, $33, $BF, $9B ; CPU:$8AE0 PRG:0AE0 3F DC BC FC AC B1 55 99 B0 E9 E5 AF A3 33 BF 9B - .byte $FF, $CB, $B5, $7F, $36, $D9, $B5, $FF, $B1, $BB, $58, $89, $B0, $E0, $EF, $AE ; CPU:$8AF0 PRG:0AF0 FF CB B5 7F 36 D9 B5 FF B1 BB 58 89 B0 E0 EF AE - .byte $AE, $39, $B5, $92, $FF, $CD, $BE, $88, $36, $D1, $A9, $FF, $B1, $C3, $5F, $7E ; CPU:$8B00 PRG:0B00 AE 39 B5 92 FF CD BE 88 36 D1 A9 FF B1 C3 5F 7E - .byte $B4, $D1, $EE, $AE, $B7, $45, $AF, $8B, $FF, $CA, $C3, $8D, $3F, $C8, $9E, $FF ; CPU:$8B10 PRG:0B10 B4 D1 EE AE B7 45 AF 8B FF CA C3 8D 3F C8 9E FF - .byte $B3, $C7, $68, $66, $BB, $C1, $F6, $AD, $C0, $51, $A1, $90, $F2, $D5, $C8, $9E ; CPU:$8B20 PRG:0B20 B3 C7 68 66 BB C1 F6 AD C0 51 A1 90 F2 D5 C8 9E - .byte $4C, $B0, $8C, $FF, $BD, $D6, $7A, $54, $B5, $AC, $FF, $B7, $CD, $68, $77, $A7 ; CPU:$8B30 PRG:0B30 4C B0 8C FF BD D6 7A 54 B5 AC FF B7 CD 68 77 A7 - .byte $CC, $E7, $C1, $BA, $61, $96, $8D, $E6, $D2, $D4, $A3, $62, $9B, $86, $F7, $C8 ; CPU:$8B40 PRG:0B40 CC E7 C1 BA 61 96 8D E6 D2 D4 A3 62 9B 86 F7 C8 - .byte $DE, $8C, $5E, $9F, $97, $FE, $C6, $D7, $81, $5F, $A1, $A8, $F9, $C8, $CF, $82 ; CPU:$8B50 PRG:0B50 DE 8C 5E 9F 97 FE C6 D7 81 5F A1 A8 F9 C8 CF 82 - .byte $60, $9F, $B3, $EA, $CE, $C4, $81, $6B, $9C, $BD, $E3, $D1, $BD, $7D, $75, $91 ; CPU:$8B60 PRG:0B60 60 9F B3 EA CE C4 81 6B 9C BD E3 D1 BD 7D 75 91 - .byte $C7, $DD, $D9, $BA, $79, $77, $8B, $CD, $DC, $DD, $BA, $77, $76, $86, $CF, $DC ; CPU:$8B70 PRG:0B70 C7 DD D9 BA 79 77 8B CD DC DD BA 77 76 86 CF DC - .byte $E2, $B8, $78, $72, $87, $CD, $DC, $E4, $BA, $7B, $6D, $8A, $C7, $E1, $E2, $BC ; CPU:$8B80 PRG:0B80 E2 B8 78 72 87 CD DC E4 BA 7B 6D 8A C7 E1 E2 BC - .byte $7E, $65, $8F, $C2, $E6, $E0, $BF, $84, $5A, $93, $B9, $EC, $DF, $C5, $88, $54 ; CPU:$8B90 PRG:0B90 7E 65 8F C2 E6 E0 BF 84 5A 93 B9 EC DF C5 88 54 - .byte $93, $B1, $F0, $DD, $CB, $8C, $54, $8E, $A6, $F4, $DB, $D5, $8F, $5D, $87, $99 ; CPU:$8BA0 PRG:0BA0 93 B1 F0 DD CB 8C 54 8E A6 F4 DB D5 8F 5D 87 99 - .byte $F3, $D9, $DF, $97, $65, $7F, $8E, $E8, $DA, $E4, $A3, $6E, $76, $8D, $D6, $E0 ; CPU:$8BB0 PRG:0BB0 F3 D9 DF 97 65 7F 8E E8 DA E4 A3 6E 76 8D D6 E0 - .byte $E2, $B3, $7D, $62, $97, $C1, $E4, $DD, $C1, $8A, $56, $96, $AB, $EF, $DD, $CD ; CPU:$8BC0 PRG:0BC0 E2 B3 7D 62 97 C1 E4 DD C1 8A 56 96 AB EF DD CD - .byte $91, $5E, $8A, $93, $F2, $DC, $E0, $9B, $69, $78, $8D, $DE, $E1, $E5, $AD, $7E ; CPU:$8BD0 PRG:0BD0 91 5E 8A 93 F2 DC E0 9B 69 78 8D DE E1 E5 AD 7E - .byte $59, $98, $C4, $EB, $E4, $BA, $8E, $54, $93, $A4, $F7, $E0, $CF, $99, $63, $7E ; CPU:$8BE0 PRG:0BE0 59 98 C4 EB E4 BA 8E 54 93 A4 F7 E0 CF 99 63 7E - .byte $97, $E3, $E3, $DA, $AB, $7B, $5B, $9F, $BE, $F1, $DD, $BA, $8D, $5C, $93, $9C ; CPU:$8BF0 PRG:0BF0 97 E3 E3 DA AB 7B 5B 9F BE F1 DD BA 8D 5C 93 9C - .byte $F4, $DC, $CC, $9F, $6B, $73, $A0, $D6, $E4, $D6, $B1, $85, $61, $99, $AC, $F2 ; CPU:$8C00 PRG:0C00 F4 DC CC 9F 6B 73 A0 D6 E4 D6 B1 85 61 99 AC F2 - .byte $D9, $C1, $99, $68, $83, $9E, $E0, $DC, $D0, $AB, $83, $61, $A0, $B7, $EC, $D7 ; CPU:$8C10 PRG:0C10 D9 C1 99 68 83 9E E0 DC D0 AB 83 61 A0 B7 EC D7 - .byte $BA, $98, $68, $8A, $9F, $E3, $DA, $CB, $AD, $7F, $67, $A1, $BB, $E9, $D6, $BA ; CPU:$8C20 PRG:0C20 BA 98 68 8A 9F E3 DA CB AD 7F 67 A1 BB E9 D6 BA - .byte $96, $6C, $8A, $A2, $E0, $DB, $CB, $AD, $82, $67, $A1, $B7, $EA, $D6, $BD, $97 ; CPU:$8C30 PRG:0C30 96 6C 8A A2 E0 DB CB AD 82 67 A1 B7 EA D6 BD 97 - .byte $6F, $85, $A2, $DA, $DE, $CB, $AF, $87, $66, $9F, $AF, $EA, $D7, $BF, $9B, $72 ; CPU:$8C40 PRG:0C40 6F 85 A2 DA DE CB AF 87 66 9F AF EA D7 BF 9B 72 - .byte $7C, $A5, $D4, $E2, $CE, $B1, $87, $67, $99, $AD, $E7, $DA, $C2, $9E, $77, $70 ; CPU:$8C50 PRG:0C50 7C A5 D4 E2 CE B1 87 67 99 AD E7 DA C2 9E 77 70 - .byte $A6, $CA, $E8, $D0, $B3, $8B, $69, $93, $AA, $E6, $DC, $C2, $A2, $7B, $6C, $A6 ; CPU:$8C60 PRG:0C60 A6 CA E8 D0 B3 8B 69 93 AA E6 DC C2 A2 7B 6C A6 - .byte $C4, $EB, $D0, $B6, $8D, $6E, $8C, $AB, $E0, $DE, $C4, $A6, $82, $6A, $A6, $BA ; CPU:$8C70 PRG:0C70 C4 EB D0 B6 8D 6E 8C AB E0 DE C4 A6 82 6A A6 BA - .byte $EA, $D1, $B9, $94, $75, $80, $AD, $D2, $E3, $C5, $AC, $87, $6C, $9E, $B1, $E7 ; CPU:$8C80 PRG:0C80 EA D1 B9 94 75 80 AD D2 E3 C5 AC 87 6C 9E B1 E7 - .byte $D3, $BD, $9B, $7E, $73, $AD, $C4, $E7, $C9, $B2, $8D, $75, $8C, $AF, $DA, $DC ; CPU:$8C90 PRG:0C90 D3 BD 9B 7E 73 AD C4 E7 C9 B2 8D 75 8C AF DA DC - .byte $BF, $A6, $86, $6F, $A6, $B4, $E7, $CE, $B8, $9A, $84, $75, $B2, $C1, $E4, $C5 ; CPU:$8CA0 PRG:0CA0 BF A6 86 6F A6 B4 E7 CE B8 9A 84 75 B2 C1 E4 C5 - .byte $B2, $90, $80, $87, $B4, $CF, $DB, $BE, $AC, $8B, $7F, $98, $B2, $D7, $D2, $B8 ; CPU:$8CB0 PRG:0CB0 B2 90 80 87 B4 CF DB BE AC 8B 7F 98 B2 D7 D2 B8 - .byte $A7, $8D, $7F, $A5, $B2, $D8, $CD, $B4, $A3, $8D, $7E, $A9, $B4, $D8, $C9, $B3 ; CPU:$8CC0 PRG:0CC0 A7 8D 7F A5 B2 D8 CD B4 A3 8D 7E A9 B4 D8 C9 B3 - .byte $9E, $91, $7D, $B0, $B2, $D9, $D9, $DA, $DB, $DC, $B0, $AE, $B0, $AF, $AE, $B0 ; CPU:$8CD0 PRG:0CD0 9E 91 7D B0 B2 D9 D9 DA DB DC B0 AE B0 AF AE B0 - .byte $B1, $B2, $B5, $B8, $B2, $AC, $A5, $A2, $A1, $AC, $B4, $BB, $BE, $BE, $BD, $AA ; CPU:$8CE0 PRG:0CE0 B1 B2 B5 B8 B2 AC A5 A2 A1 AC B4 BB BE BE BD AA - .byte $AA, $9B, $9B, $9E, $A8, $B8, $BC, $CB, $C3, $BE, $AB, $9B, $99, $91, $A5, $AC ; CPU:$8CF0 PRG:0CF0 AA 9B 9B 9E A8 B8 BC CB C3 BE AB 9B 99 91 A5 AC - .byte $BF, $C7, $CA, $CC, $B2, $AA, $94, $93, $92, $A3, $BA, $C2, $D4, $CA, $C7, $AF ; CPU:$8D00 PRG:0D00 BF C7 CA CC B2 AA 94 93 92 A3 BA C2 D4 CA C7 AF - .byte $9D, $93, $85, $99, $AD, $C5, $D2, $D0, $CE, $B4, $A1, $92, $8A, $92, $A4, $BE ; CPU:$8D10 PRG:0D10 9D 93 85 99 AD C5 D2 D0 CE B4 A1 92 8A 92 A4 BE - .byte $C6, $D2, $CF, $BF, $AE, $97, $91, $8C, $98, $B1, $C2, $D1, $CC, $C6, $B2, $9A ; CPU:$8D20 PRG:0D20 C6 D2 CF BF AE 97 91 8C 98 B1 C2 D1 CC C6 B2 9A - .byte $98, $91, $99, $A5, $BD, $C5, $C5, $C3, $B3, $A7, $A1, $A1, $9C, $9E, $B3, $BC ; CPU:$8D30 PRG:0D30 98 91 99 A5 BD C5 C5 C3 B3 A7 A1 A1 9C 9E B3 BC - .byte $BF, $BE, $B5, $A9, $AA, $B1, $A3, $9F, $A5, $B4, $BB, $BA, $B5, $AE, $B1, $B5 ; CPU:$8D40 PRG:0D40 BF BE B5 A9 AA B1 A3 9F A5 B4 BB BA B5 AE B1 B5 - .byte $B0, $A3, $9F, $A9, $B5, $B9, $B5, $B1, $B1, $B5, $B5, $AB, $9F, $A0, $AC, $B7 ; CPU:$8D50 PRG:0D50 B0 A3 9F A9 B5 B9 B5 B1 B1 B5 B5 AB 9F A0 AC B7 - .byte $B8, $B4, $B2, $B3, $B5, $B2, $A7, $9E, $A3, $B1, $B9, $B8, $B4, $B1, $B3, $B4 ; CPU:$8D60 PRG:0D60 B8 B4 B2 B3 B5 B2 A7 9E A3 B1 B9 B8 B4 B1 B3 B4 - .byte $B0, $A4, $9F, $A7, $B4, $B9, $B7, $B3, $B0, $B1, $B3, $B0, $A6, $A1, $A9, $B4 ; CPU:$8D70 PRG:0D70 B0 A4 9F A7 B4 B9 B7 B3 B0 B1 B3 B0 A6 A1 A9 B4 - .byte $B9, $B7, $B1, $AE, $B0, $B3, $B1, $A8, $A3, $A9, $B3, $B8, $B6, $B1, $AE, $B0 ; CPU:$8D80 PRG:0D80 B9 B7 B1 AE B0 B3 B1 A8 A3 A9 B3 B8 B6 B1 AE B0 - .byte $B4, $B5, $AB, $A5, $A7, $B0, $B6, $B6, $B1, $AF, $B1, $B5, $B6, $AE, $A7, $A6 ; CPU:$8D90 PRG:0D90 B4 B5 AB A5 A7 B0 B6 B6 B1 AF B1 B5 B6 AE A7 A6 - .byte $AE, $B4, $B6, $B1, $AF, $B1, $B4, $B6, $B1, $A9, $A6, $AB, $B2, $B5, $B3, $B1 ; CPU:$8DA0 PRG:0DA0 AE B4 B6 B1 AF B1 B4 B6 B1 A9 A6 AB B2 B5 B3 B1 - .byte $B2, $B4, $B5, $B3, $AB, $A5, $A5, $AD, $B2, $B2, $B0, $B2, $B3, $B5, $B8, $B4 ; CPU:$8DB0 PRG:0DB0 B2 B4 B5 B3 AB A5 A5 AD B2 B2 B0 B2 B3 B5 B8 B4 - .byte $AE, $AC, $B1, $B7, $B9, $B7, $B5, $B4, $B4, $B5, $B4, $AE, $A8, $A8, $AE, $B4 ; CPU:$8DC0 PRG:0DC0 AE AC B1 B7 B9 B7 B5 B4 B4 B5 B4 AE A8 A8 AE B4 - .byte $B5, $B2, $B1, $B1, $B1, $B3, $B1, $AA, $A6, $AA, $B2, $B6, $B4, $B1, $B0, $B1 ; CPU:$8DD0 PRG:0DD0 B5 B2 B1 B1 B1 B3 B1 AA A6 AA B2 B6 B4 B1 B0 B1 - .byte $B1, $B1, $AC, $A8, $A7, $AF, $B5, $B7, $B5, $B5, $B6, $B9, $BA, $B8, $B2, $AE ; CPU:$8DE0 PRG:0DE0 B1 B1 AC A8 A7 AF B5 B7 B5 B5 B6 B9 BA B8 B2 AE - .byte $B0, $B5, $B7, $B4, $B2, $B2, $B3, $B4, $B5, $B0, $AB, $AA, $AE, $B2, $B4, $B2 ; CPU:$8DF0 PRG:0DF0 B0 B5 B7 B4 B2 B2 B3 B4 B5 B0 AB AA AE B2 B4 B2 - .byte $B1, $B2, $B3, $B3, $B2, $AC, $A9, $AB, $B1, $B3, $B3, $B3, $B3, $B4, $B4, $B4 ; CPU:$8E00 PRG:0E00 B1 B2 B3 B3 B2 AC A9 AB B1 B3 B3 B3 B3 B4 B4 B4 - .byte $B0, $AC, $AB, $AF, $B3, $B4, $B3, $B3, $B3, $B4, $B4, $B4, $AE, $AC, $AD, $B2 ; CPU:$8E10 PRG:0E10 B0 AC AB AF B3 B4 B3 B3 B3 B4 B4 B4 AE AC AD B2 - .byte $B4, $B4, $B3, $B3, $B3, $B4, $B4, $AF, $AB, $AA, $AE, $B2, $B5, $B2, $B2, $B2 ; CPU:$8E20 PRG:0E20 B4 B4 B3 B3 B3 B4 B4 AF AB AA AE B2 B5 B2 B2 B2 - .byte $B3, $B4, $B1, $AC, $A7, $B3, $B4, $B1, $B0, $B4, $B1, $B0, $B6, $B1, $AB, $A8 ; CPU:$8E30 PRG:0E30 B3 B4 B1 AC A7 B3 B4 B1 B0 B4 B1 B0 B6 B1 AB A8 - .byte $AF, $B4, $B6, $B3, $B6, $B1, $B3, $B4, $AD, $A6, $AD, $B0, $B4, $B4, $B9, $B0 ; CPU:$8E40 PRG:0E40 AF B4 B6 B3 B6 B1 B3 B4 AD A6 AD B0 B4 B4 B9 B0 - .byte $AE, $B4, $AE, $A4, $A9, $B2, $B8, $BA, $B8, $AB, $B2, $B3, $AD, $A3, $AD, $B3 ; CPU:$8E50 PRG:0E50 AE B4 AE A4 A9 B2 B8 BA B8 AB B2 B3 AD A3 AD B3 - .byte $BC, $BD, $B4, $A5, $B1, $AB, $A1, $A4, $B4, $C0, $C7, $B4, $9F, $B0, $A7, $9F ; CPU:$8E60 PRG:0E60 BC BD B4 A5 B1 AB A1 A4 B4 C0 C7 B4 9F B0 A7 9F - .byte $A1, $B5, $C7, $CD, $AB, $A3, $AB, $A2, $9E, $AB, $CF, $DB, $B6, $95, $A7, $A1 ; CPU:$8E70 PRG:0E70 A1 B5 C7 CD AB A3 AB A2 9E AB CF DB B6 95 A7 A1 - .byte $A1, $AF, $D8, $DA, $A4, $98, $97, $9E, $9F, $DF, $DA, $B1, $8A, $99, $95, $B1 ; CPU:$8E80 PRG:0E80 A1 AF D8 DA A4 98 97 9E 9F DF DA B1 8A 99 95 B1 - .byte $E9, $BE, $AA, $88, $92, $8C, $DB, $F8, $CF, $92, $75, $82, $8E, $E7, $F7, $E7 ; CPU:$8E90 PRG:0E90 E9 BE AA 88 92 8C DB F8 CF 92 75 82 8E E7 F7 E7 - .byte $72, $76, $7A, $A5, $E9, $F6, $C7, $82, $79, $78, $A5, $FF, $FF, $A1, $7A, $76 ; CPU:$8EA0 PRG:0EA0 72 76 7A A5 E9 F6 C7 82 79 78 A5 FF FF A1 7A 76 - .byte $88, $D4, $FF, $EC, $89, $6C, $6F, $89, $FE, $FF, $D8, $6F, $4A, $6B, $A7, $FF ; CPU:$8EB0 PRG:0EB0 88 D4 FF EC 89 6C 6F 89 FE FF D8 6F 4A 6B A7 FF - .byte $FF, $A0, $4E, $3C, $83, $CE, $FF, $FF, $6D, $41, $3C, $9B, $F9, $FF, $FF, $4A ; CPU:$8EC0 PRG:0EC0 FF A0 4E 3C 83 CE FF FF 6D 41 3C 9B F9 FF FF 4A - .byte $22, $2D, $AE, $FF, $FF, $FF, $1B, $00, $2C, $B6, $FF, $FF, $D9, $00, $00, $4C ; CPU:$8ED0 PRG:0ED0 22 2D AE FF FF FF 1B 00 2C B6 FF FF D9 00 00 4C - .byte $DD, $FF, $FF, $73, $00, $00, $7C, $FF, $FF, $CC, $53, $00, $46, $FF, $FF, $EA ; CPU:$8EE0 PRG:0EE0 DD FF FF 73 00 00 7C FF FF CC 53 00 46 FF FF EA - .byte $55, $5D, $36, $FF, $FF, $FF, $3C, $2A, $78, $B4, $FF, $FF, $C4, $2D, $21, $7D ; CPU:$8EF0 PRG:0EF0 55 5D 36 FF FF FF 3C 2A 78 B4 FF FF C4 2D 21 7D - .byte $A2, $FF, $FF, $FF, $6E, $00, $49, $BE, $FF, $FF, $FF, $29, $00, $54, $BC, $FF ; CPU:$8F00 PRG:0F00 A2 FF FF FF 6E 00 49 BE FF FF FF 29 00 54 BC FF - .byte $FF, $CE, $00, $00, $2B, $CF, $FF, $FF, $FB, $26, $00, $00, $D2, $FF, $FF, $F9 ; CPU:$8F10 PRG:0F10 FF CE 00 00 2B CF FF FF FB 26 00 00 D2 FF FF F9 - .byte $2D, $00, $09, $56, $FF, $FF, $FF, $98, $00, $64, $5B, $BE, $FF, $FF, $AD, $7A ; CPU:$8F20 PRG:0F20 2D 00 09 56 FF FF FF 98 00 64 5B BE FF FF AD 7A - .byte $90, $A3, $4F, $97, $DB, $FF, $DA, $D2, $94, $6C, $02, $93, $FF, $FF, $FF, $95 ; CPU:$8F30 PRG:0F30 90 A3 4F 97 DB FF DA D2 94 6C 02 93 FF FF FF 95 - .byte $67, $07, $23, $F7, $FF, $FF, $DB, $37, $46, $58, $80, $FF, $FF, $F3, $8B, $38 ; CPU:$8F40 PRG:0F40 67 07 23 F7 FF FF DB 37 46 58 80 FF FF F3 8B 38 - .byte $A1, $7D, $98, $DC, $FF, $C1, $D2, $6C, $9A, $94, $2D, $E4, $FF, $FF, $AF, $71 ; CPU:$8F50 PRG:0F50 A1 7D 98 DC FF C1 D2 6C 9A 94 2D E4 FF FF AF 71 - .byte $99, $AA, $60, $AF, $F6, $FF, $AE, $93, $93, $C7, $BA, $1C, $CA, $EB, $F1, $D0 ; CPU:$8F60 PRG:0F60 99 AA 60 AF F6 FF AE 93 93 C7 BA 1C CA EB F1 D0 - .byte $A5, $DA, $97, $4F, $70, $BF, $FF, $C7, $E3, $56, $98, $B3, $42, $F0, $E2, $FF ; CPU:$8F70 PRG:0F70 A5 DA 97 4F 70 BF FF C7 E3 56 98 B3 42 F0 E2 FF - .byte $8B, $A4, $AC, $B5, $DC, $12, $C9, $C5, $FF, $DE, $A6, $D4, $77, $A2, $1F, $D6 ; CPU:$8F80 PRG:0F80 8B A4 AC B5 DC 12 C9 C5 FF DE A6 D4 77 A2 1F D6 - .byte $FF, $EC, $FD, $4D, $B8, $8F, $F3, $2F, $C0, $D8, $E8, $EA, $8A, $D8, $8F, $CD ; CPU:$8F90 PRG:0F90 FF EC FD 4D B8 8F F3 2F C0 D8 E8 EA 8A D8 8F CD - .byte $1C, $C8, $DE, $FF, $EB, $85, $B6, $69, $E2, $7D, $A0, $9D, $FF, $C9, $C5, $A4 ; CPU:$8FA0 PRG:0FA0 1C C8 DE FF EB 85 B6 69 E2 7D A0 9D FF C9 C5 A4 - .byte $A2, $C8, $A0, $39, $A0, $FF, $FF, $E2, $92, $89, $A3, $DB, $AD, $35, $A5, $FF ; CPU:$8FB0 PRG:0FB0 A2 C8 A0 39 A0 FF FF E2 92 89 A3 DB AD 35 A5 FF - .byte $FC, $F0, $73, $7B, $A7, $FE, $D1, $32, $88, $DD, $FF, $F9, $8D, $6E, $8F, $FF ; CPU:$8FC0 PRG:0FC0 FC F0 73 7B A7 FE D1 32 88 DD FF F9 8D 6E 8F FF - .byte $EE, $67, $48, $98, $FF, $FF, $EE, $3E, $65, $C5, $FF, $DE, $23, $73, $C0, $FF ; CPU:$8FD0 PRG:0FD0 EE 67 48 98 FF FF EE 3E 65 C5 FF DE 23 73 C0 FF - .byte $F2, $B4, $1B, $58, $F9, $FF, $FE, $1D, $3D, $94, $FF, $FF, $C3, $11, $57, $F1 ; CPU:$8FE0 PRG:0FE0 F2 B4 1B 58 F9 FF FE 1D 3D 94 FF FF C3 11 57 F1 - .byte $FF, $FF, $28, $00, $A3, $FF, $FF, $CB, $0E, $37, $BD, $FF, $FF, $77, $00, $48 ; CPU:$8FF0 PRG:0FF0 FF FF 28 00 A3 FF FF CB 0E 37 BD FF FF 77 00 48 - .byte $FB, $FF, $FF, $59, $00, $8D, $FF, $FF, $D0, $25, $00, $C5, $FF, $FF, $97, $0A ; CPU:$9000 PRG:1000 FB FF FF 59 00 8D FF FF D0 25 00 C5 FF FF 97 0A - .byte $27, $DC, $FF, $FF, $86, $05, $00, $FF, $FF, $FF, $52, $00, $8B, $FF, $FF, $C4 ; CPU:$9010 PRG:1010 27 DC FF FF 86 05 00 FF FF FF 52 00 8B FF FF C4 - .byte $4F, $21, $61, $FF, $FF, $AF, $36, $1B, $D3, $FF, $FF, $9C, $36, $28, $B8, $FF ; CPU:$9020 PRG:1020 4F 21 61 FF FF AF 36 1B D3 FF FF 9C 36 28 B8 FF - .byte $FF, $6C, $39, $64, $FF, $FF, $E6, $86, $43, $4B, $F4, $FF, $FF, $52, $4B, $9B ; CPU:$9030 PRG:1030 FF 6C 39 64 FF FF E6 86 43 4B F4 FF FF 52 4B 9B - .byte $FE, $FF, $B1, $87, $6E, $7F, $EE, $FF, $E8, $56, $77, $AC, $F8, $DF, $A9, $A1 ; CPU:$9040 PRG:1040 FE FF B1 87 6E 7F EE FF E8 56 77 AC F8 DF A9 A1 - .byte $9E, $97, $A4, $D1, $EB, $8A, $B3, $95, $CF, $B4, $C0, $AA, $B5, $AF, $3E, $CA ; CPU:$9050 PRG:1050 9E 97 A4 D1 EB 8A B3 95 CF B4 C0 AA B5 AF 3E CA - .byte $F2, $E7, $AB, $7B, $9B, $A2, $EA, $C3, $D4, $A7, $6B, $7E, $CA, $FF, $B7, $A7 ; CPU:$9060 PRG:1060 F2 E7 AB 7B 9B A2 EA C3 D4 A7 6B 7E CA FF B7 A7 - .byte $61, $A6, $CD, $ED, $D6, $A9, $88, $4E, $BF, $F5, $FF, $8B, $74, $7E, $C0, $F8 ; CPU:$9070 PRG:1070 61 A6 CD ED D6 A9 88 4E BF F5 FF 8B 74 7E C0 F8 - .byte $CE, $B2, $8D, $A0, $82, $CE, $DE, $E8, $8F, $8E, $98, $B9, $E5, $C7, $B0, $9D ; CPU:$9080 PRG:1080 CE B2 8D A0 82 CE DE E8 8F 8E 98 B9 E5 C7 B0 9D - .byte $AF, $9A, $9D, $C8, $E5, $AE, $A1, $8B, $AF, $CA, $D8, $B8, $99, $BB, $A4, $68 ; CPU:$9090 PRG:1090 AF 9A 9D C8 E5 AE A1 8B AF CA D8 B8 99 BB A4 68 - .byte $CA, $E0, $D2, $A4, $90, $A0, $B3, $DE, $C1, $AD, $A5, $B2, $A1, $8E, $C3, $E2 ; CPU:$90A0 PRG:10A0 CA E0 D2 A4 90 A0 B3 DE C1 AD A5 B2 A1 8E C3 E2 - .byte $BE, $AF, $89, $A5, $B7, $DB, $C5, $A5, $AC, $AE, $9D, $95, $C8, $E4, $B7, $AD ; CPU:$90B0 PRG:10B0 BE AF 89 A5 B7 DB C5 A5 AC AE 9D 95 C8 E4 B7 AD - .byte $86, $AA, $C2, $D5, $BC, $99, $A7, $C4, $BC, $7B, $B5, $CD, $C2, $BF, $9E, $A3 ; CPU:$90C0 PRG:10C0 86 AA C2 D5 BC 99 A7 C4 BC 7B B5 CD C2 BF 9E A3 - .byte $9E, $C8, $CE, $BB, $A4, $A4, $C3, $9D, $A4, $AF, $DA, $BE, $B4, $94, $97, $BC ; CPU:$90D0 PRG:10D0 9E C8 CE BB A4 A4 C3 9D A4 AF DA BE B4 94 97 BC - .byte $D3, $CC, $A0, $97, $AE, $D7, $B8, $96, $9D, $C8, $C5, $C5, $A0, $9A, $B0, $C4 ; CPU:$90E0 PRG:10E0 D3 CC A0 97 AE D7 B8 96 9D C8 C5 C5 A0 9A B0 C4 - .byte $C7, $B2, $AA, $A7, $BF, $C3, $8D, $AB, $B3, $C9, $C6, $B7, $A5, $97, $B6, $C1 ; CPU:$90F0 PRG:10F0 C7 B2 AA A7 BF C3 8D AB B3 C9 C6 B7 A5 97 B6 C1 - .byte $CA, $B7, $A2, $A1, $B8, $D2, $B4, $97, $9B, $C8, $C9, $C8, $A7, $9C, $A4, $B8 ; CPU:$9100 PRG:1100 CA B7 A2 A1 B8 D2 B4 97 9B C8 C9 C8 A7 9C A4 B8 - .byte $CC, $BF, $B1, $9D, $A3, $B9, $D0, $CB, $A6, $88, $99, $CB, $D3, $D0, $A5, $95 ; CPU:$9110 PRG:1110 CC BF B1 9D A3 B9 D0 CB A6 88 99 CB D3 D0 A5 95 - .byte $9C, $BA, $D1, $C4, $B2, $97, $A3, $BB, $C9, $C0, $AA, $A6, $AF, $B8, $AF, $BA ; CPU:$9120 PRG:1120 9C BA D1 C4 B2 97 A3 BB C9 C0 AA A6 AF B8 AF BA - .byte $B4, $BB, $B2, $B5, $AE, $AB, $B5, $B7, $BB, $B2, $B5, $7E, $FF, $73, $DC, $49 ; CPU:$9130 PRG:1130 B4 BB B2 B5 AE AB B5 B7 BB B2 B5 7E FF 73 DC 49 - .byte $7F, $AC, $93, $FF, $52, $E1, $41, $A1, $A6, $C5, $FF, $3E, $E4, $38, $BB, $95 ; CPU:$9140 PRG:1140 7F AC 93 FF 52 E1 41 A1 A6 C5 FF 3E E4 38 BB 95 - .byte $D4, $FF, $45, $EC, $28, $F5, $65, $D0, $FF, $42, $FF, $23, $FF, $49, $8D, $FF ; CPU:$9150 PRG:1150 D4 FF 45 EC 28 F5 65 D0 FF 42 FF 23 FF 49 8D FF - .byte $3F, $FF, $25, $FF, $4D, $58, $FF, $41, $FF, $45, $CB, $9A, $70, $FF, $76, $EB ; CPU:$9160 PRG:1160 3F FF 25 FF 4D 58 FF 41 FF 45 CB 9A 70 FF 76 EB - .byte $88, $75, $FF, $57, $9B, $FF, $75, $B6, $7B, $EA, $5E, $87, $FF, $65, $E3, $8A ; CPU:$9170 PRG:1170 88 75 FF 57 9B FF 75 B6 7B EA 5E 87 FF 65 E3 8A - .byte $A2, $C0, $75, $E5, $C3, $A1, $B0, $72, $FF, $51, $5D, $FF, $56, $DA, $5A, $FF ; CPU:$9180 PRG:1180 A2 C0 75 E5 C3 A1 B0 72 FF 51 5D FF 56 DA 5A FF - .byte $44, $C8, $C4, $AF, $CF, $8C, $8D, $FA, $4C, $58, $FF, $65, $D9, $62, $E3, $7F ; CPU:$9190 PRG:1190 44 C8 C4 AF CF 8C 8D FA 4C 58 FF 65 D9 62 E3 7F - .byte $9C, $9A, $DB, $C7, $97, $64, $FF, $45, $96, $FF, $A5, $B3, $9C, $70, $FF, $57 ; CPU:$91A0 PRG:11A0 9C 9A DB C7 97 64 FF 45 96 FF A5 B3 9C 70 FF 57 - .byte $5F, $FF, $7F, $D4, $72, $9D, $CB, $80, $29, $FF, $77, $B2, $77, $BC, $BB, $8B ; CPU:$91B0 PRG:11B0 5F FF 7F D4 72 9D CB 80 29 FF 77 B2 77 BC BB 8B - .byte $3B, $FF, $77, $ED, $46, $B5, $D5, $91, $4D, $FF, $75, $F0, $5C, $A4, $DC, $82 ; CPU:$91C0 PRG:11C0 3B FF 77 ED 46 B5 D5 91 4D FF 75 F0 5C A4 DC 82 - .byte $C6, $1D, $FF, $99, $CB, $3A, $FF, $54, $FF, $03, $FF, $26, $FF, $09, $FA, $7A ; CPU:$91D0 PRG:11D0 C6 1D FF 99 CB 3A FF 54 FF 03 FF 26 FF 09 FA 7A - .byte $B9, $C6, $00, $FF, $59, $FF, $14, $FF, $D6, $96, $A5, $31, $A7, $FF, $AF, $85 ; CPU:$91E0 PRG:11E0 B9 C6 00 FF 59 FF 14 FF D6 96 A5 31 A7 FF AF 85 - .byte $A2, $FF, $F1, $47, $CA, $27, $FF, $17, $F7, $68, $FF, $FC, $46, $FF, $03, $FF ; CPU:$91F0 PRG:11F0 A2 FF F1 47 CA 27 FF 17 F7 68 FF FC 46 FF 03 FF - .byte $00, $FF, $13, $F6, $FF, $15, $FF, $00, $FF, $00, $FF, $6B, $C2, $FF, $3C, $FF ; CPU:$9200 PRG:1200 00 FF 13 F6 FF 15 FF 00 FF 00 FF 6B C2 FF 3C FF - .byte $00, $FF, $00, $F1, $58, $BC, $FF, $13, $80, $2E, $FF, $00, $EB, $4D, $FF, $FF ; CPU:$9210 PRG:1210 00 FF 00 F1 58 BC FF 13 80 2E FF 00 EB 4D FF FF - .byte $1B, $32, $FF, $FF, $79, $AB, $73, $FF, $00, $C8, $25, $FF, $3B, $FF, $47, $70 ; CPU:$9220 PRG:1220 1B 32 FF FF 79 AB 73 FF 00 C8 25 FF 3B FF 47 70 - .byte $DC, $6F, $FF, $06, $08, $D7, $FF, $34, $9E, $79, $FF, $11, $54, $69, $FF, $44 ; CPU:$9230 PRG:1230 DC 6F FF 06 08 D7 FF 34 9E 79 FF 11 54 69 FF 44 - .byte $F5, $1C, $72, $C2, $FD, $FF, $02, $04, $FF, $FF, $5E, $6F, $81, $FF, $10, $57 ; CPU:$9240 PRG:1240 F5 1C 72 C2 FD FF 02 04 FF FF 5E 6F 81 FF 10 57 - .byte $5A, $FF, $00, $FD, $00, $70, $C7, $FF, $FF, $00, $0A, $FF, $FF, $00, $7A, $98 ; CPU:$9250 PRG:1250 5A FF 00 FD 00 70 C7 FF FF 00 0A FF FF 00 7A 98 - .byte $FF, $15, $00, $8A, $FF, $65, $FF, $00, $6D, $FF, $FF, $FF, $00, $00, $8E, $FF ; CPU:$9260 PRG:1260 FF 15 00 8A FF 65 FF 00 6D FF FF FF 00 00 8E FF - .byte $36, $69, $C8, $FF, $00, $BD, $82, $94, $04, $FF, $00, $9B, $B6, $FF, $E8, $00 ; CPU:$9270 PRG:1270 36 69 C8 FF 00 BD 82 94 04 FF 00 9B B6 FF E8 00 - .byte $32, $B0, $F5, $00, $4A, $E0, $FF, $00, $46, $BA, $B8, $00, $C9, $00, $AD, $D5 ; CPU:$9280 PRG:1280 32 B0 F5 00 4A E0 FF 00 46 BA B8 00 C9 00 AD D5 - .byte $4E, $FF, $00, $00, $7D, $FF, $00, $B2, $FC, $FF, $00, $00, $E6, $FF, $00, $42 ; CPU:$9290 PRG:1290 4E FF 00 00 7D FF 00 B2 FC FF 00 00 E6 FF 00 42 - .byte $00, $E8, $FF, $00, $B4, $B0, $00, $74, $99, $00, $FF, $C0, $00, $FF, $00, $5A ; CPU:$92A0 PRG:12A0 00 E8 FF 00 B4 B0 00 74 99 00 FF C0 00 FF 00 5A - .byte $88, $81, $2A, $FC, $FF, $AB, $BE, $18, $6D, $AE, $00, $6A, $83, $FF, $CA, $00 ; CPU:$92B0 PRG:12B0 88 81 2A FC FF AB BE 18 6D AE 00 6A 83 FF CA 00 - .byte $B9, $D2, $FF, $00, $AC, $14, $FF, $16, $00, $F5, $96, $5F, $00, $FF, $00, $FF ; CPU:$92C0 PRG:12C0 B9 D2 FF 00 AC 14 FF 16 00 F5 96 5F 00 FF 00 FF - .byte $00, $92, $CB, $74, $00, $FF, $F1, $00, $FF, $7C, $A0, $8F, $60, $A4, $FF, $00 ; CPU:$92D0 PRG:12D0 00 92 CB 74 00 FF F1 00 FF 7C A0 8F 60 A4 FF 00 - .byte $9D, $9B, $D9, $D5, $00, $FF, $99, $3D, $00, $FF, $00, $FF, $43, $4E, $E8, $87 ; CPU:$92E0 PRG:12E0 9D 9B D9 D5 00 FF 99 3D 00 FF 00 FF 43 4E E8 87 - .byte $57, $B7, $00, $C8, $AD, $C2, $FF, $00, $FF, $66, $00, $FF, $E8, $3F, $FF, $7E ; CPU:$92F0 PRG:12F0 57 B7 00 C8 AD C2 FF 00 FF 66 00 FF E8 3F FF 7E - .byte $FF, $00, $FF, $5C, $1D, $57, $FF, $00, $FF, $52, $EB, $3E, $FF, $21, $3C, $54 ; CPU:$9300 PRG:1300 FF 00 FF 5C 1D 57 FF 00 FF 52 EB 3E FF 21 3C 54 - .byte $FF, $00, $FF, $5C, $CF, $31, $FF, $58, $00, $FF, $D4, $00, $FF, $AB, $94, $75 ; CPU:$9310 PRG:1310 FF 00 FF 5C CF 31 FF 58 00 FF D4 00 FF AB 94 75 - .byte $FF, $00, $69, $FF, $00, $82, $A0, $FF, $54, $5B, $9A, $FF, $00, $54, $EB, $C4 ; CPU:$9320 PRG:1320 FF 00 69 FF 00 82 A0 FF 54 5B 9A FF 00 54 EB C4 - .byte $00, $FF, $5E, $4C, $CB, $FA, $00, $56, $B0, $00, $57, $FF, $C0, $2F, $78, $D9 ; CPU:$9330 PRG:1330 00 FF 5E 4C CB FA 00 56 B0 00 57 FF C0 2F 78 D9 - .byte $DA, $00, $9E, $FF, $00, $85, $FF, $5C, $2B, $FF, $54, $FF, $32, $B3, $EA, $00 ; CPU:$9340 PRG:1340 DA 00 9E FF 00 85 FF 5C 2B FF 54 FF 32 B3 EA 00 - .byte $FF, $FF, $43, $7B, $DE, $67, $FF, $18, $78, $97, $00, $D0, $FF, $2B, $B5, $C0 ; CPU:$9350 PRG:1350 FF FF 43 7B DE 67 FF 18 78 97 00 D0 FF 2B B5 C0 - .byte $6A, $81, $64, $0B, $FF, $45, $96, $FF, $0F, $E9, $B5, $B8, $7B, $B1, $B4, $C8 ; CPU:$9360 PRG:1360 6A 81 64 0B FF 45 96 FF 0F E9 B5 B8 7B B1 B4 C8 - .byte $32, $FF, $8A, $75, $CA, $C4, $6A, $7A, $FF, $31, $B8, $CB, $00, $AF, $BB, $FF ; CPU:$9370 PRG:1370 32 FF 8A 75 CA C4 6A 7A FF 31 B8 CB 00 AF BB FF - .byte $09, $E4, $FF, $00, $FF, $B7, $F5, $00, $FC, $6E, $AA, $79, $E8, $A4, $7E, $DC ; CPU:$9380 PRG:1380 09 E4 FF 00 FF B7 F5 00 FC 6E AA 79 E8 A4 7E DC - .byte $BD, $82, $E2, $B3, $9B, $E0, $8D, $C1, $B9, $97, $9A, $FF, $12, $D2, $B2, $0B ; CPU:$9390 PRG:1390 BD 82 E2 B3 9B E0 8D C1 B9 97 9A FF 12 D2 B2 0B - .byte $F0, $E0, $CF, $4A, $FF, $CF, $41, $FF, $9F, $44, $41, $E0, $53, $FF, $6C, $F8 ; CPU:$93A0 PRG:13A0 F0 E0 CF 4A FF CF 41 FF 9F 44 41 E0 53 FF 6C F8 - .byte $B3, $9F, $D2, $83, $D0, $8A, $F5, $96, $B3, $D5, $85, $D6, $B8, $A3, $C9, $D9 ; CPU:$93B0 PRG:13B0 B3 9F D2 83 D0 8A F5 96 B3 D5 85 D6 B8 A3 C9 D9 - .byte $7D, $E6, $98, $FF, $00, $FF, $AE, $6E, $FB, $BF, $94, $91, $FF, $1B, $FF, $9E ; CPU:$93C0 PRG:13C0 7D E6 98 FF 00 FF AE 6E FB BF 94 91 FF 1B FF 9E - .byte $94, $C4, $FF, $8A, $B5, $FF, $83, $AB, $F4, $93, $CA, $D1, $FF, $12, $FF, $A5 ; CPU:$93D0 PRG:13D0 94 C4 FF 8A B5 FF 83 AB F4 93 CA D1 FF 12 FF A5 - .byte $BA, $B3, $DE, $98, $C2, $D9, $9E, $A6, $F0, $91, $FF, $00, $FF, $A7, $A9, $D3 ; CPU:$93E0 PRG:13E0 BA B3 DE 98 C2 D9 9E A6 F0 91 FF 00 FF A7 A9 D3 - .byte $C7, $A9, $D3, $C8, $E4, $BC, $D9, $E4, $4A, $F2, $BF, $80, $E1, $E2, $8D, $E0 ; CPU:$93F0 PRG:13F0 C7 A9 D3 C8 E4 BC D9 E4 4A F2 BF 80 E1 E2 8D E0 - .byte $CA, $A5, $AA, $FC, $9B, $B9, $FF, $85, $DD, $C5, $A1, $DC, $B0, $BB, $D1, $AD ; CPU:$9400 PRG:1400 CA A5 AA FC 9B B9 FF 85 DD C5 A1 DC B0 BB D1 AD - .byte $CA, $CD, $96, $E2, $A1, $FF, $54, $FC, $AD, $9F, $E7, $B2, $BD, $D4, $B2, $BA ; CPU:$9410 PRG:1410 CA CD 96 E2 A1 FF 54 FC AD 9F E7 B2 BD D4 B2 BA - .byte $E3, $8E, $DE, $BE, $C9, $77, $EE, $AA, $B6, $CA, $D0, $82, $FF, $6E, $FF, $F7 ; CPU:$9420 PRG:1420 E3 8E DE BE C9 77 EE AA B6 CA D0 82 FF 6E FF F7 - .byte $8D, $FF, $19, $FF, $FF, $1B, $FF, $5E, $FF, $66, $C3, $FF, $28, $FF, $00, $CC ; CPU:$9430 PRG:1430 8D FF 19 FF FF 1B FF 5E FF 66 C3 FF 28 FF 00 CC - .byte $FF, $AA, $FF, $00, $FF, $0F, $FF, $FF, $00, $FF, $4E, $EF, $53, $65, $E5, $1E ; CPU:$9440 PRG:1440 FF AA FF 00 FF 0F FF FF 00 FF 4E EF 53 65 E5 1E - .byte $FF, $00, $B9, $F1, $2A, $9F, $21, $DD, $6D, $E4, $1A, $20, $FF, $27, $75, $74 ; CPU:$9450 PRG:1450 FF 00 B9 F1 2A 9F 21 DD 6D E4 1A 20 FF 27 75 74 - .byte $E2, $D9, $7D, $E1, $05, $FF, $DF, $12, $FF, $96, $FF, $99, $C9, $97, $F8, $FF ; CPU:$9460 PRG:1460 E2 D9 7D E1 05 FF DF 12 FF 96 FF 99 C9 97 F8 FF - .byte $00, $F4, $FF, $CA, $FF, $5D, $FF, $B2, $FF, $9A, $2F, $FF, $A2, $F2, $AE, $BE ; CPU:$9470 PRG:1470 00 F4 FF CA FF 5D FF B2 FF 9A 2F FF A2 F2 AE BE - .byte $FF, $E1, $FF, $07, $FF, $FF, $61, $FF, $6F, $FF, $C7, $E4, $4F, $94, $FF, $3F ; CPU:$9480 PRG:1480 FF E1 FF 07 FF FF 61 FF 6F FF C7 E4 4F 94 FF 3F - .byte $B9, $97, $93, $FF, $92, $92, $39, $FF, $67, $37, $E8, $6C, $F6, $61, $7F, $4E ; CPU:$9490 PRG:1490 B9 97 93 FF 92 92 39 FF 67 37 E8 6C F6 61 7F 4E - .byte $FC, $ED, $00, $ED, $6C, $BE, $B7, $48, $89, $8A, $FF, $0F, $70, $FF, $56, $DC ; CPU:$94A0 PRG:14A0 FC ED 00 ED 6C BE B7 48 89 8A FF 0F 70 FF 56 DC - .byte $61, $79, $99, $FF, $A1, $0F, $FF, $BB, $BA, $A1, $7E, $F7, $F2, $BA, $3A, $FF ; CPU:$94B0 PRG:14B0 61 79 99 FF A1 0F FF BB BA A1 7E F7 F2 BA 3A FF - .byte $FF, $9A, $D3, $90, $F9, $FF, $F3, $77, $CF, $FF, $9A, $EF, $C1, $C9, $FF, $D2 ; CPU:$94C0 PRG:14C0 FF 9A D3 90 F9 FF F3 77 CF FF 9A EF C1 C9 FF D2 - .byte $C5, $A2, $FF, $F4, $87, $FF, $B2, $FF, $EE, $9E, $D6, $FF, $FF, $5F, $E4, $FF ; CPU:$94D0 PRG:14D0 C5 A2 FF F4 87 FF B2 FF EE 9E D6 FF FF 5F E4 FF - .byte $D3, $FF, $6B, $D3, $FF, $FF, $8F, $61, $FF, $AA, $DF, $99, $7F, $F8, $CD, $AD ; CPU:$94E0 PRG:14E0 D3 FF 6B D3 FF FF 8F 61 FF AA DF 99 7F F8 CD AD - .byte $5B, $F0, $CC, $87, $BB, $58, $E7, $D1, $9B, $57, $A7, $FF, $5E, $BF, $7E, $A5 ; CPU:$94F0 PRG:14F0 5B F0 CC 87 BB 58 E7 D1 9B 57 A7 FF 5E BF 7E A5 - .byte $F9, $74, $89, $89, $FF, $85, $6E, $DA, $6D, $FF, $9D, $77, $A8, $CC, $EC, $4D ; CPU:$9500 PRG:1500 F9 74 89 89 FF 85 6E DA 6D FF 9D 77 A8 CC EC 4D - .byte $E1, $97, $BE, $FF, $4B, $CE, $D2, $E9, $82, $8C, $FF, $97, $FF, $76, $94, $FF ; CPU:$9510 PRG:1510 E1 97 BE FF 4B CE D2 E9 82 8C FF 97 FF 76 94 FF - .byte $C6, $C0, $69, $FF, $C6, $C2, $D2, $5A, $FF, $D2, $B9, $95, $C0, $FF, $90, $ED ; CPU:$9520 PRG:1520 C6 C0 69 FF C6 C2 D2 5A FF D2 B9 95 C0 FF 90 ED - .byte $7C, $D4, $FF, $86, $BE, $A0, $FF, $B4, $AC, $D6, $83, $FF, $94, $97, $E2, $CE ; CPU:$9530 PRG:1530 7C D4 FF 86 BE A0 FF B4 AC D6 83 FF 94 97 E2 CE - .byte $F9, $6F, $DE, $9D, $F9, $FC, $41, $EB, $BD, $EC, $B3, $94, $E2, $9C, $FF, $63 ; CPU:$9540 PRG:1540 F9 6F DE 9D F9 FC 41 EB BD EC B3 94 E2 9C FF 63 - .byte $AC, $FF, $9E, $CF, $64, $ED, $C1, $C8, $B6, $47, $FF, $A3, $AF, $A1, $99, $FC ; CPU:$9550 PRG:1550 AC FF 9E CF 64 ED C1 C8 B6 47 FF A3 AF A1 99 FC - .byte $80, $CE, $6A, $DA, $FF, $59, $C5, $78, $F2, $BB, $99, $B8, $6E, $FF, $79, $A9 ; CPU:$9560 PRG:1560 80 CE 6A DA FF 59 C5 78 F2 BB 99 B8 6E FF 79 A9 - .byte $CF, $96, $F0, $68, $CD, $A0, $E7, $D9, $45, $F9, $A1, $E8, $B1, $88, $ED, $9B ; CPU:$9570 PRG:1570 CF 96 F0 68 CD A0 E7 D9 45 F9 A1 E8 B1 88 ED 9B - .byte $FF, $63, $C5, $FF, $95, $E6, $65, $F0, $D6, $CB, $C1, $67, $FF, $A5, $D2, $C2 ; CPU:$9580 PRG:1580 FF 63 C5 FF 95 E6 65 F0 D6 CB C1 67 FF A5 D2 C2 - .byte $98, $FF, $98, $DD, $8A, $E1, $F4, $79, $E4, $86, $F5, $CC, $98, $C4, $92, $FF ; CPU:$9590 PRG:1590 98 FF 98 DD 8A E1 F4 79 E4 86 F5 CC 98 C4 92 FF - .byte $83, $B3, $C8, $A5, $F7, $6D, $CB, $AE, $D8, $C8, $63, $EA, $97, $E5, $AD, $82 ; CPU:$95A0 PRG:15A0 83 B3 C8 A5 F7 6D CB AE D8 C8 63 EA 97 E5 AD 82 - .byte $DA, $9D, $ED, $78, $BB, $D3, $97, $DF, $72, $D9, $BD, $B4, $B5, $81, $FE, $9E ; CPU:$95B0 PRG:15B0 DA 9D ED 78 BB D3 97 DF 72 D9 BD B4 B5 81 FE 9E - .byte $C1, $A5, $9D, $F1, $9B, $C6, $91, $D7, $D2, $91, $CF, $96, $EC, $BB, $9F, $B8 ; CPU:$95C0 PRG:15C0 C1 A5 9D F1 9B C6 91 D7 D2 91 CF 96 EC BB 9F B8 - .byte $AC, $F9, $99, $B8, $B0, $BA, $E4, $96, $C6, $AC, $D6, $B9, $94, $D9, $B0, $DB ; CPU:$95D0 PRG:15D0 AC F9 99 B8 B0 BA E4 96 C6 AC D6 B9 94 D9 B0 DB - .byte $A1, $A3, $CF, $BF, $D5, $8A, $C2, $C2, $B8, $C3, $94, $D4, $BB, $BE, $9F, $A7 ; CPU:$95E0 PRG:15E0 A1 A3 CF BF D5 8A C2 C2 B8 C3 94 D4 BB BE 9F A7 - .byte $E0, $B1, $BF, $95, $B4, $D0, $B6, $B9, $97, $CD, $B5, $AE, $B8, $AA, $D2, $A9 ; CPU:$95F0 PRG:15F0 E0 B1 BF 95 B4 D0 B6 B9 97 CD B5 AE B8 AA D2 A9 - .byte $AF, $A5, $C5, $D4, $9E, $B9, $A5, $CC, $C2, $AB, $BB, $B0, $D7, $A0, $B0, $C3 ; CPU:$9600 PRG:1600 AF A5 C5 D4 9E B9 A5 CC C2 AB BB B0 D7 A0 B0 C3 - .byte $C0, $D2, $99, $B6, $B6, $D5, $C4, $9C, $C8, $B0, $D2, $B4, $B3, $CB, $B6, $CC ; CPU:$9610 PRG:1610 C0 D2 99 B6 B6 D5 C4 9C C8 B0 D2 B4 B3 CB B6 CC - .byte $9A, $C9, $CD, $BB, $C3, $99, $CF, $BC, $C8, $B2, $A5, $DA, $A8, $C5, $A8, $BF ; CPU:$9620 PRG:1620 9A C9 CD BB C3 99 CF BC C8 B2 A5 DA A8 C5 A8 BF - .byte $D1, $A7, $BE, $97, $D7, $C2, $A8, $BA, $99, $D8, $AA, $B8, $AD, $AA, $D3, $91 ; CPU:$9630 PRG:1630 D1 A7 BE 97 D7 C2 A8 BA 99 D8 AA B8 AD AA D3 91 - .byte $C3, $A9, $BD, $BF, $91, $C3, $9F, $D5, $A9, $9C, $C6, $9E, $D2, $99, $B8, $BA ; CPU:$9640 PRG:1640 C3 A9 BD BF 91 C3 9F D5 A9 9C C6 9E D2 99 B8 BA - .byte $AD, $CA, $88, $CF, $B4, $BB, $BC, $91, $D5, $AA, $D0, $A7, $AA, $D5, $A1, $D4 ; CPU:$9650 PRG:1650 AD CA 88 CF B4 BB BC 91 D5 AA D0 A7 AA D5 A1 D4 - .byte $A0, $C5, $C8, $AC, $CD, $9A, $E1, $B7, $B6, $C6, $A4, $E5, $AA, $CB, $B4, $B8 ; CPU:$9660 PRG:1660 A0 C5 C8 AC CD 9A E1 B7 B6 C6 A4 E5 AA CB B4 B8 - .byte $DF, $9C, $D7, $AE, $CD, $CB, $A2, $D3, $A9, $E3, $AF, $AF, $CF, $A9, $E1, $A1 ; CPU:$9670 PRG:1670 DF 9C D7 AE CD CB A2 D3 A9 E3 AF AF CF A9 E1 A1 - .byte $C3, $BD, $B5, $D2, $95, $D6, $B0, $BF, $BF, $9B, $D5, $A5, $CD, $A5, $AA, $CD ; CPU:$9680 PRG:1680 C3 BD B5 D2 95 D6 B0 BF BF 9B D5 A5 CD A5 AA CD - .byte $9D, $CE, $9A, $BC, $BA, $A4, $C3, $93, $D3, $A9, $AC, $B7, $9B, $D3, $9F, $BB ; CPU:$9690 PRG:1690 9D CE 9A BC BA A4 C3 93 D3 A9 AC B7 9B D3 9F BB - .byte $A3, $AE, $CB, $95, $C6, $A0, $BE, $BA, $9D, $C4, $A0, $D1, $A7, $AC, $C1, $A6 ; CPU:$96A0 PRG:16A0 A3 AE CB 95 C6 A0 BE BA 9D C4 A0 D1 A7 AC C1 A6 - .byte $D3, $A0, $BE, $B6, $B6, $CA, $9D, $D1, $B1, $C0, $BD, $A7, $D2, $B1, $D0, $AC ; CPU:$96B0 PRG:16B0 D3 A0 BE B6 B6 CA 9D D1 B1 C0 BD A7 D2 B1 D0 AC - .byte $B7, $D1, $B0, $D2, $AA, $C5, $C5, $BA, $C9, $A8, $D7, $B7, $BD, $C1, $AF, $D5 ; CPU:$96C0 PRG:16C0 B7 D1 B0 D2 AA C5 C5 BA C9 A8 D7 B7 BD C1 AF D5 - .byte $B2, $C4, $B2, $BE, $CD, $AA, $CA, $AF, $C4, $BE, $AF, $C3, $AE, $CE, $AC, $B4 ; CPU:$96D0 PRG:16D0 B2 C4 B2 BE CD AA CA AF C4 BE AF C3 AE CE AC B4 - .byte $BD, $B0, $CB, $A8, $B9, $B1, $BA, $BF, $A3, $C3, $AC, $BB, $B4, $A8, $BF, $AE ; CPU:$96E0 PRG:16E0 BD B0 CB A8 B9 B1 BA BF A3 C3 AC BB B4 A8 BF AE - .byte $C0, $A4, $B3, $BC, $AC, $C0, $A4, $B8, $B5, $B3, $B5, $A8, $C4, $AD, $B7, $B2 ; CPU:$96F0 PRG:16F0 C0 A4 B3 BC AC C0 A4 B8 B5 B3 B5 A8 C4 AD B7 B2 - .byte $AE, $C4, $B1, $B9, $AA, $BC, $BE, $AF, $BF, $AC, $C0, $BA, $B4, $BA, $B4, $C7 ; CPU:$9700 PRG:1700 AE C4 B1 B9 AA BC BE AF BF AC C0 BA B4 BA B4 C7 - .byte $AF, $BC, $B9, $BA, $C8, $B1, $BD, $B6, $C5, $BD, $B4, $C5, $B4, $C6, $B8, $B6 ; CPU:$9710 PRG:1710 AF BC B9 BA C8 B1 BD B6 C5 BD B4 C5 B4 C6 B8 B6 - .byte $C1, $BC, $C4, $AE, $C1, $BD, $BC, $C3, $AE, $C0, $BA, $C0, $B7, $B5, $C4, $B1 ; CPU:$9720 PRG:1720 C1 BC C4 AE C1 BD BC C3 AE C0 BA C0 B7 B5 C4 B1 - .byte $C2, $B1, $B8, $C2, $B6, $BC, $AB, $C1, $B8, $B7, $BB, $AA, $C2, $B3, $B7, $B3 ; CPU:$9730 PRG:1730 C2 B1 B8 C2 B6 BC AB C1 B8 B7 BB AA C2 B3 B7 B3 - .byte $B5, $C0, $AA, $BC, $AE, $BA, $BE, $AB, $B8, $AE, $C0, $B2, $B2, $BA, $AB, $C3 ; CPU:$9740 PRG:1740 B5 C0 AA BC AE BA BE AB B8 AE C0 B2 B2 BA AB C3 - .byte $AD, $B6, $B8, $B6, $BD, $A9, $BF, $B2, $BC, $BC, $AA, $BF, $B2, $C0, $B3, $B5 ; CPU:$9750 PRG:1750 AD B6 B8 B6 BD A9 BF B2 BC BC AA BF B2 C0 B3 B5 - .byte $C0, $AF, $C4, $AE, $BD, $BF, $B5, $BF, $AC, $C6, $B7, $BD, $BD, $AD, $C8, $B4 ; CPU:$9760 PRG:1760 C0 AF C4 AE BD BF B5 BF AC C6 B7 BD BD AD C8 B4 - .byte $BF, $B7, $B8, $C3, $B0, $C4, $B0, $C1, $C1, $B0, $C0, $B1, $C6, $B7, $B9, $BD ; CPU:$9770 PRG:1770 BF B7 B8 C3 B0 C4 B0 C1 C1 B0 C0 B1 C6 B7 B9 BD - .byte $AF, $C9, $AF, $BC, $BA, $B6, $C0, $AB, $C2, $B3, $BF, $BC, $AA, $C2, $B1, $C1 ; CPU:$9780 PRG:1780 AF C9 AF BC BA B6 C0 AB C2 B3 BF BC AA C2 B1 C1 - .byte $B3, $B4, $BE, $AF, $C3, $AB, $BB, $BB, $B1, $BE, $A9, $C0, $B3, $B9, $B8, $AA ; CPU:$9790 PRG:1790 B3 B4 BE AF C3 AB BB BB B1 BE A9 C0 B3 B9 B8 AA - .byte $C4, $AF, $BC, $B4, $B4, $BF, $AD, $C0, $AD, $BD, $BC, $AD, $BE, $AE, $C2, $B6 ; CPU:$97A0 PRG:17A0 C4 AF BC B4 B4 BF AD C0 AD BD BC AD BE AE C2 B6 - .byte $B5, $BA, $AF, $C5, $AE, $BB, $B8, $B5, $C1, $AD, $C0, $B3, $BE, $BC, $AE, $C2 ; CPU:$97B0 PRG:17B0 B5 BA AF C5 AE BB B8 B5 C1 AD C0 B3 BE BC AE C2 - .byte $B2, $C1, $B6, $B5, $BF, $B3, $C3, $AF, $BD, $BD, $B4, $C0, $AF, $C1, $B8, $BB ; CPU:$97C0 PRG:17C0 B2 C1 B6 B5 BF B3 C3 AF BD BD B4 C0 AF C1 B8 BB - .byte $BA, $B1, $C4, $B3, $BE, $B7, $B5, $C0, $B2, $BF, $B1, $BE, $BC, $B2, $BE, $B1 ; CPU:$97D0 PRG:17D0 BA B1 C4 B3 BE B7 B5 C0 B2 BF B1 BE BC B2 BE B1 - .byte $C0, $B7, $B6, $BA, $B3, $C2, $B1, $BB, $B7, $B6, $BE, $A1, $AA, $AD, $B7, $B6 ; CPU:$97E0 PRG:17E0 C0 B7 B6 BA B3 C2 B1 BB B7 B6 BE A1 AA AD B7 B6 - .byte $B7, $B3, $B0, $C5, $B9, $B3, $AF, $AA, $A0, $AE, $B0, $B5, $B4, $AF, $B0, $B3 ; CPU:$97F0 PRG:17F0 B7 B3 B0 C5 B9 B3 AF AA A0 AE B0 B5 B4 AF B0 B3 - .byte $B3, $A6, $AB, $A4, $9A, $A7, $A9, $B8, $BA, $B2, $B6, $B2, $AE, $A8, $A3, $B0 ; CPU:$9800 PRG:1800 B3 A6 AB A4 9A A7 A9 B8 BA B2 B6 B2 AE A8 A3 B0 - .byte $9E, $B0, $AF, $B9, $C0, $AB, $BB, $BE, $AB, $B4, $93, $B0, $A6, $AE, $CC, $AA ; CPU:$9810 PRG:1810 9E B0 AF B9 C0 AB BB BE AB B4 93 B0 A6 AE CC AA - .byte $CD, $BA, $CD, $B7, $91, $B0, $BB, $8A, $C2, $A7, $C3, $CE, $A2, $D7, $9F, $7D ; CPU:$9820 PRG:1820 CD BA CD B7 91 B0 BB 8A C2 A7 C3 CE A2 D7 9F 7D - .byte $CE, $8F, $98, $AC, $A5, $D4, $AE, $B8, $C9, $97, $9C, $B4, $8A, $9D, $AE, $AA ; CPU:$9830 PRG:1830 CE 8F 98 AC A5 D4 AE B8 C9 97 9C B4 8A 9D AE AA - .byte $D2, $B3, $BF, $C2, $A3, $9C, $C2, $89, $98, $CB, $AD, $D2, $BC, $BE, $C9, $86 ; CPU:$9840 PRG:1840 D2 B3 BF C2 A3 9C C2 89 98 CB AD D2 BC BE C9 86 - .byte $8D, $DB, $8B, $8E, $D4, $B8, $DD, $BC, $BA, $D6, $6A, $6C, $B8, $B9, $75, $E4 ; CPU:$9850 PRG:1850 8D DB 8B 8E D4 B8 DD BC BA D6 6A 6C B8 B9 75 E4 - .byte $CE, $D4, $D1, $98, $FB, $90, $6C, $66, $E0, $94, $B5, $E8, $9F, $D5, $99, $8C ; CPU:$9860 PRG:1860 CE D4 D1 98 FB 90 6C 66 E0 94 B5 E8 9F D5 99 8C - .byte $8B, $D1, $92, $9E, $FF, $A3, $FF, $C0, $94, $F9, $72, $81, $51, $FD, $73, $CC ; CPU:$9870 PRG:1870 8B D1 92 9E FF A3 FF C0 94 F9 72 81 51 FD 73 CC - .byte $EA, $81, $EC, $8F, $73, $58, $B6, $B6, $6A, $FF, $81, $F7, $B0, $89, $C4, $58 ; CPU:$9880 PRG:1880 EA 81 EC 8F 73 58 B6 B6 6A FF 81 F7 B0 89 C4 58 - .byte $FC, $61, $FF, $DD, $A6, $FF, $72, $C6, $A3, $9C, $D4, $73, $FF, $98, $E3, $DC ; CPU:$9890 PRG:1890 FC 61 FF DD A6 FF 72 C6 A3 9C D4 73 FF 98 E3 DC - .byte $8F, $A3, $BE, $8B, $CF, $7B, $FF, $8B, $EB, $C8, $9F, $91, $CA, $76, $D0, $73 ; CPU:$98A0 PRG:18A0 8F A3 BE 8B CF 7B FF 8B EB C8 9F 91 CA 76 D0 73 - .byte $FF, $85, $F5, $BB, $B2, $81, $D6, $5F, $CF, $6E, $FF, $8F, $EA, $C0, $A8, $94 ; CPU:$98B0 PRG:18B0 FF 85 F5 BB B2 81 D6 5F CF 6E FF 8F EA C0 A8 94 - .byte $BE, $69, $D8, $8B, $E0, $CC, $C5, $DB, $8F, $B8, $A5, $66, $E3, $8C, $D7, $D8 ; CPU:$98C0 PRG:18C0 BE 69 D8 8B E0 CC C5 DB 8F B8 A5 66 E3 8C D7 D8 - .byte $C0, $DA, $9B, $B8, $AC, $54, $C3, $A4, $C0, $EC, $B4, $C9, $B5, $A8, $B2, $56 ; CPU:$98D0 PRG:18D0 C0 DA 9B B8 AC 54 C3 A4 C0 EC B4 C9 B5 A8 B2 56 - .byte $BA, $C6, $9D, $DE, $CA, $A7, $C5, $B7, $9E, $6F, $BA, $C0, $A8, $C2, $D0, $AE ; CPU:$98E0 PRG:18E0 BA C6 9D DE CA A7 C5 B7 9E 6F BA C0 A8 C2 D0 AE - .byte $B2, $B8, $AC, $7F, $B3, $C3, $B1, $B5, $BF, $B1, $B8, $AE, $AE, $AB, $B4, $AF ; CPU:$98F0 PRG:18F0 B2 B8 AC 7F B3 C3 B1 B5 BF B1 B8 AE AE AB B4 AF - .byte $BA, $B8, $A8, $B4, $BA, $B1, $AF, $B6, $B4, $AB, $B6, $B3, $AB, $B4, $B4, $B5 ; CPU:$9900 PRG:1900 BA B8 A8 B4 BA B1 AF B6 B4 AB B6 B3 AB B4 B4 B5 - .byte $B1, $B2, $B3, $AF, $B4, $B1, $AD, $B1, $B5, $B5, $B1, $B3, $B3, $B0, $B0, $B2 ; CPU:$9910 PRG:1910 B1 B2 B3 AF B4 B1 AD B1 B5 B5 B1 B3 B3 B0 B0 B2 - .byte $AA, $B3, $B4, $B3, $B1, $B4, $B4, $B1, $B0, $AF, $AB, $B2, $B0, $B6, $B0, $B5 ; CPU:$9920 PRG:1920 AA B3 B4 B3 B1 B4 B4 B1 B0 AF AB B2 B0 B6 B0 B5 - .byte $B8, $B2, $AF, $B1, $AD, $AF, $B0, $B5, $B1, $B5, $B6, $B1, $B1, $B1, $AE, $AF ; CPU:$9930 PRG:1930 B8 B2 AF B1 AD AF B0 B5 B1 B5 B6 B1 B1 B1 AE AF - .byte $B0, $B3, $B3, $B5, $B4, $B2, $B2, $AF, $B1, $B1, $AE, $B2, $B4, $B2, $B1, $B4 ; CPU:$9940 PRG:1940 B0 B3 B3 B5 B4 B2 B2 AF B1 B1 AE B2 B4 B2 B1 B4 - .byte $B3, $AE, $B1, $B2, $AC, $B1, $B3, $B3, $B2, $B1, $B4, $B0, $B2, $B3, $AF, $B0 ; CPU:$9950 PRG:1950 B3 AE B1 B2 AC B1 B3 B3 B2 B1 B4 B0 B2 B3 AF B0 - .byte $B0, $B5, $B2, $AF, $B6, $B1, $B2, $B3, $B0, $AE, $B1, $B2, $B2, $B1, $B1, $B3 ; CPU:$9960 PRG:1960 B0 B5 B2 AF B6 B1 B2 B3 B0 AE B1 B2 B2 B1 B1 B3 - .byte $B4, $AF, $B1, $B1, $AD, $B1, $B3, $B1, $B1, $B2, $B4, $B3, $B1, $B1, $B0, $AF ; CPU:$9970 PRG:1970 B4 AF B1 B1 AD B1 B3 B1 B1 B2 B4 B3 B1 B1 B0 AF - .byte $AF, $B4, $B2, $AF, $B5, $B2, $AF, $B4, $AF, $AD, $AF, $B0, $B5, $B1, $B0, $B4 ; CPU:$9980 PRG:1980 AF B4 B2 AF B5 B2 AF B4 AF AD AF B0 B5 B1 B0 B4 - .byte $B0, $AD, $B3, $B0, $AC, $B1, $B1, $B3, $B3, $B0, $B3, $AF, $AB, $B4, $B0, $AE ; CPU:$9990 PRG:1990 B0 AD B3 B0 AC B1 B1 B3 B3 B0 B3 AF AB B4 B0 AE - .byte $B0, $AE, $B6, $B2, $B0, $B3, $AE, $B0, $B1, $B4, $B2, $AA, $AF, $B8, $B4, $B1 ; CPU:$99A0 PRG:19A0 B0 AE B6 B2 B0 B3 AE B0 B1 B4 B2 AA AF B8 B4 B1 - .byte $B4, $B1, $B4, $A8, $BC, $BB, $9C, $AD, $C4, $B4, $B0, $BB, $A6, $AD, $B0, $C7 ; CPU:$99B0 PRG:19B0 B4 B1 B4 A8 BC BB 9C AD C4 B4 B0 BB A6 AD B0 C7 - .byte $C0, $9E, $A9, $C5, $AB, $A6, $C4, $AB, $A4, $B4, $D3, $C1, $96, $A8, $CA, $A4 ; CPU:$99C0 PRG:19C0 C0 9E A9 C5 AB A6 C4 AB A4 B4 D3 C1 96 A8 CA A4 - .byte $9E, $CD, $AE, $9E, $B6, $E2, $C1, $89, $A7, $D1, $9F, $96, $D3, $C4, $85, $98 ; CPU:$99D0 PRG:19D0 9E CD AE 9E B6 E2 C1 89 A7 D1 9F 96 D3 C4 85 98 - .byte $E4, $CA, $7A, $A2, $DE, $A6, $91, $C8, $D5, $59, $6B, $FF, $EC, $74, $9F, $E7 ; CPU:$99E0 PRG:19E0 E4 CA 7A A2 DE A6 91 C8 D5 59 6B FF EC 74 9F E7 - .byte $AB, $81, $C2, $F7, $5E, $4B, $F9, $FF, $79, $7E, $EF, $CB, $56, $A8, $FF, $A6 ; CPU:$99F0 PRG:19F0 AB 81 C2 F7 5E 4B F9 FF 79 7E EF CB 56 A8 FF A6 - .byte $12, $C5, $FF, $87, $3B, $FA, $F7, $46, $88, $FF, $E9, $08, $8F, $FF, $D9, $2D ; CPU:$9A00 PRG:1A00 12 C5 FF 87 3B FA F7 46 88 FF E9 08 8F FF D9 2D - .byte $C4, $FF, $5A, $36, $FF, $FF, $5A, $38, $FE, $F9, $71, $A6, $FF, $9A, $39, $C2 ; CPU:$9A10 PRG:1A10 C4 FF 5A 36 FF FF 5A 38 FE F9 71 A6 FF 9A 39 C2 - .byte $FF, $99, $99, $B9, $76, $9A, $FF, $C0, $7A, $B4, $A5, $8A, $CC, $F0, $C2, $8F ; CPU:$9A20 PRG:1A20 FF 99 99 B9 76 9A FF C0 7A B4 A5 8A CC F0 C2 8F - .byte $2C, $A7, $FF, $C7, $A2, $B1, $9F, $76, $BE, $FF, $A8, $94, $A5, $3D, $DE, $FF ; CPU:$9A30 PRG:1A30 2C A7 FF C7 A2 B1 9F 76 BE FF A8 94 A5 3D DE FF - .byte $8A, $64, $C6, $83, $8C, $FF, $FF, $53, $85, $DD, $3B, $F0, $FF, $39, $21, $FC ; CPU:$9A40 PRG:1A40 8A 64 C6 83 8C FF FF 53 85 DD 3B F0 FF 39 21 FC - .byte $B0, $93, $FF, $D6, $1B, $AD, $FF, $27, $FF, $FF, $00, $65, $FF, $86, $86, $FF ; CPU:$9A50 PRG:1A50 B0 93 FF D6 1B AD FF 27 FF FF 00 65 FF 86 86 FF - .byte $8A, $0D, $FF, $FF, $00, $FF, $FF, $00, $C5, $FF, $4F, $8C, $FF, $6E, $2F, $FF ; CPU:$9A60 PRG:1A60 8A 0D FF FF 00 FF FF 00 C5 FF 4F 8C FF 6E 2F FF - .byte $D1, $04, $E7, $FF, $6F, $4B, $FF, $7D, $9D, $FF, $7E, $5D, $FF, $C8, $C1, $84 ; CPU:$9A70 PRG:1A70 D1 04 E7 FF 6F 4B FF 7D 9D FF 7E 5D FF C8 C1 84 - .byte $8B, $FF, $F5, $23, $D7, $D7, $76, $FF, $BD, $52, $F1, $F3, $AF, $76, $76, $FF ; CPU:$9A80 PRG:1A80 8B FF F5 23 D7 D7 76 FF BD 52 F1 F3 AF 76 76 FF - .byte $E3, $0D, $CC, $E8, $A1, $F9, $B5, $53, $D7, $FF, $9C, $A4, $2D, $FF, $FF, $26 ; CPU:$9A90 PRG:1A90 E3 0D CC E8 A1 F9 B5 53 D7 FF 9C A4 2D FF FF 26 - .byte $29, $FF, $AD, $B1, $F5, $1C, $D3, $FF, $63, $A2, $BA, $0D, $FF, $F3, $00, $E8 ; CPU:$9AA0 PRG:1AA0 29 FF AD B1 F5 1C D3 FF 63 A2 BA 0D FF F3 00 E8 - .byte $FF, $7C, $A3, $B4, $65, $FF, $D9, $1B, $FF, $C7, $01, $FF, $79, $00, $FF, $FF ; CPU:$9AB0 PRG:1AB0 FF 7C A3 B4 65 FF D9 1B FF C7 01 FF 79 00 FF FF - .byte $29, $C8, $D1, $8B, $FF, $6B, $61, $FF, $79, $00, $FF, $A5, $00, $FF, $FF, $4C ; CPU:$9AC0 PRG:1AC0 29 C8 D1 8B FF 6B 61 FF 79 00 FF A5 00 FF FF 4C - .byte $CC, $B7, $7B, $FF, $81, $8A, $FF, $86, $65, $DC, $FF, $0A, $36, $FF, $85, $88 ; CPU:$9AD0 PRG:1AD0 CC B7 7B FF 81 8A FF 86 65 DC FF 0A 36 FF 85 88 - .byte $C2, $BC, $DF, $B7, $80, $AC, $FF, $67, $5B, $FF, $FF, $0F, $6C, $FF, $67, $7F ; CPU:$9AE0 PRG:1AE0 C2 BC DF B7 80 AC FF 67 5B FF FF 0F 6C FF 67 7F - .byte $CB, $AA, $FF, $92, $73, $EC, $FB, $47, $87, $FF, $FF, $01, $43, $FF, $9A, $33 ; CPU:$9AF0 PRG:1AF0 CB AA FF 92 73 EC FB 47 87 FF FF 01 43 FF 9A 33 - .byte $D3, $F3, $CC, $89, $7F, $EC, $FF, $28, $9A, $B7, $FF, $14, $00, $FF, $FE, $00 ; CPU:$9B00 PRG:1B00 D3 F3 CC 89 7F EC FF 28 9A B7 FF 14 00 FF FE 00 - .byte $D0, $FF, $87, $88, $8B, $EC, $FF, $27, $8A, $F9, $FF, $B7, $11, $FF, $FF, $00 ; CPU:$9B10 PRG:1B10 D0 FF 87 88 8B EC FF 27 8A F9 FF B7 11 FF FF 00 - .byte $51, $FF, $B3, $59, $A8, $E4, $EC, $95, $4D, $FF, $4E, $FF, $67, $00, $FF, $F1 ; CPU:$9B20 PRG:1B20 51 FF B3 59 A8 E4 EC 95 4D FF 4E FF 67 00 FF F1 - .byte $00, $FF, $FF, $30, $B7, $DF, $D8, $ED, $5B, $AF, $FF, $63, $FF, $4B, $1E, $FF ; CPU:$9B30 PRG:1B30 00 FF FF 30 B7 DF D8 ED 5B AF FF 63 FF 4B 1E FF - .byte $79, $00, $FF, $FF, $36, $EA, $DE, $C7, $E1, $52, $ED, $E4, $5C, $FF, $2D, $38 ; CPU:$9B40 PRG:1B40 79 00 FF FF 36 EA DE C7 E1 52 ED E4 5C FF 2D 38 - .byte $FF, $47, $05, $FF, $C2, $3F, $F9, $D0, $DA, $D0, $41, $FF, $D4, $0B, $FF, $36 ; CPU:$9B50 PRG:1B50 FF 47 05 FF C2 3F F9 D0 DA D0 41 FF D4 0B FF 36 - .byte $00, $FF, $5C, $00, $FF, $CB, $46, $F4, $BF, $E5, $D5, $46, $FF, $CE, $00, $FF ; CPU:$9B60 PRG:1B60 00 FF 5C 00 FF CB 46 F4 BF E5 D5 46 FF CE 00 FF - .byte $53, $00, $FF, $F5, $00, $FF, $FF, $3B, $E1, $BF, $E2, $E0, $3F, $F1, $F8, $1F ; CPU:$9B70 PRG:1B70 53 00 FF F5 00 FF FF 3B E1 BF E2 E0 3F F1 F8 1F - .byte $FF, $FF, $00, $F2, $FF, $00, $84, $FF, $71, $91, $9A, $CD, $FB, $6E, $7E, $FF ; CPU:$9B80 PRG:1B80 FF FF 00 F2 FF 00 84 FF 71 91 9A CD FB 6E 7E FF - .byte $83, $0D, $FF, $25, $00, $FF, $D7, $00, $FF, $FF, $59, $A5, $C6, $FF, $BE, $4E ; CPU:$9B90 PRG:1B90 83 0D FF 25 00 FF D7 00 FF FF 59 A5 C6 FF BE 4E - .byte $EF, $EA, $3A, $64, $FF, $00, $14, $FF, $4B, $00, $FF, $FF, $63, $72, $EE, $FF ; CPU:$9BA0 PRG:1BA0 EF EA 3A 64 FF 00 14 FF 4B 00 FF FF 63 72 EE FF - .byte $74, $8A, $FF, $B7, $70, $5B, $FF, $00, $00, $FF, $AA, $00, $FF, $FF, $42, $64 ; CPU:$9BB0 PRG:1BB0 74 8A FF B7 70 5B FF 00 00 FF AA 00 FF FF 42 64 - .byte $FF, $F3, $77, $9B, $EF, $C6, $78, $88, $FF, $CD, $00, $FF, $FF, $00, $BD, $FF ; CPU:$9BC0 PRG:1BC0 FF F3 77 9B EF C6 78 88 FF CD 00 FF FF 00 BD FF - .byte $61, $51, $FF, $FF, $A5, $76, $D2, $F8, $69, $8D, $8D, $FF, $00, $00, $FF, $95 ; CPU:$9BD0 PRG:1BD0 61 51 FF FF A5 76 D2 F8 69 8D 8D FF 00 00 FF 95 - .byte $00, $FF, $FF, $0F, $7D, $FF, $E9, $5D, $9C, $F0, $7F, $3D, $75, $69, $42, $BE ; CPU:$9BE0 PRG:1BE0 00 FF FF 0F 7D FF E9 5D 9C F0 7F 3D 75 69 42 BE +; ----------------------------------------------------------------------------- +; Routine: Sub_8000 +; Global: Branch target inside Sub: taken when 8000. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_8000: + asl a ; CPU:$8000 PRG:0000 0A + tay ; CPU:$8001 PRG:0001 A8 + beq Sub_OnNonnegative ; CPU:$8002 PRG:0002 F0 39 + lda $8047,y ; CPU:$8004 PRG:0004 B9 47 80 + sta RingEntrancePtrLo ; CPU:$8007 PRG:0007 85 F0 + lda $8048,y ; CPU:$8009 PRG:0009 B9 48 80 + sta RingEntrancePtrHi ; CPU:$800C PRG:000C 85 F1 + lda $8055,y ; CPU:$800E PRG:000E B9 55 80 + sta RingEntrancePtr2Lo ; CPU:$8011 PRG:0011 85 F2 + lda $8056,y ; CPU:$8013 PRG:0013 B9 56 80 + sta RingEntrancePtr2Hi ; CPU:$8016 PRG:0016 85 F3 + ldy #$00 ; CPU:$8018 PRG:0018 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero +; Global: Branch target inside Sub: taken when the tested value is not zero. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero: + lda (RingEntrancePtrLo),y ; CPU:$801A PRG:001A B1 F0 + eor #$FF ; CPU:$801C PRG:001C 49 FF + lsr a ; CPU:$801E PRG:001E 4A + sta APUDMCDIRECT ; CPU:$801F PRG:001F 8D 11 40 + sta ZpF4 ; CPU:$8022 PRG:0022 85 F4 + ldx #$60 ; CPU:$8024 PRG:0024 A2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero2 +; Global: Branch target inside Sub: taken when OnNonzero2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero2: + dex ; CPU:$8026 PRG:0026 CA + bne Sub_OnNonzero2 ; CPU:$8027 PRG:0027 D0 FD + inc RingEntrancePtrLo ; CPU:$8029 PRG:0029 E6 F0 + bne Sub_Loop ; CPU:$802B PRG:002B D0 02 + inc RingEntrancePtrHi ; CPU:$802D PRG:002D E6 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop +; Global: Branch target inside Sub: taken when the loop repeats. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop: + lda RingEntrancePtrLo ; CPU:$802F PRG:002F A5 F0 + cmp RingEntrancePtr2Lo ; CPU:$8031 PRG:0031 C5 F2 + bne Sub_OnNonzero ; CPU:$8033 PRG:0033 D0 E5 + lda RingEntrancePtrHi ; CPU:$8035 PRG:0035 A5 F1 + cmp RingEntrancePtr2Hi ; CPU:$8037 PRG:0037 C5 F3 + bne Sub_OnNonzero ; CPU:$8039 PRG:0039 D0 DF + ldy ZpF4 ; CPU:$803B PRG:003B A4 F4 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative +; Global: Branch target inside Sub: taken when the tested value is not negative. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative: + ldx #$80 ; CPU:$803D PRG:003D A2 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero3 +; Global: Branch target inside Sub: taken when OnNonzero3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero3: + dex ; CPU:$803F PRG:003F CA + bne Sub_OnNonzero3 ; CPU:$8040 PRG:0040 D0 FD + sty APUDMCDIRECT ; CPU:$8042 PRG:0042 8C 11 40 + dey ; CPU:$8045 PRG:0045 88 + bpl Sub_OnNonnegative ; CPU:$8046 PRG:0046 10 F5 + rts ; CPU:$8048 PRG:0048 60 +; ---- data $8049-$8786 (1854 bytes) ---- +; referenced by `lda $8055,y` at $800E (operand $8055 falls inside this region) +; referenced by `lda $8056,y` at $8013 (operand $8056 falls inside this region) +RingEntrancePointerTable: + .byte $65, $80, $25, $84, $05, $88, $DA, $8C, $3B, $91, $2B, $94, $EB, $97, $25, $84 ; CPU:$8049 PRG:-3FB7 65 80 25 84 05 88 DA 8C 3B 91 2B 94 EB 97 25 84 + .byte $05, $88, $DA, $8C, $3B, $91, $2B, $94, $EB, $97, $EA, $9B, $63, $47, $7A, $7A ; CPU:$8059 PRG:0059 05 88 DA 8C 3B 91 2B 94 EB 97 EA 9B 63 47 7A 7A + .byte $26, $58, $FF, $FF, $90, $44, $8E, $73, $51, $EC, $FF, $CE, $29, $52, $87, $2C ; CPU:$8069 PRG:0069 26 58 FF FF 90 44 8E 73 51 EC FF CE 29 52 87 2C + .byte $00, $FF, $FF, $D3, $20, $75, $85, $3A, $D3, $FF, $BB, $00, $BA, $96, $53, $FF ; CPU:$8079 PRG:0079 00 FF FF D3 20 75 85 3A D3 FF BB 00 BA 96 53 FF + .byte $FF, $07, $00, $AE, $46, $00, $FF, $F1, $4F, $00, $9B, $CF, $79, $FF, $FF, $33 ; CPU:$8089 PRG:0089 FF 07 00 AE 46 00 FF F1 4F 00 9B CF 79 FF FF 33 + .byte $00, $B6, $36, $3F, $FF, $FF, $3D, $0A, $BD, $C7, $B7, $FF, $B9, $00, $70, $7B ; CPU:$8099 PRG:0099 00 B6 36 3F FF FF 3D 0A BD C7 B7 FF B9 00 70 7B + .byte $78, $FF, $FF, $83, $0A, $9A, $F8, $D5, $FB, $B7, $22, $4A, $47, $CC, $FF, $F5 ; CPU:$80A9 PRG:00A9 78 FF FF 83 0A 9A F8 D5 FB B7 22 4A 47 CC FF F5 + .byte $41, $50, $AA, $D5, $FF, $FF, $3A, $1E, $69, $79, $FF, $FF, $6B, $00, $94, $FF ; CPU:$80B9 PRG:00B9 41 50 AA D5 FF FF 3A 1E 69 79 FF FF 6B 00 94 FF + .byte $FF, $F4, $68, $1A, $3A, $9C, $FF, $FF, $73, $12, $80, $EC, $FF, $F0, $4B, $1F ; CPU:$80C9 PRG:00C9 FF F4 68 1A 3A 9C FF FF 73 12 80 EC FF F0 4B 1F + .byte $1A, $BF, $FF, $FF, $45, $4B, $A9, $FF, $FF, $AC, $2F, $29, $9B, $FF, $FF, $85 ; CPU:$80D9 PRG:00D9 1A BF FF FF 45 4B A9 FF FF AC 2F 29 9B FF FF 85 + .byte $45, $8A, $F4, $FF, $B2, $65, $13, $8F, $FF, $FD, $7F, $76, $A7, $C5, $CF, $AD ; CPU:$80E9 PRG:00E9 45 8A F4 FF B2 65 13 8F FF FD 7F 76 A7 C5 CF AD + .byte $7F, $72, $F3, $FD, $9E, $8D, $C2, $E2, $B8, $75, $71, $88, $F9, $FA, $92, $72 ; CPU:$80F9 PRG:00F9 7F 72 F3 FD 9E 8D C2 E2 B8 75 71 88 F9 FA 92 72 + .byte $AD, $F6, $CF, $7F, $54, $76, $F6, $F3, $A6, $85, $BF, $D8, $9F, $7B, $92, $DA ; CPU:$8109 PRG:0109 AD F6 CF 7F 54 76 F6 F3 A6 85 BF D8 9F 7B 92 DA + .byte $D5, $AB, $A1, $BC, $CA, $B6, $81, $7A, $D4, $D6, $9E, $92, $B8, $CB, $B5, $80 ; CPU:$8119 PRG:0119 D5 AB A1 BC CA B6 81 7A D4 D6 9E 92 B8 CB B5 80 + .byte $9A, $CD, $C0, $AA, $A6, $A9, $AF, $A3, $91, $C8, $D7, $9E, $99, $BB, $BA, $A6 ; CPU:$8129 PRG:0129 9A CD C0 AA A6 A9 AF A3 91 C8 D7 9E 99 BB BA A6 + .byte $97, $A9, $CE, $A6, $9B, $B2, $C6, $B8, $A1, $88, $B4, $CA, $AF, $A7, $B1, $B8 ; CPU:$8139 PRG:0139 97 A9 CE A6 9B B2 C6 B8 A1 88 B4 CA AF A7 B1 B8 + .byte $B2, $9D, $9F, $C5, $A4, $A0, $B9, $C3, $B3, $A2, $8B, $B9, $D1, $AF, $9C, $A3 ; CPU:$8149 PRG:0149 B2 9D 9F C5 A4 A0 B9 C3 B3 A2 8B B9 D1 AF 9C A3 + .byte $B5, $C1, $A6, $9A, $BF, $B0, $A6, $BC, $BC, $AC, $A3, $96, $AE, $C3, $B4, $AA ; CPU:$8159 PRG:0159 B5 C1 A6 9A BF B0 A6 BC BC AC A3 96 AE C3 B4 AA + .byte $AF, $B3, $B9, $A9, $9A, $B2, $AF, $A5, $B6, $BB, $B1, $B2, $A3, $A1, $BE, $AE ; CPU:$8169 PRG:0169 AF B3 B9 A9 9A B2 AF A5 B6 BB B1 B2 A3 A1 BE AE + .byte $A7, $AF, $B1, $B3, $BA, $9F, $A6, $B8, $AB, $AB, $B2, $AD, $B6, $BA, $9F, $A5 ; CPU:$8179 PRG:0179 A7 AF B1 B3 BA 9F A6 B8 AB AB B2 AD B6 BA 9F A5 + .byte $B5, $AE, $AE, $B2, $AD, $BA, $B6, $A1, $AC, $AE, $A7, $B0, $B4, $AA, $B8, $B9 ; CPU:$8189 PRG:0189 B5 AE AE B2 AD BA B6 A1 AC AE A7 B0 B4 AA B8 B9 + .byte $A6, $A8, $AB, $A7, $B2, $B7, $AD, $B8, $B8, $A4, $A7, $AD, $A7, $AD, $B5, $AF ; CPU:$8199 PRG:0199 A6 A8 AB A7 B2 B7 AD B8 B8 A4 A7 AD A7 AD B5 AF + .byte $BD, $BD, $A2, $9E, $AC, $AA, $AD, $B1, $B0, $BD, $C3, $AA, $98, $A7, $AD, $B1 ; CPU:$81A9 PRG:01A9 BD BD A2 9E AC AA AD B1 B0 BD C3 AA 98 A7 AD B1 + .byte $AE, $AC, $B0, $C3, $B8, $9D, $A7, $A8, $AD, $B2, $B2, $AD, $BA, $BC, $A5, $A1 ; CPU:$81B9 PRG:01B9 AE AC B0 C3 B8 9D A7 A8 AD B2 B2 AD BA BC A5 A1 + .byte $AE, $A9, $A8, $AF, $B3, $B7, $C1, $B1, $9B, $AA, $AD, $AA, $AE, $B1, $B0, $BF ; CPU:$81C9 PRG:01C9 AE A9 A8 AF B3 B7 C1 B1 9B AA AD AA AE B1 B0 BF + .byte $BF, $A7, $9C, $AA, $A7, $AA, $AE, $B1, $B7, $C6, $B6, $99, $A6, $AA, $A9, $AF ; CPU:$81D9 PRG:01D9 BF A7 9C AA A7 AA AE B1 B7 C6 B6 99 A6 AA A9 AF + .byte $B1, $AE, $BF, $C0, $A9, $9D, $AA, $A7, $AC, $AC, $B1, $B5, $C5, $B7, $9A, $A3 ; CPU:$81E9 PRG:01E9 B1 AE BF C0 A9 9D AA A7 AC AC B1 B5 C5 B7 9A A3 + .byte $A9, $A7, $AD, $B4, $B2, $BB, $BF, $AF, $9E, $AA, $A7, $AA, $AF, $B4, $B0, $C0 ; CPU:$81F9 PRG:01F9 A9 A7 AD B4 B2 BB BF AF 9E AA A7 AA AF B4 B0 C0 + .byte $B9, $A0, $9E, $AA, $A8, $AD, $B3, $AF, $B9, $C1, $B3, $98, $A6, $A9, $AD, $B1 ; CPU:$8209 PRG:0209 B9 A0 9E AA A8 AD B3 AF B9 C1 B3 98 A6 A9 AD B1 + .byte $B5, $B1, $BC, $BA, $A9, $9D, $A9, $A5, $AC, $B2, $B1, $B5, $C0, $B6, $9D, $A3 ; CPU:$8219 PRG:0219 B5 B1 BC BA A9 9D A9 A5 AC B2 B1 B5 C0 B6 9D A3 + .byte $A8, $A7, $AF, $B5, $B0, $BC, $C1, $AD, $99, $A8, $A8, $AC, $B0, $B2, $B1, $BE ; CPU:$8229 PRG:0229 A8 A7 AF B5 B0 BC C1 AD 99 A8 A8 AC B0 B2 B1 BE + .byte $B9, $A4, $9F, $A9, $A5, $AC, $B1, $B3, $B7, $BF, $B2, $9B, $A5, $A7, $AA, $B0 ; CPU:$8239 PRG:0239 B9 A4 9F A9 A5 AC B1 B3 B7 BF B2 9B A5 A7 AA B0 + .byte $B6, $B1, $BC, $BB, $AD, $9E, $A8, $A5, $AC, $B0, $B5, $B4, $BD, $B7, $A2, $9F ; CPU:$8249 PRG:0249 B6 B1 BC BB AD 9E A8 A5 AC B0 B5 B4 BD B7 A2 9F + .byte $A9, $A7, $AB, $B1, $B1, $B9, $BE, $B3, $9E, $A3, $A5, $AA, $B1, $B6, $B0, $BA ; CPU:$8259 PRG:0259 A9 A7 AB B1 B1 B9 BE B3 9E A3 A5 AA B1 B6 B0 BA + .byte $BB, $B0, $9F, $A8, $A6, $AA, $B2, $B5, $B1, $BC, $BB, $AC, $9F, $A9, $A5, $AB ; CPU:$8269 PRG:0269 BB B0 9F A8 A6 AA B2 B5 B1 BC BB AC 9F A9 A5 AB + .byte $B2, $B4, $B4, $BD, $B7, $A6, $9F, $A7, $A5, $AC, $B3, $B1, $B6, $BB, $B6, $A6 ; CPU:$8279 PRG:0279 B2 B4 B4 BD B7 A6 9F A7 A5 AC B3 B1 B6 BB B6 A6 + .byte $A1, $A8, $A4, $AC, $B2, $AF, $B5, $BC, $B5, $A4, $A1, $A7, $A4, $AE, $B4, $B0 ; CPU:$8289 PRG:0289 A1 A8 A4 AC B2 AF B5 BC B5 A4 A1 A7 A4 AE B4 B0 + .byte $B5, $BB, $B4, $A5, $A2, $A6, $A5, $AD, $B5, $B0, $B3, $B9, $B6, $A9, $A3, $A7 ; CPU:$8299 PRG:0299 B5 BB B4 A5 A2 A6 A5 AD B5 B0 B3 B9 B6 A9 A3 A7 + .byte $A5, $AC, $B4, $B0, $B2, $BA, $B8, $AC, $A3, $A7, $A5, $AC, $B2, $B0, $B1, $BA ; CPU:$82A9 PRG:02A9 A5 AC B4 B0 B2 BA B8 AC A3 A7 A5 AC B2 B0 B1 BA + .byte $B9, $AF, $A5, $A7, $A3, $A8, $AF, $B1, $B1, $BA, $BC, $B3, $A7, $A4, $A2, $A6 ; CPU:$82B9 PRG:02B9 B9 AF A5 A7 A3 A8 AF B1 B1 BA BC B3 A7 A4 A2 A6 + .byte $AD, $B2, $B0, $B6, $B9, $B5, $AC, $A5, $A4, $A3, $AC, $B1, $B0, $B3, $B8, $B9 ; CPU:$82C9 PRG:02C9 AD B2 B0 B6 B9 B5 AC A5 A4 A3 AC B1 B0 B3 B8 B9 + .byte $B0, $A7, $A4, $A2, $A6, $AE, $B0, $B0, $B8, $BB, $B6, $AE, $A5, $A2, $A1, $AB ; CPU:$82D9 PRG:02D9 B0 A7 A4 A2 A6 AE B0 B0 B8 BB B6 AE A5 A2 A1 AB + .byte $AF, $B1, $B4, $BA, $B9, $B4, $A9, $A2, $9F, $A5, $AD, $B1, $B0, $B7, $BC, $B8 ; CPU:$82E9 PRG:02E9 AF B1 B4 BA B9 B4 A9 A2 9F A5 AD B1 B0 B7 BC B8 + .byte $AF, $A4, $A1, $A1, $AA, $AF, $B1, $B2, $B9, $BB, $B5, $AA, $A2, $A0, $A3, $AB ; CPU:$82F9 PRG:02F9 AF A4 A1 A1 AA AF B1 B2 B9 BB B5 AA A2 A0 A3 AB + .byte $B0, $B0, $B5, $BA, $BA, $B3, $A7, $A2, $9F, $A5, $AC, $B1, $B1, $B8, $BC, $B8 ; CPU:$8309 PRG:0309 B0 B0 B5 BA BA B3 A7 A2 9F A5 AC B1 B1 B8 BC B8 + .byte $AF, $A4, $A1, $9F, $A9, $AE, $B2, $B2, $BA, $BC, $B5, $AB, $A3, $A0, $A2, $AA ; CPU:$8319 PRG:0319 AF A4 A1 9F A9 AE B2 B2 BA BC B5 AB A3 A0 A2 AA + .byte $AF, $B1, $B6, $BC, $BA, $B3, $A8, $A2, $9D, $A3, $AB, $B1, $B3, $B9, $BC, $B9 ; CPU:$8329 PRG:0329 AF B1 B6 BC BA B3 A8 A2 9D A3 AB B1 B3 B9 BC B9 + .byte $B0, $A5, $A1, $9E, $A8, $AD, $B2, $B5, $BA, $BB, $B7, $AD, $A3, $9F, $A0, $A8 ; CPU:$8339 PRG:0339 B0 A5 A1 9E A8 AD B2 B5 BA BB B7 AD A3 9F A0 A8 + .byte $AE, $B2, $B7, $BB, $BA, $B5, $AA, $A1, $9D, $A2, $A9, $B0, $B3, $B9, $BC, $B9 ; CPU:$8349 PRG:0349 AE B2 B7 BB BA B5 AA A1 9D A2 A9 B0 B3 B9 BC B9 + .byte $B1, $A6, $A1, $9E, $A6, $AC, $B2, $B5, $BB, $BB, $B7, $AF, $A3, $9F, $9F, $A8 ; CPU:$8359 PRG:0359 B1 A6 A1 9E A6 AC B2 B5 BB BB B7 AF A3 9F 9F A8 + .byte $AE, $B3, $B7, $BB, $BA, $B5, $A9, $A1, $9E, $A2, $A9, $B0, $B3, $B8, $BB, $B8 ; CPU:$8369 PRG:0369 AE B3 B7 BB BA B5 A9 A1 9E A2 A9 B0 B3 B8 BB B8 + .byte $B2, $A6, $A1, $9E, $A5, $AB, $B3, $B6, $BB, $BB, $B7, $AE, $A4, $A0, $9F, $A7 ; CPU:$8379 PRG:0379 B2 A6 A1 9E A5 AB B3 B6 BB BB B7 AE A4 A0 9F A7 + .byte $AE, $B3, $B7, $BB, $BA, $B4, $AA, $A2, $9E, $A2, $A9, $B0, $B4, $B8, $BB, $B8 ; CPU:$8389 PRG:0389 AE B3 B7 BB BA B4 AA A2 9E A2 A9 B0 B4 B8 BB B8 + .byte $B2, $A6, $A1, $9D, $A4, $AB, $B2, $B6, $BB, $BB, $B7, $AF, $A5, $9F, $A0, $A7 ; CPU:$8399 PRG:0399 B2 A6 A1 9D A4 AB B2 B6 BB BB B7 AF A5 9F A0 A7 + .byte $AE, $B3, $B7, $BB, $B9, $B5, $AA, $A2, $9D, $A1, $A8, $AF, $B4, $B9, $BB, $B8 ; CPU:$83A9 PRG:03A9 AE B3 B7 BB B9 B5 AA A2 9D A1 A8 AF B4 B9 BB B8 + .byte $B2, $A7, $A1, $9D, $A3, $AA, $B1, $B5, $B9, $BA, $B7, $B1, $A6, $A0, $9E, $A5 ; CPU:$83B9 PRG:03B9 B2 A7 A1 9D A3 AA B1 B5 B9 BA B7 B1 A6 A0 9E A5 + .byte $AB, $B2, $B6, $BA, $BA, $B8, $B0, $A5, $9F, $9F, $A5, $AC, $B2, $B7, $BB, $BA ; CPU:$83C9 PRG:03C9 AB B2 B6 BA BA B8 B0 A5 9F 9F A5 AC B2 B7 BB BA + .byte $B7, $AF, $A4, $9F, $9F, $A5, $AD, $B2, $B7, $BA, $BA, $B6, $AE, $A3, $9F, $A1 ; CPU:$83D9 PRG:03D9 B7 AF A4 9F 9F A5 AD B2 B7 BA BA B6 AE A3 9F A1 + .byte $A6, $AD, $B2, $B7, $BA, $BA, $B6, $AE, $A3, $9F, $A0, $A5, $AD, $B2, $B7, $BA ; CPU:$83E9 PRG:03E9 A6 AD B2 B7 BA BA B6 AE A3 9F A0 A5 AD B2 B7 BA + .byte $BB, $B6, $AE, $A4, $9F, $A0, $A6, $AD, $B2, $B7, $BA, $B9, $B6, $AF, $A4, $A0 ; CPU:$83F9 PRG:03F9 BB B6 AE A4 9F A0 A6 AD B2 B7 BA B9 B6 AF A4 A0 + .byte $9F, $A5, $AB, $B1, $B6, $B9, $B9, $B6, $B0, $A6, $A1, $9F, $A4, $AB, $B0, $B5 ; CPU:$8409 PRG:0409 9F A5 AB B1 B6 B9 B9 B6 B0 A6 A1 9F A4 AB B0 B5 + .byte $B9, $B8, $B7, $B2, $A9, $A1, $A0, $A3, $A8, $AF, $B4, $B7, $AB, $AB, $AB, $AB ; CPU:$8419 PRG:0419 B9 B8 B7 B2 A9 A1 A0 A3 A8 AF B4 B7 AB AB AB AB + .byte $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB ; CPU:$8429 PRG:0429 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB + .byte $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB ; CPU:$8439 PRG:0439 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB + .byte $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AB, $AF, $AE, $AD, $AB ; CPU:$8449 PRG:0449 AB AB AB AB AB AB AB AB AB AB AB AB AF AE AD AB + .byte $AB, $AA, $A9, $AB, $AB, $AF, $AB, $AC, $A9, $A9, $A7, $A7, $AE, $AB, $AF, $AE ; CPU:$8459 PRG:0459 AB AA A9 AB AB AF AB AC A9 A9 A7 A7 AE AB AF AE + .byte $B0, $AD, $AB, $A5, $A7, $A6, $AD, $AE, $AD, $A9, $AA, $A8, $AC, $AF, $AB, $B0 ; CPU:$8469 PRG:0469 B0 AD AB A5 A7 A6 AD AE AD A9 AA A8 AC AF AB B0 + .byte $A6, $AC, $A6, $A8, $A9, $A8, $AD, $A9, $A8, $AC, $AC, $AC, $AE, $AA, $AA, $AC ; CPU:$8479 PRG:0479 A6 AC A6 A8 A9 A8 AD A9 A8 AC AC AC AE AA AA AC + .byte $A8, $AB, $A4, $A9, $AA, $A8, $AA, $A9, $AC, $AD, $B3, $AD, $A7, $AA, $AA, $AB ; CPU:$8489 PRG:0489 A8 AB A4 A9 AA A8 AA A9 AC AD B3 AD A7 AA AA AB + .byte $AB, $AC, $A9, $A7, $A5, $AC, $AC, $B0, $AD, $B0, $AF, $AD, $A9, $B1, $AA, $AA ; CPU:$8499 PRG:0499 AB AC A9 A7 A5 AC AC B0 AD B0 AF AD A9 B1 AA AA + .byte $B0, $AA, $AD, $A5, $9D, $99, $9F, $A3, $B1, $BA, $BE, $C6, $BF, $B4, $A8, $94 ; CPU:$84A9 PRG:04A9 B0 AA AD A5 9D 99 9F A3 B1 BA BE C6 BF B4 A8 94 + .byte $90, $7C, $9A, $9B, $B3, $C8, $CF, $DD, $D5, $C1, $AB, $97, $82, $74, $6A, $91 ; CPU:$84B9 PRG:04B9 90 7C 9A 9B B3 C8 CF DD D5 C1 AB 97 82 74 6A 91 + .byte $A1, $BF, $E6, $E6, $F0, $DB, $BE, $95, $79, $62, $50, $71, $94, $B8, $E8, $FF ; CPU:$84C9 PRG:04C9 A1 BF E6 E6 F0 DB BE 95 79 62 50 71 94 B8 E8 FF + .byte $FF, $F7, $CC, $8D, $6A, $4F, $32, $5E, $92, $B9, $F0, $FF, $FF, $FF, $D5, $97 ; CPU:$84D9 PRG:04D9 FF F7 CC 8D 6A 4F 32 5E 92 B9 F0 FF FF FF D5 97 + .byte $68, $52, $2A, $3D, $8D, $B5, $EA, $FF, $FF, $FF, $E3, $87, $78, $53, $3B, $21 ; CPU:$84E9 PRG:04E9 68 52 2A 3D 8D B5 EA FF FF FF E3 87 78 53 3B 21 + .byte $93, $AC, $EB, $FF, $FF, $F5, $E1, $8D, $75, $58, $36, $14, $98, $B6, $F4, $FF ; CPU:$84F9 PRG:04F9 93 AC EB FF FF F5 E1 8D 75 58 36 14 98 B6 F4 FF + .byte $FF, $EB, $D5, $7D, $65, $50, $24, $49, $A4, $CB, $FF, $FF, $FF, $DC, $C8, $75 ; CPU:$8509 PRG:0509 FF EB D5 7D 65 50 24 49 A4 CB FF FF FF DC C8 75 + .byte $51, $3B, $06, $80, $D0, $F9, $FF, $FF, $DA, $B6, $80, $50, $44, $26, $71, $B3 ; CPU:$8519 PRG:0519 51 3B 06 80 D0 F9 FF FF DA B6 80 50 44 26 71 B3 + .byte $F4, $FF, $FF, $ED, $BB, $91, $66, $3D, $22, $6C, $A2, $EC, $FF, $FF, $F0, $C6 ; CPU:$8529 PRG:0529 F4 FF FF ED BB 91 66 3D 22 6C A2 EC FF FF F0 C6 + .byte $8E, $5D, $40, $1C, $75, $AB, $EC, $FF, $FF, $ED, $C1, $8D, $4B, $39, $16, $7D ; CPU:$8539 PRG:0539 8E 5D 40 1C 75 AB EC FF FF ED C1 8D 4B 39 16 7D + .byte $BB, $F5, $FF, $FF, $EB, $B9, $85, $45, $22, $2E, $8A, $C2, $FE, $FF, $FF, $E8 ; CPU:$8549 PRG:0549 BB F5 FF FF EB B9 85 45 22 2E 8A C2 FE FF FF E8 + .byte $BA, $7D, $3E, $19, $45, $8F, $D0, $FF, $FF, $FF, $DD, $B0, $6D, $3A, $11, $59 ; CPU:$8559 PRG:0559 BA 7D 3E 19 45 8F D0 FF FF FF DD B0 6D 3A 11 59 + .byte $9B, $DC, $FF, $FF, $FF, $CF, $A2, $5A, $22, $28, $72, $AD, $E8, $FF, $FF, $FA ; CPU:$8569 PRG:0569 9B DC FF FF FF CF A2 5A 22 28 72 AD E8 FF FF FA + .byte $CE, $8F, $4C, $1A, $46, $7E, $C0, $F9, $FF, $FF, $E7, $B8, $67, $2F, $24, $5D ; CPU:$8579 PRG:0579 CE 8F 4C 1A 46 7E C0 F9 FF FF E7 B8 67 2F 24 5D + .byte $9C, $D7, $FF, $FF, $FF, $DF, $97, $55, $1A, $36, $71, $BA, $F1, $FF, $FF, $FD ; CPU:$8589 PRG:0589 9C D7 FF FF FF DF 97 55 1A 36 71 BA F1 FF FF FD + .byte $C1, $6F, $2B, $1C, $46, $94, $D0, $FF, $FF, $FF, $E5, $99, $51, $19, $2C, $67 ; CPU:$8599 PRG:0599 C1 6F 2B 1C 46 94 D0 FF FF FF E5 99 51 19 2C 67 + .byte $B0, $F0, $FF, $FF, $FF, $C1, $77, $2F, $1F, $41, $8E, $D0, $FF, $FF, $FF, $E2 ; CPU:$85A9 PRG:05A9 B0 F0 FF FF FF C1 77 2F 1F 41 8E D0 FF FF FF E2 + .byte $8F, $4D, $2B, $37, $76, $B9, $F4, $FF, $FF, $F0, $9B, $5F, $39, $3C, $69, $AE ; CPU:$85B9 PRG:05B9 8F 4D 2B 37 76 B9 F4 FF FF F0 9B 5F 39 3C 69 AE + .byte $E5, $FF, $FF, $F3, $A2, $65, $49, $43, $69, $AA, $DF, $FC, $FF, $F6, $A2, $65 ; CPU:$85C9 PRG:05C9 E5 FF FF F3 A2 65 49 43 69 AA DF FC FF F6 A2 65 + .byte $4C, $4A, $69, $A8, $DF, $FB, $FF, $F2, $A2, $66, $4B, $4E, $71, $AA, $DF, $FC ; CPU:$85D9 PRG:05D9 4C 4A 69 A8 DF FB FF F2 A2 66 4B 4E 71 AA DF FC + .byte $FF, $E9, $99, $60, $4F, $53, $7C, $B4, $E1, $FF, $FF, $D6, $8D, $5A, $58, $61 ; CPU:$85E9 PRG:05E9 FF E9 99 60 4F 53 7C B4 E1 FF FF D6 8D 5A 58 61 + .byte $8D, $C4, $E8, $FF, $F9, $BB, $73, $52, $61, $75, $A9, $DD, $F0, $FF, $E2, $95 ; CPU:$85F9 PRG:05F9 8D C4 E8 FF F9 BB 73 52 61 75 A9 DD F0 FF E2 95 + .byte $58, $4A, $65, $8C, $C6, $F3, $FF, $FF, $C6, $76, $41, $4B, $6E, $A6, $E1, $FF ; CPU:$8609 PRG:0609 58 4A 65 8C C6 F3 FF FF C6 76 41 4B 6E A6 E1 FF + .byte $FF, $ED, $9D, $56, $3D, $54, $84, $C7, $FB, $FF, $FF, $C6, $70, $38, $45, $66 ; CPU:$8619 PRG:0619 FF ED 9D 56 3D 54 84 C7 FB FF FF C6 70 38 45 66 + .byte $A7, $EB, $FF, $FF, $E8, $93, $45, $2D, $4D, $8A, $CF, $FF, $FF, $FF, $B9, $65 ; CPU:$8629 PRG:0629 A7 EB FF FF E8 93 45 2D 4D 8A CF FF FF FF B9 65 + .byte $31, $3F, $6C, $B6, $F4, $FF, $FF, $D8, $7F, $3B, $37, $5C, $A2, $E8, $FF, $FF ; CPU:$8639 PRG:0639 31 3F 6C B6 F4 FF FF D8 7F 3B 37 5C A2 E8 FF FF + .byte $ED, $95, $44, $2F, $4D, $88, $D3, $FF, $FF, $FE, $AD, $57, $33, $47, $7C, $C2 ; CPU:$8649 PRG:0649 ED 95 44 2F 4D 88 D3 FF FF FE AD 57 33 47 7C C2 + .byte $F9, $FF, $FF, $BF, $69, $3D, $49, $77, $B8, $F0, $FF, $FF, $C4, $76, $43, $4D ; CPU:$8659 PRG:0659 F9 FF FF BF 69 3D 49 77 B8 F0 FF FF C4 76 43 4D + .byte $78, $B4, $EC, $FF, $FF, $C5, $78, $45, $4D, $76, $B3, $EB, $FF, $FF, $C8, $7C ; CPU:$8669 PRG:0669 78 B4 EC FF FF C5 78 45 4D 76 B3 EB FF FF C8 7C + .byte $41, $4C, $74, $AF, $E9, $FF, $FF, $CD, $85, $43, $4B, $6E, $A9, $E3, $FF, $FF ; CPU:$8679 PRG:0679 41 4C 74 AF E9 FF FF CD 85 43 4B 6E A9 E3 FF FF + .byte $D1, $8A, $49, $50, $71, $A6, $DE, $FE, $FF, $D4, $90, $50, $56, $77, $A9, $D8 ; CPU:$8689 PRG:0689 D1 8A 49 50 71 A6 DE FE FF D4 90 50 56 77 A9 D8 + .byte $F9, $F9, $CB, $8E, $56, $5E, $7F, $AE, $DA, $F4, $F1, $C3, $85, $57, $64, $89 ; CPU:$8699 PRG:0699 F9 F9 CB 8E 56 5E 7F AE DA F4 F1 C3 85 57 64 89 + .byte $B6, $E1, $F3, $E7, $B8, $7E, $58, $66, $90, $C0, $E6, $F2, $E3, $B1, $75, $58 ; CPU:$86A9 PRG:06A9 B6 E1 F3 E7 B8 7E 58 66 90 C0 E6 F2 E3 B1 75 58 + .byte $6A, $95, $C4, $E8, $F2, $DC, $A6, $6C, $57, $6D, $9D, $CB, $EA, $F0, $D3, $9B ; CPU:$86B9 PRG:06B9 6A 95 C4 E8 F2 DC A6 6C 57 6D 9D CB EA F0 D3 9B + .byte $65, $54, $74, $A6, $D1, $ED, $F0, $CA, $8F, $5C, $57, $7D, $AE, $D6, $F0, $EB ; CPU:$86C9 PRG:06C9 65 54 74 A6 D1 ED F0 CA 8F 5C 57 7D AE D6 F0 EB + .byte $C0, $8A, $57, $60, $86, $B5, $DB, $F0, $E7, $B7, $84, $59, $6A, $91, $BB, $E1 ; CPU:$86D9 PRG:06D9 C0 8A 57 60 86 B5 DB F0 E7 B7 84 59 6A 91 BB E1 + .byte $F0, $DF, $B0, $7E, $5D, $6F, $99, $C2, $E2, $EB, $D8, $A8, $74, $5D, $75, $A0 ; CPU:$86E9 PRG:06E9 F0 DF B0 7E 5D 6F 99 C2 E2 EB D8 A8 74 5D 75 A0 + .byte $C6, $E1, $E8, $CE, $9C, $6E, $5D, $7A, $A7, $CB, $E3, $E6, $C6, $93, $67, $5D ; CPU:$86F9 PRG:06F9 C6 E1 E8 CE 9C 6E 5D 7A A7 CB E3 E6 C6 93 67 5D + .byte $80, $B0, $D0, $E5, $E3, $BF, $8C, $61, $5F, $85, $B4, $D4, $E8, $E2, $BB, $8B ; CPU:$8709 PRG:0709 80 B0 D0 E5 E3 BF 8C 61 5F 85 B4 D4 E8 E2 BB 8B + .byte $5F, $63, $8B, $B7, $D6, $E8, $DF, $B9, $8C, $5F, $6C, $93, $BB, $D8, $E6, $DA ; CPU:$8719 PRG:0719 5F 63 8B B7 D6 E8 DF B9 8C 5F 6C 93 BB D8 E6 DA + .byte $B4, $89, $61, $73, $9A, $BE, $DA, $E5, $D6, $AF, $83, $61, $74, $9E, $C1, $DC ; CPU:$8729 PRG:0729 B4 89 61 73 9A BE DA E5 D6 AF 83 61 74 9E C1 DC + .byte $E4, $D4, $AB, $82, $63, $76, $9E, $C2, $DC, $E2, $D2, $AB, $7F, $63, $77, $9F ; CPU:$8739 PRG:0739 E4 D4 AB 82 63 76 9E C2 DC E2 D2 AB 7F 63 77 9F + .byte $C1, $DB, $E2, $CF, $A8, $7F, $64, $77, $9F, $C0, $DA, $E0, $CF, $A9, $80, $66 ; CPU:$8749 PRG:0749 C1 DB E2 CF A8 7F 64 77 9F C0 DA E0 CF A9 80 66 + .byte $78, $9E, $BF, $D9, $DF, $CF, $AB, $84, $67, $79, $9E, $BE, $D8, $E0, $D1, $AE ; CPU:$8759 PRG:0759 78 9E BF D9 DF CF AB 84 67 79 9E BE D8 E0 D1 AE + .byte $87, $68, $78, $9A, $BB, $D5, $E0, $D0, $B2, $8D, $6B, $72, $95, $B6, $CF, $DF ; CPU:$8769 PRG:0769 87 68 78 9A BB D5 E0 D0 B2 8D 6B 72 95 B6 CF DF + .byte $D4, $B8, $94, $72, $6B, $8C, $AF, $C7, $DA, $D6, $BD, $9B, $7B, $6A ; CPU:$8779 PRG:0779 D4 B8 94 72 6B 8C AF C7 DA D6 BD 9B 7B 6A +; ----------------------------------------------------------------------------- +; Routine: Label_8787 +; Global: Branch target inside Label: taken when 8787. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_8787: + .byte $83, $A8 ; CPU:$8787 PRG:0787 83 A8 -- sax (ZpA8,x) (undocumented; ca65 cannot encode) + .byte $C2, $D5 ; CPU:$8789 PRG:0789 C2 D5 -- nop #$D5 (undocumented; ca65 cannot encode) + dec ZpC4,x ; CPU:$878B PRG:078B D6 C4 + ldx #$86 ; CPU:$878D PRG:078D A2 86 + jmp ($A07D) ; CPU:$878F PRG:078F 6C 7D A0 +; ---- data $8792-$9BEF (5214 bytes) ---- +UnreachedRomData: + .byte $BC, $D2, $D9, $CC, $AF, $90, $6D, $74, $95, $B4, $CC, $D9, $D3, $BD, $9E, $7B ; CPU:$8792 PRG:-386E BC D2 D9 CC AF 90 6D 74 95 B4 CC D9 D3 BD 9E 7B + .byte $69, $83, $A7, $C0, $D2, $D6, $C6, $AB, $8D, $6D, $78, $9A, $B6, $CD, $D7, $D1 ; CPU:$87A2 PRG:07A2 69 83 A7 C0 D2 D6 C6 AB 8D 6D 78 9A B6 CD D7 D1 + .byte $BC, $9D, $79, $69, $84, $A7, $BE, $D1, $D9, $C8, $AD, $91, $6E, $76, $97, $B3 ; CPU:$87B2 PRG:07B2 BC 9D 79 69 84 A7 BE D1 D9 C8 AD 91 6E 76 97 B3 + .byte $C9, $D9, $D4, $C0, $A5, $83, $6A, $7B, $A0, $B9, $CD, $DA, $CF, $B5, $99, $77 ; CPU:$87C2 PRG:07C2 C9 D9 D4 C0 A5 83 6A 7B A0 B9 CD DA CF B5 99 77 + .byte $67, $85, $A9, $C2, $D4, $DA, $C6, $AD, $91, $6C, $70, $92, $B4, $CA, $D7, $D5 ; CPU:$87D2 PRG:07D2 67 85 A9 C2 D4 DA C6 AD 91 6C 70 92 B4 CA D7 D5 + .byte $BF, $A6, $8B, $6C, $77, $9D, $BA, $CC, $D6, $CF, $BA, $A1, $89, $71, $7F, $A2 ; CPU:$87E2 PRG:07E2 BF A6 8B 6C 77 9D BA CC D6 CF BA A1 89 71 7F A2 + .byte $BC, $CA, $D2, $C9, $B6, $9F, $8B, $77, $85, $A2, $BB, $C6, $CD, $C5, $C7, $C9 ; CPU:$87F2 PRG:07F2 BC CA D2 C9 B6 9F 8B 77 85 A2 BB C6 CD C5 C7 C9 + .byte $CB, $CD, $CF, $A6, $A6, $D2, $FF, $DE, $E2, $CD, $94, $93, $77, $7F, $86, $60 ; CPU:$8802 PRG:0802 CB CD CF A6 A6 D2 FF DE E2 CD 94 93 77 7F 86 60 + .byte $7F, $99, $AE, $E2, $FF, $E2, $D6, $CF, $86, $8A, $7A, $75, $7C, $51, $A8, $A8 ; CPU:$8812 PRG:0812 7F 99 AE E2 FF E2 D6 CF 86 8A 7A 75 7C 51 A8 A8 + .byte $C4, $F1, $E7, $D2, $D6, $AB, $91, $84, $75, $6C, $4E, $9C, $AA, $BA, $F2, $EC ; CPU:$8822 PRG:0822 C4 F1 E7 D2 D6 AB 91 84 75 6C 4E 9C AA BA F2 EC + .byte $D1, $DD, $B6, $95, $85, $6F, $64, $4D, $9D, $A7, $B8, $EA, $F2, $D1, $DF, $BA ; CPU:$8832 PRG:0832 D1 DD B6 95 85 6F 64 4D 9D A7 B8 EA F2 D1 DF BA + .byte $8A, $86, $6E, $63, $43, $AD, $9D, $C4, $F1, $EB, $CE, $DB, $B7, $8B, $8B, $6A ; CPU:$8842 PRG:0842 8A 86 6E 63 43 AD 9D C4 F1 EB CE DB B7 8B 8B 6A + .byte $58, $4E, $AC, $91, $E1, $F8, $E5, $C7, $DE, $9C, $95, $82, $68, $48, $84, $A1 ; CPU:$8852 PRG:0852 58 4E AC 91 E1 F8 E5 C7 DE 9C 95 82 68 48 84 A1 + .byte $9C, $EA, $E9, $D6, $D6, $D1, $91, $98, $70, $65, $46, $AF, $86, $C9, $E1, $E3 ; CPU:$8862 PRG:0862 9C EA E9 D6 D6 D1 91 98 70 65 46 AF 86 C9 E1 E3 + .byte $C4, $E3, $B3, $A2, $88, $74, $5B, $7D, $A6, $88, $D9, $C8, $D2, $CC, $D9, $A6 ; CPU:$8872 PRG:0872 C4 E3 B3 A2 88 74 5B 7D A6 88 D9 C8 D2 CC D9 A6 + .byte $A2, $7C, $77, $5E, $B0, $81, $BC, $CF, $C3, $C8, $D3, $B9, $A3, $8E, $83, $67 ; CPU:$8882 PRG:0882 A2 7C 77 5E B0 81 BC CF C3 C8 D3 B9 A3 8E 83 67 + .byte $9B, $A0, $97, $D4, $B8, $C5, $C8, $CC, $A0, $99, $85, $6D, $8E, $A3, $91, $CC ; CPU:$8892 PRG:0892 9B A0 97 D4 B8 C5 C8 CC A0 99 85 6D 8E A3 91 CC + .byte $BF, $C3, $CB, $CE, $A7, $94, $86, $65, $8B, $A3, $91, $CF, $BE, $C4, $D1, $CE ; CPU:$88A2 PRG:08A2 BF C3 CB CE A7 94 86 65 8B A3 91 CF BE C4 D1 CE + .byte $A6, $9D, $77, $5F, $94, $94, $9C, $D8, $B8, $D0, $D2, $C7, $A2, $99, $68, $71 ; CPU:$88B2 PRG:08B2 A6 9D 77 5F 94 94 9C D8 B8 D0 D2 C7 A2 99 68 71 + .byte $9C, $81, $BF, $C6, $BE, $D3, $CC, $B6, $A3, $7F, $5E, $99, $82, $AA, $D5, $B6 ; CPU:$88C2 PRG:08C2 9C 81 BF C6 BE D3 CC B6 A3 7F 5E 99 82 AA D5 B6 + .byte $D6, $D1, $BA, $AC, $89, $55, $90, $87, $95, $E1, $BC, $D5, $D7, $B5, $A0, $87 ; CPU:$88D2 PRG:08D2 D6 D1 BA AC 89 55 90 87 95 E1 BC D5 D7 B5 A0 87 + .byte $41, $94, $7F, $A6, $EC, $C8, $DC, $E1, $9B, $9F, $67, $3B, $AB, $74, $D5, $F1 ; CPU:$88E2 PRG:08E2 41 94 7F A6 EC C8 DC E1 9B 9F 67 3B AB 74 D5 F1 + .byte $D2, $E1, $CC, $79, $8A, $21, $83, $91, $AE, $FF, $E7, $DF, $F0, $79, $8A, $35 ; CPU:$88F2 PRG:08F2 D2 E1 CC 79 8A 21 83 91 AE FF E7 DF F0 79 8A 35 + .byte $3F, $A3, $92, $FF, $FF, $DF, $F5, $98, $7B, $50, $1F, $A5, $81, $FF, $FF, $E7 ; CPU:$8902 PRG:0902 3F A3 92 FF FF DF F5 98 7B 50 1F A5 81 FF FF E7 + .byte $EB, $9E, $76, $57, $18, $A8, $7E, $FF, $FA, $E9, $E2, $97, $6B, $47, $39, $A7 ; CPU:$8912 PRG:0912 EB 9E 76 57 18 A8 7E FF FA E9 E2 97 6B 47 39 A7 + .byte $9E, $FF, $F8, $F1, $DB, $80, $72, $13, $76, $90, $D8, $FF, $F9, $E1, $BA, $61 ; CPU:$8922 PRG:0922 9E FF F8 F1 DB 80 72 13 76 90 D8 FF F9 E1 BA 61 + .byte $62, $09, $A8, $73, $FF, $EF, $FC, $C9, $8A, $5F, $22, $6D, $AF, $CD, $FF, $DD ; CPU:$8932 PRG:0932 62 09 A8 73 FF EF FC C9 8A 5F 22 6D AF CD FF DD + .byte $EB, $8F, $62, $45, $28, $B1, $A1, $FF, $F6, $F8, $B0, $65, $4C, $03, $9E, $9C ; CPU:$8942 PRG:0942 EB 8F 62 45 28 B1 A1 FF F6 F8 B0 65 4C 03 9E 9C + .byte $FF, $FF, $F2, $D4, $53, $46, $00, $93, $A3, $FF, $FF, $FF, $F4, $67, $56, $00 ; CPU:$8952 PRG:0952 FF FF F2 D4 53 46 00 93 A3 FF FF FF F4 67 56 00 + .byte $96, $9F, $FF, $FF, $FF, $F1, $76, $59, $00, $9E, $9C, $FF, $FF, $FF, $E9, $6A ; CPU:$8962 PRG:0962 96 9F FF FF FF F1 76 59 00 9E 9C FF FF FF E9 6A + .byte $4A, $17, $90, $B9, $FF, $FF, $FF, $D8, $5F, $2F, $3C, $7E, $F0, $FF, $FF, $FF ; CPU:$8972 PRG:0972 4A 17 90 B9 FF FF FF D8 5F 2F 3C 7E F0 FF FF FF + .byte $A7, $58, $04, $7E, $96, $FF, $FF, $FF, $CE, $67, $2D, $46, $7D, $FF, $FF, $FF ; CPU:$8982 PRG:0982 A7 58 04 7E 96 FF FF FF CE 67 2D 46 7D FF FF FF + .byte $F7, $90, $35, $05, $69, $AF, $FF, $FF, $FF, $B3, $53, $00, $6B, $87, $FF, $FF ; CPU:$8992 PRG:0992 F7 90 35 05 69 AF FF FF FF B3 53 00 6B 87 FF FF + .byte $FF, $BE, $69, $00, $5A, $71, $FF, $FF, $FF, $CB, $7F, $00, $5D, $69, $FF, $FF ; CPU:$89A2 PRG:09A2 FF BE 69 00 5A 71 FF FF FF CB 7F 00 5D 69 FF FF + .byte $FF, $D0, $92, $00, $6A, $66, $FF, $FF, $FF, $C7, $9C, $00, $74, $73, $FF, $FF ; CPU:$89B2 PRG:09B2 FF D0 92 00 6A 66 FF FF FF C7 9C 00 74 73 FF FF + .byte $FF, $B6, $8E, $00, $63, $9D, $FF, $FF, $FF, $91, $4E, $26, $5B, $FF, $FF, $FF ; CPU:$89C2 PRG:09C2 FF B6 8E 00 63 9D FF FF FF 91 4E 26 5B FF FF FF + .byte $EF, $77, $00, $60, $79, $FF, $FF, $FF, $AC, $4F, $0C, $53, $DE, $FF, $FF, $FA ; CPU:$89D2 PRG:09D2 EF 77 00 60 79 FF FF FF AC 4F 0C 53 DE FF FF FA + .byte $76, $00, $47, $7C, $FF, $FF, $FF, $9B, $34, $10, $43, $FC, $FF, $FF, $DA, $5A ; CPU:$89E2 PRG:09E2 76 00 47 7C FF FF FF 9B 34 10 43 FC FF FF DA 5A + .byte $00, $3E, $A0, $FF, $FF, $FF, $7F, $00, $2B, $62, $FF, $FF, $FF, $A8, $2A, $0C ; CPU:$89F2 PRG:09F2 00 3E A0 FF FF FF 7F 00 2B 62 FF FF FF A8 2A 0C + .byte $2D, $FF, $FF, $FF, $D1, $59, $05, $23, $BA, $FF, $FF, $FF, $7F, $08, $30, $8A ; CPU:$8A02 PRG:0A02 2D FF FF FF D1 59 05 23 BA FF FF FF 7F 08 30 8A + .byte $FF, $FF, $FF, $8F, $13, $41, $72, $FF, $FF, $FF, $91, $1F, $50, $70, $FF, $FF ; CPU:$8A12 PRG:0A12 FF FF FF 8F 13 41 72 FF FF FF 91 1F 50 70 FF FF + .byte $FF, $8E, $23, $5B, $74, $FF, $FF, $FF, $87, $2A, $58, $7E, $FF, $FF, $FF, $83 ; CPU:$8A22 PRG:0A22 FF 8E 23 5B 74 FF FF FF 87 2A 58 7E FF FF FF 83 + .byte $36, $5C, $8F, $FF, $FF, $FF, $78, $4D, $59, $AA, $FF, $FF, $EB, $69, $5E, $5A ; CPU:$8A32 PRG:0A32 36 5C 8F FF FF FF 78 4D 59 AA FF FF EB 69 5E 5A + .byte $CD, $FF, $FF, $CB, $4A, $5E, $5C, $F6, $FE, $FF, $AB, $2F, $6F, $72, $FF, $FF ; CPU:$8A42 PRG:0A42 CD FF FF CB 4A 5E 5C F6 FE FF AB 2F 6F 72 FF FF + .byte $FF, $8F, $1B, $8A, $8F, $FF, $F8, $E6, $73, $40, $81, $B6, $FF, $F2, $C3, $55 ; CPU:$8A52 PRG:0A52 FF 8F 1B 8A 8F FF F8 E6 73 40 81 B6 FF F2 C3 55 + .byte $5F, $71, $F0, $FE, $FF, $A1, $32, $86, $83, $FF, $EE, $E0, $85, $35, $A3, $AE ; CPU:$8A62 PRG:0A62 5F 71 F0 FE FF A1 32 86 83 FF EE E0 85 35 A3 AE + .byte $FE, $D9, $B7, $62, $7A, $90, $F1, $EF, $DE, $88, $33, $9D, $A7, $FF, $E8, $C6 ; CPU:$8A72 PRG:0A72 FE D9 B7 62 7A 90 F1 EF DE 88 33 9D A7 FF E8 C6 + .byte $67, $33, $AB, $CC, $FF, $E2, $A0, $4C, $76, $91, $FF, $EC, $E0, $81, $2D, $AA ; CPU:$8A82 PRG:0A82 67 33 AB CC FF E2 A0 4C 76 91 FF EC E0 81 2D AA + .byte $B3, $FF, $DB, $B7, $65, $58, $AE, $E1, $F6, $D1, $90, $3B, $89, $A0, $FF, $E6 ; CPU:$8A92 PRG:0A92 B3 FF DB B7 65 58 AE E1 F6 D1 90 3B 89 A0 FF E6 + .byte $C6, $74, $1B, $C3, $C4, $FF, $D9, $A3, $56, $72, $A8, $FD, $F3, $D1, $8D, $2D ; CPU:$8AA2 PRG:0AA2 C6 74 1B C3 C4 FF D9 A3 56 72 A8 FD F3 D1 8D 2D + .byte $9C, $A1, $FF, $DD, $BF, $79, $28, $C6, $C0, $FE, $CA, $AB, $59, $8C, $A2, $F9 ; CPU:$8AB2 PRG:0AB2 9C A1 FF DD BF 79 28 C6 C0 FE CA AB 59 8C A2 F9 + .byte $E1, $BF, $93, $32, $BC, $A8, $FF, $CC, $AE, $75, $3D, $D0, $C4, $F9, $BA, $A5 ; CPU:$8AC2 PRG:0AC2 E1 BF 93 32 BC A8 FF CC AE 75 3D D0 C4 F9 BA A5 + .byte $53, $96, $A8, $F6, $E2, $B9, $9A, $30, $C6, $A0, $FF, $C6, $AF, $7D, $3F, $DC ; CPU:$8AD2 PRG:0AD2 53 96 A8 F6 E2 B9 9A 30 C6 A0 FF C6 AF 7D 3F DC + .byte $BC, $FC, $AC, $B1, $55, $99, $B0, $E9, $E5, $AF, $A3, $33, $BF, $9B, $FF, $CB ; CPU:$8AE2 PRG:0AE2 BC FC AC B1 55 99 B0 E9 E5 AF A3 33 BF 9B FF CB + .byte $B5, $7F, $36, $D9, $B5, $FF, $B1, $BB, $58, $89, $B0, $E0, $EF, $AE, $AE, $39 ; CPU:$8AF2 PRG:0AF2 B5 7F 36 D9 B5 FF B1 BB 58 89 B0 E0 EF AE AE 39 + .byte $B5, $92, $FF, $CD, $BE, $88, $36, $D1, $A9, $FF, $B1, $C3, $5F, $7E, $B4, $D1 ; CPU:$8B02 PRG:0B02 B5 92 FF CD BE 88 36 D1 A9 FF B1 C3 5F 7E B4 D1 + .byte $EE, $AE, $B7, $45, $AF, $8B, $FF, $CA, $C3, $8D, $3F, $C8, $9E, $FF, $B3, $C7 ; CPU:$8B12 PRG:0B12 EE AE B7 45 AF 8B FF CA C3 8D 3F C8 9E FF B3 C7 + .byte $68, $66, $BB, $C1, $F6, $AD, $C0, $51, $A1, $90, $F2, $D5, $C8, $9E, $4C, $B0 ; CPU:$8B22 PRG:0B22 68 66 BB C1 F6 AD C0 51 A1 90 F2 D5 C8 9E 4C B0 + .byte $8C, $FF, $BD, $D6, $7A, $54, $B5, $AC, $FF, $B7, $CD, $68, $77, $A7, $CC, $E7 ; CPU:$8B32 PRG:0B32 8C FF BD D6 7A 54 B5 AC FF B7 CD 68 77 A7 CC E7 + .byte $C1, $BA, $61, $96, $8D, $E6, $D2, $D4, $A3, $62, $9B, $86, $F7, $C8, $DE, $8C ; CPU:$8B42 PRG:0B42 C1 BA 61 96 8D E6 D2 D4 A3 62 9B 86 F7 C8 DE 8C + .byte $5E, $9F, $97, $FE, $C6, $D7, $81, $5F, $A1, $A8, $F9, $C8, $CF, $82, $60, $9F ; CPU:$8B52 PRG:0B52 5E 9F 97 FE C6 D7 81 5F A1 A8 F9 C8 CF 82 60 9F + .byte $B3, $EA, $CE, $C4, $81, $6B, $9C, $BD, $E3, $D1, $BD, $7D, $75, $91, $C7, $DD ; CPU:$8B62 PRG:0B62 B3 EA CE C4 81 6B 9C BD E3 D1 BD 7D 75 91 C7 DD + .byte $D9, $BA, $79, $77, $8B, $CD, $DC, $DD, $BA, $77, $76, $86, $CF, $DC, $E2, $B8 ; CPU:$8B72 PRG:0B72 D9 BA 79 77 8B CD DC DD BA 77 76 86 CF DC E2 B8 + .byte $78, $72, $87, $CD, $DC, $E4, $BA, $7B, $6D, $8A, $C7, $E1, $E2, $BC, $7E, $65 ; CPU:$8B82 PRG:0B82 78 72 87 CD DC E4 BA 7B 6D 8A C7 E1 E2 BC 7E 65 + .byte $8F, $C2, $E6, $E0, $BF, $84, $5A, $93, $B9, $EC, $DF, $C5, $88, $54, $93, $B1 ; CPU:$8B92 PRG:0B92 8F C2 E6 E0 BF 84 5A 93 B9 EC DF C5 88 54 93 B1 + .byte $F0, $DD, $CB, $8C, $54, $8E, $A6, $F4, $DB, $D5, $8F, $5D, $87, $99, $F3, $D9 ; CPU:$8BA2 PRG:0BA2 F0 DD CB 8C 54 8E A6 F4 DB D5 8F 5D 87 99 F3 D9 + .byte $DF, $97, $65, $7F, $8E, $E8, $DA, $E4, $A3, $6E, $76, $8D, $D6, $E0, $E2, $B3 ; CPU:$8BB2 PRG:0BB2 DF 97 65 7F 8E E8 DA E4 A3 6E 76 8D D6 E0 E2 B3 + .byte $7D, $62, $97, $C1, $E4, $DD, $C1, $8A, $56, $96, $AB, $EF, $DD, $CD, $91, $5E ; CPU:$8BC2 PRG:0BC2 7D 62 97 C1 E4 DD C1 8A 56 96 AB EF DD CD 91 5E + .byte $8A, $93, $F2, $DC, $E0, $9B, $69, $78, $8D, $DE, $E1, $E5, $AD, $7E, $59, $98 ; CPU:$8BD2 PRG:0BD2 8A 93 F2 DC E0 9B 69 78 8D DE E1 E5 AD 7E 59 98 + .byte $C4, $EB, $E4, $BA, $8E, $54, $93, $A4, $F7, $E0, $CF, $99, $63, $7E, $97, $E3 ; CPU:$8BE2 PRG:0BE2 C4 EB E4 BA 8E 54 93 A4 F7 E0 CF 99 63 7E 97 E3 + .byte $E3, $DA, $AB, $7B, $5B, $9F, $BE, $F1, $DD, $BA, $8D, $5C, $93, $9C, $F4, $DC ; CPU:$8BF2 PRG:0BF2 E3 DA AB 7B 5B 9F BE F1 DD BA 8D 5C 93 9C F4 DC + .byte $CC, $9F, $6B, $73, $A0, $D6, $E4, $D6, $B1, $85, $61, $99, $AC, $F2, $D9, $C1 ; CPU:$8C02 PRG:0C02 CC 9F 6B 73 A0 D6 E4 D6 B1 85 61 99 AC F2 D9 C1 + .byte $99, $68, $83, $9E, $E0, $DC, $D0, $AB, $83, $61, $A0, $B7, $EC, $D7, $BA, $98 ; CPU:$8C12 PRG:0C12 99 68 83 9E E0 DC D0 AB 83 61 A0 B7 EC D7 BA 98 + .byte $68, $8A, $9F, $E3, $DA, $CB, $AD, $7F, $67, $A1, $BB, $E9, $D6, $BA, $96, $6C ; CPU:$8C22 PRG:0C22 68 8A 9F E3 DA CB AD 7F 67 A1 BB E9 D6 BA 96 6C + .byte $8A, $A2, $E0, $DB, $CB, $AD, $82, $67, $A1, $B7, $EA, $D6, $BD, $97, $6F, $85 ; CPU:$8C32 PRG:0C32 8A A2 E0 DB CB AD 82 67 A1 B7 EA D6 BD 97 6F 85 + .byte $A2, $DA, $DE, $CB, $AF, $87, $66, $9F, $AF, $EA, $D7, $BF, $9B, $72, $7C, $A5 ; CPU:$8C42 PRG:0C42 A2 DA DE CB AF 87 66 9F AF EA D7 BF 9B 72 7C A5 + .byte $D4, $E2, $CE, $B1, $87, $67, $99, $AD, $E7, $DA, $C2, $9E, $77, $70, $A6, $CA ; CPU:$8C52 PRG:0C52 D4 E2 CE B1 87 67 99 AD E7 DA C2 9E 77 70 A6 CA + .byte $E8, $D0, $B3, $8B, $69, $93, $AA, $E6, $DC, $C2, $A2, $7B, $6C, $A6, $C4, $EB ; CPU:$8C62 PRG:0C62 E8 D0 B3 8B 69 93 AA E6 DC C2 A2 7B 6C A6 C4 EB + .byte $D0, $B6, $8D, $6E, $8C, $AB, $E0, $DE, $C4, $A6, $82, $6A, $A6, $BA, $EA, $D1 ; CPU:$8C72 PRG:0C72 D0 B6 8D 6E 8C AB E0 DE C4 A6 82 6A A6 BA EA D1 + .byte $B9, $94, $75, $80, $AD, $D2, $E3, $C5, $AC, $87, $6C, $9E, $B1, $E7, $D3, $BD ; CPU:$8C82 PRG:0C82 B9 94 75 80 AD D2 E3 C5 AC 87 6C 9E B1 E7 D3 BD + .byte $9B, $7E, $73, $AD, $C4, $E7, $C9, $B2, $8D, $75, $8C, $AF, $DA, $DC, $BF, $A6 ; CPU:$8C92 PRG:0C92 9B 7E 73 AD C4 E7 C9 B2 8D 75 8C AF DA DC BF A6 + .byte $86, $6F, $A6, $B4, $E7, $CE, $B8, $9A, $84, $75, $B2, $C1, $E4, $C5, $B2, $90 ; CPU:$8CA2 PRG:0CA2 86 6F A6 B4 E7 CE B8 9A 84 75 B2 C1 E4 C5 B2 90 + .byte $80, $87, $B4, $CF, $DB, $BE, $AC, $8B, $7F, $98, $B2, $D7, $D2, $B8, $A7, $8D ; CPU:$8CB2 PRG:0CB2 80 87 B4 CF DB BE AC 8B 7F 98 B2 D7 D2 B8 A7 8D + .byte $7F, $A5, $B2, $D8, $CD, $B4, $A3, $8D, $7E, $A9, $B4, $D8, $C9, $B3, $9E, $91 ; CPU:$8CC2 PRG:0CC2 7F A5 B2 D8 CD B4 A3 8D 7E A9 B4 D8 C9 B3 9E 91 + .byte $7D, $B0, $B2, $D9, $D9, $DA, $DB, $DC, $B0, $AE, $B0, $AF, $AE, $B0, $B1, $B2 ; CPU:$8CD2 PRG:0CD2 7D B0 B2 D9 D9 DA DB DC B0 AE B0 AF AE B0 B1 B2 + .byte $B5, $B8, $B2, $AC, $A5, $A2, $A1, $AC, $B4, $BB, $BE, $BE, $BD, $AA, $AA, $9B ; CPU:$8CE2 PRG:0CE2 B5 B8 B2 AC A5 A2 A1 AC B4 BB BE BE BD AA AA 9B + .byte $9B, $9E, $A8, $B8, $BC, $CB, $C3, $BE, $AB, $9B, $99, $91, $A5, $AC, $BF, $C7 ; CPU:$8CF2 PRG:0CF2 9B 9E A8 B8 BC CB C3 BE AB 9B 99 91 A5 AC BF C7 + .byte $CA, $CC, $B2, $AA, $94, $93, $92, $A3, $BA, $C2, $D4, $CA, $C7, $AF, $9D, $93 ; CPU:$8D02 PRG:0D02 CA CC B2 AA 94 93 92 A3 BA C2 D4 CA C7 AF 9D 93 + .byte $85, $99, $AD, $C5, $D2, $D0, $CE, $B4, $A1, $92, $8A, $92, $A4, $BE, $C6, $D2 ; CPU:$8D12 PRG:0D12 85 99 AD C5 D2 D0 CE B4 A1 92 8A 92 A4 BE C6 D2 + .byte $CF, $BF, $AE, $97, $91, $8C, $98, $B1, $C2, $D1, $CC, $C6, $B2, $9A, $98, $91 ; CPU:$8D22 PRG:0D22 CF BF AE 97 91 8C 98 B1 C2 D1 CC C6 B2 9A 98 91 + .byte $99, $A5, $BD, $C5, $C5, $C3, $B3, $A7, $A1, $A1, $9C, $9E, $B3, $BC, $BF, $BE ; CPU:$8D32 PRG:0D32 99 A5 BD C5 C5 C3 B3 A7 A1 A1 9C 9E B3 BC BF BE + .byte $B5, $A9, $AA, $B1, $A3, $9F, $A5, $B4, $BB, $BA, $B5, $AE, $B1, $B5, $B0, $A3 ; CPU:$8D42 PRG:0D42 B5 A9 AA B1 A3 9F A5 B4 BB BA B5 AE B1 B5 B0 A3 + .byte $9F, $A9, $B5, $B9, $B5, $B1, $B1, $B5, $B5, $AB, $9F, $A0, $AC, $B7, $B8, $B4 ; CPU:$8D52 PRG:0D52 9F A9 B5 B9 B5 B1 B1 B5 B5 AB 9F A0 AC B7 B8 B4 + .byte $B2, $B3, $B5, $B2, $A7, $9E, $A3, $B1, $B9, $B8, $B4, $B1, $B3, $B4, $B0, $A4 ; CPU:$8D62 PRG:0D62 B2 B3 B5 B2 A7 9E A3 B1 B9 B8 B4 B1 B3 B4 B0 A4 + .byte $9F, $A7, $B4, $B9, $B7, $B3, $B0, $B1, $B3, $B0, $A6, $A1, $A9, $B4, $B9, $B7 ; CPU:$8D72 PRG:0D72 9F A7 B4 B9 B7 B3 B0 B1 B3 B0 A6 A1 A9 B4 B9 B7 + .byte $B1, $AE, $B0, $B3, $B1, $A8, $A3, $A9, $B3, $B8, $B6, $B1, $AE, $B0, $B4, $B5 ; CPU:$8D82 PRG:0D82 B1 AE B0 B3 B1 A8 A3 A9 B3 B8 B6 B1 AE B0 B4 B5 + .byte $AB, $A5, $A7, $B0, $B6, $B6, $B1, $AF, $B1, $B5, $B6, $AE, $A7, $A6, $AE, $B4 ; CPU:$8D92 PRG:0D92 AB A5 A7 B0 B6 B6 B1 AF B1 B5 B6 AE A7 A6 AE B4 + .byte $B6, $B1, $AF, $B1, $B4, $B6, $B1, $A9, $A6, $AB, $B2, $B5, $B3, $B1, $B2, $B4 ; CPU:$8DA2 PRG:0DA2 B6 B1 AF B1 B4 B6 B1 A9 A6 AB B2 B5 B3 B1 B2 B4 + .byte $B5, $B3, $AB, $A5, $A5, $AD, $B2, $B2, $B0, $B2, $B3, $B5, $B8, $B4, $AE, $AC ; CPU:$8DB2 PRG:0DB2 B5 B3 AB A5 A5 AD B2 B2 B0 B2 B3 B5 B8 B4 AE AC + .byte $B1, $B7, $B9, $B7, $B5, $B4, $B4, $B5, $B4, $AE, $A8, $A8, $AE, $B4, $B5, $B2 ; CPU:$8DC2 PRG:0DC2 B1 B7 B9 B7 B5 B4 B4 B5 B4 AE A8 A8 AE B4 B5 B2 + .byte $B1, $B1, $B1, $B3, $B1, $AA, $A6, $AA, $B2, $B6, $B4, $B1, $B0, $B1, $B1, $B1 ; CPU:$8DD2 PRG:0DD2 B1 B1 B1 B3 B1 AA A6 AA B2 B6 B4 B1 B0 B1 B1 B1 + .byte $AC, $A8, $A7, $AF, $B5, $B7, $B5, $B5, $B6, $B9, $BA, $B8, $B2, $AE, $B0, $B5 ; CPU:$8DE2 PRG:0DE2 AC A8 A7 AF B5 B7 B5 B5 B6 B9 BA B8 B2 AE B0 B5 + .byte $B7, $B4, $B2, $B2, $B3, $B4, $B5, $B0, $AB, $AA, $AE, $B2, $B4, $B2, $B1, $B2 ; CPU:$8DF2 PRG:0DF2 B7 B4 B2 B2 B3 B4 B5 B0 AB AA AE B2 B4 B2 B1 B2 + .byte $B3, $B3, $B2, $AC, $A9, $AB, $B1, $B3, $B3, $B3, $B3, $B4, $B4, $B4, $B0, $AC ; CPU:$8E02 PRG:0E02 B3 B3 B2 AC A9 AB B1 B3 B3 B3 B3 B4 B4 B4 B0 AC + .byte $AB, $AF, $B3, $B4, $B3, $B3, $B3, $B4, $B4, $B4, $AE, $AC, $AD, $B2, $B4, $B4 ; CPU:$8E12 PRG:0E12 AB AF B3 B4 B3 B3 B3 B4 B4 B4 AE AC AD B2 B4 B4 + .byte $B3, $B3, $B3, $B4, $B4, $AF, $AB, $AA, $AE, $B2, $B5, $B2, $B2, $B2, $B3, $B4 ; CPU:$8E22 PRG:0E22 B3 B3 B3 B4 B4 AF AB AA AE B2 B5 B2 B2 B2 B3 B4 + .byte $B1, $AC, $A7, $B3, $B4, $B1, $B0, $B4, $B1, $B0, $B6, $B1, $AB, $A8, $AF, $B4 ; CPU:$8E32 PRG:0E32 B1 AC A7 B3 B4 B1 B0 B4 B1 B0 B6 B1 AB A8 AF B4 + .byte $B6, $B3, $B6, $B1, $B3, $B4, $AD, $A6, $AD, $B0, $B4, $B4, $B9, $B0, $AE, $B4 ; CPU:$8E42 PRG:0E42 B6 B3 B6 B1 B3 B4 AD A6 AD B0 B4 B4 B9 B0 AE B4 + .byte $AE, $A4, $A9, $B2, $B8, $BA, $B8, $AB, $B2, $B3, $AD, $A3, $AD, $B3, $BC, $BD ; CPU:$8E52 PRG:0E52 AE A4 A9 B2 B8 BA B8 AB B2 B3 AD A3 AD B3 BC BD + .byte $B4, $A5, $B1, $AB, $A1, $A4, $B4, $C0, $C7, $B4, $9F, $B0, $A7, $9F, $A1, $B5 ; CPU:$8E62 PRG:0E62 B4 A5 B1 AB A1 A4 B4 C0 C7 B4 9F B0 A7 9F A1 B5 + .byte $C7, $CD, $AB, $A3, $AB, $A2, $9E, $AB, $CF, $DB, $B6, $95, $A7, $A1, $A1, $AF ; CPU:$8E72 PRG:0E72 C7 CD AB A3 AB A2 9E AB CF DB B6 95 A7 A1 A1 AF + .byte $D8, $DA, $A4, $98, $97, $9E, $9F, $DF, $DA, $B1, $8A, $99, $95, $B1, $E9, $BE ; CPU:$8E82 PRG:0E82 D8 DA A4 98 97 9E 9F DF DA B1 8A 99 95 B1 E9 BE + .byte $AA, $88, $92, $8C, $DB, $F8, $CF, $92, $75, $82, $8E, $E7, $F7, $E7, $72, $76 ; CPU:$8E92 PRG:0E92 AA 88 92 8C DB F8 CF 92 75 82 8E E7 F7 E7 72 76 + .byte $7A, $A5, $E9, $F6, $C7, $82, $79, $78, $A5, $FF, $FF, $A1, $7A, $76, $88, $D4 ; CPU:$8EA2 PRG:0EA2 7A A5 E9 F6 C7 82 79 78 A5 FF FF A1 7A 76 88 D4 + .byte $FF, $EC, $89, $6C, $6F, $89, $FE, $FF, $D8, $6F, $4A, $6B, $A7, $FF, $FF, $A0 ; CPU:$8EB2 PRG:0EB2 FF EC 89 6C 6F 89 FE FF D8 6F 4A 6B A7 FF FF A0 + .byte $4E, $3C, $83, $CE, $FF, $FF, $6D, $41, $3C, $9B, $F9, $FF, $FF, $4A, $22, $2D ; CPU:$8EC2 PRG:0EC2 4E 3C 83 CE FF FF 6D 41 3C 9B F9 FF FF 4A 22 2D + .byte $AE, $FF, $FF, $FF, $1B, $00, $2C, $B6, $FF, $FF, $D9, $00, $00, $4C, $DD, $FF ; CPU:$8ED2 PRG:0ED2 AE FF FF FF 1B 00 2C B6 FF FF D9 00 00 4C DD FF + .byte $FF, $73, $00, $00, $7C, $FF, $FF, $CC, $53, $00, $46, $FF, $FF, $EA, $55, $5D ; CPU:$8EE2 PRG:0EE2 FF 73 00 00 7C FF FF CC 53 00 46 FF FF EA 55 5D + .byte $36, $FF, $FF, $FF, $3C, $2A, $78, $B4, $FF, $FF, $C4, $2D, $21, $7D, $A2, $FF ; CPU:$8EF2 PRG:0EF2 36 FF FF FF 3C 2A 78 B4 FF FF C4 2D 21 7D A2 FF + .byte $FF, $FF, $6E, $00, $49, $BE, $FF, $FF, $FF, $29, $00, $54, $BC, $FF, $FF, $CE ; CPU:$8F02 PRG:0F02 FF FF 6E 00 49 BE FF FF FF 29 00 54 BC FF FF CE + .byte $00, $00, $2B, $CF, $FF, $FF, $FB, $26, $00, $00, $D2, $FF, $FF, $F9, $2D, $00 ; CPU:$8F12 PRG:0F12 00 00 2B CF FF FF FB 26 00 00 D2 FF FF F9 2D 00 + .byte $09, $56, $FF, $FF, $FF, $98, $00, $64, $5B, $BE, $FF, $FF, $AD, $7A, $90, $A3 ; CPU:$8F22 PRG:0F22 09 56 FF FF FF 98 00 64 5B BE FF FF AD 7A 90 A3 + .byte $4F, $97, $DB, $FF, $DA, $D2, $94, $6C, $02, $93, $FF, $FF, $FF, $95, $67, $07 ; CPU:$8F32 PRG:0F32 4F 97 DB FF DA D2 94 6C 02 93 FF FF FF 95 67 07 + .byte $23, $F7, $FF, $FF, $DB, $37, $46, $58, $80, $FF, $FF, $F3, $8B, $38, $A1, $7D ; CPU:$8F42 PRG:0F42 23 F7 FF FF DB 37 46 58 80 FF FF F3 8B 38 A1 7D + .byte $98, $DC, $FF, $C1, $D2, $6C, $9A, $94, $2D, $E4, $FF, $FF, $AF, $71, $99, $AA ; CPU:$8F52 PRG:0F52 98 DC FF C1 D2 6C 9A 94 2D E4 FF FF AF 71 99 AA + .byte $60, $AF, $F6, $FF, $AE, $93, $93, $C7, $BA, $1C, $CA, $EB, $F1, $D0, $A5, $DA ; CPU:$8F62 PRG:0F62 60 AF F6 FF AE 93 93 C7 BA 1C CA EB F1 D0 A5 DA + .byte $97, $4F, $70, $BF, $FF, $C7, $E3, $56, $98, $B3, $42, $F0, $E2, $FF, $8B, $A4 ; CPU:$8F72 PRG:0F72 97 4F 70 BF FF C7 E3 56 98 B3 42 F0 E2 FF 8B A4 + .byte $AC, $B5, $DC, $12, $C9, $C5, $FF, $DE, $A6, $D4, $77, $A2, $1F, $D6, $FF, $EC ; CPU:$8F82 PRG:0F82 AC B5 DC 12 C9 C5 FF DE A6 D4 77 A2 1F D6 FF EC + .byte $FD, $4D, $B8, $8F, $F3, $2F, $C0, $D8, $E8, $EA, $8A, $D8, $8F, $CD, $1C, $C8 ; CPU:$8F92 PRG:0F92 FD 4D B8 8F F3 2F C0 D8 E8 EA 8A D8 8F CD 1C C8 + .byte $DE, $FF, $EB, $85, $B6, $69, $E2, $7D, $A0, $9D, $FF, $C9, $C5, $A4, $A2, $C8 ; CPU:$8FA2 PRG:0FA2 DE FF EB 85 B6 69 E2 7D A0 9D FF C9 C5 A4 A2 C8 + .byte $A0, $39, $A0, $FF, $FF, $E2, $92, $89, $A3, $DB, $AD, $35, $A5, $FF, $FC, $F0 ; CPU:$8FB2 PRG:0FB2 A0 39 A0 FF FF E2 92 89 A3 DB AD 35 A5 FF FC F0 + .byte $73, $7B, $A7, $FE, $D1, $32, $88, $DD, $FF, $F9, $8D, $6E, $8F, $FF, $EE, $67 ; CPU:$8FC2 PRG:0FC2 73 7B A7 FE D1 32 88 DD FF F9 8D 6E 8F FF EE 67 + .byte $48, $98, $FF, $FF, $EE, $3E, $65, $C5, $FF, $DE, $23, $73, $C0, $FF, $F2, $B4 ; CPU:$8FD2 PRG:0FD2 48 98 FF FF EE 3E 65 C5 FF DE 23 73 C0 FF F2 B4 + .byte $1B, $58, $F9, $FF, $FE, $1D, $3D, $94, $FF, $FF, $C3, $11, $57, $F1, $FF, $FF ; CPU:$8FE2 PRG:0FE2 1B 58 F9 FF FE 1D 3D 94 FF FF C3 11 57 F1 FF FF + .byte $28, $00, $A3, $FF, $FF, $CB, $0E, $37, $BD, $FF, $FF, $77, $00, $48, $FB, $FF ; CPU:$8FF2 PRG:0FF2 28 00 A3 FF FF CB 0E 37 BD FF FF 77 00 48 FB FF + .byte $FF, $59, $00, $8D, $FF, $FF, $D0, $25, $00, $C5, $FF, $FF, $97, $0A, $27, $DC ; CPU:$9002 PRG:1002 FF 59 00 8D FF FF D0 25 00 C5 FF FF 97 0A 27 DC + .byte $FF, $FF, $86, $05, $00, $FF, $FF, $FF, $52, $00, $8B, $FF, $FF, $C4, $4F, $21 ; CPU:$9012 PRG:1012 FF FF 86 05 00 FF FF FF 52 00 8B FF FF C4 4F 21 + .byte $61, $FF, $FF, $AF, $36, $1B, $D3, $FF, $FF, $9C, $36, $28, $B8, $FF, $FF, $6C ; CPU:$9022 PRG:1022 61 FF FF AF 36 1B D3 FF FF 9C 36 28 B8 FF FF 6C + .byte $39, $64, $FF, $FF, $E6, $86, $43, $4B, $F4, $FF, $FF, $52, $4B, $9B, $FE, $FF ; CPU:$9032 PRG:1032 39 64 FF FF E6 86 43 4B F4 FF FF 52 4B 9B FE FF + .byte $B1, $87, $6E, $7F, $EE, $FF, $E8, $56, $77, $AC, $F8, $DF, $A9, $A1, $9E, $97 ; CPU:$9042 PRG:1042 B1 87 6E 7F EE FF E8 56 77 AC F8 DF A9 A1 9E 97 + .byte $A4, $D1, $EB, $8A, $B3, $95, $CF, $B4, $C0, $AA, $B5, $AF, $3E, $CA, $F2, $E7 ; CPU:$9052 PRG:1052 A4 D1 EB 8A B3 95 CF B4 C0 AA B5 AF 3E CA F2 E7 + .byte $AB, $7B, $9B, $A2, $EA, $C3, $D4, $A7, $6B, $7E, $CA, $FF, $B7, $A7, $61, $A6 ; CPU:$9062 PRG:1062 AB 7B 9B A2 EA C3 D4 A7 6B 7E CA FF B7 A7 61 A6 + .byte $CD, $ED, $D6, $A9, $88, $4E, $BF, $F5, $FF, $8B, $74, $7E, $C0, $F8, $CE, $B2 ; CPU:$9072 PRG:1072 CD ED D6 A9 88 4E BF F5 FF 8B 74 7E C0 F8 CE B2 + .byte $8D, $A0, $82, $CE, $DE, $E8, $8F, $8E, $98, $B9, $E5, $C7, $B0, $9D, $AF, $9A ; CPU:$9082 PRG:1082 8D A0 82 CE DE E8 8F 8E 98 B9 E5 C7 B0 9D AF 9A + .byte $9D, $C8, $E5, $AE, $A1, $8B, $AF, $CA, $D8, $B8, $99, $BB, $A4, $68, $CA, $E0 ; CPU:$9092 PRG:1092 9D C8 E5 AE A1 8B AF CA D8 B8 99 BB A4 68 CA E0 + .byte $D2, $A4, $90, $A0, $B3, $DE, $C1, $AD, $A5, $B2, $A1, $8E, $C3, $E2, $BE, $AF ; CPU:$90A2 PRG:10A2 D2 A4 90 A0 B3 DE C1 AD A5 B2 A1 8E C3 E2 BE AF + .byte $89, $A5, $B7, $DB, $C5, $A5, $AC, $AE, $9D, $95, $C8, $E4, $B7, $AD, $86, $AA ; CPU:$90B2 PRG:10B2 89 A5 B7 DB C5 A5 AC AE 9D 95 C8 E4 B7 AD 86 AA + .byte $C2, $D5, $BC, $99, $A7, $C4, $BC, $7B, $B5, $CD, $C2, $BF, $9E, $A3, $9E, $C8 ; CPU:$90C2 PRG:10C2 C2 D5 BC 99 A7 C4 BC 7B B5 CD C2 BF 9E A3 9E C8 + .byte $CE, $BB, $A4, $A4, $C3, $9D, $A4, $AF, $DA, $BE, $B4, $94, $97, $BC, $D3, $CC ; CPU:$90D2 PRG:10D2 CE BB A4 A4 C3 9D A4 AF DA BE B4 94 97 BC D3 CC + .byte $A0, $97, $AE, $D7, $B8, $96, $9D, $C8, $C5, $C5, $A0, $9A, $B0, $C4, $C7, $B2 ; CPU:$90E2 PRG:10E2 A0 97 AE D7 B8 96 9D C8 C5 C5 A0 9A B0 C4 C7 B2 + .byte $AA, $A7, $BF, $C3, $8D, $AB, $B3, $C9, $C6, $B7, $A5, $97, $B6, $C1, $CA, $B7 ; CPU:$90F2 PRG:10F2 AA A7 BF C3 8D AB B3 C9 C6 B7 A5 97 B6 C1 CA B7 + .byte $A2, $A1, $B8, $D2, $B4, $97, $9B, $C8, $C9, $C8, $A7, $9C, $A4, $B8, $CC, $BF ; CPU:$9102 PRG:1102 A2 A1 B8 D2 B4 97 9B C8 C9 C8 A7 9C A4 B8 CC BF + .byte $B1, $9D, $A3, $B9, $D0, $CB, $A6, $88, $99, $CB, $D3, $D0, $A5, $95, $9C, $BA ; CPU:$9112 PRG:1112 B1 9D A3 B9 D0 CB A6 88 99 CB D3 D0 A5 95 9C BA + .byte $D1, $C4, $B2, $97, $A3, $BB, $C9, $C0, $AA, $A6, $AF, $B8, $AF, $BA, $B4, $BB ; CPU:$9122 PRG:1122 D1 C4 B2 97 A3 BB C9 C0 AA A6 AF B8 AF BA B4 BB + .byte $B2, $B5, $AE, $AB, $B5, $B7, $BB, $B2, $B5, $7E, $FF, $73, $DC, $49, $7F, $AC ; CPU:$9132 PRG:1132 B2 B5 AE AB B5 B7 BB B2 B5 7E FF 73 DC 49 7F AC + .byte $93, $FF, $52, $E1, $41, $A1, $A6, $C5, $FF, $3E, $E4, $38, $BB, $95, $D4, $FF ; CPU:$9142 PRG:1142 93 FF 52 E1 41 A1 A6 C5 FF 3E E4 38 BB 95 D4 FF + .byte $45, $EC, $28, $F5, $65, $D0, $FF, $42, $FF, $23, $FF, $49, $8D, $FF, $3F, $FF ; CPU:$9152 PRG:1152 45 EC 28 F5 65 D0 FF 42 FF 23 FF 49 8D FF 3F FF + .byte $25, $FF, $4D, $58, $FF, $41, $FF, $45, $CB, $9A, $70, $FF, $76, $EB, $88, $75 ; CPU:$9162 PRG:1162 25 FF 4D 58 FF 41 FF 45 CB 9A 70 FF 76 EB 88 75 + .byte $FF, $57, $9B, $FF, $75, $B6, $7B, $EA, $5E, $87, $FF, $65, $E3, $8A, $A2, $C0 ; CPU:$9172 PRG:1172 FF 57 9B FF 75 B6 7B EA 5E 87 FF 65 E3 8A A2 C0 + .byte $75, $E5, $C3, $A1, $B0, $72, $FF, $51, $5D, $FF, $56, $DA, $5A, $FF, $44, $C8 ; CPU:$9182 PRG:1182 75 E5 C3 A1 B0 72 FF 51 5D FF 56 DA 5A FF 44 C8 + .byte $C4, $AF, $CF, $8C, $8D, $FA, $4C, $58, $FF, $65, $D9, $62, $E3, $7F, $9C, $9A ; CPU:$9192 PRG:1192 C4 AF CF 8C 8D FA 4C 58 FF 65 D9 62 E3 7F 9C 9A + .byte $DB, $C7, $97, $64, $FF, $45, $96, $FF, $A5, $B3, $9C, $70, $FF, $57, $5F, $FF ; CPU:$91A2 PRG:11A2 DB C7 97 64 FF 45 96 FF A5 B3 9C 70 FF 57 5F FF + .byte $7F, $D4, $72, $9D, $CB, $80, $29, $FF, $77, $B2, $77, $BC, $BB, $8B, $3B, $FF ; CPU:$91B2 PRG:11B2 7F D4 72 9D CB 80 29 FF 77 B2 77 BC BB 8B 3B FF + .byte $77, $ED, $46, $B5, $D5, $91, $4D, $FF, $75, $F0, $5C, $A4, $DC, $82, $C6, $1D ; CPU:$91C2 PRG:11C2 77 ED 46 B5 D5 91 4D FF 75 F0 5C A4 DC 82 C6 1D + .byte $FF, $99, $CB, $3A, $FF, $54, $FF, $03, $FF, $26, $FF, $09, $FA, $7A, $B9, $C6 ; CPU:$91D2 PRG:11D2 FF 99 CB 3A FF 54 FF 03 FF 26 FF 09 FA 7A B9 C6 + .byte $00, $FF, $59, $FF, $14, $FF, $D6, $96, $A5, $31, $A7, $FF, $AF, $85, $A2, $FF ; CPU:$91E2 PRG:11E2 00 FF 59 FF 14 FF D6 96 A5 31 A7 FF AF 85 A2 FF + .byte $F1, $47, $CA, $27, $FF, $17, $F7, $68, $FF, $FC, $46, $FF, $03, $FF, $00, $FF ; CPU:$91F2 PRG:11F2 F1 47 CA 27 FF 17 F7 68 FF FC 46 FF 03 FF 00 FF + .byte $13, $F6, $FF, $15, $FF, $00, $FF, $00, $FF, $6B, $C2, $FF, $3C, $FF, $00, $FF ; CPU:$9202 PRG:1202 13 F6 FF 15 FF 00 FF 00 FF 6B C2 FF 3C FF 00 FF + .byte $00, $F1, $58, $BC, $FF, $13, $80, $2E, $FF, $00, $EB, $4D, $FF, $FF, $1B, $32 ; CPU:$9212 PRG:1212 00 F1 58 BC FF 13 80 2E FF 00 EB 4D FF FF 1B 32 + .byte $FF, $FF, $79, $AB, $73, $FF, $00, $C8, $25, $FF, $3B, $FF, $47, $70, $DC, $6F ; CPU:$9222 PRG:1222 FF FF 79 AB 73 FF 00 C8 25 FF 3B FF 47 70 DC 6F + .byte $FF, $06, $08, $D7, $FF, $34, $9E, $79, $FF, $11, $54, $69, $FF, $44, $F5, $1C ; CPU:$9232 PRG:1232 FF 06 08 D7 FF 34 9E 79 FF 11 54 69 FF 44 F5 1C + .byte $72, $C2, $FD, $FF, $02, $04, $FF, $FF, $5E, $6F, $81, $FF, $10, $57, $5A, $FF ; CPU:$9242 PRG:1242 72 C2 FD FF 02 04 FF FF 5E 6F 81 FF 10 57 5A FF + .byte $00, $FD, $00, $70, $C7, $FF, $FF, $00, $0A, $FF, $FF, $00, $7A, $98, $FF, $15 ; CPU:$9252 PRG:1252 00 FD 00 70 C7 FF FF 00 0A FF FF 00 7A 98 FF 15 + .byte $00, $8A, $FF, $65, $FF, $00, $6D, $FF, $FF, $FF, $00, $00, $8E, $FF, $36, $69 ; CPU:$9262 PRG:1262 00 8A FF 65 FF 00 6D FF FF FF 00 00 8E FF 36 69 + .byte $C8, $FF, $00, $BD, $82, $94, $04, $FF, $00, $9B, $B6, $FF, $E8, $00, $32, $B0 ; CPU:$9272 PRG:1272 C8 FF 00 BD 82 94 04 FF 00 9B B6 FF E8 00 32 B0 + .byte $F5, $00, $4A, $E0, $FF, $00, $46, $BA, $B8, $00, $C9, $00, $AD, $D5, $4E, $FF ; CPU:$9282 PRG:1282 F5 00 4A E0 FF 00 46 BA B8 00 C9 00 AD D5 4E FF + .byte $00, $00, $7D, $FF, $00, $B2, $FC, $FF, $00, $00, $E6, $FF, $00, $42, $00, $E8 ; CPU:$9292 PRG:1292 00 00 7D FF 00 B2 FC FF 00 00 E6 FF 00 42 00 E8 + .byte $FF, $00, $B4, $B0, $00, $74, $99, $00, $FF, $C0, $00, $FF, $00, $5A, $88, $81 ; CPU:$92A2 PRG:12A2 FF 00 B4 B0 00 74 99 00 FF C0 00 FF 00 5A 88 81 + .byte $2A, $FC, $FF, $AB, $BE, $18, $6D, $AE, $00, $6A, $83, $FF, $CA, $00, $B9, $D2 ; CPU:$92B2 PRG:12B2 2A FC FF AB BE 18 6D AE 00 6A 83 FF CA 00 B9 D2 + .byte $FF, $00, $AC, $14, $FF, $16, $00, $F5, $96, $5F, $00, $FF, $00, $FF, $00, $92 ; CPU:$92C2 PRG:12C2 FF 00 AC 14 FF 16 00 F5 96 5F 00 FF 00 FF 00 92 + .byte $CB, $74, $00, $FF, $F1, $00, $FF, $7C, $A0, $8F, $60, $A4, $FF, $00, $9D, $9B ; CPU:$92D2 PRG:12D2 CB 74 00 FF F1 00 FF 7C A0 8F 60 A4 FF 00 9D 9B + .byte $D9, $D5, $00, $FF, $99, $3D, $00, $FF, $00, $FF, $43, $4E, $E8, $87, $57, $B7 ; CPU:$92E2 PRG:12E2 D9 D5 00 FF 99 3D 00 FF 00 FF 43 4E E8 87 57 B7 + .byte $00, $C8, $AD, $C2, $FF, $00, $FF, $66, $00, $FF, $E8, $3F, $FF, $7E, $FF, $00 ; CPU:$92F2 PRG:12F2 00 C8 AD C2 FF 00 FF 66 00 FF E8 3F FF 7E FF 00 + .byte $FF, $5C, $1D, $57, $FF, $00, $FF, $52, $EB, $3E, $FF, $21, $3C, $54, $FF, $00 ; CPU:$9302 PRG:1302 FF 5C 1D 57 FF 00 FF 52 EB 3E FF 21 3C 54 FF 00 + .byte $FF, $5C, $CF, $31, $FF, $58, $00, $FF, $D4, $00, $FF, $AB, $94, $75, $FF, $00 ; CPU:$9312 PRG:1312 FF 5C CF 31 FF 58 00 FF D4 00 FF AB 94 75 FF 00 + .byte $69, $FF, $00, $82, $A0, $FF, $54, $5B, $9A, $FF, $00, $54, $EB, $C4, $00, $FF ; CPU:$9322 PRG:1322 69 FF 00 82 A0 FF 54 5B 9A FF 00 54 EB C4 00 FF + .byte $5E, $4C, $CB, $FA, $00, $56, $B0, $00, $57, $FF, $C0, $2F, $78, $D9, $DA, $00 ; CPU:$9332 PRG:1332 5E 4C CB FA 00 56 B0 00 57 FF C0 2F 78 D9 DA 00 + .byte $9E, $FF, $00, $85, $FF, $5C, $2B, $FF, $54, $FF, $32, $B3, $EA, $00, $FF, $FF ; CPU:$9342 PRG:1342 9E FF 00 85 FF 5C 2B FF 54 FF 32 B3 EA 00 FF FF + .byte $43, $7B, $DE, $67, $FF, $18, $78, $97, $00, $D0, $FF, $2B, $B5, $C0, $6A, $81 ; CPU:$9352 PRG:1352 43 7B DE 67 FF 18 78 97 00 D0 FF 2B B5 C0 6A 81 + .byte $64, $0B, $FF, $45, $96, $FF, $0F, $E9, $B5, $B8, $7B, $B1, $B4, $C8, $32, $FF ; CPU:$9362 PRG:1362 64 0B FF 45 96 FF 0F E9 B5 B8 7B B1 B4 C8 32 FF + .byte $8A, $75, $CA, $C4, $6A, $7A, $FF, $31, $B8, $CB, $00, $AF, $BB, $FF, $09, $E4 ; CPU:$9372 PRG:1372 8A 75 CA C4 6A 7A FF 31 B8 CB 00 AF BB FF 09 E4 + .byte $FF, $00, $FF, $B7, $F5, $00, $FC, $6E, $AA, $79, $E8, $A4, $7E, $DC, $BD, $82 ; CPU:$9382 PRG:1382 FF 00 FF B7 F5 00 FC 6E AA 79 E8 A4 7E DC BD 82 + .byte $E2, $B3, $9B, $E0, $8D, $C1, $B9, $97, $9A, $FF, $12, $D2, $B2, $0B, $F0, $E0 ; CPU:$9392 PRG:1392 E2 B3 9B E0 8D C1 B9 97 9A FF 12 D2 B2 0B F0 E0 + .byte $CF, $4A, $FF, $CF, $41, $FF, $9F, $44, $41, $E0, $53, $FF, $6C, $F8, $B3, $9F ; CPU:$93A2 PRG:13A2 CF 4A FF CF 41 FF 9F 44 41 E0 53 FF 6C F8 B3 9F + .byte $D2, $83, $D0, $8A, $F5, $96, $B3, $D5, $85, $D6, $B8, $A3, $C9, $D9, $7D, $E6 ; CPU:$93B2 PRG:13B2 D2 83 D0 8A F5 96 B3 D5 85 D6 B8 A3 C9 D9 7D E6 + .byte $98, $FF, $00, $FF, $AE, $6E, $FB, $BF, $94, $91, $FF, $1B, $FF, $9E, $94, $C4 ; CPU:$93C2 PRG:13C2 98 FF 00 FF AE 6E FB BF 94 91 FF 1B FF 9E 94 C4 + .byte $FF, $8A, $B5, $FF, $83, $AB, $F4, $93, $CA, $D1, $FF, $12, $FF, $A5, $BA, $B3 ; CPU:$93D2 PRG:13D2 FF 8A B5 FF 83 AB F4 93 CA D1 FF 12 FF A5 BA B3 + .byte $DE, $98, $C2, $D9, $9E, $A6, $F0, $91, $FF, $00, $FF, $A7, $A9, $D3, $C7, $A9 ; CPU:$93E2 PRG:13E2 DE 98 C2 D9 9E A6 F0 91 FF 00 FF A7 A9 D3 C7 A9 + .byte $D3, $C8, $E4, $BC, $D9, $E4, $4A, $F2, $BF, $80, $E1, $E2, $8D, $E0, $CA, $A5 ; CPU:$93F2 PRG:13F2 D3 C8 E4 BC D9 E4 4A F2 BF 80 E1 E2 8D E0 CA A5 + .byte $AA, $FC, $9B, $B9, $FF, $85, $DD, $C5, $A1, $DC, $B0, $BB, $D1, $AD, $CA, $CD ; CPU:$9402 PRG:1402 AA FC 9B B9 FF 85 DD C5 A1 DC B0 BB D1 AD CA CD + .byte $96, $E2, $A1, $FF, $54, $FC, $AD, $9F, $E7, $B2, $BD, $D4, $B2, $BA, $E3, $8E ; CPU:$9412 PRG:1412 96 E2 A1 FF 54 FC AD 9F E7 B2 BD D4 B2 BA E3 8E + .byte $DE, $BE, $C9, $77, $EE, $AA, $B6, $CA, $D0, $82, $FF, $6E, $FF, $F7, $8D, $FF ; CPU:$9422 PRG:1422 DE BE C9 77 EE AA B6 CA D0 82 FF 6E FF F7 8D FF + .byte $19, $FF, $FF, $1B, $FF, $5E, $FF, $66, $C3, $FF, $28, $FF, $00, $CC, $FF, $AA ; CPU:$9432 PRG:1432 19 FF FF 1B FF 5E FF 66 C3 FF 28 FF 00 CC FF AA + .byte $FF, $00, $FF, $0F, $FF, $FF, $00, $FF, $4E, $EF, $53, $65, $E5, $1E, $FF, $00 ; CPU:$9442 PRG:1442 FF 00 FF 0F FF FF 00 FF 4E EF 53 65 E5 1E FF 00 + .byte $B9, $F1, $2A, $9F, $21, $DD, $6D, $E4, $1A, $20, $FF, $27, $75, $74, $E2, $D9 ; CPU:$9452 PRG:1452 B9 F1 2A 9F 21 DD 6D E4 1A 20 FF 27 75 74 E2 D9 + .byte $7D, $E1, $05, $FF, $DF, $12, $FF, $96, $FF, $99, $C9, $97, $F8, $FF, $00, $F4 ; CPU:$9462 PRG:1462 7D E1 05 FF DF 12 FF 96 FF 99 C9 97 F8 FF 00 F4 + .byte $FF, $CA, $FF, $5D, $FF, $B2, $FF, $9A, $2F, $FF, $A2, $F2, $AE, $BE, $FF, $E1 ; CPU:$9472 PRG:1472 FF CA FF 5D FF B2 FF 9A 2F FF A2 F2 AE BE FF E1 + .byte $FF, $07, $FF, $FF, $61, $FF, $6F, $FF, $C7, $E4, $4F, $94, $FF, $3F, $B9, $97 ; CPU:$9482 PRG:1482 FF 07 FF FF 61 FF 6F FF C7 E4 4F 94 FF 3F B9 97 + .byte $93, $FF, $92, $92, $39, $FF, $67, $37, $E8, $6C, $F6, $61, $7F, $4E, $FC, $ED ; CPU:$9492 PRG:1492 93 FF 92 92 39 FF 67 37 E8 6C F6 61 7F 4E FC ED + .byte $00, $ED, $6C, $BE, $B7, $48, $89, $8A, $FF, $0F, $70, $FF, $56, $DC, $61, $79 ; CPU:$94A2 PRG:14A2 00 ED 6C BE B7 48 89 8A FF 0F 70 FF 56 DC 61 79 + .byte $99, $FF, $A1, $0F, $FF, $BB, $BA, $A1, $7E, $F7, $F2, $BA, $3A, $FF, $FF, $9A ; CPU:$94B2 PRG:14B2 99 FF A1 0F FF BB BA A1 7E F7 F2 BA 3A FF FF 9A + .byte $D3, $90, $F9, $FF, $F3, $77, $CF, $FF, $9A, $EF, $C1, $C9, $FF, $D2, $C5, $A2 ; CPU:$94C2 PRG:14C2 D3 90 F9 FF F3 77 CF FF 9A EF C1 C9 FF D2 C5 A2 + .byte $FF, $F4, $87, $FF, $B2, $FF, $EE, $9E, $D6, $FF, $FF, $5F, $E4, $FF, $D3, $FF ; CPU:$94D2 PRG:14D2 FF F4 87 FF B2 FF EE 9E D6 FF FF 5F E4 FF D3 FF + .byte $6B, $D3, $FF, $FF, $8F, $61, $FF, $AA, $DF, $99, $7F, $F8, $CD, $AD, $5B, $F0 ; CPU:$94E2 PRG:14E2 6B D3 FF FF 8F 61 FF AA DF 99 7F F8 CD AD 5B F0 + .byte $CC, $87, $BB, $58, $E7, $D1, $9B, $57, $A7, $FF, $5E, $BF, $7E, $A5, $F9, $74 ; CPU:$94F2 PRG:14F2 CC 87 BB 58 E7 D1 9B 57 A7 FF 5E BF 7E A5 F9 74 + .byte $89, $89, $FF, $85, $6E, $DA, $6D, $FF, $9D, $77, $A8, $CC, $EC, $4D, $E1, $97 ; CPU:$9502 PRG:1502 89 89 FF 85 6E DA 6D FF 9D 77 A8 CC EC 4D E1 97 + .byte $BE, $FF, $4B, $CE, $D2, $E9, $82, $8C, $FF, $97, $FF, $76, $94, $FF, $C6, $C0 ; CPU:$9512 PRG:1512 BE FF 4B CE D2 E9 82 8C FF 97 FF 76 94 FF C6 C0 + .byte $69, $FF, $C6, $C2, $D2, $5A, $FF, $D2, $B9, $95, $C0, $FF, $90, $ED, $7C, $D4 ; CPU:$9522 PRG:1522 69 FF C6 C2 D2 5A FF D2 B9 95 C0 FF 90 ED 7C D4 + .byte $FF, $86, $BE, $A0, $FF, $B4, $AC, $D6, $83, $FF, $94, $97, $E2, $CE, $F9, $6F ; CPU:$9532 PRG:1532 FF 86 BE A0 FF B4 AC D6 83 FF 94 97 E2 CE F9 6F + .byte $DE, $9D, $F9, $FC, $41, $EB, $BD, $EC, $B3, $94, $E2, $9C, $FF, $63, $AC, $FF ; CPU:$9542 PRG:1542 DE 9D F9 FC 41 EB BD EC B3 94 E2 9C FF 63 AC FF + .byte $9E, $CF, $64, $ED, $C1, $C8, $B6, $47, $FF, $A3, $AF, $A1, $99, $FC, $80, $CE ; CPU:$9552 PRG:1552 9E CF 64 ED C1 C8 B6 47 FF A3 AF A1 99 FC 80 CE + .byte $6A, $DA, $FF, $59, $C5, $78, $F2, $BB, $99, $B8, $6E, $FF, $79, $A9, $CF, $96 ; CPU:$9562 PRG:1562 6A DA FF 59 C5 78 F2 BB 99 B8 6E FF 79 A9 CF 96 + .byte $F0, $68, $CD, $A0, $E7, $D9, $45, $F9, $A1, $E8, $B1, $88, $ED, $9B, $FF, $63 ; CPU:$9572 PRG:1572 F0 68 CD A0 E7 D9 45 F9 A1 E8 B1 88 ED 9B FF 63 + .byte $C5, $FF, $95, $E6, $65, $F0, $D6, $CB, $C1, $67, $FF, $A5, $D2, $C2, $98, $FF ; CPU:$9582 PRG:1582 C5 FF 95 E6 65 F0 D6 CB C1 67 FF A5 D2 C2 98 FF + .byte $98, $DD, $8A, $E1, $F4, $79, $E4, $86, $F5, $CC, $98, $C4, $92, $FF, $83, $B3 ; CPU:$9592 PRG:1592 98 DD 8A E1 F4 79 E4 86 F5 CC 98 C4 92 FF 83 B3 + .byte $C8, $A5, $F7, $6D, $CB, $AE, $D8, $C8, $63, $EA, $97, $E5, $AD, $82, $DA, $9D ; CPU:$95A2 PRG:15A2 C8 A5 F7 6D CB AE D8 C8 63 EA 97 E5 AD 82 DA 9D + .byte $ED, $78, $BB, $D3, $97, $DF, $72, $D9, $BD, $B4, $B5, $81, $FE, $9E, $C1, $A5 ; CPU:$95B2 PRG:15B2 ED 78 BB D3 97 DF 72 D9 BD B4 B5 81 FE 9E C1 A5 + .byte $9D, $F1, $9B, $C6, $91, $D7, $D2, $91, $CF, $96, $EC, $BB, $9F, $B8, $AC, $F9 ; CPU:$95C2 PRG:15C2 9D F1 9B C6 91 D7 D2 91 CF 96 EC BB 9F B8 AC F9 + .byte $99, $B8, $B0, $BA, $E4, $96, $C6, $AC, $D6, $B9, $94, $D9, $B0, $DB, $A1, $A3 ; CPU:$95D2 PRG:15D2 99 B8 B0 BA E4 96 C6 AC D6 B9 94 D9 B0 DB A1 A3 + .byte $CF, $BF, $D5, $8A, $C2, $C2, $B8, $C3, $94, $D4, $BB, $BE, $9F, $A7, $E0, $B1 ; CPU:$95E2 PRG:15E2 CF BF D5 8A C2 C2 B8 C3 94 D4 BB BE 9F A7 E0 B1 + .byte $BF, $95, $B4, $D0, $B6, $B9, $97, $CD, $B5, $AE, $B8, $AA, $D2, $A9, $AF, $A5 ; CPU:$95F2 PRG:15F2 BF 95 B4 D0 B6 B9 97 CD B5 AE B8 AA D2 A9 AF A5 + .byte $C5, $D4, $9E, $B9, $A5, $CC, $C2, $AB, $BB, $B0, $D7, $A0, $B0, $C3, $C0, $D2 ; CPU:$9602 PRG:1602 C5 D4 9E B9 A5 CC C2 AB BB B0 D7 A0 B0 C3 C0 D2 + .byte $99, $B6, $B6, $D5, $C4, $9C, $C8, $B0, $D2, $B4, $B3, $CB, $B6, $CC, $9A, $C9 ; CPU:$9612 PRG:1612 99 B6 B6 D5 C4 9C C8 B0 D2 B4 B3 CB B6 CC 9A C9 + .byte $CD, $BB, $C3, $99, $CF, $BC, $C8, $B2, $A5, $DA, $A8, $C5, $A8, $BF, $D1, $A7 ; CPU:$9622 PRG:1622 CD BB C3 99 CF BC C8 B2 A5 DA A8 C5 A8 BF D1 A7 + .byte $BE, $97, $D7, $C2, $A8, $BA, $99, $D8, $AA, $B8, $AD, $AA, $D3, $91, $C3, $A9 ; CPU:$9632 PRG:1632 BE 97 D7 C2 A8 BA 99 D8 AA B8 AD AA D3 91 C3 A9 + .byte $BD, $BF, $91, $C3, $9F, $D5, $A9, $9C, $C6, $9E, $D2, $99, $B8, $BA, $AD, $CA ; CPU:$9642 PRG:1642 BD BF 91 C3 9F D5 A9 9C C6 9E D2 99 B8 BA AD CA + .byte $88, $CF, $B4, $BB, $BC, $91, $D5, $AA, $D0, $A7, $AA, $D5, $A1, $D4, $A0, $C5 ; CPU:$9652 PRG:1652 88 CF B4 BB BC 91 D5 AA D0 A7 AA D5 A1 D4 A0 C5 + .byte $C8, $AC, $CD, $9A, $E1, $B7, $B6, $C6, $A4, $E5, $AA, $CB, $B4, $B8, $DF, $9C ; CPU:$9662 PRG:1662 C8 AC CD 9A E1 B7 B6 C6 A4 E5 AA CB B4 B8 DF 9C + .byte $D7, $AE, $CD, $CB, $A2, $D3, $A9, $E3, $AF, $AF, $CF, $A9, $E1, $A1, $C3, $BD ; CPU:$9672 PRG:1672 D7 AE CD CB A2 D3 A9 E3 AF AF CF A9 E1 A1 C3 BD + .byte $B5, $D2, $95, $D6, $B0, $BF, $BF, $9B, $D5, $A5, $CD, $A5, $AA, $CD, $9D, $CE ; CPU:$9682 PRG:1682 B5 D2 95 D6 B0 BF BF 9B D5 A5 CD A5 AA CD 9D CE + .byte $9A, $BC, $BA, $A4, $C3, $93, $D3, $A9, $AC, $B7, $9B, $D3, $9F, $BB, $A3, $AE ; CPU:$9692 PRG:1692 9A BC BA A4 C3 93 D3 A9 AC B7 9B D3 9F BB A3 AE + .byte $CB, $95, $C6, $A0, $BE, $BA, $9D, $C4, $A0, $D1, $A7, $AC, $C1, $A6, $D3, $A0 ; CPU:$96A2 PRG:16A2 CB 95 C6 A0 BE BA 9D C4 A0 D1 A7 AC C1 A6 D3 A0 + .byte $BE, $B6, $B6, $CA, $9D, $D1, $B1, $C0, $BD, $A7, $D2, $B1, $D0, $AC, $B7, $D1 ; CPU:$96B2 PRG:16B2 BE B6 B6 CA 9D D1 B1 C0 BD A7 D2 B1 D0 AC B7 D1 + .byte $B0, $D2, $AA, $C5, $C5, $BA, $C9, $A8, $D7, $B7, $BD, $C1, $AF, $D5, $B2, $C4 ; CPU:$96C2 PRG:16C2 B0 D2 AA C5 C5 BA C9 A8 D7 B7 BD C1 AF D5 B2 C4 + .byte $B2, $BE, $CD, $AA, $CA, $AF, $C4, $BE, $AF, $C3, $AE, $CE, $AC, $B4, $BD, $B0 ; CPU:$96D2 PRG:16D2 B2 BE CD AA CA AF C4 BE AF C3 AE CE AC B4 BD B0 + .byte $CB, $A8, $B9, $B1, $BA, $BF, $A3, $C3, $AC, $BB, $B4, $A8, $BF, $AE, $C0, $A4 ; CPU:$96E2 PRG:16E2 CB A8 B9 B1 BA BF A3 C3 AC BB B4 A8 BF AE C0 A4 + .byte $B3, $BC, $AC, $C0, $A4, $B8, $B5, $B3, $B5, $A8, $C4, $AD, $B7, $B2, $AE, $C4 ; CPU:$96F2 PRG:16F2 B3 BC AC C0 A4 B8 B5 B3 B5 A8 C4 AD B7 B2 AE C4 + .byte $B1, $B9, $AA, $BC, $BE, $AF, $BF, $AC, $C0, $BA, $B4, $BA, $B4, $C7, $AF, $BC ; CPU:$9702 PRG:1702 B1 B9 AA BC BE AF BF AC C0 BA B4 BA B4 C7 AF BC + .byte $B9, $BA, $C8, $B1, $BD, $B6, $C5, $BD, $B4, $C5, $B4, $C6, $B8, $B6, $C1, $BC ; CPU:$9712 PRG:1712 B9 BA C8 B1 BD B6 C5 BD B4 C5 B4 C6 B8 B6 C1 BC + .byte $C4, $AE, $C1, $BD, $BC, $C3, $AE, $C0, $BA, $C0, $B7, $B5, $C4, $B1, $C2, $B1 ; CPU:$9722 PRG:1722 C4 AE C1 BD BC C3 AE C0 BA C0 B7 B5 C4 B1 C2 B1 + .byte $B8, $C2, $B6, $BC, $AB, $C1, $B8, $B7, $BB, $AA, $C2, $B3, $B7, $B3, $B5, $C0 ; CPU:$9732 PRG:1732 B8 C2 B6 BC AB C1 B8 B7 BB AA C2 B3 B7 B3 B5 C0 + .byte $AA, $BC, $AE, $BA, $BE, $AB, $B8, $AE, $C0, $B2, $B2, $BA, $AB, $C3, $AD, $B6 ; CPU:$9742 PRG:1742 AA BC AE BA BE AB B8 AE C0 B2 B2 BA AB C3 AD B6 + .byte $B8, $B6, $BD, $A9, $BF, $B2, $BC, $BC, $AA, $BF, $B2, $C0, $B3, $B5, $C0, $AF ; CPU:$9752 PRG:1752 B8 B6 BD A9 BF B2 BC BC AA BF B2 C0 B3 B5 C0 AF + .byte $C4, $AE, $BD, $BF, $B5, $BF, $AC, $C6, $B7, $BD, $BD, $AD, $C8, $B4, $BF, $B7 ; CPU:$9762 PRG:1762 C4 AE BD BF B5 BF AC C6 B7 BD BD AD C8 B4 BF B7 + .byte $B8, $C3, $B0, $C4, $B0, $C1, $C1, $B0, $C0, $B1, $C6, $B7, $B9, $BD, $AF, $C9 ; CPU:$9772 PRG:1772 B8 C3 B0 C4 B0 C1 C1 B0 C0 B1 C6 B7 B9 BD AF C9 + .byte $AF, $BC, $BA, $B6, $C0, $AB, $C2, $B3, $BF, $BC, $AA, $C2, $B1, $C1, $B3, $B4 ; CPU:$9782 PRG:1782 AF BC BA B6 C0 AB C2 B3 BF BC AA C2 B1 C1 B3 B4 + .byte $BE, $AF, $C3, $AB, $BB, $BB, $B1, $BE, $A9, $C0, $B3, $B9, $B8, $AA, $C4, $AF ; CPU:$9792 PRG:1792 BE AF C3 AB BB BB B1 BE A9 C0 B3 B9 B8 AA C4 AF + .byte $BC, $B4, $B4, $BF, $AD, $C0, $AD, $BD, $BC, $AD, $BE, $AE, $C2, $B6, $B5, $BA ; CPU:$97A2 PRG:17A2 BC B4 B4 BF AD C0 AD BD BC AD BE AE C2 B6 B5 BA + .byte $AF, $C5, $AE, $BB, $B8, $B5, $C1, $AD, $C0, $B3, $BE, $BC, $AE, $C2, $B2, $C1 ; CPU:$97B2 PRG:17B2 AF C5 AE BB B8 B5 C1 AD C0 B3 BE BC AE C2 B2 C1 + .byte $B6, $B5, $BF, $B3, $C3, $AF, $BD, $BD, $B4, $C0, $AF, $C1, $B8, $BB, $BA, $B1 ; CPU:$97C2 PRG:17C2 B6 B5 BF B3 C3 AF BD BD B4 C0 AF C1 B8 BB BA B1 + .byte $C4, $B3, $BE, $B7, $B5, $C0, $B2, $BF, $B1, $BE, $BC, $B2, $BE, $B1, $C0, $B7 ; CPU:$97D2 PRG:17D2 C4 B3 BE B7 B5 C0 B2 BF B1 BE BC B2 BE B1 C0 B7 + .byte $B6, $BA, $B3, $C2, $B1, $BB, $B7, $B6, $BE, $A1, $AA, $AD, $B7, $B6, $B7, $B3 ; CPU:$97E2 PRG:17E2 B6 BA B3 C2 B1 BB B7 B6 BE A1 AA AD B7 B6 B7 B3 + .byte $B0, $C5, $B9, $B3, $AF, $AA, $A0, $AE, $B0, $B5, $B4, $AF, $B0, $B3, $B3, $A6 ; CPU:$97F2 PRG:17F2 B0 C5 B9 B3 AF AA A0 AE B0 B5 B4 AF B0 B3 B3 A6 + .byte $AB, $A4, $9A, $A7, $A9, $B8, $BA, $B2, $B6, $B2, $AE, $A8, $A3, $B0, $9E, $B0 ; CPU:$9802 PRG:1802 AB A4 9A A7 A9 B8 BA B2 B6 B2 AE A8 A3 B0 9E B0 + .byte $AF, $B9, $C0, $AB, $BB, $BE, $AB, $B4, $93, $B0, $A6, $AE, $CC, $AA, $CD, $BA ; CPU:$9812 PRG:1812 AF B9 C0 AB BB BE AB B4 93 B0 A6 AE CC AA CD BA + .byte $CD, $B7, $91, $B0, $BB, $8A, $C2, $A7, $C3, $CE, $A2, $D7, $9F, $7D, $CE, $8F ; CPU:$9822 PRG:1822 CD B7 91 B0 BB 8A C2 A7 C3 CE A2 D7 9F 7D CE 8F + .byte $98, $AC, $A5, $D4, $AE, $B8, $C9, $97, $9C, $B4, $8A, $9D, $AE, $AA, $D2, $B3 ; CPU:$9832 PRG:1832 98 AC A5 D4 AE B8 C9 97 9C B4 8A 9D AE AA D2 B3 + .byte $BF, $C2, $A3, $9C, $C2, $89, $98, $CB, $AD, $D2, $BC, $BE, $C9, $86, $8D, $DB ; CPU:$9842 PRG:1842 BF C2 A3 9C C2 89 98 CB AD D2 BC BE C9 86 8D DB + .byte $8B, $8E, $D4, $B8, $DD, $BC, $BA, $D6, $6A, $6C, $B8, $B9, $75, $E4, $CE, $D4 ; CPU:$9852 PRG:1852 8B 8E D4 B8 DD BC BA D6 6A 6C B8 B9 75 E4 CE D4 + .byte $D1, $98, $FB, $90, $6C, $66, $E0, $94, $B5, $E8, $9F, $D5, $99, $8C, $8B, $D1 ; CPU:$9862 PRG:1862 D1 98 FB 90 6C 66 E0 94 B5 E8 9F D5 99 8C 8B D1 + .byte $92, $9E, $FF, $A3, $FF, $C0, $94, $F9, $72, $81, $51, $FD, $73, $CC, $EA, $81 ; CPU:$9872 PRG:1872 92 9E FF A3 FF C0 94 F9 72 81 51 FD 73 CC EA 81 + .byte $EC, $8F, $73, $58, $B6, $B6, $6A, $FF, $81, $F7, $B0, $89, $C4, $58, $FC, $61 ; CPU:$9882 PRG:1882 EC 8F 73 58 B6 B6 6A FF 81 F7 B0 89 C4 58 FC 61 + .byte $FF, $DD, $A6, $FF, $72, $C6, $A3, $9C, $D4, $73, $FF, $98, $E3, $DC, $8F, $A3 ; CPU:$9892 PRG:1892 FF DD A6 FF 72 C6 A3 9C D4 73 FF 98 E3 DC 8F A3 + .byte $BE, $8B, $CF, $7B, $FF, $8B, $EB, $C8, $9F, $91, $CA, $76, $D0, $73, $FF, $85 ; CPU:$98A2 PRG:18A2 BE 8B CF 7B FF 8B EB C8 9F 91 CA 76 D0 73 FF 85 + .byte $F5, $BB, $B2, $81, $D6, $5F, $CF, $6E, $FF, $8F, $EA, $C0, $A8, $94, $BE, $69 ; CPU:$98B2 PRG:18B2 F5 BB B2 81 D6 5F CF 6E FF 8F EA C0 A8 94 BE 69 + .byte $D8, $8B, $E0, $CC, $C5, $DB, $8F, $B8, $A5, $66, $E3, $8C, $D7, $D8, $C0, $DA ; CPU:$98C2 PRG:18C2 D8 8B E0 CC C5 DB 8F B8 A5 66 E3 8C D7 D8 C0 DA + .byte $9B, $B8, $AC, $54, $C3, $A4, $C0, $EC, $B4, $C9, $B5, $A8, $B2, $56, $BA, $C6 ; CPU:$98D2 PRG:18D2 9B B8 AC 54 C3 A4 C0 EC B4 C9 B5 A8 B2 56 BA C6 + .byte $9D, $DE, $CA, $A7, $C5, $B7, $9E, $6F, $BA, $C0, $A8, $C2, $D0, $AE, $B2, $B8 ; CPU:$98E2 PRG:18E2 9D DE CA A7 C5 B7 9E 6F BA C0 A8 C2 D0 AE B2 B8 + .byte $AC, $7F, $B3, $C3, $B1, $B5, $BF, $B1, $B8, $AE, $AE, $AB, $B4, $AF, $BA, $B8 ; CPU:$98F2 PRG:18F2 AC 7F B3 C3 B1 B5 BF B1 B8 AE AE AB B4 AF BA B8 + .byte $A8, $B4, $BA, $B1, $AF, $B6, $B4, $AB, $B6, $B3, $AB, $B4, $B4, $B5, $B1, $B2 ; CPU:$9902 PRG:1902 A8 B4 BA B1 AF B6 B4 AB B6 B3 AB B4 B4 B5 B1 B2 + .byte $B3, $AF, $B4, $B1, $AD, $B1, $B5, $B5, $B1, $B3, $B3, $B0, $B0, $B2, $AA, $B3 ; CPU:$9912 PRG:1912 B3 AF B4 B1 AD B1 B5 B5 B1 B3 B3 B0 B0 B2 AA B3 + .byte $B4, $B3, $B1, $B4, $B4, $B1, $B0, $AF, $AB, $B2, $B0, $B6, $B0, $B5, $B8, $B2 ; CPU:$9922 PRG:1922 B4 B3 B1 B4 B4 B1 B0 AF AB B2 B0 B6 B0 B5 B8 B2 + .byte $AF, $B1, $AD, $AF, $B0, $B5, $B1, $B5, $B6, $B1, $B1, $B1, $AE, $AF, $B0, $B3 ; CPU:$9932 PRG:1932 AF B1 AD AF B0 B5 B1 B5 B6 B1 B1 B1 AE AF B0 B3 + .byte $B3, $B5, $B4, $B2, $B2, $AF, $B1, $B1, $AE, $B2, $B4, $B2, $B1, $B4, $B3, $AE ; CPU:$9942 PRG:1942 B3 B5 B4 B2 B2 AF B1 B1 AE B2 B4 B2 B1 B4 B3 AE + .byte $B1, $B2, $AC, $B1, $B3, $B3, $B2, $B1, $B4, $B0, $B2, $B3, $AF, $B0, $B0, $B5 ; CPU:$9952 PRG:1952 B1 B2 AC B1 B3 B3 B2 B1 B4 B0 B2 B3 AF B0 B0 B5 + .byte $B2, $AF, $B6, $B1, $B2, $B3, $B0, $AE, $B1, $B2, $B2, $B1, $B1, $B3, $B4, $AF ; CPU:$9962 PRG:1962 B2 AF B6 B1 B2 B3 B0 AE B1 B2 B2 B1 B1 B3 B4 AF + .byte $B1, $B1, $AD, $B1, $B3, $B1, $B1, $B2, $B4, $B3, $B1, $B1, $B0, $AF, $AF, $B4 ; CPU:$9972 PRG:1972 B1 B1 AD B1 B3 B1 B1 B2 B4 B3 B1 B1 B0 AF AF B4 + .byte $B2, $AF, $B5, $B2, $AF, $B4, $AF, $AD, $AF, $B0, $B5, $B1, $B0, $B4, $B0, $AD ; CPU:$9982 PRG:1982 B2 AF B5 B2 AF B4 AF AD AF B0 B5 B1 B0 B4 B0 AD + .byte $B3, $B0, $AC, $B1, $B1, $B3, $B3, $B0, $B3, $AF, $AB, $B4, $B0, $AE, $B0, $AE ; CPU:$9992 PRG:1992 B3 B0 AC B1 B1 B3 B3 B0 B3 AF AB B4 B0 AE B0 AE + .byte $B6, $B2, $B0, $B3, $AE, $B0, $B1, $B4, $B2, $AA, $AF, $B8, $B4, $B1, $B4, $B1 ; CPU:$99A2 PRG:19A2 B6 B2 B0 B3 AE B0 B1 B4 B2 AA AF B8 B4 B1 B4 B1 + .byte $B4, $A8, $BC, $BB, $9C, $AD, $C4, $B4, $B0, $BB, $A6, $AD, $B0, $C7, $C0, $9E ; CPU:$99B2 PRG:19B2 B4 A8 BC BB 9C AD C4 B4 B0 BB A6 AD B0 C7 C0 9E + .byte $A9, $C5, $AB, $A6, $C4, $AB, $A4, $B4, $D3, $C1, $96, $A8, $CA, $A4, $9E, $CD ; CPU:$99C2 PRG:19C2 A9 C5 AB A6 C4 AB A4 B4 D3 C1 96 A8 CA A4 9E CD + .byte $AE, $9E, $B6, $E2, $C1, $89, $A7, $D1, $9F, $96, $D3, $C4, $85, $98, $E4, $CA ; CPU:$99D2 PRG:19D2 AE 9E B6 E2 C1 89 A7 D1 9F 96 D3 C4 85 98 E4 CA + .byte $7A, $A2, $DE, $A6, $91, $C8, $D5, $59, $6B, $FF, $EC, $74, $9F, $E7, $AB, $81 ; CPU:$99E2 PRG:19E2 7A A2 DE A6 91 C8 D5 59 6B FF EC 74 9F E7 AB 81 + .byte $C2, $F7, $5E, $4B, $F9, $FF, $79, $7E, $EF, $CB, $56, $A8, $FF, $A6, $12, $C5 ; CPU:$99F2 PRG:19F2 C2 F7 5E 4B F9 FF 79 7E EF CB 56 A8 FF A6 12 C5 + .byte $FF, $87, $3B, $FA, $F7, $46, $88, $FF, $E9, $08, $8F, $FF, $D9, $2D, $C4, $FF ; CPU:$9A02 PRG:1A02 FF 87 3B FA F7 46 88 FF E9 08 8F FF D9 2D C4 FF + .byte $5A, $36, $FF, $FF, $5A, $38, $FE, $F9, $71, $A6, $FF, $9A, $39, $C2, $FF, $99 ; CPU:$9A12 PRG:1A12 5A 36 FF FF 5A 38 FE F9 71 A6 FF 9A 39 C2 FF 99 + .byte $99, $B9, $76, $9A, $FF, $C0, $7A, $B4, $A5, $8A, $CC, $F0, $C2, $8F, $2C, $A7 ; CPU:$9A22 PRG:1A22 99 B9 76 9A FF C0 7A B4 A5 8A CC F0 C2 8F 2C A7 + .byte $FF, $C7, $A2, $B1, $9F, $76, $BE, $FF, $A8, $94, $A5, $3D, $DE, $FF, $8A, $64 ; CPU:$9A32 PRG:1A32 FF C7 A2 B1 9F 76 BE FF A8 94 A5 3D DE FF 8A 64 + .byte $C6, $83, $8C, $FF, $FF, $53, $85, $DD, $3B, $F0, $FF, $39, $21, $FC, $B0, $93 ; CPU:$9A42 PRG:1A42 C6 83 8C FF FF 53 85 DD 3B F0 FF 39 21 FC B0 93 + .byte $FF, $D6, $1B, $AD, $FF, $27, $FF, $FF, $00, $65, $FF, $86, $86, $FF, $8A, $0D ; CPU:$9A52 PRG:1A52 FF D6 1B AD FF 27 FF FF 00 65 FF 86 86 FF 8A 0D + .byte $FF, $FF, $00, $FF, $FF, $00, $C5, $FF, $4F, $8C, $FF, $6E, $2F, $FF, $D1, $04 ; CPU:$9A62 PRG:1A62 FF FF 00 FF FF 00 C5 FF 4F 8C FF 6E 2F FF D1 04 + .byte $E7, $FF, $6F, $4B, $FF, $7D, $9D, $FF, $7E, $5D, $FF, $C8, $C1, $84, $8B, $FF ; CPU:$9A72 PRG:1A72 E7 FF 6F 4B FF 7D 9D FF 7E 5D FF C8 C1 84 8B FF + .byte $F5, $23, $D7, $D7, $76, $FF, $BD, $52, $F1, $F3, $AF, $76, $76, $FF, $E3, $0D ; CPU:$9A82 PRG:1A82 F5 23 D7 D7 76 FF BD 52 F1 F3 AF 76 76 FF E3 0D + .byte $CC, $E8, $A1, $F9, $B5, $53, $D7, $FF, $9C, $A4, $2D, $FF, $FF, $26, $29, $FF ; CPU:$9A92 PRG:1A92 CC E8 A1 F9 B5 53 D7 FF 9C A4 2D FF FF 26 29 FF + .byte $AD, $B1, $F5, $1C, $D3, $FF, $63, $A2, $BA, $0D, $FF, $F3, $00, $E8, $FF, $7C ; CPU:$9AA2 PRG:1AA2 AD B1 F5 1C D3 FF 63 A2 BA 0D FF F3 00 E8 FF 7C + .byte $A3, $B4, $65, $FF, $D9, $1B, $FF, $C7, $01, $FF, $79, $00, $FF, $FF, $29, $C8 ; CPU:$9AB2 PRG:1AB2 A3 B4 65 FF D9 1B FF C7 01 FF 79 00 FF FF 29 C8 + .byte $D1, $8B, $FF, $6B, $61, $FF, $79, $00, $FF, $A5, $00, $FF, $FF, $4C, $CC, $B7 ; CPU:$9AC2 PRG:1AC2 D1 8B FF 6B 61 FF 79 00 FF A5 00 FF FF 4C CC B7 + .byte $7B, $FF, $81, $8A, $FF, $86, $65, $DC, $FF, $0A, $36, $FF, $85, $88, $C2, $BC ; CPU:$9AD2 PRG:1AD2 7B FF 81 8A FF 86 65 DC FF 0A 36 FF 85 88 C2 BC + .byte $DF, $B7, $80, $AC, $FF, $67, $5B, $FF, $FF, $0F, $6C, $FF, $67, $7F, $CB, $AA ; CPU:$9AE2 PRG:1AE2 DF B7 80 AC FF 67 5B FF FF 0F 6C FF 67 7F CB AA + .byte $FF, $92, $73, $EC, $FB, $47, $87, $FF, $FF, $01, $43, $FF, $9A, $33, $D3, $F3 ; CPU:$9AF2 PRG:1AF2 FF 92 73 EC FB 47 87 FF FF 01 43 FF 9A 33 D3 F3 + .byte $CC, $89, $7F, $EC, $FF, $28, $9A, $B7, $FF, $14, $00, $FF, $FE, $00, $D0, $FF ; CPU:$9B02 PRG:1B02 CC 89 7F EC FF 28 9A B7 FF 14 00 FF FE 00 D0 FF + .byte $87, $88, $8B, $EC, $FF, $27, $8A, $F9, $FF, $B7, $11, $FF, $FF, $00, $51, $FF ; CPU:$9B12 PRG:1B12 87 88 8B EC FF 27 8A F9 FF B7 11 FF FF 00 51 FF + .byte $B3, $59, $A8, $E4, $EC, $95, $4D, $FF, $4E, $FF, $67, $00, $FF, $F1, $00, $FF ; CPU:$9B22 PRG:1B22 B3 59 A8 E4 EC 95 4D FF 4E FF 67 00 FF F1 00 FF + .byte $FF, $30, $B7, $DF, $D8, $ED, $5B, $AF, $FF, $63, $FF, $4B, $1E, $FF, $79, $00 ; CPU:$9B32 PRG:1B32 FF 30 B7 DF D8 ED 5B AF FF 63 FF 4B 1E FF 79 00 + .byte $FF, $FF, $36, $EA, $DE, $C7, $E1, $52, $ED, $E4, $5C, $FF, $2D, $38, $FF, $47 ; CPU:$9B42 PRG:1B42 FF FF 36 EA DE C7 E1 52 ED E4 5C FF 2D 38 FF 47 + .byte $05, $FF, $C2, $3F, $F9, $D0, $DA, $D0, $41, $FF, $D4, $0B, $FF, $36, $00, $FF ; CPU:$9B52 PRG:1B52 05 FF C2 3F F9 D0 DA D0 41 FF D4 0B FF 36 00 FF + .byte $5C, $00, $FF, $CB, $46, $F4, $BF, $E5, $D5, $46, $FF, $CE, $00, $FF, $53, $00 ; CPU:$9B62 PRG:1B62 5C 00 FF CB 46 F4 BF E5 D5 46 FF CE 00 FF 53 00 + .byte $FF, $F5, $00, $FF, $FF, $3B, $E1, $BF, $E2, $E0, $3F, $F1, $F8, $1F, $FF, $FF ; CPU:$9B72 PRG:1B72 FF F5 00 FF FF 3B E1 BF E2 E0 3F F1 F8 1F FF FF + .byte $00, $F2, $FF, $00, $84, $FF, $71, $91, $9A, $CD, $FB, $6E, $7E, $FF, $83, $0D ; CPU:$9B82 PRG:1B82 00 F2 FF 00 84 FF 71 91 9A CD FB 6E 7E FF 83 0D + .byte $FF, $25, $00, $FF, $D7, $00, $FF, $FF, $59, $A5, $C6, $FF, $BE, $4E, $EF, $EA ; CPU:$9B92 PRG:1B92 FF 25 00 FF D7 00 FF FF 59 A5 C6 FF BE 4E EF EA + .byte $3A, $64, $FF, $00, $14, $FF, $4B, $00, $FF, $FF, $63, $72, $EE, $FF, $74, $8A ; CPU:$9BA2 PRG:1BA2 3A 64 FF 00 14 FF 4B 00 FF FF 63 72 EE FF 74 8A + .byte $FF, $B7, $70, $5B, $FF, $00, $00, $FF, $AA, $00, $FF, $FF, $42, $64, $FF, $F3 ; CPU:$9BB2 PRG:1BB2 FF B7 70 5B FF 00 00 FF AA 00 FF FF 42 64 FF F3 + .byte $77, $9B, $EF, $C6, $78, $88, $FF, $CD, $00, $FF, $FF, $00, $BD, $FF, $61, $51 ; CPU:$9BC2 PRG:1BC2 77 9B EF C6 78 88 FF CD 00 FF FF 00 BD FF 61 51 + .byte $FF, $FF, $A5, $76, $D2, $F8, $69, $8D, $8D, $FF, $00, $00, $FF, $95, $00, $FF ; CPU:$9BD2 PRG:1BD2 FF FF A5 76 D2 F8 69 8D 8D FF 00 00 FF 95 00 FF + .byte $FF, $0F, $7D, $FF, $E9, $5D, $9C, $F0, $7F, $3D, $75, $69, $42, $BE ; CPU:$9BE2 PRG:1BE2 FF 0F 7D FF E9 5D 9C F0 7F 3D 75 69 42 BE ; ----------------------------------------------------------------------------- ; Routine: Sub_9BF0 ; Global: Branch target inside Sub: taken when 9BF0. @@ -489,8 +608,16 @@ Sub_9BF0: ; ----------------------------------------------------------------------------- Sub_9BF3: jmp Sub_9BF9 ; CPU:$9BF3 PRG:1BF3 4C F9 9B -; ---- data $9BF6-$9BF8 (3 bytes) ---- - .byte $4C, $A8, $9D ; CPU:$9BF6 PRG:1BF6 4C A8 9D +; ----------------------------------------------------------------------------- +; Routine: Sub_9BF6 +; Global: Branch target inside Sub: taken when 9BF6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9BF6: + jmp Sub_9DA8 ; CPU:$9BF6 PRG:1BF6 4C A8 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_9BF9 ; Global: Branch target inside Sub: taken when 9BF9. @@ -503,30 +630,30 @@ Sub_9BF9: ldx #$BC ; CPU:$9BF9 PRG:1BF9 A2 BC lda #$00 ; CPU:$9BFB PRG:1BFB A9 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero -; Global: Branch target inside Sub: taken when the tested value is not zero. +; Routine: Sub_OnNonzero4 +; Global: Branch target inside Sub: taken when OnNonzero4. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero: +Sub_OnNonzero4: sta $05FF,x ; CPU:$9BFD PRG:1BFD 9D FF 05 dex ; CPU:$9C00 PRG:1C00 CA - bne Sub_OnNonzero ; CPU:$9C01 PRG:1C01 D0 FA + bne Sub_OnNonzero4 ; CPU:$9C01 PRG:1C01 D0 FA ldx #$10 ; CPU:$9C03 PRG:1C03 A2 10 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonnegative -; Global: Branch target inside Sub: taken when the tested value is not negative. +; Routine: Sub_OnNonnegative2 +; Global: Branch target inside Sub: taken when OnNonnegative2. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonnegative: +Sub_OnNonnegative2: sta APUPULSE1CTRL,x ; CPU:$9C05 PRG:1C05 9D 00 40 dex ; CPU:$9C08 PRG:1C08 CA - bpl Sub_OnNonnegative ; CPU:$9C09 PRG:1C09 10 FA + bpl Sub_OnNonnegative2 ; CPU:$9C09 PRG:1C09 10 FA sta APUDMCADDR ; CPU:$9C0B PRG:1C0B 8D 12 40 sta APUDMCLENGTH ; CPU:$9C0E PRG:1C0E 8D 13 40 jsr Sub_9DCC ; CPU:$9C11 PRG:1C11 20 CC 9D @@ -548,22 +675,9 @@ Sub_9C1A: sta ZpD0 ; CPU:$9C22 PRG:1C22 85 D0 ldx #$5C ; CPU:$9C24 PRG:1C24 A2 5C lda $066A ; CPU:$9C26 PRG:1C26 AD 6A 06 - beq Sub_Loop ; CPU:$9C29 PRG:1C29 F0 03 + beq Sub_Loop2 ; CPU:$9C29 PRG:1C29 F0 03 jsr Sub_9FAA ; CPU:$9C2B PRG:1C2B 20 AA 9F ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop -; Global: Branch target inside Sub: taken when the loop repeats. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop: - ldx $066B ; CPU:$9C2E PRG:1C2E AE 6B 06 - lda $060E,x ; CPU:$9C31 PRG:1C31 BD 0E 06 - beq Sub_Loop2 ; CPU:$9C34 PRG:1C34 F0 03 - jsr Sub_9F4C ; CPU:$9C36 PRG:1C36 20 4C 9F -; ----------------------------------------------------------------------------- ; Routine: Sub_Loop2 ; Global: Branch target inside Sub: taken when Loop2. ; Local: Part of Sub. @@ -572,6 +686,19 @@ Sub_Loop: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop2: + ldx $066B ; CPU:$9C2E PRG:1C2E AE 6B 06 + lda $060E,x ; CPU:$9C31 PRG:1C31 BD 0E 06 + beq Sub_Loop3 ; CPU:$9C34 PRG:1C34 F0 03 + jsr Sub_9F4C ; CPU:$9C36 PRG:1C36 20 4C 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop3 +; Global: Branch target inside Sub: taken when Loop3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop3: rts ; CPU:$9C39 PRG:1C39 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9C3A @@ -584,28 +711,10 @@ Sub_Loop2: Sub_9C3A: ldy $066B ; CPU:$9C3A PRG:1C3A AC 6B 06 lda $060E,y ; CPU:$9C3D PRG:1C3D B9 0E 06 - bne Sub_Loop3 ; CPU:$9C40 PRG:1C40 D0 06 + bne Sub_Loop4 ; CPU:$9C40 PRG:1C40 D0 06 sta $0607,y ; CPU:$9C42 PRG:1C42 99 07 06 jmp Sub_9CCA ; CPU:$9C45 PRG:1C45 4C CA 9C ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop3 -; Global: Branch target inside Sub: taken when Loop3. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop3: - lda $0663 ; CPU:$9C48 PRG:1C48 AD 63 06 - and #$07 ; CPU:$9C4B PRG:1C4B 29 07 - ora $0607,y ; CPU:$9C4D PRG:1C4D 19 07 06 - jsr Sub_9DCC ; CPU:$9C50 PRG:1C50 20 CC 9D - lda $06B9 ; CPU:$9C53 PRG:1C53 AD B9 06 - bne Sub_Loop5 ; CPU:$9C56 PRG:1C56 D0 09 - lda $066A ; CPU:$9C58 PRG:1C58 AD 6A 06 - bne Sub_Loop4 ; CPU:$9C5B PRG:1C5B D0 01 - rts ; CPU:$9C5D PRG:1C5D 60 -; ----------------------------------------------------------------------------- ; Routine: Sub_Loop4 ; Global: Branch target inside Sub: taken when Loop4. ; Local: Part of Sub. @@ -614,7 +723,15 @@ Sub_Loop3: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop4: - jmp Sub_Loop12 ; CPU:$9C5E PRG:1C5E 4C DE 9C + lda $0663 ; CPU:$9C48 PRG:1C48 AD 63 06 + and #$07 ; CPU:$9C4B PRG:1C4B 29 07 + ora $0607,y ; CPU:$9C4D PRG:1C4D 19 07 06 + jsr Sub_9DCC ; CPU:$9C50 PRG:1C50 20 CC 9D + lda $06B9 ; CPU:$9C53 PRG:1C53 AD B9 06 + bne Sub_Loop6 ; CPU:$9C56 PRG:1C56 D0 09 + lda $066A ; CPU:$9C58 PRG:1C58 AD 6A 06 + bne Sub_Loop5 ; CPU:$9C5B PRG:1C5B D0 01 + rts ; CPU:$9C5D PRG:1C5D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop5 ; Global: Branch target inside Sub: taken when Loop5. @@ -624,17 +741,7 @@ Sub_Loop4: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop5: - lda $0607,y ; CPU:$9C61 PRG:1C61 B9 07 06 - lsr a ; CPU:$9C64 PRG:1C64 4A - bcc Sub_Loop6 ; CPU:$9C65 PRG:1C65 90 18 - ldx $0608,y ; CPU:$9C67 PRG:1C67 BE 08 06 - stx APUPULSE1CTRL ; CPU:$9C6A PRG:1C6A 8E 00 40 - ldx $062C,y ; CPU:$9C6D PRG:1C6D BE 2C 06 - stx APUPULSE1SWEEP ; CPU:$9C70 PRG:1C70 8E 01 40 - ldx $0600,y ; CPU:$9C73 PRG:1C73 BE 00 06 - stx APUPULSE1TIMERLO ; CPU:$9C76 PRG:1C76 8E 02 40 - ldx $0601,y ; CPU:$9C79 PRG:1C79 BE 01 06 - stx APUPULSE1TIMERHI ; CPU:$9C7C PRG:1C7C 8E 03 40 + jmp Sub_Loop13 ; CPU:$9C5E PRG:1C5E 4C DE 9C ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop6 ; Global: Branch target inside Sub: taken when Loop6. @@ -644,16 +751,17 @@ Sub_Loop5: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop6: - lsr a ; CPU:$9C7F PRG:1C7F 4A - bcc Sub_Loop7 ; CPU:$9C80 PRG:1C80 90 18 - ldx $0609,y ; CPU:$9C82 PRG:1C82 BE 09 06 - stx APUPULSE2CTRL ; CPU:$9C85 PRG:1C85 8E 04 40 - ldx $062D,y ; CPU:$9C88 PRG:1C88 BE 2D 06 - stx APUPULSE2SWEEP ; CPU:$9C8B PRG:1C8B 8E 05 40 - ldx $0602,y ; CPU:$9C8E PRG:1C8E BE 02 06 - stx APUPULSE2TIMERLO ; CPU:$9C91 PRG:1C91 8E 06 40 - ldx $0603,y ; CPU:$9C94 PRG:1C94 BE 03 06 - stx APUPULSE2TIMERHI ; CPU:$9C97 PRG:1C97 8E 07 40 + lda $0607,y ; CPU:$9C61 PRG:1C61 B9 07 06 + lsr a ; CPU:$9C64 PRG:1C64 4A + bcc Sub_Loop7 ; CPU:$9C65 PRG:1C65 90 18 + ldx $0608,y ; CPU:$9C67 PRG:1C67 BE 08 06 + stx APUPULSE1CTRL ; CPU:$9C6A PRG:1C6A 8E 00 40 + ldx $062C,y ; CPU:$9C6D PRG:1C6D BE 2C 06 + stx APUPULSE1SWEEP ; CPU:$9C70 PRG:1C70 8E 01 40 + ldx $0600,y ; CPU:$9C73 PRG:1C73 BE 00 06 + stx APUPULSE1TIMERLO ; CPU:$9C76 PRG:1C76 8E 02 40 + ldx $0601,y ; CPU:$9C79 PRG:1C79 BE 01 06 + stx APUPULSE1TIMERHI ; CPU:$9C7C PRG:1C7C 8E 03 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop7 ; Global: Branch target inside Sub: taken when Loop7. @@ -663,14 +771,16 @@ Sub_Loop6: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop7: - lsr a ; CPU:$9C9A PRG:1C9A 4A - bcc Sub_Loop8 ; CPU:$9C9B PRG:1C9B 90 12 - ldx $060A,y ; CPU:$9C9D PRG:1C9D BE 0A 06 - stx APUTRIANGLECTRL ; CPU:$9CA0 PRG:1CA0 8E 08 40 - ldx $0604,y ; CPU:$9CA3 PRG:1CA3 BE 04 06 - stx APUTRIANGLETIMERLO ; CPU:$9CA6 PRG:1CA6 8E 0A 40 - ldx $0605,y ; CPU:$9CA9 PRG:1CA9 BE 05 06 - stx APUTRIANGLETIMERHI ; CPU:$9CAC PRG:1CAC 8E 0B 40 + lsr a ; CPU:$9C7F PRG:1C7F 4A + bcc Sub_Loop8 ; CPU:$9C80 PRG:1C80 90 18 + ldx $0609,y ; CPU:$9C82 PRG:1C82 BE 09 06 + stx APUPULSE2CTRL ; CPU:$9C85 PRG:1C85 8E 04 40 + ldx $062D,y ; CPU:$9C88 PRG:1C88 BE 2D 06 + stx APUPULSE2SWEEP ; CPU:$9C8B PRG:1C8B 8E 05 40 + ldx $0602,y ; CPU:$9C8E PRG:1C8E BE 02 06 + stx APUPULSE2TIMERLO ; CPU:$9C91 PRG:1C91 8E 06 40 + ldx $0603,y ; CPU:$9C94 PRG:1C94 BE 03 06 + stx APUPULSE2TIMERHI ; CPU:$9C97 PRG:1C97 8E 07 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop8 ; Global: Branch target inside Sub: taken when Loop8. @@ -680,14 +790,14 @@ Sub_Loop7: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop8: - lsr a ; CPU:$9CAF PRG:1CAF 4A - bcc Sub_Loop9 ; CPU:$9CB0 PRG:1CB0 90 12 - lda $0606,y ; CPU:$9CB2 PRG:1CB2 B9 06 06 - sta APUNOISECTRL ; CPU:$9CB5 PRG:1CB5 8D 0C 40 - lda $060B,y ; CPU:$9CB8 PRG:1CB8 B9 0B 06 - sta APUNOISEPERIOD ; CPU:$9CBB PRG:1CBB 8D 0E 40 - lda $060C,y ; CPU:$9CBE PRG:1CBE B9 0C 06 - sta APUNOISELENGTH ; CPU:$9CC1 PRG:1CC1 8D 0F 40 + lsr a ; CPU:$9C9A PRG:1C9A 4A + bcc Sub_Loop9 ; CPU:$9C9B PRG:1C9B 90 12 + ldx $060A,y ; CPU:$9C9D PRG:1C9D BE 0A 06 + stx APUTRIANGLECTRL ; CPU:$9CA0 PRG:1CA0 8E 08 40 + ldx $0604,y ; CPU:$9CA3 PRG:1CA3 BE 04 06 + stx APUTRIANGLETIMERLO ; CPU:$9CA6 PRG:1CA6 8E 0A 40 + ldx $0605,y ; CPU:$9CA9 PRG:1CA9 BE 05 06 + stx APUTRIANGLETIMERHI ; CPU:$9CAC PRG:1CAC 8E 0B 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop9 ; Global: Branch target inside Sub: taken when Loop9. @@ -697,8 +807,25 @@ Sub_Loop8: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop9: + lsr a ; CPU:$9CAF PRG:1CAF 4A + bcc Sub_Loop10 ; CPU:$9CB0 PRG:1CB0 90 12 + lda $0606,y ; CPU:$9CB2 PRG:1CB2 B9 06 06 + sta APUNOISECTRL ; CPU:$9CB5 PRG:1CB5 8D 0C 40 + lda $060B,y ; CPU:$9CB8 PRG:1CB8 B9 0B 06 + sta APUNOISEPERIOD ; CPU:$9CBB PRG:1CBB 8D 0E 40 + lda $060C,y ; CPU:$9CBE PRG:1CBE B9 0C 06 + sta APUNOISELENGTH ; CPU:$9CC1 PRG:1CC1 8D 0F 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop10 +; Global: Branch target inside Sub: taken when Loop10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop10: lda $066A ; CPU:$9CC4 PRG:1CC4 AD 6A 06 - bne Sub_Loop12 ; CPU:$9CC7 PRG:1CC7 D0 15 + bne Sub_Loop13 ; CPU:$9CC7 PRG:1CC7 D0 15 rts ; CPU:$9CC9 PRG:1CC9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_9CCA @@ -710,23 +837,10 @@ Sub_Loop9: ; ----------------------------------------------------------------------------- Sub_9CCA: lda $066A ; CPU:$9CCA PRG:1CCA AD 6A 06 - bne Sub_Loop10 ; CPU:$9CCD PRG:1CCD D0 04 + bne Sub_Loop11 ; CPU:$9CCD PRG:1CCD D0 04 jsr Sub_9DCC ; CPU:$9CCF PRG:1CCF 20 CC 9D rts ; CPU:$9CD2 PRG:1CD2 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop10 -; Global: Branch target inside Sub: taken when Loop10. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop10: - lda #$0F ; CPU:$9CD3 PRG:1CD3 A9 0F - ldx $06BB ; CPU:$9CD5 PRG:1CD5 AE BB 06 - bne Sub_Loop11 ; CPU:$9CD8 PRG:1CD8 D0 01 - lsr a ; CPU:$9CDA PRG:1CDA 4A -; ----------------------------------------------------------------------------- ; Routine: Sub_Loop11 ; Global: Branch target inside Sub: taken when Loop11. ; Local: Part of Sub. @@ -735,7 +849,10 @@ Sub_Loop10: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop11: - jsr Sub_9DCC ; CPU:$9CDB PRG:1CDB 20 CC 9D + lda #$0F ; CPU:$9CD3 PRG:1CD3 A9 0F + ldx $06BB ; CPU:$9CD5 PRG:1CD5 AE BB 06 + bne Sub_Loop12 ; CPU:$9CD8 PRG:1CD8 D0 01 + lsr a ; CPU:$9CDA PRG:1CDA 4A ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop12 ; Global: Branch target inside Sub: taken when Loop12. @@ -745,12 +862,7 @@ Sub_Loop11: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop12: - lda $0682 ; CPU:$9CDE PRG:1CDE AD 82 06 - ora $0698 ; CPU:$9CE1 PRG:1CE1 0D 98 06 - ora $06AE ; CPU:$9CE4 PRG:1CE4 0D AE 06 - ora $06BB ; CPU:$9CE7 PRG:1CE7 0D BB 06 - bne Sub_Loop13 ; CPU:$9CEA PRG:1CEA D0 01 - rts ; CPU:$9CEC PRG:1CEC 60 + jsr Sub_9DCC ; CPU:$9CDB PRG:1CDB 20 CC 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop13 ; Global: Branch target inside Sub: taken when Loop13. @@ -760,14 +872,12 @@ Sub_Loop12: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop13: - lda $0607,y ; CPU:$9CED PRG:1CED B9 07 06 - lsr a ; CPU:$9CF0 PRG:1CF0 4A - bcs Sub_Loop16 ; CPU:$9CF1 PRG:1CF1 B0 23 - bit $0683 ; CPU:$9CF3 PRG:1CF3 2C 83 06 - bmi Sub_Loop14 ; CPU:$9CF6 PRG:1CF6 30 07 - lda $0682 ; CPU:$9CF8 PRG:1CF8 AD 82 06 - beq Sub_Loop16 ; CPU:$9CFB PRG:1CFB F0 19 - bpl Sub_Loop15 ; CPU:$9CFD PRG:1CFD 10 11 + lda $0682 ; CPU:$9CDE PRG:1CDE AD 82 06 + ora $0698 ; CPU:$9CE1 PRG:1CE1 0D 98 06 + ora $06AE ; CPU:$9CE4 PRG:1CE4 0D AE 06 + ora $06BB ; CPU:$9CE7 PRG:1CE7 0D BB 06 + bne Sub_Loop14 ; CPU:$9CEA PRG:1CEA D0 01 + rts ; CPU:$9CEC PRG:1CEC 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop14 ; Global: Branch target inside Sub: taken when Loop14. @@ -777,12 +887,14 @@ Sub_Loop13: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop14: - lda #$08 ; CPU:$9CFF PRG:1CFF A9 08 - sta APUPULSE1SWEEP ; CPU:$9D01 PRG:1D01 8D 01 40 - lda $065C ; CPU:$9D04 PRG:1D04 AD 5C 06 - sta APUPULSE1TIMERLO ; CPU:$9D07 PRG:1D07 8D 02 40 - lda $065D ; CPU:$9D0A PRG:1D0A AD 5D 06 - sta APUPULSE1TIMERHI ; CPU:$9D0D PRG:1D0D 8D 03 40 + lda $0607,y ; CPU:$9CED PRG:1CED B9 07 06 + lsr a ; CPU:$9CF0 PRG:1CF0 4A + bcs Sub_Loop17 ; CPU:$9CF1 PRG:1CF1 B0 23 + bit $0683 ; CPU:$9CF3 PRG:1CF3 2C 83 06 + bmi Sub_Loop15 ; CPU:$9CF6 PRG:1CF6 30 07 + lda $0682 ; CPU:$9CF8 PRG:1CF8 AD 82 06 + beq Sub_Loop17 ; CPU:$9CFB PRG:1CFB F0 19 + bpl Sub_Loop16 ; CPU:$9CFD PRG:1CFD 10 11 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop15 ; Global: Branch target inside Sub: taken when Loop15. @@ -792,8 +904,12 @@ Sub_Loop14: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop15: - lda $0664 ; CPU:$9D10 PRG:1D10 AD 64 06 - sta APUPULSE1CTRL ; CPU:$9D13 PRG:1D13 8D 00 40 + lda #$08 ; CPU:$9CFF PRG:1CFF A9 08 + sta APUPULSE1SWEEP ; CPU:$9D01 PRG:1D01 8D 01 40 + lda $065C ; CPU:$9D04 PRG:1D04 AD 5C 06 + sta APUPULSE1TIMERLO ; CPU:$9D07 PRG:1D07 8D 02 40 + lda $065D ; CPU:$9D0A PRG:1D0A AD 5D 06 + sta APUPULSE1TIMERHI ; CPU:$9D0D PRG:1D0D 8D 03 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop16 ; Global: Branch target inside Sub: taken when Loop16. @@ -803,14 +919,8 @@ Sub_Loop15: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop16: - lda $0607,y ; CPU:$9D16 PRG:1D16 B9 07 06 - and #$02 ; CPU:$9D19 PRG:1D19 29 02 - bne Sub_Loop19 ; CPU:$9D1B PRG:1D1B D0 23 - bit $0699 ; CPU:$9D1D PRG:1D1D 2C 99 06 - bmi Sub_Loop17 ; CPU:$9D20 PRG:1D20 30 07 - lda $0698 ; CPU:$9D22 PRG:1D22 AD 98 06 - beq Sub_Loop19 ; CPU:$9D25 PRG:1D25 F0 19 - bpl Sub_Loop18 ; CPU:$9D27 PRG:1D27 10 11 + lda $0664 ; CPU:$9D10 PRG:1D10 AD 64 06 + sta APUPULSE1CTRL ; CPU:$9D13 PRG:1D13 8D 00 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop17 ; Global: Branch target inside Sub: taken when Loop17. @@ -820,12 +930,14 @@ Sub_Loop16: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop17: - lda #$08 ; CPU:$9D29 PRG:1D29 A9 08 - sta APUPULSE2SWEEP ; CPU:$9D2B PRG:1D2B 8D 05 40 - lda $065E ; CPU:$9D2E PRG:1D2E AD 5E 06 - sta APUPULSE2TIMERLO ; CPU:$9D31 PRG:1D31 8D 06 40 - lda $065F ; CPU:$9D34 PRG:1D34 AD 5F 06 - sta APUPULSE2TIMERHI ; CPU:$9D37 PRG:1D37 8D 07 40 + lda $0607,y ; CPU:$9D16 PRG:1D16 B9 07 06 + and #$02 ; CPU:$9D19 PRG:1D19 29 02 + bne Sub_Loop20 ; CPU:$9D1B PRG:1D1B D0 23 + bit $0699 ; CPU:$9D1D PRG:1D1D 2C 99 06 + bmi Sub_Loop18 ; CPU:$9D20 PRG:1D20 30 07 + lda $0698 ; CPU:$9D22 PRG:1D22 AD 98 06 + beq Sub_Loop20 ; CPU:$9D25 PRG:1D25 F0 19 + bpl Sub_Loop19 ; CPU:$9D27 PRG:1D27 10 11 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop18 ; Global: Branch target inside Sub: taken when Loop18. @@ -835,8 +947,12 @@ Sub_Loop17: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop18: - lda $0665 ; CPU:$9D3A PRG:1D3A AD 65 06 - sta APUPULSE2CTRL ; CPU:$9D3D PRG:1D3D 8D 04 40 + lda #$08 ; CPU:$9D29 PRG:1D29 A9 08 + sta APUPULSE2SWEEP ; CPU:$9D2B PRG:1D2B 8D 05 40 + lda $065E ; CPU:$9D2E PRG:1D2E AD 5E 06 + sta APUPULSE2TIMERLO ; CPU:$9D31 PRG:1D31 8D 06 40 + lda $065F ; CPU:$9D34 PRG:1D34 AD 5F 06 + sta APUPULSE2TIMERHI ; CPU:$9D37 PRG:1D37 8D 07 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop19 ; Global: Branch target inside Sub: taken when Loop19. @@ -846,14 +962,8 @@ Sub_Loop18: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop19: - lda $0607,y ; CPU:$9D40 PRG:1D40 B9 07 06 - and #$04 ; CPU:$9D43 PRG:1D43 29 04 - bne Sub_Loop23 ; CPU:$9D45 PRG:1D45 D0 2A - bit $06AF ; CPU:$9D47 PRG:1D47 2C AF 06 - bmi Sub_Loop20 ; CPU:$9D4A PRG:1D4A 30 07 - lda $06AE ; CPU:$9D4C PRG:1D4C AD AE 06 - beq Sub_Loop23 ; CPU:$9D4F PRG:1D4F F0 20 - bpl Sub_Loop21 ; CPU:$9D51 PRG:1D51 10 0C + lda $0665 ; CPU:$9D3A PRG:1D3A AD 65 06 + sta APUPULSE2CTRL ; CPU:$9D3D PRG:1D3D 8D 04 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop20 ; Global: Branch target inside Sub: taken when Loop20. @@ -863,10 +973,14 @@ Sub_Loop19: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop20: - lda $0660 ; CPU:$9D53 PRG:1D53 AD 60 06 - sta APUTRIANGLETIMERLO ; CPU:$9D56 PRG:1D56 8D 0A 40 - lda $0661 ; CPU:$9D59 PRG:1D59 AD 61 06 - sta APUTRIANGLETIMERHI ; CPU:$9D5C PRG:1D5C 8D 0B 40 + lda $0607,y ; CPU:$9D40 PRG:1D40 B9 07 06 + and #$04 ; CPU:$9D43 PRG:1D43 29 04 + bne Sub_Loop24 ; CPU:$9D45 PRG:1D45 D0 2A + bit $06AF ; CPU:$9D47 PRG:1D47 2C AF 06 + bmi Sub_Loop21 ; CPU:$9D4A PRG:1D4A 30 07 + lda $06AE ; CPU:$9D4C PRG:1D4C AD AE 06 + beq Sub_Loop24 ; CPU:$9D4F PRG:1D4F F0 20 + bpl Sub_Loop22 ; CPU:$9D51 PRG:1D51 10 0C ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop21 ; Global: Branch target inside Sub: taken when Loop21. @@ -876,11 +990,10 @@ Sub_Loop20: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop21: - lda $0666 ; CPU:$9D5F PRG:1D5F AD 66 06 - and #$0F ; CPU:$9D62 PRG:1D62 29 0F - bne Sub_Loop22 ; CPU:$9D64 PRG:1D64 D0 06 - sta APUTRIANGLECTRL ; CPU:$9D66 PRG:1D66 8D 08 40 - jmp Sub_Loop23 ; CPU:$9D69 PRG:1D69 4C 71 9D + lda $0660 ; CPU:$9D53 PRG:1D53 AD 60 06 + sta APUTRIANGLETIMERLO ; CPU:$9D56 PRG:1D56 8D 0A 40 + lda $0661 ; CPU:$9D59 PRG:1D59 AD 61 06 + sta APUTRIANGLETIMERHI ; CPU:$9D5C PRG:1D5C 8D 0B 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop22 ; Global: Branch target inside Sub: taken when Loop22. @@ -890,8 +1003,11 @@ Sub_Loop21: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop22: - lda #$81 ; CPU:$9D6C PRG:1D6C A9 81 - sta APUTRIANGLECTRL ; CPU:$9D6E PRG:1D6E 8D 08 40 + lda $0666 ; CPU:$9D5F PRG:1D5F AD 66 06 + and #$0F ; CPU:$9D62 PRG:1D62 29 0F + bne Sub_Loop23 ; CPU:$9D64 PRG:1D64 D0 06 + sta APUTRIANGLECTRL ; CPU:$9D66 PRG:1D66 8D 08 40 + jmp Sub_Loop24 ; CPU:$9D69 PRG:1D69 4C 71 9D ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop23 ; Global: Branch target inside Sub: taken when Loop23. @@ -901,19 +1017,8 @@ Sub_Loop22: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop23: - lda $06BB ; CPU:$9D71 PRG:1D71 AD BB 06 - beq Sub_Loop25 ; CPU:$9D74 PRG:1D74 F0 31 - lda $0663 ; CPU:$9D76 PRG:1D76 AD 63 06 - and #$08 ; CPU:$9D79 PRG:1D79 29 08 - beq Sub_Loop25 ; CPU:$9D7B PRG:1D7B F0 2A - lda $0607,y ; CPU:$9D7D PRG:1D7D B9 07 06 - and #$08 ; CPU:$9D80 PRG:1D80 29 08 - bne Sub_Loop25 ; CPU:$9D82 PRG:1D82 D0 23 - lda $0662 ; CPU:$9D84 PRG:1D84 AD 62 06 - asl a ; CPU:$9D87 PRG:1D87 0A - lda $06BB ; CPU:$9D88 PRG:1D88 AD BB 06 - bcc Sub_Loop24 ; CPU:$9D8B PRG:1D8B 90 01 - asl a ; CPU:$9D8D PRG:1D8D 0A + lda #$81 ; CPU:$9D6C PRG:1D6C A9 81 + sta APUTRIANGLECTRL ; CPU:$9D6E PRG:1D6E 8D 08 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop24 ; Global: Branch target inside Sub: taken when Loop24. @@ -923,6 +1028,28 @@ Sub_Loop23: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop24: + lda $06BB ; CPU:$9D71 PRG:1D71 AD BB 06 + beq Sub_Loop26 ; CPU:$9D74 PRG:1D74 F0 31 + lda $0663 ; CPU:$9D76 PRG:1D76 AD 63 06 + and #$08 ; CPU:$9D79 PRG:1D79 29 08 + beq Sub_Loop26 ; CPU:$9D7B PRG:1D7B F0 2A + lda $0607,y ; CPU:$9D7D PRG:1D7D B9 07 06 + and #$08 ; CPU:$9D80 PRG:1D80 29 08 + bne Sub_Loop26 ; CPU:$9D82 PRG:1D82 D0 23 + lda $0662 ; CPU:$9D84 PRG:1D84 AD 62 06 + asl a ; CPU:$9D87 PRG:1D87 0A + lda $06BB ; CPU:$9D88 PRG:1D88 AD BB 06 + bcc Sub_Loop25 ; CPU:$9D8B PRG:1D8B 90 01 + asl a ; CPU:$9D8D PRG:1D8D 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop25 +; Global: Branch target inside Sub: taken when Loop25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop25: adc $0662 ; CPU:$9D8E PRG:1D8E 6D 62 06 ora #$30 ; CPU:$9D91 PRG:1D91 09 30 and #$7F ; CPU:$9D93 PRG:1D93 29 7F @@ -933,19 +1060,59 @@ Sub_Loop24: sta APUNOISELENGTH ; CPU:$9DA1 PRG:1DA1 8D 0F 40 dec $06BB ; CPU:$9DA4 PRG:1DA4 CE BB 06 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop25 -; Global: Branch target inside Sub: taken when Loop25. +; Routine: Sub_Loop26 +; Global: Branch target inside Sub: taken when Loop26. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop25: +Sub_Loop26: rts ; CPU:$9DA7 PRG:1DA7 60 -; ---- data $9DA8-$9DCB (36 bytes) ---- - .byte $A8, $88, $A9, $00, $20, $CC, $9D, $A2, $5C, $AD, $6A, $06, $F0, $0E, $B9, $C5 ; CPU:$9DA8 PRG:1DA8 A8 88 A9 00 20 CC 9D A2 5C AD 6A 06 F0 0E B9 C5 - .byte $9D, $8D, $6D, $06, $20, $AA, $9F, $CE, $6D, $06, $D0, $F8, $60, $0B, $0B, $0E ; CPU:$9DB8 PRG:1DB8 9D 8D 6D 06 20 AA 9F CE 6D 06 D0 F8 60 0B 0B 0E - .byte $0E, $08, $0B, $0B ; CPU:$9DC8 PRG:1DC8 0E 08 0B 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_9DA8 +; Global: Branch target inside Sub: taken when 9DA8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9DA8: + tay ; CPU:$9DA8 PRG:1DA8 A8 + dey ; CPU:$9DA9 PRG:1DA9 88 + lda #$00 ; CPU:$9DAA PRG:1DAA A9 00 + jsr Sub_9DCC ; CPU:$9DAC PRG:1DAC 20 CC 9D + ldx #$5C ; CPU:$9DAF PRG:1DAF A2 5C + lda $066A ; CPU:$9DB1 PRG:1DB1 AD 6A 06 + beq Sub_Loop27 ; CPU:$9DB4 PRG:1DB4 F0 0E + lda $9DC5,y ; CPU:$9DB6 PRG:1DB6 B9 C5 9D + sta $066D ; CPU:$9DB9 PRG:1DB9 8D 6D 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero5 +; Global: Branch target inside Sub: taken when OnNonzero5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero5: + jsr Sub_9FAA ; CPU:$9DBC PRG:1DBC 20 AA 9F + dec $066D ; CPU:$9DBF PRG:1DBF CE 6D 06 + bne Sub_OnNonzero5 ; CPU:$9DC2 PRG:1DC2 D0 F8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop27 +; Global: Branch target inside Sub: taken when Loop27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop27: + rts ; CPU:$9DC4 PRG:1DC4 60 +; ---- data $9DC5-$9DCB (7 bytes) ---- +; referenced by `lda $9DC5,y` at $9DB6 (operand $9DC5 falls inside this region) +WrestlerNameLengthTable: + .byte $0B, $0B, $0E, $0E, $08, $0B, $0B ; CPU:$9DC5 PRG:-223B 0B 0B 0E 0E 08 0B 0B ; ----------------------------------------------------------------------------- ; Routine: Sub_9DCC ; Global: Branch target inside Sub: taken when 9DCC. @@ -956,21 +1123,21 @@ Sub_Loop25: ; ----------------------------------------------------------------------------- Sub_9DCC: bit $9F49 ; CPU:$9DCC PRG:1DCC 2C 49 9F - bne Sub_Loop26 ; CPU:$9DCF PRG:1DCF D0 09 + bne Sub_Loop28 ; CPU:$9DCF PRG:1DCF D0 09 ora #$04 ; CPU:$9DD1 PRG:1DD1 09 04 pha ; CPU:$9DD3 PRG:1DD3 48 lda #$00 ; CPU:$9DD4 PRG:1DD4 A9 00 sta APUTRIANGLECTRL ; CPU:$9DD6 PRG:1DD6 8D 08 40 pla ; CPU:$9DD9 PRG:1DD9 68 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop26 -; Global: Branch target inside Sub: taken when Loop26. +; Routine: Sub_Loop28 +; Global: Branch target inside Sub: taken when Loop28. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop26: +Sub_Loop28: sta APUSTATUS ; CPU:$9DDA PRG:1DDA 8D 15 40 rts ; CPU:$9DDD PRG:1DDD 60 ; ----------------------------------------------------------------------------- @@ -983,34 +1150,9 @@ Sub_Loop26: ; ----------------------------------------------------------------------------- Sub_9DDE: ldx ZpD0 ; CPU:$9DDE PRG:1DDE A6 D0 - bne Sub_Loop27 ; CPU:$9DE0 PRG:1DE0 D0 01 + bne Sub_Loop29 ; CPU:$9DE0 PRG:1DE0 D0 01 rts ; CPU:$9DE2 PRG:1DE2 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop27 -; Global: Branch target inside Sub: taken when Loop27. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop27: - cpx #$11 ; CPU:$9DE3 PRG:1DE3 E0 11 - bne Sub_Loop28 ; CPU:$9DE5 PRG:1DE5 D0 04 - lda #$80 ; CPU:$9DE7 PRG:1DE7 A9 80 - bmi Sub_Loop29 ; CPU:$9DE9 PRG:1DE9 30 06 -; ----------------------------------------------------------------------------- -; Routine: Sub_Loop28 -; Global: Branch target inside Sub: taken when Loop28. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop28: - cpx #$12 ; CPU:$9DEB PRG:1DEB E0 12 - bne Sub_Loop30 ; CPU:$9DED PRG:1DED D0 0A - lda #$40 ; CPU:$9DEF PRG:1DEF A9 40 -; ----------------------------------------------------------------------------- ; Routine: Sub_Loop29 ; Global: Branch target inside Sub: taken when Loop29. ; Local: Part of Sub. @@ -1019,10 +1161,10 @@ Sub_Loop28: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop29: - sta $066E ; CPU:$9DF1 PRG:1DF1 8D 6E 06 - lda #$00 ; CPU:$9DF4 PRG:1DF4 A9 00 - sta ZpD0 ; CPU:$9DF6 PRG:1DF6 85 D0 - rts ; CPU:$9DF8 PRG:1DF8 60 + cpx #$11 ; CPU:$9DE3 PRG:1DE3 E0 11 + bne Sub_Loop30 ; CPU:$9DE5 PRG:1DE5 D0 04 + lda #$80 ; CPU:$9DE7 PRG:1DE7 A9 80 + bmi Sub_Loop31 ; CPU:$9DE9 PRG:1DE9 30 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop30 ; Global: Branch target inside Sub: taken when Loop30. @@ -1032,11 +1174,9 @@ Sub_Loop29: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop30: - ldx ZpD0 ; CPU:$9DF9 PRG:1DF9 A6 D0 - bmi Sub_Loop31 ; CPU:$9DFB PRG:1DFB 30 05 - cpx #$14 ; CPU:$9DFD PRG:1DFD E0 14 - bcc Sub_Loop31 ; CPU:$9DFF PRG:1DFF 90 01 - rts ; CPU:$9E01 PRG:1E01 60 + cpx #$12 ; CPU:$9DEB PRG:1DEB E0 12 + bne Sub_Loop32 ; CPU:$9DED PRG:1DED D0 0A + lda #$40 ; CPU:$9DEF PRG:1DEF A9 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop31 ; Global: Branch target inside Sub: taken when Loop31. @@ -1046,20 +1186,10 @@ Sub_Loop30: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop31: - dex ; CPU:$9E02 PRG:1E02 CA - txa ; CPU:$9E03 PRG:1E03 8A - asl a ; CPU:$9E04 PRG:1E04 0A - tay ; CPU:$9E05 PRG:1E05 A8 - lda $A409,y ; CPU:$9E06 PRG:1E06 B9 09 A4 - sta ZpD1 ; CPU:$9E09 PRG:1E09 85 D1 - lda $A40A,y ; CPU:$9E0B PRG:1E0B B9 0A A4 - sta ZpD2 ; CPU:$9E0E PRG:1E0E 85 D2 - ldy #$00 ; CPU:$9E10 PRG:1E10 A0 00 - lda (ZpD1),y ; CPU:$9E12 PRG:1E12 B1 D1 - sta ZpDC ; CPU:$9E14 PRG:1E14 85 DC - bit ZpDC ; CPU:$9E16 PRG:1E16 24 DC - bpl Sub_Loop32 ; CPU:$9E18 PRG:1E18 10 03 - jmp Sub_9ECB ; CPU:$9E1A PRG:1E1A 4C CB 9E + sta $066E ; CPU:$9DF1 PRG:1DF1 8D 6E 06 + lda #$00 ; CPU:$9DF4 PRG:1DF4 A9 00 + sta ZpD0 ; CPU:$9DF6 PRG:1DF6 85 D0 + rts ; CPU:$9DF8 PRG:1DF8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop32 ; Global: Branch target inside Sub: taken when Loop32. @@ -1069,8 +1199,11 @@ Sub_Loop31: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop32: - bcc Sub_Loop33 ; CPU:$9E1D PRG:1E1D 90 03 - jmp Sub_9E78 ; CPU:$9E1F PRG:1E1F 4C 78 9E + ldx ZpD0 ; CPU:$9DF9 PRG:1DF9 A6 D0 + bmi Sub_Loop33 ; CPU:$9DFB PRG:1DFB 30 05 + cpx #$14 ; CPU:$9DFD PRG:1DFD E0 14 + bcc Sub_Loop33 ; CPU:$9DFF PRG:1DFF 90 01 + rts ; CPU:$9E01 PRG:1E01 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop33 ; Global: Branch target inside Sub: taken when Loop33. @@ -1080,18 +1213,20 @@ Sub_Loop32: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop33: - ldx $066B ; CPU:$9E22 PRG:1E22 AE 6B 06 - lda $060E,x ; CPU:$9E25 PRG:1E25 BD 0E 06 - beq Sub_Loop37 ; CPU:$9E28 PRG:1E28 F0 28 - lda $0612,x ; CPU:$9E2A PRG:1E2A BD 12 06 - and #$20 ; CPU:$9E2D PRG:1E2D 29 20 - bne Sub_Loop34 ; CPU:$9E2F PRG:1E2F D0 14 - lda $060E,x ; CPU:$9E31 PRG:1E31 BD 0E 06 - jsr Sub_9F22 ; CPU:$9E34 PRG:1E34 20 22 9F - bcs Sub_Loop37 ; CPU:$9E37 PRG:1E37 B0 19 - rts ; CPU:$9E39 PRG:1E39 60 -; ---- data $9E3A-$9E44 (11 bytes) ---- - .byte $AD, $6A, $06, $F0, $13, $20, $22, $9F, $B0, $0E, $60 ; CPU:$9E3A PRG:1E3A AD 6A 06 F0 13 20 22 9F B0 0E 60 + dex ; CPU:$9E02 PRG:1E02 CA + txa ; CPU:$9E03 PRG:1E03 8A + asl a ; CPU:$9E04 PRG:1E04 0A + tay ; CPU:$9E05 PRG:1E05 A8 + lda $A409,y ; CPU:$9E06 PRG:1E06 B9 09 A4 + sta RingPtrLo ; CPU:$9E09 PRG:1E09 85 D1 + lda $A40A,y ; CPU:$9E0B PRG:1E0B B9 0A A4 + sta RingPtrHi ; CPU:$9E0E PRG:1E0E 85 D2 + ldy #$00 ; CPU:$9E10 PRG:1E10 A0 00 + lda (RingPtrLo),y ; CPU:$9E12 PRG:1E12 B1 D1 + sta ZpDC ; CPU:$9E14 PRG:1E14 85 DC + bit ZpDC ; CPU:$9E16 PRG:1E16 24 DC + bpl Sub_Loop34 ; CPU:$9E18 PRG:1E18 10 03 + jmp Sub_9ECB ; CPU:$9E1A PRG:1E1A 4C CB 9E ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop34 ; Global: Branch target inside Sub: taken when Loop34. @@ -1101,10 +1236,8 @@ Sub_Loop33: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop34: - cpx #$00 ; CPU:$9E45 PRG:1E45 E0 00 - bne Sub_Loop35 ; CPU:$9E47 PRG:1E47 D0 04 - ldx #$2E ; CPU:$9E49 PRG:1E49 A2 2E - bne Sub_Loop36 ; CPU:$9E4B PRG:1E4B D0 02 + bcc Sub_Loop35 ; CPU:$9E1D PRG:1E1D 90 03 + jmp Sub_9E78 ; CPU:$9E1F PRG:1E1F 4C 78 9E ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop35 ; Global: Branch target inside Sub: taken when Loop35. @@ -1114,7 +1247,30 @@ Sub_Loop34: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop35: - ldx #$00 ; CPU:$9E4D PRG:1E4D A2 00 + ldx $066B ; CPU:$9E22 PRG:1E22 AE 6B 06 + lda $060E,x ; CPU:$9E25 PRG:1E25 BD 0E 06 + beq Sub_Loop39 ; CPU:$9E28 PRG:1E28 F0 28 + lda $0612,x ; CPU:$9E2A PRG:1E2A BD 12 06 + and #$20 ; CPU:$9E2D PRG:1E2D 29 20 + bne Sub_Loop36 ; CPU:$9E2F PRG:1E2F D0 14 + lda $060E,x ; CPU:$9E31 PRG:1E31 BD 0E 06 + jsr Sub_9F22 ; CPU:$9E34 PRG:1E34 20 22 9F + bcs Sub_Loop39 ; CPU:$9E37 PRG:1E37 B0 19 + rts ; CPU:$9E39 PRG:1E39 60 +; ----------------------------------------------------------------------------- +; Routine: Label_9E3A +; Global: Branch target inside Label: taken when 9E3A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_9E3A: + lda $066A ; CPU:$9E3A PRG:1E3A AD 6A 06 + beq Sub_Loop39 ; CPU:$9E3D PRG:1E3D F0 13 + jsr Sub_9F22 ; CPU:$9E3F PRG:1E3F 20 22 9F + bcs Sub_Loop39 ; CPU:$9E42 PRG:1E42 B0 0E + rts ; CPU:$9E44 PRG:1E44 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop36 ; Global: Branch target inside Sub: taken when Loop36. @@ -1124,7 +1280,10 @@ Sub_Loop35: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop36: - stx $066B ; CPU:$9E4F PRG:1E4F 8E 6B 06 + cpx #$00 ; CPU:$9E45 PRG:1E45 E0 00 + bne Sub_Loop37 ; CPU:$9E47 PRG:1E47 D0 04 + ldx #$2E ; CPU:$9E49 PRG:1E49 A2 2E + bne Sub_Loop38 ; CPU:$9E4B PRG:1E4B D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop37 ; Global: Branch target inside Sub: taken when Loop37. @@ -1134,8 +1293,28 @@ Sub_Loop36: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop37: + ldx #$00 ; CPU:$9E4D PRG:1E4D A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop38 +; Global: Branch target inside Sub: taken when Loop38. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop38: + stx $066B ; CPU:$9E4F PRG:1E4F 8E 6B 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop39 +; Global: Branch target inside Sub: taken when Loop39. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop39: ldy #$00 ; CPU:$9E52 PRG:1E52 A0 00 - lda (ZpD1),y ; CPU:$9E54 PRG:1E54 B1 D1 + lda (RingPtrLo),y ; CPU:$9E54 PRG:1E54 B1 D1 sta $0612,x ; CPU:$9E56 PRG:1E56 9D 12 06 lda ZpD0 ; CPU:$9E59 PRG:1E59 A5 D0 sta $060E,x ; CPU:$9E5B PRG:1E5B 9D 0E 06 @@ -1145,10 +1324,10 @@ Sub_Loop37: sta $062C,x ; CPU:$9E65 PRG:1E65 9D 2C 06 sta $062D,x ; CPU:$9E68 PRG:1E68 9D 2D 06 iny ; CPU:$9E6B PRG:1E6B C8 - lda (ZpD1),y ; CPU:$9E6C PRG:1E6C B1 D1 + lda (RingPtrLo),y ; CPU:$9E6C PRG:1E6C B1 D1 sta $060F,x ; CPU:$9E6E PRG:1E6E 9D 0F 06 iny ; CPU:$9E71 PRG:1E71 C8 - lda (ZpD1),y ; CPU:$9E72 PRG:1E72 B1 D1 + lda (RingPtrLo),y ; CPU:$9E72 PRG:1E72 B1 D1 sta $0610,x ; CPU:$9E74 PRG:1E74 9D 10 06 rts ; CPU:$9E77 PRG:1E77 60 ; ----------------------------------------------------------------------------- @@ -1160,37 +1339,13 @@ Sub_Loop37: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9E78: - bvs Sub_Loop38 ; CPU:$9E78 PRG:1E78 70 0C + bvs Sub_Loop40 ; CPU:$9E78 PRG:1E78 70 0C ldy #$5C ; CPU:$9E7A PRG:1E7A A0 5C jsr Sub_A11F ; CPU:$9E7C PRG:1E7C 20 1F A1 sta $066A ; CPU:$9E7F PRG:1E7F 8D 6A 06 sta $066C ; CPU:$9E82 PRG:1E82 8D 6C 06 rts ; CPU:$9E85 PRG:1E85 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop38 -; Global: Branch target inside Sub: taken when Loop38. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop38: - ldy $066B ; CPU:$9E86 PRG:1E86 AC 6B 06 - cpy #$00 ; CPU:$9E89 PRG:1E89 C0 00 - bne Sub_Loop39 ; CPU:$9E8B PRG:1E8B D0 04 - ldx #$2E ; CPU:$9E8D PRG:1E8D A2 2E - bne Sub_Loop40 ; CPU:$9E8F PRG:1E8F D0 02 -; ----------------------------------------------------------------------------- -; Routine: Sub_Loop39 -; Global: Branch target inside Sub: taken when Loop39. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop39: - ldx #$00 ; CPU:$9E91 PRG:1E91 A2 00 -; ----------------------------------------------------------------------------- ; Routine: Sub_Loop40 ; Global: Branch target inside Sub: taken when Loop40. ; Local: Part of Sub. @@ -1199,11 +1354,11 @@ Sub_Loop39: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop40: - lda $0607,y ; CPU:$9E93 PRG:1E93 B9 07 06 - and #$01 ; CPU:$9E96 PRG:1E96 29 01 - beq Sub_Loop41 ; CPU:$9E98 PRG:1E98 F0 05 - lda #$B0 ; CPU:$9E9A PRG:1E9A A9 B0 - sta APUPULSE1CTRL ; CPU:$9E9C PRG:1E9C 8D 00 40 + ldy $066B ; CPU:$9E86 PRG:1E86 AC 6B 06 + cpy #$00 ; CPU:$9E89 PRG:1E89 C0 00 + bne Sub_Loop41 ; CPU:$9E8B PRG:1E8B D0 04 + ldx #$2E ; CPU:$9E8D PRG:1E8D A2 2E + bne Sub_Loop42 ; CPU:$9E8F PRG:1E8F D0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop41 ; Global: Branch target inside Sub: taken when Loop41. @@ -1213,11 +1368,7 @@ Sub_Loop40: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop41: - lda $0607,y ; CPU:$9E9F PRG:1E9F B9 07 06 - and #$02 ; CPU:$9EA2 PRG:1EA2 29 02 - beq Sub_Loop42 ; CPU:$9EA4 PRG:1EA4 F0 05 - lda #$B0 ; CPU:$9EA6 PRG:1EA6 A9 B0 - sta APUPULSE2CTRL ; CPU:$9EA8 PRG:1EA8 8D 04 40 + ldx #$00 ; CPU:$9E91 PRG:1E91 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop42 ; Global: Branch target inside Sub: taken when Loop42. @@ -1227,11 +1378,11 @@ Sub_Loop41: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop42: - lda $0607,y ; CPU:$9EAB PRG:1EAB B9 07 06 - and #$04 ; CPU:$9EAE PRG:1EAE 29 04 - beq Sub_Loop43 ; CPU:$9EB0 PRG:1EB0 F0 05 - lda #$00 ; CPU:$9EB2 PRG:1EB2 A9 00 - sta APUTRIANGLECTRL ; CPU:$9EB4 PRG:1EB4 8D 08 40 + lda $0607,y ; CPU:$9E93 PRG:1E93 B9 07 06 + and #$01 ; CPU:$9E96 PRG:1E96 29 01 + beq Sub_Loop43 ; CPU:$9E98 PRG:1E98 F0 05 + lda #$B0 ; CPU:$9E9A PRG:1E9A A9 B0 + sta APUPULSE1CTRL ; CPU:$9E9C PRG:1E9C 8D 00 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop43 ; Global: Branch target inside Sub: taken when Loop43. @@ -1241,12 +1392,11 @@ Sub_Loop42: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop43: - lda $0612,y ; CPU:$9EB7 PRG:1EB7 B9 12 06 - and #$20 ; CPU:$9EBA PRG:1EBA 29 20 - bne Sub_Loop44 ; CPU:$9EBC PRG:1EBC D0 09 - jsr Sub_A11F ; CPU:$9EBE PRG:1EBE 20 1F A1 - sta $060E,y ; CPU:$9EC1 PRG:1EC1 99 0E 06 - sta $0607,y ; CPU:$9EC4 PRG:1EC4 99 07 06 + lda $0607,y ; CPU:$9E9F PRG:1E9F B9 07 06 + and #$02 ; CPU:$9EA2 PRG:1EA2 29 02 + beq Sub_Loop44 ; CPU:$9EA4 PRG:1EA4 F0 05 + lda #$B0 ; CPU:$9EA6 PRG:1EA6 A9 B0 + sta APUPULSE2CTRL ; CPU:$9EA8 PRG:1EA8 8D 04 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop44 ; Global: Branch target inside Sub: taken when Loop44. @@ -1256,6 +1406,35 @@ Sub_Loop43: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop44: + lda $0607,y ; CPU:$9EAB PRG:1EAB B9 07 06 + and #$04 ; CPU:$9EAE PRG:1EAE 29 04 + beq Sub_Loop45 ; CPU:$9EB0 PRG:1EB0 F0 05 + lda #$00 ; CPU:$9EB2 PRG:1EB2 A9 00 + sta APUTRIANGLECTRL ; CPU:$9EB4 PRG:1EB4 8D 08 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop45 +; Global: Branch target inside Sub: taken when Loop45. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop45: + lda $0612,y ; CPU:$9EB7 PRG:1EB7 B9 12 06 + and #$20 ; CPU:$9EBA PRG:1EBA 29 20 + bne Sub_Loop46 ; CPU:$9EBC PRG:1EBC D0 09 + jsr Sub_A11F ; CPU:$9EBE PRG:1EBE 20 1F A1 + sta $060E,y ; CPU:$9EC1 PRG:1EC1 99 0E 06 + sta $0607,y ; CPU:$9EC4 PRG:1EC4 99 07 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop46 +; Global: Branch target inside Sub: taken when Loop46. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop46: stx $066B ; CPU:$9EC7 PRG:1EC7 8E 6B 06 rts ; CPU:$9ECA PRG:1ECA 60 ; ----------------------------------------------------------------------------- @@ -1267,26 +1446,26 @@ Sub_Loop44: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_9ECB: - bcs Sub_Loop45 ; CPU:$9ECB PRG:1ECB B0 46 + bcs Sub_Loop47 ; CPU:$9ECB PRG:1ECB B0 46 ldy #$02 ; CPU:$9ECD PRG:1ECD A0 02 lda ZpD0 ; CPU:$9ECF PRG:1ECF A5 D0 sta $066A ; CPU:$9ED1 PRG:1ED1 8D 6A 06 - lda (ZpD1),y ; CPU:$9ED4 PRG:1ED4 B1 D1 + lda (RingPtrLo),y ; CPU:$9ED4 PRG:1ED4 B1 D1 sta $066F ; CPU:$9ED6 PRG:1ED6 8D 6F 06 iny ; CPU:$9ED9 PRG:1ED9 C8 - lda (ZpD1),y ; CPU:$9EDA PRG:1EDA B1 D1 + lda (RingPtrLo),y ; CPU:$9EDA PRG:1EDA B1 D1 sta $0670 ; CPU:$9EDC PRG:1EDC 8D 70 06 iny ; CPU:$9EDF PRG:1EDF C8 - lda (ZpD1),y ; CPU:$9EE0 PRG:1EE0 B1 D1 + lda (RingPtrLo),y ; CPU:$9EE0 PRG:1EE0 B1 D1 sta $0685 ; CPU:$9EE2 PRG:1EE2 8D 85 06 iny ; CPU:$9EE5 PRG:1EE5 C8 - lda (ZpD1),y ; CPU:$9EE6 PRG:1EE6 B1 D1 + lda (RingPtrLo),y ; CPU:$9EE6 PRG:1EE6 B1 D1 sta $0686 ; CPU:$9EE8 PRG:1EE8 8D 86 06 iny ; CPU:$9EEB PRG:1EEB C8 - lda (ZpD1),y ; CPU:$9EEC PRG:1EEC B1 D1 + lda (RingPtrLo),y ; CPU:$9EEC PRG:1EEC B1 D1 sta $069B ; CPU:$9EEE PRG:1EEE 8D 9B 06 iny ; CPU:$9EF1 PRG:1EF1 C8 - lda (ZpD1),y ; CPU:$9EF2 PRG:1EF2 B1 D1 + lda (RingPtrLo),y ; CPU:$9EF2 PRG:1EF2 B1 D1 sta $069C ; CPU:$9EF4 PRG:1EF4 8D 9C 06 lda #$00 ; CPU:$9EF7 PRG:1EF7 A9 00 sta $0671 ; CPU:$9EF9 PRG:1EF9 8D 71 06 @@ -1297,16 +1476,16 @@ Sub_9ECB: sta $069E ; CPU:$9F08 PRG:1F08 8D 9E 06 lda #$07 ; CPU:$9F0B PRG:1F0B A9 07 sta $0663 ; CPU:$9F0D PRG:1F0D 8D 63 06 - jmp Sub_Loop38 ; CPU:$9F10 PRG:1F10 4C 86 9E + jmp Sub_Loop40 ; CPU:$9F10 PRG:1F10 4C 86 9E ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop45 -; Global: Branch target inside Sub: taken when Loop45. +; Routine: Sub_Loop47 +; Global: Branch target inside Sub: taken when Loop47. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop45: +Sub_Loop47: ldy #$5C ; CPU:$9F13 PRG:1F13 A0 5C jsr Sub_A11F ; CPU:$9F15 PRG:1F15 20 1F A1 sta $066A ; CPU:$9F18 PRG:1F18 8D 6A 06 @@ -1328,34 +1507,35 @@ Sub_9F22: lsr a ; CPU:$9F27 PRG:1F27 4A lsr a ; CPU:$9F28 PRG:1F28 4A lsr a ; CPU:$9F29 PRG:1F29 4A - sta ZpDA ; CPU:$9F2A PRG:1F2A 85 DA + sta TimerIndex ; CPU:$9F2A PRG:1F2A 85 DA lda ZpD9 ; CPU:$9F2C PRG:1F2C A5 D9 and #$07 ; CPU:$9F2E PRG:1F2E 29 07 tay ; CPU:$9F30 PRG:1F30 A8 - lda ZpDA ; CPU:$9F31 PRG:1F31 A5 DA + lda TimerIndex ; CPU:$9F31 PRG:1F31 A5 DA clc ; CPU:$9F33 PRG:1F33 18 adc #$03 ; CPU:$9F34 PRG:1F34 69 03 - sta ZpDA ; CPU:$9F36 PRG:1F36 85 DA + sta TimerIndex ; CPU:$9F36 PRG:1F36 85 DA lda $9F44,y ; CPU:$9F38 PRG:1F38 B9 44 9F - ldy ZpDA ; CPU:$9F3B PRG:1F3B A4 DA - and (ZpD1),y ; CPU:$9F3D PRG:1F3D 31 D1 + ldy TimerIndex ; CPU:$9F3B PRG:1F3B A4 DA + and (RingPtrLo),y ; CPU:$9F3D PRG:1F3D 31 D1 clc ; CPU:$9F3F PRG:1F3F 18 - beq Sub_Loop46 ; CPU:$9F40 PRG:1F40 F0 01 + beq Sub_Loop48 ; CPU:$9F40 PRG:1F40 F0 01 sec ; CPU:$9F42 PRG:1F42 38 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop46 -; Global: Branch target inside Sub: taken when Loop46. +; Routine: Sub_Loop48 +; Global: Branch target inside Sub: taken when Loop48. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop46: +Sub_Loop48: rts ; CPU:$9F43 PRG:1F43 60 ; ---- data $9F44-$9F4B (8 bytes) ---- ; referenced by `bit $9F49` at $9DCC (operand $9F49 falls inside this region) ; referenced by `lda $9F44,y` at $9F38 (operand $9F44 falls inside this region) - .byte $80, $40, $20, $10, $08, $04, $02, $01 ; CPU:$9F44 PRG:1F44 80 40 20 10 08 04 02 01 +PpuBitMaskTable: + .byte $80, $40, $20, $10, $08, $04, $02, $01 ; CPU:$9F44 PRG:-20BC 80 40 20 10 08 04 02 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_9F4C ; Global: Branch target inside Sub: taken when 9F4C. @@ -1368,22 +1548,22 @@ Sub_9F4C: lda #$00 ; CPU:$9F4C PRG:1F4C A9 00 sta $06B9 ; CPU:$9F4E PRG:1F4E 8D B9 06 lda $0613,x ; CPU:$9F51 PRG:1F51 BD 13 06 - beq Sub_Loop47 ; CPU:$9F54 PRG:1F54 F0 04 + beq Sub_Loop49 ; CPU:$9F54 PRG:1F54 F0 04 dec $0613,x ; CPU:$9F56 PRG:1F56 DE 13 06 rts ; CPU:$9F59 PRG:1F59 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop47 -; Global: Branch target inside Sub: taken when Loop47. +; Routine: Sub_Loop49 +; Global: Branch target inside Sub: taken when Loop49. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop47: +Sub_Loop49: lda $060F,x ; CPU:$9F5A PRG:1F5A BD 0F 06 - sta ZpD1 ; CPU:$9F5D PRG:1F5D 85 D1 + sta RingPtrLo ; CPU:$9F5D PRG:1F5D 85 D1 lda $0610,x ; CPU:$9F5F PRG:1F5F BD 10 06 - sta ZpD2 ; CPU:$9F62 PRG:1F62 85 D2 + sta RingPtrHi ; CPU:$9F62 PRG:1F62 85 D2 txa ; CPU:$9F64 PRG:1F64 8A clc ; CPU:$9F65 PRG:1F65 18 adc #$14 ; CPU:$9F66 PRG:1F66 69 14 @@ -1400,28 +1580,28 @@ Sub_Loop47: ; ----------------------------------------------------------------------------- Sub_OnCarryClear: ldy #$00 ; CPU:$9F6F PRG:1F6F A0 00 - lda (ZpD1),y ; CPU:$9F71 PRG:1F71 B1 D1 - bpl Sub_Loop48 ; CPU:$9F73 PRG:1F73 10 16 + lda (RingPtrLo),y ; CPU:$9F71 PRG:1F71 B1 D1 + bpl Sub_Loop50 ; CPU:$9F73 PRG:1F73 10 16 sta $06B9 ; CPU:$9F75 PRG:1F75 8D B9 06 ldx ZpE2 ; CPU:$9F78 PRG:1F78 A6 E2 jsr Sub_A35C ; CPU:$9F7A PRG:1F7A 20 5C A3 tya ; CPU:$9F7D PRG:1F7D 98 clc ; CPU:$9F7E PRG:1F7E 18 - adc ZpD1 ; CPU:$9F7F PRG:1F7F 65 D1 - sta ZpD1 ; CPU:$9F81 PRG:1F81 85 D1 - lda ZpD2 ; CPU:$9F83 PRG:1F83 A5 D2 + adc RingPtrLo ; CPU:$9F7F PRG:1F7F 65 D1 + sta RingPtrLo ; CPU:$9F81 PRG:1F81 85 D1 + lda RingPtrHi ; CPU:$9F83 PRG:1F83 A5 D2 adc #$00 ; CPU:$9F85 PRG:1F85 69 00 - sta ZpD2 ; CPU:$9F87 PRG:1F87 85 D2 + sta RingPtrHi ; CPU:$9F87 PRG:1F87 85 D2 bcc Sub_OnCarryClear ; CPU:$9F89 PRG:1F89 90 E4 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop48 -; Global: Branch target inside Sub: taken when Loop48. +; Routine: Sub_Loop50 +; Global: Branch target inside Sub: taken when Loop50. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop48: +Sub_Loop50: ldx ZpE2 ; CPU:$9F8B PRG:1F8B A6 E2 sta $0613,x ; CPU:$9F8D PRG:1F8D 9D 13 06 lda ZpE3 ; CPU:$9F90 PRG:1F90 A5 E3 @@ -1430,10 +1610,19 @@ Sub_Loop48: sbc ZpE2 ; CPU:$9F95 PRG:1F95 E5 E2 sta $0611,x ; CPU:$9F97 PRG:1F97 9D 11 06 lda #$01 ; CPU:$9F9A PRG:1F9A A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_9F9C +; Global: Branch target inside Sub: taken when 9F9C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_9F9C: clc ; CPU:$9F9C PRG:1F9C 18 - adc ZpD1 ; CPU:$9F9D PRG:1F9D 65 D1 + adc RingPtrLo ; CPU:$9F9D PRG:1F9D 65 D1 sta $060F,x ; CPU:$9F9F PRG:1F9F 9D 0F 06 - lda ZpD2 ; CPU:$9FA2 PRG:1FA2 A5 D2 + lda RingPtrHi ; CPU:$9FA2 PRG:1FA2 A5 D2 adc #$00 ; CPU:$9FA4 PRG:1FA4 69 00 sta $0610,x ; CPU:$9FA6 PRG:1FA6 9D 10 06 rts ; CPU:$9FA9 PRG:1FA9 60 @@ -1447,28 +1636,14 @@ Sub_Loop48: ; ----------------------------------------------------------------------------- Sub_9FAA: lda $066E ; CPU:$9FAA PRG:1FAA AD 6E 06 - beq Sub_Loop50 ; CPU:$9FAD PRG:1FAD F0 2A + beq Sub_Loop52 ; CPU:$9FAD PRG:1FAD F0 2A lda $0672 ; CPU:$9FAF PRG:1FAF AD 72 06 ora $0688 ; CPU:$9FB2 PRG:1FB2 0D 88 06 ora $069E ; CPU:$9FB5 PRG:1FB5 0D 9E 06 - bne Sub_Loop50 ; CPU:$9FB8 PRG:1FB8 D0 1F + bne Sub_Loop52 ; CPU:$9FB8 PRG:1FB8 D0 1F ldy #$07 ; CPU:$9FBA PRG:1FBA A0 07 bit $066E ; CPU:$9FBC PRG:1FBC 2C 6E 06 - bmi Sub_OnNonnegative3 ; CPU:$9FBF PRG:1FBF 30 0B -; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonnegative2 -; Global: Branch target inside Sub: taken when OnNonnegative2. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_OnNonnegative2: - lda $A431,y ; CPU:$9FC1 PRG:1FC1 B9 31 A4 - sta $06B1,y ; CPU:$9FC4 PRG:1FC4 99 B1 06 - dey ; CPU:$9FC7 PRG:1FC7 88 - bpl Sub_OnNonnegative2 ; CPU:$9FC8 PRG:1FC8 10 F7 - bmi Sub_Loop49 ; CPU:$9FCA PRG:1FCA 30 09 + bmi Sub_OnNonnegative4 ; CPU:$9FBF PRG:1FBF 30 0B ; ----------------------------------------------------------------------------- ; Routine: Sub_OnNonnegative3 ; Global: Branch target inside Sub: taken when OnNonnegative3. @@ -1478,30 +1653,44 @@ Sub_OnNonnegative2: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnNonnegative3: + lda $A431,y ; CPU:$9FC1 PRG:1FC1 B9 31 A4 + sta $06B1,y ; CPU:$9FC4 PRG:1FC4 99 B1 06 + dey ; CPU:$9FC7 PRG:1FC7 88 + bpl Sub_OnNonnegative3 ; CPU:$9FC8 PRG:1FC8 10 F7 + bmi Sub_Loop51 ; CPU:$9FCA PRG:1FCA 30 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonnegative4 +; Global: Branch target inside Sub: taken when OnNonnegative4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonnegative4: lda $A429,y ; CPU:$9FCC PRG:1FCC B9 29 A4 sta $06B1,y ; CPU:$9FCF PRG:1FCF 99 B1 06 dey ; CPU:$9FD2 PRG:1FD2 88 - bpl Sub_OnNonnegative3 ; CPU:$9FD3 PRG:1FD3 10 F7 + bpl Sub_OnNonnegative4 ; CPU:$9FD3 PRG:1FD3 10 F7 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop49 -; Global: Branch target inside Sub: taken when Loop49. +; Routine: Sub_Loop51 +; Global: Branch target inside Sub: taken when Loop51. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop49: +Sub_Loop51: iny ; CPU:$9FD5 PRG:1FD5 C8 sty $066E ; CPU:$9FD6 PRG:1FD6 8C 6E 06 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop50 -; Global: Branch target inside Sub: taken when Loop50. +; Routine: Sub_Loop52 +; Global: Branch target inside Sub: taken when Loop52. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop50: +Sub_Loop52: ldy #$00 ; CPU:$9FD9 PRG:1FD9 A0 00 ldx #$6F ; CPU:$9FDB PRG:1FDB A2 6F jsr Sub_9FEB ; CPU:$9FDD PRG:1FDD 20 EB 9F @@ -1523,9 +1712,9 @@ Sub_9FEB: lda #$00 ; CPU:$9FED PRG:1FED A9 00 sta $0613,x ; CPU:$9FEF PRG:1FEF 9D 13 06 lda $0600,x ; CPU:$9FF2 PRG:1FF2 BD 00 06 - sta ZpD1 ; CPU:$9FF5 PRG:1FF5 85 D1 + sta RingPtrLo ; CPU:$9FF5 PRG:1FF5 85 D1 lda $0601,x ; CPU:$9FF7 PRG:1FF7 BD 01 06 - sta ZpD2 ; CPU:$9FFA PRG:1FFA 85 D2 + sta RingPtrHi ; CPU:$9FFA PRG:1FFA 85 D2 txa ; CPU:$9FFC PRG:1FFC 8A clc ; CPU:$9FFD PRG:1FFD 18 adc #$09 ; CPU:$9FFE PRG:1FFE 69 09 @@ -1533,15 +1722,15 @@ Sub_9FEB: sta ZpE3 ; CPU:$A003 PRG:2003 85 E3 stx ZpE2 ; CPU:$A005 PRG:2005 86 E2 lda $0603,x ; CPU:$A007 PRG:2007 BD 03 06 - beq Sub_Loop56 ; CPU:$A00A PRG:200A F0 5E + beq Sub_Loop58 ; CPU:$A00A PRG:200A F0 5E dec $0603,x ; CPU:$A00C PRG:200C DE 03 06 lda $0664,y ; CPU:$A00F PRG:200F B9 64 06 and #$0F ; CPU:$A012 PRG:2012 29 0F - beq Sub_Loop54 ; CPU:$A014 PRG:2014 F0 4B + beq Sub_Loop56 ; CPU:$A014 PRG:2014 F0 4B lda $0604,x ; CPU:$A016 PRG:2016 BD 04 06 - bpl Sub_Loop52 ; CPU:$A019 PRG:2019 10 2D + bpl Sub_Loop54 ; CPU:$A019 PRG:2019 10 2D lda $0615,x ; CPU:$A01B PRG:201B BD 15 06 - bmi Sub_Loop55 ; CPU:$A01E PRG:201E 30 49 + bmi Sub_Loop57 ; CPU:$A01E PRG:201E 30 49 lda $0605,x ; CPU:$A020 PRG:2020 BD 05 06 sec ; CPU:$A023 PRG:2023 38 sbc $0606,x ; CPU:$A024 PRG:2024 FD 06 06 @@ -1550,43 +1739,11 @@ Sub_9FEB: and #$0F ; CPU:$A02D PRG:202D 29 0F sta ZpD9 ; CPU:$A02F PRG:202F 85 D9 sbc $0607,x ; CPU:$A031 PRG:2031 FD 07 06 - bcs Sub_Loop51 ; CPU:$A034 PRG:2034 B0 09 + bcs Sub_Loop53 ; CPU:$A034 PRG:2034 B0 09 lda #$01 ; CPU:$A036 PRG:2036 A9 01 sta $0613,x ; CPU:$A038 PRG:2038 9D 13 06 lda #$00 ; CPU:$A03B PRG:203B A9 00 - beq Sub_Loop54 ; CPU:$A03D PRG:203D F0 22 -; ----------------------------------------------------------------------------- -; Routine: Sub_Loop51 -; Global: Branch target inside Sub: taken when Loop51. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop51: - cmp ZpD9 ; CPU:$A03F PRG:203F C5 D9 - beq Sub_Loop54 ; CPU:$A041 PRG:2041 F0 1E - sta $0613,x ; CPU:$A043 PRG:2043 9D 13 06 - bne Sub_Loop54 ; CPU:$A046 PRG:2046 D0 19 -; ----------------------------------------------------------------------------- -; Routine: Sub_Loop52 -; Global: Branch target inside Sub: taken when Loop52. -; Local: Part of Sub. -; Parameters: none - the routine reads its state from the zero page. -; Returns: none - the result is left in the registers the caller reads. -; Clobbers: A, X, Y and the zero-page scratch it uses. -; ----------------------------------------------------------------------------- -Sub_Loop52: - lda $0603,x ; CPU:$A048 PRG:2048 BD 03 06 - cmp #$03 ; CPU:$A04B PRG:204B C9 03 - bcs Sub_Loop53 ; CPU:$A04D PRG:204D B0 0F - lda #$01 ; CPU:$A04F PRG:204F A9 01 - sta $0613,x ; CPU:$A051 PRG:2051 9D 13 06 - lda $0604,x ; CPU:$A054 PRG:2054 BD 04 06 - sec ; CPU:$A057 PRG:2057 38 - sbc #$04 ; CPU:$A058 PRG:2058 E9 04 - lsr a ; CPU:$A05A PRG:205A 4A - jmp Sub_Loop54 ; CPU:$A05B PRG:205B 4C 61 A0 + beq Sub_Loop56 ; CPU:$A03D PRG:203D F0 22 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop53 ; Global: Branch target inside Sub: taken when Loop53. @@ -1596,7 +1753,10 @@ Sub_Loop52: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop53: - lda $0604,x ; CPU:$A05E PRG:205E BD 04 06 + cmp ZpD9 ; CPU:$A03F PRG:203F C5 D9 + beq Sub_Loop56 ; CPU:$A041 PRG:2041 F0 1E + sta $0613,x ; CPU:$A043 PRG:2043 9D 13 06 + bne Sub_Loop56 ; CPU:$A046 PRG:2046 D0 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop54 ; Global: Branch target inside Sub: taken when Loop54. @@ -1606,9 +1766,16 @@ Sub_Loop53: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop54: - and #$0F ; CPU:$A061 PRG:2061 29 0F - ora $0612,x ; CPU:$A063 PRG:2063 1D 12 06 - sta $0664,y ; CPU:$A066 PRG:2066 99 64 06 + lda $0603,x ; CPU:$A048 PRG:2048 BD 03 06 + cmp #$03 ; CPU:$A04B PRG:204B C9 03 + bcs Sub_Loop55 ; CPU:$A04D PRG:204D B0 0F + lda #$01 ; CPU:$A04F PRG:204F A9 01 + sta $0613,x ; CPU:$A051 PRG:2051 9D 13 06 + lda $0604,x ; CPU:$A054 PRG:2054 BD 04 06 + sec ; CPU:$A057 PRG:2057 38 + sbc #$04 ; CPU:$A058 PRG:2058 E9 04 + lsr a ; CPU:$A05A PRG:205A 4A + jmp Sub_Loop56 ; CPU:$A05B PRG:205B 4C 61 A0 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop55 ; Global: Branch target inside Sub: taken when Loop55. @@ -1618,7 +1785,7 @@ Sub_Loop54: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop55: - rts ; CPU:$A069 PRG:2069 60 + lda $0604,x ; CPU:$A05E PRG:205E BD 04 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_Loop56 ; Global: Branch target inside Sub: taken when Loop56. @@ -1628,6 +1795,28 @@ Sub_Loop55: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_Loop56: + and #$0F ; CPU:$A061 PRG:2061 29 0F + ora $0612,x ; CPU:$A063 PRG:2063 1D 12 06 + sta $0664,y ; CPU:$A066 PRG:2066 99 64 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop57 +; Global: Branch target inside Sub: taken when Loop57. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop57: + rts ; CPU:$A069 PRG:2069 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop58 +; Global: Branch target inside Sub: taken when Loop58. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop58: lda #$00 ; CPU:$A06A PRG:206A A9 00 sta $0615,x ; CPU:$A06C PRG:206C 9D 15 06 tay ; CPU:$A06F PRG:206F A8 @@ -1640,28 +1829,28 @@ Sub_Loop56: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_OnZero: - lda (ZpD1),y ; CPU:$A070 PRG:2070 B1 D1 - bpl Sub_Loop57 ; CPU:$A072 PRG:2072 10 15 + lda (RingPtrLo),y ; CPU:$A070 PRG:2070 B1 D1 + bpl Sub_Loop59 ; CPU:$A072 PRG:2072 10 15 ldx ZpE2 ; CPU:$A074 PRG:2074 A6 E2 jsr Sub_A35C ; CPU:$A076 PRG:2076 20 5C A3 tya ; CPU:$A079 PRG:2079 98 clc ; CPU:$A07A PRG:207A 18 - adc ZpD1 ; CPU:$A07B PRG:207B 65 D1 - sta ZpD1 ; CPU:$A07D PRG:207D 85 D1 - lda ZpD2 ; CPU:$A07F PRG:207F A5 D2 + adc RingPtrLo ; CPU:$A07B PRG:207B 65 D1 + sta RingPtrLo ; CPU:$A07D PRG:207D 85 D1 + lda RingPtrHi ; CPU:$A07F PRG:207F A5 D2 adc #$00 ; CPU:$A081 PRG:2081 69 00 - sta ZpD2 ; CPU:$A083 PRG:2083 85 D2 + sta RingPtrHi ; CPU:$A083 PRG:2083 85 D2 ldy #$00 ; CPU:$A085 PRG:2085 A0 00 beq Sub_OnZero ; CPU:$A087 PRG:2087 F0 E7 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop57 -; Global: Branch target inside Sub: taken when Loop57. +; Routine: Sub_Loop59 +; Global: Branch target inside Sub: taken when Loop59. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop57: +Sub_Loop59: ldx ZpE2 ; CPU:$A089 PRG:2089 A6 E2 sta ZpDE ; CPU:$A08B PRG:208B 85 DE lsr a ; CPU:$A08D PRG:208D 4A @@ -1676,37 +1865,37 @@ Sub_Loop57: lda #$00 ; CPU:$A09B PRG:209B A9 00 sta ZpDF ; CPU:$A09D PRG:209D 85 DF lda $0604,x ; CPU:$A09F PRG:209F BD 04 06 - bpl Sub_Loop58 ; CPU:$A0A2 PRG:20A2 10 19 + bpl Sub_Loop60 ; CPU:$A0A2 PRG:20A2 10 19 and #$0F ; CPU:$A0A4 PRG:20A4 29 0F sta ZpE0 ; CPU:$A0A6 PRG:20A6 85 E0 lda $0603,x ; CPU:$A0A8 PRG:20A8 BD 03 06 lsr a ; CPU:$A0AB PRG:20AB 4A ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonzero2 -; Global: Branch target inside Sub: taken when OnNonzero2. +; Routine: Sub_OnNonzero6 +; Global: Branch target inside Sub: taken when OnNonzero6. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonzero2: +Sub_OnNonzero6: lsr ZpE0 ; CPU:$A0AC PRG:20AC 46 E0 ror ZpDF ; CPU:$A0AE PRG:20AE 66 DF lsr a ; CPU:$A0B0 PRG:20B0 4A - bne Sub_OnNonzero2 ; CPU:$A0B1 PRG:20B1 D0 F9 + bne Sub_OnNonzero6 ; CPU:$A0B1 PRG:20B1 D0 F9 lda ZpE0 ; CPU:$A0B3 PRG:20B3 A5 E0 sta $0607,x ; CPU:$A0B5 PRG:20B5 9D 07 06 lda ZpDF ; CPU:$A0B8 PRG:20B8 A5 DF sta $0606,x ; CPU:$A0BA PRG:20BA 9D 06 06 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop58 -; Global: Branch target inside Sub: taken when Loop58. +; Routine: Sub_Loop60 +; Global: Branch target inside Sub: taken when Loop60. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop58: +Sub_Loop60: ldy ZpE1 ; CPU:$A0BD PRG:20BD A4 E1 lda $0604,x ; CPU:$A0BF PRG:20BF BD 04 06 and #$0F ; CPU:$A0C2 PRG:20C2 29 0F @@ -1720,7 +1909,7 @@ Sub_Loop58: lda ZpDE ; CPU:$A0D6 PRG:20D6 A5 DE and #$0F ; CPU:$A0D8 PRG:20D8 29 0F cmp #$0F ; CPU:$A0DA PRG:20DA C9 0F - beq Sub_Loop59 ; CPU:$A0DC PRG:20DC F0 38 + beq Sub_Loop61 ; CPU:$A0DC PRG:20DC F0 38 clc ; CPU:$A0DE PRG:20DE 18 adc $0608,x ; CPU:$A0DF PRG:20DF 7D 08 06 asl a ; CPU:$A0E2 PRG:20E2 0A @@ -1750,23 +1939,23 @@ Sub_A0FC: sbc #$09 ; CPU:$A0FF PRG:20FF E9 09 sbc ZpE2 ; CPU:$A101 PRG:2101 E5 E2 sta $0602,x ; CPU:$A103 PRG:2103 9D 02 06 - lda ZpD1 ; CPU:$A106 PRG:2106 A5 D1 + lda RingPtrLo ; CPU:$A106 PRG:2106 A5 D1 clc ; CPU:$A108 PRG:2108 18 adc #$01 ; CPU:$A109 PRG:2109 69 01 sta $0600,x ; CPU:$A10B PRG:210B 9D 00 06 - lda ZpD2 ; CPU:$A10E PRG:210E A5 D2 + lda RingPtrHi ; CPU:$A10E PRG:210E A5 D2 adc #$00 ; CPU:$A110 PRG:2110 69 00 sta $0601,x ; CPU:$A112 PRG:2112 9D 01 06 rts ; CPU:$A115 PRG:2115 60 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop59 -; Global: Branch target inside Sub: taken when Loop59. +; Routine: Sub_Loop61 +; Global: Branch target inside Sub: taken when Loop61. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop59: +Sub_Loop61: lda $0612,x ; CPU:$A116 PRG:2116 BD 12 06 sta $0664,y ; CPU:$A119 PRG:2119 99 64 06 jmp Sub_A0FC ; CPU:$A11C PRG:211C 4C FC A0 @@ -1779,50 +1968,436 @@ Sub_Loop59: ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- Sub_A11F: - sty ZpD7 ; CPU:$A11F PRG:211F 84 D7 + sty HandlerPtrLo ; CPU:$A11F PRG:211F 84 D7 lda #$06 ; CPU:$A121 PRG:2121 A9 06 - sta ZpD8 ; CPU:$A123 PRG:2123 85 D8 + sta HandlerPtrHi ; CPU:$A123 PRG:2123 85 D8 ldy #$0D ; CPU:$A125 PRG:2125 A0 0D lda #$00 ; CPU:$A127 PRG:2127 A9 00 ; ----------------------------------------------------------------------------- -; Routine: Sub_OnNonnegative4 -; Global: Branch target inside Sub: taken when OnNonnegative4. +; Routine: Sub_OnNonnegative5 +; Global: Branch target inside Sub: taken when OnNonnegative5. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_OnNonnegative4: - sta (ZpD7),y ; CPU:$A129 PRG:2129 91 D7 +Sub_OnNonnegative5: + sta (HandlerPtrLo),y ; CPU:$A129 PRG:2129 91 D7 dey ; CPU:$A12B PRG:212B 88 - bpl Sub_OnNonnegative4 ; CPU:$A12C PRG:212C 10 FB - ldy ZpD7 ; CPU:$A12E PRG:212E A4 D7 + bpl Sub_OnNonnegative5 ; CPU:$A12C PRG:212C 10 FB + ldy HandlerPtrLo ; CPU:$A12E PRG:212E A4 D7 rts ; CPU:$A130 PRG:2130 60 -; ---- data $A131-$A35B (555 bytes) ---- -; referenced by `lda $A30A,y` at $A35E (operand $A30A falls inside this region) -; referenced by `lda $A30B,y` at $A363 (operand $A30B falls inside this region) - .byte $A6, $E3, $A5, $D1, $9D, $00, $06, $E8, $A5, $D2, $9D, $00, $06, $E8, $86, $E3 ; CPU:$A131 PRG:2131 A6 E3 A5 D1 9D 00 06 E8 A5 D2 9D 00 06 E8 86 E3 - .byte $C8, $B1, $D1, $85, $DC, $C8, $B1, $D1, $85, $D2, $A5, $DC, $85, $D1, $A0, $00 ; CPU:$A141 PRG:2141 C8 B1 D1 85 DC C8 B1 D1 85 D2 A5 DC 85 D1 A0 00 - .byte $60, $A6, $E3, $CA, $BD, $00, $06, $85, $D2, $CA, $BD, $00, $06, $85, $D1, $A0 ; CPU:$A151 PRG:2151 60 A6 E3 CA BD 00 06 85 D2 CA BD 00 06 85 D1 A0 - .byte $03, $86, $E3, $60, $A6, $E3, $C8, $B1, $D1, $9D, $00, $06, $A5, $D1, $E8, $9D ; CPU:$A161 PRG:2161 03 86 E3 60 A6 E3 C8 B1 D1 9D 00 06 A5 D1 E8 9D - .byte $00, $06, $E8, $A5, $D2, $9D, $00, $06, $E8, $C8, $86, $E3, $60, $A6, $E3, $DE ; CPU:$A171 PRG:2171 00 06 E8 A5 D2 9D 00 06 E8 C8 86 E3 60 A6 E3 DE - .byte $FD, $05, $F0, $0D, $BD, $FE, $05, $85, $D1, $BD, $FF, $05, $85, $D2, $A0, $02 ; CPU:$A181 PRG:2181 FD 05 F0 0D BD FE 05 85 D1 BD FF 05 85 D2 A0 02 - .byte $60, $CA, $CA, $CA, $86, $E3, $C8, $60, $86, $DB, $20, $86, $9E, $A6, $DB, $68 ; CPU:$A191 PRG:2191 60 CA CA CA 86 E3 C8 60 86 DB 20 86 9E A6 DB 68 - .byte $68, $A9, $00, $4C, $9C, $9F, $C8, $B1, $D1, $9D, $00, $06, $E8, $C8, $C0, $0F ; CPU:$A1A1 PRG:21A1 68 A9 00 4C 9C 9F C8 B1 D1 9D 00 06 E8 C8 C0 0F - .byte $D0, $F5, $60, $20, $6F, $A3, $B1, $D1, $9D, $00, $06, $C8, $60, $20, $6F, $A3 ; CPU:$A1B1 PRG:21B1 D0 F5 60 20 6F A3 B1 D1 9D 00 06 C8 60 20 6F A3 - .byte $B1, $D1, $9D, $00, $06, $E8, $C8, $B1, $D1, $9D, $00, $06, $C8, $60, $20, $6F ; CPU:$A1C1 PRG:21C1 B1 D1 9D 00 06 E8 C8 B1 D1 9D 00 06 C8 60 20 6F - .byte $A3, $FE, $00, $06, $60, $20, $6F, $A3, $DE, $00, $06, $60, $20, $6F, $A3, $FE ; CPU:$A1D1 PRG:21D1 A3 FE 00 06 60 20 6F A3 DE 00 06 60 20 6F A3 FE - .byte $00, $06, $D0, $03, $FE, $01, $06, $60, $20, $6F, $A3, $BD, $00, $06, $38, $E9 ; CPU:$A1E1 PRG:21E1 00 06 D0 03 FE 01 06 60 20 6F A3 BD 00 06 38 E9 - .byte $01, $9D, $00, $06, $BD, $01, $06, $E9, $00, $9D, $01, $06, $60, $20, $6F, $A3 ; CPU:$A1F1 PRG:21F1 01 9D 00 06 BD 01 06 E9 00 9D 01 06 60 20 6F A3 - .byte $B1, $D1, $18, $7D, $00, $06, $9D, $00, $06, $BD, $01, $06, $69, $00, $9D, $01 ; CPU:$A201 PRG:2201 B1 D1 18 7D 00 06 9D 00 06 BD 01 06 69 00 9D 01 - .byte $06, $C8, $60, $20, $6F, $A3, $BD, $00, $06, $38, $F1, $D1, $9D, $00, $06, $BD ; CPU:$A211 PRG:2211 06 C8 60 20 6F A3 BD 00 06 38 F1 D1 9D 00 06 BD - .byte $01, $06, $E9, $00, $9D, $01, $06, $C8, $60, $C8, $A2, $00, $B1, $D1, $9D, $B1 ; CPU:$A221 PRG:2221 01 06 E9 00 9D 01 06 C8 60 C8 A2 00 B1 D1 9D B1 - .byte $06, $C8, $E8, $E0, $08, $D0, $F5, $60, $C8, $B1, $D1, $9D, $08, $06, $C8, $60 ; CPU:$A231 PRG:2231 06 C8 E8 E0 08 D0 F5 60 C8 B1 D1 9D 08 06 C8 60 - .byte $C8, $B1, $D1, $9D, $04, $06, $C8, $60, $C8, $BD, $04, $06, $09, $80, $9D, $04 ; CPU:$A241 PRG:2241 C8 B1 D1 9D 04 06 C8 60 C8 BD 04 06 09 80 9D 04 - .byte $06, $60, $C8, $BD, $04, $06, $29, $7F, $9D, $04, $06, $60, $C8, $BD, $08, $06 ; CPU:$A251 PRG:2251 06 60 C8 BD 04 06 29 7F 9D 04 06 60 C8 BD 08 06 - .byte $18, $69, $0C, $9D, $08, $06, $60, $C8, $BD, $08, $06, $38, $E9, $0C, $9D, $08 ; CPU:$A261 PRG:2261 18 69 0C 9D 08 06 60 C8 BD 08 06 38 E9 0C 9D 08 - .byte $06, $60, $A0, $5C, $20, $1F, $A1, $8D, $6A, $06, $8D, $6C, $06, $68, $68, $60 ; CPU:$A271 PRG:2271 06 60 A0 5C 20 1F A1 8D 6A 06 8D 6C 06 68 68 60 - .byte $A9, $30, $D0, $0A, $A9, $70, $D0, $06, $A9, $B0, $D0, $02, $A9, $F0, $9D, $12 ; CPU:$A281 PRG:2281 A9 30 D0 0A A9 70 D0 06 A9 B0 D0 02 A9 F0 9D 12 +; ----------------------------------------------------------------------------- +; Routine: Label_A131 +; Global: Branch target inside Label: taken when A131. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A131: + ldx ZpE3 ; CPU:$A131 PRG:2131 A6 E3 + lda RingPtrLo ; CPU:$A133 PRG:2133 A5 D1 + sta $0600,x ; CPU:$A135 PRG:2135 9D 00 06 + inx ; CPU:$A138 PRG:2138 E8 + lda RingPtrHi ; CPU:$A139 PRG:2139 A5 D2 + sta $0600,x ; CPU:$A13B PRG:213B 9D 00 06 + inx ; CPU:$A13E PRG:213E E8 + stx ZpE3 ; CPU:$A13F PRG:213F 86 E3 + iny ; CPU:$A141 PRG:2141 C8 + lda (RingPtrLo),y ; CPU:$A142 PRG:2142 B1 D1 + sta ZpDC ; CPU:$A144 PRG:2144 85 DC + iny ; CPU:$A146 PRG:2146 C8 + lda (RingPtrLo),y ; CPU:$A147 PRG:2147 B1 D1 + sta RingPtrHi ; CPU:$A149 PRG:2149 85 D2 + lda ZpDC ; CPU:$A14B PRG:214B A5 DC + sta RingPtrLo ; CPU:$A14D PRG:214D 85 D1 + ldy #$00 ; CPU:$A14F PRG:214F A0 00 + rts ; CPU:$A151 PRG:2151 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A152 +; Global: Branch target inside Label: taken when A152. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A152: + ldx ZpE3 ; CPU:$A152 PRG:2152 A6 E3 + dex ; CPU:$A154 PRG:2154 CA + lda $0600,x ; CPU:$A155 PRG:2155 BD 00 06 + sta RingPtrHi ; CPU:$A158 PRG:2158 85 D2 + dex ; CPU:$A15A PRG:215A CA + lda $0600,x ; CPU:$A15B PRG:215B BD 00 06 + sta RingPtrLo ; CPU:$A15E PRG:215E 85 D1 + ldy #$03 ; CPU:$A160 PRG:2160 A0 03 + stx ZpE3 ; CPU:$A162 PRG:2162 86 E3 + rts ; CPU:$A164 PRG:2164 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A165 +; Global: Branch target inside Label: taken when A165. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A165: + ldx ZpE3 ; CPU:$A165 PRG:2165 A6 E3 + iny ; CPU:$A167 PRG:2167 C8 + lda (RingPtrLo),y ; CPU:$A168 PRG:2168 B1 D1 + sta $0600,x ; CPU:$A16A PRG:216A 9D 00 06 + lda RingPtrLo ; CPU:$A16D PRG:216D A5 D1 + inx ; CPU:$A16F PRG:216F E8 + sta $0600,x ; CPU:$A170 PRG:2170 9D 00 06 + inx ; CPU:$A173 PRG:2173 E8 + lda RingPtrHi ; CPU:$A174 PRG:2174 A5 D2 + sta $0600,x ; CPU:$A176 PRG:2176 9D 00 06 + inx ; CPU:$A179 PRG:2179 E8 + iny ; CPU:$A17A PRG:217A C8 + stx ZpE3 ; CPU:$A17B PRG:217B 86 E3 + rts ; CPU:$A17D PRG:217D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A17E +; Global: Branch target inside Label: taken when A17E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A17E: + ldx ZpE3 ; CPU:$A17E PRG:217E A6 E3 + dec $05FD,x ; CPU:$A180 PRG:2180 DE FD 05 + beq Sub_Loop62 ; CPU:$A183 PRG:2183 F0 0D + lda $05FE,x ; CPU:$A185 PRG:2185 BD FE 05 + sta RingPtrLo ; CPU:$A188 PRG:2188 85 D1 + lda $05FF,x ; CPU:$A18A PRG:218A BD FF 05 + sta RingPtrHi ; CPU:$A18D PRG:218D 85 D2 + ldy #$02 ; CPU:$A18F PRG:218F A0 02 + rts ; CPU:$A191 PRG:2191 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop62 +; Global: Branch target inside Sub: taken when Loop62. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop62: + dex ; CPU:$A192 PRG:2192 CA + dex ; CPU:$A193 PRG:2193 CA + dex ; CPU:$A194 PRG:2194 CA + stx ZpE3 ; CPU:$A195 PRG:2195 86 E3 + iny ; CPU:$A197 PRG:2197 C8 + rts ; CPU:$A198 PRG:2198 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A199 +; Global: Branch target inside Label: taken when A199. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A199: + stx ZpDB ; CPU:$A199 PRG:2199 86 DB + jsr Sub_Loop40 ; CPU:$A19B PRG:219B 20 86 9E + ldx ZpDB ; CPU:$A19E PRG:219E A6 DB + pla ; CPU:$A1A0 PRG:21A0 68 + pla ; CPU:$A1A1 PRG:21A1 68 + lda #$00 ; CPU:$A1A2 PRG:21A2 A9 00 + jmp Sub_9F9C ; CPU:$A1A4 PRG:21A4 4C 9C 9F +; ----------------------------------------------------------------------------- +; Routine: Label_A1A7 +; Global: Branch target inside Label: taken when A1A7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1A7: + iny ; CPU:$A1A7 PRG:21A7 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero7 +; Global: Branch target inside Sub: taken when OnNonzero7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero7: + lda (RingPtrLo),y ; CPU:$A1A8 PRG:21A8 B1 D1 + sta $0600,x ; CPU:$A1AA PRG:21AA 9D 00 06 + inx ; CPU:$A1AD PRG:21AD E8 + iny ; CPU:$A1AE PRG:21AE C8 + cpy #$0F ; CPU:$A1AF PRG:21AF C0 0F + bne Sub_OnNonzero7 ; CPU:$A1B1 PRG:21B1 D0 F5 + rts ; CPU:$A1B3 PRG:21B3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1B4 +; Global: Branch target inside Label: taken when A1B4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1B4: + jsr Sub_A36F ; CPU:$A1B4 PRG:21B4 20 6F A3 + lda (RingPtrLo),y ; CPU:$A1B7 PRG:21B7 B1 D1 + sta $0600,x ; CPU:$A1B9 PRG:21B9 9D 00 06 + iny ; CPU:$A1BC PRG:21BC C8 + rts ; CPU:$A1BD PRG:21BD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1BE +; Global: Branch target inside Label: taken when A1BE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1BE: + jsr Sub_A36F ; CPU:$A1BE PRG:21BE 20 6F A3 + lda (RingPtrLo),y ; CPU:$A1C1 PRG:21C1 B1 D1 + sta $0600,x ; CPU:$A1C3 PRG:21C3 9D 00 06 + inx ; CPU:$A1C6 PRG:21C6 E8 + iny ; CPU:$A1C7 PRG:21C7 C8 + lda (RingPtrLo),y ; CPU:$A1C8 PRG:21C8 B1 D1 + sta $0600,x ; CPU:$A1CA PRG:21CA 9D 00 06 + iny ; CPU:$A1CD PRG:21CD C8 + rts ; CPU:$A1CE PRG:21CE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1CF +; Global: Branch target inside Label: taken when A1CF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1CF: + jsr Sub_A36F ; CPU:$A1CF PRG:21CF 20 6F A3 + inc $0600,x ; CPU:$A1D2 PRG:21D2 FE 00 06 + rts ; CPU:$A1D5 PRG:21D5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1D6 +; Global: Branch target inside Label: taken when A1D6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1D6: + jsr Sub_A36F ; CPU:$A1D6 PRG:21D6 20 6F A3 + dec $0600,x ; CPU:$A1D9 PRG:21D9 DE 00 06 + rts ; CPU:$A1DC PRG:21DC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1DD +; Global: Branch target inside Label: taken when A1DD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1DD: + jsr Sub_A36F ; CPU:$A1DD PRG:21DD 20 6F A3 + inc $0600,x ; CPU:$A1E0 PRG:21E0 FE 00 06 + bne Sub_Loop63 ; CPU:$A1E3 PRG:21E3 D0 03 + inc $0601,x ; CPU:$A1E5 PRG:21E5 FE 01 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop63 +; Global: Branch target inside Sub: taken when Loop63. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop63: + rts ; CPU:$A1E8 PRG:21E8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1E9 +; Global: Branch target inside Label: taken when A1E9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1E9: + jsr Sub_A36F ; CPU:$A1E9 PRG:21E9 20 6F A3 + lda $0600,x ; CPU:$A1EC PRG:21EC BD 00 06 + sec ; CPU:$A1EF PRG:21EF 38 + sbc #$01 ; CPU:$A1F0 PRG:21F0 E9 01 + sta $0600,x ; CPU:$A1F2 PRG:21F2 9D 00 06 + lda $0601,x ; CPU:$A1F5 PRG:21F5 BD 01 06 + sbc #$00 ; CPU:$A1F8 PRG:21F8 E9 00 + sta $0601,x ; CPU:$A1FA PRG:21FA 9D 01 06 + rts ; CPU:$A1FD PRG:21FD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A1FE +; Global: Branch target inside Label: taken when A1FE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A1FE: + jsr Sub_A36F ; CPU:$A1FE PRG:21FE 20 6F A3 + lda (RingPtrLo),y ; CPU:$A201 PRG:2201 B1 D1 + clc ; CPU:$A203 PRG:2203 18 + adc $0600,x ; CPU:$A204 PRG:2204 7D 00 06 + sta $0600,x ; CPU:$A207 PRG:2207 9D 00 06 + lda $0601,x ; CPU:$A20A PRG:220A BD 01 06 + adc #$00 ; CPU:$A20D PRG:220D 69 00 + sta $0601,x ; CPU:$A20F PRG:220F 9D 01 06 + iny ; CPU:$A212 PRG:2212 C8 + rts ; CPU:$A213 PRG:2213 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A214 +; Global: Branch target inside Label: taken when A214. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A214: + jsr Sub_A36F ; CPU:$A214 PRG:2214 20 6F A3 + lda $0600,x ; CPU:$A217 PRG:2217 BD 00 06 + sec ; CPU:$A21A PRG:221A 38 + sbc (RingPtrLo),y ; CPU:$A21B PRG:221B F1 D1 + sta $0600,x ; CPU:$A21D PRG:221D 9D 00 06 + lda $0601,x ; CPU:$A220 PRG:2220 BD 01 06 + sbc #$00 ; CPU:$A223 PRG:2223 E9 00 + sta $0601,x ; CPU:$A225 PRG:2225 9D 01 06 + iny ; CPU:$A228 PRG:2228 C8 + rts ; CPU:$A229 PRG:2229 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A22A +; Global: Branch target inside Label: taken when A22A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A22A: + iny ; CPU:$A22A PRG:222A C8 + ldx #$00 ; CPU:$A22B PRG:222B A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero8 +; Global: Branch target inside Sub: taken when OnNonzero8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero8: + lda (RingPtrLo),y ; CPU:$A22D PRG:222D B1 D1 + sta $06B1,x ; CPU:$A22F PRG:222F 9D B1 06 + iny ; CPU:$A232 PRG:2232 C8 + inx ; CPU:$A233 PRG:2233 E8 + cpx #$08 ; CPU:$A234 PRG:2234 E0 08 + bne Sub_OnNonzero8 ; CPU:$A236 PRG:2236 D0 F5 + rts ; CPU:$A238 PRG:2238 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A239 +; Global: Branch target inside Label: taken when A239. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A239: + iny ; CPU:$A239 PRG:2239 C8 + lda (RingPtrLo),y ; CPU:$A23A PRG:223A B1 D1 + sta $0608,x ; CPU:$A23C PRG:223C 9D 08 06 + iny ; CPU:$A23F PRG:223F C8 + rts ; CPU:$A240 PRG:2240 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A241 +; Global: Branch target inside Label: taken when A241. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A241: + iny ; CPU:$A241 PRG:2241 C8 + lda (RingPtrLo),y ; CPU:$A242 PRG:2242 B1 D1 + sta $0604,x ; CPU:$A244 PRG:2244 9D 04 06 + iny ; CPU:$A247 PRG:2247 C8 + rts ; CPU:$A248 PRG:2248 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A249 +; Global: Branch target inside Label: taken when A249. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A249: + iny ; CPU:$A249 PRG:2249 C8 + lda $0604,x ; CPU:$A24A PRG:224A BD 04 06 + ora #$80 ; CPU:$A24D PRG:224D 09 80 + sta $0604,x ; CPU:$A24F PRG:224F 9D 04 06 + rts ; CPU:$A252 PRG:2252 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A253 +; Global: Branch target inside Label: taken when A253. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A253: + iny ; CPU:$A253 PRG:2253 C8 + lda $0604,x ; CPU:$A254 PRG:2254 BD 04 06 + and #$7F ; CPU:$A257 PRG:2257 29 7F + sta $0604,x ; CPU:$A259 PRG:2259 9D 04 06 + rts ; CPU:$A25C PRG:225C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A25D +; Global: Branch target inside Label: taken when A25D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A25D: + iny ; CPU:$A25D PRG:225D C8 + lda $0608,x ; CPU:$A25E PRG:225E BD 08 06 + clc ; CPU:$A261 PRG:2261 18 + adc #$0C ; CPU:$A262 PRG:2262 69 0C + sta $0608,x ; CPU:$A264 PRG:2264 9D 08 06 + rts ; CPU:$A267 PRG:2267 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A268 +; Global: Branch target inside Label: taken when A268. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A268: + iny ; CPU:$A268 PRG:2268 C8 + lda $0608,x ; CPU:$A269 PRG:2269 BD 08 06 + sec ; CPU:$A26C PRG:226C 38 + sbc #$0C ; CPU:$A26D PRG:226D E9 0C + sta $0608,x ; CPU:$A26F PRG:226F 9D 08 06 + rts ; CPU:$A272 PRG:2272 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A273 +; Global: Branch target inside Label: taken when A273. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A273: + ldy #$5C ; CPU:$A273 PRG:2273 A0 5C + jsr Sub_A11F ; CPU:$A275 PRG:2275 20 1F A1 + sta $066A ; CPU:$A278 PRG:2278 8D 6A 06 + sta $066C ; CPU:$A27B PRG:227B 8D 6C 06 + pla ; CPU:$A27E PRG:227E 68 + pla ; CPU:$A27F PRG:227F 68 + rts ; CPU:$A280 PRG:2280 60 +; ---- data $A281-$A302 (130 bytes) ---- +UnreachedCodeData: + .byte $A9, $30, $D0, $0A, $A9, $70, $D0, $06, $A9, $B0, $D0, $02, $A9, $F0, $9D, $12 ; CPU:$A281 PRG:-1D7F A9 30 D0 0A A9 70 D0 06 A9 B0 D0 02 A9 F0 9D 12 .byte $06, $C8, $60, $A9, $80, $30, $02, $A9, $00, $9D, $14, $06, $C8, $60, $A9, $80 ; CPU:$A291 PRG:2291 06 C8 60 A9 80 30 02 A9 00 9D 14 06 C8 60 A9 80 .byte $9D, $15, $06, $C8, $60, $A9, $00, $F0, $0A, $A9, $04, $D0, $06, $A9, $08, $D0 ; CPU:$A2A1 PRG:22A1 9D 15 06 C8 60 A9 00 F0 0A A9 04 D0 06 A9 08 D0 .byte $02, $A9, $0C, $84, $DA, $86, $E4, $A8, $AE, $6B, $06, $BD, $0E, $06, $F0, $07 ; CPU:$A2B1 PRG:22B1 02 A9 0C 84 DA 86 E4 A8 AE 6B 06 BD 0E 06 F0 07 @@ -1830,12 +2405,31 @@ Sub_OnNonnegative4: .byte $D6, $B1, $D5, $8D, $62, $06, $C8, $B1, $D5, $8D, $67, $06, $C8, $B1, $D5, $8D ; CPU:$A2D1 PRG:22D1 D6 B1 D5 8D 62 06 C8 B1 D5 8D 67 06 C8 B1 D5 8D .byte $68, $06, $C8, $B1, $D5, $8D, $BB, $06, $A4, $DA, $A6, $E4, $C8, $60, $AD, $63 ; CPU:$A2E1 PRG:22E1 68 06 C8 B1 D5 8D BB 06 A4 DA A6 E4 C8 60 AD 63 .byte $06, $09, $08, $8D, $63, $06, $C8, $60, $AD, $63, $06, $29, $F7, $8D, $63, $06 ; CPU:$A2F1 PRG:22F1 06 09 08 8D 63 06 C8 60 AD 63 06 29 F7 8D 63 06 - .byte $C8, $60, $C8, $B1, $D1, $85, $D0, $C8, $60, $31, $A1, $41, $A1, $52, $A1, $65 ; CPU:$A301 PRG:2301 C8 60 C8 B1 D1 85 D0 C8 60 31 A1 41 A1 52 A1 65 - .byte $A1, $7E, $A1, $99, $A1, $99, $A1, $A0, $A1, $A7, $A1, $2A, $A2, $2A, $A2, $DD ; CPU:$A311 PRG:2311 A1 7E A1 99 A1 99 A1 A0 A1 A7 A1 2A A2 2A A2 DD - .byte $A1, $E9, $A1, $B4, $A1, $BE, $A1, $14, $A2, $FE, $A1, $D6, $A1, $CF, $A1, $2A ; CPU:$A321 PRG:2321 A1 E9 A1 B4 A1 BE A1 14 A2 FE A1 D6 A1 CF A1 2A - .byte $A2, $39, $A2, $41, $A2, $49, $A2, $53, $A2, $5D, $A2, $68, $A2, $73, $A2, $81 ; CPU:$A331 PRG:2331 A2 39 A2 41 A2 49 A2 53 A2 5D A2 68 A2 73 A2 81 - .byte $A2, $85, $A2, $89, $A2, $8D, $A2, $94, $A2, $98, $A2, $9F, $A2, $A6, $A2, $AA ; CPU:$A341 PRG:2341 A2 85 A2 89 A2 8D A2 94 A2 98 A2 9F A2 A6 A2 AA - .byte $A2, $AE, $A2, $B2, $A2, $EF, $A2, $F9, $A2, $03, $A3 ; CPU:$A351 PRG:2351 A2 AE A2 B2 A2 EF A2 F9 A2 03 A3 + .byte $C8, $60 ; CPU:$A301 PRG:2301 C8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_A303 +; Global: Branch target inside Label: taken when A303. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_A303: + iny ; CPU:$A303 PRG:2303 C8 + lda (RingPtrLo),y ; CPU:$A304 PRG:2304 B1 D1 + sta ZpD0 ; CPU:$A306 PRG:2306 85 D0 + iny ; CPU:$A308 PRG:2308 C8 + rts ; CPU:$A309 PRG:2309 60 +; ---- data $A30A-$A35B (82 bytes) ---- +; referenced by `lda $A30A,y` at $A35E (operand $A30A falls inside this region) +; referenced by `lda $A30B,y` at $A363 (operand $A30B falls inside this region) +WrestlerHandlerPointerTable: + .byte $31, $A1, $41, $A1, $52, $A1, $65, $A1, $7E, $A1, $99, $A1, $99, $A1, $A0, $A1 ; CPU:$A30A PRG:-1CF6 31 A1 41 A1 52 A1 65 A1 7E A1 99 A1 99 A1 A0 A1 + .byte $A7, $A1, $2A, $A2, $2A, $A2, $DD, $A1, $E9, $A1, $B4, $A1, $BE, $A1, $14, $A2 ; CPU:$A31A PRG:231A A7 A1 2A A2 2A A2 DD A1 E9 A1 B4 A1 BE A1 14 A2 + .byte $FE, $A1, $D6, $A1, $CF, $A1, $2A, $A2, $39, $A2, $41, $A2, $49, $A2, $53, $A2 ; CPU:$A32A PRG:232A FE A1 D6 A1 CF A1 2A A2 39 A2 41 A2 49 A2 53 A2 + .byte $5D, $A2, $68, $A2, $73, $A2, $81, $A2, $85, $A2, $89, $A2, $8D, $A2, $94, $A2 ; CPU:$A33A PRG:233A 5D A2 68 A2 73 A2 81 A2 85 A2 89 A2 8D A2 94 A2 + .byte $98, $A2, $9F, $A2, $A6, $A2, $AA, $A2, $AE, $A2, $B2, $A2, $EF, $A2, $F9, $A2 ; CPU:$A34A PRG:234A 98 A2 9F A2 A6 A2 AA A2 AE A2 B2 A2 EF A2 F9 A2 + .byte $03, $A3 ; CPU:$A35A PRG:235A 03 A3 ; ----------------------------------------------------------------------------- ; Routine: Sub_A35C ; Global: Branch target inside Sub: taken when A35C. @@ -1848,124 +2442,140 @@ Sub_A35C: asl a ; CPU:$A35C PRG:235C 0A tay ; CPU:$A35D PRG:235D A8 lda $A30A,y ; CPU:$A35E PRG:235E B9 0A A3 - sta ZpD7 ; CPU:$A361 PRG:2361 85 D7 + sta HandlerPtrLo ; CPU:$A361 PRG:2361 85 D7 lda $A30B,y ; CPU:$A363 PRG:2363 B9 0B A3 - sta ZpD8 ; CPU:$A366 PRG:2366 85 D8 + sta HandlerPtrHi ; CPU:$A366 PRG:2366 85 D8 ldy #$00 ; CPU:$A368 PRG:2368 A0 00 ldx ZpE2 ; CPU:$A36A PRG:236A A6 E2 - jmp (ZpD7) ; CPU:$A36C PRG:236C 6C D7 00 -; ---- data $A36F-$A9F0 (1666 bytes) ---- + jmp (HandlerPtrLo) ; CPU:$A36C PRG:236C 6C D7 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_A36F +; Global: Branch target inside Sub: taken when A36F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_A36F: + iny ; CPU:$A36F PRG:236F C8 + clc ; CPU:$A370 PRG:2370 18 + txa ; CPU:$A371 PRG:2371 8A + adc (RingPtrLo),y ; CPU:$A372 PRG:2372 71 D1 + tax ; CPU:$A374 PRG:2374 AA + iny ; CPU:$A375 PRG:2375 C8 + rts ; CPU:$A376 PRG:2376 60 +; ---- data $A377-$A9F0 (1658 bytes) ---- ; referenced by `lda $A409,y` at $9E06 (operand $A409 falls inside this region) ; referenced by `lda $A40A,y` at $9E0B (operand $A40A falls inside this region) ; referenced by `lda $A431,y` at $9FC1 (operand $A431 falls inside this region) ; referenced by `lda $A429,y` at $9FCC (operand $A429 falls inside this region) ; referenced by `lda $A378,y` at $A0E4 (operand $A378 falls inside this region) ; referenced by `lda $A377,y` at $A0E9 (operand $A377 falls inside this region) - .byte $C8, $18, $8A, $71, $D1, $AA, $C8, $60, $B8, $06, $58, $06, $FA, $05, $A4, $05 ; CPU:$A36F PRG:236F C8 18 8A 71 D1 AA C8 60 B8 06 58 06 FA 05 A4 05 - .byte $54, $05, $14, $05, $BE, $04, $79, $04, $3A, $04, $FC, $03, $C2, $03, $88, $03 ; CPU:$A37F PRG:237F 54 05 14 05 BE 04 79 04 3A 04 FC 03 C2 03 88 03 - .byte $59, $03, $2B, $03, $FB, $02, $D0, $02, $A6, $02, $81, $02, $5C, $02, $3C, $02 ; CPU:$A38F PRG:238F 59 03 2B 03 FB 02 D0 02 A6 02 81 02 5C 02 3C 02 - .byte $1A, $02, $FE, $01, $DF, $01, $C6, $01, $AB, $01, $92, $01, $76, $01, $67, $01 ; CPU:$A39F PRG:239F 1A 02 FE 01 DF 01 C6 01 AB 01 92 01 76 01 67 01 - .byte $53, $01, $40, $01, $2E, $01, $1D, $01, $0D, $01, $FE, $00, $EF, $00, $E2, $00 ; CPU:$A3AF PRG:23AF 53 01 40 01 2E 01 1D 01 0D 01 FE 00 EF 00 E2 00 - .byte $D5, $00, $C9, $00, $BE, $00, $B3, $00, $A9, $00, $9F, $00, $96, $00, $8E, $00 ; CPU:$A3BF PRG:23BF D5 00 C9 00 BE 00 B3 00 A9 00 9F 00 96 00 8E 00 - .byte $86, $00, $7E, $00, $78, $00, $70, $00, $6A, $00, $64, $00, $5E, $00, $59, $00 ; CPU:$A3CF PRG:23CF 86 00 7E 00 78 00 70 00 6A 00 64 00 5E 00 59 00 - .byte $54, $00, $4F, $00, $4B, $00, $47, $00, $42, $00, $3F, $00, $3B, $00, $38, $00 ; CPU:$A3DF PRG:23DF 54 00 4F 00 4B 00 47 00 42 00 3F 00 3B 00 38 00 - .byte $35, $00, $33, $00, $30, $00, $2D, $00, $2A, $00, $28, $00, $26, $00, $24, $00 ; CPU:$A3EF PRG:23EF 35 00 33 00 30 00 2D 00 2A 00 28 00 26 00 24 00 - .byte $22, $00, $20, $00, $1E, $00, $1C, $00, $E1, $A9, $FF, $A7, $05, $A8, $0B, $A8 ; CPU:$A3FF PRG:23FF 22 00 20 00 1E 00 1C 00 E1 A9 FF A7 05 A8 0B A8 - .byte $11, $A8, $17, $A8, $1D, $A8, $23, $A8, $29, $A8, $39, $A4, $41, $A4, $49, $A4 ; CPU:$A40F PRG:240F 11 A8 17 A8 1D A8 23 A8 29 A8 39 A4 41 A4 49 A4 - .byte $51, $A4, $2F, $A8, $35, $A8, $3B, $A8, $41, $A8, $04, $08, $0C, $10, $18, $20 ; CPU:$A41F PRG:241F 51 A4 2F A8 35 A8 3B A8 41 A8 04 08 0C 10 18 20 - .byte $28, $40, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $80, $00, $A6, $A4, $59, $A4 ; CPU:$A42F PRG:242F 28 40 05 0A 0F 14 1E 28 3C 50 80 00 A6 A4 59 A4 - .byte $82, $A4, $80, $00, $6D, $A5, $C9, $A4, $15, $A5, $80, $00, $DC, $A5, $84, $A5 ; CPU:$A43F PRG:243F 82 A4 80 00 6D A5 C9 A4 15 A5 80 00 DC A5 84 A5 - .byte $A8, $A5, $80, $00, $70, $A6, $FC, $A5, $92, $A7, $93, $05, $0A, $0F, $14, $1E ; CPU:$A44F PRG:244F A8 A5 80 00 70 A6 FC A5 92 A7 93 05 0A 0F 14 1E - .byte $28, $3C, $50, $94, $18, $95, $0C, $96, $A0, $9C, $47, $1F, $04, $05, $07, $04 ; CPU:$A45F PRG:245F 28 3C 50 94 18 95 0C 96 A0 9C 47 1F 04 05 07 04 - .byte $3B, $98, $50, $55, $04, $02, $00, $99, $0B, $98, $54, $02, $00, $99, $0B, $98 ; CPU:$A46F PRG:246F 3B 98 50 55 04 02 00 99 0B 98 54 02 00 99 0B 98 - .byte $00, $50, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $0C ; CPU:$A47F PRG:247F 00 50 9A 93 05 0A 0F 14 1E 28 3C 50 94 18 95 0C - .byte $97, $A0, $9E, $10, $0F, $00, $30, $30, $99, $19, $0F, $09, $39, $39, $35, $35 ; CPU:$A48F PRG:248F 97 A0 9E 10 0F 00 30 30 99 19 0F 09 39 39 35 35 - .byte $35, $37, $37, $98, $37, $50, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50 ; CPU:$A49F PRG:249F 35 37 37 98 37 50 9A 93 05 0A 0F 14 1E 28 3C 50 - .byte $94, $18, $95, $0C, $A6, $83, $02, $3F, $A3, $3F, $A3, $3F, $84, $83, $02, $A3 ; CPU:$A4AF PRG:24AF 94 18 95 0C A6 83 02 3F A3 3F A3 3F 84 83 02 A3 - .byte $1F, $0F, $A3, $0F, $A3, $5F, $84, $A3, $5F, $9A, $93, $05, $0A, $0F, $14, $1E ; CPU:$A4BF PRG:24BF 1F 0F A3 0F A3 5F 84 A3 5F 9A 93 05 0A 0F 14 1E - .byte $28, $3C, $08, $94, $18, $95, $0C, $96, $A0, $9C, $98, $47, $16, $45, $14, $12 ; CPU:$A4CF PRG:24CF 28 3C 08 94 18 95 0C 96 A0 9C 98 47 16 45 14 12 - .byte $10, $99, $1B, $19, $17, $0F, $98, $00, $99, $2B, $98, $00, $22, $00, $44, $0F ; CPU:$A4DF PRG:24DF 10 99 1B 19 17 0F 98 00 99 2B 98 00 22 00 44 0F - .byte $00, $99, $2B, $98, $00, $22, $00, $44, $0F, $00, $99, $2B, $98, $00, $12, $3F ; CPU:$A4EF PRG:24EF 00 99 2B 98 00 22 00 44 0F 00 99 2B 98 00 12 3F - .byte $99, $17, $17, $1F, $19, $1B, $98, $00, $99, $07, $04, $00, $99, $07, $98, $00 ; CPU:$A4FF PRG:24FF 99 17 17 1F 19 1B 98 00 99 07 04 00 99 07 98 00 - .byte $04, $07, $98, $30, $3F, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94 ; CPU:$A50F PRG:250F 04 07 98 30 3F 9A 93 05 0A 0F 14 1E 28 3C 50 94 - .byte $18, $95, $0C, $96, $A0, $9D, $17, $98, $47, $99, $17, $98, $47, $99, $17, $98 ; CPU:$A51F PRG:251F 18 95 0C 96 A0 9D 17 98 47 99 17 98 47 99 17 98 - .byte $17, $99, $17, $98, $17, $99, $17, $1F, $1F, $1F, $98, $20, $98, $00, $99, $20 ; CPU:$A52F PRG:252F 17 99 17 98 17 99 17 1F 1F 1F 98 20 98 00 99 20 - .byte $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $20 ; CPU:$A53F PRG:253F 98 00 99 20 98 00 99 20 98 00 99 20 98 00 99 20 - .byte $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $99, $17, $98, $17, $12 ; CPU:$A54F PRG:254F 98 00 99 20 98 00 99 20 98 00 99 99 17 98 17 12 - .byte $17, $99, $17, $98, $17, $12, $17, $10, $17, $14, $17, $30, $3F, $9A, $93, $05 ; CPU:$A55F PRG:255F 17 99 17 98 17 12 17 10 17 14 17 30 3F 9A 93 05 - .byte $0A, $0F, $14, $1E, $28, $3C, $08, $94, $0C, $95, $09, $A6, $83, $06, $3F, $A3 ; CPU:$A56F PRG:256F 0A 0F 14 1E 28 3C 08 94 0C 95 09 A6 83 06 3F A3 - .byte $5F, $A3, $3F, $84, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18 ; CPU:$A57F PRG:257F 5F A3 3F 84 9A 93 05 0A 0F 14 1E 28 3C 50 94 18 - .byte $95, $0F, $96, $A0, $9C, $19, $15, $19, $3B, $37, $1B, $98, $60, $3F, $99, $19 ; CPU:$A58F PRG:258F 95 0F 96 A0 9C 19 15 19 3B 37 1B 98 60 3F 99 19 - .byte $15, $19, $3B, $37, $1B, $98, $60, $3F, $9A, $93, $05, $0A, $0F, $14, $1E, $28 ; CPU:$A59F PRG:259F 15 19 3B 37 1B 98 60 3F 9A 93 05 0A 0F 14 1E 28 - .byte $3C, $50, $94, $18, $95, $04, $97, $A0, $9E, $35, $35, $37, $37, $98, $30, $30 ; CPU:$A5AF PRG:25AF 3C 50 94 18 95 04 97 A0 9E 35 35 37 37 98 30 30 - .byte $30, $30, $99, $99, $15, $98, $15, $99, $15, $98, $15, $99, $17, $98, $17, $99 ; CPU:$A5BF PRG:25BF 30 30 99 99 15 98 15 99 15 98 15 99 17 98 17 99 - .byte $17, $98, $17, $10, $98, $10, $99, $10, $98, $10, $99, $30, $9A, $93, $05, $0A ; CPU:$A5CF PRG:25CF 17 98 17 10 98 10 99 10 98 10 99 30 9A 93 05 0A - .byte $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $09, $A6, $3F, $A3, $5F, $A3, $3F ; CPU:$A5DF PRG:25DF 0F 14 1E 28 3C 50 94 18 95 09 A6 3F A3 5F A3 3F - .byte $3F, $A3, $5F, $A3, $3F, $83, $06, $1F, $A3, $1F, $84, $1F, $9A, $93, $05, $0A ; CPU:$A5EF PRG:25EF 3F A3 5F A3 3F 83 06 1F A3 1F 84 1F 9A 93 05 0A - .byte $0F, $14, $1E, $28, $3C, $50, $94, $09, $95, $05, $96, $A0, $9C, $64, $39, $98 ; CPU:$A5FF PRG:25FF 0F 14 1E 28 3C 50 94 09 95 05 96 A0 9C 64 39 98 - .byte $60, $00, $99, $0B, $09, $07, $65, $39, $98, $60, $00, $99, $0B, $09, $07, $64 ; CPU:$A60F PRG:260F 60 00 99 0B 09 07 65 39 98 60 00 99 0B 09 07 64 - .byte $39, $98, $30, $99, $3B, $19, $47, $65, $39, $98, $30, $99, $3B, $19, $47, $83 ; CPU:$A61F PRG:261F 39 98 30 99 3B 19 47 65 39 98 30 99 3B 19 47 83 - .byte $02, $29, $09, $17, $19, $1F, $04, $0F, $04, $1F, $0F, $84, $83, $02, $29, $09 ; CPU:$A62F PRG:262F 02 29 09 17 19 1F 04 0F 04 1F 0F 84 83 02 29 09 - .byte $17, $19, $1F, $05, $0F, $05, $1F, $0F, $84, $83, $02, $29, $09, $17, $19, $1F ; CPU:$A63F PRG:263F 17 19 1F 05 0F 05 1F 0F 84 83 02 29 09 17 19 1F - .byte $02, $0F, $02, $1F, $0F, $84, $74, $45, $A1, $17, $57, $A1, $79, $59, $39, $37 ; CPU:$A64F PRG:264F 02 0F 02 1F 0F 84 74 45 A1 17 57 A1 79 59 39 37 - .byte $A1, $75, $55, $35, $34, $A1, $72, $52, $32, $34, $74, $44, $45, $37, $81, $05 ; CPU:$A65F PRG:265F A1 75 55 35 34 A1 72 52 32 34 74 44 45 37 81 05 - .byte $A6, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $09, $95, $05, $96, $A0 ; CPU:$A66F PRG:266F A6 93 05 0A 0F 14 1E 28 3C 50 94 09 95 05 96 A0 - .byte $9E, $83, $02, $19, $19, $19, $19, $19, $98, $19, $99, $19, $19, $19, $19, $19 ; CPU:$A67F PRG:267F 9E 83 02 19 19 19 19 19 98 19 99 19 19 19 19 19 - .byte $19, $19, $17, $1F, $A1, $15, $15, $15, $15, $15, $15, $98, $15, $99, $15, $15 ; CPU:$A68F PRG:268F 19 19 17 1F A1 15 15 15 15 15 15 98 15 99 15 15 - .byte $15, $15, $15, $15, $15, $17, $1F, $A1, $19, $84, $19, $98, $19, $99, $19, $98 ; CPU:$A69F PRG:269F 15 15 15 15 15 17 1F A1 19 84 19 98 19 99 19 98 - .byte $19, $99, $19, $98, $19, $99, $19, $98, $19, $99, $19, $98, $19, $99, $19, $98 ; CPU:$A6AF PRG:26AF 19 99 19 98 19 99 19 98 19 99 19 98 19 99 19 98 - .byte $19, $99, $19, $98, $19, $99, $09, $98, $09, $99, $07, $98, $07, $99, $15, $98 ; CPU:$A6BF PRG:26BF 19 99 19 98 19 99 09 98 09 99 07 98 07 99 15 98 - .byte $15, $99, $15, $98, $15, $99, $15, $98, $15, $99, $15, $98, $15, $99, $15, $98 ; CPU:$A6CF PRG:26CF 15 99 15 98 15 99 15 98 15 99 15 98 15 99 15 98 - .byte $15, $99, $15, $98, $15, $99, $15, $98, $15, $99, $05, $98, $05, $99, $04, $98 ; CPU:$A6DF PRG:26DF 15 99 15 98 15 99 15 98 15 99 05 98 05 99 04 98 - .byte $04, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98 ; CPU:$A6EF PRG:26EF 04 99 12 98 12 99 12 98 12 99 12 98 12 99 12 98 - .byte $12, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98 ; CPU:$A6FF PRG:26FF 12 99 12 98 12 99 12 98 12 99 12 98 12 99 12 98 - .byte $12, $14, $14, $14, $34, $14, $04, $04, $14, $15, $15, $15, $17, $17, $17, $17 ; CPU:$A70F PRG:270F 12 14 14 14 34 14 04 04 14 15 15 15 17 17 17 17 - .byte $1F, $83, $02, $99, $09, $09, $09, $09, $98, $09, $09, $09, $09, $99, $09, $09 ; CPU:$A71F PRG:271F 1F 83 02 99 09 09 09 09 98 09 09 09 09 99 09 09 - .byte $09, $09, $98, $09, $09, $09, $09, $84, $83, $02, $99, $05, $05, $05, $05, $98 ; CPU:$A72F PRG:272F 09 09 98 09 09 09 09 84 83 02 99 05 05 05 05 98 - .byte $05, $05, $05, $05, $99, $05, $05, $05, $05, $98, $05, $05, $05, $05, $84, $99 ; CPU:$A73F PRG:273F 05 05 05 05 99 05 05 05 05 98 05 05 05 05 84 99 - .byte $02, $02, $02, $02, $98, $02, $02, $02, $02, $99, $02, $02, $02, $02, $98, $02 ; CPU:$A74F PRG:274F 02 02 02 02 98 02 02 02 02 99 02 02 02 02 98 02 - .byte $02, $02, $02, $99, $02, $02, $02, $02, $98, $02, $02, $02, $02, $99, $12, $98 ; CPU:$A75F PRG:275F 02 02 02 99 02 02 02 02 98 02 02 02 02 99 12 98 - .byte $12, $99, $12, $98, $12, $99, $14, $98, $14, $99, $14, $98, $14, $99, $14, $98 ; CPU:$A76F PRG:276F 12 99 12 98 12 99 14 98 14 99 14 98 14 99 14 98 - .byte $14, $99, $14, $98, $14, $99, $24, $98, $04, $99, $14, $14, $14, $15, $15, $17 ; CPU:$A77F PRG:277F 14 99 14 98 14 99 24 98 04 99 14 14 14 15 15 17 - .byte $81, $79, $A6, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $95, $03, $97, $A6 ; CPU:$A78F PRG:278F 81 79 A6 93 05 0A 0F 14 1E 28 3C 50 95 03 97 A6 - .byte $83, $04, $3F, $3F, $3F, $A4, $3F, $84, $83, $02, $3F, $A4, $5F, $A4, $3F, $84 ; CPU:$A79F PRG:279F 83 04 3F 3F 3F A4 3F 84 83 02 3F A4 5F A4 3F 84 - .byte $83, $02, $3F, $A4, $3F, $1F, $A4, $1F, $A4, $3F, $84, $83, $06, $3F, $A4, $5F ; CPU:$A7AF PRG:27AF 83 02 3F A4 3F 1F A4 1F A4 3F 84 83 06 3F A4 5F - .byte $A4, $3F, $84, $1F, $A4, $3F, $A4, $3F, $A4, $1F, $A4, $0F, $A4, $0F, $A4, $1F ; CPU:$A7BF PRG:27BF A4 3F 84 1F A4 3F A4 3F A4 1F A4 0F A4 0F A4 1F - .byte $1F, $A4, $3F, $A4, $3F, $A4, $3F, $A4, $1F, $83, $03, $3F, $A4, $5F, $A4, $3F ; CPU:$A7CF PRG:27CF 1F A4 3F A4 3F A4 3F A4 1F 83 03 3F A4 5F A4 3F - .byte $3F, $A4, $3F, $1F, $A4, $1F, $A4, $3F, $84, $3F, $A4, $5F, $A4, $3F, $1F, $A4 ; CPU:$A7DF PRG:27DF 3F A4 3F 1F A4 1F A4 3F 84 3F A4 5F A4 3F 1F A4 - .byte $1F, $A4, $1F, $A4, $1F, $A4, $1F, $A4, $1F, $A4, $1F, $A4, $1F, $81, $9B, $A7 ; CPU:$A7EF PRG:27EF 1F A4 1F A4 1F A4 1F A4 1F A4 1F A4 1F 81 9B A7 - .byte $40, $47, $A8, $FF, $FF, $FF, $40, $6B, $A8, $FF, $FF, $FF, $40, $7F, $A8, $FF ; CPU:$A7FF PRG:27FF 40 47 A8 FF FF FF 40 6B A8 FF FF FF 40 7F A8 FF - .byte $FF, $FF, $40, $C0, $A8, $FF, $FF, $FF, $40, $AF, $A8, $FF, $FF, $FF, $40, $FC ; CPU:$A80F PRG:280F FF FF 40 C0 A8 FF FF FF 40 AF A8 FF FF FF 40 FC - .byte $A8, $FF, $FF, $FF, $40, $2B, $A9, $FF, $FF, $FF, $40, $0D, $A9, $FF, $FF, $FF ; CPU:$A81F PRG:281F A8 FF FF FF 40 2B A9 FF FF FF 40 0D A9 FF FF FF - .byte $40, $53, $A9, $FF, $FF, $FF, $40, $7E, $A9, $FF, $FF, $FF, $40, $CB, $A9, $FF ; CPU:$A82F PRG:282F 40 53 A9 FF FF FF 40 7E A9 FF FF FF 40 CB A9 FF - .byte $FF, $FF, $40, $AE, $A9, $FF, $FF, $FF, $88, $20, $85, $90, $86, $20, $87, $00 ; CPU:$A83F PRG:283F FF FF 40 AE A9 FF FF FF 88 20 85 90 86 20 87 00 - .byte $01, $C0, $C0, $01, $00, $00, $00, $8D, $2C, $08, $03, $88, $00, $A7, $A0, $A3 ; CPU:$A84F PRG:284F 01 C0 C0 01 00 00 00 8D 2C 08 03 88 00 A7 A0 A3 - .byte $C0, $A3, $00, $01, $C2, $C2, $01, $00, $00, $00, $0C, $86, $88, $00, $D5, $08 ; CPU:$A85F PRG:285F C0 A3 00 01 C2 C2 01 00 00 00 0C 86 88 00 D5 08 - .byte $D5, $80, $D2, $01, $0D, $C1, $C1, $02, $5A, $D0, $00, $8D, $2C, $08, $12, $86 ; CPU:$A86F PRG:286F D5 80 D2 01 0D C1 C1 02 5A D0 00 8D 2C 08 12 86 - .byte $88, $80, $04, $00, $00, $00, $00, $3F, $09, $7F, $00, $00, $57, $00, $00, $8D ; CPU:$A87F PRG:287F 88 80 04 00 00 00 00 3F 09 7F 00 00 57 00 00 8D - .byte $2C, $08, $83, $05, $00, $91, $08, $91, $06, $84, $88, $00, $03, $00, $00, $00 ; CPU:$A88F PRG:288F 2C 08 83 05 00 91 08 91 06 84 88 00 03 00 00 00 - .byte $00, $00, $01, $7F, $00, $00, $00, $00, $00, $83, $0C, $01, $91, $08, $84, $86 ; CPU:$A89F PRG:289F 00 00 01 7F 00 00 00 00 00 83 0C 01 91 08 84 86 - .byte $88, $F0, $B0, $71, $B0, $70, $B0, $00, $01, $02, $02, $07, $00, $00, $00, $18 ; CPU:$A8AF PRG:28AF 88 F0 B0 71 B0 70 B0 00 01 02 02 07 00 00 00 18 - .byte $86, $88, $00, $04, $00, $00, $00, $02, $00, $05, $7F, $00, $80, $00, $00, $00 ; CPU:$A8BF PRG:28BF 86 88 00 04 00 00 00 02 00 05 7F 00 80 00 00 00 - .byte $8D, $2C, $08, $83, $06, $00, $8F, $00, $80, $8F, $04, $40, $84, $83, $06, $00 ; CPU:$A8CF PRG:28CF 8D 2C 08 83 06 00 8F 00 80 8F 04 40 84 83 06 00 - .byte $90, $00, $80, $90, $04, $40, $84, $88, $00, $06, $00, $00, $00, $00, $00, $01 ; CPU:$A8DF PRG:28DF 90 00 80 90 04 40 84 88 00 06 00 00 00 00 00 01 - .byte $7F, $00, $00, $00, $00, $00, $83, $0F, $01, $91, $08, $84, $86, $88, $70, $B0 ; CPU:$A8EF PRG:28EF 7F 00 00 00 00 00 83 0F 01 91 08 84 86 88 70 B0 - .byte $71, $B0, $35, $B0, $00, $01, $02, $02, $07, $00, $00, $00, $18, $86, $88, $00 ; CPU:$A8FF PRG:28FF 71 B0 35 B0 00 01 02 02 07 00 00 00 18 86 88 00 - .byte $00, $00, $00, $00, $00, $34, $08, $00, $00, $00, $5D, $00, $00, $83, $0B, $03 ; CPU:$A90F PRG:290F 00 00 00 00 00 34 08 00 00 00 5D 00 00 83 0B 03 - .byte $92, $06, $84, $83, $0B, $03, $91, $06, $84, $81, $1C, $A9, $88, $00, $00, $00 ; CPU:$A91F PRG:291F 92 06 84 83 0B 03 91 06 84 81 1C A9 88 00 00 00 - .byte $00, $00, $00, $3F, $08, $00, $00, $00, $5A, $00, $00, $04, $88, $00, $00, $00 ; CPU:$A92F PRG:292F 00 00 00 3F 08 00 00 00 5A 00 00 04 88 00 00 00 - .byte $00, $00, $00, $3F, $08, $00, $00, $00, $4C, $00, $00, $83, $07, $00, $91, $06 ; CPU:$A93F PRG:293F 00 00 00 3F 08 00 00 00 4C 00 00 83 07 00 91 06 - .byte $91, $06, $84, $86, $83, $03, $88, $00, $00, $80, $00, $80, $00, $00, $06, $00 ; CPU:$A94F PRG:294F 91 06 84 86 83 03 88 00 00 80 00 80 00 00 06 00 - .byte $BF, $8F, $00, $00, $00, $03, $8D, $09, $B0, $8D, $0A, $80, $03, $84, $88, $00 ; CPU:$A95F PRG:295F BF 8F 00 00 00 03 8D 09 B0 8D 0A 80 03 84 88 00 - .byte $00, $40, $00, $40, $00, $00, $06, $00, $BF, $8F, $00, $00, $00, $0A, $86, $88 ; CPU:$A96F PRG:296F 00 40 00 40 00 00 06 00 BF 8F 00 00 00 0A 86 88 - .byte $80, $01, $00, $00, $00, $00, $3F, $09, $7F, $00, $00, $57, $00, $00, $83, $08 ; CPU:$A97F PRG:297F 80 01 00 00 00 00 3F 09 7F 00 00 57 00 00 83 08 - .byte $00, $91, $08, $91, $06, $84, $88, $80, $02, $00, $00, $00, $00, $00, $01, $7F ; CPU:$A98F PRG:298F 00 91 08 91 06 84 88 80 02 00 00 00 00 00 01 7F - .byte $00, $00, $00, $00, $00, $8D, $2C, $08, $83, $0C, $00, $91, $08, $84, $86, $88 ; CPU:$A99F PRG:299F 00 00 00 00 00 8D 2C 08 83 0C 00 91 08 84 86 88 - .byte $D0, $00, $00, $00, $00, $00, $3F, $09, $7F, $00, $00, $59, $00, $00, $83, $06 ; CPU:$A9AF PRG:29AF D0 00 00 00 00 00 3F 09 7F 00 00 59 00 00 83 06 - .byte $01, $91, $06, $92, $0B, $90, $00, $48, $91, $08, $84, $86, $88, $00, $00, $00 ; CPU:$A9BF PRG:29BF 01 91 06 92 0B 90 00 48 91 08 84 86 88 00 00 00 - .byte $00, $00, $00, $3F, $08, $00, $00, $00, $58, $00, $00, $83, $12, $00, $92, $0B ; CPU:$A9CF PRG:29CF 00 00 00 3F 08 00 00 00 58 00 00 83 12 00 92 0B - .byte $84, $86, $00, $54, $F0, $04, $81, $54, $F0, $04, $81, $54, $F0, $03, $81, $4F ; CPU:$A9DF PRG:29DF 84 86 00 54 F0 04 81 54 F0 04 81 54 F0 03 81 4F - .byte $F0, $04 ; CPU:$A9EF PRG:29EF F0 04 +WrestlerMovementData: + .byte $B8, $06, $58, $06, $FA, $05, $A4, $05, $54, $05, $14, $05, $BE, $04, $79, $04 ; CPU:$A377 PRG:-1C89 B8 06 58 06 FA 05 A4 05 54 05 14 05 BE 04 79 04 + .byte $3A, $04, $FC, $03, $C2, $03, $88, $03, $59, $03, $2B, $03, $FB, $02, $D0, $02 ; CPU:$A387 PRG:2387 3A 04 FC 03 C2 03 88 03 59 03 2B 03 FB 02 D0 02 + .byte $A6, $02, $81, $02, $5C, $02, $3C, $02, $1A, $02, $FE, $01, $DF, $01, $C6, $01 ; CPU:$A397 PRG:2397 A6 02 81 02 5C 02 3C 02 1A 02 FE 01 DF 01 C6 01 + .byte $AB, $01, $92, $01, $76, $01, $67, $01, $53, $01, $40, $01, $2E, $01, $1D, $01 ; CPU:$A3A7 PRG:23A7 AB 01 92 01 76 01 67 01 53 01 40 01 2E 01 1D 01 + .byte $0D, $01, $FE, $00, $EF, $00, $E2, $00, $D5, $00, $C9, $00, $BE, $00, $B3, $00 ; CPU:$A3B7 PRG:23B7 0D 01 FE 00 EF 00 E2 00 D5 00 C9 00 BE 00 B3 00 + .byte $A9, $00, $9F, $00, $96, $00, $8E, $00, $86, $00, $7E, $00, $78, $00, $70, $00 ; CPU:$A3C7 PRG:23C7 A9 00 9F 00 96 00 8E 00 86 00 7E 00 78 00 70 00 + .byte $6A, $00, $64, $00, $5E, $00, $59, $00, $54, $00, $4F, $00, $4B, $00, $47, $00 ; CPU:$A3D7 PRG:23D7 6A 00 64 00 5E 00 59 00 54 00 4F 00 4B 00 47 00 + .byte $42, $00, $3F, $00, $3B, $00, $38, $00, $35, $00, $33, $00, $30, $00, $2D, $00 ; CPU:$A3E7 PRG:23E7 42 00 3F 00 3B 00 38 00 35 00 33 00 30 00 2D 00 + .byte $2A, $00, $28, $00, $26, $00, $24, $00, $22, $00, $20, $00, $1E, $00, $1C, $00 ; CPU:$A3F7 PRG:23F7 2A 00 28 00 26 00 24 00 22 00 20 00 1E 00 1C 00 + .byte $E1, $A9, $FF, $A7, $05, $A8, $0B, $A8, $11, $A8, $17, $A8, $1D, $A8, $23, $A8 ; CPU:$A407 PRG:2407 E1 A9 FF A7 05 A8 0B A8 11 A8 17 A8 1D A8 23 A8 + .byte $29, $A8, $39, $A4, $41, $A4, $49, $A4, $51, $A4, $2F, $A8, $35, $A8, $3B, $A8 ; CPU:$A417 PRG:2417 29 A8 39 A4 41 A4 49 A4 51 A4 2F A8 35 A8 3B A8 + .byte $41, $A8, $04, $08, $0C, $10, $18, $20, $28, $40, $05, $0A, $0F, $14, $1E, $28 ; CPU:$A427 PRG:2427 41 A8 04 08 0C 10 18 20 28 40 05 0A 0F 14 1E 28 + .byte $3C, $50, $80, $00, $A6, $A4, $59, $A4, $82, $A4, $80, $00, $6D, $A5, $C9, $A4 ; CPU:$A437 PRG:2437 3C 50 80 00 A6 A4 59 A4 82 A4 80 00 6D A5 C9 A4 + .byte $15, $A5, $80, $00, $DC, $A5, $84, $A5, $A8, $A5, $80, $00, $70, $A6, $FC, $A5 ; CPU:$A447 PRG:2447 15 A5 80 00 DC A5 84 A5 A8 A5 80 00 70 A6 FC A5 + .byte $92, $A7, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $0C, $96 ; CPU:$A457 PRG:2457 92 A7 93 05 0A 0F 14 1E 28 3C 50 94 18 95 0C 96 + .byte $A0, $9C, $47, $1F, $04, $05, $07, $04, $3B, $98, $50, $55, $04, $02, $00, $99 ; CPU:$A467 PRG:2467 A0 9C 47 1F 04 05 07 04 3B 98 50 55 04 02 00 99 + .byte $0B, $98, $54, $02, $00, $99, $0B, $98, $00, $50, $9A, $93, $05, $0A, $0F, $14 ; CPU:$A477 PRG:2477 0B 98 54 02 00 99 0B 98 00 50 9A 93 05 0A 0F 14 + .byte $1E, $28, $3C, $50, $94, $18, $95, $0C, $97, $A0, $9E, $10, $0F, $00, $30, $30 ; CPU:$A487 PRG:2487 1E 28 3C 50 94 18 95 0C 97 A0 9E 10 0F 00 30 30 + .byte $99, $19, $0F, $09, $39, $39, $35, $35, $35, $37, $37, $98, $37, $50, $9A, $93 ; CPU:$A497 PRG:2497 99 19 0F 09 39 39 35 35 35 37 37 98 37 50 9A 93 + .byte $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $0C, $A6, $83, $02, $3F ; CPU:$A4A7 PRG:24A7 05 0A 0F 14 1E 28 3C 50 94 18 95 0C A6 83 02 3F + .byte $A3, $3F, $A3, $3F, $84, $83, $02, $A3, $1F, $0F, $A3, $0F, $A3, $5F, $84, $A3 ; CPU:$A4B7 PRG:24B7 A3 3F A3 3F 84 83 02 A3 1F 0F A3 0F A3 5F 84 A3 + .byte $5F, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $08, $94, $18, $95, $0C, $96 ; CPU:$A4C7 PRG:24C7 5F 9A 93 05 0A 0F 14 1E 28 3C 08 94 18 95 0C 96 + .byte $A0, $9C, $98, $47, $16, $45, $14, $12, $10, $99, $1B, $19, $17, $0F, $98, $00 ; CPU:$A4D7 PRG:24D7 A0 9C 98 47 16 45 14 12 10 99 1B 19 17 0F 98 00 + .byte $99, $2B, $98, $00, $22, $00, $44, $0F, $00, $99, $2B, $98, $00, $22, $00, $44 ; CPU:$A4E7 PRG:24E7 99 2B 98 00 22 00 44 0F 00 99 2B 98 00 22 00 44 + .byte $0F, $00, $99, $2B, $98, $00, $12, $3F, $99, $17, $17, $1F, $19, $1B, $98, $00 ; CPU:$A4F7 PRG:24F7 0F 00 99 2B 98 00 12 3F 99 17 17 1F 19 1B 98 00 + .byte $99, $07, $04, $00, $99, $07, $98, $00, $04, $07, $98, $30, $3F, $9A, $93, $05 ; CPU:$A507 PRG:2507 99 07 04 00 99 07 98 00 04 07 98 30 3F 9A 93 05 + .byte $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $0C, $96, $A0, $9D, $17, $98 ; CPU:$A517 PRG:2517 0A 0F 14 1E 28 3C 50 94 18 95 0C 96 A0 9D 17 98 + .byte $47, $99, $17, $98, $47, $99, $17, $98, $17, $99, $17, $98, $17, $99, $17, $1F ; CPU:$A527 PRG:2527 47 99 17 98 47 99 17 98 17 99 17 98 17 99 17 1F + .byte $1F, $1F, $98, $20, $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $20 ; CPU:$A537 PRG:2537 1F 1F 98 20 98 00 99 20 98 00 99 20 98 00 99 20 + .byte $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $20, $98, $00, $99, $20 ; CPU:$A547 PRG:2547 98 00 99 20 98 00 99 20 98 00 99 20 98 00 99 20 + .byte $98, $00, $99, $99, $17, $98, $17, $12, $17, $99, $17, $98, $17, $12, $17, $10 ; CPU:$A557 PRG:2557 98 00 99 99 17 98 17 12 17 99 17 98 17 12 17 10 + .byte $17, $14, $17, $30, $3F, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $08, $94 ; CPU:$A567 PRG:2567 17 14 17 30 3F 9A 93 05 0A 0F 14 1E 28 3C 08 94 + .byte $0C, $95, $09, $A6, $83, $06, $3F, $A3, $5F, $A3, $3F, $84, $9A, $93, $05, $0A ; CPU:$A577 PRG:2577 0C 95 09 A6 83 06 3F A3 5F A3 3F 84 9A 93 05 0A + .byte $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $0F, $96, $A0, $9C, $19, $15, $19 ; CPU:$A587 PRG:2587 0F 14 1E 28 3C 50 94 18 95 0F 96 A0 9C 19 15 19 + .byte $3B, $37, $1B, $98, $60, $3F, $99, $19, $15, $19, $3B, $37, $1B, $98, $60, $3F ; CPU:$A597 PRG:2597 3B 37 1B 98 60 3F 99 19 15 19 3B 37 1B 98 60 3F + .byte $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18, $95, $04, $97, $A0 ; CPU:$A5A7 PRG:25A7 9A 93 05 0A 0F 14 1E 28 3C 50 94 18 95 04 97 A0 + .byte $9E, $35, $35, $37, $37, $98, $30, $30, $30, $30, $99, $99, $15, $98, $15, $99 ; CPU:$A5B7 PRG:25B7 9E 35 35 37 37 98 30 30 30 30 99 99 15 98 15 99 + .byte $15, $98, $15, $99, $17, $98, $17, $99, $17, $98, $17, $10, $98, $10, $99, $10 ; CPU:$A5C7 PRG:25C7 15 98 15 99 17 98 17 99 17 98 17 10 98 10 99 10 + .byte $98, $10, $99, $30, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $18 ; CPU:$A5D7 PRG:25D7 98 10 99 30 9A 93 05 0A 0F 14 1E 28 3C 50 94 18 + .byte $95, $09, $A6, $3F, $A3, $5F, $A3, $3F, $3F, $A3, $5F, $A3, $3F, $83, $06, $1F ; CPU:$A5E7 PRG:25E7 95 09 A6 3F A3 5F A3 3F 3F A3 5F A3 3F 83 06 1F + .byte $A3, $1F, $84, $1F, $9A, $93, $05, $0A, $0F, $14, $1E, $28, $3C, $50, $94, $09 ; CPU:$A5F7 PRG:25F7 A3 1F 84 1F 9A 93 05 0A 0F 14 1E 28 3C 50 94 09 + .byte $95, $05, $96, $A0, $9C, $64, $39, $98, $60, $00, $99, $0B, $09, $07, $65, $39 ; CPU:$A607 PRG:2607 95 05 96 A0 9C 64 39 98 60 00 99 0B 09 07 65 39 + .byte $98, $60, $00, $99, $0B, $09, $07, $64, $39, $98, $30, $99, $3B, $19, $47, $65 ; CPU:$A617 PRG:2617 98 60 00 99 0B 09 07 64 39 98 30 99 3B 19 47 65 + .byte $39, $98, $30, $99, $3B, $19, $47, $83, $02, $29, $09, $17, $19, $1F, $04, $0F ; CPU:$A627 PRG:2627 39 98 30 99 3B 19 47 83 02 29 09 17 19 1F 04 0F + .byte $04, $1F, $0F, $84, $83, $02, $29, $09, $17, $19, $1F, $05, $0F, $05, $1F, $0F ; CPU:$A637 PRG:2637 04 1F 0F 84 83 02 29 09 17 19 1F 05 0F 05 1F 0F + .byte $84, $83, $02, $29, $09, $17, $19, $1F, $02, $0F, $02, $1F, $0F, $84, $74, $45 ; CPU:$A647 PRG:2647 84 83 02 29 09 17 19 1F 02 0F 02 1F 0F 84 74 45 + .byte $A1, $17, $57, $A1, $79, $59, $39, $37, $A1, $75, $55, $35, $34, $A1, $72, $52 ; CPU:$A657 PRG:2657 A1 17 57 A1 79 59 39 37 A1 75 55 35 34 A1 72 52 + .byte $32, $34, $74, $44, $45, $37, $81, $05, $A6, $93, $05, $0A, $0F, $14, $1E, $28 ; CPU:$A667 PRG:2667 32 34 74 44 45 37 81 05 A6 93 05 0A 0F 14 1E 28 + .byte $3C, $50, $94, $09, $95, $05, $96, $A0, $9E, $83, $02, $19, $19, $19, $19, $19 ; CPU:$A677 PRG:2677 3C 50 94 09 95 05 96 A0 9E 83 02 19 19 19 19 19 + .byte $98, $19, $99, $19, $19, $19, $19, $19, $19, $19, $17, $1F, $A1, $15, $15, $15 ; CPU:$A687 PRG:2687 98 19 99 19 19 19 19 19 19 19 17 1F A1 15 15 15 + .byte $15, $15, $15, $98, $15, $99, $15, $15, $15, $15, $15, $15, $15, $17, $1F, $A1 ; CPU:$A697 PRG:2697 15 15 15 98 15 99 15 15 15 15 15 15 15 17 1F A1 + .byte $19, $84, $19, $98, $19, $99, $19, $98, $19, $99, $19, $98, $19, $99, $19, $98 ; CPU:$A6A7 PRG:26A7 19 84 19 98 19 99 19 98 19 99 19 98 19 99 19 98 + .byte $19, $99, $19, $98, $19, $99, $19, $98, $19, $99, $19, $98, $19, $99, $09, $98 ; CPU:$A6B7 PRG:26B7 19 99 19 98 19 99 19 98 19 99 19 98 19 99 09 98 + .byte $09, $99, $07, $98, $07, $99, $15, $98, $15, $99, $15, $98, $15, $99, $15, $98 ; CPU:$A6C7 PRG:26C7 09 99 07 98 07 99 15 98 15 99 15 98 15 99 15 98 + .byte $15, $99, $15, $98, $15, $99, $15, $98, $15, $99, $15, $98, $15, $99, $15, $98 ; CPU:$A6D7 PRG:26D7 15 99 15 98 15 99 15 98 15 99 15 98 15 99 15 98 + .byte $15, $99, $05, $98, $05, $99, $04, $98, $04, $99, $12, $98, $12, $99, $12, $98 ; CPU:$A6E7 PRG:26E7 15 99 05 98 05 99 04 98 04 99 12 98 12 99 12 98 + .byte $12, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98, $12, $99, $12, $98 ; CPU:$A6F7 PRG:26F7 12 99 12 98 12 99 12 98 12 99 12 98 12 99 12 98 + .byte $12, $99, $12, $98, $12, $99, $12, $98, $12, $14, $14, $14, $34, $14, $04, $04 ; CPU:$A707 PRG:2707 12 99 12 98 12 99 12 98 12 14 14 14 34 14 04 04 + .byte $14, $15, $15, $15, $17, $17, $17, $17, $1F, $83, $02, $99, $09, $09, $09, $09 ; CPU:$A717 PRG:2717 14 15 15 15 17 17 17 17 1F 83 02 99 09 09 09 09 + .byte $98, $09, $09, $09, $09, $99, $09, $09, $09, $09, $98, $09, $09, $09, $09, $84 ; CPU:$A727 PRG:2727 98 09 09 09 09 99 09 09 09 09 98 09 09 09 09 84 + .byte $83, $02, $99, $05, $05, $05, $05, $98, $05, $05, $05, $05, $99, $05, $05, $05 ; CPU:$A737 PRG:2737 83 02 99 05 05 05 05 98 05 05 05 05 99 05 05 05 + .byte $05, $98, $05, $05, $05, $05, $84, $99, $02, $02, $02, $02, $98, $02, $02, $02 ; CPU:$A747 PRG:2747 05 98 05 05 05 05 84 99 02 02 02 02 98 02 02 02 + .byte $02, $99, $02, $02, $02, $02, $98, $02, $02, $02, $02, $99, $02, $02, $02, $02 ; CPU:$A757 PRG:2757 02 99 02 02 02 02 98 02 02 02 02 99 02 02 02 02 + .byte $98, $02, $02, $02, $02, $99, $12, $98, $12, $99, $12, $98, $12, $99, $14, $98 ; CPU:$A767 PRG:2767 98 02 02 02 02 99 12 98 12 99 12 98 12 99 14 98 + .byte $14, $99, $14, $98, $14, $99, $14, $98, $14, $99, $14, $98, $14, $99, $24, $98 ; CPU:$A777 PRG:2777 14 99 14 98 14 99 14 98 14 99 14 98 14 99 24 98 + .byte $04, $99, $14, $14, $14, $15, $15, $17, $81, $79, $A6, $93, $05, $0A, $0F, $14 ; CPU:$A787 PRG:2787 04 99 14 14 14 15 15 17 81 79 A6 93 05 0A 0F 14 + .byte $1E, $28, $3C, $50, $95, $03, $97, $A6, $83, $04, $3F, $3F, $3F, $A4, $3F, $84 ; CPU:$A797 PRG:2797 1E 28 3C 50 95 03 97 A6 83 04 3F 3F 3F A4 3F 84 + .byte $83, $02, $3F, $A4, $5F, $A4, $3F, $84, $83, $02, $3F, $A4, $3F, $1F, $A4, $1F ; CPU:$A7A7 PRG:27A7 83 02 3F A4 5F A4 3F 84 83 02 3F A4 3F 1F A4 1F + .byte $A4, $3F, $84, $83, $06, $3F, $A4, $5F, $A4, $3F, $84, $1F, $A4, $3F, $A4, $3F ; CPU:$A7B7 PRG:27B7 A4 3F 84 83 06 3F A4 5F A4 3F 84 1F A4 3F A4 3F + .byte $A4, $1F, $A4, $0F, $A4, $0F, $A4, $1F, $1F, $A4, $3F, $A4, $3F, $A4, $3F, $A4 ; CPU:$A7C7 PRG:27C7 A4 1F A4 0F A4 0F A4 1F 1F A4 3F A4 3F A4 3F A4 + .byte $1F, $83, $03, $3F, $A4, $5F, $A4, $3F, $3F, $A4, $3F, $1F, $A4, $1F, $A4, $3F ; CPU:$A7D7 PRG:27D7 1F 83 03 3F A4 5F A4 3F 3F A4 3F 1F A4 1F A4 3F + .byte $84, $3F, $A4, $5F, $A4, $3F, $1F, $A4, $1F, $A4, $1F, $A4, $1F, $A4, $1F, $A4 ; CPU:$A7E7 PRG:27E7 84 3F A4 5F A4 3F 1F A4 1F A4 1F A4 1F A4 1F A4 + .byte $1F, $A4, $1F, $A4, $1F, $81, $9B, $A7, $40, $47, $A8, $FF, $FF, $FF, $40, $6B ; CPU:$A7F7 PRG:27F7 1F A4 1F A4 1F 81 9B A7 40 47 A8 FF FF FF 40 6B + .byte $A8, $FF, $FF, $FF, $40, $7F, $A8, $FF, $FF, $FF, $40, $C0, $A8, $FF, $FF, $FF ; CPU:$A807 PRG:2807 A8 FF FF FF 40 7F A8 FF FF FF 40 C0 A8 FF FF FF + .byte $40, $AF, $A8, $FF, $FF, $FF, $40, $FC, $A8, $FF, $FF, $FF, $40, $2B, $A9, $FF ; CPU:$A817 PRG:2817 40 AF A8 FF FF FF 40 FC A8 FF FF FF 40 2B A9 FF + .byte $FF, $FF, $40, $0D, $A9, $FF, $FF, $FF, $40, $53, $A9, $FF, $FF, $FF, $40, $7E ; CPU:$A827 PRG:2827 FF FF 40 0D A9 FF FF FF 40 53 A9 FF FF FF 40 7E + .byte $A9, $FF, $FF, $FF, $40, $CB, $A9, $FF, $FF, $FF, $40, $AE, $A9, $FF, $FF, $FF ; CPU:$A837 PRG:2837 A9 FF FF FF 40 CB A9 FF FF FF 40 AE A9 FF FF FF + .byte $88, $20, $85, $90, $86, $20, $87, $00, $01, $C0, $C0, $01, $00, $00, $00, $8D ; CPU:$A847 PRG:2847 88 20 85 90 86 20 87 00 01 C0 C0 01 00 00 00 8D + .byte $2C, $08, $03, $88, $00, $A7, $A0, $A3, $C0, $A3, $00, $01, $C2, $C2, $01, $00 ; CPU:$A857 PRG:2857 2C 08 03 88 00 A7 A0 A3 C0 A3 00 01 C2 C2 01 00 + .byte $00, $00, $0C, $86, $88, $00, $D5, $08, $D5, $80, $D2, $01, $0D, $C1, $C1, $02 ; CPU:$A867 PRG:2867 00 00 0C 86 88 00 D5 08 D5 80 D2 01 0D C1 C1 02 + .byte $5A, $D0, $00, $8D, $2C, $08, $12, $86, $88, $80, $04, $00, $00, $00, $00, $3F ; CPU:$A877 PRG:2877 5A D0 00 8D 2C 08 12 86 88 80 04 00 00 00 00 3F + .byte $09, $7F, $00, $00, $57, $00, $00, $8D, $2C, $08, $83, $05, $00, $91, $08, $91 ; CPU:$A887 PRG:2887 09 7F 00 00 57 00 00 8D 2C 08 83 05 00 91 08 91 + .byte $06, $84, $88, $00, $03, $00, $00, $00, $00, $00, $01, $7F, $00, $00, $00, $00 ; CPU:$A897 PRG:2897 06 84 88 00 03 00 00 00 00 00 01 7F 00 00 00 00 + .byte $00, $83, $0C, $01, $91, $08, $84, $86, $88, $F0, $B0, $71, $B0, $70, $B0, $00 ; CPU:$A8A7 PRG:28A7 00 83 0C 01 91 08 84 86 88 F0 B0 71 B0 70 B0 00 + .byte $01, $02, $02, $07, $00, $00, $00, $18, $86, $88, $00, $04, $00, $00, $00, $02 ; CPU:$A8B7 PRG:28B7 01 02 02 07 00 00 00 18 86 88 00 04 00 00 00 02 + .byte $00, $05, $7F, $00, $80, $00, $00, $00, $8D, $2C, $08, $83, $06, $00, $8F, $00 ; CPU:$A8C7 PRG:28C7 00 05 7F 00 80 00 00 00 8D 2C 08 83 06 00 8F 00 + .byte $80, $8F, $04, $40, $84, $83, $06, $00, $90, $00, $80, $90, $04, $40, $84, $88 ; CPU:$A8D7 PRG:28D7 80 8F 04 40 84 83 06 00 90 00 80 90 04 40 84 88 + .byte $00, $06, $00, $00, $00, $00, $00, $01, $7F, $00, $00, $00, $00, $00, $83, $0F ; CPU:$A8E7 PRG:28E7 00 06 00 00 00 00 00 01 7F 00 00 00 00 00 83 0F + .byte $01, $91, $08, $84, $86, $88, $70, $B0, $71, $B0, $35, $B0, $00, $01, $02, $02 ; CPU:$A8F7 PRG:28F7 01 91 08 84 86 88 70 B0 71 B0 35 B0 00 01 02 02 + .byte $07, $00, $00, $00, $18, $86, $88, $00, $00, $00, $00, $00, $00, $34, $08, $00 ; CPU:$A907 PRG:2907 07 00 00 00 18 86 88 00 00 00 00 00 00 34 08 00 + .byte $00, $00, $5D, $00, $00, $83, $0B, $03, $92, $06, $84, $83, $0B, $03, $91, $06 ; CPU:$A917 PRG:2917 00 00 5D 00 00 83 0B 03 92 06 84 83 0B 03 91 06 + .byte $84, $81, $1C, $A9, $88, $00, $00, $00, $00, $00, $00, $3F, $08, $00, $00, $00 ; CPU:$A927 PRG:2927 84 81 1C A9 88 00 00 00 00 00 00 3F 08 00 00 00 + .byte $5A, $00, $00, $04, $88, $00, $00, $00, $00, $00, $00, $3F, $08, $00, $00, $00 ; CPU:$A937 PRG:2937 5A 00 00 04 88 00 00 00 00 00 00 3F 08 00 00 00 + .byte $4C, $00, $00, $83, $07, $00, $91, $06, $91, $06, $84, $86, $83, $03, $88, $00 ; CPU:$A947 PRG:2947 4C 00 00 83 07 00 91 06 91 06 84 86 83 03 88 00 + .byte $00, $80, $00, $80, $00, $00, $06, $00, $BF, $8F, $00, $00, $00, $03, $8D, $09 ; CPU:$A957 PRG:2957 00 80 00 80 00 00 06 00 BF 8F 00 00 00 03 8D 09 + .byte $B0, $8D, $0A, $80, $03, $84, $88, $00, $00, $40, $00, $40, $00, $00, $06, $00 ; CPU:$A967 PRG:2967 B0 8D 0A 80 03 84 88 00 00 40 00 40 00 00 06 00 + .byte $BF, $8F, $00, $00, $00, $0A, $86, $88, $80, $01, $00, $00, $00, $00, $3F, $09 ; CPU:$A977 PRG:2977 BF 8F 00 00 00 0A 86 88 80 01 00 00 00 00 3F 09 + .byte $7F, $00, $00, $57, $00, $00, $83, $08, $00, $91, $08, $91, $06, $84, $88, $80 ; CPU:$A987 PRG:2987 7F 00 00 57 00 00 83 08 00 91 08 91 06 84 88 80 + .byte $02, $00, $00, $00, $00, $00, $01, $7F, $00, $00, $00, $00, $00, $8D, $2C, $08 ; CPU:$A997 PRG:2997 02 00 00 00 00 00 01 7F 00 00 00 00 00 8D 2C 08 + .byte $83, $0C, $00, $91, $08, $84, $86, $88, $D0, $00, $00, $00, $00, $00, $3F, $09 ; CPU:$A9A7 PRG:29A7 83 0C 00 91 08 84 86 88 D0 00 00 00 00 00 3F 09 + .byte $7F, $00, $00, $59, $00, $00, $83, $06, $01, $91, $06, $92, $0B, $90, $00, $48 ; CPU:$A9B7 PRG:29B7 7F 00 00 59 00 00 83 06 01 91 06 92 0B 90 00 48 + .byte $91, $08, $84, $86, $88, $00, $00, $00, $00, $00, $00, $3F, $08, $00, $00, $00 ; CPU:$A9C7 PRG:29C7 91 08 84 86 88 00 00 00 00 00 00 3F 08 00 00 00 + .byte $58, $00, $00, $83, $12, $00, $92, $0B, $84, $86, $00, $54, $F0, $04, $81, $54 ; CPU:$A9D7 PRG:29D7 58 00 00 83 12 00 92 0B 84 86 00 54 F0 04 81 54 + .byte $F0, $04, $81, $54, $F0, $03, $81, $4F, $F0, $04 ; CPU:$A9E7 PRG:29E7 F0 04 81 54 F0 03 81 4F F0 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_A9F1 ; Global: Branch target inside Sub: taken when A9F1. @@ -1999,7 +2609,8 @@ Sub_A9F7: ; ---- data $A9FA-$AA1C (35 bytes) ---- ; referenced by `lda $A9FD,x` at $FD8F (operand $A9FD falls inside this region) ; referenced by `lda $A9FE,x` at $FD94 (operand $A9FE falls inside this region) - .byte $4C, $EE, $F2, $7D, $AA, $F0, $AB, $3A, $AC, $48, $AD, $8C, $AD, $0D, $AE, $AE ; CPU:$A9FA PRG:29FA 4C EE F2 7D AA F0 AB 3A AC 48 AD 8C AD 0D AE AE +UnreachedRomData2: + .byte $4C, $EE, $F2, $7D, $AA, $F0, $AB, $3A, $AC, $48, $AD, $8C, $AD, $0D, $AE, $AE ; CPU:$A9FA PRG:-1606 4C EE F2 7D AA F0 AB 3A AC 48 AD 8C AD 0D AE AE .byte $AE, $B4, $B0, $D5, $B0, $2E, $B2, $03, $B3, $82, $B6, $80, $B7, $3D, $B8, $8B ; CPU:$AA0A PRG:2A0A AE B4 B0 D5 B0 2E B2 03 B3 82 B6 80 B7 3D B8 8B .byte $B8, $BE, $B8 ; CPU:$AA1A PRG:2A1A B8 BE B8 ; ----------------------------------------------------------------------------- @@ -2016,25 +2627,25 @@ Sub_AA1D: jsr Sub_9BF3 ; CPU:$AA21 PRG:2A21 20 F3 9B lda Zp73 ; CPU:$AA24 PRG:2A24 A5 73 cmp #$44 ; CPU:$AA26 PRG:2A26 C9 44 - bne Sub_Loop60 ; CPU:$AA28 PRG:2A28 D0 12 + bne Sub_Loop64 ; CPU:$AA28 PRG:2A28 D0 12 lda Zp74 ; CPU:$AA2A PRG:2A2A A5 74 cmp #$45 ; CPU:$AA2C PRG:2A2C C9 45 - bne Sub_Loop60 ; CPU:$AA2E PRG:2A2E D0 0C + bne Sub_Loop64 ; CPU:$AA2E PRG:2A2E D0 0C lda Zp75 ; CPU:$AA30 PRG:2A30 A5 75 cmp #$43 ; CPU:$AA32 PRG:2A32 C9 43 - bne Sub_Loop60 ; CPU:$AA34 PRG:2A34 D0 06 + bne Sub_Loop64 ; CPU:$AA34 PRG:2A34 D0 06 lda Zp76 ; CPU:$AA36 PRG:2A36 A5 76 cmp #$4F ; CPU:$AA38 PRG:2A38 C9 4F - beq Sub_Loop61 ; CPU:$AA3A PRG:2A3A F0 0C + beq Sub_Loop65 ; CPU:$AA3A PRG:2A3A F0 0C ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop60 -; Global: Branch target inside Sub: taken when Loop60. +; Routine: Sub_Loop64 +; Global: Branch target inside Sub: taken when Loop64. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop60: +Sub_Loop64: lda #$05 ; CPU:$AA3C PRG:2A3C A9 05 sta Zp7D ; CPU:$AA3E PRG:2A3E 85 7D lda #$03 ; CPU:$AA40 PRG:2A40 A9 03 @@ -2042,14 +2653,14 @@ Sub_Loop60: lda #$00 ; CPU:$AA44 PRG:2A44 A9 00 sta Zp77 ; CPU:$AA46 PRG:2A46 85 77 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop61 -; Global: Branch target inside Sub: taken when Loop61. +; Routine: Sub_Loop65 +; Global: Branch target inside Sub: taken when Loop65. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop61: +Sub_Loop65: lda #$01 ; CPU:$AA48 PRG:2A48 A9 01 sta Zp83 ; CPU:$AA4A PRG:2A4A 85 83 sta Zp4F ; CPU:$AA4C PRG:2A4C 85 4F @@ -2086,269 +2697,2095 @@ Sub_Loop61: ; ----------------------------------------------------------------------------- Sub_AA7C: rts ; CPU:$AA7C PRG:2A7C 60 -; ---- data $AA7D-$BACE (4178 bytes) ---- - .byte $A9, $00, $85, $10, $85, $0F, $A5, $0D, $09, $02, $85, $0D, $20, $2E, $FD, $20 ; CPU:$AA7D PRG:2A7D A9 00 85 10 85 0F A5 0D 09 02 85 0D 20 2E FD 20 - .byte $1F, $FD, $A2, $AC, $A0, $C6, $A9, $00, $20, $28, $FD, $A2, $AB, $A0, $05, $20 ; CPU:$AA8D PRG:2A8D 1F FD A2 AC A0 C6 A9 00 20 28 FD A2 AB A0 05 20 - .byte $3A, $FD, $A2, $AB, $A0, $48, $20, $3A, $FD, $A2, $AB, $A0, $54, $20, $3A, $FD ; CPU:$AA9D PRG:2A9D 3A FD A2 AB A0 48 20 3A FD A2 AB A0 54 20 3A FD - .byte $A2, $AB, $A0, $6A, $20, $3A, $FD, $A2, $AB, $A0, $72, $20, $3A, $FD, $A2, $AB ; CPU:$AAAD PRG:2AAD A2 AB A0 6A 20 3A FD A2 AB A0 72 20 3A FD A2 AB - .byte $A0, $C4, $20, $3A, $FD, $A2, $AB, $A0, $CC, $20, $C3, $F1, $A5, $77, $29, $20 ; CPU:$AABD PRG:2ABD A0 C4 20 3A FD A2 AB A0 CC 20 C3 F1 A5 77 29 20 - .byte $D0, $0E, $A2, $AB, $A0, $BB, $20, $3A, $FD, $A2, $AB, $A0, $C0, $20, $C3, $F1 ; CPU:$AACD PRG:2ACD D0 0E A2 AB A0 BB 20 3A FD A2 AB A0 C0 20 C3 F1 - .byte $20, $9A, $AC, $A2, $AB, $A0, $D0, $20, $3A, $FD, $A2, $AB, $A0, $EB, $20, $3A ; CPU:$AADD PRG:2ADD 20 9A AC A2 AB A0 D0 20 3A FD A2 AB A0 EB 20 3A - .byte $FD, $20, $31, $FD, $A9, $00, $85, $79, $85, $B1, $85, $B2, $85, $B3, $85, $B4 ; CPU:$AAED PRG:2AED FD 20 31 FD A9 00 85 79 85 B1 85 B2 85 B3 85 B4 - .byte $A9, $01, $20, $40, $FD, $4C, $13, $FD, $E7, $20, $20, $07, $20, $20, $20, $20 ; CPU:$AAFD PRG:2AFD A9 01 20 40 FD 4C 13 FD E7 20 20 07 20 20 20 20 - .byte $20, $20, $07, $1F, $06, $08, $0B, $0D, $10, $0D, $10, $06, $08, $0B, $13, $14 ; CPU:$AB0D PRG:2B0D 20 20 07 1F 06 08 0B 0D 10 0D 10 06 08 0B 13 14 - .byte $0D, $10, $19, $1A, $1B, $1F, $20, $09, $09, $0E, $11, $17, $18, $1E, $23, $09 ; CPU:$AB1D PRG:2B1D 0D 10 19 1A 1B 1F 20 09 09 0E 11 17 18 1E 23 09 - .byte $15, $16, $0E, $11, $09, $09, $09, $1F, $20, $0A, $0C, $0F, $12, $0F, $1D, $22 ; CPU:$AB2D PRG:2B2D 15 16 0E 11 09 09 09 1F 20 0A 0C 0F 12 0F 1D 22 - .byte $24, $0C, $0A, $0C, $0F, $12, $1C, $1C, $1C, $22, $FF, $8B, $21, $57, $52, $45 ; CPU:$AB3D PRG:2B3D 24 0C 0A 0C 0F 12 1C 1C 1C 22 FF 8B 21 57 52 45 - .byte $53, $54, $4C, $49, $4E, $47, $FF, $CC, $21, $31, $20, $50, $4C, $41, $59, $45 ; CPU:$AB4D PRG:2B4D 53 54 4C 49 4E 47 FF CC 21 31 20 50 4C 41 59 45 - .byte $52, $1F, $1F, $32, $20, $50, $4C, $41, $59, $45, $52, $53, $FF, $4F, $22, $27 ; CPU:$AB5D PRG:2B5D 52 1F 1F 32 20 50 4C 41 59 45 52 53 FF 4F 22 27 - .byte $28, $1F, $29, $2A, $FF, $A2, $22, $4C, $49, $43, $45, $4E, $53, $45, $44, $20 ; CPU:$AB6D PRG:2B6D 28 1F 29 2A FF A2 22 4C 49 43 45 4E 53 45 44 20 - .byte $42, $59, $1F, $20, $20, $20, $20, $4E, $49, $4E, $54, $45, $4E, $44, $4F, $20 ; CPU:$AB7D PRG:2B7D 42 59 1F 20 20 20 20 4E 49 4E 54 45 4E 44 4F 20 - .byte $4F, $46, $20, $41, $4D, $45, $52, $49, $43, $41, $20, $49, $4E, $43, $2E, $1F ; CPU:$AB8D PRG:2B8D 4F 46 20 41 4D 45 52 49 43 41 20 49 4E 43 2E 1F - .byte $1F, $5E, $20, $31, $39, $38, $36, $20, $44, $41, $54, $41, $20, $45, $41, $53 ; CPU:$AB9D PRG:2B9D 1F 5E 20 31 39 38 36 20 44 41 54 41 20 45 41 53 - .byte $54, $20, $55, $2E, $53, $2E, $41, $2E, $20, $49, $4E, $43, $2E, $FF, $62, $20 ; CPU:$ABAD PRG:2BAD 54 20 55 2E 53 2E 41 2E 20 49 4E 43 2E FF 62 20 - .byte $31, $50, $FF, $4F, $00, $85, $20, $6C, $20, $43, $48, $41, $4D, $50, $FF, $7D ; CPU:$ABBD PRG:2BBD 31 50 FF 4F 00 85 20 6C 20 43 48 41 4D 50 FF 7D - .byte $00, $8F, $20, $C0, $23, $75, $75, $75, $75, $75, $75, $75, $75, $20, $20, $40 ; CPU:$ABCD PRG:2BCD 00 8F 20 C0 23 75 75 75 75 75 75 75 75 20 20 40 - .byte $A0, $20, $20, $20, $20, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $FF, $E3, $23 ; CPU:$ABDD PRG:2BDD A0 20 20 20 20 CA CA CA CA CA CA CA CA FF E3 23 - .byte $E0, $50, $FF, $A5, $13, $C9, $F0, $F0, $1C, $48, $20, $D6, $AC, $A2, $00, $68 ; CPU:$ABED PRG:2BED E0 50 FF A5 13 C9 F0 F0 1C 48 20 D6 AC A2 00 68 - .byte $85, $10, $8E, $05, $20, $8D, $05, $20, $A5, $78, $D0, $09, $20, $2B, $FD, $A5 ; CPU:$ABFD PRG:2BFD 85 10 8E 05 20 8D 05 20 A5 78 D0 09 20 2B FD A5 - .byte $18, $29, $0C, $F0, $23, $A5, $0D, $29, $FD, $85, $0D, $8D, $00, $20, $A9, $00 ; CPU:$AC0D PRG:2C0D 18 29 0C F0 23 A5 0D 29 FD 85 0D 8D 00 20 A9 00 - .byte $85, $78, $85, $0F, $85, $10, $8D, $05, $20, $8D, $05, $20, $A9, $0C, $85, $B0 ; CPU:$AC1D PRG:2C1D 85 78 85 0F 85 10 8D 05 20 8D 05 20 A9 0C 85 B0 - .byte $A9, $02, $20, $40, $FD, $4C, $37, $AC, $E6, $13, $4C, $13, $FD, $A5, $14, $C9 ; CPU:$AC2D PRG:2C2D A9 02 20 40 FD 4C 37 AC E6 13 4C 13 FD A5 14 C9 - .byte $02, $F0, $41, $20, $D6, $AC, $20, $2B, $FD, $A5, $18, $AA, $45, $B0, $85, $1A ; CPU:$AC3D PRG:2C3D 02 F0 41 20 D6 AC 20 2B FD A5 18 AA 45 B0 85 1A - .byte $8A, $85, $B0, $25, $1A, $85, $1A, $29, $04, $D0, $0F, $A5, $1A, $29, $08, $F0 ; CPU:$AC4D PRG:2C4D 8A 85 B0 25 1A 85 1A 29 04 D0 0F A5 1A 29 08 F0 - .byte $1A, $A5, $77, $85, $7B, $A9, $03, $4C, $8B, $AC, $A5, $77, $49, $20, $85, $77 ; CPU:$AC5D PRG:2C5D 1A A5 77 85 7B A9 03 4C 8B AC A5 77 49 20 85 77 - .byte $20, $9A, $AC, $A9, $02, $20, $40, $FD, $4C, $97, $AC, $E6, $13, $D0, $1B, $E6 ; CPU:$AC6D PRG:2C6D 20 9A AC A9 02 20 40 FD 4C 97 AC E6 13 D0 1B E6 - .byte $14, $4C, $97, $AC, $A9, $00, $85, $79, $A9, $80, $85, $7B, $A9, $03, $20, $40 ; CPU:$AC7D PRG:2C7D 14 4C 97 AC A9 00 85 79 A9 80 85 7B A9 03 20 40 - .byte $FD, $20, $2E, $FD, $20, $1F, $FD, $20, $31, $FD, $4C, $13, $FD, $A2, $21, $A0 ; CPU:$AC8D PRG:2C8D FD 20 2E FD 20 1F FD 20 31 FD 4C 13 FD A2 21 A0 - .byte $CA, $20, $34, $FD, $A2, $00, $A5, $77, $29, $20, $D0, $02, $A2, $3F, $8E, $07 ; CPU:$AC9D PRG:2C9D CA 20 34 FD A2 00 A5 77 29 20 D0 02 A2 3F 8E 07 - .byte $20, $A2, $22, $A0, $0A, $20, $34, $FD, $A2, $00, $A5, $77, $29, $20, $F0, $02 ; CPU:$ACAD PRG:2CAD 20 A2 22 A0 0A 20 34 FD A2 00 A5 77 29 20 F0 02 - .byte $A2, $3F, $8E, $07, $20, $20, $37, $FD, $60, $0F, $10, $0F, $0F, $0F, $16, $0F ; CPU:$ACBD PRG:2CBD A2 3F 8E 07 20 20 37 FD 60 0F 10 0F 0F 0F 16 0F - .byte $0F, $0F, $01, $16, $10, $0F, $26, $16, $10, $20, $2B, $FD, $A5, $79, $30, $38 ; CPU:$ACCD PRG:2CCD 0F 0F 01 16 10 0F 26 16 10 20 2B FD A5 79 30 38 - .byte $A5, $B4, $C9, $0A, $B0, $15, $A5, $B1, $49, $FF, $25, $15, $F0, $06, $A6, $B4 ; CPU:$ACDD PRG:2CDD A5 B4 C9 0A B0 15 A5 B1 49 FF 25 15 F0 06 A6 B4 - .byte $95, $B5, $E6, $B4, $A5, $15, $85, $B1, $4C, $3D, $AD, $A2, $00, $B5, $B5, $DD ; CPU:$ACED PRG:2CED 95 B5 E6 B4 A5 15 85 B1 4C 3D AD A2 00 B5 B5 DD - .byte $3E, $AD, $D0, $11, $E8, $E0, $0A, $D0, $F4, $A9, $80, $85, $79, $A9, $00, $85 ; CPU:$ACFD PRG:2CFD 3E AD D0 11 E8 E0 0A D0 F4 A9 80 85 79 A9 00 85 - .byte $B1, $A9, $FF, $85, $7A, $4C, $3D, $AD, $A5, $B1, $49, $FF, $25, $15, $29, $01 ; CPU:$AD0D PRG:2D0D B1 A9 FF 85 7A 4C 3D AD A5 B1 49 FF 25 15 29 01 - .byte $F0, $1A, $A5, $B3, $C9, $09, $D0, $06, $A5, $B2, $C9, $09, $F0, $0E, $E6, $B2 ; CPU:$AD1D PRG:2D1D F0 1A A5 B3 C9 09 D0 06 A5 B2 C9 09 F0 0E E6 B2 - .byte $A5, $B2, $C9, $0A, $90, $06, $A9, $00, $85, $B2, $E6, $B3, $A5, $15, $85, $B1 ; CPU:$AD2D PRG:2D2D A5 B2 C9 0A 90 06 A9 00 85 B2 E6 B3 A5 15 85 B1 - .byte $60, $10, $80, $20, $40, $20, $80, $10, $40, $01, $02, $A2, $AD, $A0, $7C, $84 ; CPU:$AD3D PRG:2D3D 60 10 80 20 40 20 80 10 40 01 02 A2 AD A0 7C 84 - .byte $22, $86, $23, $A0, $00, $B1, $22, $99, $00, $02, $C8, $C0, $10, $D0, $F6, $A5 ; CPU:$AD4D PRG:2D4D 22 86 23 A0 00 B1 22 99 00 02 C8 C0 10 D0 F6 A5 - .byte $7B, $29, $20, $D0, $09, $A5, $7A, $F0, $05, $A9, $27, $8D, $01, $02, $A2, $02 ; CPU:$AD5D PRG:2D5D 7B 29 20 D0 09 A5 7A F0 05 A9 27 8D 01 02 A2 02 - .byte $A0, $00, $A9, $00, $20, $28, $FD, $A9, $04, $20, $40, $FD, $4C, $13, $FD, $0F ; CPU:$AD6D PRG:2D6D A0 00 A9 00 20 28 FD A9 04 20 40 FD 4C 13 FD 0F - .byte $1A, $37, $16, $0F, $01, $37, $16, $0F, $00, $37, $16, $0F, $16, $37, $16, $A5 ; CPU:$AD7D PRG:2D7D 1A 37 16 0F 01 37 16 0F 00 37 16 0F 16 37 16 A5 - .byte $7B, $30, $0B, $A2, $00, $A9, $00, $95, $32, $E8, $E0, $41, $D0, $F9, $A9, $00 ; CPU:$AD8D PRG:2D8D 7B 30 0B A2 00 A9 00 95 32 E8 E0 41 D0 F9 A9 00 - .byte $85, $87, $85, $88, $85, $8A, $A5, $7B, $30, $52, $A2, $05, $A5, $7B, $29, $20 ; CPU:$AD9D PRG:2D9D 85 87 85 88 85 8A A5 7B 30 52 A2 05 A5 7B 29 20 - .byte $D0, $1E, $A2, $00, $20, $28, $F0, $C9, $24, $B0, $15, $E8, $C9, $1A, $B0, $10 ; CPU:$ADAD PRG:2DAD D0 1E A2 00 20 28 F0 C9 24 B0 15 E8 C9 1A B0 10 - .byte $E8, $C9, $10, $B0, $0B, $E8, $C9, $09, $B0, $06, $E8, $C9, $04, $B0, $01, $E8 ; CPU:$ADBD PRG:2DBD E8 C9 10 B0 0B E8 C9 09 B0 06 E8 C9 04 B0 01 E8 - .byte $8A, $0A, $AA, $BD, $01, $AE, $85, $84, $BD, $02, $AE, $85, $83, $A5, $7B, $29 ; CPU:$ADCD PRG:2DCD 8A 0A AA BD 01 AE 85 84 BD 02 AE 85 83 A5 7B 29 - .byte $20, $D0, $19, $A5, $79, $10, $15, $A5, $B2, $05, $B3, $D0, $07, $A9, $00, $85 ; CPU:$ADDD PRG:2DDD 20 D0 19 A5 79 10 15 A5 B2 05 B3 D0 07 A9 00 85 - .byte $79, $4C, $F9, $AD, $A5, $B2, $85, $83, $A5, $B3, $85, $84, $A9, $05, $20, $40 ; CPU:$ADED PRG:2DED 79 4C F9 AD A5 B2 85 83 A5 B3 85 84 A9 05 20 40 - .byte $FD, $4C, $13, $FD, $03, $06, $02, $06, $01, $06, $00, $09, $00, $04, $00, $01 ; CPU:$ADFD PRG:2DFD FD 4C 13 FD 03 06 02 06 01 06 00 09 00 04 00 01 - .byte $A5, $7B, $30, $43, $A5, $13, $D0, $36, $20, $2E, $FD, $20, $1F, $FD, $A2, $AE ; CPU:$AE0D PRG:2E0D A5 7B 30 43 A5 13 D0 36 20 2E FD 20 1F FD A2 AE - .byte $A0, $61, $A5, $7B, $29, $20, $F0, $1D, $A2, $AE, $A0, $83, $A5, $83, $C9, $01 ; CPU:$AE1D PRG:2E1D A0 61 A5 7B 29 20 F0 1D A2 AE A0 83 A5 83 C9 01 - .byte $F0, $0C, $A2, $AE, $A0, $91, $C9, $02, $F0, $04, $A2, $AE, $A0, $A0, $20, $3A ; CPU:$AE2D PRG:2E2D F0 0C A2 AE A0 91 C9 02 F0 04 A2 AE A0 A0 20 3A - .byte $FD, $A2, $AE, $A0, $71, $20, $3A, $FD, $20, $31, $FD, $4C, $5C, $AE, $C9, $60 ; CPU:$AE3D PRG:2E3D FD A2 AE A0 71 20 3A FD 20 31 FD 4C 5C AE C9 60 - .byte $90, $0D, $A9, $06, $20, $3D, $F0, $A9, $06, $20, $40, $FD, $4C, $5E, $AE, $E6 ; CPU:$AE4D PRG:2E4D 90 0D A9 06 20 3D F0 A9 06 20 40 FD 4C 5E AE E6 - .byte $13, $4C, $13, $FD, $EA, $21, $50, $4C, $41, $59, $45, $52, $20, $52, $45, $41 ; CPU:$AE5D PRG:2E5D 13 4C 13 FD EA 21 50 4C 41 59 45 52 20 52 45 41 - .byte $44, $59, $21, $FF, $E9, $21, $32, $20, $50, $4C, $41, $59, $45, $52, $20, $52 ; CPU:$AE6D PRG:2E6D 44 59 21 FF E9 21 32 20 50 4C 41 59 45 52 20 52 - .byte $45, $41, $44, $59, $21, $FF, $2A, $21, $46, $49, $52, $53, $54, $20, $4D, $41 ; CPU:$AE7D PRG:2E7D 45 41 44 59 21 FF 2A 21 46 49 52 53 54 20 4D 41 - .byte $54, $43, $48, $FF, $2A, $21, $53, $45, $43, $4F, $4E, $44, $20, $4D, $41, $54 ; CPU:$AE8D PRG:2E8D 54 43 48 FF 2A 21 53 45 43 4F 4E 44 20 4D 41 54 - .byte $43, $48, $FF, $2A, $21, $54, $48, $49, $52, $44, $20, $4D, $41, $54, $43, $48 ; CPU:$AE9D PRG:2E9D 43 48 FF 2A 21 54 48 49 52 44 20 4D 41 54 43 48 - .byte $FF, $20, $2E, $FD, $20, $1F, $FD, $A2, $00, $A9, $00, $95, $32, $E8, $E0, $13 ; CPU:$AEAD PRG:2EAD FF 20 2E FD 20 1F FD A2 00 A9 00 95 32 E8 E0 13 - .byte $D0, $F9, $85, $6D, $85, $6E, $85, $6F, $85, $70, $85, $71, $85, $72, $A9, $40 ; CPU:$AEBD PRG:2EBD D0 F9 85 6D 85 6E 85 6F 85 70 85 71 85 72 A9 40 - .byte $85, $35, $A9, $40, $A0, $70, $A2, $60, $85, $45, $84, $46, $86, $47, $A9, $00 ; CPU:$AECD PRG:2ECD 85 35 A9 40 A0 70 A2 60 85 45 84 46 86 47 A9 00 - .byte $A0, $60, $A2, $AE, $85, $55, $84, $56, $86, $57, $A9, $40, $A0, $B0, $A2, $2A ; CPU:$AEDD PRG:2EDD A0 60 A2 AE 85 55 84 56 86 57 A9 40 A0 B0 A2 2A - .byte $85, $4A, $84, $4B, $86, $4C, $A9, $00, $A0, $30, $A2, $B4, $85, $5A, $84, $5B ; CPU:$AEED PRG:2EED 85 4A 84 4B 86 4C A9 00 A0 30 A2 B4 85 5A 84 5B - .byte $86, $5C, $A9, $CA, $85, $69, $A9, $21, $85, $6A, $A9, $C9, $85, $6B, $A9, $21 ; CPU:$AEFD PRG:2EFD 86 5C A9 CA 85 69 A9 21 85 6A A9 C9 85 6B A9 21 - .byte $85, $6C, $A9, $00, $85, $93, $85, $8C, $85, $8D, $85, $9F, $85, $A1, $85, $A3 ; CPU:$AF0D PRG:2F0D 85 6C A9 00 85 93 85 8C 85 8D 85 9F 85 A1 85 A3 - .byte $85, $A2, $85, $A5, $85, $A6, $85, $A7, $85, $89, $85, $AB, $A9, $05, $85, $A0 ; CPU:$AF1D PRG:2F1D 85 A2 85 A5 85 A6 85 A7 85 89 85 AB A9 05 85 A0 - .byte $A9, $18, $85, $48, $85, $4D, $85, $58, $85, $5D, $20, $28, $F0, $85, $1A, $A2 ; CPU:$AF2D PRG:2F2D A9 18 85 48 85 4D 85 58 85 5D 20 28 F0 85 1A A2 - .byte $00, $BD, $17, $B0, $95, $B1, $E8, $E0, $10, $D0, $F6, $A5, $7B, $29, $20, $D0 ; CPU:$AF3D PRG:2F3D 00 BD 17 B0 95 B1 E8 E0 10 D0 F6 A5 7B 29 20 D0 - .byte $29, $A2, $00, $A5, $1A, $C9, $03, $90, $21, $C9, $08, $90, $10, $E8, $C9, $0F ; CPU:$AF4D PRG:2F4D 29 A2 00 A5 1A C9 03 90 21 C9 08 90 10 E8 C9 0F - .byte $90, $0B, $E8, $C9, $19, $90, $06, $E8, $C9, $23, $90, $01, $E8, $8A, $0A, $AA ; CPU:$AF5D PRG:2F5D 90 0B E8 C9 19 90 06 E8 C9 23 90 01 E8 8A 0A AA - .byte $BD, $27, $B0, $85, $B4, $BD, $28, $B0, $85, $B8, $A2, $00, $A0, $B1, $A9, $01 ; CPU:$AF6D PRG:2F6D BD 27 B0 85 B4 BD 28 B0 85 B8 A2 00 A0 B1 A9 01 - .byte $20, $28, $FD, $A9, $80, $85, $8B, $A5, $79, $10, $2E, $A5, $7B, $29, $20, $D0 ; CPU:$AF7D PRG:2F7D 20 28 FD A9 80 85 8B A5 79 10 2E A5 7B 29 20 D0 - .byte $28, $A9, $00, $85, $79, $A9, $80, $85, $36, $A9, $B0, $85, $41, $A9, $40, $85 ; CPU:$AF8D PRG:2F8D 28 A9 00 85 79 A9 80 85 36 A9 B0 85 41 A9 40 85 - .byte $44, $A9, $00, $A0, $A8, $A2, $60, $85, $45, $84, $46, $86, $47, $A2, $90, $85 ; CPU:$AF9D PRG:2F9D 44 A9 00 A0 A8 A2 60 85 45 84 46 86 47 A2 90 85 - .byte $55, $84, $56, $86, $57, $A9, $81, $85, $8B, $A9, $00, $85, $AA, $A5, $7B, $29 ; CPU:$AFAD PRG:2FAD 55 84 56 86 57 A9 81 85 8B A9 00 85 AA A5 7B 29 - .byte $20, $D0, $1E, $20, $28, $F0, $C9, $04, $F0, $13, $C9, $09, $F0, $0F, $C9, $10 ; CPU:$AFBD PRG:2FBD 20 D0 1E 20 28 F0 C9 04 F0 13 C9 09 F0 0F C9 10 - .byte $F0, $0B, $C9, $1A, $F0, $07, $C9, $24, $B0, $03, $4C, $DE, $AF, $A9, $FF, $85 ; CPU:$AFCD PRG:2FCD F0 0B C9 1A F0 07 C9 24 B0 03 4C DE AF A9 FF 85 - .byte $AA, $A5, $83, $85, $4F, $A5, $84, $85, $50, $A2, $B0, $A0, $31, $20, $3A, $FD ; CPU:$AFDD PRG:2FDD AA A5 83 85 4F A5 84 85 50 A2 B0 A0 31 20 3A FD - .byte $A5, $7B, $29, $20, $F0, $11, $A2, $B0, $A0, $A7, $20, $3A, $FD, $A2, $B0, $A0 ; CPU:$AFED PRG:2FED A5 7B 29 20 F0 11 A2 B0 A0 A7 20 3A FD A2 B0 A0 - .byte $AF, $20, $3A, $FD, $4C, $07, $B0, $20, $0D, $B9, $20, $31, $FD, $A9, $0C, $20 ; CPU:$AFFD PRG:2FFD AF 20 3A FD 4C 07 B0 20 0D B9 20 31 FD A9 0C 20 - .byte $36, $F0, $A9, $07, $20, $40, $FD, $4C, $13, $FD, $0F, $0F, $26, $10, $0F, $0F ; CPU:$B00D PRG:300D 36 F0 A9 07 20 40 FD 4C 13 FD 0F 0F 26 10 0F 0F - .byte $26, $16, $0F, $0F, $16, $16, $0F, $27, $10, $0F, $16, $10, $03, $07, $07, $03 ; CPU:$B01D PRG:301D 26 16 0F 0F 16 16 0F 27 10 0F 16 10 03 07 07 03 - .byte $14, $08, $08, $14, $42, $20, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD ; CPU:$B02D PRG:302D 14 08 08 14 42 20 FD FD FD FD FD FD FD FD FD FD - .byte $20, $F6, $F4, $FA, $F8, $20, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD ; CPU:$B03D PRG:303D 20 F6 F4 FA F8 20 FD FD FD FD FD FD FD FD FD FD - .byte $FD, $FD, $1F, $FD, $43, $48, $41, $4D, $50, $20, $20, $20, $FD, $FC, $F7, $F5 ; CPU:$B04D PRG:304D FD FD 1F FD 43 48 41 4D 50 20 20 20 FD FC F7 F5 - .byte $FB, $F9, $FC, $FD, $31, $50, $20, $20, $20, $20, $20, $20, $20, $20, $FD, $1F ; CPU:$B05D PRG:305D FB F9 FC FD 31 50 20 20 20 20 20 20 20 20 FD 1F - .byte $FD, $52, $4F, $55, $4E, $44, $20, $20, $20, $FD, $20, $20, $20, $20, $20, $20 ; CPU:$B06D PRG:306D FD 52 4F 55 4E 44 20 20 20 FD 20 20 20 20 20 20 - .byte $FD, $43, $50, $20, $20, $20, $20, $20, $20, $20, $20, $FD, $1F, $FD, $FD, $FD ; CPU:$B07D PRG:307D FD 43 50 20 20 20 20 20 20 20 20 FD 1F FD FD FD - .byte $FD, $FD, $FD, $FD, $FD, $FD, $FD, $20, $20, $20, $20, $20, $20, $FD, $FD, $FD ; CPU:$B08D PRG:308D FD FD FD FD FD FD FD 20 20 20 20 20 20 FD FD FD - .byte $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FF, $83, $20, $20, $20, $20, $20 ; CPU:$B09D PRG:309D FD FD FD FD FD FD FD FD FD FF 83 20 20 20 20 20 - .byte $20, $FF, $93, $20, $32, $50, $FF, $20, $2E, $FD, $A5, $8B, $29, $01, $D0, $06 ; CPU:$B0AD PRG:30AD 20 FF 93 20 32 50 FF 20 2E FD A5 8B 29 01 D0 06 - .byte $20, $BB, $B9, $4C, $C6, $B0, $20, $70, $BA, $A9, $00, $85, $8B, $20, $31, $FD ; CPU:$B0BD PRG:30BD 20 BB B9 4C C6 B0 20 70 BA A9 00 85 8B 20 31 FD - .byte $A9, $08, $20, $40, $FD, $4C, $13, $FD, $A2, $13, $A5, $36, $29, $40, $F0, $02 ; CPU:$B0CD PRG:30CD A9 08 20 40 FD 4C 13 FD A2 13 A5 36 29 40 F0 02 - .byte $A2, $18, $86, $85, $A2, $23, $A5, $36, $29, $20, $F0, $02, $A2, $28, $86, $86 ; CPU:$B0DD PRG:30DD A2 18 86 85 A2 23 A5 36 29 20 F0 02 A2 28 86 86 - .byte $A5, $3E, $30, $1D, $A5, $3B, $30, $13, $A5, $37, $30, $09, $20, $E6, $D9, $20 ; CPU:$B0ED PRG:30ED A5 3E 30 1D A5 3B 30 13 A5 37 30 09 20 E6 D9 20 - .byte $9C, $DA, $4C, $14, $B1, $20, $3B, $DB, $4C, $14, $B1, $20, $64, $DC, $4C, $14 ; CPU:$B0FD PRG:30FD 9C DA 4C 14 B1 20 3B DB 4C 14 B1 20 64 DC 4C 14 - .byte $B1, $20, $D2, $E2, $20, $42, $E3, $20, $78, $E3, $A5, $36, $30, $13, $20, $01 ; CPU:$B10D PRG:310D B1 20 D2 E2 20 42 E3 20 78 E3 A5 36 30 13 20 01 - .byte $E4, $20, $35, $E5, $A5, $7B, $30, $09, $A5, $13, $C9, $20, $B0, $03, $4C, $0D ; CPU:$B11D PRG:311D E4 20 35 E5 A5 7B 30 09 A5 13 C9 20 B0 03 4C 0D - .byte $B2, $20, $2B, $FD, $A5, $7B, $10, $03, $20, $E4, $EB, $A5, $3E, $30, $7F, $A5 ; CPU:$B12D PRG:312D B2 20 2B FD A5 7B 10 03 20 E4 EB A5 3E 30 7F A5 - .byte $3B, $30, $72, $A5, $37, $30, $65, $20, $D2, $BA, $C9, $00, $D0, $79, $20, $AF ; CPU:$B13D PRG:313D 3B 30 72 A5 37 30 65 20 D2 BA C9 00 D0 79 20 AF - .byte $BB, $C9, $00, $D0, $72, $20, $2E, $BD, $C9, $00, $D0, $6B, $20, $98, $BD, $A5 ; CPU:$B14D PRG:314D BB C9 00 D0 72 20 2E BD C9 00 D0 6B 20 98 BD A5 - .byte $7B, $29, $20, $D0, $41, $20, $43, $EC, $20, $0D, $C0, $A5, $36, $30, $58, $A5 ; CPU:$B15D PRG:315D 7B 29 20 D0 41 20 43 EC 20 0D C0 A5 36 30 58 A5 - .byte $36, $29, $10, $D0, $52, $A5, $A0, $D0, $22, $A5, $36, $09, $0C, $85, $36, $A0 ; CPU:$B16D PRG:316D 36 29 10 D0 52 A5 A0 D0 22 A5 36 09 0C 85 36 A0 - .byte $01, $A5, $84, $C9, $03, $B0, $0F, $A6, $83, $BC, $24, $B2, $A5, $84, $F0, $06 ; CPU:$B17D PRG:317D 01 A5 84 C9 03 B0 0F A6 83 BC 24 B2 A5 84 F0 06 - .byte $88, $C9, $01, $F0, $01, $88, $84, $A0, $4C, $C4, $B1, $A5, $11, $29, $3F, $D0 ; CPU:$B18D PRG:318D 88 C9 01 F0 01 88 84 A0 4C C4 B1 A5 11 29 3F D0 - .byte $26, $C6, $A0, $4C, $C4, $B1, $20, $9F, $C3, $4C, $C4, $B1, $20, $CE, $C6, $20 ; CPU:$B19D PRG:319D 26 C6 A0 4C C4 B1 20 9F C3 4C C4 B1 20 CE C6 20 - .byte $F9, $C7, $4C, $B5, $B1, $20, $FA, $C7, $20, $AE, $D4, $4C, $C4, $B1, $20, $AF ; CPU:$B1AD PRG:31AD F9 C7 4C B5 B1 20 FA C7 20 AE D4 4C C4 B1 20 AF - .byte $D4, $20, $CC, $D5, $20, $EB, $D5, $A5, $36, $30, $06, $20, $15, $D6, $20, $B4 ; CPU:$B1BD PRG:31BD D4 20 CC D5 20 EB D5 A5 36 30 06 20 15 D6 20 B4 - .byte $D7, $20, $ED, $D8, $20, $48, $D9, $A5, $8B, $10, $05, $A9, $07, $20, $40, $FD ; CPU:$B1CD PRG:31CD D7 20 ED D8 20 48 D9 A5 8B 10 05 A9 07 20 40 FD - .byte $A5, $7B, $30, $03, $20, $89, $BA, $A5, $7B, $10, $25, $A5, $18, $AA, $45, $B0 ; CPU:$B1DD PRG:31DD A5 7B 30 03 20 89 BA A5 7B 10 25 A5 18 AA 45 B0 - .byte $86, $B0, $85, $1A, $8A, $25, $1A, $29, $0C, $F0, $07, $A9, $FF, $85, $78, $4C ; CPU:$B1ED PRG:31ED 86 B0 85 1A 8A 25 1A 29 0C F0 07 A9 FF 85 78 4C - .byte $05, $B2, $A5, $14, $C9, $08, $D0, $08, $A9, $00, $20, $40, $FD, $4C, $21, $B2 ; CPU:$B1FD PRG:31FD 05 B2 A5 14 C9 08 D0 08 A9 00 20 40 FD 4C 21 B2 - .byte $A5, $7B, $30, $06, $A5, $13, $C9, $20, $B0, $06, $E6, $13, $D0, $02, $E6, $14 ; CPU:$B20D PRG:320D A5 7B 30 06 A5 13 C9 20 B0 06 E6 13 D0 02 E6 14 - .byte $A9, $80, $85, $8A, $4C, $13, $FD, $05, $05, $05, $05, $05, $04, $04, $04, $03 ; CPU:$B21D PRG:321D A9 80 85 8A 4C 13 FD 05 05 05 05 05 04 04 04 03 - .byte $03, $A5, $7B, $10, $08, $A9, $00, $20, $40, $FD, $4C, $E2, $B2, $A5, $14, $D0 ; CPU:$B22D PRG:322D 03 A5 7B 10 08 A9 00 20 40 FD 4C E2 B2 A5 14 D0 - .byte $13, $A5, $13, $F0, $1B, $C9, $40, $F0, $4B, $C9, $80, $F0, $53, $C9, $C0, $F0 ; CPU:$B23D PRG:323D 13 A5 13 F0 1B C9 40 F0 4B C9 80 F0 53 C9 C0 F0 - .byte $58, $4C, $AC, $B2, $A5, $13, $C9, $C0, $D0, $03, $4C, $C4, $B2, $4C, $AC, $B2 ; CPU:$B24D PRG:324D 58 4C AC B2 A5 13 C9 C0 D0 03 4C C4 B2 4C AC B2 - .byte $A9, $89, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $20, $2E, $FD, $20, $59 ; CPU:$B25D PRG:325D A9 89 20 36 F0 20 F3 9B 20 19 FD 20 2E FD 20 59 - .byte $F0, $20, $22, $FD, $A5, $7B, $29, $20, $F0, $08, $E6, $87, $20, $21, $F1, $20 ; CPU:$B26D PRG:326D F0 20 22 FD A5 7B 29 20 F0 08 E6 87 20 21 F1 20 - .byte $BB, $F0, $A2, $B2, $A0, $E5, $20, $3A, $FD, $20, $31, $FD, $A9, $0A, $20, $36 ; CPU:$B27D PRG:327D BB F0 A2 B2 A0 E5 20 3A FD 20 31 FD A9 0A 20 36 - .byte $F0, $4C, $AC, $B2, $20, $1C, $FD, $20, $D5, $F0, $20, $F0, $9B, $4C, $AC, $B2 ; CPU:$B28D PRG:328D F0 4C AC B2 20 1C FD 20 D5 F0 20 F0 9B 4C AC B2 - .byte $20, $1C, $FD, $20, $F0, $9B, $4C, $AC, $B2, $20, $1C, $FD, $20, $F0, $9B, $E6 ; CPU:$B29D PRG:329D 20 1C FD 20 F0 9B 4C AC B2 20 1C FD 20 F0 9B E6 - .byte $13, $D0, $02, $E6, $14, $A5, $7B, $29, $20, $F0, $06, $A5, $87, $C9, $02, $90 ; CPU:$B2AD PRG:32AD 13 D0 02 E6 14 A5 7B 29 20 F0 06 A5 87 C9 02 90 - .byte $24, $20, $5A, $F1, $4C, $E2, $B2, $A2, $0A, $A5, $7B, $29, $20, $F0, $0D, $20 ; CPU:$B2BD PRG:32BD 24 20 5A F1 4C E2 B2 A2 0A A5 7B 29 20 F0 0D 20 - .byte $FD, $F1, $A2, $05, $A5, $87, $C9, $02, $90, $02, $A2, $0F, $8A, $20, $40, $FD ; CPU:$B2CD PRG:32CD FD F1 A2 05 A5 87 C9 02 90 02 A2 0F 8A 20 40 FD - .byte $A9, $8A, $20, $36, $F0, $4C, $13, $FD, $68, $21, $57, $49, $4E, $4E, $45, $52 ; CPU:$B2DD PRG:32DD A9 8A 20 36 F0 4C 13 FD 68 21 57 49 4E 4E 45 52 - .byte $20, $49, $53, $1F, $1F, $20, $20, $52, $49, $43, $4B, $59, $20, $46, $49, $47 ; CPU:$B2ED PRG:32ED 20 49 53 1F 1F 20 20 52 49 43 4B 59 20 46 49 47 - .byte $48, $54, $45, $52, $53, $FF, $A5, $14, $D0, $07, $A5, $13, $F0, $0F, $4C, $08 ; CPU:$B2FD PRG:32FD 48 54 45 52 53 FF A5 14 D0 07 A5 13 F0 0F 4C 08 - .byte $B4, $A5, $13, $C9, $C0, $F0, $03, $4C, $08, $B4, $4C, $14, $B4, $20, $28, $F0 ; CPU:$B30D PRG:330D B4 A5 13 C9 C0 F0 03 4C 08 B4 4C 14 B4 20 28 F0 - .byte $85, $1A, $20, $2E, $FD, $20, $1F, $FD, $A2, $B4, $A0, $31, $A5, $1A, $C9, $23 ; CPU:$B31D PRG:331D 85 1A 20 2E FD 20 1F FD A2 B4 A0 31 A5 1A C9 23 - .byte $90, $04, $A2, $B4, $A0, $41, $A9, $00, $20, $28, $FD, $A2, $23, $A0, $E8, $20 ; CPU:$B32D PRG:332D 90 04 A2 B4 A0 41 A9 00 20 28 FD A2 23 A0 E8 20 - .byte $34, $FD, $A9, $A0, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20 ; CPU:$B33D PRG:333D 34 FD A9 A0 8D 07 20 8D 07 20 8D 07 20 8D 07 20 - .byte $8D, $07, $20, $8D, $07, $20, $A9, $80, $8D, $07, $20, $20, $37, $FD, $A2, $00 ; CPU:$B34D PRG:334D 8D 07 20 8D 07 20 A9 80 8D 07 20 20 37 FD A2 00 - .byte $A5, $1A, $C9, $03, $F0, $17, $E8, $C9, $08, $F0, $12, $E8, $C9, $0F, $F0, $0D ; CPU:$B35D PRG:335D A5 1A C9 03 F0 17 E8 C9 08 F0 12 E8 C9 0F F0 0D - .byte $E8, $C9, $19, $F0, $08, $E8, $C9, $23, $B0, $03, $4C, $97, $B3, $8A, $0A, $48 ; CPU:$B36D PRG:336D E8 C9 19 F0 08 E8 C9 23 B0 03 4C 97 B3 8A 0A 48 - .byte $AA, $BC, $5B, $B4, $BD, $5C, $B4, $AA, $20, $3A, $FD, $68, $AA, $BC, $48, $B5 ; CPU:$B37D PRG:337D AA BC 5B B4 BD 5C B4 AA 20 3A FD 68 AA BC 48 B5 - .byte $BD, $49, $B5, $AA, $20, $3A, $FD, $4C, $00, $B4, $A0, $00, $A5, $1A, $C9, $03 ; CPU:$B38D PRG:338D BD 49 B5 AA 20 3A FD 4C 00 B4 A0 00 A5 1A C9 03 - .byte $90, $13, $C8, $C9, $08, $90, $16, $C8, $C9, $0F, $90, $19, $C8, $C9, $19, $90 ; CPU:$B39D PRG:339D 90 13 C8 C9 08 90 16 C8 C9 0F 90 19 C8 C9 19 90 - .byte $1C, $C8, $4C, $D2, $B3, $A6, $83, $BD, $65, $B4, $4C, $D7, $B3, $A6, $83, $BD ; CPU:$B3AD PRG:33AD 1C C8 4C D2 B3 A6 83 BD 65 B4 4C D7 B3 A6 83 BD - .byte $69, $B4, $4C, $D7, $B3, $A6, $83, $BD, $72, $B4, $4C, $D7, $B3, $A6, $83, $BD ; CPU:$B3BD PRG:33BD 69 B4 4C D7 B3 A6 83 BD 72 B4 4C D7 B3 A6 83 BD - .byte $7C, $B4, $4C, $D7, $B3, $A6, $83, $BD, $7C, $B4, $48, $98, $0A, $48, $AA, $BC ; CPU:$B3CD PRG:33CD 7C B4 4C D7 B3 A6 83 BD 7C B4 48 98 0A 48 AA BC - .byte $51, $B4, $BD, $52, $B4, $AA, $20, $3A, $FD, $68, $AA, $BC, $46, $B5, $BD, $47 ; CPU:$B3DD PRG:33DD 51 B4 BD 52 B4 AA 20 3A FD 68 AA BC 46 B5 BD 47 - .byte $B5, $AA, $20, $3A, $FD, $A2, $22, $A0, $F9, $20, $34, $FD, $68, $8D, $07, $20 ; CPU:$B3ED PRG:33ED B5 AA 20 3A FD A2 22 A0 F9 20 34 FD 68 8D 07 20 - .byte $20, $37, $FD, $20, $31, $FD, $A9, $09, $20, $36, $F0, $20, $5A, $F1, $E6, $13 ; CPU:$B3FD PRG:33FD 20 37 FD 20 31 FD A9 09 20 36 F0 20 5A F1 E6 13 - .byte $D0, $1F, $E6, $14, $4C, $2E, $B4, $20, $2E, $FD, $20, $1F, $FD, $20, $31, $FD ; CPU:$B40D PRG:340D D0 1F E6 14 4C 2E B4 20 2E FD 20 1F FD 20 31 FD - .byte $A2, $02, $A0, $00, $A9, $00, $20, $28, $FD, $20, $FD, $F1, $A9, $05, $20, $40 ; CPU:$B41D PRG:341D A2 02 A0 00 A9 00 20 28 FD 20 FD F1 A9 05 20 40 - .byte $FD, $4C, $13, $FD, $0F, $10, $27, $00, $0F, $16, $0F, $0F, $0F, $16, $0F, $0F ; CPU:$B42D PRG:342D FD 4C 13 FD 0F 10 27 00 0F 16 0F 0F 0F 16 0F 0F - .byte $0F, $16, $0F, $0F, $01, $10, $27, $00, $01, $16, $0F, $0F, $01, $16, $0F, $0F ; CPU:$B43D PRG:343D 0F 16 0F 0F 01 10 27 00 01 16 0F 0F 01 16 0F 0F - .byte $01, $16, $0F, $0F, $86, $B4, $AD, $B4, $D4, $B4, $FB, $B4, $22, $B5, $99, $B4 ; CPU:$B44D PRG:344D 01 16 0F 0F 86 B4 AD B4 D4 B4 FB B4 22 B5 99 B4 - .byte $C0, $B4, $E7, $B4, $0E, $B5, $35, $B5, $00, $12, $11, $10, $00, $00, $00, $00 ; CPU:$B45D PRG:345D C0 B4 E7 B4 0E B5 35 B5 00 12 11 10 00 00 00 00 - .byte $14, $13, $12, $11, $10, $15, $14, $13, $12, $11, $10, $00, $00, $00, $16, $15 ; CPU:$B46D PRG:346D 14 13 12 11 10 15 14 13 12 11 10 00 00 00 16 15 - .byte $14, $13, $12, $11, $10, $19, $18, $17, $16, $E7, $22, $52, $45, $47, $49, $4F ; CPU:$B47D PRG:347D 14 13 12 11 10 19 18 17 16 E7 22 52 45 47 49 4F - .byte $4E, $41, $4C, $20, $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E7, $22, $52, $45 ; CPU:$B48D PRG:348D 4E 41 4C 20 52 41 4E 4B 49 4E 47 FF E7 22 52 45 - .byte $47, $49, $4F, $4E, $41, $4C, $20, $43, $48, $41, $4D, $50, $49, $4F, $4E, $FF ; CPU:$B49D PRG:349D 47 49 4F 4E 41 4C 20 43 48 41 4D 50 49 4F 4E FF - .byte $E7, $22, $41, $4D, $45, $52, $49, $43, $41, $4E, $20, $52, $41, $4E, $4B, $49 ; CPU:$B4AD PRG:34AD E7 22 41 4D 45 52 49 43 41 4E 20 52 41 4E 4B 49 - .byte $4E, $47, $FF, $E7, $22, $41, $4D, $45, $52, $49, $43, $41, $4E, $20, $43, $48 ; CPU:$B4BD PRG:34BD 4E 47 FF E7 22 41 4D 45 52 49 43 41 4E 20 43 48 - .byte $41, $4D, $50, $49, $4F, $4E, $FF, $E7, $22, $45, $55, $52, $4F, $50, $45, $41 ; CPU:$B4CD PRG:34CD 41 4D 50 49 4F 4E FF E7 22 45 55 52 4F 50 45 41 - .byte $4E, $20, $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E7, $22, $45, $55, $52, $4F ; CPU:$B4DD PRG:34DD 4E 20 52 41 4E 4B 49 4E 47 FF E7 22 45 55 52 4F - .byte $50, $45, $41, $4E, $20, $43, $48, $41, $4D, $50, $49, $4F, $4E, $FF, $E7, $22 ; CPU:$B4ED PRG:34ED 50 45 41 4E 20 43 48 41 4D 50 49 4F 4E FF E7 22 - .byte $57, $4F, $52, $4C, $44, $20, $20, $20, $20, $52, $41, $4E, $4B, $49, $4E, $47 ; CPU:$B4FD PRG:34FD 57 4F 52 4C 44 20 20 20 20 52 41 4E 4B 49 4E 47 - .byte $FF, $E7, $22, $57, $4F, $52, $4C, $44, $20, $20, $20, $20, $43, $48, $41, $4D ; CPU:$B50D PRG:350D FF E7 22 57 4F 52 4C 44 20 20 20 20 43 48 41 4D - .byte $50, $49, $4F, $4E, $FF, $E7, $22, $53, $55, $50, $45, $52, $20, $20, $20, $20 ; CPU:$B51D PRG:351D 50 49 4F 4E FF E7 22 53 55 50 45 52 20 20 20 20 - .byte $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E9, $22, $53, $55, $50, $45, $52, $20 ; CPU:$B52D PRG:352D 52 41 4E 4B 49 4E 47 FF E9 22 53 55 50 45 52 20 - .byte $43, $48, $41, $4D, $50, $49, $4F, $4E, $FF, $52, $B5, $66, $B5, $80, $B5, $AA ; CPU:$B53D PRG:353D 43 48 41 4D 50 49 4F 4E FF 52 B5 66 B5 80 B5 AA - .byte $B5, $E8, $B5, $30, $B6, $0F, $22, $3C, $3E, $1F, $3F, $40, $1F, $5C, $5C, $1F ; CPU:$B54D PRG:354D B5 E8 B5 30 B6 0F 22 3C 3E 1F 3F 40 1F 5C 5C 1F - .byte $5D, $5D, $1F, $5B, $5B, $1F, $5C, $5C, $FF, $CF, $21, $3C, $3E, $1F, $2B, $2C ; CPU:$B55D PRG:355D 5D 5D 1F 5B 5B 1F 5C 5C FF CF 21 3C 3E 1F 2B 2C - .byte $1F, $2D, $3B, $1F, $5C, $5C, $1F, $5D, $5D, $1F, $5B, $5B, $1F, $5C, $5C, $1F ; CPU:$B56D PRG:356D 1F 2D 3B 1F 5C 5C 1F 5D 5D 1F 5B 5B 1F 5C 5C 1F - .byte $5C, $5C, $FF, $CE, $21, $20, $3C, $3E, $20, $1F, $20, $2B, $2C, $20, $1F, $20 ; CPU:$B57D PRG:357D 5C 5C FF CE 21 20 3C 3E 20 1F 20 2B 2C 20 1F 20 - .byte $2D, $3B, $20, $1F, $20, $5C, $5C, $20, $1F, $20, $5D, $5D, $20, $1F, $5D, $5B ; CPU:$B58D PRG:358D 2D 3B 20 1F 20 5C 5C 20 1F 20 5D 5D 20 1F 5D 5B - .byte $5B, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $FF, $4E, $21, $20 ; CPU:$B59D PRG:359D 5B 5D 1F 5C 5C 5C 5C 1F 5C 5C 5C 5C FF 4E 21 20 - .byte $3C, $3E, $20, $1F, $20, $2B, $2C, $20, $1F, $20, $2D, $3B, $20, $1F, $20, $5C ; CPU:$B5AD PRG:35AD 3C 3E 20 1F 20 2B 2C 20 1F 20 2D 3B 20 1F 20 5C - .byte $5C, $20, $1F, $20, $5D, $5D, $20, $1F, $5D, $5D, $5D, $5D, $1F, $5B, $5B, $5B ; CPU:$B5BD PRG:35BD 5C 20 1F 20 5D 5D 20 1F 5D 5D 5D 5D 1F 5B 5B 5B - .byte $5B, $1F, $5B, $5B, $5B, $5B, $1F, $5C, $5C, $5C, $5C, $1F, $5B, $5B, $5B, $5B ; CPU:$B5CD PRG:35CD 5B 1F 5B 5B 5B 5B 1F 5C 5C 5C 5C 1F 5B 5B 5B 5B - .byte $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $FF, $0E, $21, $20, $3C, $3E ; CPU:$B5DD PRG:35DD 1F 5C 5C 5C 5C 1F 5C 5C 5C 5C FF 0E 21 20 3C 3E - .byte $20, $1F, $20, $2B, $2C, $20, $1F, $20, $2D, $3B, $20, $1F, $20, $5C, $5C, $20 ; CPU:$B5ED PRG:35ED 20 1F 20 2B 2C 20 1F 20 2D 3B 20 1F 20 5C 5C 20 - .byte $1F, $20, $5B, $5B, $20, $1F, $5D, $5C, $5C, $5D, $1F, $5C, $5C, $5C, $5C, $1F ; CPU:$B5FD PRG:35FD 1F 20 5B 5B 20 1F 5D 5C 5C 5D 1F 5C 5C 5C 5C 1F - .byte $5B, $5B, $5B, $5B, $1F, $5D, $5D, $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5D ; CPU:$B60D PRG:360D 5B 5B 5B 5B 1F 5D 5D 5D 5D 1F 5C 5C 5C 5C 1F 5D - .byte $5D, $5D, $5D, $1F, $5B, $5B, $5B, $5B, $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C ; CPU:$B61D PRG:361D 5D 5D 5D 1F 5B 5B 5B 5B 1F 5C 5C 5C 5C 1F 5C 5C - .byte $5C, $5C, $FF, $CE, $20, $20, $3C, $3E, $20, $1F, $20, $2B, $2C, $20, $1F, $20 ; CPU:$B62D PRG:362D 5C 5C FF CE 20 20 3C 3E 20 1F 20 2B 2C 20 1F 20 - .byte $2D, $3B, $20, $1F, $20, $5C, $5C, $20, $1F, $20, $5D, $5D, $20, $1F, $5D, $5B ; CPU:$B63D PRG:363D 2D 3B 20 1F 20 5C 5C 20 1F 20 5D 5D 20 1F 5D 5B - .byte $5B, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $1F, $5B, $5B, $5B ; CPU:$B64D PRG:364D 5B 5D 1F 5C 5C 5C 5C 1F 5C 5C 5C 5C 1F 5B 5B 5B - .byte $5B, $1F, $5D, $5D, $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5D, $5D, $5D, $5D ; CPU:$B65D PRG:365D 5B 1F 5D 5D 5D 5D 1F 5C 5C 5C 5C 1F 5D 5D 5D 5D - .byte $1F, $5B, $5B, $5B, $5B, $1F, $5D, $5D, $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F ; CPU:$B66D PRG:366D 1F 5B 5B 5B 5B 1F 5D 5D 5D 5D 1F 5C 5C 5C 5C 1F - .byte $5C, $5C, $5C, $5C, $FF, $A5, $7B, $10, $08, $A9, $00, $20, $40, $FD, $4C, $62 ; CPU:$B67D PRG:367D 5C 5C 5C 5C FF A5 7B 10 08 A9 00 20 40 FD 4C 62 - .byte $B7, $A5, $14, $D0, $13, $A5, $13, $F0, $1B, $C9, $40, $F0, $54, $C9, $80, $F0 ; CPU:$B68D PRG:368D B7 A5 14 D0 13 A5 13 F0 1B C9 40 F0 54 C9 80 F0 - .byte $68, $C9, $C0, $F0, $76, $4C, $24, $B7, $A5, $13, $C9, $FF, $D0, $03, $4C, $3C ; CPU:$B69D PRG:369D 68 C9 C0 F0 76 4C 24 B7 A5 13 C9 FF D0 03 4C 3C - .byte $B7, $4C, $24, $B7, $A9, $89, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $20 ; CPU:$B6AD PRG:36AD B7 4C 24 B7 A9 89 20 36 F0 20 F3 9B 20 19 FD 20 - .byte $2E, $FD, $20, $59, $F0, $20, $22, $FD, $A5, $7B, $29, $20, $F0, $08, $E6, $88 ; CPU:$B6BD PRG:36BD 2E FD 20 59 F0 20 22 FD A5 7B 29 20 F0 08 E6 88 - .byte $20, $21, $F1, $20, $BB, $F0, $A2, $B7, $A0, $65, $20, $3A, $FD, $20, $31, $FD ; CPU:$B6CD PRG:36CD 20 21 F1 20 BB F0 A2 B7 A0 65 20 3A FD 20 31 FD - .byte $A2, $0A, $A5, $7B, $29, $20, $D0, $02, $A2, $0B, $8A, $20, $36, $F0, $4C, $24 ; CPU:$B6DD PRG:36DD A2 0A A5 7B 29 20 D0 02 A2 0B 8A 20 36 F0 4C 24 - .byte $B7, $A5, $7B, $29, $20, $D0, $03, $4C, $24, $B7, $20, $1C, $FD, $20, $D5, $F0 ; CPU:$B6ED PRG:36ED B7 A5 7B 29 20 D0 03 4C 24 B7 20 1C FD 20 D5 F0 - .byte $20, $F0, $9B, $20, $F0, $9B, $4C, $24, $B7, $A5, $7B, $29, $20, $D0, $03, $4C ; CPU:$B6FD PRG:36FD 20 F0 9B 20 F0 9B 4C 24 B7 A5 7B 29 20 D0 03 4C - .byte $24, $B7, $20, $1C, $FD, $20, $F0, $9B, $4C, $24, $B7, $A5, $7B, $29, $20, $F0 ; CPU:$B70D PRG:370D 24 B7 20 1C FD 20 F0 9B 4C 24 B7 A5 7B 29 20 F0 - .byte $06, $20, $1C, $FD, $20, $F0, $9B, $E6, $13, $D0, $02, $E6, $14, $A5, $7B, $29 ; CPU:$B71D PRG:371D 06 20 1C FD 20 F0 9B E6 13 D0 02 E6 14 A5 7B 29 - .byte $20, $F0, $06, $A5, $88, $C9, $02, $90, $2C, $20, $92, $F1, $4C, $62, $B7, $A5 ; CPU:$B72D PRG:372D 20 F0 06 A5 88 C9 02 90 2C 20 92 F1 4C 62 B7 A5 - .byte $7B, $29, $20, $D0, $05, $A2, $0F, $4C, $54, $B7, $20, $FD, $F1, $A2, $05, $A5 ; CPU:$B73D PRG:373D 7B 29 20 D0 05 A2 0F 4C 54 B7 20 FD F1 A2 05 A5 - .byte $88, $C9, $02, $90, $02, $A2, $0F, $8A, $20, $40, $FD, $A9, $8A, $20, $36, $F0 ; CPU:$B74D PRG:374D 88 C9 02 90 02 A2 0F 8A 20 40 FD A9 8A 20 36 F0 - .byte $A9, $8B, $20, $36, $F0, $4C, $13, $FD, $68, $21, $57, $49, $4E, $4E, $45, $52 ; CPU:$B75D PRG:375D A9 8B 20 36 F0 4C 13 FD 68 21 57 49 4E 4E 45 52 - .byte $20, $49, $53, $1F, $1F, $20, $20, $53, $54, $52, $4F, $4E, $47, $20, $42, $41 ; CPU:$B76D PRG:376D 20 49 53 1F 1F 20 20 53 54 52 4F 4E 47 20 42 41 - .byte $44, $53, $FF, $A5, $7B, $10, $08, $A9, $00, $20, $40, $FD, $4C, $3A, $B8, $A5 ; CPU:$B77D PRG:377D 44 53 FF A5 7B 10 08 A9 00 20 40 FD 4C 3A B8 A5 - .byte $13, $F0, $15, $C9, $50, $F0, $17, $C9, $80, $D0, $03, $4C, $21, $B8, $C9, $C0 ; CPU:$B78D PRG:378D 13 F0 15 C9 50 F0 17 C9 80 D0 03 4C 21 B8 C9 C0 - .byte $B0, $03, $4C, $30, $B8, $4C, $35, $B8, $EA, $EA, $EA, $4C, $30, $B8, $A5, $7B ; CPU:$B79D PRG:379D B0 03 4C 30 B8 4C 35 B8 EA EA EA 4C 30 B8 A5 7B - .byte $29, $20, $D0, $18, $A2, $0F, $A5, $41, $29, $30, $A8, $C9, $30, $F0, $09, $A2 ; CPU:$B7AD PRG:37AD 29 20 D0 18 A2 0F A5 41 29 30 A8 C9 30 F0 09 A2 - .byte $09, $98, $29, $10, $D0, $02, $A2, $0B, $8A, $4C, $37, $B8, $A5, $41, $29, $20 ; CPU:$B7BD PRG:37BD 09 98 29 10 D0 02 A2 0B 8A 4C 37 B8 A5 41 29 20 - .byte $D0, $05, $A9, $09, $4C, $37, $B8, $A5, $41, $29, $10, $D0, $05, $A9, $0B, $4C ; CPU:$B7CD PRG:37CD D0 05 A9 09 4C 37 B8 A5 41 29 10 D0 05 A9 0B 4C - .byte $37, $B8, $A5, $87, $05, $88, $D0, $0F, $E6, $87, $E6, $88, $20, $FD, $F1, $20 ; CPU:$B7DD PRG:37DD 37 B8 A5 87 05 88 D0 0F E6 87 E6 88 20 FD F1 20 - .byte $FD, $F1, $A9, $05, $4C, $37, $B8, $A5, $87, $F0, $04, $A5, $88, $D0, $39, $20 ; CPU:$B7ED PRG:37ED FD F1 A9 05 4C 37 B8 A5 87 F0 04 A5 88 D0 39 20 - .byte $2E, $FD, $20, $59, $F0, $20, $22, $FD, $A2, $B2, $A0, $E5, $A5, $87, $D0, $04 ; CPU:$B7FD PRG:37FD 2E FD 20 59 F0 20 22 FD A2 B2 A0 E5 A5 87 D0 04 - .byte $A2, $B7, $A0, $65, $20, $3A, $FD, $E6, $87, $E6, $88, $20, $21, $F1, $20, $31 ; CPU:$B80D PRG:380D A2 B7 A0 65 20 3A FD E6 87 E6 88 20 21 F1 20 31 - .byte $FD, $4C, $30, $B8, $A5, $87, $C9, $02, $90, $06, $20, $5A, $F1, $4C, $30, $B8 ; CPU:$B81D PRG:381D FD 4C 30 B8 A5 87 C9 02 90 06 20 5A F1 4C 30 B8 - .byte $20, $92, $F1, $E6, $13, $4C, $3A, $B8, $A9, $0F, $20, $40, $FD, $4C, $13, $FD ; CPU:$B82D PRG:382D 20 92 F1 E6 13 4C 3A B8 A9 0F 20 40 FD 4C 13 FD - .byte $A5, $13, $D0, $06, $EA, $EA, $EA, $4C, $86, $B8, $A5, $13, $C9, $50, $90, $39 ; CPU:$B83D PRG:383D A5 13 D0 06 EA EA EA 4C 86 B8 A5 13 C9 50 90 39 - .byte $A2, $0F, $A5, $7B, $29, $20, $F0, $2A, $A5, $87, $05, $88, $D0, $0F, $E6, $87 ; CPU:$B84D PRG:384D A2 0F A5 7B 29 20 F0 2A A5 87 05 88 D0 0F E6 87 - .byte $E6, $88, $20, $FD, $F1, $20, $FD, $F1, $A2, $05, $4C, $7F, $B8, $A5, $87, $F0 ; CPU:$B85D PRG:385D E6 88 20 FD F1 20 FD F1 A2 05 4C 7F B8 A5 87 F0 - .byte $09, $A5, $88, $F0, $05, $A2, $0F, $4C, $7F, $B8, $A2, $09, $A5, $87, $D0, $02 ; CPU:$B86D PRG:386D 09 A5 88 F0 05 A2 0F 4C 7F B8 A2 09 A5 87 D0 02 - .byte $A2, $0B, $8A, $20, $40, $FD, $4C, $13, $FD, $E6, $13, $4C, $13, $FD, $A5, $7B ; CPU:$B87D PRG:387D A2 0B 8A 20 40 FD 4C 13 FD E6 13 4C 13 FD A5 7B - .byte $10, $08, $A9, $00, $20, $40, $FD, $4C, $B0, $B8, $A5, $13, $C9, $50, $90, $11 ; CPU:$B88D PRG:388D 10 08 A9 00 20 40 FD 4C B0 B8 A5 13 C9 50 90 11 - .byte $A2, $09, $A5, $3B, $29, $20, $F0, $02, $A2, $0B, $8A, $20, $40, $FD, $4C, $B0 ; CPU:$B89D PRG:389D A2 09 A5 3B 29 20 F0 02 A2 0B 8A 20 40 FD 4C B0 - .byte $B8, $E6, $13, $4C, $13, $FD, $6C, $21, $47, $49, $56, $45, $20, $55, $50, $21 ; CPU:$B8AD PRG:38AD B8 E6 13 4C 13 FD 6C 21 47 49 56 45 20 55 50 21 - .byte $FF, $A5, $13, $F0, $0B, $C9, $20, $90, $36, $C9, $80, $F0, $2D, $4C, $EE, $B8 ; CPU:$B8BD PRG:38BD FF A5 13 F0 0B C9 20 90 36 C9 80 F0 2D 4C EE B8 - .byte $20, $2E, $FD, $20, $1F, $FD, $A2, $B9, $A0, $01, $20, $3A, $FD, $20, $31, $FD ; CPU:$B8CD PRG:38CD 20 2E FD 20 1F FD A2 B9 A0 01 20 3A FD 20 31 FD - .byte $A5, $7B, $29, $20, $F0, $19, $A9, $01, $85, $83, $A9, $00, $85, $84, $4C, $FC ; CPU:$B8DD PRG:38DD A5 7B 29 20 F0 19 A9 01 85 83 A9 00 85 84 4C FC - .byte $B8, $20, $2B, $FD, $A5, $18, $29, $0C, $F0, $05, $A9, $00, $20, $40, $FD, $E6 ; CPU:$B8ED PRG:38ED B8 20 2B FD A5 18 29 0C F0 05 A9 00 20 40 FD E6 - .byte $13, $4C, $13, $FD, $CC, $21, $47, $41, $4D, $45, $20, $4F, $56, $45, $52, $FF ; CPU:$B8FD PRG:38FD 13 4C 13 FD CC 21 47 41 4D 45 20 4F 56 45 52 FF - .byte $20, $28, $F0, $85, $1A, $A2, $00, $C9, $05, $90, $10, $E8, $C9, $0A, $90, $0B ; CPU:$B90D PRG:390D 20 28 F0 85 1A A2 00 C9 05 90 10 E8 C9 0A 90 0B - .byte $E8, $C9, $11, $90, $06, $E8, $C9, $1B, $90, $01, $E8, $86, $1B, $8A, $0A, $AA ; CPU:$B91D PRG:391D E8 C9 11 90 06 E8 C9 1B 90 01 E8 86 1B 8A 0A AA - .byte $BC, $7B, $B9, $BD, $7C, $B9, $AA, $20, $3A, $FD, $A5, $1A, $C9, $24, $B0, $10 ; CPU:$B92D PRG:392D BC 7B B9 BD 7C B9 AA 20 3A FD A5 1A C9 24 B0 10 - .byte $C9, $04, $F0, $0C, $C9, $09, $F0, $08, $C9, $10, $F0, $04, $C9, $1A, $D0, $0A ; CPU:$B93D PRG:393D C9 04 F0 0C C9 09 F0 08 C9 10 F0 04 C9 1A D0 0A - .byte $A2, $B9, $A0, $A9, $20, $3A, $FD, $4C, $7A, $B9, $A5, $1B, $0A, $AA, $BD, $B1 ; CPU:$B94D PRG:394D A2 B9 A0 A9 20 3A FD 4C 7A B9 A5 1B 0A AA BD B1 - .byte $B9, $85, $22, $BD, $B2, $B9, $85, $23, $A2, $20, $A0, $91, $20, $34, $FD, $A5 ; CPU:$B95D PRG:395D B9 85 22 BD B2 B9 85 23 A2 20 A0 91 20 34 FD A5 - .byte $83, $A8, $B1, $22, $18, $69, $01, $8D, $07, $20, $20, $37, $FD, $60, $85, $B9 ; CPU:$B96D PRG:396D 83 A8 B1 22 18 69 01 8D 07 20 20 37 FD 60 85 B9 - .byte $8B, $B9, $91, $B9, $99, $B9, $A1, $B9, $8C, $20, $52, $45, $47, $FF, $8C, $20 ; CPU:$B97D PRG:397D 8B B9 91 B9 99 B9 A1 B9 8C 20 52 45 47 FF 8C 20 - .byte $55, $53, $41, $FF, $8C, $20, $45, $55, $52, $4F, $50, $FF, $8C, $20, $57, $4F ; CPU:$B98D PRG:398D 55 53 41 FF 8C 20 45 55 52 4F 50 FF 8C 20 57 4F - .byte $52, $4C, $44, $FF, $8C, $20, $53, $55, $50, $45, $52, $FF, $AD, $20, $43, $48 ; CPU:$B99D PRG:399D 52 4C 44 FF 8C 20 53 55 50 45 52 FF AD 20 43 48 - .byte $41, $4D, $50, $FF, $65, $B4, $69, $B4, $72, $B4, $7C, $B4, $7C, $B4, $A9, $01 ; CPU:$B9AD PRG:39AD 41 4D 50 FF 65 B4 69 B4 72 B4 7C B4 7C B4 A9 01 - .byte $20, $67, $EA, $A5, $AA, $F0, $1A, $A9, $00, $85, $1A, $A5, $1A, $0A, $AA, $BC ; CPU:$B9BD PRG:39BD 20 67 EA A5 AA F0 1A A9 00 85 1A A5 1A 0A AA BC - .byte $E2, $B9, $BD, $E3, $B9, $AA, $20, $3A, $FD, $E6, $1A, $A5, $1A, $C9, $0B, $D0 ; CPU:$B9CD PRG:39CD E2 B9 BD E3 B9 AA 20 3A FD E6 1A A5 1A C9 0B D0 - .byte $EA, $20, $22, $FD, $60, $F6, $B9, $FD, $B9, $0A, $BA, $17, $BA, $2A, $BA, $3D ; CPU:$B9DD PRG:39DD EA 20 22 FD 60 F6 B9 FD B9 0A BA 17 BA 2A BA 3D - .byte $BA, $4C, $BA, $5B, $BA, $64, $BA, $6B, $BA, $8E, $21, $C5, $C4, $DA, $D8, $FF ; CPU:$B9ED PRG:39ED BA 4C BA 5B BA 64 BA 6B BA 8E 21 C5 C4 DA D8 FF - .byte $AB, $21, $6E, $64, $64, $64, $64, $64, $64, $64, $64, $78, $FF, $CB, $21, $C6 ; CPU:$B9FD PRG:39FD AB 21 6E 64 64 64 64 64 64 64 64 78 FF CB 21 C6 - .byte $64, $64, $64, $64, $64, $64, $64, $64, $D9, $FF, $E8, $21, $CA, $C8, $C7, $64 ; CPU:$BA0D PRG:3A0D 64 64 64 64 64 64 64 64 D9 FF E8 21 CA C8 C7 64 - .byte $64, $64, $64, $64, $64, $64, $64, $64, $64, $D2, $D6, $D4, $FF, $08, $22, $CB ; CPU:$BA1D PRG:3A1D 64 64 64 64 64 64 64 64 64 D2 D6 D4 FF 08 22 CB - .byte $C9, $C1, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $D3, $D7, $D5, $FF ; CPU:$BA2D PRG:3A2D C9 C1 64 64 64 64 64 64 64 64 64 64 D3 D7 D5 FF - .byte $2A, $22, $C2, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $D0, $FF, $4A ; CPU:$BA3D PRG:3A3D 2A 22 C2 64 64 64 64 64 64 64 64 64 64 D0 FF 4A - .byte $22, $C3, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $D1, $FF, $6D, $22 ; CPU:$BA4D PRG:3A4D 22 C3 64 64 64 64 64 64 64 64 64 64 D1 FF 6D 22 - .byte $CC, $CD, $64, $64, $CF, $CE, $FF, $8E, $22, $CC, $CD, $CF, $CE, $FF, $AF, $22 ; CPU:$BA5D PRG:3A5D CC CD 64 64 CF CE FF 8E 22 CC CD CF CE FF AF 22 - .byte $CC, $CE, $FF, $A9, $02, $20, $67, $EA, $A5, $41, $29, $30, $C9, $30, $D0, $0B ; CPU:$BA6D PRG:3A6D CC CE FF A9 02 20 67 EA A5 41 29 30 C9 30 D0 0B - .byte $A9, $FF, $85, $A1, $A2, $80, $A0, $C8, $20, $3B, $EF, $60, $A5, $3E, $10, $03 ; CPU:$BA7D PRG:3A7D A9 FF 85 A1 A2 80 A0 C8 20 3B EF 60 A5 3E 10 03 - .byte $4C, $CE, $BA, $A5, $18, $AA, $45, $B0, $86, $B0, $85, $1A, $8A, $25, $1A, $29 ; CPU:$BA8D PRG:3A8D 4C CE BA A5 18 AA 45 B0 86 B0 85 1A 8A 25 1A 29 - .byte $08, $D0, $03, $4C, $CE, $BA, $A9, $8C, $20, $36, $F0, $20, $F3, $9B, $20, $19 ; CPU:$BA9D PRG:3A9D 08 D0 03 4C CE BA A9 8C 20 36 F0 20 F3 9B 20 19 - .byte $FD, $A9, $0D, $20, $36, $F0, $20, $19, $FD, $20, $2B, $FD, $A5, $18, $AA, $45 ; CPU:$BAAD PRG:3AAD FD A9 0D 20 36 F0 20 19 FD 20 2B FD A5 18 AA 45 - .byte $B0, $86, $B0, $85, $1A, $8A, $25, $1A, $29, $08, $F0, $EA, $A9, $0C, $20, $36 ; CPU:$BABD PRG:3ABD B0 86 B0 85 1A 8A 25 1A 29 08 F0 EA A9 0C 20 36 - .byte $F0, $60 ; CPU:$BACD PRG:3ACD F0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AA7D +; Global: Branch target inside Label: taken when AA7D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AA7D: + lda #$00 ; CPU:$AA7D PRG:2A7D A9 00 + sta Zp10 ; CPU:$AA7F PRG:2A7F 85 10 + sta Zp0F ; CPU:$AA81 PRG:2A81 85 0F + lda PpuCtrlShadow ; CPU:$AA83 PRG:2A83 A5 0D + ora #$02 ; CPU:$AA85 PRG:2A85 09 02 + sta PpuCtrlShadow ; CPU:$AA87 PRG:2A87 85 0D + jsr Sub_FD2E ; CPU:$AA89 PRG:2A89 20 2E FD + jsr Sub_FD1F ; CPU:$AA8C PRG:2A8C 20 1F FD + ldx #$AC ; CPU:$AA8F PRG:2A8F A2 AC + ldy #$C6 ; CPU:$AA91 PRG:2A91 A0 C6 + lda #$00 ; CPU:$AA93 PRG:2A93 A9 00 + jsr Sub_FD28 ; CPU:$AA95 PRG:2A95 20 28 FD + ldx #$AB ; CPU:$AA98 PRG:2A98 A2 AB + ldy #$05 ; CPU:$AA9A PRG:2A9A A0 05 + jsr Sub_FD3A ; CPU:$AA9C PRG:2A9C 20 3A FD + ldx #$AB ; CPU:$AA9F PRG:2A9F A2 AB + ldy #$48 ; CPU:$AAA1 PRG:2AA1 A0 48 + jsr Sub_FD3A ; CPU:$AAA3 PRG:2AA3 20 3A FD + ldx #$AB ; CPU:$AAA6 PRG:2AA6 A2 AB + ldy #$54 ; CPU:$AAA8 PRG:2AA8 A0 54 + jsr Sub_FD3A ; CPU:$AAAA PRG:2AAA 20 3A FD + ldx #$AB ; CPU:$AAAD PRG:2AAD A2 AB + ldy #$6A ; CPU:$AAAF PRG:2AAF A0 6A +; ----------------------------------------------------------------------------- +; Routine: Label_AAB1 +; Global: Branch target inside Label: taken when AAB1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AAB1: + jsr Sub_FD3A ; CPU:$AAB1 PRG:2AB1 20 3A FD + ldx #$AB ; CPU:$AAB4 PRG:2AB4 A2 AB + ldy #$72 ; CPU:$AAB6 PRG:2AB6 A0 72 + jsr Sub_FD3A ; CPU:$AAB8 PRG:2AB8 20 3A FD + ldx #$AB ; CPU:$AABB PRG:2ABB A2 AB + ldy #$C4 ; CPU:$AABD PRG:2ABD A0 C4 + jsr Sub_FD3A ; CPU:$AABF PRG:2ABF 20 3A FD + ldx #$AB ; CPU:$AAC2 PRG:2AC2 A2 AB + ldy #$CC ; CPU:$AAC4 PRG:2AC4 A0 CC + jsr Sub_F1C3 ; CPU:$AAC6 PRG:2AC6 20 C3 F1 + lda Zp77 ; CPU:$AAC9 PRG:2AC9 A5 77 + and #$20 ; CPU:$AACB PRG:2ACB 29 20 + bne Sub_Loop66 ; CPU:$AACD PRG:2ACD D0 0E + ldx #$AB ; CPU:$AACF PRG:2ACF A2 AB + ldy #$BB ; CPU:$AAD1 PRG:2AD1 A0 BB + jsr Sub_FD3A ; CPU:$AAD3 PRG:2AD3 20 3A FD + ldx #$AB ; CPU:$AAD6 PRG:2AD6 A2 AB + ldy #$C0 ; CPU:$AAD8 PRG:2AD8 A0 C0 + jsr Sub_F1C3 ; CPU:$AADA PRG:2ADA 20 C3 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop66 +; Global: Branch target inside Sub: taken when Loop66. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop66: + jsr Sub_AC9A ; CPU:$AADD PRG:2ADD 20 9A AC + ldx #$AB ; CPU:$AAE0 PRG:2AE0 A2 AB + ldy #$D0 ; CPU:$AAE2 PRG:2AE2 A0 D0 + jsr Sub_FD3A ; CPU:$AAE4 PRG:2AE4 20 3A FD + ldx #$AB ; CPU:$AAE7 PRG:2AE7 A2 AB + ldy #$EB ; CPU:$AAE9 PRG:2AE9 A0 EB + jsr Sub_FD3A ; CPU:$AAEB PRG:2AEB 20 3A FD + jsr Sub_FD31 ; CPU:$AAEE PRG:2AEE 20 31 FD + lda #$00 ; CPU:$AAF1 PRG:2AF1 A9 00 + sta Zp79 ; CPU:$AAF3 PRG:2AF3 85 79 + sta ZpB1 ; CPU:$AAF5 PRG:2AF5 85 B1 + sta ZpB2 ; CPU:$AAF7 PRG:2AF7 85 B2 + sta ZpB3 ; CPU:$AAF9 PRG:2AF9 85 B3 + sta ZpB4 ; CPU:$AAFB PRG:2AFB 85 B4 + lda #$01 ; CPU:$AAFD PRG:2AFD A9 01 + jsr Sub_FD40 ; CPU:$AAFF PRG:2AFF 20 40 FD + jmp Sub_FD13 ; CPU:$AB02 PRG:2B02 4C 13 FD +; ---- data $AB05-$AC7E (378 bytes) ---- +LevelGraphicData: + .byte $E7, $20, $20, $07, $20, $20, $20, $20, $20, $20, $07, $1F, $06, $08, $0B, $0D ; CPU:$AB05 PRG:-14FB E7 20 20 07 20 20 20 20 20 20 07 1F 06 08 0B 0D + .byte $10, $0D, $10, $06, $08, $0B, $13, $14, $0D, $10, $19, $1A, $1B, $1F, $20, $09 ; CPU:$AB15 PRG:2B15 10 0D 10 06 08 0B 13 14 0D 10 19 1A 1B 1F 20 09 + .byte $09, $0E, $11, $17, $18, $1E, $23, $09, $15, $16, $0E, $11, $09, $09, $09, $1F ; CPU:$AB25 PRG:2B25 09 0E 11 17 18 1E 23 09 15 16 0E 11 09 09 09 1F + .byte $20, $0A, $0C, $0F, $12, $0F, $1D, $22, $24, $0C, $0A, $0C, $0F, $12, $1C, $1C ; CPU:$AB35 PRG:2B35 20 0A 0C 0F 12 0F 1D 22 24 0C 0A 0C 0F 12 1C 1C + .byte $1C, $22, $FF, $8B, $21, $57, $52, $45, $53, $54, $4C, $49, $4E, $47, $FF, $CC ; CPU:$AB45 PRG:2B45 1C 22 FF 8B 21 57 52 45 53 54 4C 49 4E 47 FF CC + .byte $21, $31, $20, $50, $4C, $41, $59, $45, $52, $1F, $1F, $32, $20, $50, $4C, $41 ; CPU:$AB55 PRG:2B55 21 31 20 50 4C 41 59 45 52 1F 1F 32 20 50 4C 41 + .byte $59, $45, $52, $53, $FF, $4F, $22, $27, $28, $1F, $29, $2A, $FF, $A2, $22, $4C ; CPU:$AB65 PRG:2B65 59 45 52 53 FF 4F 22 27 28 1F 29 2A FF A2 22 4C + .byte $49, $43, $45, $4E, $53, $45, $44, $20, $42, $59, $1F, $20, $20, $20, $20, $4E ; CPU:$AB75 PRG:2B75 49 43 45 4E 53 45 44 20 42 59 1F 20 20 20 20 4E + .byte $49, $4E, $54, $45, $4E, $44, $4F, $20, $4F, $46, $20, $41, $4D, $45, $52, $49 ; CPU:$AB85 PRG:2B85 49 4E 54 45 4E 44 4F 20 4F 46 20 41 4D 45 52 49 + .byte $43, $41, $20, $49, $4E, $43, $2E, $1F, $1F, $5E, $20, $31, $39, $38, $36, $20 ; CPU:$AB95 PRG:2B95 43 41 20 49 4E 43 2E 1F 1F 5E 20 31 39 38 36 20 + .byte $44, $41, $54, $41, $20, $45, $41, $53, $54, $20, $55, $2E, $53, $2E, $41, $2E ; CPU:$ABA5 PRG:2BA5 44 41 54 41 20 45 41 53 54 20 55 2E 53 2E 41 2E + .byte $20, $49, $4E, $43, $2E, $FF, $62, $20, $31, $50, $FF, $4F, $00, $85, $20, $6C ; CPU:$ABB5 PRG:2BB5 20 49 4E 43 2E FF 62 20 31 50 FF 4F 00 85 20 6C + .byte $20, $43, $48, $41, $4D, $50, $FF, $7D, $00, $8F, $20, $C0, $23, $75, $75, $75 ; CPU:$ABC5 PRG:2BC5 20 43 48 41 4D 50 FF 7D 00 8F 20 C0 23 75 75 75 + .byte $75, $75, $75, $75, $75, $20, $20, $40, $A0, $20, $20, $20, $20, $CA, $CA, $CA ; CPU:$ABD5 PRG:2BD5 75 75 75 75 75 20 20 40 A0 20 20 20 20 CA CA CA + .byte $CA, $CA, $CA, $CA, $CA, $FF, $E3, $23, $E0, $50, $FF, $A5, $13, $C9, $F0, $F0 ; CPU:$ABE5 PRG:2BE5 CA CA CA CA CA FF E3 23 E0 50 FF A5 13 C9 F0 F0 + .byte $1C, $48, $20, $D6, $AC, $A2, $00, $68, $85, $10, $8E, $05, $20, $8D, $05, $20 ; CPU:$ABF5 PRG:2BF5 1C 48 20 D6 AC A2 00 68 85 10 8E 05 20 8D 05 20 + .byte $A5, $78, $D0, $09, $20, $2B, $FD, $A5, $18, $29, $0C, $F0, $23, $A5, $0D, $29 ; CPU:$AC05 PRG:2C05 A5 78 D0 09 20 2B FD A5 18 29 0C F0 23 A5 0D 29 + .byte $FD, $85, $0D, $8D, $00, $20, $A9, $00, $85, $78, $85, $0F, $85, $10, $8D, $05 ; CPU:$AC15 PRG:2C15 FD 85 0D 8D 00 20 A9 00 85 78 85 0F 85 10 8D 05 + .byte $20, $8D, $05, $20, $A9, $0C, $85, $B0, $A9, $02, $20, $40, $FD, $4C, $37, $AC ; CPU:$AC25 PRG:2C25 20 8D 05 20 A9 0C 85 B0 A9 02 20 40 FD 4C 37 AC + .byte $E6, $13, $4C, $13, $FD, $A5, $14, $C9, $02, $F0, $41, $20, $D6, $AC, $20, $2B ; CPU:$AC35 PRG:2C35 E6 13 4C 13 FD A5 14 C9 02 F0 41 20 D6 AC 20 2B + .byte $FD, $A5, $18, $AA, $45, $B0, $85, $1A, $8A, $85, $B0, $25, $1A, $85, $1A, $29 ; CPU:$AC45 PRG:2C45 FD A5 18 AA 45 B0 85 1A 8A 85 B0 25 1A 85 1A 29 + .byte $04, $D0, $0F, $A5, $1A, $29, $08, $F0, $1A, $A5, $77, $85, $7B, $A9, $03, $4C ; CPU:$AC55 PRG:2C55 04 D0 0F A5 1A 29 08 F0 1A A5 77 85 7B A9 03 4C + .byte $8B, $AC, $A5, $77, $49, $20, $85, $77, $20, $9A, $AC, $A9, $02, $20, $40, $FD ; CPU:$AC65 PRG:2C65 8B AC A5 77 49 20 85 77 20 9A AC A9 02 20 40 FD + .byte $4C, $97, $AC, $E6, $13, $D0, $1B, $E6, $14, $4C ; CPU:$AC75 PRG:2C75 4C 97 AC E6 13 D0 1B E6 14 4C +; ----------------------------------------------------------------------------- +; Routine: Label_AC7F +; Global: Branch target inside Label: taken when AC7F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AC7F: + .byte $97, $AC ; CPU:$AC7F PRG:2C7F 97 AC -- sax ZpAC,y (undocumented; ca65 cannot encode) + lda #$00 ; CPU:$AC81 PRG:2C81 A9 00 + sta Zp79 ; CPU:$AC83 PRG:2C83 85 79 + lda #$80 ; CPU:$AC85 PRG:2C85 A9 80 + sta Zp7B ; CPU:$AC87 PRG:2C87 85 7B + lda #$03 ; CPU:$AC89 PRG:2C89 A9 03 + jsr Sub_FD40 ; CPU:$AC8B PRG:2C8B 20 40 FD + jsr Sub_FD2E ; CPU:$AC8E PRG:2C8E 20 2E FD + jsr Sub_FD1F ; CPU:$AC91 PRG:2C91 20 1F FD + jsr Sub_FD31 ; CPU:$AC94 PRG:2C94 20 31 FD + jmp Sub_FD13 ; CPU:$AC97 PRG:2C97 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_AC9A +; Global: Branch target inside Sub: taken when AC9A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AC9A: + ldx #$21 ; CPU:$AC9A PRG:2C9A A2 21 + ldy #$CA ; CPU:$AC9C PRG:2C9C A0 CA + jsr Sub_FD34 ; CPU:$AC9E PRG:2C9E 20 34 FD + ldx #$00 ; CPU:$ACA1 PRG:2CA1 A2 00 + lda Zp77 ; CPU:$ACA3 PRG:2CA3 A5 77 + and #$20 ; CPU:$ACA5 PRG:2CA5 29 20 + bne Sub_Loop67 ; CPU:$ACA7 PRG:2CA7 D0 02 + ldx #$3F ; CPU:$ACA9 PRG:2CA9 A2 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop67 +; Global: Branch target inside Sub: taken when Loop67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop67: + stx PPUDATA ; CPU:$ACAB PRG:2CAB 8E 07 20 + ldx #$22 ; CPU:$ACAE PRG:2CAE A2 22 + ldy #$0A ; CPU:$ACB0 PRG:2CB0 A0 0A + jsr Sub_FD34 ; CPU:$ACB2 PRG:2CB2 20 34 FD + ldx #$00 ; CPU:$ACB5 PRG:2CB5 A2 00 + lda Zp77 ; CPU:$ACB7 PRG:2CB7 A5 77 + and #$20 ; CPU:$ACB9 PRG:2CB9 29 20 + beq Sub_Loop68 ; CPU:$ACBB PRG:2CBB F0 02 + ldx #$3F ; CPU:$ACBD PRG:2CBD A2 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop68 +; Global: Branch target inside Sub: taken when Loop68. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop68: + stx PPUDATA ; CPU:$ACBF PRG:2CBF 8E 07 20 + jsr Sub_FD37 ; CPU:$ACC2 PRG:2CC2 20 37 FD + rts ; CPU:$ACC5 PRG:2CC5 60 +; ---- data $ACC6-$AD0B (70 bytes) ---- +LevelTilePatternData: + .byte $0F, $10, $0F, $0F, $0F, $16, $0F, $0F, $0F, $01, $16, $10, $0F, $26, $16, $10 ; CPU:$ACC6 PRG:-133A 0F 10 0F 0F 0F 16 0F 0F 0F 01 16 10 0F 26 16 10 + .byte $20, $2B, $FD, $A5, $79, $30, $38, $A5, $B4, $C9, $0A, $B0, $15, $A5, $B1, $49 ; CPU:$ACD6 PRG:2CD6 20 2B FD A5 79 30 38 A5 B4 C9 0A B0 15 A5 B1 49 + .byte $FF, $25, $15, $F0, $06, $A6, $B4, $95, $B5, $E6, $B4, $A5, $15, $85, $B1, $4C ; CPU:$ACE6 PRG:2CE6 FF 25 15 F0 06 A6 B4 95 B5 E6 B4 A5 15 85 B1 4C + .byte $3D, $AD, $A2, $00, $B5, $B5, $DD, $3E, $AD, $D0, $11, $E8, $E0, $0A, $D0, $F4 ; CPU:$ACF6 PRG:2CF6 3D AD A2 00 B5 B5 DD 3E AD D0 11 E8 E0 0A D0 F4 + .byte $A9, $80, $85, $79, $A9, $00 ; CPU:$AD06 PRG:2D06 A9 80 85 79 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AD0C +; Global: Branch target inside Label: taken when AD0C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AD0C: + sta ZpB1 ; CPU:$AD0C PRG:2D0C 85 B1 + lda #$FF ; CPU:$AD0E PRG:2D0E A9 FF + sta Zp7A ; CPU:$AD10 PRG:2D10 85 7A + jmp Sub_AD3D ; CPU:$AD12 PRG:2D12 4C 3D AD +; ----------------------------------------------------------------------------- +; Routine: Label_AD15 +; Global: Branch target inside Label: taken when AD15. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AD15: + lda ZpB1 ; CPU:$AD15 PRG:2D15 A5 B1 + eor #$FF ; CPU:$AD17 PRG:2D17 49 FF + and Zp15 ; CPU:$AD19 PRG:2D19 25 15 + and #$01 ; CPU:$AD1B PRG:2D1B 29 01 + beq Sub_Loop70 ; CPU:$AD1D PRG:2D1D F0 1A + lda ZpB3 ; CPU:$AD1F PRG:2D1F A5 B3 + cmp #$09 ; CPU:$AD21 PRG:2D21 C9 09 + bne Sub_Loop69 ; CPU:$AD23 PRG:2D23 D0 06 + lda ZpB2 ; CPU:$AD25 PRG:2D25 A5 B2 + cmp #$09 ; CPU:$AD27 PRG:2D27 C9 09 + beq Sub_Loop70 ; CPU:$AD29 PRG:2D29 F0 0E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop69 +; Global: Branch target inside Sub: taken when Loop69. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop69: + inc ZpB2 ; CPU:$AD2B PRG:2D2B E6 B2 + lda ZpB2 ; CPU:$AD2D PRG:2D2D A5 B2 + cmp #$0A ; CPU:$AD2F PRG:2D2F C9 0A + bcc Sub_Loop70 ; CPU:$AD31 PRG:2D31 90 06 + lda #$00 ; CPU:$AD33 PRG:2D33 A9 00 + sta ZpB2 ; CPU:$AD35 PRG:2D35 85 B2 + inc ZpB3 ; CPU:$AD37 PRG:2D37 E6 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop70 +; Global: Branch target inside Sub: taken when Loop70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop70: + lda Zp15 ; CPU:$AD39 PRG:2D39 A5 15 + sta ZpB1 ; CPU:$AD3B PRG:2D3B 85 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_AD3D +; Global: Branch target inside Sub: taken when AD3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_AD3D: + rts ; CPU:$AD3D PRG:2D3D 60 +; ---- data $AD3E-$AD9C (95 bytes) ---- +LevelObjectPlacementData: + .byte $10, $80, $20, $40, $20, $80, $10, $40, $01, $02, $A2, $AD, $A0, $7C, $84, $22 ; CPU:$AD3E PRG:-12C2 10 80 20 40 20 80 10 40 01 02 A2 AD A0 7C 84 22 + .byte $86, $23, $A0, $00, $B1, $22, $99, $00, $02, $C8, $C0, $10, $D0, $F6, $A5, $7B ; CPU:$AD4E PRG:2D4E 86 23 A0 00 B1 22 99 00 02 C8 C0 10 D0 F6 A5 7B + .byte $29, $20, $D0, $09, $A5, $7A, $F0, $05, $A9, $27, $8D, $01, $02, $A2, $02, $A0 ; CPU:$AD5E PRG:2D5E 29 20 D0 09 A5 7A F0 05 A9 27 8D 01 02 A2 02 A0 + .byte $00, $A9, $00, $20, $28, $FD, $A9, $04, $20, $40, $FD, $4C, $13, $FD, $0F, $1A ; CPU:$AD6E PRG:2D6E 00 A9 00 20 28 FD A9 04 20 40 FD 4C 13 FD 0F 1A + .byte $37, $16, $0F, $01, $37, $16, $0F, $00, $37, $16, $0F, $16, $37, $16, $A5, $7B ; CPU:$AD7E PRG:2D7E 37 16 0F 01 37 16 0F 00 37 16 0F 16 37 16 A5 7B + .byte $30, $0B, $A2, $00, $A9, $00, $95, $32, $E8, $E0, $41, $D0, $F9, $A9, $00 ; CPU:$AD8E PRG:2D8E 30 0B A2 00 A9 00 95 32 E8 E0 41 D0 F9 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AD9D +; Global: Branch target inside Label: taken when AD9D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AD9D: + sta Zp87 ; CPU:$AD9D PRG:2D9D 85 87 + sta Zp88 ; CPU:$AD9F PRG:2D9F 85 88 + sta Zp8A ; CPU:$ADA1 PRG:2DA1 85 8A + lda Zp7B ; CPU:$ADA3 PRG:2DA3 A5 7B + bmi Sub_Loop73 ; CPU:$ADA5 PRG:2DA5 30 52 + ldx #$05 ; CPU:$ADA7 PRG:2DA7 A2 05 + lda Zp7B ; CPU:$ADA9 PRG:2DA9 A5 7B + and #$20 ; CPU:$ADAB PRG:2DAB 29 20 + bne Sub_Loop71 ; CPU:$ADAD PRG:2DAD D0 1E + ldx #$00 ; CPU:$ADAF PRG:2DAF A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ADB1 +; Global: Branch target inside Label: taken when ADB1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ADB1: + jsr Sub_F028 ; CPU:$ADB1 PRG:2DB1 20 28 F0 + cmp #$24 ; CPU:$ADB4 PRG:2DB4 C9 24 + bcs Sub_Loop71 ; CPU:$ADB6 PRG:2DB6 B0 15 + inx ; CPU:$ADB8 PRG:2DB8 E8 + cmp #$1A ; CPU:$ADB9 PRG:2DB9 C9 1A + bcs Sub_Loop71 ; CPU:$ADBB PRG:2DBB B0 10 + inx ; CPU:$ADBD PRG:2DBD E8 + cmp #$10 ; CPU:$ADBE PRG:2DBE C9 10 + bcs Sub_Loop71 ; CPU:$ADC0 PRG:2DC0 B0 0B + inx ; CPU:$ADC2 PRG:2DC2 E8 + cmp #$09 ; CPU:$ADC3 PRG:2DC3 C9 09 + bcs Sub_Loop71 ; CPU:$ADC5 PRG:2DC5 B0 06 + inx ; CPU:$ADC7 PRG:2DC7 E8 + cmp #$04 ; CPU:$ADC8 PRG:2DC8 C9 04 + bcs Sub_Loop71 ; CPU:$ADCA PRG:2DCA B0 01 + inx ; CPU:$ADCC PRG:2DCC E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop71 +; Global: Branch target inside Sub: taken when Loop71. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop71: + txa ; CPU:$ADCD PRG:2DCD 8A + asl a ; CPU:$ADCE PRG:2DCE 0A +; ----------------------------------------------------------------------------- +; Routine: Label_ADCF +; Global: Branch target inside Label: taken when ADCF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ADCF: + tax ; CPU:$ADCF PRG:2DCF AA + lda $AE01,x ; CPU:$ADD0 PRG:2DD0 BD 01 AE + sta Zp84 ; CPU:$ADD3 PRG:2DD3 85 84 + lda $AE02,x ; CPU:$ADD5 PRG:2DD5 BD 02 AE + sta Zp83 ; CPU:$ADD8 PRG:2DD8 85 83 + lda Zp7B ; CPU:$ADDA PRG:2DDA A5 7B + and #$20 ; CPU:$ADDC PRG:2DDC 29 20 + bne Sub_Loop73 ; CPU:$ADDE PRG:2DDE D0 19 + lda Zp79 ; CPU:$ADE0 PRG:2DE0 A5 79 + bpl Sub_Loop73 ; CPU:$ADE2 PRG:2DE2 10 15 + lda ZpB2 ; CPU:$ADE4 PRG:2DE4 A5 B2 + ora ZpB3 ; CPU:$ADE6 PRG:2DE6 05 B3 + bne Sub_Loop72 ; CPU:$ADE8 PRG:2DE8 D0 07 + lda #$00 ; CPU:$ADEA PRG:2DEA A9 00 + sta Zp79 ; CPU:$ADEC PRG:2DEC 85 79 + jmp Sub_Loop73 ; CPU:$ADEE PRG:2DEE 4C F9 AD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop72 +; Global: Branch target inside Sub: taken when Loop72. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop72: + lda ZpB2 ; CPU:$ADF1 PRG:2DF1 A5 B2 + sta Zp83 ; CPU:$ADF3 PRG:2DF3 85 83 + lda ZpB3 ; CPU:$ADF5 PRG:2DF5 A5 B3 + sta Zp84 ; CPU:$ADF7 PRG:2DF7 85 84 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop73 +; Global: Branch target inside Sub: taken when Loop73. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop73: + lda #$05 ; CPU:$ADF9 PRG:2DF9 A9 05 + jsr Sub_FD40 ; CPU:$ADFB PRG:2DFB 20 40 FD + jmp Sub_FD13 ; CPU:$ADFE PRG:2DFE 4C 13 FD +; ---- data $AE01-$AF9F (415 bytes) ---- +; referenced by `lda $AE01,x` at $ADD0 (operand $AE01 falls inside this region) +; referenced by `lda $AE02,x` at $ADD5 (operand $AE02 falls inside this region) +WrestlerParameterTable: + .byte $03, $06, $02, $06, $01, $06, $00, $09, $00, $04, $00, $01, $A5, $7B, $30, $43 ; CPU:$AE01 PRG:-11FF 03 06 02 06 01 06 00 09 00 04 00 01 A5 7B 30 43 + .byte $A5, $13, $D0, $36, $20, $2E, $FD, $20, $1F, $FD, $A2, $AE, $A0, $61, $A5, $7B ; CPU:$AE11 PRG:2E11 A5 13 D0 36 20 2E FD 20 1F FD A2 AE A0 61 A5 7B + .byte $29, $20, $F0, $1D, $A2, $AE, $A0, $83, $A5, $83, $C9, $01, $F0, $0C, $A2, $AE ; CPU:$AE21 PRG:2E21 29 20 F0 1D A2 AE A0 83 A5 83 C9 01 F0 0C A2 AE + .byte $A0, $91, $C9, $02, $F0, $04, $A2, $AE, $A0, $A0, $20, $3A, $FD, $A2, $AE, $A0 ; CPU:$AE31 PRG:2E31 A0 91 C9 02 F0 04 A2 AE A0 A0 20 3A FD A2 AE A0 + .byte $71, $20, $3A, $FD, $20, $31, $FD, $4C, $5C, $AE, $C9, $60, $90, $0D, $A9, $06 ; CPU:$AE41 PRG:2E41 71 20 3A FD 20 31 FD 4C 5C AE C9 60 90 0D A9 06 + .byte $20, $3D, $F0, $A9, $06, $20, $40, $FD, $4C, $5E, $AE, $E6, $13, $4C, $13, $FD ; CPU:$AE51 PRG:2E51 20 3D F0 A9 06 20 40 FD 4C 5E AE E6 13 4C 13 FD + .byte $EA, $21, $50, $4C, $41, $59, $45, $52, $20, $52, $45, $41, $44, $59, $21, $FF ; CPU:$AE61 PRG:2E61 EA 21 50 4C 41 59 45 52 20 52 45 41 44 59 21 FF + .byte $E9, $21, $32, $20, $50, $4C, $41, $59, $45, $52, $20, $52, $45, $41, $44, $59 ; CPU:$AE71 PRG:2E71 E9 21 32 20 50 4C 41 59 45 52 20 52 45 41 44 59 + .byte $21, $FF, $2A, $21, $46, $49, $52, $53, $54, $20, $4D, $41, $54, $43, $48, $FF ; CPU:$AE81 PRG:2E81 21 FF 2A 21 46 49 52 53 54 20 4D 41 54 43 48 FF + .byte $2A, $21, $53, $45, $43, $4F, $4E, $44, $20, $4D, $41, $54, $43, $48, $FF, $2A ; CPU:$AE91 PRG:2E91 2A 21 53 45 43 4F 4E 44 20 4D 41 54 43 48 FF 2A + .byte $21, $54, $48, $49, $52, $44, $20, $4D, $41, $54, $43, $48, $FF, $20, $2E, $FD ; CPU:$AEA1 PRG:2EA1 21 54 48 49 52 44 20 4D 41 54 43 48 FF 20 2E FD + .byte $20, $1F, $FD, $A2, $00, $A9, $00, $95, $32, $E8, $E0, $13, $D0, $F9, $85, $6D ; CPU:$AEB1 PRG:2EB1 20 1F FD A2 00 A9 00 95 32 E8 E0 13 D0 F9 85 6D + .byte $85, $6E, $85, $6F, $85, $70, $85, $71, $85, $72, $A9, $40, $85, $35, $A9, $40 ; CPU:$AEC1 PRG:2EC1 85 6E 85 6F 85 70 85 71 85 72 A9 40 85 35 A9 40 + .byte $A0, $70, $A2, $60, $85, $45, $84, $46, $86, $47, $A9, $00, $A0, $60, $A2, $AE ; CPU:$AED1 PRG:2ED1 A0 70 A2 60 85 45 84 46 86 47 A9 00 A0 60 A2 AE + .byte $85, $55, $84, $56, $86, $57, $A9, $40, $A0, $B0, $A2, $2A, $85, $4A, $84, $4B ; CPU:$AEE1 PRG:2EE1 85 55 84 56 86 57 A9 40 A0 B0 A2 2A 85 4A 84 4B + .byte $86, $4C, $A9, $00, $A0, $30, $A2, $B4, $85, $5A, $84, $5B, $86, $5C, $A9, $CA ; CPU:$AEF1 PRG:2EF1 86 4C A9 00 A0 30 A2 B4 85 5A 84 5B 86 5C A9 CA + .byte $85, $69, $A9, $21, $85, $6A, $A9, $C9, $85, $6B, $A9, $21, $85, $6C, $A9, $00 ; CPU:$AF01 PRG:2F01 85 69 A9 21 85 6A A9 C9 85 6B A9 21 85 6C A9 00 + .byte $85, $93, $85, $8C, $85, $8D, $85, $9F, $85, $A1, $85, $A3, $85, $A2, $85, $A5 ; CPU:$AF11 PRG:2F11 85 93 85 8C 85 8D 85 9F 85 A1 85 A3 85 A2 85 A5 + .byte $85, $A6, $85, $A7, $85, $89, $85, $AB, $A9, $05, $85, $A0, $A9, $18, $85, $48 ; CPU:$AF21 PRG:2F21 85 A6 85 A7 85 89 85 AB A9 05 85 A0 A9 18 85 48 + .byte $85, $4D, $85, $58, $85, $5D, $20, $28, $F0, $85, $1A, $A2, $00, $BD, $17, $B0 ; CPU:$AF31 PRG:2F31 85 4D 85 58 85 5D 20 28 F0 85 1A A2 00 BD 17 B0 + .byte $95, $B1, $E8, $E0, $10, $D0, $F6, $A5, $7B, $29, $20, $D0, $29, $A2, $00, $A5 ; CPU:$AF41 PRG:2F41 95 B1 E8 E0 10 D0 F6 A5 7B 29 20 D0 29 A2 00 A5 + .byte $1A, $C9, $03, $90, $21, $C9, $08, $90, $10, $E8, $C9, $0F, $90, $0B, $E8, $C9 ; CPU:$AF51 PRG:2F51 1A C9 03 90 21 C9 08 90 10 E8 C9 0F 90 0B E8 C9 + .byte $19, $90, $06, $E8, $C9, $23, $90, $01, $E8, $8A, $0A, $AA, $BD, $27, $B0, $85 ; CPU:$AF61 PRG:2F61 19 90 06 E8 C9 23 90 01 E8 8A 0A AA BD 27 B0 85 + .byte $B4, $BD, $28, $B0, $85, $B8, $A2, $00, $A0, $B1, $A9, $01, $20, $28, $FD, $A9 ; CPU:$AF71 PRG:2F71 B4 BD 28 B0 85 B8 A2 00 A0 B1 A9 01 20 28 FD A9 + .byte $80, $85, $8B, $A5, $79, $10, $2E, $A5, $7B, $29, $20, $D0, $28, $A9, $00, $85 ; CPU:$AF81 PRG:2F81 80 85 8B A5 79 10 2E A5 7B 29 20 D0 28 A9 00 85 + .byte $79, $A9, $80, $85, $36, $A9, $B0, $85, $41, $A9, $40, $85, $44, $A9, $00 ; CPU:$AF91 PRG:2F91 79 A9 80 85 36 A9 B0 85 41 A9 40 85 44 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AFA0 +; Global: Branch target inside Label: taken when AFA0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFA0: + ldy #$A8 ; CPU:$AFA0 PRG:2FA0 A0 A8 + ldx #$60 ; CPU:$AFA2 PRG:2FA2 A2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_AFA4 +; Global: Branch target inside Label: taken when AFA4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFA4: + sta Zp45 ; CPU:$AFA4 PRG:2FA4 85 45 + sty Zp46 ; CPU:$AFA6 PRG:2FA6 84 46 + stx Zp47 ; CPU:$AFA8 PRG:2FA8 86 47 + ldx #$90 ; CPU:$AFAA PRG:2FAA A2 90 + sta Zp55 ; CPU:$AFAC PRG:2FAC 85 55 + sty Zp56 ; CPU:$AFAE PRG:2FAE 84 56 + stx Zp57 ; CPU:$AFB0 PRG:2FB0 86 57 + lda #$81 ; CPU:$AFB2 PRG:2FB2 A9 81 + sta Zp8B ; CPU:$AFB4 PRG:2FB4 85 8B + lda #$00 ; CPU:$AFB6 PRG:2FB6 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_AFB8 +; Global: Branch target inside Label: taken when AFB8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_AFB8: + sta ZpAA ; CPU:$AFB8 PRG:2FB8 85 AA + lda Zp7B ; CPU:$AFBA PRG:2FBA A5 7B + and #$20 ; CPU:$AFBC PRG:2FBC 29 20 + bne Sub_Loop75 ; CPU:$AFBE PRG:2FBE D0 1E + jsr Sub_F028 ; CPU:$AFC0 PRG:2FC0 20 28 F0 + cmp #$04 ; CPU:$AFC3 PRG:2FC3 C9 04 + beq Sub_Loop74 ; CPU:$AFC5 PRG:2FC5 F0 13 + cmp #$09 ; CPU:$AFC7 PRG:2FC7 C9 09 + beq Sub_Loop74 ; CPU:$AFC9 PRG:2FC9 F0 0F + cmp #$10 ; CPU:$AFCB PRG:2FCB C9 10 + beq Sub_Loop74 ; CPU:$AFCD PRG:2FCD F0 0B + cmp #$1A ; CPU:$AFCF PRG:2FCF C9 1A + beq Sub_Loop74 ; CPU:$AFD1 PRG:2FD1 F0 07 + cmp #$24 ; CPU:$AFD3 PRG:2FD3 C9 24 + bcs Sub_Loop74 ; CPU:$AFD5 PRG:2FD5 B0 03 + jmp Sub_Loop75 ; CPU:$AFD7 PRG:2FD7 4C DE AF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop74 +; Global: Branch target inside Sub: taken when Loop74. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop74: + lda #$FF ; CPU:$AFDA PRG:2FDA A9 FF + sta ZpAA ; CPU:$AFDC PRG:2FDC 85 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop75 +; Global: Branch target inside Sub: taken when Loop75. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop75: + lda Zp83 ; CPU:$AFDE PRG:2FDE A5 83 + sta Zp4F ; CPU:$AFE0 PRG:2FE0 85 4F + lda Zp84 ; CPU:$AFE2 PRG:2FE2 A5 84 + sta Zp50 ; CPU:$AFE4 PRG:2FE4 85 50 + ldx #$B0 ; CPU:$AFE6 PRG:2FE6 A2 B0 + ldy #$31 ; CPU:$AFE8 PRG:2FE8 A0 31 + jsr Sub_FD3A ; CPU:$AFEA PRG:2FEA 20 3A FD + lda Zp7B ; CPU:$AFED PRG:2FED A5 7B + and #$20 ; CPU:$AFEF PRG:2FEF 29 20 + beq Sub_Loop76 ; CPU:$AFF1 PRG:2FF1 F0 11 + ldx #$B0 ; CPU:$AFF3 PRG:2FF3 A2 B0 + ldy #$A7 ; CPU:$AFF5 PRG:2FF5 A0 A7 + jsr Sub_FD3A ; CPU:$AFF7 PRG:2FF7 20 3A FD + ldx #$B0 ; CPU:$AFFA PRG:2FFA A2 B0 + ldy #$AF ; CPU:$AFFC PRG:2FFC A0 AF + jsr Sub_FD3A ; CPU:$AFFE PRG:2FFE 20 3A FD + jmp Sub_B007 ; CPU:$B001 PRG:3001 4C 07 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop76 +; Global: Branch target inside Sub: taken when Loop76. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop76: + jsr Sub_B90D ; CPU:$B004 PRG:3004 20 0D B9 +; ----------------------------------------------------------------------------- +; Routine: Sub_B007 +; Global: Branch target inside Sub: taken when B007. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B007: + jsr Sub_FD31 ; CPU:$B007 PRG:3007 20 31 FD + lda #$0C ; CPU:$B00A PRG:300A A9 0C + jsr Sub_F036 ; CPU:$B00C PRG:300C 20 36 F0 + lda #$07 ; CPU:$B00F PRG:300F A9 07 + jsr Sub_FD40 ; CPU:$B011 PRG:3011 20 40 FD + jmp Sub_FD13 ; CPU:$B014 PRG:3014 4C 13 FD +; ---- data $B017-$B0C0 (170 bytes) ---- +; referenced by `ldy $B028` at $D8EA (operand $B028 falls inside this region) + .byte $0F, $0F, $26, $10, $0F, $0F, $26, $16, $0F, $0F, $16, $16, $0F, $27, $10, $0F ; CPU:$B017 PRG:3017 0F 0F 26 10 0F 0F 26 16 0F 0F 16 16 0F 27 10 0F + .byte $16, $10, $03, $07, $07, $03, $14, $08, $08, $14, $42, $20, $FD, $FD, $FD, $FD ; CPU:$B027 PRG:3027 16 10 03 07 07 03 14 08 08 14 42 20 FD FD FD FD + .byte $FD, $FD, $FD, $FD, $FD, $FD, $20, $F6, $F4, $FA, $F8, $20, $FD, $FD, $FD, $FD ; CPU:$B037 PRG:3037 FD FD FD FD FD FD 20 F6 F4 FA F8 20 FD FD FD FD + .byte $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $1F, $FD, $43, $48, $41, $4D, $50, $20 ; CPU:$B047 PRG:3047 FD FD FD FD FD FD FD FD 1F FD 43 48 41 4D 50 20 + .byte $20, $20, $FD, $FC, $F7, $F5, $FB, $F9, $FC, $FD, $31, $50, $20, $20, $20, $20 ; CPU:$B057 PRG:3057 20 20 FD FC F7 F5 FB F9 FC FD 31 50 20 20 20 20 + .byte $20, $20, $20, $20, $FD, $1F, $FD, $52, $4F, $55, $4E, $44, $20, $20, $20, $FD ; CPU:$B067 PRG:3067 20 20 20 20 FD 1F FD 52 4F 55 4E 44 20 20 20 FD + .byte $20, $20, $20, $20, $20, $20, $FD, $43, $50, $20, $20, $20, $20, $20, $20, $20 ; CPU:$B077 PRG:3077 20 20 20 20 20 20 FD 43 50 20 20 20 20 20 20 20 + .byte $20, $FD, $1F, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $20, $20, $20 ; CPU:$B087 PRG:3087 20 FD 1F FD FD FD FD FD FD FD FD FD FD 20 20 20 + .byte $20, $20, $20, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FD, $FF ; CPU:$B097 PRG:3097 20 20 20 FD FD FD FD FD FD FD FD FD FD FD FD FF + .byte $83, $20, $20, $20, $20, $20, $20, $FF, $93, $20, $32, $50, $FF, $20, $2E, $FD ; CPU:$B0A7 PRG:30A7 83 20 20 20 20 20 20 FF 93 20 32 50 FF 20 2E FD + .byte $A5, $8B, $29, $01, $D0, $06, $20, $BB, $B9, $4C ; CPU:$B0B7 PRG:30B7 A5 8B 29 01 D0 06 20 BB B9 4C +; ----------------------------------------------------------------------------- +; Routine: Label_B0C1 +; Global: Branch target inside Label: taken when B0C1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B0C1: + dec ZpB0 ; CPU:$B0C1 PRG:30C1 C6 B0 + jsr Sub_BA70 ; CPU:$B0C3 PRG:30C3 20 70 BA + lda #$00 ; CPU:$B0C6 PRG:30C6 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_B0C8 +; Global: Branch target inside Label: taken when B0C8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B0C8: + sta Zp8B ; CPU:$B0C8 PRG:30C8 85 8B + jsr Sub_FD31 ; CPU:$B0CA PRG:30CA 20 31 FD + lda #$08 ; CPU:$B0CD PRG:30CD A9 08 + jsr Sub_FD40 ; CPU:$B0CF PRG:30CF 20 40 FD + jmp Sub_FD13 ; CPU:$B0D2 PRG:30D2 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Label_B0D5 +; Global: Branch target inside Label: taken when B0D5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B0D5: + ldx #$13 ; CPU:$B0D5 PRG:30D5 A2 13 + lda GameState ; CPU:$B0D7 PRG:30D7 A5 36 + and #$40 ; CPU:$B0D9 PRG:30D9 29 40 + beq Sub_Loop77 ; CPU:$B0DB PRG:30DB F0 02 + ldx #$18 ; CPU:$B0DD PRG:30DD A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop77 +; Global: Branch target inside Sub: taken when Loop77. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop77: + stx WrestlerIndex ; CPU:$B0DF PRG:30DF 86 85 + ldx #$23 ; CPU:$B0E1 PRG:30E1 A2 23 + lda GameState ; CPU:$B0E3 PRG:30E3 A5 36 + and #$20 ; CPU:$B0E5 PRG:30E5 29 20 + beq Sub_Loop78 ; CPU:$B0E7 PRG:30E7 F0 02 + ldx #$28 ; CPU:$B0E9 PRG:30E9 A2 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop78 +; Global: Branch target inside Sub: taken when Loop78. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop78: + stx WrestlerIndex2 ; CPU:$B0EB PRG:30EB 86 86 + lda Zp3E ; CPU:$B0ED PRG:30ED A5 3E + bmi Sub_Loop81 ; CPU:$B0EF PRG:30EF 30 1D + lda Zp3B ; CPU:$B0F1 PRG:30F1 A5 3B + bmi Sub_Loop80 ; CPU:$B0F3 PRG:30F3 30 13 + lda Zp37 ; CPU:$B0F5 PRG:30F5 A5 37 + bmi Sub_Loop79 ; CPU:$B0F7 PRG:30F7 30 09 + jsr Sub_D9E6 ; CPU:$B0F9 PRG:30F9 20 E6 D9 + jsr Sub_DA9C ; CPU:$B0FC PRG:30FC 20 9C DA + jmp Sub_B114 ; CPU:$B0FF PRG:30FF 4C 14 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop79 +; Global: Branch target inside Sub: taken when Loop79. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop79: + jsr Sub_DB3B ; CPU:$B102 PRG:3102 20 3B DB + jmp Sub_B114 ; CPU:$B105 PRG:3105 4C 14 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop80 +; Global: Branch target inside Sub: taken when Loop80. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop80: + jsr Sub_DC64 ; CPU:$B108 PRG:3108 20 64 DC + jmp Sub_B114 ; CPU:$B10B PRG:310B 4C 14 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop81 +; Global: Branch target inside Sub: taken when Loop81. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop81: + jsr Sub_E2D2 ; CPU:$B10E PRG:310E 20 D2 E2 + jsr Sub_E342 ; CPU:$B111 PRG:3111 20 42 E3 +; ----------------------------------------------------------------------------- +; Routine: Sub_B114 +; Global: Branch target inside Sub: taken when B114. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B114: + jsr Sub_E378 ; CPU:$B114 PRG:3114 20 78 E3 + lda GameState ; CPU:$B117 PRG:3117 A5 36 + bmi Sub_Loop82 ; CPU:$B119 PRG:3119 30 13 + jsr Sub_E401 ; CPU:$B11B PRG:311B 20 01 E4 + jsr Sub_E535 ; CPU:$B11E PRG:311E 20 35 E5 + lda Zp7B ; CPU:$B121 PRG:3121 A5 7B + bmi Sub_Loop82 ; CPU:$B123 PRG:3123 30 09 + lda Zp13 ; CPU:$B125 PRG:3125 A5 13 + cmp #$20 ; CPU:$B127 PRG:3127 C9 20 + bcs Sub_Loop82 ; CPU:$B129 PRG:3129 B0 03 + jmp Sub_Loop95 ; CPU:$B12B PRG:312B 4C 0D B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop82 +; Global: Branch target inside Sub: taken when Loop82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop82: + jsr Sub_FD2B ; CPU:$B12E PRG:312E 20 2B FD + lda Zp7B ; CPU:$B131 PRG:3131 A5 7B + bpl Sub_Loop83 ; CPU:$B133 PRG:3133 10 03 + jsr Sub_EBE4 ; CPU:$B135 PRG:3135 20 E4 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop83 +; Global: Branch target inside Sub: taken when Loop83. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop83: + lda Zp3E ; CPU:$B138 PRG:3138 A5 3E + bmi Sub_Loop89 ; CPU:$B13A PRG:313A 30 7F + lda Zp3B ; CPU:$B13C PRG:313C A5 3B + bmi Sub_Loop88 ; CPU:$B13E PRG:313E 30 72 + lda Zp37 ; CPU:$B140 PRG:3140 A5 37 + bmi Sub_Loop87 ; CPU:$B142 PRG:3142 30 65 + jsr Sub_BAD2 ; CPU:$B144 PRG:3144 20 D2 BA + cmp #$00 ; CPU:$B147 PRG:3147 C9 00 + bne Sub_Loop90 ; CPU:$B149 PRG:3149 D0 79 + jsr Sub_BBAF ; CPU:$B14B PRG:314B 20 AF BB + cmp #$00 ; CPU:$B14E PRG:314E C9 00 + bne Sub_Loop90 ; CPU:$B150 PRG:3150 D0 72 + jsr Sub_BD2E ; CPU:$B152 PRG:3152 20 2E BD + cmp #$00 ; CPU:$B155 PRG:3155 C9 00 + bne Sub_Loop90 ; CPU:$B157 PRG:3157 D0 6B + jsr Sub_BD98 ; CPU:$B159 PRG:3159 20 98 BD + lda Zp7B ; CPU:$B15C PRG:315C A5 7B + and #$20 ; CPU:$B15E PRG:315E 29 20 + bne Sub_Loop86 ; CPU:$B160 PRG:3160 D0 41 + jsr Sub_EC43 ; CPU:$B162 PRG:3162 20 43 EC + jsr Sub_C00D ; CPU:$B165 PRG:3165 20 0D C0 + lda GameState ; CPU:$B168 PRG:3168 A5 36 + bmi Sub_Loop90 ; CPU:$B16A PRG:316A 30 58 + lda GameState ; CPU:$B16C PRG:316C A5 36 + and #$10 ; CPU:$B16E PRG:316E 29 10 + bne Sub_Loop90 ; CPU:$B170 PRG:3170 D0 52 + lda ZpA0 ; CPU:$B172 PRG:3172 A5 A0 + bne Sub_Loop85 ; CPU:$B174 PRG:3174 D0 22 + lda GameState ; CPU:$B176 PRG:3176 A5 36 + ora #$0C ; CPU:$B178 PRG:3178 09 0C + sta GameState ; CPU:$B17A PRG:317A 85 36 + ldy #$01 ; CPU:$B17C PRG:317C A0 01 + lda Zp84 ; CPU:$B17E PRG:317E A5 84 + cmp #$03 ; CPU:$B180 PRG:3180 C9 03 + bcs Sub_Loop84 ; CPU:$B182 PRG:3182 B0 0F + ldx Zp83 ; CPU:$B184 PRG:3184 A6 83 + ldy $B224,x ; CPU:$B186 PRG:3186 BC 24 B2 + lda Zp84 ; CPU:$B189 PRG:3189 A5 84 + beq Sub_Loop84 ; CPU:$B18B PRG:318B F0 06 + dey ; CPU:$B18D PRG:318D 88 + cmp #$01 ; CPU:$B18E PRG:318E C9 01 + beq Sub_Loop84 ; CPU:$B190 PRG:3190 F0 01 + dey ; CPU:$B192 PRG:3192 88 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop84 +; Global: Branch target inside Sub: taken when Loop84. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop84: + sty ZpA0 ; CPU:$B193 PRG:3193 84 A0 + jmp Sub_Loop90 ; CPU:$B195 PRG:3195 4C C4 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop85 +; Global: Branch target inside Sub: taken when Loop85. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop85: + lda Zp11 ; CPU:$B198 PRG:3198 A5 11 + and #$3F ; CPU:$B19A PRG:319A 29 3F + bne Sub_Loop90 ; CPU:$B19C PRG:319C D0 26 + dec ZpA0 ; CPU:$B19E PRG:319E C6 A0 + jmp Sub_Loop90 ; CPU:$B1A0 PRG:31A0 4C C4 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop86 +; Global: Branch target inside Sub: taken when Loop86. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop86: + jsr Sub_C39F ; CPU:$B1A3 PRG:31A3 20 9F C3 + jmp Sub_Loop90 ; CPU:$B1A6 PRG:31A6 4C C4 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop87 +; Global: Branch target inside Sub: taken when Loop87. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop87: + jsr Sub_C6CE ; CPU:$B1A9 PRG:31A9 20 CE C6 + jsr Sub_C7F9 ; CPU:$B1AC PRG:31AC 20 F9 C7 + jmp Sub_B1B5 ; CPU:$B1AF PRG:31AF 4C B5 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop88 +; Global: Branch target inside Sub: taken when Loop88. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop88: + jsr Sub_C7FA ; CPU:$B1B2 PRG:31B2 20 FA C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_B1B5 +; Global: Branch target inside Sub: taken when B1B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B1B5: + jsr Sub_D4AE ; CPU:$B1B5 PRG:31B5 20 AE D4 + jmp Sub_Loop90 ; CPU:$B1B8 PRG:31B8 4C C4 B1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop89 +; Global: Branch target inside Sub: taken when Loop89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop89: + jsr Sub_D4AF ; CPU:$B1BB PRG:31BB 20 AF D4 + jsr Sub_D5CC ; CPU:$B1BE PRG:31BE 20 CC D5 + jsr Sub_D5EB ; CPU:$B1C1 PRG:31C1 20 EB D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop90 +; Global: Branch target inside Sub: taken when Loop90. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop90: + lda GameState ; CPU:$B1C4 PRG:31C4 A5 36 + bmi Sub_Loop91 ; CPU:$B1C6 PRG:31C6 30 06 + jsr Sub_D615 ; CPU:$B1C8 PRG:31C8 20 15 D6 + jsr $D7B4 ; CPU:$B1CB PRG:31CB 20 B4 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop91 +; Global: Branch target inside Sub: taken when Loop91. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop91: + jsr Sub_D8ED ; CPU:$B1CE PRG:31CE 20 ED D8 + jsr Sub_D948 ; CPU:$B1D1 PRG:31D1 20 48 D9 + lda Zp8B ; CPU:$B1D4 PRG:31D4 A5 8B + bpl Sub_Loop92 ; CPU:$B1D6 PRG:31D6 10 05 + lda #$07 ; CPU:$B1D8 PRG:31D8 A9 07 + jsr Sub_FD40 ; CPU:$B1DA PRG:31DA 20 40 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop92 +; Global: Branch target inside Sub: taken when Loop92. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop92: + lda Zp7B ; CPU:$B1DD PRG:31DD A5 7B + bmi Sub_Loop93 ; CPU:$B1DF PRG:31DF 30 03 + jsr Sub_BA89 ; CPU:$B1E1 PRG:31E1 20 89 BA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop93 +; Global: Branch target inside Sub: taken when Loop93. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop93: + lda Zp7B ; CPU:$B1E4 PRG:31E4 A5 7B + bpl Sub_Loop95 ; CPU:$B1E6 PRG:31E6 10 25 + lda Zp18 ; CPU:$B1E8 PRG:31E8 A5 18 + tax ; CPU:$B1EA PRG:31EA AA + eor ZpB0 ; CPU:$B1EB PRG:31EB 45 B0 + stx ZpB0 ; CPU:$B1ED PRG:31ED 86 B0 + sta PlayerState ; CPU:$B1EF PRG:31EF 85 1A + txa ; CPU:$B1F1 PRG:31F1 8A + and PlayerState ; CPU:$B1F2 PRG:31F2 25 1A + and #$0C ; CPU:$B1F4 PRG:31F4 29 0C + beq Sub_Loop94 ; CPU:$B1F6 PRG:31F6 F0 07 + lda #$FF ; CPU:$B1F8 PRG:31F8 A9 FF + sta Zp78 ; CPU:$B1FA PRG:31FA 85 78 + jmp Sub_B205 ; CPU:$B1FC PRG:31FC 4C 05 B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop94 +; Global: Branch target inside Sub: taken when Loop94. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop94: + lda Zp14 ; CPU:$B1FF PRG:31FF A5 14 + cmp #$08 ; CPU:$B201 PRG:3201 C9 08 + bne Sub_Loop95 ; CPU:$B203 PRG:3203 D0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_B205 +; Global: Branch target inside Sub: taken when B205. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B205: + lda #$00 ; CPU:$B205 PRG:3205 A9 00 + jsr Sub_FD40 ; CPU:$B207 PRG:3207 20 40 FD + jmp Sub_B221 ; CPU:$B20A PRG:320A 4C 21 B2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop95 +; Global: Branch target inside Sub: taken when Loop95. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop95: + lda Zp7B ; CPU:$B20D PRG:320D A5 7B + bmi Sub_Loop96 ; CPU:$B20F PRG:320F 30 06 + lda Zp13 ; CPU:$B211 PRG:3211 A5 13 + cmp #$20 ; CPU:$B213 PRG:3213 C9 20 + bcs Sub_Loop97 ; CPU:$B215 PRG:3215 B0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop96 +; Global: Branch target inside Sub: taken when Loop96. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop96: + inc Zp13 ; CPU:$B217 PRG:3217 E6 13 + bne Sub_Loop97 ; CPU:$B219 PRG:3219 D0 02 + inc Zp14 ; CPU:$B21B PRG:321B E6 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop97 +; Global: Branch target inside Sub: taken when Loop97. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop97: + lda #$80 ; CPU:$B21D PRG:321D A9 80 + sta Zp8A ; CPU:$B21F PRG:321F 85 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_B221 +; Global: Branch target inside Sub: taken when B221. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B221: + jmp Sub_FD13 ; CPU:$B221 PRG:3221 4C 13 FD +; ---- data $B224-$B2C1 (158 bytes) ---- +; referenced by `ldy $B224,x` at $B186 (operand $B224 falls inside this region) + .byte $05, $05, $05, $05, $05, $04, $04, $04, $03, $03, $A5, $7B, $10, $08, $A9, $00 ; CPU:$B224 PRG:3224 05 05 05 05 05 04 04 04 03 03 A5 7B 10 08 A9 00 + .byte $20, $40, $FD, $4C, $E2, $B2, $A5, $14, $D0, $13, $A5, $13, $F0, $1B, $C9, $40 ; CPU:$B234 PRG:3234 20 40 FD 4C E2 B2 A5 14 D0 13 A5 13 F0 1B C9 40 + .byte $F0, $4B, $C9, $80, $F0, $53, $C9, $C0, $F0, $58, $4C, $AC, $B2, $A5, $13, $C9 ; CPU:$B244 PRG:3244 F0 4B C9 80 F0 53 C9 C0 F0 58 4C AC B2 A5 13 C9 + .byte $C0, $D0, $03, $4C, $C4, $B2, $4C, $AC, $B2, $A9, $89, $20, $36, $F0, $20, $F3 ; CPU:$B254 PRG:3254 C0 D0 03 4C C4 B2 4C AC B2 A9 89 20 36 F0 20 F3 + .byte $9B, $20, $19, $FD, $20, $2E, $FD, $20, $59, $F0, $20, $22, $FD, $A5, $7B, $29 ; CPU:$B264 PRG:3264 9B 20 19 FD 20 2E FD 20 59 F0 20 22 FD A5 7B 29 + .byte $20, $F0, $08, $E6, $87, $20, $21, $F1, $20, $BB, $F0, $A2, $B2, $A0, $E5, $20 ; CPU:$B274 PRG:3274 20 F0 08 E6 87 20 21 F1 20 BB F0 A2 B2 A0 E5 20 + .byte $3A, $FD, $20, $31, $FD, $A9, $0A, $20, $36, $F0, $4C, $AC, $B2, $20, $1C, $FD ; CPU:$B284 PRG:3284 3A FD 20 31 FD A9 0A 20 36 F0 4C AC B2 20 1C FD + .byte $20, $D5, $F0, $20, $F0, $9B, $4C, $AC, $B2, $20, $1C, $FD, $20, $F0, $9B, $4C ; CPU:$B294 PRG:3294 20 D5 F0 20 F0 9B 4C AC B2 20 1C FD 20 F0 9B 4C + .byte $AC, $B2, $20, $1C, $FD, $20, $F0, $9B, $E6, $13, $D0, $02, $E6, $14, $A5, $7B ; CPU:$B2A4 PRG:32A4 AC B2 20 1C FD 20 F0 9B E6 13 D0 02 E6 14 A5 7B + .byte $29, $20, $F0, $06, $A5, $87, $C9, $02, $90, $24, $20, $5A, $F1, $4C ; CPU:$B2B4 PRG:32B4 29 20 F0 06 A5 87 C9 02 90 24 20 5A F1 4C +; ----------------------------------------------------------------------------- +; Routine: Label_B2C2 +; Global: Branch target inside Label: taken when B2C2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B2C2: + .byte $E2, $B2 ; CPU:$B2C2 PRG:32C2 E2 B2 -- nop #$B2 (undocumented; ca65 cannot encode) + ldx #$0A ; CPU:$B2C4 PRG:32C4 A2 0A +; ----------------------------------------------------------------------------- +; Routine: Label_B2C6 +; Global: Branch target inside Label: taken when B2C6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B2C6: + lda Zp7B ; CPU:$B2C6 PRG:32C6 A5 7B + and #$20 ; CPU:$B2C8 PRG:32C8 29 20 + beq Sub_Loop98 ; CPU:$B2CA PRG:32CA F0 0D + jsr Sub_F1FD ; CPU:$B2CC PRG:32CC 20 FD F1 + ldx #$05 ; CPU:$B2CF PRG:32CF A2 05 + lda Zp87 ; CPU:$B2D1 PRG:32D1 A5 87 + cmp #$02 ; CPU:$B2D3 PRG:32D3 C9 02 + bcc Sub_Loop98 ; CPU:$B2D5 PRG:32D5 90 02 + ldx #$0F ; CPU:$B2D7 PRG:32D7 A2 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop98 +; Global: Branch target inside Sub: taken when Loop98. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop98: + txa ; CPU:$B2D9 PRG:32D9 8A + jsr Sub_FD40 ; CPU:$B2DA PRG:32DA 20 40 FD + lda #$8A ; CPU:$B2DD PRG:32DD A9 8A + jsr Sub_F036 ; CPU:$B2DF PRG:32DF 20 36 F0 + jmp Sub_FD13 ; CPU:$B2E2 PRG:32E2 4C 13 FD +; ---- data $B2E5-$B3BF (219 bytes) ---- + .byte $68, $21, $57, $49, $4E, $4E, $45, $52, $20, $49, $53, $1F, $1F, $20, $20, $52 ; CPU:$B2E5 PRG:32E5 68 21 57 49 4E 4E 45 52 20 49 53 1F 1F 20 20 52 + .byte $49, $43, $4B, $59, $20, $46, $49, $47, $48, $54, $45, $52, $53, $FF, $A5, $14 ; CPU:$B2F5 PRG:32F5 49 43 4B 59 20 46 49 47 48 54 45 52 53 FF A5 14 + .byte $D0, $07, $A5, $13, $F0, $0F, $4C, $08, $B4, $A5, $13, $C9, $C0, $F0, $03, $4C ; CPU:$B305 PRG:3305 D0 07 A5 13 F0 0F 4C 08 B4 A5 13 C9 C0 F0 03 4C + .byte $08, $B4, $4C, $14, $B4, $20, $28, $F0, $85, $1A, $20, $2E, $FD, $20, $1F, $FD ; CPU:$B315 PRG:3315 08 B4 4C 14 B4 20 28 F0 85 1A 20 2E FD 20 1F FD + .byte $A2, $B4, $A0, $31, $A5, $1A, $C9, $23, $90, $04, $A2, $B4, $A0, $41, $A9, $00 ; CPU:$B325 PRG:3325 A2 B4 A0 31 A5 1A C9 23 90 04 A2 B4 A0 41 A9 00 + .byte $20, $28, $FD, $A2, $23, $A0, $E8, $20, $34, $FD, $A9, $A0, $8D, $07, $20, $8D ; CPU:$B335 PRG:3335 20 28 FD A2 23 A0 E8 20 34 FD A9 A0 8D 07 20 8D + .byte $07, $20, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $A9, $80 ; CPU:$B345 PRG:3345 07 20 8D 07 20 8D 07 20 8D 07 20 8D 07 20 A9 80 + .byte $8D, $07, $20, $20, $37, $FD, $A2, $00, $A5, $1A, $C9, $03, $F0, $17, $E8, $C9 ; CPU:$B355 PRG:3355 8D 07 20 20 37 FD A2 00 A5 1A C9 03 F0 17 E8 C9 + .byte $08, $F0, $12, $E8, $C9, $0F, $F0, $0D, $E8, $C9, $19, $F0, $08, $E8, $C9, $23 ; CPU:$B365 PRG:3365 08 F0 12 E8 C9 0F F0 0D E8 C9 19 F0 08 E8 C9 23 + .byte $B0, $03, $4C, $97, $B3, $8A, $0A, $48, $AA, $BC, $5B, $B4, $BD, $5C, $B4, $AA ; CPU:$B375 PRG:3375 B0 03 4C 97 B3 8A 0A 48 AA BC 5B B4 BD 5C B4 AA + .byte $20, $3A, $FD, $68, $AA, $BC, $48, $B5, $BD, $49, $B5, $AA, $20, $3A, $FD, $4C ; CPU:$B385 PRG:3385 20 3A FD 68 AA BC 48 B5 BD 49 B5 AA 20 3A FD 4C + .byte $00, $B4, $A0, $00, $A5, $1A, $C9, $03, $90, $13, $C8, $C9, $08, $90, $16, $C8 ; CPU:$B395 PRG:3395 00 B4 A0 00 A5 1A C9 03 90 13 C8 C9 08 90 16 C8 + .byte $C9, $0F, $90, $19, $C8, $C9, $19, $90, $1C, $C8, $4C, $D2, $B3, $A6, $83, $BD ; CPU:$B3A5 PRG:33A5 C9 0F 90 19 C8 C9 19 90 1C C8 4C D2 B3 A6 83 BD + .byte $65, $B4, $4C, $D7, $B3, $A6, $83, $BD, $69, $B4, $4C ; CPU:$B3B5 PRG:33B5 65 B4 4C D7 B3 A6 83 BD 69 B4 4C +; ----------------------------------------------------------------------------- +; Routine: Label_B3C0 +; Global: Branch target inside Label: taken when B3C0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B3C0: + .byte $D7, $B3 ; CPU:$B3C0 PRG:33C0 D7 B3 -- dcp ZpB3,y (undocumented; ca65 cannot encode) + ldx Zp83 ; CPU:$B3C2 PRG:33C2 A6 83 + lda $B472,x ; CPU:$B3C4 PRG:33C4 BD 72 B4 + jmp Sub_B3D7 ; CPU:$B3C7 PRG:33C7 4C D7 B3 +; ----------------------------------------------------------------------------- +; Routine: Label_B3CA +; Global: Branch target inside Label: taken when B3CA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B3CA: + ldx Zp83 ; CPU:$B3CA PRG:33CA A6 83 + lda $B47C,x ; CPU:$B3CC PRG:33CC BD 7C B4 + jmp Sub_B3D7 ; CPU:$B3CF PRG:33CF 4C D7 B3 +; ----------------------------------------------------------------------------- +; Routine: Label_B3D2 +; Global: Branch target inside Label: taken when B3D2. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B3D2: + ldx Zp83 ; CPU:$B3D2 PRG:33D2 A6 83 + lda $B47C,x ; CPU:$B3D4 PRG:33D4 BD 7C B4 +; ----------------------------------------------------------------------------- +; Routine: Sub_B3D7 +; Global: Branch target inside Sub: taken when B3D7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B3D7: + pha ; CPU:$B3D7 PRG:33D7 48 + tya ; CPU:$B3D8 PRG:33D8 98 + asl a ; CPU:$B3D9 PRG:33D9 0A + pha ; CPU:$B3DA PRG:33DA 48 + tax ; CPU:$B3DB PRG:33DB AA + ldy $B451,x ; CPU:$B3DC PRG:33DC BC 51 B4 + lda $B452,x ; CPU:$B3DF PRG:33DF BD 52 B4 + tax ; CPU:$B3E2 PRG:33E2 AA + jsr Sub_FD3A ; CPU:$B3E3 PRG:33E3 20 3A FD + pla ; CPU:$B3E6 PRG:33E6 68 + tax ; CPU:$B3E7 PRG:33E7 AA + ldy $B546,x ; CPU:$B3E8 PRG:33E8 BC 46 B5 + lda $B547,x ; CPU:$B3EB PRG:33EB BD 47 B5 + tax ; CPU:$B3EE PRG:33EE AA + jsr Sub_FD3A ; CPU:$B3EF PRG:33EF 20 3A FD + ldx #$22 ; CPU:$B3F2 PRG:33F2 A2 22 + ldy #$F9 ; CPU:$B3F4 PRG:33F4 A0 F9 + jsr Sub_FD34 ; CPU:$B3F6 PRG:33F6 20 34 FD + pla ; CPU:$B3F9 PRG:33F9 68 + sta PPUDATA ; CPU:$B3FA PRG:33FA 8D 07 20 + jsr Sub_FD37 ; CPU:$B3FD PRG:33FD 20 37 FD + jsr Sub_FD31 ; CPU:$B400 PRG:3400 20 31 FD + lda #$09 ; CPU:$B403 PRG:3403 A9 09 + jsr Sub_F036 ; CPU:$B405 PRG:3405 20 36 F0 + jsr Sub_F15A ; CPU:$B408 PRG:3408 20 5A F1 + inc Zp13 ; CPU:$B40B PRG:340B E6 13 + bne Sub_Loop99 ; CPU:$B40D PRG:340D D0 1F + inc Zp14 ; CPU:$B40F PRG:340F E6 14 + jmp Sub_Loop99 ; CPU:$B411 PRG:3411 4C 2E B4 +; ----------------------------------------------------------------------------- +; Routine: Label_B414 +; Global: Branch target inside Label: taken when B414. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B414: + jsr Sub_FD2E ; CPU:$B414 PRG:3414 20 2E FD + jsr Sub_FD1F ; CPU:$B417 PRG:3417 20 1F FD + jsr Sub_FD31 ; CPU:$B41A PRG:341A 20 31 FD + ldx #$02 ; CPU:$B41D PRG:341D A2 02 + ldy #$00 ; CPU:$B41F PRG:341F A0 00 + lda #$00 ; CPU:$B421 PRG:3421 A9 00 + jsr Sub_FD28 ; CPU:$B423 PRG:3423 20 28 FD + jsr Sub_F1FD ; CPU:$B426 PRG:3426 20 FD F1 + lda #$05 ; CPU:$B429 PRG:3429 A9 05 + jsr Sub_FD40 ; CPU:$B42B PRG:342B 20 40 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop99 +; Global: Branch target inside Sub: taken when Loop99. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop99: + jmp Sub_FD13 ; CPU:$B42E PRG:342E 4C 13 FD +; ---- data $B431-$B697 (615 bytes) ---- +; referenced by `lda $B472,x` at $B3C4 (operand $B472 falls inside this region) +; referenced by `lda $B47C,x` at $B3CC (operand $B47C falls inside this region) +; referenced by `lda $B47C,x` at $B3D4 (operand $B47C falls inside this region) +; referenced by `ldy $B451,x` at $B3DC (operand $B451 falls inside this region) +; referenced by `lda $B452,x` at $B3DF (operand $B452 falls inside this region) +; referenced by `ldy $B546,x` at $B3E8 (operand $B546 falls inside this region) +; ... and 1 further references from decoded code + .byte $0F, $10, $27, $00, $0F, $16, $0F, $0F, $0F, $16, $0F, $0F, $0F, $16, $0F, $0F ; CPU:$B431 PRG:3431 0F 10 27 00 0F 16 0F 0F 0F 16 0F 0F 0F 16 0F 0F + .byte $01, $10, $27, $00, $01, $16, $0F, $0F, $01, $16, $0F, $0F, $01, $16, $0F, $0F ; CPU:$B441 PRG:3441 01 10 27 00 01 16 0F 0F 01 16 0F 0F 01 16 0F 0F + .byte $86, $B4, $AD, $B4, $D4, $B4, $FB, $B4, $22, $B5, $99, $B4, $C0, $B4, $E7, $B4 ; CPU:$B451 PRG:3451 86 B4 AD B4 D4 B4 FB B4 22 B5 99 B4 C0 B4 E7 B4 + .byte $0E, $B5, $35, $B5, $00, $12, $11, $10, $00, $00, $00, $00, $14, $13, $12, $11 ; CPU:$B461 PRG:3461 0E B5 35 B5 00 12 11 10 00 00 00 00 14 13 12 11 + .byte $10, $15, $14, $13, $12, $11, $10, $00, $00, $00, $16, $15, $14, $13, $12, $11 ; CPU:$B471 PRG:3471 10 15 14 13 12 11 10 00 00 00 16 15 14 13 12 11 + .byte $10, $19, $18, $17, $16, $E7, $22, $52, $45, $47, $49, $4F, $4E, $41, $4C, $20 ; CPU:$B481 PRG:3481 10 19 18 17 16 E7 22 52 45 47 49 4F 4E 41 4C 20 + .byte $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E7, $22, $52, $45, $47, $49, $4F, $4E ; CPU:$B491 PRG:3491 52 41 4E 4B 49 4E 47 FF E7 22 52 45 47 49 4F 4E + .byte $41, $4C, $20, $43, $48, $41, $4D, $50, $49, $4F, $4E, $FF, $E7, $22, $41, $4D ; CPU:$B4A1 PRG:34A1 41 4C 20 43 48 41 4D 50 49 4F 4E FF E7 22 41 4D + .byte $45, $52, $49, $43, $41, $4E, $20, $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E7 ; CPU:$B4B1 PRG:34B1 45 52 49 43 41 4E 20 52 41 4E 4B 49 4E 47 FF E7 + .byte $22, $41, $4D, $45, $52, $49, $43, $41, $4E, $20, $43, $48, $41, $4D, $50, $49 ; CPU:$B4C1 PRG:34C1 22 41 4D 45 52 49 43 41 4E 20 43 48 41 4D 50 49 + .byte $4F, $4E, $FF, $E7, $22, $45, $55, $52, $4F, $50, $45, $41, $4E, $20, $52, $41 ; CPU:$B4D1 PRG:34D1 4F 4E FF E7 22 45 55 52 4F 50 45 41 4E 20 52 41 + .byte $4E, $4B, $49, $4E, $47, $FF, $E7, $22, $45, $55, $52, $4F, $50, $45, $41, $4E ; CPU:$B4E1 PRG:34E1 4E 4B 49 4E 47 FF E7 22 45 55 52 4F 50 45 41 4E + .byte $20, $43, $48, $41, $4D, $50, $49, $4F, $4E, $FF, $E7, $22, $57, $4F, $52, $4C ; CPU:$B4F1 PRG:34F1 20 43 48 41 4D 50 49 4F 4E FF E7 22 57 4F 52 4C + .byte $44, $20, $20, $20, $20, $52, $41, $4E, $4B, $49, $4E, $47, $FF, $E7, $22, $57 ; CPU:$B501 PRG:3501 44 20 20 20 20 52 41 4E 4B 49 4E 47 FF E7 22 57 + .byte $4F, $52, $4C, $44, $20, $20, $20, $20, $43, $48, $41, $4D, $50, $49, $4F, $4E ; CPU:$B511 PRG:3511 4F 52 4C 44 20 20 20 20 43 48 41 4D 50 49 4F 4E + .byte $FF, $E7, $22, $53, $55, $50, $45, $52, $20, $20, $20, $20, $52, $41, $4E, $4B ; CPU:$B521 PRG:3521 FF E7 22 53 55 50 45 52 20 20 20 20 52 41 4E 4B + .byte $49, $4E, $47, $FF, $E9, $22, $53, $55, $50, $45, $52, $20, $43, $48, $41, $4D ; CPU:$B531 PRG:3531 49 4E 47 FF E9 22 53 55 50 45 52 20 43 48 41 4D + .byte $50, $49, $4F, $4E, $FF, $52, $B5, $66, $B5, $80, $B5, $AA, $B5, $E8, $B5, $30 ; CPU:$B541 PRG:3541 50 49 4F 4E FF 52 B5 66 B5 80 B5 AA B5 E8 B5 30 + .byte $B6, $0F, $22, $3C, $3E, $1F, $3F, $40, $1F, $5C, $5C, $1F, $5D, $5D, $1F, $5B ; CPU:$B551 PRG:3551 B6 0F 22 3C 3E 1F 3F 40 1F 5C 5C 1F 5D 5D 1F 5B + .byte $5B, $1F, $5C, $5C, $FF, $CF, $21, $3C, $3E, $1F, $2B, $2C, $1F, $2D, $3B, $1F ; CPU:$B561 PRG:3561 5B 1F 5C 5C FF CF 21 3C 3E 1F 2B 2C 1F 2D 3B 1F + .byte $5C, $5C, $1F, $5D, $5D, $1F, $5B, $5B, $1F, $5C, $5C, $1F, $5C, $5C, $FF, $CE ; CPU:$B571 PRG:3571 5C 5C 1F 5D 5D 1F 5B 5B 1F 5C 5C 1F 5C 5C FF CE + .byte $21, $20, $3C, $3E, $20, $1F, $20, $2B, $2C, $20, $1F, $20, $2D, $3B, $20, $1F ; CPU:$B581 PRG:3581 21 20 3C 3E 20 1F 20 2B 2C 20 1F 20 2D 3B 20 1F + .byte $20, $5C, $5C, $20, $1F, $20, $5D, $5D, $20, $1F, $5D, $5B, $5B, $5D, $1F, $5C ; CPU:$B591 PRG:3591 20 5C 5C 20 1F 20 5D 5D 20 1F 5D 5B 5B 5D 1F 5C + .byte $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $FF, $4E, $21, $20, $3C, $3E, $20, $1F ; CPU:$B5A1 PRG:35A1 5C 5C 5C 1F 5C 5C 5C 5C FF 4E 21 20 3C 3E 20 1F + .byte $20, $2B, $2C, $20, $1F, $20, $2D, $3B, $20, $1F, $20, $5C, $5C, $20, $1F, $20 ; CPU:$B5B1 PRG:35B1 20 2B 2C 20 1F 20 2D 3B 20 1F 20 5C 5C 20 1F 20 + .byte $5D, $5D, $20, $1F, $5D, $5D, $5D, $5D, $1F, $5B, $5B, $5B, $5B, $1F, $5B, $5B ; CPU:$B5C1 PRG:35C1 5D 5D 20 1F 5D 5D 5D 5D 1F 5B 5B 5B 5B 1F 5B 5B + .byte $5B, $5B, $1F, $5C, $5C, $5C, $5C, $1F, $5B, $5B, $5B, $5B, $1F, $5C, $5C, $5C ; CPU:$B5D1 PRG:35D1 5B 5B 1F 5C 5C 5C 5C 1F 5B 5B 5B 5B 1F 5C 5C 5C + .byte $5C, $1F, $5C, $5C, $5C, $5C, $FF, $0E, $21, $20, $3C, $3E, $20, $1F, $20, $2B ; CPU:$B5E1 PRG:35E1 5C 1F 5C 5C 5C 5C FF 0E 21 20 3C 3E 20 1F 20 2B + .byte $2C, $20, $1F, $20, $2D, $3B, $20, $1F, $20, $5C, $5C, $20, $1F, $20, $5B, $5B ; CPU:$B5F1 PRG:35F1 2C 20 1F 20 2D 3B 20 1F 20 5C 5C 20 1F 20 5B 5B + .byte $20, $1F, $5D, $5C, $5C, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5B, $5B, $5B, $5B ; CPU:$B601 PRG:3601 20 1F 5D 5C 5C 5D 1F 5C 5C 5C 5C 1F 5B 5B 5B 5B + .byte $1F, $5D, $5D, $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5D, $5D, $5D, $5D, $1F ; CPU:$B611 PRG:3611 1F 5D 5D 5D 5D 1F 5C 5C 5C 5C 1F 5D 5D 5D 5D 1F + .byte $5B, $5B, $5B, $5B, $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $FF, $CE ; CPU:$B621 PRG:3621 5B 5B 5B 5B 1F 5C 5C 5C 5C 1F 5C 5C 5C 5C FF CE + .byte $20, $20, $3C, $3E, $20, $1F, $20, $2B, $2C, $20, $1F, $20, $2D, $3B, $20, $1F ; CPU:$B631 PRG:3631 20 20 3C 3E 20 1F 20 2B 2C 20 1F 20 2D 3B 20 1F + .byte $20, $5C, $5C, $20, $1F, $20, $5D, $5D, $20, $1F, $5D, $5B, $5B, $5D, $1F, $5C ; CPU:$B641 PRG:3641 20 5C 5C 20 1F 20 5D 5D 20 1F 5D 5B 5B 5D 1F 5C + .byte $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C, $1F, $5B, $5B, $5B, $5B, $1F, $5D, $5D ; CPU:$B651 PRG:3651 5C 5C 5C 1F 5C 5C 5C 5C 1F 5B 5B 5B 5B 1F 5D 5D + .byte $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5D, $5D, $5D, $5D, $1F, $5B, $5B, $5B ; CPU:$B661 PRG:3661 5D 5D 1F 5C 5C 5C 5C 1F 5D 5D 5D 5D 1F 5B 5B 5B + .byte $5B, $1F, $5D, $5D, $5D, $5D, $1F, $5C, $5C, $5C, $5C, $1F, $5C, $5C, $5C, $5C ; CPU:$B671 PRG:3671 5B 1F 5D 5D 5D 5D 1F 5C 5C 5C 5C 1F 5C 5C 5C 5C + .byte $FF, $A5, $7B, $10, $08, $A9, $00, $20, $40, $FD, $4C, $62, $B7, $A5, $14, $D0 ; CPU:$B681 PRG:3681 FF A5 7B 10 08 A9 00 20 40 FD 4C 62 B7 A5 14 D0 + .byte $13, $A5, $13, $F0, $1B, $C9, $40 ; CPU:$B691 PRG:3691 13 A5 13 F0 1B C9 40 +; ----------------------------------------------------------------------------- +; Routine: Label_B698 +; Global: Branch target inside Label: taken when B698. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B698: + beq Sub_Loop103 ; CPU:$B698 PRG:3698 F0 54 + cmp #$80 ; CPU:$B69A PRG:369A C9 80 + beq Sub_Loop105 ; CPU:$B69C PRG:369C F0 68 + cmp #$C0 ; CPU:$B69E PRG:369E C9 C0 + beq Sub_Loop107 ; CPU:$B6A0 PRG:36A0 F0 76 + jmp Sub_Loop108 ; CPU:$B6A2 PRG:36A2 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Label_B6A5 +; Global: Branch target inside Label: taken when B6A5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B6A5: + lda Zp13 ; CPU:$B6A5 PRG:36A5 A5 13 + cmp #$FF ; CPU:$B6A7 PRG:36A7 C9 FF + bne Sub_Loop100 ; CPU:$B6A9 PRG:36A9 D0 03 + jmp Sub_B73C ; CPU:$B6AB PRG:36AB 4C 3C B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop100 +; Global: Branch target inside Sub: taken when Loop100. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop100: + jmp Sub_Loop108 ; CPU:$B6AE PRG:36AE 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Label_B6B1 +; Global: Branch target inside Label: taken when B6B1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B6B1: + lda #$89 ; CPU:$B6B1 PRG:36B1 A9 89 + jsr Sub_F036 ; CPU:$B6B3 PRG:36B3 20 36 F0 + jsr Sub_9BF3 ; CPU:$B6B6 PRG:36B6 20 F3 9B + jsr Sub_FD19 ; CPU:$B6B9 PRG:36B9 20 19 FD + jsr Sub_FD2E ; CPU:$B6BC PRG:36BC 20 2E FD + jsr Sub_F059 ; CPU:$B6BF PRG:36BF 20 59 F0 + jsr Sub_FD22 ; CPU:$B6C2 PRG:36C2 20 22 FD + lda Zp7B ; CPU:$B6C5 PRG:36C5 A5 7B + and #$20 ; CPU:$B6C7 PRG:36C7 29 20 + beq Sub_Loop101 ; CPU:$B6C9 PRG:36C9 F0 08 + inc Zp88 ; CPU:$B6CB PRG:36CB E6 88 + jsr Sub_F121 ; CPU:$B6CD PRG:36CD 20 21 F1 + jsr Sub_F0BB ; CPU:$B6D0 PRG:36D0 20 BB F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop101 +; Global: Branch target inside Sub: taken when Loop101. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop101: + ldx #$B7 ; CPU:$B6D3 PRG:36D3 A2 B7 + ldy #$65 ; CPU:$B6D5 PRG:36D5 A0 65 + jsr Sub_FD3A ; CPU:$B6D7 PRG:36D7 20 3A FD + jsr Sub_FD31 ; CPU:$B6DA PRG:36DA 20 31 FD + ldx #$0A ; CPU:$B6DD PRG:36DD A2 0A + lda Zp7B ; CPU:$B6DF PRG:36DF A5 7B + and #$20 ; CPU:$B6E1 PRG:36E1 29 20 + bne Sub_Loop102 ; CPU:$B6E3 PRG:36E3 D0 02 + ldx #$0B ; CPU:$B6E5 PRG:36E5 A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop102 +; Global: Branch target inside Sub: taken when Loop102. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop102: + txa ; CPU:$B6E7 PRG:36E7 8A + jsr Sub_F036 ; CPU:$B6E8 PRG:36E8 20 36 F0 + jmp Sub_Loop108 ; CPU:$B6EB PRG:36EB 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop103 +; Global: Branch target inside Sub: taken when Loop103. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop103: + lda Zp7B ; CPU:$B6EE PRG:36EE A5 7B + and #$20 ; CPU:$B6F0 PRG:36F0 29 20 + bne Sub_Loop104 ; CPU:$B6F2 PRG:36F2 D0 03 + jmp Sub_Loop108 ; CPU:$B6F4 PRG:36F4 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop104 +; Global: Branch target inside Sub: taken when Loop104. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop104: + jsr Sub_FD1C ; CPU:$B6F7 PRG:36F7 20 1C FD + jsr Sub_F0D5 ; CPU:$B6FA PRG:36FA 20 D5 F0 + jsr Sub_9BF0 ; CPU:$B6FD PRG:36FD 20 F0 9B + jsr Sub_9BF0 ; CPU:$B700 PRG:3700 20 F0 9B + jmp Sub_Loop108 ; CPU:$B703 PRG:3703 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop105 +; Global: Branch target inside Sub: taken when Loop105. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop105: + lda Zp7B ; CPU:$B706 PRG:3706 A5 7B + and #$20 ; CPU:$B708 PRG:3708 29 20 + bne Sub_Loop106 ; CPU:$B70A PRG:370A D0 03 + jmp Sub_Loop108 ; CPU:$B70C PRG:370C 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop106 +; Global: Branch target inside Sub: taken when Loop106. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop106: + jsr Sub_FD1C ; CPU:$B70F PRG:370F 20 1C FD + jsr Sub_9BF0 ; CPU:$B712 PRG:3712 20 F0 9B + jmp Sub_Loop108 ; CPU:$B715 PRG:3715 4C 24 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop107 +; Global: Branch target inside Sub: taken when Loop107. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop107: + lda Zp7B ; CPU:$B718 PRG:3718 A5 7B + and #$20 ; CPU:$B71A PRG:371A 29 20 + beq Sub_Loop108 ; CPU:$B71C PRG:371C F0 06 + jsr Sub_FD1C ; CPU:$B71E PRG:371E 20 1C FD + jsr Sub_9BF0 ; CPU:$B721 PRG:3721 20 F0 9B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop108 +; Global: Branch target inside Sub: taken when Loop108. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop108: + inc Zp13 ; CPU:$B724 PRG:3724 E6 13 + bne Sub_Loop109 ; CPU:$B726 PRG:3726 D0 02 + inc Zp14 ; CPU:$B728 PRG:3728 E6 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop109 +; Global: Branch target inside Sub: taken when Loop109. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop109: + lda Zp7B ; CPU:$B72A PRG:372A A5 7B + and #$20 ; CPU:$B72C PRG:372C 29 20 + beq Sub_Loop110 ; CPU:$B72E PRG:372E F0 06 + lda Zp88 ; CPU:$B730 PRG:3730 A5 88 + cmp #$02 ; CPU:$B732 PRG:3732 C9 02 + bcc Sub_Loop113 ; CPU:$B734 PRG:3734 90 2C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop110 +; Global: Branch target inside Sub: taken when Loop110. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop110: + jsr Sub_F192 ; CPU:$B736 PRG:3736 20 92 F1 + jmp Sub_Loop113 ; CPU:$B739 PRG:3739 4C 62 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_B73C +; Global: Branch target inside Sub: taken when B73C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B73C: + lda Zp7B ; CPU:$B73C PRG:373C A5 7B + and #$20 ; CPU:$B73E PRG:373E 29 20 + bne Sub_Loop111 ; CPU:$B740 PRG:3740 D0 05 + ldx #$0F ; CPU:$B742 PRG:3742 A2 0F + jmp Sub_Loop112 ; CPU:$B744 PRG:3744 4C 54 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop111 +; Global: Branch target inside Sub: taken when Loop111. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop111: + jsr Sub_F1FD ; CPU:$B747 PRG:3747 20 FD F1 + ldx #$05 ; CPU:$B74A PRG:374A A2 05 + lda Zp88 ; CPU:$B74C PRG:374C A5 88 + cmp #$02 ; CPU:$B74E PRG:374E C9 02 + bcc Sub_Loop112 ; CPU:$B750 PRG:3750 90 02 + ldx #$0F ; CPU:$B752 PRG:3752 A2 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop112 +; Global: Branch target inside Sub: taken when Loop112. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop112: + txa ; CPU:$B754 PRG:3754 8A + jsr Sub_FD40 ; CPU:$B755 PRG:3755 20 40 FD + lda #$8A ; CPU:$B758 PRG:3758 A9 8A + jsr Sub_F036 ; CPU:$B75A PRG:375A 20 36 F0 + lda #$8B ; CPU:$B75D PRG:375D A9 8B + jsr Sub_F036 ; CPU:$B75F PRG:375F 20 36 F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop113 +; Global: Branch target inside Sub: taken when Loop113. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop113: + jmp Sub_FD13 ; CPU:$B762 PRG:3762 4C 13 FD +; ---- data $B765-$B7C6 (98 bytes) ---- + .byte $68, $21, $57, $49, $4E, $4E, $45, $52, $20, $49, $53, $1F, $1F, $20, $20, $53 ; CPU:$B765 PRG:3765 68 21 57 49 4E 4E 45 52 20 49 53 1F 1F 20 20 53 + .byte $54, $52, $4F, $4E, $47, $20, $42, $41, $44, $53, $FF, $A5, $7B, $10, $08, $A9 ; CPU:$B775 PRG:3775 54 52 4F 4E 47 20 42 41 44 53 FF A5 7B 10 08 A9 + .byte $00, $20, $40, $FD, $4C, $3A, $B8, $A5, $13, $F0, $15, $C9, $50, $F0, $17, $C9 ; CPU:$B785 PRG:3785 00 20 40 FD 4C 3A B8 A5 13 F0 15 C9 50 F0 17 C9 + .byte $80, $D0, $03, $4C, $21, $B8, $C9, $C0, $B0, $03, $4C, $30, $B8, $4C, $35, $B8 ; CPU:$B795 PRG:3795 80 D0 03 4C 21 B8 C9 C0 B0 03 4C 30 B8 4C 35 B8 + .byte $EA, $EA, $EA, $4C, $30, $B8, $A5, $7B, $29, $20, $D0, $18, $A2, $0F, $A5, $41 ; CPU:$B7A5 PRG:37A5 EA EA EA 4C 30 B8 A5 7B 29 20 D0 18 A2 0F A5 41 + .byte $29, $30, $A8, $C9, $30, $F0, $09, $A2, $09, $98, $29, $10, $D0, $02, $A2, $0B ; CPU:$B7B5 PRG:37B5 29 30 A8 C9 30 F0 09 A2 09 98 29 10 D0 02 A2 0B + .byte $8A, $4C ; CPU:$B7C5 PRG:37C5 8A 4C +; ----------------------------------------------------------------------------- +; Routine: Label_B7C7 +; Global: Branch target inside Label: taken when B7C7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B7C7: + .byte $37, $B8 ; CPU:$B7C7 PRG:37C7 37 B8 -- rla ZpB8,y (undocumented; ca65 cannot encode) + lda Zp41 ; CPU:$B7C9 PRG:37C9 A5 41 + and #$20 ; CPU:$B7CB PRG:37CB 29 20 + bne Sub_Loop114 ; CPU:$B7CD PRG:37CD D0 05 + lda #$09 ; CPU:$B7CF PRG:37CF A9 09 + jmp Sub_B837 ; CPU:$B7D1 PRG:37D1 4C 37 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop114 +; Global: Branch target inside Sub: taken when Loop114. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop114: + lda Zp41 ; CPU:$B7D4 PRG:37D4 A5 41 + and #$10 ; CPU:$B7D6 PRG:37D6 29 10 + bne Sub_Loop115 ; CPU:$B7D8 PRG:37D8 D0 05 + lda #$0B ; CPU:$B7DA PRG:37DA A9 0B + jmp Sub_B837 ; CPU:$B7DC PRG:37DC 4C 37 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop115 +; Global: Branch target inside Sub: taken when Loop115. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop115: + lda Zp87 ; CPU:$B7DF PRG:37DF A5 87 + ora Zp88 ; CPU:$B7E1 PRG:37E1 05 88 + bne Sub_Loop116 ; CPU:$B7E3 PRG:37E3 D0 0F + inc Zp87 ; CPU:$B7E5 PRG:37E5 E6 87 + inc Zp88 ; CPU:$B7E7 PRG:37E7 E6 88 + jsr Sub_F1FD ; CPU:$B7E9 PRG:37E9 20 FD F1 + jsr Sub_F1FD ; CPU:$B7EC PRG:37EC 20 FD F1 + lda #$05 ; CPU:$B7EF PRG:37EF A9 05 + jmp Sub_B837 ; CPU:$B7F1 PRG:37F1 4C 37 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop116 +; Global: Branch target inside Sub: taken when Loop116. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop116: + lda Zp87 ; CPU:$B7F4 PRG:37F4 A5 87 + beq Sub_Loop117 ; CPU:$B7F6 PRG:37F6 F0 04 + lda Zp88 ; CPU:$B7F8 PRG:37F8 A5 88 + bne Sub_Loop120 ; CPU:$B7FA PRG:37FA D0 39 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop117 +; Global: Branch target inside Sub: taken when Loop117. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop117: + jsr Sub_FD2E ; CPU:$B7FC PRG:37FC 20 2E FD + jsr Sub_F059 ; CPU:$B7FF PRG:37FF 20 59 F0 + jsr Sub_FD22 ; CPU:$B802 PRG:3802 20 22 FD + ldx #$B2 ; CPU:$B805 PRG:3805 A2 B2 + ldy #$E5 ; CPU:$B807 PRG:3807 A0 E5 + lda Zp87 ; CPU:$B809 PRG:3809 A5 87 + bne Sub_Loop118 ; CPU:$B80B PRG:380B D0 04 + ldx #$B7 ; CPU:$B80D PRG:380D A2 B7 + ldy #$65 ; CPU:$B80F PRG:380F A0 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop118 +; Global: Branch target inside Sub: taken when Loop118. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop118: + jsr Sub_FD3A ; CPU:$B811 PRG:3811 20 3A FD + inc Zp87 ; CPU:$B814 PRG:3814 E6 87 + inc Zp88 ; CPU:$B816 PRG:3816 E6 88 + jsr Sub_F121 ; CPU:$B818 PRG:3818 20 21 F1 + jsr Sub_FD31 ; CPU:$B81B PRG:381B 20 31 FD + jmp Sub_B830 ; CPU:$B81E PRG:381E 4C 30 B8 +; ----------------------------------------------------------------------------- +; Routine: Label_B821 +; Global: Branch target inside Label: taken when B821. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B821: + lda Zp87 ; CPU:$B821 PRG:3821 A5 87 + cmp #$02 ; CPU:$B823 PRG:3823 C9 02 + bcc Sub_Loop119 ; CPU:$B825 PRG:3825 90 06 + jsr Sub_F15A ; CPU:$B827 PRG:3827 20 5A F1 + jmp Sub_B830 ; CPU:$B82A PRG:382A 4C 30 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop119 +; Global: Branch target inside Sub: taken when Loop119. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop119: + jsr Sub_F192 ; CPU:$B82D PRG:382D 20 92 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_B830 +; Global: Branch target inside Sub: taken when B830. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B830: + inc Zp13 ; CPU:$B830 PRG:3830 E6 13 + jmp Sub_B83A ; CPU:$B832 PRG:3832 4C 3A B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop120 +; Global: Branch target inside Sub: taken when Loop120. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop120: + lda #$0F ; CPU:$B835 PRG:3835 A9 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_B837 +; Global: Branch target inside Sub: taken when B837. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B837: + jsr Sub_FD40 ; CPU:$B837 PRG:3837 20 40 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_B83A +; Global: Branch target inside Sub: taken when B83A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B83A: + jmp Sub_FD13 ; CPU:$B83A PRG:383A 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Label_B83D +; Global: Branch target inside Label: taken when B83D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B83D: + lda Zp13 ; CPU:$B83D PRG:383D A5 13 + bne Sub_Loop121 ; CPU:$B83F PRG:383F D0 06 + nop ; CPU:$B841 PRG:3841 EA + nop ; CPU:$B842 PRG:3842 EA + nop ; CPU:$B843 PRG:3843 EA + jmp Sub_Loop125 ; CPU:$B844 PRG:3844 4C 86 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop121 +; Global: Branch target inside Sub: taken when Loop121. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop121: + lda Zp13 ; CPU:$B847 PRG:3847 A5 13 + cmp #$50 ; CPU:$B849 PRG:3849 C9 50 + bcc Sub_Loop125 ; CPU:$B84B PRG:384B 90 39 + ldx #$0F ; CPU:$B84D PRG:384D A2 0F + lda Zp7B ; CPU:$B84F PRG:384F A5 7B + and #$20 ; CPU:$B851 PRG:3851 29 20 + beq Sub_Loop124 ; CPU:$B853 PRG:3853 F0 2A + lda Zp87 ; CPU:$B855 PRG:3855 A5 87 + ora Zp88 ; CPU:$B857 PRG:3857 05 88 + bne Sub_Loop122 ; CPU:$B859 PRG:3859 D0 0F + inc Zp87 ; CPU:$B85B PRG:385B E6 87 + inc Zp88 ; CPU:$B85D PRG:385D E6 88 + jsr Sub_F1FD ; CPU:$B85F PRG:385F 20 FD F1 + jsr Sub_F1FD ; CPU:$B862 PRG:3862 20 FD F1 + ldx #$05 ; CPU:$B865 PRG:3865 A2 05 + jmp Sub_Loop124 ; CPU:$B867 PRG:3867 4C 7F B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop122 +; Global: Branch target inside Sub: taken when Loop122. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop122: + lda Zp87 ; CPU:$B86A PRG:386A A5 87 + beq Sub_Loop123 ; CPU:$B86C PRG:386C F0 09 + lda Zp88 ; CPU:$B86E PRG:386E A5 88 + beq Sub_Loop123 ; CPU:$B870 PRG:3870 F0 05 + ldx #$0F ; CPU:$B872 PRG:3872 A2 0F + jmp Sub_Loop124 ; CPU:$B874 PRG:3874 4C 7F B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop123 +; Global: Branch target inside Sub: taken when Loop123. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop123: + ldx #$09 ; CPU:$B877 PRG:3877 A2 09 + lda Zp87 ; CPU:$B879 PRG:3879 A5 87 + bne Sub_Loop124 ; CPU:$B87B PRG:387B D0 02 + ldx #$0B ; CPU:$B87D PRG:387D A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop124 +; Global: Branch target inside Sub: taken when Loop124. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop124: + txa ; CPU:$B87F PRG:387F 8A + jsr Sub_FD40 ; CPU:$B880 PRG:3880 20 40 FD + jmp Sub_FD13 ; CPU:$B883 PRG:3883 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop125 +; Global: Branch target inside Sub: taken when Loop125. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop125: + inc Zp13 ; CPU:$B886 PRG:3886 E6 13 + jmp Sub_FD13 ; CPU:$B888 PRG:3888 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Label_B88B +; Global: Branch target inside Label: taken when B88B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B88B: + lda Zp7B ; CPU:$B88B PRG:388B A5 7B + bpl Sub_Loop126 ; CPU:$B88D PRG:388D 10 08 + lda #$00 ; CPU:$B88F PRG:388F A9 00 + jsr Sub_FD40 ; CPU:$B891 PRG:3891 20 40 FD + jmp Sub_B8B0 ; CPU:$B894 PRG:3894 4C B0 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop126 +; Global: Branch target inside Sub: taken when Loop126. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop126: + lda Zp13 ; CPU:$B897 PRG:3897 A5 13 + cmp #$50 ; CPU:$B899 PRG:3899 C9 50 + bcc Sub_Loop128 ; CPU:$B89B PRG:389B 90 11 + ldx #$09 ; CPU:$B89D PRG:389D A2 09 + lda Zp3B ; CPU:$B89F PRG:389F A5 3B + and #$20 ; CPU:$B8A1 PRG:38A1 29 20 + beq Sub_Loop127 ; CPU:$B8A3 PRG:38A3 F0 02 + ldx #$0B ; CPU:$B8A5 PRG:38A5 A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop127 +; Global: Branch target inside Sub: taken when Loop127. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop127: + txa ; CPU:$B8A7 PRG:38A7 8A + jsr Sub_FD40 ; CPU:$B8A8 PRG:38A8 20 40 FD + jmp Sub_B8B0 ; CPU:$B8AB PRG:38AB 4C B0 B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop128 +; Global: Branch target inside Sub: taken when Loop128. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop128: + inc Zp13 ; CPU:$B8AE PRG:38AE E6 13 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8B0 +; Global: Branch target inside Sub: taken when B8B0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8B0: + jmp Sub_FD13 ; CPU:$B8B0 PRG:38B0 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Label_B8B3 +; Global: Branch target inside Label: taken when B8B3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B8B3: + jmp ($4721) ; CPU:$B8B3 PRG:38B3 6C 21 47 +; ----------------------------------------------------------------------------- +; Routine: Label_B8B6 +; Global: Branch target inside Label: taken when B8B6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B8B6: + eor #$56 ; CPU:$B8B6 PRG:38B6 49 56 + eor Zp20 ; CPU:$B8B8 PRG:38B8 45 20 + eor Zp50,x ; CPU:$B8BA PRG:38BA 55 50 + and (ZpFF,x) ; CPU:$B8BC PRG:38BC 21 FF + lda Zp13 ; CPU:$B8BE PRG:38BE A5 13 + beq Sub_Loop129 ; CPU:$B8C0 PRG:38C0 F0 0B + cmp #$20 ; CPU:$B8C2 PRG:38C2 C9 20 + bcc Sub_Loop131 ; CPU:$B8C4 PRG:38C4 90 36 + cmp #$80 ; CPU:$B8C6 PRG:38C6 C9 80 + beq Sub_Loop130 ; CPU:$B8C8 PRG:38C8 F0 2D + jmp Sub_B8EE ; CPU:$B8CA PRG:38CA 4C EE B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop129 +; Global: Branch target inside Sub: taken when Loop129. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop129: + jsr Sub_FD2E ; CPU:$B8CD PRG:38CD 20 2E FD + jsr Sub_FD1F ; CPU:$B8D0 PRG:38D0 20 1F FD + ldx #$B9 ; CPU:$B8D3 PRG:38D3 A2 B9 + ldy #$01 ; CPU:$B8D5 PRG:38D5 A0 01 + jsr Sub_FD3A ; CPU:$B8D7 PRG:38D7 20 3A FD + jsr Sub_FD31 ; CPU:$B8DA PRG:38DA 20 31 FD + lda Zp7B ; CPU:$B8DD PRG:38DD A5 7B + and #$20 ; CPU:$B8DF PRG:38DF 29 20 + beq Sub_Loop131 ; CPU:$B8E1 PRG:38E1 F0 19 + lda #$01 ; CPU:$B8E3 PRG:38E3 A9 01 + sta Zp83 ; CPU:$B8E5 PRG:38E5 85 83 + lda #$00 ; CPU:$B8E7 PRG:38E7 A9 00 + sta Zp84 ; CPU:$B8E9 PRG:38E9 85 84 + jmp Sub_Loop131 ; CPU:$B8EB PRG:38EB 4C FC B8 +; ----------------------------------------------------------------------------- +; Routine: Sub_B8EE +; Global: Branch target inside Sub: taken when B8EE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B8EE: + jsr Sub_FD2B ; CPU:$B8EE PRG:38EE 20 2B FD + lda Zp18 ; CPU:$B8F1 PRG:38F1 A5 18 + and #$0C ; CPU:$B8F3 PRG:38F3 29 0C + beq Sub_Loop131 ; CPU:$B8F5 PRG:38F5 F0 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop130 +; Global: Branch target inside Sub: taken when Loop130. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop130: + lda #$00 ; CPU:$B8F7 PRG:38F7 A9 00 + jsr Sub_FD40 ; CPU:$B8F9 PRG:38F9 20 40 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop131 +; Global: Branch target inside Sub: taken when Loop131. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop131: + inc Zp13 ; CPU:$B8FC PRG:38FC E6 13 + jmp Sub_FD13 ; CPU:$B8FE PRG:38FE 4C 13 FD +; ---- data $B901-$B90C (12 bytes) ---- + .byte $CC, $21, $47, $41, $4D, $45, $20, $4F, $56, $45, $52, $FF ; CPU:$B901 PRG:3901 CC 21 47 41 4D 45 20 4F 56 45 52 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_B90D +; Global: Branch target inside Sub: taken when B90D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B90D: + jsr Sub_F028 ; CPU:$B90D PRG:390D 20 28 F0 + sta PlayerState ; CPU:$B910 PRG:3910 85 1A + ldx #$00 ; CPU:$B912 PRG:3912 A2 00 + cmp #$05 ; CPU:$B914 PRG:3914 C9 05 + bcc Sub_Loop132 ; CPU:$B916 PRG:3916 90 10 + inx ; CPU:$B918 PRG:3918 E8 + cmp #$0A ; CPU:$B919 PRG:3919 C9 0A + bcc Sub_Loop132 ; CPU:$B91B PRG:391B 90 0B + inx ; CPU:$B91D PRG:391D E8 + cmp #$11 ; CPU:$B91E PRG:391E C9 11 + bcc Sub_Loop132 ; CPU:$B920 PRG:3920 90 06 + inx ; CPU:$B922 PRG:3922 E8 + cmp #$1B ; CPU:$B923 PRG:3923 C9 1B + bcc Sub_Loop132 ; CPU:$B925 PRG:3925 90 01 + inx ; CPU:$B927 PRG:3927 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop132 +; Global: Branch target inside Sub: taken when Loop132. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop132: + stx Zp1B ; CPU:$B928 PRG:3928 86 1B + txa ; CPU:$B92A PRG:392A 8A + asl a ; CPU:$B92B PRG:392B 0A + tax ; CPU:$B92C PRG:392C AA + ldy $B97B,x ; CPU:$B92D PRG:392D BC 7B B9 + lda $B97C,x ; CPU:$B930 PRG:3930 BD 7C B9 + tax ; CPU:$B933 PRG:3933 AA + jsr Sub_FD3A ; CPU:$B934 PRG:3934 20 3A FD + lda PlayerState ; CPU:$B937 PRG:3937 A5 1A + cmp #$24 ; CPU:$B939 PRG:3939 C9 24 + bcs Sub_Loop133 ; CPU:$B93B PRG:393B B0 10 + cmp #$04 ; CPU:$B93D PRG:393D C9 04 + beq Sub_Loop133 ; CPU:$B93F PRG:393F F0 0C + cmp #$09 ; CPU:$B941 PRG:3941 C9 09 + beq Sub_Loop133 ; CPU:$B943 PRG:3943 F0 08 + cmp #$10 ; CPU:$B945 PRG:3945 C9 10 + beq Sub_Loop133 ; CPU:$B947 PRG:3947 F0 04 + cmp #$1A ; CPU:$B949 PRG:3949 C9 1A + bne Sub_Loop134 ; CPU:$B94B PRG:394B D0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop133 +; Global: Branch target inside Sub: taken when Loop133. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop133: + ldx #$B9 ; CPU:$B94D PRG:394D A2 B9 + ldy #$A9 ; CPU:$B94F PRG:394F A0 A9 + jsr Sub_FD3A ; CPU:$B951 PRG:3951 20 3A FD + jmp Sub_B97A ; CPU:$B954 PRG:3954 4C 7A B9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop134 +; Global: Branch target inside Sub: taken when Loop134. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop134: + lda Zp1B ; CPU:$B957 PRG:3957 A5 1B + asl a ; CPU:$B959 PRG:3959 0A + tax ; CPU:$B95A PRG:395A AA + lda $B9B1,x ; CPU:$B95B PRG:395B BD B1 B9 + sta Zp22 ; CPU:$B95E PRG:395E 85 22 + lda $B9B2,x ; CPU:$B960 PRG:3960 BD B2 B9 + sta Zp23 ; CPU:$B963 PRG:3963 85 23 + ldx #$20 ; CPU:$B965 PRG:3965 A2 20 + ldy #$91 ; CPU:$B967 PRG:3967 A0 91 + jsr Sub_FD34 ; CPU:$B969 PRG:3969 20 34 FD + lda Zp83 ; CPU:$B96C PRG:396C A5 83 + tay ; CPU:$B96E PRG:396E A8 + lda (Zp22),y ; CPU:$B96F PRG:396F B1 22 + clc ; CPU:$B971 PRG:3971 18 + adc #$01 ; CPU:$B972 PRG:3972 69 01 + sta PPUDATA ; CPU:$B974 PRG:3974 8D 07 20 + jsr Sub_FD37 ; CPU:$B977 PRG:3977 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_B97A +; Global: Branch target inside Sub: taken when B97A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_B97A: + rts ; CPU:$B97A PRG:397A 60 +; ---- data $B97B-$B9BF (69 bytes) ---- +; referenced by `ldy $B97B,x` at $B92D (operand $B97B falls inside this region) +; referenced by `lda $B97C,x` at $B930 (operand $B97C falls inside this region) +; referenced by `lda $B9B1,x` at $B95B (operand $B9B1 falls inside this region) +; referenced by `lda $B9B2,x` at $B960 (operand $B9B2 falls inside this region) + .byte $85, $B9, $8B, $B9, $91, $B9, $99, $B9, $A1, $B9, $8C, $20, $52, $45, $47, $FF ; CPU:$B97B PRG:397B 85 B9 8B B9 91 B9 99 B9 A1 B9 8C 20 52 45 47 FF + .byte $8C, $20, $55, $53, $41, $FF, $8C, $20, $45, $55, $52, $4F, $50, $FF, $8C, $20 ; CPU:$B98B PRG:398B 8C 20 55 53 41 FF 8C 20 45 55 52 4F 50 FF 8C 20 + .byte $57, $4F, $52, $4C, $44, $FF, $8C, $20, $53, $55, $50, $45, $52, $FF, $AD, $20 ; CPU:$B99B PRG:399B 57 4F 52 4C 44 FF 8C 20 53 55 50 45 52 FF AD 20 + .byte $43, $48, $41, $4D, $50, $FF, $65, $B4, $69, $B4, $72, $B4, $7C, $B4, $7C, $B4 ; CPU:$B9AB PRG:39AB 43 48 41 4D 50 FF 65 B4 69 B4 72 B4 7C B4 7C B4 + .byte $A9, $01, $20, $67, $EA ; CPU:$B9BB PRG:39BB A9 01 20 67 EA +; ----------------------------------------------------------------------------- +; Routine: Label_B9C0 +; Global: Branch target inside Label: taken when B9C0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_B9C0: + lda ZpAA ; CPU:$B9C0 PRG:39C0 A5 AA + beq Sub_Loop135 ; CPU:$B9C2 PRG:39C2 F0 1A + lda #$00 ; CPU:$B9C4 PRG:39C4 A9 00 + sta PlayerState ; CPU:$B9C6 PRG:39C6 85 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero9 +; Global: Branch target inside Sub: taken when OnNonzero9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero9: + lda PlayerState ; CPU:$B9C8 PRG:39C8 A5 1A + asl a ; CPU:$B9CA PRG:39CA 0A + tax ; CPU:$B9CB PRG:39CB AA + ldy $B9E2,x ; CPU:$B9CC PRG:39CC BC E2 B9 + lda $B9E3,x ; CPU:$B9CF PRG:39CF BD E3 B9 + tax ; CPU:$B9D2 PRG:39D2 AA + jsr Sub_FD3A ; CPU:$B9D3 PRG:39D3 20 3A FD + inc PlayerState ; CPU:$B9D6 PRG:39D6 E6 1A + lda PlayerState ; CPU:$B9D8 PRG:39D8 A5 1A + cmp #$0B ; CPU:$B9DA PRG:39DA C9 0B + bne Sub_OnNonzero9 ; CPU:$B9DC PRG:39DC D0 EA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop135 +; Global: Branch target inside Sub: taken when Loop135. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop135: + jsr Sub_FD22 ; CPU:$B9DE PRG:39DE 20 22 FD + rts ; CPU:$B9E1 PRG:39E1 60 +; ---- data $B9E2-$BA6F (142 bytes) ---- +; referenced by `ldy $B9E2,x` at $B9CC (operand $B9E2 falls inside this region) +; referenced by `lda $B9E3,x` at $B9CF (operand $B9E3 falls inside this region) + .byte $F6, $B9, $FD, $B9, $0A, $BA, $17, $BA, $2A, $BA, $3D, $BA, $4C, $BA, $5B, $BA ; CPU:$B9E2 PRG:39E2 F6 B9 FD B9 0A BA 17 BA 2A BA 3D BA 4C BA 5B BA + .byte $64, $BA, $6B, $BA, $8E, $21, $C5, $C4, $DA, $D8, $FF, $AB, $21, $6E, $64, $64 ; CPU:$B9F2 PRG:39F2 64 BA 6B BA 8E 21 C5 C4 DA D8 FF AB 21 6E 64 64 + .byte $64, $64, $64, $64, $64, $64, $78, $FF, $CB, $21, $C6, $64, $64, $64, $64, $64 ; CPU:$BA02 PRG:3A02 64 64 64 64 64 64 78 FF CB 21 C6 64 64 64 64 64 + .byte $64, $64, $64, $D9, $FF, $E8, $21, $CA, $C8, $C7, $64, $64, $64, $64, $64, $64 ; CPU:$BA12 PRG:3A12 64 64 64 D9 FF E8 21 CA C8 C7 64 64 64 64 64 64 + .byte $64, $64, $64, $64, $D2, $D6, $D4, $FF, $08, $22, $CB, $C9, $C1, $64, $64, $64 ; CPU:$BA22 PRG:3A22 64 64 64 64 D2 D6 D4 FF 08 22 CB C9 C1 64 64 64 + .byte $64, $64, $64, $64, $64, $64, $64, $D3, $D7, $D5, $FF, $2A, $22, $C2, $64, $64 ; CPU:$BA32 PRG:3A32 64 64 64 64 64 64 64 D3 D7 D5 FF 2A 22 C2 64 64 + .byte $64, $64, $64, $64, $64, $64, $64, $64, $D0, $FF, $4A, $22, $C3, $64, $64, $64 ; CPU:$BA42 PRG:3A42 64 64 64 64 64 64 64 64 D0 FF 4A 22 C3 64 64 64 + .byte $64, $64, $64, $64, $64, $64, $64, $D1, $FF, $6D, $22, $CC, $CD, $64, $64, $CF ; CPU:$BA52 PRG:3A52 64 64 64 64 64 64 64 D1 FF 6D 22 CC CD 64 64 CF + .byte $CE, $FF, $8E, $22, $CC, $CD, $CF, $CE, $FF, $AF, $22, $CC, $CE, $FF ; CPU:$BA62 PRG:3A62 CE FF 8E 22 CC CD CF CE FF AF 22 CC CE FF +; ----------------------------------------------------------------------------- +; Routine: Sub_BA70 +; Global: Branch target inside Sub: taken when BA70. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA70: + lda #$02 ; CPU:$BA70 PRG:3A70 A9 02 + jsr Sub_EA67 ; CPU:$BA72 PRG:3A72 20 67 EA + lda Zp41 ; CPU:$BA75 PRG:3A75 A5 41 + and #$30 ; CPU:$BA77 PRG:3A77 29 30 + cmp #$30 ; CPU:$BA79 PRG:3A79 C9 30 + bne Sub_Loop136 ; CPU:$BA7B PRG:3A7B D0 0B + lda #$FF ; CPU:$BA7D PRG:3A7D A9 FF + sta ZpA1 ; CPU:$BA7F PRG:3A7F 85 A1 + ldx #$80 ; CPU:$BA81 PRG:3A81 A2 80 + ldy #$C8 ; CPU:$BA83 PRG:3A83 A0 C8 + jsr Sub_EF3B ; CPU:$BA85 PRG:3A85 20 3B EF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop136 +; Global: Branch target inside Sub: taken when Loop136. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop136: + rts ; CPU:$BA88 PRG:3A88 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BA89 +; Global: Branch target inside Sub: taken when BA89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BA89: + lda Zp3E ; CPU:$BA89 PRG:3A89 A5 3E + bpl Sub_Loop137 ; CPU:$BA8B PRG:3A8B 10 03 + jmp Sub_BACE ; CPU:$BA8D PRG:3A8D 4C CE BA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop137 +; Global: Branch target inside Sub: taken when Loop137. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop137: + lda Zp18 ; CPU:$BA90 PRG:3A90 A5 18 + tax ; CPU:$BA92 PRG:3A92 AA + eor ZpB0 ; CPU:$BA93 PRG:3A93 45 B0 + stx ZpB0 ; CPU:$BA95 PRG:3A95 86 B0 + sta PlayerState ; CPU:$BA97 PRG:3A97 85 1A + txa ; CPU:$BA99 PRG:3A99 8A + and PlayerState ; CPU:$BA9A PRG:3A9A 25 1A + and #$08 ; CPU:$BA9C PRG:3A9C 29 08 + bne Sub_Loop138 ; CPU:$BA9E PRG:3A9E D0 03 + jmp Sub_BACE ; CPU:$BAA0 PRG:3AA0 4C CE BA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop138 +; Global: Branch target inside Sub: taken when Loop138. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop138: + lda #$8C ; CPU:$BAA3 PRG:3AA3 A9 8C + jsr Sub_F036 ; CPU:$BAA5 PRG:3AA5 20 36 F0 + jsr Sub_9BF3 ; CPU:$BAA8 PRG:3AA8 20 F3 9B + jsr Sub_FD19 ; CPU:$BAAB PRG:3AAB 20 19 FD + lda #$0D ; CPU:$BAAE PRG:3AAE A9 0D + jsr Sub_F036 ; CPU:$BAB0 PRG:3AB0 20 36 F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnZero2 +; Global: Branch target inside Sub: taken when OnZero2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnZero2: + jsr Sub_FD19 ; CPU:$BAB3 PRG:3AB3 20 19 FD + jsr Sub_FD2B ; CPU:$BAB6 PRG:3AB6 20 2B FD + lda Zp18 ; CPU:$BAB9 PRG:3AB9 A5 18 + tax ; CPU:$BABB PRG:3ABB AA + eor ZpB0 ; CPU:$BABC PRG:3ABC 45 B0 + stx ZpB0 ; CPU:$BABE PRG:3ABE 86 B0 + sta PlayerState ; CPU:$BAC0 PRG:3AC0 85 1A + txa ; CPU:$BAC2 PRG:3AC2 8A + and PlayerState ; CPU:$BAC3 PRG:3AC3 25 1A + and #$08 ; CPU:$BAC5 PRG:3AC5 29 08 + beq Sub_OnZero2 ; CPU:$BAC7 PRG:3AC7 F0 EA + lda #$0C ; CPU:$BAC9 PRG:3AC9 A9 0C + jsr Sub_F036 ; CPU:$BACB PRG:3ACB 20 36 F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_BACE +; Global: Branch target inside Sub: taken when BACE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BACE: + rts ; CPU:$BACE PRG:3ACE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BACF ; Global: Branch target inside Sub: taken when BACF. @@ -2360,893 +4797,15187 @@ Sub_AA7C: Sub_BACF: inc ZpAC ; CPU:$BACF PRG:3ACF E6 AC rts ; CPU:$BAD1 PRG:3AD1 60 -; ---- data $BAD2-$F22E (14173 bytes) ---- - .byte $A5, $A7, $D0, $04, $A5, $36, $10, $03, $4C, $AC, $BB, $A6, $85, $B5, $32, $29 ; CPU:$BAD2 PRG:3AD2 A5 A7 D0 04 A5 36 10 03 4C AC BB A6 85 B5 32 29 - .byte $3F, $C9, $03, $B0, $1B, $A6, $86, $B5, $32, $29, $1F, $C9, $07, $D0, $11, $A5 ; CPU:$BAE2 PRG:3AE2 3F C9 03 B0 1B A6 86 B5 32 29 1F C9 07 D0 11 A5 - .byte $18, $29, $01, $F0, $0B, $A9, $80, $85, $3E, $A6, $1B, $A5, $18, $4C, $3C, $BB ; CPU:$BAF2 PRG:3AF2 18 29 01 F0 0B A9 80 85 3E A6 1B A5 18 4C 3C BB - .byte $A6, $86, $B5, $32, $29, $3F, $C9, $03, $B0, $1B, $A6, $85, $B5, $32, $29, $1F ; CPU:$BB02 PRG:3B02 A6 86 B5 32 29 3F C9 03 B0 1B A6 85 B5 32 29 1F - .byte $C9, $07, $F0, $03, $4C, $AC, $BB, $A5, $7B, $29, $20, $D0, $0B, $A6, $85, $B5 ; CPU:$BB12 PRG:3B12 C9 07 F0 03 4C AC BB A5 7B 29 20 D0 0B A6 85 B5 - .byte $35, $29, $F8, $F0, $09, $4C, $AC, $BB, $A5, $19, $29, $01, $F0, $7C, $A9, $A0 ; CPU:$BB22 PRG:3B22 35 29 F8 F0 09 4C AC BB A5 19 29 01 F0 7C A9 A0 - .byte $85, $3E, $A5, $19, $85, $3A, $A9, $00, $85, $39, $A9, $FF, $85, $A7, $A6, $86 ; CPU:$BB32 PRG:3B32 85 3E A5 19 85 3A A9 00 85 39 A9 FF 85 A7 A6 86 - .byte $A5, $3E, $29, $20, $F0, $02, $A6, $85, $A9, $80, $85, $1A, $B5, $33, $C9, $78 ; CPU:$BB42 PRG:3B42 A5 3E 29 20 F0 02 A6 85 A9 80 85 1A B5 33 C9 78 - .byte $B0, $18, $18, $69, $10, $85, $66, $A0, $98, $B5, $34, $C9, $80, $90, $06, $A0 ; CPU:$BB52 PRG:3B52 B0 18 18 69 10 85 66 A0 98 B5 34 C9 80 90 06 A0 - .byte $60, $A9, $C0, $85, $1A, $84, $67, $4C, $74, $BB, $A9, $60, $85, $66, $B5, $34 ; CPU:$BB62 PRG:3B62 60 A9 C0 85 1A 84 67 4C 74 BB A9 60 85 66 B5 34 - .byte $85, $67, $A5, $1A, $85, $65, $A9, $00, $85, $3F, $A9, $A0, $85, $40, $A9, $20 ; CPU:$BB72 PRG:3B72 85 67 A5 1A 85 65 A9 00 85 3F A9 A0 85 40 A9 20 - .byte $85, $68, $A5, $66, $C9, $78, $D0, $07, $A0, $EF, $A2, $21, $4C, $9D, $BB, $A2 ; CPU:$BB82 PRG:3B82 85 68 A5 66 C9 78 D0 07 A0 EF A2 21 4C 9D BB A2 - .byte $22, $A0, $49, $A5, $67, $C9, $80, $90, $02, $A0, $56, $84, $6B, $86, $6C, $A5 ; CPU:$BB92 PRG:3B92 22 A0 49 A5 67 C9 80 90 02 A0 56 84 6B 86 6C A5 - .byte $36, $29, $FB, $85, $36, $A9, $FF, $4C, $AE, $BB, $A9, $00, $60, $A6, $86, $B5 ; CPU:$BBA2 PRG:3BA2 36 29 FB 85 36 A9 FF 4C AE BB A9 00 60 A6 86 B5 - .byte $33, $85, $97, $B5, $34, $85, $98, $A6, $85, $B5, $33, $85, $95, $B5, $34, $85 ; CPU:$BBB2 PRG:3BB2 33 85 97 B5 34 85 98 A6 85 B5 33 85 95 B5 34 85 - .byte $96, $B5, $32, $29, $3F, $C9, $03, $90, $03, $4C, $2B, $BD, $A6, $86, $B5, $32 ; CPU:$BBC2 PRG:3BC2 96 B5 32 29 3F C9 03 90 03 4C 2B BD A6 86 B5 32 - .byte $29, $3F, $C9, $03, $90, $03, $4C, $2B, $BD, $A5, $95, $18, $69, $08, $38, $E5 ; CPU:$BBD2 PRG:3BD2 29 3F C9 03 90 03 4C 2B BD A5 95 18 69 08 38 E5 - .byte $97, $C9, $11, $90, $03, $4C, $2B, $BD, $A5, $96, $18, $69, $0C, $38, $E5, $98 ; CPU:$BBE2 PRG:3BE2 97 C9 11 90 03 4C 2B BD A5 96 18 69 0C 38 E5 98 - .byte $C9, $18, $90, $03, $4C, $2B, $BD, $A5, $6D, $10, $24, $A5, $70, $10, $03, $4C ; CPU:$BBF2 PRG:3BF2 C9 18 90 03 4C 2B BD A5 6D 10 24 A5 70 10 03 4C - .byte $2B, $BD, $A6, $85, $B5, $32, $29, $C0, $A8, $A5, $96, $C5, $98, $B0, $07, $C0 ; CPU:$BC02 PRG:3C02 2B BD A6 85 B5 32 29 C0 A8 A5 96 C5 98 B0 07 C0 - .byte $C0, $D0, $2E, $4C, $1C, $BC, $C0, $80, $D0, $27, $A9, $80, $4C, $48, $BC, $A5 ; CPU:$BC12 PRG:3C12 C0 D0 2E 4C 1C BC C0 80 D0 27 A9 80 4C 48 BC A5 - .byte $70, $10, $1E, $A5, $36, $29, $04, $D0, $1B, $A6, $86, $B5, $32, $29, $C0, $A8 ; CPU:$BC22 PRG:3C22 70 10 1E A5 36 29 04 D0 1B A6 86 B5 32 29 C0 A8 - .byte $A5, $98, $C5, $96, $90, $07, $C0, $80, $D0, $07, $4C, $46, $BC, $C0, $C0, $F0 ; CPU:$BC32 PRG:3C32 A5 98 C5 96 90 07 C0 80 D0 07 4C 46 BC C0 C0 F0 - .byte $03, $4C, $2B, $BD, $A9, $A0, $85, $37, $A5, $95, $C5, $97, $90, $05, $85, $97 ; CPU:$BC42 PRG:3C42 03 4C 2B BD A9 A0 85 37 A5 95 C5 97 90 05 85 97 - .byte $4C, $59, $BC, $A5, $97, $85, $95, $C9, $50, $B0, $04, $A2, $FF, $86, $9F, $A2 ; CPU:$BC52 PRG:3C52 4C 59 BC A5 97 85 95 C9 50 B0 04 A2 FF 86 9F A2 - .byte $00, $C9, $78, $B0, $02, $A2, $FF, $86, $A4, $A5, $96, $C9, $80, $B0, $1C, $C5 ; CPU:$BC62 PRG:3C62 00 C9 78 B0 02 A2 FF 86 A4 A5 96 C9 80 B0 1C C5 - .byte $98, $B0, $0C, $A5, $96, $18, $69, $18, $85, $98, $A0, $40, $4C, $A6, $BC, $A5 ; CPU:$BC72 PRG:3C72 98 B0 0C A5 96 18 69 18 85 98 A0 40 4C A6 BC A5 - .byte $98, $18, $69, $18, $85, $96, $A0, $00, $4C, $A6, $BC, $C5, $98, $B0, $0C, $A5 ; CPU:$BC82 PRG:3C82 98 18 69 18 85 96 A0 00 4C A6 BC C5 98 B0 0C A5 - .byte $98, $38, $E9, $18, $85, $96, $A0, $40, $4C, $A6, $BC, $A5, $96, $38, $E9, $18 ; CPU:$BC92 PRG:3C92 98 38 E9 18 85 96 A0 40 4C A6 BC A5 96 38 E9 18 - .byte $85, $98, $A0, $00, $A6, $85, $A5, $95, $95, $33, $A5, $96, $95, $34, $A6, $86 ; CPU:$BCA2 PRG:3CA2 85 98 A0 00 A6 85 A5 95 95 33 A5 96 95 34 A6 86 - .byte $A5, $97, $95, $33, $A5, $98, $95, $34, $98, $05, $37, $85, $37, $A2, $80, $A5 ; CPU:$BCB2 PRG:3CB2 A5 97 95 33 A5 98 95 34 98 05 37 85 37 A2 80 A5 - .byte $37, $29, $20, $F0, $08, $A5, $7B, $29, $20, $D0, $02, $A2, $20, $86, $38, $A9 ; CPU:$BCC2 PRG:3CC2 37 29 20 F0 08 A5 7B 29 20 D0 02 A2 20 86 38 A9 - .byte $00, $85, $39, $A6, $18, $A5, $37, $29, $20, $F0, $02, $A6, $19, $86, $3A, $A5 ; CPU:$BCD2 PRG:3CD2 00 85 39 A6 18 A5 37 29 20 F0 02 A6 19 86 3A A5 - .byte $89, $09, $80, $85, $89, $A9, $00, $85, $A7, $A9, $00, $85, $6D, $85, $6E, $85 ; CPU:$BCE2 PRG:3CE2 89 09 80 85 89 A9 00 85 A7 A9 00 85 6D 85 6E 85 - .byte $6F, $85, $70, $85, $71, $85, $72, $A2, $23, $A0, $28, $A5, $36, $10, $04, $A2 ; CPU:$BCF2 PRG:3CF2 6F 85 70 85 71 85 72 A2 23 A0 28 A5 36 10 04 A2 - .byte $22, $A0, $87, $A5, $37, $29, $20, $F0, $0C, $A2, $21, $A0, $4F, $A5, $36, $10 ; CPU:$BD02 PRG:3D02 22 A0 87 A5 37 29 20 F0 0C A2 21 A0 4F A5 36 10 - .byte $04, $A2, $22, $A0, $8F, $86, $6A, $84, $69, $A9, $0F, $20, $36, $F0, $A5, $36 ; CPU:$BD12 PRG:3D12 04 A2 22 A0 8F 86 6A 84 69 A9 0F 20 36 F0 A5 36 - .byte $29, $FB, $85, $36, $A9, $FF, $4C, $2D, $BD, $A9, $00, $60, $A5, $36, $10, $63 ; CPU:$BD22 PRG:3D22 29 FB 85 36 A9 FF 4C 2D BD A9 00 60 A5 36 10 63 - .byte $A5, $A1, $F0, $5F, $A6, $85, $B5, $32, $29, $1F, $C9, $05, $F0, $55, $C9, $06 ; CPU:$BD32 PRG:3D32 A5 A1 F0 5F A6 85 B5 32 29 1F C9 05 F0 55 C9 06 - .byte $F0, $51, $C9, $03, $B0, $4D, $A6, $86, $B5, $32, $29, $1F, $C9, $05, $F0, $43 ; CPU:$BD42 PRG:3D42 F0 51 C9 03 B0 4D A6 86 B5 32 29 1F C9 05 F0 43 - .byte $C9, $06, $F0, $3F, $C9, $03, $B0, $3B, $A6, $85, $B5, $34, $C9, $80, $D0, $05 ; CPU:$BD52 PRG:3D52 C9 06 F0 3F C9 03 B0 3B A6 85 B5 34 C9 80 D0 05 - .byte $A0, $00, $4C, $71, $BD, $A6, $86, $B5, $34, $C9, $80, $D0, $26, $A0, $20, $98 ; CPU:$BD62 PRG:3D62 A0 00 4C 71 BD A6 86 B5 34 C9 80 D0 26 A0 20 98 - .byte $09, $8D, $85, $3B, $A6, $85, $B5, $34, $A6, $86, $D5, $34, $B0, $06, $A5, $3B ; CPU:$BD72 PRG:3D72 09 8D 85 3B A6 85 B5 34 A6 86 D5 34 B0 06 A5 3B - .byte $09, $40, $85, $3B, $A9, $00, $85, $3C, $A5, $3B, $29, $7F, $85, $37, $A9, $FF ; CPU:$BD82 PRG:3D82 09 40 85 3B A9 00 85 3C A5 3B 29 7F 85 37 A9 FF - .byte $4C, $97, $BD, $A9, $00, $60, $A2, $13, $A5, $36, $29, $40, $F0, $02, $A2, $18 ; CPU:$BD92 PRG:3D92 4C 97 BD A9 00 60 A2 13 A5 36 29 40 F0 02 A2 18 - .byte $86, $1A, $A0, $23, $A5, $36, $29, $20, $F0, $02, $A0, $28, $84, $1B, $B5, $32 ; CPU:$BDA2 PRG:3DA2 86 1A A0 23 A5 36 29 20 F0 02 A0 28 84 1B B5 32 - .byte $29, $3F, $0A, $AA, $BD, $F3, $BF, $85, $22, $BD, $F4, $BF, $85, $23, $6C, $22 ; CPU:$BDB2 PRG:3DB2 29 3F 0A AA BD F3 BF 85 22 BD F4 BF 85 23 6C 22 - .byte $00, $A5, $7B, $29, $20, $D0, $30, $A5, $36, $29, $10, $D0, $2A, $A5, $89, $30 ; CPU:$BDC2 PRG:3DC2 00 A5 7B 29 20 D0 30 A5 36 29 10 D0 2A A5 89 30 - .byte $26, $A2, $00, $20, $28, $F0, $C9, $05, $F0, $0E, $E8, $C9, $0B, $F0, $09, $E8 ; CPU:$BDD2 PRG:3DD2 26 A2 00 20 28 F0 C9 05 F0 0E E8 C9 0B F0 09 E8 - .byte $C9, $12, $F0, $04, $C9, $1C, $D0, $0F, $A5, $89, $29, $0F, $DD, $F0, $BF, $D0 ; CPU:$BDE2 PRG:3DE2 C9 12 F0 04 C9 1C D0 0F A5 89 29 0F DD F0 BF D0 - .byte $06, $A5, $36, $09, $10, $85, $36, $A5, $6E, $D0, $3F, $A6, $6D, $A9, $00, $85 ; CPU:$BDF2 PRG:3DF2 06 A5 36 09 10 85 36 A5 6E D0 3F A6 6D A9 00 85 - .byte $6D, $8A, $10, $07, $A9, $40, $A2, $08, $4C, $35, $BE, $A6, $1A, $B5, $32, $29 ; CPU:$BE02 PRG:3E02 6D 8A 10 07 A9 40 A2 08 4C 35 BE A6 1A B5 32 29 - .byte $C0, $10, $29, $A5, $7B, $10, $09, $A5, $AC, $29, $40, $F0, $1F, $4C, $2C, $BE ; CPU:$BE12 PRG:3E12 C0 10 29 A5 7B 10 09 A5 AC 29 40 F0 1F 4C 2C BE - .byte $A5, $6F, $49, $FF, $25, $18, $29, $01, $F0, $12, $A9, $02, $20, $36, $F0, $A9 ; CPU:$BE22 PRG:3E22 A5 6F 49 FF 25 18 29 01 F0 12 A9 02 20 36 F0 A9 - .byte $80, $A2, $10, $85, $6D, $86, $6E, $4C, $42, $BE, $C6, $6E, $A5, $18, $85, $6F ; CPU:$BE32 PRG:3E32 80 A2 10 85 6D 86 6E 4C 42 BE C6 6E A5 18 85 6F - .byte $A5, $36, $10, $03, $4C, $B8, $BE, $A6, $86, $B5, $32, $29, $3F, $C9, $0B, $D0 ; CPU:$BE42 PRG:3E42 A5 36 10 03 4C B8 BE A6 86 B5 32 29 3F C9 0B D0 - .byte $03, $4C, $3E, $BF, $A5, $18, $29, $02, $F0, $57, $A6, $1A, $B5, $33, $C9, $90 ; CPU:$BE52 PRG:3E52 03 4C 3E BF A5 18 29 02 F0 57 A6 1A B5 33 C9 90 - .byte $90, $4F, $C9, $A0, $B0, $4B, $B5, $34, $C9, $3A, $B0, $45, $A2, $13, $A5, $36 ; CPU:$BE62 PRG:3E62 90 4F C9 A0 B0 4B B5 34 C9 3A B0 45 A2 13 A5 36 - .byte $29, $40, $D0, $02, $A2, $18, $B5, $33, $C9, $B0, $D0, $35, $B5, $34, $C9, $2A ; CPU:$BE72 PRG:3E72 29 40 D0 02 A2 18 B5 33 C9 B0 D0 35 B5 34 C9 2A - .byte $D0, $2F, $A9, $0B, $A6, $1A, $95, $32, $A9, $20, $95, $36, $A9, $13, $E0, $18 ; CPU:$BE82 PRG:3E82 D0 2F A9 0B A6 1A 95 32 A9 20 95 36 A9 13 E0 18 - .byte $F0, $02, $A9, $18, $AA, $A9, $42, $95, $32, $A9, $20, $95, $36, $A9, $80, $85 ; CPU:$BE92 PRG:3E92 F0 02 A9 18 AA A9 42 95 32 A9 20 95 36 A9 80 85 - .byte $A3, $A9, $07, $20, $36, $F0, $E6, $89, $A5, $89, $29, $8F, $85, $89, $4C, $3E ; CPU:$BEA2 PRG:3EA2 A3 A9 07 20 36 F0 E6 89 A5 89 29 8F 85 89 4C 3E - .byte $BF, $A5, $16, $4C, $79, $C4, $A5, $41, $29, $20, $F0, $14, $A5, $7B, $29, $20 ; CPU:$BEB2 PRG:3EB2 BF A5 16 4C 79 C4 A5 41 29 20 F0 14 A5 7B 29 20 - .byte $D0, $0E, $A5, $35, $D0, $0A, $A6, $1A, $B5, $35, $C9, $16, $F0, $02, $F6, $35 ; CPU:$BEC2 PRG:3EC2 D0 0E A5 35 D0 0A A6 1A B5 35 C9 16 F0 02 F6 35 - .byte $A5, $16, $C9, $00, $F0, $13, $C9, $01, $F0, $24, $C9, $03, $F0, $30, $C9, $05 ; CPU:$BED2 PRG:3ED2 A5 16 C9 00 F0 13 C9 01 F0 24 C9 03 F0 30 C9 05 - .byte $F0, $31, $C9, $07, $F0, $51, $4C, $3E, $BF, $A6, $1A, $B5, $32, $29, $C0, $95 ; CPU:$BEE2 PRG:3EE2 F0 31 C9 07 F0 51 4C 3E BF A6 1A B5 32 29 C0 95 - .byte $32, $A5, $41, $29, $20, $D0, $04, $A9, $00, $95, $32, $4C, $3E, $BF, $A5, $41 ; CPU:$BEF2 PRG:3EF2 32 A5 41 29 20 D0 04 A9 00 95 32 4C 3E BF A5 41 - .byte $29, $20, $F0, $04, $A5, $A1, $F0, $03, $4C, $3E, $BF, $4C, $1B, $C5, $A0, $20 ; CPU:$BF02 PRG:3F02 29 20 F0 04 A5 A1 F0 03 4C 3E BF 4C 1B C5 A0 20 - .byte $4C, $3F, $C5, $A0, $00, $A5, $41, $29, $10, $F0, $12, $A6, $1B, $B5, $32, $29 ; CPU:$BF12 PRG:3F12 4C 3F C5 A0 00 A5 41 29 10 F0 12 A6 1B B5 32 29 - .byte $3F, $C9, $05, $F0, $08, $A5, $41, $29, $20, $D0, $02, $A0, $03, $98, $A6, $1A ; CPU:$BF22 PRG:3F22 3F C9 05 F0 08 A5 41 29 20 D0 02 A0 03 98 A6 1A - .byte $95, $32, $A9, $0C, $4C, $ED, $BF, $A0, $20, $4C, $9D, $C5, $60, $A6, $1A, $B4 ; CPU:$BF32 PRG:3F32 95 32 A9 0C 4C ED BF A0 20 4C 9D C5 60 A6 1A B4 - .byte $36, $B9, $9A, $C6, $95, $33, $C0, $00, $F0, $03, $D6, $36, $60, $A5, $41, $09 ; CPU:$BF42 PRG:3F42 36 B9 9A C6 95 33 C0 00 F0 03 D6 36 60 A5 41 09 - .byte $20, $85, $41, $A9, $02, $20, $36, $F0, $A6, $1A, $A9, $04, $4C, $E9, $BF, $A6 ; CPU:$BF52 PRG:3F52 20 85 41 A9 02 20 36 F0 A6 1A A9 04 4C E9 BF A6 - .byte $1A, $A9, $00, $4C, $E9, $BF, $A6, $1A, $B4, $36, $B9, $A7, $C6, $95, $33, $C0 ; CPU:$BF62 PRG:3F62 1A A9 00 4C E9 BF A6 1A B4 36 B9 A7 C6 95 33 C0 - .byte $00, $F0, $03, $D6, $36, $60, $A5, $41, $29, $90, $85, $41, $A9, $02, $20, $36 ; CPU:$BF72 PRG:3F72 00 F0 03 D6 36 60 A5 41 29 90 85 41 A9 02 20 36 - .byte $F0, $A6, $1A, $A9, $46, $4C, $E9, $BF, $A5, $41, $29, $10, $D0, $14, $A6, $1B ; CPU:$BF82 PRG:3F82 F0 A6 1A A9 46 4C E9 BF A5 41 29 10 D0 14 A6 1B - .byte $B5, $32, $29, $3F, $C9, $06, $F0, $0A, $A5, $36, $29, $7F, $85, $36, $A9, $80 ; CPU:$BF92 PRG:3F92 B5 32 29 3F C9 06 F0 0A A5 36 29 7F 85 36 A9 80 - .byte $85, $8B, $A6, $1A, $A9, $00, $4C, $E9, $BF, $A6, $1A, $D6, $36, $F0, $01, $60 ; CPU:$BFA2 PRG:3FA2 85 8B A6 1A A9 00 4C E9 BF A6 1A D6 36 F0 01 60 - .byte $B5, $33, $38, $E9, $10, $95, $33, $B5, $32, $29, $C0, $4C, $E9, $BF, $A6, $1A ; CPU:$BFB2 PRG:3FB2 B5 33 38 E9 10 95 33 B5 32 29 C0 4C E9 BF A6 1A - .byte $D6, $36, $F0, $01, $60, $A9, $B0, $95, $33, $A9, $2A, $95, $34, $A5, $36, $49 ; CPU:$BFC2 PRG:3FC2 D6 36 F0 01 60 A9 B0 95 33 A9 2A 95 34 A5 36 49 - .byte $FF, $29, $40, $85, $1C, $A5, $36, $29, $BF, $05, $1C, $85, $36, $A9, $00, $85 ; CPU:$BFD2 PRG:3FD2 FF 29 40 85 1C A5 36 29 BF 05 1C 85 36 A9 00 85 - .byte $A3, $A9, $40, $4C, $E9, $BF, $60, $95, $32, $A9, $20, $95, $36, $60, $01, $02 ; CPU:$BFE2 PRG:3FE2 A3 A9 40 4C E9 BF 60 95 32 A9 20 95 36 60 01 02 - .byte $03, $C3, $BD, $F9, $BD, $F9, $BD, $3F, $BF, $61, $BF, $68, $BF, $8A, $BF, $AB ; CPU:$BFF2 PRG:3FF2 03 C3 BD F9 BD F9 BD 3F BF 61 BF 68 BF 8A BF AB - .byte $BF, $E8, $BF, $E8, $BF, $E8, $BF, $C0, $BF, $E8, $BF, $A2, $23, $A5, $36, $29 ; CPU:$C002 PRG:4002 BF E8 BF E8 BF E8 BF C0 BF E8 BF A2 23 A5 36 29 - .byte $20, $F0, $02, $A2, $28, $86, $1A, $B5, $32, $29, $3F, $0A, $AA, $BD, $85, $C3 ; CPU:$C012 PRG:4012 20 F0 02 A2 28 86 1A B5 32 29 3F 0A AA BD 85 C3 - .byte $85, $22, $BD, $86, $C3, $85, $23, $6C, $22, $00, $A5, $36, $29, $10, $D0, $50 ; CPU:$C022 PRG:4022 85 22 BD 86 C3 85 23 6C 22 00 A5 36 29 10 D0 50 - .byte $A5, $36, $29, $04, $D0, $38, $A5, $71, $D0, $44, $A6, $70, $A9, $00, $85, $70 ; CPU:$C032 PRG:4032 A5 36 29 04 D0 38 A5 71 D0 44 A6 70 A9 00 85 70 - .byte $8A, $10, $07, $A9, $40, $A2, $08, $4C, $79, $C0, $A6, $1A, $B5, $32, $10, $30 ; CPU:$C042 PRG:4042 8A 10 07 A9 40 A2 08 4C 79 C0 A6 1A B5 32 10 30 - .byte $A2, $80, $A5, $84, $D0, $06, $A5, $83, $C9, $05, $90, $0A, $A2, $40, $A5, $84 ; CPU:$C052 PRG:4052 A2 80 A5 84 D0 06 A5 83 C9 05 90 0A A2 40 A5 84 - .byte $C9, $02, $90, $02, $A2, $20, $86, $1B, $A5, $AC, $25, $1B, $F0, $12, $A9, $02 ; CPU:$C062 PRG:4062 C9 02 90 02 A2 20 86 1B A5 AC 25 1B F0 12 A9 02 - .byte $20, $36, $F0, $A9, $80, $A2, $10, $85, $70, $86, $71, $4C, $82, $C0, $C6, $71 ; CPU:$C072 PRG:4072 20 36 F0 A9 80 A2 10 85 70 86 71 4C 82 C0 C6 71 - .byte $A6, $1A, $B5, $33, $85, $1B, $B5, $34, $85, $1C, $A6, $85, $B5, $33, $85, $1D ; CPU:$C082 PRG:4082 A6 1A B5 33 85 1B B5 34 85 1C A6 85 B5 33 85 1D - .byte $B5, $34, $85, $1E, $A5, $36, $10, $03, $4C, $C2, $C1, $A5, $36, $29, $02, $D0 ; CPU:$C092 PRG:4092 B5 34 85 1E A5 36 10 03 4C C2 C1 A5 36 29 02 D0 - .byte $2D, $A6, $1A, $B5, $35, $29, $FC, $D0, $6C, $A2, $28, $A5, $1A, $C9, $23, $F0 ; CPU:$C0A2 PRG:40A2 2D A6 1A B5 35 29 FC D0 6C A2 28 A5 1A C9 23 F0 - .byte $02, $A2, $23, $B5, $35, $29, $FC, $F0, $5C, $B5, $33, $C9, $30, $D0, $56, $B5 ; CPU:$C0B2 PRG:40B2 02 A2 23 B5 35 29 FC F0 5C B5 33 C9 30 D0 56 B5 - .byte $34, $C9, $B4, $D0, $50, $A5, $36, $09, $02, $85, $36, $4C, $BD, $C2, $A5, $1B ; CPU:$C0C2 PRG:40C2 34 C9 B4 D0 50 A5 36 09 02 85 36 4C BD C2 A5 1B - .byte $C9, $40, $90, $41, $C9, $48, $B0, $3D, $A5, $1C, $C9, $B8, $90, $37, $A9, $0B ; CPU:$C0D2 PRG:40D2 C9 40 90 41 C9 48 B0 3D A5 1C C9 B8 90 37 A9 0B - .byte $A6, $1A, $95, $32, $A9, $20, $95, $36, $A9, $23, $E0, $28, $F0, $02, $A9, $28 ; CPU:$C0E2 PRG:40E2 A6 1A 95 32 A9 20 95 36 A9 23 E0 28 F0 02 A9 28 - .byte $AA, $A9, $02, $95, $32, $A9, $20, $95, $36, $A9, $00, $85, $93, $A5, $36, $29 ; CPU:$C0F2 PRG:40F2 AA A9 02 95 32 A9 20 95 36 A9 00 85 93 A5 36 29 - .byte $FC, $85, $36, $A9, $81, $85, $A3, $A9, $07, $20, $36, $F0, $A5, $36, $29, $EF ; CPU:$C102 PRG:4102 FC 85 36 A9 81 85 A3 A9 07 20 36 F0 A5 36 29 EF - .byte $85, $36, $4C, $BD, $C2, $A5, $94, $C9, $01, $F0, $2D, $C9, $02, $F0, $29, $C9 ; CPU:$C112 PRG:4112 85 36 4C BD C2 A5 94 C9 01 F0 2D C9 02 F0 29 C9 - .byte $03, $F0, $39, $C9, $04, $F0, $49, $C9, $05, $F0, $45, $C9, $06, $D0, $03, $4C ; CPU:$C122 PRG:4122 03 F0 39 C9 04 F0 49 C9 05 F0 45 C9 06 D0 03 4C - .byte $72, $C1, $C9, $07, $D0, $03, $4C, $86, $C1, $C9, $08, $F0, $0B, $A6, $1A, $B5 ; CPU:$C132 PRG:4132 72 C1 C9 07 D0 03 4C 86 C1 C9 08 F0 0B A6 1A B5 - .byte $32, $29, $C0, $95, $32, $4C, $BD, $C2, $A2, $40, $A5, $36, $29, $06, $D0, $08 ; CPU:$C142 PRG:4142 32 29 C0 95 32 4C BD C2 A2 40 A5 36 29 06 D0 08 - .byte $A5, $1B, $C5, $1D, $B0, $02, $A2, $00, $8A, $4C, $97, $C1, $A2, $C0, $A5, $36 ; CPU:$C152 PRG:4152 A5 1B C5 1D B0 02 A2 00 8A 4C 97 C1 A2 C0 A5 36 - .byte $29, $06, $D0, $08, $A5, $1C, $C5, $1E, $90, $02, $A2, $80, $8A, $4C, $97, $C1 ; CPU:$C162 PRG:4162 29 06 D0 08 A5 1C C5 1E 90 02 A2 80 8A 4C 97 C1 - .byte $A2, $00, $A5, $36, $29, $06, $D0, $08, $A5, $1B, $C5, $1D, $90, $02, $A2, $40 ; CPU:$C172 PRG:4172 A2 00 A5 36 29 06 D0 08 A5 1B C5 1D 90 02 A2 40 - .byte $8A, $4C, $97, $C1, $A2, $80, $A5, $36, $29, $06, $D0, $08, $A5, $1C, $C5, $1E ; CPU:$C182 PRG:4182 8A 4C 97 C1 A2 80 A5 36 29 06 D0 08 A5 1C C5 1E - .byte $B0, $02, $A2, $C0, $8A, $48, $A6, $1A, $B5, $32, $29, $3F, $85, $1B, $68, $05 ; CPU:$C192 PRG:4192 B0 02 A2 C0 8A 48 A6 1A B5 32 29 3F 85 1B 68 05 - .byte $1B, $95, $32, $A6, $1A, $A0, $13, $A5, $36, $29, $40, $F0, $02, $A0, $18, $A5 ; CPU:$C1A2 PRG:41A2 1B 95 32 A6 1A A0 13 A5 36 29 40 F0 02 A0 18 A5 - .byte $94, $20, $4D, $ED, $8A, $48, $A6, $1A, $94, $33, $68, $95, $34, $4C, $A7, $C2 ; CPU:$C1B2 PRG:41B2 94 20 4D ED 8A 48 A6 1A 94 33 68 95 34 4C A7 C2 - .byte $A5, $41, $29, $10, $D0, $30, $A0, $00, $A5, $41, $29, $20, $F0, $1D, $A5, $43 ; CPU:$C1C2 PRG:41C2 A5 41 29 10 D0 30 A0 00 A5 41 29 20 F0 1D A5 43 - .byte $D0, $19, $A5, $AC, $C9, $80, $90, $13, $A6, $85, $B5, $32, $29, $3F, $D0, $0B ; CPU:$C1D2 PRG:41D2 D0 19 A5 AC C9 80 90 13 A6 85 B5 32 29 3F D0 0B - .byte $A6, $1A, $A9, $03, $95, $32, $A9, $0C, $4C, $F3, $C1, $A6, $1A, $94, $32, $A9 ; CPU:$C1E2 PRG:41E2 A6 1A A9 03 95 32 A9 0C 4C F3 C1 A6 1A 94 32 A9 - .byte $20, $95, $36, $4C, $BD, $C2, $A5, $43, $F0, $06, $A5, $42, $C9, $07, $B0, $06 ; CPU:$C1F2 PRG:41F2 20 95 36 4C BD C2 A5 43 F0 06 A5 42 C9 07 B0 06 - .byte $A5, $41, $29, $20, $D0, $4B, $A5, $A1, $D0, $0A, $A6, $85, $B5, $32, $29, $3F ; CPU:$C202 PRG:4202 A5 41 29 20 D0 4B A5 A1 D0 0A A6 85 B5 32 29 3F - .byte $C9, $05, $D0, $03, $4C, $A7, $C2, $A5, $1C, $C9, $40, $B0, $07, $E6, $1C, $A0 ; CPU:$C212 PRG:4212 C9 05 D0 03 4C A7 C2 A5 1C C9 40 B0 07 E6 1C A0 - .byte $C0, $4C, $2E, $C2, $C9, $B0, $90, $0F, $C6, $1C, $A0, $80, $A6, $1A, $94, $32 ; CPU:$C222 PRG:4222 C0 4C 2E C2 C9 B0 90 0F C6 1C A0 80 A6 1A 94 32 - .byte $A5, $1C, $95, $34, $4C, $A7, $C2, $A9, $40, $A6, $1A, $95, $32, $A5, $42, $C9 ; CPU:$C232 PRG:4232 A5 1C 95 34 4C A7 C2 A9 40 A6 1A 95 32 A5 42 C9 - .byte $07, $B0, $03, $4C, $A7, $C2, $A9, $45, $A6, $1A, $95, $32, $A9, $0C, $4C, $82 ; CPU:$C242 PRG:4242 07 B0 03 4C A7 C2 A9 45 A6 1A 95 32 A9 0C 4C 82 - .byte $C3, $A5, $A1, $F0, $09, $A5, $1C, $C9, $80, $90, $12, $4C, $7F, $C2, $A5, $1D ; CPU:$C252 PRG:4252 C3 A5 A1 F0 09 A5 1C C9 80 90 12 4C 7F C2 A5 1D - .byte $C9, $A8, $F0, $03, $4C, $BD, $C2, $A5, $1C, $C5, $1E, $B0, $10, $A0, $C0, $A5 ; CPU:$C262 PRG:4262 C9 A8 F0 03 4C BD C2 A5 1C C5 1E B0 10 A0 C0 A5 - .byte $1E, $38, $E5, $1C, $C9, $08, $90, $12, $E6, $1C, $4C, $8C, $C2, $A0, $80, $A5 ; CPU:$C272 PRG:4272 1E 38 E5 1C C9 08 90 12 E6 1C 4C 8C C2 A0 80 A5 - .byte $1C, $38, $E5, $1E, $C9, $08, $90, $02, $C6, $1C, $A6, $1A, $94, $32, $A6, $45 ; CPU:$C282 PRG:4282 1C 38 E5 1E C9 08 90 02 C6 1C A6 1A 94 32 A6 45 - .byte $A5, $36, $29, $40, $F0, $02, $A6, $4A, $8A, $29, $1F, $C9, $03, $B0, $06, $A6 ; CPU:$C292 PRG:4292 A5 36 29 40 F0 02 A6 4A 8A 29 1F C9 03 B0 06 A6 - .byte $1A, $A5, $1C, $95, $34, $A0, $01, $A5, $AC, $29, $08, $F0, $02, $A0, $02, $84 ; CPU:$C2A2 PRG:42A2 1A A5 1C 95 34 A0 01 A5 AC 29 08 F0 02 A0 02 84 - .byte $1B, $A6, $1A, $B5, $32, $29, $C0, $05, $1B, $95, $32, $60, $A6, $1A, $B4, $36 ; CPU:$C2B2 PRG:42B2 1B A6 1A B5 32 29 C0 05 1B 95 32 60 A6 1A B4 36 - .byte $B9, $9A, $C6, $95, $33, $C0, $00, $F0, $03, $D6, $36, $60, $A5, $41, $09, $10 ; CPU:$C2C2 PRG:42C2 B9 9A C6 95 33 C0 00 F0 03 D6 36 60 A5 41 09 10 - .byte $85, $41, $A9, $02, $20, $36, $F0, $A6, $1A, $A9, $04, $4C, $7E, $C3, $A6, $1A ; CPU:$C2D2 PRG:42D2 85 41 A9 02 20 36 F0 A6 1A A9 04 4C 7E C3 A6 1A - .byte $A9, $00, $4C, $7E, $C3, $A6, $1A, $B4, $36, $B9, $A7, $C6, $95, $33, $C0, $00 ; CPU:$C2E2 PRG:42E2 A9 00 4C 7E C3 A6 1A B4 36 B9 A7 C6 95 33 C0 00 - .byte $F0, $03, $D6, $36, $60, $A5, $41, $29, $A0, $85, $41, $A9, $02, $20, $36, $F0 ; CPU:$C2F2 PRG:42F2 F0 03 D6 36 60 A5 41 29 A0 85 41 A9 02 20 36 F0 - .byte $A6, $1A, $A9, $46, $4C, $7E, $C3, $A5, $41, $29, $20, $D0, $2B, $A6, $85, $B5 ; CPU:$C302 PRG:4302 A6 1A A9 46 4C 7E C3 A5 41 29 20 D0 2B A6 85 B5 - .byte $32, $29, $3F, $C9, $06, $F0, $21, $A6, $1A, $A9, $70, $95, $33, $A0, $40, $A5 ; CPU:$C312 PRG:4312 32 29 3F C9 06 F0 21 A6 1A A9 70 95 33 A0 40 A5 - .byte $AC, $4A, $90, $02, $A0, $C0, $94, $34, $A5, $41, $29, $7F, $85, $41, $A5, $36 ; CPU:$C322 PRG:4322 AC 4A 90 02 A0 C0 94 34 A5 41 29 7F 85 41 A5 36 - .byte $29, $7F, $85, $36, $A9, $80, $85, $8B, $A6, $1A, $A9, $00, $4C, $7E, $C3, $A6 ; CPU:$C332 PRG:4332 29 7F 85 36 A9 80 85 8B A6 1A A9 00 4C 7E C3 A6 - .byte $1A, $D6, $36, $F0, $01, $60, $B5, $33, $38, $E9, $10, $95, $33, $B5, $32, $29 ; CPU:$C342 PRG:4342 1A D6 36 F0 01 60 B5 33 38 E9 10 95 33 B5 32 29 - .byte $C0, $4C, $7E, $C3, $A6, $1A, $D6, $36, $F0, $01, $60, $A9, $30, $95, $33, $A9 ; CPU:$C352 PRG:4352 C0 4C 7E C3 A6 1A D6 36 F0 01 60 A9 30 95 33 A9 - .byte $B4, $95, $34, $A5, $36, $49, $FF, $29, $20, $85, $1B, $A5, $36, $29, $DF, $05 ; CPU:$C362 PRG:4362 B4 95 34 A5 36 49 FF 29 20 85 1B A5 36 29 DF 05 - .byte $1B, $85, $36, $A9, $00, $85, $A3, $A9, $00, $4C, $7E, $C3, $95, $32, $A9, $20 ; CPU:$C372 PRG:4372 1B 85 36 A9 00 85 A3 A9 00 4C 7E C3 95 32 A9 20 - .byte $95, $36, $60, $2C, $C0, $2C, $C0, $2C, $C0, $BE, $C2, $E0, $C2, $E7, $C2, $09 ; CPU:$C382 PRG:4382 95 36 60 2C C0 2C C0 2C C0 BE C2 E0 C2 E7 C2 09 - .byte $C3, $41, $C3, $7E, $C3, $7E, $C3, $7E, $C3, $56, $C3, $7E, $C3, $A2, $23, $A5 ; CPU:$C392 PRG:4392 C3 41 C3 7E C3 7E C3 7E C3 56 C3 7E C3 A2 23 A5 - .byte $36, $29, $20, $F0, $02, $A2, $28, $86, $1A, $A0, $13, $A5, $36, $29, $40, $F0 ; CPU:$C3A2 PRG:43A2 36 29 20 F0 02 A2 28 86 1A A0 13 A5 36 29 40 F0 - .byte $02, $A0, $18, $84, $1B, $B5, $32, $29, $3F, $0A, $AA, $BD, $B4, $C6, $85, $22 ; CPU:$C3B2 PRG:43B2 02 A0 18 84 1B B5 32 29 3F 0A AA BD B4 C6 85 22 - .byte $BD, $B5, $C6, $85, $23, $6C, $22, $00, $4C, $D0, $C3, $4C, $D0, $C3, $A5, $71 ; CPU:$C3C2 PRG:43C2 BD B5 C6 85 23 6C 22 00 4C D0 C3 4C D0 C3 A5 71 - .byte $D0, $32, $A6, $70, $A9, $00, $85, $70, $8A, $10, $07, $A9, $40, $A2, $08, $4C ; CPU:$C3D2 PRG:43D2 D0 32 A6 70 A9 00 85 70 8A 10 07 A9 40 A2 08 4C - .byte $FF, $C3, $A6, $1A, $B5, $32, $29, $C0, $10, $1C, $A5, $72, $49, $FF, $25, $19 ; CPU:$C3E2 PRG:43E2 FF C3 A6 1A B5 32 29 C0 10 1C A5 72 49 FF 25 19 - .byte $29, $01, $F0, $12, $A9, $02, $20, $36, $F0, $A9, $80, $A2, $10, $85, $70, $86 ; CPU:$C3F2 PRG:43F2 29 01 F0 12 A9 02 20 36 F0 A9 80 A2 10 85 70 86 - .byte $71, $4C, $0C, $C4, $C6, $71, $A5, $19, $85, $72, $A5, $36, $29, $80, $F0, $03 ; CPU:$C402 PRG:4402 71 4C 0C C4 C6 71 A5 19 85 72 A5 36 29 80 F0 03 - .byte $4C, $DA, $C4, $A6, $85, $B5, $32, $29, $3F, $C9, $0B, $D0, $03, $4C, $E8, $C5 ; CPU:$C412 PRG:4412 4C DA C4 A6 85 B5 32 29 3F C9 0B D0 03 4C E8 C5 - .byte $A5, $19, $29, $02, $F0, $4F, $A6, $1A, $B5, $33, $C9, $40, $90, $47, $C9, $48 ; CPU:$C422 PRG:4422 A5 19 29 02 F0 4F A6 1A B5 33 C9 40 90 47 C9 48 - .byte $B0, $43, $B5, $34, $C9, $B8, $90, $3D, $A2, $23, $A5, $36, $29, $20, $D0, $02 ; CPU:$C432 PRG:4432 B0 43 B5 34 C9 B8 90 3D A2 23 A5 36 29 20 D0 02 - .byte $A2, $28, $B5, $33, $C9, $30, $D0, $2D, $B5, $34, $C9, $B4, $D0, $27, $A9, $0B ; CPU:$C442 PRG:4442 A2 28 B5 33 C9 30 D0 2D B5 34 C9 B4 D0 27 A9 0B - .byte $A6, $1A, $95, $32, $A9, $20, $95, $36, $A9, $23, $E0, $28, $F0, $02, $A9, $28 ; CPU:$C452 PRG:4452 A6 1A 95 32 A9 20 95 36 A9 23 E0 28 F0 02 A9 28 - .byte $AA, $A9, $02, $95, $32, $A9, $20, $95, $36, $A9, $81, $85, $A3, $A9, $07, $20 ; CPU:$C462 PRG:4462 AA A9 02 95 32 A9 20 95 36 A9 81 85 A3 A9 07 20 - .byte $36, $F0, $4C, $E8, $C5, $A5, $17, $85, $1C, $C9, $01, $F0, $27, $C9, $02, $F0 ; CPU:$C472 PRG:4472 36 F0 4C E8 C5 A5 17 85 1C C9 01 F0 27 C9 02 F0 - .byte $23, $C9, $03, $F0, $24, $C9, $04, $F0, $25, $C9, $05, $F0, $21, $C9, $06, $F0 ; CPU:$C482 PRG:4482 23 C9 03 F0 24 C9 04 F0 25 C9 05 F0 21 C9 06 F0 - .byte $1D, $C9, $07, $F0, $1E, $C9, $08, $F0, $0B, $A6, $1A, $B5, $32, $29, $C0, $95 ; CPU:$C492 PRG:4492 1D C9 07 F0 1E C9 08 F0 0B A6 1A B5 32 29 C0 95 - .byte $32, $4C, $E8, $C5, $A9, $40, $4C, $B7, $C4, $A9, $C0, $4C, $B7, $C4, $A9, $00 ; CPU:$C4A2 PRG:44A2 32 4C E8 C5 A9 40 4C B7 C4 A9 C0 4C B7 C4 A9 00 - .byte $4C, $B7, $C4, $A9, $80, $48, $A6, $1A, $B5, $32, $29, $3F, $85, $1D, $68, $05 ; CPU:$C4B2 PRG:44B2 4C B7 C4 A9 80 48 A6 1A B5 32 29 3F 85 1D 68 05 - .byte $1D, $95, $32, $A6, $1A, $A4, $1B, $A5, $1C, $20, $4D, $ED, $8A, $48, $A6, $1A ; CPU:$C4C2 PRG:44C2 1D 95 32 A6 1A A4 1B A5 1C 20 4D ED 8A 48 A6 1A - .byte $94, $33, $68, $95, $34, $4C, $D6, $C5, $A5, $17, $C9, $00, $F0, $19, $C9, $01 ; CPU:$C4D2 PRG:44D2 94 33 68 95 34 4C D6 C5 A5 17 C9 00 F0 19 C9 01 - .byte $F0, $2A, $C9, $03, $F0, $55, $C9, $05, $D0, $03, $4C, $77, $C5, $C9, $07, $D0 ; CPU:$C4E2 PRG:44E2 F0 2A C9 03 F0 55 C9 05 D0 03 4C 77 C5 C9 07 D0 - .byte $03, $4C, $9B, $C5, $4C, $E8, $C5, $A6, $1A, $B5, $32, $29, $C0, $95, $32, $A5 ; CPU:$C4F2 PRG:44F2 03 4C 9B C5 4C E8 C5 A6 1A B5 32 29 C0 95 32 A5 - .byte $41, $29, $10, $D0, $04, $A9, $00, $95, $32, $4C, $E8, $C5, $A5, $41, $29, $10 ; CPU:$C502 PRG:4502 41 29 10 D0 04 A9 00 95 32 4C E8 C5 A5 41 29 10 - .byte $F0, $04, $A5, $A1, $F0, $03, $4C, $E8, $C5, $A6, $1B, $B5, $32, $29, $3F, $C9 ; CPU:$C512 PRG:4512 F0 04 A5 A1 F0 03 4C E8 C5 A6 1B B5 32 29 3F C9 - .byte $03, $F0, $0C, $A6, $1A, $B5, $34, $C9, $30, $90, $04, $C9, $C0, $90, $03, $4C ; CPU:$C522 PRG:4522 03 F0 0C A6 1A B5 34 C9 30 90 04 C9 C0 90 03 4C - .byte $E8, $C5, $A9, $45, $95, $32, $A9, $0C, $4C, $97, $C6, $A0, $10, $A5, $41, $29 ; CPU:$C532 PRG:4532 E8 C5 A9 45 95 32 A9 0C 4C 97 C6 A0 10 A5 41 29 - .byte $20, $F0, $15, $A5, $41, $29, $10, $F0, $0F, $A6, $1B, $B5, $34, $A6, $1A, $38 ; CPU:$C542 PRG:4542 20 F0 15 A5 41 29 10 F0 0F A6 1B B5 34 A6 1A 38 - .byte $F5, $34, $30, $04, $C9, $08, $90, $18, $84, $1C, $A2, $C0, $A5, $41, $25, $1C ; CPU:$C552 PRG:4552 F5 34 30 04 C9 08 90 18 84 1C A2 C0 A5 41 25 1C - .byte $F0, $02, $A2, $E8, $86, $1C, $A6, $1A, $B5, $34, $C5, $1C, $B0, $02, $F6, $34 ; CPU:$C562 PRG:4562 F0 02 A2 E8 86 1C A6 1A B5 34 C5 1C B0 02 F6 34 - .byte $A9, $C0, $4C, $D2, $C5, $A0, $00, $A5, $41, $29, $20, $F0, $12, $A6, $1B, $B5 ; CPU:$C572 PRG:4572 A9 C0 4C D2 C5 A0 00 A5 41 29 20 F0 12 A6 1B B5 - .byte $32, $29, $3F, $C9, $05, $F0, $08, $A5, $41, $29, $10, $D0, $02, $A0, $03, $98 ; CPU:$C582 PRG:4582 32 29 3F C9 05 F0 08 A5 41 29 10 D0 02 A0 03 98 - .byte $A6, $1A, $95, $32, $A9, $0C, $4C, $97, $C6, $A0, $10, $A5, $41, $29, $20, $F0 ; CPU:$C592 PRG:4592 A6 1A 95 32 A9 0C 4C 97 C6 A0 10 A5 41 29 20 F0 - .byte $15, $A5, $41, $29, $10, $F0, $0F, $A6, $1A, $B5, $34, $A6, $1B, $38, $F5, $34 ; CPU:$C5A2 PRG:45A2 15 A5 41 29 10 F0 0F A6 1A B5 34 A6 1B 38 F5 34 - .byte $30, $04, $C9, $08, $90, $18, $84, $1C, $A2, $30, $A5, $41, $25, $1C, $F0, $02 ; CPU:$C5B2 PRG:45B2 30 04 C9 08 90 18 84 1C A2 30 A5 41 25 1C F0 02 - .byte $A2, $08, $86, $1C, $A6, $1A, $B5, $34, $C5, $1C, $90, $02, $D6, $34, $A9, $80 ; CPU:$C5C2 PRG:45C2 A2 08 86 1C A6 1A B5 34 C5 1C 90 02 D6 34 A9 80 - .byte $A6, $1A, $95, $32, $A6, $1A, $B5, $32, $29, $C0, $95, $32, $A5, $AC, $29, $08 ; CPU:$C5D2 PRG:45D2 A6 1A 95 32 A6 1A B5 32 29 C0 95 32 A5 AC 29 08 - .byte $F0, $04, $F6, $32, $F6, $32, $60, $A6, $1A, $B4, $36, $B9, $9A, $C6, $95, $33 ; CPU:$C5E2 PRG:45E2 F0 04 F6 32 F6 32 60 A6 1A B4 36 B9 9A C6 95 33 - .byte $C0, $00, $F0, $03, $D6, $36, $60, $A5, $41, $09, $10, $85, $41, $A9, $02, $20 ; CPU:$C5F2 PRG:45F2 C0 00 F0 03 D6 36 60 A5 41 09 10 85 41 A9 02 20 - .byte $36, $F0, $A6, $1A, $A9, $04, $4C, $93, $C6, $A6, $1A, $A9, $00, $4C, $93, $C6 ; CPU:$C602 PRG:4602 36 F0 A6 1A A9 04 4C 93 C6 A6 1A A9 00 4C 93 C6 - .byte $A6, $1A, $B4, $36, $B9, $A7, $C6, $95, $33, $C0, $00, $F0, $03, $D6, $36, $60 ; CPU:$C612 PRG:4612 A6 1A B4 36 B9 A7 C6 95 33 C0 00 F0 03 D6 36 60 - .byte $A5, $41, $29, $A0, $85, $41, $A9, $02, $20, $36, $F0, $A6, $1A, $A9, $46, $4C ; CPU:$C622 PRG:4622 A5 41 29 A0 85 41 A9 02 20 36 F0 A6 1A A9 46 4C - .byte $93, $C6, $A5, $41, $29, $20, $D0, $14, $A6, $1B, $B5, $32, $29, $3F, $C9, $06 ; CPU:$C632 PRG:4632 93 C6 A5 41 29 20 D0 14 A6 1B B5 32 29 3F C9 06 - .byte $F0, $0A, $A5, $36, $29, $7F, $85, $36, $A9, $80, $85, $8B, $A6, $1A, $A9, $40 ; CPU:$C642 PRG:4642 F0 0A A5 36 29 7F 85 36 A9 80 85 8B A6 1A A9 40 - .byte $4C, $93, $C6, $A6, $1A, $D6, $36, $F0, $01, $60, $B5, $33, $38, $E9, $10, $95 ; CPU:$C652 PRG:4652 4C 93 C6 A6 1A D6 36 F0 01 60 B5 33 38 E9 10 95 - .byte $33, $B5, $32, $29, $C0, $4C, $93, $C6, $A6, $1A, $D6, $36, $F0, $01, $60, $A9 ; CPU:$C662 PRG:4662 33 B5 32 29 C0 4C 93 C6 A6 1A D6 36 F0 01 60 A9 - .byte $30, $95, $33, $A9, $B4, $95, $34, $A5, $36, $49, $FF, $29, $20, $85, $1C, $A5 ; CPU:$C672 PRG:4672 30 95 33 A9 B4 95 34 A5 36 49 FF 29 20 85 1C A5 - .byte $36, $29, $DF, $05, $1C, $85, $36, $A9, $00, $85, $A3, $A9, $00, $4C, $93, $C6 ; CPU:$C682 PRG:4682 36 29 DF 05 1C 85 36 A9 00 85 A3 A9 00 4C 93 C6 - .byte $60, $95, $32, $A9, $20, $95, $36, $60, $A8, $A0, $98, $90, $98, $80, $78, $70 ; CPU:$C692 PRG:4692 60 95 32 A9 20 95 36 60 A8 A0 98 90 98 80 78 70 - .byte $68, $60, $68, $70, $88, $7E, $78, $70, $68, $60, $68, $70, $78, $80, $88, $90 ; CPU:$C6A2 PRG:46A2 68 60 68 70 88 7E 78 70 68 60 68 70 78 80 88 90 - .byte $98, $A0, $CA, $C3, $CD, $C3, $D0, $C3, $E9, $C5, $0B, $C6, $12, $C6, $34, $C6 ; CPU:$C6B2 PRG:46B2 98 A0 CA C3 CD C3 D0 C3 E9 C5 0B C6 12 C6 34 C6 - .byte $55, $C6, $92, $C6, $92, $C6, $92, $C6, $6A, $C6, $92, $C6, $A5, $37, $29, $20 ; CPU:$C6C2 PRG:46C2 55 C6 92 C6 92 C6 92 C6 6A C6 92 C6 A5 37 29 20 - .byte $F0, $12, $A5, $7B, $29, $20, $D0, $0C, $A5, $38, $F0, $28, $A5, $AC, $29, $07 ; CPU:$C6D2 PRG:46D2 F0 12 A5 7B 29 20 D0 0C A5 38 F0 28 A5 AC 29 07 - .byte $AA, $4C, $47, $C7, $A5, $38, $D0, $03, $4C, $12, $C7, $A6, $18, $A5, $37, $29 ; CPU:$C6E2 PRG:46E2 AA 4C 47 C7 A5 38 D0 03 4C 12 C7 A6 18 A5 37 29 - .byte $20, $F0, $02, $A6, $19, $86, $1A, $A5, $3A, $49, $FF, $25, $1A, $29, $01, $D0 ; CPU:$C6F2 PRG:46F2 20 F0 02 A6 19 86 1A A5 3A 49 FF 25 1A 29 01 D0 - .byte $03, $4C, $27, $C7, $A5, $37, $85, $3B, $A9, $00, $85, $3C, $A9, $20, $85, $3D ; CPU:$C702 PRG:4702 03 4C 27 C7 A5 37 85 3B A9 00 85 3C A9 20 85 3D - .byte $A5, $37, $29, $7F, $85, $37, $20, $2F, $EF, $A9, $F0, $8D, $40, $07, $A9, $00 ; CPU:$C712 PRG:4712 A5 37 29 7F 85 37 20 2F EF A9 F0 8D 40 07 A9 00 - .byte $85, $9F, $4C, $D0, $C7, $A6, $18, $A5, $37, $29, $20, $F0, $02, $A6, $19, $86 ; CPU:$C722 PRG:4722 85 9F 4C D0 C7 A6 18 A5 37 29 20 F0 02 A6 19 86 - .byte $1A, $A5, $3A, $49, $FF, $25, $1A, $29, $02, $F0, $08, $E6, $39, $A5, $39, $29 ; CPU:$C732 PRG:4732 1A A5 3A 49 FF 25 1A 29 02 F0 08 E6 39 A5 39 29 - .byte $07, $85, $39, $A6, $39, $A5, $36, $10, $07, $BD, $F1, $C7, $A8, $4C, $C0, $C7 ; CPU:$C742 PRG:4742 07 85 39 A6 39 A5 36 10 07 BD F1 C7 A8 4C C0 C7 - .byte $A5, $37, $29, $20, $D0, $30, $A5, $36, $29, $40, $D0, $15, $BD, $D1, $C7, $A8 ; CPU:$C752 PRG:4752 A5 37 29 20 D0 30 A5 36 29 40 D0 15 BD D1 C7 A8 - .byte $E0, $07, $D0, $5A, $A5, $36, $29, $20, $F0, $54, $A2, $05, $A0, $0B, $4C, $B5 ; CPU:$C762 PRG:4762 E0 07 D0 5A A5 36 29 20 F0 54 A2 05 A0 0B 4C B5 - .byte $C7, $BD, $D9, $C7, $A8, $E0, $07, $D0, $45, $A5, $36, $29, $20, $D0, $3F, $A2 ; CPU:$C772 PRG:4772 C7 BD D9 C7 A8 E0 07 D0 45 A5 36 29 20 D0 3F A2 - .byte $02, $A0, $0A, $4C, $B5, $C7, $A5, $36, $29, $20, $D0, $15, $BD, $E1, $C7, $A8 ; CPU:$C782 PRG:4782 02 A0 0A 4C B5 C7 A5 36 29 20 D0 15 BD E1 C7 A8 - .byte $E0, $07, $D0, $2A, $A5, $36, $29, $40, $F0, $24, $A2, $04, $A0, $08, $4C, $B5 ; CPU:$C792 PRG:4792 E0 07 D0 2A A5 36 29 40 F0 24 A2 04 A0 08 4C B5 - .byte $C7, $BD, $E9, $C7, $A8, $E0, $07, $D0, $15, $A5, $36, $29, $40, $D0, $0F, $A2 ; CPU:$C7A2 PRG:47A2 C7 BD E9 C7 A8 E0 07 D0 15 A5 36 29 40 D0 0F A2 - .byte $03, $A0, $09, $84, $9B, $86, $9C, $A9, $07, $85, $1B, $4C, $C2, $C7, $84, $1B ; CPU:$C7B2 PRG:47B2 03 A0 09 84 9B 86 9C A9 07 85 1B 4C C2 C7 84 1B - .byte $A5, $37, $29, $E0, $05, $1B, $85, $37, $A5, $1A, $85, $3A, $C6, $38, $60, $02 ; CPU:$C7C2 PRG:47C2 A5 37 29 E0 05 1B 85 37 A5 1A 85 3A C6 38 60 02 - .byte $01, $00, $04, $03, $06, $05, $05, $01, $00, $05, $03, $06, $02, $04, $04, $00 ; CPU:$C7D2 PRG:47D2 01 00 04 03 06 05 05 01 00 05 03 06 02 04 04 00 - .byte $01, $02, $03, $04, $05, $06, $06, $00, $02, $01, $04, $03, $05, $06, $06, $00 ; CPU:$C7E2 PRG:47E2 01 02 03 04 05 06 06 00 02 01 04 03 05 06 06 00 - .byte $00, $00, $00, $04, $04, $04, $0C, $60, $A6, $85, $B5, $33, $85, $95, $B5, $34 ; CPU:$C7F2 PRG:47F2 00 00 00 04 04 04 0C 60 A6 85 B5 33 85 95 B5 34 - .byte $85, $96, $A6, $86, $B5, $33, $85, $97, $B5, $34, $85, $98, $A9, $00, $85, $1C ; CPU:$C802 PRG:4802 85 96 A6 86 B5 33 85 97 B5 34 85 98 A9 00 85 1C - .byte $A5, $3B, $29, $20, $F0, $04, $A9, $FF, $85, $1C, $A9, $00, $85, $1D, $A5, $3B ; CPU:$C812 PRG:4812 A5 3B 29 20 F0 04 A9 FF 85 1C A9 00 85 1D A5 3B - .byte $29, $40, $F0, $04, $A9, $FF, $85, $1D, $A5, $3B, $29, $1F, $85, $21, $0A, $AA ; CPU:$C822 PRG:4822 29 40 F0 04 A9 FF 85 1D A5 3B 29 1F 85 21 0A AA - .byte $BD, $90, $D4, $85, $22, $BD, $91, $D4, $85, $23, $6C, $22, $00, $A5, $3C, $C9 ; CPU:$C832 PRG:4832 BD 90 D4 85 22 BD 91 D4 85 23 6C 22 00 A5 3C C9 - .byte $01, $F0, $06, $20, $38, $D4, $4C, $C9, $CA, $A5, $3D, $F0, $03, $4C, $FF, $D2 ; CPU:$C842 PRG:4842 01 F0 06 20 38 D4 4C C9 CA A5 3D F0 03 4C FF D2 - .byte $A9, $00, $85, $9F, $A5, $1C, $D0, $3F, $A5, $97, $18, $69, $18, $85, $97, $A5 ; CPU:$C852 PRG:4852 A9 00 85 9F A5 1C D0 3F A5 97 18 69 18 85 97 A5 - .byte $36, $10, $20, $A6, $96, $A5, $1D, $D0, $0B, $E0, $C8, $90, $16, $A9, $E8, $A0 ; CPU:$C862 PRG:4862 36 10 20 A6 96 A5 1D D0 0B E0 C8 90 16 A9 E8 A0 - .byte $E0, $4C, $7E, $C8, $E0, $20, $B0, $0B, $A9, $08, $A0, $10, $85, $98, $84, $96 ; CPU:$C872 PRG:4872 E0 4C 7E C8 E0 20 B0 0B A9 08 A0 10 85 98 84 96 - .byte $4C, $D5, $C8, $A9, $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $98, $18 ; CPU:$C882 PRG:4882 4C D5 C8 A9 18 A6 1D F0 02 49 FF 85 1E A5 98 18 - .byte $65, $1E, $85, $98, $4C, $D5, $C8, $A5, $95, $18, $69, $18, $85, $95, $A5, $36 ; CPU:$C892 PRG:4892 65 1E 85 98 4C D5 C8 A5 95 18 69 18 85 95 A5 36 - .byte $10, $20, $A6, $98, $A5, $1D, $F0, $0B, $E0, $C8, $90, $16, $A9, $E8, $A0, $E0 ; CPU:$C8A2 PRG:48A2 10 20 A6 98 A5 1D F0 0B E0 C8 90 16 A9 E8 A0 E0 - .byte $4C, $BD, $C8, $E0, $20, $B0, $0B, $A9, $08, $A0, $10, $85, $96, $84, $98, $4C ; CPU:$C8B2 PRG:48B2 4C BD C8 E0 20 B0 0B A9 08 A0 10 85 96 84 98 4C - .byte $D5, $C8, $A9, $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $38, $E5 ; CPU:$C8C2 PRG:48C2 D5 C8 A9 18 A6 1D F0 02 49 FF 85 1E A5 96 38 E5 - .byte $1E, $85, $96, $A9, $04, $20, $36, $F0, $4C, $8E, $D1, $4C, $08, $CC, $A5, $3C ; CPU:$C8D2 PRG:48D2 1E 85 96 A9 04 20 36 F0 4C 8E D1 4C 08 CC A5 3C - .byte $C9, $01, $F0, $16, $C9, $02, $F0, $25, $C9, $05, $D0, $03, $4C, $9C, $C9, $20 ; CPU:$C8E2 PRG:48E2 C9 01 F0 16 C9 02 F0 25 C9 05 D0 03 4C 9C C9 20 - .byte $33, $D3, $A9, $05, $20, $3D, $F0, $4C, $E2, $D2, $A5, $3D, $F0, $03, $4C, $FF ; CPU:$C8F2 PRG:48F2 33 D3 A9 05 20 3D F0 4C E2 D2 A5 3D F0 03 4C FF - .byte $D2, $20, $5D, $D3, $A9, $00, $85, $9D, $85, $9E, $4C, $E2, $D2, $A5, $9D, $29 ; CPU:$C902 PRG:4902 D2 20 5D D3 A9 00 85 9D 85 9E 4C E2 D2 A5 9D 29 - .byte $C0, $C9, $40, $F0, $17, $C9, $80, $F0, $28, $20, $87, $D3, $C9, $00, $F0, $2D ; CPU:$C912 PRG:4912 C0 C9 40 F0 17 C9 80 F0 28 20 87 D3 C9 00 F0 2D - .byte $A9, $60, $85, $9D, $A9, $03, $20, $36, $F0, $4C, $4F, $C9, $C6, $9D, $A5, $9D ; CPU:$C922 PRG:4922 A9 60 85 9D A9 03 20 36 F0 4C 4F C9 C6 9D A5 9D - .byte $29, $3F, $F0, $03, $4C, $4F, $C9, $A9, $80, $85, $9D, $20, $38, $D4, $4C, $4F ; CPU:$C932 PRG:4932 29 3F F0 03 4C 4F C9 A9 80 85 9D 20 38 D4 4C 4F - .byte $C9, $A9, $00, $20, $F3, $D3, $C9, $00, $F0, $03, $4C, $89, $C9, $A5, $9E, $29 ; CPU:$C942 PRG:4942 C9 A9 00 20 F3 D3 C9 00 F0 03 4C 89 C9 A5 9E 29 - .byte $C0, $C9, $40, $F0, $17, $C9, $80, $F0, $25, $20, $BD, $D3, $C9, $00, $F0, $37 ; CPU:$C952 PRG:4952 C0 C9 40 F0 17 C9 80 F0 25 20 BD D3 C9 00 F0 37 - .byte $A9, $60, $85, $9E, $A9, $03, $20, $36, $F0, $4C, $99, $C9, $C6, $9E, $A5, $9E ; CPU:$C962 PRG:4962 A9 60 85 9E A9 03 20 36 F0 4C 99 C9 C6 9E A5 9E - .byte $29, $3F, $F0, $03, $4C, $99, $C9, $A9, $80, $85, $9E, $4C, $99, $C9, $A9, $01 ; CPU:$C972 PRG:4972 29 3F F0 03 4C 99 C9 A9 80 85 9E 4C 99 C9 A9 01 - .byte $20, $F3, $D3, $C9, $00, $F0, $10, $A9, $05, $85, $3C, $A9, $20, $85, $3D, $20 ; CPU:$C982 PRG:4982 20 F3 D3 C9 00 F0 10 A9 05 85 3C A9 20 85 3D 20 - .byte $38, $D4, $A9, $02, $20, $36, $F0, $4C, $E8, $D2, $A5, $21, $C9, $03, $F0, $4C ; CPU:$C992 PRG:4992 38 D4 A9 02 20 36 F0 4C E8 D2 A5 21 C9 03 F0 4C - .byte $A5, $3D, $F0, $03, $4C, $FF, $D2, $A9, $00, $85, $9F, $A5, $1C, $D0, $1C, $A5 ; CPU:$C9A2 PRG:49A2 A5 3D F0 03 4C FF D2 A9 00 85 9F A5 1C D0 1C A5 - .byte $97, $18, $69, $10, $85, $97, $A5, $98, $18, $69, $10, $85, $98, $A5, $1D, $F0 ; CPU:$C9B2 PRG:49B2 97 18 69 10 85 97 A5 98 18 69 10 85 98 A5 1D F0 - .byte $23, $A5, $98, $38, $E9, $20, $85, $98, $4C, $E6, $C9, $A5, $95, $18, $69, $10 ; CPU:$C9C2 PRG:49C2 23 A5 98 38 E9 20 85 98 4C E6 C9 A5 95 18 69 10 - .byte $85, $95, $A5, $96, $38, $E9, $10, $85, $96, $A5, $1D, $F0, $07, $A5, $96, $18 ; CPU:$C9D2 PRG:49D2 85 95 A5 96 38 E9 10 85 96 A5 1D F0 07 A5 96 18 - .byte $69, $20, $85, $96, $A9, $04, $20, $36, $F0, $4C, $8E, $D1, $A5, $3D, $F0, $03 ; CPU:$C9E2 PRG:49E2 69 20 85 96 A9 04 20 36 F0 4C 8E D1 A5 3D F0 03 - .byte $4C, $FF, $D2, $A9, $00, $85, $9F, $A5, $95, $18, $69, $10, $85, $95, $85, $97 ; CPU:$C9F2 PRG:49F2 4C FF D2 A9 00 85 9F A5 95 18 69 10 85 95 85 97 - .byte $A5, $1C, $D0, $15, $A5, $98, $18, $69, $10, $85, $98, $A5, $1D, $F0, $1C, $A5 ; CPU:$CA02 PRG:4A02 A5 1C D0 15 A5 98 18 69 10 85 98 A5 1D F0 1C A5 - .byte $98, $38, $E9, $20, $85, $98, $4C, $2D, $CA, $A5, $96, $38, $E9, $10, $85, $96 ; CPU:$CA12 PRG:4A12 98 38 E9 20 85 98 4C 2D CA A5 96 38 E9 10 85 96 - .byte $A5, $1D, $F0, $07, $A5, $96, $18, $69, $20, $85, $96, $A9, $04, $20, $36, $F0 ; CPU:$CA22 PRG:4A22 A5 1D F0 07 A5 96 18 69 20 85 96 A9 04 20 36 F0 - .byte $4C, $8E, $D1, $A5, $3C, $C9, $01, $F0, $07, $C9, $02, $F0, $39, $4C, $81, $CA ; CPU:$CA32 PRG:4A32 4C 8E D1 A5 3C C9 01 F0 07 C9 02 F0 39 4C 81 CA - .byte $A5, $3D, $F0, $03, $4C, $FF, $D2, $20, $38, $D4, $A5, $1C, $D0, $13, $A5, $96 ; CPU:$CA42 PRG:4A42 A5 3D F0 03 4C FF D2 20 38 D4 A5 1C D0 13 A5 96 - .byte $85, $98, $A5, $95, $38, $E9, $30, $85, $95, $38, $E9, $08, $85, $97, $4C, $73 ; CPU:$CA52 PRG:4A52 85 98 A5 95 38 E9 30 85 95 38 E9 08 85 97 4C 73 - .byte $CA, $A5, $98, $85, $96, $A5, $97, $38, $E9, $30, $85, $97, $38, $E9, $08, $85 ; CPU:$CA62 PRG:4A62 CA A5 98 85 96 A5 97 38 E9 30 85 97 38 E9 08 85 - .byte $95, $A9, $10, $4C, $E4, $D2, $4C, $7F, $CD, $A5, $3C, $C9, $01, $F0, $3F, $A5 ; CPU:$CA72 PRG:4A72 95 A9 10 4C E4 D2 4C 7F CD A5 3C C9 01 F0 3F A5 - .byte $1C, $D0, $1B, $A5, $95, $38, $E9, $08, $85, $97, $A9, $08, $A6, $1D, $F0, $02 ; CPU:$CA82 PRG:4A82 1C D0 1B A5 95 38 E9 08 85 97 A9 08 A6 1D F0 02 - .byte $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85, $98, $4C, $B8, $CA, $A5, $97 ; CPU:$CA92 PRG:4A92 49 FF 85 1E A5 96 38 E5 1E 85 98 4C B8 CA A5 97 - .byte $38, $E9, $08, $85, $95, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5 ; CPU:$CAA2 PRG:4AA2 38 E9 08 85 95 A9 08 A6 1D F0 02 49 FF 85 1E A5 - .byte $98, $18, $65, $1E, $85, $96, $A9, $05, $20, $3D, $F0, $4C, $E2, $D2, $4C, $8C ; CPU:$CAB2 PRG:4AB2 98 18 65 1E 85 96 A9 05 20 3D F0 4C E2 D2 4C 8C - .byte $CE, $A5, $3C, $C9, $01, $F0, $28, $20, $38, $D4, $A5, $1C, $D0, $0E, $A5, $95 ; CPU:$CAC2 PRG:4AC2 CE A5 3C C9 01 F0 28 20 38 D4 A5 1C D0 0E A5 95 - .byte $38, $E9, $08, $85, $97, $A5, $96, $85, $98, $4C, $E9, $CA, $A5, $97, $38, $E9 ; CPU:$CAD2 PRG:4AD2 38 E9 08 85 97 A5 96 85 98 4C E9 CA A5 97 38 E9 - .byte $08, $85, $95, $A5, $98, $85, $96, $A9, $05, $20, $3D, $F0, $4C, $E2, $D2, $4C ; CPU:$CAE2 PRG:4AE2 08 85 95 A5 98 85 96 A9 05 20 3D F0 4C E2 D2 4C - .byte $8C, $CE, $A5, $3C, $C9, $01, $F0, $32, $C9, $02, $F0, $3F, $A5, $1C, $D0, $14 ; CPU:$CAF2 PRG:4AF2 8C CE A5 3C C9 01 F0 32 C9 02 F0 3F A5 1C D0 14 - .byte $A9, $10, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $98, $18, $65, $1E, $85 ; CPU:$CB02 PRG:4B02 A9 10 A6 1D F0 02 49 FF 85 1E A5 98 18 65 1E 85 - .byte $96, $4C, $27, $CB, $A9, $10, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96 ; CPU:$CB12 PRG:4B12 96 4C 27 CB A9 10 A6 1D F0 02 49 FF 85 1E A5 96 - .byte $38, $E5, $1E, $85, $98, $A9, $10, $4C, $E4, $D2, $A5, $3D, $F0, $03, $4C, $FF ; CPU:$CB22 PRG:4B22 38 E5 1E 85 98 A9 10 4C E4 D2 A5 3D F0 03 4C FF - .byte $D2, $A9, $02, $20, $36, $F0, $A9, $10, $4C, $E4, $D2, $A5, $3D, $F0, $03, $4C ; CPU:$CB32 PRG:4B32 D2 A9 02 20 36 F0 A9 10 4C E4 D2 A5 3D F0 03 4C - .byte $FF, $D2, $C6, $9C, $F0, $1C, $A6, $86, $A5, $1C, $F0, $02, $A6, $85, $B5, $35 ; CPU:$CB42 PRG:4B42 FF D2 C6 9C F0 1C A6 86 A5 1C F0 02 A6 85 B5 35 - .byte $C9, $02, $90, $05, $38, $E9, $02, $95, $35, $A9, $10, $85, $3D, $C6, $3C, $4C ; CPU:$CB52 PRG:4B52 C9 02 90 05 38 E9 02 95 35 A9 10 85 3D C6 3C 4C - .byte $32, $D3, $A5, $3B, $29, $E0, $05, $9B, $85, $3B, $A9, $00, $85, $3C, $A9, $20 ; CPU:$CB62 PRG:4B62 32 D3 A5 3B 29 E0 05 9B 85 3B A9 00 85 3C A9 20 - .byte $85, $3D, $20, $2F, $EF, $4C, $32, $D3, $A5, $3C, $C9, $01, $F0, $28, $C9, $02 ; CPU:$CB72 PRG:4B72 85 3D 20 2F EF 4C 32 D3 A5 3C C9 01 F0 28 C9 02 - .byte $F0, $4A, $20, $38, $D4, $A5, $95, $85, $97, $A6, $1D, $F0, $08, $A5, $96, $18 ; CPU:$CB82 PRG:4B82 F0 4A 20 38 D4 A5 95 85 97 A6 1D F0 08 A5 96 18 - .byte $69, $10, $4C, $9C, $CB, $A5, $96, $38, $E9, $10, $85, $98, $A9, $05, $20, $3D ; CPU:$CB92 PRG:4B92 69 10 4C 9C CB A5 96 38 E9 10 85 98 A9 05 20 3D - .byte $F0, $A9, $10, $4C, $E4, $D2, $A5, $3D, $F0, $03, $4C, $FF, $D2, $A9, $00, $85 ; CPU:$CBA2 PRG:4BA2 F0 A9 10 4C E4 D2 A5 3D F0 03 4C FF D2 A9 00 85 - .byte $9F, $A6, $1D, $F0, $08, $A5, $96, $18, $69, $10, $4C, $C4, $CB, $A5, $96, $38 ; CPU:$CBB2 PRG:4BB2 9F A6 1D F0 08 A5 96 18 69 10 4C C4 CB A5 96 38 - .byte $E9, $10, $85, $98, $A9, $02, $20, $36, $F0, $4C, $E2, $D2, $A5, $3D, $F0, $03 ; CPU:$CBC2 PRG:4BC2 E9 10 85 98 A9 02 20 36 F0 4C E2 D2 A5 3D F0 03 - .byte $4C, $FF, $D2, $A5, $97, $18, $69, $10, $85, $97, $85, $95, $A9, $08, $A6, $1D ; CPU:$CBD2 PRG:4BD2 4C FF D2 A5 97 18 69 10 85 97 85 95 A9 08 A6 1D - .byte $F0, $02, $49, $FF, $85, $1E, $A5, $98, $38, $E5, $1E, $85, $98, $A9, $08, $A6 ; CPU:$CBE2 PRG:4BE2 F0 02 49 FF 85 1E A5 98 38 E5 1E 85 98 A9 08 A6 - .byte $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $18, $65, $1E, $85, $96, $A9, $04 ; CPU:$CBF2 PRG:4BF2 1D F0 02 49 FF 85 1E A5 96 18 65 1E 85 96 A9 04 - .byte $20, $36, $F0, $4C, $8E, $D1, $A5, $3C, $C9, $01, $F0, $25, $C9, $02, $F0, $2E ; CPU:$CC02 PRG:4C02 20 36 F0 4C 8E D1 A5 3C C9 01 F0 25 C9 02 F0 2E - .byte $C9, $03, $F0, $4A, $C9, $04, $F0, $50, $C9, $05, $D0, $03, $4C, $AA, $CC, $C9 ; CPU:$CC12 PRG:4C12 C9 03 F0 4A C9 04 F0 50 C9 05 D0 03 4C AA CC C9 - .byte $06, $D0, $03, $4C, $0E, $CD, $20, $33, $D3, $A9, $05, $20, $3D, $F0, $4C, $E2 ; CPU:$CC22 PRG:4C22 06 D0 03 4C 0E CD 20 33 D3 A9 05 20 3D F0 4C E2 - .byte $D2, $A5, $3D, $F0, $03, $4C, $FF, $D2, $20, $5D, $D3, $4C, $E2, $D2, $A5, $1C ; CPU:$CC32 PRG:4C32 D2 A5 3D F0 03 4C FF D2 20 5D D3 4C E2 D2 A5 1C - .byte $D0, $0A, $20, $BD, $D3, $C9, $00, $D0, $0D, $4C, $E8, $D2, $20, $87, $D3, $C9 ; CPU:$CC42 PRG:4C42 D0 0A 20 BD D3 C9 00 D0 0D 4C E8 D2 20 87 D3 C9 - .byte $00, $D0, $03, $4C, $E8, $D2, $A9, $03, $20, $36, $F0, $4C, $E2, $D2, $A5, $3D ; CPU:$CC52 PRG:4C52 00 D0 03 4C E8 D2 A9 03 20 36 F0 4C E2 D2 A5 3D - .byte $F0, $03, $4C, $FF, $D2, $4C, $E2, $D2, $A9, $00, $20, $F3, $D3, $C9, $00, $D0 ; CPU:$CC62 PRG:4C62 F0 03 4C FF D2 4C E2 D2 A9 00 20 F3 D3 C9 00 D0 - .byte $0C, $A9, $01, $20, $F3, $D3, $C9, $00, $D0, $03, $4C, $E8, $D2, $20, $38, $D4 ; CPU:$CC72 PRG:4C72 0C A9 01 20 F3 D3 C9 00 D0 03 4C E8 D2 20 38 D4 - .byte $A5, $21, $C9, $09, $F0, $08, $A9, $0F, $20, $36, $F0, $4C, $A7, $CC, $A5, $97 ; CPU:$CC82 PRG:4C82 A5 21 C9 09 F0 08 A9 0F 20 36 F0 4C A7 CC A5 97 - .byte $85, $95, $A6, $1D, $F0, $08, $A5, $98, $38, $E9, $10, $4C, $A5, $CC, $A5, $98 ; CPU:$CC92 PRG:4C92 85 95 A6 1D F0 08 A5 98 38 E9 10 4C A5 CC A5 98 - .byte $18, $69, $10, $85, $96, $4C, $E2, $D2, $A5, $3D, $F0, $03, $4C, $FF, $D2, $A5 ; CPU:$CCA2 PRG:4CA2 18 69 10 85 96 4C E2 D2 A5 3D F0 03 4C FF D2 A5 - .byte $21, $C9, $09, $F0, $3E, $A9, $00, $85, $9F, $A5, $95, $18, $69, $10, $85, $95 ; CPU:$CCB2 PRG:4CB2 21 C9 09 F0 3E A9 00 85 9F A5 95 18 69 10 85 95 - .byte $85, $97, $A5, $1C, $D0, $14, $A9, $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E ; CPU:$CCC2 PRG:4CC2 85 97 A5 1C D0 14 A9 18 A6 1D F0 02 49 FF 85 1E - .byte $A5, $98, $18, $65, $1E, $85, $98, $4C, $ED, $CC, $A9, $18, $A6, $1D, $F0, $02 ; CPU:$CCD2 PRG:4CD2 A5 98 18 65 1E 85 98 4C ED CC A9 18 A6 1D F0 02 - .byte $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85, $96, $A9, $04, $20, $36, $F0 ; CPU:$CCE2 PRG:4CE2 49 FF 85 1E A5 96 38 E5 1E 85 96 A9 04 20 36 F0 - .byte $4C, $8E, $D1, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $18 ; CPU:$CCF2 PRG:4CF2 4C 8E D1 A9 08 A6 1D F0 02 49 FF 85 1E A5 96 18 - .byte $65, $1E, $85, $96, $A9, $0F, $20, $36, $F0, $4C, $E2, $D2, $A5, $3D, $F0, $03 ; CPU:$CD02 PRG:4D02 65 1E 85 96 A9 0F 20 36 F0 4C E2 D2 A5 3D F0 03 - .byte $4C, $FF, $D2, $A9, $00, $85, $9F, $A5, $95, $18, $69, $10, $85, $95, $A9, $10 ; CPU:$CD12 PRG:4D12 4C FF D2 A9 00 85 9F A5 95 18 69 10 85 95 A9 10 - .byte $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $18, $65, $1E, $85, $96, $A9 ; CPU:$CD22 PRG:4D22 A6 1D F0 02 49 FF 85 1E A5 96 18 65 1E 85 96 A9 - .byte $04, $20, $36, $F0, $4C, $8E, $D1, $A5, $3C, $C9, $01, $F0, $24, $C9, $02, $F0 ; CPU:$CD32 PRG:4D32 04 20 36 F0 4C 8E D1 A5 3C C9 01 F0 24 C9 02 F0 - .byte $3C, $A5, $95, $38, $E9, $08, $85, $97, $A9, $08, $A6, $1D, $F0, $02, $49, $FF ; CPU:$CD42 PRG:4D42 3C A5 95 38 E9 08 85 97 A9 08 A6 1D F0 02 49 FF - .byte $85, $1E, $A5, $96, $38, $E5, $1E, $85, $98, $A9, $05, $20, $3D, $F0, $4C, $E2 ; CPU:$CD52 PRG:4D52 85 1E A5 96 38 E5 1E 85 98 A9 05 20 3D F0 4C E2 - .byte $D2, $A5, $3D, $F0, $03, $4C, $FF, $D2, $A5, $96, $85, $98, $A5, $95, $38, $E9 ; CPU:$CD62 PRG:4D62 D2 A5 3D F0 03 4C FF D2 A5 96 85 98 A5 95 38 E9 - .byte $30, $85, $95, $38, $E9, $18, $85, $97, $A9, $10, $4C, $E4, $D2, $A5, $3D, $F0 ; CPU:$CD72 PRG:4D72 30 85 95 38 E9 18 85 97 A9 10 4C E4 D2 A5 3D F0 - .byte $03, $4C, $FF, $D2, $A9, $00, $85, $9F, $A5, $1C, $D0, $54, $A5, $95, $18, $69 ; CPU:$CD82 PRG:4D82 03 4C FF D2 A9 00 85 9F A5 1C D0 54 A5 95 18 69 - .byte $40, $85, $95, $85, $97, $A5, $36, $10, $22, $A5, $1D, $D0, $0D, $A5, $96, $C9 ; CPU:$CD92 PRG:4D92 40 85 95 85 97 A5 36 10 22 A5 1D D0 0D A5 96 C9 - .byte $B0, $90, $18, $A2, $C8, $A0, $E8, $4C, $B6, $CD, $A5, $96, $C9, $40, $B0, $0B ; CPU:$CDA2 PRG:4DA2 B0 90 18 A2 C8 A0 E8 4C B6 CD A5 96 C9 40 B0 0B - .byte $A2, $28, $A0, $08, $86, $96, $84, $98, $4C, $34, $CE, $A2, $18, $A0, $38, $A5 ; CPU:$CDB2 PRG:4DB2 A2 28 A0 08 86 96 84 98 4C 34 CE A2 18 A0 38 A5 - .byte $1D, $F0, $08, $8A, $49, $FF, $AA, $98, $49, $FF, $A8, $86, $1E, $A5, $96, $18 ; CPU:$CDC2 PRG:4DC2 1D F0 08 8A 49 FF AA 98 49 FF A8 86 1E A5 96 18 - .byte $65, $1E, $85, $96, $84, $1E, $A5, $98, $18, $65, $1E, $85, $98, $4C, $34, $CE ; CPU:$CDD2 PRG:4DD2 65 1E 85 96 84 1E A5 98 18 65 1E 85 98 4C 34 CE - .byte $A5, $97, $18, $69, $40, $85, $97, $85, $95, $A5, $36, $10, $22, $A5, $1D, $D0 ; CPU:$CDE2 PRG:4DE2 A5 97 18 69 40 85 97 85 95 A5 36 10 22 A5 1D D0 - .byte $0D, $A5, $98, $C9, $40, $B0, $18, $A2, $28, $A0, $08, $4C, $0A, $CE, $A5, $98 ; CPU:$CDF2 PRG:4DF2 0D A5 98 C9 40 B0 18 A2 28 A0 08 4C 0A CE A5 98 - .byte $C9, $B0, $90, $0B, $A2, $C8, $A0, $E8, $86, $98, $84, $96, $4C, $34, $CE, $A5 ; CPU:$CE02 PRG:4E02 C9 B0 90 0B A2 C8 A0 E8 86 98 84 96 4C 34 CE A5 - .byte $1D, $D0, $11, $A5, $98, $38, $E9, $18, $85, $98, $A5, $96, $38, $E9, $38, $85 ; CPU:$CE12 PRG:4E12 1D D0 11 A5 98 38 E9 18 85 98 A5 96 38 E9 38 85 - .byte $96, $4C, $34, $CE, $A5, $98, $18, $69, $18, $85, $98, $A5, $96, $18, $69, $38 ; CPU:$CE22 PRG:4E22 96 4C 34 CE A5 98 18 69 18 85 98 A5 96 18 69 38 - .byte $85, $96, $A9, $04, $20, $36, $F0, $4C, $8E, $D1, $A5, $3C, $C9, $01, $F0, $24 ; CPU:$CE32 PRG:4E32 85 96 A9 04 20 36 F0 4C 8E D1 A5 3C C9 01 F0 24 - .byte $C9, $02, $F0, $46, $A5, $95, $18, $69, $10, $85, $97, $A9, $08, $A6, $1D, $F0 ; CPU:$CE42 PRG:4E42 C9 02 F0 46 A5 95 18 69 10 85 97 A9 08 A6 1D F0 - .byte $02, $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85, $98, $A9, $04, $20, $36 ; CPU:$CE52 PRG:4E52 02 49 FF 85 1E A5 96 38 E5 1E 85 98 A9 04 20 36 - .byte $F0, $4C, $E2, $D2, $A5, $3D, $F0, $03, $4C, $FF, $D2, $A5, $95, $85, $97, $A6 ; CPU:$CE62 PRG:4E62 F0 4C E2 D2 A5 3D F0 03 4C FF D2 A5 95 85 97 A6 - .byte $1D, $F0, $08, $A5, $96, $18, $69, $10, $4C, $82, $CE, $A5, $96, $38, $E9, $10 ; CPU:$CE72 PRG:4E72 1D F0 08 A5 96 18 69 10 4C 82 CE A5 96 38 E9 10 - .byte $85, $98, $A9, $05, $20, $3D, $F0, $4C, $E2, $D2, $A6, $86, $A5, $1C, $F0, $02 ; CPU:$CE82 PRG:4E82 85 98 A9 05 20 3D F0 4C E2 D2 A6 86 A5 1C F0 02 - .byte $A6, $85, $B5, $35, $D0, $0C, $A5, $3D, $C9, $00, $F0, $03, $4C, $FF, $D2, $4C ; CPU:$CE92 PRG:4E92 A6 85 B5 35 D0 0C A5 3D C9 00 F0 03 4C FF D2 4C - .byte $04, $D3, $A5, $A2, $30, $57, $29, $01, $D0, $3E, $A6, $18, $A5, $1C, $D0, $08 ; CPU:$CEA2 PRG:4EA2 04 D3 A5 A2 30 57 29 01 D0 3E A6 18 A5 1C D0 08 - .byte $A5, $7B, $29, $20, $F0, $0B, $A6, $19, $A5, $7B, $30, $2C, $8A, $29, $01, $F0 ; CPU:$CEB2 PRG:4EB2 A5 7B 29 20 F0 0B A6 19 A5 7B 30 2C 8A 29 01 F0 - .byte $27, $A9, $13, $C5, $85, $D0, $02, $A9, $18, $A6, $1C, $D0, $08, $A9, $23, $C5 ; CPU:$CEC2 PRG:4EC2 27 A9 13 C5 85 D0 02 A9 18 A6 1C D0 08 A9 23 C5 - .byte $86, $D0, $02, $A9, $28, $AA, $B5, $32, $29, $C0, $09, $03, $95, $32, $A9, $10 ; CPU:$CED2 PRG:4ED2 86 D0 02 A9 28 AA B5 32 29 C0 09 03 95 32 A9 10 - .byte $95, $36, $A9, $01, $05, $A2, $85, $A2, $A5, $35, $D0, $0E, $A6, $86, $A5, $1C ; CPU:$CEE2 PRG:4EE2 95 36 A9 01 05 A2 85 A2 A5 35 D0 0E A6 86 A5 1C - .byte $F0, $02, $A6, $85, $B5, $35, $F0, $02, $D6, $35, $4C, $32, $D3, $A9, $04, $20 ; CPU:$CEF2 PRG:4EF2 F0 02 A6 85 B5 35 F0 02 D6 35 4C 32 D3 A9 04 20 - .byte $36, $F0, $A5, $21, $C9, $06, $F0, $41, $C9, $0B, $D0, $03, $4C, $67, $CF, $A5 ; CPU:$CF02 PRG:4F02 36 F0 A5 21 C9 06 F0 41 C9 0B D0 03 4C 67 CF A5 - .byte $1C, $D0, $1B, $A5, $95, $18, $69, $10, $85, $97, $A9, $18, $A6, $1D, $F0, $02 ; CPU:$CF12 PRG:4F12 1C D0 1B A5 95 18 69 10 85 97 A9 18 A6 1D F0 02 - .byte $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85, $98, $4C, $48, $CF, $A5, $97 ; CPU:$CF22 PRG:4F22 49 FF 85 1E A5 96 38 E5 1E 85 98 4C 48 CF A5 97 - .byte $18, $69, $10, $85, $95, $A9, $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5 ; CPU:$CF32 PRG:4F32 18 69 10 85 95 A9 18 A6 1D F0 02 49 FF 85 1E A5 - .byte $98, $18, $65, $1E, $85, $96, $4C, $6E, $CF, $A9, $00, $85, $9F, $A5, $1C, $D0 ; CPU:$CF42 PRG:4F42 98 18 65 1E 85 96 4C 6E CF A9 00 85 9F A5 1C D0 - .byte $0A, $A5, $95, $18, $69, $10, $85, $97, $4C, $64, $CF, $A5, $97, $18, $69, $10 ; CPU:$CF52 PRG:4F52 0A A5 95 18 69 10 85 97 4C 64 CF A5 97 18 69 10 - .byte $85, $95, $4C, $6E, $CF, $A5, $95, $18, $69, $10, $85, $97, $4C, $8E, $D1, $A5 ; CPU:$CF62 PRG:4F62 85 95 4C 6E CF A5 95 18 69 10 85 97 4C 8E D1 A5 - .byte $3C, $C9, $01, $F0, $33, $C9, $02, $D0, $03, $4C, $31, $D0, $A5, $1C, $D0, $14 ; CPU:$CF72 PRG:4F72 3C C9 01 F0 33 C9 02 D0 03 4C 31 D0 A5 1C D0 14 - .byte $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85 ; CPU:$CF82 PRG:4F82 A9 08 A6 1D F0 02 49 FF 85 1E A5 96 38 E5 1E 85 - .byte $98, $4C, $A7, $CF, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $98 ; CPU:$CF92 PRG:4F92 98 4C A7 CF A9 08 A6 1D F0 02 49 FF 85 1E A5 98 - .byte $18, $65, $1E, $85, $96, $4C, $E2, $D2, $A5, $1C, $D0, $41, $A5, $96, $C9, $2C ; CPU:$CFA2 PRG:4FA2 18 65 1E 85 96 4C E2 D2 A5 1C D0 41 A5 96 C9 2C - .byte $B0, $11, $A9, $24, $85, $96, $A9, $18, $85, $98, $A5, $3B, $29, $BF, $85, $3B ; CPU:$CFB2 PRG:4FB2 B0 11 A9 24 85 96 A9 18 85 98 A5 3B 29 BF 85 3B - .byte $4C, $2E, $D0, $C9, $C4, $90, $11, $A9, $CC, $85, $96, $A9, $D4, $85, $98, $A5 ; CPU:$CFC2 PRG:4FC2 4C 2E D0 C9 C4 90 11 A9 CC 85 96 A9 D4 85 98 A5 - .byte $3B, $09, $40, $85, $3B, $4C, $2E, $D0, $C6, $96, $C6, $98, $A5, $3B, $29, $40 ; CPU:$CFD2 PRG:4FD2 3B 09 40 85 3B 4C 2E D0 C6 96 C6 98 A5 3B 29 40 - .byte $F0, $08, $E6, $96, $E6, $96, $E6, $98, $E6, $98, $4C, $E8, $D2, $A5, $98, $C9 ; CPU:$CFE2 PRG:4FE2 F0 08 E6 96 E6 96 E6 98 E6 98 4C E8 D2 A5 98 C9 - .byte $2C, $B0, $11, $A9, $24, $85, $98, $A9, $18, $85, $96, $A5, $3B, $09, $40, $85 ; CPU:$CFF2 PRG:4FF2 2C B0 11 A9 24 85 98 A9 18 85 96 A5 3B 09 40 85 - .byte $3B, $4C, $2E, $D0, $C9, $C4, $90, $11, $A9, $CC, $85, $98, $A9, $D4, $85, $96 ; CPU:$D002 PRG:5002 3B 4C 2E D0 C9 C4 90 11 A9 CC 85 98 A9 D4 85 96 - .byte $A5, $3B, $29, $BF, $85, $3B, $4C, $2E, $D0, $E6, $96, $E6, $98, $A5, $1D, $F0 ; CPU:$D012 PRG:5012 A5 3B 29 BF 85 3B 4C 2E D0 E6 96 E6 98 A5 1D F0 - .byte $08, $C6, $96, $C6, $96, $C6, $98, $C6, $98, $4C, $E8, $D2, $4C, $E2, $D2, $A5 ; CPU:$D022 PRG:5022 08 C6 96 C6 96 C6 98 C6 98 4C E8 D2 4C E2 D2 A5 - .byte $3D, $C9, $20, $D0, $17, $A9, $03, $20, $36, $F0, $A9, $20, $20, $27, $F2, $A9 ; CPU:$D032 PRG:5032 3D C9 20 D0 17 A9 03 20 36 F0 A9 20 20 27 F2 A9 - .byte $04, $20, $F6, $9B, $A9, $04, $20, $3D, $F0, $4C, $FF, $D2, $C9, $00, $F0, $03 ; CPU:$D042 PRG:5042 04 20 F6 9B A9 04 20 3D F0 4C FF D2 C9 00 F0 03 - .byte $4C, $FF, $D2, $A5, $1C, $D0, $1B, $A5, $95, $18, $69, $10, $85, $97, $A9, $18 ; CPU:$D052 PRG:5052 4C FF D2 A5 1C D0 1B A5 95 18 69 10 85 97 A9 18 - .byte $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $38, $E5, $1E, $85, $98, $4C ; CPU:$D062 PRG:5062 A6 1D F0 02 49 FF 85 1E A5 96 38 E5 1E 85 98 4C - .byte $8C, $D0, $A5, $97, $18, $69, $10, $85, $95, $A9, $18, $A6, $1D, $F0, $02, $49 ; CPU:$D072 PRG:5072 8C D0 A5 97 18 69 10 85 95 A9 18 A6 1D F0 02 49 - .byte $FF, $85, $1E, $A5, $98, $18, $65, $1E, $85, $96, $4C, $8E, $D1, $A5, $3C, $C9 ; CPU:$D082 PRG:5082 FF 85 1E A5 98 18 65 1E 85 96 4C 8E D1 A5 3C C9 - .byte $01, $F0, $07, $C9, $02, $F0, $45, $4C, $E2, $D2, $A2, $10, $A5, $1D, $D0, $02 ; CPU:$D092 PRG:5092 01 F0 07 C9 02 F0 45 4C E2 D2 A2 10 A5 1D D0 02 - .byte $A2, $20, $86, $1E, $A5, $96, $18, $69, $10, $38, $E5, $98, $C5, $1E, $90, $24 ; CPU:$D0A2 PRG:50A2 A2 20 86 1E A5 96 18 69 10 38 E5 98 C5 1E 90 24 - .byte $A5, $1C, $D0, $10, $A5, $96, $C5, $98, $B0, $05, $E6, $96, $4C, $E8, $D2, $C6 ; CPU:$D0B2 PRG:50B2 A5 1C D0 10 A5 96 C5 98 B0 05 E6 96 4C E8 D2 C6 - .byte $96, $4C, $E8, $D2, $A5, $98, $C5, $96, $B0, $05, $E6, $98, $4C, $E8, $D2, $C6 ; CPU:$D0C2 PRG:50C2 96 4C E8 D2 A5 98 C5 96 B0 05 E6 98 4C E8 D2 C6 - .byte $98, $4C, $E8, $D2, $A9, $0E, $20, $36, $F0, $4C, $E2, $D2, $A5, $3D, $F0, $03 ; CPU:$D0D2 PRG:50D2 98 4C E8 D2 A9 0E 20 36 F0 4C E2 D2 A5 3D F0 03 - .byte $4C, $FF, $D2, $A9, $00, $85, $A1, $A2, $60, $20, $C5, $EE, $A5, $1C, $D0, $1B ; CPU:$D0E2 PRG:50E2 4C FF D2 A9 00 85 A1 A2 60 20 C5 EE A5 1C D0 1B - .byte $A5, $95, $18, $69, $10, $85, $97, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85 ; CPU:$D0F2 PRG:50F2 A5 95 18 69 10 85 97 A9 08 A6 1D F0 02 49 FF 85 - .byte $1E, $A5, $96, $38, $E5, $1E, $85, $98, $4C, $25, $D1, $A5, $97, $18, $69, $10 ; CPU:$D102 PRG:5102 1E A5 96 38 E5 1E 85 98 4C 25 D1 A5 97 18 69 10 - .byte $85, $95, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $98, $18, $65 ; CPU:$D112 PRG:5112 85 95 A9 08 A6 1D F0 02 49 FF 85 1E A5 98 18 65 - .byte $1E, $85, $96, $A9, $04, $20, $36, $F0, $4C, $8E, $D1, $A5, $3C, $C9, $01, $F0 ; CPU:$D122 PRG:5122 1E 85 96 A9 04 20 36 F0 4C 8E D1 A5 3C C9 01 F0 - .byte $15, $C9, $02, $F0, $3C, $A9, $60, $85, $96, $A9, $7E, $85, $95, $85, $97, $A9 ; CPU:$D132 PRG:5132 15 C9 02 F0 3C A9 60 85 96 A9 7E 85 95 85 97 A9 - .byte $A0, $85, $98, $4C, $E2, $D2, $A9, $00, $85, $1E, $A5, $41, $29, $20, $F0, $0B ; CPU:$D142 PRG:5142 A0 85 98 4C E2 D2 A9 00 85 1E A5 41 29 20 F0 0B - .byte $E6, $95, $A5, $95, $C9, $B8, $90, $03, $4C, $6E, $D1, $A5, $41, $29, $10, $F0 ; CPU:$D152 PRG:5152 E6 95 A5 95 C9 B8 90 03 4C 6E D1 A5 41 29 10 F0 - .byte $08, $E6, $97, $A5, $97, $C9, $B8, $B0, $03, $4C, $E8, $D2, $A9, $04, $20, $36 ; CPU:$D162 PRG:5162 08 E6 97 A5 97 C9 B8 B0 03 4C E8 D2 A9 04 20 36 - .byte $F0, $A2, $00, $A5, $41, $29, $20, $F0, $02, $A2, $87, $A0, $00, $A5, $41, $29 ; CPU:$D172 PRG:5172 F0 A2 00 A5 41 29 20 F0 02 A2 87 A0 00 A5 41 29 - .byte $10, $F0, $02, $A0, $87, $86, $99, $84, $9A, $4C, $D5, $D1, $A2, $00, $A5, $1C ; CPU:$D182 PRG:5182 10 F0 02 A0 87 86 99 84 9A 4C D5 D1 A2 00 A5 1C - .byte $F0, $02, $A2, $1C, $86, $1E, $A5, $21, $0A, $18, $65, $1E, $AA, $BD, $49, $D4 ; CPU:$D192 PRG:5192 F0 02 A2 1C 86 1E A5 21 0A 18 65 1E AA BD 49 D4 - .byte $A8, $BD, $4A, $D4, $AA, $A5, $1D, $F0, $26, $8A, $29, $C0, $F0, $0E, $49, $FF ; CPU:$D1A2 PRG:51A2 A8 BD 4A D4 AA A5 1D F0 26 8A 29 C0 F0 0E 49 FF - .byte $09, $80, $29, $C0, $85, $1E, $8A, $29, $3F, $05, $1E, $AA, $98, $29, $C0, $F0 ; CPU:$D1B2 PRG:51B2 09 80 29 C0 85 1E 8A 29 3F 05 1E AA 98 29 C0 F0 - .byte $0E, $49, $FF, $09, $80, $29, $C0, $85, $1E, $98, $29, $3F, $05, $1E, $A8, $84 ; CPU:$D1C2 PRG:51C2 0E 49 FF 09 80 29 C0 85 1E 98 29 3F 05 1E A8 84 - .byte $99, $86, $9A, $A5, $3B, $29, $7F, $85, $3B, $20, $2F, $EF, $A5, $36, $30, $15 ; CPU:$D1D2 PRG:51D2 99 86 9A A5 3B 29 7F 85 3B 20 2F EF A5 36 30 15 - .byte $A2, $00, $A5, $1C, $D0, $02, $A2, $02, $B5, $95, $18, $69, $08, $C9, $A2, $90 ; CPU:$D1E2 PRG:51E2 A2 00 A5 1C D0 02 A2 02 B5 95 18 69 08 C9 A2 90 - .byte $02, $A9, $A2, $95, $95, $A6, $85, $A5, $99, $95, $32, $A5, $95, $95, $33, $A5 ; CPU:$D1F2 PRG:51F2 02 A9 A2 95 95 A6 85 A5 99 95 32 A5 95 95 33 A5 - .byte $96, $95, $34, $A9, $20, $95, $36, $A6, $86, $A5, $9A, $95, $32, $A5, $97, $95 ; CPU:$D202 PRG:5202 96 95 34 A9 20 95 36 A6 86 A5 9A 95 32 A5 97 95 - .byte $33, $A5, $98, $95, $34, $A9, $20, $95, $36, $A6, $85, $A5, $1C, $D0, $02, $A6 ; CPU:$D212 PRG:5212 33 A5 98 95 34 A9 20 95 36 A6 85 A5 1C D0 02 A6 - .byte $86, $A9, $40, $95, $36, $A5, $36, $30, $70, $A9, $00, $85, $1E, $A6, $96, $A0 ; CPU:$D222 PRG:5222 86 A9 40 95 36 A5 36 30 70 A9 00 85 1E A6 96 A0 - .byte $A0, $A5, $1C, $D0, $04, $A6, $98, $A0, $90, $8A, $C9, $30, $90, $04, $C9, $C0 ; CPU:$D232 PRG:5232 A0 A5 1C D0 04 A6 98 A0 90 8A C9 30 90 04 C9 C0 - .byte $90, $02, $84, $1E, $A5, $21, $C9, $00, $F0, $24, $C9, $05, $F0, $20, $C9, $06 ; CPU:$D242 PRG:5242 90 02 84 1E A5 21 C9 00 F0 24 C9 05 F0 20 C9 06 - .byte $F0, $1C, $C9, $09, $F0, $18, $A6, $96, $A0, $B0, $A5, $1C, $F0, $02, $A6, $98 ; CPU:$D252 PRG:5252 F0 1C C9 09 F0 18 A6 96 A0 B0 A5 1C F0 02 A6 98 - .byte $8A, $C9, $30, $90, $04, $C9, $C0, $90, $05, $98, $05, $1E, $85, $1E, $A5, $1E ; CPU:$D262 PRG:5262 8A C9 30 90 04 C9 C0 90 05 98 05 1E 85 1E A5 1E - .byte $F0, $27, $A5, $3B, $29, $E0, $09, $8E, $85, $3B, $A9, $00, $85, $3C, $A5, $1E ; CPU:$D272 PRG:5272 F0 27 A5 3B 29 E0 09 8E 85 3B A9 00 85 3C A5 1E - .byte $85, $41, $A9, $00, $85, $42, $85, $43, $A9, $40, $85, $44, $A5, $36, $09, $80 ; CPU:$D282 PRG:5282 85 41 A9 00 85 42 85 43 A9 40 85 44 A5 36 09 80 - .byte $85, $36, $A9, $81, $85, $8B, $20, $22, $FD, $A5, $21, $AA, $BD, $81, $D4, $85 ; CPU:$D292 PRG:5292 85 36 A9 81 85 8B 20 22 FD A5 21 AA BD 81 D4 85 - .byte $1F, $A6, $1C, $D0, $02, $A9, $01, $85, $20, $A6, $85, $B5, $35, $C5, $20, $90 ; CPU:$D2A2 PRG:52A2 1F A6 1C D0 02 A9 01 85 20 A6 85 B5 35 C5 20 90 - .byte $06, $38, $E5, $20, $4C, $BB, $D2, $A9, $00, $95, $35, $A5, $1F, $A6, $1C, $F0 ; CPU:$D2B2 PRG:52B2 06 38 E5 20 4C BB D2 A9 00 95 35 A5 1F A6 1C F0 - .byte $02, $A9, $01, $85, $20, $A6, $86, $B5, $35, $C5, $20, $90, $06, $38, $E5, $20 ; CPU:$D2C2 PRG:52C2 02 A9 01 85 20 A6 86 B5 35 C5 20 90 06 38 E5 20 - .byte $4C, $DD, $D2, $A5, $36, $29, $EF, $85, $36, $A9, $00, $95, $35, $4C, $32, $D3 ; CPU:$D2D2 PRG:52D2 4C DD D2 A5 36 29 EF 85 36 A9 00 95 35 4C 32 D3 - .byte $A9, $20, $85, $3D, $E6, $3C, $A6, $85, $A5, $95, $95, $33, $A5, $96, $95, $34 ; CPU:$D2E2 PRG:52E2 A9 20 85 3D E6 3C A6 85 A5 95 95 33 A5 96 95 34 - .byte $A6, $86, $A5, $97, $95, $33, $A5, $98, $95, $34, $4C, $32, $D3, $C6, $3D, $4C ; CPU:$D2F2 PRG:52F2 A6 86 A5 97 95 33 A5 98 95 34 4C 32 D3 C6 3D 4C - .byte $32, $D3, $A9, $8C, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $A2, $E9, $A0 ; CPU:$D302 PRG:5302 32 D3 A9 8C 20 36 F0 20 F3 9B 20 19 FD A2 E9 A0 - .byte $A8, $20, $3A, $FD, $A2, $B8, $A0, $B3, $20, $3A, $FD, $A9, $07, $20, $3D, $F0 ; CPU:$D312 PRG:5312 A8 20 3A FD A2 B8 A0 B3 20 3A FD A9 07 20 3D F0 - .byte $A9, $10, $20, $27, $F2, $A9, $0E, $20, $40, $FD, $20, $C6, $E9, $4C, $13, $FD ; CPU:$D322 PRG:5322 A9 10 20 27 F2 A9 0E 20 40 FD 20 C6 E9 4C 13 FD - .byte $60, $A5, $1C, $D0, $14, $A9, $08, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5 ; CPU:$D332 PRG:5332 60 A5 1C D0 14 A9 08 A6 1D F0 02 49 FF 85 1E A5 - .byte $96, $38, $E5, $1E, $85, $98, $4C, $5C, $D3, $A9, $08, $A6, $1D, $F0, $02, $49 ; CPU:$D342 PRG:5342 96 38 E5 1E 85 98 4C 5C D3 A9 08 A6 1D F0 02 49 - .byte $FF, $85, $1E, $A5, $98, $18, $65, $1E, $85, $96, $60, $A5, $1C, $D0, $14, $A9 ; CPU:$D352 PRG:5352 FF 85 1E A5 98 18 65 1E 85 96 60 A5 1C D0 14 A9 - .byte $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $96, $18, $65, $1E, $85, $98 ; CPU:$D362 PRG:5362 18 A6 1D F0 02 49 FF 85 1E A5 96 18 65 1E 85 98 - .byte $4C, $86, $D3, $A9, $18, $A6, $1D, $F0, $02, $49, $FF, $85, $1E, $A5, $98, $38 ; CPU:$D372 PRG:5372 4C 86 D3 A9 18 A6 1D F0 02 49 FF 85 1E A5 98 38 - .byte $E5, $1E, $85, $96, $60, $A5, $96, $85, $1E, $A5, $95, $85, $8F, $20, $87, $EE ; CPU:$D382 PRG:5382 E5 1E 85 96 60 A5 96 85 1E A5 95 85 8F 20 87 EE - .byte $A5, $1D, $D0, $0F, $8A, $38, $E9, $10, $C5, $1E, $B0, $1C, $C6, $96, $C6, $96 ; CPU:$D392 PRG:5392 A5 1D D0 0F 8A 38 E9 10 C5 1E B0 1C C6 96 C6 96 - .byte $4C, $B5, $D3, $98, $18, $69, $10, $85, $1F, $A5, $1E, $C5, $1F, $B0, $09, $E6 ; CPU:$D3A2 PRG:53A2 4C B5 D3 98 18 69 10 85 1F A5 1E C5 1F B0 09 E6 - .byte $96, $E6, $96, $A9, $00, $4C, $BC, $D3, $A9, $FF, $60, $A5, $98, $85, $1E, $A5 ; CPU:$D3B2 PRG:53B2 96 E6 96 A9 00 4C BC D3 A9 FF 60 A5 98 85 1E A5 - .byte $97, $85, $8F, $20, $87, $EE, $A5, $1D, $D0, $13, $98, $18, $69, $10, $85, $1F ; CPU:$D3C2 PRG:53C2 97 85 8F 20 87 EE A5 1D D0 13 98 18 69 10 85 1F - .byte $A5, $1E, $C5, $1F, $B0, $18, $E6, $98, $E6, $98, $4C, $B5, $D3, $8A, $38, $E9 ; CPU:$D3D2 PRG:53D2 A5 1E C5 1F B0 18 E6 98 E6 98 4C B5 D3 8A 38 E9 - .byte $10, $C5, $1E, $B0, $09, $C6, $98, $C6, $98, $A9, $00, $4C, $F2, $D3, $A9, $FF ; CPU:$D3E2 PRG:53E2 10 C5 1E B0 09 C6 98 C6 98 A9 00 4C F2 D3 A9 FF - .byte $60, $A8, $A5, $96, $18, $69, $10, $38, $E5, $98, $A6, $1D, $F0, $08, $A5, $98 ; CPU:$D3F2 PRG:53F2 60 A8 A5 96 18 69 10 38 E5 98 A6 1D F0 08 A5 98 - .byte $18, $69, $10, $38, $E5, $96, $C9, $10, $90, $29, $98, $D0, $12, $A5, $1D, $D0 ; CPU:$D402 PRG:5402 18 69 10 38 E5 96 C9 10 90 29 98 D0 12 A5 1D D0 - .byte $07, $E6, $96, $E6, $96, $4C, $30, $D4, $C6, $96, $C6, $96, $4C, $30, $D4, $A5 ; CPU:$D412 PRG:5412 07 E6 96 E6 96 4C 30 D4 C6 96 C6 96 4C 30 D4 A5 - .byte $1D, $D0, $07, $C6, $98, $C6, $98, $4C, $30, $D4, $E6, $98, $E6, $98, $A9, $00 ; CPU:$D422 PRG:5422 1D D0 07 C6 98 C6 98 4C 30 D4 E6 98 E6 98 A9 00 - .byte $4C, $37, $D4, $A9, $FF, $60, $A5, $95, $A6, $1C, $F0, $02, $A5, $97, $C9, $50 ; CPU:$D432 PRG:5432 4C 37 D4 A9 FF 60 A5 95 A6 1C F0 02 A5 97 C9 50 - .byte $B0, $04, $A9, $FF, $85, $9F, $60, $C0, $C7, $C7, $87, $C0, $87, $87, $87, $87 ; CPU:$D442 PRG:5442 B0 04 A9 FF 85 9F 60 C0 C7 C7 87 C0 87 87 87 87 - .byte $C7, $80, $C7, $00, $87, $00, $00, $00, $00, $00, $00, $87, $C7, $00, $C7, $80 ; CPU:$D452 PRG:5452 C7 80 C7 00 87 00 00 00 00 00 00 87 C7 00 C7 80 - .byte $C7, $C0, $87, $87, $80, $C7, $87, $C7, $80, $C7, $C7, $87, $C7, $87, $C0, $C7 ; CPU:$D462 PRG:5462 C7 C0 87 87 80 C7 87 C7 80 C7 C7 87 C7 87 C0 C7 - .byte $00, $00, $00, $87, $C7, $C7, $80, $00, $00, $00, $00, $C7, $80, $87, $C0, $01 ; CPU:$D472 PRG:5472 00 00 00 87 C7 C7 80 00 00 00 00 C7 80 87 C0 01 - .byte $01, $02, $02, $03, $03, $03, $00, $04, $04, $04, $04, $03, $04, $03, $3F, $C8 ; CPU:$D482 PRG:5482 01 02 02 03 03 03 00 04 04 04 04 03 04 03 3F C8 - .byte $DD, $C8, $E0, $C8, $E0, $C8, $35, $CA, $7B, $CA, $C3, $CA, $F4, $CA, $7A, $CB ; CPU:$D492 PRG:5492 DD C8 E0 C8 E0 C8 35 CA 7B CA C3 CA F4 CA 7A CB - .byte $08, $CC, $39, $CD, $3C, $CE, $71, $CF, $8F, $D0, $2D, $D1, $60, $A5, $40, $C9 ; CPU:$D4A2 PRG:54A2 08 CC 39 CD 3C CE 71 CF 8F D0 2D D1 60 A5 40 C9 - .byte $15, $B0, $32, $A9, $8C, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $A9, $03 ; CPU:$D4B2 PRG:54B2 15 B0 32 A9 8C 20 36 F0 20 F3 9B 20 19 FD A9 03 - .byte $85, $3F, $20, $65, $E3, $A2, $E9, $A0, $A8, $20, $3A, $FD, $A2, $09, $A5, $3E ; CPU:$D4C2 PRG:54C2 85 3F 20 65 E3 A2 E9 A0 A8 20 3A FD A2 09 A5 3E - .byte $29, $20, $F0, $02, $A2, $0B, $8A, $20, $40, $FD, $20, $C6, $E9, $A9, $40, $20 ; CPU:$D4D2 PRG:54D2 29 20 F0 02 A2 0B 8A 20 40 FD 20 C6 E9 A9 40 20 - .byte $27, $F2, $4C, $13, $FD, $A5, $7B, $29, $20, $D0, $52, $A5, $3E, $29, $20, $F0 ; CPU:$D4E2 PRG:54E2 27 F2 4C 13 FD A5 7B 29 20 D0 52 A5 3E 29 20 F0 - .byte $4C, $A5, $40, $C9, $1A, $90, $46, $A5, $AB, $D0, $42, $20, $2B, $FD, $A5, $19 ; CPU:$D4F2 PRG:54F2 4C A5 40 C9 1A 90 46 A5 AB D0 42 20 2B FD A5 19 - .byte $C9, $03, $D0, $39, $A5, $A6, $C9, $10, $B0, $14, $AD, $16, $40, $48, $45, $A5 ; CPU:$D502 PRG:5502 C9 03 D0 39 A5 A6 C9 10 B0 14 AD 16 40 48 45 A5 - .byte $29, $04, $69, $FC, $68, $85, $A5, $90, $24, $E6, $A6, $4C, $3F, $D5, $A9, $FF ; CPU:$D512 PRG:5512 29 04 69 FC 68 85 A5 90 24 E6 A6 4C 3F D5 A9 FF - .byte $85, $AB, $A5, $3E, $09, $10, $85, $3E, $A9, $20, $85, $40, $A2, $13, $A5, $36 ; CPU:$D522 PRG:5522 85 AB A5 3E 09 10 85 3E A9 20 85 40 A2 13 A5 36 - .byte $29, $40, $D0, $02, $A2, $18, $A9, $06, $95, $32, $4C, $C3, $D5, $A5, $40, $C9 ; CPU:$D532 PRG:5532 29 40 D0 02 A2 18 A9 06 95 32 4C C3 D5 A5 40 C9 - .byte $1A, $90, $7E, $A6, $85, $A4, $18, $A5, $3E, $29, $20, $D0, $04, $A6, $86, $A4 ; CPU:$D542 PRG:5542 1A 90 7E A6 85 A4 18 A5 3E 29 20 D0 04 A6 86 A4 - .byte $19, $B5, $35, $29, $FC, $D0, $2F, $A5, $7B, $29, $20, $D0, $06, $A5, $3E, $29 ; CPU:$D552 PRG:5552 19 B5 35 29 FC D0 2F A5 7B 29 20 D0 06 A5 3E 29 - .byte $20, $F0, $5E, $A5, $40, $C9, $16, $90, $58, $84, $1C, $A5, $3A, $49, $FF, $25 ; CPU:$D562 PRG:5562 20 F0 5E A5 40 C9 16 90 58 84 1C A5 3A 49 FF 25 - .byte $1C, $29, $02, $F0, $0C, $E6, $39, $A5, $39, $29, $07, $85, $39, $D0, $02, $F6 ; CPU:$D572 PRG:5572 1C 29 02 F0 0C E6 39 A5 39 29 07 85 39 D0 02 F6 - .byte $35, $84, $3A, $4C, $C3, $D5, $A5, $40, $C9, $30, $B0, $35, $A6, $85, $B5, $32 ; CPU:$D582 PRG:5582 35 84 3A 4C C3 D5 A5 40 C9 30 B0 35 A6 85 B5 32 - .byte $29, $C0, $09, $07, $95, $32, $A9, $40, $95, $36, $A6, $86, $B5, $32, $29, $C0 ; CPU:$D592 PRG:5592 29 C0 09 07 95 32 A9 40 95 36 A6 86 B5 32 29 C0 - .byte $09, $07, $95, $32, $A9, $40, $95, $36, $A6, $85, $A5, $3E, $29, $20, $F0, $02 ; CPU:$D5A2 PRG:55A2 09 07 95 32 A9 40 95 36 A6 85 A5 3E 29 20 F0 02 - .byte $A6, $86, $A9, $20, $95, $36, $B5, $33, $18, $69, $10, $95, $33, $A9, $00, $85 ; CPU:$D5B2 PRG:55B2 A6 86 A9 20 95 36 B5 33 18 69 10 95 33 A9 00 85 - .byte $3E, $A5, $3E, $29, $10, $D0, $02, $C6, $40, $60, $A5, $65, $29, $C0, $85, $65 ; CPU:$D5C2 PRG:55C2 3E A5 3E 29 10 D0 02 C6 40 60 A5 65 29 C0 85 65 - .byte $A5, $40, $C9, $81, $B0, $12, $C9, $6A, $B0, $0C, $C9, $4B, $B0, $0A, $C9, $30 ; CPU:$D5D2 PRG:55D2 A5 40 C9 81 B0 12 C9 6A B0 0C C9 4B B0 0A C9 30 - .byte $B0, $04, $C9, $1A, $B0, $02, $E6, $65, $60, $A0, $01, $A5, $40, $C9, $6A, $B0 ; CPU:$D5E2 PRG:55E2 B0 04 C9 1A B0 02 E6 65 60 A0 01 A5 40 C9 6A B0 - .byte $06, $C8, $C9, $17, $B0, $01, $C8, $84, $3F, $A2, $01, $C9, $80, $F0, $0A, $E8 ; CPU:$D5F2 PRG:55F2 06 C8 C9 17 B0 01 C8 84 3F A2 01 C9 80 F0 0A E8 - .byte $C9, $4A, $F0, $05, $E8, $C9, $16, $D0, $09, $8A, $48, $20, $F6, $9B, $68, $20 ; CPU:$D602 PRG:5602 C9 4A F0 05 E8 C9 16 D0 09 8A 48 20 F6 9B 68 20 - .byte $3D, $F0, $60, $A2, $13, $A5, $36, $29, $40, $D0, $02, $A2, $18, $B5, $32, $29 ; CPU:$D612 PRG:5612 3D F0 60 A2 13 A5 36 29 40 D0 02 A2 18 B5 32 29 - .byte $3F, $C9, $02, $F0, $2C, $C9, $03, $F0, $49, $C9, $04, $D0, $03, $4C, $7F, $D6 ; CPU:$D622 PRG:5622 3F C9 02 F0 2C C9 03 F0 49 C9 04 D0 03 4C 7F D6 - .byte $C9, $05, $D0, $03, $4C, $DB, $D6, $C9, $06, $D0, $03, $4C, $19, $D7, $C9, $07 ; CPU:$D632 PRG:5632 C9 05 D0 03 4C DB D6 C9 06 D0 03 4C 19 D7 C9 07 - .byte $D0, $03, $4C, $6B, $D7, $C9, $08, $D0, $03, $4C, $82, $D7, $A0, $20, $4C, $DA ; CPU:$D642 PRG:5642 D0 03 4C 6B D7 C9 08 D0 03 4C 82 D7 A0 20 4C DA - .byte $D7, $D6, $36, $F0, $16, $B5, $36, $C9, $09, $B0, $0D, $29, $FE, $A8, $B9, $AA ; CPU:$D652 PRG:5652 D7 D6 36 F0 16 B5 36 C9 09 B0 0D 29 FE A8 B9 AA - .byte $D7, $95, $33, $B9, $AB, $D7, $95, $34, $4C, $A6, $D7, $A9, $40, $95, $32, $4C ; CPU:$D662 PRG:5662 D7 95 33 B9 AB D7 95 34 4C A6 D7 A9 40 95 32 4C - .byte $A9, $D7, $D6, $36, $D0, $04, $A9, $44, $95, $32, $4C, $A6, $D7, $8A, $48, $A6 ; CPU:$D672 PRG:5672 A9 D7 D6 36 D0 04 A9 44 95 32 4C A6 D7 8A 48 A6 - .byte $86, $B5, $33, $85, $1A, $B5, $34, $85, $1B, $68, $AA, $A5, $1B, $D5, $34, $F0 ; CPU:$D682 PRG:5682 86 B5 33 85 1A B5 34 85 1B 68 AA A5 1B D5 34 F0 - .byte $20, $90, $0F, $F6, $34, $B5, $34, $C5, $1B, $F0, $02, $F6, $34, $A9, $C4, $4C ; CPU:$D692 PRG:5692 20 90 0F F6 34 B5 34 C5 1B F0 02 F6 34 A9 C4 4C - .byte $D6, $D6, $D6, $34, $B5, $34, $C5, $1B, $F0, $02, $D6, $34, $A9, $84, $4C, $D6 ; CPU:$D6A2 PRG:56A2 D6 D6 D6 34 B5 34 C5 1B F0 02 D6 34 A9 84 4C D6 - .byte $D6, $B5, $33, $38, $E5, $1A, $C9, $08, $B0, $14, $A5, $A2, $09, $80, $85, $A2 ; CPU:$D6B2 PRG:56B2 D6 B5 33 38 E5 1A C9 08 B0 14 A5 A2 09 80 85 A2 - .byte $8A, $48, $A9, $02, $20, $36, $F0, $68, $AA, $A9, $05, $4C, $D6, $D6, $D6, $33 ; CPU:$D6C2 PRG:56C2 8A 48 A9 02 20 36 F0 68 AA A9 05 4C D6 D6 D6 33 - .byte $D6, $33, $A9, $44, $95, $32, $4C, $A6, $D7, $A9, $00, $85, $A2, $B5, $33, $C9 ; CPU:$D6D2 PRG:56D2 D6 33 A9 44 95 32 4C A6 D7 A9 00 85 A2 B5 33 C9 - .byte $A8, $B0, $09, $F6, $33, $F6, $33, $A9, $05, $4C, $14, $D7, $B5, $34, $C9, $2E ; CPU:$D6E2 PRG:56E2 A8 B0 09 F6 33 F6 33 A9 05 4C 14 D7 B5 34 C9 2E - .byte $90, $0D, $C9, $32, $90, $12, $D6, $34, $D6, $34, $A9, $85, $4C, $14, $D7, $F6 ; CPU:$D6F2 PRG:56F2 90 0D C9 32 90 12 D6 34 D6 34 A9 85 4C 14 D7 F6 - .byte $34, $F6, $34, $A9, $C5, $4C, $14, $D7, $A9, $B0, $95, $33, $A9, $2A, $95, $34 ; CPU:$D702 PRG:5702 34 F6 34 A9 C5 4C 14 D7 A9 B0 95 33 A9 2A 95 34 - .byte $A9, $40, $95, $32, $4C, $A6, $D7, $86, $1A, $A6, $85, $B5, $33, $38, $E9, $10 ; CPU:$D712 PRG:5712 A9 40 95 32 4C A6 D7 86 1A A6 85 B5 33 38 E9 10 - .byte $85, $1B, $B5, $34, $18, $69, $18, $85, $1C, $A6, $1A, $B5, $33, $C5, $1B, $B0 ; CPU:$D722 PRG:5722 85 1B B5 34 18 69 18 85 1C A6 1A B5 33 C5 1B B0 - .byte $09, $B5, $34, $C5, $1C, $B0, $1F, $4C, $40, $D7, $D6, $33, $D6, $33, $B5, $34 ; CPU:$D732 PRG:5732 09 B5 34 C5 1C B0 1F 4C 40 D7 D6 33 D6 33 B5 34 - .byte $C5, $1C, $90, $09, $D6, $34, $D6, $34, $D6, $34, $4C, $68, $D7, $F6, $34, $F6 ; CPU:$D742 PRG:5742 C5 1C 90 09 D6 34 D6 34 D6 34 4C 68 D7 F6 34 F6 - .byte $34, $F6, $34, $4C, $68, $D7, $A5, $1B, $95, $33, $A5, $1C, $95, $34, $A9, $47 ; CPU:$D752 PRG:5752 34 F6 34 4C 68 D7 A5 1B 95 33 A5 1C 95 34 A9 47 - .byte $95, $32, $A9, $10, $95, $36, $4C, $A9, $D7, $D6, $36, $F0, $03, $4C, $A9, $D7 ; CPU:$D762 PRG:5762 95 32 A9 10 95 36 4C A9 D7 D6 36 F0 03 4C A9 D7 - .byte $A9, $10, $95, $36, $A9, $88, $95, $32, $A9, $07, $20, $36, $F0, $4C, $A9, $D7 ; CPU:$D772 PRG:5772 A9 10 95 36 A9 88 95 32 A9 07 20 36 F0 4C A9 D7 - .byte $D6, $36, $F0, $03, $4C, $A9, $D7, $A9, $B0, $95, $33, $A9, $2A, $95, $34, $A9 ; CPU:$D782 PRG:5782 D6 36 F0 03 4C A9 D7 A9 B0 95 33 A9 2A 95 34 A9 - .byte $40, $95, $32, $A9, $F0, $8D, $00, $07, $8D, $04, $07, $8D, $08, $07, $8D, $0C ; CPU:$D792 PRG:5792 40 95 32 A9 F0 8D 00 07 8D 04 07 8D 08 07 8D 0C - .byte $07, $4C, $8E, $D5, $4C, $C8, $D8, $60, $90, $48, $88, $44, $80, $3A, $88, $34 ; CPU:$D7A2 PRG:57A2 07 4C 8E D5 4C C8 D8 60 90 48 88 44 80 3A 88 34 - .byte $98, $30, $A2, $28, $A5, $36, $29, $20, $F0, $02, $A2, $23, $B5, $32, $29, $3F ; CPU:$D7B2 PRG:57B2 98 30 A2 28 A5 36 29 20 F0 02 A2 23 B5 32 29 3F - .byte $C9, $02, $F0, $3F, $C9, $03, $F0, $5C, $C9, $04, $D0, $03, $4C, $31, $D8, $C9 ; CPU:$D7C2 PRG:57C2 C9 02 F0 3F C9 03 F0 5C C9 04 D0 03 4C 31 D8 C9 - .byte $05, $D0, $03, $4C, $8D, $D8, $A0, $00, $84, $1A, $A5, $3B, $10, $1C, $29, $20 ; CPU:$D7D2 PRG:57D2 05 D0 03 4C 8D D8 A0 00 84 1A A5 3B 10 1C 29 20 - .byte $C5, $1A, $F0, $09, $A5, $AC, $29, $08, $F0, $10, $4C, $F5, $D7, $A5, $AC, $29 ; CPU:$D7E2 PRG:57E2 C5 1A F0 09 A5 AC 29 08 F0 10 4C F5 D7 A5 AC 29 - .byte $20, $F0, $07, $B5, $32, $09, $01, $4C, $00, $D8, $B5, $32, $29, $C0, $95, $32 ; CPU:$D7F2 PRG:57F2 20 F0 07 B5 32 09 01 4C 00 D8 B5 32 29 C0 95 32 - .byte $4C, $C8, $D8, $D6, $36, $F0, $16, $B5, $36, $C9, $09, $B0, $0D, $29, $FE, $A8 ; CPU:$D802 PRG:5802 4C C8 D8 D6 36 F0 16 B5 36 C9 09 B0 0D 29 FE A8 - .byte $B9, $E3, $D8, $95, $33, $B9, $E4, $D8, $95, $34, $4C, $C8, $D8, $A9, $00, $95 ; CPU:$D812 PRG:5812 B9 E3 D8 95 33 B9 E4 D8 95 34 4C C8 D8 A9 00 95 - .byte $32, $4C, $E2, $D8, $D6, $36, $D0, $04, $A9, $04, $95, $32, $4C, $C8, $D8, $8A ; CPU:$D822 PRG:5822 32 4C E2 D8 D6 36 D0 04 A9 04 95 32 4C C8 D8 8A - .byte $48, $A6, $85, $B5, $33, $85, $1A, $B5, $34, $85, $1B, $68, $AA, $A5, $1B, $D5 ; CPU:$D832 PRG:5832 48 A6 85 B5 33 85 1A B5 34 85 1B 68 AA A5 1B D5 - .byte $34, $F0, $20, $90, $0F, $F6, $34, $B5, $34, $C9, $1B, $F0, $02, $F6, $34, $A9 ; CPU:$D842 PRG:5842 34 F0 20 90 0F F6 34 B5 34 C9 1B F0 02 F6 34 A9 - .byte $C4, $4C, $88, $D8, $D6, $34, $B5, $34, $C5, $1B, $F0, $02, $D6, $34, $A9, $84 ; CPU:$D852 PRG:5852 C4 4C 88 D8 D6 34 B5 34 C5 1B F0 02 D6 34 A9 84 - .byte $4C, $88, $D8, $A5, $1A, $38, $F5, $33, $C9, $08, $B0, $14, $A5, $A2, $09, $80 ; CPU:$D862 PRG:5862 4C 88 D8 A5 1A 38 F5 33 C9 08 B0 14 A5 A2 09 80 - .byte $85, $A2, $8A, $48, $A9, $02, $20, $36, $F0, $68, $AA, $A9, $05, $4C, $88, $D8 ; CPU:$D872 PRG:5872 85 A2 8A 48 A9 02 20 36 F0 68 AA A9 05 4C 88 D8 - .byte $F6, $33, $F6, $33, $A9, $04, $95, $32, $4C, $C8, $D8, $A9, $00, $85, $A2, $B5 ; CPU:$D882 PRG:5882 F6 33 F6 33 A9 04 95 32 4C C8 D8 A9 00 85 A2 B5 - .byte $33, $C9, $38, $90, $09, $D6, $33, $D6, $33, $A9, $45, $4C, $C6, $D8, $B5, $34 ; CPU:$D892 PRG:5892 33 C9 38 90 09 D6 33 D6 33 A9 45 4C C6 D8 B5 34 - .byte $C9, $B2, $B0, $0D, $C9, $AE, $B0, $12, $F6, $34, $F6, $34, $A9, $C5, $4C, $C6 ; CPU:$D8A2 PRG:58A2 C9 B2 B0 0D C9 AE B0 12 F6 34 F6 34 A9 C5 4C C6 - .byte $D8, $D6, $34, $D6, $34, $A9, $85, $4C, $C6, $D8, $A9, $30, $95, $33, $A9, $B4 ; CPU:$D8B2 PRG:58B2 D8 D6 34 D6 34 A9 85 4C C6 D8 A9 30 95 33 A9 B4 - .byte $95, $34, $A9, $00, $95, $32, $A0, $FF, $A5, $7B, $29, $20, $D0, $02, $A0, $7F ; CPU:$D8C2 PRG:58C2 95 34 A9 00 95 32 A0 FF A5 7B 29 20 D0 02 A0 7F - .byte $84, $1A, $A5, $AC, $25, $1A, $D0, $08, $B5, $35, $C9, $14, $B0, $02, $F6, $35 ; CPU:$D8D2 PRG:58D2 84 1A A5 AC 25 1A D0 08 B5 35 C9 14 B0 02 F6 35 - .byte $60, $40, $A0, $30, $A2, $24, $A6, $22, $AC, $28, $B0, $A5, $36, $10, $49, $A5 ; CPU:$D8E2 PRG:58E2 60 40 A0 30 A2 24 A6 22 AC 28 B0 A5 36 10 49 A5 - .byte $44, $D0, $43, $A5, $43, $C9, $02, $D0, $23, $A5, $41, $29, $30, $F0, $39, $A9 ; CPU:$D8F2 PRG:58F2 44 D0 43 A5 43 C9 02 D0 23 A5 41 29 30 F0 39 A9 - .byte $8C, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $A2, $D9, $A0, $3B, $20, $3A ; CPU:$D902 PRG:5902 8C 20 36 F0 20 F3 9B 20 19 FD A2 D9 A0 3B 20 3A - .byte $FD, $A9, $0C, $20, $40, $FD, $20, $C6, $E9, $4C, $13, $FD, $A9, $05, $20, $36 ; CPU:$D912 PRG:5912 FD A9 0C 20 40 FD 20 C6 E9 4C 13 FD A9 05 20 36 - .byte $F0, $A9, $40, $85, $44, $A5, $42, $18, $69, $01, $85, $42, $C9, $0A, $90, $06 ; CPU:$D922 PRG:5922 F0 A9 40 85 44 A5 42 18 69 01 85 42 C9 0A 90 06 - .byte $A9, $00, $85, $42, $E6, $43, $C6, $44, $60, $8B, $21, $52, $49, $4E, $47, $20 ; CPU:$D932 PRG:5932 A9 00 85 42 E6 43 C6 44 60 8B 21 52 49 4E 47 20 - .byte $20, $4F, $55, $54, $21, $FF, $A5, $35, $F0, $03, $4C, $C7, $D9, $A9, $40, $85 ; CPU:$D942 PRG:5942 20 4F 55 54 21 FF A5 35 F0 03 4C C7 D9 A9 40 85 - .byte $35, $E6, $32, $A5, $32, $C9, $0A, $90, $12, $A9, $00, $85, $32, $E6, $33, $A5 ; CPU:$D952 PRG:5952 35 E6 32 A5 32 C9 0A 90 12 A9 00 85 32 E6 33 A5 - .byte $33, $C9, $06, $90, $06, $A9, $00, $85, $33, $E6, $34, $A5, $34, $C9, $05, $F0 ; CPU:$D962 PRG:5962 33 C9 06 90 06 A9 00 85 33 E6 34 A5 34 C9 05 F0 - .byte $2F, $C9, $04, $F0, $03, $4C, $C7, $D9, $A9, $80, $85, $8C, $A5, $32, $05, $33 ; CPU:$D972 PRG:5972 2F C9 04 F0 03 4C C7 D9 A9 80 85 8C A5 32 05 33 - .byte $D0, $03, $4C, $C7, $D9, $E6, $8C, $A5, $32, $D0, $06, $A5, $33, $C9, $03, $F0 ; CPU:$D982 PRG:5982 D0 03 4C C7 D9 E6 8C A5 32 D0 06 A5 33 C9 03 F0 - .byte $34, $E6, $8C, $A5, $33, $C9, $05, $F0, $2C, $A9, $00, $85, $8C, $4C, $C7, $D9 ; CPU:$D992 PRG:5992 34 E6 8C A5 33 C9 05 F0 2C A9 00 85 8C 4C C7 D9 - .byte $A9, $8C, $20, $36, $F0, $20, $F3, $9B, $20, $19, $FD, $A2, $D9, $A0, $C8, $A5 ; CPU:$D9A2 PRG:59A2 A9 8C 20 36 F0 20 F3 9B 20 19 FD A2 D9 A0 C8 A5 - .byte $36, $10, $04, $A2, $D9, $A0, $D7, $20, $3A, $FD, $A9, $0D, $20, $40, $FD, $20 ; CPU:$D9B2 PRG:59B2 36 10 04 A2 D9 A0 D7 20 3A FD A9 0D 20 40 FD 20 - .byte $C6, $E9, $4C, $13, $FD, $60, $6A, $21, $20, $54, $49, $4D, $45, $20, $20, $4F ; CPU:$D9C2 PRG:59C2 C6 E9 4C 13 FD 60 6A 21 20 54 49 4D 45 20 20 4F - .byte $56, $45, $52, $20, $FF, $2A, $21, $20, $54, $49, $4D, $45, $20, $20, $4F, $56 ; CPU:$D9D2 PRG:59D2 56 45 52 20 FF 2A 21 20 54 49 4D 45 20 20 4F 56 - .byte $45, $52, $20, $FF, $A6, $85, $B5, $32, $A8, $29, $3F, $85, $1B, $0A, $AA, $98 ; CPU:$D9E2 PRG:59E2 45 52 20 FF A6 85 B5 32 A8 29 3F 85 1B 0A AA 98 - .byte $29, $C0, $A8, $BD, $82, $DA, $85, $22, $BD, $83, $DA, $85, $23, $6C, $22, $00 ; CPU:$D9F2 PRG:59F2 29 C0 A8 BD 82 DA 85 22 BD 83 DA 85 23 6C 22 00 - .byte $A2, $00, $C0, $00, $F0, $17, $A2, $08, $C0, $40, $F0, $11, $A2, $14, $C0, $80 ; CPU:$DA02 PRG:5A02 A2 00 C0 00 F0 17 A2 08 C0 40 F0 11 A2 14 C0 80 - .byte $F0, $02, $A2, $3C, $A5, $6D, $10, $05, $8A, $18, $69, $08, $AA, $A5, $1B, $C9 ; CPU:$DA12 PRG:5A12 F0 02 A2 3C A5 6D 10 05 8A 18 69 08 AA A5 1B C9 - .byte $02, $D0, $01, $E8, $4C, $4C, $DA, $A2, $00, $4C, $4C, $DA, $A2, $08, $4C, $4C ; CPU:$DA22 PRG:5A22 02 D0 01 E8 4C 4C DA A2 00 4C 4C DA A2 08 4C 4C - .byte $DA, $A2, $30, $C0, $80, $F0, $02, $A2, $58, $A5, $85, $C9, $13, $F0, $01, $E8 ; CPU:$DA32 PRG:5A32 DA A2 30 C0 80 F0 02 A2 58 A5 85 C9 13 F0 01 E8 - .byte $86, $A8, $4C, $58, $DA, $60, $60, $60, $A2, $14, $A5, $85, $C9, $13, $F0, $06 ; CPU:$DA42 PRG:5A42 86 A8 4C 58 DA 60 60 60 A2 14 A5 85 C9 13 F0 06 - .byte $E8, $E8, $4C, $58, $DA, $60, $86, $8E, $A9, $80, $85, $91, $A9, $A0, $85, $92 ; CPU:$DA52 PRG:5A52 E8 E8 4C 58 DA 60 86 8E A9 80 85 91 A9 A0 85 92 - .byte $A6, $85, $B4, $33, $A6, $86, $98, $D5, $33, $B0, $08, $A9, $A0, $85, $91, $A9 ; CPU:$DA62 PRG:5A62 A6 85 B4 33 A6 86 98 D5 33 B0 08 A9 A0 85 91 A9 - .byte $80, $85, $92, $A6, $85, $B4, $33, $B5, $34, $AA, $A9, $00, $20, $DE, $EA, $60 ; CPU:$DA72 PRG:5A72 80 85 92 A6 85 B4 33 B5 34 AA A9 00 20 DE EA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BAD2 +; Global: Branch target inside Sub: taken when BAD2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BAD2: + lda ZpA7 ; CPU:$BAD2 PRG:3AD2 A5 A7 + bne Sub_Loop139 ; CPU:$BAD4 PRG:3AD4 D0 04 + lda GameState ; CPU:$BAD6 PRG:3AD6 A5 36 + bpl Sub_Loop140 ; CPU:$BAD8 PRG:3AD8 10 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop139 +; Global: Branch target inside Sub: taken when Loop139. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop139: + jmp Sub_Loop151 ; CPU:$BADA PRG:3ADA 4C AC BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop140 +; Global: Branch target inside Sub: taken when Loop140. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop140: + ldx WrestlerIndex ; CPU:$BADD PRG:3ADD A6 85 + lda PlayerTile,x ; CPU:$BADF PRG:3ADF B5 32 + and #$3F ; CPU:$BAE1 PRG:3AE1 29 3F + cmp #$03 ; CPU:$BAE3 PRG:3AE3 C9 03 + bcs Sub_Loop141 ; CPU:$BAE5 PRG:3AE5 B0 1B + ldx WrestlerIndex2 ; CPU:$BAE7 PRG:3AE7 A6 86 + lda PlayerTile,x ; CPU:$BAE9 PRG:3AE9 B5 32 + and #$1F ; CPU:$BAEB PRG:3AEB 29 1F + cmp #$07 ; CPU:$BAED PRG:3AED C9 07 + bne Sub_Loop141 ; CPU:$BAEF PRG:3AEF D0 11 + lda Zp18 ; CPU:$BAF1 PRG:3AF1 A5 18 + and #$01 ; CPU:$BAF3 PRG:3AF3 29 01 + beq Sub_Loop141 ; CPU:$BAF5 PRG:3AF5 F0 0B + lda #$80 ; CPU:$BAF7 PRG:3AF7 A9 80 + sta Zp3E ; CPU:$BAF9 PRG:3AF9 85 3E + ldx Zp1B ; CPU:$BAFB PRG:3AFB A6 1B + lda Zp18 ; CPU:$BAFD PRG:3AFD A5 18 + jmp Sub_BB3C ; CPU:$BAFF PRG:3AFF 4C 3C BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop141 +; Global: Branch target inside Sub: taken when Loop141. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop141: + ldx WrestlerIndex2 ; CPU:$BB02 PRG:3B02 A6 86 + lda PlayerTile,x ; CPU:$BB04 PRG:3B04 B5 32 + and #$3F ; CPU:$BB06 PRG:3B06 29 3F + cmp #$03 ; CPU:$BB08 PRG:3B08 C9 03 + bcs Sub_Loop143 ; CPU:$BB0A PRG:3B0A B0 1B + ldx WrestlerIndex ; CPU:$BB0C PRG:3B0C A6 85 + lda PlayerTile,x ; CPU:$BB0E PRG:3B0E B5 32 + and #$1F ; CPU:$BB10 PRG:3B10 29 1F + cmp #$07 ; CPU:$BB12 PRG:3B12 C9 07 + beq Sub_Loop142 ; CPU:$BB14 PRG:3B14 F0 03 + jmp Sub_Loop151 ; CPU:$BB16 PRG:3B16 4C AC BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop142 +; Global: Branch target inside Sub: taken when Loop142. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop142: + lda Zp7B ; CPU:$BB19 PRG:3B19 A5 7B + and #$20 ; CPU:$BB1B PRG:3B1B 29 20 + bne Sub_Loop144 ; CPU:$BB1D PRG:3B1D D0 0B + ldx WrestlerIndex ; CPU:$BB1F PRG:3B1F A6 85 + lda Zp35,x ; CPU:$BB21 PRG:3B21 B5 35 + and #$F8 ; CPU:$BB23 PRG:3B23 29 F8 + beq Sub_Loop145 ; CPU:$BB25 PRG:3B25 F0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop143 +; Global: Branch target inside Sub: taken when Loop143. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop143: + jmp Sub_Loop151 ; CPU:$BB27 PRG:3B27 4C AC BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop144 +; Global: Branch target inside Sub: taken when Loop144. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop144: + lda Zp19 ; CPU:$BB2A PRG:3B2A A5 19 + and #$01 ; CPU:$BB2C PRG:3B2C 29 01 + beq Sub_Loop151 ; CPU:$BB2E PRG:3B2E F0 7C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop145 +; Global: Branch target inside Sub: taken when Loop145. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop145: + lda #$A0 ; CPU:$BB30 PRG:3B30 A9 A0 + sta Zp3E ; CPU:$BB32 PRG:3B32 85 3E + lda Zp19 ; CPU:$BB34 PRG:3B34 A5 19 + sta Zp3A ; CPU:$BB36 PRG:3B36 85 3A + lda #$00 ; CPU:$BB38 PRG:3B38 A9 00 + sta Zp39 ; CPU:$BB3A PRG:3B3A 85 39 +; ----------------------------------------------------------------------------- +; Routine: Sub_BB3C +; Global: Branch target inside Sub: taken when BB3C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BB3C: + lda #$FF ; CPU:$BB3C PRG:3B3C A9 FF + sta ZpA7 ; CPU:$BB3E PRG:3B3E 85 A7 + ldx WrestlerIndex2 ; CPU:$BB40 PRG:3B40 A6 86 + lda Zp3E ; CPU:$BB42 PRG:3B42 A5 3E + and #$20 ; CPU:$BB44 PRG:3B44 29 20 + beq Sub_Loop146 ; CPU:$BB46 PRG:3B46 F0 02 + ldx WrestlerIndex ; CPU:$BB48 PRG:3B48 A6 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop146 +; Global: Branch target inside Sub: taken when Loop146. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop146: + lda #$80 ; CPU:$BB4A PRG:3B4A A9 80 + sta PlayerState ; CPU:$BB4C PRG:3B4C 85 1A + lda PlayerX,x ; CPU:$BB4E PRG:3B4E B5 33 + cmp #$78 ; CPU:$BB50 PRG:3B50 C9 78 + bcs Sub_Loop148 ; CPU:$BB52 PRG:3B52 B0 18 + clc ; CPU:$BB54 PRG:3B54 18 + adc #$10 ; CPU:$BB55 PRG:3B55 69 10 + sta Zp66 ; CPU:$BB57 PRG:3B57 85 66 + ldy #$98 ; CPU:$BB59 PRG:3B59 A0 98 + lda PlayerY,x ; CPU:$BB5B PRG:3B5B B5 34 + cmp #$80 ; CPU:$BB5D PRG:3B5D C9 80 + bcc Sub_Loop147 ; CPU:$BB5F PRG:3B5F 90 06 + ldy #$60 ; CPU:$BB61 PRG:3B61 A0 60 + lda #$C0 ; CPU:$BB63 PRG:3B63 A9 C0 + sta PlayerState ; CPU:$BB65 PRG:3B65 85 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop147 +; Global: Branch target inside Sub: taken when Loop147. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop147: + sty Zp67 ; CPU:$BB67 PRG:3B67 84 67 + jmp Sub_BB74 ; CPU:$BB69 PRG:3B69 4C 74 BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop148 +; Global: Branch target inside Sub: taken when Loop148. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop148: + lda #$60 ; CPU:$BB6C PRG:3B6C A9 60 + sta Zp66 ; CPU:$BB6E PRG:3B6E 85 66 + lda PlayerY,x ; CPU:$BB70 PRG:3B70 B5 34 + sta Zp67 ; CPU:$BB72 PRG:3B72 85 67 +; ----------------------------------------------------------------------------- +; Routine: Sub_BB74 +; Global: Branch target inside Sub: taken when BB74. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BB74: + lda PlayerState ; CPU:$BB74 PRG:3B74 A5 1A + sta Zp65 ; CPU:$BB76 PRG:3B76 85 65 + lda #$00 ; CPU:$BB78 PRG:3B78 A9 00 + sta Zp3F ; CPU:$BB7A PRG:3B7A 85 3F + lda #$A0 ; CPU:$BB7C PRG:3B7C A9 A0 + sta Zp40 ; CPU:$BB7E PRG:3B7E 85 40 + lda #$20 ; CPU:$BB80 PRG:3B80 A9 20 + sta Zp68 ; CPU:$BB82 PRG:3B82 85 68 + lda Zp66 ; CPU:$BB84 PRG:3B84 A5 66 + cmp #$78 ; CPU:$BB86 PRG:3B86 C9 78 + bne Sub_Loop149 ; CPU:$BB88 PRG:3B88 D0 07 + ldy #$EF ; CPU:$BB8A PRG:3B8A A0 EF + ldx #$21 ; CPU:$BB8C PRG:3B8C A2 21 + jmp Sub_Loop150 ; CPU:$BB8E PRG:3B8E 4C 9D BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop149 +; Global: Branch target inside Sub: taken when Loop149. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop149: + ldx #$22 ; CPU:$BB91 PRG:3B91 A2 22 + ldy #$49 ; CPU:$BB93 PRG:3B93 A0 49 + lda Zp67 ; CPU:$BB95 PRG:3B95 A5 67 + cmp #$80 ; CPU:$BB97 PRG:3B97 C9 80 + bcc Sub_Loop150 ; CPU:$BB99 PRG:3B99 90 02 + ldy #$56 ; CPU:$BB9B PRG:3B9B A0 56 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop150 +; Global: Branch target inside Sub: taken when Loop150. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop150: + sty Zp6B ; CPU:$BB9D PRG:3B9D 84 6B + stx Zp6C ; CPU:$BB9F PRG:3B9F 86 6C + lda GameState ; CPU:$BBA1 PRG:3BA1 A5 36 + and #$FB ; CPU:$BBA3 PRG:3BA3 29 FB + sta GameState ; CPU:$BBA5 PRG:3BA5 85 36 + lda #$FF ; CPU:$BBA7 PRG:3BA7 A9 FF + jmp Sub_BBAE ; CPU:$BBA9 PRG:3BA9 4C AE BB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop151 +; Global: Branch target inside Sub: taken when Loop151. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop151: + lda #$00 ; CPU:$BBAC PRG:3BAC A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BBAE +; Global: Branch target inside Sub: taken when BBAE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BBAE: + rts ; CPU:$BBAE PRG:3BAE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BBAF +; Global: Branch target inside Sub: taken when BBAF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BBAF: + ldx WrestlerIndex2 ; CPU:$BBAF PRG:3BAF A6 86 + lda PlayerX,x ; CPU:$BBB1 PRG:3BB1 B5 33 + sta Zp97 ; CPU:$BBB3 PRG:3BB3 85 97 + lda PlayerY,x ; CPU:$BBB5 PRG:3BB5 B5 34 + sta SpriteY ; CPU:$BBB7 PRG:3BB7 85 98 + ldx WrestlerIndex ; CPU:$BBB9 PRG:3BB9 A6 85 + lda PlayerX,x ; CPU:$BBBB PRG:3BBB B5 33 + sta Zp95 ; CPU:$BBBD PRG:3BBD 85 95 + lda PlayerY,x ; CPU:$BBBF PRG:3BBF B5 34 + sta SpriteX ; CPU:$BBC1 PRG:3BC1 85 96 + lda PlayerTile,x ; CPU:$BBC3 PRG:3BC3 B5 32 + and #$3F ; CPU:$BBC5 PRG:3BC5 29 3F + cmp #$03 ; CPU:$BBC7 PRG:3BC7 C9 03 + bcc Sub_Loop152 ; CPU:$BBC9 PRG:3BC9 90 03 + jmp Sub_BD2B ; CPU:$BBCB PRG:3BCB 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop152 +; Global: Branch target inside Sub: taken when Loop152. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop152: + ldx WrestlerIndex2 ; CPU:$BBCE PRG:3BCE A6 86 + lda PlayerTile,x ; CPU:$BBD0 PRG:3BD0 B5 32 + and #$3F ; CPU:$BBD2 PRG:3BD2 29 3F + cmp #$03 ; CPU:$BBD4 PRG:3BD4 C9 03 + bcc Sub_Loop153 ; CPU:$BBD6 PRG:3BD6 90 03 + jmp Sub_BD2B ; CPU:$BBD8 PRG:3BD8 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop153 +; Global: Branch target inside Sub: taken when Loop153. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop153: + lda Zp95 ; CPU:$BBDB PRG:3BDB A5 95 + clc ; CPU:$BBDD PRG:3BDD 18 + adc #$08 ; CPU:$BBDE PRG:3BDE 69 08 + sec ; CPU:$BBE0 PRG:3BE0 38 + sbc Zp97 ; CPU:$BBE1 PRG:3BE1 E5 97 + cmp #$11 ; CPU:$BBE3 PRG:3BE3 C9 11 + bcc Sub_Loop154 ; CPU:$BBE5 PRG:3BE5 90 03 + jmp Sub_BD2B ; CPU:$BBE7 PRG:3BE7 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop154 +; Global: Branch target inside Sub: taken when Loop154. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop154: + lda SpriteX ; CPU:$BBEA PRG:3BEA A5 96 + clc ; CPU:$BBEC PRG:3BEC 18 + adc #$0C ; CPU:$BBED PRG:3BED 69 0C + sec ; CPU:$BBEF PRG:3BEF 38 + sbc SpriteY ; CPU:$BBF0 PRG:3BF0 E5 98 + cmp #$18 ; CPU:$BBF2 PRG:3BF2 C9 18 + bcc Sub_Loop155 ; CPU:$BBF4 PRG:3BF4 90 03 + jmp Sub_BD2B ; CPU:$BBF6 PRG:3BF6 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop155 +; Global: Branch target inside Sub: taken when Loop155. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop155: + lda Zp6D ; CPU:$BBF9 PRG:3BF9 A5 6D + bpl Sub_Loop158 ; CPU:$BBFB PRG:3BFB 10 24 + lda Zp70 ; CPU:$BBFD PRG:3BFD A5 70 + bpl Sub_Loop156 ; CPU:$BBFF PRG:3BFF 10 03 + jmp Sub_BD2B ; CPU:$BC01 PRG:3C01 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop156 +; Global: Branch target inside Sub: taken when Loop156. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop156: + ldx WrestlerIndex ; CPU:$BC04 PRG:3C04 A6 85 + lda PlayerTile,x ; CPU:$BC06 PRG:3C06 B5 32 + and #$C0 ; CPU:$BC08 PRG:3C08 29 C0 + tay ; CPU:$BC0A PRG:3C0A A8 + lda SpriteX ; CPU:$BC0B PRG:3C0B A5 96 + cmp SpriteY ; CPU:$BC0D PRG:3C0D C5 98 + bcs Sub_Loop157 ; CPU:$BC0F PRG:3C0F B0 07 + cpy #$C0 ; CPU:$BC11 PRG:3C11 C0 C0 + bne Sub_Loop160 ; CPU:$BC13 PRG:3C13 D0 2E + jmp Sub_BC1C ; CPU:$BC15 PRG:3C15 4C 1C BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop157 +; Global: Branch target inside Sub: taken when Loop157. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop157: + cpy #$80 ; CPU:$BC18 PRG:3C18 C0 80 + bne Sub_Loop160 ; CPU:$BC1A PRG:3C1A D0 27 +; ----------------------------------------------------------------------------- +; Routine: Sub_BC1C +; Global: Branch target inside Sub: taken when BC1C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BC1C: + lda #$80 ; CPU:$BC1C PRG:3C1C A9 80 + jmp Sub_BC48 ; CPU:$BC1E PRG:3C1E 4C 48 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop158 +; Global: Branch target inside Sub: taken when Loop158. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop158: + lda Zp70 ; CPU:$BC21 PRG:3C21 A5 70 + bpl Sub_Loop160 ; CPU:$BC23 PRG:3C23 10 1E + lda GameState ; CPU:$BC25 PRG:3C25 A5 36 + and #$04 ; CPU:$BC27 PRG:3C27 29 04 + bne Sub_Loop161 ; CPU:$BC29 PRG:3C29 D0 1B + ldx WrestlerIndex2 ; CPU:$BC2B PRG:3C2B A6 86 + lda PlayerTile,x ; CPU:$BC2D PRG:3C2D B5 32 + and #$C0 ; CPU:$BC2F PRG:3C2F 29 C0 + tay ; CPU:$BC31 PRG:3C31 A8 + lda SpriteY ; CPU:$BC32 PRG:3C32 A5 98 + cmp SpriteX ; CPU:$BC34 PRG:3C34 C5 96 + bcc Sub_Loop159 ; CPU:$BC36 PRG:3C36 90 07 + cpy #$80 ; CPU:$BC38 PRG:3C38 C0 80 + bne Sub_Loop160 ; CPU:$BC3A PRG:3C3A D0 07 + jmp Sub_Loop161 ; CPU:$BC3C PRG:3C3C 4C 46 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop159 +; Global: Branch target inside Sub: taken when Loop159. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop159: + cpy #$C0 ; CPU:$BC3F PRG:3C3F C0 C0 + beq Sub_Loop161 ; CPU:$BC41 PRG:3C41 F0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop160 +; Global: Branch target inside Sub: taken when Loop160. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop160: + jmp Sub_BD2B ; CPU:$BC43 PRG:3C43 4C 2B BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop161 +; Global: Branch target inside Sub: taken when Loop161. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop161: + lda #$A0 ; CPU:$BC46 PRG:3C46 A9 A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_BC48 +; Global: Branch target inside Sub: taken when BC48. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BC48: + sta Zp37 ; CPU:$BC48 PRG:3C48 85 37 + lda Zp95 ; CPU:$BC4A PRG:3C4A A5 95 + cmp Zp97 ; CPU:$BC4C PRG:3C4C C5 97 + bcc Sub_Loop162 ; CPU:$BC4E PRG:3C4E 90 05 + sta Zp97 ; CPU:$BC50 PRG:3C50 85 97 + jmp Sub_BC59 ; CPU:$BC52 PRG:3C52 4C 59 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop162 +; Global: Branch target inside Sub: taken when Loop162. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop162: + lda Zp97 ; CPU:$BC55 PRG:3C55 A5 97 + sta Zp95 ; CPU:$BC57 PRG:3C57 85 95 +; ----------------------------------------------------------------------------- +; Routine: Sub_BC59 +; Global: Branch target inside Sub: taken when BC59. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BC59: + cmp #$50 ; CPU:$BC59 PRG:3C59 C9 50 + bcs Sub_Loop163 ; CPU:$BC5B PRG:3C5B B0 04 + ldx #$FF ; CPU:$BC5D PRG:3C5D A2 FF + stx Zp9F ; CPU:$BC5F PRG:3C5F 86 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop163 +; Global: Branch target inside Sub: taken when Loop163. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop163: + ldx #$00 ; CPU:$BC61 PRG:3C61 A2 00 + cmp #$78 ; CPU:$BC63 PRG:3C63 C9 78 + bcs Sub_Loop164 ; CPU:$BC65 PRG:3C65 B0 02 + ldx #$FF ; CPU:$BC67 PRG:3C67 A2 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop164 +; Global: Branch target inside Sub: taken when Loop164. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop164: + stx ZpA4 ; CPU:$BC69 PRG:3C69 86 A4 + lda SpriteX ; CPU:$BC6B PRG:3C6B A5 96 + cmp #$80 ; CPU:$BC6D PRG:3C6D C9 80 + bcs Sub_Loop166 ; CPU:$BC6F PRG:3C6F B0 1C + cmp SpriteY ; CPU:$BC71 PRG:3C71 C5 98 + bcs Sub_Loop165 ; CPU:$BC73 PRG:3C73 B0 0C + lda SpriteX ; CPU:$BC75 PRG:3C75 A5 96 + clc ; CPU:$BC77 PRG:3C77 18 + adc #$18 ; CPU:$BC78 PRG:3C78 69 18 + sta SpriteY ; CPU:$BC7A PRG:3C7A 85 98 + ldy #$40 ; CPU:$BC7C PRG:3C7C A0 40 + jmp Sub_BCA6 ; CPU:$BC7E PRG:3C7E 4C A6 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop165 +; Global: Branch target inside Sub: taken when Loop165. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop165: + lda SpriteY ; CPU:$BC81 PRG:3C81 A5 98 + clc ; CPU:$BC83 PRG:3C83 18 + adc #$18 ; CPU:$BC84 PRG:3C84 69 18 + sta SpriteX ; CPU:$BC86 PRG:3C86 85 96 + ldy #$00 ; CPU:$BC88 PRG:3C88 A0 00 + jmp Sub_BCA6 ; CPU:$BC8A PRG:3C8A 4C A6 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop166 +; Global: Branch target inside Sub: taken when Loop166. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop166: + cmp SpriteY ; CPU:$BC8D PRG:3C8D C5 98 + bcs Sub_Loop167 ; CPU:$BC8F PRG:3C8F B0 0C + lda SpriteY ; CPU:$BC91 PRG:3C91 A5 98 + sec ; CPU:$BC93 PRG:3C93 38 + sbc #$18 ; CPU:$BC94 PRG:3C94 E9 18 + sta SpriteX ; CPU:$BC96 PRG:3C96 85 96 + ldy #$40 ; CPU:$BC98 PRG:3C98 A0 40 + jmp Sub_BCA6 ; CPU:$BC9A PRG:3C9A 4C A6 BC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop167 +; Global: Branch target inside Sub: taken when Loop167. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop167: + lda SpriteX ; CPU:$BC9D PRG:3C9D A5 96 + sec ; CPU:$BC9F PRG:3C9F 38 + sbc #$18 ; CPU:$BCA0 PRG:3CA0 E9 18 + sta SpriteY ; CPU:$BCA2 PRG:3CA2 85 98 + ldy #$00 ; CPU:$BCA4 PRG:3CA4 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BCA6 +; Global: Branch target inside Sub: taken when BCA6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BCA6: + ldx WrestlerIndex ; CPU:$BCA6 PRG:3CA6 A6 85 + lda Zp95 ; CPU:$BCA8 PRG:3CA8 A5 95 + sta PlayerX,x ; CPU:$BCAA PRG:3CAA 95 33 + lda SpriteX ; CPU:$BCAC PRG:3CAC A5 96 + sta PlayerY,x ; CPU:$BCAE PRG:3CAE 95 34 + ldx WrestlerIndex2 ; CPU:$BCB0 PRG:3CB0 A6 86 + lda Zp97 ; CPU:$BCB2 PRG:3CB2 A5 97 + sta PlayerX,x ; CPU:$BCB4 PRG:3CB4 95 33 + lda SpriteY ; CPU:$BCB6 PRG:3CB6 A5 98 + sta PlayerY,x ; CPU:$BCB8 PRG:3CB8 95 34 + tya ; CPU:$BCBA PRG:3CBA 98 + ora Zp37 ; CPU:$BCBB PRG:3CBB 05 37 + sta Zp37 ; CPU:$BCBD PRG:3CBD 85 37 + ldx #$80 ; CPU:$BCBF PRG:3CBF A2 80 + lda Zp37 ; CPU:$BCC1 PRG:3CC1 A5 37 + and #$20 ; CPU:$BCC3 PRG:3CC3 29 20 + beq Sub_Loop168 ; CPU:$BCC5 PRG:3CC5 F0 08 + lda Zp7B ; CPU:$BCC7 PRG:3CC7 A5 7B + and #$20 ; CPU:$BCC9 PRG:3CC9 29 20 + bne Sub_Loop168 ; CPU:$BCCB PRG:3CCB D0 02 + ldx #$20 ; CPU:$BCCD PRG:3CCD A2 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop168 +; Global: Branch target inside Sub: taken when Loop168. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop168: + stx Zp38 ; CPU:$BCCF PRG:3CCF 86 38 + lda #$00 ; CPU:$BCD1 PRG:3CD1 A9 00 + sta Zp39 ; CPU:$BCD3 PRG:3CD3 85 39 + ldx Zp18 ; CPU:$BCD5 PRG:3CD5 A6 18 + lda Zp37 ; CPU:$BCD7 PRG:3CD7 A5 37 + and #$20 ; CPU:$BCD9 PRG:3CD9 29 20 + beq Sub_Loop169 ; CPU:$BCDB PRG:3CDB F0 02 + ldx Zp19 ; CPU:$BCDD PRG:3CDD A6 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop169 +; Global: Branch target inside Sub: taken when Loop169. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop169: + stx Zp3A ; CPU:$BCDF PRG:3CDF 86 3A + lda Zp89 ; CPU:$BCE1 PRG:3CE1 A5 89 + ora #$80 ; CPU:$BCE3 PRG:3CE3 09 80 + sta Zp89 ; CPU:$BCE5 PRG:3CE5 85 89 + lda #$00 ; CPU:$BCE7 PRG:3CE7 A9 00 + sta ZpA7 ; CPU:$BCE9 PRG:3CE9 85 A7 + lda #$00 ; CPU:$BCEB PRG:3CEB A9 00 + sta Zp6D ; CPU:$BCED PRG:3CED 85 6D + sta Zp6E ; CPU:$BCEF PRG:3CEF 85 6E + sta Zp6F ; CPU:$BCF1 PRG:3CF1 85 6F + sta Zp70 ; CPU:$BCF3 PRG:3CF3 85 70 + sta Zp71 ; CPU:$BCF5 PRG:3CF5 85 71 + sta Zp72 ; CPU:$BCF7 PRG:3CF7 85 72 + ldx #$23 ; CPU:$BCF9 PRG:3CF9 A2 23 + ldy #$28 ; CPU:$BCFB PRG:3CFB A0 28 + lda GameState ; CPU:$BCFD PRG:3CFD A5 36 + bpl Sub_Loop170 ; CPU:$BCFF PRG:3CFF 10 04 + ldx #$22 ; CPU:$BD01 PRG:3D01 A2 22 + ldy #$87 ; CPU:$BD03 PRG:3D03 A0 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop170 +; Global: Branch target inside Sub: taken when Loop170. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop170: + lda Zp37 ; CPU:$BD05 PRG:3D05 A5 37 + and #$20 ; CPU:$BD07 PRG:3D07 29 20 + beq Sub_Loop171 ; CPU:$BD09 PRG:3D09 F0 0C + ldx #$21 ; CPU:$BD0B PRG:3D0B A2 21 + ldy #$4F ; CPU:$BD0D PRG:3D0D A0 4F + lda GameState ; CPU:$BD0F PRG:3D0F A5 36 + bpl Sub_Loop171 ; CPU:$BD11 PRG:3D11 10 04 + ldx #$22 ; CPU:$BD13 PRG:3D13 A2 22 + ldy #$8F ; CPU:$BD15 PRG:3D15 A0 8F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop171 +; Global: Branch target inside Sub: taken when Loop171. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop171: + stx Zp6A ; CPU:$BD17 PRG:3D17 86 6A + sty Zp69 ; CPU:$BD19 PRG:3D19 84 69 + lda #$0F ; CPU:$BD1B PRG:3D1B A9 0F + jsr Sub_F036 ; CPU:$BD1D PRG:3D1D 20 36 F0 + lda GameState ; CPU:$BD20 PRG:3D20 A5 36 + and #$FB ; CPU:$BD22 PRG:3D22 29 FB + sta GameState ; CPU:$BD24 PRG:3D24 85 36 + lda #$FF ; CPU:$BD26 PRG:3D26 A9 FF + jmp Sub_BD2D ; CPU:$BD28 PRG:3D28 4C 2D BD +; ----------------------------------------------------------------------------- +; Routine: Sub_BD2B +; Global: Branch target inside Sub: taken when BD2B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD2B: + lda #$00 ; CPU:$BD2B PRG:3D2B A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD2D +; Global: Branch target inside Sub: taken when BD2D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD2D: + rts ; CPU:$BD2D PRG:3D2D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD2E +; Global: Branch target inside Sub: taken when BD2E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD2E: + lda GameState ; CPU:$BD2E PRG:3D2E A5 36 + bpl Sub_Loop174 ; CPU:$BD30 PRG:3D30 10 63 + lda ZpA1 ; CPU:$BD32 PRG:3D32 A5 A1 + beq Sub_Loop174 ; CPU:$BD34 PRG:3D34 F0 5F + ldx WrestlerIndex ; CPU:$BD36 PRG:3D36 A6 85 + lda PlayerTile,x ; CPU:$BD38 PRG:3D38 B5 32 + and #$1F ; CPU:$BD3A PRG:3D3A 29 1F + cmp #$05 ; CPU:$BD3C PRG:3D3C C9 05 + beq Sub_Loop174 ; CPU:$BD3E PRG:3D3E F0 55 + cmp #$06 ; CPU:$BD40 PRG:3D40 C9 06 + beq Sub_Loop174 ; CPU:$BD42 PRG:3D42 F0 51 + cmp #$03 ; CPU:$BD44 PRG:3D44 C9 03 + bcs Sub_Loop174 ; CPU:$BD46 PRG:3D46 B0 4D + ldx WrestlerIndex2 ; CPU:$BD48 PRG:3D48 A6 86 + lda PlayerTile,x ; CPU:$BD4A PRG:3D4A B5 32 + and #$1F ; CPU:$BD4C PRG:3D4C 29 1F + cmp #$05 ; CPU:$BD4E PRG:3D4E C9 05 + beq Sub_Loop174 ; CPU:$BD50 PRG:3D50 F0 43 + cmp #$06 ; CPU:$BD52 PRG:3D52 C9 06 + beq Sub_Loop174 ; CPU:$BD54 PRG:3D54 F0 3F + cmp #$03 ; CPU:$BD56 PRG:3D56 C9 03 + bcs Sub_Loop174 ; CPU:$BD58 PRG:3D58 B0 3B + ldx WrestlerIndex ; CPU:$BD5A PRG:3D5A A6 85 + lda PlayerY,x ; CPU:$BD5C PRG:3D5C B5 34 + cmp #$80 ; CPU:$BD5E PRG:3D5E C9 80 + bne Sub_Loop172 ; CPU:$BD60 PRG:3D60 D0 05 + ldy #$00 ; CPU:$BD62 PRG:3D62 A0 00 + jmp Sub_BD71 ; CPU:$BD64 PRG:3D64 4C 71 BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop172 +; Global: Branch target inside Sub: taken when Loop172. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop172: + ldx WrestlerIndex2 ; CPU:$BD67 PRG:3D67 A6 86 + lda PlayerY,x ; CPU:$BD69 PRG:3D69 B5 34 + cmp #$80 ; CPU:$BD6B PRG:3D6B C9 80 + bne Sub_Loop174 ; CPU:$BD6D PRG:3D6D D0 26 + ldy #$20 ; CPU:$BD6F PRG:3D6F A0 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD71 +; Global: Branch target inside Sub: taken when BD71. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD71: + tya ; CPU:$BD71 PRG:3D71 98 + ora #$8D ; CPU:$BD72 PRG:3D72 09 8D + sta Zp3B ; CPU:$BD74 PRG:3D74 85 3B + ldx WrestlerIndex ; CPU:$BD76 PRG:3D76 A6 85 + lda PlayerY,x ; CPU:$BD78 PRG:3D78 B5 34 + ldx WrestlerIndex2 ; CPU:$BD7A PRG:3D7A A6 86 + cmp PlayerY,x ; CPU:$BD7C PRG:3D7C D5 34 + bcs Sub_Loop173 ; CPU:$BD7E PRG:3D7E B0 06 + lda Zp3B ; CPU:$BD80 PRG:3D80 A5 3B + ora #$40 ; CPU:$BD82 PRG:3D82 09 40 + sta Zp3B ; CPU:$BD84 PRG:3D84 85 3B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop173 +; Global: Branch target inside Sub: taken when Loop173. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop173: + lda #$00 ; CPU:$BD86 PRG:3D86 A9 00 + sta Zp3C ; CPU:$BD88 PRG:3D88 85 3C + lda Zp3B ; CPU:$BD8A PRG:3D8A A5 3B + and #$7F ; CPU:$BD8C PRG:3D8C 29 7F + sta Zp37 ; CPU:$BD8E PRG:3D8E 85 37 + lda #$FF ; CPU:$BD90 PRG:3D90 A9 FF + jmp Sub_BD97 ; CPU:$BD92 PRG:3D92 4C 97 BD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop174 +; Global: Branch target inside Sub: taken when Loop174. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop174: + lda #$00 ; CPU:$BD95 PRG:3D95 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD97 +; Global: Branch target inside Sub: taken when BD97. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD97: + rts ; CPU:$BD97 PRG:3D97 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BD98 +; Global: Branch target inside Sub: taken when BD98. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BD98: + ldx #$13 ; CPU:$BD98 PRG:3D98 A2 13 + lda GameState ; CPU:$BD9A PRG:3D9A A5 36 + and #$40 ; CPU:$BD9C PRG:3D9C 29 40 + beq Sub_Loop175 ; CPU:$BD9E PRG:3D9E F0 02 + ldx #$18 ; CPU:$BDA0 PRG:3DA0 A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop175 +; Global: Branch target inside Sub: taken when Loop175. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop175: + stx PlayerState ; CPU:$BDA2 PRG:3DA2 86 1A + ldy #$23 ; CPU:$BDA4 PRG:3DA4 A0 23 + lda GameState ; CPU:$BDA6 PRG:3DA6 A5 36 + and #$20 ; CPU:$BDA8 PRG:3DA8 29 20 + beq Sub_Loop176 ; CPU:$BDAA PRG:3DAA F0 02 + ldy #$28 ; CPU:$BDAC PRG:3DAC A0 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop176 +; Global: Branch target inside Sub: taken when Loop176. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop176: + sty Zp1B ; CPU:$BDAE PRG:3DAE 84 1B + lda PlayerTile,x ; CPU:$BDB0 PRG:3DB0 B5 32 + and #$3F ; CPU:$BDB2 PRG:3DB2 29 3F + asl a ; CPU:$BDB4 PRG:3DB4 0A + tax ; CPU:$BDB5 PRG:3DB5 AA + lda $BFF3,x ; CPU:$BDB6 PRG:3DB6 BD F3 BF + sta Zp22 ; CPU:$BDB9 PRG:3DB9 85 22 + lda $BFF4,x ; CPU:$BDBB PRG:3DBB BD F4 BF + sta Zp23 ; CPU:$BDBE PRG:3DBE 85 23 + jmp (Zp22) ; CPU:$BDC0 PRG:3DC0 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_BDC3 +; Global: Branch target inside Label: taken when BDC3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BDC3: + lda Zp7B ; CPU:$BDC3 PRG:3DC3 A5 7B + and #$20 ; CPU:$BDC5 PRG:3DC5 29 20 + bne Sub_Loop178 ; CPU:$BDC7 PRG:3DC7 D0 30 + lda GameState ; CPU:$BDC9 PRG:3DC9 A5 36 + and #$10 ; CPU:$BDCB PRG:3DCB 29 10 + bne Sub_Loop178 ; CPU:$BDCD PRG:3DCD D0 2A + lda Zp89 ; CPU:$BDCF PRG:3DCF A5 89 + bmi Sub_Loop178 ; CPU:$BDD1 PRG:3DD1 30 26 + ldx #$00 ; CPU:$BDD3 PRG:3DD3 A2 00 + jsr Sub_F028 ; CPU:$BDD5 PRG:3DD5 20 28 F0 + cmp #$05 ; CPU:$BDD8 PRG:3DD8 C9 05 + beq Sub_Loop177 ; CPU:$BDDA PRG:3DDA F0 0E + inx ; CPU:$BDDC PRG:3DDC E8 + cmp #$0B ; CPU:$BDDD PRG:3DDD C9 0B + beq Sub_Loop177 ; CPU:$BDDF PRG:3DDF F0 09 + inx ; CPU:$BDE1 PRG:3DE1 E8 + cmp #$12 ; CPU:$BDE2 PRG:3DE2 C9 12 + beq Sub_Loop177 ; CPU:$BDE4 PRG:3DE4 F0 04 + cmp #$1C ; CPU:$BDE6 PRG:3DE6 C9 1C + bne Sub_Loop178 ; CPU:$BDE8 PRG:3DE8 D0 0F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop177 +; Global: Branch target inside Sub: taken when Loop177. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop177: + lda Zp89 ; CPU:$BDEA PRG:3DEA A5 89 + and #$0F ; CPU:$BDEC PRG:3DEC 29 0F + cmp $BFF0,x ; CPU:$BDEE PRG:3DEE DD F0 BF + bne Sub_Loop178 ; CPU:$BDF1 PRG:3DF1 D0 06 + lda GameState ; CPU:$BDF3 PRG:3DF3 A5 36 + ora #$10 ; CPU:$BDF5 PRG:3DF5 09 10 + sta GameState ; CPU:$BDF7 PRG:3DF7 85 36 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop178 +; Global: Branch target inside Sub: taken when Loop178. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop178: + lda Zp6E ; CPU:$BDF9 PRG:3DF9 A5 6E + bne Sub_Loop181 ; CPU:$BDFB PRG:3DFB D0 3F + ldx Zp6D ; CPU:$BDFD PRG:3DFD A6 6D + lda #$00 ; CPU:$BDFF PRG:3DFF A9 00 + sta Zp6D ; CPU:$BE01 PRG:3E01 85 6D + txa ; CPU:$BE03 PRG:3E03 8A + bpl Sub_Loop179 ; CPU:$BE04 PRG:3E04 10 07 + lda #$40 ; CPU:$BE06 PRG:3E06 A9 40 + ldx #$08 ; CPU:$BE08 PRG:3E08 A2 08 + jmp Sub_BE35 ; CPU:$BE0A PRG:3E0A 4C 35 BE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop179 +; Global: Branch target inside Sub: taken when Loop179. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop179: + ldx PlayerState ; CPU:$BE0D PRG:3E0D A6 1A + lda PlayerTile,x ; CPU:$BE0F PRG:3E0F B5 32 + and #$C0 ; CPU:$BE11 PRG:3E11 29 C0 + bpl Sub_Loop182 ; CPU:$BE13 PRG:3E13 10 29 + lda Zp7B ; CPU:$BE15 PRG:3E15 A5 7B + bpl Sub_Loop180 ; CPU:$BE17 PRG:3E17 10 09 + lda ZpAC ; CPU:$BE19 PRG:3E19 A5 AC + and #$40 ; CPU:$BE1B PRG:3E1B 29 40 + beq Sub_Loop182 ; CPU:$BE1D PRG:3E1D F0 1F + jmp Sub_BE2C ; CPU:$BE1F PRG:3E1F 4C 2C BE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop180 +; Global: Branch target inside Sub: taken when Loop180. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop180: + lda Zp6F ; CPU:$BE22 PRG:3E22 A5 6F + eor #$FF ; CPU:$BE24 PRG:3E24 49 FF + and Zp18 ; CPU:$BE26 PRG:3E26 25 18 + and #$01 ; CPU:$BE28 PRG:3E28 29 01 + beq Sub_Loop182 ; CPU:$BE2A PRG:3E2A F0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_BE2C +; Global: Branch target inside Sub: taken when BE2C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE2C: + lda #$02 ; CPU:$BE2C PRG:3E2C A9 02 + jsr Sub_F036 ; CPU:$BE2E PRG:3E2E 20 36 F0 + lda #$80 ; CPU:$BE31 PRG:3E31 A9 80 + ldx #$10 ; CPU:$BE33 PRG:3E33 A2 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_BE35 +; Global: Branch target inside Sub: taken when BE35. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE35: + sta Zp6D ; CPU:$BE35 PRG:3E35 85 6D + stx Zp6E ; CPU:$BE37 PRG:3E37 86 6E + jmp Sub_BE42 ; CPU:$BE39 PRG:3E39 4C 42 BE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop181 +; Global: Branch target inside Sub: taken when Loop181. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop181: + dec Zp6E ; CPU:$BE3C PRG:3E3C C6 6E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop182 +; Global: Branch target inside Sub: taken when Loop182. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop182: + lda Zp18 ; CPU:$BE3E PRG:3E3E A5 18 + sta Zp6F ; CPU:$BE40 PRG:3E40 85 6F +; ----------------------------------------------------------------------------- +; Routine: Sub_BE42 +; Global: Branch target inside Sub: taken when BE42. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BE42: + lda GameState ; CPU:$BE42 PRG:3E42 A5 36 + bpl Sub_Loop183 ; CPU:$BE44 PRG:3E44 10 03 + jmp Sub_BEB8 ; CPU:$BE46 PRG:3E46 4C B8 BE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop183 +; Global: Branch target inside Sub: taken when Loop183. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop183: + ldx WrestlerIndex2 ; CPU:$BE49 PRG:3E49 A6 86 + lda PlayerTile,x ; CPU:$BE4B PRG:3E4B B5 32 + and #$3F ; CPU:$BE4D PRG:3E4D 29 3F + cmp #$0B ; CPU:$BE4F PRG:3E4F C9 0B + bne Sub_Loop184 ; CPU:$BE51 PRG:3E51 D0 03 + jmp Sub_BF3E ; CPU:$BE53 PRG:3E53 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop184 +; Global: Branch target inside Sub: taken when Loop184. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop184: + lda Zp18 ; CPU:$BE56 PRG:3E56 A5 18 + and #$02 ; CPU:$BE58 PRG:3E58 29 02 + beq Sub_Loop187 ; CPU:$BE5A PRG:3E5A F0 57 + ldx PlayerState ; CPU:$BE5C PRG:3E5C A6 1A + lda PlayerX,x ; CPU:$BE5E PRG:3E5E B5 33 + cmp #$90 ; CPU:$BE60 PRG:3E60 C9 90 + bcc Sub_Loop187 ; CPU:$BE62 PRG:3E62 90 4F + cmp #$A0 ; CPU:$BE64 PRG:3E64 C9 A0 + bcs Sub_Loop187 ; CPU:$BE66 PRG:3E66 B0 4B + lda PlayerY,x ; CPU:$BE68 PRG:3E68 B5 34 + cmp #$3A ; CPU:$BE6A PRG:3E6A C9 3A + bcs Sub_Loop187 ; CPU:$BE6C PRG:3E6C B0 45 + ldx #$13 ; CPU:$BE6E PRG:3E6E A2 13 + lda GameState ; CPU:$BE70 PRG:3E70 A5 36 + and #$40 ; CPU:$BE72 PRG:3E72 29 40 + bne Sub_Loop185 ; CPU:$BE74 PRG:3E74 D0 02 + ldx #$18 ; CPU:$BE76 PRG:3E76 A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop185 +; Global: Branch target inside Sub: taken when Loop185. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop185: + lda PlayerX,x ; CPU:$BE78 PRG:3E78 B5 33 + cmp #$B0 ; CPU:$BE7A PRG:3E7A C9 B0 + bne Sub_Loop187 ; CPU:$BE7C PRG:3E7C D0 35 + lda PlayerY,x ; CPU:$BE7E PRG:3E7E B5 34 + cmp #$2A ; CPU:$BE80 PRG:3E80 C9 2A + bne Sub_Loop187 ; CPU:$BE82 PRG:3E82 D0 2F + lda #$0B ; CPU:$BE84 PRG:3E84 A9 0B + ldx PlayerState ; CPU:$BE86 PRG:3E86 A6 1A + sta PlayerTile,x ; CPU:$BE88 PRG:3E88 95 32 + lda #$20 ; CPU:$BE8A PRG:3E8A A9 20 + sta GameState,x ; CPU:$BE8C PRG:3E8C 95 36 + lda #$13 ; CPU:$BE8E PRG:3E8E A9 13 + cpx #$18 ; CPU:$BE90 PRG:3E90 E0 18 + beq Sub_Loop186 ; CPU:$BE92 PRG:3E92 F0 02 + lda #$18 ; CPU:$BE94 PRG:3E94 A9 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop186 +; Global: Branch target inside Sub: taken when Loop186. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop186: + tax ; CPU:$BE96 PRG:3E96 AA + lda #$42 ; CPU:$BE97 PRG:3E97 A9 42 + sta PlayerTile,x ; CPU:$BE99 PRG:3E99 95 32 + lda #$20 ; CPU:$BE9B PRG:3E9B A9 20 + sta GameState,x ; CPU:$BE9D PRG:3E9D 95 36 + lda #$80 ; CPU:$BE9F PRG:3E9F A9 80 + sta ZpA3 ; CPU:$BEA1 PRG:3EA1 85 A3 + lda #$07 ; CPU:$BEA3 PRG:3EA3 A9 07 + jsr Sub_F036 ; CPU:$BEA5 PRG:3EA5 20 36 F0 + inc Zp89 ; CPU:$BEA8 PRG:3EA8 E6 89 + lda Zp89 ; CPU:$BEAA PRG:3EAA A5 89 + and #$8F ; CPU:$BEAC PRG:3EAC 29 8F + sta Zp89 ; CPU:$BEAE PRG:3EAE 85 89 + jmp Sub_BF3E ; CPU:$BEB0 PRG:3EB0 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop187 +; Global: Branch target inside Sub: taken when Loop187. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop187: + lda Zp16 ; CPU:$BEB3 PRG:3EB3 A5 16 + jmp Sub_C479 ; CPU:$BEB5 PRG:3EB5 4C 79 C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_BEB8 +; Global: Branch target inside Sub: taken when BEB8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BEB8: + lda Zp41 ; CPU:$BEB8 PRG:3EB8 A5 41 + and #$20 ; CPU:$BEBA PRG:3EBA 29 20 + beq Sub_Loop188 ; CPU:$BEBC PRG:3EBC F0 14 + lda Zp7B ; CPU:$BEBE PRG:3EBE A5 7B + and #$20 ; CPU:$BEC0 PRG:3EC0 29 20 + bne Sub_Loop188 ; CPU:$BEC2 PRG:3EC2 D0 0E + lda Zp35 ; CPU:$BEC4 PRG:3EC4 A5 35 + bne Sub_Loop188 ; CPU:$BEC6 PRG:3EC6 D0 0A + ldx PlayerState ; CPU:$BEC8 PRG:3EC8 A6 1A + lda Zp35,x ; CPU:$BECA PRG:3ECA B5 35 + cmp #$16 ; CPU:$BECC PRG:3ECC C9 16 + beq Sub_Loop188 ; CPU:$BECE PRG:3ECE F0 02 + inc Zp35,x ; CPU:$BED0 PRG:3ED0 F6 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop188 +; Global: Branch target inside Sub: taken when Loop188. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop188: + lda Zp16 ; CPU:$BED2 PRG:3ED2 A5 16 + cmp #$00 ; CPU:$BED4 PRG:3ED4 C9 00 + beq Sub_Loop189 ; CPU:$BED6 PRG:3ED6 F0 13 + cmp #$01 ; CPU:$BED8 PRG:3ED8 C9 01 + beq Sub_Loop191 ; CPU:$BEDA PRG:3EDA F0 24 + cmp #$03 ; CPU:$BEDC PRG:3EDC C9 03 + beq Sub_Loop194 ; CPU:$BEDE PRG:3EDE F0 30 + cmp #$05 ; CPU:$BEE0 PRG:3EE0 C9 05 + beq Sub_Loop195 ; CPU:$BEE2 PRG:3EE2 F0 31 + cmp #$07 ; CPU:$BEE4 PRG:3EE4 C9 07 + beq Sub_Loop197 ; CPU:$BEE6 PRG:3EE6 F0 51 + jmp Sub_BF3E ; CPU:$BEE8 PRG:3EE8 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop189 +; Global: Branch target inside Sub: taken when Loop189. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop189: + ldx PlayerState ; CPU:$BEEB PRG:3EEB A6 1A + lda PlayerTile,x ; CPU:$BEED PRG:3EED B5 32 + and #$C0 ; CPU:$BEEF PRG:3EEF 29 C0 + sta PlayerTile,x ; CPU:$BEF1 PRG:3EF1 95 32 + lda Zp41 ; CPU:$BEF3 PRG:3EF3 A5 41 + and #$20 ; CPU:$BEF5 PRG:3EF5 29 20 + bne Sub_Loop190 ; CPU:$BEF7 PRG:3EF7 D0 04 + lda #$00 ; CPU:$BEF9 PRG:3EF9 A9 00 + sta PlayerTile,x ; CPU:$BEFB PRG:3EFB 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop190 +; Global: Branch target inside Sub: taken when Loop190. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop190: + jmp Sub_BF3E ; CPU:$BEFD PRG:3EFD 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop191 +; Global: Branch target inside Sub: taken when Loop191. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop191: + lda Zp41 ; CPU:$BF00 PRG:3F00 A5 41 + and #$20 ; CPU:$BF02 PRG:3F02 29 20 + beq Sub_Loop192 ; CPU:$BF04 PRG:3F04 F0 04 + lda ZpA1 ; CPU:$BF06 PRG:3F06 A5 A1 + beq Sub_Loop193 ; CPU:$BF08 PRG:3F08 F0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop192 +; Global: Branch target inside Sub: taken when Loop192. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop192: + jmp Sub_BF3E ; CPU:$BF0A PRG:3F0A 4C 3E BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop193 +; Global: Branch target inside Sub: taken when Loop193. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop193: + jmp Sub_Loop269 ; CPU:$BF0D PRG:3F0D 4C 1B C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop194 +; Global: Branch target inside Sub: taken when Loop194. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop194: + ldy #$20 ; CPU:$BF10 PRG:3F10 A0 20 + jmp Sub_C53F ; CPU:$BF12 PRG:3F12 4C 3F C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop195 +; Global: Branch target inside Sub: taken when Loop195. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop195: + ldy #$00 ; CPU:$BF15 PRG:3F15 A0 00 + lda Zp41 ; CPU:$BF17 PRG:3F17 A5 41 + and #$10 ; CPU:$BF19 PRG:3F19 29 10 + beq Sub_Loop196 ; CPU:$BF1B PRG:3F1B F0 12 + ldx Zp1B ; CPU:$BF1D PRG:3F1D A6 1B + lda PlayerTile,x ; CPU:$BF1F PRG:3F1F B5 32 + and #$3F ; CPU:$BF21 PRG:3F21 29 3F + cmp #$05 ; CPU:$BF23 PRG:3F23 C9 05 + beq Sub_Loop196 ; CPU:$BF25 PRG:3F25 F0 08 + lda Zp41 ; CPU:$BF27 PRG:3F27 A5 41 + and #$20 ; CPU:$BF29 PRG:3F29 29 20 + bne Sub_Loop196 ; CPU:$BF2B PRG:3F2B D0 02 + ldy #$03 ; CPU:$BF2D PRG:3F2D A0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop196 +; Global: Branch target inside Sub: taken when Loop196. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop196: + tya ; CPU:$BF2F PRG:3F2F 98 + ldx PlayerState ; CPU:$BF30 PRG:3F30 A6 1A + sta PlayerTile,x ; CPU:$BF32 PRG:3F32 95 32 + lda #$0C ; CPU:$BF34 PRG:3F34 A9 0C + jmp Sub_BFED ; CPU:$BF36 PRG:3F36 4C ED BF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop197 +; Global: Branch target inside Sub: taken when Loop197. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop197: + ldy #$20 ; CPU:$BF39 PRG:3F39 A0 20 + jmp Sub_C59D ; CPU:$BF3B PRG:3F3B 4C 9D C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_BF3E +; Global: Branch target inside Sub: taken when BF3E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BF3E: + rts ; CPU:$BF3E PRG:3F3E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_BF3F +; Global: Branch target inside Label: taken when BF3F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BF3F: + ldx PlayerState ; CPU:$BF3F PRG:3F3F A6 1A + ldy GameState,x ; CPU:$BF41 PRG:3F41 B4 36 + lda $C69A,y ; CPU:$BF43 PRG:3F43 B9 9A C6 + sta PlayerX,x ; CPU:$BF46 PRG:3F46 95 33 + cpy #$00 ; CPU:$BF48 PRG:3F48 C0 00 + beq Sub_Loop198 ; CPU:$BF4A PRG:3F4A F0 03 + dec GameState,x ; CPU:$BF4C PRG:3F4C D6 36 + rts ; CPU:$BF4E PRG:3F4E 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop198 +; Global: Branch target inside Sub: taken when Loop198. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop198: + lda Zp41 ; CPU:$BF4F PRG:3F4F A5 41 + ora #$20 ; CPU:$BF51 PRG:3F51 09 20 + sta Zp41 ; CPU:$BF53 PRG:3F53 85 41 + lda #$02 ; CPU:$BF55 PRG:3F55 A9 02 + jsr Sub_F036 ; CPU:$BF57 PRG:3F57 20 36 F0 + ldx PlayerState ; CPU:$BF5A PRG:3F5A A6 1A + lda #$04 ; CPU:$BF5C PRG:3F5C A9 04 + jmp Sub_BFE9 ; CPU:$BF5E PRG:3F5E 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BF61 +; Global: Branch target inside Label: taken when BF61. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BF61: + ldx PlayerState ; CPU:$BF61 PRG:3F61 A6 1A + lda #$00 ; CPU:$BF63 PRG:3F63 A9 00 + jmp Sub_BFE9 ; CPU:$BF65 PRG:3F65 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BF68 +; Global: Branch target inside Label: taken when BF68. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BF68: + ldx PlayerState ; CPU:$BF68 PRG:3F68 A6 1A + ldy GameState,x ; CPU:$BF6A PRG:3F6A B4 36 + lda $C6A7,y ; CPU:$BF6C PRG:3F6C B9 A7 C6 + sta PlayerX,x ; CPU:$BF6F PRG:3F6F 95 33 + cpy #$00 ; CPU:$BF71 PRG:3F71 C0 00 + beq Sub_Loop199 ; CPU:$BF73 PRG:3F73 F0 03 + dec GameState,x ; CPU:$BF75 PRG:3F75 D6 36 + rts ; CPU:$BF77 PRG:3F77 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop199 +; Global: Branch target inside Sub: taken when Loop199. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop199: + lda Zp41 ; CPU:$BF78 PRG:3F78 A5 41 + and #$90 ; CPU:$BF7A PRG:3F7A 29 90 + sta Zp41 ; CPU:$BF7C PRG:3F7C 85 41 + lda #$02 ; CPU:$BF7E PRG:3F7E A9 02 + jsr Sub_F036 ; CPU:$BF80 PRG:3F80 20 36 F0 + ldx PlayerState ; CPU:$BF83 PRG:3F83 A6 1A + lda #$46 ; CPU:$BF85 PRG:3F85 A9 46 + jmp Sub_BFE9 ; CPU:$BF87 PRG:3F87 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BF8A +; Global: Branch target inside Label: taken when BF8A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BF8A: + lda Zp41 ; CPU:$BF8A PRG:3F8A A5 41 + and #$10 ; CPU:$BF8C PRG:3F8C 29 10 + bne Sub_Loop200 ; CPU:$BF8E PRG:3F8E D0 14 + ldx Zp1B ; CPU:$BF90 PRG:3F90 A6 1B + lda PlayerTile,x ; CPU:$BF92 PRG:3F92 B5 32 + and #$3F ; CPU:$BF94 PRG:3F94 29 3F + cmp #$06 ; CPU:$BF96 PRG:3F96 C9 06 + beq Sub_Loop200 ; CPU:$BF98 PRG:3F98 F0 0A + lda GameState ; CPU:$BF9A PRG:3F9A A5 36 + and #$7F ; CPU:$BF9C PRG:3F9C 29 7F + sta GameState ; CPU:$BF9E PRG:3F9E 85 36 + lda #$80 ; CPU:$BFA0 PRG:3FA0 A9 80 + sta Zp8B ; CPU:$BFA2 PRG:3FA2 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop200 +; Global: Branch target inside Sub: taken when Loop200. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop200: + ldx PlayerState ; CPU:$BFA4 PRG:3FA4 A6 1A + lda #$00 ; CPU:$BFA6 PRG:3FA6 A9 00 + jmp Sub_BFE9 ; CPU:$BFA8 PRG:3FA8 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BFAB +; Global: Branch target inside Label: taken when BFAB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BFAB: + ldx PlayerState ; CPU:$BFAB PRG:3FAB A6 1A + dec GameState,x ; CPU:$BFAD PRG:3FAD D6 36 + beq Sub_Loop201 ; CPU:$BFAF PRG:3FAF F0 01 + rts ; CPU:$BFB1 PRG:3FB1 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop201 +; Global: Branch target inside Sub: taken when Loop201. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop201: + lda PlayerX,x ; CPU:$BFB2 PRG:3FB2 B5 33 + sec ; CPU:$BFB4 PRG:3FB4 38 + sbc #$10 ; CPU:$BFB5 PRG:3FB5 E9 10 + sta PlayerX,x ; CPU:$BFB7 PRG:3FB7 95 33 + lda PlayerTile,x ; CPU:$BFB9 PRG:3FB9 B5 32 + and #$C0 ; CPU:$BFBB PRG:3FBB 29 C0 + jmp Sub_BFE9 ; CPU:$BFBD PRG:3FBD 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BFC0 +; Global: Branch target inside Label: taken when BFC0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BFC0: + ldx PlayerState ; CPU:$BFC0 PRG:3FC0 A6 1A + dec GameState,x ; CPU:$BFC2 PRG:3FC2 D6 36 + beq Sub_Loop202 ; CPU:$BFC4 PRG:3FC4 F0 01 + rts ; CPU:$BFC6 PRG:3FC6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop202 +; Global: Branch target inside Sub: taken when Loop202. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop202: + lda #$B0 ; CPU:$BFC7 PRG:3FC7 A9 B0 + sta PlayerX,x ; CPU:$BFC9 PRG:3FC9 95 33 + lda #$2A ; CPU:$BFCB PRG:3FCB A9 2A + sta PlayerY,x ; CPU:$BFCD PRG:3FCD 95 34 + lda GameState ; CPU:$BFCF PRG:3FCF A5 36 + eor #$FF ; CPU:$BFD1 PRG:3FD1 49 FF + and #$40 ; CPU:$BFD3 PRG:3FD3 29 40 + sta Zp1C ; CPU:$BFD5 PRG:3FD5 85 1C + lda GameState ; CPU:$BFD7 PRG:3FD7 A5 36 + and #$BF ; CPU:$BFD9 PRG:3FD9 29 BF + ora Zp1C ; CPU:$BFDB PRG:3FDB 05 1C + sta GameState ; CPU:$BFDD PRG:3FDD 85 36 + lda #$00 ; CPU:$BFDF PRG:3FDF A9 00 + sta ZpA3 ; CPU:$BFE1 PRG:3FE1 85 A3 + lda #$40 ; CPU:$BFE3 PRG:3FE3 A9 40 + jmp Sub_BFE9 ; CPU:$BFE5 PRG:3FE5 4C E9 BF +; ----------------------------------------------------------------------------- +; Routine: Label_BFE8 +; Global: Branch target inside Label: taken when BFE8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_BFE8: + rts ; CPU:$BFE8 PRG:3FE8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFE9 +; Global: Branch target inside Sub: taken when BFE9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFE9: + sta PlayerTile,x ; CPU:$BFE9 PRG:3FE9 95 32 + lda #$20 ; CPU:$BFEB PRG:3FEB A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_BFED +; Global: Branch target inside Sub: taken when BFED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_BFED: + sta GameState,x ; CPU:$BFED PRG:3FED 95 36 + rts ; CPU:$BFEF PRG:3FEF 60 +; ---- data $BFF0-$C00C (29 bytes) ---- +; referenced by `lda $BFF3,x` at $BDB6 (operand $BFF3 falls inside this region) +; referenced by `lda $BFF4,x` at $BDBB (operand $BFF4 falls inside this region) +; referenced by `cmp $BFF0,x` at $BDEE (operand $BFF0 falls inside this region) + .byte $01, $02, $03, $C3, $BD, $F9, $BD, $F9, $BD, $3F, $BF, $61, $BF, $68, $BF, $8A ; CPU:$BFF0 PRG:3FF0 01 02 03 C3 BD F9 BD F9 BD 3F BF 61 BF 68 BF 8A + .byte $BF, $AB, $BF, $E8, $BF, $E8, $BF, $E8, $BF, $C0, $BF, $E8, $BF ; CPU:$C000 PRG:4000 BF AB BF E8 BF E8 BF E8 BF C0 BF E8 BF +; ----------------------------------------------------------------------------- +; Routine: Sub_C00D +; Global: Branch target inside Sub: taken when C00D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C00D: + ldx #$23 ; CPU:$C00D PRG:400D A2 23 + lda GameState ; CPU:$C00F PRG:400F A5 36 + and #$20 ; CPU:$C011 PRG:4011 29 20 + beq Sub_Loop203 ; CPU:$C013 PRG:4013 F0 02 + ldx #$28 ; CPU:$C015 PRG:4015 A2 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop203 +; Global: Branch target inside Sub: taken when Loop203. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop203: + stx PlayerState ; CPU:$C017 PRG:4017 86 1A + lda PlayerTile,x ; CPU:$C019 PRG:4019 B5 32 + and #$3F ; CPU:$C01B PRG:401B 29 3F + asl a ; CPU:$C01D PRG:401D 0A + tax ; CPU:$C01E PRG:401E AA + lda $C385,x ; CPU:$C01F PRG:401F BD 85 C3 + sta Zp22 ; CPU:$C022 PRG:4022 85 22 + lda $C386,x ; CPU:$C024 PRG:4024 BD 86 C3 + sta Zp23 ; CPU:$C027 PRG:4027 85 23 + jmp (Zp22) ; CPU:$C029 PRG:4029 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C02C +; Global: Branch target inside Label: taken when C02C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C02C: + lda GameState ; CPU:$C02C PRG:402C A5 36 + and #$10 ; CPU:$C02E PRG:402E 29 10 + bne Sub_Loop209 ; CPU:$C030 PRG:4030 D0 50 + lda GameState ; CPU:$C032 PRG:4032 A5 36 + and #$04 ; CPU:$C034 PRG:4034 29 04 + bne Sub_Loop207 ; CPU:$C036 PRG:4036 D0 38 + lda Zp71 ; CPU:$C038 PRG:4038 A5 71 + bne Sub_Loop208 ; CPU:$C03A PRG:403A D0 44 + ldx Zp70 ; CPU:$C03C PRG:403C A6 70 + lda #$00 ; CPU:$C03E PRG:403E A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C040 +; Global: Branch target inside Label: taken when C040. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C040: + sta Zp70 ; CPU:$C040 PRG:4040 85 70 + txa ; CPU:$C042 PRG:4042 8A + bpl Sub_Loop204 ; CPU:$C043 PRG:4043 10 07 + lda #$40 ; CPU:$C045 PRG:4045 A9 40 + ldx #$08 ; CPU:$C047 PRG:4047 A2 08 + jmp Sub_C079 ; CPU:$C049 PRG:4049 4C 79 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop204 +; Global: Branch target inside Sub: taken when Loop204. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop204: + ldx PlayerState ; CPU:$C04C PRG:404C A6 1A + lda PlayerTile,x ; CPU:$C04E PRG:404E B5 32 + bpl Sub_Loop209 ; CPU:$C050 PRG:4050 10 30 + ldx #$80 ; CPU:$C052 PRG:4052 A2 80 + lda Zp84 ; CPU:$C054 PRG:4054 A5 84 + bne Sub_Loop205 ; CPU:$C056 PRG:4056 D0 06 + lda Zp83 ; CPU:$C058 PRG:4058 A5 83 + cmp #$05 ; CPU:$C05A PRG:405A C9 05 + bcc Sub_Loop206 ; CPU:$C05C PRG:405C 90 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop205 +; Global: Branch target inside Sub: taken when Loop205. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop205: + ldx #$40 ; CPU:$C05E PRG:405E A2 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C060 +; Global: Branch target inside Label: taken when C060. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C060: + lda Zp84 ; CPU:$C060 PRG:4060 A5 84 + cmp #$02 ; CPU:$C062 PRG:4062 C9 02 + bcc Sub_Loop206 ; CPU:$C064 PRG:4064 90 02 + ldx #$20 ; CPU:$C066 PRG:4066 A2 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop206 +; Global: Branch target inside Sub: taken when Loop206. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop206: + stx Zp1B ; CPU:$C068 PRG:4068 86 1B + lda ZpAC ; CPU:$C06A PRG:406A A5 AC + and Zp1B ; CPU:$C06C PRG:406C 25 1B + beq Sub_Loop209 ; CPU:$C06E PRG:406E F0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop207 +; Global: Branch target inside Sub: taken when Loop207. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop207: + lda #$02 ; CPU:$C070 PRG:4070 A9 02 + jsr Sub_F036 ; CPU:$C072 PRG:4072 20 36 F0 + lda #$80 ; CPU:$C075 PRG:4075 A9 80 + ldx #$10 ; CPU:$C077 PRG:4077 A2 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C079 +; Global: Branch target inside Sub: taken when C079. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C079: + sta Zp70 ; CPU:$C079 PRG:4079 85 70 + stx Zp71 ; CPU:$C07B PRG:407B 86 71 + jmp Sub_Loop209 ; CPU:$C07D PRG:407D 4C 82 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop208 +; Global: Branch target inside Sub: taken when Loop208. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop208: + dec Zp71 ; CPU:$C080 PRG:4080 C6 71 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop209 +; Global: Branch target inside Sub: taken when Loop209. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop209: + ldx PlayerState ; CPU:$C082 PRG:4082 A6 1A + lda PlayerX,x ; CPU:$C084 PRG:4084 B5 33 + sta Zp1B ; CPU:$C086 PRG:4086 85 1B + lda PlayerY,x ; CPU:$C088 PRG:4088 B5 34 + sta Zp1C ; CPU:$C08A PRG:408A 85 1C + ldx WrestlerIndex ; CPU:$C08C PRG:408C A6 85 + lda PlayerX,x ; CPU:$C08E PRG:408E B5 33 + sta Zp1D ; CPU:$C090 PRG:4090 85 1D + lda PlayerY,x ; CPU:$C092 PRG:4092 B5 34 + sta Zp1E ; CPU:$C094 PRG:4094 85 1E + lda GameState ; CPU:$C096 PRG:4096 A5 36 + bpl Sub_Loop210 ; CPU:$C098 PRG:4098 10 03 + jmp Sub_C1C2 ; CPU:$C09A PRG:409A 4C C2 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop210 +; Global: Branch target inside Sub: taken when Loop210. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop210: + lda GameState ; CPU:$C09D PRG:409D A5 36 + and #$02 ; CPU:$C09F PRG:409F 29 02 + bne Sub_Loop212 ; CPU:$C0A1 PRG:40A1 D0 2D + ldx PlayerState ; CPU:$C0A3 PRG:40A3 A6 1A + lda Zp35,x ; CPU:$C0A5 PRG:40A5 B5 35 + and #$FC ; CPU:$C0A7 PRG:40A7 29 FC + bne Sub_Loop214 ; CPU:$C0A9 PRG:40A9 D0 6C + ldx #$28 ; CPU:$C0AB PRG:40AB A2 28 + lda PlayerState ; CPU:$C0AD PRG:40AD A5 1A + cmp #$23 ; CPU:$C0AF PRG:40AF C9 23 + beq Sub_Loop211 ; CPU:$C0B1 PRG:40B1 F0 02 + ldx #$23 ; CPU:$C0B3 PRG:40B3 A2 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop211 +; Global: Branch target inside Sub: taken when Loop211. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop211: + lda Zp35,x ; CPU:$C0B5 PRG:40B5 B5 35 + and #$FC ; CPU:$C0B7 PRG:40B7 29 FC + beq Sub_Loop214 ; CPU:$C0B9 PRG:40B9 F0 5C + lda PlayerX,x ; CPU:$C0BB PRG:40BB B5 33 + cmp #$30 ; CPU:$C0BD PRG:40BD C9 30 + bne Sub_Loop214 ; CPU:$C0BF PRG:40BF D0 56 + lda PlayerY,x ; CPU:$C0C1 PRG:40C1 B5 34 + cmp #$B4 ; CPU:$C0C3 PRG:40C3 C9 B4 + bne Sub_Loop214 ; CPU:$C0C5 PRG:40C5 D0 50 + lda GameState ; CPU:$C0C7 PRG:40C7 A5 36 + ora #$02 ; CPU:$C0C9 PRG:40C9 09 02 + sta GameState ; CPU:$C0CB PRG:40CB 85 36 + jmp Sub_C2BD ; CPU:$C0CD PRG:40CD 4C BD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop212 +; Global: Branch target inside Sub: taken when Loop212. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop212: + lda Zp1B ; CPU:$C0D0 PRG:40D0 A5 1B + cmp #$40 ; CPU:$C0D2 PRG:40D2 C9 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C0D4 +; Global: Branch target inside Label: taken when C0D4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C0D4: + bcc Sub_Loop214 ; CPU:$C0D4 PRG:40D4 90 41 + cmp #$48 ; CPU:$C0D6 PRG:40D6 C9 48 + bcs Sub_Loop214 ; CPU:$C0D8 PRG:40D8 B0 3D + lda Zp1C ; CPU:$C0DA PRG:40DA A5 1C + cmp #$B8 ; CPU:$C0DC PRG:40DC C9 B8 + bcc Sub_Loop214 ; CPU:$C0DE PRG:40DE 90 37 + lda #$0B ; CPU:$C0E0 PRG:40E0 A9 0B + ldx PlayerState ; CPU:$C0E2 PRG:40E2 A6 1A + sta PlayerTile,x ; CPU:$C0E4 PRG:40E4 95 32 + lda #$20 ; CPU:$C0E6 PRG:40E6 A9 20 + sta GameState,x ; CPU:$C0E8 PRG:40E8 95 36 + lda #$23 ; CPU:$C0EA PRG:40EA A9 23 + cpx #$28 ; CPU:$C0EC PRG:40EC E0 28 + beq Sub_Loop213 ; CPU:$C0EE PRG:40EE F0 02 + lda #$28 ; CPU:$C0F0 PRG:40F0 A9 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop213 +; Global: Branch target inside Sub: taken when Loop213. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop213: + tax ; CPU:$C0F2 PRG:40F2 AA + lda #$02 ; CPU:$C0F3 PRG:40F3 A9 02 + sta PlayerTile,x ; CPU:$C0F5 PRG:40F5 95 32 + lda #$20 ; CPU:$C0F7 PRG:40F7 A9 20 + sta GameState,x ; CPU:$C0F9 PRG:40F9 95 36 + lda #$00 ; CPU:$C0FB PRG:40FB A9 00 + sta Zp93 ; CPU:$C0FD PRG:40FD 85 93 + lda GameState ; CPU:$C0FF PRG:40FF A5 36 + and #$FC ; CPU:$C101 PRG:4101 29 FC + sta GameState ; CPU:$C103 PRG:4103 85 36 + lda #$81 ; CPU:$C105 PRG:4105 A9 81 + sta ZpA3 ; CPU:$C107 PRG:4107 85 A3 + lda #$07 ; CPU:$C109 PRG:4109 A9 07 + jsr Sub_F036 ; CPU:$C10B PRG:410B 20 36 F0 + lda GameState ; CPU:$C10E PRG:410E A5 36 + and #$EF ; CPU:$C110 PRG:4110 29 EF + sta GameState ; CPU:$C112 PRG:4112 85 36 + jmp Sub_C2BD ; CPU:$C114 PRG:4114 4C BD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop214 +; Global: Branch target inside Sub: taken when Loop214. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop214: + lda Zp94 ; CPU:$C117 PRG:4117 A5 94 + cmp #$01 ; CPU:$C119 PRG:4119 C9 01 + beq Sub_Loop217 ; CPU:$C11B PRG:411B F0 2D + cmp #$02 ; CPU:$C11D PRG:411D C9 02 + beq Sub_Loop217 ; CPU:$C11F PRG:411F F0 29 + cmp #$03 ; CPU:$C121 PRG:4121 C9 03 + beq Sub_Loop219 ; CPU:$C123 PRG:4123 F0 39 + cmp #$04 ; CPU:$C125 PRG:4125 C9 04 + beq Sub_Loop221 ; CPU:$C127 PRG:4127 F0 49 + cmp #$05 ; CPU:$C129 PRG:4129 C9 05 + beq Sub_Loop221 ; CPU:$C12B PRG:412B F0 45 + cmp #$06 ; CPU:$C12D PRG:412D C9 06 + bne Sub_Loop215 ; CPU:$C12F PRG:412F D0 03 + jmp Sub_Loop221 ; CPU:$C131 PRG:4131 4C 72 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop215 +; Global: Branch target inside Sub: taken when Loop215. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop215: + cmp #$07 ; CPU:$C134 PRG:4134 C9 07 + bne Sub_Loop216 ; CPU:$C136 PRG:4136 D0 03 + jmp Sub_C186 ; CPU:$C138 PRG:4138 4C 86 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop216 +; Global: Branch target inside Sub: taken when Loop216. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop216: + cmp #$08 ; CPU:$C13B PRG:413B C9 08 + beq Sub_Loop217 ; CPU:$C13D PRG:413D F0 0B + ldx PlayerState ; CPU:$C13F PRG:413F A6 1A + lda PlayerTile,x ; CPU:$C141 PRG:4141 B5 32 + and #$C0 ; CPU:$C143 PRG:4143 29 C0 + sta PlayerTile,x ; CPU:$C145 PRG:4145 95 32 + jmp Sub_C2BD ; CPU:$C147 PRG:4147 4C BD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop217 +; Global: Branch target inside Sub: taken when Loop217. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop217: + ldx #$40 ; CPU:$C14A PRG:414A A2 40 + lda GameState ; CPU:$C14C PRG:414C A5 36 + and #$06 ; CPU:$C14E PRG:414E 29 06 + bne Sub_Loop218 ; CPU:$C150 PRG:4150 D0 08 + lda Zp1B ; CPU:$C152 PRG:4152 A5 1B + cmp Zp1D ; CPU:$C154 PRG:4154 C5 1D + bcs Sub_Loop218 ; CPU:$C156 PRG:4156 B0 02 + ldx #$00 ; CPU:$C158 PRG:4158 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop218 +; Global: Branch target inside Sub: taken when Loop218. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop218: + txa ; CPU:$C15A PRG:415A 8A + jmp Sub_C197 ; CPU:$C15B PRG:415B 4C 97 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop219 +; Global: Branch target inside Sub: taken when Loop219. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop219: + ldx #$C0 ; CPU:$C15E PRG:415E A2 C0 + lda GameState ; CPU:$C160 PRG:4160 A5 36 + and #$06 ; CPU:$C162 PRG:4162 29 06 + bne Sub_Loop220 ; CPU:$C164 PRG:4164 D0 08 + lda Zp1C ; CPU:$C166 PRG:4166 A5 1C + cmp Zp1E ; CPU:$C168 PRG:4168 C5 1E + bcc Sub_Loop220 ; CPU:$C16A PRG:416A 90 02 + ldx #$80 ; CPU:$C16C PRG:416C A2 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop220 +; Global: Branch target inside Sub: taken when Loop220. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop220: + txa ; CPU:$C16E PRG:416E 8A + jmp Sub_C197 ; CPU:$C16F PRG:416F 4C 97 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop221 +; Global: Branch target inside Sub: taken when Loop221. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop221: + ldx #$00 ; CPU:$C172 PRG:4172 A2 00 + lda GameState ; CPU:$C174 PRG:4174 A5 36 + and #$06 ; CPU:$C176 PRG:4176 29 06 + bne Sub_Loop222 ; CPU:$C178 PRG:4178 D0 08 + lda Zp1B ; CPU:$C17A PRG:417A A5 1B + cmp Zp1D ; CPU:$C17C PRG:417C C5 1D + bcc Sub_Loop222 ; CPU:$C17E PRG:417E 90 02 + ldx #$40 ; CPU:$C180 PRG:4180 A2 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop222 +; Global: Branch target inside Sub: taken when Loop222. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop222: + txa ; CPU:$C182 PRG:4182 8A + jmp Sub_C197 ; CPU:$C183 PRG:4183 4C 97 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_C186 +; Global: Branch target inside Sub: taken when C186. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C186: + ldx #$80 ; CPU:$C186 PRG:4186 A2 80 + lda GameState ; CPU:$C188 PRG:4188 A5 36 + and #$06 ; CPU:$C18A PRG:418A 29 06 + bne Sub_Loop223 ; CPU:$C18C PRG:418C D0 08 + lda Zp1C ; CPU:$C18E PRG:418E A5 1C + cmp Zp1E ; CPU:$C190 PRG:4190 C5 1E + bcs Sub_Loop223 ; CPU:$C192 PRG:4192 B0 02 + ldx #$C0 ; CPU:$C194 PRG:4194 A2 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop223 +; Global: Branch target inside Sub: taken when Loop223. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop223: + txa ; CPU:$C196 PRG:4196 8A +; ----------------------------------------------------------------------------- +; Routine: Sub_C197 +; Global: Branch target inside Sub: taken when C197. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C197: + pha ; CPU:$C197 PRG:4197 48 + ldx PlayerState ; CPU:$C198 PRG:4198 A6 1A + lda PlayerTile,x ; CPU:$C19A PRG:419A B5 32 + and #$3F ; CPU:$C19C PRG:419C 29 3F + sta Zp1B ; CPU:$C19E PRG:419E 85 1B + pla ; CPU:$C1A0 PRG:41A0 68 + ora Zp1B ; CPU:$C1A1 PRG:41A1 05 1B + sta PlayerTile,x ; CPU:$C1A3 PRG:41A3 95 32 + ldx PlayerState ; CPU:$C1A5 PRG:41A5 A6 1A + ldy #$13 ; CPU:$C1A7 PRG:41A7 A0 13 + lda GameState ; CPU:$C1A9 PRG:41A9 A5 36 + and #$40 ; CPU:$C1AB PRG:41AB 29 40 + beq Sub_Loop224 ; CPU:$C1AD PRG:41AD F0 02 + ldy #$18 ; CPU:$C1AF PRG:41AF A0 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop224 +; Global: Branch target inside Sub: taken when Loop224. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop224: + lda Zp94 ; CPU:$C1B1 PRG:41B1 A5 94 + jsr Sub_ED4D ; CPU:$C1B3 PRG:41B3 20 4D ED + txa ; CPU:$C1B6 PRG:41B6 8A + pha ; CPU:$C1B7 PRG:41B7 48 + ldx PlayerState ; CPU:$C1B8 PRG:41B8 A6 1A + sty PlayerX,x ; CPU:$C1BA PRG:41BA 94 33 + pla ; CPU:$C1BC PRG:41BC 68 + sta PlayerY,x ; CPU:$C1BD PRG:41BD 95 34 + jmp Sub_Loop241 ; CPU:$C1BF PRG:41BF 4C A7 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1C2 +; Global: Branch target inside Sub: taken when C1C2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1C2: + lda Zp41 ; CPU:$C1C2 PRG:41C2 A5 41 + and #$10 ; CPU:$C1C4 PRG:41C4 29 10 + bne Sub_Loop226 ; CPU:$C1C6 PRG:41C6 D0 30 + ldy #$00 ; CPU:$C1C8 PRG:41C8 A0 00 + lda Zp41 ; CPU:$C1CA PRG:41CA A5 41 + and #$20 ; CPU:$C1CC PRG:41CC 29 20 + beq Sub_Loop225 ; CPU:$C1CE PRG:41CE F0 1D + lda Zp43 ; CPU:$C1D0 PRG:41D0 A5 43 + bne Sub_Loop225 ; CPU:$C1D2 PRG:41D2 D0 19 + lda ZpAC ; CPU:$C1D4 PRG:41D4 A5 AC + cmp #$80 ; CPU:$C1D6 PRG:41D6 C9 80 + bcc Sub_Loop225 ; CPU:$C1D8 PRG:41D8 90 13 + ldx WrestlerIndex ; CPU:$C1DA PRG:41DA A6 85 + lda PlayerTile,x ; CPU:$C1DC PRG:41DC B5 32 + and #$3F ; CPU:$C1DE PRG:41DE 29 3F + bne Sub_Loop225 ; CPU:$C1E0 PRG:41E0 D0 0B + ldx PlayerState ; CPU:$C1E2 PRG:41E2 A6 1A + lda #$03 ; CPU:$C1E4 PRG:41E4 A9 03 + sta PlayerTile,x ; CPU:$C1E6 PRG:41E6 95 32 + lda #$0C ; CPU:$C1E8 PRG:41E8 A9 0C + jmp Sub_C1F3 ; CPU:$C1EA PRG:41EA 4C F3 C1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop225 +; Global: Branch target inside Sub: taken when Loop225. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop225: + ldx PlayerState ; CPU:$C1ED PRG:41ED A6 1A + sty PlayerTile,x ; CPU:$C1EF PRG:41EF 94 32 + lda #$20 ; CPU:$C1F1 PRG:41F1 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_C1F3 +; Global: Branch target inside Sub: taken when C1F3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C1F3: + sta GameState,x ; CPU:$C1F3 PRG:41F3 95 36 + jmp Sub_C2BD ; CPU:$C1F5 PRG:41F5 4C BD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop226 +; Global: Branch target inside Sub: taken when Loop226. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop226: + lda Zp43 ; CPU:$C1F8 PRG:41F8 A5 43 + beq Sub_Loop227 ; CPU:$C1FA PRG:41FA F0 06 + lda Zp42 ; CPU:$C1FC PRG:41FC A5 42 + cmp #$07 ; CPU:$C1FE PRG:41FE C9 07 + bcs Sub_Loop228 ; CPU:$C200 PRG:4200 B0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop227 +; Global: Branch target inside Sub: taken when Loop227. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop227: + lda Zp41 ; CPU:$C202 PRG:4202 A5 41 + and #$20 ; CPU:$C204 PRG:4204 29 20 + bne Sub_Loop234 ; CPU:$C206 PRG:4206 D0 4B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop228 +; Global: Branch target inside Sub: taken when Loop228. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop228: + lda ZpA1 ; CPU:$C208 PRG:4208 A5 A1 + bne Sub_Loop229 ; CPU:$C20A PRG:420A D0 0A + ldx WrestlerIndex ; CPU:$C20C PRG:420C A6 85 + lda PlayerTile,x ; CPU:$C20E PRG:420E B5 32 + and #$3F ; CPU:$C210 PRG:4210 29 3F + cmp #$05 ; CPU:$C212 PRG:4212 C9 05 + bne Sub_Loop230 ; CPU:$C214 PRG:4214 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop229 +; Global: Branch target inside Sub: taken when Loop229. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop229: + jmp Sub_Loop241 ; CPU:$C216 PRG:4216 4C A7 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop230 +; Global: Branch target inside Sub: taken when Loop230. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop230: + lda Zp1C ; CPU:$C219 PRG:4219 A5 1C + cmp #$40 ; CPU:$C21B PRG:421B C9 40 + bcs Sub_Loop231 ; CPU:$C21D PRG:421D B0 07 + inc Zp1C ; CPU:$C21F PRG:421F E6 1C + ldy #$C0 ; CPU:$C221 PRG:4221 A0 C0 + jmp Sub_C22E ; CPU:$C223 PRG:4223 4C 2E C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop231 +; Global: Branch target inside Sub: taken when Loop231. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop231: + cmp #$B0 ; CPU:$C226 PRG:4226 C9 B0 + bcc Sub_Loop232 ; CPU:$C228 PRG:4228 90 0F + dec Zp1C ; CPU:$C22A PRG:422A C6 1C + ldy #$80 ; CPU:$C22C PRG:422C A0 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_C22E +; Global: Branch target inside Sub: taken when C22E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C22E: + ldx PlayerState ; CPU:$C22E PRG:422E A6 1A + sty PlayerTile,x ; CPU:$C230 PRG:4230 94 32 + lda Zp1C ; CPU:$C232 PRG:4232 A5 1C + sta PlayerY,x ; CPU:$C234 PRG:4234 95 34 + jmp Sub_Loop241 ; CPU:$C236 PRG:4236 4C A7 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop232 +; Global: Branch target inside Sub: taken when Loop232. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop232: + lda #$40 ; CPU:$C239 PRG:4239 A9 40 + ldx PlayerState ; CPU:$C23B PRG:423B A6 1A + sta PlayerTile,x ; CPU:$C23D PRG:423D 95 32 + lda Zp42 ; CPU:$C23F PRG:423F A5 42 + cmp #$07 ; CPU:$C241 PRG:4241 C9 07 + bcs Sub_Loop233 ; CPU:$C243 PRG:4243 B0 03 + jmp Sub_Loop241 ; CPU:$C245 PRG:4245 4C A7 C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop233 +; Global: Branch target inside Sub: taken when Loop233. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop233: + lda #$45 ; CPU:$C248 PRG:4248 A9 45 + ldx PlayerState ; CPU:$C24A PRG:424A A6 1A + sta PlayerTile,x ; CPU:$C24C PRG:424C 95 32 + lda #$0C ; CPU:$C24E PRG:424E A9 0C + jmp Sub_C382 ; CPU:$C250 PRG:4250 4C 82 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop234 +; Global: Branch target inside Sub: taken when Loop234. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop234: + lda ZpA1 ; CPU:$C253 PRG:4253 A5 A1 + beq Sub_Loop235 ; CPU:$C255 PRG:4255 F0 09 + lda Zp1C ; CPU:$C257 PRG:4257 A5 1C + cmp #$80 ; CPU:$C259 PRG:4259 C9 80 + bcc Sub_Loop237 ; CPU:$C25B PRG:425B 90 12 + jmp Sub_Loop238 ; CPU:$C25D PRG:425D 4C 7F C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop235 +; Global: Branch target inside Sub: taken when Loop235. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop235: + lda Zp1D ; CPU:$C260 PRG:4260 A5 1D + cmp #$A8 ; CPU:$C262 PRG:4262 C9 A8 + beq Sub_Loop236 ; CPU:$C264 PRG:4264 F0 03 + jmp Sub_C2BD ; CPU:$C266 PRG:4266 4C BD C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop236 +; Global: Branch target inside Sub: taken when Loop236. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop236: + lda Zp1C ; CPU:$C269 PRG:4269 A5 1C + cmp Zp1E ; CPU:$C26B PRG:426B C5 1E + bcs Sub_Loop238 ; CPU:$C26D PRG:426D B0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop237 +; Global: Branch target inside Sub: taken when Loop237. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop237: + ldy #$C0 ; CPU:$C26F PRG:426F A0 C0 + lda Zp1E ; CPU:$C271 PRG:4271 A5 1E + sec ; CPU:$C273 PRG:4273 38 + sbc Zp1C ; CPU:$C274 PRG:4274 E5 1C + cmp #$08 ; CPU:$C276 PRG:4276 C9 08 + bcc Sub_Loop239 ; CPU:$C278 PRG:4278 90 12 + inc Zp1C ; CPU:$C27A PRG:427A E6 1C + jmp Sub_Loop239 ; CPU:$C27C PRG:427C 4C 8C C2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop238 +; Global: Branch target inside Sub: taken when Loop238. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop238: + ldy #$80 ; CPU:$C27F PRG:427F A0 80 + lda Zp1C ; CPU:$C281 PRG:4281 A5 1C + sec ; CPU:$C283 PRG:4283 38 + sbc Zp1E ; CPU:$C284 PRG:4284 E5 1E + cmp #$08 ; CPU:$C286 PRG:4286 C9 08 + bcc Sub_Loop239 ; CPU:$C288 PRG:4288 90 02 + dec Zp1C ; CPU:$C28A PRG:428A C6 1C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop239 +; Global: Branch target inside Sub: taken when Loop239. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop239: + ldx PlayerState ; CPU:$C28C PRG:428C A6 1A + sty PlayerTile,x ; CPU:$C28E PRG:428E 94 32 + ldx Zp45 ; CPU:$C290 PRG:4290 A6 45 + lda GameState ; CPU:$C292 PRG:4292 A5 36 + and #$40 ; CPU:$C294 PRG:4294 29 40 + beq Sub_Loop240 ; CPU:$C296 PRG:4296 F0 02 + ldx Zp4A ; CPU:$C298 PRG:4298 A6 4A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop240 +; Global: Branch target inside Sub: taken when Loop240. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop240: + txa ; CPU:$C29A PRG:429A 8A + and #$1F ; CPU:$C29B PRG:429B 29 1F + cmp #$03 ; CPU:$C29D PRG:429D C9 03 + bcs Sub_Loop241 ; CPU:$C29F PRG:429F B0 06 + ldx PlayerState ; CPU:$C2A1 PRG:42A1 A6 1A + lda Zp1C ; CPU:$C2A3 PRG:42A3 A5 1C + sta PlayerY,x ; CPU:$C2A5 PRG:42A5 95 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop241 +; Global: Branch target inside Sub: taken when Loop241. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop241: + ldy #$01 ; CPU:$C2A7 PRG:42A7 A0 01 + lda ZpAC ; CPU:$C2A9 PRG:42A9 A5 AC + and #$08 ; CPU:$C2AB PRG:42AB 29 08 + beq Sub_Loop242 ; CPU:$C2AD PRG:42AD F0 02 + ldy #$02 ; CPU:$C2AF PRG:42AF A0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop242 +; Global: Branch target inside Sub: taken when Loop242. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop242: + sty Zp1B ; CPU:$C2B1 PRG:42B1 84 1B + ldx PlayerState ; CPU:$C2B3 PRG:42B3 A6 1A + lda PlayerTile,x ; CPU:$C2B5 PRG:42B5 B5 32 + and #$C0 ; CPU:$C2B7 PRG:42B7 29 C0 + ora Zp1B ; CPU:$C2B9 PRG:42B9 05 1B + sta PlayerTile,x ; CPU:$C2BB PRG:42BB 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_C2BD +; Global: Branch target inside Sub: taken when C2BD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C2BD: + rts ; CPU:$C2BD PRG:42BD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C2BE +; Global: Branch target inside Label: taken when C2BE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C2BE: + ldx PlayerState ; CPU:$C2BE PRG:42BE A6 1A + ldy GameState,x ; CPU:$C2C0 PRG:42C0 B4 36 + lda $C69A,y ; CPU:$C2C2 PRG:42C2 B9 9A C6 + sta PlayerX,x ; CPU:$C2C5 PRG:42C5 95 33 + cpy #$00 ; CPU:$C2C7 PRG:42C7 C0 00 + beq Sub_Loop243 ; CPU:$C2C9 PRG:42C9 F0 03 + dec GameState,x ; CPU:$C2CB PRG:42CB D6 36 + rts ; CPU:$C2CD PRG:42CD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop243 +; Global: Branch target inside Sub: taken when Loop243. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop243: + lda Zp41 ; CPU:$C2CE PRG:42CE A5 41 + ora #$10 ; CPU:$C2D0 PRG:42D0 09 10 + sta Zp41 ; CPU:$C2D2 PRG:42D2 85 41 + lda #$02 ; CPU:$C2D4 PRG:42D4 A9 02 + jsr Sub_F036 ; CPU:$C2D6 PRG:42D6 20 36 F0 + ldx PlayerState ; CPU:$C2D9 PRG:42D9 A6 1A + lda #$04 ; CPU:$C2DB PRG:42DB A9 04 + jmp Sub_C37E ; CPU:$C2DD PRG:42DD 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C2E0 +; Global: Branch target inside Label: taken when C2E0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C2E0: + ldx PlayerState ; CPU:$C2E0 PRG:42E0 A6 1A + lda #$00 ; CPU:$C2E2 PRG:42E2 A9 00 + jmp Sub_C37E ; CPU:$C2E4 PRG:42E4 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C2E7 +; Global: Branch target inside Label: taken when C2E7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C2E7: + ldx PlayerState ; CPU:$C2E7 PRG:42E7 A6 1A + ldy GameState,x ; CPU:$C2E9 PRG:42E9 B4 36 + lda $C6A7,y ; CPU:$C2EB PRG:42EB B9 A7 C6 + sta PlayerX,x ; CPU:$C2EE PRG:42EE 95 33 + cpy #$00 ; CPU:$C2F0 PRG:42F0 C0 00 + beq Sub_Loop244 ; CPU:$C2F2 PRG:42F2 F0 03 + dec GameState,x ; CPU:$C2F4 PRG:42F4 D6 36 + rts ; CPU:$C2F6 PRG:42F6 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop244 +; Global: Branch target inside Sub: taken when Loop244. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop244: + lda Zp41 ; CPU:$C2F7 PRG:42F7 A5 41 + and #$A0 ; CPU:$C2F9 PRG:42F9 29 A0 + sta Zp41 ; CPU:$C2FB PRG:42FB 85 41 + lda #$02 ; CPU:$C2FD PRG:42FD A9 02 + jsr Sub_F036 ; CPU:$C2FF PRG:42FF 20 36 F0 + ldx PlayerState ; CPU:$C302 PRG:4302 A6 1A + lda #$46 ; CPU:$C304 PRG:4304 A9 46 + jmp Sub_C37E ; CPU:$C306 PRG:4306 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C309 +; Global: Branch target inside Label: taken when C309. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C309: + lda Zp41 ; CPU:$C309 PRG:4309 A5 41 + and #$20 ; CPU:$C30B PRG:430B 29 20 + bne Sub_Loop246 ; CPU:$C30D PRG:430D D0 2B + ldx WrestlerIndex ; CPU:$C30F PRG:430F A6 85 + lda PlayerTile,x ; CPU:$C311 PRG:4311 B5 32 + and #$3F ; CPU:$C313 PRG:4313 29 3F + cmp #$06 ; CPU:$C315 PRG:4315 C9 06 + beq Sub_Loop246 ; CPU:$C317 PRG:4317 F0 21 + ldx PlayerState ; CPU:$C319 PRG:4319 A6 1A + lda #$70 ; CPU:$C31B PRG:431B A9 70 + sta PlayerX,x ; CPU:$C31D PRG:431D 95 33 + ldy #$40 ; CPU:$C31F PRG:431F A0 40 + lda ZpAC ; CPU:$C321 PRG:4321 A5 AC + lsr a ; CPU:$C323 PRG:4323 4A + bcc Sub_Loop245 ; CPU:$C324 PRG:4324 90 02 + ldy #$C0 ; CPU:$C326 PRG:4326 A0 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop245 +; Global: Branch target inside Sub: taken when Loop245. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop245: + sty PlayerY,x ; CPU:$C328 PRG:4328 94 34 + lda Zp41 ; CPU:$C32A PRG:432A A5 41 + and #$7F ; CPU:$C32C PRG:432C 29 7F + sta Zp41 ; CPU:$C32E PRG:432E 85 41 + lda GameState ; CPU:$C330 PRG:4330 A5 36 + and #$7F ; CPU:$C332 PRG:4332 29 7F + sta GameState ; CPU:$C334 PRG:4334 85 36 + lda #$80 ; CPU:$C336 PRG:4336 A9 80 + sta Zp8B ; CPU:$C338 PRG:4338 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop246 +; Global: Branch target inside Sub: taken when Loop246. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop246: + ldx PlayerState ; CPU:$C33A PRG:433A A6 1A + lda #$00 ; CPU:$C33C PRG:433C A9 00 + jmp Sub_C37E ; CPU:$C33E PRG:433E 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C341 +; Global: Branch target inside Label: taken when C341. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C341: + ldx PlayerState ; CPU:$C341 PRG:4341 A6 1A + dec GameState,x ; CPU:$C343 PRG:4343 D6 36 + beq Sub_Loop247 ; CPU:$C345 PRG:4345 F0 01 + rts ; CPU:$C347 PRG:4347 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop247 +; Global: Branch target inside Sub: taken when Loop247. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop247: + lda PlayerX,x ; CPU:$C348 PRG:4348 B5 33 + sec ; CPU:$C34A PRG:434A 38 + sbc #$10 ; CPU:$C34B PRG:434B E9 10 + sta PlayerX,x ; CPU:$C34D PRG:434D 95 33 + lda PlayerTile,x ; CPU:$C34F PRG:434F B5 32 + and #$C0 ; CPU:$C351 PRG:4351 29 C0 + jmp Sub_C37E ; CPU:$C353 PRG:4353 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C356 +; Global: Branch target inside Label: taken when C356. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C356: + ldx PlayerState ; CPU:$C356 PRG:4356 A6 1A + dec GameState,x ; CPU:$C358 PRG:4358 D6 36 + beq Sub_Loop248 ; CPU:$C35A PRG:435A F0 01 + rts ; CPU:$C35C PRG:435C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop248 +; Global: Branch target inside Sub: taken when Loop248. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop248: + lda #$30 ; CPU:$C35D PRG:435D A9 30 + sta PlayerX,x ; CPU:$C35F PRG:435F 95 33 + lda #$B4 ; CPU:$C361 PRG:4361 A9 B4 + sta PlayerY,x ; CPU:$C363 PRG:4363 95 34 + lda GameState ; CPU:$C365 PRG:4365 A5 36 + eor #$FF ; CPU:$C367 PRG:4367 49 FF + and #$20 ; CPU:$C369 PRG:4369 29 20 + sta Zp1B ; CPU:$C36B PRG:436B 85 1B + lda GameState ; CPU:$C36D PRG:436D A5 36 + and #$DF ; CPU:$C36F PRG:436F 29 DF + ora Zp1B ; CPU:$C371 PRG:4371 05 1B + sta GameState ; CPU:$C373 PRG:4373 85 36 + lda #$00 ; CPU:$C375 PRG:4375 A9 00 + sta ZpA3 ; CPU:$C377 PRG:4377 85 A3 + lda #$00 ; CPU:$C379 PRG:4379 A9 00 + jmp Sub_C37E ; CPU:$C37B PRG:437B 4C 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C37E +; Global: Branch target inside Sub: taken when C37E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C37E: + sta PlayerTile,x ; CPU:$C37E PRG:437E 95 32 + lda #$20 ; CPU:$C380 PRG:4380 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_C382 +; Global: Branch target inside Sub: taken when C382. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C382: + sta GameState,x ; CPU:$C382 PRG:4382 95 36 + rts ; CPU:$C384 PRG:4384 60 +; ---- data $C385-$C39E (26 bytes) ---- +; referenced by `lda $C385,x` at $C01F (operand $C385 falls inside this region) +; referenced by `lda $C386,x` at $C024 (operand $C386 falls inside this region) + .byte $2C, $C0, $2C, $C0, $2C, $C0, $BE, $C2, $E0, $C2, $E7, $C2, $09, $C3, $41, $C3 ; CPU:$C385 PRG:4385 2C C0 2C C0 2C C0 BE C2 E0 C2 E7 C2 09 C3 41 C3 + .byte $7E, $C3, $7E, $C3, $7E, $C3, $56, $C3, $7E, $C3 ; CPU:$C395 PRG:4395 7E C3 7E C3 7E C3 56 C3 7E C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C39F +; Global: Branch target inside Sub: taken when C39F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C39F: + ldx #$23 ; CPU:$C39F PRG:439F A2 23 + lda GameState ; CPU:$C3A1 PRG:43A1 A5 36 + and #$20 ; CPU:$C3A3 PRG:43A3 29 20 + beq Sub_Loop249 ; CPU:$C3A5 PRG:43A5 F0 02 + ldx #$28 ; CPU:$C3A7 PRG:43A7 A2 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop249 +; Global: Branch target inside Sub: taken when Loop249. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop249: + stx PlayerState ; CPU:$C3A9 PRG:43A9 86 1A + ldy #$13 ; CPU:$C3AB PRG:43AB A0 13 + lda GameState ; CPU:$C3AD PRG:43AD A5 36 + and #$40 ; CPU:$C3AF PRG:43AF 29 40 + beq Sub_Loop250 ; CPU:$C3B1 PRG:43B1 F0 02 + ldy #$18 ; CPU:$C3B3 PRG:43B3 A0 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop250 +; Global: Branch target inside Sub: taken when Loop250. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop250: + sty Zp1B ; CPU:$C3B5 PRG:43B5 84 1B + lda PlayerTile,x ; CPU:$C3B7 PRG:43B7 B5 32 + and #$3F ; CPU:$C3B9 PRG:43B9 29 3F + asl a ; CPU:$C3BB PRG:43BB 0A + tax ; CPU:$C3BC PRG:43BC AA + lda $C6B4,x ; CPU:$C3BD PRG:43BD BD B4 C6 + sta Zp22 ; CPU:$C3C0 PRG:43C0 85 22 + lda $C6B5,x ; CPU:$C3C2 PRG:43C2 BD B5 C6 + sta Zp23 ; CPU:$C3C5 PRG:43C5 85 23 + jmp (Zp22) ; CPU:$C3C7 PRG:43C7 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C3CA +; Global: Branch target inside Label: taken when C3CA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C3CA: + jmp Sub_C3D0 ; CPU:$C3CA PRG:43CA 4C D0 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C3CD +; Global: Branch target inside Label: taken when C3CD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C3CD: + jmp Sub_C3D0 ; CPU:$C3CD PRG:43CD 4C D0 C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3D0 +; Global: Branch target inside Sub: taken when C3D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3D0: + lda Zp71 ; CPU:$C3D0 PRG:43D0 A5 71 + bne Sub_Loop252 ; CPU:$C3D2 PRG:43D2 D0 32 + ldx Zp70 ; CPU:$C3D4 PRG:43D4 A6 70 + lda #$00 ; CPU:$C3D6 PRG:43D6 A9 00 + sta Zp70 ; CPU:$C3D8 PRG:43D8 85 70 + txa ; CPU:$C3DA PRG:43DA 8A + bpl Sub_Loop251 ; CPU:$C3DB PRG:43DB 10 07 + lda #$40 ; CPU:$C3DD PRG:43DD A9 40 + ldx #$08 ; CPU:$C3DF PRG:43DF A2 08 + jmp Sub_C3FF ; CPU:$C3E1 PRG:43E1 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop251 +; Global: Branch target inside Sub: taken when Loop251. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop251: + ldx PlayerState ; CPU:$C3E4 PRG:43E4 A6 1A + lda PlayerTile,x ; CPU:$C3E6 PRG:43E6 B5 32 + and #$C0 ; CPU:$C3E8 PRG:43E8 29 C0 + bpl Sub_Loop253 ; CPU:$C3EA PRG:43EA 10 1C + lda Zp72 ; CPU:$C3EC PRG:43EC A5 72 + eor #$FF ; CPU:$C3EE PRG:43EE 49 FF + and Zp19 ; CPU:$C3F0 PRG:43F0 25 19 + and #$01 ; CPU:$C3F2 PRG:43F2 29 01 + beq Sub_Loop253 ; CPU:$C3F4 PRG:43F4 F0 12 + lda #$02 ; CPU:$C3F6 PRG:43F6 A9 02 + jsr Sub_F036 ; CPU:$C3F8 PRG:43F8 20 36 F0 + lda #$80 ; CPU:$C3FB PRG:43FB A9 80 + ldx #$10 ; CPU:$C3FD PRG:43FD A2 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C3FF +; Global: Branch target inside Sub: taken when C3FF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C3FF: + sta Zp70 ; CPU:$C3FF PRG:43FF 85 70 + stx Zp71 ; CPU:$C401 PRG:4401 86 71 + jmp Sub_C40C ; CPU:$C403 PRG:4403 4C 0C C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop252 +; Global: Branch target inside Sub: taken when Loop252. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop252: + dec Zp71 ; CPU:$C406 PRG:4406 C6 71 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop253 +; Global: Branch target inside Sub: taken when Loop253. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop253: + lda Zp19 ; CPU:$C408 PRG:4408 A5 19 + sta Zp72 ; CPU:$C40A PRG:440A 85 72 +; ----------------------------------------------------------------------------- +; Routine: Sub_C40C +; Global: Branch target inside Sub: taken when C40C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C40C: + lda GameState ; CPU:$C40C PRG:440C A5 36 + and #$80 ; CPU:$C40E PRG:440E 29 80 + beq Sub_Loop254 ; CPU:$C410 PRG:4410 F0 03 + jmp Sub_C4DA ; CPU:$C412 PRG:4412 4C DA C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop254 +; Global: Branch target inside Sub: taken when Loop254. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop254: + ldx WrestlerIndex ; CPU:$C415 PRG:4415 A6 85 + lda PlayerTile,x ; CPU:$C417 PRG:4417 B5 32 + and #$3F ; CPU:$C419 PRG:4419 29 3F + cmp #$0B ; CPU:$C41B PRG:441B C9 0B + bne Sub_Loop255 ; CPU:$C41D PRG:441D D0 03 + jmp Sub_Loop280 ; CPU:$C41F PRG:441F 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop255 +; Global: Branch target inside Sub: taken when Loop255. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop255: + lda Zp19 ; CPU:$C422 PRG:4422 A5 19 + and #$02 ; CPU:$C424 PRG:4424 29 02 + beq Sub_Loop258 ; CPU:$C426 PRG:4426 F0 4F + ldx PlayerState ; CPU:$C428 PRG:4428 A6 1A + lda PlayerX,x ; CPU:$C42A PRG:442A B5 33 + cmp #$40 ; CPU:$C42C PRG:442C C9 40 + bcc Sub_Loop258 ; CPU:$C42E PRG:442E 90 47 + cmp #$48 ; CPU:$C430 PRG:4430 C9 48 + bcs Sub_Loop258 ; CPU:$C432 PRG:4432 B0 43 + lda PlayerY,x ; CPU:$C434 PRG:4434 B5 34 + cmp #$B8 ; CPU:$C436 PRG:4436 C9 B8 + bcc Sub_Loop258 ; CPU:$C438 PRG:4438 90 3D + ldx #$23 ; CPU:$C43A PRG:443A A2 23 + lda GameState ; CPU:$C43C PRG:443C A5 36 + and #$20 ; CPU:$C43E PRG:443E 29 20 + bne Sub_Loop256 ; CPU:$C440 PRG:4440 D0 02 + ldx #$28 ; CPU:$C442 PRG:4442 A2 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop256 +; Global: Branch target inside Sub: taken when Loop256. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop256: + lda PlayerX,x ; CPU:$C444 PRG:4444 B5 33 + cmp #$30 ; CPU:$C446 PRG:4446 C9 30 + bne Sub_Loop258 ; CPU:$C448 PRG:4448 D0 2D + lda PlayerY,x ; CPU:$C44A PRG:444A B5 34 + cmp #$B4 ; CPU:$C44C PRG:444C C9 B4 + bne Sub_Loop258 ; CPU:$C44E PRG:444E D0 27 + lda #$0B ; CPU:$C450 PRG:4450 A9 0B + ldx PlayerState ; CPU:$C452 PRG:4452 A6 1A + sta PlayerTile,x ; CPU:$C454 PRG:4454 95 32 + lda #$20 ; CPU:$C456 PRG:4456 A9 20 + sta GameState,x ; CPU:$C458 PRG:4458 95 36 + lda #$23 ; CPU:$C45A PRG:445A A9 23 + cpx #$28 ; CPU:$C45C PRG:445C E0 28 + beq Sub_Loop257 ; CPU:$C45E PRG:445E F0 02 + lda #$28 ; CPU:$C460 PRG:4460 A9 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop257 +; Global: Branch target inside Sub: taken when Loop257. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop257: + tax ; CPU:$C462 PRG:4462 AA + lda #$02 ; CPU:$C463 PRG:4463 A9 02 + sta PlayerTile,x ; CPU:$C465 PRG:4465 95 32 + lda #$20 ; CPU:$C467 PRG:4467 A9 20 + sta GameState,x ; CPU:$C469 PRG:4469 95 36 + lda #$81 ; CPU:$C46B PRG:446B A9 81 + sta ZpA3 ; CPU:$C46D PRG:446D 85 A3 + lda #$07 ; CPU:$C46F PRG:446F A9 07 + jsr Sub_F036 ; CPU:$C471 PRG:4471 20 36 F0 + jmp Sub_Loop280 ; CPU:$C474 PRG:4474 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop258 +; Global: Branch target inside Sub: taken when Loop258. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop258: + lda Zp17 ; CPU:$C477 PRG:4477 A5 17 +; ----------------------------------------------------------------------------- +; Routine: Sub_C479 +; Global: Branch target inside Sub: taken when C479. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C479: + sta Zp1C ; CPU:$C479 PRG:4479 85 1C + cmp #$01 ; CPU:$C47B PRG:447B C9 01 + beq Sub_Loop259 ; CPU:$C47D PRG:447D F0 27 + cmp #$02 ; CPU:$C47F PRG:447F C9 02 + beq Sub_Loop259 ; CPU:$C481 PRG:4481 F0 23 + cmp #$03 ; CPU:$C483 PRG:4483 C9 03 + beq Sub_Loop260 ; CPU:$C485 PRG:4485 F0 24 + cmp #$04 ; CPU:$C487 PRG:4487 C9 04 + beq Sub_Loop261 ; CPU:$C489 PRG:4489 F0 25 + cmp #$05 ; CPU:$C48B PRG:448B C9 05 + beq Sub_Loop261 ; CPU:$C48D PRG:448D F0 21 + cmp #$06 ; CPU:$C48F PRG:448F C9 06 + beq Sub_Loop261 ; CPU:$C491 PRG:4491 F0 1D + cmp #$07 ; CPU:$C493 PRG:4493 C9 07 + beq Sub_Loop262 ; CPU:$C495 PRG:4495 F0 1E + cmp #$08 ; CPU:$C497 PRG:4497 C9 08 + beq Sub_Loop259 ; CPU:$C499 PRG:4499 F0 0B + ldx PlayerState ; CPU:$C49B PRG:449B A6 1A + lda PlayerTile,x ; CPU:$C49D PRG:449D B5 32 + and #$C0 ; CPU:$C49F PRG:449F 29 C0 + sta PlayerTile,x ; CPU:$C4A1 PRG:44A1 95 32 + jmp Sub_Loop280 ; CPU:$C4A3 PRG:44A3 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop259 +; Global: Branch target inside Sub: taken when Loop259. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop259: + lda #$40 ; CPU:$C4A6 PRG:44A6 A9 40 + jmp Sub_C4B7 ; CPU:$C4A8 PRG:44A8 4C B7 C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop260 +; Global: Branch target inside Sub: taken when Loop260. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop260: + lda #$C0 ; CPU:$C4AB PRG:44AB A9 C0 + jmp Sub_C4B7 ; CPU:$C4AD PRG:44AD 4C B7 C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop261 +; Global: Branch target inside Sub: taken when Loop261. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop261: + lda #$00 ; CPU:$C4B0 PRG:44B0 A9 00 + jmp Sub_C4B7 ; CPU:$C4B2 PRG:44B2 4C B7 C4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop262 +; Global: Branch target inside Sub: taken when Loop262. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop262: + lda #$80 ; CPU:$C4B5 PRG:44B5 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_C4B7 +; Global: Branch target inside Sub: taken when C4B7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C4B7: + pha ; CPU:$C4B7 PRG:44B7 48 + ldx PlayerState ; CPU:$C4B8 PRG:44B8 A6 1A + lda PlayerTile,x ; CPU:$C4BA PRG:44BA B5 32 + and #$3F ; CPU:$C4BC PRG:44BC 29 3F + sta Zp1D ; CPU:$C4BE PRG:44BE 85 1D + pla ; CPU:$C4C0 PRG:44C0 68 + ora Zp1D ; CPU:$C4C1 PRG:44C1 05 1D + sta PlayerTile,x ; CPU:$C4C3 PRG:44C3 95 32 + ldx PlayerState ; CPU:$C4C5 PRG:44C5 A6 1A + ldy Zp1B ; CPU:$C4C7 PRG:44C7 A4 1B + lda Zp1C ; CPU:$C4C9 PRG:44C9 A5 1C + jsr Sub_ED4D ; CPU:$C4CB PRG:44CB 20 4D ED + txa ; CPU:$C4CE PRG:44CE 8A + pha ; CPU:$C4CF PRG:44CF 48 + ldx PlayerState ; CPU:$C4D0 PRG:44D0 A6 1A + sty PlayerX,x ; CPU:$C4D2 PRG:44D2 94 33 + pla ; CPU:$C4D4 PRG:44D4 68 + sta PlayerY,x ; CPU:$C4D5 PRG:44D5 95 34 + jmp Sub_C5D6 ; CPU:$C4D7 PRG:44D7 4C D6 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C4DA +; Global: Branch target inside Sub: taken when C4DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C4DA: + lda Zp17 ; CPU:$C4DA PRG:44DA A5 17 + cmp #$00 ; CPU:$C4DC PRG:44DC C9 00 + beq Sub_Loop265 ; CPU:$C4DE PRG:44DE F0 19 + cmp #$01 ; CPU:$C4E0 PRG:44E0 C9 01 + beq Sub_Loop267 ; CPU:$C4E2 PRG:44E2 F0 2A + cmp #$03 ; CPU:$C4E4 PRG:44E4 C9 03 + beq Sub_Loop272 ; CPU:$C4E6 PRG:44E6 F0 55 + cmp #$05 ; CPU:$C4E8 PRG:44E8 C9 05 + bne Sub_Loop263 ; CPU:$C4EA PRG:44EA D0 03 + jmp Sub_C577 ; CPU:$C4EC PRG:44EC 4C 77 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop263 +; Global: Branch target inside Sub: taken when Loop263. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop263: + cmp #$07 ; CPU:$C4EF PRG:44EF C9 07 + bne Sub_Loop264 ; CPU:$C4F1 PRG:44F1 D0 03 + jmp Sub_C59B ; CPU:$C4F3 PRG:44F3 4C 9B C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop264 +; Global: Branch target inside Sub: taken when Loop264. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop264: + jmp Sub_Loop280 ; CPU:$C4F6 PRG:44F6 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop265 +; Global: Branch target inside Sub: taken when Loop265. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop265: + ldx PlayerState ; CPU:$C4F9 PRG:44F9 A6 1A + lda PlayerTile,x ; CPU:$C4FB PRG:44FB B5 32 + and #$C0 ; CPU:$C4FD PRG:44FD 29 C0 + sta PlayerTile,x ; CPU:$C4FF PRG:44FF 95 32 + lda Zp41 ; CPU:$C501 PRG:4501 A5 41 + and #$10 ; CPU:$C503 PRG:4503 29 10 + bne Sub_Loop266 ; CPU:$C505 PRG:4505 D0 04 + lda #$00 ; CPU:$C507 PRG:4507 A9 00 + sta PlayerTile,x ; CPU:$C509 PRG:4509 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop266 +; Global: Branch target inside Sub: taken when Loop266. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop266: + jmp Sub_Loop280 ; CPU:$C50B PRG:450B 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop267 +; Global: Branch target inside Sub: taken when Loop267. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop267: + lda Zp41 ; CPU:$C50E PRG:450E A5 41 + and #$10 ; CPU:$C510 PRG:4510 29 10 + beq Sub_Loop268 ; CPU:$C512 PRG:4512 F0 04 + lda ZpA1 ; CPU:$C514 PRG:4514 A5 A1 + beq Sub_Loop269 ; CPU:$C516 PRG:4516 F0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop268 +; Global: Branch target inside Sub: taken when Loop268. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop268: + jmp Sub_Loop280 ; CPU:$C518 PRG:4518 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop269 +; Global: Branch target inside Sub: taken when Loop269. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop269: + ldx Zp1B ; CPU:$C51B PRG:451B A6 1B + lda PlayerTile,x ; CPU:$C51D PRG:451D B5 32 + and #$3F ; CPU:$C51F PRG:451F 29 3F + cmp #$03 ; CPU:$C521 PRG:4521 C9 03 + beq Sub_Loop270 ; CPU:$C523 PRG:4523 F0 0C + ldx PlayerState ; CPU:$C525 PRG:4525 A6 1A + lda PlayerY,x ; CPU:$C527 PRG:4527 B5 34 + cmp #$30 ; CPU:$C529 PRG:4529 C9 30 + bcc Sub_Loop270 ; CPU:$C52B PRG:452B 90 04 + cmp #$C0 ; CPU:$C52D PRG:452D C9 C0 + bcc Sub_Loop271 ; CPU:$C52F PRG:452F 90 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop270 +; Global: Branch target inside Sub: taken when Loop270. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop270: + jmp Sub_Loop280 ; CPU:$C531 PRG:4531 4C E8 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop271 +; Global: Branch target inside Sub: taken when Loop271. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop271: + lda #$45 ; CPU:$C534 PRG:4534 A9 45 + sta PlayerTile,x ; CPU:$C536 PRG:4536 95 32 + lda #$0C ; CPU:$C538 PRG:4538 A9 0C + jmp Sub_C697 ; CPU:$C53A PRG:453A 4C 97 C6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop272 +; Global: Branch target inside Sub: taken when Loop272. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop272: + ldy #$10 ; CPU:$C53D PRG:453D A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C53F +; Global: Branch target inside Sub: taken when C53F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C53F: + lda Zp41 ; CPU:$C53F PRG:453F A5 41 + and #$20 ; CPU:$C541 PRG:4541 29 20 + beq Sub_Loop273 ; CPU:$C543 PRG:4543 F0 15 + lda Zp41 ; CPU:$C545 PRG:4545 A5 41 + and #$10 ; CPU:$C547 PRG:4547 29 10 + beq Sub_Loop273 ; CPU:$C549 PRG:4549 F0 0F + ldx Zp1B ; CPU:$C54B PRG:454B A6 1B + lda PlayerY,x ; CPU:$C54D PRG:454D B5 34 + ldx PlayerState ; CPU:$C54F PRG:454F A6 1A + sec ; CPU:$C551 PRG:4551 38 + sbc PlayerY,x ; CPU:$C552 PRG:4552 F5 34 + bmi Sub_Loop273 ; CPU:$C554 PRG:4554 30 04 + cmp #$08 ; CPU:$C556 PRG:4556 C9 08 + bcc Sub_Loop275 ; CPU:$C558 PRG:4558 90 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop273 +; Global: Branch target inside Sub: taken when Loop273. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop273: + sty Zp1C ; CPU:$C55A PRG:455A 84 1C + ldx #$C0 ; CPU:$C55C PRG:455C A2 C0 + lda Zp41 ; CPU:$C55E PRG:455E A5 41 + and Zp1C ; CPU:$C560 PRG:4560 25 1C + beq Sub_Loop274 ; CPU:$C562 PRG:4562 F0 02 + ldx #$E8 ; CPU:$C564 PRG:4564 A2 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop274 +; Global: Branch target inside Sub: taken when Loop274. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop274: + stx Zp1C ; CPU:$C566 PRG:4566 86 1C + ldx PlayerState ; CPU:$C568 PRG:4568 A6 1A + lda PlayerY,x ; CPU:$C56A PRG:456A B5 34 + cmp Zp1C ; CPU:$C56C PRG:456C C5 1C + bcs Sub_Loop275 ; CPU:$C56E PRG:456E B0 02 + inc PlayerY,x ; CPU:$C570 PRG:4570 F6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop275 +; Global: Branch target inside Sub: taken when Loop275. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop275: + lda #$C0 ; CPU:$C572 PRG:4572 A9 C0 + jmp Sub_C5D2 ; CPU:$C574 PRG:4574 4C D2 C5 +; ----------------------------------------------------------------------------- +; Routine: Sub_C577 +; Global: Branch target inside Sub: taken when C577. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C577: + ldy #$00 ; CPU:$C577 PRG:4577 A0 00 + lda Zp41 ; CPU:$C579 PRG:4579 A5 41 + and #$20 ; CPU:$C57B PRG:457B 29 20 + beq Sub_Loop276 ; CPU:$C57D PRG:457D F0 12 + ldx Zp1B ; CPU:$C57F PRG:457F A6 1B + lda PlayerTile,x ; CPU:$C581 PRG:4581 B5 32 + and #$3F ; CPU:$C583 PRG:4583 29 3F + cmp #$05 ; CPU:$C585 PRG:4585 C9 05 + beq Sub_Loop276 ; CPU:$C587 PRG:4587 F0 08 + lda Zp41 ; CPU:$C589 PRG:4589 A5 41 + and #$10 ; CPU:$C58B PRG:458B 29 10 + bne Sub_Loop276 ; CPU:$C58D PRG:458D D0 02 + ldy #$03 ; CPU:$C58F PRG:458F A0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop276 +; Global: Branch target inside Sub: taken when Loop276. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop276: + tya ; CPU:$C591 PRG:4591 98 + ldx PlayerState ; CPU:$C592 PRG:4592 A6 1A + sta PlayerTile,x ; CPU:$C594 PRG:4594 95 32 + lda #$0C ; CPU:$C596 PRG:4596 A9 0C + jmp Sub_C697 ; CPU:$C598 PRG:4598 4C 97 C6 +; ----------------------------------------------------------------------------- +; Routine: Sub_C59B +; Global: Branch target inside Sub: taken when C59B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C59B: + ldy #$10 ; CPU:$C59B PRG:459B A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C59D +; Global: Branch target inside Sub: taken when C59D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C59D: + lda Zp41 ; CPU:$C59D PRG:459D A5 41 + and #$20 ; CPU:$C59F PRG:459F 29 20 + beq Sub_Loop277 ; CPU:$C5A1 PRG:45A1 F0 15 + lda Zp41 ; CPU:$C5A3 PRG:45A3 A5 41 + and #$10 ; CPU:$C5A5 PRG:45A5 29 10 + beq Sub_Loop277 ; CPU:$C5A7 PRG:45A7 F0 0F + ldx PlayerState ; CPU:$C5A9 PRG:45A9 A6 1A + lda PlayerY,x ; CPU:$C5AB PRG:45AB B5 34 + ldx Zp1B ; CPU:$C5AD PRG:45AD A6 1B + sec ; CPU:$C5AF PRG:45AF 38 + sbc PlayerY,x ; CPU:$C5B0 PRG:45B0 F5 34 + bmi Sub_Loop277 ; CPU:$C5B2 PRG:45B2 30 04 + cmp #$08 ; CPU:$C5B4 PRG:45B4 C9 08 + bcc Sub_Loop279 ; CPU:$C5B6 PRG:45B6 90 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop277 +; Global: Branch target inside Sub: taken when Loop277. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop277: + sty Zp1C ; CPU:$C5B8 PRG:45B8 84 1C + ldx #$30 ; CPU:$C5BA PRG:45BA A2 30 + lda Zp41 ; CPU:$C5BC PRG:45BC A5 41 + and Zp1C ; CPU:$C5BE PRG:45BE 25 1C + beq Sub_Loop278 ; CPU:$C5C0 PRG:45C0 F0 02 + ldx #$08 ; CPU:$C5C2 PRG:45C2 A2 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop278 +; Global: Branch target inside Sub: taken when Loop278. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop278: + stx Zp1C ; CPU:$C5C4 PRG:45C4 86 1C + ldx PlayerState ; CPU:$C5C6 PRG:45C6 A6 1A + lda PlayerY,x ; CPU:$C5C8 PRG:45C8 B5 34 + cmp Zp1C ; CPU:$C5CA PRG:45CA C5 1C + bcc Sub_Loop279 ; CPU:$C5CC PRG:45CC 90 02 + dec PlayerY,x ; CPU:$C5CE PRG:45CE D6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop279 +; Global: Branch target inside Sub: taken when Loop279. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop279: + lda #$80 ; CPU:$C5D0 PRG:45D0 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_C5D2 +; Global: Branch target inside Sub: taken when C5D2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C5D2: + ldx PlayerState ; CPU:$C5D2 PRG:45D2 A6 1A + sta PlayerTile,x ; CPU:$C5D4 PRG:45D4 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_C5D6 +; Global: Branch target inside Sub: taken when C5D6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C5D6: + ldx PlayerState ; CPU:$C5D6 PRG:45D6 A6 1A + lda PlayerTile,x ; CPU:$C5D8 PRG:45D8 B5 32 + and #$C0 ; CPU:$C5DA PRG:45DA 29 C0 + sta PlayerTile,x ; CPU:$C5DC PRG:45DC 95 32 + lda ZpAC ; CPU:$C5DE PRG:45DE A5 AC + and #$08 ; CPU:$C5E0 PRG:45E0 29 08 + beq Sub_Loop280 ; CPU:$C5E2 PRG:45E2 F0 04 + inc PlayerTile,x ; CPU:$C5E4 PRG:45E4 F6 32 + inc PlayerTile,x ; CPU:$C5E6 PRG:45E6 F6 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop280 +; Global: Branch target inside Sub: taken when Loop280. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop280: + rts ; CPU:$C5E8 PRG:45E8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C5E9 +; Global: Branch target inside Label: taken when C5E9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C5E9: + ldx PlayerState ; CPU:$C5E9 PRG:45E9 A6 1A + ldy GameState,x ; CPU:$C5EB PRG:45EB B4 36 + lda $C69A,y ; CPU:$C5ED PRG:45ED B9 9A C6 + sta PlayerX,x ; CPU:$C5F0 PRG:45F0 95 33 + cpy #$00 ; CPU:$C5F2 PRG:45F2 C0 00 + beq Sub_Loop281 ; CPU:$C5F4 PRG:45F4 F0 03 + dec GameState,x ; CPU:$C5F6 PRG:45F6 D6 36 + rts ; CPU:$C5F8 PRG:45F8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop281 +; Global: Branch target inside Sub: taken when Loop281. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop281: + lda Zp41 ; CPU:$C5F9 PRG:45F9 A5 41 + ora #$10 ; CPU:$C5FB PRG:45FB 09 10 + sta Zp41 ; CPU:$C5FD PRG:45FD 85 41 + lda #$02 ; CPU:$C5FF PRG:45FF A9 02 + jsr Sub_F036 ; CPU:$C601 PRG:4601 20 36 F0 + ldx PlayerState ; CPU:$C604 PRG:4604 A6 1A + lda #$04 ; CPU:$C606 PRG:4606 A9 04 + jmp Sub_C693 ; CPU:$C608 PRG:4608 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C60B +; Global: Branch target inside Label: taken when C60B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C60B: + ldx PlayerState ; CPU:$C60B PRG:460B A6 1A + lda #$00 ; CPU:$C60D PRG:460D A9 00 + jmp Sub_C693 ; CPU:$C60F PRG:460F 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C612 +; Global: Branch target inside Label: taken when C612. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C612: + ldx PlayerState ; CPU:$C612 PRG:4612 A6 1A + ldy GameState,x ; CPU:$C614 PRG:4614 B4 36 + lda $C6A7,y ; CPU:$C616 PRG:4616 B9 A7 C6 + sta PlayerX,x ; CPU:$C619 PRG:4619 95 33 + cpy #$00 ; CPU:$C61B PRG:461B C0 00 + beq Sub_Loop282 ; CPU:$C61D PRG:461D F0 03 + dec GameState,x ; CPU:$C61F PRG:461F D6 36 + rts ; CPU:$C621 PRG:4621 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop282 +; Global: Branch target inside Sub: taken when Loop282. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop282: + lda Zp41 ; CPU:$C622 PRG:4622 A5 41 + and #$A0 ; CPU:$C624 PRG:4624 29 A0 + sta Zp41 ; CPU:$C626 PRG:4626 85 41 + lda #$02 ; CPU:$C628 PRG:4628 A9 02 + jsr Sub_F036 ; CPU:$C62A PRG:462A 20 36 F0 + ldx PlayerState ; CPU:$C62D PRG:462D A6 1A + lda #$46 ; CPU:$C62F PRG:462F A9 46 + jmp Sub_C693 ; CPU:$C631 PRG:4631 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C634 +; Global: Branch target inside Label: taken when C634. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C634: + lda Zp41 ; CPU:$C634 PRG:4634 A5 41 +; ----------------------------------------------------------------------------- +; Routine: Label_C636 +; Global: Branch target inside Label: taken when C636. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C636: + and #$20 ; CPU:$C636 PRG:4636 29 20 + bne Sub_Loop283 ; CPU:$C638 PRG:4638 D0 14 + ldx Zp1B ; CPU:$C63A PRG:463A A6 1B + lda PlayerTile,x ; CPU:$C63C PRG:463C B5 32 + and #$3F ; CPU:$C63E PRG:463E 29 3F + cmp #$06 ; CPU:$C640 PRG:4640 C9 06 + beq Sub_Loop283 ; CPU:$C642 PRG:4642 F0 0A + lda GameState ; CPU:$C644 PRG:4644 A5 36 + and #$7F ; CPU:$C646 PRG:4646 29 7F + sta GameState ; CPU:$C648 PRG:4648 85 36 + lda #$80 ; CPU:$C64A PRG:464A A9 80 + sta Zp8B ; CPU:$C64C PRG:464C 85 8B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop283 +; Global: Branch target inside Sub: taken when Loop283. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop283: + ldx PlayerState ; CPU:$C64E PRG:464E A6 1A + lda #$40 ; CPU:$C650 PRG:4650 A9 40 + jmp Sub_C693 ; CPU:$C652 PRG:4652 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C655 +; Global: Branch target inside Label: taken when C655. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C655: + ldx PlayerState ; CPU:$C655 PRG:4655 A6 1A + dec GameState,x ; CPU:$C657 PRG:4657 D6 36 + beq Sub_Loop284 ; CPU:$C659 PRG:4659 F0 01 + rts ; CPU:$C65B PRG:465B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop284 +; Global: Branch target inside Sub: taken when Loop284. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop284: + lda PlayerX,x ; CPU:$C65C PRG:465C B5 33 + sec ; CPU:$C65E PRG:465E 38 + sbc #$10 ; CPU:$C65F PRG:465F E9 10 + sta PlayerX,x ; CPU:$C661 PRG:4661 95 33 + lda PlayerTile,x ; CPU:$C663 PRG:4663 B5 32 + and #$C0 ; CPU:$C665 PRG:4665 29 C0 + jmp Sub_C693 ; CPU:$C667 PRG:4667 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C66A +; Global: Branch target inside Label: taken when C66A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C66A: + ldx PlayerState ; CPU:$C66A PRG:466A A6 1A + dec GameState,x ; CPU:$C66C PRG:466C D6 36 + beq Sub_Loop285 ; CPU:$C66E PRG:466E F0 01 + rts ; CPU:$C670 PRG:4670 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop285 +; Global: Branch target inside Sub: taken when Loop285. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop285: + lda #$30 ; CPU:$C671 PRG:4671 A9 30 + sta PlayerX,x ; CPU:$C673 PRG:4673 95 33 + lda #$B4 ; CPU:$C675 PRG:4675 A9 B4 + sta PlayerY,x ; CPU:$C677 PRG:4677 95 34 + lda GameState ; CPU:$C679 PRG:4679 A5 36 + eor #$FF ; CPU:$C67B PRG:467B 49 FF + and #$20 ; CPU:$C67D PRG:467D 29 20 + sta Zp1C ; CPU:$C67F PRG:467F 85 1C + lda GameState ; CPU:$C681 PRG:4681 A5 36 + and #$DF ; CPU:$C683 PRG:4683 29 DF + ora Zp1C ; CPU:$C685 PRG:4685 05 1C + sta GameState ; CPU:$C687 PRG:4687 85 36 + lda #$00 ; CPU:$C689 PRG:4689 A9 00 + sta ZpA3 ; CPU:$C68B PRG:468B 85 A3 + lda #$00 ; CPU:$C68D PRG:468D A9 00 + jmp Sub_C693 ; CPU:$C68F PRG:468F 4C 93 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C692 +; Global: Branch target inside Label: taken when C692. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C692: + rts ; CPU:$C692 PRG:4692 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C693 +; Global: Branch target inside Sub: taken when C693. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C693: + sta PlayerTile,x ; CPU:$C693 PRG:4693 95 32 + lda #$20 ; CPU:$C695 PRG:4695 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_C697 +; Global: Branch target inside Sub: taken when C697. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C697: + sta GameState,x ; CPU:$C697 PRG:4697 95 36 + rts ; CPU:$C699 PRG:4699 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C69A +; Global: Branch target inside Label: taken when C69A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C69A: + tay ; CPU:$C69A PRG:469A A8 + ldy #$98 ; CPU:$C69B PRG:469B A0 98 + .byte $90, $98 ; CPU:$C69D PRG:469D 90 98 + .byte $80, $78 ; CPU:$C69F PRG:469F 80 78 -- nop #$78 (undocumented; ca65 cannot encode) + .byte $70, $68 ; CPU:$C6A1 PRG:46A1 70 68 + rts ; CPU:$C6A3 PRG:46A3 60 +; ---- data $C6A4-$C6CD (42 bytes) ---- +; referenced by `lda $C6A7,y` at $BF6C (operand $C6A7 falls inside this region) +; referenced by `lda $C6A7,y` at $C2EB (operand $C6A7 falls inside this region) +; referenced by `lda $C6B4,x` at $C3BD (operand $C6B4 falls inside this region) +; referenced by `lda $C6B5,x` at $C3C2 (operand $C6B5 falls inside this region) +; referenced by `lda $C6A7,y` at $C616 (operand $C6A7 falls inside this region) + .byte $68, $70, $88, $7E, $78, $70, $68, $60, $68, $70, $78, $80, $88, $90, $98, $A0 ; CPU:$C6A4 PRG:46A4 68 70 88 7E 78 70 68 60 68 70 78 80 88 90 98 A0 + .byte $CA, $C3, $CD, $C3, $D0, $C3, $E9, $C5, $0B, $C6, $12, $C6, $34, $C6, $55, $C6 ; CPU:$C6B4 PRG:46B4 CA C3 CD C3 D0 C3 E9 C5 0B C6 12 C6 34 C6 55 C6 + .byte $92, $C6, $92, $C6, $92, $C6, $6A, $C6, $92, $C6 ; CPU:$C6C4 PRG:46C4 92 C6 92 C6 92 C6 6A C6 92 C6 +; ----------------------------------------------------------------------------- +; Routine: Sub_C6CE +; Global: Branch target inside Sub: taken when C6CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C6CE: + lda Zp37 ; CPU:$C6CE PRG:46CE A5 37 + and #$20 ; CPU:$C6D0 PRG:46D0 29 20 + beq Sub_Loop286 ; CPU:$C6D2 PRG:46D2 F0 12 + lda Zp7B ; CPU:$C6D4 PRG:46D4 A5 7B + and #$20 ; CPU:$C6D6 PRG:46D6 29 20 + bne Sub_Loop286 ; CPU:$C6D8 PRG:46D8 D0 0C + lda Zp38 ; CPU:$C6DA PRG:46DA A5 38 + beq Sub_Loop289 ; CPU:$C6DC PRG:46DC F0 28 + lda ZpAC ; CPU:$C6DE PRG:46DE A5 AC + and #$07 ; CPU:$C6E0 PRG:46E0 29 07 + tax ; CPU:$C6E2 PRG:46E2 AA + jmp Sub_C747 ; CPU:$C6E3 PRG:46E3 4C 47 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop286 +; Global: Branch target inside Sub: taken when Loop286. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop286: + lda Zp38 ; CPU:$C6E6 PRG:46E6 A5 38 + bne Sub_Loop287 ; CPU:$C6E8 PRG:46E8 D0 03 + jmp Sub_C712 ; CPU:$C6EA PRG:46EA 4C 12 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop287 +; Global: Branch target inside Sub: taken when Loop287. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop287: + ldx Zp18 ; CPU:$C6ED PRG:46ED A6 18 + lda Zp37 ; CPU:$C6EF PRG:46EF A5 37 + and #$20 ; CPU:$C6F1 PRG:46F1 29 20 + beq Sub_Loop288 ; CPU:$C6F3 PRG:46F3 F0 02 + ldx Zp19 ; CPU:$C6F5 PRG:46F5 A6 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop288 +; Global: Branch target inside Sub: taken when Loop288. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop288: + stx PlayerState ; CPU:$C6F7 PRG:46F7 86 1A + lda Zp3A ; CPU:$C6F9 PRG:46F9 A5 3A + eor #$FF ; CPU:$C6FB PRG:46FB 49 FF + and PlayerState ; CPU:$C6FD PRG:46FD 25 1A + and #$01 ; CPU:$C6FF PRG:46FF 29 01 + bne Sub_Loop289 ; CPU:$C701 PRG:4701 D0 03 + jmp Sub_C727 ; CPU:$C703 PRG:4703 4C 27 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop289 +; Global: Branch target inside Sub: taken when Loop289. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop289: + lda Zp37 ; CPU:$C706 PRG:4706 A5 37 + sta Zp3B ; CPU:$C708 PRG:4708 85 3B +; ----------------------------------------------------------------------------- +; Routine: Label_C70A +; Global: Branch target inside Label: taken when C70A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C70A: + lda #$00 ; CPU:$C70A PRG:470A A9 00 + sta Zp3C ; CPU:$C70C PRG:470C 85 3C + lda #$20 ; CPU:$C70E PRG:470E A9 20 + sta Zp3D ; CPU:$C710 PRG:4710 85 3D +; ----------------------------------------------------------------------------- +; Routine: Sub_C712 +; Global: Branch target inside Sub: taken when C712. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C712: + lda Zp37 ; CPU:$C712 PRG:4712 A5 37 + and #$7F ; CPU:$C714 PRG:4714 29 7F + sta Zp37 ; CPU:$C716 PRG:4716 85 37 + jsr Sub_EF2F ; CPU:$C718 PRG:4718 20 2F EF + lda #$F0 ; CPU:$C71B PRG:471B A9 F0 + sta $0740 ; CPU:$C71D PRG:471D 8D 40 07 + lda #$00 ; CPU:$C720 PRG:4720 A9 00 + sta Zp9F ; CPU:$C722 PRG:4722 85 9F + jmp Sub_C7D0 ; CPU:$C724 PRG:4724 4C D0 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_C727 +; Global: Branch target inside Sub: taken when C727. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C727: + ldx Zp18 ; CPU:$C727 PRG:4727 A6 18 + lda Zp37 ; CPU:$C729 PRG:4729 A5 37 + and #$20 ; CPU:$C72B PRG:472B 29 20 + beq Sub_Loop290 ; CPU:$C72D PRG:472D F0 02 + ldx Zp19 ; CPU:$C72F PRG:472F A6 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop290 +; Global: Branch target inside Sub: taken when Loop290. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop290: + stx PlayerState ; CPU:$C731 PRG:4731 86 1A + lda Zp3A ; CPU:$C733 PRG:4733 A5 3A + eor #$FF ; CPU:$C735 PRG:4735 49 FF + and PlayerState ; CPU:$C737 PRG:4737 25 1A + and #$02 ; CPU:$C739 PRG:4739 29 02 + beq Sub_Loop291 ; CPU:$C73B PRG:473B F0 08 + inc Zp39 ; CPU:$C73D PRG:473D E6 39 + lda Zp39 ; CPU:$C73F PRG:473F A5 39 + and #$07 ; CPU:$C741 PRG:4741 29 07 + sta Zp39 ; CPU:$C743 PRG:4743 85 39 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop291 +; Global: Branch target inside Sub: taken when Loop291. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop291: + ldx Zp39 ; CPU:$C745 PRG:4745 A6 39 +; ----------------------------------------------------------------------------- +; Routine: Sub_C747 +; Global: Branch target inside Sub: taken when C747. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C747: + lda GameState ; CPU:$C747 PRG:4747 A5 36 + bpl Sub_Loop292 ; CPU:$C749 PRG:4749 10 07 + lda $C7F1,x ; CPU:$C74B PRG:474B BD F1 C7 + tay ; CPU:$C74E PRG:474E A8 + jmp Sub_Loop296 ; CPU:$C74F PRG:474F 4C C0 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop292 +; Global: Branch target inside Sub: taken when Loop292. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop292: + lda Zp37 ; CPU:$C752 PRG:4752 A5 37 + and #$20 ; CPU:$C754 PRG:4754 29 20 + bne Sub_Loop294 ; CPU:$C756 PRG:4756 D0 30 + lda GameState ; CPU:$C758 PRG:4758 A5 36 + and #$40 ; CPU:$C75A PRG:475A 29 40 + bne Sub_Loop293 ; CPU:$C75C PRG:475C D0 15 + lda $C7D1,x ; CPU:$C75E PRG:475E BD D1 C7 + tay ; CPU:$C761 PRG:4761 A8 + cpx #$07 ; CPU:$C762 PRG:4762 E0 07 + bne Sub_Loop296 ; CPU:$C764 PRG:4764 D0 5A + lda GameState ; CPU:$C766 PRG:4766 A5 36 + and #$20 ; CPU:$C768 PRG:4768 29 20 + beq Sub_Loop296 ; CPU:$C76A PRG:476A F0 54 + ldx #$05 ; CPU:$C76C PRG:476C A2 05 + ldy #$0B ; CPU:$C76E PRG:476E A0 0B + jmp Sub_C7B5 ; CPU:$C770 PRG:4770 4C B5 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop293 +; Global: Branch target inside Sub: taken when Loop293. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop293: + lda $C7D9,x ; CPU:$C773 PRG:4773 BD D9 C7 + tay ; CPU:$C776 PRG:4776 A8 + cpx #$07 ; CPU:$C777 PRG:4777 E0 07 + bne Sub_Loop296 ; CPU:$C779 PRG:4779 D0 45 + lda GameState ; CPU:$C77B PRG:477B A5 36 + and #$20 ; CPU:$C77D PRG:477D 29 20 + bne Sub_Loop296 ; CPU:$C77F PRG:477F D0 3F + ldx #$02 ; CPU:$C781 PRG:4781 A2 02 + ldy #$0A ; CPU:$C783 PRG:4783 A0 0A + jmp Sub_C7B5 ; CPU:$C785 PRG:4785 4C B5 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop294 +; Global: Branch target inside Sub: taken when Loop294. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop294: + lda GameState ; CPU:$C788 PRG:4788 A5 36 + and #$20 ; CPU:$C78A PRG:478A 29 20 + bne Sub_Loop295 ; CPU:$C78C PRG:478C D0 15 + lda $C7E1,x ; CPU:$C78E PRG:478E BD E1 C7 + tay ; CPU:$C791 PRG:4791 A8 + cpx #$07 ; CPU:$C792 PRG:4792 E0 07 + bne Sub_Loop296 ; CPU:$C794 PRG:4794 D0 2A + lda GameState ; CPU:$C796 PRG:4796 A5 36 + and #$40 ; CPU:$C798 PRG:4798 29 40 + beq Sub_Loop296 ; CPU:$C79A PRG:479A F0 24 + ldx #$04 ; CPU:$C79C PRG:479C A2 04 + ldy #$08 ; CPU:$C79E PRG:479E A0 08 + jmp Sub_C7B5 ; CPU:$C7A0 PRG:47A0 4C B5 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop295 +; Global: Branch target inside Sub: taken when Loop295. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop295: + lda $C7E9,x ; CPU:$C7A3 PRG:47A3 BD E9 C7 + tay ; CPU:$C7A6 PRG:47A6 A8 + cpx #$07 ; CPU:$C7A7 PRG:47A7 E0 07 + bne Sub_Loop296 ; CPU:$C7A9 PRG:47A9 D0 15 + lda GameState ; CPU:$C7AB PRG:47AB A5 36 + and #$40 ; CPU:$C7AD PRG:47AD 29 40 + bne Sub_Loop296 ; CPU:$C7AF PRG:47AF D0 0F + ldx #$03 ; CPU:$C7B1 PRG:47B1 A2 03 + ldy #$09 ; CPU:$C7B3 PRG:47B3 A0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7B5 +; Global: Branch target inside Sub: taken when C7B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7B5: + sty Zp9B ; CPU:$C7B5 PRG:47B5 84 9B + stx Zp9C ; CPU:$C7B7 PRG:47B7 86 9C + lda #$07 ; CPU:$C7B9 PRG:47B9 A9 07 + sta Zp1B ; CPU:$C7BB PRG:47BB 85 1B + jmp Sub_C7C2 ; CPU:$C7BD PRG:47BD 4C C2 C7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop296 +; Global: Branch target inside Sub: taken when Loop296. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop296: + sty Zp1B ; CPU:$C7C0 PRG:47C0 84 1B +; ----------------------------------------------------------------------------- +; Routine: Sub_C7C2 +; Global: Branch target inside Sub: taken when C7C2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7C2: + lda Zp37 ; CPU:$C7C2 PRG:47C2 A5 37 + and #$E0 ; CPU:$C7C4 PRG:47C4 29 E0 + ora Zp1B ; CPU:$C7C6 PRG:47C6 05 1B + sta Zp37 ; CPU:$C7C8 PRG:47C8 85 37 + lda PlayerState ; CPU:$C7CA PRG:47CA A5 1A + sta Zp3A ; CPU:$C7CC PRG:47CC 85 3A + dec Zp38 ; CPU:$C7CE PRG:47CE C6 38 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7D0 +; Global: Branch target inside Sub: taken when C7D0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7D0: + rts ; CPU:$C7D0 PRG:47D0 60 +; ---- data $C7D1-$C7F8 (40 bytes) ---- +; referenced by `lda $C7F1,x` at $C74B (operand $C7F1 falls inside this region) +; referenced by `lda $C7D1,x` at $C75E (operand $C7D1 falls inside this region) +; referenced by `lda $C7D9,x` at $C773 (operand $C7D9 falls inside this region) +; referenced by `lda $C7E1,x` at $C78E (operand $C7E1 falls inside this region) +; referenced by `lda $C7E9,x` at $C7A3 (operand $C7E9 falls inside this region) + .byte $02, $01, $00, $04, $03, $06, $05, $05, $01, $00, $05, $03, $06, $02, $04, $04 ; CPU:$C7D1 PRG:47D1 02 01 00 04 03 06 05 05 01 00 05 03 06 02 04 04 + .byte $00, $01, $02, $03, $04, $05, $06, $06, $00, $02, $01, $04, $03, $05, $06, $06 ; CPU:$C7E1 PRG:47E1 00 01 02 03 04 05 06 06 00 02 01 04 03 05 06 06 + .byte $00, $00, $00, $00, $04, $04, $04, $0C ; CPU:$C7F1 PRG:47F1 00 00 00 00 04 04 04 0C +; ----------------------------------------------------------------------------- +; Routine: Sub_C7F9 +; Global: Branch target inside Sub: taken when C7F9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7F9: + rts ; CPU:$C7F9 PRG:47F9 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_C7FA +; Global: Branch target inside Sub: taken when C7FA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C7FA: + ldx WrestlerIndex ; CPU:$C7FA PRG:47FA A6 85 + lda PlayerX,x ; CPU:$C7FC PRG:47FC B5 33 + sta Zp95 ; CPU:$C7FE PRG:47FE 85 95 + lda PlayerY,x ; CPU:$C800 PRG:4800 B5 34 + sta SpriteX ; CPU:$C802 PRG:4802 85 96 + ldx WrestlerIndex2 ; CPU:$C804 PRG:4804 A6 86 + lda PlayerX,x ; CPU:$C806 PRG:4806 B5 33 + sta Zp97 ; CPU:$C808 PRG:4808 85 97 + lda PlayerY,x ; CPU:$C80A PRG:480A B5 34 + sta SpriteY ; CPU:$C80C PRG:480C 85 98 + lda #$00 ; CPU:$C80E PRG:480E A9 00 + sta Zp1C ; CPU:$C810 PRG:4810 85 1C + lda Zp3B ; CPU:$C812 PRG:4812 A5 3B + and #$20 ; CPU:$C814 PRG:4814 29 20 + beq Sub_Loop297 ; CPU:$C816 PRG:4816 F0 04 + lda #$FF ; CPU:$C818 PRG:4818 A9 FF + sta Zp1C ; CPU:$C81A PRG:481A 85 1C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop297 +; Global: Branch target inside Sub: taken when Loop297. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop297: + lda #$00 ; CPU:$C81C PRG:481C A9 00 + sta Zp1D ; CPU:$C81E PRG:481E 85 1D + lda Zp3B ; CPU:$C820 PRG:4820 A5 3B + and #$40 ; CPU:$C822 PRG:4822 29 40 + beq Sub_Loop298 ; CPU:$C824 PRG:4824 F0 04 + lda #$FF ; CPU:$C826 PRG:4826 A9 FF + sta Zp1D ; CPU:$C828 PRG:4828 85 1D +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop298 +; Global: Branch target inside Sub: taken when Loop298. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop298: + lda Zp3B ; CPU:$C82A PRG:482A A5 3B + and #$1F ; CPU:$C82C PRG:482C 29 1F + sta Zp21 ; CPU:$C82E PRG:482E 85 21 + asl a ; CPU:$C830 PRG:4830 0A + tax ; CPU:$C831 PRG:4831 AA + lda $D490,x ; CPU:$C832 PRG:4832 BD 90 D4 + sta Zp22 ; CPU:$C835 PRG:4835 85 22 + lda $D491,x ; CPU:$C837 PRG:4837 BD 91 D4 + sta Zp23 ; CPU:$C83A PRG:483A 85 23 + jmp (Zp22) ; CPU:$C83C PRG:483C 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C83F +; Global: Branch target inside Label: taken when C83F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C83F: + lda Zp3C ; CPU:$C83F PRG:483F A5 3C + cmp #$01 ; CPU:$C841 PRG:4841 C9 01 + beq Sub_Loop299 ; CPU:$C843 PRG:4843 F0 06 + jsr Sub_D438 ; CPU:$C845 PRG:4845 20 38 D4 + jmp Sub_CAC9 ; CPU:$C848 PRG:4848 4C C9 CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop299 +; Global: Branch target inside Sub: taken when Loop299. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop299: + lda Zp3D ; CPU:$C84B PRG:484B A5 3D + beq Sub_Loop300 ; CPU:$C84D PRG:484D F0 03 + jmp Sub_D2FF ; CPU:$C84F PRG:484F 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop300 +; Global: Branch target inside Sub: taken when Loop300. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop300: + lda #$00 ; CPU:$C852 PRG:4852 A9 00 + sta Zp9F ; CPU:$C854 PRG:4854 85 9F + lda Zp1C ; CPU:$C856 PRG:4856 A5 1C + bne Sub_Loop304 ; CPU:$C858 PRG:4858 D0 3F + lda Zp97 ; CPU:$C85A PRG:485A A5 97 + clc ; CPU:$C85C PRG:485C 18 + adc #$18 ; CPU:$C85D PRG:485D 69 18 + sta Zp97 ; CPU:$C85F PRG:485F 85 97 + lda GameState ; CPU:$C861 PRG:4861 A5 36 + bpl Sub_Loop302 ; CPU:$C863 PRG:4863 10 20 + ldx SpriteX ; CPU:$C865 PRG:4865 A6 96 + lda Zp1D ; CPU:$C867 PRG:4867 A5 1D + bne Sub_Loop301 ; CPU:$C869 PRG:4869 D0 0B + cpx #$C8 ; CPU:$C86B PRG:486B E0 C8 + bcc Sub_Loop302 ; CPU:$C86D PRG:486D 90 16 + lda #$E8 ; CPU:$C86F PRG:486F A9 E8 + ldy #$E0 ; CPU:$C871 PRG:4871 A0 E0 + jmp Sub_C87E ; CPU:$C873 PRG:4873 4C 7E C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop301 +; Global: Branch target inside Sub: taken when Loop301. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop301: + cpx #$20 ; CPU:$C876 PRG:4876 E0 20 + bcs Sub_Loop302 ; CPU:$C878 PRG:4878 B0 0B + lda #$08 ; CPU:$C87A PRG:487A A9 08 + ldy #$10 ; CPU:$C87C PRG:487C A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C87E +; Global: Branch target inside Sub: taken when C87E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C87E: + sta SpriteY ; CPU:$C87E PRG:487E 85 98 + sty SpriteX ; CPU:$C880 PRG:4880 84 96 + jmp Sub_C8D5 ; CPU:$C882 PRG:4882 4C D5 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop302 +; Global: Branch target inside Sub: taken when Loop302. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop302: + lda #$18 ; CPU:$C885 PRG:4885 A9 18 + ldx Zp1D ; CPU:$C887 PRG:4887 A6 1D + beq Sub_Loop303 ; CPU:$C889 PRG:4889 F0 02 + eor #$FF ; CPU:$C88B PRG:488B 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop303 +; Global: Branch target inside Sub: taken when Loop303. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop303: + sta Zp1E ; CPU:$C88D PRG:488D 85 1E + lda SpriteY ; CPU:$C88F PRG:488F A5 98 + clc ; CPU:$C891 PRG:4891 18 + adc Zp1E ; CPU:$C892 PRG:4892 65 1E + sta SpriteY ; CPU:$C894 PRG:4894 85 98 + jmp Sub_C8D5 ; CPU:$C896 PRG:4896 4C D5 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop304 +; Global: Branch target inside Sub: taken when Loop304. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop304: + lda Zp95 ; CPU:$C899 PRG:4899 A5 95 + clc ; CPU:$C89B PRG:489B 18 + adc #$18 ; CPU:$C89C PRG:489C 69 18 + sta Zp95 ; CPU:$C89E PRG:489E 85 95 + lda GameState ; CPU:$C8A0 PRG:48A0 A5 36 + bpl Sub_Loop306 ; CPU:$C8A2 PRG:48A2 10 20 + ldx SpriteY ; CPU:$C8A4 PRG:48A4 A6 98 + lda Zp1D ; CPU:$C8A6 PRG:48A6 A5 1D + beq Sub_Loop305 ; CPU:$C8A8 PRG:48A8 F0 0B + cpx #$C8 ; CPU:$C8AA PRG:48AA E0 C8 + bcc Sub_Loop306 ; CPU:$C8AC PRG:48AC 90 16 + lda #$E8 ; CPU:$C8AE PRG:48AE A9 E8 + ldy #$E0 ; CPU:$C8B0 PRG:48B0 A0 E0 + jmp Sub_C8BD ; CPU:$C8B2 PRG:48B2 4C BD C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop305 +; Global: Branch target inside Sub: taken when Loop305. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop305: + cpx #$20 ; CPU:$C8B5 PRG:48B5 E0 20 + bcs Sub_Loop306 ; CPU:$C8B7 PRG:48B7 B0 0B + lda #$08 ; CPU:$C8B9 PRG:48B9 A9 08 + ldy #$10 ; CPU:$C8BB PRG:48BB A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C8BD +; Global: Branch target inside Sub: taken when C8BD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C8BD: + sta SpriteX ; CPU:$C8BD PRG:48BD 85 96 + sty SpriteY ; CPU:$C8BF PRG:48BF 84 98 + jmp Sub_C8D5 ; CPU:$C8C1 PRG:48C1 4C D5 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop306 +; Global: Branch target inside Sub: taken when Loop306. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop306: + lda #$18 ; CPU:$C8C4 PRG:48C4 A9 18 + ldx Zp1D ; CPU:$C8C6 PRG:48C6 A6 1D + beq Sub_Loop307 ; CPU:$C8C8 PRG:48C8 F0 02 + eor #$FF ; CPU:$C8CA PRG:48CA 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop307 +; Global: Branch target inside Sub: taken when Loop307. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop307: + sta Zp1E ; CPU:$C8CC PRG:48CC 85 1E + lda SpriteX ; CPU:$C8CE PRG:48CE A5 96 + sec ; CPU:$C8D0 PRG:48D0 38 + sbc Zp1E ; CPU:$C8D1 PRG:48D1 E5 1E + sta SpriteX ; CPU:$C8D3 PRG:48D3 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_C8D5 +; Global: Branch target inside Sub: taken when C8D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C8D5: + lda #$04 ; CPU:$C8D5 PRG:48D5 A9 04 + jsr Sub_F036 ; CPU:$C8D7 PRG:48D7 20 36 F0 + jmp Sub_D18E ; CPU:$C8DA PRG:48DA 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_C8DD +; Global: Branch target inside Label: taken when C8DD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C8DD: + jmp Sub_CC08 ; CPU:$C8DD PRG:48DD 4C 08 CC +; ----------------------------------------------------------------------------- +; Routine: Label_C8E0 +; Global: Branch target inside Label: taken when C8E0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_C8E0: + lda Zp3C ; CPU:$C8E0 PRG:48E0 A5 3C + cmp #$01 ; CPU:$C8E2 PRG:48E2 C9 01 + beq Sub_Loop309 ; CPU:$C8E4 PRG:48E4 F0 16 + cmp #$02 ; CPU:$C8E6 PRG:48E6 C9 02 + beq Sub_Loop311 ; CPU:$C8E8 PRG:48E8 F0 25 + cmp #$05 ; CPU:$C8EA PRG:48EA C9 05 + bne Sub_Loop308 ; CPU:$C8EC PRG:48EC D0 03 + jmp Sub_C99C ; CPU:$C8EE PRG:48EE 4C 9C C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop308 +; Global: Branch target inside Sub: taken when Loop308. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop308: + jsr Sub_D333 ; CPU:$C8F1 PRG:48F1 20 33 D3 + lda #$05 ; CPU:$C8F4 PRG:48F4 A9 05 + jsr Sub_F03D ; CPU:$C8F6 PRG:48F6 20 3D F0 + jmp Sub_D2E2 ; CPU:$C8F9 PRG:48F9 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop309 +; Global: Branch target inside Sub: taken when Loop309. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop309: + lda Zp3D ; CPU:$C8FC PRG:48FC A5 3D + beq Sub_Loop310 ; CPU:$C8FE PRG:48FE F0 03 + jmp Sub_D2FF ; CPU:$C900 PRG:4900 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop310 +; Global: Branch target inside Sub: taken when Loop310. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop310: + jsr Sub_D35D ; CPU:$C903 PRG:4903 20 5D D3 + lda #$00 ; CPU:$C906 PRG:4906 A9 00 + sta Zp9D ; CPU:$C908 PRG:4908 85 9D + sta Zp9E ; CPU:$C90A PRG:490A 85 9E + jmp Sub_D2E2 ; CPU:$C90C PRG:490C 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop311 +; Global: Branch target inside Sub: taken when Loop311. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop311: + lda Zp9D ; CPU:$C90F PRG:490F A5 9D + and #$C0 ; CPU:$C911 PRG:4911 29 C0 + cmp #$40 ; CPU:$C913 PRG:4913 C9 40 + beq Sub_Loop312 ; CPU:$C915 PRG:4915 F0 17 + cmp #$80 ; CPU:$C917 PRG:4917 C9 80 + beq Sub_Loop314 ; CPU:$C919 PRG:4919 F0 28 + jsr Sub_D387 ; CPU:$C91B PRG:491B 20 87 D3 + cmp #$00 ; CPU:$C91E PRG:491E C9 00 + beq Sub_Loop315 ; CPU:$C920 PRG:4920 F0 2D + lda #$60 ; CPU:$C922 PRG:4922 A9 60 + sta Zp9D ; CPU:$C924 PRG:4924 85 9D + lda #$03 ; CPU:$C926 PRG:4926 A9 03 + jsr Sub_F036 ; CPU:$C928 PRG:4928 20 36 F0 + jmp Sub_Loop315 ; CPU:$C92B PRG:492B 4C 4F C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop312 +; Global: Branch target inside Sub: taken when Loop312. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop312: + dec Zp9D ; CPU:$C92E PRG:492E C6 9D + lda Zp9D ; CPU:$C930 PRG:4930 A5 9D + and #$3F ; CPU:$C932 PRG:4932 29 3F + beq Sub_Loop313 ; CPU:$C934 PRG:4934 F0 03 + jmp Sub_Loop315 ; CPU:$C936 PRG:4936 4C 4F C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop313 +; Global: Branch target inside Sub: taken when Loop313. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop313: + lda #$80 ; CPU:$C939 PRG:4939 A9 80 + sta Zp9D ; CPU:$C93B PRG:493B 85 9D + jsr Sub_D438 ; CPU:$C93D PRG:493D 20 38 D4 + jmp Sub_Loop315 ; CPU:$C940 PRG:4940 4C 4F C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop314 +; Global: Branch target inside Sub: taken when Loop314. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop314: + lda #$00 ; CPU:$C943 PRG:4943 A9 00 + jsr Sub_D3F3 ; CPU:$C945 PRG:4945 20 F3 D3 + cmp #$00 ; CPU:$C948 PRG:4948 C9 00 + beq Sub_Loop315 ; CPU:$C94A PRG:494A F0 03 + jmp Sub_C989 ; CPU:$C94C PRG:494C 4C 89 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop315 +; Global: Branch target inside Sub: taken when Loop315. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop315: + lda Zp9E ; CPU:$C94F PRG:494F A5 9E + and #$C0 ; CPU:$C951 PRG:4951 29 C0 + cmp #$40 ; CPU:$C953 PRG:4953 C9 40 + beq Sub_Loop316 ; CPU:$C955 PRG:4955 F0 17 + cmp #$80 ; CPU:$C957 PRG:4957 C9 80 + beq Sub_Loop318 ; CPU:$C959 PRG:4959 F0 25 + jsr Sub_D3BD ; CPU:$C95B PRG:495B 20 BD D3 + cmp #$00 ; CPU:$C95E PRG:495E C9 00 + beq Sub_Loop319 ; CPU:$C960 PRG:4960 F0 37 + lda #$60 ; CPU:$C962 PRG:4962 A9 60 + sta Zp9E ; CPU:$C964 PRG:4964 85 9E + lda #$03 ; CPU:$C966 PRG:4966 A9 03 + jsr Sub_F036 ; CPU:$C968 PRG:4968 20 36 F0 + jmp Sub_Loop319 ; CPU:$C96B PRG:496B 4C 99 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop316 +; Global: Branch target inside Sub: taken when Loop316. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop316: + dec Zp9E ; CPU:$C96E PRG:496E C6 9E + lda Zp9E ; CPU:$C970 PRG:4970 A5 9E + and #$3F ; CPU:$C972 PRG:4972 29 3F + beq Sub_Loop317 ; CPU:$C974 PRG:4974 F0 03 + jmp Sub_Loop319 ; CPU:$C976 PRG:4976 4C 99 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop317 +; Global: Branch target inside Sub: taken when Loop317. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop317: + lda #$80 ; CPU:$C979 PRG:4979 A9 80 + sta Zp9E ; CPU:$C97B PRG:497B 85 9E + jmp Sub_Loop319 ; CPU:$C97D PRG:497D 4C 99 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop318 +; Global: Branch target inside Sub: taken when Loop318. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop318: + lda #$01 ; CPU:$C980 PRG:4980 A9 01 + jsr Sub_D3F3 ; CPU:$C982 PRG:4982 20 F3 D3 + cmp #$00 ; CPU:$C985 PRG:4985 C9 00 + beq Sub_Loop319 ; CPU:$C987 PRG:4987 F0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_C989 +; Global: Branch target inside Sub: taken when C989. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C989: + lda #$05 ; CPU:$C989 PRG:4989 A9 05 + sta Zp3C ; CPU:$C98B PRG:498B 85 3C + lda #$20 ; CPU:$C98D PRG:498D A9 20 + sta Zp3D ; CPU:$C98F PRG:498F 85 3D + jsr Sub_D438 ; CPU:$C991 PRG:4991 20 38 D4 + lda #$02 ; CPU:$C994 PRG:4994 A9 02 + jsr Sub_F036 ; CPU:$C996 PRG:4996 20 36 F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop319 +; Global: Branch target inside Sub: taken when Loop319. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop319: + jmp Sub_D2E8 ; CPU:$C999 PRG:4999 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_C99C +; Global: Branch target inside Sub: taken when C99C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_C99C: + lda Zp21 ; CPU:$C99C PRG:499C A5 21 + cmp #$03 ; CPU:$C99E PRG:499E C9 03 + beq Sub_Loop323 ; CPU:$C9A0 PRG:49A0 F0 4C + lda Zp3D ; CPU:$C9A2 PRG:49A2 A5 3D + beq Sub_Loop320 ; CPU:$C9A4 PRG:49A4 F0 03 + jmp Sub_D2FF ; CPU:$C9A6 PRG:49A6 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop320 +; Global: Branch target inside Sub: taken when Loop320. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop320: + lda #$00 ; CPU:$C9A9 PRG:49A9 A9 00 + sta Zp9F ; CPU:$C9AB PRG:49AB 85 9F + lda Zp1C ; CPU:$C9AD PRG:49AD A5 1C + bne Sub_Loop321 ; CPU:$C9AF PRG:49AF D0 1C + lda Zp97 ; CPU:$C9B1 PRG:49B1 A5 97 + clc ; CPU:$C9B3 PRG:49B3 18 + adc #$10 ; CPU:$C9B4 PRG:49B4 69 10 + sta Zp97 ; CPU:$C9B6 PRG:49B6 85 97 + lda SpriteY ; CPU:$C9B8 PRG:49B8 A5 98 + clc ; CPU:$C9BA PRG:49BA 18 + adc #$10 ; CPU:$C9BB PRG:49BB 69 10 + sta SpriteY ; CPU:$C9BD PRG:49BD 85 98 + lda Zp1D ; CPU:$C9BF PRG:49BF A5 1D + beq Sub_Loop322 ; CPU:$C9C1 PRG:49C1 F0 23 + lda SpriteY ; CPU:$C9C3 PRG:49C3 A5 98 + sec ; CPU:$C9C5 PRG:49C5 38 + sbc #$20 ; CPU:$C9C6 PRG:49C6 E9 20 + sta SpriteY ; CPU:$C9C8 PRG:49C8 85 98 + jmp Sub_Loop322 ; CPU:$C9CA PRG:49CA 4C E6 C9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop321 +; Global: Branch target inside Sub: taken when Loop321. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop321: + lda Zp95 ; CPU:$C9CD PRG:49CD A5 95 + clc ; CPU:$C9CF PRG:49CF 18 + adc #$10 ; CPU:$C9D0 PRG:49D0 69 10 + sta Zp95 ; CPU:$C9D2 PRG:49D2 85 95 + lda SpriteX ; CPU:$C9D4 PRG:49D4 A5 96 + sec ; CPU:$C9D6 PRG:49D6 38 + sbc #$10 ; CPU:$C9D7 PRG:49D7 E9 10 + sta SpriteX ; CPU:$C9D9 PRG:49D9 85 96 + lda Zp1D ; CPU:$C9DB PRG:49DB A5 1D + beq Sub_Loop322 ; CPU:$C9DD PRG:49DD F0 07 + lda SpriteX ; CPU:$C9DF PRG:49DF A5 96 + clc ; CPU:$C9E1 PRG:49E1 18 + adc #$20 ; CPU:$C9E2 PRG:49E2 69 20 + sta SpriteX ; CPU:$C9E4 PRG:49E4 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop322 +; Global: Branch target inside Sub: taken when Loop322. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop322: + lda #$04 ; CPU:$C9E6 PRG:49E6 A9 04 + jsr Sub_F036 ; CPU:$C9E8 PRG:49E8 20 36 F0 + jmp Sub_D18E ; CPU:$C9EB PRG:49EB 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop323 +; Global: Branch target inside Sub: taken when Loop323. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop323: + lda Zp3D ; CPU:$C9EE PRG:49EE A5 3D + beq Sub_Loop324 ; CPU:$C9F0 PRG:49F0 F0 03 + jmp Sub_D2FF ; CPU:$C9F2 PRG:49F2 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop324 +; Global: Branch target inside Sub: taken when Loop324. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop324: + lda #$00 ; CPU:$C9F5 PRG:49F5 A9 00 + sta Zp9F ; CPU:$C9F7 PRG:49F7 85 9F + lda Zp95 ; CPU:$C9F9 PRG:49F9 A5 95 + clc ; CPU:$C9FB PRG:49FB 18 + adc #$10 ; CPU:$C9FC PRG:49FC 69 10 + sta Zp95 ; CPU:$C9FE PRG:49FE 85 95 + sta Zp97 ; CPU:$CA00 PRG:4A00 85 97 + lda Zp1C ; CPU:$CA02 PRG:4A02 A5 1C + bne Sub_Loop325 ; CPU:$CA04 PRG:4A04 D0 15 + lda SpriteY ; CPU:$CA06 PRG:4A06 A5 98 + clc ; CPU:$CA08 PRG:4A08 18 + adc #$10 ; CPU:$CA09 PRG:4A09 69 10 + sta SpriteY ; CPU:$CA0B PRG:4A0B 85 98 + lda Zp1D ; CPU:$CA0D PRG:4A0D A5 1D + beq Sub_Loop326 ; CPU:$CA0F PRG:4A0F F0 1C + lda SpriteY ; CPU:$CA11 PRG:4A11 A5 98 + sec ; CPU:$CA13 PRG:4A13 38 + sbc #$20 ; CPU:$CA14 PRG:4A14 E9 20 + sta SpriteY ; CPU:$CA16 PRG:4A16 85 98 + jmp Sub_Loop326 ; CPU:$CA18 PRG:4A18 4C 2D CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop325 +; Global: Branch target inside Sub: taken when Loop325. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop325: + lda SpriteX ; CPU:$CA1B PRG:4A1B A5 96 + sec ; CPU:$CA1D PRG:4A1D 38 + sbc #$10 ; CPU:$CA1E PRG:4A1E E9 10 + sta SpriteX ; CPU:$CA20 PRG:4A20 85 96 + lda Zp1D ; CPU:$CA22 PRG:4A22 A5 1D + beq Sub_Loop326 ; CPU:$CA24 PRG:4A24 F0 07 + lda SpriteX ; CPU:$CA26 PRG:4A26 A5 96 + clc ; CPU:$CA28 PRG:4A28 18 + adc #$20 ; CPU:$CA29 PRG:4A29 69 20 + sta SpriteX ; CPU:$CA2B PRG:4A2B 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop326 +; Global: Branch target inside Sub: taken when Loop326. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop326: + lda #$04 ; CPU:$CA2D PRG:4A2D A9 04 + jsr Sub_F036 ; CPU:$CA2F PRG:4A2F 20 36 F0 + jmp Sub_D18E ; CPU:$CA32 PRG:4A32 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_CA35 +; Global: Branch target inside Label: taken when CA35. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CA35: + lda Zp3C ; CPU:$CA35 PRG:4A35 A5 3C + cmp #$01 ; CPU:$CA37 PRG:4A37 C9 01 + beq Sub_Loop327 ; CPU:$CA39 PRG:4A39 F0 07 + cmp #$02 ; CPU:$CA3B PRG:4A3B C9 02 + beq Sub_Loop330 ; CPU:$CA3D PRG:4A3D F0 39 + jmp Sub_CA81 ; CPU:$CA3F PRG:4A3F 4C 81 CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop327 +; Global: Branch target inside Sub: taken when Loop327. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop327: + lda Zp3D ; CPU:$CA42 PRG:4A42 A5 3D + beq Sub_Loop328 ; CPU:$CA44 PRG:4A44 F0 03 + jmp Sub_D2FF ; CPU:$CA46 PRG:4A46 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop328 +; Global: Branch target inside Sub: taken when Loop328. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop328: + jsr Sub_D438 ; CPU:$CA49 PRG:4A49 20 38 D4 + lda Zp1C ; CPU:$CA4C PRG:4A4C A5 1C + bne Sub_Loop329 ; CPU:$CA4E PRG:4A4E D0 13 + lda SpriteX ; CPU:$CA50 PRG:4A50 A5 96 + sta SpriteY ; CPU:$CA52 PRG:4A52 85 98 + lda Zp95 ; CPU:$CA54 PRG:4A54 A5 95 + sec ; CPU:$CA56 PRG:4A56 38 + sbc #$30 ; CPU:$CA57 PRG:4A57 E9 30 + sta Zp95 ; CPU:$CA59 PRG:4A59 85 95 + sec ; CPU:$CA5B PRG:4A5B 38 + sbc #$08 ; CPU:$CA5C PRG:4A5C E9 08 + sta Zp97 ; CPU:$CA5E PRG:4A5E 85 97 + jmp Sub_CA73 ; CPU:$CA60 PRG:4A60 4C 73 CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop329 +; Global: Branch target inside Sub: taken when Loop329. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop329: + lda SpriteY ; CPU:$CA63 PRG:4A63 A5 98 + sta SpriteX ; CPU:$CA65 PRG:4A65 85 96 + lda Zp97 ; CPU:$CA67 PRG:4A67 A5 97 + sec ; CPU:$CA69 PRG:4A69 38 + sbc #$30 ; CPU:$CA6A PRG:4A6A E9 30 + sta Zp97 ; CPU:$CA6C PRG:4A6C 85 97 + sec ; CPU:$CA6E PRG:4A6E 38 + sbc #$08 ; CPU:$CA6F PRG:4A6F E9 08 + sta Zp95 ; CPU:$CA71 PRG:4A71 85 95 +; ----------------------------------------------------------------------------- +; Routine: Sub_CA73 +; Global: Branch target inside Sub: taken when CA73. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA73: + lda #$10 ; CPU:$CA73 PRG:4A73 A9 10 + jmp Sub_D2E4 ; CPU:$CA75 PRG:4A75 4C E4 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop330 +; Global: Branch target inside Sub: taken when Loop330. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop330: + jmp Sub_Loop379 ; CPU:$CA78 PRG:4A78 4C 7F CD +; ----------------------------------------------------------------------------- +; Routine: Label_CA7B +; Global: Branch target inside Label: taken when CA7B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CA7B: + lda Zp3C ; CPU:$CA7B PRG:4A7B A5 3C + cmp #$01 ; CPU:$CA7D PRG:4A7D C9 01 + beq Sub_Loop334 ; CPU:$CA7F PRG:4A7F F0 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_CA81 +; Global: Branch target inside Sub: taken when CA81. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CA81: + lda Zp1C ; CPU:$CA81 PRG:4A81 A5 1C + bne Sub_Loop332 ; CPU:$CA83 PRG:4A83 D0 1B + lda Zp95 ; CPU:$CA85 PRG:4A85 A5 95 + sec ; CPU:$CA87 PRG:4A87 38 + sbc #$08 ; CPU:$CA88 PRG:4A88 E9 08 + sta Zp97 ; CPU:$CA8A PRG:4A8A 85 97 + lda #$08 ; CPU:$CA8C PRG:4A8C A9 08 + ldx Zp1D ; CPU:$CA8E PRG:4A8E A6 1D + beq Sub_Loop331 ; CPU:$CA90 PRG:4A90 F0 02 + eor #$FF ; CPU:$CA92 PRG:4A92 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop331 +; Global: Branch target inside Sub: taken when Loop331. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop331: + sta Zp1E ; CPU:$CA94 PRG:4A94 85 1E + lda SpriteX ; CPU:$CA96 PRG:4A96 A5 96 + sec ; CPU:$CA98 PRG:4A98 38 + sbc Zp1E ; CPU:$CA99 PRG:4A99 E5 1E + sta SpriteY ; CPU:$CA9B PRG:4A9B 85 98 + jmp Sub_CAB8 ; CPU:$CA9D PRG:4A9D 4C B8 CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop332 +; Global: Branch target inside Sub: taken when Loop332. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop332: + lda Zp97 ; CPU:$CAA0 PRG:4AA0 A5 97 + sec ; CPU:$CAA2 PRG:4AA2 38 + sbc #$08 ; CPU:$CAA3 PRG:4AA3 E9 08 + sta Zp95 ; CPU:$CAA5 PRG:4AA5 85 95 + lda #$08 ; CPU:$CAA7 PRG:4AA7 A9 08 + ldx Zp1D ; CPU:$CAA9 PRG:4AA9 A6 1D + beq Sub_Loop333 ; CPU:$CAAB PRG:4AAB F0 02 + eor #$FF ; CPU:$CAAD PRG:4AAD 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop333 +; Global: Branch target inside Sub: taken when Loop333. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop333: + sta Zp1E ; CPU:$CAAF PRG:4AAF 85 1E + lda SpriteY ; CPU:$CAB1 PRG:4AB1 A5 98 + clc ; CPU:$CAB3 PRG:4AB3 18 + adc Zp1E ; CPU:$CAB4 PRG:4AB4 65 1E + sta SpriteX ; CPU:$CAB6 PRG:4AB6 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAB8 +; Global: Branch target inside Sub: taken when CAB8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAB8: + lda #$05 ; CPU:$CAB8 PRG:4AB8 A9 05 + jsr Sub_F03D ; CPU:$CABA PRG:4ABA 20 3D F0 + jmp Sub_D2E2 ; CPU:$CABD PRG:4ABD 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop334 +; Global: Branch target inside Sub: taken when Loop334. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop334: + jmp Sub_Loop392 ; CPU:$CAC0 PRG:4AC0 4C 8C CE +; ----------------------------------------------------------------------------- +; Routine: Label_CAC3 +; Global: Branch target inside Label: taken when CAC3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CAC3: + lda Zp3C ; CPU:$CAC3 PRG:4AC3 A5 3C + cmp #$01 ; CPU:$CAC5 PRG:4AC5 C9 01 + beq Sub_Loop336 ; CPU:$CAC7 PRG:4AC7 F0 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAC9 +; Global: Branch target inside Sub: taken when CAC9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAC9: + jsr Sub_D438 ; CPU:$CAC9 PRG:4AC9 20 38 D4 + lda Zp1C ; CPU:$CACC PRG:4ACC A5 1C + bne Sub_Loop335 ; CPU:$CACE PRG:4ACE D0 0E + lda Zp95 ; CPU:$CAD0 PRG:4AD0 A5 95 + sec ; CPU:$CAD2 PRG:4AD2 38 + sbc #$08 ; CPU:$CAD3 PRG:4AD3 E9 08 + sta Zp97 ; CPU:$CAD5 PRG:4AD5 85 97 + lda SpriteX ; CPU:$CAD7 PRG:4AD7 A5 96 + sta SpriteY ; CPU:$CAD9 PRG:4AD9 85 98 + jmp Sub_CAE9 ; CPU:$CADB PRG:4ADB 4C E9 CA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop335 +; Global: Branch target inside Sub: taken when Loop335. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop335: + lda Zp97 ; CPU:$CADE PRG:4ADE A5 97 + sec ; CPU:$CAE0 PRG:4AE0 38 + sbc #$08 ; CPU:$CAE1 PRG:4AE1 E9 08 + sta Zp95 ; CPU:$CAE3 PRG:4AE3 85 95 + lda SpriteY ; CPU:$CAE5 PRG:4AE5 A5 98 + sta SpriteX ; CPU:$CAE7 PRG:4AE7 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CAE9 +; Global: Branch target inside Sub: taken when CAE9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CAE9: + lda #$05 ; CPU:$CAE9 PRG:4AE9 A9 05 + jsr Sub_F03D ; CPU:$CAEB PRG:4AEB 20 3D F0 + jmp Sub_D2E2 ; CPU:$CAEE PRG:4AEE 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop336 +; Global: Branch target inside Sub: taken when Loop336. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop336: + jmp Sub_Loop392 ; CPU:$CAF1 PRG:4AF1 4C 8C CE +; ----------------------------------------------------------------------------- +; Routine: Label_CAF4 +; Global: Branch target inside Label: taken when CAF4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CAF4: + lda Zp3C ; CPU:$CAF4 PRG:4AF4 A5 3C + cmp #$01 ; CPU:$CAF6 PRG:4AF6 C9 01 + beq Sub_Loop340 ; CPU:$CAF8 PRG:4AF8 F0 32 + cmp #$02 ; CPU:$CAFA PRG:4AFA C9 02 + beq Sub_Loop342 ; CPU:$CAFC PRG:4AFC F0 3F + lda Zp1C ; CPU:$CAFE PRG:4AFE A5 1C + bne Sub_Loop338 ; CPU:$CB00 PRG:4B00 D0 14 + lda #$10 ; CPU:$CB02 PRG:4B02 A9 10 + ldx Zp1D ; CPU:$CB04 PRG:4B04 A6 1D + beq Sub_Loop337 ; CPU:$CB06 PRG:4B06 F0 02 + eor #$FF ; CPU:$CB08 PRG:4B08 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop337 +; Global: Branch target inside Sub: taken when Loop337. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop337: + sta Zp1E ; CPU:$CB0A PRG:4B0A 85 1E + lda SpriteY ; CPU:$CB0C PRG:4B0C A5 98 + clc ; CPU:$CB0E PRG:4B0E 18 + adc Zp1E ; CPU:$CB0F PRG:4B0F 65 1E + sta SpriteX ; CPU:$CB11 PRG:4B11 85 96 + jmp Sub_CB27 ; CPU:$CB13 PRG:4B13 4C 27 CB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop338 +; Global: Branch target inside Sub: taken when Loop338. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop338: + lda #$10 ; CPU:$CB16 PRG:4B16 A9 10 + ldx Zp1D ; CPU:$CB18 PRG:4B18 A6 1D + beq Sub_Loop339 ; CPU:$CB1A PRG:4B1A F0 02 + eor #$FF ; CPU:$CB1C PRG:4B1C 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop339 +; Global: Branch target inside Sub: taken when Loop339. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop339: + sta Zp1E ; CPU:$CB1E PRG:4B1E 85 1E + lda SpriteX ; CPU:$CB20 PRG:4B20 A5 96 + sec ; CPU:$CB22 PRG:4B22 38 + sbc Zp1E ; CPU:$CB23 PRG:4B23 E5 1E + sta SpriteY ; CPU:$CB25 PRG:4B25 85 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB27 +; Global: Branch target inside Sub: taken when CB27. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB27: + lda #$10 ; CPU:$CB27 PRG:4B27 A9 10 + jmp Sub_D2E4 ; CPU:$CB29 PRG:4B29 4C E4 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop340 +; Global: Branch target inside Sub: taken when Loop340. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop340: + lda Zp3D ; CPU:$CB2C PRG:4B2C A5 3D + beq Sub_Loop341 ; CPU:$CB2E PRG:4B2E F0 03 + jmp Sub_D2FF ; CPU:$CB30 PRG:4B30 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop341 +; Global: Branch target inside Sub: taken when Loop341. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop341: + lda #$02 ; CPU:$CB33 PRG:4B33 A9 02 + jsr Sub_F036 ; CPU:$CB35 PRG:4B35 20 36 F0 + lda #$10 ; CPU:$CB38 PRG:4B38 A9 10 + jmp Sub_D2E4 ; CPU:$CB3A PRG:4B3A 4C E4 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop342 +; Global: Branch target inside Sub: taken when Loop342. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop342: + lda Zp3D ; CPU:$CB3D PRG:4B3D A5 3D + beq Sub_Loop343 ; CPU:$CB3F PRG:4B3F F0 03 + jmp Sub_D2FF ; CPU:$CB41 PRG:4B41 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop343 +; Global: Branch target inside Sub: taken when Loop343. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop343: + dec Zp9C ; CPU:$CB44 PRG:4B44 C6 9C + beq Sub_Loop346 ; CPU:$CB46 PRG:4B46 F0 1C + ldx WrestlerIndex2 ; CPU:$CB48 PRG:4B48 A6 86 + lda Zp1C ; CPU:$CB4A PRG:4B4A A5 1C + beq Sub_Loop344 ; CPU:$CB4C PRG:4B4C F0 02 + ldx WrestlerIndex ; CPU:$CB4E PRG:4B4E A6 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop344 +; Global: Branch target inside Sub: taken when Loop344. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop344: + lda Zp35,x ; CPU:$CB50 PRG:4B50 B5 35 + cmp #$02 ; CPU:$CB52 PRG:4B52 C9 02 + bcc Sub_Loop345 ; CPU:$CB54 PRG:4B54 90 05 + sec ; CPU:$CB56 PRG:4B56 38 + sbc #$02 ; CPU:$CB57 PRG:4B57 E9 02 + sta Zp35,x ; CPU:$CB59 PRG:4B59 95 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop345 +; Global: Branch target inside Sub: taken when Loop345. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop345: + lda #$10 ; CPU:$CB5B PRG:4B5B A9 10 + sta Zp3D ; CPU:$CB5D PRG:4B5D 85 3D + dec Zp3C ; CPU:$CB5F PRG:4B5F C6 3C + jmp Sub_D332 ; CPU:$CB61 PRG:4B61 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop346 +; Global: Branch target inside Sub: taken when Loop346. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop346: + lda Zp3B ; CPU:$CB64 PRG:4B64 A5 3B + and #$E0 ; CPU:$CB66 PRG:4B66 29 E0 + ora Zp9B ; CPU:$CB68 PRG:4B68 05 9B + sta Zp3B ; CPU:$CB6A PRG:4B6A 85 3B + lda #$00 ; CPU:$CB6C PRG:4B6C A9 00 + sta Zp3C ; CPU:$CB6E PRG:4B6E 85 3C + lda #$20 ; CPU:$CB70 PRG:4B70 A9 20 + sta Zp3D ; CPU:$CB72 PRG:4B72 85 3D + jsr Sub_EF2F ; CPU:$CB74 PRG:4B74 20 2F EF + jmp Sub_D332 ; CPU:$CB77 PRG:4B77 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_CB7A +; Global: Branch target inside Label: taken when CB7A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CB7A: + lda Zp3C ; CPU:$CB7A PRG:4B7A A5 3C + cmp #$01 ; CPU:$CB7C PRG:4B7C C9 01 + beq Sub_Loop348 ; CPU:$CB7E PRG:4B7E F0 28 + cmp #$02 ; CPU:$CB80 PRG:4B80 C9 02 + beq Sub_Loop351 ; CPU:$CB82 PRG:4B82 F0 4A + jsr Sub_D438 ; CPU:$CB84 PRG:4B84 20 38 D4 + lda Zp95 ; CPU:$CB87 PRG:4B87 A5 95 + sta Zp97 ; CPU:$CB89 PRG:4B89 85 97 + ldx Zp1D ; CPU:$CB8B PRG:4B8B A6 1D + beq Sub_Loop347 ; CPU:$CB8D PRG:4B8D F0 08 + lda SpriteX ; CPU:$CB8F PRG:4B8F A5 96 + clc ; CPU:$CB91 PRG:4B91 18 + adc #$10 ; CPU:$CB92 PRG:4B92 69 10 + jmp Sub_CB9C ; CPU:$CB94 PRG:4B94 4C 9C CB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop347 +; Global: Branch target inside Sub: taken when Loop347. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop347: + lda SpriteX ; CPU:$CB97 PRG:4B97 A5 96 + sec ; CPU:$CB99 PRG:4B99 38 + sbc #$10 ; CPU:$CB9A PRG:4B9A E9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_CB9C +; Global: Branch target inside Sub: taken when CB9C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CB9C: + sta SpriteY ; CPU:$CB9C PRG:4B9C 85 98 + lda #$05 ; CPU:$CB9E PRG:4B9E A9 05 + jsr Sub_F03D ; CPU:$CBA0 PRG:4BA0 20 3D F0 + lda #$10 ; CPU:$CBA3 PRG:4BA3 A9 10 + jmp Sub_D2E4 ; CPU:$CBA5 PRG:4BA5 4C E4 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop348 +; Global: Branch target inside Sub: taken when Loop348. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop348: + lda Zp3D ; CPU:$CBA8 PRG:4BA8 A5 3D + beq Sub_Loop349 ; CPU:$CBAA PRG:4BAA F0 03 + jmp Sub_D2FF ; CPU:$CBAC PRG:4BAC 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop349 +; Global: Branch target inside Sub: taken when Loop349. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop349: + lda #$00 ; CPU:$CBAF PRG:4BAF A9 00 + sta Zp9F ; CPU:$CBB1 PRG:4BB1 85 9F + ldx Zp1D ; CPU:$CBB3 PRG:4BB3 A6 1D + beq Sub_Loop350 ; CPU:$CBB5 PRG:4BB5 F0 08 + lda SpriteX ; CPU:$CBB7 PRG:4BB7 A5 96 + clc ; CPU:$CBB9 PRG:4BB9 18 + adc #$10 ; CPU:$CBBA PRG:4BBA 69 10 + jmp Sub_CBC4 ; CPU:$CBBC PRG:4BBC 4C C4 CB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop350 +; Global: Branch target inside Sub: taken when Loop350. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop350: + lda SpriteX ; CPU:$CBBF PRG:4BBF A5 96 + sec ; CPU:$CBC1 PRG:4BC1 38 + sbc #$10 ; CPU:$CBC2 PRG:4BC2 E9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_CBC4 +; Global: Branch target inside Sub: taken when CBC4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CBC4: + sta SpriteY ; CPU:$CBC4 PRG:4BC4 85 98 + lda #$02 ; CPU:$CBC6 PRG:4BC6 A9 02 + jsr Sub_F036 ; CPU:$CBC8 PRG:4BC8 20 36 F0 + jmp Sub_D2E2 ; CPU:$CBCB PRG:4BCB 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop351 +; Global: Branch target inside Sub: taken when Loop351. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop351: + lda Zp3D ; CPU:$CBCE PRG:4BCE A5 3D + beq Sub_Loop352 ; CPU:$CBD0 PRG:4BD0 F0 03 + jmp Sub_D2FF ; CPU:$CBD2 PRG:4BD2 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop352 +; Global: Branch target inside Sub: taken when Loop352. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop352: + lda Zp97 ; CPU:$CBD5 PRG:4BD5 A5 97 + clc ; CPU:$CBD7 PRG:4BD7 18 + adc #$10 ; CPU:$CBD8 PRG:4BD8 69 10 + sta Zp97 ; CPU:$CBDA PRG:4BDA 85 97 + sta Zp95 ; CPU:$CBDC PRG:4BDC 85 95 + lda #$08 ; CPU:$CBDE PRG:4BDE A9 08 + ldx Zp1D ; CPU:$CBE0 PRG:4BE0 A6 1D + beq Sub_Loop353 ; CPU:$CBE2 PRG:4BE2 F0 02 + eor #$FF ; CPU:$CBE4 PRG:4BE4 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop353 +; Global: Branch target inside Sub: taken when Loop353. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop353: + sta Zp1E ; CPU:$CBE6 PRG:4BE6 85 1E + lda SpriteY ; CPU:$CBE8 PRG:4BE8 A5 98 + sec ; CPU:$CBEA PRG:4BEA 38 + sbc Zp1E ; CPU:$CBEB PRG:4BEB E5 1E + sta SpriteY ; CPU:$CBED PRG:4BED 85 98 + lda #$08 ; CPU:$CBEF PRG:4BEF A9 08 + ldx Zp1D ; CPU:$CBF1 PRG:4BF1 A6 1D + beq Sub_Loop354 ; CPU:$CBF3 PRG:4BF3 F0 02 + eor #$FF ; CPU:$CBF5 PRG:4BF5 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop354 +; Global: Branch target inside Sub: taken when Loop354. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop354: + sta Zp1E ; CPU:$CBF7 PRG:4BF7 85 1E + lda SpriteX ; CPU:$CBF9 PRG:4BF9 A5 96 + clc ; CPU:$CBFB PRG:4BFB 18 + adc Zp1E ; CPU:$CBFC PRG:4BFC 65 1E + sta SpriteX ; CPU:$CBFE PRG:4BFE 85 96 + lda #$04 ; CPU:$CC00 PRG:4C00 A9 04 + jsr Sub_F036 ; CPU:$CC02 PRG:4C02 20 36 F0 + jmp Sub_D18E ; CPU:$CC05 PRG:4C05 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_CC08 +; Global: Branch target inside Sub: taken when CC08. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CC08: + lda Zp3C ; CPU:$CC08 PRG:4C08 A5 3C + cmp #$01 ; CPU:$CC0A PRG:4C0A C9 01 + beq Sub_Loop357 ; CPU:$CC0C PRG:4C0C F0 25 + cmp #$02 ; CPU:$CC0E PRG:4C0E C9 02 + beq Sub_Loop359 ; CPU:$CC10 PRG:4C10 F0 2E + cmp #$03 ; CPU:$CC12 PRG:4C12 C9 03 + beq Sub_Loop362 ; CPU:$CC14 PRG:4C14 F0 4A + cmp #$04 ; CPU:$CC16 PRG:4C16 C9 04 + beq Sub_Loop364 ; CPU:$CC18 PRG:4C18 F0 50 + cmp #$05 ; CPU:$CC1A PRG:4C1A C9 05 + bne Sub_Loop355 ; CPU:$CC1C PRG:4C1C D0 03 + jmp Sub_CCAA ; CPU:$CC1E PRG:4C1E 4C AA CC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop355 +; Global: Branch target inside Sub: taken when Loop355. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop355: + cmp #$06 ; CPU:$CC21 PRG:4C21 C9 06 + bne Sub_Loop356 ; CPU:$CC23 PRG:4C23 D0 03 + jmp Sub_CD0E ; CPU:$CC25 PRG:4C25 4C 0E CD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop356 +; Global: Branch target inside Sub: taken when Loop356. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop356: + jsr Sub_D333 ; CPU:$CC28 PRG:4C28 20 33 D3 + lda #$05 ; CPU:$CC2B PRG:4C2B A9 05 + jsr Sub_F03D ; CPU:$CC2D PRG:4C2D 20 3D F0 + jmp Sub_D2E2 ; CPU:$CC30 PRG:4C30 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop357 +; Global: Branch target inside Sub: taken when Loop357. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop357: + lda Zp3D ; CPU:$CC33 PRG:4C33 A5 3D + beq Sub_Loop358 ; CPU:$CC35 PRG:4C35 F0 03 + jmp Sub_D2FF ; CPU:$CC37 PRG:4C37 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop358 +; Global: Branch target inside Sub: taken when Loop358. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop358: + jsr Sub_D35D ; CPU:$CC3A PRG:4C3A 20 5D D3 + jmp Sub_D2E2 ; CPU:$CC3D PRG:4C3D 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop359 +; Global: Branch target inside Sub: taken when Loop359. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop359: + lda Zp1C ; CPU:$CC40 PRG:4C40 A5 1C + bne Sub_Loop360 ; CPU:$CC42 PRG:4C42 D0 0A + jsr Sub_D3BD ; CPU:$CC44 PRG:4C44 20 BD D3 + cmp #$00 ; CPU:$CC47 PRG:4C47 C9 00 + bne Sub_Loop361 ; CPU:$CC49 PRG:4C49 D0 0D + jmp Sub_D2E8 ; CPU:$CC4B PRG:4C4B 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop360 +; Global: Branch target inside Sub: taken when Loop360. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop360: + jsr Sub_D387 ; CPU:$CC4E PRG:4C4E 20 87 D3 + cmp #$00 ; CPU:$CC51 PRG:4C51 C9 00 + bne Sub_Loop361 ; CPU:$CC53 PRG:4C53 D0 03 + jmp Sub_D2E8 ; CPU:$CC55 PRG:4C55 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop361 +; Global: Branch target inside Sub: taken when Loop361. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop361: + lda #$03 ; CPU:$CC58 PRG:4C58 A9 03 + jsr Sub_F036 ; CPU:$CC5A PRG:4C5A 20 36 F0 + jmp Sub_D2E2 ; CPU:$CC5D PRG:4C5D 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop362 +; Global: Branch target inside Sub: taken when Loop362. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop362: + lda Zp3D ; CPU:$CC60 PRG:4C60 A5 3D + beq Sub_Loop363 ; CPU:$CC62 PRG:4C62 F0 03 + jmp Sub_D2FF ; CPU:$CC64 PRG:4C64 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop363 +; Global: Branch target inside Sub: taken when Loop363. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop363: + jmp Sub_D2E2 ; CPU:$CC67 PRG:4C67 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop364 +; Global: Branch target inside Sub: taken when Loop364. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop364: + lda #$00 ; CPU:$CC6A PRG:4C6A A9 00 + jsr Sub_D3F3 ; CPU:$CC6C PRG:4C6C 20 F3 D3 + cmp #$00 ; CPU:$CC6F PRG:4C6F C9 00 + bne Sub_Loop365 ; CPU:$CC71 PRG:4C71 D0 0C + lda #$01 ; CPU:$CC73 PRG:4C73 A9 01 + jsr Sub_D3F3 ; CPU:$CC75 PRG:4C75 20 F3 D3 + cmp #$00 ; CPU:$CC78 PRG:4C78 C9 00 + bne Sub_Loop365 ; CPU:$CC7A PRG:4C7A D0 03 + jmp Sub_D2E8 ; CPU:$CC7C PRG:4C7C 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop365 +; Global: Branch target inside Sub: taken when Loop365. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop365: + jsr Sub_D438 ; CPU:$CC7F PRG:4C7F 20 38 D4 + lda Zp21 ; CPU:$CC82 PRG:4C82 A5 21 + cmp #$09 ; CPU:$CC84 PRG:4C84 C9 09 + beq Sub_Loop366 ; CPU:$CC86 PRG:4C86 F0 08 + lda #$0F ; CPU:$CC88 PRG:4C88 A9 0F + jsr Sub_F036 ; CPU:$CC8A PRG:4C8A 20 36 F0 + jmp Sub_CCA7 ; CPU:$CC8D PRG:4C8D 4C A7 CC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop366 +; Global: Branch target inside Sub: taken when Loop366. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop366: + lda Zp97 ; CPU:$CC90 PRG:4C90 A5 97 + sta Zp95 ; CPU:$CC92 PRG:4C92 85 95 + ldx Zp1D ; CPU:$CC94 PRG:4C94 A6 1D + beq Sub_Loop367 ; CPU:$CC96 PRG:4C96 F0 08 + lda SpriteY ; CPU:$CC98 PRG:4C98 A5 98 + sec ; CPU:$CC9A PRG:4C9A 38 + sbc #$10 ; CPU:$CC9B PRG:4C9B E9 10 + jmp Sub_CCA5 ; CPU:$CC9D PRG:4C9D 4C A5 CC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop367 +; Global: Branch target inside Sub: taken when Loop367. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop367: + lda SpriteY ; CPU:$CCA0 PRG:4CA0 A5 98 + clc ; CPU:$CCA2 PRG:4CA2 18 + adc #$10 ; CPU:$CCA3 PRG:4CA3 69 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCA5 +; Global: Branch target inside Sub: taken when CCA5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCA5: + sta SpriteX ; CPU:$CCA5 PRG:4CA5 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCA7 +; Global: Branch target inside Sub: taken when CCA7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCA7: + jmp Sub_D2E2 ; CPU:$CCA7 PRG:4CA7 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCAA +; Global: Branch target inside Sub: taken when CCAA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCAA: + lda Zp3D ; CPU:$CCAA PRG:4CAA A5 3D + beq Sub_Loop368 ; CPU:$CCAC PRG:4CAC F0 03 + jmp Sub_D2FF ; CPU:$CCAE PRG:4CAE 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop368 +; Global: Branch target inside Sub: taken when Loop368. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop368: + lda Zp21 ; CPU:$CCB1 PRG:4CB1 A5 21 + cmp #$09 ; CPU:$CCB3 PRG:4CB3 C9 09 + beq Sub_Loop372 ; CPU:$CCB5 PRG:4CB5 F0 3E + lda #$00 ; CPU:$CCB7 PRG:4CB7 A9 00 + sta Zp9F ; CPU:$CCB9 PRG:4CB9 85 9F + lda Zp95 ; CPU:$CCBB PRG:4CBB A5 95 + clc ; CPU:$CCBD PRG:4CBD 18 + adc #$10 ; CPU:$CCBE PRG:4CBE 69 10 + sta Zp95 ; CPU:$CCC0 PRG:4CC0 85 95 + sta Zp97 ; CPU:$CCC2 PRG:4CC2 85 97 + lda Zp1C ; CPU:$CCC4 PRG:4CC4 A5 1C + bne Sub_Loop370 ; CPU:$CCC6 PRG:4CC6 D0 14 + lda #$18 ; CPU:$CCC8 PRG:4CC8 A9 18 + ldx Zp1D ; CPU:$CCCA PRG:4CCA A6 1D + beq Sub_Loop369 ; CPU:$CCCC PRG:4CCC F0 02 + eor #$FF ; CPU:$CCCE PRG:4CCE 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop369 +; Global: Branch target inside Sub: taken when Loop369. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop369: + sta Zp1E ; CPU:$CCD0 PRG:4CD0 85 1E + lda SpriteY ; CPU:$CCD2 PRG:4CD2 A5 98 + clc ; CPU:$CCD4 PRG:4CD4 18 + adc Zp1E ; CPU:$CCD5 PRG:4CD5 65 1E + sta SpriteY ; CPU:$CCD7 PRG:4CD7 85 98 + jmp Sub_CCED ; CPU:$CCD9 PRG:4CD9 4C ED CC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop370 +; Global: Branch target inside Sub: taken when Loop370. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop370: + lda #$18 ; CPU:$CCDC PRG:4CDC A9 18 + ldx Zp1D ; CPU:$CCDE PRG:4CDE A6 1D + beq Sub_Loop371 ; CPU:$CCE0 PRG:4CE0 F0 02 + eor #$FF ; CPU:$CCE2 PRG:4CE2 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop371 +; Global: Branch target inside Sub: taken when Loop371. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop371: + sta Zp1E ; CPU:$CCE4 PRG:4CE4 85 1E + lda SpriteX ; CPU:$CCE6 PRG:4CE6 A5 96 + sec ; CPU:$CCE8 PRG:4CE8 38 + sbc Zp1E ; CPU:$CCE9 PRG:4CE9 E5 1E + sta SpriteX ; CPU:$CCEB PRG:4CEB 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CCED +; Global: Branch target inside Sub: taken when CCED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CCED: + lda #$04 ; CPU:$CCED PRG:4CED A9 04 + jsr Sub_F036 ; CPU:$CCEF PRG:4CEF 20 36 F0 + jmp Sub_D18E ; CPU:$CCF2 PRG:4CF2 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop372 +; Global: Branch target inside Sub: taken when Loop372. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop372: + lda #$08 ; CPU:$CCF5 PRG:4CF5 A9 08 + ldx Zp1D ; CPU:$CCF7 PRG:4CF7 A6 1D + beq Sub_Loop373 ; CPU:$CCF9 PRG:4CF9 F0 02 + eor #$FF ; CPU:$CCFB PRG:4CFB 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop373 +; Global: Branch target inside Sub: taken when Loop373. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop373: + sta Zp1E ; CPU:$CCFD PRG:4CFD 85 1E + lda SpriteX ; CPU:$CCFF PRG:4CFF A5 96 + clc ; CPU:$CD01 PRG:4D01 18 + adc Zp1E ; CPU:$CD02 PRG:4D02 65 1E + sta SpriteX ; CPU:$CD04 PRG:4D04 85 96 + lda #$0F ; CPU:$CD06 PRG:4D06 A9 0F + jsr Sub_F036 ; CPU:$CD08 PRG:4D08 20 36 F0 + jmp Sub_D2E2 ; CPU:$CD0B PRG:4D0B 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_CD0E +; Global: Branch target inside Sub: taken when CD0E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CD0E: + lda Zp3D ; CPU:$CD0E PRG:4D0E A5 3D + beq Sub_Loop374 ; CPU:$CD10 PRG:4D10 F0 03 + jmp Sub_D2FF ; CPU:$CD12 PRG:4D12 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop374 +; Global: Branch target inside Sub: taken when Loop374. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop374: + lda #$00 ; CPU:$CD15 PRG:4D15 A9 00 + sta Zp9F ; CPU:$CD17 PRG:4D17 85 9F + lda Zp95 ; CPU:$CD19 PRG:4D19 A5 95 + clc ; CPU:$CD1B PRG:4D1B 18 + adc #$10 ; CPU:$CD1C PRG:4D1C 69 10 + sta Zp95 ; CPU:$CD1E PRG:4D1E 85 95 + lda #$10 ; CPU:$CD20 PRG:4D20 A9 10 + ldx Zp1D ; CPU:$CD22 PRG:4D22 A6 1D + beq Sub_Loop375 ; CPU:$CD24 PRG:4D24 F0 02 + eor #$FF ; CPU:$CD26 PRG:4D26 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop375 +; Global: Branch target inside Sub: taken when Loop375. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop375: + sta Zp1E ; CPU:$CD28 PRG:4D28 85 1E + lda SpriteX ; CPU:$CD2A PRG:4D2A A5 96 + clc ; CPU:$CD2C PRG:4D2C 18 + adc Zp1E ; CPU:$CD2D PRG:4D2D 65 1E + sta SpriteX ; CPU:$CD2F PRG:4D2F 85 96 + lda #$04 ; CPU:$CD31 PRG:4D31 A9 04 + jsr Sub_F036 ; CPU:$CD33 PRG:4D33 20 36 F0 + jmp Sub_D18E ; CPU:$CD36 PRG:4D36 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_CD39 +; Global: Branch target inside Label: taken when CD39. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CD39: + lda Zp3C ; CPU:$CD39 PRG:4D39 A5 3C + cmp #$01 ; CPU:$CD3B PRG:4D3B C9 01 + beq Sub_Loop377 ; CPU:$CD3D PRG:4D3D F0 24 + cmp #$02 ; CPU:$CD3F PRG:4D3F C9 02 + beq Sub_Loop379 ; CPU:$CD41 PRG:4D41 F0 3C + lda Zp95 ; CPU:$CD43 PRG:4D43 A5 95 + sec ; CPU:$CD45 PRG:4D45 38 + sbc #$08 ; CPU:$CD46 PRG:4D46 E9 08 + sta Zp97 ; CPU:$CD48 PRG:4D48 85 97 + lda #$08 ; CPU:$CD4A PRG:4D4A A9 08 + ldx Zp1D ; CPU:$CD4C PRG:4D4C A6 1D + beq Sub_Loop376 ; CPU:$CD4E PRG:4D4E F0 02 + eor #$FF ; CPU:$CD50 PRG:4D50 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop376 +; Global: Branch target inside Sub: taken when Loop376. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop376: + sta Zp1E ; CPU:$CD52 PRG:4D52 85 1E + lda SpriteX ; CPU:$CD54 PRG:4D54 A5 96 + sec ; CPU:$CD56 PRG:4D56 38 + sbc Zp1E ; CPU:$CD57 PRG:4D57 E5 1E + sta SpriteY ; CPU:$CD59 PRG:4D59 85 98 + lda #$05 ; CPU:$CD5B PRG:4D5B A9 05 + jsr Sub_F03D ; CPU:$CD5D PRG:4D5D 20 3D F0 + jmp Sub_D2E2 ; CPU:$CD60 PRG:4D60 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop377 +; Global: Branch target inside Sub: taken when Loop377. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop377: + lda Zp3D ; CPU:$CD63 PRG:4D63 A5 3D + beq Sub_Loop378 ; CPU:$CD65 PRG:4D65 F0 03 + jmp Sub_D2FF ; CPU:$CD67 PRG:4D67 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop378 +; Global: Branch target inside Sub: taken when Loop378. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop378: + lda SpriteX ; CPU:$CD6A PRG:4D6A A5 96 + sta SpriteY ; CPU:$CD6C PRG:4D6C 85 98 + lda Zp95 ; CPU:$CD6E PRG:4D6E A5 95 + sec ; CPU:$CD70 PRG:4D70 38 + sbc #$30 ; CPU:$CD71 PRG:4D71 E9 30 + sta Zp95 ; CPU:$CD73 PRG:4D73 85 95 + sec ; CPU:$CD75 PRG:4D75 38 + sbc #$18 ; CPU:$CD76 PRG:4D76 E9 18 + sta Zp97 ; CPU:$CD78 PRG:4D78 85 97 + lda #$10 ; CPU:$CD7A PRG:4D7A A9 10 + jmp Sub_D2E4 ; CPU:$CD7C PRG:4D7C 4C E4 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop379 +; Global: Branch target inside Sub: taken when Loop379. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop379: + lda Zp3D ; CPU:$CD7F PRG:4D7F A5 3D + beq Sub_Loop380 ; CPU:$CD81 PRG:4D81 F0 03 + jmp Sub_D2FF ; CPU:$CD83 PRG:4D83 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop380 +; Global: Branch target inside Sub: taken when Loop380. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop380: + lda #$00 ; CPU:$CD86 PRG:4D86 A9 00 + sta Zp9F ; CPU:$CD88 PRG:4D88 85 9F + lda Zp1C ; CPU:$CD8A PRG:4D8A A5 1C + bne Sub_Loop384 ; CPU:$CD8C PRG:4D8C D0 54 + lda Zp95 ; CPU:$CD8E PRG:4D8E A5 95 + clc ; CPU:$CD90 PRG:4D90 18 + adc #$40 ; CPU:$CD91 PRG:4D91 69 40 + sta Zp95 ; CPU:$CD93 PRG:4D93 85 95 + sta Zp97 ; CPU:$CD95 PRG:4D95 85 97 + lda GameState ; CPU:$CD97 PRG:4D97 A5 36 + bpl Sub_Loop382 ; CPU:$CD99 PRG:4D99 10 22 + lda Zp1D ; CPU:$CD9B PRG:4D9B A5 1D + bne Sub_Loop381 ; CPU:$CD9D PRG:4D9D D0 0D + lda SpriteX ; CPU:$CD9F PRG:4D9F A5 96 + cmp #$B0 ; CPU:$CDA1 PRG:4DA1 C9 B0 + bcc Sub_Loop382 ; CPU:$CDA3 PRG:4DA3 90 18 + ldx #$C8 ; CPU:$CDA5 PRG:4DA5 A2 C8 + ldy #$E8 ; CPU:$CDA7 PRG:4DA7 A0 E8 + jmp Sub_CDB6 ; CPU:$CDA9 PRG:4DA9 4C B6 CD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop381 +; Global: Branch target inside Sub: taken when Loop381. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop381: + lda SpriteX ; CPU:$CDAC PRG:4DAC A5 96 + cmp #$40 ; CPU:$CDAE PRG:4DAE C9 40 + bcs Sub_Loop382 ; CPU:$CDB0 PRG:4DB0 B0 0B + ldx #$28 ; CPU:$CDB2 PRG:4DB2 A2 28 + ldy #$08 ; CPU:$CDB4 PRG:4DB4 A0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_CDB6 +; Global: Branch target inside Sub: taken when CDB6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CDB6: + stx SpriteX ; CPU:$CDB6 PRG:4DB6 86 96 + sty SpriteY ; CPU:$CDB8 PRG:4DB8 84 98 + jmp Sub_CE34 ; CPU:$CDBA PRG:4DBA 4C 34 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop382 +; Global: Branch target inside Sub: taken when Loop382. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop382: + ldx #$18 ; CPU:$CDBD PRG:4DBD A2 18 + ldy #$38 ; CPU:$CDBF PRG:4DBF A0 38 + lda Zp1D ; CPU:$CDC1 PRG:4DC1 A5 1D + beq Sub_Loop383 ; CPU:$CDC3 PRG:4DC3 F0 08 + txa ; CPU:$CDC5 PRG:4DC5 8A + eor #$FF ; CPU:$CDC6 PRG:4DC6 49 FF + tax ; CPU:$CDC8 PRG:4DC8 AA + tya ; CPU:$CDC9 PRG:4DC9 98 + eor #$FF ; CPU:$CDCA PRG:4DCA 49 FF + tay ; CPU:$CDCC PRG:4DCC A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop383 +; Global: Branch target inside Sub: taken when Loop383. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop383: + stx Zp1E ; CPU:$CDCD PRG:4DCD 86 1E + lda SpriteX ; CPU:$CDCF PRG:4DCF A5 96 + clc ; CPU:$CDD1 PRG:4DD1 18 + adc Zp1E ; CPU:$CDD2 PRG:4DD2 65 1E + sta SpriteX ; CPU:$CDD4 PRG:4DD4 85 96 + sty Zp1E ; CPU:$CDD6 PRG:4DD6 84 1E + lda SpriteY ; CPU:$CDD8 PRG:4DD8 A5 98 + clc ; CPU:$CDDA PRG:4DDA 18 + adc Zp1E ; CPU:$CDDB PRG:4DDB 65 1E + sta SpriteY ; CPU:$CDDD PRG:4DDD 85 98 + jmp Sub_CE34 ; CPU:$CDDF PRG:4DDF 4C 34 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop384 +; Global: Branch target inside Sub: taken when Loop384. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop384: + lda Zp97 ; CPU:$CDE2 PRG:4DE2 A5 97 + clc ; CPU:$CDE4 PRG:4DE4 18 + adc #$40 ; CPU:$CDE5 PRG:4DE5 69 40 + sta Zp97 ; CPU:$CDE7 PRG:4DE7 85 97 + sta Zp95 ; CPU:$CDE9 PRG:4DE9 85 95 + lda GameState ; CPU:$CDEB PRG:4DEB A5 36 + bpl Sub_Loop386 ; CPU:$CDED PRG:4DED 10 22 + lda Zp1D ; CPU:$CDEF PRG:4DEF A5 1D + bne Sub_Loop385 ; CPU:$CDF1 PRG:4DF1 D0 0D + lda SpriteY ; CPU:$CDF3 PRG:4DF3 A5 98 + cmp #$40 ; CPU:$CDF5 PRG:4DF5 C9 40 + bcs Sub_Loop386 ; CPU:$CDF7 PRG:4DF7 B0 18 + ldx #$28 ; CPU:$CDF9 PRG:4DF9 A2 28 + ldy #$08 ; CPU:$CDFB PRG:4DFB A0 08 + jmp Sub_CE0A ; CPU:$CDFD PRG:4DFD 4C 0A CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop385 +; Global: Branch target inside Sub: taken when Loop385. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop385: + lda SpriteY ; CPU:$CE00 PRG:4E00 A5 98 + cmp #$B0 ; CPU:$CE02 PRG:4E02 C9 B0 + bcc Sub_Loop386 ; CPU:$CE04 PRG:4E04 90 0B + ldx #$C8 ; CPU:$CE06 PRG:4E06 A2 C8 + ldy #$E8 ; CPU:$CE08 PRG:4E08 A0 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE0A +; Global: Branch target inside Sub: taken when CE0A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE0A: + stx SpriteY ; CPU:$CE0A PRG:4E0A 86 98 + sty SpriteX ; CPU:$CE0C PRG:4E0C 84 96 + jmp Sub_CE34 ; CPU:$CE0E PRG:4E0E 4C 34 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop386 +; Global: Branch target inside Sub: taken when Loop386. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop386: + lda Zp1D ; CPU:$CE11 PRG:4E11 A5 1D + bne Sub_Loop387 ; CPU:$CE13 PRG:4E13 D0 11 + lda SpriteY ; CPU:$CE15 PRG:4E15 A5 98 + sec ; CPU:$CE17 PRG:4E17 38 + sbc #$18 ; CPU:$CE18 PRG:4E18 E9 18 + sta SpriteY ; CPU:$CE1A PRG:4E1A 85 98 + lda SpriteX ; CPU:$CE1C PRG:4E1C A5 96 + sec ; CPU:$CE1E PRG:4E1E 38 + sbc #$38 ; CPU:$CE1F PRG:4E1F E9 38 + sta SpriteX ; CPU:$CE21 PRG:4E21 85 96 + jmp Sub_CE34 ; CPU:$CE23 PRG:4E23 4C 34 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop387 +; Global: Branch target inside Sub: taken when Loop387. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop387: + lda SpriteY ; CPU:$CE26 PRG:4E26 A5 98 + clc ; CPU:$CE28 PRG:4E28 18 + adc #$18 ; CPU:$CE29 PRG:4E29 69 18 + sta SpriteY ; CPU:$CE2B PRG:4E2B 85 98 + lda SpriteX ; CPU:$CE2D PRG:4E2D A5 96 + clc ; CPU:$CE2F PRG:4E2F 18 + adc #$38 ; CPU:$CE30 PRG:4E30 69 38 + sta SpriteX ; CPU:$CE32 PRG:4E32 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE34 +; Global: Branch target inside Sub: taken when CE34. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE34: + lda #$04 ; CPU:$CE34 PRG:4E34 A9 04 + jsr Sub_F036 ; CPU:$CE36 PRG:4E36 20 36 F0 + jmp Sub_D18E ; CPU:$CE39 PRG:4E39 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_CE3C +; Global: Branch target inside Label: taken when CE3C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CE3C: + lda Zp3C ; CPU:$CE3C PRG:4E3C A5 3C + cmp #$01 ; CPU:$CE3E PRG:4E3E C9 01 + beq Sub_Loop389 ; CPU:$CE40 PRG:4E40 F0 24 + cmp #$02 ; CPU:$CE42 PRG:4E42 C9 02 + beq Sub_Loop392 ; CPU:$CE44 PRG:4E44 F0 46 + lda Zp95 ; CPU:$CE46 PRG:4E46 A5 95 + clc ; CPU:$CE48 PRG:4E48 18 + adc #$10 ; CPU:$CE49 PRG:4E49 69 10 + sta Zp97 ; CPU:$CE4B PRG:4E4B 85 97 + lda #$08 ; CPU:$CE4D PRG:4E4D A9 08 + ldx Zp1D ; CPU:$CE4F PRG:4E4F A6 1D + beq Sub_Loop388 ; CPU:$CE51 PRG:4E51 F0 02 + eor #$FF ; CPU:$CE53 PRG:4E53 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop388 +; Global: Branch target inside Sub: taken when Loop388. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop388: + sta Zp1E ; CPU:$CE55 PRG:4E55 85 1E + lda SpriteX ; CPU:$CE57 PRG:4E57 A5 96 + sec ; CPU:$CE59 PRG:4E59 38 + sbc Zp1E ; CPU:$CE5A PRG:4E5A E5 1E + sta SpriteY ; CPU:$CE5C PRG:4E5C 85 98 + lda #$04 ; CPU:$CE5E PRG:4E5E A9 04 + jsr Sub_F036 ; CPU:$CE60 PRG:4E60 20 36 F0 + jmp Sub_D2E2 ; CPU:$CE63 PRG:4E63 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop389 +; Global: Branch target inside Sub: taken when Loop389. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop389: + lda Zp3D ; CPU:$CE66 PRG:4E66 A5 3D + beq Sub_Loop390 ; CPU:$CE68 PRG:4E68 F0 03 + jmp Sub_D2FF ; CPU:$CE6A PRG:4E6A 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop390 +; Global: Branch target inside Sub: taken when Loop390. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop390: + lda Zp95 ; CPU:$CE6D PRG:4E6D A5 95 + sta Zp97 ; CPU:$CE6F PRG:4E6F 85 97 + ldx Zp1D ; CPU:$CE71 PRG:4E71 A6 1D + beq Sub_Loop391 ; CPU:$CE73 PRG:4E73 F0 08 + lda SpriteX ; CPU:$CE75 PRG:4E75 A5 96 + clc ; CPU:$CE77 PRG:4E77 18 + adc #$10 ; CPU:$CE78 PRG:4E78 69 10 + jmp Sub_CE82 ; CPU:$CE7A PRG:4E7A 4C 82 CE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop391 +; Global: Branch target inside Sub: taken when Loop391. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop391: + lda SpriteX ; CPU:$CE7D PRG:4E7D A5 96 + sec ; CPU:$CE7F PRG:4E7F 38 + sbc #$10 ; CPU:$CE80 PRG:4E80 E9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_CE82 +; Global: Branch target inside Sub: taken when CE82. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CE82: + sta SpriteY ; CPU:$CE82 PRG:4E82 85 98 + lda #$05 ; CPU:$CE84 PRG:4E84 A9 05 + jsr Sub_F03D ; CPU:$CE86 PRG:4E86 20 3D F0 + jmp Sub_D2E2 ; CPU:$CE89 PRG:4E89 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop392 +; Global: Branch target inside Sub: taken when Loop392. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop392: + ldx WrestlerIndex2 ; CPU:$CE8C PRG:4E8C A6 86 + lda Zp1C ; CPU:$CE8E PRG:4E8E A5 1C + beq Sub_Loop393 ; CPU:$CE90 PRG:4E90 F0 02 + ldx WrestlerIndex ; CPU:$CE92 PRG:4E92 A6 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop393 +; Global: Branch target inside Sub: taken when Loop393. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop393: + lda Zp35,x ; CPU:$CE94 PRG:4E94 B5 35 + bne Sub_Loop395 ; CPU:$CE96 PRG:4E96 D0 0C + lda Zp3D ; CPU:$CE98 PRG:4E98 A5 3D + cmp #$00 ; CPU:$CE9A PRG:4E9A C9 00 + beq Sub_Loop394 ; CPU:$CE9C PRG:4E9C F0 03 + jmp Sub_D2FF ; CPU:$CE9E PRG:4E9E 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop394 +; Global: Branch target inside Sub: taken when Loop394. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop394: + jmp Sub_D304 ; CPU:$CEA1 PRG:4EA1 4C 04 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop395 +; Global: Branch target inside Sub: taken when Loop395. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop395: + lda ZpA2 ; CPU:$CEA4 PRG:4EA4 A5 A2 + bmi Sub_Loop403 ; CPU:$CEA6 PRG:4EA6 30 57 + and #$01 ; CPU:$CEA8 PRG:4EA8 29 01 + bne Sub_Loop400 ; CPU:$CEAA PRG:4EAA D0 3E + ldx Zp18 ; CPU:$CEAC PRG:4EAC A6 18 + lda Zp1C ; CPU:$CEAE PRG:4EAE A5 1C + bne Sub_Loop396 ; CPU:$CEB0 PRG:4EB0 D0 08 + lda Zp7B ; CPU:$CEB2 PRG:4EB2 A5 7B + and #$20 ; CPU:$CEB4 PRG:4EB4 29 20 + beq Sub_Loop397 ; CPU:$CEB6 PRG:4EB6 F0 0B + ldx Zp19 ; CPU:$CEB8 PRG:4EB8 A6 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop396 +; Global: Branch target inside Sub: taken when Loop396. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop396: + lda Zp7B ; CPU:$CEBA PRG:4EBA A5 7B + bmi Sub_Loop400 ; CPU:$CEBC PRG:4EBC 30 2C + txa ; CPU:$CEBE PRG:4EBE 8A + and #$01 ; CPU:$CEBF PRG:4EBF 29 01 + beq Sub_Loop400 ; CPU:$CEC1 PRG:4EC1 F0 27 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop397 +; Global: Branch target inside Sub: taken when Loop397. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop397: + lda #$13 ; CPU:$CEC3 PRG:4EC3 A9 13 + cmp WrestlerIndex ; CPU:$CEC5 PRG:4EC5 C5 85 + bne Sub_Loop398 ; CPU:$CEC7 PRG:4EC7 D0 02 + lda #$18 ; CPU:$CEC9 PRG:4EC9 A9 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop398 +; Global: Branch target inside Sub: taken when Loop398. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop398: + ldx Zp1C ; CPU:$CECB PRG:4ECB A6 1C + bne Sub_Loop399 ; CPU:$CECD PRG:4ECD D0 08 + lda #$23 ; CPU:$CECF PRG:4ECF A9 23 + cmp WrestlerIndex2 ; CPU:$CED1 PRG:4ED1 C5 86 + bne Sub_Loop399 ; CPU:$CED3 PRG:4ED3 D0 02 + lda #$28 ; CPU:$CED5 PRG:4ED5 A9 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop399 +; Global: Branch target inside Sub: taken when Loop399. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop399: + tax ; CPU:$CED7 PRG:4ED7 AA + lda PlayerTile,x ; CPU:$CED8 PRG:4ED8 B5 32 + and #$C0 ; CPU:$CEDA PRG:4EDA 29 C0 + ora #$03 ; CPU:$CEDC PRG:4EDC 09 03 + sta PlayerTile,x ; CPU:$CEDE PRG:4EDE 95 32 + lda #$10 ; CPU:$CEE0 PRG:4EE0 A9 10 + sta GameState,x ; CPU:$CEE2 PRG:4EE2 95 36 + lda #$01 ; CPU:$CEE4 PRG:4EE4 A9 01 + ora ZpA2 ; CPU:$CEE6 PRG:4EE6 05 A2 + sta ZpA2 ; CPU:$CEE8 PRG:4EE8 85 A2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop400 +; Global: Branch target inside Sub: taken when Loop400. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop400: + lda Zp35 ; CPU:$CEEA PRG:4EEA A5 35 + bne Sub_Loop402 ; CPU:$CEEC PRG:4EEC D0 0E + ldx WrestlerIndex2 ; CPU:$CEEE PRG:4EEE A6 86 + lda Zp1C ; CPU:$CEF0 PRG:4EF0 A5 1C + beq Sub_Loop401 ; CPU:$CEF2 PRG:4EF2 F0 02 + ldx WrestlerIndex ; CPU:$CEF4 PRG:4EF4 A6 85 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop401 +; Global: Branch target inside Sub: taken when Loop401. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop401: + lda Zp35,x ; CPU:$CEF6 PRG:4EF6 B5 35 + beq Sub_Loop402 ; CPU:$CEF8 PRG:4EF8 F0 02 + dec Zp35,x ; CPU:$CEFA PRG:4EFA D6 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop402 +; Global: Branch target inside Sub: taken when Loop402. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop402: + jmp Sub_D332 ; CPU:$CEFC PRG:4EFC 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop403 +; Global: Branch target inside Sub: taken when Loop403. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop403: + lda #$04 ; CPU:$CEFF PRG:4EFF A9 04 + jsr Sub_F036 ; CPU:$CF01 PRG:4F01 20 36 F0 + lda Zp21 ; CPU:$CF04 PRG:4F04 A5 21 + cmp #$06 ; CPU:$CF06 PRG:4F06 C9 06 + beq Sub_Loop408 ; CPU:$CF08 PRG:4F08 F0 41 + cmp #$0B ; CPU:$CF0A PRG:4F0A C9 0B + bne Sub_Loop404 ; CPU:$CF0C PRG:4F0C D0 03 + jmp Sub_CF67 ; CPU:$CF0E PRG:4F0E 4C 67 CF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop404 +; Global: Branch target inside Sub: taken when Loop404. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop404: + lda Zp1C ; CPU:$CF11 PRG:4F11 A5 1C + bne Sub_Loop406 ; CPU:$CF13 PRG:4F13 D0 1B + lda Zp95 ; CPU:$CF15 PRG:4F15 A5 95 + clc ; CPU:$CF17 PRG:4F17 18 + adc #$10 ; CPU:$CF18 PRG:4F18 69 10 + sta Zp97 ; CPU:$CF1A PRG:4F1A 85 97 + lda #$18 ; CPU:$CF1C PRG:4F1C A9 18 + ldx Zp1D ; CPU:$CF1E PRG:4F1E A6 1D + beq Sub_Loop405 ; CPU:$CF20 PRG:4F20 F0 02 + eor #$FF ; CPU:$CF22 PRG:4F22 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop405 +; Global: Branch target inside Sub: taken when Loop405. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop405: + sta Zp1E ; CPU:$CF24 PRG:4F24 85 1E + lda SpriteX ; CPU:$CF26 PRG:4F26 A5 96 + sec ; CPU:$CF28 PRG:4F28 38 + sbc Zp1E ; CPU:$CF29 PRG:4F29 E5 1E + sta SpriteY ; CPU:$CF2B PRG:4F2B 85 98 + jmp Sub_CF48 ; CPU:$CF2D PRG:4F2D 4C 48 CF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop406 +; Global: Branch target inside Sub: taken when Loop406. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop406: + lda Zp97 ; CPU:$CF30 PRG:4F30 A5 97 + clc ; CPU:$CF32 PRG:4F32 18 + adc #$10 ; CPU:$CF33 PRG:4F33 69 10 + sta Zp95 ; CPU:$CF35 PRG:4F35 85 95 + lda #$18 ; CPU:$CF37 PRG:4F37 A9 18 + ldx Zp1D ; CPU:$CF39 PRG:4F39 A6 1D + beq Sub_Loop407 ; CPU:$CF3B PRG:4F3B F0 02 + eor #$FF ; CPU:$CF3D PRG:4F3D 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop407 +; Global: Branch target inside Sub: taken when Loop407. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop407: + sta Zp1E ; CPU:$CF3F PRG:4F3F 85 1E + lda SpriteY ; CPU:$CF41 PRG:4F41 A5 98 + clc ; CPU:$CF43 PRG:4F43 18 + adc Zp1E ; CPU:$CF44 PRG:4F44 65 1E + sta SpriteX ; CPU:$CF46 PRG:4F46 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CF48 +; Global: Branch target inside Sub: taken when CF48. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF48: + jmp Sub_CF6E ; CPU:$CF48 PRG:4F48 4C 6E CF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop408 +; Global: Branch target inside Sub: taken when Loop408. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop408: + lda #$00 ; CPU:$CF4B PRG:4F4B A9 00 + sta Zp9F ; CPU:$CF4D PRG:4F4D 85 9F + lda Zp1C ; CPU:$CF4F PRG:4F4F A5 1C + bne Sub_Loop409 ; CPU:$CF51 PRG:4F51 D0 0A + lda Zp95 ; CPU:$CF53 PRG:4F53 A5 95 + clc ; CPU:$CF55 PRG:4F55 18 + adc #$10 ; CPU:$CF56 PRG:4F56 69 10 + sta Zp97 ; CPU:$CF58 PRG:4F58 85 97 + jmp Sub_CF64 ; CPU:$CF5A PRG:4F5A 4C 64 CF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop409 +; Global: Branch target inside Sub: taken when Loop409. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop409: + lda Zp97 ; CPU:$CF5D PRG:4F5D A5 97 + clc ; CPU:$CF5F PRG:4F5F 18 + adc #$10 ; CPU:$CF60 PRG:4F60 69 10 + sta Zp95 ; CPU:$CF62 PRG:4F62 85 95 +; ----------------------------------------------------------------------------- +; Routine: Sub_CF64 +; Global: Branch target inside Sub: taken when CF64. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF64: + jmp Sub_CF6E ; CPU:$CF64 PRG:4F64 4C 6E CF +; ----------------------------------------------------------------------------- +; Routine: Sub_CF67 +; Global: Branch target inside Sub: taken when CF67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF67: + lda Zp95 ; CPU:$CF67 PRG:4F67 A5 95 + clc ; CPU:$CF69 PRG:4F69 18 + adc #$10 ; CPU:$CF6A PRG:4F6A 69 10 + sta Zp97 ; CPU:$CF6C PRG:4F6C 85 97 +; ----------------------------------------------------------------------------- +; Routine: Sub_CF6E +; Global: Branch target inside Sub: taken when CF6E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CF6E: + jmp Sub_D18E ; CPU:$CF6E PRG:4F6E 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_CF71 +; Global: Branch target inside Label: taken when CF71. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_CF71: + lda Zp3C ; CPU:$CF71 PRG:4F71 A5 3C + cmp #$01 ; CPU:$CF73 PRG:4F73 C9 01 + beq Sub_Loop414 ; CPU:$CF75 PRG:4F75 F0 33 + cmp #$02 ; CPU:$CF77 PRG:4F77 C9 02 + bne Sub_Loop410 ; CPU:$CF79 PRG:4F79 D0 03 + jmp Sub_D031 ; CPU:$CF7B PRG:4F7B 4C 31 D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop410 +; Global: Branch target inside Sub: taken when Loop410. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop410: + lda Zp1C ; CPU:$CF7E PRG:4F7E A5 1C + bne Sub_Loop412 ; CPU:$CF80 PRG:4F80 D0 14 + lda #$08 ; CPU:$CF82 PRG:4F82 A9 08 + ldx Zp1D ; CPU:$CF84 PRG:4F84 A6 1D + beq Sub_Loop411 ; CPU:$CF86 PRG:4F86 F0 02 + eor #$FF ; CPU:$CF88 PRG:4F88 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop411 +; Global: Branch target inside Sub: taken when Loop411. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop411: + sta Zp1E ; CPU:$CF8A PRG:4F8A 85 1E + lda SpriteX ; CPU:$CF8C PRG:4F8C A5 96 + sec ; CPU:$CF8E PRG:4F8E 38 + sbc Zp1E ; CPU:$CF8F PRG:4F8F E5 1E + sta SpriteY ; CPU:$CF91 PRG:4F91 85 98 + jmp Sub_CFA7 ; CPU:$CF93 PRG:4F93 4C A7 CF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop412 +; Global: Branch target inside Sub: taken when Loop412. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop412: + lda #$08 ; CPU:$CF96 PRG:4F96 A9 08 + ldx Zp1D ; CPU:$CF98 PRG:4F98 A6 1D + beq Sub_Loop413 ; CPU:$CF9A PRG:4F9A F0 02 + eor #$FF ; CPU:$CF9C PRG:4F9C 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop413 +; Global: Branch target inside Sub: taken when Loop413. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop413: + sta Zp1E ; CPU:$CF9E PRG:4F9E 85 1E + lda SpriteY ; CPU:$CFA0 PRG:4FA0 A5 98 + clc ; CPU:$CFA2 PRG:4FA2 18 + adc Zp1E ; CPU:$CFA3 PRG:4FA3 65 1E + sta SpriteX ; CPU:$CFA5 PRG:4FA5 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_CFA7 +; Global: Branch target inside Sub: taken when CFA7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_CFA7: + jmp Sub_D2E2 ; CPU:$CFA7 PRG:4FA7 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop414 +; Global: Branch target inside Sub: taken when Loop414. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop414: + lda Zp1C ; CPU:$CFAA PRG:4FAA A5 1C + bne Sub_Loop418 ; CPU:$CFAC PRG:4FAC D0 41 + lda SpriteX ; CPU:$CFAE PRG:4FAE A5 96 + cmp #$2C ; CPU:$CFB0 PRG:4FB0 C9 2C + bcs Sub_Loop415 ; CPU:$CFB2 PRG:4FB2 B0 11 + lda #$24 ; CPU:$CFB4 PRG:4FB4 A9 24 + sta SpriteX ; CPU:$CFB6 PRG:4FB6 85 96 + lda #$18 ; CPU:$CFB8 PRG:4FB8 A9 18 + sta SpriteY ; CPU:$CFBA PRG:4FBA 85 98 + lda Zp3B ; CPU:$CFBC PRG:4FBC A5 3B + and #$BF ; CPU:$CFBE PRG:4FBE 29 BF + sta Zp3B ; CPU:$CFC0 PRG:4FC0 85 3B + jmp Sub_D02E ; CPU:$CFC2 PRG:4FC2 4C 2E D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop415 +; Global: Branch target inside Sub: taken when Loop415. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop415: + cmp #$C4 ; CPU:$CFC5 PRG:4FC5 C9 C4 + bcc Sub_Loop416 ; CPU:$CFC7 PRG:4FC7 90 11 + lda #$CC ; CPU:$CFC9 PRG:4FC9 A9 CC + sta SpriteX ; CPU:$CFCB PRG:4FCB 85 96 + lda #$D4 ; CPU:$CFCD PRG:4FCD A9 D4 + sta SpriteY ; CPU:$CFCF PRG:4FCF 85 98 + lda Zp3B ; CPU:$CFD1 PRG:4FD1 A5 3B + ora #$40 ; CPU:$CFD3 PRG:4FD3 09 40 + sta Zp3B ; CPU:$CFD5 PRG:4FD5 85 3B + jmp Sub_D02E ; CPU:$CFD7 PRG:4FD7 4C 2E D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop416 +; Global: Branch target inside Sub: taken when Loop416. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop416: + dec SpriteX ; CPU:$CFDA PRG:4FDA C6 96 + dec SpriteY ; CPU:$CFDC PRG:4FDC C6 98 + lda Zp3B ; CPU:$CFDE PRG:4FDE A5 3B + and #$40 ; CPU:$CFE0 PRG:4FE0 29 40 + beq Sub_Loop417 ; CPU:$CFE2 PRG:4FE2 F0 08 + inc SpriteX ; CPU:$CFE4 PRG:4FE4 E6 96 + inc SpriteX ; CPU:$CFE6 PRG:4FE6 E6 96 + inc SpriteY ; CPU:$CFE8 PRG:4FE8 E6 98 + inc SpriteY ; CPU:$CFEA PRG:4FEA E6 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop417 +; Global: Branch target inside Sub: taken when Loop417. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop417: + jmp Sub_D2E8 ; CPU:$CFEC PRG:4FEC 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop418 +; Global: Branch target inside Sub: taken when Loop418. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop418: + lda SpriteY ; CPU:$CFEF PRG:4FEF A5 98 + cmp #$2C ; CPU:$CFF1 PRG:4FF1 C9 2C + bcs Sub_Loop419 ; CPU:$CFF3 PRG:4FF3 B0 11 + lda #$24 ; CPU:$CFF5 PRG:4FF5 A9 24 + sta SpriteY ; CPU:$CFF7 PRG:4FF7 85 98 + lda #$18 ; CPU:$CFF9 PRG:4FF9 A9 18 + sta SpriteX ; CPU:$CFFB PRG:4FFB 85 96 + lda Zp3B ; CPU:$CFFD PRG:4FFD A5 3B + ora #$40 ; CPU:$CFFF PRG:4FFF 09 40 + sta Zp3B ; CPU:$D001 PRG:5001 85 3B + jmp Sub_D02E ; CPU:$D003 PRG:5003 4C 2E D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop419 +; Global: Branch target inside Sub: taken when Loop419. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop419: + cmp #$C4 ; CPU:$D006 PRG:5006 C9 C4 + bcc Sub_Loop420 ; CPU:$D008 PRG:5008 90 11 + lda #$CC ; CPU:$D00A PRG:500A A9 CC + sta SpriteY ; CPU:$D00C PRG:500C 85 98 + lda #$D4 ; CPU:$D00E PRG:500E A9 D4 + sta SpriteX ; CPU:$D010 PRG:5010 85 96 + lda Zp3B ; CPU:$D012 PRG:5012 A5 3B + and #$BF ; CPU:$D014 PRG:5014 29 BF + sta Zp3B ; CPU:$D016 PRG:5016 85 3B + jmp Sub_D02E ; CPU:$D018 PRG:5018 4C 2E D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop420 +; Global: Branch target inside Sub: taken when Loop420. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop420: + inc SpriteX ; CPU:$D01B PRG:501B E6 96 + inc SpriteY ; CPU:$D01D PRG:501D E6 98 + lda Zp1D ; CPU:$D01F PRG:501F A5 1D + beq Sub_Loop421 ; CPU:$D021 PRG:5021 F0 08 + dec SpriteX ; CPU:$D023 PRG:5023 C6 96 + dec SpriteX ; CPU:$D025 PRG:5025 C6 96 + dec SpriteY ; CPU:$D027 PRG:5027 C6 98 + dec SpriteY ; CPU:$D029 PRG:5029 C6 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop421 +; Global: Branch target inside Sub: taken when Loop421. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop421: + jmp Sub_D2E8 ; CPU:$D02B PRG:502B 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D02E +; Global: Branch target inside Sub: taken when D02E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D02E: + jmp Sub_D2E2 ; CPU:$D02E PRG:502E 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_D031 +; Global: Branch target inside Sub: taken when D031. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D031: + lda Zp3D ; CPU:$D031 PRG:5031 A5 3D + cmp #$20 ; CPU:$D033 PRG:5033 C9 20 + bne Sub_Loop422 ; CPU:$D035 PRG:5035 D0 17 + lda #$03 ; CPU:$D037 PRG:5037 A9 03 + jsr Sub_F036 ; CPU:$D039 PRG:5039 20 36 F0 + lda #$20 ; CPU:$D03C PRG:503C A9 20 + jsr Sub_F227 ; CPU:$D03E PRG:503E 20 27 F2 + lda #$04 ; CPU:$D041 PRG:5041 A9 04 + jsr Sub_9BF6 ; CPU:$D043 PRG:5043 20 F6 9B + lda #$04 ; CPU:$D046 PRG:5046 A9 04 + jsr Sub_F03D ; CPU:$D048 PRG:5048 20 3D F0 + jmp Sub_D2FF ; CPU:$D04B PRG:504B 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop422 +; Global: Branch target inside Sub: taken when Loop422. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop422: + cmp #$00 ; CPU:$D04E PRG:504E C9 00 + beq Sub_Loop423 ; CPU:$D050 PRG:5050 F0 03 + jmp Sub_D2FF ; CPU:$D052 PRG:5052 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop423 +; Global: Branch target inside Sub: taken when Loop423. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop423: + lda Zp1C ; CPU:$D055 PRG:5055 A5 1C + bne Sub_Loop425 ; CPU:$D057 PRG:5057 D0 1B + lda Zp95 ; CPU:$D059 PRG:5059 A5 95 + clc ; CPU:$D05B PRG:505B 18 + adc #$10 ; CPU:$D05C PRG:505C 69 10 + sta Zp97 ; CPU:$D05E PRG:505E 85 97 + lda #$18 ; CPU:$D060 PRG:5060 A9 18 + ldx Zp1D ; CPU:$D062 PRG:5062 A6 1D + beq Sub_Loop424 ; CPU:$D064 PRG:5064 F0 02 + eor #$FF ; CPU:$D066 PRG:5066 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop424 +; Global: Branch target inside Sub: taken when Loop424. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop424: + sta Zp1E ; CPU:$D068 PRG:5068 85 1E + lda SpriteX ; CPU:$D06A PRG:506A A5 96 + sec ; CPU:$D06C PRG:506C 38 + sbc Zp1E ; CPU:$D06D PRG:506D E5 1E + sta SpriteY ; CPU:$D06F PRG:506F 85 98 + jmp Sub_D08C ; CPU:$D071 PRG:5071 4C 8C D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop425 +; Global: Branch target inside Sub: taken when Loop425. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop425: + lda Zp97 ; CPU:$D074 PRG:5074 A5 97 + clc ; CPU:$D076 PRG:5076 18 + adc #$10 ; CPU:$D077 PRG:5077 69 10 + sta Zp95 ; CPU:$D079 PRG:5079 85 95 + lda #$18 ; CPU:$D07B PRG:507B A9 18 + ldx Zp1D ; CPU:$D07D PRG:507D A6 1D + beq Sub_Loop426 ; CPU:$D07F PRG:507F F0 02 + eor #$FF ; CPU:$D081 PRG:5081 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop426 +; Global: Branch target inside Sub: taken when Loop426. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop426: + sta Zp1E ; CPU:$D083 PRG:5083 85 1E + lda SpriteY ; CPU:$D085 PRG:5085 A5 98 + clc ; CPU:$D087 PRG:5087 18 + adc Zp1E ; CPU:$D088 PRG:5088 65 1E + sta SpriteX ; CPU:$D08A PRG:508A 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_D08C +; Global: Branch target inside Sub: taken when D08C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D08C: + jmp Sub_D18E ; CPU:$D08C PRG:508C 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D08F +; Global: Branch target inside Label: taken when D08F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D08F: + lda Zp3C ; CPU:$D08F PRG:508F A5 3C + cmp #$01 ; CPU:$D091 PRG:5091 C9 01 + beq Sub_Loop427 ; CPU:$D093 PRG:5093 F0 07 + cmp #$02 ; CPU:$D095 PRG:5095 C9 02 + beq Sub_Loop433 ; CPU:$D097 PRG:5097 F0 45 + jmp Sub_D2E2 ; CPU:$D099 PRG:5099 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop427 +; Global: Branch target inside Sub: taken when Loop427. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop427: + ldx #$10 ; CPU:$D09C PRG:509C A2 10 + lda Zp1D ; CPU:$D09E PRG:509E A5 1D + bne Sub_Loop428 ; CPU:$D0A0 PRG:50A0 D0 02 + ldx #$20 ; CPU:$D0A2 PRG:50A2 A2 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop428 +; Global: Branch target inside Sub: taken when Loop428. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop428: + stx Zp1E ; CPU:$D0A4 PRG:50A4 86 1E + lda SpriteX ; CPU:$D0A6 PRG:50A6 A5 96 + clc ; CPU:$D0A8 PRG:50A8 18 + adc #$10 ; CPU:$D0A9 PRG:50A9 69 10 + sec ; CPU:$D0AB PRG:50AB 38 + sbc SpriteY ; CPU:$D0AC PRG:50AC E5 98 + cmp Zp1E ; CPU:$D0AE PRG:50AE C5 1E + bcc Sub_Loop432 ; CPU:$D0B0 PRG:50B0 90 24 + lda Zp1C ; CPU:$D0B2 PRG:50B2 A5 1C + bne Sub_Loop430 ; CPU:$D0B4 PRG:50B4 D0 10 + lda SpriteX ; CPU:$D0B6 PRG:50B6 A5 96 + cmp SpriteY ; CPU:$D0B8 PRG:50B8 C5 98 + bcs Sub_Loop429 ; CPU:$D0BA PRG:50BA B0 05 + inc SpriteX ; CPU:$D0BC PRG:50BC E6 96 + jmp Sub_D2E8 ; CPU:$D0BE PRG:50BE 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop429 +; Global: Branch target inside Sub: taken when Loop429. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop429: + dec SpriteX ; CPU:$D0C1 PRG:50C1 C6 96 + jmp Sub_D2E8 ; CPU:$D0C3 PRG:50C3 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop430 +; Global: Branch target inside Sub: taken when Loop430. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop430: + lda SpriteY ; CPU:$D0C6 PRG:50C6 A5 98 + cmp SpriteX ; CPU:$D0C8 PRG:50C8 C5 96 + bcs Sub_Loop431 ; CPU:$D0CA PRG:50CA B0 05 + inc SpriteY ; CPU:$D0CC PRG:50CC E6 98 + jmp Sub_D2E8 ; CPU:$D0CE PRG:50CE 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop431 +; Global: Branch target inside Sub: taken when Loop431. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop431: + dec SpriteY ; CPU:$D0D1 PRG:50D1 C6 98 + jmp Sub_D2E8 ; CPU:$D0D3 PRG:50D3 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop432 +; Global: Branch target inside Sub: taken when Loop432. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop432: + lda #$0E ; CPU:$D0D6 PRG:50D6 A9 0E + jsr Sub_F036 ; CPU:$D0D8 PRG:50D8 20 36 F0 + jmp Sub_D2E2 ; CPU:$D0DB PRG:50DB 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop433 +; Global: Branch target inside Sub: taken when Loop433. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop433: + lda Zp3D ; CPU:$D0DE PRG:50DE A5 3D + beq Sub_Loop434 ; CPU:$D0E0 PRG:50E0 F0 03 + jmp Sub_D2FF ; CPU:$D0E2 PRG:50E2 4C FF D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop434 +; Global: Branch target inside Sub: taken when Loop434. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop434: + lda #$00 ; CPU:$D0E5 PRG:50E5 A9 00 + sta ZpA1 ; CPU:$D0E7 PRG:50E7 85 A1 + ldx #$60 ; CPU:$D0E9 PRG:50E9 A2 60 + jsr Sub_EEC5 ; CPU:$D0EB PRG:50EB 20 C5 EE + lda Zp1C ; CPU:$D0EE PRG:50EE A5 1C + bne Sub_Loop436 ; CPU:$D0F0 PRG:50F0 D0 1B + lda Zp95 ; CPU:$D0F2 PRG:50F2 A5 95 + clc ; CPU:$D0F4 PRG:50F4 18 + adc #$10 ; CPU:$D0F5 PRG:50F5 69 10 + sta Zp97 ; CPU:$D0F7 PRG:50F7 85 97 + lda #$08 ; CPU:$D0F9 PRG:50F9 A9 08 + ldx Zp1D ; CPU:$D0FB PRG:50FB A6 1D + beq Sub_Loop435 ; CPU:$D0FD PRG:50FD F0 02 + eor #$FF ; CPU:$D0FF PRG:50FF 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop435 +; Global: Branch target inside Sub: taken when Loop435. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop435: + sta Zp1E ; CPU:$D101 PRG:5101 85 1E + lda SpriteX ; CPU:$D103 PRG:5103 A5 96 + sec ; CPU:$D105 PRG:5105 38 + sbc Zp1E ; CPU:$D106 PRG:5106 E5 1E + sta SpriteY ; CPU:$D108 PRG:5108 85 98 + jmp Sub_D125 ; CPU:$D10A PRG:510A 4C 25 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop436 +; Global: Branch target inside Sub: taken when Loop436. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop436: + lda Zp97 ; CPU:$D10D PRG:510D A5 97 + clc ; CPU:$D10F PRG:510F 18 + adc #$10 ; CPU:$D110 PRG:5110 69 10 + sta Zp95 ; CPU:$D112 PRG:5112 85 95 + lda #$08 ; CPU:$D114 PRG:5114 A9 08 + ldx Zp1D ; CPU:$D116 PRG:5116 A6 1D + beq Sub_Loop437 ; CPU:$D118 PRG:5118 F0 02 + eor #$FF ; CPU:$D11A PRG:511A 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop437 +; Global: Branch target inside Sub: taken when Loop437. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop437: + sta Zp1E ; CPU:$D11C PRG:511C 85 1E + lda SpriteY ; CPU:$D11E PRG:511E A5 98 + clc ; CPU:$D120 PRG:5120 18 + adc Zp1E ; CPU:$D121 PRG:5121 65 1E + sta SpriteX ; CPU:$D123 PRG:5123 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_D125 +; Global: Branch target inside Sub: taken when D125. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D125: + lda #$04 ; CPU:$D125 PRG:5125 A9 04 + jsr Sub_F036 ; CPU:$D127 PRG:5127 20 36 F0 + jmp Sub_D18E ; CPU:$D12A PRG:512A 4C 8E D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D12D +; Global: Branch target inside Label: taken when D12D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D12D: + lda Zp3C ; CPU:$D12D PRG:512D A5 3C + cmp #$01 ; CPU:$D12F PRG:512F C9 01 + beq Sub_Loop438 ; CPU:$D131 PRG:5131 F0 15 + cmp #$02 ; CPU:$D133 PRG:5133 C9 02 + beq Sub_Loop442 ; CPU:$D135 PRG:5135 F0 3C + lda #$60 ; CPU:$D137 PRG:5137 A9 60 + sta SpriteX ; CPU:$D139 PRG:5139 85 96 + lda #$7E ; CPU:$D13B PRG:513B A9 7E + sta Zp95 ; CPU:$D13D PRG:513D 85 95 + sta Zp97 ; CPU:$D13F PRG:513F 85 97 + lda #$A0 ; CPU:$D141 PRG:5141 A9 A0 + sta SpriteY ; CPU:$D143 PRG:5143 85 98 + jmp Sub_D2E2 ; CPU:$D145 PRG:5145 4C E2 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop438 +; Global: Branch target inside Sub: taken when Loop438. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop438: + lda #$00 ; CPU:$D148 PRG:5148 A9 00 + sta Zp1E ; CPU:$D14A PRG:514A 85 1E + lda Zp41 ; CPU:$D14C PRG:514C A5 41 + and #$20 ; CPU:$D14E PRG:514E 29 20 + beq Sub_Loop439 ; CPU:$D150 PRG:5150 F0 0B + inc Zp95 ; CPU:$D152 PRG:5152 E6 95 + lda Zp95 ; CPU:$D154 PRG:5154 A5 95 + cmp #$B8 ; CPU:$D156 PRG:5156 C9 B8 + bcc Sub_Loop439 ; CPU:$D158 PRG:5158 90 03 + jmp Sub_Loop441 ; CPU:$D15A PRG:515A 4C 6E D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop439 +; Global: Branch target inside Sub: taken when Loop439. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop439: + lda Zp41 ; CPU:$D15D PRG:515D A5 41 + and #$10 ; CPU:$D15F PRG:515F 29 10 + beq Sub_Loop440 ; CPU:$D161 PRG:5161 F0 08 + inc Zp97 ; CPU:$D163 PRG:5163 E6 97 + lda Zp97 ; CPU:$D165 PRG:5165 A5 97 + cmp #$B8 ; CPU:$D167 PRG:5167 C9 B8 + bcs Sub_Loop441 ; CPU:$D169 PRG:5169 B0 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop440 +; Global: Branch target inside Sub: taken when Loop440. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop440: + jmp Sub_D2E8 ; CPU:$D16B PRG:516B 4C E8 D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop441 +; Global: Branch target inside Sub: taken when Loop441. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop441: + lda #$04 ; CPU:$D16E PRG:516E A9 04 + jsr Sub_F036 ; CPU:$D170 PRG:5170 20 36 F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop442 +; Global: Branch target inside Sub: taken when Loop442. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop442: + ldx #$00 ; CPU:$D173 PRG:5173 A2 00 + lda Zp41 ; CPU:$D175 PRG:5175 A5 41 + and #$20 ; CPU:$D177 PRG:5177 29 20 + beq Sub_Loop443 ; CPU:$D179 PRG:5179 F0 02 + ldx #$87 ; CPU:$D17B PRG:517B A2 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop443 +; Global: Branch target inside Sub: taken when Loop443. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop443: + ldy #$00 ; CPU:$D17D PRG:517D A0 00 + lda Zp41 ; CPU:$D17F PRG:517F A5 41 + and #$10 ; CPU:$D181 PRG:5181 29 10 + beq Sub_Loop444 ; CPU:$D183 PRG:5183 F0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_D185 +; Global: Branch target inside Label: taken when D185. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D185: + ldy #$87 ; CPU:$D185 PRG:5185 A0 87 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop444 +; Global: Branch target inside Sub: taken when Loop444. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop444: + stx Zp99 ; CPU:$D187 PRG:5187 86 99 + sty Zp9A ; CPU:$D189 PRG:5189 84 9A + jmp Sub_D1D5 ; CPU:$D18B PRG:518B 4C D5 D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D18E +; Global: Branch target inside Sub: taken when D18E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D18E: + ldx #$00 ; CPU:$D18E PRG:518E A2 00 + lda Zp1C ; CPU:$D190 PRG:5190 A5 1C + beq Sub_Loop445 ; CPU:$D192 PRG:5192 F0 02 + ldx #$1C ; CPU:$D194 PRG:5194 A2 1C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop445 +; Global: Branch target inside Sub: taken when Loop445. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop445: + stx Zp1E ; CPU:$D196 PRG:5196 86 1E + lda Zp21 ; CPU:$D198 PRG:5198 A5 21 + asl a ; CPU:$D19A PRG:519A 0A + clc ; CPU:$D19B PRG:519B 18 + adc Zp1E ; CPU:$D19C PRG:519C 65 1E + tax ; CPU:$D19E PRG:519E AA + lda $D449,x ; CPU:$D19F PRG:519F BD 49 D4 + tay ; CPU:$D1A2 PRG:51A2 A8 + lda $D44A,x ; CPU:$D1A3 PRG:51A3 BD 4A D4 + tax ; CPU:$D1A6 PRG:51A6 AA + lda Zp1D ; CPU:$D1A7 PRG:51A7 A5 1D + beq Sub_Loop447 ; CPU:$D1A9 PRG:51A9 F0 26 + txa ; CPU:$D1AB PRG:51AB 8A + and #$C0 ; CPU:$D1AC PRG:51AC 29 C0 + beq Sub_Loop446 ; CPU:$D1AE PRG:51AE F0 0E + eor #$FF ; CPU:$D1B0 PRG:51B0 49 FF + ora #$80 ; CPU:$D1B2 PRG:51B2 09 80 + and #$C0 ; CPU:$D1B4 PRG:51B4 29 C0 + sta Zp1E ; CPU:$D1B6 PRG:51B6 85 1E + txa ; CPU:$D1B8 PRG:51B8 8A + and #$3F ; CPU:$D1B9 PRG:51B9 29 3F + ora Zp1E ; CPU:$D1BB PRG:51BB 05 1E + tax ; CPU:$D1BD PRG:51BD AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop446 +; Global: Branch target inside Sub: taken when Loop446. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop446: + tya ; CPU:$D1BE PRG:51BE 98 + and #$C0 ; CPU:$D1BF PRG:51BF 29 C0 + beq Sub_Loop447 ; CPU:$D1C1 PRG:51C1 F0 0E + eor #$FF ; CPU:$D1C3 PRG:51C3 49 FF + ora #$80 ; CPU:$D1C5 PRG:51C5 09 80 + and #$C0 ; CPU:$D1C7 PRG:51C7 29 C0 + sta Zp1E ; CPU:$D1C9 PRG:51C9 85 1E + tya ; CPU:$D1CB PRG:51CB 98 + and #$3F ; CPU:$D1CC PRG:51CC 29 3F + ora Zp1E ; CPU:$D1CE PRG:51CE 05 1E + tay ; CPU:$D1D0 PRG:51D0 A8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop447 +; Global: Branch target inside Sub: taken when Loop447. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop447: + sty Zp99 ; CPU:$D1D1 PRG:51D1 84 99 + stx Zp9A ; CPU:$D1D3 PRG:51D3 86 9A +; ----------------------------------------------------------------------------- +; Routine: Sub_D1D5 +; Global: Branch target inside Sub: taken when D1D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D1D5: + lda Zp3B ; CPU:$D1D5 PRG:51D5 A5 3B + and #$7F ; CPU:$D1D7 PRG:51D7 29 7F + sta Zp3B ; CPU:$D1D9 PRG:51D9 85 3B + jsr Sub_EF2F ; CPU:$D1DB PRG:51DB 20 2F EF + lda GameState ; CPU:$D1DE PRG:51DE A5 36 + bmi Sub_Loop450 ; CPU:$D1E0 PRG:51E0 30 15 + ldx #$00 ; CPU:$D1E2 PRG:51E2 A2 00 + lda Zp1C ; CPU:$D1E4 PRG:51E4 A5 1C + bne Sub_Loop448 ; CPU:$D1E6 PRG:51E6 D0 02 + ldx #$02 ; CPU:$D1E8 PRG:51E8 A2 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop448 +; Global: Branch target inside Sub: taken when Loop448. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop448: + lda Zp95,x ; CPU:$D1EA PRG:51EA B5 95 + clc ; CPU:$D1EC PRG:51EC 18 + adc #$08 ; CPU:$D1ED PRG:51ED 69 08 + cmp #$A2 ; CPU:$D1EF PRG:51EF C9 A2 + bcc Sub_Loop449 ; CPU:$D1F1 PRG:51F1 90 02 + lda #$A2 ; CPU:$D1F3 PRG:51F3 A9 A2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop449 +; Global: Branch target inside Sub: taken when Loop449. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop449: + sta Zp95,x ; CPU:$D1F5 PRG:51F5 95 95 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop450 +; Global: Branch target inside Sub: taken when Loop450. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop450: + ldx WrestlerIndex ; CPU:$D1F7 PRG:51F7 A6 85 + lda Zp99 ; CPU:$D1F9 PRG:51F9 A5 99 + sta PlayerTile,x ; CPU:$D1FB PRG:51FB 95 32 + lda Zp95 ; CPU:$D1FD PRG:51FD A5 95 + sta PlayerX,x ; CPU:$D1FF PRG:51FF 95 33 + lda SpriteX ; CPU:$D201 PRG:5201 A5 96 + sta PlayerY,x ; CPU:$D203 PRG:5203 95 34 + lda #$20 ; CPU:$D205 PRG:5205 A9 20 + sta GameState,x ; CPU:$D207 PRG:5207 95 36 + ldx WrestlerIndex2 ; CPU:$D209 PRG:5209 A6 86 + lda Zp9A ; CPU:$D20B PRG:520B A5 9A + sta PlayerTile,x ; CPU:$D20D PRG:520D 95 32 + lda Zp97 ; CPU:$D20F PRG:520F A5 97 + sta PlayerX,x ; CPU:$D211 PRG:5211 95 33 + lda SpriteY ; CPU:$D213 PRG:5213 A5 98 + sta PlayerY,x ; CPU:$D215 PRG:5215 95 34 + lda #$20 ; CPU:$D217 PRG:5217 A9 20 + sta GameState,x ; CPU:$D219 PRG:5219 95 36 + ldx WrestlerIndex ; CPU:$D21B PRG:521B A6 85 + lda Zp1C ; CPU:$D21D PRG:521D A5 1C + bne Sub_Loop451 ; CPU:$D21F PRG:521F D0 02 + ldx WrestlerIndex2 ; CPU:$D221 PRG:5221 A6 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop451 +; Global: Branch target inside Sub: taken when Loop451. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop451: + lda #$40 ; CPU:$D223 PRG:5223 A9 40 + sta GameState,x ; CPU:$D225 PRG:5225 95 36 + lda GameState ; CPU:$D227 PRG:5227 A5 36 + bmi Sub_Loop458 ; CPU:$D229 PRG:5229 30 70 + lda #$00 ; CPU:$D22B PRG:522B A9 00 + sta Zp1E ; CPU:$D22D PRG:522D 85 1E + ldx SpriteX ; CPU:$D22F PRG:522F A6 96 + ldy #$A0 ; CPU:$D231 PRG:5231 A0 A0 + lda Zp1C ; CPU:$D233 PRG:5233 A5 1C + bne Sub_Loop452 ; CPU:$D235 PRG:5235 D0 04 + ldx SpriteY ; CPU:$D237 PRG:5237 A6 98 + ldy #$90 ; CPU:$D239 PRG:5239 A0 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop452 +; Global: Branch target inside Sub: taken when Loop452. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop452: + txa ; CPU:$D23B PRG:523B 8A + cmp #$30 ; CPU:$D23C PRG:523C C9 30 + bcc Sub_Loop453 ; CPU:$D23E PRG:523E 90 04 + cmp #$C0 ; CPU:$D240 PRG:5240 C9 C0 + bcc Sub_Loop454 ; CPU:$D242 PRG:5242 90 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop453 +; Global: Branch target inside Sub: taken when Loop453. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop453: + sty Zp1E ; CPU:$D244 PRG:5244 84 1E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop454 +; Global: Branch target inside Sub: taken when Loop454. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop454: + lda Zp21 ; CPU:$D246 PRG:5246 A5 21 + cmp #$00 ; CPU:$D248 PRG:5248 C9 00 + beq Sub_Loop457 ; CPU:$D24A PRG:524A F0 24 + cmp #$05 ; CPU:$D24C PRG:524C C9 05 + beq Sub_Loop457 ; CPU:$D24E PRG:524E F0 20 + cmp #$06 ; CPU:$D250 PRG:5250 C9 06 + beq Sub_Loop457 ; CPU:$D252 PRG:5252 F0 1C + cmp #$09 ; CPU:$D254 PRG:5254 C9 09 + beq Sub_Loop457 ; CPU:$D256 PRG:5256 F0 18 + ldx SpriteX ; CPU:$D258 PRG:5258 A6 96 + ldy #$B0 ; CPU:$D25A PRG:525A A0 B0 + lda Zp1C ; CPU:$D25C PRG:525C A5 1C + beq Sub_Loop455 ; CPU:$D25E PRG:525E F0 02 + ldx SpriteY ; CPU:$D260 PRG:5260 A6 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop455 +; Global: Branch target inside Sub: taken when Loop455. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop455: + txa ; CPU:$D262 PRG:5262 8A + cmp #$30 ; CPU:$D263 PRG:5263 C9 30 + bcc Sub_Loop456 ; CPU:$D265 PRG:5265 90 04 + cmp #$C0 ; CPU:$D267 PRG:5267 C9 C0 + bcc Sub_Loop457 ; CPU:$D269 PRG:5269 90 05 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop456 +; Global: Branch target inside Sub: taken when Loop456. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop456: + tya ; CPU:$D26B PRG:526B 98 + ora Zp1E ; CPU:$D26C PRG:526C 05 1E + sta Zp1E ; CPU:$D26E PRG:526E 85 1E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop457 +; Global: Branch target inside Sub: taken when Loop457. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop457: + lda Zp1E ; CPU:$D270 PRG:5270 A5 1E + beq Sub_Loop458 ; CPU:$D272 PRG:5272 F0 27 + lda Zp3B ; CPU:$D274 PRG:5274 A5 3B + and #$E0 ; CPU:$D276 PRG:5276 29 E0 + ora #$8E ; CPU:$D278 PRG:5278 09 8E + sta Zp3B ; CPU:$D27A PRG:527A 85 3B + lda #$00 ; CPU:$D27C PRG:527C A9 00 + sta Zp3C ; CPU:$D27E PRG:527E 85 3C + lda Zp1E ; CPU:$D280 PRG:5280 A5 1E + sta Zp41 ; CPU:$D282 PRG:5282 85 41 + lda #$00 ; CPU:$D284 PRG:5284 A9 00 + sta Zp42 ; CPU:$D286 PRG:5286 85 42 + sta Zp43 ; CPU:$D288 PRG:5288 85 43 + lda #$40 ; CPU:$D28A PRG:528A A9 40 + sta Zp44 ; CPU:$D28C PRG:528C 85 44 + lda GameState ; CPU:$D28E PRG:528E A5 36 + ora #$80 ; CPU:$D290 PRG:5290 09 80 + sta GameState ; CPU:$D292 PRG:5292 85 36 + lda #$81 ; CPU:$D294 PRG:5294 A9 81 + sta Zp8B ; CPU:$D296 PRG:5296 85 8B + jsr Sub_FD22 ; CPU:$D298 PRG:5298 20 22 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop458 +; Global: Branch target inside Sub: taken when Loop458. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop458: + lda Zp21 ; CPU:$D29B PRG:529B A5 21 + tax ; CPU:$D29D PRG:529D AA + lda $D481,x ; CPU:$D29E PRG:529E BD 81 D4 + sta Zp1F ; CPU:$D2A1 PRG:52A1 85 1F + ldx Zp1C ; CPU:$D2A3 PRG:52A3 A6 1C + bne Sub_Loop459 ; CPU:$D2A5 PRG:52A5 D0 02 + lda #$01 ; CPU:$D2A7 PRG:52A7 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop459 +; Global: Branch target inside Sub: taken when Loop459. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop459: + sta Zp20 ; CPU:$D2A9 PRG:52A9 85 20 + ldx WrestlerIndex ; CPU:$D2AB PRG:52AB A6 85 + lda Zp35,x ; CPU:$D2AD PRG:52AD B5 35 + cmp Zp20 ; CPU:$D2AF PRG:52AF C5 20 + bcc Sub_Loop460 ; CPU:$D2B1 PRG:52B1 90 06 + sec ; CPU:$D2B3 PRG:52B3 38 + sbc Zp20 ; CPU:$D2B4 PRG:52B4 E5 20 + jmp Sub_D2BB ; CPU:$D2B6 PRG:52B6 4C BB D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop460 +; Global: Branch target inside Sub: taken when Loop460. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop460: + lda #$00 ; CPU:$D2B9 PRG:52B9 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2BB +; Global: Branch target inside Sub: taken when D2BB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2BB: + sta Zp35,x ; CPU:$D2BB PRG:52BB 95 35 + lda Zp1F ; CPU:$D2BD PRG:52BD A5 1F + ldx Zp1C ; CPU:$D2BF PRG:52BF A6 1C + beq Sub_Loop461 ; CPU:$D2C1 PRG:52C1 F0 02 + lda #$01 ; CPU:$D2C3 PRG:52C3 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop461 +; Global: Branch target inside Sub: taken when Loop461. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop461: + sta Zp20 ; CPU:$D2C5 PRG:52C5 85 20 + ldx WrestlerIndex2 ; CPU:$D2C7 PRG:52C7 A6 86 + lda Zp35,x ; CPU:$D2C9 PRG:52C9 B5 35 + cmp Zp20 ; CPU:$D2CB PRG:52CB C5 20 + bcc Sub_Loop462 ; CPU:$D2CD PRG:52CD 90 06 + sec ; CPU:$D2CF PRG:52CF 38 + sbc Zp20 ; CPU:$D2D0 PRG:52D0 E5 20 + jmp Sub_D2DD ; CPU:$D2D2 PRG:52D2 4C DD D2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop462 +; Global: Branch target inside Sub: taken when Loop462. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop462: + lda GameState ; CPU:$D2D5 PRG:52D5 A5 36 + and #$EF ; CPU:$D2D7 PRG:52D7 29 EF + sta GameState ; CPU:$D2D9 PRG:52D9 85 36 + lda #$00 ; CPU:$D2DB PRG:52DB A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2DD +; Global: Branch target inside Sub: taken when D2DD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2DD: + sta Zp35,x ; CPU:$D2DD PRG:52DD 95 35 + jmp Sub_D332 ; CPU:$D2DF PRG:52DF 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2E2 +; Global: Branch target inside Sub: taken when D2E2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2E2: + lda #$20 ; CPU:$D2E2 PRG:52E2 A9 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2E4 +; Global: Branch target inside Sub: taken when D2E4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2E4: + sta Zp3D ; CPU:$D2E4 PRG:52E4 85 3D + inc Zp3C ; CPU:$D2E6 PRG:52E6 E6 3C +; ----------------------------------------------------------------------------- +; Routine: Sub_D2E8 +; Global: Branch target inside Sub: taken when D2E8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2E8: + ldx WrestlerIndex ; CPU:$D2E8 PRG:52E8 A6 85 + lda Zp95 ; CPU:$D2EA PRG:52EA A5 95 + sta PlayerX,x ; CPU:$D2EC PRG:52EC 95 33 + lda SpriteX ; CPU:$D2EE PRG:52EE A5 96 + sta PlayerY,x ; CPU:$D2F0 PRG:52F0 95 34 + ldx WrestlerIndex2 ; CPU:$D2F2 PRG:52F2 A6 86 + lda Zp97 ; CPU:$D2F4 PRG:52F4 A5 97 + sta PlayerX,x ; CPU:$D2F6 PRG:52F6 95 33 + lda SpriteY ; CPU:$D2F8 PRG:52F8 A5 98 + sta PlayerY,x ; CPU:$D2FA PRG:52FA 95 34 + jmp Sub_D332 ; CPU:$D2FC PRG:52FC 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D2FF +; Global: Branch target inside Sub: taken when D2FF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D2FF: + dec Zp3D ; CPU:$D2FF PRG:52FF C6 3D + jmp Sub_D332 ; CPU:$D301 PRG:5301 4C 32 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_D304 +; Global: Branch target inside Sub: taken when D304. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D304: + lda #$8C ; CPU:$D304 PRG:5304 A9 8C + jsr Sub_F036 ; CPU:$D306 PRG:5306 20 36 F0 + jsr Sub_9BF3 ; CPU:$D309 PRG:5309 20 F3 9B + jsr Sub_FD19 ; CPU:$D30C PRG:530C 20 19 FD + ldx #$E9 ; CPU:$D30F PRG:530F A2 E9 + ldy #$A8 ; CPU:$D311 PRG:5311 A0 A8 + jsr Sub_FD3A ; CPU:$D313 PRG:5313 20 3A FD + ldx #$B8 ; CPU:$D316 PRG:5316 A2 B8 + ldy #$B3 ; CPU:$D318 PRG:5318 A0 B3 + jsr Sub_FD3A ; CPU:$D31A PRG:531A 20 3A FD + lda #$07 ; CPU:$D31D PRG:531D A9 07 + jsr Sub_F03D ; CPU:$D31F PRG:531F 20 3D F0 + lda #$10 ; CPU:$D322 PRG:5322 A9 10 + jsr Sub_F227 ; CPU:$D324 PRG:5324 20 27 F2 + lda #$0E ; CPU:$D327 PRG:5327 A9 0E + jsr Sub_FD40 ; CPU:$D329 PRG:5329 20 40 FD + jsr Sub_E9C6 ; CPU:$D32C PRG:532C 20 C6 E9 + jmp Sub_FD13 ; CPU:$D32F PRG:532F 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_D332 +; Global: Branch target inside Sub: taken when D332. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D332: + rts ; CPU:$D332 PRG:5332 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D333 +; Global: Branch target inside Sub: taken when D333. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D333: + lda Zp1C ; CPU:$D333 PRG:5333 A5 1C + bne Sub_Loop464 ; CPU:$D335 PRG:5335 D0 14 + lda #$08 ; CPU:$D337 PRG:5337 A9 08 + ldx Zp1D ; CPU:$D339 PRG:5339 A6 1D + beq Sub_Loop463 ; CPU:$D33B PRG:533B F0 02 + eor #$FF ; CPU:$D33D PRG:533D 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop463 +; Global: Branch target inside Sub: taken when Loop463. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop463: + sta Zp1E ; CPU:$D33F PRG:533F 85 1E + lda SpriteX ; CPU:$D341 PRG:5341 A5 96 + sec ; CPU:$D343 PRG:5343 38 + sbc Zp1E ; CPU:$D344 PRG:5344 E5 1E + sta SpriteY ; CPU:$D346 PRG:5346 85 98 + jmp Sub_D35C ; CPU:$D348 PRG:5348 4C 5C D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop464 +; Global: Branch target inside Sub: taken when Loop464. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop464: + lda #$08 ; CPU:$D34B PRG:534B A9 08 + ldx Zp1D ; CPU:$D34D PRG:534D A6 1D + beq Sub_Loop465 ; CPU:$D34F PRG:534F F0 02 + eor #$FF ; CPU:$D351 PRG:5351 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop465 +; Global: Branch target inside Sub: taken when Loop465. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop465: + sta Zp1E ; CPU:$D353 PRG:5353 85 1E + lda SpriteY ; CPU:$D355 PRG:5355 A5 98 + clc ; CPU:$D357 PRG:5357 18 + adc Zp1E ; CPU:$D358 PRG:5358 65 1E + sta SpriteX ; CPU:$D35A PRG:535A 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_D35C +; Global: Branch target inside Sub: taken when D35C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D35C: + rts ; CPU:$D35C PRG:535C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D35D +; Global: Branch target inside Sub: taken when D35D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D35D: + lda Zp1C ; CPU:$D35D PRG:535D A5 1C + bne Sub_Loop467 ; CPU:$D35F PRG:535F D0 14 + lda #$18 ; CPU:$D361 PRG:5361 A9 18 + ldx Zp1D ; CPU:$D363 PRG:5363 A6 1D + beq Sub_Loop466 ; CPU:$D365 PRG:5365 F0 02 + eor #$FF ; CPU:$D367 PRG:5367 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop466 +; Global: Branch target inside Sub: taken when Loop466. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop466: + sta Zp1E ; CPU:$D369 PRG:5369 85 1E + lda SpriteX ; CPU:$D36B PRG:536B A5 96 + clc ; CPU:$D36D PRG:536D 18 + adc Zp1E ; CPU:$D36E PRG:536E 65 1E + sta SpriteY ; CPU:$D370 PRG:5370 85 98 + jmp Sub_D386 ; CPU:$D372 PRG:5372 4C 86 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop467 +; Global: Branch target inside Sub: taken when Loop467. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop467: + lda #$18 ; CPU:$D375 PRG:5375 A9 18 + ldx Zp1D ; CPU:$D377 PRG:5377 A6 1D + beq Sub_Loop468 ; CPU:$D379 PRG:5379 F0 02 + eor #$FF ; CPU:$D37B PRG:537B 49 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop468 +; Global: Branch target inside Sub: taken when Loop468. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop468: + sta Zp1E ; CPU:$D37D PRG:537D 85 1E + lda SpriteY ; CPU:$D37F PRG:537F A5 98 + sec ; CPU:$D381 PRG:5381 38 + sbc Zp1E ; CPU:$D382 PRG:5382 E5 1E + sta SpriteX ; CPU:$D384 PRG:5384 85 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_D386 +; Global: Branch target inside Sub: taken when D386. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D386: + rts ; CPU:$D386 PRG:5386 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D387 +; Global: Branch target inside Sub: taken when D387. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D387: + lda SpriteX ; CPU:$D387 PRG:5387 A5 96 + sta Zp1E ; CPU:$D389 PRG:5389 85 1E + lda Zp95 ; CPU:$D38B PRG:538B A5 95 + sta Zp8F ; CPU:$D38D PRG:538D 85 8F + jsr Sub_EE87 ; CPU:$D38F PRG:538F 20 87 EE + lda Zp1D ; CPU:$D392 PRG:5392 A5 1D + bne Sub_Loop469 ; CPU:$D394 PRG:5394 D0 0F + txa ; CPU:$D396 PRG:5396 8A + sec ; CPU:$D397 PRG:5397 38 + sbc #$10 ; CPU:$D398 PRG:5398 E9 10 + cmp Zp1E ; CPU:$D39A PRG:539A C5 1E + bcs Sub_Loop470 ; CPU:$D39C PRG:539C B0 1C + dec SpriteX ; CPU:$D39E PRG:539E C6 96 + dec SpriteX ; CPU:$D3A0 PRG:53A0 C6 96 + jmp Sub_D3B5 ; CPU:$D3A2 PRG:53A2 4C B5 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop469 +; Global: Branch target inside Sub: taken when Loop469. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop469: + tya ; CPU:$D3A5 PRG:53A5 98 + clc ; CPU:$D3A6 PRG:53A6 18 + adc #$10 ; CPU:$D3A7 PRG:53A7 69 10 + sta Zp1F ; CPU:$D3A9 PRG:53A9 85 1F + lda Zp1E ; CPU:$D3AB PRG:53AB A5 1E + cmp Zp1F ; CPU:$D3AD PRG:53AD C5 1F + bcs Sub_Loop470 ; CPU:$D3AF PRG:53AF B0 09 + inc SpriteX ; CPU:$D3B1 PRG:53B1 E6 96 + inc SpriteX ; CPU:$D3B3 PRG:53B3 E6 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3B5 +; Global: Branch target inside Sub: taken when D3B5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3B5: + lda #$00 ; CPU:$D3B5 PRG:53B5 A9 00 + jmp Sub_D3BC ; CPU:$D3B7 PRG:53B7 4C BC D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop470 +; Global: Branch target inside Sub: taken when Loop470. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop470: + lda #$FF ; CPU:$D3BA PRG:53BA A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_D3BC +; Global: Branch target inside Sub: taken when D3BC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3BC: + rts ; CPU:$D3BC PRG:53BC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3BD +; Global: Branch target inside Sub: taken when D3BD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3BD: + lda SpriteY ; CPU:$D3BD PRG:53BD A5 98 + sta Zp1E ; CPU:$D3BF PRG:53BF 85 1E + lda Zp97 ; CPU:$D3C1 PRG:53C1 A5 97 + sta Zp8F ; CPU:$D3C3 PRG:53C3 85 8F + jsr Sub_EE87 ; CPU:$D3C5 PRG:53C5 20 87 EE + lda Zp1D ; CPU:$D3C8 PRG:53C8 A5 1D + bne Sub_Loop471 ; CPU:$D3CA PRG:53CA D0 13 + tya ; CPU:$D3CC PRG:53CC 98 + clc ; CPU:$D3CD PRG:53CD 18 + adc #$10 ; CPU:$D3CE PRG:53CE 69 10 + sta Zp1F ; CPU:$D3D0 PRG:53D0 85 1F + lda Zp1E ; CPU:$D3D2 PRG:53D2 A5 1E + cmp Zp1F ; CPU:$D3D4 PRG:53D4 C5 1F + bcs Sub_Loop472 ; CPU:$D3D6 PRG:53D6 B0 18 + inc SpriteY ; CPU:$D3D8 PRG:53D8 E6 98 + inc SpriteY ; CPU:$D3DA PRG:53DA E6 98 + jmp Sub_D3B5 ; CPU:$D3DC PRG:53DC 4C B5 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop471 +; Global: Branch target inside Sub: taken when Loop471. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop471: + txa ; CPU:$D3DF PRG:53DF 8A + sec ; CPU:$D3E0 PRG:53E0 38 + sbc #$10 ; CPU:$D3E1 PRG:53E1 E9 10 + cmp Zp1E ; CPU:$D3E3 PRG:53E3 C5 1E + bcs Sub_Loop472 ; CPU:$D3E5 PRG:53E5 B0 09 + dec SpriteY ; CPU:$D3E7 PRG:53E7 C6 98 + dec SpriteY ; CPU:$D3E9 PRG:53E9 C6 98 + lda #$00 ; CPU:$D3EB PRG:53EB A9 00 + jmp Sub_D3F2 ; CPU:$D3ED PRG:53ED 4C F2 D3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop472 +; Global: Branch target inside Sub: taken when Loop472. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop472: + lda #$FF ; CPU:$D3F0 PRG:53F0 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_D3F2 +; Global: Branch target inside Sub: taken when D3F2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3F2: + rts ; CPU:$D3F2 PRG:53F2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D3F3 +; Global: Branch target inside Sub: taken when D3F3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D3F3: + tay ; CPU:$D3F3 PRG:53F3 A8 + lda SpriteX ; CPU:$D3F4 PRG:53F4 A5 96 + clc ; CPU:$D3F6 PRG:53F6 18 + adc #$10 ; CPU:$D3F7 PRG:53F7 69 10 + sec ; CPU:$D3F9 PRG:53F9 38 + sbc SpriteY ; CPU:$D3FA PRG:53FA E5 98 + ldx Zp1D ; CPU:$D3FC PRG:53FC A6 1D + beq Sub_Loop473 ; CPU:$D3FE PRG:53FE F0 08 + lda SpriteY ; CPU:$D400 PRG:5400 A5 98 + clc ; CPU:$D402 PRG:5402 18 + adc #$10 ; CPU:$D403 PRG:5403 69 10 + sec ; CPU:$D405 PRG:5405 38 + sbc SpriteX ; CPU:$D406 PRG:5406 E5 96 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop473 +; Global: Branch target inside Sub: taken when Loop473. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop473: + cmp #$10 ; CPU:$D408 PRG:5408 C9 10 + bcc Sub_Loop477 ; CPU:$D40A PRG:540A 90 29 + tya ; CPU:$D40C PRG:540C 98 + bne Sub_Loop475 ; CPU:$D40D PRG:540D D0 12 + lda Zp1D ; CPU:$D40F PRG:540F A5 1D + bne Sub_Loop474 ; CPU:$D411 PRG:5411 D0 07 + inc SpriteX ; CPU:$D413 PRG:5413 E6 96 + inc SpriteX ; CPU:$D415 PRG:5415 E6 96 + jmp Sub_D430 ; CPU:$D417 PRG:5417 4C 30 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop474 +; Global: Branch target inside Sub: taken when Loop474. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop474: + dec SpriteX ; CPU:$D41A PRG:541A C6 96 + dec SpriteX ; CPU:$D41C PRG:541C C6 96 + jmp Sub_D430 ; CPU:$D41E PRG:541E 4C 30 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop475 +; Global: Branch target inside Sub: taken when Loop475. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop475: + lda Zp1D ; CPU:$D421 PRG:5421 A5 1D + bne Sub_Loop476 ; CPU:$D423 PRG:5423 D0 07 + dec SpriteY ; CPU:$D425 PRG:5425 C6 98 + dec SpriteY ; CPU:$D427 PRG:5427 C6 98 + jmp Sub_D430 ; CPU:$D429 PRG:5429 4C 30 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop476 +; Global: Branch target inside Sub: taken when Loop476. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop476: + inc SpriteY ; CPU:$D42C PRG:542C E6 98 + inc SpriteY ; CPU:$D42E PRG:542E E6 98 +; ----------------------------------------------------------------------------- +; Routine: Sub_D430 +; Global: Branch target inside Sub: taken when D430. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D430: + lda #$00 ; CPU:$D430 PRG:5430 A9 00 + jmp Sub_D437 ; CPU:$D432 PRG:5432 4C 37 D4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop477 +; Global: Branch target inside Sub: taken when Loop477. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop477: + lda #$FF ; CPU:$D435 PRG:5435 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_D437 +; Global: Branch target inside Sub: taken when D437. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D437: + rts ; CPU:$D437 PRG:5437 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D438 +; Global: Branch target inside Sub: taken when D438. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D438: + lda Zp95 ; CPU:$D438 PRG:5438 A5 95 + ldx Zp1C ; CPU:$D43A PRG:543A A6 1C + beq Sub_Loop478 ; CPU:$D43C PRG:543C F0 02 + lda Zp97 ; CPU:$D43E PRG:543E A5 97 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop478 +; Global: Branch target inside Sub: taken when Loop478. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop478: + cmp #$50 ; CPU:$D440 PRG:5440 C9 50 + bcs Sub_Loop479 ; CPU:$D442 PRG:5442 B0 04 + lda #$FF ; CPU:$D444 PRG:5444 A9 FF + sta Zp9F ; CPU:$D446 PRG:5446 85 9F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop479 +; Global: Branch target inside Sub: taken when Loop479. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop479: + rts ; CPU:$D448 PRG:5448 60 +; ---- data $D449-$D4AD (101 bytes) ---- +; referenced by `lda $D490,x` at $C832 (operand $D490 falls inside this region) +; referenced by `lda $D491,x` at $C837 (operand $D491 falls inside this region) +; referenced by `lda $D449,x` at $D19F (operand $D449 falls inside this region) +; referenced by `lda $D44A,x` at $D1A3 (operand $D44A falls inside this region) +; referenced by `lda $D481,x` at $D29E (operand $D481 falls inside this region) + .byte $C0, $C7, $C7, $87, $C0, $87, $87, $87, $87, $C7, $80, $C7, $00, $87, $00, $00 ; CPU:$D449 PRG:5449 C0 C7 C7 87 C0 87 87 87 87 C7 80 C7 00 87 00 00 + .byte $00, $00, $00, $00, $87, $C7, $00, $C7, $80, $C7, $C0, $87, $87, $80, $C7, $87 ; CPU:$D459 PRG:5459 00 00 00 00 87 C7 00 C7 80 C7 C0 87 87 80 C7 87 + .byte $C7, $80, $C7, $C7, $87, $C7, $87, $C0, $C7, $00, $00, $00, $87, $C7, $C7, $80 ; CPU:$D469 PRG:5469 C7 80 C7 C7 87 C7 87 C0 C7 00 00 00 87 C7 C7 80 + .byte $00, $00, $00, $00, $C7, $80, $87, $C0, $01, $01, $02, $02, $03, $03, $03, $00 ; CPU:$D479 PRG:5479 00 00 00 00 C7 80 87 C0 01 01 02 02 03 03 03 00 + .byte $04, $04, $04, $04, $03, $04, $03, $3F, $C8, $DD, $C8, $E0, $C8, $E0, $C8, $35 ; CPU:$D489 PRG:5489 04 04 04 04 03 04 03 3F C8 DD C8 E0 C8 E0 C8 35 + .byte $CA, $7B, $CA, $C3, $CA, $F4, $CA, $7A, $CB, $08, $CC, $39, $CD, $3C, $CE, $71 ; CPU:$D499 PRG:5499 CA 7B CA C3 CA F4 CA 7A CB 08 CC 39 CD 3C CE 71 + .byte $CF, $8F, $D0, $2D, $D1 ; CPU:$D4A9 PRG:54A9 CF 8F D0 2D D1 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4AE +; Global: Branch target inside Sub: taken when D4AE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4AE: + rts ; CPU:$D4AE PRG:54AE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D4AF +; Global: Branch target inside Sub: taken when D4AF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D4AF: + lda Zp40 ; CPU:$D4AF PRG:54AF A5 40 + cmp #$15 ; CPU:$D4B1 PRG:54B1 C9 15 + bcs Sub_Loop481 ; CPU:$D4B3 PRG:54B3 B0 32 + lda #$8C ; CPU:$D4B5 PRG:54B5 A9 8C + jsr Sub_F036 ; CPU:$D4B7 PRG:54B7 20 36 F0 + jsr Sub_9BF3 ; CPU:$D4BA PRG:54BA 20 F3 9B + jsr Sub_FD19 ; CPU:$D4BD PRG:54BD 20 19 FD + lda #$03 ; CPU:$D4C0 PRG:54C0 A9 03 + sta Zp3F ; CPU:$D4C2 PRG:54C2 85 3F + jsr Sub_E365 ; CPU:$D4C4 PRG:54C4 20 65 E3 + ldx #$E9 ; CPU:$D4C7 PRG:54C7 A2 E9 + ldy #$A8 ; CPU:$D4C9 PRG:54C9 A0 A8 + jsr Sub_FD3A ; CPU:$D4CB PRG:54CB 20 3A FD + ldx #$09 ; CPU:$D4CE PRG:54CE A2 09 + lda Zp3E ; CPU:$D4D0 PRG:54D0 A5 3E + and #$20 ; CPU:$D4D2 PRG:54D2 29 20 + beq Sub_Loop480 ; CPU:$D4D4 PRG:54D4 F0 02 + ldx #$0B ; CPU:$D4D6 PRG:54D6 A2 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop480 +; Global: Branch target inside Sub: taken when Loop480. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop480: + txa ; CPU:$D4D8 PRG:54D8 8A + jsr Sub_FD40 ; CPU:$D4D9 PRG:54D9 20 40 FD + jsr Sub_E9C6 ; CPU:$D4DC PRG:54DC 20 C6 E9 + lda #$40 ; CPU:$D4DF PRG:54DF A9 40 + jsr Sub_F227 ; CPU:$D4E1 PRG:54E1 20 27 F2 + jmp Sub_FD13 ; CPU:$D4E4 PRG:54E4 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop481 +; Global: Branch target inside Sub: taken when Loop481. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop481: + lda Zp7B ; CPU:$D4E7 PRG:54E7 A5 7B + and #$20 ; CPU:$D4E9 PRG:54E9 29 20 + bne Sub_Loop484 ; CPU:$D4EB PRG:54EB D0 52 + lda Zp3E ; CPU:$D4ED PRG:54ED A5 3E + and #$20 ; CPU:$D4EF PRG:54EF 29 20 + beq Sub_Loop484 ; CPU:$D4F1 PRG:54F1 F0 4C + lda Zp40 ; CPU:$D4F3 PRG:54F3 A5 40 + cmp #$1A ; CPU:$D4F5 PRG:54F5 C9 1A + bcc Sub_Loop484 ; CPU:$D4F7 PRG:54F7 90 46 + lda ZpAB ; CPU:$D4F9 PRG:54F9 A5 AB + bne Sub_Loop484 ; CPU:$D4FB PRG:54FB D0 42 + jsr Sub_FD2B ; CPU:$D4FD PRG:54FD 20 2B FD + lda Zp19 ; CPU:$D500 PRG:5500 A5 19 + cmp #$03 ; CPU:$D502 PRG:5502 C9 03 + bne Sub_Loop484 ; CPU:$D504 PRG:5504 D0 39 + lda ZpA6 ; CPU:$D506 PRG:5506 A5 A6 + cmp #$10 ; CPU:$D508 PRG:5508 C9 10 + bcs Sub_Loop482 ; CPU:$D50A PRG:550A B0 14 + lda JOY1 ; CPU:$D50C PRG:550C AD 16 40 + pha ; CPU:$D50F PRG:550F 48 + eor ZpA5 ; CPU:$D510 PRG:5510 45 A5 + and #$04 ; CPU:$D512 PRG:5512 29 04 + adc #$FC ; CPU:$D514 PRG:5514 69 FC + pla ; CPU:$D516 PRG:5516 68 + sta ZpA5 ; CPU:$D517 PRG:5517 85 A5 + bcc Sub_Loop484 ; CPU:$D519 PRG:5519 90 24 + inc ZpA6 ; CPU:$D51B PRG:551B E6 A6 + jmp Sub_Loop484 ; CPU:$D51D PRG:551D 4C 3F D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop482 +; Global: Branch target inside Sub: taken when Loop482. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop482: + lda #$FF ; CPU:$D520 PRG:5520 A9 FF + sta ZpAB ; CPU:$D522 PRG:5522 85 AB + lda Zp3E ; CPU:$D524 PRG:5524 A5 3E + ora #$10 ; CPU:$D526 PRG:5526 09 10 + sta Zp3E ; CPU:$D528 PRG:5528 85 3E + lda #$20 ; CPU:$D52A PRG:552A A9 20 + sta Zp40 ; CPU:$D52C PRG:552C 85 40 + ldx #$13 ; CPU:$D52E PRG:552E A2 13 + lda GameState ; CPU:$D530 PRG:5530 A5 36 + and #$40 ; CPU:$D532 PRG:5532 29 40 + bne Sub_Loop483 ; CPU:$D534 PRG:5534 D0 02 + ldx #$18 ; CPU:$D536 PRG:5536 A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop483 +; Global: Branch target inside Sub: taken when Loop483. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop483: + lda #$06 ; CPU:$D538 PRG:5538 A9 06 + sta PlayerTile,x ; CPU:$D53A PRG:553A 95 32 + jmp Sub_Loop490 ; CPU:$D53C PRG:553C 4C C3 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop484 +; Global: Branch target inside Sub: taken when Loop484. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop484: + lda Zp40 ; CPU:$D53F PRG:553F A5 40 + cmp #$1A ; CPU:$D541 PRG:5541 C9 1A + bcc Sub_Loop490 ; CPU:$D543 PRG:5543 90 7E + ldx WrestlerIndex ; CPU:$D545 PRG:5545 A6 85 + ldy Zp18 ; CPU:$D547 PRG:5547 A4 18 + lda Zp3E ; CPU:$D549 PRG:5549 A5 3E + and #$20 ; CPU:$D54B PRG:554B 29 20 + bne Sub_Loop485 ; CPU:$D54D PRG:554D D0 04 + ldx WrestlerIndex2 ; CPU:$D54F PRG:554F A6 86 + ldy Zp19 ; CPU:$D551 PRG:5551 A4 19 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop485 +; Global: Branch target inside Sub: taken when Loop485. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop485: + lda Zp35,x ; CPU:$D553 PRG:5553 B5 35 + and #$FC ; CPU:$D555 PRG:5555 29 FC + bne Sub_Loop488 ; CPU:$D557 PRG:5557 D0 2F + lda Zp7B ; CPU:$D559 PRG:5559 A5 7B + and #$20 ; CPU:$D55B PRG:555B 29 20 + bne Sub_Loop486 ; CPU:$D55D PRG:555D D0 06 + lda Zp3E ; CPU:$D55F PRG:555F A5 3E + and #$20 ; CPU:$D561 PRG:5561 29 20 + beq Sub_Loop490 ; CPU:$D563 PRG:5563 F0 5E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop486 +; Global: Branch target inside Sub: taken when Loop486. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop486: + lda Zp40 ; CPU:$D565 PRG:5565 A5 40 + cmp #$16 ; CPU:$D567 PRG:5567 C9 16 + bcc Sub_Loop490 ; CPU:$D569 PRG:5569 90 58 + sty Zp1C ; CPU:$D56B PRG:556B 84 1C + lda Zp3A ; CPU:$D56D PRG:556D A5 3A + eor #$FF ; CPU:$D56F PRG:556F 49 FF + and Zp1C ; CPU:$D571 PRG:5571 25 1C + and #$02 ; CPU:$D573 PRG:5573 29 02 + beq Sub_Loop487 ; CPU:$D575 PRG:5575 F0 0C + inc Zp39 ; CPU:$D577 PRG:5577 E6 39 + lda Zp39 ; CPU:$D579 PRG:5579 A5 39 + and #$07 ; CPU:$D57B PRG:557B 29 07 + sta Zp39 ; CPU:$D57D PRG:557D 85 39 + bne Sub_Loop487 ; CPU:$D57F PRG:557F D0 02 + inc Zp35,x ; CPU:$D581 PRG:5581 F6 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop487 +; Global: Branch target inside Sub: taken when Loop487. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop487: + sty Zp3A ; CPU:$D583 PRG:5583 84 3A + jmp Sub_Loop490 ; CPU:$D585 PRG:5585 4C C3 D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop488 +; Global: Branch target inside Sub: taken when Loop488. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop488: + lda Zp40 ; CPU:$D588 PRG:5588 A5 40 + cmp #$30 ; CPU:$D58A PRG:558A C9 30 + bcs Sub_Loop490 ; CPU:$D58C PRG:558C B0 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_D58E +; Global: Branch target inside Sub: taken when D58E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D58E: + ldx WrestlerIndex ; CPU:$D58E PRG:558E A6 85 + lda PlayerTile,x ; CPU:$D590 PRG:5590 B5 32 + and #$C0 ; CPU:$D592 PRG:5592 29 C0 + ora #$07 ; CPU:$D594 PRG:5594 09 07 + sta PlayerTile,x ; CPU:$D596 PRG:5596 95 32 + lda #$40 ; CPU:$D598 PRG:5598 A9 40 + sta GameState,x ; CPU:$D59A PRG:559A 95 36 + ldx WrestlerIndex2 ; CPU:$D59C PRG:559C A6 86 + lda PlayerTile,x ; CPU:$D59E PRG:559E B5 32 + and #$C0 ; CPU:$D5A0 PRG:55A0 29 C0 + ora #$07 ; CPU:$D5A2 PRG:55A2 09 07 + sta PlayerTile,x ; CPU:$D5A4 PRG:55A4 95 32 + lda #$40 ; CPU:$D5A6 PRG:55A6 A9 40 + sta GameState,x ; CPU:$D5A8 PRG:55A8 95 36 + ldx WrestlerIndex ; CPU:$D5AA PRG:55AA A6 85 + lda Zp3E ; CPU:$D5AC PRG:55AC A5 3E + and #$20 ; CPU:$D5AE PRG:55AE 29 20 + beq Sub_Loop489 ; CPU:$D5B0 PRG:55B0 F0 02 + ldx WrestlerIndex2 ; CPU:$D5B2 PRG:55B2 A6 86 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop489 +; Global: Branch target inside Sub: taken when Loop489. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop489: + lda #$20 ; CPU:$D5B4 PRG:55B4 A9 20 + sta GameState,x ; CPU:$D5B6 PRG:55B6 95 36 + lda PlayerX,x ; CPU:$D5B8 PRG:55B8 B5 33 + clc ; CPU:$D5BA PRG:55BA 18 + adc #$10 ; CPU:$D5BB PRG:55BB 69 10 + sta PlayerX,x ; CPU:$D5BD PRG:55BD 95 33 + lda #$00 ; CPU:$D5BF PRG:55BF A9 00 + sta Zp3E ; CPU:$D5C1 PRG:55C1 85 3E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop490 +; Global: Branch target inside Sub: taken when Loop490. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop490: + lda Zp3E ; CPU:$D5C3 PRG:55C3 A5 3E + and #$10 ; CPU:$D5C5 PRG:55C5 29 10 + bne Sub_Loop491 ; CPU:$D5C7 PRG:55C7 D0 02 + dec Zp40 ; CPU:$D5C9 PRG:55C9 C6 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop491 +; Global: Branch target inside Sub: taken when Loop491. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop491: + rts ; CPU:$D5CB PRG:55CB 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5CC +; Global: Branch target inside Sub: taken when D5CC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5CC: + lda Zp65 ; CPU:$D5CC PRG:55CC A5 65 + and #$C0 ; CPU:$D5CE PRG:55CE 29 C0 + sta Zp65 ; CPU:$D5D0 PRG:55D0 85 65 + lda Zp40 ; CPU:$D5D2 PRG:55D2 A5 40 + cmp #$81 ; CPU:$D5D4 PRG:55D4 C9 81 + bcs Sub_Loop493 ; CPU:$D5D6 PRG:55D6 B0 12 + cmp #$6A ; CPU:$D5D8 PRG:55D8 C9 6A + bcs Sub_Loop492 ; CPU:$D5DA PRG:55DA B0 0C + cmp #$4B ; CPU:$D5DC PRG:55DC C9 4B + bcs Sub_Loop493 ; CPU:$D5DE PRG:55DE B0 0A + cmp #$30 ; CPU:$D5E0 PRG:55E0 C9 30 + bcs Sub_Loop492 ; CPU:$D5E2 PRG:55E2 B0 04 + cmp #$1A ; CPU:$D5E4 PRG:55E4 C9 1A + bcs Sub_Loop493 ; CPU:$D5E6 PRG:55E6 B0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop492 +; Global: Branch target inside Sub: taken when Loop492. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop492: + inc Zp65 ; CPU:$D5E8 PRG:55E8 E6 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop493 +; Global: Branch target inside Sub: taken when Loop493. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop493: + rts ; CPU:$D5EA PRG:55EA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D5EB +; Global: Branch target inside Sub: taken when D5EB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D5EB: + ldy #$01 ; CPU:$D5EB PRG:55EB A0 01 + lda Zp40 ; CPU:$D5ED PRG:55ED A5 40 + cmp #$6A ; CPU:$D5EF PRG:55EF C9 6A + bcs Sub_Loop494 ; CPU:$D5F1 PRG:55F1 B0 06 + iny ; CPU:$D5F3 PRG:55F3 C8 + cmp #$17 ; CPU:$D5F4 PRG:55F4 C9 17 + bcs Sub_Loop494 ; CPU:$D5F6 PRG:55F6 B0 01 + iny ; CPU:$D5F8 PRG:55F8 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop494 +; Global: Branch target inside Sub: taken when Loop494. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop494: + sty Zp3F ; CPU:$D5F9 PRG:55F9 84 3F + ldx #$01 ; CPU:$D5FB PRG:55FB A2 01 + cmp #$80 ; CPU:$D5FD PRG:55FD C9 80 + beq Sub_Loop495 ; CPU:$D5FF PRG:55FF F0 0A + inx ; CPU:$D601 PRG:5601 E8 + cmp #$4A ; CPU:$D602 PRG:5602 C9 4A + beq Sub_Loop495 ; CPU:$D604 PRG:5604 F0 05 + inx ; CPU:$D606 PRG:5606 E8 + cmp #$16 ; CPU:$D607 PRG:5607 C9 16 + bne Sub_Loop496 ; CPU:$D609 PRG:5609 D0 09 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop495 +; Global: Branch target inside Sub: taken when Loop495. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop495: + txa ; CPU:$D60B PRG:560B 8A + pha ; CPU:$D60C PRG:560C 48 + jsr Sub_9BF6 ; CPU:$D60D PRG:560D 20 F6 9B + pla ; CPU:$D610 PRG:5610 68 + jsr Sub_F03D ; CPU:$D611 PRG:5611 20 3D F0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop496 +; Global: Branch target inside Sub: taken when Loop496. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop496: + rts ; CPU:$D614 PRG:5614 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_D615 +; Global: Branch target inside Sub: taken when D615. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D615: + ldx #$13 ; CPU:$D615 PRG:5615 A2 13 + lda GameState ; CPU:$D617 PRG:5617 A5 36 + and #$40 ; CPU:$D619 PRG:5619 29 40 + bne Sub_Loop497 ; CPU:$D61B PRG:561B D0 02 + ldx #$18 ; CPU:$D61D PRG:561D A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop497 +; Global: Branch target inside Sub: taken when Loop497. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop497: + lda PlayerTile,x ; CPU:$D61F PRG:561F B5 32 + and #$3F ; CPU:$D621 PRG:5621 29 3F + cmp #$02 ; CPU:$D623 PRG:5623 C9 02 + beq Sub_Loop503 ; CPU:$D625 PRG:5625 F0 2C + cmp #$03 ; CPU:$D627 PRG:5627 C9 03 + beq Sub_Loop506 ; CPU:$D629 PRG:5629 F0 49 + cmp #$04 ; CPU:$D62B PRG:562B C9 04 + bne Sub_Loop498 ; CPU:$D62D PRG:562D D0 03 + jmp Sub_D67F ; CPU:$D62F PRG:562F 4C 7F D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop498 +; Global: Branch target inside Sub: taken when Loop498. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop498: + cmp #$05 ; CPU:$D632 PRG:5632 C9 05 + bne Sub_Loop499 ; CPU:$D634 PRG:5634 D0 03 + jmp Sub_D6DB ; CPU:$D636 PRG:5636 4C DB D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop499 +; Global: Branch target inside Sub: taken when Loop499. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop499: + cmp #$06 ; CPU:$D639 PRG:5639 C9 06 + bne Sub_Loop500 ; CPU:$D63B PRG:563B D0 03 + jmp Sub_D719 ; CPU:$D63D PRG:563D 4C 19 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop500 +; Global: Branch target inside Sub: taken when Loop500. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop500: + cmp #$07 ; CPU:$D640 PRG:5640 C9 07 + bne Sub_Loop501 ; CPU:$D642 PRG:5642 D0 03 + jmp Sub_D76B ; CPU:$D644 PRG:5644 4C 6B D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop501 +; Global: Branch target inside Sub: taken when Loop501. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop501: + cmp #$08 ; CPU:$D647 PRG:5647 C9 08 + bne Sub_Loop502 ; CPU:$D649 PRG:5649 D0 03 + jmp Sub_D782 ; CPU:$D64B PRG:564B 4C 82 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop502 +; Global: Branch target inside Sub: taken when Loop502. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop502: + ldy #$20 ; CPU:$D64E PRG:564E A0 20 + jmp Sub_D7DA ; CPU:$D650 PRG:5650 4C DA D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop503 +; Global: Branch target inside Sub: taken when Loop503. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop503: + dec GameState,x ; CPU:$D653 PRG:5653 D6 36 + beq Sub_Loop505 ; CPU:$D655 PRG:5655 F0 16 + lda GameState,x ; CPU:$D657 PRG:5657 B5 36 + cmp #$09 ; CPU:$D659 PRG:5659 C9 09 + bcs Sub_Loop504 ; CPU:$D65B PRG:565B B0 0D + and #$FE ; CPU:$D65D PRG:565D 29 FE + tay ; CPU:$D65F PRG:565F A8 + lda $D7AA,y ; CPU:$D660 PRG:5660 B9 AA D7 + sta PlayerX,x ; CPU:$D663 PRG:5663 95 33 + lda $D7AB,y ; CPU:$D665 PRG:5665 B9 AB D7 + sta PlayerY,x ; CPU:$D668 PRG:5668 95 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop504 +; Global: Branch target inside Sub: taken when Loop504. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop504: + jmp Sub_D7A6 ; CPU:$D66A PRG:566A 4C A6 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop505 +; Global: Branch target inside Sub: taken when Loop505. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop505: + lda #$40 ; CPU:$D66D PRG:566D A9 40 + sta PlayerTile,x ; CPU:$D66F PRG:566F 95 32 + jmp Sub_D7A9 ; CPU:$D671 PRG:5671 4C A9 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop506 +; Global: Branch target inside Sub: taken when Loop506. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop506: + dec GameState,x ; CPU:$D674 PRG:5674 D6 36 + bne Sub_Loop507 ; CPU:$D676 PRG:5676 D0 04 + lda #$44 ; CPU:$D678 PRG:5678 A9 44 + sta PlayerTile,x ; CPU:$D67A PRG:567A 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop507 +; Global: Branch target inside Sub: taken when Loop507. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop507: + jmp Sub_D7A6 ; CPU:$D67C PRG:567C 4C A6 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D67F +; Global: Branch target inside Sub: taken when D67F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D67F: + txa ; CPU:$D67F PRG:567F 8A + pha ; CPU:$D680 PRG:5680 48 + ldx WrestlerIndex2 ; CPU:$D681 PRG:5681 A6 86 + lda PlayerX,x ; CPU:$D683 PRG:5683 B5 33 + sta PlayerState ; CPU:$D685 PRG:5685 85 1A + lda PlayerY,x ; CPU:$D687 PRG:5687 B5 34 + sta Zp1B ; CPU:$D689 PRG:5689 85 1B + pla ; CPU:$D68B PRG:568B 68 + tax ; CPU:$D68C PRG:568C AA + lda Zp1B ; CPU:$D68D PRG:568D A5 1B + cmp PlayerY,x ; CPU:$D68F PRG:568F D5 34 + beq Sub_Loop511 ; CPU:$D691 PRG:5691 F0 20 + bcc Sub_Loop509 ; CPU:$D693 PRG:5693 90 0F + inc PlayerY,x ; CPU:$D695 PRG:5695 F6 34 + lda PlayerY,x ; CPU:$D697 PRG:5697 B5 34 + cmp Zp1B ; CPU:$D699 PRG:5699 C5 1B + beq Sub_Loop508 ; CPU:$D69B PRG:569B F0 02 + inc PlayerY,x ; CPU:$D69D PRG:569D F6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop508 +; Global: Branch target inside Sub: taken when Loop508. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop508: + lda #$C4 ; CPU:$D69F PRG:569F A9 C4 + jmp Sub_D6D6 ; CPU:$D6A1 PRG:56A1 4C D6 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop509 +; Global: Branch target inside Sub: taken when Loop509. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop509: + dec PlayerY,x ; CPU:$D6A4 PRG:56A4 D6 34 + lda PlayerY,x ; CPU:$D6A6 PRG:56A6 B5 34 + cmp Zp1B ; CPU:$D6A8 PRG:56A8 C5 1B + beq Sub_Loop510 ; CPU:$D6AA PRG:56AA F0 02 + dec PlayerY,x ; CPU:$D6AC PRG:56AC D6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop510 +; Global: Branch target inside Sub: taken when Loop510. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop510: + lda #$84 ; CPU:$D6AE PRG:56AE A9 84 + jmp Sub_D6D6 ; CPU:$D6B0 PRG:56B0 4C D6 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop511 +; Global: Branch target inside Sub: taken when Loop511. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop511: + lda PlayerX,x ; CPU:$D6B3 PRG:56B3 B5 33 + sec ; CPU:$D6B5 PRG:56B5 38 + sbc PlayerState ; CPU:$D6B6 PRG:56B6 E5 1A + cmp #$08 ; CPU:$D6B8 PRG:56B8 C9 08 + bcs Sub_Loop512 ; CPU:$D6BA PRG:56BA B0 14 + lda ZpA2 ; CPU:$D6BC PRG:56BC A5 A2 + ora #$80 ; CPU:$D6BE PRG:56BE 09 80 + sta ZpA2 ; CPU:$D6C0 PRG:56C0 85 A2 + txa ; CPU:$D6C2 PRG:56C2 8A + pha ; CPU:$D6C3 PRG:56C3 48 + lda #$02 ; CPU:$D6C4 PRG:56C4 A9 02 + jsr Sub_F036 ; CPU:$D6C6 PRG:56C6 20 36 F0 + pla ; CPU:$D6C9 PRG:56C9 68 + tax ; CPU:$D6CA PRG:56CA AA + lda #$05 ; CPU:$D6CB PRG:56CB A9 05 + jmp Sub_D6D6 ; CPU:$D6CD PRG:56CD 4C D6 D6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop512 +; Global: Branch target inside Sub: taken when Loop512. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop512: + dec PlayerX,x ; CPU:$D6D0 PRG:56D0 D6 33 + dec PlayerX,x ; CPU:$D6D2 PRG:56D2 D6 33 + lda #$44 ; CPU:$D6D4 PRG:56D4 A9 44 +; ----------------------------------------------------------------------------- +; Routine: Sub_D6D6 +; Global: Branch target inside Sub: taken when D6D6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D6D6: + sta PlayerTile,x ; CPU:$D6D6 PRG:56D6 95 32 + jmp Sub_D7A6 ; CPU:$D6D8 PRG:56D8 4C A6 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D6DB +; Global: Branch target inside Sub: taken when D6DB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D6DB: + lda #$00 ; CPU:$D6DB PRG:56DB A9 00 + sta ZpA2 ; CPU:$D6DD PRG:56DD 85 A2 + lda PlayerX,x ; CPU:$D6DF PRG:56DF B5 33 + cmp #$A8 ; CPU:$D6E1 PRG:56E1 C9 A8 + bcs Sub_Loop513 ; CPU:$D6E3 PRG:56E3 B0 09 + inc PlayerX,x ; CPU:$D6E5 PRG:56E5 F6 33 + inc PlayerX,x ; CPU:$D6E7 PRG:56E7 F6 33 + lda #$05 ; CPU:$D6E9 PRG:56E9 A9 05 + jmp Sub_D714 ; CPU:$D6EB PRG:56EB 4C 14 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop513 +; Global: Branch target inside Sub: taken when Loop513. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop513: + lda PlayerY,x ; CPU:$D6EE PRG:56EE B5 34 + cmp #$2E ; CPU:$D6F0 PRG:56F0 C9 2E + bcc Sub_Loop514 ; CPU:$D6F2 PRG:56F2 90 0D + cmp #$32 ; CPU:$D6F4 PRG:56F4 C9 32 + bcc Sub_Loop515 ; CPU:$D6F6 PRG:56F6 90 12 + dec PlayerY,x ; CPU:$D6F8 PRG:56F8 D6 34 + dec PlayerY,x ; CPU:$D6FA PRG:56FA D6 34 + lda #$85 ; CPU:$D6FC PRG:56FC A9 85 + jmp Sub_D714 ; CPU:$D6FE PRG:56FE 4C 14 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop514 +; Global: Branch target inside Sub: taken when Loop514. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop514: + inc PlayerY,x ; CPU:$D701 PRG:5701 F6 34 + inc PlayerY,x ; CPU:$D703 PRG:5703 F6 34 + lda #$C5 ; CPU:$D705 PRG:5705 A9 C5 + jmp Sub_D714 ; CPU:$D707 PRG:5707 4C 14 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop515 +; Global: Branch target inside Sub: taken when Loop515. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop515: + lda #$B0 ; CPU:$D70A PRG:570A A9 B0 + sta PlayerX,x ; CPU:$D70C PRG:570C 95 33 + lda #$2A ; CPU:$D70E PRG:570E A9 2A + sta PlayerY,x ; CPU:$D710 PRG:5710 95 34 + lda #$40 ; CPU:$D712 PRG:5712 A9 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_D714 +; Global: Branch target inside Sub: taken when D714. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D714: + sta PlayerTile,x ; CPU:$D714 PRG:5714 95 32 + jmp Sub_D7A6 ; CPU:$D716 PRG:5716 4C A6 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D719 +; Global: Branch target inside Sub: taken when D719. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D719: + stx PlayerState ; CPU:$D719 PRG:5719 86 1A + ldx WrestlerIndex ; CPU:$D71B PRG:571B A6 85 + lda PlayerX,x ; CPU:$D71D PRG:571D B5 33 + sec ; CPU:$D71F PRG:571F 38 + sbc #$10 ; CPU:$D720 PRG:5720 E9 10 + sta Zp1B ; CPU:$D722 PRG:5722 85 1B + lda PlayerY,x ; CPU:$D724 PRG:5724 B5 34 + clc ; CPU:$D726 PRG:5726 18 + adc #$18 ; CPU:$D727 PRG:5727 69 18 + sta Zp1C ; CPU:$D729 PRG:5729 85 1C + ldx PlayerState ; CPU:$D72B PRG:572B A6 1A + lda PlayerX,x ; CPU:$D72D PRG:572D B5 33 + cmp Zp1B ; CPU:$D72F PRG:572F C5 1B + bcs Sub_Loop516 ; CPU:$D731 PRG:5731 B0 09 + lda PlayerY,x ; CPU:$D733 PRG:5733 B5 34 + cmp Zp1C ; CPU:$D735 PRG:5735 C5 1C + .byte $B0, $1F ; CPU:$D737 PRG:5737 B0 1F + jmp Sub_D740 ; CPU:$D739 PRG:5739 4C 40 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop516 +; Global: Branch target inside Sub: taken when Loop516. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop516: + dec PlayerX,x ; CPU:$D73C PRG:573C D6 33 + dec PlayerX,x ; CPU:$D73E PRG:573E D6 33 +; ----------------------------------------------------------------------------- +; Routine: Sub_D740 +; Global: Branch target inside Sub: taken when D740. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D740: + lda PlayerY,x ; CPU:$D740 PRG:5740 B5 34 + cmp Zp1C ; CPU:$D742 PRG:5742 C5 1C + bcc Sub_Loop517 ; CPU:$D744 PRG:5744 90 09 + dec PlayerY,x ; CPU:$D746 PRG:5746 D6 34 + dec PlayerY,x ; CPU:$D748 PRG:5748 D6 34 + dec PlayerY,x ; CPU:$D74A PRG:574A D6 34 + jmp Sub_D768 ; CPU:$D74C PRG:574C 4C 68 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop517 +; Global: Branch target inside Sub: taken when Loop517. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop517: + inc PlayerY,x ; CPU:$D74F PRG:574F F6 34 + inc PlayerY,x ; CPU:$D751 PRG:5751 F6 34 + inc PlayerY,x ; CPU:$D753 PRG:5753 F6 34 +; ----------------------------------------------------------------------------- +; Routine: Label_D755 +; Global: Branch target inside Label: taken when D755. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D755: + jmp Sub_D768 ; CPU:$D755 PRG:5755 4C 68 D7 + lda Zp1B ; CPU:$D758 PRG:5758 A5 1B + sta PlayerX,x ; CPU:$D75A PRG:575A 95 33 + lda Zp1C ; CPU:$D75C PRG:575C A5 1C + sta PlayerY,x ; CPU:$D75E PRG:575E 95 34 + lda #$47 ; CPU:$D760 PRG:5760 A9 47 + sta PlayerTile,x ; CPU:$D762 PRG:5762 95 32 + lda #$10 ; CPU:$D764 PRG:5764 A9 10 + sta GameState,x ; CPU:$D766 PRG:5766 95 36 +; ----------------------------------------------------------------------------- +; Routine: Sub_D768 +; Global: Branch target inside Sub: taken when D768. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D768: + jmp Sub_D7A9 ; CPU:$D768 PRG:5768 4C A9 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D76B +; Global: Branch target inside Sub: taken when D76B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D76B: + dec GameState,x ; CPU:$D76B PRG:576B D6 36 + beq Sub_Loop518 ; CPU:$D76D PRG:576D F0 03 + jmp Sub_D7A9 ; CPU:$D76F PRG:576F 4C A9 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop518 +; Global: Branch target inside Sub: taken when Loop518. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop518: + lda #$10 ; CPU:$D772 PRG:5772 A9 10 + sta GameState,x ; CPU:$D774 PRG:5774 95 36 + lda #$88 ; CPU:$D776 PRG:5776 A9 88 + sta PlayerTile,x ; CPU:$D778 PRG:5778 95 32 + lda #$07 ; CPU:$D77A PRG:577A A9 07 + jsr Sub_F036 ; CPU:$D77C PRG:577C 20 36 F0 + jmp Sub_D7A9 ; CPU:$D77F PRG:577F 4C A9 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_D782 +; Global: Branch target inside Sub: taken when D782. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D782: + dec GameState,x ; CPU:$D782 PRG:5782 D6 36 + beq Sub_Loop519 ; CPU:$D784 PRG:5784 F0 03 + jmp Sub_D7A9 ; CPU:$D786 PRG:5786 4C A9 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop519 +; Global: Branch target inside Sub: taken when Loop519. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop519: + lda #$B0 ; CPU:$D789 PRG:5789 A9 B0 + sta PlayerX,x ; CPU:$D78B PRG:578B 95 33 + lda #$2A ; CPU:$D78D PRG:578D A9 2A + sta PlayerY,x ; CPU:$D78F PRG:578F 95 34 + lda #$40 ; CPU:$D791 PRG:5791 A9 40 + sta PlayerTile,x ; CPU:$D793 PRG:5793 95 32 + lda #$F0 ; CPU:$D795 PRG:5795 A9 F0 + sta $0700 ; CPU:$D797 PRG:5797 8D 00 07 + sta $0704 ; CPU:$D79A PRG:579A 8D 04 07 + sta $0708 ; CPU:$D79D PRG:579D 8D 08 07 + sta $070C ; CPU:$D7A0 PRG:57A0 8D 0C 07 + jmp Sub_D58E ; CPU:$D7A3 PRG:57A3 4C 8E D5 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7A6 +; Global: Branch target inside Sub: taken when D7A6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7A6: + jmp Sub_D8C8 ; CPU:$D7A6 PRG:57A6 4C C8 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7A9 +; Global: Branch target inside Sub: taken when D7A9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7A9: + rts ; CPU:$D7A9 PRG:57A9 60 +; ---- data $D7AA-$D7B2 (9 bytes) ---- +; referenced by `lda $D7AA,y` at $D660 (operand $D7AA falls inside this region) +; referenced by `lda $D7AB,y` at $D665 (operand $D7AB falls inside this region) + .byte $90, $48, $88, $44, $80, $3A, $88, $34, $98 ; CPU:$D7AA PRG:57AA 90 48 88 44 80 3A 88 34 98 +; ----------------------------------------------------------------------------- +; Routine: Label_D7B3 +; Global: Branch target inside Label: taken when D7B3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D7B3: + .byte $30, $A2 ; CPU:$D7B3 PRG:57B3 30 A2 + plp ; CPU:$D7B5 PRG:57B5 28 + lda GameState ; CPU:$D7B6 PRG:57B6 A5 36 + and #$20 ; CPU:$D7B8 PRG:57B8 29 20 + beq Sub_Loop520 ; CPU:$D7BA PRG:57BA F0 02 + ldx #$23 ; CPU:$D7BC PRG:57BC A2 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop520 +; Global: Branch target inside Sub: taken when Loop520. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop520: + lda PlayerTile,x ; CPU:$D7BE PRG:57BE B5 32 + and #$3F ; CPU:$D7C0 PRG:57C0 29 3F + cmp #$02 ; CPU:$D7C2 PRG:57C2 C9 02 + beq Sub_Loop525 ; CPU:$D7C4 PRG:57C4 F0 3F + cmp #$03 ; CPU:$D7C6 PRG:57C6 C9 03 + beq Sub_Loop528 ; CPU:$D7C8 PRG:57C8 F0 5C + cmp #$04 ; CPU:$D7CA PRG:57CA C9 04 + bne Sub_Loop521 ; CPU:$D7CC PRG:57CC D0 03 + jmp Sub_D831 ; CPU:$D7CE PRG:57CE 4C 31 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop521 +; Global: Branch target inside Sub: taken when Loop521. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop521: + cmp #$05 ; CPU:$D7D1 PRG:57D1 C9 05 + bne Sub_Loop522 ; CPU:$D7D3 PRG:57D3 D0 03 + jmp Sub_D88D ; CPU:$D7D5 PRG:57D5 4C 8D D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop522 +; Global: Branch target inside Sub: taken when Loop522. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop522: + ldy #$00 ; CPU:$D7D8 PRG:57D8 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7DA +; Global: Branch target inside Sub: taken when D7DA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7DA: + sty PlayerState ; CPU:$D7DA PRG:57DA 84 1A + lda Zp3B ; CPU:$D7DC PRG:57DC A5 3B + bpl Sub_Loop524 ; CPU:$D7DE PRG:57DE 10 1C + and #$20 ; CPU:$D7E0 PRG:57E0 29 20 + cmp PlayerState ; CPU:$D7E2 PRG:57E2 C5 1A + beq Sub_Loop523 ; CPU:$D7E4 PRG:57E4 F0 09 + lda ZpAC ; CPU:$D7E6 PRG:57E6 A5 AC + and #$08 ; CPU:$D7E8 PRG:57E8 29 08 + beq Sub_Loop524 ; CPU:$D7EA PRG:57EA F0 10 + jmp Sub_D7F5 ; CPU:$D7EC PRG:57EC 4C F5 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop523 +; Global: Branch target inside Sub: taken when Loop523. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop523: + lda ZpAC ; CPU:$D7EF PRG:57EF A5 AC + and #$20 ; CPU:$D7F1 PRG:57F1 29 20 +; ----------------------------------------------------------------------------- +; Routine: Label_D7F3 +; Global: Branch target inside Label: taken when D7F3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D7F3: + beq Sub_Loop524 ; CPU:$D7F3 PRG:57F3 F0 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_D7F5 +; Global: Branch target inside Sub: taken when D7F5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D7F5: + lda PlayerTile,x ; CPU:$D7F5 PRG:57F5 B5 32 + ora #$01 ; CPU:$D7F7 PRG:57F7 09 01 + jmp Sub_D800 ; CPU:$D7F9 PRG:57F9 4C 00 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop524 +; Global: Branch target inside Sub: taken when Loop524. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop524: + lda PlayerTile,x ; CPU:$D7FC PRG:57FC B5 32 + and #$C0 ; CPU:$D7FE PRG:57FE 29 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D800 +; Global: Branch target inside Sub: taken when D800. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D800: + sta PlayerTile,x ; CPU:$D800 PRG:5800 95 32 + jmp Sub_D8C8 ; CPU:$D802 PRG:5802 4C C8 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop525 +; Global: Branch target inside Sub: taken when Loop525. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop525: + dec GameState,x ; CPU:$D805 PRG:5805 D6 36 + beq Sub_Loop527 ; CPU:$D807 PRG:5807 F0 16 + lda GameState,x ; CPU:$D809 PRG:5809 B5 36 + cmp #$09 ; CPU:$D80B PRG:580B C9 09 + bcs Sub_Loop526 ; CPU:$D80D PRG:580D B0 0D + and #$FE ; CPU:$D80F PRG:580F 29 FE + tay ; CPU:$D811 PRG:5811 A8 + lda $D8E3,y ; CPU:$D812 PRG:5812 B9 E3 D8 + sta PlayerX,x ; CPU:$D815 PRG:5815 95 33 + lda $D8E4,y ; CPU:$D817 PRG:5817 B9 E4 D8 + sta PlayerY,x ; CPU:$D81A PRG:581A 95 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop526 +; Global: Branch target inside Sub: taken when Loop526. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop526: + jmp Sub_D8C8 ; CPU:$D81C PRG:581C 4C C8 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop527 +; Global: Branch target inside Sub: taken when Loop527. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop527: + lda #$00 ; CPU:$D81F PRG:581F A9 00 + sta PlayerTile,x ; CPU:$D821 PRG:5821 95 32 + jmp Sub_Loop539 ; CPU:$D823 PRG:5823 4C E2 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop528 +; Global: Branch target inside Sub: taken when Loop528. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop528: + dec GameState,x ; CPU:$D826 PRG:5826 D6 36 + bne Sub_Loop529 ; CPU:$D828 PRG:5828 D0 04 + lda #$04 ; CPU:$D82A PRG:582A A9 04 + sta PlayerTile,x ; CPU:$D82C PRG:582C 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop529 +; Global: Branch target inside Sub: taken when Loop529. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop529: + jmp Sub_D8C8 ; CPU:$D82E PRG:582E 4C C8 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D831 +; Global: Branch target inside Sub: taken when D831. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D831: + txa ; CPU:$D831 PRG:5831 8A + pha ; CPU:$D832 PRG:5832 48 + ldx WrestlerIndex ; CPU:$D833 PRG:5833 A6 85 + lda PlayerX,x ; CPU:$D835 PRG:5835 B5 33 + sta PlayerState ; CPU:$D837 PRG:5837 85 1A + lda PlayerY,x ; CPU:$D839 PRG:5839 B5 34 + sta Zp1B ; CPU:$D83B PRG:583B 85 1B + pla ; CPU:$D83D PRG:583D 68 + tax ; CPU:$D83E PRG:583E AA + lda Zp1B ; CPU:$D83F PRG:583F A5 1B + cmp PlayerY,x ; CPU:$D841 PRG:5841 D5 34 + beq Sub_Loop533 ; CPU:$D843 PRG:5843 F0 20 + bcc Sub_Loop531 ; CPU:$D845 PRG:5845 90 0F + inc PlayerY,x ; CPU:$D847 PRG:5847 F6 34 + lda PlayerY,x ; CPU:$D849 PRG:5849 B5 34 + cmp #$1B ; CPU:$D84B PRG:584B C9 1B + beq Sub_Loop530 ; CPU:$D84D PRG:584D F0 02 + inc PlayerY,x ; CPU:$D84F PRG:584F F6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop530 +; Global: Branch target inside Sub: taken when Loop530. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop530: + lda #$C4 ; CPU:$D851 PRG:5851 A9 C4 + jmp Sub_D888 ; CPU:$D853 PRG:5853 4C 88 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop531 +; Global: Branch target inside Sub: taken when Loop531. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop531: + dec PlayerY,x ; CPU:$D856 PRG:5856 D6 34 + lda PlayerY,x ; CPU:$D858 PRG:5858 B5 34 + cmp Zp1B ; CPU:$D85A PRG:585A C5 1B + beq Sub_Loop532 ; CPU:$D85C PRG:585C F0 02 + dec PlayerY,x ; CPU:$D85E PRG:585E D6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop532 +; Global: Branch target inside Sub: taken when Loop532. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop532: + lda #$84 ; CPU:$D860 PRG:5860 A9 84 + jmp Sub_D888 ; CPU:$D862 PRG:5862 4C 88 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop533 +; Global: Branch target inside Sub: taken when Loop533. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop533: + lda PlayerState ; CPU:$D865 PRG:5865 A5 1A + sec ; CPU:$D867 PRG:5867 38 + sbc PlayerX,x ; CPU:$D868 PRG:5868 F5 33 + cmp #$08 ; CPU:$D86A PRG:586A C9 08 + bcs Sub_Loop534 ; CPU:$D86C PRG:586C B0 14 + lda ZpA2 ; CPU:$D86E PRG:586E A5 A2 + ora #$80 ; CPU:$D870 PRG:5870 09 80 + sta ZpA2 ; CPU:$D872 PRG:5872 85 A2 + txa ; CPU:$D874 PRG:5874 8A + pha ; CPU:$D875 PRG:5875 48 + lda #$02 ; CPU:$D876 PRG:5876 A9 02 + jsr Sub_F036 ; CPU:$D878 PRG:5878 20 36 F0 + pla ; CPU:$D87B PRG:587B 68 + tax ; CPU:$D87C PRG:587C AA + lda #$05 ; CPU:$D87D PRG:587D A9 05 + jmp Sub_D888 ; CPU:$D87F PRG:587F 4C 88 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop534 +; Global: Branch target inside Sub: taken when Loop534. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop534: + inc PlayerX,x ; CPU:$D882 PRG:5882 F6 33 + inc PlayerX,x ; CPU:$D884 PRG:5884 F6 33 + lda #$04 ; CPU:$D886 PRG:5886 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_D888 +; Global: Branch target inside Sub: taken when D888. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D888: + sta PlayerTile,x ; CPU:$D888 PRG:5888 95 32 + jmp Sub_D8C8 ; CPU:$D88A PRG:588A 4C C8 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_D88D +; Global: Branch target inside Sub: taken when D88D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D88D: + lda #$00 ; CPU:$D88D PRG:588D A9 00 + sta ZpA2 ; CPU:$D88F PRG:588F 85 A2 + lda PlayerX,x ; CPU:$D891 PRG:5891 B5 33 + cmp #$38 ; CPU:$D893 PRG:5893 C9 38 + bcc Sub_Loop535 ; CPU:$D895 PRG:5895 90 09 + dec PlayerX,x ; CPU:$D897 PRG:5897 D6 33 + dec PlayerX,x ; CPU:$D899 PRG:5899 D6 33 + lda #$45 ; CPU:$D89B PRG:589B A9 45 + jmp Sub_D8C6 ; CPU:$D89D PRG:589D 4C C6 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop535 +; Global: Branch target inside Sub: taken when Loop535. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop535: + lda PlayerY,x ; CPU:$D8A0 PRG:58A0 B5 34 + cmp #$B2 ; CPU:$D8A2 PRG:58A2 C9 B2 + bcs Sub_Loop536 ; CPU:$D8A4 PRG:58A4 B0 0D + cmp #$AE ; CPU:$D8A6 PRG:58A6 C9 AE + bcs Sub_Loop537 ; CPU:$D8A8 PRG:58A8 B0 12 + inc PlayerY,x ; CPU:$D8AA PRG:58AA F6 34 + inc PlayerY,x ; CPU:$D8AC PRG:58AC F6 34 + lda #$C5 ; CPU:$D8AE PRG:58AE A9 C5 + jmp Sub_D8C6 ; CPU:$D8B0 PRG:58B0 4C C6 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop536 +; Global: Branch target inside Sub: taken when Loop536. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop536: + dec PlayerY,x ; CPU:$D8B3 PRG:58B3 D6 34 + dec PlayerY,x ; CPU:$D8B5 PRG:58B5 D6 34 + lda #$85 ; CPU:$D8B7 PRG:58B7 A9 85 + jmp Sub_D8C6 ; CPU:$D8B9 PRG:58B9 4C C6 D8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop537 +; Global: Branch target inside Sub: taken when Loop537. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop537: + lda #$30 ; CPU:$D8BC PRG:58BC A9 30 + sta PlayerX,x ; CPU:$D8BE PRG:58BE 95 33 + lda #$B4 ; CPU:$D8C0 PRG:58C0 A9 B4 + sta PlayerY,x ; CPU:$D8C2 PRG:58C2 95 34 + lda #$00 ; CPU:$D8C4 PRG:58C4 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8C6 +; Global: Branch target inside Sub: taken when D8C6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8C6: + sta PlayerTile,x ; CPU:$D8C6 PRG:58C6 95 32 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8C8 +; Global: Branch target inside Sub: taken when D8C8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8C8: + ldy #$FF ; CPU:$D8C8 PRG:58C8 A0 FF + lda Zp7B ; CPU:$D8CA PRG:58CA A5 7B + and #$20 ; CPU:$D8CC PRG:58CC 29 20 + bne Sub_Loop538 ; CPU:$D8CE PRG:58CE D0 02 + ldy #$7F ; CPU:$D8D0 PRG:58D0 A0 7F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop538 +; Global: Branch target inside Sub: taken when Loop538. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop538: + sty PlayerState ; CPU:$D8D2 PRG:58D2 84 1A + lda ZpAC ; CPU:$D8D4 PRG:58D4 A5 AC + and PlayerState ; CPU:$D8D6 PRG:58D6 25 1A + bne Sub_Loop539 ; CPU:$D8D8 PRG:58D8 D0 08 + lda Zp35,x ; CPU:$D8DA PRG:58DA B5 35 + cmp #$14 ; CPU:$D8DC PRG:58DC C9 14 + bcs Sub_Loop539 ; CPU:$D8DE PRG:58DE B0 02 + inc Zp35,x ; CPU:$D8E0 PRG:58E0 F6 35 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop539 +; Global: Branch target inside Sub: taken when Loop539. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop539: + rts ; CPU:$D8E2 PRG:58E2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D8E3 +; Global: Branch target inside Label: taken when D8E3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D8E3: + rti ; CPU:$D8E3 PRG:58E3 40 +; ----------------------------------------------------------------------------- +; Routine: Label_D8E4 +; Global: Branch target inside Label: taken when D8E4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_D8E4: + ldy #$30 ; CPU:$D8E4 PRG:58E4 A0 30 + ldx #$24 ; CPU:$D8E6 PRG:58E6 A2 24 + ldx Zp22 ; CPU:$D8E8 PRG:58E8 A6 22 + ldy $B028 ; CPU:$D8EA PRG:58EA AC 28 B0 +; ----------------------------------------------------------------------------- +; Routine: Sub_D8ED +; Global: Branch target inside Sub: taken when D8ED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D8ED: + lda GameState ; CPU:$D8ED PRG:58ED A5 36 + bpl Sub_Loop542 ; CPU:$D8EF PRG:58EF 10 49 + lda Zp44 ; CPU:$D8F1 PRG:58F1 A5 44 + bne Sub_Loop541 ; CPU:$D8F3 PRG:58F3 D0 43 + lda Zp43 ; CPU:$D8F5 PRG:58F5 A5 43 + cmp #$02 ; CPU:$D8F7 PRG:58F7 C9 02 + bne Sub_Loop540 ; CPU:$D8F9 PRG:58F9 D0 23 + lda Zp41 ; CPU:$D8FB PRG:58FB A5 41 + and #$30 ; CPU:$D8FD PRG:58FD 29 30 + beq Sub_Loop542 ; CPU:$D8FF PRG:58FF F0 39 + lda #$8C ; CPU:$D901 PRG:5901 A9 8C + jsr Sub_F036 ; CPU:$D903 PRG:5903 20 36 F0 + jsr Sub_9BF3 ; CPU:$D906 PRG:5906 20 F3 9B + jsr Sub_FD19 ; CPU:$D909 PRG:5909 20 19 FD + ldx #$D9 ; CPU:$D90C PRG:590C A2 D9 + ldy #$3B ; CPU:$D90E PRG:590E A0 3B + jsr Sub_FD3A ; CPU:$D910 PRG:5910 20 3A FD + lda #$0C ; CPU:$D913 PRG:5913 A9 0C + jsr Sub_FD40 ; CPU:$D915 PRG:5915 20 40 FD + jsr Sub_E9C6 ; CPU:$D918 PRG:5918 20 C6 E9 + jmp Sub_FD13 ; CPU:$D91B PRG:591B 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop540 +; Global: Branch target inside Sub: taken when Loop540. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop540: + lda #$05 ; CPU:$D91E PRG:591E A9 05 + jsr Sub_F036 ; CPU:$D920 PRG:5920 20 36 F0 + lda #$40 ; CPU:$D923 PRG:5923 A9 40 + sta Zp44 ; CPU:$D925 PRG:5925 85 44 + lda Zp42 ; CPU:$D927 PRG:5927 A5 42 + clc ; CPU:$D929 PRG:5929 18 + adc #$01 ; CPU:$D92A PRG:592A 69 01 + sta Zp42 ; CPU:$D92C PRG:592C 85 42 + cmp #$0A ; CPU:$D92E PRG:592E C9 0A + bcc Sub_Loop541 ; CPU:$D930 PRG:5930 90 06 + lda #$00 ; CPU:$D932 PRG:5932 A9 00 + sta Zp42 ; CPU:$D934 PRG:5934 85 42 + inc Zp43 ; CPU:$D936 PRG:5936 E6 43 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop541 +; Global: Branch target inside Sub: taken when Loop541. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop541: + dec Zp44 ; CPU:$D938 PRG:5938 C6 44 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop542 +; Global: Branch target inside Sub: taken when Loop542. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop542: + rts ; CPU:$D93A PRG:593A 60 +; ---- data $D93B-$D947 (13 bytes) ---- + .byte $8B, $21, $52, $49, $4E, $47, $20, $20, $4F, $55, $54, $21, $FF ; CPU:$D93B PRG:593B 8B 21 52 49 4E 47 20 20 4F 55 54 21 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_D948 +; Global: Branch target inside Sub: taken when D948. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D948: + lda Zp35 ; CPU:$D948 PRG:5948 A5 35 + beq Sub_Loop543 ; CPU:$D94A PRG:594A F0 03 + jmp Sub_Loop550 ; CPU:$D94C PRG:594C 4C C7 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop543 +; Global: Branch target inside Sub: taken when Loop543. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop543: + lda #$40 ; CPU:$D94F PRG:594F A9 40 + sta Zp35 ; CPU:$D951 PRG:5951 85 35 + inc PlayerTile ; CPU:$D953 PRG:5953 E6 32 + lda PlayerTile ; CPU:$D955 PRG:5955 A5 32 + cmp #$0A ; CPU:$D957 PRG:5957 C9 0A + bcc Sub_Loop544 ; CPU:$D959 PRG:5959 90 12 + lda #$00 ; CPU:$D95B PRG:595B A9 00 + sta PlayerTile ; CPU:$D95D PRG:595D 85 32 + inc PlayerX ; CPU:$D95F PRG:595F E6 33 + lda PlayerX ; CPU:$D961 PRG:5961 A5 33 + cmp #$06 ; CPU:$D963 PRG:5963 C9 06 + bcc Sub_Loop544 ; CPU:$D965 PRG:5965 90 06 + lda #$00 ; CPU:$D967 PRG:5967 A9 00 + sta PlayerX ; CPU:$D969 PRG:5969 85 33 + inc PlayerY ; CPU:$D96B PRG:596B E6 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop544 +; Global: Branch target inside Sub: taken when Loop544. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop544: + lda PlayerY ; CPU:$D96D PRG:596D A5 34 + cmp #$05 ; CPU:$D96F PRG:596F C9 05 + beq Sub_Loop548 ; CPU:$D971 PRG:5971 F0 2F + cmp #$04 ; CPU:$D973 PRG:5973 C9 04 + beq Sub_Loop545 ; CPU:$D975 PRG:5975 F0 03 + jmp Sub_Loop550 ; CPU:$D977 PRG:5977 4C C7 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop545 +; Global: Branch target inside Sub: taken when Loop545. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop545: + lda #$80 ; CPU:$D97A PRG:597A A9 80 + sta Zp8C ; CPU:$D97C PRG:597C 85 8C + lda PlayerTile ; CPU:$D97E PRG:597E A5 32 + ora PlayerX ; CPU:$D980 PRG:5980 05 33 + bne Sub_Loop546 ; CPU:$D982 PRG:5982 D0 03 + jmp Sub_Loop550 ; CPU:$D984 PRG:5984 4C C7 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop546 +; Global: Branch target inside Sub: taken when Loop546. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop546: + inc Zp8C ; CPU:$D987 PRG:5987 E6 8C + lda PlayerTile ; CPU:$D989 PRG:5989 A5 32 + bne Sub_Loop547 ; CPU:$D98B PRG:598B D0 06 + lda PlayerX ; CPU:$D98D PRG:598D A5 33 + cmp #$03 ; CPU:$D98F PRG:598F C9 03 + beq Sub_Loop550 ; CPU:$D991 PRG:5991 F0 34 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop547 +; Global: Branch target inside Sub: taken when Loop547. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop547: + inc Zp8C ; CPU:$D993 PRG:5993 E6 8C + lda PlayerX ; CPU:$D995 PRG:5995 A5 33 + cmp #$05 ; CPU:$D997 PRG:5997 C9 05 + beq Sub_Loop550 ; CPU:$D999 PRG:5999 F0 2C + lda #$00 ; CPU:$D99B PRG:599B A9 00 + sta Zp8C ; CPU:$D99D PRG:599D 85 8C + jmp Sub_Loop550 ; CPU:$D99F PRG:599F 4C C7 D9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop548 +; Global: Branch target inside Sub: taken when Loop548. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop548: + lda #$8C ; CPU:$D9A2 PRG:59A2 A9 8C + jsr Sub_F036 ; CPU:$D9A4 PRG:59A4 20 36 F0 + jsr Sub_9BF3 ; CPU:$D9A7 PRG:59A7 20 F3 9B + jsr Sub_FD19 ; CPU:$D9AA PRG:59AA 20 19 FD + ldx #$D9 ; CPU:$D9AD PRG:59AD A2 D9 + ldy #$C8 ; CPU:$D9AF PRG:59AF A0 C8 + lda GameState ; CPU:$D9B1 PRG:59B1 A5 36 + bpl Sub_Loop549 ; CPU:$D9B3 PRG:59B3 10 04 + ldx #$D9 ; CPU:$D9B5 PRG:59B5 A2 D9 + ldy #$D7 ; CPU:$D9B7 PRG:59B7 A0 D7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop549 +; Global: Branch target inside Sub: taken when Loop549. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop549: + jsr Sub_FD3A ; CPU:$D9B9 PRG:59B9 20 3A FD + lda #$0D ; CPU:$D9BC PRG:59BC A9 0D + jsr Sub_FD40 ; CPU:$D9BE PRG:59BE 20 40 FD + jsr Sub_E9C6 ; CPU:$D9C1 PRG:59C1 20 C6 E9 + jmp Sub_FD13 ; CPU:$D9C4 PRG:59C4 4C 13 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop550 +; Global: Branch target inside Sub: taken when Loop550. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop550: + rts ; CPU:$D9C7 PRG:59C7 60 +; ---- data $D9C8-$D9E5 (30 bytes) ---- + .byte $6A, $21, $20, $54, $49, $4D, $45, $20, $20, $4F, $56, $45, $52, $20, $FF, $2A ; CPU:$D9C8 PRG:59C8 6A 21 20 54 49 4D 45 20 20 4F 56 45 52 20 FF 2A + .byte $21, $20, $54, $49, $4D, $45, $20, $20, $4F, $56, $45, $52, $20, $FF ; CPU:$D9D8 PRG:59D8 21 20 54 49 4D 45 20 20 4F 56 45 52 20 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_D9E6 +; Global: Branch target inside Sub: taken when D9E6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_D9E6: + ldx WrestlerIndex ; CPU:$D9E6 PRG:59E6 A6 85 + lda PlayerTile,x ; CPU:$D9E8 PRG:59E8 B5 32 + tay ; CPU:$D9EA PRG:59EA A8 + and #$3F ; CPU:$D9EB PRG:59EB 29 3F + sta Zp1B ; CPU:$D9ED PRG:59ED 85 1B + asl a ; CPU:$D9EF PRG:59EF 0A + tax ; CPU:$D9F0 PRG:59F0 AA + tya ; CPU:$D9F1 PRG:59F1 98 + and #$C0 ; CPU:$D9F2 PRG:59F2 29 C0 + tay ; CPU:$D9F4 PRG:59F4 A8 + lda $DA82,x ; CPU:$D9F5 PRG:59F5 BD 82 DA + sta Zp22 ; CPU:$D9F8 PRG:59F8 85 22 + lda $DA83,x ; CPU:$D9FA PRG:59FA BD 83 DA + sta Zp23 ; CPU:$D9FD PRG:59FD 85 23 + jmp (Zp22) ; CPU:$D9FF PRG:59FF 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DA02 +; Global: Branch target inside Label: taken when DA02. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA02: + ldx #$00 ; CPU:$DA02 PRG:5A02 A2 00 + cpy #$00 ; CPU:$DA04 PRG:5A04 C0 00 + beq Sub_Loop552 ; CPU:$DA06 PRG:5A06 F0 17 + ldx #$08 ; CPU:$DA08 PRG:5A08 A2 08 + cpy #$40 ; CPU:$DA0A PRG:5A0A C0 40 + beq Sub_Loop552 ; CPU:$DA0C PRG:5A0C F0 11 + ldx #$14 ; CPU:$DA0E PRG:5A0E A2 14 + cpy #$80 ; CPU:$DA10 PRG:5A10 C0 80 + beq Sub_Loop551 ; CPU:$DA12 PRG:5A12 F0 02 + ldx #$3C ; CPU:$DA14 PRG:5A14 A2 3C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop551 +; Global: Branch target inside Sub: taken when Loop551. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop551: + lda Zp6D ; CPU:$DA16 PRG:5A16 A5 6D + bpl Sub_Loop552 ; CPU:$DA18 PRG:5A18 10 05 + txa ; CPU:$DA1A PRG:5A1A 8A + clc ; CPU:$DA1B PRG:5A1B 18 + adc #$08 ; CPU:$DA1C PRG:5A1C 69 08 + tax ; CPU:$DA1E PRG:5A1E AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop552 +; Global: Branch target inside Sub: taken when Loop552. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop552: + lda Zp1B ; CPU:$DA1F PRG:5A1F A5 1B + cmp #$02 ; CPU:$DA21 PRG:5A21 C9 02 + bne Sub_Loop553 ; CPU:$DA23 PRG:5A23 D0 01 + inx ; CPU:$DA25 PRG:5A25 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop553 +; Global: Branch target inside Sub: taken when Loop553. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop553: + jmp Sub_DA4C ; CPU:$DA26 PRG:5A26 4C 4C DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA29 +; Global: Branch target inside Label: taken when DA29. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA29: + ldx #$00 ; CPU:$DA29 PRG:5A29 A2 00 + jmp Sub_DA4C ; CPU:$DA2B PRG:5A2B 4C 4C DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA2E +; Global: Branch target inside Label: taken when DA2E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA2E: + ldx #$08 ; CPU:$DA2E PRG:5A2E A2 08 + jmp Sub_DA4C ; CPU:$DA30 PRG:5A30 4C 4C DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA33 +; Global: Branch target inside Label: taken when DA33. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA33: + ldx #$30 ; CPU:$DA33 PRG:5A33 A2 30 + cpy #$80 ; CPU:$DA35 PRG:5A35 C0 80 + beq Sub_Loop554 ; CPU:$DA37 PRG:5A37 F0 02 + ldx #$58 ; CPU:$DA39 PRG:5A39 A2 58 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop554 +; Global: Branch target inside Sub: taken when Loop554. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop554: + lda WrestlerIndex ; CPU:$DA3B PRG:5A3B A5 85 + cmp #$13 ; CPU:$DA3D PRG:5A3D C9 13 + beq Sub_Loop555 ; CPU:$DA3F PRG:5A3F F0 01 + inx ; CPU:$DA41 PRG:5A41 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop555 +; Global: Branch target inside Sub: taken when Loop555. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop555: + stx ZpA8 ; CPU:$DA42 PRG:5A42 86 A8 + jmp Sub_Loop556 ; CPU:$DA44 PRG:5A44 4C 58 DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA47 +; Global: Branch target inside Label: taken when DA47. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA47: + rts ; CPU:$DA47 PRG:5A47 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DA48 +; Global: Branch target inside Label: taken when DA48. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA48: + rts ; CPU:$DA48 PRG:5A48 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DA49 +; Global: Branch target inside Label: taken when DA49. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA49: + rts ; CPU:$DA49 PRG:5A49 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DA4A +; Global: Branch target inside Label: taken when DA4A. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA4A: + ldx #$14 ; CPU:$DA4A PRG:5A4A A2 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_DA4C +; Global: Branch target inside Sub: taken when DA4C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA4C: + lda WrestlerIndex ; CPU:$DA4C PRG:5A4C A5 85 + cmp #$13 ; CPU:$DA4E PRG:5A4E C9 13 + beq Sub_Loop556 ; CPU:$DA50 PRG:5A50 F0 06 + inx ; CPU:$DA52 PRG:5A52 E8 + inx ; CPU:$DA53 PRG:5A53 E8 + jmp Sub_Loop556 ; CPU:$DA54 PRG:5A54 4C 58 DA +; ----------------------------------------------------------------------------- +; Routine: Label_DA57 +; Global: Branch target inside Label: taken when DA57. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DA57: + rts ; CPU:$DA57 PRG:5A57 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop556 +; Global: Branch target inside Sub: taken when Loop556. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop556: + stx Zp8E ; CPU:$DA58 PRG:5A58 86 8E + lda #$80 ; CPU:$DA5A PRG:5A5A A9 80 + sta Zp91 ; CPU:$DA5C PRG:5A5C 85 91 + lda #$A0 ; CPU:$DA5E PRG:5A5E A9 A0 + sta Zp92 ; CPU:$DA60 PRG:5A60 85 92 + ldx WrestlerIndex ; CPU:$DA62 PRG:5A62 A6 85 + ldy PlayerX,x ; CPU:$DA64 PRG:5A64 B4 33 + ldx WrestlerIndex2 ; CPU:$DA66 PRG:5A66 A6 86 + tya ; CPU:$DA68 PRG:5A68 98 + cmp PlayerX,x ; CPU:$DA69 PRG:5A69 D5 33 + bcs Sub_Loop557 ; CPU:$DA6B PRG:5A6B B0 08 + lda #$A0 ; CPU:$DA6D PRG:5A6D A9 A0 + sta Zp91 ; CPU:$DA6F PRG:5A6F 85 91 + lda #$80 ; CPU:$DA71 PRG:5A71 A9 80 + sta Zp92 ; CPU:$DA73 PRG:5A73 85 92 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop557 +; Global: Branch target inside Sub: taken when Loop557. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop557: + ldx WrestlerIndex ; CPU:$DA75 PRG:5A75 A6 85 + ldy PlayerX,x ; CPU:$DA77 PRG:5A77 B4 33 + lda PlayerY,x ; CPU:$DA79 PRG:5A79 B5 34 + tax ; CPU:$DA7B PRG:5A7B AA + lda #$00 ; CPU:$DA7C PRG:5A7C A9 00 + jsr Sub_EADE ; CPU:$DA7E PRG:5A7E 20 DE EA + rts ; CPU:$DA81 PRG:5A81 60 +; ---- data $DA82-$DA9B (26 bytes) ---- +; referenced by `lda $DA82,x` at $D9F5 (operand $DA82 falls inside this region) +; referenced by `lda $DA83,x` at $D9FA (operand $DA83 falls inside this region) .byte $02, $DA, $02, $DA, $02, $DA, $29, $DA, $29, $DA, $2E, $DA, $2E, $DA, $33, $DA ; CPU:$DA82 PRG:5A82 02 DA 02 DA 02 DA 29 DA 29 DA 2E DA 2E DA 33 DA - .byte $47, $DA, $48, $DA, $49, $DA, $4A, $DA, $57, $DA, $A6, $86, $B5, $32, $A8, $29 ; CPU:$DA92 PRG:5A92 47 DA 48 DA 49 DA 4A DA 57 DA A6 86 B5 32 A8 29 - .byte $3F, $85, $1B, $0A, $AA, $98, $29, $C0, $A8, $BD, $21, $DB, $85, $22, $BD, $22 ; CPU:$DAA2 PRG:5AA2 3F 85 1B 0A AA 98 29 C0 A8 BD 21 DB 85 22 BD 22 - .byte $DB, $85, $23, $6C, $22, $00, $A2, $04, $C0, $00, $F0, $17, $A2, $0C, $C0, $40 ; CPU:$DAB2 PRG:5AB2 DB 85 23 6C 22 00 A2 04 C0 00 F0 17 A2 0C C0 40 - .byte $F0, $11, $A2, $18, $C0, $80, $F0, $02, $A2, $40, $A5, $70, $10, $05, $8A, $18 ; CPU:$DAC2 PRG:5AC2 F0 11 A2 18 C0 80 F0 02 A2 40 A5 70 10 05 8A 18 - .byte $69, $08, $AA, $A5, $1B, $C9, $02, $D0, $01, $E8, $4C, $02, $DB, $A2, $04, $4C ; CPU:$DAD2 PRG:5AD2 69 08 AA A5 1B C9 02 D0 01 E8 4C 02 DB A2 04 4C - .byte $02, $DB, $A2, $0C, $4C, $02, $DB, $A2, $32, $C0, $80, $F0, $02, $A2, $5A, $A5 ; CPU:$DAE2 PRG:5AE2 02 DB A2 0C 4C 02 DB A2 32 C0 80 F0 02 A2 5A A5 - .byte $86, $C9, $23, $F0, $01, $E8, $86, $A9, $4C, $0E, $DB, $60, $60, $60, $A2, $40 ; CPU:$DAF2 PRG:5AF2 86 C9 23 F0 01 E8 86 A9 4C 0E DB 60 60 60 A2 40 - .byte $A5, $86, $C9, $23, $F0, $06, $E8, $E8, $4C, $0E, $DB, $60, $86, $8E, $A5, $92 ; CPU:$DB02 PRG:5B02 A5 86 C9 23 F0 06 E8 E8 4C 0E DB 60 86 8E A5 92 - .byte $85, $91, $A6, $86, $B4, $33, $B5, $34, $AA, $A9, $01, $20, $DE, $EA, $60, $B8 ; CPU:$DB12 PRG:5B12 85 91 A6 86 B4 33 B5 34 AA A9 01 20 DE EA 60 B8 - .byte $DA, $B8, $DA, $B8, $DA, $DF, $DA, $DF, $DA, $E4, $DA, $E4, $DA, $E9, $DA, $FD ; CPU:$DB22 PRG:5B22 DA B8 DA B8 DA DF DA DF DA E4 DA E4 DA E9 DA FD - .byte $DA, $FE, $DA, $FF, $DA, $00, $DB, $0D, $DB, $A2, $1C, $A0, $56, $A5, $37, $29 ; CPU:$DB32 PRG:5B32 DA FE DA FF DA 00 DB 0D DB A2 1C A0 56 A5 37 29 - .byte $40, $F0, $04, $A2, $44, $A0, $2E, $A5, $37, $29, $20, $F0, $0E, $A2, $2C, $A0 ; CPU:$DB42 PRG:5B42 40 F0 04 A2 44 A0 2E A5 37 29 20 F0 0E A2 2C A0 - .byte $48, $A5, $37, $29, $40, $F0, $04, $A2, $54, $A0, $20, $98, $48, $86, $8E, $A6 ; CPU:$DB52 PRG:5B52 48 A5 37 29 40 F0 04 A2 54 A0 20 98 48 86 8E A6 - .byte $85, $E0, $13, $F0, $0A, $E6, $8E, $A5, $37, $29, $20, $D0, $02, $E6, $8E, $B4 ; CPU:$DB62 PRG:5B62 85 E0 13 F0 0A E6 8E A5 37 29 20 D0 02 E6 8E B4 - .byte $33, $84, $B1, $B5, $34, $AA, $86, $B2, $A9, $80, $85, $91, $A9, $00, $20, $DE ; CPU:$DB72 PRG:5B72 33 84 B1 B5 34 AA 86 B2 A9 80 85 91 A9 00 20 DE - .byte $EA, $A5, $37, $29, $20, $F0, $25, $A5, $B1, $8D, $40, $07, $A9, $FF, $8D, $41 ; CPU:$DB82 PRG:5B82 EA A5 37 29 20 F0 25 A5 B1 8D 40 07 A9 FF 8D 41 - .byte $07, $A0, $00, $A5, $B2, $18, $69, $0E, $AA, $A5, $37, $29, $40, $F0, $07, $8A ; CPU:$DB92 PRG:5B92 07 A0 00 A5 B2 18 69 0E AA A5 37 29 40 F0 07 8A - .byte $38, $E9, $14, $AA, $A0, $40, $8C, $42, $07, $8E, $43, $07, $68, $85, $8E, $A6 ; CPU:$DBA2 PRG:5BA2 38 E9 14 AA A0 40 8C 42 07 8E 43 07 68 85 8E A6 - .byte $86, $E0, $23, $F0, $0A, $E6, $8E, $A5, $37, $29, $20, $F0, $02, $E6, $8E, $B4 ; CPU:$DBB2 PRG:5BB2 86 E0 23 F0 0A E6 8E A5 37 29 20 F0 02 E6 8E B4 - .byte $33, $84, $B3, $B5, $34, $AA, $86, $B4, $A9, $A0, $85, $91, $A9, $01, $20, $DE ; CPU:$DBC2 PRG:5BC2 33 84 B3 B5 34 AA 86 B4 A9 A0 85 91 A9 01 20 DE - .byte $EA, $A5, $37, $29, $20, $D0, $25, $A5, $B3, $8D, $40, $07, $A9, $FF, $8D, $41 ; CPU:$DBD2 PRG:5BD2 EA A5 37 29 20 D0 25 A5 B3 8D 40 07 A9 FF 8D 41 - .byte $07, $A0, $40, $A5, $B4, $38, $E9, $06, $AA, $A5, $37, $29, $40, $F0, $07, $A0 ; CPU:$DBE2 PRG:5BE2 07 A0 40 A5 B4 38 E9 06 AA A5 37 29 40 F0 07 A0 - .byte $00, $8A, $18, $69, $14, $AA, $8C, $42, $07, $8E, $43, $07, $A5, $B1, $18, $69 ; CPU:$DBF2 PRG:5BF2 00 8A 18 69 14 AA 8C 42 07 8E 43 07 A5 B1 18 69 - .byte $04, $A8, $A5, $B2, $38, $E9, $0C, $AA, $A5, $37, $29, $40, $F0, $05, $8A, $18 ; CPU:$DC02 PRG:5C02 04 A8 A5 B2 38 E9 0C AA A5 37 29 40 F0 05 8A 18 - .byte $69, $18, $AA, $20, $D9, $EE, $60, $A5, $37, $10, $3D, $29, $20, $F0, $09, $A5 ; CPU:$DC12 PRG:5C12 69 18 AA 20 D9 EE 60 A5 37 10 3D 29 20 F0 09 A5 - .byte $7B, $29, $20, $D0, $03, $4C, $5A, $DC, $A6, $6A, $A4, $69, $20, $34, $FD, $A2 ; CPU:$DC22 PRG:5C22 7B 29 20 D0 03 4C 5A DC A6 6A A4 69 20 34 FD A2 - .byte $00, $BD, $5B, $DC, $8D, $07, $20, $E8, $E0, $09, $D0, $F5, $A0, $13, $A5, $38 ; CPU:$DC32 PRG:5C32 00 BD 5B DC 8D 07 20 E8 E0 09 D0 F5 A0 13 A5 38 - .byte $C9, $54, $B0, $0E, $A0, $12, $C9, $30, $B0, $08, $A0, $11, $C9, $08, $B0, $02 ; CPU:$DC42 PRG:5C42 C9 54 B0 0E A0 12 C9 30 B0 08 A0 11 C9 08 B0 02 - .byte $A0, $10, $8C, $07, $20, $20, $37, $FD, $60, $00, $21, $34, $34, $21, $23, $2B ; CPU:$DC52 PRG:5C52 A0 10 8C 07 20 20 37 FD 60 00 21 34 34 21 23 2B - .byte $01, $00, $A5, $3C, $D0, $03, $4C, $B2, $DF, $A9, $00, $85, $1C, $A5, $3B, $29 ; CPU:$DC62 PRG:5C62 01 00 A5 3C D0 03 4C B2 DF A9 00 85 1C A5 3B 29 - .byte $20, $F0, $04, $A9, $FF, $85, $1C, $A9, $00, $85, $1D, $A5, $3B, $29, $40, $F0 ; CPU:$DC72 PRG:5C72 20 F0 04 A9 FF 85 1C A9 00 85 1D A5 3B 29 40 F0 - .byte $04, $A9, $FF, $85, $1D, $A5, $3B, $29, $1F, $85, $1E, $0A, $AA, $BD, $8C, $E1 ; CPU:$DC82 PRG:5C82 04 A9 FF 85 1D A5 3B 29 1F 85 1E 0A AA BD 8C E1 - .byte $85, $22, $BD, $8D, $E1, $85, $23, $6C, $22, $00, $4C, $BC, $DE, $A5, $3C, $C9 ; CPU:$DC92 PRG:5C92 85 22 BD 8D E1 85 23 6C 22 00 4C BC DE A5 3C C9 - .byte $02, $F0, $0C, $C9, $03, $F0, $0B, $C9, $04, $F0, $17, $C9, $05, $F0, $23, $4C ; CPU:$DCA2 PRG:5CA2 02 F0 0C C9 03 F0 0B C9 04 F0 17 C9 05 F0 23 4C - .byte $BC, $DE, $A5, $1C, $D0, $06, $20, $C8, $DF, $4C, $BC, $DE, $20, $B3, $DF, $4C ; CPU:$DCB2 PRG:5CB2 BC DE A5 1C D0 06 20 C8 DF 4C BC DE 20 B3 DF 4C - .byte $BC, $DE, $A5, $1C, $D0, $06, $20, $E4, $DF, $4C, $BC, $DE, $20, $DD, $DF, $4C ; CPU:$DCC2 PRG:5CC2 BC DE A5 1C D0 06 20 E4 DF 4C BC DE 20 DD DF 4C - .byte $BC, $DE, $20, $F3, $DF, $4C, $BC, $DE, $4C, $DD, $DC, $A5, $3C, $C9, $02, $F0 ; CPU:$DCD2 PRG:5CD2 BC DE 20 F3 DF 4C BC DE 4C DD DC A5 3C C9 02 F0 - .byte $0A, $C9, $05, $D0, $03, $4C, $DA, $DD, $4C, $BC, $DE, $A5, $9D, $29, $C0, $C9 ; CPU:$DCE2 PRG:5CE2 0A C9 05 D0 03 4C DA DD 4C BC DE A5 9D 29 C0 C9 - .byte $40, $F0, $1E, $C9, $80, $F0, $2F, $A2, $24, $A5, $1D, $F0, $02, $A2, $4C, $A5 ; CPU:$DCF2 PRG:5CF2 40 F0 1E C9 80 F0 2F A2 24 A5 1D F0 02 A2 4C A5 - .byte $85, $C9, $13, $F0, $02, $E8, $E8, $A5, $AC, $29, $04, $F0, $01, $E8, $4C, $5E ; CPU:$DD02 PRG:5D02 85 C9 13 F0 02 E8 E8 A5 AC 29 04 F0 01 E8 4C 5E - .byte $DD, $20, $B3, $DF, $A2, $54, $A5, $1D, $F0, $02, $A2, $2C, $A5, $85, $C9, $13 ; CPU:$DD12 PRG:5D12 DD 20 B3 DF A2 54 A5 1D F0 02 A2 2C A5 85 C9 13 - .byte $F0, $01, $E8, $4C, $5E, $DD, $20, $DD, $DF, $A5, $1E, $C9, $02, $F0, $16, $A5 ; CPU:$DD22 PRG:5D22 F0 01 E8 4C 5E DD 20 DD DF A5 1E C9 02 F0 16 A5 - .byte $1C, $D0, $12, $A2, $64, $A5, $1D, $F0, $02, $A2, $68, $A5, $85, $C9, $13, $F0 ; CPU:$DD32 PRG:5D32 1C D0 12 A2 64 A5 1D F0 02 A2 68 A5 85 C9 13 F0 - .byte $1B, $E8, $4C, $5E, $DD, $A2, $4C, $A5, $1D, $F0, $02, $A2, $24, $A5, $85, $C9 ; CPU:$DD42 PRG:5D42 1B E8 4C 5E DD A2 4C A5 1D F0 02 A2 24 A5 85 C9 - .byte $13, $F0, $02, $E8, $E8, $A5, $AC, $29, $04, $F0, $01, $E8, $A5, $9E, $29, $C0 ; CPU:$DD52 PRG:5D52 13 F0 02 E8 E8 A5 AC 29 04 F0 01 E8 A5 9E 29 C0 - .byte $C9, $40, $F0, $1E, $C9, $80, $F0, $33, $A0, $50, $A5, $1D, $F0, $02, $A0, $28 ; CPU:$DD62 PRG:5D62 C9 40 F0 1E C9 80 F0 33 A0 50 A5 1D F0 02 A0 28 - .byte $A5, $86, $C9, $23, $F0, $02, $C8, $C8, $A5, $AC, $29, $04, $F0, $01, $C8, $4C ; CPU:$DD72 PRG:5D72 A5 86 C9 23 F0 02 C8 C8 A5 AC 29 04 F0 01 C8 4C - .byte $D7, $DD, $8A, $48, $20, $C8, $DF, $68, $AA, $A0, $2E, $A5, $1D, $F0, $02, $A0 ; CPU:$DD82 PRG:5D82 D7 DD 8A 48 20 C8 DF 68 AA A0 2E A5 1D F0 02 A0 - .byte $56, $A5, $86, $C9, $23, $F0, $01, $C8, $4C, $D7, $DD, $8A, $48, $20, $E4, $DF ; CPU:$DD92 PRG:5D92 56 A5 86 C9 23 F0 01 C8 4C D7 DD 8A 48 20 E4 DF - .byte $68, $AA, $A5, $1E, $C9, $02, $F0, $16, $A5, $1C, $F0, $12, $A0, $6A, $A5, $1D ; CPU:$DDA2 PRG:5DA2 68 AA A5 1E C9 02 F0 16 A5 1C F0 12 A0 6A A5 1D - .byte $F0, $02, $A0, $66, $A5, $86, $C9, $23, $F0, $1B, $C8, $4C, $D7, $DD, $A0, $28 ; CPU:$DDB2 PRG:5DB2 F0 02 A0 66 A5 86 C9 23 F0 1B C8 4C D7 DD A0 28 - .byte $A5, $1D, $F0, $02, $A0, $50, $A5, $86, $C9, $23, $F0, $02, $C8, $C8, $A5, $AC ; CPU:$DDC2 PRG:5DC2 A5 1D F0 02 A0 50 A5 86 C9 23 F0 02 C8 C8 A5 AC - .byte $29, $04, $F0, $01, $C8, $4C, $69, $DF, $20, $F3, $DF, $4C, $BC, $DE, $4C, $BC ; CPU:$DDD2 PRG:5DD2 29 04 F0 01 C8 4C 69 DF 20 F3 DF 4C BC DE 4C BC - .byte $DE, $4C, $BC, $DE, $4C, $BC, $DE, $A5, $3C, $C9, $02, $F0, $06, $20, $2F, $EF ; CPU:$DDE2 PRG:5DE2 DE 4C BC DE 4C BC DE A5 3C C9 02 F0 06 20 2F EF - .byte $4C, $BC, $DE, $20, $F3, $DF, $4C, $BC, $DE, $A5, $3C, $C9, $01, $F0, $03, $20 ; CPU:$DDF2 PRG:5DF2 4C BC DE 20 F3 DF 4C BC DE A5 3C C9 01 F0 03 20 - .byte $F3, $DF, $4C, $BC, $DE, $A5, $3C, $C9, $02, $F0, $10, $C9, $03, $F0, $0F, $C9 ; CPU:$DE02 PRG:5E02 F3 DF 4C BC DE A5 3C C9 02 F0 10 C9 03 F0 0F C9 - .byte $04, $F0, $11, $C9, $05, $F0, $13, $C9, $06, $F0, $15, $4C, $BC, $DE, $20, $B3 ; CPU:$DE12 PRG:5E12 04 F0 11 C9 05 F0 13 C9 06 F0 15 4C BC DE 20 B3 - .byte $DF, $4C, $BC, $DE, $20, $DD, $DF, $4C, $BC, $DE, $20, $F3, $DF, $4C, $BC, $DE ; CPU:$DE22 PRG:5E22 DF 4C BC DE 20 DD DF 4C BC DE 20 F3 DF 4C BC DE - .byte $4C, $BC, $DE, $4C, $BC, $DE, $4C, $BC, $DE, $A5, $3C, $C9, $01, $F0, $03, $20 ; CPU:$DE32 PRG:5E32 4C BC DE 4C BC DE 4C BC DE A5 3C C9 01 F0 03 20 - .byte $F3, $DF, $4C, $BC, $DE, $A5, $3C, $C9, $02, $F0, $17, $A6, $85, $A5, $1C, $F0 ; CPU:$DE42 PRG:5E42 F3 DF 4C BC DE A5 3C C9 02 F0 17 A6 85 A5 1C F0 - .byte $02, $A6, $86, $B5, $33, $38, $E9, $0E, $A8, $B5, $34, $AA, $20, $3B, $EF, $4C ; CPU:$DE52 PRG:5E52 02 A6 86 B5 33 38 E9 0E A8 B5 34 AA 20 3B EF 4C - .byte $BC, $DE, $20, $F3, $DF, $A5, $1C, $D0, $1D, $A6, $85, $B5, $33, $38, $E9, $02 ; CPU:$DE62 PRG:5E62 BC DE 20 F3 DF A5 1C D0 1D A6 85 B5 33 38 E9 02 - .byte $A8, $B5, $34, $38, $E9, $0C, $AA, $A5, $1D, $F0, $05, $8A, $18, $69, $18, $AA ; CPU:$DE72 PRG:5E72 A8 B5 34 38 E9 0C AA A5 1D F0 05 8A 18 69 18 AA - .byte $20, $3B, $EF, $4C, $BC, $DE, $A6, $86, $B5, $33, $38, $E9, $02, $A8, $B5, $34 ; CPU:$DE82 PRG:5E82 20 3B EF 4C BC DE A6 86 B5 33 38 E9 02 A8 B5 34 - .byte $18, $69, $0C, $AA, $A5, $1D, $F0, $05, $8A, $38, $E9, $18, $AA, $20, $3B, $EF ; CPU:$DE92 PRG:5E92 18 69 0C AA A5 1D F0 05 8A 38 E9 18 AA 20 3B EF - .byte $4C, $BC, $DE, $A2, $01, $A5, $41, $29, $20, $F0, $02, $A2, $30, $A0, $05, $A5 ; CPU:$DEA2 PRG:5EA2 4C BC DE A2 01 A5 41 29 20 F0 02 A2 30 A0 05 A5 - .byte $41, $29, $10, $F0, $02, $A0, $32, $4C, $24, $DF, $A5, $1E, $0A, $0A, $AA, $A5 ; CPU:$DEB2 PRG:5EB2 41 29 10 F0 02 A0 32 4C 24 DF A5 1E 0A 0A AA A5 - .byte $1C, $F0, $02, $E8, $E8, $BD, $14, $E0, $85, $22, $BD, $15, $E0, $85, $23, $A6 ; CPU:$DEC2 PRG:5EC2 1C F0 02 E8 E8 BD 14 E0 85 22 BD 15 E0 85 23 A6 - .byte $3C, $CA, $8A, $85, $1F, $0A, $0A, $18, $65, $1F, $18, $65, $22, $85, $22, $A5 ; CPU:$DED2 PRG:5ED2 3C CA 8A 85 1F 0A 0A 18 65 1F 18 65 22 85 22 A5 - .byte $23, $69, $00, $85, $23, $A0, $04, $B1, $22, $85, $1F, $A0, $00, $A5, $1D, $F0 ; CPU:$DEE2 PRG:5EE2 23 69 00 85 23 A0 04 B1 22 85 1F A0 00 A5 1D F0 - .byte $02, $C8, $C8, $B1, $22, $AA, $C8, $B1, $22, $A8, $A5, $AC, $29, $04, $F0, $0E ; CPU:$DEF2 PRG:5EF2 02 C8 C8 B1 22 AA C8 B1 22 A8 A5 AC 29 04 F0 0E - .byte $A5, $1F, $29, $80, $F0, $01, $E8, $A5, $1F, $29, $40, $F0, $01, $C8, $A5, $1F ; CPU:$DF02 PRG:5F02 A5 1F 29 80 F0 01 E8 A5 1F 29 40 F0 01 C8 A5 1F - .byte $29, $3F, $C9, $01, $F0, $1D, $C9, $02, $F0, $2B, $C9, $03, $F0, $39, $C9, $04 ; CPU:$DF12 PRG:5F12 29 3F C9 01 F0 1D C9 02 F0 2B C9 03 F0 39 C9 04 - .byte $F0, $45, $A5, $85, $C9, $13, $F0, $01, $E8, $A5, $86, $C9, $23, $F0, $01, $C8 ; CPU:$DF22 PRG:5F22 F0 45 A5 85 C9 13 F0 01 E8 A5 86 C9 23 F0 01 C8 - .byte $4C, $69, $DF, $A5, $85, $C9, $13, $F0, $01, $E8, $A5, $86, $C9, $23, $F0, $02 ; CPU:$DF32 PRG:5F32 4C 69 DF A5 85 C9 13 F0 01 E8 A5 86 C9 23 F0 02 - .byte $C8, $C8, $4C, $69, $DF, $A5, $85, $C9, $13, $F0, $02, $E8, $E8, $A5, $86, $C9 ; CPU:$DF42 PRG:5F42 C8 C8 4C 69 DF A5 85 C9 13 F0 02 E8 E8 A5 86 C9 - .byte $23, $F0, $01, $C8, $4C, $69, $DF, $A5, $85, $C9, $13, $F0, $02, $E8, $E8, $A5 ; CPU:$DF52 PRG:5F52 23 F0 01 C8 4C 69 DF A5 85 C9 13 F0 02 E8 E8 A5 - .byte $86, $C9, $23, $F0, $02, $C8, $C8, $98, $48, $86, $8E, $A2, $80, $A0, $A0, $A5 ; CPU:$DF62 PRG:5F62 86 C9 23 F0 02 C8 C8 98 48 86 8E A2 80 A0 A0 A5 - .byte $1C, $F0, $04, $A2, $A0, $A0, $80, $86, $91, $84, $92, $A5, $1E, $C9, $0A, $F0 ; CPU:$DF72 PRG:5F72 1C F0 04 A2 A0 A0 80 86 91 84 92 A5 1E C9 0A F0 - .byte $08, $C9, $0B, $F0, $04, $C9, $0C, $D0, $08, $A5, $91, $A6, $92, $85, $92, $86 ; CPU:$DF82 PRG:5F82 08 C9 0B F0 04 C9 0C D0 08 A5 91 A6 92 85 92 86 - .byte $91, $A6, $85, $B4, $33, $B5, $34, $AA, $A9, $00, $20, $DE, $EA, $68, $85, $8E ; CPU:$DF92 PRG:5F92 91 A6 85 B4 33 B5 34 AA A9 00 20 DE EA 68 85 8E - .byte $A5, $92, $85, $91, $A6, $86, $B4, $33, $B5, $34, $AA, $A9, $01, $20, $DE, $EA ; CPU:$DFA2 PRG:5FA2 A5 92 85 91 A6 86 B4 33 B5 34 AA A9 01 20 DE EA - .byte $60, $A6, $85, $B4, $33, $B5, $34, $AA, $A5, $1D, $D0, $06, $20, $D0, $EF, $4C ; CPU:$DFB2 PRG:5FB2 60 A6 85 B4 33 B5 34 AA A5 1D D0 06 20 D0 EF 4C - .byte $C7, $DF, $20, $8D, $EF, $60, $A6, $86, $B4, $33, $B5, $34, $AA, $A5, $1D, $D0 ; CPU:$DFC2 PRG:5FC2 C7 DF 20 8D EF 60 A6 86 B4 33 B5 34 AA A5 1D D0 - .byte $06, $20, $8D, $EF, $4C, $DC, $DF, $20, $D0, $EF, $60, $A5, $1D, $F0, $0A, $4C ; CPU:$DFD2 PRG:5FD2 06 20 8D EF 4C DC DF 20 D0 EF 60 A5 1D F0 0A 4C - .byte $EF, $DF, $A5, $1D, $F0, $07, $4C, $EB, $DF, $20, $1C, $F0, $60, $20, $10, $F0 ; CPU:$DFE2 PRG:5FE2 EF DF A5 1D F0 07 4C EB DF 20 1C F0 60 20 10 F0 - .byte $60, $A6, $86, $B5, $33, $A6, $85, $18, $75, $33, $6A, $18, $69, $18, $A8, $B5 ; CPU:$DFF2 PRG:5FF2 60 A6 86 B5 33 A6 85 18 75 33 6A 18 69 18 A8 B5 - .byte $34, $A6, $86, $18, $75, $34, $6A, $AA, $A5, $1C, $48, $20, $D9, $EE, $68, $85 ; CPU:$E002 PRG:6002 34 A6 86 18 75 34 6A AA A5 1C 48 20 D9 EE 68 85 - .byte $1C, $60, $4C, $E0, $51, $E0, $56, $E0, $6F, $E0, $88, $E0, $A1, $E0, $BA, $E0 ; CPU:$E012 PRG:6012 1C 60 4C E0 51 E0 56 E0 6F E0 88 E0 A1 E0 BA E0 - .byte $D3, $E0, $EC, $E0, $F6, $E0, $00, $E1, $05, $E1, $0A, $E1, $0F, $E1, $14, $E1 ; CPU:$E022 PRG:6022 D3 E0 EC E0 F6 E0 00 E1 05 E1 0A E1 0F E1 14 E1 - .byte $1E, $E1, $28, $E1, $28, $E1, $32, $E1, $32, $E1, $50, $E1, $50, $E1, $5A, $E1 ; CPU:$E032 PRG:6032 1E E1 28 E1 28 E1 32 E1 32 E1 50 E1 50 E1 5A E1 - .byte $5A, $E1, $64, $E1, $6E, $E1, $78, $E1, $82, $E1, $4C, $66, $24, $6A, $02, $68 ; CPU:$E042 PRG:6042 5A E1 64 E1 6E E1 78 E1 82 E1 4C 66 24 6A 02 68 - .byte $28, $64, $50, $01, $14, $40, $3C, $18, $03, $4C, $40, $24, $18, $43, $4C, $2E ; CPU:$E052 PRG:6052 28 64 50 01 14 40 3C 18 03 4C 40 24 18 43 4C 2E - .byte $24, $56, $02, $58, $18, $30, $40, $41, $58, $2E, $30, $56, $00, $14, $40, $3C ; CPU:$E062 PRG:6062 24 56 02 58 18 30 40 41 58 2E 30 56 00 14 40 3C - .byte $18, $03, $14, $28, $3C, $50, $83, $54, $28, $2C, $50, $01, $3C, $32, $14, $5A ; CPU:$E072 PRG:6072 18 03 14 28 3C 50 83 54 28 2C 50 01 3C 32 14 5A - .byte $82, $54, $32, $2C, $5A, $00, $14, $40, $3C, $18, $03, $00, $00, $00, $00, $00 ; CPU:$E082 PRG:6082 82 54 32 2C 5A 00 14 40 3C 18 03 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3C, $2E, $14, $56, $02, $14 ; CPU:$E092 PRG:6092 00 00 00 00 00 00 00 00 00 00 3C 2E 14 56 02 14 - .byte $40, $3C, $18, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$E0A2 PRG:60A2 40 3C 18 03 00 00 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $54, $18, $2C, $40, $01, $14, $40, $3C, $18, $03, $00, $00, $00 ; CPU:$E0B2 PRG:60B2 00 00 00 54 18 2C 40 01 14 40 3C 18 03 00 00 00 - .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $64, $2E, $68, $56 ; CPU:$E0C2 PRG:60C2 00 00 00 00 00 00 00 00 00 00 00 00 64 2E 68 56 - .byte $00, $14, $40, $3C, $18, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$E0D2 PRG:60D2 00 14 40 3C 18 03 00 00 00 00 00 00 00 00 00 00 - .byte $00, $00, $00, $00, $00, $54, $6A, $2C, $66, $00, $1C, $2E, $44, $56, $02, $24 ; CPU:$E0E2 PRG:60E2 00 00 00 00 00 54 6A 2C 66 00 1C 2E 44 56 02 24 - .byte $32, $4C, $5A, $02, $54, $48, $2C, $20, $01, $58, $50, $30, $28, $01, $24, $56 ; CPU:$E0F2 PRG:60F2 32 4C 5A 02 54 48 2C 20 01 58 50 30 28 01 24 56 - .byte $4C, $2E, $02, $2C, $50, $54, $28, $01, $24, $32, $4C, $5A, $02, $58, $50, $30 ; CPU:$E102 PRG:6102 4C 2E 02 2C 50 54 28 01 24 32 4C 5A 02 58 50 30 - .byte $28, $01, $14, $40, $3C, $18, $03, $1C, $56, $44, $2E, $02, $14, $40, $3C, $18 ; CPU:$E112 PRG:6112 28 01 14 40 3C 18 03 1C 56 44 2E 02 14 40 3C 18 - .byte $03, $2C, $48, $54, $20, $01, $2D, $5A, $55, $32, $04, $5F, $5E, $37, $36, $04 ; CPU:$E122 PRG:6122 03 2C 48 54 20 01 2D 5A 55 32 04 5F 5E 37 36 04 - .byte $14, $42, $3C, $1A, $04, $14, $2A, $3C, $52, $84, $54, $2A, $2C, $52, $04, $3C ; CPU:$E132 PRG:6132 14 42 3C 1A 04 14 2A 3C 52 84 54 2A 2C 52 04 3C - .byte $2A, $14, $52, $C4, $39, $38, $61, $60, $04, $58, $1A, $30, $42, $04, $26, $6C ; CPU:$E142 PRG:6142 2A 14 52 C4 39 38 61 60 04 58 1A 30 42 04 26 6C - .byte $4E, $6D, $04, $26, $6C, $4E, $6D, $04, $00, $5B, $00, $33, $04, $5C, $5D, $34 ; CPU:$E152 PRG:6152 4E 6D 04 26 6C 4E 6D 04 00 5B 00 33 04 5C 5D 34 - .byte $35, $04, $24, $18, $4C, $40, $C3, $24, $18, $4C, $40, $03, $3C, $50, $14, $28 ; CPU:$E162 PRG:6162 35 04 24 18 4C 40 C3 24 18 4C 40 03 3C 50 14 28 - .byte $C3, $3C, $50, $14, $28, $03, $24, $40, $4C, $18, $83, $14, $56, $3C, $2E, $02 ; CPU:$E172 PRG:6172 C3 3C 50 14 28 03 24 40 4C 18 83 14 56 3C 2E 02 - .byte $14, $50, $3C, $28, $43, $2C, $40, $54, $18, $01, $9C, $DC, $9F, $DC, $DA, $DC ; CPU:$E182 PRG:6182 14 50 3C 28 43 2C 40 54 18 01 9C DC 9F DC DA DC - .byte $DD, $DC, $E0, $DD, $E3, $DD, $E6, $DD, $E9, $DD, $FB, $DD, $07, $DE, $35, $DE ; CPU:$E192 PRG:6192 DD DC E0 DD E3 DD E6 DD E9 DD FB DD 07 DE 35 DE - .byte $38, $DE, $3B, $DE, $47, $DE, $A5, $DE, $A5, $37, $30, $43, $A5, $3B, $30, $3F ; CPU:$E1A2 PRG:61A2 38 DE 3B DE 47 DE A5 DE A5 37 30 43 A5 3B 30 3F - .byte $A2, $21, $A0, $AB, $20, $34, $FD, $A2, $00, $A5, $36, $30, $23, $A2, $0A, $A5 ; CPU:$E1B2 PRG:61B2 A2 21 A0 AB 20 34 FD A2 00 A5 36 30 23 A2 0A A5 - .byte $AA, $F0, $02, $A2, $14, $A0, $0A, $BD, $56, $E2, $8D, $07, $20, $E8, $88, $D0 ; CPU:$E1C2 PRG:61C2 AA F0 02 A2 14 A0 0A BD 56 E2 8D 07 20 E8 88 D0 - .byte $F6, $A2, $22, $A0, $6B, $20, $34, $FD, $A2, $0A, $A5, $AA, $F0, $02, $A2, $1E ; CPU:$E1D2 PRG:61D2 F6 A2 22 A0 6B 20 34 FD A2 0A A5 AA F0 02 A2 1E - .byte $A0, $0A, $BD, $56, $E2, $8D, $07, $20, $E8, $88, $D0, $F6, $4C, $52, $E2, $A2 ; CPU:$E1E2 PRG:61E2 A0 0A BD 56 E2 8D 07 20 E8 88 D0 F6 4C 52 E2 A2 - .byte $21, $A0, $AB, $A5, $36, $30, $08, $A5, $A4, $F0, $04, $A2, $22, $A0, $6B, $20 ; CPU:$E1F2 PRG:61F2 21 A0 AB A5 36 30 08 A5 A4 F0 04 A2 22 A0 6B 20 - .byte $34, $FD, $A2, $00, $A5, $37, $29, $20, $F0, $07, $E8, $A5, $7B, $29, $20, $F0 ; CPU:$E202 PRG:6202 34 FD A2 00 A5 37 29 20 F0 07 E8 A5 7B 29 20 F0 - .byte $3F, $A0, $11, $E0, $00, $F0, $02, $A0, $12, $8C, $07, $20, $A9, $30, $8D, $07 ; CPU:$E212 PRG:6212 3F A0 11 E0 00 F0 02 A0 12 8C 07 20 A9 30 8D 07 - .byte $20, $A9, $1A, $8D, $07, $20, $A5, $37, $29, $1F, $C9, $07, $D0, $02, $A5, $9B ; CPU:$E222 PRG:6222 20 A9 1A 8D 07 20 A5 37 29 1F C9 07 D0 02 A5 9B - .byte $0A, $85, $1A, $0A, $18, $65, $1A, $A8, $A2, $06, $A9, $7E, $85, $22, $A9, $E2 ; CPU:$E232 PRG:6232 0A 85 1A 0A 18 65 1A A8 A2 06 A9 7E 85 22 A9 E2 - .byte $85, $23, $B1, $22, $8D, $07, $20, $C8, $CA, $D0, $F7, $A9, $00, $8D, $07, $20 ; CPU:$E242 PRG:6242 85 23 B1 22 8D 07 20 C8 CA D0 F7 A9 00 8D 07 20 - .byte $20, $37, $FD, $60, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $FF, $FF ; CPU:$E252 PRG:6252 20 37 FD 60 CA CA CA CA CA CA CA CA CA CA FF FF - .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $4E, $44, $44, $44, $44, $44, $44, $44 ; CPU:$E262 PRG:6262 FF FF FF FF FF FF FF FF 4E 44 44 44 44 44 44 44 - .byte $44, $58, $FF, $FF, $AC, $AD, $44, $44, $AF, $AE, $FF, $FF, $22, $0E, $33, $2C ; CPU:$E272 PRG:6272 44 58 FF FF AC AD 44 44 AF AE FF FF 22 0E 33 2C - .byte $21, $2D, $24, $0E, $2B, $29, $23, $2B, $22, $0E, $21, $34, $21, $23, $26, $0E ; CPU:$E282 PRG:6282 21 2D 24 0E 2B 29 23 2B 22 0E 21 34 21 23 26 0E - .byte $28, $22, $21, $34, $22, $0E, $24, $32, $2F, $30, $2E, $0E, $28, $21, $2E, $27 ; CPU:$E292 PRG:6292 28 22 21 34 22 0E 24 32 2F 30 2E 0E 28 21 2E 27 - .byte $22, $0E, $22, $32, $29, $2B, $00, $00, $00, $00, $00, $00, $25, $2E, $3A, $35 ; CPU:$E2A2 PRG:62A2 22 0E 22 32 29 2B 00 00 00 00 00 00 25 2E 3A 35 - .byte $29, $00, $37, $0E, $2C, $21, $32, $29, $22, $0E, $22, $35, $33, $34, $33, $21 ; CPU:$E2B2 PRG:62B2 29 00 37 0E 2C 21 32 29 22 0E 22 35 33 34 33 21 - .byte $33, $2F, $32, $29, $34, $25, $23, $23, $28, $35, $2B, $39, $2F, $35, $2B, $29 ; CPU:$E2C2 PRG:62C2 33 2F 32 29 34 25 23 23 28 35 2B 39 2F 35 2B 29 - .byte $A5, $3E, $29, $20, $D0, $36, $A2, $10, $A5, $85, $C9, $13, $F0, $01, $E8, $86 ; CPU:$E2D2 PRG:62D2 A5 3E 29 20 D0 36 A2 10 A5 85 C9 13 F0 01 E8 86 - .byte $8E, $A6, $86, $B5, $33, $38, $E9, $08, $A8, $B5, $34, $AA, $A9, $80, $85, $91 ; CPU:$E2E2 PRG:62E2 8E A6 86 B5 33 38 E9 08 A8 B5 34 AA A9 80 85 91 - .byte $A9, $00, $20, $DE, $EA, $A6, $86, $B4, $33, $B5, $34, $AA, $A5, $A9, $85, $8E ; CPU:$E2F2 PRG:62F2 A9 00 20 DE EA A6 86 B4 33 B5 34 AA A5 A9 85 8E - .byte $A9, $A0, $85, $91, $A9, $01, $20, $DE, $EA, $4C, $41, $E3, $A2, $12, $A5, $86 ; CPU:$E302 PRG:6302 A9 A0 85 91 A9 01 20 DE EA 4C 41 E3 A2 12 A5 86 - .byte $C9, $23, $F0, $01, $E8, $86, $8E, $A6, $85, $B5, $33, $38, $E9, $08, $A8, $B5 ; CPU:$E312 PRG:6312 C9 23 F0 01 E8 86 8E A6 85 B5 33 38 E9 08 A8 B5 - .byte $34, $AA, $A9, $80, $85, $91, $A9, $01, $20, $DE, $EA, $A6, $85, $B4, $33, $B5 ; CPU:$E322 PRG:6322 34 AA A9 80 85 91 A9 01 20 DE EA A6 85 B4 33 B5 - .byte $34, $AA, $A5, $A8, $85, $8E, $A9, $A0, $85, $91, $A9, $00, $20, $DE, $EA, $60 ; CPU:$E332 PRG:6332 34 AA A5 A8 85 8E A9 A0 85 91 A9 00 20 DE EA 60 - .byte $A2, $3A, $A5, $65, $29, $C0, $C9, $80, $F0, $02, $A2, $62, $A5, $65, $29, $1F ; CPU:$E342 PRG:6342 A2 3A A5 65 29 C0 C9 80 F0 02 A2 62 A5 65 29 1F - .byte $F0, $01, $E8, $86, $8E, $A9, $40, $85, $91, $A4, $66, $A6, $67, $A9, $04, $20 ; CPU:$E352 PRG:6352 F0 01 E8 86 8E A9 40 85 91 A4 66 A6 67 A9 04 20 - .byte $DE, $EA, $60, $A4, $6B, $A6, $6C, $20, $34, $FD, $A5, $3F, $18, $69, $10, $8D ; CPU:$E362 PRG:6362 DE EA 60 A4 6B A6 6C 20 34 FD A5 3F 18 69 10 8D - .byte $07, $20, $20, $37, $FD, $60, $A5, $36, $30, $38, $A0, $31, $A2, $B4, $A9, $6E ; CPU:$E372 PRG:6372 07 20 20 37 FD 60 A5 36 30 38 A0 31 A2 B4 A9 6E - .byte $85, $8E, $A9, $C0, $85, $91, $A9, $05, $20, $DE, $EA, $A2, $13, $A5, $36, $29 ; CPU:$E382 PRG:6382 85 8E A9 C0 85 91 A9 05 20 DE EA A2 13 A5 36 29 - .byte $40, $D0, $02, $A2, $18, $B5, $32, $29, $1F, $C9, $03, $90, $54, $A9, $6E, $85 ; CPU:$E392 PRG:6392 40 D0 02 A2 18 B5 32 29 1F C9 03 90 54 A9 6E 85 - .byte $8E, $A9, $40, $85, $91, $A0, $B1, $B5, $34, $AA, $A9, $05, $20, $DE, $EA, $4C ; CPU:$E3A2 PRG:63A2 8E A9 40 85 91 A0 B1 B5 34 AA A9 05 20 DE EA 4C - .byte $00, $E4, $A5, $41, $29, $20, $D0, $17, $A6, $85, $B5, $34, $AA, $A0, $7F, $A9 ; CPU:$E3B2 PRG:63B2 00 E4 A5 41 29 20 D0 17 A6 85 B5 34 AA A0 7F A9 - .byte $6F, $85, $8E, $A9, $20, $85, $91, $A9, $05, $20, $DE, $EA, $4C, $D6, $E3, $A2 ; CPU:$E3C2 PRG:63C2 6F 85 8E A9 20 85 91 A9 05 20 DE EA 4C D6 E3 A2 - .byte $20, $20, $C5, $EE, $A5, $41, $29, $10, $D0, $17, $A6, $86, $B5, $34, $AA, $A0 ; CPU:$E3D2 PRG:63D2 20 20 C5 EE A5 41 29 10 D0 17 A6 86 B5 34 AA A0 - .byte $7F, $A9, $6F, $85, $8E, $A9, $40, $85, $91, $A9, $05, $20, $DE, $EA, $4C, $00 ; CPU:$E3E2 PRG:63E2 7F A9 6F 85 8E A9 40 85 91 A9 05 20 DE EA 4C 00 - .byte $E4, $A5, $37, $30, $09, $A5, $3E, $30, $05, $A2, $40, $20, $C5, $EE, $60, $A2 ; CPU:$E3F2 PRG:63F2 E4 A5 37 30 09 A5 3E 30 05 A2 40 20 C5 EE 60 A2 - .byte $13, $A5, $36, $29, $40, $D0, $02, $A2, $18, $B5, $32, $29, $3F, $85, $1A, $C9 ; CPU:$E402 PRG:6402 13 A5 36 29 40 D0 02 A2 18 B5 32 29 3F 85 1A C9 - .byte $02, $F0, $2B, $C9, $03, $F0, $27, $C9, $04, $F0, $23, $C9, $05, $F0, $1F, $C9 ; CPU:$E412 PRG:6412 02 F0 2B C9 03 F0 27 C9 04 F0 23 C9 05 F0 1F C9 - .byte $06, $F0, $0B, $C9, $07, $F0, $57, $C9, $08, $D0, $03, $4C, $CD, $E4, $A0, $08 ; CPU:$E422 PRG:6422 06 F0 0B C9 07 F0 57 C9 08 D0 03 4C CD E4 A0 08 - .byte $E0, $13, $F0, $02, $A0, $0A, $C9, $00, $F0, $01, $C8, $4C, $65, $E4, $B5, $32 ; CPU:$E432 PRG:6432 E0 13 F0 02 A0 0A C9 00 F0 01 C8 4C 65 E4 B5 32 - .byte $29, $C0, $A0, $14, $C9, $80, $F0, $0E, $A0, $3C, $C9, $C0, $F0, $08, $A0, $08 ; CPU:$E442 PRG:6442 29 C0 A0 14 C9 80 F0 0E A0 3C C9 C0 F0 08 A0 08 - .byte $C9, $40, $F0, $02, $A0, $00, $E0, $13, $F0, $02, $C8, $C8, $A5, $AC, $29, $08 ; CPU:$E452 PRG:6452 C9 40 F0 02 A0 00 E0 13 F0 02 C8 C8 A5 AC 29 08 - .byte $F0, $01, $C8, $84, $8E, $A9, $60, $85, $91, $B4, $33, $B5, $34, $AA, $A5, $1A ; CPU:$E462 PRG:6462 F0 01 C8 84 8E A9 60 85 91 B4 33 B5 34 AA A5 1A - .byte $C9, $03, $D0, $02, $A0, $A0, $A9, $02, $20, $DE, $EA, $4C, $34, $E5, $B5, $33 ; CPU:$E472 PRG:6472 C9 03 D0 02 A0 A0 A9 02 20 DE EA 4C 34 E5 B5 33 - .byte $38, $E9, $08, $8D, $00, $07, $A9, $F7, $8D, $01, $07, $A9, $03, $8D, $02, $07 ; CPU:$E482 PRG:6482 38 E9 08 8D 00 07 A9 F7 8D 01 07 A9 03 8D 02 07 - .byte $B5, $34, $38, $E9, $08, $8D, $03, $07, $B5, $33, $38, $E9, $08, $8D, $04, $07 ; CPU:$E492 PRG:6492 B5 34 38 E9 08 8D 03 07 B5 33 38 E9 08 8D 04 07 - .byte $A9, $F8, $8D, $05, $07, $A9, $03, $8D, $06, $07, $B5, $34, $8D, $07, $07, $B5 ; CPU:$E4A2 PRG:64A2 A9 F8 8D 05 07 A9 03 8D 06 07 B5 34 8D 07 07 B5 - .byte $33, $8D, $08, $07, $A9, $F9, $8D, $09, $07, $A9, $03, $8D, $0A, $07, $B5, $34 ; CPU:$E4B2 PRG:64B2 33 8D 08 07 A9 F9 8D 09 07 A9 03 8D 0A 07 B5 34 - .byte $38, $E9, $04, $8D, $0B, $07, $A0, $24, $4C, $58, $E4, $B5, $33, $8D, $00, $07 ; CPU:$E4C2 PRG:64C2 38 E9 04 8D 0B 07 A0 24 4C 58 E4 B5 33 8D 00 07 - .byte $A9, $FA, $8D, $01, $07, $A9, $03, $8D, $02, $07, $B5, $34, $38, $E9, $10, $8D ; CPU:$E4D2 PRG:64D2 A9 FA 8D 01 07 A9 03 8D 02 07 B5 34 38 E9 10 8D - .byte $03, $07, $B5, $33, $8D, $04, $07, $A9, $FB, $8D, $05, $07, $A9, $03, $8D, $06 ; CPU:$E4E2 PRG:64E2 03 07 B5 33 8D 04 07 A9 FB 8D 05 07 A9 03 8D 06 - .byte $07, $B5, $34, $38, $E9, $08, $8D, $07, $07, $B5, $33, $18, $69, $08, $8D, $08 ; CPU:$E4F2 PRG:64F2 07 B5 34 38 E9 08 8D 07 07 B5 33 18 69 08 8D 08 - .byte $07, $A9, $FA, $8D, $09, $07, $A9, $83, $8D, $0A, $07, $B5, $34, $38, $E9, $10 ; CPU:$E502 PRG:6502 07 A9 FA 8D 09 07 A9 83 8D 0A 07 B5 34 38 E9 10 - .byte $8D, $0B, $07, $B5, $33, $18, $69, $08, $8D, $0C, $07, $A9, $FB, $8D, $0D, $07 ; CPU:$E512 PRG:6512 8D 0B 07 B5 33 18 69 08 8D 0C 07 A9 FB 8D 0D 07 - .byte $A9, $83, $8D, $0E, $07, $B5, $34, $38, $E9, $08, $8D, $0F, $07, $A0, $1C, $4C ; CPU:$E522 PRG:6522 A9 83 8D 0E 07 B5 34 38 E9 08 8D 0F 07 A0 1C 4C - .byte $58, $E4, $60, $A2, $23, $A5, $36, $29, $20, $D0, $02, $A2, $28, $B5, $32, $29 ; CPU:$E532 PRG:6532 58 E4 60 A2 23 A5 36 29 20 D0 02 A2 28 B5 32 29 - .byte $3F, $85, $1A, $C9, $02, $F0, $1C, $C9, $03, $F0, $18, $C9, $04, $F0, $14, $C9 ; CPU:$E542 PRG:6542 3F 85 1A C9 02 F0 1C C9 03 F0 18 C9 04 F0 14 C9 - .byte $05, $F0, $10, $A0, $04, $E0, $23, $F0, $02, $A0, $06, $C9, $00, $F0, $29, $C8 ; CPU:$E552 PRG:6552 05 F0 10 A0 04 E0 23 F0 02 A0 06 C9 00 F0 29 C8 - .byte $4C, $8A, $E5, $B5, $32, $29, $C0, $A0, $18, $C9, $80, $F0, $0E, $A0, $40, $C9 ; CPU:$E562 PRG:6562 4C 8A E5 B5 32 29 C0 A0 18 C9 80 F0 0E A0 40 C9 - .byte $C0, $F0, $08, $A0, $0C, $C9, $40, $F0, $02, $A0, $04, $E0, $23, $F0, $02, $C8 ; CPU:$E572 PRG:6572 C0 F0 08 A0 0C C9 40 F0 02 A0 04 E0 23 F0 02 C8 - .byte $C8, $A5, $AC, $29, $08, $F0, $01, $C8, $84, $8E, $A9, $E0, $85, $91, $B4, $33 ; CPU:$E582 PRG:6582 C8 A5 AC 29 08 F0 01 C8 84 8E A9 E0 85 91 B4 33 - .byte $B5, $34, $AA, $A5, $1A, $C9, $03, $D0, $02, $A0, $20, $A9, $03, $20, $DE, $EA ; CPU:$E592 PRG:6592 B5 34 AA A5 1A C9 03 D0 02 A0 20 A9 03 20 DE EA - .byte $A5, $9F, $F0, $1A, $A5, $AC, $4A, $90, $15, $A2, $00, $BD, $D0, $07, $48, $BD ; CPU:$E5A2 PRG:65A2 A5 9F F0 1A A5 AC 4A 90 15 A2 00 BD D0 07 48 BD - .byte $F0, $07, $9D, $D0, $07, $68, $9D, $F0, $07, $E8, $E0, $10, $D0, $ED, $60, $A5 ; CPU:$E5B2 PRG:65B2 F0 07 9D D0 07 68 9D F0 07 E8 E0 10 D0 ED 60 A5 - .byte $36, $30, $30, $A5, $A3, $10, $2C, $A2, $23, $A0, $28, $A5, $A3, $4A, $90, $04 ; CPU:$E5C2 PRG:65C2 36 30 30 A5 A3 10 2C A2 23 A0 28 A5 A3 4A 90 04 - .byte $A2, $21, $A0, $53, $20, $34, $FD, $A9, $34, $8D, $07, $20, $A9, $2F, $8D, $07 ; CPU:$E5D2 PRG:65D2 A2 21 A0 53 20 34 FD A9 34 8D 07 20 A9 2F 8D 07 - .byte $20, $A9, $35, $8D, $07, $20, $A9, $23, $8D, $07, $20, $A9, $28, $8D, $07, $20 ; CPU:$E5E2 PRG:65E2 20 A9 35 8D 07 20 A9 23 8D 07 20 A9 28 8D 07 20 - .byte $20, $37, $FD, $60, $A5, $36, $30, $04, $A5, $A3, $30, $37, $A5, $37, $30, $33 ; CPU:$E5F2 PRG:65F2 20 37 FD 60 A5 36 30 04 A5 A3 30 37 A5 37 30 33 - .byte $A5, $36, $10, $09, $A2, $22, $A0, $87, $A9, $12, $4C, $26, $E6, $A2, $21, $A0 ; CPU:$E602 PRG:6602 A5 36 10 09 A2 22 A0 87 A9 12 4C 26 E6 A2 21 A0 - .byte $4F, $20, $34, $FD, $A2, $0A, $A9, $44, $8D, $07, $20, $CA, $D0, $FA, $A2, $23 ; CPU:$E612 PRG:6612 4F 20 34 FD A2 0A A9 44 8D 07 20 CA D0 FA A2 23 - .byte $A0, $28, $A9, $0A, $20, $34, $FD, $AA, $A9, $44, $8D, $07, $20, $CA, $D0, $FA ; CPU:$E622 PRG:6622 A0 28 A9 0A 20 34 FD AA A9 44 8D 07 20 CA D0 FA - .byte $20, $37, $FD, $60, $A2, $20, $A0, $75, $20, $34, $FD, $A6, $85, $20, $52, $E6 ; CPU:$E632 PRG:6632 20 37 FD 60 A2 20 A0 75 20 34 FD A6 85 20 52 E6 - .byte $A2, $20, $A0, $95, $20, $34, $FD, $A6, $86, $20, $52, $E6, $20, $37, $FD, $60 ; CPU:$E642 PRG:6642 A2 20 A0 95 20 34 FD A6 86 20 52 E6 20 37 FD 60 - .byte $B5, $35, $0A, $85, $1A, $0A, $18, $65, $1A, $A8, $A2, $06, $B9, $69, $E6, $8D ; CPU:$E652 PRG:6652 B5 35 0A 85 1A 0A 18 65 1A A8 A2 06 B9 69 E6 8D - .byte $07, $20, $C8, $CA, $D0, $F6, $60, $00, $00, $00, $00, $00, $00, $E3, $00, $00 ; CPU:$E662 PRG:6662 07 20 C8 CA D0 F6 60 00 00 00 00 00 00 E3 00 00 - .byte $00, $00, $00, $E2, $00, $00, $00, $00, $00, $E1, $00, $00, $00, $00, $00, $E0 ; CPU:$E672 PRG:6672 00 00 00 E2 00 00 00 00 00 E1 00 00 00 00 00 E0 - .byte $00, $00, $00, $00, $00, $E0, $E3, $00, $00, $00, $00, $E0, $E2, $00, $00, $00 ; CPU:$E682 PRG:6682 00 00 00 00 00 E0 E3 00 00 00 00 E0 E2 00 00 00 - .byte $00, $E0, $E1, $00, $00, $00, $00, $E0, $E0, $00, $00, $00, $00, $E0, $E0, $E3 ; CPU:$E692 PRG:6692 00 E0 E1 00 00 00 00 E0 E0 00 00 00 00 E0 E0 E3 - .byte $00, $00, $00, $E0, $E0, $E2, $00, $00, $00, $E0, $E0, $E1, $00, $00, $00, $E0 ; CPU:$E6A2 PRG:66A2 00 00 00 E0 E0 E2 00 00 00 E0 E0 E1 00 00 00 E0 - .byte $E0, $E0, $00, $00, $00, $E0, $E0, $E0, $E3, $00, $00, $E0, $E0, $E0, $E2, $00 ; CPU:$E6B2 PRG:66B2 E0 E0 00 00 00 E0 E0 E0 E3 00 00 E0 E0 E0 E2 00 - .byte $00, $E0, $E0, $E0, $E1, $00, $00, $E0, $E0, $E0, $E0, $00, $00, $E0, $E0, $E0 ; CPU:$E6C2 PRG:66C2 00 E0 E0 E0 E1 00 00 E0 E0 E0 E0 00 00 E0 E0 E0 - .byte $E0, $E3, $00, $E0, $E0, $E0, $E0, $E2, $00, $E0, $E0, $E0, $E0, $E1, $00, $E0 ; CPU:$E6D2 PRG:66D2 E0 E3 00 E0 E0 E0 E0 E2 00 E0 E0 E0 E0 E1 00 E0 - .byte $E0, $E0, $E0, $E0, $00, $E0, $E0, $E0, $E0, $E0, $E3, $E0, $E0, $E0, $E0, $E0 ; CPU:$E6E2 PRG:66E2 E0 E0 E0 E0 00 E0 E0 E0 E0 E0 E3 E0 E0 E0 E0 E0 - .byte $E2, $E0, $E0, $E0, $E0, $E0, $E1, $E0, $E0, $E0, $E0, $E0, $E0, $A5, $AD, $0A ; CPU:$E6F2 PRG:66F2 E2 E0 E0 E0 E0 E0 E1 E0 E0 E0 E0 E0 E0 A5 AD 0A - .byte $29, $0E, $85, $1A, $A8, $A9, $53, $85, $22, $A9, $E7, $85, $23, $A9, $73, $85 ; CPU:$E702 PRG:6702 29 0E 85 1A A8 A9 53 85 22 A9 E7 85 23 A9 73 85 - .byte $24, $A9, $E7, $85, $25, $A5, $36, $10, $10, $A9, $63, $85, $22, $A9, $E7, $85 ; CPU:$E712 PRG:6712 24 A9 E7 85 25 A5 36 10 10 A9 63 85 22 A9 E7 85 - .byte $23, $A9, $83, $85, $24, $A9, $E7, $85, $25, $20, $30, $E8, $A2, $E7, $A0, $93 ; CPU:$E722 PRG:6722 23 A9 83 85 24 A9 E7 85 25 20 30 E8 A2 E7 A0 93 - .byte $A5, $AD, $29, $08, $F0, $04, $A2, $E7, $A0, $9D, $20, $3A, $FD, $A2, $E7, $A0 ; CPU:$E732 PRG:6732 A5 AD 29 08 F0 04 A2 E7 A0 9D 20 3A FD A2 E7 A0 - .byte $A7, $A5, $AD, $29, $10, $F0, $04, $A2, $E7, $A0, $B3, $20, $3A, $FD, $E6, $AD ; CPU:$E742 PRG:6742 A7 A5 AD 29 10 F0 04 A2 E7 A0 B3 20 3A FD E6 AD - .byte $60, $E2, $20, $EB, $20, $F4, $20, $FC, $20, $21, $21, $3D, $21, $60, $21, $7E ; CPU:$E752 PRG:6752 60 E2 20 EB 20 F4 20 FC 20 21 21 3D 21 60 21 7E - .byte $21, $C5, $21, $CC, $21, $D2, $21, $D9, $21, $E1, $21, $FD, $21, $21, $22, $3D ; CPU:$E762 PRG:6762 21 C5 21 CC 21 D2 21 D9 21 E1 21 FD 21 21 22 3D - .byte $22, $C7, $71, $C7, $71, $C7, $71, $C7, $71, $C2, $CB, $C2, $CB, $BE, $BF, $BE ; CPU:$E772 PRG:6772 22 C7 71 C7 71 C7 71 C7 71 C2 CB C2 CB BE BF BE - .byte $BF, $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CB, $CA, $CB, $CA, $CB, $CA, $CB ; CPU:$E782 PRG:6782 BF CA CB CA CB CA CB CA CB CB CA CB CA CB CA CB - .byte $CA, $6A, $23, $B2, $B0, $B6, $1F, $B3, $B1, $B7, $FF, $6A, $23, $BA, $B8, $BE ; CPU:$E792 PRG:6792 CA 6A 23 B2 B0 B6 1F B3 B1 B7 FF 6A 23 BA B8 BE - .byte $1F, $BB, $B9, $BF, $FF, $72, $23, $AE, $AC, $A6, $A4, $1F, $AF, $AD, $A7, $A5 ; CPU:$E7A2 PRG:67A2 1F BB B9 BF FF 72 23 AE AC A6 A4 1F AF AD A7 A5 - .byte $FF, $72, $23, $AA, $A8, $A2, $A0, $1F, $AB, $A9, $A3, $A1, $FF, $A5, $AC, $29 ; CPU:$E7B2 PRG:67B2 FF 72 23 AA A8 A2 A0 1F AB A9 A3 A1 FF A5 AC 29 - .byte $0E, $85, $1A, $A8, $A9, $F0, $85, $22, $A9, $E7, $85, $23, $A9, $10, $85, $24 ; CPU:$E7C2 PRG:67C2 0E 85 1A A8 A9 F0 85 22 A9 E7 85 23 A9 10 85 24 - .byte $A9, $E8, $85, $25, $A5, $36, $10, $10, $A9, $00, $85, $22, $A9, $E8, $85, $23 ; CPU:$E7D2 PRG:67D2 A9 E8 85 25 A5 36 10 10 A9 00 85 22 A9 E8 85 23 - .byte $A9, $20, $85, $24, $A9, $E8, $85, $25, $20, $30, $E8, $E6, $AC, $60, $E7, $20 ; CPU:$E7E2 PRG:67E2 A9 20 85 24 A9 E8 85 25 20 30 E8 E6 AC 60 E7 20 - .byte $EF, $20, $F7, $20, $01, $21, $1D, $21, $40, $21, $5E, $21, $A0, $21, $C1, $21 ; CPU:$E7F2 PRG:67F2 EF 20 F7 20 01 21 1D 21 40 21 5E 21 A0 21 C1 21 - .byte $C8, $21, $D5, $21, $DD, $21, $01, $22, $1D, $22, $41, $22, $5D, $22, $C7, $71 ; CPU:$E802 PRG:6802 C8 21 D5 21 DD 21 01 22 1D 22 41 22 5D 22 C7 71 - .byte $C7, $71, $C7, $71, $CA, $CB, $CA, $CB, $C3, $C2, $C3, $C2, $C3, $C2, $CA, $CB ; CPU:$E812 PRG:6812 C7 71 C7 71 CA CB CA CB C3 C2 C3 C2 C3 C2 CA CB - .byte $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $BE, $BF, $BE, $BF, $B1, $22 ; CPU:$E822 PRG:6822 CA CB CA CB CA CB CA CB CA CB BE BF BE BF B1 22 - .byte $48, $C8, $B1, $22, $AA, $68, $A8, $20, $34, $FD, $A4, $1A, $B1, $24, $8D, $07 ; CPU:$E832 PRG:6832 48 C8 B1 22 AA 68 A8 20 34 FD A4 1A B1 24 8D 07 - .byte $20, $C8, $B1, $24, $8D, $07, $20, $A5, $1A, $18, $69, $08, $29, $0E, $85, $1A ; CPU:$E842 PRG:6842 20 C8 B1 24 8D 07 20 A5 1A 18 69 08 29 0E 85 1A - .byte $A8, $B1, $22, $48, $C8, $B1, $22, $AA, $68, $A8, $20, $34, $FD, $A4, $1A, $C8 ; CPU:$E852 PRG:6852 A8 B1 22 48 C8 B1 22 AA 68 A8 20 34 FD A4 1A C8 - .byte $B1, $24, $8D, $07, $20, $88, $B1, $24, $8D, $07, $20, $20, $37, $FD, $60, $A5 ; CPU:$E862 PRG:6862 B1 24 8D 07 20 88 B1 24 8D 07 20 20 37 FD 60 A5 - .byte $36, $10, $1D, $A5, $AE, $0A, $29, $0E, $85, $1A, $A8, $A9, $93, $85, $22, $A9 ; CPU:$E872 PRG:6872 36 10 1D A5 AE 0A 29 0E 85 1A A8 A9 93 85 22 A9 - .byte $E8, $85, $23, $A9, $A3, $85, $24, $A9, $E8, $85, $25, $20, $30, $E8, $E6, $AE ; CPU:$E882 PRG:6882 E8 85 23 A9 A3 85 24 A9 E8 85 25 20 30 E8 E6 AE - .byte $60, $63, $23, $68, $23, $6F, $23, $76, $23, $7A, $23, $86, $23, $8E, $23, $96 ; CPU:$E892 PRG:6892 60 63 23 68 23 6F 23 76 23 7A 23 86 23 8E 23 96 - .byte $23, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD ; CPU:$E8A2 PRG:68A2 23 CD CF CD CF CD CF CD CF CD CF CD CF CD CF CD - .byte $CF, $A2, $20, $A0, $F3, $20, $34, $FD, $A5, $43, $18, $69, $10, $8D, $07, $20 ; CPU:$E8B2 PRG:68B2 CF A2 20 A0 F3 20 34 FD A5 43 18 69 10 8D 07 20 - .byte $A5, $42, $18, $69, $10, $8D, $07, $20, $20, $37, $FD, $60, $A5, $8C, $30, $03 ; CPU:$E8C2 PRG:68C2 A5 42 18 69 10 8D 07 20 20 37 FD 60 A5 8C 30 03 - .byte $4C, $3D, $E9, $29, $03, $F0, $07, $C9, $01, $F0, $12, $4C, $01, $E9, $A2, $E9 ; CPU:$E8D2 PRG:68D2 4C 3D E9 29 03 F0 07 C9 01 F0 12 4C 01 E9 A2 E9 - .byte $A0, $56, $A5, $36, $10, $04, $A2, $E9, $A0, $65, $4C, $FB, $E8, $A2, $E9, $A0 ; CPU:$E8E2 PRG:68E2 A0 56 A5 36 10 04 A2 E9 A0 65 4C FB E8 A2 E9 A0 - .byte $74, $A5, $36, $10, $04, $A2, $E9, $A0, $83, $20, $3A, $FD, $4C, $32, $E9, $A2 ; CPU:$E8F2 PRG:68F2 74 A5 36 10 04 A2 E9 A0 83 20 3A FD 4C 32 E9 A2 - .byte $E9, $A0, $56, $A5, $36, $10, $04, $A2, $E9, $A0, $65, $20, $3A, $FD, $A2, $21 ; CPU:$E902 PRG:6902 E9 A0 56 A5 36 10 04 A2 E9 A0 65 20 3A FD A2 21 - .byte $A0, $6F, $A5, $36, $10, $04, $A2, $21, $A0, $2F, $20, $34, $FD, $A5, $32, $0A ; CPU:$E912 PRG:6912 A0 6F A5 36 10 04 A2 21 A0 2F 20 34 FD A5 32 0A - .byte $AA, $BD, $92, $E9, $8D, $07, $20, $BD, $93, $E9, $8D, $07, $20, $20, $37, $FD ; CPU:$E922 PRG:6922 AA BD 92 E9 8D 07 20 BD 93 E9 8D 07 20 20 37 FD - .byte $A9, $00, $85, $8C, $A9, $40, $85, $8D, $4C, $55, $E9, $A5, $8D, $D0, $12, $A2 ; CPU:$E932 PRG:6932 A9 00 85 8C A9 40 85 8D 4C 55 E9 A5 8D D0 12 A2 - .byte $E9, $A0, $A8, $A5, $36, $10, $04, $A2, $E9, $A0, $B7, $20, $3A, $FD, $4C, $55 ; CPU:$E942 PRG:6942 E9 A0 A8 A5 36 10 04 A2 E9 A0 B7 20 3A FD 4C 55 - .byte $E9, $C6, $8D, $60, $6A, $21, $4C, $41, $53, $54, $20, $36, $30, $20, $53, $45 ; CPU:$E952 PRG:6952 E9 C6 8D 60 6A 21 4C 41 53 54 20 36 30 20 53 45 - .byte $43, $2E, $FF, $2A, $21, $4C, $41, $53, $54, $20, $36, $30, $20, $53, $45, $43 ; CPU:$E962 PRG:6962 43 2E FF 2A 21 4C 41 53 54 20 36 30 20 53 45 43 - .byte $2E, $FF, $6A, $21, $4C, $41, $53, $54, $20, $33, $30, $20, $53, $45, $43, $2E ; CPU:$E972 PRG:6972 2E FF 6A 21 4C 41 53 54 20 33 30 20 53 45 43 2E - .byte $FF, $2A, $21, $4C, $41, $53, $54, $20, $33, $30, $20, $53, $45, $43, $2E, $FF ; CPU:$E982 PRG:6982 FF 2A 21 4C 41 53 54 20 33 30 20 53 45 43 2E FF - .byte $11, $10, $00, $19, $00, $18, $00, $17, $00, $16, $00, $15, $00, $14, $00, $13 ; CPU:$E992 PRG:6992 11 10 00 19 00 18 00 17 00 16 00 15 00 14 00 13 - .byte $00, $12, $00, $11, $00, $00, $6A, $21, $64, $64, $64, $64, $64, $64, $64, $64 ; CPU:$E9A2 PRG:69A2 00 12 00 11 00 00 6A 21 64 64 64 64 64 64 64 64 - .byte $64, $64, $64, $64, $FF, $2A, $21, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0 ; CPU:$E9B2 PRG:69B2 64 64 64 64 FF 2A 21 F0 F0 F0 F0 F0 F0 F0 F0 F0 - .byte $F0, $F0, $F0, $FF, $A9, $FF, $85, $AF, $A5, $3B, $05, $3E, $30, $0C, $A5, $36 ; CPU:$E9C2 PRG:69C2 F0 F0 F0 FF A9 FF 85 AF A5 3B 05 3E 30 0C A5 36 - .byte $29, $EF, $85, $36, $20, $E6, $D9, $20, $19, $FD, $A9, $05, $85, $1A, $A9, $06 ; CPU:$E9D2 PRG:69D2 29 EF 85 36 20 E6 D9 20 19 FD A9 05 85 1A A9 06 - .byte $20, $3D, $F0, $C6, $1A, $D0, $F7, $A9, $08, $20, $36, $F0, $A9, $90, $85, $1A ; CPU:$E9E2 PRG:69E2 20 3D F0 C6 1A D0 F7 A9 08 20 36 F0 A9 90 85 1A - .byte $20, $19, $FD, $A5, $1A, $48, $20, $FF, $E6, $20, $BF, $E7, $20, $71, $E8, $20 ; CPU:$E9F2 PRG:69F2 20 19 FD A5 1A 48 20 FF E6 20 BF E7 20 71 E8 20 - .byte $F0, $9B, $20, $19, $FD, $68, $85, $1A, $A2, $0F, $A5, $1A, $4A, $B0, $02, $A2 ; CPU:$EA02 PRG:6A02 F0 9B 20 19 FD 68 85 1A A2 0F A5 1A 4A B0 02 A2 - .byte $14, $8E, $00, $02, $8E, $04, $02, $8E, $08, $02, $8E, $0C, $02, $A2, $02, $A0 ; CPU:$EA12 PRG:6A12 14 8E 00 02 8E 04 02 8E 08 02 8E 0C 02 A2 02 A0 - .byte $00, $84, $22, $86, $23, $A2, $3F, $A0, $00, $20, $34, $FD, $A0, $00, $A2, $10 ; CPU:$EA22 PRG:6A22 00 84 22 86 23 A2 3F A0 00 20 34 FD A0 00 A2 10 - .byte $B1, $22, $8D, $07, $20, $C8, $CA, $D0, $F7, $A9, $3F, $8D, $06, $20, $A9, $00 ; CPU:$EA32 PRG:6A32 B1 22 8D 07 20 C8 CA D0 F7 A9 3F 8D 06 20 A9 00 - .byte $8D, $06, $20, $8D, $06, $20, $8D, $06, $20, $20, $37, $FD, $A5, $7B, $10, $09 ; CPU:$EA42 PRG:6A42 8D 06 20 8D 06 20 8D 06 20 20 37 FD A5 7B 10 09 - .byte $20, $2B, $FD, $A5, $18, $29, $0C, $D0, $04, $C6, $1A, $D0, $93, $20, $F3, $9B ; CPU:$EA52 PRG:6A52 20 2B FD A5 18 29 0C D0 04 C6 1A D0 93 20 F3 9B - .byte $A9, $00, $85, $AF, $60, $48, $29, $7F, $0A, $AA, $BD, $EF, $F2, $85, $22, $BD ; CPU:$EA62 PRG:6A62 A9 00 85 AF 60 48 29 7F 0A AA BD EF F2 85 22 BD - .byte $F0, $F2, $85, $23, $A0, $00, $B1, $22, $85, $24, $C8, $B1, $22, $85, $25, $68 ; CPU:$EA72 PRG:6A72 F0 F2 85 23 A0 00 B1 22 85 24 C8 B1 22 85 25 68 - .byte $10, $07, $A5, $25, $18, $69, $04, $85, $25, $A5, $22, $18, $69, $02, $85, $22 ; CPU:$EA82 PRG:6A82 10 07 A5 25 18 69 04 85 25 A5 22 18 69 02 85 22 - .byte $A5, $23, $69, $00, $85, $23, $A5, $24, $29, $1F, $D0, $09, $A4, $24, $A6, $25 ; CPU:$EA92 PRG:6A92 A5 23 69 00 85 23 A5 24 29 1F D0 09 A4 24 A6 25 - .byte $20, $34, $FD, $A0, $00, $B1, $22, $E6, $22, $D0, $02, $E6, $23, $A2, $01, $C9 ; CPU:$EAA2 PRG:6AA2 20 34 FD A0 00 B1 22 E6 22 D0 02 E6 23 A2 01 C9 - .byte $00, $F0, $04, $C9, $FF, $D0, $0B, $48, $B1, $22, $AA, $68, $E6, $22, $D0, $02 ; CPU:$EAB2 PRG:6AB2 00 F0 04 C9 FF D0 0B 48 B1 22 AA 68 E6 22 D0 02 - .byte $E6, $23, $8D, $07, $20, $E6, $24, $D0, $02, $E6, $25, $CA, $D0, $F4, $A5, $25 ; CPU:$EAC2 PRG:6AC2 E6 23 8D 07 20 E6 24 D0 02 E6 25 CA D0 F4 A5 25 - .byte $29, $03, $D0, $C2, $A5, $24, $D0, $BE, $20, $37, $FD, $60, $84, $8F, $86, $90 ; CPU:$EAD2 PRG:6AD2 29 03 D0 C2 A5 24 D0 BE 20 37 FD 60 84 8F 86 90 - .byte $AA, $BD, $DD, $EB, $85, $1B, $E0, $01, $D0, $0A, $A5, $36, $29, $04, $F0, $04 ; CPU:$EAE2 PRG:6AE2 AA BD DD EB 85 1B E0 01 D0 0A A5 36 29 04 F0 04 - .byte $A9, $02, $85, $1B, $E0, $00, $D0, $25, $A5, $36, $29, $10, $F0, $1F, $A5, $3B ; CPU:$EAF2 PRG:6AF2 A9 02 85 1B E0 00 D0 25 A5 36 29 10 F0 1F A5 3B - .byte $30, $1B, $A5, $3E, $30, $17, $A5, $12, $C9, $08, $D0, $11, $A5, $AC, $29, $01 ; CPU:$EB02 PRG:6B02 30 1B A5 3E 30 17 A5 12 C9 08 D0 11 A5 AC 29 01 - .byte $F0, $0B, $A9, $8D, $85, $22, $A9, $E0, $85, $23, $4C, $39, $EB, $A9, $00, $85 ; CPU:$EB12 PRG:6B12 F0 0B A9 8D 85 22 A9 E0 85 23 4C 39 EB A9 00 85 - .byte $23, $A5, $8E, $0A, $26, $23, $0A, $26, $23, $0A, $26, $23, $18, $69, $59, $85 ; CPU:$EB22 PRG:6B22 23 A5 8E 0A 26 23 0A 26 23 0A 26 23 18 69 59 85 - .byte $22, $A5, $23, $69, $F8, $85, $23, $A5, $8E, $0A, $AA, $BD, $D9, $FB, $85, $1C ; CPU:$EB32 PRG:6B32 22 A5 23 69 F8 85 23 A5 8E 0A AA BD D9 FB 85 1C - .byte $BD, $DA, $FB, $85, $1D, $A6, $8E, $BD, $E9, $F7, $F0, $09, $A5, $90, $38, $E9 ; CPU:$EB42 PRG:6B42 BD DA FB 85 1D A6 8E BD E9 F7 F0 09 A5 90 38 E9 - .byte $08, $85, $90, $A9, $01, $85, $1E, $A5, $91, $85, $24, $A9, $07, $85, $25, $A0 ; CPU:$EB52 PRG:6B52 08 85 90 A9 01 85 1E A5 91 85 24 A9 07 85 25 A0 - .byte $00, $B1, $22, $48, $98, $AA, $A0, $00, $A5, $8F, $91, $24, $C8, $68, $91, $24 ; CPU:$EB62 PRG:6B62 00 B1 22 48 98 AA A0 00 A5 8F 91 24 C8 68 91 24 - .byte $C8, $A5, $1B, $46, $1C, $90, $02, $09, $40, $46, $1D, $90, $02, $09, $80, $91 ; CPU:$EB72 PRG:6B72 C8 A5 1B 46 1C 90 02 09 40 46 1D 90 02 09 80 91 - .byte $24, $C8, $A5, $90, $91, $24, $A5, $24, $18, $69, $04, $85, $24, $A5, $25, $69 ; CPU:$EB82 PRG:6B82 24 C8 A5 90 91 24 A5 24 18 69 04 85 24 A5 25 69 - .byte $00, $85, $25, $8A, $A8, $C8, $A5, $1E, $D0, $1F, $98, $4A, $90, $0A, $A5, $90 ; CPU:$EB92 PRG:6B92 00 85 25 8A A8 C8 A5 1E D0 1F 98 4A 90 0A A5 90 - .byte $18, $69, $08, $85, $90, $4C, $D8, $EB, $A5, $8F, $18, $69, $08, $85, $8F, $A5 ; CPU:$EBA2 PRG:6BA2 18 69 08 85 90 4C D8 EB A5 8F 18 69 08 85 8F A5 - .byte $90, $38, $E9, $08, $85, $90, $4C, $D8, $EB, $98, $29, $03, $F0, $0A, $A5, $90 ; CPU:$EBB2 PRG:6BB2 90 38 E9 08 85 90 4C D8 EB 98 29 03 F0 0A A5 90 - .byte $18, $69, $08, $85, $90, $4C, $D8, $EB, $A5, $8F, $18, $69, $08, $85, $8F, $A5 ; CPU:$EBC2 PRG:6BC2 18 69 08 85 90 4C D8 EB A5 8F 18 69 08 85 8F A5 - .byte $90, $38, $E9, $18, $85, $90, $C0, $08, $D0, $87, $60, $00, $01, $00, $01, $00 ; CPU:$EBD2 PRG:6BD2 90 38 E9 18 85 90 C0 08 D0 87 60 00 01 00 01 00 - .byte $02, $00, $A9, $00, $85, $16, $A5, $18, $29, $FC, $A5, $37, $30, $0B, $A5, $45 ; CPU:$EBE2 PRG:6BE2 02 00 A9 00 85 16 A5 18 29 FC A5 37 30 0B A5 45 - .byte $29, $1F, $C9, $03, $90, $1D, $4C, $42, $EC, $A5, $13, $29, $7F, $D0, $07, $A5 ; CPU:$EBF2 PRG:6BF2 29 1F C9 03 90 1D 4C 42 EC A5 13 29 7F D0 07 A5 - .byte $18, $09, $01, $4C, $10, $EC, $29, $0F, $D0, $36, $A5, $18, $09, $02, $85, $18 ; CPU:$EC02 PRG:6C02 18 09 01 4C 10 EC 29 0F D0 36 A5 18 09 02 85 18 - .byte $4C, $42, $EC, $A2, $00, $A5, $55, $29, $1F, $C9, $03, $B0, $21, $A5, $47, $C5 ; CPU:$EC12 PRG:6C12 4C 42 EC A2 00 A5 55 29 1F C9 03 B0 21 A5 47 C5 - .byte $57, $F0, $0C, $B0, $05, $A2, $03, $4C, $40, $EC, $A2, $07, $4C, $40, $EC, $A5 ; CPU:$EC22 PRG:6C22 57 F0 0C B0 05 A2 03 4C 40 EC A2 07 4C 40 EC A5 - .byte $46, $C5, $56, $F0, $09, $B0, $05, $A2, $05, $4C, $40, $EC, $A2, $01, $86, $16 ; CPU:$EC32 PRG:6C32 46 C5 56 F0 09 B0 05 A2 05 4C 40 EC A2 01 86 16 - .byte $60, $A6, $85, $B5, $32, $29, $3F, $C9, $0B, $D0, $07, $A9, $00, $85, $94, $4C ; CPU:$EC42 PRG:6C42 60 A6 85 B5 32 29 3F C9 0B D0 07 A9 00 85 94 4C - .byte $0C, $ED, $A5, $36, $29, $02, $F0, $26, $A6, $85, $B5, $35, $29, $FC, $D0, $07 ; CPU:$EC52 PRG:6C52 0C ED A5 36 29 02 F0 26 A6 85 B5 35 29 FC D0 07 - .byte $A0, $00, $A5, $AC, $4A, $90, $12, $A6, $86, $A0, $04, $B5, $34, $C9, $50, $90 ; CPU:$EC62 PRG:6C62 A0 00 A5 AC 4A 90 12 A6 86 A0 04 B5 34 C9 50 90 - .byte $08, $A0, $03, $C9, $58, $90, $02, $A0, $02, $84, $94, $4C, $0C, $ED, $A5, $36 ; CPU:$EC72 PRG:6C72 08 A0 03 C9 58 90 02 A0 02 84 94 4C 0C ED A5 36 - .byte $29, $04, $D0, $1E, $A5, $83, $29, $07, $0A, $85, $1B, $0A, $18, $65, $1B, $18 ; CPU:$EC82 PRG:6C82 29 04 D0 1E A5 83 29 07 0A 85 1B 0A 18 65 1B 18 - .byte $65, $33, $AA, $BD, $0D, $ED, $F0, $5A, $A6, $85, $B5, $32, $29, $3F, $C9, $03 ; CPU:$EC92 PRG:6C92 65 33 AA BD 0D ED F0 5A A6 85 B5 32 29 3F C9 03 - .byte $B0, $50, $A6, $85, $B5, $33, $85, $1B, $B5, $34, $85, $1C, $A6, $86, $B5, $33 ; CPU:$ECA2 PRG:6CA2 B0 50 A6 85 B5 33 85 1B B5 34 85 1C A6 86 B5 33 - .byte $C5, $1B, $F0, $13, $B0, $29, $A0, $05, $B5, $34, $C5, $1C, $F0, $2F, $A0, $04 ; CPU:$ECB2 PRG:6CB2 C5 1B F0 13 B0 29 A0 05 B5 34 C5 1C F0 2F A0 04 - .byte $90, $2B, $A0, $06, $4C, $EF, $EC, $B5, $34, $C5, $1C, $D0, $05, $A9, $00, $4C ; CPU:$ECC2 PRG:6CC2 90 2B A0 06 4C EF EC B5 34 C5 1C D0 05 A9 00 4C - .byte $EF, $EC, $A0, $03, $B5, $34, $C5, $1C, $90, $13, $A0, $07, $4C, $EF, $EC, $A0 ; CPU:$ECD2 PRG:6CD2 EF EC A0 03 B5 34 C5 1C 90 13 A0 07 4C EF EC A0 - .byte $01, $B5, $34, $C5, $1C, $F0, $06, $A0, $02, $90, $02, $A0, $08, $84, $94, $4C ; CPU:$ECE2 PRG:6CE2 01 B5 34 C5 1C F0 06 A0 02 90 02 A0 08 84 94 4C - .byte $0C, $ED, $A5, $AC, $29, $1F, $F0, $0A, $A6, $93, $BD, $3D, $ED, $85, $94, $4C ; CPU:$ECF2 PRG:6CF2 0C ED A5 AC 29 1F F0 0A A6 93 BD 3D ED 85 94 4C - .byte $0C, $ED, $E6, $93, $A5, $93, $29, $0F, $85, $93, $60, $00, $00, $01, $00, $01 ; CPU:$ED02 PRG:6D02 0C ED E6 93 A5 93 29 0F 85 93 60 00 00 01 00 01 - .byte $00, $00, $00, $00, $01, $00, $01, $00, $00, $01, $00, $01, $00, $01, $01, $00 ; CPU:$ED12 PRG:6D12 00 00 00 00 01 00 01 00 00 01 00 01 00 01 01 00 - .byte $00, $01, $01, $01, $00, $01, $00, $00, $01, $01, $01, $00, $01, $00, $01, $01 ; CPU:$ED22 PRG:6D22 00 01 01 01 00 01 00 00 01 01 01 00 01 00 01 01 - .byte $01, $00, $01, $01, $01, $01, $00, $01, $00, $01, $01, $06, $00, $07, $00, $03 ; CPU:$ED32 PRG:6D32 01 00 01 01 01 01 00 01 00 01 01 06 00 07 00 03 - .byte $04, $07, $00, $01, $05, $03, $07, $02, $00, $08, $03, $48, $84, $20, $B5, $33 ; CPU:$ED42 PRG:6D42 04 07 00 01 05 03 07 02 00 08 03 48 84 20 B5 33 - .byte $85, $8F, $B5, $34, $85, $90, $98, $AA, $B5, $33, $85, $1C, $B5, $34, $85, $1D ; CPU:$ED52 PRG:6D52 85 8F B5 34 85 90 98 AA B5 33 85 1C B5 34 85 1D - .byte $A9, $00, $85, $1E, $B5, $32, $29, $3F, $C9, $07, $D0, $0D, $A5, $1C, $18, $69 ; CPU:$ED62 PRG:6D62 A9 00 85 1E B5 32 29 3F C9 07 D0 0D A5 1C 18 69 - .byte $10, $38, $E5, $8F, $C9, $20, $4C, $85, $ED, $A5, $8F, $18, $69, $08, $38, $E5 ; CPU:$ED72 PRG:6D72 10 38 E5 8F C9 20 4C 85 ED A5 8F 18 69 08 38 E5 - .byte $1C, $C9, $10, $B0, $04, $A9, $FF, $85, $1E, $A9, $00, $85, $1F, $B5, $32, $29 ; CPU:$ED82 PRG:6D82 1C C9 10 B0 04 A9 FF 85 1E A9 00 85 1F B5 32 29 - .byte $3F, $C9, $07, $D0, $0D, $A5, $1D, $18, $69, $10, $38, $E5, $90, $C9, $28, $4C ; CPU:$ED92 PRG:6D92 3F C9 07 D0 0D A5 1D 18 69 10 38 E5 90 C9 28 4C - .byte $AE, $ED, $A5, $90, $18, $69, $08, $38, $E5, $1D, $C9, $10, $B0, $04, $A9, $FF ; CPU:$EDA2 PRG:6DA2 AE ED A5 90 18 69 08 38 E5 1D C9 10 B0 04 A9 FF - .byte $85, $1F, $68, $0A, $AA, $BD, $75, $EE, $85, $24, $BD, $76, $EE, $85, $25, $6C ; CPU:$EDB2 PRG:6DB2 85 1F 68 0A AA BD 75 EE 85 24 BD 76 EE 85 25 6C - .byte $24, $00, $4C, $00, $EE, $20, $05, $EE, $4C, $00, $EE, $20, $05, $EE, $20, $2E ; CPU:$EDC2 PRG:6DC2 24 00 4C 00 EE 20 05 EE 4C 00 EE 20 05 EE 20 2E - .byte $EE, $4C, $00, $EE, $20, $2E, $EE, $4C, $00, $EE, $20, $46, $EE, $20, $2E, $EE ; CPU:$EDD2 PRG:6DD2 EE 4C 00 EE 20 2E EE 4C 00 EE 20 46 EE 20 2E EE - .byte $4C, $00, $EE, $20, $46, $EE, $4C, $00, $EE, $20, $46, $EE, $20, $5D, $EE, $4C ; CPU:$EDE2 PRG:6DE2 4C 00 EE 20 46 EE 4C 00 EE 20 46 EE 20 5D EE 4C - .byte $00, $EE, $20, $5D, $EE, $4C, $00, $EE, $20, $05, $EE, $20, $5D, $EE, $A4, $8F ; CPU:$EDF2 PRG:6DF2 00 EE 20 5D EE 4C 00 EE 20 05 EE 20 5D EE A4 8F - .byte $A6, $90, $60, $A5, $8F, $C9, $40, $F0, $10, $A5, $1F, $F0, $0A, $A5, $8F, $C5 ; CPU:$EE02 PRG:6E02 A6 90 60 A5 8F C9 40 F0 10 A5 1F F0 0A A5 8F C5 - .byte $1C, $90, $04, $A5, $1E, $D0, $14, $C6, $8F, $20, $87, $EE, $E4, $90, $90, $05 ; CPU:$EE12 PRG:6E12 1C 90 04 A5 1E D0 14 C6 8F 20 87 EE E4 90 90 05 - .byte $86, $90, $4C, $2D, $EE, $C4, $90, $B0, $02, $84, $90, $60, $20, $87, $EE, $C4 ; CPU:$EE22 PRG:6E22 86 90 4C 2D EE C4 90 B0 02 84 90 60 20 87 EE C4 - .byte $90, $F0, $10, $A5, $1E, $F0, $0A, $A5, $90, $C5, $1D, $B0, $04, $A5, $1F, $D0 ; CPU:$EE32 PRG:6E32 90 F0 10 A5 1E F0 0A A5 90 C5 1D B0 04 A5 1F D0 - .byte $02, $E6, $90, $60, $A5, $8F, $C9, $92, $F0, $10, $A5, $1F, $F0, $0A, $A5, $8F ; CPU:$EE42 PRG:6E42 02 E6 90 60 A5 8F C9 92 F0 10 A5 1F F0 0A A5 8F - .byte $C5, $1C, $B0, $04, $A5, $1E, $D0, $02, $E6, $8F, $60, $20, $87, $EE, $E4, $90 ; CPU:$EE52 PRG:6E52 C5 1C B0 04 A5 1E D0 02 E6 8F 60 20 87 EE E4 90 - .byte $F0, $10, $A5, $1E, $F0, $0A, $A5, $90, $C5, $1D, $90, $04, $A5, $1F, $D0, $02 ; CPU:$EE62 PRG:6E62 F0 10 A5 1E F0 0A A5 90 C5 1D 90 04 A5 1F D0 02 - .byte $C6, $90, $60, $C4, $ED, $C7, $ED, $CD, $ED, $D6, $ED, $DC, $ED, $E5, $ED, $EB ; CPU:$EE72 PRG:6E72 C6 90 60 C4 ED C7 ED CD ED D6 ED DC ED E5 ED EB - .byte $ED, $F4, $ED, $FA, $ED, $A2, $00, $A5, $8F, $C9, $98, $B0, $20, $E8, $E8, $C9 ; CPU:$EE82 PRG:6E82 ED F4 ED FA ED A2 00 A5 8F C9 98 B0 20 E8 E8 C9 - .byte $88, $B0, $1A, $E8, $E8, $C9, $78, $B0, $14, $E8, $E8, $C9, $70, $B0, $0E, $E8 ; CPU:$EE92 PRG:6E92 88 B0 1A E8 E8 C9 78 B0 14 E8 E8 C9 70 B0 0E E8 - .byte $E8, $C9, $60, $B0, $08, $E8, $E8, $C9, $50, $B0, $02, $E8, $E8, $BD, $B7, $EE ; CPU:$EEA2 PRG:6EA2 E8 C9 60 B0 08 E8 E8 C9 50 B0 02 E8 E8 BD B7 EE - .byte $BC, $B8, $EE, $AA, $60, $27, $C9, $29, $C7, $2C, $C4, $2E, $C2, $2F, $C1, $30 ; CPU:$EEB2 PRG:6EB2 BC B8 EE AA 60 27 C9 29 C7 2C C4 2E C2 2F C1 30 - .byte $C0, $30, $C0, $A0, $08, $A9, $F0, $9D, $00, $07, $E8, $E8, $E8, $A9, $00, $9D ; CPU:$EEC2 PRG:6EC2 C0 30 C0 A0 08 A9 F0 9D 00 07 E8 E8 E8 A9 00 9D - .byte $00, $07, $E8, $88, $D0, $EF, $60, $84, $1A, $86, $1B, $A2, $00, $A5, $37, $29 ; CPU:$EED2 PRG:6ED2 00 07 E8 88 D0 EF 60 84 1A 86 1B A2 00 A5 37 29 - .byte $20, $F0, $02, $A2, $01, $86, $1C, $A2, $00, $A0, $00, $A5, $1A, $9D, $14, $07 ; CPU:$EEE2 PRG:6EE2 20 F0 02 A2 01 86 1C A2 00 A0 00 A5 1A 9D 14 07 - .byte $E8, $B9, $2C, $EF, $9D, $14, $07, $E8, $A5, $1C, $9D, $14, $07, $E8, $A5, $1B ; CPU:$EEF2 PRG:6EF2 E8 B9 2C EF 9D 14 07 E8 A5 1C 9D 14 07 E8 A5 1B - .byte $9D, $14, $07, $E8, $C8, $C0, $03, $F0, $20, $98, $29, $01, $F0, $0A, $A5, $1B ; CPU:$EF02 PRG:6F02 9D 14 07 E8 C8 C0 03 F0 20 98 29 01 F0 0A A5 1B - .byte $18, $69, $08, $85, $1B, $4C, $ED, $EE, $A5, $1A, $18, $69, $08, $85, $1A, $A5 ; CPU:$EF12 PRG:6F12 18 69 08 85 1B 4C ED EE A5 1A 18 69 08 85 1A A5 - .byte $1B, $38, $E9, $04, $85, $1B, $4C, $ED, $EE, $60, $FC, $FD, $FE, $A9, $F0, $8D ; CPU:$EF22 PRG:6F22 1B 38 E9 04 85 1B 4C ED EE 60 FC FD FE A9 F0 8D - .byte $14, $07, $8D, $18, $07, $8D, $1C, $07, $60, $A9, $89, $85, $22, $A9, $EF, $85 ; CPU:$EF32 PRG:6F32 14 07 8D 18 07 8D 1C 07 60 A9 89 85 22 A9 EF 85 - .byte $23, $84, $8F, $86, $90, $A2, $00, $A0, $00, $A5, $8F, $9D, $60, $07, $E8, $B1 ; CPU:$EF42 PRG:6F42 23 84 8F 86 90 A2 00 A0 00 A5 8F 9D 60 07 E8 B1 - .byte $22, $9D, $60, $07, $E8, $A9, $03, $9D, $60, $07, $E8, $A5, $90, $9D, $60, $07 ; CPU:$EF52 PRG:6F52 22 9D 60 07 E8 A9 03 9D 60 07 E8 A5 90 9D 60 07 - .byte $E8, $C8, $98, $29, $01, $D0, $15, $C0, $04, $F0, $1B, $A5, $8F, $18, $69, $08 ; CPU:$EF62 PRG:6F62 E8 C8 98 29 01 D0 15 C0 04 F0 1B A5 8F 18 69 08 - .byte $85, $8F, $A5, $90, $38, $E9, $08, $85, $90, $4C, $4B, $EF, $A5, $90, $18, $69 ; CPU:$EF72 PRG:6F72 85 8F A5 90 38 E9 08 85 90 4C 4B EF A5 90 18 69 - .byte $08, $85, $90, $4C, $4B, $EF, $60, $F3, $F4, $F5, $F6, $98, $18, $69, $0C, $85 ; CPU:$EF82 PRG:6F82 08 85 90 4C 4B EF 60 F3 F4 F5 F6 98 18 69 0C 85 - .byte $8F, $8A, $18, $69, $0C, $85, $90, $A2, $00, $A0, $00, $A5, $8F, $9D, $20, $07 ; CPU:$EF92 PRG:6F92 8F 8A 18 69 0C 85 90 A2 00 A0 00 A5 8F 9D 20 07 - .byte $E8, $B9, $CD, $EF, $9D, $20, $07, $E8, $A9, $02, $9D, $20, $07, $E8, $A5, $90 ; CPU:$EFA2 PRG:6FA2 E8 B9 CD EF 9D 20 07 E8 A9 02 9D 20 07 E8 A5 90 - .byte $9D, $20, $07, $E8, $C8, $C0, $03, $F0, $11, $A5, $8F, $18, $69, $08, $85, $8F ; CPU:$EFB2 PRG:6FB2 9D 20 07 E8 C8 C0 03 F0 11 A5 8F 18 69 08 85 8F - .byte $A5, $90, $38, $E9, $04, $85, $90, $4C, $9D, $EF, $60, $F0, $F1, $F1, $98, $18 ; CPU:$EFC2 PRG:6FC2 A5 90 38 E9 04 85 90 4C 9D EF 60 F0 F1 F1 98 18 - .byte $69, $0C, $85, $8F, $8A, $38, $E9, $04, $85, $90, $A2, $00, $A0, $00, $A5, $8F ; CPU:$EFD2 PRG:6FD2 69 0C 85 8F 8A 38 E9 04 85 90 A2 00 A0 00 A5 8F - .byte $9D, $30, $07, $E8, $B9, $CD, $EF, $9D, $30, $07, $E8, $A9, $42, $9D, $30, $07 ; CPU:$EFE2 PRG:6FE2 9D 30 07 E8 B9 CD EF 9D 30 07 E8 A9 42 9D 30 07 - .byte $E8, $A5, $90, $9D, $30, $07, $E8, $C8, $C0, $03, $F0, $11, $A5, $8F, $18, $69 ; CPU:$EFF2 PRG:6FF2 E8 A5 90 9D 30 07 E8 C8 C0 03 F0 11 A5 8F 18 69 - .byte $08, $85, $8F, $A5, $90, $18, $69, $04, $85, $90, $4C, $E0, $EF, $60, $A9, $F0 ; CPU:$F002 PRG:7002 08 85 8F A5 90 18 69 04 85 90 4C E0 EF 60 A9 F0 - .byte $8D, $20, $07, $8D, $24, $07, $8D, $28, $07, $60, $A9, $F0, $8D, $30, $07, $8D ; CPU:$F012 PRG:7012 8D 20 07 8D 24 07 8D 28 07 60 A9 F0 8D 30 07 8D - .byte $34, $07, $8D, $38, $07, $60, $A5, $84, $0A, $85, $B1, $0A, $0A, $18, $65, $B1 ; CPU:$F022 PRG:7022 34 07 8D 38 07 60 A5 84 0A 85 B1 0A 0A 18 65 B1 - .byte $18, $65, $83, $60, $A6, $7B, $30, $02, $85, $D0, $60, $A6, $7B, $30, $17, $48 ; CPU:$F032 PRG:7032 18 65 83 60 A6 7B 30 02 85 D0 60 A6 7B 30 17 48 - .byte $20, $1C, $FD, $A5, $0D, $29, $7F, $8D, $00, $20, $68, $20, $00, $80, $20, $1C ; CPU:$F042 PRG:7042 20 1C FD A5 0D 29 7F 8D 00 20 68 20 00 80 20 1C - .byte $FD, $A5, $0D, $8D, $00, $20, $60, $A2, $20, $A0, $C0, $20, $34, $FD, $A9, $00 ; CPU:$F052 PRG:7052 FD A5 0D 8D 00 20 60 A2 20 A0 C0 20 34 FD A9 00 - .byte $8D, $07, $20, $C8, $D0, $01, $E8, $8A, $29, $03, $D0, $F2, $98, $D0, $EF, $20 ; CPU:$F062 PRG:7062 8D 07 20 C8 D0 01 E8 8A 29 03 D0 F2 98 D0 EF 20 - .byte $37, $FD, $A2, $23, $A0, $C3, $20, $34, $FD, $A9, $50, $8D, $07, $20, $A9, $10 ; CPU:$F072 PRG:7072 37 FD A2 23 A0 C3 20 34 FD A9 50 8D 07 20 A9 10 - .byte $8D, $07, $20, $A2, $23, $A0, $CB, $20, $34, $FD, $A9, $0F, $8D, $07, $20, $A9 ; CPU:$F082 PRG:7082 8D 07 20 A2 23 A0 CB 20 34 FD A9 0F 8D 07 20 A9 - .byte $03, $8D, $07, $20, $A2, $23, $A0, $D2, $20, $34, $FD, $A9, $FF, $8D, $07, $20 ; CPU:$F092 PRG:7092 03 8D 07 20 A2 23 A0 D2 20 34 FD A9 FF 8D 07 20 - .byte $8D, $07, $20, $8D, $07, $20, $8D, $07, $20, $A2, $23, $A0, $E2, $20, $34, $FD ; CPU:$F0A2 PRG:70A2 8D 07 20 8D 07 20 8D 07 20 A2 23 A0 E2 20 34 FD - .byte $A9, $FF, $8D, $07, $20, $8D, $07, $20, $60, $A2, $AE, $A0, $83, $A5, $83, $C9 ; CPU:$F0B2 PRG:70B2 A9 FF 8D 07 20 8D 07 20 60 A2 AE A0 83 A5 83 C9 - .byte $01, $F0, $0C, $A2, $AE, $A0, $91, $C9, $02, $F0, $04, $A2, $AE, $A0, $A0, $20 ; CPU:$F0C2 PRG:70C2 01 F0 0C A2 AE A0 91 C9 02 F0 04 A2 AE A0 A0 20 - .byte $3A, $FD, $60, $A2, $22, $A0, $08, $20, $34, $FD, $A2, $00, $BD, $19, $F1, $8D ; CPU:$F0D2 PRG:70D2 3A FD 60 A2 22 A0 08 20 34 FD A2 00 BD 19 F1 8D - .byte $07, $20, $E8, $E0, $08, $D0, $F5, $A5, $34, $18, $69, $10, $8D, $07, $20, $A9 ; CPU:$F0E2 PRG:70E2 07 20 E8 E0 08 D0 F5 A5 34 18 69 10 8D 07 20 A9 - .byte $2D, $8D, $07, $20, $A9, $0E, $8D, $07, $20, $A5, $33, $18, $69, $10, $8D, $07 ; CPU:$F0F2 PRG:70F2 2D 8D 07 20 A9 0E 8D 07 20 A5 33 18 69 10 8D 07 - .byte $20, $A5, $32, $18, $69, $10, $8D, $07, $20, $A9, $33, $8D, $07, $20, $A9, $0E ; CPU:$F102 PRG:7102 20 A5 32 18 69 10 8D 07 20 A9 33 8D 07 20 A9 0E - .byte $8D, $07, $20, $20, $37, $FD, $60, $34, $29, $2D, $25, $00, $00, $1D, $00, $A5 ; CPU:$F112 PRG:7112 8D 07 20 20 37 FD 60 34 29 2D 25 00 00 1D 00 A5 - .byte $87, $F0, $18, $48, $A2, $20, $A0, $7B, $20, $34, $FD, $68, $A8, $A9, $DF, $8D ; CPU:$F122 PRG:7122 87 F0 18 48 A2 20 A0 7B 20 34 FD 68 A8 A9 DF 8D - .byte $07, $20, $88, $F0, $03, $8D, $07, $20, $20, $37, $FD, $A5, $88, $F0, $18, $48 ; CPU:$F132 PRG:7132 07 20 88 F0 03 8D 07 20 20 37 FD A5 88 F0 18 48 - .byte $A2, $20, $A0, $9B, $20, $34, $FD, $68, $A8, $A9, $DF, $8D, $07, $20, $88, $F0 ; CPU:$F142 PRG:7142 A2 20 A0 9B 20 34 FD 68 A8 A9 DF 8D 07 20 88 F0 - .byte $03, $8D, $07, $20, $20, $37, $FD, $60, $A2, $00, $A5, $12, $C9, $0A, $D0, $2B ; CPU:$F152 PRG:7152 03 8D 07 20 20 37 FD 60 A2 00 A5 12 C9 0A D0 2B - .byte $86, $8E, $A5, $AC, $29, $08, $F0, $02, $E6, $8E, $A9, $80, $85, $91, $A2, $50 ; CPU:$F162 PRG:7162 86 8E A5 AC 29 08 F0 02 E6 8E A9 80 85 91 A2 50 - .byte $A0, $90, $A9, $00, $20, $DE, $EA, $E6, $8E, $E6, $8E, $A9, $A0, $85, $91, $A2 ; CPU:$F172 PRG:7172 A0 90 A9 00 20 DE EA E6 8E E6 8E A9 A0 85 91 A2 - .byte $A0, $A0, $90, $A9, $00, $20, $DE, $EA, $E6, $AC, $60, $A9, $00, $4C, $96, $F1 ; CPU:$F182 PRG:7182 A0 A0 90 A9 00 20 DE EA E6 AC 60 A9 00 4C 96 F1 - .byte $A2, $04, $A9, $01, $86, $8E, $85, $21, $A5, $AC, $29, $08, $F0, $02, $E6, $8E ; CPU:$F192 PRG:7192 A2 04 A9 01 86 8E 85 21 A5 AC 29 08 F0 02 E6 8E - .byte $A9, $80, $85, $91, $A0, $B0, $A2, $70, $A5, $21, $20, $DE, $EA, $E6, $8E, $E6 ; CPU:$F1A2 PRG:71A2 A9 80 85 91 A0 B0 A2 70 A5 21 20 DE EA E6 8E E6 - .byte $8E, $A9, $A0, $85, $91, $A0, $B0, $A2, $88, $A5, $21, $20, $DE, $EA, $E6, $AC ; CPU:$F1B2 PRG:71B2 8E A9 A0 85 91 A0 B0 A2 88 A5 21 20 DE EA E6 AC - .byte $60, $84, $22, $86, $23, $A0, $00, $B1, $22, $85, $24, $C8, $B1, $22, $85, $25 ; CPU:$F1C2 PRG:71C2 60 84 22 86 23 A0 00 B1 22 85 24 C8 B1 22 85 25 - .byte $C8, $B1, $22, $48, $C8, $B1, $22, $AA, $68, $A8, $20, $34, $FD, $A0, $01, $B1 ; CPU:$F1D2 PRG:71D2 C8 B1 22 48 C8 B1 22 AA 68 A8 20 34 FD A0 01 B1 - .byte $24, $F0, $03, $18, $69, $10, $8D, $07, $20, $88, $B1, $24, $18, $69, $10, $8D ; CPU:$F1E2 PRG:71E2 24 F0 03 18 69 10 8D 07 20 88 B1 24 18 69 10 8D - .byte $07, $20, $A9, $32, $8D, $07, $20, $20, $37, $FD, $60, $A6, $83, $A4, $84, $E8 ; CPU:$F1F2 PRG:71F2 07 20 A9 32 8D 07 20 20 37 FD 60 A6 83 A4 84 E8 - .byte $E0, $0A, $90, $0B, $A2, $00, $C8, $C0, $0A, $90, $04, $A2, $01, $A0, $00, $86 ; CPU:$F202 PRG:7202 E0 0A 90 0B A2 00 C8 C0 0A 90 04 A2 01 A0 00 86 - .byte $83, $84, $84, $C4, $7E, $F0, $05, $B0, $07, $4C, $26, $F2, $E4, $7D, $90, $04 ; CPU:$F212 PRG:7212 83 84 84 C4 7E F0 05 B0 07 4C 26 F2 E4 7D 90 04 - .byte $86, $7D, $84, $7E, $60, $AA, $20, $19, $FD, $CA, $D0, $FA, $60 ; CPU:$F222 PRG:7222 86 7D 84 7E 60 AA 20 19 FD CA D0 FA 60 + .byte $47, $DA, $48, $DA, $49, $DA, $4A, $DA, $57, $DA ; CPU:$DA92 PRG:5A92 47 DA 48 DA 49 DA 4A DA 57 DA +; ----------------------------------------------------------------------------- +; Routine: Sub_DA9C +; Global: Branch target inside Sub: taken when DA9C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DA9C: + ldx WrestlerIndex2 ; CPU:$DA9C PRG:5A9C A6 86 + lda PlayerTile,x ; CPU:$DA9E PRG:5A9E B5 32 + tay ; CPU:$DAA0 PRG:5AA0 A8 + and #$3F ; CPU:$DAA1 PRG:5AA1 29 3F + sta Zp1B ; CPU:$DAA3 PRG:5AA3 85 1B + asl a ; CPU:$DAA5 PRG:5AA5 0A + tax ; CPU:$DAA6 PRG:5AA6 AA + tya ; CPU:$DAA7 PRG:5AA7 98 + and #$C0 ; CPU:$DAA8 PRG:5AA8 29 C0 + tay ; CPU:$DAAA PRG:5AAA A8 + lda $DB21,x ; CPU:$DAAB PRG:5AAB BD 21 DB + sta Zp22 ; CPU:$DAAE PRG:5AAE 85 22 + lda $DB22,x ; CPU:$DAB0 PRG:5AB0 BD 22 DB + sta Zp23 ; CPU:$DAB3 PRG:5AB3 85 23 + jmp (Zp22) ; CPU:$DAB5 PRG:5AB5 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DAB8 +; Global: Branch target inside Label: taken when DAB8. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAB8: + ldx #$04 ; CPU:$DAB8 PRG:5AB8 A2 04 + cpy #$00 ; CPU:$DABA PRG:5ABA C0 00 + beq Sub_Loop559 ; CPU:$DABC PRG:5ABC F0 17 + ldx #$0C ; CPU:$DABE PRG:5ABE A2 0C + cpy #$40 ; CPU:$DAC0 PRG:5AC0 C0 40 + beq Sub_Loop559 ; CPU:$DAC2 PRG:5AC2 F0 11 + ldx #$18 ; CPU:$DAC4 PRG:5AC4 A2 18 + cpy #$80 ; CPU:$DAC6 PRG:5AC6 C0 80 + beq Sub_Loop558 ; CPU:$DAC8 PRG:5AC8 F0 02 + ldx #$40 ; CPU:$DACA PRG:5ACA A2 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop558 +; Global: Branch target inside Sub: taken when Loop558. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop558: + lda Zp70 ; CPU:$DACC PRG:5ACC A5 70 + bpl Sub_Loop559 ; CPU:$DACE PRG:5ACE 10 05 + txa ; CPU:$DAD0 PRG:5AD0 8A + clc ; CPU:$DAD1 PRG:5AD1 18 + adc #$08 ; CPU:$DAD2 PRG:5AD2 69 08 + tax ; CPU:$DAD4 PRG:5AD4 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop559 +; Global: Branch target inside Sub: taken when Loop559. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop559: + lda Zp1B ; CPU:$DAD5 PRG:5AD5 A5 1B + cmp #$02 ; CPU:$DAD7 PRG:5AD7 C9 02 + bne Sub_Loop560 ; CPU:$DAD9 PRG:5AD9 D0 01 + inx ; CPU:$DADB PRG:5ADB E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop560 +; Global: Branch target inside Sub: taken when Loop560. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop560: + jmp Sub_DB02 ; CPU:$DADC PRG:5ADC 4C 02 DB +; ----------------------------------------------------------------------------- +; Routine: Label_DADF +; Global: Branch target inside Label: taken when DADF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DADF: + ldx #$04 ; CPU:$DADF PRG:5ADF A2 04 + jmp Sub_DB02 ; CPU:$DAE1 PRG:5AE1 4C 02 DB +; ----------------------------------------------------------------------------- +; Routine: Label_DAE4 +; Global: Branch target inside Label: taken when DAE4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAE4: + ldx #$0C ; CPU:$DAE4 PRG:5AE4 A2 0C + jmp Sub_DB02 ; CPU:$DAE6 PRG:5AE6 4C 02 DB +; ----------------------------------------------------------------------------- +; Routine: Label_DAE9 +; Global: Branch target inside Label: taken when DAE9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAE9: + ldx #$32 ; CPU:$DAE9 PRG:5AE9 A2 32 + cpy #$80 ; CPU:$DAEB PRG:5AEB C0 80 + beq Sub_Loop561 ; CPU:$DAED PRG:5AED F0 02 + ldx #$5A ; CPU:$DAEF PRG:5AEF A2 5A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop561 +; Global: Branch target inside Sub: taken when Loop561. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop561: + lda WrestlerIndex2 ; CPU:$DAF1 PRG:5AF1 A5 86 + cmp #$23 ; CPU:$DAF3 PRG:5AF3 C9 23 + beq Sub_Loop562 ; CPU:$DAF5 PRG:5AF5 F0 01 + inx ; CPU:$DAF7 PRG:5AF7 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop562 +; Global: Branch target inside Sub: taken when Loop562. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop562: + stx ZpA9 ; CPU:$DAF8 PRG:5AF8 86 A9 + jmp Sub_Loop563 ; CPU:$DAFA PRG:5AFA 4C 0E DB +; ----------------------------------------------------------------------------- +; Routine: Label_DAFD +; Global: Branch target inside Label: taken when DAFD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAFD: + rts ; CPU:$DAFD PRG:5AFD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DAFE +; Global: Branch target inside Label: taken when DAFE. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAFE: + rts ; CPU:$DAFE PRG:5AFE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DAFF +; Global: Branch target inside Label: taken when DAFF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DAFF: + rts ; CPU:$DAFF PRG:5AFF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB00 +; Global: Branch target inside Label: taken when DB00. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB00: + ldx #$40 ; CPU:$DB00 PRG:5B00 A2 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_DB02 +; Global: Branch target inside Sub: taken when DB02. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB02: + lda WrestlerIndex2 ; CPU:$DB02 PRG:5B02 A5 86 + cmp #$23 ; CPU:$DB04 PRG:5B04 C9 23 + beq Sub_Loop563 ; CPU:$DB06 PRG:5B06 F0 06 + inx ; CPU:$DB08 PRG:5B08 E8 + inx ; CPU:$DB09 PRG:5B09 E8 + jmp Sub_Loop563 ; CPU:$DB0A PRG:5B0A 4C 0E DB +; ----------------------------------------------------------------------------- +; Routine: Label_DB0D +; Global: Branch target inside Label: taken when DB0D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DB0D: + rts ; CPU:$DB0D PRG:5B0D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop563 +; Global: Branch target inside Sub: taken when Loop563. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop563: + stx Zp8E ; CPU:$DB0E PRG:5B0E 86 8E + lda Zp92 ; CPU:$DB10 PRG:5B10 A5 92 + sta Zp91 ; CPU:$DB12 PRG:5B12 85 91 + ldx WrestlerIndex2 ; CPU:$DB14 PRG:5B14 A6 86 + ldy PlayerX,x ; CPU:$DB16 PRG:5B16 B4 33 + lda PlayerY,x ; CPU:$DB18 PRG:5B18 B5 34 + tax ; CPU:$DB1A PRG:5B1A AA + lda #$01 ; CPU:$DB1B PRG:5B1B A9 01 + jsr Sub_EADE ; CPU:$DB1D PRG:5B1D 20 DE EA + rts ; CPU:$DB20 PRG:5B20 60 +; ---- data $DB21-$DB3A (26 bytes) ---- +; referenced by `lda $DB21,x` at $DAAB (operand $DB21 falls inside this region) +; referenced by `lda $DB22,x` at $DAB0 (operand $DB22 falls inside this region) + .byte $B8, $DA, $B8, $DA, $B8, $DA, $DF, $DA, $DF, $DA, $E4, $DA, $E4, $DA, $E9, $DA ; CPU:$DB21 PRG:5B21 B8 DA B8 DA B8 DA DF DA DF DA E4 DA E4 DA E9 DA + .byte $FD, $DA, $FE, $DA, $FF, $DA, $00, $DB, $0D, $DB ; CPU:$DB31 PRG:5B31 FD DA FE DA FF DA 00 DB 0D DB +; ----------------------------------------------------------------------------- +; Routine: Sub_DB3B +; Global: Branch target inside Sub: taken when DB3B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DB3B: + ldx #$1C ; CPU:$DB3B PRG:5B3B A2 1C + ldy #$56 ; CPU:$DB3D PRG:5B3D A0 56 + lda Zp37 ; CPU:$DB3F PRG:5B3F A5 37 + and #$40 ; CPU:$DB41 PRG:5B41 29 40 + beq Sub_Loop564 ; CPU:$DB43 PRG:5B43 F0 04 + ldx #$44 ; CPU:$DB45 PRG:5B45 A2 44 + ldy #$2E ; CPU:$DB47 PRG:5B47 A0 2E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop564 +; Global: Branch target inside Sub: taken when Loop564. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop564: + lda Zp37 ; CPU:$DB49 PRG:5B49 A5 37 + and #$20 ; CPU:$DB4B PRG:5B4B 29 20 + beq Sub_Loop565 ; CPU:$DB4D PRG:5B4D F0 0E + ldx #$2C ; CPU:$DB4F PRG:5B4F A2 2C + ldy #$48 ; CPU:$DB51 PRG:5B51 A0 48 + lda Zp37 ; CPU:$DB53 PRG:5B53 A5 37 + and #$40 ; CPU:$DB55 PRG:5B55 29 40 + beq Sub_Loop565 ; CPU:$DB57 PRG:5B57 F0 04 + ldx #$54 ; CPU:$DB59 PRG:5B59 A2 54 + ldy #$20 ; CPU:$DB5B PRG:5B5B A0 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop565 +; Global: Branch target inside Sub: taken when Loop565. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop565: + tya ; CPU:$DB5D PRG:5B5D 98 + pha ; CPU:$DB5E PRG:5B5E 48 + stx Zp8E ; CPU:$DB5F PRG:5B5F 86 8E + ldx WrestlerIndex ; CPU:$DB61 PRG:5B61 A6 85 + cpx #$13 ; CPU:$DB63 PRG:5B63 E0 13 + beq Sub_Loop566 ; CPU:$DB65 PRG:5B65 F0 0A + inc Zp8E ; CPU:$DB67 PRG:5B67 E6 8E + lda Zp37 ; CPU:$DB69 PRG:5B69 A5 37 + and #$20 ; CPU:$DB6B PRG:5B6B 29 20 + bne Sub_Loop566 ; CPU:$DB6D PRG:5B6D D0 02 + inc Zp8E ; CPU:$DB6F PRG:5B6F E6 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop566 +; Global: Branch target inside Sub: taken when Loop566. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop566: + ldy PlayerX,x ; CPU:$DB71 PRG:5B71 B4 33 + sty ZpB1 ; CPU:$DB73 PRG:5B73 84 B1 + lda PlayerY,x ; CPU:$DB75 PRG:5B75 B5 34 + tax ; CPU:$DB77 PRG:5B77 AA + stx ZpB2 ; CPU:$DB78 PRG:5B78 86 B2 + lda #$80 ; CPU:$DB7A PRG:5B7A A9 80 + sta Zp91 ; CPU:$DB7C PRG:5B7C 85 91 + lda #$00 ; CPU:$DB7E PRG:5B7E A9 00 + jsr Sub_EADE ; CPU:$DB80 PRG:5B80 20 DE EA + lda Zp37 ; CPU:$DB83 PRG:5B83 A5 37 + and #$20 ; CPU:$DB85 PRG:5B85 29 20 + beq Sub_Loop568 ; CPU:$DB87 PRG:5B87 F0 25 + lda ZpB1 ; CPU:$DB89 PRG:5B89 A5 B1 + sta $0740 ; CPU:$DB8B PRG:5B8B 8D 40 07 + lda #$FF ; CPU:$DB8E PRG:5B8E A9 FF + sta $0741 ; CPU:$DB90 PRG:5B90 8D 41 07 + ldy #$00 ; CPU:$DB93 PRG:5B93 A0 00 + lda ZpB2 ; CPU:$DB95 PRG:5B95 A5 B2 + clc ; CPU:$DB97 PRG:5B97 18 + adc #$0E ; CPU:$DB98 PRG:5B98 69 0E + tax ; CPU:$DB9A PRG:5B9A AA + lda Zp37 ; CPU:$DB9B PRG:5B9B A5 37 + and #$40 ; CPU:$DB9D PRG:5B9D 29 40 + beq Sub_Loop567 ; CPU:$DB9F PRG:5B9F F0 07 + txa ; CPU:$DBA1 PRG:5BA1 8A + sec ; CPU:$DBA2 PRG:5BA2 38 + sbc #$14 ; CPU:$DBA3 PRG:5BA3 E9 14 + tax ; CPU:$DBA5 PRG:5BA5 AA + ldy #$40 ; CPU:$DBA6 PRG:5BA6 A0 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop567 +; Global: Branch target inside Sub: taken when Loop567. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop567: + sty $0742 ; CPU:$DBA8 PRG:5BA8 8C 42 07 + stx $0743 ; CPU:$DBAB PRG:5BAB 8E 43 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop568 +; Global: Branch target inside Sub: taken when Loop568. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop568: + pla ; CPU:$DBAE PRG:5BAE 68 + sta Zp8E ; CPU:$DBAF PRG:5BAF 85 8E + ldx WrestlerIndex2 ; CPU:$DBB1 PRG:5BB1 A6 86 + cpx #$23 ; CPU:$DBB3 PRG:5BB3 E0 23 + beq Sub_Loop569 ; CPU:$DBB5 PRG:5BB5 F0 0A + inc Zp8E ; CPU:$DBB7 PRG:5BB7 E6 8E + lda Zp37 ; CPU:$DBB9 PRG:5BB9 A5 37 + and #$20 ; CPU:$DBBB PRG:5BBB 29 20 + beq Sub_Loop569 ; CPU:$DBBD PRG:5BBD F0 02 + inc Zp8E ; CPU:$DBBF PRG:5BBF E6 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop569 +; Global: Branch target inside Sub: taken when Loop569. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop569: + ldy PlayerX,x ; CPU:$DBC1 PRG:5BC1 B4 33 + sty ZpB3 ; CPU:$DBC3 PRG:5BC3 84 B3 + lda PlayerY,x ; CPU:$DBC5 PRG:5BC5 B5 34 + tax ; CPU:$DBC7 PRG:5BC7 AA + stx ZpB4 ; CPU:$DBC8 PRG:5BC8 86 B4 + lda #$A0 ; CPU:$DBCA PRG:5BCA A9 A0 + sta Zp91 ; CPU:$DBCC PRG:5BCC 85 91 + lda #$01 ; CPU:$DBCE PRG:5BCE A9 01 + jsr Sub_EADE ; CPU:$DBD0 PRG:5BD0 20 DE EA + lda Zp37 ; CPU:$DBD3 PRG:5BD3 A5 37 + and #$20 ; CPU:$DBD5 PRG:5BD5 29 20 + bne Sub_Loop571 ; CPU:$DBD7 PRG:5BD7 D0 25 + lda ZpB3 ; CPU:$DBD9 PRG:5BD9 A5 B3 + sta $0740 ; CPU:$DBDB PRG:5BDB 8D 40 07 + lda #$FF ; CPU:$DBDE PRG:5BDE A9 FF + sta $0741 ; CPU:$DBE0 PRG:5BE0 8D 41 07 + ldy #$40 ; CPU:$DBE3 PRG:5BE3 A0 40 + lda ZpB4 ; CPU:$DBE5 PRG:5BE5 A5 B4 + sec ; CPU:$DBE7 PRG:5BE7 38 + sbc #$06 ; CPU:$DBE8 PRG:5BE8 E9 06 + tax ; CPU:$DBEA PRG:5BEA AA + lda Zp37 ; CPU:$DBEB PRG:5BEB A5 37 + and #$40 ; CPU:$DBED PRG:5BED 29 40 + beq Sub_Loop570 ; CPU:$DBEF PRG:5BEF F0 07 + ldy #$00 ; CPU:$DBF1 PRG:5BF1 A0 00 + txa ; CPU:$DBF3 PRG:5BF3 8A + clc ; CPU:$DBF4 PRG:5BF4 18 + adc #$14 ; CPU:$DBF5 PRG:5BF5 69 14 + tax ; CPU:$DBF7 PRG:5BF7 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop570 +; Global: Branch target inside Sub: taken when Loop570. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop570: + sty $0742 ; CPU:$DBF8 PRG:5BF8 8C 42 07 + stx $0743 ; CPU:$DBFB PRG:5BFB 8E 43 07 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop571 +; Global: Branch target inside Sub: taken when Loop571. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop571: + lda ZpB1 ; CPU:$DBFE PRG:5BFE A5 B1 + clc ; CPU:$DC00 PRG:5C00 18 + adc #$04 ; CPU:$DC01 PRG:5C01 69 04 + tay ; CPU:$DC03 PRG:5C03 A8 + lda ZpB2 ; CPU:$DC04 PRG:5C04 A5 B2 + sec ; CPU:$DC06 PRG:5C06 38 + sbc #$0C ; CPU:$DC07 PRG:5C07 E9 0C + tax ; CPU:$DC09 PRG:5C09 AA + lda Zp37 ; CPU:$DC0A PRG:5C0A A5 37 + and #$40 ; CPU:$DC0C PRG:5C0C 29 40 + beq Sub_Loop572 ; CPU:$DC0E PRG:5C0E F0 05 + txa ; CPU:$DC10 PRG:5C10 8A + clc ; CPU:$DC11 PRG:5C11 18 + adc #$18 ; CPU:$DC12 PRG:5C12 69 18 + tax ; CPU:$DC14 PRG:5C14 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop572 +; Global: Branch target inside Sub: taken when Loop572. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop572: + jsr Sub_EED9 ; CPU:$DC15 PRG:5C15 20 D9 EE + rts ; CPU:$DC18 PRG:5C18 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC19 +; Global: Branch target inside Sub: taken when DC19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC19: + lda Zp37 ; CPU:$DC19 PRG:5C19 A5 37 + bpl Sub_Loop575 ; CPU:$DC1B PRG:5C1B 10 3D + and #$20 ; CPU:$DC1D PRG:5C1D 29 20 + beq Sub_Loop573 ; CPU:$DC1F PRG:5C1F F0 09 + lda Zp7B ; CPU:$DC21 PRG:5C21 A5 7B + and #$20 ; CPU:$DC23 PRG:5C23 29 20 + bne Sub_Loop573 ; CPU:$DC25 PRG:5C25 D0 03 + jmp Sub_Loop575 ; CPU:$DC27 PRG:5C27 4C 5A DC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop573 +; Global: Branch target inside Sub: taken when Loop573. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop573: + ldx Zp6A ; CPU:$DC2A PRG:5C2A A6 6A + ldy Zp69 ; CPU:$DC2C PRG:5C2C A4 69 + jsr Sub_FD34 ; CPU:$DC2E PRG:5C2E 20 34 FD + ldx #$00 ; CPU:$DC31 PRG:5C31 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero10 +; Global: Branch target inside Sub: taken when OnNonzero10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero10: + lda $DC5B,x ; CPU:$DC33 PRG:5C33 BD 5B DC + sta PPUDATA ; CPU:$DC36 PRG:5C36 8D 07 20 + inx ; CPU:$DC39 PRG:5C39 E8 + cpx #$09 ; CPU:$DC3A PRG:5C3A E0 09 + bne Sub_OnNonzero10 ; CPU:$DC3C PRG:5C3C D0 F5 + ldy #$13 ; CPU:$DC3E PRG:5C3E A0 13 + lda Zp38 ; CPU:$DC40 PRG:5C40 A5 38 + cmp #$54 ; CPU:$DC42 PRG:5C42 C9 54 + bcs Sub_Loop574 ; CPU:$DC44 PRG:5C44 B0 0E + ldy #$12 ; CPU:$DC46 PRG:5C46 A0 12 + cmp #$30 ; CPU:$DC48 PRG:5C48 C9 30 + bcs Sub_Loop574 ; CPU:$DC4A PRG:5C4A B0 08 + ldy #$11 ; CPU:$DC4C PRG:5C4C A0 11 + cmp #$08 ; CPU:$DC4E PRG:5C4E C9 08 + bcs Sub_Loop574 ; CPU:$DC50 PRG:5C50 B0 02 + ldy #$10 ; CPU:$DC52 PRG:5C52 A0 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop574 +; Global: Branch target inside Sub: taken when Loop574. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop574: + sty PPUDATA ; CPU:$DC54 PRG:5C54 8C 07 20 + jsr Sub_FD37 ; CPU:$DC57 PRG:5C57 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop575 +; Global: Branch target inside Sub: taken when Loop575. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop575: + rts ; CPU:$DC5A PRG:5C5A 60 +; ---- data $DC5B-$DC63 (9 bytes) ---- +; referenced by `lda $DC5B,x` at $DC33 (operand $DC5B falls inside this region) + .byte $00, $21, $34, $34, $21, $23, $2B, $01, $00 ; CPU:$DC5B PRG:5C5B 00 21 34 34 21 23 2B 01 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_DC64 +; Global: Branch target inside Sub: taken when DC64. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DC64: + lda Zp3C ; CPU:$DC64 PRG:5C64 A5 3C + bne Sub_Loop576 ; CPU:$DC66 PRG:5C66 D0 03 + jmp Sub_DFB2 ; CPU:$DC68 PRG:5C68 4C B2 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop576 +; Global: Branch target inside Sub: taken when Loop576. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop576: + lda #$00 ; CPU:$DC6B PRG:5C6B A9 00 + sta Zp1C ; CPU:$DC6D PRG:5C6D 85 1C + lda Zp3B ; CPU:$DC6F PRG:5C6F A5 3B + and #$20 ; CPU:$DC71 PRG:5C71 29 20 + beq Sub_Loop577 ; CPU:$DC73 PRG:5C73 F0 04 + lda #$FF ; CPU:$DC75 PRG:5C75 A9 FF + sta Zp1C ; CPU:$DC77 PRG:5C77 85 1C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop577 +; Global: Branch target inside Sub: taken when Loop577. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop577: + lda #$00 ; CPU:$DC79 PRG:5C79 A9 00 + sta Zp1D ; CPU:$DC7B PRG:5C7B 85 1D + lda Zp3B ; CPU:$DC7D PRG:5C7D A5 3B + and #$40 ; CPU:$DC7F PRG:5C7F 29 40 + beq Sub_Loop578 ; CPU:$DC81 PRG:5C81 F0 04 + lda #$FF ; CPU:$DC83 PRG:5C83 A9 FF + sta Zp1D ; CPU:$DC85 PRG:5C85 85 1D +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop578 +; Global: Branch target inside Sub: taken when Loop578. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop578: + lda Zp3B ; CPU:$DC87 PRG:5C87 A5 3B + and #$1F ; CPU:$DC89 PRG:5C89 29 1F + sta Zp1E ; CPU:$DC8B PRG:5C8B 85 1E + asl a ; CPU:$DC8D PRG:5C8D 0A + tax ; CPU:$DC8E PRG:5C8E AA + lda $E18C,x ; CPU:$DC8F PRG:5C8F BD 8C E1 + sta Zp22 ; CPU:$DC92 PRG:5C92 85 22 + lda $E18D,x ; CPU:$DC94 PRG:5C94 BD 8D E1 + sta Zp23 ; CPU:$DC97 PRG:5C97 85 23 + jmp (Zp22) ; CPU:$DC99 PRG:5C99 6C 22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DC9C +; Global: Branch target inside Label: taken when DC9C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC9C: + jmp Sub_DEBC ; CPU:$DC9C PRG:5C9C 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DC9F +; Global: Branch target inside Label: taken when DC9F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DC9F: + lda Zp3C ; CPU:$DC9F PRG:5C9F A5 3C + cmp #$02 ; CPU:$DCA1 PRG:5CA1 C9 02 + beq Sub_Loop579 ; CPU:$DCA3 PRG:5CA3 F0 0C + cmp #$03 ; CPU:$DCA5 PRG:5CA5 C9 03 + beq Sub_Loop580 ; CPU:$DCA7 PRG:5CA7 F0 0B + cmp #$04 ; CPU:$DCA9 PRG:5CA9 C9 04 + beq Sub_Loop582 ; CPU:$DCAB PRG:5CAB F0 17 + cmp #$05 ; CPU:$DCAD PRG:5CAD C9 05 + beq Sub_Loop584 ; CPU:$DCAF PRG:5CAF F0 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop579 +; Global: Branch target inside Sub: taken when Loop579. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop579: + jmp Sub_DEBC ; CPU:$DCB1 PRG:5CB1 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop580 +; Global: Branch target inside Sub: taken when Loop580. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop580: + lda Zp1C ; CPU:$DCB4 PRG:5CB4 A5 1C + bne Sub_Loop581 ; CPU:$DCB6 PRG:5CB6 D0 06 + jsr Sub_DFC8 ; CPU:$DCB8 PRG:5CB8 20 C8 DF + jmp Sub_DEBC ; CPU:$DCBB PRG:5CBB 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop581 +; Global: Branch target inside Sub: taken when Loop581. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop581: + jsr Sub_DFB3 ; CPU:$DCBE PRG:5CBE 20 B3 DF + jmp Sub_DEBC ; CPU:$DCC1 PRG:5CC1 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop582 +; Global: Branch target inside Sub: taken when Loop582. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop582: + lda Zp1C ; CPU:$DCC4 PRG:5CC4 A5 1C + bne Sub_Loop583 ; CPU:$DCC6 PRG:5CC6 D0 06 + jsr Sub_DFE4 ; CPU:$DCC8 PRG:5CC8 20 E4 DF + jmp Sub_DEBC ; CPU:$DCCB PRG:5CCB 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop583 +; Global: Branch target inside Sub: taken when Loop583. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop583: + jsr Sub_DFDD ; CPU:$DCCE PRG:5CCE 20 DD DF + jmp Sub_DEBC ; CPU:$DCD1 PRG:5CD1 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop584 +; Global: Branch target inside Sub: taken when Loop584. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop584: + jsr Sub_DFF3 ; CPU:$DCD4 PRG:5CD4 20 F3 DF + jmp Sub_DEBC ; CPU:$DCD7 PRG:5CD7 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DCDA +; Global: Branch target inside Label: taken when DCDA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DCDA: + jmp Sub_DCDD ; CPU:$DCDA PRG:5CDA 4C DD DC +; ----------------------------------------------------------------------------- +; Routine: Sub_DCDD +; Global: Branch target inside Sub: taken when DCDD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DCDD: + lda Zp3C ; CPU:$DCDD PRG:5CDD A5 3C + cmp #$02 ; CPU:$DCDF PRG:5CDF C9 02 + beq Sub_Loop586 ; CPU:$DCE1 PRG:5CE1 F0 0A + cmp #$05 ; CPU:$DCE3 PRG:5CE3 C9 05 + bne Sub_Loop585 ; CPU:$DCE5 PRG:5CE5 D0 03 + jmp Sub_DDDA ; CPU:$DCE7 PRG:5CE7 4C DA DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop585 +; Global: Branch target inside Sub: taken when Loop585. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop585: + jmp Sub_DEBC ; CPU:$DCEA PRG:5CEA 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop586 +; Global: Branch target inside Sub: taken when Loop586. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop586: + lda Zp9D ; CPU:$DCED PRG:5CED A5 9D + and #$C0 ; CPU:$DCEF PRG:5CEF 29 C0 + cmp #$40 ; CPU:$DCF1 PRG:5CF1 C9 40 + beq Sub_Loop590 ; CPU:$DCF3 PRG:5CF3 F0 1E + cmp #$80 ; CPU:$DCF5 PRG:5CF5 C9 80 + beq Sub_Loop593 ; CPU:$DCF7 PRG:5CF7 F0 2F + ldx #$24 ; CPU:$DCF9 PRG:5CF9 A2 24 + lda Zp1D ; CPU:$DCFB PRG:5CFB A5 1D + beq Sub_Loop587 ; CPU:$DCFD PRG:5CFD F0 02 + ldx #$4C ; CPU:$DCFF PRG:5CFF A2 4C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop587 +; Global: Branch target inside Sub: taken when Loop587. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop587: + lda WrestlerIndex ; CPU:$DD01 PRG:5D01 A5 85 + cmp #$13 ; CPU:$DD03 PRG:5D03 C9 13 + beq Sub_Loop588 ; CPU:$DD05 PRG:5D05 F0 02 + inx ; CPU:$DD07 PRG:5D07 E8 + inx ; CPU:$DD08 PRG:5D08 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop588 +; Global: Branch target inside Sub: taken when Loop588. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop588: + lda ZpAC ; CPU:$DD09 PRG:5D09 A5 AC + and #$04 ; CPU:$DD0B PRG:5D0B 29 04 + beq Sub_Loop589 ; CPU:$DD0D PRG:5D0D F0 01 + inx ; CPU:$DD0F PRG:5D0F E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop589 +; Global: Branch target inside Sub: taken when Loop589. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop589: + jmp Sub_Loop598 ; CPU:$DD10 PRG:5D10 4C 5E DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop590 +; Global: Branch target inside Sub: taken when Loop590. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop590: + jsr Sub_DFB3 ; CPU:$DD13 PRG:5D13 20 B3 DF + ldx #$54 ; CPU:$DD16 PRG:5D16 A2 54 + lda Zp1D ; CPU:$DD18 PRG:5D18 A5 1D + beq Sub_Loop591 ; CPU:$DD1A PRG:5D1A F0 02 + ldx #$2C ; CPU:$DD1C PRG:5D1C A2 2C +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop591 +; Global: Branch target inside Sub: taken when Loop591. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop591: + lda WrestlerIndex ; CPU:$DD1E PRG:5D1E A5 85 + cmp #$13 ; CPU:$DD20 PRG:5D20 C9 13 + beq Sub_Loop592 ; CPU:$DD22 PRG:5D22 F0 01 + inx ; CPU:$DD24 PRG:5D24 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop592 +; Global: Branch target inside Sub: taken when Loop592. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop592: + jmp Sub_Loop598 ; CPU:$DD25 PRG:5D25 4C 5E DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop593 +; Global: Branch target inside Sub: taken when Loop593. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop593: + jsr Sub_DFDD ; CPU:$DD28 PRG:5D28 20 DD DF + lda Zp1E ; CPU:$DD2B PRG:5D2B A5 1E + cmp #$02 ; CPU:$DD2D PRG:5D2D C9 02 + beq Sub_Loop595 ; CPU:$DD2F PRG:5D2F F0 16 + lda Zp1C ; CPU:$DD31 PRG:5D31 A5 1C + bne Sub_Loop595 ; CPU:$DD33 PRG:5D33 D0 12 + ldx #$64 ; CPU:$DD35 PRG:5D35 A2 64 + lda Zp1D ; CPU:$DD37 PRG:5D37 A5 1D + beq Sub_Loop594 ; CPU:$DD39 PRG:5D39 F0 02 + ldx #$68 ; CPU:$DD3B PRG:5D3B A2 68 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop594 +; Global: Branch target inside Sub: taken when Loop594. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop594: + lda WrestlerIndex ; CPU:$DD3D PRG:5D3D A5 85 + cmp #$13 ; CPU:$DD3F PRG:5D3F C9 13 + beq Sub_Loop598 ; CPU:$DD41 PRG:5D41 F0 1B + inx ; CPU:$DD43 PRG:5D43 E8 + jmp Sub_Loop598 ; CPU:$DD44 PRG:5D44 4C 5E DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop595 +; Global: Branch target inside Sub: taken when Loop595. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop595: + ldx #$4C ; CPU:$DD47 PRG:5D47 A2 4C + lda Zp1D ; CPU:$DD49 PRG:5D49 A5 1D + beq Sub_Loop596 ; CPU:$DD4B PRG:5D4B F0 02 + ldx #$24 ; CPU:$DD4D PRG:5D4D A2 24 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop596 +; Global: Branch target inside Sub: taken when Loop596. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop596: + lda WrestlerIndex ; CPU:$DD4F PRG:5D4F A5 85 + cmp #$13 ; CPU:$DD51 PRG:5D51 C9 13 + beq Sub_Loop597 ; CPU:$DD53 PRG:5D53 F0 02 + inx ; CPU:$DD55 PRG:5D55 E8 + inx ; CPU:$DD56 PRG:5D56 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop597 +; Global: Branch target inside Sub: taken when Loop597. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop597: + lda ZpAC ; CPU:$DD57 PRG:5D57 A5 AC + and #$04 ; CPU:$DD59 PRG:5D59 29 04 + beq Sub_Loop598 ; CPU:$DD5B PRG:5D5B F0 01 + inx ; CPU:$DD5D PRG:5D5D E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop598 +; Global: Branch target inside Sub: taken when Loop598. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop598: + lda Zp9E ; CPU:$DD5E PRG:5D5E A5 9E + and #$C0 ; CPU:$DD60 PRG:5D60 29 C0 + cmp #$40 ; CPU:$DD62 PRG:5D62 C9 40 + beq Sub_Loop602 ; CPU:$DD64 PRG:5D64 F0 1E + cmp #$80 ; CPU:$DD66 PRG:5D66 C9 80 + beq Sub_Loop605 ; CPU:$DD68 PRG:5D68 F0 33 + ldy #$50 ; CPU:$DD6A PRG:5D6A A0 50 + lda Zp1D ; CPU:$DD6C PRG:5D6C A5 1D + beq Sub_Loop599 ; CPU:$DD6E PRG:5D6E F0 02 + ldy #$28 ; CPU:$DD70 PRG:5D70 A0 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop599 +; Global: Branch target inside Sub: taken when Loop599. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop599: + lda WrestlerIndex2 ; CPU:$DD72 PRG:5D72 A5 86 + cmp #$23 ; CPU:$DD74 PRG:5D74 C9 23 + beq Sub_Loop600 ; CPU:$DD76 PRG:5D76 F0 02 + iny ; CPU:$DD78 PRG:5D78 C8 + iny ; CPU:$DD79 PRG:5D79 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop600 +; Global: Branch target inside Sub: taken when Loop600. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop600: + lda ZpAC ; CPU:$DD7A PRG:5D7A A5 AC + and #$04 ; CPU:$DD7C PRG:5D7C 29 04 + beq Sub_Loop601 ; CPU:$DD7E PRG:5D7E F0 01 + iny ; CPU:$DD80 PRG:5D80 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop601 +; Global: Branch target inside Sub: taken when Loop601. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop601: + jmp Sub_Loop610 ; CPU:$DD81 PRG:5D81 4C D7 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop602 +; Global: Branch target inside Sub: taken when Loop602. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop602: + txa ; CPU:$DD84 PRG:5D84 8A + pha ; CPU:$DD85 PRG:5D85 48 + jsr Sub_DFC8 ; CPU:$DD86 PRG:5D86 20 C8 DF + pla ; CPU:$DD89 PRG:5D89 68 + tax ; CPU:$DD8A PRG:5D8A AA + ldy #$2E ; CPU:$DD8B PRG:5D8B A0 2E + lda Zp1D ; CPU:$DD8D PRG:5D8D A5 1D + beq Sub_Loop603 ; CPU:$DD8F PRG:5D8F F0 02 + ldy #$56 ; CPU:$DD91 PRG:5D91 A0 56 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop603 +; Global: Branch target inside Sub: taken when Loop603. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop603: + lda WrestlerIndex2 ; CPU:$DD93 PRG:5D93 A5 86 + cmp #$23 ; CPU:$DD95 PRG:5D95 C9 23 + beq Sub_Loop604 ; CPU:$DD97 PRG:5D97 F0 01 + iny ; CPU:$DD99 PRG:5D99 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop604 +; Global: Branch target inside Sub: taken when Loop604. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop604: + jmp Sub_Loop610 ; CPU:$DD9A PRG:5D9A 4C D7 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop605 +; Global: Branch target inside Sub: taken when Loop605. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop605: + txa ; CPU:$DD9D PRG:5D9D 8A + pha ; CPU:$DD9E PRG:5D9E 48 + jsr Sub_DFE4 ; CPU:$DD9F PRG:5D9F 20 E4 DF + pla ; CPU:$DDA2 PRG:5DA2 68 + tax ; CPU:$DDA3 PRG:5DA3 AA + lda Zp1E ; CPU:$DDA4 PRG:5DA4 A5 1E + cmp #$02 ; CPU:$DDA6 PRG:5DA6 C9 02 + beq Sub_Loop607 ; CPU:$DDA8 PRG:5DA8 F0 16 + lda Zp1C ; CPU:$DDAA PRG:5DAA A5 1C + beq Sub_Loop607 ; CPU:$DDAC PRG:5DAC F0 12 + ldy #$6A ; CPU:$DDAE PRG:5DAE A0 6A + lda Zp1D ; CPU:$DDB0 PRG:5DB0 A5 1D + beq Sub_Loop606 ; CPU:$DDB2 PRG:5DB2 F0 02 + ldy #$66 ; CPU:$DDB4 PRG:5DB4 A0 66 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop606 +; Global: Branch target inside Sub: taken when Loop606. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop606: + lda WrestlerIndex2 ; CPU:$DDB6 PRG:5DB6 A5 86 + cmp #$23 ; CPU:$DDB8 PRG:5DB8 C9 23 + beq Sub_Loop610 ; CPU:$DDBA PRG:5DBA F0 1B + iny ; CPU:$DDBC PRG:5DBC C8 + jmp Sub_Loop610 ; CPU:$DDBD PRG:5DBD 4C D7 DD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop607 +; Global: Branch target inside Sub: taken when Loop607. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop607: + ldy #$28 ; CPU:$DDC0 PRG:5DC0 A0 28 + lda Zp1D ; CPU:$DDC2 PRG:5DC2 A5 1D + beq Sub_Loop608 ; CPU:$DDC4 PRG:5DC4 F0 02 + ldy #$50 ; CPU:$DDC6 PRG:5DC6 A0 50 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop608 +; Global: Branch target inside Sub: taken when Loop608. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop608: + lda WrestlerIndex2 ; CPU:$DDC8 PRG:5DC8 A5 86 + cmp #$23 ; CPU:$DDCA PRG:5DCA C9 23 + beq Sub_Loop609 ; CPU:$DDCC PRG:5DCC F0 02 + iny ; CPU:$DDCE PRG:5DCE C8 + iny ; CPU:$DDCF PRG:5DCF C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop609 +; Global: Branch target inside Sub: taken when Loop609. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop609: + lda ZpAC ; CPU:$DDD0 PRG:5DD0 A5 AC + and #$04 ; CPU:$DDD2 PRG:5DD2 29 04 + beq Sub_Loop610 ; CPU:$DDD4 PRG:5DD4 F0 01 + iny ; CPU:$DDD6 PRG:5DD6 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop610 +; Global: Branch target inside Sub: taken when Loop610. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop610: + jmp Sub_Loop632 ; CPU:$DDD7 PRG:5DD7 4C 69 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_DDDA +; Global: Branch target inside Sub: taken when DDDA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DDDA: + jsr Sub_DFF3 ; CPU:$DDDA PRG:5DDA 20 F3 DF + jmp Sub_DEBC ; CPU:$DDDD PRG:5DDD 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DDE0 +; Global: Branch target inside Label: taken when DDE0. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DDE0: + jmp Sub_DEBC ; CPU:$DDE0 PRG:5DE0 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DDE3 +; Global: Branch target inside Label: taken when DDE3. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DDE3: + jmp Sub_DEBC ; CPU:$DDE3 PRG:5DE3 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DDE6 +; Global: Branch target inside Label: taken when DDE6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DDE6: + jmp Sub_DEBC ; CPU:$DDE6 PRG:5DE6 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DDE9 +; Global: Branch target inside Label: taken when DDE9. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DDE9: + lda Zp3C ; CPU:$DDE9 PRG:5DE9 A5 3C + cmp #$02 ; CPU:$DDEB PRG:5DEB C9 02 + beq Sub_Loop611 ; CPU:$DDED PRG:5DED F0 06 + jsr Sub_EF2F ; CPU:$DDEF PRG:5DEF 20 2F EF + jmp Sub_DEBC ; CPU:$DDF2 PRG:5DF2 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop611 +; Global: Branch target inside Sub: taken when Loop611. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop611: + jsr Sub_DFF3 ; CPU:$DDF5 PRG:5DF5 20 F3 DF + jmp Sub_DEBC ; CPU:$DDF8 PRG:5DF8 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DDFB +; Global: Branch target inside Label: taken when DDFB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DDFB: + lda Zp3C ; CPU:$DDFB PRG:5DFB A5 3C + cmp #$01 ; CPU:$DDFD PRG:5DFD C9 01 + beq Sub_Loop612 ; CPU:$DDFF PRG:5DFF F0 03 + jsr Sub_DFF3 ; CPU:$DE01 PRG:5E01 20 F3 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop612 +; Global: Branch target inside Sub: taken when Loop612. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop612: + jmp Sub_DEBC ; CPU:$DE04 PRG:5E04 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DE07 +; Global: Branch target inside Label: taken when DE07. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE07: + lda Zp3C ; CPU:$DE07 PRG:5E07 A5 3C + cmp #$02 ; CPU:$DE09 PRG:5E09 C9 02 + beq Sub_Loop613 ; CPU:$DE0B PRG:5E0B F0 10 + cmp #$03 ; CPU:$DE0D PRG:5E0D C9 03 + beq Sub_Loop614 ; CPU:$DE0F PRG:5E0F F0 0F + cmp #$04 ; CPU:$DE11 PRG:5E11 C9 04 + beq Sub_Loop615 ; CPU:$DE13 PRG:5E13 F0 11 + cmp #$05 ; CPU:$DE15 PRG:5E15 C9 05 + beq Sub_Loop616 ; CPU:$DE17 PRG:5E17 F0 13 + cmp #$06 ; CPU:$DE19 PRG:5E19 C9 06 + beq Sub_Loop617 ; CPU:$DE1B PRG:5E1B F0 15 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop613 +; Global: Branch target inside Sub: taken when Loop613. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop613: + jmp Sub_DEBC ; CPU:$DE1D PRG:5E1D 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop614 +; Global: Branch target inside Sub: taken when Loop614. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop614: + jsr Sub_DFB3 ; CPU:$DE20 PRG:5E20 20 B3 DF + jmp Sub_DEBC ; CPU:$DE23 PRG:5E23 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop615 +; Global: Branch target inside Sub: taken when Loop615. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop615: + jsr Sub_DFDD ; CPU:$DE26 PRG:5E26 20 DD DF + jmp Sub_DEBC ; CPU:$DE29 PRG:5E29 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop616 +; Global: Branch target inside Sub: taken when Loop616. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop616: + jsr Sub_DFF3 ; CPU:$DE2C PRG:5E2C 20 F3 DF + jmp Sub_DEBC ; CPU:$DE2F PRG:5E2F 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop617 +; Global: Branch target inside Sub: taken when Loop617. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop617: + jmp Sub_DEBC ; CPU:$DE32 PRG:5E32 4C BC DE +; ----------------------------------------------------------------------------- +; Routine: Label_DE35 +; Global: Branch target inside Label: taken when DE35. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_DE35: + jmp Sub_DEBC ; CPU:$DE35 PRG:5E35 4C BC DE +; ---- data $DE38-$DEBB (132 bytes) ---- + .byte $4C, $BC, $DE, $A5, $3C, $C9, $01, $F0, $03, $20, $F3, $DF, $4C, $BC, $DE, $A5 ; CPU:$DE38 PRG:5E38 4C BC DE A5 3C C9 01 F0 03 20 F3 DF 4C BC DE A5 + .byte $3C, $C9, $02, $F0, $17, $A6, $85, $A5, $1C, $F0, $02, $A6, $86, $B5, $33, $38 ; CPU:$DE48 PRG:5E48 3C C9 02 F0 17 A6 85 A5 1C F0 02 A6 86 B5 33 38 + .byte $E9, $0E, $A8, $B5, $34, $AA, $20, $3B, $EF, $4C, $BC, $DE, $20, $F3, $DF, $A5 ; CPU:$DE58 PRG:5E58 E9 0E A8 B5 34 AA 20 3B EF 4C BC DE 20 F3 DF A5 + .byte $1C, $D0, $1D, $A6, $85, $B5, $33, $38, $E9, $02, $A8, $B5, $34, $38, $E9, $0C ; CPU:$DE68 PRG:5E68 1C D0 1D A6 85 B5 33 38 E9 02 A8 B5 34 38 E9 0C + .byte $AA, $A5, $1D, $F0, $05, $8A, $18, $69, $18, $AA, $20, $3B, $EF, $4C, $BC, $DE ; CPU:$DE78 PRG:5E78 AA A5 1D F0 05 8A 18 69 18 AA 20 3B EF 4C BC DE + .byte $A6, $86, $B5, $33, $38, $E9, $02, $A8, $B5, $34, $18, $69, $0C, $AA, $A5, $1D ; CPU:$DE88 PRG:5E88 A6 86 B5 33 38 E9 02 A8 B5 34 18 69 0C AA A5 1D + .byte $F0, $05, $8A, $38, $E9, $18, $AA, $20, $3B, $EF, $4C, $BC, $DE, $A2, $01, $A5 ; CPU:$DE98 PRG:5E98 F0 05 8A 38 E9 18 AA 20 3B EF 4C BC DE A2 01 A5 + .byte $41, $29, $20, $F0, $02, $A2, $30, $A0, $05, $A5, $41, $29, $10, $F0, $02, $A0 ; CPU:$DEA8 PRG:5EA8 41 29 20 F0 02 A2 30 A0 05 A5 41 29 10 F0 02 A0 + .byte $32, $4C, $24, $DF ; CPU:$DEB8 PRG:5EB8 32 4C 24 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_DEBC +; Global: Branch target inside Sub: taken when DEBC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DEBC: + lda Zp1E ; CPU:$DEBC PRG:5EBC A5 1E + asl a ; CPU:$DEBE PRG:5EBE 0A + asl a ; CPU:$DEBF PRG:5EBF 0A + tax ; CPU:$DEC0 PRG:5EC0 AA + lda Zp1C ; CPU:$DEC1 PRG:5EC1 A5 1C + beq Sub_Loop618 ; CPU:$DEC3 PRG:5EC3 F0 02 + inx ; CPU:$DEC5 PRG:5EC5 E8 + inx ; CPU:$DEC6 PRG:5EC6 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop618 +; Global: Branch target inside Sub: taken when Loop618. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop618: + lda $E014,x ; CPU:$DEC7 PRG:5EC7 BD 14 E0 + sta Zp22 ; CPU:$DECA PRG:5ECA 85 22 + lda $E015,x ; CPU:$DECC PRG:5ECC BD 15 E0 + sta Zp23 ; CPU:$DECF PRG:5ECF 85 23 + ldx Zp3C ; CPU:$DED1 PRG:5ED1 A6 3C + dex ; CPU:$DED3 PRG:5ED3 CA + txa ; CPU:$DED4 PRG:5ED4 8A + sta Zp1F ; CPU:$DED5 PRG:5ED5 85 1F + asl a ; CPU:$DED7 PRG:5ED7 0A + asl a ; CPU:$DED8 PRG:5ED8 0A + clc ; CPU:$DED9 PRG:5ED9 18 + adc Zp1F ; CPU:$DEDA PRG:5EDA 65 1F + clc ; CPU:$DEDC PRG:5EDC 18 + adc Zp22 ; CPU:$DEDD PRG:5EDD 65 22 + sta Zp22 ; CPU:$DEDF PRG:5EDF 85 22 + lda Zp23 ; CPU:$DEE1 PRG:5EE1 A5 23 + adc #$00 ; CPU:$DEE3 PRG:5EE3 69 00 + sta Zp23 ; CPU:$DEE5 PRG:5EE5 85 23 + ldy #$04 ; CPU:$DEE7 PRG:5EE7 A0 04 + lda (Zp22),y ; CPU:$DEE9 PRG:5EE9 B1 22 + sta Zp1F ; CPU:$DEEB PRG:5EEB 85 1F + ldy #$00 ; CPU:$DEED PRG:5EED A0 00 + lda Zp1D ; CPU:$DEEF PRG:5EEF A5 1D + beq Sub_Loop619 ; CPU:$DEF1 PRG:5EF1 F0 02 + iny ; CPU:$DEF3 PRG:5EF3 C8 + iny ; CPU:$DEF4 PRG:5EF4 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop619 +; Global: Branch target inside Sub: taken when Loop619. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop619: + lda (Zp22),y ; CPU:$DEF5 PRG:5EF5 B1 22 + tax ; CPU:$DEF7 PRG:5EF7 AA + iny ; CPU:$DEF8 PRG:5EF8 C8 + lda (Zp22),y ; CPU:$DEF9 PRG:5EF9 B1 22 + tay ; CPU:$DEFB PRG:5EFB A8 + lda ZpAC ; CPU:$DEFC PRG:5EFC A5 AC + and #$04 ; CPU:$DEFE PRG:5EFE 29 04 + beq Sub_Loop621 ; CPU:$DF00 PRG:5F00 F0 0E + lda Zp1F ; CPU:$DF02 PRG:5F02 A5 1F + and #$80 ; CPU:$DF04 PRG:5F04 29 80 + beq Sub_Loop620 ; CPU:$DF06 PRG:5F06 F0 01 + inx ; CPU:$DF08 PRG:5F08 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop620 +; Global: Branch target inside Sub: taken when Loop620. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop620: + lda Zp1F ; CPU:$DF09 PRG:5F09 A5 1F + and #$40 ; CPU:$DF0B PRG:5F0B 29 40 + beq Sub_Loop621 ; CPU:$DF0D PRG:5F0D F0 01 + iny ; CPU:$DF0F PRG:5F0F C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop621 +; Global: Branch target inside Sub: taken when Loop621. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop621: + lda Zp1F ; CPU:$DF10 PRG:5F10 A5 1F + and #$3F ; CPU:$DF12 PRG:5F12 29 3F + cmp #$01 ; CPU:$DF14 PRG:5F14 C9 01 + beq Sub_Loop624 ; CPU:$DF16 PRG:5F16 F0 1D + cmp #$02 ; CPU:$DF18 PRG:5F18 C9 02 + beq Sub_Loop627 ; CPU:$DF1A PRG:5F1A F0 2B + cmp #$03 ; CPU:$DF1C PRG:5F1C C9 03 + beq Sub_Loop630 ; CPU:$DF1E PRG:5F1E F0 39 + cmp #$04 ; CPU:$DF20 PRG:5F20 C9 04 + beq Sub_Loop632 ; CPU:$DF22 PRG:5F22 F0 45 + lda WrestlerIndex ; CPU:$DF24 PRG:5F24 A5 85 + cmp #$13 ; CPU:$DF26 PRG:5F26 C9 13 + beq Sub_Loop622 ; CPU:$DF28 PRG:5F28 F0 01 + inx ; CPU:$DF2A PRG:5F2A E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop622 +; Global: Branch target inside Sub: taken when Loop622. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop622: + lda WrestlerIndex2 ; CPU:$DF2B PRG:5F2B A5 86 + cmp #$23 ; CPU:$DF2D PRG:5F2D C9 23 + beq Sub_Loop623 ; CPU:$DF2F PRG:5F2F F0 01 + iny ; CPU:$DF31 PRG:5F31 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop623 +; Global: Branch target inside Sub: taken when Loop623. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop623: + jmp Sub_Loop632 ; CPU:$DF32 PRG:5F32 4C 69 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop624 +; Global: Branch target inside Sub: taken when Loop624. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop624: + lda WrestlerIndex ; CPU:$DF35 PRG:5F35 A5 85 + cmp #$13 ; CPU:$DF37 PRG:5F37 C9 13 + beq Sub_Loop625 ; CPU:$DF39 PRG:5F39 F0 01 + inx ; CPU:$DF3B PRG:5F3B E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop625 +; Global: Branch target inside Sub: taken when Loop625. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop625: + lda WrestlerIndex2 ; CPU:$DF3C PRG:5F3C A5 86 + cmp #$23 ; CPU:$DF3E PRG:5F3E C9 23 + beq Sub_Loop626 ; CPU:$DF40 PRG:5F40 F0 02 + iny ; CPU:$DF42 PRG:5F42 C8 + iny ; CPU:$DF43 PRG:5F43 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop626 +; Global: Branch target inside Sub: taken when Loop626. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop626: + jmp Sub_Loop632 ; CPU:$DF44 PRG:5F44 4C 69 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop627 +; Global: Branch target inside Sub: taken when Loop627. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop627: + lda WrestlerIndex ; CPU:$DF47 PRG:5F47 A5 85 + cmp #$13 ; CPU:$DF49 PRG:5F49 C9 13 + beq Sub_Loop628 ; CPU:$DF4B PRG:5F4B F0 02 + inx ; CPU:$DF4D PRG:5F4D E8 + inx ; CPU:$DF4E PRG:5F4E E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop628 +; Global: Branch target inside Sub: taken when Loop628. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop628: + lda WrestlerIndex2 ; CPU:$DF4F PRG:5F4F A5 86 + cmp #$23 ; CPU:$DF51 PRG:5F51 C9 23 + beq Sub_Loop629 ; CPU:$DF53 PRG:5F53 F0 01 + iny ; CPU:$DF55 PRG:5F55 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop629 +; Global: Branch target inside Sub: taken when Loop629. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop629: + jmp Sub_Loop632 ; CPU:$DF56 PRG:5F56 4C 69 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop630 +; Global: Branch target inside Sub: taken when Loop630. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop630: + lda WrestlerIndex ; CPU:$DF59 PRG:5F59 A5 85 + cmp #$13 ; CPU:$DF5B PRG:5F5B C9 13 + beq Sub_Loop631 ; CPU:$DF5D PRG:5F5D F0 02 + inx ; CPU:$DF5F PRG:5F5F E8 + inx ; CPU:$DF60 PRG:5F60 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop631 +; Global: Branch target inside Sub: taken when Loop631. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop631: + lda WrestlerIndex2 ; CPU:$DF61 PRG:5F61 A5 86 + cmp #$23 ; CPU:$DF63 PRG:5F63 C9 23 + beq Sub_Loop632 ; CPU:$DF65 PRG:5F65 F0 02 + iny ; CPU:$DF67 PRG:5F67 C8 + iny ; CPU:$DF68 PRG:5F68 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop632 +; Global: Branch target inside Sub: taken when Loop632. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop632: + tya ; CPU:$DF69 PRG:5F69 98 + pha ; CPU:$DF6A PRG:5F6A 48 + stx Zp8E ; CPU:$DF6B PRG:5F6B 86 8E + ldx #$80 ; CPU:$DF6D PRG:5F6D A2 80 + ldy #$A0 ; CPU:$DF6F PRG:5F6F A0 A0 + lda Zp1C ; CPU:$DF71 PRG:5F71 A5 1C + beq Sub_Loop633 ; CPU:$DF73 PRG:5F73 F0 04 + ldx #$A0 ; CPU:$DF75 PRG:5F75 A2 A0 + ldy #$80 ; CPU:$DF77 PRG:5F77 A0 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop633 +; Global: Branch target inside Sub: taken when Loop633. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop633: + stx Zp91 ; CPU:$DF79 PRG:5F79 86 91 + sty Zp92 ; CPU:$DF7B PRG:5F7B 84 92 + lda Zp1E ; CPU:$DF7D PRG:5F7D A5 1E + cmp #$0A ; CPU:$DF7F PRG:5F7F C9 0A + beq Sub_Loop634 ; CPU:$DF81 PRG:5F81 F0 08 + cmp #$0B ; CPU:$DF83 PRG:5F83 C9 0B + beq Sub_Loop634 ; CPU:$DF85 PRG:5F85 F0 04 + cmp #$0C ; CPU:$DF87 PRG:5F87 C9 0C + bne Sub_Loop635 ; CPU:$DF89 PRG:5F89 D0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop634 +; Global: Branch target inside Sub: taken when Loop634. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop634: + lda Zp91 ; CPU:$DF8B PRG:5F8B A5 91 + ldx Zp92 ; CPU:$DF8D PRG:5F8D A6 92 + sta Zp92 ; CPU:$DF8F PRG:5F8F 85 92 + stx Zp91 ; CPU:$DF91 PRG:5F91 86 91 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop635 +; Global: Branch target inside Sub: taken when Loop635. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop635: + ldx WrestlerIndex ; CPU:$DF93 PRG:5F93 A6 85 + ldy PlayerX,x ; CPU:$DF95 PRG:5F95 B4 33 + lda PlayerY,x ; CPU:$DF97 PRG:5F97 B5 34 + tax ; CPU:$DF99 PRG:5F99 AA + lda #$00 ; CPU:$DF9A PRG:5F9A A9 00 + jsr Sub_EADE ; CPU:$DF9C PRG:5F9C 20 DE EA + pla ; CPU:$DF9F PRG:5F9F 68 + sta Zp8E ; CPU:$DFA0 PRG:5FA0 85 8E + lda Zp92 ; CPU:$DFA2 PRG:5FA2 A5 92 + sta Zp91 ; CPU:$DFA4 PRG:5FA4 85 91 + ldx WrestlerIndex2 ; CPU:$DFA6 PRG:5FA6 A6 86 + ldy PlayerX,x ; CPU:$DFA8 PRG:5FA8 B4 33 + lda PlayerY,x ; CPU:$DFAA PRG:5FAA B5 34 + tax ; CPU:$DFAC PRG:5FAC AA + lda #$01 ; CPU:$DFAD PRG:5FAD A9 01 + jsr Sub_EADE ; CPU:$DFAF PRG:5FAF 20 DE EA +; ----------------------------------------------------------------------------- +; Routine: Sub_DFB2 +; Global: Branch target inside Sub: taken when DFB2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFB2: + rts ; CPU:$DFB2 PRG:5FB2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFB3 +; Global: Branch target inside Sub: taken when DFB3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFB3: + ldx WrestlerIndex ; CPU:$DFB3 PRG:5FB3 A6 85 + ldy PlayerX,x ; CPU:$DFB5 PRG:5FB5 B4 33 + lda PlayerY,x ; CPU:$DFB7 PRG:5FB7 B5 34 + tax ; CPU:$DFB9 PRG:5FB9 AA + lda Zp1D ; CPU:$DFBA PRG:5FBA A5 1D + bne Sub_Loop636 ; CPU:$DFBC PRG:5FBC D0 06 + jsr $EFD0 ; CPU:$DFBE PRG:5FBE 20 D0 EF + jmp Sub_DFC7 ; CPU:$DFC1 PRG:5FC1 4C C7 DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop636 +; Global: Branch target inside Sub: taken when Loop636. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop636: + jsr Sub_EF8D ; CPU:$DFC4 PRG:5FC4 20 8D EF +; ----------------------------------------------------------------------------- +; Routine: Sub_DFC7 +; Global: Branch target inside Sub: taken when DFC7. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFC7: + rts ; CPU:$DFC7 PRG:5FC7 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFC8 +; Global: Branch target inside Sub: taken when DFC8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFC8: + ldx WrestlerIndex2 ; CPU:$DFC8 PRG:5FC8 A6 86 + ldy PlayerX,x ; CPU:$DFCA PRG:5FCA B4 33 + lda PlayerY,x ; CPU:$DFCC PRG:5FCC B5 34 + tax ; CPU:$DFCE PRG:5FCE AA + lda Zp1D ; CPU:$DFCF PRG:5FCF A5 1D + bne Sub_Loop637 ; CPU:$DFD1 PRG:5FD1 D0 06 + jsr Sub_EF8D ; CPU:$DFD3 PRG:5FD3 20 8D EF + jmp Sub_DFDC ; CPU:$DFD6 PRG:5FD6 4C DC DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop637 +; Global: Branch target inside Sub: taken when Loop637. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop637: + jsr $EFD0 ; CPU:$DFD9 PRG:5FD9 20 D0 EF +; ----------------------------------------------------------------------------- +; Routine: Sub_DFDC +; Global: Branch target inside Sub: taken when DFDC. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFDC: + rts ; CPU:$DFDC PRG:5FDC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFDD +; Global: Branch target inside Sub: taken when DFDD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFDD: + lda Zp1D ; CPU:$DFDD PRG:5FDD A5 1D + beq Sub_Loop638 ; CPU:$DFDF PRG:5FDF F0 0A + jmp Sub_Loop639 ; CPU:$DFE1 PRG:5FE1 4C EF DF +; ----------------------------------------------------------------------------- +; Routine: Sub_DFE4 +; Global: Branch target inside Sub: taken when DFE4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFE4: + lda Zp1D ; CPU:$DFE4 PRG:5FE4 A5 1D + beq Sub_Loop639 ; CPU:$DFE6 PRG:5FE6 F0 07 + jmp Sub_Loop638 ; CPU:$DFE8 PRG:5FE8 4C EB DF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop638 +; Global: Branch target inside Sub: taken when Loop638. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop638: + jsr Sub_F01C ; CPU:$DFEB PRG:5FEB 20 1C F0 + rts ; CPU:$DFEE PRG:5FEE 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop639 +; Global: Branch target inside Sub: taken when Loop639. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop639: + jsr Sub_F010 ; CPU:$DFEF PRG:5FEF 20 10 F0 + rts ; CPU:$DFF2 PRG:5FF2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_DFF3 +; Global: Branch target inside Sub: taken when DFF3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_DFF3: + ldx WrestlerIndex2 ; CPU:$DFF3 PRG:5FF3 A6 86 + lda PlayerX,x ; CPU:$DFF5 PRG:5FF5 B5 33 + ldx WrestlerIndex ; CPU:$DFF7 PRG:5FF7 A6 85 + clc ; CPU:$DFF9 PRG:5FF9 18 + adc PlayerX,x ; CPU:$DFFA PRG:5FFA 75 33 + ror a ; CPU:$DFFC PRG:5FFC 6A + clc ; CPU:$DFFD PRG:5FFD 18 + adc #$18 ; CPU:$DFFE PRG:5FFE 69 18 + tay ; CPU:$E000 PRG:6000 A8 + lda PlayerY,x ; CPU:$E001 PRG:6001 B5 34 + ldx WrestlerIndex2 ; CPU:$E003 PRG:6003 A6 86 + clc ; CPU:$E005 PRG:6005 18 + adc PlayerY,x ; CPU:$E006 PRG:6006 75 34 + ror a ; CPU:$E008 PRG:6008 6A + tax ; CPU:$E009 PRG:6009 AA + lda Zp1C ; CPU:$E00A PRG:600A A5 1C + pha ; CPU:$E00C PRG:600C 48 + jsr Sub_EED9 ; CPU:$E00D PRG:600D 20 D9 EE + pla ; CPU:$E010 PRG:6010 68 + sta Zp1C ; CPU:$E011 PRG:6011 85 1C + rts ; CPU:$E013 PRG:6013 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E014 +; Global: Branch target inside Label: taken when E014. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E014: + jmp $51E0 ; CPU:$E014 PRG:6014 4C E0 51 +; ----------------------------------------------------------------------------- +; Routine: Label_E017 +; Global: Branch target inside Label: taken when E017. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_E017: + cpx #$56 ; CPU:$E017 PRG:6017 E0 56 + cpx #$6F ; CPU:$E019 PRG:6019 E0 6F + cpx #$88 ; CPU:$E01B PRG:601B E0 88 + cpx #$A1 ; CPU:$E01D PRG:601D E0 A1 + cpx #$BA ; CPU:$E01F PRG:601F E0 BA + cpx #$D3 ; CPU:$E021 PRG:6021 E0 D3 + cpx #$EC ; CPU:$E023 PRG:6023 E0 EC + cpx #$F6 ; CPU:$E025 PRG:6025 E0 F6 + cpx #$00 ; CPU:$E027 PRG:6027 E0 00 + sbc (Zp05,x) ; CPU:$E029 PRG:6029 E1 05 + sbc (Zp0A,x) ; CPU:$E02B PRG:602B E1 0A + sbc (Zp0F,x) ; CPU:$E02D PRG:602D E1 0F + sbc (Zp14,x) ; CPU:$E02F PRG:602F E1 14 + sbc (Zp1E,x) ; CPU:$E031 PRG:6031 E1 1E + sbc (Zp28,x) ; CPU:$E033 PRG:6033 E1 28 + sbc (Zp28,x) ; CPU:$E035 PRG:6035 E1 28 + sbc (PlayerTile,x) ; CPU:$E037 PRG:6037 E1 32 + sbc (PlayerTile,x) ; CPU:$E039 PRG:6039 E1 32 + sbc (Zp50,x) ; CPU:$E03B PRG:603B E1 50 + sbc (Zp50,x) ; CPU:$E03D PRG:603D E1 50 + sbc (Zp5A,x) ; CPU:$E03F PRG:603F E1 5A + sbc (Zp5A,x) ; CPU:$E041 PRG:6041 E1 5A + sbc (Zp64,x) ; CPU:$E043 PRG:6043 E1 64 + sbc (Zp6E,x) ; CPU:$E045 PRG:6045 E1 6E + sbc (Zp78,x) ; CPU:$E047 PRG:6047 E1 78 + sbc (Zp82,x) ; CPU:$E049 PRG:6049 E1 82 + sbc (Zp4C,x) ; CPU:$E04B PRG:604B E1 4C + ror Zp24 ; CPU:$E04D PRG:604D 66 24 + ror a ; CPU:$E04F PRG:604F 6A +; ---- data $E050-$E1A9 (346 bytes) ---- +; referenced by `lda $E18C,x` at $DC8F (operand $E18C falls inside this region) +; referenced by `lda $E18D,x` at $DC94 (operand $E18D falls inside this region) + .byte $02, $68, $28, $64, $50, $01, $14, $40, $3C, $18, $03, $4C, $40, $24, $18, $43 ; CPU:$E050 PRG:6050 02 68 28 64 50 01 14 40 3C 18 03 4C 40 24 18 43 + .byte $4C, $2E, $24, $56, $02, $58, $18, $30, $40, $41, $58, $2E, $30, $56, $00, $14 ; CPU:$E060 PRG:6060 4C 2E 24 56 02 58 18 30 40 41 58 2E 30 56 00 14 + .byte $40, $3C, $18, $03, $14, $28, $3C, $50, $83, $54, $28, $2C, $50, $01, $3C, $32 ; CPU:$E070 PRG:6070 40 3C 18 03 14 28 3C 50 83 54 28 2C 50 01 3C 32 + .byte $14, $5A, $82, $54, $32, $2C, $5A, $00, $14, $40, $3C, $18, $03, $00, $00, $00 ; CPU:$E080 PRG:6080 14 5A 82 54 32 2C 5A 00 14 40 3C 18 03 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3C, $2E, $14, $56 ; CPU:$E090 PRG:6090 00 00 00 00 00 00 00 00 00 00 00 00 3C 2E 14 56 + .byte $02, $14, $40, $3C, $18, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$E0A0 PRG:60A0 02 14 40 3C 18 03 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $54, $18, $2C, $40, $01, $14, $40, $3C, $18, $03, $00 ; CPU:$E0B0 PRG:60B0 00 00 00 00 00 54 18 2C 40 01 14 40 3C 18 03 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $64, $2E ; CPU:$E0C0 PRG:60C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 2E + .byte $68, $56, $00, $14, $40, $3C, $18, $03, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$E0D0 PRG:60D0 68 56 00 14 40 3C 18 03 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $54, $6A, $2C, $66, $00, $1C, $2E, $44, $56 ; CPU:$E0E0 PRG:60E0 00 00 00 00 00 00 00 54 6A 2C 66 00 1C 2E 44 56 + .byte $02, $24, $32, $4C, $5A, $02, $54, $48, $2C, $20, $01, $58, $50, $30, $28, $01 ; CPU:$E0F0 PRG:60F0 02 24 32 4C 5A 02 54 48 2C 20 01 58 50 30 28 01 + .byte $24, $56, $4C, $2E, $02, $2C, $50, $54, $28, $01, $24, $32, $4C, $5A, $02, $58 ; CPU:$E100 PRG:6100 24 56 4C 2E 02 2C 50 54 28 01 24 32 4C 5A 02 58 + .byte $50, $30, $28, $01, $14, $40, $3C, $18, $03, $1C, $56, $44, $2E, $02, $14, $40 ; CPU:$E110 PRG:6110 50 30 28 01 14 40 3C 18 03 1C 56 44 2E 02 14 40 + .byte $3C, $18, $03, $2C, $48, $54, $20, $01, $2D, $5A, $55, $32, $04, $5F, $5E, $37 ; CPU:$E120 PRG:6120 3C 18 03 2C 48 54 20 01 2D 5A 55 32 04 5F 5E 37 + .byte $36, $04, $14, $42, $3C, $1A, $04, $14, $2A, $3C, $52, $84, $54, $2A, $2C, $52 ; CPU:$E130 PRG:6130 36 04 14 42 3C 1A 04 14 2A 3C 52 84 54 2A 2C 52 + .byte $04, $3C, $2A, $14, $52, $C4, $39, $38, $61, $60, $04, $58, $1A, $30, $42, $04 ; CPU:$E140 PRG:6140 04 3C 2A 14 52 C4 39 38 61 60 04 58 1A 30 42 04 + .byte $26, $6C, $4E, $6D, $04, $26, $6C, $4E, $6D, $04, $00, $5B, $00, $33, $04, $5C ; CPU:$E150 PRG:6150 26 6C 4E 6D 04 26 6C 4E 6D 04 00 5B 00 33 04 5C + .byte $5D, $34, $35, $04, $24, $18, $4C, $40, $C3, $24, $18, $4C, $40, $03, $3C, $50 ; CPU:$E160 PRG:6160 5D 34 35 04 24 18 4C 40 C3 24 18 4C 40 03 3C 50 + .byte $14, $28, $C3, $3C, $50, $14, $28, $03, $24, $40, $4C, $18, $83, $14, $56, $3C ; CPU:$E170 PRG:6170 14 28 C3 3C 50 14 28 03 24 40 4C 18 83 14 56 3C + .byte $2E, $02, $14, $50, $3C, $28, $43, $2C, $40, $54, $18, $01, $9C, $DC, $9F, $DC ; CPU:$E180 PRG:6180 2E 02 14 50 3C 28 43 2C 40 54 18 01 9C DC 9F DC + .byte $DA, $DC, $DD, $DC, $E0, $DD, $E3, $DD, $E6, $DD, $E9, $DD, $FB, $DD, $07, $DE ; CPU:$E190 PRG:6190 DA DC DD DC E0 DD E3 DD E6 DD E9 DD FB DD 07 DE + .byte $35, $DE, $38, $DE, $3B, $DE, $47, $DE, $A5, $DE ; CPU:$E1A0 PRG:61A0 35 DE 38 DE 3B DE 47 DE A5 DE +; ----------------------------------------------------------------------------- +; Routine: Sub_E1AA +; Global: Branch target inside Sub: taken when E1AA. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E1AA: + lda Zp37 ; CPU:$E1AA PRG:61AA A5 37 + bmi Sub_Loop642 ; CPU:$E1AC PRG:61AC 30 43 + lda Zp3B ; CPU:$E1AE PRG:61AE A5 3B + bmi Sub_Loop642 ; CPU:$E1B0 PRG:61B0 30 3F + ldx #$21 ; CPU:$E1B2 PRG:61B2 A2 21 + ldy #$AB ; CPU:$E1B4 PRG:61B4 A0 AB + jsr Sub_FD34 ; CPU:$E1B6 PRG:61B6 20 34 FD + ldx #$00 ; CPU:$E1B9 PRG:61B9 A2 00 + lda GameState ; CPU:$E1BB PRG:61BB A5 36 + bmi Sub_Loop641 ; CPU:$E1BD PRG:61BD 30 23 + ldx #$0A ; CPU:$E1BF PRG:61BF A2 0A + lda ZpAA ; CPU:$E1C1 PRG:61C1 A5 AA + beq Sub_Loop640 ; CPU:$E1C3 PRG:61C3 F0 02 + ldx #$14 ; CPU:$E1C5 PRG:61C5 A2 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop640 +; Global: Branch target inside Sub: taken when Loop640. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop640: + ldy #$0A ; CPU:$E1C7 PRG:61C7 A0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero11 +; Global: Branch target inside Sub: taken when OnNonzero11. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero11: + lda $E256,x ; CPU:$E1C9 PRG:61C9 BD 56 E2 + sta PPUDATA ; CPU:$E1CC PRG:61CC 8D 07 20 + inx ; CPU:$E1CF PRG:61CF E8 + dey ; CPU:$E1D0 PRG:61D0 88 + bne Sub_OnNonzero11 ; CPU:$E1D1 PRG:61D1 D0 F6 + ldx #$22 ; CPU:$E1D3 PRG:61D3 A2 22 + ldy #$6B ; CPU:$E1D5 PRG:61D5 A0 6B + jsr Sub_FD34 ; CPU:$E1D7 PRG:61D7 20 34 FD + ldx #$0A ; CPU:$E1DA PRG:61DA A2 0A + lda ZpAA ; CPU:$E1DC PRG:61DC A5 AA + beq Sub_Loop641 ; CPU:$E1DE PRG:61DE F0 02 + ldx #$1E ; CPU:$E1E0 PRG:61E0 A2 1E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop641 +; Global: Branch target inside Sub: taken when Loop641. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop641: + ldy #$0A ; CPU:$E1E2 PRG:61E2 A0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero12 +; Global: Branch target inside Sub: taken when OnNonzero12. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero12: + lda $E256,x ; CPU:$E1E4 PRG:61E4 BD 56 E2 + sta PPUDATA ; CPU:$E1E7 PRG:61E7 8D 07 20 + inx ; CPU:$E1EA PRG:61EA E8 + dey ; CPU:$E1EB PRG:61EB 88 + bne Sub_OnNonzero12 ; CPU:$E1EC PRG:61EC D0 F6 + jmp Sub_Loop647 ; CPU:$E1EE PRG:61EE 4C 52 E2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop642 +; Global: Branch target inside Sub: taken when Loop642. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop642: + ldx #$21 ; CPU:$E1F1 PRG:61F1 A2 21 + ldy #$AB ; CPU:$E1F3 PRG:61F3 A0 AB + lda GameState ; CPU:$E1F5 PRG:61F5 A5 36 + bmi Sub_Loop643 ; CPU:$E1F7 PRG:61F7 30 08 + lda ZpA4 ; CPU:$E1F9 PRG:61F9 A5 A4 + beq Sub_Loop643 ; CPU:$E1FB PRG:61FB F0 04 + ldx #$22 ; CPU:$E1FD PRG:61FD A2 22 + ldy #$6B ; CPU:$E1FF PRG:61FF A0 6B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop643 +; Global: Branch target inside Sub: taken when Loop643. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop643: + jsr Sub_FD34 ; CPU:$E201 PRG:6201 20 34 FD + ldx #$00 ; CPU:$E204 PRG:6204 A2 00 + lda Zp37 ; CPU:$E206 PRG:6206 A5 37 + and #$20 ; CPU:$E208 PRG:6208 29 20 + beq Sub_Loop644 ; CPU:$E20A PRG:620A F0 07 + inx ; CPU:$E20C PRG:620C E8 + lda Zp7B ; CPU:$E20D PRG:620D A5 7B + and #$20 ; CPU:$E20F PRG:620F 29 20 + beq Sub_Loop647 ; CPU:$E211 PRG:6211 F0 3F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop644 +; Global: Branch target inside Sub: taken when Loop644. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop644: + ldy #$11 ; CPU:$E213 PRG:6213 A0 11 + cpx #$00 ; CPU:$E215 PRG:6215 E0 00 + beq Sub_Loop645 ; CPU:$E217 PRG:6217 F0 02 + ldy #$12 ; CPU:$E219 PRG:6219 A0 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop645 +; Global: Branch target inside Sub: taken when Loop645. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop645: + sty PPUDATA ; CPU:$E21B PRG:621B 8C 07 20 + lda #$30 ; CPU:$E21E PRG:621E A9 30 + sta PPUDATA ; CPU:$E220 PRG:6220 8D 07 20 + lda #$1A ; CPU:$E223 PRG:6223 A9 1A + sta PPUDATA ; CPU:$E225 PRG:6225 8D 07 20 + lda Zp37 ; CPU:$E228 PRG:6228 A5 37 + and #$1F ; CPU:$E22A PRG:622A 29 1F + cmp #$07 ; CPU:$E22C PRG:622C C9 07 + bne Sub_Loop646 ; CPU:$E22E PRG:622E D0 02 + lda Zp9B ; CPU:$E230 PRG:6230 A5 9B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop646 +; Global: Branch target inside Sub: taken when Loop646. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop646: + asl a ; CPU:$E232 PRG:6232 0A + sta PlayerState ; CPU:$E233 PRG:6233 85 1A + asl a ; CPU:$E235 PRG:6235 0A + clc ; CPU:$E236 PRG:6236 18 + adc PlayerState ; CPU:$E237 PRG:6237 65 1A + tay ; CPU:$E239 PRG:6239 A8 + ldx #$06 ; CPU:$E23A PRG:623A A2 06 + lda #$7E ; CPU:$E23C PRG:623C A9 7E + sta Zp22 ; CPU:$E23E PRG:623E 85 22 + lda #$E2 ; CPU:$E240 PRG:6240 A9 E2 + sta Zp23 ; CPU:$E242 PRG:6242 85 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero13 +; Global: Branch target inside Sub: taken when OnNonzero13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero13: + lda (Zp22),y ; CPU:$E244 PRG:6244 B1 22 + sta PPUDATA ; CPU:$E246 PRG:6246 8D 07 20 + iny ; CPU:$E249 PRG:6249 C8 + dex ; CPU:$E24A PRG:624A CA + bne Sub_OnNonzero13 ; CPU:$E24B PRG:624B D0 F7 + lda #$00 ; CPU:$E24D PRG:624D A9 00 + sta PPUDATA ; CPU:$E24F PRG:624F 8D 07 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop647 +; Global: Branch target inside Sub: taken when Loop647. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop647: + jsr Sub_FD37 ; CPU:$E252 PRG:6252 20 37 FD + rts ; CPU:$E255 PRG:6255 60 +; ---- data $E256-$E2D1 (124 bytes) ---- +; referenced by `lda $E256,x` at $E1C9 (operand $E256 falls inside this region) +; referenced by `lda $E256,x` at $E1E4 (operand $E256 falls inside this region) + .byte $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $CA, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$E256 PRG:6256 CA CA CA CA CA CA CA CA CA CA FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $4E, $44, $44, $44, $44, $44, $44, $44, $44, $58, $FF, $FF ; CPU:$E266 PRG:6266 FF FF FF FF 4E 44 44 44 44 44 44 44 44 58 FF FF + .byte $AC, $AD, $44, $44, $AF, $AE, $FF, $FF, $22, $0E, $33, $2C, $21, $2D, $24, $0E ; CPU:$E276 PRG:6276 AC AD 44 44 AF AE FF FF 22 0E 33 2C 21 2D 24 0E + .byte $2B, $29, $23, $2B, $22, $0E, $21, $34, $21, $23, $26, $0E, $28, $22, $21, $34 ; CPU:$E286 PRG:6286 2B 29 23 2B 22 0E 21 34 21 23 26 0E 28 22 21 34 + .byte $22, $0E, $24, $32, $2F, $30, $2E, $0E, $28, $21, $2E, $27, $22, $0E, $22, $32 ; CPU:$E296 PRG:6296 22 0E 24 32 2F 30 2E 0E 28 21 2E 27 22 0E 22 32 + .byte $29, $2B, $00, $00, $00, $00, $00, $00, $25, $2E, $3A, $35, $29, $00, $37, $0E ; CPU:$E2A6 PRG:62A6 29 2B 00 00 00 00 00 00 25 2E 3A 35 29 00 37 0E + .byte $2C, $21, $32, $29, $22, $0E, $22, $35, $33, $34, $33, $21, $33, $2F, $32, $29 ; CPU:$E2B6 PRG:62B6 2C 21 32 29 22 0E 22 35 33 34 33 21 33 2F 32 29 + .byte $34, $25, $23, $23, $28, $35, $2B, $39, $2F, $35, $2B, $29 ; CPU:$E2C6 PRG:62C6 34 25 23 23 28 35 2B 39 2F 35 2B 29 +; ----------------------------------------------------------------------------- +; Routine: Sub_E2D2 +; Global: Branch target inside Sub: taken when E2D2. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E2D2: + lda Zp3E ; CPU:$E2D2 PRG:62D2 A5 3E + and #$20 ; CPU:$E2D4 PRG:62D4 29 20 + bne Sub_Loop649 ; CPU:$E2D6 PRG:62D6 D0 36 + ldx #$10 ; CPU:$E2D8 PRG:62D8 A2 10 + lda WrestlerIndex ; CPU:$E2DA PRG:62DA A5 85 + cmp #$13 ; CPU:$E2DC PRG:62DC C9 13 + beq Sub_Loop648 ; CPU:$E2DE PRG:62DE F0 01 + inx ; CPU:$E2E0 PRG:62E0 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop648 +; Global: Branch target inside Sub: taken when Loop648. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop648: + stx Zp8E ; CPU:$E2E1 PRG:62E1 86 8E + ldx WrestlerIndex2 ; CPU:$E2E3 PRG:62E3 A6 86 + lda PlayerX,x ; CPU:$E2E5 PRG:62E5 B5 33 + sec ; CPU:$E2E7 PRG:62E7 38 + sbc #$08 ; CPU:$E2E8 PRG:62E8 E9 08 + tay ; CPU:$E2EA PRG:62EA A8 + lda PlayerY,x ; CPU:$E2EB PRG:62EB B5 34 + tax ; CPU:$E2ED PRG:62ED AA + lda #$80 ; CPU:$E2EE PRG:62EE A9 80 + sta Zp91 ; CPU:$E2F0 PRG:62F0 85 91 + lda #$00 ; CPU:$E2F2 PRG:62F2 A9 00 + jsr Sub_EADE ; CPU:$E2F4 PRG:62F4 20 DE EA + ldx WrestlerIndex2 ; CPU:$E2F7 PRG:62F7 A6 86 + ldy PlayerX,x ; CPU:$E2F9 PRG:62F9 B4 33 + lda PlayerY,x ; CPU:$E2FB PRG:62FB B5 34 + tax ; CPU:$E2FD PRG:62FD AA + lda ZpA9 ; CPU:$E2FE PRG:62FE A5 A9 + sta Zp8E ; CPU:$E300 PRG:6300 85 8E + lda #$A0 ; CPU:$E302 PRG:6302 A9 A0 + sta Zp91 ; CPU:$E304 PRG:6304 85 91 + lda #$01 ; CPU:$E306 PRG:6306 A9 01 + jsr Sub_EADE ; CPU:$E308 PRG:6308 20 DE EA + jmp Sub_E341 ; CPU:$E30B PRG:630B 4C 41 E3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop649 +; Global: Branch target inside Sub: taken when Loop649. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop649: + ldx #$12 ; CPU:$E30E PRG:630E A2 12 + lda WrestlerIndex2 ; CPU:$E310 PRG:6310 A5 86 + cmp #$23 ; CPU:$E312 PRG:6312 C9 23 + beq Sub_Loop650 ; CPU:$E314 PRG:6314 F0 01 + inx ; CPU:$E316 PRG:6316 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop650 +; Global: Branch target inside Sub: taken when Loop650. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop650: + stx Zp8E ; CPU:$E317 PRG:6317 86 8E + ldx WrestlerIndex ; CPU:$E319 PRG:6319 A6 85 + lda PlayerX,x ; CPU:$E31B PRG:631B B5 33 + sec ; CPU:$E31D PRG:631D 38 + sbc #$08 ; CPU:$E31E PRG:631E E9 08 + tay ; CPU:$E320 PRG:6320 A8 + lda PlayerY,x ; CPU:$E321 PRG:6321 B5 34 + tax ; CPU:$E323 PRG:6323 AA + lda #$80 ; CPU:$E324 PRG:6324 A9 80 + sta Zp91 ; CPU:$E326 PRG:6326 85 91 + lda #$01 ; CPU:$E328 PRG:6328 A9 01 + jsr Sub_EADE ; CPU:$E32A PRG:632A 20 DE EA + ldx WrestlerIndex ; CPU:$E32D PRG:632D A6 85 + ldy PlayerX,x ; CPU:$E32F PRG:632F B4 33 + lda PlayerY,x ; CPU:$E331 PRG:6331 B5 34 + tax ; CPU:$E333 PRG:6333 AA + lda ZpA8 ; CPU:$E334 PRG:6334 A5 A8 + sta Zp8E ; CPU:$E336 PRG:6336 85 8E + lda #$A0 ; CPU:$E338 PRG:6338 A9 A0 + sta Zp91 ; CPU:$E33A PRG:633A 85 91 + lda #$00 ; CPU:$E33C PRG:633C A9 00 + jsr Sub_EADE ; CPU:$E33E PRG:633E 20 DE EA +; ----------------------------------------------------------------------------- +; Routine: Sub_E341 +; Global: Branch target inside Sub: taken when E341. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E341: + rts ; CPU:$E341 PRG:6341 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E342 +; Global: Branch target inside Sub: taken when E342. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E342: + ldx #$3A ; CPU:$E342 PRG:6342 A2 3A + lda Zp65 ; CPU:$E344 PRG:6344 A5 65 + and #$C0 ; CPU:$E346 PRG:6346 29 C0 + cmp #$80 ; CPU:$E348 PRG:6348 C9 80 + beq Sub_Loop651 ; CPU:$E34A PRG:634A F0 02 + ldx #$62 ; CPU:$E34C PRG:634C A2 62 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop651 +; Global: Branch target inside Sub: taken when Loop651. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop651: + lda Zp65 ; CPU:$E34E PRG:634E A5 65 + and #$1F ; CPU:$E350 PRG:6350 29 1F + beq Sub_Loop652 ; CPU:$E352 PRG:6352 F0 01 + inx ; CPU:$E354 PRG:6354 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop652 +; Global: Branch target inside Sub: taken when Loop652. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop652: + stx Zp8E ; CPU:$E355 PRG:6355 86 8E + lda #$40 ; CPU:$E357 PRG:6357 A9 40 + sta Zp91 ; CPU:$E359 PRG:6359 85 91 + ldy Zp66 ; CPU:$E35B PRG:635B A4 66 + ldx Zp67 ; CPU:$E35D PRG:635D A6 67 + lda #$04 ; CPU:$E35F PRG:635F A9 04 + jsr Sub_EADE ; CPU:$E361 PRG:6361 20 DE EA + rts ; CPU:$E364 PRG:6364 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E365 +; Global: Branch target inside Sub: taken when E365. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E365: + ldy Zp6B ; CPU:$E365 PRG:6365 A4 6B + ldx Zp6C ; CPU:$E367 PRG:6367 A6 6C + jsr Sub_FD34 ; CPU:$E369 PRG:6369 20 34 FD + lda Zp3F ; CPU:$E36C PRG:636C A5 3F + clc ; CPU:$E36E PRG:636E 18 + adc #$10 ; CPU:$E36F PRG:636F 69 10 + sta PPUDATA ; CPU:$E371 PRG:6371 8D 07 20 + jsr Sub_FD37 ; CPU:$E374 PRG:6374 20 37 FD + rts ; CPU:$E377 PRG:6377 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E378 +; Global: Branch target inside Sub: taken when E378. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E378: + lda GameState ; CPU:$E378 PRG:6378 A5 36 + bmi Sub_Loop654 ; CPU:$E37A PRG:637A 30 38 + ldy #$31 ; CPU:$E37C PRG:637C A0 31 + ldx #$B4 ; CPU:$E37E PRG:637E A2 B4 + lda #$6E ; CPU:$E380 PRG:6380 A9 6E + sta Zp8E ; CPU:$E382 PRG:6382 85 8E + lda #$C0 ; CPU:$E384 PRG:6384 A9 C0 + sta Zp91 ; CPU:$E386 PRG:6386 85 91 + lda #$05 ; CPU:$E388 PRG:6388 A9 05 + jsr Sub_EADE ; CPU:$E38A PRG:638A 20 DE EA + ldx #$13 ; CPU:$E38D PRG:638D A2 13 + lda GameState ; CPU:$E38F PRG:638F A5 36 + and #$40 ; CPU:$E391 PRG:6391 29 40 + bne Sub_Loop653 ; CPU:$E393 PRG:6393 D0 02 + ldx #$18 ; CPU:$E395 PRG:6395 A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop653 +; Global: Branch target inside Sub: taken when Loop653. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop653: + lda PlayerTile,x ; CPU:$E397 PRG:6397 B5 32 + and #$1F ; CPU:$E399 PRG:6399 29 1F + cmp #$03 ; CPU:$E39B PRG:639B C9 03 + bcc Sub_Loop656 ; CPU:$E39D PRG:639D 90 54 + lda #$6E ; CPU:$E39F PRG:639F A9 6E + sta Zp8E ; CPU:$E3A1 PRG:63A1 85 8E + lda #$40 ; CPU:$E3A3 PRG:63A3 A9 40 + sta Zp91 ; CPU:$E3A5 PRG:63A5 85 91 + ldy #$B1 ; CPU:$E3A7 PRG:63A7 A0 B1 + lda PlayerY,x ; CPU:$E3A9 PRG:63A9 B5 34 + tax ; CPU:$E3AB PRG:63AB AA + lda #$05 ; CPU:$E3AC PRG:63AC A9 05 + jsr Sub_EADE ; CPU:$E3AE PRG:63AE 20 DE EA + jmp Sub_Loop657 ; CPU:$E3B1 PRG:63B1 4C 00 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop654 +; Global: Branch target inside Sub: taken when Loop654. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop654: + lda Zp41 ; CPU:$E3B4 PRG:63B4 A5 41 + and #$20 ; CPU:$E3B6 PRG:63B6 29 20 + bne Sub_Loop655 ; CPU:$E3B8 PRG:63B8 D0 17 + ldx WrestlerIndex ; CPU:$E3BA PRG:63BA A6 85 + lda PlayerY,x ; CPU:$E3BC PRG:63BC B5 34 + tax ; CPU:$E3BE PRG:63BE AA + ldy #$7F ; CPU:$E3BF PRG:63BF A0 7F + lda #$6F ; CPU:$E3C1 PRG:63C1 A9 6F + sta Zp8E ; CPU:$E3C3 PRG:63C3 85 8E + lda #$20 ; CPU:$E3C5 PRG:63C5 A9 20 + sta Zp91 ; CPU:$E3C7 PRG:63C7 85 91 + lda #$05 ; CPU:$E3C9 PRG:63C9 A9 05 + jsr Sub_EADE ; CPU:$E3CB PRG:63CB 20 DE EA + jmp Sub_E3D6 ; CPU:$E3CE PRG:63CE 4C D6 E3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop655 +; Global: Branch target inside Sub: taken when Loop655. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop655: + ldx #$20 ; CPU:$E3D1 PRG:63D1 A2 20 + jsr Sub_EEC5 ; CPU:$E3D3 PRG:63D3 20 C5 EE +; ----------------------------------------------------------------------------- +; Routine: Sub_E3D6 +; Global: Branch target inside Sub: taken when E3D6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E3D6: + lda Zp41 ; CPU:$E3D6 PRG:63D6 A5 41 + and #$10 ; CPU:$E3D8 PRG:63D8 29 10 + bne Sub_Loop656 ; CPU:$E3DA PRG:63DA D0 17 + ldx WrestlerIndex2 ; CPU:$E3DC PRG:63DC A6 86 + lda PlayerY,x ; CPU:$E3DE PRG:63DE B5 34 + tax ; CPU:$E3E0 PRG:63E0 AA + ldy #$7F ; CPU:$E3E1 PRG:63E1 A0 7F + lda #$6F ; CPU:$E3E3 PRG:63E3 A9 6F + sta Zp8E ; CPU:$E3E5 PRG:63E5 85 8E + lda #$40 ; CPU:$E3E7 PRG:63E7 A9 40 + sta Zp91 ; CPU:$E3E9 PRG:63E9 85 91 + lda #$05 ; CPU:$E3EB PRG:63EB A9 05 + jsr Sub_EADE ; CPU:$E3ED PRG:63ED 20 DE EA + jmp Sub_Loop657 ; CPU:$E3F0 PRG:63F0 4C 00 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop656 +; Global: Branch target inside Sub: taken when Loop656. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop656: + lda Zp37 ; CPU:$E3F3 PRG:63F3 A5 37 + bmi Sub_Loop657 ; CPU:$E3F5 PRG:63F5 30 09 + lda Zp3E ; CPU:$E3F7 PRG:63F7 A5 3E + bmi Sub_Loop657 ; CPU:$E3F9 PRG:63F9 30 05 + ldx #$40 ; CPU:$E3FB PRG:63FB A2 40 + jsr Sub_EEC5 ; CPU:$E3FD PRG:63FD 20 C5 EE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop657 +; Global: Branch target inside Sub: taken when Loop657. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop657: + rts ; CPU:$E400 PRG:6400 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E401 +; Global: Branch target inside Sub: taken when E401. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E401: + ldx #$13 ; CPU:$E401 PRG:6401 A2 13 + lda GameState ; CPU:$E403 PRG:6403 A5 36 + and #$40 ; CPU:$E405 PRG:6405 29 40 + bne Sub_Loop658 ; CPU:$E407 PRG:6407 D0 02 + ldx #$18 ; CPU:$E409 PRG:6409 A2 18 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop658 +; Global: Branch target inside Sub: taken when Loop658. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop658: + lda PlayerTile,x ; CPU:$E40B PRG:640B B5 32 + and #$3F ; CPU:$E40D PRG:640D 29 3F + sta PlayerState ; CPU:$E40F PRG:640F 85 1A + cmp #$02 ; CPU:$E411 PRG:6411 C9 02 + beq Sub_Loop662 ; CPU:$E413 PRG:6413 F0 2B + cmp #$03 ; CPU:$E415 PRG:6415 C9 03 + beq Sub_Loop662 ; CPU:$E417 PRG:6417 F0 27 + cmp #$04 ; CPU:$E419 PRG:6419 C9 04 + beq Sub_Loop662 ; CPU:$E41B PRG:641B F0 23 + cmp #$05 ; CPU:$E41D PRG:641D C9 05 + beq Sub_Loop662 ; CPU:$E41F PRG:641F F0 1F + cmp #$06 ; CPU:$E421 PRG:6421 C9 06 + beq Sub_Loop659 ; CPU:$E423 PRG:6423 F0 0B + cmp #$07 ; CPU:$E425 PRG:6425 C9 07 + beq Sub_Loop667 ; CPU:$E427 PRG:6427 F0 57 + cmp #$08 ; CPU:$E429 PRG:6429 C9 08 + bne Sub_Loop659 ; CPU:$E42B PRG:642B D0 03 + jmp Sub_E4CD ; CPU:$E42D PRG:642D 4C CD E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop659 +; Global: Branch target inside Sub: taken when Loop659. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop659: + ldy #$08 ; CPU:$E430 PRG:6430 A0 08 + cpx #$13 ; CPU:$E432 PRG:6432 E0 13 + beq Sub_Loop660 ; CPU:$E434 PRG:6434 F0 02 + ldy #$0A ; CPU:$E436 PRG:6436 A0 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop660 +; Global: Branch target inside Sub: taken when Loop660. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop660: + cmp #$00 ; CPU:$E438 PRG:6438 C9 00 + beq Sub_Loop661 ; CPU:$E43A PRG:643A F0 01 + iny ; CPU:$E43C PRG:643C C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop661 +; Global: Branch target inside Sub: taken when Loop661. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop661: + jmp Sub_Loop665 ; CPU:$E43D PRG:643D 4C 65 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop662 +; Global: Branch target inside Sub: taken when Loop662. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop662: + lda PlayerTile,x ; CPU:$E440 PRG:6440 B5 32 + and #$C0 ; CPU:$E442 PRG:6442 29 C0 + ldy #$14 ; CPU:$E444 PRG:6444 A0 14 + cmp #$80 ; CPU:$E446 PRG:6446 C9 80 + beq Sub_Loop663 ; CPU:$E448 PRG:6448 F0 0E + ldy #$3C ; CPU:$E44A PRG:644A A0 3C + cmp #$C0 ; CPU:$E44C PRG:644C C9 C0 + beq Sub_Loop663 ; CPU:$E44E PRG:644E F0 08 + ldy #$08 ; CPU:$E450 PRG:6450 A0 08 + cmp #$40 ; CPU:$E452 PRG:6452 C9 40 + beq Sub_Loop663 ; CPU:$E454 PRG:6454 F0 02 + ldy #$00 ; CPU:$E456 PRG:6456 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop663 +; Global: Branch target inside Sub: taken when Loop663. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop663: + cpx #$13 ; CPU:$E458 PRG:6458 E0 13 + beq Sub_Loop664 ; CPU:$E45A PRG:645A F0 02 + iny ; CPU:$E45C PRG:645C C8 + iny ; CPU:$E45D PRG:645D C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop664 +; Global: Branch target inside Sub: taken when Loop664. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop664: + lda ZpAC ; CPU:$E45E PRG:645E A5 AC + and #$08 ; CPU:$E460 PRG:6460 29 08 + beq Sub_Loop665 ; CPU:$E462 PRG:6462 F0 01 + iny ; CPU:$E464 PRG:6464 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop665 +; Global: Branch target inside Sub: taken when Loop665. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop665: + sty Zp8E ; CPU:$E465 PRG:6465 84 8E + lda #$60 ; CPU:$E467 PRG:6467 A9 60 + sta Zp91 ; CPU:$E469 PRG:6469 85 91 + ldy PlayerX,x ; CPU:$E46B PRG:646B B4 33 + lda PlayerY,x ; CPU:$E46D PRG:646D B5 34 + tax ; CPU:$E46F PRG:646F AA + lda PlayerState ; CPU:$E470 PRG:6470 A5 1A + cmp #$03 ; CPU:$E472 PRG:6472 C9 03 + bne Sub_Loop666 ; CPU:$E474 PRG:6474 D0 02 + ldy #$A0 ; CPU:$E476 PRG:6476 A0 A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop666 +; Global: Branch target inside Sub: taken when Loop666. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop666: + lda #$02 ; CPU:$E478 PRG:6478 A9 02 + jsr Sub_EADE ; CPU:$E47A PRG:647A 20 DE EA + jmp Sub_E534 ; CPU:$E47D PRG:647D 4C 34 E5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop667 +; Global: Branch target inside Sub: taken when Loop667. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop667: + lda PlayerX,x ; CPU:$E480 PRG:6480 B5 33 + sec ; CPU:$E482 PRG:6482 38 + sbc #$08 ; CPU:$E483 PRG:6483 E9 08 + sta $0700 ; CPU:$E485 PRG:6485 8D 00 07 + lda #$F7 ; CPU:$E488 PRG:6488 A9 F7 + sta $0701 ; CPU:$E48A PRG:648A 8D 01 07 + lda #$03 ; CPU:$E48D PRG:648D A9 03 + sta $0702 ; CPU:$E48F PRG:648F 8D 02 07 + lda PlayerY,x ; CPU:$E492 PRG:6492 B5 34 + sec ; CPU:$E494 PRG:6494 38 + sbc #$08 ; CPU:$E495 PRG:6495 E9 08 + sta $0703 ; CPU:$E497 PRG:6497 8D 03 07 + lda PlayerX,x ; CPU:$E49A PRG:649A B5 33 + sec ; CPU:$E49C PRG:649C 38 + sbc #$08 ; CPU:$E49D PRG:649D E9 08 + sta $0704 ; CPU:$E49F PRG:649F 8D 04 07 + lda #$F8 ; CPU:$E4A2 PRG:64A2 A9 F8 + sta $0705 ; CPU:$E4A4 PRG:64A4 8D 05 07 + lda #$03 ; CPU:$E4A7 PRG:64A7 A9 03 + sta $0706 ; CPU:$E4A9 PRG:64A9 8D 06 07 + lda PlayerY,x ; CPU:$E4AC PRG:64AC B5 34 + sta $0707 ; CPU:$E4AE PRG:64AE 8D 07 07 + lda PlayerX,x ; CPU:$E4B1 PRG:64B1 B5 33 + sta $0708 ; CPU:$E4B3 PRG:64B3 8D 08 07 + lda #$F9 ; CPU:$E4B6 PRG:64B6 A9 F9 + sta $0709 ; CPU:$E4B8 PRG:64B8 8D 09 07 + lda #$03 ; CPU:$E4BB PRG:64BB A9 03 + sta $070A ; CPU:$E4BD PRG:64BD 8D 0A 07 + lda PlayerY,x ; CPU:$E4C0 PRG:64C0 B5 34 + sec ; CPU:$E4C2 PRG:64C2 38 + sbc #$04 ; CPU:$E4C3 PRG:64C3 E9 04 + sta $070B ; CPU:$E4C5 PRG:64C5 8D 0B 07 + ldy #$24 ; CPU:$E4C8 PRG:64C8 A0 24 + jmp Sub_Loop663 ; CPU:$E4CA PRG:64CA 4C 58 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_E4CD +; Global: Branch target inside Sub: taken when E4CD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E4CD: + lda PlayerX,x ; CPU:$E4CD PRG:64CD B5 33 + sta $0700 ; CPU:$E4CF PRG:64CF 8D 00 07 + lda #$FA ; CPU:$E4D2 PRG:64D2 A9 FA + sta $0701 ; CPU:$E4D4 PRG:64D4 8D 01 07 + lda #$03 ; CPU:$E4D7 PRG:64D7 A9 03 + sta $0702 ; CPU:$E4D9 PRG:64D9 8D 02 07 + lda PlayerY,x ; CPU:$E4DC PRG:64DC B5 34 + sec ; CPU:$E4DE PRG:64DE 38 + sbc #$10 ; CPU:$E4DF PRG:64DF E9 10 + sta $0703 ; CPU:$E4E1 PRG:64E1 8D 03 07 + lda PlayerX,x ; CPU:$E4E4 PRG:64E4 B5 33 + sta $0704 ; CPU:$E4E6 PRG:64E6 8D 04 07 + lda #$FB ; CPU:$E4E9 PRG:64E9 A9 FB + sta $0705 ; CPU:$E4EB PRG:64EB 8D 05 07 + lda #$03 ; CPU:$E4EE PRG:64EE A9 03 + sta $0706 ; CPU:$E4F0 PRG:64F0 8D 06 07 + lda PlayerY,x ; CPU:$E4F3 PRG:64F3 B5 34 + sec ; CPU:$E4F5 PRG:64F5 38 + sbc #$08 ; CPU:$E4F6 PRG:64F6 E9 08 + sta $0707 ; CPU:$E4F8 PRG:64F8 8D 07 07 + lda PlayerX,x ; CPU:$E4FB PRG:64FB B5 33 + clc ; CPU:$E4FD PRG:64FD 18 + adc #$08 ; CPU:$E4FE PRG:64FE 69 08 + sta $0708 ; CPU:$E500 PRG:6500 8D 08 07 + lda #$FA ; CPU:$E503 PRG:6503 A9 FA + sta $0709 ; CPU:$E505 PRG:6505 8D 09 07 + lda #$83 ; CPU:$E508 PRG:6508 A9 83 + sta $070A ; CPU:$E50A PRG:650A 8D 0A 07 + lda PlayerY,x ; CPU:$E50D PRG:650D B5 34 + sec ; CPU:$E50F PRG:650F 38 + sbc #$10 ; CPU:$E510 PRG:6510 E9 10 + sta $070B ; CPU:$E512 PRG:6512 8D 0B 07 + lda PlayerX,x ; CPU:$E515 PRG:6515 B5 33 + clc ; CPU:$E517 PRG:6517 18 + adc #$08 ; CPU:$E518 PRG:6518 69 08 + sta $070C ; CPU:$E51A PRG:651A 8D 0C 07 + lda #$FB ; CPU:$E51D PRG:651D A9 FB + sta $070D ; CPU:$E51F PRG:651F 8D 0D 07 + lda #$83 ; CPU:$E522 PRG:6522 A9 83 + sta $070E ; CPU:$E524 PRG:6524 8D 0E 07 + lda PlayerY,x ; CPU:$E527 PRG:6527 B5 34 + sec ; CPU:$E529 PRG:6529 38 + sbc #$08 ; CPU:$E52A PRG:652A E9 08 + sta $070F ; CPU:$E52C PRG:652C 8D 0F 07 + ldy #$1C ; CPU:$E52F PRG:652F A0 1C + jmp Sub_Loop663 ; CPU:$E531 PRG:6531 4C 58 E4 +; ----------------------------------------------------------------------------- +; Routine: Sub_E534 +; Global: Branch target inside Sub: taken when E534. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E534: + rts ; CPU:$E534 PRG:6534 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E535 +; Global: Branch target inside Sub: taken when E535. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E535: + ldx #$23 ; CPU:$E535 PRG:6535 A2 23 + lda GameState ; CPU:$E537 PRG:6537 A5 36 + and #$20 ; CPU:$E539 PRG:6539 29 20 + bne Sub_Loop668 ; CPU:$E53B PRG:653B D0 02 + ldx #$28 ; CPU:$E53D PRG:653D A2 28 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop668 +; Global: Branch target inside Sub: taken when Loop668. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop668: + lda PlayerTile,x ; CPU:$E53F PRG:653F B5 32 + and #$3F ; CPU:$E541 PRG:6541 29 3F + sta PlayerState ; CPU:$E543 PRG:6543 85 1A + cmp #$02 ; CPU:$E545 PRG:6545 C9 02 + beq Sub_Loop670 ; CPU:$E547 PRG:6547 F0 1C + cmp #$03 ; CPU:$E549 PRG:6549 C9 03 + beq Sub_Loop670 ; CPU:$E54B PRG:654B F0 18 + cmp #$04 ; CPU:$E54D PRG:654D C9 04 + beq Sub_Loop670 ; CPU:$E54F PRG:654F F0 14 + cmp #$05 ; CPU:$E551 PRG:6551 C9 05 + beq Sub_Loop670 ; CPU:$E553 PRG:6553 F0 10 + ldy #$04 ; CPU:$E555 PRG:6555 A0 04 + cpx #$23 ; CPU:$E557 PRG:6557 E0 23 + beq Sub_Loop669 ; CPU:$E559 PRG:6559 F0 02 + ldy #$06 ; CPU:$E55B PRG:655B A0 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop669 +; Global: Branch target inside Sub: taken when Loop669. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop669: + cmp #$00 ; CPU:$E55D PRG:655D C9 00 + beq Sub_Loop673 ; CPU:$E55F PRG:655F F0 29 + iny ; CPU:$E561 PRG:6561 C8 + jmp Sub_Loop673 ; CPU:$E562 PRG:6562 4C 8A E5 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop670 +; Global: Branch target inside Sub: taken when Loop670. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop670: + lda PlayerTile,x ; CPU:$E565 PRG:6565 B5 32 + and #$C0 ; CPU:$E567 PRG:6567 29 C0 + ldy #$18 ; CPU:$E569 PRG:6569 A0 18 + cmp #$80 ; CPU:$E56B PRG:656B C9 80 + beq Sub_Loop671 ; CPU:$E56D PRG:656D F0 0E + ldy #$40 ; CPU:$E56F PRG:656F A0 40 + cmp #$C0 ; CPU:$E571 PRG:6571 C9 C0 + beq Sub_Loop671 ; CPU:$E573 PRG:6573 F0 08 + ldy #$0C ; CPU:$E575 PRG:6575 A0 0C + cmp #$40 ; CPU:$E577 PRG:6577 C9 40 + beq Sub_Loop671 ; CPU:$E579 PRG:6579 F0 02 + ldy #$04 ; CPU:$E57B PRG:657B A0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop671 +; Global: Branch target inside Sub: taken when Loop671. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop671: + cpx #$23 ; CPU:$E57D PRG:657D E0 23 + beq Sub_Loop672 ; CPU:$E57F PRG:657F F0 02 + iny ; CPU:$E581 PRG:6581 C8 + iny ; CPU:$E582 PRG:6582 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop672 +; Global: Branch target inside Sub: taken when Loop672. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop672: + lda ZpAC ; CPU:$E583 PRG:6583 A5 AC + and #$08 ; CPU:$E585 PRG:6585 29 08 + beq Sub_Loop673 ; CPU:$E587 PRG:6587 F0 01 + iny ; CPU:$E589 PRG:6589 C8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop673 +; Global: Branch target inside Sub: taken when Loop673. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop673: + sty Zp8E ; CPU:$E58A PRG:658A 84 8E + lda #$E0 ; CPU:$E58C PRG:658C A9 E0 + sta Zp91 ; CPU:$E58E PRG:658E 85 91 + ldy PlayerX,x ; CPU:$E590 PRG:6590 B4 33 + lda PlayerY,x ; CPU:$E592 PRG:6592 B5 34 + tax ; CPU:$E594 PRG:6594 AA + lda PlayerState ; CPU:$E595 PRG:6595 A5 1A + cmp #$03 ; CPU:$E597 PRG:6597 C9 03 + bne Sub_Loop674 ; CPU:$E599 PRG:6599 D0 02 + ldy #$20 ; CPU:$E59B PRG:659B A0 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop674 +; Global: Branch target inside Sub: taken when Loop674. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop674: + lda #$03 ; CPU:$E59D PRG:659D A9 03 + jsr Sub_EADE ; CPU:$E59F PRG:659F 20 DE EA + lda Zp9F ; CPU:$E5A2 PRG:65A2 A5 9F + beq Sub_Loop675 ; CPU:$E5A4 PRG:65A4 F0 1A + lda ZpAC ; CPU:$E5A6 PRG:65A6 A5 AC + lsr a ; CPU:$E5A8 PRG:65A8 4A + bcc Sub_Loop675 ; CPU:$E5A9 PRG:65A9 90 15 + ldx #$00 ; CPU:$E5AB PRG:65AB A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero14 +; Global: Branch target inside Sub: taken when OnNonzero14. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero14: + lda $07D0,x ; CPU:$E5AD PRG:65AD BD D0 07 + pha ; CPU:$E5B0 PRG:65B0 48 + lda $07F0,x ; CPU:$E5B1 PRG:65B1 BD F0 07 + sta $07D0,x ; CPU:$E5B4 PRG:65B4 9D D0 07 + pla ; CPU:$E5B7 PRG:65B7 68 + sta $07F0,x ; CPU:$E5B8 PRG:65B8 9D F0 07 + inx ; CPU:$E5BB PRG:65BB E8 + cpx #$10 ; CPU:$E5BC PRG:65BC E0 10 + bne Sub_OnNonzero14 ; CPU:$E5BE PRG:65BE D0 ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop675 +; Global: Branch target inside Sub: taken when Loop675. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop675: + rts ; CPU:$E5C0 PRG:65C0 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E5C1 +; Global: Branch target inside Sub: taken when E5C1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E5C1: + lda GameState ; CPU:$E5C1 PRG:65C1 A5 36 + bmi Sub_Loop677 ; CPU:$E5C3 PRG:65C3 30 30 + lda ZpA3 ; CPU:$E5C5 PRG:65C5 A5 A3 + bpl Sub_Loop677 ; CPU:$E5C7 PRG:65C7 10 2C + ldx #$23 ; CPU:$E5C9 PRG:65C9 A2 23 + ldy #$28 ; CPU:$E5CB PRG:65CB A0 28 + lda ZpA3 ; CPU:$E5CD PRG:65CD A5 A3 + lsr a ; CPU:$E5CF PRG:65CF 4A + bcc Sub_Loop676 ; CPU:$E5D0 PRG:65D0 90 04 + ldx #$21 ; CPU:$E5D2 PRG:65D2 A2 21 + ldy #$53 ; CPU:$E5D4 PRG:65D4 A0 53 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop676 +; Global: Branch target inside Sub: taken when Loop676. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop676: + jsr Sub_FD34 ; CPU:$E5D6 PRG:65D6 20 34 FD + lda #$34 ; CPU:$E5D9 PRG:65D9 A9 34 + sta PPUDATA ; CPU:$E5DB PRG:65DB 8D 07 20 + lda #$2F ; CPU:$E5DE PRG:65DE A9 2F + sta PPUDATA ; CPU:$E5E0 PRG:65E0 8D 07 20 + lda #$35 ; CPU:$E5E3 PRG:65E3 A9 35 + sta PPUDATA ; CPU:$E5E5 PRG:65E5 8D 07 20 + lda #$23 ; CPU:$E5E8 PRG:65E8 A9 23 + sta PPUDATA ; CPU:$E5EA PRG:65EA 8D 07 20 + lda #$28 ; CPU:$E5ED PRG:65ED A9 28 + sta PPUDATA ; CPU:$E5EF PRG:65EF 8D 07 20 + jsr Sub_FD37 ; CPU:$E5F2 PRG:65F2 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop677 +; Global: Branch target inside Sub: taken when Loop677. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop677: + rts ; CPU:$E5F5 PRG:65F5 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E5F6 +; Global: Branch target inside Sub: taken when E5F6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E5F6: + lda GameState ; CPU:$E5F6 PRG:65F6 A5 36 + bmi Sub_Loop678 ; CPU:$E5F8 PRG:65F8 30 04 + lda ZpA3 ; CPU:$E5FA PRG:65FA A5 A3 + bmi Sub_Loop680 ; CPU:$E5FC PRG:65FC 30 37 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop678 +; Global: Branch target inside Sub: taken when Loop678. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop678: + lda Zp37 ; CPU:$E5FE PRG:65FE A5 37 + bmi Sub_Loop680 ; CPU:$E600 PRG:6600 30 33 + lda GameState ; CPU:$E602 PRG:6602 A5 36 + bpl Sub_Loop679 ; CPU:$E604 PRG:6604 10 09 + ldx #$22 ; CPU:$E606 PRG:6606 A2 22 + ldy #$87 ; CPU:$E608 PRG:6608 A0 87 + lda #$12 ; CPU:$E60A PRG:660A A9 12 + jmp Sub_E626 ; CPU:$E60C PRG:660C 4C 26 E6 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop679 +; Global: Branch target inside Sub: taken when Loop679. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop679: + ldx #$21 ; CPU:$E60F PRG:660F A2 21 + ldy #$4F ; CPU:$E611 PRG:6611 A0 4F + jsr Sub_FD34 ; CPU:$E613 PRG:6613 20 34 FD + ldx #$0A ; CPU:$E616 PRG:6616 A2 0A + lda #$44 ; CPU:$E618 PRG:6618 A9 44 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero15 +; Global: Branch target inside Sub: taken when OnNonzero15. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero15: + sta PPUDATA ; CPU:$E61A PRG:661A 8D 07 20 + dex ; CPU:$E61D PRG:661D CA + bne Sub_OnNonzero15 ; CPU:$E61E PRG:661E D0 FA + ldx #$23 ; CPU:$E620 PRG:6620 A2 23 + ldy #$28 ; CPU:$E622 PRG:6622 A0 28 + lda #$0A ; CPU:$E624 PRG:6624 A9 0A +; ----------------------------------------------------------------------------- +; Routine: Sub_E626 +; Global: Branch target inside Sub: taken when E626. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E626: + jsr Sub_FD34 ; CPU:$E626 PRG:6626 20 34 FD + tax ; CPU:$E629 PRG:6629 AA + lda #$44 ; CPU:$E62A PRG:662A A9 44 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero16 +; Global: Branch target inside Sub: taken when OnNonzero16. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero16: + sta PPUDATA ; CPU:$E62C PRG:662C 8D 07 20 + dex ; CPU:$E62F PRG:662F CA + bne Sub_OnNonzero16 ; CPU:$E630 PRG:6630 D0 FA + jsr Sub_FD37 ; CPU:$E632 PRG:6632 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop680 +; Global: Branch target inside Sub: taken when Loop680. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop680: + rts ; CPU:$E635 PRG:6635 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E636 +; Global: Branch target inside Sub: taken when E636. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E636: + ldx #$20 ; CPU:$E636 PRG:6636 A2 20 + ldy #$75 ; CPU:$E638 PRG:6638 A0 75 + jsr Sub_FD34 ; CPU:$E63A PRG:663A 20 34 FD + ldx WrestlerIndex ; CPU:$E63D PRG:663D A6 85 + jsr Sub_E652 ; CPU:$E63F PRG:663F 20 52 E6 + ldx #$20 ; CPU:$E642 PRG:6642 A2 20 + ldy #$95 ; CPU:$E644 PRG:6644 A0 95 + jsr Sub_FD34 ; CPU:$E646 PRG:6646 20 34 FD + ldx WrestlerIndex2 ; CPU:$E649 PRG:6649 A6 86 + jsr Sub_E652 ; CPU:$E64B PRG:664B 20 52 E6 + jsr Sub_FD37 ; CPU:$E64E PRG:664E 20 37 FD + rts ; CPU:$E651 PRG:6651 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E652 +; Global: Branch target inside Sub: taken when E652. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E652: + lda Zp35,x ; CPU:$E652 PRG:6652 B5 35 + asl a ; CPU:$E654 PRG:6654 0A + sta PlayerState ; CPU:$E655 PRG:6655 85 1A + asl a ; CPU:$E657 PRG:6657 0A + clc ; CPU:$E658 PRG:6658 18 + adc PlayerState ; CPU:$E659 PRG:6659 65 1A + tay ; CPU:$E65B PRG:665B A8 + ldx #$06 ; CPU:$E65C PRG:665C A2 06 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero17 +; Global: Branch target inside Sub: taken when OnNonzero17. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero17: + lda $E669,y ; CPU:$E65E PRG:665E B9 69 E6 + sta PPUDATA ; CPU:$E661 PRG:6661 8D 07 20 + iny ; CPU:$E664 PRG:6664 C8 + dex ; CPU:$E665 PRG:6665 CA + bne Sub_OnNonzero17 ; CPU:$E666 PRG:6666 D0 F6 + rts ; CPU:$E668 PRG:6668 60 +; ---- data $E669-$E6FE (150 bytes) ---- +; referenced by `lda $E669,y` at $E65E (operand $E669 falls inside this region) + .byte $00, $00, $00, $00, $00, $00, $E3, $00, $00, $00, $00, $00, $E2, $00, $00, $00 ; CPU:$E669 PRG:6669 00 00 00 00 00 00 E3 00 00 00 00 00 E2 00 00 00 + .byte $00, $00, $E1, $00, $00, $00, $00, $00, $E0, $00, $00, $00, $00, $00, $E0, $E3 ; CPU:$E679 PRG:6679 00 00 E1 00 00 00 00 00 E0 00 00 00 00 00 E0 E3 + .byte $00, $00, $00, $00, $E0, $E2, $00, $00, $00, $00, $E0, $E1, $00, $00, $00, $00 ; CPU:$E689 PRG:6689 00 00 00 00 E0 E2 00 00 00 00 E0 E1 00 00 00 00 + .byte $E0, $E0, $00, $00, $00, $00, $E0, $E0, $E3, $00, $00, $00, $E0, $E0, $E2, $00 ; CPU:$E699 PRG:6699 E0 E0 00 00 00 00 E0 E0 E3 00 00 00 E0 E0 E2 00 + .byte $00, $00, $E0, $E0, $E1, $00, $00, $00, $E0, $E0, $E0, $00, $00, $00, $E0, $E0 ; CPU:$E6A9 PRG:66A9 00 00 E0 E0 E1 00 00 00 E0 E0 E0 00 00 00 E0 E0 + .byte $E0, $E3, $00, $00, $E0, $E0, $E0, $E2, $00, $00, $E0, $E0, $E0, $E1, $00, $00 ; CPU:$E6B9 PRG:66B9 E0 E3 00 00 E0 E0 E0 E2 00 00 E0 E0 E0 E1 00 00 + .byte $E0, $E0, $E0, $E0, $00, $00, $E0, $E0, $E0, $E0, $E3, $00, $E0, $E0, $E0, $E0 ; CPU:$E6C9 PRG:66C9 E0 E0 E0 E0 00 00 E0 E0 E0 E0 E3 00 E0 E0 E0 E0 + .byte $E2, $00, $E0, $E0, $E0, $E0, $E1, $00, $E0, $E0, $E0, $E0, $E0, $00, $E0, $E0 ; CPU:$E6D9 PRG:66D9 E2 00 E0 E0 E0 E0 E1 00 E0 E0 E0 E0 E0 00 E0 E0 + .byte $E0, $E0, $E0, $E3, $E0, $E0, $E0, $E0, $E0, $E2, $E0, $E0, $E0, $E0, $E0, $E1 ; CPU:$E6E9 PRG:66E9 E0 E0 E0 E3 E0 E0 E0 E0 E0 E2 E0 E0 E0 E0 E0 E1 + .byte $E0, $E0, $E0, $E0, $E0, $E0 ; CPU:$E6F9 PRG:66F9 E0 E0 E0 E0 E0 E0 +; ----------------------------------------------------------------------------- +; Routine: Sub_E6FF +; Global: Branch target inside Sub: taken when E6FF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E6FF: + lda ZpAD ; CPU:$E6FF PRG:66FF A5 AD + asl a ; CPU:$E701 PRG:6701 0A + and #$0E ; CPU:$E702 PRG:6702 29 0E + sta PlayerState ; CPU:$E704 PRG:6704 85 1A + tay ; CPU:$E706 PRG:6706 A8 + lda #$53 ; CPU:$E707 PRG:6707 A9 53 + sta Zp22 ; CPU:$E709 PRG:6709 85 22 + lda #$E7 ; CPU:$E70B PRG:670B A9 E7 + sta Zp23 ; CPU:$E70D PRG:670D 85 23 + lda #$73 ; CPU:$E70F PRG:670F A9 73 + sta Zp24 ; CPU:$E711 PRG:6711 85 24 + lda #$E7 ; CPU:$E713 PRG:6713 A9 E7 + sta Zp25 ; CPU:$E715 PRG:6715 85 25 + lda GameState ; CPU:$E717 PRG:6717 A5 36 + bpl Sub_Loop681 ; CPU:$E719 PRG:6719 10 10 + lda #$63 ; CPU:$E71B PRG:671B A9 63 + sta Zp22 ; CPU:$E71D PRG:671D 85 22 + lda #$E7 ; CPU:$E71F PRG:671F A9 E7 + sta Zp23 ; CPU:$E721 PRG:6721 85 23 + lda #$83 ; CPU:$E723 PRG:6723 A9 83 + sta Zp24 ; CPU:$E725 PRG:6725 85 24 + lda #$E7 ; CPU:$E727 PRG:6727 A9 E7 + sta Zp25 ; CPU:$E729 PRG:6729 85 25 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop681 +; Global: Branch target inside Sub: taken when Loop681. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop681: + jsr Sub_E830 ; CPU:$E72B PRG:672B 20 30 E8 + ldx #$E7 ; CPU:$E72E PRG:672E A2 E7 + ldy #$93 ; CPU:$E730 PRG:6730 A0 93 + lda ZpAD ; CPU:$E732 PRG:6732 A5 AD + and #$08 ; CPU:$E734 PRG:6734 29 08 + beq Sub_Loop682 ; CPU:$E736 PRG:6736 F0 04 + ldx #$E7 ; CPU:$E738 PRG:6738 A2 E7 + ldy #$9D ; CPU:$E73A PRG:673A A0 9D +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop682 +; Global: Branch target inside Sub: taken when Loop682. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop682: + jsr Sub_FD3A ; CPU:$E73C PRG:673C 20 3A FD + ldx #$E7 ; CPU:$E73F PRG:673F A2 E7 + ldy #$A7 ; CPU:$E741 PRG:6741 A0 A7 + lda ZpAD ; CPU:$E743 PRG:6743 A5 AD + and #$10 ; CPU:$E745 PRG:6745 29 10 + beq Sub_Loop683 ; CPU:$E747 PRG:6747 F0 04 + ldx #$E7 ; CPU:$E749 PRG:6749 A2 E7 + ldy #$B3 ; CPU:$E74B PRG:674B A0 B3 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop683 +; Global: Branch target inside Sub: taken when Loop683. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop683: + jsr Sub_FD3A ; CPU:$E74D PRG:674D 20 3A FD + inc ZpAD ; CPU:$E750 PRG:6750 E6 AD + rts ; CPU:$E752 PRG:6752 60 +; ---- data $E753-$E7BE (108 bytes) ---- + .byte $E2, $20, $EB, $20, $F4, $20, $FC, $20, $21, $21, $3D, $21, $60, $21, $7E, $21 ; CPU:$E753 PRG:6753 E2 20 EB 20 F4 20 FC 20 21 21 3D 21 60 21 7E 21 + .byte $C5, $21, $CC, $21, $D2, $21, $D9, $21, $E1, $21, $FD, $21, $21, $22, $3D, $22 ; CPU:$E763 PRG:6763 C5 21 CC 21 D2 21 D9 21 E1 21 FD 21 21 22 3D 22 + .byte $C7, $71, $C7, $71, $C7, $71, $C7, $71, $C2, $CB, $C2, $CB, $BE, $BF, $BE, $BF ; CPU:$E773 PRG:6773 C7 71 C7 71 C7 71 C7 71 C2 CB C2 CB BE BF BE BF + .byte $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CA ; CPU:$E783 PRG:6783 CA CB CA CB CA CB CA CB CB CA CB CA CB CA CB CA + .byte $6A, $23, $B2, $B0, $B6, $1F, $B3, $B1, $B7, $FF, $6A, $23, $BA, $B8, $BE, $1F ; CPU:$E793 PRG:6793 6A 23 B2 B0 B6 1F B3 B1 B7 FF 6A 23 BA B8 BE 1F + .byte $BB, $B9, $BF, $FF, $72, $23, $AE, $AC, $A6, $A4, $1F, $AF, $AD, $A7, $A5, $FF ; CPU:$E7A3 PRG:67A3 BB B9 BF FF 72 23 AE AC A6 A4 1F AF AD A7 A5 FF + .byte $72, $23, $AA, $A8, $A2, $A0, $1F, $AB, $A9, $A3, $A1, $FF ; CPU:$E7B3 PRG:67B3 72 23 AA A8 A2 A0 1F AB A9 A3 A1 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_E7BF +; Global: Branch target inside Sub: taken when E7BF. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E7BF: + lda ZpAC ; CPU:$E7BF PRG:67BF A5 AC + and #$0E ; CPU:$E7C1 PRG:67C1 29 0E + sta PlayerState ; CPU:$E7C3 PRG:67C3 85 1A + tay ; CPU:$E7C5 PRG:67C5 A8 + lda #$F0 ; CPU:$E7C6 PRG:67C6 A9 F0 + sta Zp22 ; CPU:$E7C8 PRG:67C8 85 22 + lda #$E7 ; CPU:$E7CA PRG:67CA A9 E7 + sta Zp23 ; CPU:$E7CC PRG:67CC 85 23 + lda #$10 ; CPU:$E7CE PRG:67CE A9 10 + sta Zp24 ; CPU:$E7D0 PRG:67D0 85 24 + lda #$E8 ; CPU:$E7D2 PRG:67D2 A9 E8 + sta Zp25 ; CPU:$E7D4 PRG:67D4 85 25 + lda GameState ; CPU:$E7D6 PRG:67D6 A5 36 + bpl Sub_Loop684 ; CPU:$E7D8 PRG:67D8 10 10 + lda #$00 ; CPU:$E7DA PRG:67DA A9 00 + sta Zp22 ; CPU:$E7DC PRG:67DC 85 22 + lda #$E8 ; CPU:$E7DE PRG:67DE A9 E8 + sta Zp23 ; CPU:$E7E0 PRG:67E0 85 23 + lda #$20 ; CPU:$E7E2 PRG:67E2 A9 20 + sta Zp24 ; CPU:$E7E4 PRG:67E4 85 24 + lda #$E8 ; CPU:$E7E6 PRG:67E6 A9 E8 + sta Zp25 ; CPU:$E7E8 PRG:67E8 85 25 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop684 +; Global: Branch target inside Sub: taken when Loop684. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop684: + jsr Sub_E830 ; CPU:$E7EA PRG:67EA 20 30 E8 + inc ZpAC ; CPU:$E7ED PRG:67ED E6 AC + rts ; CPU:$E7EF PRG:67EF 60 +; ---- data $E7F0-$E82F (64 bytes) ---- + .byte $E7, $20, $EF, $20, $F7, $20, $01, $21, $1D, $21, $40, $21, $5E, $21, $A0, $21 ; CPU:$E7F0 PRG:67F0 E7 20 EF 20 F7 20 01 21 1D 21 40 21 5E 21 A0 21 + .byte $C1, $21, $C8, $21, $D5, $21, $DD, $21, $01, $22, $1D, $22, $41, $22, $5D, $22 ; CPU:$E800 PRG:6800 C1 21 C8 21 D5 21 DD 21 01 22 1D 22 41 22 5D 22 + .byte $C7, $71, $C7, $71, $C7, $71, $CA, $CB, $CA, $CB, $C3, $C2, $C3, $C2, $C3, $C2 ; CPU:$E810 PRG:6810 C7 71 C7 71 C7 71 CA CB CA CB C3 C2 C3 C2 C3 C2 + .byte $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $CA, $CB, $BE, $BF, $BE, $BF ; CPU:$E820 PRG:6820 CA CB CA CB CA CB CA CB CA CB CA CB BE BF BE BF +; ----------------------------------------------------------------------------- +; Routine: Sub_E830 +; Global: Branch target inside Sub: taken when E830. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E830: + lda (Zp22),y ; CPU:$E830 PRG:6830 B1 22 + pha ; CPU:$E832 PRG:6832 48 + iny ; CPU:$E833 PRG:6833 C8 + lda (Zp22),y ; CPU:$E834 PRG:6834 B1 22 + tax ; CPU:$E836 PRG:6836 AA + pla ; CPU:$E837 PRG:6837 68 + tay ; CPU:$E838 PRG:6838 A8 + jsr Sub_FD34 ; CPU:$E839 PRG:6839 20 34 FD + ldy PlayerState ; CPU:$E83C PRG:683C A4 1A + lda (Zp24),y ; CPU:$E83E PRG:683E B1 24 + sta PPUDATA ; CPU:$E840 PRG:6840 8D 07 20 + iny ; CPU:$E843 PRG:6843 C8 + lda (Zp24),y ; CPU:$E844 PRG:6844 B1 24 + sta PPUDATA ; CPU:$E846 PRG:6846 8D 07 20 + lda PlayerState ; CPU:$E849 PRG:6849 A5 1A + clc ; CPU:$E84B PRG:684B 18 + adc #$08 ; CPU:$E84C PRG:684C 69 08 + and #$0E ; CPU:$E84E PRG:684E 29 0E + sta PlayerState ; CPU:$E850 PRG:6850 85 1A + tay ; CPU:$E852 PRG:6852 A8 + lda (Zp22),y ; CPU:$E853 PRG:6853 B1 22 + pha ; CPU:$E855 PRG:6855 48 + iny ; CPU:$E856 PRG:6856 C8 + lda (Zp22),y ; CPU:$E857 PRG:6857 B1 22 + tax ; CPU:$E859 PRG:6859 AA + pla ; CPU:$E85A PRG:685A 68 + tay ; CPU:$E85B PRG:685B A8 + jsr Sub_FD34 ; CPU:$E85C PRG:685C 20 34 FD + ldy PlayerState ; CPU:$E85F PRG:685F A4 1A + iny ; CPU:$E861 PRG:6861 C8 + lda (Zp24),y ; CPU:$E862 PRG:6862 B1 24 + sta PPUDATA ; CPU:$E864 PRG:6864 8D 07 20 + dey ; CPU:$E867 PRG:6867 88 + lda (Zp24),y ; CPU:$E868 PRG:6868 B1 24 + sta PPUDATA ; CPU:$E86A PRG:686A 8D 07 20 + jsr Sub_FD37 ; CPU:$E86D PRG:686D 20 37 FD + rts ; CPU:$E870 PRG:6870 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E871 +; Global: Branch target inside Sub: taken when E871. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E871: + lda GameState ; CPU:$E871 PRG:6871 A5 36 + bpl Sub_Loop685 ; CPU:$E873 PRG:6873 10 1D + lda ZpAE ; CPU:$E875 PRG:6875 A5 AE + asl a ; CPU:$E877 PRG:6877 0A + and #$0E ; CPU:$E878 PRG:6878 29 0E + sta PlayerState ; CPU:$E87A PRG:687A 85 1A + tay ; CPU:$E87C PRG:687C A8 + lda #$93 ; CPU:$E87D PRG:687D A9 93 + sta Zp22 ; CPU:$E87F PRG:687F 85 22 + lda #$E8 ; CPU:$E881 PRG:6881 A9 E8 + sta Zp23 ; CPU:$E883 PRG:6883 85 23 + lda #$A3 ; CPU:$E885 PRG:6885 A9 A3 + sta Zp24 ; CPU:$E887 PRG:6887 85 24 + lda #$E8 ; CPU:$E889 PRG:6889 A9 E8 + sta Zp25 ; CPU:$E88B PRG:688B 85 25 + jsr Sub_E830 ; CPU:$E88D PRG:688D 20 30 E8 + inc ZpAE ; CPU:$E890 PRG:6890 E6 AE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop685 +; Global: Branch target inside Sub: taken when Loop685. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop685: + rts ; CPU:$E892 PRG:6892 60 +; ---- data $E893-$E8B2 (32 bytes) ---- + .byte $63, $23, $68, $23, $6F, $23, $76, $23, $7A, $23, $86, $23, $8E, $23, $96, $23 ; CPU:$E893 PRG:6893 63 23 68 23 6F 23 76 23 7A 23 86 23 8E 23 96 23 + .byte $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF, $CD, $CF ; CPU:$E8A3 PRG:68A3 CD CF CD CF CD CF CD CF CD CF CD CF CD CF CD CF +; ----------------------------------------------------------------------------- +; Routine: Sub_E8B3 +; Global: Branch target inside Sub: taken when E8B3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E8B3: + ldx #$20 ; CPU:$E8B3 PRG:68B3 A2 20 + ldy #$F3 ; CPU:$E8B5 PRG:68B5 A0 F3 + jsr Sub_FD34 ; CPU:$E8B7 PRG:68B7 20 34 FD + lda Zp43 ; CPU:$E8BA PRG:68BA A5 43 + clc ; CPU:$E8BC PRG:68BC 18 + adc #$10 ; CPU:$E8BD PRG:68BD 69 10 + sta PPUDATA ; CPU:$E8BF PRG:68BF 8D 07 20 + lda Zp42 ; CPU:$E8C2 PRG:68C2 A5 42 + clc ; CPU:$E8C4 PRG:68C4 18 + adc #$10 ; CPU:$E8C5 PRG:68C5 69 10 + sta PPUDATA ; CPU:$E8C7 PRG:68C7 8D 07 20 + jsr Sub_FD37 ; CPU:$E8CA PRG:68CA 20 37 FD + rts ; CPU:$E8CD PRG:68CD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_E8CE +; Global: Branch target inside Sub: taken when E8CE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E8CE: + lda Zp8C ; CPU:$E8CE PRG:68CE A5 8C + bmi Sub_Loop686 ; CPU:$E8D0 PRG:68D0 30 03 + jmp Sub_E93D ; CPU:$E8D2 PRG:68D2 4C 3D E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop686 +; Global: Branch target inside Sub: taken when Loop686. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop686: + and #$03 ; CPU:$E8D5 PRG:68D5 29 03 + beq Sub_Loop687 ; CPU:$E8D7 PRG:68D7 F0 07 + cmp #$01 ; CPU:$E8D9 PRG:68D9 C9 01 + beq Sub_Loop689 ; CPU:$E8DB PRG:68DB F0 12 + jmp Sub_E901 ; CPU:$E8DD PRG:68DD 4C 01 E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop687 +; Global: Branch target inside Sub: taken when Loop687. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop687: + ldx #$E9 ; CPU:$E8E0 PRG:68E0 A2 E9 + ldy #$56 ; CPU:$E8E2 PRG:68E2 A0 56 + lda GameState ; CPU:$E8E4 PRG:68E4 A5 36 + bpl Sub_Loop688 ; CPU:$E8E6 PRG:68E6 10 04 + ldx #$E9 ; CPU:$E8E8 PRG:68E8 A2 E9 + ldy #$65 ; CPU:$E8EA PRG:68EA A0 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop688 +; Global: Branch target inside Sub: taken when Loop688. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop688: + jmp Sub_Loop690 ; CPU:$E8EC PRG:68EC 4C FB E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop689 +; Global: Branch target inside Sub: taken when Loop689. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop689: + ldx #$E9 ; CPU:$E8EF PRG:68EF A2 E9 + ldy #$74 ; CPU:$E8F1 PRG:68F1 A0 74 + lda GameState ; CPU:$E8F3 PRG:68F3 A5 36 + bpl Sub_Loop690 ; CPU:$E8F5 PRG:68F5 10 04 + ldx #$E9 ; CPU:$E8F7 PRG:68F7 A2 E9 + ldy #$83 ; CPU:$E8F9 PRG:68F9 A0 83 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop690 +; Global: Branch target inside Sub: taken when Loop690. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop690: + jsr Sub_FD3A ; CPU:$E8FB PRG:68FB 20 3A FD + jmp Sub_E932 ; CPU:$E8FE PRG:68FE 4C 32 E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_E901 +; Global: Branch target inside Sub: taken when E901. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E901: + ldx #$E9 ; CPU:$E901 PRG:6901 A2 E9 + ldy #$56 ; CPU:$E903 PRG:6903 A0 56 + lda GameState ; CPU:$E905 PRG:6905 A5 36 + bpl Sub_Loop691 ; CPU:$E907 PRG:6907 10 04 + ldx #$E9 ; CPU:$E909 PRG:6909 A2 E9 + ldy #$65 ; CPU:$E90B PRG:690B A0 65 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop691 +; Global: Branch target inside Sub: taken when Loop691. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop691: + jsr Sub_FD3A ; CPU:$E90D PRG:690D 20 3A FD + ldx #$21 ; CPU:$E910 PRG:6910 A2 21 + ldy #$6F ; CPU:$E912 PRG:6912 A0 6F + lda GameState ; CPU:$E914 PRG:6914 A5 36 + bpl Sub_Loop692 ; CPU:$E916 PRG:6916 10 04 + ldx #$21 ; CPU:$E918 PRG:6918 A2 21 + ldy #$2F ; CPU:$E91A PRG:691A A0 2F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop692 +; Global: Branch target inside Sub: taken when Loop692. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop692: + jsr Sub_FD34 ; CPU:$E91C PRG:691C 20 34 FD + lda PlayerTile ; CPU:$E91F PRG:691F A5 32 + asl a ; CPU:$E921 PRG:6921 0A + tax ; CPU:$E922 PRG:6922 AA + lda $E992,x ; CPU:$E923 PRG:6923 BD 92 E9 + sta PPUDATA ; CPU:$E926 PRG:6926 8D 07 20 + lda $E993,x ; CPU:$E929 PRG:6929 BD 93 E9 + sta PPUDATA ; CPU:$E92C PRG:692C 8D 07 20 + jsr Sub_FD37 ; CPU:$E92F PRG:692F 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_E932 +; Global: Branch target inside Sub: taken when E932. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E932: + lda #$00 ; CPU:$E932 PRG:6932 A9 00 + sta Zp8C ; CPU:$E934 PRG:6934 85 8C + lda #$40 ; CPU:$E936 PRG:6936 A9 40 + sta Zp8D ; CPU:$E938 PRG:6938 85 8D + jmp Sub_E955 ; CPU:$E93A PRG:693A 4C 55 E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_E93D +; Global: Branch target inside Sub: taken when E93D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E93D: + lda Zp8D ; CPU:$E93D PRG:693D A5 8D + bne Sub_Loop694 ; CPU:$E93F PRG:693F D0 12 + ldx #$E9 ; CPU:$E941 PRG:6941 A2 E9 + ldy #$A8 ; CPU:$E943 PRG:6943 A0 A8 + lda GameState ; CPU:$E945 PRG:6945 A5 36 + bpl Sub_Loop693 ; CPU:$E947 PRG:6947 10 04 + ldx #$E9 ; CPU:$E949 PRG:6949 A2 E9 + ldy #$B7 ; CPU:$E94B PRG:694B A0 B7 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop693 +; Global: Branch target inside Sub: taken when Loop693. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop693: + jsr Sub_FD3A ; CPU:$E94D PRG:694D 20 3A FD + jmp Sub_E955 ; CPU:$E950 PRG:6950 4C 55 E9 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop694 +; Global: Branch target inside Sub: taken when Loop694. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop694: + dec Zp8D ; CPU:$E953 PRG:6953 C6 8D +; ----------------------------------------------------------------------------- +; Routine: Sub_E955 +; Global: Branch target inside Sub: taken when E955. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E955: + rts ; CPU:$E955 PRG:6955 60 +; ---- data $E956-$E9C5 (112 bytes) ---- +; referenced by `lda $E992,x` at $E923 (operand $E992 falls inside this region) +; referenced by `lda $E993,x` at $E929 (operand $E993 falls inside this region) + .byte $6A, $21, $4C, $41, $53, $54, $20, $36, $30, $20, $53, $45, $43, $2E, $FF, $2A ; CPU:$E956 PRG:6956 6A 21 4C 41 53 54 20 36 30 20 53 45 43 2E FF 2A + .byte $21, $4C, $41, $53, $54, $20, $36, $30, $20, $53, $45, $43, $2E, $FF, $6A, $21 ; CPU:$E966 PRG:6966 21 4C 41 53 54 20 36 30 20 53 45 43 2E FF 6A 21 + .byte $4C, $41, $53, $54, $20, $33, $30, $20, $53, $45, $43, $2E, $FF, $2A, $21, $4C ; CPU:$E976 PRG:6976 4C 41 53 54 20 33 30 20 53 45 43 2E FF 2A 21 4C + .byte $41, $53, $54, $20, $33, $30, $20, $53, $45, $43, $2E, $FF, $11, $10, $00, $19 ; CPU:$E986 PRG:6986 41 53 54 20 33 30 20 53 45 43 2E FF 11 10 00 19 + .byte $00, $18, $00, $17, $00, $16, $00, $15, $00, $14, $00, $13, $00, $12, $00, $11 ; CPU:$E996 PRG:6996 00 18 00 17 00 16 00 15 00 14 00 13 00 12 00 11 + .byte $00, $00, $6A, $21, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64, $64 ; CPU:$E9A6 PRG:69A6 00 00 6A 21 64 64 64 64 64 64 64 64 64 64 64 64 + .byte $FF, $2A, $21, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $FF ; CPU:$E9B6 PRG:69B6 FF 2A 21 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_E9C6 +; Global: Branch target inside Sub: taken when E9C6. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_E9C6: + lda #$FF ; CPU:$E9C6 PRG:69C6 A9 FF + sta ZpAF ; CPU:$E9C8 PRG:69C8 85 AF + lda Zp3B ; CPU:$E9CA PRG:69CA A5 3B + ora Zp3E ; CPU:$E9CC PRG:69CC 05 3E + bmi Sub_Loop695 ; CPU:$E9CE PRG:69CE 30 0C + lda GameState ; CPU:$E9D0 PRG:69D0 A5 36 + and #$EF ; CPU:$E9D2 PRG:69D2 29 EF + sta GameState ; CPU:$E9D4 PRG:69D4 85 36 + jsr Sub_D9E6 ; CPU:$E9D6 PRG:69D6 20 E6 D9 + jsr Sub_FD19 ; CPU:$E9D9 PRG:69D9 20 19 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop695 +; Global: Branch target inside Sub: taken when Loop695. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop695: + lda #$05 ; CPU:$E9DC PRG:69DC A9 05 + sta PlayerState ; CPU:$E9DE PRG:69DE 85 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero18 +; Global: Branch target inside Sub: taken when OnNonzero18. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero18: + lda #$06 ; CPU:$E9E0 PRG:69E0 A9 06 + jsr Sub_F03D ; CPU:$E9E2 PRG:69E2 20 3D F0 + dec PlayerState ; CPU:$E9E5 PRG:69E5 C6 1A + bne Sub_OnNonzero18 ; CPU:$E9E7 PRG:69E7 D0 F7 + lda #$08 ; CPU:$E9E9 PRG:69E9 A9 08 + jsr Sub_F036 ; CPU:$E9EB PRG:69EB 20 36 F0 + lda #$90 ; CPU:$E9EE PRG:69EE A9 90 + sta PlayerState ; CPU:$E9F0 PRG:69F0 85 1A +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero19 +; Global: Branch target inside Sub: taken when OnNonzero19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero19: + jsr Sub_FD19 ; CPU:$E9F2 PRG:69F2 20 19 FD + lda PlayerState ; CPU:$E9F5 PRG:69F5 A5 1A + pha ; CPU:$E9F7 PRG:69F7 48 + jsr Sub_E6FF ; CPU:$E9F8 PRG:69F8 20 FF E6 + jsr Sub_E7BF ; CPU:$E9FB PRG:69FB 20 BF E7 + jsr Sub_E871 ; CPU:$E9FE PRG:69FE 20 71 E8 + jsr Sub_9BF0 ; CPU:$EA01 PRG:6A01 20 F0 9B + jsr Sub_FD19 ; CPU:$EA04 PRG:6A04 20 19 FD + pla ; CPU:$EA07 PRG:6A07 68 + sta PlayerState ; CPU:$EA08 PRG:6A08 85 1A + ldx #$0F ; CPU:$EA0A PRG:6A0A A2 0F + lda PlayerState ; CPU:$EA0C PRG:6A0C A5 1A + lsr a ; CPU:$EA0E PRG:6A0E 4A + bcs Sub_Loop696 ; CPU:$EA0F PRG:6A0F B0 02 + ldx #$14 ; CPU:$EA11 PRG:6A11 A2 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop696 +; Global: Branch target inside Sub: taken when Loop696. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop696: + stx $0200 ; CPU:$EA13 PRG:6A13 8E 00 02 + stx $0204 ; CPU:$EA16 PRG:6A16 8E 04 02 + stx $0208 ; CPU:$EA19 PRG:6A19 8E 08 02 + stx $020C ; CPU:$EA1C PRG:6A1C 8E 0C 02 + ldx #$02 ; CPU:$EA1F PRG:6A1F A2 02 + ldy #$00 ; CPU:$EA21 PRG:6A21 A0 00 + sty Zp22 ; CPU:$EA23 PRG:6A23 84 22 + stx Zp23 ; CPU:$EA25 PRG:6A25 86 23 + ldx #$3F ; CPU:$EA27 PRG:6A27 A2 3F + ldy #$00 ; CPU:$EA29 PRG:6A29 A0 00 + jsr Sub_FD34 ; CPU:$EA2B PRG:6A2B 20 34 FD + ldy #$00 ; CPU:$EA2E PRG:6A2E A0 00 + ldx #$10 ; CPU:$EA30 PRG:6A30 A2 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero20 +; Global: Branch target inside Sub: taken when OnNonzero20. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero20: + lda (Zp22),y ; CPU:$EA32 PRG:6A32 B1 22 + sta PPUDATA ; CPU:$EA34 PRG:6A34 8D 07 20 + iny ; CPU:$EA37 PRG:6A37 C8 + dex ; CPU:$EA38 PRG:6A38 CA + bne Sub_OnNonzero20 ; CPU:$EA39 PRG:6A39 D0 F7 + lda #$3F ; CPU:$EA3B PRG:6A3B A9 3F + sta PPUADDR ; CPU:$EA3D PRG:6A3D 8D 06 20 + lda #$00 ; CPU:$EA40 PRG:6A40 A9 00 + sta PPUADDR ; CPU:$EA42 PRG:6A42 8D 06 20 + sta PPUADDR ; CPU:$EA45 PRG:6A45 8D 06 20 + sta PPUADDR ; CPU:$EA48 PRG:6A48 8D 06 20 + jsr Sub_FD37 ; CPU:$EA4B PRG:6A4B 20 37 FD + lda Zp7B ; CPU:$EA4E PRG:6A4E A5 7B + bpl Sub_Loop697 ; CPU:$EA50 PRG:6A50 10 09 + jsr Sub_FD2B ; CPU:$EA52 PRG:6A52 20 2B FD + lda Zp18 ; CPU:$EA55 PRG:6A55 A5 18 + and #$0C ; CPU:$EA57 PRG:6A57 29 0C + bne Sub_Loop698 ; CPU:$EA59 PRG:6A59 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop697 +; Global: Branch target inside Sub: taken when Loop697. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop697: + dec PlayerState ; CPU:$EA5B PRG:6A5B C6 1A + bne Sub_OnNonzero19 ; CPU:$EA5D PRG:6A5D D0 93 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop698 +; Global: Branch target inside Sub: taken when Loop698. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop698: + jsr Sub_9BF3 ; CPU:$EA5F PRG:6A5F 20 F3 9B + lda #$00 ; CPU:$EA62 PRG:6A62 A9 00 + sta ZpAF ; CPU:$EA64 PRG:6A64 85 AF + rts ; CPU:$EA66 PRG:6A66 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EA67 +; Global: Branch target inside Sub: taken when EA67. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EA67: + pha ; CPU:$EA67 PRG:6A67 48 + and #$7F ; CPU:$EA68 PRG:6A68 29 7F + asl a ; CPU:$EA6A PRG:6A6A 0A + tax ; CPU:$EA6B PRG:6A6B AA + lda $F2EF,x ; CPU:$EA6C PRG:6A6C BD EF F2 + sta Zp22 ; CPU:$EA6F PRG:6A6F 85 22 + lda $F2F0,x ; CPU:$EA71 PRG:6A71 BD F0 F2 + sta Zp23 ; CPU:$EA74 PRG:6A74 85 23 + ldy #$00 ; CPU:$EA76 PRG:6A76 A0 00 + lda (Zp22),y ; CPU:$EA78 PRG:6A78 B1 22 + sta Zp24 ; CPU:$EA7A PRG:6A7A 85 24 + iny ; CPU:$EA7C PRG:6A7C C8 + lda (Zp22),y ; CPU:$EA7D PRG:6A7D B1 22 + sta Zp25 ; CPU:$EA7F PRG:6A7F 85 25 + pla ; CPU:$EA81 PRG:6A81 68 + bpl Sub_Loop699 ; CPU:$EA82 PRG:6A82 10 07 + lda Zp25 ; CPU:$EA84 PRG:6A84 A5 25 + clc ; CPU:$EA86 PRG:6A86 18 + adc #$04 ; CPU:$EA87 PRG:6A87 69 04 + sta Zp25 ; CPU:$EA89 PRG:6A89 85 25 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop699 +; Global: Branch target inside Sub: taken when Loop699. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop699: + lda Zp22 ; CPU:$EA8B PRG:6A8B A5 22 + clc ; CPU:$EA8D PRG:6A8D 18 + adc #$02 ; CPU:$EA8E PRG:6A8E 69 02 + sta Zp22 ; CPU:$EA90 PRG:6A90 85 22 + lda Zp23 ; CPU:$EA92 PRG:6A92 A5 23 + adc #$00 ; CPU:$EA94 PRG:6A94 69 00 + sta Zp23 ; CPU:$EA96 PRG:6A96 85 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero21 +; Global: Branch target inside Sub: taken when OnNonzero21. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero21: + lda Zp24 ; CPU:$EA98 PRG:6A98 A5 24 + and #$1F ; CPU:$EA9A PRG:6A9A 29 1F + bne Sub_Loop700 ; CPU:$EA9C PRG:6A9C D0 09 + ldy Zp24 ; CPU:$EA9E PRG:6A9E A4 24 + ldx Zp25 ; CPU:$EAA0 PRG:6AA0 A6 25 + jsr Sub_FD34 ; CPU:$EAA2 PRG:6AA2 20 34 FD + ldy #$00 ; CPU:$EAA5 PRG:6AA5 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop700 +; Global: Branch target inside Sub: taken when Loop700. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop700: + lda (Zp22),y ; CPU:$EAA7 PRG:6AA7 B1 22 + inc Zp22 ; CPU:$EAA9 PRG:6AA9 E6 22 + bne Sub_Loop701 ; CPU:$EAAB PRG:6AAB D0 02 + inc Zp23 ; CPU:$EAAD PRG:6AAD E6 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop701 +; Global: Branch target inside Sub: taken when Loop701. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop701: + ldx #$01 ; CPU:$EAAF PRG:6AAF A2 01 + cmp #$00 ; CPU:$EAB1 PRG:6AB1 C9 00 + beq Sub_Loop702 ; CPU:$EAB3 PRG:6AB3 F0 04 + cmp #$FF ; CPU:$EAB5 PRG:6AB5 C9 FF + bne Sub_Loop703 ; CPU:$EAB7 PRG:6AB7 D0 0B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop702 +; Global: Branch target inside Sub: taken when Loop702. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop702: + pha ; CPU:$EAB9 PRG:6AB9 48 + lda (Zp22),y ; CPU:$EABA PRG:6ABA B1 22 + tax ; CPU:$EABC PRG:6ABC AA + pla ; CPU:$EABD PRG:6ABD 68 + inc Zp22 ; CPU:$EABE PRG:6ABE E6 22 + bne Sub_Loop703 ; CPU:$EAC0 PRG:6AC0 D0 02 + inc Zp23 ; CPU:$EAC2 PRG:6AC2 E6 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop703 +; Global: Branch target inside Sub: taken when Loop703. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop703: + sta PPUDATA ; CPU:$EAC4 PRG:6AC4 8D 07 20 + inc Zp24 ; CPU:$EAC7 PRG:6AC7 E6 24 + bne Sub_Loop704 ; CPU:$EAC9 PRG:6AC9 D0 02 + inc Zp25 ; CPU:$EACB PRG:6ACB E6 25 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop704 +; Global: Branch target inside Sub: taken when Loop704. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop704: + dex ; CPU:$EACD PRG:6ACD CA + bne Sub_Loop703 ; CPU:$EACE PRG:6ACE D0 F4 + lda Zp25 ; CPU:$EAD0 PRG:6AD0 A5 25 + and #$03 ; CPU:$EAD2 PRG:6AD2 29 03 + bne Sub_OnNonzero21 ; CPU:$EAD4 PRG:6AD4 D0 C2 + lda Zp24 ; CPU:$EAD6 PRG:6AD6 A5 24 + bne Sub_OnNonzero21 ; CPU:$EAD8 PRG:6AD8 D0 BE + jsr Sub_FD37 ; CPU:$EADA PRG:6ADA 20 37 FD + rts ; CPU:$EADD PRG:6ADD 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EADE +; Global: Branch target inside Sub: taken when EADE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EADE: + sty Zp8F ; CPU:$EADE PRG:6ADE 84 8F + stx Zp90 ; CPU:$EAE0 PRG:6AE0 86 90 + tax ; CPU:$EAE2 PRG:6AE2 AA + lda $EBDD,x ; CPU:$EAE3 PRG:6AE3 BD DD EB + sta Zp1B ; CPU:$EAE6 PRG:6AE6 85 1B + cpx #$01 ; CPU:$EAE8 PRG:6AE8 E0 01 + bne Sub_Loop705 ; CPU:$EAEA PRG:6AEA D0 0A + lda GameState ; CPU:$EAEC PRG:6AEC A5 36 + and #$04 ; CPU:$EAEE PRG:6AEE 29 04 + beq Sub_Loop705 ; CPU:$EAF0 PRG:6AF0 F0 04 + lda #$02 ; CPU:$EAF2 PRG:6AF2 A9 02 + sta Zp1B ; CPU:$EAF4 PRG:6AF4 85 1B +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop705 +; Global: Branch target inside Sub: taken when Loop705. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop705: + cpx #$00 ; CPU:$EAF6 PRG:6AF6 E0 00 + bne Sub_Loop706 ; CPU:$EAF8 PRG:6AF8 D0 25 + lda GameState ; CPU:$EAFA PRG:6AFA A5 36 + and #$10 ; CPU:$EAFC PRG:6AFC 29 10 + beq Sub_Loop706 ; CPU:$EAFE PRG:6AFE F0 1F + lda Zp3B ; CPU:$EB00 PRG:6B00 A5 3B + bmi Sub_Loop706 ; CPU:$EB02 PRG:6B02 30 1B + lda Zp3E ; CPU:$EB04 PRG:6B04 A5 3E + bmi Sub_Loop706 ; CPU:$EB06 PRG:6B06 30 17 + lda Zp12 ; CPU:$EB08 PRG:6B08 A5 12 + cmp #$08 ; CPU:$EB0A PRG:6B0A C9 08 + bne Sub_Loop706 ; CPU:$EB0C PRG:6B0C D0 11 + lda ZpAC ; CPU:$EB0E PRG:6B0E A5 AC + and #$01 ; CPU:$EB10 PRG:6B10 29 01 + beq Sub_Loop706 ; CPU:$EB12 PRG:6B12 F0 0B + lda #$8D ; CPU:$EB14 PRG:6B14 A9 8D + sta Zp22 ; CPU:$EB16 PRG:6B16 85 22 + lda #$E0 ; CPU:$EB18 PRG:6B18 A9 E0 + sta Zp23 ; CPU:$EB1A PRG:6B1A 85 23 + jmp Sub_EB39 ; CPU:$EB1C PRG:6B1C 4C 39 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop706 +; Global: Branch target inside Sub: taken when Loop706. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop706: + lda #$00 ; CPU:$EB1F PRG:6B1F A9 00 + sta Zp23 ; CPU:$EB21 PRG:6B21 85 23 + lda Zp8E ; CPU:$EB23 PRG:6B23 A5 8E + asl a ; CPU:$EB25 PRG:6B25 0A + rol Zp23 ; CPU:$EB26 PRG:6B26 26 23 + asl a ; CPU:$EB28 PRG:6B28 0A + rol Zp23 ; CPU:$EB29 PRG:6B29 26 23 + asl a ; CPU:$EB2B PRG:6B2B 0A + rol Zp23 ; CPU:$EB2C PRG:6B2C 26 23 + clc ; CPU:$EB2E PRG:6B2E 18 + adc #$59 ; CPU:$EB2F PRG:6B2F 69 59 + sta Zp22 ; CPU:$EB31 PRG:6B31 85 22 + lda Zp23 ; CPU:$EB33 PRG:6B33 A5 23 + adc #$F8 ; CPU:$EB35 PRG:6B35 69 F8 + sta Zp23 ; CPU:$EB37 PRG:6B37 85 23 +; ----------------------------------------------------------------------------- +; Routine: Sub_EB39 +; Global: Branch target inside Sub: taken when EB39. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EB39: + lda Zp8E ; CPU:$EB39 PRG:6B39 A5 8E + asl a ; CPU:$EB3B PRG:6B3B 0A + tax ; CPU:$EB3C PRG:6B3C AA + lda $FBD9,x ; CPU:$EB3D PRG:6B3D BD D9 FB + sta Zp1C ; CPU:$EB40 PRG:6B40 85 1C + lda $FBDA,x ; CPU:$EB42 PRG:6B42 BD DA FB + sta Zp1D ; CPU:$EB45 PRG:6B45 85 1D + ldx Zp8E ; CPU:$EB47 PRG:6B47 A6 8E + lda $F7E9,x ; CPU:$EB49 PRG:6B49 BD E9 F7 + beq Sub_Loop707 ; CPU:$EB4C PRG:6B4C F0 09 + lda Zp90 ; CPU:$EB4E PRG:6B4E A5 90 + sec ; CPU:$EB50 PRG:6B50 38 + sbc #$08 ; CPU:$EB51 PRG:6B51 E9 08 + sta Zp90 ; CPU:$EB53 PRG:6B53 85 90 + lda #$01 ; CPU:$EB55 PRG:6B55 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop707 +; Global: Branch target inside Sub: taken when Loop707. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop707: + sta Zp1E ; CPU:$EB57 PRG:6B57 85 1E + lda Zp91 ; CPU:$EB59 PRG:6B59 A5 91 + sta Zp24 ; CPU:$EB5B PRG:6B5B 85 24 + lda #$07 ; CPU:$EB5D PRG:6B5D A9 07 + sta Zp25 ; CPU:$EB5F PRG:6B5F 85 25 + ldy #$00 ; CPU:$EB61 PRG:6B61 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero22 +; Global: Branch target inside Sub: taken when OnNonzero22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero22: + lda (Zp22),y ; CPU:$EB63 PRG:6B63 B1 22 + pha ; CPU:$EB65 PRG:6B65 48 + tya ; CPU:$EB66 PRG:6B66 98 + tax ; CPU:$EB67 PRG:6B67 AA + ldy #$00 ; CPU:$EB68 PRG:6B68 A0 00 + lda Zp8F ; CPU:$EB6A PRG:6B6A A5 8F + sta (Zp24),y ; CPU:$EB6C PRG:6B6C 91 24 + iny ; CPU:$EB6E PRG:6B6E C8 + pla ; CPU:$EB6F PRG:6B6F 68 + sta (Zp24),y ; CPU:$EB70 PRG:6B70 91 24 + iny ; CPU:$EB72 PRG:6B72 C8 + lda Zp1B ; CPU:$EB73 PRG:6B73 A5 1B + lsr Zp1C ; CPU:$EB75 PRG:6B75 46 1C + bcc Sub_Loop708 ; CPU:$EB77 PRG:6B77 90 02 + ora #$40 ; CPU:$EB79 PRG:6B79 09 40 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop708 +; Global: Branch target inside Sub: taken when Loop708. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop708: + lsr Zp1D ; CPU:$EB7B PRG:6B7B 46 1D + bcc Sub_Loop709 ; CPU:$EB7D PRG:6B7D 90 02 + ora #$80 ; CPU:$EB7F PRG:6B7F 09 80 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop709 +; Global: Branch target inside Sub: taken when Loop709. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop709: + sta (Zp24),y ; CPU:$EB81 PRG:6B81 91 24 + iny ; CPU:$EB83 PRG:6B83 C8 + lda Zp90 ; CPU:$EB84 PRG:6B84 A5 90 + sta (Zp24),y ; CPU:$EB86 PRG:6B86 91 24 + lda Zp24 ; CPU:$EB88 PRG:6B88 A5 24 + clc ; CPU:$EB8A PRG:6B8A 18 + adc #$04 ; CPU:$EB8B PRG:6B8B 69 04 + sta Zp24 ; CPU:$EB8D PRG:6B8D 85 24 + lda Zp25 ; CPU:$EB8F PRG:6B8F A5 25 + adc #$00 ; CPU:$EB91 PRG:6B91 69 00 + sta Zp25 ; CPU:$EB93 PRG:6B93 85 25 + txa ; CPU:$EB95 PRG:6B95 8A + tay ; CPU:$EB96 PRG:6B96 A8 + iny ; CPU:$EB97 PRG:6B97 C8 + lda Zp1E ; CPU:$EB98 PRG:6B98 A5 1E + bne Sub_Loop711 ; CPU:$EB9A PRG:6B9A D0 1F + tya ; CPU:$EB9C PRG:6B9C 98 + lsr a ; CPU:$EB9D PRG:6B9D 4A + bcc Sub_Loop710 ; CPU:$EB9E PRG:6B9E 90 0A + lda Zp90 ; CPU:$EBA0 PRG:6BA0 A5 90 + clc ; CPU:$EBA2 PRG:6BA2 18 + adc #$08 ; CPU:$EBA3 PRG:6BA3 69 08 + sta Zp90 ; CPU:$EBA5 PRG:6BA5 85 90 + jmp Sub_EBD8 ; CPU:$EBA7 PRG:6BA7 4C D8 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop710 +; Global: Branch target inside Sub: taken when Loop710. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop710: + lda Zp8F ; CPU:$EBAA PRG:6BAA A5 8F + clc ; CPU:$EBAC PRG:6BAC 18 + adc #$08 ; CPU:$EBAD PRG:6BAD 69 08 + sta Zp8F ; CPU:$EBAF PRG:6BAF 85 8F + lda Zp90 ; CPU:$EBB1 PRG:6BB1 A5 90 + sec ; CPU:$EBB3 PRG:6BB3 38 + sbc #$08 ; CPU:$EBB4 PRG:6BB4 E9 08 + sta Zp90 ; CPU:$EBB6 PRG:6BB6 85 90 + jmp Sub_EBD8 ; CPU:$EBB8 PRG:6BB8 4C D8 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop711 +; Global: Branch target inside Sub: taken when Loop711. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop711: + tya ; CPU:$EBBB PRG:6BBB 98 + and #$03 ; CPU:$EBBC PRG:6BBC 29 03 + beq Sub_Loop712 ; CPU:$EBBE PRG:6BBE F0 0A + lda Zp90 ; CPU:$EBC0 PRG:6BC0 A5 90 + clc ; CPU:$EBC2 PRG:6BC2 18 + adc #$08 ; CPU:$EBC3 PRG:6BC3 69 08 + sta Zp90 ; CPU:$EBC5 PRG:6BC5 85 90 + jmp Sub_EBD8 ; CPU:$EBC7 PRG:6BC7 4C D8 EB +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop712 +; Global: Branch target inside Sub: taken when Loop712. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop712: + lda Zp8F ; CPU:$EBCA PRG:6BCA A5 8F + clc ; CPU:$EBCC PRG:6BCC 18 + adc #$08 ; CPU:$EBCD PRG:6BCD 69 08 + sta Zp8F ; CPU:$EBCF PRG:6BCF 85 8F + lda Zp90 ; CPU:$EBD1 PRG:6BD1 A5 90 + sec ; CPU:$EBD3 PRG:6BD3 38 + sbc #$18 ; CPU:$EBD4 PRG:6BD4 E9 18 + sta Zp90 ; CPU:$EBD6 PRG:6BD6 85 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_EBD8 +; Global: Branch target inside Sub: taken when EBD8. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EBD8: + cpy #$08 ; CPU:$EBD8 PRG:6BD8 C0 08 + bne Sub_OnNonzero22 ; CPU:$EBDA PRG:6BDA D0 87 + rts ; CPU:$EBDC PRG:6BDC 60 +; ---- data $EBDD-$EBE3 (7 bytes) ---- +; referenced by `lda $EBDD,x` at $EAE3 (operand $EBDD falls inside this region) + .byte $00, $01, $00, $01, $00, $02, $00 ; CPU:$EBDD PRG:6BDD 00 01 00 01 00 02 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_EBE4 +; Global: Branch target inside Sub: taken when EBE4. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EBE4: + lda #$00 ; CPU:$EBE4 PRG:6BE4 A9 00 + sta Zp16 ; CPU:$EBE6 PRG:6BE6 85 16 + lda Zp18 ; CPU:$EBE8 PRG:6BE8 A5 18 + and #$FC ; CPU:$EBEA PRG:6BEA 29 FC + lda Zp37 ; CPU:$EBEC PRG:6BEC A5 37 + bmi Sub_Loop713 ; CPU:$EBEE PRG:6BEE 30 0B + lda Zp45 ; CPU:$EBF0 PRG:6BF0 A5 45 + and #$1F ; CPU:$EBF2 PRG:6BF2 29 1F + cmp #$03 ; CPU:$EBF4 PRG:6BF4 C9 03 + bcc Sub_Loop715 ; CPU:$EBF6 PRG:6BF6 90 1D + jmp Sub_Loop720 ; CPU:$EBF8 PRG:6BF8 4C 42 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop713 +; Global: Branch target inside Sub: taken when Loop713. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop713: + lda Zp13 ; CPU:$EBFB PRG:6BFB A5 13 + and #$7F ; CPU:$EBFD PRG:6BFD 29 7F + bne Sub_Loop714 ; CPU:$EBFF PRG:6BFF D0 07 + lda Zp18 ; CPU:$EC01 PRG:6C01 A5 18 + ora #$01 ; CPU:$EC03 PRG:6C03 09 01 + jmp Sub_EC10 ; CPU:$EC05 PRG:6C05 4C 10 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop714 +; Global: Branch target inside Sub: taken when Loop714. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop714: + and #$0F ; CPU:$EC08 PRG:6C08 29 0F + bne Sub_Loop720 ; CPU:$EC0A PRG:6C0A D0 36 + lda Zp18 ; CPU:$EC0C PRG:6C0C A5 18 + ora #$02 ; CPU:$EC0E PRG:6C0E 09 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_EC10 +; Global: Branch target inside Sub: taken when EC10. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC10: + sta Zp18 ; CPU:$EC10 PRG:6C10 85 18 + jmp Sub_Loop720 ; CPU:$EC12 PRG:6C12 4C 42 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop715 +; Global: Branch target inside Sub: taken when Loop715. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop715: + ldx #$00 ; CPU:$EC15 PRG:6C15 A2 00 + lda Zp55 ; CPU:$EC17 PRG:6C17 A5 55 + and #$1F ; CPU:$EC19 PRG:6C19 29 1F + cmp #$03 ; CPU:$EC1B PRG:6C1B C9 03 + bcs Sub_Loop719 ; CPU:$EC1D PRG:6C1D B0 21 + lda Zp47 ; CPU:$EC1F PRG:6C1F A5 47 + cmp Zp57 ; CPU:$EC21 PRG:6C21 C5 57 + beq Sub_Loop717 ; CPU:$EC23 PRG:6C23 F0 0C + bcs Sub_Loop716 ; CPU:$EC25 PRG:6C25 B0 05 + ldx #$03 ; CPU:$EC27 PRG:6C27 A2 03 + jmp Sub_Loop719 ; CPU:$EC29 PRG:6C29 4C 40 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop716 +; Global: Branch target inside Sub: taken when Loop716. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop716: + ldx #$07 ; CPU:$EC2C PRG:6C2C A2 07 + jmp Sub_Loop719 ; CPU:$EC2E PRG:6C2E 4C 40 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop717 +; Global: Branch target inside Sub: taken when Loop717. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop717: + lda Zp46 ; CPU:$EC31 PRG:6C31 A5 46 + cmp Zp56 ; CPU:$EC33 PRG:6C33 C5 56 + beq Sub_Loop719 ; CPU:$EC35 PRG:6C35 F0 09 + bcs Sub_Loop718 ; CPU:$EC37 PRG:6C37 B0 05 + ldx #$05 ; CPU:$EC39 PRG:6C39 A2 05 + jmp Sub_Loop719 ; CPU:$EC3B PRG:6C3B 4C 40 EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop718 +; Global: Branch target inside Sub: taken when Loop718. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop718: + ldx #$01 ; CPU:$EC3E PRG:6C3E A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop719 +; Global: Branch target inside Sub: taken when Loop719. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop719: + stx Zp16 ; CPU:$EC40 PRG:6C40 86 16 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop720 +; Global: Branch target inside Sub: taken when Loop720. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop720: + rts ; CPU:$EC42 PRG:6C42 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EC43 +; Global: Branch target inside Sub: taken when EC43. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EC43: + ldx WrestlerIndex ; CPU:$EC43 PRG:6C43 A6 85 + lda PlayerTile,x ; CPU:$EC45 PRG:6C45 B5 32 + and #$3F ; CPU:$EC47 PRG:6C47 29 3F + cmp #$0B ; CPU:$EC49 PRG:6C49 C9 0B + bne Sub_Loop721 ; CPU:$EC4B PRG:6C4B D0 07 + lda #$00 ; CPU:$EC4D PRG:6C4D A9 00 + sta Zp94 ; CPU:$EC4F PRG:6C4F 85 94 + jmp Sub_ED0C ; CPU:$EC51 PRG:6C51 4C 0C ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop721 +; Global: Branch target inside Sub: taken when Loop721. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop721: + lda GameState ; CPU:$EC54 PRG:6C54 A5 36 + and #$02 ; CPU:$EC56 PRG:6C56 29 02 + beq Sub_Loop724 ; CPU:$EC58 PRG:6C58 F0 26 + ldx WrestlerIndex ; CPU:$EC5A PRG:6C5A A6 85 + lda Zp35,x ; CPU:$EC5C PRG:6C5C B5 35 + and #$FC ; CPU:$EC5E PRG:6C5E 29 FC + bne Sub_Loop722 ; CPU:$EC60 PRG:6C60 D0 07 + ldy #$00 ; CPU:$EC62 PRG:6C62 A0 00 + lda ZpAC ; CPU:$EC64 PRG:6C64 A5 AC + lsr a ; CPU:$EC66 PRG:6C66 4A + bcc Sub_Loop723 ; CPU:$EC67 PRG:6C67 90 12 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop722 +; Global: Branch target inside Sub: taken when Loop722. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop722: + ldx WrestlerIndex2 ; CPU:$EC69 PRG:6C69 A6 86 + ldy #$04 ; CPU:$EC6B PRG:6C6B A0 04 + lda PlayerY,x ; CPU:$EC6D PRG:6C6D B5 34 + cmp #$50 ; CPU:$EC6F PRG:6C6F C9 50 + bcc Sub_Loop723 ; CPU:$EC71 PRG:6C71 90 08 + ldy #$03 ; CPU:$EC73 PRG:6C73 A0 03 + cmp #$58 ; CPU:$EC75 PRG:6C75 C9 58 + bcc Sub_Loop723 ; CPU:$EC77 PRG:6C77 90 02 + ldy #$02 ; CPU:$EC79 PRG:6C79 A0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop723 +; Global: Branch target inside Sub: taken when Loop723. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop723: + sty Zp94 ; CPU:$EC7B PRG:6C7B 84 94 + jmp Sub_ED0C ; CPU:$EC7D PRG:6C7D 4C 0C ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop724 +; Global: Branch target inside Sub: taken when Loop724. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop724: + lda GameState ; CPU:$EC80 PRG:6C80 A5 36 + and #$04 ; CPU:$EC82 PRG:6C82 29 04 + bne Sub_Loop725 ; CPU:$EC84 PRG:6C84 D0 1E + lda Zp83 ; CPU:$EC86 PRG:6C86 A5 83 + and #$07 ; CPU:$EC88 PRG:6C88 29 07 + asl a ; CPU:$EC8A PRG:6C8A 0A + sta Zp1B ; CPU:$EC8B PRG:6C8B 85 1B + asl a ; CPU:$EC8D PRG:6C8D 0A + clc ; CPU:$EC8E PRG:6C8E 18 + adc Zp1B ; CPU:$EC8F PRG:6C8F 65 1B + clc ; CPU:$EC91 PRG:6C91 18 + adc PlayerX ; CPU:$EC92 PRG:6C92 65 33 + tax ; CPU:$EC94 PRG:6C94 AA + lda $ED0D,x ; CPU:$EC95 PRG:6C95 BD 0D ED + beq Sub_Loop730 ; CPU:$EC98 PRG:6C98 F0 5A + ldx WrestlerIndex ; CPU:$EC9A PRG:6C9A A6 85 + lda PlayerTile,x ; CPU:$EC9C PRG:6C9C B5 32 + and #$3F ; CPU:$EC9E PRG:6C9E 29 3F + cmp #$03 ; CPU:$ECA0 PRG:6CA0 C9 03 + bcs Sub_Loop730 ; CPU:$ECA2 PRG:6CA2 B0 50 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop725 +; Global: Branch target inside Sub: taken when Loop725. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop725: + ldx WrestlerIndex ; CPU:$ECA4 PRG:6CA4 A6 85 + lda PlayerX,x ; CPU:$ECA6 PRG:6CA6 B5 33 + sta Zp1B ; CPU:$ECA8 PRG:6CA8 85 1B + lda PlayerY,x ; CPU:$ECAA PRG:6CAA B5 34 + sta Zp1C ; CPU:$ECAC PRG:6CAC 85 1C + ldx WrestlerIndex2 ; CPU:$ECAE PRG:6CAE A6 86 + lda PlayerX,x ; CPU:$ECB0 PRG:6CB0 B5 33 + cmp Zp1B ; CPU:$ECB2 PRG:6CB2 C5 1B + beq Sub_Loop726 ; CPU:$ECB4 PRG:6CB4 F0 13 + bcs Sub_Loop728 ; CPU:$ECB6 PRG:6CB6 B0 29 + ldy #$05 ; CPU:$ECB8 PRG:6CB8 A0 05 + lda PlayerY,x ; CPU:$ECBA PRG:6CBA B5 34 + cmp Zp1C ; CPU:$ECBC PRG:6CBC C5 1C + beq Sub_Loop729 ; CPU:$ECBE PRG:6CBE F0 2F + ldy #$04 ; CPU:$ECC0 PRG:6CC0 A0 04 + bcc Sub_Loop729 ; CPU:$ECC2 PRG:6CC2 90 2B + ldy #$06 ; CPU:$ECC4 PRG:6CC4 A0 06 + jmp Sub_Loop729 ; CPU:$ECC6 PRG:6CC6 4C EF EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop726 +; Global: Branch target inside Sub: taken when Loop726. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop726: + lda PlayerY,x ; CPU:$ECC9 PRG:6CC9 B5 34 + cmp Zp1C ; CPU:$ECCB PRG:6CCB C5 1C + bne Sub_Loop727 ; CPU:$ECCD PRG:6CCD D0 05 + lda #$00 ; CPU:$ECCF PRG:6CCF A9 00 + jmp Sub_Loop729 ; CPU:$ECD1 PRG:6CD1 4C EF EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop727 +; Global: Branch target inside Sub: taken when Loop727. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop727: + ldy #$03 ; CPU:$ECD4 PRG:6CD4 A0 03 + lda PlayerY,x ; CPU:$ECD6 PRG:6CD6 B5 34 + cmp Zp1C ; CPU:$ECD8 PRG:6CD8 C5 1C + bcc Sub_Loop729 ; CPU:$ECDA PRG:6CDA 90 13 + ldy #$07 ; CPU:$ECDC PRG:6CDC A0 07 + jmp Sub_Loop729 ; CPU:$ECDE PRG:6CDE 4C EF EC +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop728 +; Global: Branch target inside Sub: taken when Loop728. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop728: + ldy #$01 ; CPU:$ECE1 PRG:6CE1 A0 01 + lda PlayerY,x ; CPU:$ECE3 PRG:6CE3 B5 34 + cmp Zp1C ; CPU:$ECE5 PRG:6CE5 C5 1C + beq Sub_Loop729 ; CPU:$ECE7 PRG:6CE7 F0 06 + ldy #$02 ; CPU:$ECE9 PRG:6CE9 A0 02 + bcc Sub_Loop729 ; CPU:$ECEB PRG:6CEB 90 02 + ldy #$08 ; CPU:$ECED PRG:6CED A0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop729 +; Global: Branch target inside Sub: taken when Loop729. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop729: + sty Zp94 ; CPU:$ECEF PRG:6CEF 84 94 + jmp Sub_ED0C ; CPU:$ECF1 PRG:6CF1 4C 0C ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop730 +; Global: Branch target inside Sub: taken when Loop730. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop730: + lda ZpAC ; CPU:$ECF4 PRG:6CF4 A5 AC + and #$1F ; CPU:$ECF6 PRG:6CF6 29 1F + beq Sub_Loop731 ; CPU:$ECF8 PRG:6CF8 F0 0A + ldx Zp93 ; CPU:$ECFA PRG:6CFA A6 93 + lda $ED3D,x ; CPU:$ECFC PRG:6CFC BD 3D ED + sta Zp94 ; CPU:$ECFF PRG:6CFF 85 94 + jmp Sub_ED0C ; CPU:$ED01 PRG:6D01 4C 0C ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop731 +; Global: Branch target inside Sub: taken when Loop731. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop731: + inc Zp93 ; CPU:$ED04 PRG:6D04 E6 93 + lda Zp93 ; CPU:$ED06 PRG:6D06 A5 93 + and #$0F ; CPU:$ED08 PRG:6D08 29 0F + sta Zp93 ; CPU:$ED0A PRG:6D0A 85 93 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED0C +; Global: Branch target inside Sub: taken when ED0C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED0C: + rts ; CPU:$ED0C PRG:6D0C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_ED0D +; Global: Branch target inside Label: taken when ED0D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED0D: + brk ; CPU:$ED0D PRG:6D0D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED0E +; Global: Branch target inside Label: taken when ED0E. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED0E: + brk ; CPU:$ED0E PRG:6D0E 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED0F +; Global: Branch target inside Label: taken when ED0F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED0F: + ora (Zp00,x) ; CPU:$ED0F PRG:6D0F 01 00 + ora (Zp00,x) ; CPU:$ED11 PRG:6D11 01 00 + brk ; CPU:$ED13 PRG:6D13 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED14 +; Global: Branch target inside Label: taken when ED14. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED14: + brk ; CPU:$ED14 PRG:6D14 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED15 +; Global: Branch target inside Label: taken when ED15. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED15: + brk ; CPU:$ED15 PRG:6D15 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED16 +; Global: Branch target inside Label: taken when ED16. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED16: + ora (Zp00,x) ; CPU:$ED16 PRG:6D16 01 00 + ora (Zp00,x) ; CPU:$ED18 PRG:6D18 01 00 + brk ; CPU:$ED1A PRG:6D1A 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED1B +; Global: Branch target inside Label: taken when ED1B. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED1B: + ora (Zp00,x) ; CPU:$ED1B PRG:6D1B 01 00 + ora (Zp00,x) ; CPU:$ED1D PRG:6D1D 01 00 + ora (Zp01,x) ; CPU:$ED1F PRG:6D1F 01 01 + brk ; CPU:$ED21 PRG:6D21 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED22 +; Global: Branch target inside Label: taken when ED22. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED22: + brk ; CPU:$ED22 PRG:6D22 00 +; ----------------------------------------------------------------------------- +; Routine: Label_ED23 +; Global: Branch target inside Label: taken when ED23. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_ED23: + ora (Zp01,x) ; CPU:$ED23 PRG:6D23 01 01 + ora (Zp00,x) ; CPU:$ED25 PRG:6D25 01 00 + ora (Zp00,x) ; CPU:$ED27 PRG:6D27 01 00 + brk ; CPU:$ED29 PRG:6D29 00 +; ---- data $ED2A-$ED4C (35 bytes) ---- +; referenced by `lda $ED3D,x` at $ECFC (operand $ED3D falls inside this region) + .byte $01, $01, $01, $00, $01, $00, $01, $01, $01, $00, $01, $01, $01, $01, $00, $01 ; CPU:$ED2A PRG:6D2A 01 01 01 00 01 00 01 01 01 00 01 01 01 01 00 01 + .byte $00, $01, $01, $06, $00, $07, $00, $03, $04, $07, $00, $01, $05, $03, $07, $02 ; CPU:$ED3A PRG:6D3A 00 01 01 06 00 07 00 03 04 07 00 01 05 03 07 02 + .byte $00, $08, $03 ; CPU:$ED4A PRG:6D4A 00 08 03 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED4D +; Global: Branch target inside Sub: taken when ED4D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED4D: + pha ; CPU:$ED4D PRG:6D4D 48 + sty Zp20 ; CPU:$ED4E PRG:6D4E 84 20 + lda PlayerX,x ; CPU:$ED50 PRG:6D50 B5 33 + sta Zp8F ; CPU:$ED52 PRG:6D52 85 8F + lda PlayerY,x ; CPU:$ED54 PRG:6D54 B5 34 + sta Zp90 ; CPU:$ED56 PRG:6D56 85 90 + tya ; CPU:$ED58 PRG:6D58 98 + tax ; CPU:$ED59 PRG:6D59 AA + lda PlayerX,x ; CPU:$ED5A PRG:6D5A B5 33 + sta Zp1C ; CPU:$ED5C PRG:6D5C 85 1C + lda PlayerY,x ; CPU:$ED5E PRG:6D5E B5 34 + sta Zp1D ; CPU:$ED60 PRG:6D60 85 1D + lda #$00 ; CPU:$ED62 PRG:6D62 A9 00 + sta Zp1E ; CPU:$ED64 PRG:6D64 85 1E + lda PlayerTile,x ; CPU:$ED66 PRG:6D66 B5 32 + and #$3F ; CPU:$ED68 PRG:6D68 29 3F + cmp #$07 ; CPU:$ED6A PRG:6D6A C9 07 + bne Sub_Loop732 ; CPU:$ED6C PRG:6D6C D0 0D + lda Zp1C ; CPU:$ED6E PRG:6D6E A5 1C + clc ; CPU:$ED70 PRG:6D70 18 + adc #$10 ; CPU:$ED71 PRG:6D71 69 10 + sec ; CPU:$ED73 PRG:6D73 38 + sbc Zp8F ; CPU:$ED74 PRG:6D74 E5 8F + cmp #$20 ; CPU:$ED76 PRG:6D76 C9 20 + jmp Sub_ED85 ; CPU:$ED78 PRG:6D78 4C 85 ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop732 +; Global: Branch target inside Sub: taken when Loop732. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop732: + lda Zp8F ; CPU:$ED7B PRG:6D7B A5 8F + clc ; CPU:$ED7D PRG:6D7D 18 + adc #$08 ; CPU:$ED7E PRG:6D7E 69 08 + sec ; CPU:$ED80 PRG:6D80 38 + sbc Zp1C ; CPU:$ED81 PRG:6D81 E5 1C + cmp #$10 ; CPU:$ED83 PRG:6D83 C9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_ED85 +; Global: Branch target inside Sub: taken when ED85. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_ED85: + bcs Sub_Loop733 ; CPU:$ED85 PRG:6D85 B0 04 + lda #$FF ; CPU:$ED87 PRG:6D87 A9 FF + sta Zp1E ; CPU:$ED89 PRG:6D89 85 1E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop733 +; Global: Branch target inside Sub: taken when Loop733. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop733: + lda #$00 ; CPU:$ED8B PRG:6D8B A9 00 + sta Zp1F ; CPU:$ED8D PRG:6D8D 85 1F + lda PlayerTile,x ; CPU:$ED8F PRG:6D8F B5 32 + and #$3F ; CPU:$ED91 PRG:6D91 29 3F + cmp #$07 ; CPU:$ED93 PRG:6D93 C9 07 + bne Sub_Loop734 ; CPU:$ED95 PRG:6D95 D0 0D + lda Zp1D ; CPU:$ED97 PRG:6D97 A5 1D + clc ; CPU:$ED99 PRG:6D99 18 + adc #$10 ; CPU:$ED9A PRG:6D9A 69 10 + sec ; CPU:$ED9C PRG:6D9C 38 + sbc Zp90 ; CPU:$ED9D PRG:6D9D E5 90 + cmp #$28 ; CPU:$ED9F PRG:6D9F C9 28 + jmp Sub_EDAE ; CPU:$EDA1 PRG:6DA1 4C AE ED +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop734 +; Global: Branch target inside Sub: taken when Loop734. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop734: + lda Zp90 ; CPU:$EDA4 PRG:6DA4 A5 90 + clc ; CPU:$EDA6 PRG:6DA6 18 + adc #$08 ; CPU:$EDA7 PRG:6DA7 69 08 + sec ; CPU:$EDA9 PRG:6DA9 38 + sbc Zp1D ; CPU:$EDAA PRG:6DAA E5 1D + cmp #$10 ; CPU:$EDAC PRG:6DAC C9 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_EDAE +; Global: Branch target inside Sub: taken when EDAE. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EDAE: + bcs Sub_Loop735 ; CPU:$EDAE PRG:6DAE B0 04 + lda #$FF ; CPU:$EDB0 PRG:6DB0 A9 FF + sta Zp1F ; CPU:$EDB2 PRG:6DB2 85 1F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop735 +; Global: Branch target inside Sub: taken when Loop735. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop735: + pla ; CPU:$EDB4 PRG:6DB4 68 + asl a ; CPU:$EDB5 PRG:6DB5 0A + tax ; CPU:$EDB6 PRG:6DB6 AA + lda $EE75,x ; CPU:$EDB7 PRG:6DB7 BD 75 EE + sta Zp24 ; CPU:$EDBA PRG:6DBA 85 24 + lda $EE76,x ; CPU:$EDBC PRG:6DBC BD 76 EE + sta Zp25 ; CPU:$EDBF PRG:6DBF 85 25 + jmp (Zp24) ; CPU:$EDC1 PRG:6DC1 6C 24 00 +; ----------------------------------------------------------------------------- +; Routine: Label_EDC4 +; Global: Branch target inside Label: taken when EDC4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDC4: + jmp Sub_EE00 ; CPU:$EDC4 PRG:6DC4 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDC7 +; Global: Branch target inside Label: taken when EDC7. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDC7: + jsr Sub_EE05 ; CPU:$EDC7 PRG:6DC7 20 05 EE + jmp Sub_EE00 ; CPU:$EDCA PRG:6DCA 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDCD +; Global: Branch target inside Label: taken when EDCD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDCD: + jsr Sub_EE05 ; CPU:$EDCD PRG:6DCD 20 05 EE + jsr Sub_EE2E ; CPU:$EDD0 PRG:6DD0 20 2E EE + jmp Sub_EE00 ; CPU:$EDD3 PRG:6DD3 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDD6 +; Global: Branch target inside Label: taken when EDD6. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDD6: + jsr Sub_EE2E ; CPU:$EDD6 PRG:6DD6 20 2E EE + jmp Sub_EE00 ; CPU:$EDD9 PRG:6DD9 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDDC +; Global: Branch target inside Label: taken when EDDC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDDC: + jsr Sub_EE46 ; CPU:$EDDC PRG:6DDC 20 46 EE + jsr Sub_EE2E ; CPU:$EDDF PRG:6DDF 20 2E EE + jmp Sub_EE00 ; CPU:$EDE2 PRG:6DE2 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDE5 +; Global: Branch target inside Label: taken when EDE5. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDE5: + jsr Sub_EE46 ; CPU:$EDE5 PRG:6DE5 20 46 EE + jmp Sub_EE00 ; CPU:$EDE8 PRG:6DE8 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDEB +; Global: Branch target inside Label: taken when EDEB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDEB: + jsr Sub_EE46 ; CPU:$EDEB PRG:6DEB 20 46 EE + jsr Sub_EE5D ; CPU:$EDEE PRG:6DEE 20 5D EE + jmp Sub_EE00 ; CPU:$EDF1 PRG:6DF1 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDF4 +; Global: Branch target inside Label: taken when EDF4. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDF4: + jsr Sub_EE5D ; CPU:$EDF4 PRG:6DF4 20 5D EE + jmp Sub_EE00 ; CPU:$EDF7 PRG:6DF7 4C 00 EE +; ----------------------------------------------------------------------------- +; Routine: Label_EDFA +; Global: Branch target inside Label: taken when EDFA. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EDFA: + jsr Sub_EE05 ; CPU:$EDFA PRG:6DFA 20 05 EE + jsr Sub_EE5D ; CPU:$EDFD PRG:6DFD 20 5D EE +; ----------------------------------------------------------------------------- +; Routine: Sub_EE00 +; Global: Branch target inside Sub: taken when EE00. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE00: + ldy Zp8F ; CPU:$EE00 PRG:6E00 A4 8F + ldx Zp90 ; CPU:$EE02 PRG:6E02 A6 90 + rts ; CPU:$EE04 PRG:6E04 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE05 +; Global: Branch target inside Sub: taken when EE05. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE05: + lda Zp8F ; CPU:$EE05 PRG:6E05 A5 8F + cmp #$40 ; CPU:$EE07 PRG:6E07 C9 40 + beq Sub_Loop737 ; CPU:$EE09 PRG:6E09 F0 10 + lda Zp1F ; CPU:$EE0B PRG:6E0B A5 1F + beq Sub_Loop736 ; CPU:$EE0D PRG:6E0D F0 0A + lda Zp8F ; CPU:$EE0F PRG:6E0F A5 8F + cmp Zp1C ; CPU:$EE11 PRG:6E11 C5 1C + bcc Sub_Loop736 ; CPU:$EE13 PRG:6E13 90 04 + lda Zp1E ; CPU:$EE15 PRG:6E15 A5 1E + bne Sub_Loop739 ; CPU:$EE17 PRG:6E17 D0 14 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop736 +; Global: Branch target inside Sub: taken when Loop736. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop736: + dec Zp8F ; CPU:$EE19 PRG:6E19 C6 8F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop737 +; Global: Branch target inside Sub: taken when Loop737. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop737: + jsr Sub_EE87 ; CPU:$EE1B PRG:6E1B 20 87 EE + cpx Zp90 ; CPU:$EE1E PRG:6E1E E4 90 + bcc Sub_Loop738 ; CPU:$EE20 PRG:6E20 90 05 + stx Zp90 ; CPU:$EE22 PRG:6E22 86 90 + jmp Sub_Loop739 ; CPU:$EE24 PRG:6E24 4C 2D EE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop738 +; Global: Branch target inside Sub: taken when Loop738. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop738: + cpy Zp90 ; CPU:$EE27 PRG:6E27 C4 90 + bcs Sub_Loop739 ; CPU:$EE29 PRG:6E29 B0 02 + sty Zp90 ; CPU:$EE2B PRG:6E2B 84 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop739 +; Global: Branch target inside Sub: taken when Loop739. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop739: + rts ; CPU:$EE2D PRG:6E2D 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE2E +; Global: Branch target inside Sub: taken when EE2E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE2E: + jsr Sub_EE87 ; CPU:$EE2E PRG:6E2E 20 87 EE + cpy Zp90 ; CPU:$EE31 PRG:6E31 C4 90 + beq Sub_Loop741 ; CPU:$EE33 PRG:6E33 F0 10 + lda Zp1E ; CPU:$EE35 PRG:6E35 A5 1E + beq Sub_Loop740 ; CPU:$EE37 PRG:6E37 F0 0A + lda Zp90 ; CPU:$EE39 PRG:6E39 A5 90 + cmp Zp1D ; CPU:$EE3B PRG:6E3B C5 1D + bcs Sub_Loop740 ; CPU:$EE3D PRG:6E3D B0 04 + lda Zp1F ; CPU:$EE3F PRG:6E3F A5 1F + bne Sub_Loop741 ; CPU:$EE41 PRG:6E41 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop740 +; Global: Branch target inside Sub: taken when Loop740. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop740: + inc Zp90 ; CPU:$EE43 PRG:6E43 E6 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop741 +; Global: Branch target inside Sub: taken when Loop741. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop741: + rts ; CPU:$EE45 PRG:6E45 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE46 +; Global: Branch target inside Sub: taken when EE46. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE46: + lda Zp8F ; CPU:$EE46 PRG:6E46 A5 8F + cmp #$92 ; CPU:$EE48 PRG:6E48 C9 92 + beq Sub_Loop743 ; CPU:$EE4A PRG:6E4A F0 10 + lda Zp1F ; CPU:$EE4C PRG:6E4C A5 1F + beq Sub_Loop742 ; CPU:$EE4E PRG:6E4E F0 0A + lda Zp8F ; CPU:$EE50 PRG:6E50 A5 8F + cmp Zp1C ; CPU:$EE52 PRG:6E52 C5 1C + bcs Sub_Loop742 ; CPU:$EE54 PRG:6E54 B0 04 + lda Zp1E ; CPU:$EE56 PRG:6E56 A5 1E + bne Sub_Loop743 ; CPU:$EE58 PRG:6E58 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop742 +; Global: Branch target inside Sub: taken when Loop742. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop742: + inc Zp8F ; CPU:$EE5A PRG:6E5A E6 8F +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop743 +; Global: Branch target inside Sub: taken when Loop743. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop743: + rts ; CPU:$EE5C PRG:6E5C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EE5D +; Global: Branch target inside Sub: taken when EE5D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE5D: + jsr Sub_EE87 ; CPU:$EE5D PRG:6E5D 20 87 EE + cpx Zp90 ; CPU:$EE60 PRG:6E60 E4 90 + beq Sub_Loop745 ; CPU:$EE62 PRG:6E62 F0 10 + lda Zp1E ; CPU:$EE64 PRG:6E64 A5 1E + beq Sub_Loop744 ; CPU:$EE66 PRG:6E66 F0 0A + lda Zp90 ; CPU:$EE68 PRG:6E68 A5 90 + cmp Zp1D ; CPU:$EE6A PRG:6E6A C5 1D + bcc Sub_Loop744 ; CPU:$EE6C PRG:6E6C 90 04 + lda Zp1F ; CPU:$EE6E PRG:6E6E A5 1F + bne Sub_Loop745 ; CPU:$EE70 PRG:6E70 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop744 +; Global: Branch target inside Sub: taken when Loop744. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop744: + dec Zp90 ; CPU:$EE72 PRG:6E72 C6 90 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop745 +; Global: Branch target inside Sub: taken when Loop745. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop745: + rts ; CPU:$EE74 PRG:6E74 60 +; ---- data $EE75-$EE86 (18 bytes) ---- +; referenced by `lda $EE75,x` at $EDB7 (operand $EE75 falls inside this region) +; referenced by `lda $EE76,x` at $EDBC (operand $EE76 falls inside this region) + .byte $C4, $ED, $C7, $ED, $CD, $ED, $D6, $ED, $DC, $ED, $E5, $ED, $EB, $ED, $F4, $ED ; CPU:$EE75 PRG:6E75 C4 ED C7 ED CD ED D6 ED DC ED E5 ED EB ED F4 ED + .byte $FA, $ED ; CPU:$EE85 PRG:6E85 FA ED +; ----------------------------------------------------------------------------- +; Routine: Sub_EE87 +; Global: Branch target inside Sub: taken when EE87. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EE87: + ldx #$00 ; CPU:$EE87 PRG:6E87 A2 00 + lda Zp8F ; CPU:$EE89 PRG:6E89 A5 8F + cmp #$98 ; CPU:$EE8B PRG:6E8B C9 98 + bcs Sub_Loop746 ; CPU:$EE8D PRG:6E8D B0 20 + inx ; CPU:$EE8F PRG:6E8F E8 + inx ; CPU:$EE90 PRG:6E90 E8 + cmp #$88 ; CPU:$EE91 PRG:6E91 C9 88 + bcs Sub_Loop746 ; CPU:$EE93 PRG:6E93 B0 1A + inx ; CPU:$EE95 PRG:6E95 E8 + inx ; CPU:$EE96 PRG:6E96 E8 + cmp #$78 ; CPU:$EE97 PRG:6E97 C9 78 + bcs Sub_Loop746 ; CPU:$EE99 PRG:6E99 B0 14 + inx ; CPU:$EE9B PRG:6E9B E8 + inx ; CPU:$EE9C PRG:6E9C E8 + cmp #$70 ; CPU:$EE9D PRG:6E9D C9 70 + bcs Sub_Loop746 ; CPU:$EE9F PRG:6E9F B0 0E + inx ; CPU:$EEA1 PRG:6EA1 E8 + inx ; CPU:$EEA2 PRG:6EA2 E8 + cmp #$60 ; CPU:$EEA3 PRG:6EA3 C9 60 + bcs Sub_Loop746 ; CPU:$EEA5 PRG:6EA5 B0 08 + inx ; CPU:$EEA7 PRG:6EA7 E8 + inx ; CPU:$EEA8 PRG:6EA8 E8 + cmp #$50 ; CPU:$EEA9 PRG:6EA9 C9 50 + bcs Sub_Loop746 ; CPU:$EEAB PRG:6EAB B0 02 + inx ; CPU:$EEAD PRG:6EAD E8 + inx ; CPU:$EEAE PRG:6EAE E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop746 +; Global: Branch target inside Sub: taken when Loop746. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop746: + lda $EEB7,x ; CPU:$EEAF PRG:6EAF BD B7 EE + ldy $EEB8,x ; CPU:$EEB2 PRG:6EB2 BC B8 EE + tax ; CPU:$EEB5 PRG:6EB5 AA + rts ; CPU:$EEB6 PRG:6EB6 60 +; ---- data $EEB7-$EEC4 (14 bytes) ---- +; referenced by `lda $EEB7,x` at $EEAF (operand $EEB7 falls inside this region) +; referenced by `ldy $EEB8,x` at $EEB2 (operand $EEB8 falls inside this region) + .byte $27, $C9, $29, $C7, $2C, $C4, $2E, $C2, $2F, $C1, $30, $C0, $30, $C0 ; CPU:$EEB7 PRG:6EB7 27 C9 29 C7 2C C4 2E C2 2F C1 30 C0 30 C0 +; ----------------------------------------------------------------------------- +; Routine: Sub_EEC5 +; Global: Branch target inside Sub: taken when EEC5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EEC5: + ldy #$08 ; CPU:$EEC5 PRG:6EC5 A0 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero23 +; Global: Branch target inside Sub: taken when OnNonzero23. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero23: + lda #$F0 ; CPU:$EEC7 PRG:6EC7 A9 F0 + sta $0700,x ; CPU:$EEC9 PRG:6EC9 9D 00 07 + inx ; CPU:$EECC PRG:6ECC E8 + inx ; CPU:$EECD PRG:6ECD E8 + inx ; CPU:$EECE PRG:6ECE E8 + lda #$00 ; CPU:$EECF PRG:6ECF A9 00 + sta $0700,x ; CPU:$EED1 PRG:6ED1 9D 00 07 + inx ; CPU:$EED4 PRG:6ED4 E8 + dey ; CPU:$EED5 PRG:6ED5 88 + bne Sub_OnNonzero23 ; CPU:$EED6 PRG:6ED6 D0 EF + rts ; CPU:$EED8 PRG:6ED8 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EED9 +; Global: Branch target inside Sub: taken when EED9. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EED9: + sty PlayerState ; CPU:$EED9 PRG:6ED9 84 1A + stx Zp1B ; CPU:$EEDB PRG:6EDB 86 1B + ldx #$00 ; CPU:$EEDD PRG:6EDD A2 00 + lda Zp37 ; CPU:$EEDF PRG:6EDF A5 37 + and #$20 ; CPU:$EEE1 PRG:6EE1 29 20 + beq Sub_Loop747 ; CPU:$EEE3 PRG:6EE3 F0 02 + ldx #$01 ; CPU:$EEE5 PRG:6EE5 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop747 +; Global: Branch target inside Sub: taken when Loop747. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop747: + stx Zp1C ; CPU:$EEE7 PRG:6EE7 86 1C + ldx #$00 ; CPU:$EEE9 PRG:6EE9 A2 00 + ldy #$00 ; CPU:$EEEB PRG:6EEB A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_EEED +; Global: Branch target inside Sub: taken when EEED. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EEED: + lda PlayerState ; CPU:$EEED PRG:6EED A5 1A + sta $0714,x ; CPU:$EEEF PRG:6EEF 9D 14 07 + inx ; CPU:$EEF2 PRG:6EF2 E8 + lda $EF2C,y ; CPU:$EEF3 PRG:6EF3 B9 2C EF + sta $0714,x ; CPU:$EEF6 PRG:6EF6 9D 14 07 + inx ; CPU:$EEF9 PRG:6EF9 E8 + lda Zp1C ; CPU:$EEFA PRG:6EFA A5 1C + sta $0714,x ; CPU:$EEFC PRG:6EFC 9D 14 07 + inx ; CPU:$EEFF PRG:6EFF E8 + lda Zp1B ; CPU:$EF00 PRG:6F00 A5 1B + sta $0714,x ; CPU:$EF02 PRG:6F02 9D 14 07 + inx ; CPU:$EF05 PRG:6F05 E8 + iny ; CPU:$EF06 PRG:6F06 C8 + cpy #$03 ; CPU:$EF07 PRG:6F07 C0 03 + beq Sub_Loop749 ; CPU:$EF09 PRG:6F09 F0 20 + tya ; CPU:$EF0B PRG:6F0B 98 + and #$01 ; CPU:$EF0C PRG:6F0C 29 01 + beq Sub_Loop748 ; CPU:$EF0E PRG:6F0E F0 0A + lda Zp1B ; CPU:$EF10 PRG:6F10 A5 1B + clc ; CPU:$EF12 PRG:6F12 18 + adc #$08 ; CPU:$EF13 PRG:6F13 69 08 + sta Zp1B ; CPU:$EF15 PRG:6F15 85 1B + jmp Sub_EEED ; CPU:$EF17 PRG:6F17 4C ED EE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop748 +; Global: Branch target inside Sub: taken when Loop748. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop748: + lda PlayerState ; CPU:$EF1A PRG:6F1A A5 1A + clc ; CPU:$EF1C PRG:6F1C 18 + adc #$08 ; CPU:$EF1D PRG:6F1D 69 08 + sta PlayerState ; CPU:$EF1F PRG:6F1F 85 1A + lda Zp1B ; CPU:$EF21 PRG:6F21 A5 1B + sec ; CPU:$EF23 PRG:6F23 38 + sbc #$04 ; CPU:$EF24 PRG:6F24 E9 04 + sta Zp1B ; CPU:$EF26 PRG:6F26 85 1B + jmp Sub_EEED ; CPU:$EF28 PRG:6F28 4C ED EE +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop749 +; Global: Branch target inside Sub: taken when Loop749. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop749: + rts ; CPU:$EF2B PRG:6F2B 60 +; ---- data $EF2C-$EF2E (3 bytes) ---- +; referenced by `lda $EF2C,y` at $EEF3 (operand $EF2C falls inside this region) + .byte $FC, $FD, $FE ; CPU:$EF2C PRG:6F2C FC FD FE +; ----------------------------------------------------------------------------- +; Routine: Sub_EF2F +; Global: Branch target inside Sub: taken when EF2F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF2F: + lda #$F0 ; CPU:$EF2F PRG:6F2F A9 F0 + sta $0714 ; CPU:$EF31 PRG:6F31 8D 14 07 + sta $0718 ; CPU:$EF34 PRG:6F34 8D 18 07 + sta $071C ; CPU:$EF37 PRG:6F37 8D 1C 07 + rts ; CPU:$EF3A PRG:6F3A 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF3B +; Global: Branch target inside Sub: taken when EF3B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF3B: + lda #$89 ; CPU:$EF3B PRG:6F3B A9 89 + sta Zp22 ; CPU:$EF3D PRG:6F3D 85 22 + lda #$EF ; CPU:$EF3F PRG:6F3F A9 EF + sta Zp23 ; CPU:$EF41 PRG:6F41 85 23 + sty Zp8F ; CPU:$EF43 PRG:6F43 84 8F + stx Zp90 ; CPU:$EF45 PRG:6F45 86 90 + ldx #$00 ; CPU:$EF47 PRG:6F47 A2 00 + ldy #$00 ; CPU:$EF49 PRG:6F49 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF4B +; Global: Branch target inside Sub: taken when EF4B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF4B: + lda Zp8F ; CPU:$EF4B PRG:6F4B A5 8F + sta $0760,x ; CPU:$EF4D PRG:6F4D 9D 60 07 + inx ; CPU:$EF50 PRG:6F50 E8 + lda (Zp22),y ; CPU:$EF51 PRG:6F51 B1 22 + sta $0760,x ; CPU:$EF53 PRG:6F53 9D 60 07 + inx ; CPU:$EF56 PRG:6F56 E8 + lda #$03 ; CPU:$EF57 PRG:6F57 A9 03 + sta $0760,x ; CPU:$EF59 PRG:6F59 9D 60 07 + inx ; CPU:$EF5C PRG:6F5C E8 + lda Zp90 ; CPU:$EF5D PRG:6F5D A5 90 + sta $0760,x ; CPU:$EF5F PRG:6F5F 9D 60 07 + inx ; CPU:$EF62 PRG:6F62 E8 + iny ; CPU:$EF63 PRG:6F63 C8 + tya ; CPU:$EF64 PRG:6F64 98 + and #$01 ; CPU:$EF65 PRG:6F65 29 01 + bne Sub_Loop750 ; CPU:$EF67 PRG:6F67 D0 15 + cpy #$04 ; CPU:$EF69 PRG:6F69 C0 04 + beq Sub_Loop751 ; CPU:$EF6B PRG:6F6B F0 1B + lda Zp8F ; CPU:$EF6D PRG:6F6D A5 8F + clc ; CPU:$EF6F PRG:6F6F 18 + adc #$08 ; CPU:$EF70 PRG:6F70 69 08 + sta Zp8F ; CPU:$EF72 PRG:6F72 85 8F + lda Zp90 ; CPU:$EF74 PRG:6F74 A5 90 + sec ; CPU:$EF76 PRG:6F76 38 + sbc #$08 ; CPU:$EF77 PRG:6F77 E9 08 + sta Zp90 ; CPU:$EF79 PRG:6F79 85 90 + jmp Sub_EF4B ; CPU:$EF7B PRG:6F7B 4C 4B EF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop750 +; Global: Branch target inside Sub: taken when Loop750. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop750: + lda Zp90 ; CPU:$EF7E PRG:6F7E A5 90 + clc ; CPU:$EF80 PRG:6F80 18 + adc #$08 ; CPU:$EF81 PRG:6F81 69 08 + sta Zp90 ; CPU:$EF83 PRG:6F83 85 90 + jmp Sub_EF4B ; CPU:$EF85 PRG:6F85 4C 4B EF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop751 +; Global: Branch target inside Sub: taken when Loop751. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop751: + rts ; CPU:$EF88 PRG:6F88 60 +; ---- data $EF89-$EF8C (4 bytes) ---- + .byte $F3, $F4, $F5, $F6 ; CPU:$EF89 PRG:6F89 F3 F4 F5 F6 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF8D +; Global: Branch target inside Sub: taken when EF8D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF8D: + tya ; CPU:$EF8D PRG:6F8D 98 + clc ; CPU:$EF8E PRG:6F8E 18 + adc #$0C ; CPU:$EF8F PRG:6F8F 69 0C + sta Zp8F ; CPU:$EF91 PRG:6F91 85 8F + txa ; CPU:$EF93 PRG:6F93 8A + clc ; CPU:$EF94 PRG:6F94 18 + adc #$0C ; CPU:$EF95 PRG:6F95 69 0C + sta Zp90 ; CPU:$EF97 PRG:6F97 85 90 + ldx #$00 ; CPU:$EF99 PRG:6F99 A2 00 + ldy #$00 ; CPU:$EF9B PRG:6F9B A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_EF9D +; Global: Branch target inside Sub: taken when EF9D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EF9D: + lda Zp8F ; CPU:$EF9D PRG:6F9D A5 8F + sta $0720,x ; CPU:$EF9F PRG:6F9F 9D 20 07 + inx ; CPU:$EFA2 PRG:6FA2 E8 + lda $EFCD,y ; CPU:$EFA3 PRG:6FA3 B9 CD EF + sta $0720,x ; CPU:$EFA6 PRG:6FA6 9D 20 07 + inx ; CPU:$EFA9 PRG:6FA9 E8 + lda #$02 ; CPU:$EFAA PRG:6FAA A9 02 + sta $0720,x ; CPU:$EFAC PRG:6FAC 9D 20 07 + inx ; CPU:$EFAF PRG:6FAF E8 + lda Zp90 ; CPU:$EFB0 PRG:6FB0 A5 90 + sta $0720,x ; CPU:$EFB2 PRG:6FB2 9D 20 07 + inx ; CPU:$EFB5 PRG:6FB5 E8 + iny ; CPU:$EFB6 PRG:6FB6 C8 + cpy #$03 ; CPU:$EFB7 PRG:6FB7 C0 03 + beq Sub_Loop752 ; CPU:$EFB9 PRG:6FB9 F0 11 + lda Zp8F ; CPU:$EFBB PRG:6FBB A5 8F + clc ; CPU:$EFBD PRG:6FBD 18 + adc #$08 ; CPU:$EFBE PRG:6FBE 69 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnZero3 +; Global: Branch target inside Sub: taken when OnZero3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnZero3: + sta Zp8F ; CPU:$EFC0 PRG:6FC0 85 8F + lda Zp90 ; CPU:$EFC2 PRG:6FC2 A5 90 + sec ; CPU:$EFC4 PRG:6FC4 38 + sbc #$04 ; CPU:$EFC5 PRG:6FC5 E9 04 + sta Zp90 ; CPU:$EFC7 PRG:6FC7 85 90 + jmp Sub_EF9D ; CPU:$EFC9 PRG:6FC9 4C 9D EF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop752 +; Global: Branch target inside Sub: taken when Loop752. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop752: + rts ; CPU:$EFCC PRG:6FCC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_EFCD +; Global: Branch target inside Label: taken when EFCD. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFCD: + beq Sub_OnZero3 ; CPU:$EFCD PRG:6FCD F0 F1 +; ----------------------------------------------------------------------------- +; Routine: Label_EFCF +; Global: Branch target inside Label: taken when EFCF. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_EFCF: + sbc (SpriteY),y ; CPU:$EFCF PRG:6FCF F1 98 + clc ; CPU:$EFD1 PRG:6FD1 18 + adc #$0C ; CPU:$EFD2 PRG:6FD2 69 0C + sta Zp8F ; CPU:$EFD4 PRG:6FD4 85 8F + txa ; CPU:$EFD6 PRG:6FD6 8A + sec ; CPU:$EFD7 PRG:6FD7 38 + sbc #$04 ; CPU:$EFD8 PRG:6FD8 E9 04 + sta Zp90 ; CPU:$EFDA PRG:6FDA 85 90 + ldx #$00 ; CPU:$EFDC PRG:6FDC A2 00 + ldy #$00 ; CPU:$EFDE PRG:6FDE A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_EFE0 +; Global: Branch target inside Sub: taken when EFE0. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_EFE0: + lda Zp8F ; CPU:$EFE0 PRG:6FE0 A5 8F + sta $0730,x ; CPU:$EFE2 PRG:6FE2 9D 30 07 + inx ; CPU:$EFE5 PRG:6FE5 E8 + lda $EFCD,y ; CPU:$EFE6 PRG:6FE6 B9 CD EF + sta $0730,x ; CPU:$EFE9 PRG:6FE9 9D 30 07 + inx ; CPU:$EFEC PRG:6FEC E8 + lda #$42 ; CPU:$EFED PRG:6FED A9 42 + sta $0730,x ; CPU:$EFEF PRG:6FEF 9D 30 07 + inx ; CPU:$EFF2 PRG:6FF2 E8 + lda Zp90 ; CPU:$EFF3 PRG:6FF3 A5 90 + sta $0730,x ; CPU:$EFF5 PRG:6FF5 9D 30 07 + inx ; CPU:$EFF8 PRG:6FF8 E8 + iny ; CPU:$EFF9 PRG:6FF9 C8 + cpy #$03 ; CPU:$EFFA PRG:6FFA C0 03 + beq Sub_Loop753 ; CPU:$EFFC PRG:6FFC F0 11 + lda Zp8F ; CPU:$EFFE PRG:6FFE A5 8F + clc ; CPU:$F000 PRG:7000 18 + adc #$08 ; CPU:$F001 PRG:7001 69 08 + sta Zp8F ; CPU:$F003 PRG:7003 85 8F + lda Zp90 ; CPU:$F005 PRG:7005 A5 90 + clc ; CPU:$F007 PRG:7007 18 + adc #$04 ; CPU:$F008 PRG:7008 69 04 + sta Zp90 ; CPU:$F00A PRG:700A 85 90 + jmp Sub_EFE0 ; CPU:$F00C PRG:700C 4C E0 EF +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop753 +; Global: Branch target inside Sub: taken when Loop753. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop753: + rts ; CPU:$F00F PRG:700F 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F010 +; Global: Branch target inside Sub: taken when F010. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F010: + lda #$F0 ; CPU:$F010 PRG:7010 A9 F0 + sta $0720 ; CPU:$F012 PRG:7012 8D 20 07 + sta $0724 ; CPU:$F015 PRG:7015 8D 24 07 + sta $0728 ; CPU:$F018 PRG:7018 8D 28 07 + rts ; CPU:$F01B PRG:701B 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F01C +; Global: Branch target inside Sub: taken when F01C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F01C: + lda #$F0 ; CPU:$F01C PRG:701C A9 F0 + sta $0730 ; CPU:$F01E PRG:701E 8D 30 07 + sta $0734 ; CPU:$F021 PRG:7021 8D 34 07 + sta $0738 ; CPU:$F024 PRG:7024 8D 38 07 + rts ; CPU:$F027 PRG:7027 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F028 +; Global: Branch target inside Sub: taken when F028. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F028: + lda Zp84 ; CPU:$F028 PRG:7028 A5 84 + asl a ; CPU:$F02A PRG:702A 0A + sta ZpB1 ; CPU:$F02B PRG:702B 85 B1 + asl a ; CPU:$F02D PRG:702D 0A + asl a ; CPU:$F02E PRG:702E 0A + clc ; CPU:$F02F PRG:702F 18 + adc ZpB1 ; CPU:$F030 PRG:7030 65 B1 + clc ; CPU:$F032 PRG:7032 18 + adc Zp83 ; CPU:$F033 PRG:7033 65 83 + rts ; CPU:$F035 PRG:7035 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F036 +; Global: Branch target inside Sub: taken when F036. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F036: + ldx Zp7B ; CPU:$F036 PRG:7036 A6 7B + bmi Sub_Loop754 ; CPU:$F038 PRG:7038 30 02 + sta ZpD0 ; CPU:$F03A PRG:703A 85 D0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop754 +; Global: Branch target inside Sub: taken when Loop754. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop754: + rts ; CPU:$F03C PRG:703C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F03D +; Global: Branch target inside Sub: taken when F03D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F03D: + ldx Zp7B ; CPU:$F03D PRG:703D A6 7B + bmi Sub_Loop755 ; CPU:$F03F PRG:703F 30 17 + pha ; CPU:$F041 PRG:7041 48 + jsr Sub_FD1C ; CPU:$F042 PRG:7042 20 1C FD + lda PpuCtrlShadow ; CPU:$F045 PRG:7045 A5 0D + and #$7F ; CPU:$F047 PRG:7047 29 7F + sta PPUCTRL ; CPU:$F049 PRG:7049 8D 00 20 + pla ; CPU:$F04C PRG:704C 68 + jsr Sub_8000 ; CPU:$F04D PRG:704D 20 00 80 + jsr Sub_FD1C ; CPU:$F050 PRG:7050 20 1C FD + lda PpuCtrlShadow ; CPU:$F053 PRG:7053 A5 0D + sta PPUCTRL ; CPU:$F055 PRG:7055 8D 00 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop755 +; Global: Branch target inside Sub: taken when Loop755. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop755: + rts ; CPU:$F058 PRG:7058 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F059 +; Global: Branch target inside Sub: taken when F059. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F059: + ldx #$20 ; CPU:$F059 PRG:7059 A2 20 + ldy #$C0 ; CPU:$F05B PRG:705B A0 C0 + jsr Sub_FD34 ; CPU:$F05D PRG:705D 20 34 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero24 +; Global: Branch target inside Sub: taken when OnNonzero24. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero24: + lda #$00 ; CPU:$F060 PRG:7060 A9 00 + sta PPUDATA ; CPU:$F062 PRG:7062 8D 07 20 + iny ; CPU:$F065 PRG:7065 C8 + bne Sub_Loop756 ; CPU:$F066 PRG:7066 D0 01 + inx ; CPU:$F068 PRG:7068 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop756 +; Global: Branch target inside Sub: taken when Loop756. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop756: + txa ; CPU:$F069 PRG:7069 8A + and #$03 ; CPU:$F06A PRG:706A 29 03 + bne Sub_OnNonzero24 ; CPU:$F06C PRG:706C D0 F2 + tya ; CPU:$F06E PRG:706E 98 + bne Sub_OnNonzero24 ; CPU:$F06F PRG:706F D0 EF + jsr Sub_FD37 ; CPU:$F071 PRG:7071 20 37 FD + ldx #$23 ; CPU:$F074 PRG:7074 A2 23 + ldy #$C3 ; CPU:$F076 PRG:7076 A0 C3 + jsr Sub_FD34 ; CPU:$F078 PRG:7078 20 34 FD + lda #$50 ; CPU:$F07B PRG:707B A9 50 + sta PPUDATA ; CPU:$F07D PRG:707D 8D 07 20 + lda #$10 ; CPU:$F080 PRG:7080 A9 10 + sta PPUDATA ; CPU:$F082 PRG:7082 8D 07 20 + ldx #$23 ; CPU:$F085 PRG:7085 A2 23 + ldy #$CB ; CPU:$F087 PRG:7087 A0 CB + jsr Sub_FD34 ; CPU:$F089 PRG:7089 20 34 FD + lda #$0F ; CPU:$F08C PRG:708C A9 0F + sta PPUDATA ; CPU:$F08E PRG:708E 8D 07 20 + lda #$03 ; CPU:$F091 PRG:7091 A9 03 + sta PPUDATA ; CPU:$F093 PRG:7093 8D 07 20 + ldx #$23 ; CPU:$F096 PRG:7096 A2 23 + ldy #$D2 ; CPU:$F098 PRG:7098 A0 D2 + jsr Sub_FD34 ; CPU:$F09A PRG:709A 20 34 FD + lda #$FF ; CPU:$F09D PRG:709D A9 FF + sta PPUDATA ; CPU:$F09F PRG:709F 8D 07 20 + sta PPUDATA ; CPU:$F0A2 PRG:70A2 8D 07 20 + sta PPUDATA ; CPU:$F0A5 PRG:70A5 8D 07 20 + sta PPUDATA ; CPU:$F0A8 PRG:70A8 8D 07 20 + ldx #$23 ; CPU:$F0AB PRG:70AB A2 23 + ldy #$E2 ; CPU:$F0AD PRG:70AD A0 E2 + jsr Sub_FD34 ; CPU:$F0AF PRG:70AF 20 34 FD + lda #$FF ; CPU:$F0B2 PRG:70B2 A9 FF + sta PPUDATA ; CPU:$F0B4 PRG:70B4 8D 07 20 + sta PPUDATA ; CPU:$F0B7 PRG:70B7 8D 07 20 + rts ; CPU:$F0BA PRG:70BA 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F0BB +; Global: Branch target inside Sub: taken when F0BB. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F0BB: + ldx #$AE ; CPU:$F0BB PRG:70BB A2 AE + ldy #$83 ; CPU:$F0BD PRG:70BD A0 83 + lda Zp83 ; CPU:$F0BF PRG:70BF A5 83 + cmp #$01 ; CPU:$F0C1 PRG:70C1 C9 01 + beq Sub_Loop757 ; CPU:$F0C3 PRG:70C3 F0 0C + ldx #$AE ; CPU:$F0C5 PRG:70C5 A2 AE + ldy #$91 ; CPU:$F0C7 PRG:70C7 A0 91 + cmp #$02 ; CPU:$F0C9 PRG:70C9 C9 02 + beq Sub_Loop757 ; CPU:$F0CB PRG:70CB F0 04 + ldx #$AE ; CPU:$F0CD PRG:70CD A2 AE + ldy #$A0 ; CPU:$F0CF PRG:70CF A0 A0 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop757 +; Global: Branch target inside Sub: taken when Loop757. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop757: + jsr Sub_FD3A ; CPU:$F0D1 PRG:70D1 20 3A FD + rts ; CPU:$F0D4 PRG:70D4 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F0D5 +; Global: Branch target inside Sub: taken when F0D5. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F0D5: + ldx #$22 ; CPU:$F0D5 PRG:70D5 A2 22 + ldy #$08 ; CPU:$F0D7 PRG:70D7 A0 08 + jsr Sub_FD34 ; CPU:$F0D9 PRG:70D9 20 34 FD + ldx #$00 ; CPU:$F0DC PRG:70DC A2 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero25 +; Global: Branch target inside Sub: taken when OnNonzero25. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero25: + lda $F119,x ; CPU:$F0DE PRG:70DE BD 19 F1 + sta PPUDATA ; CPU:$F0E1 PRG:70E1 8D 07 20 + inx ; CPU:$F0E4 PRG:70E4 E8 + cpx #$08 ; CPU:$F0E5 PRG:70E5 E0 08 + bne Sub_OnNonzero25 ; CPU:$F0E7 PRG:70E7 D0 F5 + lda PlayerY ; CPU:$F0E9 PRG:70E9 A5 34 + clc ; CPU:$F0EB PRG:70EB 18 + adc #$10 ; CPU:$F0EC PRG:70EC 69 10 + sta PPUDATA ; CPU:$F0EE PRG:70EE 8D 07 20 + lda #$2D ; CPU:$F0F1 PRG:70F1 A9 2D + sta PPUDATA ; CPU:$F0F3 PRG:70F3 8D 07 20 + lda #$0E ; CPU:$F0F6 PRG:70F6 A9 0E + sta PPUDATA ; CPU:$F0F8 PRG:70F8 8D 07 20 + lda PlayerX ; CPU:$F0FB PRG:70FB A5 33 + clc ; CPU:$F0FD PRG:70FD 18 + adc #$10 ; CPU:$F0FE PRG:70FE 69 10 + sta PPUDATA ; CPU:$F100 PRG:7100 8D 07 20 + lda PlayerTile ; CPU:$F103 PRG:7103 A5 32 + clc ; CPU:$F105 PRG:7105 18 + adc #$10 ; CPU:$F106 PRG:7106 69 10 + sta PPUDATA ; CPU:$F108 PRG:7108 8D 07 20 + lda #$33 ; CPU:$F10B PRG:710B A9 33 + sta PPUDATA ; CPU:$F10D PRG:710D 8D 07 20 + lda #$0E ; CPU:$F110 PRG:7110 A9 0E + sta PPUDATA ; CPU:$F112 PRG:7112 8D 07 20 + jsr Sub_FD37 ; CPU:$F115 PRG:7115 20 37 FD + rts ; CPU:$F118 PRG:7118 60 +; ---- data $F119-$F120 (8 bytes) ---- +; referenced by `lda $F119,x` at $F0DE (operand $F119 falls inside this region) + .byte $34, $29, $2D, $25, $00, $00, $1D, $00 ; CPU:$F119 PRG:7119 34 29 2D 25 00 00 1D 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_F121 +; Global: Branch target inside Sub: taken when F121. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F121: + lda Zp87 ; CPU:$F121 PRG:7121 A5 87 + beq Sub_Loop759 ; CPU:$F123 PRG:7123 F0 18 + pha ; CPU:$F125 PRG:7125 48 + ldx #$20 ; CPU:$F126 PRG:7126 A2 20 + ldy #$7B ; CPU:$F128 PRG:7128 A0 7B + jsr Sub_FD34 ; CPU:$F12A PRG:712A 20 34 FD + pla ; CPU:$F12D PRG:712D 68 + tay ; CPU:$F12E PRG:712E A8 + lda #$DF ; CPU:$F12F PRG:712F A9 DF + sta PPUDATA ; CPU:$F131 PRG:7131 8D 07 20 + dey ; CPU:$F134 PRG:7134 88 + beq Sub_Loop758 ; CPU:$F135 PRG:7135 F0 03 + sta PPUDATA ; CPU:$F137 PRG:7137 8D 07 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop758 +; Global: Branch target inside Sub: taken when Loop758. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop758: + jsr Sub_FD37 ; CPU:$F13A PRG:713A 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop759 +; Global: Branch target inside Sub: taken when Loop759. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop759: + lda Zp88 ; CPU:$F13D PRG:713D A5 88 + beq Sub_Loop761 ; CPU:$F13F PRG:713F F0 18 + pha ; CPU:$F141 PRG:7141 48 + ldx #$20 ; CPU:$F142 PRG:7142 A2 20 + ldy #$9B ; CPU:$F144 PRG:7144 A0 9B + jsr Sub_FD34 ; CPU:$F146 PRG:7146 20 34 FD + pla ; CPU:$F149 PRG:7149 68 + tay ; CPU:$F14A PRG:714A A8 + lda #$DF ; CPU:$F14B PRG:714B A9 DF + sta PPUDATA ; CPU:$F14D PRG:714D 8D 07 20 + dey ; CPU:$F150 PRG:7150 88 + beq Sub_Loop760 ; CPU:$F151 PRG:7151 F0 03 + sta PPUDATA ; CPU:$F153 PRG:7153 8D 07 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop760 +; Global: Branch target inside Sub: taken when Loop760. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop760: + jsr Sub_FD37 ; CPU:$F156 PRG:7156 20 37 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop761 +; Global: Branch target inside Sub: taken when Loop761. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop761: + rts ; CPU:$F159 PRG:7159 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F15A +; Global: Branch target inside Sub: taken when F15A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F15A: + ldx #$00 ; CPU:$F15A PRG:715A A2 00 + lda Zp12 ; CPU:$F15C PRG:715C A5 12 + cmp #$0A ; CPU:$F15E PRG:715E C9 0A + bne Sub_Loop763 ; CPU:$F160 PRG:7160 D0 2B + stx Zp8E ; CPU:$F162 PRG:7162 86 8E + lda ZpAC ; CPU:$F164 PRG:7164 A5 AC + and #$08 ; CPU:$F166 PRG:7166 29 08 + beq Sub_Loop762 ; CPU:$F168 PRG:7168 F0 02 + inc Zp8E ; CPU:$F16A PRG:716A E6 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop762 +; Global: Branch target inside Sub: taken when Loop762. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop762: + lda #$80 ; CPU:$F16C PRG:716C A9 80 + sta Zp91 ; CPU:$F16E PRG:716E 85 91 + ldx #$50 ; CPU:$F170 PRG:7170 A2 50 + ldy #$90 ; CPU:$F172 PRG:7172 A0 90 + lda #$00 ; CPU:$F174 PRG:7174 A9 00 + jsr Sub_EADE ; CPU:$F176 PRG:7176 20 DE EA + inc Zp8E ; CPU:$F179 PRG:7179 E6 8E + inc Zp8E ; CPU:$F17B PRG:717B E6 8E + lda #$A0 ; CPU:$F17D PRG:717D A9 A0 + sta Zp91 ; CPU:$F17F PRG:717F 85 91 + ldx #$A0 ; CPU:$F181 PRG:7181 A2 A0 + ldy #$90 ; CPU:$F183 PRG:7183 A0 90 + lda #$00 ; CPU:$F185 PRG:7185 A9 00 + jsr Sub_EADE ; CPU:$F187 PRG:7187 20 DE EA + inc ZpAC ; CPU:$F18A PRG:718A E6 AC + rts ; CPU:$F18C PRG:718C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop763 +; Global: Branch target inside Sub: taken when Loop763. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop763: + lda #$00 ; CPU:$F18D PRG:718D A9 00 + jmp Sub_F196 ; CPU:$F18F PRG:718F 4C 96 F1 +; ----------------------------------------------------------------------------- +; Routine: Sub_F192 +; Global: Branch target inside Sub: taken when F192. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F192: + ldx #$04 ; CPU:$F192 PRG:7192 A2 04 + lda #$01 ; CPU:$F194 PRG:7194 A9 01 +; ----------------------------------------------------------------------------- +; Routine: Sub_F196 +; Global: Branch target inside Sub: taken when F196. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F196: + stx Zp8E ; CPU:$F196 PRG:7196 86 8E + sta Zp21 ; CPU:$F198 PRG:7198 85 21 + lda ZpAC ; CPU:$F19A PRG:719A A5 AC + and #$08 ; CPU:$F19C PRG:719C 29 08 + beq Sub_Loop764 ; CPU:$F19E PRG:719E F0 02 + inc Zp8E ; CPU:$F1A0 PRG:71A0 E6 8E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop764 +; Global: Branch target inside Sub: taken when Loop764. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop764: + lda #$80 ; CPU:$F1A2 PRG:71A2 A9 80 + sta Zp91 ; CPU:$F1A4 PRG:71A4 85 91 + ldy #$B0 ; CPU:$F1A6 PRG:71A6 A0 B0 + ldx #$70 ; CPU:$F1A8 PRG:71A8 A2 70 + lda Zp21 ; CPU:$F1AA PRG:71AA A5 21 + jsr Sub_EADE ; CPU:$F1AC PRG:71AC 20 DE EA + inc Zp8E ; CPU:$F1AF PRG:71AF E6 8E + inc Zp8E ; CPU:$F1B1 PRG:71B1 E6 8E + lda #$A0 ; CPU:$F1B3 PRG:71B3 A9 A0 + sta Zp91 ; CPU:$F1B5 PRG:71B5 85 91 + ldy #$B0 ; CPU:$F1B7 PRG:71B7 A0 B0 + ldx #$88 ; CPU:$F1B9 PRG:71B9 A2 88 + lda Zp21 ; CPU:$F1BB PRG:71BB A5 21 + jsr Sub_EADE ; CPU:$F1BD PRG:71BD 20 DE EA + inc ZpAC ; CPU:$F1C0 PRG:71C0 E6 AC + rts ; CPU:$F1C2 PRG:71C2 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F1C3 +; Global: Branch target inside Sub: taken when F1C3. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F1C3: + sty Zp22 ; CPU:$F1C3 PRG:71C3 84 22 + stx Zp23 ; CPU:$F1C5 PRG:71C5 86 23 + ldy #$00 ; CPU:$F1C7 PRG:71C7 A0 00 + lda (Zp22),y ; CPU:$F1C9 PRG:71C9 B1 22 + sta Zp24 ; CPU:$F1CB PRG:71CB 85 24 + iny ; CPU:$F1CD PRG:71CD C8 + lda (Zp22),y ; CPU:$F1CE PRG:71CE B1 22 + sta Zp25 ; CPU:$F1D0 PRG:71D0 85 25 + iny ; CPU:$F1D2 PRG:71D2 C8 + lda (Zp22),y ; CPU:$F1D3 PRG:71D3 B1 22 + pha ; CPU:$F1D5 PRG:71D5 48 + iny ; CPU:$F1D6 PRG:71D6 C8 + lda (Zp22),y ; CPU:$F1D7 PRG:71D7 B1 22 + tax ; CPU:$F1D9 PRG:71D9 AA + pla ; CPU:$F1DA PRG:71DA 68 + tay ; CPU:$F1DB PRG:71DB A8 + jsr Sub_FD34 ; CPU:$F1DC PRG:71DC 20 34 FD + ldy #$01 ; CPU:$F1DF PRG:71DF A0 01 + lda (Zp24),y ; CPU:$F1E1 PRG:71E1 B1 24 + beq Sub_Loop765 ; CPU:$F1E3 PRG:71E3 F0 03 + clc ; CPU:$F1E5 PRG:71E5 18 + adc #$10 ; CPU:$F1E6 PRG:71E6 69 10 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop765 +; Global: Branch target inside Sub: taken when Loop765. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop765: + sta PPUDATA ; CPU:$F1E8 PRG:71E8 8D 07 20 + dey ; CPU:$F1EB PRG:71EB 88 + lda (Zp24),y ; CPU:$F1EC PRG:71EC B1 24 + clc ; CPU:$F1EE PRG:71EE 18 + adc #$10 ; CPU:$F1EF PRG:71EF 69 10 + sta PPUDATA ; CPU:$F1F1 PRG:71F1 8D 07 20 + lda #$32 ; CPU:$F1F4 PRG:71F4 A9 32 + sta PPUDATA ; CPU:$F1F6 PRG:71F6 8D 07 20 + jsr Sub_FD37 ; CPU:$F1F9 PRG:71F9 20 37 FD + rts ; CPU:$F1FC PRG:71FC 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F1FD +; Global: Branch target inside Sub: taken when F1FD. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F1FD: + ldx Zp83 ; CPU:$F1FD PRG:71FD A6 83 + ldy Zp84 ; CPU:$F1FF PRG:71FF A4 84 + inx ; CPU:$F201 PRG:7201 E8 + cpx #$0A ; CPU:$F202 PRG:7202 E0 0A + bcc Sub_Loop766 ; CPU:$F204 PRG:7204 90 0B + ldx #$00 ; CPU:$F206 PRG:7206 A2 00 + iny ; CPU:$F208 PRG:7208 C8 + cpy #$0A ; CPU:$F209 PRG:7209 C0 0A + bcc Sub_Loop766 ; CPU:$F20B PRG:720B 90 04 + ldx #$01 ; CPU:$F20D PRG:720D A2 01 + ldy #$00 ; CPU:$F20F PRG:720F A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop766 +; Global: Branch target inside Sub: taken when Loop766. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop766: + stx Zp83 ; CPU:$F211 PRG:7211 86 83 + sty Zp84 ; CPU:$F213 PRG:7213 84 84 + cpy Zp7E ; CPU:$F215 PRG:7215 C4 7E + beq Sub_Loop767 ; CPU:$F217 PRG:7217 F0 05 + bcs Sub_Loop768 ; CPU:$F219 PRG:7219 B0 07 + jmp Sub_Loop769 ; CPU:$F21B PRG:721B 4C 26 F2 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop767 +; Global: Branch target inside Sub: taken when Loop767. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop767: + cpx Zp7D ; CPU:$F21E PRG:721E E4 7D + bcc Sub_Loop769 ; CPU:$F220 PRG:7220 90 04 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop768 +; Global: Branch target inside Sub: taken when Loop768. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop768: + stx Zp7D ; CPU:$F222 PRG:7222 86 7D + sty Zp7E ; CPU:$F224 PRG:7224 84 7E +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop769 +; Global: Branch target inside Sub: taken when Loop769. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_Loop769: + rts ; CPU:$F226 PRG:7226 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_F227 +; Global: Branch target inside Sub: taken when F227. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_F227: + tax ; CPU:$F227 PRG:7227 AA +; ----------------------------------------------------------------------------- +; Routine: Sub_OnNonzero26 +; Global: Branch target inside Sub: taken when OnNonzero26. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_OnNonzero26: + jsr Sub_FD19 ; CPU:$F228 PRG:7228 20 19 FD + dex ; CPU:$F22B PRG:722B CA + bne Sub_OnNonzero26 ; CPU:$F22C PRG:722C D0 FA + rts ; CPU:$F22E PRG:722E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F22F ; Global: Branch target inside Sub: taken when F22F. @@ -3258,29 +19989,29 @@ Sub_BACF: Sub_F22F: lda Zp12 ; CPU:$F22F PRG:722F A5 12 cmp #$08 ; CPU:$F231 PRG:7231 C9 08 - beq Sub_Loop62 ; CPU:$F233 PRG:7233 F0 03 - jmp Sub_Loop64 ; CPU:$F235 PRG:7235 4C CA F2 + beq Sub_Loop770 ; CPU:$F233 PRG:7233 F0 03 + jmp Sub_Loop773 ; CPU:$F235 PRG:7235 4C CA F2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop62 -; Global: Branch target inside Sub: taken when Loop62. +; Routine: Sub_Loop770 +; Global: Branch target inside Sub: taken when Loop770. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop62: +Sub_Loop770: lda Zp8A ; CPU:$F238 PRG:7238 A5 8A - bne Sub_Loop63 ; CPU:$F23A PRG:723A D0 03 - jmp Sub_F2C4 ; CPU:$F23C PRG:723C 4C C4 F2 + bne Sub_Loop771 ; CPU:$F23A PRG:723A D0 03 + jmp Sub_Loop772 ; CPU:$F23C PRG:723C 4C C4 F2 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop63 -; Global: Branch target inside Sub: taken when Loop63. +; Routine: Sub_Loop771 +; Global: Branch target inside Sub: taken when Loop771. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop63: +Sub_Loop771: jsr Sub_BACF ; CPU:$F23F PRG:723F 20 CF BA lda ZpAC ; CPU:$F242 PRG:7242 A5 AC and #$07 ; CPU:$F244 PRG:7244 29 07 @@ -3291,53 +20022,166 @@ Sub_Loop63: lda $F2D7,x ; CPU:$F24D PRG:724D BD D7 F2 sta Zp23 ; CPU:$F250 PRG:7250 85 23 jmp (Zp22) ; CPU:$F252 PRG:7252 6C 22 00 -; ---- data $F255-$F2C3 (111 bytes) ---- - .byte $20, $F6, $E5, $A5, $36, $30, $68, $A5, $3E, $30, $64, $A4, $6B, $A6, $6C, $20 ; CPU:$F255 PRG:7255 20 F6 E5 A5 36 30 68 A5 3E 30 64 A4 6B A6 6C 20 - .byte $34, $FD, $A9, $FF, $8D, $07, $20, $20, $37, $FD, $4C, $C4, $F2, $20, $36, $E6 ; CPU:$F265 PRG:7265 34 FD A9 FF 8D 07 20 20 37 FD 4C C4 F2 20 36 E6 - .byte $A5, $3E, $10, $4B, $20, $65, $E3, $4C, $C4, $F2, $20, $CE, $E8, $A5, $36, $10 ; CPU:$F275 PRG:7275 A5 3E 10 4B 20 65 E3 4C C4 F2 20 CE E8 A5 36 10 - .byte $3E, $20, $B3, $E8, $4C, $C4, $F2, $20, $19, $DC, $A2, $F2, $A0, $E6, $20, $C3 ; CPU:$F285 PRG:7285 3E 20 B3 E8 4C C4 F2 20 19 DC A2 F2 A0 E6 20 C3 - .byte $F1, $4C, $C4, $F2, $20, $AA, $E1, $A5, $7B, $29, $20, $D0, $22, $A2, $F2, $A0 ; CPU:$F295 PRG:7295 F1 4C C4 F2 20 AA E1 A5 7B 29 20 D0 22 A2 F2 A0 - .byte $EA, $20, $C3, $F1, $4C, $C4, $F2, $20, $C1, $E5, $A5, $7B, $29, $20, $F0, $0F ; CPU:$F2A5 PRG:72A5 EA 20 C3 F1 4C C4 F2 20 C1 E5 A5 7B 29 20 F0 0F - .byte $20, $21, $F1, $4C, $C4, $F2, $20, $FF, $E6, $4C, $C4, $F2, $20, $71, $E8 ; CPU:$F2B5 PRG:72B5 20 21 F1 4C C4 F2 20 FF E6 4C C4 F2 20 71 E8 ; ----------------------------------------------------------------------------- -; Routine: Sub_F2C4 -; Global: Branch target inside Sub: taken when F2C4. +; Routine: Label_F255 +; Global: Branch target inside Label: taken when F255. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F255: + jsr Sub_E5F6 ; CPU:$F255 PRG:7255 20 F6 E5 + lda GameState ; CPU:$F258 PRG:7258 A5 36 + bmi Sub_Loop772 ; CPU:$F25A PRG:725A 30 68 + lda Zp3E ; CPU:$F25C PRG:725C A5 3E + bmi Sub_Loop772 ; CPU:$F25E PRG:725E 30 64 + ldy Zp6B ; CPU:$F260 PRG:7260 A4 6B + ldx Zp6C ; CPU:$F262 PRG:7262 A6 6C + jsr Sub_FD34 ; CPU:$F264 PRG:7264 20 34 FD + lda #$FF ; CPU:$F267 PRG:7267 A9 FF + sta PPUDATA ; CPU:$F269 PRG:7269 8D 07 20 + jsr Sub_FD37 ; CPU:$F26C PRG:726C 20 37 FD + jmp Sub_Loop772 ; CPU:$F26F PRG:726F 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F272 +; Global: Branch target inside Label: taken when F272. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F272: + jsr Sub_E636 ; CPU:$F272 PRG:7272 20 36 E6 + lda Zp3E ; CPU:$F275 PRG:7275 A5 3E + bpl Sub_Loop772 ; CPU:$F277 PRG:7277 10 4B + jsr Sub_E365 ; CPU:$F279 PRG:7279 20 65 E3 + jmp Sub_Loop772 ; CPU:$F27C PRG:727C 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F27F +; Global: Branch target inside Label: taken when F27F. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F27F: + jsr Sub_E8CE ; CPU:$F27F PRG:727F 20 CE E8 + lda GameState ; CPU:$F282 PRG:7282 A5 36 + bpl Sub_Loop772 ; CPU:$F284 PRG:7284 10 3E + jsr Sub_E8B3 ; CPU:$F286 PRG:7286 20 B3 E8 + jmp Sub_Loop772 ; CPU:$F289 PRG:7289 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F28C +; Global: Branch target inside Label: taken when F28C. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F28C: + jsr Sub_DC19 ; CPU:$F28C PRG:728C 20 19 DC + ldx #$F2 ; CPU:$F28F PRG:728F A2 F2 + ldy #$E6 ; CPU:$F291 PRG:7291 A0 E6 + jsr Sub_F1C3 ; CPU:$F293 PRG:7293 20 C3 F1 + jmp Sub_Loop772 ; CPU:$F296 PRG:7296 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F299 +; Global: Branch target inside Label: taken when F299. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F299: + jsr Sub_E1AA ; CPU:$F299 PRG:7299 20 AA E1 + lda Zp7B ; CPU:$F29C PRG:729C A5 7B + and #$20 ; CPU:$F29E PRG:729E 29 20 + bne Sub_Loop772 ; CPU:$F2A0 PRG:72A0 D0 22 + ldx #$F2 ; CPU:$F2A2 PRG:72A2 A2 F2 + ldy #$EA ; CPU:$F2A4 PRG:72A4 A0 EA + jsr Sub_F1C3 ; CPU:$F2A6 PRG:72A6 20 C3 F1 + jmp Sub_Loop772 ; CPU:$F2A9 PRG:72A9 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F2AC +; Global: Branch target inside Label: taken when F2AC. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F2AC: + jsr Sub_E5C1 ; CPU:$F2AC PRG:72AC 20 C1 E5 + lda Zp7B ; CPU:$F2AF PRG:72AF A5 7B + and #$20 ; CPU:$F2B1 PRG:72B1 29 20 + beq Sub_Loop772 ; CPU:$F2B3 PRG:72B3 F0 0F + jsr Sub_F121 ; CPU:$F2B5 PRG:72B5 20 21 F1 + jmp Sub_Loop772 ; CPU:$F2B8 PRG:72B8 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F2BB +; Global: Branch target inside Label: taken when F2BB. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F2BB: + jsr Sub_E6FF ; CPU:$F2BB PRG:72BB 20 FF E6 + jmp Sub_Loop772 ; CPU:$F2BE PRG:72BE 4C C4 F2 +; ----------------------------------------------------------------------------- +; Routine: Label_F2C1 +; Global: Branch target inside Label: taken when F2C1. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_F2C1: + jsr Sub_E871 ; CPU:$F2C1 PRG:72C1 20 71 E8 +; ----------------------------------------------------------------------------- +; Routine: Sub_Loop772 +; Global: Branch target inside Sub: taken when Loop772. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_F2C4: +Sub_Loop772: lda Zp35 ; CPU:$F2C4 PRG:72C4 A5 35 - beq Sub_Loop64 ; CPU:$F2C6 PRG:72C6 F0 02 + beq Sub_Loop773 ; CPU:$F2C6 PRG:72C6 F0 02 dec Zp35 ; CPU:$F2C8 PRG:72C8 C6 35 ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop64 -; Global: Branch target inside Sub: taken when Loop64. +; Routine: Sub_Loop773 +; Global: Branch target inside Sub: taken when Loop773. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop64: +Sub_Loop773: lda #$00 ; CPU:$F2CA PRG:72CA A9 00 sta Zp8A ; CPU:$F2CC PRG:72CC 85 8A lda ZpAF ; CPU:$F2CE PRG:72CE A5 AF - bne Sub_Loop65 ; CPU:$F2D0 PRG:72D0 D0 03 + bne Sub_Loop774 ; CPU:$F2D0 PRG:72D0 D0 03 jsr Sub_9BF0 ; CPU:$F2D2 PRG:72D2 20 F0 9B ; ----------------------------------------------------------------------------- -; Routine: Sub_Loop65 -; Global: Branch target inside Sub: taken when Loop65. +; Routine: Sub_Loop774 +; Global: Branch target inside Sub: taken when Loop774. ; Local: Part of Sub. ; Parameters: none - the routine reads its state from the zero page. ; Returns: none - the result is left in the registers the caller reads. ; Clobbers: A, X, Y and the zero-page scratch it uses. ; ----------------------------------------------------------------------------- -Sub_Loop65: +Sub_Loop774: rts ; CPU:$F2D5 PRG:72D5 60 -; ---- data $F2D6-$FD3F (2666 bytes) ---- +; ---- data $F2D6-$FD12 (2621 bytes) ---- +; referenced by `lda $F2EF,x` at $EA6C (operand $F2EF falls inside this region) +; referenced by `lda $F2F0,x` at $EA71 (operand $F2F0 falls inside this region) +; referenced by `lda $FBD9,x` at $EB3D (operand $FBD9 falls inside this region) +; referenced by `lda $FBDA,x` at $EB42 (operand $FBDA falls inside this region) +; referenced by `lda $F7E9,x` at $EB49 (operand $F7E9 falls inside this region) ; referenced by `lda $F2D6,x` at $F248 (operand $F2D6 falls inside this region) -; referenced by `lda $F2D7,x` at $F24D (operand $F2D7 falls inside this region) +; ... and 1 further references from decoded code .byte $55, $F2, $72, $F2, $7F, $F2, $8C, $F2, $99, $F2, $AC, $F2, $BB, $F2, $C1, $F2 ; CPU:$F2D6 PRG:72D6 55 F2 72 F2 7F F2 8C F2 99 F2 AC F2 BB F2 C1 F2 .byte $7D, $00, $68, $20, $83, $00, $88, $20, $60, $F5, $F2, $F5, $F2, $5B, $F5, $C0 ; CPU:$F2E6 PRG:72E6 7D 00 68 20 83 00 88 20 60 F5 F2 F5 F2 5B F5 C0 .byte $20, $CA, $CA, $CA, $CA, $40, $74, $71, $C7, $C7, $C7, $C7, $C7, $C7, $C7, $C7 ; CPU:$F2F6 PRG:72F6 20 CA CA CA CA 40 74 71 C7 C7 C7 C7 C7 C7 C7 C7 @@ -3501,10 +20345,157 @@ Sub_Loop65: .byte $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $AF, $00, $FF, $00, $FF, $00 ; CPU:$FCD6 PRG:7CD6 FF 00 FF 00 FF 00 FF 00 FF 00 AF 00 FF 00 FF 00 .byte $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE6 PRG:7CE6 FF 00 FF 00 00 FF 00 FF 00 FF 00 FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $00, $FF, $FF, $FF, $00, $00, $00, $00, $01, $01, $01, $01 ; CPU:$FCF6 PRG:7CF6 FF FF FF FF 00 FF FF FF 00 00 00 00 01 01 01 01 - .byte $09, $2D, $01, $01, $08, $01, $01, $01, $01, $01, $4C, $43, $FD, $4C, $85, $FD ; CPU:$FD06 PRG:7D06 09 2D 01 01 08 01 01 01 01 01 4C 43 FD 4C 85 FD - .byte $4C, $9C, $FD, $4C, $C8, $FD, $4C, $D1, $FD, $4C, $E3, $FD, $4C, $F1, $FD, $4C ; CPU:$FD16 PRG:7D16 4C 9C FD 4C C8 FD 4C D1 FD 4C E3 FD 4C F1 FD 4C - .byte $0D, $FE, $4C, $34, $FE, $4C, $6D, $FE, $4C, $2A, $FF, $4C, $3D, $FF, $4C, $53 ; CPU:$FD26 PRG:7D26 0D FE 4C 34 FE 4C 6D FE 4C 2A FF 4C 3D FF 4C 53 - .byte $FF, $4C, $5A, $FF, $4C, $65, $FF, $4C, $C4, $FF ; CPU:$FD36 PRG:7D36 FF 4C 5A FF 4C 65 FF 4C C4 FF + .byte $09, $2D, $01, $01, $08, $01, $01, $01, $01, $01, $4C, $43, $FD ; CPU:$FD06 PRG:7D06 09 2D 01 01 08 01 01 01 01 01 4C 43 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_FD13 +; Global: Branch target inside Sub: taken when FD13. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD13: + jmp Sub_FD85 ; CPU:$FD13 PRG:7D13 4C 85 FD +; ----------------------------------------------------------------------------- +; Routine: Label_FD16 +; Global: Branch target inside Label: taken when FD16. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FD16: + jmp Sub_FD9C ; CPU:$FD16 PRG:7D16 4C 9C FD +; ----------------------------------------------------------------------------- +; Routine: Sub_FD19 +; Global: Branch target inside Sub: taken when FD19. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD19: + jmp Reset_OnZero ; CPU:$FD19 PRG:7D19 4C C8 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_FD1C +; Global: Branch target inside Sub: taken when FD1C. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD1C: + jmp Sub_FDD1 ; CPU:$FD1C PRG:7D1C 4C D1 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_FD1F +; Global: Branch target inside Sub: taken when FD1F. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD1F: + jmp Sub_FDE3 ; CPU:$FD1F PRG:7D1F 4C E3 FD +; ----------------------------------------------------------------------------- +; Routine: Sub_FD22 +; Global: Branch target inside Sub: taken when FD22. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD22: + jmp Sub_FDF1 ; CPU:$FD22 PRG:7D22 4C F1 FD +; ----------------------------------------------------------------------------- +; Routine: Label_FD25 +; Global: Branch target inside Label: taken when FD25. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FD25: + jmp Sub_FE0D ; CPU:$FD25 PRG:7D25 4C 0D FE +; ----------------------------------------------------------------------------- +; Routine: Sub_FD28 +; Global: Branch target inside Sub: taken when FD28. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD28: + jmp Sub_FE34 ; CPU:$FD28 PRG:7D28 4C 34 FE +; ----------------------------------------------------------------------------- +; Routine: Sub_FD2B +; Global: Branch target inside Sub: taken when FD2B. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD2B: + jmp Sub_FE6D ; CPU:$FD2B PRG:7D2B 4C 6D FE +; ----------------------------------------------------------------------------- +; Routine: Sub_FD2E +; Global: Branch target inside Sub: taken when FD2E. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD2E: + jmp Sub_FF2A ; CPU:$FD2E PRG:7D2E 4C 2A FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FD31 +; Global: Branch target inside Sub: taken when FD31. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD31: + jmp Sub_FF3D ; CPU:$FD31 PRG:7D31 4C 3D FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FD34 +; Global: Branch target inside Sub: taken when FD34. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD34: + jmp Sub_FF53 ; CPU:$FD34 PRG:7D34 4C 53 FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FD37 +; Global: Branch target inside Sub: taken when FD37. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD37: + jmp Sub_FF5A ; CPU:$FD37 PRG:7D37 4C 5A FF +; ----------------------------------------------------------------------------- +; Routine: Sub_FD3A +; Global: Branch target inside Sub: taken when FD3A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD3A: + jmp Sub_FF65 ; CPU:$FD3A PRG:7D3A 4C 65 FF +; ----------------------------------------------------------------------------- +; Routine: Label_FD3D +; Global: Branch target inside Label: taken when FD3D. +; Local: Part of Label. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Label_FD3D: + jmp Sub_FFC4 ; CPU:$FD3D PRG:7D3D 4C C4 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_FD40 ; Global: Branch target inside Sub: taken when FD40. @@ -3563,13 +20554,22 @@ Reset_OnNonnegative2: jsr Sub_FD9C ; CPU:$FD6B PRG:7D6B 20 9C FD jsr Sub_A9F1 ; CPU:$FD6E PRG:7D6E 20 F1 A9 lda #$90 ; CPU:$FD71 PRG:7D71 A9 90 - sta Zp0D ; CPU:$FD73 PRG:7D73 85 0D + sta PpuCtrlShadow ; CPU:$FD73 PRG:7D73 85 0D sta PPUCTRL ; CPU:$FD75 PRG:7D75 8D 00 20 jsr Reset_OnZero ; CPU:$FD78 PRG:7D78 20 C8 FD jsr Sub_FDA4 ; CPU:$FD7B PRG:7D7B 20 A4 FD lda #$1E ; CPU:$FD7E PRG:7D7E A9 1E - sta Zp0E ; CPU:$FD80 PRG:7D80 85 0E + sta PpuMaskShadow ; CPU:$FD80 PRG:7D80 85 0E sta PPUMASK ; CPU:$FD82 PRG:7D82 8D 01 20 +; ----------------------------------------------------------------------------- +; Routine: Sub_FD85 +; Global: Branch target inside Sub: taken when FD85. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FD85: jsr Reset_OnZero ; CPU:$FD85 PRG:7D85 20 C8 FD jsr Sub_A9F4 ; CPU:$FD88 PRG:7D88 20 F4 A9 lda Zp12 ; CPU:$FD8B PRG:7D8B A5 12 @@ -3670,9 +20670,32 @@ Reset_OnZero: lda #$00 ; CPU:$FDCC PRG:7DCC A9 00 sta Zp0C ; CPU:$FDCE PRG:7DCE 85 0C rts ; CPU:$FDD0 PRG:7DD0 60 -; ---- data $FDD1-$FDE2 (18 bytes) ---- - .byte $A5, $0D, $29, $7F, $8D, $00, $20, $AD, $02, $20, $10, $FB, $A5, $0D, $8D, $00 ; CPU:$FDD1 PRG:7DD1 A5 0D 29 7F 8D 00 20 AD 02 20 10 FB A5 0D 8D 00 - .byte $20, $60 ; CPU:$FDE1 PRG:7DE1 20 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FDD1 +; Global: Branch target inside Sub: taken when FDD1. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FDD1: + lda PpuCtrlShadow ; CPU:$FDD1 PRG:7DD1 A5 0D + and #$7F ; CPU:$FDD3 PRG:7DD3 29 7F + sta PPUCTRL ; CPU:$FDD5 PRG:7DD5 8D 00 20 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonnegative3 +; Global: Branch target inside Reset: taken when OnNonnegative3. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonnegative3: + lda PPUSTATUS ; CPU:$FDD8 PRG:7DD8 AD 02 20 + bpl Reset_OnNonnegative3 ; CPU:$FDDB PRG:7DDB 10 FB + lda PpuCtrlShadow ; CPU:$FDDD PRG:7DDD A5 0D + sta PPUCTRL ; CPU:$FDDF PRG:7DDF 8D 00 20 + rts ; CPU:$FDE2 PRG:7DE2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDE3 ; Global: Branch target inside Sub: taken when FDE3. @@ -3778,25 +20801,307 @@ Reset_Loop4: bne Reset_OnNonzero4 ; CPU:$FE2E PRG:7E2E D0 E7 jsr Sub_FF5A ; CPU:$FE30 PRG:7E30 20 5A FF rts ; CPU:$FE33 PRG:7E33 60 -; ---- data $FE34-$FF52 (287 bytes) ---- - .byte $48, $20, $D1, $FD, $68, $84, $04, $86, $05, $A2, $3F, $A0, $00, $C9, $00, $F0 ; CPU:$FE34 PRG:7E34 48 20 D1 FD 68 84 04 86 05 A2 3F A0 00 C9 00 F0 - .byte $04, $A2, $3F, $A0, $10, $20, $53, $FF, $A0, $00, $A2, $10, $B1, $04, $8D, $07 ; CPU:$FE44 PRG:7E44 04 A2 3F A0 10 20 53 FF A0 00 A2 10 B1 04 8D 07 - .byte $20, $C8, $CA, $D0, $F7, $A9, $3F, $8D, $06, $20, $A9, $00, $8D, $06, $20, $8D ; CPU:$FE54 PRG:7E54 20 C8 CA D0 F7 A9 3F 8D 06 20 A9 00 8D 06 20 8D - .byte $06, $20, $8D, $06, $20, $20, $5A, $FF, $60, $A0, $01, $8C, $16, $40, $88, $8C ; CPU:$FE64 PRG:7E64 06 20 8D 06 20 20 5A FF 60 A0 01 8C 16 40 88 8C - .byte $16, $40, $A2, $08, $AD, $16, $40, $6A, $B0, $01, $6A, $66, $00, $AD, $17, $40 ; CPU:$FE74 PRG:7E74 16 40 A2 08 AD 16 40 6A B0 01 6A 66 00 AD 17 40 - .byte $6A, $B0, $01, $6A, $66, $01, $CA, $D0, $EB, $A5, $00, $85, $15, $A0, $00, $A6 ; CPU:$FE84 PRG:7E84 6A B0 01 6A 66 01 CA D0 EB A5 00 85 15 A0 00 A6 - .byte $00, $8A, $29, $10, $F0, $13, $A0, $02, $8A, $29, $80, $D0, $35, $A0, $08, $8A ; CPU:$FE94 PRG:7E94 00 8A 29 10 F0 13 A0 02 8A 29 80 D0 35 A0 08 8A - .byte $29, $40, $D0, $2E, $A0, $01, $4C, $D6, $FE, $8A, $29, $20, $F0, $13, $A0, $04 ; CPU:$FEA4 PRG:7EA4 29 40 D0 2E A0 01 4C D6 FE 8A 29 20 F0 13 A0 04 - .byte $8A, $29, $80, $D0, $1D, $A0, $06, $8A, $29, $40, $D0, $16, $A0, $05, $4C, $D6 ; CPU:$FEB4 PRG:7EB4 8A 29 80 D0 1D A0 06 8A 29 40 D0 16 A0 05 4C D6 - .byte $FE, $8A, $29, $80, $F0, $05, $A0, $03, $4C, $D6, $FE, $8A, $29, $40, $F0, $02 ; CPU:$FEC4 PRG:7EC4 FE 8A 29 80 F0 05 A0 03 4C D6 FE 8A 29 40 F0 02 - .byte $A0, $07, $84, $16, $8A, $29, $0F, $85, $18, $A0, $00, $A6, $01, $8A, $29, $10 ; CPU:$FED4 PRG:7ED4 A0 07 84 16 8A 29 0F 85 18 A0 00 A6 01 8A 29 10 - .byte $F0, $13, $A0, $02, $8A, $29, $80, $D0, $35, $A0, $08, $8A, $29, $40, $D0, $2E ; CPU:$FEE4 PRG:7EE4 F0 13 A0 02 8A 29 80 D0 35 A0 08 8A 29 40 D0 2E - .byte $A0, $01, $4C, $22, $FF, $8A, $29, $20, $F0, $13, $A0, $04, $8A, $29, $80, $D0 ; CPU:$FEF4 PRG:7EF4 A0 01 4C 22 FF 8A 29 20 F0 13 A0 04 8A 29 80 D0 - .byte $1D, $A0, $06, $8A, $29, $40, $D0, $16, $A0, $05, $4C, $22, $FF, $8A, $29, $80 ; CPU:$FF04 PRG:7F04 1D A0 06 8A 29 40 D0 16 A0 05 4C 22 FF 8A 29 80 - .byte $F0, $05, $A0, $03, $4C, $22, $FF, $8A, $29, $40, $F0, $02, $A0, $07, $84, $17 ; CPU:$FF14 PRG:7F14 F0 05 A0 03 4C 22 FF 8A 29 40 F0 02 A0 07 84 17 - .byte $8A, $29, $0F, $85, $19, $60, $A5, $0D, $29, $7F, $85, $0D, $20, $D1, $FD, $A5 ; CPU:$FF24 PRG:7F24 8A 29 0F 85 19 60 A5 0D 29 7F 85 0D 20 D1 FD A5 - .byte $0E, $29, $E7, $85, $0E, $8D, $01, $20, $60, $A5, $0D, $09, $80, $85, $0D, $20 ; CPU:$FF34 PRG:7F34 0E 29 E7 85 0E 8D 01 20 60 A5 0D 09 80 85 0D 20 - .byte $D1, $FD, $20, $C8, $FD, $A5, $0E, $09, $18, $85, $0E, $8D, $01, $20, $60 ; CPU:$FF44 PRG:7F44 D1 FD 20 C8 FD A5 0E 09 18 85 0E 8D 01 20 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FE34 +; Global: Branch target inside Sub: taken when FE34. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FE34: + pha ; CPU:$FE34 PRG:7E34 48 + jsr Sub_FDD1 ; CPU:$FE35 PRG:7E35 20 D1 FD + pla ; CPU:$FE38 PRG:7E38 68 + sty Zp04 ; CPU:$FE39 PRG:7E39 84 04 + stx Zp05 ; CPU:$FE3B PRG:7E3B 86 05 + ldx #$3F ; CPU:$FE3D PRG:7E3D A2 3F + ldy #$00 ; CPU:$FE3F PRG:7E3F A0 00 + cmp #$00 ; CPU:$FE41 PRG:7E41 C9 00 + beq Reset_Loop5 ; CPU:$FE43 PRG:7E43 F0 04 + ldx #$3F ; CPU:$FE45 PRG:7E45 A2 3F + ldy #$10 ; CPU:$FE47 PRG:7E47 A0 10 +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop5 +; Global: Branch target inside Reset: taken when Loop5. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop5: + jsr Sub_FF53 ; CPU:$FE49 PRG:7E49 20 53 FF + ldy #$00 ; CPU:$FE4C PRG:7E4C A0 00 + ldx #$10 ; CPU:$FE4E PRG:7E4E A2 10 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero5 +; Global: Branch target inside Reset: taken when OnNonzero5. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero5: + lda (Zp04),y ; CPU:$FE50 PRG:7E50 B1 04 + sta PPUDATA ; CPU:$FE52 PRG:7E52 8D 07 20 + iny ; CPU:$FE55 PRG:7E55 C8 + dex ; CPU:$FE56 PRG:7E56 CA + bne Reset_OnNonzero5 ; CPU:$FE57 PRG:7E57 D0 F7 + lda #$3F ; CPU:$FE59 PRG:7E59 A9 3F + sta PPUADDR ; CPU:$FE5B PRG:7E5B 8D 06 20 + lda #$00 ; CPU:$FE5E PRG:7E5E A9 00 + sta PPUADDR ; CPU:$FE60 PRG:7E60 8D 06 20 + sta PPUADDR ; CPU:$FE63 PRG:7E63 8D 06 20 + sta PPUADDR ; CPU:$FE66 PRG:7E66 8D 06 20 + jsr Sub_FF5A ; CPU:$FE69 PRG:7E69 20 5A FF + rts ; CPU:$FE6C PRG:7E6C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FE6D +; Global: Branch target inside Sub: taken when FE6D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FE6D: + ldy #$01 ; CPU:$FE6D PRG:7E6D A0 01 + sty JOY1 ; CPU:$FE6F PRG:7E6F 8C 16 40 + dey ; CPU:$FE72 PRG:7E72 88 + sty JOY1 ; CPU:$FE73 PRG:7E73 8C 16 40 + ldx #$08 ; CPU:$FE76 PRG:7E76 A2 08 +; ----------------------------------------------------------------------------- +; Routine: Reset_OnNonzero6 +; Global: Branch target inside Reset: taken when OnNonzero6. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_OnNonzero6: + lda JOY1 ; CPU:$FE78 PRG:7E78 AD 16 40 + ror a ; CPU:$FE7B PRG:7E7B 6A + bcs Reset_Loop6 ; CPU:$FE7C PRG:7E7C B0 01 + ror a ; CPU:$FE7E PRG:7E7E 6A +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop6 +; Global: Branch target inside Reset: taken when Loop6. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop6: + ror Zp00 ; CPU:$FE7F PRG:7E7F 66 00 + lda JOY2 ; CPU:$FE81 PRG:7E81 AD 17 40 + ror a ; CPU:$FE84 PRG:7E84 6A + bcs Reset_Loop7 ; CPU:$FE85 PRG:7E85 B0 01 + ror a ; CPU:$FE87 PRG:7E87 6A +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop7 +; Global: Branch target inside Reset: taken when Loop7. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop7: + ror Zp01 ; CPU:$FE88 PRG:7E88 66 01 + dex ; CPU:$FE8A PRG:7E8A CA + bne Reset_OnNonzero6 ; CPU:$FE8B PRG:7E8B D0 EB + lda Zp00 ; CPU:$FE8D PRG:7E8D A5 00 + sta Zp15 ; CPU:$FE8F PRG:7E8F 85 15 + ldy #$00 ; CPU:$FE91 PRG:7E91 A0 00 + ldx Zp00 ; CPU:$FE93 PRG:7E93 A6 00 + txa ; CPU:$FE95 PRG:7E95 8A + and #$10 ; CPU:$FE96 PRG:7E96 29 10 + beq Reset_Loop8 ; CPU:$FE98 PRG:7E98 F0 13 + ldy #$02 ; CPU:$FE9A PRG:7E9A A0 02 + txa ; CPU:$FE9C PRG:7E9C 8A + and #$80 ; CPU:$FE9D PRG:7E9D 29 80 + bne Reset_Loop11 ; CPU:$FE9F PRG:7E9F D0 35 + ldy #$08 ; CPU:$FEA1 PRG:7EA1 A0 08 + txa ; CPU:$FEA3 PRG:7EA3 8A + and #$40 ; CPU:$FEA4 PRG:7EA4 29 40 + bne Reset_Loop11 ; CPU:$FEA6 PRG:7EA6 D0 2E + ldy #$01 ; CPU:$FEA8 PRG:7EA8 A0 01 + jmp Reset_Loop11 ; CPU:$FEAA PRG:7EAA 4C D6 FE +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop8 +; Global: Branch target inside Reset: taken when Loop8. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop8: + txa ; CPU:$FEAD PRG:7EAD 8A + and #$20 ; CPU:$FEAE PRG:7EAE 29 20 + beq Reset_Loop9 ; CPU:$FEB0 PRG:7EB0 F0 13 + ldy #$04 ; CPU:$FEB2 PRG:7EB2 A0 04 + txa ; CPU:$FEB4 PRG:7EB4 8A + and #$80 ; CPU:$FEB5 PRG:7EB5 29 80 + bne Reset_Loop11 ; CPU:$FEB7 PRG:7EB7 D0 1D + ldy #$06 ; CPU:$FEB9 PRG:7EB9 A0 06 + txa ; CPU:$FEBB PRG:7EBB 8A + and #$40 ; CPU:$FEBC PRG:7EBC 29 40 + bne Reset_Loop11 ; CPU:$FEBE PRG:7EBE D0 16 + ldy #$05 ; CPU:$FEC0 PRG:7EC0 A0 05 + jmp Reset_Loop11 ; CPU:$FEC2 PRG:7EC2 4C D6 FE +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop9 +; Global: Branch target inside Reset: taken when Loop9. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop9: + txa ; CPU:$FEC5 PRG:7EC5 8A + and #$80 ; CPU:$FEC6 PRG:7EC6 29 80 + beq Reset_Loop10 ; CPU:$FEC8 PRG:7EC8 F0 05 + ldy #$03 ; CPU:$FECA PRG:7ECA A0 03 + jmp Reset_Loop11 ; CPU:$FECC PRG:7ECC 4C D6 FE +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop10 +; Global: Branch target inside Reset: taken when Loop10. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop10: + txa ; CPU:$FECF PRG:7ECF 8A + and #$40 ; CPU:$FED0 PRG:7ED0 29 40 + beq Reset_Loop11 ; CPU:$FED2 PRG:7ED2 F0 02 + ldy #$07 ; CPU:$FED4 PRG:7ED4 A0 07 +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop11 +; Global: Branch target inside Reset: taken when Loop11. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop11: + sty Zp16 ; CPU:$FED6 PRG:7ED6 84 16 + txa ; CPU:$FED8 PRG:7ED8 8A + and #$0F ; CPU:$FED9 PRG:7ED9 29 0F + sta Zp18 ; CPU:$FEDB PRG:7EDB 85 18 + ldy #$00 ; CPU:$FEDD PRG:7EDD A0 00 + ldx Zp01 ; CPU:$FEDF PRG:7EDF A6 01 + txa ; CPU:$FEE1 PRG:7EE1 8A + and #$10 ; CPU:$FEE2 PRG:7EE2 29 10 + beq Reset_Loop12 ; CPU:$FEE4 PRG:7EE4 F0 13 + ldy #$02 ; CPU:$FEE6 PRG:7EE6 A0 02 + txa ; CPU:$FEE8 PRG:7EE8 8A + and #$80 ; CPU:$FEE9 PRG:7EE9 29 80 + bne Reset_Loop15 ; CPU:$FEEB PRG:7EEB D0 35 + ldy #$08 ; CPU:$FEED PRG:7EED A0 08 + txa ; CPU:$FEEF PRG:7EEF 8A + and #$40 ; CPU:$FEF0 PRG:7EF0 29 40 + bne Reset_Loop15 ; CPU:$FEF2 PRG:7EF2 D0 2E + ldy #$01 ; CPU:$FEF4 PRG:7EF4 A0 01 + jmp Reset_Loop15 ; CPU:$FEF6 PRG:7EF6 4C 22 FF +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop12 +; Global: Branch target inside Reset: taken when Loop12. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop12: + txa ; CPU:$FEF9 PRG:7EF9 8A + and #$20 ; CPU:$FEFA PRG:7EFA 29 20 + beq Reset_Loop13 ; CPU:$FEFC PRG:7EFC F0 13 + ldy #$04 ; CPU:$FEFE PRG:7EFE A0 04 + txa ; CPU:$FF00 PRG:7F00 8A + and #$80 ; CPU:$FF01 PRG:7F01 29 80 + bne Reset_Loop15 ; CPU:$FF03 PRG:7F03 D0 1D + ldy #$06 ; CPU:$FF05 PRG:7F05 A0 06 + txa ; CPU:$FF07 PRG:7F07 8A + and #$40 ; CPU:$FF08 PRG:7F08 29 40 + bne Reset_Loop15 ; CPU:$FF0A PRG:7F0A D0 16 + ldy #$05 ; CPU:$FF0C PRG:7F0C A0 05 + jmp Reset_Loop15 ; CPU:$FF0E PRG:7F0E 4C 22 FF +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop13 +; Global: Branch target inside Reset: taken when Loop13. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop13: + txa ; CPU:$FF11 PRG:7F11 8A + and #$80 ; CPU:$FF12 PRG:7F12 29 80 + beq Reset_Loop14 ; CPU:$FF14 PRG:7F14 F0 05 + ldy #$03 ; CPU:$FF16 PRG:7F16 A0 03 + jmp Reset_Loop15 ; CPU:$FF18 PRG:7F18 4C 22 FF +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop14 +; Global: Branch target inside Reset: taken when Loop14. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop14: + txa ; CPU:$FF1B PRG:7F1B 8A + and #$40 ; CPU:$FF1C PRG:7F1C 29 40 + beq Reset_Loop15 ; CPU:$FF1E PRG:7F1E F0 02 + ldy #$07 ; CPU:$FF20 PRG:7F20 A0 07 +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop15 +; Global: Branch target inside Reset: taken when Loop15. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop15: + sty Zp17 ; CPU:$FF22 PRG:7F22 84 17 + txa ; CPU:$FF24 PRG:7F24 8A + and #$0F ; CPU:$FF25 PRG:7F25 29 0F + sta Zp19 ; CPU:$FF27 PRG:7F27 85 19 + rts ; CPU:$FF29 PRG:7F29 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FF2A +; Global: Branch target inside Sub: taken when FF2A. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FF2A: + lda PpuCtrlShadow ; CPU:$FF2A PRG:7F2A A5 0D + and #$7F ; CPU:$FF2C PRG:7F2C 29 7F + sta PpuCtrlShadow ; CPU:$FF2E PRG:7F2E 85 0D + jsr Sub_FDD1 ; CPU:$FF30 PRG:7F30 20 D1 FD + lda PpuMaskShadow ; CPU:$FF33 PRG:7F33 A5 0E + and #$E7 ; CPU:$FF35 PRG:7F35 29 E7 + sta PpuMaskShadow ; CPU:$FF37 PRG:7F37 85 0E + sta PPUMASK ; CPU:$FF39 PRG:7F39 8D 01 20 + rts ; CPU:$FF3C PRG:7F3C 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FF3D +; Global: Branch target inside Sub: taken when FF3D. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FF3D: + lda PpuCtrlShadow ; CPU:$FF3D PRG:7F3D A5 0D + ora #$80 ; CPU:$FF3F PRG:7F3F 09 80 + sta PpuCtrlShadow ; CPU:$FF41 PRG:7F41 85 0D + jsr Sub_FDD1 ; CPU:$FF43 PRG:7F43 20 D1 FD + jsr Reset_OnZero ; CPU:$FF46 PRG:7F46 20 C8 FD + lda PpuMaskShadow ; CPU:$FF49 PRG:7F49 A5 0E + ora #$18 ; CPU:$FF4B PRG:7F4B 09 18 + sta PpuMaskShadow ; CPU:$FF4D PRG:7F4D 85 0E + sta PPUMASK ; CPU:$FF4F PRG:7F4F 8D 01 20 + rts ; CPU:$FF52 PRG:7F52 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FF53 ; Global: Branch target inside Sub: taken when FF53. @@ -3823,13 +21128,101 @@ Sub_FF5A: lda Zp10 ; CPU:$FF5F PRG:7F5F A5 10 sta PPUSCROLL ; CPU:$FF61 PRG:7F61 8D 05 20 rts ; CPU:$FF64 PRG:7F64 60 -; ---- data $FF65-$FFC3 (95 bytes) ---- - .byte $84, $04, $86, $05, $A5, $04, $18, $69, $02, $85, $06, $A5, $05, $69, $00, $85 ; CPU:$FF65 PRG:7F65 84 04 86 05 A5 04 18 69 02 85 06 A5 05 69 00 85 - .byte $07, $A0, $00, $B1, $04, $85, $08, $C8, $B1, $04, $85, $09, $AA, $A4, $08, $20 ; CPU:$FF75 PRG:7F75 07 A0 00 B1 04 85 08 C8 B1 04 85 09 AA A4 08 20 - .byte $53, $FF, $A0, $00, $B1, $06, $C9, $FF, $F0, $31, $C9, $1F, $F0, $0A, $38, $E9 ; CPU:$FF85 PRG:7F85 53 FF A0 00 B1 06 C9 FF F0 31 C9 1F F0 0A 38 E9 - .byte $20, $8D, $07, $20, $C8, $4C, $89, $FF, $20, $5A, $FF, $C8, $98, $18, $65, $06 ; CPU:$FF95 PRG:7F95 20 8D 07 20 C8 4C 89 FF 20 5A FF C8 98 18 65 06 - .byte $85, $06, $A9, $00, $65, $07, $85, $07, $A5, $08, $18, $69, $20, $85, $08, $A9 ; CPU:$FFA5 PRG:7FA5 85 06 A9 00 65 07 85 07 A5 08 18 69 20 85 08 A9 - .byte $00, $65, $09, $85, $09, $AA, $A4, $08, $4C, $84, $FF, $20, $5A, $FF, $60 ; CPU:$FFB5 PRG:7FB5 00 65 09 85 09 AA A4 08 4C 84 FF 20 5A FF 60 +; ----------------------------------------------------------------------------- +; Routine: Sub_FF65 +; Global: Branch target inside Sub: taken when FF65. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FF65: + sty Zp04 ; CPU:$FF65 PRG:7F65 84 04 + stx Zp05 ; CPU:$FF67 PRG:7F67 86 05 + lda Zp04 ; CPU:$FF69 PRG:7F69 A5 04 + clc ; CPU:$FF6B PRG:7F6B 18 + adc #$02 ; CPU:$FF6C PRG:7F6C 69 02 + sta Zp06 ; CPU:$FF6E PRG:7F6E 85 06 + lda Zp05 ; CPU:$FF70 PRG:7F70 A5 05 + adc #$00 ; CPU:$FF72 PRG:7F72 69 00 + sta Zp07 ; CPU:$FF74 PRG:7F74 85 07 + ldy #$00 ; CPU:$FF76 PRG:7F76 A0 00 + lda (Zp04),y ; CPU:$FF78 PRG:7F78 B1 04 + sta Zp08 ; CPU:$FF7A PRG:7F7A 85 08 + iny ; CPU:$FF7C PRG:7F7C C8 + lda (Zp04),y ; CPU:$FF7D PRG:7F7D B1 04 + sta Zp09 ; CPU:$FF7F PRG:7F7F 85 09 + tax ; CPU:$FF81 PRG:7F81 AA + ldy Zp08 ; CPU:$FF82 PRG:7F82 A4 08 +; ----------------------------------------------------------------------------- +; Routine: Sub_FF84 +; Global: Branch target inside Sub: taken when FF84. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FF84: + jsr Sub_FF53 ; CPU:$FF84 PRG:7F84 20 53 FF + ldy #$00 ; CPU:$FF87 PRG:7F87 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Sub_FF89 +; Global: Branch target inside Sub: taken when FF89. +; Local: Part of Sub. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Sub_FF89: + lda (Zp06),y ; CPU:$FF89 PRG:7F89 B1 06 + cmp #$FF ; CPU:$FF8B PRG:7F8B C9 FF + beq Reset_Loop17 ; CPU:$FF8D PRG:7F8D F0 31 + cmp #$1F ; CPU:$FF8F PRG:7F8F C9 1F + beq Reset_Loop16 ; CPU:$FF91 PRG:7F91 F0 0A + sec ; CPU:$FF93 PRG:7F93 38 + sbc #$20 ; CPU:$FF94 PRG:7F94 E9 20 + sta PPUDATA ; CPU:$FF96 PRG:7F96 8D 07 20 + iny ; CPU:$FF99 PRG:7F99 C8 + jmp Sub_FF89 ; CPU:$FF9A PRG:7F9A 4C 89 FF +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop16 +; Global: Branch target inside Reset: taken when Loop16. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop16: + jsr Sub_FF5A ; CPU:$FF9D PRG:7F9D 20 5A FF + iny ; CPU:$FFA0 PRG:7FA0 C8 + tya ; CPU:$FFA1 PRG:7FA1 98 + clc ; CPU:$FFA2 PRG:7FA2 18 + adc Zp06 ; CPU:$FFA3 PRG:7FA3 65 06 + sta Zp06 ; CPU:$FFA5 PRG:7FA5 85 06 + lda #$00 ; CPU:$FFA7 PRG:7FA7 A9 00 + adc Zp07 ; CPU:$FFA9 PRG:7FA9 65 07 + sta Zp07 ; CPU:$FFAB PRG:7FAB 85 07 + lda Zp08 ; CPU:$FFAD PRG:7FAD A5 08 + clc ; CPU:$FFAF PRG:7FAF 18 + adc #$20 ; CPU:$FFB0 PRG:7FB0 69 20 + sta Zp08 ; CPU:$FFB2 PRG:7FB2 85 08 + lda #$00 ; CPU:$FFB4 PRG:7FB4 A9 00 + adc Zp09 ; CPU:$FFB6 PRG:7FB6 65 09 + sta Zp09 ; CPU:$FFB8 PRG:7FB8 85 09 + tax ; CPU:$FFBA PRG:7FBA AA + ldy Zp08 ; CPU:$FFBB PRG:7FBB A4 08 + jmp Sub_FF84 ; CPU:$FFBD PRG:7FBD 4C 84 FF +; ----------------------------------------------------------------------------- +; Routine: Reset_Loop17 +; Global: Branch target inside Reset: taken when Loop17. +; Local: Part of Reset. +; Parameters: none - the routine reads its state from the zero page. +; Returns: none - the result is left in the registers the caller reads. +; Clobbers: A, X, Y and the zero-page scratch it uses. +; ----------------------------------------------------------------------------- +Reset_Loop17: + jsr Sub_FF5A ; CPU:$FFC0 PRG:7FC0 20 5A FF + rts ; CPU:$FFC3 PRG:7FC3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FFC4 ; Global: Branch target inside Sub: taken when FFC4.